动态随机存取存储器初始化设定方法

文档序号:6753707阅读:178来源:国知局
专利名称:动态随机存取存储器初始化设定方法
技术领域
本发明有关于一种动态随机存取存储器(DRAM)初始化设定方法,特别是有关于一种用以初始化多个具有不同硬件信息的动态随机存取存储器的设定方法。
背景技术
计算机系统的主要组件包括中央处理器(CPU)、芯片组(Chipset)、存储器控制器(Memory Controller)以及总线(bus)。中央处理器用以处理大部分的计算机工作。芯片组(Chipset)支持中央处理器的运作。通常芯片组内包括数个控制器以调节处理器及系统其它部分间数据的传输。存储器控制器(Memory Controller)是芯片组的一部分,负责建立存储器与中央处理器之间的信息传输。总线(bus)是计算机中的数据通路,包括了连接中央处理器、存储器以及所有输入/输出设备的数种并行电路线。总线的设计,或称总线结构,用以决定数据在主机板速度,依照各部分所需要的传输速度的不同,一个系统中也有不同种类的总线。存储器总线连接存储器控制器与计算机的存储器插槽。
当系统开机时,必须执行存储器初始化(initiallzation)的操作。当存储器控制器与多个的存储器耦接时,则必须针对存储器的操作频率(operating frequency)以及对存储器上某一行(rank)下达要求所需要的存取等待时间(CAS latency,CL)执行统一的设定,特别当存储器具不同的额定硬件信息时。当存储器控制器正确的设定适合各存储器的操作设定时,才能让所有存储器皆正常且稳定的运作。若存储器的操作设定错误,则会造成系统不稳,甚至无法顺利完成开机操作,或发生无法检测到设定错误存储器的问题。
传统技术经由读取各存储器专属的串行存在检查码(Serial PresenceDetect,SPD)来得知各存储器适合操作的参数。串行存在检查码(SPD)为记录于存储器(DIMM module)的EEPROM内的代码,经由基本输入输出系统(BIOS)直接读取SPD,无须再执行检测的操作,即可取得初始存储器所需的相关信息。
以存储器控制器控制两存储芯片,而存储芯片为DDR(Double DataRate-Synchronous,DRAM)存储芯片为例,另外,假设第一存储芯片的可操作频率为400MHz、333MHz以及266MHz,而CL可为3时钟周期、2.5时钟周期以及2时钟周期。第二存储芯片的可操作频率为400MHz,而CL为2.5时钟周期。当BIOS读取到第一存储芯片以及第二存储芯片的SPD,即可根据SPD的信息而设定两存储芯片的操作频率为333MHz,而CL为2.5时钟周期,故得到最佳的存储器存取容量及效率。
然而,当两存储芯片并无共同可使用的操作频率或存取等待时间,传统技术并无法成功同时初始化所有存储芯片。再者,若存储芯片的SPD与其硬件并不相符,而BIOS仍根据错误的SPD信息来设定存储芯片的操作参数,同样会造成存储器初始化失败。

发明内容
因此,为了解决上述问题,本发明主要目的在于提供一种动态随机存取存储器初始化设定方法,能够确保与存储器控制器耦接的存储芯片皆能顺利运作,并具有最佳的操作效能。
为实现上述的目的,本发明提出一种动态随机存取存储器初始化设定方法,适用于多个动态随机存取存储器。首先,根据预定起始参数初始化动态随机存取存储器,检测动态随机存取存储器的个数,得到第一个数。根据动态随机存取存储器的硬件信息而设定最佳化起始参数,根据最佳化起始参数重新初始化动态随机存取存储器。检测动态随机存取存储器的个数,得到第二个数。若第二个数少于第一个数,则改变初始化动态随机存取存储器的起始参数。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举一较佳实施例,并配合附图,详细说明如下。


图1表示计算机系统的结构图。
图2表示根据本发明实施例所述的动态随机存取存储器初始化设定方法的操作流程图。
符号说明10~计算机系统12~处理器14~高速存储器16~存储器控制器17~I/O芯片组18A-18D~I/O接口19~总线20A、20B~存储器具体实施方式
参阅图1,图1表示计算机系统的结构图。计算机系统10包括处理器12、高速存储器14(cache memory)、存储器控制器16、I/O芯片组17以及I/O接口(18A~18D),并经由总线19耦接上述装置。存储器控制器16耦接于存储器20A与20B。一般而言,存储器20A与20B分别插在两双重内嵌式存储模块(Dual In-line Memory Modules,DIMM)。
如上所述,当系统开机时,必须执行存储器初始化(initialization)的操作。当存储器控制器与多个的存储器耦接时,必须针对存储器的操作时脉(operating frequency)以及对存储器上某一行下达要求所需要的存取等待时间(CAS latency,CL)执行统合的设定。
图2表示根据本发明实施例所述的动态随机存取存储器初始化设定方法的操作流程图。在此,存储器控制器控制具有不同的硬件信息的多个动态随机存取存储器。上述硬件信息包含各动态随机存取存储器可操作的操作频率以及对于行地址控制器的存取等待时间。必须注意的是,动态随机存取存储器的硬件信息可经由读取各存储器专属的串行存在检查码而得,或为动态随机存取存储器实际的执行参数。在本实施例中,以两动态随机存取存储器皆为DDR(Double Data Rate-Synchronous DRAM)存储芯片为例,然而,在实际应用上,两动态随机存取存储器可为其它类型的同类型动态随机存取存储器,例如SDRAM、EDO DRAM或RDRAM,亦可由不同类型的存储器组合而成,但必须具有相同的操作机制。
首先,系统开机时,先设定一预定起始参数(S1),此参数于稍后步骤用以初始化多个动态随机存取存储器。根据本发明一实施例,预定起始参数的设定根据使用的动态随机存取存储器的共同允许操作的额定最低操作频率或额定最大存取等待时间。例如,目前一般动态随机存取存储器的合格出厂规格为至少支持操作频率为200MHz以及存取等待时间为2.5时钟周期,若以上述参数先行初始化使用的动态随机存取存储器,则可确保所有动态随机存取存储器皆能顺利操作。
接下来,根据上述预定起始参数来初始化多个动态随机存取存储器(S2)。初始化上述动态随机存取存储器的操作至少包括设定动态随机存取存储器的操作频率以及行地址控制器的存取等待时间CL。
接下来,检测动态随机存取存储器的个数,得到一第一个数(S3)。由于步骤S2以设置动态随机存取存储器的插槽所支持的最低操作效能来设定动态随机存取存储器,因此可检测到所有的动态随机存取存储器。另外,动态随机存取存储器的个数经由存取动态随机存取存储器,并根据存取结果而得。
接下来,根据动态随机存取存储器的硬件信息而设定一最佳化起始参数(S4)。在此,动态随机存取存储器的信息可根据预存于各动态随机存取存储器的一只读存储器的串行存在检查码(Serial Presence Detect)而得。再者,最佳化参数为多个动态随机存取存储器的共同允许操作的理想最高操作频率或理想最小存取等待时间。例如,第一动态随机存取存储器的可操作频率为400MHz、333MHz以及266MHz,而CL可为3时钟周期、2.5时钟周期以及2时钟周期。第二动态随机存取存储器的可操作频率为400MHz、333MHz,而CL为2.5时钟周期。当BIOS读取到第一动态随机存取存储器以及第二动态随机存取存储器的SPD,即可根据两动态随机存取存储器的SPD信息,取其可操作参数的集,则得到第一动态随机存取存储器以及第二动态随机存取存储器的共同可操作参数为操作频率为400MHz或333MHz,以及CL为2.5时钟周期,选择可使第一动态随机存取存储器以及第二动态随机存取存储器同时操作于较佳效率的参数为动态随机存取存储器的操作频率为333MHz,而CL为2.5时钟周期,此即为使两动态随机存取存储器共同操作的最佳存储器存取容量与效率。然而,根据本发明另一实施例,上述最佳化参数也可由系统自行设定,设计的依据可根据硬件的特性或设计者的经验。
接下来,根据最佳化起始参数重新初始化动态随机存取存储器(S5),此步骤的步骤与步骤S2相同,而差异仅在于设定存储器的参数不同。接下来,检测动态随机存取存储器的个数,得到一第二个数(S6)。同样的,动态随机存取存储器的个数经由存取动态随机存取存储器,并根据存取结果而得。接下来,比较所测得的第二个数与第一个数(S7)。若此时所有动态随机存取存储器皆能成功存取,则所检测到的第二个数将会与第一个数相同。因此,代表多个动态随机存取存储器皆能操作于最佳化起始参数的设定,故动态随机存取存储器初始化设定成功,离开存储器初始化设定程序。若第二个数小于第一个数,代表此时动态随机存取存储器所设定的起始参数并不适合所有的动态随机存取存储器,因而导致部分动态随机存取存储器读取不到而造成检测到的动态随机存取存储器个数减少。
因此,改变初始化动态随机存取存储器的起始参数(S8)。此时所设定的起始参数使动态随机存取存储器的操作效能位于预定起始参数与最佳化起始参数之间。例如,此时动态随机存取存储器的操作频率位于对应于预定起始参数的额定最低操作频率以及对应于最佳化起始参数的理想最高操作频率之间,或者是其存取等待时间位于额定最大存取等待时间以及理想最小存取等待时间之间。亦即,降低动态随机存取存储器的操作频率或增加其存取等待时间。必须注意的是,根据本发明实施例,在步骤S8中,动态随机存取存储器初始参数的调整依据可根据各动态随机存取存储器的SPD内容或直接由系统指定所调整的参数。
接下来,根据改变的起始参数重新初始化动态随机存取存储器(S9),并回到步骤S6,检测动态随机存取存储器的个数。如此反复执行,直到第二个数与第一个数相同为止。另外,根据本发明一实施例,当动态随机存取存储器的操作频率降低至额定最低操作频率时,则以额定最低操作频率初始化上述动态随机存取存储器,而当动态随机存取存储器的存取等待时间增加至上述额定最大存取等待时间时,则以额定最大存取等待时间初始化上述动态随机存取存储器。
综上所述,根据本发明实施例所述的动态随机存取存储器初始化设定方法,能够确保所有存储器皆能顺利运作,因此可兼顾存储器的兼容性以及最佳的操作效能。
综上所述,虽然本发明已以一较佳实施例公开如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围的情况下,可进行各种更动与修改,因此本发明的保护范围当视所提出的权利要求限定的范围为准。
权利要求
1.一种动态随机存取存储器初始化设定方法,适用于多个动态随机存取存储器,包括下列步骤根据一预定起始参数初始化所述动态随机存取存储器;检测所述动态随机存取存储器的个数,得到一第一个数;根据所述动态随机存取存储器的硬件信息而设定一最佳化起始参数;根据所述最佳化起始参数重新初始化所述动态随机存取存储器;检测所述动态随机存取存储器的个数,得到一第二个数;以及若所述第二个数少于所述第一个数,则改变初始化所述动态随机存取存储器的起始参数。
2.如权利要求1所述的动态随机存取存储器初始化设定方法,其中初始化所述动态随机存取存储器的操作包括设定所述动态随机存取存储器的操作频率以及行地址控制器的存取等待时间中的至少一者。
3.如权利要求2所述的动态随机存取存储器初始化设定方法,其中所述预定起始参数为所述多个动态随机存取存储器的共同允许操作的额定最低操作频率或额定最大存取等待时间中的至少一者。
4.如权利要求3所述的动态随机存取存储器初始化设定方法,其中所述最佳化参数为所述多个动态随机存取存储器的共同允许操作的理想最高操作频率或理想最小存取等待时间中的至少一者。
5.如权利要求4所述的动态随机存取存储器初始化设定方法,其中当所述第二个数少于所述第一个数时,则以位于所述多个动态随机存取存储器的共同允许操作的额定最低操作频率以及理想最高操作频率之间的操作频率或位于所述多个动态随机存取存储器的共同允许操作的额定最大存取等待时间以及理想最小存取等待时间之间的存取等待时间中的至少一者初始化所述动态随机存取存储器。
6.如权利要求5所述的动态随机存取存储器初始化设定方法,还包括下列步骤当改变初始化所述动态随机存取存储器的起始参数后,检测所述动态随机存取存储器的个数,得到一第三个数;以及若所述第三个数少于所述第一个数,则降低初始化所述动态随机存取存储器的操作频率或增加初始化所述动态随机存取存储器的存取等待时间。
7.如权利要求6所述的动态随机存取存储器初始化设定方法,其中当所述动态随机存取存储器的操作频率降低至所述额定最低操作频率时,则以所述额定最低操作频率初始化所述动态随机存取存储器。
8.如权利要求6所述的动态随机存取存储器初始化设定方法,其中当所述动态随机存取存储器的存取等待时间增加至所述额定最大存取等待时间时,则以所述额定最大存取等待时间初始化所述动态随机存取存储器。
9.如权利要求1所述的动态随机存取存储器初始化设定方法,其中所述动态随机存取存储器的信息根据预存于各动态随机存取存储器的一只读存储器的串行存在检查码(Serial Presence Detect)而得。
10.如权利要求9所述的动态随机存取存储器初始化设定方法,其中所述最佳化参数根据各动态随机存取存储器的所述串行存在检查码而设定。
11.如权利要求1所述的动态随机存取存储器初始化设定方法,其中所述多个动态随机存取存储器具有不同的硬件信息。
12.如权利要求11所述的动态随机存取存储器初始化设定方法,其中所述硬件信息包含多个可操作的操作频率以及行地址控制器的存取等待时间。
全文摘要
一种动态随机存取存储器初始化设定方法,适用于多个动态随机存取存储器。首先,根据预定起始参数初始化动态随机存取存储器,检测动态随机存取存储器的个数,得到第一个数。根据动态随机存取存储器的硬件信息而设定最佳化起始参数,根据最佳化起始参数重新初始化动态随机存取存储器。检测动态随机存取存储器的个数,得到第二个数。若第二个数少于第一个数,则改变初始化动态随机存取存储器的起始参数。
文档编号G11C11/407GK1588325SQ200410082578
公开日2005年3月2日 申请日期2004年9月21日 优先权日2004年9月21日
发明者朱修明, 何宽瑞, 吴宗哲 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1