CN1266230A - 把系统级海量存储器配置数据存储在其非易失性存储器中 - Google Patents

把系统级海量存储器配置数据存储在其非易失性存储器中 Download PDF

Info

Publication number
CN1266230A
CN1266230A CN00103780A CN00103780A CN1266230A CN 1266230 A CN1266230 A CN 1266230A CN 00103780 A CN00103780 A CN 00103780A CN 00103780 A CN00103780 A CN 00103780A CN 1266230 A CN1266230 A CN 1266230A
Authority
CN
China
Prior art keywords
bios
data
capacity storage
peripheral hardware
configuration data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN00103780A
Other languages
English (en)
Inventor
T·D·哈默
C·H·布伦纳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of CN1266230A publication Critical patent/CN1266230A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

这里揭示了一种用于操作计算机系统(包括具有系统RAM的主机)的布局和方法。主机使用BIOS来控制系统的操作。系统的操作需要主机获得BIOS驱动程序并把BIOS存储在系统RAM内。本发明的布局和方法允许把BIOS的至少一部分存储在海量存储装置外设计算机器件的海量存储装置内,而不是存储在ROM内。BIOS可以是与特定外设计算机器件有关的扩充BIOS或与主机有关的系统BIOS。

Description

把系统级海量存储器配置数据存储在其非易失性存储器中
本发明涉及计算机系统的操作布局和操作方法,该计算机系统包括具有系统随机存取存储器(RAM)的主机并使用基本输入/输出系统(BIOS)来操作主机。尤其是,本发明的布局和方法把用来操作系统的至少一部分BIOS存储在海量存储装置外设计算机器件的海量存储装置内,而不是存储在只读存储器(ROM)内。存储在海量存储媒体中的BIOS可以是与特定外设计算机器件有关的扩充BIOS和/或与主机有关的系统BIOS。ROM指由主机所提供的系统ROM或由外设器件所提供的外设ROM(位于插件板或该器件上)。
计算机行业不断地发展,以提供更快速的处理器、更大的存储容量以及可与主机互连的各种外设器件。由于速度和容量如此不断增长,本行业的发展之一是叫做外设部件接口(PCI)的外设总线实现。此外设总线已发展成为在主机和外设计算机器件或扩充卡之间提供扩充机构。
PCI外设总线设计成无论使用CPU还是主系统计算机体系结构,与维持PCI的电气、协议和硬件接口的需求无关的处理器和计算机系统体系结构。这使得可把同一外设计算机器件连到各种不同的主系统,而将要使用该器件的每一种类型的主系统无需使用不同版本的驱动。由于PCI总线与处理器和计算机的体系结构无关,每个主系统需要提供一种机构来把主I/O和存储空间映射到PCI总线上所使用的寻址机构。这也适用于外设计算机器件的扩充ROM存储空间,该存储空间通常包括诸如用于该外设计算机器件的代码和数据等初始化信息和操作信息。因此,在PCI器件上允许可重新定位的扩充ROM定位地址。对于诸如工业标准体系结构(ISA)总线等早先的总线体系结构,则不是这样的情况。
如以标号10示出基于PCI的典型计算机系统的一个例子的图1所示,系统10包括主机12,主机12具有用于操作主机12的系统BIOS 13及与主机12相联的系统RAM存储器14。系统BIOS 13被存储在主机12内的系统ROM 15中。使用主桥路17把PCI外设总线16连到主机12和系统RAM 14。此系统还包括例如硬盘驱动器等外设计算机器件18,它连到PCI总线,从而主机可使用PCI总线与外设计算机器件进行通信。器件18包括ROM 20,ROM 20包含为对外设计算机器件18进行初始化和/或操作而在主系统中所需的任何扩充BIOS 22。在使用PCI总线的系统中,主系统BIOS和/或操作系统必须提供识别各个PCI器件、分配资源和让这些器件使能的配置管理器。配置管理器的任务是把外设器件的任何扩充BIOS拷贝到主机的RAM中,然后执行在此扩充BIOS中所提供的任何初始化例程,以提供适当的外设器件初始化。
参考图解地示出包含在ROM 20中的扩充BIOS 22的图2A,PCI规约允许把多个代码映象(image)(例如24a-24d)存储在扩充BIOS 22内,每个代码映象提供用于特定计算机体系结构的适当信息。在此例中,代码映象24a可对应于基于Intel的系统,代码映象24b可对应于基于Power PC的系统,等等。此多个代码映象24a-24d增加了扩充BIOS中所包括的信息量,从而也增加了存储扩充BIOS 22所需的ROM的数量。如图2B所示,代码映象24a及其它映象中的每一个包括标题(header)区26。依据扩充BIOS 22所对应的器件18的需求,每个映象还可包括数据结构区28、运行时(runtime)代码30、初始化代码32和校验和34。参考图2C,PCI规约还需要每个PCI器件包括配置空间存储器35,该存储器的尺寸为256个字节且符合所示的PCI格式。配置空间35所提供的信息包括包含器件标识符的器件ID寄存器36以及包含所需的存储空间量的配置寄存器38。配置寄存器38规定主机存储器内映射与外设计算机器件18有关的扩充BIOS 22所需的存储空间的量。
如以下更详细所述,一旦把扩充BIOS 22拷贝到主系统RAM 14中,就运行来自适当代码映象(例如,代码映象24a)的初始化代码32。这使得器件18初始化并在使用来自适当代码映象(在此情况下,为映象24a)的运行时代码30(而不是映象24b、c或d)操作器件18的系统内提供适当的异常分支(hook)。一旦运行初始化代码,则控制返回主机系统,且主系统RAM 14中仅留下操作器件18所需的代码,在系统的操作中此代码都保留在该主系统RAM 14中。不再需要仅用于器件18的初始化的适当代码映象24a的额外信息。因此,使得主机12可再次使用用来存储该额外信息的存储器,从而减少RAM 14的使用,以存储扩充BIOS 22的必要部分。
现在参考图3,将使用上述系统10的例子详细地描述从PCI外设器件获得扩充BIOS并把它存储在系统RAM内的典型顺序。在接通计算机系统10(图3所示的块40)后,如块42所示,主机12的处理器开始运行系统代码,它通常叫做通电自检(POST)。POST码进行不相关的系统配置(块44),然后如判断框46所示,通过检查诸如外设器件18等外设器件的存在来开始PCI总线追加外设器件的配置。一旦POST码找到外设器件18,如图3的块48、50和52中分别所示,POST码开始器件18的配置、根据器件18的需要分配主I/O和RAM存储空间以及根据器件18的需要配置中断和在主机12上分配IRQ。这里,如判断块54所示,POST码确定器件18是否具有需要待装载和配置的扩充BIOS。如果没有扩充BIOS,则如块56所示,POST码继续下一外设器件。如果所有的的器件都被配置,则如块58所示POST码继续引导操作系统。然而,如果器件存在待装载的扩充BIOS,则对于器件18的情况,如块60所示装载和配置扩充BIOS。一旦此器件18的扩充BIOS的装载完成,则顺序进到块56,继续处理任何其它器件。
现在参考图4,将更详细地描述如图3的块54和60所示装载和配置外设器件的扩充BIOS典型流程。在POST码确定外设器件18是否具有扩充BIOS的判断块54处开始,POST码对外设器件18的配置空间存储器35的配置寄存器38进行读写,以确定该器件上是否存在扩充BIOS,如果有继而确定需要多少存储空间。一旦确定存在扩充BIOS,则如现在的详细描述,进行如图3的块60所示装载和配置与器件18有关的扩充BIOS的流程。
如图4的块62所示,POST码确定存储在器件18的ROM 20中的扩充BIOS22映射到的可接受地址并把该地址写到PCI外设器件18上的配置空间存储器35的配置寄存器38中。然后,在块64中,POST码使能(enable)器件上的扩充BIOS ROM解码。接着,如块66所示,外设器件18映射其ROM存储器,该存储器在被POST码写到器件18上的配置空间存储器35中的配置寄存器38的地址处开始。器件建立其内部地址解码器,以对ROM存储器映射到的存储器地址范围进行解码。如块68所示,POST码通过读取扩充BIOS映射到的存储器位置来通读(read through)扩充BIOS,从而搜索适当的扩充BIOS代码映象(在此情况下为扩充BIOS 22的代码映象24a)。如果如判断块70所示,未找到适当的代码映象,则顺序返回块56,以查看是否存在待配置的附加器件。然而,如果找到适当的代码映象24a,则顺序移至块72,其中POST码确定把扩充BIOS代码从器件的ROM 20拷贝到主机RAM 14内的存储器位置。然后,在块74中,POST码把适当的代码映象24a从器件的ROM 20拷贝到系统RAM 14中。如块76和78所示,POST码调用现在位于系统RAM 14中的扩充BIOS 22的初始化代码32,并运行进一步配置外设器件18和安装系统级软件支持(包括中断处理程序、器件专用数据等)的初始化代码32。如块80所示,一旦初始化代码32结束,初始化代码32把系统的控制返回POST码。在块82中,POST码进行任意最终初始化,诸如在已运行初始化代码32后给用来存储系统RAM中剩余的扩充BIOS的系统RAM 14的部分标为只读。最后,在这里,顺序返回判断块56,以查看是否还存在待配置的任何器件。
如上所述,扩充BIOS 22通常存储在位于外设计算机器件或扩充卡上的ROM20中。然而,此途径的缺点是,在一使用PCI总线的系统中,仅使用ROM 20来存储在系统启动后装入系统中的扩充BIOS,从而增加了ROM 20的成本,也增加了器件的成本。尤其是,在如上所述使用PCI总线的系统中,主机需要把扩充BIOS拷贝到主系统的RAM中。为了效率,在需要扩充BIOS来操作系统时,系统使用存储在它自己的存储器中的拷贝的扩充BIOS而不是回头访问器件上的ROM。因此,一旦把适当映象24a的必要部分存储在主系统的RAM中,则直到系统断开和再次接通(此时,把扩充BIOS的适当映象再次装入主系统RAM)时才再访问ROM 20。如上所述,由于需要多个映象来允许把同一器件连到具有不同计算机体系结构的各种主系统,所以整个扩充BIOS 22继而存储扩充BIOS所需的ROM 20的尺寸可能相当大。这可能使扩充BIOS ROM 20变为器件18的成本的一个重要部分。
此扩充BIOS ROM的成本随所使用的ROM的特定类型而改变。在生产大量器件的情况下,可在ROM制造时把扩充BIOS编程成为ROM来制造ROM。此途径的优点是不太昂贵;然而,一旦这种类型的ROM被编程,它就不可以改变。如果以任何需要改变扩充BIOS的方式修改器件,或者如果在扩充BIOS中发现故障,则必须丢弃所生产的具有旧扩充BIOS的所有ROM。此途径在通过更新扩充BIOS来更新和改进器件的操作方面不能提供较大的灵活性。
在另一个途径中,在ROM制成后把扩充BIOS编程成为ROM。这使得可更新扩充BIOS而不必如上述途径的情况丢弃已制成的ROM。虽然可编程ROM提供较大的灵活性,但它比在其制造期间编程的ROM贵,且进一步增加了提供扩充BIOS ROM的成本。由于计算机外设器件市场的竞争极为激烈这一特性(例如在硬盘驱动器领域),减少或甚至免除扩充BIOS的ROM的成本的能力在竞争上将有明显的优势。
本发明揭示了用于操作主机的一种新布局和方法,主机具有用来操作主机的系统BIOS且具有与主机相联的系统RAM。此布局和方法使得可把至少一部分BIOS存储在连到主机的海量存储装置外设器件的海量存储装置内。存储在海量存储装置内的BIOS可以是与任何特定外设计算机器件有关的扩充BIOS和/或与海量存储装置外设计算机器件本身有关的扩充BIOS。存储在海量存储装置内的BIOS还可以是与主机有关的系统BIOS。此途径明显地减少或免除了对用于特定外设计算机器件的扩充BIOS ROM和/或用于海量存储装置外设计算机器件的扩充BIOS ROM的需要及成本。此途径还可用于明显地减少有关主机的系统BIOS的需要及成本。由于把某些或所有扩充BIOS和/或某些系统BIOS存储在海量存储装置外设计算机器件的海量存储装置中,此途径还基本上提高了更新和改进系统或修理BIOS中的故障的灵活性,而不必使用可编程ROM。使用此新途径,可通过简单地把经修订BIOS重新装入海量存储装置器件的海量存储装置中来更新大多数系统BIOS和与连到系统的外设器件有关的大多数或所有扩充BIOS,而不必丢弃任何BIOS ROM。
如以下更详细所述,这里揭示了一种操作计算机系统的新布局和方法。计算机系统包括主机,主机具有系统RAM和诸如连到主机的硬盘驱动器等海量存储装置外设计算机器件。主机使用BIOS来控制计算机系统的操作。此布局和方法允许把至少一部分BIOS存储在海量存储装置外设计算机器件的海量存储装置内,而无需把所有的BIOS存储在BIOS ROM内。
在一个实施例中,这种操作计算机系统的方法和布局是一种使用诸如PCI总线等允许可重新定位的扩充BIOS位置地址的外设总线来操作连到主机的特定外设计算机器件的方法和布局。在本实施例中,BIOS是与特定外设计算机器件有关的扩充BIOS。外设计算机器件的操作需要主机获得与特定外设计算机器件有关的扩充BIOS并把此扩充BIOS装入系统RAM。本实施例包括ROM存储装置(外设ROM),该存储装置用于包含与特定外设计算机器件有关的扩充BIOS的第一部分而非全部。把与特定外设计算机器件有关的扩充BIOS的第二部分存储在连到主机的海量存储装置外设计算机器件的海量存储装置内。特定外设计算机器件可以是或可以不是海量存储装置外设计算机器件。此布局还包括用于使主机访问外设ROM并获得与特定外设计算机器件有关的扩充BIOS的第一部分。其后,使用扩充BIOS的第一部分,使主机(i)访问特定海量存储装置外设计算机器件的海量存储装置,(ii)获得与特定外设计算机器件有关并位于海量存储装置外设计算机器件的海量存储装置内的扩充BIOS的第二部分,以及(iii)把扩充BIOS的第二部分存储在系统RAM内。
在本实施例中,主机可包括包含系统BIOS(系统ROM)的系统ROM存储装置。包含扩充BIOS的第一部分的外设ROM存储装置可与系统ROM存储装置分开,或者包含扩充BIOS的第一部分的外设ROM存储装置可以是系统ROM存储装置的一部分。在包含扩充BIOS的第一部分的ROM存储装置与系统ROM存储装置分开的情况下,包含与特定外设计算机器件有关的扩充BIOS的第一部分的此外设ROM存储装置可位于特定外设计算机器件上。
在这种方法和布局是操作特定外设计算机器件的方法和布局的另一实施例中,把与特定外设计算机器件有关的全部扩充BIOS存储在海量存储装置外设计算机器件的海量存储装置内。在本实施例中,此方法和布局还包括用于开始系统的操作的操作机构。一旦系统的操作开始,操作机构使主机(i)访问海量存储装置外设计算机器件的海量存储装置,(ii)获得与特定外设计算机器件有关的扩充BIOS,以及(iii)把与特定外设计算机器件有关的扩充BIOS存储在系统RAM内。
在把全部扩充BIOS存储在海量存储装置外设计算机器件的海量存储装置内的实施例的特殊样式中,海量存储装置外设计算机器件包括海量存储装置外设计算机器件上的存储缓冲器。在此样式中,与特定外设计算机器件有关的扩充BIOS包括扩充BIOS的第一部分和扩充BIOS的第二部分。此外,操作机构使主机在系统操作开始时进行通电自检。海量存储装置外设计算机器件包括在通电自检的时间帧内把与通电外设计算机器件有关的扩充BIOS的第一部分装入海量存储装置外设计算机器件的存储缓冲器中的机构。这样还使操作机构可访问存储缓冲器并获得扩充BIOS的第一部分。其后,使用扩充BIOS的第一部分,使主机(i)访问海量存储装置外设计算机器件的海量存储装置,(ii)获得与特定外设计算机器件有关并位于海量存储装置外设计算机器件的海量存储装置内的扩充BIOS的第二部分,以及(iii)把扩充BIOS的第二部分存储在系统RAM内。
在每个所述实施例中,与扩充BIOS有关的特定外设计算机器件实际上可以是海量存储装置外设计算机器件,该器件提供其中存储有至少一部分扩充BIOS的海量存储装置。或者,特定外设计算机器件可以是诸如视频卡(videocard)、网络卡等任何其它外设计算机器件或任何其它外设计算机器件或扩充卡。
在另一个实施例中,BIOS是与主机有关的系统BIOS。在本实施例中,系统BIOS的第一部分包含在位于主机内的BIOS ROM内。系统BIOS的第二部分存储在海量存储装置外设计算机器件的海量存储装置内。以与如上所述存储在海量存储装置内的扩充BIOS相同的方式在系统RAM中检索和存储系统BIOS的第二部分。
在本发明的另一个方面,揭示了不同于在计算机系统中使用的ROM的计算机存储装置媒体。计算机系统包括主机,主机具有与主机相联的系统RAM以及连到主机的海量存储装置外设计算机器件。主机使用BIOS来控制系统的操作。在主机已把存储在海量存储装置中的BIOS装入主机的系统RAM后,把至少一部分BIOS存储在海量存储装置外设计算机器件的海量存储装置内,以备主机使用。本发明的计算机存储装置媒体具有包含用于控制主机的操作的BIOS的一部分存储装置媒体。在计算机存储装置媒体的一个实施例中,该媒体为诸如硬盘驱动器等连到主机的海量存储装置外设计算机器件的海量存储装置。
在计算机存储媒体的另一个实施例中,媒体为软盘或其它这样的媒体,包含在媒体上的BIOS可被传递到海量存储装置外设计算机器件。在本实施例中,包含在媒体上的BIOS可以是与计算机系统的至少一部分有关的经更新和修改的BIOS,诸如与连到系统的特定外设计算机器件有关的扩充BIOS或与主机有关的系统BIOS。或者,包含在媒体上的BIOS可以是与连到计算机系统的特定外设计算机器件有关的扩充BIOS。
参考以下对较佳实施例的描述并结合附图将更好地理解本发明的特征,其中:
图1是使用PCI总线把外设计算机器件连到主机的已有技术的计算机系统的方框图;
图2A是包含多个代码映象的已有技术的扩充BIOS的示意图;
图2B是构成已有技术的扩充BIOS的部分的图2A所示代码映象之一的详细示意图;
图2C是PCI外设器件的配置空间存储器的详细示意图;
图3是示出基于PCI的典型系统为确定系统是否包括需要把扩充BIOS装入主机的系统RAM中的任何外设器件而使用的已有技术的顺序的流程图;
图4是示出任何把与特定外设计算机器件有关的已有技术的扩充BIOS装入主机的系统RAM的详细的流程图;
图5是依据本发明设计的计算机系统的一个实施例的方框图,该系统使用允许可重新定位的扩充BIOS位置地址的外设总线把外设计算机器件连到主机;
图6A是用于外设计算机器件的依据本发明的扩充BIOS第一部分的详细示意图;
图6B是与图6A所示扩充BIOS的第一部分有关的依据本发明的扩充BIOS第二部分的详细示意图;
图6C是PCI外设器件的配置空间存储器的详细示意图;
图7是示出依据本发明如何把图5、6A和6B所示的扩充BIOS装入主机的系统RAM的详细的流程图;
图8是示出依据本发明如何把如图5所示存储在海量存储装置外设计算机器件中的一部分系统BIOS装入主机的系统RAM的流程图;
图9是依据本发明设计的计算机系统的另一实施例的方框图,该系统使用允许可重新定位的扩充BIOS位置地址的外设总线把外设计算机器件连到主机;
图10是示出依据本发明如何把图9所示的扩充BIOS装入主机的系统RAM的第一实施例的细节的流程图;
图11是示出依据本发明如何把图8所示的扩充BIOS装入主机的系统RAM的第二实施例的细节的流程图;
图12A是示出依据本发明在计算机系统的启动期间如何把图形从海量存储装置器件装入视频存储器的流程图;以及
图12B是示出依据本发明在计算机系统的启动期间如何把操作数据从海量存储装置器件装入系统的流程图。
参考图5,最初将就使主机操作特定外设计算机器件的布局来描述本发明,此操作需要主机获得与特定外设计算机器件有关的扩充BIOS并把此扩充BIOS装入系统RAM。如图5所示,依据本发明设计的计算机系统100包括主机102,主机102具有用来操作主机102的系统BIOS 104并具有与主机102有关的RAM 106。系统BIOS 104存储在主机102内的系统ROM 108中。使用主桥路112把外设总线110连到主机102和RAM 106。使用外设总线110把外设计算机器件114连到主机102。主机102、系统BIOS 104、RAM 106、ROM 108和主桥路110构成任何适当的可容易提供的部件,这些部件允许使用桥路112把主机102和RAM 106连到外设总线110。这些部件包括任何常规的486、Pentium、Power PC或基于RISC的部件,但不限于此。虽然所示的主机102、RAM106和主桥路112相对具有特定的配置,但应理解这不是本发明的要求。相反,即使这些部件以各种特定的配置互连也仍旧在本发明的范围内,只要如以下所述使用外设总线110把外设计算机器件114连到这些部件。
外设总线110可以是任何适当的可容易提供的外设总线,其中允许可重新定位的扩充BIOS的定位地址。这种外设总线的一个较佳实施例是PCI总线。然而,应理解诸如其它并行总线、串行总线或多路复用总线等各种外设总线都落在本发明的范围内。如以上在背景技术中详细所述,如果利于PCI总线,则PCI规约规定如何把与特定外设计算机器件有关的任何扩充BIOS装入主系统的RAM 106中。其它外设总线配置具有相应的规约,因此,以使用PCI总线把外设计算机器件114连到主机102的假设来详细描述本发明。根据所揭示的内容,本发明对其它外设总线配置的应用将对本领域内的技术人员变得清晰起来。虽然在说明书中把外设总线描述成PCI总线,但这不是必需的。可等价地应用需要把扩充BIOS位置地址映射到系统存储器而非允许固定的硬连线扩充BIOS位置地址的任何外设总线。
在本发明的第一实施例中,外设计算机器件114是具有诸如硬盘驱动器或小型光盘(compact disc)唱机等海量存储装置116的海量存储装置外设计算机器件。器件114需要与该器件有关的待装入主机的扩充BIOS,以对操作器件114进行适当的初始化。虽然具体描述了硬盘驱动器和小型光盘唱机,但外设计算机器件114采用任何其它海量存储装置器件的形式也在本发明的范围内。海量存储装置外设计算机器件114包括少量的ROM 118。依据本发明,ROM 118只包括与器件114有关的扩充BIOS的第一部分120。
参考图6A,在使用PCI总线时,扩充BIOS的第一部分120包括配置标题122、少量初始化代码124和校验和126。配置标题中的专用信息可依据所使用的总线而改变;然而,依据所使用的总线的协议来存储该信息。在本实施例的较佳样式中,第一部分120是全部扩充BIOS的非常小的一部分;例如,其尺寸小于1K字节。与器件114有关的扩充BIOS的第二部分128存储在海量存储装置116中。如图6B所示,扩充BIOS的第二部分128包括可成为扩充BIOS的一部分的任何数据结构130、在系统操作期间操作器件114可能必需的任何运行时代码132、对器件114初始化所必需的任何初始化代码134以及校验和136。如图6C所示,类似于上述系统10的已有技术的器件18,器件1 14还包括配置空间存储器138,存储器138具有包含用于映射扩充BIOS所需的系统存储器尺寸或量的信息的配置寄存器140。然而,依据本发明,所需的尺寸规定了为映射与外设计算机器件114有关的扩充BIOS的第一部分120和扩充BIOS的第二部分128而在主机内所需的的存储空间的量。
虽然图6A和6B仅示出构成扩充BIOS的第一部分120和第二部分128的一个代码映象,但应理解,扩充BIOS的第一部分120和第二部分128可包括多个映象,每个映象对应于该器件可能附着的不同类型的计算机体系结构。此多映象途径允许使用对应于不同代码映象的不同计算机体系结构把同一器件附着到各种系统。如果提供多个代码体系,则存储在配置空间138的配置寄存器140中的所需尺寸信息包括足够用于代码映象的第一和第二部分中全部的空间。
既然已描述本第一实施例的元件,将详细地描述本实施例的操作。在整个系统100最初接通时,系统最初以与参考图3的流程图详细描述的典型系统10相同的方式操作。然而,一旦POST码检查系统100的外设器件并确定存在包括扩充ROM的外设器件(在此情况下为器件114)时,系统100的操作开始不同于参考图4的流程图所述的典型系统。因此,在将参考图7的流程图进一步描述在该点后系统100的操作,图7替代了以上对基于PCI的典型系统10所述的图4的流程图。
在POST码确定外设器件114是否具有扩充BIOS的图7的判断块54处开始,POST码对外设器件114的配置空间存储器138的配置寄存器140进行读写,以确定在该器件上是否存在扩充BIOS,如果存在,则确定需要多少存储空间。如图7的块146所示,一旦确定这是扩充BIOS,则POST码确定扩充扩充BIOS映射到的可接受地址并把该地址写到外设器件114上的配置空间存储器138的配置寄存器140。然后,在块148中,POST码以类似于以上对系统10所述的方式使能器件上的扩充BIOS ROM解码。
接着,依据本发明,如块150所示,外设器件114把存储在ROM 118中的扩充BIOS的第一部分120映射到在POST码写到器件114上的配置空间存储器138中的配置寄存器140的地址处开始的系统存储器地址。器件114建立它自己的内部地址解码器,对ROM 118映射到的寄存器140的请求的整个存储器地址范围进行解码,即使实际上仅有一小部分在器件114的ROM 118内。由于存储在器件114的ROM118中的扩充BIOS的第一部分120基本上小于如上所述寄存器140向全部扩充BIOS所请求的空间量,所以把伪造生成(faked generated)的数据映射到此额外的系统存储空间。这可以各种方式来实现。例如,可把ROM 118上的单个数据位置映射到整个额外系统存储空间,从而只需要单个数据位置来填充整个额外系统存储空间。或者,可提供能在飞行中(on the fly)产生数据模式的小的数据产生代码。在本例中,把数据产生代码映射到此额外存储空间,从而在访问该空间时,数据产生代码产生被访问的数据量。
虽然仅描述了如何填充此额外RAM空间的两个特例,但可使用各种其它特殊的方法,所有这些方法都落在本发明的范围内。在一较佳样式中,把整个额外RAM空间映射到包含扩充BIOS的第一部分120的ROM 118内的单个数据位置。该数据位置把零作为该位置的数据。这样,以零填充整个额外RAM空间。由于以零填充整个额外RAM空间,所以此额外空间不影响校验和计数器,且可把校验和126置于扩充BIOS的第一部分120的结尾处。
如块152所示,POST码通过读取扩充BIOS映射到的存储器位置来通读扩充BIOS,从而搜索适当的扩充BIOS的代码映象(在此情况下,为包含在扩充BIOS的第一部分120中的唯一代码映象)。如果如判断块154所示,未找到适当的代码映象,则顺序返回块56,以查看是否存在待配置的附加器件。然而,如果找到适当的代码映象,则顺序移至块156,其中POST码确定把扩充BIOS代码从器件的ROM 118拷贝到主机RAM 106内的存储器位置。然后,在块158中,POST码把来自器件ROM 118的代码映象拷贝到系统RAM 106中。此拷贝包括扩充BIOS的第一部分120及以上详细描述的伪造生成数据。如块160所示,POST码调用现在位于系统RAM 106中的扩充BIOS的第一部分120的初始化代码124,并运行此初始化代码124。
依据本发明,如块162所示,初始化代码124包含刚好足以启动海量存储装置外设计算机器件114并把扩充BIOS的第二部分128装入系统RAM 106中所需的代码。如块164所示,初始化代码124运行现在位于主RAM中的第二部分128的初始化代码134。虽然在给出的例子中,初始化代码124只包括足以启动海量存储装置器件114、装载第二部分128和运行初始化代码134的代码,但这不是本发明的要求。初始化代码124可包括更多的代码,只要把扩充BIOS的至少一部分存储在海量存储装置114上。然而,较佳实施例把存储在ROM 118中的代码的数量减到最少,从而尽可能减少ROM的成本。在块166中,初始化代码134还配置外设器件114并安装包括中断处理程序、器件专用数据等的系统级软件支持。如块168所示,一旦初始化代码134结束,初始化代码134把系统的控制返回POST码。在块170中,POST码进行任意最终初始化,诸如在已运行初始化代码134后给用来存储系统RAM中剩余的扩充BIOS的系统RAM 106的部分标为只读。最后,在这里,顺序返回判断块56,以查看是否还存在待配置的任何器件。
在如图5所示的第二实施例中,特定外设计算机器件可采用不同于海量存储装置外设计算机器件的器件或扩充卡的形式。这种器件的例子是视频卡、多媒体卡网络卡或包括扩充BIOS的如何其它扩充卡或外设器件。在本实施例中,计算机系统100包括外设计算机扩充卡或器件174,此扩充卡或器件174需要把有关的扩充BIOS装入主机以初始化和/或操作扩充卡174。如以上对器件114所述的相同方式,扩充卡174包括包含与扩充卡174有关的扩充BIOS的第一部分178的ROM 176。然而,在本实施例中,与扩充卡174有关的扩充BIOS的第二部分180存储在器件114的海量存储装置中。这使得可把用于扩充卡174的大部分扩充BIOS存储在海量存储装置外设计算机器件114的海量存储装置116中。除了在包含在ROM 176中的第一部分178内所提供的小的初始化代码将操作器件114并访问与包含在海量存储装置116内的扩充卡174有关的扩充BIOS的第二部分180以外,本实施例的操作与上述第一实施例的操作相同。
虽然上述第一和第二实施例都包括位于需要装置扩充BIOS以便被主系统初始化和/或操作的外设计算机器件上的ROM 118和ROM 176,但这不是必要的。或者,包含扩充BIOS的第一部分的ROM可提供在整个系统内的其它位置。其一个例子可以是把高度集成的系统作为包括外设器件的特定分组的完整封装的情况。参考图5,在此情况下,可把分别包含用于器件114和器件174的扩充BIOS的第一部分的ROM 118和176作为系统ROM 108的一部分。在此示例的器件114和174中,以与上述相同的方式,把与包含在完整封装中的外设器件有关的大多数扩充BIOS存储在诸如硬盘驱动器等海量存储装置器件内。系统ROM 108所需包括的扩充BIOS ROM仅需要大到足以包含操作硬驱并把控制移交给存储在硬驱中的初始化代码的代码。然后,可以如上所述相同的方式,把与包含在封装内的各外设器件有关的所有扩充BIOS装入主系统的RAM中。然而,在此情况下,把用于每个外设器件的扩充BIOS的第一部分作为系统BIOS的一部分,因此系统BIOS(即先前例子中的POST)不需要如上所述对这些外设器件进行搜索。
依据本发明的另一个实施例,可使用此通用途径来减少主机内所需的系统ROM的量。再参考图5,在本实施例中,存储在系统ROM中的系统BIOS 104只是由主机102所使用的整个系统BIOS的小的第一部分。与以上对外设器件扩充BIOS的方式相同,系统BIOS的第二部分182存储在海量存储装置器件114的海量存储装置116中。由此布局,系统ROM 108仅需要大到足以存储足以启动海量存储装置器件114并把第二部分182装入系统RAM 106的代码。
现在参考图8的流程图来详细地描述系统的操作,其中系统BIOS被分成存储在系统ROM 108中的第一部分和存储在海量存储装置器件114的海量存储装置116内的第二部分182。在此布局中,如块184所示,在计算机接通后,存储在系统ROM 108中的系统BIOS的第一部分找到并配置海量存储装置器件114(块186)。如块188所示,系统BIOS的第一部分包括确定把系统BIOS的第二部分182装入系统RAM 106内的可接受地址的代码。接着,在块190和192中,系统BIOS代码的第一部分把系统BIOS的第二部分182从海量存储装置器件114装入系统RAM 106,并运行现在位于系统RAM中的系统BIOS的第二部分。在此处,如块194所示,系统BIOS的第二部分得到控制,且系统继续象整个系统BIOS设置在ROM 104内一样进行操作。
应理解,一旦把系统BIOS的第二部分装入RAM并已执行,则系统可继续依据用于装载与连到系统的外设器件有关的任何BIOS的上述布局。或者,可如以下所述装载扩充BIOS。使用此整个途径,可把大多数系统BIOS与连到系统的外设器件的大多数或甚至全部扩充BIOS存储在连到系统的海量存储装置器件的海量存储装置中,而不是存储在ROM中。这样消除了与典型计算机系统中的系统BIOS和扩充BIOS所需的BIOS ROM有关的大多数成本。此外,进一步采用此相同的基本概念,还可消除典型计算机系统的附加部件,这是通过把存储在这些元件中的信息存储在海量存储装置器件内来实现的。例如,电池备用存储器可包括系统配置信息、密码、系统时间、系统日期、软驱配置数据、尺寸、磁盘类型和容量(包括无效、3.5英寸的1.44MB、3.5英寸的1.25MB、3.5英寸的7.20KB、5.25英寸的1.2MB、5.25英寸的3.60KB)、磁盘写保护使能(enable)/无效(disable)、硬盘容量、配置数据和尺寸、CD ROM和DVD配置数据、尺寸和容量、此种硬驱的海量存储器件检测方法、可附着于计算机的CD ROM和/或DVD外设或通常存储在ROM或电池备用存储器中的任何其它信息,通过把此信息存储在海量存储装置器件上并如上所述在系统启动期间访问该信息可免去此电池备用存储器。
用户通常具有通过选择自动(自动地)或手动来建立BIOS的选择权。如果用户选择手动,则用户通常可能选择以下的至少一个:驱动器类型、CD或DVD、对应于专有驱动器号或用户所定义的配置的号码,允许用户选择柱面(cylinder)的号码、头、扇区或磁道的号码、写预补偿、引导顺序,选择系统试图引导安装在计算机中的诸如磁盘驱动器软盘器件、CD ROM驱动器和DVD器件等每个存储器件的次序(例如,它可专用于首先引导从软盘驱动器、其次是CD ROM驱动器、第三是硬驱)或可使用的任何次序,使系统扬声器使能和无效,选择引导显示器或视频显示器件(例如以具有LCD显示器或CRT的计算机),可选择LCD或TV端口,在进行引导或例如投影显示器时所有都可能出现,可同时显示任何一个或全部。
存储主机的当前存储尺寸、总存储尺寸、高速缓冲RAM或高速缓冲存储器尺寸,存储主机的当前扩充存储尺寸,存储主CPU尺寸和主CPU速度,存储主系统号和BIOS版本号,存储静态(quiet)引导、使能或无效电视口的选择以允许把数据显示在TV上,选择TV信号的类型(例如,PAL或NTSC)、串行口IRQ(中断请求线)地址、串行口通信口号(COM1、COM2和COM3),选择把哪一个COM口用于诸如红外器件等器件与计算机的无线通信、诸如LPT1、LPT2等并行口地址,使以上端口的地址无效,建立并行口的操作模式(标准模式、双向模式和ECP模式)。
通常,如果选中ECP模式,则通常将选中ECP信道,还使诸如用户密码和高级密码等密码使能和无效,设定密码应是什么,确定引导时是否需要密码,重新开始时使密码使能或无效,存储软盘驱动器的磁盘的密码保护,可把固定磁盘引导保护设定为正常或写保护,使能集成的硬驱接口,选择或无效初级(primary)集成适配器(integrated adapter)、次级(secondary)集成适配器、这两者,使能或无效软盘控制器,配置串行口(无效、使能或自动),选择串行口配置的无效、使能和自动,选择红外口配置的无效、使能和自动,选择红外口或无线口的模式(IRDA或FIR),选择红外口的基本I/O地址,选择并行口的配置以由系统BIOS或操作系统使能、无效或自动配置路径,选择并行口的模式(其中,这些模式包括正常、双向ECP或EPP模式),选择调制解调器口的配置以由系统BIOS或操作系统来使能、无效或自动配置该口,配置电源管理,配置电源管理模式(永远(AC与电池电源的电源管理)、仅用电池、无效(无电源管理)),允许保持功率且具有最佳系统性能的最大性能,允许以系统性能为等价的最节电的最大节电量,允许对不同电源管理特征(包括具有开和关选项的灵敏CPU模式)的定制设定的定制,具有无效和预定时间段的待机暂停(standby time out),具有无效和预定时间段的挂起暂停(suspend timeout),磁盘保存的暂停或RAM保存的暂停,重新开始;重新开始调制解调器,使能或无效响铃的鸣响,重新开始日期,设定重新开始时间的设定时间,具有使能或无效特征的电池不足暂停,无效计时器,具有通过设定警报时间和警报日期的使能或无效的使能、无效、重新开始发警报,配置以固定时间量无效的暂停功能,待机暂停,5伏挂起暂停,伏挂起暂停,硬盘暂停,视频暂停,语言,选择初级主IDE(primary IDE master)、初级从IDE(primary IDEslave)、次级主IDE(secondary IDE master)、次级从IDE(secondary IDE slave)存储的所有东西都是找到的东西,选择插入式插头操作系统(包括是和否),复位配置数据(包括是和否选项),选择速度快且兼容的系统来设定存储高速缓冲存储器的速度,选择纠错控制(ECC)配置,设定存储器ECC状态(包括ECC或非ECC),选择资源配置存储器保留来保留专用存储器块,保留专用IOQ的IOQ,选择键盘配置(包括NUM锁)以设定通电状态,NUM锁有效或无效,选择键盘速率来选择键盘重复率(每秒),键盘延迟在键盘重复前选择延迟,选择视频配置选项板(palette)探测(snooping)以使能或无效,DMI事件登录(包括事件登录容量、事件登录可见性、DMI事件登录数据、清除DMI事件登录、事件登录使能或无效、把DMI数据标为读),选择设置密码,恢复功耗以恢复发生功耗前的最后状态,保持断开(stay off)来保持断电直到按下电源按钮,上电来恢复系统的电力,快速引导模式使能或无效以在引导时跳开某些测试。
在本发明的另一个实施例中,一并消除了对与特定外设计算机器件有关的扩充BIOS ROM的需要。参考图9,如对先前的实施例所述,整个系统200包括主机102、系统BIOS 104、系统RAM 106、系统ROM 108,主桥路112和外设总线110。系统200还包括具有海量存储装置204的海量存储装置外设计算机器件202。在本实施例中,把与器件202有关的所有扩充BIOS存储在海量存储装置204内。如以上对其它实施例所述,器件202可采用硬盘驱动器、小型光盘唱机或如何其它形式的海量存储装置的形式。
海量存储装置器件202还包括存储缓冲器206,该缓冲器用于存储来往于海量存储装置204所传递的数据输入和输出。如此构成存储缓冲器206,从而它对于主系统就象它是在系统启动期间安装在器件202上的一扩充ROM。依据本发明,器件202还包括智能启动布局208。启动布局208侦测系统何时接通,响应于系统布局208的启动,使海量存储装置器件202快速地接通并把扩充BIOS的至少第一部分装入存储缓冲器206。布局208构成足够快速地把此扩充BIOS的第一部分装入存储缓冲器206,从而在POST检查器件202而查看它是否需要任何扩充BIOS。此扩充BIOS的第一部分类似于用于上述第一实施例的扩充BIOS的第一部分120。
参考图10,本实施例以与图7的流程图所示实施例的操作所述大致相同的方式操作。如图10所示,第一块146和148与以上所述的相同。然而,在本实施例中,在POST码使能扩充ROM解码后,以块210来替换图7的块150,在块210中,器件202把其内部存储缓冲器206作为扩充BIOS映射到在POST码提供给器件的配置空间的地址出开始的系统存储器中。以与以上对图7详细描述的相同的方式,把伪造数据映射到器件202的配置空间所要求的额外系统存储空间。器件202建立其内部地址解码器,从而即使在器件202中没有ROM时,也可对其配置空间所请求的整个存储器地址范围进行解码。
如对先前的实施例所述,POST码通过读取扩充BIOS映射到的存储器位置而通读扩充BIOS,从而搜索适当的扩充BIOS代码映象(块152)。如果未找到适当的代码映象,则顺序返回块56,以查看是否存在待配置的附加器件。然而,如果找到适当的代码映象,则顺序移至块212,其中POST码确定把扩充BIOS码从器件202的存储缓冲器206拷贝到主系统RAM 106内的存储位置。然后,如块214所示,POST码把代码映象从器件202的存储缓冲器206拷贝到系统RAM 106。此拷贝包括扩充BIOS的第一部分以及以上详细描述的伪造数据。如块160所示,POST码调用包含在现在位于系统RAM 106中的扩充BIOS第一部分内的初始化代码,并运行初始化代码。本实施例的操作的其余部分与以上对图7所述的相同。
或者,在本实施例的另一个样式中,可把存储缓冲器206映射到主系统的存储器作为用于整个扩充BIOS映象的扩充BIOS,从而不需要把扩充BIOS分成第一和第二部分。参考图11的流程图,将描述此途径。块54、56、146和148与以上对图10所述的实施例保持相同。然而,在块216中,器件202把其存储缓冲器206作为用于整个扩充BIOS映象的扩充BIOS映射到系统存储器中,该系统存储器在POST码提供给器件202的配置空间的地址处开始。器件202把来自其海量存储器的扩充BIOS读入其存储缓冲器,并把此映象映射到系统存储器中。如果提供多个映象,则还可把这些映象映射到系统存储器中。器件建立它自己的内部解码器,从而即使在器件上没有ROM时也可对整个存储范围进行解码。块152、154和212也与以上对图10所述的相同。然而,在块218中,POST码把适当的扩充BIOS映象(包含从海量存储装置204读出的整个扩充BIOS)从器件202的存储缓冲器206拷贝到系统RAM 106中。从该处开始,操作以与如图4流程图所示对已有技术的系统所述就象已装载来自器件上的ROM的扩充BIOS的相同方式通过块76、78、80和82继续进行。
再参考图9,另一个实施例提供了一并消除对不同于海量存储装置器件的特定外设计算机器件有关的扩充BIOS ROM的需要的布局。在本实施例中,系统200包括外设计算机扩充卡或器件220,该扩充卡或器件220需要把有关的扩充BIOS装入主机以便初始化和/或操作扩充卡220。如以上对器件220所述的相同方式,与扩充卡220有关的扩充BIOS存储在器件202的海量存储装置204中。除了存储在海量存储装置204中的初始化代码包括用于扩充卡220的初始化和运行期代码以及用于器件202的初始化代码和运行期代码以外,本实施例的操作与所述的上一实施例相同。
本发明的一个优点是可容易地对海量存储装置所存储的扩充BIOS的部分进行升级。在海量存储装置为硬盘驱动器的情况下,可把扩充BIOS的部分存储在海量存储装置中用户不可访问的那部分中。可使用各种方法而在硬驱的正常操作期间保护这部分区不被访问。在此情况下,可提供一种应用程序,它使得在想要更新或修正存储在硬驱上的这部分扩充BIOS时保护硬驱的这部分被访问。上述实施例都能利用这个能力来更新和修订存储在系统的海量存储装置外设期间的海量存储装置中的扩充BIOS的这部分。
把扩充BIOS的至少一部分存储在海量存储装置上的这一通用途径还允许对不同的情况下不同地配置主系统。此途径的一个例子是在把系统用于运行特定游戏或应用程序时,这些运行或应用程序可在以不同于系统正常操作期间的方式配置系统时起到更好的作用。在此情况下,海量存储装置器件可以是小型光盘唱机,可把游戏或应用程序设置在小型光盘上。依据使用上述的哪一个途径,小型光盘本身将包含扩充BIOS的至少一部分(如果不是全部)。此小型光盘上的扩充BIOS将包括初始化和运行时代码,这些代码将优化所运行的特定游戏或应用程序的系统的操作。
通过把扩充BIOS和/或系统BIOS的一部分存储在海量存储装置外设器件的海量存储装置上,可提供大得多的扩充和/或系统BIOS,而不增加外设器件和/或系统的成本。如上所述,存储系统启动期间所需的信息的这个一般概念可包括在系统启动期间增强系统功能的各种操作数据、文本或其它信息。它的一个特例是在系统启动期间提供更多精细的图形显示而无需在系统内的某处包括用来包含所需图形信息的大量ROM的能力。
参考图12A,将描述依据本发明的计算机系统的操作,该操作包括在系统启动期间把特定图形信息提供给系统的能力。如块222和224所示,计算机接通,与系统有关的BIOS的初始化代码对系统采取控制。此BIOS可以是以上所述的各种BIOS布局中的任一种。在此处,如判断块226所示,BIOS的初始化代码进行检查以查看计算机系统是否包含视频图形存储器。如果不存在视频图形存储器,则如块234所示,BIOS的初始化代码开始对系统进行配置。然而,如果存在视频图形存储器,则分别如块228和230所示,把当前视频存储器平面设定为有效,并把当前视频存储器平面映象从海量存储装置器件直接读入视频存储器。然后,如块232所示,BIOS的初始化代码进行检查以查看是否存在待读取的另一个视频存储器平面。如果是这样,则重复块228和230,直到不再有待读取的视频存储器平面。
现在参考图12B,可使用与以上对图形例子所述的相同基本途径来给系统提供其它操作数据。此操作数据可包括系统配置信息、数据、文本、密码或可在系统启动期间提供某些功能的任何其它信息,但不限于此。如以上对图12A所述,如块222和224所示,计算机接通,与系统有关的BIOS的初始化代码对系统采取控制。在此处,如判断块236所示,BIOS的初始化代码进行检查以查看海量存储装置期间是否包含待装入系统的操作数据。如果不存在操作数据,则如块234所示,BIOS的初始化代码开始对系统进行配置。然而,如果存在操作数据,则分别如块238和240所示,初始化代码确定装入操作数据的存储器位置,把操作数据从海量存储装置器件直接读入系统RAM。然后,如判断块242所示,BIOS的初始化代码进行检查以查看是否存在待读取的任何操作数据。如果是这样,则重复块238和240直到不再有待读取的操作数据。
如上所述,通过使用对图12A和12B所述的途径,可在系统的确定期间把操作数据或图形提供给系统,而无需用于此信息的附加ROM存储空间。这允许在系统启动期间提供多得多的信息,而不增加系统或外设的成本。此途径还允许消除ROM或诸如目前用于此目的的电池备用存储器等其它形式的存储装置的成本,从而减少系统成本。
虽然把外设总线描述成PCI总线,但这不是必需的。如上所述,可等效地应用需要把扩充BIOS位置地址(而不是固定的硬连线扩充BIOS位置地址)映射到系统存储器中的任何外设总线。此外,应理解,在本实施例中,完全免除了特定外设器件上的扩充BIOS ROM,特定外设器件还可包括用于其它目的的ROM,这仍在本发明的范围内。
虽然仅描述了提供把BIOS或操作数据的至少一部分存储在海量存储装置外设计算机器件的海量存储装置中的这一布局的少量特例,应理解本发明可采用各种其它特殊形式。例如,在把几个外设器件连到主机的系统中,可把用于所有器件的扩充BIOS存储在海量存储装置器件上。在本例中,还可把用于海量存储装置器件的扩充BIOS的第一部分诸如如上所述的存储缓冲器内,或者可把它们存储在如上所述的小的扩充BIOS ROM中。可把用于海量存储装置的扩充BIOS的第二部分与用于所有其它外设器件的扩充BIOS一起存储在海量存储装置器件的海量存储装置中,并可使用用于海量存储装置器件的扩充BIOS的第一部分对它们进行访问。因此,认为这些例子是示意性的而非限制性的,本发明不限于这里给出的细节,而可在所附权利要求书至少的范围内对这些细节进行修改。

Claims (18)

1.一种使用计算机系统的方法,所述计算机系统包括具有系统RAM的主机以及具有连到主机的海量存储装置的海量存储装置外设计算机器件,主机使用BIOS来控制其在计算机系统的启动期间的操作,其特征在于所述方法包括以下步骤:
在计算机系统启动期间对主机提供访问,用以包含BIOS的至少一部分;
把配置数据存储在海量存储装置外设计算机器件的海量存储装置内;
在系统启动期间,使主机访问并获得BIOS的所述部分;以及
通过使用BIOS的所述部分,使主机来(i)访问海量存储装置外设计算机器件的海量存储装置,(ii)获得位于海量存储装置外设计算机器件的海量存储装置内的配置数据,以及(iii)把此配置数据存储在系统RAM内。
2.如权利要求1所述的方法,其特征在于所述配置数据为日期数据。
3.如权利要求1所述的方法,其特征在于所述配置数据为时间数据。
4.如权利要求1所述的方法,其特征在于所述配置数据为有关来往于海量存储器件进行读或写的数据。
5.如权利要求1所述的方法,其特征在于所述配置数据为有关配置数据的类型的数据。
6.如权利要求1所述的方法,其特征在于所述配置数据为有关主机数据的数据。
7.如权利要求1所述的方法,其特征在于所述配置数据为有关电源管理的数据。
8.如权利要求1所述的方法,其特征在于所述配置数据为有关键盘数据的数据。
9.如权利要求1所述的方法,其特征在于所述配置数据为有关启动或初始化的数据。
10.一种计算机系统,包括具有系统RAM的主机以及具有连到主机的海量存储装置的海量存储装置外设计算机器件,主机使用BIOS来控制其在计算机系统的启动期间的操作,其特征在于包括:
可在计算机系统启动期间访问主机的存储器,用以包含BIOS的至少一部分;
具有海量存储装置外设计算机器件的配置数据的海量存储器;
在系统启动期间,可操作主机访问并获得BIOS的所述部分;以及
通过使用BIOS的所述部分,可操作主机来(i)访问海量存储装置外设计算机器件的海量存储装置,(ii)获得位于海量存储装置外设计算机器件的海量存储装置内的配置数据,以及(iii)把此配置数据存储在系统RAM内。
11.如权利要求10所述的方法,其特征在于所述配置数据为日期数据。
12.如权利要求10所述的方法,其特征在于所述配置数据为时间数据。
13.如权利要求10所述的方法,其特征在于所述配置数据为有关来往于海量存储器件进行读或写的数据。
14.如权利要求10所述的方法,其特征在于所述配置数据为有关配置数据的类型的数据。
15.如权利要求10所述的方法,其特征在于所述配置数据为有关主机数据的数据。
16.如权利要求10所述的方法,其特征在于所述配置数据为有关电源管理的数据。
17.如权利要求10所述的方法,其特征在于所述配置数据为有关键盘数据的数据。
18.如权利要求10所述的方法,其特征在于所述配置数据为有关启动或初始化的数据。
CN00103780A 1999-03-09 2000-03-09 把系统级海量存储器配置数据存储在其非易失性存储器中 Pending CN1266230A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/265,017 US6401198B1 (en) 1999-03-09 1999-03-09 Storing system-level mass storage configuration data in non-volatile memory on each mass storage device to allow for reboot/power-on reconfiguration of all installed mass storage devices to the same configuration as last use
US09/265,017 1999-03-09

Publications (1)

Publication Number Publication Date
CN1266230A true CN1266230A (zh) 2000-09-13

Family

ID=23008599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN00103780A Pending CN1266230A (zh) 1999-03-09 2000-03-09 把系统级海量存储器配置数据存储在其非易失性存储器中

Country Status (7)

Country Link
US (1) US6401198B1 (zh)
EP (1) EP1035472A3 (zh)
JP (1) JP2000293474A (zh)
KR (1) KR20010006749A (zh)
CN (1) CN1266230A (zh)
SG (1) SG96546A1 (zh)
TW (1) TW518517B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100386709C (zh) * 2003-06-06 2008-05-07 中国科学院计算技术研究所 一种龙芯-1cpu的网络计算机主板系统的复位方法
CN101313287B (zh) * 2005-10-13 2013-05-08 桑迪士克科技公司 经由嵌入式控制器初始化快闪存储设备
CN108089872A (zh) * 2017-12-19 2018-05-29 联想(北京)有限公司 获取bios更新数据的方法、数据更新方法及电子设备
CN108647159A (zh) * 2018-05-16 2018-10-12 成都爱斯顿科技有限公司 基于PowerPC T2080的COMe模块高速串行口配置方法以及COMe模块
CN108845825A (zh) * 2018-06-25 2018-11-20 郑州云海信息技术有限公司 一种存储系统配置方法、装置、设备及可读存储介质

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100283243B1 (ko) * 1998-05-11 2001-03-02 구자홍 운영체제의 부팅방법
US7596606B2 (en) * 1999-03-11 2009-09-29 Codignotto John D Message publishing system for publishing messages from identified, authorized senders
TW508506B (en) * 1999-10-21 2002-11-01 Mitac Technology Corp Computer system capable of playing DVD movie and control method of its TV analog signal output
US6567911B1 (en) * 1999-12-06 2003-05-20 Adaptec, Inc. Method of conserving memory resources during execution of system BIOS
US6769059B1 (en) * 1999-12-17 2004-07-27 Intel Corporation System for updating computer's existing video BIOS without updating the whole computer's system BIOS
US6529989B1 (en) * 2000-05-03 2003-03-04 Adaptec, Inc. Intelligent expansion ROM sharing bus subsystem
US6738879B2 (en) * 2000-05-22 2004-05-18 Seagate Technology Llc Advanced technology attachment compatible disc drive write protection scheme
JP2002063042A (ja) * 2000-08-21 2002-02-28 Nec Microsystems Ltd プログラム・モジュール管理システム、その管理方法及びその管理プログラムを記録した記録媒体
US6711736B1 (en) * 2000-11-07 2004-03-23 Inventec Corporation Method of obtaining the BIOS version date in the windows operating system
US7051326B2 (en) * 2000-12-13 2006-05-23 International Business Machines Corporation Code image distribution in a multi-node network of processors
US6766474B2 (en) * 2000-12-21 2004-07-20 Intel Corporation Multi-staged bios-based memory testing
US20030061401A1 (en) * 2001-09-25 2003-03-27 Luciani Luis E. Input device virtualization with a programmable logic device of a server
US7931533B2 (en) 2001-09-28 2011-04-26 Igt Game development architecture that decouples the game logic from the graphics logics
US8708828B2 (en) 2001-09-28 2014-04-29 Igt Pluggable modular gaming modifiers and configuration templates for gaming environments
US6902481B2 (en) 2001-09-28 2005-06-07 Igt Decoupling of the graphical presentation of a game from the presentation logic
US6819364B2 (en) * 2001-10-29 2004-11-16 Sony Corporation System and method for configuring and installing individual devices of a home entertainment system
US6967588B2 (en) * 2002-03-25 2005-11-22 Sony Corporation System and method for controlling a home entertainment system
KR20040042357A (ko) * 2002-11-14 2004-05-20 삼성전자주식회사 휴대용 컴퓨터 및 휴대용 컴퓨터의 제어방법
US6944758B2 (en) * 2003-03-31 2005-09-13 Giga-Byte Technology Co., Ltd. Backup method for interface BIOS by making backup copy of interface BIOS in system BIOS and executing backup interface BIOS in system BIOS if error occurs
US20040203480A1 (en) * 2003-04-09 2004-10-14 Dutton Drew J. Configuration and management of human interface and other attached devices through bi-directional radio frequency link
US7310498B2 (en) * 2003-04-09 2007-12-18 Standard Microsystems Corporation Communication protocol for personal computer system human interface devices over a low bandwidth, bi-directional radio frequency link
US8095470B1 (en) * 2003-06-09 2012-01-10 Microsoft Corporation Identifying a content provider
US7234050B2 (en) * 2003-08-14 2007-06-19 Hewlett-Packard Development Company, L.P. Techniques for initializing a device on an expansion card
US8924522B2 (en) 2003-12-23 2014-12-30 Intel Corporation Method and apparatus for remote modification of system configuration setting
US7373498B2 (en) * 2003-12-23 2008-05-13 Intel Corporation Method and apparatus for updating a system configuration through an active or passive update
US8990366B2 (en) 2003-12-23 2015-03-24 Intel Corporation Method and apparatus for remote modification of system configuration
EP1580643A3 (en) * 2004-03-23 2006-10-11 International Business Machines Corporation Access protection for computer systems
US7870376B2 (en) 2004-03-23 2011-01-11 International Business Machines Corporation System, method and program product for controlling access to computer system
US20060069813A1 (en) * 2004-09-30 2006-03-30 International Business Machines Corporation Self-configuring peripheral interface system, peripheral device therefor and interface method
JP2006236193A (ja) * 2005-02-28 2006-09-07 Fujitsu Ltd 起動プログラム実行方法、デバイス、記憶媒体及びプログラム
US7736234B2 (en) * 2005-03-09 2010-06-15 Igt MRAM as critical event storage for powered down gaming machines
US20060205513A1 (en) * 2005-03-09 2006-09-14 Igt MRAM as nonvolatile safe storage for power hit and ESD tolerance in gaming machines
US7722468B2 (en) * 2005-03-09 2010-05-25 Igt Magnetoresistive memory units as read only memory devices in gaming machines
KR101010489B1 (ko) * 2005-06-21 2011-01-21 미츠비시덴키 가부시키가이샤 프로그램 실행 시스템을 위한 프로그래밍 시스템 및검사장치용 프로그램 작성 시스템
JP4110557B2 (ja) * 2005-06-21 2008-07-02 三菱電機株式会社 プログラム実行システムを備えた検査装置およびプログラミングシステム
CN100592262C (zh) * 2005-08-05 2010-02-24 鸿富锦精密工业(深圳)有限公司 保留桌面管理界面动态信息的系统及方法
JP4662550B2 (ja) * 2005-10-20 2011-03-30 株式会社日立製作所 ストレージシステム
US8280805B1 (en) 2006-01-10 2012-10-02 Sas Institute Inc. Computer-implemented risk evaluation systems and methods
US7912773B1 (en) * 2006-03-24 2011-03-22 Sas Institute Inc. Computer-implemented data storage systems and methods for use with predictive model systems
US20080005262A1 (en) * 2006-06-16 2008-01-03 Henry Wurzburg Peripheral Sharing USB Hub for a Wireless Host
US9009454B2 (en) * 2007-03-09 2015-04-14 Hewlett-Packard Development Company, L.P. Secure operating system loader
JP2009037353A (ja) * 2007-07-31 2009-02-19 Ricoh Co Ltd 情報処理端末装置及びプログラム
US8515862B2 (en) 2008-05-29 2013-08-20 Sas Institute Inc. Computer-implemented systems and methods for integrated model validation for compliance and credit risk
US20100023740A1 (en) * 2008-07-23 2010-01-28 Seagate Technology Llc Diagnostic utility and method for a data storage device
US8844023B2 (en) * 2008-12-02 2014-09-23 Micron Technology, Inc. Password protected built-in test mode for memories
US8448016B2 (en) * 2009-07-31 2013-05-21 Cleversafe, Inc. Computing core application access utilizing dispersed storage
CN102200916B (zh) * 2010-03-26 2014-12-31 联想(北京)有限公司 电子设备、可配置的部件及该部件的配置信息存储方法
WO2012172666A1 (ja) * 2011-06-15 2012-12-20 富士通株式会社 情報処理装置、情報処理方法、および情報処理プログラム
JP2013052556A (ja) * 2011-09-02 2013-03-21 Canon Inc 画像形成装置、画像形成装置の制御方法、及びプログラム
JP5500150B2 (ja) * 2011-10-05 2014-05-21 コニカミノルタ株式会社 画像形成装置
US9753738B2 (en) 2011-10-21 2017-09-05 Hewlett-Packard Development Company, L.P. Providing a function of a basic input/output system (BIOS) in a privileged domain
BR112014009356A2 (pt) * 2011-10-21 2017-04-18 Hewlett Packard Development Co Lp método para um dispositivo eletrônico, dispositivo eletrônico e artigo
US9231979B2 (en) 2013-03-14 2016-01-05 Sas Institute Inc. Rule optimization for classification and detection
US9594907B2 (en) 2013-03-14 2017-03-14 Sas Institute Inc. Unauthorized activity detection and classification
JP2015191606A (ja) * 2014-03-28 2015-11-02 富士通株式会社 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム
US9122501B1 (en) * 2014-09-08 2015-09-01 Quanta Computer Inc. System and method for managing multiple bios default configurations
US10528358B2 (en) 2015-01-23 2020-01-07 Hewlett-Packard Development Company, L.P. Initialize port
CN110633057A (zh) * 2019-09-24 2019-12-31 京信通信系统(中国)有限公司 一种存储设置参数的方法、装置、计算设备及存储介质
US20210382888A1 (en) * 2020-06-08 2021-12-09 Mongodb, Inc. Hedged reads

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5136713A (en) * 1989-08-25 1992-08-04 International Business Machines Corporation Apparatus and method for decreasing the memory requirements for bios in a personal computer system
US5210875A (en) * 1989-08-25 1993-05-11 International Business Machines Corporation Initial bios load for a personal computer system
US5355489A (en) * 1989-08-25 1994-10-11 International Business Machines Corp. Bios load for a personal computer system having a removable processor card
US5230052A (en) * 1990-10-01 1993-07-20 International Business Machines Corp. Apparatus and method for loading bios into a computer system from a remote storage location
US5517646A (en) * 1994-04-25 1996-05-14 Compaq Computer Corp. Expansion device configuration system having two configuration modes which uses automatic expansion configuration sequence during first mode and configures the device individually during second mode
US5864698A (en) * 1994-08-24 1999-01-26 Packard Bell Nec Disk based bios
US5835760A (en) * 1995-10-13 1998-11-10 Texas Instruments Incorporated Method and arrangement for providing BIOS to a host computer
US5819087A (en) * 1996-07-19 1998-10-06 Compaq Computer Corporation Flash ROM sharing between processor and microcontroller during booting and handling warm-booting events
US6047373A (en) * 1997-01-02 2000-04-04 Intel Corporation Method and apparatus for setting the operating parameters of a computer system
US5999476A (en) * 1997-11-21 1999-12-07 Advanced Micro Devices, Inc. Bios memory and multimedia data storage combination

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100386709C (zh) * 2003-06-06 2008-05-07 中国科学院计算技术研究所 一种龙芯-1cpu的网络计算机主板系统的复位方法
CN101313287B (zh) * 2005-10-13 2013-05-08 桑迪士克科技公司 经由嵌入式控制器初始化快闪存储设备
CN108089872A (zh) * 2017-12-19 2018-05-29 联想(北京)有限公司 获取bios更新数据的方法、数据更新方法及电子设备
CN108647159A (zh) * 2018-05-16 2018-10-12 成都爱斯顿科技有限公司 基于PowerPC T2080的COMe模块高速串行口配置方法以及COMe模块
CN108845825A (zh) * 2018-06-25 2018-11-20 郑州云海信息技术有限公司 一种存储系统配置方法、装置、设备及可读存储介质
CN108845825B (zh) * 2018-06-25 2021-12-03 郑州云海信息技术有限公司 一种存储系统配置方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
JP2000293474A (ja) 2000-10-20
KR20010006749A (ko) 2001-01-26
TW518517B (en) 2003-01-21
EP1035472A2 (en) 2000-09-13
SG96546A1 (en) 2003-06-16
EP1035472A3 (en) 2006-10-25
US6401198B1 (en) 2002-06-04

Similar Documents

Publication Publication Date Title
CN1266230A (zh) 把系统级海量存储器配置数据存储在其非易失性存储器中
EP0797800B1 (en) System for providing bios to host computer
CN100454273C (zh) 用于块内页面分组的方法及设备
EP3764237B1 (en) System startup method and apparatus, electronic device and storage medium
CN1029336C (zh) 保护个人计算机中系统应用程序的装置
JP4288295B2 (ja) 論理パーティションにおけるメモリへのアクセス
CN1258702C (zh) 为不同的指令集结构所编写的固件之间进行通信的方法
US7702894B2 (en) System and method for loading programs from HDD independent of operating system
CN1122281C (zh) 一种多功能半导体存储装置
US6754793B2 (en) Method for flashing ESCD and variables into a ROM
US7082509B2 (en) Method and system for allocating memory during system boot to reduce operating system memory resource consumption at run-time
EP0847001A2 (en) Method and arrangement for allowing a computer to communicate with a data storage device
US20020129233A1 (en) Data processor having bios packing compression/decompression architecture
CN102810068A (zh) 存储装置、存储系统和使存储装置虚拟化的方法
JP2008192153A (ja) 相補性メモリ管理
CN101430700B (zh) 文件系统管理装置和方法以及存储装置
CN1248095C (zh) 娱乐装置、信息处理装置、及便携型存储装置
US20050081198A1 (en) System and method for limiting software installation on different computers and associated computer-readable storage media
CN1300979A (zh) 与硬件有关的软件安装
EP0903667A1 (en) Identifying a data structure and recording method
CN101373457B (zh) Windows环境下一种基于USB设备的硬盘写保护锁的方法
CN1317616C (zh) 多重操作系统的多键引导系统及方法
CN100498710C (zh) 自储存装置上读取选择只读存储器程序代码的方法
JP2000030375A (ja) データ処理システム、アクセス装置及び記録媒体
CN102693372B (zh) 内存储存装置、内存控制器与病毒扫描方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication