CN114518837B - 运用于存储器系统的多循环写入均衡程序的处理方法 - Google Patents
运用于存储器系统的多循环写入均衡程序的处理方法 Download PDFInfo
- Publication number
- CN114518837B CN114518837B CN202011310633.4A CN202011310633A CN114518837B CN 114518837 B CN114518837 B CN 114518837B CN 202011310633 A CN202011310633 A CN 202011310633A CN 114518837 B CN114518837 B CN 114518837B
- Authority
- CN
- China
- Prior art keywords
- data
- delay time
- signal
- delay
- clock
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 42
- 238000012545 processing Methods 0.000 claims description 55
- 238000012549 training Methods 0.000 abstract description 11
- 240000007320 Pinus strobus Species 0.000 description 42
- 230000003111 delayed effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 230000000630 rising effect Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Dram (AREA)
Abstract
本发明为一种运用于存储器系统的多循环写入均衡程序的处理方法。于进行写入均衡程序后,于进行写入训练之前,存储器系统先进行多循环写入均衡程序。如此,将可确保时钟信号CLK与第一数据选取信号DQS_t传递至DDR存储器时,彼此的信号缘(signal edge)可以对齐(align)并且为正确的信号缘。
Description
技术领域
本发明涉及一种存储器系统的控制方法,且特别涉及一种运用于存储器系统的多循环写入均衡(multi-cycle write leveling)程序的处理方法。
背景技术
请参照图1,其所示出为现有双倍数据率(double data rate)存储器(简称DDR存储器)系统示意图。DDR存储器系统100包括一处理电路(processing circuit)110与一DDR存储器120。
处理电路110与DDR存储器120之间利用存储器总线(memory bus)122来传递各种信号。其中,存储器总线122上的信号至少包括:时钟信号CLK、位址信号CA、指令信号CMD、数据信号DQ、第一数据选取信号DQS_t与第二数据选取信号DQS_c。其中,位址信号CA与指令信号CMD是参考时钟信号CLK来运行,数据信号DQ是参考第一数据选取信号DQS_t与第二数据选取信号DQS_c来运行,且第一数据选取信号DQS_t与第二数据选取信号DQS_c的相位相差180度。
再者,指令信号CMD包括:指令始能信号CS、行位址选取信号CAS、列位址选取信号RAS、写入使能信号WE。位址信号CA还包括CA0至CA6信号。数据信号DQ还包括DQ0至DQ31信号。
在新世代以及未来世代的DDR存储器系统100中,是利用源同步不匹配的电路方案(source-synchronous unmatched scheme)来设计DDR存储器120。此DDR存储器120可为第4代低功率DDR存储器(LPDDR4)、第4x代低功率DDR存储器(LPDDR4x)或者第5代DDR存储器(LPDDR5)。而利用源同步不匹配的电路方案所设计的DDR存储器120中,第一数据选取信号DQS_t与数据信号DQ会有不同的延迟时间。
请参照图2,其所示出为现有DDR存储器的示意图。DDR存储器120的接收器(receiver)中包括比较器132与134、延迟电路136与一解串器(deserializer,简称DES)138。比较器132的二输入端分别接收第一数据选取信号DQS_t与第二数据选取信号DQS_c,输出端产生第三数据选取信号diff_DQS。延迟电路136为数据选取树(DQS tree),用以延迟第三数据选取信号diff_DQS,并产生第四数据选取信号diff_DQS_d。
比较器134的二输入端分别接收数据信号DQ与参考电压Vref,取样控制端(sampling control terminal)接收第四数据选取信号diff_DQS_d,输出端产生串行的数据(serial data)Data_s。解串器138输入端接收串行的数据Data_s,输出端产生并列数据(parallel data)Data_p。
在DDR存储器120的接收器中,延迟电路136可调整第三数据选取信号diff_DQS的延迟时间,并利用第四数据选取信号diff_DQS_d来取样数据信号DQ,并产生串行的数据Data_s。
基本上,于DDR存储器系统100的初始化(initialization)时,处理电路110需要进行一系列的训练程序。举例来说,写入均衡(write leveling)程序以及写入训练(writetraining)程序。于初始化完成后,DDR存储器系统100才能够正常运行。
在DDR存储器系统100中,处理电路110与DDR存储器120是固定在电路板(circuitboard)上,而存储器总线122的多条布局线路(layout trace)是设计在电路板上。由于布局线路的长度不相同,造成处理电路110发出的时钟信号CLK以及第一数据选取信号DQS_t传递的时间不相同。因此,DDR存储器系统100需要进行写入均衡(write leveling)程序使得时钟信号CLK与第一数据选取信号DQS_t传递至DDR存储器120时,彼此的信号缘(signaledge)可以对齐(align)。
在进行写入均衡(write leveling)程序时,处理电路110发出时钟信号CLK以及第一数据选取信号DQS_t至DDR存储器120。接着,处理电路110持续地调整第一数据选取信号DQS_t的延迟时间,亦即调整第一数据选取信号DQS_t与时钟信号CLK之间的相位差。当DDR存储器120接收到的时钟信号CLK以及第一数据选取信号DQS_t时,会进一步判断时钟信号CLK以及第一数据选取信号DQS_t的信号缘是否对齐,并利用数据信号DQ回复处理电路110。
举例来说,DDR存储器120在第一数据选取信号DQS_t的上升缘(rising edge)取样时钟信号CLK,并将取样结果由数据信号DQ回复给处理电路110。
于写入均衡程序时,当初次取样的结果为低电平,则代表第一数据选取信号DQS_t与时钟信号CLK的信号缘未对齐。此时,DDR存储器120产生的低电平的数据信号DQ至处理电路110。
再者,处理电路110根据低电平的数据信号DQ,继续调整第一数据选取信号DQS_t与时钟信号CLK之间的相位差,例如增加第一数据选取信号DQS_t的延迟时间,直到DDR存储器120取样的结果为高电平,并产生高电平的数据信号DQ至处理电路110为止。当数据信号DQ为高电平时,处理电路110即记录当下第一数据选取信号DQS_t与时钟信号CLK之间的特定相位差(specific phase difference),并且完成写入均衡(write leveling)程序。
另外,当初次取样的结果为高电平时,处理电路110仍无法确认第一数据选取信号DQS_t与时钟信号CLK的信号缘是否对齐。
此时,处理电路110继续调整第一数据选取信号DQS_t与时钟信号CLK之间的相位差,例如减少第一数据选取信号DQS_t的延迟时间,直到DDR存储器120取样的结果为低电平,并产生低电平的数据信号DQ至处理电路110为止。
接着,处理电路110再增加第一数据选取信号DQS_t的延迟时间,使得DDR存储器120取样的结果为高电平,并产生高电平的数据信号DQ至处理电路110。而处理电路110即记录当下第一数据选取信号DQS_t与时钟信号CLK之间的特定相位差(specific phasedifference),并且完成写入均衡(write leveling)程序。
完成写入均衡(write leveling)程序之后,处理电路110会输出具有特定相位差的第一数据选取信号DQS_t与时钟信号CLK,此二信号经过存储器总线122上的布局线路后,DDR存储器120即可接收到信号缘彼此对齐的第一数据选取信号DQS_t与时钟信号CLK。
之后,处理电路110可继续进行写入训练(write training)。在写入训练程序时,处理电路110会调整第一数据选取信号DQS_t、第二数据选取信号DQS_c与数据信号DQ的相位关系,并且找到一特定区间(specific margin),用以确保DDR存储器120在特定区间的内皆可成功地利用第一数据选取信号DQS_t与第二数据选取信号DQS_c来锁存(latch)数据信号DQ。
然而,在现有DDR存储器系统100中,当写入均衡(write leveling)程序完成后,处理电路110仅能够确定DDR存储器120接收到信号缘彼此对齐的第一数据选取信号DQS_t与时钟信号CLK,并无法确认是否是正确的信号缘。
举例来说,存储器总线122中,当时钟信号CLK的布线长于第一数据选取信号DQS_t的布线时,时钟信号CLK的传递延迟(propagation delay)较长。因此,当写入均衡(writeleveling)程序完成后,时钟信号CLK的脉冲可能会慢第一数据选取信号DQS_t的脉冲(pulse)一个时钟周期(clock cycle)到达DDR存储器120。虽然第一数据选取信号DQS_t与时钟信号CLK的信号缘互相对齐,但是在后续的运行中DDR存储器120将无法由数据信号DQ上正确地获得处理电路110发出的数据。
同理,存储器总线122中,第一数据选取信号DQS_t的布线的布线长于时钟信号CLK时,第一数据选取信号DQS_t的传递延迟(propagation delay)较长。因此,当写入均衡(write leveling)程序完成后,第一数据选取信号DQS_t的脉冲可能会慢时钟信号CLK的一个时钟周期(clock cycle)到达DDR存储器120。虽然第一数据选取信号DQS_t与时钟信号CLK的信号缘互相对齐,但是在后续的运行中DDR存储器120也无法由数据信号DQ上正确地获得处理电路110发出的数据。
发明内容
本发明提出一种多循环写入均衡程序的处理方法运用于一存储器系统,该处理方法下列步骤:(a)将一写入数据写入一双倍数据率存储器,并读取该写入数据;(b)判断写入的该写入数据与读取的该写入数据是否数据匹配,其中于数据不匹配时,判断一数据信号的一第一延迟时间是否已经调整至一第一上限;(c)当该第一延迟时间未调整至该第一上限时,增加该数据信号的该第一延迟时间后回到步骤(a);(d)当该第一延迟时间调整至该第一上限时,判断一第一数据选取信号的一第二延迟时间是否已经调整至一第二上限;(e)当该第二延迟时间未调整至该第二上限时,增加该第一数据选取信号的该第二延迟时间后回到步骤(a);(f)当该第二延迟时间调整至该第二上限时,判断一位址/指令信号的一第三延迟时间是否已经调整至一第三上限;以及(g)当该第三延迟时间未调整至该第三上限时,增加该位址/指令信号的该第三延迟时间后回到步骤(a)。
附图说明
为了对本发明的上述及其他方面有更佳的了解,下文特举优选实施例,并配合附图,作详细说明如下:
图1为现有DDR存储器系统示意图。
图2为现有DDR存储器的示意图。
图3为本发明DDR存储器系统示意图。
图4A至图4C为第一数据选取信号DQS_t与时钟信号CLK的信号缘对齐的各种情况。
图5为本发明的控制电路。
图6A与图6B为本发明多循环写入均衡程序的处理方法。
图7为位址/指令信号CA/CMD延迟控制中的处理流程。
其中,附图标记说明如下:
100,300:DDR存储器系统
110,310:处理电路
120:DDR存储器
122:存储器总线
132,134:比较器
136:延迟电路
138:解串器
312:存储器控制器
314:实体层电路
316:存储器与实体层接口
510:时钟路径电路
512,522,532,542:整数周期延迟器
514,524,534,544:串化器
516,526,536,546:输出输入电路
518,548:延迟线电路
520:位址/指令路径电路
530:数据选取路径电路
540:数据路径电路
S602~S656,S702~S706:步骤流程
具体实施方式
请参照图3,其所示出为本发明DDR存储器系统示意图。DDR存储器系统300包括一处理电路310与一DDR存储器120。
处理电路310中包括一存储器控制器(memory controller)312与实体层电路(PHYcircuit)314。其中,实体层电路314与DDR存储器120之间利用存储器总线122来传递各种信号。再者,存储器控制器312与实体层电路314之间的接口为存储器与实体层接口316(DDRPHY Interface,简称DFI接口)。其中,存储器总线122上的信号至少包括:时钟信号CLK、位址信号CA、指令信号CMD、数据信号DQ、第一数据选取信号DQS_t与第二数据选取信号DQS_c,且第一数据选取信号DQS_t与第二数据选取信号DQS_c的相位相差180度。其中,位址信号CA与指令信号CMD是参考时钟信号CLK来运行,数据信号DQ是参考第一数据选取信号DQS_t与第二数据选取信号DQS_c来运行。再者,指令信号CMD包括:指令始能信号CS、行位址选取信号CAS、列位址选取信号RAS、写入使能信号WE。
在DDR存储器系统300中,由于布局线路的长度不相同,造成处理电路310发出的时钟信号CLK以及第一数据选取信号DQS_t传递的时间不相同。因此,DDR存储器系统300需要进行写入均衡(write leveling)程序使得时钟信号CLK与第一数据选取信号DQS_t传递至DDR存储器120时,彼此的信号缘(signal edge)可以对齐(align)。
于完成写入均衡(write leveling)程序之后,处理电路310会输出具有特定相位差的第一数据选取信号DQS_t与时钟信号CLK,此二信号经过存储器总线122上的布局线路后,DDR存储器120即可接收到信号缘彼此对齐的第一数据选取信号DQS_t与时钟信号CLK。然而,处理电路310仅能够确定DDR存储器120接收到信号缘彼此对齐的第一数据选取信号DQS_t与时钟信号CLK,并无法确认是否是正确的信号缘。
请参照图4A至图4C,其所示出为第一数据选取信号DQS_t与时钟信号CLK的信号缘对齐的各种情况。于完成写入均衡(write leveling)程序之后,处理电路310输出的时钟信号CLK的上升缘a以及第一数据选取信号DQS_t的上升缘b之间具特定相位差。
如图4A所示,在理想状况下,时钟信号CLK以及第一数据选取信号DQS_t经过存储器总线122上的布局线路后,DDR存储器120接收到二信号缘a、b彼此对齐的第一数据选取信号DQS_t与时钟信号CLK。
然而,存储器总线122中,当时钟信号CLK的布线长于第一数据选取信号DQS_t的布线时,时钟信号CLK的传递延迟(propagation delay)较长。如图4B所示,第一数据选取信号DQS_t的信号缘b先传递至DDR存储器120,经过一个时钟周期(clock cycle)后,时钟信号CLK的信号缘a才传递至DDR存储器120。于更糟的情况下,第一数据选取信号DQS_t的信号缘b与时钟信号CLK的信号缘a可能相差超过一个以上的时钟周期。
再者,存储器总线122中,当第一数据选取信号DQS_t的布线长于时钟信号CLK的布线时,第一数据选取信号DQS_t的传递延迟(propagation delay)较长。如图4C所示,时钟信号CLK的信号缘a先传递至DDR存储器120,经过一个时钟周期(clock cycle)后,第一数据选取信号DQS_t的信号缘b才传递至DDR存储器120。于更糟的情况下,时钟信号CLK的信号缘a与第一数据选取信号DQS_t的信号缘b可能相差超过一个以上的时钟周期。
由以上的说明可知,在图4B与图4C的情况下,虽然第一数据选取信号DQS_t与时钟信号CLK的信号缘互相对齐,但是在后续的运行中DDR存储器120无法由数据信号DQ上正确地获得处理电路310发出的数据。
为了解决上述问题,本发明在处理电路310的实体层电路314内部设计了控制电路,并进行多循环写入均衡(multi-cycle write leveling)程序,以确保DDR存储器120接收到的时钟信号CLK与第一数据选取信号DQS_t为彼此对齐且正确的信号缘。
请参照图5,其所示出为本发明的控制电路。控制电路设计在实体层电路314内部用以调整时钟信号CLK、位址信号CA、指令信号CMD、数据信号DQ、第一数据选取信号DQS_t、第二数据选取信号DQS_c的延迟时间。控制电路包括:时钟路径电路(clock path circuit)510、位址/指令路径电路(address/command path circuit)520、数据选取路径电路(DQSpath circuit)530与数据路径电路(data path circuit)540。
以数据路径电路540为例来说明。数据路径电路540包括整数周期延迟器(cyclebased delay circuit)542、延迟线电路(delay line circuit)548、串化器(serializer)544以及输出入电路(I/O电路)546。
整数周期延迟器542接收内部时钟信号CLKin,并且整数周期延迟器542经由存储器与实体层接口316接收存储器控制器312输出的偶数部分数据(even portion of data)EVENDQ与奇数部分数据(odd portion of data)ODDDQ。根据本发明的实施例,整数周期延迟器542可以选择性地将偶数部分数据EVENDQ与奇数部分数据ODDDQ延迟0至4个时钟周期,并且产生延迟的偶数部分数据(delayed even portion of data)EdDQ与延迟的奇数部分数据(delayed odd portion of data)OdDQ。再者,延迟线电路548接收内部时钟信号CLKin,并可选择性地将内部时钟信号CLKin延迟分数个时钟周期,并且产生延迟的内部时钟信号CLKdin。举例来说,延迟线电路548可将内部时钟信号CLKin延迟N/8个时钟周期,其中N为0至7的整数。
串化器(serializer)544接收延迟的内部时钟信号CLKdin。并且,串化器(serializer)544根据延迟的内部时钟信号CLKdin来取样(sample)延迟的偶数部分数据EdDQ与延迟的奇数部分数据OdDQ,并且产生数据信号DQ。再者,输出入电路546接收并输出数据信号DQ。
由以上的说明可知,在数据路径电路540中,可以选择性地控制数据信号DQ的延迟时间,且延迟时间可控制在0个时钟周期至(4+7/8)时钟周期之间。
时钟路径电路510包括整数周期延迟器512、串化器514与输出入电路516与延迟线电路518。时钟与指令路径电路520接收偶数部分时钟(even portion of clock)EVENCLK与奇数部分时钟(odd portion of clock)ODDCLK,并产生时钟信号CLK。其中,时钟信号CLK与内部时钟信号CLKin有相同的频率。再者,时钟路径电路510的结构与运行关系类似于数据路径电路540,此处不再赘述。
位址/指令路径电路520包括整数周期延迟器522、串化器524与输出入电路526。位址/指令路径电路520接收偶数部分位址/指令(even portion of address/command)EVENCA/CMD与奇数部分位址/指令(odd portion of address/command)ODDCA/CMD,并产生位址/指令信号CA/CMD。再者,位址/指令路径电路520的结构与运行关系类似于数据路径电路540,此处不再赘述。由于本发明仅对位址/指令路径电路520进行整数时钟周期的延迟,所以没有示出延迟线电路。在此领域的技术人员也可以在位址/指令路径电路520中增加延迟线电路。
另外,数据选取路径电路530包括整数周期延迟器532、串化器534与输出入电路536。数据选取路径电路530接收偶数部分数据选取(even portion of DQS)EVENDQS与奇数部分数据选取(odd portion of DQS)ODDDQS,并产生第一数据选取信号DQS_t。当然,第二数据选取信号DQS_c也可以利用类似的电路来产生。再者,数据选取路径电路530的结构与运行关系类似于数据路径电路540,此处不再赘述。由于本发明仅对数据选取路径电路530进行整数时钟周期的延迟,所以没有示出延迟线电路。在此领域的技术人员也可以在数据选取路径电路530中增加延迟线电路。
根据本发明的实施例,利用实体层电路314中的控制电路搭配本发明的多循环写入均衡(multi-cycle write leveling)程序的处理方法,可以确认时钟信号CLK与第一数据选取信号DQS_t为彼此对齐且正确的信号缘。其中,实体层电路314中的控制电路可调整时钟信号CLK、位址信号CA、指令信号CMD、数据信号DQ、第一数据选取信号DQS_t、第二数据选取信号DQS_c的延迟时间。
请参照图6A与图6B,其所示出为本发明多循环写入均衡程序的处理方法。基本上,当存储器系统300完成写入均衡(write leveling)程序后即可开始进行多循环写入均衡(multi-cycle write leveling)程序。
首先,处理电路310先后发出写入指令以及读取指令,用以将写入数据存储至DDR存储器120,并且再由DDR存储器120读取刚刚存储的写入数据(步骤S602)。接着,处理电路310判断数据是否匹配(S604)。
根据本发明的实施例,存储器系统300是以正常的运行速度来发出写入指令以及读取指令。另外,当DDR存储器120回传的写入数据相同于处理电路310输出的写入数据时,代表数据匹配。反之,当DDR存储器120回传的写入数据不同于处理电路310输出的写入数据时,代表数据不匹配。
当处理电路310确认数据匹配时,即完成多循环写入均衡程序。反之,当确认数据不匹配时,处理电路310先进行数据信号DQ延迟控制。于进行数据信号DQ延迟控制时,处理电路310先判断数据信号DQ的延迟时间是否已经调整至上限(步骤S610)。当数据信号DQ的延迟时间尚未调整至上限时,则增加数据信号DQ的延迟时间(步骤S612)后,回到步骤S602。反之,当数据信号DQ的延迟时间已经调整至上限时,则进行第一数据选取信号DQS_t延迟控制。
举例来说,在数据路径电路540中,数据信号DQ的延迟时间可控制在0个时钟周期至(4+7/8)个时钟周期之间。因此,搭配整数周期延迟器542与延迟线电路548,可以控制数据信号DQ的延迟时间由小至大,每次增加1/8个时钟周期,直到延迟时间的上限(4+7/8)个时钟周期为止。
再者,于进行第一数据选取信号DQS_t延迟控制之前,处理电路310先将数据信号DQ的延迟时间回复至最小延迟时间。接着,处理电路310判断第一数据选取信号DQS_t的延迟时间是否已经调整至上限(步骤S620)。当第一数据选取信号DQS_t的延迟时间尚未调整至上限时,则将第一数据选取信号DQS_t的延迟时间增加整数时钟周期(步骤S622)后,回到步骤S602。反之,当第一数据选取信号DQS_t的延迟时间已经调整至上限时,则进行位址/指令信号CA/CMD延迟控制。
举例来说,在数据选取路径电路530中,第一数据选取信号DQS_t的延迟时间可控制在0个时钟周期至4个时钟周期之间。因此,整数周期延迟器532可以控制第一数据选取信号DQS_t的延迟时间由小至大,每次增加1个时钟周期,直到延迟时间的上限4个时钟周期为止。
再者,于进行位址/指令信号CA/CMD延迟控制之前,处理电路310先将数据信号DQ的延迟时间与第一数据选取信号DQS_t的延迟时间回复至最小延迟时间。接着,处理电路310判断位址/指令信号CA/CMD的延迟时间是否已经调整至上限(步骤S630)。当位址/指令信号CA/CMD的延迟时间尚未调整至上限时,则将位址/指令信号CA/CMD的延迟时间增加整数时钟周期(步骤S632)后,回到步骤S602。反之,当位址/指令信号CA/CMD的延迟时间已经调整至上限时,则代表多循环写入均衡程序失败。
由于位址/指令信号CA/CMD是参考时钟信号CLK运行。换言的,将位址/指令信号CA/CMD延后一个时钟周期可视为调整时钟信号CLK一个时钟周期。另外,在位址/指令路径电路520中,位址/指令信号CA/CMD的延迟时间可控制在0个时钟周期至4个时钟周期之间。因此,整数周期延迟器522可以控制位址/指令信号CA/CMD的延迟时间由小至大,每次增加1个时钟周期,直到延迟时间的上限4个时钟周期为止。
根据本发明的实施例,当处理电路310确认数据匹配后,处理电路310会记录当下数据信号DQ、位址/指令信号CA/CMD、第一数据选取信号DQS_t与第二数据选取信号DQS_c的延迟时间。之后,处理电路310即可继续进行写入训练(write training)程序。如此,即可确定进行写入训练程序时,DDR存储器120可根据第一数据选取信号DQS_t与第二数据选取信号DQS_c由数据信号DQ上正确地获得处理电路110发出的数据。
另外,如图6B所示,在数据信号DQ延迟控制中的延迟数据信号DQ(步骤S612)中,对数据路径电路540的详细控制步骤还包括:利用延迟线电路548将数据信号DQ的延迟时间增加一个分数时钟周期(步骤S652)。例如,一个分数时钟周期为1/8个时钟周期。接着,判断延迟线电路548是否将延迟时间增加一个时钟周期(步骤S654)。于确认延迟时间增加一个时钟周期时,延迟线电路548停止将延迟时间增加一个时钟周期,并利用周期延迟器542将延迟时间增加一个时钟周期。亦即,延迟线电路548会被重置,使得其控制的延迟时间归0。
由以上的说明可知,在数据路径电路540中,搭配整数周期延迟器542与延迟线电路548,即可以控制数据信号DQ的延迟时间由小至大,每次增加1/8个时钟周期,直到延迟时间的上限(4+7/8)个时钟周期为止。
另外,由于位址/指令信号CA/CMD中的一个渠道(channel)中可能包含了二条位元组通道(Byte lanes),例如第0位元组通道(Byte-0lane)与第1位元组通道(Byte-1lane)。于进行完多循环写入均衡(multi-cycle write leveling)程序之后,可能发生二条位元组通道的延迟时间不同的状况。此时,需要再进一步的调整存储器系统中各个信号的延迟时间。
请参照图7,其所示出为位址/指令信号CA/CMD延迟控制中的处理流程。首先,判断指令/位址信号CA/CMD中两个位元组通道之间的延迟时间差异(步骤S702)。接着,将延迟时间较短的位元组通道的延迟时间再增加该延迟时间差异(步骤S704)。再者,将数据信号DQ与第一数据选取信号DQS_t的延迟时间再增加该延迟时间差异(步骤S706)。
举例来说,第0位元组通道(Byte-0lane)的延迟时间为1个时钟周期,第1位元组通道(Byte-1lane)的延迟时间为2个时钟周期,则两个位元组通道之间的延迟时间差异为1个时钟周期。再者,由于第0位元组通道(Byte-0lane)的延迟时间较短,因此处理电路310进一步将第0位元组通道(Byte-0lane)的延迟时间再加上延迟时间差异(亦即,1个时钟周期),使得第0位元组通道(Byte-0lane)的延迟时间增加为2个时钟周期。接着,处理电路310再将数据信号DQ以及第一数据选取信号DQS_t的延迟时间也再增加延迟时间差异(亦即,1个时钟周期)。如此,将可以确保所有信号的信号缘都是正确的。之后,即可进行写入训练程序。
由以上的说明可知,本发明提出一种运用于存储器系统的多循环写入均衡程序的处理方法。当存储器系统进行写入均衡程序后,于进行写入训练之前,先进行本发明的多循环写入均衡程序。如此,将可确保时钟信号CLK与第一数据选取信号DQS_t传递至DDR存储器120时,彼此的信号缘(signal edge)可以对齐(align)并且为正确的信号缘。
综上所述,虽然本发明已以优选实施例公开如上,然其并非用以限定本发明。本发明所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作各种的变动与润饰。因此,本发明的保护范围当视后附的权利要求所界定者为准。
Claims (6)
1.一种运用于存储器系统的多循环写入均衡程序的处理方法,该处理方法包括下列步骤:
(a)将一写入数据写入一双倍数据率存储器,并读取该写入数据;
(b)判断写入的该写入数据与读取的该写入数据是否数据匹配;其中,当读取的该写入数据相同于写入的该写入数据时,判断数据匹配;当读取的该写入数据不相同于写入的该写入数据时,判断数据不匹配;以及于数据不匹配时,判断一数据信号的一第一延迟时间是否已经调整至一第一上限;
(c)当该第一延迟时间未调整至该第一上限时,增加该数据信号的该第一延迟时间后回到步骤(a);
(d)当该第一延迟时间调整至该第一上限时,判断一第一数据选取信号的一第二延迟时间是否已经调整至一第二上限;
(e)当该第二延迟时间未调整至该第二上限时,增加该第一数据选取信号的该第二延迟时间后回到步骤(a);
(f)当该第二延迟时间调整至该第二上限时,判断一位址/指令信号的一第三延迟时间是否已经调整至一第三上限;以及
(g)当该第三延迟时间未调整至该第三上限时,增加该位址/指令信号的该第三延迟时间后回到步骤(a);
其中,该存储器系统中的一数据路径电路包括一整数周期延迟器与一延迟线电路,且该步骤(c)还包括下列步骤:
利用该延迟线电路将该数据信号的该第一延迟时间增加一分数个时钟周期;
判断该延迟线电路是否将该第一延迟时间增加一个时钟周期;以及
于确认该第一延迟时间增加一个时钟周期时,该延迟线电路停止增加该第一延迟时间一个时钟周期,并利用该整数周期延迟器将该第一延迟时间增加一个时钟周期。
2.如权利要求1所述的处理方法,其中该存储器系统先进行一写入均衡程序后,使得一时钟信号的信号缘与该第一数据选取信号的信号缘互相对齐。
3.如权利要求1所述的处理方法,其中步骤(e)还包括:将该第一数据选取信号的该第二延迟时间增加一整数个时钟周期。
4.如权利要求1所述的处理方法,其中步骤(g)还包括:将该位址/指令信号的该第三延迟时间增加一整数个时钟周期。
5.如权利要求1所述的处理方法,其中步骤(b)还包括下列步骤:
于数据匹配时,记录该第一延迟时间、该第二延迟时间与该第三延迟时间,并运用于一写入训练程序。
6.如权利要求5所述的处理方法,还包括下列步骤:
决定该位址/指令信号中,两个位元组通道之间的一延迟时间差异;
在该两个位元组通道中,将具有较短延迟时间的位元组通道所对应的延迟时间再增加该延迟时间差异;以及
将该数据信号的该第一延迟时间增加该延迟时间差异,并将该第一数据选取信号的该第二延迟时间增加该延迟时间差异。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011310633.4A CN114518837B (zh) | 2020-11-20 | 2020-11-20 | 运用于存储器系统的多循环写入均衡程序的处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011310633.4A CN114518837B (zh) | 2020-11-20 | 2020-11-20 | 运用于存储器系统的多循环写入均衡程序的处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114518837A CN114518837A (zh) | 2022-05-20 |
CN114518837B true CN114518837B (zh) | 2024-05-14 |
Family
ID=81594724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011310633.4A Active CN114518837B (zh) | 2020-11-20 | 2020-11-20 | 运用于存储器系统的多循环写入均衡程序的处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114518837B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004171254A (ja) * | 2002-11-20 | 2004-06-17 | Hitachi High-Technologies Corp | データ転送装置 |
CN101276641A (zh) * | 2007-03-29 | 2008-10-01 | 株式会社日立制作所 | 半导体存储器件 |
CN101557212A (zh) * | 2008-04-10 | 2009-10-14 | 恩益禧电子股份有限公司 | 半导体器件和用于半导体器件的时序调整方法 |
CN110908937A (zh) * | 2018-09-17 | 2020-03-24 | 爱思开海力士有限公司 | 存储模块以及包括其的存储系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4382842B2 (ja) * | 2007-09-18 | 2009-12-16 | 富士通株式会社 | メモリ制御回路,遅延時間制御装置,遅延時間制御方法および遅延時間制御プログラム |
JP5807952B2 (ja) * | 2011-09-06 | 2015-11-10 | Necプラットフォームズ株式会社 | メモリコントローラ及びメモリ制御方法 |
US8780655B1 (en) * | 2012-12-24 | 2014-07-15 | Arm Limited | Method and apparatus for aligning a clock signal and a data strobe signal in a memory system |
-
2020
- 2020-11-20 CN CN202011310633.4A patent/CN114518837B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004171254A (ja) * | 2002-11-20 | 2004-06-17 | Hitachi High-Technologies Corp | データ転送装置 |
CN101276641A (zh) * | 2007-03-29 | 2008-10-01 | 株式会社日立制作所 | 半导体存储器件 |
CN101557212A (zh) * | 2008-04-10 | 2009-10-14 | 恩益禧电子股份有限公司 | 半导体器件和用于半导体器件的时序调整方法 |
CN110908937A (zh) * | 2018-09-17 | 2020-03-24 | 爱思开海力士有限公司 | 存储模块以及包括其的存储系统 |
Non-Patent Citations (1)
Title |
---|
基于DDR SDRAM控制器时序分析的模型;程晓东, 郑为民, 唐志敏;计算机工程;20060505(第17期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114518837A (zh) | 2022-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111418016B (zh) | 用于存储器装置中的命令路径的改进的计时电路 | |
US8913448B2 (en) | Apparatuses and methods for capturing data in a memory | |
USRE45366E1 (en) | Method of writing data to a memory | |
EP3249542B1 (en) | Memory module, memory controller and associated control method for read training technique | |
US7385861B1 (en) | Synchronization circuit for DDR IO interface | |
US7542371B2 (en) | Memory controller and memory system | |
US11262941B2 (en) | Apparatuses and methods including memory commands for semiconductor memories | |
US8582376B2 (en) | Timing adjustment circuit for a memory interface and method of adjusting timing for memory interface | |
US11146275B2 (en) | Signal generation circuit and a semiconductor apparatus using the signal generation circuit | |
US20150146477A1 (en) | Semiconductor device | |
CN116386685B (zh) | 半导体器件及其校准方法、装置、存储介质和电子设备 | |
US11145343B1 (en) | Method for controlling multi-cycle write leveling process in memory system | |
CN114518837B (zh) | 运用于存储器系统的多循环写入均衡程序的处理方法 | |
JP2014102741A (ja) | メモリコントローラ及びメモリコントローラのライトレベリング制御方法 | |
TWI744105B (zh) | 運用於記憶體系統的多循環寫入均衡程序的處理方法 | |
US11152044B1 (en) | System for performing phase matching operation | |
US10942541B1 (en) | Connection interface circuit, memory storage device and signal generation method | |
WO2020131528A1 (en) | Signal skew in source-synchronous system | |
JP4661134B2 (ja) | メモリ制御方法および装置 | |
US8429438B2 (en) | Method and apparatus for transferring data between asynchronous clock domains | |
US20240046975A1 (en) | Memory module adjusting inter-rank clock timing, memory system and training method thereof | |
CN112447210B (zh) | 连接接口电路、存储器存储装置及信号产生方法 | |
CN116741229B (zh) | 一种存储器数据写入方法、装置、存储介质和电子设备 | |
US11594265B1 (en) | Apparatus including parallel pipeline control and methods of manufacturing the same | |
US20240144991A1 (en) | Memory device adjusting skew of multi-phase clock signals, memory controller controlling the memory device, and operating method of the memory device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |