链路数据保护的方法和装置的制造方法_2

文档序号:9250889阅读:来源:国知局
包。
[0027]链路数据保护的方法,还包括:发送板卡和接收板卡采用同源时钟。当数据板卡之间采用高速链路时,发送板卡和接收板卡使用同源时钟会大大减少链路的时钟偏移(skew),从而提高板卡体系的稳定性。
[0028]链路数据保护的方法,由数据板卡(该数据板卡在某些情况下是发送板卡,在某些情况下是接收板卡)的不同功能模块来实现。因此,把包括数据板卡的装置称为链路数据保护的装置。
[0029]链路数据保护的装置,包括数据板卡,数据板卡包括发送存储单元、发送仲裁单元、校验产生单元、校验确认单元、接收选择单元、接收存储单元及控制单元。
[0030]发送存储单元用于接收并存储数据包,将主数据包发送给发送仲裁单元,还用于根据从控制单元获得的通知删除或重新发送相应的主数据包,还用于根据从控制单元获得的通知重新发送所有未收到对应验证包的主数据包。
[0031]发送仲裁单元用于将从发送存储单元接收的主数据包和从控制单元接收的验证包发送给校验产生单元,并对两种数据包的发送顺序进行仲裁,优先发送验证包。
[0032]校验产生单元用于对收到的数据包进行校验计算得到校验值,并将校验值和序号、标识附带在的数据包中发送到链路上。
[0033]校验确认单元用于从链路接收数据包并解包,将包内的序号、标识分解出来,并对收到的数据包进行校验计算得到校验值,将数据包、序号、标识及计算得到的校验值一并发送给接收选择单元。
[0034]接收选择单元用于从校验确认单元接收数据包,根据标识区分收到的数据包是主数据包还是验证包,将主数据包发送给接收存储单元而将验证包发送给控制单元。
[0035]接收存储单元用于判断从接收选择单元收到的主数据包的序号是否与序号生成规则一致以及校验确认单元计算得到的校验值与主数据包中附带的校验值是否一致,进行相应的处理。如果主数据包的序号与序号生成规则不一致,则丢弃该主数据包。如果主数据包的序号与序号生成规则一致但计算得到的校验值与主数据包中附带的校验值不一致,则丢弃该主数据包并通知控制单元生成显示验证错误的验证包。如果主数据包的序号与序号生成规则一致且计算得到的校验值与主数据包中附带的校验值一致,则存储该主数据包,发送,并通知控制单元生成显示验证正确的验证包。
[0036]控制单元用于根据接收存储单元的通知生成验证包,并将验证包发送给发送仲裁单元。还用于从接收选择单元接收验证包,根据验证包通知发送存储单元删除或重新发送相应的主数据包。还用于未收到验证包达到一定时间后,通知发送存储单元重新发送所有未收到对应验证包的主数据包。
[0037]由于“链路数据保护的方法”和“链路数据保护的装置”具有明确的对应关系,为了避免不必要的重复,“链路数据保护的方法”和“链路数据保护的装置”的描述中都进行了一定的省略。通过比较“链路数据保护的方法”和“链路数据保护的装置”的描述,本领域技术人员能够对被省略的内容有清晰、完整的认识。
[0038]在“链路数据保护的装置”部分的描述中,“包括”、“用于”等词语应按照开放式表达方式理解。例如,数据板卡,之前已经给出了本发明所述的数据板卡的涵义。数据板卡包括发送存储单元、发送仲裁单元、校验产生单元、校验确认单元、接收选择单元、接收存储单元及控制单元,应理解为数据板卡含有以上功能模块,但不一定只有以上这些模块。数据板卡实现其完整功能,除了本发明说明书中描述的模块,通常还需要其他功能模块,本领域技术人员通过现有技术或公知常识,完全可以实现其他模块,故本发明说明书中不再赘述。
[0039]本发明技术方案在硬件层面实现了链路数据的保护,保障了数据传输的正确性。对于板卡而言,只要数据发出,就可以认为能够正确到达。本发明技术方案保证了不会因为链路上的某些异常情况造成数据传输错误,也不需要上层软件参与数据错误处理、重新传送数据等管理,有效减少了上层软件的压力。
【附图说明】
[0040]图1为本发明具体实施方案中TRAY板和SET板链路关系的示意图。图中的FMDT指用于数据传输的功能模块(Funct1nal Module for Data Transmiss1n),包括发送存储单元、发送仲裁单元、校验产生单元、校验确认单元、接收选择单元、接收存储单元及控制单J L.ο
[0041]图2为本发明具体实施方案中校验包的一个实例。图中的Pkt_sign表示数据包的标识,Seq num表示数据包的序号,Keep info表示keep信息,Crc result表示crcl6算法计算得到的校验值,reserve表示预留位(如果不使用则设置为O)。
[0042]图3为本发明具体实施方案中对等存储结构设计的示意图。图中的packet表示主数据包或原始数据包,packet后面的数字0、1、2、……、η表示数据包的序号。
[0043]图4为本发明具体实施方案中TRAY板或SET板上用于数据传输的功能模块的示意图。
【具体实施方式】
[0044]下面对本发明的实施方式进行进一步的具体说明。但应注意,本发明的范围并不局限于所描述的具体实施方案。任何对所描述的具体实施方案中的技术要素进行相同或等同替换获得的技术方案或本领域技术人员在所描述的具体实施方案的基础上不经过创造性劳动就可以获得的技术方案,都应当视为落入本发明的保护范围。
[0045]在存储技术领域实现本发明的具体实施方案。本发明具体实施方案中涉及的数据板卡包括TRAY板和SET板。TRAY板执行FTL (flash translat1n layer,将闪存模拟成虚拟设备的中间层)功能,与上层软件进行数据交换。SET板与闪存(如Nand-fIash等)进行数据交换。TRAY与SET板卡之间数据交换使用高速serdes链路,TRAY和SET板卡上使用标准axi4-stream通信协议。TRAY板和SET板的链路关系如图1所示。TRAY板和SET板都通过集成电路即硬件的方式来构建。
[0046]TRAY板和SET板在工作过程中都既作为发送板卡又作为接收板卡使用。TRAY板和SET板之间的数据传输(某一板卡发送数据,另一板卡接收数据的过程)会存在不同的情况。下面以TRAY板将上层软件的存储服务请求(最常见的存储服务请求是数据读写请求,即1请求)发送给SET板(之后再由SET板发送给闪存)为例,说明数据传输中的不同情况及相应的处理方法。在这个例子中,TRAY板是发送板卡,SET板是接收板卡。
[0047]情况一:链路工作正常,主数据包无任何错误。此情况下的工作流程为:
[0048]I) TRAY板接收上层软件发送的原始数据包,存储,给该原始数据包设置标识和序号,记录指向该原始数据包在TRAY板上存储位置的指针。
[0049]2)根据校验算法计算该原始数据包的校验值。
[0050]3)将原始数据包和标识、序号及校验值等信息打包成主数据包,发到serdes链路上。(由于标准aXi4-stream通信协议定义的原始数据包没有标识、序号、校验值等信息,因此要把这些信息进行打包。)
[0051]4) SET板收到TRAY板发送的数据包后进行解包,将数据包中的标识和序号分解出来,通过标识识别出该数据包为主数据包,计算主数据包的校验值。
[0052]5) SET板验证收到的主数据包的序号和校验值。如果链路工作正常,主数据包无任何错误,则主数据包的序号与序号生成规则一致,对主数据包数据计算得到的校验值与主数据包中附带的校验值一致。SET板将验证无误的主数据包存储,生成显示验证正确的验证包(这里称为ack包)发送给TRAY板。
[0053]6) TRAY板收到ack包后进行解包,通过标识识别出该数据包为验证包。TRAY板根据ack包获知SET板已经准确无误的收到了主数据包,删除自己存储的该主数据包以释放其占用的存储空间。
[0054]情况二:主数据包出现bit error ο此情况下的工作流程为:
[0055]I)一4)与情况一相同。
[0056]5) SET板验证收到的主数据包的序号和校验值。如果主数据包存在比特错误,则主数据包的序号与序号生成规则一致,但对主数据包数据计算得到的校验值与主数据包中附带的校验值不一致。SET板将收到的该主数据包丢弃,生成显示验证错误的验证包(这里称为nak包)发送给TRAY板。
[0057]6) TRAY板收到nak包后进行解包,通过标识识别出该数据包为验证包。TRAY板根据nak包获知SET板收到的主数据包发生了 bit eiror,则利
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1