一种基于DDR SDRAM进行数据读写的方法、装置及系统制造方法及图纸

技术编号:7789124 阅读:400 留言:0更新日期:2012-09-21 23:26
本发明专利技术公开了一种基于DDR?SDRAM进行数据读写操作的方法、系统及装置,用以解决基于DDR进行读写时效率不高,不利于提高缓存利用率的问题。该方法根据链表节点的大小,将接收到的报文划分为对应长度的多个数据块,针对每个数据块,将该数据块划分为多个数据子单元,当该数据块中最后一个数据子单元包含的字节数不大于一片DDR每次处理的字节长度时,将该最后一个数据子单元与下一数据块中第一个数据子单元中相应字节的数据拼接,写入该组DDR?SDRAM中。由于在本发明专利技术实施例中当通过每组DDR进行读写操作时,为了避免DDR资源的浪费,将数据进行拼接,从而提高了DDR读写的效率,提高了缓存资源的利用率。

【技术实现步骤摘要】

本专利技术涉及数据通讯
,尤其涉及一种基于双倍速率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random Access Memory, DDRSDRAM)进行数据读写的方法、装置及系统。
技术介绍
随着网络容量与业务不断增长,为了实现报文的服务质量(Quality of Service,QoS)服务要求,高优先级的优先服务,需要网络设备中的流量管理芯片有一个足够大的缓存空间来存储上游设备发送过来的报文,并将报文缓存后调度输出,从而实现按照优先级对不同的数据进行调度。对高端网络设备而言,基本要求是至少缓存200ms线速的报文数据,在40Gbps环 境下,该网络设备需要至少SGbits缓存容量。为了保证缓存容量,并且降低经济成本,在网络设备中存储器普遍采用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每个周期处理的字节长度,将该最后一个数据子单元与下一数据块中第一个数据子单元中相应字节的数据拼接,写入该组DDRSDRAM 中。本专利技术实施例提供的一种基于双倍速率同步动态随机存储器DDR SDRAM进行数据读操作的方法,所述数据读操作通过多组DDR SDRAM实现,包括根据每组双倍速率同步动态随机存储器每个周期处理的字节长度,以及接收到的 读命令和读地址,确定该读地址对应的DDR每个数据子单元的物理地址;当数据子单元为报文的第一个数据子单元,且所述数据子单元为拼接后的数据子单元时,从缓存管理的暂存空间读取包含该报文的报文头信息的数据子单元,并与从之后从DDR SDRAM读取出的数据合并;当该数据子单元包含该报文的报文尾信息,且所述数据子单元为拼接后的数据子单元时,从DDR SDRAM的相应地址空间读取包含该报文的报文尾信息的数据子单元,取出该数据子单元的高字节部分与之前读取的数据合并,得到读出的报文。本专利技术实施例提供的一种基于双倍速率同步动态随机存储器DDR SDRAM进行数据写操作的装置,所述装置包括队列管理模块,用于根据链表节点的大小,将接收到的报文划分为对应长度的多个数据块;缓存管理模块,针对每个数据块,根据该数据块包含的有效字节长度,以及每组DDR SDRAM每个周期处理的字节长度,将该数据块划分为多个数据子单元,判断该数据块划分后的最后一个数据子单元包含的有效字节数,是否不大于一片DDR SDRAM每次处理的字节长度,当判断结果为是时,根据每组DDR SDRAM每个周期处理的字节长度,将该最后一个数据子单元与下一数据块中第一个数据子单元中相应字节的数据拼接,将拼接后组成的数据子单元发送给DDR控制器模块;DDR控制器模块,用于将接收到的数据子单元写入每组DDR SDRAM中。本专利技术实施例提供的一种基于双倍速率同步动态随机存储器DDR SDRAM进行数据读操作的装置,所述装置包括队列管理模块,用于发出对当前队列的读命令和读地址;缓存管理模块,用于针对每个读命令,根据读命令包含的有效字节长度,以及每组双倍速率同步动态随机存储器每个周期处理的字节长度,将该读地址转换成DDR每个数据子单元的物理地址;当前读操作读取的为报文的第一个数据子单元,且所述数据子单元为拼接后的数据子单元时,从缓存管理的暂存空间读取包含该报文的报文头信息的数据子单元,并与从之后从DDR SDRAM读取出的数据合并;当该数据子单元包含该报文的报文尾信息,且所述数据子单元为拼接后的数据子单元时,从DDR SDRAM的相应地址空间读取包含该报文的报文尾信息的数据子单元,取出该数据子单元的高字节部分与之前读取的数据合并,得到读出的报文;DDR控制器模块,用于从DDR SDRAM的相应地址空间读取包含该报文的数据子单J Li o本专利技术实施例提供的一种基于双倍速率同步动态随机存储器DDR SDRAM进行数据读写操作的系统,所述系统包括上述的写操作的装置,和上述的读操作的装置。本专利技术实施例提供了一种基于DDR SDRAM进行数据读写操作的方法、装置及系统,该写方法中根据链表节点的大小,将接收到的报文划分为对应长度的多个数据块,针对每个数据块,根据该数据块包含的有效字节长度,将该数据块划分为多个数据子单元,当该数据块中最后一个数据子单元包含的字节数不大于一片DDR每次处理的字节长度时,将该最后一个数据子单元与下一数据块中第一个数据子单元中相应字节的数据拼接,写入该组DDR SDRAM中。由于在本专利技术实施例中当通过每组DDR进行读写操作时,为了避免DDR资源的浪费,将数据进行拼接,从而提高了 DDR读写的效率,提高了缓存资源的利用率。 附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本专利技术的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中图I为本专利技术实施例提供的一种基于DDR SDRAM进行数据写操作的过程;图2为本专利技术实施例提供的基于DDR SDRAM进行数据写操作的过程;图3为本专利技术实施例提供的一种基于DDR SDRAM进行数据写操本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于双倍速率同步动态随机存储器DDR SDRAM进行数据写操作的方法,所述数据写操作通过多组DDR SDRAM实现,其特征在于,包括 根据链表节点的大小,将接收到的报文划分为对应长度的多个数据块; 针对每个数据块,根据该数据块包含的有效字节长度,以及每组双倍速率同步动态随机存储器每个周期处理的字节长度,将该数据块划分为多个数据子单元; 判断该数据块划分后的最后一个数据子单元包含的有效字节数,是否不大于一片DDRSDRAM每个周期处理的字节长度, 当判断结果为是时,根据每组DDR SDRAM每个周期处理的字节长度,将该最后一个数据子单元与下一数据块中第一个数据子单元中相应字节的数据拼接,写入该组DDR SDRAM中。2.如权利要求I所述的方法,其特征在于,所述判断该数据块划分后的最后一个数据子单元包含的有效字节数,是否不大于一片DDR SDRAM每次处理的字节长度之前,所述方法还包括 判断所述数据块包含所述报文的报文尾信息。3.如权利要求I所述的方法,其特征在于,所述写入该组DDRSDRAM中包括 将所述最后一个数据子单元包含的字节,写入该组DDR SDRAM的第一片DDR SDRAMjf该第一数据子单元中相应字节的数据写入该组DDRSDRAM的第二片DDR SDRAM中。4.一种基于双倍速率同步动态随机存储器DDR SDRAM进行数据读操作的方法,所述数据读操作通过多组DDR SDRAM实现,其特征在于,包括 根据每组双倍速率同步动态随机存储器每个周期处理的字节长度,以及接收到的读命令和读地址,确定该读地址对应的DDR每个数据子单元的物理地址; 当数据子单元为报文的第一个数据子单元,且所述数据子单元为拼接后的数据子单元时,从缓存管理的暂存空间读取包含该报文的报文头信息的数据子单元,并与从之后从DDRSDRAM读取出的数据合并; 当该数据子单元包含该报文的报文尾信息,且所述数据子单元为拼接后的数据子单元时,从DDR SDRAM的相应地址空间读取包含该报文的报文尾信息的数据子单元,取出该数据子单元的高字节部分与之前读取的数据合并,得到读出的报文。5.如权利要求4所述的方法,其特征在于,所述从缓存管理的暂存空间读取包含该报文的报文头信息的数据子单元包括 判断包含该报文的报文头信息的数据子单元,是否写入了 DDR SDRAM中; 当该数据写入了 DDR SDRAM中时,从读暂存中读取包含该报文的报文头信息的数据子单元,否则,从写暂存中读取包含该报文的报文头信息的数据子单元。6.如权利要求4所述的方法,其特征在于,所述从DDRSDRAM的相应地址空间读取包含该报文的报文尾信息的数据子单元包括 判断包含该报文的报文尾信息的数据子单元,是否写入了 DDR SDRAM中; 当该数据写入了 DDR SDRAM中时,从读暂存中读取包含该报文的报文尾信息的数据子单元,否则,从写暂存中读取包...

【专利技术属性】
技术研发人员:吕华磊汪友宝
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1