CN105723351A - 对存储器控制器进行读训练 - Google Patents

对存储器控制器进行读训练 Download PDF

Info

Publication number
CN105723351A
CN105723351A CN201480047736.2A CN201480047736A CN105723351A CN 105723351 A CN105723351 A CN 105723351A CN 201480047736 A CN201480047736 A CN 201480047736A CN 105723351 A CN105723351 A CN 105723351A
Authority
CN
China
Prior art keywords
reading
identifier
memory module
data
ebi
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.)
Granted
Application number
CN201480047736.2A
Other languages
English (en)
Other versions
CN105723351B (zh
Inventor
T·G·莫里斯
J·C·贾斯珀
A·J·富尔斯捷
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
Priority to CN202010689225.8A priority Critical patent/CN112069110A/zh
Publication of CN105723351A publication Critical patent/CN105723351A/zh
Application granted granted Critical
Publication of CN105723351B publication Critical patent/CN105723351B/zh
Active 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
    • 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 

Abstract

提供了一种用于设备和计算机可读存储介质,用于:对存储器模块编程以启动训练方式,在所述训练方式中存储器模块在总线接口的边带通路上传输连续的比特模式;通过总线接口接收比特模式;从所接收的比特模式中确定比特模式中的值变换从而在所确定的值变换之间确定数据眼;以及确定一设置以控制相位插值器产生用于在所确定的数据眼内采样数据的插值信号。

Description

对存储器控制器进行读训练
技术领域
在此描述的实施例一般地涉及存储器系统,在所述存储器系统中存储器控制器通过单个通道或总线与多个存储器模块进行通信,所述存储器模块具有与耦合到该通道和存储器控制器的插槽兼容的引脚布局。
背景技术
存储器控制器管理处理器与一个或多个存储器模块之间在接口或总线上的数据流。存储器控制器包含对存储器模块进行读写以及对存储在DRAM中的数据进行刷新所需的逻辑。其实现为单个芯片。存储器控制器支持耦合到通道的多个存储器模块所使用的协议,例如电子器件工程联合委员会(JEDEC)第三代双倍数据速率(DDR3)同步动态随机存取存储器(SDRAM)协议。
在对存储器使用接口之前,存储器控制器必须通过调整存储器控制器将激活以从存储器模块采样读数据的定时,来配置存储器模块的操作。单个对齐设备,例如相位插值器,被存储器控制器控制以产生时钟相位信息,并响应于相位控制信号和具有不同确定相位的参考信号来对齐数据采样信号以在读数据将被发送的中心处或数据眼采样读数据中心。
附图说明
实施例通过举例的方式并参考附图进行说明,附图并非按比例绘制,其中相似的参考数字指代相似的元件。
图1示出了具有存储器系统的系统的实施例。
图2示出了存储器模块的实施例。
图3示出了存储器控制器和存储器模块之间的总线接口的实施例。
图4是执行细读训练来调整相位插值器以产生采样信号的操作的实施例。
图5示出了执行粗读训练来确定读数据被接收时的读偏移量的操作的实施例。
图6示出了在正常读操作期间执行相位插值器训练的操作的实施例。
具体实施方式
通过存储器接口,存储器模块将选通信号连同数据信号发送到存储器控制器,在那里存储器控制器处理选通信号以确定何时开启接收器并读取数据。然后存储器控制器可使用其他过程来确定在何处采样读数据以读取,例如使用相位插值器。
所描述的实施例提供技术以执行细读训练,后面跟随粗读训练,然后是高级读训练,从而在正常读操作期间调整相位插值器。所描述的实施例为存储器模块提供边带信号通路以返回存储器控制器用来调整相位插值器的信号。并且,存储器控制器提供存储器模块信号模式(pattern),存储器模块通过总线上与数据和命令总线线路分离的边带信号通路返回该存储器模块信号模式,供存储器控制器用于确定何时开启接收器以对返回的读数据进行采样的读偏移量定时。
在下面的描述中,为了提供对本发明更透彻的理解,阐述了大量特定细节,例如逻辑实现、操作码、指定操作数的装置、资源分割/共享/复制实现、系统组件的类型和相互关系以及逻辑划分/整合选择。然而,本领域技术人员应当理解,可以不用这些特定细节实施本发明。在其他实例中,为了避免混淆本发明,没有详细地示出控制结构、门级电路和全套软件指令序列。根据所包含的说明,无需过度实验,本领域技术人员将能够实现适当的功能。
说明中的指代“一个实施例”、“实施例”、“示例实施例”等,表示所描述的实施例可以包括特别的特征、结构或特性,但是每个实施例可不必定包括该特别的特征、结构或特性。并且,这样的短语并不必定指代相同的实施例。
在下面的说明书和权利要求书中,可能用到术语“耦合”和“连接”以及它们的衍生词。应当理解,这些术语并非作为彼此的同义词。“耦合”用于表示可能或可能不彼此直接物理或电性接触的两个或多个元件,彼此协作或交互。“连接”用于表示在两个或多个彼此耦合的元件之间建立通信。某些实施例涉及存储器设备电子组件。实施例包括设备和形成电子组件的方法。
图1示出了计算系统100的实施例,计算系统100包括典型地安装在母板上的一个或多个处理器102、存储器控制器104和多个存储器模块200a、200b。处理器102可包括中央处理单元、多核处理器。存储器控制器104,响应于来自处理器102的存储器存取请求,经由总线108与多个存储器模块200a、200b通信,总线108也称之为通道、总线接口等,其中存储器模块200a、200b二者分别地和独立地连接到相同的总线108。存储器控制器104可包括控制器逻辑110,控制器逻辑110包含:被执行以实现操作的代码或逻辑;相位插值器112,用于接收输入定时信号并产生与所接收的读数据信号的数据眼对齐的插值采样信号;线性反馈移位寄存器(LFSR)114,用于产生在粗和高级读训练阶段使用的随机读标识符;以及训练寄存器116,用于存储训练操作期间使用的值。
在图1的实施例中,存储器模块200a、200b安装在系统100母板上的插槽或存储器插座中。存储器模块200a、200b可包括相同或不同类型的存储器模块,这些存储器模块具有和母板上的存储器插槽中的引脚排列兼容的引脚排列。并且,存储器模块可支持相同或不同的存储器协议,例如第四代双倍数据速率(DDR4)协议和其他协议。尽管仅示出了两个存储器模块200a、200b,可以有多个存储器模块。
存储器模块200a、200b中的每个分别在存储器模块200a、200b的一边或两边包括存储器芯片202a、204a、206a、208a和202b、204b、206b、208b以存储数据。位于存储器模块包装200a、200b一边或两边上的存储器芯片,例如DRAM芯片,包括存储正在被处理器102使用的数据的存储元件。
每个存储器模块200a、200b可包括存储器模块控制器210a、210b用于与存储器控制器104协调存储器管理和存取操作。存储器控制器104包括逻辑,例如逻辑110,用于关于连接到总线108的存储器模块200a、200b管理读训练操作、读写操作和存储器管理操作,并将处理器2接口到存储器模块200a、200b。存储器控制器104和/或存储器模块200a、200b可以与处理器102集成,或者如图1所示在系统100母板上与处理器102分离的逻辑中实现。
系统100母板可包括与不同类型的存储器芯片兼容的存储器插座,以允许支持不同类型的存储器设备的不同类型的存储器模块200a、200b,所述不同类型的存储器设备支持不同的存储器协议,只要不同类型的存储器模块200a、200b与存储器插座中的引脚架构兼容。
在一个实施例中,存储器模块200a、200b可包括相同或不同类型的双倍数据速率同步动态随机存取存储器(DDRSDRAM)存储器模块,例如LPDDR,双列直插式存储器模块(DIMM),例如无缓冲DIMM(UDIMM)、低负载双列直插式存储器模块(LRDIMM)、小型双列直插式存储器模块(SODIMM)等。存储器模块200a、200b可实现各种形式的存储器,包括,但不限于,NAND(快闪)存储器,铁电随机存取存储器(FeTRAM),基于纳米线的非易失性存储器,三维(3D)交叉点存储器例如相变存储器(PCM),结合忆阻器技术的存储器,磁阻随机存取存储器(MRAM),自旋转移力矩(STT)-MRAM等。
图2提供了存储器模块200,例如存储器模块200a、200b,的实施例更详细的情况,比如包括执行存储器模块操作和与存储器控制器104交互的存储器模块控制器210。存储器模块200可包括存储器模块控制器210中的方式寄存器(moderegister)212、用来为存储器芯片202、204、206、208缓冲读写数据的读缓冲器214和写缓冲器216,其中方式寄存器212具有可使用方式寄存器集合(MRS)命令进行配置的数据。缓冲器214、216可在存储器模块控制器210内部或者在存储器模块200中存储器模块控制器210外部的电路中实现。在进一步的实施例中,方式寄存器212可在存储器芯片202、204、206、208中实现。
实现存储器模块控制器210和存储器控制器104操作的代码或逻辑可实现为加载到存储器中并由处理器执行的计算机可读代码,或者可被编码在硬件逻辑中,例如在专用集成电路(ASIC)、现场可编程门阵列(FPGA)等中。
所描述的实施例的逻辑或代码可实现在机器可读存储介质中,所述介质包括在具有用于存储机器可执行指令的电或其他硬件元件的设备或装置中。机器可读介质可包括,但不限于,快闪存储器、光盘、压缩盘只读存储器(CD-ROM)、数字多功能/视频盘(DVD)ROM、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁或光卡以及适于存储电子指令的其他机器可读介质。
在可替换实施例中,所描述实施例的逻辑或代码可实现在信号传输介质中。
图3示出了存储器控制器104和存储器模块200之间的总线接口线108的实施例,包括:具有边带线的边带通路300;命令和控制信号线302,通过它存储器控制器104发送命令到存储器模块200;从存储器控制器104至存储器模块200的差分时钟输入信号(DCLK)304,供存储器模块200用于采样命令/控制线302上的地址和控制信号;以及数据线306,通过它在存储器控制器104和存储器模块200之间传输读数据和写数据。可包括附加的总线用于其他目的。
边带通路300具有一个或多个信号线以传输存储器控制器104可用于训练和其他目的的附加信息(响应于来自存储器控制器104的控制信号)。例如,存储器控制器104可响应于收到读已收到应答而向存储器模块200发送同意消息,这可使存储器模块200在发送数据之前通过边带通路300发送读标识符(ID)信号。存储器模块200可使用边带通路300发送存储器控制器104之前与读请求一起发送的读ID,并且作为响应,存储器模块200可通过边带通路300将读ID回送而不进行处理,例如过滤、插值等。并且,在某些实施例中,边带通路300可包括存储器模块200上的时钟信号对。
在一个实施例中,将读ID发送回存储器控制器104的边带通路300以命令频率而非时钟频率发送信号。在一个实施例中,边带通路300可被设计为传输时钟和传输周期是时钟输入信号(DCLK)304两倍的时钟模式(clockpattern)。存储器模块200可在传输读数据之前通过边带通路300传输信号和作为控制信号的一部分的接收到的读ID。这些读ID信号可传输相对于控制信号具有特定定时关系的突发数据,例如同意信号。该定时关系可在一定范围内变化,取决于存储器模块延迟和通道。在特定实施例中,存储器模块200可以不和突发数据一起传输选通,从而存储器控制器104执行细读训练以训练读ID信号采样延迟,以与读ID信号眼的中心对齐从而取得低的比特错误率。读ID信号可以以数据总线一半的频率传输,但这些速度仍然可高达1600MTps。
图4示出了由存储器控制器逻辑110和存储器模块控制器202逻辑执行的操作的实施例,所述操作允许存储器控制器逻辑110联合存储器模块200执行相位插值器112的细读训练从而提供在数据眼处对齐的插值采样信号。细读训练可在系统100启动期间的总线108探测期间启动。为了启动细读训练,存储器控制器逻辑110发送命令(在模块400)以对存储器模块200中的方式寄存器212编程从而开始细读训练方式。响应于方式寄存器212被写入以指示细读训练方式,存储器模块控制器210在边带通路300的第一边带信号线上传输第一模式并在边带通路300上不同于第一信号线的第二信号线上传输第二模式(在模块404和406)。第一和第二模式可包括具有相反值的时钟信号,例如1010和0101。在某些实施例中,时钟模式可具有2倍于DCLK304时钟信号周期的周期,并且可具有命令/控制信号线302的频率而非时钟频率304。边带通路300的不同信号线上的信号,例如1010和0101,可以是异相或同相的。并且,在模块404和406传输的模式可以在边带通路300的不同线上以连续方式传输。
在传输了第一和第二模式的比特之后,如果(在模块408)方式寄存器212继续指示细读训练方式,那么控制返回到模块404以继续传输具有相反值的模式。如果(在模块408)细方式训练结束,那么可开始粗读训练阶段(在模块410)。
一旦存储器控制器逻辑110接收到(在模块412)发送的比特模式,如果(在模块414)接收到的比特不是存储在训练寄存器116中的比特值的相反值,0与1或1与0,那么将接收到的比特存储(在模块416)在训练寄存器116中。如果(在模块414)接收到的比特值和存储的比特值相反,那么确定(在模块418)该相反比特(或模式)所在的定时。然后存储器控制器逻辑110通过改变读的定时来从所确定的定时确定(在模块422)边沿,例如从所确定的定时沿两个方向向外扫描直到找不到匹配,在该点处从所确定的收到相反比特模式时的定时向各方向确定数据眼的边沿。然后确定(在模块422)数据眼位于这些边沿定时之间的定时。在一个实施例中,通过改变相位插值器112定时来从所确定的数据眼向每个方向向外扫描以寻找没有匹配的点,来确定数据眼的边沿。
基于这些定时信号,确定(在模块424)用于控制相位插值器112的设置以产生用于在确定的数据眼处采样数据的插值信号。在训练相位插值器112以产生用于在边沿之间的数据眼处采样的插值信号之后,存储器控制器逻辑110对存储器模块220的方式寄存器212进行写入(在模块426)以停止细读训练方式从而阻止存储器模块控制器在边带通路300上继续发送相反的比特模式。
在某些实施例中,检测到1和0,或反之,的采样之间变换,指示具有读数据的定时,该定时可包括数据眼、边沿或边沿之间的读数据。这些训练操作可能需要四个训练结果比特来捕获每个信号的偶数/奇数。如果仅捕获偶数或奇数则可使用两比特。相位插值器112被配置为产生插值样本以在数据眼界限的中间读取数据。
在上述实施例中,比较该模式的比特来确定开始扫描数据眼的边沿的确定定时。在可替换的实施例中,存储器控制器110可以不只比较一个比特,而是整个模式(例如,0101,1010),从而在模块414和418确定数据眼位于检测到与所存储的模式而不只是单个比特相反的值时的定时处。并且,在比较整个模式这样的实施例中,在模块416整个模式将被存储在训练寄存器116中,而不只是单个比特。
图5示出了由存储器控制器逻辑110和存储器模块控制器逻辑202执行的操作的实施例,所述操作允许存储器控制器逻辑110联合存储器模块200执行存储器控制器104的粗读训练从而确定在被发送以检索读数据的同意信号之后在存储器控制器104启动读取数据之前要等待的偏移量或定时。一旦启动(在模块500)粗读训练,存储器控制器逻辑110使用LFSR114产生(在模块502)随机读ID。所产生的读ID被缓冲(在模块504)至训练寄存器116中。存储器控制器逻辑110将读命令连同所产生的读ID发送(在模块506)到存储器模块200。当存储器模块控制器210操作在粗读训练方式中时(在模块508),一旦收到(在模块510)读命令和读ID,存储器模块控制器210执行读命令(在模块512)。
发送读命令连同读ID(在模块506)之后,存储器控制器逻辑110通过总线接口108将同意信号传输(在模块514)到存储器模块200。一旦接收到(在模块516)同意信号,所请求的数据通过数据总线306返回(在模块518)并且接收到的读ID通过边带通路300返回(在模块520)。读ID信号以突发方式返回。在某些实施例中,读ID在读数据之前先通过边带读ID信号300返回。以这种方式,存储器模块控制器200将读ID送回存储器控制器104而不对数据进行过滤或解释。在某些实施例中,存储器控制器逻辑110可不等待来自存储器模块200的对读命令的应答(ACK)而提供同意信号。
一旦存储器控制器104收到(在模块522)边带通路300上的读ID,存储器控制器逻辑110确定(在模块524)收到的读ID是否与存储在训练寄存器116中的已发送的读ID匹配。如果不匹配(从模块524的“否”分支),那么存储器控制器逻辑110修改(在模块526)周期延迟设置为从发送同意到收到读ID的周期数。周期延迟设置是何时存储器控制器逻辑110尝试读数据的粗定时设置,并且在模块526调整该粗周期延迟定时或周期水平时间直到当收到读ID或者从设置同意开始往返延迟设置时该定时匹配。从模块526开始控制返回到模块502从而持续地为粗读训练产生随机读ID直到匹配。如果(在模块524)所发送的和所接收的读ID匹配,那么存储器控制器逻辑110确定(在模块526)读偏移量为从发送同意信号到收到匹配读ID的时间差。确定读偏移量之后,存储器控制器逻辑110可发送(在模块530)方式寄存器命令到存储器模块200以确定粗读训练。一旦接收到终止(在模块542)粗读训练的命令,存储器模块控制器200对方式寄存器212进行编程(在模块540)。
细读训练产生用于控制相位插值器112的设置以产生插值采样信号以在传输读数据的数据眼内进行读取,且粗读训练步骤的结果是用于确定在设置同意信号之后何时开始接收读数据的读偏移量。在细和粗读训练之后,可使用所确定的相位插值器112设置和读偏移量开始正常的读操作。
图6示出了由存储器控制器逻辑110和存储器模块控制器202逻辑执行的操作的实施例,所述操作在正常读操作期间执行高级读训练以进一步改进用于产生用来采样读数据信号的采样信号的相位插值器112设置。一旦在正常读/写操作期间使用所确定的相位插值器设置和读偏移量启动(在模块600)高级训练,存储器控制器逻辑110执行(在模块602)图5中的模块502-514上的操作以产生并传输读ID信号和读命令。在正常读/写操作(在模块604)期间的高级训练方式中,存储器模块控制器210执行(在模块606)图5中模块510、512、516、518处的操作以处理接收的读命令并通过边带通路300返回读ID。
一旦存储器控制器104通过边带通路300收到(在模块608)读ID,如果(在模块610)收到的读ID和存储在训练寄存器116中的已发送的读ID匹配,那么确定(在模块612)读ID被读取时的定时。然后存储器控制器逻辑110执行(在模块614)模块418至426处的操作以从所确定的读ID定时确定边沿,从所确定的边沿确定数据眼,以及确定用于控制相位插值器的设置以产生用于在确定的数据眼处采样数据的插值信号。持续执行使用随机产生的读ID调整相位插值器112的这些操作,以使用更有积极性和更现实的随机产生的读ID形式的模式来确定数据眼的边界并对相位插值器112设置重新定中心,与细读训练期间所用的重复相反的模式不同。
如果(从模块610的“否”分支)不匹配,那么存储器控制器逻辑110修改(在模块616)周期延迟设置为从发送同意到收到读ID的周期数。周期延迟设置是何时存储器控制器逻辑110尝试读取数据的粗定时设置,并且在模块526调整该粗周期延迟定时或周期水平时间直到收到读ID或者从设置同意开始往返延迟设置时该定时匹配。从模块616开始控制返回到模块602以为高级细粒度训练持续产生随机读ID直到匹配。
所描述的实施例使得能够对读ID线300上的边带读ID信号进行训练从而在总线100上取得低的比特错误率。所述读训练的高效之处在于它用单个模式实现了以眼为中心的采样。所述实施例可进一步在读ID总线300上产生高压模式,从而确定最坏情形的边界。
应当理解的是,本说明书全篇提及的“一个实施例”或“实施例”表示结合该实施例所描的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,应当强调和理解的是,在本说明书不同部分的两处或多处提及的“实施例”或“一个实施例”或“可替换实施例”,不必指代相同的实施例。并且,在本发明的一个或多个实施例中这些特定特征、结构或特性可被适当组合。
类似地,应当理解的是,在对本发明实施例的前述说明中,为了简化公开有助于对各种创造性方面中的一个或多个的理解,有时候在单个实施例、附图或其说明中将各种特征组合在一起。但是,这种公开方法并不应解释为反映了所请求保护的主题要求比每个权利要求中所明确表述的更多的特征的意图。相反,如下面的权利要求所反映的,创造性方面所依赖的少于单个前述公开实施例的所有特征。因此,详细说明后面的权利要求明确地结合到该详细说明中。
可使用标准编程和/或工程技术以产生软件、固件、硬件或其组合,将所描述的存储器控制器104和存储器模块200的操作实现为方法、装置或计算机可读存储介质。所描述的操作可实现为维护在“计算机可读存储介质”中的代码或逻辑,所述“计算机可读存储介质”可直接执行功能或者处理器可从该计算机存储可读介质读取并执行代码。计算机可读存储介质包括以下中的至少一个:电子电路,存储材料,无机材料,有机材料,生物材料,盒,壳,涂层和硬件。计算机可读存储介质可包括,但不限于,磁存储介质(例如,硬盘驱动,软盘,磁带等),光存储(CD-ROM,DVD,光盘等),易失性和非易失性存储设备(例如,EEPROM,ROM,PROM,RAM,DRAM,SRAM,快闪存储器,固件,可编程逻辑等),固态设备(SSD)等。计算机可读存储介质可进一步包括以硬件设备(例如,集成电路芯片,可编程逻辑器件,可编程门阵列(PGA),现场可编程门阵列(FPGA),专用集成电路(ASIC)等)实现的数字逻辑。又进一步地,实现所描述的操作的代码可以以“传输信号”实现,其中传输信号可透过空间或透过传输介质,例如光纤、铜线等,进行传播。代码或逻辑在其中被编码的传输信号可进一步包括无线信号、卫星传输、无线电波、红外信号、蓝牙等。嵌入在计算机可读存储介质上的程序代码可作为传输信号从发送站或计算机发送到接收站或计算机。计算机可读存储介质并不仅仅包含传输信号。本领域技术人员将意识到,在不背离本发明范围的情况下可对本配置进行很多修改,并且制造物品可包括本领域已知的合适的信息承载介质。
示例
以下示例关于进一步的实施例。
示例1是通过总线耦合到至少一个存储器模块的设备,包括:到该至少一个存储器模块的总线接口;当操作时执行操作的存储器控制器逻辑,所述操作包括:对存储器模块编程以启动训练方式,其中在所述训练方式中存储器模块在总线接口的边带通路上传输连续的比特模式;通过总线接口接收比特模式;从所接收的比特模式中确定比特模式中的值变换,从而在所确定的值变换之间确定数据眼;以及确定用于控制相位插值器的设置以产生用于在所确定的数据眼内采样数据的插值信号。
示例2中,示例1的主题可选择性地包括,操作进一步包括:对存储器模块编程以响应于确定数据眼和用于控制相位插值器的设置而终止训练方式以及发送该比特模式。
示例3中,示例1的主题可选择性地包括,从接收的时钟比特模式中确定变换包括:将来自比特模式的读取值存储在寄存器中;以及确定来自后续传输的比特模式的后续读取值是否与寄存器中的读取值匹配,其中数据眼确定为与存储在寄存器中的值匹配的两个读取值的边沿之间。
示例4中,示例1的主题可选择性地包括,比特模式包括在用于读标识符信号的总线接口的边带通路上的第一连续比特模式,以及边带通路上的第二连续比特模式,其中第一和第二连续比特模式具有相反的值。
示例5中,示例4的主题可选择性地包括,第一连续比特模式在第一读标识符信号线上发送并且包括连续的1010模式,以及第二连续模式在第二读标识符信号线上发送并且包括连续的0101模式。
示例6中,示例5的主题可选择性地包括,第一和第二连续模式在每个时钟间隔在0和1之间交替从而创建周期是总线接口上时钟间隔周期两倍的时钟模式。
示例7中,示例1的主题可选择性地包括,总线接口包括传输命令的命令线,传输数据的数据线,以及读标识符信号线,其中以低于时钟频率的命令频率在读标识符信号线上传输比特模式。
示例8中,示例1的主题可选择性地包括,操作进一步包括:响应于确定控制相位插值器的设置,将读命令连同读标识符发送到存储器模块;从存储器模块接收包括返回的读标识符的读数据;以及响应于确定返回的读标识符与连同读命令一并发送的读标识符匹配而确定读偏移量,其中读偏移量用于确定何时开始使用所确定的相位插值器的设置在数据眼中采样读数据。
示例9是通过总线耦合到至少一个存储器模块的设备,包括:到该至少一个存储器模块的总线接口;当操作时执行粗读训练操作的存储器控制器逻辑,所述操作包括:向存储器模块发送读命令和读标识符;通过总线接口从存储器模块接收读数据和所接收的读标识符;以及响应于确定所接收的来自存储器模块的读标识符包括连同读命令一并发送的读标识符而确定读偏移量,其中读偏移量用于确定何时开始在所接收的读数据的数据眼中采样数据。
示例10中,示例9的主题可选择性地包括,操作进一步包括:响应于确定所接收的读标识符与连同读命令一并发送的读标识符不匹配,执行以下步骤的至少一个迭代:产生新的读标识符以包括在发送到存储器模块的新的读命令中,直到响应于包括所产生的新的读标识符的所接收的来自存储器模块的读数据而确定读偏移量。
示例11中,示例10的主题可选择性地包括用于产生读标识符和新的读标识符以提供随机读标识符值的线性反馈移位寄存器(LFSR)。
示例12中,示例9的主题可选择性地包括,响应于包括与读命令一并发送的读标识符的所接收的读标识符而终止粗读训练。
示例13中,示例9的主题可选择性地包括,读标识符使得存储器模块在响应于读命令返回读数据时送回读标识符。
示例14中,示例9的主题可选择性地包括,在边带通路上从存储器模块传输读标识符。
示例15中,示例8的主题可选择性地包括,总线接口包括传输命令的命令线,传输数据的数据线,以及读标识符信号线,其中存储器模块在读标识符信号线上返回读标识符。
示例16中,示例15的主题可选择性地包括,在时钟信号上从存储器模块返回读标识符。
示例17中,示例9的主题可选择性地包括,操作进一步包括:读命令发送之后,向存储器模块发送同意信号,其中存储器模块响应于同意信号发送读标识符信号,其中读偏移量测量在发送同意信号之后数据到达的时间。
示例18是通过总线耦合到至少一个存储器模块的设备,包括:到该至少一个存储器模块的总线接口;相位插值器;当操作时执行粗读训练操作的存储器控制器逻辑,所述操作包括:使用通过与总线接口的命令和数据信号线分离的总线接口的边带通路从存储器模块返回的读标识符,来确定在总线接口上对读数据进行采样的读偏移量;以及当使用读偏移量确定何时开始在读数据的数据眼中采样数据时,执行:将读命令连同读标识符一并发送到存储器模块;在总线接口的边带通路上从存储器模块接收所接收的读标识符;响应于确定所接收的读标识符与连同读命令一并发送的读标识符匹配:确定数据眼为读取所接收的读标识符的位置;以及确定用于控制相位插值器的设置以产生用于在所确定的数据眼处采样数据的插值信号,其中所接收的读标识符在所确定的数据眼处被读取。
在示例19,权利要求18的主题可选择性地包括,使用读标识符确定读偏移量包括:连同读标识符将读命令发送到存储器模块;经过总线接口从存储器模块接收读数据和被接收的读标识符,其中被接收的读标识符在总线接口的边带通路上被接收;确定读偏移量为所接收的读数据与连同读命令一并发送的读标识符匹配时的定时。
示例20中,权利要求18的主题可选择性地包括用于在粗读训练期间和当使用读偏移量确定何时开始在数据眼中采样数据时产生读标识符的线性反馈移位寄存器(LFSR)。
示例21是通过到总线的总线接口耦合到至少一个存储器模块的计算机可读存储介质,其中该计算机可读存储介质实现逻辑,当被执行时所述逻辑执行的操作包括:对存储器模块编程以启动训练方式,其中在训练方式中存储器模块在总线接口的边带通路上传输连续的比特模式;通过总线接口接收比特模式;从所接收的比特模式中确定比特模式中的值变换,从而在所确定的值变换之间确定数据眼;以及确定用于控制相位插值器的设置以产生用于在所确定的数据眼内采样数据的插值信号。
示例22中,权利要求21的主题可选择性地包括,比特模式包括用于读标识符信号的总线接口的边带通路上的第一连续比特模式,和边带通路上的第二连续比特模式,其中第一和第二连续比特模式具有相反的值。
示例23中,权利要求18的主题可选择性地包括,操作进一步包括:响应于确定控制相位插值器的设置,将读命令连同读标识符发送到存储器模块;从存储器模块接收包括返回的读标识符的读数据;以及响应于确定返回的读标识符与连同读命令一并发送的读标识符匹配而确定读偏移量,其中读偏移量用于确定何时开始使用所确定的相位插值器的设置在数据眼中采样读数据。
示例24是通过到总线的总线接口耦合到至少一个存储器模块以执行粗读训练操作的计算机可读存储介质,其中该计算机可读存储介质实现逻辑,当被执行时所述逻辑执行的操作包括:向存储器模块发送读命令和读标识符;通过总线接口从存储器模块接收读数据和所接收的读标识符;以及响应于确定所接收的来自存储器模块的读标识符包括连同读命令一并发送的读标识符而确定读偏移量,其中读偏移量用于确定何时开始在所接收的读数据的数据眼中采样数据。
示例25中,权利要求24的主题可选择性地包括,操作进一步包括:响应于确定所接收的读标识符与连同读命令一并发送的读标识符不匹配,执行以下步骤的至少一个迭代:产生新的读标识符以包括在发送到存储器模块的新的读命令中,直到响应于包括所产生的新的读标识符的所接收的来自存储器模块的读数据而确定读偏移量。
示例26是用于训练到总线的总线接口的方法,所述总线通过总线接口耦合到至少一个存储器模块,该方法包括:对存储器模块编程以启动训练方式,其中在所述训练方式中存储器模块在总线接口的边带通路上传输连续的比特模式;通过总线接口接收比特模式;从所接收的比特模式中确定比特模式中的值变换从而在所确定的值变换之间确定数据眼;以及确定用于控制相位插值器的设置从而产生用于在所确定的数据眼内采样数据的插值信号。
示例27中,权利要求26的主题可选择性地包括,比特模式包括在用于读标识符信号的总线接口的边带通路上的第一连续比特模式,以及边带通路上的第二连续比特模式,其中第一和第二连续比特模式具有相反的值。
示例28中,权利要求26和27的主题可选择性地包括机器可读介质,所述机器可读介质包括当被执行时使得机器执行权利要求26和27中任一项的方法的代码。
示例29是用于训练到总线的总线接口的方法,所述总线通过总线接口耦合到至少一个存储器模块,该方法包括:向存储器模块发送读命令和读标识符;通过总线接口从存储器模块接收读数据和所接收的读标识符;以及响应于确定所接收的来自存储器模块的读标识符包括连同读命令一并发送的读标识符而确定读偏移量,其中读偏移量用于确定何时开始在所接收的读数据的数据眼中采样数据。
示例30中,权利要求29的主题可选择性地包括,操作进一步包括:响应于确定所接收的读标识符与连同读命令一并发送的读标识符不匹配,执行以下步骤的至少一个迭代:产生新的读标识符以包括在发送到存储器模块的新的读命令中,直到响应于包括所产生的新的读标识符的所接收的来自存储器模块的读标识符而确定读偏移量。
示例31是通过总线耦合到至少一个存储器模块的装置,包括:对存储器模块编程以启动训练方式的装置,其中在训练方式中存储器模块在总线接口的边带通路上传输连续的比特模式;通过总线接口接收比特模式的装置;从所接收的比特模式中确定比特模式中的值变换从而在所确定的值变换之间确定数据眼的装置;以及确定用于控制相位插值器的设置以产生用于在所确定的数据眼内采样数据的插值信号的装置。
示例32中,权利要求31的主题可选择性地包括,用于对存储器模块编程以响应于确定数据眼和用于控制相位插值器的设置而终止训练方式以及发送该比特模式的装置。
示例33中,权利要求31的主题可选择性地包括,从接收的时钟比特模式中确定变换的装置包括:将来自比特模式的读取值存储在寄存器中的装置;以及确定来自后续传输的比特模式的后续读取值是否与寄存器中的读取值匹配的装置,其中数据眼确定为与存储在寄存器中的值匹配的两个读取值的边沿之间。
示例34中,权利要求31的主题可选择性地包括,响应于确定控制相位插值器的设置将读命令连同读标识符发送到存储器模块的装置;从存储器模块接收包括返回的读标识符的读数据的装置;以及响应于确定返回的读标识符与连同读命令一并发送的读标识符匹配而确定读偏移量的装置,其中读偏移量用于确定何时开始使用所确定的相位插值器的设置在数据眼中采样读数据。
示例35中,权利要求34的主题可选择性地包括:用于执行以下步骤的至少一个迭代的装置:响应于确定所接收的读标识符与连同读命令一并发送的读标识符不匹配,产生新的读标识符以包括在发送到存储器模块的新的读命令中,直到响应于所接收的来自存储器模块的读标识符包括所产生的新的读标识符而确定读偏移量。
示例36中,权利要求31的主题可选择性地包括:用于使用通过与总线接口的命令和数据信号线分离的总线接口的边带通路从存储器模块返回的读标识符,来确定在总线接口上对读数据进行采样的读偏移量的装置;以及用于通过执行以下步骤来使用读偏移量确定何时开始在读数据的数据眼中采样数据的装置:将读命令连同读标识符一并发送到存储器模块;在总线接口的边带通路上从存储器模块接收所接收的读标识符;响应于确定所接收的读标识符与连同读命令一并发送的读标识符匹配:确定数据眼为读取所接收的读标识符的位置;以及确定控制相位插值器的设置产生用于在所确定的数据眼处采样数据的插值信号,其中所接收的读标识符在所确定的数据眼处被读取。

Claims (20)

1.一种设备,包括:
到至少一个存储器模块的总线接口;
存储器控制器逻辑,当操作时执行操作,所述操作包括:
对所述存储器模块编程以启动训练方式,其中在所述训练方式中所述存储器模块在所述总线接口的边带通路上传输连续的比特模式;
通过所述总线接口接收所述比特模式;
从所接收的比特模式中确定所述比特模式中的值变换从而确定在所确定的值变换之间的数据眼;以及
确定用于控制相位插值器的设置以产生用于在所确定的数据眼内采样数据的插值信号。
2.权利要求1所述的设备,其中所述操作进一步包括:
对所述存储器模块编程以响应于确定所述数据眼和用于控制所述相位插值器的设置以终止所述训练方式以及发送所述比特模式。
3.权利要求1所述的设备,其中从接收的时钟比特模式中确定所述变换包括:
将来自所述比特模式的读取值存储在寄存器中;以及
确定来自后续传输的比特模式的后续读取值是否与所述寄存器中的读取值匹配,其中所述数据眼确定为与存储在所述寄存器中的值匹配的两个读取值的边沿之间。
4.权利要求1所述的设备,其中所述比特模式包括在用于读标识符信号的所述总线接口的所述边带通路上的第一连续比特模式,以及所述边带通路上的第二连续比特模式,其中第一和第二连续比特模式具有相反的值。
5.权利要求4所述的设备,其中所述第一连续比特模式在第一读标识符信号线上发送并且包括连续的1010模式,以及第二连续模式在第二读标识符信号线上发送并且包括连续的0101模式。
6.权利要求5所述的设备,其中第一和第二连续模式在每个时钟间隔在0和1之间交替从而创建周期是总线接口上时钟间隔周期两倍的时钟模式。
7.权利要求1所述的设备,其中所述总线接口包括传输命令的命令线、传输数据的数据线以及读标识符信号线,其中以低于时钟频率的命令频率在读标识符信号线上传输所述比特模式。
8.权利要求1所述的设备,其中所述操作进一步包括:
响应于确定用于控制相位插值器的设置,将读命令连同读标识符发送到所述存储器模块;
从所述存储器模块接收包括返回的读标识符的读数据;以及
响应于确定返回的读标识符与连同读命令一并发送的读标识符匹配而确定读偏移量,其中所述读偏移量用于确定何时开始使用所确定的相位插值器的设置在数据眼中采样读数据。
9.一种设备,包括:
到至少一个存储器模块的总线接口;
存储器控制器逻辑,当操作时执行粗读训练操作,所述操作包括:
向所述存储器模块发送读命令和读标识符;
通过所述总线接口从所述存储器模块接收读数据和所接收的读标识符;以及
响应于确定所接收的来自所述存储器模块的读标识符包括连同所述读命令一并发送的读标识符而确定读偏移量,其中所述读偏移量用于确定何时开始在所接收的读数据的数据眼中采样数据。
10.权利要求9所述的设备,其中所述操作进一步包括:
响应于确定所接收的读标识符与连同所述读命令一并发送的读标识符不匹配,执行以下步骤的至少一个迭代:产生新的读标识符以包括在发送到所述存储器模块的新的读命令中,直到响应于包括所产生的新的读标识符的所接收的来自所述存储器模块的读数据而确定读偏移量。
11.权利要求10所述的设备,进一步包括:
用于产生所述读标识符和所述新的读标识符以提供随机读标识符值的线性反馈移位寄存器(LFSR)。
12.权利要求9所述的设备,其中响应于包括与所述读命令一并发送的所述读标识符的所接收的读标识符而终止所述粗读训练。
13.权利要求9所述的设备,其中所述读标识符使得所述存储器模块在响应于所述读命令而返回读数据时送回读标识符。
14.权利要求9所述的设备,其中在所述边带通路上从所述存储器模块传输所述读标识符。
15.权利要求8所述的设备,其中所述总线接口包括传输命令的命令线、传输数据的数据线,以及读标识符信号线,其中所述存储器模块在所述读标识符信号线上返回所述读标识符。
16.权利要求15所述的设备,其中在时钟信号上从所述存储器模块返回所述读标识符。
17.权利要求9所述的设备,其中所述操作进一步包括:
在读命令发送之后,向所述存储器模块发送同意信号,其中所述存储器模块响应于所述同意信号而发送读标识符信号,其中所述读偏移量测量在发送所述同意信号之后数据到达的时间。
18.一种设备,包括:
到至少一个存储器模块的总线接口;
相位插值器;
存储器控制器逻辑,当操作时执行粗读训练操作,所述操作包括:
使用通过与所述总线接口的命令和数据信号线分离的所述总线接口的边带通路从所述存储器模块返回的读标识符,来确定在所述总线接口上对读数据进行采样的读偏移量;以及
当使用所述读偏移量确定何时开始在读数据的数据眼中采样数据时,执行:
将读命令连同读标识符一并发送到所述存储器模块;
在所述总线接口的边带通路上从所述存储器模块接收所接收的读标识符;
响应于确定所接收的读标识符与连同所述读命令一并发送的读标识符匹配:
确定所述数据眼为读取所接收的读标识符的位置;以及
确定用于控制相位插值器的设置以产生用于在所确定的数据眼处采样数据的插值信号,其中所接收的读标识符在所确定的数据眼处被读取。
19.权利要求18所述的设备,其中使用所述读标识符确定所述读偏移量包括:
连同读标识符将读命令发送到所述存储器模块;
经过所述总线接口从所述存储器模块接收读数据和所接收的读标识符,其中所接收的读标识符在所述总线接口的边带通路上被接收;
确定所述读偏移量为所接收的读数据与连同所述读命令一并发送的读标识符匹配时的定时。
20.权利要求18所述的设备,进一步包括:
用于在粗读训练期间和当使用所述读偏移量确定何时开始在所述数据眼中采样数据时产生所述读标识符的线性反馈移位寄存器(LFSR)。
CN201480047736.2A 2013-09-27 2014-07-29 对存储器控制器进行读训练 Active CN105723351B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010689225.8A CN112069110A (zh) 2013-09-27 2014-07-29 对存储器控制器进行读训练

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/040,548 US9021154B2 (en) 2013-09-27 2013-09-27 Read training a memory controller
US14/040548 2013-09-27
PCT/US2014/048719 WO2015047532A1 (en) 2013-09-27 2014-07-29 Read training a memory controller

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202010689225.8A Division CN112069110A (zh) 2013-09-27 2014-07-29 对存储器控制器进行读训练

Publications (2)

Publication Number Publication Date
CN105723351A true CN105723351A (zh) 2016-06-29
CN105723351B CN105723351B (zh) 2020-08-18

Family

ID=52741301

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010689225.8A Pending CN112069110A (zh) 2013-09-27 2014-07-29 对存储器控制器进行读训练
CN201480047736.2A Active CN105723351B (zh) 2013-09-27 2014-07-29 对存储器控制器进行读训练

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202010689225.8A Pending CN112069110A (zh) 2013-09-27 2014-07-29 对存储器控制器进行读训练

Country Status (8)

Country Link
US (6) US9021154B2 (zh)
EP (1) EP3049946B1 (zh)
JP (4) JP6084756B2 (zh)
KR (3) KR102058019B1 (zh)
CN (2) CN112069110A (zh)
BR (3) BR122017013543B1 (zh)
RU (1) RU2643664C2 (zh)
WO (1) WO2015047532A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108021334A (zh) * 2016-10-31 2018-05-11 三星电子株式会社 存储设备及其操作方法
CN112069110A (zh) * 2013-09-27 2020-12-11 英特尔公司 对存储器控制器进行读训练
CN116052742A (zh) * 2022-07-13 2023-05-02 成都海光集成电路设计有限公司 数据处理方法、装置、存储控制器、设备及介质

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016081192A1 (en) * 2014-11-20 2016-05-26 Rambus Inc. Memory systems and methods for improved power management
US10025747B2 (en) * 2015-05-07 2018-07-17 Samsung Electronics Co., Ltd. I/O channel scrambling/ECC disassociated communication protocol
US9921763B1 (en) * 2015-06-25 2018-03-20 Crossbar, Inc. Multi-bank non-volatile memory apparatus with high-speed bus
US10141034B1 (en) 2015-06-25 2018-11-27 Crossbar, Inc. Memory apparatus with non-volatile two-terminal memory and expanded, high-speed bus
US10222989B1 (en) 2015-06-25 2019-03-05 Crossbar, Inc. Multiple-bank memory device with status feedback for subsets of memory banks
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
KR102536657B1 (ko) * 2016-07-12 2023-05-30 에스케이하이닉스 주식회사 반도체 장치 및 반도체 시스템
US10034407B2 (en) 2016-07-22 2018-07-24 Intel Corporation Storage sled for a data center
US10067689B1 (en) * 2016-08-29 2018-09-04 Cadence Design Systems, Inc. Method and apparatus for high bandwidth memory read and write data path training
US10552252B2 (en) * 2016-08-29 2020-02-04 Seagate Technology Llc Patterned bit in error measurement apparatus and method
US10148416B2 (en) 2016-09-02 2018-12-04 Intel Corporation Signal phase optimization in memory interface training
US10262751B2 (en) * 2016-09-29 2019-04-16 Intel Corporation Multi-dimensional optimization of electrical parameters for memory training
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 에스케이하이닉스 주식회사 반도체 장치, 반도체 시스템 및 트레이닝 방법
JP6900518B2 (ja) * 2017-06-23 2021-07-07 華為技術有限公司Huawei Technologies Co.,Ltd. メモリアクセス技術およびコンピュータシステム
KR102353027B1 (ko) * 2017-07-03 2022-01-20 삼성전자주식회사 스토리지 장치의 데이터 트레이닝 방법
US20190095308A1 (en) 2017-09-26 2019-03-28 Intel Corporation Registering clock driver controlled decision feedback equalizer training process
US10810141B2 (en) * 2017-09-29 2020-10-20 Intel Corporation Memory control management of a processor
US11074151B2 (en) 2018-03-30 2021-07-27 Intel Corporation Processor having embedded non-volatile random access memory to support processor monitoring software
US10691466B2 (en) * 2018-04-02 2020-06-23 Intel Corporation Booting a computing system using embedded non-volatile memory
JP2019215662A (ja) * 2018-06-12 2019-12-19 株式会社日立製作所 不揮発性メモリデバイス、及びインターフェース設定方法
JP2020046918A (ja) 2018-09-19 2020-03-26 キオクシア株式会社 記憶装置及び制御方法
KR102648186B1 (ko) * 2018-12-24 2024-03-18 에스케이하이닉스 주식회사 트래이닝 기능을 갖는 반도체 시스템
CN110210018B (zh) * 2019-05-14 2023-07-11 北京百度网讯科技有限公司 挂号科室的匹配方法和装置
CN112764667A (zh) * 2019-10-21 2021-05-07 伊姆西Ip控股有限责任公司 用于存储管理的方法、设备、存储系统和计算机程序产品
TWI693796B (zh) * 2019-11-08 2020-05-11 群聯電子股份有限公司 訊號產生電路、記憶體儲存裝置及訊號產生方法
US11126585B1 (en) 2020-03-09 2021-09-21 Western Digital Technologies, Inc. Data storage device with improved interface transmitter training
US11288225B2 (en) 2020-04-14 2022-03-29 Western Digital Technologies, Inc. Adapting transmitter training behavior based upon assumed identity of training partner
KR20210136203A (ko) 2020-05-06 2021-11-17 삼성전자주식회사 저장 장치 및 그것의 리트레이닝 방법
US11190331B1 (en) * 2020-12-16 2021-11-30 Cadence Design Systems, Inc. Data alignment in physical layer device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1703855A (zh) * 2002-09-30 2005-11-30 勒克罗伊公司 用于分析串行数据流的方法和装置
US20080052449A1 (en) * 2006-08-22 2008-02-28 Jin-Ki Kim Modular command structure for memory and memory system
CN101202614A (zh) * 2006-12-11 2008-06-18 国际商业机器公司 用于产生时钟采样信号的方法、设备和系统
WO2010080172A1 (en) * 2009-01-12 2010-07-15 Rambus Inc. Clock-forwarding low-power signaling system
US20110078370A1 (en) * 2009-09-25 2011-03-31 Santanu Chaudhuri Memory link initialization
US20120030153A1 (en) * 2010-07-29 2012-02-02 Hynix Semiconductor Inc. Semiconductor system and data training method thereof
US20120066471A1 (en) * 2010-09-14 2012-03-15 Advanced Micro Devices, Inc. Allocation of memory buffers based on preferred memory performance
US20120246396A1 (en) * 2007-10-09 2012-09-27 Micron Technology, Inc. Non-volatile memory device having assignable network identification

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6570944B2 (en) 2001-06-25 2003-05-27 Rambus Inc. Apparatus for data recovery in a synchronous chip-to-chip system
KR100233122B1 (ko) 1992-03-25 1999-12-01 윤종용 모뎀 운용 테스트 회로
US6266379B1 (en) * 1997-06-20 2001-07-24 Massachusetts Institute Of Technology Digital transmitter with equalization
JP3922765B2 (ja) 1997-07-22 2007-05-30 富士通株式会社 半導体装置システム及び半導体装置
JPH11139869A (ja) 1997-11-10 1999-05-25 Murata Mfg Co Ltd 半導体セラミックおよびその製造方法
JP2002082830A (ja) 2000-02-14 2002-03-22 Mitsubishi Electric Corp インターフェイス回路
EP1277316A2 (en) 2000-04-28 2003-01-22 Broadcom Corporation Methods and systems for adaptive receiver equalization
US6651148B2 (en) * 2000-05-23 2003-11-18 Canon Kabushiki Kaisha High-speed memory controller for pipelining memory read transactions
US6658523B2 (en) 2001-03-13 2003-12-02 Micron Technology, Inc. System latency levelization for read data
US7167946B2 (en) * 2003-09-30 2007-01-23 Intel Corporation Method and apparatus for implicit DRAM precharge
US6958634B2 (en) 2003-12-24 2005-10-25 Intel Corporation Programmable direct interpolating delay locked loop
US7403584B2 (en) 2003-12-31 2008-07-22 Intel Corporation Programmable phase interpolator adjustment for ideal data eye sampling
US7107424B1 (en) * 2004-03-25 2006-09-12 Emc Corporation Memory read strobe pulse optimization training system
KR100594294B1 (ko) * 2004-09-21 2006-06-30 삼성전자주식회사 메모리 장치 및 데이터 트레이닝 방법
KR100618870B1 (ko) * 2004-10-23 2006-08-31 삼성전자주식회사 데이터 트레이닝 방법
JP2006260071A (ja) * 2005-03-16 2006-09-28 Oki Data Corp メモリ制御装置および情報処理装置
KR100703976B1 (ko) * 2005-08-29 2007-04-06 삼성전자주식회사 동기식 메모리 장치
US7607031B2 (en) * 2006-03-28 2009-10-20 Advanced Micro Devices, Inc. Power management in a communication link
US7814401B2 (en) 2006-12-21 2010-10-12 Ramot At Tel Aviv University Ltd. Soft decoding of hard and soft bits read from a flash memory
US7886174B2 (en) 2007-06-27 2011-02-08 Intel Corporation Memory link training
US8341450B2 (en) * 2007-07-23 2012-12-25 Rambus Inc. Continuous timing calibrated memory interface
EP2223227B1 (en) * 2007-10-22 2013-02-27 Rambus Inc. Low-power source-synchronous signaling
US7978538B2 (en) * 2009-01-29 2011-07-12 International Business Machines Corporation Setting memory device termination in a memory device and memory controller interface in a communication bus
US8037375B2 (en) * 2009-06-30 2011-10-11 Intel Corporation Fast data eye retraining for a memory
US8681571B2 (en) * 2010-06-15 2014-03-25 International Business Machines Corporation Training a memory controller and a memory device using multiple read and write operations
US8533538B2 (en) * 2010-06-28 2013-09-10 Intel Corporation Method and apparatus for training a memory signal via an error signal of a memory
US8631256B2 (en) * 2010-12-22 2014-01-14 Via Technologies, Inc. Distributed management of a shared power source to a multi-core microprocessor
EP2726956A1 (en) * 2011-07-01 2014-05-07 Qualcomm Incorporated System and method for standby power reduction in a serial communication system
US8954408B2 (en) 2011-07-28 2015-02-10 International Business Machines Corporation Allowing writes to complete without obtaining a write lock to a file
US9021154B2 (en) * 2013-09-27 2015-04-28 Intel Corporation Read training a memory controller

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1703855A (zh) * 2002-09-30 2005-11-30 勒克罗伊公司 用于分析串行数据流的方法和装置
US20080052449A1 (en) * 2006-08-22 2008-02-28 Jin-Ki Kim Modular command structure for memory and memory system
CN101202614A (zh) * 2006-12-11 2008-06-18 国际商业机器公司 用于产生时钟采样信号的方法、设备和系统
US20120246396A1 (en) * 2007-10-09 2012-09-27 Micron Technology, Inc. Non-volatile memory device having assignable network identification
WO2010080172A1 (en) * 2009-01-12 2010-07-15 Rambus Inc. Clock-forwarding low-power signaling system
US20110078370A1 (en) * 2009-09-25 2011-03-31 Santanu Chaudhuri Memory link initialization
US20120030153A1 (en) * 2010-07-29 2012-02-02 Hynix Semiconductor Inc. Semiconductor system and data training method thereof
US20120066471A1 (en) * 2010-09-14 2012-03-15 Advanced Micro Devices, Inc. Allocation of memory buffers based on preferred memory performance

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112069110A (zh) * 2013-09-27 2020-12-11 英特尔公司 对存储器控制器进行读训练
CN108021334A (zh) * 2016-10-31 2018-05-11 三星电子株式会社 存储设备及其操作方法
CN116052742A (zh) * 2022-07-13 2023-05-02 成都海光集成电路设计有限公司 数据处理方法、装置、存储控制器、设备及介质

Also Published As

Publication number Publication date
WO2015047532A1 (en) 2015-04-02
US9021154B2 (en) 2015-04-28
RU2016107022A (ru) 2017-08-31
JP2017097907A (ja) 2017-06-01
US9495103B2 (en) 2016-11-15
KR101855512B1 (ko) 2018-06-25
EP3049946B1 (en) 2021-06-23
US20170031846A1 (en) 2017-02-02
US20170286330A1 (en) 2017-10-05
KR20180049244A (ko) 2018-05-10
KR102058018B1 (ko) 2019-12-20
EP3049946A4 (en) 2017-04-26
JP6327762B2 (ja) 2018-05-23
US20150095565A1 (en) 2015-04-02
US9766817B2 (en) 2017-09-19
JP2017107584A (ja) 2017-06-15
BR112016003865A2 (pt) 2017-08-01
EP3049946A1 (en) 2016-08-03
BR122017013543B1 (pt) 2023-03-07
US20150113235A1 (en) 2015-04-23
JP6327764B2 (ja) 2018-05-23
BR122017013533B1 (pt) 2023-03-07
JP6084756B2 (ja) 2017-02-22
RU2643664C2 (ru) 2018-02-02
JP6327763B2 (ja) 2018-05-23
US20150113215A1 (en) 2015-04-23
CN112069110A (zh) 2020-12-11
KR102058019B1 (ko) 2019-12-20
KR20160034961A (ko) 2016-03-30
US9058111B2 (en) 2015-06-16
US10331585B2 (en) 2019-06-25
US20150113234A1 (en) 2015-04-23
JP2016534472A (ja) 2016-11-04
KR20180050765A (ko) 2018-05-15
JP2017097908A (ja) 2017-06-01
CN105723351B (zh) 2020-08-18
US10482041B2 (en) 2019-11-19

Similar Documents

Publication Publication Date Title
CN105723351A (zh) 对存储器控制器进行读训练
CN109313617B (zh) 负载减少的非易失性存储器接口
US6795899B2 (en) Memory system with burst length shorter than prefetch length
CN105159853B (zh) 基于fpga的dfi标准ddr3控制器
US8856579B2 (en) Memory interface having extended strobe burst for read timing calibration
JP2021093129A (ja) メモリデバイスへのコマンドバストレーニングの技術
US20160300625A1 (en) Semiconductor apparatus and test method thereof
CN104866638B (zh) 用于dram系统的验证方法
US8635487B2 (en) Memory interface having extended strobe burst for write timing calibration
US20240079049A1 (en) Memory device and memory controller configured to perform re-training based on temperature information and electronic device including the same
KR20240034087A (ko) 온도 정보를 참조하여 리트레이닝을 수행하는 메모리 장치 및 메모리 컨트롤러, 그리고 이들을 포함하는 전자 장치
CN117672282A (zh) 电子装置及其操作方法以及存储器装置
CN117667778A (zh) 管理同步数据传输的系统、半导体装置以及装置控制器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant