(57)【特許請求の範囲】
【請求項１】
複数の読出しセンサを有し、各読出しセンサがデータを同時に読み出すように構成された磁気ヘッドと、
コントローラ及び前記コントローラに組み込まれた論理と、
を備えたテープドライブであって、前記論理は、
前記複数の読出しセンサを用いて、磁気テープ媒体の複数のトラックから符号化データを同時に読み出し、
前記磁気テープ媒体から同時に読み出された前記複数のトラックの少なくとも１つに関連付けられた１つ又は複数の時間変動信号品質問題の検出に基づいて、前記符号化データに対してトラック依存消失復号化を行う
ように構成されており、
前記１つ又は複数の時間変動信号品質問題が、同時に読み出された各トラックのＣ１符号語内の検出バイトの信頼性に関する副次的情報に基づいて判断され、前記副次的情報が、前記テープドライブのファームウェアにより監視される統計量に基づく所定の閾値を下回る少なくとも１つの読出し又は書込みチャネルの読出し又は書込みチャネル性能を含む、前記テープドライブ。
【請求項２】
前記読出しチャネルについて監視される前記統計量が、同時に読み出された各トラックについての指数平均二乗誤差（ＭＳＥ）又は信号対雑音比（ＳＮＲ）を含む、請求項１に記載のテープドライブ。
【請求項３】
前記副次的情報が、前記符号化データのＣ１復号化の間にＣ１デコーダについて蓄積される統計量に基づく所定の閾値を下回るＣ１デコーダ性能を含む、請求項１又は２に記載のテープドライブ。
【請求項４】
前記Ｃ１デコーダについて蓄積される前記統計量は、各トラックについての訂正不能Ｃ１符号語の数を含み、前記Ｃ１デコーダは、訂正不能な数より多くのＣ１バイト誤りが前記Ｃ１符号語内に存在することに応答して、訂正不能Ｃ１符号語を判断する、請求項３に記載のテープドライブ。
【請求項５】
前記Ｃ１デコーダ性能は、特定のトラックから読み出された少なくとも１つの訂正不能Ｃ１符号語の検出に応答して、前記特定のトラックについて前記所定の閾値を下回る、請求項４に記載のテープドライブ。
【請求項６】
前記Ｃ１デコーダ性能は、特定のトラックについて直近に復号された事前設定された数（Ｍ）のＣ１符号語における所定の数（Ｎ）より多くの訂正不能Ｃ１符号語の検出に応答して、前記特定のトラックについて前記所定の閾値を下回る、請求項４に記載のテープドライブ。
【請求項７】
複数の読出しセンサを有し、各読出しセンサがデータを同時に読み出すように構成された磁気ヘッドと、
コントローラ及び前記コントローラに組み込まれた論理と、
を備えたテープドライブであって、前記論理は、
前記複数の読出しセンサを用いて、磁気テープ媒体の複数のトラックから符号化データを同時に読み出し、
前記磁気テープ媒体から同時に読み出された前記複数のトラックの少なくとも１つに関連付けられた１つ又は複数の時間変動信号品質問題の検出に基づいて、前記符号化データに対してトラック依存消失復号化を行う
ように構成されており、
前記１つ又は複数の時間変動信号品質問題が、同時に読み出された各トラックのＣ１符号語内の検出バイトの信頼性に関する副次的情報に基づいて判断され、前記副次的情報が、Ｃ１符号語当たりのランレングス制限（ＲＬＬ）誤り検出フラグの数を含み、特定のトラックから読み出された単一のＣ１符号語内に許容数より多くのＲＬＬ誤り検出フラグがあるとの判断に応答して、前記特定のトラックについての前記符号化データに対してトラック依存消失復号化が行われる、前記テープドライブ。
【請求項８】
複数の読出しセンサを有し、各読出しセンサがデータを同時に読み出すように構成された磁気ヘッドと、
コントローラ及び前記コントローラに組み込まれた論理と、
を備えたテープドライブであって、前記論理は、
前記複数の読出しセンサを用いて、磁気テープ媒体の複数のトラックから符号化データを同時に読み出し、
前記磁気テープ媒体から同時に読み出された前記複数のトラックの少なくとも１つに関連付けられた１つ又は複数の時間変動信号品質問題の検出に基づいて、前記符号化データに対してトラック依存消失復号化を行う
ように構成されており、
前記符号化データに対してトラック依存消失復号化を行うように構成された前記論理が、
特定のトラックを用いて読み出された特定のＣ１符号語内の各バイトについて消失係数を計算し、各消失係数は、Ｃ１デコーダにより示されるＣ２復号化のための消失フラグに関連付けられ、Ｃ１符号語内のバイト誤りの数に比例し、復号されたバイトの信頼性の尺度であり、
前記特定のＣ１符号語についての全ての消失係数を合計して消失係数の合計を生成し、
前記消失係数の合計が所定の構成可能な係数閾値より大きいか否かを判断し、
前記合計が前記所定の構成可能な閾値より大きいとの判断に応答して、前記特定のトラックについての前記符号化データに対してトラック依存消失復号化を行うようにさらに構成されている、前記テープドライブ。
【請求項９】
複数の読出しセンサを有し、各読出しセンサがデータを同時に読み出すように構成された磁気ヘッドと、
コントローラ及び前記コントローラに組み込まれた論理と、
を備えたテープドライブであって、前記論理は、
前記複数の読出しセンサを用いて、磁気テープ媒体の複数のトラックから符号化データを同時に読み出し、
前記磁気テープ媒体から同時に読み出された前記複数のトラックの少なくとも１つに関連付けられた１つ又は複数の時間変動信号品質問題の検出に基づいて、前記符号化データに対してトラック依存消失復号化を行う
ように構成されており、
前記符号化データに対してトラック依存消失復号化を行うように構成された前記論理が、
前記符号化データのＣ１復号化を行って複数のＣ１符号語を生成し、
前記複数のＣ１符号語のいずれかが個別にＣ１バイト誤りの所定の閾値を超える数のＣ１バイト誤りを含む確率を求め、
前記確率が閾値確率より高いとの判断に応答して、Ｃ２復号化のための消失ポインタをイネーブルにし、
前記複数のＣ１符号語のうち前記確率が前記閾値確率より高い各Ｃ１符号語の場所に消失ポインタを挿入して、複数の消失イネーブルＣ１符号語を生成し、
前記複数の消失イネーブルＣ１符号語に対して、Ｃ２誤り及び消失復号化を用いてＣ２復号化を行う
ようにさらに構成されている、前記テープドライブ。
【請求項１０】
前記消失ポインタが、そのトラックから読み出されたＣ１符号語がＣ１バイト誤りの前記所定の閾値を超えるＣ１バイト誤りを含むことの最高相対確率を有するトラックのセットに対してのみイネーブルにされる、請求項９に記載のテープドライブ。
【請求項１１】
磁気ヘッドの複数の読出しセンサを用いて、磁気テープ媒体の複数のトラックから符号化データを同時に読み出すことと、
前記磁気テープ媒体から同時に読み出された前記複数のトラックの少なくとも１つに関連付けられた１つ又は複数の時間変動信号品質問題の検出に基づいて、前記符号化データに対してトラック依存消失復号化を行うことと
を含む方法であって、
前記１つ又は複数の時間変動信号品質問題が、同時に読み出された各トラックのＣ１符号語内の検出バイトの信頼性に関する副次的情報に基づいて判断され、前記副次的情報が、前記テープドライブのファームウェアにより監視される統計量に基づく所定の閾値を下回る少なくとも１つの読出し又は書込みチャネルの読出し又は書込みチャネル性能を含む、前記方法。
【請求項１２】
磁気ヘッドの複数の読出しセンサを用いて、磁気テープ媒体の複数のトラックから符号化データを同時に読み出すことと、
前記磁気テープ媒体から同時に読み出された前記複数のトラックの少なくとも１つに関連付けられた１つ又は複数の時間変動信号品質問題の検出に基づいて、前記符号化データに対してトラック依存消失復号化を行うことと
を含む方法であって、
前記１つ又は複数の時間変動信号品質問題が、同時に読み出された各トラックのＣ１符号語内の検出バイトの信頼性に関する副次的情報に基づいて判断され、前記副次的情報が、Ｃ１符号語当たりのランレングス制限（ＲＬＬ）誤り検出フラグの数を含み、特定のトラックから読み出された単一のＣ１符号語内に許容数より多くのＲＬＬ誤り検出フラグがあるとの判断に応答して、前記特定のトラックについての前記符号化データに対してトラック依存消失復号化が行われる、前記方法。
【請求項１３】
磁気ヘッドの複数の読出しセンサを用いて、磁気テープ媒体の複数のトラックから符号化データを同時に読み出すことと、
前記磁気テープ媒体から同時に読み出された前記複数のトラックの少なくとも１つに関連付けられた１つ又は複数の時間変動信号品質問題の検出に基づいて、前記符号化データに対してトラック依存消失復号化を行うことと
を含む方法であって、
前記方法が、
特定のトラックを用いて読み出された特定のＣ１符号語内の各バイトについて消失係数を計算すること、各消失係数は、Ｃ１デコーダにより示されるＣ２復号化のための消失フラグに関連付けられ、Ｃ１符号語内のバイト誤りの数に比例し、復号されたバイトの信頼性の尺度であり、
前記特定のＣ１符号語についての全ての消失係数を合計して消失係数の合計を生成すること、
前記消失係数の合計が所定の構成可能な係数閾値より大きいか否かを判断し、
前記合計が前記所定の構成可能な閾値より大きいとの判断に応答して、前記特定のトラックについての前記符号化データに対してトラック依存消失復号化を行うこと
をさらに含む、前記方法。
【請求項１４】
磁気ヘッドの複数の読出しセンサを用いて、磁気テープ媒体の複数のトラックから符号化データを同時に読み出すことと、
前記磁気テープ媒体から同時に読み出された前記複数のトラックの少なくとも１つに関連付けられた１つ又は複数の時間変動信号品質問題の検出に基づいて、前記符号化データに対してトラック依存消失復号化を行うことと
を含む方法であって、
前記符号化データに対してトラック依存消失復号化を行うことが、
前記符号化データのＣ１復号化を行って複数のＣ１符号語を生成することと、
前記複数のＣ１符号語のいずれかが個別にＣ１バイト誤りの所定の閾値を超える数のＣ１バイト誤りを含む確率を求めることと、
前記確率が閾値確率より高いとの判断に応答して、Ｃ２復号化のための消失ポインタをイネーブルにすることと、
前記複数のＣ１符号語のうち前記確率が前記閾値確率より高い各Ｃ１符号語の場所に消失ポインタを挿入して、複数の消失イネーブルＣ１符号語を生成することと、
前記複数の消失イネーブルＣ１符号語に対して、Ｃ２誤り及び消失復号化を用いてＣ２復号化を行うことと、
を含む、前記方法。
【請求項１５】
前記消失ポインタが、そのトラックから読み出されたＣ１符号語がＣ１バイト誤りの前記所定の閾値を超えるＣ１バイト誤りを含むことの最高相対確率を有するトラックのセットに対してのみイネーブルにされる、請求項１４に記載の方法。
【請求項１６】
プロセッサにより実行可能なプログラム命令を含むコンピュータプログラムであって、
前記プロセッサに、請求項１１〜１５のいずれか１項に記載の方法の各ステップを実行させる、前記コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テープストレージシステムに関し、より詳細には、トラック毎に消失復号化（erasure decoding）を選択的に適用することに関する。
【背景技術】
【０００２】
現在用いられているリニアテープドライブは、誤り訂正符号化（ＥＣＣ）のために積符号（product code）を適用する。これらの積符号は、Ｃ１行符号及びＣ２列符号から成る２つのリード・ソロモン成分符号を含む。積符号語を復号するには、積符号語内の全てのＣ１行及び全てのＣ２列の復号化に成功する必要があるが、これに失敗すると一時的及び／又は永続的な誤りをもたらすことになる。これらの一時的又は永続的な誤りは、データをテープに格納しようとする場合の重大な問題である。
【０００３】
典型的には、現在のテープドライブは、２つの動作モードを有するＥＣＣを実装する。すなわち、１）誤りのみ復号化（Error-only decoding）（訂正不能Ｃ１符号語に関する情報がＣ２デコーダに渡されない復号化）及び２）消失復号化（Erasure-decoding）（Ｃ１訂正不能符号語に関する情報がＣ１デコーダからＣ２デコーダに渡される復号化）である。
【０００４】
第２のモードの消失復号化は、多数のバイト誤りを有するＣ１訂正不能符号語が、Ｃ２復号化のための消失フラグとして用いられる場合に有益である。逆に、第２のモードは、少数の誤り（Ｃ１デコーダの誤り訂正能力を僅かしか超えない）しか有さないＣ１訂正不能符号語がＣ２復号化のための消失フラグとして用いられている場合には、性能低下をもたらす可能性がある。
【０００５】
したがって、ＥＣＣをテープドライブにおいて実装する場合、消失復号化の利用は必ずしも常に有益であるとは限らない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、全て同時に読み出されるトラックの時間変動信号品質に適合したトラック依存復号化スキームのためのシステム、方法、及びコンピュータプログラムを提供することである。
【課題を解決するための手段】
【０００７】
１つの実施形態において、テープドライブは、複数の読出しセンサを有し、各読出しセンサがデータを同時に読み出すように構成された磁気ヘッドと、コントローラと、コントローラに組み込まれた及び／又はコントローラにより実行可能な論理(logic)と、を含む。論理は、複数の読出しセンサを用いて、磁気テープ媒体の複数のトラックから符号化データを同時に読み出すように構成される。論理はまた、磁気テープ媒体から同時に読み出された複数のトラックの少なくとも１つに関連付けられた１つ又は複数の時間変動信号品質問題の検出に基づいて、符号化データに対してトラック依存消失復号化を行うように構成される。
【０００８】
別の実施形態において、方法は、磁気ヘッドの複数の読出しセンサを用いて、磁気テープ媒体の複数のトラックから符号化データを同時に読み出すことを含む。方法はまた、磁気テープから同時に読み出された複数のトラックの少なくとも１つに関連付けられた時間変動信号品質問題の検出に基づいて、符号化データに対してトラック依存消失復号化を行うことを含む。
【０００９】
さらに別の実施形態において、コンピュータプログラムは、プログラム命令を有するコンピュータ可読ストレージ媒体を含む。具体化されたプログラム命令は、プロセッサにより実行実行可能であり、該プロセッサが、該プロセッサにより、磁気ヘッドの複数の読み出しセンサを用いて磁気テープ媒体の複数のトラックから符号化されたデータを同時に読み出すようにさせる。プログラム命令はまた、プロセッサにより実行可能であり、該プロセッサが、該プロセッサにより、磁気テープから同時に読み出された複数のトラックの少なくとも１つに関連付けられた時間変動信号品質問題の検出に基づいて、符号化データに対してトラック依存消失復号化を行うようにさせる。
【００１０】
本発明の他の態様及び実施形態は、図面と併せて解釈するとき、本発明の原理を例示の目的で例証する、以下の詳細な説明から明らかとなる。
【図面の簡単な説明】
【００１１】
【図１】１つの実施形態によるネットワークストレージシステムを示す。
【図２】１つの実施形態による、テープ方式データストレージシステムの簡略化されたテープドライブを示す。
【図３】１つの実施形態によるテープカートリッジの略図である。
【図４】１つの実施形態によるテープドライブ内の概念的なデータフローを示す。
【図５】１つの実施形態による、データを編成してサブデータセット（ＳＤＳ）にするために用いることができる論理データアレイを示す。
【図６】１つの実施形態によるトラック依存消失イネーブル論理を有するシステムを示す。
【図７】１つの実施形態によるトラック依存消失イネーブル論理を示す。
【図８】別の実施形態によるトラック依存消失イネーブル論理を示す。
【図９】さらに別の実施形態によるトラック依存消失イネーブル論理を示す。
【図１０】実施形態によるトラック依存消失イネーブル論理を示す。
【図１１】１つの実施形態による、トラック依存消失係数論理を有するシステムを示す。
【図１２】１つの実施形態による方法のフローチャートを示す。
【発明を実施するための形態】
【００１２】
以下の説明は、本発明の一般原理を例証する目的で行うものであり、ここで特許請求される発明の概念を限定することを意味するものではない。さらに、本明細書で説明される特定の特徴は、種々の可能な組合せ及び置換において、その他の説明される特徴との組合せで用いることができる。
【００１３】
本明細書において特段の定義のない限り、全ての用語は、明細書が暗示する意味並びに当業者により理解される及び／又は辞書、条約等で定義される意味を含む、その最も広い可能な解釈が与えられるものとする。
【００１４】
本明細書及び添付の特許請求の範囲において用いられる場合、単数形「a」、「an」及び「the」は、特段の断りのない限り複数の指示物を含むこともまた理解されたい。「含む」及び／又は「含んでいる」という用語は、本明細書で用いられる場合、記述された特徴、整数、動作、要素、及び／又は成分の存在を指定するが、１つ又は複数のその他の特徴、整数、動作、要素、成分、及び／又はそれらの群の存在又は付加を排除するものではないことがさらに理解されるであろう。「約」という用語は、本明細書で用いられる場合、当業者に理解されるように、用語「約」が先立つ値を、用語「約」が先立つ値に合理的に近いいずれかの値と共に示す。そうでないことが示されていない場合、用語「約」は、用語「約」が先立つ値±その値の１０％を表す。例えば、「約１０」は、９．０以上１１．０以下の全ての値を示す。
【００１５】
以下の説明は、全て同時に読み出されるトラックの時間変動信号品質に適合したトラック依存復号化スキームのためのシステム、方法、及びコンピュータプログラムの幾つかの好ましい実施形態を開示する。このスキームは、誤り訂正符号化（ＥＣＣ）により符号化されたデータの復号に起因する一時的及び永続的な誤りの確率を、計算の複雑さ及び電力消費の僅かな増大しか伴わずに、低減する。
【００１６】
１つの一般的な実施形態において、テープドライブは、複数の読出しセンサを有し、各読出しセンサがデータを同時に読み出すように構成された磁気ヘッドと、コントローラと、コントローラに組み込まれた及び／又はコントローラにより実行可能な論理と、を含む。論理は、複数の読出しセンサを用いて、磁気テープ媒体の複数のトラックから符号化データを同時に読み出すように構成される。論理はまた、磁気テープ媒体から同時に読み出された複数のトラックの少なくとも１つに関連付けられた１つ又は複数の時間変動信号品質問題の検出に基づいて、符号化データに対してトラック依存消失復号化を行うように構成される。
【００１７】
別の一般的な実施形態において、方法は、磁気ヘッドの複数の読出しセンサを用いて、磁気テープ媒体の複数のトラックから符号化データを同時に読み出すことを含む。方法はまた、磁気テープ媒体から同時に読み出された複数のトラックの少なくとも１つに関連付けられた１つ又は複数の時間変動信号品質問題の検出に基づいて、符号化データに対してトラック依存消失復号化を行うことを含む。
【００１８】
さらに別の一般的な実施形態において、コンピュータプログラムは、具体化されたプログラム命令を有するコンピュータ可読ストレージ媒体を含む。具体化されたプログラム命令は、プロセッサにより実行可能であり、該プロセッサが、該プロセッサにより、磁気ヘッドの複数の読出しセンサを用いて磁気テープ媒体の複数のトラックから符号化データを同時に読み出すようにさせる。プログラム命令はまた、プロセッサにより実行可能であり、該プロセッサが、該プロセッサにより、磁気テープ媒体から同時に読み出された複数のトラックの少なくとも１つに関連付けられた１つ又は複数の時間変動信号品質問題の検出に基づいて、符号化データに対してトラック依存消失復号化を行うようにさせる。
【００１９】
ここで図１を参照すると、１つの実施形態により、ネットワークストレージシステム１０の略図が示される。このネットワークストレージシステム１０は、適切なストレージシステムの一例に過ぎず、本明細書で説明される発明の実施形態の使用又は機能の範囲に関して何ら限定を示唆することを意図したものではない。とにかく、ネットワークストレージシステム１０は、実装されること及び／又は上述の機能のいずれかを行うことができる。
【００２０】
ネットワークストレージシステム１０内には、コンピュータシステム／サーバ１２が存在し、これは他の汎用又は専用コンピューティングシステム環境又は構成と共に動作できる。コンピュータシステム／サーバ１２との使用に適したものであり得る周知のコンピューティングシステム、環境及び／又は構成の例は、限定しないが、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、手持型若しくはラップトップ型デバイス、マルチプロセッサシステム、マイクロプロセッサに基づくシステム、セットトップボックス、プログラム可能家庭用電化製品、ネットワークＰＣ、ミニコンピュータシステム、メインフレームコンピュータシステム、及び上記システム又はデバイスのいずれかを含む分散型クラウドコンピューティング環境、などを含む。
【００２１】
コンピュータシステム／サーバ１２は、コンピュータシステムにより実行されるプログラムモジュールなどのコンピュータシステム実行可能命令の一般的文脈において説明することができる。一般に、プログラムモジュールは、特定のタスクを実行する又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、構成要素、論理、データ構造などを含むことができる。コンピュータシステム／サーバ１２は、通信ネットワークを通じて連結された遠隔処理デバイスによってタスクが実行される、分散型クラウドコンピューティング環境において実施することができる。分散型クラウドコンピューティング環境において、プログラムモジュールは、メモリストレージデバイスを含む、ローカル及び遠隔コンピュータシステム・ストレージ媒体の両方に位置することができる。
【００２２】
図１に示すように、ネットワークストレージシステム１０内のコンピュータシステム／サーバ１２は、汎用コンピューティングデバイスの形態で示される。コンピュータシステム／サーバ１２の構成要素は、限定しないが、１つ又は複数のプロセッサ又は処理ユニット１６と、システムメモリ２８と、システムメモリ２８を含む種々のシステム構成要素をプロセッサ１６に結合するバス１８とを含むことができる。
【００２３】
バス１８は、多様なバス・アーキテクチャのいずれかを用いた、メモリバス又はメモリコントローラ、周辺バス、アクセラレイテッド・グラフィックス・ポート、及びプロセッサ又はローカルバスを含む、幾つかの型式のバス構造体のうちのいずれか１つ又は複数を表す。限定ではなく例示として、このようなアーキテクチャは、インダストリ・スタンダード・アーキテクチャ（ＩＳＡ：Industry Standard Architecture）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ：Micro Channel Architecture）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオ・エレクトロニクス・スタンダード・アソシエーション（ＶＥＳＡ：Video Electronics Standards Association）ローカルバス、及びペリフェラル・コンポーネント・インターコネクト（ＰＣＩ：Peripheral Component Interconnects）バスを含む。
【００２４】
コンピュータシステム／サーバ１２は、典型的には種々のコンピュータシステム可読媒体を含む。このような媒体は、コンピュータシステム／サーバ１２によりアクセス可能な任意の利用可能な媒体とすることができ、これは、揮発性及び不揮発性媒体、取外し可能及び取外し不能媒体の両方を含む。
【００２５】
システムメモリ２８は、ランダム・アクセス・メモリ（ＲＡＭ）３０及び／又はキャッシュメモリ３２などの揮発性メモリの形態のコンピュータシステム可読媒体を含むことができる。コンピュータシステム／サーバ１２は、他の取外し可能／取外し不能の揮発性／不揮発性コンピュータシステム・ストレージ媒体をさらに含むことができる。例示のみの目的で、ストレージシステム３４を、図示されていないが典型的には「ハードディスク」と呼ばれる取り外し不能の不揮発性磁気媒体の読出し及び書込みのために設けることができ、これはＨＤＤ内で動作することができる。図示されていないが、取外し可能な不揮発性磁気媒体（例えば「フロッピーディスク」）の読出し及び書込みのための磁気ディスクドライブ、及び、取外し可能な不揮発性光ディスク、例えばＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ又は他の光媒体の読出し及び書込みのための光ディスクドライブを設けることができる。このような例において、１つ又は複数のデータ媒体インタフェースにより各々がバス１８に接続することができる。後でさらに図示され説明されるように、メモリ２８は、本明細書で説明される実施形態の機能を実行するように構成されたプログラムモジュールのセット（例えば少なくとも１つ）を有する、少なくとも１つのプログラムを含むことができる。
【００２６】
プログラムモジュール４２のセット（例えば少なくとも１つ）を有するプログラム／ユーティリティ４０は、限定ではなく例示として、オペレーションシステム、１つ又は複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータと共に、メモリ２８内に格納することができる。オペレーションシステム、１つ又は複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータの各々又はそれらの何らかの組合せは、ネットワーキング環境の実装を含むことができる。プログラムモジュール４２は一般に、本明細書で説明するような本発明の実施形態の機能及び／又は方法論を実行する。
【００２７】
コンピュータシステム／サーバ１２はまた、キーボード、ポインティングデバイス、ディスプレイ２４などの１つ又は複数の外部デバイス１４、ユーザがコンピュータシステム／サーバ１２と対話するのを可能にする１つ又は複数のデバイス、及び／又はコンピュータシステム／サーバ１２が１つ又は複数の他のコンピューティングデバイスと通信することを可能にする任意のデバイス（例えばネットワークカード、モデム等）と通信することもできる。このような通信は、入力／出力（Ｉ／Ｏ）インタフェース２２を介して行うことができる。さらにまた、コンピュータシステム／サーバ１２は、ネットワークアダプタ２０を介して、ローカルエリアネットワーク（ＬＡＮ）、一般広域ネットワーク（ＷＡＮ）、及び／又は公衆ネットワーク（例えばインターネット）などの１つ又は複数のネットワークと通信することができる。図示されるように、ネットワークアダプタ２０は、バス１８を介してコンピュータシステム／サーバ１２の他の構成要素と通信する。図示していないが、他のハードウェア及び／又はソフトウェア構成要素をコンピュータシステム／サーバ１２と共に用いることができる理解されたい。例として、限定しないが、マイクロコード、デバイスドライバ、冗長処理ユニット、外部ディスクドライブアレイ、独立ディスクの冗長アレイ（ＲＡＩＤ）システム、テープドライブ、及びデータアーカイブ・ストレージシステム、等が挙げられる。
【００２８】
図２は、本発明の文脈で使用することができる、テープ方式データストレージシステムの簡略化されたテープドライブ１００を示す。テープドライブの１つの特定の実施形態を図２に示すが、本明細書で説明する実施形態は、任意の型式のテープドライブシステムの文脈で実装することができることに留意されたい。
【００２９】
図示されるように、テープ供給カートリッジ１２０及び巻取りリール１２１が、テープ１２２を支持するために設けられる。リールのうち１つ又は複数は、取外し可能カートリッジの一部を形成することができ、必ずしもテープドライブ１００の一部である必要はない。図２に示すようなテープドライブは、テープ供給カートリッジ１２０及び巻取りリール１２１を駆動するためのテープ１２２をいずれかの型式のテープヘッド１２６上で動かすために、さらに駆動モータを含むことができる。このようなヘッドは、リーダ、ライタ、又は両方のアレイを含むことができる。
【００３０】
ガイド１２５は、テープヘッド１２６を横切るようにテープ１２２を案内する。このようなテープヘッド１２６は、次いで、ケーブル１３０を介してコントローラ１２８に結合される。コントローラ１２８は、テープドライブ１００のいずれかのサブシステムを制御するためのプロセッサ及び／又は任意の論理とすることができ、又はこれを含むことができる。例えば、コントローラ１２８は、典型的には、ヘッド機能、例えば、サーボ追従、データ書込み、データ読出し等を制御する。コントローラ１２８は、少なくとも１つのサーボチャネル及び少なくとも１つのデータチャネルを含むことができ、それらの各々は、テープ１２２に書き込まれる及び／又はテープ１２２から読み出す情報を処理する及び／又は格納するように構成されたデータフロー処理論理を含む。コントローラ１２８は、当該分野で知られた論理並びに本明細書で開示される任意の論理の下で動作することができるので、従って、種々の実施形態において本明細書に含まれるテープドライブのいずれの説明についても、プロセッサとみなすことができる。コントローラ１２８は、コントローラ１２８により実行可能な命令を格納することができる、いずれかの既知の型式のメモリ１３６に結合することがでる。さらに、コントローラ１２８は、本明細書で提示される方法論の幾つか又は全てを実行する又は制御するように構成されることができ及び／又はプログラム可能であり得る。したがって、コントローラ１２８は、１つ又は複数のチップ、モジュール及び／又はブロック内にプログラムされた論理、１つ又は複数のプロセッサが利用可能なソフトウェア、ファームウェア、及び／又は他の命令等、並びにそれらの組合せにより、種々の動作を行うように構成されるものと考えることができる。
【００３１】
ケーブル１３０は、テープ１２２に記録されるデータをヘッド１２６に伝送するため、及びテープ１２２からヘッド１２６が読み出したデータを受け取るための、読出し／書込み回路を含むことができる。アクチュエータ１３２は、テープ１２２に対するヘッド１２６の位置を制御する。
【００３２】
全て当業者には理解されるように、テープドライブ１００とホスト（内部又は外部）との間でデータを送受信する通信のため、並びに、テープドライブ１００の動作を制御し、テープドライブ１００の状態をホストに通信するために、インタフェース１３４を設けることができる。
【００３３】
図３は、１つの実施形態による例示的なテープカートリッジ１５０を示す。このようなテープカートリッジ１５０は、図２に示すようなシステムと共に用いることができる。図示されるように、テープカートリッジ１５０は、ハウジング１５２と、ハウジング１５２内のテープ１２２と、ハウジング１５２に結合された不揮発性メモリ１５６とを含む。幾つかのアプローチにおいて、図３に示すように、不揮発性メモリ１５６は、ハウジング１５２の内部に埋め込まれる。さらなるアプローチにおいて、不揮発性メモリ１５６は、ハウジング１５２を改造することなくハウジング１５２の内側又は外側に取り付けることができる。例えば、不揮発性メモリは、粘着性ラベル１５４内に埋め込むことができる。１つの好ましい実施形態において、不揮発性メモリ１５６は、テープカートリッジ１５０の内側又は外側に埋め込まれた、又は結合された、フラッシュメモリデバイス、ＲＯＭデバイス等とすることができる。不揮発性メモリは、テープドライブ及びテープ作動ソフトウェア（駆動ソフトウェア）、及び／又は他のデバイスによりアクセス可能である。
【００３４】
図４は、Ｋ個の書込チャネルを介して同時に書き込まれるＫ個のトラックを有するテープドライブにおける概念的なデータフロー３００を詳細な形態で示す。データフロー３００は、１つの実施形態により、ホストデータを、周期冗長検査（ＣＲＣ）誤り検出エンコーダ３０２、圧縮モジュール３０４、随意の暗号化モジュール３０６、誤り訂正符号（ＥＣＣ）エンコーダ３０８（これはＣ１／Ｃ２又はＣ２／Ｃ１として配置されたＣ１エンコーダ及びＣ２エンコーダを含む）、及びテープレイアウトモジュール３１０に通すことを含む。ヘッダ挿入モジュール３１２は、図示されるようにテープレイアウトモジュール３１０にフィードするように配置される場合もあり、又はＥＣＣエンコーダ３０８にフィードするように配置される場合もあり、それにより、１つの実施形態において、ヘッダがある量のＥＣＣ符号化を受けることを可能にする。テープレイアウトモジュール３１０は、データを分割して、テープ媒体のトラックに書き込む各チャネル１、．．．、Ｋのための個別のフィードにする。データフロー３００はまた、同時に書き込まれる各トラック１、．．．、Ｋに対して、データのスクランブリング（データランダム化）３１４、．．．、３１６、変調符号化３１８、．．．、３２０、同期挿入３２６、．．．、３２８、及び多重化３２２、．．．、３２４を含む。
【００３５】
以下の説明において、説明を簡略化するために、これらの動作の大部分は示さない。しかしながら、本明細書の説明はいずれも、本説明を読んだ当業者には理解されるように、図示されていない付加的な動作を含むことができる。同時に書き込むことができるトラックの数は、用いられるテープドライブに依存し、Ｋの値は１乃至６４又はそれを超える範囲にわたる。
【００３６】
図５は、１つの実施形態による、データを編成してサブデータセット（ＳＤＳ）にするために用いることができる論理データアレイ４００を示す。図示されるように、データアレイは、複数の行４０２及び列４０４を含む。データアレイ４００内の各行４０２は、複数のＣ１符号語を含む符号語インターリーブ（ＣＷＩ）である。ＣＷＩが４つのインターリーブされた符号語を含む場合、これはＣＷＩ−４と呼ばれる。ＳＤＳ内のデータは、各行４０２にわたるＣ１符号化によりＣ１行パリティ（これは後で修正されてデータアレイ４００を生成するので図示せず）を生成すること、及び各列４０４にわたるＣ２符号化によりＣ２列パリティ４０８を生成することにより保護される。
【００３７】
図示されるように、各行４０２についてのヘッダ４０６は、Ｃ１パリティ（行４０２内のデータのみについて計算される）を修正してヘッダ４０６を考慮に入れたＣ１’パリティ４１０を生成することにより、Ｃ１符号化スキームを用いて符号化することができる。この実施形態において、ヘッダ４０６は、１レベルＥＣＣ（Ｃ１’パリティ４１０のみ）により保護され、他方、データは、２レベルＥＣＣ（Ｃ１’パリティ４１０及びＣ２パリティ４０８）により保護される。
【００３８】
各データセットは、多重サブデータセットを含み、各サブデータセットは、論理二次元アレイにより表されることができる。各データセットが多重ＳＤＳを含み、かつ列符号化ＳＤＳの各行（ＣＷＩ）に１つのヘッダに割り当てられるので、通常、数百ものヘッダが単一のデータセットに割り当てられる。
【００３９】
現在使用されているリニアテープドライブは、同時に３２トラックまで磁気テープ媒体に書き込み及び／又は磁気テープ媒体から読み出す。積符号のＣ１行符号語は、バイト・インターリーブ方式で磁気テープ媒体の個々のトラック上に書き込まれる。磁気テープ媒体の平行なトラックの書込み及び読出しを行う個々の変換器の性能の違いに起因して、個々のトラックの行誤り率は、トラック毎に著しくことなる場合があり、また、個々のトラックの各々ついて経時的に著しく異なる場合がある。
【００４０】
この個々のトラックの行誤り率の変動に対処するために、磁気テープ媒体から同時に読み出される全てのトラックの時間変動信号品質に適合するように構成された１つの実施形態により、トラック依存復号化スキームを用いることができる。
【００４１】
さらなる実施形態において、トラック信号品質を考慮に入れるやり方で、消失ポインタ（Ｃ１符号語を、Ｃ２復号化の際にその中の復号化バイトに依拠する代わりに消去すべきであることを知らせる）が生成される。１つのアプローチにおいて、Ｃ２復号化のための消失ポインタは、後で詳述するように、Ｃ１符号語が多数のバイト誤りを比較的高い確率で含むときかつそのときに限り、イネーブルにされる。
【００４２】
１つの実施形態によれば、トラック依存消失イネーブル論理(track-dependenterasure enable logic)を、テープドライブ又は磁気テープ媒体からデータを読み出すように構成されたその他の何らかのデバイス内で利用することができる。トラック依存消失イネーブル論理は、各トラックのＣ１符号語内の検出バイトの信頼性に関する副次的情報を用いて、Ｃ１符号語が所定の閾値を超える数のバイト誤りを有する確率を求めることができる。
【００４３】
１つの実施形態によれば、テープドライブは、複数の読出しセンサを有する磁気ヘッドを含むことができる。各読出しセンサは、磁気テープ媒体の１つのトラックから同時にデータを読み出すように構成され、それにより複数のトラックを磁気テープ媒体から同時に読み出すことが可能になり、同時に読み出すことが可能な数は磁気ヘッドの読出しセンサの数に等しい。当然のことながら、幾つかの読出しセンサは、ヘッド位置合わせのため及び／又は他の目的のためのサーボトラックを読み出すように構成することができるが、これらの説明の目的で、読出しセンサは、各々、磁気テープ媒体からデータを読み出すことが可能であるものとする。
【００４４】
テープドライバはまた、ハードウェアプロセッサと、ハードウェアプロセッサに組み込まれた及び／又はハードウェアプロセッサにより実行可能な論理とを含む。ハードウェアプロセッサは、ハードウェア処理ユニット及び／又は回路、例えば、中央処理ユニット（ＣＰＵ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラム可能ゲートアレイ（ＦＰＧＡ）等、それらの組合せ、又は当該分野で知られたその他のいずれかの適切なコンピューティングデバイスとすることができる。論理は、ソフトウェア、ハードウェア、又はそれらの何らかの組合せにおいて実装することができる。論理は、複数の読出しセンサを用いて、複数の磁気テープ媒体のトラックから符号化データを同時に読み出すように構成することができる。同時に読み出すことができるトラックの数は、磁気ヘッドの読出しセンサの数により決まる。論理はまた、磁気テープ媒体から同時に読み出された複数のトラックの少なくとも１つに関連付けられた１つ又は複数の時間変動信号品質問題の検出に基づいて、符号化データに対してトラック依存消失復号化を行うように構成することができる。
【００４５】
１つのアプローチによれば、１つ又は複数の時間変動信号品質問題は、同時に読み出された各トラックのＣ１符号語内の検出バイトの信頼性に関する副次的情報に基づいて判断することができる。副次的情報は、以下の副次的情報源のうちの１つ又は複数を含むことができる。１）ファームウェアにより監視することができるチャネル／トラック性能の統計量、例えば較正データ、実行時統計量など、２）Ｃ１デコーダ統計量、例えば、Ｃ１復号化後の訂正不能Ｃ１符号語の数、３）読出しチャネルのメトリック、例えば平均二乗誤差（ＭＳＥ）、信号対雑音比（ＳＮＲ）など、及び４）ランレングス制限（ＲＬＬ）デコーダのメトリック、例えば誤り検出フラグの数。当然のことながら、本説明を読めば当業者には明らかなように、他の副次的情報を用いることができる。
【００４６】
１つの例において、副次的情報は、テープドライブのファームウェアにより監視される統計量に基づく所定の閾値を下回る少なくとも１つの読出し又は書込みチャネルの読出しチャネル性能を含むことができる。読出しチャネルについて監視される統計量は、同時に読み出される各トラックについての平均又は指数平均ＭＳＥ又はＳＮＲを含むことができる。
【００４７】
別の例において、副次的情報は、符号化データのＣ１復号化の間にＣ１デコーダについて蓄積される統計量に基づく所定の閾値を下回るＣ１デコーダ性能を含むことができる。Ｃ１デコーダについて蓄積される統計量は、各トラックについての訂正不能Ｃ１符号語の数を含むことができる。
【００４８】
この例において、Ｃ１デコーダは、訂正可能な数を超えるＣ１バイト誤りがＣ１符号語内に存在していることに応答して、訂正不能Ｃ１符号語を判断する。Ｃ１デコーダは、おそらくは中に含まれる誤りが多すぎるせいでＣ１符号語を訂正することが不可能なので、Ｃ１符号語は非常に多くのＣ１バイト誤りをその中に含むものと推定することもできる。
【００４９】
この例において、Ｃ１デコーダ性能は、特定のトラックから読み出された少なくとも１つの訂正不能Ｃ１符号語の検出に応答して、特定のトラックについて所定の閾値を下回ると判断されるものとすることができる。
【００５０】
別の例において、Ｃ１デコーダ性能は、特定のトラックについて事前設定された数（Ｍ）の直近に復号されたＣ１符号語における所定の数（Ｎ）より多くの訂正不能Ｃ１符号語の検出に応答して、特定のトラックについて所定の閾値を下回ると判断されるものとすることができる。
【００５１】
別の例によれば、副次的情報は、Ｃ１符号語当たりのＲＬＬ誤り検出フラグの数を含むことができる。この場合、特定のトラックから読み出された単一のＣ１符号語内に許容数より多くのＲＬＬ誤り検出フラグがあるとの判断に応答して、特定のトラックについての符号化データに対してトラック依存消失復号化が行われる。
【００５２】
上述のいずれかの実施形態により、符号化データに対してトラック依存消失復号化を行うように構成された論理は、以下の動作のいずれか又は全てを含むように構成することができる。すなわち、符号化データのＣ１復号化を行って複数のＣ１符号語を生成し、複数のＣ１符号語のいずれかが個別にＣ１バイト誤りの所定の閾値を超える数のＣ１バイト誤りを含む確率を求め、確率が閾値確率より高いとの判断に応答してＣ２復号化のための消失ポインタをイネーブルにし、複数のＣ１符号語のうち確率が確率閾値より高い各Ｃ１符号語の場所に消失ポインタを挿入して複数の消失イネーブルＣ１符号語を生成し、複数の消失イネーブルＣ１符号語に対して、Ｃ２誤り及び消失復号化を用いてＣ２復号化を行う。
【００５３】
１つの実施形態によれば、消失ポインタは、そのトラックから読み出されたＣ１符号語がＣ１バイト誤りの所定の閾値を超えるＣ１バイト誤りを含むことの最高相対確率を有するトラックのセットに対してのみ、イネーブルにすることができる。この方式では、一度に１つより多くのトラック上で消失ポインタがイネーブルにされることはなく、それは常に、そのトラックから読み出されたＣ１符号語がＣ１バイト誤りの所定の閾値を超えるＣ１バイト誤りを含むことの最高相対確率を有するトラックである。このことは、動作の複雑さが、誤りのみ復号化と比べて著しく増大しないことを保証する。
【００５４】
ここで図６を参照すると、１つの実施形態により、トラック依存消失復号化のために構成されたシステム５００が示される。図示されるように、システム５００は、Ｋ個のトラックの各々（トラック０、トラック１、．．．、トラックＫ−１）について、読出しチャネルアーキテクチャ５０８、ＲＬＬデコーダ５０６（又は当該分野で知られた型式のその他の何らかの適切な変調デコーダ）、Ｃ１デコーダ５０４、及びトラック依存消失イネーブル論理５０２を含む。これらの種々の構成要素は、各トラック内に含まれる場合もあり、又は種々の構成要素の幾つか若しくは全てを集中化し、その中央実装から各トラックに対して実装される場合もある。
【００５５】
この実施形態において、Ｃ２復号化のための消失フラグは、特定のトラック内の１つ又は複数のＣ１符号語が多数のバイト誤りを含む高い確率が存在するときかつそのときに限り、イネーブルにされる（ヌルに対して０が割当てられ又はイネーブルに対して１が割り当てられる決定ブロックにより示される）。多数のバイト誤りとは、単一のＣ１符号語における訂正可能なバイト誤りの量を超える数のバイト誤りを意味する。
【００５６】
Ｃ１デコーダがＣ１符号語を首尾良く復号することができた場合、Ｃ１デコーダは、バイト誤りの数が訂正可能バイト誤りの量を超えないものと想定する。しかしながら、これは、Ｃ１デコーダ誤訂正バイト（miscorrecting byte）に応答して真ではなく、この場合、少なくともｄｍｉｎ誤りが存在し、ここでｄｍｉｎはＣ１符号の最小ハミング距離であり、Ｃ１符号の誤り訂正能力ｔは、ｔ≦ｆｌｏｏｒ（（ｄｍｉｎ−１）／２）である。Ｃ１デコーダがＣ１符号語を首尾良く復号することができない場合、Ｃ１復号化の失敗が生じ、この場合、バイト誤りの数は、訂正可能バイト誤りの量ｔ≦ｆｌｏｏｒ（（ｄｍｉｎ−１）／２）を必然的に超えることになる。
【００５７】
バイト誤りの数が単一Ｃ１符号語内の訂正可能バイト誤りの量を超えることの尤度又は確率に関するこの決定は、先に説明したように、副次的情報に基づくことができる。この副次的情報は、トラック０からトラックＫ−１までの各トラックについてＣ１符号語内の検出バイトの信頼性に対する洞察を与える。
【００５８】
１つの実施形態において、Ｋ＝３２で有り、例えばシステム５００内に３２個のトラックが存在する。他の幾つかの実施形態において、Ｋは、１６、６４、又はその他の正の整数とすることができる。
【００５９】
消失フラグがイネーブルにされて設定され、又はディスエーブルにされて使用されないようにされた後、Ｃ１符号語、又は消失イネーブルＣ１符号語（イネーブルにされた消失フラグを有する少なくとも１つのＣ１符号語を伴う）は、脱インターリーバ（de-interleaver）／バッファ５１０に渡されて、符号化データ内のデータのインターリービングが元に戻され、データをそのＣ２復号化のためのＣ２デコーダ５１２に渡す前に該データが格納される。Ｃ２復号化は、誤りのみ復号化（消失フラグがイネーブルにされていないことに応答して）又は誤り及び消失復号化（図６においてＣ２デコーダ５１２内のアレイの黒塗り行で示されるように、消失フラグがイネーブルにされたことに応答して）とすることができる。
【００６０】
１つの実施形態において、トラック依存消失イネーブル論理５０２は、トラック依存消失イネーブル論理５０２に命令することができる、テープドライブ、テープライブラリ、又はその他の何らかの適切なシステムのファームウェア５１４と通信することができる。
【００６１】
ここで図７を参照すると、トラック依存消失イネーブル論理６００の実施形態が示される。トラック依存消失イネーブル論理６００は、１つの実施形態において図６のシステム５００内のトラック依存消失イネーブル論理５０２として用いることができ、又はデコーダ内で消失復号化をイネーブルにするための他のいずれかの適切なシステム内で用いることができる。再び図７を参照すると、トラック依存消失イネーブル論理６００は、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せにおいて実装することができる。図示されるように、トラック依存消失イネーブル論理６００は、読出し／書込み構成レジスタ（ＣＦＧ  ＲＥＧ）６０２を含む。読出し／書込み構成レジスタ６０２は、メモリマッピング又は当該分野で知られたその他の何らかの適切な機構を介して、ファームウェア５１４からアクセス可能である。
【００６２】
１つの実施形態において、ファームウェア５１４は、チャネル／トラック性能に関する統計量を収集するように構成されることができる。ファームウェア５１４はまた、トラック／チャネル信号品質の信頼性に関する決定、判断及び／又は解析を生成するために、これらの統計量を評価するように構成されることもできる。統計量は、種々の実施形態において、較正結果、実行時統計量、例えば、誤り、読出されるデータ、棄却されるデータ、等を含むことができる。統計量の評価に基づいて、消去イネーブルビットを設定して脱インターリーバ／バッファに与えることができる。
【００６３】
ここで図８を参照すると、トラック依存消失イネーブル論理７００の実施形態が示される。トラック依存消失イネーブル論理７００は、１つの実施形態において図６のシステム５００内のトラック依存消失イネーブル論理５０２として用いることができ、又はデコーダ内で消失復号化をイネーブルにするための他のいずれかの適切なシステム内で用いることができる。再び図８を参照すると、トラック依存消失イネーブル論理７００は、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せにおいて実装することができる。
【００６４】
図示されるように、トラック依存消失イネーブル論理７００は、トラック依存消失イネーブル論理７００がトラック／チャネル信号品質信頼性を判断するために用いることができる、長さＭの遅延ライン７０８と、アキュムレータ７０６とを含む。遅延ライン７０８は、「０」又は「１」を格納する。Ｃ１符号語が訂正不能であることに応答して、「１」が遅延ライン７０８に入る。Ｃ１符号語が訂正可能であることに応答して、「０」が遅延ライン７０８に入る。Ｃ１デコーダ統計量の履歴、具体的にはＣ１デコーダから出力された訂正不能Ｃ１符号語をこの点に関して用いることができる。アキュムレータ７０６は、長さＭのスライディング窓と呼ばれるＭ個の直近の符号語における訂正不能Ｃ１符号語の数をカウントし、それゆえアキュムレータ７０６はスライディング窓アキュムレータと呼ぶことができる。アキュムレータ７０６は、１つの実施形態において、３つの整数の合計ｓｎを計算する。遅延ラインに入ったａｎ＝「０」又は「１」を加算し、遅延ラインを出たｂｎ＝「０」又は「１」を減算し、最後の合計値ｓｎ−１を加算する。したがってｓｎ＝ｓｎ−１＋ａｎ−ｂｎである。
【００６５】
閾値検出器７０４は、１つの実施形態において、Ｍ個のＣ１符号語のうちＮ個より多くが訂正不能であるか否か判断することにより、動作する。訂正不能とは、Ｃ１符号語内に存在する誤りが多すぎることに起因して、又は当該分野で知られたその他の何らかの理由で、Ｃ１デコーダがＣ１符号語を首尾良く訂正することができないことを意味する。Ｍ個のＣ１符号語のうちＮ個より多くが訂正不能であるとの判断に応答して、消失フラグがイネーブルにされる（ｅｎ＝１）。そうでない場合、消失フラグは、ディスエーブルにされる（ｅｎ＝０）。スライディング窓の長さＭは、１つのアプローチにおいて、ファームウェア５１４を介して構成可能な閾値７０２を用いて構成することができる。
【００６６】
ここで図９を参照すると、トラック依存消失イネーブル論理８００の実施形態が示される。トラック依存消失イネーブル論理８００は、１つの実施形態において図６のシステム５００内のトラック依存消失イネーブル論理５０２として用いることができ、又はデコーダ内で消失復号化をイネーブルにするための他のいずれかの適切なシステム内で用いることができる。再び図９を参照すると、トラック依存消失イネーブル論理８００は、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せにおいて実装することができる。
【００６７】
図９に示すように、トラック依存消失イネーブル論理８００は、トラック依存消失イネーブル論理８００がトラック／チャネル信号品質信頼性を判断するために用いることができる平均化ユニット８０６を含む。平均化ユニット８０６は、１つの実施形態において、読出しチャネルからの１つ又は複数のメトリック、例えば、ＭＳＥ、ＳＮＲ、又は読出しチャネルから入手可能な他の何らかのメトリックを平均化することができる。１つの実施形態において、読出しチャネルからの指数平均ＭＳＥ及び／又はＳＮＲメトリックを計算することができる。
【００６８】
閾値検出器８０４は、１つの実施形態において、平均チャネルメトリックが所定の構成可能な閾値を下回るか否かを判断することにより動作する。平均チャネルメトリックが構成可能な閾値を下回るとの判断に応答して、消失フラグがイネーブルにされる（ｅｎ＝１）。そうでない場合、消失フラグは、ディスエーブルにされる（ｅｎ＝０）。閾値は、１つのアプローチにおいて、ファームウェア５１４を介して構成可能閾値（ＣＦＧ  ＴＨＲ）８０２を用いて構成することができる。
【００６９】
代替的なアプローチにおいて、トラック／チャネルのグループを用いることができ、チャネルメトリックがチャネル毎ではなくグループとして閾値を下回るか否か判断するために、このグループ内の全てのチャネルについてチャネルメトリックの平均を取る。
【００７０】
ここで図１０を参照すると、トラック依存消失イネーブル論理９００の実施形態が示される。トラック依存消失イネーブル論理９００は、１つの実施形態において図６のシステム５００内のトラック依存消失イネーブル論理５０２として用いることができ、又はデコーダ内で消失復号化をイネーブルにするための他のいずれかの適切なシステム内で用いることができる。再び図１０を参照すると、トラック依存消失イネーブル論理９００は、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せにおいて実装することができる。
【００７１】
図１０に示すように、トラック依存消失イネーブル論理９００は、トラック依存消失イネーブル論理９００がトラック／チャネル信号品質信頼性を判断するために用いることができるアキュムレータ９０６を含む。アキュムレータ９０６は、１つの実施形態において、Ｃ１符号語毎に立てられたＲＬＬ誤り検出フラグの数をカウントすることができる。１つの実施形態において、アキュムレータ９０６は、新たなＣ１符号語が評価されるときにリセットするためのリセット機構を含むことができる。
【００７２】
閾値検出器９０４は、１つの実施形態において、いずれかの特定のＣ１符号語についてＲＬＬデコーダから立てられた誤り検出フラグのカウントが所定の構成可能な閾値を上回るか否かを判断することにより動作する。いずれかのＣ１符号語についてＲＬＬから立てられた誤り検出フラグが構成可能な閾値を上回るとの判断に応答して、消失フラグがイネーブルにされる（ｅｎ＝１）。そうでない場合、消失フラグは、ディスエーブルにされる（ｅｎ＝０）。閾値は、１つのアプローチにおいて、ファームウェア５１４を介して構成可能閾値（ＣＦＧ  ＴＨＲ）９０２を用いて構成することができる。
【００７３】
ＲＬＬデコーダは、ＲＬＬデコーダに対する入力において不当なＲＬＬ符号語を受け取ったとの判断に応答して、誤り検出フラグを立てる。
【００７４】
ここで図１１を参照すると、１つの実施形態による、トラック依存消失復号化のために構成されたシステム１０００が示されている。図示されるように、システム１０００は、Ｋ個のトラックの各々（トラック０、トラック１、．．．、トラックＫ−１）について、読出しチャネルアーキテクチャ１００８、ＲＬＬデコーダ１００６（又は当該分野で知られた型式のその他の何らかの適切な変調デコーダ）、Ｃ１デコーダ１００４、及びトラック依存消失係数論理１００２を含む。これらの種々の構成要素は、各トラック内に含まれる場合もあり、又は種々の構成要素の幾つか若しくは全てを集中化して、その中央実装から各トラックに対して実装される場合もある。
【００７５】
１つの実施形態において、トラック依存消失係数論理１００２は、テープドライブのファームウェア１０１４と通信することができる。
【００７６】
１つの実施形態によれば、Ｃ２復号化のための消失フラグは、特定のトラック内の１つ又は複数のＣ１符号語が多数のバイト誤りを含む高い確率が存在するときかつそのときに限り、イネーブルにされる。この確率は、各消失フラグについて、消失係数ｗｉ、例えばｗ０、ｗ１、ｗ２と共に示される。
【００７７】
各消失係数は、Ｃ１デコーダ１００４により示されるＣ２復号化のための消失フラグに関連付けられ、消失係数ｗｉは、０から１までの範囲内にあり、例えば（０≦ｗｉ≦１）である。消失係数ｗｉは、Ｃ１符号語内のバイト誤りの数に比例し、したがって、Ｃ２デコーダ１０１２が対応するＣ１バイトを、その中の復号された情報に依拠せずに、消失箇所（erasure）として扱うべきビリーフ（belief）／尤度／確率を表す。
【００７８】
トラック依存消失係数論理１００２における消失係数ｗｉの計算は、各トラックのＣ１符号語内で検出されるバイトの信頼性に関する副次的情報を利用する。前述の潜在的な副次的情報源のいずれか、例えば、ファームウェア１０１４により監視されるチャネル／トラック性能の統計量、例えば較正データ、実行時統計量、等；Ｃ１デコーダ１００４統計量、例えばＣ１訂正不能符号語；読出しチャネル１００８メトリック、例えばＭＳＥ、ＳＮＲ、等；及びＲＬＬデコーダ１００６メトリック、例えば誤り訂正フラグ、などを用いることができる。
【００７９】
１つの実施形態において、トラック依存消失係数論理１００２内の消失係数ｗｉは、各トラックｔについて、指数平均化を用いてトラックｔに対する読み出しチャネルから得られるトラックｔのＳＮＲｉメトリックを用いて動的に計算される。この場合、ｗｉは、３つの異なるＳＮＲレジメを考慮して計算される。ＳＮＲｉ＜ＳＮＲＬの場合、低ＳＮＲレジメに対応するｗｉ＝１である。ＳＮＲｉ＞ＳＮＲＨの場合、高ＳＮＲレジメに対応するｗｉ＝０である。そうでない場合、中間ＳＮＲレジメに対応するｗｉ＝１−（ＳＮＲｉ−ＳＮＲＬ）／（ＳＮＲＨ−ＳＮＲＬ）である。定数ＳＮＲＬ及びＳＮＲＨは、低ＳＮＲレジメ及び高ＳＮＲレジメを特徴付ける所定の構成可能なＳＮＲ値である。例えば、ＳＮＲＬは、約１２ｄＢに等しいものとすることができ、ＳＮＲＨは、約１５ｄＢに等しいものとすることができる。
【００８０】
別の実施形態において、トラック依存消失係数論理１００２内の消失係数ｗｉは、各トラックについて、指数平均化を用いて読み出しチャネルの全て（又はグループ）から得られるトラックの全て（又はグループ）のＳＮＲｉメトリックから動的に計算される。この目的で、平均（又はメジアン）ＳＮＲａｖｇ値が、トラックの全て（又はサブグループ）のＳＮＲｉメトリックから計算される。さらに、各トラックについて、そのＳＮＲｉメトリックと、トラックの全て（又はグループ）の平均ＳＮＲであるＳＮＲａｖｇとの間の差が、ΔＳＮＲｉ＝ＳＮＲｉ−ＳＮＲａｖｇにより計算される。この場合、ｗｉは、３つの異なるＳＮＲレジメを考慮して計算される。ΔＳＮＲｉ＜ΔＳＮＲＬの場合、低ＳＮＲレジメに対応するｗｉ＝１である。ΔＳＮＲｉ＞ΔＳＮＲＨの場合、高ＳＮＲレジメに対応するｗｉ＝０である。そうでない場合、中間ＳＮＲレジメに対応するｗｉ＝１−（ΔＳＮＲｉ−ΔＳＮＲＬ）／（ΔＳＮＲＨ−ΔＳＮＲＬ）である。定数ΔＳＮＲＬ及びΔＳＮＲＨは、低ＳＮＲレジメ及び高ＳＮＲレジメを特徴付ける所定の構成可能なＳＮＲ値である。例えば、ΔＳＮＲＬは、約−２ｄＢに等しいものとすることができ、ΔＳＮＲＨは、約２ｄＢに等しいものとすることができる。
【００８１】
１つの実施形態において、消失係数は、復号されたＣ１符号語毎の基準で消失復号化を可能にするための判断において用いることができる。あらゆる消去されたＣ１行符号語バイトは、次いでＣ２誤り及び消失列符号語復号化の間に消失箇所として用いることができる。ひとたび復号されたＣ１行符号語内の全てのバイトの消失係数ｗｉが計算され及び／又は見積もられると、Ｃ１行符号語内にＮ１個の消失係数が存在することになる。これらの消失係数ｗｉをＣ１符号語の全てのＮ１個の復号されたバイト（注：Ｃ１符号語はＮ１バイトを有する）にわたって合計して、合計Ｓを得ることができ、ここで
【数１】
0006664101.tif 000002
である。この合計Ｓが所定の構成可能な閾値を上回るとの判断に応答して、Ｃ１行符号語の全てのＮ１バイトを消去することができる（例えば、復号されたＣ１符号語に対して消失フラグがイネーブルにされ、次にこれを用いて、Ｃ２誤り及び消失列復号化の間に、復号されたＣ１バイトの行を消去する）。所定の構成可能な閾値は、消失フラグを設定させる符号語内の所望の誤り量、及び典型的な消失係数ｗｉに基づいて決定される、任意の正の値、例えば、０．１、０．２、０．２５、０．５、０．６、０．７５、１．０、２．０、５．０、１０．０等を有することができる。
【００８２】
上述のアルゴリズムは、特定のアルゴリズムであり、Ｃ１行符号語内のどのバイトを消去すべきかを決定するための他の多くの可能な方法が存在する。１つの実施形態において、Ｃ１行符号語内で消去されるべきであると判断されるバイトは、Ｃ１行符号語内の各バイトについて計算される消失係数に基づく。
【００８３】
１つの実施形態において、Ｋ＝３２であり、例えばシステム１０００内に３２個のトラックが存在する。他の幾つかの実施形態において、Ｋは、１６、６４、又はその他の何らかの正の整数とすることができる。
【００８４】
消失フラグがイネーブルにされて設定され、又はディスエーブルにされて使用されないようにされた後、Ｃ１符号語、又は消失イネーブルＣ１符号語（イネーブルにされた消失フラグを有する少なくとも１つのＣ１符号語を伴う）は、各消失フラグに関連付けられた消失係数ｗｉと共に、脱インターリーバ／バッファ１０１０に渡されて、符号化データ内のデータのインターリービングが元に戻され、データをそのＣ２復号化のためのＣ２デコーダ１０１２に渡す前に該データが格納される。Ｃ２復号化は、誤りのみ復号化（消失フラグがイネーブルにされていないことに応答して）又は誤り及び消失復号化（図１１においてＣ２デコーダ１０１２内のアレイの黒塗り行で示されるように、消失フラグがイネーブルにされたことに応答して）とすることができる。
【００８５】
ここで図１２を参照すると、１つの実施形態により方法１１００のフローチャートが示される。方法１１００は、種々の実施形態において、とりわけ図１〜図１１に示された環境のいずれかにおいて、本発明に従って行うることができる。当然のことながら、本説明を読めば当業者には理解されるように、図１２に具体的に記載された動作より多い又は少ない動作を方法１１００に含めることができる。
【００８６】
方法１１００の各ステップは、動作環境のいずれかの適切な構成要素により行うことができる。例えば、種々の実施形態において、方法１１００は、コントローラ、プロセッサ、テープドライブ、又は１つ若しくは複数のプロセッサを有するその他の何らかのデバイスにより、部分的に又は全体的に行うことができる。プロセッサ、例えば、ハードウェア及び／又はソフトウェア内に実装され、好ましくは少なくとも１つのハードウェア構成要素を有する、処理回路、チップ、及び／又はモジュールを任意のデバイス内で利用して、方法１１００の１つ又は複数のステップを行うことができる。例証的なプロセッサは、限定しないが、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡ等、それらの組合せ、又は当該分野で知られたその他の任意の適切なコンピューティングデバイスを含む。
【００８７】
図１２に示すように、方法１１００は、動作１１０２で開始することができ、ここで磁気ヘッドの複数の読出しセンサを用いて、磁気テープ媒体の複数のトラックから符号化データを同時に読み出す。幾つかの読出しセンサは、サーボトラックを読み出すように構成することができるが、複数の読出しセンサは、磁気テープ媒体のデータ部分からデータを読み出すように構成される。
【００８８】
動作１１０４において、磁気テープ媒体から同時に読み出された複数のトラックの少なくとも１つに関連付けられた１つ又は複数の時間変動信号品質問題の検出に基づいて、符号化データに対してトラック依存消失復号化が行われる。
【００８９】
１つの実施形態によれば、以下のプロセスにより、符号化データに対してトラック依存消失復号化が行われる。第１に、当業者に理解されるように、符号化データのＣ１復号化を行って複数のＣ１符号語を生成することができる。次に、複数のＣ１符号語のいずれかが個別にＣ１バイト誤りの所定の閾値を超える数のＣ１バイト誤りを含む確率が判断される。この判断は、種々の実施形態により、本明細書において説明されるいずれかの技術を用いて行うことができる。次いで、この確率が閾値確率より高いとの判断に応答して、Ｃ２復号化のための消失ポインタがイネーブルにされる。複数のＣ１符号語のうち確率が閾値確率より高い各Ｃ１符号語の場所に、消失ポインタが、複数の消失イネーブルＣ１符号語を生成するために挿入される。最後に、複数の消失イネーブルＣ１符号語に対して、本説明を読めば当業者により理解されるように、Ｃ２誤り及び消失復号化を用いてＣ２復号化が行われる。
【００９０】
さらなる実施形態において、消失ポインタは、そのトラックから読み出されたＣ１符号語がＣ１バイト誤りの所定の閾値を超えるＣ１バイト誤りを含むことの最高相対確率を有するトラックのセットに対してのみイネーブルされる。このようにして、最悪の性能のトラックのみが、その後のＣ２誤り及び消失復号化のための消失ポインタを有することになる。
【００９１】
１つの実施形態によれば、１つ又は複数の時間変動信号品質問題は、同時に読み出された各トラックのＣ１符号語内の検出バイトの信頼性に関する副次的情報に基づいて判断することができる。この副次的情報は、任意の利用可能なソースから得ることができ、具体的に言及されていないものと共に、実施形態において本明細書で説明されたいずれかの方式で用いることできる。副次的情報は、以下のいずれか又は全てを含むことができる。すなわち、ファームウェアにより監視される読出しチャネル統計量に基づく所定の閾値を下回る少なくとも１つの読出しチャネルの読出しチャネル性能、ファームウェアにより監視される書込みチャネル統計量に基づく所定の閾値を下回る少なくとも１つの書込みチャネルの書込みチャネル性能、符号化データのＣ１復号化の間にそのＣ１デコーダについて蓄積される統計量に基づく所定の閾値を下回るＣ１デコーダ性能、等である。
【００９２】
読出しチャネル統計量は、１つの実施形態において、同時に読み出された各トラックについての指数平均ＭＳＥ及び／又はＳＮＲを含むことができる。Ｃ１デコーダについて蓄積された統計量は、１つのアプローチによれば、各トラックについての訂正不能Ｃ１符号語の数を含むことができる。別のアプローチにおいて、当業者に理解されるように、Ｃ１デコーダは、訂正可能な数より多くのＣ１バイト誤りがＣ１符号語内に存在することに応答して、訂正不能Ｃ１符号語を判断することができる。
【００９３】
別の実施形態において、特定のトラックから読み出された少なくとも１つの訂正不能Ｃ１符号語の検出に応答して、Ｃ１デコーダ性能が特定のトラックについての所定の閾値を下回ると判断することができる。さらに、Ｃ１デコーダ性能は、特定のトラックについて直近に復号された事前設定された数（Ｍ）のＣ１符号語における所定の数（Ｎ）より多くの訂正不能Ｃ１デコーダの検出に応答して、特定のトラックについて所定の閾値を下回るものとすることができる。
【００９４】
副次的情報は、ＲＬＬデコーダにより提供されるＣ１符号語当たりＲＬＬ誤り検出フラグの数を含むことができる。この場合、特定のトラックから読み出された単一のＣ１符号語内に許容数より多くのＲＬＬ誤り検出フラグが存在するとの判断に応答して、特定のトラックについての符号化データに対してトラック依存消失復号化を行うことができる。
【００９５】
１つの実施形態において、符号化データに対するトラック依存消失復号化は、以下の手順を、単独で、又は他の副次的情報源及び／又は消失復号化を実装すべきか否かに関する閾値評価との組合せで含むことができる。第１に、特定のトラックを用いて読み出された特定のＣ１符号語内の各バイトについて、消失係数を計算することができる。各消失係数は、関連付けられた復号されたバイトの信頼性の尺度であり、消失係数が高いほど、復号されたバイトの値における信頼度が低くなっている。次いで、特定のＣ１符号語についての全ての消失係数を合計して消失係数の合計を生成し、消失係数の合計が所定の構成可能な係数閾値より大きいか否かが判断される。合計が所定の構成可能な閾値より大きいとの判断に応答して、所定の構成可能な係数閾値より大きい関連付けられた消失係数の合計を有するいずれかの特定のトラックについての符号化データに対して、トラック依存消失復号化が行われる。
【００９６】
これらの消失係数は、ＭＳＥ、ＳＮＲ、Ｃ１符号語内の訂正不能バイトの数、ＲＬＬ誤り検出フラグ、又は当該分野で知られたその他のいずれかの副次的情報源と組み合わせて用いることができる。
【００９７】
本発明は、システム、方法、及び／又はコンピュータプログラムとすることができる。コンピュータプログラムは、プロセッサに本発明の態様を実行させるコンピュータ可読プログラム命令を有する、コンピュータ可読ストレージ媒体を含むことできる。
【００９８】
コンピュータ可読ストレージ媒体は、命令実行デバイスが使用するための命令を保持し、格納することができる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、又は上記のものの任意の適切な組合せとすることができるがこれらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、静的ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多目的ディスク（ＤＶＤ）、メモリスティック、フロッピーディスク、パンチカード若しくは記録された命令を有する溝内に隆起した構造のような機械式符号化デバイス、及び上記のものの任意の適切な組合せを含む。コンピュータ可読ストレージ媒体は、本明細書で用いられる場合、無線波若しくは他の自由に伝搬する電磁波、導波路若しくは他の伝送媒体を通って伝搬する電磁波（例えば光ファイバケーブルを通る光パルス）、又は電線を通って伝送される電気信号のような、それ自体が一時的な信号と解釈されるべきではない。
【００９９】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング／処理デバイスにダウンロードすることも、又は、例えばインターネット、ローカルエリアネットワーク、広域ネットワーク及び／又は無線ネットワークを経由して、外部コンピュータ若しくは外部ストレージ・デバイスにダウンロードすることもできる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び／又はエッジサーバを含むことができる。各コンピューティング／処理デバイス内のネットワーク・アダプタ・カード又はネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令をそれぞれのコンピューティング／処理装置内のコンピュータ可読ストレージ媒体にストレージのために転送する。
【０１００】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ）命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ（state-setting data）、又は、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語及び「Ｃ」プログラミング言語若しくは類似のプログラミング言語のような従来の手続き型プログラミング言語を含む１つ若しくは複数のプログラミング言語の任意の組合せで記述されたソースコード若しくはオブジェクトコードのいずれか、とすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。後者のシナリオにおいては、遠隔コンピュータは、ローカルエリアネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続が為される場合もある（例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて）。幾つかの実施形態において、例えばプログラム可能論理回路、フィールドプログラム可能ゲートアレイ（ＦＰＧＡ）、又はプログラム可能論理アレイ（ＰＬＡ）を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個別化することにより、コンピュータ可読プログラム命令を実行することができる。
【０１０１】
本発明の態様は、本明細書において、本発明の実施形態による方法、装置（システム）、及びコンピュータプログラムのフローチャート図及び／又はブロック図を参照して説明される。フローチャート図及び／又はブロック図の各ブロック、並びにフローチャート図及び／又はブロック図のブロックの組合せは、コンピュータ可読プログラム命令によって実装することができることが理解されよう。
【０１０２】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実装するための手段を作り出すようにすることができる。これらのコンピュータプログラム命令を、コンピュータ、プログラム可能データ処理装置、及び／又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、その中に格納された命令を有するコンピュータ可読媒体が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作の態様を実装する命令を含む製品を含むようにすることもできる。
【０１０３】
コンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置又は他のデバイス上で行わせてコンピュータ実装のプロセスを生成し、それにより、コンピュータ、他のプログラム可能装置又は他のデバイス上で実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実装するようにすることもできる。
【０１０４】
図面内のフローチャート及びブロック図は、本開示の種々の実施形態による、システム、方法、及びコンピュータプログラムの可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための１つ又は複数の実行可能命令を含む、モジュール、セグメント、又は命令の一部を表すことができる。幾つかの代替的な実装において、ブロック内に記された機能は、図中に記された順序とは異なる順序で行われることがある。例えば、連続して示された２つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図及び／又はフローチャート図の各ブロック、及びブロック図及び／又はフローチャート図中のブロックの組合せは、指定された機能又は動作を実行する専用ハードウェア・ベースのシステムによって実装することもでき、又は専用ハードウェアとコンピュータ命令との組合せを実行することもできることにも留意されたい。
【０１０５】
さらに、種々の実施形態によるシステムは、プロセッサ、及びプロセッサに組み込まれた及び／又はプロセッサにより実行可能な論理を含むことができ、該論理は、本明細書で挙げられるプロセスステップの１つ又は複数を行うように構成される。組み込まれた、とは、プロセッサが、ＡＳＩＣ、ＦＰＧＡ等のようなハードウェア論理として埋め込まれた論理を有することを意味する。プロセッサにより実行可能とは、論理が、プロセッサによりアクセス可能であり、プロセッサにより実行されるとプロセッサに何らかの機能を行わせる、ハードウェア論理、ソフトウェア論理、例えばファームウェア、動作システムの一部、アプリケーションプログラムの一部等、又はハードウェア論理とソフトウェア論理との何らかの組合せであることを意味する。ソフトウェア論理は、当該分野で知られるように、任意のメモリ型式のローカル及び／又は遠隔メモリ上に格納することができる。当該分野で知られた任意のプロセッサ、例えば、ソフトウェアプロセッサモジュール及び／又はＡＳＩＶ、ＦＰＧＡ、ＣＰＵ、集積回路（ＩＣ）、グラフィック処理ユニット（ＧＰＵ）等のハードウェアプロセッサを用いることができる。
【０１０６】
上記のシステム及び／又は方法論の種々の特徴を任意の方式で組み合わせて、上記提示の説明から複数の組合せを作り出すことができることが明らかである。
【０１０７】
本発明の実施形態を、カスタマのために展開されるサービスの形態で提供して、オンデマンドでサービスを提供することができることがさらに認められる。
【０１０８】
種々の実施形態を上記で説明してきたが、これらは限定ではなく例示のみの目的で提示したものであることを理解されたい。したがって、好ましい実施形態の幅及び範囲は、上記の例示的な実施形態のいずれかで限定されるべきではなく、以下の特許請求の範囲及びその均等の範囲のみに従って定義されるべきである。
【符号の説明】
【０１０９】
１０：ネットワークストレージシステム
１８：バス
４０：プログラム／ユーティリティ
４２：プログラムモジュール
１００：テープドライブ
１２０：テープ供給カートリッジ
１２１：巻取りリール
１２２：テープ
１２５：ガイド
１２６：テープヘッド
１２８：コントローラ
１３０：ケーブル
１３２：アクチュエータ
１３４：インタフェース
１３６：メモリ
１５０：テープカートリッジ
１５２：ハウジング
１５４：粘着性ラベル
１５６：不揮発性メモリ
３００：データフロー
４００：論理データアレイ
４０２：行
４０４：列
５００、１０００：システム
６００、７００、８００、９００：トラック依存消失イネーブル論理
１１００：方法
【図１】
0006664101.tif 000003
【図２】
0006664101.tif 000004
【図３】
0006664101.tif 000005
【図４】
0006664101.tif 000006
【図５】
0006664101.tif 000007
【図６】
0006664101.tif 000008
【図７】
0006664101.tif 000009
【図８】
0006664101.tif 000010
【図９】
0006664101.tif 000011
【図１０】
0006664101.tif 000012
【図１１】
0006664101.tif 000013
【図１２】
0006664101.tif 000014