CN100538882C - 一种同步动态存储器控制器的设计方法 - Google Patents
一种同步动态存储器控制器的设计方法 Download PDFInfo
- Publication number
- CN100538882C CN100538882C CNB2005100616546A CN200510061654A CN100538882C CN 100538882 C CN100538882 C CN 100538882C CN B2005100616546 A CNB2005100616546 A CN B2005100616546A CN 200510061654 A CN200510061654 A CN 200510061654A CN 100538882 C CN100538882 C CN 100538882C
- Authority
- CN
- China
- Prior art keywords
- sdram
- read
- time
- write
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Dram (AREA)
Abstract
一种同步动态存储器(SDRAM)控制器的设计方法,包括针对视频解码进行优化,可以大幅度提高存储器数据读写的效率,易于硬件的实现,(1)地址解析优化;(2)一次状态寄存器设置和使用自动预充电(Auto Pre-charge)模式;(3)对激活(Active)命令发送时间优化;(4)对刷新(Refresh)的时间间隔动态控制;(5)缓存读写命令,划分读写时间片,读写命令分别集中发送。其优点在于,通过SDRAM中的4个Bank协同工作,充分利用SDRAM的通讯能力,满足大量数据高速通讯的需求,其带宽利用率进行在视频解码时能达到85%以上,可以实现AVS和H.264的高清视频实时解码。本发明不仅仅适用于SDRAM和DDR SDRAM以及视频解码。
Description
技术领域
本发明涉及一种存储器控制器的设计方法,特别涉及一种同步动态存储器控制器的设计方法。
背景技术
AVS是中国第一个具有自主知识产权的数字音视频编解码标准,全称是《信息技术先进音视频编码标准》。H.264是由ITU-T和ISO两个国际标准化组织的有关视频编码专家联合组成的视频联合工作组(JVT)开发制定的一个视频编码标准,这两种标准在编码效率上较之以往的视频压缩标准都有了显著的提高,但是与此同时硬件实现解码的复杂度也随之上升,给硬件设计带来一定的挑战。
在实时高清视频解码运算中,有大量中间数据需要保存和读取,其中的绝大部分数据,比如已经解码完成的图像的所有象素值,由于数据量很大,因而需要保存到片外存储器中,以备后解码的图像作为参考数据或者直接用于显示。另一方面,***的总线频率和带宽往往受到实际条件以及成本,功耗的限制,由于成本的原因,使用速度最快的SRAM是不切实际的。本文提到的高清视频解码芯片采用片外的SDRAM作为解码数据的存储载体,SDRAM的固有性质以及高清视频解码中庞大的数据量,决定了要实现实时解码必须提高SDRAM的数据访问效率,这就要求设计一种高效的SDRAM控制方案。
发明内容
本发明所要解决的技术问题是针对上述现有技术现状而提供一种能够提高SDRAM的数据访问效率的同步动态存储器控制器的设计方法。
本发明解决上述技术问题所采用的技术方案为:一种同步动态存储器(SDRAM)控制器的设计方法,包括针对视频解码进行优化,可以大幅度提高存储器数据读写的效率,易于硬件的实现,其特征在于:(1)地址解析优化;(2)一次状态寄存器设置和使用自动预充电(Auto Pre-charge)模式;(3)对激活(Active)命令发送时间优化;(4)对刷新(Refresh)的时间间隔动态控制;(5)缓存读写命令,划分读写时间片,读写命令分别集中发送。
对地址解析优化,使数据平均分布在各个Bank中,使得对各个Bank的访问平均化,避免在时间上需要连续取得的数据都存储在一个Bank中,造成频繁的行激活和预充电的时间的等待,降低效率;地址映射公式如下:
设使用的SDRAM存储器Column地址为m位,Row地址为n位,请求读写的逻辑地址为Address[m+n-1:0]
取X=Address[m-1:0],Y=Address[m+n-1:m],Bottom_field=Y[0]
则对应于逻辑地址Address的SDRAM物理地址为:
Bank=Bottom_field?{!Y[2],Y[1]}:Y[2:1]
Row={Y[n-1:3],Bottom_field}
Column=X。
只在上电初始化时设置一次状态寄存器,并且使用自动预充电(Auto Pre-charge)模式,提高命令管道的利用率。
对激活(Active)命令发送时间优化,一个Bank的Active指令在其余3个Bank的Idle,tRCD,tRP时间内或者在两个读写指令的间隔时间内发出,减少命令管道冲突的发生和等待激活的时间。
对刷新(Refresh)的时间间隔在预设的阈值范围内动态控制,减少刷新在数据读写过程中的干扰。
对读写命令进行缓存,并在调度时划分为读时间片和写时间片,读写命令在相应时间片内集中发送时间,消除读写衔接引起的时间浪费。设置两个计数器,第一个计数器对当前时间片周期进行计数,另一个计数器对当前时间片连续空闲周期进行计数,当其中一个计数器达到预设的阈值时即进行读写时间片的切换。
与现有技术相比,本发明的优点在于,通过SDRAM中的4个Bank协同工作,充分利用SDRAM的通讯能力,满足大量数据高速通讯的需求,其带宽利用率进行在视频解码时能达到85%以上,可以实现AVS和H.264的高清视频实时解码。本发明不仅仅适用于SDRAM和DDR SDRAM以及视频解码。
附图说明
图1是SDRAM读写时序示意图;
图2是SDRAM控制器逻辑框图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明在SDRAM上的具体实现如下所述,在DDR SDRAM上的实现与SDRAM类似。
1.SDRAM控制器的技术方案
如图1所示,根据SDRAM的规范,对SDRAM上任意数据的读写,须先激活以打开其所在行,然后进行读写,读写完成后还需要对该行预充电以关闭这一行。为了得到一个数据,必须额外附加时间tRCD,tRP,来打开和关闭这个数据所在的行,而且整个过程还受到tRC和tRAS的限制。
SDRAM中含有4个相对独立的Bank,在完成初始化操作后,除了刷新(Refresh),重置寄存器(LMR)等命令以外,各个Bank是基本独立的,但是他们共用同一套接口(命令,地址和数据接口)。因此在实际应用中,既要充分的保证4个Bank的工作,尽量保证数据总线的非空闲状态,又不能造成命令,数据,地址接口的数据冲突。
(1)SDRAM的地址解析优化
经过统计,在视频解码中,***对SDRAM中数据的访问是随机而且分散的,特别是对内存读取最多的读取参考帧数据,在H.264中占总读取数据量的80%,在AVS中总读取量的76-88%,而且平均数据长度不超过3,所以把内存中的数据在地址解析的时候平均分布在4个Bank中,使各个模块对内存的访问平均化,这样才不会存在所有在时间上需要连续取得的数据都存在于一个Bank中,造成频繁的行激活和预充电的时间的等待,导致数据总线处于无数据的空闲状态。
设使用的SDRAM存储器Column地址为m位,Row地址为n位,请求读写的逻辑地址为Address[m+n-1:0]。
取X=Address[m-1:0],Y=Address[m+n-1:m],Bottom_field=Y[0]。
则对应于逻辑地址Address的SDRAM物理地址为:
Bank=Bottom_field?{!Y[2],Y[1]}:Y[2:1]
Row={Y[n-1:3],Bottom_field}
Column=X
这样映射处理以后视频数据中各行像素平均分配到了4个Bank中,且对各个Bank的操作互相交错开来,提高了带宽利用率。
(2)一次状态寄存器设置和使用自动预充电(Auto Pre-charge)模式
为了数据的最大吞吐流量,尽量把指令拼接在一起,此时命令总线可能产生冲突。为了解决这一点,本发明采用了自动预充电(Auto Pre-charge)模式,这样减少了一个命令,对于一个Bank来说,减少了1tCK/tRC的指令占用。根据***频率的不同,这个改变在效率上的效果在1/8-1/12之间,同时由于4个Bank的协同操作,由此引来的在tWR等时间上的增加并不减少数据总线的利用率。
(3)对激活(Active)命令发送时间优化
激活(Active)命令经常与读写指令冲突,它同时还受到tRRD的限制。本发明将一个Bank的active指令在其余3个Bank的Idle,tRCD,tRP时间内或者在两个读写指令的间隔时间内发出,保证数据管道流水线畅通。为了达到此目的,必须在一个Bank的读写将要结束时就判断其它Bank是否有读写请求,提前做出判断并根据规则对其他Bank的请求进行仲裁,同时还要考虑时序和实际硬件电路的实现难易程度,对逻辑进行优化。
(4)对刷新(Refresh)的时间间隔动态控制
SDRAM为了保持其中的数据不丢失,需要在64ms内刷新4096或8192次,本发明中预设了一个阈值范围,适当弹性的控制了每次刷新的时间间隔,既使SDRAM在规定时间内能够得到刷新,又能减少刷新在数据读写过程中的干扰。
(5)缓存读写命令,划分读写时间片,读写命令分别集中发送
在SDRAM中,由于数据输入寄存器和数据输出寄存器的存在,4个Bank如果同为读或者写是可以紧密衔接的,数据在其中形成流水线式的传送。但是,同一个Bank或者不同Bank之间写命令不能紧接着读命令,否则造成数据的冲突。本发明设计了一个对读写命令的缓存,并在调度时划分为读时间片和写时间片,读写命令在相应时间片内集中发送时间,消除读写衔接引起的时间浪费。本发明设置了两个计数器,第一个计数器对当前时段周期进行计数,另一个计数器对当前时段连续空闲周期进行计数,当其中一个计数器达到预设的阈值时即进行读写时段的切换。这样就能把读写操作分别集中起来,同时保证请求的响应时间具有可预测的上限,又不会因为在某一时段中长时间没有相应的请求而降低利用率。
2.SDRAM控制器的设计实现
如图2所示,SDRAM控制器采用模块化设计,包括了仲裁器,初始化控制器,管道控制器,刷新控制器,状态控制器,命令解析器,响应发生器,数据控制器等模块。
仲裁器:接收对SDRAM的读写请求,进行地址解析,缓存并进行优化排序,输出给状态控制器。
初始化控制器:负责在***上电初始化时配置SDRAM的各种参数。
刷新控制器:动态计算刷新周期来控制SDRAM的刷新周期,保持SDRAM的数据完整性。
状态控制器:控制4个Bank的状态转换,响应信号的处理等过程。
管道控制器:根据4个Bank的状态来预测管道的使用情况,协调控制4个Bank状态控制器的平衡运转,并保证命令通道不会冲突,数据通道尽量保持有效状态并且不冲突。
命令解析器:接收状态控制器和初始化控制器发出的命令并转换成符合SDRAM规范的控制信号输出给SDRAM芯片。
响应发生器:根据状态控制器发出SDRAM读写请求的响应信号。
数据控制器:接收状态控制器发出的命令选择写入SDRAM的数据,并从SDRAM读出的数据中选择有效数据。
本发明已经在高清实时解码SOC芯片凤芯一号和凤芯二号上得到实际应用。采用这种方法设计的SDRAM控制器的带宽利用率能达到85%以上,通过SDRAM中的4个Bank的协同工作,极大的利用了SDRAM的通讯能力,满足高速大量数据通讯的需求,可以实现AVS和H.264的高清视频实时解码。
Claims (3)
1.一种同步动态存储器(SDRAM)控制器的设计方法,包括针对视频解码进行优化,可以大幅度提高存储器数据读写的效率,易于硬件的实现,其特征在于:
(1)地址解析优化;使数据平均分布在各个Bank中,使得对各个Bank的访问平均化,避免在时间上需要连续取得的数据都存储在一个Bank中,造成频繁的行激活和预充电的时间的等待,降低效率;地址映射公式如下:
设使用的SDRAM存储器Column地址为m位,Row地址为n位,请求读写的逻辑地址为Address[m+n-1:0]
取X=Address[m-1:0],Y=Address[m+n-1:m],Bottom_field=Y[0]
则对应于逻辑地址Address的SDRAM物理地址为:
Bank=Bottom_field?{!Y[2],Y[1]}:Y[2:1]
Row={Y[n-1:3],Bottom_field}
Column=X;
(2)一次状态寄存器设置和使用自动预充电(Auto Pre-charge)模式;
(3)对激活(Active)命令发送时间优化;一个Bank的Active指令在其余3个Bank的Idle,tRCD,tRP时间内或者在两个读写指令的间隔时间内发出,减少命令管道冲突的发生和等待激活的时间;
(4)对刷新(Refresh)的时间间隔动态控制;对刷新(Refresh)的时间间隔在预设的阈值范围内动态控制,减少刷新在数据读写过程中的干扰;
(5)缓存读写命令,划分读写时间片,读写命令分别集中发送。
2.如权利要求1所述的同步动态存储器(SDRAM)控制器的设计方法,其特征在于:只在上电初始化时设置一次状态寄存器,并且使用自动预充电(Auto Pre-charge)模式,提高命令管道的利用率。
3.如权利要求1所述的同步动态存储器(SDRAM)控制器的设计方法,其特征在于:对读写命令进行缓存,并在调度时划分为读时间片和写时间片,读写命令在相应时间片内集中发送时间,消除读写衔接引起的时间浪费;设置两个计数器,第一个计数器对当前时段周期进行计数,另一个计数器对当前时段连续空闲周期进行计数,当其中一个计数器达到预设的阈值时即进行读写时段的切换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100616546A CN100538882C (zh) | 2005-11-18 | 2005-11-18 | 一种同步动态存储器控制器的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100616546A CN100538882C (zh) | 2005-11-18 | 2005-11-18 | 一种同步动态存储器控制器的设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1815625A CN1815625A (zh) | 2006-08-09 |
CN100538882C true CN100538882C (zh) | 2009-09-09 |
Family
ID=36907752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100616546A Expired - Fee Related CN100538882C (zh) | 2005-11-18 | 2005-11-18 | 一种同步动态存储器控制器的设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100538882C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103548A (zh) * | 2011-02-22 | 2011-06-22 | 中兴通讯股份有限公司 | 提高双倍数据速率同步随机存储器读写速率的方法及装置 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101583027B (zh) * | 2009-06-10 | 2011-12-07 | 中兴通讯股份有限公司 | 一种实时缓存图像数据的方法及移动终端 |
CN102117244B (zh) * | 2010-01-05 | 2012-10-17 | 上海硅知识产权交易中心有限公司 | Soc中支持多个音视频ip核寻址的ddr2的控制方法 |
CN102340445B (zh) * | 2010-07-26 | 2014-09-24 | 杭州华三通信技术有限公司 | 一种报文转发流程中的表项处理方法和装置 |
CN102063392B (zh) * | 2010-12-17 | 2012-10-17 | 杭州晟元芯片技术有限公司 | 一种实现sdram的四通道串行通信方法 |
CN102543159B (zh) * | 2010-12-29 | 2014-06-25 | 炬才微电子(深圳)有限公司 | 一种ddr控制器及其实现方法和芯片 |
CN103019974B (zh) * | 2012-12-18 | 2016-08-03 | 北京华为数字技术有限公司 | 存储器访问处理方法及控制器 |
CN103514132B (zh) * | 2013-09-12 | 2016-06-08 | 广东电网有限责任公司电力科学研究院 | 一种用于大数据量高速率通讯的数据优化方法 |
US9972376B2 (en) | 2013-11-07 | 2018-05-15 | International Business Machines Corporation | Memory device for interruptible memory refresh |
US10096353B2 (en) | 2013-11-07 | 2018-10-09 | International Business Machines Corporation | System and memory controller for interruptible memory refresh |
CN104268098B (zh) * | 2014-08-28 | 2017-07-11 | 上海交通大学 | 一种用于超高清视频帧率上变换的片上缓存*** |
CN105760315A (zh) * | 2014-12-15 | 2016-07-13 | 深圳市中兴微电子技术有限公司 | 一种提高同步动态随机存储器访问效率的方法及装置 |
CN105912270B (zh) * | 2016-04-12 | 2019-01-18 | 上海交通大学 | 一种面向pm的访存请求解析装置与方法 |
CN107017016A (zh) * | 2017-03-30 | 2017-08-04 | 中国科学院计算技术研究所 | 一种防时序侧通道攻击的内存刷新控制方法及装置 |
EP3454337B1 (en) * | 2017-09-06 | 2019-09-11 | Tu Kaiserslautern | Using runtime reverse engineering to optimize dram refresh |
WO2020063413A1 (en) * | 2018-09-28 | 2020-04-02 | Changxin Memory Technologies, Inc. | Chip and chip test system |
CN111639046B (zh) * | 2020-05-11 | 2022-07-12 | 中国科学院国家空间科学中心 | 远紫外极光成像仪数据的缓存与实时传输***及方法 |
-
2005
- 2005-11-18 CN CNB2005100616546A patent/CN100538882C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103548A (zh) * | 2011-02-22 | 2011-06-22 | 中兴通讯股份有限公司 | 提高双倍数据速率同步随机存储器读写速率的方法及装置 |
CN102103548B (zh) * | 2011-02-22 | 2015-06-10 | 中兴通讯股份有限公司 | 提高双倍数据速率同步随机存储器读写速率的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1815625A (zh) | 2006-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100538882C (zh) | 一种同步动态存储器控制器的设计方法 | |
CN101788963B (zh) | Dram存储控制方法及装置 | |
EP1474747B1 (en) | Address space, bus system, memory controller and device system | |
Cooper-Balis et al. | Fine-grained activation for power reduction in DRAM | |
US6963516B2 (en) | Dynamic optimization of latency and bandwidth on DRAM interfaces | |
CN102411982A (zh) | 内存控制器及命令控制方法 | |
CN101702326B (zh) | 内存控制器 | |
CN103927268A (zh) | 一种存储器的访问方法及装置 | |
US20230367722A1 (en) | Data processing device and method, and related products | |
CN106856098B (zh) | 一种用于DRAM或eDRAM刷新的装置及其方法 | |
WO2009130888A1 (ja) | メモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法 | |
CN100437826C (zh) | 有异步缓存的双倍速动态随机存取存储器控制装置及方法 | |
WO2012033662A2 (en) | Memory controller and method for tuned address mapping | |
CN103760525A (zh) | 一种补齐式原地矩阵转置方法 | |
CN113900818A (zh) | Ddr存储器数据读写调度方法和装置 | |
CN102543159B (zh) | 一种ddr控制器及其实现方法和芯片 | |
CN102339261B (zh) | 一种ddr2sdram控制器 | |
CN105487988B (zh) | 基于存储空间复用提高sdram总线有效访问速率的方法 | |
CN103632708A (zh) | 同步动态随机存储器的自刷新控制装置及方法 | |
CN105825880B (zh) | 用于ddr控制器的访问控制方法、装置及电路 | |
CN102833541B (zh) | 用于mpeg-2视频解码的sdram控制*** | |
CN101226770A (zh) | 具有数据处理能力的动态随机存储器装置 | |
CN100538738C (zh) | 访问多区存储器中的多维数据块的方法、装置及*** | |
CN1851669A (zh) | 一种提高存储器访问效率的方法及存储器控制器 | |
Vudarapu et al. | Optimization of SDRAM memory controller for high-speed operation |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090909 Termination date: 20131118 |