JPH07261943A - データのエラー訂正方法および装置 - Google Patents

データのエラー訂正方法および装置

Info

Publication number
JPH07261943A
JPH07261943A JP6055888A JP5588894A JPH07261943A JP H07261943 A JPH07261943 A JP H07261943A JP 6055888 A JP6055888 A JP 6055888A JP 5588894 A JP5588894 A JP 5588894A JP H07261943 A JPH07261943 A JP H07261943A
Authority
JP
Japan
Prior art keywords
data
error
error correction
correction code
storage means
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.)
Pending
Application number
JP6055888A
Other languages
English (en)
Inventor
Yukari Katayama
ゆかり 片山
Hitoshi Ogawa
仁 小川
Motoyasu Tsunoda
元泰 角田
Masatoshi Nishina
昌俊 仁科
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP6055888A priority Critical patent/JPH07261943A/ja
Publication of JPH07261943A publication Critical patent/JPH07261943A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】 【目的】 誤訂正確率が誤り訂正符号が本来持つ誤訂正
確率よりも悪化しないエラー処理を行い得るデータのエ
ラー訂正方法および装置を提供する。 【構成】 HDC17内のECC検出回路19はリード
データのエラーの有無をチェックし、エラーを検出した
ときは、生成したシンドロームをECC訂正回路22に
入力する。ECC訂正回路22は、入力されたシンドロ
ームより計算したエラーの位置と値とをバッファ制御部
18に転送してデータバッファ16のデータを訂正させ
る。訂正処理が終了すると、データバッファ16から1
セクタ分の読み出し信号をECC検出回路21に転送さ
せる。これにより、ECC検出回路21は訂正後のデー
タおよび誤り訂正符号に基づいて再度誤り検出動作を行
う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データのエラー訂正方
法および装置に係り、特に、ディスク型記録媒体から再
生されるデータのエラー処理を、誤り訂正符号を用いて
行う場合に好適なエラー訂正方法および訂正装置に関す
る。
【0002】
【従来の技術】一般に、ディスク型記録媒体に対してデ
ータの記録再生を行う記録再生装置として、例えば、磁
気ディスク装置では、ディスク型記録媒体である磁気デ
ィスクから読み出された後、計算機へ入力されるデータ
のビット誤り率は、1.0×10-14以下であることが
望ましい。しかし、現状の技術では、データに加工を加
えることなく、そのまま磁気ディスクに記録して読み出
した場合は、データの読み出しのビット誤り率自体をこ
のレベルに抑えることは困難である。
【0003】そのため、通常は、データにエラーチェッ
ク、あるいは、エラー訂正用の冗長ビットを付加して、
磁気ディスクに記録し、これを再生する。そして、磁気
ディスク装置と計算機との間に設けた、磁気ディスクコ
ントローラ(以下、「HDC」と呼ぶ)において、デー
タに付加した冗長ビットを利用して、読み出されたデー
タの誤りを検査あるいは訂正している。このようにする
ことにより、磁気ディスク装置から読み出されたときの
データのビット誤り率として、1.0×10-9程度を許
容しても、HDCから計算機への転送データのビット誤
り率を1.0×10-14以下に抑えることができる。
【0004】ところで、強力なエラー訂正符号を用い、
強力なエラー訂正を行うと、実際には、磁気ディスク装
置からHDCへのデータ読み出しのビット誤り率をさら
に許容することが可能である。もし、データ読み出しの
ビット誤り率として、1.0×10-6まで許容すること
ができれば、ビット誤り率の許容量が増えた分だけ、読
み出しデータのS/Nを許容できるので、磁気ディスク
の記録密度の向上、すなわち記録容量の増大を図ること
ができる。
【0005】現在、HDCでは、1つのバーストエラー
の訂正を行っているが、さらに強力なエラー訂正とし
て、米国特許明細書第4,494,234号および第
4,504,948号に開示されているように、リード
ソロモン符号を用いて、複数個所のエラーを訂正する方
法がある。以下、米国特許明細書第4,494,234
号および第4,504,948号に開示された発明の内
容について説明する。
【0006】図21は、上記の米国特許明細書第4,4
94,234号および第4,504,948号に開示さ
れたマルチバイトエラー訂正システムのブロック図であ
る。この従来システムは、次式の原始多項式
【0007】
【数1】
【0008】により規定されるガロア体GF(28)上
の次式
【0009】
【数2】
【0010】の生成多項式を用いた、リードソロモン符
号を実施例として用いている。ここで用いられている演
算は、すべて2を法とする演算(mod2の演算)であ
り、”+”は排他的論理和演算を示す。
【0011】図22(A)は、上記の従来システムの磁
気ディスク上に格納されている、データと誤り訂正符号
のフォーマットを示す。このエラー訂正符号は、任意の
3バイトのエラーを訂正できる符号で、Cn-6からC0
データバイトであり、F5からF0は6バイトの誤り訂正
符号である。このとき、図22に示されるデータおよび
誤り訂正符号は、次式の符号多項式として示される。
【0012】
【数3】
【0013】また、誤り訂正符号F5からF0は(3)式
が(2)式の生成多項式G(x)で割り切れるように決
められる。
【0014】ここで、読み出しデータの位置j1,j
2,j3にエラーパターンE1,E2,E3がのったと
すると、エラー多項式は次式で示される。
【0015】
【数4】
【0016】また、このときの読み出しデータを多項式
表現で表すと、(5)式のようになる。
【0017】
【数5】
【0018】ここで、シンドロームS0からS5を(6
a)式〜(6f)式のように定義し、誤り位置多項式を
(7)式のように定義すると、シンドロームS0からS
5と誤り位置多項式の係数σ2からσ0の間には、
(8)式で示される関係がある。
【0019】
【数6】
【0020】
【数7】
【0021】
【数8】
【0022】いま、(7)式および(8)式のσ2、σ1
およびσ0を(9)式のようにおくと、(9)式の
33、△32、△31および△30は、(10)式から(1
3)式で表される。
【0023】
【数9】
【0024】
【数10】 △33=S2(S1S3+S2S2)+S3(S0S3+S1S2) +S4(S1S1+S2S0) (10)
【0025】
【数11】 △32=S3(S1S3+S2S2)+S4(S0S3+S1S2) +S5(S1S1+S2S0) (11)
【0026】
【数12】 △31=S0(S4S4+S3S5)+S1(S3S4+S2S5) +S2(S3S3+S2S4) (12)
【0027】
【数13】 △30=S1(S4S4+S3S5)+S2(S3S4+S2S5) +S3(S3S3+S2S4) (13) このようにして求めた、(7)式の誤り位置多項式の変
数xに、α0からαnを順次代入することによって、
αj1、αj2、αj3を求める。また、αi=αj1、αj2
αj3が求まっているとき、エラーパターンEiは次式に
より求められる。
【0028】
【数14】
【0029】図21に示す装置はこの演算を行う。同図
において、まずシンドローム計算機1において、読み出
しデータとクロックに基づいて(6a)式〜(6f)式
で示したシンドロームS0〜S5を算出する。次に、算
出したシンドロームS0〜S5に基づいて誤り位置多項
式係数計算機(△j計算機)2において、(10)式〜
(13)式より△33〜△30を演算し、さらに、これらの
値を使用して、誤り値多項式係数計算機(Φ計算機)5
にて(14)式によりΦ0からΦ2を求める。
【0030】次に、エラー位置・エラー値計算機3にお
いて、△33〜△30より求められた(7)式のエラー位置
多項式の変数xにα0からαnを順次代入し、(7)式が
0となる値を探す。(7)式が0となる値が見つかった
ときは、(14)式を計算し、エラーパターンEiを求
める。このようにして、求められたエラーパターンEi
は、nバイトのバッファ4より取り出された入力データ
と加算回路6でmod2の加算をされて、訂正されて出
力される。
【0031】ところで、△33=0の場合(9)式の分母
がそれぞれ0となるため、σ2、σ1およびσ0を計算で
きない。そこで、この従来例においては、2バイトの誤
りが発生したと仮定して、(7)式に示した誤り位置多
項式を(15)式のように仮定する。
【0032】
【数15】
【0033】これにより、シンドロームS0からS3と
誤り位置多項式の係数σ1およびσ0の間には、(1
6)式で示される関係があり、
【0034】
【数16】
【0035】(15)式および(16)式のσ1および
σ0を次式
【0036】
【数17】
【0037】のようにおくと、(17)式の△22、△21
および△20は、(18)式から(20)式で表される。
【0038】
【数18】 △22=S1S1+S2S0 (18)
【0039】
【数19】 △21=S0S3+S1S2 (19)
【0040】
【数20】 △20=S1S3+S2S2 (20) そして、(15)式から(20)式と、次式
【0041】
【数21】
【0042】を用いて、エラー位置およびエラーパター
ンを求める。
【0043】また、△22=0の場合、(17)式の分母
がそれぞれ0となるため、σ1およびσ0を計算できな
い。そこで、この従来例においては、上記と同様にして
1バイトの誤りが発生したと仮定して、誤り位置多項式
を(22)式のように仮定し、さらに(23)式から
(27)式を用いてエラー位置およびエラーパターンを
求める。ここで、
【0044】
【数22】
【0045】
【数23】 S0σ0=S1 (23)
【0046】
【数24】 σ0=△10/△11 (24)
【0047】
【数25】 △11=S0 (25)
【0048】
【数26】 △10=S1 (26)
【0049】
【数27】 Ei=Φ0/(Δ11αi) (27) (但し、Φ0=Δ10S0) このようにして、上記の従来のエラー訂正システムでは
1バイトから3バイトの任意のエラーを訂正することが
できる。
【0050】
【発明が解決しようとする課題】しかし、上記の従来の
エラー訂正システムでは、上記したように、誤りが3バ
イト以内と仮定し、計算不能の場合に、むりやりエラー
位置多項式の次数を落して計算している。このため、誤
りが4バイト以上発生した場合、誤訂正を行い、訂正結
果の符号多項式が生成多項式で割り切れないものとなる
可能性がある。
【0051】例えば、すべて0の図22(B)に示す符
号語を書込みデータとしたときに、同図(C)に示すよ
うに、読み出しデータのF3〜F0の位置に1、1、α
177、α114という4バイトの誤りが生じたものとする
と、△33=0、△22=0となり、誤り値α161、誤り位
置27という1バイトエラーが発生した計算になり、位
置27を誤り値α161をもって訂正してしまう。
【0052】従って、この場合の訂正された符号系列
は、図22(D)に示すように、「00…0α1610…
011α177α114」となり、(2)式に示した生成多項
式で割り切れず符号語とはならない。即ち、上記の従来
例では誤訂正確率が本来リードソロモン符号の持つ誤訂
正確率よりも悪化するという問題がある。
【0053】そこで、本発明は、上記の点に鑑みなされ
たもので、誤訂正確率が誤り訂正符号が本来持つ誤訂正
確率よりも悪化しないエラー処理を行い得るデータのエ
ラー訂正方法および装置を提供することを目的とする。
【0054】
【課題を解決するための手段】上記の目的を達成するた
め、本発明方法では、入力データと入力データに付加さ
れている誤り訂正符号とをそれぞれデータ格納手段に一
時格納すると共に、誤り訂正符号を用いて入力データに
エラーがあるか否かを検出し、入力データにエラーがあ
るときは、エラーを訂正して、データ格納手段の訂正前
と同じ領域に入力データおよび誤り訂正符号をそれぞれ
再度格納した後、データ格納手段から訂正後の入力デー
タと誤り訂正符号をそれぞれ読み出して、入力データに
エラーがあるか否かを再度検出するようにしたものであ
る。
【0055】また、本発明装置では、入力データと入力
データに付加されている誤り訂正符号とをそれぞれ一時
格納するデータ格納手段と、誤り訂正符号を用いて入力
データにエラーがあるか否かを検出するエラー検出手段
と、エラー検出手段によりエラーがあると検出された入
力データをデータ格納手段から読み出して誤り訂正した
後、訂正後の入力データを付加されている前記誤り訂正
符号と共にデータ格納手段の訂正前と同じ領域に再度記
憶するエラー訂正手段と、データ格納手段に記憶された
訂正後の入力データおよび誤り訂正符号を読み出して再
度エラー検出するエラー再検出手段とを有する構成とし
たものである。
【0056】さらに、本発明装置では、記録するデータ
に基づいて誤り訂正符号を生成してデータと共に記録媒
体に記録する記録手段と、記録媒体からデータと誤り訂
正符号とをそれぞれ再生する再生手段とを備える記録再
生装置のデータの誤り訂正装置において、再生手段によ
り再生されたデータと誤り訂正符号をそれぞれ一時格納
するデータ格納手段と、再生手段により再生されたデー
タと誤り訂正符号を用いてデータのエラーを検出するエ
ラー検出回路と、エラー検出回路によりエラーがあると
検出されたデータをデータに付加された誤り訂正符号を
用いて訂正してデータ格納手段の訂正前と同じ領域に再
度格納するエラー訂正回路と、データ格納手段に記憶さ
れた訂正後のデータおよび誤り訂正符号を読み出して再
度エラー検出するエラー再検出手段とを有する構成とし
たものである。
【0057】また、データ格納手段は、データを格納す
る領域に、データの後に連続してデータに付加されてい
る誤り訂正符号が格納されるデータバッファであり、エ
ラー検出手段またはエラー再検出手段によりエラーなし
と判定されたデータバッファのデータのみを、誤り訂正
符号の部分を飛び越して外部へ読み出し出力する読み出
し手段をさらに有することが、単一のデータバッファを
用いることができ、好ましい。
【0058】また、データ格納手段は、データと誤り訂
正符号とがそれぞれ専用の領域に別々に格納されるデー
タバッファであり、エラー検出手段またはエラー再検出
手段によりエラーなしと判定されたデータバッファのデ
ータのみを外部へ読み出し出力する読み出し手段をさら
に有することが、単一のデータバッファを用いることが
でき、好ましい。
【0059】さらに、データ格納手段は、データが格納
されるデータバッファと、誤り訂正符号が格納される格
納部とからなり、データバッファのデータのみを外部へ
読み出し出力する読み出し手段をさらに有することが、
データバッファの容量の増大化を防止することができ好
ましい。
【0060】
【作用】本発明方法および本発明装置では、入力データ
にエラーがあるときは、エラーを訂正して、データ格納
手段の訂正前と同じ領域に入力データおよび誤り訂正符
号をそれぞれ再度格納した後、データ格納手段から訂正
後の入力データと誤り訂正符号をそれぞれ読み出して、
入力データにエラーがあるか否かを再度検出するように
している。このため、訂正後の入力データおよび誤り訂
正符号が、所定の誤り訂正符号の持つ規則に則った符号
語になっているかどうかを確認することができる。
【0061】
【実施例】以下、本発明に係るデータのエラー訂正方法
および装置の各実施例を磁気ディスク装置への適用を例
にとって説明する。
【0062】図1は本発明の第1実施例の構成図を示
す。同図において、磁気ディスク10は、磁気ヘッド1
1によりデータが記録または再生されるディスク型記録
媒体で、筐体内に収納されている。磁気ヘッド11は、
リード/ライト制御回路12を介してエンコーダ/デコ
ーダ13に接続されている。また、磁気ディスク10お
よび磁気ヘッド11は、サーボ制御回路14の出力信号
により、回転制御および位置制御がなされる。このサー
ボ制御回路14は、中央処理装置(CPU)15との間
で双方向の信号の送受を行い、CPU15の命令に従っ
て磁気ディスク10および磁気ヘッド11を制御する。
【0063】このCPU15と前記エンコーダ/デコー
ダ13は、データバッファ16と共にハードディスクコ
ントローラ(HDC)17にそれぞれ接続されている。
HDC17は、本実施例の要部をなす装置で、集積回路
(IC)により実現されている。このHDC17は、デ
ータバッファ16と双方向のバス27を介して接続され
ているバッファ制御部18、CPU15の入出力制御な
どを行うCPU入出力制御部19、ドライブ制御部20
およびホストインターフェイス制御部25などから構成
されている。ホストインターフェイス制御部25は、ホ
ストインターフェイス26を介してホスト(図示せず)
に接続されている。
【0064】次に、本実施例で用いる磁気ディスク10
のフォーマットについて説明する。図2は磁気ディスク
10のフォーマットを説明する図で、同図(B)に示す
磁気ディスク10の1回転毎に得られるパルス(図2
(A))の周期の整数分の1の周期のパルスは、セクタ
毎に得られるパルスである。すなわち、磁気ディスク1
0の1回転1トラック毎には、図2(C)に示すよう
に、(N+1)のセクタがそれぞれ設けられている。
【0065】各セクタは、ID部とデータ部よりなる。
データ部は、図2(D)に示すように、「Pro SY
NC」、「BYTE SYNC」、「DATA」、「E
CC」、「DATA PAD」に分けられる。「Pro
SYNC」は同期用の信号を記録する領域、「BYT
E SYNC」はバイト同期用の信号を記録する領域、
「ECC」はDATA部のエラー訂正コードを記録する
領域、「DATA PAD」はデータ部の無効領域であ
る。
【0066】「DATA」、「ECC」部分の信号フォ
ーマットを、さらに詳細に図3に示す。データは、連続
する3バイトが異なる3つのブロックに分けられ、それ
ぞれに誤り訂正符号(ECCコード)が付加され、ま
た、誤り検査符号であるCRC(cyclic redundancy che
ck)が2バイト付加されている。
【0067】次に、ドライブ制御部20の構成について
説明する。図1に示すように、ドライブ制御部20は、
ECC検出回路21、ECC訂正回路22、ECC生成
回路23およびシーケンサ24を含んで構成されてい
る。ECC生成回路23は、例えば、図4に示す構成と
されている。
【0068】図4に示すように、ECC生成回路23
は、それぞれ3段ずつ縦続接続されたシフトレジスタ3
1〜48、排他的論理和回路49〜54、フィードバッ
ク係数回路55〜60、切換スイッチSW1、SW2か
らなり、図3に示した3段に分けたデータを、前記
(2)式の生成多項式で除算する処理を行い、誤り訂正
符号であるECCコードを生成する。
【0069】このECC生成回路23の動作について、
図5のタイミングチャートを併せ参照して説明する。こ
の回路へ、データおよびCRC0、1を入力する時、S
W1、SW2は、それぞれa側に閉じている。これによ
り、データバス28に入力されたデータからCRC0、
1までの信号入力時は、ドライブデータ出力線29へデ
ータバス28の入力信号がスイッチSW2を介してその
まま出力される一方、スイッチSW1を介してフィード
バック係数回路55〜60に排他的論理和回路54の出
力がそれぞれフィードバックされるため、シフトレジス
タ31〜36、43〜48の各出力信号は図5に示す如
くになる。
【0070】これにより、CRC1の入力終了時は、シ
フトレジスタ31〜48には3段に分けたデータおよび
CRC0、1を(2)式の生成多項式で割った剰余が格
納されている。データおよびCRC0、1の入力が終了
すると、SW1、SW2はそれぞれb側に閉じられ、シ
フトレジスタ31から48の内容はドライブデータ出力
線29へはきだされる。この時のシフトレジスタ31〜
36、43〜48の各出力信号およびドライブデータ出
力線29への出力データは図5に示す如くになる。ま
た、ECC生成回路23は、データをCRC(cycl
ic redundancy check)の生成多項
式で割り、CRC0、1を出力する機能も持っている。
【0071】このようにして、図1のデータバッファ1
6からバッファ制御部18およびデータバス28を介し
て入力されたデータに続いて誤り訂正符号(ECC)を
ドライブデータ出力線29よりエンコーダ/デコーダ1
3へ出力することができ、これによりさらにリード/ラ
イト制御回路12を介して磁気ヘッド11により磁気デ
ィスク10にデータと共にECCコードおよびCRCコ
ードを書き込むことができる。
【0072】次に、ECC検出回路21の構成について
説明する。ECC検出回路21は3段に分けたデータお
よび誤り訂正符号から、前記(6a)式〜(6f)式で
示したシンドロームを計算する回路で、図6に示すよう
に、シフトレジスタ71〜88、排他的論理和回路89
〜94、フィードバック係数回路95〜99、ゼロ検出
回路100およびセレクタ101からなる。
【0073】ECC検出回路21は、排他的論理和回路
89〜94とゼロ検出回路100の出力端子およびセレ
クタ101の入力端子との間に、それぞれシフトレジス
タ71〜88のうち、3つのシフトレジスタが縦続接続
され、さらに、そのフィードバックループにフィードバ
ック係数回路95〜99が接続された構成である。但
し、シフトレジスタ73と排他的論理倭回路89の間に
は接続線のみが接続されている。
【0074】次に、このECC検出回路21の動作につ
いて、図7のタイミングチャートを併せ参照して説明す
るに、図1のエンコーダ/デコーダ13よりドライブデ
ータ出力線62を介して図6の排他的論理和回路89〜
94のそれぞれに再生データが入力される。このときの
ドライブデータ出力線62を介して入力されたデータか
らCRC0、1までの信号入力時は、シフトレジスタ7
1〜76、83〜88の出力信号は図7に示すようにな
る。
【0075】そして、最後の誤り訂正符号ECC17の
入力終了時、シフトレジスタ71〜88の値は、エラー
が無いとき、図7に示すように0となる。そこで、この
時にシフトレジスタ71〜88の値をゼロ検出回路10
0でチェックし、エラーの発生をチェックする。
【0076】また、ECC検出回路21は、図8のフロ
ーチャートに示すように、データをCRCの生成多項式
CRC(X)で除算し(ステップ111)、その除算結
果R(X)が0であるかどうか判定し(ステップ11
2)、0のときはエラー無し(ステップ113)、0で
ないときはエラー有り(ステップ114)と判定する、
エラーの検出機能も含んでいる。
【0077】次に、ECC訂正回路22の動作を図9の
フローチャートと共に説明する。ECC訂正回路22
は、まず、変数Nに初期値”1”を代入した後(ステッ
プ121)、ECC検出回路21から1段目のシンドロ
ームS0〜S5を受け取り(ステップ122)、(1
0)式より△33を計算する(ステップ123)。続い
て、計算した△33が”0”であるか否か判定する(ステ
ップ124)。
【0078】△33≠0の場合には、(11)式〜(1
3)式を使ってN段目の△32〜△30を計算し(ステップ
125)、(9)式よりσ0〜σ2を求め(ステップ12
6)、(7)式のxにαを代入して(7)式が0となる
誤り位置αi1、αi2、αi3を求め(ステップ127)、
さらに、(14)式より誤り値Ei1、Ei2、Ei3を求め
た後(ステップ128)、図1のバッファ制御部18に
上記の誤り位置αi1、αi2、αi3と誤り値Ei1、Ei2
i3を出力する(ステップ129)。
【0079】一方、ステップ124で△33=0の判定結
果が得られたときは、(18)式より△22を計算し、そ
の△22が”0”であるか否か判定する(ステップ13
0、131)。△22≠0の場合には、(19)式と(2
0)式とを使ってN段目の△21と△20を計算し(ステッ
プ132)、(17)式よりσ0とσ1を求め(ステップ
133)、(15)式のxにαを代入して(15)式が
0となる誤り位置αi1、αi2を求め(ステップ13
4)、さらに(21)式より誤り値Ei1、Ei2を求めた
後(ステップ135)、バッファ制御部18に上記の誤
り位置αi1、αi2と誤り値Ei1、Ei2を出力する(ステ
ップ136)。
【0080】一方、ステップ131で△22=0の判定結
果が得られたときは、(25)式より△11を計算し、そ
の△11が”0”であるか否か判定する(ステップ13
7、138)。△11≠0の場合には、(26)式を使っ
てN段目の△11を計算し(ステップ139)、(24)
式よりσ0を求め(ステップ140)、(22)式のx
にαを代入して(22)式が0となる誤り位置αi1を求
め(ステップ141)、さらに(27)式より誤り値E
i1を求めた後(ステップ142)、バッファ制御部18
に上記の誤り位置αi1と誤り値Ei1を出力する(ステッ
プ143)。
【0081】上記のステップ129、136または14
3の処理が終ると、ECC訂正回路22は、引き続いて
変数Nの値を”1”インクリメントし(ステップ14
4)、そのインクリメント後の変数Nが3より大である
か否か判定する(ステップ145)。N≦3のときは、
上記のステップ122から144までの処理を繰り返
す。ステップ145でN=4の判定結果が得られたとき
は、処理を終了する。
【0082】次に、上記の各構成部からなる第1実施例
の動作について、図10および図11を用いて説明す
る。図10はHDC17の制御動作のフローチャートを
示し、図11はデータバッファ16の記憶構成を示す。
【0083】図10において、HDC17は、データリ
ード時(再生時)、まずフラグを”1”とする。かつ、
HDC17は、データバッファ16のリードポイントを
示す変数Rに初期値Kを代入した後(ステップ15
0)、磁気ディスク10から再生され、リード/ライト
制御回路12、エンコーダ/デコーダ13をそれぞれ介
して入力されたデータ(リードデータ)を、データバッ
ファ16にアドレスKから書き込む(ステップ151)
と同時に、リードデータをECC検出回路21に入力す
る(ステップ152)。
【0084】HDC17は、リードデータに続いて磁気
ディスク10から読み出された誤り訂正符号であるEC
Cコード(CRCも含む)をデータバッファ16に続け
て書き込み(ステップ153)、また、ECC検出回路
21に入力する(ステップ154)。HDC17内のE
CC検出回路19は、リードデータのエラーの有無をチ
ェックし、エラーを検出したときは、前記フラグを0と
し、かつ、変数Jに前記初期値Kを代入した後(ステッ
プ156)、生成したシンドロームをECC訂正回路2
2に入力する(ステップ157)。
【0085】ECC訂正回路22は、入力されたシンド
ロームより、図9と共に説明した処理によりエラーの位
置(誤り位置)とエラー値(誤り値)を計算し(ステッ
プ158)、前記した3つのシンドロームΔ33、Δ22
よびΔ11がすべて0であるか否かにより、訂正不能エラ
ー発生かどうか判定する(ステップ159)。すべて0
のときは、訂正不能エラー発生と判断して異常終了し
(ステップ160)、そうでないときは、ステップ15
8で計算したエラーの位置と値とを図1のバッファ制御
部18に転送する(ステップ161)。
【0086】一方、HDC17内のシーケンサ24は、
上記のステップ161によりECC訂正回路22からエ
ラー位置とエラー値とが入力されているか判定し(ステ
ップ162)、入力されているときは、バッファ制御部
18によりアドレスJのデータを入力エラー値、エラー
位置を基に訂正させる(ステップ163)。
【0087】例えば、ある一つのセクタより読み出され
た第1のデータにおいてエラーが発生し、次のセクタか
ら読み出される第2のデータを読み込む間にエラーの位
置と値の計算が終了したとすると、第2のデータのEC
Cコード読み込み後に、誤り値、誤り位置が送られてい
ることを検出する(ステップ162)。さらに、次のセ
クタから読み出される第3のデータとの間のギャップ
(図2(C)、(D)にて示したID部、DATA P
AD等の時間)を利用して、バッファ制御部18は、デ
ータバッファ16内の第1のデータを訂正する(ステッ
プ163)。これにより、データバッファ16のデータ
および誤り訂正符号は、訂正前の領域と同じ領域に再度
書込まれる。
【0088】ステップ163の訂正処理が終了すると、
シーケンサ24は、バッファ制御部18を制御して、デ
ータバッファ16のアドレスJから532バイト分、す
なわち、データバッファ16のアドレスK(=J)から
512バイトのデータおよび20バイトのECCコード
(CRC含む)からなる1セクタ分の読み出し信号をE
CC検出回路21に転送させる(ステップ164)。
【0089】続いて、シーケンサ24は、この入力され
た532バイトをECC検出回路21に入力させる(ス
テップ165、166)。これにより、ECC検出回路
21は、訂正後のデータおよび誤り訂正符号に基づい
て、再度、誤り検出動作を行う(ステップ167)。
【0090】この結果、エラーが検出されないときは、
HDC17は、前記フラグを1として、データを上位装
置である図示しないホストコンピュータ(ホスト)に送
る許可を出す(ステップ168)。そして、HDC17
は、次のセクタのデータ待ちの状態となり(ステップ1
69)、最終セクタのデータ入力が終了したかどうか判
定し(ステップ170)、終了していないときは、変数
Kを1セクタ長に対応する値「532」を加算して(ス
テップ171)、再び、前記ステップ151の処理に戻
る。
【0091】上記の動作が繰り返されることにより、デ
ータバッファ16には、図11に示すように、第1のセ
クタから読み出されたデータDATA1と誤り訂正符号
ECC1とが、それぞれ連続してアドレスKからK+5
31まで書込まれ、続いて第2のセクタから読み出され
たデータDATA2と誤り訂正符号ECC2とが引き続
いて連続して書込まれ、以下同様にして次々と各セクタ
のデータと誤り訂正符号とが連続して書込まれる。
【0092】なお、図10のステップ167でエラー有
りの判定結果が得られたときは、エラー訂正不能と判断
して、異常終了する(ステップ172)。また、ステッ
プ162において、誤り位置および誤り値の入力がない
と判定されたときは、リードデータが正常であると判定
して、ステップ169の次のデータ待ちの状態となる。
【0093】また、ホストインターフェイス制御部25
は、前記フラグが1のとき、データを送信する許可を
得、変数LにKの値を代入し(ステップ173)、変数
RがL以下のときは、アドレスRからR+511までの
データをホストインターフェイス26を介してホストに
転送する(ステップ174)。次に、リードポインタR
に「532」を加算し(ステップ176)、再び、ステ
ップ173〜175の処理を行う。これにより、データ
バッファ16に格納されているデータおよび誤り訂正符
号のうち、誤り訂正符号の格納領域を飛び越して、デー
タ領域のデータのみがホストに転送される。
【0094】このように動作することにより、本実施例
によれば、ECCのマルチ訂正を行ったあとで訂正され
たコードがリードソロモン符号およびCRC符号の規則
にのっとっているか確認できるので、誤訂正率を、本来
リードソロモン符号の持っている誤訂正率より落さず
に、ECCのマルチ訂正を行うことができる。また、ホ
ストコンピュータには、訂正済みのデータのみを送信す
ることができる。また、本実施例では、データバッファ
16の各データの格納領域とECC格納領域とは、訂正
前と後で同一であるため、記憶容量の増大化を防止する
ことができる。
【0095】次に、本発明の第2実施例について説明す
る。本実施例は、第1実施例に比較して、HDC17の
ハードウェア構成は同一であるが、データバッファ16
の構成およびバッファ制御部18の制御動作が異なる。
【0096】本実施例の動作を、図12および図13を
用いて説明する。図12はHDC17の制御動作のフロ
ーチャートを示し、図13はデータバッファ16の記憶
構成を示し、それぞれ図10および図11と同一部分に
は同一符号を付し、その説明を省略する。HDC17
は、リードデータに続いて、磁気ディスク10から読み
出された誤り訂正符号であるECCコード(CRCも含
む)をデータバッファ16のリードデータ格納領域とは
異なるアドレスMに続けて書き込み(ステップ18
1)、またECC検出回路21に入力する(ステップ1
54)。
【0097】ステップ163の訂正処理が終了すると、
シーケンサ24は、バッファ制御部18を制御してデー
タバッファ16のアドレスJから512バイト分、すな
わち、データバッファ16のアドレスK(=J)から5
12バイトの訂正後のデータをECC検出回路21に転
送させた後(ステップ182)、データバッファ16の
アドレスMから20バイト分、すなわち、データバッフ
ァ16のアドレスMから20バイトの訂正後の誤り訂正
符号をECC検出回路21に転送させる(ステップ18
3)。これにより、ECC検出回路21は、訂正後のデ
ータおよび誤り訂正符号に基づいて、再度、誤り検出動
作を行う(ステップ165〜167)。
【0098】この結果、エラーが検出されないときは、
HDC17は、前記フラグを1として、データを上位装
置である図示しないホストコンピュータ(ホスト)に送
る許可を出す(ステップ168)。そして、HDC17
は、次のセクタのデータ待ちの状態となり(ステップ1
69)、最終セクタのデータ入力が終了したかどうか判
定し(ステップ170)、終了していないときは、変数
Kに値「512」を加算し(ステップ184)、変数M
に「20」を加算して(ステップ185)、再び、前記
ステップ151の処理に戻る。
【0099】上記の動作が繰り返されることにより、デ
ータバッファ16には、図13に示すように、各セクタ
から読み出されたデータDATA1、DATA
2、...と誤り訂正符号ECC1、ECC2、...
とがそれぞれの専用領域A、Bに別々に書込まれること
となる。
【0100】また、ホストインターフェイス制御部25
は、前記フラグが1のときデータを送信する許可を得、
変数LにKの値を代入した後(ステップ173)、アド
レスLからL+511までのデータをホストインターフ
ェイス26を介してホストに転送する(ステップ18
6)。
【0101】次に、リードポインタRに「532」を加
算し(ステップ176)、再び、ステップ173、18
6および176の処理を行う。これにより、データバッ
ファ16のデータ専用領域Aに格納されているデータの
みがホストに転送される。従って、本実施例によれば、
各データはデータバッファ16のデータ専用領域Aに連
続して格納されているので、第1実施例のような誤り訂
正符号格納領域を飛び越す処理は必要ない。
【0102】このように動作することにより、本実施例
は、ECCのマルチ訂正を行ったあとで訂正されたコー
ドが、リードソロモン符号およびCRC符号の規則にの
っとっているか確認できるので、誤訂正率を本来リード
ソロモン符号の持っている誤訂正率より落さずに、EC
Cのマルチ訂正を行うことができる。また、ホストコン
ピュータには、訂正済みのデータのみを送信することが
できる。また、本実施例も、データバッファ16の各デ
ータの格納領域とECC格納領域とは訂正前と後で同一
であるため、記憶容量の増大化を防止することができ
る。
【0103】次に、本発明の第3実施例について図14
乃至図17を用いて説明する。図14は本発明の第3実
施例の構成図、図15はバッファ制御部の中のECC格
納部の一例のブロック図、図16は本実施例のHDC1
7の制御動作のフローチャート、図17はデータバッフ
ァ16の記憶構成を示す。これらの図は、それぞれ図
1、図12および図13と同一部分には同一符号を付
し、その説明を省略する。
【0104】本実施例は、図14のバッファ制御部19
0内にECC格納部191を有する点が前記の実施例と
異なるだけである。すなわち、バッファ制御部190
は、図15に示す如く、20バイト格納FIFO201
および202がそれぞれ縦続接続された構成のECC格
納部191を有し、ECCコード(CRC含む)をデー
タバッファ16とは別のメモリ素子に格納するようにし
たものである。
【0105】本実施例の動作について説明する。HDC
17は、リードデータに続いて磁気ディスク10から読
み出された誤り訂正符号であるECCコード(CRCも
含む)を、データバッファ16とは異なるバッファ制御
部190内のECC格納部191の1段目のFIFO2
01に書き込み(ステップ211)、また、ECC検出
回路21に入力する(ステップ154)。
【0106】エラーが検出されたときは、ECC検出回
路21は、シンドロームをECC訂正回路22に入力す
る(ステップ157)。また、ECC格納部191の第
1段目のFIFO201に格納されていた、20バイト
のECCコードを、ECC格納部191の第2段目FI
FO202に移す(ステップ212)。続いて、ECC
訂正回路22は、シンドロームよりエラーの位置と値を
計算し(ステップ158)、バッファ制御部190に転
送する(ステップ161)。
【0107】HDC17は、上記のステップ161によ
り、ECC訂正回路22からエラー位置とエラー値とが
入力されているか判定し(ステップ162)、入力され
ているときは、バッファ制御部190によりアドレスJ
のデータを入力エラー値を基に訂正させるとともに、E
CC格納部191の第2段目202に格納されていた、
誤り訂正符号を訂正する(ステップ163)。誤り訂正
符号は、エラー訂正線203を用いて訂正する。
【0108】ステップ163の訂正処理が終了すると、
シーケンサ24は、バッファ制御部190を制御して、
データバッファ16のアドレスJから512バイト分、
すなわち、データバッファ16のアドレスK(=J)か
ら512バイトの訂正後のデータをECC検出回路21
に転送させた後(ステップ182)、ECC格納部19
1の第2段目FIFO202に一時格納されている訂正
後の20バイトの誤り訂正符号をECC検出回路21に
転送させる(ステップ213)。これにより、ECC検
出回路21は、訂正後のデータおよび誤り訂正符号に基
づいて、再度、誤り検出動作を行う(ステップ165〜
167)。
【0109】この結果、エラーが検出されないときは、
HDC17は、前記フラグを1として、データを上位装
置である図示しないホストコンピュータ(ホスト)に送
る許可を出す(ステップ168)。そして、HDC17
は、次のセクタのデータ待ちの状態となり(ステップ1
69)、最終セクタのデータ入力が終了したかどうか判
定し(ステップ170)、終了していないときは、変数
Kに値「512」を加算した後(ステップ214)、再
び前記ステップ151の処理に戻る。
【0110】上記の動作が繰り返されることにより、デ
ータバッファ16には、図17に示すように、各セクタ
から読み出されたデータDATA1、DATA
2、...のみが書込まれることとなる。従って、本実
施例によれば、各データは、データバッファ16に連続
して格納されているので、第1実施例のような誤り訂正
符号格納領域を飛び越す処理は必要ない。
【0111】このように動作することにより、本実施例
によれば、ECCのマルチ訂正を行ったあとで訂正され
たコードがリードソロモン符号およびCRC符号の規則
にのっとっているか否かを確認できるので、誤訂正率を
本来リードソロモン符号の持っている誤訂正率より落さ
ずにECCのマルチ訂正を行うことができる。また、ホ
ストコンピュータには、訂正済みのデータのみを送信す
ることができる。さらに、本実施例も、データバッファ
16の各データの格納領域は訂正前と後で同一であるた
め、記憶容量の増大化を防止することができる。
【0112】次に、本発明の第4実施例について図18
乃至図20を用いて説明する。図18は本発明の第4実
施例の構成図、図19は本実施例のHDCに対してCP
Uが設定するコマンドの一部および実行したコマンドの
実行結果を示すステータスレジスタの一部を示す図、図
20は本実施例の制御動作のフローチャートを示し、そ
れぞれ図1、図12および図13と同一部分には同一符
号を付し、その説明を省略する。
【0113】図18において、HDC300は、本実施
例の要部をなす装置で、集積回路(IC)により実現さ
れている。このHDC300は、データバッファ16と
双方向のバス27を介して接続されているバッファ制御
部301、CPU310の入出力制御などを行うCPU
入出力制御部19、ドライブ制御部302およびホスト
インターフェイス制御部307などから構成されてい
る。ホストインターフェイス制御部307は、シーケン
サ308を有している。
【0114】また、ドライブ制御部302は、ECC検
出回路21、ECC生成回路23、シーケンサ303、
セクタカウンタ304、コマンドレジスタ305、ステ
ータスレジスタ306などから構成されている。ECC
検出回路21により求められたシンドロームを、CPU
310は、リード命令線63,データ線64を用いて読
み出すことができる。
【0115】上記のコマンドレジスタ305には、図1
9(A)に示すように、リードコマンド、訂正確認コマ
ンド、ホストへのデータ転送コマンドなどが、CPU3
10により設定される。リードコマンドは、CPU31
0により指示されたセクタのデータおよびECCを読
み、データバッファ16に格納したり、ECCエラーチ
ェックのためのコマンドである。また、訂正確認コマン
ドは、データバッファ16内の訂正データのECCエラ
ーチェックを行わせる時に用いられるコマンドである。
さらに、ホストへのデータ転送コマンドは、データバッ
ファ16内のデータをホストへ転送するときのコマンド
である。
【0116】また、ステータスレジスタ306は、図1
9(B)に示す如く、8ビットのうち下位2ビットが、
ECCエラーチェック結果が異常を示すビット(ECC
NGステータス)と、正常であることを示すビット(E
CCOKステータス)とに割付けられている。
【0117】次に、本実施例の動作について図18およ
び図20と共に説明する。データリード時、CPU31
0は、まず、サーボ制御回路14を制御して、磁気ヘッ
ド11を磁気ディスク10の希望するセクタのあるトラ
ックに位置付けする(ステップ401)。次に、読み出
したいセクタの開始ナンバとセクタ数をセクタカウンタ
304にセットする(ステップ402)。例えば、セク
タ#1、セクタ#2、セクタ#3のデータを読み出す場
合、セクタカウンタ304には、”1”と”3”とがセ
ットされる。次に、CPU310は、リードコマンドを
HDC300に発行し(ステップ403)、HDC30
0から終了割込みが入るのを待つ(ステップ404)。
【0118】HDC300は、目的のセクタから読み出
されたデータをデータバッファ16に書込む。例えば、
セクタ#1、セクタ#2、セクタ#3のデータを読み出
す場合、HDC300は、セクタ#1のリードデータD
ATA1を磁気ディスク10から読み出し、DATA1
をデータバッファ16のデータ格納領域のアドレスKか
ら書込むと同時に、ECC検出回路21に入力する(ス
テップ405)。
【0119】次に、リードデータに続いて磁気ディスク
10から読み出されたECCコード(CRC含む)をデ
ータバッファ16のECC格納領域に書込むと同時に、
ECC検出回路21に入力する(ステップ406)。H
DC300は、1セクタのデータ読み込み終了時、EC
Cエラーの発生の有無を判定し(ステップ407)、エ
ラーが発生していないときは、セクタナンバを”1”イ
ンクリメントし(ステップ408)、セクタ数を”1”
デクリメントした後(ステップ409)、セクタ数が”
0”になったかどうか、すなわち、読み出したいセクタ
数分の処理が終ったかどうか判定する(ステップ41
0)。
【0120】セクタ数が”0”でないときは、再びステ
ップ405の処理に戻る。エラーの発生がないときに
は、以下、上記と同様の動作が繰り返され、読み出そう
とする最後のセクタの読み込み終了時、ECC検出回路
21は、ECCOKステータスを発行して、ステータス
レジスタ306にセットし(ステップ412)、コマン
ドの実行を終了して(ステップ413)、CPU310
に割込みを発行し、動作を終了する(ステップ41
4)。
【0121】このようにして、エラーの発生がないとき
には、読み出そうとする各セクタのリードデータがデー
タバッファ16のデータ格納領域に次々と書込まれ、ま
た、各セクタから読み出されたECCコード(CRC含
む)がデータバッファ16のECC格納領域に次々と格
納される。従って、データバッファ16の格納状態は図
13と同様となる。
【0122】一方、ある一つのセクタのデータ読み込み
終了時にエラーが検出されたときは(ステップ40
7)、ECC検出回路21は、ECCNGステータスを
発行して、ステータスレジスタ306にセットし(ステ
ップ411)、コマンドの実行を終了して(ステップ4
13)、CPU310に割込みを発行し、動作を終了す
る(ステップ414)。例えば、セクタ#2の処理中に
エラーが発生した場合は、セクタ#3の処理は行わずに
終了する。
【0123】CPU310は、HDC300からの割込
み信号を受け取ると(ステップ404)、ステータスレ
ジスタ306の内容を読みにいき、ステータスレジスタ
がECCOKステータスかECCNGステータスかを判
定する(ステップ415、416)。
【0124】ECCNGステータスが検出されると、C
PU310は、ECC検出回路21からシンドロームS
0〜S5を読み出し(ステップ417)、これに基づい
てエラーの位置とエラー値とを計算し(ステップ41
8)、セクタカウンタ304から読み出したエラーセク
タナンバと計算したエラー位置およびエラー値とを基
に、データバッファ16の中のデータを正しい値に上書
きして訂正する(ステップ419)。CPU310は続
いて、訂正確認コマンドをHDC300に発行して(ス
テップ420)、コマンドレジスタ305にセットした
後、終了割込みを待つ(ステップ421)。
【0125】HDC300は、上記の訂正確認コマンド
を受け取ると、データバッファ16内に格納されている
訂正されたデータおよび/またはECCコード(CRC
含む)を有する1セクタ分のデータおよびECCコード
(CRC含む)をECC検出回路21へ入力する(ステ
ップ422)。ECC検出回路21は、入力された1セ
クタ分のデータおよびECCコード(CRC含む)にエ
ラーが発生しているか否か前記した方法で検出し(ステ
ップ423)、エラーが検出されないときは、ECCO
Kステータスを発行してステータスレジスタ306にセ
ットし(ステップ424)、コマンドの実行を終了して
(ステップ426)、CPU310に割込みを発行し動
作を終了する(ステップ427)。
【0126】一方、訂正後のデータおよびECCコード
(CRC含む)に、またエラーを検出したときには、E
CC検出回路21は、ECCNGステータスを発行して
ステータスレジスタ306にセットし(ステップ42
5)、コマンドの実行を終了して(ステップ426)、
CPU310に割込みを発行し動作を終了する(ステッ
プ427)。
【0127】CPU310は、HDC300からの割込
み信号を受け取ると(ステップ421)、ステータスレ
ジスタ306の内容を読みにいき、ステータスレジスタ
がECCOKステータスかどうかを判定し(ステップ4
28)、ECCOKステータスであると判定すると、再
度リードコマンドを発行し(ステップ403)、残りの
セクタ、例えば、セクタ#3のリードデータをステップ
405以降により処理する。
【0128】残りのセクタの処理がエラー無しに終了し
た場合は、HDC300は、ECCOKステータスを発
行して、ステータスレジスタ306にセットし(ステッ
プ412)、コマンドの実行を終了して(ステップ41
3)、CPU310に割込みを発行し動作を終了する
(ステップ414)。CPU310は、上記のECCO
Kステータスを読むと(ステップ404、415)、H
DC300にホストへのデータ転送コマンドを発行し
(ステップ429)、コマンドレジスタ305にセット
した後、終了割込みを待つ(ステップ430)。
【0129】HDC300内のホストインターフェイス
制御部307のシーケンサ308は、上記のデータ転送
コマンドを受け取ると、データバッファ16に格納され
ている各セクタのデータ(ここではセクタ#1、セクタ
#2、セクタ#3のリードデータまたはその訂正データ
DATA1、DATA2、DATA3)をホストへ転送
した後(ステップ431)、コマンドの実行を終了して
(ステップ432)、CPU310に割込みを発行し、
動作を終了する(ステップ433)。
【0130】CPU310は、この割込み通知を受け取
ると(ステップ430)、リード動作を終了する(ステ
ップ434)。なお、CPU310は、ステップ428
において、訂正後のデータおよびECCコード(CRC
含む)にエラー発生ありを示すECCNGステータスを
検出したときは、訂正不可能エラー発生と判断して動作
を終了する(ステップ435)。また、CPU310
は、ステップ416でECCNGステータスを検出でき
ないときは、ステータスレジスタ306からECCOK
ステータスとECCNGステータスのいずれも検出でき
ないため、他のエラー処理を行う(ステップ436)。
【0131】本実施例によれば、他の実施例と同様に、
ECCのマルチ訂正を行った後で訂正されたコードがリ
ードソロモン符号およびCRC符号の規則にのっとって
いるか否かを確認できるので、誤訂正率を本来リードソ
ロモン符号の持っている誤訂正率より落さずに、ECC
のマルチ訂正を行うことができる。また、ホストには、
訂正済みのデータのみを送信することができる。さら
に、本実施例も、データバッファ16の各データの格納
領域は訂正前と後で同一であるため、記憶容量の増大化
を防止することができる。
【0132】なお、上記の各実施例のように、訂正後の
データを再度チェックすること自体は知られている(例
えば、特開平1−116969号公報)。しかし、この
公知技術は、訂正の終了したデータについて、誤り検出
符号(すなわち、CRC)を用いて誤り訂正のチェック
を行う(上記公報第402頁右上欄第1行〜第7行参
照)もので、本発明のようなECCコードとCRCコー
ドの両方を用いて行うものではない。
【0133】また、上記の公知技術は、目的が効率よく
データ転送することにあるため、バッファメモリにデー
タの読み出し、誤り訂正、誤りチェック、外部装置の転
送のそれぞれのための計4つの一時保存領域を設けて並
行処理を行う(上記公報の例えば第405頁左下欄第8
行〜第15行参照)ものであるのに対し、誤訂正確率が
誤り訂正符号が本来持つ誤訂正確率よりも悪化しないエ
ラー処理を行うことを目的とする本発明では、データバ
ッファの記憶領域を共通に用いるものである。
【0134】なお、以上の各実施例では、磁気ディスク
装置(ハードディスク装置など)への適応を例にとり説
明したが、本発明は、これに限定されるものではなく、
光ディスク、光磁気ディスクなど、磁気ディスク以外の
ディスク型記録媒体、あるいはテープ状記録媒体を用い
た記録再生装置、さらにはデータ伝送についても同様に
適用することができる。
【0135】
【発明の効果】以上説明したように、本発明方法および
装置によれば、訂正後の入力データと誤り訂正符号をそ
れぞれ読み出して入力データにエラーがあるか否かを再
度検出することにより、訂正後の入力データおよび誤り
訂正符号が所定の誤り訂正符号の持つ規則に則った符号
語になっているかどうかを確認するようにしているた
め、複数バイトエラー訂正において誤訂正率を、本来の
誤り訂正符号の持つ誤訂正確率まで低下させることがで
きる。その結果、従来に比し、誤訂正率を向上すること
ができ、よって、記録媒体の記録密度の向上に寄与する
ところ大である。また、データ格納手段の各データの格
納領域が訂正前と後で同一であるため、記憶容量の増大
化を防止することができる。
【図面の簡単な説明】
【図1】本発明の第1実施例のシステム構成図である。
【図2】本発明が適用される磁気ディスクの記録フォー
マットの一例を示す図である。
【図3】図2の磁気ディスクのデータ部の記録フォーマ
ットの一例を示す図である。
【図4】図1のECC生成回路の一例の構成図である。
【図5】図4の動作説明用タイミングチャートである。
【図6】図1のECC検出回路の一例の構成図である。
【図7】図6の動作説明用タイミングチャートである。
【図8】ECC検出回路の他の機能を説明するフローチ
ャートである。
【図9】図1のECC訂正回路の制御動作を示すフロー
チャートである。
【図10】本発明の第1実施例の要部の動作説明用フロ
ーチャートである。
【図11】図1のデータバッファの記憶状態を示す図で
ある。
【図12】本発明の第2実施例の要部の動作説明用フロ
ーチャートである。
【図13】本発明の第2実施例のデータバッファの記憶
状態を示す図である。
【図14】本発明の第3実施例のシステム構成図であ
る。
【図15】図14のECC格納部の一例のブロック図で
ある。
【図16】本発明の第3実施例の要部の動作説明用フロ
ーチャートである。
【図17】図14のデータバッファの記憶状態を示す図
である。
【図18】本発明の第4実施例のシステム構成図であ
る。
【図19】図18の要部の制御コマンドとステータスレ
ジスタビット割付けを説明する図である。
【図20】本発明の第4実施例の要部の動作説明用フロ
ーチャートである。
【図21】従来の一例の構成図である。
【図22】図21のデータフォーマットおよび課題を説
明する図である。
【符号の説明】
10…磁気ディスク、11…磁気ヘッド、14…サーボ
制御回路、15、310…中央処理装置(CPU)、1
6…データバッファ、17、300…ハードディスクコ
ントローラ(HDC)、18、190、301…バッフ
ァ制御部、19…CPU入出力制御部、20、302…
ドライブ制御部、21…ECC検出回路、22…ECC
訂正回路、23…ECC生成回路、24、303、30
8…シーケンサ、25、307…ホストインターフェイ
ス制御部、191…ECC格納部、304…セクタカウ
ンタ、305…コマンドレジスタ、306…ステータス
レジスタ。
フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G11B 20/18 552 Z 8940−5D (72)発明者 仁科 昌俊 神奈川県小田原市国府津2880番地 株式会 社日立製作所ストレージシステム事業部内

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 入力データと該入力データに付加されて
    いる誤り訂正符号とをそれぞれデータ格納手段に一時格
    納すると共に、該誤り訂正符号を用いて該入力データに
    エラーがあるか否かを検出し、該入力データにエラーが
    あるときは該エラーを訂正して、該データ格納手段の訂
    正前と同じ領域に該入力データおよび誤り訂正符号をそ
    れぞれ再度格納した後、該データ格納手段から該訂正後
    の入力データと誤り訂正符号をそれぞれ読み出して、該
    入力データにエラーがあるか否かを再度検出することを
    特徴とするデータのエラー訂正方法。
  2. 【請求項2】 記録するデータに基づいて誤り訂正符号
    を生成して該データと共に記録媒体に記録する記録手段
    と、該記録媒体から該データと誤り訂正符号とをそれぞ
    れ再生する再生手段とを備える記録再生装置のデータの
    エラー訂正方法において、 前記再生手段により再生されたデータと誤り訂正符号と
    をデータ格納手段にそれぞれ一時格納すると共に、前記
    再生手段により再生されたデータと誤り訂正符号とを用
    いて該データのエラーを検出し、エラーがあると検出さ
    れたデータを該データに付加された誤り訂正符号を用い
    て訂正して、前記データ格納手段の訂正前と同じ領域に
    再度格納した後、該データ格納手段に記憶された該訂正
    後のデータおよび誤り訂正符号を読み出して、再度エラ
    ー検出することを特徴とするデータのエラー訂正方法。
  3. 【請求項3】 入力データと該入力データに付加されて
    いる誤り訂正符号とをそれぞれ一時格納するデータ格納
    手段と、 該誤り訂正符号を用いて該入力データにエラーがあるか
    否かを検出するエラー検出手段と、 該エラー検出手段によりエラーがあると検出された入力
    データをデータ格納手段から読み出して誤り訂正した
    後、訂正後の該入力データを付加されている前記誤り訂
    正符号と共に該データ格納手段の訂正前と同じ領域に再
    度記憶するエラー訂正手段と、 該データ格納手段に記憶された該訂正後の入力データお
    よび誤り訂正符号を読み出して再度エラー検出するエラ
    ー再検出手段とを有することを特徴とするデータのエラ
    ー訂正装置。
  4. 【請求項4】 記録するデータに基づいて誤り訂正符号
    を生成して該データと共に記録媒体に記録する記録手段
    と、該記録媒体から該データと誤り訂正符号とをそれぞ
    れ再生する再生手段とを備える記録再生装置のデータの
    エラー訂正装置において、 前記再生手段により再生されたデータと誤り訂正符号を
    それぞれ一時格納するデータ格納手段と、 前記再生手段により再生されたデータと誤り訂正符号を
    用いて該データのエラーを検出するエラー検出回路と、 該エラー検出回路によりエラーがあると検出されたデー
    タを該データに付加された誤り訂正符号を用いて訂正し
    て、前記データ格納手段の訂正前と同じ領域に再度格納
    するエラー訂正回路と、 該データ格納手段に記憶された該訂正後のデータおよび
    誤り訂正符号を読み出して再度エラー検出するエラー再
    検出手段とを有することを特徴とするデータのエラー訂
    正装置。
  5. 【請求項5】 前記データ格納手段は、前記データを格
    納する領域に、該データの後に連続して該データに付加
    されている前記誤り訂正符号が格納されるデータバッフ
    ァであり、前記エラー検出手段または前記エラー再検出
    手段によりエラーなしと判定された該データバッファの
    データのみを、該誤り訂正符号の部分を飛び越して外部
    へ読み出し出力する読み出し手段をさらに有することを
    特徴とする請求項3または4記載のデータのエラー訂正
    装置。
  6. 【請求項6】 前記データ格納手段は、前記データと前
    記誤り訂正符号とがそれぞれ専用の領域に別々に格納さ
    れるデータバッファであり、前記エラー検出手段または
    前記エラー再検出手段によりエラーなしと判定された該
    データバッファのデータのみを外部へ読み出し出力する
    読み出し手段をさらに有することを特徴とする請求項3
    または4記載のデータのエラー訂正装置。
  7. 【請求項7】 前記データ格納手段は、前記データが格
    納されるデータバッファと、前記誤り訂正符号が格納さ
    れる格納部とからなり、該データバッファのデータのみ
    を外部へ読み出し出力する読み出し手段をさらに有する
    ことを特徴とする請求項3または4記載のデータのエラ
    ー訂正装置。
  8. 【請求項8】 前記エラー検出回路、エラー訂正回路お
    よびエラー再検出手段は、それぞれ同一のコントローラ
    用集積回路内に設けられていることを特徴とする請求項
    4記載のデータのエラー訂正装置。
  9. 【請求項9】 外部よりの命令に応じて記録媒体へのデ
    ータの記録と該記録媒体からのデータの再生とを制御す
    る中央処理装置と、記録するデータに基づいて誤り訂正
    符号を生成する誤り訂正符号生成回路と、該記録媒体か
    ら該データと誤り訂正符号とをそれぞれ再生する再生手
    段と、該再生手段により再生されたデータと誤り訂正符
    号をそれぞれ一時格納するデータ格納手段と、該データ
    格納手段から読み出した該データと誤り訂正符号とに基
    づいて該データのエラーを検出するエラー検出回路とを
    備える記録再生装置のデータのエラー訂正装置におい
    て、 エラー訂正後に該データ格納手段に記憶された該訂正後
    のデータおよび誤り訂正符号を読み出して再度エラー検
    出するエラー再検出手段を有すると共に、 前記中央処理装置は、前記エラー検出回路によりエラー
    があると検出されたデータを該データに付加された誤り
    訂正符号を用いて訂正して前記データ格納手段の訂正前
    と同じ領域に再度格納するエラー訂正機能と、前記エラ
    ー再検出手段によるエラー検出結果を判定する機能と、
    該エラー検出回路または該エラー再検出手段の出力検出
    結果によりエラー無しの判定をしたときは該データ格納
    手段に格納されているデータの読み出しを許可するデー
    タ転送コマンドを発行する機能とを有することを特徴と
    するデータのエラー訂正装置。
JP6055888A 1994-03-25 1994-03-25 データのエラー訂正方法および装置 Pending JPH07261943A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6055888A JPH07261943A (ja) 1994-03-25 1994-03-25 データのエラー訂正方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6055888A JPH07261943A (ja) 1994-03-25 1994-03-25 データのエラー訂正方法および装置

Publications (1)

Publication Number Publication Date
JPH07261943A true JPH07261943A (ja) 1995-10-13

Family

ID=13011657

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6055888A Pending JPH07261943A (ja) 1994-03-25 1994-03-25 データのエラー訂正方法および装置

Country Status (1)

Country Link
JP (1) JPH07261943A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100573356B1 (ko) * 1997-11-14 2006-12-01 사이러스 로직, 인크. 코드워드데이터를저장하기위한데이터버퍼와에러신드롬을저장하기위한신드롬버퍼를사용하는ecc시스템
US8704804B2 (en) 2005-10-05 2014-04-22 Japan Display West Inc. Display apparatus and display method
CN110688246A (zh) * 2018-07-06 2020-01-14 旺宏电子股份有限公司 集成电路及用以操作集成电路上的存储器的方法
US11379303B2 (en) 2020-06-17 2022-07-05 Kioxia Corporation Memory system and method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100573356B1 (ko) * 1997-11-14 2006-12-01 사이러스 로직, 인크. 코드워드데이터를저장하기위한데이터버퍼와에러신드롬을저장하기위한신드롬버퍼를사용하는ecc시스템
US8704804B2 (en) 2005-10-05 2014-04-22 Japan Display West Inc. Display apparatus and display method
CN110688246A (zh) * 2018-07-06 2020-01-14 旺宏电子股份有限公司 集成电路及用以操作集成电路上的存储器的方法
CN110688246B (zh) * 2018-07-06 2023-03-24 旺宏电子股份有限公司 集成电路及用以操作集成电路上的存储器的方法
US11379303B2 (en) 2020-06-17 2022-07-05 Kioxia Corporation Memory system and method

Similar Documents

Publication Publication Date Title
US8010879B2 (en) Error correction method and apparatus for data storage device
US4881232A (en) Method and apparatus for error correction
US6661591B1 (en) Disk drive employing sector-reconstruction-interleave sectors each storing redundancy data generated in response to an interleave of data sectors
US5408477A (en) Error correction method
JPH10207726A (ja) 半導体ディスク装置
JPS62217468A (ja) デイジタル情報の記録/再生方法及び装置
JP2000004170A (ja) 訂正検査方法及び訂正検査装置
JP2696212B2 (ja) 誤り訂正装置
JP3281387B2 (ja) Crc/edcチェッカシステム
JP3160448B2 (ja) データ訂正装置
JPH07261943A (ja) データのエラー訂正方法および装置
JP3170920B2 (ja) エラー訂正方法及び訂正回路
JP3275697B2 (ja) 記録再生装置
JP2605270B2 (ja) エラー訂正及びチエツク装置
JP2001144628A (ja) データ転送装置
JPH04186559A (ja) 磁気テープ読み取り制御方式
JP3740256B2 (ja) 誤り訂正符号復号化装置及び誤り訂正符号復号化方法
JPH038176A (ja) デジタルデータ記録用ベリファイ方法および装置
JP3246926B2 (ja) 誤り訂正処理装置
JP2561236B2 (ja) 誤り訂正装置
JPH0793913A (ja) 誤り訂正装置
JPH06112845A (ja) 誤り信号訂正装置
JP2001101020A (ja) 誤り訂正装置およびディスク装置
JPS63234460A (ja) フロツピ・デイスク装置の制御方式
JPS60217569A (ja) エラ−訂正符号復号方式