JP5460734B2 - 待ち時間の間に複数の符号語セットを記録する - Google Patents

待ち時間の間に複数の符号語セットを記録する Download PDF

Info

Publication number
JP5460734B2
JP5460734B2 JP2011544826A JP2011544826A JP5460734B2 JP 5460734 B2 JP5460734 B2 JP 5460734B2 JP 2011544826 A JP2011544826 A JP 2011544826A JP 2011544826 A JP2011544826 A JP 2011544826A JP 5460734 B2 JP5460734 B2 JP 5460734B2
Authority
JP
Japan
Prior art keywords
logic
read
magnetic tape
instance
data
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.)
Active
Application number
JP2011544826A
Other languages
English (en)
Other versions
JP2012514824A (ja
Inventor
セガール、ポール
ベントレイ、スティーブン、ロス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2012514824A publication Critical patent/JP2012514824A/ja
Application granted granted Critical
Publication of JP5460734B2 publication Critical patent/JP5460734B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/008Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires
    • G11B5/00813Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/008Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Digital Magnetic Recording (AREA)

Description

本発明は、一般にテープ媒体にデータを記録することに関し、具体的には、データの読み返し過程で符号語対を修復する確率を向上することに関する。
テープ媒体へのデータの従来の記録方式では、テープに書き込まれる最小単位はデータ・セットである。データ・セットは、ユーザ・データおよび該データ・セットについての制御情報の2種類のデータを含み、後者はデータ・セット情報テーブル(DSIT:Data Set Information Table)の中にある。エラーまたは欠陥に起因するデータ喪失を最小化するため、全てのデータはエラー訂正符号(ECC:error correction code)で保護されている。データ・セットは、いくつかのサブ・データ・セットを含み、その各々は行に配置されたデータを包含する。サブ・データ・セットの行には、ユーザ・データまたはDSITを含めることができる。図1に示されるように、各行は、交互配置された2つのバイトのシーケンスから成る。第一レベルECC(C1 ECC)は各行の偶数バイトおよび奇数バイトに対し別々に計算される。得られたC1 ECC偶数および奇数パリティ・バイトは、対応する行にこれも交互的配置で付加される。このECC保護された行が、符号語対(CWP:Codeword Pair)である。偶数バイト群は偶数C1符号語を形成し、奇数バイト群は奇数C1符号語を形成する。各々の列に対し第二レベルECC(C2 ECC)が計算され、得られたC2 ECCパリティ・バイトは対応する列に付加される。このECC保護された列がC2符号語である。
C1およびC2 ECCによってかく保護される場合、該サブ・データ・セットが、テープに書き込まれるECC保護された最小単位となる。各サブ・データ・セットはECCに関しては独立している、すなわち、あるサブ・データ・セットのエラーはそのサブ・データ・セットに影響するだけである。どのECCアルゴリズムのパワーも、パリティ・バイトの数に依存しその訂正能力によって表される。例えば、あるC1符号語に対し計算されたC1 ECCパリティ・バイトの所与の数に対し、その符号語中のK1個までのエラー訂正することができる。また、あるC2符号語に対し計算されたC2 ECCパリティ・バイトの所与の数に対し、そのC2符号語中のK2個までのエラー訂正することができる。
同一のサブ・データ・セット中の多数のエラーがC1またはC2の訂正能力を圧倒し、データを読み取るときにエラーが生じる程度までに至り得ることはよく分かるであろう。エラーは、小さな粒子または小さな媒体欠陥など、非常に小さな事象によって起こり得る。また、エラーは、擦り傷、トラッキング・エラー、または機械的原因などのより大きな事象によっても起こり得る。
単一の大きなエラーが、単一サブ・データ・セット中の複数の符号語に与える影響を軽減するために、一部の書き込み方法では、各サブ・データ・セットからの符号語群をテープ表面沿いおよび横方向にできるだけ離して配置する。従って、単一のエラーで、ECC訂正能力が圧倒されるには、同一のサブ・データ・セットからの符号語群の多くに影響がなければならないことになる。サブ・データ・セットからの符号語の空間的分離はリスクを低減し、マルチトラック記録フォーマットに対しては以下のやり方で達成される。すなわち、同時に記録されるトラックのセットの各トラックに対し、一つのサブ・データ・セットからの符号語対を異なるサブ・データ・セットからの符号語対と組み合わせて符号語カッド(CQ:Codeword Quad)が形成される。得られたCQは、複数の記録トラックの一つに書き込まれる。同様な仕方で、全てが相異なるサブ・データ・セットからの符号語対を組み合わせて、残りの全トラックに対するCQが形成される。これら同時に書き込まれるCQの群はCQセットと呼ばれる。
例えば、16トラック記録フォーマットでは、CQセットには16のCQがあり、32の符号語対が含まれている。データ・セット中に64のサブ・データ・セットがあるとし、所与のサブ・データ・セットからの第二の符号語対の記録が必要となる前に、2つのCQセットを記録することができるとする。図2は、テープ上に記録されたデータ・セットの一部を示す。影付きのセルは、同一のサブ・データ・セットから取られた8つの符号語対に対する行番号を示す。矢印線200は、符号語対のトラック沿いの縦方向の分離を示し、矢印線202はトラックをまたぐ横方向の分離を示す。よく分かるように、大きな欠陥が、いずれか一つのサブ・データ・セットのECCを圧倒するには、それが複数の影付きセルに及ばなければならないことになる。
本発明は、磁気テープにデータを書き込むための方法、磁気テープ・ドライブ、記録システム・ロジック、およびコンピュータ・プログラムを提供する。
上記の方法は、ホストからデータを受信するステップと、サブ・データ・セットを設定するステップと、C1およびC2 ECCを計算するステップと、符号語カッド(CQ)を形成するステップと、開始データ・セット・セパレータ(DSS:Data Set Separator)を磁気テープに書き込むステップと、CQセットの複数の連続インスタンスを磁気テープに書き込むステップと、終了DSSを書き込むステップと、を含む。本発明は、磁気テープにデータを書き込むための、プログラム可能コントローラに可用で内部に具現されたコンピュータ可読プログラム・コードを有する、コンピュータ可読媒体のコンピュータ・プログラム製品をさらに含む。該コンピュータ・プログラム製品は、コントローラに前述のステップを遂行させる、コンピュータ可読プログラム・コードを含む。
また、本発明は、磁気テープにデータを書き込むための磁気テープ・ドライブを提供する。該テープ・ドライブは、ホストとデータおよび命令をやり取りするためのインタフェースと、磁気テープにデータを記録するための書き込みヘッドと、書き込みヘッドによって記録されるデータを処理するための書き込みチャネルと、磁気テープからデータを読み取るための読み取りヘッドと、読み取りヘッドによって読み取られたデータを処理するための読み取りチャネルと、磁気テープを、読み取りおよび書き込みヘッドを通過させて縦方向に移送する少なくとも一つの駆動モータと、を含む。該テープ・ドライブは、上記インタフェース、書き込みヘッド、書き込みチャネル、読み取りヘッド、読み取りチャネル、および少なくとも一つの駆動モータを制御するためこれらに連結されたコントローラをさらに含む。該コントローラは、ホストから受信されたデータからサブ・データ・セットを設定し、C1およびC2 ECCを計算し、CQセットを形成し、書き込みヘッドによって磁気テープに記録される開始DSSを生成し、書き込みヘッドにCQセットの複数の連続インスタンスを磁気テープに書き込むよう命令し、書き込みヘッドによって磁気テープに記録される終了DSSを生成する。
さらに、本発明は、磁気テープにデータを書き込むための記録システム・ロジックを提供する。該記録システム・ロジックは、ホストとデータおよび命令をやり取りするためのインタフェースと、磁気テープにデータを記録するための書き込みヘッドと、書き込みヘッドによって記録されるデータを処理するための書き込みチャネルと、磁気テープからデータを読み取るための読み取りヘッドと、読み取りヘッドによって読み取られたデータを処理するための読み取りチャネルと、磁気テープを、読み取りおよび書き込みヘッドを通過させて縦方向に移送する少なくとも一つの駆動モータと、を含む。また、該記録システム・ロジックは、上記インタフェース、書き込みヘッド、書き込みチャネル、読み取りヘッド、読み取りチャネル、および少なくとも一つの駆動モータを制御するためこれらに連結されたコントローラを含む。該コントローラは、ホストから受信されたデータからサブ・データ・セットを設定するためのロジックと、サブ・データ・セットに対するC1およびC2 ECCを計算するためのロジックと、CQセットを形成するためのロジックと、磁気テープに記録される開始DSSを生成するためのロジックと、CQセットの複数の連続インスタンスを磁気テープに記録するためのロジックと、終了DSSを磁気テープに記録するためのステップと、を含む。
第一態様から見れば、本発明は、ホストからデータを受信するステップと、サブ・データ・セットを設定するステップと、C1およびC2 ECCを計算するステップと、符号語カッド(CQ)セットを形成するステップと、開始データ・セット・セパレータ(DSS)を磁気テープに書き込むステップと、CQセットの複数の連続インスタンスを磁気テープに書き込むステップと、終了DSSを書き込むステップとを含む、磁気テープにデータを書き込む方法を提供する。
望ましくは、本発明は、CQセットの複数の連続インスタンスを書き込むステップが、CQセットの第一インスタンスを書き込むステップと、CQセットの第一インスタンスが読み取り照合されているかどうかを判定するステップと、CQセットの第一インスタンスが読み取り照合されていない場合は、CQセットの別のインスタンスを書き込んで、上記判定ステップに戻るステップと、CQセットの第一インスタンスが読み取り照合されている場合は、CQセットの第一インスタンス中にエラーが検出されているかどうかを確認するステップと、エラーが検出されている場合にあっては、CQセットを書き換えて、上記判定ステップに戻るステップと、エラーが検出されていない場合にあっては、終了DSSを書き込むステップとを含む、方法を提供する。
望ましくは、本発明は、CQセットのインスタンス群を磁気テープの複数のトラックに亘って横方向に分離するステップをさらに含む方法を提供する。
望ましくは、本発明は、CQセットの複数の連続インスタンスを書き込むステップが、CQセットの第一インスタンスを書き込むステップと、ホストに「記録完了」信号を送信するステップと、ホストから新しいデータが着信しているかどうかを判定するステップと、ホストから新しいデータが着信していない場合は、CQセットの別のインスタンスを書き込んで、上記判定ステップに戻るステップと、ホストから新しいデータが着信している場合は、終了DSSを書き込むステップとを含む、方法を提供する。
望ましくは、本発明は、CQセットのインスタンス群を磁気テープの複数のトラックに亘って循環的に横方向に分離するステップをさらに含む方法を提供する。
望ましくは、本発明は、CQセットの複数の連続インスタンスを書き込むステップが、CQセットの第一インスタンスが読み取り照合されているかどうかを判定するステップと、CQセットの第一インスタンスが読み取り照合されていない場合は、CQセットの別のインスタンスを書き込んで、上記判定ステップに戻るステップと、CQセットの第一インスタンスが読み取り照合されている場合は、CQセットの第一インスタンス中にエラーが検出されているかどうかを確認するステップと、エラーが検出されている場合にあっては、CQセットを書き換えて、最初の判定ステップに戻るステップと、エラーが検出されていない場合にあっては、ホストに「記録完了」信号を送信するステップと、ホストから新しいデータが着信しているかどうかを判定するステップと、ホストから新しいデータが着信していない場合は、CQセットの別のインスタンスを書き込んで、二番目の判定ステップに戻るステップと、ホストから新しいデータが着信している場合は、終了DSSを書き込むステップとを含む、方法を提供する。
望ましくは、本発明は、CQセットのインスタンス群を磁気テープの複数のトラックに亘って循環的に横方向に分離するステップをさらに含む方法を提供する。
別の態様から見れば、本発明は、ホストとデータおよび命令をやり取りするためのインタフェースと、磁気テープにデータを記録するための書き込みヘッドと、書き込みヘッドによって記録されるデータを処理するための書き込みチャネルと、磁気テープからデータを読み取るための読み取りヘッドと、読み取りヘッドによって読み取られたデータを処理するための読み取りチャネルと、磁気テープを、読み取りおよび書き込みヘッドを通過させて縦方向に移送する少なくとも一つの駆動モータと、上記インタフェース、書き込みヘッド、書き込みチャネル、読み取りヘッド、読み取りチャネル、および少なくとも一つの駆動モータを制御するためこれらに連結されたコントローラとを含む、磁気テープにデータを書き込むための磁気テープ・ドライブを提供し、該コントローラは、ホストから受信されたデータからサブ・データ・セットを設定し、C1およびC2 ECCを計算し、符号語カッド(CQ)セットを形成し、書き込みヘッドによって磁気テープに記録される開始データ・セット・セパレータ(DSS)を生成し、書き込みヘッドに、CQセットの複数の連続インスタンスを磁気テープに記録するよう命令し、書き込みヘッドによって磁気テープに記録される終了DSSを生成するよう作動する。
望ましくは、本発明は、コントローラが、書き込みヘッドに対しCQセットの複数の連続インスタンスを磁気テープに書き込むよう命令するときに、書き込みヘッドにCQセットの第一インスタンスを記録するよう命令し、CQセットの第一インスタンスが読み取り照合されているかどうかを判定し、CQセットの第一インスタンスが読み取り照合されていない場合は、書き込みヘッドにCQセットの別のインスタンスを記録するよう命令して、上記判定ステップに戻り、CQセットの第一インスタンスが読み取り照合されている場合は、CQセットの第一インスタンス中にエラーが検出されているかどうかを確認し、エラーが検出されている場合にあっては、書き込みヘッドにCQセットを記録し直すよう命令して、上記判定ステップに戻り、エラーが検出されていない場合にあっては、書き込みヘッドに終了DSSを記録するよう命令するようさらに作動する、磁気テープ・ドライブを提供する。
望ましくは、本発明は、コントローラが、CQセットのインスタンス群を磁気テープの複数のトラックに亘って横方向に分離するようさらに作動する、磁気テープ・ドライブを提供する。
望ましくは、本発明は、コントローラが、書き込みヘッドに対しCQセットの複数の連続インスタンスを記録するよう命令するときに、書き込みヘッドにCQセットの第一インスタンスを記録するよう命令し、ホストに「記録完了」信号を送信し、ホストから新しいデータが着信しているかどうかを判定し、ホストから新しいデータが着信していない場合は、書き込みヘッドにCQセットの別のインスタンスを記録するよう命令して、上記判定ステップに戻り、ホストから新しいデータが着信している場合は、書き込みヘッドに終了DSSを記録するようにさらに作動する、磁気テープ・ドライブを提供する。
望ましくは、本発明は、コントローラが、CQセットのインスタンス群を磁気テープの複数のトラックに亘って横方向に分離するようさらに作動する、磁気テープ・ドライブを提供する。
望ましくは、本発明は、コントローラが、書き込みヘッドに対しCQセットの複数の連続インスタンスを記録するよう命令するときに、CQセットの第一インスタンスが読み取り照合されているかどうかを判定し、CQセットの第一インスタンスが読み取り照合されていない場合は、書き込みヘッドにCQセットの別のインスタンスを記録するよう命令して、上記判定ステップに戻り、CQセットの第一インスタンスが読み取り照合されている場合は、CQセットの第一インスタンス中にエラーが検出されているかどうかを確認し、エラーが検出されている場合にあっては、書き込みヘッドにCQセットを記録し直すよう命令して、最初の判定ステップに戻り、エラーが検出されていない場合にあっては、ホストに「記録完了」信号を送信し、ホストから新しいデータが着信しているかどうかを判定し、ホストから新しいデータが着信していない場合は、書き込みヘッドにCQセットの別のインスタンスを記録するよう命令して、二番目の判定ステップに戻り、ホストから新しいデータが着信している場合は、書き込みヘッドに終了DSSを記録するよう命令するようにさらに作動する、磁気テープ・ドライブを提供する。
望ましくは、本発明は、コントローラが、CQセットのインスタンス群を磁気テープの複数のトラックに亘って横方向に分離するようさらに作動する、磁気テープ・ドライブを提供する。
別の態様から見れば、本発明は、磁気テープにデータを書き込むための記録システム・ロジックを提供し、該記録システム・ロジックは、ホストとデータおよび命令をやり取りするためのインタフェースと、磁気テープにデータを記録するための書き込みヘッドと、書き込みヘッドによって記録されるデータを処理するための書き込みチャネルと、磁気テープからデータを読み取るための読み取りヘッドと、読み取りヘッドによって読み取られたデータを処理するための読み取りチャネルと、磁気テープを、読み取りおよび書き込みヘッドを通過させて縦方向に移送する少なくとも一つの駆動モータと、上記インタフェース、書き込みヘッド、書き込みチャネル、読み取りヘッド、読み取りチャネル、および少なくとも一つの駆動モータを制御するためこれらに連結されたコントローラとを含み、該コントローラは、ホストから受信されたデータからサブ・データ・セットを設定するためのロジックと、サブ・データ・セットに対するC1およびC2 ECCを計算するためのロジックと、符号語カッド(CQ)セットを形成するためのロジックと、磁気テープに記録される開始データ・セット・セパレータ(DSS)を生成するためのロジックと、CQセットの複数の連続インスタンスを磁気テープに記録するためのロジックと、終了DSSを磁気テープに記録するためのロジックと、を含む。
望ましくは、本発明は、CQセットの複数の連続インスタンスを磁気テープに記録するためのロジックが、CQセットの第一インスタンスを記録するためのロジックと、CQセットの第一インスタンスが読み取り照合されているかどうかを判定するためのロジックと、CQセットの第一インスタンスが読み取り照合されていない場合は、CQセットの別のインスタンスを記録するためのロジック、および上記判定ステップに戻るためのロジックと、CQセットの第一インスタンスが読み取り照合されている場合には、CQセットの第一インスタンス中にエラーが検出されているかどうかを確認するためのロジックと、エラーが検出されている場合にあっては、CQセットを記録し直すためのロジック、および上記判定ステップに戻るためのロジックと、エラーが検出されていない場合にあっては、終了DSSを記録するためのロジックとを含む、記録システム・ロジックを提供する。
望ましくは、本発明は、CQセットのインスタンス群を磁気テープの複数のトラックに亘って横方向に分離するためのロジックをさらに含む記録システム・ロジックを提供する。
望ましくは、本発明は、CQセットの複数の連続インスタンスを記録するためのロジックが、CQセットの第一インスタンスを記録するためのロジックと、ホストに「記録完了」信号を送信するためのロジックと、ホストから新しいデータが着信しているかどうかを判定するためのロジックと、ホストから新しいデータが着信していない場合は、CQセットの別のインスタンスを記録するためのロジック、および上記判定ステップに戻るためのロジックと、ホストから新しいデータが着信している場合は、終了DSSを記録するためのロジックとを含む、記録システム・ロジックを提供する。
望ましくは、本発明は、CQセットのインスタンス群を磁気テープの複数のトラックに亘って横方向に分離するためのロジックをさらに含む記録システム・ロジックを提供する。
望ましくは、本発明は、CQセットの複数の連続インスタンスを記録するためのロジックが、CQセットの第一インスタンスが読み取り照合されているかどうかを判定するためのロジックと、CQセットの第一インスタンスが読み取り照合されていない場合は、CQセットの別のインスタンスを記録して、上記判定ステップに戻るためのロジックと、CQセットの第一インスタンスが読み取り照合されている場合は、CQセットの第一インスタンス中にエラーが検出されているかどうかを確認するためのロジックと、エラーが検出されている場合にあっては、CQセットを記録し直すためのロジック、および最初の判定ステップに戻るためのロジックと、エラーが検出されていない場合にあっては、ホストに「記録完了」信号を送信するためのロジックと、ホストから新しいデータが着信しているかどうかを判定するためのロジックと、ホストから新しいデータが着信していない場合は、CQセットの別のインスタンスを記録して、二番目の判定ステップに戻るためのロジックと、ホストから新しいデータが着信している場合は、終了DSSを記録するためのロジックとを含む、記録システム・ロジックを提供する。
望ましくは、本発明は、CQセットのインスタンス群を磁気テープの複数のトラックに亘って循環的に横方向に分離するためのロジックをさらに含む記録システム・ロジックを提供する。
別の態様から見れば、本発明はプログラム可能コントローラで可用なコンピュータ可読媒体のコンピュータ・プログラム製品を提供し、該コンピュータ・プログラム製品は、その中に具現された、磁気テープにデータを書き込むためのコンピュータ可読プログラムを有し、該コンピュータ・プログラム製品は、コントローラにホストからのデータを受信させるコンピュータ可読プログラム・コードと、コントローラにサブ・データ・セットを設定させるコンピュータ可読プログラム・コードと、コントローラにC1およびC2 ECCを計算させるコンピュータ可読プログラム・コードと、コントローラに符号語カッド(CQ)セットを形成させるコンピュータ可読プログラム・コードと、コントローラに開始データ・セット・セパレータ(DSS)を磁気テープに書き込ませるコンピュータ可読プログラム・コードと、コントローラにCQセットの複数の連続インスタンスを磁気テープに書き込ませるコンピュータ可読プログラム・コードと、コントローラに終了DSSを書き込ませるコンピュータ可読プログラム・コードと、を含む。
望ましくは、本発明は、コントローラにCQセットの複数の連続インスタンスを書き込ませるコンピュータ可読プログラム・コードが、コントローラにCQセットの第一インスタンスを書き込ませるコンピュータ可読プログラム・コードと、コントローラにCQセットの第一インスタンスが読み取り照合されているかどうかを判定させるコンピュータ可読プログラム・コードと、CQセットの第一インスタンスが読み取り照合されていない場合は、コントローラにCQセットの別のインスタンスを書き込ませるコンピュータ可読プログラム・コード、およびコントローラを上記判定ステップに戻らせるコンピュータ可読プログラム・コードと、CQセットの第一インスタンスが読み取り照合されている場合は、コントローラにCQセットの第一インスタンス中にエラーが検出されているかどうかを確認させるコンピュータ可読プログラム・コードと、エラーが検出されている場合にあっては、コントローラにCQセットを書き換えさせるコンピュータ可読プログラム・コード、およびコントローラを上記判定ステップに戻らせるコンピュータ可読プログラム・コードと、エラーが検出されていない場合にあっては、コントローラに終了DSSを書き込ませるコンピュータ可読プログラム・コードとを含む、コンピュータ・プログラム製品を提供する。
望ましくは、本発明は、コントローラに、CQセットのインスタンス群を磁気テープの複数のトラックに亘って横方向に分離させるコンピュータ可読プログラム・コードをさらに含むコンピュータ・プログラム製品を提供する。
望ましくは、本発明は、コントローラにCQセットの複数の連続インスタンスを書き込ませるコンピュータ可読プログラム・コードが、コントローラにCQセットの第一インスタンスを書き込ませるコンピュータ可読プログラム・コードと、コントローラに、ホストに「記録完了」信号を送信させるコンピュータ可読プログラム・コードと、コントローラにホストから新しいデータが着信しているかどうかを判定させるコンピュータ可読プログラム・コードと、ホストから新しいデータが着信していない場合は、コントローラにCQセットの別のインスタンスを書き込ませるコンピュータ可読プログラム・コード、およびコントローラを上記判定ステップに戻らせるコンピュータ可読プログラム・コードと、ホストから新しいデータが着信している場合は、コントローラに終了DSSを書き込ませるコンピュータ可読プログラム・コードとを含む、コンピュータ・プログラム製品を提供する。
望ましくは、本発明は、コントローラに、CQセットのインスタンス群を磁気テープの複数のトラックに亘って横方向に分離させるコンピュータ可読プログラム・コードをさらに含むコンピュータ・プログラム製品を提供する。
望ましくは、本発明は、コントローラにCQセットの複数の連続インスタンスを書き込ませるコンピュータ可読プログラム・コードが、コントローラにCQセットの第一インスタンスが読み取り照合されているかどうかを判定させるコンピュータ可読プログラム・コードと、CQセットの第一インスタンスが読み取り照合されていない場合は、コントローラにCQセットの別のインスタンスを書き込ませるコンピュータ可読プログラム・コード、およびコントローラを上記判定ステップに戻らせるコンピュータ可読プログラム・コードと、CQセットの第一インスタンスが読み取り照合されている場合は、コントローラにCQセットの第一インスタンス中にエラーが検出されているかどうかを確認させるコンピュータ可読プログラム・コードと、エラーが検出されている場合にあっては、コントローラにCQセットを書き換えさせるコンピュータ可読プログラム・コード、およびコントローラを最初の判定ステップに戻らせるコンピュータ可読プログラム・コードと、エラーが検出されていない場合にあっては、コントローラに「記録完了」信号をホストに送信させるコンピュータ可読プログラム・コードと、コントローラにホストから新しいデータが着信しているかどうかを判定させるコンピュータ可読プログラム・コードと、ホストから新しいデータが着信していない場合は、コントローラにCQセットの別のインスタンスを書き込ませるコンピュータ可読プログラム・コード、およびコントローラを二番目の判定ステップに戻らせるコンピュータ可読プログラム・コードと、ホストから新しいデータが着信している場合は、コントローラに終了DSSを書き込ませるコンピュータ可読プログラム・コードとを含む、コンピュータ・プログラム製品を提供する。
望ましくは、本発明は、コントローラに、CQセットのインスタンス群を磁気テープの複数のトラックに亘って横方向に分離させるコンピュータ可読プログラム・コードをさらに含むコンピュータ・プログラム製品を提供する。
以降に、単なる例示として添付の図面を参照しながら、本発明の実施形態を説明する。
ECCがエンコードされたサブ・データ・セットを示す。 16トラック磁気テープ上に記録されたデータ・セットのある部分の符号語の空間的分離の例を示す。 本発明が実装可能な磁気テープ・ドライブのブロック図である。 一つのサブ・データ・セットからの全符号語対を16トラック磁気テープ記録フォーマット上の2つのCQセットに割り付ける一つの方法を示す。 16トラック磁気テープ上に記録された4つのレコードを示し、各レコードは、一つのサブ・データ・セットのデータ容量以下であり、2つのCQセットを必要とする。 16トラック磁気テープ上に記録された8つのCQセットを示し、各対が一つのサブ・データ・セットであり、この図の各レコードは、一つのサブ・データ・セットの容量サイズを超える。 2つのCQセットの短いレコード並びに開始および終了DSSパターンに対する従来技術の記録フォーマットの理想的な例を示す。 短いレコードに対する従来技術の記録フォーマットのより現実的な例が図示されており、終了DSSを記録する前の待ち時間が示されている。 本発明の方法の一つの実施形態のフロー・チャートである。 5の待ち時間を有するシステムにおいて、書き込み後読み取り照合待ち時間の間に複数のCQセットが記録される、本発明の好適な実施形態のフロー・チャートである。 最初に書き込まれたCQセットの一つにエラーが検出された後の、複数のCQセットの書き込みを示す。 書き込み後読み取り照合待ち時間の間に複数のCQセットが書き込まれる、本発明の方法の好適な実施形態のフロー・チャートである。 エラーなし状態で第三(最後の)CQ1を書き込まない、書き込み後読み取り照合待ち時間の間の複数CQセットの書き込みを示す。 エラーあり状態で第三(最後の)CQ1を書き込まない、書き込み後読み取り照合待ち時間の間の複数CQセットの書き込みを示す。 記録完了信号がホストに送信された後ホストから新しいデータが着信するまでの間、延長された終了DSSが書き込まれる、従来技術の記録フォーマットを示す。 記録完了信号がホスト送信された後ホストから新しいデータが着信するまでの待ち時間の間に複数のCQセットが記録される、本発明の好適な実施形態のフォーマットを示す。 記録完了後ホスト・レスポンス待ち時間の間に複数のCQセットが書き込まれる、本発明の方法の好適な実施形態のフロー・チャートである。 書き込み後読み取り照合待ち時間および記録完了信号後の待ち時間の間に複数のCQセットが記録される、本発明の好適な実施形態のフォーマットを示す。 書き込み後読み取り照合待ち時間および記録完了後ホスト・レスポンス待ち時間の間に複数のCQセットが書き込まれる、本発明の方法の好適な実施形態のフロー・チャートである。
本明細書で説明するコンポーネントは、カスタムVLSI回路またはゲート・アレイ、ロジック・チップ、トランジスタなど市販の半導体、あるいは他のディスクリート部品を含むハードウエア回路として実装することができる。また、あるコンポーネントは、フィールド・プログラマブル・ゲート・アレイ、プログラム可能アレイ・ロジック、プログラム可能ロジック・デバイス、または類似品などのプログラム可能ハードウエア・デバイス中に実装することができる。さらに、これらコンポーネントをソフトウエアに実装し、さまざまな種類のプロセッサに実行させることもできる。実行可能コードの識別されたコンポーネントには、例えば、コンピュータ命令の一つ以上の物理的または論理的ブロックを含めることができ、これらを、例えば、オブジェクト、プロシージャ、または機能として編成することができる。しかしながら、識別されたコンポーネントの実行ファイルを物理的に一緒に所在させる必要はなく、バラバラの命令を異なった場所に格納し、これらが論理的に結合されたとき、該コンポーネントを構成し該コンポーネントに対し定められた目的を達成するようにすることができる。
さらに、記述された本発明の機能、構造、または特徴は、一つ以上の実施形態において任意の適切な仕方で組み合わせることができる。以下の説明において、本発明の実施形態の徹底した理解を提供するため、プログラミング、ソフトウエア・コンポーネント、ユーザ選択、ネットワーク・トランザクション、ハードウエア・コンポーネント、ハードウエア回路、ハードウエア・チップの例など、数多くの具体的詳細が提示される。しかしながら、当業者は、本発明が、これら具体的詳細の一つ以上がなくても、または他の方法、コンポーネント、材料などを使っても実施できることを認識していよう。他の例においては、本発明の態様が不明瞭になるのを回避するため、周知のコンポーネント構造、材料、またはオペレーションは示されないか、あるいは詳細には説明されていない。
本明細書に記載された概略フロー・チャート図は、一般に論理フロー・チャート図といわれるものである。かかる図として、図示された順序および標示されたステップは、提示されたプロセスの一つの実施形態を示すものである。例示されたプロセスの一つ以上のステップまたはそれらの部分と、機能、ロジック、または効果において同等な他のステップおよびプロセスを着想することができる。さらに、用いられたフォーマットおよび記号は、本プロセスの論理的ステップを説明するために提示されており、本プロセスの範囲を限定するものでないと解すべきである。実際のところ、矢印線または他のコネクタは、一般に本プロセスの論理フローを示すためだけに使われている。加えて、特定のプロセスが生じる順序は、フローチャートに示された対応ステップの順序に厳密に従っても、従わなくてもよい。
図3は、本発明が実装可能な磁気テープ・ドライブ300のブロック図である。ドライブ300はインタフェース302を含み、これを介してドライブ300と一つ以上のホスト10との間でデータ、命令、および他の通信をやり取りすることができる。ドライブ300は、コントローラ320と、読み取りおよび書き込みチャネル304、306と、読み取りおよび書き込みヘッド308、310と、磁気テープ20を、矢印線314で示すように、読み取りおよび書き込みヘッド308、310を通過させて縦方向に移送するための少なくとも一つの駆動モータ312(多くの場合、着脱可能なカートリッジ・ハウジングに収納されている)と、をさらに含む。コントローラ320は、記録システム・ロジック322を含み、該ロジックは、本発明のステップを遂行するようあるいは遂行を命令するようプログラムすることができる。
テープ20に記録されるデータは、ホスト10からドライブ300のインタフェース302に送信される。コントローラ320は、該データが書き込みチャネル306に送信され、フォーマットされ、エンコードされるよう命令する。次いで、書き込みチャネルは、処理したデータを、テープ20の一つ以上のトラックへの記録のために、書き込みヘッド310に送る。また、コントローラ320は、テープ20が読み取りおよび書き込みヘッド308、310を通過する速度および方向に関して駆動モータ(群)312を制御する。通常、書き込まれたばかりのデータは、読み取りヘッド310に読み取られ、それが正しく記録されているかどうか照合される。読み取りヘッド310によってテープ20から読み取られたデータは、まだコントローラ320の制御下にあり、インタフェース302を介してホスト10に送信される前に、読み取りチャネル304によって復号され、エラーがないかチェックされる。前述は、テープ・ドライブ300の動作の単なる簡単な要約であることを十分理解する。明確化のため、上記説明からは多くの詳細なステップが省かれており、多くのコンポーネントが図3には示されていない。
一つの書き込み方法では、データ・セットより小さな単位で短い顧客レコードを書き込むことによってパフォーマンスを向上する試みが行われる。レコードは、データ・セット中の全サブ・データ・セットが満たされるまで待つことなく、サブ・データ・セット中に蓄積される。蓄積は、同一のサブ・データ・セットの全64の符号語対を、ある連続した数のCQセットに収納することによって遂行される。16トラック・フォーマットにおいて、一つのサブ・データ・セットは2つのCQセットを必要とする。このよう方法で、はるかに小さなオブジェクト(サブ・データ・セット)を書き込むことができ、ある環境の下では、これにより大幅なパフォーマンスの改善をもたらすことができる。ただし、上記方法は、エラー訂正符号(ECC)の能力を弱める。というのは、この方法は、サブ・データ・セットの全符号語対を相互に近接して配置し、このことによって、単一のサブ・データ・セット中の複数の符号語対を、ミストラッキングまたは大きな媒体欠陥など単一のエラー事象からの影響をより受けやすくするからである。符号語対が相互に近接して配置されており、首尾よく記録された符号語対の照合されたセットが一つだけになる可能性があるので、データが読み取られる際に、記録されたデータをうまく再構築するためには不十分な数の有効な符号語対になる可能性にさらされることになる。
図4は、サブ・データ・セットあたり64の符号語対を有する16トラック記録フォーマットに対し、一つのサブ・データ・セットからの符号語対(行)の全てを2つのCQセットに割り付ける一つの方法を示す。CQセット0および1は、一つのデータ・レコードを表している。
前述したように、従来式の書き込みにおいて、符号語対の縦方向および横方向への分離は、エラーの影響受けやすさを低減するための主要寄与要因である。代替案による、同一のCQセット中の同一のサブ・データ・セットからの符号語対の書き込みは、従来式のフォーマット設定が提供している符号語対の間の縦方向および横方向の分離間隔を、大幅に減少させる。最悪の場合、レコードのサイズが一つのサブ・データ・セットのデータ容量以下のときには、データの完全性が損なわれる。この場合、レコードは、一つのサブ・データ・セット中に収納され、そのサブ・データ・セットは2つの隣接するCQセットとしてテープ上に記録される。図5は4つのレコードを示しており、その各々は、一つのサブ・データ・セットのデータ容量より小さいかまたは同等である。各レコードは2つのCQセットを必要とする。CQセットの各対の間の、従って各レコードの間の特定されていない分離間隔は、省略記号によって示す。
CQ中への符号語群の、およびトラック中へのCQ群の相対的配置は、どの符号語対中のエラーも同等にサブ・データ・セット全体に対するECC仕損じ可能性の原因となるので、エラー・パフォーマンスの点からは重要なことではない。一つ以上のCQセット中の全トラックに共通するエラーは、直ちにECCを圧倒することになる。一つのCQセット中の複数のトラックに共通する、あるいは、もっと少ないトラックだが両方のCQセットに共通するエラーは、前述の記録スキームにおいては、符号語対がテープの縦および横方向に広く分散されている従来方式のスキームよりも、ECCを圧倒する可能性が大幅に高い。
レコードのサイズが一つのサブ・データ・セットのデータ容量サイズを超える場合には、追加のサブ・データ・セットを構築することができる。図6は、レコードのサイズが、少なくとも1つプラス3つのサブ・データ・セットのデータ容量であって且つ4つのサブ・データ・セットのデータ容量以下である例を示す。この例においては、8つのCQセットが書き込まれ、各対が一つのサブ・データ・セットである。CQセットの各対の間の、従って各レコードの間の特定されていない分離間隔は省略記号によって示す。
テープに書き込まれるデータは、読み取りを容易にするためフォーマット設定される。前述したように、データ内容はサブ・データ・セット中に配置され、次いで該サブ・データ・セットの符号語対がCQセットに割り付けられる。テープに書き込まれる際、レコードまたはデータ・セットなどのグループ内のCQセットは、データ・セット・セパレータ(DSS)パターンとして知られる、容易に認識される特別なパターンで区切られる。図7は、このフォーマットで短いレコード700を書き込んだ理想的な例を示す。各CQセット704A、704B内に、一つの符号語カッド702A、702Bが小さな矩形で示されており、開始および終了DSS706A、706Bがレコード700を囲んでいる。
書き込み後読み取り照合待ち時間の活用
しかしながら、図7のフォーマット設定の理想的な例は実際には使用されない。近年のデータ記憶デバイスは、データを書き込み後すぐに照合する。エラーが検出された場合、データは書き換えられる。あるテープでは、読み取りヘッド・エレメントは、ある距離をおいて書き込みヘッド・エレメントの後ろにある。しかして、書き込まれたCQセットが、読み取りヘッド・エレメントの下を通過するまでにいくらかの時間が必要となり得る。これにより、書き込みと書き込まれたデータを照合する機能との間に最小限の時間が生じる。また、この時間は、テープ・ドライブがエラー検出を遂行するため必要な処理時間によって増加し得る。さらに、データの書き換えが必要な場合、書き換え作業の準備のためさらなる時間が必要となり得る。CQセットが最初に書き込まれるポイントとエラー検出後書き換えができる場所との間のテープ沿いの距離に対応する合計時間は、待ち時間(latency)と呼ばれる。待ち時間は、通常CQセットで測定される。例えば、待ち時間が4つで、書き込まれたあるCQセットNにエラーが見つかれば、それは(CQセットN+4)として書き換えられる。図8は、単一のサブ・データ・セットをCQセット0およびCQセット1中に書き込む間の待ち時間の例を示す。CQ0およびCQ1は、テープ沿いの距離が5CQセットに等しくなるまで読み取り照合できないので、サブ・データ・セットの書き込みには、そのデータ容量の方が小さい場合であっても、少なくともこの数のCQセットを割り当てなければならない。図8に示すように、エラーが検出されない場合、書き込み作業はDSSパターンで終了する。
最後に書き込まれたCQセットと、エラーの場合にCQセットを書き換え可能な場所との間のテープ上の領域に書き込みがされないと、前回書き込まれたデータが現在の処理に干渉するので、これは良いやり方ではない。この領域がDSS、またはアンブル(非データ)フレーム書き込みで満たされれば、前回書き込まれたデータは除去されるが、書き込まれたデータの修復度が高められることはない。これに換えて、本発明は、この領域をCQセットまたはセット群の繰り返し書き込みで満たす。前回書き込まれたデータは排除されてCQセットの追加のインスタンスが記録され、これにより、サブ・データ・セット中の各符号語対の少なくとも一つのインスタンスが、読み取りで首尾よく修復される確率を高めることになる。
図9のフローチャートは、本発明のある方法を示す。ドライブ300によってホスト10からのデータが受信される(ステップ900)。記録システム・ロジック322の命令の下、サブ・データ・セットが設定され(ステップ902)、C1およびC2 ECC記号が計算され、サブ・データ・セットに付加される(ステップ904)。次いで、符号語カッドが形成され(ステップ906)、書き込みヘッド306がテープ20に開始DSSを記録する(ステップ908)。CQセット0および1の単一のインスタンスをテープ20に記録し、待ち時間を浪費させるのに換えて、CQセットの複数のインスタンスがテープ20に記録され(ステップ910)、これにより各符号語対の少なくとも一つのインスタンスが修復される確率を増大する。その後に終了DSSがテープ20に記録される(ステップ912)。
図10は、図9の方法の一つの変形を示す。サブ・データ・セットが、5の待ち時間を使ってシステムに書き込まれる。CQセット0および1、1000A、1010A、はサブ・データ・セットの第一インスタンスであり、開始DSS1020の後に続く。待ち時間のため、CQ0は、CQ0またはCQ1の第三インスタンスに至るまで読み取り照合することができない。本発明のこの態様によれば、CQセット対は、CQ0およびCQ1が読み取り照合可能になるまで、すなわち5の待ち時間が終了するまで、繰り返し書き込まれる。例示したシステムでは、CQ0およびCQ1の2組の追加の対、1000B、1010B、1000C、1010Cが書き込まれる。CQ0およびCQ1の第一インスタンス1000A、1010Aにエラーがなければ、このサブ・データ・セットに対するさらなるCQセットは書き込まれず、終了DSSパターン1020Bによって書き込み作業は終了する。従って、該サブ・データ・セットの合計3つのインスタンスが書き込まれ、その第一インスタンスだけが読み取り照合されたことになる。しかして、CQセットの繰り返しの利点は、どの一つの符号語対に対しても少なくとも3つのインスタンスが存在し、各々が少なくとも一つのCQセットの長さだけ縦方向に分離され、これにより各符号語対の少なくとも一つのインスタンスの修復の確率を増大させることである。
また、図10は本発明のさらなる態様をも示している。これらCQ内の影付きバー1002A、1002B、1002C、および1012A、1012B、1012Cは、重大なトラック・エラーに対する保護のため、特定の符号語カッドが、どのようにトラックに亘って横方向に「循環回転」されているかを示している。これに対し、従来式のLTOフォーマット中の符号語カッドは、エラーによって書き換えられるときにだけ循環される。
図11に示されるように、最初の読み取り照合の試みの後、第一CQ0、1000Aまたは第一CQ1、1010Aのいずれかにエラーが検出された場合、その両方とも1000D、1010Dに書き換えられ、CQセットの所定回数(示された例では2)、1000E、1000Fおよび1010E、1010Fとして繰り返され、この書き換えられた対の読み取り照合を可能にする。従って、最初の照合で一つ以上のエラーがあったとすれば、サブ・データ・セットの合計6つのインスタンスが書き込まれ、その一番目および四番目だけが読み取り照合されることになる。読み取り照合に合格したならば、終了DSS1020Bが書き込まれる。
図12は、本発明のこの態様のフローチャートである。開始DSSがテープ20に記録され(ステップ1200)、次いでCQセットの第一インスタンスが記録される(ステップ1202)。CQセットが読み取り照合されているかどうかの判定が行われる(ステップ1204)。されていない場合、CQセットの別のインスタンスが記録され(ステップ1202)、CQセットの第一インスタンスが読み取り照合されるまで、このプロセスが繰り返される。エラーが検出された場合(ステップ1206)、CQセットは記録し直され(ステップ1208)、プロセスは、記録し直されたCQセットが読み取り照合されるまで(ステップ1204)、CQセットのさらなるインスタンスの記録(ステップ1202)に戻る。再度エラーが検出されれば(ステップ1206)、このプロセスが繰り返される。CQセットが読み取り照合されエラーがなければ、終了DSSが記録される(ステップ1210)このように、以前は浪費されていた待ち時間の間にCQセットの複数のインスタンスが記録される。
待ち時間から、CQ0の第三インスタンスの後で照合および書き換えが可能な場合、本発明のこの態様の変形を実装して第三CQ1を書き込む必要をなくすことができる。エラーがない場合のこの変形を図13に示し、エラーがある場合の変形を図14に示す。
記録完了後ホスト・レスポンス待ち時間の活用
図15に示すように、従来のデータ書き込みの方法では、ドライブがレコードの書き込みを完了し、CQセットの照合が完了したとき、該ドライブは、別のレコードを得るため信号1500A、1500Bをホストに送信する。次いで、ドライブは、ホストが次のレコードとともに応答してくるまで、停止するか、または複数のDSS1510A、1510Bを書き込み続けることになる。しかして、CQセットの書き込みシーケンスは、(a)ホストが記録のためドライブにレコードを送信する、(b)開始DSSが書き込まれる、(c)その後に基本CQセットが続く、(d)2つのCQセットが読み取りヘッドの下を通過するまで特定されていないシーケンスの書き込みを続ける、(e)両方のCQセットが照合されたとき、終了DSSが開始され、(f)CQセットが確かにテープに収納されたとき、テープ・ドライブがホストに「記録完了」信号を送信して書き込みの成功を提示し、この時点からドライブはホストが記録のため別のレコードを送信してくるのを待つ、と記述できる。このプロセスは、テープに沿って期限なく繰り返される。
待ち時間を使って各符号語対のできるだけ多くのインスタンスを記録しCQセットを繰り返すため、本発明の別の態様では、ドライブ300がホストに「記録完了」信号送信してから、ホスト10が次のレコードとともに応答してくるまでの間の待ち時間を利用して、CQセットのさらなるインスタンス記録し、これによって各符号語対の少なくとも一つのインスタンスが修復される確率をさらに増大する。図16、および図17のフローチャートに示されるように、開始DSS1600Aがテープ20に記録され(ステップ1700)、次いでCQセットの第一インスタンス1610Aが記録される(ステップ1702)。CQセット1610Aが照合されたならば、次いでコントローラ320は、CQセット1610Aが書き込まれて読み取り照合されたことを示す「記録完了」信号(または他の類似の信号)1602をホスト10に送信する(ステップ1704)。ホスト10から新しいデータが着信しているかどうかの判定が行われる(ステップ1706)。していない場合、CQセットの別のインスタンス1610Bが記録され(ステップ1708)、このプロセスは、ホスト10から新しいデータが着信するまで繰り返され1610C、着信の時点で終了DSS1600Bが記録される(ステップ1710)。
図18、および図19のフローチャートは、本発明の、読み取り照合待ち時間および記録完了後ホスト待ち時間の態様を一緒に使ったCQセットの書き込みを示す。ホストが、記録のためレコードをドライブに送信し、開始DSSが書き込まれる(ステップ1900)。次いで、(最初の)基本CQセットが記録される(ステップ1902)。ドライブは、最初の2つのCQセットが、待ち時間後の読み取り照合の要求事項を満たして読み取りヘッドの下を通過する(ステップ1904)まで、CQセットのさらなるインスタンスの書き込みを続ける。エラーが検出された場合(ステップ1906)、基本CQセットは記録し直され(ステップ1908)、エラーが検出されなくなるまでこのプロセスが繰り返される。必要な数のCQセットが、エラーなく確かにテープに収納されると(ステップ1906)(この数は、所望のシステム構造安定性の如何によって任意の数とすることができる)、ドライブは、書き込みの成功を示す「記録完了」信号をホストに送信し(ステップ1910)、ホストが書き込みのため別のレコードを送信してくるのを待つ。ホストが次のレコードとともに応答し(ステップ1912)、ドライブが新規の書き込み作業をセットアップするまでの間、または、所定数のCQセット対が首尾よく読み取り照合されるまでの間、ドライブは、DSSを書き込むのに換えて、現在のレコードのCQセットの複数のインスタンスの書き込みを続ける(ステップ1914)。上記のとき、ドライブは終了DSSを開始する(ステップ1616)。このプロセスは、テープに沿って期限なく繰り返される。
しかして、本発明により、各符号語対のインスタンスの数は増加され、それらの物理的分離距離も縦方向および横方向の両方で望ましく増大され、これにより、短いテープ・レコードを書き込みながら、ミストラッキング・エラーおよび大きな欠陥の影響の受けやすさを軽減し、データ信頼性への悪影響を低減することが可能になる。本発明は、このように別のやり方では使われていない待ち時間を利用しており、従って、パフォーマンスに対する代償負担はない。インスタンスの書き直しごとに追加される各符号語対のインスタンスがあって、符号語対の間の物理的分離距離が増大するので、読み取り信頼性が向上する。しかして、本発明は、(1)各符号語対の一つだけのインスタンスを記録するのに換えて、書き込みヘッドと読み取りヘッドとの間の待ち時間を用いて符号語対の複数のコピーを記録すること、(2)ホストに新しいレコードを要求しその後書き込みを終了するのに換えて、ホストが次のレコードとともに実際に応答してくるまで符号語対の複数のコピーの書き込みを続けること、および(3)符号語対が書き込まれるごとに、特定の符号語対が書き込まれるトラックを循環回転させること、によってECC能力を向上させる。
なお、本発明を、全面機能するデータ記憶システムのコンテキストで説明してきたが、当業者は、本発明のプロセスが、命令のコンピュータ可読媒体の形およびさまざまな形で給配できること、および本発明が、給配を実施にするのに実際に用いられる信号担持媒体の特定の種類如何に関わらず、応用可能であることを十分理解していよう。コンピュータ可読媒体の例には、フロッピー・ディスク、ハード・ディスク・ドライブ、RAM、およびCD−ROMなどの記録可能なタイプの媒体、並びに送信タイプの媒体が含まれる。
本発明の記述は、例示および説明目的のため提示されているが、網羅的であること、または本発明を開示された形態に限定することを意図するものではない。当業者には多くの修改または変形が明白であろう。本実施形態は、本発明の原理、実際的応用を最善に説明し、他の当業者が、意図する特定の用途に適したさまざまな修改を加えたさまざまな実施形態のため、本発明を理解できるようにするため選択され、記述されたものである。さらに、上記では、方法およびシステムに関して説明しているが、磁気テープにデータを書き込むための命令を包含するコンピュータ・プログラム製品を使って、当技術分野における必要性を満たすこともできる。

Claims (22)

  1. 磁気テープにデータを書き込む方法であって、
    ホストからデータを受信するステップと、
    前記受信されたデータからサブ・データ・セットを設定するステップと、
    前記サブ・データ・セットからC1およびC2 ECCを計算するステップと、
    符号語カッド(CQ)セットを形成するステップと、
    磁気テープに開始データ・セット・セパレータ(DSS)を書き込むステップと、
    読み取り照合が完了する前の待ち時間の間に前記CQセットの複数のインスタンスを前記磁気テープに書き込むステップと、
    読み取り照合が完了した後に終了DSSを書き込むステップと、
    を含む、前記方法。
  2. 前記CQセットの前記複数のインスタンスを書き込むステップは、
    前記CQセットの第一インスタンスを書き込むステップと、
    前記CQセットの前記第一インスタンスが読み取り照合されているかどうかを判定するステップと、
    前記CQセットの前記第一インスタンスが読み取り照合されていない場合は、前記CQセットの別のインスタンスを書き込んで、前記判定ステップに戻るステップと、
    前記CQセットの前記第一インスタンスが読み取り照合されている場合は、前記CQセットの前記第一インスタンスにエラーが検出されていないかどうかを確認するステップと、
    エラーが検出されている場合にあっては、前記CQセットを書き換えて、前記判定ステップに戻るステップと、
    エラーが検出されていない場合にあっては、前記終了DSSを書き込むステップと、
    を含む、請求項1に記載の方法。
  3. 前記CQセットのインスタンス群を前記磁気テープの複数のトラックに亘って横方向に分離するステップをさらに含む、請求項2に記載の方法。
  4. 前記CQセットの前記複数のインスタンスを書き込むステップは、
    前記CQセットの第一インスタンスを書き込むステップと、
    前記ホストに「記録完了」信号を送信するステップと、
    前記ホストから新しいデータが着信しているかどうかを判定するステップと、
    前記ホストから新しいデータが着信していない場合は、前記CQセットの別のインスタンスを書き込んで、前記判定ステップに戻るステップと、
    前記ホストから新しいデータが着信している場合は、前記終了DSSを書き込むステップと、
    を含む、請求項1に記載の方法。
  5. 前記CQセットのインスタンス群を前記磁気テープの複数のトラックに亘って循環的に横方向に分離するステップをさらに含む、請求項4に記載の方法。
  6. 前記CQセットの前記複数のインスタンスを書き込むステップは、
    前記CQセットの第一インスタンスが読み取り照合されているかどうかを判定するステップと、
    前記CQセットの前記第一インスタンスが読み取り照合されていない場合は、前記CQセットの別のインスタンスを書き込んで、前記判定ステップに戻るステップと、
    前記CQセットの前記第一インスタンスが読み取り照合されている場合は、前記CQセットの前記第一インスタンス中にエラーが検出されているかどうかを確認するステップと、
    エラーが検出されている場合にあっては、前記CQセットを書き換えて、最初の判定ステップに戻るステップと、
    エラーが検出されていない場合にあっては、前記ホストに「記録完了」信号を送信するステップと、
    前記ホストから新しいデータが着信しているかどうかを判定するステップと、
    前記ホストから新しいデータが着信していない場合は、前記CQセットの別のインスタンスを書き込んで、二番目の判定ステップに戻るステップと、
    前記ホストから新しいデータが着信している場合は、前記終了DSSを書き込むステップと、
    を含む、請求項1に記載の方法。
  7. 前記CQセットのインスタンス群を前記磁気テープの複数のトラックに亘って循環的に横方向に分離するステップをさらに含む、請求項6に記載の方法。
  8. 磁気テープにデータを書き込むための磁気テープ・ドライブであって、
    ホストとデータおよび命令をやり取りするためのインタフェースと、
    前記磁気テープにデータを記録するための書き込みヘッドと、
    前記書き込みヘッドによって記録されるデータを処理するための書き込みチャネルと、
    前記磁気テープからデータを読み取るための読み取りヘッドと、
    前記読み取りヘッドによって読み取られたデータを処理するための読み取りチャネルと、
    前記磁気テープを、前記読み取りおよび書き込みヘッドを通過させて縦方向に移送する少なくとも一つの駆動モータと、
    前記インタフェース、前記書き込みヘッド、前記書き込みチャネル、前記読み取りヘッド、前記読み取りチャネル、および前記少なくとも一つの駆動モータを制御するためこれらに連結されたコントローラと、
    を含み、前記コントローラは、
    前記ホストから受信されたデータからサブ・データ・セットを設定し、
    C1およびC2 ECCを計算し、
    符号語カッド(CQ)セットを形成し、
    前記書き込みヘッドによって前記磁気テープに記録される開始データ・セット・セパレータ(DSS)を生成し、
    読み取り照合が完了する前の待ち時間の間に前記書き込みヘッドに、前記CQセットの複数のインスタンスを前記磁気テープに記録するよう命令し、
    特定機能(読み取り照合)が完了した後に前記書き込みヘッドによって前記磁気テープに記録される終了DSSを生成する、
    よう作動する、前記磁気テープ・ドライブ。
  9. 前記コントローラが前記書き込みヘッドに対し前記CQセットの複数のインスタンスを前記磁気テープに記録するよう命令するときに、前記コントローラは、
    前記書き込みヘッドに、前記CQセットの第一インスタンスを記録するよう命令し、
    前記CQセットの前記第一インスタンスが読み取り照合されているかどうかを判定し、
    前記CQセットの前記第一インスタンスが読み取り照合されていない場合は、前記書き込みヘッドに前記CQセットの別のインスタンスを記録するよう命令して、前記判定ステップに戻り、
    前記CQセットの前記第一インスタンスが読み取り照合されている場合は、前記CQセットの前記第一インスタンス中にエラーが検出されているかどうかを確認し、
    エラーが検出されている場合にあっては、前記書き込みヘッドに、前記CQセットを記録し直すよう命令して、前記判定ステップに戻り、
    エラーが検出されていない場合にあっては、前記書き込みヘッドに、前記終了DSSを記録するよう命令する、
    ようさらに作動する、請求項8に記載の磁気テープ・ドライブ。
  10. 前記コントローラが、前記CQセットのインスタンス群を前記磁気テープの複数のトラックに亘って横方向に分離するようさらに作動する、請求項9に記載の磁気テープ・ドライブ。
  11. 前記コントローラが前記書き込みヘッドに対し前記CQセットの前記複数のインスタンスを記録するよう命令するときに、前記コントローラは、
    前記書き込みヘッドに、前記CQセットの第一インスタンスを記録するよう命令し、
    前記ホストに「記録完了」信号を送信し、
    前記ホストから新しいデータが着信しているかどうかを判定し、
    前記ホストから新しいデータが着信していない場合は、前記書き込みヘッドに、前記CQセットの別のインスタンスを記録するよう命令して、前記判定ステップに戻り、
    前記ホストから新しいデータが着信している場合は、前記書き込みヘッドに、前記終了DSSを記録するよう命令する、
    ようさらに作動する、請求項8に記載の磁気テープ・ドライブ。
  12. 前記コントローラが、前記CQセットのインスタンス群を前記磁気テープの複数のトラックに亘って横方向に分離するようさらに作動する、請求項11に記載の磁気テープ・ドライブ。
  13. 前記コントローラが前記書き込みヘッドに対し前記CQセットの前記複数のインスタンスを記録するよう命令するときに、前記コントローラは、
    前記CQセットの第一インスタンスが読み取り照合されているかどうかを判定し、
    前記CQセットの前記第一インスタンスが読み取り照合されていない場合は、前記書き込みヘッドに、前記CQセットの別のインスタンスを記録するよう命令して、前記判定ステップに戻り、
    前記CQセットの前記第一インスタンスが読み取り照合されている場合は、前記CQセットの前記第一インスタンス中にエラーが検出されているかどうかを確認し、
    エラーが検出されている場合にあっては、前記書き込みヘッドに、前記CQセットを記録し直すよう命令して、最初の判定ステップに戻り、
    エラーが検出されていない場合にあっては、前記ホストに「記録完了」信号を送信し、
    前記ホストから新しいデータが着信しているかどうかを判定し、
    前記ホストから新しいデータが着信していない場合は、前記書き込みヘッドに、前記CQセットの別のインスタンスを記録するよう命令して二番目の判定ステップに戻り、
    前記ホストから新しいデータが着信している場合は、前記書き込みヘッドに、前記終了DSSを記録するよう命令する、
    ようさらに作動する、請求項8に記載の磁気テープ・ドライブ。
  14. 前記コントローラが、前記CQセットのインスタンス群を前記磁気テープの複数のトラックに亘って横方向に分離するようさらに作動する、請求項13に記載の磁気テープ・ドライブ。
  15. 磁気テープにデータを書き込むための記録システム・ロジックであって、
    ホストとデータおよび命令をやり取りするためのインタフェースと、
    前記磁気テープにデータを記録するための書き込みヘッドと、
    前記書き込みヘッドによって記録されるデータを処理するための書き込みチャネルと、
    前記磁気テープからデータを読み取るための読み取りヘッドと、
    前記読み取りヘッドによって読み取られたデータを処理するための読み取りチャネルと、
    前記磁気テープを、前記読み取りおよび書き込みヘッドを通過させて縦方向に移送する少なくとも一つの駆動モータと、
    前記インタフェース、前記書き込みヘッド、前記書き込みチャネル、前記読み取りヘッド、前記読み取りチャネル、および前記少なくとも一つの駆動モータを制御するためこれらに連結されたコントローラと、
    を含み、前記コントローラは、
    ホストから受信されたデータからサブ・データ・セットを設定するためのロジックと、
    前記サブ・データ・セットに対するC1およびC2 ECCを計算するためのロジックと、
    符号語カッド(CQ)セットを形成するためのロジックと、
    前記磁気テープに記録される開始データ・セット・セパレータ(DSS)を生成するためのロジックと、
    読み取り照合が完了する前の待ち時間の間に前記CQセットの複数のインスタンスを前記磁気テープに書き込むためのロジックと、
    読み取り照合が完了した後に終了DSSを前記磁気テープに書き込むためのロジックと、
    を含む、前記記録システム・ロジック。
  16. 前記CQセットの複数のインスタンスを前記磁気テープに記録するための前記ロジックが、
    前記CQセットの第一インスタンスを記録するためのロジックと、
    前記CQセットの前記第一インスタンスが読み取り照合されているかどうかを判定するためのロジックと、
    前記CQセットの前記第一インスタンスが読み取り照合されていない場合は、前記CQセットの別のインスタンスを記録するためのロジック、および前記判定ステップに戻るためのロジックと、
    前記CQセットの前記第一インスタンスが読み取り照合されている場合は、前記CQセットの前記第一インスタンス中にエラーが検出されているかどうかを確認するためのロジックと、
    エラーが検出されている場合にあっては、前記CQセットを記録し直すためのロジック、および上記判定ステップに戻るためのロジックと、
    エラーが検出されていない場合にあっては、前記終了DSSを記録するためのロジックと、
    を含む、請求項15に記載の記録システム・ロジック。
  17. 前記CQセットのインスタンス群を前記磁気テープの複数のトラックに亘って横方向に分離するためのロジックをさらに含む、請求項16に記載の記録システム・ロジック。
  18. 前記CQセットの前記複数のインスタンスを記録するための前記ロジックが、
    前記CQセットの第一インスタンスを記録するためのロジックと、
    前記ホストに「記録完了」信号を送信するためのロジックと、
    前記ホストから新しいデータが着信しているかどうかを判定するためのロジックと、
    前記ホストから新しいデータが着信していない場合は、前記CQセットの別のインスタンスを記録するためのロジック、および前記判定ステップに戻るためのロジックと、
    前記ホストから新しいデータが着信している場合は、前記終了DSSを記録するためのロジックと、
    を含む、請求項15に記載の記録システム・ロジック。
  19. 前記CQセットのインスタンス群を前記磁気テープの複数のトラックに亘って横方向に分離するためのロジックをさらに含む、請求項18に記載の記録システム・ロジック。
  20. 前記CQセットの前記複数のインスタンスを記録するための前記ロジックが、
    前記CQセットの第一インスタンスが読み取り照合されているかどうかを判定するためのロジックと、
    前記CQセットの前記第一インスタンスが読み取り照合されていない場合は、前記CQセットの別のインスタンスを記録して、前記判定ステップに戻るためのロジックと、
    前記CQセットの前記第一インスタンスが読み取り照合されている場合は、前記CQセットの前記第一インスタンス中にエラーが検出されているかどうかを確認するためのロジックと、
    エラーが検出されている場合にあっては、前記CQセットを記録し直すためのロジック、および最初の判定ステップに戻るためのロジックと、
    エラーが検出されていない場合にあっては、前記ホストに「記録完了」信号を送信するためのロジックと、
    前記ホストから新しいデータが着信しているかどうかを判定するためのロジックと、
    前記ホストから新しいデータが着信していない場合は、前記CQセットの別のインスタンスを記録して、二番目の判定ステップに戻るためのロジックと
    前記ホストから新しいデータが着信している場合は、前記終了DSSを記録するためのロジックと、
    を含む、請求項15に記載の記録システム・ロジック。
  21. 前記CQセットのインスタンス群を前記磁気テープの複数のトラックに亘って循環的に横方向に分離するためのロジックをさらに含む、請求項20に記載の記録システム・ロジック。
  22. コンピュータ・システムにロードされ、実行されたとき、請求項1から7のいずれか一つによる前記方法の全ステップを遂行するコンピュータ・プログラム・コードを含むコンピュータ・プログラム。
JP2011544826A 2009-01-09 2009-12-14 待ち時間の間に複数の符号語セットを記録する Active JP5460734B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/351,713 2009-01-09
US12/351,713 US7965463B2 (en) 2009-01-09 2009-01-09 Recording multiple codeword sets during latency period
PCT/EP2009/067058 WO2010079048A1 (en) 2009-01-09 2009-12-14 Recording multiple codeword sets during latency period

Publications (2)

Publication Number Publication Date
JP2012514824A JP2012514824A (ja) 2012-06-28
JP5460734B2 true JP5460734B2 (ja) 2014-04-02

Family

ID=41722714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011544826A Active JP5460734B2 (ja) 2009-01-09 2009-12-14 待ち時間の間に複数の符号語セットを記録する

Country Status (7)

Country Link
US (1) US7965463B2 (ja)
EP (1) EP2386107B1 (ja)
JP (1) JP5460734B2 (ja)
KR (1) KR20110112830A (ja)
CN (1) CN102265347B (ja)
AT (1) ATE557393T1 (ja)
WO (1) WO2010079048A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504893B1 (en) * 2010-09-30 2013-08-06 Micron Technology, Inc. Error detection or correction of a portion of a codeword in a memory device
US8929014B2 (en) 2013-06-04 2015-01-06 International Business Machines Corporation Tape header protection scheme for use in a tape storage subsystem

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0913826A1 (en) 1997-10-31 1999-05-06 Hewlett-Packard Company Scratch protection in tape data storage system
EP1067547A1 (en) * 1999-06-28 2001-01-10 Hewlett-Packard Company Data set recovery by codeword overlay
US6833970B2 (en) * 2001-07-31 2004-12-21 Hewlett-Packard Company Data storage
US6958873B2 (en) * 2001-07-31 2005-10-25 Hewlett-Packard Development Company, L.P. Data rewrite control in data transfer and storage apparatus
US7116736B2 (en) * 2002-01-02 2006-10-03 International Business Machines Corporation Method, system, and program for synchronization and resynchronization of a data stream
US6856479B2 (en) * 2002-01-29 2005-02-15 International Business Machines Corporation Writing synchronized data to magnetic tape
GB2396738A (en) * 2002-12-27 2004-06-30 Hewlett Packard Co Synchronised parallel data writing
US7831869B2 (en) * 2003-01-27 2010-11-09 Hewlett-Packard Development Company, L.P. DDS logical data grouping
JP3900494B2 (ja) * 2003-05-16 2007-04-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置、制御方法、プログラム、及び記録媒体
US6970311B2 (en) * 2003-08-18 2005-11-29 International Business Machines Corporation Storing data to magnetic tape both to one set of tracks and in the same operation rewritten to another set of tracks

Also Published As

Publication number Publication date
US20100177424A1 (en) 2010-07-15
US7965463B2 (en) 2011-06-21
EP2386107B1 (en) 2012-05-09
ATE557393T1 (de) 2012-05-15
EP2386107A1 (en) 2011-11-16
JP2012514824A (ja) 2012-06-28
KR20110112830A (ko) 2011-10-13
CN102265347A (zh) 2011-11-30
WO2010079048A1 (en) 2010-07-15
CN102265347B (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
JP3663377B2 (ja) データ記憶装置、読み出しデータの処理装置および読み出しデータの処理方法
US8331051B2 (en) Device and method for error detection
JP4939409B2 (ja) 誤りを訂正するための装置、方法、及びプログラム
US5185746A (en) Optical recording system with error correction and data recording distributed across multiple disk drives
US6539514B1 (en) Read while write method in data storage device
US8259405B2 (en) Rewriting codeword objects to magnetic data tape upon detection of an error
EP1067547A1 (en) Data set recovery by codeword overlay
US20080195808A1 (en) Data migration systems and methods for independent storage device expansion and adaptation
US7965462B2 (en) Storing partial data sets to magnetic tape
US20050108594A1 (en) Method to protect data on a disk drive from uncorrectable media errors
JP2004095147A (ja) ストリーミング方式オーディオ・ビジュアル・データをディスク・ドライブに書き込む為の方法
US6282040B1 (en) Write pass identifier
JP5460734B2 (ja) 待ち時間の間に複数の符号語セットを記録する
US6958873B2 (en) Data rewrite control in data transfer and storage apparatus
US20080091971A1 (en) Stored data processing apparatus, storage apparatus, and stored data processing program
US20150248248A1 (en) Writing standard tape format to memory
US10854239B1 (en) Adaptive-rate error correction layer for tape storage
US6937412B1 (en) Method and apparatus for creating a format identification block on a magnetic tape
US6877127B2 (en) Quality control in data transfer and storage apparatus
US12124740B2 (en) Selective hard and soft rewrites
JP3199010B2 (ja) 磁気ディスク装置及びそのデータエラー訂正方法
JP2779540B2 (ja) 磁気テープ装置
JPH03283007A (ja) 磁気テープ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130619

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140114

R150 Certificate of patent or registration of utility model

Ref document number: 5460734

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150