CN107958679A - 存储器模块和用于存储器模块的处理数据缓冲器 - Google Patents
存储器模块和用于存储器模块的处理数据缓冲器 Download PDFInfo
- Publication number
- CN107958679A CN107958679A CN201710953332.5A CN201710953332A CN107958679A CN 107958679 A CN107958679 A CN 107958679A CN 201710953332 A CN201710953332 A CN 201710953332A CN 107958679 A CN107958679 A CN 107958679A
- Authority
- CN
- China
- Prior art keywords
- data
- memory module
- command
- input
- address
- 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
Links
Classifications
-
- 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/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1057—Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- 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/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1063—Control signal output circuits, e.g. status or busy flags, feedback command signals
-
- 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/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1084—Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- 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/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/109—Control signal input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/10—Decoders
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Dram (AREA)
Abstract
提供了存储器模块和用于存储器模块的处理数据缓冲器。存储器模块包括存储器装置、命令/地址缓冲装置和处理数据缓冲器。存储器装置包括:存储器单元阵列;第一输入/输出端子组,每个端子被配置为接收第一命令/地址位;第二输入/输出端子组,每个端子被配置为接收数据位和第二命令/地址位两者。命令/地址缓冲装置被配置为向第一输入/输出端子组输出第一命令/地址位。处理数据缓冲器被配置为向第二输入/输出端子组输出数据位和第二命令/地址位。存储器装置被配置为使得第一命令/地址位、第二命令/地址位和数据位均用来访问存储器单元阵列。
Description
技术领域
本发明构思的示例实施例涉及半导体存储器装置,更具体地,涉及具有处理器模式的存储器模块和包括存储器模块的存储器***。
背景技术
在传统的计算***架构中,指令(或程序)和数据被存储在与主机处理器分隔开的存储器装置中,指令和数据应该从存储器装置传输到主机处理器以基于指令对数据执行数据处理。因此,尽管主机处理器的处理速度已经提高,但存储器装置和主机处理器之间的数据传输速率会成为性能改善的瓶颈,因此计算***的吞吐量会受限制。为了解决这个问题,已经开发了处理器逻辑紧密结合到存储器单元的存储器内处理(PIM)装置。PIM装置可以改善数据处理速度和数据传输速率。
发明内容
一些示例实施例提供了一种存储器模块,该存储器模块可以符合存储器模块标准并且可以在不对存储器装置进行结构上的改变的情况下以存储器内处理架构来实现。
一些示例实施例提供了一种包括该存储器模块的存储器***。
在一些实施例中,存储器模块包括存储器装置、命令/地址缓冲装置和处理数据缓冲器。存储器装置包括存储器单元阵列;第一输入/输出端子组,每个端子被配置为接收第一命令/地址位;第二输入/输出端子组,每个端子被配置为接收数据位和第二命令/地址位两者。命令/地址缓冲装置被配置为向第一输入/输出端子组输出第一命令/地址位。处理数据缓冲器被配置为向第二输入/输出端子组输出数据位和第二命令/地址位。存储器装置被配置为使得第一命令/地址位、第二命令/地址位和数据位均用来访问存储器单元阵列。
在一些实施例中,存储器模块包括多个存储器装置、命令/地址缓冲装置和多个处理数据缓冲器。所述多个存储器装置中的每个包括:存储器单元阵列;第一输入/输出端子组,每个端子被配置为接收第一命令/地址位;第二输入/输出端子组,每个端子被配置为接收数据位。命令/地址缓冲装置被配置为向第一输入/输出端子组输出第一命令/地址位。所述多个处理数据缓冲器中的每个被配置为在用作各个存储器装置的数据缓冲器和用作对从所述各个存储器装置接收的数据执行处理操作的处理器之间切换。
在一些实施例中,用于存储器模块的处理数据缓冲器包括:数据缓冲器部分;处理器部分;选择电路,连接到数据缓冲器部分和处理器部分并且被配置为在数据缓冲器部分和处理器部分之间进行选择;多条第一输入/输出线,连接在选择电路和数据缓冲器部分之间;多条第二输入/输出线,连接在选择电路和处理器部分之间;第一输入/输出端子组,连接到数据缓冲器部分并用来与处理数据缓冲器的外部进行通信;第二输入/输出端子组,连接到选择电路并用来与处理数据缓冲器的外部进行通信。
在一些实施例中,形成在模块板(module board)上的非易失性双列直插存储器模块(NVDIMM)包括:多个DRAM存储器装置、与所述多个DRAM存储器装置连接的多个非易失性存储器装置、NVDIMM控制器以及分别与所述多个DRAM存储器装置连接的多个处理数据缓冲器。所述多个DRAM存储器装置均包括:存储器单元阵列;第一输入/输出端子组,每个端子被配置为接收第一命令/地址位;以及第二输入/输出端子组,每个端子被配置为接收第一数据位。所述多个非易失性存储器装置均包括:存储器单元阵列;第三输入/输出端子组,每个端子被配置为接收第二命令/地址位;以及第四输入/输出端子组,每个端子被配置为接收第二数据位。NVDIMM控制器被配置为向第一输入/输出端子组输出第一命令/地址位并且被配置为向第三输入/输出端子组输出第二命令/地址位。所述多个处理数据缓冲器中的每个被配置为在用作其相应的存储器装置的数据缓冲器和用作对从其相应的存储器装置接收的数据执行处理操作的处理器之间切换。
在一些实施例中,执行近数据处理的方法包括:向存储器模块发送指示存储器模块的处理数据缓冲器在处理器模式下进行操作的处理器模式进入命令;并且向存储器模块发送指示存储器模块的处理数据缓冲器结束在处理器模式下的操作并在数据缓冲器模式下进行操作的处理器模式退出命令。
在一些实施例中,执行近数据处理的方法包括:在存储器模块的处理数据缓冲器处接收第一模式命令,第一模式命令指示处理数据缓冲器在处理器模式下进行操作;当在处理器模式下进行操作时,从处理数据缓冲器向与处理数据缓冲器连接的存储器装置传送命令和地址信息;在处理数据缓冲器处接收第二模式命令,第二模式命令指示处理数据缓冲器作为存储器装置的数据缓冲器进行操作;并且当在数据缓冲器模式下进行操作时,从处理数据缓冲器向存储器装置传送数据。
附图说明
通过下面结合附图的详细地描述,将更清楚地理解说明性的、非限制性的示例实施例。
图1A是示出根据示例实施例的处于正常模式下的存储器模块的框图。
图1B是示出根据示例实施例的处于处理器模式下的存储器模块的框图。
图2A是描述向存储器模块中包括的多个处理装置通知处理器模式的进入和退出的示例的图。
图2B是描述向存储器模块中包括的多个处理装置通知处理器模式的进入和退出的另一个示例的图。
图3A是描述包括在存储器模块中的多个处理装置将操作状态信息写入到处理器状态寄存器中的示例的图。
图3B是描述存储器控制器读取存储在处理器状态寄存器中的操作状态信息的示例的图。
图4是示出包括在根据示例实施例的存储器模块中的每个存储器装置的示例的框图。
图5是示出包括在根据示例实施例的存储器模块中的每个存储器装置的另一个示例的框图。
图6是示出经图4的存储器装置的数据引脚传输的信号的示例的时序图。
图7是示出经图5的存储器装置的数据引脚传输的信号的示例的时序图。
图8A是示出包括在根据示例实施例的存储器模块中的每个处理装置的示例的框图。
图8B是示出包括在根据其它示例实施例的存储器模块中的每个处理装置的示例的框图。
图9是示出包括在图8A的处理装置中的处理器的示例的框图。
图10是示出包括在根据示例实施例的存储器模块中的每个处理装置的另一个示例的框图。
图11A是描述在包括图10的处理装置的存储器模块的正常模式下的数据传输的示例的图。
图11B是描述在包括图10的处理装置的存储器模块的处理器模式下的数据传输的示例的图。
图12是示出根据示例实施例的在处理器模式下的存储器模块的框图。
图13是示出根据示例实施例的在处理器模式下的存储器模块的框图。
图14是描述根据示例实施例的图13的存储器模块的操作的时序图。
图15是示出根据示例实施例的在处理器模式下的存储器模块的框图。
图16A是示出根据示例实施例的在正常模式下的存储器模块的框图。
图16B是示出根据示例实施例的在处理器模式下的存储器模块的框图。
图17是示出根据示例实施例的存储器***的框图。
图18是描述在根据示例实施例的存储器***中执行的位布置改变的示例的图。
图19是示出根据示例实施例的包括执行位布置改变的主机处理器的计算***的框图。
图20是示出根据示例实施例的包括执行位布置改变的位重排器的存储器***的框图。
图21是示出根据示例实施例的非易失性双列直插存储器模块(NVDIMM)的图。
具体实施方式
现在,将在下文中参照附图更充分地描述本公开,附图中示出了各种实施例。然而,本发明可以以许多不同的形式来实现,并且不应该被解释为受限于这里所阐述的示例实施例。这些示例实施例仅是示例,许多实施方式和变型是可能的并且不需要在这里提供细节。还应该强调的是,本公开提供了可替代的示例的细节,但替代物的这样的列出并不穷尽。此外,各种示例之间的细节的任何一致性不应被解释为需要这样的细节,为这里所描述的每个特征列出每种可能的变型是不切实际的。在确定本发明的要求时,应参照权利要求的语言。
尽管不同的附图示出了示例性实施例的变型,并且可以使用诸如“一个实施例中”的语言来引用所述附图,但是这些附图并不必意图相互排斥。相反,如将通过下面具体实施例的上下文看到的,当将附图和对它们的描述作为一个整体考虑时,不同附图中描绘和描述的某些特征可以与其它附图中的其它特征结合以得到各种实施例。
将理解的是,尽管在这里可以使用术语第一、第二、第三等来描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应受到这些术语的限制。除非上下文另外指出,否则这些术语仅是用来将一个元件、组件、区域、层或部分与另一个元件、组件、区域、层/或部分区分开,例如,作为命名习惯。因此,在不脱离本发明的教导的情况下,下面在说明书的一个部分中讨论的第一元件、第一组件、第一区域、第一层或第一部分可以在说明书的其它部分中或在权利要求中被称为第二元件、第二组件、第二区域、第二层或第二部分。另外,在某些情况下,即使说明书中没有使用“第一”、“第二”等来描述术语,在权利要求中仍可以称为“第一”或“第二”以便将要求保护的不同元件彼此区分开。
将理解的是,当元件被称作“连接”或“结合”到另一元件或“在”另一元件“上”时,该元件可以直接连接或直接结合到所述另一元件或者直接在所述另一元件上,或者可以存在中间元件。相反,当元件被称作“直接连接”或“直接结合”到另一元件、或者被称作“接触”另一元件或“与”另一元件“接触”时,不存在中间元件。应当以类似的方式解释用于描述元件之间关系的其它词语(例如,“位于……之间”与“直接位于……之间”、“相邻”与“直接相邻”等)。
诸如“大约”或“近似”的术语可以反映仅以小的相对方式和/或以不显著地改变某些元件的操作、功能或结构的方式来变化的量、大小、方向或布局。例如,特别是,如果下述偏差保持与所列范围的效果的相同的效果,那么“大约0.1至大约1”的范围可以包括诸如大约0.1附近的0%-5%偏差和1附近的0%至5%偏差的范围。
如在所公开的技术领域中是传统的,特征和实施例按照功能块、功能单元和/或功能模块被描述并示出在附图中。本领域的技术人员将领会的是,这些块、单元和/或模块被通过诸如逻辑电路、分立组件、微处理器、硬布线电路、存储器元件和布线连接等的电子电路(或光学电路)来物理地实现,所述电子电路(或光学电路)可以使用半导体类的制造技术和/或其它的制造技术来形成。在块、单元和/或模块由微处理器等来实现的情况下,可以使用软件(例如,微码)对它们进行编程以执行这里讨论的各种功能,并且可以可选择地由固件和/或软件来驱动它们。可选择地,每个块、每个单元和/或每个模块可以通过专用硬件来实现或实现为执行一些功能的专用硬件和执行其它功能的处理器(例如,一个或更多个编程微处理器和相关电路)的组合。此外,在不脱离本发明构思的范围的情况下,实施例的每个块、每个单元和/或每个模块可以物理地分成两个或更多个相互作用且分立的块、单元和/或模块。此外,在不脱离本发明构思的范围的情况下,实施例的块、单元和/或模块可以物理地结合成更复杂的块、单元和/或模块。
图1A是示出根据示例实施例的正常模式中的存储器模块的框图,图1B是示出根据示例实施例的处理器模式中的存储器模块的框图。
参照图1A和图1B,存储器模块100包括均具有命令/地址引脚CAP和数据引脚DQP的多个存储器装置111至118、与存储器装置111至118的命令/地址引脚CAP连接的命令/地址缓冲装置130以及各自与存储器装置111至118中的对应的一个存储器装置的数据引脚DQP连接的多个处理装置151至158。命令/地址缓冲装置130经命令/地址总线CA_BUS连接到存储器控制器,处理装置151至158经数据总线DQ_BUS连接到存储器控制器。
命令/地址引脚CAP可以通常称为输入/输出端子组,数据引脚DQP可以通常称为输入/输出端子组。在一些实施例中,不同的输入/输出端子组可以称为第一输入/输出端子组、第二输入/输出端子组或第三输入/输出端子组。这些输入/输出端子用来在存储器装置111至118与处于存储器装置111至118外部的装置之间发送和/或接收信号。命令/地址输入/输出端子CAP可以是第一输入/输出端子组,除了其它事项之外,该第一输入/输出端子组被配置为接收第一命令/地址位(例如,命令位和/或地址位)。因此,命令/地址输入/输出端子CAP可以被连接以便在命令/地址缓冲装置130中的电路和对应存储器装置中的用于处理命令/地址的电路之间对命令和/或地址信号进行通信。数据输入/输出端子DQP可以是第二输入/输出端子组,除了其它事项之外,该第二输入/输出端子组被配置为接收数据位和第二命令/地址位两者。因此,数据输入/输出端子DQP可以被连接以便在对应的处理装置中的电路和对应的存储器装置中的电路之间对数据和命令/地址信号两者进行通信。将在下面进一步地描述这些特征。
在正常模式下,如图1A中示出的,响应于从存储器控制器接收的命令/地址信号CMD/ADDR,存储器模块100可以将从存储器控制器接收的数据DAT1写入到存储器装置111至118中,或者可以从存储器装置111至118读取数据DAT1。
例如,在正常模式下,命令/地址缓冲装置130可以经命令/地址总线CA_BUS从存储器控制器接收命令/地址信号CMD/ADDR,可以对接收的命令/地址信号CMD/ADDR进行缓冲,并且可以向存储器装置111至118的命令/地址引脚CAP输出且提供相同的缓冲后的命令/地址信号CMD/ADDR。通过对命令/地址信号CMD/ADDR进行缓冲,命令/地址缓冲装置130可以改善命令/地址信号CMD/ADDR的信号完整性,并且可以减少存储器控制器关于命令/地址信号CMD/ADDR所经历的负载。命令/地址缓冲装置130可以被称为“寄存时钟驱动器(RCD)”,或简称为命令/地址缓冲器。在一些示例实施例中,命令/地址缓冲装置130可以是符合存储器模块标准(例如,双倍数据速率4负载减少双列直插存储器模块(DDR4LRDIMM)标准)的寄存时钟驱动器。
在命令/地址信号CMD/ADDR指示写入命令的情况下,处理装置151至158(这里也被称为处理数据缓冲器)可以经数据总线DQ_BUS从存储器控制器接收数据DAT1(例如,数据位),对接收的数据DAT1进行缓冲,并且可以将数据DAT1输出且提供到存储器装置111至118的数据引脚DQP,以将数据DAT1写入存储器装置111至118。因为在正常模式下存储器装置111至118接收相同的命令/地址信号CMD/ADDR,所以数据DAT1可以在各个存储器装置111至118的相同地址或相同位置处写入。在某些实施例中,这里描述的处理装置(例如,处理数据缓冲器)151-158可以是半导体芯片(例如,由晶片形成的裸片)或半导体封装件(例如,封装在封装基底上并被包封件包封的一个或更多个裸片)。类似地,在一些实施例中,这里描述的存储器装置111至118可以是半导体芯片或半导体封装件。
在命令/地址信号CMD/ADDR指示读取命令的情况下,处理装置151至158可以经数据引脚DQP接收从存储器装置111至118读取的数据DAT1,可以对接收的数据DAT1进行缓冲,并且可以经数据总线DQ_BUS将数据DAT1提供到存储器控制器。因为在正常模式下存储器装置111至118接收相同的命令/地址信号CMD/ADDR,所以可以例如同时读取在各个存储器装置111至118的相同地址或相同位置处的数据DAT1。
如上所述,在正常模式下,处理装置151至158可以用作对于在存储器控制器与存储器装置111至118之间传输的数据DAT1进行缓冲的数据缓冲器。在一些示例性实施例中,处理装置151至158可以用作符合存储器模块标准(例如,DDR4LRDIMM标准)的数据缓冲器。因为处理装置151至158用作数据缓冲器,所以可以改善数据DAT1的信号完整性,并且可以减少存储器控制器关于数据DAT1所经历的负载。
此外,如上所述,根据示例实施例的存储器模块100可以包括符合存储器模块标准的命令/地址缓冲装置130以及用作符合存储器模块标准的数据缓冲器的处理装置151至158。因此,根据示例实施例的存储器模块100可以连接到符合存储器模块标准的存储器通道,并且可以在正常模式下用作符合存储器模块标准的正常存储器模块(例如,DDR4LRDIMM)。
存储器模块100可以(例如,下面进一步描述的,如图2A中所示的经命令/地址总线CA_BUS、如图2B中所示的经数据总线DQ_BUS或者经此外参见图8A、图8B和图13的其它控制线)受存储器控制器指示以进入处理器模式,并且可以在处理器模式下进行操作。在处理器模式下,如图1B中所示,存储器模块100可以对存储在存储器装置111至118中的数据DAT2执行数据处理。例如,在处理器模式下,每个处理装置(例如,151)可以对存储在与对应的处理装置(例如,151)直接连接的存储器装置(例如,111)中的数据DAT2执行数据处理。由处理装置151至158执行的数据处理可以是包括算术运算和/或逻辑运算的任何数据处理。例如,数据处理可以包括图形数据处理、存储器内数据库数据处理、实时分析数据处理等。数据处理的结果可以例如经数据总线DQ_BUS被发送回存储器控制器,或者可以存储在存储器装置中。如上所述,在某些实施例中,输入/输出端子组(例如,DQP引脚)被配置为在存储器模块100的正常操作模式期间用作数据端子,使得一个处理装置或多个处理装置用作数据缓冲器,并且被配置为在存储器模块的处理器操作模式期间用作命令和地址端子,使得一个处理装置或多个处理装置对存储在对应的一个存储器装置或多个存储器装置中的数据执行算术运算和/或逻辑运算。以这种方式,处理装置均被配置为在用作各个存储器装置的数据缓冲器与用作对从所述各个存储器装置接收的数据执行处理操作的处理器之间进行切换。正常操作模式也可以在此被描述为数据缓冲器模式。
此外,在处理器模式下,处理装置151至158可以并行地执行数据处理,存储器装置111至118可以彼此独立地执行数据读取操作和/或数据写入操作。例如,在处理器模式下,可以在存储器装置111至118的不同地址或不同的相对位置处读取或写入数据DAT2。为了访问位于存储器装置111至118的不同地址处的数据DAT2,多个处理装置151至158可以分别生成多个不同的命令/地址信号CMD/ADDR1至CMD/ADDR8,并且可以分别将所述多个命令/地址信号CMD/ADDR1至CMD/ADDR8提供给多个存储器装置111至118。
在图1B中示出的示例实施例中,每个处理装置(例如,151)可以经存储器装置(例如,111)的数据引脚DQP将处理装置(例如,151)所生成的命令/地址信号(例如,CMD/ADDR1)提供到与处理装置(例如,151)连接的对应的存储器装置(例如,111)。在一些实施例中,可以由处理装置(例如,151)生成命令/地址信号(CMD/ADDR1),处理装置(151)可以被预编程以在接收到处理器模式进入信号时生成某些命令/地址信号。例如,在一个实施例中,可以经DQ_BUS从存储器控制器直接到处理装置来接收处理器模式进入信号(参见关于图2B和图8A的进一步描述)。作为响应,处理装置151可以进入处理器模式,在所述处理器模式下,一个或更多个预编程的命令/地址信号CMD/ADDR1被传送到对应的存储器装置111。可选择地,存储器控制器可以传送包括处理器模式进入命令和附加命令/地址信号两者的信号,处理装置151随后可以把附加命令/地址信号发送到对应的存储器装置111。
在另一实施例中,如下面关于图2A、图8B和图13进一步描述的,可以在命令/地址缓冲装置130处从存储器控制器接收处理器模式进入信号或者具有附加命令/地址信号的处理器模式进入信号,随后可以例如经控制总线(BCOM_BUS)将该信号从命令/地址缓冲装置130直接转发/传送到处理装置151。在一些示例实施例中,每个处理装置(例如,151)可以以时分的方式(或时间上复用方式)经数据引脚DQP向对应的存储器装置(例如,111)传送/接收数据DAT2或者传送命令/地址信号(例如,CMD/ADDR1)。例如,每个处理装置(例如,151)可以在一个时间段期间使用数据引脚DQP作为传送命令/地址信号(例如,CMD/ADDR1)的引脚,并且可以在另一个时间段期间使用数据引脚DQP作为传送/接收数据DAT2的引脚,这两个时间段都是处理器模式的一部分。在其它示例实施例中,每个处理装置(例如,151)可以以空分的方式(或空间上复用方式)经数据引脚DQP向对应的存储器装置(例如,111)传送/接收数据DAT2或者传送命令/地址信号(例如,CMD/ADDR1)。例如,每个处理装置(例如,151)可以使用数据引脚DQP中的一部分数据引脚作为传送命令/地址信号(例如,CMD/ADDR1)的引脚,并且可以使用数据引脚DQP中的剩余部分的数据引脚作为传送/接收数据DAT2的引脚。这将在后面进一步地详细描述。因此,在处理器模式期间,作为由处理装置151-158执行的数据处理操作的一部分,可以在存储器装置111至118和对应的处理装置151至158之间发送数据和命令/地址信号两者。
因此,如上面关于图1A和图1B所讨论的处理数据缓冲器(例如,处理装置151至158中的每个)被配置为将数据位和命令/地址位两者输出到对应的存储器装置的输入/输出端子组DQP,并且还可以从对应的存储器装置接收数据位。以这种方式,每个存储器装置被配置为使得(例如,在正常操作期间从CAP引脚接收的)第一命令/地址位、(例如,在处理器操作期间从DQP引脚接收的)第二命令/地址位和(例如,在两种操作中的任意一个操作中从DQP引脚接收的)数据位都用于访问存储器单元阵列。
不同于与符合存储器模块标准的存储器通道连接的正常存储器模块,包括存储器内处理(PIM,processing-in-memory)装置的传统的存储器模块以点对点(P-to-P)方式连接到存储器通道。因此,为了使包括具有PIM装置的传统的存储器模块的计算***中的数据存储空间的容量增加,不仅应该使存储器模块的数量增加,而且应该使存储器控制器的数量和存储器通道的数量增加。然而,因为处理装置151至158用作符合存储器模块标准的数据缓冲器,所以根据示例实施例的存储器模块100可以连接到符合存储器模块标准的存储器通道,并且可以在正常模式下用作符合存储器模块标准的正常存储器模块。因此,在包括根据示例实施例的存储器模块100的计算***中,可以通过仅增加连接到存储器通道的存储器模块100的数量来容易地增加数据存储空间的容量。
此外,传统的PIM装置通过将处理器逻辑和存储器集成在同一裸片上或者通过在存储器裸片上堆叠处理器逻辑裸片来实现。因此,包括适用于特定应用的处理器逻辑的传统的PIM装置不能够被应用于其它应用,从而传统的PIM装置不适于批量生产。然而,根据示例实施例的存储器模块100可以以存储器内处理(PIM)架构(可以称为近数据处理(NDP,near-data-processing)架构)来实现,而不会关于存储器模块100的布局对存储器装置111至118进行结构上的改变。因此,存储器装置111至118和存储器模块100可以广泛用于各种应用中,并且可以批量生产。
另外,在根据示例实施例的存储器模块100中,处理装置151至158可以对存储在与处理装置151至158直接连接的存储器装置111至118中的数据DAT2执行并行数据处理,从而改善包括存储器模块100的计算***的数据处理速度和数据吞吐量。
尽管图1A和图1B示出了存储器模块100包括八个存储器装置111至118的示例,但是根据示例实施例,存储器模块100可以包括任何数量的存储器装置。例如,存储器模块100可以包括四个到三十六个存储器装置。在采用64位数据字的计算***的示例实施例中,存储器模块100可以包括九个存储器装置,这九个存储器装置包括均存储8位数据字的八个存储器装置111至118以及存储8位纠错码(ECC)的一个存储器装置。
此外,在一个实施例中,图1A和1B示出了存储器模块100包括具有八个存储器装置111至118的一个存储器列(rank)的示例。然而,根据示例实施例,存储器模块100可以包括任何数量的存储器列,例如,多达四个存储器列。在这种情况下,每个处理装置(例如,151)可以直接连接到一个到四个存储器装置(例如,111)。
每个处理装置(例如,151)和对应的存储器装置(例如,111)可以实现为分开的集成电路(例如,分开的芯片)或分开的封装件。可选择地,在一些示例实施例中,各个处理装置(例如,151)和对应的存储器装置(例如,111)可以实现为或集成为单个集成电路(例如,芯片)或单个封装件(例如,使得外部的DQP引脚接收用于处理装置和存储器装置两者的信号,芯片或封装件内的单独的通道在处理装置和存储器装置之间传输信号)。
图2A是描述向存储器模块中包括的多个处理装置通知进入和退出处理器模式的示例的图,图2B是描述向存储器模块中包括的多个处理装置通知进入和退出处理器模式的另一示例的图,图3A是描述包括在存储器模块中的多个处理装置将操作状态信息写入到处理器状态寄存器中的示例的图,图3B是描述存储器控制器读取存储在处理器状态寄存器中的操作状态信息的示例的图。
参照图2A,在一些示例实施例中,可以由存储器控制器105经命令/地址总线CA_BUS来指示存储器模块100进入处理器模式。在一个实施例中,命令/地址总线CA_BUS可以是被配置为将从存储器控制器接收的位传输到命令/地址缓冲装置130的总线。例如,存储器控制器105可以经命令/地址总线CA_BUS将表示进入到处理器模式的处理器模式进入命令PMODE_ENTRY_CMD作为命令/地址信号来传输。命令/地址缓冲装置130可以响应于处理器模式进入命令PMODE_ENTRY_CMD,经命令/地址缓冲装置130和处理装置151至158之间的控制总线BCOM_BUS来将处理器模式进入信号SPM_ENTRY传输到处理装置151至158,并且处理装置151至158可以响应于处理器模式进入信号SPM_ENTRY来在处理器模式下进行操作。控制总线BCOM_BUS的示例也可以在关于存储器模块的图13中以及关于处理装置的图8B中看到。在一些示例实施例中,命令/地址缓冲装置130与处理装置151至158之间的控制总线BCOM_BUS可以是用于传输缓冲器控制命令和状态信息的(例如,具有4位的位宽的)缓冲器通信(BCOM)总线。BCOM总线(在图2A中示出而未在图1A或图1B中未示出)可以直接连接到命令/地址缓冲装置130和处理装置151至158两者,并且可以是关于图1A和图1B中示出的命令/地址缓冲装置130和处理装置151至158两者的附加总线(参见例如图13)。
参照图2B,在其它示例实施例中,可以由存储器控制器105经数据总线DQ_BUS来指示存储器模块100进入处理器模式。在一个实施例中,数据总线DQ_BUS可以是被配置为将从存储器控制器接收的位传输到一个处理数据缓冲器或多个处理数据缓冲器的总线。例如,存储器控制器105可以经数据总线DQ_BUS将表示进入到处理器模式的处理器模式进入数据PMODE_ENTRY_DAT作为处理器模式进入命令的一部分来传输。处理装置151至158可以响应于处理器模式进入数据PMODE_ENTRY_DAT来在处理器模式下进行操作。稍后,诸如处理器模式退出命令的后续模式命令可以从存储器控制器105(在一个示例中)经数据总线DQ_BUS传送到处理装置151至158。处理器模式退出命令可以指示处理装置151至158停止作为处理装置进行操作,并重新进入在数据缓冲器模式下的操作。
在又一示例实施例中,存储器模块100可以从存储器控制器105经除了命令/地址总线CA_BUS的线和数据总线DQ_BUS的线之外的控制线来接收处理器模式进入信号,并且可以响应于处理器模式进入信号来在处理器模式下进行操作。
在一些示例实施例中,一旦存储器模块100在处理器模式下操作,存储器控制器105就可以检查存储器模块100的操作状态(例如,包括在存储器模块100中的处理装置151至158的操作状态)。
如图3A中所示,存储器装置111至118中的每个可以包括作为模式寄存器之一的处理器状态寄存器120,并且在处理器模式下,每个处理装置(例如,151)可以将操作状态信息OSI提供到包括在对应的存储器装置(例如,111)中的处理器状态寄存器120。例如,为了将操作状态信息OSI存储在处理器状态寄存器120中,每个处理装置(例如,151)可以将使操作状态信息OSI写入到处理器状态寄存器120的命令作为命令/地址信号(例如图1B中的CMD/ADDR1)传输到对应的存储器装置(例如,111)。
如图3B中所示,在处理器模式下,存储器控制器105可以(例如,周期性地)接收处理装置151至158的操作状态信息OSI。例如,在处理器模式下,存储器装置111至118可以从存储器控制器105经命令/地址总线CA_BUS和命令/地址缓冲装置130来接收处理器状态读取命令PST_READ_CMD,并且可以响应于处理器状态读取命令PST_READ_CMD经由处理装置151至158和数据总线DQ_BUS来把被存储在处理器状态寄存器120中的操作状态信息OSI传输到存储器控制器105。在一些示例实施例中,当存储器控制器105接收到操作状态信息OSI时,处理装置151至158可以停止执行数据处理,并且可以用作数据缓冲器。尽管图3A和图3B示出了处理装置151至158的操作状态信息OSI被存储在存储器装置111至118的处理器状态寄存器120中的示例,但是在其它示例实施例中,处理装置151至158可以经控制总线BCOM_BUS将操作状态信息OSI提供到命令/地址缓冲装置130,命令/地址缓冲装置130可以存储处理装置151至158的操作状态信息OSI。
当存储器控制器105基于接收到的操作状态信息OSI确定处理装置151至158已经完成了数据处理时,或者当存储器控制器105确定存储器模块100需要在正常模式下进行操作时,存储器控制器105可以指示存储器模块100退出处理器模式。在一些示例实施例中,如图2A中所示,存储器控制器105可以经命令/地址总线CA_BUS传输处理器模式退出命令PMODE_EXIT_CMD,命令/地址缓冲装置130可以响应于处理器模式退出命令PMODE_EXIT_CMD经控制总线BCOM_BUS将处理器模式退出信号SPM_EXIT传输到处理装置151至158,处理装置151至158可以响应于处理器模式退出信号SPM_EXIT来在正常模式下进行操作。在其它示例实施例中,如图2B中示出的,存储器控制器105可以经数据总线DQ_BUS来传输处理器模式退出数据SPM_EXIT_DAT,处理装置151至158可以响应于处理器模式退出数据SPM_EXIT_DAT来在正常模式下进行操作。在又一示例实施例中,存储器模块100可以经除了命令/地址总线CA_BUS的线和数据总线DQ_BUS的线之外的控制线来从存储器控制器105接收处理器模式退出信号,并且可以响应于处理器模式退出信号来在正常模式下进行操作。
图4是示出包括在根据示例实施例的存储器模块中的每个存储器装置的示例的框图。
参照图4,存储器装置111a(例如,图1A和图1B中示出的存储器装置111至118中的每个存储器装置)可以包括命令/地址引脚CAP(例如,第一输入/输出端子组)、连接命令/地址引脚CAP和***电路170的命令/地址路径160(也被描述为通道或被描述为线)、数据引脚DQP(例如,第二输入/输出端子组)、连接数据引脚DQP和***电路170的数据路径165(也描述为通道或被描述为线)、***电路170、存储器单元阵列180以及路径选择单元190a。
存储器单元阵列180可以包括存储数据的多个存储器单元。在一些示例实施例中,存储器单元可以是动态随机存取存储器(DRAM)单元,存储器装置111a可以是DRAM装置。在其它示例实施例中,存储器装置111a可以是诸如静态随机存取存储器(SRAM)装置、晶闸管随机存取存储器(TRAM)装置等的易失性存储器装置或诸如铁电随机存取存储器(FRAM)装置、磁阻随机存取存储器(MRAM)装置、相变随机存取存储器(PRAM)装置等的非易失性存储器装置。响应于经命令/地址路径160接收的命令/地址信号CMD/ADDR,***电路170可以将经数据路径165接收的数据DAT写入到存储器单元阵列180,或者可以经数据路径165输出从存储器单元阵列180读取的数据DAT。
在正常模式下,存储器装置111a可以在命令/地址引脚CAP处从图1A中的命令/地址缓冲装置130接收命令/地址信号CMD/ADDR。命令/地址信号CMD/ADDR可以经命令/地址路径160传输到包括在***电路170中的命令解码器171和地址寄存器173。命令解码器171可以对命令/地址信号CMD/ADDR中包括的命令进行解码,***电路170可以执行与解码的命令对应的操作。
在解码的命令表示数据写入命令的示例中,存储器装置111a可以在数据引脚DQP处从图1A中的处理装置151接收数据DAT。在正常模式下,路径选择单元190a可以将数据引脚DQP连接到数据路径165。因此,在数据引脚DQP处接收的数据DAT可以经数据路径165传输到包括在***电路170中的数据输入/输出(I/O)缓冲器175。***电路170可以将暂时地存储在数据I/O缓冲器175中的数据DAT写入到存储器单元阵列180中的位于存储在地址寄存器173中的地址处的存储器单元。
在解码的命令表示数据读取命令的另一示例中,***电路170可以从存储器单元阵列180中的位于存储在地址寄存器173中的地址处的存储器单元来读取数据DAT,并且可以在数据I/O缓冲器175中暂时地存储读取的数据DAT。因为在正常模式下,路径选择单元190a将数据引脚DQP连接到数据路径165,所以暂时地存储在数据I/O缓冲器175中的数据DAT可以经数据路径165和数据引脚DQP输出到处理装置151。
在处理器模式下,存储器装置111a可以在数据引脚DQP处以时分方式从图1B中的处理装置151接收命令/地址信号CMD/ADDR1,或者可以传送数据DAT到图1B中的处理装置151或从图1B中的处理装置151接收数据DAT。在处理器模式下,路径选择单元190a可以选择性地将数据引脚DQP连接到数据路径165或命令/地址路径160。在一些示例实施例中,可以采用多路复用器(多路分离器)或具有相似操作的其它电路来实现路径选择单元190a。此外,在一些示例实施例中,路径选择单元190a可以从图1B中的处理装置151经存储器装置111a的任意引脚(例如,除了命令/地址引脚CAP和数据引脚DQP之外的任意引脚)接收控制选择性连接的选择信号。
例如,在一个时间段期间,存储器装置111a可以从图1B中的处理装置151接收命令/地址信号CMD/ADDR1。在所述的时间段期间,路径选择单元190a可以将数据引脚DQP连接到命令/地址路径160。因此,命令/地址信号CMD/ADDR1可以经命令/地址路径160传输到包括在***电路170中的命令解码器171和地址寄存器173。在一些示例实施例中,存储器装置111a还可以包括暂时地存储命令/地址信号CMD/ADDR1的命令/地址缓冲器195a。在示例中,数据引脚DQP的数量可以少于命令/地址引脚CAP的数量,因此可以针对多个时钟周期经数据引脚DQP接收命令/地址信号CMD/ADDR1。命令/地址缓冲器195a可以暂时地存储针对所述多个时钟周期的命令/地址信号CMD/ADDR1,并且一旦命令/地址缓冲器195a中存储了充满的命令/地址信号CMD/ADDR1,命令/地址缓冲器195a可以向命令/地址路径160提供命令/地址信号CMD/ADDR1。
在该时间段之后的另一个时间段(例如,仍然在处理器模式期间的第二时间段)期间,路径选择单元190a可以将数据引脚DQP连接到数据路径165。因此,在命令/地址信号CMD/ADDR1表示数据写入命令的情况下,存储器装置111a可以存储从图1B中的处理装置151经数据引脚DQP、路径选择单元190a和数据路径165接收到的数据DAT。在命令/地址信号CMD/ADDR1表示数据读取命令的情况下,存储器装置111a可以将存储的数据DAT经数据路径165、路径选择单元190a和数据引脚DQP输出到图1B中的处理装置151。
如上所述,使用将数据引脚DQP选择性地连接到数据路径165或命令/地址路径160的路径选择单元190a,存储器装置111a可以在处理器模式下以分时方式,从图1B中的处理装置151经数据引脚DQP来接收命令/地址信号CMD/ADDR1,或者可以经数据引脚DQP向图1B中的处理装置151传送数据DAT或从图1B中的处理装置151经数据引脚DQP接收数据DAT。以这种方式,路径选择单元190a可以是选择电路,该选择电路被配置为选择将在第二输入/输出端子组(例如,DQP引脚)处接收的位(例如,经由内部命令/地址路径)发送到命令解码器171和地址寄存器173,还是将在第二输入/输出端子组(例如,DQP引脚)处接收的位(例如,经由内部路径)发送到数据I/O缓冲器175。
图5是示出包括在根据示例实施例的存储器模块中的每个存储器装置的另一示例的框图。
参照图5,在存储器装置111b中,与数据引脚DQP中的一部分数据引脚连接的线DQL1可以通过路径选择单元190b选择性地连接到命令/地址路径160或连接到数据路径165,与数据引脚DQP中的剩余部分的数据引脚连接的线DQL2可以连接到数据路径165(或包含在数据路径165中)。路径选择单元190b可以在正常模式下将与数据引脚DQP中的一部分数据引脚连接的线DQL1连接到数据路径165,并且可以在处理器模式下将与数据引脚DQP中的这一部分数据引脚连接的线DQL1连接到命令/地址路径160。因此,在正常模式下,数据引脚DQP可以用作传送/接收数据DAT的引脚。在处理器模式下,数据引脚DQP可以以空分方式被分成传送/接收数据DAT的引脚和接收命令/地址信号CMD/ADDR1的引脚。除了数据引脚DQP以空分方式用作数据DAT的引脚和命令/地址信号CMD/ADDR1的引脚之外,存储器装置111b可以与图4的存储器装置111a具有类似的配置和类似的操作。在一些示例实施例中,因为与图4的经所有的数据引脚DQP来接收命令/地址信号CMD/ADDR1的存储器装置111a不同,在存储器装置111b中经数据引脚DQP中的一部分数据引脚来接收命令/地址信号CMD/ADDR1,所以与图4的存储器装置111a相比,存储器装置111b可以针对更多个时钟周期来接收命令/地址信号CMD/ADDR1。命令/地址缓冲器195b可以存储针对更多个时钟周期的命令/地址信号CMD/ADDR1,并且一旦命令/地址缓冲器195b中存储了充满的命令/地址信号CMD/ADDR1,命令/地址缓冲器195b可以向命令/地址路径160提供命令/地址信号CMD/ADDR1。因此,该实施例中的DQP引脚可以包括存储器装置111b的输入/输出端子组中的第二组和第三组。第二组包括连接到线DQL1的引脚组,所述引脚组被配置为在存储器模块的正常操作模式期间用作数据端子以使处理装置作为数据缓冲器来操作,并且被配置为在存储器模块的处理器操作模式期间用作命令和地址端子以使处理装置对存储在存储器装置111b中的数据执行算术运算和/或逻辑运算。第三组包括连接到线DQL2的引脚组,所述引脚组连接到数据I/O缓冲器175,并且被配置为在正常操作模式期间和处理器操作模式期间均用作数据端子。
图6是示出经图4的存储器装置的数据引脚传输的信号的示例的时序图,图7是示出经图5的存储器装置的数据引脚传输的信号的示例的时序图。
参照图4和图6,在处理器模式下,可以接收作为数据引脚DQP上的信号DQ[0:7]的命令/地址信号CMD/ADDR1(例如,数据读取命令RD)。存储器装置111a可以响应于数据读取命令RD而输出作为数据引脚DQP上的信号DQ[0:7]的数据DAT。在示例中,存储器装置111a可以以突发长度(burst length)8(BL8)来输出数据DAT。在图6中示出的示例中,在数据引脚DQP从接收命令/地址信号CMD/ADDR1的引脚转换成传送/接收数据DAT的引脚的预定时间TINT1期间,可以不使用数据引脚DQP。此外,在从数据DAT作为数据引脚DQP上的信号DQ[0:7]输出的时刻开始的预定时间TINT2之后,存储器装置111a可以经数据引脚DQP接收下一个命令/地址信号CMD/ADDR1(例如,RD)。
参照图5和图7,可以接收作为数据引脚DQP中的一部分数据引脚上的信号DQ[0:3]的命令/地址信号CMD/ADDR1(例如,数据读取命令RD)。在图5的存储器装置111b中,在处理器模式下,数据引脚DQP中的一部分数据引脚可以用作仅接收命令/地址信号CMD/ADDR1的引脚,数据引脚DQP中的剩余部分的数据引脚可以用作仅传送/接收数据DAT的引脚。因此,存储器装置111b可以在不等待预定时间TINT1的情况下输出作为数据引脚DQP中的剩余部分的数据引脚上的信号DQ[4:7]的数据DAT。然而,因为与图4的存储器装置111a相比,图5的存储器装置111b使用更少数量的数据引脚DQP来接收命令/地址信号CMD/ADDR1,所以存储器装置111b接收命令/地址信号CMD/ADDR1所用的时间可以比图4的存储器装置111a接收命令/地址信号CMD/ADDR1所用的时间长。此外,因为与图4的存储器装置111a相比,图5的存储器装置111b使用更少数量的数据引脚DQP来传送/接收数据DAT,所以存储器装置111b传送/接收数据DAT所用的时间可以比图4的存储器装置111a传送/接收数据DAT所用的时间长。例如,八个数据引脚DQP中的四个引脚可以用于传送/接收存储器装置111b中的数据DAT。在此情况下,为了输出与图4的存储器装置111a以突发长度8(BL8)输出的数据DAT相同大小的数据DAT,存储器装置111b可以以突发长度16(BL16)来输出数据DAT。
图8A是示出包括在根据示例实施例的存储器模块中的每个处理装置的示例的框图,图9是示出包括在图8A的处理装置中的处理器的示例的框图。
参照图8A,处理装置151a(例如,图1A和图1B中示出的处理装置151至158中的每个)可以包括:对在存储器控制器和对应的存储器装置之间传输的第一数据DAT1进行缓冲的数据缓冲器210、对存储在存储器装置中的第二数据DAT2执行数据处理的处理器230以及在正常模式下使存储器装置与数据缓冲器210连接并在处理器模式下使存储器装置与处理器230连接的控制单元250(例如,控制电路)。
控制单元250可以包括多路复用器(多路分离器)270和控制逻辑290,其中,多路复用器(多路分离器)270将存储器装置的数据引脚DQP选择性地连接到数据缓冲器210或处理器230,控制逻辑290控制多路复用器(多路分离器)270。此外,控制逻辑290可以控制处理装置151a的总体操作。
数据缓冲器210可以是符合存储器模块标准(例如,DDR4LRDIMM标准)的数据缓冲器。数据缓冲器210可以连接到数据总线DQ_BUS,并且还可以在正常模式下通过控制单元250连接到存储器装置的数据引脚DQP。在正常模式下,数据缓冲器210可以对在存储器控制器和存储器装置之间传输的第一数据DAT1进行缓冲。在一些示例实施例中,数据缓冲器210可以包括同步电路、信号放大器、输入/输出电路等。也被描述为处理装置151a的数据缓冲器部分的数据缓冲器210可以存储和传输数据,使得在数据缓冲器210处接收的数据与从数据缓冲器210发送的数据相同。正常模式或正常操作模式也可以在此被描述为数据缓冲器模式。在该模式期间,数据缓冲器210正在对在数据总线DQ_BUS和数据引脚DQP之间传递的数据进行操作。第一数据DAT1可以在数据缓冲器210和控制单元250之间经由连接在选择电路(诸如多路复用器270)和数据缓冲器部分210之间的多条第一输入/输出线来在处理装置151a内被内部地传输。
在处理器模式下,处理器230可以通过控制单元250连接到存储器装置的数据引脚DQP。在处理器模式下,处理器230可以例如经命令/地址总线CA_BUS、命令/地址缓冲装置130和控制总线BCOM_BUS最初地接收控制器生成的命令(诸如处理器模式进入命令),或者经DQ_BUS、数据缓冲器210和多路复用器270直接从存储器控制器最初地接收控制器生成的命令(诸如处理器模式进入命令)。作为响应,处理器230将命令/地址信号CMD/ADDR1(以如图6中示出的时分方式或以如图7中示出的空分方式)传送到数据引脚DQP,并且可以经数据引脚DQP接收存储在存储器装置中的第二数据DAT2。例如,命令/地址信号CMD/ADDR1可以基于来自存储器控制器的命令,或者可以响应于来自存储器控制器的命令(诸如处理器模式进入命令)而生成。处理器230可以对接收到的第二数据DAT2执行包括算术运算和/或逻辑运算的任意数据处理。此外,处理器230可以传送命令/地址信号CMD/ADDR1,可以将数据处理的结果作为第二数据DAT2提供到数据引脚DQP以将数据处理的结果写入到存储器装置,或者可以经DQ_BUS输出所述结果。根据示例实施例,处理器230可以是中央处理单元(CPU)、微控制器、微处理器、硬件加速器或任意数据处理装置。
在一些示例实施例中,如图9中示出的,处理器230可以包括指令缓冲器231、寄存器文件(file)233、算术逻辑单元(ALU)235、处理器控制单元237和互连件239。指令缓冲器231可以从存储器装置的数据引脚DQP经多路复用器(多路分离器)270接收作为第二数据DAT2的指令INST,并且可以暂时地存储指令INST。指令INST可以是例如表示由处理器230执行的数据处理的机器语言代码。寄存器文件233可以从存储器装置的数据引脚DQP经多路复用器(多路分离器)270接收作为第二数据DAT2的输入数据RDAT,并可以暂时地存储输入数据RDAT。ALU 235可以对输入数据RDAT执行与指令INST对应的算术运算或逻辑运算作为数据处理。算术运算或逻辑运算的结果可以暂时地存储在寄存器文件233中。暂时地存储在寄存器文件233中的算术运算或逻辑运算的结果可以用于下一个算术运算或下一个逻辑运算的输入,或者可以作为写入数据WDAT经多路复用器270提供到存储器装置的数据引脚DQP。为了执行这些操作,处理器控制单元237可以基于存储在指令缓冲器231中的指令INST来控制ALU 235和寄存器文件233。此外,处理器控制单元237可以生成控制存储器装置的命令/地址信号CMD/ADDR1,并且可以经多路复用器270向存储器装置的数据引脚DQP传送命令/地址信号CMD/ADDR1。互连件239可以在指令缓冲器231、寄存器文件233、ALU 235和处理器控制单元237之间提供连接。尽管处理器230的配置在图9中进行了例证,但根据示例实施例的处理器230不限于图9中示出的配置。
图10是示出包括在根据示例实施例的存储器模块中的每个处理装置的另一示例的框图,图11A是描述在包括图10的处理装置的存储器模块的正常模式下的数据传输的示例的图,图11B是描述在包括图10的处理装置的存储器模块的处理器模式下的数据传输的示例的图。
参照图10,除了处理装置151b还可以包括时钟发生器240之外,处理装置151b可以与图8A的处理装置151a具有类似的配置和类似的操作。在处理器模式下,时钟发生器240可以生成快速时钟信号FCLK,并且可以将快速时钟信号FCLK提供到存储器装置的与处理装置151b连接的时钟引脚CKP。在一些示例实施例中,在处理器模式下由时钟发生器240生成的快速时钟信号FCLK可以具有比在正常模式下从存储器控制器提供的时钟信号(图11A中的CLK)的时钟频率高的时钟频率。
参照图11A,在正常模式下,处理装置151b和存储器装置111可以从存储器控制器105(经图1A中的命令/地址缓冲装置130)来接收时钟信号CLK。可以基于时钟信号CLK执行存储器控制器105和处理装置151b(或存储器装置111)之间的数据传输。
参照图11B,在处理器模式下,处理装置151b可以向存储器装置111提供快速时钟信号FCLK,可以基于快速时钟信号FCLK来执行处理装置151b和存储器装置111之间的数据传输。虽然经具有相对长距离的数据总线DQ_BUS来执行正常模式下的数据传输,但是可以经处理装置151b和存储器装置111之间的短数据连接SDC来执行处理器模式下的数据传输。因此,处理器模式下的数据传输可以比正常模式下的数据传输具有更好的信令状况。此外,虽然数据总线DQ_BUS以多点连接(multi-drop)与多个存储器模块连接,但是处理装置151b与存储器装置111之间的短数据连接SDC可以是点对点(P-to-P)连接。因此,处理器模式下的数据传输的信令状况可以远好于正常模式下的数据传输的信令状况。因此,即使处理器模式下的数据传输速率高于正常模式下的数据传输速率,也可以在处理装置151b和存储器装置111之间精确地传输数据DAT2和命令/地址信号CMD/ADDR1。例如,正常模式下的数据传输速率可以是大约2.4Gb/s,而处理器模式下的数据传输速率可以是大约3.2Gb/s。
图12是示出根据示例实施例的在处理器模式下的存储器模块的框图。
参照图12,除了命令/地址缓冲装置130a包括在处理器模式下生成快速时钟信号FCLK的时钟发生器135之外,存储器模块100a可以与图1B的存储器模块100具有类似的配置和类似的操作。在处理器模式下,命令/地址缓冲装置130a的时钟发生器135可以将快速时钟信号FCLK提供到多个存储器装置111至118和多个处理装置151至158。在处理器模式下,处理装置151至158中的每个和对应的存储器装置111至118可以基于快速时钟信号FCLK经短数据连接SDC来执行数据传输,从而改善存储器模块100a在处理器模式下的数据传输速率和数据处理速度。
图13是示出根据示例实施例的在处理器模式下的存储器模块的框图,图14是描述图13的存储器模块的操作的时序图。
参照图13,除了在处理器模式下可以经控制总线BCOM_BUS来传输命令/地址信号CMD/ADDR1至CMD/ADDR8之外,存储器模块100b可以与图1B的存储器模块100具有类似的配置和类似的操作。在处理器模式下,多个处理装置151至158可以分别生成多个命令/地址信号CMD/ADDR1至CMD/ADDR8,并且可以经处理装置151至158和命令/地址缓冲装置130之间的控制总线BCOM_BUS来向命令/地址缓冲装置130传输命令/地址信号CMD/ADDR1至CMD/ADDR8。此外,最初从存储器控制器经命令/地址总线CA_BUS接收并经控制总线BCOM_BUS发送到处理装置151至158的命令(例如,处理器模式进入命令)可以使命令/地址信号CMD/ADDR1至CMD/ADDR8起始(initiated),或者可以使命令/地址信号CMD/ADDR1至CMD/ADDR8响应于该命令而生成。命令/地址缓冲装置130可以分别向存储器装置111至118提供经控制总线BCOM_BUS接收的命令/地址信号CMD/ADDR1至CMD/ADDR8。
在一些示例实施例中,命令/地址信号CMD/ADDR1至CMD/ADDR8可以以分时方式经控制总线BCOM_BUS和命令/地址缓冲装置130分别传输到存储器装置111至118。例如,如图14中所示,第一处理装置151至第八处理装置158可以顺序地传输第一命令/地址信号C/A1至第八命令/地址信号C/A8。第一处理装置151可以将第一命令/地址信号C/A1传输到控制总线BCOM_BUS,命令/地址缓冲装置130可以将第一命令/地址信号C/A1传输到第一存储器装置111至第八存储器装置118。在一些示例实施例中,命令/地址缓冲装置130可以将第一装置标识符(ID)与第一命令/地址信号C/A1一起传输到第一存储器装置111至第八存储器装置118。第一存储器装置111可以响应于第一命令/地址信号C/A1和第一装置ID而传送/接收作为数据引脚DQP上的信号DQ[0:7]@111的数据DAT。例如,第一装置ID可以作为命令信号的一部分来传送、作为单独的且预先接收的信号来传送,和/或可以包括在存储器模块100b的用于选择存储器装置的单独线或一组线上传送的信号。自传输第一命令/地址信号C/A1起预定时间TINT之后,第二处理装置152可以向控制总线BCOM_BUS传输第二命令/地址信号C/A2,命令/地址缓冲装置130可以向第一存储器装置111至第八存储器装置118传输第二命令/地址信号C/A2和表示第二存储器装置112的第二装置ID。第二存储器装置112可以响应于第二命令/地址信号C/A2和第二装置ID而传送/接收作为数据引脚DQP上的信号DQ[0:7]@112的数据DAT。类似地,第三处理装置153至第八处理装置158可以顺序地输出第三命令/地址信号至第八命令/地址信号C/A8,第三处理装置至第八处理装置158中的每个可以响应于对应的命令/地址信号C/A8而传送/接收作为数据引脚DQP上的信号DQ[0:7]@118的数据DAT。
图8B描绘了可以作为图13的处理装置151至158中的一个的处理装置151b的示例。
参照图8B,处理装置151b(例如,图13中示出的处理装置151至158中的每个)可以包括:对在存储器控制器和对应的存储器装置之间传输的第一数据DAT1进行缓冲的数据缓冲器210、对存储在存储器装置中的第二数据DAT2执行数据处理的处理器230以及在正常模式下使存储器装置与数据缓冲器210连接并在处理器模式下使存储器装置与处理器230连接的控制单元250(例如,控制电路)。
控制单元250可以包括多路复用器(多路分离器)270和控制逻辑290,其中,多路复用器(多路分离器)270将存储器装置的数据引脚DQP选择性地连接到数据缓冲器210或处理器230,控制逻辑290控制多路复用器(多路分离器)270。此外,控制逻辑290可以控制处理装置151b的总体操作。
数据缓冲器210可以是符合存储器模块标准(例如,DDR4LRDIMM标准)的数据缓冲器。数据缓冲器210可以连接到数据总线DQ_BUS,并且还可以在正常模式下通过控制单元250连接到存储器装置的数据引脚DQP。在正常模式下,数据缓冲器210可以对在存储器控制器和存储器装置之间传输的第一数据DAT1进行缓冲。在一些示例实施例中,数据缓冲器210可以包括同步电路、信号放大器、输入/输出电路等。也被描述为处理装置151b的数据缓冲器部分的数据缓冲器210可以存储和传输数据,使得在数据缓冲器210处接收的数据与从数据缓冲器210发送的数据相同。正常模式或正常操作模式也可以在此被描述为数据缓冲器模式。在该模式期间,数据缓冲器210正在对在数据总线DQ_BUS和数据引脚DQP之间传递的数据进行操作。第一数据DAT1可以在数据缓冲器210和控制单元250之间经由连接在选择电路(诸如多路复用器270)和数据缓冲器部分210之间的多条第一输入/输出线来在处理装置151b内被内部地传输。
在处理器模式下,处理器230可以通过控制单元250连接到存储器装置的数据引脚DQP。在处理器模式下,处理器230可以例如经控制总线BCOM_BUS(例如,从存储器控制器)最初地接收处理器模式进入命令。控制总线BCOM_BUS可以连接到处理装置151b的外部连接端子,所述外部连接端子经由内部线与处理器230连接。在图8B的实施例中,BCOM_BUS线被示出为直接连接到处理器230。然而,在另一个实施例中,BCOM_BUS线可以连接在处理装置151b的外部连接端子和多路复用器270之间,外部的命令可以经多路复用器270到达处理器230处。
在一些实施例中,可以经处理装置的不同的输入/输出端子组把向和/或从各个存储器装置的数据引脚DQP发送和/或接收的信号以及向和/或从数据总线DQ_BUS发送和/或接收的信号从处理装置通信或通信给处理装置,所述不同的输入/输出端子组可以是与控制总线BCOM_BUS所使用的输入/输出端子组分开的输入/输出端子组。图8A的处理装置151a可以具有用于DQP和DQ_BUS的相似的输入/输出端子。在这里,可以将处理装置的与数据总线DQ_BUS连接的输入/输出端子组称为第一输入/输出端子组,可以将处理装置的与对应的存储装置的数据引脚DQP连接的输入/输出端子组称为第二输入/输出端子组,并且可以将处理装置的与控制总线BCOM_BUS连接的外部连接端子称为第三输入/输出端子组。
响应于处理器模式进入命令,处理器230经控制总线BCOM_BUS将命令/地址信号CMD/ADDR1传送回命令/地址缓冲装置130(或者,其它处理器经控制总线BCOM_BUS将命令地址信号CMD/ADDR2至CMD/ADDR8传送回命令/地址缓冲装置130),命令/地址缓冲装置130随后将命令传送到适当的存储器装置或装置。
响应于命令/地址信号,适当的存储器装置可以例如经DQP引脚将数据DAT2发送到处理装置。处理器230可以对接收的第二数据DAT2执行包括算术运算和/或逻辑运算的任意数据处理。此外,处理器230可以向数据引脚DQP提供数据处理的结果作为第二数据DAT2以将数据处理的结果写入到存储器装置,或者可以经DQ_BUS输出所述的结果。根据示例实施例,处理器230可以是中央处理单元(CPU)、微控制器、微处理器、硬件加速器或任意数据处理装置。
第二数据DAT2可以在处理器230和控制单元250之间经由连接在选择电路(诸如多路复用器270)和处理器部分230之间的多条第二输入/输出线来在处理装置151b内被内部地传输。
图15是示出根据示例实施例的处于处理器模式下的存储器模块的框图。
参照图15,除了存储器模块100c还可以包括在多个处理装置151至158之间提供连接的桥接网络140之外,存储器模块100c可以与图1A和图1B的存储器模块100具有类似的配置和类似的操作(例如,包括类似的CA_BUS和DQ_BUS连接,图15中未示出)。在处理器模式中,桥接网络140可以在一个处理装置与另一个处理装置之间的提供连接,所述一个处理装置可以通过使用桥接网络140对存储在与所述另一个处理装置直接连接的存储器装置中的数据执行数据处理。例如,在处理器模式下,处理装置151至158中的第一处理装置151可以经桥接网络140将表示数据读取命令的命令/地址信号C/A传输到处理装置151至158中的第二处理装置155,第二处理装置155可以将命令/地址信号C/A传输到对应的存储器装置115。存储器装置115可以响应于命令/地址信号C/A而输出数据DAT3,第一处理装置151可以经第二处理装置155和桥接网络140接收从存储器装置115输出的数据DAT3。因此,第一处理装置151可以接收不仅存储在与第一处理装置151直接连接的存储器装置111中而且存储在除了与第一处理装置151直接连接的存储器装置111之外的另一个存储器装置115中的数据DAT3,并且可以对存储在另一个存储器装置115中的数据DAT执行数据处理。
图16A是示出根据示例实施例的处于正常模式下的存储器模块的框图,图16B是示出根据示例实施例的处于处理器模式下的存储器模块的框图。
参照图16A和图16B,除了存储器模块100d不包括图1A和图1B中的命令/地址缓冲装置130之外,存储器模块100d可以与图1A和图1B的存储器模块100具有类似的配置和类似的操作。在存储器模块100d中,多个存储器装置111至118的命令/地址引脚CAP可以直接连接到命令/地址总线CA_BUS,并且可以直接从存储器控制器接收命令/地址信号CMD/ADDR。
如图1A、图2A、图12、图13、图15、图16A和图16B中进一步描述的以及如可以从上述各种实施例看出的,存储器模块可以包括将存储器模块连接到外部装置的存储器模块端子组。存储器模块端子可以位于存储器模块的一个边缘(例如,如附图中示出的底部)上。多个处理数据缓冲器可以位于存储器模块端子组与多个存储器装置之间。在一些实施例中,命令/地址缓冲装置位于存储器装置的第一子组和存储器装置的第二子组之间。另外,命令/地址缓冲装置可以在命令/地址缓冲装置的两侧中的任一侧上具有相同数量的存储器装置(例如,如示例实施例中示出的四个存储器装置)。
此外,根据上述各种实施例,可以执行执行近数据处理的方法。所述方法可以包括:例如在存储器模块的处理数据缓冲器处接收第一模式命令,第一模式命令指示处理数据缓冲器在处理器模式下进行操作。所述方法还可以包括:在处理器模式下进行操作时,从处理数据缓冲器将命令和地址信息传送到与该处理数据缓冲器连接的存储器装置;并在处理数据缓冲器处接收第二模式命令,第二模式命令指示处理数据缓冲器作为存储器装置的数据缓冲器来操作。第一模式命令可以是例如主机或控制器生成的命令,诸如处理器模式进入命令,第二模式命令可以是主机或控制器生成的命令,诸如处理器模式退出命令。在处理器模式期间传送的命令和地址信息可以包括存储器装置标识符。所述方法还可以包括:在数据缓冲器模式下进行操作时,从处理数据缓冲器向存储器装置传送数据。
在一些实施例中,在处理器模式下进行操作时,处理数据缓冲器可以在第一时刻将命令和地址信息传送到存储器装置,并且可以在第一时刻之后的第二时刻将数据传送到存储器装置。用于在处理器模式期间将数据从处理数据缓冲器传送到存储器装置的时钟速度可以比用于在数据缓冲器模式期间将数据从处理数据缓冲器传送到存储器装置的时钟速度快。
在一个实施例中,如上所述,在完成将命令和地址信息从处理数据缓冲器传送到存储器装置之后,在从该处理数据缓冲器向该存储器装置传送数据之前存在延迟。在该延迟期间,处理数据缓冲器的选择电路可以在选择用于输入位(incoming bit)的命令/地址路径和选择用于输入位的数据路径之间进行转换。
在某些实施例中,数据以及命令和地址信息两者都通过同一组处理数据缓冲器输出端子被发送到存储器装置。在其它实施例中,数据通过第一组处理数据缓冲器输出端子发送到存储器装置,命令和地址信息通过第二组处理数据缓冲器输出端子发送到存储器装置。
图17是示出根据示例实施例的存储器***的框图,图18是描述在根据示例实施例的存储器***中执行的位布置改变的示例的图。
参照图17,存储器***300可以包括具有处理装置350和370的存储器模块340和360中的至少一个以及控制存储器模块340和360的存储器控制器320。包括处理装置350和370的存储器模块340和360可以被称为PIM(或NDP)存储器模块,并且可以是图1A和图1B的存储器模块100、图12的存储器模块100a、图13的存储器模块100b、图15的存储器模块100c或图16A和图16B的存储器模块100d。存储器模块340和360可以经包括命令/地址总线CA_BUS和数据总线DQ_BUS的存储器通道MCH连接到存储器控制器320。存储器***300可以是包括在诸如个人计算机、服务器计算机、工作站、膝上型计算机、移动计算机、数字电视等的任意计算***中的存储器***。
在一些示例实施例中,存储器***300还可以包括与存储器模块340和360连接到同一个存储器通道MCH的正常存储器模块380。正常存储器模块380可以包括数据缓冲器390,而不包括处理装置350和370。正常存储器模块380可以是符合存储器模块标准(例如,DDR4LRDIMM标准)的存储器模块。
因为存储器***300的PIM(或NDP)存储器模块340和360连接到符合存储器模块标准的存储器通道MCH,所以可以通过增加与存储器通道MCH连接的存储器模块340、360和380的数量来容易地增加存储器***300的存储容量。此外,在存储器***300中,包括在每个存储器模块340和360中的处理装置350和370可以并行地执行数据处理,因此存储器***300可以具有改善的数据处理性能。此外,可以通过增加存储器模块340和360的数量来容易地改善存储器***300的数据处理性能。
在一些示例实施例中,存储器控制器320可以在正常模式下向每个存储器模块(例如340)提供对其执行了位布置改变(bit arrangement change)的数据,使得存储器模块340中包括的每个存储器装置可以存储全数据字(full data word)。图18示出了使用64位数据字并且一个高速缓存线具有64字节的大小的计算***的示例。通常,存储器控制器320可以基于高速缓存线将数据写入存储器模块。例如,存储器控制器320可以将数据写入命令传输到存储器模块340,并且还可以以突发长度8来将数据传输到包括八个×8存储器装置341至348的存储器模块340。在存储器控制器320将包括第一数据字W1至第八数据字W8的原始数据在一个高速缓存线中传送而不进行位布置改变的情况下,存储器装置341至348可以存储第一数据字W1至第八数据字W8的不同字节。例如,第一存储器装置341可以存储第一数据字W1至第八数据字W8的第一字节W1B1至W8B1。在这种情况下,在处理器模式下,连接到第一存储器装置341的处理装置会不能从第一存储器装置341读取作为数据处理的单位的全数据字。然而,在根据示例实施例的存储器***300中,存储器控制器320可以向存储器模块340提供执行了位布置改变的数据。在一些示例实施例中,可以基于高速缓存线来执行位布置改变。如图18中所示,可以执行位布置改变使得可以首先向存储器模块340提供第一数据字W1至第八数据字W8的第一字节W1B1至W8B1,然后可以顺序地向存储器模块340提供第二字节W1B2至W8B2至第八字节W1B8至W8B8。在存储器模块340接收执行了位布置改变的数据的情况下,第一存储器装置341至第八存储器装置348可以分别存储第一数据字W1至第八数据字W8。因此,在处理模式下,每个处理装置可以从对应的存储器装置341到348读取全数据字,并且可以对全数据字执行数据处理。
图19是示出包括执行位布置改变的主机处理器的计算***的框图。
参照图19,计算***400可以包括主机处理器410和存储器***300a。主机处理器410可以通过执行位重排(bit shuffling)操作420来对原始数据ORI_DAT执行位布置改变(如图18中所示)。在正常模式下,存储器控制器320可以经存储器通道MCH向存储器模块340a提供执行了位布置改变的数据SHF_DAT。
图20是示出包括执行位布置改变的位重排器的存储器***的框图。
参照图20,存储器***300b的存储器控制器320b可以包括位重排器330。位重排器330可以对原始数据ORI_DAT执行位布置改变(如图18中所示),并且在正常模式下,存储器控制器320b可以经存储器通道MCH向存储器模块340b提供执行了位布置改变的数据SHF_DAT。
这里讨论的实施例可以应用到任意存储器模块和包括存储器模块的任意存储器***。
图21描绘了根据示例实施例的非易失性双列直插存储器模块(NVDIMM)的示例。
如图21中所示,NVDIMM的一个示例包括模块板2100、多个动态随机存取存储器(DRAM)存储器装置111至118、连接到多个DRAM存储器装置的多个非易失性存储器装置(NVM)181至188、NVDIMM控制器130a和多个处理装置151至158。图21中示出的某些元件可以与先前描述的其它实施例的元件相同,因此为了简洁起见将省略这些细节。此外,尽管图21描绘了与图1A和图1B中所示的***相似的***,但也可以通过将非易失性存储器装置添加到图12、图13、图15、图16A和图16B中描绘的存储器模块来实现非易失性双列直插存储器模块。
每个DRAM可以包括存储器单元阵列,并且可以具有诸如以如图4或图5中为例所示出的结构和操作。例如,每个DRAM可以包括诸如CAP端子的第一输入/输出端子组。每个端子可以被配置为例如从控制器130a接收第一命令/地址位。每个DRAM还可以包括第二输入/输出端子组(例如,DQP端子),每个端子被配置为接收第一数据位。诸如闪存装置或MRAM装置的多个非易失性存储器装置181至188可以连接到多个DRAM存储器装置。例如,每个非易失性存储器装置可以包括存储器单元阵列、第三输入/输出端子组(例如,CAP)和第四输入/输出端子组(例如,DQP),其中,第三输入/输出端子组的每个端子被配置为(例如,从控制器130a)接收第二命令/地址位,第四输入/输出端子组的每个端子配置为接收第二数据位。例如,第四输入/输出端子组可以连接到各个DRAM装置的数据端子。NVDIMM控制器130a可以执行在上述各种实施例中描述的命令/地址缓冲装置130的功能,并且还可以执行控制对非易失性存储器装置进行访问的功能。例如,除其它事项之外,控制器130a还可以被配置为将第一命令/地址位输出到第一输入/输出端子组并将第二命令/地址位输出到第三输入/输出端子组。多个处理数据缓冲器151至158可以分别连接到多个DRAM存储器装置,每个处理数据缓冲器被配置为在作为其对应的存储器装置的数据缓冲器和作为对从其对应的存储器装置接收的数据执行处理操作的处理器之间切换,如上所述。
在一些实施例中,将存储器模块连接到外部装置的存储器模块端子组位于存储器模块的一个边缘上,多个处理数据缓冲器151至158位于存储器模块端子组与多个DRAM存储器装置111至118之间。
控制器可以位于第一子组DRAM存储器装置(例如,111至114)与第二子组DRAM存储器装置(例如,115至118)之间。例如,在控制器的两侧中的任意一侧上可以存在相等数量的DRAM存储器装置(例如,四个DRAM存储器装置)。
如图21中所示,多个DRAM存储器装置111至118分别位于多个处理数据缓冲器151至158和多个非易失性存储器装置181至188之间。
多个处理数据缓冲器151至158可以包括第五输入/输出端子组,第五输入/输出端子组被配置为传输数据位并连接到用于在NVDIMM的外部进行通信的多个存储器模块端子中的各个存储器模块端子。例如,输入/输出端子组可以将处理数据缓冲器151至158连接到它们各自的DRAM 111至118,另一输入/输出端子组可以将处理数据缓冲器151至158经存储器模块端子连接到数据总线DQ_BUS。
上述是对示例实施例的举例说明并且不应被解释为对示例实施例的限制。虽然已经描述了一些示例实施例,但是本领域的技术人员将容易领会的是,在实质上不脱离本发明构思的新颖性教导和优点的情况下,示例实施例中的许多修改是可能的。因此,所有这些修改意图包括在本发明构思的范围之内。因此,将理解的是,上述是对各种示例实施例的举例说明,而不应被解释为受限于所公开的特定的示例实施例,并且对所公开的示例实施例及其它示例实施例的修改意图包括在所附权利要求的范围之内。
Claims (25)
1.一种存储器模块,所述存储器模块包括:
存储器装置,包括:存储器单元阵列;第一输入/输出端子组,每个端子被配置为接收第一命令/地址位;以及第二输入/输出端子组,每个端子被配置为接收数据位和第二命令/地址位;
命令/地址缓冲装置,被配置为向第一输入/输出端子组输出第一命令/地址位;以及
处理数据缓冲器,被配置为向第二输入/输出端子组输出数据位和第二命令/地址位,
其中,存储器装置被配置为使得第一命令/地址位、第二命令/地址位和数据位均用来访问存储器单元阵列。
2.根据权利要求1所述的存储器模块,其中,存储器装置还包括***电路,***电路包括命令解码器、地址寄存器和数据输入/输出缓冲器,并且存储器装置还包括选择电路,选择电路被配置为选择将在第二输入/输出端子组处接收的位发送到命令解码器和地址寄存器,还是将在第二输入/输出端子组处接收的位发送到数据输入/输出缓冲器。
3.根据权利要求1所述的存储器模块,所述存储器模块还包括第一总线和第二总线,第一总线被配置为向命令/地址缓冲装置传输从存储器控制器接收的位,第二总线配置为向处理数据缓冲器传输从存储器控制器接收的位。
4.根据权利要求3所述的存储器模块,其中,存储器装置还包括选择电路,选择电路被配置为接收经由第二总线接收的位,并且选择电路被配置为选择经由内部数据路径还是经由内部命令/地址路径来向存储器单元阵列的***电路传输所接收的位。
5.根据权利要求1所述的存储器模块,其中,第二输入/输出端子组被配置为在存储器模块的正常操作模式期间用作数据端子,使得处理装置用作数据缓冲器,并且
第二输入/输出端子组被配置为在存储器模块的处理器操作模式期间用作命令和地址端子,使得处理装置对存储在存储器装置中的数据执行算术运算和/或逻辑运算。
6.根据权利要求5所述的存储器模块,所述存储器模块还包括存储器装置的与数据缓冲器连接的第三输入/输出端子组,第三输入/输出端子组被配置为在正常操作模式期间和在处理器操作模式期间都用作数据端子。
7.一种存储器模块,所述存储器模块包括:
多个存储器装置,每个存储器装置包括:存储器单元阵列;第一输入/输出端子组,每个端子被配置为接收第一命令/地址位;以及第二输入/输出端子组,每个端子被配置为接收数据位;
命令/地址缓冲装置,被配置为向第一输入/输出端子组输出第一命令/地址位;以及
多个处理数据缓冲器,均被配置为在用作各个存储器装置的数据缓冲器和用作对从所述各个存储器装置接收的数据执行处理操作的处理器之间进行切换。
8.根据权利要求7所述的存储器模块,其中,在从位于存储器模块的外部的装置接收处理器模式进入命令之后,所述多个处理数据缓冲器均被配置为用作处理器。
9.根据权利要求7所述的存储器模块,其中,处理操作包括算术运算和逻辑运算中的至少一个。
10.根据权利要求9所述的存储器模块,其中,处理操作包括图形数据处理、存储器内数据库数据处理或实时分析。
11.根据权利要求7所述的存储器模块,所述存储器模块还包括:
总线,连接在命令/地址缓冲装置与所述多个处理数据缓冲器中的每个处理数据缓冲器之间,总线用来在命令/地址缓冲装置与所述多个处理数据缓冲器中的每个处理数据缓冲器之间传送命令和地址信息。
12.根据权利要求11所述的存储器模块,其中,总线连接到在每个处理数据缓冲器上的处理器。
13.根据权利要求7所述的存储器模块,所述存储器模块还包括:
存储器模块端子组,设置在存储器模块的一个边缘上并且用于将存储器模块连接到外部装置,
其中,所述多个处理数据缓冲器位于存储器模块端子组和所述多个存储器装置之间。
14.根据权利要求13所述的存储器模块,其中,
命令/地址缓冲装置位于第一子组存储器装置和第二子组存储器装置之间。
15.根据权利要求14所述存储器模块,其中,
命令/地址缓冲装置在命令/地址缓冲装置的两侧中的任意一侧上具有相同数量的存储器装置。
16.根据权利要求7所述的存储器模块,其中,
每个处理数据缓冲器包括:
第三输入/输出端子组,每个端子被配置为接收和传送命令位;
第四输入/输出端子组,每个端子被配置为从各个存储器装置接收数据位并向各个存储器装置发送数据位;
第五输入/输出端子组,被配置为从用于在存储器模块的外部进行通信的各个存储器模块端子组接收数据位并向用于在存储器模块的外部进行通信的各个存储器模块端子组发送数据位。
17.一种用于存储器模块的处理数据缓冲器,所述处理数据缓冲器包括:
数据缓冲器部分;
处理器部分;
选择电路,连接到数据缓冲器部分和处理器部分,并且被配置为在数据缓冲器部分和处理器部分之间进行选择;
多条第一输入/输出线,连接在选择电路和数据缓冲器部分之间;
多条第二输入/输出线,连接在选择电路和处理器部分之间;
第一输入/输出端子组,连接到数据缓冲器部分并用来与处理数据缓冲器的外部进行通信;
第二输入/输出端子组,连接到选择电路并用来与处理数据缓冲器的外部进行通信。
18.根据权利要求17所述的处理数据缓冲器,其中,
第一输入/输出端子组的每个端子被配置为传输数据位;
第二输入/输出端子组的每个端子被配置为传输数据位。
19.根据权利要求18所述的处理数据缓冲器,其中,
所述多条第一输入/输出线中的每条线被配置为传输数据位;
所述多条第二输入/输出线中的每条线被配置为传输数据位和命令/地址位。
20.根据权利要求19所述的处理数据缓冲器,其中,
第二输入/输出端子组的每个端子被配置为还传输命令/地址位。
21.根据权利要求19所述的处理数据缓冲器,所述处理数据缓冲器还包括:
第三输入/输出端子组,每个端子被配置为传输命令/地址位并且用于与处理数据缓冲器的外部进行通信。
22.一种形成在模块板上的非易失性双列直插存储器模块,所述非易失性双列直插存储器模块包括:
多个动态随机存取存储器存储器装置,每个动态随机存取存储器存储器装置包括:存储器单元阵列;第一输入/输出端子组,每个端子被配置为接收第一命令/地址位;以及第二输入/输出端子组,每个端子被配置为接收第一数据位;
多个非易失性存储器装置,与所述多个动态随机存取存储器存储器装置连接,每个非易失性存储器装置包括:存储器单元阵列;第三输入/输出端子组,每个端子被配置为接收第二命令/地址位;以及第四输入/输出端子组,每个端子被配置为接收第二数据位;
非易失性双列直插存储器模块控制器,被配置为向第一输入/输出端子组输出第一命令/地址位,并且被配置为向第三输入/输出端子组输出第二命令/地址位;以及
多个处理数据缓冲器,分别与所述多个动态随机存取存储器存储器装置连接,每个处理数据缓冲器被配置为在用作其相应的存储器装置的数据缓冲器和用作对从其相应的存储器装置接收的数据执行处理操作的处理器之间进行切换。
23.根据权利要求22所述的非易失性双列直插存储器模块,所述非易失性双列直插存储器模块还包括:
存储器模块端子组,用于将存储器模块连接到外部装置并且位于存储器模块的一个边缘上,
其中,所述多个处理数据缓冲器位于所述多个动态随机存取存储器存储器装置和存储器模块端子组之间。
24.根据权利要求23所述的非易失性双列直插存储器模块,其中,
非易失性双列直插存储器模块控制器位于第一子组动态随机存取存储器存储器装置和第二子组动态随机存取存储器存储器装置之间。
25.根据权利要求24所述的非易失性双列直插存储器模块,其中,
在非易失性双列直插存储器模块控制器的两侧中的任意一侧上存在相等数量的动态随机存取存储器存储器装置。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662408510P | 2016-10-14 | 2016-10-14 | |
US62/408,510 | 2016-10-14 | ||
US15/603,255 | 2017-05-23 | ||
US15/603,255 US10416896B2 (en) | 2016-10-14 | 2017-05-23 | Memory module, memory device, and processing device having a processor mode, and memory system |
KR10-2017-0093014 | 2017-07-21 | ||
KR1020170093014A KR102336294B1 (ko) | 2016-10-14 | 2017-07-21 | 프로세서 모드를 가지는 메모리 모듈 및 프로세싱 데이터 버퍼 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107958679A true CN107958679A (zh) | 2018-04-24 |
CN107958679B CN107958679B (zh) | 2023-05-23 |
Family
ID=61954519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710953332.5A Active CN107958679B (zh) | 2016-10-14 | 2017-10-13 | 存储器模块和用于存储器模块的处理数据缓冲器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107958679B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111104351A (zh) * | 2019-12-19 | 2020-05-05 | 西安紫光国芯半导体有限公司 | 一种用于内存模组的时钟调制方法 |
CN111679785A (zh) * | 2019-03-11 | 2020-09-18 | 三星电子株式会社 | 用于处理操作的存储器装置及其操作方法、数据处理*** |
CN111679783A (zh) * | 2019-03-11 | 2020-09-18 | 澜起科技股份有限公司 | 存储器控制器 |
CN111694772A (zh) * | 2019-03-11 | 2020-09-22 | 澜起科技股份有限公司 | 存储器控制器 |
CN112840401A (zh) * | 2018-10-16 | 2021-05-25 | 美光科技公司 | 存储器装置处理 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040148482A1 (en) * | 2003-01-13 | 2004-07-29 | Grundy Kevin P. | Memory chain |
CN1702768A (zh) * | 2004-05-26 | 2005-11-30 | 恩益禧电子股份有限公司 | 半导体存储装置 |
CN101034382A (zh) * | 2006-03-09 | 2007-09-12 | 联发科技股份有限公司 | 用于嵌入式***的命令控制器及预取模块及其控制方法 |
CN101122887A (zh) * | 2007-01-17 | 2008-02-13 | 晶天电子(深圳)有限公司 | 一种采用数据区域切换指针缓冲硬盘驱动器的闪存卡 |
CN102568556A (zh) * | 2010-12-28 | 2012-07-11 | 海力士半导体有限公司 | 包括模式寄存器组的半导体存储器件及其操作方法 |
-
2017
- 2017-10-13 CN CN201710953332.5A patent/CN107958679B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040148482A1 (en) * | 2003-01-13 | 2004-07-29 | Grundy Kevin P. | Memory chain |
CN1702768A (zh) * | 2004-05-26 | 2005-11-30 | 恩益禧电子股份有限公司 | 半导体存储装置 |
CN101034382A (zh) * | 2006-03-09 | 2007-09-12 | 联发科技股份有限公司 | 用于嵌入式***的命令控制器及预取模块及其控制方法 |
CN101122887A (zh) * | 2007-01-17 | 2008-02-13 | 晶天电子(深圳)有限公司 | 一种采用数据区域切换指针缓冲硬盘驱动器的闪存卡 |
CN102568556A (zh) * | 2010-12-28 | 2012-07-11 | 海力士半导体有限公司 | 包括模式寄存器组的半导体存储器件及其操作方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112840401A (zh) * | 2018-10-16 | 2021-05-25 | 美光科技公司 | 存储器装置处理 |
CN111679785A (zh) * | 2019-03-11 | 2020-09-18 | 三星电子株式会社 | 用于处理操作的存储器装置及其操作方法、数据处理*** |
CN111679783A (zh) * | 2019-03-11 | 2020-09-18 | 澜起科技股份有限公司 | 存储器控制器 |
CN111694772A (zh) * | 2019-03-11 | 2020-09-22 | 澜起科技股份有限公司 | 存储器控制器 |
US11157183B2 (en) | 2019-03-11 | 2021-10-26 | Montage Technology Co., Ltd. | Memory controller |
CN111104351A (zh) * | 2019-12-19 | 2020-05-05 | 西安紫光国芯半导体有限公司 | 一种用于内存模组的时钟调制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107958679B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102336294B1 (ko) | 프로세서 모드를 가지는 메모리 모듈 및 프로세싱 데이터 버퍼 | |
CN107958679A (zh) | 存储器模块和用于存储器模块的处理数据缓冲器 | |
CN103366801B (zh) | 存储器装置及其操作方法 | |
US7830692B2 (en) | Multi-chip memory device with stacked memory chips, method of stacking memory chips, and method of controlling operation of multi-chip package memory | |
CN101410814B (zh) | 非易失性存储器的菊花链布置 | |
JP3955712B2 (ja) | 半導体装置 | |
CN101957726B (zh) | 双列直插式存储模块中的相变存储器 | |
CN105474319B (zh) | 用于配置混合存储器模块的存储器的i/o的设备及方法 | |
CN102177549A (zh) | 具有用于将分立存储装置与***相连接的桥接装置的复合存储器 | |
US11069400B1 (en) | High bandwidth memory and system having the same | |
US20220269432A1 (en) | Apparatus with combinational access mechanism and methods for operating the same | |
CN107209735B (zh) | 可配置管芯、层叠封装装置以及方法 | |
CN116719486B (zh) | 一种内置数据自动传输功能的多模存储装置及控制方法 | |
CN105788636A (zh) | 一种基于并行多通道结构的eMMC控制器 | |
CN108958797A (zh) | 应用处理器和集成电路 | |
US7920433B2 (en) | Method and apparatus for storage device with a logic unit and method for manufacturing same | |
TWI448901B (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 |