JP2721099B2 - エラーバースト修正のための試行錯誤方法及びマルチバイトエラーの修正方法 - Google Patents

エラーバースト修正のための試行錯誤方法及びマルチバイトエラーの修正方法

Info

Publication number
JP2721099B2
JP2721099B2 JP4299481A JP29948192A JP2721099B2 JP 2721099 B2 JP2721099 B2 JP 2721099B2 JP 4299481 A JP4299481 A JP 4299481A JP 29948192 A JP29948192 A JP 29948192A JP 2721099 B2 JP2721099 B2 JP 2721099B2
Authority
JP
Japan
Prior art keywords
error
block
parity
byte
correction
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 - Lifetime
Application number
JP4299481A
Other languages
English (en)
Other versions
JPH05225718A (ja
Inventor
スコット エッゲンバーガー ジョン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH05225718A publication Critical patent/JPH05225718A/ja
Application granted granted Critical
Publication of JP2721099B2 publication Critical patent/JP2721099B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ記憶装置等の通信
チャネルから読み出されたデータ中の連続エラーのロン
グバーストを修正するための方法に関し、詳細には事前
選択エラー修正コードによって修正が使い尽くされた後
に、誤った修正の確率を最小限にする試行錯誤方式によ
ってポインタを必要とすることなくロングバーストエラ
ーの修正が実行されるような方法に関する。
【0002】
【従来の技術】アメリカ特許第4、706、250号で
は、磁気媒体からの読み出されたデータの可変長ブロッ
クにおけるエラーを修正するための2レベルエラー修正
コード(ECC)を用いた方法及び装置が述べられてい
る。データは、複数のサブブロックを各々備えた複数の
ブロックに記録される。この2レベルマルチバイトEC
Cは、データのブロックの各サブブロックにおけるt1
個のエラー及び上記ブロックの1つのサブブロックにお
けるt2 個のエラーまで(ここではt2 >t1 である)
を修正することができる。
【0003】アメリカ特許第4、916、701号で
は、N個の連続パリティ検査バイトのシーケンスが磁気
記録媒体における可変長データの各ブロックの終わりに
書き込まれるバースト修正方法が示される。各ブロック
は、データバイトと対応する検査バイトとから成るサブ
ブロックと、ECCシンドロームが読み出し中に生成さ
れるECCと、を有する。ロングバーストエラーが発生
すると、エラーバーストに影響されたブロックにおける
N個の連続バイトの第1のバイトを指すために、ECC
又はパリティバイトとは別の手段によって導出されるポ
インタを用いて修正が行なわれる。すべての修正可能な
エラーは、ポインタによって識別されるN個のバイトに
影響されないすべてのサブブロックにおいて修正され
る。さらにパリティシンドロームは修正済みエラーに対
して調整され、これら調整されたシンドロームを用い
て、ポインタによって識別されるN個のバイトにおける
エラーを修正する。
【0004】上記アメリカ特許第4、916、701号
において述べられた方法は、ポインタが利用可能であれ
ば望ましい。ポインタは通常、エラー源(ソース)を検
出することによって導出されるが、あるエラー源に対し
ては、このような検出は不可能であることもある。エラ
ー源が通常では検出可能であるとしても、ソース特性の
変化によってソースは検出を免れることができ、このた
めにポインタを生成しないこともある。このアメリカ特
許第4、916、701号の方法は、ポインタがなけれ
ば適用できない。
【0005】
【発明が解決しようとする課題】従って、本発明の目的
は、試行錯誤方式を用いることによってECCのエラー
修正機能を拡張するための方法を提供することであり、
そこでは利用可能なポインタがない装置(1)又はたと
え利用できてもポインタが使用されなかったり、もしく
はポインタが信頼できないとされる装置(2)において
連続エラーのバーストを修正するために修正違いの確率
が最小化される。また、本発明の別の目的は、上記アメ
リカ特許第4、916、701号において述べられたポ
インタ実行技術のバースト修正機能を補足し且つバック
アップするために使用することもできるかかる方法を提
供することである。
【0006】
【課題を解決するための手段】利用可能なポインタがな
い場合、又は利用できるものが生成されていないと、本
発明に従ってパリティバイトを用いて、ECCでは修正
不能な通信チャネルにおけるデータのエラーのロングバ
ーストを試行錯誤方式により修正することができる。こ
の方式の基本的概念は、種々の試行位置を仮定し、修正
を実行し、また正確な試行位置を識別するためにCRC
(巡回冗長検査)などのあるエラー検出手段に依存する
ことである。
【0007】各バイト位置がバーストエラーの開始候補
地点として順番に試験される「畜力(brute force)」試
行錯誤方式は、非実用的又は受け入れられないものであ
る。試行錯誤方式におけるそれぞれの試行は、修正済み
データの検証のためにCRCを使用することを要求す
る。この畜力方式に含まれる多くの試行は、CRCが不
正確な修正試みを検証するリスクを引き上げ、この結果
としてデータ完全性の侵害が考えられ得る。さらに畜力
方式で修正を実行するために必要とされる時間は受けい
れられないほど長い。
【0008】データは、好ましくはサブブロックを有す
るブロックに記録される。パリティセルシンドローム
は、書き込み中に各ブロックごとに生成され、読み出し
中にこれらシンドロームは、エラーバーストの開始候補
地点を識別するために分析される。試行修正は修正不能
なブロック(又はサブブロック)のデータに適用され、
さらにCRCを用いて成果があるかどうか検証される。
一つの試行修正が成果があると検証される場合、及び一
つのみの試行修正が成果があると検証しさえすれば、そ
の修正は有効であるとして受け入れられる。ブロックに
おける修正可能なエラーの連続バイトの最大数Bは、各
パリティセルのバイトの数Nよりも小さく、N−Bを選
択して修正違いの確率を制限する。
【0009】
【実施例】序文 アメリカ特許第4、706、250号で述べられ、また
図1に示された2レベルECCシステムにおいて、好ま
しくは最後を除いて同じ長さの複数のサブブロックをそ
れぞれ備えた可変(又は固定)長のブロックにおいてデ
ータは記録される。サブブロックごとに、可変(又は固
定)数のデータバイトと、第1のレベルのエラー修正に
ついての6個のサブブロック検査バイトと、が備えられ
る。ブロックにおける最後のサブブロックの終わりに、
データ完全性検査のための4個のCRCバイトCがあ
り、その後に第2のレベルのエラー修正のための2個の
ブロック検査バイトBが続く。
【0010】アメリカ特許第4、916、701号で述
べられたように、N個のパリティ検査バイトPのシーケ
ンスは、ブロックとその次のブロックとの間のギャッ
プ、即ち、ブロック間ギャップ、の各ブロックの終わり
に書き込まれる。パリティバイトPO は、B1 、最終ブ
ロック検査バイト、のすぐ後に続く。図2に示されるよ
うに、これらパリティ検査バイトPは、データバイト、
検査バイト及びCRCバイトから成るN個の連続的に順
序付けられたグループにわたってインタリーブされたパ
リティ検査を行なう。即ち、順序付けられたグループご
とのすべてのバイトは別個のN個のバイトであり、ブロ
ック中のすべてのバイトは、パリティバイトが追加され
たカウント/キー/データ(CKD)領域における変位
を決定する際にカウントされる。数Nは、単一のロング
バーストエラーがN個のパリティグループの1つにおい
て1個以上のバイトに影響することがないように連続エ
ラーの最長予測バーストと等しいように事前選択され
る。パリティ検査では慣例のように、すべてのバイトは
排他的に論理和が求められる(XOR’d)。本件明細
書及び請求の範囲において用いられているように、「バ
イト」という用語は1以上のビットを含むものとして定
義される。
【0011】図2では、図示のためにNは16であり、
パリティバイトP0 乃至P15はブロックの最終バイト
(ブロック検査バイトB1 )のすぐ後に続くオーダで書
き込まれることを仮定している。このようにしてP0
含むパリティグループは、サブブロックXのバイトD
2 、D18、S0 と、サブブロックX+1のバイトD10
26と、の排他的に論理和をする結果であり、またP11
を含むパリティグループは、サブブロックXのバイトD
13、D29と、サブブロックX+1のバイトD5 、D21
らびにC1 の排他的に論理和をする結果である。
【0012】図3には、排他的論理和ゲート(XOR)
20、パリティシフトレジスタ21及び各々が1バイト
幅のマルチプレクサ22と23が示される。レジスタ2
1はN(既述されたように16と仮定される)ステージ
の長さを有する。
【0013】まず、シフトレジスタ21は従来のように
ゼロにリセットされていると仮定する。以下回転磁気媒
体(図示せず)として仮定される通信チャネル上に書き
込むために、マルチプレクサ22は書き込みデータライ
ンWをXOR20に接続し、磁気媒体の被選択トラック
上への書き込みのためのアウトプットに対してデータイ
ンライン(DI)とマルチプレクサ23を介して各ブロ
ックのすべてのバイトBLをゲートするように条件付け
られる。このように、データインは、図1に示されたよ
うにB1 を介して適切な検査バイトが後に続くすべての
データバイトを有する。データインの終わりに、マルチ
プレクサ22と23はラインWをXOR20に接続し、
パリティシフトレジスタ21からのN個のパリティバイ
トP0 乃至P15をラインSRを介してアウトプットにゲ
ートするように条件付けられる。
【0014】磁気媒体からデータを読み出し、パリティ
バイトシンドロームを計算するために、マルチプレクサ
22と23は、読み出しデータラインRをデータインラ
インDIに接続し、各ブロックのすべてのバイトBLを
ラインDIを介してアウトプットにゲートするように条
件付けられる。その上、マルチプレクサ22と23は、
ラインRからのN個のパリティバイトP0 乃至P15をX
OR20にゲートし、XOR20の出力をラインXを介
してアウトプットにゲートするように条件付けられる。
【0015】結果として得られる出力は、16個のパリ
ティバイトシンドロームが付加されたブロックのBLバ
イトである。
【0016】動作において、読み出し中にエラーが検出
されたが、ロングバーストエラーがないと仮定する。こ
の条件のもとで、エラー修正及び検証については、サブ
ブロック検査、ブロック検査及びCRC(巡回冗長検
査)シンドロームを用いて、上記アメリカ特許第4、7
06、250号とここに参照された従来技術において説
明されているように、従来通りに実行されることにな
る。サブブロックレベルでは、t1 個までのエラーは修
正可能であり、t1 +c個までのエラーは、cが事前選
択数の付加的エラーである場合に検出される。その後、
ブロックレベルでは、t2 個までのエラーはブロックの
サブブロックの何れか一つにおいて修正可能である。
【0017】修正可能とされるエラーがそれ以上ある場
合、修正は放棄され、そのエラーは修正不能であると処
理される。上述された動作の構造及びモードは、本発明
のいかなる部分をも形成するものではない。
【0018】ロングバーストエラーがないと、パリティ
バイトを読み出す必要はない。このように通常の状態で
は、ロングバーストエラーがないと、次のブロックを処
理するための準備をパリティバイトを読み出すことなく
開始することができる。従来の場合この処理は、読み取
りヘッドがブロック間ギャップ、即ち、この目的のため
に記録されずにおかれた領域、を通過すると行なわれて
いた。アメリカ特許第4、916、701号にあるよう
に、パリティバイトはこのブロック間ギャップに記録さ
れて、ロングバーストエラー回復が要求される場合にの
み読み出されることになる。こうしてロングバーストエ
ラー保護は、検査バイト及びブロック間ギャップに必要
な媒体の長さを増加させることなく得られる。
【0019】試行錯誤技術 本件明細書及び請求の範囲において使用されている用語
「通信チャネル」は、ディスク又はテープ等の磁気媒
体、光学的媒体、もしくはワイヤ、光学的又はデータ転
送用のその他手段を用いたチャネルを総称的に含むこと
が意図される。
【0020】以下の本発明のさらに詳細な説明の簡略化
のために、セルの概念を導入することは都合がよい。デ
ータセルはN個の連続データバイトを有し、CRCバイ
トならびにサブブロック及び(または)ブロックの検査
バイトの少なくとも何れか一方を含むこともあり、ここ
でNはパリティグループの数である。セルの連続バイト
は、パリティグループ0乃至N−1にそれぞれ属する。
パリティグループ0乃至N−1のパリティバイトもま
た、パリティセルを有するものと考えられ、パリティバ
イトシンドロームもまた同様にセルとして考えることが
できる。セル内のバイト又はシンドロームが属するパリ
ティグループは、バイト又はシンドロームの指標(イン
デックス)と称される。
【0021】読み出し中に、ロングバーストエラーが検
出されると仮定する。サブブロック検査、ブロック検査
及びCRCシンドロームはロングバーストエラーが存在
しないものとして計算される。また、パリティバイトは
読み取られ、パリティバイトシンドロームは上記におい
て、またアメリカ特許第4、916、701号で述べら
れたように計算される。
【0022】本発明に従ってロングバーストエラーは探
し出されて、以下に詳述される短縮試行錯誤技術によっ
て修正される。
【0023】エラーのあるサブブロックそれぞれの第1
レベル修正は、サブブロック検査バイトシンドロームを
用いて行なわれる。CRC、ブロック検査及びパリティ
シンドロームは、アメリカ特許第4、916、701号
で述べられたように実行された各修正ごとに調整され
る。
【0024】エラーが第1レベル修正によって修正不能
とされたサブブロックはそれぞれ、パリティセルシンド
ロームを用いたバーストエラー修正試行錯誤試験の対象
として識別される。N−バイトパリティセルとエラーバ
ーストBバイトの長さ(ここではB<N)を仮定する
と、N−Bゼロシンドロームがある。パリティセルシン
ドロームはそれらが検査するバイトと同様の方法でパリ
ティグループによって順序付けられるので、N−Bゼロ
シンドロームは順次発生する。修正可能なバーストの長
さは、パリティセルシンドローム内のゼロの最長シーケ
ンスが試みられようとする修正に対して少なくともN−
Bであることを要求することによってBバイトに制限さ
れる。この制限は、データ完全性露出の限定に関して以
下の2つの有利な効果(1)と(2)を有する。
【0025】(1)N−Bゼロシンドロームのシーケン
スを修正試みに対する前提条件にすることによって、破
局的修正不能エラーを修正するために試行錯誤の試みに
おけるデータ完全性露出が減少される。Nバイトよりも
長いエラーバースト(パリティセルの長さ)が修正不可
能であることに注意し、これが生じた場合、各パリティ
セルシンドロームはエラーパターン又は数個のエラーパ
ターンの和となり、かかる場合、パリティセルシンドロ
ームは多数の連続的ゼロシンドロームのシーケンスを有
することは有り得ない。 (2)試行の数が限定されると、それによってデータ完
全性露出と試行錯誤修正処理過程を終了させるのに必要
な時間をともに制限することが望ましい。パリティセル
のゼロシンドロームシーケンスはエラーバーストの外側
のバイトについてのパリティ検査の合計を示す必要があ
り、このようにパリティセルのこのバーストの位置はセ
ル境界内のエラーバーストの位置を付与する。これを識
別すると、ゼロシンドロームのシーケンスに続く第1の
非ゼロシンドロームから開始するサブブロック内の逐次
データセルごとの1つの特定バイト位置において(即
ち、各データセルのバイトの1つのみのビット位置の特
定シーケンスにおいてのみ)、修正を試みる必要があ
る。これは図6の説明と関連してさらに明白になる。
【0026】パリティセルシンドロームから識別される
ようなエラーバーストの第1のバイトのエラーパターン
と同じパリティグループにあるサブブロック内のバイト
の各発生時に修正不能なサブブロックについて修正は試
みられる。この試みは、対応するサブブロックバイトを
備えたこの第1のバイトエラーパターンのビットを排他
的論理和することによって実行される。その他のパリテ
ィセルシンドロームはそれぞれ、このサブブロックバイ
トに続くそのパリティグループにおける第1のサブブロ
ックバイトと排他的論理和される。それぞれの排他的論
理和は、変化を考慮するためにCRCシンドロームを適
切に調整することを伴う。それぞれの試みの後に、CR
Cシンドロームを試験することによって修正が検査され
る。
【0027】修正が検証されると、この情報は記憶され
ることになる。修正が検証されたかどうかによって、す
べてのセルが試行されるまでエラーバースト候補位置
の各々に対して修正が行なわれる。試行の試みの一つ及
びその一つだけが検証されれば、修正は受け入れられ
る。修正がCRCによって間違って検証される確率があ
るので、既述されたように各セルの識別された特定バイ
トにおいて修正は試みられ、正確なセルの識別された特
定バイト位置が試行され且つ受け入れられる前にこの試
行は実行され且つ有効であるとして受け入れられると、
データ完全性は侵害されることになる。
【0028】パリティセルシンドロームが単一のバース
トのみを修正できるにすぎないので、そのバーストは1
つのサブブロック又は2つの連続するサブブロックに限
定されなければならない。図4(A)、(B)及び
(C)はロングバーストエラーが修正可能とされる種々
の状態を示している。これらの図面及び図5について、
各サブブロックはJ個のデータセルから成り、各データ
セルはNバイトから成る。簡略化のために、J=4及び
N=16と仮定する。
【0029】図4(A)は、サブブロックSBの単一の
セル(セル1)内に生じるバースト型エラーを示す。図
4(B)は、同一サブブロックSB内の2個の隣接する
セル(セル2と3)に影響するバースト型エラーを示
す。図4(C)は、2つの隣接するサブブロックSB及
びSB+1内の2個の隣接するセル(セル3とセル0)
に影響するバースト型エラーを示す。
【0030】このように、1つのサブブロックのみが修
正不能な第1レベルであり、またパリティセルシンドロ
ームが試行錯誤技術によって図4(A)又は図4(B)
に示されるようなその一つのサブブロックのみに影響す
るバーストエラーに適用されることが仮定されている。
2つの連続するサブブロックが修正不能な第1レベルで
ある場合、図4(C)に示されるように、修正は簡略化
される。そのエラーは第1の修正不能サブブロックの最
終セルにおいて開始するものとして明確に識別され、ゼ
ロシンドロームのシーケンスは、第2のセルのブロック
SB+1の第1のセル内のバーストエラーの終わりを指
示する。これによって試行錯誤は不要である。
【0031】図5は、本件出願人の試行錯誤バーストエ
ラー修正技術を適用する際の工程を示すフローチャート
から構成されており、以下のように説明的に示すことも
できる。
【0032】ブロックを読み取り、ECC及びCRCシ
ンドロームを計算した後に、2レベルECCの修正の第
1レベルは、非ゼロサブブロックシンドロームがエラー
を指示するようなブロックにおいて行なわれる。エラー
のあるすべてのサブブロックが第1レベルにおいて修正
可能であると思われると、その修正はCRCによる検証
を受ける必要のある有効なものとして受け入れられる。
2つ以上のサブブロック又は2つの連続しないサブブロ
ックが第1レベルにおいて修正不能であると、修正の試
みは放棄されて、エラーは修正不能と考えられる。
【0033】本発明によれば、1つのサブブロック又は
2つの連続するサブブロックが第1レベルにおいて修正
不能であると、パリティシンドロームセルを分析するこ
とによって修正は続行する。パリティシンドロームセル
はゼロパリティシンドロームの最長シーケンスについて
探索される。この探索及びパリティシンドロームセルの
その他すべての使用目的のために、シンドローム0が順
次シンドロームN−1に続くようにシンドロームはリン
グとして処理される。
【0034】パリティシンドロームセル内のゼロシンド
ロームの最長シーケンスがN−Bシンドロームよりも小
さい場合、ここでBは修正されるべき事前選択最大エラ
ーバースト長である、修正は放棄されて、エラーは修正
不能として考えられる。N−Bの好ましい値は8である
が、これを限定として考える必要はない。パリティシン
ドロームセル内のゼロシンドロームの最長シーケンスが
N−B又はそれより大きなシーケンスであり、Kがこの
バーストに続く第1の非ゼロシーケンスのパリティシン
ドロームセル内の指標を示すことを仮定する。
【0035】第1レベルでは修正不能な2つの連続する
サブブロックがあるものと仮定する。第1の修正不能サ
ブブロックのセルJ−1内の指標Kを備えたバイト、即
ち、サブブロックのバイトK+N(J−1)、に対して
修正は適用される。
【0036】第1レベルにおける修正不能な1つのサブ
ブロックがあると、J回の試行修正が適用される。各試
行修正は、サブブロックのセルi内の指標Kを備えたバ
イト、即ち、i=0、1、・・・J−1であるサブブロ
ックのバイトK+Ni、に適用される。各試行は、CR
C及びその他エラー検出手段の少なくとも何れかによっ
て修正用に検査される。試行修正は、それが正確である
と検証された唯一の試行修正であり、またその場合にの
み、受け入れられることになる。
【0037】各試行修正は読み取られたデータに適用さ
れる必要がある。各試行はデータを汚染する。試行修正
を適用する一方法はそれらを汚染されてないマスターコ
ピーから作られたデータのワーキングコピーに適用する
ことであり、かかる場合に修正はパリティバイトシンド
ローム又はECCシンドロームから計算されたものの何
れかのエラーパターンを、データと排他的論理和するこ
とから構成される。別の方法として、試行修正をマスタ
ーコピーについて実行することもでき、修正を反復し、
且つそれによってその修正を取り消すために逆排他的論
理和によって次の試行に対して汚染を除去することもで
きる。
【0038】図6には、1つのサブブロック内の第1レ
ベルECC修正不能エラー(又は2つの隣接するサブブ
ロック内の連続エラー)の試行錯誤分析がパリティセル
シンドロームを用いて直接(Aを介して)影響を受けた
サブブロックからエラーのあるバイトに進む方法と、セ
ル(又は隣接する複数のセル)内で修正を必要とするバ
イトを各データセル内のエラーのあるバイト位置の試行
錯誤試験によって図6に示されたようにして決定する方
法と、が示される。図6に示されたようにセル0から始
まる一続きの試行錯誤(B1 、B2 、B3 、B4 等)に
よってデータセルを試験することは都合がよい。
【0039】バーストエラーがサブブロック6のセル1
の16ビットバイト4のビット位置5乃至10に影響す
ることを仮定する。バイト4のビット位置5はバースト
の開始地点であると識別されることになる。さらに修正
は、各セルの各バイト4においてのみ、ビット位置5乃
至10のビットを排他的論理和することによってセルご
とに行なわれる。この技術は、「畜力」修正方式と比較
して修正時間を減少するだけでなく、また修正試みと結
果の排他的論理和及び逆排他的論理和の数を減少するこ
とによって修正違いの確率を制限する。
【0040】明白には幾分有効的でないとは言っても、
この試行錯誤技術を望ましくは、単一レベルのECCに
適用することもできることは明白である。これは図7に
示されるように、各々がN個のバイトを有するJ個のセ
ルから成るブロックとして図6のサブブロックを考える
ことによって実行される。かかる場合に、パリティセル
シンドロームを用いて間違ったバイト位置又はエラーの
あるセル(どのセルにエラーがあるかということではな
い)内の指標を識別し、さらにブロック内のどのセルに
エラーがあるかを識別するためにブロック内の各セルを
(連続的又は別の方法で)排他的論理和(さらに逆排他
的論理和)することによって修正が行なわれる。以前の
ように、CRCが1個のセル及び1個のセルのみの成功
した修正を指示すると、その修正は有効であるとして受
け入れられ、そうでない場合、エラーは修正不能と考え
られて修正試みは放棄される。
【0041】要約すると、本発明の重要な特徴に従っ
て、バーストエラーの位置は、試験済みの潜在的エラー
位置の数が思い切って制限される短縮試行錯誤技術によ
って決定される。これは、エラー修正の時間を軽減する
のみならず、修正違いの確率を最小化する。簡単には、
この技術は以下(1)乃至(5)を含む。 (1)第1レベルでECCによって修正不能なサブブロ
ックに対する試験を制限する。 (2)パリティセルシンドローム分析を可能とするため
に、エラーバースト内の連続する修正可能なバイトの数
をパリティセル内のバイト数よりも少ない数に限定す
る。 (3)パリティセルシンドローム分析を用いて、修正不
能サブブロック内のエラーバースト候補位置を識別す
る。 (4)一時的に試行錯誤によってバースト候補位置のそ
れぞれにおいてデータを修正し、その修正をCRCによ
って検査する。 (5)1つの試行修正及び1つの試行修正のみがCRC
によって成功されたものと検証される場合、バーストエ
ラー修正を有効であるとして受け入れる。
【0042】図示され、且つ上述された実施例におい
て、簡略化のために、少なくともN−Bゼロパリティセ
ルシンドロームの1つのシーケンスのみがあり、それに
よってデータセルの境界内のエラーバーストの1つの
始候補位置のみがあることが仮定されている。少なくと
もN−Bゼロパリティセルシンドロームの1つ以上のシ
ーケンスと、それによってデータセルの境界内のエラー
バーストの1つ以上の開始候補位置がなければならない
場合、データセル内の1つ以上の開始位置を(図5に指
示されたように)識別し且つ検査するために、ここで述
べられた方法を容易に拡張できることは理解されるだろ
う。
【0043】
【発明の効果】本発明は上記のように構成されているの
で、試行錯誤方式を用いることによってECCのエラー
修正機能を拡張する優れた効果を有する。
【図面の簡単な説明】
【図1】本発明を実行するための2レベルECCフォー
マットを示す図である。
【図2】インタリーブ(交互配置)されたデータバイト
と検査バイトとから成る連続的に順序付けられた集合か
ら各パリティバイトを計算することによって、N個のパ
リティグループを形成することを示す図である。
【図3】書き込み中にパリティバイトを、また読み出し
中にパリティシンドロームを生成するための論理回路の
実施例を示す図である。
【図4】A、B及びCは、バーストエラーが修正可能と
される種々の状態を示す図である。
【図5】本件出願人の試行錯誤修正方法を実行する場合
の工程を示すフローチャートである。
【図6】簡略化のために、それぞれ事前選択数(16個
と仮定された)バイトを有する固定数(4個と仮定され
た)セルを備えている各サブブロックを含む2レベルE
CCフォーマットを示す概略図である。
【図7】サブブロックに分割されていないブロックを有
する1レベルフォーマットによって本発明を実行する方
法を示す概略図である。

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 ECCコードによって修正不能とされる
    データのエラーバーストを通信チャネルにおいて修正す
    るための試行錯誤方法であって、 ブロック内のデータを記録する工程と、 各ブロックごとにパリティセルシンドロームを生成する
    工程と、 修正不能ブロック内のエラーバーストの開始候補位置
    識別するためにパリティセルシンドロームを分析する工
    程と、 を有するエラーバースト修正のための試行錯誤方法。
  2. 【請求項2】 前記識別された位置で各バイトを修正す
    ることによって、修正不能ブロック内の複数のデータセ
    ルの各々におけるデータに試行修正を適用する工程と、 各試行修正の後に、試行修正の何れが成功したかどうか
    を検証する工程と、 一つの試行修正が成功したものと検証される場合、及び
    その場合にのみ、バーストエラーの修正を有効であると
    して受け入れる工程と、 を有する請求項1記載のエラーバースト修正のための試
    行錯誤方法。
  3. 【請求項3】 各パリティセルがNバイトの長さがあ
    り、Bはブロック内で修正可能なエラーのある連続バイ
    トの最大数で、B<Nである請求項1記載のエラーバー
    スト修正のための試行錯誤方法。
  4. 【請求項4】 記録工程の前に、各ブロックをサブブロ
    ックにフォーマット化する工程と、 2レベルの修正コードをECCとして用いる工程と、 第1レベルの修正において修正不能とされるサブブロッ
    クを識別する工程と、 分析工程中に、修正不能なサブブロックにおいてのみ
    記開始候補位置を識別する工程と、 を有する請求項1記載のエラーバースト修正のための試
    行錯誤方法。
  5. 【請求項5】 読み出し中にECCシンドロームを生成
    するための2レベルエラー修正コード(ECC)におけ
    る対応するサブブロックについて第1レベルのエラー修
    正を提供するデータバイト及び検査バイトをそれぞれ有
    するサブブロックを含むブロック内でデータが記録され
    る通信チャネルにおけるマルチバイトエラーを修正する
    方法であって、 各ブロックの終わりにN個の順次パリティ検査バイトの
    シーケンスを含むパリティセルを書き込む工程と、 読み取り中に、ECCシンドロームの生成後に、読み取
    られたデータバイトと検査バイトから計算されるパリテ
    ィ検査バイトを書き込まれたパリティ検査バイトと比較
    することによって各ブロックごとにパリティシンドロー
    ムを生成する工程と、 B<N及びBがパリティセルによって特定ブロック内で
    修正可能なエラーバーストのある連続バイトの最大数で
    ある場合、前記パリティシンドロームの少なくともN−
    Bゼロシンドロームのストリングに応答して、試行用に
    パリティシンドローム分析により、前記2レベルECC
    の第1レベルにおいて修正不能なエラーを含むサブブロ
    ックにおけるエラーの候補位置を識別する工程であっ
    て、前記識別された位置はそれぞれBバイトの最大長を
    有するエラーバースト候補における第1のバイトを表示
    する工程と、 前記パリティセルを利用し、前記識別された位置の各々
    において前記パリティセルを適用することによって前記
    識別された位置の各々におけるエラーバースト候補の
    々においてデータの試行修正を実行する工程と、 1つの試行修正及び1つの試行修正のみが成功されたも
    のと検証される場合、前記エラーバースト修正を有効で
    あるとして受け入れる工程と、 を有するマルチバイトエラーの修正方法。
  6. 【請求項6】 N−Bの値は修正違いのリスクを最小化
    するように選択される請求項5記載のマルチバイトエラ
    ーの修正方法。
  7. 【請求項7】 読み出し中にECCシンドロームを生成
    するためのエラー修正コード(ECC)についてエラー
    修正を行なう検査バイトを、データバイトに加えて有す
    るブロック内でデータが記録される通信チャネルにおけ
    るマルチバイトエラーを修正する方法であって、 各ブロックの終わりにN個の順次パリティ検査バイトの
    シーケンスを含むパリティセルを書き込む工程と、 読み取りの際、ECCシンドロームの生成後に、読み取
    られたデータバイトと検査バイトから計算されるパリテ
    ィ検査バイトを書き込まれたパリティ検査バイトと比較
    することによって各ブロックごとにパリティシンドロー
    ムを生成する工程と、 B<N及びBがパリティセルによって特定ブロック内で
    修正可能なエラーバーストのある連続バイトの最大数で
    ある場合、前記パリティシンドロームの少なくともN−
    Bゼロシンドロームのストリングに応答して、試行用に
    パリティシンドローム分析により、前記ECCによって
    修正不能なエラーを含むブロックにおけるエラーの候補
    位置を識別する工程であって、前記識別された位置の各
    々は、Bバイトの最大長を有するエラーバースト候補の
    第1のバイトを表示する工程と、 前記パリティセルを利用し、前記識別された位置の各々
    において前記パリティセルを適用することによって前記
    識別された位置の各々においてエラーバースト候補の試
    行修正を実行する工程と、 1つの試行修正及び1つの試行修正のみが成功されたも
    のと検証される場合、前記エラーバースト修正を有効で
    あるとして受け入れる工程と、 を有するマルチバイトエラーの修正方法。
JP4299481A 1991-12-18 1992-11-10 エラーバースト修正のための試行錯誤方法及びマルチバイトエラーの修正方法 Expired - Lifetime JP2721099B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US81028091A 1991-12-18 1991-12-18
US810280 1991-12-18

Publications (2)

Publication Number Publication Date
JPH05225718A JPH05225718A (ja) 1993-09-03
JP2721099B2 true JP2721099B2 (ja) 1998-03-04

Family

ID=25203472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4299481A Expired - Lifetime JP2721099B2 (ja) 1991-12-18 1992-11-10 エラーバースト修正のための試行錯誤方法及びマルチバイトエラーの修正方法

Country Status (2)

Country Link
US (1) US5734663A (ja)
JP (1) JP2721099B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3404289B2 (ja) * 1998-05-22 2003-05-06 富士通株式会社 ディスク制御装置及びその制御方法
US6553518B1 (en) 1999-03-08 2003-04-22 International Business Machines Corporation Severe error detectors, methods and computer program products that use constellation specific error event thresholds to detect severe error events during demodulation of a signal comprising symbols from a plurality of symbol constellations
US6661847B1 (en) 1999-05-20 2003-12-09 International Business Machines Corporation Systems methods and computer program products for generating and optimizing signal constellations
US6915475B1 (en) * 1999-06-29 2005-07-05 Emc Corporation Data integrity management for data storage systems
US6823004B1 (en) 1999-10-29 2004-11-23 International Business Machines Corporation Methods, systems and computer program products for monitoring performance of a modem during a connection
US6662322B1 (en) 1999-10-29 2003-12-09 International Business Machines Corporation Systems, methods, and computer program products for controlling the error rate in a communication device by adjusting the distance between signal constellation points
US6765955B1 (en) 1999-10-29 2004-07-20 International Business Machines Corporation Methods, systems and computer program products establishing a communication configuration for a modem connection to compensate for echo noise
US6826157B1 (en) 1999-10-29 2004-11-30 International Business Machines Corporation Systems, methods, and computer program products for controlling data rate reductions in a communication device by using a plurality of filters to detect short-term bursts of errors and long-term sustainable errors
US6611563B1 (en) 1999-10-29 2003-08-26 International Business Machines Corporation Systems, methods and computer program products for data mode refinement of modem constellation points
US6839382B1 (en) 1999-10-29 2005-01-04 International Business Machines Corporation System, methods and computer program products for identifying digital impairments in modem signals using signature analysis and signal level comparison analysis
US6754258B1 (en) 1999-10-29 2004-06-22 International Business Machines Corporation Systems, methods and computer program products for averaging learned levels in the presence of digital impairments based on patterns
US6816545B1 (en) 1999-10-29 2004-11-09 International Business Machines Corporation Systems, methods and computer program products for identifying digital impairments in modems based on clusters and/or skips in pulse code modulation signal levels
US6792004B1 (en) 1999-10-29 2004-09-14 International Business Machines Corporation Systems, methods and computer program products for averaging learned levels in the presence of robbed-bit signaling based on proximity
US6650657B1 (en) 1999-10-29 2003-11-18 International Business Machines Corporation Systems, methods and computer program products for identifying digital impairments in modem signals
US6823017B1 (en) 1999-10-29 2004-11-23 International Business Machines Corporation Systems, methods and computer program products for filtering glitches from measured values in a sequence of code points
US6792040B1 (en) 1999-10-29 2004-09-14 International Business Machines Corporation Modems having a dual power mode capability and methods of operating same
US6505222B1 (en) 1999-10-29 2003-01-07 International Business Machines Corporation Systems methods and computer program products for controlling undesirable bias in an equalizer
US6967995B1 (en) 1999-10-29 2005-11-22 International Business Machines Corporation Methods, systems and computer program products for carrier drop detection using a variable threshold
US7206798B1 (en) * 2002-07-30 2007-04-17 Adaptec, Inc. Apparatus and method for programmable dual stage digital filter
US6891690B2 (en) * 2002-11-20 2005-05-10 International Business Machines Corporation On-drive integrated sector format raid error correction code system and method
US7228485B1 (en) 2003-04-03 2007-06-05 Marvell International Ltd. Error correction using error detection codes
US7096414B2 (en) * 2003-08-04 2006-08-22 Hewlett-Packard Development Company, L.P. In-line wire error correction
US20070067702A1 (en) * 2005-09-05 2007-03-22 Kuo-Lung Chien Method and apparatus for syndrome generation
US7712009B2 (en) * 2005-09-21 2010-05-04 Semiconductor Energy Laboratory Co., Ltd. Cyclic redundancy check circuit and semiconductor device having the cyclic redundancy check circuit
US7707481B2 (en) * 2006-05-16 2010-04-27 Pitney Bowes Inc. System and method for efficient uncorrectable error detection in flash memory
KR100856129B1 (ko) 2006-12-29 2008-09-03 삼성전자주식회사 오정정 확률을 줄이는 에러 정정 회로, 그 방법 및 상기회로를 구비하는 반도체 메모리 장치
JP4564520B2 (ja) * 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
US9071281B2 (en) * 2013-03-10 2015-06-30 Intel Corporation Selective provision of error correction for memory
US9379739B2 (en) * 2014-08-11 2016-06-28 Qualcomm Incorporated Devices and methods for data recovery of control channels in wireless communications
US11886295B2 (en) 2022-01-31 2024-01-30 Pure Storage, Inc. Intra-block error correction

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4525838A (en) * 1983-02-28 1985-06-25 International Business Machines Corporation Multibyte error correcting system involving a two-level code structure
US4706250A (en) * 1985-09-27 1987-11-10 International Business Machines Corporation Method and apparatus for correcting multibyte errors having improved two-level code structure
JP2796291B2 (ja) * 1987-04-17 1998-09-10 株式会社日立製作所 誤り訂正方式
US4833679A (en) * 1987-08-31 1989-05-23 International Business Machines Corporation Method and apparatus with improved error correction and error information availability
US4849975A (en) * 1987-11-10 1989-07-18 International Business Machines Corporation Error correction method and apparatus
US4916701A (en) * 1988-09-21 1990-04-10 International Business Machines Corporation Method and system for correcting long bursts of consecutive errors
US5027357A (en) * 1988-10-14 1991-06-25 Advanced Micro Devices, Inc. ECC/CRC error detection and correction system
US5157669A (en) * 1988-10-14 1992-10-20 Advanced Micro Devices, Inc. Comparison of an estimated CRC syndrome to a generated CRC syndrome in an ECC/CRC system to detect uncorrectable errors

Also Published As

Publication number Publication date
US5734663A (en) 1998-03-31
JPH05225718A (ja) 1993-09-03

Similar Documents

Publication Publication Date Title
JP2721099B2 (ja) エラーバースト修正のための試行錯誤方法及びマルチバイトエラーの修正方法
US4916701A (en) Method and system for correcting long bursts of consecutive errors
US7162678B2 (en) Extended error correction codes
US4277844A (en) Method of detecting and correcting errors in digital data storage systems
US7076723B2 (en) Error correction codes
US4833679A (en) Method and apparatus with improved error correction and error information availability
US5805799A (en) Data integrity and cross-check code with logical block address
CA1284228C (en) Byte write error code method and apparatus
US6421805B1 (en) Rogue packet detection and correction method for data storage device
EP0278700A2 (en) Error correction methods and apparatus
US4740968A (en) ECC circuit failure detector/quick word verifier
EP0373764B1 (en) Correction of random and burst errors
JP3945602B2 (ja) 訂正検査方法及び訂正検査装置
JP4290881B2 (ja) エラー訂正コードを含む磁気媒体上へのデータの格納のための方法及び装置
US4627058A (en) Code error correction method
EP1146650A1 (en) Error detection for data storage and transmission
CN114388053B (zh) Ssd数据测试方法、装置、存储介质及测试设备
CN111752747A (zh) 一种增强检错能力的内存安全校验方法
JPH08263391A (ja) 情報処理装置
JPS58111539A (ja) エラ−訂正方法
EP1232499B1 (en) Rogue packet detection and correction method for data storage device
US6877127B2 (en) Quality control in data transfer and storage apparatus
JPH04177673A (ja) 情報記録再生装置
JPH11163739A (ja) 消失誤り訂正方法とその装置
JP3653315B2 (ja) エラー訂正方法及びエラー訂正装置