JP3366721B2 - 多数バイトのエラー訂正装置 - Google Patents

多数バイトのエラー訂正装置

Info

Publication number
JP3366721B2
JP3366721B2 JP04069694A JP4069694A JP3366721B2 JP 3366721 B2 JP3366721 B2 JP 3366721B2 JP 04069694 A JP04069694 A JP 04069694A JP 4069694 A JP4069694 A JP 4069694A JP 3366721 B2 JP3366721 B2 JP 3366721B2
Authority
JP
Japan
Prior art keywords
error
error correction
byte
sub
detection
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
Application number
JP04069694A
Other languages
English (en)
Other versions
JPH07248930A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP04069694A priority Critical patent/JP3366721B2/ja
Priority to US08/356,159 priority patent/US5610929A/en
Publication of JPH07248930A publication Critical patent/JPH07248930A/ja
Application granted granted Critical
Publication of JP3366721B2 publication Critical patent/JP3366721B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Error Detection And Correction (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディスク装置などの記
憶装置に記録した符号語を読み取る際に生じる読み取り
エラーを訂正するエラー訂正装置に関し、特に、リード
・ソロモン符号を用いて一度に複数バイトのエラー訂正
ができる多数バイトエラーの訂正装置に関する。
【0002】
【従来の技術】従来、計算機システムの外部記憶装置を
構成するサブシステムにあっては、入出力制御装置(inp
ut/output control unit) との配下に入出力装置として
のディスクユニットを接続している。このような外部記
憶記憶装置で用いられるエラー訂正システムは、下位の
ディスクユニットにおいて記憶媒体から読出したデータ
やシンドロームを上位の入出力制御装置に送って一旦メ
モリへ保持し、ディスクユニットからエラー検出の通知
を受けた場合に、訂正動作を行うようにしている。この
ようなエラー訂正システムは、据え置き型として知られ
ている。
【0003】これに対し下位のディスクユニットで記憶
媒体から読出したデータやシンドロームを上位の入出力
制御装置に送ってメモリへ保持しておくことはせず、デ
ータ転送中、即ち、磁気ディスクユニットの場合には、
データの存在するトラック上をヘッドが飛行中(On-the
-fly) に、データを上位の入出力制御装置に向けて流し
ながら訂正動作を行うオン・ザ・フライ態様のエラー訂
正システムがある。
【0004】このようなオン・ザ・フライ態様のエラー
訂正システムは、入出力制御装置でのメモリ格納を必要
とせず、データ転送を行いながらエラー訂正を行うた
め、入出力装置の専有時間が短く、ディスク同期を崩さ
なくて済むため、すぐに次の動作に移れる。また訂正可
能エラーが下位のディスクユニットで訂正された後に上
位の入出力制御装置に送られるため、エラーなしの場合
と同じ扱いになる等の多くのメリットがある。
【0005】
【発明が解決しようとする課題】ところで、据置き型の
エラー訂正システムにあっては、下位のディスクユニッ
トからのエラー情報によって上位の入出力制御装置が訂
正可能か訂正不可能か、エラー位置、エラーのあったデ
ータサブブロックの位置などを知ることができる。
【0006】しかしながら、オン・ザ・フライ態様のエ
ラー訂正システムでは、訂正可能なエラーについては下
位のディスクユニットでエラー訂正が行われてしまうた
め、リードエラーが発生しても、訂正可能であったこと
すら上位の入出力制御装置には見えず、下位ユニットで
行っているエラー訂正の状況を把握できない問題があっ
た。
【0007】本発明は、このような従来の問題点に鑑み
てなされたもので、オン・ザ・フライ態様のデータ訂正
であっても、上位の入出力制御装置ユニットで下位の入
出力装置におけるエラー訂正の状況が適確に把握できる
ようにした多数バイトエラーの訂正装置を提供すること
を目的とする。また従来のエラー訂正システムにおいて
は、訂正能力を越えたエラーが発生した場合に誤訂正や
未検出が生じる可能性がある。特に磁気ディスク装置の
ようなユーザーデータを読み書きするシステムでは、い
わゆるデータ化けが発生し、システムの信頼性を著しく
損ねてしまう。
【0008】本発明の他の目的は、エラー訂正符号の他
にエラー検出符号を設けることにより、エラーの未検出
や誤訂正を認識できるようにした多数バイトのエラー訂
正装置を提供する。一方、エラー訂正システムでエラー
を訂正する方法の一つとしてチェン・サーチという方法
が一般に知られている。このチェン・サーチの方法は、
データを転送しながら迅速にエラー訂正するオン・ザ・
フライのような場合に特に有効である。
【0009】すなわち、チェン・サーチは、エラーロケ
ーション多項式、
【0010】
【数1】
【0011】を用いて、符号語全体にわたりサーチを行
い、この式の値が零か非零かで誤りの位置を検出すると
いうものである。この式の係数βはシンドロームを係数
にもつn元連立方程式を解くことにより得られる。迅速
にエラーを訂正するオン・ザ・フライ態様のエラー訂正
システムでは、符号語の読み取によりシンドロームを得
てから、エラーを訂正できる状態にしてデータを送り出
すまでに、一つの符号語分程度の遅延しか認められな
い。そのため、n元連立方程式を解く演算回路は、組み
合わせ回路によって実現する必要がある。
【0012】更に詳細に説明すると、磁気ディスク装置
のような入出力装置では、高記録密度・高転送レートが
開発の主眼になっている。高記録密度によるデータ読み
取りエラーに対処するため、リード・ソロモン符号のよ
うな強力な符号を用いたエラー訂正システムが実用化さ
れている。しかし従来のエラー訂正システムでは処理に
時間がかかり、転送レートが犠牲になっている。この問
題を解決するため、特開昭59−123945号の多数
バイトエラー訂正システムが知られている。
【0013】しかし、この多数バイトエラー訂正システ
ムでは、n個のバイトエラーを訂正するにはn元連立方
程式を解いてエラーロケーション多項式の係数β0 〜β
n-1を求める回路が必要である。ここで、nは訂正可能
な最大エラーバイト数を示す定数である。これに対し、
tは実際に発生したエラーバイト数を示す変数として定
義される。
【0014】文字係数を持つn元連立方程式を求めるた
めには、Cramer公式を用いるのが一般的である。この場
合、n元連立方程式をn行n列の行列式に展開する必要
がある。行列式を展開した後に得られる項数はn!とな
る。このため、n=3バイトのエラー訂正能力では、項
数は6個であり、回路規模も実用可能な範囲に入る。し
かし、n=6バイトのエラー訂正能力を得る場合には、
項数は720個にもなり、回路も複雑で膨大なものとな
る。
【0015】本発明の別の目的は、任意のnバイトの訂
正能力に要求されるn元連立方程式の解を比較的簡潔な
回路構成で実現可能とし、更に、数学的関係を用いて回
路量を極力減らすようにした多数バイトのエラー訂正装
置を提供する。
【0016】
【課題を解決するための手段】図1は本発明の原理説明
図である。本発明の多数バイトのエラー訂正装置は、リ
ード・ソロモン符号として知られた符号(以下「符号語
という)を用いてエラー訂正を行う。この符号語は、任
意の自然数mで定義されるガロア体GF(2m)の元で
構成される。ディスク媒体などの記憶装置からリードさ
れた符号語は、αa , αa+1 ,・・・αa+2n-1(αは前
記ガロア体の原始元、aは任意の自然数でa+2n−1
≦2m −1、nは最大訂正可能なエラーバイト数を示す
定数)を解にもつ生成多項式によってシンドロームを生
成し、符号中のn個までのバイトエラーを、2n個のシ
ンドロームバイトを処理することにより訂正する。
【0017】磁気ディスク装置などの入出力装置におけ
るリードエラーの訂正では、例えばn=3個までのバイ
トエラーを訂正する場合が最適な例として取扱われてい
る。この場合は、符号語はガロア体GF(28 )の元で
構成される。すなわち符号語は、28 =256個のキャ
ラクタポジションを有し、各キャラクタの各々がm=8
個の2元ビットのバイトで現わされる。勿論、本発明は
n=3個を越えるバイトエラーの訂正も対象とする。
【0018】また本発明は図1(A)に示すように、オ
ン・ザ・フライ(On-the-fly)態様によって下位側で行
っているエラー訂正の状況を、上位の入出力制御装置で
適確に把握できようにする。すなわち、本発明は、ディ
スクユニット等の入出力装置の記憶媒体に記録された符
号語を読出し、データ訂正符号デコード手段30でデー
タ転送を行いながらエラー訂正を行う。
【0019】n=3個のバイトエラーを訂正するリード
・ソロモン符号によるエラー訂正を例にとると、エラー
訂正符号デコード手段30は、次の演算処理を行う。 符号語(サブブロック)からシンドロームS0 〜S5
を計算する。 シンドロームS0 〜S5 に基づいてエラーロケーショ
ン多項式の係数β0 〜β2 を決定する。
【0020】チェンサーチにより、エラーロケーショ
ン多項式からエラーロケーションを決定する。 エラー訂正の準備に必要な時間(のシンドロームの
計算に必要な時間)だけ遅延させたリードデータと、エ
ラーロケーションのタイミングで出力されたエラー訂正
用バリュウとの排他論理和(EX−OR)をとってデー
タ転送をしながらエラーを訂正する。
【0021】このようなエラー訂正符号デコード手段3
0に対し本発明にあっては、エラー訂正符号デコード手
段30においてリード動作時の エラーなし、 訂正可能エラーあり、又は 訂正不可能エラーあり、 のいずれかの状態を検出する。そして制御プロセッサ手
段18のステータス報告手段75によって、1レコード
分ユーザデータの記憶媒体からのリード直後に上位のデ
ィスク制御装置12に検出された3状態のいずれかを報
告可能することを特徴とする。
【0022】ここで、ステータス報告手段75は、エラ
ー訂正符号デコード手段30により決定されたリード動
作時のエラーなし、訂正可能エラーあり又は訂正不可能
エラーありのいずれかの状態を示すステータス情報を制
御プロセッサ手段18で読取り、1レコード分のユーザ
データの記憶媒体からのリード直後に上位のディスク制
御装置12に報告可能とする。
【0023】また訂正状態検出手段48は、訂正済みサ
ブブロックを検出する訂正済みサブブロック検出手段5
2と、誤訂正サブブロックを検出する誤訂正サブブロッ
ク検出手段56と、エラーの未検出または誤訂正による
異常動作を検出する異常動作監視手段64で構成され
る。ここで、訂正済みサブブロック検出手段52、誤訂
正サブブロック検出手段56および異常動作監視手段6
4の各々は、記憶媒体からリードされるユーザデータが
1又は複数の符号語に対応したサブブロックで構成され
ていることから、サブブロックのリード終了ごとに検出
状態を制御プロセッサ手段18で読取って上位のディス
ク制御装置12に報告可能とする。
【0024】また訂正済みサブブロック検出手段52
は、エラー訂正符号デコード手段30によるサブブロッ
クの訂正処理中に、エラー訂正のタイミングで出力され
たエラーロケーション信号をサブブロックの訂正終了ま
でラッチして制御プロセッサ手段18に出力する。この
ため制御プロセッサ手段18は、サブブロックの転送終
了タイミングに同期して訂正済みサブブロック検出手段
52の検出信号を読込み、上位のディスク制御装置12
にステータス情報として報告可能とする。
【0025】誤訂正サブブロック検出手段56は、エラ
ー訂正符号デコード手段30においてシンドロームS0
〜S5 からエラーロケーション多項式の係数β0 〜β2
を求める過程で計算されるエラー数と、エラーロケーシ
ョン多項式から決定されるエラー数を比較し、両者が不
一致の場合に誤訂正があることを検出してサブブロック
単位に制御プロセッサ手段18に出力する。
【0026】異常動作監視手段64は、訂正済みサブブ
ロック検出手段52の検出出力、およびエラー訂正符号
デコード手段30で求めた訂正不可エラーと非零シンド
ロームの検出結果に基づいて、エラー訂正符号デコード
手段30の訂正異常動作を検出する。具体的には、異常
動作監視手段64は、非零シンドロームが未検出で且つ
訂正可能エラーを検出した場合、非零シンドロームが未
検出で且つ訂正不可エラーを検出した場合、訂正可能エ
ラーおよび訂正不可エラーが未検出で非零シンドローム
を検出した場合、のいずれかを判別して異常動作を検出
する。
【0027】また本発明は、エラー訂正デコード手段3
0によるエラーの未検出や誤訂正を検出するため、書込
データに対するエラー訂正用エンコード手段22による
エラー訂正符号の作成に並行してエラー検出用エンコー
ド手段38でエラー検出符号を生成する。エラー検出符
号は、図1(B)示すように、エラー訂正用エンコード
手段22から出力されるユーザデータを構成する1又は
複数のサブブロックの後にエラー検出用チェックバイト
(EDCチェックバイト)D1 , D2 ,・・・,Dn
設けたものである。エラー検出用チェックバイトD1 ,
2 ,・・・,Dn は、エラー訂正用エンコード手段2
2に対するユーザデータをエラー検出用エンコード手段
38に並列的に入力して生成する。
【0028】読出ユーザデータは、エラー訂正用デコー
ド手段30によるエラー訂正を行った後に、上位の入出
力制御装置18に転送すると同時にエラー検出符号デコ
ード手段40に入力する。エラー検出符号デコード手段
40は、訂正済みのユーザデータを入力してシンドロー
ムを生成処理し、エラー訂正用デコード手段30におけ
る誤訂正又は未検出を含む訂正誤動作を検出し上位の入
出力制御装置18に報告する。このエラー検出処理はエ
ラー訂正符号デコード手段(30)と直列に行なわれ
る。
【0029】エラー検出符号エンコード手段38は、1
次の生成多項式により符号語長が異なるように複数のエ
ラー検出用チェックバイトD1 , D2 ,・・・,Dn
生成する。すなわち、
【0030】
【数2】
【0031】として生成する。エラー検出符号エンコー
ド手段38は、具体的には、エラー検出用チェックバイ
トD1 , D2 ,・・・,Dn の各々ごとに、ユーザデー
タを構成するサブブロック分の書込バイトデータCn
1 を入力し、1次の生成多項式に従った前回の計算結
果との排他論理和を排他論理回路で求める。次に乗算回
路で排他論理和回路の出力に1次多項式の定数αn を乗
算する。最後に乗算回路の出力をラッチ回路で次のバイ
トデータの入力時までラッチして排他論理和回路に帰還
入力する。このループ演算を符号中の全バイトデータに
ついて繰り返す。
【0032】またエラー検出符号エンコード手段38
は、エラー検出用チェックバイトD1, D2 ,・・・,
n の中の半分の生成について、各サブブロックの中の
エラー訂正用チェックバイト(ECCチェックバイト)
の一部を、1次生成多項式の計算対象から除くようにす
る。これはガロア体GF(2m )の元の指数はMOD2
m −1で演算され、2m −1の周期をもつ。このため2
m −1バイト隔てた位置に同じエラーパターンがある
と、エラーが消えてしまい検出できない。
【0033】GF(28 )の元の場合は、254バイト
隔てた位置に同じエラーパターンがあると、エラーが消
失してしまう。これを回避するために、各サブブロック
の中のエラー訂正用チェックバイトの一部を除くように
する。またエラー検出用エンコード手段38は、サブブ
ロック中のエラー訂正用チェックバイトを零としてエラ
ー検出用のチェックバイトD1 , D2 ,・・・,Dn
生成する。これはデータ部のみが保証されればよいため
であり、サブブロック中のエラー訂正用チェックバイト
は無視する。
【0034】一方、リード系統のエラー検出符号デコー
ド手段40は、エラー訂正が済んだユーザデータとエラ
ー検出用チェックバイトを入力するごとに、1次の生成
多項式によりチェックバイトD1 , D2 ,・・・,Dn
に対応したn個の符号語長の異なるデータから複数のシ
ンドロームSD1 , SD2 ,・・・,SDn を生成す
る。そして誤動作検出手段でシンドローム生成手段で生
成したシンドロームSD 1 , SD2 ,・・・,SDn
各々のが零か非零かを検出し、非零が所定数以上の場合
に、エラー訂正用デコード手段30の実検出または誤訂
正による誤動作として上位の入出力制御装置18に通知
する。
【0035】エラー検出符号デコード手段40における
シンドロームSD1 , SD2 ,・・・,SDn の生成
は、エラー検出符号エンコード手段38におけるエラー
検出用チェックバイトD1 , D2 ,・・・,Dn の生成
と同じになる。さらに本発明は、図1(C)に示すよう
に、エラーロケーション多項式の係数βを求めるn元連
立方程式を比較的簡潔な回路構成で解くことのできる演
算回路手段を提供する。
【0036】まずエラー訂正手段82は、符号語を読込
んで2n個のシンドロームを生成するシンドローム生成
手段84と、シンドローム生成手段84で求めた2n個
のシンドロームS0 〜S2n-1を用いて、エラーロケーシ
ョン多項式の係数βk (k=0〜n−1)を、n元連立
方程式の解から求める係数生成手段86とを備える。本
発明にあっては、.係数演算手段200により、n−1
元連立方程式の解を決定する値γn-1,0 〜γn-1,n-1
n+1個のシンドロームからn元連立方程式の解βk
決定する値γn0〜γnnを得るため、n個のn元演算回路
手段200−1〜200−nを、1元からn元まで順に
繋げて任意のエラーバイト数tに対するt元連立方程式
の解βを決定する値γを得る。
【0037】図1(C)はt=3バイトのエラー訂正を
示しており、1元演算手段200−1、2元演算手段2
00−2、および3元演算手段200−3の組合せ回路
で構成される。t=3バイトの場合、1元組合せ回路2
00−1はシンドロームS0 , S1 を入力し、γ10,γ
11をシンドロームS2 ,S3 と共に2元組合せ回路手段
200−2に入力する。
【0038】また2元組合せ回路200−1は、γ20
γ21,γ22をシンドロームS2 〜S 5 を3元組合せ回路
手段200−3に入力する。3元組合せ回路手段200
−3はγ30,γ31,γ32,γ33を出力する。係数選択演
算手段202は、係数演算手段200の出力からエラー
数tを認識し、エラー数tに対応したn元連立方程式の
正則性から係数β0 〜βt-1 を演算する。γnnが非零で
あれば、nバイトのエラーをもつことが判る。例えばt
=3の場合、3元演算手段200−3の出力γ30〜γ33
を選択し、 β0 =γ30/γ33 β1 =γ31/γ33 β2 =γ32/γ33 を求める。
【0039】n元演算手段200−1〜200−nの各
々は、2つのシンドロームを乗算する複数の乗算回路
と、複数の乗算回路の排他論理和を求める排他論理和回
路で構成される。そして、乗算器群へ2t個のシンドロ
ームSの内のシンドロームSt- 1+i(i=0〜t)を選
択して入力させる。さらに複数のn元演算手段200−
1〜200−nの各々に設けた異なる2つの乗算回路へ
のシンドローム入力が同値に決定されることに基づき、
2つの乗算回路の入力を共通化するように構成する。
【0040】
【作用】このような第1図(A)の多数バイトのエラー
訂正装置によれば、磁気ディスク装置等の下位の入出力
装置に設けたエラー訂正ユニットにおけるエラーなし、
訂正可能エラーあり、訂正不可エラーありの各状態をユ
ーザデータのリードごとに上位のディスク制御装置で認
識することができる。このためオン・ザ・フライ態様で
あっても外部から入出力装置内での訂正動作を知ること
ができ、また訂正動作を監視できるので、システムの信
頼性が向上する。
【0041】また、データ書込時に、図1(B)に示す
ように、エラー訂正符号をエンコードしたユーザデータ
の後にエラー検出用チェックバイトの付加して書込むこ
とで、データ読出時に、エラー訂正済みのユーザデータ
とエラー検出用チェックバイトを解読することで、エラ
ー訂正時の未検出および誤訂正を検出することができ
る。
【0042】このためエラー訂正における誤訂正や誤検
出を上位の入出力制御装置に通知することで、リトライ
処理を行うことでき、装置の信頼性を向上することがで
きる。さらに、また図1(C)の場合には、係数βk
値求めるためのn元連立方程式を解くための行列式の数
学的展開を工夫することで、回路規模を大幅に低減でき
る。このためn=3バイトエラーという最も一般的なエ
ラー訂正能力の実現は勿論のこと、例えばn=6バイト
エラーというような従来は回路規模が膨大となって実用
化が困難であった多数バイトのエラー訂正能力を、簡潔
な回路構成で実現できる。
【0043】
【実施例】
<目 次> 1.ハードウェア構成 2.エラー訂正状態の検出報告 3.エラー訂正符号デコード回路の詳細 4.エラー検出符号(EDC)を用いた未検出・誤訂正
の監視 5.エラーロケーション方程式の係数を得るn元連立方
程式の演算回路 1.ハードウェア構成 図2はオン・ザ・フライ態様でデータ転送を行いながら
エラー訂正を行う本発明のエラー訂正装置の基本的な構
成を示す。
【0044】図2において、10は下位の入出力装置と
なるディスクユニットであり、ディスクエンクロージャ
14,エラー訂正部16およびフォーマッタ制御プロセ
ッサ18で構成される。ディスクユニット10は入出力
制御装置であるディスクコントローラ12の配下に接続
されている。ディスクコントローラ12はホストコンピ
ュータのチャネル装置に接続される。ホストコンピュー
タからの入出力要求に基づきディスクコントローラ12
にライトまたはリードのアクセス要求が行われると、デ
ィスクコントローラ12はまずディスクユニット10に
シークコマンドを発行して切離す。フォーマッタ制御プ
ロセッサ18はディスクエンクロージャ14に設けてい
るヘッド機構のシーク動作を行って、目的とするトラッ
クにヘッドを位置付ける。
【0045】ディスクユニット10よりシーク完了報告
を受けるとディスクコントローラ12との再結合が行わ
れ、ライトデータの転送による書込みまたはディスク媒
体からのデータ読出しによるリード動作が行われる。エ
ラー訂正部16はライト動作の際には、リード・ソロモ
ン符号を生成するエンコード動作を行う。またリード動
作時には、リードデータを転送しながらのオン・ザ・フ
ライ態様のエラー訂正(デコード動作)が行われる。
【0046】図3は図2のディスクユニット10に設け
られたエラー訂正部16の実施例を示す。まずライト系
統を説明する。フォーマッタ制御プロセッサ18からの
ライトデータは、ゲート20を通ってエラー訂正用エン
コーダ22に入力される。この実施例にあっては、訂正
能力n=3バイトのエラーを訂正するリードソロモン符
号を使用する場合を例にとっている。ここでライトデー
タは、8ビット幅のバイトデータのストリームとして供
給される。
【0047】エラー訂正用エンコーダ22は、ガロア体
GF(28 )で構成されるエラー訂正符号のチェックバ
イト(以下「ECCチェックバイト」という)を生成す
る。この場合の生成多項式は、ガロア体の元α0
α1 ,α2 ,α3 ,α4 ,α5 を解にもつ。具体的に生
成多項式は、
【0048】
【数3】
【0049】となる。エラー訂正用エンコーダ22によ
りデータ部から生成されたECCチェックバイトは、デ
ータの後に付加され、マルチプレクサ24,36を介し
てディスクエンクロージャ14にライトデータとして出
力され、ディスク媒体に書き込まれる。
【0050】この実施例において、エラー訂正用エンコ
ーダ22は、入力するユーザデータを偶数バイトと奇数
バイトに分けるサブブロックを構成するインタリーブを
行った後に、各サブブロック毎にECCチェックバイト
を生成して付加し、出力段で元に戻している。図4はエ
ラー訂正用エンコーダ22におけるインタリーブを示
。ユーザデータはバイト分けした番号で示されてい
る。このユーザデータは偶数バイトと奇数バイトにイン
ターリーブされ、偶数サブブロック42−1と奇数サブ
ブロック42−2の繰り返しとなる。サブブロックの符
号長は最大で例えば255バイトとなり、その範囲内で
適宜に定めることができる。サブブロック42−1,4
2−2の後には、エラー訂正用エンコーダ22によって
チェックバイトECCが6バイト付加される。エラー訂
正用エンコーダ22は、出力時にインタリーブと逆の操
作で元に戻したデータを出力する。このためサブブロッ
ク42は見掛け上、最大で500バイトデータと12バ
イトのECCチェックバイトから構成されている。
【0051】更に、ディスクユニット10は、CKDレ
コードフォーマットを採用していることから、レコード
長は可変であり、1レコード長はユーザデータの長さで
決まる。したがって、ユーザデータのサブブロック数
も、ユーザデータの長さによって変わる。更に、最後の
サブブロックは、ユーザデータに合わせるために、固定
サブブロック長の範囲で長さが変化する可変長サブブロ
ックとなる場合がある。次に図3のリード系統を説明す
る。ディスクエンクロージャ14側から読み出された生
のリードデータ、即ちサブブロック単位の符号語は、ゲ
ート28を介してエラー訂正用デコーダ30に入力され
る。
【0052】同時に、ゲート28からのリードデータは
分岐されてFIFOバッファメモリ32に格納される。
FIFOバッファメモリ32はエラー訂正用デコーダ3
0における訂正動作に必要な1サブブロック分以内の遅
延を行う。エラー訂正用デコーダ30はリードデータの
サブブロックに含まれる2つの符号語を対象に、n=3
バイトまでのエラーを訂正する強力なエラー訂正を行
う。エラー訂正用デコーダ30からは排他論理和回路3
4に対し、サブブロック内のエラー・ロケーションのバ
イトタイミングでエラー訂正バリュウが出力され、同じ
タイミングでFIFOバッファメモリ32により出力さ
れる訂正前のバイトデータとの排他論理和をとること
で、エラーを起こしているバイトのエラービットを反転
してエラー訂正を行う。
【0053】排他論理和回路34でエラーが訂正が行わ
れたクリアデータは、マルチプレクサ36を介して訂正
済みユーザデータとしてフォーマッタ制御プロセッサ1
8を経由して上位のディスクコントローラ12に転送さ
れる。このようなリードデータのオン・ザ・フライ態様
によるエラー訂正にあっては、ディスクエンクロージャ
14側からのリードデータのバイトストリームが途切れ
ることがなく、フォーマッタ制御プロセッサ18側に流
れながらn=3バイトまでの同時訂正を可能としてい
る。
【0054】更に図3にあっては、エラー訂正用デコー
ダ30における異常動作としての未検出および誤訂正を
データ検出符号(EDC)を用いて監視するため、ライ
ト系統にエラー検出用エンコーダ38を設け、またリー
ド系統にはエラー検出用デコーダ40を設けている。図
5は本発明におけるエラー検出用のチェックバイトを付
加したユーザデータを示す。ユーザデータは可変長デー
ダであり、データ長に応じたn個のサブブロック42−
1〜42−nで構成されている。サブブロック42−1
〜42−2は、エラー訂正用エンコーダ22から出力さ
れることから、最大500バイトのデータ部と12バイ
トのECCチェックバイトで構成される。
【0055】このようなエラー訂正用エンコーダ22か
ら出力されるユーザデータの後には、エラー検出用エン
コーダ38で生成したエラー検出用チェックバイト部
(以下「EDCチェックバイト部」という)44が付加
される。このエラー検出用エンコーダ38およびエラー
検出用デコーダ40の詳細は、後の説明で明らかにす
る。
【0056】リード系のエラー訂正デコーダ30に対し
ては、ステータス検出部46と訂正状態検出部48が設
けられる。ステータス検出部46は、エラー訂正デコー
ダ30におけるリード時の訂正動作において決定された
エラーなしを示すステータス信号E12、訂正可能エラ
ーありを示すステータス信号E13、又は訂正不可能エ
ラーありを示すステータス信号E14を、1レコード分
のユーザデータの記憶媒体からのリード直後にフォーマ
ッタ制御プロセッサ18に読み取らせる。
【0057】フォーマッタ制御プロセッサ18は、上位
のディスクコントローラ12からのステータスコマンド
を受領すると、エラーなし、訂正可能エラーあり、又は
訂正不可能エラーありのステータス情報を応答する。こ
のためオン・ザ・フライ態様であっても上位のディスク
コントローラ12でディスクユニット10内での訂正動
作を知ることができ、また訂正動作を監視できる訂正状
態検出部48は、上位のディスクコントローラ12に対
しフォーマッタ制御プロセッサ18のロギング機能を使
用して訂正済みサブブロック検出信号E 1 ,誤訂正サブ
ブロック検出信号E2 および異常動作検出信号E3 を通
知できる。訂正済みサブブロック検出信号E1 はエラー
訂正用デコーダ30で訂正可能なエラーが検出されて訂
正したことを示す。また誤訂正サブブロック検出信号E
2はエラー訂正用デコーダ30で訂正不可能なエラーが
あったことを示す。
【0058】更に、異常動作検出信号E3 はエラー訂正
用デコーダ30においてエラー未検出やエラー誤訂正の
異常動作が行われたことを示す。更に、エラー訂正用デ
コーダ30からはエラー訂正動作の際に計算されたシン
ドロームS0 〜S5 がフォーマッタ制御プロセッサ18
を経由して上位のディスクコントローラ12に出力され
ている。 2.エラー訂正状態の検出と報告 図6は図2のエラー訂正部16の詳細をフォーマッタ制
御プロセッサ18および上位のディスクコントローラ1
2と共と共に示す。
【0059】図6において、まずエラー訂正用デコーダ
30はリードデータのバイトストリームを入力し、サブ
ブロック単位にエラー訂正動作を行う。この実施例にお
いて、エラー訂正用デコーダ30は各種の論理素子を用
いた大規模集積回路で実現される。エラー訂正用デコー
ド30はサブブロック分のリードデータを入力して、ま
ずサブブロック単位の符号語ごとシンドロームS0 〜S
5 を計算する。同時にFIFOバッファメモリ32に入
力されたバイトデータは、エラー訂正デコーダ30でシ
ンドロームS0 〜S5 の計算にサブブロックのバイトデ
ータを必要とすることから、1サブブロックの転送時間
分だけ遅延される。
【0060】シンドロームS0 〜S5 の計算が済むと、
排他論理和回路34に、入力から1サブブロック分遅延
されたバイトデータが符号語の先頭から順次出力され
る。このバイトデータの転送に同期し、エラーロケーシ
ョン多項式の係数β0 〜β2 から特定されるエラーロケ
ーションのバイトデータの転送タイミングで、エラー訂
正符号として求めているエラーバリュウが排他論理和回
路34に出力される。
【0061】このため排他論理和回路34は、FIFO
バッファメモリ32より出力されたバイトデータの中の
エラービットをエラーバリュウに従って反転し、訂正す
る。勿論、エラーロケーション以外のバイトデータはそ
のまま排他論理和回路34を通過する。エラー訂正用デ
コーダ30に対しては訂正状態検出部48が設けられ
る。訂正状態検出部48は、訂正済みサブブロック検出
部52、誤訂正サブブロック検出部56および異常動作
監視部64で構成される。
【0062】訂正済みサブブロック検出部52はラッチ
回路54を備える。ラッチ回路54のセット端子Sに
は、エラー訂正符号デコード回路30で決定された転送
サブブロックの中のエラーバイト位置のタイミングでエ
ラー位置検出信号E4 が出力される。一方、ラッチ回路
144のリセット端子Rにはサブブロックの終端を示す
サブブロックエンド信号E5 が入力されている。
【0063】図7のタイミングチャートは、図6の訂正
済みサブブロック検出部52の動作を示す。図7(A)
はFIFOバッファメモリ32に対する入力データを示
し、最大で500バイトとなるデータ部と、12バイト
のECCチェックバイト部で2つの符号語を含むサブブ
ロック42を構成している。図7(B)のFIFO出力
は、エラー訂正符号デコード回路30におけるシンドロ
ームの計算時間分だけ遅れた例えば1サブブロック分経
過した後となる。
【0064】ここで、サブブロック42のデータ部の任
意のバイト位置にエラー45が存在していたとする。図
7(C)はサブブロックエンド信号E5 であり、FIF
O出力に同期したサブブロックの終端の時刻t0,t
1,t3でイネーブルとなる。図7(D)に示すエラー
位置検出信号E4 は、FIFO出力におけるデータブロ
ック42の中のエラーバイト45が出力されたタイミン
グでエラーバリュウを排他論理和回路34に出力するた
めに、時刻t2でイネーブルとなる。
【0065】このエラー位置検出信号E4 の出力に対
し、ラッチ回路54はその立下がりでラッチ動作を行
い、ラッチ出力として訂正済みサブブロック検出信号E
1 をフォーマッタ制御プロセッサ18に出力する。フォ
ーマッタ制御プロセッサ18は図7(F)に示すよう
に、サブブロックエンド信号E5 の立ち上がる時刻t
0,t1,t3のそれぞれで訂正済みサブブロック検出
信号E1 を図6の訂正済みサブブロック検出レジスタ7
2に読み込んでロギングしている。時刻t0,t1につ
いては、エラー位置検出信号E4 がイネーブルとなら
ず、ラッチ出力0得られないことから、フォーマッタ制
御プロセッサ18はエラーなしを読み込む。
【0066】これに対し時刻t3にあっては、ラッチ出
力の読込みで対応するサブブロックについてエラー位置
検出信号E4 がイネーブルになったことを認識し、この
サブブロックには訂正可能なエラーがあり、訂正済みサ
ブブロックであることを認識できる。フォーマッタ制御
プロセッサ18で読み込まれた訂正済みサブブロックの
検出情報は、上位のディスクコントローラ12からの要
求でロギングデータとして転送され、保守情報などに利
用することができる。
【0067】再び図6を参照するに、誤訂正サブブロッ
ク検出部56は、カウンタ58,階数エンコーダ60お
よび比較器62で構成される。カウンタ58はサブブロ
ックごとにエラー訂正符号デコード回路30より出力さ
れるエラーロケーションを示すエラー位置検出信号E4
を計数する。この実施例はn=3個までのバイトエラー
の訂正能力を例にとることから、カウンタ58で計数す
るエラー位置検出信号E4 の回数は1符号語当り最大で
3となる。
【0068】階数エンコーダ60はエラー訂正符号デコ
ード回路30におけるエラーロケーションの多項式の係
数β0 〜β2 を求める過程で、ハードウェアによって計
算される階数を検出する。比較器62はカウンタによる
エラー数と階数エンコーダ60によるエラー数とが不一
致となったとき、訂正不可能なエラー状態にあるものと
して、誤訂正サブブロック検出信号E2 をフォーマッタ
制御プロセッサ18の訂正不可エラー検出レジスタ74
に読込んでロギングさせる。
【0069】ここで、エラー訂正符号デコード回路30
において訂正不可能なエラー状態の数学的意味を説明す
る。エラー訂正符号デコード回路30において、シンド
ロームS0 〜S5 から計算した係数β0 〜β2 をもつエ
ラーロケーション多項式が
【0070】
【数4】
【0071】を因数にもってしまった場合、位置L1
2 でエラーロケーション多項式が0となり、誤訂正を
行う。このエラーロケーション多項式の出力がエラー位
置検出信号となる。このような誤訂正を検出する方法は
次のようになる。まずエラーロケーション多項式の係数
はシンドロームS0 〜S5 から計算される。エラー位置
がi1 ,i2 ,i3 であるとすると、エラーロケーショ
ン多項式は
【0072】
【数5】
【0073】となる。訂正可能なn=3個のエラーパタ
ーンをEi1,Ei2,Ei3、6個のシンドロームをS0
1 ,S2 ,S3 ,S4 ,S5 とすると、次のように表
わすことができる。
【0074】
【数6】
【0075】また(1)式にX=αi (但し、i=
1 ,i2 ,i3 )を代入すると、次のようになる。
【0076】
【数7】
【0077】この(2)式と(3)式からエラーパター
ンEとαを消去すると、次の関係式が得られる。
【0078】
【数8】
【0079】この(4)〜(6)式の左辺の行列の階数
によりエラーの数が決まる。図6の誤訂正サブブロック
検出部56に設けた階数エンコーダ60は、エラー訂正
符号デコード回路30のエラーロケーション多項式、即
ち(4)(5)式の左辺の行列の階数(ランク)を解読
してエラー数を検出する。この階数エンコーダ60から
の行列の階数に基づくエラー数と、カウンタ58で計数
しているエラー位置検出信号がイネーブルとなった回数
を比較器62で比較し、両者が不一致となったときに誤
訂正を検出し、誤訂正サブブロック検出信号E2 を出力
する。
【0080】このカウンタ58と階数エンコーダ60に
よるエラー数の相違は、エラー訂正符号デコード回路3
0の訂正能力を越えたエラーが発生した場合に起こる可
能性がある。一方、カウンタ58と階数エンコーダ60
のエラー数が一致した場合やエラー未検出の場合には、
訂正不可サブブロック検出部56では検出できず、サブ
ブロックは特定できない。
【0081】この場合についてはサブブロックの訂正不
可エラーの検出ではなく、排他論理和回路34から出力
されている訂正済みのクリアデータに基づいたエラー検
出用デコーダ40におけるエラー検出符号EDCを用い
たエラー検出で対応する。異常動作監視部64はオア回
路66,68および排他論理和回路70で構成される。
オア回路66にはエラー訂正符号デコード回路30から
のシンドロームS 0 〜S5 の6つが並列的に入力され、
48ビットとなる全ビットの論理和をとり、非零シンド
ロームを検出する。即ち、エラーがあることをシンドロ
ームの非零によって検出している。このシンドロームS
0 〜S5 の出力は、FIFOバッファメモリ32からの
出力と同時に行われる。
【0082】一方、オア回路68には訂正済みサブブロ
ック検出部52からの訂正済みサブブロック検出信号E
1 と、エラー訂正デコーダ30からのFIFO出力に同
期して出力される訂正不可能サブブロック検出信号E20
が入力されている。排他論理和回路70はオア回路66
と68の排他論理和をとり、これを異常動作検出信号E
3 としてフォーマッタ制御プロセッサ18の異常動作検
出レジスタ76に出力する。この異常動作監視部64は
訂正可能エラー検出結果E1 ,訂正不可エラー検出結果
20およびシンドローム非零の検出結果E6 に基づき、
少なくとも次表の条件が成立したときに排他論理和回路
70から出力される異常動作検出信号E 3 がイネーブル
となる。
【0083】
【数9】
【0084】更に、エラー訂正用デコーダ30に対して
はステータス検出部46が設けられる。ステータス検出
部46には、エラー訂正デコーダ30で決定されたエラ
ー訂正検出信号E10が入力され、そのまま訂正可能エ
ラーがあったことを示すステータス検出信号E13とし
てフォーマッタ制御プロセッサ18のステータス報告レ
ジスタ75に出力される。
【0085】またエラー訂正用デコーダ30で決定され
た訂正不可能エラー検出信号E11が入力され、そのま
ま訂正不可能エラーがあったことを示すステータス検出
信号E14としてフォーマッタ制御プロセッサ18のス
テータス報告レジスタ75に出力される。更に、ステー
タス検出部46にはNOR回路50が設けられ、検出信
号E10,E12の両方が得られない場合に、エラーな
しを示すステータス検出信号E12を出力する。
【0086】フォーマッタ制御プロセッサ18は、エラ
ー訂正部16から転送される訂正済みユーザデータのリ
ード終了を監視しており、リード終了の直後のタイミン
グで、エラーなし、訂正可能エラーあり、訂正不可能エ
ラーありのステータス検出信号E12,E13,E14
を読み取ってステータス報告レジスタ75に格納する。
そして上位のディスクコントローラ12からのステータ
スコマンドに対しフォーマッタ制御プロセッサ18はス
テータス報告レジスタ75の内容に従ったリード時のエ
ラー訂正状態を示すステータス応答を返す。したがって
フォーマッタ制御プロセッサ18のステータス報告レジ
スタ75は、ステータス報告手段としての機能をもつこ
とになる。 3.エラー訂正符号デコード回路の詳細 図8は図3に示したエラー訂正用デコーダ30の詳細を
示す。
【0087】図8において、エラー訂正用エンコーダ3
0は、シンドローム生成回路84,係数演算回路86,
88,エラー位置およびエラー値演算回路90で構成さ
れる。シンドローム生成回路84は、最大3バイトエラ
ー訂正の場合、符号語から6つのシンドロームS0 〜S
5 を計算して出力する。このシンドロームS0 〜S5
計算方法は周知であり、例えば排他論理和(EX−OR
回路)、OR回路およびシフトレジスタを用いることで
実現される。係数演算回路86はシンドロームS0 〜S
5 を入力し、再度示す次のエラーロケーション多項式の
係数β0 〜β2を算出する。
【0088】
【数10】
【0089】本発明の係数演算回路86は、後の説明で
明らかにするように、従来のハードウェアに比べ、その
回路量を大幅に低減する新規な回路構成を備える。次の
係数演算回路88は、係数演算回路86からのエラーロ
ケーション多項式の係数をn元連立方程式の解β0 ,β
1 ,β2 として求める過程で得られた値γ 30〜γ33とシ
ンドロームS0 , S1 ,S2 を入力し、エラーバリュウ
を求めるための係数Φ0 ,Φ1 ,Φ2 を算出する。尚、
γ30〜γ33の算出は後の説明で明らかにされる。
【0090】このエラーバリュウを求めるための係数Φ
0 〜Φ2 は、次式により算出される。
【0091】
【数11】
【0092】ここで、γ0 〜γ3 は、エラー数t=1〜
3に対し次の値をとる。 γ3 : t=3 γ33 t=2以下 0 γ2 : t=3 γ32 t=2 γ22 t=1 0 γ1 : t=3 γ31 t=2 γ21 t=1 γ11 γ0 : t=3 γ30 t=2 γ20 t=1 γ10 このエラー数t=1〜3についてγ0 〜γ3 を求める処
理が、後の説明で明らかにする図14の係数選択演算器
202の演算となる。
【0093】最終段に設けたエラー位置およびエラー値
演算回路90はエラーロケーション係数β0 〜β2 およ
びエラーバリュウ係数Φ0 〜Φ2 が得られた状態で、実
際のエラーロケーションおよびエラーパターンかどうか
の試行錯誤的なチェンサーチを行い、算出したエラーロ
ケーションのタイミングでエラー位置検出信号E4 をア
ンド回路92−1に出力して許容状態とし、同時に得ら
れているエラーパターンベクトルEi1を訂正動作のため
に出力する。
【0094】エラーパターンベクトルEi1はアンド回路
92−1を介して排他論理和回路34に与えられ、同じ
タイミングでFIFOバッファメモリ32より出力され
たエラーロケーションのバイトデータとの排他論理和を
とることで、エラービットを反転する訂正を行う。エラ
ー位置及びエラー値演算回路90のハードウェア構成の
詳細は、例えば特開昭59−123945号に開示され
ている。 4.エラー検出符号(EDC)を用いた未検出・誤訂正
の監視 図3の実施例にあっては、ライト系統にエラー検出用エ
ンコーダ38が設けられ、またリード系統にエラー検出
用デコーダ40が設けられている。エラー検出用エンコ
ーダ38およびエラー検出用デコーダ40はエラー訂正
用デコーダ30におけるエラーの未検出および誤訂正
を、新たに生成したエラー検出符号(EDC)を用いて
監視するものである。
【0095】図8に示したエラー訂正用デコーダ30に
あっては、生成多項式によってチェックバイトやシンド
ロームを生成し、エラーロケーション多項式によってエ
ラー位置およびエラーバリュウを生成して、オン・ザ・
フライ態様でデータ転送を行いながらエラー訂正を行
う。しかし、訂正能力を越えたエラーが発生した場合、
正しいバイトデータを誤って訂正してしまう誤訂正やエ
ラーを検出できない未検出を起こす場合がある。これを
一般的に示すと、生成多項式をG(X)、エラーロケー
ション多項式をE(X)としたとき、 E(X)=P(X)*G(X) 但し、P(X)は任意の関数 となるようなエラーが発生したとき、シンドロームが零
となり、未検出になる。
【0096】一方、シンドロームから計算した値を係数
にもつエラーロケーション多項式が例えばn=3バイト
のエラー訂正を例にとると、
【0097】
【数12】
【0098】を因数にもってしまった場合、位置i1,
i2,i3でエラーロケーション多項式が零となり、誤
訂正を行ってしまう。このようなエラー訂正用エンコー
ダ30に未検出および誤訂正を検出するため、図9に示
すように、任意数のサブブロック42−0〜42−Nで
構成されるユーザデータの後ろに、数バイトのEDCチ
ェックバイト44を設る。
【0099】この実施例ではEDCチェックバイト44
に4バイトのチェックバイトD1 ,D2 ,D3 ,D4
設けた場合を例にとっている。サブブロック42−0〜
42−Nのそれぞれはデータ部とECCチェックバイト
で構成されたエラー訂正用エンコーダ22から出力され
たユーザデータである。このユーザデータは、EDCチ
ェックバイトD1 〜D4 を生成するためのキャラクタ・
バイトCn 〜C1 の連続したバイトストリームとして扱
う。
【0100】図3に示したエラー検出用エンコーダ38
はエラー訂正用エンコーダ22によるエラー訂正符号の
生成と並行して、任意数のサブブロックをもつ書込ユー
ザデータからEDCチェックバイトD1 ,D2 ,D3
4 を生成し、エラー訂正用エンコーダ22から出力さ
れるユーザデータの後に、マルチプレクサ24の切替え
で、EDCチェックバイトD1 ,D2 ,D3 ,D4を付
加し、4つのエラー訂正符号を生成する。
【0101】一方、エラー検出用デコーダ40は、排他
論理和回路34より出力されるエラー訂正用デコーダ3
0によって訂正が済んだユーザデータとEDCチェック
バイトD1 ,D2 ,D3 ,D4 を、ゲート36を介して
上位のディスクコントローラ12に出力すると同時に入
力し、エラー訂正用デコーダ30における未検出および
誤訂正を検出する。
【0102】エラー検出用エンコーダ38におけるED
CチェックバイトD1 〜D4 は、次の1次の生成多項式
により符号語長が異なるように生成される。
【0103】
【数13】
【0104】このような1次生成多項式により符号語長
を異ならせて生成したEDCチェックバイトD1 〜D4
をユーザデータの後に付加することで、強力なエラー検
出符号を構成することができる。(11)式の1次生成
多項式における定数項αの指数は、EDCチェックバイ
トD1 〜D4 のそれぞれに違うものを用いれば値は任意
に決定することができる。
【0105】また、EDCチェックバイトD1 〜D4
計算対象領域は、データ部を構成するキャラクタ・バイ
トCn 〜C1 に含まれた各エラー訂正符号におけるデー
タブ部とECCチェックバイトであるが、データ部が保
障されればよいため、ECCチェックバイトは零として
計算する。更に、ガロア体GF(28 )の元の指数はM
OD255で演算されるため、255キャラクタ・バイ
トの周期をもつ。このため、バイトデータのストリーム
上で254バイト隔てた位置に同じエラーパターンが存
在するとエラーが消失し、エラー検出符号45で検出す
ることができない。この関係は次式で示される。
【0106】
【数14】
【0107】この(10)式の成立によるエラーの消失
を防止するため、エラー検出符号45のEDCチェック
バイトD1 〜D4 の半分の計算について、計算対象領域
からECCチェックバイト部48の数バイトを除く。例
えば、EDCチェックバイトD2 とD4 の2つについ
て、ECCチェックバイトを1バイト除いた場合にはE
DCチェックバイトD1 〜D4 は次式のようにして算出
される。
【0108】
【数15】
【0109】尚、(11)式におけるj,kはサブブロ
ックの数で決まる。図10は図3のエラー検出用エンコ
ーダ38の実施例を示す。図10において、ゲート96
はエラー訂正の済んだユーザデータとECDチェックバ
イトD1 〜D4 を入力する。ゲート回路96,104,
114,124は1つのエラー訂正符号を構成するサブ
ブロックのデータ部とECC部の位置、更にエラー検出
符号の最後のEDCチェックバイト位置を示すゲート信
号で制御される。
【0110】各サブブロックにおけるデータ部の入力タ
イミングではゲート信号がイネーブルとなり、データを
入力する。ECCチェックバイトの入力タイミングで
は、ゲート信号はディス・イネーブルとなり、ECCチ
ェックバイトを零に固定して入力する。最後のEDCチ
ェックバイト部については、ゲート信号はイネーブルと
なってEDCチェックバイトD1 〜D4 を入力する。
尚、エンコード入力時にEDCチェックバイトD1 〜D
4 は空きバイトで全て零となっている。
【0111】ゲート回路96,104,114,124
の各々に続いてはエラー検出符号の最後につく4つのE
DCチェックバイトD1 ,D2 ,D3 ,D4 に対応して
4系統の論理回路が設けられる。例えば、チェックバイ
トD1 の系統を例にとると、排他論理和回路98、定数
α-1の乗算を行う乗算回路100、および乗算出力を1
バイトクロック分ラッチさせて出力するラッチ回路10
2で構成される。
【0112】残り3つのチェックバイトD2 ,D3 ,D
4 についても、各系統の回路構成は排他論理和回路,乗
算回路,およびラッチ回路を備える。ここで、前記(1
1)式に示したように、EDCチェックバイトD2 ,D
4 については、ECCチェックバイトの1バイトを除い
ていることから、乗算回路108,128とラッチ回路
112,132の各々の間にマルチプレクサ110,1
30を設けている。マルチプレクサ110,130は、
ECCチェックバイトの中から除外するバイト位置で切
替信号が入力される。切替信号が入力されるとマルチプ
レクサ110,130は、乗算回路108,128の出
力からラッチ回路112,132の期間出力に切替わ
り、これによってECCチェックバイト中の1バイトを
計算対象から除外する。
【0113】最終段に設けられたマルチプレクサ134
は、ユーザデータの後となるEDCチェックバイト
1 ,D2 ,D3 ,D4 の転送タイミングに同期したバ
イトクロックでラッチ回路102,112,120,1
32の各出力を選択し、計算済みのEDCチェックデジ
ットD1 ,D2 ,D3 ,D4 を順次出力する。このED
CチェックデジットD1 ,D2 ,D3 ,D4 の出力タイ
ミングは、図3に示したエラー訂正用エンコーダ22に
よるユーザデータの最後の位置であり、エラー訂正用エ
ンコーダ24からエラー検出用エンコーダ38側にマル
チプレクサ24が切り替わることで付加される。
【0114】図11は図3に示したリード系統のエラー
検出用デコーダ40の実施例を示し、シンドローム生成
回路136と判定回路138を備える。シンドローム生
成回路136は図12に示す回路構成を有する。ンド
ローム生成回路136は図10に示したエンコーダ側と
基本的に同じであり、エラー訂正済みのユーザデータと
EDCチェックバイトD1 〜D4 からシンドローム・バ
イトSD1 ,SD2 ,SD3 ,SD4 を計算する。
【0115】図11の判定回路138は図13に示す構
成を有する。図13において、判定回路134は図12
に示したラッチ回路146,156,164,174か
らのシンドローム・バイトSD1 〜SD4 を入力するO
R回路176とカウンタ178を有する。OR回路17
6は、エラー訂正済みのユーザデータとEDCチェック
バイトD1 ,D2 ,D3 ,D4 から(11)式の1次生
成多項式を用いて算出されたシンドローム・バイトSD
1 ,SD2 ,SD3 ,SD4 が非零か否か検出する。即
ち、シンドローム・バイトSD1 〜SD4 いずれか1つ
が非零となるOR回路176の出力は1となり、全て零
になるとOR回路176の出力は0となる。
【0116】カウンタ178はOR回路176からの非
零シンドロームレジスタ個数を計数し、エラー訂正用デ
コーダ30における誤訂正および未検出を判断する。具
体的には、カウンタ178によるシンドローム非零デー
タ出力を2以上計数したときに、エラー訂正において誤
訂正あるいは未検出があったものと判断し、異常動作検
出信号E9 を上位のフォーマッタ制御プロセッサ18に
出力する。
【0117】一方、カウンタ178によるシンドローム
非零データの計数値が1以下であった場合には、記憶媒
体におけるEDCチェックバイト部の媒体欠陥によるエ
ラーと見做せる。従って、カウンタ178が1以下の場
合、即ち1バイト以下のシンドロームレジスタの値につ
いてはエラー訂正による誤訂正および未検出とはしな
い。 5.エラーロケーション多項式の係数を得るn元連立方
程式の演算回路 図14は、図8に示した係数演算回路86に用いる本発
明のn元連立方程式演算回路の実施例を示す。
【0118】図14はt=n個のバイトエラーの訂正能
力を有する場合の実施例であり、1元演算器200−
1、2元演算器200−2、3元演算器200−3、4
元演算器200−4、・・・n元演算器200−nを設
けている。図15に示すように、1元演算器200−1
は、シンドロームS0 ,S1 を入力し、解γ10,γ11
出力する。2元演算器200−2は、1元演算200−
1の出力γ10,γ11とシンドロームS2 ,S3 を入力
し、2元連立方程式から解γ 20,γ21,γ22を求めて出
力する。
【0119】3元演算器200−3は、2元演算200
−2の出力γ20,γ21,γ22とシンドロームS2 〜S5
を入力し、3元連立方程式から解γ30,γ31,γ32,γ
33を求めて出力する。4元演算器200−4は、3元演
算200−3の出力γ30,γ31,γ32,γ33とシンドロ
ームS3 〜S7 を入力し、3元連立方程式から解γ40,
γ41,γ42,γ43,γ44を求めて出力する。
【0120】さらにn元演算器200−nは、図示しな
いn−1元演算200−(n−1)の出力γn-1 0 〜γ
n-1 n-1 とシンドロームSn-1 〜S2n-1を入力し、n元
連立方程式から解γn0〜γnnを求めて出力する。図8に
示したt=3バイトエラーの訂正能力の場合には、1元
演算器200−1、2元演算器200−2、3元演算器
200−3を含む破線の回路部202だけでよい。
【0121】図14において、1元演算器200−1、
2元演算器200−2、3元演算器200−3、4元演
算器200−4、・・・n元演算器200−nの出力は
係数選択演算器202に与えられ、エラーロケーション
多項式の係数βk 、すなわちβ0 〜βt-1 が求められ
る。係数βk の一般式は、 βk =γnk/γnn 但し、k=0〜n−1 となる。t=1,2,3バイトエラーの場合を例にとる
と、次のようになる。
【0122】
【数16】
【0123】すなわち実際の回路では、例えばt=3バ
イトエラーを例にとると、
【0124】
【数17】
【0125】ではなく、
【0126】
【数18】
【0127】という型でγを用いている。同様にしてt
=2バイトエラーについては、
【0128】
【数19】
【0129】となり、t=1バイトエラーについては、
【0130】
【数20】
【0131】となる。図16は図14,図15に示した
1元演算器200−1と2元演算器200−2の詳細を
示す。1元演算器200−1は演算素子をもたず、入力
したシンドロームS0 ,S1 をそのまま1元連立方程式
の解γ10,γ11として出力する。2元演算器200−2
には、破線で囲んだ基本的な回路206が設けられる。
この回路206は、乗算回路208,210と排他論理
和回路212で構成される。乗算回路208,210
GF(28 ) における2つの8ビット2元ベクトルの乗
算を行うもので、71個のEX−ORゲートと64個の
ANDゲートで構成される。排他論理和回路212は、
8個数の2入力EX−ORゲートを用いてビットごとの
排他論理和を求める。
【0132】図17は図14,図15に示した3元演算
器200−3の実施例を示す。3元演算器200−3は
基本的な4個の論理回路220,222,224,22
6で構成される。論理回路220,222,224,2
26のそれぞれは、3個の乗算回路と1つの排他論理和
回路で構成されている。図18は図14,図15に示し
た4元演算器200−4の実施例を示す。4元演算器2
00−4は基本的な5個の論理回路228,230,2
32,234,236で構成され、それぞれ4個の乗算
回路と2つの排他論理和回路で構成されている。
【0133】さらに図19は図14,図15に示したn
元演算器200−nの実施例を示す。n元演算器200
−nは基本的なn個の論理回路238,240,24
2,244,246・・・,248で構成され、それぞ
れn個の乗算回路とn−2個の排他論理和回路で構成さ
れている。次にn元連立方程式の解の導出を示す。まず
エラーロケーション多項式は
【0134】
【数21】
【0135】である。t=n個のエラーパターンをE
i1〜Ein,2n個のシンドロームをS(j=0〜
2n−1)とすると、
【0136】
【数22】
【0137】とあらわすことができる。また(13)式
にx=α(i=il〜in)代入すると
【0138】
【数23】
【0139】となる。この(13),(14)式からE
とαを消去すると次の関係が得られる。
【0140】
【数24】
【0141】この(15)式は、β0 からβn-1 のまで
のn個があることになる。(15)式の左辺の行列の行
列式を|S|とし、Cramerの公式を用いると
【0142】
【数25】
【0143】と表せる。この(16)式の右辺分子の行
列式の値がγnkとなる。ここで(16)式の分子は絶対
値Sのk+1列を(15)式の右辺で置き換えたもので
ある。(16)式はつぎのように記号化できる。
【0144】
【数26】
【0145】(17)式でγnn=0の場合は、(15)
式がn個未満の解を持つことを示す。これからエラーの
数を知ることができる。係数βを求めるには、γを展開
する必要がある。このγを展開するの回路が図14のn
元演算器200−nである。n次正方列A=[aij]の
余因子をΔijとすると、次のようにi行に関して展開で
きる。
【0146】
【数27】
【0147】(16),(17),(18)式の関係か
らγは次のように展開できる。
【0148】
【数28】
【0149】この(20)式を回路として実現したもの
が図15の実施例である。ここでnon2はγn0の余因子
n2を表す。即ちこれはn行に関する展開であり、他の
行に関する展開では(20)式のように表せない。(2
0)式を繰り返し用いることによりn≧3の場合の展開
を一般的に行うことができ、解が得られる。n<3の場
合は、説明するまでもなく明らかである。
【0150】また(20)式のように展開すると、(2
0)式の右辺、第二項の行列の(ij)成分(i<j)
と(ji)成分が等しいことがわかる。以下にこれを示
す。(15)式を次のように成分表示に書き換える。
【0151】
【数29】
【0152】Cramerの公式を用いて、
【0153】
【数30】
【0154】となる。(21),(22)式を(20)
式のように展開したとき、右辺、第二項の行列の(i
j)成分をεij(i<j)と表し、また有限体GF(2
m ) の和は排他論理和演算であり、極性がないため行列
式の列を交換しても行列式の値は変わらないことに注意
すると次の関係が求まる。
【0155】
【数31】
【0156】この(23)式の関係から(20)式を回
路に実現したとき、他の展開の場合に比べ半分の回路量
ですむことがわかる。図20は、(20)式の右辺第2
項を取出して示したもので、(23)式の関係から実線
で囲まれた非対象成分250、すなわち(i,j)成分
は、実線で囲まれていない(j,i)成分と等しい。
【0157】このため例えば図18に示した4元演算器
における論理回路228,230,232,234を例
にとると、図21に示すように、共通項をまとめた回路
構成とすることができる。その結果、論理回路に対する
入力結線を低減して回路量を半分できる。尚、上記の実
施例は訂正可能なエラー数t=3の場合を例にとってい
るが、t=3を越える多数バイトのエラー訂正について
も同様に適用できる。
【0158】またユーザデータをバイト単位にインタリ
ーブしたサブブロックからECCチェックバイトを生成
して付加する場合を例にとっているが、インターリーブ
したサブブロックとせずにECCチェックバイトをサブ
ブロック毎に生成して付加するようにしてもよい。また
本発明は、実施例に示した数値による限定は受けない。
【0159】
【発明の効果】以上声明したように本発明によれば、下
位のエラー訂正ユニットにおけるエラーなし、訂正可能
エラーあり、訂正不可エラーあり、訂正異常動作を上位
の制御プロセッサで認識することができ、外部から記憶
装置内の訂正動作を知り、また訂正動作を監視できるの
で、システムの信頼性が向上する。
【0160】また、データ書込時に、1群のエラー訂正
符号語をデータ部から作成したエラー検出用チェックバ
イトの付加でエラー検出符号語を作成し、データ読出時
に、エラー訂正を行った後のエラー検出符号を解読する
ことで、エラー訂正時の未検出および誤訂正を検出する
ことができる。さらにエラーロケーションの係数をn元
連立方程式の介して求める演算回路を簡潔に構成するこ
とができる。また演算回路を構成する論理回路間の入力
共通化により回路量を半分にすることができる。
【図面の簡単な説明】
【図1】本発明の原理説明図
【図2】本発明が適用されるディスクユニットのブロッ
ク図
【図3】図2のエラー訂正部の構成を示したブロック図
【図4】本発明におけるインタリーブの概念説明図
【図5】複数のサブブロックをもつユーザデータの後に
EDCチェックバイトを付加した本発明の1レコード分
のデータ構造の説明図
【図6】図2のエラー訂正部における訂正状態の検出と
報告の詳細を示した実施例構成図
【図7】図6における訂正可能エラーの検出処理を示し
たタイミングチャート
【図8】図6のエラー訂正符号デコード回路の詳細を示
したブロック図
【図9】本発明におけるエラー検出符号(EDC)のフ
ォーマットの詳細を示した説明図
【図10】図3のライト側のエラー検出用エンコーダ回
路を示した回路ブロック図
【図11】図3のリード側のエラー検出用デコード回路
の概略を示した回路ブロック図
【図12】図11のシンドローム生成回路の詳細を示し
た回路ブロック図
【図13】図11の判定回路の詳細を示した回路ブロッ
ク図
【図14】図8の係数演算回路の本発明による実施例を
示したブロック図
【図15】図14の1〜n元演算器の入出力を詳細に示
したブロック図
【図16】図14の1元演算器と2元演算器の実施例を
示した回路図
【図17】図14の3元演算器の実施例を示した回路図
【図18】図14の4元演算器の実施例を示した回路図
【図19】図14のn元演算器の実施例を示した回路図
【図20】回路量低減の根拠となる展開した行列式にお
ける(ij)成分と(ji)成分が等しいことを示した
説明図
【図21】図15の4元演算回路について入力を共通化
した場合の実施例を示した回路図
【符号の説明】
10:ディスクユニット 12:ディスクコントローラ 14:ディスクエンクロージャ 16:エラー訂正部 18:制御プロセッサ 20,26,28,36:ゲート回路 22:エラー訂正用エンコーダ(エラー訂正符号エンコ
ード手段) 24:マルチプレクサ 30:エラー訂正用デコーダ(エラー訂正符号デコード
手段) 32:FIFOバッファメモリ 34,70:排他論理和回路 38:エラー検出用エンコーダ(エラー検出符号エンコ
ード手段) 40:エラー検出用デコーダ(エラー検出用デコード手
段) 42:サブブロック 44:エラー検出用チェックバイト(EDCチェックバ
イト部) 46:ステータス検出部 48:訂正状態検出部(訂正状態検出手段) 50:NOR回路 52:訂正済みサブブロック検出部 54:ラッチ回路 56:誤訂正サブフロック検出部 58:カウンタ 60:階数エンコーダ 62:比較器 64:異常動作監視部 75:ステータス報告レジスタ(ステータス報告手段) 84:シンドローム生成回路 86,88:計数演算回路 90:エラー位置及びエラー値演算回路 136:シンドローム生成回路 138:判定回路 200−1〜200−n:1〜n元演算器 202:計数選択演算器
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 11/10 330 G06F 12/16 320 H03M 13/15

Claims (20)

    (57)【特許請求の範囲】
  1. 【請求項1】符号語が任意の自然数mで定義されるガロ
    ア体GF(2m )の元で構成され、αa ,αa+1 ,・・
    ・αa+2n-1(αは前記ガロア体の原始元、aは任意の自
    然数でa+2n−1≦2m −1を満たす。nは最大訂正
    可能なエラーバイト数を示す定数)を解にもつ生成多項
    式によってチェックバイトおよびシンドロームを生成
    し、前記符号語中のn個までのバイトエラーを、2n個
    のシンドロームバイトを処理することにより訂正するエ
    ラー訂正装置に於いて、 前記符号語を入力するごとに、前記シンドロームバイト
    からエラーロケーション多項式の係数β0 〜βt-1 (但
    し、t≦n、tは発生したエラーバイト数を示す変数)
    を決定した後にエラーバイト位置およびエラーバイト訂
    正値をデータ転送に同期して決定し、前記符号語のバイ
    トストリームを連続的に転送しながらエラーを訂正する
    エラー訂正符号デコード手段(30)と、 前記エラー訂正符号デコード手段(30)により決定さ
    れたリード動作時のエラーなし、訂正可能エラーあり又
    は訂正不可能エラーありのいずれかの状態を示すステー
    タス情報を制御プロセッサ手段(18)で読取り、1レ
    コード分のユーザデータの記憶媒体からのリード直後に
    上位のディスク制御装置(12)に報告可能とするステ
    ータス報告手段(75)と、 前記エラー訂正符号デコード手段(30)の動作状態か
    ら符号単位に訂正済み符号、誤訂正符号又は異常訂正動
    作を検出する訂正状態検出手段(48)と、 を設け、 前記ステータス報告手段(75)は、前記エラー訂正符
    号デコード手段(30)から訂正可能エラーありを示す
    第1検出信号又は訂正不可能エラー有りを示す第2検出
    信号を入力して対応するステータス情報を前記制御プロ
    セッサ手段(18)に送出すると共に、前記第1検出信
    号及び第2検出信号の両方が得られない時にエラーなし
    のステータス情報を前記制御プロセッサ手段(18)に
    送出する ことを特徴とする多数バイトのエラー訂正装
    置。
  2. 【請求項2】請求項1記載の多数バイトのエラー訂正装
    置に於いて、前記訂正状態検出手段(48)は、1つの
    符号語を1つのサブブロックに対応させ、 前記エラー訂正符号デコード手段(30)により訂正可
    能なエラーのあった訂正済みのサブブロックを検出する
    訂正済みサブブロック検出手段(52)と、 前記エラー訂正符号デコード手段(30)により誤訂正
    したサブブロックを検出する誤訂正サブブロック検出手
    段(56)と、 前記エラー訂正符号デコード手段(30)によるエラー
    訂正動作の異常を検出する異常動作監視手段(64)
    と、 を設けたことを特徴とする多数バイトのエラー訂正装
    置。
  3. 【請求項3】請求項記載の多数バイトのエラー訂正装
    置に於いて、前記訂正済みサブブロック検出手段(5
    2)、誤訂正サブブロック検出手段(56)および異常
    動作監視手段(64)の各々は、1つの符号語を1つの
    サブブロックに対応させ、1又は複数のサブブロックで
    構成されたユーザデータにおけるサブブロックのリード
    終了ごとに、検出状態を前記制御プロセッサ手段(1
    8)で読取って上位の制御装置(12)に報告可能する
    ことを特徴とする多数バイトのエラー訂正装置。
  4. 【請求項4】請求項記載の多数バイトのエラー訂正装
    置に於いて、 前記訂正済みサブブロック検出手段(52)は、前記エ
    ラー訂正符号デコード手段(30)による前記サブブロ
    ックの訂正処理中に得られた前記訂正位置信号をサブブ
    ロックの訂正終了までラッチして前記制御プロセッサ手
    段(18)に送出し、 前記制御プロセッサ手段(18)はサブブロックの転送
    終了タイミングに同期した前記訂正済みサブブロック検
    出手段(52)からの訂正済みサブブロック検出信号を
    読み込んで上位の制御装置に報告可能とすることを特徴
    とする多数バイトのエラー訂正装置。
  5. 【請求項5】請求項記載の多数バイトのエラー訂正装
    置に於いて、前記誤訂正サブブロック検出手段(56)
    は、前記エラー訂正符号デコード手段(30)において
    シンドローム(S0 〜S5 )からエラーロケーション多
    項式の係数(β0 〜β t-1)を求める過程で計算される
    エラー数と、前記エラーロケーション多項式から決定さ
    れるエラー数を比較し、両者が不一致の場合に、サブブ
    ロックが誤訂正があることを検出して前記制御プロセッ
    サ手段(18)に出力することを特徴とする多数バイト
    のエラー訂正装置。
  6. 【請求項6】請求項記載の多数バイトのエラー訂正装
    置に於いて、前記異常動作監視手段(64)は、前記訂
    正済みサブブロック検出手段(52)の検出出力、およ
    び前記エラー訂正符号デコード手段(30)で求めた訂
    正不可エラーと非零シンドロームの検出結果に基づい
    て、前記エラー訂正符号デコード手段(30)の異常動
    作を検出することを特徴とする多数バイトのエラー訂正
    装置。
  7. 【請求項7】請求項記載の多数バイトのエラー訂正装
    置に於いて、前記異常動作監視手段(64)は、 非零シンドロームが未検出で且つ訂正可能エラーを検出
    した場合、 非零シンドロームが未検出で且つ訂正不可エラーを検出
    した場合、 訂正可能エラーおよび訂正不可エラーが未検出で非零シ
    ンドロームを検出した場合、 に異常動作を検出することを特徴とする多数バイトエラ
    ーの訂正装置。
  8. 【請求項8】エラー訂正用符号語が、任意の自然数mで
    定義されるガロア体GF(2m )の元で構成され、
    αa ,αa+1 ,αa+2 ,…,αa+2n-1(αは前記ガロア
    体の原始元、aは任意の自然数でa+2n−1≦2m
    1を満たす。nは最大訂正可能なエラーバイト数を示す
    定数)を解に持つ生成多項式によってチェックバイトお
    よびシンドロームを生成し、前記符号語中のn個までの
    バイトエラーを、2n個のシンドロ−ムバイトを処理す
    ることにより訂正する多数バイトのエラー訂正装置に於
    いて、 記憶媒体に対するデータ書込時に、1サブブロック分の
    書込データから前記生成多項式を用いてエラー訂正用チ
    ェックバイトを生成し、該エラー訂正用チェックバイト
    を前記書込データの後に設けて1サブブロック分の符号
    語を構成するエラー訂正符号エンコード手段(22)
    と、 前記記憶媒体に対するデータ書込時に、1又は複数のサ
    ブブロックで構成されるユーザデータから複数のエラー
    検出用チェックバイトD1 , D2 ,・・・,Dn を生成
    し、該エラー検出用チェックバイトD1 , D2 ,・・
    ・,Dn を前記エラー訂正符号エンコード手段(22)
    より出力されるユーザデータに対応した1又は複数の符
    号語の後に設けて前記記憶媒体に書込ませ、この処理を
    前記エラー訂正符号エンコード手段(22)と平行して
    行うエラー検出符号エンコード手段(38)と、 前記記憶媒体から読出した前記符号語を入力するごと
    に、前記シンドロームバイトからエラーロケーション多
    項式の係数β0 〜βt-1 (但し、t≦n、tは発生した
    エラーバイト数を示す変数)を決定した後にデータ転送
    と同期してエラーバイト位置およびエラーバイト訂正値
    が決定されることにより、前記符号語のバイトストリー
    ムを連続的に転送しながらエラーを訂正するエラー訂正
    符号デコード手段(30)と、 前記エラー訂正用デコード手段(30)による訂正済み
    のユーザデータとエラー検出用チェックバイトを入力し
    てシンドロームを生成処理し、前記エラー訂正用デコー
    ド手段(30)における誤訂正又は未検出を含む訂正誤
    動作を検出して上位の入出力制御装置(12)に報告
    し、この処理を前記エラー訂正符号デコード手段(3
    0)と直列に行うエラー検出符号デコード手段(40)
    と、 を設けたことを特徴とする多数バイトのエラー訂正装
    置。
  9. 【請求項9】請求項記載の多数バイトのエラー訂正装
    置に於いて、前記エラー検出符号エンコード手段(3
    8)は、1次の生成多項式により符号語長の異なる複数
    のエラー検出用チェックバイトD1 , D2 ,・・・,D
    n を生成する符号生成手段を備えたことを特徴とする多
    数バイトのエラー訂正装置。
  10. 【請求項10】請求項記載の多数バイトのエラー訂正
    装置に於いて、前記エラー検出符号エンコード手段(3
    8)は、 前記エラー検出用チェックバイトD1 , D2 ,・・・,
    n の各々ごとに、前記書込ユーザデータの各バイトデ
    ータCn 〜C1 を入力して前記1次の生成多項式に従っ
    た前回の計算結果との排他論理和を求める排他論理回路
    と、 前記排他論理和回路の出力に前記1次生成多項式の定数
    αn を乗算する乗算回路と、 前記乗算回路の出力を次のバイトデータの入力時までラ
    ッチして前記排他論理和回路に帰還入力するラッチ回路
    と、 を備えたことを特徴とする多数バイトのエラー訂正装
    置。
  11. 【請求項11】請求項記載の多数バイトのエラー訂正
    装置に於いて、前記符号生成手段は、前記エラー検出用
    チェックバイトD1 , D2 ,・・・,Dn の中の半分の
    生成について、前記書込データを構成する各サブブロッ
    クの中のエラー訂正用チェックバイトの一部を、前記エ
    ラー検出用チェックバイトの計算対象から除くことを特
    徴とする多数バイトのエラー訂正装置。
  12. 【請求項12】請求項記載の多数バイトのエラー訂正
    装置に於いて、 前記符号生成手段は、前記サブブロック中のエラー訂正
    用チェックバイトを零として前記エラー検出用チェック
    バイトD1 , D2 ,・・・,Dn を生成することを特徴
    とする多数バイトのエラー訂正装置。
  13. 【請求項13】請求項記載の多数バイトのエラー訂正
    装置に於いて、前記エラー検出符号デコード手段(4
    0)は、 前記1次の生成多項式により前記エラー検出用チェック
    バイトD1 , D2 ,・・・,Dn に対応したn個の符号
    長の異なるデータから複数のシンドロームSD1 , SD
    2 ,・・・,SDn を生成するシンドローム生成手段
    と、 前記シンドローム生成手段で生成したシンドロームSD
    1 , SD2 ,・・・,SDn の各々が零か非零かを検出
    し、非零が所定数以上の場合に、前記エラー訂正用デコ
    ード手段(30)の未検出又は誤訂正による誤動作とし
    て前記上位の入出力制御装置(12)に通知する誤動作
    検出手段と、 を備えたことを特徴とする多数バイトのエラー訂正装
    置。
  14. 【請求項14】請求項13記載の多数バイトのエラー訂
    正装置に於いて、前記誤動作検出手段は、 前記シンドロームSD1 , SD2 ,・・・,SDn の各
    々ごとに、前記エラー訂正済みのエラー検出符号のデー
    タ部を構成する各バイトデータCn 〜C1 を入力して前
    記1次の生成多項式による前回の計算結果との排他論理
    和を求める排他論理回路と、 前記排他論理和回路の出力に前記1次多項式の定数αn
    を乗算する乗算回路と、 前記乗算回路の出力を次のバイトデータの入力時までラ
    ッチして前記排他論理和回路に帰還入力するラッチ回路
    と、 を設けたことを特徴とする多数バイトのエラー訂正装
    置。
  15. 【請求項15】請求項13記載の多数バイトのエラー訂
    正装置に於いて、前記シンドローム生成手段は、前記シ
    ンドロームSD1 , SD2 ,・・・,SDn の中の半分
    の生成について、前記データ検出用符号を構成する各サ
    ブブロック中のエラー訂正用チェックバイトの一部を、
    前記シンドローム生成式の計算対象から除くことを特徴
    とする多数バイトのエラー訂正装置。
  16. 【請求項16】請求項13記載の多数バイトのエラー訂
    正装置に於いて、前記シンドローム生成手段は、前記サ
    ブブロック中のエラー訂正用チェックバイトを零として
    前記シンドロームSD1 , SD2 ,・・・,SDn を生
    成することを特徴とする多数バイトのエラー訂正装置。
  17. 【請求項17】請求項13記載の多数バイトのエラー訂
    正装置に於いて、前記エラー検出符号デコード手段(4
    0)の誤動作検出手段は、前記シンドロームSD1 , S
    2 ,・・・,SDn の非零が2以上の場合に、前記エ
    ラー訂正符号デコード手段(30)の誤動作を検出して
    前記上位の入出力制御装置(12)に通知することを特
    徴とする多数バイトのエラー訂正装置。
  18. 【請求項18】符号語が任意の自然数mで定義されるガ
    ロア体GF(2m )の元で構成され、αa ,αa+1 ,・
    ・・αa+2n-1(αは前記ガロア体の原始元、aは任意の
    自然数でa+2n−1≦2m −1を満たす。nは最大訂
    正可能なエラーバイト数を示す定数)を解にもつ生成多
    項式によってチェックバイトおよびシンドロームを生成
    してn個のバイトエラーを訂正する多数バイトのエラー
    訂正装置に於いて、 前記符号語を読込んで2n個のシンドロームを生成する
    シンドローム生成手段(84)と、 前記シンドローム生成手段(84)で求めた2n個のシ
    ンドロームを用いて、エラーロケーション多項式の係数
    βk (k=0〜n−1)を、n元連立方程式の解から求
    める係数生成手段(86)とを設け、 前記係数生成手段(86)は、 n−1元連立方程式の解を決定する値γn-1,0 〜γ
    n-1,n-1とn+1個のシンドロームからn元連立方程式
    の解βk を決定する値γn0〜γnnを得るためにn個のn
    元演算回路手段(200−1〜200−n)を、1元か
    らn元まで順に繋げて任意のエラーバイト数tに対する
    t元連立方程式の解βを決定する値γを得る係数演算手
    段(200)と、 前記係数演算手段(200)の出力からエラー数tを認
    識し、前記エラー数tに対応した前記係数演算手段(2
    00)によるn元連立方程式の正則性から前記係数β0
    〜βt-1 を演算する係数選択演算手段(202)と、 を備えたことを特徴とする多数バイトのエラー訂正装
    置。
  19. 【請求項19】請求項18記載の多数バイトのエラー訂
    正装置に於いて、 前記n元演算回路手段(200−1〜n)を、2つのシ
    ンドロームを乗算する複数の乗算回路と、前記複数の乗
    算回路の排他論理和を求める排他論理和回路で構成し、
    前記乗算器への2t個のシンドロームS2t-1の内のシン
    ドロームSt-1+i (i=0〜t)を選択して入力させた
    ことを特徴とする多数バイトのエラー訂正装置。
  20. 【請求項20】請求項19記載の多数バイトのエラー訂
    正装置に於いて、前記n元演算回路手段(200−1〜
    n)に設けた異なる2つの乗算回路へのシンドローム入
    力が同値に決定されることに基づき、前記2つの乗算回
    路の入力を共通化するように構成したことを特徴とする
    多数バイトのエラー訂正装置。
JP04069694A 1994-03-11 1994-03-11 多数バイトのエラー訂正装置 Expired - Fee Related JP3366721B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP04069694A JP3366721B2 (ja) 1994-03-11 1994-03-11 多数バイトのエラー訂正装置
US08/356,159 US5610929A (en) 1994-03-11 1994-12-15 Multibyte error correcting system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04069694A JP3366721B2 (ja) 1994-03-11 1994-03-11 多数バイトのエラー訂正装置

Publications (2)

Publication Number Publication Date
JPH07248930A JPH07248930A (ja) 1995-09-26
JP3366721B2 true JP3366721B2 (ja) 2003-01-14

Family

ID=12587729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04069694A Expired - Fee Related JP3366721B2 (ja) 1994-03-11 1994-03-11 多数バイトのエラー訂正装置

Country Status (1)

Country Link
JP (1) JP3366721B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4564520B2 (ja) 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
JP4686645B2 (ja) * 2010-07-29 2011-05-25 株式会社東芝 半導体記憶装置およびその制御方法
KR101770122B1 (ko) 2010-12-30 2017-08-23 삼성전자주식회사 Simd 프로세서를 이용하는 갈로아 필드 이진 다항식 제산 장치 및 방법

Also Published As

Publication number Publication date
JPH07248930A (ja) 1995-09-26

Similar Documents

Publication Publication Date Title
US5610929A (en) Multibyte error correcting system
US4833679A (en) Method and apparatus with improved error correction and error information availability
US3868632A (en) Plural channel error correcting apparatus and methods
US3800281A (en) Error detection and correction systems
CA1199411A (en) Syndrome processing unit for multibyte error correcting system
EP0360424B1 (en) Methods of correcting multiple byte errors
JP3046988B2 (ja) データストリームのフレーム同期検出方法及び装置
US4455655A (en) Real time fault tolerant error correction mechanism
US6990625B2 (en) Burst error pattern generation method, and burst and byte error detection correction apparatus
JPH084233B2 (ja) 誤り訂正符号の復号装置
JPH045214B2 (ja)
US3639900A (en) Enhanced error detection and correction for data systems
US20050149834A1 (en) (18, 9) Error correction code for double error correction and triple error detection
USRE30187E (en) Plural channel error correcting apparatus and methods
EP0105499B1 (en) Method capable of simultaneously decoding two reproduced sequences
EP0753942A2 (en) Word-wise processing for reed-solomon codes
Massey Implementation of burst-correcting convolutional codes
US7093183B2 (en) Symbol level error correction codes which protect against memory chip and bus line failures
US3622984A (en) Error correcting system and method
JP3366721B2 (ja) 多数バイトのエラー訂正装置
US3387261A (en) Circuit arrangement for detection and correction of errors occurring in the transmission of digital data
US6643819B1 (en) Hybrid root-finding technique
EP0723342A2 (en) Error correction apparatus
EP0341862B1 (en) Error location system
US3671947A (en) Error correcting decoder

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20021001

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081101

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081101

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091101

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101101

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101101

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101101

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101101

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111101

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees