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

文档序号:9891349阅读:332来源:国知局
一种网络芯片多通道数据传输方法及传输装置的制造方法
【技术领域】
[0001]本发明涉及网络通信领域,尤其涉及一种网络芯片多通道数据传输方法及传输装置。
【背景技术】
[0002]在高密度网络芯片中,多通道的数据汇聚到数据接收模块并调度至芯片内部进行处理。随着外部输入带宽的增加,会出现数据接收模块输出带宽小于输入带宽的现象,称之为网络超带宽。
[0003]在传统的网络芯片多通道数据传输装置中,如图1所示,包括多个多通道组,这里以两个多通道组(多通道组0、多通道组I)为例。首先从可使用地址的先进先出阵列(First-1n First-Out,fifo)中取出一个可使用地址,将通道中传输的数据写进存储器I中与所述可使用地址对应的写地址中,并根据数据到达的先后顺序产生调度请求先进先出阵列2,将存储器对应的写地址写进调度请求先进先出阵列2中,调度模块3将某个通道的数据调度出来,发送给下级模块处理。
[0004]这里,由于短包包率比长包包率大,在网络超带宽时,大量传输短包的通道会抢占传输长包的通道带宽,引起多通道之间数据调度不均衡,导致同一通道数据调度间隔被拉大。其次,在网络超带宽时,存储器的入口流量大于出口流量,引起存储器被占满,长包数据更容易因为没有存储空间而被截断,平均丢包率大幅增加,进一步加剧了多通道之间数据调度的不均衡性。

【发明内容】

[0005]本发明的目的在于提供一种网络芯片多通道数据传输方法及传输装置。
[0006]为实现上述发明目的之一,本发明一实施方式提供一种网络芯片多通道数据传输方法,包括步骤:
SI:接收报文,所述报文由至少一数据段组成;
S2:计算当前数据段的偏移量,所述偏移量定义为所述当前数据段与首数据段之间的数据段间隔数量;
S3:判断所述当前数据段的数据段类型,当所述偏移量不大于预设值时,判断所述当前数据段为短包数据段,当所述偏移量大于预设值时,判断所述当前数据段为长包数据段;
S4:于存储空间内存储所述当前数据段,所述存储空间优先存储长包数据段;
S5:将长包数据段通道编号及存储地址写进高优先级先进先出队列,将短包数据段通道编号及存储地址写进低优先级先进先出队列;
S6:优先读取高优先级先进先出队列中的通道编号,索引出所述通道编号对应通道内的已调度数据段信息;
S7:根据已调度数据段信息判断待调度数据段的数据段类型,当判断所述待调度数据段为长包数据段时,所述高优先级先进先出队列参与调度,当判断所述待调度数据段为短包数据段时,所述低优先级先进先出队列参与调度;
S8:根据参与调度的高优先级先进先出队列或低优先级先进先出队列中的存储地址调度出所述待调度数据段;
S9:将该通道待调度数据段信息更新为已调度数据段信息,重复步骤S7、S8。
[OOO7 ]作为本发明一实施方式的进一步改进,步骤S4具体包括:
于存储空间内存储所述当前数据段,当所述当前数据段为短包数据段且已使用存储空间未超过所述存储空间的第一阈值时,存储所述当前数据段,当判断所述当前数据段为短包数据段且所述已使用存储空间超过所述第一阈值时,丢弃所述当前数据段,当判断所述当前数据段为长包数据段且所述已使用存储空间未超过所述存储空间的第二阈值时,存储所述当前数据段,当判断所述当前数据段为长包数据段且已使用存储空间超过第二阈值时,丢弃当前数据段,所述第二阈值大于所述第一阈值。
[0008]作为本发明一实施方式的进一步改进,步骤S6具体包括:
调度存储的数据段,调度过程包括一通道组内的一级调度以及多组通道组之间的二级调度,具体包括:
判断所述通道组中所述低优先级先进先出队列及所述高优先级先进先出队列是否为空,当所述低优先级先进先出队列及所述高优先级先进先出队列均为空时,不参与二级调度,当所述低优先级先进先出队列为空且所述高优先级先进先出队列不为空时,所述高优先级先进先出队列参与二级调度,当所述低优先级先进先出队列不为空且所述高优先级先进先出队列为空时,所述低优先级先进先出队列参与二级调度,当所述低优先级先进先出队列及所述高优先级先进先出队列均不为空时,读出高优先级先进先出队列中的通道编号,索引出所述通道编号对应通道内的已调度数据段信息。
[0009]作为本发明一实施方式的进一步改进,步骤S7具体包括:
读取已调度数据段的偏移量、起始信息及结尾信息,根据所述已调度数据段的偏移量、起始信息及结尾信息判断待调度数据段的偏移量,当待调度数据段的偏移量大于预设值时,判断所述待调度数据段为长包数据段,所述高优先级先进先出队列参与二级调度,当待调度数据段的偏移量不大于预设值时,判断所述待调度数据段为短包数据段,所述低优先级先进先出队列参与二级调度。
[0010]作为本发明一实施方式的进一步改进,步骤S8具体包括:
经一级调度及二级调度后,根据最终所选的高优先级先进先出队列或低优先级先进先出队列中的存储地址调度出所述待调度数据段。
[0011]为实现上述发明目的之一,本发明一实施方式提供一种网络芯片多通道数据传输装置,包括:
接收模块,用于接收报文,所述报文由至少一数据段组成;
处理模块,所述处理模块用于:
计算当前数据段的偏移量,所述偏移量定义为所述当前数据段与首数据段之间的数据段间隔数量;
判断所述当前数据段的数据段类型,当所述偏移量不大于预设值时,判断所述当前数据段为短包数据段,当所述偏移量大于预设值时,判断所述当前数据段为长包数据段;
存储模块,用于存储所述当前数据段,所述存储模块优先存储所述长包数据段,且所述存储模块用于将长包数据段通道编号及存储地址写进高优先级先进先出队列,将短包数据段通道编号及存储地址写进低优先级先进先出队列;
调度模块,所述调度模块用于:
优先读取高优先级先进先出队列中的通道编号,索引出所述通道编号对应通道内的已调度数据段信息;
根据已调度数据段信息判断待调度数据段的数据段类型,当判断所述待调度数据段为长包数据段时,所述高优先级先进先出队列参与调度,当判断所述待调度数据段为短包数据段时,所述低优先级先进先出队列参与调度;
根据参与调度的高优先级先进先出队列或低优先级先进先出队列中的存储地址调度出所述待调度数据段;
将该通道待调度数据段信息更新为已调度数据段信息以进行下次调度。
[0012]作为本发明一实施方式的进一步改进,所述处理模块还用于:
当所述当前数据段为短包数据段且已使用存储空间未超过所述存储模块的存储空间的第一阈值时,所述存储模块存储所述当前数据段,当判断所述当前数据段为短包数据段且所述已使用存储空间超过所述第一阈值时,丢弃所述当前数据段,当判断所述当前数据段为长包数据段且所述已使用存储空间未超过所述存储空间的第二阈值时,所述存储模块存储所述当前数据段,当判断所述当前数据段为长包数据段且已使用存储空间超过第二阈值时,丢弃当前数据段,所述第二阈值大于所述第一阈值。
[0013]作为本发明一实施方式的进一步改进,所述网络芯片包括多组多通道组,所述调度模块包括多个第一调度模块及一第二调度模块,所述多个第一调度模块与所述多组多通道一一对应,所述第二调度模块连接所述多个第一调度模块,所述调度模块还用于:
判断所述通道组中所述低优先级先进先出队列及所述高优先级先进先出队列是否为空,当所述低优先级先进先出队列及所述高优先级先进先出队列均为空时,不进入所述第二调度模块,当所述低优先级先进先出队列为空且所述高优先级先进先出队列不为空时,所述高优先级先进先出队列进入第二调度模块,当所述低优先级先进先出队列不为空且所述高优先级先进先出队列为空时,所述低优先级先进先出队列进入第二调度模块,当所述低优先级先进先出队列及所述尚优先级先进先出队列均不为空时,读出尚优先级先进先出队列中的通道编号,索引出所述通道编号对应通道内的已调度数据段信息。
[0014]作为本发明一实施方式的进一步改进,所述调度模块还用于:
读取已调度数据段的偏移量、起始信息及结尾信息,根据所述已调度数据段的偏移量、起始信息及结尾信息判断待调度数据段的偏移量,当待调度数据段的偏移量大于预设值时,判断所述待调度数据段为长包数据段,所述高优先级先进先出队列进入第二调度模块,当待调度数据段的偏移量不大于预设值时,判断所述待调度数据段为短包数据段,所述低优先级先进先出队列进入第二调度模块。
[0015]作为本发明一实施方式的进一步改进,所述调度模块还用于:
经第一调度模块及第二调度模块后,根据最终所选的高优先级先进先出队列或低优先级先进先出队列中的存储地址调度出所述待调度数据段。
[0016]与现有技术相比,本发明的有益效果在于:本发明优先存储长包数据段,大幅降低长包数据段因为存储空间用尽而被截断的概率;另外,本发明利用调度仲裁逻辑,使得数据段间隔不会因为网络超带宽而被拉长,且保证数据段不发生错乱。
【附图说明】
[0017]图1是现有技术网络芯片多通道数据传输装置结构示意图;
图2是本发明一实施方式的网络芯片多通道数据传输方法流程图;
图3是本发明一实施方式的存储空间示意图;
图4是本发明一实施方式的网络芯片多通道数据传输装置结构框图;
图5是本发明
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1