JP4031136B2 - 符号化・復号化装置及びディスク記憶装置 - Google Patents
符号化・復号化装置及びディスク記憶装置 Download PDFInfo
- Publication number
- JP4031136B2 JP4031136B2 JP00813299A JP813299A JP4031136B2 JP 4031136 B2 JP4031136 B2 JP 4031136B2 JP 00813299 A JP00813299 A JP 00813299A JP 813299 A JP813299 A JP 813299A JP 4031136 B2 JP4031136 B2 JP 4031136B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- error correction
- data string
- decoding
- encoded data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
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/27—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 using interleaving techniques
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Description
【発明の属する技術分野】
本発明は、特に記録または伝送すべきデータ列の誤り訂正を行なうための符号化・復号化方式に関する。
【0002】
【従来の技術】
従来、例えばハードディスクドライブ(HDD)などのディスク記憶装置や、データ通信システムでは、データの信頼性を確保するための誤り訂正機能に必要な符号化・復号化(通信路符号化)技術は、極めて重要な要素の一つである。従って、従来から各種の符号化・復号化方式が開発されたり、提案されている。
【0003】
符号化とは、ディジタル情報を示す情報データ列(0,1のビット列から構成される)に冗長データ(ECCデータまたチェックシンボル)を付加した誤り訂正符号(符号化データ列または符号語列)を生成する処理である。また、復号化とは、受信した(入力した)データ列(符号化データ列)から誤り訂正(誤り検出を含む)して、元の情報データ列を推定したり、誤りの有無を出力する処理である。データの誤り形態としては、各ビットごとにランダムに誤りが発生するランダム誤りと、連続的に誤りが発生するバースト誤りとがある。
【0004】
ここで、例えばHDDにおいては、ランダム誤りとバースト誤りの両方が発生する可能性のある複合誤り通信路が想定される。誤り訂正符号化技術における通信路とは、HDDではリード/ライトチャネルと呼ぶリード/ライト回路(信号処理回路)及びディスク記憶媒体を含むモデル系を意味する。この複合誤り通信路に採用される誤り訂正方式として、記録データ(情報データ列)であるデータ列に対してデータ交錯処理(インターリーブ処理)を実行し、これにより生成されるインターリーブ構成の情報データ列(これをインターリーブと表記する場合がある)に対してリードソロモン(Reed−Solomon)符号(RS符号)等のブロック符号であるランダム誤り訂正符号を用いるという方式(便宜的に第1の符号化方式と呼ぶ)がある。また、データを2次元の配列として配置し、その各行、各列に対してそれぞれ符号化を行う符号化方式(積符号)などのように、データを配列し、その配列の2つの方向でチェックシンボルを生成するエラー訂正方式も周知である。ここで、チェックシンボルとは、冗長データである誤り訂正データ(いわゆるECCデータ)である。以下、チェックシンボル(CS)を、ECCデータと同義語として表記する場合がある。
【0005】
前記の第1の符号化方式は、概念的には図9(A)に示すように、各インターリーブ(ここでは3データ列)のそれぞれにECCデータ(チェックシンボル)を付加した符号化データ列を生成する。この第1の符号化方式は、比較的簡単な構成の回路で実現できる利点があるが、一つのインターリーブに誤り(エラー)が集中して発生するような場合には訂正不能になる欠点を有する。この欠点を回避するための方式(便宜的に第2の符号化方式と呼ぶ)として、図9(B)に示すように、インターリーブ当たりの訂正可能エラー数を増大させるために、チェックシンボル数を増大させる方式が考えられるが、エラーの多寡に関わらずエラー訂正処理(復号化処理)に要する時間が増大してしまう。
【0006】
そこで、図9(C)に示すように、前記の積符号またはクロスインターリーブ方法を採用した第3の符号化方式が提案されている。この第3の符号化方式は、データ交錯処理により得られる各インターリーブをそれぞれ配列の行として、この行に対してチェックシンボルを生成させつつ、この各列(もしくは、斜め方向など、行とは別の方向)に対してもチェックシンボルを生成する方式である。この第3の方式であれば、前記の第1の方式におけるインターリーブ数を、列数と一致させることによって、第1の方式で訂正できる誤りにたいしては同等の処理速度で復号できる装置の構成が可能となる。しかし、チェックシンボル数については、第1の方式と比較すると、列方向に対するチェックシンボル分だけのチェックシンボル数が増大することになる。従って、記録すべきデータ列に対して、結果的に付加するチェックシンボルの割合が高くなり、符号化効率が悪化することになる。
【0007】
【発明が解決しようとする課題】
前述したように、バースト誤りとランダム誤りの両方が発生する可能性のある複合誤り通信路が想定されるHDDなどでは、第1から第3の誤り符号方式が採用されている。しかしながら、第1の方式は、特にランダム誤りがひとつのインターリーブに偏って発生するような状況では訂正不能となる。また、第2の方式は、各インターリーブにおける訂正可能な誤り数を増やすと、誤り数が少ない場合でも、その誤り訂正に必要な時間(即ち、復号化処理に要する時間)が増大する問題がある。更に、第3の方式は、積符号やクロスインターリーブのような方式を採用しているため、情報ブロック量に対するチェックシンボル量(ECCデータ量)の割合が多くなるため、符号化率が悪化するという問題がある。
【0008】
そこで、本発明の目的は、相対的に少ないチェックシンボル量を使用して符号化率の悪化を抑制し、インターリーブ当たりの誤り訂正の能力範囲内では高速の誤り訂正処理を実行し、かつインターリーブ当たりの誤り訂正の能力範囲を越える誤り訂正能力についても保証することが可能な符号化・復号化方式を提供することにある。
【0009】
【課題を解決するための手段】
本発明は、異なる複数のデータ交錯方法により、情報データ列から各インターリーブを生成し、かつ各インターリーブに対して各チェックシンボルである誤り訂正符号化データを生成する符号化・復号化方式である。この方式により、情報データ列を復号化するときに、1つのチェックシンボルだけで誤り訂正できる範囲では高速の復号化処理を実現できる。また、1つのチェックシンボルだけで誤り訂正不能となる場合には、各チェックシンボルを交換して誤り訂正処理を実行することにより、誤り訂正能力の範囲を拡大することが可能となる。
【0010】
本発明の観点に従った符号化・復号化装置は、記録または伝送すべき情報データ列に対して、第1のデータ交錯方法によるデータ交錯処理を実行して、第1のインターリーブ構成の第1のデータ列を生成する手段と、前記情報データ列に対して、前記第1のデータ交錯方法とは異なる第2のデータ交錯方法によるデータ交錯処理を実行して、第2のインターリーブ構成の第2のデータ列を生成する手段と、前記第1のデータ列に対応する第1の誤り訂正符号化データ列、及び前記第2のデータ列に対応する第2の誤り訂正符号化データ列のそれぞれを生成する手段と、前記情報データ列に、前記第1の誤り訂正符号化データ列及び第2の誤り訂正符号化データ列を付加した符号化データ列を生成する手段と、前記符号化データ列から前記情報データ列を復号化する復号化手段とを備えた構成である。
【0011】
このような本発明の方式により、従来の第1の方式での訂正可能範囲については、同程度の所要時間により復号化できるため、結果的に誤り訂正範囲を制限すれば高速な復号化が可能である。また、チェックシンボル数をそれほど増大させることなく、従来の第1の方式での訂正可能範囲を越える誤り訂正を可能にできるため、符号化率の悪化を招くこと無く、相対的に高速かつ確実な復号化を実現することができる。本発明の方式を適用したHDDなどのディスク記憶装置であれば、ECCデータ量を其れほど増大させること無く、誤り訂正能力を向上できるため、高記録密度のディスク記憶装置を実現することが可能となる。
【0012】
【発明の実施の形態】
以下図面を参照して、本発明の実施の形態を説明する。
(システム構成)
図1は、第1の実施形態に関係する符号化・復号化方式のシステム構成を機能的に示す機能ブロック図である。
【0013】
同実施形態のシステム1は、例えばHDDなどの複合誤り通信路(チャネル2とする)に適用するものであり、ここでは外部システムのバッファメモリ3とチャネル2との情報データ列に対する符号化・復号化処理を実行するシステムを想定する。なお、HDDに対する適用については、第2の実施形態として後述する。
【0014】
本システム1は、図1に示すように、エンコーダ10A,デコーダ10Bの各機能を含むコントロールブロック10と、外部システムとのデータ通信を行なうためのインターフェース11,12,13と、第1のデータ交錯方法によるインターリーブ処理を実行するための第1のインターリーブ生成ブロック14と、第2のデータ交錯方法によるインターリーブ処理を実行するための第2のインターリーブ生成ブロック15と、エラー位置検出ブロック16と、ECCバッファメモリ17とを有する。
【0015】
コントロールブロック10は、インターフェース12を介して外部システムのバッファメモリ3から、処理対象の情報データ列(D1)を受信する。更に、エンコーダ10Aにより、後述する様に、情報データ列D1に対して符号化処理を実行して得られる符号化データ列(情報データ列にチェックシンボルを付加したデータ列D4)を、インターフェース11介して外部システムのチャネル2に送出する。この符号化処理において、コントロールブロック10は、生成したチェックシンボル(ECCデータ列D2,D3)をECCバッファ17に格納する。
【0016】
一方、コントロールブロック10は、インターフェース11を介してチャネル2から復号化処理対象のデータ列(D4)を受信し、デコーダ10Bにより後述する誤り訂正処理である復号化処理を実行する。コントロールブロック10は、インターフェース12を介して復号化した情報データ列D1をバッファメモリ3に送出する。また、コントロールブロック10は、インターフェース13を介して外部システムのCPU4との間で、符号化・復号化処理に関する制御情報(例えば誤り訂正不能の処理など)の交換を行なう。
(符号化処理)
以下図1と共に、図2から図4及び図5のフローチャートを参照して同実施形態の誤り訂正符号化処理を説明する。
【0017】
まず、コントロールブロック10は、インターフェース12を介して外部システムのバッファメモリ3から、処理対象の情報データ列(D1)を受信して入力する(ステップS1)。ここで、情報データ列(D1)は、情報ブロック単位として例えば512バイトのデータ列(データD1〜D512)を想定する。
【0018】
コントロールブロック10は、情報データ列D1に対して、第1のインターリーブ生成ブロック14により第1のデータ交錯方法によるインターリーブ処理を実行し、かつ第2のインターリーブ生成ブロック15により第2のデータ交錯方法によるインターリーブ処理を実行する(ステップS2)。具体的には、第1のインターリーブ生成ブロック14は、図2に示すように、インターリーブ数を「3」とした場合に、連続する情報データ列D1をインターリーブ#1、インターリーブ#2、インターリーブ3#の順で順番に振り分けていく第1のデータ交錯方法を実行する。一方、第2のインターリーブ生成ブロック15は、図3に示すように、インターリーブ数を「3」とした場合に、連続する情報データ列D1を3データ毎に区切り、インターリーブ#1、インターリーブ#2、インターリーブ3#に振り分けて、想定される6通りの振り分けかたの組み合わせを順に適応する第2のデータ交錯方法を実行する。
【0019】
このようなデータ交錯処理により、データ(ビット0または1)D1〜D512からなる512バイトの情報データ列D1は、第1のデータ交錯方法により、データD1,D4,D7,…D511からなるインターリーブ(#1とする)と、データD2,D5,D8,…D512からなるインターリーブ(#2)と、データD3,D6,D9,…D510からなるインターリーブ(#3)に振り分けられる。また、第2のデータ交錯方法により、データD1,D4,D8,…D512からなるインターリーブ(#4とする)と、データD2,D6,D7,…D511からなるインターリーブ(#5)と、データD3,D5,D9,…D508からなるインターリーブ(#6)に振り分けられる(図4を参照)。
【0020】
次に、コントロールブロック10は、エンコーダ10Aにより、下記のようなチェックシンボル(ECCデータ)を生成するエンコード処理を実行する(ステップS3)。即ち、インターリーブ(#1)のデータ列に対して、エンコード処理により、誤り訂正データ列E1−1,E1−2,,…E1−10からなるチェックシンボルを生成する。なお、チェックシンボルのバイト数は所望のエラー訂正能力により設定される。ここでは、インターリーブ当たり10バイトのチェックシンボルを生成することを想定している。インターリーブ(#2)及びインターリーブ(#3)のデータ列に対してもそれぞれ、誤り訂正データE2−1,E2−2,…E2−10からなるチェックシンボル、及び誤り訂正データE3−1,E3−2,…E3−10からなるチェックシンボルを生成する。
【0021】
また、インターリーブ(#4)のデータ列に対して、エンコード処理により、誤り訂正データ列E4−1,E4−2,…E4−10からなるチェックシンボルを生成する。さらに、インターリーブ(#5)及びインターリーブ(#6)のデータ列に対してもそれぞれ、誤り訂正データE5−1,E5−2,…E5−10からなるチェックシンボル、及び誤り訂正データE6−1,E6−2,…E6−10からなるチェックシンボルを生成する。
【0022】
このようなエンコード処理により得られた誤り訂正データE1−1,E1−2,…E1−10,E2−1,E2−2,…E2−10,E3−1,E3−2,…E3−10の誤り訂正データ列を、チェックシンボル列CS1(データ列D2)と呼ぶことにする(ステップS4)。同様に、誤り訂正データE4−1,E4−2,…E4−10,E5−1,E5−2,…E5−10,E6−1,E6−2,…E6−10の誤り訂正データ列を、チェックシンボル列CS2(データ列D3)と呼ぶことにする。なお、ここでは、第1のデータ交錯方法と第2のデータ交錯方法により得られる各インターリーブに対して、生成するチェックシンボルのバイト数を同一としているが、当該バイト数は異なる場合でもよい。
【0023】
以上の処理により生成されたチェックシンボル列CS1、チェックシンボル列CS2を、コントロールブロック10は512バイトの情報データ列1に付加し、符号化データ列D4(HDDではライトデータに相当する)を生成する(ステップS5)。コントロールブロツク10は、当該符号化データ列D4をチャネル2に送出する(ステップS6)。なお、実際上のシステムでは、符号化データ列D4をデータ圧縮処理して送出してもよいし、またさらにインターリーブ処理してデータの順番を入れ替えたものを送出してもよい。
(復号化処理)
次に、図6のフローチャート及び図7を参照して同実施形態の復号化処理を説明する。
【0024】
まず、コントロールブロック10は、インターフェース11を介してチャネル2から転送された復号化処理対象の符号化データ列(D4)を受信し入力する(ステップS10)。このデータ列D4は、元の情報データ列D1と、チェックシンボル列CS1と、チェックシンボル列CS2とからなるデータ列であるが、誤りデータ(エラービットD1,D2,E1−1)を含むものであると想定する(図7(A)を参照)。ここで、同実施形態のコントロールブロック10は、デコード回数Cをカウントし、このカウント値を使用して後述するデコード処理を制御している(ステップS11,S18,S12)。
【0025】
最初のデータ転送では、デコード回数Cが「1」で奇数のため、コントロールブロック10は、デコーダ10Bにより情報データ列1とチェックシンボル列CS1とを使用して復号化処理を行う(ステップS12のNO,S13)。即ち、情報データ列1に対して、第1のデータ交錯方法による処理を実行して、3つのインターリーブ(#1、#2、#3)に変換する。さらに、図7(B)に示すように、チェックシンボル列CS1において、誤り訂正データE1−1,E1−2,…E1−10をインターリーブ#1に付加し、誤り訂正データE2−1,E2−2,…E2−10をインターリーブ#2に付加し、誤り訂正データE3−1,E3−2,…E3−10をインターリーブ#3に付加する(ステップS14)。
【0026】
このような処理により得られた各インターリーブ(チェックシンボルを含む)に対して、コントロールブロック10は、デコーダ10Bによりデコードし、誤りデータの有無を調べる。コントロールブロック10は、エラーが存在し、かつ誤り訂正可能である場合には、エラー位置検出ブロツク16によりその値と位置情報を算出し、当該位置の誤りデータを修正する(ステップS15)。3つの各インターリーブのデコード処理が終了した時点で、すべてのインターリーブについて正しく訂正されたかどうかを判断し、全インターリーブの誤り訂正が完了と判断される場合には、デコード処理を終了する(ステップS16)。
【0027】
ここで、コントロールブロック10は、ひとつでも訂正不能なインターリーブが存在した場合には、他のチェックシンボルを用いて、再度の誤り訂正を実行するか否かを判断する(ステップS17)。デコード処理、誤り訂正処理を続行する場合には、コントロールブロック10はデコード回数Cをインクリメントし、再度の復号処理を実行する(ステップS18,S19)。
【0028】
2回目のデコード処理では、デコード回数Cが「2」で偶数のため、コントロールブロック10は、デコーダ10Bにより情報データ列1とチェックシンボル列CS2とを使用して復号化処理を行う(ステップS12のYES,S20)。即ち、情報データ列1に対して、第2のデータ交錯方法による処理を実行して、3つのインターリーブ(#4、#5、#6)に変換する。さらに、図7(C)に示すように、チェックシンボル列CS2において、誤り訂正データE4−1,E4−2,…E4−10をインターリーブ#4に付加し、誤り訂正データE5−1,E5−2,…E5−10をインターリーブ#5に付加し、誤り訂正データE6−1,E6−2,…E6−10をインターリーブ#6に付加する(ステップS21)。
【0029】
そして、コントロールブロック10は、最初と同様のデコード処理を実行し、エラー訂正できる範囲での誤り訂正処理を実行する(ステップS15)。ここで、コントロールブロック10は、全インターリーブの誤り訂正が完了と判断される場合には、デコード処理を終了する(ステップS16)。また、ひとつでも訂正不能なインターリーブが存在した場合には、再度チェックシンボル列CS1を使用して、第1のデータ交錯方法を適用した復号化処理を再実行する。但し、コントロールブロック10は、デコード回数Cの値に基づいて、誤り訂正を完了する見込みがないと判断した場合には、訂正不能として復号化処理を終了する(ステップ22)。この場合、コントロールブロック10は、インターフェース13を介して外部システムのCPU4に対して誤り訂正不能の通知を実行するようにしてもよい。
【0030】
ここで、同実施形態の具体例としては、図7に示すように、インターリーブあたり5バイトまで誤り訂正可能な誤り訂正符号化が行われている。即ち、情報データ列D1において、データD1,D2,D4,D5,D9,D10,D13,D15,D16,D17のそれぞれにエラーが発生し、また誤り訂正データE1−1,E3−2,E4−9,E5−9のそれぞれにエラーが発生している場合を想定している。1回目のデコード処理においては、インターリーブ#2、インターリーブ#3では訂正可能であるが、インターリーブ#1では6バイトのエラーがあり訂正不可能となる(図7(B)を参照)。2回目のデコード処理では、1回目のデコード処理時に訂正不能なエラーと判定されたエラーはすべて修復されている(図7(C)を参照)。1回目のデコード時に、訂正不能エラーとして残った6箇所のエラーのうち、512バイトの情報データ列D1の部分に発生した5箇所のエラーば、インターリーブ#4に2箇所、インターリーブ#5に1箇所、インターリーブ#6には2箇所含まれている。また、チェックシンボル列CS2にも2箇所エラーが発生しているが、各インターリーブのエラー数は、すべて5箇所以内であるため、すべてのインターリーブが訂正可能となり、エラー訂正は完了する。
【0031】
以上のように同実施形態によれば、誤り訂正符号化処理として、情報データ列D1に対して、異なる第1と第2のデータ交錯方法により生成される複数のチェックシンボルCS1,CS2を付加した符号化データ列D4を生成する。このような符号化データ列D4であれば、復号化するときに、訂正可能なインターリーブのみの場合には一方のチェックシンボル(CS1またはCS2)を使用して誤り訂正処理を行なう。この誤り訂正処理では訂正不能の場合には、チェックシンボル(CS1またはCS2)を取り替えて再度の誤り訂正処理を実行する。そして、最終的に訂正不能であると判断するまで、誤り訂正処理を繰り返す。従って、1つのチェックシンボルだけでは訂正不能となるようなエラーが発生した場合でも、訂正可能にする確率を高める事ができる。また、1つのチェックシンボルのみで訂正可能なエラーについては、従来の第1の方式と同様に高速に誤り訂正して、短時間で復号化処理を終了できる。なお、最終的に訂正不能であると判断する方法としては、例えば2回目のデコード処理において、3つのインターリーブのすべてが訂正不能になる場合などが想定される。
(第2の実施形態)
第2の実施形態は、前述のシステムをHDDに適用した場合である。以下、図8を参照して同実施形態の構成と作用を説明する。
【0032】
HDDは、リード/ライト(R/W)チャネル20と呼ぶ信号処理回路を有し、このR/Wチャネル20とバッファメモリ(セクタバッファ)30との間でデータ転送を行なうディスクコントローラ(HDC)を有する。HDDでは、誤り訂正符号化・復号化システムはHDCに設けられている。
【0033】
HDCは、ディスクインターフェース40を介してR/Wチャネル20とデータ転送を実行し、またバッファインターフェース46を介してバッファメモリ30をアクセスする。誤り訂正符号化・復号化システムは、エンコードブロック41と、インターリーブ変換ブロック42と、デコードブロック43と、チェックシンボル用バッファ44と、バッファデータ修正ブロック45とを有する。
【0034】
インターリーブ変換ブロック42は、HDDのブロック単位である1セクタ分のデータ列(通常では情報ブロックは512バイト)を符号化データ列として、前述の第1のデータ交錯方法と第2のデータ交錯方法により、それぞれ3つのインターリーブを生成するためのデータ交錯処理を実行する。デコードブロック43は、各インターリーブのデータ列を、所定の復号アルゴリズムに従ってデコード処理し、各インタリーブ内に含まれるエラーの値とその位置情報を算出する。バッファデータ修正ブロック45は、デコードブロック43のデコード結果(エラーの値とその位置情報)に基づいて、バッファメモリ30内に格納されたリードデータ(R/Wチャネル20からの転送データ)の修正を行う。
【0035】
また、エンコードブロック41は、インターリーブ変換ブロックにより生成されたインターリーブ構成のデータ列に対応するチェックシンボルを生成する。チェックシンボル用バッファ44は、チェックシンボル専用の一時バッファであり、バッファインターフェース46内に配置された構成でもよい。
(ライト動作)
HDDでは、ホストシステム(パーソナルコンピュータ)から転送されたライトデータ(ディスクに記録すべき情報データ列)は、バッファメモリ30に格納される。同実施形態のHDCでは、バッファインターフェース46は、バッファメモリ30からディスク上に記録すべきライトデータを取得し、それをインターリーブ変換ブロック42に転送する。インターリーブ変換ブロック42は、転送されたデータ列に対して第1のデータ交錯方法と第2のデータ交錯方法とにより、前述したように、インターリーブ(#1)からインターリーブ(#6)に振り分けてエンコードブロック41に送出する(図2と図3を参照)。
【0036】
エンコードブロック41は、各インターリーブ毎にチェックシンボルを生成し、実際にディスクに記録すべき符号化データ列(図4のデータ列D4)を生成し、ディスクインターフェース40に送出する。ディスクインターフェース40は、符号化データ列(1セクタ分のシリアルデータ)をR/Wチャネル20に送出する。HDDでは、R/Wチャネル20、ヘッドアンプなどをを介してヘッドにライト信号が供給されて、ディスク上の指定のトラックに符号化データ列が記録される。
(リード動作)
リード動作では、ヘッドによりディスク上から記録されている符号化データ列に対応するリード信号が読出されて、R/Wチャネル20によりディジタルのリードデータに変換される。ディスクインターフェース40は、リードデータを受信すると、バッファインターフェース46を介してバッファメモリ30に保存する。バッファメモリ30には、1セクタ分である512バイトの情報データ列D1と、チェックシンボル列(前述のCS1,CS2)とからなる符号化データ列が格納される。また、チェックシンボル列(CS1,CS2)は、チェックシンボル用バッファ44に格納される。
【0037】
以下、インターリーブ変換ブロック42及びデコードブロック43により、前述のデコード処理が実行される(図7を参照)。即ち、デコードブロック43は、インターリーブ変換ブロック42により生成された各インターリーブのデータ列を、所定の復号アルゴリズムに従ってデコード処理し、各インタリーブ内に含まれるエラーの値とその位置情報を算出する。バッファデータ修正ブロック45は、デコードブロック43のデコード結果(エラーの値とその位置情報)に基づいて、バッファメモリ30内に格納されたリードデータの修正を行う。また、チェックシンボル列に発生した誤りであれば、チェックシンボル用バッファ44に保存されているデータの値も修正する。
【0038】
ここで、1つでも訂正不能なインターリーブが存在し、かつデコード処理を続行すると判断される場合には、バッファインターフェース46を介してバッファメモリ30に保存されている情報データ列D1と、チェックシンボル用バッファ44に保存されているチェックシンボルが、インターリーブ変換ブロック42に転送されて、再度のデコード処理が実行される。
【0039】
以上のように本発明の誤り訂正符号化・復号化方式をHDDに適用することができる。従って、高速でかつ誤り訂正の確率を高めることが可能であるため、特に高記録密度のHDDに有効である。なお、同実施形態の構成であれば、1セクタ分のデータをバッファメモリ30及びインターリーブ変換ブロック42に転送してデコード処理を実行している期間に、次のセクタのデータをバッファメモリ30及びインターリーブ変換ブロック42に転送することが可能となる。従って、1つのチェックシンボルだけでデコード処理が完了するデータ列に関しては、、そのデコード処理時間が1セクタ分のデータ転送時間より短ければ、オンザフライ処理が可能となる。また、1つのチェックシンボルだけではデコード処理が完了できないエラーを検出したときは、オンザフライによる高速なデコードを行う事はできないが、チェックシンボルを交換しながら繰り返しデコード処理を行うことにより、訂正可能とする確率を大きく高めることができる。
【0040】
【発明の効果】
以上詳述したように本発明によれば、相対的に少ないチェックシンボル量を使用して符号化率の悪化を抑制し、インターリーブ当たりの誤り訂正の能力範囲内では高速の誤り訂正処理を実行し、かつインターリーブ当たりの誤り訂正の能力範囲を越える誤り訂正能力についても保証することが可能な符号化・復号化方式を提供することができる。従って、本発明の方式をHDDなどのディスク記憶装置に適用すれば、チェックシンボルであるECCデータ量をそれほど増大させること無く、誤り訂正能力を向上できるため、高記録密度化を図るディスク記憶装置には極めて有効である。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に関係する符号化・復号化方式のシステム構成を示す機能ブロック図。
【図2】同実施形態に関係する第1のデータ交錯方法を説明するための概念図。
【図3】同実施形態に関係する第2のデータ交錯方法を説明するための概念図。
【図4】同実施形態に関係するチェックシンボルの生成方法と符号化処理とを説明するための概念図。
【図5】同実施形態に関係する符号化処理を説明するためのフローチャート。
【図6】同実施形態に関係する復号化処理を説明するためのフローチャート。
【図7】同実施形態に関係する復号化処理を説明するための概念図。
【図8】第2の本実施形態に関係するHDDの要部を示すブロック図。
【図9】従来の誤り符号化方式を説明するための概念図。
【符号の説明】
1…符号化・復号化システム
2…チャネル
3…バッファメモリ
10…コントロールブロック
10A…エンコーダ
10B…デコーダ
11…インターフェース
12…インターフェース
13…インターフェース
14…第1のインターリーブ生成ブロック
15…第2のインターリーブ生成ブロック
16…エラー位置検出ブロック
17…ECCバッファメモリ
20…リード/ライト(R/W)チャネル
30…バッファメモリ
40…ディスクインターフェース
41…エンコードブロック
42…インターリーブ変換ブロック
43…デコードブロック
44…チェックシンボル用バッファ
45…バッファデータ修正ブロック
Claims (5)
- 記録または伝送すべき情報データ列に対して、第1のデータ交錯方法によるデータ交錯処理を実行して、第1のインターリーブ構成の第1のデータ列を生成する手段と、
前記情報データ列に対して、前記第1のデータ交錯方法とは異なる第2のデータ交錯方法によるデータ交錯処理を実行して、第2のインターリーブ構成の第2のデータ列を生成する手段と、
前記第1のデータ列に対応する第1の誤り訂正符号化データ列、及び前記第2のデータ列に対応する第2の誤り訂正符号化データ列のそれぞれを生成する手段と、
前記情報データ列に、前記第1の誤り訂正符号化データ列及び第2の誤り訂正符号化データ列を付加した符号化データ列を生成する手段と、
前記符号化データ列から前記情報データ列を復号化する復号化手段と
を具備したことを特徴とする符号化・復号化装置。 - 前記復号化手段は、
前記符号化データ列から前記情報データ列を復号化するときに、前記第1の誤り訂正符号化データ列を使用して誤り訂正処理を実行し、前記誤り訂正処理による誤り訂正が完了しない場合には、前記第2の誤り訂正符号化データ列を使用して誤り訂正処理を実行する手段を有することを特徴とする請求項1に記載の符号化・復号化装置。 - 前記復号化手段は、
前記符号化データ列から前記情報データ列を復号化するときに、前記情報データ列に対する第1のデータ交錯方法によるデータ交錯処理で前記第1のデータ列を生成し、
前記第1のデータ列に対して前記第1の誤り訂正符号化データ列を使用して誤り訂正処理を実行し、
前記誤り訂正処理による誤り訂正が完了しない場合には、前記情報データ列に対する第2のデータ交錯方法によるデータ交錯処理で前記第2のデータ列を生成し、
前記第2のデータ列に対して前記第2の誤り訂正符号化データ列を使用して誤り訂正処理を実行する手段を有することを特徴とする請求項1に記載の符号化・復号化装置。 - ディスク記憶媒体上に記録すべきライトデータ列を符号化して符号化データ列を生成する符号化手段と、
前記符号化データ列を前記ディスク記憶媒体上に記録するためのライト手段と、
前記ディスク記憶媒体上から前記符号化データ列を読出すためのリード手段と、
前記リード手段により読出された前記符号化データ列から前記ライトデータ列を復号化するときに、前記符号化データ列に含まれる第1の誤り訂正符号化データ列または第2の誤り訂正符号化データ列を使用して誤り訂正処理を実行する手段を有する復号化手段とを具備し、
前記符号化手段は、
前記ライトデータ列に対して、第1のデータ交錯方法によるデータ交錯処理を実行して、第1のインターリーブ構成の第1のデータ列を生成する手段と、
前記ライトデータ列に対して、前記第1のデータ交錯方法とは異なる第2のデータ交錯方法によるデータ交錯処理を実行して、第2のインターリーブ構成の第2のデータ列を生成する手段と、
前記第1のデータ列に対応する前記第1の誤り訂正符号化データ列、及び前記第2のデータ列に対応する前記第2の誤り訂正符号化データ列のそれぞれを生成する手段と、
前記ライトデータ列に、前記第1の誤り訂正符号化データ列及び第2の誤り訂正符号化データ列を付加した前記符号化データ列を生成する手段と
を有することを特徴とするディスク記憶装置。 - 前記復号化手段は、
前記符号化データ列から前記ライトデータ列を復号化するときに、前記第1の誤り訂正符号化データ列を使用して誤り訂正処理を実行し、前記誤り訂正処理による誤り訂正が完了しない場合には、前記第2の誤り訂正符号化データ列を使用して誤り訂正処理を実行する手段を有することを特徴とする請求項4に記載のディスク記憶装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00813299A JP4031136B2 (ja) | 1999-01-14 | 1999-01-14 | 符号化・復号化装置及びディスク記憶装置 |
US09/388,967 US6615384B1 (en) | 1999-01-14 | 1999-09-02 | Encoding/decoding method and apparatus and disk storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00813299A JP4031136B2 (ja) | 1999-01-14 | 1999-01-14 | 符号化・復号化装置及びディスク記憶装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000209104A JP2000209104A (ja) | 2000-07-28 |
JP4031136B2 true JP4031136B2 (ja) | 2008-01-09 |
Family
ID=11684774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00813299A Expired - Fee Related JP4031136B2 (ja) | 1999-01-14 | 1999-01-14 | 符号化・復号化装置及びディスク記憶装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6615384B1 (ja) |
JP (1) | JP4031136B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3993035B2 (ja) * | 2001-07-19 | 2007-10-17 | 松下電器産業株式会社 | データ記録方法、記録媒体、および再生装置 |
KR100937060B1 (ko) * | 2004-06-14 | 2010-01-15 | 닛본 덴끼 가부시끼가이샤 | 쌍방향 통신 방법과 장치, 시스템 및 프로그램을 기억한 기억 매체 |
US20090177943A1 (en) * | 2008-01-09 | 2009-07-09 | Broadcom Corporation | Error correction coding using soft information and interleaving |
JP5610709B2 (ja) * | 2009-06-04 | 2014-10-22 | キヤノン株式会社 | エラー訂正用データの生成装置、及び生成方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54139406A (en) * | 1978-04-21 | 1979-10-29 | Sony Corp | Digital signal transmission method |
CA1161565A (en) * | 1980-06-20 | 1984-01-31 | Yoichiro Sako | Method of error correction |
US5140596A (en) * | 1990-02-20 | 1992-08-18 | Eastman Kodak Company | High speed encoder for non-systematic codes |
US5392299A (en) * | 1992-01-15 | 1995-02-21 | E-Systems, Inc. | Triple orthogonally interleaed error correction system |
AU665716B2 (en) * | 1993-07-05 | 1996-01-11 | Mitsubishi Denki Kabushiki Kaisha | A transmitter for encoding error correction codes and a receiver for decoding error correction codes on a transmission frame |
US6023783A (en) * | 1996-05-15 | 2000-02-08 | California Institute Of Technology | Hybrid concatenated codes and iterative decoding |
EP2173036B1 (en) * | 1998-08-17 | 2014-05-14 | Dtvg Licensing, Inc | Turbo code interleaver with near optimal performance |
-
1999
- 1999-01-14 JP JP00813299A patent/JP4031136B2/ja not_active Expired - Fee Related
- 1999-09-02 US US09/388,967 patent/US6615384B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000209104A (ja) | 2000-07-28 |
US6615384B1 (en) | 2003-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6903887B2 (en) | Multiple level (ML), integrated sector format (ISF), error correction code (ECC) encoding and decoding processes for data storage or communication devices and systems | |
US7231578B2 (en) | Techniques for detecting and correcting errors using multiple interleave erasure pointers | |
US6891690B2 (en) | On-drive integrated sector format raid error correction code system and method | |
US7653862B2 (en) | Error detection and correction for encoded data | |
JP4102546B2 (ja) | 積符号のための同時行/列シンドロームジェネレータ | |
US7340665B2 (en) | Shared redundancy in error correcting code | |
JP4141963B2 (ja) | エラー訂正コードに追加のエラー訂正レイヤを埋め込む方法及び装置 | |
US20040257900A1 (en) | Data recording method, recording medium and reproduction apparatus | |
US20050060630A1 (en) | Direct partial update of CRC/ECC check bytes | |
JPH0812614B2 (ja) | データ・ブロックを訂正する装置 | |
WO1993018589A1 (en) | Data recovery after error correction failure | |
JP2016527832A (ja) | 積符号のための誤りおよび消失組合せ復号のためのシステム、方法、およびコンピュータ・プログラム | |
JP4988418B2 (ja) | 回転する記憶媒体の複数の層にデータを読み書きする方法、プログラム及びデータ記憶装置 | |
US7127660B2 (en) | Method, apparatus and program storage device for correcting a burst of errors together with a random error using shortened cyclic codes | |
JP4141964B2 (ja) | エラー訂正コードに追加のエラー訂正レイヤを埋め込む方法及び装置 | |
JP4624348B2 (ja) | リードソロモンプロダクトコードのためのエラー訂正方法 | |
JP4031136B2 (ja) | 符号化・復号化装置及びディスク記憶装置 | |
US6044487A (en) | Majority voting scheme for hard error sites | |
JP2001211086A (ja) | 選択的可変冗長性を具備する誤り訂正符号を与えるシステム及び方法 | |
JP2001244823A (ja) | クロスインターリーブドリードソロモンコードの復号の処理内の誤り訂正のための装置 | |
JP4294407B2 (ja) | 信号処理方法及び信号処理回路 | |
US6694473B1 (en) | Parallel signal decoding method | |
EP1111799B1 (en) | Error correction with a cross-interleaved Reed-Solomon code, particularly for CD-ROM | |
JP2006155704A (ja) | データ記録再生処理方法及び回路、データ記録再生装置 | |
JPH07112160B2 (ja) | 誤り訂正符号の復号方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040714 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061114 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070306 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070425 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071016 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071018 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101026 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |