[发明专利]实现数据包重发的方法、装置及系统有效
申请号: | 200910169434.3 | 申请日: | 2009-09-09 |
公开(公告)号: | CN101645766A | 公开(公告)日: | 2010-02-10 |
发明(设计)人: | 张陈怡;刘昕 | 申请(专利权)人: | 成都市华为赛门铁克科技有限公司 |
主分类号: | H04L1/18 | 分类号: | H04L1/18;H04L29/06 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) | 代理人: | 彭愿洁;李文红 |
地址: | 611731四川省*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 数据包 重发 方法 装置 系统 | ||
技术领域
本发明涉及通信技术领域,特别是涉及实现数据包重发的方法、装置及系 统。
背景技术
PCIE(Peripheral Component Interconnect-Express,增强型外设组件 互连标准)是一种高速、高可靠性的传输协议,在存储系统中得到广泛的应用。 从协议本身来看,高可靠性的本质,是通过ACK/NAK的传输机制来保证的。
PCIE传输协议分为三层:设备层、数据链路层、物理层,ACK/NAK协议是 在数据链路层以DLLP(Data Link Layer Packet,数据链路层传输的数据包) 的形式体现的。
发送端的数据链路层,有一个序列号发生器,用于为每个需要发送的TLP (Transaction Layer Packet,处理层协议包)包顺序产生一个序列号。接收 端有一个NEXT_RCV_SEQ计数器,用于顺序跟踪下一个应该收到TLP包的序列 号,接收端每接收到一个正确的TLP包,该计数器增加1,以此来保证发送端 的发送顺序的一致性。如果接收的TLP包出现错误,计数器维持不变,并丢弃 该序列号之后的所有TLP包,不管后来的数据包是否正确,然后等待该序列号 以后的TLP包重发。
但是,本发明人在实现本发明的过程中发现,因接收的TLP包出现错误而 丢弃该序列号之后的所有TLP包,不管后来的数据包是否正确,造成了链路带 宽的浪费。并且,在高IOPS(I/O per second,每秒进行输入/输出的次数) 情况下,链路上可能同时存在多个TLP包,如果首个TLP包出错后,按照现有 技术的重发方法,会导致途中全部TLP都需要重发。另外,当系统受到静电干 扰、传导干扰或者辐射干扰时,传输的数据会出现间隔性的出错,如此频繁地 重发冗余的TLP包,会导致的浪费将更加严重,降低了链路的有效使用率。
发明内容
本发明提供实现数据包重发的方法、装置及系统,能够减少不必要的链路 重发,提高链路的有效使用率。
为实现上述目的,本发明提供了如下方案:
一种实现数据包重发的方法,包括:
接收到第一个带有数据包标识的接收错误响应消息时,进入重发模式,继 续接收针对发送缓冲区中已发送数据包分别返回的响应消息;
接收到发送缓冲区中已发送的全部数据包的响应消息后,根据所述响应消 息的类型及携带的数据包标识确定发生接收错误的数据包,重发所述发生接收 错误的数据包。
一种实现数据包重发的方法,包括:
当发现数据包错误时,返回带有该数据包标识的接收错误响应消息;进入 等待重发模式,继续完成对其他已接收数据包的校验;针对接收缓冲区内其他 各数据包,分别返回带有数据包标识的响应消息,其中,如果数据包接收正确, 则返回带有数据包标识的接收正确响应消息,如果数据包接收错误,则返回带 有数据包标识的接收错误响应消息;
接收重发的发生接收错误的数据包,校验正确后,将所述重发的数据包按 照序列号顺序插入到接收缓冲区对应的位置。
一种实现数据包重发的装置,位于发送端,包括:
消息接收单元,用于接收到第一个带有数据包标识的接收错误响应消息 时,进入重发模式,继续接收针对发送缓冲区中已发送数据包所返回的响应消 息;
数据包重发单元,用于根据所述响应消息的类型及携带的数据包标识确定 发生接收错误的数据包,重发所述发生接收错误的数据包。
一种实现数据包重发的装置,位于接收端,包括:
消息发送单元,用于当发现数据包错误时,返回带有该数据包标识的接收 错误响应消息;进入等待重发模式,继续完成对其他已接收数据包的校验;针 对接收缓冲区内其他各数据包,分别返回带有数据包标识的响应消息,其中, 如果数据包接收正确,则返回带有数据包标识的接收正确响应消息,如果数据 包接收错误,则返回带有数据包标识的接收错误响应消息;
重发数据包接收单元,用于接收重发的发生接收错误的数据包,校验正确 后,将所述重发的数据包按照序列号顺序插入到接收缓冲区对应的位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都市华为赛门铁克科技有限公司,未经成都市华为赛门铁克科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910169434.3/2.html,转载请声明来源钻瓜专利网。