[go: up one dir, main page]

CN100412749C - Timing adjustment method for memory signal and related device - Google Patents

Timing adjustment method for memory signal and related device Download PDF

Info

Publication number
CN100412749C
CN100412749C CNB2004100882380A CN200410088238A CN100412749C CN 100412749 C CN100412749 C CN 100412749C CN B2004100882380 A CNB2004100882380 A CN B2004100882380A CN 200410088238 A CN200410088238 A CN 200410088238A CN 100412749 C CN100412749 C CN 100412749C
Authority
CN
China
Prior art keywords
signal
memory
timing
data
computer system
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.)
Expired - Lifetime
Application number
CNB2004100882380A
Other languages
Chinese (zh)
Other versions
CN1601432A (en
Inventor
谢博伟
刘明熙
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.)
Via Technologies Inc
Original Assignee
Via Technologies 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 Via Technologies Inc filed Critical Via Technologies Inc
Priority to CNB2004100882380A priority Critical patent/CN100412749C/en
Publication of CN1601432A publication Critical patent/CN1601432A/en
Application granted granted Critical
Publication of CN100412749C publication Critical patent/CN100412749C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Dram (AREA)

Abstract

The invention provides a method and a related device for adjusting/calibrating timing of a memory signal. In the preferred embodiment of the present invention, a plurality of co-frequency reference signals with different phases are generated by the same phase-locked loop, and signals with different timings/delays are generated according to the trigger sampling of the reference signals, so as to adjust/calibrate the timing of the relevant signals during the operation of the memory, such as the timing of memory clock pulses, command signals, data indication signals, and the like. Therefore, the invention can avoid using the delay line to adjust the signal timing as much as possible, and reduce the negative influence of the performance drift and variation of the delay line on the timing adjustment.

Description

存储器信号定时调校方法与相关装置 Memory signal timing adjustment method and related device

技术领域 technical field

本发明提供一种调校存储器相关信号定时的方法与相关装置,尤指一种利用一锁相环的同频异相信号进行触发取样而调整存储器信号定时的方法与相关装置。The present invention provides a method and a related device for adjusting the timing of memory-related signals, especially a method and a related device for adjusting the timing of memory signals by using a phase-locked loop with the same frequency and out-of-phase signals to perform trigger sampling.

背景技术 Background technique

计算机系统是现代信息社会最重要的硬件基础之一;提升计算机系统的效能并维持计算机正确运行,也成为信息厂商的研发重点。The computer system is one of the most important hardware foundations of the modern information society; improving the performance of the computer system and maintaining the correct operation of the computer has also become the research and development focus of information manufacturers.

如本领域技术人员所知,计算机系统中会设有中央处理器、芯片组及存储器(诸如随机存取存储器)等等;中央处理器主控程序的执行及数据、数据的运算,中央处理器运行期间所需的程序、资料、数据,即可暂存于存储器中。芯片组则设置于中央处理器与存储器之间,以管理中央处理器(以及计算机系统中其它装置)对存储器的存取。As known to those skilled in the art, a computer system will be provided with a central processing unit, a chipset, and a memory (such as a random access memory); Programs, materials, and data required during operation can be temporarily stored in the memory. The chipset is arranged between the CPU and the memory to manage the access of the CPU (and other devices in the computer system) to the memory.

为了管理存储器的存取,芯片组以总线电连于存储器,经由总线上的各种信号来控制存储器的数据存取。举例来说,芯片组要向存储器提供存储器时钟脉冲,控制存储器逻辑运行的定时;在操控存储器时,芯片组则需要配合存储器时钟脉冲的定时来发出指令信号,以控制存储器进行数据写入、读取或其它存储器运行(诸如进行分页,paging,的操作)。当芯片组与存储器要进行数据传输时,还要利用其它的信号;举例来说,当有一笔数据要经由芯片组写入(存储)至存储器时,芯片组除了要向存储器发出数据信号以传输要存储的数据之外,还要配合存储器时钟脉冲的定时而向存储器发出数据指示信号,以指示存储器要在何时开始接收这些数据。In order to manage access to the memory, the chipset is electrically connected to the memory with a bus, and various signals on the bus are used to control the data access of the memory. For example, the chipset needs to provide memory clock pulses to the memory to control the timing of the logic operation of the memory; when manipulating the memory, the chipset needs to send command signals in accordance with the timing of the memory clock pulse to control the memory to write and read data. Fetch or other memory operations (such as paging, paging, operations). When the chipset and the memory need to transmit data, other signals are also used; In addition to the data to be stored, a data indication signal should be sent to the memory in conjunction with the timing of the memory clock pulse to indicate when the memory will start receiving the data.

要能正确地完成存储器存取控制,上述这些信号,包括存储器时钟脉冲、指令信号、数据信号及数据指示信号等等信号,都要具有适当的相互定时关系。举例来说,在优选的相互定时关系下,数据指示信号与存储器时钟脉冲的信号触发缘(诸如上升缘)应该能对齐(align),而存储器时钟脉冲、数据指示信号的触发缘应该能触发存储器在宽裕的准备时间(set-up time)、维持时间(hold time)之间接收指令信号及数据信号。In order to correctly complete memory access control, the above-mentioned signals, including memory clock pulses, command signals, data signals and data indication signals, etc., must have an appropriate mutual timing relationship. For example, under the preferred mutual timing relationship, the signal trigger edges (such as rising edges) of the data indication signal and the memory clock pulse should be able to align (align), and the trigger edges of the memory clock pulse and the data indication signal should be able to trigger the memory. Receive command signals and data signals between the set-up time and hold time.

然而,在实际应用时,常会有许多不理想的因素而使上述信号难以维持正常的相互定时关系。举例来说,当芯片组要将电子信号传输至存储器时,存储器可视为芯片组的电路负载;不同的存储器配置会对芯片组形成不同的电路负载,进而影响数据传输的定时。譬如说,在不同的存储器配置中,连接于同一总线的存储器可能会仅包含单列直插式存储器模块(single-inlinememory module,SIMM),也可能包含双列直插式存储器模块(double-inlinememory module,DIMM);对芯片组来说,后者的配置会形成较大的电路负载,信号在传输到此种配置的存储器时,可能就会有较大的延迟。不论是过长或过短的信号延迟,都有可能会使芯片组对存储器发出的各种信号无法维持正确、适当的相互定时关系。However, in practical applications, there are often many unsatisfactory factors that make it difficult for the above signals to maintain a normal mutual timing relationship. For example, when the chipset transmits electronic signals to the memory, the memory can be regarded as a circuit load of the chipset; different memory configurations will cause different circuit loads to the chipset, thereby affecting the timing of data transmission. For example, in different memory configurations, the memories connected to the same bus may contain only single-inline memory modules (SIMMs), or double-inline memory modules (double-inline memory modules). , DIMM); for the chipset, the latter configuration will form a larger circuit load, and there may be a larger delay when the signal is transmitted to the memory of this configuration. Whether the signal delay is too long or too short, it is possible that the chipset cannot maintain the correct and proper mutual timing relationship of the various signals sent by the memory.

为了确保芯片组对存储器发出的信号都能维持良好的相互定时关系,一般来说,在计算机系统开机时,都会对芯片组发出的各个存储器信号进行定时调校,以补偿各存储器信号间因不理想因素所导致的定时失调。在以现有技术进行存储器信号的定时调校时,是使用不同的可编程延迟线(delay line)分别对各存储器信号引入对应的延迟时间,进而使各存储器信号间能维持相互定时关系。举例来说,若数据指示信号的触发缘未能对齐存储器时钟脉冲的触发缘,就可利用延迟线来延迟数据指示信号,使延迟后的数据指示信号能与存储器时钟脉冲对齐。In order to ensure that the chipset can maintain a good mutual timing relationship with the signals sent by the memory, generally speaking, when the computer system is turned on, the timing of each memory signal sent by the chipset will be adjusted to compensate for the difference between the various memory signals. Timing misalignment due to ideality factors. When adjusting the timing of memory signals in the prior art, different programmable delay lines (delay lines) are used to introduce corresponding delay times to each memory signal, so that the mutual timing relationship between each memory signal can be maintained. For example, if the trigger edge of the data indicator signal is not aligned with the trigger edge of the memory clock pulse, the delay line can be used to delay the data indicator signal, so that the delayed data indicator signal can be aligned with the memory clock pulse.

然而,上述以延迟线来调校定时的现有技术也有缺点。诸如半导体制造工艺中的参数漂移(如掺杂浓度不均),或是运行环境的温度改变(诸如在不同环境、季节使用计算机系统,或是计算机系统持续运行而造成的温度上升),都会使各延迟线所能引入的延迟时间发生漂移/变异,无法顺利地在各存储器信号中引入预设的延迟时间,也就无法如预期般地使各个存储器信号维持正确的相互定时关系。一般来说,可编程延迟线可基于一单位的预设延迟时间td而选择性地将信号延迟1*td、2*td或3*td等等时间;但因延迟时间的漂移/变异,延迟线实际引入的延迟时间可能就会是1*(1-5%)td、2*(1-5%)td等等。举例来说,在调校存储器信号的定时时,若芯片组预期要将一信号延迟K*td的时间(K为一定数)才能达成信号间的相互定时关系,芯片组就会程序化一个对应的延迟线来延迟该信号,但因延迟线的性能漂移/变异,该延迟线实际引入的延迟时间可能仅有K*(1-5%)td的时间,而此K*5%td的时间误差可能就足以破坏各存储器信号间的正确定时关系。此外,用来延迟不同信号的不同延迟线,相互间的延迟时间漂移/变异也可能会不一样,这也会导致各存储器信号间的定时失调。而且,延迟线还有可能会在信号中引入信号抖动(jitter)等负面影响。However, the prior art of using delay lines to adjust the timing also has disadvantages. Such as parameter drift in the semiconductor manufacturing process (such as uneven doping concentration), or temperature changes in the operating environment (such as using computer systems in different environments, seasons, or temperature rises caused by continuous operation of computer systems), will cause The delay time that can be introduced by each delay line drifts/varies, and the preset delay time cannot be successfully introduced into each memory signal, and the correct mutual timing relationship between each memory signal cannot be maintained as expected. Generally speaking, the programmable delay line can selectively delay the signal by 1*td, 2*td or 3*td based on a unit of preset delay time td; but due to the drift/variation of the delay time, the delay The delay time actually introduced by the line may be 1*(1-5%)td, 2*(1-5%)td, and so on. For example, when adjusting the timing of memory signals, if the chip set expects to delay a signal for K*td time (K is a certain number) to achieve the mutual timing relationship between the signals, the chip set will program a corresponding delay line to delay the signal, but due to the performance drift/variation of the delay line, the delay time actually introduced by the delay line may only be K*(1-5%)td time, and this K*5%td time The error may be enough to destroy the correct timing relationship between the various memory signals. In addition, different delay lines used to delay different signals may also have different delay time drift/variation among each other, which may also cause timing misalignment between memory signals. Moreover, the delay line may introduce negative effects such as signal jitter into the signal.

发明内容 Contents of the invention

因此,本发明提出一种可利用同频异相的参考信号来进行存储器信号定时调校的方法与相关装置,以克服现有技术的缺点。Therefore, the present invention proposes a method and a related device for adjusting the timing of memory signals by using reference signals of the same frequency and different phases, so as to overcome the disadvantages of the prior art.

本发明提供一种计算机系统存储器信号定时的调整方法,包括下列步骤:产生多个频率相同但相位不同的参考信号;从该多个参考信号中选择一第一参考信号;根据该第一参考信号调整一第一信号的输出延迟时间,使得该第一信号延迟输出;从该多个参考信号中选择一第二参考信号;以及根据该第二参考信号调整一第二信号的输出延迟时间,使得该第二信号延迟输出,其中,所述第一信号为一总线传输时钟脉冲(DCLK)或一指令信号(CMD),且其中所述第二信号为一数据指示信号(DQS)或一数据信号(DQ)。The invention provides a method for adjusting the timing of a computer system memory signal, comprising the following steps: generating a plurality of reference signals with the same frequency but different phases; selecting a first reference signal from the plurality of reference signals; adjusting an output delay time of a first signal so that the first signal is delayed in output; selecting a second reference signal from the plurality of reference signals; and adjusting an output delay time of a second signal according to the second reference signal so that The second signal is delayed output, wherein the first signal is a bus transmission clock pulse (DCLK) or a command signal (CMD), and wherein the second signal is a data indication signal (DQS) or a data signal (DQ).

本发明还提供一种计算机系统存储器信号定时调整电路,包括:一时钟脉冲发生器,用以产生多个频率相同但相位不同的参考信号;一多路复用器,连接至所述时钟脉冲发生器,用以接收所述多个频率相同但相位不同的参考信号,其中该多路复用器会根据一选择信号,从所述多个参考信号中选出一第一参考信号;一控制模块,用以发出一信号;以及一调整单元,连接至所述控制模块以及所述多路复用器,用以接收一信号并根据所述多路复用器所选择的第一参考信号延迟输出该信号。The present invention also provides a computer system memory signal timing adjustment circuit, including: a clock pulse generator, used to generate a plurality of reference signals with the same frequency but different phases; a multiplexer, connected to the clock pulse generator A device for receiving the plurality of reference signals with the same frequency but different phases, wherein the multiplexer selects a first reference signal from the plurality of reference signals according to a selection signal; a control module , for sending a signal; and an adjustment unit, connected to the control module and the multiplexer, for receiving a signal and delaying the output according to the first reference signal selected by the multiplexer the signal.

本发明以一锁相环作为一时钟脉冲发生器来产生多个频率相同、相位不同的参考信号,而这些参考信号间的相位差异,就相当于延迟时间的差异。利用参考信号对一给定信号进行触发取样而得到的信号,就相当于将该给定信号延迟后的延迟信号。利用这种技术,本发明就可调校各存储器信号的定时,使各存储器信号间具有正确/优选的相互定时关系。The present invention uses a phase-locked loop as a clock pulse generator to generate multiple reference signals with the same frequency and different phases, and the phase difference between these reference signals is equivalent to the difference in delay time. A signal obtained by triggering and sampling a given signal by using the reference signal is equivalent to a delayed signal after delaying the given signal. Using this technique, the present invention can adjust the timing of each memory signal, so that each memory signal has a correct/preferable mutual timing relationship.

基本上,本发明可利用参考信号触发取样的技术来调校存储器时钟脉冲及指令信号的定时;在精密地调校数据指示信号及数据信号时,可先利用参考信号触发取样的技术来进行初步的定时调校,再利用延迟线进行进一步的微调。Basically, the present invention can use the technology of reference signal triggered sampling to adjust the timing of the memory clock pulse and command signal; when finely adjusting the data indication signal and data signal, it can first use the technology of reference signal triggered sampling for preliminary timing adjustment, and then use the delay line for further fine-tuning.

由于本发明可沿用同一锁相环产生的参考信号来调校各个存储器信号间的定时,故可尽量减少各延迟线间延迟时间漂移/变异所引发的定时失调;即使锁相环的参考信号因温度改变而使定时漂移,但因各存储器信号均是根据同一组参考信号来进行定时调校的,因此各存储器信号会同步的漂移,其相互间的定时关系仍可适当地维持。另外,在调校数据指示信号及数据信号时,本发明虽也利用了延迟线,但此延迟线仅是用来进行定时微调,不必引入很长的延迟时间,故延迟线的延迟时间漂移所导致的负面影响可被有效的限制,同时也可减少延迟线所导致的信号抖动。Because the present invention can continue to use the reference signal produced by the same phase-locked loop to adjust the timing between the various memory signals, it can minimize the timing misalignment caused by delay time drift/variation between delay lines; even if the reference signal of the phase-locked loop is caused by Timing drifts due to temperature changes, but because the timing of each memory signal is adjusted according to the same set of reference signals, each memory signal will drift synchronously, and the timing relationship between them can still be properly maintained. In addition, although the present invention also utilizes the delay line when adjusting the data indicating signal and the data signal, the delay line is only used for fine-tuning the timing and does not need to introduce a long delay time, so the delay time drift of the delay line is caused by The negative impact caused can be effectively limited, and the signal jitter caused by the delay line can also be reduced.

附图说明 Description of drawings

图1为一计算机系统的功能方块示意图。FIG. 1 is a functional block diagram of a computer system.

图2为图1中计算机系统运行时各存储器信号的定时示意图。FIG. 2 is a schematic diagram of the timing of each memory signal when the computer system in FIG. 1 is running.

图3是在图1的芯片组中实现本发明定时调整机制的功能方块示意图。FIG. 3 is a functional block diagram of implementing the timing adjustment mechanism of the present invention in the chipset shown in FIG. 1 .

图4为图3中各参考信号的定时示意图。FIG. 4 is a schematic diagram of the timing of each reference signal in FIG. 3 .

图5、图6示意的是图3中各调整单元运行的情形。Fig. 5 and Fig. 6 schematically illustrate the operation of each adjustment unit in Fig. 3 .

图7示意的是本发明以图3中芯片组进行存储器信号定时调校的流程。FIG. 7 schematically shows the process of memory signal timing adjustment with the chip set in FIG. 3 according to the present invention.

图8示意的是图7中相关测试进行的情形。FIG. 8 schematically shows the situation in which the relevant tests in FIG. 7 are carried out.

主要组件符号说明Explanation of main component symbols

10 计算机系统               12 中央处理器10 Computer system 12 Central processing unit

14 显示卡                   16 外围装置14 Graphics card 16 Peripherals

18 缓冲器                   20 芯片组18 buffers 20 chipsets

22A-22B 存储器插槽          24 时钟脉冲发生器22A-22B memory slots 24 clock pulse generators

26 比对模块                 28 检测模块26 Comparison module 28 Detection module

30 控制模块                 32 扫描模块30 Control Module 32 Scanning Module

34A-34D、35C-35D设定模块34A-34D, 35C-35D setting module

36A-36D 多路复用器36A-36D Multiplexer

38A-38D 调整单元            40A-40B  延迟线38A-38D adjustment unit 40A-40B delay line

CMD、CMDi 指令信号          DCLK、DCLKi时钟脉冲CMD, CMDi command signal DCLK, DCLKi clock pulse

DQ、DQi 数据信号            DQS、DQSi数据指示信号DQ, DQi data signal DQS, DQSi data indication signal

cmd1、cmd                   指令cmd1, cmd command

ta1-ta2、tb0-tb2、tc0-tc2   时间点ta1-ta2, tb0-tb2, tc0-tc2 time points

R_1-R_N、Ra-Rd、Rc0-Rd0     参考信号R_1-R_N, Ra-Rd, Rc0-Rd0 reference signal

Sa-Sb、Sc1-Sc2、Sd1-Sd2     选择信号Sa-Sb, Sc1-Sc2, Sd1-Sd2 selection signal

T 周期T period

具体实施方式 Detailed ways

请参考图1;图1为一计算机系统10的功能方块示意图。计算机系统10中设有一中央处理器12、一芯片组20、一显示卡14、各外围装置(可以有一个或多个外围装置;图1中绘出一外围装置16做为代表)以及各个存储器插槽(图1中绘出两个存储器插槽22A、22B做为代表)。在计算机系统10中,中央处理器12用来主控计算机系统的程序执行及数据、数据的运算;各存储器插槽22A、22B可分别容置一存储器模块,整合各存储器插槽上所安装的存储器模块(诸如动态随机存取存储器模块),就可以架构出计算机系统10的存储器。而芯片组20就是用来管理此一存储器的运行,使中央处理器12可经由芯片组20存取此存储器中的数据。其它装置,诸如用来处理图形数据的显示卡14以及外围装置16(可以是硬盘机、光驱、各种附插卡,诸如网络卡等等),也可通过芯片组20而和中央处理器12与存储器进行数据交换。Please refer to FIG. 1 ; FIG. 1 is a functional block diagram of a computer system 10 . In the computer system 10, a central processing unit 12, a chipset 20, a display card 14, each peripheral device (there may be one or more peripheral devices; a peripheral device 16 is shown as a representative among Fig. 1 ) and each memory slots (two memory slots 22A, 22B are shown in FIG. 1 as representatives). In the computer system 10, the central processing unit 12 is used to control the program execution of the computer system and the calculation of data and data; each memory slot 22A, 22B can accommodate a memory module respectively, and integrate the memory modules installed on each memory slot. A memory module (such as a dynamic random access memory module) can constitute the memory of the computer system 10 . The chipset 20 is used to manage the operation of the memory, so that the CPU 12 can access the data in the memory through the chipset 20 . Other devices, such as display card 14 and peripheral device 16 (which can be a hard disk drive, an optical drive, various add-in cards, such as network cards, etc.) used to process graphics data, can also be connected to the central processing unit 12 through the chipset 20. Data exchange with memory.

为了管理、控制存储器的数据存取,芯片组20可设置一或多个通道(channel),通过这些通道电连接于各个存储器插槽。像图1所示意的,芯片组20可经由同一信道的总线电连接于存储器插槽22A及22B,并在此总线上传输时钟脉冲DCLK、指令信号CMD、数据指示信号DQS以及数据信号DQ等等存储器信号,以控制存储器插槽22A、22B上各存储器模块的运行。其中,时钟脉冲DCLK作为一存储器时钟脉冲,以控制各存储器模块序向运行的定时;指令信号CMD则用来向各存储器模块传输指令,控制各存储器模块进行必要的运行,诸如在存储器模块中的特定地址中写入(存储)数据、将数据读取或是进行存储器分页(paging)操作等等。数据信号DQ即是用来传递存储器存取的数据;配合数据信号DQ的传输,数据指示信号DQS则是用来指示数据信号传输的时机。如图1所示,为了维持时钟脉冲DCLK的正确传输,时钟脉冲DCLK常会经由一缓冲器(buffer)18的信号缓冲(诸如增强其驱动力)才传输到存储器插槽22A及22B。In order to manage and control the data access of the memory, the chipset 20 can be provided with one or more channels, and these channels are electrically connected to each memory slot. As shown in FIG. 1 , the chipset 20 can be electrically connected to the memory slots 22A and 22B via the bus of the same channel, and the clock pulse DCLK, the command signal CMD, the data indication signal DQS and the data signal DQ, etc. are transmitted on the bus. memory signals to control the operation of each memory module on the memory slots 22A, 22B. Among them, the clock pulse DCLK is used as a memory clock pulse to control the timing of the sequential operation of each memory module; the command signal CMD is used to transmit instructions to each memory module to control each memory module to perform necessary operations, such as in the memory module. Write (store) data in a specific address, read data, or perform memory paging (paging) operations, etc. The data signal DQ is used to transmit data for memory access; in conjunction with the transmission of the data signal DQ, the data indication signal DQS is used to indicate the timing of data signal transmission. As shown in FIG. 1 , in order to maintain the correct transmission of the clock pulse DCLK, the clock pulse DCLK is often transmitted to the memory slots 22A and 22B through a buffer (buffer) 18 for signal buffering (such as enhancing its driving force).

请参考图2(并一并参考图1);图2即为上述各存储器信号的定时示意图;图2的横轴为时间。如前面讨论过的,要正确地控制存储器的数据存取,上述各存储器信号之间必须要维持良好的相互定时关系;而此正确(或优选)的相互定时关系即绘示于图2的图面左方。在此优选定时中,时钟脉冲DCLK(其周期为T)的触发缘(在此例中为上升缘)可触发各存储器模块取样到指令信号CMD中信号最稳定之处,也就是一笔指令的中段部分,避免各存储器模块取样到一笔指令的初或末端等信号转变/不稳定之处。另外,在此优选定时中,数据指示信号DQS的上升缘可对齐时钟脉冲DCLK的上升缘;配合数据指示信号DQS的上升缘与下降缘,就可在数据信号DQ中传输各笔数据。在图2中,是假设各存储器模块为双倍数据速率(DDR,double data rate)的存储器模块,故数据信号DQ中每半个周期即可传递一笔数据。而在此优选定时中,各存储器信号相互搭配运行的情形可描述如下。首先,在时间点tal,安装于存储器插槽上的存储器模块可依时钟脉冲DCLK的触发而取样接收到指令信号CMD中的指令cmd1。假设此一指令cmd1指示的是要将数据写入至存储器模块中,数据指示信号DQS就会从时间点ta1开始拉出一周期T的低位准信号作为准备(preamble)信号,代表芯片组20将要开始传输数据。到了时间点ta2,芯片组20就会配合数据指示信号DQS,开始以数据信号DQ将要写入至存储器模块的各笔数据D1至D4传输至存储器模块。配合数据指示信号的上升缘与下降缘的触发,存储器模块就能接收到这些数据D1至D4,并将其存储起来。Please refer to FIG. 2 (and refer to FIG. 1 together); FIG. 2 is a timing schematic diagram of the above-mentioned memory signals; the horizontal axis of FIG. 2 is time. As discussed above, in order to correctly control the data access of the memory, a good mutual timing relationship between the above-mentioned memory signals must be maintained; and this correct (or preferred) mutual timing relationship is shown in the diagram of FIG. 2 face left. In this preferred timing, the triggering edge (rising edge in this example) of the clock pulse DCLK (its period is T) can trigger each memory module to sample to the most stable signal in the command signal CMD, that is, a command In the middle section, each memory module is prevented from sampling signal transitions/instabilities such as the beginning or end of a command. In addition, in this preferred timing, the rising edge of the data indication signal DQS can be aligned with the rising edge of the clock pulse DCLK; in conjunction with the rising edge and falling edge of the data indication signal DQS, each piece of data can be transmitted in the data signal DQ. In FIG. 2, it is assumed that each memory module is a double data rate (DDR, double data rate) memory module, so a piece of data can be transmitted every half cycle of the data signal DQ. However, in this preferred timing, the situation in which the memory signals cooperate with each other can be described as follows. First, at the time point tal, the memory module mounted on the memory slot can sample the received command cmd1 in the command signal CMD according to the trigger of the clock pulse DCLK. Assuming that the command cmd1 indicates that data is to be written into the memory module, the data indication signal DQS will pull out a low-level signal for a cycle T from the time point ta1 as a preamble signal, representing that the chipset 20 is about to Start transferring data. When the time point ta2 is reached, the chipset 20 cooperates with the data indication signal DQS and starts to transmit the data D1 to D4 to be written into the memory module to the memory module with the data signal DQ. Cooperating with the triggering of the rising edge and falling edge of the data indication signal, the memory module can receive the data D1 to D4 and store them.

不过,因为种种不理想因素,各存储器信号间常不能维持上述的良好关系。就像前面讨论过的,存储器中不同存储器模块的配置会对芯片组形成不同的负载,并影响信号传输的定时。若存储器插槽22A、22B上仅有一个插槽安装有一个单列直插式(SIMM)的存储器模块,则负载较轻,传输至存储器模块的信号会有较短的延迟;相较之下,若两个存储器插槽22A、22B上分别安装了一个双列直插式(DIMM)的存储器模块,就会对芯片组20形成较重的电路负载;在此存储器配置下,传输至存储器模块的信号可能会有较长的延迟。这些因存储器配置而导致的长短不一的延迟,就会造成各存储器信号间的定时失常。在图2的图面右方,即绘示了不良定时下可能会发生的情况。举例来说,因指令信号CMD与时钟脉冲DCLK之间的定时失常,当存储器模块随时钟脉冲DCLK的上升缘触发而在指令信号CMD中取样时,可能会在指令信号CMD的信号不稳定处取样,无法正确地接收到指令cmd1。即使存储器模块接收到指令cmd1(假设是一写入指令),当存储器模块要开始接收芯片组传来的数据时,也会因为数据指示信号DQS未与时钟脉冲DCLK对齐而无法根据指示信号DQS接收到要写入的数据D1至D4。因为当存储器模块接收到写入指令时,需在一定期间内接收到要写入的数据才能正确地进行数据写入;若存储器模块在接收写入指令之前就开始将数据传输至存储器模块,或是在存储器模块接收写入指令之后延迟太久才将数据传输至存储器模块,存储器模块都无法正确地进行数据写入。However, due to various unfavorable factors, the above-mentioned good relationship cannot be maintained among the memory signals. As discussed earlier, different memory block configurations in the memory place different loads on the chipset and affect the timing of signal transmissions. If only one slot on the memory slots 22A, 22B is equipped with a single-in-line (SIMM) memory module, the load is lighter, and the signal transmitted to the memory module has a shorter delay; If a dual in-line (DIMM) memory module is respectively installed on the two memory slots 22A, 22B, a heavier circuit load will be formed on the chipset 20; Signals may have a long delay. These varying lengths of delay due to memory configuration can cause timing aberrations between the various memory signals. On the right side of the panel in Figure 2, what might happen with bad timing is shown. For example, due to a timing aberration between the command signal CMD and the clock pulse DCLK, when the memory module samples the command signal CMD triggered by the rising edge of the clock pulse DCLK, it may sample at the signal instability of the command signal CMD , cannot correctly receive the command cmd1. Even if the memory module receives the command cmd1 (assuming it is a write command), when the memory module starts to receive the data from the chipset, it will not be able to receive data according to the indication signal DQS because the data indication signal DQS is not aligned with the clock pulse DCLK. to the data D1 to D4 to be written. Because when the memory module receives the write command, it needs to receive the data to be written within a certain period of time to write the data correctly; if the memory module starts to transmit the data to the memory module before receiving the write command, or The data is transmitted to the memory module after a long delay after the memory module receives the write command, and the memory module cannot write the data correctly.

为了避免各存储器信号间的定时失常,芯片组中会设置相关的定时调校机制,以便在计算机系统开机时进行存储器信号的定时调校。请参考图3(并一并参考图1);图3即为本发明芯片组20实现定时调校一实施例的功能方块示意图。芯片组20中设有一控制模块30、一时钟脉冲发生器24、各个多路复用器36A至36D、各个调整单元38A至38D、各个设定模块34A至34D、35C至35D、可编程延迟线40A至40B,以及检测模块28、比对模块26与扫描模块32。控制模块30用来主控芯片组20的功能,并产生芯片组内部的时钟脉冲DCLKi、指令信号CMDi、数据指示信号DQSi以及数据信号DQi,而调整单元38A至38D就是分别用来调整这些信号的定时以对应地产生出时钟脉冲DCLK、指令信号CMD、数据指示信号DQS以及数据信号DQ,作为输出至各存储器模块的存储器信号。时钟脉冲发生器24可为一锁相环,诸如由环形震荡器(ring oscillator)所架构出的锁相环,用来产生N个频率相同、相位不同的参考信号R_1至R_N;而每一个多路复用器36A至36D即可分别接收一选择信号Sa至Sb、Sc1至Sc2,以根据选择信号的指示而从这N个参考信号中选出一个参考信号。集合时钟脉冲产生电路24、各个多路复用器36A至36D、各个调整单元38A至38D、控制模块30、各个设定模块、检测模块28、比对模块26、扫描模块32、各个延迟线40A及40B等等,就可实现出一个计算机系统存储器信号定时调整电路,达成本发明调整存储器信号定时的目的。In order to avoid timing irregularities among the memory signals, a related timing adjustment mechanism is provided in the chipset so as to perform timing adjustment of the memory signals when the computer system is turned on. Please refer to FIG. 3 (and refer to FIG. 1 together); FIG. 3 is a functional block diagram of an embodiment of implementing timing adjustment by the chipset 20 of the present invention. Chipset 20 is provided with a control module 30, a clock pulse generator 24, multiplexers 36A to 36D, adjustment units 38A to 38D, setting modules 34A to 34D, 35C to 35D, programmable delay lines 40A to 40B, and the detection module 28 , the comparison module 26 and the scanning module 32 . The control module 30 is used to control the functions of the chipset 20, and generate the clock pulse DCLKi, the command signal CMDi, the data indication signal DQSi and the data signal DQi inside the chipset, and the adjustment units 38A to 38D are used to adjust these signals respectively. The clock pulse DCLK, the command signal CMD, the data indicator signal DQS and the data signal DQ are correspondingly generated as memory signals output to each memory module. The clock pulse generator 24 can be a phase-locked loop, such as a phase-locked loop constructed by a ring oscillator (ring oscillator), used to generate N reference signals R_1 to R_N with the same frequency and different phases; The multiplexers 36A to 36D can respectively receive a selection signal Sa to Sb, Sc1 to Sc2 to select a reference signal from the N reference signals according to the indication of the selection signal. Collective clock pulse generation circuit 24, each multiplexer 36A to 36D, each adjustment unit 38A to 38D, control module 30, each setting module, detection module 28, comparison module 26, scanning module 32, each delay line 40A And 40B etc., just can realize a computer system memory signal timing adjustment circuit, reach the purpose of the present invention to adjust memory signal timing.

依据多路复用器36A至36B所分别选出的参考信号Ra、Rb,各个调整单元38A至38B就可分别调整时钟脉冲DCLKi以及CMDi的定时。另外,为了微调数据指示信号DQSi以及数据信号DQi的定时,由多路复用器36C、36D选出的参考信号Rc0、Rd0还可分别经由一可编程延迟线40A与40B来进一步延迟其定时,产生出延迟后的参考信号Rc及Rd;而调整单元38C、38D就可分别依据参考信号Rc及Rd来调整数据指示信号DQSi与DQi的定时。延迟线40A、40B会分别根据选择信号Sc2、Sd2的操控而设定其在信号中引入的延迟时间长短。另外,各个选择信号Sa至Sb、Sc1至Sd1以及Sc2至Sd2则是分别由设定模块34A至34D、35C至35D所产生的。这些设定模块可以是缓存器;根据其暂存的设定数据内容,这些设定模块就可通过对应的选择信号控制对应的多路复用器或是延迟线。而这些设定模块中设定数据的内容则可由控制模块30、检测模块28与扫描模块32来设定。According to the reference signals Ra and Rb respectively selected by the multiplexers 36A to 36B, the adjustment units 38A to 38B can adjust the timing of the clock pulses DCLKi and CMDi respectively. In addition, in order to fine-tune the timing of the data indication signal DQSi and the data signal DQi, the timing of the reference signals Rc0 and Rd0 selected by the multiplexers 36C and 36D can be further delayed through a programmable delay line 40A and 40B respectively, The delayed reference signals Rc and Rd are generated; and the adjustment units 38C and 38D can adjust the timing of the data indication signals DQSi and DQi according to the reference signals Rc and Rd respectively. The delay lines 40A and 40B respectively set the length of the delay time introduced into the signal according to the control of the selection signals Sc2 and Sd2 . In addition, the selection signals Sa to Sb, Sc1 to Sd1 and Sc2 to Sd2 are respectively generated by the setting modules 34A to 34D, 35C to 35D. These setting modules can be registers; according to the content of the temporarily stored setting data, these setting modules can control corresponding multiplexers or delay lines through corresponding selection signals. The content of the setting data in these setting modules can be set by the control module 30 , the detection module 28 and the scanning module 32 .

为进一步说明芯片组20在进行定时调校时各相关电路运行的情形,请参考图4(并一并参考图3);图4的定时示意图显示的就是时钟脉冲发生器24所产生出来的N个参考信号R_1至R_N,图4的横轴为时间。这些参考信号的周期同为T(也就是存储器时钟脉冲的周期),但各参考信号的相位会平均分配于360度中,而各参考信号间的相位差就会表现为延迟时间。举例来说,相对于第1个参考信号R_1的上升缘,第n个参考信号R_n的上升缘就会有(n-1)*T/N的延迟时间,如图4中所示。在本发明的优选实施例中,时钟脉冲发生器24可以产生8个参考信号(也就是N=8)。In order to further illustrate the operation of various related circuits when the chipset 20 performs timing adjustment, please refer to FIG. 4 (and refer to FIG. 3 together); the timing schematic diagram of FIG. reference signals R_1 to R_N, and the horizontal axis in FIG. 4 is time. The periods of these reference signals are the same as T (that is, the period of the memory clock pulse), but the phases of each reference signal are evenly distributed in 360 degrees, and the phase difference between each reference signal is expressed as a delay time. For example, compared to the rising edge of the first reference signal R_1, the rising edge of the nth reference signal R_n has a delay time of (n−1)*T/N, as shown in FIG. 4 . In a preferred embodiment of the present invention, the clock pulse generator 24 can generate 8 reference signals (that is, N=8).

至于各调整单元依据各参考信号调整定时的情形则示于图5至图6。请先参考图5(并一并参考第3、4图);图5示意的是调整单元38B的运行情形。调整单元38B中可设有一或多个正反器(flip-flop),这些正反器可根据参考信号Ri的触发而对其输入信号Si取样,并得到对应的输出信号So。如图5所示,若输入信号Si中从时间点tb0开始依序有三笔长一周期T的数据Si0至Si2,且参考信号Ri为参考信号R_3,调整单元38B就会依据参考信号R_3的上升缘触发而从时间点tb1开始依序取样得到对应的输出信号So,使这个输出信号So是从时间点tb1之后开始传输数据Si0至Si2。也就是说,当调整单元38B接受参考信号R_3的触发时,其输出信号So就相当于把输入信号Si由时间点tb0延迟到时间点tb1所产生的信号。同理,对同样的输入信号Si,若调整单元38B接收的参考信号R_i为图4中的参考信号R_7,在参考信号R_7的上升缘触发下,输出信号So就相当于把输入信号Si由时间点tb0延迟至时间点tb2的结果;而时间点tb1、tb2间的时间差异就对应于参考信号R_3、R_7间的相位差。由此可知,选择不同的参考信号来触发调整单元38B,就相当于将输出信号Si延迟不同的时间;而本发明就是藉此原理来调整各存储器信号的定时。The situations in which the adjustment units adjust the timing according to the reference signals are shown in FIGS. 5 to 6 . Please refer to FIG. 5 first (and refer to FIGS. 3 and 4 together); FIG. 5 illustrates the operation of the adjusting unit 38B. One or more flip-flops can be provided in the adjustment unit 38B, and these flip-flops can sample the input signal Si according to the trigger of the reference signal Ri, and obtain the corresponding output signal So. As shown in FIG. 5 , if the input signal Si has three pieces of data Si0 to Si2 with a period T in sequence starting from the time point tb0, and the reference signal Ri is the reference signal R_3, the adjustment unit 38B will follow the rise of the reference signal R_3 The corresponding output signal So is sequentially sampled from the time point tb1 by edge triggering, so that the output signal So starts to transmit the data Si0 to Si2 after the time point tb1. That is to say, when the adjustment unit 38B is triggered by the reference signal R_3 , its output signal So is equivalent to the signal generated by delaying the input signal Si from the time point tb0 to the time point tb1 . Similarly, for the same input signal Si, if the reference signal R_i received by the adjustment unit 38B is the reference signal R_7 in FIG. The time point tb0 is delayed to the time point tb2; and the time difference between the time points tb1 and tb2 corresponds to the phase difference between the reference signals R_3 and R_7. It can be seen that selecting different reference signals to trigger the adjustment unit 38B is equivalent to delaying the output signal Si by different times; and the present invention uses this principle to adjust the timing of each memory signal.

请参考图6(并一并参考第3、4图);图6所示意的是调整单元38D的运行情形;调整单元38D也是接受一参考信号R_i的触发而对其输入信号Si取样,以调整输入信号Si的定时而形成输出信号So。如图6的实施例所示,当调整单元38D实际运行时,其输入信号Si可以包括有两个信号Si_H与Si_L;这两个信号相互间有半个周期T的时间差,并分别携载有长一周期T的数据(诸如信号Si_H中有数据D1、D3而信号Si_L中有信号D2、D4),这两个信号Si_H与Si_L等效上就可形成具有半周期数据的输入信号Si。当调整单元38D接受参考信号R_i的触发时,会在参考信号R_i的上升缘对信号Si_H进行取样,在参考信号的下降缘(或是另一个与参考信号R_i有180度相位差的信号的上升缘)对信号Si_L进行取样,并交错地根据上升缘、下降缘触发取样的结果来产生输出信号So。Please refer to Fig. 6 (and refer to Fig. 3, 4 together); What Fig. 6 illustrates is the operation situation of adjustment unit 38D; Adjustment unit 38D also accepts the trigger of a reference signal R_i and samples its input signal Si, to adjust The timing of the input signal Si forms the output signal So. As shown in the embodiment of FIG. 6 , when the adjustment unit 38D actually operates, its input signal Si may include two signals Si_H and Si_L; these two signals have a time difference of half a period T between each other, and carry For data with a long period T (such as data D1 and D3 in signal Si_H and signals D2 and D4 in signal Si_L), these two signals Si_H and Si_L can equivalently form an input signal Si with half-period data. When the adjustment unit 38D is triggered by the reference signal R_i, it will sample the signal Si_H on the rising edge of the reference signal R_i, and sample the signal Si_H on the falling edge of the reference signal (or the rising edge of another signal with a phase difference of 180 degrees from the reference signal R_i edge) to sample the signal Si_L, and alternately generate the output signal So according to the sampling results triggered by the rising edge and the falling edge.

举例来说,当参考信号R_i是图4中的参考信号R_3时,参考信号R_3在时间点tc1上升缘会触发调整单元38D开始取样信号Si_H中的数据D1,接下来参考信号R_3的下降缘会取样Si_L中的信号D2;以此类推。调整单元38D将上升缘、下降缘取样的信号组合起来,就可形成对应的输出信号So。由图6可知,当调整单元38D是接受参考信号R_3的触发时,输出信号So就是将输入信号Si由时间点tc0延迟至时间点tc1的结果。同理,若调整单元38D是接受参考信号R_7的触发时,对应的输出信号So就是将输入信号Si由时间点tc0延迟至tc2的结果。换句话说,即使输入信号Si中携载的是半周期T的数据,本发明还是可利用参考信号来调整其定时。For example, when the reference signal R_i is the reference signal R_3 in FIG. 4 , the rising edge of the reference signal R_3 at the time point tc1 will trigger the adjustment unit 38D to start sampling the data D1 in the signal Si_H, and then the falling edge of the reference signal R_3 will be Sample signal D2 in Si_L; and so on. The adjustment unit 38D combines the signals sampled by the rising edge and the falling edge to form a corresponding output signal So. It can be seen from FIG. 6 that when the adjustment unit 38D is triggered by the reference signal R_3 , the output signal So is the result of delaying the input signal Si from the time point tc0 to the time point tc1 . Similarly, if the adjusting unit 38D is triggered by the reference signal R_7 , the corresponding output signal So is the result of delaying the input signal Si from the time point tc0 to tc2 . In other words, even if the input signal Si carries half-period T data, the present invention can use the reference signal to adjust its timing.

与图5、图6中的调整单元38B、38D相似,调整单元38A、38C也可利用类似的原理而依据各个参考信号来分别调整时钟脉冲DCLKi与数据指示信号DQSi的信号定时,对应地产生出时钟脉冲DCLK以及数据指示信号DQS。至于本发明对这些存储器信号进行调校的过程,可用图7来说明;请参考图7(并一并参考第1及图3)。图7中的流程100即为本发明芯片组20进行存储器信号调校的一个实施例。流程100中有下列步骤:Similar to the adjustment units 38B and 38D in FIG. 5 and FIG. 6 , the adjustment units 38A and 38C can also use similar principles to adjust the signal timing of the clock pulse DCLKi and the data indication signal DQSi respectively according to each reference signal, and correspondingly generate a clock Pulse DCLK and data indication signal DQS. As for the process of adjusting these memory signals in the present invention, FIG. 7 can be used to illustrate; please refer to FIG. 7 (and refer to FIG. 1 and FIG. 3 together). The process 100 in FIG. 7 is an embodiment of memory signal calibration performed by the chipset 20 of the present invention. The process 100 has the following steps:

步骤102:开始。可在计算机系统10(图1)开机时开始进行流程100,以调校各存储器信号间的相互定时关系。Step 102: start. The process 100 may be performed when the computer system 10 ( FIG. 1 ) is turned on, so as to adjust the timing relationship among the memory signals.

步骤104:利用时钟脉冲发生器24(也就是锁相环,图3)来产生多个频率相同、相位不同的参考信号R_1至R_N。Step 104: Use the clock pulse generator 24 (that is, the phase-locked loop, FIG. 3 ) to generate a plurality of reference signals R_1 to R_N with the same frequency and different phases.

步骤106:选择适当的参考信号来调整时钟脉冲DCLKi与指令信号CMDi的定时,使对应的输出时钟脉冲DCLK与指令信号CMD间具有良好的相互定时关系。当计算机系统10开机时,会对存储器的配置情形进行检测,以得知同一总线(信道)上各存储器插槽是否安装有存储器模块,安装的是单面或双面存储器模块等等信息。根据存储器配置,就可推测出此存储器配置对芯片组所造成的等效负载,并推测出此等效负载会对各存储器信号造成的定时影响。而在步骤106进行时,芯片组20中的检测模块28(图3)也就可根据存储器配置的检测结果来估计要选用哪一个参考信号才能补偿存储器配置导致的定时影响,并对应地设定设定模块34A、34B,以控制对应的多路复用器36A、36B选择出适当的参考信号,使对应的调整单元38A、38B能根据这些参考信号调整时钟脉冲DCLKi与指令信号CMDi的定时,补偿存储器配置所可能造成的定时影响。Step 106: Select an appropriate reference signal to adjust the timing of the clock pulse DCLKi and the command signal CMDi, so that the corresponding output clock pulse DCLK and the command signal CMD have a good mutual timing relationship. When the computer system 10 is powered on, it will detect the configuration of the memory to know whether memory modules are installed in each memory slot on the same bus (channel), whether a single-sided or double-sided memory module is installed, and the like. According to the memory configuration, the equivalent load caused by the memory configuration to the chipset can be inferred, and the timing impact of the equivalent load on each memory signal can be inferred. When step 106 is performed, the detection module 28 ( FIG. 3 ) in the chipset 20 can also estimate which reference signal should be selected to compensate for the timing impact caused by the memory configuration according to the detection result of the memory configuration, and set it accordingly. The setting modules 34A, 34B are used to control the corresponding multiplexers 36A, 36B to select appropriate reference signals, so that the corresponding adjustment units 38A, 38B can adjust the timing of the clock pulse DCLKi and the command signal CMDi according to these reference signals, Compensate for possible timing impacts caused by memory configuration.

在实际实现时,芯片组的研发厂商可先行估计/测试各种不同存储器配置所导致的定时影响,推估出何种存储器配置要搭配哪一个参考信号才能补偿其定时影响,并把这些信息建立为一个对照表(look-up table)而内建于检测模块中。这样一来,检测模块28在运行时就可利用查表方式以根据实际的存储器配置选用适当的参考信号,并调整好时钟脉冲DCLK与指令信号CMD间的定时关系。In actual implementation, chipset R&D manufacturers can first estimate/test the timing impact caused by various memory configurations, estimate which memory configuration should be matched with which reference signal to compensate for its timing impact, and establish this information Built into the detection module as a look-up table. In this way, the detection module 28 can use a look-up table to select an appropriate reference signal according to the actual memory configuration during operation, and adjust the timing relationship between the clock pulse DCLK and the command signal CMD.

步骤108:调整好时钟脉冲DCLK与指令信号CMD的定时关系,就可用这两个信号的定时为基准,进一步调整数据指示信号DQSi、数据信号DQi的定时,使输出的数据指示信号DQS/数据信号DQ与时钟脉冲DCLK/指令信号CMD间大致具有良好的相互定时关系。在进行步骤108时,扫描模块32会先经由设定模块35C、35D而固定各延迟线40A、40B所引入的延迟时间,并控制多路复用器36C、36D尝试性地选用同一个参考信号来调整数据指示信号DQSi与数据信号DQi的定时,然后控制模块30就可(经由时钟脉冲DCLK与指令信号CMD)对存储器发出指令,配合数据指示信号DQ/数据信号DQ来将特定的数据写入至存储器,并再度将数据由存储器中读取;而比对模块26就可比较读取的数据与当初写入的数据是否相符。若读取的数据与写入的数据不符,代表数据指示信号DQS/数据信号DQ的定时与时钟脉冲DCLK/指令信号CMD的定时不能正确地配合,导致数据写入的过程发生错误。此时,扫描模块32就可选用另一个参考信号来再度调整数据指示信号DQS/数据信号DQ的定时,并再度对存储器进行数据的写入/读取,测试看看此一参考信号是否能使数据指示信号DQS/数据信号DQ的定时与时钟脉冲DCLK/指令信号CMD的定时相互配合。若写入的数据与读取的数据符合,就代表此一参考信号能使数据指示信号DQS/数据信号DQ与时钟脉冲DCLK/指令信号CMD具有不错的定时关系,能通过此写入/读取的测试。Step 108: After adjusting the timing relationship between the clock pulse DCLK and the command signal CMD, the timing of these two signals can be used as a reference to further adjust the timing of the data indicating signal DQSi and the data signal DQi, so that the output data indicating signal DQS/data signal DQ and the clock pulse DCLK/command signal CMD generally have a good mutual timing relationship. When performing step 108, the scanning module 32 first fixes the delay time introduced by each delay line 40A, 40B through the setting modules 35C, 35D, and controls the multiplexers 36C, 36D to try to select the same reference signal to adjust the timing of the data indication signal DQSi and the data signal DQi, and then the control module 30 can issue instructions to the memory (via the clock pulse DCLK and the command signal CMD) to write specific data in conjunction with the data indication signal DQ/data signal DQ to the memory, and read the data from the memory again; and the comparison module 26 can compare whether the read data is consistent with the original written data. If the read data does not match the written data, it means that the timing of the data indication signal DQS/data signal DQ and the timing of the clock pulse DCLK/command signal CMD cannot be matched correctly, resulting in an error in the process of data writing. At this point, the scanning module 32 can select another reference signal to readjust the timing of the data indication signal DQS/data signal DQ, and write/read data to the memory again, and test to see if this reference signal can enable The timing of the data indication signal DQS/data signal DQ is coordinated with the timing of the clock pulse DCLK/command signal CMD. If the written data matches the read data, it means that this reference signal can make the data indication signal DQS/data signal DQ and the clock pulse DCLK/command signal CMD have a good timing relationship, and can be written/read through this test.

如前面讨论过的,当时钟脉冲DCLK/指令信号CMD触发存储器模块接收写入指令后,必须在一定的时限内以数据指示信号DQS/数据信号DQ将要写入的数据传输至存储器模块,过早或过晚的数据传输都会使写入失败,故根据上述写入/读取的测试,就可判断数据指示信号DQS/数据信号DQ的定时是否能和其它存储器信号搭配。As discussed above, when the clock pulse DCLK/command signal CMD triggers the memory module to receive the write command, the data to be written must be transmitted to the memory module with the data indication signal DQS/data signal DQ within a certain time limit. Or too late data transmission will cause writing failure, so according to the above writing/reading test, it can be judged whether the timing of the data indication signal DQS/data signal DQ can match with other memory signals.

在实际进行步骤108时,扫描模块32可依序选用所有的N个参考信号,针对每一个参考信号分别进行数据的写入/读取,测试看看以该参考信号调整后的数据指示信号DQS/数据信号DQ是否能使数据写入/读取的过程顺利进行。请参考图8;图8示意的就是扫描模块32逐次进行第(n-1)次、第n次、第(n+1)次写入/读取测试的情形。基本上,扫描模块32是依序进行这些测试,但为了比较各次测试进行的情形,图8中系将各次测试进行时各相关信号的定时依据时钟脉冲DCLK/指令信号CMD对齐显示。在依序进行这些测试时,扫描模块32会分别利用参考信号R_(n-1)、R_n及R_(n+1)来调整数据指示信号DQS/数据信号DQ的定时,配合指令信号CMD中的写入指令cmd控制存储器模块接收数据信号DQ中的数据D1至D4。如图8所示,选择不同的参考信号时,数据指示信号DQS/数据信号DQ的定时也就会逐渐增加其延迟的时间;而两次测试间数据指示信号DQS/数据信号的定时差别就相当于N/T。When actually performing step 108, the scanning module 32 can sequentially select all N reference signals, respectively write/read data for each reference signal, and test to see the data indication signal DQS adjusted by the reference signal /Whether the data signal DQ can make the process of data writing/reading go smoothly. Please refer to FIG. 8 ; FIG. 8 illustrates the situation where the scanning module 32 performs the (n-1)th, nth, and (n+1)th writing/reading tests successively. Basically, the scanning module 32 performs these tests sequentially, but in order to compare the performance of each test, in FIG. 8 , the timing of each related signal during each test is aligned and displayed according to the clock pulse DCLK/command signal CMD. When these tests are performed sequentially, the scanning module 32 will use the reference signals R_(n-1), R_n and R_(n+1) to adjust the timing of the data indication signal DQS/data signal DQ respectively, to match the timing of the command signal CMD The write command cmd controls the memory module to receive data D1 to D4 in the data signal DQ. As shown in Figure 8, when different reference signals are selected, the timing of the data indicating signal DQS/data signal DQ will gradually increase its delay time; and the timing difference between the two tests of the data indicating signal DQS/data signal is quite at N/T.

扫描性地以所有的参考信号进行写入/读取测试后,扫描模块32就可在测试通过的各个参考信号中再选出一个优选的参考信号,并依据这个参考信号来设定设定模块34C、34D,使多任务模块36C、36D能在后续的运行过程中固定地选择此一优选的参考信号。After the writing/reading test is performed with all reference signals in a scanning manner, the scanning module 32 can select a preferred reference signal from among the reference signals that have passed the test, and set the setting module according to this reference signal 34C, 34D, so that the multitasking modules 36C, 36D can fixedly select this preferred reference signal during subsequent operation.

步骤110:利用延迟线40A、40B来分别微调数据指示信号DQS/数据信号DQ的定时。在图3的实施例中,本发明是以延迟线40A、40B来分别延迟多路复用器36C、36D所选出的参考信号,而引入至参考信号的延迟就会经由调整单元38C、38D反应至数据指示信号DQS/数据信号DQ。类似于步骤108的进行方式,扫描模块32可依序选用不同的设定值来设定可编程延迟线40A、40B,使延迟线40A、40B可依序提供不同的延迟时间,并针对每一延迟时间进行一次写入/取的测试,根据测试的结果来微调数据指示信号DQS/数据信号DQ的定时,也就是选出一个优选的延迟时间,并将对应的设定值设定至设定模块35C、35D,使各个存储器信号(时钟脉冲DCLK、指令信号CMD、数据指示信号DQS及数据信号DQ)间能达到优选的相互定时关系。Step 110: Use the delay lines 40A and 40B to fine-tune the timing of the data indicating signal DQS/data signal DQ respectively. In the embodiment of FIG. 3, the present invention uses delay lines 40A, 40B to respectively delay the reference signals selected by the multiplexers 36C, 36D, and the delay introduced to the reference signals will pass through the adjustment units 38C, 38D Respond to the data indication signal DQS/data signal DQ. Similar to the way of step 108, the scanning module 32 can sequentially select different setting values to set the programmable delay lines 40A, 40B, so that the delay lines 40A, 40B can provide different delay times in sequence, and for each Perform a write/fetch test on the delay time, fine-tune the timing of the data indication signal DQS/data signal DQ according to the test results, that is, select an optimal delay time, and set the corresponding set value to the set value The modules 35C and 35D enable each memory signal (clock pulse DCLK, command signal CMD, data indication signal DQS and data signal DQ) to achieve a preferred mutual timing relationship.

步骤112:结束定时调校的过程,完成计算机系统10的开机程序。此后,芯片组20就可根据各设定模块设定的优选值来控制各个多路复用器、延迟线,选用优选的参考信号、延迟时间来分别调整各存储器信号的定时,使各存储器信号能在计算机系统后续的运行过程中维持良好(优选)的相互定时关系。Step 112 : End the timing adjustment process, and complete the booting procedure of the computer system 10 . Thereafter, the chipset 20 can control each multiplexer and delay line according to the preferred values set by each setting module, select the preferred reference signal and delay time to adjust the timing of each memory signal respectively, so that each memory signal A good (preferred) mutual timing relationship can be maintained during subsequent operation of the computer system.

总结来说,本发明是根据同一锁相环的多个异相参考信号来调整各个存储器信号的定时;相较于以延迟线调整定时的现有技术,本发明的技术可有效避免延迟线延迟时间漂移/变异对信号定时的负面影响,也可有效减少延迟线在各个存储器信号中引入的信号抖动(jitter)。虽然本发明也可利用延迟线来微调存储器信号的定时,但本发明可尽量减少延迟线所需引入的延迟时间;在优选的情形下,延迟线引入的延迟时间应可少于T/N(T为时钟脉冲DCLK的周期,N为参考信号的个数);因为,在本发明中,各个参考信号间因相位差所形成的延迟时间差别就是T/N,超过T/N的延迟时间均可利用参考信号的选择来达成。换句话说,因本发明系植基于参考信号的定时调整,故能在定时调整机制中尽量减少对延迟线的依赖,克服现有技术的缺点。除了调整存储器信号的定时外,本发明的技术精神也可广泛地运用在其它序向控制电路的定时调整。本发明于图3中的各个模块、调整单元均可使用韧体或硬件的方式来实现;举例来说,控制模块、比对模块、检测模块及扫描模块的功能可由同一控制器来实现;各调整单元则可用硬件的逻辑电路实现。To sum up, the present invention adjusts the timing of each memory signal according to multiple out-of-phase reference signals of the same phase-locked loop; compared with the prior art of adjusting timing with a delay line, the technology of the present invention can effectively avoid delay line delay The negative impact of time drift/variation on signal timing is also effective in reducing signal jitter introduced by delay lines in individual memory signals. Although the present invention can also utilize the delay line to fine-tune the timing of the memory signal, the present invention can minimize the delay time introduced by the delay line; in a preferred situation, the delay time introduced by the delay line should be less than T/N( T is the period of the clock pulse DCLK, and N is the number of reference signals); because, in the present invention, the delay time difference formed because of the phase difference between each reference signal is exactly T/N, exceeds the delay time of T/N. This can be achieved using the selection of the reference signal. In other words, because the present invention is based on the timing adjustment based on the reference signal, it can minimize the dependence on the delay line in the timing adjustment mechanism and overcome the disadvantages of the prior art. In addition to adjusting the timing of memory signals, the technical spirit of the present invention can also be widely used in timing adjustment of other sequential control circuits. Each module and adjustment unit in Fig. 3 of the present invention can be realized by means of firmware or hardware; for example, the functions of the control module, the comparison module, the detection module and the scanning module can be realized by the same controller; each The adjustment unit can be realized by hardware logic circuit.

以上所述仅为本发明的优选实施例,凡依本发明权利要求书所做的均等变化与修饰,皆应属本发明的涵盖范围。The above descriptions are only preferred embodiments of the present invention, and all equivalent changes and modifications made according to the claims of the present invention shall fall within the scope of the present invention.

Claims (11)

1. 一种计算机系统存储器信号定时的调整方法,包括下列步骤:1. A method for adjusting the timing of a computer system memory signal, comprising the following steps: 产生多个频率相同但相位不同的参考信号;Generate multiple reference signals with the same frequency but different phases; 从该多个参考信号中选择一第一参考信号;selecting a first reference signal from the plurality of reference signals; 根据该第一参考信号调整一第一信号的输出延迟时间,使得该第一信号延迟输出;adjusting an output delay time of a first signal according to the first reference signal, so that the first signal is delayed in output; 从该多个参考信号中选择一第二参考信号;以及selecting a second reference signal from the plurality of reference signals; and 根据该第二参考信号调整一第二信号的输出延迟时间,使得该第二信号延迟输出,adjusting an output delay time of a second signal according to the second reference signal, so that the second signal is delayed in output, 其中,所述第一信号为一总线传输时钟脉冲(DCLK)或一指令信号(CMD),且其中所述第二信号为一数据指示信号(DQS)或一数据信号(DQ)。Wherein, the first signal is a bus transmission clock pulse (DCLK) or a command signal (CMD), and wherein the second signal is a data indication signal (DQS) or a data signal (DQ). 2. 如权利要求1所述的计算机系统存储器信号定时的调整方法,其中,还包括步骤:开机时根据所述计算机系统的存储器配置参照一对照表从所述多个参考信号中选择出所述第一参考信号。2. The method for adjusting the timing of computer system memory signals as claimed in claim 1, further comprising the step of: referring to a comparison table according to the memory configuration of the computer system when starting up, selecting the first reference signal. 3. 如权利要求1所述的计算机系统存储器信号定时的调整方法,其中,还包括步骤:依据延迟输出后的所述总线传输时钟脉冲以及所述指令信号对所述存储器发出指令,配合延迟输出后的所述数据指示信号以及数据信号将一特定数据写入所述存储器中。3. The method for adjusting the timing of a computer system memory signal as claimed in claim 1, further comprising the step of: sending an instruction to the memory according to the delayed output of the bus transmission clock pulse and the instruction signal, and cooperating with the delayed output The subsequent data indication signal and data signal write a specific data into the memory. 4. 如权利要求3所述的计算机系统存储器信号定时的调整方法,其中,还包括步骤:读取写入所述存储器的所述特定数据,用以比对所述写入特定数据与读取特定数据是否相符。4. The adjustment method of computer system memory signal timing as claimed in claim 3, wherein, also comprise the step: read described specific data written in described memory, in order to compare described write specific data and read Whether specific data match. 5. 如权利要求4所述的计算机系统存储器信号定时的调整方法,其中,若所述写入特定数据与读取特定数据不符则重新选择所述第二参考信号。5. The method for adjusting the timing of a computer system memory signal as claimed in claim 4 , wherein, if the specific data for writing is not consistent with the specific data for reading, then the second reference signal is reselected. 6. 如权利要求1所述的计算机系统存储器信号定时的调整方法,其中,还包括步骤:固定一延迟时间用以微调所述第二信号的输出延迟时间。6. The method for adjusting the timing of a computer system memory signal as claimed in claim 1, further comprising the step of: fixing a delay time for fine-tuning the output delay time of the second signal. 7. 一种计算机系统存储器信号定时调整电路,包括:7. A computer system memory signal timing adjustment circuit, comprising: 一时钟脉冲发生器,用以产生多个频率相同但相位不同的参考信号;a clock pulse generator for generating multiple reference signals with the same frequency but different phases; 一多路复用器,连接至所述时钟脉冲发生器,用以接收所述多个频率相同但相位不同的参考信号,其中该多路复用器会根据一选择信号,从所述多个参考信号中选出一第一参考信号;a multiplexer, connected to the clock pulse generator, to receive the plurality of reference signals with the same frequency but different phases, wherein the multiplexer will select from the plurality of reference signals according to a selection signal selecting a first reference signal from the reference signals; 一控制模块,用以发出一信号;a control module for sending a signal; 一调整单元,连接至所述控制模块以及所述多路复用器,用以接收所述信号并根据所述多路复用器所选择的第一参考信号延迟输出该信号。An adjustment unit, connected to the control module and the multiplexer, is used to receive the signal and output the signal with delay according to the first reference signal selected by the multiplexer. 8. 如权利要求7所述的计算机系统存储器信号定时调整电路,其中,所述控制模块发出之信号为一总线传输时钟脉冲(DCLK)或一指令信号(CMD)。8. The computer system memory signal timing adjustment circuit as claimed in claim 7, wherein the signal sent by the control module is a bus transmission clock pulse (DCLK) or a command signal (CMD). 9. 如权利要求7所述的计算机系统存储器信号定时调整电路,其中还包括:一设定模块,连接至所述多路复用器,提供所述选择信号,用以选择所述第一参考信号;以及一检测模块,连接至所述设定模块,用以当开机时检测所述计算机系统的存储器配置,使得所述设定模块决定所述选择信号。9. The computer system memory signal timing adjustment circuit as claimed in claim 7, further comprising: a setting module, connected to the multiplexer, providing the selection signal for selecting the first reference signal; and a detection module, connected to the setting module, used to detect the memory configuration of the computer system when it is turned on, so that the setting module determines the selection signal. 10. 如权利要求7所述的计算机系统存储器信号定时调整电路,其中还包括:10. The computer system memory signal timing adjustment circuit as claimed in claim 7, further comprising: 一比对模块,连接至所述控制模块,用以比对延迟输出的所述信号是否正确;A comparison module, connected to the control module, for comparing whether the delayed output signal is correct; 一扫描模块,连接至所述控制模块,用以当比对结果不正确时,由所述多个参考时钟脉冲中重新选择所述第一参考信号;A scanning module, connected to the control module, used to reselect the first reference signal from the plurality of reference clock pulses when the comparison result is incorrect; 一第一设定模块,连接在所述扫描模块和多路复用器之间,输出一选择信号用以选择所述第一参考信号;A first setting module, connected between the scanning module and the multiplexer, outputs a selection signal for selecting the first reference signal; 一延迟线连接在所述多路复用器和调整单元之间,该延迟线有一固定大小的延迟时间,用以将所述多路复用器所选择的第一参考信号的时钟脉冲再延迟固定大小的所述延迟时间;以及A delay line is connected between the multiplexer and the adjustment unit, and the delay line has a fixed delay time for further delaying the clock pulse of the first reference signal selected by the multiplexer a fixed size of said delay time; and 一第二设定模块,连接在所述扫描模块和延迟线之间,用以设定所述延迟时间的大小。A second setting module, connected between the scanning module and the delay line, is used to set the delay time. 11. 如权利要求10所述的计算机系统存储器信号定时调整电路,其中所述控制模块发出之信号为一数据指示信号(DQS)或一数据信号(DQ)。11. The computer system memory signal timing adjustment circuit as claimed in claim 10, wherein the signal sent by the control module is a data indicating signal (DQS) or a data signal (DQ).
CNB2004100882380A 2004-10-21 2004-10-21 Timing adjustment method for memory signal and related device Expired - Lifetime CN100412749C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100882380A CN100412749C (en) 2004-10-21 2004-10-21 Timing adjustment method for memory signal and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100882380A CN100412749C (en) 2004-10-21 2004-10-21 Timing adjustment method for memory signal and related device

Publications (2)

Publication Number Publication Date
CN1601432A CN1601432A (en) 2005-03-30
CN100412749C true CN100412749C (en) 2008-08-20

Family

ID=34667138

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100882380A Expired - Lifetime CN100412749C (en) 2004-10-21 2004-10-21 Timing adjustment method for memory signal and related device

Country Status (1)

Country Link
CN (1) CN100412749C (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7816960B2 (en) * 2007-08-09 2010-10-19 Qualcomm Incorporated Circuit device and method of measuring clock jitter
EP3399523B1 (en) * 2007-12-21 2020-05-13 Rambus Inc. Method and apparatus for calibrating write timing in a memory system
CN104766625B (en) * 2009-11-27 2018-06-08 晨星软件研发(深圳)有限公司 Method for adjusting memory signal phases
JP5377275B2 (en) 2009-12-25 2013-12-25 キヤノン株式会社 Information processing apparatus or information processing method
JP5448795B2 (en) * 2009-12-25 2014-03-19 キヤノン株式会社 Information processing apparatus or information processing method
CN102279801B (en) * 2010-06-09 2014-12-17 晨星软件研发(深圳)有限公司 Memory sharing system and method
CN102332309B (en) * 2011-07-19 2013-09-18 山东华芯半导体有限公司 DRAM (Dynamic Random Access Memory) source synchronization test method and circuit
KR102100984B1 (en) * 2013-11-19 2020-04-14 에스케이하이닉스 주식회사 Method for detecting phase and phase detecting system
CN113178223A (en) * 2021-04-27 2021-07-27 珠海全志科技股份有限公司 Data training method of memory, computer device and computer readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0946547A (en) * 1995-07-31 1997-02-14 Sony Corp Video signal processing device
CN1309468A (en) * 2000-02-12 2001-08-22 威盛电子股份有限公司 Delay device calibrated by phase-locked loop and its calibration method
US20040095838A1 (en) * 2002-11-14 2004-05-20 Wen Li Controlling data strobe output

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0946547A (en) * 1995-07-31 1997-02-14 Sony Corp Video signal processing device
CN1309468A (en) * 2000-02-12 2001-08-22 威盛电子股份有限公司 Delay device calibrated by phase-locked loop and its calibration method
US20040095838A1 (en) * 2002-11-14 2004-05-20 Wen Li Controlling data strobe output

Also Published As

Publication number Publication date
CN1601432A (en) 2005-03-30

Similar Documents

Publication Publication Date Title
US7551499B2 (en) Semiconductor memory device capable of performing low-frequency test operation and method for testing the same
US8300482B2 (en) Data transfer circuit and semiconductor memory device including the same
US8144542B2 (en) Semiconductor memory apparatus and method for operating the same
US7499370B2 (en) Synchronous semiconductor memory device
US7672191B2 (en) Data output control circuit
US7864624B2 (en) Semiconductor memory device and method for operating the same
US7872940B2 (en) Semiconductor memory device and method for testing the same
US8406080B2 (en) Data output control circuit of a double data rate (DDR) synchronous semiconductor memory device responsive to a delay locked loop (DLL) clock and method thereof
JP2011040041A (en) Control method of memory device for performing write leveling operation, write leveling method of memory device, memory controller performing write leveling operation, memory device and memory system
US8154931B2 (en) Circuits, devices, systems, and methods of operation for capturing data signals
US7719904B2 (en) Data input circuit for a semiconductor memory capable of adapting to a phase skew between a data strobe signal and an external clock signal
JP5331902B2 (en) Signal restoration circuit, latency adjustment circuit, memory controller, processor, computer, signal restoration method, and latency adjustment method
US6778464B2 (en) Expanded operating frequency synchronous semiconductor memory device having wave pipeline structure and wave pipeline control method thereof
CN100412749C (en) Timing adjustment method for memory signal and related device
US7542371B2 (en) Memory controller and memory system
US7791963B2 (en) Semiconductor memory device and operation method thereof
JP2002015570A (en) Semiconductor memory
US20150146477A1 (en) Semiconductor device
US20100124129A1 (en) Data writing apparatus and method for semiconductor integrated circuit
US10867648B2 (en) Memory system and operating method thereof
US8429438B2 (en) Method and apparatus for transferring data between asynchronous clock domains
US6643217B2 (en) Semiconductor memory device permitting early detection of defective test data
CN101840725B (en) Signal conditioning system and signal conditioning method
US12451174B2 (en) Semiconductor devices capable of performing write training without read training, and memory system including the same

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20080820