CN108988990A - 一种处理链路层数据错误的方法 - Google Patents

一种处理链路层数据错误的方法 Download PDF

Info

Publication number
CN108988990A
CN108988990A CN201810729580.6A CN201810729580A CN108988990A CN 108988990 A CN108988990 A CN 108988990A CN 201810729580 A CN201810729580 A CN 201810729580A CN 108988990 A CN108988990 A CN 108988990A
Authority
CN
China
Prior art keywords
data
bit
link layer
ecc
layer data
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.)
Pending
Application number
CN201810729580.6A
Other languages
English (en)
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201810729580.6A priority Critical patent/CN108988990A/zh
Publication of CN108988990A publication Critical patent/CN108988990A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明实施例公开了一种处理链路层数据错误的方法,所述方法包括S1,将传输数据进行ecc编码,得到带有r个校验位的ecc数据并发送;S2,获取所述ecc数据,分别校验r个校验位,得到r个矫正因子,根据矫正因子的值判断链路层数据错误是否可纠正;S3,将可纠正情况下对应错误校验位的值取反进行纠错,将不可纠正情况下的ecc数据进行重传。本发明将传输数据进行ecc编码并校验,根据校正因子判断链路层数据错误是否可纠正,在可纠正的情况下直接对数据进行纠正,无需重传,提高链路的有效带宽。

Description

一种处理链路层数据错误的方法
技术领域
本发明涉及计算机通信技术领域,具体地说是一种处理链路层数据错误的方法。
背景技术
随着计算机性能的逐步提高,计算机串行总线的应用越来越广泛,串行总线保证了链路层传输数据的正确性。
在现有技术中,通过crc(Cyclic Redundancy Check,循环冗余校验)校验重传方式保证数据完整性。具体操作为发送端在发送数据的同时携带crc编码,接收端通过crc校验检查数据是否有错误,如发现错误,则进行重传。
当传输通道出现1bit(bit,binary digit,意思为“比特”,是表示信息的最小单位)错误时,需要整个数据进行重传,导致链路有效带宽下降,影响数据传输速率。
发明内容
本发明实施例中提供了一种处理链路层数据错误的方法,以解决现有技术中传输通道出现错误,导致链路有效带宽下降的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
本发明提供了一种处理链路层数据错误的方法,包括以下步骤:
S1,将传输数据进行ecc(Error Correcting Code,错误检查代码)编码,得到带有r个校验位的ecc数据并发送;
S2,获取所述ecc数据,分别校验r个校验位,得到r个矫正因子,根据矫正因子的值判断链路层数据错误是否可纠正;
S3,将可纠正情况下对应错误校验位的值取反进行纠错,将不可纠正情况下的ecc数据进行重传。
进一步地,所述方法还包括
在可纠正情况下,根据被纠正校验位所处的比特位映射串行通道,定位低质量传输通道。
进一步地,步骤S1还包括
将ecc数据保存在重传缓存中。
进一步地,将传输数据进行ecc编码的具体过程为:
S11,根据传输数据位数k及关系式k+r≤2r-1,确定校验码位数r;
S12,将校验位分别安排在2i码位上,信息位依次设置在非2i码位上;
S13,将k+r位汉明码ecc分为r组,每组包含一位校验位,校验位与本组内信息位构成偶校验关系,计算校验位的值;
S14,将校验位和信息位按照步骤S12的规则进行排列,得到ecc数据。
进一步地,步骤S13中分组规则为:
根据S13的规则,确定每个校验位所在的码位j;
从该组校验位所在的码位开始,重复进行连续校验j个码位,然后跳过j个码位,得到每组的数据。
进一步地,将每组的数据进行异或逻辑运算,运算结果记为矫正因子。
进一步地,所述根据矫正因子的值判断链路层数据错误是否可纠正的具体过程为:
若矫正因子均为0,则不存在传输错误,无需纠错;
若矫正因子仅有一个为1,则链路层数据错误可纠正;
若矫正因子有两个或两个以上为1,则链路层数据错误不可纠正。
进一步地,将不可纠正情况下的ecc数据进行重传的具体过程为:
向ecc数据发送端返回nack数据;
从重传缓存中获取ecc数据,重新发送。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
1、将传输数据进行ecc编码并校验,根据校正因子判断链路层数据错误是否可纠正,在可纠正的情况下直接对数据进行纠正,无需重传,提高链路的有效带宽和数据传输速率。
2、根据被纠正校验位所处的比特位定位低质量串行传输通道,简单快速,保证数据传输的正确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明所述方法实施例1的流程示意图;
图2是本发明所述方法实施例中步骤S1的流程示意图;
图3是本发明所述方法实施例2的流程示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例
如图1所示,本实施例处理链路层数据错误的方法,包括以下步骤:
S1,将传输数据进行ecc编码,得到带有r个校验位的ecc数据,有发送端将ecc数据发送;
如图2所示,将传输数据进行ecc编码的具体过程为:
S11,根据传输数据位数k及关系式k+r≤2r-1,确定校验码位数r;
如传输的数据位数k=5,要求2r-r≥5+1=6,则r的最小取值为4,也就是要校验5位信息位(数据位),则要插入4位校验码。如果信息位是8位,则要求2r-r≥8+1=9,根据计算可以得知r的最小值也为4。
S12,将校验位分别安排在2i码位上,信息位依次设置在非2i码位上;
i的取值为0,1,2,3……r-1,在传输的数据位数k=8时,将信息位记为b1、b2、b3、b4、b5、b6、b7、b8;校验位记为p1、p2、p3、p4,p1、p2、p3、p4依次安排在20、21、22、23。根据安排规则,形成的ecc编码为p1、p2、b1、p3、b2、b3、b4、p4、b5、b6、b7、b8。
S13,将k+r位汉明码ecc分为r组,每组包含一位校验位,校验位与本组内信息位构成偶校验关系,计算校验位的值;
分组规则为根据S13的规则,确定每个校验位所在的码位j,j=2i
从该组校验位所在的码位开始,重复进行连续校验j个码位,然后跳过j个码位,直至找不到下一个信息位,最终得到每组的数据。
依然以k=8为例,分为以下四组,并分别计算每组中校验位的值:
p1(第1个校验位,也是整个码字的第1位,j=1)的校验规则是:从当前位数起,校验1位,然后跳过1位,再校验1位,再跳过1位,……。这样就可得出p1校验码位可以校验的码字位(即p1校验位所在的分组)包括:第1位(也就是p1本身)、第3位、第5位、第7位、第9位、第11位、第13位、第15位,……。然后采用偶校验(或奇校验),确定校验位p1的值。
p2(第2个校验位,也是整个码字的第2位,j=2)的校验规则是:从当前位数起,连续校验2位,然后跳过2位,再连续校验2位,再跳过2位,……。这样就可得出p2校验码位可以校验的码字位包括:第2位(也就是p2本身)、第3位,第6位、第7位,第10位、第11位,第14位、第15位,……。同样采用偶校验(或奇校验),确定校验位p2的值。
p3(第3个校验位,也是整个码字的第4位,j=4)的校验规则是:从当前位数起,连续校验4位,然后跳过4位,再连续校验4位,再跳过4位,……。这样就可得出p4校验码位可以校验的码字位包括:第4位(也就是p4本身)、第5位、第6位、第7位,第12位、第13位、第14位、第15位,第20位、第21位、第22位、第23位,……。同样采用偶校验(或奇校验),确定校验位p1的值。
p4(第4个校验位,也是整个码字的第8位,j=8)的校验规则是:从当前位数起,连续校验8位,然后跳过8位,再连续校验8位,再跳过8位,……。这样就可得出p4校验码位可以校验的码字位包括:第8位(也就是p4本身)、第9位、第10位、第11位、第12位、第13位、第14位、第15位,第24位、第25位、第26位、第27位、第28位、第29位、第30位、第31位,……。同样采用偶校验(或奇校验),确定该校验位p4的值。
S14,将校验位和信息位按照步骤S12的规则进行排列,得到ecc数据。
将步骤S13计算得到的校验位的值和传输数据所在信息位的值,按照步骤S12的安排规则进行排列,得到ecc数据,如111000111101。
S2,获取ecc数据,分别校验r个校验位,得到r个矫正因子,根据矫正因子的值判断链路层数据错误是否可纠正;
接收端获取ecc数据,将每组的数据进行异或逻辑运算,运算结果记为矫正因子,因步骤S1中采用了偶校验,因此矫正因子取0时,表明不存在传输错误,因此无需纠错;若矫正因子仅有一个为1,则链路层数据错误可纠正;若矫正因子有两个或两个以上为1,则链路层数据错误不可纠正。
S3,将可纠正情况下对应错误校验位的值取反进行纠错,将不可纠正情况下的ecc数据进行重传。
在矫正因子全为0或仅有1个为1的情况下,接收端向发送端发送ack数据,否则接收端向发送端返回nack数据。在步骤S1中,对ecc数据进行发送的同时,将ecc数据保存在重传缓存中,发送端在接受到nack数据时,从重传缓存中获取ecc数据,重新发送。
如图2所示,在实施例1的基础上,本实施例处理链路层数据错误的方法还包括
S4,在可纠正情况下,根据被纠正校验位所处的比特位映射串行通道,定位低质量传输通道。
利用串行传输通道进行数据传输时,传输数据的位数与串行通道满足关系式lane_num=bitmodN,例如64bit数据通过8个串行通道发送到接收端,根据lane_num=bitmod8,则lane0上传输的ecc数据位数为bit0、bit8、bit16、bit24、bit32、bit40、bit48、bit56,若被纠正的校验位存在bit0、bit8、bit16、bit24、bit32、bit40、bit48、bit56中,则定位lane0为低质量串行传输通道。
以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。

Claims (8)

1.一种处理链路层数据错误的方法,其特征是,包括以下步骤:
S1,将传输数据进行ecc编码,得到带有r个校验位的ecc数据并发送;
S2,获取所述ecc数据,分别校验r个校验位,得到r个矫正因子,根据矫正因子的值判断链路层数据错误是否可纠正;
S3,将可纠正情况下对应错误校验位的值取反进行纠错,将不可纠正情况下的ecc数据进行重传。
2.根据权利要求1所述的一种处理链路层数据错误的方法,其特征是,所述方法还包括
在可纠正情况下,根据被纠正校验位所处的比特位映射串行通道,定位低质量传输通道。
3.根据权利要求1或2所述的一种处理链路层数据错误的方法,其特征是,步骤S1还包括
将ecc数据保存在重传缓存中。
4.根据权利要求3所述的一种处理链路层数据错误的方法,其特征是,将传输数据进行ecc编码的具体过程为:
S11,根据传输数据位数k及关系式k+r≤2r-1,确定校验码位数r;
S12,将校验位分别安排在2i码位上,信息位依次设置在非2i码位上;
S13,将k+r位汉明码ecc分为r组,每组包含一位校验位,校验位与本组内信息位构成偶校验关系,计算校验位的值;
S14,将校验位和信息位按照步骤S12的规则进行排列,得到ecc数据。
5.根据权利要求4所述的一种处理链路层数据错误的方法,其特征是,步骤S13中分组规则为:
根据S13的规则,确定每个校验位所在的码位j;
从该组校验位所在的码位开始,重复进行连续校验j个码位,然后跳过j个码位,得到每组的数据。
6.根据权利要求5所述的一种处理链路层数据错误的方法,其特征是,
将每组的数据进行异或逻辑运算,运算结果记为矫正因子。
7.根据权利要求6所述的一种处理链路层数据错误的方法,其特征是,所述根据矫正因子的值判断链路层数据错误是否可纠正的具体过程为:
若矫正因子均为0,则不存在传输错误,无需纠错;
若矫正因子仅有一个为1,则链路层数据错误可纠正;
若矫正因子有两个或两个以上为1,则链路层数据错误不可纠正。
8.根据权利要求3所述的一种处理链路层数据错误的方法,其特征是,将不可纠正情况下的ecc数据进行重传的具体过程为:
向ecc数据发送端返回nack数据;
从重传缓存中获取ecc数据,重新发送。
CN201810729580.6A 2018-07-05 2018-07-05 一种处理链路层数据错误的方法 Pending CN108988990A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810729580.6A CN108988990A (zh) 2018-07-05 2018-07-05 一种处理链路层数据错误的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810729580.6A CN108988990A (zh) 2018-07-05 2018-07-05 一种处理链路层数据错误的方法

Publications (1)

Publication Number Publication Date
CN108988990A true CN108988990A (zh) 2018-12-11

Family

ID=64537125

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810729580.6A Pending CN108988990A (zh) 2018-07-05 2018-07-05 一种处理链路层数据错误的方法

Country Status (1)

Country Link
CN (1) CN108988990A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113055259A (zh) * 2021-02-08 2021-06-29 西安电子科技大学 一种基于axi总线协议的功能安全保护方法
CN114374883A (zh) * 2021-12-01 2022-04-19 慷智集成电路(上海)有限公司 一种数据传输的校验方法、装置、系统及车辆
CN116137723A (zh) * 2023-04-04 2023-05-19 北京全路通信信号研究设计院集团有限公司 断链触发判断方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499806A (zh) * 2008-01-31 2009-08-05 富士通株式会社 编码装置、解码装置、编/解码装置以及记录/再现装置
CN103533045A (zh) * 2013-10-12 2014-01-22 江苏华丽网络工程有限公司 一种用于pcie数据链路层高性能容错的方法
CN107534896A (zh) * 2015-05-14 2018-01-02 有线电视实验室公司 对话前监听系统中的混合自动重传请求(harq)

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499806A (zh) * 2008-01-31 2009-08-05 富士通株式会社 编码装置、解码装置、编/解码装置以及记录/再现装置
CN103533045A (zh) * 2013-10-12 2014-01-22 江苏华丽网络工程有限公司 一种用于pcie数据链路层高性能容错的方法
CN107534896A (zh) * 2015-05-14 2018-01-02 有线电视实验室公司 对话前监听系统中的混合自动重传请求(harq)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
厨子: "汉明码校验-纠错", 《简书》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113055259A (zh) * 2021-02-08 2021-06-29 西安电子科技大学 一种基于axi总线协议的功能安全保护方法
CN113055259B (zh) * 2021-02-08 2022-05-13 西安电子科技大学 一种基于axi总线协议的功能安全保护方法
CN114374883A (zh) * 2021-12-01 2022-04-19 慷智集成电路(上海)有限公司 一种数据传输的校验方法、装置、系统及车辆
CN114374883B (zh) * 2021-12-01 2023-08-15 慷智集成电路(上海)有限公司 一种数据传输的校验方法、装置及车辆
CN116137723A (zh) * 2023-04-04 2023-05-19 北京全路通信信号研究设计院集团有限公司 断链触发判断方法、装置、设备及存储介质
CN116137723B (zh) * 2023-04-04 2023-07-11 北京全路通信信号研究设计院集团有限公司 断链触发判断方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
RU2441328C2 (ru) Способы и устройство для формирования множества контрольных значений циклического избыточного кода (crc)
US8799740B2 (en) Signal segmentation method and CRC attachment method for reducing undetected error
CN103533045B (zh) 一种用于pcie数据链路层高性能容错的方法
US6694478B1 (en) Low delay channel codes for correcting bursts of lost packets
CN103201976B (zh) 用于聚合分组传输中的分组级擦除保护编码的方法和装置
CN101621367B (zh) 一种基于包校验信息的harq译码方法
CN108988990A (zh) 一种处理链路层数据错误的方法
CN1422032A (zh) 一种混合自动重传方法
JPS5925536B2 (ja) 伝送誤り制御方式
MXPA01013366A (es) Sistema y metodo para implantar solicitud de repeticion automatica hibrida utilizando combinacion de comprobacion de paridad.
US10063346B2 (en) Method and device for protecting a data transport block against memory errors and transmission errors
CN102104463B (zh) 数据报文请求重传方法及装置
CN104639294A (zh) 一种改进的crc校验实现方法
CN1144429C (zh) 分组校验数据传输法
CN102427398B (zh) 一种基于双向奇偶校验的纠检错方法和系统及装置
CN105162559B (zh) 一种基于最大距离可分编码的harq方法
EP3462652A1 (en) Data retransmission method and relevant device
CN105812085B (zh) 一种音频USBKey的通讯收据的纠错方法及系统
JP3388035B2 (ja) ハイブリッド自動再送要求方式によるデータ通信システム、送信装置及び送信方法
CN114513285B (zh) 传输数据检测与校正的方法、装置、设备及可读存储介质
US9853766B2 (en) Radio communication devices, access points, method for controlling a radio communication device, and methods for controlling an access point
CN114978417B (zh) 一种基于两路blvds总线的数据通信校验方法及系统
CN113949491B (zh) 一种harq-ack信息的传输方法和装置
CN107248904A (zh) 一种基于联合编码的ldpc码差错控制方法
CN110233629B (zh) 改进的汉明码纠错方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20181211

RJ01 Rejection of invention patent application after publication