对存储器控制器进行读训练的制作方法

文档序号:23260906发布日期:2020-12-11 18:49阅读:121来源:国知局
对存储器控制器进行读训练的制作方法

在此描述的实施例一般地涉及存储器系统,在所述存储器系统中存储器控制器通过单个通道或总线与多个存储器模块进行通信,所述存储器模块具有与耦合到该通道和存储器控制器的插槽兼容的引脚布局。



背景技术:

存储器控制器管理处理器与一个或多个存储器模块之间在接口或总线上的数据流。存储器控制器包含对存储器模块进行读写以及对存储在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的主题可选择性地包括:用于使用通过与总线接口的命令和数据信号线分离的总线接口的边带通路从存储器模块返回的读标识符,来确定在总线接口上对读数据进行采样的读偏移量的装置;以及用于通过执行以下步骤来使用读偏移量确定何时开始在读数据的数据眼中采样数据的装置:将读命令连同读标识符一并发送到存储器模块;在总线接口的边带通路上从存储器模块接收所接收的读标识符;响应于确定所接收的读标识符与连同读命令一并发送的读标识符匹配:确定数据眼为读取所接收的读标识符的位置;以及确定控制相位插值器的设置产生用于在所确定的数据眼处采样数据的插值信号,其中所接收的读标识符在所确定的数据眼处被读取。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1