CN101099138A - 限制了错误字节数的字节内多个斑点字节错误纠正/检测方法和装置 - Google Patents
限制了错误字节数的字节内多个斑点字节错误纠正/检测方法和装置 Download PDFInfo
- Publication number
- CN101099138A CN101099138A CNA2005800465046A CN200580046504A CN101099138A CN 101099138 A CN101099138 A CN 101099138A CN A2005800465046 A CNA2005800465046 A CN A2005800465046A CN 200580046504 A CN200580046504 A CN 200580046504A CN 101099138 A CN101099138 A CN 101099138A
- Authority
- CN
- China
- Prior art keywords
- byte
- mentioned
- matrix
- spot
- mistake
- 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/13—Linear codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Algebra (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种限制了错误字节数的字节内多个斑点字节错误纠正/检测方法和装置,具有可控制在有限数量的字节内产生的多重的字节内多个斑点字节错误的功能。该装置具有:编码单元,其根据输入信息数据生成发送字;以及解码单元,其把在信息传送路径中产生错误的发送字作为接收字来输入,纠正或检测错误;编码单元把根据表现斑点字节错误控制码的奇偶校验矩阵和输入信息数据所生成的校验信息附加给输入信息数据,从而生成发送字;解码单元具有:校正子生成单元,其根据奇偶校验矩阵生成接收字的校正子;以及纠错单元,其根据由校正子生成单元所生成的校正子纠正或检测接收字的错误。
Description
技术领域
本发明涉及斑点字节错误纠正/检测方法和装置,更详细地说,涉及把多个位用作字节,针对由该多个字节构成的字(word),把在1字节内产生多个斑点字节错误的错误称为“字节内多个斑点字节错误”,在有限数的字节内产生该字节内多个斑点字节错误的情况下,适合用于检测或纠正该错误、即“限制了错误字节数的字节内多个斑点字节错误”的限制了错误字节数的字节内多个斑点字节错误纠正/检测方法和装置。
背景技术
近年来,随着信息化社会的进展和半导体技术的进步等,提高数字数据的可靠性变得越发重要。在要准确进行数字数据的传送或记录的情况下,有必要检测/纠正由于发送数据在传送路径中受到噪音等的影响而被误传送、或者由于元件的故障或记录介质等的缺陷等而产生的错误。为了实现该错误的检测/纠正,以往开发出各种以编码理论为基础的纠错/检错码。
作为以往的纠错码,例如,公开了把b位(b是大于等于2的整数)的块称为字节,纠正1字节中的任意错误的码(称为SbEC码)即优良的Hong-Patel码(例如,参照非专利文献1)。
并且,公开了具有包含以往在高速半导体存储器系统中使用最多的1位纠错/2位检错码的特征的奇数加权列字节纠错码(例如,参照非专利文献2)。
而且,作为里德-所罗门码(Reed-Solomon码)及其改良的效率高的码,提出了纠正1字节错误、并检测2字节错误的码(称为SbEC-DbED码),已在许多计算机系统等的主存储装置内采用(例如,参照非专利文献3和非专利文献4)。
并且,作为检测字节错误的码,发表了纠正1位错误、而且检测2位错误、同时还检测1字节错误的码(称为SEC-DED-SbED码),目前,大量应用于计算机系统的主存储装置内(例如,参照非专利文献5)。
另外,这些到二十世纪八十年代后半期的相互关联的许多码研究/开发相关的具体内容在非专利文献6中作了总括性描述。
之后,作为新开发的高速半导体存储器用的码,在下述非专利文献7中提出了纠正1字节的错误、并检测2位错误的码(称为SbEC-DED码),并且,在非专利文献8中提出了纠正1字节的错误、并检测1位错误和1字节错误的同时错误的码(称为SbEC-(S+Sb)ED码)。而且,在非专利文献9中公开了纠正1字节的错误、同时当有2位的错误时纠正该错误的码(称为SbEC-DEC码)。
特别是,作为本发明最关联的码,具体地说,已公开了把由b位构成的字节内的到t位(t≤b)为止的错误称为t/b错误或斑点字节错误、纠正该1斑点字节错误的St/bEC码;以及纠正1斑点字节错误、并且检测超过字节内t位的1字节错误的St/bEC-SbED码相关的发明(参照专利文献1)。并且,特别是关于St/bEC码,在非专利文献10中作了公开。
并且,已申请了纠正1斑点字节错误并检测2斑点字节错误的St/bEC-Dt/bED码;以及纠正1斑点字节错误、并检测2斑点字节错误、而且检测超过字节内t位的1字节错误的St/bEC-Dt/bED-SbED码相关的发明(参照专利文献2)。
而且,已申请了在考虑到多个斑点字节错误的情况下,把在1字节内仅产生1斑点字节错误的错误称为“字节内单一斑点字节错误”,针对字节内单一斑点字节错误,具有距离d的一般构成法相关的发明(参照专利文献3)。
并且,已申请了把在1字节内产生多个斑点字节错误(即,2个以上的斑点字节错误)的错误称为“字节内多个斑点字节错误”,具有距离d的一般构成法相关的发明(参照专利文献4)。
到二十世纪八十年代中期,由于半导体存储器元件主要使用具有数据1位的输入输出的元件,因而大量使用纠正1个元件的错误并检测2个元件的错误的1位纠错/2位检错码(称为SEC-DED码)。然而,从二十世纪八十年代中期起,应对存储器元件的高集成化需求,具有数据4位的输入输出的元件开始成为主流,主要使用字节宽b=4位的上述的S4EC-D4ED码和SEC-DED-S4ED码。而且,从二十世纪九十年代中期起,具有数据8位、16位的输入输出的半导体存储器元件开始成为主流。
然而,在把b=8或者b=16应用于以往的SbEC-DbED码的字节宽b的情况下,校验位数占整体码长的比例很大,约为30%至40%,编码率下降,在实用上成为非常大的问题。
另外,在使用这些半导体存储器元件(DRAM元件,以下简称为元件)的存储器装置中,由于噪音或α粒子等而产生临时故障,或者产生DRAM元件自身退化而不动作的固定故障。使用最近的DRAM元件的装置的80%以上一般认为是临时故障,特别是,在具有8位以上的多位数据输入输出的DRAM元件中认为大半是字节中的1、2、3位左右的较小数的位错误。
其中由能级较低的电磁噪音或α粒子引起的临时错误、以及起因于存储器单元的固定故障的1位错误最多,最近,由于广泛使用安装有上述DRAM元件的移动设备,因而必须考虑在电磁环境不良时的使用。并且,在以较高高度飞行的飞机和军用机中使用的电子设备中的DRAM元件中,由于宇宙线引起的能级高的中子粒子等的碰撞,产生具有2位、3位左右的错误的临时故障的可能性增高。而且,一般知道,在卫星通信和宇宙通信中使用的宇宙设备上安装的DRAM元件中,有必要考虑因与能级高的粒子之间的碰撞而受到大的损坏,在该情况下必须考虑2位以上的错误。
根据以上的位错误产生状况涉及多方面的这一情况,可把任意的值提供给参数t和b而构成的上述St/bEC-SbED码在用于使用8位以上的DRAM元件的存储器装置的情况下,是非常实用的编码方式。即,上述St/bEC-SbED码具有能纠正到比字节宽b小的t位(该t的值可由设计者调查错误倾向来任意决定)为止的1个元件的错误(斑点字节错误)的功能、以及能检测产生概率小的超过t位的1字节错误的功能,从而与以往的按字节单位进行的里德-所罗门码(RS码)等的错误控制码相比较,可使用数量大幅减少的校验位来纠正/检测错误。
并且,对于跨越任意的2个元件(不限于相邻的2个元件)的错误,上述St/bEC-Dt/bED-SbED码在用于使用8位以上的DRAM元件的存储器装置的情况下是非常实用的编码方式。即,上述St/bEC-Dt/bED-SbED码是具有能纠正到比字节宽b小的t位为止的1个元件的错误的功能(1斑点字节纠错,St/bC)、能检测跨越2个元件的斑点字节错误的功能(2斑点字节检错,Dt/bED)、以及能检测产生概率小的超过t位的1字节错误的功能(1字节检错,SbED)的码,与以往的按字节单位进行的编码方式相比较,可使用数量大幅减少的校验位进行纠正/检测位错误。
而且,对于跨越2个元件以上的错误,针对上述字节内单一斑点字节错误和上述字节内多个斑点字节错误,在理论上,构成一般在GF(2b)上具有距离d的斑点字节错误控制码,从而可纠正/检测该错误。
然而,一次跨越许多元件产生错误的情况较少,通常,在有限数量的元件,即有限数量的字节内产生。并且,产生错误的元件的数量认为至多2、3个元件。
发明内容
本发明是鉴于上述情况而作成的,本发明的目的是提供一种具有能控制在有限数量的字节内产生的多重的字节内多个斑点字节错误的功能的、限制了错误字节数的字节内多个斑点字节错误纠正/检测方法和装置。
并且,本发明的另一目的是提供一种具有当设t=1时,能控制在有限数量的字节内产生的随机位错误的功能的、限制了错误字节数的字节内多个斑点字节错误纠正/检测方法和装置。
并且,本发明的再一目的是提供一种具有检测产生概率小的超过字节内多个斑点字节错误的纠正能力的单一字节错误的功能的、限制了错误字节数的字节内多个斑点字节错误纠正/检测方法和装置。
本发明涉及一种限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,该装置具有:编码单元,其根据输入信息数据生成发送字;以及解码单元,其把在信息传送路径中产生错误的上述发送字作为接收字来输入,纠正或检测上述错误;本发明的上述目的是通过下述来有效达到的,即:上述编码单元把根据表现斑点字节错误控制码的奇偶校验矩阵和上述输入信息数据所生成的校验信息附加给上述输入信息数据,从而生成上述发送字;上述解码单元具有:校正子生成单元,其根据上述奇偶校验矩阵生成上述接收字的校正子;以及纠错单元,其根据由上述校正子生成单元所生成的校正子纠正或检测上述接收字的错误;或者,在上述输入信息数据把b(b是大于等于2的整数)位设定为1字节并由多个字节构成的情况下,这里,前提是:把字节内的到t位(1≤t≤b)为止的错误称为斑点字节错误,把在1字节内产生多个上述斑点字节错误的错误称为字节内多个斑点字节错误;由上述奇偶校验矩阵所表现的上述斑点字节错误控制码纠正在p1个字节内产生的μ1个斑点字节错误,而且检测在p2个字节内产生的μ2个斑点字节错误;或者,任意设定上述t值、b值、p1值、p2值、μ1值、μ2值,其中,p1≤p2以及μ1≤μ2成立;或者,上述信息传送路径是信息通信系统;或者,上述信息传送路径是存储器系统;或者,上述信息传送路径是总线电路。
并且,本发明的上述目的是通过下述来有效达到的,即:上述奇偶校验矩阵是在具有纠正在p1个字节内产生的μ1个斑点字节错误、而且检测在p2个字节内产生的μ2个斑点字节错误的功能的、限制了错误字节数的字节内多个斑点字节错误控制码([μ1t/bEC]p1-[μ2t/bED]p2码)中使用的具有R行N列的以下矩阵H,
式中,R=q+(p1+p2-1)r,N=bn,0≤i≤n-1,n=2r-1,矩阵H’是由H’=[h0’、h1’、…、hb-1’]所示的由q次的列向量hj’(0≤j≤b-1)构成的q行b列(q≤b)的二元矩阵,等于或大于(μ1+μ2)t或b中的任一小的值的列是线性独立的,当(μ1+μ2)t≥b时,上述矩阵H’是包含单位矩阵的正则矩阵,当(μ1+μ2)t<b时,上述矩阵H’等于具有最小汉明距离(μ1+μ2)t+1的码的校验矩阵,即,具有(μ1+μ2)t位检错功能的(b、b-q)码的奇偶校验矩阵,并且,矩阵H”是由H”=[h0”、h1”、…、hb-1”]所示的由r次的列向量hj”(0≤j≤b-1)构成的r行b列(r≤b)的二元矩阵,等于或大于(μ1+μ2)/2t或b中的任一小的值的列是线性独立的,这里,x表示不超过x的最大整数,并且,当(μ1+μ2)/2t≥b时,上述矩阵H”是包含单位矩阵的正则矩阵,当(μ1+μ2)/2<b时,上述矩阵H”等于具有最小汉明距离(μ1+μ2)/2t+1的码的校验矩阵,即,具有(μ1+μ2)/2t位检错功能的(b、b-r)码的奇偶校验矩阵,γ是GF(2)的r次的扩大域GF(2r)的原始元,并构成为使γiH”=[γih0”、γih1”、…、γihb-1”]成立。
并且,本发明的上述目的是通过下述来有效达到的,即:上述奇偶校验矩阵是在具有纠正在p1个字节内产生的μ1个斑点字节错误、而且检测在p2个字节内产生的μ2个斑点字节错误的功能的、限制了错误字节数的解压缩字节内多个斑点字节错误控制码(解压缩[μ1t/bEC]p1-[μ2t/bED]p2码)中使用的具有R行N列的以下矩阵H,
式中,r’≥r,R=q+(p1+p2-1)r’,N=b(n+1)+r’,0≤i≤n-1,n=2r’-1,Ir′是r’次的单位矩阵,O是零矩阵,矩阵H’是由H’=[h0’、h1’、…、hb-1’]所示的由q次的列向量hj’(0≤j≤b-1)构成的q行b列(q≤b)的二元矩阵,等于或大于(μ1+μ2)t或b中的任一小的值的列是线性独立的,当(μ1+μ2)t≥b时,上述矩阵H’是包含单位矩阵的正则矩阵,当(μ1+μ2)t<b时,上述矩阵H’等于具有最小汉明距离(μ1+μ2)t+1的码的校验矩阵,即,具有(μ1+μ2)t位检错功能的(b、b-q)码的奇偶校验矩阵,并且,矩阵H”是由H”=[h0”、h1”、…、hb-1”]所示的由r次的列向量hj”(0≤j≤b-1)构成的r行b列(r≤b)的二元矩阵,等于或大于(μ1+μ2)/2t或b中的任一小的值的列是线性独立的,这里,x表示不超过x的最大整数,并且,当(μ1+μ2)/2t≥b时,上述矩阵H”是包含单位矩阵的正则矩阵,当(μ1+μ2)/2t<b时,上述矩阵H”等于具有最小汉明距离(μ1+μ2)/2t+1的码的校验矩阵,即,具有(μ1+μ2)/2t位检错功能的(b、b-r)码的奇偶校验矩阵,γ是GF(2)的r’次的扩大域GF(2r’)的原始元,并构成为使γiH”=[γiФ(h0”)、γIФ(h1”)、…、γiФ(hb-1”)]成立,这里,Ф是根据加法从GF(2r)到GF(2r’)的单射同态(injective homomorphism),即,Ф:GF(2r)→GF(2r’)。
并且,本发明的上述目的是通过下述来有效达到的,即:上述奇偶校验矩阵是在具有纠正在p1个字节内产生的μ1个斑点字节错误、并检测在p2个字节内产生的μ2个斑点字节错误、而且检测超过纠正能力的1字节错误的功能的、限制了错误字节数的字节内多个斑点字节错误控制码([μ1t/bEC]p1-[μ2t/bED]p2-SbED码)中使用的具有R行N列的以下矩阵H,
式中,R=b+(p1+p2-1)r,N=bn,0≤i≤n-1,n=2r-1,Ib是b次的单位矩阵,矩阵H”是由H”=[h0”、h1”、…、hb-1”]所示的由r次的列向量hj”(0≤j≤b-1)构成的r行b列(r≤b)的二元矩阵,等于或大于(μ1+μ2)/2t或b中的任一小的值的列是线性独立的,这里,x表示不超过x的最大整数,这里,当(μ1+μ2)/2t≥b时,上述矩阵H”是包含单位矩阵的正则矩阵,当(μ1+μ2)/2t<b时,上述矩阵H”等于具有最小汉明距离(μ1+μ2)/2t+1的码的校验矩阵,即,具有(μ1+μ2)/2t位检错功能的(b、b-r)码的奇偶校验矩阵,γ是GF(2)的r次的扩大域GF(2r)的原始元,并构成为使γiH”=[γih0”、γih1”、…、γihb-1”]成立。
并且,本发明的上述目的是通过下述来有效达到的,即:上述奇偶校验矩阵是在具有纠正在p1个字节内产生的μ1个斑点字节错误、并检测在p2个字节内产生的μ2个斑点字节错误、而且检测超过纠正能力的1字节错误的功能的、限制了错误字节数的解压缩字节内多个斑点字节错误控制码(解压缩[μ1t/bEC]p1-[μ2t/bED]p2-SbED码)中使用的具有R行N列的以下矩阵H,
式中,r’≥r,R=b+(p1+p2-1)r’,N=b(n+1)+r’,0≤i≤n-1,n=2r’-1,Ib是b次的单位矩阵,Ir’是r’次的单位矩阵,O是零矩阵,矩阵H”是由H”=[h0”、h1”、…、hb-1”]所示的由r次的列向量hj”(0≤j≤b-1)构成的r行b列(r≤b)的二元矩阵,等于或大于t或b中的任一小的值的列是线性独立的,这里,x表示不超过x的最大整数,这里,当(μ1+μ2)/2t≥b时,上述矩阵H”是包含单位矩阵的正则矩阵,当(μ1+μ2)/2t<b时,上述矩阵H”等于具有最小汉明距离(μ1+μ2)/2t+1的码的校验矩阵,即,具有(μ1+μ2)/2t位检错功能的(b、b-r)码的奇偶校验矩阵,γ是GF(2)的r’次的扩大域GF(2r’)的原始元,并构成为使γiH”=[γiФ(h0”)、γiФ(h1”)、…、γiФ(hb-1”)]成立,这里,Ф是根据加法从GF(2r)到GF(2r’)的单射同态(injective homomorphism),即,Ф:GF(2r)→GF(2r’)。
并且,本发明的上述目的是通过下述来有效达到的,即:上述限制了错误字节数的字节内多个斑点字节错误控制码([μ1t/bEC]p1-[μ2t/bED]p2码)是具有在把上述t值设定为1的情况下(t=1),纠正在p1个字节内产生的μ1个随机位错误、而且检测在p2个字节内产生的μ2个随机位错误的功能的、限制了错误字节数的随机位错误控制码;或者,上述限制了错误字节数的解压缩字节内多个斑点字节错误控制码(解压缩[μ1t/bEC]p1-[μ2t/bED]p2码)是具有在把上述t值设定为1的情况下(t=1),纠正在p1个字节内产生的μ1个随机位错误、而且检测在p2个字节内产生的μ2个随机位错误的功能的、限制了错误字节数的随机位错误控制码;或者,上述限制了错误字节数的字节内多个斑点字节错误控制码([μ1t/bEC]p1-[μ2t/bED]p2-SbED码)是具有在把上述t值设定为1的情况下(t=1),纠正在p1个字节内产生的μ1个随机位错误、并检测在p2个字节内产生的μ2个随机位错误、而且检测超过纠正能力的1字节错误的功能的、限制了错误字节数的随机位错误控制码;或者,上述限制了错误字节数的解压缩字节内多个斑点字节错误控制码(解压缩[μ1t/bEC]p1-[μ2t/bED]p2-SbED码)是具有在把上述t值设定为1的情况下(t=1),纠正在p1个字节内产生的μ1个随机位错误、并检测在p2个字节内产生的μ2个随机位错误、而且检测超过纠正能力的1字节错误的功能的、限制了错误字节数的随机位错误控制码。
并且,本发明的上述目的是通过下述来有效达到的,即:上述奇偶校验矩阵(H)在设t≥b/(μ1+μ2)/2的情况下,上述矩阵H’和上述矩阵H”为任意的b列是线性独立的矩阵,与具有纠正p1字节错误并检测p2字节错误的功能的RS码的奇偶校验矩阵一致;或者,上述奇偶校验矩阵(H)在设t≥b/(μ1+μ2)/2的情况下,上述矩阵H’和上述矩阵H”为任意的b列是线性独立的矩阵,与具有纠正p1字节错误并检测p2字节错误的功能的2次解压缩RS码的奇偶校验矩阵一致;或者,上述奇偶校验矩阵(H)在设t≥b/(μ1+μ2)/2的情况下,上述矩阵H”为任意的b列是线性独立的矩阵,与具有纠正p1字节错误并检测p2字节错误的功能的RS码的奇偶校验矩阵一致;或者,上述奇偶校验矩阵(H)在设t≥b/(μ1+μ2)/2的情况下,上述矩阵H”为任意的b列是线性独立的矩阵,与具有纠正p1字节错误并检测p2字节错误的功能的2次解压缩RS码的奇偶校验矩阵一致。
并且,本发明的上述目的是通过下述来有效达到的,即:上述纠错单元根据上述校正子生成检测上述接收字的哪个位产生错误的位错误指针,根据所生成的上述位错误指针来使与错误位对应的上述接收字的位值反转,从而纠正上述接收字的错误,并且在检测出不能纠正上述接收字的位错误的情况下,输出不能纠正错误检测信号;或者,上述纠错单元由H’解码单元、H”乘法单元、GF(2r)上的并行解码单元、GF(2b)上的错误生成单元、以及反转单元构成;或者,上述H’解码单元根据由上述校正子生成单元所生成的上述校正子的高q位,生成各字节的错误的和(eA);上述H”乘法单元根据由上述H’解码单元所生成的上述各字节的错误的和(eA),生成上述各字节的错误的和(eA)与H”的转置矩阵的积;上述GF(2r)上的并行解码单元根据由上述H”乘法单元所生成的上述各字节的错误的和(eA)与H”的转置矩阵的积、以及由上述校正子生成单元所生成的上述校正子的除去高q位的剩余的低位,生成GF(2r)上的位错误指针、以及当在GF(2r)上的并行解码中认为不能进行纠错时所输出的第1不能纠正错误检测信号;上述GF(2b)上的错误生成单元根据由上述H’解码单元所生成的上述各字节的错误的和(eA)、以及由上述GF(2r)上的并行解码单元所生成的上述GF(2r)上的位错误指针,生成GF(2b)上的位错误指针、以及当认为不能进行纠错时所输出的第2不能纠正错误检测信号;上述反转单元根据由上述GF(2b)上的错误生成单元所生成的上述GF(2b)上的位错误指针,使与上述GF(2b)上的位错误指针对应的上述接收字的位值反转,从而纠正上述接收字的错误;或者,在上述纠错单元中,通过取由上述GF(2r)上的并行解码单元所生成的上述第1不能纠正错误检测信号与由上述GF(2b)上的错误生成单元所生成的上述第2不能纠正错误检测信号的“或”,来输出表示检测出超过纠正能力的错误的第3不能纠正错误检测信号。
并且,本发明的上述目的是通过下述来有效达到的,即:上述GF(2b)上的错误生成单元具有:t位纠错解码单元,其从上述GF(2r)上的位错误指针(e’)的1字节输出解码结果位错误指针(ê)的1字节和i字节中的检测信号;多输入排序单元,其按照所输入的多个上述i字节中的检测信号的加权数,从输出的高位连续输出1;以及i字节中的误纠正判定单元,其进行误纠正判定,并输出上述GF(2b)上的位错误指针(e)的1字节;或者,上述GF(2b)上的错误生成单元具有t位纠错解码单元、多输入排序单元、以及i字节中的误纠正判定单元;上述t位纠错解码单元是将上述GF(2r)上的位错误指针(e’)的规定的1字节作为输入,把解码结果位错误指针(ê)的与上述规定的1字节对应的1字节输出到上述i字节中的误纠正判定单元,并把检测超过纠正能力的错误的信号即i字节中的检测信号输出到上述多输入排序单元和上述i字节中的误纠正判定单元的单元;上述多输入排序单元是对所输入的多个上述i字节中的检测信号的加权(1的数)进行计数,按照该加权数从输出的高位连续输出1的单元;上述i字节中的误纠正判定单元是将所有字节的从上述t位纠错解码单元所输出的上述解码结果位错误指针(ê)、上述i字节中的检测信号以及上述各字节的错误的和(eA)作为输入,进行误纠正判定,并输出上述GF(2b)上的位错误指针(e)的1字节的单元;或者,在上述GF(2b)上的错误生成单元中,把从上述多输入排序单元所输出的信号中的第2高位的信号作为上述第2不能纠正错误检测信号来输出,并且,收集从上述i字节中的误纠正判定单元所输出的信号,输出具有码位长的位数的上述GF(2b)上的位错误指针。
并且,本发明的上述目的是通过下述来有效达到的,即:在上述i字节中的误纠正判定单元中,上述误纠正判定使用以下的误纠正判定算式来进行,即:wM(êX+eA)≤μ1-wM(êX),式中,wM(e)被定义为表示斑点字节错误的个数,wH(ei)是向量ei中的伽罗瓦域GF(2)上的汉明加权;在上述误纠正算式成立的情况下,为ex=êx,判定为未进行误纠正,在上述误纠正算式不成立的情况下,为ex≠êx,判定为进行了误纠正;或者,针对上述[μ1t/bEC]p1-[μ2t/bED]p2-SbED码和上述解压缩[μ1t/bEC]p1-[μ2t/bED]p2-SbED码,把SI以外的校正子新输入到上述H”乘法单元,在SI≠0且SI以外的校正子是0的情况下,输出检测信号;并且,把SI新输入到上述GF(2b)上的错误生成单元,在上述GF(2b)上的错误生成单元中,在GF(2r)上的错误e’中检查错误字节数是否是1,并使用上述多输入排序单元来检查SI的汉明加权是否大于μ1t,从而构成上述解码单元。
并且,本发明涉及一种限制了错误字节数的字节内多个斑点字节错误纠正/检测方法,该方法具有:编码处理步骤,其根据输入信息数据生成发送字;以及解码处理步骤,其把在信息传送路径中产生错误的上述发送字作为接收字来输入,纠正或检测上述错误;本发明的上述目的是通过下述来有效达到的,即:上述编码处理步骤把根据表现斑点字节错误控制码的奇偶校验矩阵和上述输入信息数据所生成的校验信息附加给上述输入信息数据,从而生成上述发送字;上述解码处理步骤具有:校正子生成处理步骤,其根据上述奇偶校验矩阵生成上述接收字的校正子;以及纠错处理步骤,其根据由上述校正子生成处理步骤所生成的校正子纠正或检测上述接收字的错误;在上述输入信息数据把b(b是大于等于2的整数)位设定为1字节而由多个字节构成的情况下,这里,前提是:把字节内的到t位(1≤t≤b)为止的错误称为斑点字节错误,把在1字节内产生多个上述斑点字节错误的错误称为字节内多个斑点字节错误;由上述奇偶校验矩阵所表现的上述斑点字节错误控制码纠正在p1个字节内产生的μ1个斑点字节错误,而且检测在p2个字节内产生的μ2个斑点字节错误;任意设定上述t值、b值、p1值、p2值、μ1值、μ2值,其中,p1≤p2以及μ1≤μ2成立;上述信息传送路径是信息通信系统、存储器系统、或者总线电路的任一方。
并且,本发明的上述目的是通过下述来有效达到的,即:上述纠错处理步骤根据上述校正子生成检测上述接收字的哪个位产生错误的位错误指针,根据所生成的上述位错误指针来使与错误位对应的上述接收字的位值反转,从而纠正上述接收字的错误,并且在检测出不能纠正上述接收字的位错误的情况下,输出不能纠正错误检测信号;或者,上述纠错处理步骤具有H’解码处理步骤、H”乘法处理步骤、GF(2r)上的并行解码处理步骤、GF(2b)上的错误生成处理步骤、以及反转处理步骤;或者,上述H’解码处理步骤根据由上述校正子生成处理步骤所生成的上述校正子的高q位,生成各字节的错误的和(eA);上述H”乘法处理步骤根据由上述H’解码处理步骤所生成的上述各字节的错误的和(eA),生成上述各字节的错误的和(eA)与H”的转置矩阵的积;上述GF(2r)上的并行解码处理步骤根据由上述H”乘法处理步骤所生成的上述各字节的错误的和(eA)与H”的转置矩阵的积、以及由上述校正子生成处理步骤所生成的上述校正子的除去高q位的剩余的低位,生成GF(2r)上的位错误指针、以及当在GF(2r)上的并行解码中认为不能进行纠错时所输出的第1不能纠正错误检测信号;上述GF(2b)上的错误生成处理步骤根据由上述H’解码处理步骤所生成的上述各字节的错误的和(eA)、以及由上述GF(2r)上的并行解码处理步骤所生成的上述GF(2r)上的位错误指针,生成GF(2b)上的位错误指针、以及当认为不能进行纠错时所输出的第2不能纠正错误检测信号;上述反转处理步骤根据由上述GF(2b)上的错误生成处理步骤所生成的上述GF(2b)上的位错误指针,使与上述GF(2b)上的位错误指针对应的上述接收字的位值反转,从而纠正上述接收字的错误;或者,在上述纠错处理步骤中,通过取由上述GF(2r)上的并行解码处理步骤所生成的上述第1不能纠正错误检测信号与由上述GF(2b)上的错误生成处理步骤所生成的上述第2不能纠正错误检测信号的“或”,来输出表示检测出超过纠正能力的错误的第3不能纠正错误检测信号。
并且,本发明的上述目的是通过下述来有效达到的,即:上述GF(2b)上的错误生成处理步骤具有:t位纠错解码处理步骤,其从上述GF(2r)上的位错误指针(e’)的1字节输出解码结果位错误指针(ê)的1字节和i字节中的检测信号;多输入排序处理步骤,其按照所输入的多个上述i字节中的检测信号的加权数,从输出的高位连续输出1;以及i字节中的误纠正判定处理步骤,其进行误纠正判定,并输出上述GF(2b)上的位错误指针(e)的1字节;或者,上述GF(2b)上的错误生成处理步骤具有t位纠错解码处理步骤、多输入排序处理步骤、以及i字节中的误纠正判定处理步骤;上述t位纠错解码处理步骤将上述GF(2r)上的位错误指针(e’)的规定的1字节作为输入,把解码结果位错误指针(ê)的与上述规定的1字节对应的1字节输出到上述i字节中的误纠正判定处理步骤,并把检测超过纠正能力的错误的信号即i字节中的检测信号输出到上述多输入排序处理步骤和上述i字节中的误纠正判定处理步骤;上述多输入排序处理步骤对所输入的多个上述i字节中的检测信号的加权(1的数)进行计数,按照该加权数从输出的高位连续输出1;上述i字节中的误纠正判定处理步骤将所有字节的从上述t位纠错解码处理步骤所输出的上述解码结果位错误指针(ê)、上述i字节中的检测信号以及上述各字节的错误的和(eA)作为输入,进行误纠正判定,并输出上述GF(2b)上的位错误指针(e)的1字节;或者,在上述GF(2b)上的错误生成处理步骤中,把从上述多输入排序处理步骤所输出的信号中的第2高位的信号作为上述第2不能纠正错误检测信号来输出,并且,收集从上述i字节中的误纠正判定处理步骤所输出的信号,输出具有码位长的位数的上述GF(2b)上的位错误指针。
并且,本发明的上述目的是通过下述来有效达到的,即:在上述i字节中的误纠正判定处理步骤中,上述误纠正判定使用以下的误纠正判定算式来进行,即:wM(êX+eA)≤μ1-wM(êX),式中,wM(e)被定义为表示斑点字节错误的个数,wH(ei)是向量ei中的伽罗瓦域GF(2)上的汉明加权;在上述误纠正算式成立的情况下,为ex=êx,判定为未进行误纠正,在上述误纠正算式不成立的情况下,为ex≠êx,判定为进行了误纠正;或者,针对上述[μ1t/bEC]p1-[μ2t/bED]p2-SbED码和上述解压缩[μ1t/bEC]p1-[μ2t/bED]p2-SbED码,把SII、SIII、SIV新输入到上述H”乘法处理步骤,在SI≠0且SII=SIII=SIV=0的情况下,输出检测信号;并且,把SI新输入到上述GF(2b)上的错误生成处理步骤,在上述GF(2b)上的错误生成处理步骤中,在GF(2r)上的错误e’中检查错误字节数是否是1,并在上述多输入排序处理步骤检查SI的汉明加权是否大于μ1t,从而进行解码处理。
附图说明
图1是示出作为本发明的一个实施方式的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置的概略结构的框图。
图2是示出图1所示的本发明的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置中的整体动作的处理过程的流程图。
图3是示出本发明的奇偶校验矩阵的一例,即,具有码长N=90位、信息长K=64位、校验长R=26位、字节长b=8位、字节内纠正位数t=1位、纠正数μ1=检测数μ2=4、错误字节限制数p1=p2=2的码参数的缩短(90、64)[41/8EC]2码的奇偶校验矩阵的图。
图4是示出对图3所示的奇偶校验矩阵进行基本行变形所获得的编码用(90、64)[41/8EC]2组织码的奇偶校验矩阵的图。
图5是根据图4所示的编码用(90、64)[41/8EC]2组织码所构成的编码电路(高14位)的具体例,是根据K=64位的输入信息数据利用奇偶校验矩阵来生成26位的校验信息的电路的概念图。
图6是根据图4所示的编码用(90、64)[41/8EC]2组织码所构成的编码电路(低12位)的具体例,是根据K=64位的输入信息数据利用奇偶校验矩阵来生成26位的校验信息的电路的概念图。
图7是示出针对具有本发明所公开的功能的码的解码电路的概略结构的框图。
图8是用于对根据图3所示的(90、64)[41/8EC]2码而具体构成的校正子生成电路(高14位)进行说明的概念图。
图9是用于对根据图3所示的(90、64)[41/8EC]2码而具体构成的校正子生成电路(低12位)进行说明的概念图。
图10是根据图3所示的(90、64)[41/8EC]2码而具体构成的H’解码电路的结构图。
图11是根据图3所示的(90、64)[41/8EC]2码而具体构成的H”乘法电路的结构图。
图12是示出针对图3所示的(90、64)[41/8EC]2码的GF(2r)上的并行解码电路的概略结构的框图。
图13是针对图12所示的GF(2r)上的并行解码电路中的(i、j)的错误生成电路的一例的电路结构图。
图14是图12所示的GF(2r)上的并行解码电路中的GF(2r)上的错误计算电路的结构图。
图15是示出针对图3所示的(90、64)[41/8EC]2码的GF(2b)上的错误生成电路的概略结构的框图。
图16是图15所示的GF(2b)上的错误生成电路中的t位纠错解码电路的例子,是针对第1字节根据GF(2r)上的位错误指针生成解码结果位错误指针(ê)71的高4位的电路的结构图。
图17是图15所示的GF(2b)上的错误生成电路中的t位纠错解码电路的例子,是针对第1字节根据GF(2r)上的位错误指针生成解码结果位错误指针(ê)71的低4位的电路的结构图。
图18是图15所示的GF(2b)上的错误生成电路中的t位纠错解码电路的例子,是针对第1字节检测超过纠正能力的错误的电路的结构图。
图19是图15所示的GF(2b)上的错误生成电路中的12输入排序电路的结构图。
图20是图15所示的GF(2b)上的错误生成电路中的i字节中的误纠正判定电路的一例的电路结构图。
图21是图20所示的i字节中的误纠正判定电路中的各位“异或”电路的结构图。
图22是图20所示的i字节中的误纠正判定电路中的各位选择电路的结构图。
图23是图20所示的i字节中的误纠正判定电路中的16输入排序电路的结构图。
图24是针对图3所示的(90、64)[41/8EC]2码的反转电路的一例,是针对1字节的反转电路的结构图。
(符号说明)
1:校正子生成电路;
2:编码电路;
3:电路(存储器等的通信路径);
4:解码电路;
5:纠错电路;
6:H’解码电路;
7:H”乘法电路;
8:GF(2r)上的并行解码电路;
9:GF(2b)上的错误生成电路;
10:反转电路;
20:多输入奇偶校验电路;
21:多输入奇偶校验电路;
22:2输入“异或”电路;
23:3输入奇偶校验电路;
30:输入信息数据;
31:发送字;
32:接收字;
33:校正子(S);
34:输出信息数据;
35:不能纠正错误检测信号(UCE);
36:校正子(S)33的高q位(SI);
37:校正子(S)33的低3r位(SIISIIISIV);
38:各字节的错误的和(eA);
39:校正子(S)33的高q位SI36与H”的转置(H”T)的积(S’I);
40:GF(2r)上的位错误指针;
41:不能纠正错误检测信号(DS(0));
42:GF(2b)上的位错误指针;
43:不能纠正错误检测信号(DS(1));
44:2输入“与”门电路;
50:针对(i、j)的错误生成电路;
51:GF(2r)上的错误计算电路;
52:针对(i、j)的错误;
53:针对(i、j)的能纠正信号;
54:24输入“或”门电路;
55:66输入“或非”门电路;
56:2输入“与”门电路;
62:S’·B(i,j) T计算电路;
63:多输入奇偶校验电路;
64:多输入奇偶校验电路;
65:多输入奇偶校验电路;
66:12输入“或非”门电路;
67:2输入“与”门电路;
68:各位“或”运算电路;
69:11输入“或”门电路;
70:t位纠错解码电路;
71:解码结果位错误指针(ê);
72:i字节中的检测信号;
73;12输入排序电路;
74:i字节中的误纠正判定电路;
75:2输入“或”门电路;
76:2输入“与”门电路;
80:“非”门电路;
81:3输入“与”门电路;
82:4输入“与”门电路;
83:5输入“与”门电路;
84:5输入“或”门电路;
85:6输入“或”门电路;
86:15输入“或”门电路;
90:各位“异或”电路;
91:16输入排序电路;
92:4输入“或”门电路;
93:12输入“或非”门电路;
94:“非”门电路;
95:3输入“与”门电路;
96:各位选择电路;
97:多输入奇偶校验电路;
98:2输入多路复用器;
99:2输入“异或”电路;
100:限制了错误字节数的字节内多个斑点字节错误纠正/检测装置。
具体实施方式
以下,参照附图对用于实施本发明的最佳方式进行详细说明。
用于对本发明进行说明的用语定义如下。首先,在本发明的实施方式中,成为对象的数字数据意味着是0与1的组合的信号(二进制码),位错误的产生意味着码字中的任意位是0→1或者1→0。并且,斑点字节错误的产生意味着由b位构成的字节中的到t位(t≤b)为止是0→1或者1→0。
另外,在本实施方式中,在“错误”的情况下,只要未作特别载明,就包含所有的上述“位错误”和“斑点字节错误”。并且,把在1个字节内产生多个斑点字节错误(即,2个以上的斑点字节错误)的错误称为“字节内多个斑点字节错误”。并且,当字节内多个斑点字节错误在有限数量的字节内产生的情况下,把该错误称为“限制了错误字节数的字节内多个斑点字节错误”。
这里,首先,对本发明的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置100的整体结构进行说明。图1是示出本发明的限制字节数的字节内多个斑点字节错误纠正/检测装置100(以下简称为斑点字节错误纠正/检测装置100)的概略结构的框图。如图1所示,斑点字节错误纠正/检测装置100构成为具有编码电路2、电路3、解码电路4等。
编码电路2是生成针对对象的数字数据(以下称为输入信息数据30)进行错误的纠正/检测的校验信息的电路。另外,校验信息由任意个校验位构成。
电路3相当于存储器等的通信路径,在本实施方式中采用以下结构,即:有可能在经过了电路3的数据内包含错误。即,包含以下情况,即:从编码电路2输出并输入到电路3的数据不产生错误,而从电路3输出的数据产生错误。
解码电路4构成为具有校正子生成电路1和纠错电路5。解码电路4是用于检测接收字32是否包含错误、指定该错误部位来进行纠正的电路。在后述的解码处理中对解码电路4的详细结构进行说明。
另外,在后述的编码处理和解码处理中,进行基于伽罗瓦域理论的矩阵运算,因而编码电路2、解码电路4或者通信路径中的各数据由附有英文字母的矩阵或者向量来表现。具体地说,例如,表现为输入信息数据D、码(奇偶校验矩阵)H、校验信息C、发送字V、接收字V’、校正子S。
下面,对本发明的斑点字节错误纠正/检测装置100的整体动作进行说明。图2是示出图1所示的本发明的斑点字节错误纠正/检测装置100的整体动作的处理过程的流程图。
如图2所示,首先,在编码电路2中,当输入了输入信息数据(D)30时,使用在后面对详情进行描述的奇偶校验矩阵(H)来生成校验信息(C)(步骤S200)。然后,在编码电路2中,把该校验信息(C)附加给输入信息数据(D)30,作为发送字(V)31发送到存储器等的通信路径即电路3(步骤S201)。然后,经过电路3将有可能包含错误的接收字(V’)32输入到解码电路4(步骤S202)。
然后,在解码电路4中,首先,利用在编码电路2中使用的奇偶校验矩阵(H),检查所输入的接收字(V’)32是否产生了错误。具体地说,解码电路4的校正子生成电路1将使表现码的奇偶校验矩阵(H)转置后的转置矩阵(HT)乘以接收字(V’)32,从而生成校正子(S)(步骤S203)。由于校正子(S)33的值根据接收字(V’)32而变化,因而可判断接收字(V’)32是否包含错误。
因此,解码电路4的纠错电路5根据上述校正子(S)33的值,首先检测有无错误(步骤S204),在检测出错误的情况下,判断是否能纠正该错误(步骤S205),在上述判断的结果是能纠正该错误时,进行错误的纠正(步骤S206)。然后,纠错电路5在对接收字V’实施了斑点字节错误的纠正处理的情况下,把纠正后的V’作为接收字输出信息数据(V*)34来输出(步骤S207)。相比之下,在步骤S205的判断结果是检测出不能纠正的斑点字节错误等的情况下,纠错电路5输出作为不能纠正错误检测信号的UCE(Uncorrectable Error:不能纠正的错误)信号35(步骤S208)。
下面,对在上述的编码电路2和解码电路4中使用的奇偶校验矩阵(H)的结构进行详细说明。本发明的奇偶校验矩阵H(以下也称为H矩阵、码矩阵、或者仅称为校验矩阵)是具有纠正/检测在有限数量的字节内产生的多个斑点字节错误的功能的码。
在本实施方式中,提出了针对任意的p1、p2(p1≤p2)、μ1、μ2(μ1≤μ2)、t(t是大于等于1且小于等于b的整数)、以及b(大于等于2的整数)可构成的一般的码构成法,并表明了可使用该码来实际进行错误的纠正/检测的方法,而且提出了用于该方法的编码电路和解码电路,表明了可使用上述编码电路和解码电路来具体纠正/检测错误。
这里,具体表明如下:首先,纠正在p1个字节内产生的μ1个斑点字节错误,而且检测在p2个字节内产生的μ2个斑点字节错误。
以下,把具有纠正在p1个字节内产生的μ1个斑点字节错误、而且检测在p2个字节内产生的μ2个斑点字节错误的功能的“限制了错误字节数的字节内多个斑点字节错误控制码”表示为[μ1t/bEC]p1-[μ2t/bED]p2码。例如,在2个字节内产生的3个斑点字节纠错码的情况下,表示为[Tt/bEC]2码,为μ1=μ2=3、p1=p2=2。
并且,在本发明的码构成法中,当t=b时,如后面正确描述的一样,当t≥b/(μ1+μ2)/2时,与作为以往的字节错误控制码的里德-所罗门码(RS码)一致。
现在,对K位的输入信息数据(D)30附加R位的校验信息(C),当可构成具有满足某个功能的N=K+R位的长度的发送字V(N位的行向量)时,在该发送字(V)与规定错误控制码的R行N列的二元奇偶校验矩阵(H)之间,V·HT=0的关系成立。这里,HT是替换奇偶校验矩阵(H)的行和列而生成的转置矩阵,并且,右边的0表示R位的零行向量。
在本实施方式中,在具有纠正在p1个字节内产生的μ1个斑点字节错误、而且检测在p2个字节内产生的μ2个斑点字节错误的功能的、限制了错误字节数的字节内多个斑点字节错误控制码([μ1t/bEC]p1-[μ2t/bED]p2码)中使用的具有R行N列的奇偶校验矩阵(H)采用下述算式1所示的结构。
[算式1]
式中,R=q+(p1+p2-1)r,N=bn,0≤i≤n-1,n=2r-1。
构成上述算式1的矩阵H’是由下述算式2所示的由q次的列向量hj’(0≤j≤b-1)构成的q行b列(q≤b)的二元矩阵,等于或大于(μ1+μ2)t或b中的任一小的值的列是线性独立的。
[算式2]
H’=[h0’、h1’、…、hb-1’]
这里,当(μ1+μ2)t≥b时,上述矩阵H’是包含单位矩阵的正则矩阵,当(μ1+μ2)t<b时,上述矩阵H’等于具有最小汉明距离(μ1+μ2)t+1的码的校验矩阵,即,具有(μ1+μ2)t位检错功能的(b、b-q)码的奇偶校验矩阵。
并且,构成上述算式1的矩阵H”是由下述算式3所示的由r次的列向量hj”(0≤j≤b-1)构成的r行b列(r≤b)的二元矩阵,等于或大于(μ1+μ2)/2」t或b中的任一小的值的列是线性独立的。这里,x」表示不超过x的最大整数。
[算式3]
H”=[h0”、h1”、…、hb-1”]
这里,当(μ1+μ2)/2≥b时,上述矩阵H”是包含单位矩阵的正则矩阵,当(μ1+μ2)/2t<b时,上述矩阵H”等于具有最小汉明距离(μ1+μ2)/2t+1的码的校验矩阵,即,具有(μ1+μ2)/2t位检错功能的(b、b-r)码的奇偶校验矩阵。
接着,当把γ设定为GF(2)的r次的扩大域GF(2r)的原始元时,γiH”可按照下述算式4来定义。
[算式4]
γiH”=[γih0”、γih1”、…、γihb-1”]
此时,最大码长N是N=b(2r-1)。
上述算式1所示的奇偶校验矩阵(H)在设参数t≥b/(μ1+μ2)/2的情况下,H’和H”为任意的b列是线性独立的矩阵,因而与以往的具有纠正p1字节错误并检测p2字节错误的功能的、p1纠正p2检测RS码的奇偶校验矩阵一致。
并且,在本实施方式中,可定义[μ1t/bEC]p1-[μ2t/bED]p2码的解压缩码。在具有纠正在p1个字节内产生的μ1个斑点字节错误、而且检测在p2个字节内产生的μ2个斑点字节错误的功能的、限制了错误字节数的解压缩字节内多个斑点字节错误控制码(解压缩[μ1t/bEC]p1-[μ2t/bED]p2码)中使用的具有R行N列的奇偶校验矩阵(H)可采用下述算式5所示的结构。
[算式5]
式中,r’≥r,R=q+(p1+p2-1)r’,N=b(n+1)+r’,0≤i≤n-1,n=2r’-1,Ir’是r’次的单位矩阵,O是零矩阵。
构成上述算式5的矩阵H’是由下述算式6所示的由q次的列向量hj’(0≤j≤b-1)构成的q行b列(q≤b)的二元矩阵,等于或大于(μ1+μ2)t或b中的任一小的值的列是线性独立的。
[算式6]
H’=[h0’、h1’、…、hb-1’]
这里,当(μ1+μ2)t≥b时,上述矩阵H’是包含单位矩阵的正则矩阵,当(μ1+μ2)t<b时,上述矩阵H’等于具有最小汉明距离(μ1+μ2)t+1的码的校验矩阵,即,具有(μ1+μ2)t位检错功能的(b、b-q)码的奇偶校验矩阵。
并且,构成上述算式5的矩阵H”是由下述算式7所示的由r次的列向量hj”(0≤j≤b-1)构成的r行b列(r≤b)的二元矩阵,等于或大于(μ1+μ2)/2t或b中的任一小的值的列是线性独立的。这里,x表示不超过x的最大整数。
[算式7]
H”=[h0”、h1”、…、hb-1”]
这里,当(μ1+μ2)/2t≥b时,上述矩阵H”是包含单位矩阵的正则矩阵,当(μ1+μ2)/2t<b时,上述矩阵H”等于具有最小汉明距离(μ1+μ2)/2t+1的码的校验矩阵,即,具有(μ1+μ2)/2t位检错功能的(b、b-r)码的奇偶校验矩阵。
然后,当把γ设定为GF(2)的r’次的扩大域GF(2r’)的原始元时,γiH”可定义为下述算式8。
[算式8]
γiH”=[γiФ(h0”)、γiФ(h1”)、…、γiФ(hb-1”)]
这里,Φ是根据加法,通过从GF(2r)到GF(2r’)的单射同态(injectivehomomorphism),即,Φ:GF(2r)→GF(2r’)来有效实现的。此时,最大码长N是N=b·2r’+r’。必须注意,在算式5的H的第2行及以下的行中使用的H”的行数r’可取大于r的值,由算式5表示的码每隔(μ1+μ2-1)位使校验位数增大,从而是可针对任意码长而构成的码。
上述算式5所示的奇偶校验矩阵(H)在设参数t≥b/(μ1+μ2)/2的情况下,H’和H”为任意的b列是线性独立的矩阵,与以往的具有纠正p1字节错误并检测p2字节错误的功能的、p1纠正p2检测二次解压缩RS码的奇偶校验矩阵一致。
然后,具体表明如下:由上述算式1所示的奇偶校验矩阵(H)表示的码纠正在p1个字节内产生的μ1个斑点字节错误,而且检测在p2个字节内产生的μ2个斑点字节错误。一般情况下,只要表明奇偶校验矩阵H=[H0、H1、…、Hb-1]满足以下所示的充分必要条件即可。其中,Hi是R×b的小矩阵。
[算式9]
0≤v1≤p1+p2,0≤v2≤min((μ1+μ2)/2,p1+p2),
…,0≤vλ≤min((μ1+μ2)/λ,p1+p2)
并且,i1、i2:、…、iv1+v2+…vλ(0≤i1、i2、…、iv1+v2+…+vλ≤n-1)假定全部不同,wM(e)按照下述算式10来定义,表示斑点字节错误的个数。
式中,wH(ei)是向量ei中的伽罗瓦域GF(2)上的汉明加权。
[算式10]
斑点字节错误纠正/检测使用由上述的校正子生成电路1生成的校正子(S)33来执行。这里,校正子(S)33与上述奇偶校验矩阵(H)的关系表示为S=V’·HT。现在,当接收字(V’)32针对原来的发送字(V)31包含错误(E)、并表示为V’=V+E时,校正子(S)33为S=V’·HT=(V+E)·HT=V·HT+E·HT。
如上所述,由于V·HT=0的关系成立,因而,结果校正子S=E·HT成立。即,校正子(S)33不受发送字(V)31影响而仅由错误(E)决定,因而是否可根据校正子(S)33来进行斑点字节纠错,可根据利用奇偶校验矩阵(H)和错误(E)所计算的E·HT的值的结果来决定。
上述算式9所示的充分必要条件表明,针对斑点字节错误的纠正数μ1和检测数μ2,能纠正/检测的所有字节内多个斑点字节错误的校正子与能纠正的其他所有字节内多个斑点字节错误的校正子不同。
即,只要在p2个以下的字节内产生的μ2个以下的字节内多个斑点字节错误的校正子与在其他的p1个以下的字节内产生的μ1个以下的字节内多个斑点字节错误的校正子不同即可。
这里,把在ρ1(ρ1≤p1)字节内产生的l1(l1≤μ1)个斑点字节错误的集合设定为
其中,
并且,把在ρ2(ρ2≤p2)字节内产生的l2(l2≤μ2)个斑点字节错误的集合设定为
其中,
此时,[μ1t/bEC]p1-[μ2t/bED]p2码在Ωi和Ωj中的错误模式中,下述算式11的关系成立。
[算式11]
Ωi和Ωj中的斑点字节错误有在同一字节内产生错误的情况。在V(0≤V≤p1)字节中,假定在同一字节内产生错误,则得到下述算式12。
[算式12]
因此,从上述算式12得到下述算式13。
[算式13]
这里,对于x=l、2、…、V,
在上述算式13中,把(eix+ejx)置换为eix,假定ρ1+ρ2-V=v1+v1+…+vλ,则上述算式9所示的充分必要条件成立。
因此,通过表明由算式1所示的奇偶校验矩阵所表现的码满足上述算式9所示的充分必要条件,从而具体表明纠正在ρ1个字节内产生的μ1个斑点字节错误、而且检测在p2个字节内产生的μ2个斑点字节错误的情况。
作为校正子S,假定下述算式14的关系成立。
[算式14]
在上述算式14的
中,H’为任意的Min((μ1+μ2)t、b)列是线性独立的矩阵,从而得到下述算式15。
[算式15]
在上述算式15中,从右边乘以H”T,则得到下述算式16。
[算式16]
在上述算式14和算式16中,当把ei1·H″T、ei2·H″T、…、eiv1+v2…+vλ·H″T分别设为x1、x2、…、xv1+v2…+vλ时,得到下述算式17。这里,H”为任意的Min((μ1+μ2)/2t、b)列是线性独立的矩阵,从而得到x1≠0、x2≠0、…、
[算式17]
在上述算式17中,当从上起v1+v2+…+vλ(≤p1+p2)个式子由矩阵形式表现时,得到下述算式18。
[算式18]
上述算式18中的v1+v2+…+vλ行v1+v2+…+vλ列的矩阵由于采用范德蒙德矩阵形式,因而是正则矩阵。因此,把上述算式18的两边从左乘以该矩阵的逆矩阵,则得到下述算式19。
[算式19]
因此,从上述的证明结果可证明,上述算式1所示的奇偶校验矩阵(H)具有纠正在接收字(V’)32内包含的p1个字节内产生的μ1个斑点字节错误、而且检测在p2个字节内产生的μ2个斑点字节错误的功能。
并且,表明由上述算式5所示的奇偶校验矩阵(H)表示的解压缩码同样满足上述算式9所示的充分必要条件,从而可表明,纠正在p1个字节内产生的μ1个斑点字节错误、而且检测在p2个字节内产生的μ2个斑点字节错误的情况。
这里,表明如下的情况,即:给出具体的码参数,可构成上述算式1所示的奇偶校验矩阵(H)。另外,该奇偶校验矩阵(H)毕竟是一例,本发明当然不限于此。
现在,作为读写数据宽度,假定以使用具有8位的存储器元件的存储器系统为对象,给出b=8、t=1、μ1=μ2=4、p1=p2=2的参数,把字节内1位的错误作为斑点字节错误,构成具有纠正在2字节内产生的4个字节内多个斑点字节错误(在本例的情况下是位错误)的功能的[41/8EC]2码的奇偶校验矩阵(H)。
此时,只要使用Min((μ1+μ2)t、b)=Min(8、8)=8来构成任意的8列是线性独立的矩阵作为矩阵H’即可。作为该一例,可以构成下述算式20所示的8×8(意味着8行8列)单位矩阵。
[算式20]
并且,只要使用Min((μ1+μ2)/2t、b)=Min(4、8)=4来构成任意的4列是线性独立的4位检错码的校验矩阵作为矩阵H”即可。作为该一例,示出下述算式21所示的6×8矩阵。
[算式21]
然后,当把γ设定为GF(2)上的6次的原始多项式g(x)=x6+x+1的根时,γ可表现为6次的列向量γ=(010000)T。
即,当表示γ的幂显示γi与向量显示的对应时,如下所示。
γ0=(1 0 0 0 0 0)T、γ1=(0 1 0 0 0 0)T、γ2=(0 01 0 0 0)T、
γ3=(0 0 0 1 0 0)T、γ4=(0 0 0 0 1 0)T、γ5=(0 00 0 0 1)T、
γ6=(1 1 0 0 0 0)T、γ7=(0 1 1 0 0 0)T、γ8=(0 01 1 0 0)T、
γ9=(0 0 0 1 1 0)T、γ10=(0 0 0 0 1 1)T、γ11=(11 0 0 0 1)T、
γ12=(1 0 1 0 0 0)T、γ13=(0 1 0 1 0 0)T、γ14=(00 1 0 1 0)T、
γ15=(0 0 0 1 0 1)T、γ16=(1 1 0 0 1 0)T、γ17=(01 1 0 0 1)T、
γ18=(1 1 1 1 0 0)T、γ19=(0 1 1 1 1 0)T、γ20=(00 1 1 1 1)T、
γ21=(1 1 0 1 1 1)T、γ22=(1 0 1 0 1 1)T、γ23=(10 0 1 0 1)T、
γ24=(1 0 0 0 1 0)T、γ25=(0 1 0 0 0 1)T、γ26=(11 1 0 0 0)T、
γ27=(0 1 1 1 0 0)T、γ28=(0 0 1 1 1 0)T、γ29=(00 0 1 1 1)T、
γ30=(1 1 0 0 1 1)T、γ31=(1 0 1 0 0 1)T、γ32=(10 0 1 0 0)T、
γ33=(0 1 0 0 1 0)T、γ34=(0 0 1 0 0 1)T、γ35=(11 0 1 0 0)T、
γ36=(0 1 1 0 1 0)T、γ37=(0 0 1 1 0 1)T、γ38=(11 0 1 1 0)T、
γ39=(0 1 1 0 1 1)T、γ40=(1 1 1 1 0 1)T、γ41=(10 1 1 1 0)T、
γ42=(0 1 0 1 1 1)T、γ43=(1 1 1 0 1 1)T、γ44=(10 1 1 0 1)T、
γ45=(1 0 0 1 1 0)T、γ46=(0 1 0 0 1 1)T、γ47=(11 1 0 0 1)T、
γ48=(1 0 1 1 0 0)T、γ49=(0 1 0 1 1 0)T、γ50=(00 1 0 1 1)T、
γ51=(1 1 0 1 0 1)T、γ52=(1 0 1 0 1 0)T、γ53=(01 0 1 0 1)T、
γ54=(1 1 1 0 1 0)T、γ55=(0 1 1 1 0 1)T、γ56=(11 1 1 1 0)T、
γ57=(0 1 1 1 1 1)T、γ58=(1 1 1 1 1 1)T、γ59=(10 1 1 1 1)T、
γ60=(1 0 0 1 1 1)T、γ61=(1 0 0 0 1 1)T、γ62=(10 0 0 0 1)T
由此,上述算式21所示的矩阵H”可表示为H”=[γ0γ1γ2γ3γ4γ5γ18γ20]。因此,上述算式1所示的奇偶校验矩阵(H)可使用H’和H”来构成具体的(504、478)[41/8EC]2码。图3示出通过从该码的最后删除414列而获得的(90、64)[41/8EC]2码的校验矩阵。
另外,如图3所示,为了明确与奇偶校验矩阵(H)的H’和H”相当的行单位的部位,在其边界画实线示出。
现在,具体地确认奇偶校验矩阵(H)的构成要素γ3H”是否与图3所示的实际的位值对应。如上所述,从H”=[γ0γ1γ2γ3γ4γ5γ18γ20]得到γ3H”=γ3[γ0γ1γ2γ3γ4γ5γ18γ20]=[γ3γ4γ5γ6γ7γ8γ21γ23]。当把该幂显示转换成向量显示(例如,γ0=(100000)T等)时,相当于图3所示的a部分,该a部分显然是奇偶校验矩阵(H)的γ3H”部分。同样,对于奇偶校验矩阵(H)中的其他构成要素,当转换成向量显示时,作为整体得到图3所示的位表现的26行90列的结构。
这里,对于μ1=μ2=3,只要使用Min((μ1+μ2)t、b)=Min(6、8)=6来构成任意的6列是线性独立的6位检错码的校验矩阵作为矩阵H’即可。作为该一例,示出下述算式22所示的7×8矩阵。
[算式22]
并且,只要使用Min((μ1+μ2)/2t、b)=Min(3、8)=3来构成任意的3列是线性独立的3位检错码的校验矩阵作为矩阵H”即可。作为该一例,示出下述算式23所示的4×8矩阵。
[算式23]
并且,对于t=2,例如,在具有μ1=μ2=3、p1=p2=2的参数的[T2/8EC]2码中,只要使用Min((μ1+μ2)t、b)=Min(12、8)=8来构成任意的8列是线性独立的矩阵作为矩阵H’即可。作为该一例,只要构成上述算式20所示的8×8(意味着8行8列)单位矩阵即可。
并且,只要使用Min((μ1+μ2)/2t、b)=Min(6、8)=6来构成任意的6列是线性独立的6位检错码的校验矩阵作为矩阵H”即可。作为该一例,示出下述算式24所示的7×8矩阵。
[算式24]
另外,以上把最近使用最多的具有字节宽度b=8位输入输出的半导体存储器元件作为对象来构成奇偶校验矩阵H(码)的一例作了说明,然而对于其他使用较多的多位输入输出元件,例如,具有b=16位输入输出的元件等,显然也能构成本发明的限制了错误字节数的字节内多个斑点字节错误控制码的奇偶校验矩阵H。并且,对于具有大于等于1的任意的整数值的t,以及对于任意的p1、p2、μ1、μ2,显然也能构成本发明的限制了错误字节数的字节内多个斑点字节错误控制码的奇偶校验矩阵H。
这样,在上述中,示出了限制了错误字节数的字节内多个斑点字节错误控制码的奇偶校验矩阵H,然而通过使H’的结构采用b次的单位矩阵,可构成具有检测超过字节内多个斑点字节错误的纠正能力的1字节错误的功能的、限制了错误字节数的字节内多个斑点字节错误控制码。
即,具有字节检错功能的限制了错误字节数的字节内多个斑点字节错误控制码是具有纠正在p1个字节内产生的μ1个斑点字节错误、并检测在p2个字节内产生的μ2个斑点字节错误、而且检测在1字节内产生的字节错误的功能的码。以下,把该码表示为[μ1t/bEC]p1-[μ2t/bED]p2-SbED码。
在本实施方式中,在[μ1t/bEC]p1-[μ2t/bED]p2-SbED码中使用的具有R行N列的奇偶校验矩阵(H)采用下述算式25所示的结构。
[算式25]
式中,R=b+(p1+p2-1)r,N=bn,0≤i≤n-1,n=2r-1,Ib是b次的单位矩阵。
构成上述算式25的矩阵H”是由下述算式26所示的由r次的列向量hj”(0≤j≤b-1)构成的r行b列(r≤b)的二元矩阵,等于或大于(μ1+μ2)/2」t或b中的任一小的值的列是线性独立的。这里,x表示不超过x的最大整数。
[算式26]
H”=[h0”、h1”、…、hb-1”]
这里,当(μ1+μ2)/2t≥b时,上述矩阵H”是包含单位矩阵的正则矩阵,当(μ1+μ2)/2t<b时,上述矩阵H”等于具有最小汉明距离(μ1+μ2)/2t+1的码的校验矩阵,即,具有(μ1+μ2)/2t位检错功能的(b、b-r)码的奇偶校验矩阵。
然后,当把γ设定为GF(2)的r次的扩大域GF(2r)的原始元时,γiH”由下述算式27定义。
[算式27]
γiH”=[γih0”、γih1”、…、γihb-1”]
此时,最大码长N是N=b(2r-1)。
上述算式25所示的奇偶校验矩阵(H)在设参数t≥b/(μ1+μ2)/2的情况下,H”为任意的b列是线性独立的矩阵,因而与以往的具有纠正p1字节错误并检测p2字节错误的功能的p1纠正p2检测RS码的奇偶校验矩阵一致。
并且,在本实施方式中,可定义[μ1t/bEC]p1-[μ2t/bED]p2-SbED码的解压缩码。在解压缩[μ1t/bEC]p1-[μ2t/bED]p2-SbED码中使用的具有R行N列的奇偶校验矩阵(H)可采用下述算式28所示的结构。
[算式28]
式中,r’≥r,R=b+(p1+p2-1)r’,N=b(n+1)+r’,0≤i≤n-1,n=2r’-1,Ib是b次的单位矩阵,Ir’是r’次的单位矩阵,O是零矩阵。
构成上述算式28的矩阵H”是由下述算式29所示的由r次的列向量hj”(0≤j≤b-1)构成的r行b列(r≤b)的二元矩阵,等于或大于(μ1+μ2)/2t或b中的任一小的值的列是线性独立的。这里,x表示不超过x的最大整数。
[算式29]
H”=[h0”、h1”、…、hb-1”]
这里,当(μ1+μ2)/2t≥b时,上述矩阵H”是包含单位矩阵的正则矩阵,当(μ1+μ2)/2t<b时,上述矩阵H”等于具有最小汉明距离(μ1+μ2)/2t+1的码的校验矩阵,即,具有(μ1+μ2)/2t位检错功能的(b、b-r)码的奇偶校验矩阵。
然后,当把γ设定为GF(2)的r’次的扩大域GF(2r’)的原始元时,γiH”可由下述算式30定义。
[算式30]
γiH”=[γiФ(h0”)、γiФ(h1”)、…、γiФ(hb-1”)]
这里,Ф是根据加法,通过从GF(2r)到GF(2r’)的单射同态(injectivehomomorphism),即,Ф:GF(2r)→GF(2r’)而有效实现的。此时,最大码长N是N=b·2r’+r’。必须注意,在算式28的H的第2行及以下的行中使用的H”的行数r’可取大于r的值,由算式28表示的码每隔(μ1+μ2-1)位使校验位数增大,从而是可针对任意码长而构成的码。
上述算式28所示的奇偶校验矩阵(H)在设参数t≥b/(μ1+μ2)/2的情况下,H”为任意的b列是线性独立的矩阵,与以往的具有纠正p1字节错误并检测p2字节错误的功能的p1纠正p2检测二次解压缩RS码的奇偶校验矩阵一致。
然后,具体表明如下:由上述算式25所示的奇偶校验矩阵(H)表示的码具有纠正在p1个字节内产生的μ1个斑点字节错误、并检测在p2个字节内产生的μ2个斑点字节错误、而且检测在1字节内产生的字节错误的功能。只要表明奇偶校验矩阵H=[H0、H1、…、Hn-1]满足上述算式9和下述算式31所示的充分必要条件即可。其中,Hi是R×b的小矩阵。
[算式31]
0≤v1≤p1,0≤v2≤min((μ1+μ2)/2,p1),…,0≤vλ≤min((μ1+μ2)/λ,p1)
并且,ib、i1、i2、…、iv1+v2+…+vλ(0≤ib、i1、i2、…、iv1+v2+…+vλ≤n-1)假定全部不同,wM(e)由上述算式10定义,表示斑点字节错误的个数。
可表明与上述算式9所示的充分必要条件一样,满足上述算式9和上述算式31所示的条件。
并且,可表明由上述算式28所示的奇偶校验矩阵(H)表示的解压缩码也同样满足上述算式9和上述算式31所示的充分必要条件。
这样,在上述中,示出了限制了错误字节数的字节内多个斑点字节错误控制码的奇偶校验矩阵(H)、以及具有字节检错功能的限制了错误字节数的字节内多个斑点字节错误控制码的奇偶校验矩阵(H)的构成法的若干例,然而,下面列举由上述算式1所示的奇偶校验矩阵(H)表示的限制了错误字节数的字节内多个斑点字节错误控制码([μ1t/bEC]p1-[μ2t/bED]p2码)为例,对使用本发明的奇偶校验矩阵(H)来进行的编码处理和解码处理的具体方法以及各自的电路结构进行说明。
<A>关于编码方法和实现该方法的电路的结构
首先,对图1所示的编码电路2进行的编码处理的具体方法进行说明。
编码电路2使用输入信息数据D(行向量)30和对图3所示的奇偶校验矩阵(H)进行基本行变形而获得的奇偶校验矩阵(H)的信息部HR,来生成校验信息C(行向量)。该校验信息(C)的生成可使用下述算式32来求出。
[算式32]
C=D·HR T
具体地说,编码电路2根据输入信息数据(D)30的信息位长64位和校验位长26位,构成作为奇偶校验矩阵H的(504、478)[41/8EC]2码,之后删除与后半414位相当的列向量414列,从而可构成具有码位长90位、信息长64位的图3所示的(90、64)[41/8EC]2码。当对该码的奇偶校验矩阵H进行了基本行变形时,可构成作为组织码的奇偶校验矩阵H。图4示出(90、64)[41/8EC]2组织码的奇偶校验矩阵。
在图4示出的(90、64)[41/8EC]2组织码的奇偶校验矩阵中,d0~d63相当于信息位,c0~c25相当于校验位。这里,在图4示出的(90、64)[41/8EC]2组织码的奇偶校验矩阵中,收集了相当于信息位的d0~d63的列向量的矩阵是奇偶校验矩阵的信息部HR。
这里,在编码中使用图4所示的奇偶校验矩阵,在解码中使用图3所示的奇偶校验矩阵。进行基本行变形而获得的矩阵与原来的矩阵等效,由图4所示的奇偶校验矩阵表示的码的性质与由图3所示的奇偶校验矩阵表现的码的性质完全不变化。由此,在编码中,假定使用图4所示的奇偶校验矩阵。
然后,编码电路2根据上述算式32生成26位的校验信息(C)。从上述算式32所示的C=D·HR T可以明白,例如,要想生成校验信息(C)中的校验位c0,只要进行如下的运算即可:在图4所示的编码用(90、64)[41/8EC]2组织码的矩阵的第1行中,除去与c0对应的位而取与存在“1”的部位对应的位的GF(2)上的和(即,以2为除数的和:mod2)。
例如,在求校验位c0的情况下,除去与c0对应的位而存在“1”的位是d1、d4、d5、d6、d8、d11、d12、d20、d21、d24、d26、d31、d33、d37、d38、d39、d40、d41、d42、d43、d44、d47、d48、d52、d54、d55、d56、d57、d58,关于这29个位,只要取以2为除数的和(mod2)即可。
要想实现这一点,如图5所示,只要使用上述29位来构成多输入奇偶校验电路20(0)即可,该多输入奇偶校验电路20(0)的输出是校验位c0。关于其他校验位c1~c25,可与校验位c0一样来生成。图5示出并行生成26位的校验位c0~c25的编码电路2(由多输入奇偶校验电路20(0)~20(25)构成)的高14位的结构,图6示出低12位的结构。
然后,下述算式33示出把由编码电路2所生成的校验信息(C)附加给输入信息数据(D)30后的码字。该码字是发送到电路3的发送字(V)(90位的向量)。
[算式33]
V=[d0、d1、…、d57、d58、c0、d59、c1、…、c3、d60、c4、d61、c5、…、c9、d62、c10、d63、c11、…、c25]
<B>关于解码方法和实现该方法的电路的结构
下面,表明当发送字(V)31产生错误时(即,当接收字32包含错误时),对该错误的纠正/检测处理可根据使用图3所示的(90、64)[41/8EC]2码所生成的校正子(S)33的值来进行。
图3所示的(90、64)[41/8EC]2码的校验矩阵由于具有p1=p2=2,因而如上述算式1所示,具有奇偶校验矩阵H’、H”的4级结构。由此,把从第1级获得的q=8位的校正子设定为SI,把从第2级获得的r=6位的校正子设定为SII,把从第3级获得的r=6位的校正子设定为SIII,以及把从第4级获得的r=6位的校正子设定为SIV。
使用这些信息,按以下进行错误的纠正/检测。可根据接收字(V’)32和奇偶校验矩阵(H),使用下述算式34来求出校正子(S)33。
[算式34]
V’·HT=S=[SISIISIIISIV]
这里,SI∈GF(2q)是q次的行向量。并且,SII、SIII、SIV∈GF(2r)分别是r次的行向量。
在上述算式5所示的解压缩码的情况下,SI∈GF(2q)是q次的行向量。并且,SII、SIII、SIV∈GF(2r’)分别是r’次的行向量。
另外,校正子(S)33例如在第iI字节内产生eI的错误、以及在第iII字节内产生eII的错误(wM(eI)+wM(eII)≤μ1+μ2)时,为下述算式35。
[算式35]
S=[eI·H’T+eII·H’T、γieI·H”T+γjeII·H”T、γ2ieI·H”T+γ2jeII·H”T、γ3ieI·H”T+γ3jeII·H”T]
当关注于SI时,下述算式36成立。在算式36中,H’为任意的Min((μ1+μ2)t、b)列是线性独立的矩阵,因而可求出eI+eII(假定=eA)。在图3所示的(90、64)[41/8EC]2码的情况下,由于H’是单位矩阵,因而得到eA=eI+eII=SI。
[算式36]
(eI+eII)·H’T=SI
然后,将eI+eII从右边乘以H”,把乘法运算的结果设定为S’I∈GF(2r)。即,下述算式37的关系成立。
[算式37]
S’I=(eI+eII)·H”T
这里,当把eI·H”T、eII·H”T(∈GF(2r))设定为GF(2r)上的错误e’I、e’II,以及设定S’=[S’ISIISIIISIV]时,下述算式38的关系成立。
[算式38]
S’=[S’ISIISIIISIV]=[e’I+e’II、γie’I+γje’II、γ2ie’I+γ2je’II、γ3ie’I+γ3je’II]
算式38所示的S’在2字节纠错RS码(距离d=5)中与错误e’I、e’II中的校正子的式子一致。因此,通过使用具有距离d=5的GF(2r)上的RS码的解码法,可求出错误位置iI、iII以及GF(2r)上的错误e’I、e’II。并且,在未求出错误位置的情况下,不能进行纠错,而进行检错。
然后,根据GF(2r)上的错误e’I、e’II求出GF(2b)上的错误eI、eII。即,根据eI·H”T=e’I、eII·H”T=e’II的关系求出eI和eII。把求出的结果设定为êI、êII。
由于H”为任意的Min(2t、b)列是线性独立的矩阵,因而在1字节内产生t位以上的错误的情况下,该错误被误纠正(即,得到ex≠êx),或者被检测为控制能力外错误。然而,由于产生t位以上的错误的字节至多1个,因而ex≠êx的字节至多1个。
然后,可使用下述算式39来判定是否进行了误纠正。也就是说,可使用下述算式39来判定ex=êx是否成立。即,在下述算式39成立的情况下,得到ex=êx而判定为未进行误纠正,在下述算式39不成立的情况下,得到ex≠êx而判定为进行了误纠正。
[算式39]
wM(êx+eA)≤μ1-wM(êx)
另外,由于wM(e)满足三角不等式,因而可示出算式39所示的关系。并且,对GF(2)上的汉明距离的误纠正判定在非专利文献11中详述。
最后,在进行了误纠正(即,得到ex≠êx)的字节、或者检测为控制能力外错误的字节中,通过取在上述中进行了正确纠正的错误模式和eA的“异或”,可复原进行了误纠正的字节中的错误模式。
另外,可以明白,对于任意的p1、p2、μ1、μ2,即,与上述所示的例子一样,使用上述算式39来判定是否进行了误纠正,可根据进行了正确纠正的错误模式和eA,来复原至多1个的错误字节的错误模式。
对RS码的解码可针对纠正斑点字节错误的字节数p1小的码,使用并行解码法来实现。该并行解码法的一般结构在“バ一スト誤リパタ一ソ生成方法及びバ一ストおよびバイト誤リ検出·訂正装置”(参照专利文献5)中作了公开。
然而,专利文献5所公开的并行解码法虽然可进行高速解码,但是当纠正码的斑点字节错误的字节数p1增大时,产生电路量增大的问题。对于纠正斑点字节错误的字节数p1大的码,可使用例如Berlekamp-Massey(バ一レカソプ·マツシイ)法等的逐次解码法,然而使用逐次解码法的解码由于逐次(串行)进行,因而产生解码慢的问题。另外,使用Berlekamp-Massey法的RS码的解码电路的结构在非专利文献12中作了公开。
根据专利文献5所公开的并行解码法,例如,对于p1=p2=2的码,通过以下过程进行解码。
然后,当求出A(i,j)的逆矩阵A(i,j) -1时,下述算式40的关系成立。
[算式40]
下面,图7示出在本发明中,实现对上述的p1=p2=2的码的并行解码方法的解码电路4的概略结构。
如图1所示,解码电路4由校正子生成电路1和纠错电路5构成。
并且,如图7所示,纠错电路5由以下部分构成,即:H’解码电路6、H”乘法电路7、GF(2r)上的并行解码电路8、GF(2b)上的错误生成电路9、以及反转电路10。
这里,H’解码电路6根据校正子(S)33的高q位SI36,生成各字节的错误的和(eA)38。
并且,H”乘法电路7根据各字节的错误的和(eA)38,生成校正子(S)33的高q位SI36与H”的转置(H”T)的积(S’I)39。
然后,GF(2r)上的并行解码电路8根据校正子(S)33的高q位SI36与H”的转置(H”T)的积(S’I)39、以及校正子(S)33的低3r位SIISIIISIV37,生成GF(2r)上的位错误指针(e’)40、以及当在GF(2r)上的并行解码中认为不能进行纠错时所输出的DS(0)(DetectionSignal:检测信号)41。
然后,GF(2b)上的错误生成电路9根据各字节的错误的和(eA)38、以及GF(2r)上的位错误指针(e’)40,把GF(2r)上的错误转换成GF(2b)上的错误,输出GF(2b)上的位错误指针(e)42、以及当认为不能进行纠错时所输出的DS(1)(Detection Signal:检测信号)43。
最后,反转电路10根据GF(2b)上的位错误指针(e)42,使与错误位对应的接收字(V’)32的位值反转,从而纠正接收字(V’)32的错误。
下面,对由图7所示的解码电路4进行的动作过程的概略进行说明。
首先,在校正子生成电路1中,当由N位构成的接收字(V’)32被输入时,生成R位的校正子(S)33。
然后,所生成的R位的校正子(S)33被分为高q位SI36和低3r位SIISIIISIV37。校正子(S)33的高q位SI36被输入到H’解码电路6。并且,校正子(S)33的低3r位SIISIIISIV37被输入到GF(2r)上的并行解码电路8。
然后,在H’解码电路6中,根据由校正子生成电路1所生成的校正子(S)33的高q位SI36,输出b位的各字节的错误的和(eA)38,详情后述。
然后,在H”乘法电路7中,根据由H’解码电路6所生成的各字节的错误的和(eA)38,输出校正子(S)33的高q位SI36与H”的转置(H”T)的积(S’I)39,详情后述。
并且,在GF(2r)上的并行解码电路8中,根据由H”乘法电路7所生成的校正子(S)33的高q位SI36与H”的转置(H”T)的积(S’I)39、以及由校正子生成电路1所生成的校正子(S)33的低3r位SIISIIISIV37,生成指出GF(2r)上的错误的
位的GF(2r)上的位错误指针详情后述。这里,
表示超过y的最小整数。
并且,在GF(2r)上的并行解码电路8中,当在GF(2r)上的并行解码中认为不能进行纠错时,输出不能纠正错误检测信号(DS(0))41。
然后,在GF(2b)上的错误生成电路9中,根据由H’解码电路6所生成的各字节的错误的和(eA)38、以及由GF(2r)上的并行解码电路8所生成的GF(2r)上的位错误指针(e’)40,生成指出GF(2b)上的错误的N位的GF(2b)上的位错误指针e=(e0、e1、…、eN-1)42,详情后述。并且,在GF(2b)上的错误生成电路9中,当认为不能进行纠错时,输出不能纠正错误检测信号(DS(1))43。
然后,在反转电路10中,根据由GF(2b)上的错误生成电路9所生成的N位的GF(2b)上的位错误指针(e)42、以及接收字(V’)32,使与GF(2b)上的位错误指针(e)42对应的接收字(V’)32的位反转。
最后,在反转电路10中,从N位纠错后的接收字V*取出K位信息字D*,并作为输出信息数据34来输出。
并且,通过取由GF(2r)上的并行解码电路8所生成的不能纠正错误检测信号(DS(0))41与由GF(2b)上的错误生成电路9所生成的不能纠正错误检测信号(DS(1))43的“或”,来输出不能纠正错误检测信号UCE(Uncorrectable Error:不能纠正的错误)35的值。例如,当该不能纠正错误检测信号UCE 35的值是“1”时,表示检测出超过纠正能力的错误。
另外,关于由上述算式5所示的奇偶校验矩阵(H)表示的解压缩码(解压缩[μ1t/bEC]p1-[μ2t/bED]p2码)、由上述算式25所示的奇偶校验矩阵(H)表示的具有字节检错功能的限制了错误字节数的字节内多个斑点字节错误控制码、以及由上述算式28所示的奇偶校验矩阵(H)表示的解压缩码(解压缩[μ1t/bEC]p1-[μ2t/bED]p2-SbED码),它们的解码方法和电路结构与上述的解码方法和电路结构基本相同。
下面,使用图3所示的(90、64)[41/8EC]2码对校正子生成电路1、H’解码电路6、H”乘法电路7、GF(2r)上的并行解码电路8、GF(2b)上的错误生成电路9以及反转电路10的各自的具体结构例进行说明。
<a>校正子生成电路1的结构
这里,对校正子生成电路1的结构进行详细说明。
首先,在校正子生成电路中,当把由N=90(=64+26)位构成的接收字(V’)32表现成如下述算式41所示时,输入该接收字(V’)32,生成下述算式42所示的由S0、S1、…、S25构成的R=26位的校正子(S)33。
如上所述,图3所示的[41/8EC]2码的奇偶校验矩阵具有4级结构,因而,与此对应,校正子(S)33也划分为4个部分,为:SI=(S0S1S2S3S4S5S6S7),SII=(S8S9S10S11S12S13)、SIII=(S14S15S16S17S18S19)、SIV=(S20S21S22S23S24S25)。
[算式41]
V’=(v0’、vI’、···、v89’)
[算式42]
s=(sI|sII|sIII|sIV)
=(s0s1s2s3s4s5s6s7|s8s9s10s11s12s13|s14s15s16s17s18s19|s20s21s22s23s24s25)
如上述算式34所示,根据校正子S=V’·HT,进行了转置的奇偶校验矩阵(HT)的各行与要输入的信息对应,例如,矩阵(HT)的第0行与输入信息的v0’对应。
因此,要想生成校正子(S)33的各位,只要在作为码的奇偶校验矩阵(HT)的各列方向上,将与具有“1”的位对应的接收字(V’)32的接收信息在GF(2)上相加(mod2的计算)即可。
图8和图9是示出根据图3所示的(90、64)[41/8EC]2码的奇偶校验矩阵所构成的校正子生成电路1的图。在图8中,生成S0、S1、…、S13的校正子(S)33的高14位,并且在图9中,生成S14、S15、…、S25的校正子(S)33的低12位。
如图8和图9所示,在本实施例中,在校正子生成电路1中,首先,将具有图3所示的(90、64)[41/8EC]2码的奇偶校验矩阵的对应的各行的位“1”的接收信息(vq’)、(q=0、1、…、89)输入到26个多输入奇偶校验电路21(p)、(p=0、1、…、25)。
然后,在各多输入奇偶校验电路21(p)、(p=0、1、…、25)中,针对上述所输入的接收信息(vq’),进行以2为除数的和(mod2)的计算,其结果是Sp。
具体地说,例如,要想生成校正子(S)33的位S0,只要针对90位的接收字v0’、v1’、…、v89’中的与在图3所示的奇偶校验矩阵的第0行中存在“1”的部位相当的v0’、v8’、v16’、v24’、v32’、v40’、v48’、v56’、v64’、v72’、v80’、v88’的12位,求出以2为除数的和(mod2)即可。图8的多输入奇偶校验电路21(0)把上述12位的接收信息作为输入来输出值S0。关于校正子(S)33的其他位Sp、(p=1、…、25)也是一样。
<b>H’解码电路6的结构
下面,对H’解码电路6进行说明。
图10示出H’解码电路6。在算式36所示的(eI+eII)·H’T=SI中,H’为任意的Min((μ1+μ2)t、b)列是线性独立的矩阵,因而可求出eI+eII(假定=eA)。因此,通过进行逻辑合成,可使用组合电路来实现。
在图3所示的(90、64)[41/8EC]2码的情况下,H’是单位矩阵,因而得到eA=eI+eII=SI。即,对于
SI=(S0S1S2S3S4S5S6S7),如图10所示,得到
另一方面,在H’不是单位矩阵的情况下,使用在<e>中后述的方法。
<c>H”乘法电路7的结构
下面,对H”乘法电路7进行说明。
图11示出H”乘法电路7。计算算式37所示的S’I=(eI+eII)·H”T=eA·H”T。具有下述算式43所示的H”的对应的各行的位“1”的eA的信息被输入到H”乘法电路7。然后,在H”乘法电路7中,针对上述所输入的eA的信息,进行mod2的计算,把其结果作为S’p(p=0、1、…、5)来输出。
[算式43]
具体地说,例如,要想生成校正子(S)33的高q位SI36与H”的转置(H”T)的积(S’I)39的位S’0,只要针对8位的 中的与在算式43所示的奇偶校验矩阵H”的第0行中存在“1”的部位相当的2位eA0、eA6的值,求出以2为除数的和(mod2)即可。
在图11中,表示在“异或”电路22中,上述2位的eA的信息(即,2位的eA0、eA6的值)被输入,输出了值S’0。
关于校正子(S)33的高q位SI36与H”的转置(H”T)的积(S’I)39以外的位S’p,也同样能使用“异或”电路22和3输入奇偶校验电路23来构成。
这里,S’采用算式44所示的结构。
[算式44]
s’=(s’I|sII|sIII|sIV)=(s’0s’1s’2s’3s’4s’5|s8s9s10s11s12s13|s14s15s16s17s18s19|s20s21s22s23s24s25)=(s’0s’1s’2s’3s’4s’5|s’6s’7s’8s’9s’10s’11|s’12s’13s’14s’15s’16s’17|s’18s’19S’20s’21s’22s’23)
<d>GF(26)上的并行解码电路8的结构
下面,对GF(26)上的并行解码电路8进行说明。
为了求出GF(26)上的位错误指针40,使用并行解码法。图12示出GF(26)上的并行解码电路8的整体结构。
如图12所示,GF(26)上的并行解码电路8由以下部分构成,即:针对(i、j)的错误生成电路50(0)…50(65)(以下,作为代表称为50(m)、0≤m≤65),其是选择12字节中任意的2字节的组
个、并生成与第i、j的2字节(以下假定表现为(i、j))相关的各个错误的电路;以及GF(26)上的错误计算电路51,其输出GF(26)上的位错误指针(e’)40。
首先,针对(i、j)的错误生成电路50(m)是针对字节位置i、j计算上述的
的电路。总之,针对(i、j)的错误生成电路50(0)…50(65)计算对码字的12字节中的第i、j(0≤i<j≤11)字节的上述的
并输出成为E’m、i、E’m、j的错误52(m)、0≤m≤65、0≤i<j≤11(分别是r位的向量)、以及能纠正信号53(m)、0≤m≤65。
并且,GF(26)上的错误计算电路51是输出GF(26)上的位错误指针(e’)40的电路。总之,GF(26)上的错误计算电路51把错误生成电路50(m)的输出即错误E’m、i、E’m、j作为输入,输出GF(26)上的位错误指针(e’)40。
这里,对GF(26)上的并行解码电路8的处理进行更详细地说明,如图12所示,首先,把24位的S’(校正子(S)33的高q位SI36与H”的转置(H”T)的积(S’I)39、以及校正子(S)33的低3r位SIISIIISIV37)输入到针对(i、j)的错误生成电路50(m)。
然后,针对(i、j)的错误生成电路50(m)生成错误E’m、i、E’m、j,然后,把所生成的错误E’m、i、E’m、j输入到GF(26)上的错误计算电路51。然后,GF(26)上的错误计算电路51输出GF(26)上的位错误指针(e’)40。
并且,把24位的S’(校正子(S)33的高q位SI36与H”的转置(H”T)的积(S’I)39、以及校正子(S)33的低3r位SIISIIISIV37)输入到24位输入“或”门电路54。
另一方面,把由针对(i、j)的错误生成电路50(m)所生成的能纠正信号53(m)输入到66输入“或非”门电路55。
把从24位输入“或”门电路54和66输入“或非”门电路55分别输出的2个信号输入到2输入“与”门电路56。2输入“与”门电路56输出不能纠正错误检测信号(DS(0))41。在校正子是非零且能纠正信号全部是0的情况下,使用这些电路来检测错误。
下面,具体示出针对(i、j)的错误生成电路50(m)的结构例。作为例子,图13示出针对(0、1)的错误生成电路50(0)。如图13所示,针对(i、j)的错误生成电路50(m)具有
计算电路60、
计算电路61以及
计算电路62。
这里,
是下述算式45所示的GF(26)上的RS码的校验矩阵,具有码长72位和校验位长24位。式中,γ是GF(26)的元,如下述算式46所示,使用由生成多项式g(x)=x6+x+1所定义的2元的6×6友矩阵(companion matrix)来表现。
[算式45]
[算式46]
[算式47]
然后,使用
构成24×12的矩阵
通过把24×12的矩阵B(0,1)附加给
来构成下述算式48所示的24×24的正则矩阵
这里,B(0,1)是求出成使A(0,1)为正则矩阵的24×12的矩阵,它是一例。
[算式48]
[算式49]
[算式50]
[算式51]
[算式52]
在
计算电路60中,
的各列对应于要输入的信息,例如,的第0行对应于输入信息的S’0。因此,要想生成
的各位,只要在
的各行方向上,将与具有“1”的位对应的校正子S’的信息在GF(2)上进行相加(mod2的计算)即可。
总之,
计算电路60首先将具有上述
对应的各行的位“1”的校正子信息(S’p)、(p=0、1、…、23)分别输入到6个多输入奇偶校验电路63(u)、(u=0、1、…、5)。然后,针对这些校正子信息进行mod2的计算,作为其结果,输出E’0、0、E’0、1。
具体地说,例如,要想生成E’0、0的第0位,只要针对24位的校正子S’=S’0、S’1、…、S’23中的与在上述算式50所示的
的第0行中存在“1”的部位相当的5位s’0、s’5、s’9、s’21、s’23的值,求出以2为除数的和(mod2)即可。该5位s’0、s’5、s’9、s’21、s’23的校正子被输入到图13的多输入奇偶校验电路63(0)。并且,多输入奇偶校验电路63(0)输出52(0)即E’0、0的第0位。另外,关于E’0、0的其他位也是一样。
并且,如图13所示,
计算电路61由6个多输入奇偶校验电路64(w)、(w=0、1、…、5)构成,然后,
计算电路60由12个多输入奇偶校验电路65(z)、(z=0、1、…、11)构成。这些计算电路采用与
计算电路60相同的方法来构成。
这里,更详细地说明针对(0、1)的错误生成电路50(0)的处理,如图13所示,把24位的校正子S’输入到多输入奇偶校验电路63(u)、(u=0、1、…、5),从而生成E’0、0。并且,把24位的校正子S’输入到多输入奇偶校验电路64(w)、(w=0、1、…、5),从而生成E’0、1。
并且,把24位的校正子S’输入到多输入奇偶校验电路65(z)、(z=0、1、…、11)。把从多输入奇偶校验电路65(z)、(z=0、1、…、11)所输出的12位的信号输入到12输入“或非”门电路65,并输出针对(0、1)的能纠正信号53(0)。这些电路意味着,由于
的字节组(i、j)是错误字节组,因而检测出是
并能使用字节组(i、j)进行纠正。
并且,把针对(0、1)的能纠正信号53(0)和来自多输入奇偶校验电路63、多输入奇偶校验电路64的输出信号输入到2输入“与”门电路67,并输出E’0、0和E’0、1。在是产生错误的字节组的情况下,这些电路输出错误,否则,输出0的模式。
以上,针对(0、1)的错误生成电路50(0)最终输出错误E’0、0、E’0、152(0)和针对(0、1)的能纠正信号53(0)。这里,以针对(0、1)的错误生成电路50(0)为例作了说明,然而对于其他字节(i、j)也是一样。
下面,具体示出GF(26)上的错误计算电路51的结构例。图14示出GF(26)上的错误计算电路51。
如图14所示,GF(26)上的错误计算电路51把与第i字节对应的所有错误E’m、i输入到各位“或”运算电路68,并最终输出GF(26)上的位错误指针(e’)40。这些电路将来自与第i对应的字节组(i、j)的错误E’m、i进行合并,并输出第i的错误ei’。
具体地说,例如,要想输出GF(26)上的位错误指针(e’)40的e’6,通过把从针对(0、1)的错误生成电路50(0)、针对(1、2)的错误生成电路50(11)、…、以及针对(1、11)的错误生成电路50(20)所输出的E’0、1、E’11、1、…、E’20、1的第0位输入到各位“或”运算电路68来实现。在各位“或”运算电路68中,通过把具有6位的E’0、1、E’11、1、…、E’20、1的第0位分别输入到11输入“或”电路69,来将E’0、1、E’11、1、…、E’19、1的第0位进行合并,并输出e6’。
以上,以GF(26)上的位错误指针(e’)40的e’6为例作了说明,然而对于其他位值e’0、…、e’65也完全一样。
<e>GF(28)上的错误生成电路9的结构
下面,对GF(28)上的错误生成电路9进行说明。图15示出GF(28)上的错误生成电路9的整体结构。
如图15所示,GF(28)上的错误生成电路9具有t位纠错解码电路70、12输入排序电路73以及i字节中的误纠正判定电路74,并且是把GF(26)上的位错误指针(e’)40以及各字节的错误的和(eA)38作为输入来输出GF(28)上的位错误指针(e)42和不能纠正错误检测信号(DS(1))43的电路。
这里,在t位纠错解码电路(本例中是2位纠错解码电路)70中,把GF(26)上的位错误指针(e’)40的1字节作为输入,来输出解码结果位错误指针(ê)71的1字节和检测超过纠正能力的错误的信号即i字节中的检测信号72。
然后,12输入排序电路73是把从t位纠错解码电路70所输出的i字节中的检测信号72作为输入,对所输入的12位的信息中的加权(1的数)进行计数,并按照该加权数从输出的高位连续标记1的电路。该电路是例如在12位的输入信息中存在6个1的情况下,将该电路的输出12位中的所有高6位全部输出1、并将剩余的6位全部输出0的电路。
最后,在i字节中的误纠正判定电路74中,把从所有字节的t位纠错解码电路70所输出的解码结果位错误指针(ê)71、i字节中的检测信号72、以及各字节的错误的和(eA)38作为输入,来输出GF(28)上的位错误指针(e)42的1字节。
这里,对GF(28)上的错误生成电路9的处理进行更详细地说明,如图15所示,将GF(26)上的位错误指针(e’)40每6位进行划分,并分别输入到2位纠错解码电路70。
然后,从2位纠错解码电路70所输出的i字节中的检测信号72被输入到12输入排序电路73。在从12输入排序电路73所输出的信号中,在2字节以上的2位纠错解码电路70中检测出错误的情况下,假定产生控制能力外的错误来检测错误(另一方面,在1字节的2位纠错解码电路70中检测出错误的情况下,如后面详细描述的那样,在i字节中的误纠正判定电路73中进行纠错)。因此,在从12输入排序电路73所输出的信号中,把其高第2位的信号作为不能纠正错误检测信号(DS(1))43来输出。
并且,把从所有字节的2位纠错解码电路70所输出的解码结果位错误指针(ê)71、i字节中的检测信号72以及各字节的错误的和(eA)38分别输入到i字节中的误纠正判定电路74。
然后,在所有的i字节中的误纠正判定电路74中,收集根据i字节中的检测信号72所输出的信号,并输出90位的GF(2b)上的位错误指针42。
下面,具体示出2位纠错解码电路70的结构例。
作为例子,在针对第1字节的2位纠错解码电路70中,图16示出输出针对第1字节的解码结果位错误指针(ê)71的高4位的电路,图17示出输出针对第1字节的解码结果位错误指针(ê)71的低4位的电路,并且,图18示出输出当检测出超过纠正能力的错误时输出“1”的1字节中的检测信号72的电路(即,后述的检测信号输出部)。
针对第1字节的2位纠错解码电路70是把GF(26)上的位错误指针(e’)40的第1字节作为输入来输出解码结果位错误指针(ê)71的第1字节和1字节中的检测信号72的电路。
在上述的2位纠错解码电路70中,针对使用H”所解码的结果即错误êI和GF(26)上的eI’,êI→eI’为单射关系。因此,通过进行逻辑合成,可使用组合电路来实现。
然而,由于H”为任意的4列是线性独立的矩阵,即,是2位纠错码的校验矩阵,因而在[41/8EC]2码中,在1字节内产生3位或4位的错误的情况下,对使用H”所解码的结果进行误纠正,或者检测为控制能力外错误。在1字节内对3位或4位的错误进行了误纠正的情况下,通过进行误纠正判定,可判别是否进行了误纠正,详情后述。
具体地说,例如,在图16中,在信息第1字节中,是êI·H”T=eI’,H”为上述算式24所示的任意的4列是线性独立的矩阵,即,是2位纠错码的校验矩阵,因而使用加权小于等于2的H”所解码的结果即错误êI和GF(26)上的错误eI’是唯一决定的。
使用加权小于等于2的H”所解码的结果即错误êI=(ê8ê9ê10ê11ê12ê13ê14ê15)和GF(26)上的错误eI’=(e6’e7’e8’e9’e10’e11’)具有下述表1所示的关系。
【表1】
ê8ê9ê10ê11ê12ê13ê14ê15 | e6’e7’e8’e9’e10’e11’ | ê8ê9ê10ê11ê12ê13ê14ê15 | e6’e7’e8’e9’e10’ e11’ |
0 0 0 0 0 00 0 | 0 0 0 00 0 | 1 0 0 0 0 00 0 | 1 0 0 00 0 |
0 1 0 0 0 00 0 | 0 1 0 00 0 | 0 0 1 0 0 00 0 | 0 0 1 00 0 |
0 0 0 1 0 00 0 | 0 0 0 10 0 | 0 0 0 0 1 00 0 | 0 0 0 01 0 |
0 0 0 0 0 10 0 | 0 0 0 00 1 | 0 0 0 0 0 01 0 | 1 1 1 10 0 |
0 0 0 0 0 00 1 | 0 0 1 11 1 | 1 1 0 0 0 00 0 | 1 1 0 00 0 |
1 0 1 0 0 00 0 | 1 0 1 00 0 | 1 0 0 1 0 00 0 | 1 0 0 10 0 |
1 0 0 0 1 00 0 | 1 0 0 01 0 | 1 0 0 0 0 10 0 | 1 0 0 00 1 |
1 0 0 0 0 01 0 | 0 1 1 10 0 | 1 0 0 0 0 00 1 | 1 0 1 11 1 |
0 1 1 0 0 00 0 | 0 1 1 00 0 | 0 1 0 1 0 00 0 | 0 1 0 10 0 |
0 1 0 0 1 00 0 | 0 1 0 01 0 | 0 1 0 0 0 10 0 | 0 1 0 00 1 |
0 1 0 0 0 01 0 | 1 0 1 10 0 | 0 1 0 0 0 00 1 | 0 1 1 11 1 |
0 0 1 1 0 00 0 | 0 0 1 10 0 | 0 0 1 0 1 00 0 | 0 0 1 01 0 |
0 0 1 0 0 10 0 | 0 0 1 00 1 | 0 0 1 0 0 01 0 | 1 1 0 10 0 |
0 0 1 0 0 00 1 | 0 0 0 11 1 | 0 0 0 1 1 00 0 | 0 0 0 11 0 |
0 0 0 1 0 10 0 | 0 0 0 10 1 | 0 0 0 1 0 01 0 | 1 1 1 00 0 |
0 0 0 1 0 00 1 | 0 0 1 01 1 | 0 0 0 0 1 10 0 | 0 0 0 01 1 |
0 0 0 0 1 01 0 | 1 1 1 11 0 | 0 0 0 0 1 00 1 | 0 0 1 10 1 |
0 0 0 0 0 11 0 | 1 1 1 10 1 | 0 0 0 0 0 10 1 | 0 0 1 11 0 |
0 0 0 0 0 01 1 | 1 1 0 01 1 |
这里,GF(26)上的错误eI’是37模式,然而针对剩余的26-37=27模式的êI检测为纠正能力外错误(控制能力外错误),假定êI的输出是随意的*。
例如,根据上述表1所示的使用H”所解码的结果即错误êI和GF(26)上的错误eI’的对应关系,当eI’=(e6’e7’e8’e9’e10’e11’)=(100000)、(110000)、(101000)、(100100)、(011100)、(100010)、(101111)、(100001)时,信息第1字节的第1位的值ê8是1。
并且,在上述表1所示的使用H”所解码的结果即错误êI和GF(26)上的错误eI’的对应关系中,假定针对剩余的27模式的GF(26)上的错误eI’=(es’e7’e8’e9’e10’e11’)=(100110)、(110110)、(010110)、(011110)、(101110)、(110010)、(011010)、(111010)、(101010)、(100011)、(010011)、(011011)、(111011)、(101011)、(100111)、(110111)、(010111)、(111111)、(100101)、(110101)、(010101)、(011101)、(101101)、(110001)、(011001)、(111001)、(101001)的信息第1字节的第1位的值ê8是随意的*。
当对这些逻辑函数作了简化时,信息第l字节的第1位的值ê8由下述算式53所示的逻辑式来表示。
[算式53]
ê8=e6′ē7′ē8′∨e6′ē8′ē9′ē10′∨e6′ē7′ē8′ē9′ē11′∨ē6′ē7′ē8′ē9′∨e6′ē7′e8′e11′
式中,ēx′是ex′的否定,e6′ē7′ē8′是ē6′∧ē7′∧ē8′,并且∨表示“或”,∧表示“与”。
因此,如图16所示,首先,把GF(26)上的位错误指针40e’6、e’7、e’8、e’9、e’10、e’11输入到“非”门电路80,生成ēx′。然后,把e6′,ē7′,ē8′输入到3输入“与”门电路81,把e6′,ē8′,ē9′,ē10′输入到4输入“与”门电路82,把ē6′,e7′,e8′,ē9′,ē11′输入到5输入“与”门电路83,把e6′,ē7′,e8′,ē9′输入到4输入“与”门电路82,把e6′,ē7′,e8′,e11′输入到4输入“与”门电路82。通过把从各个“与”门电路所输出的信号输入到5输入“或”门电路84,来获得信息第1字节的第1位的值ê8。
如图16和图17所示,其他位的值ê9、…、ê15也同样使用“非”门电路80、3输入“与”门电路81、4输入“与”门电路82、5输入“与”门电路83、5输入“或”门电路84以及6输入“或”门电路85来获得。
并且,t位纠错解码电路(本例中是2位纠错解码电路)70的检测信号输出部也能同样构成。检测信号输出部把不会从GF(26)上的错误eI’映射的使用H”所解码的结果即错误êI检测为不能纠正的错误。例如,图18示出针对第1字节的2位纠错解码电路70的检测信号输出部。
具体地说,例如,在信息第1字节中,在上述表1所示的使用H”所解码的结果即错误êI和GF(26)上的错误eI’的对应关系中,把针对剩余的27模式的GF(26)上的错误eI’=(e6’e7’e8’e9’e10’e11’)=(100110)、(110110)、(010110)、(011110)、(101110)、(110010)、(011010)、(111010)、(101010)、(100011)、(010011)、(011011)、(111011)、(101011)、(100111)、(110111)、(010111)、(111111)、(100101)、(110101)、(010101)、(011101)、(101101)、(110001)、(011001)、(111001)、(101001)的检测信号的值设定为1,检测错误。
因此,当对这些逻辑函数作了简化时,检测信号的值由下述算式54所示的逻辑式来表示。
[算式54]
e6ē8′e9′e11′∨e7′ē8′e9′e10′∨e7′ē8′e9′e11′∧e6′e8′ē9′e10′∨e6′ē7′e9′e10′ē11′
∨e6′ē7′ē8′e10′e11′∨e6′e7′ē8′e10′ē11′∨e6′e7′ē9′ē10′e11′∨ē6′e7′ē8′e10′e11′∨ē6′e7′e8′e10′ē11′
∨ē6′e7′e8′ē10′e11′∨e6′e7′e8′e10′e11′∨e6′ē7′e8′ē10′e11′
然后,把e6′ē8′e9′e11′、e7′ē8′e9′e11′、e7′ē8′e9′e10′、e6′e8′ē9′e10′、e6′ē7′e9′e10′ē11′e6′ē7′ē8′e10′e11′、e6′e7′ē8′e10′ē11′、e6′e7′ē9′ē10′e11′、ē6′e7′ē8′e10′e11′、ē6′e7′e8′e10′ē11′、ē6′e7′e8′e10′ê11′、ē6′e7′e8′ē10′e11′、e6′e7′e8′e11′、e6′ē6′ē7′e8′ē10′e11′分别输入到合计14个4输入“与”门电路82和5输入“与”门电路83。
最后,通过把从各个“与”门电路所输出的信号输入到14输入“或”门电路86,来输出1字节中的检测信号72。
另外,以上,以第1字节中的t位纠错解码电路70为例作了详细说明,然而对于其他字节也完全一样。
下面,图19示出12输入排序电路73的结构例。
如图19所示,12位的输入信息被排序,把由2输入“或”门电路75和2输入“与”门电路76成对构成的2输入2输出电路作为单元(cell),针对12输入多级连接地构成该单元。该排序电路一般是在n位输入中存在x个1的数时,按n位的高x个输出1,把剩余的输出全部输出0的电路。另外,该电路的一般结构在非专利文献13中作了描述。
如图19所示,在作为12输入12输出电路的12输入排序电路73中,可使用39个(即,78门)该单元,利用最大9级的单元(9门级)来实现。例如,当作为12位的输入信息的(001011001011)那样的加权6的信息时,12输入排序电路73的输出为(111111000000)。
下面,图20示出i字节中的误纠正判定电路74的结构例。
图20示出例如针对第1字节而具体构成的1字节中的误纠正判定电路74的结构例。如图20所示,1字节中的误纠正判定电路74具有各位“异或”电路90、16输入排序电路91以及各位选择电路96。
这里,对1字节中的误纠正判定电路74的处理进行更详细说明,如图20所示,把第1字节以外的解码结果位错误指针(ê)71ê0…ê7ê16…ê95以及各字节的错误的和(eA)38输入到各位“异或”电路90。并且,把第1字节的解码结果位错误指针(ê)71ê8…ê15以及各字节的错误的和(eA)38输入到各位“异或”电路90。
然后,把各字节的错误的和(eA)38以及各位“异或”电路90的输出输入到16输入排序电路91。根据上述算式39所示的关系,下述算式55所示的关系成立。
[算式55]
wH(êx+eA)+wH(êx)≤μ1·t
因此,在16输入排序电路91的输出中,在1的数小于等于4个的情况下,输出1。即,在16输入排序电路91的输出中,把高4位输入到4输入“或”门电路92,把低12位输入到12输入“或非”门电路93。并且,把1字节中的检测信号输入到“非”门电路94。然后,把来自4输入“或”门电路92的输出、来自12输入“或非”门电路93的输出以及来自“非”门电路94的输出输入到3输入“与”门电路95。
最后,把3输入“与”门电路95的输出作为控制信号,把各位“异或”电路90的输出以及第1字节的解码结果位错误指针(ê)71ê8…ê15输入到各位选择电路96,并输出GF(28)上的位错误指针(e)42的第1字节(e8…e15)。其结果,在进行了正确纠正的情况下,输出ex=êx,在进行了误纠正、或者检测为控制能力外错误的情况下,通过取在其他字节中进行了正确纠正的错误模式与eA的“异或”,可复原进行了误纠正的字节中的错误模式。
下面,图21示出各位“异或”电路90的结构例。如图21所示,该电路是取分别具有8位的2个信号的各位之间的“异或”的电路。
这里,对各位“异或”电路90的处理进行更详细说明,如图21所示,把8位的信号中的第0位彼此输入到多输入“异或”电路97。将从多输入奇偶校验电路97所输出的各信号进行汇集,最终作为8位的信号来输出。
下面,图23示出16输入排序电路91的结构例。如图23所示,在16输入排序电路91中,16位的输入信息被排序,把由2输入“或”门电路75和2输入“与”门电路76成对构成的2输入2输出电路作为单元(cell),针对16输入多级连接地构成该单元。该排序电路一般是在n位输入中存在x个1的数时,按n位的高x个输出1,把剩余的输出全部输出0的电路。
并且,如图23所示,在作为16输入16输出电路的16输入排序电路91中,可使用63个(即,126门)该单元,利用最大10级的单元(10门级)来实现。
最后,具体示出各位选择电路96的结构例。
如图22所示,各位选择电路96是按照控制信号(即,3输入“与”门电路95的输出)选择分别具有8位的2个信号的各位的电路。
这里,对各位选择电路96的处理进行更详细说明,如图22所示,把8位的信号中的第0位彼此输入到2输入多路复用器98。在2输入多路复用器98中,在控制信号是0的情况下,输出高位信号,在控制信号是1的情况下,输出低位信号。关于第0位以外的信号也一样,根据控制信号进行选择。将从2输入多路复用器98所输出的各信号进行汇集,最终作为8位信号来输出。
以上,以具有b=8、t=1、μ1=μ2=4、p1=p2=2的码参数的[41/8EC]2码为例作了说明,然而显然,对于具有上述以外的码参数的码,也同样能构成上述的电路。
(f)反转电路10的结构
最后,对反转电路10的结构进行说明。
图24示出例如针对第1字节而具体构成的反转电路10。图24所示的反转电路10是针对错误部位被具体指出的位位置,对所接收的位值进行反转来纠正接收字(V’)32的电路。在图24中,v8’~v15’是与接收字(V’)32的第1字节相当的8位,v8 *~v15 *是纠正后的输出位。
反转电路10具有多个“异或”电路。在图24所示的第1字节中的反转电路10中,合计8个的“异或”电路99针对8输入位v8’~v15’,取与对应的位错误指针ei(i=8、9、…、15)的“异或”,例如当位错误指针是“1”时,将输入位值反转来纠正。
另外,反转电路10为了分别对应于各字节,针对N=90位的接收字(V’),需要90个“异或”电路。反转电路10最后从N=90位的接收字(V’)获得下述算式56所示的64位的纠正字D*。
[算式56]
D*=(v0 *v1 *…v57 *v58 *v60 *v64 *v66 *v72 *v74 *)
以上,以图3所示的具有b=8、t=1、μ1=μ2=4、p1=p2=2这样的码参数的[41/8EC]2码为例,对限制了错误字节数的字节内多个斑点字节错误控制码的编码电路和解码电路的具体结构作了详细说明。这里,在GF(2r)上的并行解码电路8中,例如,在进行使用上述Berlekamp-Massey法的逐次解码的情况下,只要使用根据错误位置多项式和错误评价多项式求出错误位置和错误的现有方法即可。该方法的实现手段可以是硬件,也可以是软件。
并且,对于具有上述以外的码参数的限制了错误字节数的字节内多个斑点字节错误控制码,可通过如下考虑来构成。
首先,编码电路只要使用2元表现的奇偶校验矩阵来生成R位的校验信息即可,可完全同样地构成。
并且,解码如上所述,在通过p1纠正p2检测RS码的解码所获得的GF(2r)上的错误e’中,针对各字节进行H”的解码以及误纠正判定,从而可求出GF(2b)上的错误,同样可构成解码电路。
而且,对于由上述算式5所示的奇偶校验矩阵所表现的限制了错误字节数的解压缩字节内多个斑点字节错误控制码,可通过如下考虑来构成。
首先,编码电路只要使用2元表现的奇偶校验矩阵来生成R位的校验信息即可,可完全同样地构成。
并且,解码通过采用上述并行解码法或者使用Berlekamp-Massey法的逐次解码法,进行GF(2r’)上的p1纠正p2检测RS码的解码,并且通过与上述例一样把GF(2r’)上的错误转换成GF(2b)上的错误,从而可同样进行解码。
因此,显然,解码电路也通过把上述例中的上述GF(2r)上的并行解码电路8变更为在GF(2r’)上进行并行解码的电路,并且通过在上述例中的上述GF(2b)上的错误生成电路9中,把r位变更为r’位,可同样构成解码电路。
并且,对于由上述算式25和上述算式28所示的奇偶校验矩阵所表现的具有字节检错功能的限制了错误字节数的字节内多个斑点字节错误控制码,可通过如下考虑来构成。
首先,编码电路只要使用2元表现的奇偶校验矩阵来生成R位的校验信息即可,可完全同样地构成。
并且,解码如上所述,在计算出校正子之后,H”的等于或大于(μ1+μ2)/2t或b中的任一小的值的列是线性独立的,因而在SI≠0且SII=SIII=SIV=0的情况下,假定产生字节错误而进行检测。并且,在通过上述的p1纠正p2检测RS码的解码所获得的GF(2r)上的错误e’中,在错误字节数是1且SI的汉明加权大于μ1t的情况下,假定产生字节错误而进行检测,从而可同样进行解码。
因此,解码电路也把SI以外的校正子新输入到上述例中的H”乘法电路,并在SI≠0且SI以外的校正子是0的情况下,输出检测信号。显然,把SI新输入到GF(2b)上的错误生成电路,在GF(2b)上的错误生成电路中,检查在GF(2r)上的错误e’中错误字节数是否是1,使用上述排序电路来检查SI的汉明加权是否大于μ1t,从而可同样构成解码电路。
如上所述,在本发明中,提供具有针对在字节中具有到t位为止的错误的斑点字节错误,纠正在p1个字节内产生的μ1个斑点字节错误、而且检测在p2个字节内产生的μ2个斑点字节错误的能力的、限制了错误字节数的字节内多个斑点字节错误控制码的具有一般性的码结构,并且示出可实现错误的纠正/检测的电路即编码电路和解码电路的具体结构,从而表明可具体生成校验信息、以及可具体纠正/检测错误。
并且,本发明表明,当设t=1时,得到具有可控制在有限数量的字节内产生的随机位错误的功能的、限制了错误字节数的随机位纠错/检错码。
并且,在本发明中,提供具有检测超过纠正能力的1字节错误的功能的限制了错误字节数的字节内多个斑点字节错误控制码的具有一般性的码结构,并且示出可实现错误的纠正/检测的电路即编码电路和解码电路的具体结构,从而表明可具体生成校验信息、以及可具体纠正/检测错误。
在以上说明中,主要注目于存储器装置来描述了本发明的应用,然而本发明不限于此,也能应用于例如由以这种字节为单位物理独立的电路、模块以及装置构成的、并在其中产生限定数量的错误的可能性高的一般的信息系统等。并且,也能应用于光通信电路和总线电路等的通信或传送用的电路、装置或者系统。
并且,当然,本发明的目的也能通过以下方式来达到,即:把描述有实现本实施方式的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置的功能的软件的程序码的存储介质提供给系统或者装置,由该系统或者装置的计算机(或者CPU或MPU)读出和执行存储在存储介质内的程序码。
在该情况下,从存储介质所读出的程序码自身实现本实施方式的功能,存储有该程序码的存储介质和该程序码构成本发明。作为用于提供程序码的存储介质,可使用ROM、软盘、硬盘、光盘、光磁盘、CD-ROM、CD-R、磁带、非易失性存储卡等。
并且,不仅包含由计算机执行所读出的程序码,从而实现上述本实施方式的功能,当然也包含根据该程序码的指示,由在计算机上工作的OS等进行实际处理的一部分或全部,通过该处理实现本实施方式的功能。
产业上的可利用性
如以上说明那样,根据本发明的限制了错误字节数的字节内多个斑点字节错误纠正/检测方法和装置,把根据表现码的奇偶校验矩阵和输入信息数据所生成的校验信息附加给上述输入信息数据所得的发送字针对可能有在信息传送路径中产生的错误的接收字,根据上述奇偶校验矩阵生成校正子,并根据该校正子纠正或检测上述接收字的错误,因而可实现具有针对1字节中的1位、2位、3位等的到t位为止的错误即斑点字节错误,纠正/检测在任意限制数量的字节内产生的任意数量的字节内多个斑点字节错误(调查错误倾向,设计者可任意决定字节数和斑点字节错误的个数)的功能的、限制了错误字节数的字节内多个斑点字节错误控制码。
由此,没有必要使检测或纠正错误的码即奇偶校验矩阵的结构和解码的处理过程应对各错误产生状况,而可统一进行处理,仅任意设定本发明的码功能中的t值、b值、p1值、p2值、μ1值、μ2值,就能统一处理奇偶校验矩阵H和解码过程,可提供能灵活应对错误产生状态的码功能。
而且,通过选择比b位的字节长小的整数位长t,与现有的字节错误控制码(相当于t=b)相比较,可大幅减少校验位数。由此,可减小校验位数对码长所占的比例,可显著提高编码率,可实现具有高效率和高可靠性的数据转发。
总之,根据具有在现有的码技术中不存在的“可控制在有限数量的字节内产生的多重的字节内多个斑点字节错误”的优良功能的本发明的限制了错误字节数的字节内多个斑点字节错误纠正/检测方法和装置,可取得以下显著的效果,即:与以往的使用里德-所罗门码(Reed-Solomon码)的多重字节错误控制码相比较,可减少校验位数,从而提高编码率,并且,特别是,在设t=1的情况下,与以往的使用BCH码的多重位错误控制码相比较,可减少校验位数,从而提高编码率,而且可提供能灵活应对位错误产生状态的码功能。
<参考文献一览>
专利文献1:
日本特開2004-7217号公報
专利文献2:
日本特願2003-416978号明細書
专利文献3:
日本特願2004-239392号明細書
专利文献4:
日本特願2004-287810号明細書
专利文献5:
日本特開2002-374175号公報
非专利文献1:
エス.ジエイ.ホン(S.J.Hong) ·エイ.エム.パテル(A.M.Patel)共著,『ア ゼネラル クラス オフ マツクシマル コ一ドズ フオ一 コソピユ一タ アプ リケ一シヨンズ “A general Class of MaximalCodes for computer Applications”』,IEEE トランスアクシヨソズ オン コンピユ一タズ(IEEE Transactions on Computers),第C-21巻,第12号,p.1322-1331,1972年
非专利文献2:
イ一.フジワラ (E.Fujiwara),『オツド一ウエイト一コラム b一アヅエイスント エラ一 コレクテイソグ コ一ドズ “0dd-Weight-Columnb-Adjacent Error Correcting Codes”』,トランスアクシヨンズ オフザ IECE ヅヤパソ(Transactions of the IECE Japan),第E61巻,第10号,p.781-787,1978年
非专利文献3:
エス.カネダ(S.Kaneda) ·イ一.フジワラ(E.Fujiwara)共著,『シソグル バイト エラ一 コレクテイング一ダブル バイト エラ一 デイテクテイング コ一ドズ フオ一 メモリ システムズ “SingleByte Error Correcting-Double Byte Error Detecting Codes forMemory Systems”』,IEEE トラソスアクシヨンズ オン コンピユ一タズ(IEEE Transactions on Computers),第C-31巻,第7号,p.596-602,1982年7月
非专利文献4:
シ-.エル.チエン(C.L.Chen) ·エル.イ一.グロバシユ (L.E.Grosbach)共著,『フオ一ルト一トレラソト メモリ デザイソ イン ザ IBM アプリケ一シヨソ. システム/400TM “Fault-TolerantMemory Design in the IBM Application System/400TM”』,プロシ一デイングズ オフ ア二ユアル インタ一ナシヨナル シソポヅウム オン フオ一ルト一トレラソト コソピユ一テイング (Proceedings ofAnnual International Symposium on Fault-Tolerant Computing),p.393-400,1991年6月
非专利文献5:
エス.カネダ(S.Kaneda),『ア クラス オフ オツド一ウエイト一コラム SEC-DED-SbED コ一ドズ フオ一 メモリ システム アプリケ一シヨンズ “A class of Odd-Weight-Column SEC-DED-SbED Codes for Memory System Applications”』,IEEE トラソスアクシヨンズ オソ コンピユ一タズ (IEEE Transactions onComputers),第C-33巻,第8号,p.737-739,1984年8月
非专利文献6:
テイ.ア一ル.エヌ.ラオ (T.R.N.Rao) ·エイヅ フジワラ (EijiFujiwara)共著,『エラ一 コントロ一ル コ一デイング フオ一 コンピユ一タ システムズ “Error Control Coding for ComputerSystems”』,プレソテイス一ホ一ル(Prentice-Hall),1989年
非专利文献7:
イ一.フジワラ (E.Fujiwara) ·エム.ハマダ(M.Hamada)共著,『シソグル b一ビツト バイト エラ一 コレクテイング アンド ダブルビツト エラ一 デイテクテイング コ一ドズ フオ一 メモリ システムズ“Single b-Bit Byte Error Correcting and Double Bit ErrorDetecting Codes for Memory Systems”』,IEICE トラソスアクシヨンズ オソ フアンダメンタルズ (IEICE Transactions onFundamentals),第E76-A巻,第9号,p.1442-1448,1993年9月
非专利文献8:
エム.ハマダ(M.Hamada) ·イ一.フジワラ(E.Fujiwara)共著,『アクラス オフ エラ一 コソトロ一ル コ一ドズ フオ一 バイト オ一ガナイゼド メモリ システムズ-Sb·EC-(Sb+S)ED コ-ドズ一“A Class of Error Control Codes for Byte OrganizedMemory Systems-SbEC-(Sb+S)ED Codes-”』,IEEE トランスアクシヨンズ オン コソピユ一タズ(IEEE Transactions on Computers),第46巻,第1号,p.105-109,1997年1月
非专利文献9:
ヅ一.ウマネサン(G.Umanesan) ·イ一.フジワラ (E.Fujiwara)共著,『ラソダム ダブル ビツト エラ一 コレクテイング一シソグル バイト エラ一 コレクテイング(DEC-SbEC) コ一ドズ フオ一 メモリ システムズ “Random Double Bit Error Correcting-Single Byte Error Correcting (DEC-SbEC) Codes for MemorySystems”』,IEICE トランスアクシヨソズ オン フアソダメンタルズ(IEICE Transactions on Fundamentals),第E85-A巻,第1号,p.273-276,2002年1月
非专利文献10:
ジ一.ウマネサン (G.Umanesan)·イ一.フジワラ (E.Fujiwara)共著,『ア クラス オフ コ一ドズ フオ一 コレクテイソグ シソグルスポツテイ バイト エラ一ズ “A Class of Codes for CorrectingSingle Spotty Byte Errors”』,IEICE トランスアクシヨンズオソ フアソダメソタルズ(IEICE Transactions on Fundamentals),第E86-A巻,第3号,p.704-714,2003年3月
非专利文献11:
今井秀樹·藤谷宏共著,『復号の簡单な誤り訂正符号の一耩成法』,電子通信学会論文誌,1979年
非专利文献12:
エス.ビイ一.ウイツカ一 (S.B.Wicker)·ヴイ.ケイ.バ一ルガバ(V.K.Bhargava)共著,『 リ一ド ンロモソ コ一ドズ アンド ゼア アプリケ一シヨソズ“Reed-Solomon Codes and Their Applications”』,IEEEプレス (IEEE Press),1994年
非专利文献13:
エス.ジエイ.ピ一ストラク(S.J.Piestrak),『ザ ミニマル テストセツト フオ一 マルテアウトプツト スレツシヨウルド サ一キツトズ インプレメソテド アズ ン一テイソグ ネツトワ一クス“Theminimal Test Set for Multioutput Threshold Circuits Implementedas Sorting Networks”』,IEEE トランスアクシヨンズ オン コンピユ一タズ(IEEE Transactions on Computers),第42巻,第6号,p.700-712,1993年6月
Claims (41)
1.一种限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,该装置具有:编码单元,其根据输入信息数据生成发送字;以及解码单元,其把在信息传送路径中产生错误的上述发送字作为接收字来输入,纠正或检测上述错误;其特征在于,
上述编码单元把根据表现斑点字节错误控制码的奇偶校验矩阵和上述输入信息数据所生成的校验信息附加给上述输入信息数据,从而生成上述发送字;
上述解码单元具有:校正子生成单元,其根据上述奇偶校验矩阵生成上述接收字的校正子;以及纠错单元,其根据由上述校正子生成单元所生成的校正子纠正或检测上述接收字的错误。
2.根据权利要求1所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,其特征在于,
在上述输入信息数据把b(b是大于等于2的整数)位设定为1字节,并由多个字节构成的情况下,这里,前提是:把字节内的到t位(1≤t≤b)为止的错误称为斑点字节错误,把在1字节内产生多个上述斑点字节错误的错误称为字节内多个斑点字节错误;
由上述奇偶校验矩阵所表现的上述斑点字节错误控制码纠正在p1个字节内产生的μ1个斑点字节错误,而且检测在p2个字节内产生的μ2个斑点字节错误。
3.根据权利要求2所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,其特征在于,任意设定上述t值、b值、p1值、p2值、μ1值、μ2值,其中,p1≤p2以及μ1≤μ2成立。
4.根据权利要求1至权利要求3中的任一项所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,其特征在于,上述信息传送路径是信息通信系统。
5.根据权利要求1至权利要求3中的任一项所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,其特征在于,上述信息传送路径是存储器系统。
6.根据权利要求1至权利要求3中的任一项所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,其特征在于,上述信息传送路径是总线电路。
7.根据权利要求2至权利要求6中的任一项所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,上述奇偶校验矩阵是在具有纠正在p1个字节内产生的μ1个斑点字节错误、而且检测在p2个字节内产生的μ2个斑点字节错误的功能的、限制了错误字节数的字节内多个斑点字节错误控制码([μ1t/bEC]p1-[μ2t/bED]p2码)中使用的具有R行N列的以下矩阵H,
式中,R=q+(p1+p2-1)r,N=bn,0≤i≤n-1,n=2r-1,矩阵H’是由H’=[h0’、h1’、…、hb-1’]所示的由q次的列向量hj’(0≤j≤b-1)构成的q行b列(q≤b)的二元矩阵,等于或大于(μ1+μ2)t或b中的任一小的值的列是线性独立的,当(μ1+μ2)t≥b时,上述矩阵H’是包含单位矩阵的正则矩阵,当(μ1+μ2)t<b时,上述矩阵H’等于具有最小汉明距离(μ1+μ2)t+1的码的校验矩阵,即,具有(μ1+μ2)t位检错功能的(b、b-q)码的奇偶校验矩阵,并且,矩阵H”是由H”=[h0”、h1”、…、hb-1”]所示的由r次的列向量hj”(0≤j≤b-1)构成的r行b列(r≤b)的二元矩阵,等于或大于(μ1+μ2)/2」t或b中的任一小的值的列是线性独立的,这里,x表示不超过x的最大整数,并且,当(μ1+μ2)/2t≥b时,上述矩阵H”是包含单位矩阵的正则矩阵,当(μ1+μ2)/2」t<b时,上述矩阵H”等于具有最小汉明距离(μ1+μ2)/2」t+1的码的校验矩阵,即,具有(μ1+μ2)/2t位检错功能的(b、b-r)码的奇偶校验矩阵,γ是GF(2)的r次的扩大域GF(2r)的原始元,并构成为使γiH”=[γih0”、γih1”、…、γihb-1”]成立。
8.根据权利要求2至权利要求6中的任一项所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,上述奇偶校验矩阵是在具有纠正在p1个字节内产生的μ1个斑点字节错误、而且检测在p2个字节内产生的μ2个斑点字节错误的功能的、限制了错误字节数的解压缩字节内多个斑点字节错误控制码(解压缩[μ1t/bEC]p1-[μ2t/bED]p2码)中使用的具有R行N列的以下矩阵H,
式中,r’≥r,R=q+(p1+p2-1)r’,N=b(n+1)+r’,0≤i≤n-1,n=2r’-1,Ir’是r’次的单位矩阵,O是零矩阵,矩阵H’是由H’=[h0’、h1’、…、hb-1’]所示的由q次的列向量hj’(0≤j≤b-1)构成的q行b列(q≤b)的二元矩阵,等于或大于(μ1+μ2)t或b中的任一小的值的列是线性独立的,当(μ1+μ2)t≥b时,上述矩阵H’是包含单位矩阵的正则矩阵,当(μ1+μ2)t<b时,上述矩阵H’等于具有最小汉明距离(μ1+μ2)t+1的码的校验矩阵,即,具有(μ1+μ2)t位检错功能的(b、b-q)码的奇偶校验矩阵,并且,矩阵H”是由H”=[h0”、h1”、…、hb-1”]所示的由r次的列向量hj”(0≤j≤b-1)构成的r行b列(r≤b)的二元矩阵,等于或大于(μ1+μ2)/2t或b中的任一小的值的列是线性独立的,这里,x表示不超过x的最大整数,并且,当(μ1+μ2)/2」t≥b时,上述矩阵H”是包含单位矩阵的正则矩阵,当(μ1+μ2)/2t<b时,上述矩阵H”等于具有最小汉明距离(μ1+μ2)/2」t+1的码的校验矩阵,即,具有(μ1+μ2)/2t位检错功能的(b、b-r)码的奇偶校验矩阵,γ是GF(2)的r’次的扩大域GF(2r’)的原始元,并构成为使γiH”=[γiΦ(h0”)、γiΦ(h1”)、…、γiΦ(hb-1”)]成立,这里,Φ是根据加法从GF(2r)到GF(2r’)的单射同态(injective homomorphism),即,Φ:GF(2r)→GF(2r’)。
9.根据权利要求2至权利要求6中的任一项所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,上述奇偶校验矩阵是在具有纠正在p1个字节内产生的μ1个斑点字节错误、并检测在p2个字节内产生的μ2个斑点字节错误、而且检测超过纠正能力的1字节错误的功能的、限制了错误字节数的字节内多个斑点字节错误控制码([μ1t/bEC]p1-[μ2t/bED]p2-SbED码)中使用的具有R行N列的以下矩阵H,
式中,R=b+(p1+p2-1)r,N=bn,0≤i≤n-1,n=2r-1,Ib是b次的单位矩阵,矩阵H”是由H”=[h0”、h1”、…、hb-1”]所示的由r次的列向量hj”(0≤j≤b-1)构成的r行b列(r≤b)的二元矩阵,等于或大于(μ1+μ2)/2」t或b中的任一小的值的列是线性独立的,这里,x表示不超过x的最大整数,这里,当(μ1+μ2)/2t≥b时,上述矩阵H”是包含单位矩阵的正则矩阵,当(μ1+μ2)/2t<b时,上述矩阵H”等于具有最小汉明距离(μ1+μ2)/2」t+1的码的校验矩阵,即,具有(μ1+μ2)/2t位检错功能的(b、b-r)码的奇偶校验矩阵,γ是GF(2)的r次的扩大域GF(2r)的原始元,并构成为使γiH”=[γih0”、γih1”、…、γihb-1”]成立。
10.根据权利要求2至权利要求6中的任一项所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,上述奇偶校验矩阵是在具有纠正在p1个字节内产生的μ1个斑点字节错误、并检测在p2个字节内产生的μ2个斑点字节错误、而且检测超过纠正能力的1字节错误的功能的、限制了错误字节数的解压缩字节内多个斑点字节错误控制码(解压缩[μ1t/bEC]p1-[μ2t/bED]p2-SbED码)中使用的具有R行N列的以下矩阵H,
式中,r’≥r,R=b+(p1+p2-1)r’,N=b(n+1)+r’,0≤i≤n-1,n=2r’-1,Ib是b次的单位矩阵,Ir’是r’次的单位矩阵,O是零矩阵,矩阵H”是由H”=[h0”、h1”、…、hb-1”]所示的由r次的列向量hj”(0≤j≤b-1)构成的r行b列(r≤b)的二元矩阵,等于或大于t或b中的任一小的值的列是线性独立的,这里,x表示不超过x的最大整数,这里,当(μ1+μ2)/2t≥b时,上述矩阵H”是包含单位矩阵的正则矩阵,当[(μ1+μ2)/2t<b时,上述矩阵H”等于具有最小汉明距离(μ1+μ2)/2t+1的码的校验矩阵,即,具有(μ1+μ2)/2」t位检错功能的(b、b-r)码的奇偶校验矩阵,γ是GF(2)的r’次的扩大域GF(2r’)的原始元,并构成为使γiH”=[γiΦ(h0”)、γiΦ(h1”)、…、γiΦ(hb-1”)]成立,这里,Φ是根据加法从GF(2r)到GF(2r’)的单射同态(injective homomorphism),即,Φ:GF(2r)→GF(2r’)。
11.根据权利要求7所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,上述限制了错误字节数的字节内多个斑点字节错误控制码([μ1t/bEC]p1-[μ2t/bED]p2码)是具有在把上述t值设定为1的情况下(t=1),纠正在p1个字节内产生的μ1个随机位错误、而且检测在p2个字节内产生的μ2个随机位错误的功能的、限制了错误字节数的随机位错误控制码。
12.根据权利要求8所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,上述限制了错误字节数的解压缩字节内多个斑点字节错误控制码(解压缩[μ1t/bEC]p1-[μ2t/bED]p2码)是具有在把上述t值设定为1的情况下(t=1),纠正在p1个字节内产生的μ1个随机位错误、而且检测在p2个字节内产生的μ2个随机位错误的功能的、限制了错误字节数的随机位错误控制码。
13根据权利要求9所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,上述限制了错误字节数的字节内多个斑点字节错误控制码([μ1t/bEC]p1-[μ2t/bED]p2-SbED码)是具有在把上述t值设定为1的情况下(t=1),纠正在p1个字节内产生的μ1个随机位错误、并检测在p2个字节内产生的μ2个随机位错误、而且检测超过纠正能力的1字节错误的功能的、限制了错误字节数的随机位错误控制码。
14.根据权利要求10所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,上述限制了错误字节数的解压缩字节内多个斑点字节错误控制码(解压缩[μ1t/bEC]p1-[μ2t/bED]p2-SbED码)是具有在把上述t值设定为1的情况下(t=1),纠正在p1个字节内产生的μ1个随机位错误、并检测在p2个字节内产生的μ2个随机位错误、而且检测超过纠正能力的1字节错误的功能的、限制了错误字节数的随机位错误控制码。
15.根据权利要求7所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,上述奇偶校验矩阵(H)在设t≥b/(μ1+μ2)/2的情况下,上述矩阵H’和上述矩阵H”为任意的b列是线性独立的矩阵,与具有纠正p1字节错误并检测p2字节错误的功能的RS码的奇偶校验矩阵一致。
16.根据权利要求8所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,上述奇偶校验矩阵(H)在设t≥b/(μ1+μ2)/2的情况下,上述矩阵H’和上述矩阵H”为任意的b列是线性独立的矩阵,与具有纠正p1字节错误并检测p2字节错误的功能的2次解压缩RS码的奇偶校验矩阵一致。
17.根据权利要求9所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,上述奇偶校验矩阵(H)在设t≥b/(μ1+μ2)/2的情况下,上述矩阵H”为任意的b列是线性独立的矩阵,与具有纠正p1字节错误并检测p2字节错误的功能的RS码的奇偶校验矩阵一致。
18.根据权利要求10所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,上述奇偶校验矩阵(H)在设t≥b/(μ1+μ2)/2的情况下,上述矩阵H”为任意的b列是线性独立的矩阵,与具有纠正p1字节错误并检测p2字节错误的功能的2次解压缩RS码的奇偶校验矩阵一致。
19.根据权利要求1至权利要求18中的任一项所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,上述纠错单元根据上述校正子生成检测上述接收字的哪个位产生错误的位错误指针,根据所生成的上述位错误指针来使与错误位对应的上述接收字的位值反转,从而纠正上述接收字的错误,并且在检测出不能纠正上述接收字的位错误的情况下,输出不能纠正错误检测信号。
20.根据权利要求7至权利要求18中的任一项所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,上述纠错单元由H’解码单元、H”乘法单元、GF(2r)上的并行解码单元、GF(2b)上的错误生成单元、以及反转单元构成。
21.根据权利要求20所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,
上述H’解码单元根据由上述校正子生成单元所生成的上述校正子的高q位,生成各字节的错误的和(eA);
上述H”乘法单元根据由上述H’解码单元所生成的上述各字节的错误的和(eA),生成上述各字节的错误的和(eA)与H”的转置矩阵的积;
上述GF(2r)上的并行解码单元根据由上述H”乘法单元所生成的上述各字节的错误的和(eA)与H”的转置矩阵的积、以及由上述校正子生成单元所生成的上述校正子的除去高q位的剩余的低位,生成GF(2r)上的位错误指针、以及当在GF(2r)上的并行解码中认为不能进行纠错时所输出的第1不能纠正错误检测信号;
上述GF(2b)上的错误生成单元根据由上述H’解码单元所生成的上述各字节的错误的和(eA)、以及由上述GF(2r)上的并行解码单元所生成的上述GF(2r)上的位错误指针,生成GF(2b)上的位错误指针、以及当认为不能进行纠错时所输出的第2不能纠正错误检测信号;
上述反转单元根据由上述GF(2b)上的错误生成单元所生成的上述GF(2b)上的位错误指针,使与上述GF(2b)上的位错误指针对应的上述接收字的位值反转,从而纠正上述接收字的错误。
22.根据权利要求21所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,在上述纠错单元中,通过取由上述GF(2r)上的并行解码单元所生成的上述第1不能纠正错误检测信号与由上述GF(2b)上的错误生成单元所生成的上述第2不能纠正错误检测信号的“或”,来输出表示检测出超过纠正能力的错误的第3不能纠正错误检测信号。
24.根据权利要求21或权利要求22所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,上述GF(2b)上的错误生成单元具有:t位纠错解码单元、多输入排序单元、以及i字节中的误纠正判定单元;
上述t位纠错解码单元是将上述GF(2r)上的位错误指针(e’)的规定的1字节作为输入,把解码结果位错误指针
的与上述规定的1字节对应的1字节输出到上述i字节中的误纠正判定单元,并把检测超过纠正能力的错误的信号即i字节中的检测信号输出到上述多输入排序单元和上述i字节中的误纠正判定单元的单元;
上述多输入排序单元是对所输入的多个上述i字节中的检测信号的加权(1的数)进行计数,按照该加权数从输出的高位连续输出1的单元;
25.根据权利要求23或权利要求24所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,在上述GF(2b)上的错误生成单元中,把从上述多输入排序单元所输出的信号中的第2高位的信号作为上述第2不能纠正错误检测信号来输出,并且,收集从上述i字节中的误纠正判定单元所输出的信号,输出具有码位长的位数的上述GF(2b)上的位错误指针。
27.根据权利要求26所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测装置,
针对上述[μ1t/bEC]p1-[μ2t/bED]p2-SbED码和上述解压缩[μ1t/bEC]p1-[μ2t/bED]p2-SbED码,
把SI以外的校正子新输入到上述H”乘法单元,在SI≠0且SI以外的校正子是0的情况下,输出检测信号;
并且,把SI新输入到上述GF(2b)上的错误生成单元,在上述GF(2b)上的错误生成单元中,在GF(2r)上的错误e’中检查错误字节数是否是1,并使用上述多输入排序单元来检查SI的汉明加权是否大于μ1t,从而构成上述解码单元。
28.一种限制了错误字节数的字节内多个斑点字节错误纠正/检测方法,该方法具有:编码处理步骤,其根据输入信息数据生成发送字;以及解码处理步骤,其把在信息传送路径中产生错误的上述发送字作为接收字来输入,纠正或检测上述错误;其特征在于,
上述编码处理步骤把根据表现斑点字节错误控制码的奇偶校验矩阵和上述输入信息数据所生成的校验信息附加给上述输入信息数据,从而生成上述发送字;
上述解码处理步骤具有:校正子生成处理步骤,其根据上述奇偶校验矩阵生成上述接收字的校正子;以及纠错处理步骤,其根据由上述校正子生成处理步骤所生成的校正子纠正或检测上述接收字的错误;
在上述输入信息数据把b(b是大于等于2的整数)位设定为1字节并由多个字节构成的情况下,这里,前提是:把字节内的到t位(1≤t≤b)为止的错误称为斑点字节错误,把在1字节内产生多个上述斑点字节错误的错误称为字节内多个斑点字节错误;
由上述奇偶校验矩阵所表现的上述斑点字节错误控制码纠正在p1个字节内产生的μ1个斑点字节错误,而且检测在p2个字节内产生的μ2个斑点字节错误;
任意设定上述t值、b值、p1值、p2值、μ1值、μ2值,其中,p1≤p2以及μ1≤μ2成立;
上述信息传送路径是信息通信系统、存储器系统、或者总线电路的任一方。
29.根据权利要求28所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测方法,上述奇偶校验矩阵是在具有纠正在p1个字节内产生的μ1个斑点字节错误、而且检测在p2个字节内产生的μ2个斑点字节错误的功能的、限制了错误字节数的字节内多个斑点字节错误控制码([μ1t/bEC]p1-[μ2t/bED]p2码)中使用的具有R行N列的以下矩阵H,
式中,R=q+(p1+p2-1)r,N=bn,0≤i≤n-1,n=2r-1,矩阵H’是由H’=[h0’、h1’、…、hb-1’]所示的由q次的列向量hj’(0≤j≤b-1)构成的q行b列(q≤b)的二元矩阵,等于或大于(μ1+μ2)t或b中的任一小的值的列是线性独立的,当(μ1+μ2)t≥b时,上述矩阵H’是包含单位矩阵的正则矩阵,当(μ1+μ2)t<b时,上述矩阵H’等于具有最小汉明距离(μ1+μ2)t+1的码的校验矩阵,即,具有(μ1+μ2)t位检错功能的(b、b-q)码的奇偶校验矩阵,并且,矩阵H”是由H”=[h0”、h1”、…、hb-1”]所示的由r次的列向量hj”(0≤j≤b-1)构成的r行b列(r≤b)的二元矩阵,等于或大于(μ1+μ2)/2t或b中的任一小的值的列是线性独立的,这里,x表示不超过x的最大整数,并且,当(μ1+μ2)/2t≥b时,上述矩阵H”是包含单位矩阵的正则矩阵,当(μ1+μ2)/2t<b时,上述矩阵H”等于具有最小汉明距离(μ1+μ2)/2t+1的码的校验矩阵,即,具有(μ1+μ2)/2t位检错功能的(b、b-r)码的奇偶校验矩阵,γ是GF(2)的r次的扩大域GF(2r)的原始元,并构成为使γiH”=[γih0”、γih1”、…、γihb-1”]成立。
30.根据权利要求28所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测方法,上述奇偶校验矩阵是在具有纠正在p1个字节内产生的μ1个斑点字节错误、而且检测在p2个字节内产生的μ2个斑点字节错误的功能的、限制了错误字节数的解压缩字节内多个斑点字节错误控制码(解压缩[μ1t/bEC]p1-[μ2t/bED]p2码)中使用的具有R行N列的以下矩阵H,
式中,r’≥r,R=q+(p1+p2-1)r’,N=b(n+1)+r’,0≤i≤n-1,n=2r’-1,Ir’是r’次的单位矩阵,O是零矩阵,矩阵H’是由H’=[h0’、h1’、…、hb-1’]所示的由q次的列向量hj’(0≤j≤b-1)构成的q行b列(q≤b)的二元矩阵,等于或大于(μ1+μ2)t或b中的任一小的值的列是线性独立的,当(μ1+μ2)t≥b时,上述矩阵H’是包含单位矩阵的正则矩阵,当(μ1+μ2)t<b时,上述矩阵H’等于具有最小汉明距离(μ1+μ2)t+1的码的校验矩阵,即,具有(μ1+μ2)t位检错功能的(b、b-q)码的奇偶校验矩阵,并且,矩阵H”是由H”=[h0”、h1”、…、hb-1”]所示的由r次的列向量hj”(0≤j≤b-1)构成的r行b列(r≤b)的二元矩阵,等于或大于(μ1+μ2)/2t或b中的任一小的值的列是线性独立的,这里,x表示不超过x的最大整数,并且,当(μ1+μ2)/2t≥b时,上述矩阵H”是包含单位矩阵的正则矩阵,当(μ1+μ2)/2」t<b时,上述矩阵H”等于具有最小汉明距离(μ1+μ2)/2」t+1的码的校验矩阵,即,具有(μ1+μ2)/2」t位检错功能的(b、b-r)码的奇偶校验矩阵,γ是GF(2)的r’次的扩大域GF(2r’)的原始元,并构成为使γiH”=[γiΦ(h0”)、γiΦ(h1”)、…、γiΦ(hb-1”)]成立,这里,Φ是根据加法从GF(2r)到GF(2r’)的单射同态(injective homomorphism),即,Φ:GF(2r)→GF(2r’)。
31.根据权利要求28所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测方法,上述奇偶校验矩阵是在具有纠正在p1个字节内产生的μ1个斑点字节错误、并检测在p2个字节内产生的μ2个斑点字节错误、而且检测超过纠正能力的1字节错误的功能的、限制了错误字节数的字节内多个斑点字节错误控制码([μ1t/bEC]p1-[μ2t/bEDp2-SbED码)中使用的具有R行N列的以下矩阵H,
式中,R=b+(p1+p2-1)r,N=bn,0≤i≤n-1,n=2r-1,Ib是b次的单位矩阵,矩阵H”是由H”=[h0”、h1”、…、hb-1”]所示的由r次的列向量hj”(0≤j≤b-1)构成的r行b列(r≤b)的二元矩阵,等于或大于(μ1+μ2)/2t或b中的任一小的值的列是线性独立的,这里,x表示不超过x的最大整数,这里,当[(μ1+μ2)/2」t≥b时,上述矩阵H”是包含单位矩阵的正则矩阵,当(μ1+μ2)/2t<b时,上述矩阵H”等于具有最小汉明距离(μ1+μ2)/2t+1的码的校验矩阵,即,具有(μ1+μ2)/2」t位检错功能的(b、b-r)码的奇偶校验矩阵,γ是GF(2)的r次的扩大域GF(2r)的原始元,并构成为使γiH”=[γih0”、γih1”、…、γihb-1”]成立。
32.根据权利要求28所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测方法,上述奇偶校验矩阵是在具有纠正在p1个字节内产生的μ1个斑点字节错误、并检测在p2个字节内产生的μ2个斑点字节错误、而且检测超过纠正能力的1字节错误的功能的、限制了错误字节数的解压缩字节内多个斑点字节错误控制码 (解压缩[μ1t/bEC]p1-[μ2t/bED]p2-SbED码)中使用的具有R行N列的以下矩阵H,
式中,r’≥r,R=b+(p1+p2-1)r’,N=b(n+1)+r’,0≤i≤n-1,n=2r’-1,Ib是b次的单位矩阵,Ir’是r’次的单位矩阵,O是零矩阵,矩阵H”是由H”=[h0”、h1”、…、hb-1”]所示的由r次的列向量hj”(0≤j≤b-1)构成的r行b列(r≤b)的二元矩阵,等于或大于t或b中的任一小的值的列是线性独立的,这里,x表示不超过x的最大整数,这里,当(μ1+μ2)/2」t≥b时,上述矩阵H”是包含单位矩阵的正则矩阵,当(μ1+μ2)/2t<b时,上述矩阵H”等于具有最小汉明距离(μ1+μ2)/2t+1的码的校验矩阵,即,具有(μ1+μ2)/2」t位检错功能的(b、b-r)码的奇偶校验矩阵,γ是GF(2)的r’次的扩大域GF(2r’)的原始元,并构成为使γiH”=[γiΦ(h0”)、γiΦ(h1”)、…、γiΦ(hb-1”)]成立,这里,Φ是根据加法从GF(2r)到GF(2r’)的单射同态(injective homomorphism),即,Φ:GF(2r)→GF(2r’)。
33.根据权利要求28至权利要求32中的任一项所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测方法,上述纠错处理步骤根据上述校正子生成检测上述接收字的哪个位产生错误的位错误指针,根据所生成的上述位错误指针来使与错误位对应的上述接收字的位值反转,从而纠正上述接收字的错误,并且在检测出不能纠正上述接收字的位错误的情况下,输出不能纠正错误检测信号。
34.根据权利要求29至权利要求32中的任一项所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测方法,上述纠错处理步骤具有:H’解码处理步骤、H”乘法处理步骤、GF(2r)上的并行解码处理步骤、GF(2b)上的错误生成处理步骤、以及反转处理步骤。
35.根据权利要求34所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测方法,
上述H’解码处理步骤根据由上述校正子生成处理步骤所生成的上述校正子的高q位,生成各字节的错误的和(eA);
上述H”乘法处理步骤根据由上述H’解码处理步骤所生成的上述各字节的错误的和(eA),生成上述各字节的错误的和(eA)与H”的转置矩阵的积;
上述GF(2r)上的并行解码处理步骤根据由上述H”乘法处理步骤所生成的上述各字节的错误的和(eA)与H”的转置矩阵的积、以及由上述校正子生成处理步骤所生成的上述校正子的除了高q位以外的剩余的低位,生成GF(2r)上的位错误指针、以及当在GF(2r)上的并行解码中认为不能进行纠错时所输出的第1不能纠正错误检测信号;
上述GF(2b)上的错误生成处理步骤根据由上述H’解码处理步骤所生成的上述各字节的错误的和(eA)、以及由上述GF(2r)上的并行解码处理步骤所生成的上述GF(2r)上的位错误指针,生成GF(2b)上的位错误指针、以及当认为不能进行纠错时所输出的第2不能纠正错误检测信号;以及
上述反转处理步骤根据由上述GF(2b)上的错误生成处理步骤所生成的上述GF(2b)上的位错误指针,使与上述GF(2b)上的位错误指针对应的上述接收字的位值反转,从而纠正上述接收字的错误。
36.根据权利要求35所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测方法,在上述纠错处理步骤中,通过取由上述GF(2r)上的并行解码处理步骤所生成的上述第1不能纠正错误检测信号与由上述GF(2b)上的错误生成处理步骤所生成的上述第2不能纠正错误检测信号的“或”,来输出表示检测出超过纠正能力的错误的第3不能纠正错误检测信号。
38.根据权利要求35或权利要求36所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测方法,上述GF(2b)上的错误生成处理步骤具有:t位纠错解码处理步骤、多输入排序处理步骤、以及i字节中的误纠正判定处理步骤;
上述t位纠错解码处理步骤将上述GF(2r)上的位错误指针(e’)的规定的1字节作为输入,把解码结果位错误指针
的与上述规定的1字节对应的1字节输出到上述i字节中的误纠正判定处理步骤,并把检测超过纠正能力的错误的信号即i字节中的检测信号输出到上述多输入排序处理步骤和上述i字节中的误纠正判定处理步骤;
上述多输入排序处理步骤对所输入的多个上述i字节中的检测信号的加权(1的数)进行计数,按照该加权数从输出的高位连续输出1;
39.根据权利要求37或权利要求38所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测方法,在上述GF(2b)上的错误生成处理步骤中,把从上述多输入排序处理步骤所输出的信号中的第2高位的信号作为上述第2不能纠正错误检测信号来输出,并且,收集从上述i字节中的误纠正判定处理步骤所输出的信号,输出具有码位长的位数的上述GF(2b)上的位错误指针。
41.根据权利要求40所述的限制了错误字节数的字节内多个斑点字节错误纠正/检测方法,
针对上述[μ1t/bEC]p1-[μ2t/bED]p2-SbED码和上述解压缩[μ1t/bEC]p1-[μ2t/bED]p2-SbED码,
把SI以外的校正子新输入到上述H”乘法处理步骤,在SI≠O且SI以外的校正子是0的情况下,输出检测信号;
并且,把SI新输入到上述GF(2b)上的错误生成处理步骤,在上述GF(2b)上的错误生成处理步骤中,在GF(2r)上的错误e’中检查错误字节数是否是1,并在上述多输入排序处理步骤中检查SI的汉明加权是否大于μ1t,从而进行解码处理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP060818/2005 | 2005-03-04 | ||
JP2005060818A JP4036338B2 (ja) | 2005-03-04 | 2005-03-04 | 誤りバイト数を制限したバイト内複数スポッティバイト誤り訂正・検出方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101099138A true CN101099138A (zh) | 2008-01-02 |
CN100492325C CN100492325C (zh) | 2009-05-27 |
Family
ID=36953094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800465046A Expired - Fee Related CN100492325C (zh) | 2005-03-04 | 2005-12-16 | 限制了错误字节数的字节内多个斑点字节错误纠正/检测方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8230292B2 (zh) |
JP (1) | JP4036338B2 (zh) |
KR (1) | KR20070103734A (zh) |
CN (1) | CN100492325C (zh) |
WO (1) | WO2006095489A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541667A (zh) * | 2010-09-21 | 2012-07-04 | 国际商业机器公司 | 用散列函数区分存储系统中随机和重复差错的方法和系统 |
CN105224415A (zh) * | 2015-09-25 | 2016-01-06 | 北京奇虎科技有限公司 | 用于实现业务任务的码的生成方法及装置 |
CN110688249A (zh) * | 2019-09-20 | 2020-01-14 | 上海励驰半导体有限公司 | 一种纠错码电路的注错检测电路 |
CN116028260A (zh) * | 2023-01-09 | 2023-04-28 | 海光信息技术股份有限公司 | 数据的处理方法、处理装置以及存储系统 |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101433620B1 (ko) * | 2007-08-17 | 2014-08-25 | 삼성전자주식회사 | 처리량을 높이기 위하여 더블 버퍼링 구조와 파이프라이닝기법을 이용하는 디코더 및 그 디코딩 방법 |
KR101466694B1 (ko) * | 2007-08-28 | 2014-11-28 | 삼성전자주식회사 | Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법 |
JP5363460B2 (ja) * | 2008-07-30 | 2013-12-11 | パナソニック株式会社 | 誤り訂正機能付きコントローラ、誤り訂正機能付き記憶装置、及び誤り訂正機能付きシステム |
JP5094792B2 (ja) * | 2009-07-15 | 2012-12-12 | 株式会社京三製作所 | 情報伝送装置 |
US8539321B2 (en) * | 2010-11-10 | 2013-09-17 | Infineon Technologies Ag | Apparatus and method for correcting at least one bit error within a coded bit sequence |
US9450613B2 (en) | 2010-11-10 | 2016-09-20 | Infineon Technologies Ag | Apparatus and method for error correction and error detection |
US8914706B2 (en) | 2011-12-30 | 2014-12-16 | Streamscale, Inc. | Using parity data for concurrent data authentication, correction, compression, and encryption |
US8683296B2 (en) | 2011-12-30 | 2014-03-25 | Streamscale, Inc. | Accelerated erasure coding system and method |
US8782487B2 (en) * | 2012-04-18 | 2014-07-15 | Lsi Corporation | Systems and methods for locating and correcting decoder mis-corrections |
US8782488B2 (en) * | 2012-04-20 | 2014-07-15 | Lsi Corporation | Systems and methods for back step data decoding |
US9104639B2 (en) | 2012-05-01 | 2015-08-11 | SEAKR Engineering, Inc. | Distributed mesh-based memory and computing architecture |
KR101837099B1 (ko) * | 2012-07-05 | 2018-03-09 | 에스케이하이닉스 주식회사 | 가변 구조의 에러 정정 부호화기 |
US9214959B2 (en) | 2013-02-19 | 2015-12-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Systems and methods for skip layer data decoding |
US9698830B2 (en) * | 2013-02-28 | 2017-07-04 | Intel Corporation | Single-bit first error correction |
US9274889B2 (en) | 2013-05-29 | 2016-03-01 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Systems and methods for data processing using global iteration result reuse |
US8959414B2 (en) | 2013-06-13 | 2015-02-17 | Lsi Corporation | Systems and methods for hybrid layer data decoding |
US8917466B1 (en) | 2013-07-17 | 2014-12-23 | Lsi Corporation | Systems and methods for governing in-flight data sets in a data processing system |
US8817404B1 (en) | 2013-07-18 | 2014-08-26 | Lsi Corporation | Systems and methods for data processing control |
US9196299B2 (en) | 2013-08-23 | 2015-11-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Systems and methods for enhanced data encoding and decoding |
US8908307B1 (en) | 2013-08-23 | 2014-12-09 | Lsi Corporation | Systems and methods for hard disk drive region based data encoding |
US9094046B2 (en) | 2013-09-03 | 2015-07-28 | Lsi Corporation | Systems and methods for variable sector count spreading and de-spreading |
US8976471B1 (en) | 2013-09-05 | 2015-03-10 | Lsi Corporation | Systems and methods for two stage tone reduction |
US9400797B2 (en) | 2013-09-17 | 2016-07-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Systems and methods for recovered data stitching |
US9219503B2 (en) | 2013-10-16 | 2015-12-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Systems and methods for multi-algorithm concatenation encoding and decoding |
US9436550B2 (en) | 2013-10-31 | 2016-09-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Systems and methods for internal disk drive data compression |
US9323606B2 (en) | 2013-11-21 | 2016-04-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Systems and methods for FAID follower decoding |
RU2014104571A (ru) | 2014-02-10 | 2015-08-20 | ЭлЭсАй Корпорейшн | Системы и способы для эффективного с точки зрения площади кодирования данных |
CN104834476B (zh) | 2014-02-10 | 2016-10-19 | 安华高科技通用Ip(新加坡)公司 | 基于段结束标记的数据对准的系统和方法 |
US9378765B2 (en) | 2014-04-03 | 2016-06-28 | Seagate Technology Llc | Systems and methods for differential message scaling in a decoding process |
US9184954B1 (en) | 2014-07-02 | 2015-11-10 | Seagate Technology Llc | Systems and methods for directed soft data perturbation in layered decoding |
US9384761B1 (en) | 2015-04-09 | 2016-07-05 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Systems and methods for flexible variable code rate support |
US20170324425A1 (en) * | 2016-05-06 | 2017-11-09 | Infineon Technologies Ag | Embedded parity matrix generator |
DE102017125617B8 (de) * | 2017-11-02 | 2020-08-27 | Infineon Technologies Ag | Bestimmung und verwendung von bytefehlerpositionssignalen |
US11764940B2 (en) | 2019-01-10 | 2023-09-19 | Duality Technologies, Inc. | Secure search of secret data in a semi-trusted environment using homomorphic encryption |
KR20210092391A (ko) * | 2020-01-16 | 2021-07-26 | 삼성전자주식회사 | 반도체 메모리 장치의 에러 정정 회로 및 반도체 메모리 장치 |
WO2021199409A1 (ja) * | 2020-04-02 | 2021-10-07 | 三菱電機株式会社 | 誤り訂正符号化装置、誤り訂正復号装置、制御回路、記憶媒体、誤り訂正符号化方法および誤り訂正復号方法 |
JP7454676B2 (ja) | 2021-01-14 | 2024-03-22 | チャンシン メモリー テクノロジーズ インコーポレイテッド | 記憶システム |
US11990201B2 (en) | 2021-01-14 | 2024-05-21 | Changxin Memory Technologies, Inc. | Storage system |
JP2023512892A (ja) | 2021-01-14 | 2023-03-30 | チャンシン メモリー テクノロジーズ インコーポレイテッド | 比較システム |
EP4071762B1 (en) * | 2021-01-14 | 2023-07-05 | Changxin Memory Technologies, Inc. | Error correction system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3565798B2 (ja) | 2001-06-14 | 2004-09-15 | 英二 藤原 | バースト誤りパターン生成方法及びバーストおよびバイト誤り検出・訂正装置 |
JP3879082B2 (ja) | 2002-05-31 | 2007-02-07 | 財団法人理工学振興会 | バイト誤り訂正・検出装置 |
JP3743915B2 (ja) | 2003-12-15 | 2006-02-08 | 国立大学法人東京工業大学 | スポッティバイト誤り訂正・検出方法及び装置 |
JP2006060465A (ja) | 2004-08-19 | 2006-03-02 | Tokyo Institute Of Technology | スポッティバイト誤り訂正・検出方法及び装置 |
JP2006101429A (ja) | 2004-09-30 | 2006-04-13 | Tokyo Institute Of Technology | バイト内複数スポッティバイト誤り訂正・検出方法及び装置 |
-
2005
- 2005-03-04 JP JP2005060818A patent/JP4036338B2/ja not_active Expired - Fee Related
- 2005-12-16 KR KR1020077011148A patent/KR20070103734A/ko not_active Application Discontinuation
- 2005-12-16 WO PCT/JP2005/023545 patent/WO2006095489A1/ja not_active Application Discontinuation
- 2005-12-16 CN CNB2005800465046A patent/CN100492325C/zh not_active Expired - Fee Related
- 2005-12-16 US US11/817,758 patent/US8230292B2/en not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541667A (zh) * | 2010-09-21 | 2012-07-04 | 国际商业机器公司 | 用散列函数区分存储系统中随机和重复差错的方法和系统 |
CN102541667B (zh) * | 2010-09-21 | 2014-12-10 | 国际商业机器公司 | 用散列函数区分存储系统中随机和重复差错的方法和系统 |
CN105224415A (zh) * | 2015-09-25 | 2016-01-06 | 北京奇虎科技有限公司 | 用于实现业务任务的码的生成方法及装置 |
CN105224415B (zh) * | 2015-09-25 | 2018-01-09 | 北京奇虎科技有限公司 | 用于实现业务任务的码的生成方法及装置 |
CN110688249A (zh) * | 2019-09-20 | 2020-01-14 | 上海励驰半导体有限公司 | 一种纠错码电路的注错检测电路 |
CN110688249B (zh) * | 2019-09-20 | 2023-04-07 | 上海励驰半导体有限公司 | 一种纠错码电路的注错检测电路 |
CN116028260A (zh) * | 2023-01-09 | 2023-04-28 | 海光信息技术股份有限公司 | 数据的处理方法、处理装置以及存储系统 |
CN116028260B (zh) * | 2023-01-09 | 2024-02-27 | 海光信息技术股份有限公司 | 数据的处理方法、处理装置以及存储系统 |
Also Published As
Publication number | Publication date |
---|---|
US8230292B2 (en) | 2012-07-24 |
CN100492325C (zh) | 2009-05-27 |
WO2006095489A1 (ja) | 2006-09-14 |
US20090106633A1 (en) | 2009-04-23 |
JP4036338B2 (ja) | 2008-01-23 |
JP2006244259A (ja) | 2006-09-14 |
KR20070103734A (ko) | 2007-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100492325C (zh) | 限制了错误字节数的字节内多个斑点字节错误纠正/检测方法和装置 | |
US7487425B1 (en) | Low cost symbol error correction coding and decoding | |
US7392461B2 (en) | Decoding for algebraic geometric code associated with a fiber product | |
US7962837B2 (en) | Technique for reducing parity bit-widths for check bit and syndrome generation for data blocks through the use of additional check bits to increase the number of minimum weighted codes in the hamming code H-matrix | |
CN101946230B (zh) | 用于检测和校正所接收的符号串中的定相突发差错、删除、符号差错和位差错的方法和系统 | |
CN101005333B (zh) | 低密度奇偶校验码编码方法 | |
CN100428176C (zh) | 根据(18,9)dec-ted码从数据字生成码字、对其解码的方法和装置 | |
Silva et al. | Extended matrix region selection code: An ECC for adjacent multiple cell upset in memory arrays | |
Song et al. | SEC-BADAEC: An efficient ECC with no vacancy for strong memory protection | |
Das et al. | Efficient one-step decodable limited magnitude error correcting codes for multilevel cell main memories | |
JP2732862B2 (ja) | データ伝送試験装置 | |
US10164660B1 (en) | Syndrome-based Reed-Solomon erasure decoding circuitry | |
WO2009018184A1 (en) | Syndrome-error mapping method for decoding linear and cyclic codes | |
US20100031126A1 (en) | System and method for using the universal multipole for the implementation of a configurable binary bose-chaudhuri-hocquenghem (BCH) encoder with variable number of errors | |
Faraj | ’Design Error Detection and Correction System based on Reed_Muller Matrix for Memory Protection’ | |
Saha | Software implemented fault tolerance through data error recovery | |
JP3743915B2 (ja) | スポッティバイト誤り訂正・検出方法及び装置 | |
Singh et al. | Improving performance parameters of error detection and correction in hdlc protocol by using hamming method | |
CN102571106B (zh) | 具有双层纠错能力的bch编码器和解码器 | |
Kumari et al. | Study of Different Types of Error Detection and Correction Code in Wireless Communication | |
JP2006101429A (ja) | バイト内複数スポッティバイト誤り訂正・検出方法及び装置 | |
JP2004007217A (ja) | バイト誤り訂正・検出方法及び装置 | |
Luo et al. | Optimized Algebraic Decoding Algorithm for (47, 24, 11) QR Code | |
CN100367676C (zh) | 一种卷积码的编码方法 | |
Krishna et al. | FPGA Implementation of Double bit Error Detection and Correction in SRAM Emulated TCAMs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090527 Termination date: 20121216 |