一种网络芯片多通道数据传输方法及传输装置制造方法及图纸

技术编号:14964678 阅读:120 留言:0更新日期:2017-04-02 19:11
本发明专利技术揭示了一种网络芯片多通道数据传输方法及传输装置,包括:接收报文;计算数据段的偏移量并区分长、短包数据段;优先存储长包数据段;将长、短包数据段通道编号及存储地址分别写进高、低优先级先进先出队列;优先读取高优先级先进先出队列中的通道编号,索引该通道已调度数据段信息;根据已调度数据段信息判断待调度数据段类型,当为长包数据段时,高优先级先进先出队列参与调度,当为短包数据段时,低优先级先进先出队列参与调度;根据存储地址调度待调度数据段并用其更新为已调度数据段信息。本发明专利技术优先存储长包数据段,降低长包数据段的截断概率,利用调度仲裁逻辑,使数据段间隔不会因为网络超带宽而被拉长,且保证数据段不发生错乱。

【技术实现步骤摘要】

本专利技术涉及网络通信领域,尤其涉及一种网络芯片多通道数据传输方法及传输装置
技术介绍
在高密度网络芯片中,多通道的数据汇聚到数据接收模块并调度至芯片内部进行处理。随着外部输入带宽的增加,会出现数据接收模块输出带宽小于输入带宽的现象,称之为网络超带宽。在传统的网络芯片多通道数据传输装置中,如图1所示,包括多个多通道组,这里以两个多通道组(多通道组0、多通道组1)为例。首先从可使用地址的先进先出阵列(First-InFirst-Out,fifo)中取出一个可使用地址,将通道中传输的数据写进存储器1中与所述可使用地址对应的写地址中,并根据数据到达的先后顺序产生调度请求先进先出阵列2,将存储器对应的写地址写进调度请求先进先出阵列2中,调度模块3将某个通道的数据调度出来,发送给下级模块处理。这里,由于短包包率比长包包率大,在网络超带宽时,大量传输短包的通道会抢占传输长包的通道带宽,引起多通道之间数据调度不均衡,导致同一通道数据调度间隔被拉大。其次,在网络超带宽时,存储器的入口流量大于出口流量,引起存储器被占满,长包数据更容易因为没有存储空间而被截断,平均丢包率大幅增加,进一步加剧了多通道之间数据调度的不均衡性。
技术实现思路
本专利技术的目的在于提供一种网络芯片多通道数据传输方法及传输装置。为实现上述专利技术目的之一,本专利技术一实施方式提供一种网络芯片多通道数据传输方法,包括步骤:S1:接收报文,所述报文由至少一数据段组成;S2:计算当前数据段的偏移量,所述偏移量定义为所述当前数据段与首数据段之间的数据段间隔数量;S3:判断所述当前数据段的数据段类型,当所述偏移量不大于预设值时,判断所述当前数据段为短包数据段,当所述偏移量大于预设值时,判断所述当前数据段为长包数据段;S4:于存储空间内存储所述当前数据段,所述存储空间优先存储长包数据段;S5:将长包数据段通道编号及存储地址写进高优先级先进先出队列,将短包数据段通道编号及存储地址写进低优先级先进先出队列;S6:优先读取高优先级先进先出队列中的通道编号,索引出所述通道编号对应通道内的已调度数据段信息;S7:根据已调度数据段信息判断待调度数据段的数据段类型,当判断所述待调度数据段为长包数据段时,所述高优先级先进先出队列参与调度,当判断所述待调度数据段为短包数据段时,所述低优先级先进先出队列参与调度;S8:根据参与调度的高优先级先进先出队列或低优先级先进先出队列中的存储地址调度出所述待调度数据段;S9:将该通道待调度数据段信息更新为已调度数据段信息,重复步骤S7、S8。作为本专利技术一实施方式的进一步改进,步骤S4具体包括:于存储空间内存储所述当前数据段,当所述当前数据段为短包数据段且已使用存储空间未超过所述存储空间的第一阈值时,存储所述当前数据段,当判断所述当前数据段为短包数据段且所述已使用存储空间超过所述第一阈值时,丢弃所述当前数据段,当判断所述当前数据段为长包数据段且所述已使用存储空间未超过所述存储空间的第二阈值时,存储所述当前数据段,当判断所述当前数据段为长包数据段且已使用存储空间超过第二阈值时,丢弃当前数据段,所述第二阈值大于所述第一阈值。作为本专利技术一实施方式的进一步改进,步骤S6具体包括:调度存储的数据段,调度过程包括一通道组内的一级调度以及多组通道组之间的二级调度,具体包括:判断所述通道组中所述低优先级先进先出队列及所述高优先级先进先出队列是否为空,当所述低优先级先进先出队列及所述高优先级先进先出队列均为空时,不参与二级调度,当所述低优先级先进先出队列为空且所述高优先级先进先出队列不为空时,所述高优先级先进先出队列参与二级调度,当所述低优先级先进先出队列不为空且所述高优先级先进先出队列为空时,所述低优先级先进先出队列参与二级调度,当所述低优先级先进先出队列及所述高优先级先进先出队列均不为空时,读出高优先级先进先出队列中的通道编号,索引出所述通道编号对应通道内的已调度数据段信息。作为本专利技术一实施方式的进一步改进,步骤S7具体包括:读取已调度数据段的偏移量、起始信息及结尾信息,根据所述已调度数据段的偏移量、起始信息及结尾信息判断待调度数据段的偏移量,当待调度数据段的偏移量大于预设值时,判断所述待调度数据段为长包数据段,所述高优先级先进先出队列参与二级调度,当待调度数据段的偏移量不大于预设值时,判断所述待调度数据段为短包数据段,所述低优先级先进先出队列参与二级调度。作为本专利技术一实施方式的进一步改进,步骤S8具体包括:经一级调度及二级调度后,根据最终所选的高优先级先进先出队列或低优先级先进先出队列中的存储地址调度出所述待调度数据段。为实现上述专利技术目的之一,本专利技术一实施方式提供一种网络芯片多通道数据传输装置,包括:接收模块,用于接收报文,所述报文由至少一数据段组成;处理模块,所述处理模块用于:计算当前数据段的偏移量,所述偏移量定义为所述当前数据段与首数据段之间的数据段间隔数量;判断所述当前数据段的数据段类型,当所述偏移量不大于预设值时,判断所述当前数据段为短包数据段,当所述偏移量大于预设值时,判断所述当前数据段为长包数据段;存储模块,用于存储所述当前数据段,所述存储模块优先存储所述长包数据段,且所述存储模块用于将长包数据段通道编号及存储地址写进高优先级先进先出队列,将短包数据段通道编号及存储地址写进低优先级先进先出队列;调度模块,所述调度模块用于:优先读取高优先级先进先出队列中的通道编号,索引出所述通道编号对应通道内的已调度数据段信息;根据已调度数据段信息判断待调度数据段的数据段类型,当判断所述待调度数据段为长包数据段时,所述高优先级先进先出队列参与调度,当判断所述待调度数据段为短包数据段时,所述低优先级先进先出队列参与调度;根据参与调度的高优先级先进先出队列或低优先级先进先出队列中的存储地址调度出所述待调度数据段;将该通道待调度数据段信息更新为已调度数据段信息以进行下次调度。作为本专利技术一实施方式的进一步改进,所述处理模块还用于:当所述当前数据段为短包数据段且已使用存储空间未超过所述存储模块的存储空间的第一阈值时,所述存储模块存储所述当前数据段,当判断所述当前数据段为短包数据段且所述已使用存储空间超过所述第一阈值时,丢弃所述当前数据段,当判断所述当前数据段为长包数据段且所述已使用存储空间未超过所述存储空间的第二阈值时,所述存储模块存储所述当前数据段,当判断所述当前数据段为长包数据段且已使用存储空间超过第二阈值时,丢弃当前数据段,所述第二阈值大于所述第一阈值。作为本专利技术一实施方式的进一步改进,所述网络芯片包括多组多通道组,所述调度模块包括多个第一调度模块及一第二调度模块,所述多个第一调度模块与所述多组多通道一一对应,所述第二调度模块连接所述多个第一调度模块,所述调度模块还用于:判断所述通道组中所述低优先级先进先出队列及所述高优先级先进先出队列是否为本文档来自技高网...

【技术保护点】
一种网络芯片多通道数据传输方法,其特征在于包括步骤:S1:接收报文,所述报文由至少一数据段组成;S2:计算当前数据段的偏移量,所述偏移量定义为所述当前数据段与首数据段之间的数据段间隔数量;S3:判断所述当前数据段的数据段类型,当所述偏移量不大于预设值时,判断所述当前数据段为短包数据段,当所述偏移量大于预设值时,判断所述当前数据段为长包数据段;S4:于存储空间内存储所述当前数据段,所述存储空间优先存储长包数据段;S5:将长包数据段通道编号及存储地址写进高优先级先进先出队列,将短包数据段通道编号及存储地址写进低优先级先进先出队列;S6:优先读取高优先级先进先出队列中的通道编号,索引出所述通道编号对应通道内的已调度数据段信息;S7:根据已调度数据段信息判断待调度数据段的数据段类型,当判断所述待调度数据段为长包数据段时,所述高优先级先进先出队列参与调度,当判断所述待调度数据段为短包数据段时,所述低优先级先进先出队列参与调度;S8:根据参与调度的高优先级先进先出队列或低优先级先进先出队列中的存储地址调度出所述待调度数据段;S9:将该通道待调度数据段信息更新为已调度数据段信息,重复步骤S7、S8。

【技术特征摘要】
1.一种网络芯片多通道数据传输方法,其特征在于包括步骤:
S1:接收报文,所述报文由至少一数据段组成;
S2:计算当前数据段的偏移量,所述偏移量定义为所述当前数据段与首数据段之间的数据段间隔数量;
S3:判断所述当前数据段的数据段类型,当所述偏移量不大于预设值时,判断所述当前数据段为短包数据段,当所述偏移量大于预设值时,判断所述当前数据段为长包数据段;
S4:于存储空间内存储所述当前数据段,所述存储空间优先存储长包数据段;
S5:将长包数据段通道编号及存储地址写进高优先级先进先出队列,将短包数据段通道编号及存储地址写进低优先级先进先出队列;
S6:优先读取高优先级先进先出队列中的通道编号,索引出所述通道编号对应通道内的已调度数据段信息;
S7:根据已调度数据段信息判断待调度数据段的数据段类型,当判断所述待调度数据段为长包数据段时,所述高优先级先进先出队列参与调度,当判断所述待调度数据段为短包数据段时,所述低优先级先进先出队列参与调度;
S8:根据参与调度的高优先级先进先出队列或低优先级先进先出队列中的存储地址调度出所述待调度数据段;
S9:将该通道待调度数据段信息更新为已调度数据段信息,重复步骤S7、S8。
2.根据权利要求1所述的网络芯片多通道数据传输方法,其特征在于步骤S4具体包括:
于存储空间内存储所述当前数据段,当所述当前数据段为短包数据段且已使用存储空间未超过所述存储空间的第一阈值时,存储所述当前数据段,当判断所述当前数据段为短包数据段且所述已使用存储空间超过所述第一阈值时,丢弃所述当前数据段,当判断所述当前数据段为长包数据段且所述已使用存储空间未超过所述存储空间的第二阈值时,存储所述当前数据段,当判断所述当前数据段为长包数据段且已使用存储空间超过第二阈值时,丢弃当前数据段,所述第二阈值大于所述第一阈值。
3.根据权利要求1所述的网络芯片多通道数据传输方法,其特征在于步骤S6具体包括:
调度存储的数据段,调度过程包括一通道组内的一级调度以及多组通道组之间的二级调度,具体包括:
判断所述通道组中所述低优先级先进先出队列及所述高优先级先进先出队列是否为空,当所述低优先级先进先出队列及所述高优先级先进先出队列均为空时,不参与二级调度,当所述低优先级先进先出队列为空且所述高优先级先进先出队列不为空时,所述高优先级先进先出队列参与二级调度,当所述低优先级先进先出队列不为空且所述高优先级先进先出队列为空时,所述低优先级先进先出队列参与二级调度,当所述低优先级先进先出队列及所述高优先级先进先出队列均不为空时,读出高优先级先进先出队列中的通道编号,索引出所述通道编号对应通道内的已调度数据段信息。
4.根据权利要求3所述的网络芯片多通道数据传输方法,其特征在于步骤S7具体包括:
读取已调度数据段的偏移量、起始信息及结尾信息,根据所述已调度数据段的偏移量、起始信息及结尾信息判断待调度数据段的偏移量,当待调度数据段的偏移量大于预设值时,判断所述待调度数据段为长包数据段,所述高优先级先进先出队列参与二级调度,当待调度数据段的偏移量不大于预设值时,判断所述待调度数据段为短包数据段,所述低优先级先进先出队列参与二级调度。
5.根据权利要求4所述的网络芯片多通道数据传输方法,其特征在于步骤S8具体包括:
经一级调度及二级调度后,根据最终所选的高优先级先进先出队列或低优先级先进先出队列中的存储地址调度出所述待调度数据段。
6.一种网络芯片多通道数据传输装置,其特征在于包括:
接收模块,用于接收报文,所...

【专利技术属性】
技术研发人员:徐子轩
申请(专利权)人:盛科网络苏州有限公司
类型:发明
国别省市:江苏;32

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

1