説明

磁気テープ装置の制御装置

【課題】複数バイト単位のデータ処理が可能であり、回路を複雑化せず、回路規模の増大を招くことなく、処理するデータバス幅を拡大することができ、データ転送の高速化を図れる磁気テープ装置の制御装置を提供する。
【解決手段】ホスト10からのデータをテープフォーマットに合わせるために必要な残余バイトを作成する残余バイト作成回路1と、誤り訂正のための誤り訂正符号を作成する誤り訂正符号化回路3と、MTU12から読み出したデータ間のずれを補正するデスキュー回路5と、読み出しデータの誤りの有無を判定するためのシンドロームを作成するシンドローム作成回路6と、データの保持(遅延)を行うフレームバッファ8とにおいて、複数バイト単位でのデータ処理を行える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、磁気テープ装置の制御装置に関し、特に、磁気テープ装置の大容量化,高機能化,転送速度の高速化を実現させるための制御装置に関する。
【背景技術】
【0002】
近年のコンピュータシステムの高速化に伴い、周辺装置である磁気テープ装置においても高速化が要求されている。このため、データバス幅の拡大、制御方法の改善が必要とされている。
【0003】
図2は、テープサブシステムの構成図であり、テープサブシステムは、上位装置としてのホスト10と、データを記録する磁気テープユニット(MTU:Magneteic Tape Unit)12と、ホスト10及びMTU12間に介在されてデータのフォーマット変換を行う磁気テープ制御装置(MTC:Magneteic Tape Cotroller)11とから構成されている。データ書き込み時には、ホスト10からのデータがMTC11に入力され、ここでフォーマット変換が行われた後にMTU12にデータが転送される。データ読み取り時には、MTU12からの読み出しデータがMTC11に転送され、ここで誤り訂正が行われると共にフォーマット変換が行われた後にデータがホスト10に送られる。なお、MTC11は、ホスト10とのデータの送受を行うためのインターフェース部11aと、フォーマット変換,誤り訂正等の処理を行うデータフォーマット部11bと、データをD/A変換・A/D変換するデータ変換部11cとを有する。
【0004】
図1は、MTC11のデータフォーマット部11bの内部構成を示すブロック図であり、データフォーマット部11bは、MTU12内の磁気テープ上に記録するためのフォーマット化を行う書き込みフォーマット部11dと、磁気テープから読み出したデータのトラックずれを補正したり、データの誤り検出及び訂正を行う読み出しフォーマット部11eとに分けられる。
【0005】
書き込みフォーマット部11dは、残余バイト作成回路1と、マルチプレクサ2,4と、誤り訂正符号化回路3とを有する。残余バイト作成回路1は、ホスト10からのデータをテープフォーマットに合わせるために必要な残余バイト(RESIDUAL−BYTE)を作成する。マルチプレクサ2は、ホスト10からのカスタム(CUSTOM)データ,残余バイト作成回路1からの残余バイト,ブロック(BLOCK)ID,冗長バイトであるパッド(PAD)バイト等を結合する。誤り訂正符号化回路3は、誤り訂正のため検査キャラクタである誤り訂正符号(ECC:Error Correction Code)を作成する。誤り訂正符号としては、AXP(Adaptive Cross Parity)符号またはリードソロモン(Reed−Solomon)符号が良く使われている。マルチプレクサ4は、マルチプレクサ2及び誤り訂正符号化回路3の出力を結合する。
【0006】
一方、読み出しフォーマット部11eは、デスキュー回路5と、シンドローム作成回路6と、誤り訂正回路7と、フレームバッファ8とを有する。デスキュー回路5は、MTU12から読み出したデータ間のずれを補正する。磁気テープに記録されたデータを読み込んだ時に、磁気テープと磁気ヘッドとは一般的には垂直にならず、ある程度の誤差角度が生じるので、それに応じてデータ間のずれ(スキュー)が発生する。デスキュー回路5はこのデータ間のずれを補正する。シンドローム作成回路6は、読み出しデータの誤りの有無を判定するためのシンドロームと呼ばれる情報を作成する。誤り訂正回路7は、読み出しデータの誤りを訂正する。フレームバッファ8は、磁気テープのデータ読み出し方向によるデータの並べ換え、及び、誤り訂正回路7において誤り係数の計算が行われる間のデータの保持(遅延)を行う。
【0007】
テープサブシステムでは、1フレームは一般的に18バイト(14バイトのデータ等と4バイトの誤り訂正符号(ECC))にて構成されており、従来例では8ビットまたは9ビットを1バイトとして、バイト単位にデータの転送を行っている。以下に、データフォーマット部11b内の各回路における従来の構成,動作について説明する。
【0008】
(残余バイト作成回路1)
図55は、磁気テープに記録されたデータブロックフォーマットの例を示す図である。データブロックは、先頭が「IBG」フレーム,「ALL1」フレームで始まり、次に同期のための「SYNC」フレーム,データ領域の始まりを示す「PREFIX0」「PREFIX1」フレームが記録され、その後、先頭が「SYNC」フレームまたは「RESYNC」フレームで始まる72フレーム毎のデータグループが繰り返される。
【0009】
1番目のデータグループには69フレームのデータ(DATA)が記録され、2番目以降のデータグループにはそれぞれ71フレームのデータ(DATA)が記録される。そして、最終番目の データグループには、残った(n−1)フレームのデータ(DATA)が記録される。その後、「RESID1」「RESID2」「COMP1」「COMP2」「SYNC」の各フレームが記録され、最後に「SYNC」「ALL1」の各フレームが記録される。
【0010】
「SYNC」フレーム及び「RESYNC」フレームには、何れも同じ9ビットの特殊コード(100010001)が記録され、両者のフレームは同一のコードである。この「SYNC」フレームまたは「RESYNC」フレームに基づいて、同期信号または再同期信号が検出される。同期信号または再同期信号は、データグループの開始を知らせ、しかも、デスキュー回路5におけるスキュー補正のトリガとなる信号である。
【0011】
ブロックID(BLOCK ID:BID)は、4バイトで構成されており、ブロックの通し番号である。1フレームは14バイトが一単位であるので、ホスト10からのカスタムデータのバイト数によっては、14バイトに構成するためのつめもの用のバイト(0〜13バイト)が必要であり、このバイトをパッドバイト(PAD BYTE)という。残余バイトカウント(RESIDUAL BYTE COUNT)の1バイトは、パッドバイトが何バイト詰まっているかを下位4ビットで表し、上位4ビットには他の情報が入る。
【0012】
具体的に、ホスト10からのカスタムデータが12バイトの場合と、7バイトの場合とにおけるデータフォーマットを図56,図57にそれぞれ示す。図56に示す12バイトの場合では、パッドバイトが9バイトとなり、残余バイトカウントに9が入る。図57に示す7バイトの場合では、パッドバイトの必要性がないので、残余バイトカウントに0が入る。以上のように、カスタムデータの長さに応じて、0〜13の値が残余バイトカウントに入る。
【0013】
残余バイト作成回路1の従来例の構成を図58に示す。残余バイト作成回路1は、AND(論理積)回路13とNOR回路14とMOD14カウンタ15とを有する。CKは、カウンタ15を動作させるためのクロックである。−RSYNCは、72フレーム毎に発生するRESYNCの制御信号であり、この信号がローである場合にカウンタ15の動作は停止する。WRBKは、レジスタからセットされる信号であり、書き込みブロックが開始された時にのみセットされる。SMDCは、フレームデータ作成時にブロックIDの選択の終了を示し、この信号がローである場合に、ブロックIDが終了したことを表しカウンタ15の動作は停止する。CUSTBLKは、カスタムデータまたはブロックIDである場合にハイになる。−CLRは、カウンタ値をクリアすべくレジスタからセットされる信号であり、装置初期化時及び「IBG」フレーム中にセットされる。−MOD1〜−MOD8は、パッドバイトの数を表す信号であり、これらの信号が表す値が残余バイトカウントの1バイトの下位4ビットに反映される。
【0014】
残余バイトカウントの1バイトはmod14カウンタ15によって実現し、カウンタ15の出力値はパッドバイトの数を表す。このカウンタ15は、カスタムデータ,ブロックIDの数をカウントアップし、「RESYNC」フレーム中及びECCの4バイト時には、その動作を停止する。
【0015】
カスタムデータが8バイトである場合の動作について説明する。図59はその場合のタイミングチャート、図60はmod14カウンタ15の出力をそれぞれ示す。
【0016】
装置初期化時及び「IBG」フレーム中に、カウンタ15の初期化が行われる。このときのカウンタ値は、”0000”である。ファームウェアにより、レジスタからWRBK信号が書き込みブロック開始時のみセットされる。このときのカウンタ値は、”0010”である。カスタムデータを処理する頃になると、CUSTBLK信号がセットされ、カウンタ15のカウント動作を開始する。ブロックIDが終了すると、SMDC信号がリセットされ、カウント動作を停止する。カウント動作が停止した際のカウンタ値(”0010”)の反転信号となる−MOD1〜−MOD8の値(”1101”=13)が、残余バイトカウントの下位4ビットに入る。
【0017】
(誤り訂正符号化回路3)
AXP符号を用いる誤り訂正方式では、18個のトラックのうちの14個のトラックにそれぞれ1フレームのデータが書き込まれ、これらの14個のトラックのデータに対する誤り訂正符号が残りの4トラックに書き込まれる。誤り訂正符号は、DRC(Diagonal Redundancy Check)キャラクタと、VRC(Vertical Redundancy Check)キャラクタとから構成されている。全18トラックは、9トラックずつ、奇数トラックがセットA,偶数トラックがセットBに分けられる。
【0018】
DRCは、誤り訂正符号用のトラック中の0Aトラック及び0Bトラックに記録される。このDRCの2バイトは、他のトラックに記録されたVRC以外(15ビット)から計算され、m番目の値は以下の通りである。
【0019】
A0m =(A1m-1 +A2m-2 +A3m-3 +・・・+A7m-7
B7m-8 +B6m-9 +B5m-10+・・・+B0m-15MOD2
B0m =(B1m-1 +B2m-2 +B3m-3 +・・・+B7m-7
A7m-8 +A6m-9 +A5m-10+・・・+A0m-15MOD2
【0020】
図61は従来のDRCの作成方法の原理を説明するための図、図62は実際にユーザデータのDRCA,DRCBを計算した結果を示す図表、図63は従来のDRC作成回路の構成を示す図である。DRC作成回路は、クロックのタイミングを調節してデータを斜めに取り込む1個のビットマトリックスアレイ81及び各フレームに対応した3個のFFアレイ82からなる回路系を、セットA及びセットB用に1組ずつ有しており、各回路系からの出力が、VRC作成回路83からのVRCA及びVRCBと共にマルチプレクサ84にて結合される。
【0021】
DRCは、斜め方向の冗長検査であるので、斜め方向に対して冗長なデータを付加することでデータのチェックをする。この際、斜め方向にデータを取り込んでいくので隣合う3フレームのデータに跨がってDRCは作成され、VRCを除いた斜め方向のデータに対して、1ビットずつ偶数パリティを取っていくことでDRCを作成する。
【0022】
VRCは、誤り訂正符号用のトラック中の8Aトラック及び8Bトラックに記録される。このVRCの2バイトは、セットA(7ビットのデータ+DRCA),セットB(7ビットのデータ+DRCB)各々で計算され、m番目の値は以下の通りである。
【0023】
A8m =(A0m +A1m +A2m +・・・+A7m MOD2
但し、A0m :DRCA
A1m ,A2m ,・・・.A7m :データ
B8m =(B0m +B1m +B2m +・・・+B7m MOD2
但し、B0m :DRCB
B1m ,B2m ,・・・.B7m :データ
【0024】
図64は従来のVRCの作成方法の原理を説明するための図、図65は実際にユーザデータのVRCA,VRCBを計算した結果を示す図表、図66は従来のVRC作成回路の構成を示す図である。VRC作成回路85は、8個のトグル動作のJKフリップ・フロップをそれぞれ有する、VRCA作成用のVRCA作成回路86とVRCB作成用のVRCB作成回路87とに分かれる。
【0025】
VRCは、縦方向の冗長検査であるので、縦方向に対して冗長なデータを付加することでデータのチェックをする。この際、縦方向にデータを取り込んでいくのでVRCは1フレーム内で作成される。全体としてVRCA用,VRCB用の2つの作成回路86,87(8ビット)で構成され、セットAで1バイトずつ入力するとVRCAのそれぞれのビットに対応する回路に入力され、セットBで1バイトずつ入力するとVRCBのそれぞれのビットに対応する回路に入力される。VRCAビット1はバイト1,2,3,4,5,6,7,DRCAのビット1を入力とする。VRCAビット2はバイト1,2,3,4,5,6,7,DRCAのビット2を入力とする。その他も同様である。
【0026】
データとしては、1バイトずつ入力されるので、1つのタイミングで1ビットのVRC作成回路には1ビットだけ入力される。そして、セットA,セットB各々1ビットは、縦方向のデータ7ビットとDRC1ビットに対して偶数パリティを持つことと同じである。即ち、VRCAはデータバイト1〜7とDRCAとの偶数パリティをとっているのと同じであり、VRCBはデータバイト8〜14とDRCBとの偶数パリティをとっているのと同じである。
【0027】
図66に示す回路構成では、CKとタイミング信号とでデータの取り込みタイミングを制御する。データをトグル動作のJKフリップ・フロップに入力することで偶数パリティをとっていることになる。1フレームにおけるデータ入力順序は以下のようになり、1フレームの動作をするのに18タイミングが必要である。
データ入力順序
タイミング (1) (2) (3) (4) (5) (6)
バイト 1 2 3 4 5 6
タイミング (7) (8) (9) (10) (11) (12)
バイト 7 DRCA VRCA 8 9 10
タイミング (13) (14) (15) (16) (17) (18)
バイト 11 12 13 14 DRCB VRCB
【0028】
また、36トラックの磁気テープ装置の誤り訂正符号としてリードソロモン符号が採用されている。ガロア体GF(q)上の原始元をαとするとき、
αh ,αh+1 ,αh+2 ,・・・,αh+d-2 (0≦h<q−1,2≦d≦q)を根とする符号長n=q−1のq元巡回符号がリードソロモン符号であり、デジタル信号を扱う装置において、
実用上重要なq=2m ,h=0の場合、
符号長 n=2m −1
情報点数 k=2m −d
検査点数 n−k=d−1
最小距離 dmin =d=n−k+1
の2m 元符号となり、生成多項式G(x)は、
G(x)=(x−αd-2 )・・・(x−α2 )(x−α)(x−1)
となり、αd-2 ,・・・,α2 ,α,1を根とする多項式である。リードソロモン符号の任意の符号多項式C(x)は、αd-2 ,・・・,α2 ,α,1を根とする。
【0029】
言い換えれば、n−1次以下のGF(28 )上の多項式C(x)が符号多項式となるための必要条件は、
C(α0 )=0
C(α1 )=0



C(αd-2 )=0
であり、ij (0≦j≦k−1)をGF(28 )の元とし、k≦28 −dであるk個の情報語i0 ,i1 ,・・・,ik-1 を符号化する場合、
I(x)=ik-1 k-1 +・・・+i2 2 +i1 x+i0
という情報多項式I(x)を作る。
【0030】
次に、I(x)にxd-1 を乗算し、生成多項式G(x)で除算したときの剰余多項式をD(x)とする。この場合の商多項式をQ(x)とすると、これらの多項式の関係は以下のようになる。
I(x)×xd-1 =Q(x)×G(x)+D(x)
ここで、剰余多項式D(x)はxd-2 次以下の多項式であるので、
D(x)=dd-2 ×xd-2 +・・・+d2 ×x2 +d1 ×x+d0
とする。符号に対応する多項式(符号多項式)は、G(x)で割り切れる必要があるため、
C(x)=Q(x)×G(x)
=I(x)×xd-1 +D(x) 〔GF上の減算と加算とは同一〕となり、C(x)の係数からなるGF(28 )上のn次元ベクトルは、
C=(cn-1 ,・・・,c2 ,c1 ,c0
=(ik-1 ,・・・,i2 ,i1 ,i0 ,dd-2 ,・・・,d1 ,d0 ) となる。これが情報語i0 ,i1 ,・・・,ik-1 に対するリードソロモン符号の符号語である。検査語dd-2 ,・・・,d1 ,d0 は、情報語i0 ,i1 ,・・・,ik-1 から以上のように、多項式の除算を用いて求められる。また、検査バイトd3 ,d2 ,d1 ,d0 は検査行列を用いて導くことができる。
【0031】
GF(2m )上のn−1次以下の多項式が、αd-2 ,・・・,α2 ,α,1を根として持つならば、検査行列Hと上記リードソロモン符号の符号語Cの転置行列Ct との積は0行列となる。
【0032】
【数1】

【0033】
ここで、この行列式は以下のように書き直せる。
【0034】
【数2】

【0035】
またこの式は、以下の行列式として表され、クラメルの公式を用いてdd-2 ,・・・,d1 ,d0 について解けば、a0 〜ad-2 とαのべきとを用いた乗算処理及び加算処理によって検査語を求めることができる。
【0036】
【数3】

【0037】
以上のような符号化を実行するための回路構成について説明する。図67は、生成多項式で除算を行う場合の回路構成を示し、LFSR(リニアフィードバックシフトレジスタ)と呼ばれるフィードバックレジスタを採用し、加算回路25とレジスタ26とαのべきの乗算回路27とから構成され、情報語を1バイト単位で順次入力を行い、即ち情報多項式を構成するために最初に入力するバイトを最上位バイトとして除算を行い、最下位バイトの入力が終了した時点の剰余を求める。
【0038】
検査行列による符号化の場合の回路は、図68,図69に示す情報語の総和を計算する回路とa0 ,a1 ,・・・,ad-2 ,d0 ,d1 ,・・・,dd-2 を求めるためのαのべきの乗算及び加算を行う回路とが必要である。
【0039】
このときに総和を計算する回路は、情報語の各々のバイトにαのべきを順次乗算する必要があり、通常、α0 ,α1 ,α2 ,・・・,αn-1 を乗算するために構成が簡単な乗算回路27と加算回路25とレジスタ26とを組み合わせ、1バイト単位に乗算−加算─保持を繰り返し計算することにより総和を求めている。
【0040】
(シンドローム作成回路6)
対象となる符号語を{D0 ,D1 ,D2 ,・・・,Dn-2 ,Dn-1 }とする。これがまずメモリに記憶される。例えばリードソロモン符号で誤り訂正処理を行う場合、ハミング距離をDmin とするとき、誤り訂正能力はDmin /2を超えない最大の整数である。このような整数は(Dmin −1)であり、これを求める際に次のようなシンドローム演算を行う。
【0041】
受信語を表す多項式をR(x)とした場合、リードソロモン符号の復号は、このR(x)からシンドローム
Si=R(αi )(i=0,1,2,3,・・・,d−2)
を計算することから始まる。これは、受信語にGF(2m )上の定数乗算、即ちαi の乗算を行うことである。
【0042】
このようなシンドロームの演算法として、メモリに記憶されたn個のデータをDn-1 より順次1個ずつαi の乗算回路に入力し、全データ入力後にその出力をシンドロームの結果として得る方法が行われている。
【0043】
従来の技術によれば、データを1個(1バイト)ずつメモリより読み出すため、アクセスが遅いメモリを使用すると処理時間の大幅な遅延を招くという問題点がある。
【0044】
(デスキュー回路5)
図70は、磁気テープの傾斜したトラックに記録されたデータブロックフォーマットの一例を示す図、図71はデータブロックフォーマットをビット単位で示した図70の部分拡大図である。図70,図71において図55と同一のフレームには、SYNC,RESYNC等の同一の略称を付している。図70に示すように、左から右に向かって先頭から順にフレームの記録または再生を行うのがフォワード(FWD)方向(順方向)であり、その逆の方向がバックワード(BWD)方向(逆方向)である。
【0045】
図72は、従来のデスキュー回路5の内部構成を示すブロック図である。図70,図71に示したデータブロックフォーマットを採用したMTU12から送られてきたデータ(DATA)は各トラック間において不揃いが生じており、これらのデータをデスキューイングバッファと呼ばれるメモリに一旦書き込み、スキュー補正を行った後に、そのデスキューイングバッファからデータを読み出して誤り訂正を行うべく、シンドローム作成回路6及びバッファメモリ8に送信する。
【0046】
デスキューイングバッファはそれに用いるメモリ容量を少なくするように、図72に示すように、3個のデスキューイングバッファ42A,42B,42Cで構成されている。各デスキューイングバッファ42A,42B,42Cは、18トラックのデータのうち6トラック分ずつをそれぞれが担当する。また、各デスキューイングバッファ42A,42B,42Cに付随するデスキュー制御回路41A,41B,41C及びマルチプレクサ43A,43B,43Cも6トラック毎の3系統にて構成されている。44は、各マルチプレクサ43A,43B,43Cの9ビットの出力を8ビットに変換する9−8変換回路である。
【0047】
各デスキューイングバッファ42A,42B,42Cは、その内部メモリ領域をアドレスに従って6分割(A,B,C,D,E,F)し、分割した各領域に1トラック分の同期信号(再同期信号)から同期信号(再同期信号)までの72フレームのデータを書き込む。
【0048】
図73〜図76は、各デスキューイングバッファ42A,42B,42CにおけるFWD方向での書き込み・読み出し制御を示す図、図77〜図80は、同じくBWD方向での書き込み・読み出し制御を示す図である。
【0049】
一例として、デスキュー制御回路41A及びデスキューイングバッファ42AのFWD方向時の動作について説明する。磁気テープ上の傾斜した各トラックにおいて、1バイトデータ(9ビットデータ)が揃ったトラックを分割した各メモリ領域に順次書き込んでいく。まず、1A−トラックのデータを、デスキューイングバッファ42Aの1A−トラックに割り当てられたメモリ領域(Aの位置)に書き込む。以下同様に、4A−トラックのデータはBの位置、7A−トラックのデータはCの位置、7B−トラックのデータはDの位置、4B−トラックのデータはEの位置、1B−トラックのデータはFの位置に書き込む(図73参照)。
【0050】
同様にして、デスキューイングバッファ42B,42Cにおいても各トラックのデータを割り当てられた対応するメモリ領域に書き込む(図74,図75参照)。以上のようにして、18トラック分のデータの書き込みを終了する。
【0051】
データの書き込みを終了すると、1バイトデータ毎の読み出し(1バイトデータ転送)が始まる。図73〜図75に示した読み出し順位に従って、各デスキューイングバッファ42A,42B,42Cからの読み出しデータが各マルチプレクサ43A,43B,43Cにて選択され、誤り訂正方法に合った図76に示す順序で9−8変換回路44に出力される。磁気テープ上のデータは9ビットデータであるため、9−8変換回路44にて8ビットデータに変換されて、後段の誤り訂正処理系に送られる。
【0052】
なお、BWD方向時においては、各トラックのデータの書き込み位置はFWD方向時とは異なるが、基本的な処理手順は同様であるのでその説明は省略する。
【0053】
MTU12から送られてきたデータをデスキューイングバッファに一旦書き込み、その後読み出すことによってスキュー補正を行いデータ転送を行っている。この際、従来は1バイトデータ転送であるので、1フレームのデータを転送するのに18回デスキューイングバッファからの読み出しが必要である。従って、高速処理には向いていないという問題がある。また、FWD方向,BWD方向によって、MTU12から送られてきたデータはビット定義が反対、1バイトデータ(9ビットデータ)が揃うトラック順が反対などの違いがあるため、FWD方向とBWD方向とでは誤り訂正方法に見合った順番での1バイトデータ転送が必要であった。このように従来例では、FWD方向とBWD方向とで、各デスキューイングバッファ内の6分割されたメモリ領域の割当が異なっており、FWD方向とBWD方向とでは異なる書き込み・読み出し制御が必要であるという問題がある。
【0054】
(読み出しフォーマット部11e内におけるデータ転送制御)
従来、データを転送する際に、データを一時的に格納してその転送タイミングを切り換える方法としては、マルチプレクサ(セレクタ),フリップフロップ等の素子を用いて転送方法を制御する方式が一般的に使われている。しかし、高密度,高速データ転送に対応した誤り訂正を行ったり、FWD方向,BWD方向のデータ書き込み・読み出し動作に対応するためには、単にメモリ素子を追加するとか、セレクタで各々のケースに対応して切り替え制御を行うといって方法では、回路が複雑化し、回路の規模を増大させることになるという問題がある。
【0055】
以上のように、従来の磁気テープ装置の制御装置では、データフォーマット部11b内の書き込みフォーマット部11d及び読み出しフォーマット部11eにおいて、1バイト単位にて処理を行っているので、処理速度が遅いという問題がある。処理速度を速めるためには、データフォーマット部11b内の各回路を構成する素子を追加してデータ転送の高速化を図ることが考えられるが、この場合には、回路規模の増大,複雑化を招くといった問題がある。
【0056】
なお、上位装置からのデータを圧縮して磁気テープ装置へ出力し、磁気テープ装置からの圧縮データを復元して上位装置へ出力するような構成を有しており、入力されたデータをフォーマット変換して18ビットずつパラレルに磁気テープ装置へ出力するようにした磁気テープ制御装置が知られている(例えば、特許文献1参照)。また、接続された磁気テープから読み込んだデータのバイト数が偶数であるか奇数であるかを判別して、その判別結果に基づいて処理を切り換える磁気テープ制御装置も知られている(例えば、特許文献2参照)。
【特許文献1】特開平5−204552号公報
【特許文献2】特開昭63−211169号公報
【発明の開示】
【発明が解決しようとする課題】
【0057】
本発明は斯かる事情に鑑みてなされたものであり、複数バイト単位の処理が可能であり、回路を複雑化せず、また回路規模の増大を招くことなく、処理するデータバス幅を拡大することができ、データ転送の高速化を図れる磁気テープ装置の制御装置を提供することを目的とする。
【課題を解決するための手段】
【0058】
請求項1に係る磁気テープ装置の制御装置は、上位装置から入力したデータに誤り訂正符号を付加してフォーマット変換し、フォーマット変換したデータを磁気テープユニットに転送すると共に、前記磁気テープユニットから読み出したデータに誤り訂正を行ってフォーマット変換し、フォーマット変換したデータを前記上位装置に転送する磁気テープ装置の制御装置において、前記上位装置からの入力データに対する複数バイト単位での誤り訂正符号化処理、及び/または、前記磁気テープユニットからの読み出しデータに対する複数バイト単位での誤り訂正処理を行うように構成しており、前記上位装置からのデータに対してリードソロモン誤り訂正符号を作成する誤り訂正符号化手段を備え、該誤り訂正符号化手段が、情報語の複数の総和計算を並列処理するように構成したことを特徴とする。
【0059】
本発明では、磁気テープ装置の制御装置内の各回路の構成を工夫して、上位装置からのデータ及び磁気テープユニットからの読み出しデータに対して、複数バイト単位での処理を行えるようにし、1バイト単位での処理を行っていた従来例に比べてデータ処理の高速化を図る。リードソロモン誤り訂正符号を作成する際に、情報語の複数の総和計算を並列処理するので、符号化の処理時間が短縮し、複数バイト単位のデータ入力に対応できる。
【0060】
請求項2に係る磁気テープ装置の制御装置は、請求項1において、前記上位装置からのデータを所定数のバイト単位の1フレームに構成する際に、各フレーム内のバイト数が所定数となるように残余バイトを計数する計数手段を備え、該計数手段が、前記上位装置からのデータのバイト数が奇数であるか偶数であるかを判定する手段と、その判定結果に応じて残余バイトの計数方法を切り換える手段とを有することを特徴とする。
【0061】
残余バイトを計数する計数手段が、上位装置からのデータのバイト数が奇数であるか偶数であるかに応じて、その計数方法を変更することにより、2バイト単位で上位装置から入力されるデータに対応できる。
【0062】
請求項3に係る磁気テープ装置の制御装置は、請求項1において、前記磁気テープユニットから読み出したデータの誤りをリードソロモン方式に従って訂正するために必要なシンドロームを作成するシンドローム作成手段を備え、該シンドローム作成手段が、受信語に検査行列を乗算する回路を複数有し、複数バイトのデータに対して並列的にシンドロームを作成するように構成したことを特徴とする。
【0063】
シンドロームを作成する際に、受信語に検査行列を乗算する複数の回路を並列的に動作させることにより、複数バイトのデータに対して並列的にシンドロームを作成することができ、磁気テープユニットからの複数バイト単位の読み出しデータに対応できる。
【発明の効果】
【0064】
本発明によれば、磁気テープ制御装置のデータフォーマット部内の各回路の機能の高速化を図り、回路を複雑化することなく、データバスの拡大を行うことができ、データ転送速度の高速化を可能とし、磁気テープ装置の性能向上に寄与するところが大きい。
【発明を実施するための最良の形態】
【0065】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
【0066】
図2はテープサブシステムの構成図、図1は図2に示すMTC11のデータフォーマット部11bの内部構成を示すブロック図である。テープサブシステムは、上位装置としてのホスト10と、データを記録するMTU12と、ホスト10及びMTU12間に介在されてデータのフォーマット変換を行うMTC11とから構成されている。データ書き込み時には、ホスト10からのデータがMTC11に入力され、ここでフォーマット変換が行われた後にMTU12にデータが転送される。データ読み取り時には、MTU12からの読み出しデータがMTC11に転送され、ここで誤り訂正が行われると共にフォーマット変換が行われた後にデータがホスト10に送られる。
【0067】
MTC11は、ホスト10とのデータの送受を行うためのインターフェース部11aと、フォーマット変換,誤り訂正等の処理を行うデータフォーマット部11bと、データをD/A変換・A/D変換するデータ変換部11cとを有する。データフォーマット部11bは、磁気テープ上に記録するためのフォーマット化を行う書き込みフォーマット部11dと、磁気テープから読み出したデータのトラックずれを補正したり、データの誤り検出及び訂正を行う読み出しフォーマット部11eとに分けられる。
【0068】
書き込みフォーマット部11dは、残余バイト作成回路1と、マルチプレクサ2,4と、誤り訂正符号化回路3とを有する。残余バイト作成回路1は、ホスト10からのデータをテープフォーマットに合わせるために必要な残余バイトを作成する。マルチプレクサ2は、ホスト10からのカスタムデータ,残余バイト作成回路1からの残余バイト,ブロックID,冗長バイトであるパッドバイト等を結合する。誤り訂正符号化回路3は、誤り訂正のため検査キャラクタである誤り訂正符号を作成する。誤り訂正符号としては、AXP符号またはリードソロモン符号が良く使われている。マルチプレクサ4は、マルチプレクサ2及び誤り訂正符号化回路3の出力を結合する。
【0069】
一方、読み出しフォーマット部11eは、デスキュー回路5と、シンドローム作成回路6と、誤り訂正回路7と、フレームバッファ8とを有する。デスキュー回路5は、MTU12から読み出したデータ間のずれを補正する。磁気テープに記録されたデータを読み込んだ時に、磁気テープと磁気ヘッドとは一般的には垂直にならず、ある程度の誤差角度を生じるので、それに応じてデータ間のずれが発生する。デスキュー回路5はこのデータ間のずれを補正する。シンドローム作成回路6は、読み出しデータの誤りの有無を判定するためのシンドロームと呼ばれる情報を作成する。誤り訂正回路7は、読み出しデータの誤りを訂正する。フレームバッファ8は、磁気テープのデータ読み出し方向によるデータの並べ換え、及び、誤り訂正回路7において誤り係数の計算が行われる間のデータの保持(遅延)を行う。
【0070】
上述したように、本発明におけるテープサブシステム及びMTC11の基本構成は従来例と同じであるが、MTC11内のデータフォーマット部11bを構成する各回路の内部構成及び処理動作が異なっている。即ち、従来例では1バイト幅で処理を行っていたが、本発明では複数バイト幅で処理を行えるようにして、データ処理の高速化を図っている。従って、図1におけるデータバスが、本発明では従来例に比べてN(Nは2以上の整数)倍に拡大されている。
【0071】
以下、本発明におけるデータフォーマット部11b内の各回路の構成及び動作について詳述する。なお、以下の実施の形態では、書き込みフォーマット部11d内においては2バイト幅にて処理が行え、読み出しフォーマット部11d内においては3バイト幅にて処理が行える場合について説明する。
【0072】
(残余バイト作成回路1)
本発明では、書き込みフォーマット部11dが、データ幅を従来の1バイト幅から2バイト幅に倍増させて処理を行っており、高速(従来の2倍)のデータ処理を行えるようになっている。従って、本発明の残余バイト作成回路1は、従来の1バイト処理から2バイト処理に対応できるようにしている。本発明では、従来例で使用していたmod14カウンタの動作を、2バイト処理に対応させている。
【0073】
残余バイト作成回路1の本発明の構成を図3に示す。残余バイト作成回路1は、2個のAND回路13a,13bとNOR回路14とMOD14カウンタ15とを有する。CKは、カウンタ15を動作させるためのクロックである。−RSYNCは、72フレーム毎に発生するRESYNCの制御信号であり、この信号がローである場合にカウンタ15の動作は停止する。WRBKは、レジスタからセットされる信号であり、書き込みブロックが開始された時にのみセットされる。SMDCは、フレームデータ作成時にブロックIDの選択の終了を示し、この信号がローである場合に、ブロックIDが終了したことを表しカウンタ15の動作は停止する。CUSTBLKは、カスタムデータまたはブロックIDである場合にハイになる。−CLRは、カウンタ値をクリアすべくレジスタからセットされる信号であり、装置初期化時及び「IBG」フレーム中にセットされる。BID3は、書き込みフォーマット部11d内にて発生される信号であり、ブロックIDの3バイト目を処理しているときにセットされる。ODDは、書き込みフォーマット部11d内にて発生される信号であり、ホスト10からカスタムデータが転送される際に奇数バイトか偶数バイトかが判断されて奇数バイトであればセットされる。−MOD1〜−MOD8は、パッドバイトの数を表す信号であり、これらの信号が表す値が残余バイトカウントの1バイトの下位4ビットに反映される。
【0074】
図4,図5はカスタムデータが8バイト,9バイトである場合のタイミングチャート、図6はMOD14カウンタ15の出力をそれぞれ示す。残余バイトカウントのバイトは2バイト処理に対応したmod14カウンタ15によって実現し、カウンタ15の出力値はパッドバイトの数を表す。このカウンタ15は、カスタムデータ,ブロックIDの数をカウントアップし、「RESYNC」フレーム中及び誤り訂正符号(ECC)の4バイト時には、その動作を停止する。また、カスタムデータのバイト数によっては、偶数バイトの場合と奇数バイトの場合とがあり、偶数,奇数の2通りの動作を満足する必要がある。
【0075】
次に、カスタムデータが9バイトである場合の動作について説明する。装置初期化時及び「IBG」フレーム中に、カウンタ15の初期化が行われる。この時のカウンタ値は、”0000”である。ファームウェアにより、レジスタからWRBK信号が書き込みブロック開始時のみセットされる。この時のカウンタ値は、”0010”である。カスタムデータを処理する頃になると、CUSTBLK信号がセットされ、カウンタ15のカウント動作を開始する。カウンタ動作は+2ずつカウントアップする。BID3信号がセットされていて、且つODD信号がセットされている場合に、カウンタ15の動作が図6の右表に遷移する。ブロックIDが終了すると、SMDC信号がリセットされ、カウント動作を停止する。カウント動作が停止した際のカウンタ値(”0011”)の反転信号となる−MOD1〜−MOD8の値(”1100”=12)が、残余バイトカウントの下位4ビットに入る。
【0076】
(誤り訂正符号化回路3)
〔AXP符号化方式〕
図7,図8は本発明のDRC作成回路の構成を示す図、図9は本発明のVRC作成回路の構成を示す図である。この構成例は、複数バイト(2バイト)入力のときの例である。DRC作成回路は、セットA用(図7)とセットB用(図8)との2系統に分かれており、セットA用(セットB用)のDRC作成回路は、データ選択部21A(21B)と、データパリティ作成部22A(22B)と、フレーム制御部23A(23B)と、データマスク部24A(24B)と、タイミング制御回路(図示せず)とで構成されている。
【0077】
DRC,VRCは、基本的にそれぞれ斜め方向,縦方向のビット同士のパリティをとっている。1バイトずつ入力していた従来のDRC作成回路,VRC作成回路では、各回路において1ビットずつパリティをとっていたが、複数バイトずつ入力する本発明のDRC作成回路,VRC作成回路では、各回路において複数ビット同時にパリティをとればよい。これは、DRC,VRCの作成に必要な複数ビットをそれぞれ選択し、選択した複数ビットにてパリティを求めるようにすれば実現できる。
【0078】
次に、動作について説明する。AXP符号のDRC,VRCを求める式は、1バイトずつ入力する場合と複数バイトずつ入力する場合とは同じであるので、DRC,VRCのセットA,セットBの各々で計算されるm番目の値は以下のようになる。
【0079】
DRC
A0m =(A1m-1 +A2m-2 +A3m-3 +・・・+A7m-7
B7m-8 +B6m-9 +B5m-10+・・・+B0m-15MOD2
B0m =(B1m-1 +B2m-2 +B3m-3 +・・・+B7m-7
A7m-8 +A6m-9 +A5m-10+・・・+A0m-15MOD2
【0080】
VRC
A8m =(A0m +A1m +A2m +・・・+A7m MOD2
但し、A0m :DRCA
A1m ,A2m ,・・・.A7m :データ
B8m =(B0m +B1m +B2m +・・・+B7m MOD2
但し、B0m :DRCB
B1m ,B2m ,・・・.B7m :データ
【0081】
入力データが2バイトずつであるので、1フレームのタイミングは9タイミングである。図10はその入力データとタイミングとの関係を示す図表、また、図11は本発明のDRCの作成方法の原理を説明するための図である。DRCを作成する際、図10のようにデータを入力すると、その入力データは2バイト(BS1,2,3,4,6,7,ECC1の場合)または1バイト(BS5,ECC2の場合)であるが、入力された偶数(EVEN)バイトのうち1ビット、奇数(ODD)バイトのうち1ビットを対象にしてデータを選んでDRCの1ビットを作成する。データフレーム3−DRCAビット7はc1〜cFのデータビットに対して作成するので、それ以外のデータビットはどんな値でも関係ない。このことは、データフレーム4−DRCAビット7,データフレーム5−DRCAビット7についても同様である。
【0082】
例えば、データフレーム3のDRCA−ビット7を作成する際に対象とされるデータは、データフレーム2−バイト8−ビット7(c8),バイト9−ビット6(c9),バイト10−ビット5(cA),バイト11−ビット4(cB),バイト12−ビット3(cC),バイト13−ビット2(cD),バイト14−ビット1(cE),DRCB−ビット0(cF),データフレーム3−バイト1−ビット6(c1),バイト2−ビット5(c2),バイト3−ビット4(c3),バイト4−ビット3(c4),バイト5−ビット2(c5),バイト6−ビット1(c6),バイト7−ビット0(c7)となる。同様に、データフレーム4のDRCA−ビット7を作成する際に対象とされるデータは、データフレーム3−バイト8−ビット7(a8),バイト9−ビット6(a9),バイト10−ビット5(aA),バイト11−ビット4(aB),バイト12−ビット3(aC),バイト13−ビット2(aD),バイト14−ビット1(aE),DRCB−ビット0(aF),データフレーム4−バイト1−ビット6(a1),バイト2−ビット5(a2),バイト3−ビット4(a3),バイト4−ビット3(a4),バイト5−ビット2(a5),バイト6−ビット1(a6),バイト7−ビット0(a7)となる。更に、データフレーム5のDRCA−ビット7を作成する際に対象とされるデータは、データフレーム4−バイト8−ビット7(b8),バイト9−ビット6(b9),バイト10−ビット5(bA),バイト11−ビット4(bB),バイト12−ビット3(bC),バイト13−ビット2(bD),バイト14−ビット1(bE),DRCB−ビット0(bF),データフレーム5−バイト1−ビット6(b1),バイト2−ビット5(b2),バイト3−ビット4(b3),バイト4−ビット3(b4),バイト5−ビット2(b5),バイト6−ビット1(b6),バイト7−ビット0(b7)となる。
【0083】
以上のような対象とされる斜め方向のデータに対して偶数パリティをとれば、DRCAの1ビットが作成される。そして、各ビットについて同様の処理を順次行うことによりDRCを作成できる。
【0084】
DRCAのビット単位で考えていくと、図11から分かるようにDRCは斜め方向のデータに対して作成するため、複数フレーム(2〜3フレーム)に渡ってしまう。そのため3つの制御フレームに分けてどこのデータを選ぶかを決定する。例えばデータフレーム3について考えると、その1フレーム中のデータは制御フレーム0,1,2のDRCAを作成するためのデータとして3分割され、選ばれるデータとしては重なり合うことはない。
【0085】
データフレーム3,4,5を見比べると、データの選び方により何バイト目の何ビット目が、必ずDRCの何ビット目に選ばれているということが分かる。選ばれる制御フレームは異なるが、DRCの何ビット目に選ばれるかということがわかる。例えばバイト1のビット6は、データフレーム3(c1)ではDRCAのビット7、データフレーム4(a1)ではDRCAのビット7、データフレーム5(b1)ではDRCAのビット7に選ばれる。また、バイト1のビット0は、データフレーム3ではDRCAのビット1、データフレーム4ではDRCAのビット1、データフレーム5ではDRCAのビット1に選ばれる。
【0086】
このことから必ずバイト1のビット1はDRCAのビット2に選択され、バイト2のビットはDRCAのビット2に選択される。従って、制御フレーム0,1,2のDRC作成回路でそのデータを取り込むか否かを制御するようにすれば良い。あと一点考えなければいけないのは、DRCの作成は3フレームに渡って行うので、例えば実際に扱っているデータフレーム3のときはデータフレーム3,4,5のときに出力するDRCを同時に作成しなければいけない点である。従って、最低でも3フレーム分のDRC作成回路を持つ必要があることが分かる。
【0087】
データの選び方についてもう少し詳細に説明する。データフレーム3(制御フレーム2)のデータが入力されてきた場合、どのビットをDRCAの何ビット目の作成回路に選べば良いかを説明する。
【0088】
バイト1のビット0は制御フレーム2のDRCA−ビット1、ビット1はDRCA−ビット2、ビット2はDRCA−ビット3、ビット3はDRCA−ビット4、ビット4はDRCA−ビット5、ビット5はDRCA−ビット6、ビット6(c1)はDRCA−ビット7、ビット7は制御フレーム0のDRCA−ビット0、バイト2のビット0は制御フレーム2のDRCA−ビット2、ビット1はDRCA−ビット3、ビット2はDRCA−ビット4、ビット3はDRCA−ビット5、ビット4はDRCA−ビット6、ビット5(c2)はDRCA−ビット7、ビット6は制御フレーム0のDRCA−ビット0、ビット7はDRCA−ビット1、バイト3のビット0は制御フレーム2のDRCA−ビット3、ビット1はDRCA−ビット4、ビット2はDRCA−ビット5、ビット3はDRCA−ビット6、ビット4(c3)はDRCA−ビット7、ビット5は制御フレーム0のDRCA−ビット0、ビット6はDRCA−ビット1、ビット7はDRCA−ビット2、バイト4のビット0は制御フレーム2のDRCA−ビット4、ビット1はDRCA−ビット3、ビット2はDRCA−ビット2、ビット3(c4)はDRCA−ビット1、ビット4は制御フレーム0のDRCA−ビット0、ビット5はDRCA−ビット1、ビット6はDRCA−ビット2、ビット7はDRCA−ビット3、バイト5のビット0は制御フレーム2のDRCA−ビット5、ビット1はDRCA−ビット6、ビット2はDRCA−ビット7、ビット3は制御フレーム0のDRCA−ビット0、ビット4はDRCA−ビット1、ビット5はDRCA−ビット2、ビット6はDRCA−ビット3、ビット7はDRCA−ビット4、バイト6のビット0は制御フレーム2のDRCA−ビット6、ビット1(c6)はDRCA−ビット7、ビット2は制御フレーム0のDRCA−ビット0、ビット3はDRCA−ビット1、ビット4はDRCA−ビット2、ビット5はDRCA−ビット3、ビット6はDRCA−ビット4、ビット7はDRCA−ビット5、バイト7のビット0は制御フレーム2のDRCA−ビット7、ビット1は制御フレーム0のDRCA−ビット0、ビット2はDRCA−ビット1、ビット3はDRCA−ビット2、ビット4はDRCA−ビット3、ビット5はDRCA−ビット4、ビット6はDRCA−ビット5、ビット7はDRCA−ビット6、バイト8のビット0は制御フレーム0のDRCA−ビット0、ビット1はDRCA−ビット1、ビット2はDRCA−ビット2、ビット3はDRCA−ビット3、ビット4はDRCA−ビット4、ビット5はDRCA−ビット5、ビット6はDRCA−ビット6、ビット7(a8)はDRCA−ビット7、バイト9のビット0は制御フレーム0のDRCA−ビット1、ビット1はDRCA−ビット2、ビット2はDRCA−ビット3、ビット3はDRCA−ビット4、ビット4はDRCA−ビット5、ビット5はDRCA−ビット6、ビット6(a9)はDRCA−ビット7、ビット7は制御フレーム1のDRCA−ビット0、バイト10のビット0は制御フレーム0のDRCA−ビット2、ビット1はDRCA−ビット3、ビット2はDRCA−ビット4、ビット3はDRCA−ビット5、ビット4はDRCA−ビット6、ビット5(aA)はDRCA−ビット7、ビット6は制御フレーム1のDRCA−ビット0、ビット7はDRCA−ビット1、バイト11のビット0は制御フレーム0のDRCA−ビット3、ビット1はDRCA−ビット4、ビット2はDRCA−ビット5、ビット3はDRCA−ビット6、ビット4(aB)はDRCA−ビット7、ビット5は制御フレーム1のDRCA−ビット0、ビット6はDRCA−ビット1、ビット7はDRCA−ビット2、バイト12のビット0は制御フレーム0のDRCA−ビット4、ビット1はDRCA−ビット5、ビット2はDRCA−ビット6、ビット3(aC)はDRCA−ビット7、ビット4は制御フレーム1のDRCA−ビット0、ビット5はDRCA−ビット1、ビット6はDRCA−ビット2、ビット7はDRCA−ビット3、バイト13のビット0は制御フレーム0のDRCA−ビット5、ビット1はDRCA−ビット6、ビット2(aD)はDRCA−ビット7、ビット3は制御フレーム1のDRCA−ビット0、ビット4はDRCA−ビット1、ビット5はDRCA−ビット2、ビット6はDRCA−ビット3、ビット7はDRCA−ビット4、バイト14のビット0は制御フレーム0のDRCA−ビット6、ビット1(cE)はDRCA−ビット7、ビット2は制御フレーム1のDRCA−ビット0、ビット3はDRCA−ビット1、ビット4はDRCA−ビット2、ビット5はDRCA−ビット3、ビット6はDRCA−ビット4、ビット7はDRCA−ビット5、DRCBのビット0(aF)は制御フレーム0のDRCA−ビット7、ビット1は制御フレーム1のDRCA−ビット0、ビット2はDRCA−ビット1、ビット3はDRCA−ビット2、ビット4はDRCA−ビット3、ビット5はDRCA−ビット4、ビット6はDRCA−ビット5、ビット7はDRCA−ビット6となる。
【0089】
以上のような選択関係を表にまとめると、図12,図13となる。これを2バイト入力の図10のタイミングで表にすると、図14,図15のようになる。このような表の関係を実現するための回路の構成例を、図16〜図19に示す。
【0090】
データを2バイトずつ入力するので、DRC作成時にデータの作成に不必要なデータは入力しないようにしなければならない。DRCはビット単位で作成されるので、1バイト目の1ビットと2バイト目の1ビットとで片一方だけのビットが必要になった場合に、取り込まないデータが不必要なデータとなる。
【0091】
図11のDRC作成フォーマットを参照して、不必要なデータを例示する。制御フレーム0のDRCAビット1を求める場合を考える。制御フレーム0のバイト1,バイト2が入力されたとき、DRCA作成に使用されるのはバイト1のビット0だけであって、バイト2は使用されない。DRCAビット1を作成するとき、データはバイト1のビット0とバイト2のビット2とが選択されているが、使用するデータ(バイト1のビット0)のみを選択するようにすれば良い。この選択を行うために、入力された不必要なデータ(バイト2のビット2)をマスクする。もう一例挙げてみると、制御フレーム0のDRCAビット3を求める際、タイミングBS2,バイト3のビット0とバイト4のビット7とが入力されているが、不必要なバイト4のビット7をマスクする。
【0092】
このようにデータの入力が1ビットのとき、図7,図8のデータマスク部24A,24Bでデータのマスクを実施する。データのマスクの詳細は図20,図21に示す。図7,図8のデータマスク部24A,24Bに入力している信号は、MAO−0?,MAE−0?,MAO−1?,MAE−1?,MAO−2?,MAE−2?と、MBO−0?,MBE−0?,MBO−1?,MBE−1?,MBO−2?,MBE−2?とである。この信号はDRCを作成する際の制御フレームとタイミング信号とで作成される。データマスク部24A,24Bの内部回路の詳細は、図22及び図23,図24及び図25に示す。
【0093】
入力されるデータは、データ選択部21A,21Bとデータマスク部24A,24Bとで決まるので、データの取り込むタイミングについて述べる。DRCA作成回路,DRCB作成回路はそれぞれ3フレーム分の回路を有するが、それぞれのデータの取り込むタイミングが異なるので、タイミング制御が必要である。データの取り込むタイミング表を図26〜図31に示す。DRCの作成時に出力フレーム0,1,2毎にどのデータを取り込むかを表す。
【0094】
現在どのフレームを処理しているかを示す制御フレーム0,1,2と、3つのフレームタイミングでDRCを出力する出力フレームとによって、どのデータのビットを取り込むかを表す。○はその印がある場所のビットを取り込むことを示す。×はDRCが作成されたことを示す。○の所を取り込むタイミングとして表を作ると、図32〜図37のようになる。この表をもとに図7,図8のデータパリティ作成部22A,22Bのフリップ・フロップのセット条件を制御する信号CE0FA?,CE1FA?,CE2FA?,CE0FB?,CE1FB?,CE2FB?を作成する。
【0095】
以上のように、データ選択部21A,21Bにてデータを選択し、データマスク部24A,24Bにて不必要なデータをマスクし、データパリティ作成部22A,22Bにてデータの斜め方向のパリティをとることにより、DRCを作成する。
【0096】
次に、VRCについて述べる。VRCを作成する理論は1バイトずつ入力する場合と2バイトずつ入力する場合とは同じである。つまりセットA,セットBのビットごとの偶数パリティをとれば良い。図9に示すような回路構成を用いればVRCの作成を実現できる。
【0097】
まず、データを入力する前にJKフリップ・フロップをクリアしておく。セットAでは、1バイト目と2バイト目とのビットごとをEOR(排他的論理和)してトグル回路のJKフリップ・フロップに入力する。3,4バイト目、5,6バイト目、7バイト目+DRCAを同様に入力すれば、フリップ・フロップにVRCAが作成される。セットBでは、8バイト目を入力してトグル回路のJKフリップ・フロップに入力する。9,10バイト目のビットごとをEORしてトグル回路のJKフリップ・フロップに入力する。11,12バイト目、13,14バイト目を同様に入力する。そしてDRCBとJKフリップ・フロップの出力とをEORすると、VRCBが作成される。
【0098】
上述のDRC作成回路の構成では、図7,図8のように3フレームのデータ選択部が共通になっていて、データマスク部とフリップ・フロップとのセット制御でデータの選択をしている。しかし、データ選択の実施方法としては、別の方法もある。データの選択は図38の網かけで示したように3種類のグループが存在する。この3種類を順番に選択することでデータを選ぶことができる。このような例における回路構成は図39のようになる。
【0099】
また、上述の例では、2バイトずつ入力してAXP訂正符号を作成する場合について説明したが、2バイト以外の複数バイトずつ入力して、DRCの斜め方向のパリティ及びVRCの縦方向のパリティをとることも可能である。
【0100】
〔リードソロモン符号〕
次に、本発明のリードソロモン符号の高速化について説明する。検査行列を利用した符号化計算を以下の符号を用いて具体的に示す。
符号長 n=18
情報点数 k=14
検査点数 n−k=4
最小距離 dmin =5
原始多項式 g(x)=x8 +x4 +x3 +x2 +1
生成多項式 G(x)=(x−α3 )(x−α2 )(x−α)(x−1)
=x4 +α753 +α249 2 +α78x+α6
と展開できる。
0 〜d3 は以下の行列で表される。
【0101】
ここで、下記に示される総和、
【0102】
【数4】

【0103】
即ち、a0 〜a3 を展開すれば、
0 =i13+i12+i11+i10+i9 +i8 +i7 +i6 +i5 +i4 +i3 +i2 +i1 +i0
1 =i13×α17+i12×α16+i11×α15+i10×α14+i9 ×α13
+i8 ×α12+i7 ×α11+i6 ×α10+i5 ×α9 +i4 ×α8
+i3 ×α7 +i2 ×α6 +i1 ×α5 +i0 ×α4
2 =i13×α34+i12×α32+i11×α30+i10×α28+i9 ×α26
+i8 ×α24+i7 ×α22+i6 ×α20+i5 ×α18+i4 ×α16
+i3 ×α14+i2 ×α12+i1 ×α10+i0 ×α8
3 =i13×α51+i12×α48+i11×α45+i10×α42+i9 ×α39
+i8 ×α36+i7 ×α33+i6 ×α30+i5 ×α27+i4 ×α24
+i3 ×α21+i2 ×α18+i1 ×α15+i0 ×α12
となる。
【0104】
ここで情報語i13〜i0 を2バイト単位(i13とi12,i11とi10,i9 とi8 ,i7 とi6 ,i5 とi4 ,i3 とi2 ,i1 とi0 )で、総和を求める回路に入力することを考え、a1 〜a3 を以下のような共通項でまとめた式に変更する。
1 =α5 (i13×α12++i11×α10+i9 ×α8 +i7 ×α6
+i5 ×α4 +i3 ×α2 +i1 ×α0 )+
α4 (i12×α12++i10×α10+i8 ×α8 +i6 ×α6
+i4 ×α4 +i2 ×α2 +i0 ×α0
2 =α10(i13×α24++i11×α20+i9 ×α16+i7 ×α12
+i5 ×α8 +i3 ×α4 +i1 ×α0 )+
α8 (i12×α24++i10×α20+i8 ×α16+i6 ×α12
+i4 ×α8 +i2 ×α4 +i0 ×α0
3 =α15(i13×α36++i11×α30+i9 ×α24+i7 ×α18
+i5 ×α12+i3 ×α6 +i1 ×α0 )+
α12(i12×α36++i10×α30+i8 ×α24+i6 ×α18
+i4 ×α12+i2 ×α6 +i0 ×α0
【0105】
この式は、2バイト単位で入力したときに、偶数バイトと奇数バイトとの各々に定数の乗算を行うことにより、総和を求める回路の簡略化が可能であることを示す。また、この式からa1 を求める場合の乗算回路における乗算定数は、偶数バイト,奇数バイト共にα2 であり、また、a2 の場合の乗算定数はα4 、a3 の場合の乗算定数はα6 と偶数バイト及び奇数バイトで共通な同じ値になる。よって、乗算−加算−保持を順次繰り返すことで、各式の括弧内の値を求めることができる。即ち、従来の回路と比較して2倍の速度で情報語の総和を求めることが可能になる。
【0106】
次に、a0 〜a3 から検査語d0 〜d3 を求めるには、前述の行列式を解く回路を構成すればよく、従来と同様に所定の乗算定数を設定した乗算回路と加算回路とを用いて、以下に示すような演算式に従って実現できる。
0 =α218 ×a0 +α158 ×a1 +α156 ×a2 +α212 ×a3
1 =α158 ×a0 +α138 ×a1 +α2 ×a2 +α153 ×a3
2 =α156 ×a0 +α2 ×a1 +α135 ×a2 +α152 ×a3
3 =α212 ×a0 +α153 ×a1 +α152 ×a2 +α209 ×a3
【0107】
図40,図41は、以上のようなa0 〜a3 及びd0 〜d3 を求めるようにした回路の構成図である。EORで構成されたガロア体上の加算回路25と、EOR及びANDで構成されたガロア体上の定数項の乗算回路27と、乗算−加算されたデータ(情報語)を保持するためのレジスタ26とを有する。符号化を行う場合には、情報語を2バイト単位で入力し、全てのデータが入力された時点でa0 〜a3 が図40の回路にて計算され、計算されたa0 〜a3 が図41の回路に入力されて同時に検査語d0 〜d3 が求まる。即ち、符号化に必要な時間は、情報語長÷2となり、従来例に比べて誤り訂正符号化の処理時間が半分に短縮する。
【0108】
なお、上述の説明においては、説明を簡単にするために、入力データを2バイト単位としているが、例えば4バイト,6バイト,・・・(単位が偶数)であれば、同じ考え方で符号化回路を構成することができる。
【0109】
(リードソロモン符号に対するシンドローム作成回路6)
図42は、本発明のシンドローム作成回路6の構成を示すブロック図であり、シンドローム作成回路6は、メモリ31と、ビット重み変換部32と、並列シンドローム演算部33と、シンドローム結果記憶部34と、コントローラ部35とを有する。
【0110】
シンドローム演算前、メモリ31より読み出したデータについて走行方向によりそのガロア体GFが異なってビット重みの入れ換えが必要となる場合がある。この場合に、ビット重み変換部32は、データのビット重みを入れ換えて、並列シンドローム演算部33に出力する。並列シンドローム演算部33は、ビット重み変換後のデータのシンドロームを求める。シンドローム結果記憶部34は、シンドロームの演算結果を記憶する。コントローラ部35は、この並列シンドローム演算部33での演算処理を制御する。
【0111】
図43は、図42の並列シンドローム演算部33及びコントローラ部35の内部構成を示す。並列シンドローム演算部33は、EOR器36と乗算器37とアルチプレクサ38とレジスタ39とを有し、コントローラ部35は、バイト切り換え器35aとパルス発生器35bとを有する。
【0112】
以下の条件に従った動作について説明する。
符号が存在する体:GF(2) 元の総数は256個
体を構成する原始多項式:g(x)=x8 +x4 +x3 +x2 +1
RS符号の生成多項式:G(x)=x4 +α753 +α249 2 +α78
+α6
=(x+α0 )(x+α1 )(x+α2 ) (x+α3
符号長 n=18バイト
情報点数 k=14バイト
検査点数 m=4バイト
最小距離 dmin =5
訂正能力 誤り訂正=2個、または、誤り検出=4個まで可能
【0113】
まず、メモリ31に記憶された18バイトの符号語を3バイト毎にまとめ、その3バイトのデータを同時にビット重み変換器32に取り込み、走行方向によってガロア体が異なりビット重みの入れ換えが必要な場合にビット重みを入れ換える。ビット重み変換後のデータは並列シンドローム演算部33に入力されてシンドロームが演算される。各々EORした結果を、乗算器37のべき乗テーブルと乗算することによりシンドロームが求まる。マルチプレクサ38は、データ転送時のバイト数の切り換えに必要であり、コントローラ部35のシンドローム演算用のバイト切り換え器35aにより外部からの情報でバイト数が切り換えられる。また、レジスタ39は、演算したシンドローム結果を一時保存しておき、正確に出力するために必要なものである。18バイトのデータが入力された後、演算されたシンドローム結果は、18バイトのデータ入力後にパルス発生器35bから発生されるタイミングパルスに応じて、シンドローム結果記憶部34に保存される。
【0114】
以上のように、3バイト単位での処理を実施するので、シンドローム演算を高速に行うことができる。
【0115】
(デスキュー回路5)
本発明では、3個のデスキューイングバッファを同時に読み出して1回あたり3バイトのデータを転送する処理を6回行うことにより、1フレームのデータの転送速度を従来例の3倍に高める。また、デスキューイングバッファの各トラックの割当てを変更し、且つ制御方法を変更することによって、FWD方向とBWD方向とにおいて同一の制御法によりデータ転送が可能なようにする。
【0116】
図44は、本発明のデスキュー回路5の内部構成を示すブロック図である。デスキュー制御回路41A(41B,41C)と、デスキューイングバッファ42A(42B,42C)と、マルチプレクサ43A(43B,43C)と、9−8変換回路44A(44B,44C)とから構成される3系統の回路を設けて、一度に3バイトのデータを転送できるようにしている。
【0117】
図45〜図48は、各デスキューイングバッファ42A,42B,42Cにおけるデータの書き込み・読み出し制御を示す図である。本発明では、従来例と異なり、FWD方向及びBWD方向においてその書き込み・読み出し制御は共通である。
【0118】
一例として、デスキュー制御回路41A及びデスキューイングバッファ42Aの制御動作について説明する。磁気テープ上の傾斜した各トラックにおいて、1バイトデータ(9ビットデータ)が揃ったトラックを分割した各メモリ領域に順次書き込んでいく。まず、1A−トラックのデータを、デスキューイングバッファ42Aの1A−トラックに割り当てられたメモリ領域(Aの位置)に書き込む。以下同様に、4A−トラックのデータはBの位置、7A−トラックのデータはCの位置、5B−トラックのデータはDの位置、2B−トラックのデータはEの位置、0A−トラックのデータはFの位置に書き込む(図45参照)。
【0119】
同様にして、デスキューイングバッファ42B,42Cにおいても各トラックのデータを割り当てられた対応するメモリ領域に書き込む(図46,図47参照)。以上のようにして、18トラック分のデータの書き込みを終了する。
【0120】
データの書き込みを終了すると、3バイトデータの転送を始める。図45〜図47に示す各デスキューイングバッファ42A,42B,42Cの読み出し順位1番のブロック(Aの位置)のデータを同時に読み出して、1回のタイミングで3バイト転送を実現する。読み出した3バイトデータは3系統独立の9−8変換回路44A,44B,44Cに転送されて、8ビットのデータに変換される。次に、各デスキューイングバッファ42A,42B,42Cの読み出し順位2番のブロック(Bの位置)、次いで、読み出し順位3番というように、合計6回のタイミングで18トラック分の1フレームのデータを送信する(図48参照)。
【0121】
以上のような手法により、1フレームのデータ転送において従来例の3倍速の転送が可能になり、処理速度を向上することができる。また、FWD方向,BWD方向に関わらずに、同一の制御手法でのデスキュー処理が可能になる。
【0122】
(読み出しフォーマット部11e内におけるデータ転送制御)
従来の3倍である3バイト幅で転送されるデータに対して、次段の回路(ホスト10)へ転送するまでに誤り訂正処理を行う場合、一時的にデータを格納する手段が必要である。その格納手段として、メモリ,フリップ・フロップ,セレクタ等の素子の使用を最小限にし、しかもFWD方向及びBWD方向の読み出し動作に対応できるためには、そのメモリアドレスの制御方法を工夫する必要がある。
【0123】
磁気テープ等の媒体から読み出されたデータをメモリに格納する際、格納するメモリアドレスを制御するカウンタ制御回路によってアドレスカウンタを制御する。カウンタの出力値はメモリのアドレス線に入力されており、データをメモリの決まった領域に格納するようにアドレス制御するようになっている。また、カウンタ制御回路では、磁気テープ読み取り方向(FWD方向かBWD方向か)によってアドレス順を切り替えることができる。誤り訂正処理を行う際に、入力データ順がBWD方向とFWD方向とでは逆であるが、カウンタ制御回路でアドレス順を切り替えることによって、BWD方向とFWD方向とで個別の誤り訂正回路を設ける必要がない。
【0124】
図49は、本発明のデータ転送制御系の構成を示すブロック図である。図49に示すデータ転送制御系は、データを格納するためのメモリ領域を有するSRAM51と、特定アドレス値を設定するアドレスロード値設定回路52と、FWD方向,BWD方向各々において転送データの順序を切り替えるためのFWD/BWD切替回路53と、書き込み,読み出しそれぞれのアドレスを制御するアドレスカウンタ回路54と、磁気テープ等の媒体55と、誤り訂正を行う誤り訂正処理回路56と、FWD方向,BWD方向を判別するための走行方向判断回路57と、BWD方向時に同一アドレス内の3バイトのデータ順を並べ換えるBWDバイトデータ変換回路58とを備える。アドレスカウンタ回路54は、書き込みカウンタ54aと読み出しカウンタ54bとを有する。
【0125】
図50はSRAM51におけるメモリマップを示す図であり、グループ毎のメモリ格納領域を示している。図50において、(1),(2),3)はフレーム単位のデータのグループ番号、00,05,06,0B,0C,11,12は各グループのデータを格納する領域を表したアドレス初期値(ロード値)である。
【0126】
図51は、媒体55から3バイト単位で転送されてくるデータの1フレーム分のフォーマットを示す図であり、図51(a)はFWD方向での読み出し時、図51(b)はBWD方向での読み出し時のデータフォーマットをそれぞれ示す。また、図52はフレーム単位のデータの書き込み,読み出しのタイミングチャート、図53はある特定のフレームデータにおけるFWD時の書き込み,読み出しの詳細なタイミングチャート、図54はある特定のフレームデータにおけるBWD時の書き込み,読み出しの詳細なタイミングチャートである。
【0127】
媒体55からFWD方向に読み出されたデータが、図51(a)に示すようなフォーマット(3バイト幅:1A,2A,3A)でパラレルに送られてきた場合、アドレスロード値設定回路52によって設定されたフレーム単位(1Aから8Bまでの18バイト)のグループ毎に、SRAM51の決められた格納アドレス(ロード値)にデータが3バイト格納される。この場合、まず00がロードされ、アドレス00には、1A,2A,3Aの3バイトが格納される。
【0128】
その後、アドレスカウンタ回路54によってアドレスがインクリメントされ、それぞれ、インクリメントされたアドレスに応じてデータが3バイトずつ格納されていく。05までインクリメントされたアドレスにデータが格納されると、1フレームのデータ、即ちグループ(1)の格納が終了する。同様に、グループ(2)はアドレス06から0Bまで、グループ(3)は0Cから11までというようにグループ毎にデータ格納処理が行われる。
【0129】
次に、グループ毎にSRAM51に格納された(書き込まれた)同一のアドレスを、読み出す場合の説明を行う。この際、図52に示すように、書き込みと読み出しとのタイミングで2フレームの遅れが生じる。これは、フレームデータ(18バイト)書き込み完了に1フレーム、更に書き込まれたデータに関して誤り訂正処理を行うために1フレームかかるためである。データ格納時にグループを3つに分け、それぞれの開始アドレスと終了アドレスとをロード値として設定するのは、この2フレームのずれに対処するためである。
【0130】
SRAM1に書き込まれた同一のアドレスを読み出すのに2フレーム遅れるため、図52に示すように、グループ(3)を書き込んでいるときはグループ(1)を読み出し、グループ(1)を書き込んでいるときはグループ(2)を読み出し、グループ(2)を書き込んでいるときはグループ(3)を読み出すというように、書き込み,読み出しそれぞれのアドレスカウンタ54a,54bを制御する。図53はこのアドレスカウンタ制御の詳細なタイミングを示す。図53では、0Cを書き込んでいるときは00を読み出し、08を書き込んでいるときは0Cを読み出していることを表している。
【0131】
なお、上述した例はFWD方向時の書き込みについての説明であるが、BWD方向時の書き込みの場合、媒体55から読み出される読み出しデータは、誤り訂正処理の都合上、前段でFWD方向のデータ順に変換されており、次段へ出力する場合はBWD方向に変換し直さないといけない。FWD/BWD各々の走行方向を判断する走行方向判断回路57によって走行方向を判別し、読み出し/書き込み順を制御するFWD/BWD切替回路53によって切り替える。つまり、FWD方向の場合はグループの開始アドレスをロードし、カウンタ値を増やしていくが、BWD方向の場合は、グループの最終アドレスをロード値とし、カウンタ値を減らしていくようにする。
【0132】
例えば、図54において、グループ(1)をBWD方向で読み出す場合、0Cを書き込んでいるときは05を読み出すというように、グループ(1)の最終アドレスをロード値としダウンカウントするように読み出しアドレスカウンタを制御する。また、BWD時は図51(b)に示すように、出力データ順に加えて同一アドレス内の3バイトの並びも変わるので、BWD時はBWDバイトデータ変換回路58によってバイト変換制御を行う。
【0133】
以上のような手法によると、データ転送の高速化(3バイト転送)、テープ媒体からのデータの読み出し順序がFWD方向またはBWD方向に変化した場合、また、高性能な誤り訂正処理を行う際に、フレーム単位としてデータのずれが生じた場合等においても、より高度,複雑になりつつあるデータ転送制御方式において、以上に挙げた要因に総括的に対処できる。アドレスカウンタをFWD方向,BWD方向で切り換えて制御することにより、カウンタロード値を設定し、カウンタをアップカウントにするかダウンカウントにするかによって、FWD方向及びBWD方向での読み出し動作に対応できる。データを3つのグループに分けることによって、上に述べた書き込み時と読み出し時とで2フレームずれるという現象においても、同じタイミングにおいて書き込み動作と読み出し動作とを行え、3バイトデータ高速転送に対応することができる。
【0134】
データ転送制御方法における従来からの改良手法の常套手段である、データ格納またはバッファ制御を行うためのフリップ・フロップ,セレクタ等の素子の多量追加という方法に対し、本発明では以上のような手法にてデータ転送制御を行うので、データ格納,バッファ制御を行うために使用される素子の絶対数を最小限に抑え、回路規模の増大,複雑化を防ぎ、開発期間の短縮、開発費の低減、更にはテスト項目の簡略化をも図ることができ、多方面にわたって効率面での向上が可能となる。
【図面の簡単な説明】
【0135】
【図1】磁気テープ制御装置のデータフォーマット部の内部構成例を示すブロック図である。
【図2】テープサブシステムの構成例を示すブロック図である。
【図3】本発明の残余バイト作成回路の構成例を示す図である。
【図4】本発明の残余バイト作成回路のタイミングチャート(カスタムデータが8バイト)である。
【図5】本発明の残余バイト作成回路のタイミングチャート(カスタムデータが9バイト)である。
【図6】本発明の残余バイト作成回路のmod14カウンタ出力を示す図表である。
【図7】本発明のDRC作成回路の構成例を示す図である。
【図8】本発明のDRC作成回路の構成例を示す図である。
【図9】本発明のVRC作成回路の構成例を示す図である。
【図10】本発明におけるDRC作成時の入力データとデータタイミングとの関係を示す図表である。
【図11】本発明におけるDRC作成の一例を示す図である。
【図12】従来例のDRC作成回路でのデータ選択を示す図表である。
【図13】従来例のDRC作成回路でのデータ選択を示す図表である。
【図14】本発明のDRC作成回路でのデータ選択を示す図表である。
【図15】本発明のDRC作成回路でのデータ選択を示す図表である。
【図16】本発明のDRC作成回路でのデータ選択部の構成例を示す図である。
【図17】本発明のDRC作成回路でのデータ選択部の構成例を示す図である。
【図18】本発明のDRC作成回路でのデータ選択部の構成例を示す図である。
【図19】本発明のDRC作成回路でのデータ選択部の構成例を示す図である。
【図20】本発明のDRC作成回路のデータマスク部でのデータマスクタイミングを示す図表である。
【図21】本発明のDRC作成回路のデータマスク部でのデータマスクタイミングを示す図表である。
【図22】本発明のDRC作成回路のデータマスク部の構成例を示す図である。
【図23】本発明のDRC作成回路でのデータマスク部の構成例を示す図である。
【図24】本発明のDRC作成回路のデータマスク部の構成例を示す図である。
【図25】本発明のDRC作成回路でのデータマスク部の構成例を示す図である。
【図26】本発明のDRC作成回路でのデータ取り込みタイミングを示す図である。
【図27】本発明のDRC作成回路でのデータ取り込みタイミングを示す図である。
【図28】本発明のDRC作成回路でのデータ取り込みタイミングを示す図である。
【図29】本発明のDRC作成回路でのデータ取り込みタイミングを示す図である。
【図30】本発明のDRC作成回路でのデータ取り込みタイミングを示す図である。
【図31】本発明のDRC作成回路でのデータ取り込みタイミングを示す図である。
【図32】本発明のDRC作成回路でのデータセットタイミングを示す図である。
【図33】本発明のDRC作成回路でのデータセットタイミングを示す図である。
【図34】本発明のDRC作成回路でのデータセットタイミングを示す図である。
【図35】本発明のDRC作成回路でのデータセットタイミングを示す図である。
【図36】本発明のDRC作成回路でのデータセットタイミングを示す図である。
【図37】本発明のDRC作成回路でのデータセットタイミングを示す図である。
【図38】本発明のDRC作成回路でのデータ選択を示す図である。
【図39】本発明のDRC作成回路のデータ選択部の構成例を示す図である。
【図40】本発明の符号化回路の構成例を示す図である。
【図41】本発明の符号化回路の構成例を示す図である。
【図42】本発明のシンドローム作成回路の構成例を示すブロック図である。
【図43】図42に示す並列シンドローム演算部及びコントローラ部の内部構成例を示す図である。
【図44】本発明のデスキュー回路の構成例を示すブロック図である。
【図45】本発明のデスキュー回路におけるデスキューイングバッファの動きを示す図である。
【図46】本発明のデスキュー回路におけるデスキューイングバッファの動きを示す図である。
【図47】本発明のデスキュー回路におけるデスキューイングバッファの動きを示す図である。
【図48】本発明のデスキュー回路におけるデスキューイングバッファの動きを示す図である。
【図49】本発明のデータ転送制御系の構成例を示すブロック図である。
【図50】本発明のデータ転送制御系におけるメモリマップを示す図である。
【図51】本発明のデータ転送制御系におけるフレームデータフォーマットを示す図である。
【図52】本発明のデータ転送制御系におけるフレームデータ転送タイミングを示す図である。
【図53】本発明のデータ転送制御系における書き込み・読み出し(FWD時)のタイミングチャートである。
【図54】本発明のデータ転送制御系における書き込み・読み出し(BWD時)のタイミングチャートである。
【図55】磁気テープに記録されたデータフォーマットを示す図である。
【図56】カスタムデータが12バイト時のデータフォーマットを示す図である。
【図57】カスタムデータが7バイト時のデータフォーマットを示す図である。
【図58】従来例の残余バイト作成回路の構成例を示す図である。
【図59】従来例の残余バイト作成回路のタイミングチャートである。
【図60】従来例の残余バイト作成回路のmod14カウンタ出力を示す図表である。
【図61】従来例のDRC作成フォーマットを示す図である。
【図62】従来例におけるDRCの計算例を示す図表である。
【図63】従来例のDRC作成回路の構成例を示す図である。
【図64】従来例におけるVRCの作成方法を示す図である。
【図65】従来例におけるVRCの計算例を示す図表である。
【図66】従来例のVRC作成回路の構成例を示す図である。
【図67】従来例のLFSRを用いた符号化回路の構成例を示す図である。
【図68】従来例の検査行列を用いた符号化回路の構成例を示す図である。
【図69】従来例の検査行列を用いた符号化回路の構成例を示す図である。
【図70】磁気テープ上のデータフォーマットを示す図である。
【図71】図70に示すデータフォーマットの部分拡大図である。
【図72】従来例のデスキュー回路の構成例を示すブロック図である。
【図73】従来例のデスキュー回路におけるデスキューイングバッファの動き(FWD時)を示す図である。
【図74】従来例のデスキュー回路におけるデスキューイングバッファの動き(FWD時)を示す図である。
【図75】従来例のデスキュー回路におけるデスキューイングバッファの動き(FWD時)を示す図である。
【図76】従来例のデスキュー回路におけるデスキューイングバッファの動き(FWD時)を示す図である。
【図77】従来例のデスキュー回路におけるデスキューイングバッファの動き(BWD時)を示す図である。
【図78】従来例のデスキュー回路におけるデスキューイングバッファの動き(BWD時)を示す図である。
【図79】従来例のデスキュー回路におけるデスキューイングバッファの動き(BWD時)を示す図である。
【図80】従来例のデスキュー回路におけるデスキューイングバッファの動き(BWD時)を示す図である。
【符号の説明】
【0136】
1 残余バイト作成回路
2,4 マルチプレクサ
3 誤り訂正符号化回路
5 デスキュー回路
6 シンドローム作成回路
7 誤り訂正回路
8 フレームバッファ
10 ホスト
11 磁気テープ制御装置(MTC)
12 磁気テープユニット(MTU)
11b データフォーマット部
11d 書き込みフォーマット部
11e 読み出しフォーマット部
21A,21B データ選択部
22A,22B データパリティ作成部
23A,23B フレーム制御部
24A,24B データマスク部
25 加算回路
26 レジスタ
27 乗算回路
33 並列シンドローム演算部
41A,41B,41C デスキュー制御回路
42A,42B,42C デスキューイングバッファ
51 SRAM
52 アドレスロード値設定回路
53 FWD/BWD切替回路
54 アドレスカウンタ回路

【特許請求の範囲】
【請求項1】
上位装置から入力したデータに誤り訂正符号を付加してフォーマット変換し、フォーマット変換したデータを磁気テープユニットに転送すると共に、前記磁気テープユニットから読み出したデータに誤り訂正を行ってフォーマット変換し、フォーマット変換したデータを前記上位装置に転送する磁気テープ装置の制御装置において、
前記上位装置からの入力データに対する複数バイト単位での誤り訂正符号化処理、及び/または、前記磁気テープユニットからの読み出しデータに対する複数バイト単位での誤り訂正処理を行うように構成しており、前記上位装置からのデータに対してリードソロモン誤り訂正符号を作成する誤り訂正符号化手段を備え、該誤り訂正符号化手段が、情報語の複数の総和計算を並列処理するように構成したことを特徴とする磁気テープ装置の制御装置。
【請求項2】
前記上位装置からのデータを所定数のバイト単位の1フレームに構成する際に、各フレーム内のバイト数が所定数となるように残余バイトを計数する計数手段を備え、該計数手段が、前記上位装置からのデータのバイト数が奇数であるか偶数であるかを判定する手段と、その判定結果に応じて残余バイトの計数方法を切り換える手段とを有することを特徴とする請求項1記載の磁気テープ装置の制御装置。
【請求項3】
前記磁気テープユニットから読み出したデータの誤りをリードソロモン方式に従って訂正するために必要なシンドロームを作成するシンドローム作成手段を備え、該シンドローム作成手段が、受信語に検査行列を乗算する回路を複数有し、複数バイトのデータに対して並列的にシンドロームを作成するように構成したことを特徴とする請求項1記載の磁気テープ装置の制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate

【図48】
image rotate

【図49】
image rotate

【図50】
image rotate

【図51】
image rotate

【図52】
image rotate

【図53】
image rotate

【図54】
image rotate

【図55】
image rotate

【図56】
image rotate

【図57】
image rotate

【図58】
image rotate

【図59】
image rotate

【図60】
image rotate

【図61】
image rotate

【図62】
image rotate

【図63】
image rotate

【図64】
image rotate

【図65】
image rotate

【図66】
image rotate

【図67】
image rotate

【図68】
image rotate

【図69】
image rotate

【図70】
image rotate

【図71】
image rotate

【図72】
image rotate

【図73】
image rotate

【図74】
image rotate

【図75】
image rotate

【図76】
image rotate

【図77】
image rotate

【図78】
image rotate

【図79】
image rotate

【図80】
image rotate


【公開番号】特開2006−85900(P2006−85900A)
【公開日】平成18年3月30日(2006.3.30)
【国際特許分類】
【出願番号】特願2005−362278(P2005−362278)
【出願日】平成17年12月15日(2005.12.15)
【分割の表示】特願2003−37365(P2003−37365)の分割
【原出願日】平成8年3月19日(1996.3.19)
【出願人】(000005223)富士通株式会社 (25,993)
【出願人】(592019877)富士通周辺機株式会社 (149)
【Fターム(参考)】