链路数据保护的方法和装置制造方法及图纸

技术编号:12168227 阅读:108 留言:0更新日期:2015-10-08 02:34
本发明专利技术提供链路数据保护的方法和装置。链路数据保护的方法,包括发送板卡发送附带序号和校验值的主数据包,接收板卡验证收到的主数据包的序号和校验值,根据验证结果进行处理。链路数据保护的装置,包括发送存储单元、发送仲裁单元、校验产生单元、校验确认单元、接收选择单元、接收存储单元及控制单元。本发明专利技术在硬件层面实现了链路数据的保护,保障了数据传输的正确性,不会因为链路上的某些异常情况造成数据传输错误,也不需要上层软件参与数据错误处理、重新传送数据等管理,有效减少了上层软件的压力。

【技术实现步骤摘要】

本专利技术属于信息
,具体说涉及一种链路数据保护的方法和装置
技术介绍
在信息技术的诸多领域里,数据板卡之间的高速通信越来越常见。例如,在存储
,为云计算服务的存储设备,为了追求卓越的性能往往使用闪存进行数据存储,在负责网络处理的板卡和负责数据存储的板卡之间会存在大量的数据通信。板卡之间的通信常使用高速serdes (英文serializer(串行器)/deserializer (解串器)的合并简称)链路。高速serdes链路传输数据容易存在传输错误、接收方对数据流量不可预知、链路异常等问题,因此保证链路传输的正确性显得非常重要。通常高速serdes链路只负责传输数据,并不保证数据正确,也不会在板卡之间出现数据拥堵时及时控制链路上的数据流量,更无法在链路出现异常时保证数据不丢失。在存储
,如果出现数据包错误、数据包丢失或硬件设备受到干扰失灵等问题,会对存储请求造成致命影响。为了防止这样的问题出现,确保正确的数据传输,一般在上层软件层面对数据包进行标识、校验,数据流量过大时直接丢弃处理,然后发送请求消息,要求数据板卡重新传输。这样实际上是由上层系统来保证数据的正确性,会增加上层系统的数据处理及数据存储压力,另外还会导致整个数据通路延长,保障的风险加大。在说明书“
技术介绍
”部分公开的内容,有助于本领域技术人员理解本专利技术的技术方案,但不应据此认为这些内容一定属于现有技术或公知常识。
技术实现思路
本专利技术提供一种链路数据保护的方法,该方法与数据板卡相关。本专利技术所述的数据板卡,泛指能够传输数据(即发送或接收数据)的设备或装置。数据板卡为了实现传输数据的功能,相应的也要具备一定的数据处理、数据存储等其他功能。数据板卡之间传输数据时需要建立链路,处于链路上的正在发送或接收过程中的数据可以称为链路数据。数据板卡之间传输数据要遵照一定的通信协议。通信协议往往将数据分割为数据包,以数据包作为发送或接收数据的最小单位。数据板卡一般通过集成电路即硬件的方式实现,如果有必要也可以使用软件来虚拟数据板卡。本专利技术涉及到发送板卡和接收板卡,这两个概念是相对于某数据的发送或接收过程而言的,是相对而非是绝对的概念。例如,数据板卡a将数据A发送给数据板卡b,同时从数据板卡c接收数据B,则数据板卡a相对于数据A和数据板卡b而言是发送板卡,相对于数据B和数据板卡c而言是接收板卡。链路数据保护的方法,包括:发送板卡发送附带序号和校验值的主数据包,接收板卡验证收到的主数据包的序号和校验值,根据验证结果进行处理。本专利技术所涉及的数据包,包括主数据包和验证包。数据板卡传输的数据包中,一类数据包是由根据数据板卡的功能设计“真正需要”发送或接收的数据形成的,这类数据包称为主数据包;而另一类数据包只是用来反馈主数据包是否传输成功,这类数据包称为验证包。本专利技术所述的发送板卡和接收板卡,基于主数据包进行定义,发送主数据包的板卡为发送板卡,接收主数据包的板卡为接收板卡。为了区别某个数据包是主数据包还是验证包,数据板卡为数据包设置了一个标识,本专利技术涉及的所有数据包都带有标识。主数据包的序号,指为了验证主数据包是否传输成功而设置的数值。主数据包的序号最常见的生成规则是发送板卡发送的第一个主数据包的序号设为0,之后依次发送的主数据包的序号逐次增加I。校验值,指对数据包中的数据进行校验计算后产生的数值。目前已经公开了非常多的数据校验算法,如crcl6算法。发送板卡发送主数据包时进行一次校验计算得到校验值,将该校验值附带在主数据包中,接收板卡收到主数据包后再进行一次检验计算得到校验值,比较该校验值与主数据包中附带的校验值是否一致就可以得知主数据包中的数据在传输过程中是否发生了错误。对于验证包,为了保证其数据的正确性,验证包也应附带校验值,校验值的生成方法及验证包的校验方法与主数据包相同。由于验证包是为了反馈主数据包是否传输成功,验证包不需要独立的序号,附带由其反馈信息的主数据包(即对应的主数据包)的序号即可,其对应的主数据包的序号也可以视为验证包的序号。上述“根据验证结果进行处理”,包括如下几种处理方法:如果接收板卡收到的主数据包的序号与序号生成规则一致,对主数据包数据计算得到的校验值与主数据包中附带的校验值一致,则接收板卡存储该主数据包并向发送板卡发送显示验证正确的验证包。这种情况意味着主数据包中的数据正确,链路在数据传输过程中不存在错误,发送板卡向接收板卡发送数据包的过程将持续下去。如果接收板卡收到的主数据包的序号与序号生成规则一致,对主数据包数据计算得到的校验值与主数据包中附带的校验值不一致,则接收板卡丢弃该主数据包并向发送板卡发送显示验证错误的验证包。这种情况意味着主数据包在传输过程中不存在异常丢包,但主数据包中的数据产生了错误(这种错误可以称为比特错误,bit eiror)。发送板卡收到显示验证错误的验证包后,向接收板卡重新发送该主数据包。如果接收板卡收到的主数据包的序号与序号生成规则不一致,则接收板卡丢弃该主数据包,不向发送板卡发送任何验证包。这种情况意味着主数据包在传输过程中存在异常丢包。发送板卡未收到验证包达到一定时间后,将所有未收到对应验证包的主数据包重新向接收板卡发送(这称为timeout 机制)。除了上面几种情况外,链路还可能出现非正常断开、重新连接等异常情况,这会导致主数据包和验证包产生其他问题。这时相应的处理方法包括:如果对验证包数据计算得到的校验值与验证包中附带的校验值不一致,发送板卡视为未收到验证包。数据传输过程中,主数据包可能产生比特错误,验证包同样可能产生比特错误。发送板卡收到验证包后也需要再计算一次校验值,如果对验证包数据计算得到的校验值与验证包中附带的校验值不一致,表明验证包中的数据产生了比特错误,此时发送板卡将该验证包直接丢弃,视为未收到验证包。这样处理,发送板卡可以启动timeout机制,保证主数据包的传输不存在问题。如果接收板卡在收到某个主数据包并向发送板卡发送显示验证正确的验证包后又收到该主数据包,则丢弃后收到的该主数据包。出现这种情况表明验证包出现了丢包,发送板卡不知道接收板卡已经收到了正确的主数据包,通过timeout机制重新发送。此时接收板卡将后面又收到的该主数据包直接丢弃即可。链路数据保护的方法,还包括:发送板卡主数据包的存储空间和接收板卡主数据包的存储空间相等。发送板卡在发送主数据包后未收到接收板卡对应的显示验证正确的验证包前,不删除该主数据包。数据板卡之间发送或接收数据,应当实施必要的数据流量控制,特别是当数据板卡之间采用高速链路时。高速链路往往默认数据只要发出对方就可以接收,不进行数据流量控制会严重影响数据传输的安全性。如前所述,数据板卡也具有数据存储的功能,将发送板卡主数据包的存储空间和接收板卡主数据包的存储空间设计为相等,实现了发送数据和接收数据的对等,不会出现发送板卡发送的主数据包过多,接收板卡无法接收只能丢弃的情况。同时,发送板卡在发送主数据包后未收到接收板卡对应的显示验证正确的验证包前,不删除该主数据包释放其存储空间,这样进一步使得接收板卡未能正确接收主数据包时发送板卡因存储空间的限制无法继续大量发送主数据包,实现了对数据流量的控制,保证了链路的运行效率。链路数本文档来自技高网...

【技术保护点】
链路数据保护的方法,其特征在于,所述的方法包括:发送板卡发送附带序号和校验值的主数据包,接收板卡验证收到的主数据包的序号和校验值,根据验证结果进行处理。

【技术特征摘要】

【专利技术属性】
技术研发人员:郑伟王煜华丁杰周文
申请(专利权)人:北京麓柏科技有限公司
类型:发明
国别省市:北京;11

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

1