CN109478177B - 双数据率命令总线 - Google Patents
双数据率命令总线 Download PDFInfo
- Publication number
- CN109478177B CN109478177B CN201780045943.8A CN201780045943A CN109478177B CN 109478177 B CN109478177 B CN 109478177B CN 201780045943 A CN201780045943 A CN 201780045943A CN 109478177 B CN109478177 B CN 109478177B
- Authority
- CN
- China
- Prior art keywords
- command
- memory
- bus
- input
- address bits
- 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
Links
- 230000009977 dual effect Effects 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 claims abstract description 26
- 230000000630 rising effect Effects 0.000 claims description 22
- 239000000872 buffer Substances 0.000 claims description 21
- 230000003139 buffering effect Effects 0.000 claims description 17
- 230000005540 biological transmission Effects 0.000 claims description 12
- 230000008878 coupling Effects 0.000 claims description 12
- 238000010168 coupling process Methods 0.000 claims description 12
- 238000005859 coupling reaction Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 12
- 230000001360 synchronised effect Effects 0.000 claims description 8
- 238000012546 transfer Methods 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 22
- 238000003860 storage Methods 0.000 description 22
- 230000011664 signaling Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000001960 triggered effect Effects 0.000 description 7
- 230000001413 cellular effect Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008054 signal transmission Effects 0.000 description 4
- 101150098958 CMD1 gene Proteins 0.000 description 3
- 101100382321 Caenorhabditis elegans cal-1 gene Proteins 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000003032 molecular docking Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 2
- CURLTUGMZLYLDI-UHFFFAOYSA-N Carbon dioxide Chemical compound O=C=O CURLTUGMZLYLDI-UHFFFAOYSA-N 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002207 retinal effect Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- UGFAIRIUMAVXCW-UHFFFAOYSA-N Carbon monoxide Chemical compound [O+]#[C-] UGFAIRIUMAVXCW-UHFFFAOYSA-N 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 229910002092 carbon dioxide Inorganic materials 0.000 description 1
- 239000001569 carbon dioxide Substances 0.000 description 1
- 229910002091 carbon monoxide Inorganic materials 0.000 description 1
- 239000005387 chalcogenide glass Substances 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002070 nanowire Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000012782 phase change material Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4093—Input/output [I/O] data interface arrangements, e.g. data buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1045—Read-write mode select circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
Abstract
一种存储器子系统,包含能够以双数据率操作的命令地址总线。存储器电路包含以2R的数据率操作以从存储器控制器接收命令信息的N个命令信号线。存储器电路包含以R的数据率操作以将命令传送至一个或多个存储器装置的2N个命令信号线。虽然规定了1:2的比率,但是能够使用类似的技术以较高的数据率通过较少的信号线从主机至逻辑电路发送命令信号,逻辑电路然后以较低的数据率通过较多信号线传送命令信号。
Description
相关申请
此申请要求2016年9月30日提交的名称为“DOUBLE DATA RATE COMMAND BUS”的美国申请No.15/282757根据35U.S.C§365(c)的优先权,美国申请No.15/282757依次要求2016年8月26日提交的名称为“DOUBLE DATA RATE COMMAND BUS”的美国临时申请系列No.62/380360的优先权益,于此通过引用并入了美国临时申请系列No.62/380360的全部。
技术领域
描述总体涉及存储器装置,并且更具体的描述涉及双数据率命令总线接口。
版权标记/许可
此专利文档的公开的部分可以含有受到版权保护的材料。版权所有人不反对任何人对专利文档或专利公开如其出现于专利商标局的专利文件或记录中那样进行复制,但是在别的方面,无论如何都保留所有版权。版权标记适用于以下描述的以及其附图中的所有数据,并适用于以下描述的任何软件:版权2016,英特尔公司,版权所有。
背景技术
随着处理器的性能和吞吐量继续提高,从存储器装置至处理器的数据的交换能够在电子器件和计算装置中产生瓶颈。为了提高吞吐量,已经使用了较宽的接口来提高用于在存储器与处理器之间交换信号的信号线的数量。然而,更多的信号线意味着连接器上更多的针脚,导致较大的封装、以及更多的功耗。
在具有诸如双列直插式存储器模块(DIMM)的存储器模块的存储器子系统的情况下,较宽的存储器接口变得物理上难以实现。DIMM典型地具有受约束的DIMM连接器针脚计数,并且较宽接口的使用典型地需要在将如何使用接口的针脚计数之间进行折中。一些DIMM包含缓冲来自主机的输入命令和地址信号的寄存器或其它逻辑装置,其能够减小主机上的负荷。然而,较宽的接口不仅需要用于DIMM连接器的针脚使用折中,而且能够导致较大的寄存器封装,这往往提高成本。另外,较宽的总线需要更多的逻辑(例如,更多的XOR(异或)级)来计算对于信号的奇偶性,与较窄的总线相比,这能够导致较高的吞吐延迟。
附图说明
以下描述包含对图的讨论,图具有通过本发明的实施例的实现范例给出的示例。图应当被理解为范例,而不是进行限制。如于此使用的,对一个或多个“实施例”的引用应当被理解为描述特定特征、结构、和/或包含在本发明的至少一个实现中的特性。从而,于此出现的诸如“在一个实施例中”或“在替代实施例中”的短语描述本发明的各个实施例和实现,并且不必然均指相同的实施例。然而,它们不必然相互排斥。
图1是具有耦合至双数据率命令总线的存储器装置的系统的实施例的框图。
图2是具有存储器模块,具有主机与该模块之间的双数据率命令总线和至该模块上的存储器装置的单数据率命令总线的系统的实施例的框图。
图3A是具有双数据率命令总线的系统的实施例的框图,该双数据率命令总线具有命令信号突发。
图3B是具有双数据率命令总线的系统的实施例的框图,该双数据率命令总线具有交错的命令信号。
图4A是对于双数据率命令总线的相对信号传送定时的实施例的定时图。
图4B是示例双数据率命令总线和单数据率命令总线的相对信号传送定时的实施例的定时图。
图5是经由双数据率命令总线耦合至主机并经由单数据率命令总线耦合至存储器的寄存器的实施例的框图。
图6是用于在双数据率命令总线上发送命令的过程的实施例的流程图。
图7是其中能够实现双数据率命令总线的计算系统的实施例的框图。
图8是其中能够实现双数据率命令总线的移动装置的实施例的框图。
接下来是某些细节和实现的描述,包含可以描绘以下描述的实施例中的一些或全部的图的描述,以及讨论于此介绍的创新概念的其它潜在实施例或实现。
具体实施方式
如于此描述的,存储器子系统包含命令地址总线,该命令地址总线具有的总线宽度与存储器装置不匹配。与存储器装置的本地命令总线接口相比,来自主机的命令总线较窄,并且以较高的数据率操作。存储器子系统包含逻辑,该逻辑接收该较高的数据率命令信号并以较低或标准数据率将它们转发至存储器装置。逻辑从而能够是用于从具有较低数量的信号线和较高数据率的命令总线至具有较高数量的信号线和较低数据率的命令总线的接口。
在一个实施例中,来自主机的命令总线能够以双数据率操作。在该实施例中,存储器电路包含N个命令信号线,该N个命令信号线以2R的数据率操作以接收来自存储器控制器的命令信息。存储器电路包含2N个命令信号线,该2N个命令信号线以R的数据率操作以将命令传送至一个或多个存储器装置。虽然指出了1:2的比率,但是能够使用类似的技术从主机至逻辑电路在较少的信号线上以较高的数据率发送命令信号,逻辑电路然后在更多的信号线上以较低的数据率传送命令信号。利用1:2的比率,能够实现实施例用于双数据率命令总线。
利用两个不同的命令总线,或两个不同级的命令总线,即一个具有较高数据率和较低信号计数的级和一个具有较低数据率和较高信号计数的级,能够减小来自主机的总线宽度而不影响命令总线的带宽。在一个实施例中,两个不同的总线或不同的总线部分是主机(例如,处理器或存储器控制器)与控制逻辑之间的双数据率(DDR)部分,以及控制逻辑与存储器装置之间的单数据率(SDR)部分。DDR指在时钟信号的两个边沿(例如,触发数据比特的上升沿和下降沿)上的数据的传输,而SDR指在每隔一个时钟边沿上或在一致的边沿(例如,上升或下降沿,但不是二者)上的数据的传输。利用窄的总线接口,能够以较小的物理封装实现控制逻辑。另外,能够简化奇偶性(parity)计算逻辑,因为存在较少的信号线。典型地通过将不同的信号线一起XOR在级中(或级联)来计算奇偶性;从而,较少的信号线导致较少的XOR级和较低的奇偶性计算延迟。
在一个实施例中,控制逻辑,诸如存储器模块的寄存器,能够包含如下模式:以较高速率(例如,DDR)运行面向主机的命令和地址(C/A或CMD/ADD或简单的CMD)总线,以及以较低速率(例如,SDR)运行面向存储器的CMD总线。在该实施例中,能够使用传统(legacy)存储器装置,因为将不存在对用于存储器装置的命令总线的改变。从而,存储器装置仍然能够以较低数据率或标准数据率(例如,SDR)运行命令总线接口,同时使得能够对来自主机的命令总线实现较高数据率。
在一个实施例中,系统包含奇偶性检查。在一个实施例中,控制逻辑计算接收的信号的奇偶性。在一个实施例,存储器控制器以与奇偶性信号表示的总线相同的数据率发送奇偶性信号。从而,将以DDR发送用于例如DDR总线的奇偶性信号,并且将以SDR发送用于SDR的奇偶性信号。
图1是具有耦合至双数据率命令总线的存储器装置的系统的实施例的框图。系统100包含计算装置中的存储器子系统的处理器和元件。处理器110表示可以执行操作系统(OS)和应用的计算平台的处理单元,其能够被共同地称为主机或存储器的用户。OS和应用执行导致存储器存取的操作。处理器110能够包含一个或多个分开的处理器。每一个分开的处理器能够包含单个处理单元、多核处理单元、或组合。处理单元能够是诸如CPU(中央处理单元)的主处理器、诸如GPU(图形处理单元)的外围处理器、或组合。存储器存取也可以由诸如网络控制器或硬盘控制器的装置发起。该装置能够与一些系统中的处理器集成或经由总线(例如,快速PCI(PCI express))附接至处理器、或组合。系统100能够实现为SOC(片上系统),或者能够以独立部件实现系统100。
对存储器装置的介绍能够适用于不同的存储器类型。存储器装置通常称为易失性存储器技术。易失性存储器是如下存储器:在至装置的功率中断时,其状态(并且因此储存于其上的数据)是不确定的。非易失性存储器指如下存储器:即使至装置的功率中断,其状态也是确定的。动态易失性存储器需要更新储存在装置中的数据以保持状态。动态易失性存储器的一个范例包含DRAM(动态随机存取存储器)、或诸如同步DRAM(SDRAM)的一些变形。如于此描述的存储器子系统可以与许多存储器技术兼容,该技术诸如是DDR3(双数据率第3版,由JEDEC(联合电子元件工程委员会(Joint Electronic Device EngineeringCouncil))在2007年6月27日原始发布,当前在发布(release)21)、DDR4(DDR第4版,初始规范由JEDEC在2012年9月公开)、DDR4E(扩展的DDR第4版,当前正由JEDEC讨论)、LPDDR3(低功率DDR第3版,JESD209-3B,由JEDEC于2013年8月)、LPDDR4(低功率双数据率(LPDDR)第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(当前正由JEDEC讨论)、HBM2(HBM第2版,当前正由JEDEC讨论)、或其它或存储器技术的组合、以及基于该规范的派生物或扩展的技术。
除易失性存储器外,或作为易失性存储器的替代,在一个实施例中,对存储器装置的介绍能够指非易失性存储器装置,对于非易失性存储器装置,即使到该装置的功率中断,其状态也是确定的。在一个实施例中,非易失性存储器装置是块可寻址存储器装置,诸如NAND或NOR技术。从而,存储器装置也能够包含今后代的非易失性装置,诸如三维交叉点(3DXP)存储器装置、其它比特可寻址非易失性存储器装置、或使用硫属化物相改变材料(例如,硫属化物玻璃)的存储器装置。在一个实施例中,存储器装置能够是或包含多阈值水平(multi-threshold level)的NAND闪存、NOR闪存、单或多水平相改变存储器(PCM)或具有开关的相改变存储器(PCMS)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、并入了忆阻器(memristor)技术的磁阻随机存取存储器(MRAM)存储器、或自旋传送扭矩(STT)-MRAM、或以上任何的组合、或其它存储器。
于此提及“RAM”、或“RAM装置”的描述能够适用于容许随机存取的任何存储器装置,不管是易失性的还是非易失性的。提及“DRAM”、或“DRAM装置”的描述能够指易失性随机存取存储器装置。存储器装置或DRAM能够指管芯自身、包含一个或多个管芯的封装的存储器产品、或二者。在一个实施例中,具有需要更新的易失性存储器的系统也能够包含非易失性存储器。
存储器控制器120表示用于系统100的一个或多个存储器控制器电路或装置。存储器控制器120表示控制逻辑,控制逻辑响应于处理器10执行操作而生成存储器存取命令。存储器控制器120对一个或多个存储器装置140进行存取。存储器装置140能够是根据以上提到的任何DRAM装置的DRAM装置。在一个实施例中,作为不同的通道对存储器装置40进行组织和管理,其中每一个通道耦合至耦合至并行的多个存储器装置的信号线和总线。每一个通道是独立可操作的。从而,对每一个通道独立地进行存取和控制,并且定时、数据传送、命令和地址交换、以及其它操作对于每一个通道是分开的。如于此使用的,耦合能够指电耦合、通信耦合、物理耦合、或这些的组合。物理耦合能够包含直接接触。电耦合包含接口或互连,接口或互连容许部件之间的电流动,或容许部件之间的信号传送、或二者。通信耦合包含使得部件能够交换数据的包含有线或无线的连接。
在一个实施例中,用于每一个通道的设定由分开的模式寄存器或其它寄存器设定控制。在一个实施例中,每一个存储器控制器120管理分开的存储器通道,然而系统100能够被配置为具有由单个控制器管理的多个通道,或能够被配置为在单个通道上具有多个控制器。在一个实施例中,存储器控制器120是主机处理器110的部分,诸如实现于相同管芯上或实现于与处理器相同的封装空间中的逻辑。
存储器控制器120包含耦合至存储器总线的I/O接口逻辑122,诸如以上提到的存储器通道。I/O接口逻辑122(以及存储器装置140的I/O接口逻辑142)能够包含针脚、焊盘、连接器、信号线、迹线、或导线、或连接装置的其它硬件、或这些的组合。I/O接口逻辑122能够包含硬件接口。如示例的,I/O接口逻辑122至少包含用于信号线的驱动器/收发器。通常,集成电路接口内的导线与焊盘、针脚、或连接器耦合以与信号线或迹线或装置之间的其它导线相连。I/O接口逻辑122能够包含驱动器、接收器、收发器、或终端、或其它电路系统或电路系统的组合,以在装置之间的信号线上交换信号。信号的交换包含发送或接收至少之一。虽然被示为从存储器控制器120至存储器装置140的I/O 142的耦合I/O 122,但是将理解,在其中对储存装置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的信号线能够被称为“数据总线”。在一个实施例中,独立通道具有不同的时钟信号、C/A总线、数据总线、以及其它信号线。从而,在独立的接口路径能够被视为分开的总线的意义上,系统100能够被视为具有多个“总线”。将理解,除清楚地示出的线之外,总线能够包含以下至少之一:选通信号传送线(strobe signaling line)、警报线、辅助线、或其它信号线、或组合。还将理解,能够使用串行总线技术用于存储器控制器120与存储器装置140之间的连接。串行总线技术的范例是通过每一个方向上的信号的单个差分对带嵌入式时钟的高速数据8B10B编码和传输。
在一个实施例中,能够通过逻辑180将CLK 132、CMD 134、DQ 136、或其它138中的一个或多个路由至存储器装置140。逻辑180能够是寄存器或缓冲器电路,或包含寄存器或缓冲器电路。逻辑180能够减小至I/O 122的接口上的负荷,这容许较快的信号传送或减小的误差或二者。减小的负荷能够是因为I/O 122仅看到逻辑180处的一个或多个信号的终止,而不是并行的存储器装置140的每一个处的信号线的终止。虽然未将I/O接口142具体示例为包含驱动器或收发器,但是将理解,I/O接口142包含耦合至信号线所必需的硬件。另外,为简化示例的目的,I/O接口142未示例对应于关于I/O接口122示出的信号的所有信号。在一个实施例中,I/O接口122的所有信号在I/O接口142处具有对应物(counterpart)。能够从逻辑180提供与I/O接口142相连的一些或所有信号线。在一个实施例中,来自I/O接口122的某些信号线不直接耦合至I/O接口142,而是通过逻辑10耦合,同时一个或多个其它信号可以经由接口172从I/O接口122直接耦合至I/O接口142,但是没有通过逻辑180缓冲。信号182表示通过逻辑180与存储器装置140相连的信号。
将理解,在系统100的范例中,存储器控制器120与存储器装置140之间的总线包含附属命令总线CMD 134和附属总线以携带写和读数据DQ136。在一个实施例中,数据总线能够包含用于读数据和用于写/命令数据的双向线。在另一实施例中,附属总线DQ 136能够包含用于从主机至存储器写数据的单向写信号线,并且能够包含用于从存储器至主机读取数据的单向线。根据所选择的存储器技术和系统设计,其它信号138可以伴随总线或子总线,诸如选通线DQS。基于系统100的设计,或实现,如果设计支持多个实现,则数据总线能够具有每存储器装置140更多或更少的带宽。例如,数据总线能够支持具有×32接口、×16接口、×8接口、或其它接口的存储器装置。约定(convention)“xW”,其中W是指存储器装置140的接口的接口大小或宽度的整数,其表示要与存储器控制器120交换数据的信号线的数量。数量通常是二进制的,但是不限于此。存储器装置的接口大小是关于当前在系统100中每通道能够使用多少存储器装置或关于多少存储器装置能够并行耦合至相同的信号线的控制因子。在一个实施例中,高带宽存储器装置、宽接口装置、或堆叠存储器配置、或组合能够实现较宽的接口,诸如×128接口、×256接口、×512接口、×1024接口、或其它数据接口宽度。
存储器装置140表示用于系统100的存储器资源。在一个实施例中,每一个存储器装置140是分开的存储器管芯。在一个实施例中,每一个存储器装置140能够与每个装置或管芯的多个(例如,2个)通道相连。每一个存储器装置140包含I/O接口逻辑142,其具有通过装置的实现确定的带宽(例如,×16或×8或一些其它接口带宽)。I/O接口逻辑142使得存储器装置能够与存储器控制器10相连。I/O接口逻辑142能够包含硬件接口,并且能够与存储器控制器的I/O 122一致,但是在存储器装置端。在一个实施例中,多个存储器装置140并行连接至相同的命令和数据总线。在另一实施例中,多个存储器装置140并行连接至相同的命令总线,并且连接至不同的数据总线。例如,系统100能够被配置有并联耦合的多个存储器装置140,每一个存储器装置响应于命令,并且对每一个内部的存储器资源160进行存取。对于写操作,单独的存储器装置140能够写总的数据字的部分,并且对于读操作,单独的存储器装置140能够取回总的数据字的部分。作为非限制性范例,特定的存储器装置能够提供或接收分别的128比特数据字的8比特用于读或写交易(transaction)、或256比特数据字的8比特或16比特(取决于×8还是×16装置)。将由并行的其它存储器装置提供或接收字的其余比特。
在一个实施例中,存储器装置140直接设置在计算装置的主板或主机系统平台(例如,PCB(印刷电路板),处理器110设置在所述PCB上)上。在一个实施例中,存储器装置140能够被组织到存储器模块170中。在一个实施例中,存储器模块170表示双列直插式存储器模块(DIMM)。在一个实施例中,存储器模块170表示共享存取或控制电路系统的至少部分的多个存储器装置的其它组织,其能够是与主机系统平台分开的主板、分开的电路、或分开的装置。存储器模块170能够包含多个存储器装置140,并且存储器模块能够包含用于至设置在它们上的包含的存储器装置的多个分开的通道的支持。在另一实施例中,可以将存储器装置140并入到与存储器控制器120相同的封装中,诸如通过诸如多芯片模块(MCM)、封装上封装、硅穿孔(through-silicon VIA(TSV))的技术、或其它技术或组合。类似地,在一个实施例中,可以将多个存储器装置140并入到存储器模块170中,可以将存储器模块170自身并入到与存储器控制器120相同的封装中。将理解,对于这些和其它实施例,存储器控制器120可以是主机处理器110的部分。
存储器装置140均包含存储器资源160。存储器资源160表示用于数据的存储器位置或储存位置的单独的阵列。典型地,作为数据的行管理存储器资源160,并经由字线(行)和位线(行内的单独的比特)控制对存储器资源160进行存取。能够作为存储器的分开的通道、列(rank)和排(bank)组织存储器资源160。通道可以指至存储器装置140内的储存位置的独立控制路径。列可以指多个存储器装置上的公共位置(例如,不同装置内的相同行地址)。排可以指存储器装置140内的存储器位置的阵列。在一个实施例中,存储器的排被划分成子排,子排具有用于子排的共享电路系统(例如,驱动器、信号线、控制逻辑)的至少部分。将理解,通道、列、排、子排、排组、或存储器位置的其它组织、以及组织的组合在它们对于物理资源的应用中存在交叠。例如,能够在作为特定排的特定通道上对相同的物理存储器位置进行存取,特定的排也能够属于列。从而,将以包括的方式而不是排它的方式理解存储器资源的组织。
在一个实施例中,存储器装置140包含一个或多个寄存器144。寄存器144表示提供用于存储器装置的操作的配置或设定的一个或多个储存装置或储存位置。在一个实施例中,寄存器144能够提供用于存储器装置140的储存位置,以储存用于由存储器控制器120进行存取的数据,该存取作为控制或管理操作的部分。在一个实施例中,寄存器144包含一个或多个模式寄存器。在一个实施例中,寄存器144包含一个或多个多用途寄存器。寄存器144内的位置的配置能够将存储器装置140配置为以不同“模式”操作,其中,命令信号能够基于模式触发存储器装置140内的不同的操作。附加地或替代地,不同的模式也能够从取决于模式的地址信息或其它信号线触发不同操作。寄存器144的设定能够指示用于I/O设定的配置(例如,定时、终止、或ODT(管芯上终止(on-die termination))、驱动器配置、或其它I/O设定)。
在一个实施例中,存储器装置140包含作为与I/O接口142相关联的接口硬件的部分的ODT。在一个实施例中,I/O接口172包含在逻辑180中。在一个实施例中,I/O接口172和逻辑180中的任一个或二者能够包含ODT电路系统。通常,ODT能够提供用于要应用于至规定的信号线的接口的阻抗的设定。在一个实施例中,将ODT应用于DQ信号线。在一个实施例中,将ODT应用于命令信号线。在一个实施例中,将ODT应用于地址信号线。在一个实施例中,能够将ODT应用于前述的任何组合。能够基于存储器装置是存取操作的选择的目标还是非目标装置来改变ODT设定。ODT设定能够影响终止线上的信号传送的定时和反回。对ODT的仔细控制能够使得能够以应用的阻抗和负荷的改善的匹配进行较高速度的操作。能够将ODT应用于I/O接口的特定信号线,而不必将ODT应用于所有信号线。
存储器装置140包含控制器150,其表示存储器装置内部的用于控制存储器装置内的内部操作的控制逻辑。例如,控制器150对由存储器控制器120发送的命令进行解码,并生成内部操作以执行或满足命令。控制器150能够被称为内部控制器,并且与主机的存储器控制器120分开。控制器150能够基于寄存器144来确定选择什么模式,并且基于所选择的模式来配置用于对存储器资源160进行存取的操作或其它操作的内部执行。控制器150生成控制信号以控制存储器装置140内的比特的路由,以提供用于所选择的模式的合适的接口并将命令引导至合适的存储器位置或地址。
再次参照存储器控制器120,存储器控制器120包含调度器(scheduler)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内应用更新。在一个实施例中,更新逻辑生成内部操作,以根据从存储器控制器120接收的外部更新来实施更新。更新逻辑154能够确定更新是否涉及存储器装置140,以及响应于命令要更新什么存储器资源160。
再次参照逻辑180,在一个实施例中,逻辑180缓冲从主机至存储器装置142的某些信号线182。在一个实施例中,逻辑180将DQ 136的数据信号线缓冲为DQ 186,并将CMD 134的命令(或命令和地址)线缓冲为CMD184。在一个实施例中,DQ 186被缓冲,但是包含与DQ136相同数量的信号线。从而,将二者均示例为具有X个信号线。相比而言,CMD 134具有比CMD 184更少的信号线。从而,P>N。以比CMD 184的P个信号线高的数据率操作CMD 134的N个信号线。例如,P能够等于2N,且能够以CMD 134的数据率的1/2的数据率操作CMD 184。
从而,系统100能够包含存储器电路,其能够是逻辑180或包含逻辑180。在将电路视为逻辑180的程度上,其能够指缓冲命令总线的电路或部件(诸如一个或多个分立的元件,或逻辑芯片封装的一个或多个元件)。在将电路视为包含逻辑180的程度上,电路能够包含该一个或多个部件的封装的针脚,并且可以包含信号线。存储器电路包含至CMD 134的N个信号线的接口,该N个信号线是要以第一数据率操作的。相对于逻辑180,CMD134的N个信号线是面向主机的。存储器电路也能够包含至CMD 184的P个信号线的接口,P个信号线是要以比第一数据率低的第二数据率操作的。相对于逻辑180,CMD 184的P个信号线是面向存储器的。能够将逻辑180视为接收命令信号并将命令信号提供给存储器装置的控制逻辑,或者逻辑180能够在其内包含接收命令信号并将命令信号提供给存储器装置的控制逻辑(例如,其处理元件或逻辑核)。
图2是具有存储器模块、具有主机与模块之间的双数据率命令总线、以及至模块上的存储器装置的单数据率命令总线的系统的实施例的框图。系统200表示图1的系统100的一个实施例。主机210表示处理器或存储器控制器,或二者。在一个实施例中,主机210包含系统200的中央处理单元(CPU),其能够包含嵌入式存储器控制器(iMC)或分开的存储器控制器。在一个实施例中,主机210能够包含图形处理器或图形处理单元(GPU),图形处理器或图形处理单元(GPU)包含或耦合至存储器控制器,存储器控制器耦合至存储器。
DIMM 220表示具有多个存储器装置的存储器模块,并且通常能够被称为“存储器”。在一个实施例中,系统200包含多个DIMM 220,每一个DIMM包含多个存储器装置或DRAM装置222和224。DIMM 220被示例为包含寄存器230,其能够是或包含控制命令至DRAM装置的发送的逻辑。将DIMM 220的控制逻辑称为“寄存器230”是一种可能的实现。寄存器称为能够缓冲至存储器的信号的逻辑电路。更具体地,寄存器能够对单独的存储器装置进行寄存,以储存和寄存器与存储器装置之间的信号的交换有关的配置设定。寄存器230能够替代地是另一可能的实现的缓冲器。缓冲器将缓冲信号,但是可以不对存储器装置进行寄存,或储存与每一个存储器装置有关的特定I/O设定。对信号进行缓冲能够指临时储存信号和预驱动信号。储存能够在寄存器、缓冲器或其它储存装置中。
在一个实施例中,寄存器230是DIMM控制器(未具体示出)的部分。DIMM控制器指控制来往于DIMM 220的信号的发送的控制器或控制逻辑。DIMM控制器能够管理DIMM 220上的定时和信号传送。DIMM控制器能够被实现为微控制器、微处理器、或其它控制器。DIMM控制器将被理解为与独立的DRAM装置上的控制器分开,并且与主机的存储器控制器分开。在一个实施例中,寄存器230与DIMM控制器分开。
在一个实施例中,寄存器230或DIMM控制器包含奇偶性检查逻辑232。奇偶性检查逻辑能够包含使得能够确定输入命令上的奇偶性、将奇偶性计算与接收的奇偶性信号进行比较的逻辑。简单的奇偶性典型地被实施为偶/奇,以零奇偶性比特表示偶奇偶性,并且一奇偶性比特表示奇奇偶性。能够经由多级XOR(异OR)或其它组合逻辑来计算偶/奇奇偶性。将理解的是,因为XOR功能是能够计算的,所以输入上的XOR的任何组合应当导致相同的结果。XOR的级的数量是由信号线的数量确定的,该信号线是奇偶性要在其上计算的信号线。能够通过减小XOR级的数量,以较窄的总线简化用于命令总线的奇偶性。在一个实施例中,主机210包含控制逻辑以触发奇偶性比特信号的发送,该奇偶性比特信号具有与命令和地址比特相同的定时。从而,奇偶性比特信号将与命令和地址比特的数据率匹配。在一个实施例中,当CA总线242或CA总线252以较高数据率操作时,发送的用于奇偶性检查232进行奇偶性的计算的奇偶性信号也是以较高数据率发送的。
在一个实施例中,寄存器230以点对点连接从主机210接收信号线,并经由多点分支总线或飞越拓扑(fly-by topology)将信号发送至DRAM装置,其中,所有的装置耦合至公共总线或公共信号线。将理解的是,对DRAM的装置222的引用是表示N个DRAM装置222[0]至222[N-1]的速记法,并且类似地,对DRAM装置224的引用是表示N个DRAM装置224[0]至224[N-1]的速记法。
在一个实施例中,主机210与寄存器230之间的连接或接口包含能够对应于不同的存储器通道的两个C/A总线242和252。将装置分到不同的通道中能够提高吞吐量,同时减小所需的连接器的数量和物理覆盖区。然而,其能够提高主机210与DIMM 220之间的信号线的数量。当C/A总线242和C/A总线252是以双数据率操作的N比特总线时,两个通道能够包含有相同数量的信号线,如先前对于单个通道所需的那样。从而,具有较高密度的DRAM装置(例如,诸如堆叠装置封装)能够包含在系统200中,以提高存储容量,同时保持或改善吞吐量性能。
虽然C/A总线242和C/A总线252包含N个信号线,但是DIMM 220上的C/A总线被示例为包含2N比特,或2N个信号线。对2N比特的引用指能够在单个传送周期(如,时钟周期或UI(单位间隔))中传送多少比特,并且对应于信号线的数量。对2N个信号线的引用更清楚地指硬件架构。从而,在从主机210至DIMM 220(以及DIMM 220上的寄存器230)的总线宽度与从寄存器230至DRAM装置222和224的总线宽度之间能够存在失配。示例的失配是C/A总线242包含N比特,而提供C/A总线242的命令信号至DRAM装置222的C/A总线244包含2N比特。类似地,C/A总线252包含N比特,而提供C/A总线252的命令信号至DRAM装置224的C/A总线254包含2N比特。
将理解的是,C/A总线244将C/A总线242的命令信号输送至DRAM222。从而,根据一种观点,能够将C/A总线242和C/A总线244视为相同的命令总线,诸如具有两部分,窄的C/A总线部分(C/A总线242)和宽的或标准的C/A总线部分(C/A总线244)。替代地,分开的部分能够被视为主机侧部分(C/A总线242)和存储器侧部分(C/A总线244)。替代地,分开的部分能够被视为由寄存器230映射(map)的分开的总线。相同的讨论能够应用于C/A总线252和C/A总线254。将观测到,不同的部分或总线具有不同的数据率。将理解,“数据率”指用以通过信号线发送信息的速率,并且不限于通过数据总线发送数据比特。系统200包含一个或多个数据总线,为图中简单,未清楚示例该一个或多个总线。从而,C/A总线242和252的数据率是DDR,指每一个时钟边沿上的数据比特的传送,而C/A总线244和254的数据率是SDR,指仅每隔一个时钟边缘上的数据比特的传送。
相对于传统DIMM,DIMM 200具有主机210与DIMM 220之间的每通道减小的针脚计数。该减小的针脚计数能够用于实际减小系统200的针脚计数或增加针脚使用。实际减小针脚计数能够指消除来自系统200的硬件的信号线和连接器,诸如主板PCB(印刷电路板)上的迹线、焊盘、以及连接器以及DIMM PCB上的迹线、焊盘、以及连接器。一个DIMM的增加的使用可能不有效地减小该DIMM的针脚计数,但是通过使得能够去除一个或多个连接器,可以减小系统针脚计数,该一个或多个连接器先前被视为是实现期望的存储器容量所必需的。在一个实施例中,主机210能够在将C/A总线242和252的信号线驱动为DDR或SDR之间进行选择。例如,存储器控制器(未清楚示出)能够被配置为在耦合具有支持寄存器230的DIMM 220时,将C/A总线驱动为DDR。如果连接的DIMM不支持接收DDR C/A信号,则在一个实施例中,存储器控制器能够将C/A总线242和252驱动为单个C/A总线,寄存器230能够将该单个C/A总线提供给所有存储器装置222和224。从而,在一个实施例中,系统200能够支持以DDR或以SDR操作C/A总线242和252。能够例如通过存储器控制器的配置设定来支持该配置。从而,公共存储器控制器能够用于驱动标准的或窄的C/A总线。
图3A是具有双数据率命令总线的系统的实施例的框图,该双数据率命令总线具有命令信号突发。电路302表示根据系统100或系统200的实施例的存储器控制器电路。电路302包含存储器控制器310。存储器控制器310管理对一个或多个关联的存储器装置的存取。关联的存储器装置是耦合至通过存储器控制器310管理的总线的装置。在具有多个存储器控制器的系统中,某些存储器控制器将与选择的存储器装置相关联。
命令控制器310包含调度器320,其表示控制器中的确定要发送什么信号至存储器以使得实施期望的操作的逻辑。在一个实施例中,调度器320能够被视为包含命令(CMD)逻辑322,命令逻辑322确定要生成什么信号以导致某存储器存取操作(例如,读或写)或存储器管理操作(例如,更新、模式寄存器设定)。例如,对于读操作,命令逻辑322能够从容许用于存储器装置的各种不同类型的读命令以及用于读命令的地址中进行选择。
命令逻辑322能够生成具有地址信息的读命令,且调度器320能够确定用于命令的定时。定时能够和与标准的兼容相关,或和与其它命令或操作的协调相关,或和组合相关。调度器320能够基于确定的定时信息以命令队列312储存命令。在一个实施例中,定时信息能够包含确定如何以及何时发送用于命令总线接口的命令信号,对该命令总线接口的操作比对存储器装置的命令接口快。例如,根据系统200,定时能够包含确定在双数据率命令总线330上发送信号的定时和协调。
当到了向存储器发送命令的时间时,存储器控制器310能够使来自命令队列312的命令信号(单个或多个)出列,并通过命令总线330传输它们。如电路302中示例的,存储器控制器310以双数据率操作命令总线330,并且一个紧接一个地发送命令。如示例的,命令可以包含多个比特,指包含在多个单位间隔上顺序发送的比特的命令(例如,诸如LPDDR命令)。示例意图是一般性的,并且将理解,一些命令在单个周期中发生。从而,例如,通过以DDR而不是SDR使命令突发,存储器控制器310可以发送用于CMD 0的单个UI,并且然后发送用于CMD 1的单个UI。替代地,命令的突发能够例如包含用于CMD 0的多个UI,用于CMD 1的多个UI跟随CMD 0的多个UI。
图3B是具有双数据率命令总线的系统的实施例的框图,该双数据率命令总线具有交错的命令信号。电路304能够与图3A的电路302相同或类似,以双数据率操作命令总线340并使命令信号交错除外。将理解的是,使命令信号交错可以仅在存在对于每一个命令或每一个通道要发送的命令信号的多个UI时具有意义。例如,存储器控制器310能够使来自命令队列312的命令信号出列到命令总线340上,发送CMD 0的UI,接着是CMD 1的UI,接着是CMD0的UI,等等,直至对两个命令发送了所有命令信号UI。在一个实施例中,命令是用于相同通道的两个相继命令。在一个实施例中,两个命令是用于分开的通道的命令。
图4A是对于双数据率命令总线的相对信号传送定时的实施例的定时图。系统400包含主机402、逻辑404、以及存储器406。系统400提供了主机、缓冲器逻辑、以及存储器之间的相对定时的表示。系统400提供根据系统100或系统200的系统的实施例的一个范例。逻辑104表示于此描述的缓冲器或寄存器的任何实施例,并且能够是存储器电路或是存储器电路的部分。为理解图,时间上首先发送的比特最靠近左边。从而,在特定总线上从左至右移动示例随时间前进传送的数据比特。
主机402表示根据于此描述的任何实施例的主机,并且至少包含管理对存储器的存取的逻辑。例如,主机402能够包含主机处理器和存储器控制器电路。主机402包含至一个或多个时钟信号线412的硬件接口,并且能够在信号线上驱动时钟信号。如示例的,能够以具有上升沿和下降沿的时钟信号驱动时钟信号线412。上升沿指从低逻辑值(例如‘0’)至高逻辑值(例如‘1’)的转变。下降沿指从高逻辑值至低逻辑值的相反的转变。如以逻辑404与存储器406之间的总线连接示例的,SDR指单个边沿类型上的数据比特的传输,从而对每隔一个时钟周期边沿传送数据。在示例中,以上升沿触发数据传送,其是一个范例,并且其它系统能够使用下降沿。如以主机402与逻辑404之间的总线连接示例的,DDR指响应于两种类型的时钟边沿的数据比特的传输。
系统400示例至既在主机402与逻辑404之间的总线连接上,并且在逻辑404与存储器406之间的总线连接上,的数据总线的接口或DQ。为与命令信号进行比较,仅存在一个示例的数据信号线。将观测到,对于两个总线连接,数据信号以DDR操作。在一个实施例中,命令信号以DDR在主机-逻辑连接上操作,并且以SDR在逻辑-存储器连接上操作。
更具体地,关于命令信号传送,将主机402示为包含至C/A420的接口,其包含以DDR操作的N个信号线。虽然未具体示出,但是将理解的是,逻辑404包含对应的接口。逻辑404被示为包含至C/A430的接口,其包含以SDR操作的2N个信号线。虽然未具体示出,但是将理解,存储器406包含对应的接口。在一个实施例中,在C/A420的信号线上传送的数据被分开以在C/A430的信号线上传送。示例了简单的可能的映射,其中,C/A420的线0映射至C/A430的线0和1,C/A 420的线1映射至C/A 430的线2和3,等等。将理解的是,能够进行其它映射。逻辑404能够将C/A 420的信号线映射至C/A 430。
如系统400中示例的,在一个实施例中,主机402提供至存储器装置的存储器通道,并且通过逻辑404来缓冲信号线。在一个实施例中,逻辑404能够接收来自主机402的两个或更多通道。存储器通道包含命令总线或C/A总线420。C/A总线420能够是该宽度的一半(一半信号线),并且运行两倍快(数据率加倍)。逻辑404然后能够在C/A总线430上以一半的速率(单数据率)但是两倍的宽度(两倍的信号线)转送命令信号。
图4B是示例双数据率命令总线和单数据率命令总线的相对信号传送定时的实施例的定时图。图示440提供对于根据图4A的系统400的实施例的系统的命令数据率的比较的范例。定时图示440能够根据提供双数据率命令总线的系统的于此描述的其它实施例。时钟信号DCK 452表示双数据率时钟,其例如是用于将命令和地址信号从主机传送至存储器模块的时钟。如示例的,DCK 452触发时钟信号的上升沿和下降沿。时钟信号QCK 462表示如在存储器装置自身处应用的单数据率时钟。QCK 462用于将命令和地址信息传送至特定存储器装置。如示例的,QCK 462触发时钟信号的上升沿。替代地,能够使用下降沿。DCK 452表示主机与一组存储器装置之间的时钟,并且更具体地是将要将双数据率命令信息分为单数据率的逻辑,并且QCK 462表示从解码逻辑至存储器装置的时钟。
命令和地址信号DCA 454表示用于通道N和用于通道N+1的命令和地址信息。如示例的,命令和地址信息是交错的,以用于通道N的命令和地址信息触发时钟上升沿。从而,CAn、CAn’、和CAn”与DCK 452的时钟上升沿对准,并表示用于第一通道的命令和地址比特。用于通道N+1的命令和地址信息触发时钟下降沿,CAn+1、CAn’+1、和CAn”+1与DCK452的时钟下降沿对准。信号表示用于第二通道的命令和地址比特。
在一个实施例中,时钟信号的上升沿与下降沿之间的时间为tPDM。在一个实施例中,存在从DCK 452的上升沿至QCK 462的上升沿的tPDM的延迟。命令和地址信号QCA 464(用于通道N)和QCA 466(用于通道N+1)表示被分开传送至特定存储器装置的命令和地址信息。将观测到,如QCA464中表示的命令和地址信息比特CAn是如DCQ 454中表示的CAn的宽度的两倍。相同情况对于QCA 464和QCA 466中的其它命令和地址信息比特也是真实的。在一个实施例中,分开双数据率命令和地址信息的接收和处理逻辑提供具有根据单数据率的定时的命令和地址信息至存储器装置。
图5是经由双数据率命令总线耦合至主机并经由单数据率命令总线耦合至存储器的寄存器的实施例的框图。电路500包含寄存器510,并且能够表示系统100或系统200的存储器电路或逻辑。电路500表示系统400的电路。
寄存器510包含面向主机的接口或面向主机的I/O 512和面向存储器的接口或面向存储器的I/O 514。面向主机的I/O 512提供至C/A总线502的接口,其连接至主机。面向存储器的I/O 514提供至C/A总线504的接口,其连接至DRAM装置或其它存储器装置。C/A总线502比C/A总线504包含更少的信号线或更少的比特,并且用于以较高数据率操作。在一个实施例中,C/A总线502包含N比特并且以DDR操作,虽然C/A总线504包含2N比特并且以SDR操作。
在一个实施例中,寄存器510包含多个复用器(多路转换器)520。在一个实施例中,多路转换器520是通过时钟极性选择或调控的1:2的复用器。从而,时钟信号522在电路500中示例为向多路转换器520的选择输入提供信号。在一个实施例中,时钟选择的多路转换器调控至偶和奇编号的地址线输入信号比特,偶和奇编号的地址线至一个或多个DRAM装置的C/A总线504。从而,寄存器510能够有效地使至附接至寄存器510的DRAM装置的总线宽度加倍。能够将来自以较高数据率操作的信号线的信号选择性地放置在以较低数据率操作的信号线上。
图6是用于在双数据率命令总线上发送命令的过程的实施例的流程图。流程图示例能够由存储器控制器实施的操作和缓冲从存储器控制器向存储器装置发送的命令的接口逻辑。
在一个实施例中,存储器控制器生成对存储器进行存取的命令,602。命令能够用于读操作、写操作、或其它命令。在一个实施例中,存储器控制器确定用于命令的调度信息并对命令进行列队,604。命令通过提供于多个信号线上的一组比特呈现至存储器装置,多个信号线能够被称为命令总线。命令总线信号线的一和零的图案指示至存储器的操作。
在一个实施例中,存储器控制器支持以单数据率或双数据率操作命令总线接口。例如,存储器控制器能够包含以较低或较高数据率操作命令总线信号线的配置设定。从而,在一个实施例中,存储器控制器确定是要以单数据率还是双数据率发送列队的命令,606。
在一个实施例中,如果要以SDR发送出命令,608SDR分支,则存储器控制器被配置用于传统操作。利用SDR,存储器控制器发送命令,并且接口逻辑接收SDR命令,610。接口逻辑然后能够在与来自存储器控制器的命令总线有相同宽度的命令总线上将命令发送至存储器装置,并且存储器装置将执行命令,612。
在一个实施例中,如果要以DDR发送出命令,608DDR分支,则存储器控制器被配置为以较高数据率操作命令总线,并且命令总线比传统命令总线具有更窄的宽度。利用DDR,存储器控制器发送DDR命令,并且接口逻辑接收DDR命令,614。接口逻辑处理DDR命令以将命令映射至至存储器装置的命令总线的更多信号线。在一个实施例中,接口逻辑包含复用器以将来自面向主机的命令总线的DDR命令信号复用至面向存储器的较高宽度的命令总线,616。接口逻辑在较高宽度的命令总线上发送命令信号至存储器装置,用于存储器装置执行命令,618。
图7是其中能够实现双数据率命令总线的计算系统的实施例的框图。系统700表示根据于此描述的任何实施例的计算装置,并且能够是膝上型电脑、台式电脑、平板电脑、服务器、游戏或娱乐控制系统、扫描仪、复印机、打印机、路由或交换装置、嵌入式计算装置、智能电话、可穿戴式装置、物联网装置或其它电子装置。
系统700包含处理器710,其提供用于系统700的指令的处理、操作、管理和执行。处理器710能够包含任何类型的微处理器、中央处理单元(CPU)、图形处理单元(GPU)、处理核、或提供用于系统700的处理的其它处理硬件、或处理器的组合。处理器710控制系统700的总的操作,并且能够是或包含一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑装置(PLD)等、或该装置的组合。
在一个实施例中,系统700包含耦合至处理器710的接口712,其能够表示用于诸如存储器子系统720或图形接口部件740的需要较高带宽连接的系统部件的高吞吐量接口或较高速度接口。接口712能够表示“北桥”电路,其能够是独立的部件或集成到处理器管芯上。在存在的地方,图形接口740相连至图形部件,用于向系统700的用户提供视觉显示。在一个实施例中,图形接口740能够驱动向用户提供输出的高清(HD)显示器。高清能够指具有大约100PPI(像素每英寸)或更大的像素密度的显示,并且能够包含诸如全HD(例如,1080p)、视网膜显示、4K(超高清或UHD)、或其它的格式。在一个实施例中,显示器能够包含触摸屏显示器。在一个实施例中,图形接口740基于储存在存储器730中的数据或基于由处理器710执行的操作或基于二者生成显示。
存储器子系统720表示系统700的主存储器,并且提供对待由处理器710执行的代码的储存,或对执行路由中使用的数据值的储存。存储器子系统720能够包含一个或多个存储器装置730,诸如是只读存储器(ROM)、闪存、诸如DRAM的随机存取存储器(RAM)的一个或多个变形、或其它存储器装置、或该装置的组合。除其它事情外,存储器730储存并容纳操作系统(OS)732以提供用于系统700中的指令的执行的软件平台。附加地,应用734能够在来自存储器730的OS 732的软件平台上执行。应用734表示具有它们自己的运算逻辑以实施一个或多个功能的执行的程序。处理736表示向OS 732或一个或多个应用734或组合提供辅助功能的代理或例程。OS 732、应用734、以及处理736提供软件逻辑以提供用于系统700的功能。在一个实施例中,存储器子系统720包含存储器控制器722,其是用以生成并向存储器730发出命令的存储器控制器。将理解的是,存储器控制器722能够是处理器710的物理部分或接口712的物理部分。例如,存储器控制器722能够是集成到具有处理器710的电路上的集成存储器控制器。
虽然没有具体示例,将理解的是,系统700能够包含装置之间的一个或多个总线或总线系统,诸如存储器总线、图形总线、接口总线、或其它。总线或其它信号线能够通信上或电气上将部件耦合到一起,或既通信上又电气上耦合部件。总线能够包含例如以下中的一个或多个:物理通信线、点对点连接、桥、适配器、控制器、或其它电路系统或组合。总线能够包含例如,系统总线、外围部件互连(PCI)总线、超传输或工业标准架构(ISA)总线、小计算机系统接口(SCSI)总线、通用串行总线(USB)、或电气与电子工程协会(IEEE)标准1394总线(通常称为“火线”)。
在一个实施例中,系统700包含接口714,其能够耦合至接口712。接口714能够是比接口712的速度低的接口。在一个实施例中,接口714能够是“南桥”电路,其能够包含独立部件和集成电路系统。在一个实施例中,多个用户接口部件或外围部件或二者耦合至接口714。网络接口750通过一个或多个网络给系统700提供与远程装置(例如,服务器或其它计算装置)通信的能力。网络接口750能够包含以太网适配器、无线互连部件、蜂窝网络互连部件、USB(通用串行总线)、或基于其它有线或无线标准的或专有的(proprietary)接口。网络接口750能够与远程装置交换数据,这能够包含发送储存在存储器中的数据或接收待储存在存储器中的数据。
在一个实施例中,系统700包含一个或多个输入/输出(I/O)接口760。I/O接口760能够包含一个或多个接口部件,用户通过该接口部件与系统700交互(例如,音频的、字母数字的、触觉的/触摸、或其它接口)。外围接口770能够包含以上未具体提到的任何硬件接口。外围设备通常指独立连接至系统700的装置。独立连接是其中系统700提供软件平台或硬件平台或二者的连接,操作在该软件平台或硬件平台或二者上执行,并且用户与该软件平台或硬件平台或二者交互。
在一个实施例中,系统700包含储存器系统780以以非易失性方式储存数据。在一个实施例中,在某些系统实现中,储存器780的至少某些部件能够与存储器子系统720的部件交叠。储存子系统780包含储存装置(单个或多个)784,其能够是或包含以非易失性方式储存大量数据的任何常规介质,诸如一个或多个基于磁性、固态、或光学的盘,或组合。储存器784以持久的状态保持代码或指令和数据786(即,值保留而不管至系统700的功率的中断)。储存装置784通常能够被视为“存储器”,然而,存储器730典型地是给处理器710提供指令的执行或操作存储器。而储存器784是非易失性的,存储器730能够包含易失性存储器(即,在至系统700的功率中断时,数据的值或状态是不确定的)。在一个实施例中,储存子系统780包含控制器782以与储存器784相连。在一个实施例中,控制器782是接口714或处理器710的物理部分,或能够包含处理器710和接口714二者中的电路或逻辑。
功率源702向系统700的部件提供功率。更具体地,功率源702典型地相连至系统702中的一个或多个功率供应部704以向系统700的部件提供功率。在一个实施例中,功率供应部704包含用以插入到壁装电源插座中的AC至DC(交流至直流)适配器。该AC功率能够是可再生能源(例如,太阳能功率)功率源702。在一个实施例中,功率源702包含DC功率源,诸如外部AC至DC转换器。在一个实施例中,功率源702或功率供应部704包含无线充电硬件以经由接近充电场而进行充电。在一个实施例中,功率源702能够包含内部电池或燃料电池源。
在一个实施例中,系统700包含双数据率命令地址(DDR CA)总线790,其表示其中逻辑电路以较高数据率在较窄宽度的命令总线上接收命令和地址信息,并以较低数据率在较宽宽度的命令总线上向一个或多个存储器装置发送命令和地址信息的总线架构。较低数据率能够是用于传统命令信号传送的标准数据率,诸如SDR。较高数据率能够是DDR。较高宽度的命令总线能够是标准宽度的命令总线,称为具有由用于与存储器装置相连的标准设定的信号线数量的总线。较低宽度的命令总线比由存储器装置使用的命令总线宽度窄。将理解的是,该架构将包含以较高速率从主机接收命令信号并以较低速率向存储器发送出命令信号的控制逻辑。接收和发送能够根据于此描述的任何实施例。
图8是其中能够实现双数据率命令总线的移动装置的实施例的框图。装置800表示移动计算装置,诸如计算平板、移动电话或智能电话、无线启用的e-阅读器、可穿戴计算装置、物联网装置、或其它移动装置、或嵌入式计算装置。将理解,总体示出了某些部件,但是不是该装置的所有部件都示于装置800中。
装置800包含处理器810,其实施装置800的主处理操作。处理器810能够包含一个或多个物理装置,诸如微处理器、应用处理器、微控制器、可编程逻辑装置、或其它处理构件。由处理器810执行的处理操作包含操作平台或操作系统的执行,应用和装置功能在该操作平台或操作系统上执行。处理操作包含和与人用户或与其它装置的I/O(输入/输出)相关的操作、和功率管理相关的操作、和将装置800连接至另一装置相关的操作、或组合。处理操作还能够包含和音频I/O、显示I/O、或其它接口、或组合相关的操作。处理器810能够执行储存在存储器中的数据。处理器810能够写和编辑储存在存储器中的数据。
在一个实施例中,系统800包含一个或多个传感器812。传感器812表示嵌入式传感器或至外部传感器的接口、或组合。传感器812使得系统800能够监测或检测系统800实现所在的环境或装置的一个或多个状况。传感器812能够包含环境传感器(诸如温度传感器、运动检测器、光检测器、相机、化学传感器(例如,一氧化碳、二氧化碳、或其它化学传感器))、压力传感器、加速度计、陀螺仪、医学或生理学传感器(例如,生物传感器、心率监测器、或检测生理属性的其它传感器)、或其它传感器、或组合。传感器812还能够包含用于生物测定系统的传感器,生物测定系统诸如是指纹识别系统、脸检测或识别系统、或检测或识别用户特征的其它系统。传感器812应当被宽泛地理解,而不限制能够与系统800一起实现的传感器的许多不同类型。在一个实施例中,一个或多个传感器812经由与处理器810集成的前端电路耦合至处理器810。在一个实施例中,一个或多个传感器812经由系统800的另一部件耦合至处理器810。
在一个实施例中,装置800包含音频子系统820,其表示与向计算装置提供音频功能相关联的硬件(例如,音频硬件和音频电路)和软件(例如,驱动器、代码)部件。音频功能能够包含扬声器或耳机输出,以及麦克风输入。用于该功能的装置能够集成到装置800中,或连接至装置800。在一个实施例中,用户通过提供由处理器810接收并处理的音频命令而与装置800交互。
显示器子系统830表示给用户提供用于呈现的视觉显示的硬件(例如,显示器装置)和软件部件(例如,驱动器)。在一个实施例中,显示器包含触觉部件或触摸屏元件,用于用户与计算装置交互。显示器子系统830包含显示器接口832,其包含用于向用户提供显示的特定屏幕或硬件装置。在一个实施例中,显示器接口832包含与处理器810分开的逻辑(诸如图形处理器),以实施和显示相关的至少一些处理。在一个实施例中,显示器子系统830包含向用户提供输出和输入二者的触摸屏装置。在一个实施例中,显示器子系统830包含向用户提供输出的高清(HD)显示器。高清能够指具有大约100PPI(像素每英寸)或更大的像素密度的显示,并且能够包含诸如全HD(例如,1080p)、视网膜显示、4K(超高清或UHD)、或其它的格式。在一个实施例中,显示器子系统包含触摸屏显示器。在一个实施例中,显示器子系统830基于存储在存储器中的数据或基于由处理器810执行的操作或基于二者生成显示信息。
I/O控制器840表示和与用户的交互相关的硬件装置和软件部件。I/O控制器840能够操作以管理为以下的部分的硬件:音频子系统820、或显示子系统830、或二者。另外,I/O控制器840示例用于连接至装置800的另外装置的连接点,用户可能通过装置800与系统交互。例如,能够附接至装置800的装置可以包含麦克风装置、扬声器或立体系统、视频系统或其它显示装置、键盘或小键盘装置、或用于诸如读卡器或其它装置的特定应用的其它I/O装置。
如以上提到的,I/O控制器840能够与音频子系统820或显示器子系统830或二者交互。例如,通过麦克风或其它音频装置的输入能够提供用于装置800的一个或多个应用或功能的输入或命令。另外,除显示输出外或作为其替代,能够提供音频输出。在另一范例中,如果显示子系统包含触摸屏,则显示装置还用作输入装置,其能够至少部分地由I/O控制器840管理。也能够在装置800上存在附加按钮或开关,以提供由I/O控制器840管理的I/O功能。
在一个实施例中,I/O控制器840管理诸如加速度计、相机、光传感器或其它环境传感器、陀螺仪、全球定位系统(GPS)、或能够包含在装置800中的其它硬件的装置、或传感器812。输入能够是直接用户交互的部分,以及向系统提供环境输入以影响其操作(诸如对噪声进行滤波、调整用于亮度检测的显示、应用用于相机的闪光、或其它特征)。
在一个实施例中,装置800包含功率管理部850,管理电池功率使用、电池的充电、以及和功率节省操作相关的特征。功率管理部850管理来自功率源852的功率,功率源852向系统800的部件提供功率。在一个实施例中,功率源852包含AC至DC(交流至直流)适配器以插入到壁装电源插座中。该AC功率能够是可再生能源(例如,太阳能功率、基于运动的功率)。在一个实施例中,功率源852仅包含由诸如外部AC至DC转换器的DC功率源提供的DC功率。在一个实施例中,功率源852包含无线充电硬件以经由接近充电场而进行充电。在一个实施例中,功率源852能够包含内部电池或燃料电池源。
存储器子系统860包含用于在装置800中储存信息的存储器装置(单个或多个)862。存储器子系统860能够包含非易失性(在至存储器装置的功率中断时,状态不改变)或易失性(在至存储器装置的功率中断时,状态不确定)存储器装置、或组合。存储器860能够储存应用数据、用户数据、音乐、照片、文档、或其它数据,以及和系统800的应用和功能的执行相关的系统数据(不管是长期的还是临时的)。在一个实施例中,存储器子系统860包含存储器控制器864(其也能够被视为系统800的控制的部分,并且能够潜在地被视为处理器810的部分)。存储器控制器864包含调度器以生成并发出用以控制对存储器装置862的存取的命令。
连接性870包含硬件装置(例如,无线或有线连接器和通信硬件,或有线和无线硬件的组合)和软件部件(例如,驱动器、协议栈),以使得装置800能够与外部装置通信。外部装置能够是:分开的装置,诸如其它计算装置、无线存取点或基站;以及诸如耳机、打印机、或其它装置的外围设备。在一个实施例中,系统800与外部装置交换数据用于储存在存储器中或在显示装置上显示。交换的数据能够包含待储存在存储器中的数据、或已经储存在存储器中的数据,以读、写、或编辑数据。
连接性870能够包含多个不同类型的连接性。为概括,装置800被示例为具有蜂窝连接性872和无线连接性874。蜂窝连接性872通常指由无线载波提供的蜂窝网络连接性,诸如经由GSM(全球移动通信系统)或变形或派生物、CDMA(码分多址)或变形或派生物、TDM(时分复用)或变形或派生物、LTE(长期演进,也称为“4G”)、或其它蜂窝服务标准提供的。无线连接性874指不是蜂窝的无线连接性,并且能够包含个人区域网(诸如蓝牙)、局域网(诸如WiFi)、或广域网(诸如WiMax)、或其它无线通信、或组合。无线通信指通过使用经非固态介质的调制电磁辐射而对数据的传送。
外围连接880包含硬件接口和连接器、以及软件部件(例如,驱动器、协议栈),已进行外围连接。将理解的是,装置800能够是至其它计算装置的外围装置(“至”882),以及具有与其连接的外围装置(“从”884)。装置800通常具有“入坞(docking)”连接器以连接至其它计算装置,用于诸如管理(例如,下载、上传、改变、同步)装置800上的内容的目的。另外,入坞连接器能够容许装置800连接至容许装置800控制例如至音视频或其它系统的内容输出的某些外围设备。
除专有入坞连接器或其它专有连接硬件外,装置800能够经由基于标准的或公共的连接器进行外围连接880。公共类型能够包含串行总线(USB)连接器(其能够包含多个不同硬件接口中的任何接口)、包含迷你显示端口(MiniDisplayPort(MDP))的显示端口、高清多媒体接口(HDMI)、火线、或其它类型。
在一个实施例中,系统800包含存储器子系统860中的双数据率命令地址(DDRCA)总线890,其表示其中逻辑电路以较高数据率在窄宽度的命令总线上接收命令和地址信息,并以较低数据率在较宽宽度的命令总线上向一个或多个存储器装置发送命令和地址信息的总线架构。较低数据率能够是用于传统命令信号传送的标准数据率,诸如SDR。较高数据率能够是DDR。较高宽度的命令总线能够是标准宽度的命令总线,称为具有由用于与存储器装置相连的标准设定的信号线数量的总线。较低宽度的命令总线比由存储器装置使用的命令总线宽度窄。将理解的是,该架构将包含以较高速率从主机接收命令信号并以较低速率向存储器发送出命令信号的控制逻辑。接收和发送能够根据于此描述的任何实施例。
在一方面,一种存储器电路,包含:第一组命令信号线,具有以第一数据率操作的第一数量的信号线,以耦合至存储器控制器;第二组命令信号线,具有以第二数据率操作的第二数量的信号线,以耦合至一个或多个储器装置,其中,所述第一数量的信号线少于所述第二数量的信号线,并且所述第一数据率高于所述第二数据率;以及控制逻辑,用于在所述第一组信号线上从所述存储器控制器接收存储器命令,并在所述第二组信号线上将所述命令转发至所述一个或多个存储器装置。
在一个实施例中,所述第二数量的信号线是所述第一数量的信号线的两倍。在一个实施例中,所述第二数据率是所述第一数据率的一半。在一个实施例中,所述第二数据率是数据比特传送是在时钟信号的上升沿或下降沿触发的单数据率,并且其中,所述第一数据率是数据比特传送是在所述时钟信号的所述上升沿和所述下降沿均触发的双数据率。在一个实施例中,还包括:复用器,用于接收所述第一组命令信号线作为输入,并选择性地将来自所述第一组信号线的信号输出至所述第二组命令信号线,其中,所述复用器的选择由时钟信号的极性控制。在一个实施例中,所述控制逻辑用于在所述第一组命令信号线中的单个命令信号线上接收两个交错的命令信号,并用于在所述第二组命令信号线中的分开的命令信号线上输出所述两个命令信号。在一个实施例中,所述控制逻辑用于在所述第一组命令信号线中的单个命令信号线上接收命令信号的两个突发,并用于在所述第二组命令信号线中的分开的命令信号线上输出所述两个命令信号。在一个实施例中,所述一个或多个存储器装置包括与基于双数据率(DDR)的标准兼容的同步动态随机存取存储器(SDRAM)装置。在一个实施例中,所述存储器电路包括双列直插式存储器模块(DIMM)。在一个实施例中,所述存储器电路包括寄存器。在一个实施例中,所述存储器电路包括缓冲器。在一个实施例中,所述第一组信号线能够以所述第一数据率或所述第二数据率操作。在一个实施例中,还包括:第三组数据信号线,用于在所述存储器控制器与所述一个或多个存储器装置之间交换数据,其中,所述数据信号线用于以所述第一数据率操作。
在一个方面,一种计算装置,包含:包含多个存储器装置的双列直插式存储器模块(DIMM);以及逻辑电路,包含第一硬件接口,用于通过第一组命令信号线耦合至存储器控制器,所述第一组命令信号线具有以第一数据率操作的第一数量的信号线用于耦合;以及第二硬件接口,用于通过第二组命令信号线耦合至所述存储器装置,所述第二组命令信号线具有以第二数据率操作的第二数量的信号线,其中,所述第一数量的信号线少于所述第二数量的信号线,并且所述第一数据率高于所述第二数据率;其中,所述逻辑电路用于将通过所述第一组命令信号线接收的命令信号通过所述第二组命令信号线发送至所述存储器装置。
在一个实施例中,所述第二数量的信号线是所述第一数量的信号线的两倍,并且所述第二数据率是所述第一数据率的一半。在一个实施例中,所述逻辑电路还包括:复用器,用于接收所述第一组命令信号线作为输入,并选择性地将来自所述第一组信号线的信号输出至所述第二组命令信号线,其中,所述复用器的选择由时钟信号的极性控制。在一个实施例中,所述第二数据率是数据比特传送是在时钟信号的上升沿或下降沿触发的单数据率,并且其中,所述第一数据率是数据比特传送是在所述时钟信号的所述上升沿和所述下降沿均触发的双数据率。在一个实施例中,所述逻辑电路用于在所述第一组命令信号线中的单个命令信号线上接收两个交错的命令信号,并用于在所述第二组命令信号线中的分开的命令信号线上输出所述两个命令信号。在一个实施例中,所述存储器装置包括与基于双数据率(DDR)的标准兼容的同步动态随机存取存储器(SDRAM)装置。在一个实施例中,所述存储器装置包括与基于低功率双数据率(LPDDR)的标准兼容的同步动态随机存取存储器(SDRAM)装置。在一个实施例中,所述逻辑电路包括寄存器。在一个实施例中,所述逻辑电路包括缓冲器。在一个实施例中,所述DIMM还包括:第三组数据信号线,用于在所述存储器控制器与所述一个或多个存储器装置之间交换数据,其中,所述数据信号线用于以所述第一数据率操作。在一个实施例中,还包括以下中的一个或多个:所述存储器控制器,用于管理对所述DIMM的所述存储器装置的存储器存取;至少一个处理器,通信上耦合至所述存储器控制器和所述DIMM;显示器,通信上耦合至至少一个处理器;电池,用于给所述系统供电;或网络接口,通信上耦合至至少一个处理器。
在一方面,一种用于操作存储器接口的方法,包含:通过第一组命令信号线从存储器控制器接收命令信号,所述第一组命令信号线具有以第一数据率操作的第一数量的信号线;以及通过第二组命令信号线将所述命令信号发送至存储器装置,所述第二组命令信号线具有以第二数据率操作的第二数量的信号线;其中,所述第一数量的信号线少于所述第二数量的信号线,并且所述第一数据率高于所述第二数据率。
在一个实施例中,所述第二数量的信号线是所述第一数量的信号线的两倍,并且所述第二数据率是所述第一数据率的一半。在一个实施例中,发送所述命令信号至所述存储器装置包括:接收所述第一组的命令信号线作为至复用器的输入;以及将所述第一组的所述命令信号线复用至所述第二组的两个命令信号线。在一个实施例中,将所述第一组的所述命令信号线复用至所述第二组的两个命令信号线包括:基于时钟信号的极性,选择性地输出至所述第二组的所述两个命令信号线。在一个实施例中,所述第二数据率是数据比特传送是在时钟信号的上升沿或下降沿触发的单数据率,并且其中,所述第一数据率是数据比特传送是在所述时钟信号的所述上升沿和所述下降沿均触发的双数据率。在一个实施例中,从所述存储器控制器接收所述命令信号包括:在所述第一组命令信号线中的单个命令信号线上接收两个交错的命令信号,并且其中,向所述存储器装置发送所述命令信号包括:在所述第二组命令信号线中的分开的信号线上输出所述两个命令信号。在一个实施例中,所述存储器装置包括与基于双数据率(DDR)的标准兼容的同步动态随机存取存储器(SDRAM)装置。在一个实施例中,所述存储器装置包含与基于低功率双数据率(LPDDR)的标准兼容的同步动态随机存取存储器(SDRAM)装置。在一个实施例中,所述接收和所述发送包括在双列直插式存储器模块(DIMM)的寄存器处接收或从所述双列直插式存储器模块(DIMM)的所述寄存器发送。在一个实施例中,所述接收和所述发送包括在双列直插式存储器模块(DIMM)的缓冲器处接收或从所述双列直插式存储器模块(DIMM)的所述缓冲器发送。
在一个方面,一种设备,包括用于实施操作以执行根据方法的以上方面的任何实施例的用于操作存储器接口的方法的构件。在一方面,一种制造物品,包括计算机可读储存介质,所述计算机可读储存介质上储存有内容,以提供指令来使得机器实施操作以执行根据方法的以上方面的任何实施例的用于操作存储器接口的方法。
于此示例的流程图提供了各种工艺动作的序列的范例。流程图能够指示由软件或固件例程执行的操作,以及物理操作。在一个实施例中,流程图能够示例有限状态机(FSM)的状态,其能够在硬件、软件、或组合中实现。虽然以特定序列或顺序示出了,但是除非另外规定,能够修改动作的顺序。从而,示例的实施例仅应当被理解为范例,并且能够以不同顺序实施工艺,并且能够并行地实施一些动作。另外,在各个实施例中,能够省略一个或多个动作;从而,在每一个实施例中,不是所有的动作都是必须的。其它工艺流程是可能的。
就于此描述的各种操作或功能的程度上来说,能够将它们描述或定义为软件代码、指令、配置、数据、或组合。内容能够是直接可执行的(“目标”或“可执行的”形式),源代码,或差代码(“德尔塔(delta)”或“补丁(patch)”代码)。能够经由其上储存有内容的制造物品,或经由操作通信接口以经由通信接口发送数据的方法,来提供于此描述的实施例的软件内容。机器可读储存介质能够使得机器实施描述的功能或操作,并且包含以机器(例如,计算装置、电子系统等)可存取的形式储存信息的任何机构,诸如是可录/不可录介质(例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘储存介质、光学储存介质、闪存装置等)。通信接口包含相连至任何硬连线、无线、光学等介质以与诸如存储器总线接口、处理器总线接口、因特网连接、盘控制器等的另一装置通信的任何机构。能够通过提供配置参数或发送信号或二者来配置通信接口,以准备该通信接口用于提供描述软件内容的数据信号。能够经由发送至通信接口的一个或多个命令或信号来访问通信接口。
于此描述的各种部件能够是用于执行描述的操作或功能的构件。于此描述的每一个部件包含软件、硬件、或这些的组合。能够将部件实现为软件模块、硬件模块、专门目的的硬件(例如,专用硬件、专用集成电路(ASIC)、数字信号处理器(DSP)等)、嵌入式控制器、硬连线电路系统等。
除于此描述的以外,能够对本发明的公开的实施例和实现进行各种修改,而不脱离它们的范围。因此,于此的示例和范例应当被视为是示例性的,而不是限制的意义。本发明的范围应当仅由以下权利要求的范围限定。
Claims (21)
1.一种存储器装置电路,包括:
输入命令总线,用于以输入速率接收命令/地址(CA)比特;
输出命令总线,用于耦合至一组存储器装置,所述输出命令总线比所述输入命令总线宽;
控制逻辑,用于基于输入时钟信号的极性而将来自所述输入命令总线的所述命令/地址(CA)比特映射到所述输出命令总线,所述输入时钟信号用于控制所述输入命令总线上接收的所述命令/地址比特的输入速率;并且
所述控制逻辑基于输出时钟信号而将来自所述输出命令总线的所映射的命令/地址比特转发至所述一组存储器装置中的存储器装置,所述输出时钟信号用于控制所述输出命令总线上传输的命令/地址比特的输出速率,所述输出速率低于所述输入速率。
2.如权利要求1所述的存储器装置电路,其中:
所述输入命令总线用于在所述输入时钟信号的上升沿和下降沿上接收所述命令/地址比特;并且
为了转发所映射的命令/地址比特,所述控制逻辑用于在所述输出时钟信号的上升沿和下降沿中的任一个上发送所映射的命令/地址比特。
3.如权利要求1所述的存储器装置电路,还包括:
多路复用器,用于根据所述输入时钟信号的极性来选择在所述输入命令总线上接收的所述命令/地址比特;并且
其中,为了映射所述命令/地址比特,所述控制逻辑用于将所选择的命令/地址比特缓冲至所述输出命令总线。
4.如权利要求3所述的存储器装置电路,其中,为了将所选择的命令/地址比特缓冲至所述输出命令总线,所述控制逻辑还用于:
将以第一极性接收的所选择的命令/地址比特缓冲至所述输出命令总线,以发送至所述一组存储器装置中的存储器装置中的第一存储器地址线;以及
将以第二极性接收的所选择的命令/地址比特缓冲至所述输出命令总线,以发送至所述一组存储器装置中的存储器装置中的第二存储器地址线,所述第二存储器地址线不同于所述第一存储器地址线,所述第二极性与所述第一极性相反。
5.如权利要求3所述的存储器装置电路,其中,为了将所选择的命令/地址比特缓冲至所述输出命令总线,所述控制逻辑用于缓冲在所述输入时钟信号的多个单位间隔上接收的命令/地址比特的两个突发。
6.如权利要求5所述的存储器装置电路,其中,所述命令/地址比特的两个突发表示以下项中的任何项:
交错的命令/地址命令;以及
跨所述输入时钟信号的所述多个单位间隔中的至少两个的单个命令/地址命令。
7.如权利要求1所述的存储器装置电路,还包括:
第二输入命令总线,用于以所述输入速率接收所述命令/地址比特;
第二输出命令总线,用于耦合至第二组存储器装置,所述第二输入命令总线和所述第二输出命令总线独立于相应的所述输入命令总线和所述输出命令总线而进行操作;
所述控制逻辑用于将在所述第二输入命令总线上以所述输入速率接收的所述命令/地址比特映射到所述第二输出命令总线;并且
所述控制逻辑将来自所述第二输出命令总线的所映射的命令/地址比特以低于所述输入速率的所述输出速率转发至所述第二组存储器装置中的存储器装置。
8.如权利要求1至7中任一项所述的存储器装置电路,其中,所述存储器装置电路包括双列直插式存储器模块(DIMM)的寄存器时钟驱动器。
9.如权利要求1至7中任一项所述的存储器装置电路,还包括:
模式指示器,耦合到所述控制逻辑,以指示所述输入时钟信号是以下项中的任何项:双数据率(DDR)和单数据率(SDR);
所述输出速率是单数据率(SDR);并且
所述控制逻辑用于根据所述模式指示器来操作所述存储器装置电路。
10.如权利要求1所述的存储器装置电路,其中,所述输入速率是双数据率(DDR),且所述输出速率是单数据率(SDR)。
11.如权利要求1至7中任一项所述的存储器装置电路,其中,所述一组存储器装置中的任何一个或多个包括与基于双数据率(DDR)的标准兼容的同步动态随机存取存储器(SDRAM)装置。
12.一种计算机实现的方法,包括:
通过耦合至存储器控制器的输入总线以输入速率从所述存储器控制器接收命令/地址(CA)比特,其中,根据控制所述输入总线的所述输入速率的输入时钟信号的极性来选择在所述输入总线上接收的所述命令/地址比特;
将所述命令/地址比特映射到耦合至一组存储器装置的存储器总线,其中,映射所述命令/地址比特包括将所选择的命令/地址比特缓冲至所述存储器总线,所述存储器总线比所述输入总线宽;
将所述存储器总线中的所映射的命令/地址比特以不同于所述输入速率的输出速率转发至所述一组存储器装置中的存储器装置,
其中,将所选择的命令/地址比特缓冲至所述存储器总线包括缓冲在控制所述输入速率的所述输入时钟信号的多个单位间隔上发送的命令/地址比特的两个突发。
13.如权利要求12所述的计算机实现的方法,其中:
通过所述输入总线以所述输入速率接收所述命令/地址比特包括在控制所述输入总线的所述输入速率的输入时钟信号的上升沿和下降沿上接收所述命令/地址比特;并且
将所述存储器总线中的所映射的命令/地址比特转发至所述存储器装置包括在控制所述存储器总线的所述输出速率的输出时钟信号的上升沿和下降沿中的任一个上发送所映射的命令/地址比特。
14.如权利要求12所述的计算机实现的方法,其中,将所选择的命令/地址比特缓冲至所述存储器总线包括:
将以第一极性接收的所选择的命令/地址比特缓冲至所述存储器总线;
将所缓冲的命令/地址比特发送至所述一组存储器装置中的存储器装置中的第一存储器地址线;以及
将以第二极性接收的所选择的命令/地址比特缓冲至所述存储器总线;以及
将所选择的命令/地址比特发送至所述一组存储器装置中的存储器装置中的第二存储器地址线,所述第二存储器地址线不同于所述第一存储器地址线,所述第二极性与所述第一极性相反。
15.如权利要求12所述的计算机实现的方法,其中,所述命令/地址比特的两个突发表示以下项中的任何项:
交错的命令/地址命令;以及
跨控制所述输入速率的所述输入时钟信号的所述多个单位间隔中的至少两个的单个命令/地址命令。
16.如权利要求12所述的计算机实现的方法,还包括:
第二输入总线,用于耦合至所述存储器控制器;
第二存储器总线,用于耦合至第二组存储器装置;
将在所述第二输入总线上以所述输入速率接收的所述命令/地址比特映射到所述第二存储器总线;并且
将所述第二存储器总线中的所映射的命令/地址比特以不同于所述输入速率的所述输出速率转发至所述第二组存储器装置中的存储器装置,所述第二存储器总线独立于所述存储器总线。
17.如权利要求12至16中任一项所述的计算机实现的方法,在双列直插式存储器模块(DIMM)的寄存器时钟驱动器中执行。
18.如权利要求12至16中任一项所述的计算机实现的方法,其中:
所述输入速率是以下项中的任何项:双数据率(DDR)和单数据率(SDR);并且
所述输出速率是单数据率(SDR)。
19.如权利要求12至16中任一项所述的计算机实现的方法,其中,所述存储器装置中的任何一个或多个包括与基于双数据率(DDR)的标准兼容的同步动态随机存取存储器(SDRAM)装置。
20.一种计算机实现的方法,包括:
通过耦合至存储器控制器的输入总线以输入速率从所述存储器控制器接收命令/地址(CA)比特,其中,根据控制所述输入总线的所述输入速率的输入时钟信号的极性来选择在所述输入总线上接收的所述命令/地址比特;
将所述命令/地址比特映射到耦合至一组存储器装置的存储器总线,其中,映射所述命令/地址比特包括将所选择的命令/地址比特缓冲至所述存储器总线,所述存储器总线比所述输入总线宽;
将所述存储器总线中的所映射的命令/地址比特以不同于所述输入速率的输出速率转发至所述一组存储器装置中的存储器装置,
其中,将所选择的命令/地址比特缓冲至所述存储器总线包括:
将以第一极性接收的所选择的命令/地址比特缓冲至所述存储器总线;
将所缓冲的命令/地址比特发送至所述一组存储器装置中的存储器装置中的第一存储器地址线;以及
将以第二极性接收的所选择的命令/地址比特缓冲至所述存储器总线;以及
将所选择的命令/地址比特发送至所述一组存储器装置中的存储器装置中的第二存储器地址线,所述第二存储器地址线不同于所述第一存储器地址线,所述第二极性与所述第一极性相反。
21.一种计算装置,包括:
由逻辑电路和多组存储器装置构成的双列直插式存储器模块(DIMM),包括:
输入硬件接口,用于耦合至存储器控制器,所述输入硬件接口包括第一输入总线和第二输入总线;以及
输出硬件接口,用于耦合至所述多组存储器装置,所述输出硬件接口包括第一存储器总线和第二存储器总线;
所述逻辑电路被配置为:
将在所述输入硬件接口上以输入速率接收的命令/地址(CA)比特映射到所述输出硬件接口,其中,根据控制所述输入硬件接口的所述输入速率的输入时钟信号的极性来选择在所述输入硬件接口上接收的所述命令/地址比特,其中,在所述第一输入总线中接收的所述命令/地址比特被映射到所述第一存储器总线,映射所述命令/地址比特包括将所选择的命令/地址比特缓冲至所述第一存储器总线,所述第一存储器总线比所述第一输入总线宽,并且其中,在所述第二输入总线中接收的所述命令/地址比特被映射到所述第二存储器总线,映射所述命令/地址比特包括将所选择的命令/地址比特缓冲至所述第二存储器总线,所述第二存储器总线比所述第二输入总线宽;以及
将所述输出硬件接口中的所映射的命令/地址比特以不同于所述输入速率的输出速率转发至所述多组存储器装置中的存储器装置,其中,所述第一存储器总线中的所映射的命令/地址比特被转发至所述多组存储器装置中的第一组中的存储器装置,并且所述第二存储器总线中的所映射的命令/地址比特被转发至所述多组存储器装置中的第二组中的存储器装置,
其中,将所选择的命令/地址比特缓冲至相应的存储器总线包括缓冲在控制所述输入速率的所述输入时钟信号的多个单位间隔上发送的命令/地址比特的两个突发。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662380360P | 2016-08-26 | 2016-08-26 | |
US62/380,360 | 2016-08-26 | ||
US15/282,757 US10789010B2 (en) | 2016-08-26 | 2016-09-30 | Double data rate command bus |
US15/282,757 | 2016-09-30 | ||
PCT/US2017/045046 WO2018038883A1 (en) | 2016-08-26 | 2017-08-02 | Double data rate command bus |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109478177A CN109478177A (zh) | 2019-03-15 |
CN109478177B true CN109478177B (zh) | 2024-02-02 |
Family
ID=61243326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780045943.8A Active CN109478177B (zh) | 2016-08-26 | 2017-08-02 | 双数据率命令总线 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10789010B2 (zh) |
CN (1) | CN109478177B (zh) |
DE (1) | DE112017004268T5 (zh) |
WO (1) | WO2018038883A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102450296B1 (ko) | 2017-12-26 | 2022-10-04 | 삼성전자주식회사 | 동기식 및 비동기식 혼합 방식의 디지털 인터페이스를 포함하는 장치, 이를 포함하는 디지털 처리 시스템, 및 이들에 의해 수행되는 디지털 처리 방법 |
US10642535B2 (en) * | 2018-01-23 | 2020-05-05 | International Business Machines Corporation | Register access in a distributed memory buffer system |
US11080210B2 (en) * | 2018-09-06 | 2021-08-03 | Micron Technology, Inc. | Memory sub-system including an in package sequencer separate from a controller |
US11061751B2 (en) | 2018-09-06 | 2021-07-13 | Micron Technology, Inc. | Providing bandwidth expansion for a memory sub-system including a sequencer separate from a controller |
US11250902B2 (en) | 2019-09-26 | 2022-02-15 | Intel Corporation | Method and apparatus to reduce power consumption for refresh of memory devices on a memory module |
CN111459864B (zh) | 2020-04-02 | 2021-11-30 | 深圳朗田亩半导体科技有限公司 | 一种存储器件及其制造方法 |
US11468931B2 (en) * | 2020-07-02 | 2022-10-11 | Micron Technology, Inc. | Memory subsystem register clock driver clock teeing |
CN112052483B (zh) * | 2020-08-21 | 2022-03-25 | 郑州信大捷安信息技术股份有限公司 | 一种密码卡的数据通信系统及方法 |
US11626149B2 (en) * | 2020-09-15 | 2023-04-11 | Integrated Silicon Solution, (Cayman) Inc. | SPI NOR memory with optimized read and program operation |
CN112328523B (zh) * | 2020-10-28 | 2023-09-08 | 深圳市宏旺微电子有限公司 | 传输双倍速率信号的方法、装置及系统 |
CN114661641A (zh) * | 2020-12-24 | 2022-06-24 | 华为技术有限公司 | 一种内存模组和内存总线信号处理方法 |
KR20220128789A (ko) * | 2021-03-15 | 2022-09-22 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이를 포함하는 저장 장치 |
TWI769080B (zh) * | 2021-09-17 | 2022-06-21 | 瑞昱半導體股份有限公司 | 用於同步動態隨機存取記憶體之控制模組及其控制方法 |
US20230178121A1 (en) * | 2021-12-06 | 2023-06-08 | Advanced Micro Devices, Inc. | High-bandwidth memory module architecture |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101133403A (zh) * | 2005-03-30 | 2008-02-27 | 英特尔公司 | 使用系统存储器总线的存储设备通信 |
CN101180617A (zh) * | 2005-04-12 | 2008-05-14 | 诺基亚公司 | 用于易失性和非易失性存储器设备的存储器接口 |
CN102750988A (zh) * | 2011-03-28 | 2012-10-24 | 三星电子株式会社 | 使用命令/地址校准的存储器装置、系统和方法 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6950350B1 (en) * | 2002-01-08 | 2005-09-27 | #Dlabs, Inc., Ltd. | Configurable pipe delay with window overlap for DDR receive data |
US6996749B1 (en) * | 2003-11-13 | 2006-02-07 | Intel Coporation | Method and apparatus for providing debug functionality in a buffered memory channel |
US7512762B2 (en) | 2004-10-29 | 2009-03-31 | International Business Machines Corporation | System, method and storage medium for a memory subsystem with positional read data latency |
US7620763B2 (en) * | 2006-07-26 | 2009-11-17 | International Business Machines Corporation | Memory chip having an apportionable data bus |
US20080155187A1 (en) | 2006-12-20 | 2008-06-26 | Maurizio Skerlj | System including memory buffer configured to decouple data rates |
US7921243B1 (en) | 2007-01-05 | 2011-04-05 | Marvell International Ltd. | System and method for a DDR SDRAM controller |
CN101617371B (zh) | 2007-02-16 | 2014-03-26 | 莫塞德技术公司 | 具有多个外部电源的非易失性半导体存储器 |
US8793525B2 (en) | 2007-10-22 | 2014-07-29 | Rambus Inc. | Low-power source-synchronous signaling |
KR101529291B1 (ko) | 2008-02-27 | 2015-06-17 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것을 포함한 플래시 메모리시스템 |
US20090323879A1 (en) * | 2008-04-18 | 2009-12-31 | Honeywell International Inc. | Data alignment and de-skew system and method for double data rate input data stream |
US20100005206A1 (en) | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Automatic read data flow control in a cascade interconnect memory system |
US20100005214A1 (en) | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Enhancing bus efficiency in a memory system |
US8098539B2 (en) * | 2009-08-26 | 2012-01-17 | Qualcomm Incorporated | Hybrid single and dual channel DDR interface scheme by interleaving address/control signals during dual channel operation |
US9026714B2 (en) * | 2010-06-04 | 2015-05-05 | Cisco Technology, Inc. | Memory expansion using rank aggregation |
US8649210B2 (en) * | 2011-09-06 | 2014-02-11 | Mediatek Inc. | DDR PSRAM and data writing and reading methods thereof |
US20130111122A1 (en) * | 2011-10-31 | 2013-05-02 | Futurewei Technologies, Inc. | Method and apparatus for network table lookups |
US9158726B2 (en) * | 2011-12-16 | 2015-10-13 | Inphi Corporation | Self terminated dynamic random access memory |
US9009540B2 (en) * | 2012-12-05 | 2015-04-14 | Intel Corporation | Memory subsystem command bus stress testing |
US9385724B1 (en) | 2013-10-03 | 2016-07-05 | Altera Corporation | Methods for operating configurable storage and processing blocks at double and single data rates |
US10241727B1 (en) * | 2015-10-15 | 2019-03-26 | Rambus Inc. | Hybrid memory module with improved inter-memory data transmission path |
US10032497B2 (en) | 2016-04-05 | 2018-07-24 | Integrated Device Technology, Inc. | Flexible point-to-point memory topology |
-
2016
- 2016-09-30 US US15/282,757 patent/US10789010B2/en active Active
-
2017
- 2017-08-02 CN CN201780045943.8A patent/CN109478177B/zh active Active
- 2017-08-02 WO PCT/US2017/045046 patent/WO2018038883A1/en active Application Filing
- 2017-08-02 DE DE112017004268.2T patent/DE112017004268T5/de active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101133403A (zh) * | 2005-03-30 | 2008-02-27 | 英特尔公司 | 使用系统存储器总线的存储设备通信 |
CN101180617A (zh) * | 2005-04-12 | 2008-05-14 | 诺基亚公司 | 用于易失性和非易失性存储器设备的存储器接口 |
CN102750988A (zh) * | 2011-03-28 | 2012-10-24 | 三星电子株式会社 | 使用命令/地址校准的存储器装置、系统和方法 |
Non-Patent Citations (1)
Title |
---|
SDRAM控制器的设计与实现;于明等;《电子测试》;20140115(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
US10789010B2 (en) | 2020-09-29 |
WO2018038883A1 (en) | 2018-03-01 |
US20180061478A1 (en) | 2018-03-01 |
CN109478177A (zh) | 2019-03-15 |
DE112017004268T5 (de) | 2019-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109478177B (zh) | 双数据率命令总线 | |
US10636476B2 (en) | Row hammer mitigation with randomization of target row selection | |
US10482947B2 (en) | Integrated error checking and correction (ECC) in byte mode memory devices | |
CN109074851B (zh) | 利用额外系统位的内部错误校验和校正(ecc) | |
TWI721003B (zh) | 記憶體裝置及用於記憶體管理的系統 | |
TWI740897B (zh) | 具有窄帶寬中繼器通道的記憶體子系統 | |
CN109582596B (zh) | 从具有不同读取和写入定时的模式寄存器进行读取 | |
CN109661654B (zh) | 存储器中的差错校验和纠正码的扩展应用 | |
US10339072B2 (en) | Read delivery for memory subsystem with narrow bandwidth repeater channel | |
US11210167B2 (en) | Memory wordline isolation for improvement in reliability, availability, and scalability (RAS) | |
US11750190B2 (en) | Encoded on-die termination for efficient multipackage termination | |
US20200233821A1 (en) | Unidirectional information channel to monitor bidirectional information channel drift | |
US11200113B2 (en) | Auto-increment write count for nonvolatile memory | |
US20170289850A1 (en) | Write delivery for memory subsystem with narrow bandwidth repeater channel | |
CN117099075A (zh) | 针对长突发长度的存储器数据传送的双倍取得 | |
CN115858438A (zh) | 用于存储器模块数据宽度的灵活配置的使能逻辑 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TG01 | Patent term adjustment |