CN102177550A - 存储器模块中独立受控的虚拟存储器设备 - Google Patents

存储器模块中独立受控的虚拟存储器设备 Download PDF

Info

Publication number
CN102177550A
CN102177550A CN2008801314691A CN200880131469A CN102177550A CN 102177550 A CN102177550 A CN 102177550A CN 2008801314691 A CN2008801314691 A CN 2008801314691A CN 200880131469 A CN200880131469 A CN 200880131469A CN 102177550 A CN102177550 A CN 102177550A
Authority
CN
China
Prior art keywords
order
register
demultplexer
virtual memory
memory
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.)
Granted
Application number
CN2008801314691A
Other languages
English (en)
Other versions
CN102177550B (zh
Inventor
安廷镐
N.P.朱皮
J.B.莱弗里奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN102177550A publication Critical patent/CN102177550A/zh
Application granted granted Critical
Publication of CN102177550B publication Critical patent/CN102177550B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)

Abstract

本发明的各个实施例涉及多核存储器模块。在一个实施例中,存储器模块(500)包括至少一个虚拟存储器设备和布置在该至少一个虚拟存储器设备和存储器控制器之间的多路分配器寄存器(502)。该多路分配器寄存器从该存储器控制器接收标识该至少一个虚拟存储器设备之一的命令且将该命令发送到标识的虚拟存储器设备。另外,该至少一个虚拟存储器设备包括至少一个存储器芯片。

Description

存储器模块中独立受控的虚拟存储器设备
技术领域
本发明实施例涉及存储器模块,并且具体地,涉及被配置为允许包括一个或多个存储器芯片的单独虚拟存储器设备的独立控制的存储器模块。
背景技术
在现代计算机系统中,对于存储器容量和带宽的需求保持增长。微处理器的近来的性能扩展取决于增加每芯片内核的数量,并且多核和很多内核的单芯片多处理器(“CMP”)通过每处理器多个存储器控制器而要求甚至更高的存储器带宽和容量。因此,主存储器模块的功率预算变得与当前计算机系统中的处理器的功率预算相似,或者甚至高于当前计算机系统中的处理器的功率预算。
然而,典型的存储器模块是能量低效的。例如,每存储器访问激活太多比特,并且被访问的多数比特在未使用的情况下被存储回去,浪费了动态功率。通过利用访问模式的局部性,可以通过编译器或存储器控制器组合多个时间上邻近的存储器访问,以便每存储器激活使用更多的比特,但这些努力在具有不规则访问模式的应用中获得有限的成功。由于来自多个线程的独立存储器访问请求是交错的,因此这种方法的效率受到一般应用中的存储器访问的随机性质的限制并且在CMP存储器系统中甚至恶化。
期望的是在不明显地牺牲系统性能的情况下节省能量的使得能够对存储在存储器系统中的信息进行访问的存储器系统。
发明内容
本发明的各个实施例涉及多核存储器模块。在一个实施例中,存储器模块包括至少一个虚拟存储器设备以及电子地连接到该至少一个虚拟存储器设备和存储器控制器的多路分配器(demultiplexer)寄存器。多路分配器寄存器从存储器控制器接收标识该至少一个虚拟存储器设备之一的命令,且将该命令发送到该命令标识的虚拟存储器设备。该至少一个虚拟存储器设备中的每一个包括至少一个存储器芯片。
附图说明
图1A示出具有八个存储器芯片的存储器模块的等距视图。
图1B示出电路板上安装的存储器模块和存储器控制器的等距视图。
图2示出构成存储器芯片的八个存储体(bank)的示意性表示。
图3A示出传统存储器模块的示意性表示。
图3B示出将命令广播到传统存储器模块的所有存储器芯片的示例。
图4A示出根据本发明实施例配置的单个多核存储器模块的等距视图。
图4B示出根据本发明实施例的电路板上安装的多核存储器模块和存储器控制器的等距视图。
图5A示出根据本发明的实施例配置的多核、双列直插(dual in-line)存储器模块的一般示意性表示。
图5B示出根据本发明的某些实施例配置的第一多路分配器寄存器的示意性表示。
图5C-D示出根据本发明的其他实施例配置的第二多路分配器寄存器的示意性表示。
图6A-6D示出根据本发明的实施例配置的多核、双列直插存储器模块和两个相关的多路分配器寄存器的第一示例的示意性表示。
图7A-7D示出根据本发明的实施例配置的多核、双列直插存储器模块和两个相关的多路分配器寄存器的第二示例的示意性表示。
图8示出根据本发明的实施例的配置成支持纠错码的多核、双列直插存储器模块的示意性表示。
图9示出根据本发明的实施例的用于控制包含至少一个虚拟存储器设备的存储器模块的方法的控制流程图。
具体实施方式
本发明的各种实施例涉及多核存储器模块,该存储器模块设计为在对系统性能具有较小影响的情况下改善存储器系统的能量效率。存储器模块包括存储器芯片,存储器芯片被划分成称为“虚拟存储器设备”(“VMD”)的一个或多个存储器芯片的组。存储器芯片可以是动态随机存取存储器(“DRAM”)芯片。每个VMD具有其自己的数据路径且可以以时分复用的方式通过命令总线接收分离的存储器请求。结果,与传统存储器模块相比,每存储器访问涉及更少的存储器芯片,并且更少的比特被存储回去。存储器芯片可以不经任何修改地使用,且几乎没有功能性变化被添加到存储器模块寄存器以向每个VMD提供不同的命令。
详细描述被如下组织。在第一子部分中描述传统存储器模块和相关的能量低效的一般描述。在第二子部分中提供存储器模块实施例和能量效率增强的描述。
存储器模块和访问存储器中的能量低效
存储器模块典型地包括形成被称为“双列直插存储器模块”(“DIMM”)的存储单元的印制电路板上安装的若干DRAM芯片。图1A示出包括八个DRAM芯片的单个DIMM的等距视图。然后在电路板上安装一个或多个DIMM,并且由存储器控制器控制该一个或多个DIMM。图1B示出电路板106上安装的存储器102和存储器控制器104的等距视图。存储器102由插入四个DIMM插槽112-115的四个DIMM 108-111组成。存储器控制器104是计算机芯片或多核微处理器芯片的部分,其管理发送到DIMM 108-111以及从DIMM 108-111发送的命令和数据流,并且将存储器102与计算机系统的其他主要组件(例如中央处理单元)对接。每一DIMM经由接口118与存储器控制器104进行电通信。接口118是载送从存储器控制器104到存储器102的时钟信号和命令以及DIMM 108-111与存储器控制器104之间的数据信号的总线。数据信号在DIMM 108-111中的DRAM芯片与存储器控制器104之间并行地发送。接口118可以支持单数据率(“SDR”)、双数据率(“DDR”)以及更高的数据率传送。SDR指的是每时钟周期发送数据一次,以及DDR指的是在计算机系统时钟信号的上升沿和下降沿都发送数据。存储器控制器104和DIMM 108-111可以被配置为:根据SDR和DDR发送并且接收数据。在DDR中通过使用时钟的两个沿,数据信号在相同的极限频率操作,相比单数据率传输使得数据传输率加倍。
DRAM芯片将比特存储在由晶体管和电容器组成的被称为DRAM存储器单元的结构中。单个DRAM芯片中存在数十亿个单元,以及可以以被称为“存储体”的许多二维阵列的二维布置组织这些单元。图2示出构成DRAM芯片200的标为0-7的八个存储体的示意性表示。如图2的示例中所示,每一存储体经由交叉信号线连接到行解码器、感测放大器以及列解码器。例如,存储体0经由与x轴平行走线的信号线(例如信号线204)连接到行解码器202。存储体0还经由与y轴平行走线的信号线(例如信号线210)连接到感测放大器206和列解码器208。存储器单元位于信号线交点处。例如,存储器单元212位于信号204和210交叉的点处。
从存储器控制器104发送到存储器102的命令包括READ(读)、WRITE(写)、ACTIVATE(激活)、REFRESH(刷新)和PRECHARGE(预充电)。命令由控制信号和地址信号组成。控制信号表示命令执行的操作,以及地址信号标识在其执行命令的DRAM芯片中的存储体地址和行地址或列地址。例如,ACTIVATE命令由激活控制信号和标识在DRAM芯片内的哪个存储体和行执行ACTIVATE命令的存储体地址和行地址组成。READ和WRITE命令由读取和写入控制信号以及标识在DRAM芯片中的哪个存储体和列执行READ和WRITE命令的存储体地址和列地址组成。
在两个步骤中访问DRAM芯片200的存储体中存储的数据。首先,存储器控制器(未示出)发送指定DRAM芯片200的行地址和存储体地址的ACTIVATE命令。将典型地是存储体的8K比特或16K比特的行中的所有比特激活到存储体内的感测放大器中。其次,发送指定存储体地址和列地址的一个或多个READ/WRITE命令。数据总线的大小和突发长度确定每READ/WRITE事务传送的比特的数量。突发长度是控制在数据块的单个突发事务或高速传输中执行的READ/WRITE操作的数量的常见的存储器有关的基本输入/输出系统设置。典型地,将突发长度设置为4或8。当DRAM芯片接收到例如存储器READ请求时,芯片通过跨接口118的信号线提供数据来进行响应。突发长度确定响应于存储器READ请求发送的数据块的大小。具有64比特宽的数据总线(即64个单端信号线或128个差分信号线)和被配置为支持4的突发长度的DRAM芯片的存储器模块响应于来自存储器控制器的单个READ请求发送32字节(4x64比特=32字节)的数据块。另一方面,具有64比特宽的数据总线和被配置为支持8的突发长度的DRAM芯片的存储器模块响应于来自存储器控制器的单个READ请求发送64字节(8x64比特=64字节)的数据块。
当在DRAM芯片的同一存储体中的两个不同行中读取数据时,在可以读取第二行中的数据之前,必须写回第一行,对位线充电,以及通过PRECHARGE命令以及ACTIVATE命令锁存第二行。PRECHARGE命令将该行写回到DRAM存储体,因为ACTIVATE命令破坏性地读取,所以这是必须的。在READ命令、WRITE命令、ACTIVATE命令和PRECHARGE命令中,存储体地址由小数量的比特给出。在同一存储体中,在第一ACTIVATE和第二ACTIVATE命令之间,这些命令操作一般花费大约50ns。因此,除非ACTIVATE命令与PRECHARGE命令之间存在很多READ/WRITE命令,否则命令/地址/数据总线经常保持空闲。然而,如果在不同存储体中读取数据,则因为两个不同存储体之间的ACTIVATE至ACTIVATE时间短了大约8ns,所以可以流水线化到不同存储体的命令。因此,通过交错不同存储体中的请求可以实现更高的吞吐量,当ACTIVATE和PRECHARGE命令对之间不存在很多READ/WRITE命令时尤其如此。
图3A示出包括其中每一个具有8比特数据总线的8个DRAM芯片的传统DIMM 300的示意性表示。方向箭头302表示从存储器控制器(未示出)发送到称为寄存器304的可选设备的命令的分送。寄存器304位于存储器控制器与DRAM芯片之间的总线上。寄存器304锁存来自存储器控制器的命令信号,然后以更好的信号质量和定时裕度将它们转发到每一DRAM芯片,以减少存储器控制器上的电负载并且保持命令信号的稳定性。寄存器304也可以缓冲命令,并且将时钟信号广播到DRAM芯片,以在每存储器控制器具有多个DIMM的系统中促进对不同DIMM的交叠访问。寄存器304通过总线将命令广播到所有8个DRAM芯片,如通过分支方向箭头306和308指示的那样。在其它传统存储器模块中,将命令广播到DRAM芯片而不用寄存器304。
图3B示出传统DIMM操作的示例。如图3B的示例中所示,DIMM 300内的所有DRAM芯片从存储器控制器接收相同命令,并且激活阴影区域310表示的每一DRAM芯片中的相同行。结果,DIMM 300内的所有DRAM芯片充当具有更宽数据路径和更大行的单个DRAM芯片。
如上参照图2描述的那样,DRAM芯片行的大小典型地是8(或16K比特)。为了读取缓存线或者将缓存线写入DIMM,将READ/WRITE命令广播到所有DRAM芯片,并且每一DRAM芯片激活相同行。换句话说,在由8个DRAM芯片组成的典型DIMM中,每一DRAM芯片激活包括8K比特的相同行地址。因此,一次激活DIMM的DRAM单元的8x8K比特或64K比特,其大于待读取或写入的缓存线的大小。典型缓存线在64字节或512比特的量级。因此,因为典型地使用少于1%的激活的DRAM单元在一个缓存线中读取或写入READ和WRITE命令,所以对于单个READ或WRITE事务未使用超过99%的激活的DRAM单元,这是能量的低效使用。
本发明的实施例
本发明的存储器模块实施例引入用于从存储器控制器接收命令的多路分配器寄存器(“多路分配器寄存器”)。存储器芯片可以被一起分组为VMD且与多路分配器寄存器一起安装在印刷电路板上以形成称为“多核双列直插存储器模块”(“MCDIMM”)的单个存储单元。在某些实施例中,存储器芯片可以是DRAM芯片。图4A示出根据本发明的实施例配置的包含布置在电路板412上的8个DRAM芯片401-408和多路分配器寄存器410的单个MCDIMM 400的等距视图。DRAM芯片410-408可以分组成包含一个或多个DRAM芯片的VMD,其示例在下面更详细地描述。
与传统DIMM类似,一个或多个MCDIMM可以安装在电路板上且由存储器控制器控制。图4B示出根据本发明的实施例的安装在电路板424上的存储器420和存储器控制器422的等距视图。存储器420包含分别插入DIMM插槽430-433的MCDIMM 426-429。MCDIMM 400具有存储器控制器422和存储器模块426-429的多路分配器寄存器之间的接口434。接口434包括从存储器控制器422到存储器420载送命令信号的总线以及在存储器控制器422和存储器420之间载送数据信号的数据总线。在该架构中,存储器控制器422发送的命令并不广播到存储器420的DRAM芯片。相反,存储器控制器420向MCDIMM 426-429的多路分配器寄存器发送命令。MCDIMM 426-429中的每一个包括使得多路分配器寄存器能够直接向VMD发送命令的命令总线。
图5A示出根据本发明的实施例配置的MCDIMM 500的一般示意性表示。MCDIMM 500包括n个VMD,其中n是代表MCDIMM 500中的VMD的数目的整数。8个VMD被表示在图5A中且由VMD k 标记,其中下标k是范围从0到n-1的整数。MCDIMM 500配置成使得每个VMD经由信号线的分离集合连接到多路分配器寄存器502。下面参考图5B和5C描述用于多路分配器寄存器502的两个不同实施例。例如,VMD0、VMD1、VMD k 、VMD k+1、VMD n-2和VMD n-1经由信号线集合504-509连接到多路分配器寄存器502。连接VMD和多路分配器寄存器502的组合的信号线集合被称为“命令总线”。每个VMD可以由一个或多个存储器芯片(诸如DRAM芯片)组成。从存储器控制器(未示出)发送到MCDIMM 500的命令通过称为“命令路径”的信号线集合510到达多路分配器寄存器502。每个VMD在图5A中由双头箭头(诸如双头箭头511)标识的分离数据总线上与存储器控制器交换数据。
图5B示出根据本发明的实施例配置的第一多路分配器寄存器525的示意性表示。多路分配器寄存器525由寄存器512和多路分配器514组成。多路分配器寄存器525经由图5A的命令路径510从存储器控制器接收命令。命令是时分复用的。换句话说,每个命令被编码在比特流中,所述比特流在固定的持续时间时隙中从存储器控制器发送到多路分配器寄存器525。在图5B中,时分复用的命令的时隙由一系列矩形515-520表示。图5B中表示的每个命令包括意欲接收命令的图5A中的VMD的索引。命令被发送到多路分配器寄存器525的顺序由存储器控制器确定。因而,在图5B中,命令以该顺序出现。嵌入在命令中的是标识待执行的特定种类的操作的控制信号、标识存储体、行或列的地址信号以及标识由存储器控制器分配为接收命令的特定VMD的VMD地址。例如,当命令要被发送到特定VMD时,存储器控制器创建包括标识该VMD的VMD地址的命令。一般而言,VMD地址是包含log2 n个比特的比特串。
寄存器512是接收且临时存储命令的缓冲器。多路分配器514包括两个输入。如方向箭头522和524所表示的,寄存器向一个输入发送命令且向另一输入发送VMD地址。多路分配器514使用VMD地址来选择通向由VMD地址标识的VMD的命令总线的信号线的适当集合。在图5B中,命令总线的信号线的n个集合中的6个通过对应于信号线集合504-509的方向箭头504-509表示,且使用图5A中示出的相关VMD的索引进行标记。注意,在处理后续命令之前,每个命令在特定时间间隔内被多路分配器寄存器525单独处理。
例如参考图5A-5B,考虑存储器控制器向VMD k 发送命令k-1 519。在图5A中,命令k-1 519沿着命令路径510发送到多路分配器寄存器525。如图5B所示,寄存器512接收且临时存储命令k-1 519,且VMD地址和命令被发送到多路分配器514,其然后选择信号线的适当集合506来向图5A中的VMD k 发送命令k-1 519。在发送命令k-1 519之后,下一命令l 518 以类似的方式被处理。
如图5B所示,多路分配器寄存器525可选地包括与每个信号线集合相关的计数器。当VMD的DRAM芯片不能支持与缓存线的READ或WRITE事务相关的长突发长度时,可能需要计数器。多路分配器寄存器将缓存线划分为缓存线片段且将命令转换为多个命令,每个命令对应于缓存线片段。因而,由计数器发送的对应命令在发送到VMD的每个缓存线片段之前。例如,当不能将VMD的一个或多个DRAM芯片的突发长度设置得足够长以覆盖缓存线时,计数器将列级别命令(例如READ或WRITE)转换为用于每一缓存线片段的若干READ/WRITE命令,从而可以分离地READ每一缓存线片段或将每一缓存线片段WRITEN到DRAM芯片。每一计数器包括跟踪为划分的缓存线生成的命令的数量的计数设备。计数器执行的转换节省了来自存储器控制器的命令带宽。
图5C示出根据本发明的实施例配置的第二多路分配器寄存器527的示意性表示。多路分配器寄存器527包含标为0至n-1的n个命令选择器以及广播总线528,对于图5A中示出的n个VMD中的每一个都有一个命令选择器。如上面参考图5B所描述的,存储器控制器在命令路径510上向多路分配器寄存器527发送时分复用命令515-520。命令选择器经由支路529-534电子地连接到广播总线528,且每个命令选择器经由命令总线中的某个信号线集合连接到VMD之一。在图5C中,命令总线中的信号线的n个集合中的6个由对应于信号线集合504-509的方向箭头504-509表示且使用图5A示出的相关VMD的索引进行标记。如图5C所示,每个命令被广播到所有的n个命令选择器。每个命令选择器配置成提取嵌入在命令中的VMD地址以确定命令是否要被转发到对应的VMD或命令是否被寻址到不同VMD,在命令被寻址到不同VMD的情况下,命令被丢弃。因而,对于广播到所有n个命令选择器的每个命令而言,该命令仅被命令选择器之一发送到对应的VMD。例如,多路分配器寄存器527接收命令n-2 520且将其广播到所有n个命令选择器0至n-1。然而,因为命令n-2 520包括VMD n-2的地址,所以命令选择器n-2通过信号线集合508将命令n-2 520发送到VMD n-2且其他命令选择器丢弃命令n-2 520。注意,在处理后续命令之前,每个命令在特定时间间隔内被多路分配器寄存器527单独处理。
图5D示出根据本发明的实施例配置的示例性命令选择器n-2的示意性表示。其他的n-1个命令选择器被类似配置。命令选择器n-2包含AND(与)门530、寄存器/计数器532以及随机存取存储器(“RAM”)定时控制534。命令在支路533上被输入到命令选择器n-1。AND门530提取嵌入在每个命令中的VMD地址且接收系统时钟信号。AND门530配置成在提取的VMD地址匹配对应的VMDn-2的地址时向寄存器/计数器532发送选择信号。寄存器/计数器接收时钟信号以确定寄存器/计数器何时锁存命令,且可以配置成在每个上升和/或下降时钟沿对选择信号执行动作。寄存器/计数器532是在从AND门530接收到选择信号时临时存储命令且向对应的VMD n-2发送命令的缓冲器。寄存器/计数器532还包括如上面参考图5B所描述的执行缓存线和命令划分的计数器。RAM定时控制534控制寄存器/计数器532的计数器部分。
一般而言,AND门在所有输入信号对应于比特“1”时输出对应于比特“1”的信号且在输入信号中的至少一个对应于比特“0”时输出对应于比特“0”的信号,其中比特“1”和“0”可以分别代表信号的高和低电压。命令选择器0至n-1的AND门可以包括某些输入信号线上的反相器。反相器将与比特“0”相关的信号转变成与比特“1”相关的信号且反之亦然。AND门包括某些输入信号线上的反相器以将代表对应VMD的VMD地址转变成包含全“1”比特的比特流。AND门然后向寄存器/计数器532输出对应于比特“1”的选择信号。例如,假设VMD n-2的VMD地址包含比特流11…1101。AND门530包括反相器536,其反转在线538上进入AND门530的信号的电压。因而,如图5D所示,当嵌入在命令中的VMD地址匹配地址11…1101时,地址被转变成11…1111,且AND门530向寄存器/计数器532输出代表比特“1”的选择信号,当由时钟指示时,寄存器/计数器532锁存命令到信号线集合508。对于其他地址,进入AND门530的比特流包括至少一个“0”比特,且AND 门530不输出信号或者输出对应于比特“0”的低信号。因而,寄存器/计数器532不锁存命令到信号线集合508。
下面参考图6至8描述若干不同的MCDIMM实施例。每个实施例代表不同的多路分配器寄存器和命令总线配置且绝非意欲穷尽可以根据本发明的实施例配置的不同多路分配器寄存器和命令总线的数目。
图6A-6B分别示出根据本发明的实施例配置的MCDIMM 600和相关的多路分配器寄存器602的示意性表示。如图6A所示,MCDIMM 600包括8个VMD,每个VMD包含标记为1-8的单个DRAM芯片。命令总线由连接DRAM 1-8的每个与多路分配器寄存器602的信号线的八个集合604-611组成。命令在命令路径612上从存储器控制器(未示出)发送到多路分配器寄存器602。根据log2 n,其中n等于8, DRAM 1-8的每个可以被分配三比特VMD地址000、001、010、011、100、101、110和111中的一个,它们被包括在从存储器控制器发送到多路分配器寄存器602的命令中。DRAM芯片1-8的每个通过命令总线接收不同命令且经由如双头箭头(诸如双头箭头613)所表示的其自己的数据总线独立于其他DRAM芯片传输数据。
在某些实施例中,图6B的多路分配器寄存器602包含寄存器614和多路分配器616。存储器控制器将每个命令准备成具有对应于要接收该命令的DRAM芯片的VMD地址。如图6B的示例中所示,每个命令被时分复用且由标记有与DRAM芯片1-8之一相关的整数的矩形表示。寄存器614串行地接收每个命令,读取VMD地址,且如方向箭头618和620所示,分别向多路分配器616的分离的输入发送VMD地址和命令。多路分配器616使用VMD地址来选择载送命令到VMD的信号线的合适集合604-611。多路分配器寄存器602可选地包括计数器,当VMD不能支持长突发缓存线时可以实施该计数器。
发送命令到MCDIMM 600的示例开始于存储器控制器沿命令路径612向多路分配器寄存器602发送意欲用于DRAM芯片3的命令。如图6B所示,寄存器614接收命令3 624且沿着信号线618和620向多路分配器716发送DRAM 芯片3的VMD地址和命令。基于VMD地址,多路分配器616选择信号线集合606以发送命令到DRAM芯片3。
在其他实施例中,图6C的多路分配器寄存器602包含标为0-7的8个命令选择器。每个命令被广播到所有7个命令选择器。每个命令选择器配置成提取嵌入在命令中的VMD地址以确定命令是否要被转发到对应VMD或者命令是否被寻址到不同VMD且被丢弃。例如,图6C的多路分配器寄存器602接收命令3且通过广播总线626将其广播到所有7个命令选择器。然而,因为命令3 624包括VMD3的地址,所以命令选择器3在信号线集合607上向VMD3发送命令3 624,且其他命令选择器丢弃命令3 624。
图6D示出根据本发明的实施例配置的命令选择器3的示意性表示。命令选择器3包含AND门628、寄存器/计数器630和RAM定时控制632。其他命令选择器被类似地配置。命令在支路634上被输入到命令选择器3。AND门628提取每个命令的VMD地址部分且确定何时选择寄存器/计数器630。当VMD地址被输入到AND门628时,反相器636对在线638上进入AND门628的比特值进行反相。因而,当嵌入在命令中的VMD地址匹配VMD2的三比特地址011时,该地址被转变成111,且AND门628输出对应于比特“1”的选择信号,否则,没有选择信号被发送到寄存器/计数器630。时钟信号也被输入到寄存器/计数器630,使得寄存器/计数器630在时钟信号的上升和/或下降沿锁存命令。
在图6A-6B的示例MCDIMM 600中,每存储器访问请求仅涉及一个DRAM芯片。DRAM芯片的阴影区域代表与不同命令相关的不同独立存储器请求。每个DRAM芯片通过命令总线接收命令且独立地使用其自己的数据总线传输数据。因而较少的比特被激活,节省了用于激活和预充电的能量。然而,与传统DIMM相比,因为数据总线大小小于传统DIMM中的数据总线大小,可能需要更多的时间来传送数据。为了传输数据,数据可以被划分成串行化的较小数据部分,其中每个部分单独地从VMD发送到存储器控制器。然而,与从传统DIMM向存储器控制器发送数据相比,串行化数据扩展了发送数据需要的时间量。该附加的串行化延时问题可能对于系统性能具有不利影响。串行化延时问题可以通过将MCDIMM配置成具有包含两个或更多DRAM芯片的VMD来缓解。
图7A-7B示出根据本发明的实施例配置的MCDIMM 700和相关的多路分配器寄存器702的示意性表示。如图7A所示,MCDIMM 700包括由VMD k 标识的4个VMD,其中k是范围从1至4的整数。每个VMD包含2个DRAM芯片。命令总线由连接每个VMD到多路分配器寄存器702的信号线的四个集合704-707组成。命令沿着命令路径708从存储器控制器(未示出)发送到多路分配器寄存器702。根据log2 n,其中n等于4,每个VMD可以被分配两比特VMD地址00、01、10和11之一,这些地址被包括在命令中以标识意欲接收该命令的VMD。每个VMD通过命令总线接收不同的命令且经由双头箭头(诸如双头箭头709)所表示的其自己的数据总线独立于其他VMD传输数据。
在图7B中,多路分配器寄存器702包含寄存器710和多路分配器712。每个命令被时分复用且由标记有标识MCDIMM 700中的VMD之一的整数的矩形表示。寄存器701串行地接收每个命令,读取DRAM地址,且分别沿着信号线714和716将DRAM地址和命令发送到多路分配器712。多路分配器712使用VMD地址在信号线集合704-707中的合适集合上向VMD发送命令。
在图7C中,多路分配器寄存器702包含标为0-3的4个命令选择器。每个命令通过广播总线718被广播到所有4个命令选择器,命令选择器提取嵌入在命令中的VMD地址以确定命令是否要被转发到对应VMD或者命令是否要被丢弃。
图7D示出根据本发明的实施例配置的命令选择器2的示意性表示。命令选择器2包含AND门720、寄存器/计数器722以及RAM定时控制724。命令在支路726上被输入到命令选择器2。AND门720提取每个命令的VMD地址部分以确定何时选择寄存器/计数器722。当VMD地址匹配两比特VMD 地址10时,该地址被转变成11,且AND门720向寄存器/计数器722输出对应于比特“1”的选择信号,否则没有选择信号被发送到寄存器/计数器722且命令被丢弃。输入到寄存器/计数器722的时钟信号在时钟信号的上升和/或下降沿锁存命令。
在图7A-7B的示例MCDIMM 700中,每存储器访问请求涉及由DRAM芯片的等同地画阴影的区域表示的两个DRAM芯片。每个VMD的DRAM芯片通过命令总线接收命令且独立地使用相关数据总线传输数据。因而,和传统DIMM相比,较少的比特被激活,但是与MCDIMM 600类似,串行化问题仍可能发生,且和传统DIMM相比可能需要更多的时间来传输该相同量的数据。注意,当需要多个突发来写缓存线时,多路分配器寄存器702也可选地包括计数器。
DRAM芯片还可以被分组在一起以支持纠错码(“ECC”)以便保护数据和数据传输免受软错误,软错误通常是各个存储器单元的破坏。典型地可以通过针对数据的每8个比特添加ECC比特(通常通过并行地访问9的倍数的DRAM芯片而不是8的倍数的DRAM芯片(a multiple of 8 DRAM chips))来实施ECC。因而,在某些实施例中,各个DRAM芯片可以配置有附加数据单元和在9比特数据路径而不是8比特数据路径上输出的总线比特。
在其他实施例中,一部分芯片地址范围可以专用于ECC比特且多路分配器寄存器的相同命令转换特征可用于按组传输数据和ECC比特。
在另外的其他实施例中,分离的较低存储容量DRAM芯片可以与每VMD的多个DRAM芯片配对。图8示出根据本发明的实施例的配置成支持ECC的MCDIMM 800的示意性表示。如图8的示例所示,MCDIMM 800包括通过命令路径804从存储器控制器(未示出)接收命令的多路分配器寄存器802且包括含有四个信号线集合806-809的命令总线。每个信号线集合向每个VMD载送命令。MCDIMM 800几乎与MCDIMM 700相同,除了每个VMD包括附加的小容量DRAM芯片。例如,VMD2包括用于存储数据的两个常规DRAM芯片810和811以及用于存储ECC比特的附加的相对较小存储容量的DRAM芯片812。每个VMD的数据和ECC比特可以在数据总线上被单独读出。
图9示出根据本发明的实施例的用于控制包括至少一个虚拟存储器设备的存储器模块的方法的控制流程图。在步骤901,存储器控制器准备要由存储器模块的VMD之一接收的命令,方式是通过在该命令中编码该VMD的分配的地址。在步骤902,存储器控制器将命令发送到存储器模块的多路分配器寄存器。如上面参考图5A所描述的,多路分配器寄存器通过命令路径接收命令。在步骤903,多路分配器寄存器包括寄存器,所述寄存器读取命令的VMD地址且确定哪个VMD要接收命令,如上面参考图5B所描述的。在步骤904,寄存器向多路分配器发送命令和地址,多路分配器基于该地址选择命令总线中的信号线的合适集合,在该信号线的合适集合上放置发送到VMD的命令,如上面参考图5A-5B所描述的。在步骤905,方法返回且针对下一存储器请求重复步骤901-904。
为了解释的目的,前面的描述使用特定词汇来提供本发明的透彻理解。然而,本领域技术人员应理解,为了实践本发明,并不需要具体细节。给出本发明具体实施例的前面描述,目的是进行说明和描述。它们并非意欲穷尽本发明或者将其限制为所公开的精确形式。显然,根据以上教导,很多修改和变化是可能的。示出并且描述实施例,以最佳地解释本发明的原理及其实际应用,由此使得本领域其他技术人员能够最佳地利用本发明以及具有适于所考虑的特定使用的各个修改的各个实施例。本发明的范围意欲由所附权利要求及其等同物所定义。

Claims (15)

1. 一种存储器模块(500),包含:
至少一个虚拟存储器设备,其包括至少一个存储器芯片;以及
多路分配器寄存器(502),其电子地连接到该至少一个虚拟存储器设备和存储器控制器,其中,该多路分配器寄存器从该存储器控制器接收标识该至少一个虚拟存储器设备之一的命令且将该命令发送到在该命令中标识的虚拟存储器设备。
2. 根据权利要求1所述的存储器模块,其中该存储器芯片还包含动态随机存取存储器芯片(401-408)。
3. 根据权利要求1所述的存储器模块,其中该命令以时分复用的方式从存储器控制器发送到多路分配器寄存器,使得在固定持续时间间隔(515-520)中每个命令到达多路分配器寄存器且被发送到命令中标识的虚拟存储器设备。
4. 根据权利要求1所述的存储器模块,其中该多路分配器寄存器(525)还包含:
寄存器(512),其配置成接收命令且确定命令中标识的虚拟存储器设备的虚拟存储器设备地址;以及
多路分配器(514),其配置成从该寄存器接收命令和地址且选择通过其向虚拟存储器设备发送该命令的一组信号。
5. 根据权利要求4所述的存储器模块,其中该多路分配器寄存器502还包含计数器,所述计数器将命令转换成多个命令以使得缓存线能够由多路分配器寄存器划分成缓存线片段,其中每个命令与缓存线片段之一相关且所述多个命令和相关的缓存线片段串行地被发送到虚拟存储器设备。
6. 根据权利要求1所述的存储器模块,其中该多路分配器寄存器还包含:
至少一个命令选择器,每个命令选择器电子地连接到该至少一个虚拟存储器设备之一;以及
广播总线(528),其配置成向该至少一个命令选择器广播命令,其中每个命令选择器配置成提取嵌入在命令中的虚拟存储器设备地址且在该地址匹配连接的虚拟存储器设备的地址时向连接的虚拟存储器设备转发该命令,否则命令选择器丢弃该命令。
7. 根据权利要求6所述的存储器模块,其中该命令选择器还包含:
AND门,其配置成从命令中提取虚拟存储器设备地址且在该地址匹配连接的虚拟存储器设备的地址时产生选择信号;
寄存器/计数器,其配置成在AND门提供选择信号时接收命令并将其发送到连接的虚拟存储器设备,否则寄存器/计数器丢弃命令;以及
RAM定时控制,其控制缓存线和命令到较小缓存线片段的划分。
8. 根据权利要求1所述的存储器模块,其中电子地连接到该至少一个虚拟存储器设备的多路分配器寄存器(502)还包含布置在该多路分配器寄存器和该至少一个虚拟存储器设备之间的命令总线,其中该命令总线包含连接该至少一个虚拟存储器设备的每一个到多路分配器寄存器(502)的信号线的分离集合(504-509)。
9. 根据权利要求1所述的存储器模块,还包含连接存储器控制器到多路分配器寄存器(502)的命令路径(510)。
10. 根据权利要求1所述的存储器模块,其中该至少一个虚拟存储器设备还包含配置成存储纠错码信息的存储器芯片(812)。
11. 一种用于控制包含至少一个虚拟存储器设备的存储器模块的方法,该方法包含:
在存储器控制器处准备(901) 命令以包括对应于该至少一个虚拟存储器设备之一的地址;
将该命令从存储器控制器发送(902)到存储器模块的多路分配器寄存器;
确定(903)该至少一个虚拟存储器设备中的哪一个被该地址标识;以及
发送(904)该命令到该地址标识的虚拟存储器设备。
12. 根据权利要求11所述的方法,其中将该命令从存储器控制器发送到多路分配器寄存器还包含时分复用该命令以在固定持续时间间隔(515-520)中到达该多路分配器寄存器且被发送到该命令中标识的虚拟存储器设备。
13. 根据权利要求1所述的方法,其中确定该至少一个虚拟存储器设备中的哪一个被该地址标识还包含读取嵌入在该命令中的虚拟存储器设备地址。
14. 根据权利要求11所述的方法,其中该虚拟存储器设备还包含至少一个存储器芯片(401-408)。
15. 根据权利要求11所述的方法,其中发送该命令到该地址标识的虚拟存储器设备还包含:
将该命令转换成多个命令;以及
将该命令分配到缓存线片段。
CN200880131469.1A 2008-08-08 2008-08-08 存储器模块中独立受控的虚拟存储器设备 Active CN102177550B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/009523 WO2010016818A1 (en) 2008-08-08 2008-08-08 Independently controlled virtual memory devices in memory modules

Publications (2)

Publication Number Publication Date
CN102177550A true CN102177550A (zh) 2011-09-07
CN102177550B CN102177550B (zh) 2014-03-12

Family

ID=41663890

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880131469.1A Active CN102177550B (zh) 2008-08-08 2008-08-08 存储器模块中独立受控的虚拟存储器设备

Country Status (6)

Country Link
US (1) US8788747B2 (zh)
EP (1) EP2313891B1 (zh)
JP (1) JP5231642B2 (zh)
KR (1) KR101467623B1 (zh)
CN (1) CN102177550B (zh)
WO (1) WO2010016818A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391397A (zh) * 2011-09-30 2017-11-24 英特尔公司 支持近存储器和远存储器访问的存储器通道

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8472199B2 (en) * 2008-11-13 2013-06-25 Mosaid Technologies Incorporated System including a plurality of encapsulated semiconductor chips
US8612676B2 (en) 2010-12-22 2013-12-17 Intel Corporation Two-level system main memory
US11048410B2 (en) 2011-08-24 2021-06-29 Rambus Inc. Distributed procedure execution and file systems on a memory interface
WO2013028854A1 (en) 2011-08-24 2013-02-28 Rambus Inc. Methods and systems for mapping a peripheral function onto a legacy memory interface
US9098209B2 (en) 2011-08-24 2015-08-04 Rambus Inc. Communication via a memory interface
US20130111122A1 (en) * 2011-10-31 2013-05-02 Futurewei Technologies, Inc. Method and apparatus for network table lookups
US9412423B2 (en) * 2012-03-15 2016-08-09 Samsung Electronics Co., Ltd. Memory modules including plural memory devices arranged in rows and module resistor units
US9934194B2 (en) 2013-12-20 2018-04-03 Rambus Inc. Memory packet, data structure and hierarchy within a memory appliance for accessing memory
KR102222445B1 (ko) 2015-01-26 2021-03-04 삼성전자주식회사 선택적으로 동작하는 복수의 디램 장치를 포함하는 메모리 시스템
KR102406267B1 (ko) * 2015-11-19 2022-06-08 삼성전자주식회사 불휘발성 메모리 모듈 및 이를 포함하는 전자 장치
KR102446677B1 (ko) 2015-11-26 2022-09-23 삼성전자주식회사 스토리지 컨트롤러의 동작 방법 및 상기 스토리지 컨트롤러를 포함하는 데이터 저장 장치의 동작 방법
US9542290B1 (en) 2016-01-29 2017-01-10 International Business Machines Corporation Replicating test case data into a cache with non-naturally aligned data boundaries
US10169180B2 (en) 2016-05-11 2019-01-01 International Business Machines Corporation Replicating test code and test data into a cache with non-naturally aligned data boundaries
US10055320B2 (en) 2016-07-12 2018-08-21 International Business Machines Corporation Replicating test case data into a cache and cache inhibited memory
US10223225B2 (en) 2016-11-07 2019-03-05 International Business Machines Corporation Testing speculative instruction execution with test cases placed in memory segments with non-naturally aligned data boundaries
US10261878B2 (en) 2017-03-14 2019-04-16 International Business Machines Corporation Stress testing a processor memory with a link stack
US10534555B2 (en) 2017-11-29 2020-01-14 International Business Machines Corporation Host synchronized autonomous data chip address sequencer for a distributed buffer memory system
US10747442B2 (en) 2017-11-29 2020-08-18 International Business Machines Corporation Host controlled data chip address sequencing for a distributed memory buffer system
US10489069B2 (en) 2017-11-29 2019-11-26 International Business Machines Corporation Address/command chip synchronized autonomous data chip address sequencer for a distributed buffer memory system
US10395698B2 (en) 2017-11-29 2019-08-27 International Business Machines Corporation Address/command chip controlled data chip address sequencing for a distributed memory buffer system
JP7469978B2 (ja) 2020-07-22 2024-04-17 株式会社日立製作所 プリント配線板及び情報処理装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5982696A (en) 1996-06-06 1999-11-09 Cirrus Logic, Inc. Memories with programmable address decoding and systems and methods using the same
US5960468A (en) * 1997-04-30 1999-09-28 Sony Corporation Asynchronous memory interface for a video processor with a 2N sized buffer and N+1 bit wide gray coded counters
US6182253B1 (en) * 1997-07-16 2001-01-30 Tanisys Technology, Inc. Method and system for automatic synchronous memory identification
JP4098496B2 (ja) 2001-06-22 2008-06-11 株式会社ルネサステクノロジ 半導体記憶装置
US6865646B2 (en) * 2001-12-31 2005-03-08 Intel Corporation Segmented distributed memory module cache
DE10223178B4 (de) 2002-05-24 2004-11-04 Infineon Technologies Ag Schaltungsanordnung mit einer Ablaufsteuerung, integrierter Speicher sowie Testanordnung mit einer derartigen Schaltungsanordnung
US7505890B2 (en) * 2003-01-15 2009-03-17 Cox Communications, Inc. Hard disk drive emulator
US7590796B2 (en) * 2006-07-31 2009-09-15 Metaram, Inc. System and method for power management in memory systems
US20080082763A1 (en) * 2006-10-02 2008-04-03 Metaram, Inc. Apparatus and method for power management of memory circuits by a system or component thereof
US7464225B2 (en) * 2005-09-26 2008-12-09 Rambus Inc. Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology
US20070156947A1 (en) 2005-12-29 2007-07-05 Intel Corporation Address translation scheme based on bank address bits for a multi-processor, single channel memory system
WO2007095080A2 (en) * 2006-02-09 2007-08-23 Metaram, Inc. Memory circuit system and method
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
JP5292935B2 (ja) 2008-06-16 2013-09-18 日本電気株式会社 メモリモジュール制御方法及びメモリモジュール並びにデータ転送装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391397A (zh) * 2011-09-30 2017-11-24 英特尔公司 支持近存储器和远存储器访问的存储器通道

Also Published As

Publication number Publication date
EP2313891B1 (en) 2016-04-27
KR20110059712A (ko) 2011-06-03
US20110145493A1 (en) 2011-06-16
JP5231642B2 (ja) 2013-07-10
KR101467623B1 (ko) 2014-12-01
US8788747B2 (en) 2014-07-22
WO2010016818A1 (en) 2010-02-11
CN102177550B (zh) 2014-03-12
JP2011530735A (ja) 2011-12-22
EP2313891A1 (en) 2011-04-27
EP2313891A4 (en) 2011-08-31

Similar Documents

Publication Publication Date Title
CN102177550B (zh) 存储器模块中独立受控的虚拟存储器设备
CN102177551B (zh) 与标准存储器模块管脚兼容的存储器模块中的独立可控制和可重新配置的虚拟存储器设备
CN102187323B (zh) 多核存储器模块中的功率下降模式的动态利用
CN1977336B (zh) 改善支持多存储器访问延迟的计算机存储器系统的性能的系统和方法
US6769050B1 (en) Techniques for increasing bandwidth in port-per-module memory systems having mismatched memory modules
CN102405498B (zh) 可配置带宽存储器装置及方法
US8819359B2 (en) Hybrid interleaving in memory modules by interleaving physical addresses for a page across ranks in a memory module
US7516264B2 (en) Programmable bank/timer address folding in memory devices
US6636935B1 (en) Techniques for increasing bandwidth in port-per-module memory systems having mismatched memory modules
US20070294466A1 (en) System, method and storage medium for a memory subsystem command interface
CN101213532A (zh) 微瓦片存储器接口
CN101095196A (zh) 微线程存储器
KR20080077214A (ko) 메모리 칩 및 이를 포함하는 시스템
CN103154917B (zh) 利用等级聚合的内存扩展
KR101183739B1 (ko) 멀티포트 메모리 슈퍼셀 및 데이터 경로 스위칭 회로를 갖는 집적 회로
CN102541769A (zh) 一种存储器接口访问控制方法及装置
US20160313923A1 (en) Method for accessing multi-port memory module and associated memory controller
CN1171577A (zh) 可编程读/写访问信号及其方法
US6826657B1 (en) Techniques for increasing bandwidth in port-per-module memory systems having mismatched memory modules
KR20180049386A (ko) 랭크 레벨에서 병렬화를 지원하는 메모리 장치 및 메모리 시스템
US10312943B2 (en) Error correction code in memory
CN1307556C (zh) 信息处理装置
US8473696B2 (en) Adaptive buffer device and method thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170120

Address after: American Texas

Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

Address before: American Texas

Patentee before: Hewlett Packard Development Co.