CN110633230A - 高带宽dimm - Google Patents
高带宽dimm Download PDFInfo
- Publication number
- CN110633230A CN110633230A CN201910439702.2A CN201910439702A CN110633230A CN 110633230 A CN110633230 A CN 110633230A CN 201910439702 A CN201910439702 A CN 201910439702A CN 110633230 A CN110633230 A CN 110633230A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- group
- memory controller
- groups
- 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/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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示出高带宽DIMM的实施例;
图4c将传统存储器通道的定时和图4b的高带宽DIMM实施例的定时的实施例进行比较;
图4d示出图4c的定时的额外信息;
图5示出与图4b的高带宽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总线201上呈现的负载可能足以干扰CA信号的质量并限制存储器通道的性能。
图2示出称为寄存器DIMM 200(RDIMM)的新一代DIMM,其包括用于解决对由CA总线202的负载呈现的存储器通道性能的上述限制的寄存器和重驱动电路205。此处,与每存储器芯片组的一个负载(如与UDIMM)对照,寄存器和重驱动电路205在每个CA总线202线上充当每个DIMM的单个负载。因此,鉴于对于UDIMM上的存储器芯片而言,名义上的双组UDIMM将在存储器通道的CA总线202的每个线上呈现一个负载(因为UDIMM上的每个存储器芯片被连线到CA总线202),相比之下,具有相同的存储器芯片集合的双组RDIMM等将在存储器通道的CA总线202线中的每个线上仅呈现一个芯片负载。
在操作中,寄存器和重驱动电路205将CA信号锁存和/或重驱动,该CA信号是从存储器通道的CA总线202到该CA信号被特定发送到的DIMM上的特定存储器芯片组的存储器芯片的CA信号。此处,对于在存储器通道上发出的每个存储器访问(具有对应地址的读取或写入访问),对应集合的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(LRDIMM)300的更新一代DIMM,其中由LRDIMM 300以仅单个负载呈现CA总线302和DQ总线301两者。此处,与RDIMM的寄存器和重驱动电路类似,LRDIMM包括缓冲器电路306,其存储和转发要在存储器通道数据总线301与访问所针对的特定存储器芯片组303之间传递的数据。寄存器和重驱动电路305激活特定访问所针对的任何存储器芯片组,并且与该访问相关联的数据出现在缓冲器电路306的“背面”。
在对于存储器通道上的DQ和CA线301、302两者仅有单点负载的情况下,LRDIMM300的存储器容量自由将它的存储器存储容量扩展为超过仅两个存储器芯片组(例如,单个DDR4 DIMM上四组)。在每DIMM具有更多组存储器芯片和/或对于每DIMM的存储器芯片的数量普遍不敏感(至少从信号负载角度)的情况下,力求将更多芯片装到一定量的空间中的新型存储器芯片封装技术在近年来受到高度关注。例如,可在LRDIMM上集成堆叠芯片封装解决方案以形成例如3维堆叠(3DS)LRDIMM。
甚至在随着LRDIMM的出现而极大扩展了每DIMM的存储器容量的情况下,利用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信号的定时余裕将同样增加,而这又将提供更高的存储器通道频率和对应的存储器通道带宽(可以用更少的时间执行读取/写入操作)。
称为DDR5的下一代JEDEC存储器接口标准采取如图4a中所描绘在将CA总线和DQ总线物理分割成两个分离的多点总线的途径。此处,将图3b与图4a进行比较,注意,图3b的布局描绘多点下传(multi-drop)到两个DIMM插槽311_1、311_2的单个N位宽CA总线以及同样多点下传到这两个DIMM插槽311_1、311_2的单个M位宽DQ数据总线;而相比之下,图4a的DDR5布局由多点下传到两个DIMM插槽411_1、411_2的两个分离的N/2位宽CA总线以及多点下传到DIMM插槽411_1、411_2的两个分离的M/2位宽DQ数据总线组成。
再此为简单起见,忽略ECC位,并且分别对于DDR4和DDR5实现,在图3b和图4a两者中,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位。
图4b示出高带宽LRDIMM 400(xLRDIMM)的实施例,它不仅可并行处置DQ_1和DQ_2数据总线两者上的数据传输,而且还可并行处置这些数据总线中的相同数据总线上的两个不同组之间的数据传输。也就是说,图4b的高带宽DIMM可并行处置DIMM上的第一、第二、第三和第四组之间的数据传输。
如在图4b中所观察,DIMM 400包括组的第一群组409_1(rank_0和rank_1)以及组的第二群组409_2(rank_2和rank_3)。根据一个实施例,组的第一群组409_1物理布局在DIMM的一端上(例如,在DIMM的“左”端上),其中,群组409_1的组中的一个组(例如,rank_0)的存储器芯片部署在DIMM的一侧(例如,“正”面)上,并且群组409_1的组中的另一个组(例如,rank_1)的存储器芯片部署在DIMM的另一侧(例如,“背”面)上。
同样地,组的第二群组409_2物理布局在DIMM的另一端上(例如,在DIMM的“右”端上),其中,群组409_2的组中的一个组(例如,rank_2)的存储器芯片部署在DIMM的一侧(例如,“正”面)上,并且群组409_3的组中的另一个组(例如,rank_3)的存储器芯片部署在DIMM的另一侧(例如,“背”面)上。
值得注意,第一存储器群组409_1的组(rank_0、rank_1)耦合到第一数据总线DQ_1,并且第二存储器群组409_2的组(rank_2、rank_3)耦合到第二数据总线DQ_2。在DQ_1和DQ_2总线接口分离地耦合到它们自己的相应的存储器芯片组的情况下,DIMM 400能够并行处置这两个不同的数据总线DQ_1、DQ_2上的总线传输。此处,数据总线DQ_1、DQ_2中的每个具有它自己的相关联的CA通道CA_1、CA_2,使得不仅可在DQ_1和DQ_2数据总线上并行针对不同目标地址,还可在DQ_1和DQ_2总线上并行执行不同的操作类型。例如,在DQ_1数据总线正在支持读取传输的同时,DQ_2数据总线可正在支持写入传输(和/或反之亦然,在DQ_2数据总线正在支持读取传输的同时,DQ_1数据总线可支持写入传输)。
显然,DIMM 400能够在相同时间窗口期间在相同数据总线上同时处置与相同组群组的两个不同组相关联的数据传输。例如,在相同读取突发读取或写入突发时间窗口内,可在数据总线DQ_1上与来自rank_1的数据一起同时传送与rank_0相关联的数据。同样地,在并行时间周期内,可在数据总线DQ_2上与来自rank_3的数据一起同时传送来自rank_2的数据(例如,在数据总线DQ_2上在突发读取或写入窗口期间)。因此,在相同时间窗口内,可跨越数据总线DQ_1和DQ_2同时传送与所有四个组(rank_0至rank_3)相关联的数据。
此外,在各种实施例中,对于读取和写入操作两者,在各个组访问相当于整个组的数据。但是,缓冲器装置406以例如各个组的存储器芯片的速度的两倍速度操作,并且因此能够执行2:1复用(例如,以存储和转发的方式)以有效地将数据宽度减半。可与耦合到相同数据总线的另一个组的数据一起消耗通过一半数据宽度减少而“腾出”的DQ数据总线上的额外一半数据宽度。
例如,参考图4b,在读取操作期间,可分别从rank_0和rank_1两者读取相当于整个组的数据。如在图4c中观察,从两个组的读取将分别从两个组生成M/2 = 32个数据位(忽略ECC)。将从rank_0读取的32个数据位缓冲到缓冲器406_1中,并将从rank_1读取的32个数据位缓冲到缓冲器406_2中。根据其中缓冲器以与存储器装置相同的速度操作的现有技术DIMM缓冲途径,从组读取的任何32位全部在数据总线上立即被呈现。
但是,那在图4b的DIMM设计400中不可行,因为来自两个组(rank_0和rank_1)的并行读取生成总共64位,并且要在其上传送它们的数据的DQ_1数据总线只有32位宽。相反,在图4b的DIMM 400的设计中,缓冲器406_1和406_2以存储器装置的速度的两倍速度操作。因此,对于它们的对应存储器的每个读取周期,缓冲器406_1、406_2在DQ_1数据总线上具有两个传送周期。因此,每个缓冲器406_1、406_2分别耦合到DQ_1总线的仅仅M/4 = 16位,并且对于它的对应存储器的每个32位读取访问,在DQ_1总线的其一半的16位上传送两个16位周期。
换言之,缓冲器406_1、406_2在存储器读取期间在从存储器芯片到数据总线的方向上实现2:1存储和转发复用方案。此处,将来自rank_0的读取的所有32位输入到缓冲器406_1中,并且然后,首先将这些位中的“上半部分”16位传送到DQ_1总线上,并且然后,接着在DQ_1总线上传送“下半部分”剩余的16位。同属rank_1的缓冲器406_2以相同方式操作,但是在缓冲器406_1没有在其上传送的DQ_1总线的其它16位上传送它的16位。因此,在DQ_1总线上各以16位区块同时传送来自rank_0和rank_1两者的数据。
组rank_2和rank_3的缓冲器406_3和406_4可在相同时间周期内表现类似,这导致DIMM 400能够在相同时间窗口内并行发送来自所有四个组的读取数据。值得注意,在数据总线其中之一上正在发生读取传输的同时,可在缓冲器中的另一个上发生写入传输。在写入操作的情况下,缓冲器406实现反向存储和转发复用过程。也就是说,对于到存储器芯片组的每个32位的写入周期,该组的对应缓冲器从数据总线接收两个16位的传输。
图4c示出图4b的DIMM 400的定时的实施例。此处,插图410示出与DIMM插入到其中的存储器通道相关联的信号的定时,并且插图420示出与存储器组相关联的信号的定时。将两个插图410、420的信号进行比较,注意,以存储器通道的数据总线以其操作的速率的一半速率来对存储器组中/存储器组之外计时的数据411计时。也就是说,对存储器芯片计时的时钟(DQS/2)是对DQ_1和DQ_2数据总线上的数据传输计时的时钟(DQS)的频率的一半。如可见的,在相同时间周期内,DQ_1总线由与rank_0和rank_1相关联的一半宽度(16位)数据流408、412组成。同样地,在相同时间周期内,DQ_2总线由与rank_2和rank_3相关联的一半宽度(16位)数据流组成。传输是DQS时钟信号的双倍数据速率。
注意,共享相同数据总线的流的地址在数据总线的CA信号上交替。也就是说,对于DQ_1,CA_1上的命令/地址信令在指向rank_0(基地址A)的地址和指向rank_1(基地址B)的地址之间交替。图4c示出同步读取或写入突发,其中指向rank_0的突发的第一传输与指向rank_1的突发的第一传输同步(或“同相”)(在相同DQS周期期间呈现两个传输的基地址(A和B))。
但是,实际上,DIMM可执行不同步的并行突发读取/写入(一对并行执行的突发的两个突发的第一数据传输无需在相同DQS周期上发生)。注意,为了实现512位突发,两个数据流408和412都将消耗16个DQS时钟周期(2个传输/DQS周期×16位/传输×16个DQS周期/突发=512位/突发)。因此,图4仅示出完成全部512位突发所需的周期的一半(图4c中示出八个DQS周期)。
图4d示出DIMM的读取和写入活动两者的额外定时细节。此处,注意,数据总线上的传输以访问存储器芯片的速率的两倍速率发生。
图5示出能够与如上所述的DIMM通信的存储器控制器的设计。存储器控制器包括第一和第二存储器通道接口504_1、504_2,它们各自包括一对DQ总线接口和CA信号接口,并且可与如上文所论述的DIMM通信。因此,每个接口包括分别耦合到例如DDR5存储器通道的第一和第二DQ和CA线的输入/输出(I/O)的第一和第二群组。
如在图5中所观察,存储器控制器在输入节点502处接收存储器读取和存储器写入请求。调度器和地址映射电路503将请求排序并将请求指向合适的存储器通道接口(例如,接口504_1或504_2)。值得注意,每个存储器通道接口包括它自己的地址映射逻辑电路(为了易于说明,在图5中没有示出)以将每个请求映射到它的正确DQ总线(换言之,是DQ_1和DQ_2中的正确的一个)。因此,在具有两个分离的DQ通道的情况下,存储器接口电路504_1本身必须将它接收的请求的地址映射到DQ通道中的特定DQ通道。
此处,入站队列505_1、505_2在每个接口504_1、504_2之前,并且接口的地址映射电路可不按顺序从队列拉出请求以保持两个DQ通道都忙碌(例如,如果队列的前面包含只映射到DQ总线其中之一的请求,则地址映射逻辑可从队列中后面更深处拉出映射到另一个DQ通道的请求)。请求的此类拉出还可考虑在任何特定DQ总线上在两个不同组之间同时传送数据的要求。例如,如针对图4b的xLRDIMM实现所描述,xLRDIMM被构造成在相同DQ总线上在两个不同的存储器芯片组(“顶部群组”和“底部群组”)之间同时传输数据。
此处,请求的地址的某些较高阶位可映射到被耦合到特定DQ通道的组以及DQ通道中的一个或另一个。为了在可能时将两个组的两个DQ总线都保持在最大传输容量,接口的地址映射逻辑电路可服务来自接口的队列的不按顺序的请求,使得可在xLRDIMM的特定DQ总线上同时服务其地址映射到不同DQ通道以及耦合到特定DQ通道的不同组的请求。
同样地,存储器接口电路504_1包括一对复用器电路506_1和506_2,每个CA总线(CA_1和CA_2)一个复用器电路,以便如上所述在相同时间窗口(例如,相同突发传输窗口)期间,向/从相同DQ总线复用两个不同组的地址。如上所述,两个复用器506_1、506_2可并行操作以在相同时间窗口期间在接口504_1与它所耦合到的xLRDIMM之间并行传输四个组的地址。可实际地或者在逻辑上(例如,利用存储和转发电路)来进行复用。
每个存储器接口504_1和504_2还包括为符合上文的教导的每个DIMM生成合适的CA和DQ信号的信号生成逻辑电路。存储器控制器501可包括配置寄存器空间(为了易于说明,在图5中没有描绘),其对应信息用于配置每个存储器接口。在实施例中,寄存器空间用于定义存储器接口要以如上所述的xLRDIMM模式操作还是根据DDR5模式操作。如果指定后者,则禁用存储器控制器的xLRDIMM活动,并且在突发传输期间在任何DQ_1或DQ_2上只传播单个存储器芯片组的数据。
虽然上文的论述已指向指定例如每突发事务的周期数量、每接口的DIMM插槽的数量、2:1复用比、作为缓冲器时钟的一半的存储器芯片时钟之类的特定DDR5实现,但是,认识到可存在具有与上文描述的实施例不同数量的这些和其它特征的其它实施例是恰当的。例如,对于特定DQ总线,架构上将组编组为4个群组的DIMM可使用4:1复用比,并且它的存储器芯片可接收DQS/4时钟。还存在具有与64不同的M值或者与32不同的组大小的实施例。
还注意,虽然已针对单个xLRDIMM描述了操作,但是操作可在两个不同xLRDIMM之间在DQ_1和DQ_2总线上同时发生。也就是说,DQ_1总线上的第一传输可与耦合到存储器通道的第一xLRDIMM一起发生,以及DQ_2总线上的第二传输可与耦合到存储器通道的第二xLRDIMM一起发生。此类传输可以是相同或不同类型的(例如,一个传输是读取传输,而另一个传输是写入传输)。
图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写入数据/从系统存储器602读取数据。电力管理控制单元612一般控制系统600的功率消耗。
触屏显示器603、通信接口604-607、GPS接口608、传感器609、一个或多个相机610和扬声器/话筒编解码器613、614中的每个都可视为相对于整体计算系统的各种形式的I/O(输入和/或输出),在合适的情况下,也包括集成外围装置(例如,一个或多个相机610)。取决于实现,这些I/O组件中的各种组件可集成在应用处理器/多核处理器650上,或者可脱离管芯或位于应用处理器/多核处理器650的封装之外。计算系统还包括非易失性存储设备620,其可以是系统的大容量存储组件。
主存储器控制功能617(例如,主存储器控制器、系统存储器控制器)可设计成符合描述主机侧存储器接口的上文教导,所述主机侧存储器接口能够在到/来自例如如上所述的xLRDIMM的相同突发传输期间通过主机侧存储器接口的相同DQ总线在不同的存储器芯片组之间同时传输数据。
本发明的实施例可包括上文阐述的各种过程。这些过程可用机器可执行指令来实施。指令可用于使得通用或专用处理器执行某些过程。备选地,这些过程可通过包含用于执行这些过程的硬线逻辑电路或可编程逻辑电路(例如,现场可编程门阵列(FPGA)、可编程逻辑装置(PLD))的特定/定制硬件组件或者通过经编程的计算机组件和定制硬件组件的任何组合来执行。
本发明的元件也可作为用于存储机器可执行指令的机器可读介质来提供。机器可读介质可包括但不限于软盘、光盘、CD-ROM和磁-光盘、闪速存储器、ROM、RAM、EPROM、EEPROM、磁或光卡、传播介质或适于存储电子指令的其它类型的介质/机器可读介质。例如,本发明可作为计算机程序下载,可经由通信链路(例如,调制解调器或网络连接)借助于以载波或其它传播介质实施的数据信号将计算机程序从远程计算机(例如,服务器)传输到请求计算机(例如,客户端)。
在以上说明书中,已参考其中的特定示例性实施例来描述本发明。但是,会显而易见的是,可对其进行各种修改和改变而不偏离所附权利要求中所阐述的本发明的更广泛的精神和范围。因此,说明书和附图被视为是说明性而不是限制性含义。
Claims (20)
1.一种设备,包括:
包括存储器通道接口的存储器控制器,所述存储器通道接口包括数据I/O的第一群组和数据I/O的第二群组,数据I/O的所述第一群组耦合到所述存储器通道的第一数据总线,并且数据I/O的所述第二群组也耦合到所述第一数据总线,所述存储器控制器包括在相同时间窗口期间通过I/O的所述第一和第二群组在第一和第二组之间同时传输数据的逻辑电路,其中I/O的所述第一群组要在所述第一组之间传输数据,以及I/O的所述第二群组要在所述第二组之间传输数据。
2.如权利要求1所述的设备,其中所述存储器控制器还包括用于在所述相同时间窗口内复用针对所述第一和第二组的相应地址的逻辑电路。
3.如权利要求1所述的设备,其中所述第一和第二组之间的所述传输是不同步的突发传输。
4.如权利要求1所述的设备,其中所述存储器控制器还包括将针对所述第二组的第二请求移动到针对所述第一组的第一请求之前的逻辑电路,所述存储器控制器在所述第一请求之后接收所述第二请求,在所述存储器控制器接收其它请求之后所述存储器控制器接收所述第一请求,所述存储器控制器将所述第二请求移动到所述第一请求之前,使得所述存储器控制器能够在两个组之间同时传输数据。
5.如权利要求4所述的设备,其中在相同的突发定序时间窗口内发送所述数据。
6.如权利要求1所述的设备,其中所述存储器控制器包括具有所述数据总线的所述第一和第二I/O以及所述存储器通道的第二数据总线的第三和第四I/O的存储器通道接口,所述存储器控制器在所述第三和第四组之间同时传传输数据,所述第一和第二I/O以及所述第三和第四I/O分别耦合到第三和第四组。
7.如权利要求6所述的设备,其中数据在所述第三和第四组之间的所述同时传输要与数据在所述第一和第二组之间的所述传输同时发生。
8.如权利要求7所述的设备,其中复用器要在复用针对所述第三和第四组的地址的同时,在所述存储器通道上复用针对所述第一和第二组的地址。
9.如权利要求1所述的设备,其中所述存储器通道接口是DDR5存储器通道接口。
10.如权利要求9所述的设备,其中所述存储器控制器包括禁用DDR5操作以便于在I/O的所述第一和第二群组上在所述第一和第二组之间同时传输数据的控制寄存器空间。
11.一种设备,包括:
DIMM,所述DIMM包括在相同突发写入序列期间在相同数据总线上同时传输所述DIMM上的不同存储器芯片组的数据的电路。
12.如权利要求11所述的设备,其中所述DIMM具有与DDR5 JEDEC行业标准兼容的存储器通道接口。
13.如权利要求11所述的设备,其中所述电路包括存储和转发所述数据的缓冲器电路。
14.如权利要求11所述的设备,其中所述缓冲器电路要以所述不同组的所述存储器芯片的成倍的速度来操作。
15.如权利要求14所述的设备,其中所述缓冲器电路要在所述数据总线上以将数据访问应用于所述不同组的所述存储器芯片的速率的两倍速率传输两等份的组。
16.一种计算系统,包括:
多个处理核;
固态驱动器;
包括第一DIMM和第二DIMM的系统存储器;
包括存储器通道接口的存储器控制器,所述存储器通道接口包括数据I/O的第一群组和数据I/O的第二群组,数据I/O的所述第一群组耦合到所述存储器通道的第一数据总线,数据I/O的所述第二群组也耦合到所述第一数据总线,所述存储器控制器包括在相同时间窗口期间通过I/O的所述第一和第二群组在第一和第二组之间同时传输数据的逻辑电路,其中I/O的所述第一群组在所述第一组之间传输数据,并且I/O的所述第二群组用于在所述第二组之间传输数据。
17.如权利要求16所述的计算系统,其中所述存储器控制器还包括在所述相同时间窗口内复用针对所述第一和第二组的相应地址的逻辑电路。
18.如权利要求16所述的计算系统,其中所述第一和第二组之间的所述传输是不同步的突发传输。
19.如权利要求16所述的计算系统,其中所述存储器控制器还包括将针对所述第二组的第二请求移动到针对所述第一组的第一请求之前的逻辑电路,所述存储器控制器在所述第一请求之后接收所述第二请求,在所述存储器控制器接收其它请求之后所述存储器控制器接收所述第一请求,所述存储器控制器将所述第二请求移动到所述第一请求之前,使得所述存储器控制器能够在两个组之间同时传输数据。
20.如权利要求19所述的计算系统,其中在相同的突发定序时间窗口内发送所述数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/017430 | 2018-06-25 | ||
US16/017,430 US10963404B2 (en) | 2018-06-25 | 2018-06-25 | High bandwidth DIMM |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110633230A true CN110633230A (zh) | 2019-12-31 |
Family
ID=65229641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910439702.2A Pending CN110633230A (zh) | 2018-06-25 | 2019-05-24 | 高带宽dimm |
Country Status (3)
Country | Link |
---|---|
US (1) | US10963404B2 (zh) |
CN (1) | CN110633230A (zh) |
DE (1) | DE102019112613A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US11308006B2 (en) * | 2020-03-27 | 2022-04-19 | Intel Corporation | Memory rank design for a memory channel that is optimized for graph applications |
KR102589323B1 (ko) * | 2021-03-04 | 2023-10-12 | 강상석 | 디램 디바이스 및 그 odt 저항값 설정 방법과 이를 위한 컴퓨터 프로그램 |
Family Cites Families (33)
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 |
DE202010017690U1 (de) | 2009-06-09 | 2012-05-29 | Google, Inc. | Programmierung von Dimm-Abschlusswiderstandswerten |
JP2013232152A (ja) * | 2012-05-01 | 2013-11-14 | Ps4 Luxco S A R L | 制御デバイス、メモリシステムおよびメモリモジュール |
CN104508646A (zh) * | 2012-06-08 | 2015-04-08 | 惠普发展公司,有限责任合伙企业 | 访问存储器 |
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 |
US9990246B2 (en) | 2013-03-15 | 2018-06-05 | Intel Corporation | Memory system |
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 | 삼성전자주식회사 | 하이브리드 딤 스트럭쳐 및 하이브리드 딤 스트럭쳐의 구동 방법 |
WO2016068986A1 (en) | 2014-10-31 | 2016-05-06 | 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 |
-
2018
- 2018-06-25 US US16/017,430 patent/US10963404B2/en active Active
-
2019
- 2019-05-14 DE DE102019112613.4A patent/DE102019112613A1/de active Pending
- 2019-05-24 CN CN201910439702.2A patent/CN110633230A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US10963404B2 (en) | 2021-03-30 |
US20190042499A1 (en) | 2019-02-07 |
DE102019112613A1 (de) | 2020-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11500795B2 (en) | Load reduced nonvolatile memory interface | |
KR102424962B1 (ko) | 병렬 연산 처리를 수행하는 메모리 장치 및 이를 포함하는 메모리 모듈 | |
US10884958B2 (en) | DIMM for a high bandwidth memory channel | |
EP3436963B1 (en) | Memory subsystem with narrow bandwidth repeater channel | |
US9773531B2 (en) | Accessing memory | |
US10339072B2 (en) | Read delivery for memory subsystem with narrow bandwidth repeater channel | |
US7769942B2 (en) | Cross-threaded memory system | |
US11699471B2 (en) | Synchronous dynamic random access memory (SDRAM) dual in-line memory module (DIMM) having increased per data pin bandwidth | |
US10102884B2 (en) | Distributed serialized data buffer and a memory module for a cascadable and extended memory subsystem | |
KR20120001771A (ko) | 구성 가능한 대역폭 메모리 장치들 및 방법들 | |
US8392671B2 (en) | Memory controller, system, and method for accessing semiconductor 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 | |
KR20130111301A (ko) | 판독 데이터 스트로브 신호를 포함하는 감소된 핀 카운트(rpc) 메모리 버스 인터페이스를 위한 장치 및 방법 | |
CN110633230A (zh) | 高带宽dimm | |
US20190042162A1 (en) | Back-end memory channel that resides between first and second dimm slots and applications thereof | |
WO2017172286A1 (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 | |
NL2031713B1 (en) | Double fetch for long burst length memory data transfer | |
US20180174624A1 (en) | Memory component with adjustable core-to-interface data rate ratio | |
US11042315B2 (en) | Dynamically programmable memory test traffic router | |
US20150058524A1 (en) | Bimodal functionality between coherent link and memory expansion | |
US8244929B2 (en) | Data processing apparatus | |
US20230333928A1 (en) | Storage and access of metadata within selective dynamic random access memory (dram) devices | |
US20220358072A1 (en) | Memory module adapter card with multiplexer circuitry | |
US20230342035A1 (en) | Method and apparatus to improve bandwidth efficiency in a dynamic random access memory |
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 |