CN101216751B - 基于分布存储结构的具有数据处理能力的动态随机存储器装置 - Google Patents
基于分布存储结构的具有数据处理能力的动态随机存储器装置 Download PDFInfo
- Publication number
- CN101216751B CN101216751B CN2008100467259A CN200810046725A CN101216751B CN 101216751 B CN101216751 B CN 101216751B CN 2008100467259 A CN2008100467259 A CN 2008100467259A CN 200810046725 A CN200810046725 A CN 200810046725A CN 101216751 B CN101216751 B CN 101216751B
- Authority
- CN
- China
- Prior art keywords
- dram
- processing unit
- data
- interface
- controller
- 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
Landscapes
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及一种基于分布存储结构的具有数据处理能力的DRAM装置,包括:包括:存储器装置接口、控制接口、处理单元、DRAM存储体、通信网络、DRAM存储体控制器、DMA控制器,存储器装置接口用来和外部存储器总线交互数据,同时与装置内的DRAM存储控制器及DMA控制器连接,DMA控制器、处理单元与DRAM存储体控制器通过通信网络连接,内部DRAM存储体控制器同时还连接内部DRAM存储器。本发明优点在于不对数据处理系统中其它硬件进行改动,可以作为普通存储器使用,也可以利用程序控制具有数据处理能力的存储装置的数据处理单元,对装置内部的数据加速处理,起到显著提高整个数据处理系统性能的效果。
Description
技术领域
本发明专利涉及一种基于分布存储构架的具有数据处理能力的动态随机存储器(DRAM)装置。
背景技术
在过去几十年内,处理器的性能一直按照摩尔定律以每18个月翻一番的惊人速度提升。这都得益于集成电路制造工艺和体系结构技术的巨大提高。不过人们也开始意识到有越来越多的因素阻碍着处理器性能的进一步提升。“存储墙”问题就是冯诺伊曼体系结构之中的性能瓶颈之一。目前,在半导体行业之中,芯片运算速度与存储部件访问速率的差距正在不断拉大,为了弥补这种分离设计的缺陷,微处理器普遍采用了大量的方法来减少或者隐藏存储器的访问延迟,包括大容量高速缓冲存储器(Cache)、软硬件预取、推断执行及事务内存等机制,它们不能从根本上解决存储访问的瓶颈,反而使得处理器的复杂性不断增加。
目前,随着半导体工艺的不断进步,处理器与存储器集成在同一芯片内部已经实现,该技术的出现会对传统冯诺伊曼体系结构中的存储墙问题带来影响。传统的存储芯片受到芯片管脚数量与物理传输路径的影响,存在着高延迟、低带宽的缺陷。而大容量的DRAM存储器具有低延迟、高带宽和低功耗等特性,它的出现可以从本质上解决存储墙问题。根据片上DRAM存储器件在处理器体系结构中所起的作用而分为两类。一类是处理器芯片,将大容量DRAM和一个合适的处理器集成到一个芯片,扮演主处理器的角色,如Blue Gene。另一类是具有数据处理能力的的存储芯片,具备普通存储功能,同时拥有计算能力,能够对存储芯片内部的数据进行加速处理,克服存储墙问题,特别适用于加速以媒体处理为代表的数据密集型应用。现在相关的处理器-存储器集成的研究,如Pim-Lite和Gilgamesh等实现了具备计算能力的DRAM存储器,然而,这些存储芯片不能满足目前工业界标准的存储器时序协议,无法兼容诸如个人电脑、服务器或工作站等工作环境。而我们设计了一种分布存储结构的具有数据处理能力的DRAM存储装置,其内部的DRAM存储体捆绑了数据处理单元,系统软件通过控制数据处理单元,利用DRAM存储器的高带宽优势,对体上数据加速处理,大量数据无需读出DRAM存储装置,大大缓解了整个数据处理系统对存储器的带宽需求。
发明内容
本发明的目的是在现有技术基础上,针对传统存储器的访存带宽瓶颈,提供一种基于分布存储结构的具有数据处理能力的DRAM装置,该存储装置具有和普通存储器完全一致的接口规范,兼容闪存(FLASH)、静态随机存储器(SRAM)、同步动态随机存储器(SDRAM)、双倍速率同步动态随机存储器(DDR)、第二代双倍速率同步动态随机存储器(DDR2)、第三代双倍速率同步动态随机存储器(DDR3)、第二代图形专用双倍速率同步动态随机存储器(GDDR2)或第三代图形专用双倍速率同步动态随机存储器(GDDR3)通用DRAM存储器装置接口与传输规范,同时具备一定的处理能力。应用程序通 过应用程序接口(API)可以直接调用装置中的处理单元,处理单元利用DRAM存储体的高带宽优势对目标数据完成加速处理,缓解了整个数据处理系统中存储器访问带宽的瓶颈。
本发明的目的通过以下技术方案实现:
一种基于分布存储结构的具有数据处理能力的DRAM装置,包括:存储器装置接口、控制接口、处理单元、DRAM存储体、通信网络、DRAM存储体控制器、DMA控制器,存储器装置接口用来和外部存储器总线交互数据,同时与装置内的DRAM存储控制器及DMA控制器连接,DMA控制器、处理单元与DRAM存储体控制器通过通信网络连接,内部DRAM存储体控制器同时还连接内部DRAM存储器;
存储器装置接口,负责处理外部主机发送的各种访存命令,译码选择DRAM存储体、处理单元的状态、控制寄存器或DMA控制器,此外,还接收其它DRAM操作命令,传送给对应的DRAM存储体;
控制接口,接收存储器装置接口或其它处理单元对处理单元控制与状态寄存器的访问;
处理单元,每个处理单元分别对应各存储体,作为装置中具有数据处理能力的部件,起到了加速数据处理系统各种应用的效果;
DRAM存储体,负责数据缓存;
通信网络,负责装置中各个DRAM存储体间的通信,处理器单元仅有权访问本地的DRAM存储体,访问其它DRAM存储体中的数据需要将它们搬迁至本地DRAM存储体;
DRAM存储体控制器,负责来自存储器装置接口、通信网络、DMA控制器及处理单元的访问请求进行仲裁,保证存储器装置接口的无阻塞访问;
DMA控制器,处理单元或存储器装置接口发送数据转移命令给DMA控制器,DMA控制器解析命令,负责控制数据转移操作。
所述的存储器装置包括至少一个存储体,每个存储体分别对应一个或者两个以上具有计算功能的处理单元,所述的处理单元包括通用处理器、数字信号处理器或微控制单元。
所述的处理单元为加速某类应用的专用处理器。
所述的DRAM存储装置内部集成一个或两个以上DRAM存储体,存储体可以采用嵌入式动态随机存储器(eDRAM)技术但不仅限于该技术具体实现。
所述DRAM存储体控制器负责处理来自处理单元、存储器装置接口、DMA控制器、通信网络的访问请求。所述DRAM存储体控制器保证存储器装置接口的访问不能被阻塞。所述DRAM存储体控制器负责接受来自存储器装置接口的控制与配置命令。所述DRAM存储体控制器负责通过通信网络与其它DRAM存储体交换数据。所述DRAM存储体控制器提供了对来自通信网络、DMA控制器、处理单元访问请求的中断与恢复机制。
本发明的优点在于不对数据处理系统中其它硬件进行改动,可以作为普通存储器使用,也可以利用程序控制具有数据处理能力的存储装置的数据处理单元,对装置内部的数据加速处理,起到显著提高整个数据处理系统性能的效果。
附图说明
图1是本发明的架构示意图;
图2是存储器装置接口框架示意图;
图3是处理单元控制接口框架;
图4是仲裁器并行方案;
图5是处理单元操作寄存器;
图6是处理单元状态寄存器;
图7是处理单元数据传输请求寄存器;
图8是数据传输状态寄存器;
图9是处理单元控制接口信号图;
图10是DRAM存储体控制器框架示意图;
图11是仲裁器(Arbiter)状态转换图;
图12DMA控制器的结构原理图
图13是数据传输命令格式。
具体实施方式
本发明目的的实现、功能特点将结合实施例,参照附图做进一步说明。
本基于分布存储结构的DRAM存储装置从功能模块上分,包括存储器装置接口、处理单元、单元控制接口、DRAM存储体、DRAM存储体控制器、通信网络及数据转移控制器组成,其连接关系如图1所示。在最佳实施例中,采用了标准DDR2接口和规范,集成了4个大小为64KB的嵌入式动态随机存储器(eDRAM)存储体以及4个处理单元。本发明并不限于采用上述接口规范和配置。
本装置各部分的主要功能为:
存储器装置接口
存储器装置接口,负责接受并解析由通用DRAM存储器装置传输规范定义的读写和操作命令,在保证传输规范定义的时序操作的基础上,提供主处理器对具有数据处理能力的DRAM存储器装置片内存储器、数据处理单元以及DMA控制器的访问通道。所述存储器装置接口分别与芯片引脚、处理单元控制接口、内部DRAM存储控制器和DMA控制器连接,并且通过行地址区分存储空间。若为对处理单元的访问,由存储器装置接口将行、列地址进行拼接,并将通用DRAM存储器装置规范定义的访问时序转化为访问处理单元所需的SRAM存储器时序,以实现处理单元的启动和查询。若为对内部DRAM存储器的访问,由存储器装置接口选择某一块内部DRAM存储器,并将接口的操作命令与数据直接送到该存储器输入端,以实现对片内存储器的激活、预充、读、写、刷新等操作。若为对DMA控制器的访问,由存储器装置接口将行、列地址进行拼接,并将通用DRAM存储器装置规范定义的访问时序转化为访问DMA控制器所需的SRAM存储器时序,以实现对DMA控制器的操作。
最佳实施例采用通用DDR2标准作为具有数据处理能力的DRAM存储器装置的接口与传输规范。在其他实施例中,也可以采用SDRAM、DDR、DDR3等通用DRAM存储器装置接口与传输规范。
采用DDR2标准的具有数据处理能力的DRAM存储器装置接口信号及描述如表1所示。存储器装置接口一端连接如表1所示的接口信号,一端连接内部DRAM存储器接口、处理单元控制接口以及DMA控制器接口,其具体模块图如图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电源输入 |
列地址和预充控制位。A10作为预充控制位,若为低,预充由BA0~BA2定义的体;若为高,预充所有体。 | ||
VSSQ | 电源 | DQ地输入 |
VDLL | 电源 | DLL电源输入 |
VSSDL | 电源 | DLL地输入 |
VSS | 电源 | 电源输入 |
VDD | 电源 | 地输入 |
VREF | 电源 | 参考电源输入 |
采用DDR2标准的具有数据处理能力的DRAM存储器装置接口协议命令真值表如表2所示。存储器装置接口负责接收并解析如表2所示的各种命令,由状态机(State Machine)根据当前的命令是针对内部DRAM存储器、处理单元还是DMA控制器,控制存储器接口进入内部存储器操作模式、处理单元操作模式或DMA控制器操作模式,当前操作模式一直保持至接收到下一改变当前操作模式的命令。存储器装置接口的Data、Ctrl、地址信号与内部DRAM存储器接口直接相连,在内部存储器操作模式状态下,由当前命令确定CS0~CS3的值,以选择一个或多个内部存储器进行操作。由于处理单元接口和DMA控制器接口采用SRAM接口,所以在处理单元操作模式和DMA控制器操作模式下,通过时序转换(Timing Transfer)模块实现DRAM到SRAM的时序转换。
表2DDR2标准协议命令真值表
命令 | CKE | CS# | RAS# | CAS# | WE# | BA0~BA2 | A15~A11 | A10 | A9~A0 | |
前态 | 现态 | |||||||||
设置模式寄存器 | H | H | L | L | L | L | 体地址 | 写入数据 | ||
刷新 | H | H | L | L | L | H | × | × | × | × |
进入自刷新模式 | H | L | L | L | L | H | × | × | × | × |
命令 | CKE | CS# | RAS# | CAS# | WE# | BA0~BA2 | A15~A11 | A10 | A9~A0 | |
出自刷新模式 | L | H | H | × | × | × | × | × | × | × |
L | H | H | H | |||||||
预充单体 | H | H | L | L | H | L | 体地址 | × | L | × |
预充所有体 | H | H | L | L | H | L | × | × | H | × |
激活 | H | H | L | L | H | H | 体地址 | 行地址 | ||
写 | H | H | L | H | L | L | 体地址 | 列地址 | L | 列地址 |
写后预充 | H | H | L | H | L | L | 体地址 | 列地址 | H | 列地址 |
读 | H | H | L | H | L | H | 体地址 | 列地址 | L | 列地址 |
读后预充 | H | H | L | H | L | H | 体地址 | 列地址 | H | 列地址 |
无操作 | H | × | L | H | H | H | × | × | × | × |
取消器件选中 | H | × | H | × | × | × | × | × | × | × |
进入低功耗模式 | H | L | H | × | × | × | × | × | × | × |
L | H | H | H | |||||||
出低功耗模式 | L | H | H | × | × | × | × | × | × | × |
存储器装置接口对各种访存命令的具体处理如下:
1.设置模式寄存器:在设置模式寄存器命令下进入内部存储器操作模式,
由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部选通,以实现对所有内部存储器的模式寄存器进行设置。
2.刷新:在刷新命令下进入内部存储器操作模式,由刷新计数器(RefreshCounter)对刷新命令进行从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、A14的值确定该激活操作是针对内部存储器、处理单元还是DMA控制器。若A15、A14为10,进入处理单元操作模式,将行地址和体地址送入时序转换(Timing Transfer)模块进行缓存,并由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部不选通;若A15、A14为11,进入DMA控制器操作模式,将行地址和体地址送入时序转换(Timing Transfer)模块进行缓存,并由状态机(State Machine)控制译码单元(Decoder),将CS0~CS 3全部不选通;若A15为0,进入内部存储单元操作模式,由译码单元(Decoder)对地址信号A14、A13进行译码,以选通CS0~CS3中的一个进行操作。
8.写:若当前为处理单元操作模式,将列地址送入时序转换(TimingTransfer)模块,与前一次激活时缓存的行地址、体地址进行拼接,同时进行相应的时序转换,并由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部不选通,以便采用SRAM接口对处理单元进行写操作;若当前为DMA控制器操作模式,将列地址送入时序转换(Timing Transfer)模块,与前一次激活时缓存的行地址、体地址进行拼接,同时进行相应的时序转换,并由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部不选通,以便采用SRAM接口对DMA控制器进行写操作;若当前为片内存储器操作模式,并由状态机(State Machine)控制译码单元(Decoder),保持上一次激活操作时选通的CS0~CS3中的一个,以便对某一内部存储器进行写操作。
9.写后预充:若当前为处理单元操作模式,将列地址送入时序转换(TimingTransfer)模块,与前一次激活时缓存的行地址、体地址进行拼接,同时进行相应的时序转换,并由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部不选通,以便采用SRAM接口对数据处理单元进行写操作;若当前为DMA控制器操作模式,将列地址送入时序转换(Timing Transfer)模块,与前一次激活时缓存的行地址、体地址进行拼接,同时进行相应的时序转换,并由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部不选通,以便采用SRAM接口对DMA控制器进行写操作;若当前为内部存储器操作模式,并由状态机(State Machine)控制译码单元(Decoder),保持上一次激活操作时选通的CS0~CS3中的一个,以便对某一内部存储器进行写后预充操作。
10.读:若当前为处理单元操作模式,将列地址送入时序转换(TimingTransfer)模块,与前一次激活时缓存的行地址、体地址进行拼接,同时进行相应的时序转换,并由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部不选通,以便采用SRAM接口对处理单元进行读操作;若当前为DMA控制器操作模式,将列地址送入时序转换(Timing Transfer)模块,与前一次激活时缓存的行地址、体地址进行拼接,同时进行相应的时序转换,并由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部不选通,以便采用SRAM接口对DMA控制器进行读操作;若当前为片内存储器操作模式,并由状态机(State Machine)控制译码单元(Decoder),保持上一次激活操作时选通的CS0~CS3中的一个,以便对某一内部存储器进行读操作。
11.读后预充:若当前为数据处理单元操作模式,将列地址送入时序转换(Timing Transfer)模块,与前一次激活时缓存的行地址、体地址进行拼接,同时进行相应的时序转换,并由状态机(State Machine)控制译码单元(Decoder),将CS0~CS3全部不选通,以便采用SRAM接口对数据处理单元进行读操作;若当前为DMA控制器操作模式,将列地址送入时序转换(Timing Transfer)模块,与前一次激活时缓存的行地址、体地址进行拼接,同时进行相应的时序转换,并由状态机(StateMachine)控制译码单元(Decoder),将CS0~CS3全部不选通,以便采用SRAM接口对DMA控制器进行读操作;若当前为内部存储器操作模式,并由状态机(State Machine)控制译码单元(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全部选通,控制所有内部存储器退出低功耗模式。
处理单元
处理单元负责对本地DRAM存储体中的数据进行加速处理。处理单元可以是通用处理器、数字信号处理器、专用处理器或者微控制器。
在最佳实施例中,我们采用了四个数字信号处理器作为处理单元,在其它的实施例中并不限于采用此类配置。存储器装置通过处理单元控制接口对处理单元内部的寄存器进行操作,这些寄存器包括但不限于处理单元控制寄存器、状态寄存器等。通过对处理单元内部寄存器的操作,数据处理系统中的主处理器可以启动处理单元开始执行、查询处理单元的当前状态等。
处理单元的控制接口
处理单元控制接口负责接收其它处理单元以及存储器装置接口对处理单元的控制与状态寄存器的访问。通过该接口处理单元可以访问到其他处理单元的状态和控制寄存器,从而提供了处理单元之间的互操作能力;另外,主处理器也可以通过该模块访问处理单元以及控制接口的状态和控制寄存器,从而提供了主处理器对处理单元的控制能力以及处理单元与主处理器的通信。
处理单元控制接口的框架结构如图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存储体控制器
DRAM存储体控制器处理来自处理单元、DMA控制器、传输网络及DRAM存储装置接口的访问请求。
所述的DRAM存储体控制器分为Stamp控制器、命令缓冲及命令解析接口。Stamp控制器主要负责处理单元、DMA控制器、传输网络访问协议到DRAM存储体访问协议的转换。Stamp控制器负责仲裁来自处理单元、DMA控制器、传输网络的访问,负责这些访问到存储体访问协议的时序转换,还负责监视来装置接口的访存命令。Stamp接口的工作状态分为空闲状态、激活状态、读写状态、正常充电状态、提前充电状态、重试状态。Stamp接口的工作流程是:
A、Stamp接口处于空闲状态,分别接收来自处理单元或DMA引擎的访存请求,如果处理单元请求有效而且没有监测到来自存储器装置接口的ACTIVE命令,进入仲裁状态;
B、Stamp接口处理仲裁状态,对来自处理单元、DMA控制器及传输网络的访问请求进行仲裁,如果没有检测到如果没有监测到来自存储装置接口的ACTIVE命令,那么进入激活状态,否则进入重试状态;
C、Stamp接口处于激活状态,如果没有监测到来自存储装置接口的ACTIVE命令,那么发出DRAM激活命令,激活处理单元即将访问的DRAM存储行,进入读写状态,如果监测到来自存储器装置接口的ACTIVE命令,那么不发出任何命令,表示微处理单元的读写请求未执行完毕,进入重试状态;
D、Stamp接口处于读写状态,如果没有监测到来自存储器装置接口的ACTIVE命令,发出DRAM读写命令,进入正常充电状态,如果监测到来自存储器装置接口的ACTIVE命令,对所操作的存储行进行充电,进入提前充电状态;
E、Stamp接口处于正常充电状态,发出DRAM充电命令,对第C步所操作的存储行进行充电,微处理单元的读写请求操作完毕,如果DMA命令队列为空,则进入空闲状态,否则进入仲裁状态;
F、Stamp接口处于提前充电模式,表明微处理单元的读写请求未执行完毕,等待充电完毕,进入重试状态;
G、Stamp接口处于重试状态,等待监测到来自存储器装置接口的PRECHARGE命令执行完毕,准备好刚才未执行完毕的读写请求,进入激活状态。
DMA控制器
DMA控制器包括处理单元命令队列与装置接口命令队列。处理单元或装置接口分别向处理单元命令队列与存储装置接口命令队列写数据传输的命令字,如图7所示。DMA控制器分别解释命令字,向传输网络或Stamp发出访问数据命令。
数据处理系统中主机请求数据转移的工作流程是:
A、数据处理系统中主机向存储器装置接口发送数据传输的命令包;
B、装置接口解析数据传输命令包,将每个传输命令发送到传输地址对应的DMA控制器;
C、DMA控制器缓冲数据传输命令至存储装置接口命令队列;
D、DMA控制器解析数据传输命令,向传输网络或Stamp发出访问数据命令。
数据处理系统中处理单元请求数据转移的工作流程是:
A、处理单元发送数据传输命令给DMA控制器;
B、DMA控制器将数据传输命令缓冲至处理单元命令队列;
C、DMA控制器解析数据转移命令,向传输网络或Stamp发出访问数据命令。
本发明涉及一种具有分布存储结构的具有数据处理能力的DRAM存储装置,在DRAM存储器内部提供了处理能力,采用现有的DRAM存储器接口及协议,可以在不进行任何硬件改动的基础上集成到现有数据处理系统。采用本发明提供的装置操作方法,可广泛应用于任何采用DRAM存储器的数据处理系统,作为便携式数据处理系统、手持式数据处理系统、个人电脑、服务器、工作站的外存储器,即提供通用的程序和数据存储能力,又提供对数据处理的本地加速,具有性能高、功耗低、应用方便等优点。
Claims (5)
1.一种基于分布存储结构的具有数据处理能力的DRAM装置,包括:DRAM存储器装置接口、控制接口、处理单元、DRAM存储体、通信网络、DRAM存储体控制器、DMA控制器,DRAM存储器装置接口用来和外部存储器总线交互数据,同时与装置内的DRAM存储体控制器及DMA控制器连接,DMA控制器、处理单元与DRAM存储体控制器通过通信网络连接,DRAM存储体控制器同时还连接DRAM存储体;所述的DRAM装置包括至少一个DRAM存储体,每个DRAM存储体分别对应一个或者两个以上具有计算功能的处理单元;
DRAM存储器装置接口,负责处理外部主机发送的各种访存命令,译码选择DRAM存储体、处理单元的状态、控制寄存器或DMA控制器,此外,还接收其它DRAM操作命令,传送给对应的DRAM存储体;
控制接口,接收DRAM存储器装置接口或其它处理单元对处理单元控制,并接收状态寄存器的访问;
处理单元,每个处理单元分别对应各DRAM存储体,作为装置中具有数据处理能力的部件,起到了加速数据处理系统各种应用的效果;
DRAM存储体,负责数据缓存;
通信网络,负责装置中各个DRAM存储体间的通信,处理单元仅有权访问本地的DRAM存储体,访问其它的DRAM存储体中的数据需要将数据搬迁至本地的DRAM存储体;
DRAM存储体控制器,负责对来自DRAM存储器装置接口、通信网络、DMA控制器及处理单元的访问请求进行仲裁,保证DRAM存储器装置接口的无阻塞访问;所述的DRAM存储体控制器分为Stamp控制器、命令缓冲及命令解析接口,Stamp控制器主要负责处理单元、DMA控制器、传输网络访问协议到DRAM存储体访问协议的转换,Stamp控制器负责仲裁来自处理单元、DMA控制器、传输网络的访问,负责这些访问到DRAM存储体访问协议的时序转换,还负责监视来自DRAM存储器装置接口的访存命令;
DMA控制器,处理单元或DRAM存储器装置接口发送数据转移命令给DMA控制器,DMA控制器解析命令,负责控制数据转移操作。
2.根据权利要求1所述的基于分布存储结构的具有数据处理能力的DRAM装置,其特征在于:所述DRAM存储器装置接口时序为闪存(FLASH)、静态随机存储器(SRAM)、同步动态随机存储器(SDRAM)、双倍速率同步动态随机存储器(DDR)、第二代双倍速率同步动态随机存储器(DDR2)、第三代双倍速率同步动态随机存储器(DDR3)、第二代图形专用双倍速率同步动态随机存储器(GDDR2)或第三代图形专用双倍速率同步动态随机存储器(GDDR3)接口标准规定的时序。
3.根据权利要求1所述的的基于分布存储结构的具有数据处理能力的DRAM装置,其特征在于:所述的处理单元包括通用处理器、数字信号处理器或微控制单元。
4.根据权利要求3所述的基于分布存储结构的具有数据处理能力的DRAM装置,其特征在于:所述的处理单元为加速某类应用的专用处理器。
5.根据权利要求1所述的基于分布存储结构的具有数据处理能力的DRAM装置,其特征在于:所述的DRAM装置内部集成一个或两个以上DRAM存储体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100467259A CN101216751B (zh) | 2008-01-21 | 2008-01-21 | 基于分布存储结构的具有数据处理能力的动态随机存储器装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100467259A CN101216751B (zh) | 2008-01-21 | 2008-01-21 | 基于分布存储结构的具有数据处理能力的动态随机存储器装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101216751A CN101216751A (zh) | 2008-07-09 |
CN101216751B true CN101216751B (zh) | 2010-07-14 |
Family
ID=39623190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100467259A Expired - Fee Related CN101216751B (zh) | 2008-01-21 | 2008-01-21 | 基于分布存储结构的具有数据处理能力的动态随机存储器装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101216751B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100070722A1 (en) * | 2008-09-16 | 2010-03-18 | Toshio Otani | Method and apparatus for storage migration |
CN101788963B (zh) * | 2010-03-18 | 2012-05-02 | 烽火通信科技股份有限公司 | Dram存储控制方法及装置 |
JP5135416B2 (ja) * | 2010-11-02 | 2013-02-06 | 株式会社バッファロー | ネットワーク中継装置 |
CN103187104B (zh) * | 2013-03-19 | 2016-11-23 | 西安紫光国芯半导体有限公司 | Dram存储器的纠错方法 |
CN104572029B (zh) * | 2014-12-26 | 2017-06-30 | 中国科学院自动化研究所 | 一种状态机可拼接性和拼接规则判定方法和装置 |
CN104516688A (zh) * | 2015-01-21 | 2015-04-15 | 成都市智讯联创科技有限责任公司 | 基于tf卡阵列的高速大容量存储技术和设备 |
WO2016126478A1 (en) | 2015-02-06 | 2016-08-11 | Micron Technology, Inc. | Apparatuses and methods for memory device as a store for program instructions |
CN105068951B (zh) * | 2015-07-27 | 2018-05-08 | 中国科学院自动化研究所 | 一种具有非等时传输结构的片上系统总线 |
KR102605205B1 (ko) * | 2018-07-25 | 2023-11-24 | 에스케이하이닉스 주식회사 | 메모리 장치 및 프로세싱 시스템 |
EP3893119B1 (en) * | 2019-02-21 | 2023-07-26 | Huawei Technologies Co., Ltd. | System on chip, routing method for access command and terminal |
CN111694772A (zh) | 2019-03-11 | 2020-09-22 | 澜起科技股份有限公司 | 存储器控制器 |
CN111679783A (zh) * | 2019-03-11 | 2020-09-18 | 澜起科技股份有限公司 | 存储器控制器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6205516B1 (en) * | 1997-10-31 | 2001-03-20 | Brother Kogyo Kabushiki Kaisha | Device and method for controlling data storage device in data processing system |
US6226724B1 (en) * | 1997-09-03 | 2001-05-01 | Motorola, Inc. | Memory controller and method for generating commands to a memory |
CN1120495C (zh) * | 1995-12-29 | 2003-09-03 | 穆凯什·查特 | 高性能通用多端口内部高速缓存的动态随机存取存储器系统、体系结构和方法 |
CN1669006A (zh) * | 2002-07-19 | 2005-09-14 | 英特尔公司 | 用于柔性dram架构的系统、装置和方法 |
CN1900918A (zh) * | 2005-07-22 | 2007-01-24 | 中国科学院空间科学与应用研究中心 | 一种同步动态随机存取存储器的控制器 |
-
2008
- 2008-01-21 CN CN2008100467259A patent/CN101216751B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1120495C (zh) * | 1995-12-29 | 2003-09-03 | 穆凯什·查特 | 高性能通用多端口内部高速缓存的动态随机存取存储器系统、体系结构和方法 |
US6226724B1 (en) * | 1997-09-03 | 2001-05-01 | Motorola, Inc. | Memory controller and method for generating commands to a memory |
US6205516B1 (en) * | 1997-10-31 | 2001-03-20 | Brother Kogyo Kabushiki Kaisha | Device and method for controlling data storage device in data processing system |
CN1669006A (zh) * | 2002-07-19 | 2005-09-14 | 英特尔公司 | 用于柔性dram架构的系统、装置和方法 |
CN1900918A (zh) * | 2005-07-22 | 2007-01-24 | 中国科学院空间科学与应用研究中心 | 一种同步动态随机存取存储器的控制器 |
Non-Patent Citations (1)
Title |
---|
JP特开2003-151273A 2003.05.23 |
Also Published As
Publication number | Publication date |
---|---|
CN101216751A (zh) | 2008-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101216751B (zh) | 基于分布存储结构的具有数据处理能力的动态随机存储器装置 | |
US11954370B2 (en) | Command queuing | |
US9940980B2 (en) | Hybrid LPDDR4-DRAM with cached NVM and flash-nand in multi-chip packages for mobile devices | |
US8060692B2 (en) | Memory controller using time-staggered lockstep sub-channels with buffered memory | |
US9772803B2 (en) | Semiconductor memory device and memory system | |
KR101149622B1 (ko) | 장치 지향 메모리 베리어들 | |
US20060294295A1 (en) | DRAM chip device well-communicated with flash memory chip and multi-chip package comprising such a device | |
US20110099341A1 (en) | System, apparatus, and method for modifying the order of memory accesses | |
Ware et al. | Improving power and data efficiency with threaded memory modules | |
CN103377695A (zh) | 存储系统、存储器件、存储控制器及操作其的方法 | |
US20220076717A1 (en) | Memory system for performing data operations within memory device and method of operating the same | |
US9116856B2 (en) | Intelligent dual data rate (DDR) memory controller | |
US20160274794A1 (en) | Data storage devices, data processing systems having the same, methods of operating and methods of manufacturing the same | |
CN105808455A (zh) | 访问内存的方法、存储级内存及计算机系统 | |
CN101404177B (zh) | 具有数据处理能力的计算型存储器 | |
US20210056029A1 (en) | Hybrid Memory Systems with Cache Management | |
CN100580804C (zh) | 具有数据处理能力的动态随机存储器装置 | |
US20180188976A1 (en) | Increasing read pending queue capacity to increase memory bandwidth | |
US20210271599A1 (en) | Hybrid Memory Systems with Cache Management | |
US20240036754A1 (en) | Adjustable access energy and access latency memory system and devices | |
CN101221532B (zh) | 实现具有数据处理能力的动态随机存储器的接口方法 | |
US20140101339A1 (en) | Efficient Scheduling of Read and Write Transactions in Dynamic Memory Controllers | |
US20210264962A1 (en) | Data read/write method, device, and memory having the same | |
WO2021179163A1 (en) | Methods, systems and readable storage mediums for managing queues of amemory sub-system | |
JPH11353871A (ja) | 半導体装置 |
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: 20100714 Termination date: 20130121 |
|
CF01 | Termination of patent right due to non-payment of annual fee |