CN109582596B - 从具有不同读取和写入定时的模式寄存器进行读取 - Google Patents

从具有不同读取和写入定时的模式寄存器进行读取 Download PDF

Info

Publication number
CN109582596B
CN109582596B CN201810993597.2A CN201810993597A CN109582596B CN 109582596 B CN109582596 B CN 109582596B CN 201810993597 A CN201810993597 A CN 201810993597A CN 109582596 B CN109582596 B CN 109582596B
Authority
CN
China
Prior art keywords
register
read
configuration information
host
mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810993597.2A
Other languages
English (en)
Other versions
CN109582596A (zh
Inventor
C·E·考克斯
B·纳莱
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Publication of CN109582596A publication Critical patent/CN109582596A/zh
Application granted granted Critical
Publication of CN109582596B publication Critical patent/CN109582596B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • 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/1673Details of memory controller using 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 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/227Timing of memory operations based on dummy memory elements or replica circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)

Abstract

一种系统提供邮箱通信寄存器以用于主机与模式寄存器之间的通信。模式寄存器用于存储配置信息,并且主机将配置信息写入模式寄存器花费的时间少于主机从模式寄存器读取配置信息花费的时间。通信寄存器与模式寄存器分离,并且提供存储配置信息的位置以供主机读取。响应于主机请求读取,模式寄存器可以将配置信息复制到通信寄存器,并且允许主机基于与应用于模式寄存器的定时规则不同的定时规则来读取寄存器。主机可以从通信寄存器进行读取,而不是直接从在读取与写入之间具有定时差的寄存器进行读取。

Description

从具有不同读取和写入定时的模式寄存器进行读取
技术领域
本说明书总体上涉及存储器设备,并且更具体地,说明书涉及从存储器设备的配置寄存器读取配置信息。
版权声明/许可
本专利文件的公开内容的部分可能包含受版权保护的材料。版权所有者不反对任何人复制专利和商标局专利文件或记录中出现的专利文件或专利公开内容,但在其他方面保留所有版权。版权声明适用于以下描述的所有数据和随附的附图,以及下面描述的任何软件:版权所有Intel公司,保留所有权利。
背景技术
存储器设备包括用于配置信息的存储位置,该配置信息用于设置存储器设备的可选或可配置操作。存储位置可以称为配置寄存器,并且通常称为模式寄存器。不同的配置可以改变存储器设备的操作模式。存储器设备的可配置操作可以包括与通信速度、定时设置、终结设置或者其他设置或组合有关的设置。
传统模式寄存器位于彼此紧密邻近处,并且具有类似的读取时间和写入时间。典型地,模式寄存器通过用于对用户数据的存储器阵列进行存取的相同数据总线进行读取和写入。当模式寄存器放置在不同的位置时,可能要求附加的逻辑电路来确保读取时间或写入时间或两者是相同的,或者在模式寄存器的读取时间和写入时间范围内。附加的逻辑电路导致设计和实现成本增加。减少逻辑的量可能会导致模式寄存器具有不同的读取时间和写入时间。例如,实现用于使得能够在预期定时内写入或配置模式寄存器的逻辑但不实现使得能够在预期定时内读取模式寄存器的逻辑可能导致存储器设备具有读取时间比写入时间慢的模式寄存器。读取和写入定时的差别可能使对模式寄存器的存取复杂化。
附图说明
以下描述包括对附图的讨论,附图具有通过本发明实施例的实现方式的示例的方式给出的图示。附图应该通过示例的方式而不是通过限制的方式来理解。如本文使用的,对一个或多个“实施例”的引用应理解为描述包括在本发明的至少一个实现方式中的特定特征、结构、或特性,或者组合。因此,本文中出现的诸如“在一个实施例中”或“在替代实施例中”之类的短语描述了本发明的各种实施例和实现方式,并且不一定都指代相同的实施例。然而,这些实施例也不一定是相互排斥的。
图1是其中可以通过通信寄存器读取模式寄存器的存储器子系统的实施例的框图。
图2是具有用于关键路径中的模式寄存器的通信或邮箱寄存器的存储器设备的实施例的框图。
图3是具有用于读取关键路径寄存器的通信寄存器的存储器系统的实施例的框图。
图4A-4B是通信寄存器的图解表示。
图5是经由通信寄存器间接读取模式寄存器的实施例的时序图。
图6是具有由经由通信寄存器读取的模式寄存器配置的判决反馈均衡的存储器设备的实施例的框图。
图7是经由通信寄存器间接读取模式寄存器的实施例的流程图。
图8是计算系统的实施例的框图,该计算系统中可以实现具有用于读取模式寄存器的通信寄存器的存储器系统。
图9是移动设备的实施例的框图,该移动设备中可以实现具有用于读取模式寄存器的通信寄存器的存储器系统。
以下是对某些细节和实现方式的描述,包括对附图的描述,附图可以描绘下面描述的实施例中的一些或所有实施例,以及讨论了本文提出的发明构思的其他潜在实施例或实现方式。
具体实施方式
如本文描述的,系统提供用于主机与模式寄存器或配置寄存器之间的通信的邮箱通信寄存器。模式寄存器指代用于存储存储器设备的配置信息的寄存器或可寻址存储位置,并且可以可替代地称为配置寄存器或配置存储位置。配置信息而不是用户数据或者由主机处理器使用或由主机处理器执行的数据控制存储器设备的操作。模式可以指代具有特定配置以实现某些能力或设置所实现的能力的操作参数的存储器设备的操作。
随着存储器设备的能力增加,模式寄存器的数量也趋于增加,因为倾向于需要更多的配置信息来配置增加的能力。传统上,存储器设备在设备的一个位置包括模式寄存器,其提供公共硬件逻辑以实现对模式寄存器的存取(读取或写入)。硬件逻辑使得能够控制从模式寄存器读取和写入模式寄存器的定时,这实现了确定性定时。一些配置信息受益于位于将使用的位置附近,这导致提供一个或多个模式寄存器,这些模式寄存器与其他模式寄存器不在一处,而是位于将使用配置信息的电路附近。可能放置在“关键路径”中或沿着存储器设备中的数据路径放置的存储器设备的示例可以是用于训练数据生成电路(例如,线性移位反馈寄存器或LSFR)或其他电路的配置寄存器、判决反馈均衡(DFE)配置寄存器或其他电路。为了提供与其他模式寄存器相同的用于读取和写入的确定性定时,存储器设计者需要包括附加的硬件电路来实现读取和写入。
存储器子系统继续被设计用于越来越高频率的数据存取,并且更具体地,用于在存储器设备与相关联的存储器控制器之间传输数据。增加的频率使数据传输更容易受到噪声的影响,并且利用计划的数据速率,数据眼可能完全折叠。数据眼是指数据信号的上升沿与随后的下降沿之间的平均时间。更高的数据速率意味着上升沿与下降沿之间的频率增加,并且由于噪声导致的移相导致上升沿和下降沿的定时足够变化,平均而言上升沿与下降沿之间没有开口。
一种在数据眼折叠的情况下恢复数据信号的方法是在接收器处实现滤波,例如DFE(其中DFE可以可替代地指代实现判决反馈均衡的判决反馈均衡器)。即使在较高的数据速率下,DFE也可以改进信令。然而,DFE可能要求大量配置信息。在存储器设备接收器处实现DFE可能要求显著增加配置(例如,存储器设备中的配置的量可能多于两倍)。增加模式寄存器的数量可能显著增加制造商读取和写入配置信息的设计负担。
然而,典型地不需要以与其他模式寄存器相同的定时来读取DFE配置,因为存储器控制器典型地仅作为诊断例程的一部分而读取DFE配置。因此,在一个实施例中,可以将存储器设备中的DFE模式寄存器或其他模式寄存器设计为以与其他模式寄存器相同的定时写入,但以不同的定时读取。在一个实施例中,存储器控制器不直接读取某些模式寄存器,而是通过通信寄存器间接地对其进行读取。这种能力使得能够根据典型的模式寄存器写入定时直接将配置信息写入模式寄存器,但是从寄存器读取变为两步过程以针对不同的存取定时进行调整。
虽然主要关于DFE配置寄存器提供示例,但是应理解,这些描述应用于具有不同读取和写入定时的任何寄存器。类似的方法可以用于写入时间比读取时间慢的模式寄存器,或用于读取时间比写入时间慢的模式寄存器。本文中描述的内容可以应用于DFE配置寄存器、LFSR寄存器或其他寄存器。本文中描述的内容对于在存储器设备内处于模式寄存器的公共位置之外的位置的模式寄存器(例如,散布在整个存储器设备中的模式寄存器)具有特别的益处。
存储器控制器或主机通过通信寄存器间接地执行较慢存取(例如,针对DFE配置的模式寄存器读取)。通信寄存器与目标模式寄存器分离。在一个实施例中,通信寄存器与具有类似的读取和写入时间的其他模式寄存器位于一处。因此,通信寄存器可以为主机提供预期的读取定时来读取配置信息。响应于主机的读取请求,目标模式寄存器可以将配置信息复制到通信寄存器,并且允许主机基于与应用于模式寄存器的定时规则不同的定时规则来读取寄存器。
图1是其中可以通过通信寄存器读取模式寄存器的存储器子系统的实施例的框图。系统100包括计算设备中的处理器和存储器子系统的元件。处理器110表示可以执行操作系统(OS)和应用的计算平台(其可以统称为存储器的主机或用户)的处理单元。OS和应用执行导致存储器存取的操作。处理器110可以包括一个或多个分离的处理器。每个分离的处理器可以包括单个处理单元、多核心处理单元或组合。处理单元可以是诸如CPU(中央处理单元)之类的主处理器、诸如GPU(图形处理单元)之类的外围处理器或组合。存储器存取也可以由诸如网络控制器或硬盘控制器之类的设备发启。这些设备可以在一些系统中与处理器集成,或者经由总线(例如,快速PCI)附接到处理器,或组合。系统100可以实现为SOC(片上系统),或者以独立组件实现。
对存储器设备的引用可以应用于不同的存储器类型。存储器设备经常指代易失性存储器技术。易失性存储器是如果到设备的电力中断则其状态(以及因此存储在其上的数据)不确定的存储器。非易失性存储器指代即使到设备的电力中断其状态也确定的存储器。动态易失性存储器要求刷新存储在设备中的数据以维持状态。动态易失性存储器的一个示例包括DRAM(动态随机存取存储器),或诸如同步DRAM(SDRAM)之类的一些变体。如本文中描述的存储器子系统可以与许多存储器技术兼容,例如,DDR3(双倍数据速率版本3,JEDEC(联合电子设备工程委员会)于2007年6月27日的原始发布版本,当前发布版本21)、DDR4(DDR版本4,JEDEC于2012年9月发布的初始规范)、LPDDR3(低功率DDR版本3,JESD209-3B,JEDEC2013年8月)、LPDDR4(低功率DDR版本4,JESD209-4,最初由JEDEC于2014年8月发布)、WIO2(宽I/O 2(WideIO2),JESD229-2,最初由JEDEC于2014年8月发布)、HBM(高带宽存储器DRAM,JESD235,最初由JEDEC于2013年10月发布)、DDR5(DDR版本5,目前由JEDEC讨论)、LPDDR5(LPDDR版本5,目前由JEDEC讨论)、HBM2(HBM版本2,目前由JEDEC讨论),或者其他存储器技术或存储器技术的组合,以及基于这些规范的衍生物或扩展的技术。
除了易失性存储器之外或替代易失性存储器,在一个实施例中,对存储器设备的引用可以指代即使到设备的电力中断其状态也确定的非易失性存储器设备。在一个实施例中,非易失性存储器设备是区块可寻址的存储器设备,例如,NAND或NOR技术。因此,存储器设备还可以包括下一代非易失性设备,例如,三维交叉点存储器设备、其他字节可寻址的非易失性存储器设备,或使用硫族化物相变材料(例如,硫族化物玻璃)的存储器设备。在一个实施例中,存储器设备可以是或包括多阈值级别NAND闪速存储器、NOR闪速存储器、单级或多级相变存储器(PCM)或具有开关的相变存储器(PCMS)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、包含忆阻器技术的磁阻随机存取存储器(MRAM)存储器或自旋移矩(STT)-MRAM,或上述存储器中的任一种的组合或其他存储器。
本文中涉及“RAM”或“RAM设备”的描述可以应用于允许随机存取的任何存储器设备,无论是易失性还是非易失性的。涉及“DRAM”或“DRAM设备”的描述可以指代易失性随机存取存储器设备。存储器设备或DRAM可以指管芯本身,指包括一个或多个管芯的封装存储器产品,或两者。在一个实施例中,具有需要刷新的易失性存储器的系统还可以包括非易失性存储器。
存储器控制器120表示系统100的一个或多个存储器控制器电路或设备。存储器控制器120表示响应于由处理器110执行操作而生成存储器存取命令的控制逻辑。存储器控制器120对一个或多个存储器设备140进行存取。存储器设备140可以是根据任何上面涉及的内容的DRAM设备。在一个实施例中,存储器设备140按不同的通道组织和管理,其中每个通道耦合到并行地耦合到多个存储器设备的总线和信号线。每个通道可独立操作。因此,每个通道被独立地存取和控制,并且定时、数据传输、命令和地址交换以及其他操作对于每个通道是分离的。如本文所使用的,耦合可以指电耦合、通信耦合、物理耦合或这些的组合。物理耦合可以包括直接接触。电耦合包括允许组件之间的电流动或允许组件之间的信令或两者的接口或互连。通信耦合包括使得组件能够交换数据的连接,包括有线的或无线的。
在一个实施例中,针对每个通道的设置由分离的模式寄存器或其他寄存器设置来控制。在一个实施例中,每个存储器控制器120管理分离的存储器通道,但是系统100可以被配置为具有由单个控制器管理的多个通道,或者在单个通道上具有多个控制器。在一个实施例中,存储器控制器120是主机处理器110的一部分,例如,与处理器在相同管芯上实现或在相同的封装空间中实现的逻辑。
存储器控制器120包括I/O接口逻辑122,用于耦合到存储器总线,例如,如上面涉及的存储器通道。I/O接口逻辑122(以及存储器设备140的I/O接口逻辑142)可以包括引脚、焊盘、连接器、信号线、迹线或电线,或用于连接设备的其他硬件,或这些的组合。I/O接口逻辑122可以包括硬件接口。如图所示,I/O接口逻辑122至少包括用于信号线的驱动器/收发器。通常,集成电路接口内的电线与焊盘、引脚或连接器耦合,以使信号线或迹线或其他电线在设备之间接合。I/O接口逻辑122可以包括驱动器、接收器、收发器或终端或者其他电路或电路的组合,用于在设备之间的信号线上交换信号。信号交换包括发送或接收中的至少一个。虽然示出为将I/O 122从存储器控制器120耦合到存储器设备140的I/O 142,但是应理解,在并行地存取存储器设备140的组的系统100的实现方式中,多个存储器设备可以包括到存储器控制器120的相同接口的I/O接口。在包括一个或多个存储器模块170的系统100的实现方式中,除了存储器设备本身上的接口硬件之外,I/O 142可以包括存储器模块的接口硬件。其他存储器控制器120将包括到其他存储器设备140的分离接口。
存储器控制器120与存储器设备140之间的总线可以实现为将存储器控制器120耦合到存储器设备140的多个信号线。总线典型地可以包括至少时钟(CLK)132、命令/地址(CMD)134以及写入数据(DQ)和读取DQ 136以及零或更多其他信号线138。在一个实施例中,存储器控制器120与存储器之间的总线或连接可以称为存储器总线。用于CMD的信号线可以称为“C/A总线”(或ADD/CMD总线,或指示命令(C或CMD)和地址(A或ADD)信息的传输的一些其他指定),并且用于写入DQ和读取DQ的信号线可以称为“数据总线”。在一个实施例中,独立通道具有不同的时钟信号、C/A总线、数据总线和其他信号线。因此,在独立接口路径可以被认为是分离的总线的意义上,可以认为系统100具有多个“总线”。应理解,除了明确示出的线之外,总线还可以包括选通信令线、警报线、辅助线或其他信号线中的至少一个或组合。还应理解,串行总线技术可以用于存储器控制器120与存储器设备140之间的连接。串行总线技术的一个示例是在每个方向上通过单个差分信号对以嵌入式时钟进行8B10B编码和高速数据传输。在一个实施例中,CMD 134表示与多个存储器设备并行共享的信号线。在一个实施例中,多个存储器设备共享CMD 134的编码命令信号线,并且每个存储器设备具有用于选择个体存储器设备的分离的片选(CS_n)信号线。
应理解,在系统100的示例中,存储器控制器120与存储器设备140之间的总线包括附属命令总线CMD 134和用于携带写入和读取数据的附属总线DQ 136。在一个实施例中,数据总线可以包括用于读取数据和用于写入/命令数据的双向线。在另一个实施例中,附属总线DQ 136可以包括用于将数据从主机写入存储器的单向写入信号线,并且可以包括用于将数据从存储器读取到主机的单向线。根据所选择的存储器技术和系统设计,其他信号138可以伴随总线或子总线,例如,选通线DQS。基于系统100的设计或者如果设计支持多个实现方式情况下的实现方式,数据总线可以具有每个存储器设备140更多或更少的带宽。例如,数据总线可以支持具有x32接口、x16接口、x8接口或其他接口的存储器设备。约定“xW”表示与存储器控制器120交换数据的信号线的数量,其中W是指代存储器设备140的接口的接口大小或宽度的整数。存储器设备的接口大小是关于系统100中的每个通道可以并发地使用多少个存储器设备或者多少个存储器设备并行地耦合到相同信号线的控制因素。在一个实施例中,高带宽存储器设备、宽接口设备或堆叠存储器配置或组合可以实现更宽的接口,例如,x128接口、x256接口、x512接口、x1024接口或其他数据总线接口宽度。
在一个实施例中,存储器设备140和存储器控制器120以突发或连续数据传输的序列通过数据总线交换数据。突发对应于多个传输周期,其与总线频率有关。在一个实施例中,传输周期可以是在相同时钟或选通信号边沿(例如,在上升沿)上发生传输的整个时钟周期。在一个实施例中,参考系统时钟的周期的每个时钟周期被分成多个单位间隔(UI),其中每个UI是传输周期。例如,双倍数据速率传输在时钟信号的两个边沿(例如,上升和下降)上触发。突发可以持续配置数量个UI,其可以是存储在寄存器中的配置,或者在运行中触发。例如,可以认为八个连续传输时段的序列是突发长度8(BL8),并且每个存储器设备140可以在每个UI上传输数据。因此,在BL8上操作的x8存储器设备可以传输64比特数据(8个数据信号线乘以通过突发每个线传输的8个数据比特)。应理解,这个简单的示例仅仅是说明性的而非限制性的。
存储器设备140表示系统100的存储器资源。在一个实施例中,每个存储器设备140是分离的存储器管芯。在一个实施例中,每个存储器设备140可以每个设备或管芯与多个(例如,2个)通道接合。每个存储器设备140包括I/O接口逻辑142,其具有由设备的实现方式确定的带宽(例如,x16或x8或一些其他接口带宽)。I/O接口逻辑142使得存储器设备能够与存储器控制器120接合。I/O接口逻辑142可以包括硬件接口,并且可以与存储器控制器的I/O 122一致,但是处于存储器设备端部。在一个实施例中,多个存储器设备140并行地连接到相同的命令和数据总线。在另一个实施例中,多个存储器设备140并行地连接到相同的命令总线,并且连接到不同的数据总线。例如,系统100可以配置有并行耦合的多个存储器设备140,其中每个存储器设备响应命令,并且存取每个存储器设备内部的存储器资源160。对于写入操作,个体存储器设备140可以写入整体数据字的一部分,并且对于读取操作,个体存储器设备140可以取出整体数据字的一部分。作为非限制性示例,特定存储器设备可以分别提供或接收128比特数据字中的8比特用于读取或写入事务,或者256比特数据字中的8比特或16比特(取决于x8或x16设备)。该字的其余比特将由其他存储器设备并行地提供或接收。
在一个实施例中,存储器设备140直接设置在计算设备的主板或主机系统平台(例如,其上设置有处理器110的PCB(印刷电路板))上。在一个实施例中,存储器设备140可以组织成存储器模块170。在一个实施例中,存储器模块170表示双列直插式存储器模块(DIMM)。在一个实施例中,存储器模块170表示多个存储器设备共享存取或控制电路的至少一部分的其他组织,该存取或控制电路可以是与主机系统平台分离的电路、分离的设备或分离的板。存储器模块170可以包括多个存储器设备140,并且存储器模块可以包括对到设置在存储器模块上的、所包括的存储器设备的多个分离通道的支持。在另一个实施例中,存储器设备140可以与存储器控制器120合并到相同的封装中,例如,通过诸如多芯片模块(MCM)、封装上封装、硅通孔(TSV)或其他技术或组合之类的技术。类似地,在一个实施例中,多个存储器设备140可以合并到存储器模块170中,存储器模块170本身可以与存储器控制器120合并到相同的封装中。应理解,对于这些和其他实施例,存储器控制器120可以是主机处理器110的一部分。
存储器设备140各自包括存储器资源160。存储器资源160表示存储器位置的个体阵列或数据的存储位置。典型地,存储器资源160作为数据的行进行管理,经由字线(行)和比特线(行内的个体比特)控制来进行存取。存储器资源160可以被组织为存储器的分离的通道、列(rank)和存储体。通道可以指代到存储器设备140内的存储位置的独立控制路径。列可以指代跨多个存储器设备的公共位置(例如,不同设备内的相同行地址)。存储体可以指存储器设备140内的存储器位置的阵列。在一个实施例中,将存储器的存储体划分为子存储体,其中共享电路的至少一部分(例如,驱动器、信号线、控制逻辑)用于子存储体。应理解,存储器位置的通道、列、存储体、子存储体、存储体组或其他组织以及组织的组合可以在其应用中与物理资源重叠。例如,可以通过特定通道作为特定存储体(其也可以属于列)存取相同的物理存储器位置。因此,将以包容性而非排他性的方式理解存储器资源的组织。
在一个实施例中,存储器设备140包括一个或多个寄存器144。寄存器144表示一个或多个存储设备或存储位置,其提供用于存储器设备的操作的配置或设置。在一个实施例中,寄存器144可以为存储器设备140提供存储位置,用于存储数据以供作为控制或管理操作的一部分由存储器控制器120存取。在一个实施例中,寄存器144包括一个或多个模式寄存器。在一个实施例中,寄存器144包括一个或多个多用途寄存器。寄存器144内的位置配置可以将存储器设备140配置为以不同的“模式”操作,其中命令信息可以基于模式触发存储器设备140内的不同操作。另外或可替代地,取决于模式,不同模式还可以从地址信息或其他信号线触发不同的操作。寄存器144的设置可以指示针对I/O设置的配置(例如,定时、终结或ODT(管芯上终结)146、驱动器配置或其他I/O设置)。
在一个实施例中,存储器设备140包括作为与I/O 142相关联的接口硬件的一部分的ODT 146。ODT 146可以如上面提到地进行配置,并且提供要施加于到指定信号线的接口的阻抗的设置。在一个实施例中,ODT 146施加于DQ信号线。在一个实施例中,ODT 146施加于命令信号线。在一个实施例中,ODT 146施加于地址信号线。在一个实施例中,ODT 146可以施加于前述的任何组合。可以基于存储器设备是存取操作的选定目标还是非目标设备来改变ODT设置。ODT 146设置可以影响终止线上的定时和信令反射。通过ODT 146进行细致控制可以实现更高速的操作,同时改进所施加的阻抗和负载的匹配。ODT 146可以施加于I/O接口142、122的特定信号线,并且不一定施加于所有信号线。
存储器设备140包括控制器150,其表示存储器设备内的控制逻辑,用于控制存储器设备内的内部操作。例如,控制器150对由存储器控制器120发送的命令进行解码,并且生成内部操作以执行或满足命令。控制器150可以称为内部控制器,并且与主机的存储器控制器120分离。控制器150可以基于寄存器144来确定选择什么模式,并且基于选定的模式来配置用于存取存储器资源160的操作或其他操作的内部执行。控制器150生成控制信号以控制存储器设备140内的比特的路由,以针对选定的模式提供适当的接口,并且将命令引导至适当的存储器位置或地址。控制器150包括命令逻辑152,其可以对在命令和地址信号线上接收的命令编码进行解码。因此,命令逻辑152可以是或包括命令解码器。利用命令逻辑152,存储器设备可以识别命令并生成内部操作以执行所请求的命令。
再次参考存储器控制器120,存储器控制器120包括调度器130,其表示用于生成和命令要发送到存储器设备140的事务的逻辑或电路。从一个角度来看,可以认为存储器控制器120的主要功能是调度到存储器设备140的存储器存取和其他事务。这样的调度可以包括生成事务本身以实现处理器110对数据的请求并且维持数据的完整性(例如,与刷新相关的命令)。事务可以包括一个或多个命令,并且导致在一个或多个定时周期(例如,时钟周期或单位间隔)内传送命令或数据或两者。事务可以用于存取(例如,读取或写入或相关命令或组合),并且其他事务可以包括用于配置、设置、数据完整性的存储器管理命令或其他命令或组合。
存储器控制器120典型地包括用于允许对事务进行选择和排序以改进系统100的性能的逻辑。因此,存储器控制器120可以选择应该以哪种顺序将哪些未完成的事务发送到存储器设备140,这典型地利用比简单的先进先出算法复杂得多的逻辑实现。存储器控制器120管理向存储器设备140传输事务,并且管理与事务相关联的定时。在一个实施例中,事务具有确定性定时,其可以由存储器控制器120管理并且用于确定如何调度事务。
再次参考存储器控制器120,存储器控制器120包括命令(CMD)逻辑124,其表示用于生成要发送到存储器设备140的命令的逻辑或电路。命令的生成可以指代调度之前的命令,或对准备好进行发送的已排队命令的准备。通常,存储器子系统中的信令包括命令内或伴随命令的地址信息,用于指示或选择存储器设备应执行命令的一个或多个存储器位置。响应于调度针对存储器设备140的事务,存储器控制器120可以经由I/O 122发出命令以使存储器设备140执行命令。在一个实施例中,存储器设备140的控制器150接收并解码经由I/O 142从存储器控制器120接收的命令和地址信息。基于接收到的命令和地址信息,控制器150可以控制存储器设备140内的逻辑和电路执行命令的操作的定时。控制器150负责在存储器设备140内遵从标准或规范,例如,定时和信令要求。存储器控制器120可以通过存取调度和控制来实现遵从标准或规范。
在一个实施例中,存储器控制器120包括刷新(REF)逻辑126。刷新逻辑126可以用于易失性并且需要刷新以保持确定性状态的存储器资源。在一个实施例中,刷新逻辑126指示刷新的位置和要执行的刷新的类型。刷新逻辑126可以触发存储器设备140内的自刷新,或者通过发送刷新命令来执行外部刷新(其可以被称为自动刷新命令)或组合。在一个实施例中,系统100支持所有存储体刷新以及每个存储体刷新。所有存储体刷新使得并行耦合的所有存储器设备140内的存储体刷新。每个存储体刷新使得指定存储器设备140内的指定存储体刷新。在一个实施例中,存储器设备140内的控制器150包括刷新逻辑154,用于在存储器设备140内应用刷新。在一个实施例中,刷新逻辑154生成内部操作,以根据从存储器控制器120接收的外部刷新来执行刷新。刷新逻辑154可以确定刷新是否指向存储器设备140,以及响应于命令对什么存储器资源160进行刷新。
在一个实施例中,存储器设备140包括寄存器148,除了在读取和写入定时之间存在差别之外,寄存器148可以与寄存器144相同。在一个实施例中,寄存器144对于读取和写入具有类似的定时,并且可以由存储器控制器120直接存取。在一个实施例中,相比较而言,寄存器148具有比读取时间快的写入时间。因此,存储器控制器120可以直接写入寄存器148,但不直接对其进行读取。在一个实施例中,不是直接读取寄存器148,而是存储器设备140包括用于从寄存器148进行读取的通信(comm)寄存器180。响应于来自存储器控制器120的对寄存器148进行定址的读取请求,存储器控制器不直接从数据总线(例如,DQ 136)存取数据。而是,寄存器148将要读取的数据写入通信寄存器180,并且存储器控制器120从寄存器180存取数据。在一个实施例中,存储器控制器120经由模式寄存器读取操作从通信寄存器180进行读取。
在一个实施例中,通信寄存器180与由寄存器144表示的其他模式寄存器一起定位。通信寄存器180也可以称为邮箱或邮箱寄存器。寄存器的分组或位于一处可以指寄存器与彼此的物理邻近度,或者读取路径的共享,或两者。在一个实施例中,寄存器144和寄存器148可利用模式寄存器写入(MRW)操作来写入。在一个实施例中,寄存器144可利用模式寄存器读取(MRR)操作来读取,而寄存器148则不是这样。
在一个实施例中,通信寄存器180可利用MRW命令写入并且可利用MRR命令读取。在一个实施例中,通信寄存器180包括两个分离的寄存器或两个分离的部分,其中一个部分是存储器控制器120可存取的,以写入寄存器148的地址信息,并且用于寄存器148的另一部分用于写入内容以供存储器控制器120读取。在一个实施例中,单个通信寄存器180在多个寄存器148之中共享,并且每个寄存器148可以依次读取。
图2是具有用于关键路径中的模式寄存器的通信或邮箱寄存器的存储器设备的实施例的框图。存储器设备200表示根据系统100的存储器设备140的存储器设备的一个示例。在一个实施例中,存储器设备200是安装到基板以连接到CPU作为封装内存储器的DRAM设备。
地址(addr)寄存器220接收诸如行地址信号和存储体地址信号之类的地址信息(ADDR),以识别存储器的受特定命令影响的部分。地址信号、时钟(CLK)信号、时钟使能(CKE)信号和命令(CMD)信号以及控制(CTRL)信号表示用于存储器设备200的命令和地址的I/O连接器。控制逻辑210接收CLK、CKE和CMD,并且控制存储器设备200关于这些信号的操作。在一个实施例中,地址寄存器220将地址信息分发给行地址复用器(row addr mux)222,存储体控制(ctrl)逻辑224和列地址计数器(col addr cntr)226。行地址复用器222取行地址信息和刷新计数器(ref 228)作为输入,并且控制存储器设备的每个存储体的行地址锁存器(RAL)和解码器(行解码器232)。存储体控制逻辑224选择将针对接收到的存储器存取操作(例如,基于命令)选择哪个存储体。列地址计数器226生成用于选择用于操作的列的信号。
行解码器(dec)232选择存储体中的地址,其可以包括存储器阵列230的行。在一个实施例中,存储器阵列230可以是或包括子阵列。来自存储体控制逻辑224和列地址计数器226的信号可以触发列解码器(col dec)234激活用于期望的存储器阵列230的适当感测放大器(SA)242。列解码器(col dec)234可以触发I/O门控240,其表示包括信号线或电线的硬件以及用于将数据路由到存储器阵列230和从存储器阵列230路由数据的逻辑。I/O门控240可以将数据放入感测放大器242以用于写入操作,并且可以读出数据以用于读取操作。列解码器234基于存储体控制逻辑选择和列地址计数器选择来进行针对I/O门控240的列选择。
在一个实施例中,读取锁存器250被耦合以从I/O门控240接收数据比特以用于读取操作。读取锁存器250将数据馈送到复用器252,复用器252可以选择对应于设备数据接口的比特数。复用器252可以将数据发送到驱动器(drvr)254,驱动器254将驱动I/O连接器DQ[0:(N-1)]上的数据。虽然没有具体示出,但是应理解,驱动器254可以基于定时来驱动一个或多个数据选通线。对于写入操作,控制器将提供DQ[0:(N-1)]上的数据。在一个实施例中,接收器(rcvr)260从数据总线接收写入数据,并且将其输入到输入寄存器或输入缓冲器262。在一个实施例中,接收器260接收数据掩蔽信号(DM),其可以指示存储器设备何时应该执行读取操作。输入缓冲器(buf)262根据数据选通线对数据进行采样,并且可以将数据锁存到写入驱动器(drvr)264,写入驱动器264向I/O门控240提供数据。
存储器设备200包括模式寄存器(regs)212,其表示存储器设备的标准模式寄存器或存储配置信息以控制存储器设备200的各种运行时操作模式的模式寄存器。模式寄存器212具有与标准模式寄存器命令兼容的相关联的读取和写入定时。控制逻辑210可以基于存储在模式寄存器212中的设置进行操作。
在一个实施例中,存储器设备200包括DFE 266以提供对接收数据的滤波。滤波可以操作以针对由接收器260接收的数据信号使数据眼“张开”。DFE 266基于存储在模式寄存器214中的配置信息进行操作,模式寄存器214表示不与标准模式寄存器一起定位的模式寄存器,并且具有不同的读取和写入定时。在一个实施例中,相关联的存储器控制器可以直接写入模式寄存器214,而不是直接读取模式寄存器,存储器设备200将模式寄存器214的数据写入邮箱216,邮箱216可以称为通信寄存器。邮箱216可以根据本文中描述的通信寄存器的任何实施例进行操作。
预计DDR5将DFE添加到DRAM设备以改进I/O摆动。然而,由于DRAM设计的工艺特性,DDR5DRAM可能无法实现能够自行配置的完全自动DFE。因此,配置将来自DFE电路外部,这可能导致需要针对DFE的每个比特定义超过140字节的模式寄存器。因此,在一个实施例中,模式寄存器214可以表示用于存储超过140字节的数据乘以要实现的DFE比特的数量的多个模式寄存器。应理解,数据的量仅是示例,并且可以使用更多数据或更少数据。另外或可替代地,可以存储其他数据用于除DFE之外的其他目的。DFE 266表示要应用于接收器260的DFE电路。应理解,对于N个数据信号线DQ中的每个,可以存在DFE电路。
通常,模式寄存器位于存储器设备管芯的非关键区域中;然而,在一个实施例中,DFE模式寄存器214需要与由DFE 266表示的DFE电路位于一处。由于模式寄存器214位于设备输入/输出附近,因此可以认为模式寄存器214处于关键路径中。在一个实施例中,模式寄存器214仅关于相关联的存储器控制器(未示出)进行写入。因此,存储器控制器可以直接利用模式寄存器操作来写入模式寄存器214,但是不具有直接对模式寄存器的读取存取。在一个实施例中,为了读取模式寄存器214,响应于包括模式寄存器214中的任一个的地址的读取请求,定址的模式寄存器将其内容写入邮箱寄存器216,邮箱寄存器216可以是通信寄存器。邮箱寄存器216可以包括多个可寻址部分,或经由不同地址可存取的部分。
在一个实施例中,邮箱寄存器216至少包括部分,一个部分用于从存储器控制器接收地址信息,并且一个部分用于提供数据以供存储器控制器进行存取。在这样的实施例中,地址部分可以是关于存储器控制器的只写寄存器,其写入地址信息以供存储器设备200使用来对模式寄存器214的位置进行定址。数据内容部分可以是关于存储器控制器的只读寄存器,该存储器控制器不能对寄存器进行写入,而是存取邮箱寄存器以从模式寄存器214读取写入其的内容。
在一个实施例中,邮箱寄存器216与模式寄存器212共享时序参数。因此,例如,邮箱寄存器216的读取和写入定时与模式寄存器212相同。在一个实施例中,要从邮箱寄存器216读取的数据用于存储器设备200内的调试或错误管理目的,并且将地址信息写入邮箱寄存器216并且然后等待内容从模式寄存器214传送到邮箱寄存器216所需的额外时间不会不利地影响存储器设备200的运行时操作。虽然邮箱寄存器216的读取和写入定时可以是预期的定时,但是在写入地址信息之后读取内容之间的定时可能包括延迟。
图3是具有用于读取关键路径寄存器的通信寄存器的存储器系统的实施例的框图。系统300提供根据图1的系统100的存储器子系统的一个示例。存储器320可以是根据图1的存储器设备140或图2的存储器设备200的存储器设备的一个示例。
主机310表示管理对存储器320的存取的电路或逻辑。在一个实施例中,主机310是或包括存储器控制器。存储器控制器可以包括独立组件或与处理器集成的电路或组合。在一个实施例中,存储器控制器是处理器管芯上的接口电路。存储器320包括I/O 322,其表示使存储器320能够与耦合到主机310的信号线接合的组件。主机310类似地包括未在系统300中具体示出的I/O组件。I/O 322可以包括驱动器、接收器、到信号线的电连接和其他硬件。在一个实施例中,I/O 322包括基于存储在一个或多个关键路径模式寄存器334中的数据进行操作的DFE组件。
存储器320包括模式寄存器332,其表示用于控制存储器320的功能的配置信息的存储位置。关键路径寄存器334还存储配置信息,但是不能由主机310直接读取或直接写入。通信寄存器336提供用于主机310进行间接存取的通信机制。对于间接读取(例如,存取DFE配置信息),I/O 322从主机310接收读取请求,并且关键路径寄存器334将内容写入通信寄存器336以供主机310存取。主机310从通信寄存器336存取内容。对于间接写入,I/O 322接收写入请求并且存储将要写入通信寄存器336的内容。存储器320将内容从通信寄存器336传送到关键路径寄存器334以写入关键路径寄存器。在间接读取或间接写入中,通信寄存器336与关键路径寄存器334之间的内容传送发生在主机310进行的模式寄存器读取或写入的读取操作和写入操作之外。内容的传送涉及存储器320的内部操作。
从通信寄存器336读取将具有一些定时异常,以允许将内容从关键路径寄存器334传送到通信寄存器336。对于用于间接写入的写入也是如此。在一个实施例中,主机310将不读取通信寄存器336,直到接收到通信寄存器336中的信息准备好进行读取的指示。在一个实施例中,主机310经由其中主机310生成查询的轮询例程接收指示。在一个实施例中,响应于将内容传送到通信寄存器336,存储器320对模式寄存器332中的一个模式寄存器332中的比特进行置位,主机310可以读取该比特以确定通信寄存器何时准备好被读取。在一个实施例中,存储器320可以提供指示信号,例如,通过在I/O 322的信号线(例如,警报或其他信号线)上生成信号。
在一个实施例中,主机310包括配置信息或预编程信息,以指示将内容从关键路径寄存器334传送到通信寄存器336的定时。基于这样的配置信息,主机310可以生成到通信寄存器336的读取地址,并且基于配置的延迟从通信寄存器336读取关键路径寄存器334的内容。基于将内容从关键路径寄存器334传送到通信寄存器336的定时的方法可能导致基于不同存储器设备类型的不同定时,这将使间接读取的实现复杂化。
因此,在一个实施例中,主机310轮询存储器320以确定通信寄存器336是否已填充有定址的关键路径寄存器334的内容。在一个实施例中,主机310可以知道通信寄存器336将填充有给定量的时间。在一个实施例中,通信寄存器336包括一个地址部分和一个内容部分。地址部分使主机310能够识别共享通信寄存器的多个关键路径寄存器334中的一个。定址的关键路径寄存器334将其配置信息传送到主机310可以存取的共享数据部分或内容部分。
图4A-4B是通信寄存器的图解表示。参考图4A,根据具有分离的地址部分和内容部分的通信寄存器的实施例,模式寄存器410表示通信寄存器的地址部分。参考图4B,根据具有分离的地址部分和内容部分的通信寄存器的实施例,模式寄存器420表示通信寄存器的数据内容部分。在一个实施例中,这些部分重叠。在一个实施例中,地址部分和内容部分是相同的寄存器中的分离字段。
在一个实施例中,模式寄存器410包括在标识为MRx的模式寄存器中,并且包括地址部分[ADDR]。地址读取请求被示为包括由OP[7:0]标识的8个比特。类似地,在一个实施例中,模式寄存器420包括在标识为MRy的模式寄存器中,并且包括用于对模式寄存器进行定址或存取的地址部分[ADDR]。在一个实施例中,MRx和MRy是相同的模式寄存器。在一个实施例中,MRx和MRy是具有不同地址的相同模式寄存器。MR配置内容被示为包括由OP[7:0]标识的8比特数据。
在一个实施例中,模式寄存器410是地址读取请求模式寄存器,并且是关于主机只写的。在一个实施例中,主机只能写入寄存器但不能对其进行读取。存储器设备在内部读取寄存器以识别这样的模式寄存器:其内容将被传送到模式寄存器420的配置内容。在一个实施例中,模式寄存器420存储配置内容以供主机存取,并且是关于主机的只读寄存器。在一个实施例中,主机从模式寄存器420读取内容,但不允许写入寄存器。通过模式寄存器410,主机可以通过将地址写入寄存器来识别要读取的模式寄存器。通过模式寄存器420,主机可以读取从目标模式寄存器传送的、所识别的模式寄存器的内容。
考虑其中模式寄存器410和420提供用于读取DFE模式寄存器的内容的示例。在一个实施例中,模式寄存器410是DFE地址读取请求寄存器,其中主机向DRAM提供正被请求的DFE模式寄存器地址。在一个实施例中,模式寄存器420是DFE配置内容寄存器,存储器设备向其填充目标模式寄存器的配置信息以供主机存取。在一个实施例中,主机对数据的存取将采用与正常模式寄存器提供的格式相同的格式。对于涉及将地址写入模式寄存器410并且然后从模式寄存器420进行读取的读取,应理解,这样的读取将具有比模式寄存器的标准读取多的延迟。在一个实施例中,写入模式寄存器410与将内容输出到模式寄存器420之间的延迟由定时参数定义,例如,tMRR_dfe。这种定时参数与正常模式寄存器读取的tMRR不同。在一个实施例中,存储器设备保留模式寄存器420的内容,直到发送另一个DFE地址读取请求并且满足tMRR_dfe。在一个实施例中,仅针对由主机存取以用于调试或其他非运行时操作的配置信息执行间接读取。如果读取涉及不是正常运行时操作的操作,则延迟时间可以是灵活的。
图5是经由通信寄存器间接读取模式寄存器的实施例的时序图。图500示出了诸如系统100的寄存器180或系统200的寄存器216之类的通信寄存器的定时的实施例。图500针对命令(cmd)信号线510、邮箱模式寄存器(MR_MB)520、目标模式寄存器(MR目标)530或要读取的模式寄存器以及数据总线540示出了各种相关事件。
在一个实施例中,存储器控制器发送模式寄存器写入命令MRW(如命令线510所示),以将目标模式寄存器的地址写入通信寄存器。在延迟tMRD之后,数据总线540将数据D[7:0]显示为伴随处于MRW命令中的通信模式寄存器地址的数据地址。延迟tMRD是指模式寄存器设置命令周期时间,并且可以认为写入命令之后的延迟是tMRW延迟。
在延迟t1之后,地址信息ADDR在邮箱模式寄存器中准备就绪。响应于写入地址信息,存储器设备使目标模式寄存器将其内容传送到邮箱模式寄存器。在延迟时段t2之后,示出目标模式寄存器530执行在延迟时段t3之后在邮箱模式寄存器520中准备就绪的数据的传送。在由延迟时段t4表示的经配置的时间段之后,或者在存储器控制器轮询邮箱的延迟t4之后,存储器控制器发送模式寄存器读取命令MRR以读取邮箱寄存器520中的数据。因此,在一个实施例中,延迟t4可以包括主机接收轮询请求以确定邮箱寄存器520是否准备好进行读取。MRR命令包括邮箱寄存器520的保持数据内容的地址。在延迟时段tMRD之后,邮箱模式寄存器通过数据总线540发送数据,如数据D[7:0]所示。可以认为这里的延迟tMRD是tMRR延迟。
作为对所示的间接读取的替代,在一个实施例中,主机可以利用偏移定时直接对模式寄存器执行MRR(例如,DFE寄存器)。存储器控制器随后向邮箱寄存器发出另一个MRR命令,而不是内容在tMRD中从模式寄存器准备就绪。因此,在图500的示例中,MRW命令可以是定址到目标模式寄存器530的MRR命令。第二MRR命令可以被定址到邮箱模式寄存器520以响应于第一MRR命令读取存储在其中的内容。应理解,这样的过程可能要求针对在tMRD中不能读取的每个模式寄存器地址定义异常子句。这样的异常会使存储器控制器处的调度复杂化,并且可能要求基于特定存储器设备的不同定义。
图6是具有由经由通信寄存器读取的模式寄存器配置的判决反馈均衡的存储器设备的实施例的框图。系统600可以是根据本文描述的任何实施例的存储器设备(例如,图1的存储器设备140或图2的存储器设备200)的一个示例。系统600示出了用于存储器设备的接收I/O的组件。更具体地,系统600示出N个数据信号线接口DQ[N-1:0]。在一个实施例中,系统600包括数据信号线接口与接收器逻辑640之间的DFE。在一个实施例中,每个信号线具有分离的DFE电路,如DQ[0]的输入路径上的DQ 610、DQ[1]的输入路径上的DFE 620以及DQ[N-1]的输入路径上的DFE 630所示。仅示出了DFE 610的细节,但是其他DFE组件可以是相似或相同的。
DFE电路将经滤波的数据提供给接收器逻辑640以供存储器进一步处理,并且基于接收到的命令对存储器阵列执行操作。系统600的存储器设备可以包括模式寄存器(MR)650。在一个实施例中,模式寄存器650包括邮箱寄存器652。在一个实施例中,邮箱寄存器652与模式寄存器650分离,但是遵循相同的定时规则并且可以位于其他模式寄存器附近。
在一个实施例中,DFE 610包括在其前端处的求和电路612,在其后端处的判决限幅器电路614,以及反馈滤波器路径616。滤波器616可以被称为反馈路径或包括针对多个先前采样的数字比特值的多个抽头的带抽头反馈路径。DFE 610可以消除符号间干扰(ISI)以减少DQ[0]接收到的高速数字信号流的失真。
当超高速数字脉冲沿信号迹线传播时,它们趋向于失去其尖锐的矩形形状,从而在接收端处接收到超高速数字脉冲时导致更加拖长、更宽、更圆的形状。较宽的圆形脉冲可能延伸到相邻脉冲的时隙。因此,任何脉冲的脉冲形状可能由于数字流中其相邻脉冲的干扰波形变得更加受损。
在一个实施例中,滤波器616在反馈回路中包括M个“抽头”T[M:1],其中可以特别地调谐不同的抽头以消除来自前一脉冲或在正在确定其数字值的当前脉冲之前接收的脉冲的干扰。判决限幅器614确定当前正在接收的数字脉冲的数字值(1或0)。M个抽头具有相关联的系数Wn,以配置抽头用于消除来自前一数字脉冲的干扰。在一个实施例中,针对每个抽头确定系数并且将其存储在对应的模式寄存器618中。
系数可以捕获干扰当前脉冲的先前脉冲的幅度(或量),并且求和电路612从当前接收到的信号中减去特定幅度。减法理想地完全消除了来自先前脉冲的任何或所有干扰。在一个实施例中,抽头被设计用于特定的先前接收到的信号。例如,抽头T[1]可以被配置为消除来自紧接着先前接收到的信号的干扰,T[2]消除来自在此之前接收的信号的干扰,等等。DFE可以被配置为消除来自与针对系统确定的一样多的先前信号的干扰,每个先前信号一个抽头。在一个实施例中,DFE 610包括两个抽头。在一个实施例中,DFE 610包括四个抽头。其他数量的抽头是可能的。
应理解,在不同信号路径用于不同数据比特的情况下,DFE系数对于每个抽头并且对于每个DFE电路可以是不同的。因此,模式寄存器618的组存储用于DFE 610并且更具体地用于滤波器616的不同抽头的配置信息。类似地,模式寄存器628提供用于DFE 620的滤波器路径的抽头的配置。类似地,模式寄存器638提供用于DFE 630的滤波器路径的抽头的配置。在一个实施例中,系统600在训练期间确定基于各种系数的值,例如,结合启动。在一个实施例中,与系统600相关联的主机(未具体示出)可以确定系数并且将其写入各种模式寄存器。在一个实施例中,主机仅作为调试机制的一部分存取或读取模式寄存器。
系统600可以应用于即将到来的存储器设备。例如,DDR5DRAM设备预计使DFE电路基于增加的数据速率处理闭合的数据眼。DDR4具有总共40个模式寄存器,用于存储器设备中存在的各种模式的配置信息。预计DFE包括128字节的数据。DFE可能仅要求136个寄存器用于DFE配置。因此,在先前的DRAM版本中存在的用于写入和读取模式寄存器配置的技术可能不足以用于未来各代的设备。不仅DFE会导致需要配置的模式寄存器的数量显着增加,而且DFE模式寄存器在物理上位于与标准模式寄存器(其处于I/O路径中)不同的位置。
在一个实施例中,模式寄存器618、628和638的性质相对于模式寄存器650而改变。即,对于DFE,模式寄存器618、628和638可以包括快速写入路径。在一个实施例中,写入路径允许流送对配置数据的写入。在一个实施例中,到这些相同寄存器的读取路径很慢,并且通过邮箱寄存器652发生。通过使所有慢模式寄存器读取业务通过邮箱寄存器发生,系统配置可以仅针对邮箱寄存器652具有定时和存取异常,并且具有慢读取路径的所有模式寄存器可以使其慢读取隐藏在邮箱寄存器652后面。因此,系统600可以具有一种异常类型,而不是具有大量具有不同定时参数的寄存器。
图7是经由通信寄存器间接读取模式寄存器的实施例的流程图。该过程可以在存储器控制器或相当的组件与具有模式寄存器的存储器设备之间执行,该模式寄存器在读取路径与写入路径之间具有定时差别。
在一个实施例中,存储器控制器将配置信息写入具有偏移读取和写入定时的模式寄存器,702。在稍后的某个时间,存储器控制器可以确定从模式寄存器读取配置,704。例如,存储器控制器可以确定作为调试过程的一部分读取配置信息。
在一个实施例中,为了读取模式寄存器,存储器控制器将模式寄存器写入命令发送到通信寄存器,以写入要读取的目标模式寄存器的地址,706。响应于写入地址,存储器设备检测通信寄存器中的地址,708。响应于接收到地址,存储器设备可以将配置数据从目标模式寄存器复制或传送到通信寄存器,710。
在满足延迟时段之后,存储器控制器可以对通信寄存器进行读取,712。在一个实施例中,满足延迟包括等待预定义的时间段。在一个实施例中,满足延迟包括轮询存储器设备以确定通信寄存器是否准备好进行读取。在一个实施例中,存储器设备触发准备就绪信号,以指示通信寄存器何时填充有用于读取的配置数据。在延迟之后,在一个实施例中,存储器控制器将模式寄存器读取发送到通信寄存器,714。存储器设备接收针对通信寄存器的模式寄存器读取命令,716,并且将数据从通信寄存器发送到存储器控制器,718。在一个实施例中,通信寄存器在多个寄存器之中共享,并且存储器控制器可以通过重复发送地址信息和读取请求来经由通信寄存器读取多个模式寄存器的配置数据以获得配置数据。因此,可以依次读取每个模式寄存器。
图8是计算系统的实施例的框图,该计算系统中可以实现具有用于读取模式寄存器的通信寄存器的存储器系统。系统800表示根据本文描述的任何实施例的计算设备,并且可以是膝上型计算机、台式计算机、平板计算机、服务器、游戏或娱乐控制系统、扫描仪、复印机、打印机、路由或交换设备、嵌入式计算设备、智能手机、可穿戴设备、物联网设备或其他电子设备。
系统800包括处理器810,其为系统800提供处理、操作管理和指令的执行。处理器810可以包括任何类型的微处理器、中央处理单元(CPU)、图形处理单元(GPU)、处理核心或为系统800提供处理的其他处理硬件,或处理器的组合。处理器810控制系统800的整体操作,并且可以是或包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑器件(PLD)等,或这些设备的组合。
在一个实施例中,系统800包括耦合到处理器810的接口812,接口812可以表示需要更高带宽连接的系统组件(例如,存储器子系统820或图形接口组件840)的较高速接口或高吞吐量接口。接口812表示接口电路,其可以是独立组件或集成在处理器管芯上。在存在的情况下,图形接口840与图形组件接合,用于向系统800的用户提供视觉显示。在一个实施例中,图形接口840可以驱动向用户提供输出的高清晰度(HD)显示器。高清晰度可以指代具有大约100PPI(每英寸像素)或更大的像素密度的显示器,并且可以包括诸如全HD(例如,1080p)、视网膜显示器、4K(超高清晰度或UHD)或者其他之类的格式。在一个实施例中,显示器可包括触摸屏显示器。在一个实施例中,图形接口840基于存储在存储器830中的数据或基于由处理器810执行的操作或两者来生成显示。在一个实施例中,图形接口840基于存储在存储器830中的数据或基于由处理器810执行的操作或两者来生成显示。
存储器子系统820表示系统800的主存储器,并且为要由处理器810执行的代码或要在执行例程中使用的数据值提供存储。存储器子系统820可以包括一个或多个存储器设备830,例如,只读存储器(ROM)、闪速存储器、一种或多种随机存取存储器(RAM)(例如,DRAM)或其他存储器设备或这些设备的组合。除了其他之外,存储器830存储并托管操作系统(OS)832以提供用于在系统800中执行指令的软件平台。另外,应用834可以在OS 832的软件平台上从存储器830执行。应用834表示具有其自己的操作逻辑以实现对一个或多个函数的执行的程序。进程836表示向OS832或一个或多个应用834或组合提供辅助功能的代理或例程。OS 832、应用834和进程836提供软件逻辑以便为系统800提供功能。在一个实施例中,存储器子系统820包括存储器控制器822,其是用于生成命令并且向存储器830发出命令的存储器控制器。应理解,存储器控制器822可以是处理器810的物理部分或接口812的物理部分。例如,存储器控制器822可以是集成存储器控制器,其集成到具有处理器810的电路上。
虽然未具体示出,但是应理解,系统800可以包括设备之间的一个或多个总线或总线系统,例如,存储器总线、图形总线、接口总线或其他。总线或其他信号线可以将组件通信地或电地耦合在一起,或者通信地和电地两者耦合组件。总线可以包括物理通信线路、点对点连接、桥接器、适配器、控制器或其他电路或组合。总线可以包括例如系统总线、外围组件互连(PCI)总线、超传输(HyperTransport)或工业标准架构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)或电气和电子工程师协会(IEEE)标准1394总线中的一个或多个。
在一个实施例中,系统800包括接口814,其可以耦合到接口812。接口814可以是比接口812低速的接口。在一个实施例中,接口814表示接口电路,其可以包括独立组件和集成电路。在一个实施例中,多个用户接口组件或外围组件或两者耦合到接口814。网络接口850向系统800提供通过一个或多个网络与远程设备(例如,服务器或其他计算设备)通信的能力。网络接口850可以包括以太网适配器、无线互连组件、蜂窝网络互连组件、USB(通用串行总线)或基于其他有线或无线标准的或专有的接口。网络接口850可以与远程设备交换数据,这可以包括发送存储在存储器中的数据或接收要存储在存储器中的数据。
在一个实施例中,系统800包括一个或多个输入/输出(I/O)接口860。I/O接口860可以包括用户通过其与系统800交互的一个或多个接口组件(例如,音频、字母数字、触觉/触摸或其他接合)。外围接口870可以包括上面没有具体提到的任何硬件接口。外设通常指代与系统800从属地连接的设备。从属连接是系统800提供操作在其上执行并且用户与其交互的软件平台或硬件平台或两者的连接。
在一个实施例中,系统800包括以非易失性方式存储数据的存储子系统880。在一个实施例中,在某些系统实现方式中,存储装置880的至少某些组件可以与存储器子系统820的组件重叠。存储子系统880包括(多个)存储设备884,其可以是或包括用于以非易失性方式存储大量数据的任何常规介质,例如,一个或多个基于磁性、固态或光的盘或组合。存储设备884保持代码或指令和数据886处于持久状态(即,尽管中断到系统800的电力,仍保留该值)。存储设备884通常可以被认为是“存储器”,虽然存储器830典型地是向处理器810提供指令的执行或操作存储器。而存储设备884是非易失性的,存储器830可以包括易失性存储器(即,如果到系统800的电力中断,则值或数据状态是不确定的)。在一个实施例中,存储子系统880包括与存储设备884接合的控制器882。在一个实施例中,控制器882是接口814或处理器810的物理部分,或者可以包括在处理器810和接口814两者中的电路或逻辑。
电源802向系统800的组件提供电力。更具体地,电源802典型地与系统802中的一个或多个电力供应804接合,以向系统800的组件提供电力。在一个实施例中,电力供应804包括插入壁式插座的AC到DC(交流到直流)适配器。这种AC电力可以是可再生能源(例如,太阳能)电源802。在一个实施例中,电源802包括DC电源,例如,外部AC到DC转换器。在一个实施例中,电源802或电力供应804包括无线充电硬件,以经由接近充电场来充电。在一个实施例中,电源802可以包括内部电池或燃料电池源。
存储器设备830可以是根据本文描述的任何实施例的存储器设备。存储器设备830包括存储用于存储器设备的配置信息的模式寄存器(未具体示出)。在一个实施例中,模式寄存器中的一个或多个模式寄存器具有一种类型的存取(读取或写入),其比另一种更快,其中存储器控制器822对于该种类型的存取可以直接存取,而对于另一种类型经由模式寄存器邮箱890进行存取。模式寄存器邮箱890表示根据本文公开的任何实施例的通信寄存器。例如,根据本文描述的实施例,对于比写入慢的读取,存储器控制器822可以直接写入模式寄存器并且经由邮箱寄存器890读取模式寄存器。
图9是移动设备的实施例的框图,该移动设备中可以实现具有用于读取模式寄存器的通信寄存器的存储器系统。设备900表示移动计算设备,例如,计算平板电脑、移动电话或智能电话、支持无线的电子阅读器、可穿戴计算设备、物联网设备或其他移动设备或嵌入式计算设备。应理解,一般性地示出了组件中的某些组件,并且并非这种设备的所有组件在设备900中示出。
设备900包括处理器910,其执行设备900的主要处理操作。处理器910可以包括一个或多个物理设备,例如,微处理器、应用处理器、微控制器、可编程逻辑器件或其他处理单元。由处理器910执行的处理操作包括对其上执行应用和设备功能的操作平台或操作系统的执行。处理操作包括关于与人类用户或其他设备的I/O(输入/输出)的操作,关于功率管理的操作,关于将设备900连接到另一设备相关的操作,或组合。处理操作还可以包括关于音频I/O、显示I/O或其他接合或组合的操作。处理器910可以执行存储在存储器中的数据。处理器910可以写入或编辑存储在存储器中的数据。
在一个实施例中,系统900包括一个或多个传感器912。传感器912表示嵌入式传感器或与外部传感器的接口或其组合。传感器912使系统900能够监测或检测其中实现系统900的环境或设备的一个或多个条件。传感器912可以包括环境传感器(例如,温度传感器、运动检测器、光检测器、照相机、化学传感器(例如,一氧化碳、二氧化碳或其他化学传感器))、压力传感器、加速度计、陀螺仪、医疗或生理传感器(例如,生物传感器、心率监测器或检测生理属性的其他传感器)或其他传感器,或组合。传感器912还可以包括用于生物识别系统(例如,指纹识别系统、面部检测或识别系统或检测或识别用户特征的其他系统)的传感器。应当广义地理解传感器912,并且不限制可以利用系统900实现的许多不同类型的传感器。在一个实施例中,一个或多个传感器912经由与处理器910集成的前端电路耦合到处理器910。在一个实施例中,一个或多个传感器912经由系统900的另一组件耦合到处理器910。
在一个实施例中,设备900包括音频子系统920,其表示与向计算设备提供音频功能相关联的硬件组件(例如,音频硬件和音频电路)和软件组件(例如,驱动程序、编解码器)。音频功能可以包括扬声器或耳机输出,以及麦克风输入。用于这些功能的设备可以集成到设备900中,或者连接到设备900。在一个实施例中,用户通过提供由处理器910接收并处理的音频命令来与设备900进行交互。
显示子系统930表示提供用于呈现给用户的视觉显示的硬件组件(例如,显示设备)和软件组件(例如,驱动程序)。在一个实施例中,显示器包括用于用户与计算设备进行交互的触觉组件或触摸屏元件。显示子系统930包括显示接口932,其包括用于向用户提供显示的特定屏幕或硬件设备。在一个实施例中,显示接口932包括与处理器910(例如,图形处理器)分离的逻辑,用于执行与显示相关的至少一些处理。在一个实施例中,显示子系统930包括向用户提供输出和输入两者的触摸屏设备。在一个实施例中,显示子系统930包括向用户提供输出的高清晰度(HD)显示器。高清晰度可以指代具有大约100PPI(每英寸像素)或更大的像素密度的显示器,并且可以包括诸如全HD(例如,1080p)、视网膜显示器、4K(超高清晰度或UHD)或者其他之类的格式。在一个实施例中,显示子系统包括触摸屏显示器。在一个实施例中,显示子系统930基于存储在存储器中的数据或基于由处理器910执行的操作或两者来生成显示信息。
I/O控制器940表示关于与用户的交互的硬件设备和软件组件。I/O控制器940可以操作以管理作为音频子系统920或显示子系统930或两者的一部分的硬件。另外,I/O控制器940示出了连接到设备900的附加设备的连接点,用户可以通过该连接点与系统交互。例如,可以附接到设备900的设备可以包括麦克风设备、扬声器或立体声系统、视频系统或其他显示设备、键盘或小键盘设备或与特定应用一起使用的其他I/O设备(例如,读卡器或其他设备)。
如上面提到的,I/O控制器940可以与音频子系统920或显示子系统930或两者进行交互。例如,通过麦克风或其他音频设备的输入可以针对设备900的一个或多个应用或功能提供输入或命令。另外,可以提供音频输出来代替显示输出或者除了显示输出之外还提供音频输出。在另一个示例中,如果显示子系统包括触摸屏,则显示设备还用作输入设备,其可以至少部分地由I/O控制器940管理。设备900上还可以有附加按钮或开关以提供由I/O控制器940管理的I/O功能。
在一个实施例中,I/O控制器940管理诸如加速度计、照相机、光传感器或其他环境传感器、陀螺仪、全球定位系统(GPS)或可以包括在设备900中的其他硬件或传感器912之类的设备。输入可以是直接用户交互的一部分,以及向系统提供环境输入以影响其操作(例如,滤除噪声,针对亮度检测对显示器进行调整,针对照相机应用闪光灯或其他特征)。
在一个实施例中,设备900包括管理电池电力使用、电池充电以及与功率节省操作相关的特征的功率管理950。功率管理950管理来自电源952的电力,电源952向系统900的组件提供电力。在一个实施例中,电源952包括插入壁式插座的AC到DC(交流到直流)适配器。这种AC电力可以是可再生能源(例如,太阳能、基于运动的电力)。在一个实施例中,电源952仅包括DC电力,其可以由DC电源提供,例如,外部AC到DC转换器。在一个实施例中,电源952包括无线充电硬件,以经由接近充电场来充电。在一个实施例中,电源952可以包括内部电池或燃料电池源。
存储器子系统960包括用于在设备900中存储信息的(多个)存储器设备962。存储器子系统960可以包括非易失性存储器设备(如果到存储器设备的电力中断则状态不改变)或易失性存储器设备(如果到存储器设备的电力中断则状态是不确定的)或其组合。存储器960可以存储应用数据、用户数据、音乐、照片、文档或其他数据,以及与系统900的应用和功能的执行相关的系统数据(无论是长期的还是临时的)。在一个实施例中,存储器子系统960包括存储器控制器964(其也可以被认为是系统900的控制的一部分,并且可以潜在地被认为是处理器910的一部分)。存储器控制器964包括调度器,用于生成和发出命令以控制对存储器设备962的存取。
连接970包括硬件设备(例如,无线或有线的连接器和通信硬件,或有线和无线硬件的组合)和软件组件(例如,驱动程序、协议栈),以使设备900能够与外部设备进行通信。外部设备可以是分离的设备,例如,其他计算设备、无线接入点或基站,以及诸如耳机、打印机或其他设备之类的外设。在一个实施例中,系统900与外部设备交换数据以供存储在存储器中或在显示设备上显示。交换的数据可以包括要存储在存储器中的数据,或者已经存储在存储器中的数据,以便读取、写入或编辑数据。
连接970可以包括多种不同类型的连接。概括而言,设备900被示为具有蜂窝连接972和无线连接974。蜂窝连接972通常指代无线运营商提供的蜂窝网络连接,例如,经由GSM(全球移动通信系统)或变体或衍生物、CDMA(码分多址)或变体或衍生物、TDM(时分复用)或变体或衍生物、LTE(长期演进-也称为“4G”)或其他蜂窝服务标准提供的。无线连接974指代非蜂窝的无线连接,并且可以包括个域网(例如,蓝牙)、局域网(例如,WiFi)或广域网(例如,WiMax)或其他无线通信,或组合。无线通信指代通过使用调制的电磁辐射通过非固体介质来传输数据。有线通信通过固体通信介质发生。
外围连接980包括硬件接口和连接器,以及用于进行外围连接的软件组件(例如,驱动程序、协议栈)。应理解,设备900既可以是到其他计算设备的外围设备(“至”982),也可以使外围设备与其连接(“自”984)。设备900通常具有“对接”连接器,以连接到其他计算设备,用于诸如管理(例如,下载、上传、改变、同步)设备900上的内容的目的。另外,对接连接器可以允许设备900连接到某些外设,其允许设备900控制例如到视听或其他系统的内容输出。
除了专有对接连接器或其他专有连接硬件之外,设备900可以经由常见连接器或基于标准的连接器进行外围连接980。常见类型可以包括通用串行总线(USB)连接器(其可以包括许多不同硬件接口中的任何一个)、包括MiniDisplayPort(MDP)的DisplayPort、高清晰度多媒体接口(HDMI)、Firewire或其他类型。
存储器设备962可以是根据本文描述的任何实施例的存储器设备。存储器设备962包括存储用于存储器设备的配置信息的模式寄存器(未具体示出)。在一个实施例中,模式寄存器中的一个或多个模式寄存器具有一种类型的存取(读取或写入),其比另一种更快,其中存储器控制器964对于该种类型的存取可以直接存取,而对于另一种类型其经由模式寄存器邮箱990进行存取。模式寄存器邮箱990表示根据本文公开的任何实施例的通信寄存器。例如,根据本文描述的实施例,对于比写入慢的读取,存储器控制器964可以直接写入模式寄存器并且经由邮箱寄存器990读取模式寄存器。
在一个方面,一种存储器设备包括:模式寄存器,其用于存储配置信息,其中,主机向模式寄存器写入配置信息花费的时间少于主机从模式寄存器读取配置信息花费的时间;以及与模式寄存器分离的通信寄存器,其用于提供用于主机读取配置信息的数据,其中,响应于主机读取模式寄存器的请求,模式寄存器将配置信息从模式寄存器复制到通信寄存器,以使得主机能够从通信寄存器而不是直接从模式寄存器读取配置信息。
在一个实施例中,模式寄存器包括判决反馈均衡(DFE)配置模式寄存器。在一个实施例中,存储器设备用于在主机请求读取模式寄存器之后从主机接收轮询请求,以确定通信寄存器是否准备好进行读取。在一个实施例中,主机用于在预设时间段之后从通信寄存器读取配置信息。在一个实施例中,通信寄存器作为邮箱在多个分离的模式寄存器之中被共享,以依次从多个分离的模式寄存器读取配置信息。在一个实施例中,通信寄存器包括对于主机只写的部分,以使得主机能够写入地址信息,以识别多个分离的模式寄存器中的一个模式寄存器来将配置信息复制到该通信寄存器。在一个实施例中,其中,通信寄存器包括对于主机只读的部分,以使得主机能够从多个分离的模式寄存器中的一个模式寄存器读取配置信息。
在一个方面,一种用于读取存储器设备配置信息的系统包括:存储器控制器;以及根据前两段的任何实施例的存储器设备。在一个实施例中,该系统还包括以下中的一个或多个:至少一个处理器,其通信地耦合到存储器控制器;显示器,其通信地耦合到至少一个处理器;或者网络接口,其通信地耦合到至少一个处理器。
在一个方面,一种用于读取存储器设备中的配置信息的方法,包括:从主机设备接收对存储配置信息的模式寄存器进行读取的请求,其中,主机设备将配置信息写入模式寄存器花费的时间少于主机设备从模式寄存器读取配置信息花费的时间;以及响应于接收到请求,将配置信息从模式寄存器复制到与模式寄存器分离的通信寄存器,以提供用于主机读取配置信息的数据,以使得主机能够从通信寄存器而不是直接从模式寄存器读取配置信息。
在一个实施例中,还包括在接收到读取模式寄存器的请求之后从主机接收轮询请求,并且响应于轮询请求而指示通信寄存器是否准备好进行读取。在一个实施例中,复制配置信息包括保证在预设时间段内将配置信息复制到通信寄存器。在一个实施例中,作为邮箱在多个分离的模式寄存器之中共享通信寄存器,以依次从多个分离的模式寄存器读取配置信息。在一个实施例中,通信寄存器包括对于主机设备只写的部分,并且该方法还包括:读取由主机设备写入只写部分的地址信息,以识别多个分离的模式寄存器中的一个模式寄存器;以及响应于请求,将配置信息从所识别的模式寄存器复制到该通信寄存器。在一个实施例中,通信寄存器包括对于主机只读的部分,并且其中,复制配置信息还包括:在只读部分中复制到通信寄存器。在一个实施例中,模式寄存器包括判决反馈均衡(DFE)配置模式寄存器。
在一个方面,一种装置包括用于执行操作以执行根据前两段的任何实施例的方法的单元。在一个方面,一种制品包括计算机可读存储介质,其上存储有内容以使机器执行操作来执行根据前两段的任何实施例的方法。
在一个方面,一种存储器控制器包括:调度器,其用于生成对存储器设备的模式寄存器的存取请求,其中,模式寄存器在读取延迟与写入延迟之间具有差异;以及输入/输出(I/O)硬件,其用于经由通信寄存器间接地而不是直接从模式寄存器对模式寄存器进行存取。
在一个实施例中,存取请求包括读取请求,其中,向模式寄存器写入配置信息花费的时间少于从模式寄存器读取配置信息花费的时间。在一个实施例中,存取请求包括写入请求,其中,从模式寄存器读取配置信息花费的时间少于将配置信息写入模式寄存器花费的时间。在一个实施例中,调度器用于在存取请求之后生成轮询请求,以确定通信寄存器是否准备好进行存取。在一个实施例中,调度器用于生成在预设时间段之后从通信寄存器读取配置信息的操作。在一个实施例中,通信寄存器作为邮箱在多个分离的模式寄存器之中被共享,以提供对多个分离的模式寄存器的存取。在一个实施例中,通信寄存器包括对于存储器控制器只写的部分,以使得存储器控制器能够写入地址信息,以识别多个分离的模式寄存器中的一个模式寄存器来将配置信息复制到该通信寄存器。在一个实施例中,通信寄存器包括对于存储器控制器只读的部分,以使得存储器控制器能够从多个分离的模式寄存器中的一个模式寄存器读取配置信息。在一个实施例中,模式寄存器包括判决反馈均衡(DFE)配置模式寄存器。
在一个方面,一种用于从存储器设备读取配置信息的方法包括:生成对存储器设备的模式寄存器的存取请求,其中,模式寄存器在读取延迟与写入延迟之间具有差异;以及经由通信寄存器间接地对模式寄存器的配置信息进行存取,而不是直接对模式寄存器进行存取。
在一个实施例中,存取请求包括读取请求,其中,向模式寄存器写入配置信息花费的时间少于从模式寄存器读取配置信息花费的时间。在一个实施例中,存取请求包括写入请求,其中,从模式寄存器读取配置信息花费的时间少于将配置信息写入模式寄存器花费的时间。在一个实施例中,还包括:在存取请求之后生成轮询请求,以确定通信寄存器是否准备好进行存取。在一个实施例中,包括:在预设时间段之后从通信寄存器读取配置信息。在一个实施例中,通信寄存器作为邮箱在多个分离的模式寄存器之中被共享,以提供对多个分离的模式寄存器的存取。在一个实施例中,通信寄存器包括对于主机只写的部分,以使得能够写入地址信息,以识别多个分离的模式寄存器中的一个模式寄存器来将配置信息复制到该通信寄存器。在一个实施例中,通信寄存器包括对于主机只读的部分,以使得能够从多个分离的模式寄存器中的一个模式寄存器读取配置信息。在一个实施例中,模式寄存器包括判决反馈均衡(DFE)配置模式寄存器。
在一个方面,一种装置包括用于执行操作以执行根据前两段的任何实施例的方法的单元。在一个方面,一种制品包括计算机可读存储介质,其上存储有内容以使机器执行操作来执行根据前两段的任何实施例的方法。
如本文所示的流程图提供了各种过程动作的序列的示例。流程图可以指示由软件或固件例程执行的操作以及物理操作。在一个实施例中,流程图可以示出可以以硬件或软件或组合来实现的有限状态机(FSM)的状态。尽管以特定序列或顺序示出,但除非另有说明,否则可以修改动作的顺序。因此,所示实施例应仅被理解为示例,并且该过程可以以不同顺序执行,并且一些动作可以并行执行。另外,在各种实施例中可以省略一个或多个动作;因此,并非在每个实施例中都要求所有动作。其他过程流程是可能的。
就本文中描述各种操作或功能的程度而言,可以将这些操作或功能描述或定义为软件代码、指令、配置、数据或组合。内容可以是可直接执行文件(“对象”或“可执行文件”形式)、源代码或差别代码(“增量”或“补
丁”代码)。本文描述的实施例的软件内容可以经由其上存储有内容的制品提供,或者经由操作通信接口以经由通信接口发送数据的方法提供。机器可读存储介质可以使机器执行所描述的功能或操作,并且包括以可由机器(例如,计算设备、电子系统等)存取的形式存储信息的任何机构,例如,可记录/非可记录介质(例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速存储器设备等)。通信接口包括与硬连线、无线、光等中任一个的介质接合以与另一设备通信的任何机构,例如,存储器总线接口、处理器总线接口、互联网连接、磁盘控制器等。可以通过提供配置参数或发送信号以使通信接口准备提供描述软件内容的数据信号来配置通信接口。可以经由发送到通信接口的一个或多个命令或信号来访问通信接口。
本文描述的各种组件可以是用于执行所描述的操作或功能的单元。本文描述的每个组件包括软件、硬件或这些的组合。这些组件可以实现为软件模块、硬件模块、特定用途的硬件(例如,专用硬件、专用集成电路(ASIC)、数字信号处理器(DSP)等)、嵌入式控制器、硬连线电路等。
除了本文描述的内容之外,可以对所公开的本发明的实施例和实现方式进行各种修改而不脱离其范围。因此,本文的图示和示例应该被解释为说明性的而非限制性的意义。应该仅通过参考所附权利要求来衡量本发明的范围。

Claims (23)

1.一种存储器设备,包括:
模式寄存器,其用于存储用于控制所述存储器设备的操作的配置信息,其中,主机直接向所述模式寄存器写入配置信息花费的时间少于所述主机直接从所述模式寄存器读取所述配置信息花费的时间;以及
与所述模式寄存器分离的通信寄存器,其用于提供用于所述主机从所述模式寄存器读取所述配置信息的数据,其中,响应于所述主机读取所述模式寄存器的请求,所述模式寄存器将所述配置信息从所述模式寄存器复制到所述通信寄存器,以使得所述主机能够从所述通信寄存器而不是直接从所述模式寄存器读取所述配置信息。
2.根据权利要求1所述的存储器设备,其中,所述模式寄存器包括判决反馈均衡(DFE)配置模式寄存器。
3.根据权利要求1所述的存储器设备,其中,所述存储器设备用于在所述主机请求读取所述模式寄存器之后从所述主机接收轮询请求,以确定所述通信寄存器是否准备好进行读取。
4.根据权利要求1所述的存储器设备,其中,所述主机用于在预设时间段之后从所述通信寄存器读取所述配置信息。
5.根据权利要求1所述的存储器设备,其中,所述通信寄存器作为邮箱在多个分离的模式寄存器之中被共享,以依次从所述多个分离的模式寄存器读取所述配置信息。
6.根据权利要求5所述的存储器设备,其中,所述通信寄存器包括对于所述主机只写的部分,以使得所述主机能够写入地址信息,以识别所述多个分离的模式寄存器中的一个模式寄存器来将配置信息复制到所述通信寄存器。
7.根据权利要求5所述的存储器设备,其中,所述通信寄存器包括对于所述主机只读的部分,以使得所述主机能够从所述多个分离的模式寄存器中的一个模式寄存器读取配置信息。
8.一种用于读取存储器设备配置信息的系统,包括:
存储器控制器;以及
存储器设备,包括
模式寄存器,其用于存储用于控制所述存储器设备的操作的配置信息,其中,主机直接向所述模式寄存器写入配置信息花费的时间少于所述主机直接从所述模式寄存器读取所述配置信息花费的时间;以及
与所述模式寄存器分离的通信寄存器,其用于提供用于所述主机从所述模式寄存器读取所述配置信息的数据,其中,响应于所述主机读取所述模式寄存器的请求,所述模式寄存器将所述配置信息从所述模式寄存器复制到所述通信寄存器,以使得所述主机能够从所述通信寄存器而不是直接从所述模式寄存器读取所述配置信息。
9.根据权利要求8所述的系统,其中,所述模式寄存器包括判决反馈均衡(DFE)配置模式寄存器。
10.根据权利要求8所述的系统,其中,所述存储器设备用于在所述主机请求读取所述模式寄存器之后从所述主机接收轮询请求,以确定所述通信寄存器是否准备好进行读取。
11.根据权利要求8所述的系统,其中,所述主机用于在预设时间段之后从所述通信寄存器读取所述配置信息。
12.根据权利要求8所述的系统,其中,所述通信寄存器作为邮箱在多个分离的模式寄存器之中被共享,以依次从所述多个分离的模式寄存器读取所述配置信息。
13.根据权利要求12所述的系统,其中,所述通信寄存器包括对于所述主机只写的部分,以使得所述主机能够写入地址信息,以识别所述多个分离的模式寄存器中的一个模式寄存器来将配置信息复制到所述通信寄存器。
14.根据权利要求12所述的系统,其中,所述通信寄存器包括对于所述主机只读的部分,以使得所述主机能够从所述多个分离的模式寄存器中的一个模式寄存器读取配置信息。
15.根据权利要求8所述的系统,还包括以下中的一个或多个:
至少一个处理器,其通信地耦合到所述存储器控制器;
显示器,其通信地耦合到至少一个处理器;或者
网络接口,其通信地耦合到至少一个处理器。
16.一种用于读取存储器设备中的配置信息的方法,包括:
从主机设备接收对存储用于控制所述存储器设备的操作的配置信息的模式寄存器进行读取的请求,其中,所述主机设备将所述配置信息直接写入所述模式寄存器花费的时间少于所述主机设备直接从所述模式寄存器读取所述配置信息花费的时间;以及
响应于接收到所述请求,将所述配置信息从所述模式寄存器复制到与所述模式寄存器分离的通信寄存器,以提供用于所述主机设备读取所述配置信息的数据,以使得所述主机设备能够从通信寄存器而不是直接从所述模式寄存器读取所述配置信息。
17.根据权利要求16所述的方法,还包括在接收到读取所述模式寄存器的所述请求之后从所述主机设备接收轮询请求,并且响应于轮询请求而指示所述通信寄存器是否准备好进行读取。
18.根据权利要求16所述的方法,包括作为邮箱在多个分离的模式寄存器之中共享所述通信寄存器,以依次从所述多个分离的模式寄存器读取所述配置信息。
19.根据权利要求18所述的方法,其中,所述通信寄存器包括对于所述主机设备只写的部分,并且所述方法还包括:
读取由所述主机设备写入只写部分的地址信息,以识别所述多个分离的模式寄存器中的一个模式寄存器;以及
响应于所述请求,将所述配置信息从所识别的模式寄存器复制到所述通信寄存器。
20.根据权利要求18所述的方法,其中,所述通信寄存器包括对于所述主机设备只读的部分,并且其中,复制所述配置信息还包括:
在只读部分中复制到所述通信寄存器。
21.一种存储器控制器,包括:
调度器,其用于生成对存储器设备的模式寄存器的存取请求,其中,所述存取请求包括读取请求和写入请求,并且对于直接读取存取和直接写入存取,所述模式寄存器在读取延迟与写入延迟之间具有差异;以及
输入/输出(I/O)硬件,其被配置为:
在直接向所述模式寄存器写入配置信息花费的时间少于直接从所述模式寄存器读取所述配置信息花费的时间的情况下,经由通信寄存器间接地而不是直接从所述模式寄存器读取所述配置信息;或者
在直接向所述模式寄存器写入配置信息花费的时间多于直接从所述模式寄存器读取所述配置信息花费的时间的情况下,经由通信寄存器间接地而不是直接向所述模式寄存器写入所述配置信息。
22.根据权利要求21所述的存储器控制器,其中,所述调度器用于在所述存取请求之后生成轮询请求,以确定所述通信寄存器是否准备好进行存取。
23.根据权利要求21所述的存储器控制器,其中,所述通信寄存器作为邮箱在多个分离的模式寄存器之中被共享,以提供对所述多个分离的模式寄存器的存取。
CN201810993597.2A 2017-09-29 2018-08-29 从具有不同读取和写入定时的模式寄存器进行读取 Active CN109582596B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/721,052 2017-09-29
US15/721,052 US10395722B2 (en) 2017-09-29 2017-09-29 Reading from a mode register having different read and write timing

Publications (2)

Publication Number Publication Date
CN109582596A CN109582596A (zh) 2019-04-05
CN109582596B true CN109582596B (zh) 2024-02-23

Family

ID=63592540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810993597.2A Active CN109582596B (zh) 2017-09-29 2018-08-29 从具有不同读取和写入定时的模式寄存器进行读取

Country Status (3)

Country Link
US (1) US10395722B2 (zh)
EP (2) EP3809412A1 (zh)
CN (1) CN109582596B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496309B2 (en) * 2016-11-13 2019-12-03 Intel Corporation Input/output (I/O) loopback function for I/O signaling testing
KR20190097930A (ko) 2018-02-13 2019-08-21 삼성전자주식회사 채널 별 메모리 용량을 조절하는 메모리 장치 및 이를 포함하는 메모리 시스템
US10831914B2 (en) * 2018-03-26 2020-11-10 Bank Of America Corporation Secure extensible wireless communication with IoT devices
KR20190118428A (ko) * 2018-04-10 2019-10-18 에스케이하이닉스 주식회사 컨트롤러 및 이를 포함하는 메모리 시스템
KR102559537B1 (ko) * 2018-11-13 2023-07-26 에스케이하이닉스 주식회사 메모리 컨트롤러, 이를 포함하는 데이터 저장 장치 및 스토리지 시스템
KR20200087595A (ko) * 2019-01-11 2020-07-21 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US11189327B2 (en) * 2019-08-21 2021-11-30 Micron Technology, Inc. Methods for providing device status in response to read commands directed to write-only mode register bits and memory devices and systems employing the same
KR20210058505A (ko) * 2019-11-14 2021-05-24 삼성전자주식회사 메모리 장치를 제어하도록 구성된 시스템-온-칩의 동작 방법
CN115132240A (zh) * 2021-03-29 2022-09-30 长鑫存储技术有限公司 数据传输电路、方法及存储装置
CN113239348B (zh) * 2021-04-21 2023-01-10 北京邮电大学 多核冗余系统
CN114417780B (zh) * 2021-12-16 2022-11-01 北京百度网讯科技有限公司 状态同步方法、装置、电子设备及存储介质
CN116935910A (zh) * 2022-04-04 2023-10-24 澜起电子科技(昆山)有限公司 用于存储系统接口电路的信号处理方法和装置

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57141087A (en) * 1981-02-25 1982-09-01 Fujitsu Ltd Write system for storage device
CN1423765A (zh) * 2000-03-31 2003-06-11 英特尔公司 用于隔离执行的隔离指令
CN1482619A (zh) * 2002-09-11 2004-03-17 株式会社日立制作所 使用动态随机存取存储器和闪存的系统和方法
CN1489059A (zh) * 2002-10-10 2004-04-14 �Ҵ���˾ 管理多处理器系统中虚拟化的物理存储器的方法和系统
CN101127238A (zh) * 2001-06-11 2008-02-20 株式会社日立制作所 半导体存储装置
CN101156211A (zh) * 2005-02-14 2008-04-02 高通股份有限公司 易失性存储器的寄存器读取
CN101162492A (zh) * 2006-08-16 2008-04-16 Arm有限公司 保护数据处理设备中的系统控制寄存器
US8248869B1 (en) * 2009-10-16 2012-08-21 Xilinx, Inc. Configurable memory map interface and method of implementing a configurable memory map interface
CN103425594A (zh) * 2012-05-23 2013-12-04 群联电子股份有限公司 数据处理方法、存储器控制器与存储器存储装置
CN103578555A (zh) * 2012-07-19 2014-02-12 三星电子株式会社 非易失性存储器、其的读取方法和包括其的存储系统
CN103999055A (zh) * 2011-12-22 2014-08-20 英特尔公司 访问命令/地址寄存器装置中存储的数据
CN104636271A (zh) * 2011-12-22 2015-05-20 英特尔公司 访问命令/地址寄存器装置中存储的数据
CN105095095A (zh) * 2014-05-12 2015-11-25 上海大学 一种计算机系统及数据读写方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9108599D0 (en) * 1991-04-22 1991-06-05 Pilkington Micro Electronics Peripheral controller
WO1997000480A1 (en) 1995-06-15 1997-01-03 Intel Corporation Architecture for an i/o processor that integrates a pci to pci bridge
US5751975A (en) 1995-12-28 1998-05-12 Intel Corporation Method and apparatus for interfacing a device compliant to a first bus protocol to an external bus having a second bus protocol and for providing virtual functions through a multi-function intelligent bridge
US5930482A (en) 1997-07-31 1999-07-27 Advanced Micro Devices, Inc. Transaction checking system for verifying bus bridges in multi-master bus systems
JP2000030464A (ja) 1998-07-15 2000-01-28 Mitsubishi Electric Corp 半導体記憶装置
US6748478B1 (en) 2000-12-27 2004-06-08 Intel Corporation System function configurable computing platform
US7408981B2 (en) * 2003-05-20 2008-08-05 Rambus Inc. Methods and circuits for performing margining tests in the presence of a decision feedback equalizer
US20050268195A1 (en) * 2004-04-29 2005-12-01 Lund Morten W Apparatus and method for improving emulation speed of high-level languages in on-chip emulation systems
KR100919815B1 (ko) 2008-08-04 2009-10-01 주식회사 하이닉스반도체 반도체 메모리 장치
US8407427B2 (en) 2008-10-29 2013-03-26 Silicon Image, Inc. Method and system for improving serial port memory communication latency and reliability
KR101047000B1 (ko) 2009-05-28 2011-07-06 주식회사 하이닉스반도체 모드레지스터리드 제어회로 및 이를 이용한 반도체 메모리 장치

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57141087A (en) * 1981-02-25 1982-09-01 Fujitsu Ltd Write system for storage device
CN1423765A (zh) * 2000-03-31 2003-06-11 英特尔公司 用于隔离执行的隔离指令
CN101127238A (zh) * 2001-06-11 2008-02-20 株式会社日立制作所 半导体存储装置
CN1482619A (zh) * 2002-09-11 2004-03-17 株式会社日立制作所 使用动态随机存取存储器和闪存的系统和方法
CN1489059A (zh) * 2002-10-10 2004-04-14 �Ҵ���˾ 管理多处理器系统中虚拟化的物理存储器的方法和系统
CN101156211A (zh) * 2005-02-14 2008-04-02 高通股份有限公司 易失性存储器的寄存器读取
CN101162492A (zh) * 2006-08-16 2008-04-16 Arm有限公司 保护数据处理设备中的系统控制寄存器
US8248869B1 (en) * 2009-10-16 2012-08-21 Xilinx, Inc. Configurable memory map interface and method of implementing a configurable memory map interface
CN103999055A (zh) * 2011-12-22 2014-08-20 英特尔公司 访问命令/地址寄存器装置中存储的数据
CN104636271A (zh) * 2011-12-22 2015-05-20 英特尔公司 访问命令/地址寄存器装置中存储的数据
CN103425594A (zh) * 2012-05-23 2013-12-04 群联电子股份有限公司 数据处理方法、存储器控制器与存储器存储装置
CN103578555A (zh) * 2012-07-19 2014-02-12 三星电子株式会社 非易失性存储器、其的读取方法和包括其的存储系统
CN105095095A (zh) * 2014-05-12 2015-11-25 上海大学 一种计算机系统及数据读写方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
提高闪速存储器写入速度的方法;高怡祯;《电子技术》;第30卷(第5期);1-4 *

Also Published As

Publication number Publication date
US20190103154A1 (en) 2019-04-04
EP3462455B1 (en) 2021-01-06
EP3809412A1 (en) 2021-04-21
CN109582596A (zh) 2019-04-05
US10395722B2 (en) 2019-08-27
EP3462455A1 (en) 2019-04-03

Similar Documents

Publication Publication Date Title
CN109582596B (zh) 从具有不同读取和写入定时的模式寄存器进行读取
US10755753B2 (en) Memory device with flexible internal data write control circuitry
US10636476B2 (en) Row hammer mitigation with randomization of target row selection
TWI721003B (zh) 記憶體裝置及用於記憶體管理的系統
CN110023914B (zh) 用于重复写入存储器的可编程数据样式
CN109313617B (zh) 负载减少的非易失性存储器接口
TWI740897B (zh) 具有窄帶寬中繼器通道的記憶體子系統
KR20230153986A (ko) 행 해머 완화의 호스트 지원을 위한 리프레시 커맨드 제어
CN109478177B (zh) 双数据率命令总线
US10621121B2 (en) Measurement and optimization of command signal timing margins
US11662926B2 (en) Input/output (I/O) loopback function for I/O signaling testing
US11061590B2 (en) Efficiently training memory device chip select control
EP3835963B1 (en) Techniques for command bus training to a memory device
US11200113B2 (en) Auto-increment write count for nonvolatile memory
US20200233821A1 (en) Unidirectional information channel to monitor bidirectional information channel drift
WO2018004830A1 (en) Memory controller-controlled refresh abort
CN114625683A (zh) 用于高效多封装件端接的经编码管芯上端接
CN117099075A (zh) 针对长突发长度的存储器数据传送的双倍取得
US11042315B2 (en) Dynamically programmable memory test traffic router

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right

Effective date of registration: 20200825

Address after: Tokyo, Japan

Applicant after: Sony Corp.

Address before: California, USA

Applicant before: INTEL Corp.

TA01 Transfer of patent application right
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant