(57)【特許請求の範囲】
【請求項１】
データ記憶媒体にデータを書込む方法であって、
前記データを複数のコードワードに分割するステップと、
前記コードワードを複数の書込みヘッドに分配するステップと、
前記コードワードを、前記データ記憶媒体の複数の物理トラックに同時に書込む書込み動作を実行するステップと、
前記複数の物理トラックから前記コードワードを読取る読取り動作を実行するステップと、
前記複数の物理トラックから読取られた前記コードワードがエラーを含む場合、前記データ記憶媒体に初めに書込まれていた前記コードワードを、前記複数の書込みヘッドに異なる順序で再分配するステップと、
前記再分配されたコードワードを、前記データ記憶媒体の複数の物理トラックに同時に再書込みする再書込み動作を実行するステップとから成る、方法。
【請求項２】
前記データ記憶媒体が、細長いテープからなり、前記書込み動作が、前記テープの長さ方向に沿った書込みパスを含む、請求項１に記載の方法。
【請求項３】
前記コードワードを複数の書込みヘッドに分配するステップが、前記複数の書込みヘッドに複数のコードワードのセットを分配するステップを含む、請求項１又は２に記載の方法。
【請求項４】
前記複数の書込みヘッドに前記複数のコードワードのセットを分配するステップが、
前記複数のコードワードのセットの各々を、対応する書込みヘッドに割当てるステップを含む、請求項３に記載の方法。
【請求項５】
前記複数のコードワードのセットが、前記データ記憶媒体へ同時に書込むために、論理トラックブロックに構成され、前記論理トラックブロック内の個々の前記コードワードのセットの位置が整数で示される、請求項４に記載の方法。
【請求項６】
前記複数のコードワードが、複数のコードワードのセットに構成され、前記書込み動作を実行するステップが、複数のコードワードのセットを、前記書込みヘッドにより前記データ記憶媒体に同時に書込むステップを含む、請求項１に記載の方法。
【請求項７】
前記コードワードが複数のコードワードのセットに構成され、
同時に書込まれるべき複数の前記コードワードのセットが、論理トラックブロックに構成され、
前記論理トラックブロックの各々の前記コードワードのセットが、前記複数の書込みヘッドの対応するものに、第１の順序で割当てられ、
前記データ記憶媒体に一旦書込まれた前記コードワードのセットにエラーが検出された場合、前記論理トラックブロックの前記コードワードのセットが前記書込みヘッドに前記異なる順序で再割当てされる、請求項１に記載の方法。
【請求項８】
前記論理トラックブロック内の前記コードワードのセットの位置が整数で表される、請求項７に記載の方法。
【請求項９】
前記論理トラックブロックの前記コードワードのセットの各々が、前記複数の書込みヘッドの個々のものと対応する、請求項７に記載の方法。
【請求項１０】
前記第１の順序が、以下の式で決定され、
【数１】
0004397456.tif 000009
ここで、Track_Numberは論理トラックブロックの要素の数を表し、CQ_Numberはコードワードのセットの数を表し、Modはモジュロ除算の整数の剰余を表し、N_Tは同時に書込みがなされるトラックの数を表す、請求項７に記載の方法。
【請求項１１】
前記異なる順序が、以下の式で決定され、
【数２】
0004397456.tif 000010
ここで、Track_Numberは論理トラックブロックの要素の数を表し、CQ_Numberはコードワードのセットの数を表し、Modはモジュロ除算の整数の剰余を表し、Wは整数０からM-1までのシーケンスを循環するキャラクタの状態を表し（Mは同時に書込むことができるアクティブトラックの数を表す）、N_Tは同時に書込みがなされるトラックの数を表す、請求項１から１０のいずれかに記載の方法。
【請求項１２】
コードワードの各セットが、コードワードの４組から成るコードワードクワッドである、請求項４から１１のいずれかに記載の方法。
【請求項１３】
前記データ記憶媒体が、磁気データ記憶媒体から成る、請求項１から１２のいずれかに記載の方法。
【請求項１４】
少なくとも１つの読取り要素と少なくとも１つの書込み要素とを含むデータ記憶装置であって、前記装置が、データ記憶媒体へデータを書込むことができる手段と、前記データ記憶媒体から前記書込まれたデータを読取ることができる手段とを含み、
前記書込み手段が、前記データを複数のコードワードに分割するよう動作可能であり、
前記書込み手段が、前記コードワードを同様の複数の書込みヘッドに分配するよう動作可能であり、
前記書込み手段が、前記コードワードを、前記データ記憶媒体の同様の複数の物理トラックに同時に書込む書き込み動作を実行するよう動作可能であり、
前記読取り手段が、前記複数のトラックから前記コードワードを読取る読取り動作を実行するよう動作可能であり、
前記複数のトラックから読取られた前記コードワードが不完全である場合、前記装置が、前記データ記憶媒体に初めに書込まれていた前記コードワードを、前記複数の書込みヘッドに異なる順序で再分配するよう動作可能であり、
前記装置が、前記再分配したコードワードを、前記データ記憶媒体の同様の複数の物理トラックに同時に再書込みする再書込み動作を実行するよう動作可能である、データ記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ記憶装置に係り、特に、しかし限定しないが、複数のトラックにデータを同時に書込むことができるテープ・データ記憶装置に関する。
【０００２】
【従来の技術】
デジタル電子データを記憶するために、複数の読取り／書込みヘッドを有するテープ・ドライブ・ユニットに挿入される磁気テープ・データ・カートリッジを使用することが知られている。一般に、そのような磁気テープ記憶装置は、例えばコンピュータなどのホスト装置が生成するデータをバックアップするために使用される。
【０００３】
ドライブがより大きいデータ記憶容量に対応するためには、リニア・テープ・データ記憶装置上のトラックがより狭いことが必要であるため、個々のコードワードは、テープへの書込みプロセス中に、例えばテープ記憶媒体の磁気コーティング上の引っ掻き等により、破損する危険性が高い。
【０００４】
テープ記憶装置において、テープに書込まれたデータがテープからすぐに読み返されることにより、そのデータが書込みプロセス中に破損したか否かを検証することができるように、書込みヘッドおよび読取りヘッドを構成することが知られている。例えば、コンピュータの出力に関連するデータのブロックが不連続の場合、検出された破損コードワードを再書込みすることができる。
【０００５】
【発明が解決しようとする課題】
しかしながら、複数の読取り／書込みヘッドを使用して、テープに同時に書込まれる複数のコードワードの１つの不良ブロックに単純に再書込みするには、テープに記録された後続のコードワードを、再度順序付けする必要がある。更に、再書込み動作の数が増えるほど、続けて書込まれるデータの再順序付けがますます複雑になる。
【０００６】
【課題を解決するための手段】
本発明による特定の実施態様および方法は、複数の読取り／書込みヘッドを有する高データ密度テープ・システムにおけるデータの書込みを改良し、それによってそのような装置の信頼性を向上させることを目的としている。
【０００７】
本発明による特定の方法では、破損したデータが、以前書込まれたデータのバージョンとは異なるトラック順序で複数のトラックに再書込みされた場合に、表面の損傷によって以前影響を受けたデータは、正常にテープに書込まれることができた、と認識される。
【０００８】
本発明の第１の態様によれば、データ記憶媒体へのデータの書込み方法が提供され、その方法は、
前記データを複数のコードワードに分割するステップと、
前記コードワードを同じ複数の書込みヘッドに分配させるステップと、
前記コードワードを、前記データ記憶媒体の同じ複数の物理トラックにほぼ同時に書込む書込み動作を実行するステップと、
前記複数の物理トラックから前記コードワードを読取る読取り動作を実行するステップと、
前記複数のトラックから読取られた前記コードワードがエラーを含む場合、前記データ記憶媒体に初めに書込まれていた前記コードワードを、前記複数の書込みヘッドに異なる順序で再分配させるステップと、
前記再分配したコードワードを、前記データ記憶媒体の同じ複数の物理トラックに再書込みする再書込み動作を実行するステップと、から成ることを特徴とする。
【０００９】
好ましくは、前記データ記憶媒体は、細長いテープを含み、前記書込み動作は、前記テープの長さ方向に沿った書込みパスを含む。
【００１０】
コードワードを複数の書込みヘッドに分配させる前記ステップは、好ましくは、前記複数の書込みヘッドに複数のコードワード・クワッドを分配させるステップを含む。ここでは、４つのコードワードのセットを、コードワード・クワッドと呼ぶ。
【００１１】
好ましくは、前記複数のコードワード・クワッドの各々は、対応する前記書込みヘッドに割当てられている。
【００１２】
好ましくは、書込み動作を実行する前記ステップは、前記複数のコードワード・クワッドを、前記書込みヘッドで前記データ記憶媒体に同時に書込むステップを含む。
【００１３】
前記複数のコードワード・クワッドは、前記データ記憶媒体へ同時に書込まれるために、論理トラック・ブロックに配置され、前記論理トラック・ブロック内の個々の前記コードワード・クワッドの位置は、整数の番号で示されていてもよい。
【００１４】
同時に書込まれるべき複数の前記コードワード・クワッドは、論理トラック・ブロックに配置されてもよく、
前記論理トラック・ブロック各々の前記コードワード・クワッドは、前記複数の書込みヘッドの対応するものに、第１の順序で配置されてもよく、
前記データ記憶媒体に一旦書込まれた前記コードワード・クワッドにエラーが検出された場合、前記論理トラック・ブロックの前記コードワード・クワッドが前記書込みヘッドに前記異なる順序で再配置される。
【００１５】
好ましくは、前記論理トラック・ブロック内の前記コードワード・クワッドの位置は、整数で表される。
【００１６】
好ましくは、前記論理トラック・ブロックの前記コードワード・クワッドの各々は、前記複数の書込みヘッドの個々のものに対応する。
【００１７】
前記第１の順序は、以下の式で決定される。
【００１８】
【数１】
0004397456.tif 000002
【００１９】
ここで、Track_Numberは論理トラック・ブロックの要素の数を表し、CQ_Numberは４つのコードワードのセットの数を表し、Modはモジュロ除算の整数の剰余を表し、N_Tは同時に書込みがなされるトラックの数を表す。
【００２０】
前記異なる順序は、以下の式で決定されてもよい。
【００２１】
【数２】
0004397456.tif 000003
【００２２】
ここで、Track_Numberは論理トラック・ブロックの要素の数を表し、CQ_Numberは４つのコードワードのセットの数を表し、Modはモジュロ除算の整数の剰余を表し、Wは整数０からM-1までのシーケンスを循環するキャラクタの状態を表し（Mは同時に書込むことができるアクティブ・トラックの数を表す）、N_Tは同時に書込みがなされるトラックの数を表す。
【００２３】
好ましくは、前記データ記憶媒体は、磁気データ記憶媒体、例えば、リールの周りに巻かれたテープの細長い（elongate）バンドを有するカセット・テープ・カートリッジである。
【００２４】
本発明は、少なくとも１つの読取り要素と少なくとも１つの書込み要素とから成るデータ記憶装置を含み、その装置は、データ記憶媒体へデータを書込むことができる手段と前記データ記憶媒体から前記書込まれたデータを読取ることができる手段とから成ることを特徴とし、
前記書込み手段は、前記データを複数のコードワードに分割するよう動作可能で、
前記書込み手段は、前記コードワードを複数の書込みヘッドに分配させるよう動作可能で、
前記書込み手段は、前記コードワードを、前記データ記憶媒体の同じ複数の物理トラックにほぼ同時に書込む書込み動作を実行するよう動作可能で、
前記読取り手段は、前記複数の物理トラックから前記コードワードを読取る読取り動作を実行するよう動作可能であって、
前記装置は、前記複数のトラックから読取られた前記コードワードが不完全である場合、前記データ記憶媒体に初めに書込まれていた前記コードワードを、前記複数の書込みヘッドに異なる順序で再分配させるよう動作可能で、
前記装置は、前記再分配したコードワードを、前記データ記憶媒体の同じ複数の物理トラックに再書込みする再書込み動作を実行するよう動作可能である。
【００２５】
本発明は、データ記憶媒体に記録されたデータを読取ることができる装置を含み、前記データは複数のコードワードを含み、そのコードワードは前記データ記憶媒体の複数のトラック・ブロックに書込まれており、前記トラック・ブロックの各々は、前記データ記憶媒体にほぼ同時に書込まれた複数のコードワードを含み、
第１の論理トラック・ブロックに属している複数のコードワードは、第１の順序でトラックのセットに書込まれ、
前記複数のコードワードが、前記論理トラック・ブロックが占める前記第1の位置に誤って書込まれている場合、前記複数のコードワードは、前記複数のトラックの第２の位置に、第２の順序で、前記複数のトラックに書込まれる。
【００２６】
前記データ記憶媒体は、最適に、磁気テープ・データ記憶媒体を含む。
【００２７】
本発明は、記憶媒体を拡張データの影響から守る破損データの再書込み方法を含む。
【００２８】
【発明の実施の形態】
ここで、本発明をより詳しく理解するために、また本発明がどのように実施されるかを示すために、単に例として、添付図面を参照して本発明による特定の実施態様、方法およびプロセスを示す。
【００２９】
ここで、本発明を遂行するために本発明者が考えた最良の形態を、例として説明する。以下の説明では、本発明を十分に理解することができるように、特定の詳細を多く示す。しかしながら、当業者にとって、本発明が、これら特定の詳細に限定されることなく実行することができるということは、明らかであろう。他の例では、本発明を不要に不明確にしないよう、周知の方法および構成についての詳細は説明していない。
【００３０】
ここで説明する本発明による特定の方法は、細長いテープが、比較的高速で、例えば約３ｍ／秒程度で、ヘッドを通過して引張られる、ほぼ静止している読取り／書込みヘッドを有する磁気テープ記録装置を提供することを目的としている。
【００３１】
テープに対するデータの読取りおよび書込みは、ヘッドに対するテープのフォワードおよびリバースの両方のパス方向で実現することができ、複数の平行なデータ・トラックを、複数の離間した読取り／書込み要素から成る読取り／書込みヘッドを使用して、同時にテープに対して読取り又は記録することができる。しかしながら、ここで示すと共に特許請求の範囲で開示する概略的な方法は、スタティック・ヘッド装置又はテープ速度が高速な装置に限定されない。
【００３２】
以下の説明では、8トラックに同時に書込みがなされる特定の実施態様について説明する。しかしながら、当業者には、ここで開示する概略的な方法が、概して、２、４、１６等他の数のトラックに同時に書込まれるような他のトラック・フォーマットにも適用してもよいことが認識されるであろう。
【００３３】
図１を参照すると、磁気テープの細長いバンドに沿って記録されたデータの物理レイアウトを概略的に示されている。ここで、このデータは磁気データ記録装置の読取り／書込みヘッドにより、テープがヘッドを通過して引張られる際に記録されるものである。読取り／書込みヘッドは、同時にテープに沿って複数のデータの物理トラックに読取り又は書込みするよう配置された、複数の読取り要素および複数の書込み要素を含む。その結果、テープの長さ方向に沿って互いに平行に記録された物理トラック１００、１０４が発生する。その複数の読取り／書込み要素は、テープの方向に対して横方向に、典型的には約２００μｍの距離だけ、互いに間隔をあけて配置されている。各読取り／書込み要素は、約２０μｍほどの幅の物理トラックに対して読取り又は書込みが可能である。読取り／書込みヘッドは、ここで図１に示すパスにおいてテープに沿って複数のバンド・ルートを記録する。各バンド・ルートは複数のバンドを含み、各バンドは複数の物理的に記録されたデータ・トラックを含む。実質的に、単一のパスにおいて、テープの全長がスタティック読取り／書込みヘッドを通過して巻き取られる。
【００３４】
理想的には、テープは、読取り／書込みヘッドを通過するテープの「パス」中に、テープの第１の端から第２の端までその全体の長さを巻き取る。本明細書では、「書込みパス」は、テープ速度が変化するか否か、又はテープがパス中に停止するか否かに関係なく、単一のトラックに書込むための書込みヘッドを通過するテープの単一のパス（passage）として定義される。バックアップ動作中に、テープは、複数の異なる書込みパスにおいて異なる回数で何度も、フォワードおよびリバース方向に読取り／書込みヘッドを横切ることができる。書込みパスは、データが、それら自体が順序通りに書込まれている1又は複数のトラックに沿って、順次書込まれることが可能になる書込みの順序を含んでいる。
【００３５】
図２を参照すると、データ記憶媒体にデータを書込むことができ、そのデータ記憶媒体からその書込んだデータを読取ることができるデータ記憶装置が概略的に図示されている。このデータ記憶装置は、ホスト装置からのデータのストリームを複数のコードワードに分割するよう動作可能な装置２０１と、そのコードワードを複数の書込みヘッドに分配させるよう動作可能な装置２０２と、上記コードワードをデータ記憶媒体の複数のトラックに書込む書込み動作を実行するよう動作可能な複数の書込みヘッド２２０〜２２７と、上記複数のトラックからコードワードを読取る読取り動作を実行するよう動作可能な複数の読取りヘッド２３０〜２３７と、上記複数のトラックから読取られたコードワードが不完全であるか否かを検証するよう動作可能な装置２０３と、データ記憶媒体に最初に書込まれていた不完全なコードワードを異なる順序で上記複数の書込みヘッドに再分配させるよう動作可能な装置２０４とから成る。
【００３６】
本発明の１つの実施態様では、８つの書込みヘッドのラインの後に、８つの読取りヘッドの平行なラインが続いている。各ヘッドは、読取りヘッドとしてか又は書込みヘッドとして動作するよう切換えが可能である。各ヘッドの状態はテープの方向が変わる毎に切換えられ、それによって確実に、読取りヘッドが常にヘッドを通過するテープの移動方向に対して書込みヘッドの「下流方向に（downstream）」あるようにする。本発明の第２の実施態様では、８つの書込みヘッドのラインは、８つの読取りヘッドの２つの平行なラインの間に配置されている。所与の書込みパスにおいてテープからデータを読取るのに使用される読取りヘッドは、その読取りヘッドが確実に、ヘッドを通過するテープの移動方向に関係なく、常に対応する書込みヘッドの下流方向にあるように、選択される。
【００３７】
図３を参照すると、テープに沿った単一のバンドのレイアウトが概略的に示されている。各バンドは、複数Ｍ個の読取り／書込みヘッドの１つを通過するテープの１つの書込みパス中に形成されるＮ個のトラック３０１のセットを有する。テープ始端（ＢＯＴ）からテープ終端（ＥＯＴ）までテープの長さ方向に沿って１つの書込みパスを記録した後、複数の読取り／書込みヘッドは、約２０μｍの距離だけテープの伸張方向に対して横方向に移動する。そして、データは、テープが前の書込みパスと反対の方向に移動することによって、テープに書込まれる。複数の読取り／書込みヘッドは、テープ３００〜３２０上の「ヘビのような（serpentine）」パスを追跡する。各連続した書込みパスの後、複数の読取り／書込みヘッドは、テープの主長さ方向に対して横方向に、約２０μｍの短い距離を更に移動する。
【００３８】
データのテープへの書込みプロセス中に、データが正確にテープに書込まれない可能性があるという危険がある。これは、例えば、テープのコーティングが引掻きによって損傷した場合等に起こる可能性がある。それが万一起こった場合、テープからデータを正確に回復することは不可能な場合が多い。
【００３９】
ここで示す最良の形態によれば、データは、読取り／書込みヘッドを通過するテープの同じパス中にテープに書込まれたすぐ後に、テープから読返される。このようにすると、テープに書込まれたデータの完全性は、書込まれるのと同時に実質的に確認することができる。１又は複数の読取り／書込みヘッドからのデータは、テープに書込まれる際に破損した場合、すべて検出され、そのデータは、テープの主長さ方向に沿った先の位置に再書込みすることができる。ここで最良の形態では、再書込みデータの読取り／書込みヘッドに提供される順序は、同じ再書込みデータに影響するテープの主長さ方向に沿った引掻きの影響を最小限にするために、順番に変えられる。
【００４０】
図４を参照すると、ユーザ・データを上述した複数の物理データ・トラックに記録する前に、そのユーザ・データをコード化するコード化方法が示されている。
【００４１】
ホスト装置コンピュータから供給されるデータは、ファイル・マークによって分離することができると共に、ここで示す最良の形態では２24−１バイトまでの長さを有する、可変長レコードの形式である。４バイトの巡回冗長検査（ＣＲＣ）が各レコードの終端に付加されており、それによって保護レコードを形成している。ステップ４００において、データ圧縮アルゴリズムは、保護レコードを圧縮して記号のストリームを生成する。ステップ４０１では、記号ストリームが、４０３８８４バイトのデータ・セットに区切られ、そこに、４６８バイトのデータ・セット情報テーブル（ＤＳＩＴ）が付加されて４０４３５２バイトのデータ・セットが形成される。ステップ４０２では、各データ・セットは、各々が２５２７２バイトである１６個のサブデータ・セットに分割され、各サブデータ・セットは、行および列に配列された５４×４６８バイトのマトリクスに配置される。ステップ４０３では、（２４０、２３４、７）のリード・ソロモン冗長コード化アルゴリズムが、各行の２３４の偶数バイトに適用されることにより、６個のＣ１誤り訂正コード（ＥＣＣ）バイトが生成される。これらのバイトは、その行の偶数のＣ１パリティ位置に配置される。そして、同じリード・ソロモン・コードが２３４の奇数バイトに適用され、その結果、６個のＣ１ＥＣＣバイトがその行の奇数Ｃ１パリティ位置に配置される。マトリクスの各行は、４８０バイトのインタリーブされたコードワード・ペアを含んでいる。偶数バイトは、そのコードワード・ペアの第１のコードワードを形成し、奇数バイトはそのコードワード・ペアの第２のコードワードを形成する。このため、Ｃ１パリティ情報の１２バイトは、５４×４６８バイトのマトリクスの各行に付加され、それによって１６のサブデータ・セットが形成される。ステップ４０４では、（６４、５４、１１）のリード・ソロモン・コードが、コードワード・ペア・マトリクスの各５４バイトの列に適用され、列毎に１０個のＣ２誤り訂正コード（ＥＣＣ）バイトが生成される。Ｃ２ＥＣＣの付加された１０バイトは、１０個の付加コードワード・ペアを形成する。その結果としての６４×４８０バイト・マトリクスは、各々が６４個のコードワード・ペアを含むＥＣＣコード化サブデータ・セットを形成する。ＥＣＣコード化データ・セットは、１６個の６４×４８０バイトＥＣＣコード化サブデータ・セットを含む４９１５２０バイトを含んでいる。各ＥＣＣコード化サブデータ・セットの各行は、４８０バイトのＥＣＣコード化コードワード・ペアである。このため、ＥＣＣコード化データ・セット毎に１０２４個のＥＣＣコード化コードワード・ペアがある。ステップ４０５において、また図５を参照すると、コードワード・ペア・ヘッダ５００、第１のコードワード・ペア５０１、第２のコードワード・ペア・ヘッダ５１０および第２のコードワード・ペア５１１を結合することにより、コードワード・クワッド（ＣＱ）が形成されている。コードワード・クワッドの第１および第２のコードワード・ペアは、ＥＣＣコード化サブデータ・セット２Ｒ、２Ｒ＋１の対応する行を含む（ここで、Ｒは０から７の値である）。例えば、１０番目のコードワード・クワッドは、サブ��ータ・セット・ナンバーが２の第１の行を含む第１のコードワード・ペアと、サブデータ・セット・ナンバーが３の第１の行を含む第２のコードワード・ペアとを有する。１６個のサブデータ・セットにおける１０２４個のコードワード・ペアは、各々が９６０バイトである５１２個のコードワード・クワッドを形成する。
【００４２】
ステップ４０６において、コードワード・クワッドは、複数の読取り／書込みヘッドの各々１つに割当てられる。ここで最良の形態では、コードワード・クワッドは、８個のＣＱのセットでテープに同時に書込まれる。ここで、例えば、８は、各々が対応する各物理テープ・トラックに割当てられている並行な読取り／書込みヘッドの数である。各セットの１つのＣＱは、書込みヘッドの１つにより並行して書込まれる。ＣＱのセットは、以下の式で決定される。
【００４３】
【数３】
0004397456.tif 000004
【００４４】
ここで、Set_NumberはＣＱのセットの数であり、CQ_Numberはそのセットに割当てられるコードワード・クワッドの数であり、N_Tは書込み動作中に同時に書込まれるトラックの数である。
【００４５】
各コードワード・クワッドは、特定のアクティブ・トラックに割当てられる。ここで、アクティブ・トラックは、複数の読取り／書込みヘッドのうちの１つによって現在書込みがなされているトラックである。アクティブ・トラックは、０から７まで番号付けされており、コードワード・クワッドは、以下の式を使用してトラック番号によって識別される特定のアクティブ・トラックに割当てられている。
【００４６】
【数４】
0004397456.tif 000005
【００４７】
ここで、CQ_Numberは、アクティブ・トラックに割当てられるコードワード・クワッドの数であって、０から５１１までの値を取ることができる。Mod関数は、モジュロ除算の整数剰余を返す。例えば、Mod[N,8]は、すべての整数値Nについて整数値０から７を返す。上記式は、本明細書の以下の記載において式（２）とする。
【００４８】
上記式（１）および（２）は、デフォルトの場合に使用される。デフォルトの場合とは、テープに破損して又は不完全に書込まれることにより再書込みされるＣＱセットがまったく無く、その結果が図５に例によって示すような書込みパターンとなる場合である。
【００４９】
図６を参照すると、８トラックが共に書込まれる例に関連しており、書込みエラーが起こっていない場合に、コードワード・クワッドがアクティブ・トラックにどのように分配されているかが示されている。図６において、トラックは垂直軸上で行として表されており、連続して書込まれるＣＱは、そのＣＱの数で水平軸上に表されている。上記式（２）を使用することにより、同じＣ２のコードワードからのＣ２記号が、使用可能なアクティブ・トラックに分配されたコードワード・クワッドに含まれていることが保証される。図６において、Ｃ２パリティ・コードワード・クワッドは、影付きのブロックによって表されている。コードワード・クワッドがアクティブ・トラックに割当てられると、テープに同時に書込まれる８個のコードワード・クワッドは、ＣＱセットとして（また論理トラック・ブロックとしても）識別される。そして、割当てられたコードワード・クワッドは、各コードワード・クワッド内の各コードワード・ペアに作用するデータ・ランダマイザ（randomizer）によって処理される。そして、ランダム化されたバイト・ストリームは、ラン・レングス制限符号化アルゴリズム（ＲＬＬ）によってコード化される。ＲＬＬコード化バイト・ストリームは、テープへの書込みの前に同期情報を有しており、同期したコードワード・クワッド（ＳＣＱ）を形成する。特定のＣ２コードワードについての記号を含むＣＱは、図６において影付きＣＱボックスとして示すように、テープ上の物理トラックに亙って対角線上に物理的に書込まれる。影付きボックスは、単一のＣ２コードワードからの記号を含む、テープに書込まれたＣＱを表す。
【００５０】
テープに書込まれたデータの完全性を維持するために、複数の読取り／書込みヘッドの各々は、そのデータがアクティブ・トラックに書込まれた直後に、そのトラックから読返すことができるように構成されている。読取りおよび書込み動作は、テープが読取り／書込みヘッドを通過するのと同時に起こる。
【００５１】
本発明の１つの態様によれば、テープへの書込みが不完全又は不良であったＣＱセットを再書込みする方法が提供される。この方法では、再書込みされたコードワード・クワッドが以前に書込みが不良であったデータと同じアクティブ・トラックに書込まれることが無いように、そのＳＣＱセット内のコードワード・クワッドの順序が循環（rotate）する。
【００５２】
図７を参照すると、読取り／書込みヘッドを通過するテープの同じパス中において、テープへの初期書込みの直後又はほぼ同時に、破損されたコードワードをテープに再書込みする汎用的なプロセス・ステップが概略的に図示されている。ステップ７００において、ユーザ・データは、上述したように、複数のコードワードに分割される。ステップ７０１において、コードワードは、上述したように、複数の書込みヘッドに分配される。ステップ７０２において、複数のコードワードは、テープ・データ記憶媒体上の複数の平行な物理トラックに同時に書込まれ、その結果、コードワードのシーケンスがテープに書込まれる。その例を、図６に示す。テープが読み出し／書込みヘッドを通過する際、コードワードはテープに連続して書込まれる。テープが読取り／書込みヘッドを通過する同一パス中に、テープへのコードワードの書込みと同時に、テープが読取りヘッドを通過する際に、ステップ７０３に示すように、最後に記録されたコードワードが、テープの、それらが記録されている複数の平行な物理トラックから並行して読取られる。ステップ７０４では、読出されたコードワードがテープに正確に記録されているかが検証される。検証プロセスの間に、テープから読取られたコードワードが書込みヘッドに送出されたコードワードと一致しない（すなわち、データが不完全に書込まれたか、又は何らかの理由でテープ上で破損した）と判断された場合、ステップ７０５において、破損又は不完全な書込みの影響を受けたコードワードが、複数のトラック上に再書込みされる。読取り動作中に書込みヘッドに新たなコードワードが与えられ、テープの動きが連続しているため、再書込みされるコードワードは、書込みヘッドによって書込まれている現コードワードと共にインタリーブされる。書込みヘッドに送信される信号は、現コードワードを含み、再書込みコードワードと共にインタリーブされる。現コードワードおよび再書込みコードワードのインタリーブは、テープに記録する前に現コードワードおよび再書込みコードワードを共にバッファリングすることによって、影響を受ける可能性がある。再書込みコードワードおよび現コードワードのインタリーブは、後述するように動作するマイクロプロセッサによる動作アルゴリズムに従って配置された、データ記憶装置のバッファ内で発生する。
【００５３】
図８を参照すると、ＣＱセットを複数のトラックに書込み、データが正確に書き込まれているか検証し、書込みが不良であったＣＱセットを再書込みするステップが示されている。ステップ８０１において、１つのＣＱセットを構成するコードワード・クワッドが、本明細書の式（２）を用いて特定のアクティブ・トラックに割当てられる。ステップ８０２において、論理トラック・ブロックを含むコードワード・クワッドが、テープに書込まれる。ステップ８０３において、論理トラック・ブロックがテープから読返される。ステップ８０４において、テープから読取られたデータについて完全性がチェックされる。データをテープに書込む際にエラーが発生していない場合、次のコードワード・クワッドがアクティブ・トラックに割当てられ、ステップ８０２、８０４が繰返される。しかしながら、書込みエラーが発生した場合、ステップ８０５において、キャラクタＷが１インクリメントされる。ステップ８０６において、ステップ８０２でテープに書込まれた元のコードワード・クワッドが、Ｗで表されるカウンタのインクリメントされた値を用いて、式（３）により、新たなアクティブ・トラックに割当てられる。再度順序付けされたデータは、ステップ８０２においてテープに再書込まれ、ステップ８０３および８０４が繰返される。
【００５４】
各ＣＱセットは、複数回再書込みすることができる。この例では、単一のデータ・セット内の再書込みされるＣＱセットの最大数は、１２８である。ＣＱセットが再書込みされた時、元のバージョンと再書込みされたバージョンとの間で書込まれたＣＱセットはいずれも、以下の条件の１つがあてはまらない限り、再書込みされる必要はない。すなわち、
・それら自体が記録された時にエラーが検出された。
【００５５】
・それらのデータ・セット・ナンバーが、再書込みされているＣＱセットのデータ・セット・ナンバーより大きい。
【００５６】
という条件である。
【００５７】
ＣＱセットを記録している時に書込み時読取りの検証によりエラーが検出された場合、そのＣＱセットはテープの更に先に再書込みされる。元の書込みが不良であったＣＱセットは、テープに書込まれたまま残る（すなわち、テープは、書込みが不完全又は不良であったデータの上に再記録するために巻戻されないが、テープのパスは途切れずに連続し、破損されたデータＣＱは再書込みされる）。ここで示す特定の例では、わずかに６つの他のＣＱセットが、エラーが検出された場所とエラーのあるＣＱセットが再書込みされた時との間で、書込まれる。書込みが不良であったＣＱセットおよびその再書込みされたバージョンとの間に書込まれた他のＣＱセットの数は、読取り／書込みヘッドの正確な物理的構成によって決まる。中間的なＣＱセットの数もまた、装置の読取り／書込みハードウエアに固有の待ち時間によって決まる。
【００５８】
書込みエラーが検出されることにより、ＣＱセットについて記録中の読取りが繰返される場合、エラーが発生する影響されたＣＱセット内のＣＱは、トラックを循環し、それによってそれらが書込まれた前の時間と同じトラックには現れない。
【００５９】
そのような循環を行うために、ＳＣＱセット内の各コードワード・クワッドのトラック・ナンバーは、以下の式で与えられる。
【００６０】
【数５】
0004397456.tif 000006
【００６１】
ここで、Wは任意であるが、同じＳＣＱセットの連続した書込み間で異なる数であり、Wは整数０からM-1のシーケンスを通して循環するキャラクタの状態を表す。なお、Mは同時に書込みが可能なアクティブ・トラックの数を表す。
【００６２】
図９を参照すると、多数のＣＱセットが、それらが書込まれている間にエラーが検出されたために再書込みされるような循環の例が示されている。表記Ｋ×は、ＣＱセットＫの書込み中にエラーが検出されたことを示す。表記Ｋ’は、ＣＱセットＫが１回再書込みされたことを示す。表記Ｋ”は、ＣＱセットＫが２回再書込みされたことを示す等である。Ｎは、データ・セット内の上述したセット・ナンバーである。物理トラック０〜７は図９で行として表されており、書込まれたＣＱセットは水平に伸びるＷの数で表される。
【００６３】
再度図２を参照すると、間違って書込まれ、そして上述した方法により再書込みされたコードワード・クワッドのセットが記録されたデータ記録媒体は、テープの長さ方向に沿った第１の位置に書込まれた第１の論理トラック・ブロックを含むコードワード・クワッドのセットを含んでいる。上記複数のコードワードは、同様に上記テープに沿った先の第２の位置に再書込みされた第１の論理トラック・ブロックを含み、上記第２の位置では、上記コードワード・クワッドは上記式（３）により物理トラック２１０〜２１７のセット間で再度順序付けされる。上述した方法により磁気テープに記録されたデータを読取るには、複数の読取りヘッドを通過する細長いテープをパスすることが含まれる。それにより、論理トラック・ブロックのすべてのコードワード・クワッドは、同時に読取られる。誤って書込まれたコードワード・クワッドが検出された場合、データは、テープの先に再記録された同じ論理トラック・ブロックから、上記式（３）によって決定される第２の順序で回復する。
【００６４】
以下においては、本発明の種々の構成要件の組み合わせからなる例示的な実施態様を示す。
【００６５】
１．データ記憶媒体にデータを書込む方法であって、
前記データを複数のコードワードに分割するステップ（４０５、７００）と、前記コードワードを同じ複数の書込みヘッドに分配させるステップ（７０１）と、
前記コードワードを、前記データ記憶媒体の同じ複数の物理トラックにほぼ同時に書込む書込み動作を実行するステップ（７０２）と、
前記複数の物理トラックから前記コードワードを読取る読取り動作を実行するステップ（７０３）と、
前記複数の物理トラックから読取られた前記コードワードがエラーを含む場合、前記データ記憶媒体に初めに書込まれていた前記コードワードを、前記複数の書込みヘッドに異なる順序で再分配させるステップ（７０４）と、
前記再分配したコードワードを、前記データ記憶媒体の同じ複数の物理トラックに再書込みする再書込み動作を実行するステップ（７０５）とから成ることを特徴とする方法。
【００６６】
２．前記データ記憶媒体が、細長いテープを含み、前記書込み動作が、前記テープの長さ方向に沿った書込みパスを含む、上記１の方法。
【００６７】
３．コードワードを複数の書込みヘッドに分配させる前記ステップが、前記複数の書込みヘッドに複数のコードワード・クワッドを分配させるステップを含む、上記１又は２の方法。
【００６８】
４．前記複数の書込みヘッドに前記コードワード・クワッドを分配させる前記ステップが、
複数のコードワード・クワッドの各々を、対応する前記書込みヘッドに割当てるステップを含む、上記３の方法。
【００６９】
５．前記複数のコードワードが、複数のコードワード・クワッドに配置され、書込み動作を実行する前記ステップが、複数のコードワード・クワッドを、前記書込みヘッドにより前記データ記憶媒体に同時に書込むステップを含む、上記１の方法。
【００７０】
６．前記複数のコードワード・クワッドが、前記データ記憶媒体へ同時に書込むために、論理トラック・ブロックに配置され、前記論理トラック・ブロック内の個々の前記コードワード・クワッドの位置を整数で示す、上記４又は５の方法。
【００７１】
７．前記コードワードが複数のコードワード・クワッドに配置され、
同時に書込まれるべき複数の前記コードワード・クワッドが、論理トラック・ブロックに配置され、
前記論理トラック・ブロック各々の前記コードワード・クワッドが、前記複数の書込みヘッドの対応するものに、第１の順序で割当てられ、
前記データ記憶媒体に一旦書込まれた前記コードワード・クワッドにエラーが検出された場合、前記論理トラック・ブロックの前記コードワード・クワッドが前記書込みヘッドに前記異なる順序で再割当てされる、上記１の方法。
【００７２】
８．前記論理トラック・ブロック内の前記コードワード・クワッドの位置を整数で表す、上記７の方法。
【００７３】
９．前記論理トラック・ブロックの前記コードワード・クワッドの各々が、前記複数の書込みヘッドの個々のものに対応させられる、上記７の方法。
【００７４】
１０．前記第１の順序が、以下の式で決定される、上記７の方法。
【００７５】
【数６】
0004397456.tif 000007
【００７６】
ここで、Track_Numberは論理トラック・ブロックの要素の数を表し、CQ_Numberは４つのコードワードのセットの数を表し、Modはモジュロ除算の整数の剰余を表し、N_Tは同時に書込みがなされるトラックの数を表す。
【００７７】
１１．前記異なる順序が、以下の式で決定される上記１から１０のいずれかの方法。
【００７８】
【数７】
0004397456.tif 000008
【００７９】
ここで、Track_Numberは論理トラック・ブロックの要素の数を表し、CQ_Numberは４つのコードワードのセットの数を表し、Modはモジュロ除算の整数の剰余を表し、Wは整数０からM-1までのシーケンスを循環するキャラクタの状態を表し（Mは同時に書込むことができるアクティブ・トラックの数を表す）、N_Tは同時に書込みがなされるトラックの数を表す。
【００８０】
１２．前記データ記憶媒体が、磁気データ記憶媒体を含む、上記１から１１のいずれかの方法。
【００８１】
１３．少なくとも１つの読取り要素と少なくとも１つの書込み要素とを含むデータ記憶装置であって、データ記憶媒体へデータを書込むことができる手段（２０１、２０２）と前記データ記憶媒体から前記書込まれたデータを読取ることができる手段（２０３、２０４）とを含むことを特徴とし、
前記書込み手段が、前記データを複数のコードワードに分割するよう動作可能で、
前記書込み手段が、前記コードワードを同じ複数の書込みヘッド（２２０〜２２７）に分配させるよう動作可能で、
前記書込み手段が、前記コードワードを、前記データ記憶媒体の同じ複数の物理トラック（２１０〜２１７）にほぼ同時に書込む書き込み動作を実行するよう動作可能で、
前記読取り手段が、前記複数の物理トラックから前記コードワードを読取る読取り動作を実行するよう動作可能で、
前記複数のトラックから読取られた前記コードワードが不完全である場合、前記データ記憶媒体に初めに書込まれていた前記コードワードを、前記複数の書込みヘッドに異なる順序で再分配させるよう動作可能で、
前記再分配したコードワードを、前記データ記憶媒体の同じ複数の物理トラックに再書込みする再書込み動作を実行するよう動作可能である、データ記憶装置。
【００８２】
１４．データ記憶媒体に記録されたデータを読取ることができる装置であって、前記データが複数のコードワードを含み、前記コードワードが前記データ記憶媒体の複数のトラック・ブロックに書込まれており、前記トラック・ブロックの各々が、前記データ記憶媒体にほぼ同時に書込まれた複数のコードワードを含み、
第１の論理トラック・ブロックに属している複数のコードワードが、第１の順序でトラックのセットに書込まれ、
前記複数のコードワードが、前記論理トラック・ブロックが占める前記第１の位置に誤って書込まれている場合、前記複数のコードワードが、前記複数のトラックの第２の位置に、第２の順序で、前記複数のトラックに書込まれる、装置。
【００８３】
【発明の効果】
本発明により、データの書込みが改良され、データ記憶装置の信頼性が向上する。
【図面の簡単な説明】
【図１】本発明の特定の方法による、磁気テープ材料の細長いバンドに対し読取り／書込みヘッドがとる複数のパスを概略的に示す図である。
【図２】データのストリームを複数の書込みヘッドに分配させ、そのデータを磁気テープのデータ記憶媒体に書込むよう構成された装置の全体を概略的に示す図である。
【図３】本発明の特定の方法による、磁気テープのデータ記憶媒体に記録された複数の物理データのトラックを含むバンド群のレイアウトを概略的に示す図である。
【図４】本発明の特定の実施態様による、ホスト装置から磁気テープのデータ記憶媒体へのデータのバイト・ストリームを、冗長コード化および記録するプロセスを概略的に示す図である。
【図５】本発明の特定の実施態様による、ホスト装置からのプロセス・データの単一ブロックのレイアウトを、それが磁気テープ記憶媒体のトラックに割当てられる形式で概略的に示す図である。
【図６】本発明の特定の実施態様により、完全なデータ・セットのプロセス・コードワードが、磁気テープ記憶媒体の複数のトラックにどのように割当てられているかを概略的に示す図である。
【図７】データをデータ記憶媒体に書込み、そのデータ書込み動作中に、破損されたか又は不正確に書込まれたデータを再書込みする汎用化したプロセス・ステップを概略的に示す図である。
【図８】本発明の特定の実施態様により、データをテープに書込み、そのデータが正確に書き込まれたかを検証し、破損データを再書込みするステップを概略的に示す図である。
【図９】本発明の特定の実施態様により、不良ブロックがテープに書込まれているテープ記憶媒体のトラックに、コードワードをどのように割当てるかの例を概略的に示す図である。
【符号の説明】
２１０〜２１７  物理トラック
２２０〜２２７  書込みヘッド
【図１】
0004397456.tif 000011
【図２】
0004397456.tif 000012
【図３】
0004397456.tif 000013
【図４】
0004397456.tif 000014
【図５】
0004397456.tif 000015
【図６】
0004397456.tif 000016
【図７】
0004397456.tif 000017
【図８】
0004397456.tif 000018
【図９】
0004397456.tif 000019