(57)【要約】【課題】代数的単一シンボル誤り訂正及び検出。【解決手段】符号語内の未知の位置で単一シンボル誤りを訂正することと、符号語内の複数シンボルが訂正不能に破損している場合を識別することと、符号語内の単一シンボルが訂正不能に破損している場合を識別することとを達成する方法が提示される。前記方法は、受信語のシンドロームを計算するステップと、前記シンドロームを２個の部分に分割するステップと、２個のシンドローム部分から計算される３個の整数重み付け量を検査するステップと、前記シンドロームを受信ビットに関連する整数値「直交ビット誤り重み」のベクトルに変換するステップと、前記受信語のそれらのビットをトグルするステップとを備え、関連する前記「直交ビット誤り重み」は、可能な値範囲の上半分にあることを特徴とする。【選択図】なし【特許請求の範囲】
【請求項１】
正方の２行の、同じサイズを持つ、バイナリ部分行列を備える第１の中間行列を生成するステップであって、第１の行はサイズｐ・ｐのｐ個の単位行列を備え、第２の行はサイズｐ・ｐの循環シフト行列のｐ個の増加するべき乗を備えるステップと、
ｐを法とする列番号[ｒ＋２ｒｉ＋ｉ＋ｑ]で前記第１の中間行列の部分行列の各々からｍ個の等距離の列を取り除くことにより、前記第１の中間行列から第２の中間行列を生成するステップであって、ｉ，ｍ，ｐ，ｑは整数であり、ｉ＝０，．．．，ｍ−１であり、ｍ，ｐ，ｑ，ｒはｐ＝ｍ＋２ｍｒのように予め定義され、前記部分行列内の列番号は０で開始するステップと、
０のみを含む、前記第２の中間行列Ｈ２の部分行列の第一行からそれらの行列の行を削除することにより、前記第２の中間行列から、第３の中間行列を生成するステップと、
前記第３の中間行列に、それらの列範囲の中間の行に「１」要素を有する高さ２ｐ−ｍのｍ−１個のバイナリ列ベクトルを前掛けするステップであって、１べき乗のシフト行列に並置される０べき乗のシフト行列は行重み２を有するステップと
の結果と等しいＬＤＰＣ符号のパリティ検査行列により、符号化される誤り訂正であるバイナリデータの誤り訂正及び誤り検出の方法であって、
前記バイナリデータは語内で組織化されており、前記語はシンボルを備え、前記方法は、
受信語と前記ＬＤＰＣ符号の前記パリティ検査行列とから、バイナリシンドロームベクトルを計算するステップと、
前記シンドロームベクトルを、第１のサブベクトルと第２のサブベクトルとに分割するステップと、
前記第１のサブベクトルから第１の誤り重みを計算し、前記第２のサブベクトルから第２の誤り重みと第３の誤り重みとを計算するステップと、
前記シンドロームベクトルを直交ビット誤り重みベクトルに変換するステップと、
前記直交ビット誤り重みのベクトルから、多数決判定を経て多数決誤りベクトルを導出するステップと、
前記多数決誤りベクトルから、前記受信語の前記シンボルに関連付けられたシンボル誤り重みのベクトルを計算するステップと、
前記シンボル誤り重みのベクトルから、潜在的なシンボル誤りの数を導出するステップと、
第１の部分行列とのビット単位の排他的論理和演算により、前記潜在的なシンボル誤りの数が１と導出されたそれらの受信語を訂正するステップと
を有することを特徴とする方法。
【請求項２】
請求項１に記載の方法において、前記第１のサブベクトルは、ｐ−ｍビットのシンドロームから構成され、前記第２のサブベクトルは、ｐビットから構成され、前記第３の誤り重みは、前記第２のサブベクトルからその要素２ｒｊ＋ｊ以外に配されたビットをカウントすることにより得られることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学ストレージシステムのＥＣＣ（誤り訂正符合、error correction code）の分野に関する。また、磁気記録ストレージデバイス、ＲＡＩＤ（Redundant Array of Independent Disk）システム、及び伝送システムにも適用することができる。
【背景技術】
【０００２】
非特許文献１は、ディスクアレー内の二重ディスク障害を許容する新規な種類の低密度ＭＤＳアレー符号を提示する。提示されるＭＤＳアレー符号は、Ｂｌａｕｍ等のＥＶＥＮＯＤＤ符号より少ない符号化及び復号の計算量を有する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第５２７１０１２号明細書
【特許文献２】欧州特許第０５１９６６９号明細書
【特許文献３】米国特許第５６４４６９５号明細書
【特許文献４】米国特許第５３５１２４６号明細書
【特許文献５】米国特許第５２７１０１２号明細書
【非特許文献】
【０００４】
【非特許文献１】H. Fujita et al, "Modified low-density MDS array codes for tolerating double disk failures in disk arrays", IEEE trans COMP-56, pp. 563-566
【非特許文献２】R.J.G. Smith, “Easily Decodable Efficient Self-Orthogonal Block Codes”, Electronics Letters, 1977, Vol 13 No. 7, pp173-174
【非特許文献３】M. Blaum “A CODING TECHNIQUE FOR RECOVERY AGAINST DOUBLE DISK FAILURE IN DISK ARRAYS” 1992
【非特許文献４】Lin, Costello “Error Control Coding” Section17.6.1 p872
【発明の概要】
【発明が解決しようとする課題】
【０００５】
効率的に符号化可能な準巡回誤り訂正符号のアプローチは、以下では、「ｚアレー符号」と称される。ｚアレー符号は、非特許文献２で公表されるような既知の「アレー符号」に基づく。ｚアレー符号は、系統立った方法では、ｔｙｐｅ  ＬＤＰＣ即ち低密度パリティ検査のＥＣＣ符号を構成し、一方では全体の符号語長でさえ効率的に符号化可能であり、他方ではメッセージパッシングアルゴリズムを用いて復号されるとき、良いパフォーマンスを有する。
【０００６】
ｚアレー符号のパリティ検査行列は、以下のステップにより定義及び生成される。即ち、正方の２行の、同じサイズを持つ、バイナリ部分行列を備えるように、第１の中間行列Ｈ１が生成され、ここで第１の行はサイズｐ・ｐのｐ個の単位行列ｌを備え、第２の行はサイズｐ・ｐの循環シフト行列σのｐ個の増加するべき乗σuを備える。ここで、ｕ＝０，．．．，ｐ−１である。第１の中間行列Ｈ１から、ｐを法とする列番号[ｒ＋２ｒｉ＋ｉ＋ｑ]で第１の中間行列Ｈ１の部分行列の各々からｍ個の等距離の列を取り除くことにより、第２の中間行列Ｈ２は生成される。ここで、ｉ，ｍ，ｐ，ｑは整数であり、ｉ＝０，．．．，ｍ−１であり、ｍ，ｐ，ｑ，ｒはｐ＝ｍ＋２ｍｒのように予め定められ、且つ部分行列内の列番号は０で開始する。σuに対応する部分行列に対し、この列除去を適用した結果を以下ではσu´と示す。第２の中間行列Ｈ２から、この除去するステップにより０のみを含む、第２の中間行列Ｈ２の部分行列の第一行からそれらの行列の行を削除することにより、第３の中間行列Ｈ３が生成される。この削除の結果として、第３の中間行列Ｈ３の第１の行は、サイズが（ｐ−ｍ）・（ｐ−ｍ）のｐ個の小単位行列ｌｓを備える。第３の中間行列Ｈ３から、重み２を有する高さ２ｐ−ｍのｍ−１個のバイナリ列ベクトルを前掛けすることにより、ｚアレー符号のパリティ検査行列Ｈが生成される。ここで、列ベクトルは、部分行列の並置[σ0σ1]が行重み２を有する、それらの行範囲の中央の数行に「１」要素を有する。後述するバイナリ列ベクトルは共に、「ｚ」行列と名付けられ、よって、ｚアレー符号の名がある。
【０００７】
以下では、列除去後の循環シフト部分行列σuのうちの一つの列を含むパリティ検査行列Ｈのそれらの列に対応するそれらｐ−ｍビットのタプルを、ｚアレー符号語の「シンボル（symbol）」として、表す。更に、σ(x-1)の列に対応する、タプルのうちの一つを「シンボルｘ」又は「ｘ番目のシンボル」として、表す。本方法では、それらの番号のために、パリティ検査行列Ｈのｚ行列部分に対応する、ｍ−１個の符号語の左端ビットは通常、シンボルと見なされないことを留意されたい。
【０００８】
アレー符号上のｚアレー符号の利点
・列正則であることにより、ｚアレー符号は、列非正則のアレー符号より良いメッセージパッシング復号パフォーマンスを可能にする。
・ｚアレー符号は、符号語長と線形的に成長する符号化時間を維持する。
・ｚアレー符号は、パリティビット生成、即ち符号化を許容し、独立した順次タスクの調整可能な数に分割されて、符号化プロセスの並列化を可能にする。
【０００９】
ｚアレー符号は、効率的な符号化及び優れたメッセージパッシング復号パフォーマンスのために設計される。しかしながら、メッセージパッシング復号は、受信した符号語に対する低ビット信頼性により、誤りが反射されるときのみ、行揃えされる。これは、バースト誤りの場合（即ち、既知の位置により表されているバースト誤りを消去する）又はショットノイズイベントの場合ではない可能性がある。同一シンボル内に複数の破損ビットを備える単一シンボル誤りの場合、特に誤りが短時間誤りバーストの幾つかの形式によって引き起こされるとき、メッセージパッシング復号は恐らく、訂正符号語を見つけることを失敗するであろう。そのとき、潜在的単一シンボル誤りに対する代数的シンボル誤り復号を実行することができる。
【００１０】
単一誤り訂正符号は、非特許文献３に開示される。また、特許文献１又は特許文献２も、それぞれ参照されたい。これらの符号は、最小距離３を有し、従って、任意の単一シンボル誤りを訂正することができる。
【００１１】
Blaumの復号方法は、特許文献３に開示される。これは、特許文献４に提示されるような汎用アレー符号に依拠し、特許文献５も含む。
【００１２】
ｚアレー符号の符号語のほとんどが最小距離３を有する一方で、それらのうちの数個は、最小距離２を有するので、ｚアレー符号化によって、全ての単一シンボル誤りが訂正可能という訳ではない。
【００１３】
ｚアレー符号化されたデータを復号することに関し、
・ランダムなビット誤りに対し、メッセージパッシング復号を有利に使用することができる。  
・少なくともｚアレー符号の部分集合に対し、単一及び二重消失（single and double erasures）（符号語内の既知の位置で誤りのあるシンボル）を、ｚアレー符号化から処理ステップを変更したものを用いて訂正することができる。  
・短時間バースト誤りの状況、即ち、符号語内の未知の位置で単一シンボルが幾つかの破損したビットを有するとき、効率的な復号（即ち、訂正）方法は、今のところ不十分である。
【００１４】
従来技術からの解決法、即ち、特許文献１／特許文献２、特許文献３、及び特許文献４は、並列化符号を許容する特徴を有さない異なる符号を伴う。
【００１５】
本発明は、代数的単一シンボル誤り訂正及び誤り検出方法を提供する。用語「代数的復号」は、「メッセージパッシング」として知られる反復方法と比較して、訂正データが幾つかの所与のデータから「計算」されている復号方法を参照する誤り訂正の分野で知られており、ここで所与の誤ったデータは、本方法の元で漸近的に訂正データに収束する。本発明は、ｚアレー符号化されたデータ上で、以下のタスクに対し、従来技術から知られる「多数決論理復号」の変更したものを効率的に使用できることを提示及び記述する。  
・符号語内の（未知の位置で）単一シンボル誤りを訂正すること
・符号語内の複数のシンボルが訂正不能に破損されている場合を識別すること
・符号語内の単一シンボルが訂正不能に破損されている（少数の）場合を識別すること
【課題を解決するための手段】
【００１６】
本発明による方法は、以下のステップを伴う。  
・受信語のシンドロームを計算するステップ
・シンドロームを２個の部分に分割するステップ
・２個のシンドローム部分から計算される３個の整数重み付け量を検査するステップ
・シンドロームを受信ビットに関連する整数値「直交ビット誤り重み」のベクトルに変換するステップ
・受信語のそれらのビットをトグルするステップであって、関連する「直交ビット誤り重み」は、可能な値範囲の上半分にあるステップ
【発明の効果】
【００１７】
・他の、以前に発明されたｚアレー符号化データを復号する方法の補完となる。一緒に用いられることで、これらの復号技術は、実行する上で重要な復号シナリオのほとんどとは言わないまでも多くをカバーする。  
・本方法は、ｚアレー符号化データ上で使用されるとき、特許文献３に記載の復号方法に対して有利な代替手段である。
【００１８】
本発明は、ｚアレー符号語内の単一シンボル誤りを訂正することに関する問題を解決する。ｚアレー符号語内の単一シンボル誤りを訂正する方法が提示される。本方法は、拡張多数決論理復号処理を用いる。更に、複数のシンボル誤り及び訂正不能な単一シンボル誤りが識別され、訂正不能としてマークされる。
【００１９】
ｚアレー符号は、最小シンボル距離ｄmin＝２を有する。従って、シンボル内の誤りビットの数に依存し、シンボル誤り位置を位置決めすることは常に実行可能ではないので、単一シンボル誤り訂正を保証することができない。従って、全ての訂正不能なシンボル誤りイベントを少なくとも識別する対策が採用される。言及されたｚアレー符号の設計パラメータ「ｐ」を、これらのイベントのより低い確率に対して使用できることが示されるであろう。更にほとんどの複数シンボル誤りは識別されるであろう。
【００２０】
本発明による方法の利点は、
・単一ｚアレー符号シンボルの複数のビットが破損されている場合、本発明による拡張多数決論理復号方法の誤り訂正率は、軟判定のメッセージパッシング復号のそれよりかなり高い。  
・軟判定のメッセージパッシング復号に比べて、本発明による復号方法は、より単純であり、従って、より少ない処理リソースを必要とする。これは、硬判定、非反復的性質に起因する。  
・特許文献３と対照的に、本発明による復号方法は、訂正不能なシンボル誤りイベントを認識する。３という最小シンボル距離を有するアレー符号に対し、全ての単一シンボル誤りは訂正可能である。アレー符号上のｚアレー符号の利点は、上で指摘されている。
【発明を実施するための形態】
【００２１】
本発明によると、語内の組織化されたバイナリデータの誤り訂正及び誤り検出は、以下のステップを備える。
【００２２】
−受信後ｒ´から、バイナリのシンドロームベクトルｓを計算するステップ
−シンドロームベクトルｓを第１の部分行列ｓ０及び第２の部分行列ｓ１に分割するステップ
−第１の部分行列ｓ０から第１の誤り重みｗｓ０を計算し、第２の部分行列ｓ１から第２の誤り重みｗｓ１及び第３の誤り重みｗｓ１´を計算するステップ
−シンドロームベクトルｓを直交ビット誤り重みのベクトルｅｏｗに変換するステップ
−直交ビット誤り重みのベクトルｅｏｗから、多数決判定を経て多数決誤りベクトルｅｍａｊを導出するステップ
−多数決誤りベクトルｅｍａｊから、受信語のシンボルに関連付けられたシンボル誤り重みのベクトルｅｓｙｍを計算するステップ
−シンボル誤り重みのベクトルｅｓｙｍから、潜在的なシンボル誤りの数ｎｓｙｍを導出するステップ
−第１の部分行列ｓ０とのビット単位の排他的論理和演算により、ｎｓｙｍ＝１が導出されたそれらの受信語ｒ´を訂正するステップ
【００２３】
本発明の例示的実施形態は、以下の説明でより詳細に説明される。  
インデックスｘ＝１，．．．，ｐを有するｚアレー符号語のシンボルは、パリティ検査のために、部分行列ｌｓ及びｚアレー符号のパリティ検査行列Ｈのσ(x-1)´をそれぞれ乗じられている、ｚアレー符号語のそれらのｐ−ｍ個のビットを備えるタプルであるように定義される。
【００２４】
ｚアレー符号は多くの場合、拡張多数決論理復号方法を適用することにより、単一シンボル誤りを訂正できるようにする。単一シンボル誤りは、シンボルのｐ−ｍ個のビットのうちの少なくとも１個を破損するように定義される。複数シンボル誤りは訂正不能である。復号の前に誤りイベントの種類が未知であると仮定する。
【００２５】
単一シンボル誤り訂正のための拡張多数決論理復号
【００２６】
2010098735.tif 000002
【００２７】
2010098735.tif 000003
【００２８】
2010098735.tif 000004
【００２９】
以下のステップは、非ゼロのシンドロームの場合に対してのみ実行されることを留意されたい。
【００３０】
2010098735.tif 000005
【００３１】
2010098735.tif 000006
【００３２】
2010098735.tif 000007
【００３３】
2010098735.tif 000008
【００３４】
2010098735.tif 000009
【００３５】
2010098735.tif 000010
【００３６】
2010098735.tif 000011
【００３７】
2010098735.tif 000012
【００３８】
2010098735.tif 000013
【００３９】
2010098735.tif 000014
この状態を保持することに留意されたい。（ステップ８〜ステップ１２は、拡張ステップであるとみなされる。）
【００４０】
本発明による拡張多数決論理復号は、単一シンボル誤り訂正に対する特許文献１に記載のBlaumのアレー符号にも適用することができる。このとき、符号はｖpar1部を有さないので、ステップ５を省略することができる。また、アレー符号は訂正不能な単一シンボル誤りを被らないので、ステップ１１の選択ｂ．内でｎsym＞１の状態は持続しない。
【００４１】
言い換えれば、代数的単一シンボル誤り訂正及び検出に関し、符号語内の未知の位置で単一シンボル誤りを訂正すること、符号語内の複数シンボルが訂正不能に破損されている場合を識別すること、及び符号語内の単一シンボルが訂正不能に破損されている場合を識別することを達成する方法が提示される。本方法は、受信語のシンドロームを計算するステップと、シンドロームを２個の部分に分割するステップと、２個のシンドローム部分から計算される３個の整数重み付け量を検査するステップと、シンドロームを受信ビットに関連する整数値「直交ビット誤り重み」のベクトルに変換するステップと、受信語のそれらのビットをトグルするステップであって、関連する「直交ビット誤り重み」は、可能な値範囲の上半分にあるステップとを備える。
【外国語明細書】
2010098735000001.pdf