CN101937726B - 针对存储器的快速数据眼再训练 - Google Patents
针对存储器的快速数据眼再训练 Download PDFInfo
- Publication number
- CN101937726B CN101937726B CN2010102211070A CN201010221107A CN101937726B CN 101937726 B CN101937726 B CN 101937726B CN 2010102211070 A CN2010102211070 A CN 2010102211070A CN 201010221107 A CN201010221107 A CN 201010221107A CN 101937726 B CN101937726 B CN 101937726B
- Authority
- CN
- China
- Prior art keywords
- hand edge
- data eye
- right hand
- left hand
- passage
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/023—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50012—Marginal testing, e.g. race, voltage or current testing of timing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1066—Output synchronization
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1093—Input synchronization
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2254—Calibration
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
-
- 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)
- Memory System (AREA)
Abstract
本发明涉及针对存储器的快速数据眼再训练。公开了一种方法、设备和系统。在一个实施例中,方法包括确定存储器的有效数据眼的左边缘和右边缘。该方法通过在该存储器的操作期间周期性地检查左边缘和右边缘的移动而继续。如果检测到移动,则该方法再训练具有更新的左边缘和右边缘的有效数据眼。
Description
技术领域
本发明涉及在存储器操作期间动态地若干次再训练(retraining)存储器的数据眼。
背景技术
利用存储器(诸如双倍数据率(DDR)同步动态随机存取存储器(SDRAM))的存储器子系统具有要求精确定时(timing)的源同步接口。把存储器耦合到控制器的互连上的定时是针对数据和选通信号而被边缘对准的。选通信号一般被延迟到数据的中心并且用来锁存该数据。从有效数据的开始到结束的范围定时被称为有效数据眼。该眼由两个边缘定义,在这两个边缘之间数据可被正确地锁存,在这两个边缘之外数据变得无效。因而,该选通必须落在数据眼的边缘之间以获得正确的数据。随着存储器的速度的提高,不仅该眼变得更窄而且与存储器操作有关的其它条件也会使得该眼漂移。例如,热条件可使得该眼漂移。存储器设备的热条件可基于来自不同工作负荷的功耗变化而变化(即随着跨越存储器信道的数据吞吐量的增加,存储器设备的功耗可能增加,这将导致每设备更高的热负荷)。存储器的最近版本在速度方面继续提高,诸如DDR2、DDR3、DDR4,特别是DDR5尚未被定义或者尚处于定义过程中,其被称为是将来的DDR标准?以及图形存储器实施方式(例如GDDR5)。
附图说明
本发明通过示例的方式被示出并且不受附图限制,在附图中同样的参考符号指示相似的元件,且在附图中:
图1示出用于快速存储器数据眼再训练的设备和系统的实施例。
图2示出跨越存储器互连而传送的信息的实施例。
图3A-3D示出用于在操作期间搜索有效数据眼的左边缘的过程的实施例。
图4A-4D示出用于在操作期间搜索有效数据眼的右边缘的过程的实施例。
图5是用于确定有效数据眼的左边缘和右边缘的过程的实施例的流程图。
图6是用于在要针对读和写命令的有效性进行测试的每个增量位置处发布训练命令的过程的实施例的流程图。
图7是用于在要针对读和写命令的有效性进行测试的每个增量位置处发布读训练命令的过程的实施例的流程图。
具体实施方式
公开了用于快速存储器数据眼再训练的方法、设备和系统的实施例。
在以下的说明书和权利要求书中,可使用术语“包含”和“包括”以及其派生词,并且这些术语旨在被视为彼此的同义词。另外,在以下的说明书和权利要求书中,可使用术语“耦合”和“连接”以及其派生词。应当理解,这些术语不旨在作为彼此的同义词。相反,在特定的实施例中,“连接”可被用来指示两个或更多元件彼此处于直接物理接触或电接触。“耦合”可意指两个或更多元件处于直接物理接触或电接触。然而,“耦合”也可意指两个或更多元件彼此不处于直接接触,但仍彼此协作或交互。
图1示出用于快速存储器数据眼再训练的设备和系统的实施例。在许多实施例中,计算机系统100可包括处理器102,诸如中央处理单元(CPU)和/或图形处理单元(GPU)。在未示出的其它实施例中,计算机系统100可包括两个或更多处理器。处理器102可为基于的中央处理单元(CPU)、图形处理单元(GPU)、CPU和GPU的组合、或者另一个品牌的CPU或GPU。在不同的实施例中,处理器102可具有一个或多个核。例如,图1示出具有四个核104、106、108和110的处理器102。在未示出的其它实施例中,处理器102可具有1个、2个、8个、16个或更多的核。
每个处理器核可包括若干内部操作单元诸如执行单元和指令引退(retirement)单元。此外,每个核也可包括被用来存储数据的若干内部存储器位置,诸如寄存器和高速缓存。例如,在基于的微处理器体系结构中,每个核可包括一级高速缓存(L1)、一个或多个控制寄存器、一个或多个特别模块寄存器(Model Specific Register)、指令指针(EIP)寄存器等等。在图1中未示出到每个核的这个内部电路。
在许多实施例中,处理器102通过存储器控制器112而耦合到存储器子系统。尽管图1示出集成到处理器102中的存储器控制器112,但是在未示出的其它实施例中,存储器控制器可被集成到计算机系统中的与处理器102分离的桥接设备或其它集成电路中。存储器控制器可包括一个或多个读和写FIFO(先进先出)缓冲器用以存储待写到存储器或从存储器中读取的数据。存储器子系统包括系统存储器模块114用以存储将由处理器执行的指令。存储器设备,例如存储器模块114中的设备116-130可为任何类型的易失性动态随机存取存储器(DRAM)。例如,存储器可为较新版本的双倍数据率(DDR)同步DRAM,诸如GDDR5。不过,在不同的实施例中,存储器设备可为任何类型的具有实质足以对数据眼潜在地造成热漂移的性能的存储器。在未示出的其它实施例中,可存在存储器模块114上的更多或更少的存储器设备以及耦合到处理器102的附加存储器模块。
处理器102通过处理器-存储器接口而耦合到存储器,该处理器-存储器接口可为包括个别线的互连132(即链路/总线),所述个别线可以在处理器和存储器之间传输数据、地址、控制和其它信息。在许多实施例中,链路132每次传递双四字(64比特)的数据以及潜在的错误检测码(EDC)信息和数据总线倒置(DBI)信息。
图2示出跨越存储器互连传送的信息的实施例。在许多实施例中,互连包括八个单独的字节通道(DQ0-DQ7)。每个字节通道传送一字节信息并且这八个通道一起包括单一双四字信息。跨越通道图的顶部示出了双四字0-7,其中字节通道DQ0-DQ7中的每个均被用来承载双四字的八个字节之一。对于每个传送的双四字,每个字节通道具有时间窗,在该时间窗中所传送的数据字节在所述互连上是有效的并且可以被锁存。在不同的实施例中,锁存机制可为选通信号、外部时钟信号或者内部时钟信号。锁存机制对于每个字节通道可以是唯一的。一个附加字节通道被用于DBI信息。DBI信息告知部件当锁存数据时每个字节通道中的比特串是被倒置还是实际信息。这允许(按照DQ0-7上的字节)针对任何给定的数据片而将至少50%的通道驱动到高电压。最后,还存在与每个双四字相关联的EDC信息以允许错误校验与校正电路确定锁存的数据是正确的还是包含一个或多个错误。
有时,诸如当计算机系统(图1中的100)初始上电时,训练存储器是必要的。训练存储器包括(按照字节通道)确定当数据在互连上有效时的时间窗。这个时间窗可以基于众多因素而改变。因而,训练发生以验证窗(被称为数据眼)的边缘。一旦确定数据眼的左边缘和右边缘(即时间线上的前缘和后缘),逻辑可以设定数据选通(外部或内部时钟)直到与该眼的正中心边缘对准。这允许在最安全的位置处(即在有效数据眼的前缘和后缘之间的中间处)锁存数据。在最佳可能的情形下,选通的边缘总是在有效数据眼的左边缘和右边缘之间平分,尽管情况不总是如此。在许多实施例中,由于众多因素,有效数据眼的左边缘和右边缘可能漂移。例如,对于极快的存储器,存储器中的晶体管可能造成每存储器设备提高的热负荷,这可能造成该眼的热漂移,或者该眼可能因为由相邻芯片的热耗散造成的外部引起的温度变化而偏移。
一般当存储器被最初训练时,训练序列在跨越该眼的每个潜在增量定时位置(incremental timing location)处、以及在左边缘和右边缘两者之外被发送。整个有效数据眼的这个训练序列集可能很耗时间。例如,在GDDR5存储器中采用的方法包括发送一系列写训练命令(WRTR),每个写训练命令后面跟随着读训练命令(RDTR),其沿该眼的每增量位置重复若干次。这些命令在按照存储器类型的相应JEDEC(联合电子设备工程委员会)规范中被详细解释。GDDR5存储器具有用于下载的草案规范(版本3(项目号1733.46)),该草案规范包含关于WRTR和RDTR序列的详细信息。
一般来讲,该训练最初在系统上电期间发生一次,其确定有效数据眼边缘和位置以设定数据选通所处的位置以在该眼内中心对准。在许多实施例中,校准逻辑(图1中的134)发布用于读和写训练的命令。在一些实施例中,校准逻辑被定位在存储器控制器(图1中的112)内。在其它实施例中,校准逻辑被定位在与存储器控制器分离的位置中。
当该眼的边缘在操作期间从初始确定的边缘位置漂移时可能出现问题。为了把数据选通重新平衡在该眼的中部,正常地将进行通过该眼的所有增量(以及在眼边缘外部的若干外侧定时增量)的整个再训练扫描。为了减轻用于补偿眼漂移的这组耗时的训练操作,在许多实施例中定义快速再训练过程。
再训练速度可基于若干因素而提高。例如,对于给定的定时增量,再训练过程可被修改成首先照常发出WRTR命令,但代替等待完成并然后发出RDTR命令,读训练可通过查看针对WRTR命令而立即返回的EDC来实现。如果WRTR命令返回带有该眼内的有效位置,则该过程可确认在所测试的增量定时位置处、写被锁存到有效数据眼内。然后对于读训练,如果在返回的EDC(RDTR命令的EDC)中未发现错误,则锁存的读可以被假定为在增量定时位置处是有效数据眼内的好位置。因而,代替等待全部RDTR命令序列,执行训练的校准逻辑可在其确定在EDC中未发现错误时假定用于读的有效眼位置。
另外,在许多实施例中,读再训练以与写再训练类似的方式操作但使用RDTR命令。对于读再训练,在一些实施例中存储器读FIFO可被加载数据作为训练的预置条件。在其它实施例中,读训练利用已经在存储器读FIFO中的随机数据作为预置条件。要求EDC和数据匹配。
另外,虽然可在计算机系统上电期间针对整个眼上的增量定时位置集执行初始训练序列,但是出于再训练目的在操作期间不需要测试这个定时位置全谱。相反,一旦已知有效数据眼的有效左边缘和右边缘,出于再训练目的,只有在每个边缘附近的位置的小子集可能需要在操作期间测试以检查漂移。
图3A-3D示出用于在操作期间搜索有效数据眼的左边缘的处理的实施例。
图3A示出沿相对时间线的有效数据眼的左边缘,其中时间线上的每个记号(tick)说明用于数据眼边缘测试(以及数据选通定位、外部或内部时钟)的最小潜在增量变化。在图3A中,完成了用于找出该眼的左边缘和右边缘的初始数据眼训练序列,并且校准逻辑确定位置A是当前的左边缘。换言之,位置A是该眼内的较左边的位置,在该位置中,在发布WRTR和/或RDTR(或其它读训练类型)命令后返回有效数据。因而,向图3A中的左边缘位置A的左边的下一增量将返回无效数据。
图3B示出在操作时间期间后、有效数据眼的边缘已向左边移动了一个增量。因而,此时位置A不再是有效数据眼的当前左边缘。
图3C示出为确定新的左边缘位置而针对位置B和C发布的训练序列。存在用于搜寻和确定该眼的新(即更新)边缘的搜索算法的许多不同实施例。例如,在一个实施例中,确定先前的边缘位置并且如果该位置当前有效,则算法可(对于左边缘位置)进一步向左或(对于右边缘位置)进一步向右步进,以确定更新的边缘位置。在这个实施例中,一旦找出产生无效数据的第一增量位置,算法可确定先前位置(即最后的好数据位置)是当前的有效边缘。在其它实施例中,每当执行再训练序列时,可测试向先前边缘的左边和右边的预定数量的定时增量。
图3D示出作为相对时间线上的位置B的、有效数据眼的更新的左边缘位置。图3A-3D中示出的过程详述了一种限制增量定时位置的数量以确定是否存在有效数据眼的更新左边缘的方式。
图4A-4D示出用于在操作期间搜索有效数据眼的右边缘的过程的实施例。
图4A示出沿相对时间线的有效数据眼的右边缘,其中时间线上的每个记号说明用于数据眼边缘测试(以及数据选通定位)的最小潜在增量变化。在图4A中,完成了用于找出该眼的左边缘和右边缘的初始数据眼训练序列,并且校准逻辑确定了位置A是当前的右边缘。换言之,位置A是该眼内的最右边的位置,在该位置中,在发布WRTR和/或RDTR(或其它读训练类型)命令后返回有效数据。因而,向图4A中的右边缘位置A的右边的下一增量将返回无效数据。
图4B示出在操作时间期间后、有效数据眼的边缘已向左边移动了一个增量。因而,此时位置A不再是有效数据眼的当前右边缘。实际上,图4B中的位置A现在在测试期间将返回无效数据。
图4C示出为确定新的右边缘位置而针对位置B发布的训练序列。在这个实施例中,位置B在训练序列期间确实返回有效数据,而位置A没有,因此位置B可被确定为有效数据眼的新(即更新)右边缘。
图4D示出作为相对时间线上的位置B的、有效数据眼的更新右边缘位置。图4A-4D中示出的过程详述了一种限制增量定时位置的数量以确定是否存在有效数据眼的更新右边缘的方式。
图5是用于确定有效数据眼的左边缘和右边缘的过程的实施例的流程图。
该过程由可包括软件、硬件或软件和硬件两者的组合的处理逻辑执行。该过程开始由处理逻辑确定有效数据眼的初始左边缘和右边缘(处理块500)。这可针对初始训练序列在互连的每个字节通道上而被确定。
接着,处理逻辑在初始训练后的特定时刻确定其将检查有效数据眼的移动(处理块502)。关于何时检查并可能再训练有效数据眼的确定因素在不同的实施例中可以不同。例如,移动检查与再训练序列可在从先前再训练起的给定时间量后进行。在许多实施例中,这个时间量可基于由于施加在一个或多个存储器设备或邻近设备(诸如CPU、GPU或设备)上的工作负荷的显著变化而使眼漂移多快地发生来加以确定,每个所述设备可耗散热并造成提高的热负荷。可能存在有限时间例如100微秒(μs),在该有限时间之下存储器设备的温度将不能变化得足以证明测试新的有效数据眼边缘位置是对的。
在一些实施例中,可能存在其它可触发再训练序列开始的事件。例如,一个或多个性能计数器可监视进出存储器子系统的数据吞吐量。如果在预定时间周期内的数据量超过特定的吞吐率(例如1GB/S),则再训练序列可被触发开始。
在一些实施例中,可存在耦合到一个或多个存储器设备以监视温度的热传感器、功率或电流传感器,并且如果从先前的再训练时间点起存在足够大的温度梯度,则可触发新的再训练序列。
返回到图5,如果未到达检查眼移动的时间,则处理逻辑返回到块502。否则,已经到达检查眼移动的时间,则处理逻辑检查移动(处理块504)。如果未检测到移动(即处理逻辑立即在左边缘位置和右边缘位置周围扫描并且它们保持正确的边缘位置),则处理逻辑返回到块502。否则,如果在一个边缘或两个边缘处检测到移动,则处理逻辑再训练具有更新左边缘和右边缘的有效数据眼(处理块506),并且该过程完成。
在许多实施例中,如果在不同的字节通道之间发现眼漂移的变化性不大显著,则对移动的测试可在互连上的单一字节通道(例如DQ0)上发生。因而,在这个实施例中,该训练可针对单一字节通道进行,并且当为该单一字节通道确定该眼的新边缘和中心(选通位置)时,该增量定时位置信息可被应用于每个其它字节通道以及所测试的字节通道。
在许多其它实施例中,该测试可在每个字节通道上单独地发生,并且新边缘和中心定时位置可按照字节通道而被有差别地加以应用。在另一些实施例中,该测试可在每个字节通道上发生,并且然后这些结果可在所有字节通道上进行平均,并且新的平均边缘和中心位置可被应用于所有字节通道。
图6是用于在要针对读和写命令的有效性进行测试的每个增量位置处发布写训练命令的过程的实施例的流程图。
该过程由可包括软件、硬件或软件和硬件两者的组合的处理逻辑执行。该过程开始由处理逻辑向存储器发布写训练命令(处理块600)。这个写训练命令可被发送到每个存储器设备和每个字节通道上。接着,处理逻辑基于发送的写训练命令来接收EDC信息(处理块602)。最终,处理逻辑基于写训练命令和所接收的EDC信息的结果来确定利用数据眼的当前增量定时位置(即如果当前定时位置是数据选通的边缘位置)所发布的写(或读)命令是否会导致正确的数据。换言之,当前增量定时位置是数据眼内的产生正确结果的有效位置、还是数据眼外的产生不正确结果的无效位置。其针对单独的增量定时位置完成该过程。可在针对数据眼的正确边缘的搜索中的每个增量定时位置处执行这个过程。另外,出于冗余目的,可在每个增量定时位置多次执行这个过程。
图7是用于在要针对读和写命令的有效性进行测试的每个增量位置处发布读训练命令的过程的实施例的流程图。
该过程由可包括软件、硬件或软件和硬件两者的组合的处理逻辑执行。该过程开始由处理逻辑向存储器控制器中的读FIFO加载测试模式(test pattern),或者将当前在读FIFO中的随机数据用作测试模式(处理块700)。
接着,处理逻辑向存储器发布读训练命令(处理块702)。这个读训练命令可被发送到每个存储器设备和每个字节通道上。接着,处理逻辑基于发送的读训练命令来接收EDC信息(处理块704)。
最终,处理逻辑基于读训练命令和所接收的EDC信息的结果来确定当前增量定时位置是否是数据眼内的产生读(或写)的正确结果的有效位置(处理块706)。其针对单独的增量定时位置完成该过程。可在针对数据眼的正确边缘的搜索中的每个增量定时位置处执行这个过程。另外,出于冗余目的,可在每个增量定时位置多次执行这个过程。
因而,公开了用于快速存储器数据眼再训练的方法、设备和系统的实施例。这些实施例已参考其具体示例性实施例进行了描述。对于受益于本公开的人员而言将显而易见:在不偏离本文描述的实施例的较宽精神和范围的情况下可对这些实施例做出各种修改和变化。因此,说明书和附图被视为说明性而非限制性的意义。
Claims (14)
1.一种用于快速存储器数据眼再训练的方法,包括:
确定存储器的有效数据眼的左边缘和右边缘;
在该存储器的操作期间周期性地检查左边缘和右边缘的移动;
当检测到移动时,再训练具有更新的左边缘和右边缘的有效数据眼;
其中周期性地检查左边缘和右边缘的移动还包括测试每个边缘位置以及每个边缘位置的左边和右边的一个或多个增量定时位置;以及
对于每个增量定时位置,
发送写训练命令,以确定在数据眼中在定时位置处的写命令的有效性;以及
响应于写训练命令,接收错误检测码(EDC),其中基于错误检测码是否正确来确定读命令的有效性。
2.如权利要求1所述的方法,还包括:
查看耦合到存储器的互连的多个通道中的至少一个通道上的数据眼。
3.如权利要求2所述的方法,还包括:
分别基于每个通道的更新的左边缘和右边缘的确定,来单独地再训练每个通道的有效数据眼。
4.如权利要求2所述的方法,还包括:
周期性地检查多个通道中的一个通道的左边缘和右边缘的移动;以及
当在一个通道上检测到移动时,再训练每个通道的具有更新的左边缘和右边缘的有效数据眼。
5.如权利要求1所述的方法,其中,周期性地检查左边缘和右边缘的移动在自从先前的周期性检查以来流逝预定的时间量后重复地发生。
6.如权利要求1所述的方法,其中,周期性地检查左边缘和右边缘的移动发生在存储器相关的温度事件出现时。
7.如权利要求1所述的方法,其中,周期性地检查左边缘和右边缘的移动发生在存储器相关的功耗事件出现时。
8.如权利要求2所述的方法,其中,周期性地检查左边缘和右边缘的移动发生在跨越所述互连的数据吞吐量超过预定的数据吞吐率时。
9.一种用于快速存储器数据眼再训练的设备,包括:
用于确定存储器的有效数据眼的左边缘和右边缘的装置,其中,所述数据眼被在耦合到存储器的互连的多个通道中的至少一个通道上查看;
用于在该存储器的操作期间周期性地检查左边缘和右边缘的移动的装置;
用于当检测到移动时再训练具有更新的左边缘和右边缘的有效数据眼的装置;
用于测试每个边缘位置以及每个边缘位置的左边和右边的一个或多个增量定时位置、以检查有效数据眼的左边缘和右边缘的移动的装置;
对于每个增量位置,
用于发送写训练命令以确定在数据眼中在定时位置处的写命令的有效性的装置;以及
用于响应于写训练命令来接收错误检测码(EDC)的装置,其中,读命令的有效性被基于错误检测码是否正确来加以确定。
10.如权利要求9所述的设备,其中,该设备还包括:
用于分别基于每个通道的更新的左边缘和右边缘的确定、来单独地再训练每个通道的有效数据眼的装置。
11.如权利要求9所述的设备,其中,该设备还包括:
用于周期性地检查多个通道中的一个通道的左边缘和右边缘的移动的装置;以及
用于当在一个通道上检测到移动时再训练每个通道的具有更新的左边缘和右边缘的有效数据眼的装置。
12.一种用于快速存储器数据眼再训练的系统,包括:
用于确定存储器的有效数据眼的左边缘和右边缘的装置,其中,所述数据眼被在耦合到存储器的互连的多个通道中的至少一个通道上查看;
用于在该存储器的操作期间周期性地检查左边缘和右边缘的移动的装置;
用于当检测到移动时再训练具有更新的左边缘和右边缘的有效数据眼的装置;
用于测试每个边缘位置以及每个边缘位置的左边和右边的一个或多个增量定时位置、以检查有效数据眼的左边缘和右边缘的移动的装置;
对于每个增量位置,
用于发送写训练命令以确定在数据眼中在定时位置处的写命令的有效性的装置;以及
用于响应于写训练命令来接收错误检测码(EDC)的装置,其中,读命令的有效性被基于错误检测码是否正确来加以确定。
13.如权利要求12所述的系统,其中,该系统还包括:
用于分别基于每个通道的更新的左边缘和右边缘的确定来单独地再训练每个通道的有效数据眼的装置。
14.如权利要求12所述的系统,其中,该系统还包括:
用于周期性地检查多个通道中的一个通道的左边缘和右边缘的移动的装置;以及
用于当在一个通道上检测到移动时再训练每个通道的具有更新的左边缘和右边缘的有效数据眼的装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/459,420 US8037375B2 (en) | 2009-06-30 | 2009-06-30 | Fast data eye retraining for a memory |
| US12/459420 | 2009-06-30 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN101937726A CN101937726A (zh) | 2011-01-05 |
| CN101937726B true CN101937726B (zh) | 2013-12-11 |
Family
ID=43299251
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2010102211070A Expired - Fee Related CN101937726B (zh) | 2009-06-30 | 2010-06-30 | 针对存储器的快速数据眼再训练 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US8037375B2 (zh) |
| CN (1) | CN101937726B (zh) |
| DE (1) | DE102010021794A1 (zh) |
| GB (1) | GB2471573B (zh) |
| TW (1) | TWI428757B (zh) |
Families Citing this family (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8644085B2 (en) * | 2011-04-05 | 2014-02-04 | International Business Machines Corporation | Duty cycle distortion correction |
| US8495440B2 (en) | 2011-08-30 | 2013-07-23 | Advanced Micro Devices, Inc. | Fully programmable parallel PRBS generator |
| US8570063B2 (en) | 2011-10-25 | 2013-10-29 | Micron Technology, Inc. | Methods and apparatuses including an adjustable termination impedance ratio |
| US9086881B2 (en) * | 2012-06-29 | 2015-07-21 | Intel Corporation | Mechanism for facilitating write tracking for following data eye movements across changing thermal conditions in memory systems |
| 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 |
| US9007855B2 (en) | 2012-12-24 | 2015-04-14 | Arm Limited | Data signal receiver and method of calibrating a data signal receiver |
| US9213359B2 (en) | 2012-12-24 | 2015-12-15 | Arm Limited | Interface for controlling the phase alignment of clock signals for a recipient device |
| WO2014146027A2 (en) * | 2013-03-15 | 2014-09-18 | Gsi Technology, Inc. | Systems and methods involving data bus inversion memory circuitry, configuration and/or operation. |
| US9042188B2 (en) | 2013-04-01 | 2015-05-26 | Arm Limited | Memory controller and method of calibrating a memory controller |
| US9105327B2 (en) | 2013-04-12 | 2015-08-11 | Arm Limited | Memory controller using a data strobe signal and method of calibrating data strobe signal in a memory controller |
| TWI508066B (zh) * | 2013-04-30 | 2015-11-11 | Mstar Semiconductor Inc | 記憶體控制器及其信號產生方法 |
| CN104182357B (zh) * | 2013-05-23 | 2017-03-22 | 晨星半导体股份有限公司 | 存储器控制器及其信号方法 |
| US9021154B2 (en) * | 2013-09-27 | 2015-04-28 | Intel Corporation | Read training a memory controller |
| US10241937B2 (en) | 2015-07-08 | 2019-03-26 | International Business Machines Corporation | Adjusting an optimization parameter to customize a signal eye for a target chip on a shared bus |
| US10423545B2 (en) | 2015-07-08 | 2019-09-24 | International Business Machines Corporation | Adjusting an optimization parameter to customize a signal eye for a target chip on a shared bus |
| US10114788B2 (en) | 2015-07-08 | 2018-10-30 | International Business Machines Corporation | Adjusting an optimization parameter to customize a signal eye for a target chip on a shared bus |
| US9396778B1 (en) | 2015-08-07 | 2016-07-19 | Apple Inc. | Conditional memory calibration cancellation |
| US9558850B1 (en) | 2015-12-01 | 2017-01-31 | International Business Machines Corporation | Efficient calibration of a data eye for memory devices |
| US9620184B1 (en) | 2015-12-16 | 2017-04-11 | International Business Machines Corporation | Efficient calibration of memory devices |
| US9715907B1 (en) * | 2016-05-09 | 2017-07-25 | Invecas, Inc. | Optimal data eye for improved Vref margin |
| KR102707683B1 (ko) * | 2016-07-12 | 2024-09-20 | 삼성전자주식회사 | 메모리 채널의 소프트웨어 트레이닝을 수행하는 전자 장치 및 그것의 메모리 채널 트레이닝 방법 |
| US11604714B2 (en) | 2017-08-09 | 2023-03-14 | Samsung Electronics Co, Ltd. | Memory device for efficiently determining whether to perform re-training operation and memory system including the same |
| KR102392055B1 (ko) | 2017-08-09 | 2022-04-28 | 삼성전자주식회사 | 리트레이닝 동작의 수행 여부를 효율적으로 결정하기 위한 메모리 장치 및 이를 포함하는 메모리 시스템 |
| KR102273191B1 (ko) | 2017-09-08 | 2021-07-06 | 삼성전자주식회사 | 스토리지 장치 및 그것의 데이터 트레이닝 방법 |
| KR20190085642A (ko) * | 2018-01-11 | 2019-07-19 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
| US10530347B2 (en) | 2018-03-23 | 2020-01-07 | Sandisk Technologies Llc | Receiver-side setup and hold time calibration for source synchronous systems |
| US10664432B2 (en) * | 2018-05-23 | 2020-05-26 | Micron Technology, Inc. | Semiconductor layered device with data bus inversion |
| US10964702B2 (en) | 2018-10-17 | 2021-03-30 | Micron Technology, Inc. | Semiconductor device with first-in-first-out circuit |
| US11449439B1 (en) | 2019-07-25 | 2022-09-20 | Rambus Inc. | Fragmented periodic timing calibration |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101067965A (zh) * | 2006-04-21 | 2007-11-07 | 奥特拉股份有限公司 | 用于数据接口的读出侧校准 |
| US7461286B2 (en) * | 2003-10-27 | 2008-12-02 | Micron Technology, Inc. | System and method for using a learning sequence to establish communications on a high-speed nonsynchronous interface in the absence of clock forwarding |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6691214B1 (en) * | 2000-08-29 | 2004-02-10 | Micron Technology, Inc. | DDR II write data capture calibration |
| US6889334B1 (en) * | 2001-10-02 | 2005-05-03 | Advanced Micro Devices, Inc. | Multimode system for calibrating a data strobe delay for a memory read operation |
| ATE477634T1 (de) * | 2001-10-22 | 2010-08-15 | Rambus Inc | Phaseneinstellvorrichtung und verfahren für ein speicherbaustein-signalisierungssystem |
| US7076678B2 (en) * | 2002-02-11 | 2006-07-11 | Micron Technology, Inc. | Method and apparatus for data transfer |
| US7036053B2 (en) * | 2002-12-19 | 2006-04-25 | Intel Corporation | Two dimensional data eye centering for source synchronous data transfers |
| US7853837B2 (en) * | 2004-09-10 | 2010-12-14 | Rambus Inc. | Memory controller and method for operating a memory controller having an integrated bit error rate circuit |
| US7743288B1 (en) * | 2005-06-01 | 2010-06-22 | Altera Corporation | Built-in at-speed bit error ratio tester |
| US7587640B2 (en) * | 2005-09-27 | 2009-09-08 | Agere Systems Inc. | Method and apparatus for monitoring and compensating for skew on a high speed parallel bus |
| US20080043782A1 (en) | 2006-08-15 | 2008-02-21 | Maurizio Skerlj | Method and apparatus for checking the position of a receive window |
| US8207976B2 (en) * | 2007-03-15 | 2012-06-26 | Qimonda Ag | Circuit |
| US7886174B2 (en) * | 2007-06-27 | 2011-02-08 | Intel Corporation | Memory link training |
-
2009
- 2009-06-30 US US12/459,420 patent/US8037375B2/en not_active Expired - Fee Related
-
2010
- 2010-05-27 DE DE102010021794A patent/DE102010021794A1/de not_active Ceased
- 2010-05-31 TW TW099117421A patent/TWI428757B/zh not_active IP Right Cessation
- 2010-06-30 GB GB1011040.1A patent/GB2471573B/en not_active Expired - Fee Related
- 2010-06-30 CN CN2010102211070A patent/CN101937726B/zh not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7461286B2 (en) * | 2003-10-27 | 2008-12-02 | Micron Technology, Inc. | System and method for using a learning sequence to establish communications on a high-speed nonsynchronous interface in the absence of clock forwarding |
| CN101067965A (zh) * | 2006-04-21 | 2007-11-07 | 奥特拉股份有限公司 | 用于数据接口的读出侧校准 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW201112003A (en) | 2011-04-01 |
| US20100332921A1 (en) | 2010-12-30 |
| US8037375B2 (en) | 2011-10-11 |
| TWI428757B (zh) | 2014-03-01 |
| GB2471573A (en) | 2011-01-05 |
| GB2471573B (en) | 2011-12-21 |
| CN101937726A (zh) | 2011-01-05 |
| DE102010021794A1 (de) | 2011-01-05 |
| GB201011040D0 (en) | 2010-08-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101937726A (zh) | 针对存储器的快速数据眼再训练 | |
| US11953981B2 (en) | Memory module register access | |
| JP7121875B1 (ja) | パーシステントメモリシステム等のデータ完全性 | |
| US10978170B2 (en) | Method and system for monitoring information of a memory module in real time | |
| KR102350538B1 (ko) | Ddr 메모리 에러 복구 | |
| US8103920B2 (en) | Memory system configured by using a nonvolatile semiconductor memory | |
| US20100162037A1 (en) | Memory System having Spare Memory Devices Attached to a Local Interface Bus | |
| CN110119327A (zh) | 用于校正存储器错误的共享的奇偶校验 | |
| US7020815B2 (en) | Memory technology test apparatus | |
| US20090085604A1 (en) | Multiple address outputs for programming the memory register set differently for different dram devices | |
| US20190065116A1 (en) | Storage device and communication control method | |
| CN112349342B (zh) | 维护ddr5内存子系统的维护装置、方法、设备和存储介质 | |
| KR20210040463A (ko) | 오류 정정 및 메모리 테스트 동작을 수행하기 위한 인-패키지 시퀀서를 포함하는 메모리 서브 시스템 | |
| CN112530484B (zh) | 存储器模块及其操作方法 | |
| US20260030098A1 (en) | Memory error correction method, memory module, memory controller, and processor | |
| US7809899B2 (en) | System for integrity protection for standard 2n-bit multiple sized memory devices | |
| US9542251B2 (en) | Error detection on a low pin count bus | |
| US8902694B2 (en) | Integrity check of measured signal trace data | |
| CN112667483A (zh) | 用于服务器主板的内存信息读取装置、方法及服务器 | |
| US20240004583A1 (en) | Protocol for data poisoning | |
| CN115269199B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
| US12393351B2 (en) | Memory device, memory system and method for operating memory system | |
| US20180358107A1 (en) | Assessing in-field reliability of computer memories |
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 | ||
| CF01 | Termination of patent right due to non-payment of annual fee | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131211 Termination date: 20190630 |

