JP2006085900A - Controller for magnetic tape unit - Google Patents
Controller for magnetic tape unit Download PDFInfo
- Publication number
- JP2006085900A JP2006085900A JP2005362278A JP2005362278A JP2006085900A JP 2006085900 A JP2006085900 A JP 2006085900A JP 2005362278 A JP2005362278 A JP 2005362278A JP 2005362278 A JP2005362278 A JP 2005362278A JP 2006085900 A JP2006085900 A JP 2006085900A
- Authority
- JP
- Japan
- Prior art keywords
- data
- bit
- circuit
- byte
- bytes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
Description
本発明は、磁気テープ装置の制御装置に関し、特に、磁気テープ装置の大容量化,高機能化,転送速度の高速化を実現させるための制御装置に関する。 The present invention relates to a control device for a magnetic tape device, and more particularly, to a control device for realizing an increase in capacity, function, and transfer speed of a magnetic tape device.
近年のコンピュータシステムの高速化に伴い、周辺装置である磁気テープ装置においても高速化が要求されている。このため、データバス幅の拡大、制御方法の改善が必要とされている。 With the recent increase in speed of computer systems, higher speed is also required in magnetic tape devices that are peripheral devices. For this reason, it is necessary to expand the data bus width and improve the control method.
図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とを有する。
FIG. 2 is a configuration diagram of the tape subsystem. The tape subsystem is interposed between the
図1は、MTC11のデータフォーマット部11bの内部構成を示すブロック図であり、データフォーマット部11bは、MTU12内の磁気テープ上に記録するためのフォーマット化を行う書き込みフォーマット部11dと、磁気テープから読み出したデータのトラックずれを補正したり、データの誤り検出及び訂正を行う読み出しフォーマット部11eとに分けられる。
FIG. 1 is a block diagram showing an internal configuration of the
書き込みフォーマット部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の出力を結合する。
The write format unit 11 d includes a remaining
一方、読み出しフォーマット部11eは、デスキュー回路5と、シンドローム作成回路6と、誤り訂正回路7と、フレームバッファ8とを有する。デスキュー回路5は、MTU12から読み出したデータ間のずれを補正する。磁気テープに記録されたデータを読み込んだ時に、磁気テープと磁気ヘッドとは一般的には垂直にならず、ある程度の誤差角度が生じるので、それに応じてデータ間のずれ(スキュー)が発生する。デスキュー回路5はこのデータ間のずれを補正する。シンドローム作成回路6は、読み出しデータの誤りの有無を判定するためのシンドロームと呼ばれる情報を作成する。誤り訂正回路7は、読み出しデータの誤りを訂正する。フレームバッファ8は、磁気テープのデータ読み出し方向によるデータの並べ換え、及び、誤り訂正回路7において誤り係数の計算が行われる間のデータの保持(遅延)を行う。
On the other hand, the read format unit 11 e includes a
テープサブシステムでは、1フレームは一般的に18バイト(14バイトのデータ等と4バイトの誤り訂正符号(ECC))にて構成されており、従来例では8ビットまたは9ビットを1バイトとして、バイト単位にデータの転送を行っている。以下に、データフォーマット部11b内の各回路における従来の構成,動作について説明する。
In the tape subsystem, one frame is generally composed of 18 bytes (14-byte data and the like and 4-byte error correction code (ECC)). In the conventional example, 8 bits or 9 bits are defined as 1 byte. Data is transferred in byte units. The conventional configuration and operation of each circuit in the
(残余バイト作成回路1)
図55は、磁気テープに記録されたデータブロックフォーマットの例を示す図である。データブロックは、先頭が「IBG」フレーム,「ALL1」フレームで始まり、次に同期のための「SYNC」フレーム,データ領域の始まりを示す「PREFIX0」「PREFIX1」フレームが記録され、その後、先頭が「SYNC」フレームまたは「RESYNC」フレームで始まる72フレーム毎のデータグループが繰り返される。
(Residual byte creation circuit 1)
FIG. 55 is a diagram showing an example of a data block format recorded on a magnetic tape. The data block starts with an “IBG” frame and an “ALL1” frame, followed by a “SYNC” frame for synchronization, and a “PREFIX0” and “PREFIX1” frame indicating the start of the data area. A data group every 72 frames starting with a “SYNC” frame or a “RESYNC” frame is repeated.
1番目のデータグループには69フレームのデータ(DATA)が記録され、2番目以降のデータグループにはそれぞれ71フレームのデータ(DATA)が記録される。そして、最終番目の データグループには、残った(n−1)フレームのデータ(DATA)が記録される。その後、「RESID1」「RESID2」「COMP1」「COMP2」「SYNC」の各フレームが記録され、最後に「SYNC」「ALL1」の各フレームが記録される。 69 frames of data (DATA) are recorded in the first data group, and 71 frames of data (DATA) are recorded in the second and subsequent data groups. In the final data group, the remaining (n-1) frame data (DATA) is recorded. Thereafter, each frame of “RESID1,” “RESID2,” “COMP1,” “COMP2,” and “SYNC” is recorded, and finally, each frame of “SYNC” and “ALL1” is recorded.
「SYNC」フレーム及び「RESYNC」フレームには、何れも同じ9ビットの特殊コード(100010001)が記録され、両者のフレームは同一のコードである。この「SYNC」フレームまたは「RESYNC」フレームに基づいて、同期信号または再同期信号が検出される。同期信号または再同期信号は、データグループの開始を知らせ、しかも、デスキュー回路5におけるスキュー補正のトリガとなる信号である。
The same 9-bit special code (100010001) is recorded in both the “SYNC” frame and the “RESYNC” frame, and both frames are the same code. A synchronization signal or resynchronization signal is detected based on the “SYNC” frame or the “RESYNC” frame. The synchronization signal or resynchronization signal is a signal that informs the start of the data group and triggers skew correction in the
ブロックID(BLOCK ID:BID)は、4バイトで構成されており、ブロックの通し番号である。1フレームは14バイトが一単位であるので、ホスト10からのカスタムデータのバイト数によっては、14バイトに構成するためのつめもの用のバイト(0〜13バイト)が必要であり、このバイトをパッドバイト(PAD BYTE)という。残余バイトカウント(RESIDUAL BYTE COUNT)の1バイトは、パッドバイトが何バイト詰まっているかを下位4ビットで表し、上位4ビットには他の情報が入る。
The block ID (BLOCK ID: BID) is composed of 4 bytes and is a serial number of the block. Since one frame has 14 bytes as a unit, depending on the number of bytes of custom data from the
具体的に、ホスト10からのカスタムデータが12バイトの場合と、7バイトの場合とにおけるデータフォーマットを図56,図57にそれぞれ示す。図56に示す12バイトの場合では、パッドバイトが9バイトとなり、残余バイトカウントに9が入る。図57に示す7バイトの場合では、パッドバイトの必要性がないので、残余バイトカウントに0が入る。以上のように、カスタムデータの長さに応じて、0〜13の値が残余バイトカウントに入る。
Specifically, FIGS. 56 and 57 show data formats when the custom data from the
残余バイト作成回路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ビットに反映される。
The configuration of the conventional example of the remaining
残余バイトカウントの1バイトはmod14カウンタ15によって実現し、カウンタ15の出力値はパッドバイトの数を表す。このカウンタ15は、カスタムデータ,ブロックIDの数をカウントアップし、「RESYNC」フレーム中及びECCの4バイト時には、その動作を停止する。
One byte of the remaining byte count is realized by the
カスタムデータが8バイトである場合の動作について説明する。図59はその場合のタイミングチャート、図60はmod14カウンタ15の出力をそれぞれ示す。
The operation when the custom data is 8 bytes will be described. FIG. 59 shows a timing chart in that case, and FIG. 60 shows an output of the
装置初期化時及び「IBG」フレーム中に、カウンタ15の初期化が行われる。このときのカウンタ値は、”0000”である。ファームウェアにより、レジスタからWRBK信号が書き込みブロック開始時のみセットされる。このときのカウンタ値は、”0010”である。カスタムデータを処理する頃になると、CUSTBLK信号がセットされ、カウンタ15のカウント動作を開始する。ブロックIDが終了すると、SMDC信号がリセットされ、カウント動作を停止する。カウント動作が停止した際のカウンタ値(”0010”)の反転信号となる−MOD1〜−MOD8の値(”1101”=13)が、残余バイトカウントの下位4ビットに入る。
The
(誤り訂正符号化回路3)
AXP符号を用いる誤り訂正方式では、18個のトラックのうちの14個のトラックにそれぞれ1フレームのデータが書き込まれ、これらの14個のトラックのデータに対する誤り訂正符号が残りの4トラックに書き込まれる。誤り訂正符号は、DRC(Diagonal Redundancy Check)キャラクタと、VRC(Vertical Redundancy Check)キャラクタとから構成されている。全18トラックは、9トラックずつ、奇数トラックがセットA,偶数トラックがセットBに分けられる。
(Error correction coding circuit 3)
In the error correction method using the AXP code, one frame of data is written to 14 tracks out of 18 tracks, and the error correction code for the data of these 14 tracks is written to the remaining 4 tracks. . The error correction code is composed of a DRC (Diagonal Redundancy Check) character and a VRC (Vertical Redundancy Check) character. The total 18 tracks are divided into 9 tracks, odd tracks are set A and even tracks are set B.
DRCは、誤り訂正符号用のトラック中の0Aトラック及び0Bトラックに記録される。このDRCの2バイトは、他のトラックに記録されたVRC以外(15ビット)から計算され、m番目の値は以下の通りである。 The DRC is recorded on the 0A track and the 0B track in the error correction code track. The 2 bytes of this DRC are calculated from other than VRC (15 bits) recorded in other tracks, and the m-th value is as follows.
A0m =(A1m-1 +A2m-2 +A3m-3 +・・・+A7m-7 +
B7m-8 +B6m-9 +B5m-10+・・・+B0m-15)MOD2
B0m =(B1m-1 +B2m-2 +B3m-3 +・・・+B7m-7 +
A7m-8 +A6m-9 +A5m-10+・・・+A0m-15)MOD2
A0 m = (A1 m-1 + A2 m-2 + A3 m-3 + ... + A7 m-7 +
B7 m-8 + B6 m-9 + B5 m-10 + ... + B0 m-15 ) MOD2
B0 m = (B1 m-1 + B2 m-2 + B3 m-3 + ... + B7 m-7 +
A7 m-8 + A6 m-9 + A5 m-10 + ... + A0 m-15 ) MOD2
図61は従来のDRCの作成方法の原理を説明するための図、図62は実際にユーザデータのDRCA,DRCBを計算した結果を示す図表、図63は従来のDRC作成回路の構成を示す図である。DRC作成回路は、クロックのタイミングを調節してデータを斜めに取り込む1個のビットマトリックスアレイ81及び各フレームに対応した3個のFFアレイ82からなる回路系を、セットA及びセットB用に1組ずつ有しており、各回路系からの出力が、VRC作成回路83からのVRCA及びVRCBと共にマルチプレクサ84にて結合される。
61 is a diagram for explaining the principle of a conventional DRC creation method, FIG. 62 is a chart showing the results of actual calculation of DRCA and DRCB of user data, and FIG. 63 is a diagram showing the configuration of a conventional DRC creation circuit. It is. The DRC creation circuit uses a circuit system consisting of one
DRCは、斜め方向の冗長検査であるので、斜め方向に対して冗長なデータを付加することでデータのチェックをする。この際、斜め方向にデータを取り込んでいくので隣合う3フレームのデータに跨がってDRCは作成され、VRCを除いた斜め方向のデータに対して、1ビットずつ偶数パリティを取っていくことでDRCを作成する。 Since DRC is a redundancy check in an oblique direction, the data is checked by adding redundant data in the oblique direction. At this time, since data is taken in diagonally, a DRC is created across three adjacent frames of data, and even parity is taken bit by bit for data in the diagonal direction excluding VRC. To create a DRC.
VRCは、誤り訂正符号用のトラック中の8Aトラック及び8Bトラックに記録される。このVRCの2バイトは、セットA(7ビットのデータ+DRCA),セットB(7ビットのデータ+DRCB)各々で計算され、m番目の値は以下の通りである。 VRC is recorded on 8A track and 8B track in the track for error correction code. Two bytes of VRC are calculated for each of set A (7-bit data + DRCA) and set B (7-bit data + DRCB), and the m-th value is as follows.
A8m =(A0m +A1m +A2m +・・・+A7m )MOD2
但し、A0m :DRCA
A1m ,A2m ,・・・.A7m :データ
B8m =(B0m +B1m +B2m +・・・+B7m )MOD2
但し、B0m :DRCB
B1m ,B2m ,・・・.B7m :データ
A8 m = (A0 m + A1 m + A2 m + ··· + A7 m) MOD2
However, A0 m: DRCA
A1 m , A2 m ,. A7 m: data B8 m = (B0 m + B1 m + B2 m + ··· + B7 m) MOD2
However, B0 m: DRCB
B1 m , B2 m ,. B7 m: data
図64は従来のVRCの作成方法の原理を説明するための図、図65は実際にユーザデータのVRCA,VRCBを計算した結果を示す図表、図66は従来のVRC作成回路の構成を示す図である。VRC作成回路85は、8個のトグル動作のJKフリップ・フロップをそれぞれ有する、VRCA作成用のVRCA作成回路86とVRCB作成用のVRCB作成回路87とに分かれる。
FIG. 64 is a diagram for explaining the principle of a conventional VRC creation method, FIG. 65 is a chart showing the results of actually calculating VRCA and VRCB of user data, and FIG. 66 is a diagram showing the configuration of a conventional VRC creation circuit. It is. The
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を入力とする。その他も同様である。
Since VRC is a vertical redundancy check, data is checked by adding redundant data in the vertical direction. At this time, since data is taken in in the vertical direction, the VRC is created within one frame. As a whole, it is composed of two creation circuits 86 and 87 (8 bits) for VRCA and VRCB. When one byte is input in set A, it is input to the circuit corresponding to each bit of VRCA, and one byte in set B When input, it is input to the circuit corresponding to each bit of VRCB.
データとしては、1バイトずつ入力されるので、1つのタイミングで1ビットのVRC作成回路には1ビットだけ入力される。そして、セットA,セットB各々1ビットは、縦方向のデータ7ビットとDRC1ビットに対して偶数パリティを持つことと同じである。即ち、VRCAはデータバイト1〜7とDRCAとの偶数パリティをとっているのと同じであり、VRCBはデータバイト8〜14とDRCBとの偶数パリティをとっているのと同じである。
Since data is input byte by byte, only one bit is input to the 1-bit VRC creation circuit at one timing. Each bit of set A and set B is the same as having even parity for 7 bits of vertical data and 1 bit of DRC. That is, VRCA is the same as taking even parity of
図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
In the circuit configuration shown in FIG. 66, the data capture timing is controlled by CK and the timing signal. By inputting data to the JK flip-flop of toggle operation, even parity is taken. The data input sequence in one frame is as follows, and 18 timings are required to operate in one frame.
Data input order Timing (1) (2) (3) (4) (5) (6)
Timing (7) (8) (9) (10) (11) (12)
Timing (13) (14) (15) (16) (17) (18)
また、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を根とする。
A Reed-Solomon code is used as an error correction code for a 36-track magnetic tape apparatus. When α is a primitive element on Galois field GF (q),
α h , α h + 1 , α h + 2 ,..., α h + d-2 (0 ≦ h <q−1, 2 ≦ d ≦ q) In an apparatus for handling digital signals, the q-ary cyclic code is a Reed-Solomon code,
When q = 2 m and h = 0, which are important for practical use,
Code length n = 2 m −1
Number of information points k = 2 m -d
Number of inspection points n−k = d−1
Minimum distance d min = d = n−
Becomes 2 m original code, generator polynomial G (x),
G (x) = (x−α d−2 ) (x−α 2 ) (x−α) (x−1)
And α d-2 ,..., Α 2 , α, 1 is a polynomial rooted. An arbitrary code polynomial C (x) of the Reed-Solomon code is rooted at α d-2 ,..., Α 2 , α, 1.
言い換えれば、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 xk-1 +・・・+i2 x2 +i1 x+i0
という情報多項式I(x)を作る。
In other words, the necessary condition for the polynomial C (x) on GF (2 8 ) of n−1 order or less to be a sign polynomial is:
C (α 0 ) = 0
C (α 1 ) = 0
・
・
・
C (α d-2 ) = 0
I j (0 ≦ j ≦ k−1) is an element of GF (2 8 ), and k information words i 0 , i 1 ,..., I k− with k ≦ 2 8 −d. When encoding 1 ,
I (x) = i k-1 x k-1 +... + I 2 x 2 + i 1 x + i 0
The information polynomial I (x) is created.
次に、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 は検査行列を用いて導くことができる。
Next, let D (x) be the remainder polynomial when I (x) is multiplied by xd-1 and divided by the generator polynomial G (x). If the quotient polynomial in this case is Q (x), the relationship between these polynomials is as follows.
I (x) × x d−1 = Q (x) × G (x) + D (x)
Here, since the remainder polynomial D (x) is a polynomial of x d−2 order or lower,
D (x) = d d−2 × x d−2 +... + D 2 × x 2 + d 1 × x + d 0
And Since the polynomial corresponding to the code (code polynomial) needs to be divisible by G (x),
C (x) = Q (x) × G (x)
= I (x) × x d-1 + D (x) [subtraction and addition on GF are the same], and the n-dimensional vector on GF (2 8 ) consisting of the coefficient of C (x) is
C = (c n−1 ,..., C 2 , c 1 , c 0 )
= (I k−1 ,..., I 2 , i 1 , i 0 , d d−2 ,..., D 1 , d 0 ). This is the information word i 0, i 1, ···, is a code word of the Reed-Solomon code for i k-1.
GF(2m )上のn−1次以下の多項式が、αd-2 ,・・・,α2 ,α,1を根として持つならば、検査行列Hと上記リードソロモン符号の符号語Cの転置行列Ct との積は0行列となる。 If a polynomial of order n-1 or less on GF (2 m ) has α d-2 ,..., Α 2 , α, 1 as roots, a check matrix H and a codeword C of the Reed-Solomon code are used. The product of this with the transpose matrix C t is a zero matrix.
ここで、この行列式は以下のように書き直せる。 Here, this determinant can be rewritten as follows.
またこの式は、以下の行列式として表され、クラメルの公式を用いてdd-2 ,・・・,d1 ,d0 について解けば、a0 〜ad-2 とαのべきとを用いた乗算処理及び加算処理によって検査語を求めることができる。 This equation is expressed as the following determinant. If d d-2 ,..., D 1 , d 0 are solved using the Kramel formula, the powers of a 0 to a d-2 and α are determined. A test word can be obtained by the multiplication processing and addition processing used.
以上のような符号化を実行するための回路構成について説明する。図67は、生成多項式で除算を行う場合の回路構成を示し、LFSR(リニアフィードバックシフトレジスタ)と呼ばれるフィードバックレジスタを採用し、加算回路25とレジスタ26とαのべきの乗算回路27とから構成され、情報語を1バイト単位で順次入力を行い、即ち情報多項式を構成するために最初に入力するバイトを最上位バイトとして除算を行い、最下位バイトの入力が終了した時点の剰余を求める。
A circuit configuration for executing the encoding as described above will be described. FIG. 67 shows a circuit configuration in the case of dividing by a generator polynomial, which employs a feedback register called LFSR (linear feedback shift register), and is composed of an
検査行列による符号化の場合の回路は、図68,図69に示す情報語の総和を計算する回路とa0 ,a1 ,・・・,ad-2 ,d0 ,d1 ,・・・,dd-2 を求めるためのαのべきの乗算及び加算を行う回路とが必要である。 The circuit in the case of encoding by the parity check matrix includes a circuit for calculating the sum of information words shown in FIGS. 68 and 69 and a 0 , a 1 ,..., A d-2 , d 0 , d 1 ,. A circuit for performing multiplication and addition of α to obtain d d−2 is required.
このときに総和を計算する回路は、情報語の各々のバイトにαのべきを順次乗算する必要があり、通常、α0 ,α1 ,α2 ,・・・,αn-1 を乗算するために構成が簡単な乗算回路27と加算回路25とレジスタ26とを組み合わせ、1バイト単位に乗算−加算─保持を繰り返し計算することにより総和を求めている。
At this time, the circuit for calculating the sum needs to sequentially multiply each byte of the information word by the power of α, and usually multiplies α 0 , α 1 , α 2 ,..., Α n−1 . Therefore, the summation is obtained by combining the
(シンドローム作成回路6)
対象となる符号語を{D0 ,D1 ,D2 ,・・・,Dn-2 ,Dn-1 }とする。これがまずメモリに記憶される。例えばリードソロモン符号で誤り訂正処理を行う場合、ハミング距離をDmin とするとき、誤り訂正能力はDmin /2を超えない最大の整数である。このような整数は(Dmin −1)であり、これを求める際に次のようなシンドローム演算を行う。
(Syndrome creation circuit 6)
Assume that the target code word is {D 0 , D 1 , D 2 ,..., D n−2 , D n−1 }. This is first stored in memory. For example, when error correction processing is performed using a Reed-Solomon code, when the Hamming distance is D min , the error correction capability is the maximum integer that does not exceed D min / 2. Such an integer is (D min −1), and the following syndrome calculation is performed when obtaining this integer.
受信語を表す多項式をR(x)とした場合、リードソロモン符号の復号は、このR(x)からシンドローム
Si=R(αi )(i=0,1,2,3,・・・,d−2)
を計算することから始まる。これは、受信語にGF(2m )上の定数乗算、即ちαi の乗算を行うことである。
When the polynomial representing the received word is R (x), the Reed-Solomon code is decoded from this R (x) to the syndrome Si = R (α i ) (i = 0, 1, 2, 3,... d-2)
Start with calculating. This is to perform constant multiplication on GF (2 m ) on the received word, that is, multiplication of α i .
このようなシンドロームの演算法として、メモリに記憶されたn個のデータをDn-1 より順次1個ずつαi の乗算回路に入力し、全データ入力後にその出力をシンドロームの結果として得る方法が行われている。
As a method of calculating such a syndrome, a method of inputting n data stored in a memory one by one from
従来の技術によれば、データを1個(1バイト)ずつメモリより読み出すため、アクセスが遅いメモリを使用すると処理時間の大幅な遅延を招くという問題点がある。 According to the prior art, since data is read from the memory one by one (1 byte), there is a problem in that if a memory having a slow access is used, the processing time is greatly delayed.
(デスキュー回路5)
図70は、磁気テープの傾斜したトラックに記録されたデータブロックフォーマットの一例を示す図、図71はデータブロックフォーマットをビット単位で示した図70の部分拡大図である。図70,図71において図55と同一のフレームには、SYNC,RESYNC等の同一の略称を付している。図70に示すように、左から右に向かって先頭から順にフレームの記録または再生を行うのがフォワード(FWD)方向(順方向)であり、その逆の方向がバックワード(BWD)方向(逆方向)である。
(Deskew circuit 5)
70 is a diagram showing an example of a data block format recorded on an inclined track of the magnetic tape, and FIG. 71 is a partially enlarged view of FIG. 70 showing the data block format in bit units. 70 and 71, the same abbreviations as SYNC, RESYNC, etc. are attached to the same frames as in FIG. As shown in FIG. 70, it is the forward (FWD) direction (forward direction) that records or reproduces the frames in order from the beginning from the left to the right, and the opposite direction is the backward (BWD) direction (reverse). Direction).
図72は、従来のデスキュー回路5の内部構成を示すブロック図である。図70,図71に示したデータブロックフォーマットを採用したMTU12から送られてきたデータ(DATA)は各トラック間において不揃いが生じており、これらのデータをデスキューイングバッファと呼ばれるメモリに一旦書き込み、スキュー補正を行った後に、そのデスキューイングバッファからデータを読み出して誤り訂正を行うべく、シンドローム作成回路6及びバッファメモリ8に送信する。
FIG. 72 is a block diagram showing an internal configuration of a
デスキューイングバッファはそれに用いるメモリ容量を少なくするように、図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変換回路である。
As shown in FIG. 72, the deskewing buffer is composed of three
各デスキューイングバッファ42A,42B,42Cは、その内部メモリ領域をアドレスに従って6分割(A,B,C,D,E,F)し、分割した各領域に1トラック分の同期信号(再同期信号)から同期信号(再同期信号)までの72フレームのデータを書き込む。
Each
図73〜図76は、各デスキューイングバッファ42A,42B,42CにおけるFWD方向での書き込み・読み出し制御を示す図、図77〜図80は、同じくBWD方向での書き込み・読み出し制御を示す図である。 73 to 76 are diagrams showing write / read control in the FWD direction in each of the deskew buffers 42A, 42B, and 42C, and FIGS. 77 to 80 are diagrams similarly showing write / read control in the BWD direction. .
一例として、デスキュー制御回路41A及びデスキューイングバッファ42AのFWD方向時の動作について説明する。磁気テープ上の傾斜した各トラックにおいて、1バイトデータ(9ビットデータ)が揃ったトラックを分割した各メモリ領域に順次書き込んでいく。まず、1A−トラックのデータを、デスキューイングバッファ42Aの1A−トラックに割り当てられたメモリ領域(Aの位置)に書き込む。以下同様に、4A−トラックのデータはBの位置、7A−トラックのデータはCの位置、7B−トラックのデータはDの位置、4B−トラックのデータはEの位置、1B−トラックのデータはFの位置に書き込む(図73参照)。
As an example, the operation of the
同様にして、デスキューイングバッファ42B,42Cにおいても各トラックのデータを割り当てられた対応するメモリ領域に書き込む(図74,図75参照)。以上のようにして、18トラック分のデータの書き込みを終了する。 Similarly, in the deskewing buffers 42B and 42C, the data of each track is written in the corresponding memory area assigned (see FIGS. 74 and 75). As described above, writing of data for 18 tracks is completed.
データの書き込みを終了すると、1バイトデータ毎の読み出し(1バイトデータ転送)が始まる。図73〜図75に示した読み出し順位に従って、各デスキューイングバッファ42A,42B,42Cからの読み出しデータが各マルチプレクサ43A,43B,43Cにて選択され、誤り訂正方法に合った図76に示す順序で9−8変換回路44に出力される。磁気テープ上のデータは9ビットデータであるため、9−8変換回路44にて8ビットデータに変換されて、後段の誤り訂正処理系に送られる。
When the data writing is completed, reading for each byte of data (1 byte data transfer) starts. In accordance with the reading order shown in FIGS. 73 to 75, the read data from the deskewing buffers 42A, 42B, and 42C are selected by the
なお、BWD方向時においては、各トラックのデータの書き込み位置はFWD方向時とは異なるが、基本的な処理手順は同様であるのでその説明は省略する。 In the BWD direction, the data write position of each track is different from that in the FWD direction, but the basic processing procedure is the same, and the description thereof is omitted.
MTU12から送られてきたデータをデスキューイングバッファに一旦書き込み、その後読み出すことによってスキュー補正を行いデータ転送を行っている。この際、従来は1バイトデータ転送であるので、1フレームのデータを転送するのに18回デスキューイングバッファからの読み出しが必要である。従って、高速処理には向いていないという問題がある。また、FWD方向,BWD方向によって、MTU12から送られてきたデータはビット定義が反対、1バイトデータ(9ビットデータ)が揃うトラック順が反対などの違いがあるため、FWD方向とBWD方向とでは誤り訂正方法に見合った順番での1バイトデータ転送が必要であった。このように従来例では、FWD方向とBWD方向とで、各デスキューイングバッファ内の6分割されたメモリ領域の割当が異なっており、FWD方向とBWD方向とでは異なる書き込み・読み出し制御が必要であるという問題がある。
Data sent from the
(読み出しフォーマット部11e内におけるデータ転送制御)
従来、データを転送する際に、データを一時的に格納してその転送タイミングを切り換える方法としては、マルチプレクサ(セレクタ),フリップフロップ等の素子を用いて転送方法を制御する方式が一般的に使われている。しかし、高密度,高速データ転送に対応した誤り訂正を行ったり、FWD方向,BWD方向のデータ書き込み・読み出し動作に対応するためには、単にメモリ素子を追加するとか、セレクタで各々のケースに対応して切り替え制御を行うといって方法では、回路が複雑化し、回路の規模を増大させることになるという問題がある。
(Data transfer control in the read format unit 11e)
Conventionally, when data is transferred, as a method for temporarily storing the data and switching the transfer timing, a method of controlling the transfer method using an element such as a multiplexer (selector) or a flip-flop is generally used. It has been broken. However, in order to perform error correction corresponding to high-density, high-speed data transfer, and to support data write / read operations in the FWD direction and BWD direction, simply add a memory element or handle each case with a selector. However, the method of performing the switching control has a problem that the circuit becomes complicated and the scale of the circuit is increased.
以上のように、従来の磁気テープ装置の制御装置では、データフォーマット部11b内の書き込みフォーマット部11d及び読み出しフォーマット部11eにおいて、1バイト単位にて処理を行っているので、処理速度が遅いという問題がある。処理速度を速めるためには、データフォーマット部11b内の各回路を構成する素子を追加してデータ転送の高速化を図ることが考えられるが、この場合には、回路規模の増大,複雑化を招くといった問題がある。
As described above, in the control device of the conventional magnetic tape device, the processing is slow because the write format unit 11d and the read format unit 11e in the
なお、上位装置からのデータを圧縮して磁気テープ装置へ出力し、磁気テープ装置からの圧縮データを復元して上位装置へ出力するような構成を有しており、入力されたデータをフォーマット変換して18ビットずつパラレルに磁気テープ装置へ出力するようにした磁気テープ制御装置が知られている(例えば、特許文献1参照)。また、接続された磁気テープから読み込んだデータのバイト数が偶数であるか奇数であるかを判別して、その判別結果に基づいて処理を切り換える磁気テープ制御装置も知られている(例えば、特許文献2参照)。
本発明は斯かる事情に鑑みてなされたものであり、複数バイト単位の処理が可能であり、回路を複雑化せず、また回路規模の増大を招くことなく、処理するデータバス幅を拡大することができ、データ転送の高速化を図れる磁気テープ装置の制御装置を提供することを目的とする。 The present invention has been made in view of such circumstances, and can perform processing in units of a plurality of bytes, and does not complicate the circuit and increases the data bus width to be processed without increasing the circuit scale. An object of the present invention is to provide a control device for a magnetic tape device that can increase the speed of data transfer.
請求項1に係る磁気テープ装置の制御装置は、上位装置から入力したデータに誤り訂正符号を付加してフォーマット変換し、フォーマット変換したデータを磁気テープユニットに転送すると共に、前記磁気テープユニットから読み出したデータに誤り訂正を行ってフォーマット変換し、フォーマット変換したデータを前記上位装置に転送する磁気テープ装置の制御装置において、前記上位装置からの入力データに対する複数バイト単位での誤り訂正符号化処理、及び/または、前記磁気テープユニットからの読み出しデータに対する複数バイト単位での誤り訂正処理を行うように構成しており、前記上位装置からのデータに対してリードソロモン誤り訂正符号を作成する誤り訂正符号化手段を備え、該誤り訂正符号化手段が、情報語の複数の総和計算を並列処理するように構成したことを特徴とする。
The control device of the magnetic tape device according to
本発明では、磁気テープ装置の制御装置内の各回路の構成を工夫して、上位装置からのデータ及び磁気テープユニットからの読み出しデータに対して、複数バイト単位での処理を行えるようにし、1バイト単位での処理を行っていた従来例に比べてデータ処理の高速化を図る。リードソロモン誤り訂正符号を作成する際に、情報語の複数の総和計算を並列処理するので、符号化の処理時間が短縮し、複数バイト単位のデータ入力に対応できる。 In the present invention, the configuration of each circuit in the control device of the magnetic tape device is devised so that the data from the host device and the read data from the magnetic tape unit can be processed in units of a plurality of bytes. Compared to the conventional example in which processing is performed in units of bytes, the data processing speed is increased. When a Reed-Solomon error correction code is created, a plurality of summation calculations of information words are processed in parallel, so that the encoding processing time can be shortened and data input in units of multiple bytes can be handled.
請求項2に係る磁気テープ装置の制御装置は、請求項1において、前記上位装置からのデータを所定数のバイト単位の1フレームに構成する際に、各フレーム内のバイト数が所定数となるように残余バイトを計数する計数手段を備え、該計数手段が、前記上位装置からのデータのバイト数が奇数であるか偶数であるかを判定する手段と、その判定結果に応じて残余バイトの計数方法を切り換える手段とを有することを特徴とする。 According to a second aspect of the present invention, when the control device of the magnetic tape device according to the first aspect configures the data from the host device in one frame of a predetermined number of bytes, the number of bytes in each frame becomes a predetermined number. Counting means for counting the remaining bytes as described above, and the counting means determines whether the number of bytes of data from the host device is an odd number or an even number, and according to the determination result, And a means for switching the counting method.
残余バイトを計数する計数手段が、上位装置からのデータのバイト数が奇数であるか偶数であるかに応じて、その計数方法を変更することにより、2バイト単位で上位装置から入力されるデータに対応できる。 The data input from the host device in units of 2 bytes by changing the counting method according to whether the counting means for counting the remaining bytes is an odd number or an even number of bytes from the host device It can correspond to.
請求項3に係る磁気テープ装置の制御装置は、請求項1において、前記磁気テープユニットから読み出したデータの誤りをリードソロモン方式に従って訂正するために必要なシンドロームを作成するシンドローム作成手段を備え、該シンドローム作成手段が、受信語に検査行列を乗算する回路を複数有し、複数バイトのデータに対して並列的にシンドロームを作成するように構成したことを特徴とする。 According to a third aspect of the present invention, there is provided a control device for a magnetic tape device according to the first aspect, further comprising syndrome generation means for generating a syndrome necessary for correcting an error in data read from the magnetic tape unit according to a Reed-Solomon method, The syndrome creation means is configured to have a plurality of circuits for multiplying a received word by a check matrix and to create a syndrome in parallel for a plurality of bytes of data.
シンドロームを作成する際に、受信語に検査行列を乗算する複数の回路を並列的に動作させることにより、複数バイトのデータに対して並列的にシンドロームを作成することができ、磁気テープユニットからの複数バイト単位の読み出しデータに対応できる。 When creating the syndrome, the syndrome can be created in parallel for multiple bytes of data by operating multiple circuits that multiply the received words by the check matrix in parallel. It can handle read data in units of multiple bytes.
本発明によれば、磁気テープ制御装置のデータフォーマット部内の各回路の機能の高速化を図り、回路を複雑化することなく、データバスの拡大を行うことができ、データ転送速度の高速化を可能とし、磁気テープ装置の性能向上に寄与するところが大きい。 According to the present invention, the function of each circuit in the data format section of the magnetic tape control device can be increased, the data bus can be expanded without complicating the circuit, and the data transfer speed can be increased. It is possible to improve the performance of the magnetic tape device.
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。 Hereinafter, the present invention will be specifically described with reference to the drawings showing embodiments thereof.
図2はテープサブシステムの構成図、図1は図2に示すMTC11のデータフォーマット部11bの内部構成を示すブロック図である。テープサブシステムは、上位装置としてのホスト10と、データを記録するMTU12と、ホスト10及びMTU12間に介在されてデータのフォーマット変換を行うMTC11とから構成されている。データ書き込み時には、ホスト10からのデータがMTC11に入力され、ここでフォーマット変換が行われた後にMTU12にデータが転送される。データ読み取り時には、MTU12からの読み出しデータがMTC11に転送され、ここで誤り訂正が行われると共にフォーマット変換が行われた後にデータがホスト10に送られる。
FIG. 2 is a configuration diagram of the tape subsystem, and FIG. 1 is a block diagram showing an internal configuration of the
MTC11は、ホスト10とのデータの送受を行うためのインターフェース部11aと、フォーマット変換,誤り訂正等の処理を行うデータフォーマット部11bと、データをD/A変換・A/D変換するデータ変換部11cとを有する。データフォーマット部11bは、磁気テープ上に記録するためのフォーマット化を行う書き込みフォーマット部11dと、磁気テープから読み出したデータのトラックずれを補正したり、データの誤り検出及び訂正を行う読み出しフォーマット部11eとに分けられる。
The
書き込みフォーマット部11dは、残余バイト作成回路1と、マルチプレクサ2,4と、誤り訂正符号化回路3とを有する。残余バイト作成回路1は、ホスト10からのデータをテープフォーマットに合わせるために必要な残余バイトを作成する。マルチプレクサ2は、ホスト10からのカスタムデータ,残余バイト作成回路1からの残余バイト,ブロックID,冗長バイトであるパッドバイト等を結合する。誤り訂正符号化回路3は、誤り訂正のため検査キャラクタである誤り訂正符号を作成する。誤り訂正符号としては、AXP符号またはリードソロモン符号が良く使われている。マルチプレクサ4は、マルチプレクサ2及び誤り訂正符号化回路3の出力を結合する。
The write format unit 11 d includes a remaining
一方、読み出しフォーマット部11eは、デスキュー回路5と、シンドローム作成回路6と、誤り訂正回路7と、フレームバッファ8とを有する。デスキュー回路5は、MTU12から読み出したデータ間のずれを補正する。磁気テープに記録されたデータを読み込んだ時に、磁気テープと磁気ヘッドとは一般的には垂直にならず、ある程度の誤差角度を生じるので、それに応じてデータ間のずれが発生する。デスキュー回路5はこのデータ間のずれを補正する。シンドローム作成回路6は、読み出しデータの誤りの有無を判定するためのシンドロームと呼ばれる情報を作成する。誤り訂正回路7は、読み出しデータの誤りを訂正する。フレームバッファ8は、磁気テープのデータ読み出し方向によるデータの並べ換え、及び、誤り訂正回路7において誤り係数の計算が行われる間のデータの保持(遅延)を行う。
On the other hand, the read format unit 11 e includes a
上述したように、本発明におけるテープサブシステム及びMTC11の基本構成は従来例と同じであるが、MTC11内のデータフォーマット部11bを構成する各回路の内部構成及び処理動作が異なっている。即ち、従来例では1バイト幅で処理を行っていたが、本発明では複数バイト幅で処理を行えるようにして、データ処理の高速化を図っている。従って、図1におけるデータバスが、本発明では従来例に比べてN(Nは2以上の整数)倍に拡大されている。
As described above, the basic configuration of the tape subsystem and the
以下、本発明におけるデータフォーマット部11b内の各回路の構成及び動作について詳述する。なお、以下の実施の形態では、書き込みフォーマット部11d内においては2バイト幅にて処理が行え、読み出しフォーマット部11d内においては3バイト幅にて処理が行える場合について説明する。
Hereinafter, the configuration and operation of each circuit in the
(残余バイト作成回路1)
本発明では、書き込みフォーマット部11dが、データ幅を従来の1バイト幅から2バイト幅に倍増させて処理を行っており、高速(従来の2倍)のデータ処理を行えるようになっている。従って、本発明の残余バイト作成回路1は、従来の1バイト処理から2バイト処理に対応できるようにしている。本発明では、従来例で使用していたmod14カウンタの動作を、2バイト処理に対応させている。
(Residual byte creation circuit 1)
In the present invention, the write format unit 11d performs processing by doubling the data width from the conventional 1-byte width to the 2-byte width, and can perform high-speed (twice conventional) data processing. Therefore, the remaining
残余バイト作成回路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ビットに反映される。
The configuration of the present invention of the remaining
図4,図5はカスタムデータが8バイト,9バイトである場合のタイミングチャート、図6はMOD14カウンタ15の出力をそれぞれ示す。残余バイトカウントのバイトは2バイト処理に対応したmod14カウンタ15によって実現し、カウンタ15の出力値はパッドバイトの数を表す。このカウンタ15は、カスタムデータ,ブロックIDの数をカウントアップし、「RESYNC」フレーム中及び誤り訂正符号(ECC)の4バイト時には、その動作を停止する。また、カスタムデータのバイト数によっては、偶数バイトの場合と奇数バイトの場合とがあり、偶数,奇数の2通りの動作を満足する必要がある。
4 and 5 are timing charts when the custom data is 8 bytes and 9 bytes, and FIG. 6 shows the output of the
次に、カスタムデータが9バイトである場合の動作について説明する。装置初期化時及び「IBG」フレーム中に、カウンタ15の初期化が行われる。この時のカウンタ値は、”0000”である。ファームウェアにより、レジスタからWRBK信号が書き込みブロック開始時のみセットされる。この時のカウンタ値は、”0010”である。カスタムデータを処理する頃になると、CUSTBLK信号がセットされ、カウンタ15のカウント動作を開始する。カウンタ動作は+2ずつカウントアップする。BID3信号がセットされていて、且つODD信号がセットされている場合に、カウンタ15の動作が図6の右表に遷移する。ブロックIDが終了すると、SMDC信号がリセットされ、カウント動作を停止する。カウント動作が停止した際のカウンタ値(”0011”)の反転信号となる−MOD1〜−MOD8の値(”1100”=12)が、残余バイトカウントの下位4ビットに入る。
Next, the operation when the custom data is 9 bytes will be described. The
(誤り訂正符号化回路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)と、タイミング制御回路(図示せず)とで構成されている。
(Error correction coding circuit 3)
[AXP encoding method]
7 and 8 show the configuration of the DRC creation circuit of the present invention, and FIG. 9 shows the configuration of the VRC creation circuit of the present invention. This configuration example is an example when a plurality of bytes (2 bytes) are input. The DRC creation circuit is divided into two systems, one for set A (FIG. 7) and one for set B (FIG. 8). The DRC creation circuit for set A (for set B) is a data selection unit 21A (21B). And a data
DRC,VRCは、基本的にそれぞれ斜め方向,縦方向のビット同士のパリティをとっている。1バイトずつ入力していた従来のDRC作成回路,VRC作成回路では、各回路において1ビットずつパリティをとっていたが、複数バイトずつ入力する本発明のDRC作成回路,VRC作成回路では、各回路において複数ビット同時にパリティをとればよい。これは、DRC,VRCの作成に必要な複数ビットをそれぞれ選択し、選択した複数ビットにてパリティを求めるようにすれば実現できる。 The DRC and VRC basically take parity between bits in the diagonal direction and the vertical direction, respectively. In the conventional DRC creation circuit and VRC creation circuit in which one byte is inputted, each bit takes parity in each circuit, but in the DRC creation circuit and VRC creation circuit of the present invention in which multiple bytes are inputted, each circuit In this case, it is sufficient to take a plurality of bits at the same time. This can be realized by selecting a plurality of bits necessary for creating the DRC and VRC, respectively, and obtaining the parity with the selected plurality of bits.
次に、動作について説明する。AXP符号のDRC,VRCを求める式は、1バイトずつ入力する場合と複数バイトずつ入力する場合とは同じであるので、DRC,VRCのセットA,セットBの各々で計算されるm番目の値は以下のようになる。 Next, the operation will be described. The formula for calculating DRC and VRC of the AXP code is the same when inputting one byte at a time and when inputting multiple bytes, so the mth value calculated for each of the set A and set B of DRC and VRC. Is as follows.
DRC
A0m =(A1m-1 +A2m-2 +A3m-3 +・・・+A7m-7 +
B7m-8 +B6m-9 +B5m-10+・・・+B0m-15)MOD2
B0m =(B1m-1 +B2m-2 +B3m-3 +・・・+B7m-7 +
A7m-8 +A6m-9 +A5m-10+・・・+A0m-15)MOD2
DRC
A0 m = (A1 m-1 + A2 m-2 + A3 m-3 + ... + A7 m-7 +
B7 m-8 + B6 m-9 + B5 m-10 + ... + B0 m-15 ) MOD2
B0 m = (B1 m-1 + B2 m-2 + B3 m-3 + ... + B7 m-7 +
A7 m-8 + A6 m-9 + A5 m-10 + ... + A0 m-15 ) MOD2
VRC
A8m =(A0m +A1m +A2m +・・・+A7m )MOD2
但し、A0m :DRCA
A1m ,A2m ,・・・.A7m :データ
B8m =(B0m +B1m +B2m +・・・+B7m )MOD2
但し、B0m :DRCB
B1m ,B2m ,・・・.B7m :データ
VRC
A8 m = (A0 m + A1 m + A2 m + ··· + A7 m) MOD2
However, A0 m: DRCA
A1 m , A2 m ,. A7 m: data B8 m = (B0 m + B1 m + B2 m + ··· + B7 m) MOD2
However, B0 m: DRCB
B1 m , B2 m ,. B7 m: data
入力データが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についても同様である。
Since the input data is 2 bytes each, the timing of one frame is 9 timings. FIG. 10 is a chart showing the relationship between the input data and timing, and FIG. 11 is a diagram for explaining the principle of the DRC creation method of the present invention. When creating the DRC, if data is input as shown in FIG. 10, the input data is 2 bytes (in the case of BS1, 2, 3, 4, 6, 7, ECC1) or 1 byte (in the case of BS5, ECC2). However, 1 bit of DRC is created by selecting data for 1 bit of the input even number (EVEN) byte and 1 bit of the odd number (ODD) byte. Since the data frame 3 -
例えば、データフレーム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)となる。
For example, the data to be processed when creating the DRCA-
以上のような対象とされる斜め方向のデータに対して偶数パリティをとれば、DRCAの1ビットが作成される。そして、各ビットについて同様の処理を順次行うことによりDRCを作成できる。 If even parity is taken for the data in the diagonal direction as described above, 1 bit of DRCA is created. A DRC can be created by sequentially performing the same processing for each bit.
DRCAのビット単位で考えていくと、図11から分かるようにDRCは斜め方向のデータに対して作成するため、複数フレーム(2〜3フレーム)に渡ってしまう。そのため3つの制御フレームに分けてどこのデータを選ぶかを決定する。例えばデータフレーム3について考えると、その1フレーム中のデータは制御フレーム0,1,2のDRCAを作成するためのデータとして3分割され、選ばれるデータとしては重なり合うことはない。
Considering the DRCA bit unit, as can be seen from FIG. 11, the DRC is generated for the data in the oblique direction, and therefore, it spans a plurality of frames (2 to 3 frames). Therefore, it is determined which data to select by dividing into three control frames. For example, when considering
データフレーム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に選ばれる。
Comparing the data frames 3, 4, and 5, it can be seen that what number of bytes and what number of bits are always selected depending on how the data is selected. Although the control frame to be selected is different, it can be seen which bit of the DRC is selected. For example,
このことから必ずバイト1のビット1はDRCAのビット2に選択され、バイト2のビットはDRCAのビット2に選択される。従って、制御フレーム0,1,2のDRC作成回路でそのデータを取り込むか否かを制御するようにすれば良い。あと一点考えなければいけないのは、DRCの作成は3フレームに渡って行うので、例えば実際に扱っているデータフレーム3のときはデータフレーム3,4,5のときに出力するDRCを同時に作成しなければいけない点である。従って、最低でも3フレーム分のDRC作成回路を持つ必要があることが分かる。
Therefore,
データの選び方についてもう少し詳細に説明する。データフレーム3(制御フレーム2)のデータが入力されてきた場合、どのビットをDRCAの何ビット目の作成回路に選べば良いかを説明する。 Explain in more detail how to select data. When data of data frame 3 (control frame 2) is input, it will be described which bit should be selected as a DRCA and a bit generation circuit.
バイト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となる。
Bit 0 of byte 1 is DRCA-bit 1 of control frame 2, bit 1 is DRCA-bit 2, bit 2 is DRCA-bit 3, bit 3 is DRCA-bit 4, bit 4 is DRCA-bit 5, bit 5 is DRCA-bit 6, bit 6 (c1) is DRCA-bit 7, bit 7 is DRCA-bit 0 of control frame 0, bit 0 of byte 2 is DRCA-bit 2 of control frame 2, bit 1 is DRCA-bit 3 , Bit 2 is DRCA-bit 4, bit 3 is DRCA-bit 5, bit 4 is DRCA-bit 6, bit 5 (c2) is DRCA-bit 7, bit 6 is DRCA-bit 0 of control frame 0, bit 7 Is DRCA-bit 1, bit 0 of byte 3 is DRCA-bit 3 of control frame 2, bit 1 is DRCA-bit 4, Bit 2 is DRCA-bit 5, bit 3 is DRCA-bit 6, bit 4 (c3) is DRCA-bit 7, bit 5 is DRCA-bit 0 of control frame 0, bit 6 is DRCA-bit 1, bit 7 Is DRCA-bit 2, bit 0 of byte 4 is DRCA-bit 4 of control frame 2, bit 1 is DRCA-bit 3, bit 2 is DRCA-bit 2, bit 3 (c4) is DRCA-bit 1, bit 4 Is DRCA-bit 0 of control frame 0, bit 5 is DRCA-bit 1, bit 6 is DRCA-bit 2, bit 7 is DRCA-bit 3, bit 0 of byte 5 is DRCA-bit 5, bit of control frame 2 1 is DRCA-bit 6, bit 2 is DRCA-bit 7, bit 3 is DRCA-bit 0 of control frame 0, bit 4 is RCA-bit 1, bit 5 is DRCA-bit 2, bit 6 is DRCA-bit 3, bit 7 is DRCA-bit 4, bit 0 of byte 6 is DRCA-bit 6 of control frame 2, bit 1 (c6) is DRCA-bit 7, bit 2 is DRCA-bit 0 of control frame 0, bit 3 is DRCA-bit 1, bit 4 is DRCA-bit 2, bit 5 is DRCA-bit 3, bit 6 is DRCA-bit 4, bit 7 is DRCA-bit 5, bit 0 of byte 7 is DRCA-bit 7 of control frame 2, bit 1 is DRCA-bit 0 of control frame 0, bit 2 is DRCA-bit 1, bit 3 is DRCA-bit 2, Bit 4 is DRCA-bit 3, bit 5 is DRCA-bit 4, bit 6 is DRCA-bit 5, bit 7 is DRC A-bit 6, bit 0 of byte 8 is DRCA-bit 0 of control frame 0, bit 1 is DRCA-bit 1, bit 2 is DRCA-bit 2, bit 3 is DRCA-bit 3, bit 4 is DRCA-bit 4, bit 5 is DRCA-bit 5, bit 6 is DRCA-bit 6, bit 7 (a8) is DRCA-bit 7, bit 0 of byte 9 is DRCA-bit 1 of control frame 0, bit 1 is DRCA-bit 2, bit 2 is DRCA-bit 3, bit 3 is DRCA-bit 4, bit 4 is DRCA-bit 5, bit 5 is DRCA-bit 6, bit 6 (a9) is DRCA-bit 7, bit 7 is a control frame 1 DRCA-bit 0, byte 10 bit 0 is control frame 0 DRCA-bit 2, bit 1 is DRCA-bit 3, Bit 2 is DRCA-bit 4, bit 3 is DRCA-bit 5, bit 4 is DRCA-bit 6, bit 5 (aA) is DRCA-bit 7, bit 6 is DRCA-bit 0 of control frame 1, bit 7 Is DRCA-bit 1, bit 0 of byte 11 is DRCA-bit 3 of control frame 0, bit 1 is DRCA-bit 4, bit 2 is DRCA-bit 5, bit 3 is DRCA-bit 6, bit 4 (aB) Is DRCA-bit 7, bit 5 is DRCA-bit 0 of control frame 1, bit 6 is DRCA-bit 1, bit 7 is DRCA-bit 2, bit 12 of byte 12 is DRCA-bit 4, bit of control frame 0 1 is DRCA-bit 5, bit 2 is DRCA-bit 6, bit 3 (aC) is DRCA-bit 7, bit 4 is control DRCA-bit 0 of bit 1, bit 5 is DRCA-bit 1, bit 6 is DRCA-bit 2, bit 7 is DRCA-bit 3, bit 0 of byte 13 is DRCA-bit 5 of control frame 0, bit 1 is DRCA-bit 6, bit 2 (aD) is DRCA-bit 7, bit 3 is DRCA-bit 0 of control frame 1, bit 4 is DRCA-bit 1, bit 5 is DRCA-bit 2, bit 6 is DRCA-bit 3, bit 7 is DRCA-bit 4, bit 14 of bit 14 is DRCA-bit 6 of control frame 0, bit 1 (cE) is DRCA-bit 7, bit 2 is DRCA-bit 0 of control frame 1, bit 3 Is DRCA-bit 1, bit 4 is DRCA-bit 2, bit 5 is DRCA-bit 3, and bit 6 is DRCA-bit.
以上のような選択関係を表にまとめると、図12,図13となる。これを2バイト入力の図10のタイミングで表にすると、図14,図15のようになる。このような表の関係を実現するための回路の構成例を、図16〜図19に示す。 The selection relationships as described above are summarized in tables as shown in FIGS. If this is tabulated at the timing of FIG. 10 with 2-byte input, it will be as shown in FIGS. Examples of circuit configurations for realizing such table relationships are shown in FIGS.
データを2バイトずつ入力するので、DRC作成時にデータの作成に不必要なデータは入力しないようにしなければならない。DRCはビット単位で作成されるので、1バイト目の1ビットと2バイト目の1ビットとで片一方だけのビットが必要になった場合に、取り込まないデータが不必要なデータとなる。 Since data is input by 2 bytes at a time, it is necessary not to input data unnecessary for data creation when creating DRC. Since the DRC is created in units of bits, when only one bit is required for one bit of the first byte and one bit of the second byte, the data that is not captured becomes unnecessary data.
図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をマスクする。
With reference to the DRC creation format of FIG. 11, unnecessary data is illustrated. Consider a case in which
このようにデータの入力が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に示す。
Thus, when the data input is 1 bit, the
入力されるデータは、データ選択部21A,21Bとデータマスク部24A,24Bとで決まるので、データの取り込むタイミングについて述べる。DRCA作成回路,DRCB作成回路はそれぞれ3フレーム分の回路を有するが、それぞれのデータの取り込むタイミングが異なるので、タイミング制御が必要である。データの取り込むタイミング表を図26〜図31に示す。DRCの作成時に出力フレーム0,1,2毎にどのデータを取り込むかを表す。
Since the data to be input is determined by the
現在どのフレームを処理しているかを示す制御フレーム0,1,2と、3つのフレームタイミングでDRCを出力する出力フレームとによって、どのデータのビットを取り込むかを表す。○はその印がある場所のビットを取り込むことを示す。×はDRCが作成されたことを示す。○の所を取り込むタイミングとして表を作ると、図32〜図37のようになる。この表をもとに図7,図8のデータパリティ作成部22A,22Bのフリップ・フロップのセット条件を制御する信号CE0FA?,CE1FA?,CE2FA?,CE0FB?,CE1FB?,CE2FB?を作成する。
The control frames 0, 1, and 2 indicating which frame is currently processed and the output frame that outputs DRC at three frame timings indicate which data bits are captured. ○ indicates that the bit at the place with the mark is taken in. X indicates that a DRC has been created. If a table is made as the timing of taking in the circles, it will be as shown in FIGS. Based on this table, the signal CE0FA for controlling the flip-flop set conditions of the data
以上のように、データ選択部21A,21Bにてデータを選択し、データマスク部24A,24Bにて不必要なデータをマスクし、データパリティ作成部22A,22Bにてデータの斜め方向のパリティをとることにより、DRCを作成する。
As described above, the
次に、VRCについて述べる。VRCを作成する理論は1バイトずつ入力する場合と2バイトずつ入力する場合とは同じである。つまりセットA,セットBのビットごとの偶数パリティをとれば良い。図9に示すような回路構成を用いればVRCの作成を実現できる。 Next, VRC will be described. The theory of creating VRC is the same when inputting 1 byte at a time and when inputting 2 bytes at a time. That is, even parity for each bit of set A and set B may be taken. If a circuit configuration as shown in FIG. 9 is used, creation of VRC can be realized.
まず、データを入力する前に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が作成される。 First, the JK flip-flop is cleared before data is input. In the set A, each bit of the first byte and the second byte is EORed (exclusive OR) and input to the JK flip-flop of the toggle circuit. If the 3rd, 4th, 5th, 6th and 7th bytes + DRCA are input in the same way, a VRCA is created on the flip-flop. In Set B, the 8th byte is input and input to the JK flip-flop of the toggle circuit. Each bit of the ninth and tenth bytes is EORed and input to the JK flip-flop of the toggle circuit. Similarly, the 11th, 12th and 13th and 14th bytes are input. Then, when the DRCB and the output of the JK flip-flop are EORed, a VRCB is created.
上述のDRC作成回路の構成では、図7,図8のように3フレームのデータ選択部が共通になっていて、データマスク部とフリップ・フロップとのセット制御でデータの選択をしている。しかし、データ選択の実施方法としては、別の方法もある。データの選択は図38の網かけで示したように3種類のグループが存在する。この3種類を順番に選択することでデータを選ぶことができる。このような例における回路構成は図39のようになる。 In the configuration of the above-described DRC creation circuit, the data selection unit of 3 frames is common as shown in FIGS. 7 and 8, and data is selected by the set control of the data mask unit and the flip-flop. However, there is another method for performing data selection. There are three types of data selection as shown by the shaded area in FIG. Data can be selected by selecting these three types in order. The circuit configuration in such an example is as shown in FIG.
また、上述の例では、2バイトずつ入力してAXP訂正符号を作成する場合について説明したが、2バイト以外の複数バイトずつ入力して、DRCの斜め方向のパリティ及びVRCの縦方向のパリティをとることも可能である。 In the above example, the AXP correction code is created by inputting 2 bytes at a time. However, by inputting multiple bytes other than 2 bytes, the diagonal parity of DRC and the vertical parity of VRC are set. It is also possible to take.
〔リードソロモン符号〕
次に、本発明のリードソロモン符号の高速化について説明する。検査行列を利用した符号化計算を以下の符号を用いて具体的に示す。
符号長 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 +α75x3 +α249 x2 +α78x+α6
と展開できる。
d0 〜d3 は以下の行列で表される。
[Reed-Solomon code]
Next, speeding up of the Reed-Solomon code of the present invention will be described. An encoding calculation using a parity check matrix is specifically shown using the following codes.
Code length n = 18
Information score k = 14
Number of inspection points n−k = 4
Minimum distance d min = 5
Primitive polynomial g (x) = x 8 + x 4 + x 3 + x 2 +1
Generator polynomial G (x) = (x−α 3 ) (x−α 2 ) (x−α) (x−1)
= X 4 + α 75 x 3 + α 249 x 2 + α 78 x + α 6
And can be expanded.
d 0 to d 3 are represented by the following matrix.
ここで、下記に示される総和、 Where the sum shown below,
即ち、a0 〜a3 を展開すれば、
a0 =i13+i12+i11+i10+i9 +i8 +i7 +i6 +i5 +i4 +i3 +i2 +i1 +i0
a1 =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
a2 =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
a3 =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
となる。
That is, if a 0 to a 3 are expanded,
a 0 = i 13 + i 12 + i 11 + i 10 + i 9 + i 8 + i 7 + i 6 + i 5 + i 4 + i 3 + i 2 + i 1 + i 0
a 1 = i 13 × α 17 + i 12 × α 16 + i 11 × α 15 + i 10 × α 14 + i 9 × α 13
+ I 8 × α 12 + i 7 × α 11 + i 6 × α 10 + i 5 × α 9 + i 4 × α 8
+ I 3 × α 7 + i 2 × α 6 + i 1 × α 5 + i 0 × α 4
a 2 = i 13 × α 34 + i 12 × α 32 + i 11 × α 30 + i 10 × α 28 + i 9 × α 26
+ I 8 × α 24 + i 7 × α 22 + i 6 × α 20 + i 5 × α 18 + i 4 × α 16
+ I 3 × α 14 + i 2 × α 12 + i 1 × α 10 + i 0 × α 8
a 3 = i 13 × α 51 + i 12 × α 48 + i 11 × α 45 + i 10 × α 42 + i 9 × α 39
+ I 8 × α 36 + i 7 × α 33 + i 6 × α 30 + i 5 × α 27 + i 4 × α 24
+ I 3 × α 21 + i 2 × α 18 + i 1 × α 15 + i 0 × α 12
It becomes.
ここで情報語i13〜i0 を2バイト単位(i13とi12,i11とi10,i9 とi8 ,i7 とi6 ,i5 とi4 ,i3 とi2 ,i1 とi0 )で、総和を求める回路に入力することを考え、a1 〜a3 を以下のような共通項でまとめた式に変更する。
a1 =α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 )
a2 =α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 )
a3 =α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 )
Here, the information words i 13 to i 0 are expressed in 2-byte units (i 13 and i 12 , i 11 and i 10 , i 9 and i 8 , i 7 and i 6 , i 5 and i 4 , i 3 and i 2 , i 1 and i 0 ), considering that they are input to the circuit for obtaining the sum, a 1 to a 3 are changed to the formulas summarized in the following common terms.
a 1 = α 5 (i 13 × α 12 ++ i 11 × α 10 + i 9 × α 8 + i 7 × α 6
+ I 5 × α 4 + i 3 × α 2 + i 1 × α 0 ) +
α 4 (i 12 × α 12 ++ i 10 × α 10 + i 8 × α 8 + i 6 × α 6
+ I 4 × α 4 + i 2 × α 2 + i 0 × α 0 )
a 2 = α 10 (i 13 × α 24 ++ i 11 × α 20 + i 9 × α 16 + i 7 × α 12
+ I 5 × α 8 + i 3 × α 4 + i 1 × α 0 ) +
α 8 (i 12 × α 24 ++ i 10 × α 20 + i 8 × α 16 + i 6 × α 12
+ I 4 × α 8 + i 2 × α 4 + i 0 × α 0 )
a 3 = α 15 (i 13 × α 36 ++ i 11 × α 30 + i 9 × α 24 + i 7 × α 18
+ I 5 × α 12 + i 3 × α 6 + i 1 × α 0 ) +
α 12 (i 12 × α 36 ++ i 10 × α 30 + i 8 × α 24 + i 6 × α 18
+ I 4 × α 12 + i 2 × α 6 + i 0 × α 0 )
この式は、2バイト単位で入力したときに、偶数バイトと奇数バイトとの各々に定数の乗算を行うことにより、総和を求める回路の簡略化が可能であることを示す。また、この式からa1 を求める場合の乗算回路における乗算定数は、偶数バイト,奇数バイト共にα2 であり、また、a2 の場合の乗算定数はα4 、a3 の場合の乗算定数はα6 と偶数バイト及び奇数バイトで共通な同じ値になる。よって、乗算−加算−保持を順次繰り返すことで、各式の括弧内の値を求めることができる。即ち、従来の回路と比較して2倍の速度で情報語の総和を求めることが可能になる。 This equation indicates that when the input is performed in units of 2 bytes, the circuit for obtaining the sum can be simplified by multiplying each of the even and odd bytes by a constant. The multiplication constant in the multiplication circuit for obtaining a 1 from this equation is α 2 for both even and odd bytes, and the multiplication constant for a 2 is α 4 and the multiplication constant for a 3 is α 6 is the same value common to even and odd bytes. Therefore, the values in parentheses of each expression can be obtained by sequentially repeating multiplication-addition-holding. That is, it is possible to obtain the sum of information words at a speed twice that of the conventional circuit.
次に、a0 〜a3 から検査語d0 〜d3 を求めるには、前述の行列式を解く回路を構成すればよく、従来と同様に所定の乗算定数を設定した乗算回路と加算回路とを用いて、以下に示すような演算式に従って実現できる。
d0 =α218 ×a0 +α158 ×a1 +α156 ×a2 +α212 ×a3
d1 =α158 ×a0 +α138 ×a1 +α2 ×a2 +α153 ×a3
d2 =α156 ×a0 +α2 ×a1 +α135 ×a2 +α152 ×a3
d3 =α212 ×a0 +α153 ×a1 +α152 ×a2 +α209 ×a3
Then, a 0 to obtain the test word d 0 to d 3 from ~a 3 may be a circuit to solve the above matrix equation, conventional and multiplication circuit that sets a predetermined multiplicative constant similarly adder circuit And can be realized in accordance with an arithmetic expression as shown below.
d 0 = α 218 × a 0 + α 158 × a 1 + α 156 × a 2 + α 212 × a 3
d 1 = α 158 × a 0 + α 138 × a 1 + α 2 × a 2 + α 153 × a 3
d 2 = α 156 × a 0 + α 2 × a 1 + α 135 × a 2 + α 152 × a 3
d 3 = α 212 × a 0 + α 153 × a 1 + α 152 × a 2 + α 209 × a 3
図40,図41は、以上のようなa0 〜a3 及びd0 〜d3 を求めるようにした回路の構成図である。EORで構成されたガロア体上の加算回路25と、EOR及びANDで構成されたガロア体上の定数項の乗算回路27と、乗算−加算されたデータ(情報語)を保持するためのレジスタ26とを有する。符号化を行う場合には、情報語を2バイト単位で入力し、全てのデータが入力された時点でa0 〜a3 が図40の回路にて計算され、計算されたa0 〜a3 が図41の回路に入力されて同時に検査語d0 〜d3 が求まる。即ち、符号化に必要な時間は、情報語長÷2となり、従来例に比べて誤り訂正符号化の処理時間が半分に短縮する。
FIG. 40 and FIG. 41 are circuit configuration diagrams for obtaining a 0 to a 3 and d 0 to d 3 as described above. An
なお、上述の説明においては、説明を簡単にするために、入力データを2バイト単位としているが、例えば4バイト,6バイト,・・・(単位が偶数)であれば、同じ考え方で符号化回路を構成することができる。 In the above description, in order to simplify the description, the input data is in units of 2 bytes. For example, if the input data is 4 bytes, 6 bytes,. A circuit can be constructed.
(リードソロモン符号に対するシンドローム作成回路6)
図42は、本発明のシンドローム作成回路6の構成を示すブロック図であり、シンドローム作成回路6は、メモリ31と、ビット重み変換部32と、並列シンドローム演算部33と、シンドローム結果記憶部34と、コントローラ部35とを有する。
(
FIG. 42 is a block diagram showing the configuration of the
シンドローム演算前、メモリ31より読み出したデータについて走行方向によりそのガロア体GFが異なってビット重みの入れ換えが必要となる場合がある。この場合に、ビット重み変換部32は、データのビット重みを入れ換えて、並列シンドローム演算部33に出力する。並列シンドローム演算部33は、ビット重み変換後のデータのシンドロームを求める。シンドローム結果記憶部34は、シンドロームの演算結果を記憶する。コントローラ部35は、この並列シンドローム演算部33での演算処理を制御する。
Before the syndrome calculation, the data read from the
図43は、図42の並列シンドローム演算部33及びコントローラ部35の内部構成を示す。並列シンドローム演算部33は、EOR器36と乗算器37とアルチプレクサ38とレジスタ39とを有し、コントローラ部35は、バイト切り換え器35aとパルス発生器35bとを有する。
FIG. 43 shows the internal configuration of the parallel
以下の条件に従った動作について説明する。
符号が存在する体:GF(2) 元の総数は256個
体を構成する原始多項式:g(x)=x8 +x4 +x3 +x2 +1
RS符号の生成多項式:G(x)=x4 +α75x3 +α249 x2 +α78x
+α6
=(x+α0 )(x+α1 )(x+α2 ) (x+α3 )
符号長 n=18バイト
情報点数 k=14バイト
検査点数 m=4バイト
最小距離 dmin =5
訂正能力 誤り訂正=2個、または、誤り検出=4個まで可能
An operation according to the following conditions will be described.
Field in which code exists: GF (2) The total number of elements is 256 Primitive polynomials constituting field: g (x) = x 8 + x 4 + x 3 + x 2 +1
RS code generator polynomial: G (x) = x 4 + α 75 x 3 + α 249 x 2 + α 78 x
+ Α 6
= (X + α 0 ) (x + α 1 ) (x + α 2 ) (x + α 3 )
Code length n = 18 bytes Number of information points k = 14 bytes Number of inspection points m = 4 bytes Minimum distance d min = 5
Correction capability Up to 2 error corrections or 4 error detections
まず、メモリ31に記憶された18バイトの符号語を3バイト毎にまとめ、その3バイトのデータを同時にビット重み変換器32に取り込み、走行方向によってガロア体が異なりビット重みの入れ換えが必要な場合にビット重みを入れ換える。ビット重み変換後のデータは並列シンドローム演算部33に入力されてシンドロームが演算される。各々EORした結果を、乗算器37のべき乗テーブルと乗算することによりシンドロームが求まる。マルチプレクサ38は、データ転送時のバイト数の切り換えに必要であり、コントローラ部35のシンドローム演算用のバイト切り換え器35aにより外部からの情報でバイト数が切り換えられる。また、レジスタ39は、演算したシンドローム結果を一時保存しておき、正確に出力するために必要なものである。18バイトのデータが入力された後、演算されたシンドローム結果は、18バイトのデータ入力後にパルス発生器35bから発生されるタイミングパルスに応じて、シンドローム結果記憶部34に保存される。
First, the 18-byte codeword stored in the
以上のように、3バイト単位での処理を実施するので、シンドローム演算を高速に行うことができる。 As described above, since the processing is performed in units of 3 bytes, the syndrome calculation can be performed at high speed.
(デスキュー回路5)
本発明では、3個のデスキューイングバッファを同時に読み出して1回あたり3バイトのデータを転送する処理を6回行うことにより、1フレームのデータの転送速度を従来例の3倍に高める。また、デスキューイングバッファの各トラックの割当てを変更し、且つ制御方法を変更することによって、FWD方向とBWD方向とにおいて同一の制御法によりデータ転送が可能なようにする。
(Deskew circuit 5)
In the present invention, the process of transferring three bytes of data at a time by reading three deskewing buffers simultaneously is performed six times, thereby increasing the transfer rate of one frame of data to three times that of the conventional example. In addition, by changing the allocation of each track in the deskewing buffer and changing the control method, data transfer can be performed by the same control method in the FWD direction and the BWD direction.
図44は、本発明のデスキュー回路5の内部構成を示すブロック図である。デスキュー制御回路41A(41B,41C)と、デスキューイングバッファ42A(42B,42C)と、マルチプレクサ43A(43B,43C)と、9−8変換回路44A(44B,44C)とから構成される3系統の回路を設けて、一度に3バイトのデータを転送できるようにしている。
FIG. 44 is a block diagram showing the internal configuration of the
図45〜図48は、各デスキューイングバッファ42A,42B,42Cにおけるデータの書き込み・読み出し制御を示す図である。本発明では、従来例と異なり、FWD方向及びBWD方向においてその書き込み・読み出し制御は共通である。 45 to 48 are diagrams showing data write / read control in each of the deskewing buffers 42A, 42B, and 42C. In the present invention, unlike the conventional example, the writing / reading control is common in the FWD direction and the BWD direction.
一例として、デスキュー制御回路41A及びデスキューイングバッファ42Aの制御動作について説明する。磁気テープ上の傾斜した各トラックにおいて、1バイトデータ(9ビットデータ)が揃ったトラックを分割した各メモリ領域に順次書き込んでいく。まず、1A−トラックのデータを、デスキューイングバッファ42Aの1A−トラックに割り当てられたメモリ領域(Aの位置)に書き込む。以下同様に、4A−トラックのデータはBの位置、7A−トラックのデータはCの位置、5B−トラックのデータはDの位置、2B−トラックのデータはEの位置、0A−トラックのデータはFの位置に書き込む(図45参照)。
As an example, the control operation of the
同様にして、デスキューイングバッファ42B,42Cにおいても各トラックのデータを割り当てられた対応するメモリ領域に書き込む(図46,図47参照)。以上のようにして、18トラック分のデータの書き込みを終了する。 Similarly, in the deskewing buffers 42B and 42C, the data of each track is written in the corresponding memory area assigned (see FIGS. 46 and 47). As described above, writing of data for 18 tracks is completed.
データの書き込みを終了すると、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参照)。
When the data writing is completed, transfer of 3-byte data is started. The data of the block (position A) in the reading order No. 1 of each of the deskewing buffers 42A, 42B, and 42C shown in FIGS. 45 to 47 is simultaneously read to realize 3-byte transfer at one timing. The read 3-byte data is transferred to 9-8
以上のような手法により、1フレームのデータ転送において従来例の3倍速の転送が可能になり、処理速度を向上することができる。また、FWD方向,BWD方向に関わらずに、同一の制御手法でのデスキュー処理が可能になる。 By the method as described above, it is possible to transfer data at one frame at a triple speed as compared with the conventional example, and the processing speed can be improved. Further, it is possible to perform the deskew process using the same control method regardless of the FWD direction and the BWD direction.
(読み出しフォーマット部11e内におけるデータ転送制御)
従来の3倍である3バイト幅で転送されるデータに対して、次段の回路(ホスト10)へ転送するまでに誤り訂正処理を行う場合、一時的にデータを格納する手段が必要である。その格納手段として、メモリ,フリップ・フロップ,セレクタ等の素子の使用を最小限にし、しかもFWD方向及びBWD方向の読み出し動作に対応できるためには、そのメモリアドレスの制御方法を工夫する必要がある。
(Data transfer control in the read format unit 11e)
When error correction processing is performed on data transferred with a 3-byte width, which is three times that of the prior art, until the data is transferred to the next-stage circuit (host 10), a means for temporarily storing the data is required. . In order to minimize the use of elements such as memories, flip-flops, and selectors as storage means, and to cope with read operations in the FWD direction and BWD direction, it is necessary to devise a memory address control method. .
磁気テープ等の媒体から読み出されたデータをメモリに格納する際、格納するメモリアドレスを制御するカウンタ制御回路によってアドレスカウンタを制御する。カウンタの出力値はメモリのアドレス線に入力されており、データをメモリの決まった領域に格納するようにアドレス制御するようになっている。また、カウンタ制御回路では、磁気テープ読み取り方向(FWD方向かBWD方向か)によってアドレス順を切り替えることができる。誤り訂正処理を行う際に、入力データ順がBWD方向とFWD方向とでは逆であるが、カウンタ制御回路でアドレス順を切り替えることによって、BWD方向とFWD方向とで個別の誤り訂正回路を設ける必要がない。 When data read from a medium such as a magnetic tape is stored in a memory, an address counter is controlled by a counter control circuit that controls a memory address to be stored. The output value of the counter is input to an address line of the memory, and address control is performed so that data is stored in a predetermined area of the memory. In the counter control circuit, the address order can be switched according to the magnetic tape reading direction (FWD direction or BWD direction). When performing error correction processing, the input data order is opposite in the BWD direction and the FWD direction, but it is necessary to provide separate error correction circuits in the BWD direction and the FWD direction by switching the address order in the counter control circuit. There is no.
図49は、本発明のデータ転送制御系の構成を示すブロック図である。図49に示すデータ転送制御系は、データを格納するためのメモリ領域を有するSRAM51と、特定アドレス値を設定するアドレスロード値設定回路52と、FWD方向,BWD方向各々において転送データの順序を切り替えるためのFWD/BWD切替回路53と、書き込み,読み出しそれぞれのアドレスを制御するアドレスカウンタ回路54と、磁気テープ等の媒体55と、誤り訂正を行う誤り訂正処理回路56と、FWD方向,BWD方向を判別するための走行方向判断回路57と、BWD方向時に同一アドレス内の3バイトのデータ順を並べ換えるBWDバイトデータ変換回路58とを備える。アドレスカウンタ回路54は、書き込みカウンタ54aと読み出しカウンタ54bとを有する。
FIG. 49 is a block diagram showing the configuration of the data transfer control system of the present invention. The data transfer control system shown in FIG. 49 switches the order of transfer data in the
図50はSRAM51におけるメモリマップを示す図であり、グループ毎のメモリ格納領域を示している。図50において、(1),(2),3)はフレーム単位のデータのグループ番号、00,05,06,0B,0C,11,12は各グループのデータを格納する領域を表したアドレス初期値(ロード値)である。
FIG. 50 is a diagram showing a memory map in the
図51は、媒体55から3バイト単位で転送されてくるデータの1フレーム分のフォーマットを示す図であり、図51(a)はFWD方向での読み出し時、図51(b)はBWD方向での読み出し時のデータフォーマットをそれぞれ示す。また、図52はフレーム単位のデータの書き込み,読み出しのタイミングチャート、図53はある特定のフレームデータにおけるFWD時の書き込み,読み出しの詳細なタイミングチャート、図54はある特定のフレームデータにおけるBWD時の書き込み,読み出しの詳細なタイミングチャートである。 FIG. 51 is a diagram showing a format of one frame of data transferred from the medium 55 in units of 3 bytes. FIG. 51A is a read in the FWD direction, and FIG. 51B is a BWD direction. The data format at the time of reading is shown respectively. FIG. 52 is a timing chart for writing and reading data in units of frames, FIG. 53 is a detailed timing chart for writing and reading at a certain frame data during FWD, and FIG. 54 is a timing at a BWD for certain frame data. It is a detailed timing chart of writing and reading.
媒体55からFWD方向に読み出されたデータが、図51(a)に示すようなフォーマット(3バイト幅:1A,2A,3A)でパラレルに送られてきた場合、アドレスロード値設定回路52によって設定されたフレーム単位(1Aから8Bまでの18バイト)のグループ毎に、SRAM51の決められた格納アドレス(ロード値)にデータが3バイト格納される。この場合、まず00がロードされ、アドレス00には、1A,2A,3Aの3バイトが格納される。
When the data read in the FWD direction from the medium 55 is sent in parallel in the format (3 byte width: 1A, 2A, 3A) as shown in FIG. 51A, the address load
その後、アドレスカウンタ回路54によってアドレスがインクリメントされ、それぞれ、インクリメントされたアドレスに応じてデータが3バイトずつ格納されていく。05までインクリメントされたアドレスにデータが格納されると、1フレームのデータ、即ちグループ(1)の格納が終了する。同様に、グループ(2)はアドレス06から0Bまで、グループ(3)は0Cから11までというようにグループ毎にデータ格納処理が行われる。
Thereafter, the address is incremented by the
次に、グループ毎にSRAM51に格納された(書き込まれた)同一のアドレスを、読み出す場合の説明を行う。この際、図52に示すように、書き込みと読み出しとのタイミングで2フレームの遅れが生じる。これは、フレームデータ(18バイト)書き込み完了に1フレーム、更に書き込まれたデータに関して誤り訂正処理を行うために1フレームかかるためである。データ格納時にグループを3つに分け、それぞれの開始アドレスと終了アドレスとをロード値として設定するのは、この2フレームのずれに対処するためである。
Next, a description will be given of reading out the same address stored (written) in the
SRAM1に書き込まれた同一のアドレスを読み出すのに2フレーム遅れるため、図52に示すように、グループ(3)を書き込んでいるときはグループ(1)を読み出し、グループ(1)を書き込んでいるときはグループ(2)を読み出し、グループ(2)を書き込んでいるときはグループ(3)を読み出すというように、書き込み,読み出しそれぞれのアドレスカウンタ54a,54bを制御する。図53はこのアドレスカウンタ制御の詳細なタイミングを示す。図53では、0Cを書き込んでいるときは00を読み出し、08を書き込んでいるときは0Cを読み出していることを表している。
Since two frames are delayed in reading the same address written in the
なお、上述した例はFWD方向時の書き込みについての説明であるが、BWD方向時の書き込みの場合、媒体55から読み出される読み出しデータは、誤り訂正処理の都合上、前段でFWD方向のデータ順に変換されており、次段へ出力する場合はBWD方向に変換し直さないといけない。FWD/BWD各々の走行方向を判断する走行方向判断回路57によって走行方向を判別し、読み出し/書き込み順を制御するFWD/BWD切替回路53によって切り替える。つまり、FWD方向の場合はグループの開始アドレスをロードし、カウンタ値を増やしていくが、BWD方向の場合は、グループの最終アドレスをロード値とし、カウンタ値を減らしていくようにする。
In the above example, the writing in the FWD direction is described. However, in the case of writing in the BWD direction, the read data read from the medium 55 is converted in the order of the data in the FWD direction at the previous stage for the convenience of error correction processing. In order to output to the next stage, it must be converted back to the BWD direction. The traveling direction is determined by a traveling
例えば、図54において、グループ(1)をBWD方向で読み出す場合、0Cを書き込んでいるときは05を読み出すというように、グループ(1)の最終アドレスをロード値としダウンカウントするように読み出しアドレスカウンタを制御する。また、BWD時は図51(b)に示すように、出力データ順に加えて同一アドレス内の3バイトの並びも変わるので、BWD時はBWDバイトデータ変換回路58によってバイト変換制御を行う。
For example, in FIG. 54, when reading the group (1) in the BWD direction, the read address counter is configured to count down using the final address of the group (1) as the load value, such as reading 05 when 0C is written. To control. In BWD, as shown in FIG. 51B, in addition to the output data order, the arrangement of 3 bytes in the same address also changes. Therefore, in BWD, byte conversion control is performed by the BWD byte
以上のような手法によると、データ転送の高速化(3バイト転送)、テープ媒体からのデータの読み出し順序がFWD方向またはBWD方向に変化した場合、また、高性能な誤り訂正処理を行う際に、フレーム単位としてデータのずれが生じた場合等においても、より高度,複雑になりつつあるデータ転送制御方式において、以上に挙げた要因に総括的に対処できる。アドレスカウンタをFWD方向,BWD方向で切り換えて制御することにより、カウンタロード値を設定し、カウンタをアップカウントにするかダウンカウントにするかによって、FWD方向及びBWD方向での読み出し動作に対応できる。データを3つのグループに分けることによって、上に述べた書き込み時と読み出し時とで2フレームずれるという現象においても、同じタイミングにおいて書き込み動作と読み出し動作とを行え、3バイトデータ高速転送に対応することができる。 According to the above method, when data transfer speed is increased (3-byte transfer), the reading order of data from the tape medium is changed in the FWD direction or the BWD direction, or when high-performance error correction processing is performed. Even when a data shift occurs as a frame unit, the above-described factors can be comprehensively addressed in the data transfer control method that is becoming more sophisticated and complicated. By switching and controlling the address counter in the FWD direction and the BWD direction, it is possible to cope with read operations in the FWD direction and the BWD direction by setting a counter load value and setting the counter to up-count or down-count. By dividing the data into three groups, the write operation and the read operation can be performed at the same timing even in the above-described phenomenon of two frames being shifted at the time of writing and at the time of reading. Can do.
データ転送制御方法における従来からの改良手法の常套手段である、データ格納またはバッファ制御を行うためのフリップ・フロップ,セレクタ等の素子の多量追加という方法に対し、本発明では以上のような手法にてデータ転送制御を行うので、データ格納,バッファ制御を行うために使用される素子の絶対数を最小限に抑え、回路規模の増大,複雑化を防ぎ、開発期間の短縮、開発費の低減、更にはテスト項目の簡略化をも図ることができ、多方面にわたって効率面での向上が可能となる。 In contrast to the conventional method of improving the data transfer control method, which is a conventional means of adding data in a large amount of elements such as flip-flops and selectors for performing data storage or buffer control, the present invention adopts the above method. Data transfer control, minimizing the absolute number of elements used for data storage and buffer control, preventing an increase in circuit scale and complexity, shortening the development period, reducing development costs, Furthermore, it is possible to simplify test items, and it is possible to improve efficiency in many ways.
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 アドレスカウンタ回路
DESCRIPTION OF
12 Magnetic tape unit (MTU)
11b Data format part 11d Write format part 11e
52 Address load
Claims (3)
前記上位装置からの入力データに対する複数バイト単位での誤り訂正符号化処理、及び/または、前記磁気テープユニットからの読み出しデータに対する複数バイト単位での誤り訂正処理を行うように構成しており、前記上位装置からのデータに対してリードソロモン誤り訂正符号を作成する誤り訂正符号化手段を備え、該誤り訂正符号化手段が、情報語の複数の総和計算を並列処理するように構成したことを特徴とする磁気テープ装置の制御装置。 An error correction code is added to the data input from the host device, the format is converted, the format-converted data is transferred to the magnetic tape unit, and the data read from the magnetic tape unit is error-corrected and the format is converted to the format. In the control device of the magnetic tape device that transfers the converted data to the host device,
It is configured to perform error correction encoding processing in units of a plurality of bytes for input data from the host device and / or to perform error correction processing in units of a plurality of bytes for read data from the magnetic tape unit, It comprises an error correction coding means for creating a Reed-Solomon error correction code for data from a host device, and the error correction coding means is configured to process a plurality of summation calculations of information words in parallel. Control device for magnetic tape device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005362278A JP2006085900A (en) | 2005-12-15 | 2005-12-15 | Controller for magnetic tape unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005362278A JP2006085900A (en) | 2005-12-15 | 2005-12-15 | Controller for magnetic tape unit |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003037365A Division JP2003317400A (en) | 2003-02-14 | 2003-02-14 | Controller for magnetic tape unit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006085900A true JP2006085900A (en) | 2006-03-30 |
Family
ID=36164228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005362278A Pending JP2006085900A (en) | 2005-12-15 | 2005-12-15 | Controller for magnetic tape unit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006085900A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003032122A (en) * | 2001-07-18 | 2003-01-31 | Nec Eng Ltd | Encoder |
-
2005
- 2005-12-15 JP JP2005362278A patent/JP2006085900A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003032122A (en) * | 2001-07-18 | 2003-01-31 | Nec Eng Ltd | Encoder |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5592404A (en) | Versatile error correction system | |
KR20010033954A (en) | A physical block address recovery apparatus, system and method for cyclic error correction codes | |
JP2005218098A (en) | Reed-solomon decoder circuit of a forward directional chain search system | |
JP3502583B2 (en) | Error correction method and error correction device | |
EP0781472B1 (en) | Multipurpose error correction calculation circuit | |
JP2009094605A (en) | Code error detector and error detecting code generator | |
JPH11225079A (en) | Reed solomon decoder adopting new polynomial arrangement and its decoding method | |
JP2001196938A (en) | Device and method for decoding digital data | |
KR100258951B1 (en) | Rs decoder having serial expansion architecture and method therefor | |
Zhang | VLSI architectures for Reed–Solomon codes: Classic, nested, coupled, and beyond | |
JP2006085900A (en) | Controller for magnetic tape unit | |
US6470471B1 (en) | Data error correction apparatus | |
KR100747487B1 (en) | Reed-Solomon decoder and circuits of the modified Euclid's algorithm | |
JP5667408B2 (en) | Reed-Solomon code / decoding circuit, Reed-Solomon code / decoding method, and storage device | |
JP3418718B2 (en) | Control device for magnetic tape device and method for detecting resynchronization signal | |
JP2003317400A (en) | Controller for magnetic tape unit | |
KR101267958B1 (en) | Bch decoder, memory system having the same and decoding method | |
JP2003288762A (en) | Control device for magnetic tape apparatus | |
JP2963018B2 (en) | Reed-Solomon error correction code decoding circuit | |
JP2726902B2 (en) | Wide bandwidth Reed-Solomon encoding, decoding and error correction circuits | |
JP3295537B2 (en) | Multi-byte error detection and correction device | |
JPH0750595A (en) | Decoding device | |
KR101226439B1 (en) | Rs decoder, memory system having the same and decoding method | |
JP2004120419A (en) | Reed-solomon coding circuit and reed-solomon decoding circuit | |
JP2797569B2 (en) | Euclidean circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071016 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080311 |