一种用于交换设备的数据包低时延缓存装置与方法制造方法及图纸

技术编号:18600037 阅读:26 留言:0更新日期:2018-08-04 21:06
一种用于交换设备的数据包低时延缓存装置与方法,装置包括数据包聚合模块、调度器模块、数据接收模块、缓存区模块、动态内存分配模块、数据发送模块、内存块状态表模块、空闲内存块先入先出队列模块。方法包括:聚合模块将数据包聚合成固定大小的聚合数据块,调度器模块为聚合数据块分配缓存地址。动态内存块管理模块维护内存块使用信息,数据接收模块将聚合数据块搬移到相应的DRAM缓存单元中。输出端口向调度器模块发送读取申请,经冲突检测后,数据发送模块将数据包从缓存区输出至外部。本发明专利技术降低了缓存器的时延,提高了交换设备处理速度。

Data packet low latency buffer device and method for switching equipment

A data packet low delay cache device and method for switching devices, including data packet aggregation module, scheduler module, data receiving module, cache module, dynamic memory allocation module, data transmission module, memory block state table module, and free memory block first in first out queue module. Methods include: aggregation module aggregates packets into aggregated data blocks of fixed size, and scheduler module allocates cache addresses for aggregated data blocks. Dynamic memory module management module maintains memory block usage information, and data receiving module moves aggregated data blocks to the corresponding DRAM cache unit. The output port sends a read request to the scheduler module. After collision detection, the data sending module outputs the packet from the buffer to the outside. The invention reduces the time delay of the buffer and improves the processing speed of the switching device.

【技术实现步骤摘要】
一种用于交换设备的数据包低时延缓存装置与方法
本专利技术属于通信
,更进一步涉及通信网络
中的一种用于交换设备的数据包低时延缓存装置与方法。本专利技术可用于交换设备实现数据包快速低时延缓存,有效提升交换设备的性能。
技术介绍
随着通信技术的日益发展,人们对数据传输速率要求越来越高。传输速率的大幅度提升,给以太网交换机或者路由器线卡中缓存器的读写速率和容量带来了更大的挑战。一方面,随着链路速率以及交换网络速率的提高,要求分组进入和离开线卡上缓存器的速率越来越快。通常情况下存储器读和写的数据总线是共享的,一个分组到达后先要写入缓存,数据包到达缓存以及离开缓存的过程要求缓存总线的速率是链路速率的两倍。另一方面,为减小丢失率,线卡容量至少为链路速率R与端到端往返时延RRT的乘积,使得所需的内存容量在10G字节左右。因此需要大容量、高带宽并能够快速访存的缓冲存储单元来吸收网络中的数据波动。缓存器通常使用容量有限而时延小的静态随机存取存储器SRAM和容量大而读写时延大的动态随机存取存储器DRAM组成的层次化存储器结构,SRAM暂时存储输入输出链路与DRAM之间需要传送的分组以及为需要入队出队的分组划分队列,解决变长分组多队列存储的问题;DRAM作为缓存实体,提供大容量存储空间,两者相互配合可以同时满足速度和容量要求。缓存器的具体功能包括聚合模块将每个数据流传入的数据包进行分段并将其聚合成固定大小的聚合数据块,调度器模块为聚合数据块分配缓存地址。动态内存块管理模块维护队列信息,并允许队列的尾部与头部动态共享内存块信息。数据接收模块检测到队列状态非空时,将此聚合数据块搬移到相应的DRAM缓存单元中。深圳市邦彦信息技术有限公司在其申请的专利文献“一种以太网数据包缓存方法和装置”(申请号:201210128718.X公开号:CN102629914A)中提出的以太网数据包缓存方法和装置。所述装置包括仲裁模块、先入先出队列FIFO模块、内存回收模块、内存块状态表、位宽转换模块和地址映射模块,位宽转换模块用于将以太网数据包位宽转换为和动态随机存取存储器控制器的位宽一致,地址映射模块用于根据仲裁模块的指令输出以太网数据包地址到动态随机存取存储器的内存块,仲裁模块用于控制向内存块读/写以太网数据包,内存回收模块用于回收失效的内存块,先入先出队列FIFO模块用于存储被回收的内存块信息,内存块状态表用于存储内存块的地址信息。该装置存在的不足之处为,缺乏请求端口向与动态内存分配模块的传输机制,请求端口向内存块写入数据时需要先申请内存块地址,再进行数据传输降低了处理速度,在高速交换机内,此方式会产生拥塞甚至丢包。该专利所公开的方法的步骤为,第一,将DRAM划分为多个内存块,且满足数据包存储不跨页;第二,请求端口向仲裁模块发出写请求指令,仲裁模块从空闲队列中读出空闲内存块编号,作为内存块的地址;第三,仲裁模块发出响应请求的信号,可以向内存块写入数据,写入内存块状态表中,同时写入生存时间加1,请求端口记录下内存块编号;第四,当有端口请求从内存块读取数据,仲裁模块进行权衡选择,当该端口获取到仲裁,利用写入时反馈的内存块编号进行数据读出,完成读取后则将内存块表中对应的生存时间减1;第五,生存时间为0时,内存回收模块将此内存块回收,将此内存的地址放回到FIFO模块。该方法以较低的处理延时缓存以太网数据包,达到存取速度快,存储容量大和实施成本低的目的。该方法存在的不足之处为,为每个长度不定的数据包静态划分存储区,当数据包的长度小于内存块,形成存储器内部的碎片,而这些碎片也不能被其他队列利用,造成存储空间浪费。中兴通讯股份有限公司在其申请的专利文献“数据包缓存管理方法和设备”(申请号:201010591757.4,公开号:CN102025634A)该装置包括指令接收单元、缓存方式确定单元和数据包处理单元、外部缓存装置和内部缓存装置;其中所述指令处理装置包括。其中,指令接收单元,用于接收写指令,并获取所述写指令中的数据包的信息及预置的缓存策略确定所述数据包的缓存方式,所属的缓存方式有两种,一种为外部缓存方式,一种为外部缓存和内部缓存结合的内外结合缓存方式;数据包读写单元,用于根据确定的缓存方式,缓存所述数据包;所述外部缓存装置和内部缓存装置用于缓存所述数据包。该装置存在的不足之处为,缺少动态内存分配模块,同一时刻只能处理出队或者入队的操作,不能做到并行处理,限制了处理速率,另一方面当数据包到达速率提高时,该方式会造成写入操作时数据包等待,导致拥塞发生甚至丢包。该专利所公开的方法的步骤为,第一步,通信设备接收写指令,获取数据包信息;第二步,通信设备根据所述数据包信息及预置的缓存策略确定所述数据包的缓存方式;第三步,通信设备根据确定的缓存方式,缓存所述数据包至外部缓存装置,或外部缓存装置和内部缓存装置。该方法存在的不足之处为,通信设备获取数据包以后,先根据数据包信息判断缓存方式,再进行数据传输,降低了处理速度,增加了实现复杂度,在高速交换机内,此方式会产生拥塞甚至丢包。
技术实现思路
本专利技术的目的在于针对上述现有技术存在的不足,提出一种用于交换设备的数据包低时延缓存装置与方法,将数据包进行聚合,缓存到存储器的整个行存储区内,对内存块实行动态分配,降低外部缓存器的时延,实现高速数据包的低时延缓存。本专利技术目的的思路是,缓存器的具体功能包括聚合模块将每个数据流传入的数据包进行分段并将其聚合成固定大小的聚合数据块,调度器模块为聚合数据块分配缓存地址。动态内存块管理模块维护队列信息,并允许队列的尾部与头部动态共享内存块信息。数据接收模块检测到队列状态非空时,将此聚合数据块搬移到相应的DRAM缓存单元中。读取单元向调度器模块发送读取申请,经过冲突检测模块检测没有写入冲突后,数据发送模块将数据包从缓存区读出,并输出至外部,完成本次转发。本专利技术的装置包括调度器模块、空闲内存块先入先出队列模块、内存块状态表模块、数据接收模块、缓存区模块、数据发送模块;其特征在于,该装置还包括数据包聚合模块、动态内存分配模块;所述的调度器模块通过控制总线分别与数据包聚合模块、动态内存分配模块相连,所述的动态内存分配模块通过控制总线分别与内存块状态表模块、空闲内存块先入先出队列模块相连,所述的数据包聚合模块通过数据总线与数据接收模块相连;所述调度器模块通过控制总线分别与数据接收模块、数据发送模块相连;所述数据接收模块与数据发送模块通过数据总线与缓存区模块接口相连;其中:所述数据包聚合模块,用于初始化时,将聚合计数器置零;接收数据包的写入申请,从写入申请中分别提取数据包的目的端口号、有效长度;使用目的端口号的二进制数值序列,对数据包的队列号序列进行编号,将编号后的队列号序列写入到聚合块信息先入先出队列的队列号字段中;聚合数据包时,将动态随机存取存储器DRAM的行存储空间占用字节数的二进制数值,作为聚合上限值;将数据包缓存装置的系统带宽与行存储空间字节数的商值的二进制数值,作为聚合计数器的计数上限值;包聚合模块中的合并模块读取由输入端口输入的数据包,写入到聚合块存储器中;合并模块使用字节数计算方法,获取聚合块存储器中的字节数;判断聚合块存储器中的字节数是否达到聚合上限值,若是,则申请缓本文档来自技高网
...

【技术保护点】
1.一种用于交换设备的数据包低时延缓存装置,包括调度器模块、空闲内存块先入先出队列模块、内存块状态表模块、数据接收模块、缓存区模块、数据发送模块;其特征在于,该装置还包括数据包聚合模块、动态内存分配模块;所述的调度器模块通过控制总线分别与数据包聚合模块、动态内存分配模块相连,所述的动态内存分配模块通过控制总线分别与内存块状态表模块、空闲内存块先入先出队列模块相连,所述的数据包聚合模块通过数据总线与数据接收模块相连;所述调度器模块通过控制总线分别与数据接收模块、数据发送模块相连;所述数据接收模块与数据发送模块通过数据总线与缓存区模块接口相连;其中:所述数据包聚合模块,用于初始化时,将聚合计数器置零;接收数据包的写入申请,从写入申请中分别提取数据包的目的端口号、有效长度;使用目的端口号的二进制数值序列,对数据包的队列号序列进行编号,将编号后的队列号序列写入到聚合块信息先入先出队列的队列号字段中;聚合数据包时,将动态随机存取存储器DRAM的行存储空间占用字节数的二进制数值,作为聚合上限值;将数据包缓存装置的系统带宽与行存储空间字节数的商值的二进制数值,作为聚合计数器的计数上限值;包聚合模块中的合并模块读取由输入端口输入的数据包,写入到聚合块存储器中;合并模块使用字节数计算方法,获取聚合块存储器中的字节数;判断聚合块存储器中的字节数是否达到聚合上限值,若是,则申请缓存空间;否则,继续向聚合块存储器写入数据包;判断聚合计数器的计数值是否大于聚合计数器上限值,若是,则申请缓存空间;否则,将聚合计数器的计数值加1后,直到计数值达到上限值后申请缓存空间;合并模块停止向聚合块存储器写入数据包,将聚合计数器置零;将聚合块信息先入先出队列的编号字段中的数值加1;将聚合块存储器中的字节数,写入聚合块信息先入先出队列的有效长度字段中;向调度器模块发出写请求申请;所述调度器模块,用于读取聚合块信息先入先出队列的聚合块信息;将聚合块队列号与编号作为读地址,从空闲队列块先入先出队列读取对应的内存块起始地址;将内存块起始地址写入到聚合块信息先入先出队列的缓存地址字段;接收数据包聚合模块发来的写请求,从空闲内存块先进先出队列表模块获取内存块地址,为聚合完成的数据包分配缓存地址;读取请求缓存器的内存块起始地址,将内存块起始地址发送给动态内存分配模块;所述动态内存分配模块,用于初始化时,设置内存块状态表项地址,该地址的高位表示队列号,该地址的低位表示内存块标号;将内存块状态表项地址与行存储区字节数的乘积值的十六进制数值序列,作为缓存区域的内存块起始地址序列;将每个缓存区域内存块起始地址序列依次写入空闲内存块先入先出队列模块;收到更改内存块状态表的申请后,将聚合块的有效长度写到内存块状态表的聚合块有效长度字段中;将内存块起始地址写入到内存状态表的缓存地址字段;将内存状态表的内存块生存时间字段加1;将内存状态表的内存块回收状态字段设置为0;将内存状态表的写入完成字段设置为0;用于更改内存块状态表;若内存块状态表的内存块回收字段的数值为1后,将内存块起始地址写入到空闲内存块先入先出队列。用于使用内存块起始地址作为读地址,从内存块状态表中读取内存块的信息;若内存块状态表的写入完成字段为0时,将内存块起始地址发送给数据发送模块;所述内存块状态表模块,用于存储DRAM内存块的占用情况、有效字节、是否空闲、生存空间等信息;将动态内存状态表的内存块生存时间字段减1;将动态内存状态表的内存块回收状态字段设置为1;所述空闲内存块先入先出队列模块,用于存储未被使用的内存块起始地址;所述数据接收模块,用于从聚合块信息先入先出队列中读取内存块起始地址、缓存有效长度;将动态内存状态表的写入完成字段设置为1;数据接收模块通过数据总线,将聚合块输出到内存块起始地址对应的缓存区中;向动态内存分配模块发送更改动态内存状态表的申请;所述数据发送模块,用于读取请求缓存器的内存块起始地址;数据发送模块通过数据总线,将聚合块从内存块起始地址对应的缓存区输出到缓存装置外部;向动态内存分配模块发送更新空闲缓存地址申请;所述缓存区模块,用于存储数据包。...

【技术特征摘要】
1.一种用于交换设备的数据包低时延缓存装置,包括调度器模块、空闲内存块先入先出队列模块、内存块状态表模块、数据接收模块、缓存区模块、数据发送模块;其特征在于,该装置还包括数据包聚合模块、动态内存分配模块;所述的调度器模块通过控制总线分别与数据包聚合模块、动态内存分配模块相连,所述的动态内存分配模块通过控制总线分别与内存块状态表模块、空闲内存块先入先出队列模块相连,所述的数据包聚合模块通过数据总线与数据接收模块相连;所述调度器模块通过控制总线分别与数据接收模块、数据发送模块相连;所述数据接收模块与数据发送模块通过数据总线与缓存区模块接口相连;其中:所述数据包聚合模块,用于初始化时,将聚合计数器置零;接收数据包的写入申请,从写入申请中分别提取数据包的目的端口号、有效长度;使用目的端口号的二进制数值序列,对数据包的队列号序列进行编号,将编号后的队列号序列写入到聚合块信息先入先出队列的队列号字段中;聚合数据包时,将动态随机存取存储器DRAM的行存储空间占用字节数的二进制数值,作为聚合上限值;将数据包缓存装置的系统带宽与行存储空间字节数的商值的二进制数值,作为聚合计数器的计数上限值;包聚合模块中的合并模块读取由输入端口输入的数据包,写入到聚合块存储器中;合并模块使用字节数计算方法,获取聚合块存储器中的字节数;判断聚合块存储器中的字节数是否达到聚合上限值,若是,则申请缓存空间;否则,继续向聚合块存储器写入数据包;判断聚合计数器的计数值是否大于聚合计数器上限值,若是,则申请缓存空间;否则,将聚合计数器的计数值加1后,直到计数值达到上限值后申请缓存空间;合并模块停止向聚合块存储器写入数据包,将聚合计数器置零;将聚合块信息先入先出队列的编号字段中的数值加1;将聚合块存储器中的字节数,写入聚合块信息先入先出队列的有效长度字段中;向调度器模块发出写请求申请;所述调度器模块,用于读取聚合块信息先入先出队列的聚合块信息;将聚合块队列号与编号作为读地址,从空闲队列块先入先出队列读取对应的内存块起始地址;将内存块起始地址写入到聚合块信息先入先出队列的缓存地址字段;接收数据包聚合模块发来的写请求,从空闲内存块先进先出队列表模块获取内存块地址,为聚合完成的数据包分配缓存地址;读取请求缓存器的内存块起始地址,将内存块起始地址发送给动态内存分配模块;所述动态内存分配模块,用于初始化时,设置内存块状态表项地址,该地址的高位表示队列号,该地址的低位表示内存块标号;将内存块状态表项地址与行存储区字节数的乘积值的十六进制数值序列,作为缓存区域的内存块起始地址序列;将每个缓存区域内存块起始地址序列依次写入空闲内存块先入先出队列模块;收到更改内存块状态表的申请后,将聚合块的有效长度写到内存块状态表的聚合块有效长度字段中;将内存块起始地址写入到内存状态表的缓存地址字段;将内存状态表的内存块生存时间字段加1;将内存状态表的内存块回收状态字段设置为0;将内存状态表的写入完成字段设置为0;用于更改内存块状态表;若内存块状态表的内存块回收字段的数值为1后,将内存块起始地址写入到空闲内存块先入先出队列。用于使用内存块起始地址作为读地址,从内存块状态表中读取内存块的信息;若内存块状态表的写入完成字段为0时,将内存块起始地址发送给数据发送模块;所述内存块状态表模块,用于存储DRAM内存块的占用情况、有效字节、是否空闲、生存空间等信息;将动态内存状态表的内存块生存时间字段减1;将动态内存状态表的内存块回收状态字段设置为1;所述空闲内存块先入先出队列模块,用于存储未被使用的内存块起始地址;所述数据接收模块,用于从聚合块信息先入先出队列中读取内存块起始地址、缓存有效长度;将动态内存状态表的写入完成字段设置为1;数据接收模块通过数据总线,将聚合块输出到内存块起始地址对应的缓存区中;向动态内存分配模块发送更改动态内存状态表的申请;所述数据发送模块,用于读取请求缓存器的内存块起始地址;数据发送模块通过数据总线,将聚合块从内存块起始地址对应的缓存区输出到缓存装置外部;向动态内存分配模块发送更新空闲缓存地址申请;所述缓存区模块,用于存储数据包。2.一种用于交换设备的数据包低时延缓存方法,其特征在于,使用数据包低时延缓存的装置,将数据包进行聚合,缓存到存储器的整个行存储区内,对内存块实行动态分配,该方法的具体步骤包括以下:(1)初始化:(1a)缓存区模块将本模块存储区的全部地址空间置零;(1b)将数据包聚合器中的聚合计数器置零;(2)划分内存块:(2a)动态内存分配模块设置内存块状态表项地址,该地址的高位表示队列号,该地址的低位表示内存块标号;(2b)动态内存分配模块用内存块状态表项地址与行存储区字节数的乘积值的二进制数值序列,作为缓存区域的内存块起始地址序列;(2c)将每个缓存区域内存块起始地址序列,依次写入空闲内存块先入先出队列模块;(3...

【专利技术属性】
技术研发人员:邱智亮张汶汶郑凌潘伟涛鲍民权王伟娜高丽丽赵海峰曾磊
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

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

1