CN100580804C - 具有数据处理能力的动态随机存储器装置 - Google Patents
具有数据处理能力的动态随机存储器装置 Download PDFInfo
- Publication number
- CN100580804C CN100580804C CN200810046723A CN200810046723A CN100580804C CN 100580804 C CN100580804 C CN 100580804C CN 200810046723 A CN200810046723 A CN 200810046723A CN 200810046723 A CN200810046723 A CN 200810046723A CN 100580804 C CN100580804 C CN 100580804C
- Authority
- CN
- China
- Prior art keywords
- dram
- processing unit
- data
- memory
- interface
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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
- Dram (AREA)
Abstract
本发明涉及一种具有数据处理能力的DRAM存储器装置,存储器接口、处理单元、处理单元控制接、内部存储器、通信网络、内部DRAM存储控制器,存储器接口用来和外部存储器总线交互数据,同时与装置内DRAM控制器及处理单元控制接口连接,处理单元与装置内DRAM控制器通过通信网络连接,DRAM控制器同时还连接内部DRAM存储器。本发明可以在不进行任何硬件改动的情况下,将该装置应用于各种数据处理系统,既可以作为普通存储器提供程序与数据的存储能力,又可提供对存储器内数据进行处理的能力,以提高数据处理系统的性能。该装置具有性能高、功耗低、应用方便等优点。
Description
技术领域
本发明专利涉及数据处理系统的存储器,尤其涉及具有数据处理能力的DRAM(动态随机存储器)装置。
背景技术
在过去的几十年里,处理器的性能一直按照摩尔定律以每18个月翻一番的惊人速度提升。这都得益于集成电路制造工艺和体系结构技术的巨大提高。不过人们也开始意识到有越来越多的因素阻碍着处理器的性能进一步提升。其中“存储墙”就是现有冯诺伊曼体系结构中一个难以解决的问题。在以前的设计生产中,处理器与存储器都是单独设计与优化的。处理器的制造工艺是以产生快速的逻辑为目标;而存储器DRAM的制造工艺是以获得存储密度为目的。因此采用不同的制造方法来得到了快速的处理器和价廉的高密度存储器。但是这种方法也产生一个很严重的负面影响,那就是由于高速的处理器性能被慢速的DRAM主存所屏蔽,从而达不到它对整个系统所期望的性能提升。
针对存储墙问题,在传统以处理器为中心的框架下,人们使用层次性存储系统,并采用了大量的方法来减少或者隐藏存储器的访问延迟。这些技术包括改进大容量高速缓冲存储器(Cache)、软硬件预取、推断执行以及多线程技术等。但是,这些方法也不可避免得引入了更多的限制。如会增加失效情况下存储器的访问延迟,其中一些技术还更多的受到存储器带宽的限制。
为了能够从本质上解决存储墙的问题,必须从体系结构入手。已有的一种解决方案就是PIM(Processor In Memory)体系结构。它是随着工艺的进步,处理器和DRAM存储器能够集成在一起而产生的。从而避免了传统冯诺伊曼结构的存储墙性能瓶颈。PIM技术将逻辑器件直接集成到存储器中,具有低延迟、高带宽和低功耗等特性,使用PIM技术能够从本质上缓解存储墙问题。在过去的十几年里,全世界有不少大学或者研究机构着手启动研究这项技术,包括ActivePage,IRAM,HTMT,DIVA,FlexRAM,Blue GeneBG/C,Pim-Lite和Gilgamesh等。可以根据这些PIM芯片在计算机系统中所起的作用而分为两类。一类是处理器芯片,方法是把将大容量DRAM和一个合适的处理器集成到一个芯片并充当处理器的地位。另一类是带计算能力的存储芯片,它是将PIM芯片代替原有的存储器芯片,从而为原有的计算机系统提供更强的计算能力,如IRAM,FlexRAM。然而,这些存储器芯片都由于满足不了现有存储器的时序协议而不能有效的集成到现有的数据处理系统中。
综上所述,目前急需一种易于集成到现有数据处理系统中的带数据处理能力的存储器装置,来补充或替换现有数据处理系统中的外存储器。通过在存储器中提供数据处理的能力,解决现有数据处理系统中日益严重的“存储墙”问题。
发明内容
本发明的目的是在现有技术基础上,针对现有存储器没有处理能力的不足,提供一种具有数据处理能力的DRAM存储器装置。该装置的接口与现有存储器接口一致,不经过任何硬件改动就可以有效的集成到现有数据处理系统中。该装置既能提供简单的程序和数据存储功能,又能在应用程序和操作系统的使用调度下,在存储器内部对数据进行处理,有效解决“存储墙”问题,达到提升性能、降低功耗的目的。
本发明的目的通过以下技术方案实现:
设计一种具有新型结构,使DRAM具有强大的运算功能,用于加速数据处理系统的计算并提供存储功能,该装置包括:存储器接口、处理单元、处理单元控制接口、内部DRAM存储器、通信网络和内部DRAM存储控制器,存储器接口用来和外部存储器总线交互数据,同时与装置内的内部DRAM存储控制器及处理单元控制接口连接,处理单元与内部DRAM存储控制器通过通信网络连接,内部DRAM存储控制器同时还连接内部DRAM存储器。
所述存储器接口,主要负责处理外部DRAM存储控制器的各种访存命令,通过译码选择装置内DRAM存储器或者处理单元的状态与控制寄存器,同时还接收外部对具有数据处理能力的DRAM装置的操作命令以传送给相应的装置内DRAM存储器。所述处理单元,作为存储器装置中的具有数据处理能力的部件,用于加速数据处理系统中的各种应用。所述处理单元控制接口,接收各处理单元以及存储器接口对各处理单元的控制与状态寄存器的访问。所述装置内部DRAM存储器,用以存储数据处理系统的数据以及程序,可以采用嵌入式动态随机存储器(eDRAM)技术或其它存储器技术实现。所述内部DRAM存储控制器,接收来自存储器接口的访存命令及操作命令,同时负责处理来自通信网络上的访存请求。所述通信网络,承担数据处理单元对内部DRAM存储器的访存通路,并完成与内部DRAM存储控制器的协议转换。
所述数据处理系统主处理单元与具有数据处理能力的DRAM存储器装置之间交换信息的通道为闪存(FLASH)、静态随机存储器(SRAM)、同步动态随机存储器(SDRAM)、双倍速率同步动态随机存储器(DDR)、第二代双倍速率同步动态随机存储器(DDR2)、第三代双倍速率同步动态随机存储器(DDR3)、第二代图形专用双倍速率同步动态随机存储器(GDDR2)或第三代图形专用双倍速率同步动态随机存储器(GDDR3)接口标准规定的时序。
DRAM存储器装置内部集成一个或二个以上的处理单元,所述的处理单元为通用微处理器、RISC处理器或DSP处理器。
所述的处理单元为加速某类应用的专用处理器。
DRAM存储器装置内部集成一个或二个以上的内部DRAM存储器。
本发明可以在不进行任何硬件改动的情况下,将该装置应用于各种数据处理系统,既可以作为普通存储器提供程序与数据的存储能力,又可提供对存储器内数据进行处理的能力,以提高数据处理系统的性能。该装置具有性能高、功耗低、应用方便等优点。
附图说明
图1是本发明的硬件架构示意图;
图2是存储器接口的框架示意图;
图3是处理单元控制接口的框架示意图;
图4是仲裁器并行结构示意图;
图5是处理单元操作寄存器示意图;
图6是处理单元状态寄存器示意图;
图7是处理单元数据传输请求寄存器示意图;
图8是数据传输状态寄存器示意图;
图9是处理单元控制接口信号图;
图10是Stamp接口状态转换图;
图11是内部DRAM存储控制器框架示意图;
具体实施方式
本发明目的的实现、功能特点将结合实施例,参照附图做进一步说明。
本具有数据处理能力的DRAM存储器装置从功能模块上分,包括存储器接口、处理单元、处理单元控制接口、通信网络、内部DRAM存储器、内部DRAM存储控制器组成。存储器接口用来和外部存储器总线交互数据,同时与装置内DRAM控制器及处理单元控制接口连接,处理单元与装置内DRAM控制器通过通信网络连接,DRAM控制器同时还连接内部DRAM存储器。在最佳实施例中,我们采用标准DDR2接口和规范,集成4块各64KByte大小的eDRAM片内存储器以及4个处理单元。但本发明并不限于采用上述接口规范和配置。
本装置各部分的主要功能为:
存储器接口,负责接受并解析由通用DRAM存储器装置传输规范定义的读写和操作命令,在保证传输规范定义的时序操作的基础上,提供主处理器对具有数据处理能力的DRAM装置的内部存储器和数据处理单元的访问通道。所述存储器接口分别与芯片引脚、处理单元控制接口和内部DRAM存储控制器连接,并且通过行地址区分存储空间。若为对处理单元的访问,由存储器接口将行、列地址进行拼接,并将通用DRAM存储器装置规范定义的访问时序转化为访问处理单元所需的SRAM存储器时序,以实现处理单元的启动和查询;若为对内部DRAM存储器的访问,由存储器接口选择某一块内部DRAM存储器,并将接口的操作命令与数据直接送到该内部DRAM的输入端,以实现对装置的内部存储器的激活、预充、读、写、刷新等操作。
最佳实施例采用通用DDR2标准作为具有数据处理能力的DRAM存储器装置的接口与传输规范。在其他实施例中,也可以采用FLASH(闪存)、SRAM(静态随机存储器)、SDRAM(同步动态随机存储器)、DDR(双倍速率动态随机存储器)、DDR2(第二代双倍速率同步动态随机存储器)、DDR3(第三代双倍速率动态随机存储器)、GDDR2(第二代图形专用双倍速率同步动态随机存储器)、GDDR3(第三代图形专用双倍速率同步动态随机存储器)等通用DRAM存储器装置接口与传输规范。
采用DDR2标准的具有数据处理能力的DRAM存储器装置接口信号及描述如表1所示。存储器接口一端连接如表1所示的接口信号,一端连接内部DRAM存储器接口以及处理单元控制接口,其具体模块图如图2所示。图中的数据信号Data包括DQ、DQS、DM,控制信号Ctrl包括CKE、ODT、CS#、RAS#、CAS#、WE#。
表1DDR2标准接口信号及描述
名称 | 方向 | 描述 |
CK,CK# | 输入 | 时钟信号:CK和CK#为差分的时钟信号。输入数据都在CK的上升沿,也即CK#的下降沿进行采样;输出数据在CK和CK#的上升沿都进行输出。 |
CKE | 输入 | 时钟使能:激活(为高)或关闭(为低)片内时钟电路。 |
ODT | 输入 | 片上终端使能:为高时将内部电阻连接至引脚DQ、DQS和DM。若EMR(1)寄存器编程为作废ODT,则忽略该信号。 |
CS# | 输入 | 片选:使能(为低)或关闭(为高)存储器装置。 |
RAS#,CAS#,WE# | 输入 | 命令输入:RAS#,CAS#和WE#不同的组合定义不同的输入命令。 |
DM | 输入 | 输入数据屏蔽:对写入数据进行屏蔽的信号。若在写入命令时DM信号为高,则屏蔽该写入数据,不将其写入 |
存储器。 | ||
BA0~BA2 | 输入 | 体地址:定义对哪个体进行操作。 |
A0~A15 | 输入 | 地址:在激活命令时提供行地址;在读写命令时,提供列地址和预充控制位。A10作为预充控制位,若为低,预充由BA0~BA2定义的体;若为高,预充所有体。 |
DQ | 双向 | 数据输入输出:双向的数据总线。 |
DQS | 双向 | 数据选通脉冲:在读数据时作为输出,在写数据时作为输入。与读出数据上下沿对齐,与写入数据中段对齐。 |
VDDQ | 电源 | DQ电源输入 |
VSSQ | 电源 | DQ地输入 |
VDLL | 电源 | DLL电源输入 |
VSSDL | 电源 | DLL地输入 |
VSS | 电源 | 电源输入 |
VDD | 电源 | 地输入 |
VREF | 电源 | 参考电源输入 |
采用DDR2标准的具有数据处理能力的DRAM存储器装置接口协议命令真值表如表2所示。存储器接口负责接收并解析如表2所示的各种命令,由状态机(State Machine)根据当前的命令是针对内部DRAM存储器还是处理单元,控制存储器接口进入内部存储器操作模式或处理单元操作模式,当前操作模式一直保持至接收到下一改变当前操作模式的命令。存储器接口的Data、Ctrl、地址信号与内部DRAM存储器接口直接相连,在内部存储器操作模式状态下,由当前命令确定CS0~CS3的值,以选择一个或多个内部存储器进行操作。由于处理单元接口采用SRAM接口,所以在处理单元操作模式下,通过时序转换(Timing Transfer)模块实现DRAM到SRAM的时序转换。
表2DDR2标准协议命令真值表
存储器接口对各种访存命令的具体处理如下:
1、设置模式寄存器:在设置模式寄存器命令下进入内部存储器操作模式,由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部选通,以实现对所有内部存储器的模式寄存器进行设置。
2、刷新:在刷新命令下进入内部存储器操作模式,由刷新计数器(Refresh Counter)对刷新命令进行从0~3的循环计数,若当前计数到i,则选通CSi,以实现对某一内部存储器的刷新操作。
3、进入自刷新模式:在进入自刷新模式命令下进入内部存储器操作模式,由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部选通,控制所有内部存储器进入自刷新模式。
4、出自刷新模式:在出自刷新模式命令下进入内部存储器操作模式,由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部选通,控制所有内部存储器退出自刷新模式。
5、预充单体:在预充单体命令下进入内部存储器操作模式,由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部选通,控制所有内部存储器对某一体进行预充。
6、预充所有体:在预充所有体命令下进入内部存储器操作模式,由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部选通,控制所有内部存储器对所有体进行预充。
7、激活:根据行地址A15的值确定该激活操作是针对内部存储器还是处理单元。若A15为高,进入处理单元操作模式,将行地址和体地址送入时序转换(Timing Transfer)模块进行缓存,并由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部不选通;若A15为低,进入内部存储单元操作模式,由译码单元(Decoder)对地址信号A14、A13进行译码,以选通CS0~CS3中的一个进行操作。
8、写:若当前为处理单元操作模式,将列地址送入时序转换(TimingTransfer)模块,与前一次激活时缓存的行地址、体地址进行拼接,同时进行相应的时序转换,并由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部不选通,以便采用SRAM接口对处理单元进行写操作;若当前为片内存储器操作模式,并由状态机(State Machine)控制译码单元(Decoder),保持上一次激活操作时选通的CS0~CS3中的一个,以便对某一内部存储器进行写操作。
9、写后预充:若当前为处理单元操作模式,将列地址送入时序转换(Timing Transfer)模块,与前一次激活时缓存的行地址、体地址进行拼接,同时进行相应的时序转换,并由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部不选通,以便采用SRAM接口对数据处理单元进行写操作;若当前为内部存储器操作模式,并由状态机(StateMachine)控制译码单元(Decoder),保持上一次激活操作时选通的CS0~CS3中的一个,以便对某一内部存储器进行写后预充操作。
10、读:若当前为处理单元操作模式,将列地址送入时序转换(TimingTransfer)模块,与前一次激活时缓存的行地址、体地址进行拼接,同时进行相应的时序转换,并由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部不选通,以便采用SRAM接口对处理单元进行读操作;若当前为片内存储器操作模式,并由状态机(State Machine)控制译码单元(Decoder),保持上一次激活操作时选通的CS0~CS3中的一个,以便对某一内部存储器进行读操作。
11、读后预充:若当前为数据处理单元操作模式,将列地址送入时序转换(Timing Transfer)模块,与前一次激活时缓存的行地址、体地址进行拼接,同时进行相应的时序转换,并由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部不选通,以便采用SRAM接口对数据处理单元进行读操作;若当前为内部存储器操作模式,并由状态机(StateMachine)控制译码单元(Decoder),保持上一次激活操作时选通的CS0~CS3中的一个,以便对某一内部存储器进行读后预充操作。
12、无操作:保持当前操作模式,并由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部不选通。
13、取消器件选中:保持当前操作模式,并由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部不选通。
14、进入低功耗模式:在进入低功耗模式命令下进入片内存储器操作模式,由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部选通,控制所有内部存储器进入低功耗模式。
15、出低功耗模式:在出低功耗模式命令下进入片内存储器操作模式,由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部选通,控制所有内部存储器退出低功耗模式。
处理单元负责在装置内部对数据进行处理,以实现对数据密集型应用的本地加速。处理单元可以是一个或多个通用微处理器、RISC处理器、DSP处理器或者为加速某类应用的专用处理器。
在最佳实施例中,我们采用了4个专用数据处理器作为数据处理单元。在其他实施例中并不限于采用该处理器和该配置。存储器接口通过处理单元控制接口对处理单元内部状态寄存器进行操作,这些寄存器包括但不限于处理单元通用寄存器、处理单元控制与状态寄存器、处理单元TLB寄存器组、数据请求寄存器等。通过对这些寄存器的操作,数据处理系统中的主处理器可以启动这些处理单元进行数据处理、查询处理单元状态、更新处理单元TLB。
处理单元控制接口负责接收装置内部处理单元以及存储器接口对各处理单元的控制与状态寄存器的访问。通过该接口处理单元可以访问到其他处理单元的状态和控制寄存器,从而提供了处理单元之间的互操作能力;另外,主处理器也可以通过存储器接口访问处理单元以及控制接口的状态和控制寄存器,从而提供了主处理器对处理单元的控制能力以及处理单元与主处理器的通信。
处理单元控制接口的框架结构如图3所示。它主要由仲裁器、译码器、控制与状态寄存器三个模块组成,仲裁器负责接收对处理单元以及控制接口的控制与状态寄存器的访问命令,并根据优先级策略进行仲裁。译码器用于对仲裁器输出的访问命令进行地址译码,以发送读写命令。控制接口的控制与状态寄存器主要用来保存处理单元与主处理器的通信命令。
与处理单元控制接口连接的主接口中,与存储器接口的连接用于主处理器访问处理单元以及处理单元控制接口的状态和控制寄存器;与处理单元的连接接口主要用于处理单元访问其它处理单元以及处理单元控制接口的控制和状态寄存器。从接口中只有与处理单元的接口,其用来处理单元控制接口对处理单元的数据访问。
所述的仲裁器是一个优先级选择仲裁模块。有两种方案可以实现该仲裁器。图3描述了一种较为简单的方案。即每次从请求信号中按照优先级或者预先策略选择读写命令,发送给译码器进行译码。一种较为复杂但性能为高的仲裁器结构如图4所示。由于不同的处理单元状态与控制寄存器以及处理单元控制接口的状态与控制寄存器是相互独立的,完全可以将对它们进行的读写访问并行起来。仲裁器首先作译码,只要是在不同的寄存器组访问就可以并行访问。当遇到两个以上的读写信号访问同一寄存器组时,则按照优先级策略进行选择。
所述的译码器主要根据读写命令的访问地址进行译码以确定是访问哪一路寄存器组。由于处理单元及其控制接口的控制状态寄存器是由操作系统运行时分配,所述的译码器首先需读取配置信息从而进行访问地址的译码。
所述的控制与状态寄存器可以分布在处理单元的内部寄存器,也可以集中放在处理单元控制接口模块中。集中放在处理单元控制接口中的好处是可以减少主处理器对处理单元寄存器的访问次数。所述的控制与状态寄存器主要用于处理单元之间及其与主处理器之间的通信,包括处理单元操作寄存器、处理单元工作状态寄存器、处理单元数据传输请求寄存器以及数据传输状态寄存器。
处理单元操作寄存器组如图5所示,为4个64位寄存器,其也可以通过32位寄存器实现。每个寄存器包括32位启动地址以及1位启动标志位,其余31位保留。
处理单元工作状态寄存器如图6所示,为32位寄存器,其中每个处理单元占用两位,其它24位保留。两位中,一位表示是否计算完成,一位表示是否有数据请求。
处理单元数据请求寄存器组如图7所示,为4个128位寄存器,其也可以通过32位寄存器实现。每个寄存器包括32位的源地址,32位的目的地址,以及32位的数据传输请求寄存器,另有32位保留。
数据传输状态寄存器如图8所示,为32为寄存器,其中每个处理单元占用2位,其它24位保留。这两位用来表示主处理器响应处理单元的数据传输请求的结果状态:00表示未完成,11表示已完成,01表示传输出现错误,10保留。
处理单元控制接口的信号都是按照类似SRAM的访问方式来实现。不过在处理单元对处理单元的进行访问的时候增加了GRANT信号,当没有应答时,处理单元应该重新发送访问命令。由于从存储器接口访问命令优先级最高,不会发生读写命令不响应的情况,因此不需要GRANT信号。具体的接口信号如图9所示。
内部DRAM存储器负责存储数据处理系统的数据以及程序。本最佳实施例中集成4块各64KByte大小的eDRAM片内DRAM存储器。但片内DRAM存储器的大小、配置及实现工艺并不限于此。
通信网络主要负责承担处理单元对内部DRAM存储器的访存通路,由stamp接口主要负责网络通讯协议与内部DRAM存储器访问协议的转换。需要注意的是,DRAM存储控制器上接口访问可以阻塞相同存储体上的网络访问,但对其它存储体上的网络访问不产生影响。以数据读操作为例,其工作流程是:
A、处理单元通过通信网络将的读请求或写请求发送至目标DRAM存储器的Stamp接口;
B、Stamp接口负责把读请求或者写请求转换成DRAM访存命令,发到DRAM存储控制器。
处理单元的读请求包括访存地址、访存大小及读请求;处理单元的写请求包括访存地址、访存数据、访存大小及写请求。
图10是Stamp接口负责将微处理单元命令转换成DRAM存储控制器的状态转换图。Stamp接口的工作状态分为空闲状态、激活状态、读写状态、正常充电状态、提前充电状态、重试状态。Stamp接口的工作流程是:
A、Stamp接口处于空闲状态,接收来自处理单元的读请求或写请求,如果处理单元请求有效而且没有监测到来自存储器接口的ACTIVE命令,进入激活状态;
B、Stamp接口处于激活状态,如果没有监测到来自存储器接口的ACTIVE命令,那么发出DRAM激活命令,激活处理单元即将访问的DRAM存储行,进入读写状态,如果监测到来自存储器接口的ACTIVE命令,那么不发出任何命令,表示微处理单元的读写请求未执行完毕,进入重试状态;
C、Stamp接口处于读写状态,如果没有监测到来自存储器接口的ACTIVE命令,发出DRAM读写命令,进入正常充电状态,如果监测到来自存储器接口的ACTIVE命令,对所操作的存储行进行充电,进入提前充电状态;
D、Stamp接口处于正常充电状态,发出DRAM充电命令,对第C步所操作的存储行进行充电,微处理单元的读写请求操作完毕,进入空闲状态;
E、Stamp接口处于提前充电模式,表明微处理单元的读写请求未执行完毕,等待充电完毕,进入重试状态;
F、Stamp接口处于重试状态,等待监测到来自存储器接口的PRECHARGE命令执行完毕,准备好刚才未执行完毕的读写请求,进入激活状态。
内部DRAM存储控制器负责处理来自Stamp接口的DRAM操作命令,并负责处理来自存储器接口的DRAM操作命令。内部DRAM存储控制器需要区别对待两种类型的访问请求,存储器接口的访问优先级要求高于互连网络通过Stamp接口发出的访问请求。因此,当存储器接口正在进行访问时,若互联网络有对内部DRAM的访问请求,则由内部DRAM存储控制器将互联网络的访问请求阻塞并缓存到命令缓存中,以便在存储器接口访问后发出互联网络的访问请求。而当互联网络正在访问内部DRAM存储器时,若存储器接口有访问请求,则作废当前的互联网络访问请求,并向内部DRAM存储器发出预充命令,关闭已经由互联网络访问请求激活的行。由于内部DRAM存储控制器的操作频率远高于存储器接口的访问频率,因此插入的这条预充命令并不会影响存储器接口的访问时序。在存储器接口访问完成以后,再次执行先前作废的互联网络访问命令。
图11是DRAM控制器处理两类命令的原理图。所述的命令缓存用于缓存来自存储器接口命令,缓存的深度为2或者3。所述的命令解释单元用于直接对来自于Stamp接口的存储请求与来自于命令缓存的命令进行逻辑与操作,并将与操作结果用于控制DRAM存储体。
本发明具有数据处理能力的DRAM存储器装置,在DRAM存储器内部提供了数据处理能力,采用现有的DRAM存储器接口及协议,可以在不进行任何硬件改动的基础上集成到现有数据处理系统。即能提供通用的程序和数据存储能力,又能提供对数据处理的本地加速,具有性能高、功耗低、应用方便等优点。
Claims (5)
1、具有数据处理能力的DRAM装置,包括:存储器接口、处理单元、处理单元控制接口、内部DRAM存储器、通信网络、内部DRAM存储控制器,存储器接口用来和外部存储器总线交互数据,同时与装置内部DRAM存储控制器及处理单元控制接口连接,处理单元与装置内部DRAM存储控制器通过通信网络连接,内部DRAM存储控制器同时还连接内部DRAM存储器;
存储器接口用于处理外部DRAM存储控制器的各种访存命令,通过译码选择内部DRAM存储器或者处理单元的状态与控制寄存器,同时还接收外部DRAM操作命令并传送给相应的内部DRAM存储器;
处理单元用于加速数据处理系统中各种应用的作用;
处理单元控制接口用于接收各处理单元以及存储器接口对各处理单元的控制与状态寄存器的访问;
内部DRAM存储器用于存储数据处理单元的数据以及程序;
通信网络用于承担各处理单元对内部DRAM存储器的访存通路,并完成与内部DRAM存储控制器的协议转换;
内部DRAM存储控制器用于接收来自存储器接口的访存命令及操作命令,同时负责处理来自通信网络上的访存请求。
2、按照权利要求1所述的具有数据处理能力的DRAM装置,其特征在于:所述数据处理系统的主处理单元与具有数据处理能力的DRAM装置之间交换信息的通道为闪存(FLASH)、静态随机存储器(SRAM)、同步动态随机存储器(SDRAM)、第二代双倍速率同步动态随机存储器(DDR2)、双倍速率同步动态随机存储器(DDR)、第三代双倍速率同步动态随机存储器(DDR3)、第二代图形专用双倍速率同步动态随机存储器(GDDR2)或第三代图形专用双倍速率同步动态随机存储器(GDDR3)接口标准规定的时序。
3、根据权利要求1所述的具有数据处理能力的DRAM装置,其特征在于:DRAM装置内部集成一个或二个以上的处理单元,所述的处理单元为通用微处理器、RISC处理器或DSP处理器。
4、根据权利要求1所述的具有数据处理能力的DRAM装置,其特征在于:所述的处理单元为加速应用的专用处理器。
5、根据权利要求1所述的具有数据处理能力的DRAM装置,其特征在于:DRAM装置内部集成一个或二个以上的内部DRAM存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810046723A CN100580804C (zh) | 2008-01-21 | 2008-01-21 | 具有数据处理能力的动态随机存储器装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810046723A CN100580804C (zh) | 2008-01-21 | 2008-01-21 | 具有数据处理能力的动态随机存储器装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101226770A CN101226770A (zh) | 2008-07-23 |
CN100580804C true CN100580804C (zh) | 2010-01-13 |
Family
ID=39858708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810046723A Expired - Fee Related CN100580804C (zh) | 2008-01-21 | 2008-01-21 | 具有数据处理能力的动态随机存储器装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100580804C (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
CN102736997B (zh) * | 2011-04-01 | 2017-05-03 | 中兴通讯股份有限公司 | 一种片上互联总线的仲裁方法和系统 |
US9317212B2 (en) * | 2012-12-18 | 2016-04-19 | Intel Corporation | Method and apparatus for controlling a storage device |
CN110908491B (zh) * | 2018-08-28 | 2023-08-08 | 上海忆芯实业有限公司 | 功耗控制方法、控制部件及其电子系统 |
CN113383317B (zh) * | 2019-01-31 | 2023-07-18 | 华为技术有限公司 | 一种处理装置、方法及相关设备 |
-
2008
- 2008-01-21 CN CN200810046723A patent/CN100580804C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101226770A (zh) | 2008-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101216751B (zh) | 基于分布存储结构的具有数据处理能力的动态随机存储器装置 | |
Li et al. | Pinatubo: A processing-in-memory architecture for bulk bitwise operations in emerging non-volatile memories | |
US9761297B1 (en) | Hidden refresh control in dynamic random access memory | |
Kim et al. | A case for exploiting subarray-level parallelism (SALP) in DRAM | |
US11144386B2 (en) | Memory controller storing data in approximate memory device based on priority-based ECC, non-transitory computer-readable medium storing program code, and electronic device comprising approximate memory device and memory controller | |
US8280714B2 (en) | Memory circuit simulation system and method with refresh capabilities | |
US7451263B2 (en) | Shared interface for components in an embedded system | |
Kim et al. | Aquabolt-XL: Samsung HBM2-PIM with in-memory processing for ML accelerators and beyond | |
US10073790B2 (en) | Electronic system with memory management mechanism and method of operation thereof | |
US20080031072A1 (en) | Power saving system and method for use with a plurality of memory circuits | |
US20040095818A1 (en) | Memory controller and data processing system | |
US20130188424A1 (en) | System and method for storing at least a portion of information received in association with a first operation for use in performing a second operation | |
US20160370998A1 (en) | Processor Memory Architecture | |
Ware et al. | Improving power and data efficiency with threaded memory modules | |
US7405992B2 (en) | Method and apparatus for communicating command and address signals | |
CN100580804C (zh) | 具有数据处理能力的动态随机存储器装置 | |
JP2018500695A (ja) | メモリアクセス方法、ストレージクラスメモリ、およびコンピュータシステム | |
CN101404177B (zh) | 具有数据处理能力的计算型存储器 | |
KR20170060739A (ko) | 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 | |
Talati et al. | CONCEPT: A column-oriented memory controller for efficient memory and PIM operations in RRAM | |
CN101221532B (zh) | 实现具有数据处理能力的动态随机存储器的接口方法 | |
US11636893B2 (en) | Memory device with multiple row buffers | |
Woo et al. | Pragmatic integration of an SRAM row cache in heterogeneous 3-D DRAM architecture using TSV | |
WO2016180063A1 (zh) | 写请求的处理方法和内存控制器 | |
KR20170120470A (ko) | 컴퓨팅 시스템, 비휘발성 메모리 모듈, 및 저장 장치의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100113 Termination date: 20130121 |
|
CF01 | Termination of patent right due to non-payment of annual fee |