CN101340365A - 一种高带宽利用率的ddr2 sdram控制器设计方法 - Google Patents
一种高带宽利用率的ddr2 sdram控制器设计方法 Download PDFInfo
- Publication number
- CN101340365A CN101340365A CNA2008100633282A CN200810063328A CN101340365A CN 101340365 A CN101340365 A CN 101340365A CN A2008100633282 A CNA2008100633282 A CN A2008100633282A CN 200810063328 A CN200810063328 A CN 200810063328A CN 101340365 A CN101340365 A CN 101340365A
- Authority
- CN
- China
- Prior art keywords
- bank
- precharge
- data
- ddr2 sdram
- high bandwidth
- 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.)
- Pending
Links
Images
Landscapes
- Dram (AREA)
Abstract
本发明涉及一种网络数据交换设备中的控制器设计方法。目的是提供的方法应能在突发长度为8的情况下提高总线利用率,并具有低成本、高带宽、大存储容量的特点。技术方案是:一种高带宽利用率的DDR2 SDRAM控制器设计方法,包括:1)Bank轮换:Bank在每次Burst操作之后切换Bank,尽量在保证数据总线高利用率的前提下,将每个Bank相邻两次访问的间隔加大;2)提前Precharge操作:如果下一次操作将需要Precharge然后在Active,并且和本次操作不冲突,那么,就将这个Precharge操作提前到本次操作之前执行。数据采用的突发长度为8。
Description
技术领域
本发明涉及一种数据交换设备的关键装置设计方法,尤其是网络数据交换设备中的控制器设计方法。
背景技术
随着通信领域的网络传输速度高速增加,各种通讯设备,尤其是城域网,骨干网的数据交换设备对缓冲器提出了更大的带宽,更大的容量,更低的成本的需求。目前的缓冲器主要以两种Memory为主:SDRAM和SRAM。
SRAM的特点是容量小,一般仅能提供几十M比特这一数量级的存储容量,接口数据速度较低,体积较大,价格也较高,其最突出之处是操作很简单,带宽利用率可达到100%。
SDRAM的特点是容量大,目前的DDR2 SDRAM单颗粒就可以提供多达1G比特级别的存储容量;存储密度高,价格低廉,接口理论带宽很高,缺点是带宽利用率较低,一般情况下,带宽利用率仅为30%~40%左右。
DDR2 SDRAM的带宽利用率低是由其结构导致的。
由于DDR2 SDRAM每次同一个Bank内,换行操作时,需要先关闭当前Bank中已经打开的行(Precharge),然后激活需要访问的行(Active),然后才能对数据做读写操作。每一个Bank内,Precharge到Active操作之间有一个固定的延迟要求(TRP)。一般,SDRAM的TRP有3个时钟周期,数据采用突发长度(Burst Length)为2,4,8时,对应的带宽利用率分别为28%,44%和61.5%。
另外,在DDR2SDRAM操作中,同一个Bank内,相邻两次Active操作之间有一个固定间隔时间要求(TRC),一般TRC在11个时钟到20个时钟左右,也带来极大的带宽利用率的浪费。如何解决TRP,TRC和带宽利用率之间的矛盾成为提高DDR2SDRAM带宽利用率的关键因素。
发明内容
本发明的目的是提供一种DDR2SDRAM控制器设计方法的改进,该方法应能在Burst Length为8的情况下提高总线利用率,并具有低成本、高带宽、大存储容量的特点。
本发明提供的技术方案是:
一种高带宽利用率的DDR2 SDRAM控制器设计方法,该方法包括:
1)Bank轮换:Bank在每次Burst操作之后切换Bank,尽量在保证数据总线高利用率的前提下,将每个Bank相邻两次访问的间隔加大;
2)提前Precharge操作:如果下一次操作将需要Precharge然后在Active,并且和本次操作不冲突,那么,就将这个Precharge操作提前到本次操作之前执行。当本次操作完成后,要进行下次操作的Active操作时,TRP时间也已经满足了。
数据采用的突发长度(Burst Length)为8。
本发明采用的Bank轮换方法,因为突发长度Burst Length为8,所以在最理想的状态下,同一个Bank的访问间隔将加大到4×4=16个时钟周期,能够满足绝大多是情况下的TRC要求。采用的提前Precharge操作方法,在本次操作完成后,要进行下次操作的Active操作时,已经满足了TRP时间。该控制方法可将DDR2 SDRAM的数据总线带宽平均利用率提高到70%,配合Bank轮换的机制,带宽利用率最高可达99%,几乎可以和昂贵的SRAM媲美;并且克服了DDR2 SDRAM在带宽利用率上的不足,使廉价的大容量的DDR2 SDRAM在计算机应用,通讯设备,或者个人数据处理终端等有高带宽利用率的领域得到更广泛的使用,极大地降低了系统在高带宽存储方面的成本压力。该DDR2 SDRAM控制器可直接集成于FPGA或者ASIC电路。
附图说明
图1是本发明的Bank轮换以及提前Precharge操作示意图。
图2是DDR2 SDRAM控制器控制原理示意图。
图3是FSM状态机状态转移示意图。
具体实施方式
本发明的最基本的原理就是尽量在TRC以及TRP的时间内,让SDRAM提供其他后续操作,以减少为了等到TRP和TRC这两个时间而无谓的带宽消耗。由此采用的方法是:
1)Bank轮换:Bank在每次Burst操作之后切换Bank,尽量在保证数据总线高利用率的前提下,将每个Bank相邻两次访问的间隔加大;
2)提前Precharge操作:如果下一次操作将需要Precharge然后再Active,并且和本次操作不冲突,那么,就将这个Precharge操作提前到本次操作之前执行。那么当本次操作完成后,要进行下次操作的Active操作时,TRP时间也已经满足了。
上述两种设计方法将所需要的时间隐藏到正常的数据操作中,成功地避免了因为这两个参数而导致总线操作利用率的极大消耗,使得总线操作利用率有可能达到99%这一极限值。
如图1所示,对于Bank0,连续两次Read操作针对不同的Row,也就是说,第一次Read操作完成之后,在第二次Read之前需要一次Precharge操作将第一次Read操作打开的Row关闭,然后再加入一次Active操作将第二次Read操作需要访问的Row打开。按照Bank轮换的方式,Bank0的连续两次操作之间,应该插入其他3个Bank的3次操作。每次操作都是Burst Length为8,也就是需要4个时钟,那么Bank0的连续两个Read操作之间将会有16个时钟周期的间隔。可以看出Bank轮换的方式隐藏了TRC所需要的时间,节省了很多空闲的等待周期。Bank轮换牵涉到地址管理的问题,不仅仅是本控制器能够控制的范围,所以对于Bank轮换,本控制器仅提供一个增加地址访问离散性的可选项,将Memory访问地址的最低两位和最高两位互换位置,也就是将列地址的最低两位和Bank地址互换来加大Memory访问地址的离散性,使得四个Bank轮换的几率更大。但是实现这一目标的最根本解决方式来自地址管理,而不是纯粹依靠本控制器。
另一个操作是由提前插入Precharge来实现的。在执行对Bank3的Read操作时,控制器发现下一个操作,也就是对Bank0的Read操作,需要对Bank0做Precharge和Active操作;控制器在Bank3的Read操作之前,提前插入Bank0的Precharge,这样当Bank3的Read操作结束后,Bank0的TRP时间也已经满足,先Active需要激活的Bank0的Row,然后就可以执行Read操作。
需要注意的是,无论是插入Precharge操作还是Active操作,各个Read操作之间仅相差4个时钟周期,因为Burst Length为8,所以这时候数据总线上的数据将是连续的,如图1所示,也就是说,这时候DDR2 SDRAM的总线利用率达到了100%。假如地址管理做得出色,那么DDR2 SDRAM的总线利用率将达到99%以上(因为SDRAM的固有特性导致Refresh操作不可避免带来利用率损耗)。
根据以上方法设计的DDR2 SDRAM控制器在各种集成电路设计中均可以实现。目前杭州瑞那科技有限公司已经将其广泛应用在FPGA设计中。在这里讲述的设计方法不仅仅可以应用在FPGA设计中,对于ASIC电路一样适用。
图2所示的控制原理图中,控制器对外包括两部分接口:对内部其他功能模块的接口;对外部DDR2 SDRAM芯片接口。
内部模块接口包括操作指令和操作数据两部分。操作指令由当前操作指令和下一操作指令组成,目的是为了能让控制器在当前的操作命令中确定是否需要为下一个操作指令提前插入一次Precharge操作。操作数据则是需要写入Memory以及从Memory返回的数据。由控制器内部状态机控制何时提供写入数据以及何时返回有效数据。
4Bank激活行信息表用于记录每个Bank当前已经激活的Row,这些记录和输入的操作指令比较,判断是否需要插入Precharge和Active操作;然后和输入的操作指令一起做一次指令编码输给状态机。
状态机是控制器各种控制信号生成的核心。状态机由7个状态组成,如图3所示。
Wait为等待状态,该状态是一个特殊状态,任何其他状态在转入Wait状态时,都需要准备好需要等待的时钟数量,以及等待时间满之后的下一跳状态。进入Wait状态之后,计数器计满需要等待的时间,然后根据下一跳状态转入下一个状态机的状态。Wait状态不做任何指令处理,只是负责等待;
Writer状态,输出DDR2 SDRAM的Writer指令;
延迟计数器模块为状态机提供判断是否需要进入Wait状态以及等待时间的依据。延迟计数器包括每一个Bank的TRC时间,以及总线上的TRTP和TWTR时间。
DQ Logic模块为控制DQ,DQS输出和输入采样的电路。根据FPGA的器件不同,有不同的做法,可以参考FPGA的器件手册。如果是ASIC设计,也会根据器件库不同有不同的设计,这里不再说明。
杭州瑞纳科技有限公司已经将该DDR2 SDRAM控制器应用于多项产品。配合合理的地址管理机制,均实现了平均带宽利用率超过80%。有的产品已经达到99%的极限利用率。
根据目标FPGA的工艺不同,具有不同的控制器时钟频率;采用Altera的CycloneII器件,控制器时钟频率能达到125MHz以上,采用StratixII器件,可以达到200MHz以上;采用Xilinx的Virtex5器件,最高可以达到266MHz。
原有需要提供SRAM器件的设备均改为采用DDR2 SDRAM,在价格上,DDR2 SDRAM以仅为SRAM的不到10%的价格提供了相通的带宽,而且提供了16倍以上的存储容量,为实际设备节省了可观的成本,具有很好的经济效益和社会效益。
此外,图2中还标注有:cmd_cur_valid(当前命令有效指示)、cmd_next_valid(下一个命令有效指示)、cmd_addr_cur(当前命令需要操作的存储器地址)、cmd_addr_next(下一个命令需要操作的存储器地址)、cur_status(当前命令对应地址的激活状态)、next_status(下一个命令对应地址的激活状态)、cmd_clear(清除命令编码指示)、fsm_cur_status(状态机当前状态)、cmd_code(命令编码)、cmd_ack(命令接受指示)、cmd_done(命令执行完成指示)、data_in_ref(待写入存储器数据输入时刻指示)、data_valid(读存储器返回数据有效指示)、data_in(待写入存储其数据)、data_out(读存储器返回数据)、rasn(SDRAM接口信号,行选择)、casn(SDRAM接口信号,列选择)、wen(SDRAM接口信号,写使能)、csn(SDRAM接口信号,片选)、dq(SDRAM接口信号,双向输入输出数据)、dqs(SDRAM接口信号,双向输入输出数据时钟)。
Claims (2)
1、一种高带宽利用率的DDR2SDRAM控制器设计方法,该方法包括:
1)Bank轮换:Bank在每次Burst操作之后切换Bank,尽量在保证数据总线高利用率的前提下,将每个Bank相邻两次访问的间隔加大;
2)提前Precharge操作:如果下一次操作将需要Precharge然后在Active,并且和本次操作不冲突,那么,就将这个Precharge操作提前到本次操作之前执行。
2、根据权利要求1所述的一种高带宽利用率的DDR2SDRAM控制器设计方法,其特征在于该方法中数据采用的突发长度为8。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100633282A CN101340365A (zh) | 2008-08-11 | 2008-08-11 | 一种高带宽利用率的ddr2 sdram控制器设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100633282A CN101340365A (zh) | 2008-08-11 | 2008-08-11 | 一种高带宽利用率的ddr2 sdram控制器设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101340365A true CN101340365A (zh) | 2009-01-07 |
Family
ID=40214323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100633282A Pending CN101340365A (zh) | 2008-08-11 | 2008-08-11 | 一种高带宽利用率的ddr2 sdram控制器设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101340365A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847434A (zh) * | 2009-03-25 | 2010-09-29 | 中兴通讯股份有限公司 | Ddr接口中的fpga设备的读、写操作方法及设备 |
CN102073604A (zh) * | 2010-11-17 | 2011-05-25 | 中兴通讯股份有限公司 | 一种同步动态存储器读写控制方法、装置和系统 |
CN102541769A (zh) * | 2010-12-13 | 2012-07-04 | 中兴通讯股份有限公司 | 一种存储器接口访问控制方法及装置 |
CN102708059A (zh) * | 2012-05-10 | 2012-10-03 | Ut斯达康通讯有限公司 | 提高sdram数据传输效率的方法 |
CN105302748A (zh) * | 2015-11-03 | 2016-02-03 | 广州周立功单片机科技有限公司 | Sdram控制方法及其系统 |
US10545867B2 (en) | 2015-06-26 | 2020-01-28 | Sanechips Technology Co., Ltd. | Device and method for enhancing item access bandwidth and atomic operation |
CN112988083A (zh) * | 2021-05-19 | 2021-06-18 | 四川省商投信息技术有限责任公司 | 一种冷数据的存储方法和系统 |
-
2008
- 2008-08-11 CN CNA2008100633282A patent/CN101340365A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847434A (zh) * | 2009-03-25 | 2010-09-29 | 中兴通讯股份有限公司 | Ddr接口中的fpga设备的读、写操作方法及设备 |
CN101847434B (zh) * | 2009-03-25 | 2013-06-05 | 中兴通讯股份有限公司 | Ddr接口中的fpga设备的读、写操作方法及设备 |
CN102073604A (zh) * | 2010-11-17 | 2011-05-25 | 中兴通讯股份有限公司 | 一种同步动态存储器读写控制方法、装置和系统 |
CN102073604B (zh) * | 2010-11-17 | 2014-09-10 | 中兴通讯股份有限公司 | 一种同步动态存储器读写控制方法、装置和系统 |
CN102541769A (zh) * | 2010-12-13 | 2012-07-04 | 中兴通讯股份有限公司 | 一种存储器接口访问控制方法及装置 |
CN102541769B (zh) * | 2010-12-13 | 2014-11-05 | 中兴通讯股份有限公司 | 一种存储器接口访问控制方法及装置 |
CN102708059A (zh) * | 2012-05-10 | 2012-10-03 | Ut斯达康通讯有限公司 | 提高sdram数据传输效率的方法 |
CN102708059B (zh) * | 2012-05-10 | 2014-12-24 | Ut斯达康通讯有限公司 | 提高sdram数据传输效率的方法 |
US10545867B2 (en) | 2015-06-26 | 2020-01-28 | Sanechips Technology Co., Ltd. | Device and method for enhancing item access bandwidth and atomic operation |
CN105302748A (zh) * | 2015-11-03 | 2016-02-03 | 广州周立功单片机科技有限公司 | Sdram控制方法及其系统 |
CN112988083A (zh) * | 2021-05-19 | 2021-06-18 | 四川省商投信息技术有限责任公司 | 一种冷数据的存储方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101340365A (zh) | 一种高带宽利用率的ddr2 sdram控制器设计方法 | |
CN101621469B (zh) | 数据报文存取控制装置和方法 | |
KR100532640B1 (ko) | 로우 및 칼럼 커맨드를 동시에 제공하기 위한 방법 및시스템 | |
CN102981776B (zh) | 双倍数据率虚拟静态随机存取存储器及其控制器、存取与操作方法、写入与读取方法 | |
CN111066084B (zh) | 用于提供活动及非活动时钟信号的设备及方法 | |
JP3260692B2 (ja) | ロジック混載dramlsi | |
CN101149960B (zh) | 多端口存储装置 | |
CN1941196B (zh) | 半导体存储装置 | |
CN104599701A (zh) | 用于在电子存储器操作中动态功率节省的系统与方法 | |
CN102411982A (zh) | 内存控制器及命令控制方法 | |
CN101788963A (zh) | Dram存储控制方法及装置 | |
CN101233575A (zh) | 存储器的控制方法、存储系统 | |
CN100576140C (zh) | 产生数字信号处理器和存储器的时钟信号的电路和方法 | |
CN100369156C (zh) | 半导体存储器及其控制方法 | |
CN108701105A (zh) | 将片选信号用于双列直插式存储器模块的技术 | |
CN101236776B (zh) | 一种串行接口快闪存储器及其设计方法 | |
CN102004626B (zh) | 双口存储器 | |
CN102819418B (zh) | 超细粒度门控时钟的fifo数据存储方法及装置 | |
CN104409099A (zh) | 基于FPGA的高速eMMC阵列控制器 | |
CN102005241A (zh) | 半导体存储器件及其控制方法 | |
CN102789424A (zh) | 基于fpga的外扩ddr2的读写方法及基于fpga的外扩ddr2颗粒存储器 | |
CN103065672B (zh) | 一种基于同步静态随机存储器ip的异步静态随机存储器 | |
CN102708059B (zh) | 提高sdram数据传输效率的方法 | |
CN102751966A (zh) | 延迟电路和存储器的潜伏时间控制电路及其信号延迟方法 | |
CN104461956A (zh) | 访问同步动态随机访问存储器的方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090107 |