[发明专利]一种基于DDR SDRAM进行数据读写的方法、装置及系统有效
申请号: | 201110057810.7 | 申请日: | 2011-03-10 |
公开(公告)号: | CN102684976A | 公开(公告)日: | 2012-09-19 |
发明(设计)人: | 吕华磊;汪友宝 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 余刚;梁丽超 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ddr sdram 进行 数据 读写 方法 装置 系统 | ||
技术领域
本发明涉及数据通讯技术领域,尤其涉及一种基于双倍速率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random Access Memory,DDRSDRAM)进行数据读写的方法、装置及系统。
背景技术
随着网络容量与业务不断增长,为了实现报文的服务质量(Quality of Service,QoS)服务要求,高优先级的优先服务,需要网络设备中的流量管理芯片有一个足够大的缓存空间来存储上游设备发送过来的报文,并将报文缓存后调度输出,从而实现按照优先级对不同的数据进行调度。
对高端网络设备而言,基本要求是至少缓存200ms线速的报文数据,在40Gbps环境下,该网络设备需要至少8Gbits缓存容量。为了保证缓存容量,并且降低经济成本,在网络设备中存储器普遍采用DDR3SDRAM。
网络设备的流量管理芯片是由队列管理系统,缓存管理系统和DDR控制器组成的,为了提高缓存的利用率,可以采用的方法包括:提高缓存管理系统的效率,或提高DDR的读写效率,在现有技术中普遍采用提高DDR的读写效率实现。
通过提高DDR的读写效率,提高缓存的利用率的方法包括:将接收到的报文数据切分为固定大小的单元,将各个单元按照DDR bank轮询的方式进行读写操作。当采用bank轮询的方式进行读写操作时,对于不同bank间操作的 情况,采用状态机的方法,对将要执行命令的行提前Precharge和Activate操作,从而实现数据线上的无缝连接。对同一个bank换行通过快进快出(FIFO)缓存方式乱序,让非同bank换行或者非同bank的命令先执行。对于读写操作转换时的固定延迟,采用读写均衡的方法减少这种转换的次数来提高利用率。
但是上述通过提高DDR读写效率提高缓存利用率的方法,也是存在很大的弊端的,这是因为在进行读写操作时,一般将两片DDR作为一组,当将报文切分为固定长度的单元进行存储时,如果切分的某个单元内包含的有效字节比较少,则存在较大的带宽浪费。例如固定长度为32字节时,如果一个报文是33字节,则将其应该切分为2个单元,第一个单元有32个字节,但第二个单元的有效字节数只为1,当通过一组DDR对其存储时,将近浪费掉50%的带宽,从而不利于提高DDR读写的效率,并且也不利于提高缓存的利用率。
发明内容
有鉴于此,本发明实施例提供一种基于DDR SDRAM进行数据读写操作的方法、装置及系统,用以解决现有基于DDR进行读写时效率不高,不利于提高缓存利用率的问题。
本发明实施例提供的一种基于双倍速率同步动态随机存储器DDR SDRAM进行数据写操作的方法,所述数据写操作通过多组DDR SDRAM实现,包括:
根据链表节点的大小,将接收到的报文划分为对应长度的多个数据块;
针对每个数据块,根据该数据块包含的有效字节长度,以及每组双倍速率同步动态随机存储器每个周期处理的字节长度,将该数据块划分为多个数据子单元,
判断该数据块划分后的最后一个数据子单元包含的有效字节数,是否不大 于一片DDR SDRAM每次处理的字节长度,
当判断结果为是时,根据每组DDR SDRAM每个周期处理的字节长度,将该最后一个数据子单元与下一数据块中第一个数据子单元中相应字节的数据拼接,写入该组DDR SDRAM中。
本发明实施例提供的一种基于双倍速率同步动态随机存储器DDR SDRAM进行数据读操作的方法,所述数据读操作通过多组DDR SDRAM实现,包括:
根据每组双倍速率同步动态随机存储器每个周期处理的字节长度,以及接收到的读命令和读地址,确定该读地址对应的DDR每个数据子单元的物理地址;
当数据子单元为报文的第一个数据子单元,且所述数据子单元为拼接后的数据子单元时,从缓存管理的暂存空间读取包含该报文的报文头信息的数据子单元,并与从之后从DDR SDRAM读取出的数据合并;
当该数据子单元包含该报文的报文尾信息,且所述数据子单元为拼接后的数据子单元时,从DDR SDRAM的相应地址空间读取包含该报文的报文尾信息的数据子单元,取出该数据子单元的高字节部分与之前读取的数据合并,得到读出的报文。
本发明实施例提供的一种基于双倍速率同步动态随机存储器DDR SDRAM进行数据写操作的装置,所述装置包括:
队列管理模块,用于根据链表节点的大小,将接收到的报文划分为对应长度的多个数据块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110057810.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:远程逻辑分析系统
- 下一篇:磁传感器、磁传感器驱动方法和计算机可读记录介质