CN110633229A - 用于高带宽存储器通道的dimm - Google Patents
用于高带宽存储器通道的dimm Download PDFInfo
- Publication number
- CN110633229A CN110633229A CN201910438515.2A CN201910438515A CN110633229A CN 110633229 A CN110633229 A CN 110633229A CN 201910438515 A CN201910438515 A CN 201910438515A CN 110633229 A CN110633229 A CN 110633229A
- Authority
- CN
- China
- Prior art keywords
- memory
- dimm
- data
- write
- memory chips
- 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.)
- Pending
Links
Images
Classifications
-
- 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
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
Abstract
描述了一种DIMM。DIMM包括在相同的突发写入序列期间将写入数据多路复用到DIMM上的不同组的存储器芯片的电路。
Description
技术领域
本发明的领域总体上涉及用于高带宽存储器通道的DIMM。
背景技术
计算***的性能高度依赖于***存储器的性能。然而,通常,增加存储器通道容量和存储器速度可能导致关于存储器通道实现的功耗的挑战。因此,***设计人员正在寻求增加存储器通道容量和带宽同时保持功耗得到控制的方法。
附图说明
通过以下结合附图的详细描述,可以更好地理解本发明,其中:
图1示出了第一现有技术DIMM;
图2示出了第二现有技术DIMM;
图3a示出了第三现有技术DIMM;
图3b示出了与图3a的DIMM接口连接的存储器通道的第一布局;
图4a示出了存储器通道的新兴布局;
图4b示出了存储器通道的改进布局;
图4c示出了与图4b的改进布局接口连接的改进DIMM;
图4d比较了根据图3b的第一布局和图4c的改进DIMM实现的各个存储器通道的时序;
图4e示出了与图4b的改进布局接口连接的另一种改进的DIMM;
图4f比较了根据图3b的第一布局和图4e的改进DIMM实现的各个存储器通道的时序;
图4g示出了图4f的时序的附加信息;
图5a示出了与图4c的改进DIMM接口连接的存储器控制器;
图5b示出了与图4e的改进DIMM接口连接的存储器控制器;
图6示出了计算***。
具体实施方式
如本领域所公知的,高性能计算***(例如高性能服务器)中的主存储器(也称为“***存储器”)通常利用***存储器通道的双列直插式存储器模块(DIMM)来实现。此处,多个存储器通道从主存储器控制器发出,并且一个或多个DIMM***每个存储器通道。每个DIMM都包括定义DIMM的存储器储存容量的多个存储器芯片。***存储器控制器的存储器通道的DIMM的组合存储器容量对应于***的***存储器容量。
随着时间的推移,DIMM的设计和结构已发生变化,以满足不断增长的存储器容量和存储器通道带宽的需求。图1显示了传统的DIMM方案。如图1所示,单个“无缓冲”DIMM(UDIMM)100的存储器芯片直接耦合到存储器通道总线101、102的导线。UDIMM 100包括足以形成至少一个区块(rank)103的数据宽度的多个存储器芯片。区块对应于数据总线的宽度,其通常对应于存储器通道上的数据信号的数量和ECC信号的数量。
这样,DIMM上使用的存储器芯片的总数是存储器芯片的区块大小和位宽的函数。例如,对于具有64位数据和8位ECC的区块,DIMM可以包括十八个“X4”(四位宽)存储器芯片(例如,16个芯片×4位/芯片=64位数据加2个芯片×4位/芯片以实现8位ECC),或九个“X8”(八位宽)存储器芯片(例如,8个芯片×8位/芯片=64位数据加1个芯片×8位/芯片以实现8位ECC)。
为简单起见,当参考图1和随后的图时,可以忽略ECC位,并且观察到的区块宽度M简单地对应于存储器总线上的数据位的数量。即,例如,对于具有64个数据位的数据总线,区块=M=64。
传统上,UDIMM仅具有用于存储器芯片的两个单独区块的储存容量,其中,DIMM的一侧具有用于第一区块的存储器芯片,而DIMM的另一侧具有用于第二区块的存储器芯片。此处,存储器芯片具有一定量的储存空间,其与可以提供给存储器芯片的不同地址的总数相关联。由与数据总线宽度接口连接的适当数量的存储器芯片(在前述示例中为十八个X4存储器芯片或九个X8存储器芯片)组成的存储器结构对应于存储器芯片的区块。因此,存储器芯片的区块可以分别存储来自与其地址空间一致的数据总线的多个传输。例如,如果用支持256M不同地址的存储器芯片实现存储器芯片的区块,则存储器芯片的区块可以存储256M不同总线传输的信息。
值得注意的是,用于实现存储器芯片的两个区块的存储器芯片以多分支方式耦合到存储器通道101、102。这样,UDIMM 100可以向存储器通道数据总线101的每条线提供多达两个存储器芯片负载(对于存储器芯片的每个区块采用一个存储器芯片负载)。
类似地,用于存储器芯片的两个区块的命令和地址信号以多分支形式耦合到存储器通道的命令地址(CA)总线102。在CA总线102上承载的控制信号包括行地址选通信号(RAS)、列地址选通信号(CAS)、写入使能(WE)信号和多个地址(ADDR)信号,仅举几例。CA总线102上的一些信号通常具有严格的定时余量。这样,如果将多于一个DIMM***存储器通道,则CA总线102上呈现的负载可以足以干扰CA信号的质量并限制存储器通道的性能。
图2示出了称为寄存器DIMM 200(RDIMM)的后一代DIMM,其包括寄存器和重新驱动电路205,以解决由加载CA总线202所呈现的存储器通道性能的上述限制。此处,寄存器和重新驱动电路205用作每个CA总线202线上的每个DIMM的单个负载,而不是存储器芯片的每个区块一个负载(与UDIMM一样)。因此,标称双区块UDIMM将在UDIMM上的存储器芯片的存储器通道的CA总线202的每条线上呈现一个负载(因为UDIMM上的每个存储器芯片导线连线到CA总线202),相比之下,具有相同存储器芯片集合等的双区块RDIMM将在每个存储器通道的CA总线202线上仅呈现一个芯片负载。
在操作中,寄存器和重新驱动电路205将来自存储器通道的CA总线202的CA信号锁存和/或重新驱动到将CA信号特别地发送到的DIMM上的存储器芯片的特定区块的存储器芯片。此处,对于在存储器通道上发出的每个存储器访问(具有相对应地址的读取或写入访问),相对应的CA信号集包括芯片选择信号(CS)和/或其他信号,其不仅特定地标识通道上的特定DIMM,还特定地标识访问所针对的已标识DIMM上的特定区块。因此,寄存器和重新驱动电路205包括监视这些信号并识别何时访问其相对应DIMM的逻辑电路。当逻辑电路识别出其DIMM是所针对的目标时,逻辑进一步解析CA信号以识别访问所针对的DIMM上的存储器芯片的特定区块。然后,寄存器和重新驱动电路有效地将存储器通道上的CA信号路由到DIMM 200上的存储器芯片的特定目标区块的存储器芯片。
然而,RDIMM 200的问题在于,存储器通道的数据总线201(DQ)的信号线也以多分支形式耦合到DIMM的存储器芯片区块203_1到203_X。即,对于设置在RDIMM上的存储器芯片的每个区块,RDIMM将在每个DQ信号线上呈现一个存储器芯片负载。因此,类似于UDIMM,可以设置在RDIMM上的存储器芯片的区块的数量传统上受到限制(例如,限于存储器芯片的两个区块),以便保持每个RDIMM的存储器通道数据总线201上的负载得到控制。
图3a示出了更晚一代的DIMM,称为负载减小DIMM(LRDIMM)300,其中CA总线302和DQ总线301仅呈现有LRDIMM 300的单个负载。此处,类似于RDIMM的寄存器和重新驱动电路,LRDIMM包括缓冲器电路306,其存储和转发将在存储器通道数据总线301和访问所针对的存储器芯片的特定区块303之间传递的数据。寄存器和重新驱动电路305启用由特定访问所针对的存储器芯片的任何区块,并且与该访问相关联的数据出现在缓冲器电路306的“后侧”。
借助对于存储器通道上的DQ和CA线301、302仅有单点负载,LRDIMM 300的存储器容量可以无约束地将其存储器储存容量扩展到超过存储器芯片的仅两个区块(例如,单个DDR4DIMM上的四个区块)。借助每个DIMM的存储器芯片的更多区块和/或对每个DIMM的存储器芯片数量的普遍不敏感(至少从信号加载的角度来看),力争将更多的芯片封装到一定空间体积中的新存储器芯片封装技术近年来已受到高度关注。例如,堆叠芯片封装解决方案可以集成在LRDIMM上以形成例如3维堆叠(3DS)LRDIMM。
即使每个DIMM的存储器容量随着LRDIMM的出现而大大扩展,但存储器通道带宽仍然受限于LRDIMM,因为多个LRDIMM可以***到相同的存储器通道。即,存储器通道上仍然存在多分支方案,因为多于一个DIMM可以耦合到同一存储器通道的CA和DQ线。
此处,图3b示出了高性能存储器通道布局310,其中两个DIMM插槽311_1、311_2耦合到同一存储器通道。图3b的特定布局与联合电子设备工程委员会(JEDEC)双倍数据速率4(DDR4)存储器标准一致。从图3b的布局310可以看出,如果相应的LRDIMM***两个插槽311_1、311_2中的每一个中,则每个CA总线和DQ总线将具有两个负载(每个LRDIMM一个)。如果可以进一步减小负载,CA和DQ信号的定时余量同样可以增大,这反过来将提供更高的存储器通道频率和对应的存储器通道带宽(读取/写入操作可以在更短的时间内执行)。
下一代JEDEC存储器接口标准(称为DDR5)采用物理地将CA总线和DQ总线分成两个单独的多分支总线的方法,如图4a所示。此处,比较图3b和图4a,注意到图3b的布局示出了单个N位宽的CA总线,其被多路分支到两个DIMM插槽311_1、311_2;以及单个M位宽的DQ数据总线,其也被多路分支到两个DIMM插槽311_1、311_2;相比之下,图4a的DDR5布局包括两个单独的N/2位宽CA总线,其被多路分支到两个DIMM插槽411_1、411_2;以及两个单独的M/2位宽DQ数据总线,其被多路分支到DIMM插槽411_1、411_2。
再次,为简单起见,在分别用于DDR4和DDR5实施方式的两个图3b和4a中,忽略ECC位,并且M=64。因此,DDR4具有单个64位宽数据总线,相比之下,DDR5具有两个32位宽数据总线(DQ_1和DQ_2)。因此,DDR5***中的“区块”对应于32位而不是64位(DQ_1和DQ_2数据总线的宽度是M/2=64/2=32位)。同样,DDR5***的存储器芯片的区块在单次传输中从子通道接受32位数据,而不像在DDR4中那样接受64位数据。
然而,值得关注的是图4a的JEDEC DDR5布局仍然采用多分支总线方案。即,如图4a所示,这两对CA和DQ总线多路分支到两个DIMM插槽411_1、411_2。由于CA和DQ总线采用多分支方案,与图3b的早期通道相比,通道的工作频率没有基本性的增加,并且DDR5存储器通道的数据速率也没有对应的增加。即,就数据速率而言,图4a的物理布局通常具有与图3b的前一代存储器通道相同的物理限制。
因此,图4b示出了改进的存储器通道方案,其符合DDR5主机侧接口430(至少在CA和DQ总线线数、引出线和/或信令方面)但是其中不同的DIMM不以多分支方式耦合到接口430。相反,比较图4a和图4b,图4b中的存储器通道的数据总线被分成一对点对点(P2P)数据总线DQ_1、DQ_2,该对点对点(P2P)数据总线DQ_1、DQ_2各自将不同的DIMM连接到主机。利用点对点链路而不是多分支总线结合到图4b的改进布局中,图4b的布局应该能够表现出比图4a的标称DDR5方法更快的工作频率和/或数据速率。
图4c示出了改进的DIMM 400,称为增强型LRDIMM(eLRDIMM),其可以***图4b的改进的存储器通道设计的插槽421_1、421_2中的任一个中。此处,图4c的eLRDIMM 400被设计为在相同的突发时间窗口上将32位传输多路复用到存储器芯片的两个不同区块。更具体地,DIMM 400被设计为在来自组409_1的存储器芯片的一个区块(rank_0或rank_1)与来自组的存储器芯片的一个区块409_2(rank_2或rank_3)之间多路复用数据传输。
图4d示出了写入时序的高级视图。插图410示出了由图4c的改进eLRDIMM 400执行的写入传输,而插图420示出了作为比较点的图3a的现有技术DDR4LRDIMM 300的写入传输。如在插图420中所观察到的,现有技术DDR4LRDIMM 300在八个周期0到7上接收八个64位传输,以实现512位的总突发。
相比之下,参考插图410的改进eLRDIMM写入过程,单个数据总线(DQ_1)上的传输过程包括两个多路复用数据流408、412,其目标是耦合到数据总线(eLRDIMM 1)的eLRDIMM的存储器芯片的不同区块。特别地,参考图4c,数据流408以区块0和区块1中的一个为目标,并且数据流412以区块2和区块3中的一个为目标。eLRDIMM上的多路复用器407提供DQ_1总线上的数据传输与存储器芯片的两个目标区块之间的多路复用。
更具体地,在eLRDIMM数据选通(DQS)信号413的第一周期(0)期间,DQ_1总线上的第一个32位传输以基址A处的组409_1内的存储器芯片的第一区块为目标。在紧接着的第二个DQS周期(1)期间,DQ_1总线上的第二个32位传输以基址B处的组409_2内的存储器芯片的第二区块为目标。在紧接着的第三个DQS周期(3)期间,DQ_1总线上的第三个32位传输以递增的地址A+1处的组409_1内的存储器芯片的第一区块为目标。在紧接着的第四个DQS周期期间,DQ_1总线上的第四个32位传输以递增的基址B+1处的组409_2内的存储器芯片的第四区块为目标。
该过程一直持续到为存储器芯片的两个目标区块传输512位,这对应于存储器芯片的每个目标区块的16个周期(每次传输32位×16次传输=512位),由于多路复用活动,这又对应于DQS信号413的总共32个周期。因此,图4d仅示出了存储器芯片的每个目标区块的完整512次传输的一半(每个目标区块仅示出了八个周期)。
注意,eLRDIMM过程420在所示的八个周期上在DQ_1总线上传输的数据总量(每个流408和412的256位=总共512位)与现有技术的DDR4过程410传输的数据总量相同(每次传输64位×8次传输=512位)。但是,因为存在具有eLRDIMM接口430的两个单独的DQ数据总线(DQ_1和DQ_2),所以可以同时访问两个不同的eLRDIMM(DQ_1上的eLRDIMM 1和DQ_2上的eLRDIMM 2),从而从主机的角度来看,与DDR4接口相比,使整个eLRDIMM存储器接口430的带宽加倍。
即,当考虑DQ_1和DQ_2时,eLRDIMM写入过程420传输的数据是现有技术DDR4过程410的两倍。因此,从主机的角度来看,与现有技术DDR4DQS信号相比的eLRDIMM DQS信号413的加倍速度转换为通过接口430的加倍的总数据速率。利用eLRDIMM方法410的DQ_1和DQ_2总线上的较高频率DQS信号413和相关数据信号是可实现的,因为如上面关于图4b所讨论的,在DQ_1和DQ_2总线上都没有采用多分支总线方法,这允许在这些总线上存在更高频率的信号。
重要的是,eLRDIMM上的存储器芯片的速度/频率不需要加倍。此处,eLRDIMM的多路复用活动实现了每个DQS周期一次传输到存储器芯片的每个目标区块。这样,在每个DQS周期仅有一次传输的情况下,目标存储器芯片的两个区块都以与图3a的现有技术LRDIMM300的存储器芯片大致相同的频率/速度操作。
eLRDIMM方法410还根据DQ_1和DQ_2总线上的双倍数据速率技术(DQS信号413的上升沿和下降沿对应于DQS周期)传输针对存储器芯片的两个区块的组合数据。然而,eLRDIMM上的多路复用活动导致根据双倍数据速率技术访问存储器芯片本身,其中时钟的频率是DQS信号413的频率的一半(每个存储器芯片经历类似于较慢时钟414的时钟的上升沿和下降沿上的数据传输)。这些时钟由图4d中的DQS/2_Φ1和DQS/2_Φ2信号表示。
DQS/2_Φ1和DQS/2_Φ2信号指示可以在彼此不同的时间访问在相同突发窗口上多路复用的存储器芯片的不同目标区块。例如,在第一时钟阶段访问来自第一组409_1的存储器芯片的区块,并且在第二(例如,滞后)时钟阶段访问来自第二组409_2的存储器芯片的区块。在这样的实施例中,数据区块从缓冲逻辑电路406以从数据总线接收它们的顺序出现(在写入的情况下)。然后,多路复用器407将数据转向到正确的存储器芯片中的目标。此处,寄存器和重新驱动电路405可以制作到多路复用器407的正确通道选择输入以及到存储器芯片的正确区块的存储器芯片访问信号,以实现正确的多路复用活动。
其他方法可以选择访问在相同的突发窗口上彼此同相地(同时)多路复用的存储器芯片的不同目标区块。例如,根据方法,缓冲逻辑电路406可以例如对目标区块数据流之一施加存储转发方法,以消除数据总线上该对目标区块的各个数据流之间存在的相位差。例如,参考图4d,针对第一组409_1中的存储器芯片的区块的数据(由流408表示)可以由缓冲器电路406延迟DQS信号413的一个周期,这又暂时将数据与针对第二组409_2中的存储器芯片的区块的数据(由流412表示)对齐。然后可以将来自两个流的数据同时写入存储器芯片的两个目标区块中。
注意,该方法可以消除任何实际多路复用电路406的存在。即,eLRDIMM的多路复用活动在逻辑上(而不是实际上)以由缓冲电路执行的存储和转发实现。这样,多路复用电路应该被理解为不仅包括实际的多路复用电路(例如多路复用器407),还包括用于通过存储和转发消除数据中的相位差的电路(可以由缓冲电路406执行)。其他实施例可以包括实际多路复用电路与存储和转发电路。在确实使用实际多路复用电路的实施例中,这种实际多路复用电路可以物理地集成到用于实现缓冲电路406的缓冲器半导体芯片中。
重申一下,在实际的DDR5实施方式中,区块大小是32位,其对应于每DQS周期在数据总线上传输的数据量。然而,数据总线的大小大于容纳ECC位的大小(例如,32位数据加8位ECC=40总数据总线位)。存储器芯片的区块同样设计有数据宽度以容纳数据和ECC(例如,40位宽)。
尽管以上说明针对写入过程,但是可以通过从与上述技术一致的两个DIMM上的所选区块读取数据,来发生读取过程。与写入一样,存储器芯片的一对目标区块可以彼此异相地访问(例如,利用实际的多路复用电路并且在缓冲器电路中的读取方向上没有存储和转发)或者彼此同时访问(例如,在缓冲电路中的读取方向上具有存储和转发)。
图4e示出了另一个eLRDIMM实施例,其中数据总线同时传输存储器芯片的两个目标区块的两个“半个区块(half rank)”。例如,再次使用DDR5示例,数据总线在物理上包括用于32个数据传输位的布线。然而,在总线上的任何单次传输期间,第一组16位用于存储器芯片的第一目标区块,并且第二组16位用于存储器芯片的第二目标区块。因此,在eLRDIMM上执行的多路复用是“在区块内”,因为数据总线上的两个连续16位传输在数据总线和存储器芯片的32位宽的目标区块之间被向上多路复用(在写入的情况下)或向下多路复用(在读取的情况下)。
因此,eLRDIMM由两个单独的16位宽数据接口421、422组成,这两个单独的16位宽数据接口421、422各自具有专用逻辑,该专用逻辑在存储器芯片的目标区块的两个不同的16位半部分之间进行多路复用。在图4e的特定eLRDIMM实施例中,对于任何特定突发写入序列,第一16位宽接口421在存储器芯片的rank_0区块或存储器芯片的rank_1区块的区块半部分之间进行多路复用,并且第二16位宽接口422在存储器芯片的rank_2区块或存储器芯片的rank_3区块的区块半部分之间进行多路复用。
图4f示出了相对应的时序图。此处,观察到DQ_1和DQ_2数据总线两者在以下之间多路复用:1)第一数据流438,其同时携带区块0或区块1的前半区块和区块2或区块3的前半区块;以及2)第二数据流442,其同时携带区块0或区块1的后半区块和区块2或区块3的后半区块。再次,在DDR5的情况下,半个区块对应于16位。借助在任何特定DQS周期期间同时携带两个半个区块,每个周期传输32个数据位。
图4g示出了利用图4e的eLRDIMM实施例的特定数据总线传输的附加细节。此处,值得注意的是,存储器芯片的不同目标区块(A和B)的地址在连续的DQS周期上在CA总线上被多路复用。图4g还示出了写入和读取过程的数据总线传输和存储器访问之间的相对时序。类似于图4c的eLRDIMM,半个区块的多路复用可以用实际的多路复用电路(例如,多路复用器427、429)或逻辑多路复用电路(例如,用缓冲电路426、428存储和转发)或两者的某种组合来完成。实际多路复用器电路可以集成到缓冲器半导体芯片中。
图5a示出了示例性存储器控制器501,其能够驱动如上所述的具有***其DQ_1和DQ_2数据总线的图4c的eLRDIMM的存储器通道。存储器控制器包括第一和第二存储器接口504_1、504_2,其各自包括一对DQ点对点链路接口,用于以点对点的方式对应于相应的DIMM,如上所述。因此,每个接口包括分别耦合到第一和第二DQ点对点链路的第一和第二组输入/输出(I/O)。
如图5a中所观察到的,存储器控制器在输入节点502处接收存储器读取和存储器写入请求。调度器和地址映射电路503命令请求并将请求引导到适当的存储器通道接口(例如,接口504_1或504_2)。值得注意的是,每个存储器通道接口包括其自己的地址映射逻辑电路(为了便于图示,未在图5a中示出),以将每个请求映射到其正确的DIMM插槽(换句话说,DQ_1和DQ_2中的正确的一个)。这样,利用终止于两个单独的DIMM插槽的两个单独的DQ通道,存储器接口电路504_1本身必须将其接收的请求的地址映射到DQ通道/DIMM插槽中的特定一个。
此处,入站队列505_1、505_2在每个接口504_1、504_2之前,并且接口的地址映射电路可以从队列中无序地抽取请求以保持耦合到接口的两个DIMM忙(例如,如果队列的前端包含仅映射到DQ总线之一的请求,则地址映射逻辑可以从队列中的更深的后端抽取映射到另一个DQ通道的请求)。这种请求的抽取可以进一步考虑任何特定DQ总线上的多路复用活动。例如,如关于图4c的eLRDIMM实施方式所描述的,eLRDIMM被构造为在两个不同组的存储器芯片区块之间同时多路复用,“左”组409_1和“右”组409_2。
此处,请求的地址的某些较高的阶位可以映射到这些组409_1、409_2中的一个或另一个。为了在可能的情况下使特定的一个DQ总线保持最大容量,接口的地址映射逻辑电路可以从接口的队列中无序地服务请求,以便其地址映射到相同eLRDIMM(相同DQ总线)的不同组的请求可被同时服务,并在eLRDIMM的特定DQ总线上被多路复用。
类似地,存储器接口电路504_1包括一对多路复用器电路506_1和506_2,每个DQ总线(DQ_1和DQ_2)一个,以在如上所述的同一突发传输过程期间将来自两个不同区块组的数据多路复用到相同DQ总线/从相同DQ总线多路复用。如上所述,两个多路复用器506_1、506_2可以同时操作以在同一突发传输序列期间在接口504_1和与其耦合的一对DIMM插槽之间同时传输四个数据区块的数据。可以实际或逻辑地完成多路复用(例如,利用存储转发电路)。
每个存储器接口504_1、504_2还包括信号生成逻辑电路,以为与上述教导一致的每个DIMM生成适当的CA和DQ信号。存储器控制器501可以包括配置寄存器空间(为了便于图示,未在图5中示出),其相对应的信息用于配置每个存储器接口。在一个实施例中,寄存器空间用于定义存储器接口是否将如上所述以eLRDIMM模式操作,或者根据DDR5模式操作。如果指定了后者,则禁用存储器控制器的多路复用活动,并且在突发传输期间在任何DQ_1或DQ_2总线上传播存储器芯片的仅单个区块的数据。
图5b示出了存储器控制器的实施例,其被设计为与图4e的eLRDIMM实施例通信。为简单起见,每个接口示出了仅馈送接口的DQ总线之一的电路。此处,存储器控制器如上面在图5a中所描述的那样操作,除了同一eLRDIMM的左和右组存储器芯片的传输同时在eLRDIMM所连接的DQ总线的不同半部分上传输(在图4e中,rank_0和rank_1对应于左区块组,而rank_2和rank_3对应于右区块组)。这样,存在左区块组通道和右区块组通道,其在DQ接口处物理上附加到彼此。两个通道具有相应的多路复用器516_1、516_2,以在相同目标区块的半部分之间进行多路复用,如上面参考图4e和4f所述。
此处,接口514内的地址映射电路可以使接口无序地服务请求,不仅保持不同的DQ总线忙,而且还促进任何特定DQ总线上的多路复用。同样,地址映射电路将再次指望将针对同一eLRDIMM的不同区块组的请求拉到一起,以便它们可以在eLRDIMM的DQ总线上一起多路复用。
虽然上面的讨论针对特定的DDR5实施方式,其指定例如每个突发事务的周期数,每个接口的DIMM插槽数,2:1多路复用比,存储器芯片时钟是通道时钟的一半等,但应认识到可以存在具有用于除了上述那些之外的这些和其他特征的不同数量的其他实施例是适当的。例如,在架构上按四个一组分组区块的DIMM可以使用4:1多路复用比和其接收DQS/4时钟的存储器芯片。还存在具有除64之外的M的值或除32之外的区块大小的实施例。
图6提供了计算***600(例如,智能电话、平板计算机、膝上型计算机、台式计算机、服务器计算机等)的示例性图示。如图6中所观察到的,基本计算***600可以包括中央处理单元601(其可以包括例如多个通用处理核心615_1至615_X)和设置在多核处理器或应用处理器上的主存储器控制器617、***存储器602、显示器603(例如,触摸屏、平板)、本地有线点对点链路(例如,USB)接口604、各种网络I/O功能605(例如,以太网接口和/或蜂窝调制解调器子***)、无线局域网(例如,WiFi)接口606、无线点对点链路(例如,蓝牙)接口607和全球定位***接口608、各种传感器609_1至609_Y、一个或多个相机610、电池611、功率管理控制单元612、扬声器和麦克风613以及音频编码器/解码器614。
应用处理器或多核处理器650可以包括其CPU 601内的一个或多个通用处理核心615、一个或多个图形处理单元616、存储器管理功能617(例如,存储器控制器)和I/O控制功能618。通用处理核心615通常执行计算***的操作***和应用软件。图形处理单元616通常执行图形密集型功能,以例如生成在显示器603上呈现的图形信息。存储器控制功能617与***存储器602接口连接,以向/从***存储器602写入/读取数据。功率管理控制单元612通常控制***600的功耗。
触摸屏显示器603、通信接口604-507、GPS接口608、传感器609、相机610和扬声器/麦克风编解码器613、614中的每一个都可以被视为相对于整个计算***的各种形式的I/O(输入和/或输出),在适当的情况下,还包括集成***设备(例如,一个或多个相机610)。取决于实施方式,这些I/O部件中的各种部件可以集成在应用处理器/多核处理器650上,或者可以位于管芯外或应用处理器/多核处理器650的封装外。计算***还包括非易失性储存器620,其可以是***的大容量储存部件。
主存储器控制功能617(例如,主存储器控制器、***存储器控制器)可以被设计为与上面描述主机侧存储器接口的教导一致,该主机侧存储器接口能够在相同突发传输期间,通过相同的主机侧存储器接口将指向/来自存储器芯片的不同区块的数据多路复用到/自例如如上所述的eLRDIMM。
本发明的实施例可包括如上所述的各种过程。这些过程可以体现在机器可执行指令中。该指令可用于使通用或专用处理器执行某些过程。可替换地,这些过程可以由包含用于执行过程的硬连线逻辑电路或可编程逻辑电路(例如,现场可编程门阵列(FPGA)、可编程逻辑设备(PLD))的特定/定制硬件部件来执行,或者由编程的计算机部件和定制硬件部件的任何组合来执行。
还可以提供本发明的元件作为用于存储机器可执行指令的机器可读介质。机器可读介质可以包括但不限于软盘、光盘、CD-ROM和磁光盘、闪存、ROM、RAM、EPROM、EEPROM、磁卡或光卡、传播介质或适用于存储电子指令的其他类型的介质/机器可读介质。例如,本发明可以作为计算机程序下载,该计算机程序可以通过载波或其他传播介质中体现的数据信号通过通信链路(例如,调制解调器或网络连接)从远程计算机(例如,服务器)传输到请求计算机(例如,客户端)。
在前述说明书中,已经参考本发明的特定示例性实施例描述了本发明。然而,显而易见的是,在不脱离所附权利要求中阐述的本发明的更广泛的精神和范围的情况下,可以对其进行各种修改和改变。因此,说明书和附图应被视为说明性的而非限制性的。
Claims (20)
1.一种装置,包括:
存储器控制器,包括存储器通道接口,所述存储器通道接口包括第一组数据I/O和第二组数据I/O,所述第一组数据I/O用于以点对点链路方式耦合到第一DIMM,所述第二组I/O用于以点对点链路方式耦合到第二DIMM,所述存储器控制器包括逻辑电路,用于在相同的第一突发写入序列期间将针对所述第一DIMM上的不同组的存储器芯片的第一多路复用写入数据发送到所述第一DIMM,所述存储器控制器还同时在相同的第二突发写入序列期间将针对所述第二DIMM上的不同组的存储器芯片的第二多路复用写入数据发送到所述第二DIMM,所述第二突发写入序列在与所述第一突发写入序列相同的时间段期间存在。
2.根据权利要求1所述的装置,其中,所述不同组的存储器芯片是不同区块的存储器芯片。
3.根据权利要求1所述的装置,其中,所述不同组的存储器芯片是不同的半个区块的存储器芯片。
4.根据权利要求1所述的装置,其中,所述存储器控制器还包括逻辑电路,用于将针对所述第二DIMM的第二写入请求移动到针对所述第一DIMM的第一写入请求之前,所述第二写入请求在所述第一写入请求之后由所述存储控制器接收,所述第一请求在其他写入请求被所述存储器控制器接收之后由所述存储器控制器接收,所述存储器控制器将所述第二写入请求移动到所述第一写入请求之前,以便所述存储器控制器能够同时将写入数据发送到两个DIMM。
5.根据权利要求4所述的装置,其中,所述写入数据是在相同的突发写入序列时间段内发送的。
6.根据权利要求1所述的装置,其中,所述多路复用器在到相同DIMM的相同突发写入序列期间在具有不同基址值的不同目标地址值之间进行多路复用。
7.根据权利要求1所述的装置,其中,所述多路复用器具有逻辑电路,用于在相同的突发读取序列时间段期间对来自所述第一DIMM和第二DIMM中的同一DIMM上的不同组的存储器芯片的读取数据的接收进行多路复用。
8.根据权利要求7所述的装置,其中,所述多路复用器用于在相同的突发读取序列期间对来自所述第一DIMM和第二DIMM中的另一DIMM上的不同组的存储器芯片的读取数据的接收进行多路复用。
9.根据权利要求1所述的装置,其中,所述存储器通道接口是DDR5存储器通道接口。
10.根据权利要求9所述的装置,其中,所述存储器控制器包括控制寄存器空间,用于禁用DDR5操作以便于在突发写入序列和突发读取序列期间在同一DIMM上的不同组的存储器芯片之间进行多路复用。
11.一种装置,包括:
DIMM,包括在相同的突发写入序列期间将写入数据多路复用到所述DIMM上的不同组的存储器芯片的电路。
12.根据权利要求11所述的装置,其中,所述电路包括多路复用器。
13.根据权利要求11所述的装置,其中,所述电路包括用于存储和转发至少一些所述写入数据的缓冲器。
14.根据权利要求11所述的装置,其中,所述不同组的存储器芯片是不同区块的存储器芯片。
15.根据权利要求11所述的装置,其中,所述不同组的存储器芯片是不同的半个区块的存储器芯片。
16.一种装置,包括:
一种存储器控制器,包括多路复用器电路,用于在相同的读取或写入突发时间窗口上对同一DIMM上的不同组的存储器芯片的数据和地址进行多路复用。
17.根据权利要求16所述的装置,其中,所述存储器控制器包括DDR5存储器通道接口,所述数据和地址通过所述DDR5通道接口进行多路复用。
18.根据权利要求16所述的装置,其中,所述不同组是不同区块。
19.根据权利要求16所述的装置,其中,所述不同组是不同的半个区块。
20.根据权利要求16所述的装置,其中,所述存储器控制器被集成到计算***中,包括:
多个处理核心;
固态硬盘;
***存储器,所述DIMM是所述***存储器的部件,所述存储器控制器耦合在所述***存储器和所述多个处理核心之间。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/017,515 | 2018-06-25 | ||
US16/017,515 US10884958B2 (en) | 2018-06-25 | 2018-06-25 | DIMM for a high bandwidth memory channel |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110633229A true CN110633229A (zh) | 2019-12-31 |
Family
ID=65230392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910438515.2A Pending CN110633229A (zh) | 2018-06-25 | 2019-05-24 | 用于高带宽存储器通道的dimm |
Country Status (3)
Country | Link |
---|---|
US (1) | US10884958B2 (zh) |
CN (1) | CN110633229A (zh) |
DE (1) | DE102019112628A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021159412A1 (zh) * | 2020-02-13 | 2021-08-19 | 华为技术有限公司 | 一种存储器、网络设备及数据访问方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10388362B1 (en) * | 2018-05-08 | 2019-08-20 | Micron Technology, Inc. | Half-width, double pumped data path |
US10884958B2 (en) * | 2018-06-25 | 2021-01-05 | Intel Corporation | DIMM for a high bandwidth memory channel |
US10963404B2 (en) * | 2018-06-25 | 2021-03-30 | Intel Corporation | High bandwidth DIMM |
US11699471B2 (en) | 2019-09-25 | 2023-07-11 | Intel Corporation | Synchronous dynamic random access memory (SDRAM) dual in-line memory module (DIMM) having increased per data pin bandwidth |
US20220012195A1 (en) * | 2021-09-24 | 2022-01-13 | Intel Corporation | Enabling logic for flexible configuration of memory module data width |
US11893240B2 (en) * | 2021-10-28 | 2024-02-06 | Qualcomm Incorporated | Reducing latency in pseudo channel based memory systems |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6446158B1 (en) | 1999-05-17 | 2002-09-03 | Chris Karabatsos | Memory system using FET switches to select memory banks |
US6675272B2 (en) * | 2001-04-24 | 2004-01-06 | Rambus Inc. | Method and apparatus for coordinating memory operations among diversely-located memory components |
US6854042B1 (en) | 2002-07-22 | 2005-02-08 | Chris Karabatsos | High-speed data-rate converting and switching circuit |
US7532537B2 (en) | 2004-03-05 | 2009-05-12 | Netlist, Inc. | Memory module with a circuit providing load isolation and memory domain translation |
US7389375B2 (en) * | 2004-07-30 | 2008-06-17 | International Business Machines Corporation | System, method and storage medium for a multi-mode memory buffer device |
US9171585B2 (en) * | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
DE102005053625B4 (de) * | 2005-11-10 | 2007-10-25 | Infineon Technologies Ag | Speichermodul mit einer Mehrzahl von Speicherbausteinen |
JP2007183816A (ja) * | 2006-01-06 | 2007-07-19 | Elpida Memory Inc | メモリ制御装置 |
US8806116B2 (en) * | 2008-02-12 | 2014-08-12 | Virident Systems, Inc. | Memory modules for two-dimensional main memory |
US7861014B2 (en) * | 2007-08-31 | 2010-12-28 | International Business Machines Corporation | System for supporting partial cache line read operations to a memory module to reduce read data traffic on a memory channel |
US7593288B2 (en) | 2007-12-19 | 2009-09-22 | International Business Machines Corporation | System for providing read clock sharing between memory devices |
WO2009102821A2 (en) * | 2008-02-12 | 2009-08-20 | Virident Systems, Inc. | Methods and apparatus for two-dimensional main memory |
WO2010144624A1 (en) | 2009-06-09 | 2010-12-16 | Google Inc. | Programming of dimm termination resistance values |
JP2013232152A (ja) | 2012-05-01 | 2013-11-14 | Ps4 Luxco S A R L | 制御デバイス、メモリシステムおよびメモリモジュール |
US9773531B2 (en) * | 2012-06-08 | 2017-09-26 | Hewlett Packard Enterprise Development Lp | Accessing memory |
US9026870B2 (en) * | 2012-07-27 | 2015-05-05 | Samsung Electronics Co., Ltd. | Memory module and a memory test system for testing the same |
WO2014062543A2 (en) * | 2012-10-15 | 2014-04-24 | Rambus Inc. | Memory rank and odt configuration in a memory system |
JP6139010B2 (ja) | 2013-03-15 | 2017-05-31 | インテル・コーポレーション | デバイス |
US10223299B2 (en) * | 2013-12-18 | 2019-03-05 | Rambus Inc. | High capacity memory system with improved command-address and chip-select signaling mode |
US9811263B1 (en) * | 2014-06-30 | 2017-11-07 | Altera Corporation | Memory controller architecture with improved memory scheduling efficiency |
KR20160046391A (ko) * | 2014-10-20 | 2016-04-29 | 삼성전자주식회사 | 하이브리드 딤 스트럭쳐 및 하이브리드 딤 스트럭쳐의 구동 방법 |
US10318420B2 (en) | 2014-10-31 | 2019-06-11 | Hewlett Packard Enterprise Development Lp | Draining a write queue based on information from a read queue |
US10255220B2 (en) | 2015-03-30 | 2019-04-09 | Rambus Inc. | Dynamic termination scheme for memory communication |
US20160350002A1 (en) | 2015-05-29 | 2016-12-01 | Intel Corporation | Memory device specific self refresh entry and exit |
KR20170037705A (ko) * | 2015-09-25 | 2017-04-05 | 삼성전자주식회사 | 입력 신호들을 랭크별로 제어하는 메모리 버퍼를 갖는 메모리 모듈 |
US9747038B2 (en) * | 2015-12-02 | 2017-08-29 | Qualcomm Incorporated | Systems and methods for a hybrid parallel-serial memory access |
KR102451156B1 (ko) | 2015-12-09 | 2022-10-06 | 삼성전자주식회사 | 메모리 모듈 내에서 랭크 인터리빙 동작을 갖는 반도체 메모리 장치 |
US10067879B2 (en) | 2015-12-16 | 2018-09-04 | Intel Corporation | Apparatus and method to support a storage mode over a cache-line memory interface to a non-volatile memory dual in line memory module |
US10163508B2 (en) | 2016-02-26 | 2018-12-25 | Intel Corporation | Supporting multiple memory types in a memory slot |
US10628343B2 (en) | 2017-02-03 | 2020-04-21 | Futurewei Technologies, Inc. | Systems and methods for utilizing DDR4-DRAM chips in hybrid DDR5-DIMMs and for cascading DDR5-DIMMs |
US20180292991A1 (en) | 2017-04-11 | 2018-10-11 | Micron Technology, Inc. | Memory protocol with programmable buffer and cache size |
US10884958B2 (en) * | 2018-06-25 | 2021-01-05 | Intel Corporation | DIMM for a high bandwidth memory channel |
US20190042162A1 (en) * | 2018-08-16 | 2019-02-07 | Intel Corporationn | Back-end memory channel that resides between first and second dimm slots and applications thereof |
US20190042095A1 (en) | 2018-08-23 | 2019-02-07 | Intel Corporation | Memory module designed to conform to a first memory chip specification having memory chips designed to conform to a second memory chip specification |
-
2018
- 2018-06-25 US US16/017,515 patent/US10884958B2/en active Active
-
2019
- 2019-05-14 DE DE102019112628.2A patent/DE102019112628A1/de active Pending
- 2019-05-24 CN CN201910438515.2A patent/CN110633229A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021159412A1 (zh) * | 2020-02-13 | 2021-08-19 | 华为技术有限公司 | 一种存储器、网络设备及数据访问方法 |
CN114667509A (zh) * | 2020-02-13 | 2022-06-24 | 华为技术有限公司 | 一种存储器、网络设备及数据访问方法 |
Also Published As
Publication number | Publication date |
---|---|
DE102019112628A1 (de) | 2020-01-02 |
US20190042500A1 (en) | 2019-02-07 |
US10884958B2 (en) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110633229A (zh) | 用于高带宽存储器通道的dimm | |
US9773531B2 (en) | Accessing memory | |
JP3550143B2 (ja) | 半導体メモリ装置 | |
US10339072B2 (en) | Read delivery for memory subsystem with narrow bandwidth repeater channel | |
US11699471B2 (en) | Synchronous dynamic random access memory (SDRAM) dual in-line memory module (DIMM) having increased per data pin bandwidth | |
US20080028127A1 (en) | Cross-threaded memory system | |
US20230009384A1 (en) | Memory component with input/output data rate alignment | |
KR20040106303A (ko) | 프리페치 길이보다 짧은 버스트 길이를 갖는 메모리 시스템 | |
KR20120001771A (ko) | 구성 가능한 대역폭 메모리 장치들 및 방법들 | |
US11188264B2 (en) | Configurable write command delay in nonvolatile memory | |
US20190042095A1 (en) | Memory module designed to conform to a first memory chip specification having memory chips designed to conform to a second memory chip specification | |
US20210280226A1 (en) | Memory component with adjustable core-to-interface data rate ratio | |
US20170289850A1 (en) | Write delivery for memory subsystem with narrow bandwidth repeater channel | |
US10162522B1 (en) | Architecture of single channel memory controller to support high bandwidth memory of pseudo channel mode or legacy mode | |
CN110633230A (zh) | 高带宽dimm | |
KR20210091647A (ko) | 비휘발성 메모리에 대한 자동 증분 기입 카운트 | |
NL2031713B1 (en) | Double fetch for long burst length memory data transfer | |
US11042315B2 (en) | Dynamically programmable memory test traffic router | |
TW202242659A (zh) | 自我調整記憶體存取管理 | |
US20220358072A1 (en) | Memory module adapter card with multiplexer circuitry | |
US20230333928A1 (en) | Storage and access of metadata within selective dynamic random access memory (dram) devices | |
US20230342035A1 (en) | Method and apparatus to improve bandwidth efficiency in a dynamic random access memory | |
EP4375840A1 (en) | Memory controller, electronic system including the same and method of controlling memory access | |
US20240079036A1 (en) | Standalone Mode |
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 |