CN111294059A - 编码方法、译码方法、纠错方法及相关装置 - Google Patents
编码方法、译码方法、纠错方法及相关装置 Download PDFInfo
- Publication number
- CN111294059A CN111294059A CN202010118886.5A CN202010118886A CN111294059A CN 111294059 A CN111294059 A CN 111294059A CN 202010118886 A CN202010118886 A CN 202010118886A CN 111294059 A CN111294059 A CN 111294059A
- Authority
- CN
- China
- Prior art keywords
- data
- memory device
- bits
- bit
- ddr memory
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1128—Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例提供一种编码方法、译码方法、纠错方法及相关装置,其中编码方法适于对写入DDR存储装置中的信息码数据执行RS编码,以对在一个时钟周期内包括1个符号的误码传输数据进行纠错;其中,所述DDR存储装置的数据通道具有至少两个独立的分支通道,所述1个符号位宽为t位,所述分支通道的位宽为n/2,该编码方法包括:接收用于写入DDR存储装置中的信息码数据,其中,每次接收的所述信息码数据为k位的信息码数据;根据所述信息码数据与预设的校验矩阵,生成2t位的校验码数据;将所述信息码数据和所述校验码数据组合,得到n位的RS编码数据;将所述RS编码数据写入所述DDR存储装置,本发明实施例可适配不断演进的存储装置。
Description
技术领域
本发明实施例涉及编码纠错技术领域,尤其涉及编码方法、译码方法、纠错方法及相关装置。
背景技术
纠错码技术在通信信息技术中广泛使用。一般而言,在数字信息发送之前,需要按照相应规则,在发送端的数据流中加入冗余码,以便接收端能够进行误码检测与纠正。里德-所罗门(Reed-Solomon,RS)纠错码是目前最有效且应用较广的差错控制编码方式。RS码可以纠正随机错误,也可以纠正突发错误与存储错误,已经广泛应用于卫星通信、数字电视、闪存(Nand Flash)与DDR内存等领域。
然而,随着科技的发展,目前已有的RS编码、译码与纠错方法,不论是编码、译码还是纠错,均存在与不断演进的存储装置不相适配的问题。
发明内容
有鉴于此,本发明实施例提供了一种编码方法、译码方法、纠错方法及相关装置,以适配不断演进的存储装置。
为实现上述目的,本发明实施例提供如下技术方案:
一方面,本发明实施例的编码方案,对写入DDR存储装置中的信息码数据执行RS编码,以对在一个时钟周期内包括1个符号的误码传输数据进行纠错时,每次接收的用于写入DDR存储装置中的信息码数据为k位的信息码数据,并根据所述信息码数据与预设的校验矩阵,生成2t位的校验码数据,从而组合得到n位的RS编码数据,并写入DDR存储装置中。相比于现有的RS编码方案,本发明实施例提供的编码方案适用于数据通道具有至少两个独立的分支通道的DDR存储装置,因而适配于不断演进的存储装置。
可选的,进一步,本发明实施例的RS编码数据的位宽为80位纠错1个符号的误码传输数据,相比于144位纠错1个符号的误码传输数据,纠错能力大大提高。同时,由于RS编码数据的位宽为80位,相比于144位RS编码数据,计算长度大大降低,从而简化了计算过程。
可选的,进一步,由于RS编码数据的位宽降低,使得对应的计算长度降低,进一步使得进行对应计算的逻辑门数降低,从而在降低了门延迟的同时,优化了时序,减少了硬件电路开销。
可选的,进一步,在DDR存储装置为DDR5存储装置时,本发明实施例可进一步有效充分利用DDR5的冗余存储资源。
另一方面,本发明实施例的译码方案,对读取的DDR存储装置中的信息码数据执行RS译码,以对在一个时钟周期内包括1个符号的误码传输数据进行纠错时,读取DDR存储装置中存储的n位的RS编码数据,并根据读取的RS编码数据与预设的校验矩阵,生成n位的伴随式数据,根据所述伴随式数据输出相应的译码数据。相比于现有的RS编码数据纠错方法,本发明实施例提供的译码方案适用于数据通道具有至少两个独立的分支通道的DDR存储装置,因而适配于不断演进的存储装置。
可选的,进一步,本发明实施例RS编码数据的位宽为80位纠错1个符号的误码传输数据,相比于144位纠错1个符号的误码传输数据,纠错能力大大提高。同时,相比于现有的144位RS编码数据纠错1个符号的误码传输数据,本发明实施例提供的译码方案提高了纠错能力。
又一方面,本发明实施例的数据纠错方案,对获取的RS译码数据执行纠错,以修正包括1个符号的误码传输数据中的误码时,获取RS译码得到n位的伴随式数据,并基于预设的校验矩阵和所述伴随式数据中的2t位的校验码数据,确定k位的信息码数据中的1个符号的误码的位置,基于所述校验矩阵和所述误码的位置,确定位于所述误码的位置的信息码数据。相比于现有的RS编码数据纠错方法,本发明实施例提供的译码方案适用于数据通道具有至少两个独立的分支通道的DDR存储装置,因而适配于不断演进的存储装置。
可选的,进一步,本发明实施例RS编码数据的位宽为80位纠错1个符号的误码传输数据,相比于144位纠错1个符号的误码传输数据,纠错能力大大提高。
附图说明
图1示出了DDR4结构示意图;
图2示出了DDR5结构示意图;
图3示出了144bit的ECC word结构的示例图;
图4示出了本发明实施例提供的ECC word结构的示例图;
图5示出了本发明实施例中一种编码方法的流程图;
图6示出了本发明实施例中一种校验矩阵结构图;
图7示出了本发明实施例中一种译码方法的流程图;
图8示出了本发明实施例中一种数据纠错方法的流程图;
图9示出了本发明实施例中一种编码装置的结构示意图;
图10示出了本发明实施例中一种译码装置的结构示意图;
图11示出了本发明实施例中一种数据纠错装置的结构示意图;
图12示出了本发明实施例中另一种数据纠错装置的结构示意图;
图13示出了本发明实施例中又一种数据纠错装置的结构示意图;
图14示出了本发明实施例中一种DDR存储装置的结构示意图;
图15示出了本发明实施例中另一种DDR存储装置的结构示意图。
具体实施方式
一般而言,在数字信息写入DDR(Double Data Rate,双倍数据速率)存储装置之前,采用RS编码电路对信息码进行编码,在读取DDR存储装置中的数字信息时,对RS编码数据进行对应的RS译码和纠错,以实现对DDR存储装置中的数字信息进行误码检测与纠正。
然而,随着科技的发展,DDR存储装置不断演进,例如,现阶段新一代的DDR存储装置为DDR5 SDRAM(Double-Data-Rate 5Synchronous Dynamic Random Access Memory,第5代双倍数据率同步动态随机存取存储器,以下称为DDR5),与DDR4 SDRAM(Double-Data-Rate 4Synchronous Dynamic Random Access Memory,第4代双倍数据率同步动态随机存取存储器,以下称为DDR4)相比,DDR5具有更高的性能和更低的功耗。DDR5预计将带来4266至6400MT/s的I/O速度,电源电压降至1.1V,允许的波动范围为3%(即±0.033V)。此外,DDR5每个模块使用两个独立的32或40位通道,使得每个通道将具有其自己的7位地址/命令总线,从而进一步具有更高的命令总线效率和更好的刷新方案。
然而,现有的针对DDR存储装置中的RS纠错码并不能适配于不断演进的DDR存储装置。
具体的,参考图1所示的DDR4结构示意图和图2所示的DDR5结构示意图,可以看出,DDR4中的模块具有两个独立的第一通道和第二通道,具体的,第一通道可以为数据通道CA,第二通道可以为数据通道DQ,以分别接入单个N位宽的命令地址(CA)总线和数据(DQ)总线,而在DDR5中的模块中,每个独立的数据通道均被分成了两个单独的分支通道,具体的,对应CA总线的是两个独立的分支通道CA-1和CA-2,其中,分支通道CA-1和CA-2的位宽为n/2,以分别接入单个位宽对应为n/2的CA分支总线,而对应DQ总线的是两个独立的分支通道DQ-1和DQ-2,其中,分支通道DQ-1和DQ-2的位宽为n/2,以分别接入单个位宽对应为n/2的DQ分支总线。
基于不同通道位宽的变化,使得原有的针对n位宽的RS编码并不能适配于新一代的DDR存储装置。
基于此,本发明实施例提供了一种编码方法、译码方法、纠错方法及相关装置,对写入DDR存储装置中的信息码数据执行RS编码、译码和纠错,以对在一个时钟周期内包括1个符号的误码传输数据进行纠错。其中,每次接收的用于写入DDR5存储装置中的信息码数据为2k位的信息码数据,并根据所述信息码数据与预设的校验矩阵,生成2t位的校验码数据,从而组合得到n位的RS编码数据,并写入DDR存储装置中。在读取的DDR存储装置中的信息码数据时,执行RS译码,以对在一个时钟周期内包括1个符号的误码传输数据进行纠错时,读取DDR存储装置中存储的n位的RS编码数据,并根据读取的RS编码数据与预设的校验矩阵,生成n位的伴随式数据,根据所述伴随式数据输出相应的译码数据。其中,所述DDR存储装置的数据通道具有至少两个独立的分支通道,所述1个符号位宽为t位,所述分支通道的位宽为n/2。
相比于现有的RS编码数据纠错方法,本发明实施例提供的方案根据DDR存储装置的分支通道的位宽确定信息码数据的位宽,从而适用于数据通道具有至少两个独立的分支通道的DDR存储装置,因而适配于不断演进的DDR存储装置。
在一种可选的示例中,提供了一种RS编码、译码与纠错方法。具体的,针对DDR存储装置的RS纠错码(Error Correcting Code,ECC)的word(数据总线位宽)为144bit(比特),其中,含16bit的校验位(check bit),128bit的数据位,纠错一个符号(symbol),检错2个符号。其中,一个符号对应DDR存储装置的芯片位宽及一个时钟周期内的读取次数,如在DDR存储装置的芯片位宽为4,且一个时钟周期内读取两次时,一个符号对应为8位;又如在DDR存储装置的芯片位宽为8,且一个时钟周期内读取一次时,一个符号对应为8位。
具体的,图3示出了144bit的ECC word结构的示例图,如图3所示,以在x4芯片DRAM(Dynamic Random Access Memory,动态随机存取存储器)中的应用为例,一颗x4的chip(芯片)有4bit数据,x4 DRAM word为72bit,包含了16颗数据芯片(如图3所示Sym0至Sym15)与2颗校验芯片(如图3所示Chk0和Chk1),从而,分支通道位宽n/2为72,在一个时钟周期内执行2次数据传输,从而1个符号位宽t为8,对应的,ECC word的数据总线位宽为144bit,其中128bit为数据位k(即信息码数据的位数),16bit为校验位(即校验码数据的位数),以图3中的Ecc word0(144,128)为例,144代表144bit的word的数据总线位宽n,128代表144bit中的128bit数据位k,剩余的16bit为校验位2t;在使用144bit的ECC word进行纠错时,在一个时钟周期内需要读取2个x4 DRAM word,具体的,针对Chk0和Chk1两颗校验芯片各个读2次,共得到16bit的校验位,以及,针对Sym0至Sym15的16颗数据芯片各个读2次,共得到128bit数据位;其中,无论是校验芯片还是数据芯片,每颗芯片读2次后共有8bit数据,从而拼成一个x8 symbol,进而在读取18个芯片(即2颗校验芯片和16颗数据芯片)后,总共拼成18个x8symbol;这个过程中,若16颗数据芯片中任意一颗数据芯片出错,均可使用ECC word进行纠错,其纠错效率为144bit纠错1个symbol。
然而,目前144bit的RS纠错码只能纠错1个symbol,纠错能力略显不足,特别是在DDR存储装置的数据位宽降低时,难以满足DDR存储装置需要更多纠错能力的需求。
为提升纠错率,在本发明实施例中,进一步提出一种word为80位的RS纠错码,以修正包括1个符号的误码传输数据中的误码,相比于144位RS编码数据纠错1个符号的误码传输数据,提高了纠错能力。同时,由于RS编码数据的位宽为80位,相比于144位RS编码数据,计算长度大大降低,从而简化了计算过程。进一步的,由于RS编码数据的位宽降低,使得对应的计算长度降低,进一步使得进行对应计算的逻辑门数降低,从而在降低了门延迟的同时,减少了硬件电路开销。
在一种可选实现中,图4示出了本发明实施例提供的ECC word结构的示例图,以在x4芯片DRAM中的应用为例(一颗x4的chip有4bit数据),x4 DRAM包含了8颗数据芯片(如图4所示Sym0至Sym7)与2颗校验芯片(如图4所示Chk0和Chk1),从而,分支通道位宽n/2为40,在一个时钟周期内执行两次数据传输,从而1个符号位宽t为8,对应的,ECC word的数据总线位宽n为80bit,则在使用80bit的ECC word进行纠错时,其中64bit为数据位k(即信息码数据的位数),16bit为校验位(即校验码数据的位数),以图4中的Ecc word0(80,64)为例,80代表80bit的word的数据总线位宽,64代表80bit的数据总线位宽中的64bit数据位,剩余的16bit为校验位;则80bit的ECC word在纠错时,在一个时钟周期内需要读取2个x4 DRAMword,具体的,针对Chk0和Chk1两颗校验芯片各个读2次,共得到2个8bit的校验位,以及针对Sym0至Sym7的8颗数据芯片各个读2次,共得到8个8bit数据位,从而组成10个x8 symbol;这个过程中,若8颗数据芯片中任意一个数据芯片出错,均可使用80bit的ECC word进行纠错,纠错效率为80bit纠1个symbol;可以看出,相比于144bit的RS ECC word,80bit的ECCword的纠错能力提高了接近1倍,因此利用本发明实施例提供的word为80位的RS纠错码(即80bit的ECC word),进行编码、译码及纠错,能够提升纠错率。
为适应不同位宽结构的DDR装置,在本发明实施例中,还提出一种word为40位的RS纠错码,以检测包括1个符号的误码传输数据中的误码,由于RS编码数据的位宽为40位,相比于80位RS编码数据,计算长度大大降低,从而简化了计算过程。进一步的,由于RS编码数据的位宽降低,使得对应的计算长度降低,进一步使得进行对应计算的逻辑门数降低,从而在降低了门延迟的同时,减少了硬件电路开销。
在一种可选实现中,本发明实施例进一步提供了一种RS编码数据的位宽为40位的方案,以在x4芯片DRAM中的应用为例(一颗x4的chip有4bit数据),x4 DRAM包含了4颗数据芯片与1颗校验芯片,从而,分支通道位宽n/2为20,1个符号位宽t为4,一个时钟周期内执行2次数据传输,对应的,ECC word的数据总线位宽n为40bit,则在使用40bit的ECC word进行纠错时,其中32bit为数据位k(即信息码数据的位数),8bit为校验位(即校验码数据的位数),则40bit的ECC word在纠错时,在一个时钟周期内需要读取2个x4 DRAM word,具体的,针对校验芯片读2次,共得到2个4bit的校验位,以及针对4颗数据芯片各个读2次,共得到4个8bit数据位,从而组成5个x8 symbol;这个过程中,若5颗数据芯片中任意一个数据芯片出错,均可使用40bit的ECC word进行纠错,纠错效率为40bit纠1个symbol。
为使本领域技术人员更好地理解和实现本发明实施例,以下参照附图,对利用本发明实施例提供的word为80位的RS纠错码,进行编码、译码及纠错的方案分别进行详细介绍。可选的,适用本发明实施例方案的DDR存储装置可以如DDR5存储装置。
首先介绍本发明实施例所采用的编码过程:
参照图5,本发明实施例提供了一种编码方法,根据DDR存储装置的分支通道的位宽确定信息码数据的位宽,从而适用于数据通道具有至少两个独立的分支通道的DDR存储装置,因而适配于不断演进的DDR存储装置。本发明实施例具体可以执行如下编码过程:
S21,接收用于写入DDR存储装置中的信息码数据。
在本实施例中,接收的所述信息码数据可以为其他装置传输来的用于存储在DDR存储装置中的数据信息,以便于后续在需要使用这些数据信息时,可以通过读取DDR存储装置存储的数据信息,以使用这些数据信息。
其中,在本发明实施例中,每次接收的所述信息码数据为k位信息码数据。对应的,在所述DDR存储装置所在的系统的总线位宽为64位时,对应的每次发送的用于写入DDR存储装置中的信息码数据为64位,本发明实施例则直接接收该64位的信息码数据。而在所述DDR存储装置所在的系统的总线位宽不为64位时,则需要对写入DDR存储装置中的信息码数据进行编辑,使本实施例每次接收的所述信息码数据为64位的信息码数据。
S22,根据所述信息码数据与预设的校验矩阵,生成2t位的校验码数据。
在本实施例中,可以将所述信息码数据与预设的校验矩阵进行组合异或,从而得到2t位的校验码数据。
校验矩阵是用于进行信息校验的矩阵,其中,根据所述信息码数据的位宽以及DDR存储装置对应的芯片位宽设置得到对应的校验矩阵。基于信息码数据的位宽以及DDR存储装置对应的位宽参数,可以预先确定一个校验矩阵,并将该校验矩阵存储在预设的位置,在需要预设的校验矩阵时,从存储校验矩阵的位置获取预设的校验矩阵,从而实现对应的流程。
具体的,所述预设的校验矩阵为16行80列。
在一个可选的示例中,执行RS编码时,一个信息码数据的位宽k为64,RS编码的位宽n为80,对应的校验码数据的位宽2t为16,以纠正其中一个符号的错误,其中,1个符号的长度t为8。
其中,所述校验矩阵共有2t行n列,其中,n=k+2t,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵。
在具体实施中,所述校验矩阵的第一区间的t行t列的单位矩阵分布在所述校验矩阵的第1行至第2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集。
具体而言,对于第一区间t行的选择,可以选择所述第1行至第2t行中的任意t行,例如连续或不连续的t行,连续的奇数行或不连续的奇数行,连续的偶数行或不连续的偶数行均可;对于第一区间k列的选择,可以为连续的k列,也可以为不连续的k列,可以为连续的k个奇数列,或者为不连续的k个奇数列,或者为连续的k个偶数列,或者为不连续的k个偶数列,只要能够在所述选取的t行中选取其中k列形成k/t个连续的t行t列的单位矩阵即可。同样地,所述第二区间的2t列可以为连续的2t列,也可以为不连续的2t列,可以为连续的2t个奇数列,也可以为非连续的2t个奇数列,或者为连续2t个偶数列,或者为非连续的2t个奇数列。例如,参考图6所示的校验矩阵结构图,所述第一区间和第二区间可以分别位于所述校验矩阵的左半区间和右半区间。
具体可以参考上述方案设置所述校验矩阵的第一区间和第二区间,只要所述第一区间和第二区间的位置无交集即可,所述校验矩阵第一区间和第二区间外其他的数值可以为0,也可以为1,在本发明实施例中不作任何限制。因而采用本发明实施例,可以形成多种方案的校验矩阵,故可以提高所设置的校验矩阵的自由度。在本发明一实施例中,所述校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵(如图6所示),该校验矩阵结构简单,采用这一校验矩阵进行译码及纠错无须进行任何变形转换,因而不但可以提高编码效率,还可以进一步提高译码效率和纠错效率。
在本发明的实施例中,在所述DDR存储装置对应的芯片位宽为4时,执行RS编码时,一个信息码数据的位宽k为64,RS编码数据的位宽n为80,以纠正其中一个符号的错误,针对10颗x4(位宽为4)芯片需要读两次组成80比特数据,t为需要纠错的数据长度,即为2个4比特则为8,对应的校验矩阵为16行80列,并通过进一步的计算得到校验码数据为2t(16)位。
其中,相比于144位RS纠错码中需要设置16行144列的校验矩阵,本实施例中,80列的校验矩阵,能够极大降低计算的复杂度,从而进一步简化计算过程。
S23,将所述信息码数据和所述校验码数据组合,得到n位的RS编码数据。
具体的,例如对于信息码M,码字长度为k,可以表示为:M=[m1,m2,m3,…mk],其中mi表示第i个信息码;
校验码chk,码字长度为2t,可以表示为:chk=[chk1,chk2,chk3,…chk2t],chkj表示第j个校验码。
则RS编码后数据为C={M,chk}。
S24,将所述RS编码数据写入所述DDR存储装置。
其中,在本实施例中所述DDR存储装置的word为40bit(32bit数据+8bit校验位),可以分别对64位的信息码数据和16位的校验码数据进行拆分,从而将所述RS编码数据写入所述DDR存储装置。
对应的,本步骤可以包括:
将所述RS编码数据分为2组RS编码子数据,任一组所述RS编码子数据包括32位的信息码数据和8位的校验码数据;将2组RS编码子数据分2次写入所述DDR存储装置,其中一次写入一组RS编码子数据。
结合图4,以x4芯片(chip)的DDR存储器为例(一颗x4的chip位宽为4),DDR存储器包含了8颗数据chip与2颗校验chip。word为80比特的数据需要写入2个x4 chip,即chk0与chk1两颗校验芯片,每个芯片各写2次;同时,写入sym0/sym1/sym2/sym3/sym4/sym5/sym6/sym7等8颗数据chip,每个芯片各写2次;从而组成10个x8 symbol。
采用本发明实施例的编码方案,对写入DDR存储装置中的信息码数据执行RS编码,以对在一个时钟周期内包括1个符号的误码传输数据进行纠错时,每次接收的用于写入DDR存储装置中的信息码数据为64位的信息码数据,并根据所述信息码数据与预设的校验矩阵,生成16位的校验码数据,从而组合得到80位的RS编码数据,并写入DDR存储装置中,相比于现有的144位RS编码数据纠错1个符号的误码传输数据,本发明实施例提高了纠错能力。
同时,由于RS编码数据的位宽为80位,相比于144位RS编码数据,计算长度大大降低,从而简化了计算过程。
进一步的,由于RS编码数据的位宽降低,使得对应的计算长度降低,进一步使得进行对应计算的逻辑门数降低,从而在降低了门延迟的同时,减少了硬件电路开销。
为适应不同位宽结构的DDR装置,在本发明实施例的另一实现中,还提出一种word为40位的RS纠错码,n为40,t为4,k为32,以检测包括1个符号的误码传输数据中的误码,由于RS编码数据的位宽n为40位,相比于80位RS编码数据,计算长度大大降低,从而简化了计算过程。进一步的,由于RS编码数据的位宽降低,使得对应的计算长度降低,进一步使得进行对应计算的逻辑门数降低,从而在降低了门延迟的同时,减少了硬件电路开销。
参照图7,本发明实施例提供了一种译码方法,根据DDR存储装置的分支通道的位宽确定信息码数据的位宽,从而适用于数据通道具有至少两个独立的分支通道的DDR存储装置,因而适配于不断演进的DDR存储装置。本发明实施例具体可以执行如下译码过程:
S31,读取DDR存储装置中存储的n位的RS编码数据。
在本实施例中,以所述DDR存储装置的word为40bit(32bit数据+8bit校验位),形成80位的RS编码(64位信息码数据+16位校验码数据)为例,可以通过两次读取32位的信息码数据和8位的校验码数据,组合得到64位的信息码数据和16位的校验码数据,以从DDR存储装置中读取80位的RS编码数据。
对应的,本步骤可以包括:
读取所述DDR存储装置中存储的2组RS编码子数据,其中,任一组所述RS编码子数据包括32位的信息码数据和8位的校验码数据;将所述2组RS编码子数据组合得到80位的RS编码数据。
参考图4,以x4芯片(chip)的DDR存储器为例,DDR存储器包含了8颗数据chip与2颗校验chip。word为80比特的数据需要读取2个x4 chip,即chk0与chk1两颗校验芯片,每个芯片各读2次;同时,读取sym0/sym1/sym2/sym3/sym4/sym5/sym6/sym7等8颗数据chip,每个芯片各读2次;从而组成10个x8 symbol。
S32,根据读取的RS编码数据与预设的校验矩阵,生成n位的伴随式数据。
在本实施例中,可以将RS编码数据与预设的校验矩阵进行组合异或,从而得到伴随式数据。其中,所述伴随式数据包括k位的信息码数据和2t位的校验码数据,其中,n=k+2t。
其中,预设的校验矩阵可以与编码过程中预设的校验矩阵相同,或者,根据相同的方法得到所述校验矩阵。可选的,根据所述信息码数据的位宽以及DDR存储装置对应的芯片位宽设置得到对应的校验矩阵。具体的,在t为8,k为64,n为80时,所述预设的校验矩阵为16行80列。
在一个可选的示例中,在所述DDR存储装置对应的芯片位宽为8时,执行RS译码时,一个信息码数据的位宽k为64,RS编码的位宽n为80,对应的校验码数据的位宽2t为16,以纠正其中一个符号的错误,1个符号的长度t为8。
其中,所述校验矩阵共有2t行n列,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵,所述伴随式数据包括所述信息码数据和所述校验码数据。
在具体实施中,所述校验矩阵的第一区间的t行t列的单位矩阵分布在所述校验矩阵的第1行至第2t行中的任意t行,所述校验矩阵的第二区间的2t行2t列的单位矩阵分布在所述校验矩阵的任意2t列,且所述第一区间和第二区间的位置无交集。
具体而言,对于第一区间t行的选择,可以选择所述第1行至第2t行中的任意t行,例如连续或不连续的t行,连续的奇数行或不连续的奇数行,连续的偶数行或不连续的偶数行均可;对于第一区间k列的选择,可以为连续的k列,也可以为不连续的k列,可以为连续的k个奇数列,或者为不连续的k个奇数列,或者为连续的k个偶数列,或者为不连续的k个偶数列,只要能够在所述选取的t行中选取其中k列形成k/t个连续的t行t列的单位矩阵即可。同样地,所述第二区间的2t列可以为连续的2t列,也可以为不连续的2t列,可以为连续的2t个奇数列,也可以为非连续的2t个奇数列,或者为连续2t个偶数列,或者为非连续的2t个奇数列。例如,参考图6,所述第一区间和第二区间可以分别位于所述校验矩阵的左半区间和右半区间。
具体可以参考上述方案设置所述校验矩阵的第一区间和第二区间,只要所述第一区间和第二区间的位置无交集即可,所述校验矩阵第一区间和第二区间外其他的数值可以为0,也可以为1,在本发明实施例中不作任何限制。因而采用本发明实施例,可以形成多种方案的校验矩阵,故可以提高所设置的校验矩阵的自由度。
在本发明一实施例中,所述校验矩阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵,第1行至第2t行的第k+1列至第k+2t列形成一个2t行2t列的单位矩阵。这一校验矩阵结构简单,采用这一校验矩阵进行译码及纠错无须进行任何变形转换,通过这一简化的校验矩阵一个时钟周期即可完成RS译码运算,故可以提高译码效率。
在本发明的另一实施例中,在所述DDR存储装置对应的芯片位宽为4时,执行RS译码时,一个信息码数据的位宽k为64,RS编码数据的位宽n为80,针对10颗x4芯片需要读两次组成80比特数据,t为需要纠错的数据长度,即为2个4比特则为8,对应的校验矩阵为16行80列,并通过进一步的计算得到校验码数据为2t(16)位。
S33,根据所述伴随式数据输出相应的译码数据。
在本实施例中,当得到的伴随式数据中包含非零值时,将所述伴随式数据输出至数据纠错装置进行纠错处理,并将纠错后的结果(如纠错后的信息码)作为输出的译码数据;当得到的伴随式数据中无非零值时,提取所述伴随式数据对应的信息码数据作为输出的译码数据。
本发明实施例的译码方案,对读取DDR存储装置中的信息码数据执行RS译码,以对在一个时钟周期内包括1个符号的误码传输数据进行纠错时,读取DDR存储装置中存储的80位的RS编码数据,并根据读取的RS编码数据与预设的校验矩阵,生成伴随式数据,根据所述伴随式数据输出相应的译码数据,相比于现有的144位RS编码数据纠错1个符号的误码传输数据,本发明实施例提高了纠错能力。
同时,由于RS编码数据的位宽为80位,相比于144位RS编码数据,计算长度大大降低,从而简化了计算过程。
进一步的,由于RS编码数据的位宽降低,使得对应的计算长度降低,进一步使得进行对应计算的逻辑门数降低,从而在降低了门延迟的同时,减少了硬件电路开销。
由于数据在存储、传输过程中可能出现突发错误、随机错误等各种错误,为确定错误位置,并进行纠错,可以采用本发明实施例的数据纠错方法。
参考图8,为本发明实施例的数据纠错方法流程图,根据DDR存储装置的分支通道的位宽确定信息码数据的位宽,从而适用于数据通道具有至少两个独立的分支通道的DDR存储装置,因而适配于不断演进的DDR存储装置。本发明实施例具体可以执行如下数据纠错过程:
S41,获取RS译码得到的n位的伴随式数据。
在本实施例中,在伴随式数据中包含非零值时,则会得到译码装置输出的伴随式数据,从而根据所述伴随式数据进行后续的纠错。具体的,所述伴随式数据包括k位的信息码数据和2t位的校验码数据,在t为8,k为64,n为80时,所述伴随式数据包括64位的信息码数据和16位的校验码数据。
S42,基于预设的校验矩阵和所述伴随式数据中的2t位的校验码数据,确定k位的信息码数据中的误码的位置和数量,其中,n=k+2t。
在本实施例中,基于符号位置与对应的校验矩阵中非第一区间的单位矩阵组成部分的伴随式数据的对应关系,可以得到各符号在所述伴随式数据中的位置。
其中,预设的校验矩阵可以与编码过程中预设的校验矩阵相同,或者,根据相同的方法得到所述校验矩阵。可选的,根据所述信息码数据的位宽以及DDR存储装置对应的芯片位宽设置得到对应的校验矩阵。具体的,在t为8,k为64,n为80时,所述预设的校验矩阵为16行80列。
在一个可选的示例中,基于符号位置与对应的校验矩阵中非第一区间的单位矩阵组成部分的伴随式数据的对应关系,将对应的伴随式数据进行组合异或并相与,分别得到各符号位置B[i],i∈[1,n/t];其中,所述校验矩阵包括第一区间和第二区间,所述第一区间包括k/t个连续的t行t列的单位矩阵,所述第二区间包括一个2t行2t列的单位矩阵。
当所述RS译码得到的伴随式不全为0,且仅有第i个符号位置B[i]等于1时,确定仅第i个符号存在错误,若伴随式数据不全为0且符号位置B[i]=0,则代表至少两个符号错误。
其中,若仅有一个符号的误码,则可以通过执行后续的步骤S43进行纠错,若出现至少两个符号的误码,则无法进行纠错,执行后续的步骤S45和步骤S46执行错误提示。
步骤S43,若k位的信息数据中仅1个符号的误码,基于所述校验矩阵和所述误码的位置,确定位于所述误码的位置的信息码数据。
在本实施例中,若伴随式数据均等于0,则表示没有符号错误;若伴随式数据有不等于0的情况,表示有错误,仅当只有一个符号出错时,若符号位置B[i]=1,则代表第i个符号出错,则确定该位置的信息码数据,并执行步骤S44;若伴随式数据不等于0且符号位置B[i]=0,则代表至少两个符号错误,执行步骤S45。
具体而言,可以将译码得到的相应位置的信息码数据分别与对应校验矩阵中为第一区间的单位矩阵组成部分的伴随式数据进行组合异或,得到B[i]相应位置的信息码数据。
步骤S44,修改所述误码的位置的信息码数据,将修改后的信息码数据输出。
具体的,修改符号位置B[i]的信息码数据,并将修改后的信息码数据输出。
步骤S45,若k位的信息数据中包括至少2个符号的误码,停止执行本次纠错,发送错误提示信息。
在具体实施中,当所述RS译码得到的伴随式不全为0,且当所有符号位置B[1]至B[n/t]均为0时,可以确定包括至少2个符号的误码。当确定包括至少2个符号的误码时,确定所存在的符号无法纠错,可以停止执行本次纠错,发送错误提示信息,以便重新获取相应的RS编码数据,进而可以重新译码及纠错。
采用本发明实施例的纠错方法,可以纠正一个符号错误,即t比特数据的错误,检出至少2个符号错误。
本发明实施例的数据纠错方案,对获取的RS译码数据执行纠错,以修正包括1个符号的误码传输数据中的误码时,获取RS译码得到的伴随式数据,并基于预设的校验矩阵和所述伴随式数据中的2t位的校验码数据,确定k位的信息码数据中的1个符号的误码的位置,基于所述校验矩阵和所述误码的位置,确定位于所述误码的位置的信息码数据。同时,在t为8,k为64,n为80时,80位RS编码数据纠错1个符号的误码传输数据,相比于现有的144位RS编码数据纠错1个符号的误码传输数据,本发明实施例提高了纠错能力。
同时,由于RS编码数据的位宽为80位,相比于144位RS编码数据,计算长度大大降低,从而简化了计算过程。
进一步的,由于RS编码数据的位宽降低,使得对应的计算长度降低,进一步使得进行对应计算的逻辑门数降低,从而在降低了门延迟的同时,减少了硬件电路开销。
为使本领域技术人员更好地理解和实现本发明实施例,以下对能够实现上述编码方法的编码装置、能够实现上述译码方法的译码装置以及能够实现上述数据纠错方法的数据纠错装置分别参照附图进行相应描述。
图9示出了本发明实施例中一种编码装置的结构示意图。所述编码装置适于对写入DDR存储装置中的信息码数据执行RS编码,以对在一个时钟周期内包括1个符号的误码传输数据进行纠错。其中,所述DDR存储装置的数据通道具有至少两个独立的分支通道,所述1个符号位宽为t位,所述分支通道的位宽为n/2。
参照图9,编码装置60可以包括接收单元61、编码单元63和写入单元64,其中:
接收单元61,适于接收用于写入DDR存储装置中的信息码数据,其中,每次接受的所述信息码数据包括k位信息码数据;
编码单元63,适于根据所述接收单元61接收的信息码数据与预设的校验矩阵,生成2t位的校验码数据,并将所述信息码数据和所述校验码数据组合,得到n位的RS编码数据,其中,n=k+2t;
写入单元64,适于将所述RS编码数据写入所述DDR存储装置。
进一步的,所述编码装置还可以包括第一存储单元62,以适于存储预设的校验矩阵。
在一个可选的示例中,所述编码装置中,t为8,k为64,n为80。对应的,所述写入单元64适于将所述RS编码数据写入所述DDR存储装置,包括:
将所述RS编码数据分为2组RS编码子数据,任一组所述RS编码子数据包括32位的信息码数据和8位的校验码数据;
将2组RS编码子数据分2次写入所述DDR存储装置,其中一次写入一组RS编码子数据。
在另一个可选的示例中,所述预设的校验矩阵为16行80列。
或者,在另一个可选的示例中,所述编码装置中,t为4,k为32,n为40。
图10示出了本发明实施例中一种译码装置的结构示意图。所述译码装置适于对DDR存储装置中的信息码数据执行RS译码,以对在一个时钟周期内包括1个符号的误码传输数据进行纠错;其中,所述DDR存储装置的数据通道具有至少两个独立的分支通道,所述1个符号位宽为t位,所述分支通道的位宽为n/2。
参照图10,所述译码装置70包括:读取单元71、译码单元73和输出单元74,其中:
读取单元71,适于读取DDR存储装置中的存储的n位的RS编码数据;
译码单元73,适于根据所述读取单元71读取的RS编码数据与预设的校验矩阵,生成伴随式数据,所述伴随式数据包括所述k位的信息码数据和2t位的校验码数据,其中,n=k+2t;
输出单元74,适于根据所述伴随式数据输出相应的译码数据。
进一步的,所述译码装置还可以包括第二存储单元72,适于存储预设的校验矩阵。
在一个可选的示例中,所述译码装置中,t为8,k为64,n为80,所述读取单元71适于读取DDR存储装置中存储的80位的RS编码数据,包括:
读取所述DDR存储装置中存储的2组RS编码子数据,其中,任一组所述RS编码子数据包括32位的信息码数据和8位的校验码数据;
将所述2组RS编码子数据组合得到80位的RS编码数据。
在另一个可选的示例中,所述预设的校验矩阵为16行80列。
在又一可选的示例中,所述DDR存储装置的芯片位宽为4,所述译码装置中,t为4,k为32,n为40。
所述输出单元74适于根据所述伴随式数据输出相应的译码数据,包括:
当得到的伴随式数据中包含非零值时,将所述伴随式数据输出至数据纠错装置进行纠错处理,并将纠错后的结果作为输出的译码数据;
当得到的伴随式数据中无非零值时,提取所述伴随式数据对应的信息码数据作为输出的译码数据。
图11示出了本发明实施例中一种数据纠错装置的结构示意图。所述数据纠错装置适于对获取的RS译码数据执行纠错,以修正包括1个符号的误码传输数据中的误码。其中,所述DDR存储装置的数据通道具有至少两个独立的分支通道,所述1个符号位宽为t位,所述分支通道的位宽为n/2。
参照图11,所述数据纠错装置80包括:获取单元81、符号位置确定单元83和数据确定单元84,其中:
获取单元81,适于获取RS译码得到的伴随式数据,所述伴随式数据包括k位的信息码数据和2t位的校验码数据;
符号位置确定单元83,适于基于预设的校验矩阵和获取单元获取的伴随式数据中的2t位的校验码数据,确定k位的信息码数据中的1个符号的误码的位置和数量;
数据确定单元84,适于若k位的信息数据中仅1个符号的误码,基于预设的校验矩阵和所述符号位置确定单元确定的误码的位置,确定位于所述误码的位置的信息码数据。
进一步,所述译码装置还包括第三存储单元82,适于存储预设的校验矩阵。
在另一个可选的示例中,所述译码数据基于读取DDR存储装置中的信息码数据得到,可选的,所述预设的校验矩阵为16行80列。
在本发明另一可选的实现中,图12示出了本发明实施例中另一种数据纠错装置的结构示意图。具体的,所述数据纠错装置还包括:
纠错单元85,适于修改所述误码的位置的信息码数据,并将修改后的信息码数据输出。
在本发明又一可选的实现中,图13示出了本发明实施例中又一种数据纠错装置的结构示意图。具体的,所述数据纠错装置还包括:
错误提示发送单元86,若64位的信息数据中包括至少2个符号的误码,停止执行本次纠错,发送错误提示信息。
在本发明的另一实施例中,还提供了一种DDR存储装置,图14示出了本发明实施例中DDR存储装置的结构示意图。所述DDR存储装置包括上述实施例所述的编码装置60、上述实施例所述的译码装置70、上述实施例所述的数据纠错装置80,以及存储模块90,所述存储模块90包括:
校验芯片91,用于存储RS编码数据中的2t位的校验码数据;
数据芯片92,用于存储RS编码数据中的k位的信息码数据。
其中,所述DDR存储装置的数据通道具有至少两个独立的分支通道,所述校验芯片与所述数据芯片并行接入1个独立的分支通道。
在一个可选的示例中,参考图15所示的DDR存储装置的结构示意图,所述DDR存储装置进一步包括校验矩阵存储装置50,所述校验矩阵存储装置50用于存储预设的校验矩阵,所述编码装置60、译码装置70和纠错装置80与所述校验矩阵存储装置50耦接,以获取校验矩阵存储装置50存储的预设的校验矩阵。
在一个可选的示例中,t为8,k为64,所述DDR存储装置中的芯片位宽为4,所述校验芯片为2个,所述数据芯片为8个。
在另一个可选的示例中,t为8,k为64,所述DDR存储装置中的芯片位宽为8,所述校验芯片为1个,所述数据芯片为4个。
在又一个可选的示例中,所述DDR存储装置中,t为4,k为32,所述DDR存储装置中的芯片位宽为4,所述校验芯片为1个,所述数据芯片为4个
在本发明的又一实施例中,还提供了一种电子设备,所述电子设备包括上述实施例所述的DDR存储装置。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (37)
1.一种编码方法,其特征在于,所述编码方法适于对写入DDR存储装置中的信息码数据执行RS编码,以对在一个时钟周期内包括1个符号的误码传输数据进行纠错;其中,所述DDR存储装置的数据通道具有至少两个独立的分支通道,所述1个符号位宽为t位,所述分支通道的位宽为n/2,所述编码方法包括:
接收用于写入DDR存储装置中的信息码数据,其中,每次接收的所述信息码数据为k位的信息码数据;
根据所述信息码数据与预设的校验矩阵,生成2t位的校验码数据;
将所述信息码数据和所述校验码数据组合,得到n位的RS编码数据,其中,n=k+2t;
将所述RS编码数据写入所述DDR存储装置。
2.根据权利要求1所述的编码方法,其特征在于,所述编码方法中,t为8,k为64,n为80。
3.根据权利要求2所述的编码方法,其特征在于,所述将所述RS编码数据写入所述DDR存储装置,包括:
将所述RS编码数据分为2组RS编码子数据,任一组所述RS编码子数据包括32位的信息码数据和8位的校验码数据;
将2组RS编码子数据分2次写入所述DDR存储装置,其中一次写入一组RS编码子数据。
4.根据权利要求2所述的编码方法,其特征在于,所述预设的校验矩阵为16行80列。
5.根据权利要求1所述的编码方法,其特征在于,所述DDR存储装置为DDR5存储装置。
6.根据权利要求1所述的编码方法,其特征在于,所述DDR存储装置的芯片位宽为4,所述编码方法中,t为4,k为32,n为40。
7.根据权利要求1所述的编码方法,其特征在于,所述DDR存储装置的数据通道具有至少两个独立的分支通道具体包括:所述DDR存储装置的第一通道和第二通道分别被设置为至少两个单独的分支通道。
8.一种译码方法,其特征在于,所述译码方法适于对读取的DDR存储装置中的信息码数据执行RS译码,以对在一个时钟周期内包括1个符号的误码传输数据进行纠错;其中,所述DDR存储装置的数据通道具有至少两个独立的分支通道,所述1个符号位宽为t位,所述分支通道的位宽为n/2,所述译码方法包括:
读取DDR存储装置中存储的n位的RS编码数据;
根据读取的RS编码数据与预设的校验矩阵,生成n位的伴随式数据,所述伴随式数据包括k位的信息码数据和2t位的校验码数据,其中,n=k+2t;
根据所述伴随式数据输出相应的译码数据。
9.根据权利要求8所述的译码方法,其特征在于,所述译码方法中,t为8,k为64,n为80。
10.根据权利要求9所述的译码方法,其特征在于,所述读取DDR存储装置中存储的n位的RS编码数据,包括:
读取所述DDR存储装置中存储的2组RS编码子数据,其中,任一组所述RS编码子数据包括32位的信息码数据和8位的校验码数据;
将所述2组RS编码子数据组合得到80位的RS编码数据。
11.根据权利要求9所述的译码方法,其特征在于,所述预设的校验矩阵为16行80列。
12.根据权利要求8所述的译码方法,其特征在于,所述根据所述伴随式数据输出相应的译码数据,包括:
当得到的伴随式数据中包含非零值时,将所述伴随式数据输出至数据纠错装置进行纠错处理,并将纠错后的结果作为输出的译码数据;
当得到的伴随式数据中无非零值时,提取所述伴随式数据对应的信息码数据作为输出的译码数据。
13.根据权利要求8所述的译码方法,其特征在于,所述DDR存储装置为DDR5存储装置。
14.根据权利要求8所述的译码方法,其特征在于,所述DDR存储装置的芯片位宽为4,所述译码方法中,t为4,k为32,n为40。
15.根据权利要求8所述的编码方法,其特征在于,所述DDR存储装置的数据通道具有至少两个独立的分支通道具体包括:所述DDR存储装置的第一通道和第二通道分别被设置为至少两个单独的分支通道。
16.一种数据纠错方法,其特征在于,所述数据纠错方法适于对获取的RS译码数据执行纠错,以修正包括1个符号的误码传输数据中的误码;其中,所述DDR存储装置的数据通道具有至少两个独立的分支通道,所述1个符号位宽为t位,所述分支通道的位宽为n/2,所述数据纠错方法包括:
获取RS译码得到n位的伴随式数据,所述伴随式数据包括k位的信息码数据和2t位的校验码数据;
基于预设的校验矩阵和所述伴随式数据中的2t位的校验码数据,确定k位的信息码数据中的误码的位置和数量,其中,n=k+2t;
若k位的信息数据中仅1个符号的误码,基于所述校验矩阵和所述误码的位置,确定位于所述误码的位置的信息码数据。
17.根据权利要求16所述的数据纠错方法,其特征在于,所述数据纠错方法中,t为8,k为64,n为80。
18.根据权利要求17所述的数据纠错方法,其特征在于,所述译码数据基于读取DDR存储装置中的信息码数据得到,所述预设的校验矩阵为16行80列。
19.根据权利要求16所述的数据纠错方法,其特征在于,还包括:
修改所述误码的位置的信息码数据,将修改后的信息码数据输出。
20.根据权利要求19所述的数据纠错方法,其特征在于,还包括:
若k位的信息数据中包括至少2个符号的误码,停止执行本次纠错,发送错误提示信息。
21.根据权利要求16所述的数据纠错方法,其特征在于,所述译码数据基于读取DDR存储装置中的信息码数据得到,所述DDR存储装置为DDR5存储装置。
22.根据权利要求16所述的编码方法,其特征在于,所述DDR存储装置的数据通道具有至少两个独立的分支通道具体包括:所述DDR存储装置的第一通道和第二通道分别被设置为至少两个单独的分支通道。
23.一种编码装置,其特征在于,所述编码装置适于对写入DDR存储装置中的信息码数据执行RS编码,以对在一个时钟周期内包括1个符号的误码传输数据进行纠错;其中,所述DDR存储装置的数据通道具有至少两个独立的分支通道,所述1个符号位宽为t位,所述分支通道的位宽为n/2,所述编码装置包括:
接收单元,适于接收用于写入DDR存储装置中的信息码数据,其中,每次接受的所述信息码数据包括k位信息码数据;
编码单元,适于根据所述接收单元接收的信息码数据与预设的校验矩阵,生成2t位的校验码数据,并将所述信息码数据和所述校验码数据组合,得到n位的RS编码数据,其中,n=k+2t;
写入单元,适于将所述RS编码数据写入所述DDR存储装置。
24.根据权利要求23所述的编码装置,其特征在于,所述编码装置中,t为8,k为64,n为80。
25.根据权利要求23所述的编码装置,其特征在于,所述DDR存储装置的芯片位宽为4,所述编码装置中,t为4,k为32,n为40。
26.一种译码装置,其特征在于,所述译码装置适于对DDR存储装置中的信息码数据执行RS译码,以对在一个时钟周期内包括1个符号的误码传输数据进行纠错;其中,所述DDR存储装置的数据通道具有至少两个独立的分支通道,所述1个符号位宽为t位,所述分支通道的位宽为n/2,所述译码装置包括:
读取单元,适于读取DDR存储装置中的存储的n位的RS编码数据;
译码单元,适于根据所述读取单元读取的RS编码数据与预设的校验矩阵,生成伴随式数据,所述伴随式数据包括所述k位的信息码数据和2t位的校验码数据,其中,n=k+2t;
输出单元,适于根据所述伴随式数据输出相应的译码数据。
27.根据权利要求26所述的译码装置,其特征在于,所述译码装置中,t为8,k为64,n为80。
28.根据权利要求26所述的译码装置,其特征在于,所述DDR存储装置的芯片位宽为4,所述译码装置中,t为4,k为32,n为40。
29.一种数据纠错装置,其特征在于,所述数据纠错装置适于对获取的RS译码数据执行纠错,以修正包括1个符号的误码传输数据中的误码;其中,所述DDR存储装置的数据通道具有至少两个独立的分支通道,所述1个符号位宽为t位,所述分支通道的位宽为n/2,所述数据纠错装置包括:
获取单元,适于获取RS译码得到的伴随式数据,所述伴随式数据包括k位的信息码数据和2t位的校验码数据;
符号位置确定单元,适于基于预设的校验矩阵和获取单元获取的伴随式数据中的2t位的校验码数据,确定k位的信息码数据中的1个符号的误码的位置和数量;
数据确定单元,适于若k位的信息数据中仅1个符号的误码,基于预设的校验矩阵和所述符号位置确定单元确定的误码的位置,确定位于所述误码的位置的信息码数据。
30.根据权利要求29所述的数据纠错装置,其特征在于,所述数据纠错装置中,t为8,k为64,n为80。
31.一种DDR存储装置,其特征在于,包括权利要求20所述的编码装置,权利要求23所述的译码装置,权利要求26所述的数据纠错装置,以及存储模块;所述存储模块包括:
校验芯片,用于存储RS编码数据中的2t位的校验码数据;
数据芯片,用于存储RS编码数据中的k位的信息码数据;
其中,所述DDR存储装置的数据通道具有至少两个独立的分支通道,所述校验芯片与所述数据芯片并行接入1个独立的分支通道。
32.根据权利要求31所述的DDR存储装置,其特征在于,所述DDR存储装置中,t为8,k为64。
33.根据权利要求32所述的DDR存储装置,其特征在于,所述DDR存储装置中的芯片位宽为4,所述校验芯片为2个,所述数据芯片为8个。
34.根据权利要求32所述的DDR存储装置,其特征在于,所述DDR存储装置中的芯片位宽为8,所述校验芯片为1个,所述数据芯片为4个。
35.根据权利要求31所述的DDR存储装置,其特征在于,所述DDR存储装置中,t为4,k为32,所述DDR存储装置中的芯片位宽为4,所述校验芯片为1个,所述数据芯片为4个。
36.根据权利要求31所述的DDR存储装置,其特征在于,与所述编码装置、译码装置和纠错装置耦接的校验矩阵存储装置,所述校验矩阵存储装置用于存储预设的校验矩阵。
37.一种电子设备,其特征在于,包括权利要求31-36任一项所述的DDR存储装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019113680542 | 2019-12-26 | ||
CN201911368054 | 2019-12-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111294059A true CN111294059A (zh) | 2020-06-16 |
CN111294059B CN111294059B (zh) | 2023-06-30 |
Family
ID=71025646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010118886.5A Active CN111294059B (zh) | 2019-12-26 | 2020-02-26 | 编码方法、译码方法、纠错方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111294059B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112579342A (zh) * | 2020-12-07 | 2021-03-30 | 海光信息技术股份有限公司 | 内存纠错方法、内存控制器及电子设备 |
CN112688693A (zh) * | 2020-12-14 | 2021-04-20 | 海光信息技术股份有限公司 | 一种内存多矩阵编码方法、纠错方法及相关装置 |
CN113485866A (zh) * | 2021-07-02 | 2021-10-08 | 海光信息技术股份有限公司 | 译码方法及相关装置、电子设备和存储介质 |
CN114499767A (zh) * | 2022-04-14 | 2022-05-13 | 苏州联讯仪器有限公司 | 一种数据传输系统及其rs编码装置和方法 |
CN116028260A (zh) * | 2023-01-09 | 2023-04-28 | 海光信息技术股份有限公司 | 数据的处理方法、处理装置以及存储系统 |
WO2023208231A1 (zh) * | 2022-04-29 | 2023-11-02 | 华为技术有限公司 | 一种内存数据读写方法、系统以及内存控制器 |
CN117220832A (zh) * | 2023-11-07 | 2023-12-12 | 苏州联讯仪器股份有限公司 | 一种误码插入方法、装置、系统及计算机存储介质 |
WO2024031733A1 (zh) * | 2022-08-09 | 2024-02-15 | 长鑫存储技术有限公司 | 数据处理方式、数据处理结构及存储器 |
WO2024124709A1 (zh) * | 2022-12-14 | 2024-06-20 | 成都海光集成电路设计有限公司 | 数据编、解码方法、纠错方法、内存控制器、芯片及设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101067972A (zh) * | 2007-04-23 | 2007-11-07 | 北京芯技佳易微电子科技有限公司 | 一种存储器检错纠错编码电路及利用其读写数据的方法 |
US20080107188A1 (en) * | 2001-03-20 | 2008-05-08 | Lightwaves Systems, Inc. | High bandwidth data transport system |
US20080163032A1 (en) * | 2007-01-02 | 2008-07-03 | International Business Machines Corporation | Systems and methods for error detection in a memory system |
US20110113305A1 (en) * | 2009-11-12 | 2011-05-12 | Broadlogic Network Technologies Inc. | High throughput interleaver / deinterleaver |
CN103678231A (zh) * | 2013-11-29 | 2014-03-26 | 成都国蓉科技有限公司 | 一种两通道并行信号处理模块 |
CN103986511A (zh) * | 2014-04-22 | 2014-08-13 | 航天恒星科技有限公司 | 一种高速光电数据传输系统 |
US20190042362A1 (en) * | 2018-06-28 | 2019-02-07 | Anatoli Bolotov | Error correction code memory security |
CN109617671A (zh) * | 2018-12-21 | 2019-04-12 | 成都海光集成电路设计有限公司 | 加解密、扩展方法及装置、加解密系统、终端 |
CN109873648A (zh) * | 2019-02-21 | 2019-06-11 | 上海卫星工程研究所 | 宽频段可控增益多通道调制解调装置 |
CN110071727A (zh) * | 2019-04-26 | 2019-07-30 | 成都海光集成电路设计有限公司 | 编码方法、译码方法、纠错方法及装置 |
-
2020
- 2020-02-26 CN CN202010118886.5A patent/CN111294059B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080107188A1 (en) * | 2001-03-20 | 2008-05-08 | Lightwaves Systems, Inc. | High bandwidth data transport system |
US20080163032A1 (en) * | 2007-01-02 | 2008-07-03 | International Business Machines Corporation | Systems and methods for error detection in a memory system |
CN101067972A (zh) * | 2007-04-23 | 2007-11-07 | 北京芯技佳易微电子科技有限公司 | 一种存储器检错纠错编码电路及利用其读写数据的方法 |
US20110113305A1 (en) * | 2009-11-12 | 2011-05-12 | Broadlogic Network Technologies Inc. | High throughput interleaver / deinterleaver |
CN103678231A (zh) * | 2013-11-29 | 2014-03-26 | 成都国蓉科技有限公司 | 一种两通道并行信号处理模块 |
CN103986511A (zh) * | 2014-04-22 | 2014-08-13 | 航天恒星科技有限公司 | 一种高速光电数据传输系统 |
US20190042362A1 (en) * | 2018-06-28 | 2019-02-07 | Anatoli Bolotov | Error correction code memory security |
CN109617671A (zh) * | 2018-12-21 | 2019-04-12 | 成都海光集成电路设计有限公司 | 加解密、扩展方法及装置、加解密系统、终端 |
CN109873648A (zh) * | 2019-02-21 | 2019-06-11 | 上海卫星工程研究所 | 宽频段可控增益多通道调制解调装置 |
CN110071727A (zh) * | 2019-04-26 | 2019-07-30 | 成都海光集成电路设计有限公司 | 编码方法、译码方法、纠错方法及装置 |
Non-Patent Citations (2)
Title |
---|
SADIA AHMAD 等: "Comparison of EDAC schemes for DDR memory in space applications", 《2013 INTERNATIONAL CONFERENCE ON AEROSPACE SCIENCE & ENGINEERING (ICASE)》 * |
翟国芳 等: "基于FPGA的遥感相机图像传输系统设计", 《电子测量技术》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112579342A (zh) * | 2020-12-07 | 2021-03-30 | 海光信息技术股份有限公司 | 内存纠错方法、内存控制器及电子设备 |
CN112579342B (zh) * | 2020-12-07 | 2024-02-13 | 海光信息技术股份有限公司 | 内存纠错方法、内存控制器及电子设备 |
CN112688693A (zh) * | 2020-12-14 | 2021-04-20 | 海光信息技术股份有限公司 | 一种内存多矩阵编码方法、纠错方法及相关装置 |
CN112688693B (zh) * | 2020-12-14 | 2023-12-05 | 海光信息技术股份有限公司 | 一种内存多矩阵编码方法、纠错方法及相关装置 |
CN113485866B (zh) * | 2021-07-02 | 2023-05-09 | 海光信息技术股份有限公司 | 译码方法及相关装置、电子设备和存储介质 |
CN113485866A (zh) * | 2021-07-02 | 2021-10-08 | 海光信息技术股份有限公司 | 译码方法及相关装置、电子设备和存储介质 |
CN114499767A (zh) * | 2022-04-14 | 2022-05-13 | 苏州联讯仪器有限公司 | 一种数据传输系统及其rs编码装置和方法 |
CN114499767B (zh) * | 2022-04-14 | 2022-08-05 | 苏州联讯仪器有限公司 | 一种数据传输系统及其rs编码装置和方法 |
WO2023208231A1 (zh) * | 2022-04-29 | 2023-11-02 | 华为技术有限公司 | 一种内存数据读写方法、系统以及内存控制器 |
WO2024031733A1 (zh) * | 2022-08-09 | 2024-02-15 | 长鑫存储技术有限公司 | 数据处理方式、数据处理结构及存储器 |
WO2024124709A1 (zh) * | 2022-12-14 | 2024-06-20 | 成都海光集成电路设计有限公司 | 数据编、解码方法、纠错方法、内存控制器、芯片及设备 |
CN116028260A (zh) * | 2023-01-09 | 2023-04-28 | 海光信息技术股份有限公司 | 数据的处理方法、处理装置以及存储系统 |
CN116028260B (zh) * | 2023-01-09 | 2024-02-27 | 海光信息技术股份有限公司 | 数据的处理方法、处理装置以及存储系统 |
CN117220832A (zh) * | 2023-11-07 | 2023-12-12 | 苏州联讯仪器股份有限公司 | 一种误码插入方法、装置、系统及计算机存储介质 |
CN117220832B (zh) * | 2023-11-07 | 2024-03-15 | 苏州联讯仪器股份有限公司 | 一种误码插入方法、装置、系统及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111294059B (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111294059B (zh) | 编码方法、译码方法、纠错方法及相关装置 | |
US8055982B2 (en) | Error correction system and method | |
US4817095A (en) | Byte write error code method and apparatus | |
US11393550B2 (en) | Memory system with error detection | |
US8117526B2 (en) | Apparatus and method for generating a transmit signal and apparatus and method for extracting an original message from a received signal | |
CN110071727B (zh) | 编码方法、译码方法、纠错方法及装置 | |
US4473902A (en) | Error correcting code processing system | |
US5751745A (en) | Memory implemented error detection and correction code with address parity bits | |
EP4134825A2 (en) | Memory device and operating method thereof | |
CN111462807B (zh) | 错误更正码存储器装置和码字存取方法 | |
US5761221A (en) | Memory implemented error detection and correction code using memory modules | |
US20160056842A1 (en) | In-band status encoding and decoding using error correction symbols | |
US20040088497A1 (en) | Methods and apparatus for exchanging data using cyclic redundancy check codes | |
US6460157B1 (en) | Method system and program products for error correction code conversion | |
KR100499467B1 (ko) | 블록 인터리빙 방법 및 그를 위한 장치 | |
US9350390B2 (en) | Encoder, decoder and semiconductor device including the same | |
CN113485866B (zh) | 译码方法及相关装置、电子设备和存储介质 | |
CN113422612B (zh) | 编码方法、译码方法及相关装置、电子设备和存储介质 | |
US8176395B2 (en) | Memory module and writing and reading method thereof | |
US20230231578A1 (en) | Method and system for on-asic error control decoding | |
US20230229554A1 (en) | Method and system for on-asic error control encoding | |
TWI707354B (zh) | 錯誤更正碼記憶體裝置和碼字存取方法 | |
US20220253536A1 (en) | Memory controller for improving data integrity and providing data security and a method of operating thereof | |
CN117636998A (zh) | 数据处理方式、数据处理结构及存储器 | |
RU175054U1 (ru) | Устройство хранения и передачи данных с обнаружением одиночных и двойных ошибок |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |