内存调整结果检测方法及其计算机系统的制作方法

文档序号:6466850阅读:257来源:国知局
专利名称:内存调整结果检测方法及其计算机系统的制作方法
技术领域
本发明涉及一种计算机系统中的内存控制方法,且特别涉及一种内存调
整(training)结果检测方法及其计算机系统。
背景技术
一般来说,计算机系统的主板上会有一内存控制器(memory controller), 此内存控制器可设计于北桥芯片(north-bridge chip)或者中央处理器(CPU)之 内。而内存模块,例如双内置内存模块(dual in-line memory module,简称 DIMM),则可插入(plug)于主板上的内存模块插槽,例如DIMM插槽。因此, 内存控制器即可和内存模块进行数据的传递。
再者,内存控制器以及内存插槽都是焊接(soldered)于主板上,而内存控 制器以及内存插槽之间会有金属线(metal traces)连接。另外,内存模块也有 一子板(daughter board),子板的一边有金手指(gold fmgers)可插入于内存模块 插槽。而子板上还焊接多个随机存取内存芯片(以下简称DRAM芯片),DRAM 芯片以及金手指之间会有金属线连接。
当内存控制器发出写入指令(write command)时,数据可从内存控制器传 送至DRAM芯片并存储。而当内存控制器发出读取指令(read command)时, 数据可从DRAM芯片传送至内存控制器,并传递至CPU进行处理。
以双倍数据速率(double data rate,以下简称DDR)内存模块或者双倍数 据速率双内置内存模块(DDR DIMM)为例, 一个DDR交易(DDR transaction) 包括以下的步骤
首先,内存控制器由指令线(command lines)以及地址线(address lines)送 出指令。而于下一个指令频率(command clock)时,所有DDR内存模块会由 指令线以及地址线上读取此指令,并且决定与此指令相关的DDR内存模块。 接着,此DDR内存模块中的所有DRAM芯片即根据指令来准备存储或读取 数据。
接着,当指令为读取指令时,特定的一 DDR内存模块上的所有DRAM 芯片会开始驱动数据串行信号(简称DQ信号)与数据触发(strobe)信号(简称 DQS信号)。或者,当指令为写入指令时,DQ信号与DQS信号则由内存控 制器所驱动。之后,DQ信号与DQS信号即可开始操作(toggling)。 一般来说, 假设一个内存模块中有八个DRAM芯片,则会有64条DQ信号以及8条DQS 信号,而DQ信号是传递数据,DQS信号是传递数据频率(dataclock)。
请参照图1A与图1B,其所示为DDR内存模块上的信号。 一般来说, 内存控制器300可控制四个DDR内存模块。为了解释方便,图1A与图1B 中仅示出二个DDR内存模块IOO、 200。其中,图1A所示为内存控制器300 输出的四个指令频率(CMDCLK0-3)、四个芯片选择信号(chip select signal, CS0 3)、指令信号、地址信号。由图中可知,第一DDR内存模块100中包 括8个DRAM芯片101-108、一缓存器(register)120;第二 DDR内存模块200 中包括8个DRAM芯片201-208、 一缓存器(register)220。再者,二个DDR 内存模块100、 200插入第一与第二个内存插槽150、 250。而内存控制器300 产生的指令信号与地址信号,例如,地址信号(A0 A13)、行地址触发信号(row address strobe,简称RAS信号)、列地址触发信号(column address strobe,简 称CAS信号)、写入使能信号(write enable,简称WE信号),会传递至所有的 DDR内存模块100、 200的缓存器120、 220。
再者,内存控制器300可输出四组指令频率信号(CMDCLK0 3)以及四 芯片选择信号(CS0 CS4)至个别的DDR内存模块100、 200的缓存器120、 220。也就是说,利用图1A所示的信号即可得知第一DDR内存模块100中 的DRAM芯片101-108或者第二 DDR内存模块200中的DRAM芯片 201 208需要读取数据或者写入数据的地址。
请参照图1B,其所示为DDR内存模块上的DQ信号与DQS信号。由 图1B可知,第一DDR内存模块100中有8个DRAM芯片101 108;第二 DDR内存模块200中有8个DRAM芯片201-208,每一个芯片需要8条DQ 信号搭配1条DQS信号,而8条DQ信号又称为位信道(byte lane)。也就是 说, 一个位信道所传递的数据速度是由相对应的1条DQS信号来控制。
因此,如图IB所示,第一 DDR内存模块100与第二 DDR内存模块200 中的第一 DRAM芯片101、 201连接至DQ0 DQ7信号以及DQS0信号;第
一 DDR内存模块100与第二 DDR内存模块200中的第二 DRAM芯片102、 202连接至DQ8 DQ15信号以及DQS1信号;第一 DDR内存模块100与第
二 DDR内存模块200中的第三DRAM芯片103、 203连接至DQ16 DQ23 信号以及DQS2信号;第一 DDR内存模块100与第二 DDR内存模块200中 的第四DRAM芯片104、 204连接至DQ24 DQ31信号以及DQS3信号;第
一 DDR内存模块100与第二 DDR内存模块200中的第五DRAM芯片105、 205连接至DQ32 DQ39信号以及DQS4信号;第一 DDR内存模块100与第
二 DDR内存模块200中的第六DRAM芯片106、 206连接至DQ40 DQ47 信号以及DQS5信号;第一 DDR内存模块100与第二 DDR内存模块200中 的第七DRAM芯片107、 207连接至DQ48 DQ55信号以及DQS6信号;以 及,第一 DDR内存模块100与第二 DDR内存模块200中的第七DRAM芯 片107、 207连接至DQ56 DQ63信号以及DQS7信号。
也就是说,当指令为读取第一 DDR内存模块100时,第一 DDR内存模 块100上的8个DRAM芯片101~108会开始驱动DQO-63信号与DQS0-7信 号。或者,当指令为写入第一 DDR内存模块100时,DQO-63信号与DQSO-7 信号则由内存控制器300所驱动。之后,DQO-63信号与DQS0-7信号即可开 始操作(toggling)。
请参照图2A,其所示为传输端上DQ信号与DQS信号之间的关系。根 据DDR内存的规格,当数据在传递时,DQ信号以及DQS信号必须相互对 齐(align)。以DQ0 DQ7信号以及DQS0信号为例,DQ0 DQ7的数据必须对 齐DQSO的上升缘(rising edge)以及下降缘(falling edge)。也就是说,于读取 指令时,所有的DRAM芯片可视为传输端(transiver)并输出DQ信号与DQS 信号而内存控制器可视为接收端(receiver)并接收DQ信号与DQS信号;反之, 于写入指令时,内存控制器可视为传输端并输出DQ信号与DQS信号而所 有的DRAM芯片可视为接收端并接收DQ信号与DQS信号。而传输端输出 的DQ信号与DQS信号必须相互对齐。
众所周知,市面上的内存模块厂商非常的众多,而使用者可以任意购买 不同厂商的内存模块插在相同的计算机系统中。而不同厂商所制造出来的内 存模块除了 DRAM芯片的差异之外,子板的布线(layout)也是不相同。所以, 每一个信号的传递延迟(propagation delay)会不相同,因而造成数据无法正确
的写入DRAM芯片或者无法正确的由DRAM芯片读出。
请参照图2B,其所示为接收端上DQ信号与DQS信号之间的关系。也 即,当DQ0 7信号与DQS0信号传递至接收端时,通常会造成DQ0 7信号 与DQSO信号无法对齐。由图2B可知,DQ6信号传递延迟很严重,有可能 造成DQ6上的数据无法正确的写入DRAM芯片或者无法正确的由DRAM芯 片读出,因而造成内存模块无法正常动作。
再者,当计算机系统的设计人员在研发主板的过程,为了要让不同的内 存模块皆能够顺利地进行读取与写入。设计人员必须购买各种不同厂商的内 存模块并且插于内存模块插槽上,之后,测试所有的内存模块。由于不同的 内存模块的子板设计不同、DRAM芯片差异以及速度差异,因此会造成某些 内存模块无法顺利读取或者写入。
为了解决上述问题,设计人员必须于主板上的内存插槽上将所有的信号 线连接至示波器上,并且于测试内存模块的过程中观看所有的信号品质。举 例来说,假设执行写入或者读取命令时产生DQ6信号失败(也就是DQ6的数 据无法读取或写入),此时,设计人员就必须分析DQ6信号以及DQS0信号 之间的关系。通常,会发生失败的原因皆在于DQ6信号与DQS0信号无法 对齐,并且情况严重以至于内存控制器或者DRAM芯片无法准确的读取DQ6 上的数据。也就是说,己知计算机系统的设计人员仅能够由示波器上观察到 的现象来寻找DQ6信号与DQSO信号之间的关系,并且设法排除问题。
然而,当内存模块的种类很多时,测试内存模块并且排除问题将会变成 繁重的工作,除了没有效率之外还会延迟主板出货的时间。

发明内容
有鉴于此,本发明的目的在于提供一种内存调整结果检测方法及其计算 机系统,以改善现有技术的缺陷。
本发明提出一种计算机系统中内存调整结果检测方法,包括下列步骤
将计算机系统开机;执行计算机系统中一基本输入输出系统的一内存调整程 序;以及,执行此内存调整程序后,将获得的多个读取时间参数与多个写入 时间参数写入一非易失性存储器。
本发明还提出一种记录内存调整结果的计算机系统,包括 一中央处理器; 一内存,包括一内存模块; 一芯片组,连接至内存与中央处理器,其中 一内存控制器整合于芯片组中; 一基本输入输出系统,连接至芯片组,并具 有一内存调整程序;以及, 一非易失性存储器,连接至芯片组;其中,于计 算机系统开机的过程,中央处理器执行内存调整程序,并将获得的多个读取 时间参数与多个写入时间参数写入至非易失性存储器。
本发明还提出一种记录内存调整结果的计算机系统,包括 一中央处理 器,整合一内存控制器; 一内存,连接至中央处理器,且内存包括一内存模 块; 一芯片组,连接至中央处理器; 一基本输入输出系统,连接至芯片组, 并具有一内存调整程序;以及, 一非易失性存储器,连接至芯片组;其中, 于计算机系统开机的过程,中央处理器可执行内存调整程序,并将获得的多 个读取时间参数与多个写入时间参数写入至非易失性存储器。
本发明的优点在于计算机开机并执行BIOS的过程,将获得的多个读取 时间参数与多个写入时间参数写入非易失性存储器。
为了能更进一步了解本发明特征及技术内容,请参阅以下有关本发明的 详细说明与附图,然而附图仅提供参考与说明,并非用来对本发明加以限制。


图1A与图1B所示为DDR内存模块上的信号。
图2A所示为传输端上DQ信号与DQS信号之间的关系。
图2B所示为接收端上DQ信号与DQS信号之间的关系。
图3所示为读取DQ信号调整程序与读取DQS信号调整程序。
图4A所示为本发明可记录内存调整结果的计算机系统的第一实施例。
图4B所示为本发明可记录内存调整结果的计算机系统的第二实施例。
图5所示为本发明计算机系统中内存调整结果检测方法流程图。
具体实施例方式
一般来说,计算机系统的设计者会在基本输入输出系统(以下简称BIOS) 中设计一内存调整程序(memory training codes)。于计算机系统初始化的过程 中,CPU会执行BIOS中的内存调整程序,并于内存调整程序执行完毕之后, 内存模块即可以成功的写入与读取。
所谓的内存调整程序,即在于利用内存控制器来控制DQ信号与DQS 信号各别的时间延迟达成接收端上的DQ信号与DQS信号对齐。因此,内 存调整程序可进行写入DQ信号调整程序(write DQ)、写入DQS信号调整程 序(writeDQS)、读取DQ信号调整程序(read DQ)、读取DQS信号调整程序 (read DQS)。
由于DRAM芯片输出DQS信号以及DQ信号时会对齐,因此,传递至 内存控制器时DQS信号以及DQ信号并不会对齐。而所谓的读取DQ信号调 整程序与读取DQS信号调整程序,即是在读取时内存控制器可以各别地调 整接收到的DQS信号以及DQ信号的时间,使得DQS与所有的DQ信号对 齐,并使得DQ信号皆可被顺利读出。
所谓写入DQ信号调整程序与写入DQS信号调整程序,即是在写入内存 模块时,内存控制器可以各别地控制DQS信号以及DQ信号的时间,使得 DQS信号以及DQ信号到达DRAM片时可以达成DQS信号以及DQ信号对 齐。也就是说,内存控制器个别地控制DQS信号以及DQ信号之间的信号 关系,使得输出DQS信号以及DQ信号时不会对齐,但是DQS信号以及DQ 信号到达DRAM芯片时可以达成DQS信号以及DQ信号对齐。
请参照图3,其所示为读取DQ信号调整程序与读取DQS信号调整程序。 当DQ0~8信号与DQSO信号传递至内存控制器时,DQ0~8信号与DQSO信 号之间无法对齐。此时,内存调整程序可调整DQ0 8信号与DQS0信号之 间的关系,达成DQ0 8信号与DQS0信号对齐。由图3可知,DQ6信号延 迟最严重,因可以设定AtQDQ6为0,并且其它的信号可根据DQ6来进行延 迟。因此,DQS0信号与DQ6信号之间的时间差为AtQdqsq,而内存调整程 序可将DQSO信号延迟A1Qdqso的时间;DQO信号与DQ6信号之间的时间差 为AtQDQ。,而内存调整程序可将DQO信号延迟AtQDQo的时间;DQ1信号与 DQ6信号之间的时间差为AtQDQ1 ,而内存调整程序可将DQ1信号延迟AtQDQ1 的时间;DQ2信号与DQ6信号之间的时间差为AtQDQ2,而内存调整程序可 将DQ2信号延迟AtQDQ2的时间;DQ3信号与DQ6信号之间的时间差为 △tQDQ3,而内存调整程序可将DQ3信号延迟AAtQDQ3的时间;DQ4信号与 DQ6信号之间的时间差为AtQdq4,而内存调整程序可将DQ4信号延迟AtQDQ4 的时间;DQ5信号与DQ6信号之间的时间差为AtQD(25,而内存调整程序可
将DQ5信号延迟AtQDQ5的时间;以及,DQ7信号与DQ6信号之间的时间差 为AtQDQ7,而内存调整程序可将DQ7信号延迟AtQDQ7的时间。
也就是说,利用上述读取DQ信号调整程序与读取DQS信号调整程序后 可得到多个读取时间参数(AtQDQs。、 AtQDQo AtQoQ7)。利用相同的方式,于写 入DQ信号调整程序与写入DQS信号调整程序后可得到多个写入时间参数。 而当多个读取时间参数与多个写入时间参数成功设定完成时,内存模块即可 完成初始化(initial)并可顺利的读取或者写入数据。反之,当上述多个读取时 间参数与多个写入时间参数无法成功设定完成时,内存模块初始化(initial)失 败并且无法读取或者写入数据。
根据本发明的实施例,于CPU会执行BIOS中的内存调整程序时,无论 内存模块是否被初始化成功,CPU将多个读取时间参数与多个写入时间参数 存储于一非易失性存储器中,例如闪存,而计算机系统设计者即可根据存储 的多个读取时间参数与多个写入时间参数来得知所有信号之间的时间关系, 并利用这些关系来进行判断。因此可以解决已知必须利用示波器才能够得知 所有信号之间的时间关系。
请参考图4A,其所示为本发明可记录内存调整结果的计算机系统的第 一实施例。计算机系统具有一中央处理器(CPU)500、 一芯片组(chipset)505、 —BIOS 508、 一非易失性存储器506、与一内存510。其中, 一芯片组505 包括一北桥芯片(north bridge chip)502、 一南桥芯片(south bridge chip)504,而 北桥芯片502连接至内存510、中央处理器500、与南桥芯片504;南桥芯片 504连接至北桥芯片502、 BIOS 508与非易失性存储器506。而图4A中的内 存510包括至少一个内存模块,且BIOS 508中有一内存调整程序509,而内 存控制器503整合于芯片组505的北桥芯片502内。
请参考图4B,其所示为本发明可记录内存调整结果的计算机系统的第二 实施例。计算机系统具有一中央处理器(CPU)550、一芯片组555、一BIOS 558、 一非易失性存储器556、与一内存560。其中, 一芯片组555包括一北桥芯 片552、 一南桥芯片554,而中央处理器550连接至内存560;北桥芯片552 连接至中央处理器550与南桥芯片554;南桥芯片554连接至北桥芯片552、 BIOS 558与非易失性存储器556。而图4B中的内存560包括至少一个内存
模块,且BIOS 558中有一内存调整程序559,而内存控制器551整合于中央 处理器550内。
于计算机系统开机的过程,中央处理器500于执行BIOS 508中的内存
调整程序时,将调整内存模块所获得的多个读取时间参数与多个写入时间参 数写入至非易失性存储器中。因此,计算机系统设计者即可根据存储的多个
读取时间参数与多个写入时间参数来进行判断。再者,许多专业计算机玩家 (poweruser)皆会将内存模块进行超频,而利用本发明,专业计算机玩家也可 以在内存模块进行超频并重新开机后,利用非易失性存储器内存储的多个读 取时间参数与多个写入时间参数,来可得知内存模块是否被初始化成功以及 内存模块内所有信号之间的关系。
请参考图5,其所示为本发明计算机系统中内存调整结果检测方法流程 图。首先,于计算机系统开机时,如步骤S1,执行BIOS中的内存调整程序, 如步骤S2。之后,将获得的多个读取时间参数与多个写入时间参数写入非易 失性存储器,如步骤S3。因此,根据非易失性存储器内存储的多个读取时间 参数与多个写入时间参数即可得知所有信号之间的关系并可进行判断。
因此,本发明的优点在于计算机开机并执行BIOS的过程,将获得的多
个读取时间参数与多个写入时间参数写入非易失性存储器。而根据多个读取 时间参数与多个写入时间参数即可判断所有信号之间的关系。
再者,上述的内存模块可运用于DDR内存模块,例如,双倍数据速率 双内置内存模块(DDR DIMM)。
综上所述,虽然本发明已以较佳实施例公开如上,然而其并非用以限定 本发明,任何本领域普通技术人员,在不脱离本发明的精神和范围内,当可 作各种更动与润饰,因此本发明的保护范围当视权利要求书所界定的范围为 准。
权利要求
1.一种内存调整结果检测方法,其特征是,包括下列步骤将计算机系统开机;执行上述计算机系统中基本输入输出系统的内存调整程序;以及执行上述内存调整程序后,将获得的多个读取时间参数与多个写入时间参数写入非易失性存储器。
2. 根据权利要求1所述的方法,其特征是,其中上述非易失性存储器为 闪存。
3. 根据权利要求1所述的方法,其特征是,其中上述内存调整程序中包 括读取DQ信号调整程序与读取DQS信号调整程序,用以获得上述这些读 取时间参数。
4. 根据权利要求1所述的方法,其特征是,其中上述内存调整程序中包 括写入DQ信号调整程序与写入DQS信号调整程序,用以获得上述这些写 入时间参数。
5. —种记录内存调整结果的计算机系统,其特征是,包括 中央处理器;内存,包括内存模块;芯片组,连接至上述内存与上述中央处理器,其中内存控制器整合于上 述芯片组中;基本输入输出系统,连接至上述芯片组,并具有内存调整程序;以及 非易失性存储器,连接至上述芯片组;其中,于上述计算机系统开机的过程,上述中央处理器执行上述内存调 整程序,并将获得的多个读取时间参数与多个写入时间参数写入至上述非易 失性存储器。
6. 根据权利要求5所述的计算机系统,其特征是,其中上述非易失性存 储器为闪存。
7. 根据权利要求5所述的计算机系统,其特征是,其中上述内存调整程 序为进行读取DQ信号调整程序与读取DQS信号调整程序,用以获得上述 内存中的上述这些读取时间参数。
8. 根据权利要求5所述的计算机系统,其特征是,其中上述内存调整程序为进行写入DQ信号调整与写入DQS信号调整,用以获得上述内存中的 上述这些写入时间参数。
9. 根据权利要求5所述的计算机系统,其特征是,其中上述内存模块为 双倍数据速率内存模块。
10. —种记录内存调整结果的计算机系统,其特征是,包括 中央处理器,整合内存控制器;内存,连接至上述中央处理器,且上述内存包括内存模块; 芯片组,连接至上述中央处理器;基本输入输出系统,连接至上述芯片组,并具有内存调整程序;以及 非易失性存储器,连接至上述芯片组;其中,于上述计算机系统开机的过程,上述中央处理器可执行上述内存 调整程序,并将获得的多个读取时间参数与多个写入时间参数写入至上述非 易失性存储器。
11. 根据权利要求10所述的计算机系统,其特征是,其中上述非易失性 存储器为闪存。
12. 根据权利要求10所述的计算机系统,其特征是,其中上述内存调整 程序为进行读取DQ信号调整程序与读取DQS信号调整程序,用以获得上 述内存中的上述这些读取时间参数。
13. 根据权利要求10所述的计算机系统,其特征是,其中上述内存调整 程序为进行写入DQ信号调整程序与写入DQS信号调整程序,用以获得上 述内存中的上述这些写入时间参数。
14. 根据权利要求10所述的计算机系统,其特征是,其中上述内存模块 为双倍数据速率内存模块。
全文摘要
本发明公开一种内存调整结果检测方法及其计算机系统。此方法包括下列步骤将计算机系统开机;执行计算机系统中一基本输入输出系统的一内存调整程序;以及,执行此内存调整程序后,将获得的多个读取时间参数与多个写入时间参数写入一非易失性存储器。本发明的优点在于计算机开机并执行BIOS的过程,将获得的多个读取时间参数与多个写入时间参数写入非易失性存储器。
文档编号G06F11/34GK101359306SQ20081016109
公开日2009年2月4日 申请日期2008年9月26日 优先权日2008年9月26日
发明者罗楠焜 申请人:华硕电脑股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1