JPS6343833B2 - - Google Patents

Info

Publication number
JPS6343833B2
JPS6343833B2 JP53153783A JP15378378A JPS6343833B2 JP S6343833 B2 JPS6343833 B2 JP S6343833B2 JP 53153783 A JP53153783 A JP 53153783A JP 15378378 A JP15378378 A JP 15378378A JP S6343833 B2 JPS6343833 B2 JP S6343833B2
Authority
JP
Japan
Prior art keywords
channel
error
syndrome
data
diagonal
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
Application number
JP53153783A
Other languages
Japanese (ja)
Other versions
JPS54118748A (en
Inventor
Mooteibai Pateru Aauindo
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
Priority claimed from US05/884,463 external-priority patent/US4205324A/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS54118748A publication Critical patent/JPS54118748A/en
Publication of JPS6343833B2 publication Critical patent/JPS6343833B2/ja
Granted 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
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Description

【発明の詳細な説明】[Detailed description of the invention]

本発明の背景 本発明は磁気テープ記憶システムのような複数
チヤネル並列データ処理システムにおける既知の
誤りチヤネルを検出し訂正する装置に関する。更
に具体的には、本発明は冗長チヤネルの数を増加
させないで、同一記録媒体上に記録された訂正可
能誤りチヤネルの数を増加させることに関する。 磁気テープ記憶システムではテープ・サイズ、
データ形式、記録密度に関して工業規格が定めら
れてきた。例えば、テープ上に9トラツクを記録
するためには、1.27cm幅のテープが使用される。
通常、データはテープ上でビツト並列及びバイト
直列になるように記録される。この記録形式によ
れば、異なつた密度でデータをテープから読取り
又はそこへ書込むために、同一の9トラツク・ヘ
ツドを使用することができる。 磁気テープは柔軟であり可撓性に富む。磁気テ
ープ記憶システムは、例えば剛性磁気デイスクの
ような他の形態の移動型磁気記憶媒体と異なり、
データを転送する時に1個又はそれ以上の固定ヘ
ツドに対してテープの不均一な接触関係で移動さ
せることを必要とする。ヘツドとテープとの間で
遊離した微小な屑、又はテープの酸化物欠損地点
は信号振幅の損失を生じ、1つ又はそれ以上のチ
ヤネルでデータ・エラーを生じる。このような状
況の下では、誤りチヤネルの再生クロツクは他の
チヤネルのデータと同期を失う可能性がある。そ
の結果、テープへのデータの記録又はその読取り
は、非常に長いセグメントにわたつて誤りとなる
かも知れない。この点に関して、テープの雑音長
は一時的雑音又はバースト雑音のいずれとも異な
つたデータ復元問題を生じる。一時的雑音又はバ
ースト雑音によつて誘起されたエラーの特徴は、
それが通常有限の持続時間を有することである。
欠陥データの再生は巡回特性を有する誤り検査コ
ードを使用すれば可能である。このコードは理論
及び使用法において複雑である。 可変密度で記録することができ、かつ誤りの検
出及び訂正のために巡回コードを利用することの
できる磁気テープ記憶システムの例は、
IBM3420モデル4,6,8磁気テープ装置と共
に使用されるIBM3803磁気テープ制御装置であ
る。実際に使用される巡回コードは米国特許第
3868632号に説明されている。 現在のテープ使用上の慣習として、9本のチヤ
ネルより成る一組のチヤネルの中で、7本のチヤ
ネルについての冗長情報は残りの2本のチヤネル
に記録される。この構成によれば、2本までの誤
りチヤネルを訂正することができる。一組のチヤ
ネルに2本の冗長チヤネルが設けられ、二組以上
の論理的に独立した並列チヤネルをテープ上に記
録する場合については、特開昭54−88109号公報
を参照されたい。この公開公報は、1つのチヤネ
ル組における複数本の誤りチヤネルを訂正するた
めに、他のチヤネル組の未使用の冗長度を利用す
る方法及び装置を開示している。9チヤネル・デ
ータ処理システムにおいて誤りの検出及び訂正を
行う先行技術は、米国再発行特許第28923号、米
国特許第3868632号、IBM技術開示公報(IBM
Technical Disclosure Bulletin、Vcl.14、pp38
〜46、May1972)、及びIEEE文献「磁気テープ
のための二重トラツク誤り訂正コード」(A
Double Track Error Correction Code for
Magnetic Tape、IEEE Transactions on
Computers、June 1976、pp642〜645)に示され
ている。 上記米国再発行特許第28923号及び第3868632号
に開示されるコードは、情報を連続的にブロツク
に区分し、巡回パリテイ符号化計画に従つて個々
のブロツクのために検査ビツトを計算することを
必要とする。これら検査ビツトは後で記録され
る。並列チヤネルからデータを復元する場合、各
ブロツクの検査ビツトは、事実上再度計算され比
較されねばならない。そのような巡回コードを使
用する装置は、複雑であり費用がかかる。更に重
要なことは、1つのデータ・ブロツクを復元する
時に得られた検査情報は、次のデータ・ブロツク
を復元する時には捨てられてしまうことである。 上記IEEE文献は、2本の誤りチヤネルを訂正
するために、2本の冗長チヤネル上に記憶された
垂直パリテイ検査符号と単一の対角線パリテイ検
査符号とを使用するコード構成を開示している。
前記IBM技術開示公報は、利用可能なデータへ
モジユーロ2加算された単純パリテイから、利用
不可能なデータに代るデータ値を計算することに
よつて、複数のテープからレコードを復元する方
法を説明している。 本発明の要約 本発明の目的は、巡回訂正又はブロツク解読の
必要なしに、複数チヤネル並列データ処理システ
ム上の誤りチヤネルが検出されて訂正され、記録
されたデータの復元時に得られた検査情報が続い
て復元されるデータの誤りを検出し訂正するため
に使用される装置を提供することである。 本発明の他の目的は、長い(殆んど無限の)誤
りランがあつても3本までの既知の誤りチヤネル
を検出し訂正する装置を提供することである。 本発明の他の目的は、外部ポインタが無い場合
又は外部ポインタを補うために、誤りチヤネルを
指示する内部ポインタを発生する装置を提供する
ことである。 本発明の他の目的は、単一のパリテイ符号を多
様なデータ形式で記録し、検査バイトをデータ・
バイトの中へ選択的に介在させることができる装
置を提供することである。 上記の目的は、少なくとも1本の冗長チヤネル
を有する複数チヤネル・データ処理システムが、
3本までの誤りチヤネルを訂正する装置へ結合さ
れる本発明の実施例によつて達成される。誤りチ
ヤネル訂正装置において、垂直パリテイ検査符号
は第1冗長チヤネルに記録され、所定の正又は負
の傾斜方向で取られた対角線パリテイ検査符号は
一群のフオーマツト(形式)から選択された1つ
のフオーマツトへ記録される。一群のフオーマツ
トは第2及び第3の冗長チヤネルのような非分散
フオーマツト、規則的に間隔をとられたチヤネル
横断バイト位置の対を含む分散フオーマツト、規
則的に間隔をとられたチヤネル横断バイトが冗長
チヤネルと共に使用される混合フオーマツトより
成る。並列チヤネルに記録されたデータを正確に
再生するために、誤りチヤネル訂正装置はパリテ
イ検査符号及びデータからシンドロームを決定す
る。更に具体的に云えば、誤りチヤネル訂正装置
はパリテイ検査符号及びデータから対角線シンド
ローム及び垂直シンドロームの両者を決定する。
誤りの検出は2つのシンドロームが既知の誤りチ
ヤネルにおいて同一の誤り個所で交差したことに
基づいてなされる。訂正は誤り乃至訂正信号を元
のチヤネル・データと論理的に結合することによ
つてなされる。この場合、2つの交差シンドロー
ムの1つは対角線シンドロームでなければならな
い。訂正信号を発生する場合、2つの対角線シン
ドロームから既知の誤りチヤネルに近いシンドロ
ームを選択する手段が設けられる。 本発明において、既知のチヤネルで誤りが検出
された時、その誤り個所を対角線的に横切るシン
ドロームのパリテイを反転することによつて、シ
ンドロームの連続的な修正がなされる。従つて、
残りの対角線シンドロームは未だ訂正されない新
しい誤りによつてのみ影響を受けている。 本発明の1つの局面として、誤りチヤネルを指
示する内部ポインタは、外部ポインタの不在の場
合又は外部ポインタの補助として、対角線シンド
ローム及び垂直シンドロームから発生される。内
部ポインタの発生は、専用のカウンタを使用し、
対角線シンドローム及び垂直シンドロームにおけ
るパリテイ検査符号の不一致に基づくビツト位置
の差の関数としてカウンタ値を修正することによ
つてなされる。誤り個所を横切る対角線シンドロ
ームと垂直シンドロームとのパリテイ検査符号の
不一致は、カウンタの初期値及びそれが変更され
る方向を決定する。対角線シンドロームと垂直シ
ンドロームとの次の不一致は、何時カウンタが停
止するかを決定する。ポインタそれ自体は、第1
のシンドローム不一致と第2のシンドローム不一
致との間に存在するチヤネル内ビツト位置のカウ
ント差である。遠い対角線シンドロームと垂直シ
ンドロームとの間の不一致はカウンタを増加さ
せ、近い対角線シンドロームと垂直シンドローム
との間の不一致はカウンタを減少させる。唯一の
例外は垂直パリテイ符号を記録するチヤネルに誤
りが生じる場合がある。この場合、2つの対角線
シンドロームは一致し、垂直シンドロームは不一
致を示す。 実施例の説明 第1図を参照すると、そこには本発明を組込ん
だ複数チヤネル並列データ記憶システムの既略ブ
ロツク図が示される。情報源1からの情報はバツ
フア付き制御装置3へ印加される。制御装置3は
データを形式化し、必要なパリテイ符号化を行な
い、形式化されパリテイ符号化されたデータを記
憶ユニツト5の並列チヤネル上に記録せしめる。
バツフア付き制御装置7は上記並列チヤネル上に
記録されたデータを読取り、それを利用装置11
へ与えるために再形式化し解読する。 動作的には、制御装置3の情報は並列形式で通
路2を介してパリテイ検査符号器9へ送られる。
符号器9では、パリテイ検査ビツトがバイトと呼
ばれる情報信号の組について逐次に発生される。
パリテイ検査ビツトが情報信号と共に記録された
後、これらの双方を記憶ユニツト5から読出し、
2つのシンドローム及びポインタを利用して訂正
信号を誘導し、訂正信号と読出し情報とを結合す
ることによつて、情報中のパリテイ検出された誤
りを変更することができる。シンドローム及び訂
正信号の誘導は解読器19でなされる。解読器1
9は検査ビツトを用いてシンドロームを誘導す
る。情報(データ)信号をカバーする検査ビツト
は、垂直方向及び正又は負の傾斜を有するチヤネ
ル横断方向に記録されている。 ここで再び第1図を参照すると、解読器19は
通路21を介してデータを受取り、通路33を介
して解読されたデータを戻すように制御装置7と
相互に作用する。第4図は解読器によるシンドロ
ームの発生、その修正、及び訂正信号の発生を示
す論理図である。解読器入力通路21を介して印
加されたデータは対角線シンドローム発生器2
3、誤りパターン発生器25、誤り訂正器27に
よつて処理される。概略的には、並列トラツク上
に誤りを有するデータは、シンドローム発生器2
3へ接続された通路21の並列線へ印加される。
シンドローム発生器23の出力は誤りパターン発
生器25へ印加される。単一チヤネル(i=j)
を訂正する場合の訂正信号en(i)は、通路29を介
して誤り訂正器27へ印加される。2本のチヤネ
ルを訂正する場合には、信号en(i)及びen(j)が通路
29及び35を介して誤り訂正器27へ印加され
る。連続的なシンドローム修正は、通路601を
介して訂正信号をゲート装置22へフイードバツ
クし、シンドローム発生器23から誤りパターン
発生器25へ入力されつつある新しいシンドロー
ム情報と相互に作用させることによつて達成され
る。 2本のチヤネルを訂正する記録フオーマツト及び
検査ビツト ここで第2A図〜第2C図を参照すると、そこ
にはテープに沿つて9本の並列チヤネルを記録す
るフオーマツトが示されている。第2A図では、
8本のチヤネル(トラツク)についてパリテイ・
ビツトを記録するためチヤネルPが設けられてい
る。このようなパリテイ・ビツトは米国特許第
3508194号、同第3508195号、同第3508196号に記
載されるように垂直冗長検査(VRC)ビツトと
して知られている。8ビツト及びVRCビツトよ
り成るバイトBnは9本のチヤネル上に同時に記
録される。それは米国再発行特許第25527号に開
示されるところに従つて、記録されたチヤネルか
ら読出されバイトへ再編成されてよい。 第2A図において、Bn(k)はk番目のチヤネル
に沿つて左から右へ進む場合のm番目のビツトを
指すものとする。更に、Bnは磁気テープの如き
記録媒体の並列チヤネル0〜7に記録された8ビ
ツト・バイトを表わすものとする。Bnは次のよ
うに表わすことができる。 Bn=〔Bn(0),Bn(1),Bn(2),…Bn(7)〕 ……(1) ここでm=0〜M、M=8xnである。Bn(8)はチ
ヤネルP上に記録されたBnのバイト・パリテイ
である。即ち、 Bn(8)=7k=0 Bn(k) ……(2) (総和記号上の円はモジユーロ2合計を示す。) B0,B8,B16,B24,……,B8Nはチエツク・バ
イトである。その各々はその両側にある7個のデ
ータ・バイトについて次のような対角線パリテイ
検査ビツトを与える。 Bn(k)=7-k 〓Γt=0 Bn-t(k+t)k 〓Γt=1 Bn+t(k−t)
……(3) レコードの2つの端部においてバイトB-1
B-2,……,B-7及びバイトBM+1,BM+2,……,
BM+7は存在せず。これらは式(3)の計算ではオー
ル・ゼロと考えられる。パリテイ検査式(2)及び(3)
は次のように書く直すことができる。 8 〓Γk=0 Bn(k)=0 ……(4) 7 〓Γk=0 Bn-k(k)=0 ……(5) 読出されたバイトは誤りを有するかも知れな
い。もし式4及び5のパリテイ検査が満足されな
ければ、結果は誤りのシンドロームと呼ばれる。 第2B図及び第2C図において、チヤネル(ト
ラツク)0はパリテイ・ビツトのために設けられ
ている。即ち、チヤネル0は正の傾斜方向で取ら
れた対角線パリテイ検査ビツトを記録するために
設けられている。第2D図において、対角線パリ
テイ検査は負及び正の傾斜方向で行われるように
示される。第2B図及び第2C図のフオーマツト
は2トラツクの訂正に用いられ、第2D図のフオ
ーマツトは3トラツクの訂正に用いられる。 対角線検査ビツトを発生する符号器 ここで第3図を参照すると、そこには第2A図
のフオーマツトで必要とされるパリテイ検査ビツ
トを発生する符号器9が示されている。垂直パリ
テイ検査ビツトは、垂直(チヤネル横断)方向の
チヤネル・ビツト値を単純にモジユーロ2加算す
ることによつて得られる。垂直検査(VRC)の
論理及び装置は、先行技術で詳細に説明されてい
るので(例えば米国再発行特許第28923号を参
照)、これ以上の説明は不必要であろう。従つて、
ここでは対角線パリテイ検査ビツト発生部分のみ
を示す。それは対角線パリテイ検査ビツトを発生
することのできるシフト・レジスタより成る。対
角線パリテイ検査ビツトは後に第2A図のフオー
マツトを満足させるために、制御装置3によつて
トラツク横断バイト位置B0,B8,B16,……,
B8Nに記録される。垂直パリテイ検査ビツトはチ
ヤネル8(トラツクP)に記録される。符号器9
の対角線パリテイ検査ビツト発生部分は、7段フ
リツプ・フロツプ(FF1,FF2,……FF6,
FF7)を含むシフト・レジスタより成る。各シ
フト・レジスタ段の間には、複数入力単一出力の
排他的OR(XOR)ゲートが介在している。XOR
ゲート195,197,199,201,20
3,205の各々は1つのレジスタ段を他のレジ
スタ段へ(例えばFF2をFF3へ)接続する他
に、チヤネル組のチヤネルを対角線的に横断する
ように配置されたビツトへ接続された入力を有す
る。XORゲート193はBn+i(0)の終端であ
り、XORゲート205は位置Bn+i(6)からビツト
を受取る。位置Bn+i(7)からのビツト値は段FF7
を直接に駆動する。 このシフト・レジスタ構成は式(3)及び(5)に従つ
て動作する。φはオール・ゼロ・バイトである。 φバイト及びデータ・バイトが図示された順序
で入れられるにつれて、検査バイトB0,B8,B16
……の各ビツトが連続的なシフト及び入力処理に
よつて出力6に発生される。即ち、先ず検査バイ
トB0が発生され、次にB8が発生され、以下同様
にして全ての検査バイトが発生される。これは
Bnを発生するためには(m=0,8,16,24,
……)、φ,Bn+1,Bn+2,……,Bn+7のバイトを
この順序でシフト・レジスタへ入れる必要がある
ことを意味する。Bn+iが入れられる時、Bnのi
番目のビツトが符号器9の出力6に発生される。
これまでのところ、垂直パリテイ検査及び対角線
パリテイ検査の組合せは、2本までの誤りチヤネ
ルを訂正することができる。ここでは正傾斜の対
角線パリテイ検査ビツトを発生する場合のみを説
明するので、負傾斜の対角線パリテイ検査ビツト
の発生については前記公開公報を参照されたい。 3チヤネルを訂正する場合の記録フオーマツト及
び検査 第2D図を参照すると、そこにはT本のチヤネ
ルのうち3本までの既知の誤りチヤネルを訂正す
ることのできるフオーマツトが示される。後述す
るように、これは3本の検査チヤネルの外に、単
に2(T−1)個の追加的な検査ビツトを必要と
するのみである。 第2D図に示されるフオーマツトにおいて、
Zn(t)はt番目のチヤネルに沿つたm番目のビ
ツトを示すものとする。0からT+1までの番号
を付けられた(T+2)本のトラツクが存在す
る。ビツト位置mは1からMまで変化する。0番
目、T番目、(T+1)番目のチヤネルはパリテ
イ検査ビツトを記録するために設けられる。(T
+1)番目のチヤネルにある検査ビツトは、残り
の(T+1)本のチヤネルにある同一位置mのビ
ツトをモジユーロ2合計したものである。この検
査は垂直パリテイ検査と呼ばれる。対応する符号
化式は次の通りである。 Zn(T+1)=T 〓Γt=0 Zn(t) ……(A−1) 第2D図に示されるように、0番目のチヤネル
の各検査ビツトは正傾斜を有する対角線に沿つて
パリテイ検査を与える。同様に、T番目のチヤネ
ルの各検査ビツトは負傾斜を有する対角線に沿つ
てパリテイ検査を与える。正傾斜を有するm番目
の対角線検査はd+ n検査と呼ばれ、次の符号化式
によつて与えられる。 Zn(0)=T 〓Γt=1 Zn-t(t) ……(A−2) 負傾斜を有するm番目の対角線検査はd- n検査
と呼ばれ、次の符号化式によつて与えられる。 Zn(T)=T 〓Γt=1 Zn-t(T−t) ……(A−3) レコードの最初の部分において、位置0から
(T−1)までの対角線検査ビツトを計算するに
は、負の番号を有する空の位置からのデータ・ビ
ツトを必要とする。便宜上、これらのデータ・ビ
ツトは0の2進値を有するものと考えられる。レ
コードの終りにおいて、各チヤネルの全ビツトへ
対角線検査ビツトを与えるために、検査チヤネル
0及びTは(T−1)個のビツト位置だけ延長さ
れる。延長された位置の検査ビツトは、空の位置
からのデータ・ビツトを必要とするが、これらの
データ・ビツトも0の2進値をとるものと仮定す
る。 第1図において、制御装置3及び7の構造、及
び記憶ユニツト5の内部制御は先行技術の領域に
属し、従つて符号器9と制御装置3との関係、及
び制御装置7と解読器19との関係の詳細な説明
は省略する。バツフアリング、符号化、解読の一
般的機能を含む典型的システムは、IBM3803磁
気テープ制御装置及びIBM3420磁気テープ装置
に見出される。 符号化データの復元 垂直及び対角線のパリテイ検査ビツトが発生さ
れ、フオーマツト化され、複数チヤネル並列記憶
媒体上に記録されるメカニズムから離れて、説明
の中心を本発明の究極的目的へ移すことにする。
本発明の究極的目的は、所与のチヤネル組におい
て3本までの既知の誤りチヤネルを検出し訂正す
ることである。以下の説明において、先ず誤りシ
ンドロームを説明し、次いで解読プロセスを説明
する。解読プロセスを説明するに当つては、第2
A図〜第2C図に示されるフオーマツトを参照し
て、誤りチヤネル・ポインタを有する場合の2チ
ヤネル訂正、及びポインタを有しない場合の単一
チヤネル訂正について別々に説明する。次いで第
2A図のフオーマツトを使用して、ポインタを有
する場合の3チヤネル訂正、及びポインタを有し
ない場合の単一チヤネル訂正を説明する。最後
に、順方向読取りと同じように逆方向読取りにお
いても誤り訂正が読取り対称形について説明する
こととする。 2チヤネル訂正のためのシンドローム決定 前述した如く、読出されたバイトは誤りを有す
るかも知れない。式(4)及び(5)で表わされたパリテ
イ検査が満足されなければ、その結果は誤りのシ
ンドロームと呼ばれる。換言すれば、非ゼロのシ
ンドロームは誤りが存在することを明瞭に示す。
記録媒体から読出されたm番目の8ビツト・バイ
トをB^nとする。更に、記録媒体から読出された
バイト・パリテイをB^n(8)とする。m番目の垂直
パリテイ検査シンドロームは次の関係式に従い
Svnによつて表わされる。 Svn8 〓Γk=0 B^n(k) ……(6) m番目の対角線パリテイ検査誤りシンドローム
Sdnは次のように表わされる。 Sdn7 〓Γk=0 B^n-k(k) ……(7) 読出されたB^n(k)と書込まれたBn(k)とのモジユ
ーロ2差はm番目のバイトのk番目のビツト位置
にある誤りパターンen(k)である。 Bn(k)=B^n(k)en(k) ……(8) もし式(4)及び(6),(5)及び(7)がそれぞれ結合さ
れ、〔B^n(k)Bn(k)〕に対してen(k)を代入すれば
次のようになる。 Svn8 〓Γk=0 〔B^n(k)Bn(k)〕=8 〓Γk=0 en(k) ……(9) Sdn7 〓Γk=0 〔B^n-k(k)B^n-k(k)〕=7 〓Γk=0 en-k(k) ……(10) 今や1本の未知の誤りトラツクにある誤り、又
は2本までの既知の誤りトラツクにある誤りは、
シンドロームSvn及びSdnを処理することによつ
て訂正することができる。 3チヤネル訂正のためのシンドローム決定 第2D図に示されるフオーマツトに関連するシ
ンドローム処理は、第2A図のものと同じように
してなされる。3トラツク訂正の場合、記録され
読出されたデータとシンドロームと訂正信号とを
識別するために(第2D図)、記録されたビツト
値をZn(t)とし、読出されたビツト値をZ^n(t)
とする。この読出されたビツト値は誤りを有する
かも知れない。読出しデータへ適用される式(A
−1),(A−2)、又は(A−3)のパリテイ検
査の結果は誤りのシンドロームと呼ばれる。 m番目の垂直パリテイ検査は次のようなシンド
ロームを生じる。 SvnT+1 〓Γt=0 Z^n(t) ……(A−4) 正傾斜を有するm番目の対角線パリテイ検査は
次のようなシンドロームを生じる。 Sd+ nT 〓Γt=0 Z^n-t(t) ……(A−5) 負傾斜を有するm番目の対角線パリテイ検査は
次のようなシンドロームを生じる。 Sd- nT 〓Γt=0 Z^n-t(T−t) ……(A−6) 式(A−1)及び(A−4)、式(A−2)及
び(A−5)、式(A−3)及び(A−6)を結
合すると次のような結果を得る。 SvnT+1 〓Γt=0 〔Z^n(t)Zn(t)〕 ……(A−7) Sd+ nT 〓Γt=0 〔Z^n-t(t)Zn-t(t)〕 ……(A−8) Sd- nT 〓Γt=0 〔Z^n-t(T−t) Zn-t(T−t)〕 ……(A−9) en(t)を次のように定義して en(t)=Z^n(t)Zn(t) ……(A−10) 式(A−7),(A−8),(A−9)へ式(A−
10)を代入すると、次のような結果を得る。 SvnT+1 〓Γt=0 en(t) ……(A−11) Sd+ nT 〓Γt=0 en-t(t) ……(A−12) Sd- nT 〓Γt=0 en-t(T−t) ……(A−13) これらのシンドロームを処理することによつ
て、各種の誤りを訂正することができる。磁気テ
ープにおいて、圧倒的に多い誤りは磁気媒体中の
大きなキズに起因するチヤネル誤りである。誤り
チヤネルは信号損失、超過位相誤り、許容できな
い記録パターン、その他の同様な外部ポインタに
よつて知られる。このような外部ポインタが不在
の場合、誤りチヤネルはシンドロームを処理する
ことによつて知ることができる。上記のシンドロ
ームを処理することによつて、3本までの既知の
誤りチヤネルが訂正され、且つ外部ポインタが存
在しない場合でも1本の誤りチヤネルが決定され
訂正され得る。1本の誤りチヤネルを指定するポ
インタが存在する場合には、第2の誤りチヤネル
を決定することができ、これら2つの誤りチヤネ
ルを訂正することができる。 解読プロセス及び解読装置 解読プロセスはデータへアクセスし、記憶ユニ
ツト5の並列になつた複数チヤネルから制御装置
7へデータを転送することを含む。ここで制御装
置7は解読器19と協働して、どのチヤネルが誤
りであるかを決定し訂正信号を発生する。複数チ
ヤネルの訂正を考える場合に、所与のチヤネルの
ビツトが誤りであることを決定するために冗長度
を使用することと、誤りを訂正するために冗長度
を使用することとの間には相殺関係があることに
注意されたい。誤りの訂正とは、誤り値に代るデ
ータ値を計算することである。 ポインタを使用する2チヤネル訂正 もし誤りがチヤネル誤りポインタi及びjで指
示されるような最大2本の既知のチヤネルへ限定
されるならば(ここでi<j)、全ての誤りを訂
正することができる。式(9)はm番目のバイトであ
る誤りに関して次のように書き直すことができ
る。 Svn=en(i)en(j) ……(11) 各々の対角線パリテイ検査は最大2つの誤りパ
ターンによつて影響を受ける。全ての誤りは各チ
ヤネルの(m−1)番目のビツト位置へ至るまで
訂正され、シンドローム式は全ての訂正された誤
りパターンについて調整されるものと仮定すれ
ば、m番目のバイトの誤りは(m+i)番目及び
(m+j)番目の対角線検査に影響を与える。即
ち、これらの対角線検査のために、式(10)は次のよ
うに書き直すことができる。 Sdn+i=en(i) ……(12) Sdn+j=en(j)en+j-i(i)
j≠8の場合 ……(13) 式(11)及び(12)は次のような誤りパターンを発生す
る。 en(i)=Sdn+i ……(14) en(j)=Sdn+iSvn ……(15) 次いでバイトBnは次のように式(8),(14),
(15)を使用して訂正される。 B^n(i)=Bn(i)en(i) ……(16) B^n(j)=Bn(j)en(j) ……(17) もしj≠8であれば、(m+j)番目の対角線
シンドロームは次のようにBn(j)の訂正を反映す
るように修正される。 Sdn+j←Sdn+jen(j)
j≠8の場合 ……(18) 上記の訂正手順は、mを+1だけ増加させるこ
とによつて、次のバイトへ同様に適用される。チ
ヤネル誤りポインタi及びjの新しい値が前の値
よりも小さくなければ、それらは任意のバイト位
置mで変更されることができる。ポインタ値は割
当てられる前に、全てのチヤネルが少なくとも7
個の連続バイトについて誤りを有しなければ、i
及びjへ任意の値を割当てることができる。ここ
でi<jとする。 内部ポインタの発生及び単一チヤネル誤り訂正 この場合、j番目のチヤネルは誤りであり、j
は知られていない。m番目のバイトにある誤りは
m番目の垂直パリテイ検査及び(m+j)番目の
対角線パリテイ検査に影響を与える。これらのパ
リテイ検査のために、式(9)及び(10)は次のように書
き直すことができる。 Svn=en(j) ……(19) Sdn+j=en(j)、 j≠8の場合 ……(20) Svn=1は誤りの存在を示すことに注意された
い。ポインタjは数値0〜7の中で次式を満足さ
せるような最小の整数である。 Svn=1=Sdn+j ……(21) もし0から7までの全てのjについてSvn=1
及びSdn+j=0であれば、j=8である。次いで、
バイトBnは次のように訂正される。 B^n(j)=B^n(j)en(j) ……(22) もしj≠8であれば、後に使用される(m+
j)番目の対角線シンドロームは、次のように
B^n(j)の訂正を反映するように修正される。 Sdn+j←Sdn+jen(j) ……(23) もしポインタjがバイトによつて変更されるよ
うなことがあれば、誤りは1本のトラツクに限定
されないことに注意されたい。そのような誤りは
間違つた訂正をすることなしには訂正することが
できない。jのための新しい値は、誤りのない少
なくとも7個の連続したビツト位置の次に使用す
ることができる。 解読器の実施例 第4図を参照すると、そこには解読器19の詳
細な論理図が示される。それは対角線シンドロー
ム発生器23、誤りパターン発生器25、誤り訂
正器27を含む。データB^n+i(0),B^n+i(1),…
…,B^n+i(6),B^n+i(7)はバイト直列及びビツト並列
でシンドローム発生器23へ印加される。シンド
ローム発生器23は7段シフト・レジスタ(段
FF1〜FF7)を含み、最後の段を除く各段への
入力は、シフト・レジスタ段の内容と印加された
データ・ビツトとをモジユーロ2加算したもので
ある。 データ・バイトB^n+8がシンドローム発生器2
3へ印加されるのと同時に、データ・バイトB^n
が同様に通路21を介して誤り訂正器27へ印加
されている。第5図に示される誤り訂正器27
は、通路29及び35から与えられる誤り訂正信
号en(i)もしくはen(j)とデータ・バイトの対応する
要素とを論理結合(モジユーロ加算)して、通路
33へ訂正データを与えるように構成されてい
る。 第4図の誤りパターン発生器25はシンドロー
ム・プロセツサ24、プロセツサ24に含まれる
シンドロームを修正して誤り訂正信号en(i)もしく
はen(j)を発生させるゲート装置22及び26を含
む。この実施例において、2本までの誤りチヤネ
ルが訂正されてよい。 シンドローム・プロセツサ24は8段シフト・
レジスタ(FF7……FF0)を含む。最初の段を
除く各段への入力は、各段の内容とゲート装置2
2から誘導されたシンドローム修正値とをモジユ
ーロ2加算したものである。このゲート構成は、
通路601上の誤り訂正信号en(j)をポインタ値J1
〜J7によつて決定されたシンドローム・プロセツ
サ24の対応するXORゲートへ印加する。同様
に、シンドローム・プロセツサ24のシフト・レ
ジスタ内容は、他のポインタ値I0〜I7によつて制
御されるゲート装置26を通過する。 対角線シンドロームSdn+iの0から7まで変位
された全ての値は、シンドローム・プロセツサ2
4のシフト・レジスタ段FF7〜FF0及びゲート装
置26の関連したゲートによつて容易に利用可能
となる。シフト・レジスタの各段を接続する
XORゲートは、シンドローム値が新しい位置へ
変位される時に、前サイクルからの訂正された誤
りパターンによつてシンドローム値を修正する。
各バイトがシンドローム発生器23へ挿入される
各サイクルで、1ビツトがそこからシフトされ、
シンドローム・プロセツサ24の最初の段に入
る。ゲート装置26中に示されるように、2本の
誤りチヤネルが訂正されている時にのみ、AND
ゲート605はSdn+iの値を訂正信号として通過
させるであろう。これはゲート605を能動化す
ることによつてなされる。他方、この値は入力6
3上の垂直パリテイ・シンドロームと排他的OR
結合され、その結果は通路601へ印加される。
もし1本だけのチヤネルが訂正されているのであ
れば、通路601を介してなされるシンドローム
の修正は必要でない。即ち、単一チヤネルの訂正
では、訂正信号en(i)のみが通路29を介して誤り
訂正器27へ送られる。 I及びJは最大2本の誤りチヤネルを指定する
ポインタを表わす。これらのポインタは外部的に
誘導されるか、又は内部的に発生される。ポイン
タを内部的に発生する方法は後に説明される。
BACKGROUND OF THE INVENTION The present invention relates to an apparatus for detecting and correcting known erroneous channels in multiple channel parallel data processing systems, such as magnetic tape storage systems. More specifically, the present invention relates to increasing the number of correctable error channels recorded on the same recording medium without increasing the number of redundant channels. In magnetic tape storage systems, the tape size,
Industrial standards have been established regarding data formats and recording densities. For example, to record nine tracks on a tape, a 1.27 cm wide tape is used.
Typically, data is recorded on tape bit-parallel and byte-serial. This recording format allows the same nine-track head to be used to read data from or write data to tape at different densities. Magnetic tape is flexible and highly flexible. Magnetic tape storage systems differ from other forms of mobile magnetic storage media, such as rigid magnetic disks, in that they
Transferring data requires moving the tape in uneven contact with one or more fixed heads. Microscopic debris that becomes loose between the head and tape, or spots of oxide defects in the tape, result in loss of signal amplitude and data errors in one or more channels. Under these circumstances, the recovered clock of the erroneous channel may become out of sync with the data of the other channels. As a result, recording data to or reading data from tape may be erroneous over very long segments. In this regard, tape noise length presents a different data recovery problem than either transient or burst noise. The characteristics of errors induced by transient or burst noise are:
It is that it usually has a finite duration.
Reproduction of defective data is possible by using an error checking code with cyclic characteristics. This code is complex in theory and usage. Examples of magnetic tape storage systems that can record at variable densities and utilize cyclic codes for error detection and correction include:
IBM 3803 magnetic tape controller used with IBM 3420 model 4, 6, and 8 magnetic tape units. The cyclic code actually used is the U.S. Patent No.
It is explained in No. 3868632. Current tape usage practice is that in a set of nine channels, redundant information for seven channels is recorded on the remaining two channels. According to this configuration, up to two error channels can be corrected. Regarding the case where one set of channels is provided with two redundant channels and two or more sets of logically independent parallel channels are recorded on a tape, please refer to Japanese Patent Laid-Open No. 88109/1988. This publication discloses a method and apparatus that utilizes unused redundancy in one channel set to correct multiple erroneous channels in another channel set. Prior art for detecting and correcting errors in nine-channel data processing systems includes U.S. Reissue Patent No. 28923, U.S. Patent No. 3868632, and IBM Technical Disclosure Publication (IBM).
Technical Disclosure Bulletin, Vcl.14, pp38
~46, May 1972), and the IEEE document “Dual Track Error Correction Codes for Magnetic Tape” (A
Double Track Error Correction Code for
Magnetic Tape, IEEE Transactions on
Computers, June 1976, pp642-645). The codes disclosed in the above-referenced U.S. Pat. I need. These check bits will be recorded later. When recovering data from parallel channels, the check bits of each block must effectively be recomputed and compared. Devices using such cyclic codes are complex and expensive. More importantly, the verification information obtained when restoring one data block is discarded when restoring the next data block. The above IEEE document discloses a code structure that uses vertical parity check codes and a single diagonal parity check code stored on two redundant channels to correct two error channels.
The IBM Technical Disclosure Bulletin describes a method for restoring records from multiple tapes by calculating data values to replace unavailable data from simple parity with modulus 2 added to the available data. are doing. SUMMARY OF THE INVENTION It is an object of the present invention to detect and correct erroneous channels on a multi-channel parallel data processing system without the need for cyclic correction or block decoding, so that the check information obtained during recovery of recorded data is It is an object of the present invention to provide an apparatus used to detect and correct errors in subsequently restored data. Another object of the invention is to provide an apparatus for detecting and correcting up to three known error channels even with long (almost infinite) error runs. Another object of the invention is to provide an apparatus for generating internal pointers pointing to error channels in the absence or to supplement external pointers. Another object of the present invention is to record a single parity code in a variety of data formats and to record check bytes in data and data formats.
It is an object of the present invention to provide a device that can be selectively inserted into a bite. The above objectives provide that a multi-channel data processing system having at least one redundant channel:
This is accomplished by an embodiment of the invention coupled to a device that corrects up to three error channels. In the error channel correction device, vertical parity check codes are recorded in the first redundant channel, and diagonal parity check codes taken in a predetermined positive or negative slope direction are recorded in one format selected from a group of formats. recorded. The group of formats includes non-distributed formats such as second and third redundant channels, distributed formats that include regularly spaced pairs of channel-crossing byte locations, and distributed formats that include regularly spaced pairs of channel-crossing bytes. Consists of a mixed format used with redundant channels. In order to accurately reproduce the data recorded on the parallel channels, the error channel correction device determines syndromes from the parity check code and the data. More specifically, the error channel correction device determines both diagonal syndromes and vertical syndromes from the parity check code and data.
Error detection is based on the fact that two syndromes intersect at the same error location in a known error channel. Corrections are made by logically combining the error or correction signal with the original channel data. In this case, one of the two crossing syndromes must be a diagonal syndrome. When generating a correction signal, means are provided for selecting from the two diagonal syndromes a syndrome that is close to the known error channel. In the present invention, when an error is detected in a known channel, successive corrections of the syndrome are made by inverting the parity of the syndrome diagonally across the error location. Therefore,
The remaining diagonal syndromes are only affected by new errors that have not yet been corrected. As an aspect of the invention, internal pointers pointing to error channels are generated from diagonal syndromes and vertical syndromes in the absence or as an aid to external pointers. Internal pointer generation uses a dedicated counter,
This is done by modifying the counter value as a function of the bit position difference based on the parity check code mismatch in the diagonal and vertical syndromes. The discrepancy in the parity check codes of the diagonal and vertical syndromes across the error location determines the initial value of the counter and the direction in which it is changed. The next mismatch between the diagonal syndrome and the vertical syndrome determines when the counter stops. The pointer itself is the first
This is the count difference in intra-channel bit positions between the first syndrome mismatch and the second syndrome mismatch. A discrepancy between a far diagonal syndrome and a vertical syndrome increases the counter, and a discrepancy between a near diagonal syndrome and a vertical syndrome decreases the counter. The only exception is that the channel recording the vertical parity code may be erroneous. In this case, the two diagonal syndromes coincide and the vertical syndrome indicates a mismatch. DESCRIPTION OF THE EMBODIMENTS Referring to FIG. 1, there is shown a simplified block diagram of a multiple channel parallel data storage system incorporating the present invention. Information from the information source 1 is applied to a buffered control device 3. The control device 3 formats the data, performs the necessary parity encoding and causes the formatted and parity encoded data to be recorded on parallel channels of the storage unit 5.
The buffered control device 7 reads the data recorded on the parallel channel and uses it in the device 11 that uses it.
Reformat and decipher it to give to. Operationally, the information of the controller 3 is sent in parallel form via the path 2 to the parity check encoder 9.
In the encoder 9, parity check bits are generated sequentially for sets of information signals called bytes.
After the parity check bit has been recorded together with the information signal, both of these are read out from the storage unit 5 and
By utilizing two syndromes and a pointer to guide a correction signal and combining the correction signal with the read information, parity detected errors in the information can be modified. The derivation of the syndrome and correction signals is done in the decoder 19. Decoder 1
9 induces the syndrome using test bits. Test bits covering the information (data) signal are recorded in the vertical direction and in the cross-channel direction with a positive or negative slope. Referring again to FIG. 1, decoder 19 interacts with controller 7 to receive data via path 21 and return decoded data via path 33. FIG. 4 is a logic diagram showing the generation of syndromes, their correction, and generation of correction signals by the decoder. The data applied via the decoder input path 21 is input to the diagonal syndrome generator 2.
3. Processed by error pattern generator 25 and error corrector 27. Generally speaking, data with errors on parallel tracks are processed by syndrome generator 2.
3 is applied to the parallel line of passage 21 connected to 3.
The output of the syndrome generator 23 is applied to an error pattern generator 25. Single channel (i=j)
The correction signal e n (i) for correcting is applied to the error corrector 27 via a path 29. When correcting two channels, the signals e n (i) and e n (j) are applied to the error corrector 27 via paths 29 and 35. Continuous syndrome correction is accomplished by feeding the correction signal back to gating device 22 via path 601 and interacting with new syndrome information being input from syndrome generator 23 to error pattern generator 25. be done. Recording Format and Test Bits for Correcting Two Channels Referring now to FIGS. 2A-2C, a format for recording nine parallel channels along the tape is shown. In Figure 2A,
Parity for 8 channels (tracks)
A channel P is provided for recording bits. Such parity bits are covered by U.S. Patent No.
It is known as the Vertical Redundancy Check (VRC) bit, as described in US Pat. A byte Bn consisting of 8 bits and a VRC bit is recorded simultaneously on 9 channels. It may be read from the recorded channel and reorganized into bytes as disclosed in US Reissue Patent No. 25,527. In FIG. 2A, let B n (k) refer to the mth bit as we proceed from left to right along the kth channel. Further, let B n represent an 8-bit byte recorded on parallel channels 0-7 of a recording medium such as magnetic tape. B n can be expressed as follows. B n = [B n (0), B n (1), B n (2), ... B n (7)] ... (1) where m = 0 to M, and M = 8xn. B n (8) is the byte parity of B n recorded on channel P. That is, B n (8)= 7k=0 B n (k) ……(2) (The circle on the sum symbol indicates the modulus 2 total.) B 0 , B 8 , B 16 , B 24 ,… ..., B 8N is a check bite. Each provides diagonal parity check bits for the seven data bytes on either side of it: B n (k)= 7-k 〓Γ t=0 B nt (k+t) k 〓Γ t=1 B n+t (k-t)
...(3) Byte B -1 at the two ends of the record,
B -2 ,...,B -7 and byte B M+1 ,B M+2 ,...,
B M+7 does not exist. These are considered to be all zeros in the calculation of equation (3). Parity check formula (2) and (3)
can be rewritten as: 8 〓Γ k=0 B n (k)=0 ...(4) 7 〓Γ k=0 B nk (k)=0 ...(5) The read byte may have an error. If the parity checks of equations 4 and 5 are not satisfied, the result is called an error syndrome. In Figures 2B and 2C, channel 0 is provided for the parity bit. That is, channel 0 is provided for recording diagonal parity check bits taken in the positive slope direction. In FIG. 2D, diagonal parity checking is shown to be performed in the negative and positive slope directions. The formats of FIGS. 2B and 2C are used for two-track corrections, and the format of FIG. 2D is used for three-track corrections. Encoder for Generating Diagonal Check Bits Referring now to FIG. 3, there is shown an encoder 9 that generates the parity check bits required in the format of FIG. 2A. The vertical parity check bits are obtained by simply adding modulus 2 the channel bit values in the vertical (cross-channel) direction. Vertical check (VRC) logic and apparatus are explained in detail in the prior art (see, eg, US Reissue Pat. No. 28,923), so further explanation may be unnecessary. Therefore,
Only the diagonal parity check bit generation portion is shown here. It consists of a shift register capable of generating diagonal parity check bits. The diagonal parity check bits are later set by the control device 3 at track-crossing bite positions B 0 , B 8 , B 16 , . . . in order to satisfy the format of FIG. 2A.
Recorded in B 8N . Vertical parity check bits are recorded on channel 8 (track P). encoder 9
The diagonal parity check bit generation portion of is a 7-stage flip-flop (FF1, FF2,...FF6,
It consists of a shift register including FF7). Interposed between each shift register stage is a multiple input single output exclusive OR (XOR) gate. XOR
Gate 195, 197, 199, 201, 20
In addition to connecting one register stage to another (e.g. FF2 to FF3), each of 3,205 has inputs connected to bits arranged diagonally across the channels of the channel set. have XOR gate 193 is the end of B n+i (0) and XOR gate 205 receives the bit from location B n+i (6). The bit value from position B n+i (7) is in stage FF7
directly driven. This shift register configuration operates according to equations (3) and (5). φ is all zero bytes. Check bytes B 0 , B 8 , B 16 as the φ bytes and data bytes are entered in the order shown.
Each bit of . . . is generated at output 6 by successive shifting and input processing. That is, first check byte B 0 is generated, then B 8 is generated, and so on, all check bytes are generated. this is
To generate B n (m=0, 8, 16, 24,
), φ, B n+1 , B n+2 , ..., B n+7 bytes must be put into the shift register in this order. When B n+i is entered, i of B n
The th bit is generated at the output 6 of the encoder 9.
So far, a combination of vertical parity check and diagonal parity check can correct up to two error channels. Since only the case of generating diagonal parity check bits with a positive slope will be described here, please refer to the above-mentioned publication for the generation of diagonal parity check bits with a negative slope. Recording Format and Testing for Correcting 3 Channels Referring to FIG. 2D, a format is shown that is capable of correcting up to 3 known error channels out of T channels. As will be explained below, this requires only 2(T-1) additional test bits in addition to the three test channels. In the format shown in FIG. 2D,
Let Z n (t) denote the mth bit along the tth channel. There are (T+2) tracks numbered from 0 to T+1. The bit position m changes from 1 to M. The 0th, Tth, and (T+1)th channels are provided for recording parity check bits. (T
The test bit in the +1)th channel is the sum of modulus 2 bits at the same position m in the remaining (T+1) channels. This test is called a vertical parity test. The corresponding encoding formula is as follows. Z n (T+1)= T 〓Γ t=0 Z n (t) ...(A-1) As shown in Figure 2D, each test bit of the 0th channel is arranged along a diagonal line with a positive slope. Give a parity check. Similarly, each test bit of the Tth channel provides a parity check along a diagonal with a negative slope. The mth diagonal test with positive slope is called the d + n test and is given by the following encoding formula: Z n (0) = T 〓Γ t=1 Z nt (t) ... (A-2) The m-th diagonal test with a negative slope is called the d - n test, and is determined by the following encoding formula. Given. Z n (T) = T 〓Γ t=1 Z nt (T-t) ... (A-3) To calculate the diagonal check bits from position 0 to (T-1) in the first part of the record. requires data bits from empty positions with negative numbers. For convenience, these data bits are considered to have a binary value of zero. At the end of the record, test channels 0 and T are extended by (T-1) bit positions to provide diagonal test bits for all bits in each channel. The extended position test bits require data bits from empty positions, but it is assumed that these data bits also take on a binary value of zero. In FIG. 1, the structure of the control devices 3 and 7 and the internal control of the storage unit 5 belong to the prior art, and therefore the relationship between the encoder 9 and the control device 3 and the relationship between the control device 7 and the decoder 19 is shown. A detailed explanation of the relationship will be omitted. Typical systems containing the general functions of buffering, encoding, and decoding are found in the IBM 3803 magnetic tape controller and the IBM 3420 magnetic tape unit. Restoration of Encoded Data Moving away from the mechanism by which vertical and diagonal parity check bits are generated, formatted, and recorded on a multi-channel parallel storage medium, we will shift the focus of the discussion to the ultimate objective of the present invention. .
The ultimate objective of the invention is to detect and correct up to three known erroneous channels in a given set of channels. In the following discussion, the error syndrome will be explained first, and then the decoding process will be explained. In explaining the decoding process, the second
Two-channel correction with an erroneous channel pointer and single-channel correction without a pointer will be discussed separately with reference to the formats shown in FIGS. The format of FIG. 2A will then be used to describe three channel correction with pointers and single channel correction without pointers. Finally, we will explain how error correction is symmetrical in reading in backward reading as well as in forward reading. Syndrome Determination for Two-Channel Correction As mentioned above, the bytes read may have errors. If the parity checks expressed by equations (4) and (5) are not satisfied, the result is called an error syndrome. In other words, a non-zero syndrome clearly indicates the presence of an error.
Let B^ n be the mth 8-bit byte read from the recording medium. Furthermore, let B^ n (8) be the byte parity read from the recording medium. The mth vertical parity check syndrome is according to the following relational expression:
It is represented by Sv n . Sv n = 8 〓Γ k=0 B^ n (k) ...(6) mth diagonal parity check error syndrome
Sd n is expressed as follows. Sd n = 7 〓Γ k=0 B^ nk (k) ...(7) The modulus 2 difference between the read B^ n (k) and the written B n (k) is the mth byte's This is the error pattern e n (k) at the k-th bit position. B n (k)=B^ n (k)e n (k) ...(8) If equations (4) and (6), (5) and (7) are combined, respectively, [B^ n (k )B n (k)] by substituting e n (k), we get the following. Sv n = 8 〓Γ k=0 [B^ n (k)B n (k)] = 8 〓Γ k=0 e n (k) ……(9) Sd n = 7 〓Γ k=0 [B ^ nk (k)B^ nk (k)〕= 7 〓Γ k=0 e nk (k) ...(10) Errors now in one unknown error track or up to two known error tracks The error in
It can be corrected by processing the syndromes Sv n and Sd n . Syndrome Determination for Three-Channel Correction The syndrome processing associated with the format shown in FIG. 2D is done in the same manner as in FIG. 2A. In the case of 3-track correction, in order to distinguish between recorded and read data, syndromes, and correction signals (Figure 2D), let the recorded bit value be Z n (t) and the read bit value be Z^. n (t)
shall be. This read bit value may contain errors. Formula applied to read data (A
-1), (A-2), or (A-3) parity check results are called error syndromes. The mth vertical parity check results in the following syndrome. Sv n = T+1 〓Γ t=0 Z^ n (t) ... (A-4) The mth diagonal parity check with positive slope produces the following syndrome. Sd + n = T 〓Γ t=0 Z^ nt (t) ... (A-5) The mth diagonal parity check with negative slope produces the following syndrome. Sd - n = T 〓Γ t=0 Z^ nt (T-t) ... (A-6) Formulas (A-1) and (A-4), Formulas (A-2) and (A-5) , formulas (A-3) and (A-6) yield the following result. Sv n = T+1 〓Γ t=0 [Z^ n (t) Z n (t)] ... (A-7) Sd + n = T 〓Γ t=0 [Z^ nt (t) Z nt (t)] ...(A-8) Sd - n = T 〓Γ t=0 [Z^ nt (T-t) Z nt (T-t)] ...(A-9) e n (t) Define as follows, e n (t) = Z^ n (t) Z n (t) ... (A-10) Equations (A-7), (A-8), (A-9) formula (A-
10), we get the following result. Sv n = T+1 〓Γ t=0 e n (t) ... (A-11) Sd + n = T 〓Γ t=0 e nt (t) ... (A-12) Sd - n = T 〓Γ t=0 e nt (T-t) ... (A-13) By processing these syndromes, various errors can be corrected. In magnetic tape, by far the most common errors are channel errors caused by large scratches in the magnetic medium. Error channels are known by signal loss, excessive phase errors, unacceptable recording patterns, and other similar external pointers. In the absence of such an external pointer, the error channel can be known by processing the syndrome. By handling the above syndromes, up to three known error channels can be corrected, and one error channel can be determined and corrected even in the absence of external pointers. If there is a pointer specifying one error channel, a second error channel can be determined and these two error channels can be corrected. Decryption Process and Decryption Device The decryption process involves accessing the data and transferring it from multiple parallel channels of the storage unit 5 to the control device 7. The controller 7 now cooperates with the decoder 19 to determine which channel is in error and generates a correction signal. When considering multiple channel correction, there is a difference between using redundancy to determine that a bit in a given channel is in error and using redundancy to correct the error. Note that there is a countervailing relationship. Error correction is the calculation of a data value to replace the error value. Two-channel correction using pointers Correct all errors if they are confined to at most two known channels as pointed to by channel error pointers i and j (where i < j). I can do it. Equation (9) can be rewritten as follows for an error in the mth byte. Sv n =e n (i)e n (j) (11) Each diagonal parity check is affected by at most two error patterns. Assuming that all errors are corrected up to the (m-1)th bit position of each channel and that the syndrome formula is adjusted for all corrected error patterns, the error in the mth byte is ( Affects the m+i)th and (m+j)th diagonal tests. That is, for these diagonal checks, equation (10) can be rewritten as follows. Sd n+i =e n (i) ……(12) Sd n+j =e n (j)e n+ji (i)
When j≠8...(13) Equations (11) and (12) generate the following error pattern. e n (i)=Sd n+i ……(14) e n (j)=Sd n+i Sv n ……(15) Next, the byte B n is calculated using equations (8), (14),
Corrected using (15). B^ n (i)=B n (i)e n (i) ……(16) B^ n (j)=B n (j)e n (j) ……(17) If j≠8 For example, the (m+j)th diagonal syndrome is modified to reflect the correction of B n (j) as follows. Sd n+j ←Sd n+j e n (j)
If j≠8... (18) The above correction procedure is similarly applied to the next byte by increasing m by +1. If the new values of channel error pointers i and j are not less than their previous values, they can be changed at any byte position m. All channels must be at least 7
If there is no error in consecutive bytes, i
Any value can be assigned to and j. Here, it is assumed that i<j. Internal pointer generation and single channel error correction In this case, the jth channel is in error and j
is not known. An error in the mth byte affects the mth vertical parity check and the (m+j)th diagonal parity check. For these parity checks, equations (9) and (10) can be rewritten as follows. Sv n = e n (j) ... (19) Sd n + j = e n (j), when j≠8 ... (20) Note that Sv n = 1 indicates the presence of an error. Pointer j is the smallest integer among numerical values 0 to 7 that satisfies the following expression. Sv n = 1 = Sd n + j ... (21) If Sv n = 1 for all j from 0 to 7
and Sd n+j =0, then j=8. Then,
Byte B n is corrected as follows. B^ n (j)=B^ n (j)e n (j) ……(22) If j≠8, it will be used later (m+
j)th diagonal syndrome is as follows
Amended to reflect corrections in B^ n (j). Sd n+j ←Sd n+j e n (j) ...(23) Note that if pointer j is modified by a byte, the error is not limited to one track. sea bream. Such errors cannot be corrected without making a false correction. A new value for j can be used after at least seven consecutive bit positions without errors. Decoder Embodiment Referring to FIG. 4, a detailed logic diagram of the decoder 19 is shown. It includes a diagonal syndrome generator 23, an error pattern generator 25 and an error corrector 27. Data B^ n+i (0), B^ n+i (1),…
..., B^ n+i (6), B^ n+i (7) are applied to the syndrome generator 23 in byte series and bit parallel. The syndrome generator 23 is a seven-stage shift register (stage
The input to each stage except the last (FF1-FF7) is the modulus 2 addition of the contents of the shift register stage and the applied data bit. Data byte B^ n+8 is syndrome generator 2
At the same time as the data byte B^ n
is likewise applied via path 21 to error corrector 27. Error corrector 27 shown in FIG.
logically combines (module addition) the error correction signal e n (i) or e n (j) provided from paths 29 and 35 with the corresponding element of the data byte to provide corrected data to path 33. It is composed of Error pattern generator 25 in FIG. 4 includes a syndrome processor 24 and gate devices 22 and 26 that correct the syndromes included in processor 24 and generate error correction signals e n (i) or e n (j). In this embodiment, up to two error channels may be corrected. Syndrome processor 24 has an 8-speed shift.
Contains registers (FF7...FF0). The input to each stage except the first stage is the content of each stage and the gate device 2.
This is the sum of the syndrome correction value derived from 2 and the modulus 2. This gate configuration is
The error correction signal e n (j) on the path 601 is set to the pointer value J 1
~ J7 to the corresponding XOR gate of the syndrome processor 24. Similarly, the shift register contents of syndrome processor 24 are passed through gating device 26 controlled by other pointer values I 0 -I 7 . All values displaced from 0 to 7 of the diagonal syndrome Sd n+i are stored in the syndrome processor 2
4 shift register stages FF 7 -FF 0 and associated gates of gating device 26. Connect each stage of the shift register
The XOR gate modifies the syndrome value by the corrected error pattern from the previous cycle when the syndrome value is displaced to a new position.
Each cycle in which each byte is inserted into the syndrome generator 23, one bit is shifted from it;
The first stage of the syndrome processor 24 is entered. AND only when two error channels are corrected, as shown in gate device 26.
Gate 605 will pass the value of Sd n+i as a correction signal. This is done by enabling gate 605. On the other hand, this value is input 6
Vertical parity syndrome and exclusive OR on 3
and the result is applied to path 601.
If only one channel is being corrected, no syndrome correction made via path 601 is necessary. That is, for single channel correction, only the correction signal e n (i) is sent via path 29 to error corrector 27 . I and J represent pointers that specify up to two error channels. These pointers can be derived externally or generated internally. How to generate pointers internally will be explained later.

【表】 表1にはブール変数P0,P1,D2,……,P8
対するポインタI及びJの関数が示される。 Pk=1
k番目のチヤネルが誤りであることを示す。 Pk=0
k番目のチヤネルが誤りでないことを示す。 ここで0k8である。 シンドロームの発生及び誤りの訂正は共に連続
的なプロセスであることが分る。第4図において
B^0,B^1,……,B^n,B^n+1はシンドローム発生器
23へシフト的に入れられる。B8が入れられた
時にe0(i)及びe0(j)が現われる。一般的に云えば、
B^n+8がシンドローム発生器23へ入れられた時
に、en(i)及びen(j)が誤り訂正器27へ印加され
る。 論理装置による第1チヤネル誤りポインタの発生 最初の誤りチヤネルのポインタjは、式(21)
が成立するm及びjの最低値を発見することによ
つて決定することができる。これは論理装置又は
カウンタ装置によつてなされ得る。表2におい
て、垂直シンドロームと対角線シンドロームとの
関係は、次式を満足させるようなjの最小値を指
定する通常のブール関数式で表現されている。 Svn=1 及び Sdn+j=1 カウンタ装置を使用する方法は、(T+1)本
のトラツクがあるものと仮定した一般的な場合に
ついて後に説明する。
[Table] Table 1 shows the functions of pointers I and J for Boolean variables P 0 , P 1 , D 2 , . . . , P 8 . P k =1
Indicates that the kth channel is incorrect. P k =0
Indicates that the kth channel is not in error. Here it is 0k8. It turns out that both syndrome generation and error correction are continuous processes. In Figure 4
B^ 0 , B^ 1 , . . . , B^ n , B^ n+1 are input to the syndrome generator 23 in a shifted manner. When B 8 is entered, e 0 (i) and e 0 (j) appear. Generally speaking,
When B^ n+8 is input to the syndrome generator 23, e n (i) and e n (j) are applied to the error corrector 27. Generation of first channel error pointer by logic device The pointer j of the first error channel is given by equation (21)
It can be determined by finding the lowest value of m and j for which . This can be done by a logic device or a counter device. In Table 2, the relationship between the vertical syndrome and the diagonal syndrome is expressed by an ordinary Boolean function formula that specifies the minimum value of j that satisfies the following equation. The method of using the counter device with Sv n =1 and Sd n+j =1 will be explained later for the general case assuming that there are (T+1) tracks.

【表】 ここで、Svnはm番目の垂直パリテイ検査シン
ドロームであり、Sdn+iは(m+i)番目の対角
線パリテイ検査シンドロームである。 チヤネル誤りポインタを使用する3チヤネル訂正 解読目的のためには、誤りは最大3本の既知の
チヤネルに限定され、これらの誤りチヤネルはチ
ヤネル誤りポインタi,j,kによつて指示され
るものと仮定する。ここでiはチヤネル番号0か
らTまでを有する誤りチヤネルの中で最低番号の
チヤネルを表わし、kは最高番号のチヤネルを表
わすものと仮定する。ポインタjは残りの誤りチ
ヤネルを表わし、従つてi<j<k又はj=T+
1が成立する。 全ての誤りは各チヤネルにおいて(m−1)番
目のビツト位置まで訂正され、全ての訂正された
誤りパターンについてシンドローム式が調整され
たものと仮定すると、誤りチヤネルのm番目の位
置にある誤りパターンはシンドロームSd+ n+i
Sd- T-k、及びSvnから決定することができる。こ
れらシンドロームの式は式(A−11),(A−12),
(A−13)から誘導することができる。従つて、
誤りのないチヤネルに対応する既知のゼロ誤りパ
ターン、及び(m−1)番目の位置までの訂正さ
れた誤りパターンを除去すれば、シンドローム式
は次のように書くことができる。 Sd+ n+i=en(i) ……(A−14) Sd- n+T-k=en(k) ……(A−15) Svn=en(i)en(j)en(k) ……(A−16) 式(A−14),(A−15),(A−16)は次のよう
な誤りパターンを発生する。 en(i)=Sd+ n+i ……(A−17) en(k)=Sd- n+T-k ……(A−18) en(j)=SvnSd+ n+iSd- n+T-k……(A−19) m番目の位置にある誤りは次のように訂正する
ことができる。 Zn(i)=Z^n(i)en(i) ……(A−20) Zn(j)=Z^n(j)en(j) ……(A−21) Zn(k)=Z^n(k)en(k) ……(A−22) もし2本だけのチヤネルが誤りであれば、誤り
のない1本のチヤネルへポインタを割当て、上記
アルゴリズムに従つて処理を行なつてよい。この
誤りのないチヤネルに対する結果の誤りパターン
はゼロにならなければならない。これは誤つた訂
正に対する追加的な検査法となる。 次のビツト位置の訂正へ進む前に、訂正によつ
て影響を受けたシンドロームは修正されねばなら
ない(特に後に使用されるシンドローム)。修正
は、前に計算されたシンドローム値から新しい値
へ、矢印によつて示される。 Sd- n+T-i←Sd- n+T-ien(i) ……(A−23) Sd+ n+k←Sd+ n+ken(k) ……(A−24) Sd+ n+j←Sd+ n+jen(j)
j<T+1の場合 ……(A−25) Sd- n+T-j←Sd- n+T-jen(j)
j<T+1の場合 ……(A−26) 上記の訂正手順は、mの値を1だけ増加して次
のビツト位置へ適用することができる。 ポインタの発生及び使用 これまでの説明において、誤りチヤネル(又は
トラツク)を指定するポインタについて頻々言及
してきた。以下の説明においては、主としてポイ
ンタを内部的に発生しそれを使用する方法につい
て説明する。ポインタは外部的に誘導されるか内
部的に発生されてよい。通常、外部ポインタを発
生するためには、チヤネルに記録されたデータの
読出し条件を何らかの形でアナログ的に感知しな
ければならない。外部ポインタを発生する方法及
び装置は本発明の範囲外にある。本発明は、外部
ポインタが存在しない場合には外部ポインタが存
在する場合と同じように、誤り訂正のために1つ
又はそれ以上の内部ポインタを発生する手段を含
む。 テープからレコードを誤りなしに再生すること
を目的として、テープ上にレコードを書込むもの
と仮定する。テープが起動されたばかりでレコー
ドがm=0にある時、誤りは存在せず全てのポイ
ンタはオフであると仮定する。或る時間の後、も
しもチヤネルの1本上で誤りが発生し、チヤネル
の誤りを示す外部ポインタが発生されなければ、
誤りチヤネルを指定するために最初(第1)の内
部ポインタを発生することが必要である。 最初の内部ポインタが1度発生されると、それ
は再生動作が続いている間、指示されたチヤネル
の誤りを訂正するためにオンになつていなければ
ならない。勿論、そのようなポインタの割当て方
法はシステムの訂正能力を不当に制限するかも知
れない。これは特に指示されたチヤネルに連続的
な誤りがない場合にそうである。しかし或る種の
システムでは、最初の誤りが検出された後の所定
時間内に誤りが生じなければ、ポインタを消滅さ
せることができる。 本実施例において、1つの誤りが1本のチヤネ
ルに生じるものと仮定する。そのチヤネルの表示
は外部ポインタ又は第1の内部ポインタによつて
与えられる。最初の誤りチヤネルの検出はシステ
ムの訂正能力内にある。更にこの場合、指示され
たチヤネルの誤りを訂正するために、第1の内部
ポインタはオンに維持される。しかし、他の誤り
が他のチヤネルで正じたならばどうなるであろう
か、これは同様に第2の内部ポインタによつて指
示することができる。しかし第3の誤りチヤネル
を指示するポインタは外部的にのみ発生すること
ができる。 換言すれば、第1の内部ポインタは他のポイン
タが不在の時にオンになる。第2の内部ポインタ
は第1ポインタが存在する時にのみ内部的に能動
化されてよい。第2の内部ポインタは、第1ポイ
ンタが内部的に発生されたものであれ、外部的に
発生されたものであれ能動化される。 内部ポインタは非常に信頼性があると考えられ
るが、実施例のシステムで利用する3個のポイン
タの中で最大2個までを内部的に発生してよい。
更に、2個の内部ポインタを同時に発生すること
はできない。これは第2の内部ポインタが既知の
第1ポインタの存在をその前提条件として必要と
するからである。内部ポインタの発生は、チヤネ
ルをカバーする対角線パリテイ検査と垂直パリテ
イ検査とを利用するものである。 第1及び第2のチヤネル誤りポインタの発生 チヤネル誤りポインタが存在しない場合、誤り
は1本だけのチヤネルへ限定されるものと仮定す
る。この誤りチヤネルは指示することができ、誤
りは訂正することができる。 1本のチヤネルのm番目の位置にある非ゼロ・
パターンは、非ゼロの垂直パリテイ検査シンドロ
ームSvnによつて指示される。この誤りは未知の
ポインタjを有するチヤネル内にあり、他のチヤ
ネルに誤りはない場合を考える。この場合、式
(A−11),(A−12)から次のような式が得られ
る。 Svn=en(j)=1 ……(A−27) Sd+ n+j=en(j)=1
j≠T+1の場合 ……(A−28) ポインタjは次式を満足させるような0からT
までの整数の中で最小のものである。 Sd+ n+j=Svn=1 ……(A−29) もしjが、0からTまでの全てについてSvn
1及びSd+ n+j=0であれば、j=T+1である。 ここで第6A図を参照すると、そこには他にポ
インタが存在しない場合に、最初の誤りチヤネル
の指標を得るための第1誤りポインタ発生器が示
される。この発生器は一対のラツチ401及び4
07を含む。これらのラツチはそれぞれ計数降下
形リング・カウンタ405を起動及び停止する。
リング・カウンタ405の出力はポインタjを表
わす。ラツチ401及び407はそれぞれシンド
ロームSd+ n+T及びSvnに応答する。Sd+ n+T=1の
時、ラツチ401がセツトされ、カウンタ405
の計数値はTへ等しくされる。チヤネルに沿つて
ビツト位置mが変化する度に、カウンタは1だけ
減少される。これに対し、Svn=1の時、ラツチ
407がセツトされ、カウンタ405は停止され
る。この時点のカウンタ値はポインタjを形成す
る。ラツチ401がセツトされる前にラツチ40
7がセツトされる特別の場合、jはT+1に等し
い。 第2誤りポインタの発生理論は前記公開公報に
説明されている。そこで説明されている式は2組
のチヤネルに関するシンドロームに関連してい
る。これらの式は少しの修正を施して本実施例へ
適用することができる。そこで開示される第2誤
りポインタ発生器の実施例は各種のシンドローム
によつて駆動されるカウンタ装置により構成され
ている。 ここで第6B図を参照すると、そこには第1ポ
インタがT+1以外のチヤネルを指示している時
の第2誤りポインタ発生器が示されている。この
発生器器は一対のリング・カウンタ405及び4
06を含み、これらカウンタはそれぞれポート4
15及び417にポインタi及びjを発生する。
ラツチ401は計数降下形のリング・カウンタ4
05を値jへセツトし、ラツチ407は計数上昇
形のリング・カウンタ406を値jへセツトす
る。セツトされたラツチ401,407によつて
ANDゲート413が能動化される時、「停止及び
ゲート・アウト」信号がリング・カウンタ40
5,406へ与えられる。排他的ORゲート42
3及び425の双方で同時的不一致が生じる場合
にのみ、ANDゲート411の出力は第2ポイン
タjがT+1へセツトされたことを示す。通路6
3及び75上にある入力Svn及びSd+ n+jの不一致
はラツチ401をセツトし、通路63及び71上
にある入力Svn及びSd- n+T-jの不一致はラツチ40
7をセツトする。 ここで第6C図を参照すると、そこには第1ポ
インタがチヤネルT+1を指示している時の第2
誤りポインタ発生器が示される。目的とするとこ
ろは、第1ポインタj=T+1が与えられた場合
に、第2ポインタiを得ることである。この発生
器は、入力Sd- n+Tが1の時にラツチ427によつ
て0へセツトされる計数上昇形のリング・カウン
タを含む。mが1だけ増加される時、このカウン
タは1だけ増加される。最初、iは0へセツトさ
れ、次いでiはカウンタの値に従う。Sd+ n+iが1
に等しくなつた時にカウンタは停止され、その計
数値はポインタ値となることに注意すべきであ
る。
[Table] Here, Sv n is the mth vertical parity check syndrome, and Sd n+i is the (m+i)th diagonal parity check syndrome. Three-channel correction using channel error pointers For decoding purposes, errors shall be limited to at most three known channels, and these error channels shall be pointed to by channel error pointers i, j, k. Assume. It is assumed here that i represents the lowest numbered channel among the error channels having channel numbers 0 through T, and k represents the highest numbered channel. Pointer j represents the remaining error channel, so i<j<k or j=T+
1 holds true. Assuming that all errors are corrected up to the (m-1)th bit position in each channel, and the syndrome formula is adjusted for all corrected error patterns, the error pattern at the mth position of the error channel is the syndrome Sd + n+i ,
It can be determined from Sd - Tk and Sv n . The formulas for these syndromes are formulas (A-11), (A-12),
(A-13). Therefore,
If we remove the known zero error patterns corresponding to error-free channels and the corrected error patterns up to the (m-1)th position, the syndrome equation can be written as: Sd + n+i = e n (i) ... (A-14) Sd - n+Tk = e n (k) ... (A-15) Sv n = e n (i)e n (j)e n (k) ... (A-16) Equations (A-14), (A-15), and (A-16) generate the following error pattern. e n (i)=Sd + n+i ...(A-17) e n (k)=Sd - n+Tk ...(A-18) e n (j)=Sv n Sd + n+i Sd - n+Tk ...(A-19) The error at the m-th position can be corrected as follows. Z n (i)=Z^ n (i)e n (i) ……(A-20) Z n (j)=Z^ n (j)e n (j) ……(A-21) Z n (k)=Z^ n (k)e n (k) ……(A-22) If only two channels are in error, assign a pointer to one channel without error and follow the above algorithm. processing may be carried out. The resulting error pattern for this error-free channel must be zero. This provides an additional check against erroneous corrections. Before proceeding to the correction of the next bit position, the syndromes affected by the correction must be corrected (especially the syndromes used later). Modifications are indicated by arrows from previously calculated syndrome values to new values. Sd - n+Ti ←Sd - n+Ti e n (i) ……(A−23) Sd + n+k ←Sd + n+k e n (k) ……(A−24) Sd + n+ j ←Sd + n+j e n (j)
When j<T+1...(A-25) Sd - n+Tj ←Sd - n+Tj e n (j)
If j<T+1... (A-26) The above correction procedure can be applied to the next bit position by increasing the value of m by 1. Generation and Use of Pointers In the preceding discussion, we have frequently referred to pointers that specify error channels (or tracks). In the following description, we will mainly explain how to generate and use pointers internally. Pointers may be externally derived or internally generated. Normally, in order to generate an external pointer, the read conditions of data recorded in a channel must be sensed in some way in an analog manner. Methods and apparatus for generating external pointers are outside the scope of this invention. The invention includes means for generating one or more internal pointers for error correction in the absence of an external pointer as if an external pointer were present. Assume that a record is written onto a tape with the purpose of error-free reproduction of the record from the tape. Assume that when the tape has just been started and the record is at m=0, there are no errors and all pointers are off. After some time, if an error occurs on one of the channels and no external pointer is generated indicating the channel is in error,
It is necessary to generate a first internal pointer to specify the error channel. Once the first internal pointer is generated, it must remain on to correct errors in the pointed channel while playback operations continue. Of course, such a method of allocating pointers may unduly limit the correction capabilities of the system. This is especially the case if there are no consecutive errors in the indicated channel. However, some systems allow pointers to disappear if no errors occur within a predetermined amount of time after the first error is detected. In this example, it is assumed that one error occurs on one channel. An indication of that channel is given by an external pointer or a first internal pointer. Detection of the first erroneous channel is within the correction capabilities of the system. Additionally, in this case, the first internal pointer is maintained on to correct errors in the indicated channel. But what would happen if other errors were corrected on other channels? This can be pointed to by the second internal pointer as well. However, the pointer pointing to the third error channel can only be generated externally. In other words, the first internal pointer is turned on when the other pointers are absent. The second internal pointer may be internally activated only when the first pointer is present. The second internal pointer is activated whether the first pointer was generated internally or externally. Although internal pointers are considered highly reliable, up to two of the three pointers used in the example system may be generated internally.
Furthermore, two internal pointers cannot be generated at the same time. This is because the second internal pointer requires the existence of a known first pointer as a precondition. Internal pointer generation utilizes a diagonal parity check and a vertical parity check covering the channel. Generation of First and Second Channel Error Pointers If there is no channel error pointer, it is assumed that the error is limited to only one channel. This error channel can be indicated and errors can be corrected. Non-zero at mth position of one channel
The pattern is dictated by a non-zero vertical parity check syndrome Sv n . Consider the case where this error is in a channel with unknown pointer j and there are no errors in other channels. In this case, the following equation can be obtained from equations (A-11) and (A-12). Sv n = e n (j) = 1 ... (A-27) Sd + n+j = e n (j) = 1
In the case of j≠T+1... (A-28) Pointer j is a value from 0 to T that satisfies the following formula.
is the smallest integer up to . Sd + n+j = Sv n = 1 ... (A-29) If j is all from 0 to T, Sv n =
1 and Sd + n+j = 0, then j=T+1. Referring now to FIG. 6A, a first error pointer generator is shown for obtaining an indication of the first error channel when no other pointers are present. This generator consists of a pair of latches 401 and 4
Including 07. These latches start and stop counting down ring counter 405, respectively.
The output of ring counter 405 represents pointer j. Latches 401 and 407 are responsive to syndromes Sd + n+T and Svn , respectively. When Sd + n + T = 1, latch 401 is set and counter 405
The count value of is made equal to T. Each time bit position m changes along the channel, the counter is decremented by one. On the other hand, when Sv n =1, latch 407 is set and counter 405 is stopped. The counter value at this point forms pointer j. Latch 401 is set before latch 401 is set.
In the special case where 7 is set, j is equal to T+1. The theory of generation of the second error pointer is explained in the above-mentioned publication. The equations described therein relate to syndromes for two sets of channels. These formulas can be applied to this embodiment with slight modifications. The embodiment of the second error pointer generator disclosed therein consists of a counter device driven by various syndromes. Referring now to FIG. 6B, there is shown the second error pointer generator when the first pointer points to a channel other than T+1. This generator consists of a pair of ring counters 405 and 4
06, and each of these counters
15 and 417, pointers i and j are generated.
The latch 401 is a descending type ring counter 4.
05 to the value j, and the latch 407 sets the rising ring counter 406 to the value j. By the set latches 401, 407
When AND gate 413 is activated, a "stop and gate out" signal is sent to ring counter 40.
5,406. exclusive OR gate 42
Only if a simultaneous mismatch occurs at both points 3 and 425, the output of AND gate 411 will indicate that the second pointer j has been set to T+1. aisle 6
A mismatch between inputs Sv n and Sd + n+j on paths 63 and 75 sets latch 401, and a mismatch between inputs Sv n and Sd - n+Tj on paths 63 and 71 sets latch 40.
Set 7. Referring now to FIG. 6C, there is shown the second pointer when the first pointer points to channel T+1.
An error pointer generator is shown. The objective is to obtain a second pointer i given a first pointer j=T+1. The generator includes a rising ring counter that is set to zero by latch 427 when input Sd - n+T is one. When m is incremented by one, this counter is incremented by one. Initially, i is set to 0, then i follows the value of the counter. Sd + n+i is 1
It should be noted that the counter is stopped when it becomes equal to , and the count value becomes a pointer value.

【図面の簡単な説明】[Brief explanation of drawings]

第1図はデータ書込みのためのパリテイ符号器
及びデータがシステムから読出される時に誤り検
査を行なうパリテイ解読器を含む複数チヤネル並
列記憶システムを表わすブロツク図、第2A図乃
至第2D図はパリテイ符号を記録するための種々
のフオーマツトを示す図、第3図は対角線パリテ
イ符号器を示す図、第4図は解読器におけるシン
ドロームの発生、その修正、及び訂正信号の発生
を示す概略論理図、第5図は第4図に示される解
読器の誤り訂正器27を詳細に示す図、第6A図
は第1内部ポインタ発生器の論理図、第6B図及
び第6C図はそれぞれ第1ポインタがT+1へセ
ツトされない時又はセツトされた時の第2ポイン
タ発生器を示す図である。 19……解読器、22,26……ゲート装置、
23……対角線シンドローム発生器、24……シ
ンドローム発生器、25……誤りパターン発生
器、27……誤り訂正器。
FIG. 1 is a block diagram representing a multiple channel parallel storage system including a parity encoder for writing data and a parity decoder for error checking when data is read from the system; FIGS. 2A-2D are parity encoders; FIG. FIG. 3 is a diagram showing a diagonal parity encoder; FIG. 4 is a schematic logic diagram showing the occurrence of the syndrome in the decoder, its correction, and the generation of a correction signal; FIG. 5 is a diagram showing in detail the error corrector 27 of the decoder shown in FIG. 4, FIG. 6A is a logic diagram of the first internal pointer generator, and FIGS. 6B and 6C are respectively shown when the first pointer is T+1. FIG. 4 shows the second pointer generator when it is not set or when it is set. 19...Decoder, 22, 26...Gate device,
23...Diagonal syndrome generator, 24...Syndrome generator, 25...Error pattern generator, 27...Error corrector.

Claims (1)

【特許請求の範囲】 1 データが書込まれた複数の並列チヤネルのう
ちの誤りチヤネルを訂正する装置にして、 上記データに対する垂直パリテイ検査符号を第
1チヤネルに書込み、上記チヤネルに対して所定
の正及び負の傾斜方向でとられた対角線パリテイ
検査符号を別のチヤネル又は規則的に間隔をとら
れたチヤネル横断位置に書込む手段と、 上記垂直パリテイ検査符号及びデータから垂直
シンドロームを決定し、上記対角線パリテイ検査
符号及びデータから対角線シンドロームを決定す
る手段と、 同一の誤りを横切る垂直シンドロームと対角線
シンドロームとの間の不一致を検出する手段と、 チヤネルに沿つてビツト位置を連続的に更新し
ながら上記検出する手段の出力を調べ、最初の不
一致検出から次の不一致検出までのビツト位置数
に応じて未知の誤りチヤネルを示すポインタを発
生する手段と、を具備する誤りチヤネル訂正装
置。 2 データが書込まれた複数の並列チヤネルのう
ちの誤りチヤネルを訂正する装置にして、 上記データに対する垂直パリテイ検査符号を第
1チヤネルに書込み、上記データに対して所定の
正又は負の傾斜方向でとられた対角線パリテイ検
査符号を別のチヤネル又は規則的に間隔をとられ
たチヤネル横断位置に書込む手段と、 上記垂直パリテイ検査符号及びデータから垂直
シンドロームを決定し、上記対角線パリテイ検査
符号及びデータから対角線シンドロームを決定す
る手段と、 チヤネルに沿つてビツト位置を連続的に更新し
ながら上記垂直シンドローム及び上記対角線シン
ドロームを比較することによつて未知の誤りチヤ
ネルを示すポインタを発生する手段と、 上記誤りチヤネル上のビツトを横切る垂直シン
ドローム及び対角線シンドロームから該ビツトに
対する訂正信号を発生する手段と、 訂正されたビツトを横切る対角線シンドローム
を反転する手段と、を具備する誤りチヤネル訂正
装置。
[Scope of Claims] 1. A device for correcting an error channel among a plurality of parallel channels in which data is written, which writes a vertical parity check code for the data into a first channel, and performs a predetermined correction for the channel. means for writing diagonal parity check codes taken in positive and negative slope directions into separate channels or regularly spaced cross-channel locations; and determining a vertical syndrome from said vertical parity check codes and data; means for determining a diagonal syndrome from said diagonal parity check code and data; and means for detecting a mismatch between a vertical syndrome and a diagonal syndrome across the same error; and while continuously updating bit positions along the channel. An error channel correction device comprising means for examining the output of the detecting means and generating a pointer indicating an unknown error channel according to the number of bit positions from the first mismatch detection to the next mismatch detection. 2 A device for correcting an error channel among a plurality of parallel channels in which data is written, writes a vertical parity check code for the above data into the first channel, and sets the above data in a predetermined positive or negative slope direction. means for writing a diagonal parity check code taken in another channel or regularly spaced cross-channel locations; and determining a vertical syndrome from said vertical parity check code and data; means for determining a diagonal syndrome from the data; and means for generating a pointer to an unknown error channel by comparing the vertical syndrome and the diagonal syndrome while continuously updating bit positions along the channel; An error channel correction apparatus comprising: means for generating a correction signal for a bit from a vertical syndrome and a diagonal syndrome across the bit on the error channel; and means for inverting the diagonal syndrome across the corrected bit.
JP15378378A 1978-03-07 1978-12-14 Error channel correcting device Granted JPS54118748A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/884,463 US4205324A (en) 1977-12-23 1978-03-07 Methods and means for simultaneously correcting several channels in error in a parallel multi channel data system using continuously modifiable syndromes and selective generation of internal channel pointers

Publications (2)

Publication Number Publication Date
JPS54118748A JPS54118748A (en) 1979-09-14
JPS6343833B2 true JPS6343833B2 (en) 1988-09-01

Family

ID=25384679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15378378A Granted JPS54118748A (en) 1978-03-07 1978-12-14 Error channel correcting device

Country Status (4)

Country Link
JP (1) JPS54118748A (en)
DE (1) DE2908373A1 (en)
FR (1) FR2419543B1 (en)
GB (1) GB2016178B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003317400A (en) * 2003-02-14 2003-11-07 Fujitsu Ltd Controller for magnetic tape unit

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4375100A (en) * 1979-10-24 1983-02-22 Matsushita Electric Industrial Company, Limited Method and apparatus for encoding low redundancy check words from source data
JPS57183609A (en) * 1981-05-07 1982-11-12 Victor Co Of Japan Ltd Magnetic recording system of digital signal
CA1212437A (en) * 1983-03-04 1986-10-07 Radyne Corporation Data transmission system with error correcting data encoding
GB2149156B (en) * 1983-11-04 1987-10-21 Gen Electric Co Plc A method of encoding and decoding
JPH07107781B2 (en) * 1986-02-24 1995-11-15 松下電器産業株式会社 RAM address signal generation circuit
US4908826A (en) * 1988-01-05 1990-03-13 Digital Equipment Corporation Stored data error correction system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51147205A (en) * 1975-05-30 1976-12-17 Ibm Method of extending error correcting capacity of error corrector

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3387261A (en) * 1965-02-05 1968-06-04 Honeywell Inc Circuit arrangement for detection and correction of errors occurring in the transmission of digital data
FR1580315A (en) * 1968-05-27 1969-09-05
BE757116A (en) * 1969-10-29 1971-03-16 Honeywell Inc METHOD AND DEVICE FOR CODING SEGMENTS OF CONTROL CODES
US4044328A (en) * 1976-06-22 1977-08-23 Bell & Howell Company Data coding and error correcting methods and apparatus
US4201976A (en) * 1977-12-23 1980-05-06 International Business Machines Corporation Plural channel error correcting methods and means using adaptive reallocation of redundant channels among groups of channels

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51147205A (en) * 1975-05-30 1976-12-17 Ibm Method of extending error correcting capacity of error corrector

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003317400A (en) * 2003-02-14 2003-11-07 Fujitsu Ltd Controller for magnetic tape unit

Also Published As

Publication number Publication date
GB2016178B (en) 1982-05-06
FR2419543B1 (en) 1986-08-22
DE2908373A1 (en) 1979-09-20
GB2016178A (en) 1979-09-19
DE2908373C2 (en) 1989-05-11
JPS54118748A (en) 1979-09-14
FR2419543A1 (en) 1979-10-05

Similar Documents

Publication Publication Date Title
US4205324A (en) Methods and means for simultaneously correcting several channels in error in a parallel multi channel data system using continuously modifiable syndromes and selective generation of internal channel pointers
US4201976A (en) Plural channel error correcting methods and means using adaptive reallocation of redundant channels among groups of channels
US3800281A (en) Error detection and correction systems
KR100613056B1 (en) On-drive integrated sector format raid error correction code system and method
EP0395205B1 (en) Enhanced error recovery track recording
US3786439A (en) Error detection systems
KR19990028535A (en) Method and device for protecting data in disk drive buffer
US7178086B2 (en) Direct partial update of CRC/ECC check bytes
US3774154A (en) Error control circuits and methods
EP2260491B1 (en) Error correction capability for longitudinal position data in a tape storage system
JPS63177219A (en) Data transfer
JP2672916B2 (en) Data check method for array disk device
JPS6343833B2 (en)
US7127660B2 (en) Method, apparatus and program storage device for correcting a burst of errors together with a random error using shortened cyclic codes
US3439331A (en) Error detection and correction apparatus
JP2007528566A (en) Error correction encoding method and apparatus, and error correction decoding method and apparatus
CN100505070C (en) Method of detecting error event in codeword reproduced by perpendicular magnetic recording medium and apparatus using the same
US7933089B2 (en) Track-adapted data clocking
JPS6161188B2 (en)
JP2612029B2 (en) Error correction control method
JPS62248313A (en) Decoding method for error correction code
JPH04186559A (en) Readout control system for magnetic tape
JPS62246179A (en) Information recorder
JPH04205133A (en) Disk controller
JP3528766B2 (en) Data recording / reproducing apparatus and data recording / reproducing method