CN101859286B - 存储器命令时序的主动训练 - Google Patents

存储器命令时序的主动训练 Download PDF

Info

Publication number
CN101859286B
CN101859286B CN201010187457.XA CN201010187457A CN101859286B CN 101859286 B CN101859286 B CN 101859286B CN 201010187457 A CN201010187457 A CN 201010187457A CN 101859286 B CN101859286 B CN 101859286B
Authority
CN
China
Prior art keywords
clk
cmd
postpone
ctl
arrange
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
Application number
CN201010187457.XA
Other languages
English (en)
Other versions
CN101859286A (zh
Inventor
T·Z·舍恩博恩
J·V·洛夫莱西
C·P·莫扎克
B·L·斯普里
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN101859286A publication Critical patent/CN101859286A/zh
Application granted granted Critical
Publication of CN101859286B publication Critical patent/CN101859286B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Abstract

本发明的实施例一般针对用于对存储器命令时序进行主动训练的***、方法和装置。在某些实施例中,使用存储模块和存储控制器之间的主动反馈来主动训练CMD/CTL时序。还描述并请求保护了其他实施例。

Description

存储器命令时序的主动训练
技术领域
本发明的实施例一般涉及数据处理***领域,并且更特别地涉及用于存储器命令时序(memory command timing)的主动训练(active training)的***、方法和装置。
背景技术
在某些存储器体系结构中,存储控制器通过命令/控制(CMD/CTL)总线以及数据总线与存储模块通信。CMD/CTL总线上的快的信号传输速率推动着对于在CMD/CTL信号和时钟(CLK)之间进行严格的时序控制(timing control)的需求。在传统***中,基于主板布线准则、***仿真和经验数据的组合来对CMD/CTL信号和CLK之间的相对间隔进行静态编程。
附图说明
本发明的实施例通过示例的方式而非通过限制性的方式在附图的图中示出,在附图中,同样的附图标记指代类似的元件。
附图1是示出根据本发明实施例实现的计算***的所选择方面的高级框图;
附图2是示出根据本发明实施例的主动CMD/CTL训练的所选择方面的框图;
附图3是示出根据本发明实施例的用于确定信号延迟的电路的所选择方面的框图;
附图4是示出根据本发明实施例的信号延迟和延迟设置之间的关系的图表;
附图5是示出根据本发明实施例的用于CMD/CTL训练的方法的所选择方面的流程图;
附图6是示出用于读DQ-DQS训练的方法的所选择方面的流程图。
具体实施方式
本发明实施例通常针对用于对存储器命令时序进行主动训练的***、方法和装置。正如前面提到的,在传统***中,CMD/CTL时序是基于仿真结果、经验数据积累等而被静态地设置的。这种方法不能解决设备可变性、板可变性或规范违反(这种情况在动态随机存取存储器或DRAM中很常见)。除此之外,这种传统的方法需要花费很大的力气去表征跨越宽解空间的最佳时序。本发明实施例提供了针对CMD/CTL时序的主动训练。针对CMD/CTL的主动训练是一个困难的挑战,这是由于来自DRAM的任何清楚的反馈信号的缺乏、以及任何对时序的违反会使DRAM进入未知状态的事实而导致的。如下面参考附图1-5所进一步讨论的那样,存储***中预先存在的机构可以被适配为在存储模块和存储控制器之间提供主动反馈。
附图1是示出了根据本发明实施例实现的计算***的所选择方面的高级框图。***100包括集成电路102、DRAM子***104和存储器互连106。在可选实施例中,***100可以包括更多元件、更少元件和/或不同元件。
集成电路102包括处理器核108和逻辑110。处理器核108可以是包括一般处理器核、图形处理器核等的各式各样的处理器核中的任一种。逻辑110广义地表示一系列广泛的逻辑,例如包括存储控制器、其他输入/输出(IO)接口等。虽然附图1示出了其中存储控制器与处理器核集成在一起的实施例,但是可以理解的是,在可选实施例中,存储控制器和处理器核可以处于分离的集成电路中。
存储器互连106耦合集成电路102与DRAM子***104。在某些实施例中,互连106为源同步互连。术语“源同步”是指在同一互连上传输信号和CLK,并使用CLK以在接收器处采样信号。在下面描述的实施例中,使用延迟锁定环/相位内插器(DLL/PI)(其将时钟周期分成128个等间隔相位)来生成CLK。在可选实施例中,可以使用不同的机制来划分CLK,并且可以将CLK分成不同数量的相位。如下面进一步描述的那样,可以使用数字控制码(例如选择码)将CLK置于周期中的任何位置。
在某些实施例中,存储器互连106包括数据互连和CMD/CTL互连。数据互连可以具有多分支布局(multi-drop topology),而CMD/CTL互连可以具有菊链式布局。在本专利中,术语“总线”与“互连”被同义地使用。
DRAM子***104为***100提供主存储器的至少一部分。在图示的实施例中,DRAM子***104包括一个或多个存储模块112。模块112可以是包括双列直插存储模块(DIMMs)、寄存式DIMMs(RDIMMs)、无缓冲DIMMs(UDIMMs)、小型DIMMs(SO-DIMMs)等的各式各样的存储模块中的任何一种。每一个模块112可以有一个或多个DRAM 114(以及可能的其他元件,如寄存器、缓冲器等)。DRAM 114可以是包括几乎任意代的双倍数据速率(DDR)DRAM的各式各样的设备中的任何一种。在某些实施例中,DRAM 114(以及***100的其他部件)符合(至少部分符合)一个或多个定义DDR3的规范。
基本输入/输出***(BIOS)116尤其提供用于对***100的所选择方面进行初始化的逻辑。在某些实施例中,BIOS116包括逻辑118。如下面参照附图2-5进一步讨论的那样,逻辑118使用反馈机构来主动训练互连106的CMD/CTL总线。例如,逻辑118可以使用反馈机构111来主动训练CMD/CTL总线。如下面进一步讨论的,在某些实施例中,机构111包括RX DQ/DQS训练有限状态机(FSM)。在可选实施例中,机构111可以包括不同的或附加的逻辑。在再一个实施例中,该机构可以在固件中(例如在BIOS116中)实现(或部分实现)。
附图2是示出根据本发明实施例的主动CMD/CTL训练的所选择方面的框图。计算***200包括经由互连220与存储模块204耦合的集成电路202。在其他实施例中,***200可以具有更多元件、更少元件和/或不同元件。***200可以是包括台式计算机、膝上型计算机、服务器、消费性电子设备(如游戏***)、移动互联网设备等的各种计算***中的任何一种。
在某些实施例中,集成电路202包括一个或多个处理器核和集成的存储控制器。在其他实施例中,集成电路202为芯片组的元件。在图示的实施例中,互连220包括数据总线和CMD/CTL总线。数据总线可以具有多分支布局,而CMD/CTL总线可以具有菊链式布局。CMD信号可以包括存储器地址(MA)、存储体地址(bank address)(BA)、行地址选通(RAS)、列地址选通(CAS)、允许写入(WE)等。控制信号可以包括片内终结器(on-die termination)(ODT)、芯片选择(CS)、时钟使能(CE)等。CMD线可以被跨越多级(rank)共享,并且每一级可以有单独的CTL线。在可选实施例中,互连220可以有更多元件、更少元件和/或不同元件。
模块204可以是包括DIMM、小型DIMM(SO-DIMMs)、RDIMMs、UDIMMs等的各式各样的存储模块中的任何一种。每一个模块包括多个DRAM。在某些实施例中,DRAM(以及***200的其他元件)至少部分遵守一个或多个DDR3规范。
***200包括用于利用模块204与集成电路202之间的反馈来使能CMD时序的主动训练的功能部件。那些功能部件包括用于控制该训练的逻辑(例如224)、用于给信号不同数量的延迟的硬件(例如,214、216和218)、以及用于提供反馈机构的逻辑(例如208和210)。在可选实施例中,***200可以包括用以主动训练CMD时序的更多的功能部件和/或不同的功能部件。
还有很多方法可以用来主动训练CMD时序。首先,你可以对CMD和CTL的延迟设置进行静态编程,以及然后相对于CMD和CTL移动CLK以确定哪些对准(alignment)是有效的。第二种方法是静态编程CTL对(versus)CLK,以及然后一起移动CLK和CTL,以确定哪些对准(alignment)是有效的。第三种方法是使用两阶段训练流程,其中第一种方法和之后的第二种方法在连续的阶段中加以执行。另外,其他组合也是可以的。例如,可以固定CLK,并可以相对于该CLK来移动CMD和CTL中的一个或两个。
下面描述的实施例针对用于主动CMD训练的第一种方法。这种方法解决了用于采样CMD的建立时序和保持时序的问题。但是可以理解的是,本发明的可选实施例可以使用第一、第二和第三种方法的几乎任何组合。
BIOS 222包括逻辑224。在某些实施例中,逻辑224启动并控制训练CMD时序的过程。例如,逻辑224可以为CMD和CTL设置初始值,并利用反馈机构(208和210)来确定多个CLK延迟设置的通过/失败结果。然后,逻辑224可以基于该通过/失败结果来确定合适的CLK延迟设置。下面参照附图5对逻辑224进行进一步讨论。
在图示的实施例中,逻辑224使用预先存在的机构来为训练CMD时序提供反馈。特别是,逻辑224可以使用RX DQ/DQS训练有限状态机(FSM)作为反馈机构。为了便于说明,将RX DQ/DQS训练FSM显示在两个分别的部分中:FSM 208和DATA210。FSM 208和DATA210协同工作以发送信号给DRAM206,并接收从DRAM 206返回的信息。例如,FSM 208可以发送具有与CLK对准的各种CMD。如果DRAM 206接收并正确解释该CMD,则CMD和CLK具有合适的对准(alignment)。当这种情况发生时,DRAM 206通过在DQ/DQS总线上将模式(例如触发模式(toggle pattern))传递到集成电路202来进行响应。如果DATA210接收到针对CMD和CLK之间的给定对准的模式(pattem),则测试通过,并且DATA210会发送成功测试的指示给逻辑224。如果DATA210没有接收到针对给定对准的模式,则针对该特定设置的测试失败,并且DATA210会发送不成功的测试的指示给逻辑224。
在某些实施例中,为了FSM可以通过,DRAM必须正确地登记(register)MSR命令、Activate命令和多个Read CAS(列地址选通)命令。如果DRAM 206没能正确地登记这些命令中的任一者,则DRAM将不能在DQ和DQS上返回正确的信号,并且RX训练会卡在FindOpen中。最终会基于可编程超时计数器而将其标记为失败。
使用预先存在的反馈机构例如RX DQ/DQS FSM提供了许多优点。首先,因为许多控制器已经有了该FSM,所以没有必要在许多控制器中增加新的逻辑。此外,只需要命令流量(command traffic)起作用,而不需要任何起点。这种方法不会在很大程度上依赖于相同信道上的其他DRAM设备上的MRS编程(例如,尽管RX眼可能是比较小的,但是FSM仍然可以通过,而无需在非目标(non-targeted)DIMM中开启片内终结器(on-die termination))。这种方法针对UDIMM和RDIMM二者都可以无缝地(seamlessly)工作。它提供了良好的覆盖度,因为它需要若干不同的CMD引脚以满足时序要求。这些引脚可以包括RAS(行地址选通)、WE(允许写入)、CS(芯片选择)、BA[1:0]和A[2:0]。使用RX DQ/DQS FSM还消除了错误通过的风险。在某些情况下(例如一些RDIMM实施例),可以为通过/失败逻辑增加额外的反馈,例如来自寄存器或类似设备的地址奇偶错。
逻辑224针对各种CLK延迟设置收集通过/失败结果,并且决定在操作时间内哪个延迟设置用于CLK。例如,可能会有一个或多个这样的CLK延迟设置范围,即在该范围内测试通过。在某些实施例中,逻辑224确定哪个范围是最长的范围。例如,考虑这样一个实施例,其中有128个可能的CLK延迟设置(0到127)。此外,假设有两个通过的设置范围:1-3和10-122。逻辑224可以选择第二个范围(10-122)。在某些实施例中,逻辑224则确定最大的通过区域的中心。继续同样的例子,逻辑224可以计算哪个设置对应于该通过区域的中央(例如(122+10)/2=66)。在逻辑224确定了哪个延迟值对应于该通过区域的中心(如66)以后,则它可以将CLK的延迟设定(例如,为控制CLK的延迟的相位内插器提供数字选择码)为适当值。
CTL 214、CMD 216和CLK 218分别包括对CTL、CMD和CLK信号给予延迟的电路。例如,锁相环(PLL)212可以为CTL214、CMD216和CLK218中的每一个提供CLK。CTL 214、CMD 216和CLK 218可以包括将该CLK划分为多个相位(如128个)的电路,以及选择将CTL、CMD和CLK信号对准到这些相位中的哪个相位的电路。下面参照附图3-4进一步讨论该电路的示例。
附图3是示出用于确定信号延迟的电路的所选方面的框图。锁相环(PLL)302将CLK分发给多个电路(例如附图2中所示的CTL 214、CMD 216和CLK218)。延迟锁定环(DLL)304接收CLK并将其划分为多个(如16个)等间隔的CLK。这些时钟被提供给相位内插器(PI)306,该相位内插器通过内插相邻相位来产生更细间隔尺寸(granularity)的CLK(如128个)。PI 306还接收数字选择码312,该码选出时钟的相位。该被选择的相位控制锁存器308以给予XX DDR CLK 314该所选择的延迟。可以使用类似的处理来给予CMD和CTL适当的延迟。
附图4是示出根据本发明实施例的延迟设置和信号延迟之间的关系的图表。纵轴示出所选择的相位(例如以微微秒计(in pico seconds)),而横轴表示设置。图示的延迟和设置之间的关系仅仅是示例性的,并且在其他实施例中关系可以是不同的。
附图5是示出根据本发明实施例的用于CMD/CTL训练的方法的所选择方面的流程图。参照502,设置CMD和CTL的延迟推出(delay push out)。在本专利中,术语“延迟设置”和“延迟推出”被同义地使用。在某些实施例中,训练逻辑(例如附图2中的逻辑224)通过为CTL 214和CMD 216(附图2中所示)的相位内插器提供适当的选择码来设置延迟推出。
参照504,将CLK的延迟推出设置为初始值。例如,训练逻辑可以为CLK218的相位内插器提供适当的选择码,以将该延迟推出设置为初始值。在某些实施例中,该初始值为零。在其他实施例中,可以使用不同的初始值。
参照506,训练逻辑使用反馈机构(例如附图2中所示的208和210)来针对各种CLK设置测试CLK和CMD/CTL之间的对准。例如,针对多个CLK设置中的每一个,该训练逻辑使用FSM 208发送多个命令/控制信号,并且还使用DATA210来确定DRAM是否响应于该命令/控制信号提供了适当的模式。针对该测试的每一次迭代,训练逻辑记录由DATA 210提供的通过/失败指示。在该测试的每一次迭代之后,复位存储模块(508),并且将CLK的延迟设置编程为下一个设置。可以选择每一次迭代之间的步长,以产生准确性和运行时间之间的理想折衷。例如,如果CLK被分成128个相位,并且步长为4,则该测试可能具有32次迭代。附图5示出了测试的两个循环以示出多个通道可以被并行地训练。
参照510,训练逻辑找出在测试期间产生通过结果的CLK延迟设置的最大范围。使用与前面所讨论的相同的例子,可能有两个产生通过结果的CLK设置范围:1-3和10-122。训练逻辑将选择第二个范围(10-122),因为第二个范围最大。然后,训练逻辑找出该最大通过范围的中心,并将该CLK延迟设置设定为该最大通过范围的中心。继续相同的例子,训练逻辑可以计算该第二范围的中心(如(122+10)/2=66),并且然后利用对应于所选择范围的中心(例如对应于66)的选择码来对CLK延迟设置进行编程。
在对一个或多个CLK延迟设置进行编程以后,在512处可以复位存储模块。这为启动过程的其他操作提供了“清白的历史”。可以针对存储子***(如附图1中示出的子***104)中的每一个通道上的每一级(rank)重复上面描述的进程,从而在CLK和CMD/CTL之间提供合适的对准。
命令训练方案(例如DDR3命令训练方案)的一个挑战就是运行该训练和在各次迭代之间复位DIMM所花费的时间。在某些实施例中,通过使用下面的技术将这个时间减少到每次迭代2ms以下。可以提供可编程计数器来确定RX训练机使用的采样数。可以提供可编程超时计数器以用于RX训练机。同样,特别定制(并减少的)复位序列可用于DRAM。可以使用可编程步长来避免执行完所有的128次迭代。如果在初始(进程搜索(course search))期间没有发现错误,则可以用第二遍,该第二遍采用CLK相位中的更细的间隔尺寸(granularity)。在某些实施例中,不针对通过的测试复位DRAM。同样,可以并行地训练所有通道。另外,可以在具有相同时钟的各级(rank)之间共享CLK延迟设置。
上面描述的用于主动训练CMD时序的机构允许更高的传输频率、更高的***性能(例如在某些配置中允许1N时序)和更快的上市时间。其以很低的成本提供了这些优点。该机构非常灵活,并且可用于各种各样的***中。
本发明实施例的元件还可以被提供作为机器可读介质以用于存储机器可执行指令。机器可读介质可以包括但不限于,快闪存储器、光盘、光盘只读存储器(CD-ROM)、数字多功能/视频盘(DVD)ROM、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、传播媒体或其他类型的适用于存储电子指令的机器可读介质。例如,本发明的实施例可以作为计算机程序被下载,该计算机程序可以经由通信链路(例如调制解调器或网络连接)通过在载波或其他传播媒体中包含的数据信号从远程计算机(如服务器)传输至发出请求的计算机(如客户端)。
在上面的描述中,使用特定的术语来描述本发明的实施例。例如,术语“逻辑”表示用于执行一个或多个功能的硬件、固件、软件(或其任何组合)。比如,“硬件”的例子包括但不限于集成电路、有限状态机、或者甚至是组合逻辑。集成电路可以采用处理器的形式,诸如微处理器、专用集成电路、数字信号处理器、微控制器等。
应该明了的是,贯穿本说明书提到的“一个实施例”或“实施例”意思是结合该实施例描述的特定特征、结构或特性包含在本发明的至少一个实施例中。因此,要强调和应当明了的是,在本说明书的各部分中对于“实施例”或“一个实施例”或“可选实施例”的两个或更多个提及不一定都涉及同一实施例。此外,特定特征、结构或特性可根据适当情况结合在本发明的一个或多个实施例中。
类似的,应该明了的是,在对本发明实施例的上述描述中,有时候可以将各种特征集合到一个实施例、附图或对其的描述中,以使得公开内容更为流畅,并有助于对各发明方面中的一个或多个方面的理解。然而,并不能将本公开的方法解释为反映了这样一种意图,即与每个权利要求中所清楚地叙述的特征相比,所要求保护的主题需要更多的特征。恰恰相反,正如下面的权利要求所反映的那样,发明方面在于比单个前面公开的实施例的所有特征更少的特征。因此,在详细描述之后的权利要求书因此被清楚地结合到该详细描述中。

Claims (14)

1.一种用于存储器命令时序的主动训练的装置,包括:
用于为链接存储控制器与存储子***的CMD/CTL互连设定CMD延迟设置以及设定CTL延迟设置的装置;
用于设定初始CLK延迟设置的装置;
用于给位于存储控制器中的反馈机构顺序地提供多个CLK延迟设置的装置,以及针对所述多个CLK延迟设置中的每一个,用于记录由反馈机构提供的通过或失败结果的装置;
用于至少部分根据反馈机构所提供的通过或失败结果来选择所述多个CLK延迟设置之一的装置;和
用于将CLK延迟设定为所选择的CLK延迟设置的装置。
2.如权利要求1所述的装置,其中,所述反馈机构包括RX DQ/DQS训练有限状态机。
3.如权利要求2所述的装置,其中,用于选择所述多个CLK延迟设置之一的装置包括:
用于识别一个或多个通过区域的装置;
用于选择最大的通过区域的装置;以及
用于识别与所述最大的通过区域的中心相对应的CLK延迟设置的装置。
4.如权利要求2所述的装置,其中,所述存储控制器被集成到与处理器相同的管芯上。
5.如权利要求2所述的装置,其中,所述CMD/CTL互连是源同步互连。
6.如权利要求2所述的装置,其中,所述装置包括用于计算***的基本输入/输出***。
7.如权利要求2所述的装置,其中,所述存储子***包括多个双倍数据速率(DDR)3存储设备。
8.一种用于存储器命令时序的主动训练的方法,包括:
为链接存储控制器与存储子***的CMD/CTL互连设定CMD延迟设置;
为链接存储控制器与存储子***的CMD/CTL互连设定CTL延迟设置;
设定初始CLK延迟设置;
给位于存储控制器中的反馈机构顺序地提供多个CLK延迟设置;
针对所述多个CLK延迟设置中的每一个,记录由反馈机构提供的通过或失败结果;
至少部分根据反馈机构所提供的通过或失败结果来选择所述多个CLK延迟设置之一;以及
将CLK延迟设定为所选择的CLK延迟设置。
9.如权利要求8所述的方法,其中,所述反馈机构包括RX DQ/DQS训练有限状态机。
10.如权利要求9所述的方法,其中,选择所述多个CLK延迟设置之一包括:
识别一个或多个通过区域;
选择最大的通过区域;以及
识别与所述最大的通过区域的中心相对应的CLK延迟设置。
11.如权利要求9所述的方法,其中,所述存储控制器被集成到与处理器相同的管芯上。
12.如权利要求9所述的方法,其中,所述CMD/CTL互连是源同步互连。
13.如权利要求9所述的方法,其中,所述反馈机构包括在用于计算***的基本输入/输出***内。
14.如权利要求9所述的方法,其中,所述存储子***包括多个双倍数据速率(DDR)3存储设备。
CN201010187457.XA 2009-04-03 2010-04-02 存储器命令时序的主动训练 Expired - Fee Related CN101859286B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/417,828 US8819474B2 (en) 2009-04-03 2009-04-03 Active training of memory command timing
US12/417,828 2009-04-03
US12/417828 2009-04-03

Publications (2)

Publication Number Publication Date
CN101859286A CN101859286A (zh) 2010-10-13
CN101859286B true CN101859286B (zh) 2014-10-22

Family

ID=42228846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010187457.XA Expired - Fee Related CN101859286B (zh) 2009-04-03 2010-04-02 存储器命令时序的主动训练

Country Status (5)

Country Link
US (1) US8819474B2 (zh)
CN (1) CN101859286B (zh)
DE (1) DE102010013668B4 (zh)
GB (1) GB2469210B (zh)
TW (1) TWI430105B (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8451969B2 (en) * 2011-03-15 2013-05-28 Intel Corporation Apparatus, system, and method for timing recovery
US8665665B2 (en) * 2011-03-30 2014-03-04 Mediatek Inc. Apparatus and method to adjust clock duty cycle of memory
US20120284576A1 (en) * 2011-05-06 2012-11-08 Housty Oswin E Hardware stimulus engine for memory receive and transmit signals
US8850155B2 (en) * 2011-12-19 2014-09-30 Advanced Micro Devices, Inc. DDR 2D Vref training
US9003246B2 (en) 2012-09-29 2015-04-07 Intel Corporation Functional memory array testing with a transaction-level test engine
US8996934B2 (en) 2012-09-29 2015-03-31 Intel Corporation Transaction-level testing of memory I/O and memory device
US9009531B2 (en) 2012-12-05 2015-04-14 Intel Corporation Memory subsystem data bus stress testing
US9009540B2 (en) 2012-12-05 2015-04-14 Intel Corporation Memory subsystem command bus stress testing
US20140181452A1 (en) * 2012-12-26 2014-06-26 Nvidia Corporation Hardware command training for memory using read commands
US9607714B2 (en) 2012-12-26 2017-03-28 Nvidia Corporation Hardware command training for memory using write leveling mechanism
US9824772B2 (en) * 2012-12-26 2017-11-21 Nvidia Corporation Hardware chip select training for memory using read commands
US9196384B2 (en) 2012-12-28 2015-11-24 Intel Corporation Memory subsystem performance based on in-system weak bit detection
US9076499B2 (en) 2012-12-28 2015-07-07 Intel Corporation Refresh rate performance based on in-system weak bit detection
US9378169B2 (en) 2012-12-31 2016-06-28 Nvidia Corporation Method and system for changing bus direction in memory systems
US9536626B2 (en) 2013-02-08 2017-01-03 Intel Corporation Memory subsystem I/O performance based on in-system empirical testing
US9374004B2 (en) 2013-06-28 2016-06-21 Intel Corporation I/O driver transmit swing control
US9658642B2 (en) 2013-07-01 2017-05-23 Intel Corporation Timing control for unmatched signal receiver
US9218575B2 (en) 2013-09-04 2015-12-22 Intel Corporation Periodic training for unmatched signal receiver
US10275386B2 (en) * 2014-06-27 2019-04-30 Advanced Micro Devices, Inc. Memory physical layer interface logic for generating dynamic random access memory (DRAM) commands with programmable delays
KR20180007374A (ko) 2016-07-12 2018-01-23 삼성전자주식회사 메모리 채널의 소프트웨어 트레이닝을 수행하는 전자 장치 및 그것의 메모리 채널 트레이닝 방법
US10416912B2 (en) 2016-11-03 2019-09-17 Intel Corporation Efficiently training memory device chip select control
KR20180069565A (ko) * 2016-12-15 2018-06-25 에스케이하이닉스 주식회사 반도체 장치, 반도체 시스템 및 트레이닝 방법
KR102353027B1 (ko) 2017-07-03 2022-01-20 삼성전자주식회사 스토리지 장치의 데이터 트레이닝 방법
US10720197B2 (en) * 2017-11-21 2020-07-21 Samsung Electronics Co., Ltd. Memory device for supporting command bus training mode and method of operating the same
KR20190066327A (ko) * 2017-12-05 2019-06-13 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US12009023B2 (en) 2019-05-24 2024-06-11 Intel Corporation Training for chip select signal read operations by memory devices
US11619964B2 (en) 2021-07-26 2023-04-04 Micron Technology, Inc. Methods for improving timing in memory devices, and related devices and systems
KR20230080766A (ko) * 2021-11-30 2023-06-07 삼성전자주식회사 메모리 장치에 대한 메모리 컨트롤러

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183557A (zh) * 2006-11-15 2008-05-21 奇梦达股份公司 控制信号训练

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6137734A (en) 1999-03-30 2000-10-24 Lsi Logic Corporation Computer memory interface having a memory controller that automatically adjusts the timing of memory interface signals
US6535986B1 (en) * 2000-03-14 2003-03-18 International Business Machines Corporation Optimizing performance of a clocked system by adjusting clock control settings and clock frequency
US6691214B1 (en) * 2000-08-29 2004-02-10 Micron Technology, Inc. DDR II write data capture calibration
US6553472B2 (en) 2001-01-12 2003-04-22 Sun Microsystems, Inc. Method for programming clock delays, command delays, read command parameter delays, and write command parameter delays of a memory controller in a high performance microprocessor
US6370067B1 (en) 2001-01-25 2002-04-09 Ishoni Networks, Inc. Automatic configuration of delay parameters in a dynamic memory controller
US7234099B2 (en) * 2003-04-14 2007-06-19 International Business Machines Corporation High reliability memory module with a fault tolerant address and command bus
US20050083095A1 (en) 2003-10-16 2005-04-21 Tsvika Kurts Adaptive input/output buffer and methods thereof
JP4351941B2 (ja) * 2004-03-26 2009-10-28 株式会社アドバンテスト 試験装置及び試験方法
JP5156932B2 (ja) * 2004-03-31 2013-03-06 ラウンド ロック リサーチ、エルエルシー 集積回路における信号タイミングの再構成
TWI251837B (en) * 2004-10-13 2006-03-21 Via Tech Inc Method and related apparatus for adjusting timing of memory signals
US7886174B2 (en) 2007-06-27 2011-02-08 Intel Corporation Memory link training
US20090023963A1 (en) 2007-07-20 2009-01-22 Nie-Jiann Wen Noncatalytic Conversion of Carbon Tetrachloride to Perchloroethylene
US20090030752A1 (en) 2007-07-27 2009-01-29 General Electric Company Fleet anomaly detection method
US7975164B2 (en) * 2008-06-06 2011-07-05 Uniquify, Incorporated DDR memory controller

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183557A (zh) * 2006-11-15 2008-05-21 奇梦达股份公司 控制信号训练

Also Published As

Publication number Publication date
TWI430105B (zh) 2014-03-11
GB2469210B (en) 2012-01-18
TW201104449A (en) 2011-02-01
US20100257397A1 (en) 2010-10-07
DE102010013668B4 (de) 2015-03-12
GB2469210A (en) 2010-10-06
CN101859286A (zh) 2010-10-13
GB201005641D0 (en) 2010-05-19
DE102010013668A1 (de) 2011-01-05
US8819474B2 (en) 2014-08-26

Similar Documents

Publication Publication Date Title
CN101859286B (zh) 存储器命令时序的主动训练
US9860088B1 (en) Inferring sampled data in decision feedback equalizer at restart of forwarded clock in memory system
KR100711157B1 (ko) 액티브 터미네이션 제어를 위한 방법, 메모리, 모듈 레지스터, 집적 회로, 메모리 모듈 및 시스템
US8751754B2 (en) Memory systems and methods for controlling the timing of receiving read data
US7669086B2 (en) Systems and methods for providing collision detection in a memory system
US7539810B2 (en) System, method and storage medium for a multi-mode memory buffer device
US8631220B2 (en) Adjusting the timing of signals associated with a memory system
US6173345B1 (en) Method and apparatus for levelizing transfer delays for a channel of devices such as memory devices in a memory subsystem
US9851744B2 (en) Address and control signal training
EP3234784B1 (en) Dynamic random access memory (dram) component for high-performance,high-capacity registered memory modules
US7979616B2 (en) System and method for providing a configurable command sequence for a memory interface device
US20060023482A1 (en) 276-Pin buffered memory module with enhanced fault tolerance
US20060095620A1 (en) System, method and storage medium for merging bus data in a memory subsystem
US9257200B2 (en) Bit error testing and training in double data rate (DDR) memory system
CN104868885A (zh) 具有可变延迟线单元的延迟线电路
US7411862B2 (en) Control signal training
KR100625294B1 (ko) 전원 공급 제어 회로 및 전원 공급 회로의 제어 방법
CN102141967B (zh) 总线时序参数配置方法和装置
CN100565490C (zh) 通过模块上寄存器的主动终止控制
US20050165572A1 (en) Systems and methods for non-intrusive testing of signals between circuits
Payal et al. CASE STUDY OF LPDDR4-PHY

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: 20141022

Termination date: 20210402