CN103685060A - 数据包发送方法及装置 - Google Patents

数据包发送方法及装置 Download PDF

Info

Publication number
CN103685060A
CN103685060A CN201210336313.5A CN201210336313A CN103685060A CN 103685060 A CN103685060 A CN 103685060A CN 201210336313 A CN201210336313 A CN 201210336313A CN 103685060 A CN103685060 A CN 103685060A
Authority
CN
China
Prior art keywords
packet
sent
interface
subspace
spatial cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201210336313.5A
Other languages
English (en)
Other versions
CN103685060B (zh
Inventor
张帆
何铁军
谭智雄
丁强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanechips Technology Co Ltd
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201210336313.5A priority Critical patent/CN103685060B/zh
Publication of CN103685060A publication Critical patent/CN103685060A/zh
Application granted granted Critical
Publication of CN103685060B publication Critical patent/CN103685060B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种数据包发送方法及装置。该方法包括:接收上级接口发送的待发送数据包,将待发送数据包存储在预先设置的缓存空间中,并根据当前的传输带宽从缓存空间中抽取相应长度的数据包;对抽取的数据包进行解析,将数据包帧边界格式和数据包帧间隔剔除,将保留下来的数据帧进行重新合并,并将合并后的数据帧按照发送接口规定的帧边界格式和帧间隔重新组建为一个新数据包;将新数据包通过发送接口进行发送。借助于本发明的技术方案,能够灵活可靠地应用芯片间通信的环境中,有效提高了传输的带宽利用率,为芯片间高速Serdes通信提供了更优质的传输质量保证。

Description

数据包发送方法及装置
技术领域
本发明涉及移动通讯领域,特别是涉及一种数据包发送方法及装置。
背景技术
在现有技术中,由于采用了基于10G媒体独立接口(10Gigbit MediaIndependent Interface,简称为XGMII)的10G比特接口,为芯片间的高宽带传输提供了理想的解决方案。10G比特速率的并串行与串并行转换器(Serdes)传输单元符合10G以太网连接单元接口(10Gigbit Attachment Unit Interface,简称为XAUI)协议,使用4对差分线实现全双工的传输。
在实际应用中,芯片间互连的场景对基于Serdes传输的带宽要求较高,希望对实际物理传输通道的带宽利用率越高越好,从而保证大流量数据的交互。
目前,由于上层软件及中间协议层在特定的应用场景下,在数据传输时对数据源的处理并不能保证以尽可能大的带宽利用率来组包。特别是多个上层应用需求共用一条物理传输通道时,此现象就更加明显。往往一些短包(数据包一般都包含帧头、帧尾、帧间隔等附加信息)会占用很大的带宽,造成实际使用物理通道的带宽利用率下降很多。因此,目前急需一种能够有效提高传输器对物理通道的带宽利用率的方法及装置。
发明内容
本发明提供一种数据包发送方法及装置,以解决现有技术中不能保证以尽可能大的物理通道带宽利用率进行芯片间高速Serdes传输的问题。
本发明提供一种数据包发送方法,包括:接收上级接口发送的待发送数据包,将待发送数据包存储在预先设置的缓存空间中,并根据当前的传输带宽从缓存空间中抽取相应长度的数据包;对抽取的数据包进行解析,将数据包帧边界格式和数据包帧间隔剔除,将保留下来的数据帧进行重新合并,并将合并后的数据帧按照发送接口规定的帧边界格式和帧间隔重新组建为一个新数据包;将新数据包通过发送接口进行发送。
优选地,发送接口包括:XGMII接口、以及XAUI接口。
优选地,缓存空间中设置有按序号排列的多个缓存子空间;每个缓存子空间的缓存深度为上级接口允许发送待发送数据包的最大长度,或者,每个缓存子空间的缓存深度为预先规定的发送待发送数据包的最大长度。
优选地,将待发送数据包存储在预先设置的缓存空间中具体包括:判断缓存空间中的多个缓存子空间的存储状态;如果多个缓存子空间均已存储数据,则向上级接口发送流控指示,禁止上级接口继续发送数据;如果多个缓存子空间中有至少一个缓存子空间未存储数据,则向上级接口发送传输就绪响应,并接收上级接口发送的待发送数据包,根据缓存空间中各个缓存子空间的空满状态,将接收的每个待发送数据包按照接收顺序分别存储到各个空闲的缓存子空间中;根据当前的传输带宽从缓存空间中抽取相应长度的数据包具体包括:根据当前的传输带宽,按照存储顺序从缓存空间的一个或多个相应缓存子空间中抽取出一个或多个总长度与当前的传输带宽相应的待发送数据包。
优选地,上述方法还包括:将抽取的待发送数据包回填到缓存空间中的相应缓存子空间中;将回填到缓存空间中的与已发送的新数据包相应的待发送数据包删除。
优选地,将新数据包通过发送接口进行发送之前,上述方法还包括:获取新数据包,对新数据包进行循环冗余校验码CRC校验,并将校验结果插入到新数据包中。
优选地,当前的传输带宽为:根据用户需要预先调整的传输带宽。
本发明还提供了一种数据包发送装置,包括:数据流量控制模块,用于接收上级接口发送的待发送数据包,并将待发送数据包存储在预先设置的缓存空间中;缓存空间,用于存储待发送数据包;带宽调整器,用于根据当前的传输带宽从缓存空间中抽取相应长度的数据包;对抽取的数据包进行解析,将数据包帧边界格式和数据包帧间隔剔除,将保留下来的数据帧进行重新合并,并将合并后的数据帧按照发送接口规定的帧边界格式和帧间隔重新组建为一个新数据包,将新数据包发送到发送接口;发送接口,用于发送新数据包。
优选地,发送接口包括:XGMII接口、以及XAUI接口。
优选地,缓存空间中设置有按序号排列的多个缓存子空间;每个缓存子空间的缓存深度为上级接口允许发送待发送数据包的最大长度,或者,每个缓存子空间的缓存深度为预先规定的发送待发送数据包的最大长度;当前的传输带宽为:根据用户需要预先调整的传输带宽。
优选地,数据流量控制模块还用于:判断缓存空间中的多个缓存子空间的存储状态;如果多个缓存子空间均已存储数据,则向上级接口发送流控指示,禁止上级接口继续发送数据;如果多个缓存子空间中有至少一个缓存子空间未存储数据,则向上级接口发送传输就绪响应,并接收上级接口发送的待发送数据包,根据缓存空间中各个缓存子空间的空满状态,将接收的每个待发送数据包按照接收顺序分别存储到各个空闲的缓存子空间中;带宽调整器具体用于:根据当前的传输带宽,按照存储顺序从缓存空间的一个或多个相应缓存子空间中抽取出一个或多个总长度与当前的传输带宽相应的待发送数据包;带宽调整器还包括:回填模块,用于将抽取的待发送数据包回填到缓存空间中的相应缓存子空间中;删除模块,用于将回填到缓存空间中的与已发送的新数据包相应的待发送数据包删除。
优选地,上述装置还包括:循环冗余校验码CRC校验模块,用于获取新数据包,对新数据包进行CRC校验,并将校验结果插入到新数据包中。
本发明有益效果如下:
通过动态地对当前传输的数据包进行合并、规整,解决了现有技术中不能保证以尽可能大的物理通道带宽利用率进行芯片间高速Serdes传输的问题,能够灵活可靠地应用芯片间的通信的环境中,有效提高了传输的带宽利用率,为芯片间高速Serdes通信提供了更优质的传输质量保证。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例的数据包发送方法的流程图;
图2是本发明实施例的桶形环绕缓存器机制的工作原理示意图;
图3是本发明实施例的待发送数据包合并规整的示意图;
图4是本发明实施例的基于XGMII接口的数据包发送方法的工作原理的优选示意图;
图5是本发明实施例的数据包发送装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了能够有效提高传输器对物理通道的带宽利用率,有效解决由于不同情况下短包传输对带宽利用率造成影响的问题,本发明实施例提供了一种数据包发送方法及装置,针对在芯片间高速Serdes传输时系统级无法或不容易保证以尽可能大的带宽利用率来传输的情况,特别是多个上层应用需求共用一条物理传输通道造成实际使用物理通道的带宽利用降低的情况,通过预先配置,动态地对当前传输的数据短包进行合并、规整,实现提高物理通道传输利用率的目的。以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
方法实施例
根据本发明的实施例,提供了一种数据包发送方法,图1是本发明实施例的数据包发送方法的流程图,如图1所示,根据本发明实施例的数据包发送方法,包括如下处理:
步骤101,接收上级接口发送的待发送数据包,将待发送数据包存储在预先设置的缓存空间中,并根据当前的传输带宽从缓存空间中抽取相应长度的数据包;
优选地,在本发明实施例中,当前的传输带宽可以为:根据用户需要预先调整的传输带宽。
具体地,缓存空间中设置有按序号排列的多个缓存子空间;每个缓存子空间的缓存深度为上级接口允许发送待发送数据包的最大长度,或者,每个缓存子空间的缓存深度为预先规定的发送待发送数据包的最大长度。
在步骤101中,将待发送数据包存储在预先设置的缓存空间中具体包括:
1、判断缓存空间中的多个缓存子空间的存储状态;
2、如果多个缓存子空间均已存储数据,则向上级接口发送流控指示,禁止上级接口继续发送数据;
3、如果多个缓存子空间中有至少一个缓存子空间未存储数据,则向上级接口发送传输就绪响应,并接收上级接口发送的待发送数据包,根据缓存空间中各个缓存子空间的空满状态,将接收的每个待发送数据包按照接收顺序分别存储到各个空闲的缓存子空间中。
在步骤101中,根据当前的传输带宽从缓存空间中抽取相应长度的数据包具体包括:根据当前的传输带宽,按照存储顺序从缓存空间的一个或多个相应缓存子空间中抽取出一个或多个总长度与当前的传输带宽相应的待发送数据包。
优选地,在本发明实施例中,还可以将抽取的待发送数据包回填到缓存空间中的相应缓存子空间中。
具体地,在步骤101中的缓存空间的缓存机制为桶形环绕缓存器机制。图2是本发明实施例的桶形环绕缓存器机制的工作原理示意图,如图2所示,根据当前缓存空间的空满情况(在本发明实施例中,缓存空间最大可配置到16个缓存子空间),将待发送数据包预存到对应的缓存子空间中。在本发明实施例中,该缓存空间支持1到16号之间的数据循环读取和对应号缓存子空间中缓存的待发送数据包的抽取和回填。在对应号缓存子空间中缓存的待发送数据包在抽取到帧结束时会自动抽取下一号缓存子空间中缓存的待发送数据包。例如,当前只保存了8个号的待发送数据包,启动读取控制机后可以根据当前缓存子空间的空满状态动态读取8个缓存子空间中缓存的待发送数据包,以保证待发送数据包发送的及时性。对应到每个具体缓存子空间,每个缓存子空间的深度为预先规定的发送待发送数据包的最大长度。同时待发送数据包抽取时具有自动回填功能,保证待发送数据包在清除之前都具有备份功能,可以选择二次传输。桶形环绕缓存器机制的缓存空间为待发送数据包的合并、规整提供载体,同时为待发送数据包二次传输提供备份功能。
步骤102,对抽取的数据包进行解析,将数据包帧边界格式和数据包帧间隔剔除,将保留下来的数据帧进行重新合并,并将合并后的数据帧按照发送接口规定的帧边界格式和帧间隔重新组建为一个新数据包;
其中,发送接口包括:XGMII接口、以及XAUI接口。具体地,在本发明实施例中,发送接口为能够支持根据帧边界格式和帧间隔合并数据包的接口。
具体地,图3是本发明实施例的待发送数据包合并规整的示意图,如图3所示,配合缓存空间的桶形环绕缓存器机制,根据当前的传输带宽将数据抽取后,获取抽取的数据包的包边界信息,同时根据当前通道的传输情况重新合并、规整数据,调整之后数据包的帧格式更加紧凑,带宽利用率更高。
步骤103,将新数据包通过发送接口进行发送。
优选地,在本发明实施例中,将新数据包通过发送接口进行发送之前,还包括如下处理:获取新数据包,对新数据包进行循环冗余校验码(Cyclicredundancy check,简称为CRC)校验,并将校验结果插入到新数据包中。
具体地,经过新调整之后的新数据包,为了保证数据内容传输的正确性和完整性,可选的加入16比特循环冗余校验码(Cyclic redundancy check 16bit,简称为CRC16)连续数据并行校验,校验结果在新数据包的帧尾处插入,当接收端接收新调整数据帧后按照规则进行校验即可判断传输帧的正确性;如果接收端不支持校验功能,不影响数据正常传输。
最后,需要将回填到缓存空间中的与已发送的新数据包相应的待发送数据包删除。以情况缓存空间,为存储后续的待发送数据包做好准备。
图4是本发明实施例的基于XGMII接口的数据包发送方法的工作原理的优选示意图,如图4所示,包括传输层数据源、宽带调整器流控模块、桶形环绕缓存器、宽带调整器、CRC16校验装置、以及XGMII接口。其中,桶形环绕缓存器机制实现对数据预存和缓冲;动态管理机制实现基于XGMII接口即将发送的数据包的调度、抽取;数据发送组包预处理机制根据对带宽的调整预先配置,重新合并、规整数据包,去除占用带宽的帧头信息、帧尾信息、帧间隔信息;数据发送机制根据XGMII接口标准重新组包发送新合并、规整后的数据包,在保留原始数据包的信息内容的基础上,极大的去除了占用带宽的无用信息,保证传输对带宽的利用率;同时为了保证新数据包的正确性,可选的采用标准的CRC16校验机制对整个新的数据包进行连续校验,并将校验码加入帧格式中,方便接收端校验传输正确性。
如图4所示,根据本发明实施例的基于XGMII接口的数据包发送方法具体包括如下处理:
步骤1、宽带调整器流控模块根据上一级系统接口(传输层数据源)的发送数据情况和本地流控状态情况,反馈传输就绪响应,并判断此时带宽调整器是否启动,如果启动方可开始接收上一级系统接口(传输层数据源)发送的数据包。
步骤2、通过宽带调整器流控模块之后的数据包,缓存控制机制根据当前桶形环绕缓存器的剩余空间状态来决定将原始数据帧存放到第几号缓存器中,此时缓存器为双向操作,不仅实现之前数据的抽取发送、回填,还实现新数据的填入保存。在发送端数据量非常大的情况下,此桶形环绕缓存器会不断的写入新的数据,与此同时根据当前的传输带宽来抽取数据,实时的组包发送。此情况下物理通道传输的带宽利用率为最高。数据包抽取到宽带调整器后,会自动反馈是否清除更新对应缓存下的数据,保证后续新数据的连续填入。优选地,在本发明实施例中,宽带调整器流控模块也可以直接获取桶形环绕缓存器的缓存情况,以确定是否清除更新对应缓存下的数据。
步骤3、到达宽带调整器的数据帧,会自动的完成原始数据帧的解包工作,将包边界格式和帧间隔剔除,保留有用的传输信息完成合并;数据帧一旦完成合并,会自动启动新数据信息的XGMII帧格式组包状态机,将合并的数据按照XGMII的帧边界和帧间隔要求组建成一笔大的数据帧进行发送。
在步骤3中,包括两种传输模式:正常带宽传输模式和调整带宽传输模式,如果设置为正常带宽传输模式,那么桶形环绕缓存器只存储数据包,宽带调整器从桶形环绕缓存器取出数据包后,不进行任何处理,直接采用正常带宽传输模式发送数据包。如果设置为调整带宽传输模式,则需要进行上述处理,发送合并规整后的新数据包。
步骤4、在进行新数据包组包发送的同时,可选开启进行CRC16连续数据并行校验,新的数据在组包发送的过程中,会同步进行CRC校验,连续校验的校验码结果将在帧尾处获得并插入到帧尾部分一同发送,当接收同采用相同的校验方式进行校验即可获得数据正确与否的信息。
步骤5、将组建好的XGMII标准帧格式数据与XGMII接口进行对接,通过XGMII接口发送组建好的XGMII标准帧格式数据,此部分支持异步跨时钟域处理部分,方便接口使用。
综上所述,借助于本发明实施例的技术方案,能够灵活可靠地应用在基于XGMII接口芯片间通信的环境中,通过本地桶形环绕缓存器机制为数据帧提供数据帧缓存库,使用带宽调整器流控模块和带宽调整器完成动态的数据帧帧格式的调整。有效提高了传输的带宽利用率,为芯片间通信提供了更优质的传输。
装置实施例
根据本发明的实施例,提供了一种数据包发送装置,图5是本发明实施例的数据包发送装置的结构示意图,如图5所示,根据本发明实施例的数据包发送装置包括:数据流量控制模块50、缓存空间52、带宽调整器54、以及发送接口56,以下对本发明实施例的各个模块进行详细的说明。
数据流量控制模块50,用于接收上级接口发送的待发送数据包,并将待发送数据包存储在预先设置的缓存空间52中;
具体地,缓存空间52中设置有按序号排列的多个缓存子空间;每个缓存子空间的缓存深度为上级接口允许发送待发送数据包的最大长度,或者,每个缓存子空间的缓存深度为预先规定的发送待发送数据包的最大长度;
具体地,数据流量控制模块50还用于:判断缓存空间52中的多个缓存子空间的存储状态;如果多个缓存子空间均已存储数据,则向上级接口发送流控指示,禁止上级接口继续发送数据;如果多个缓存子空间中有至少一个缓存子空间未存储数据,则向上级接口发送传输就绪响应,并接收上级接口发送的待发送数据包,根据缓存空间52中各个缓存子空间的空满状态,将接收的每个待发送数据包按照接收顺序分别存储到各个空闲的缓存子空间中;
缓存空间52,用于存储待发送数据包;
具体地,缓存空间52的缓存机制为桶形环绕缓存器机制。图2是本发明实施例的桶形环绕缓存器机制的工作原理示意图,如图2所示,根据当前缓存空间52的空满情况(在本发明实施例中,缓存空间52最大可配置到16个缓存子空间),将待发送数据包预存到对应的缓存子空间中。在本发明实施例中,该缓存空间52支持1到16号之间的数据循环读取和对应号缓存子空间中缓存的待发送数据包的抽取和回填。在对应号缓存子空间中缓存的待发送数据包在抽取到帧结束时会自动抽取下一号缓存子空间中缓存的待发送数据包。例如,当前只保存了8个号的待发送数据包,启动读取控制机后可以根据当前缓存子空间的空满状态动态读取8个缓存子空间中缓存的待发送数据包,以保证待发送数据包发送的及时性。对应到每个具体缓存子空间,每个缓存子空间的深度为预先规定的发送待发送数据包的最大长度。同时待发送数据包抽取时具有自动回填功能,保证待发送数据包在清除之前都具有备份功能,可以选择二次传输。桶形环绕缓存器机制的缓存空间52为待发送数据包的合并、规整提供载体,同时为待发送数据包二次传输提供备份功能。
带宽调整器54,用于根据当前的传输带宽从缓存空间52中抽取相应长度的数据包;对抽取的数据包进行解析,将数据包帧边界格式和数据包帧间隔剔除,将保留下来的数据帧进行重新合并,并将合并后的数据帧按照发送接口56规定的帧边界格式和帧间隔重新组建为一个新数据包,将新数据包发送到发送接口56;
具体地,当前的传输带宽为:根据用户需要预先调整的传输带宽。
带宽调整器54具体用于:根据当前的传输带宽,按照存储顺序从缓存空间52的一个或多个相应缓存子空间中抽取出一个或多个总长度与当前的传输带宽相应的待发送数据包;
带宽调整器54还包括:
回填模块,用于将抽取的待发送数据包回填到缓存空间52中的相应缓存子空间中;
删除模块,用于将回填到缓存空间52中的与已发送的新数据包相应的待发送数据包删除。
具体地,图3是本发明实施例的待发送数据包合并规整的示意图,如图3所示,配合缓存空间52的桶形环绕缓存器机制,根据当前的传输带宽将数据抽取后,获取抽取的数据包的包边界信息,同时根据当前通道的传输情况重新合并、规整数据,调整之后数据包的帧格式更加紧凑,带宽利用率更高。
发送接口56,用于发送新数据包。
优选地,发送接口包括:XGMII接口、以及XAUI接口。具体地,在本发明实施例中,发送接口为能够支持根据帧边界格式和帧间隔合并数据包的接口。
优选地,根据本发明实施例的数据包发送装置还包括:循环冗余校验码(Cyclic redundancy check,简称为CRC)校验模块,用于获取新数据包,对新数据包进行CRC校验,并将校验结果插入到新数据包中。
具体地,经过新调整之后的新数据包,为了保证数据内容传输的正确性和完整性,可选的加入16比特循环冗余校验码(Cyclic redundancy check 16bit,简称为CRC16)连续数据并行校验,校验结果在新数据包的帧尾处插入,当接收端接收新调整数据帧后按照规则进行校验即可判断传输帧的正确性;如果接收端不支持校验功能,不影响数据正常传输。
图4是本发明实施例的基于XGMII接口的数据包发送方法的工作原理的优选示意图,如图4所示,包括传输层数据源、宽带调整器流控模块(上述数据流量控制模块)、桶形环绕缓存器(上述缓存空间)、宽带调整器、CRC16校验装置(上述CRC校验模块)、以及XGMII接口。其中,桶形环绕缓存器机制实现对数据预存和缓冲;动态管理机制实现基于XGMII接口即将发送的数据包的调度、抽取;数据发送组包预处理机制根据对带宽的调整预先配置,重新合并、规整数据包,去除占用带宽的帧头信息、帧尾信息、帧间隔信息;数据发送机制根据XGMII接口标准重新组包发送新合并、规整后的数据包,在保留原始数据包的信息内容的基础上,极大的去除了占用带宽的无用信息,保证传输对带宽的利用率;同时为了保证新数据包的正确性,可选的采用标准的CRC16校验机制对整个新的数据包进行连续校验,并将校验码加入帧格式中,方便接收端校验传输正确性。
如图4所示,根据本发明实施例的基于XGMII接口的数据包发送方法具体包括如下处理:
步骤1、宽带调整器流控模块根据上一级系统接口(传输层数据源)的发送数据情况和本地流控状态情况,反馈传输就绪响应,并判断此时带宽调整器是否启动,如果启动方可开始接收上一级系统接口(传输层数据源)发送的数据包。
步骤2、通过宽带调整器流控模块之后的数据包,缓存控制机制根据当前桶形环绕缓存器的剩余空间状态来决定将原始数据帧存放到第几号缓存器中,此时缓存器为双向操作,不仅实现之前数据的抽取发送、回填,还实现新数据的填入保存。在发送端数据量非常大的情况下,此桶形环绕缓存器会不断的写入新的数据,与此同时根据当前的传输带宽来抽取数据,实时的组包发送。此情况下物理通道传输的带宽利用率为最高。数据包抽取到宽带调整器后,会自动反馈是否清除更新对应缓存下的数据,保证后续新数据的连续填入。优选地,在本发明实施例中,宽带调整器流控模块也可以直接获取桶形环绕缓存器的缓存情况,以确定是否清除更新对应缓存下的数据。
步骤3、到达宽带调整器的数据帧,会自动的完成原始数据帧的解包工作,将包边界格式和帧间隔剔除,保留有用的传输信息完成合并;数据帧一旦完成合并,会自动启动新数据信息的XGMII帧格式组包状态机,将合并的数据按照XGMII的帧边界和帧间隔要求组建成一笔大的数据帧进行发送。
在步骤3中,包括两种传输模式:正常带宽传输模式和调整带宽传输模式,如果设置为正常带宽传输模式,那么桶形环绕缓存器只存储数据包,宽带调整器从桶形环绕缓存器取出数据包后,不进行任何处理,直接采用正常带宽传输模式发送数据包。如果设置为调整带宽传输模式,则需要进行上述处理,发送合并规整后的新数据包。
步骤4、在进行新数据包组包发送的同时,可选开启进行CRC16连续数据并行校验,新的数据在组包发送的过程中,会同步进行CRC校验,连续校验的校验码结果将在帧尾处获得并插入到帧尾部分一同发送,当接收同采用相同的校验方式进行校验即可获得数据正确与否的信息。
步骤5、将组建好的XGMII标准帧格式数据与XGMII接口进行对接,通过XGMII接口发送组建好的XGMII标准帧格式数据,此部分支持异步跨时钟域处理部分,方便接口使用。
综上所述,借助于本发明实施例的技术方案,能够灵活可靠地应用在基于XGMII接口芯片间通信的环境中,通过本地桶形环绕缓存器机制为数据帧提供数据帧缓存库,使用带宽调整器流控模块和带宽调整器完成动态的数据帧帧格式的调整。有效提高了传输的带宽利用率,为芯片间通信提供了更优质的传输。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的基于XGMII接口的数据包发送装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (12)

1.一种数据包发送方法,其特征在于,包括:
接收上级接口发送的待发送数据包,将所述待发送数据包存储在预先设置的缓存空间中,并根据当前的传输带宽从所述缓存空间中抽取相应长度的数据包;
对抽取的所述数据包进行解析,将数据包帧边界格式和数据包帧间隔剔除,将保留下来的数据帧进行重新合并,并将合并后的数据帧按照发送接口规定的帧边界格式和帧间隔重新组建为一个新数据包;
将所述新数据包通过所述发送接口进行发送。
2.如权利要求1所述的方法,其特征在于,所述发送接口包括:XGMII接口、以及XAUI接口。
3.如权利要求1所述的方法,其特征在于,所述缓存空间中设置有按序号排列的多个缓存子空间;每个缓存子空间的缓存深度为所述上级接口允许发送所述待发送数据包的最大长度,或者,每个缓存子空间的缓存深度为预先规定的发送所述待发送数据包的最大长度。
4.如权利要求3所述的方法,其特征在于,将待发送数据包存储在预先设置的缓存空间中具体包括:
判断所述缓存空间中的多个缓存子空间的存储状态;
如果所述多个缓存子空间均已存储数据,则向所述上级接口发送流控指示,禁止所述上级接口继续发送数据;
如果所述多个缓存子空间中有至少一个缓存子空间未存储数据,则向所述上级接口发送传输就绪响应,并接收所述上级接口发送的待发送数据包,根据所述缓存空间中各个缓存子空间的空满状态,将接收的每个待发送数据包按照接收顺序分别存储到各个空闲的缓存子空间中;
根据当前的传输带宽从所述缓存空间中抽取相应长度的数据包具体包括:
根据当前的传输带宽,按照存储顺序从所述缓存空间的一个或多个相应缓存子空间中抽取出一个或多个总长度与所述当前的传输带宽相应的待发送数据包。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
将抽取的所述待发送数据包回填到所述缓存空间中的相应缓存子空间中;
将回填到所述缓存空间中的与所述已发送的新数据包相应的待发送数据包删除。
6.如权利要求1所述的方法,其特征在于,将所述新数据包通过所述发送接口进行发送之前,所述方法还包括:
获取所述新数据包,对所述新数据包进行循环冗余校验码CRC校验,并将校验结果插入到所述新数据包中。
7.如权利要求1所述的方法,其特征在于,所述当前的传输带宽为:
根据用户需要预先调整的传输带宽。
8.一种数据包发送装置,其特征在于,包括:
数据流量控制模块,用于接收上级接口发送的待发送数据包,并将所述待发送数据包存储在预先设置的缓存空间中;
缓存空间,用于存储待发送数据包;
带宽调整器,用于根据当前的传输带宽从所述缓存空间中抽取相应长度的数据包;对抽取的所述数据包进行解析,将数据包帧边界格式和数据包帧间隔剔除,将保留下来的数据帧进行重新合并,并将合并后的数据帧按照发送接口规定的帧边界格式和帧间隔重新组建为一个新数据包,将所述新数据包发送到所述发送接口;
所述发送接口,用于发送所述新数据包。
9.如权利要求8所述的装置,其特征在于,所述发送接口包括:XGMII接口、以及XAUI接口。
10.如权利要求8所述的装置,其特征在于,
所述缓存空间中设置有按序号排列的多个缓存子空间;每个缓存子空间的缓存深度为所述上级接口允许发送所述待发送数据包的最大长度,或者,每个缓存子空间的缓存深度为预先规定的发送所述待发送数据包的最大长度;
所述当前的传输带宽为:根据用户需要预先调整的传输带宽。
11.如权利要求10所述的装置,其特征在于,
所述数据流量控制模块还用于:判断所述缓存空间中的多个缓存子空间的存储状态;如果所述多个缓存子空间均已存储数据,则向所述上级接口发送流控指示,禁止所述上级接口继续发送数据;如果所述多个缓存子空间中有至少一个缓存子空间未存储数据,则向所述上级接口发送传输就绪响应,并接收所述上级接口发送的待发送数据包,根据所述缓存空间中各个缓存子空间的空满状态,将接收的每个待发送数据包按照接收顺序分别存储到各个空闲的缓存子空间中;
所述带宽调整器具体用于:根据当前的传输带宽,按照存储顺序从所述缓存空间的一个或多个相应缓存子空间中抽取出一个或多个总长度与所述当前的传输带宽相应的待发送数据包;
所述带宽调整器还包括:
回填模块,用于将抽取的所述待发送数据包回填到所述缓存空间中的相应缓存子空间中;
删除模块,用于将回填到所述缓存空间中的与所述已发送的新数据包相应的待发送数据包删除。
12.如权利要求8所述的装置,其特征在于,所述装置还包括:
循环冗余校验码CRC校验模块,用于获取所述新数据包,对所述新数据包进行CRC校验,并将校验结果插入到所述新数据包中。
CN201210336313.5A 2012-09-12 2012-09-12 数据包发送方法及装置 Active CN103685060B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210336313.5A CN103685060B (zh) 2012-09-12 2012-09-12 数据包发送方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210336313.5A CN103685060B (zh) 2012-09-12 2012-09-12 数据包发送方法及装置

Publications (2)

Publication Number Publication Date
CN103685060A true CN103685060A (zh) 2014-03-26
CN103685060B CN103685060B (zh) 2016-12-28

Family

ID=50321414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210336313.5A Active CN103685060B (zh) 2012-09-12 2012-09-12 数据包发送方法及装置

Country Status (1)

Country Link
CN (1) CN103685060B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104023037A (zh) * 2014-07-02 2014-09-03 浪潮集团有限公司 一种低系统开销的rapidio数据传输方法
CN108833033A (zh) * 2018-06-07 2018-11-16 Oppo广东移动通信有限公司 射频校准参数的确定方法、装置、存储介质及移动终端
WO2018214856A1 (zh) * 2017-05-25 2018-11-29 中兴通讯股份有限公司 一种数据处理的方法和设备
CN109587085A (zh) * 2018-12-29 2019-04-05 深圳市网心科技有限公司 一种数据传输方法及其相关设备
CN111679998A (zh) * 2020-06-03 2020-09-18 上海兆芯集成电路有限公司 多芯片系统及其数据传输方法
CN112637027A (zh) * 2020-12-22 2021-04-09 北京神经元网络技术有限公司 基于uart的帧边界界定装置及发送方法和接收方法
CN114124850A (zh) * 2022-01-26 2022-03-01 浙江宇视系统技术有限公司 一种网络通信方法及装置、存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039254A (zh) * 2006-03-15 2007-09-19 联想(北京)有限公司 一种媒体数据重组方法以及组包服务器
CN101159727A (zh) * 2007-11-15 2008-04-09 中兴通讯股份有限公司 一种iq数据传输装置和方法
CN101193041A (zh) * 2006-11-28 2008-06-04 华为技术有限公司 网络数据传输的方法、装置及系统
CN101515841A (zh) * 2009-04-03 2009-08-26 华为技术有限公司 一种基于RapidIO协议的数据包传输的方法、设备和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039254A (zh) * 2006-03-15 2007-09-19 联想(北京)有限公司 一种媒体数据重组方法以及组包服务器
CN101193041A (zh) * 2006-11-28 2008-06-04 华为技术有限公司 网络数据传输的方法、装置及系统
CN101159727A (zh) * 2007-11-15 2008-04-09 中兴通讯股份有限公司 一种iq数据传输装置和方法
CN101515841A (zh) * 2009-04-03 2009-08-26 华为技术有限公司 一种基于RapidIO协议的数据包传输的方法、设备和系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104023037A (zh) * 2014-07-02 2014-09-03 浪潮集团有限公司 一种低系统开销的rapidio数据传输方法
WO2018214856A1 (zh) * 2017-05-25 2018-11-29 中兴通讯股份有限公司 一种数据处理的方法和设备
CN108833033A (zh) * 2018-06-07 2018-11-16 Oppo广东移动通信有限公司 射频校准参数的确定方法、装置、存储介质及移动终端
CN108833033B (zh) * 2018-06-07 2021-03-02 Oppo广东移动通信有限公司 射频校准参数的确定方法、装置、存储介质及移动终端
CN109587085A (zh) * 2018-12-29 2019-04-05 深圳市网心科技有限公司 一种数据传输方法及其相关设备
CN111679998A (zh) * 2020-06-03 2020-09-18 上海兆芯集成电路有限公司 多芯片系统及其数据传输方法
CN111679998B (zh) * 2020-06-03 2023-07-25 上海兆芯集成电路股份有限公司 多芯片系统及其数据传输方法
CN112637027A (zh) * 2020-12-22 2021-04-09 北京神经元网络技术有限公司 基于uart的帧边界界定装置及发送方法和接收方法
CN114124850A (zh) * 2022-01-26 2022-03-01 浙江宇视系统技术有限公司 一种网络通信方法及装置、存储介质

Also Published As

Publication number Publication date
CN103685060B (zh) 2016-12-28

Similar Documents

Publication Publication Date Title
CN103685060A (zh) 数据包发送方法及装置
CN109426636B (zh) 一种fpga片间高位宽数据传输的方法及装置
CN101325090B (zh) 通过使循环冗余码线路相对于数据线路偏移改善等待时间
CN103098410A (zh) 提高混合自动重复请求(harq)吞吐量
CN104954271A (zh) Sdn网络中的数据包处理方法和装置
CN101485152A (zh) 用于高性能捆绑重排序的方法、系统及计算机程序产品
CN105337991A (zh) 一种一体化的报文流查找与更新方法
CN104092717A (zh) 消息处理方法及系统、消息目的端设备与分布式消息系统
US20210089492A1 (en) Rdma data sending and receiving methods, electronic device, and readable storage medium
CN104866454A (zh) 面向板级高速总线的写报文前瞻处理方法及装置
CN103188059A (zh) 快速通道互联系统中数据包重传方法、装置和系统
US10637509B2 (en) Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same
CN108235382A (zh) 一种传输速率调整的方法、节点设备以及服务器
CN105164960A (zh) 通过组合调步和前向纠错来降低重传时延
CN110868458B (zh) 一种用于稳定控制系统的通信方法及装置
US9075922B2 (en) Apparatus and method for decoding data transmissions
CN109728853B (zh) 一种数据处理的方法、设备及存储介质
CN104486442A (zh) 分布式存储系统的数据传输方法、装置
CN106533976A (zh) 一种数据包处理方法及装置
CN101771554A (zh) 一种余度管理电路及其管理方法
US10848263B2 (en) Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same
CN103634229A (zh) 一种片间通讯方法及控制装置
CN103442091A (zh) 一种数据传输方法及装置
WO2022111326A1 (zh) 一种数据传输方法、装置、电子设备和存储介质
US20160085683A1 (en) Data receiving device and data receiving method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20151105

Address after: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice

Applicant after: ZTE Corp.

Applicant after: SANECHIPS TECHNOLOGY Co.,Ltd.

Address before: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice

Applicant before: ZTE Corp.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221201

Address after: 518055 Zhongxing Industrial Park, Liuxian Avenue, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: SANECHIPS TECHNOLOGY Co.,Ltd.

Address before: 518057 Ministry of justice, Zhongxing building, South Science and technology road, Nanshan District hi tech Industrial Park, Shenzhen, Guangdong

Patentee before: ZTE Corp.

Patentee before: SANECHIPS TECHNOLOGY Co.,Ltd.