计算机系统中存储器初始化的方法和设备的制作方法

文档序号:6562261阅读:260来源:国知局
专利名称:计算机系统中存储器初始化的方法和设备的制作方法
技术领域
本发明涉及计算机系统,并且尤其涉及存储器初始化处理。
背景技术
当个人计算机的电源被打开时,通常系统的基本输入输出系统(BIOS,Basic InputOutput System)的通电自检(POST,Power-On Self-Test)处理被执行。
在传统的POST处理中,存储器初始化处理在POST处理的开始阶段被执行。在存储器初始化处理中,首先,执行存储器识别处理。在存储器识别处理中,系统BIOS读取存储在包括于存储器模块中的串行存在检查(SPD,Serial Presence Detect)中的SPD数据。SPD是存储SPD数据的诸如EEPROM的非易失性存储器。存储器模块包括用于组成主存储器的RAM。根据从SPD读取的SPD数据,系统BIOS执行使得装载于存储器模块中的RAM具有作为主存储器的组成元件的功能的初始设置处理。
存在使用SPD数据的传统技术。在传统技术中,当个人计算机的电源被打开时,存储在诸如双列直插存储器模块(DIMM,Dual In-line Memory Module)的存储器模块中的SPD数据,被复制到连接于存储器模块的闪存ROM中。接着,存储在存储器模块中的SPD数据被擦除。即,存储在存储器模块中的SPD数据被移动到计算机主体的闪存中(参考No.2000-148600的日本专利申请公开公报)。
结果,如果存储器模块没有注意被取出并且用于其它计算机,其它计算机将非正常工作。即,不可能在另外的计算机中使用该存储器模块。相应的,可以阻止存储器模块被偷。
如上所述,在传统技术中,当个人计算机的电源被打开时,存储在存储器模块中的SPD数据从存储器模块被移动到闪存ROM中。并且,在传统技术中,存储器初始化处理基于被移动到闪存ROM中的SPD数据被执行。
但是在传统技术中,没有考虑加快存储器初始化处理的速度。

发明内容
本发明的目的是提供能够高速执行存储器初始化处理的计算机系统和存储器初始化方法。
根据本发明的一个方面,提供具有用于执行各种程序的CPU的计算机系统,其包括包含用于构成主存储器的RAM以及用于存储表示存储器模块的规格的第一SPD数据的非易失性存储器的存储器模块;被分配为CPU能够直接存取的存储空间的第二非易失性存储器;从第一非易失性存储器读取第一SPD数据并且将第一SPD数据作为第二SPD数据存储到第二非易失性存储器的指定区域的第一控制单元;以及当计算机系统的电源被打开时,执行初始设置处理,用于基于存储在第二非易失性存储器的指定区域内的第二SPD数据使装载于存储器模块中的RAM起到主存储器的组成元件功能的第二控制单元。


结合在说明书中并构成说明书的一部分的附图将对本发明的实施例进行图解,结合上面给出的概要描述和下面给出对实施例的详尽描述一起用以对本发明的原理进行说明。
图1是显示根据本发明的实施例的个人计算机的系统结构的框图;图2是显示对应于CPU能够直接存取的存储器空间的存储器实例;以及图3是帮助说明应用到本实施例的存储器初始化处理的步骤的流程图。
具体实施例方式
接下来将参考附图对本发明的实施例进行说明。
参考图1,将对根据本发明的实施例的计算机系统的结构进行说明。计算机系统被实现为例如,笔记本个人计算机的形式。图1是显示笔记本个人计算机的结构的框图。个人计算机包括CPU 11,北桥12,存储器模块13,图形控制器14,南桥16,硬盘驱动器(HDD)16,光盘驱动器(ODD)18,闪存ROM 19,嵌入式控制器/键盘控制器(EC/KBC)21。
CPU11是设置为控制计算机操作的处理器。CPU11不仅执行对计算机中的硬件资源和软件资源分配进行集中管理的操作系统(OS),同样执行各种应用程序。OS和各种应用程序从硬盘驱动器(HDD)16被装载到主存储器(没有在图中显示)中,对主存储器将在后文中说明。并且,CPU11执行存储在闪存ROM19中的系统BIOS 191。
北桥12是连接CPU11的局部总线和南桥16的桥接器件。北桥12包括对存储器模块13进行存取控制的存储器控制器北桥存储器控制器12a。北桥12具有经由例如加速图形端口(AGP,Accelerated graphics port)总线与图形控制器14通信的功能。
存储器模块13包括用于组成主存储器的诸如动态RAM(DRAM)的RAM。存储器模块13进一步包括SPD130。SPD130是诸如EEPROM的非易失性存储器(第一非易失性存储器)。SPD130具有存储SPD数据的SPD数据区域131。SPD数据是代表存储器模块13规格的数据,包括存储器模块13的容量,存取速率,存取方法,和存储器结构。SPD数据区域130进一步包括其中写入第一SPD数据存储标识(标识信息)的标识存储区域132,对标识信息将在后文中进行说明。
图形控制器14是控制作为计算机显示监视器使用的LCD 15的显示控制器。图形控制器14显示写入LCD 15上的视频存储器(VRAM)的视频数据。
南桥16控制低引脚数(LPC,Low Pin Count)总线20上的每个器件,和外设部件互连(PCI,Peripheral Component Interconnect)总线(没有在图中显示)上的每个器件。另外,南桥16包括用于控制硬盘驱动器(HDD)16和光盘驱动器(ODD)18的集成驱动电路(IDE,Integrated Drive Electronics)控制器。南桥16还具有对闪存ROM 19(第二非易失性存储器)进行存取控制的功能。
硬盘驱动器(HDD)16是存储各种类型的软件和数据的存储单元。光盘驱动器(ODD)18是用于驱动包括其中视频内容或类似内容已经被存储的CD介质和DVD介质存储介质的驱动单元。
EC/KBC 21是包括用于电源管理的嵌入式控制器和用于控制键盘(KB)22和触摸片23的键盘控制器的单片微机。21具有根据用户对电源按钮的操作打开和关闭计算机的功能。
闪存ROM 19是可重写的非易失性存储器。闪存ROM 19被分配为CPU11能够直接存取的存储空间。主存储器同样被分配到该存储空间中。闪存ROM 19存储系统BIOS 191。闪存ROM 19进一步具有SPD存储区域192。SPD存储区域192包括SPD数据存储区域192a,该区域存储被存储在SPD数据区域130的SPD数据区域131中的SPD数据。SPD存储区域192还包括存储第二SPD数据存储标识的标识存储区域192b。
这里,将对SPD数据存储标识进行说明。不同的存储器模块和个人计算机具有不同的标识信息。该标识用于判定存储在包括于存储器模块13的SPD130中的SPD数据区域131中的第一SPD数据是否已经被存储为闪存ROM19中的第二SPD数据。即,该标识被用于判定存储器模块13是否已经被另一存储器模块替代。通过系统BIOS 191,该标识作为算一SPD数据存储标识被写入到SPD数据区域130的标识存储区域132中。并且,通过系统BIOS 191,该标识作为第二SPD数据存储标识被写入到闪存ROM闪存ROM 19的标识存储区域192b中。
系统BIOS 191是用于硬件控制的程序。CPU11执行系统BIOS 191,从而实现硬件控制。在接下来的说明中,为了简单起见,假设系统BIOS 191执行硬件控制。
系统BIOS 191包括判定模块191a,识别模块191b,存储模块191c,设置模块191d和获取模块191e。
在个人计算机的电源被打开时,判定模块191a读取分别写入到标识存储区域132和192b中的第一和第二SPD数据存储标识。另外,判定模块191a判定读入的标识是否相吻合。基于标识之间是否吻合,判定模块191a判定存储器模块13是否已经被另外的存储器替换。判定模块191a还具有判定第二SPD数据是否已经被存储在SPD数据存储区域192a中的功能。
识别模块191b读取存储在SPD130的SPD数据区域131中的第一SPD数据。另外,识别模块191b从读入的第一SPD数据,获取存储器结构信息以及其它信息。
存储模块191c将存储在SPD130中的SPD数据区域131中的第一SPD数据作为第二SPD数据写入闪存ROM 19的SPD数据存储区域192a中。同时,存储模块191c将SPD数据存储标识作为第一和第二SPD数据存储标识写入到标识存储区域132和192b中。
根据第一或第二SPD数据,设置模块191d在北桥存储器控制器12a上执行使得装载于存储器模块13的RAM具有主存储器的组成元件的功能的初始设置处理。
获取模块191e读取写入到SPD数据存储区域192a中的第二SPD数据。获取模块191e从读入的第一SPD数据获取存储器结构信息。
图2显示对应于CPU能够直接存取的存储器空间190的存储器实例。即,系统BIOS 191和SPD存储区域192被分配到存储器空间190。这使得能够高速读取存储在包括于SPD存储区域192中的SPD数据存储区域192a中的第二SPD数据。
接下来,参考图3的流程图,将对存储器初始化处理的步骤进行说明。
当图1中的个人计算机的电源被打开时,系统BIOS 191执行POST(Power-On Self-Test)处理。存储器初始化处理在POST处理的开始阶段被执行。
在存储器初始化处理中,判定模块191a首先分别从标识存储区域132和192b读取第一和第二SPD数据存储标识(步骤S1)。判定模块191a比较读入的两个标识,并判定他们是否相互吻合(步骤S2)。例如,当图1中的个人计算机第一次被启动,如果第一和第二SPD数据存储标识没有被存储在标识存储区域132和192b中,判定模块192a判定两标识之间不相吻合。在之后的描述中,当存储器模块13被替换后,SPD数据存储区域192a判定两标识之间不相吻合。
现在,假设判定模块192a已经判定两标识之间不相吻合。在该种情况下,识别模块191b执行存储器识别处理(步骤S3),存储器识别处理将在后文中加以解释。首先,识别模块191b读取存储在SPD130的SPD数据区域131中的第一SPD数据。第一SPD数据利用作为输入/输出装置之一的SPD130,按照指定的协议被读取。这样,难以高速读取第一SPD数据。识别模块191b从读入的第一SPD数据获取存储器结构信息,从而识别存储器模块13的结构和类似信息。
在识别模块191b执行S3后,存储模块191c被启动。存储模块191c将通过识别模块191b从SPD130的SPD数据区域131读取的第一SPD数据作为第二SPD数据写入包括于闪存ROM19的SPD存储区域192中的SPD数据存储区域192a(步骤S4)。存储在SPD数据区域130的SPD数据区域131中的第一SPD数据作为第二SPD数据存储于闪存ROM19的SPD数据存储区域192a的状态被称为第一状态并且其它状态称为第二状态。
接下来,存储模块191c产生SPD数据存储标识并且作为第一和第二数据存储标识分别写入SPD130的标识存储区域132和闪存ROM19的标识存储区域标识存储区域192b中(步骤S5)。这里,SPD数据存储标识是基于其上装载了包括存储模块191c的191的个人计算机和安装在个人计算机中的存储器模块13的组合的唯一信息。
在通过存储模块191c执行的步骤S4和S5之后,设置模块191d被启动。设置模块191d执行用于根据之前通过识别模块191b读取的SPD数据(这里指第一SPD数据)初始化存储器控制器12a的初始设置处理(步骤S6)。通过初始设置处理,使得装载于存储器模块13的RAM作为主存储器的优化操作环境被设置于存储器控制器12a中。
在步骤S6的初始设置处理之后,存储器初始化处理完成,之后执行余下的POST处理。在POST处理完成之后,存于闪存ROM 19的系统BIOS 191被加载到主存储器的指定区域。CPU11执行加载到主存储器中的系统BIOS 191。
在该状态下,假设图1的个人计算机的电源被关闭并且之后又再次开启。在该种情况下,存储器初始化处理被启动。接着,判定模块191a分别从标识存储区域132和192b中读取第一和第二SPD数据存储标识(步骤S1)。判定模块191a判定读入的两个标识是否相互吻合。(步骤S2)。
如上所述,在图1的个人计算机中,在前次电源开启时的存储器初始化处理中,步骤S1到步骤S6已经被执行。在初始化处理中(步骤S5),第二SPD数据存储标识被写入标识存储区域192b中。因此,此时第二SPD数据存储标识被存储于标识存储区域192b中。
这里,假设从前次电源开启到这次电源开启的时间内存储器模块13没有被替换。在该种状态下,在前次电源开启时存储器初始化处理中(步骤S5)写入标识存储区域132中的第一SPD数据存储标识已经被存储于标识存储区域132中。相应的,在这次初始化处理中的步骤S2中,判定模块191a判定两数据标识是否相互吻合。在该种情况下,判定模块191a判定在前次电源开启到这次电源开启的时间内存储器模块13没有被替换。
此时,例如,如果19中没有发生非正常等类似的情况,存储于存储器模块13的SPD数据区域130中的第一SPD数据应该作为第二SPD数据被存储于闪存ROM 19的SPD数据存储区域192a中。因此,判定模块191a判定第二SPD数据是否已经被存储于闪存ROM19的SPD数据存储区域192a中(步骤S7)。
如上所述,如果在步骤S2中已经判定两个SPD数据存储标识相互吻合并且步骤S7中已经判定第二SPD数据已经被存储于闪存ROM 19的SPD数据存储区域192a中,即,如果第一状态已经被确定,获取模块191e执行存储器识别处理(步骤S8),将在后文中对存储器识别处理进行说明。首先,获取模块191e从SPD数据存储区域192a中读取第二SPD数据。这里,包括SPD数据存储区域192a的19已经被分配为CPU11能够直接进行存取的存储空间。因此,获取模块191e能够以高速率从SPD数据存储区域192a读取第二SPD数据。获取模块191e从读入的第二SPD数据获取存储器结构信息和其它信息并且识别存储器模块13的结构或者类似信息。
在获取模块191e执行S8之后,设置模块191d被启动。不同于步骤S6,设置模块191d根据通过步骤S8中获取模块191e获取的SPD数据(这里指第二SPD数据)执行步骤S6。
即使当第一和第二SPD数据存储标识分别被存储在标识存储区域132和192b中并且已经判定两个标识相互吻合时,可能出现存储在SPD数据存储区域192a中的第二SPD数据由于某种原因消失的情况。如果在SPD数据存储区域192a中丢失第二SPD数据,在步骤S7中的判决为否。在该种情况下,由于其判定两标识不相吻合,步骤S3到S6的程序被执行。
接下来,在个人计算机的电源被关闭之后,存储器模块13被另一存储器模块替换。然后,当个人计算机的电源被重新开启时,存储器初始化处理被执行。接下来将对该存储器初始化处理进行说明。以下在替换之前的存储器模块13被称为旧存储器模块13并且替换之后的存储器模块13被称为新存储器模块13。
首先,判定模块191a分别从标识存储区域132和192b中读取第一和第二SPD数据存储标识(步骤S1)。接着,判定模块191a判定两个标识是否相互吻合(步骤S2)。
当前,老存储器模块13和图1的个人计算机所独具的第二SPD数据存储标识已经通过上次电源开启时执行的存储器初始化处理被存储于标识存储区域192b中。存储于老存储器模块13的SPD数据区域130中的第一SPD数据已经作为第二SPD数据被存储于闪存ROM19的SPD数据存储区域192a。当老存储器模块13被替换时,新存储器模块13的类型一般不同于旧存储器模块13。
这里,尽管旧存储器模块13已经被新存储器模块13替代,假设在初始化处理中步骤S8被执行。在该种情况下,SPD数据不同于存储于新存储器模块13的SPD数据区域130中的SPD数据,即存储于老存储器模块13的SPD数据区域130中的SPD数据被读取。结果,将不执行适当的存储器初始化处理。在本实施例中,为了克服该问题,以下将对存储器模块是否被替换的判定进行说明。
首先,假设将替换旧存储器模块13的新存储器模块13已经提供给不同于图1的个人计算机。并且,假设第一SPD数据存储标识已经被存储于新存储器模块13的标识存储区域132中。该第一SPD数据存储标识不同于存储在老存储器模块13的标识存储区域132中第一SPD数据存储标识。因此,在当前初始化处理的步骤S2中,判定模块191a判定两个标识不相吻合。在该种情况下,判定模块191a能够判定旧存储器模块13已经被新存储器模块13替代。
接下来,假设,例如由于存储器模块13没有被使用,有效的第一SPD数据存储标识没有被存储于新存储器模块13的标识存储区域132中。同样在该种情况下,由于已经在步骤S2中判定两个标识不相吻合,判定模块191a判定旧存储器模块13已经被新存储器模块13替代。
如果已经在步骤S2中判定两个标识不相吻合,即,如果已经判定旧存储器模块13已经被新存储器模块13替代,第二状态被确定。在该种情况下,步骤S3到步骤S6的处理被执行。
如上所述,通过根据存储于被分配为CPU11能够直接进行存取的存储空间的闪存ROM 19的SPD存储区域192中的第二SPD数据而不是根据存储器模块13的SPD数据区域130中的第一SPD数据执行存储器初始化处理,存储器初始化处理能够以高速率执行。
进一步,如果旧存储器模块13已经被新存储器模块13替代,并且存储器初始化处理读取从旧存储器模块13的SPD数据区域131中读出并被存储到闪存ROM 19的SPD存储区域192中的SPD数据时,存储器初始化处理不能正确执行。然而,在本实施例中,通过参考写入存储器模块13的标识存储区域132中和闪存ROM 19的标识存储区域192b中的SPD数据存储标识,可以判定存储器模块13是否已经被替换。相应的,如果旧存储器模块13已经被新存储器模块13替代,根据存储于新存储器模块13的SPD数据区域131中的SPD数据执行存储器初始化处理。
因此,根据本实施例,虽然旧存储器模块13已经被新存储器模块13替代,可以阻止根据旧存储器模块13中的SPD数据执行存储器初始化处理。
对于本技术领域的熟练的技术人员容易实现其他的优点和修改。因此,本发明在其更广泛的各个方面不局限于本文所示和所描述的具体细节和代表性的实施例。相应地,在不背离由附后的权利要求及其等效内容限定的总体发明概念的精神和范围的情况下,可以进行各种修改。
权利要求
1.一种计算机系统,具有用于执行各种程序的CPU,其特征在于,该计算机系统包括存储器模块,包括用于构成主存储器的RAM以及用于存储表示所述存储器模块的规格的第一SPD数据的第一非易失性存储器;第二非易失性存储器,被分配为CPU能够直接存取的存储空间;第一控制单元,从所述第一非易失性存储器读取所述第一SPD数据并且将所述第一SPD数据作为第二SPD数据存储到所述第二非易失性存储器的指定区域;以及第二控制单元,当所述计算机系统的电源被打开时,执行初始设置处理,用于基于存储在所述第二非易失性存储器的指定区域内的所述第二SPD数据,使装载于所述存储器模块中的RAM起到所述主存储器的组成元件的功能。
2.根据权利要求1所述的计算机系统,其特征在于,进一步包括第三控制单元,当所述计算机系统的电源被打开时,判定存储于所述存储器模块的所述第一非易失性存储器中的第一SPD数据是否和存储于所述第二非易失性存储器的指定区域中的所述第二SPD数据相吻合,其中,如果所述第一SPD数据和所述第二SPD数据不相吻合,所述第二控制单元基于所述第一SPD数据执行所述初始设置处理。
3.根据权利要求1所述的计算机系统,其特征在于,进一步包括第三控制单元,当所述计算机系统的电源被打开时,判定存储于所述存储器模块的所述第一非易失性存储器中的所述第一SPD数据是否作为所述第二SPD数据被存储到所述第二非易失性存储器中,其中,在所述存储于所述第一非易失性存储器中的所述第一SPD数据已经作为所述第二SPD数据被存储到所述第二非易失性存储器中的第一状态下,所述第二控制单元基于所述第二SPD数据执行所述初始设置处理,并且在存储于所述第一非易失性存储器中的所述第一SPD数据没有作为第二SPD数据被存储到所述第二非易失性存储器中的第二状态下,所述第二控制单元基于所述第一SPD数据执行所述初始设置处理,并且如果满足所述第二状态,所述第一控制单元将存储于所述第一非易失性存储器中的所述第一SPD数据作为所述第二SPD数据存储到所述第二非易失性存储器中的指定区域中。
4.根据权利要求3所述的计算机系统,其特征在于,当将存储于所述存储器模块的所述第一非易失性存储器中的所述第一SPD数据作为所述第二SPD数据存储到所述第二非易失性存储器中的所述指定区域中时,所述第一控制单元将相同的标识信息存储到所述第一和第二非易失性存储器中每一个的指定区域,并且当所述计算机系统的电源被打开时,所述第三控制单元比较分别存储于所述第一和第二非易失性存储器中的第一标识信息和第二标识信息,并且如果所述第一标识信息和所述第二标识信息相互吻合并且所述第二SPD数据已经被存储到所述第二非易失性存储器中时,判定为所述第一状态,而如果两个标识信息不相吻合或者所述第二SPD数据没有被存储到所述第二非易失性存储器中时,判定为所述第二状态。
5.根据权利要求4所述的计算机系统,其特征在于,所述标识信息是所述计算机系统和所述存储器模块的组合所具有的独一无二的信息。
6.根据权利要求3所述的计算机系统,其特征在于,所述第二非易失性存储器存储CPU可以执行的、包括第一控制单元,第二控制单元和第三控制单元的BIOS。
7.一种初始化存储器的方法,该方法应用于具有执行各种程序的CPU,包括用于构成主存储器的RAM和用于存储表示存储器模块的规格的第一SPD数据的非易失性存储器的存储器模块,被分配为CPU能够直接存取的存储空间的第二非易失性存储器的计算机系统,其特征在于,所述方法包括将从所述第一非易失性存储器中读取的所述第一SPD数据作为第二SPD数据存储到所述第二非易失性存储器的指定区域中;以及当所述计算机系统的电源被打开时,执行初始设置处理,用于基于存储于所述第二非易失性存储器的指定区域中的所述第二SPD数据,使包括于所述存储器模块中的RAM起到所述主存储器的组成元件的功能。
8.根据权利要求7所述的方法,其特征在于,进一步包括当所述计算机系统的电源被打开时,判定存储于所述第一非易失性存储器中的所述第一SPD数据是否已经作为所述第二SPD数据存储到所述第二非易失性存储器中,其中,当存储于第一非易失性存储器中的第一SPD数据没有作为第二SPD数据存储到第二非易失性存储器中时,所述执行设置的处理的步骤是基于所述第一SPD数据执行所述初始设置处理。
全文摘要
在存储器模块(13)中,设置了用于组成主存储器的RAM和用于存储第一SPD数据的SPD(130)。闪存ROM(19)被分配为CPU(11)能够直接进行存取的存储空间。存储模块(191c)从SPD(130)读取第一SPD数据并且将第一SPD数据作为第二SPD数据存储到闪存ROM(19)的SPD存储区域(192)中。当个人计算机的电源被打开时,设置模块(191d)根据存储于SPD存储区域(192)中的SPD数据执行使得RAM具有作为主存储器的组成元件的功能的初始设置处理。
文档编号G06F9/445GK1959638SQ20061013964
公开日2007年5月9日 申请日期2006年9月20日 优先权日2005年10月31日
发明者井上雅之, 真田俊孝 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1