(57)【要約】【課題】順次記憶媒体へのデータ・オブジェクト書き換えのためのシステム、方法およびコンピュータ・プログラム製品を提供する。【解決手段】１つの方法が、データ・セットを順次アクセス媒体に書き込むことを含む。この方法はまた、データ・セットを、記録時再生処理で順次アクセス媒体に書き込まれた直後に読み出して、誤りのある１つまたは複数の符号化データ・ブロックを識別することを含み、誤りのある１つまたは複数の符号化データ・ブロックのそれぞれは、サイズが少なくとも１０ビットのシンボルを有する誤りのある少なくとも１つの符号語を含む。さらに、この方法は、第１の符号化データ・ブロック・セット内の誤りのある１つまたは複数の符号化データ・ブロックの第１のものを、論理トラックの所定のサブセットから選択された順次アクセス媒体の書き換え領域内の特定の論理トラックに書き換えることを含む。論理トラックの所定のサブセットはＤ１＋Ｄ２＋１の論理トラックを含む。特定のサブ・データ・セットからの誤りのあるただ１つの符号化データ・ブロックが、書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられる。【選択図】図２３
2021508138.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
少なくともＭ個に達する複数の書き込み変換器、および少なくともＭ個に達する複数の読み出し変換器とを有する磁気ヘッドであって、各読み出し変換器が、順次アクセス媒体からデータを、対応する書き込み変換器によって書き込まれた後に読み出すように構成されている、前記磁気ヘッドと、
コントローラと、前記コントローラと一体化された、または前記コントローラによって実行可能な、あるいはその両方である論理回路とを備え、前記論理回路が、
前記複数のＭ個の書き込み変換器を使用して、データ・セットを順次アクセス媒体に書き込むように構成され、前記データ・セットが、いくつかの固定サイズのサブ・データ・セットを含み、各サブ・データ・セットが、インターリーブまたは非インターリーブ配置の符号語を含む複数の符号化データ・ブロックを含み、各符号語が、シンボルごとに少なくとも８ビットのサイズを有する所定の数のシンボルを含み、前記論理回路がさらに、
前記複数のＭ個の読み出し変換器を使用して、前記データ・セットを、記録時再生処理で前記順次アクセス媒体に書き込まれた直後に読み出して、誤りのある１つまたは複数の符号化データ・ブロックを識別するように構成され、誤りのある前記１つまたは複数の符号化データ・ブロックのそれぞれが、誤りのある少なくとも１つの符号語を含み、前記論理回路がさらに、
誤りのある前記符号化データ・ブロックを書き換えるために、特定の論理トラックを、前記順次アクセス媒体の書き換え領域内の論理トラックの所定のサブセットから選択するように構成され、前記書き換え領域が、前記順次アクセス媒体に最初に書き込まれる前記データ・セットの位置の次に配置されており、論理トラックの前記所定のサブセットがＤ１＋Ｄ２＋１の論理トラックを含み、０＜Ｄ１＋Ｄ２＜Ｍ／４であり、前記論理回路がさらに、
第１の符号化データ・ブロック・セット内の誤りのある前記１つまたは複数の符号化データ・ブロックの第１のものを、前記順次アクセス媒体の前記書き換え領域内の前記特定の論理トラックに書き換えるように構成され、特定のサブ・データ・セットからの誤りのあるただ１つの符号化データ・ブロックが、前記書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられる、システム。
【請求項２】
前記シンボルのそれぞれはサイズが１０ビットであり、前記論理回路がさらに、
第２の論理トラックを、前記順次アクセス媒体の前記書き換え領域内の論理トラックの前記所定のサブセットから選択するように、かつ、
前記第１の符号化データ・ブロック・セット内の誤りのある前記１つまたは複数の符号化データ・ブロックの第２のものを、誤りのある前記１つまたは複数の符号化データ・ブロックの前記第１のものが、誤りのある前記１つまたは複数のデータ・ブロックの前記第２のものと異なるサブ・データ・セットからのものであることに応じて、前記第２の論理トラックに書き換えように構成される、請求項１に記載のシステム。
【請求項３】
論理トラックの前記所定のサブセットのそれぞれが、Ｄ１＝１およびＤ２＝１に対応して３つの論理トラックを連続して含む、請求項１に記載のシステム。
【請求項４】
論理トラックの前記所定のサブセットのそれぞれが、Ｄ１＝２およびＤ２＝２に対応して５つの論理トラックを連続して含む、請求項１に記載のシステム。
【請求項５】
各符号化データ・ブロックが、ガロア体ＧＦ（２５６）にわたり４つのシンボル・インターリーブされたリードソロモンＲＳ（２４０，２２８）Ｃ１符号語として前記順次アクセス媒体に書き込まれる、請求項１に記載のシステム。
【請求項６】
各符号化データ・ブロックが、ガロア体ＧＦ（１０２４）にわたり２つのシンボル・インターリーブされたリードソロモンＲＳ（３８４，３６４）Ｃ１符号語として前記順次アクセス媒体に書き込まれる、請求項１に記載のシステム。
【請求項７】
各符号化データ・ブロックが、ガロア体ＧＦ（１０２４）にわたり１つのリードソロモンＲＳ（７６８，７２８）Ｃ１符号語として前記順次アクセス媒体に書き込まれる、請求項１に記載のシステム。
【請求項８】
前記論理回路はさらに、前記順次アクセス媒体から読み出された前記データ・セットを復号して、誤りのある前記１つまたは複数の符号化データ・ブロックを決定するように構成され、符号化データ・ブロックが、前記符号化データ・ブロックが復号された後の閾数の誤りの検出に応じて、誤りがあると決定される、請求項１に記載のシステム。
【請求項９】
方法であって、
磁気ヘッドの複数の少なくともＭ個の書き込み変換器を使用して、データ・セットを順次アクセス媒体に書き込むことを含み、前記データ・セットが、いくつかの固定サイズのサブ・データ・セットを含み、各サブ・データ・セットが、インターリーブまたは非インターリーブ配置の符号語を含む複数の符号化データ・ブロックを含み、各符号語が、シンボルごとに少なくとも８ビットのサイズを有する所定の数のシンボルを含み、前記方法がさらに、
前記磁気ヘッドの複数の少なくともＭ個の読み出し変換器を使用して、前記データ・セットを、記録時再生処理で前記順次アクセス媒体に書き込まれた直後に読み出して、誤りのある１つまたは複数の符号化データ・ブロックを識別することを含み、誤りのある前記１つまたは複数の符号化データ・ブロックのそれぞれが、誤りのある少なくとも１つの符号語を含み、前記方法がさらに、
誤りのある前記符号化データ・ブロックを書き換えるために、特定の論理トラックを、前記順次アクセス媒体の書き換え領域内の論理トラックの所定のサブセットから選択することを含み、前記書き換え領域が、前記順次アクセス媒体に最初に書き込まれる前記データ・セットの位置の次に配置されており、論理トラックの前記所定のサブセットがＤ１＋Ｄ２＋１の論理トラックを含み、０＜Ｄ１＋Ｄ２＜Ｍ／４であり、前記方法がさらに、
第１の符号化データ・ブロック・セット内の誤りのある前記１つまたは複数の符号化データ・ブロックの第１のものを、前記順次アクセス媒体の前記書き換え領域内の前記特定の論理トラックに書き換えることを含み、特定のサブ・データ・セットからの誤りのあるただ１つの符号化データ・ブロックが、前記書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられる、方法。
【請求項１０】
前記シンボルのそれぞれはサイズが１０ビットであり、前記方法がさらに、
第２の論理トラックを、前記順次アクセス媒体の前記書き換え領域内の論理トラックの前記所定のサブセットから選択すること、および
前記第１の符号化データ・ブロック・セット内の誤りのある前記１つまたは複数の符号化データ・ブロックの第２のものを、誤りのある前記１つまたは複数の符号化データ・ブロックの前記第１のものが、誤りのある前記１つまたは複数のデータ・ブロックの前記第２のものと異なるサブ・データ・セットからのものであることに応じて、前記第２の論理トラックに書き換えことを含む、請求項９に記載の方法。
【請求項１１】
論理トラックの前記所定のサブセットのそれぞれが、Ｄ１＝１およびＤ２＝１に対応して３つの論理トラックを連続して含む、請求項９に記載の方法。
【請求項１２】
論理トラックの前記所定のサブセットのそれぞれが、Ｄ１＝２およびＤ２＝２に対応して５つの論理トラックを連続して含む、請求項９に記載の方法。
【請求項１３】
各符号化データ・ブロックが、ガロア体ＧＦ（２５６）にわたり４つのシンボル・インターリーブされたリードソロモンＲＳ（２４０，２２８）Ｃ１符号語として前記順次アクセス媒体に書き込まれる、請求項９に記載の方法。
【請求項１４】
各符号化データ・ブロックが、ガロア体ＧＦ（１０２４）にわたり２つのシンボル・インターリーブされたリードソロモンＲＳ（３８４，３６４）Ｃ１符号語として前記順次アクセス媒体に書き込まれる、請求項９に記載の方法。
【請求項１５】
各符号化データ・ブロックが、ガロア体ＧＦ（１０２４）にわたり１つのリードソロモンＲＳ（７６８，７２８）Ｃ１符号語として前記順次アクセス媒体に書き込まれる、請求項９に記載の方法。
【請求項１６】
前記順次アクセス媒体から読み出された前記データ・セットを復号して、誤りのある前記１つまたは複数の符号化データ・ブロックを決定することをさらに含み、符号化データ・ブロックが、前記符号化データ・ブロックが復号された後の閾数の誤りの検出に応じて、誤りがあると決定される、請求項９に記載の方法。
【請求項１７】
プログラム命令が埋め込まれたコンピュータ可読記憶媒体を備えるコンピュータ・プログラム製品であって、前記具現化されたプログラム命令は、プロセッサが、
前記プロセッサによって磁気ヘッドの複数の少なくともＭ個の書き込み変換器を使用して、データ・セットを順次アクセス媒体に書き込むように、前記プロセッサによって実行可能であり、前記データ・セットが、いくつかの固定サイズのサブ・データ・セットを含み、各サブ・データ・セットが、インターリーブまたは非インターリーブ配置の符号語を含む複数の符号化データ・ブロックを含み、各符号語が、シンボルごとに少なくとも８ビットのサイズを有する所定の数のシンボルを含み、前記具現化されたプログラム命令はさらに、前記プロセッサが、
前記プロセッサによって前記磁気ヘッドの複数の少なくともＭ個の読み出し変換器を使用して、前記データ・セットを、記録時再生処理で前記順次アクセス媒体に書き込まれた直後に読み出して、誤りのある１つまたは複数の符号化データ・ブロックを識別するように、前記プロセッサによって実行可能であり、誤りのある前記１つまたは複数の符号化データ・ブロックのそれぞれが、誤りのある少なくとも１つの符号語を含み、前記具現化されたプログラム命令はさらに、前記プロセッサが、
前記プロセッサによって、誤りのある前記符号化データ・ブロックを書き換えるために、特定の論理トラックを前記順次アクセス媒体の書き換え領域内の論理トラックの所定のサブセットから選択するように、前記プロセッサによって実行可能であり、前記書き換え領域が、前記順次アクセス媒体に最初に書き込まれる前記データ・セットの位置の次に配置されており、論理トラックの前記所定のサブセットがＤ１＋Ｄ２＋１の論理トラックを含み、０＜Ｄ１＋Ｄ２＜Ｍ／４であり、前記具現化されたプログラム命令はさらに、前記プロセッサが、
前記プロセッサによって、第１の符号化データ・ブロック・セット内の誤りのある前記１つまたは複数の符号化データ・ブロックの第１のものを、前記順次アクセス媒体の前記書き換え領域内の前記特定の論理トラックに書き換えるように、前記プロセッサによって実行可能であり、特定のサブ・データ・セットからの誤りのあるただ１つの符号化データ・ブロックが、前記書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられる、コンピュータ・プログラム製品。
【請求項１８】
前記シンボルのそれぞれはサイズが８ビットであり、各符号化データ・ブロックが、ガロア体ＧＦ（２５６）にわたり４つのシンボル・インターリーブされたリードソロモンＲＳ（２４０，２２８）Ｃ１符号語として前記順次アクセス媒体に書き込まれる、請求項１７に記載のコンピュータ・プログラム製品。
【請求項１９】
前記シンボルのそれぞれはサイズが１０ビットであり、各符号化データ・ブロックが、ガロア体ＧＦ（１０２４）にわたり２つのシンボル・インターリーブされたリードソロモンＲＳ（３８４，３６４）Ｃ１符号語として前記順次アクセス媒体に書き込まれる、請求項１７に記載のコンピュータ・プログラム製品。
【請求項２０】
前記シンボルのそれぞれはサイズが１０ビットであり、各符号化データ・ブロックが、ガロア体ＧＦ（１０２４）にわたり１つのリードソロモンＲＳ（７６８，７２８）Ｃ１符号語として前記順次アクセス媒体に書き込まれる、請求項１７に記載のコンピュータ・プログラム製品。
【請求項２１】
論理トラックの前記所定のサブセットのそれぞれが、Ｄ１＝１およびＤ２＝１に対応して３つの論理トラックを連続して含む、請求項１７に記載のコンピュータ・プログラム製品。
【請求項２２】
論理トラックの前記所定のサブセットのそれぞれが、Ｄ１＝２およびＤ２＝２に対応して５つの論理トラックを連続して含む、請求項１７に記載のコンピュータ・プログラム製品。
【請求項２３】
前記具現化されたプログラム命令はさらに、前記プロセッサが、
前記プロセッサによって、前記順次アクセス媒体から読み出された前記データ・セットを復号して、誤りのある前記１つまたは複数の符号化データ・ブロックを決定するように、前記プロセッサによって実行可能であり、符号化データ・ブロックが、前記符号化データ・ブロックが復号された後の閾数の誤りの検出に応じて、誤りがあると決定され、前記具現化されたプログラム命令はさらに、前記プロセッサが、
前記プロセッサによって、第２の論理トラックを、前記順次アクセス媒体の前記書き換え領域内の論理トラックの前記所定のサブセットから選択するように、かつ、
前記プロセッサによって、前記第１の符号化データ・ブロック・セット内の誤りのある前記１つまたは複数の符号化データ・ブロックの第２のものを、誤りのある前記１つまたは複数の符号化データ・ブロックの前記第１のものが、誤りのある前記１つまたは複数のデータ・ブロックの前記第２のものと異なるサブ・データ・セットからのものであることに応じて、前記第２の論理トラックに書き換えるように、前記プロセッサによって実行可能である、請求項１７に記載のコンピュータ・プログラム製品。
【請求項２４】
方法であって、
磁気ヘッドの複数の書き込み変換器を使用して、データ・セットを順次アクセス媒体に書き込むことを含み、前記データ・セットが、いくつかの固定サイズのサブ・データ・セットを含み、各サブ・データ・セットが、インターリーブ配置の符号語を含む複数の符号化データ・ブロックを含み、各符号語が、所定の数のシンボルを含み、前記方法がさらに、
前記磁気ヘッドの複数の読み出し変換器を使用して、前記データ・セットを、記録時再生処理で前記順次アクセス媒体に書き込まれた直後に読み出して、誤りのある１つまたは複数の符号化データ・ブロックを識別することを含み、誤りのある前記１つまたは複数の符号化データ・ブロックのそれぞれが、誤りのある少なくとも１つの符号語を含み、前記方法がさらに、
前記順次アクセス媒体から読み出された前記データ・セットを復号して、誤りのある前記１つまたは複数の符号化データ・ブロックを決定することをさらに含み、符号化データ・ブロックが、前記符号化データ・ブロックが復号された後の閾数の誤りの検出に応じて、誤りがあると決定され、前記方法がさらに、
誤りのある前記１つまたは複数の符号化データ・ブロックを書き換えるために、１つまたは複数の論理トラックを、前記順次アクセス媒体の書き換え領域内の論理トラックの、１つまたは複数の固有の所定のサブセットから選択することを含み、前記書き換え領域が、前記順次アクセス媒体に最初に書き込まれる前記データ・セットの位置の次に配置されており、論理トラックの前記所定のサブセットのそれぞれが３つの論理トラックを含み、前記方法がさらに、
１つまたは複数の符号化データ・ブロック・セット内の誤りのある前記１つまたは複数の符号化データ・ブロックを、前記順次アクセス媒体の前記書き換え領域内の前記１つまたは複数の論理トラックに書き換えることを含み、特定のサブ・データ・セットからの誤りのあるただ１つの符号化データ・ブロックが、前記書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられ、
各符号化データ・ブロックが、ガロア体ＧＦ（１０２４）にわたり２つのシンボル・インターリーブされたリードソロモンＲＳ（３８４，３６４）Ｃ１符号語として前記順次アクセス媒体に書き込まれる、方法。
【請求項２５】
方法であって、
磁気ヘッドの複数の書き込み変換器を使用して、データ・セットを順次アクセス媒体に書き込むことを含み、前記データ・セットが、いくつかの固定サイズのサブ・データ・セットを含み、各サブ・データ・セットが、符号語を含む複数の符号化データ・ブロックを含み、各符号語が、所定の数のシンボルを含み、前記方法がさらに、
前記磁気ヘッドの複数の読み出し変換器を使用して、前記データ・セットを、記録時再生処理で前記順次アクセス媒体に書き込まれた直後に読み出して、誤りのある１つまたは複数の符号化データ・ブロックを識別することを含み、誤りのある前記１つまたは複数の符号化データ・ブロックのそれぞれが、誤りのある少なくとも１つの符号語を含み、前記方法がさらに、
前記順次アクセス媒体から読み出された前記データ・セットを復号して、誤りのある前記１つまたは複数の符号化データ・ブロックを決定することをさらに含み、符号化データ・ブロックが、前記符号化データ・ブロックが復号された後の閾数の誤りの検出に応じて、誤りがあると決定され、前記方法がさらに、
誤りのある前記１つまたは複数の符号化データ・ブロックを書き換えるために、１つまたは複数の論理トラックを、前記順次アクセス媒体の書き換え領域内の論理トラックの、１つまたは複数の固有の所定のサブセットから選択することを含み、前記書き換え領域が、前記順次アクセス媒体に最初に書き込まれる前記データ・セットの位置の次に配置されており、論理トラックの前記所定のサブセットのそれぞれが５つの論理トラックを含み、前記方法がさらに、
１つまたは複数の符号化データ・ブロック・セット内の誤りのある前記１つまたは複数の符号化データ・ブロックを、前記順次アクセス媒体の前記書き換え領域内の前記１つまたは複数の論理トラックに書き換えることを含み、特定のサブ・データ・セットからの誤りのあるただ１つの符号化データ・ブロックが、前記書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられ、
各符号化データ・ブロックが、ガロア体ＧＦ（１０２４）にわたり１つのリードソロモンＲＳ（７６８，７２８）Ｃ１符号語として前記順次アクセス媒体に書き込まれる、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にデータ記憶に関し、より詳細には順次記憶媒体へのデータ・オブジェクト書き換えに関する。
【背景技術】
【０００２】
データを順次に記憶するために使用されている現用のリニア・テープ・ドライブでは、データをテープに記憶する前にバイト指向誤り訂正符号化（ＥＣＣ）の積符号をデータに適用する。これらの積符号は、Ｃ１行符号およびＣ２列符号から成る２つのリードソロモン（ＲＳ）成分符号を含む。符号語インターリーブ（ＣＷＩ）とも呼ばれる比較的長い（約１ｋＢ）縦インターリーブされた誤り訂正符号語が、磁気媒体のトラック（たとえば、磁気テープ・トラック）に書き込まれる。現在のテープ・ドライブ・アーキテクチャでは、ＣＷＩは、４つのバイト・インターリーブされたＲＳ符号語から成る。記録時再生中、閾数よりも多くの誤りを含むデータ・セット（ＤＳ）のＣＷＩは、誤りが多すぎるＤＳの書き込みが完了した後に書き換えられる。２つのＣＷＩセットが符号語オブジェクト（ＣＯ）セットに対応し、このＣＯセットは、現在の手法を使用してテープに書き込みまたは書き換えをすることができるデータの最小量を示す。この動作点は、テープドライバの寿命期間の始めに、１ＤＳ当たりの書き換えＣＷＩセットの平均数が、１ＤＳ当たり２つの書き換えＣＷＩセットに相当する約１％の書き換え率に制限されるように選ばれる。１％の書き換え率には現在、ＣＩデコーダ入力におけるバイト誤り率が約１×１０−４〜１×１０−３の範囲内にある場合に到達する。
【０００３】
面密度変倍を可能にする非常に低い信号対雑音比（ＳＮＲ）で動作することが、反復符号化を使用することによって１×１０−２０のユーザ・ビット誤り率（ＢＥＲ）を維持しながら実現可能である。しかし、従来の書き換え戦略と組み合わせて使用される現在実施のＣ１符号では、ＳＮＲを低減させると、使用されるＣ１符号に起因する高いＣ１誤り率の故に過度の書き換えが記録時再生処理中に行われるので、容量の損失が生じる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
したがって、反復符号化のすべての潜在的な利点を利用するための改善が、書き換え戦略に必要とされている。具体的には、１％の書き換え率が達成されるシンボル誤り率を約１桁引き上げることによって、チャネルを低い信号対雑音比（ＳＮＲ）値で動作させることが望ましい。言い換えると、１％書き換え率に対応するＣ１デコーダ入力におけるシンボル誤り率を１×１０−３〜１×１０−２の範囲内の数値としたい。さらに、現在のところＣＷＩの符号語は、誤り訂正能力が小さい。この符号語により訂正できるのは５〜６バイトである。これにより、書き換え誤り閾値の選択の自由度が制限される。４つ以上の誤りを含む、Ｃ１符号語を用いたＣＷＩは書き換えられる。書き換え誤り閾値を非常に大きい範囲の数値から選択できることは有益であるはずである。最後に、書き換えられる必要があるＣＷＩセットの数を最小限にすることによって、書き換え効率を高めることが望ましい。本発明の課題は、順次記憶媒体へのデータ・オブジェクト書き換えシステム、方法、プログラムを提供することである。
【課題を解決するための手段】
【０００５】
一実施形態では、システムが、少なくともＭ個に達する複数の書き込み変換器と、少なくともＭ個に達する複数の読み出し変換器とを有する磁気ヘッドを含み、各読み出し変換器は、順次アクセス媒体からデータを、対応する書き込み変換器によって書き込まれた後に読み出すように構成されている。システムはまた、コントローラと、コントローラと一体化された、またはコントローラによって実行可能な、あるいはその両方である論理回路とを含む。論理回路は、複数のＭ個の書き込み変換器を使用して、データ・セットを順次アクセス媒体に書き込むように構成される。データ・セットは、いくつかの固定サイズのサブ・データ・セットを含み、各サブ・データ・セットは、インターリーブまたは非インターリーブ配置の符号語を含む複数の符号化データ・ブロックを含む。各符号語は、シンボルごとに少なくとも８ビットのサイズを有する所定の数のシンボルを含む。論理回路はまた、複数のＭ個の読み出し変換器を使用して、データ・セットを、記録時再生処理で順次アクセス媒体に書き込まれた直後に読み出して、誤りのある１つまたは複数の符号化データ・ブロックを識別するように構成され、誤りのある１つまたは複数の符号化データ・ブロックのそれぞれは、誤りのある少なくとも１つの符号語を含む。加えて、論理回路は、誤りのある符号化データ・ブロックを書き換えるために、特定の論理トラックを、順次アクセス媒体の書き換え領域内の論理トラックの所定のサブセットから選択するように構成され、書き換え領域は、順次アクセス媒体に最初に書き込まれるデータ・セットの位置の次に配置されている。論理トラックの所定のサブセットはＤ１＋Ｄ２＋１の論理トラックを含み、０＜Ｄ１＋Ｄ２＜Ｍ／４である。論理回路はまた、第１の符号化データ・ブロック・セット内の誤りのある１つまたは複数の符号化データ・ブロックの第１のものを、順次アクセス媒体の書き換え領域内の特定の論理トラックに書き換えるように構成され、特定のサブ・データ・セットからの誤りのあるただ１つの符号化データ・ブロックが、書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられる。
【０００６】
別の実施形態では、１つの方法が、磁気ヘッドの複数の少なくともＭ個の書き込み変換器を使用して、データ・セットを順次アクセス媒体に書き込むことを含む。データ・セットは、いくつかの固定サイズのサブ・データ・セットを含み、各サブ・データ・セットは、インターリーブまたは非インターリーブ配置の符号語を含む複数の符号化データ・ブロックを含む。各符号語は、シンボルごとに少なくとも８ビットのサイズを有する所定の数のシンボルを含む。この方法はまた、磁気ヘッドの複数の少なくともＭ個の読み出し変換器を使用して、データ・セットを、記録時再生処理で順次アクセス媒体に書き込まれた直後に読み出して、誤りのある１つまたは複数の符号化データ・ブロックを識別することを含み、誤りのある１つまたは複数の符号化データ・ブロックのそれぞれは、誤りのある少なくとも１つの符号語を含む。加えて、この方法は、誤りのある符号化データ・ブロックを書き換えるために、特定の論理トラックを、順次アクセス媒体の書き換え領域内の論理トラックの所定のサブセットから選択することを含み、書き換え領域は、順次アクセス媒体に最初に書き込まれるデータ・セットの位置の次に配置されている。論理トラックの所定のサブセットはＤ１＋Ｄ２＋１の論理トラックを含み、０＜Ｄ１＋Ｄ２＜Ｍ／４である。さらに、この方法は、第１の符号化データ・ブロック・セット内の誤りのある１つまたは複数の符号化データ・ブロックの第１のものを、順次アクセス媒体の書き換え領域内の特定の論理トラックに書き換えることを含む。特定のサブ・データ・セットからの誤りのあるただ１つの符号化データ・ブロックが、書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられる。
【０００７】
別の実施形態によれば、コンピュータ・プログラム製品が、プログラム命令が埋め込まれたコンピュータ可読記憶媒体を含む。具現化されたプログラム命令は、プロセッサが、プロセッサによって磁気ヘッドの複数の少なくともＭ個の書き込み変換器を使用して、データ・セットを順次アクセス媒体に書き込むように、プロセッサによって実行可能である。データ・セットは、いくつかの固定サイズのサブ・データ・セットを含み、各サブ・データ・セットは、インターリーブまたは非インターリーブ配置の符号語を含む複数の符号化データ・ブロックを含む。各符号語は、シンボルごとに少なくとも８ビットのサイズを有する所定の数のシンボルを含む。具現化されたプログラム命令はまた、プロセッサが、プロセッサによって磁気ヘッドの複数の少なくともＭ個の読み出し変換器を使用して、データ・セットを、記録時再生処理で順次アクセス媒体に書き込まれた直後に読み出して、誤りのある１つまたは複数の符号化データ・ブロックを識別するように、プロセッサによって実行可能であり、誤りのある１つまたは複数の符号化データ・ブロックのそれぞれは、誤りのある少なくとも１つの符号語を含む。加えて、具現化されたプログラム命令は、プロセッサが、プロセッサによって、誤りのある符号化データ・ブロックを書き換えるために、特定の論理トラックを順次アクセス媒体の書き換え領域内の論理トラックの所定のサブセットから選択するようにプロセッサによって実行可能であり、書き換え領域は、順次アクセス媒体に最初に書き込まれるデータ・セットの位置の次に配置されている。論理トラックの所定のサブセットはＤ１＋Ｄ２＋１の論理トラックを含み、０＜Ｄ１＋Ｄ２＜Ｍ／４である。さらに、具現化されたプログラム命令は、プロセッサが、プロセッサによって、第１の符号化データ・ブロック・セット内の誤りのある１つまたは複数の符号化データ・ブロックの第１のものを、順次アクセス媒体の書き換え領域内の特定の論理トラックに書き換えるようにプロセッサによって実行可能である。特定のサブ・データ・セットからの誤りのあるただ１つの符号化データ・ブロックが、書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられる。
【０００８】
別の実施形態では、１つの方法が、磁気ヘッドの複数の書き込み変換器を使用して、データ・セットを順次アクセス媒体に書き込むことを含み、データ・セットは、いくつかの固定サイズのサブ・データ・セットを含み、各サブ・データ・セットは、インターリーブ配置の符号語を含む複数の符号化データ・ブロックを含む。また、各符号語は、所定の数のシンボルを含む。この方法はまた、磁気ヘッドの複数の読み出し変換器を使用して、データ・セットを、記録時再生処理で順次アクセス媒体に書き込まれた直後に読み出して、誤りのある１つまたは複数の符号化データ・ブロックを識別することを含み、誤りのある１つまたは複数の符号化データ・ブロックのそれぞれは、誤りのある少なくとも１つの符号語を含む。また、この方法は、順次アクセス媒体から読み出されたデータ・セットを復号して、誤りのある１つまたは複数の符号化データ・ブロックを決定することを含み、符号化データ・ブロックが、符号化データ・ブロックが復号された後の閾数の誤りの検出に応じて、誤りがあると決定される。加えて、この方法は、誤りのある１つまたは複数の符号化データ・ブロックを書き換えるために、１つまたは複数の論理トラックを、順次アクセス媒体の書き換え領域内の論理トラックの１つまたは複数の固有の所定のサブセットから選択することを含み、書き換え領域は、順次アクセス媒体に最初に書き込まれるデータ・セットの位置の次に配置されている。論理トラックの所定のサブセットのそれぞれは、３つの論理トラックを含む。さらに、この方法は、１つまたは複数の符号化データ・ブロック・セット内の誤りのある１つまたは複数の符号化データ・ブロックを、順次アクセス媒体の書き換え領域内の１つまたは複数の論理トラックに書き換えることを含む。特定のサブ・データ・セットからの誤りのあるただ１つの符号化データ・ブロックが、書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられ、各符号化データ・ブロックが、ガロア体ＧＦ（１０２４）にわたり２つのシンボル・インターリーブされたリードソロモンＲＳ（３８４，３６４）Ｃ１符号語として順次アクセス媒体に書き込まれる。
【０００９】
さらに別の実施形態では、１つの方法が、磁気ヘッドの複数の書き込み変換器を使用して、データ・セットを順次アクセス媒体に書き込むことを含み、データ・セットは、いくつかの固定サイズのサブ・データ・セットを含み、各サブ・データ・セットは、インターリーブ配置の符号語を含む複数の符号化データ・ブロックを含む。また、各符号語は、所定の数のシンボルを含む。この方法はまた、磁気ヘッドの複数の読み出し変換器を使用して、データ・セットを、記録時再生処理で順次アクセス媒体に書き込まれた直後に読み出して、誤りのある１つまたは複数の符号化データ・ブロックを識別することを含み、誤りのある１つまたは複数の符号化データ・ブロックのそれぞれは、誤りのある少なくとも１つの符号語を含む。また、この方法は、順次アクセス媒体から読み出されたデータ・セットを復号して、誤りのある１つまたは複数の符号化データ・ブロックを決定することを含み、符号化データ・ブロックが、符号化データ・ブロックが復号された後の閾数の誤りの検出に応じて、誤りがあると決定される。加えて、この方法は、誤りのある１つまたは複数の符号化データ・ブロックを書き換えるために、１つまたは複数の論理トラックを、順次アクセス媒体の書き換え領域内の論理トラックの１つまたは複数の固有の所定のサブセットから選択することを含み、書き換え領域は、順次アクセス媒体に最初に書き込まれるデータ・セットの位置の次に配置されている。論理トラックの所定のサブセットのそれぞれは、５つの論理トラックを含む。さらに、この方法は、１つまたは複数の符号化データ・ブロック・セット内の誤りのある１つまたは複数の符号化データ・ブロックを、順次アクセス媒体の書き換え領域内の１つまたは複数の論理トラックに書き換えることを含む。特定のサブ・データ・セットからの誤りのあるただ１つの符号化データ・ブロックが、書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられ、各符号化データ・ブロックが、ガロア体ＧＦ（１０２４）にわたりリードソロモンＲＳ（７６８，７２８）Ｃ１符号語として順次アクセス媒体に書き込まれる。
【００１０】
本発明の他の態様および実施形態は、図面と併せ読むと本発明の原理が例示的に示される、以下の詳細な説明から明らかになろう。
【図面の簡単な説明】
【００１１】
【図１】一実施形態によるネットワーク記憶システムを示す図である。
【図２】一実施形態による、テープベースのデータ記憶システムの簡略化テープ・ドライブを示す図である。
【図３】一実施形態によるテープ・カートリッジの概略図である。
【図４】一実施形態によるテープ・ドライブにおける概念的なデータ・フローを示す図である。
【図５】一実施形態による、データをサブ・データ・セット（ＳＤＳ）に編成するために使用できる論理データ・アレイを示す図である。
【図６】一実施形態による書き換え方式を示す図である。
【図７】一実施形態による、順次アクセス媒体でデータを記憶し読み取るためのシステムを示す図である。
【図８】一実施形態によるギルバート・バースト誤りモデルを示す図である。
【図９】一実施形態による独立ビット誤りモデルを示す図である。
【図１０】一実施形態による符号語オブジェクトの簡略ブロック図である。
【図１１】いくつかの実施形態による、ギルバート・バースト誤りモデルを使用しての、シンボル誤り率に対する符号化データ・ブロック（ＥＤＢ）書き換えの確率のグラフである。
【図１２】いくつかの実施形態による、ギルバート・バースト誤りモデルを使用しての、１データ・セット（ＤＳ）当たりの書き換えられたＥＤＢセットの平均数のグラフである。
【図１３】いくつかの実施形態による、独立シンボル誤りモデルを使用しての、シンボル誤り率に対するＥＤＢ書き換えの確率のグラフである。
【図１４】いくつかの実施形態による、独立シンボル誤りモデルを使用しての、１ＤＳ当たりの書き換えられたＥＤＢセットの平均数のグラフである。
【図１５】例示的なフレキシブル書き換え表である。
【図１６】一実施形態による方法を示す図である。
【図１７】第１の実施形態による方法を示す図である。
【図１８】第２の実施形態による方法を示す図である。
【図１９】第３の実施形態による方法を示す図である。
【図２０】一実施形態による方法を示す図である。
【図２１】一実施形態による方法を示す図である。
【図２２】一実施形態による方法を示す図である。
【図２３】一実施形態による方法を示す図である。
【図２４】別の実施形態による方法を示す図である。
【図２５】さらに別の実施形態による方法を示す図である。
【発明を実施するための形態】
【００１２】
以下の説明は、本発明の一般的な原理を示すことを目的としており、本明細書で特許請求される本発明の概念を限定するものではない。さらに、本明細書に記述された特定の機能は、様々な可能な組み合わせおよび変更のそれぞれに関して説明された他の機能と組み合わせて使用することができる。
【００１３】
本明細書で特に別段で規定されない限り、すべての用語は、その最も広い可能な解釈が、本明細書から暗示される意味、ならびに当業者によって理解されている意味、または辞書、協定などに定義された意味あるいはその両方を含め、与えられる。
【００１４】
本明細書および添付の特許請求の範囲では、単数形「１つの（a）」、「１つの（an）」および「その（the）」は、特にことわらない限り、複数の指示対象を含むことにも留意されなければならない。用語の「含む（comprises）」または「含んでいる（comprising）」あるいはその両方は、本明細書で用いられる場合、述べられた特徴、完全体、ステップ、操作、要素、または構成要素あるいはその組み合わせの存在を明示するが、１つまたは複数の他の特徴、完全体、ステップ、操作、要素、構成要素、またはこれらの群あるいはその組み合わせの存在または追加を排除しないことをさらに理解されたい。本明細書では用語の「約」は、当業者には理解されるはずであるように、用語の「約」が前に付いた値を、用語の「約」が前に付いたその値にかなり近い任意の値と共に示す。特に他に示されていない場合、用語の「約」は、「約」が前に付いた値±１０％の値を表す。たとえば「約１０」は、９．０を含めてそれから１１．０までのすべての値を示す。
【００１５】
以下の説明では、より効率的な書き換えをすることが可能なより大きい符号語サイズを利用する、順次データ記憶媒体へのデータ書き換えのためのシステム、方法、およびコンピュータ・プログラム製品のいくつかの好ましい実施形態を開示する。
【００１６】
１つの一般的な実施形態では、システムが、少なくともＭ個に達する複数の書き込み変換器と、少なくともＭ個に達する複数の読み出し変換器とを有する磁気ヘッドを含み、各読み出し変換器は、順次アクセス媒体からデータを、対応する書き込み変換器によって書き込まれた後に読み出すように構成されている。システムはまた、コントローラと、コントローラと一体化された、またはコントローラによって実行可能な、あるいはその両方である論理回路とを含む。論理回路は、複数のＭ個の書き込み変換器を使用して、データ・セットを順次アクセス媒体に書き込むように構成される。データ・セットは、いくつかの固定サイズのサブ・データ・セットを含み、各サブ・データ・セットは、インターリーブまたは非インターリーブ配置の符号語を含む複数の符号化データ・ブロックを含む。各符号語は、シンボルごとに少なくとも８ビットのサイズを有する所定の数のシンボルを含む。論理回路はまた、複数のＭ個の読み出し変換器を使用して、データ・セットを、記録時再生処理で順次アクセス媒体に書き込まれた直後に読み出して、誤りのある１つまたは複数の符号化データ・ブロックを識別するように構成され、誤りのある１つまたは複数の符号化データ・ブロックのそれぞれは、誤りのある少なくとも１つの符号語を含む。加えて、論理回路は、誤りのある符号化データ・ブロックを書き換えるために、特定の論理トラックを、順次アクセス媒体の書き換え領域内の論理トラックの所定のサブセットから選択するように構成され、書き換え領域は、順次アクセス媒体に最初に書き込まれるデータ・セットの位置の次に配置されている。論理トラックの所定のサブセットはＤ１＋Ｄ２＋１の論理トラックを含み、０＜Ｄ１＋Ｄ２＜Ｍ／４である。論理回路はまた、第１の符号化データ・ブロック・セット内の誤りのある１つまたは複数の符号化データ・ブロックの第１のものを、順次アクセス媒体の書き換え領域内の特定の論理トラックに書き換えるように構成され、特定のサブ・データ・セットからの誤りのあるただ１つの符号化データ・ブロックが、書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられる。
【００１７】
別の一般的な実施形態では、１つの方法が、磁気ヘッドの複数の少なくともＭ個の書き込み変換器を使用して、データ・セットを順次アクセス媒体に書き込むことを含む。データ・セットは、いくつかの固定サイズのサブ・データ・セットを含み、各サブ・データ・セットは、インターリーブまたは非インターリーブ配置の符号語を含む複数の符号化データ・ブロックを含む。各符号語は、シンボルごとに少なくとも８ビットのサイズを有する所定の数のシンボルを含む。この方法はまた、磁気ヘッドの複数の少なくともＭ個の読み出し変換器を使用して、データ・セットを、記録時再生処理で順次アクセス媒体に書き込まれた直後に読み出して、誤りのある１つまたは複数の符号化データ・ブロックを識別することを含み、誤りのある１つまたは複数の符号化データ・ブロックのそれぞれは、誤りのある少なくとも１つの符号語を含む。加えて、この方法は、誤りのある符号化データ・ブロックを書き換えるために、特定の論理トラックを、順次アクセス媒体の書き換え領域内の論理トラックの所定のサブセットから選択することを含み、書き換え領域は、順次アクセス媒体に最初に書き込まれるデータ・セットの位置の次に配置されている。論理トラックの所定のサブセットはＤ１＋Ｄ２＋１の論理トラックを含み、０＜Ｄ１＋Ｄ２＜Ｍ／４である。さらに、この方法は、第１の符号化データ・ブロック・セット内の誤りのある１つまたは複数の符号化データ・ブロックの第１のものを、順次アクセス媒体の書き換え領域内の特定の論理トラックに書き換えることを含む。特定のサブ・データ・セットからの誤りのあるただ１つの符号化データ・ブロックが、書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられる。
【００１８】
別の一般的な実施形態によれば、コンピュータ・プログラム製品が、プログラム命令が埋め込まれたコンピュータ可読記憶媒体を含む。具現化されたプログラム命令は、プロセッサが、プロセッサによって磁気ヘッドの複数の少なくともＭ個の書き込み変換器を使用して、データ・セットを順次アクセス媒体に書き込むように、プロセッサによって実行可能である。データ・セットは、いくつかの固定サイズのサブ・データ・セットを含み、各サブ・データ・セットは、インターリーブまたは非インターリーブ配置の符号語を含む複数の符号化データ・ブロックを含む。各符号語は、シンボルごとに少なくとも８ビットのサイズを有する所定の数のシンボルを含む。具現化されたプログラム命令はまた、プロセッサが、プロセッサによって磁気ヘッドの複数の少なくともＭ個の読み出し変換器を使用して、データ・セットを、記録時再生処理で順次アクセス媒体に書き込まれた直後に読み出して、誤りのある１つまたは複数の符号化データ・ブロックを識別するようにプロセッサによって実行可能であり、誤りのある１つまたは複数の符号化データ・ブロックのそれぞれは、誤りのある少なくとも１つの符号語を含む。加えて、具現化されたプログラム命令は、プロセッサが、プロセッサによって、誤りのある符号化データ・ブロックを書き換えるために、特定の論理トラックを順次アクセス媒体の書き換え領域内の論理トラックの所定のサブセットから選択するようにプロセッサによって実行可能であり、書き換え領域は、順次アクセス媒体に最初に書き込まれるデータ・セットの位置の次に配置されている。論理トラックの所定のサブセットはＤ１＋Ｄ２＋１の論理トラックを含み、０＜Ｄ１＋Ｄ２＜Ｍ／４である。さらに、具現化されたプログラム命令は、プロセッサが、プロセッサによって、第１の符号化データ・ブロック・セット内の誤りのある１つまたは複数の符号化データ・ブロックの第１のものを、順次アクセス媒体の書き換え領域内の特定の論理トラックに書き換えるようにプロセッサによって実行可能である。特定のサブ・データ・セットからの誤りのあるただ１つの符号化データ・ブロックが、書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられる。
【００１９】
別の一般的な実施形態では、１つの方法が、磁気ヘッドの複数の書き込み変換器を使用して、データ・セットを順次アクセス媒体に書き込むことを含み、データ・セットは、いくつかの固定サイズのサブ・データ・セットを含み、各サブ・データ・セットは、インターリーブ配置の符号語を含む複数の符号化データ・ブロックを含む。また、各符号語は、所定の数のシンボルを含む。この方法はまた、磁気ヘッドの複数の読み出し変換器を使用して、データ・セットを、記録時再生処理で順次アクセス媒体に書き込まれた直後に読み出して、誤りのある１つまたは複数の符号化データ・ブロックを識別することを含み、誤りのある１つまたは複数の符号化データ・ブロックのそれぞれは、誤りのある少なくとも１つの符号語を含む。また、この方法は、順次アクセス媒体から読み出されたデータ・セットを復号して、誤りのある１つまたは複数の符号化データ・ブロックを決定することを含み、符号化データ・ブロックが、符号化データ・ブロックが復号された後の閾数の誤りの検出に応じて、誤りがあると決定される。加えて、この方法は、誤りのある１つまたは複数の符号化データ・ブロックを書き換えるために、１つまたは複数の論理トラックを、順次アクセス媒体の書き換え領域内の論理トラックの１つまたは複数の固有の所定のサブセットから選択することを含み、書き換え領域は、順次アクセス媒体に最初に書き込まれるデータ・セットの位置の次に配置されている。論理トラックの所定のサブセットのそれぞれは、３つの論理トラックを含む。さらに、この方法は、１つまたは複数の符号化データ・ブロック・セット内の誤りのある１つまたは複数の符号化データ・ブロックを、順次アクセス媒体の書き換え領域内の１つまたは複数の論理トラックに書き換えることを含む。特定のサブ・データ・セットからの誤りのあるただ１つの符号化データ・ブロックが、書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられ、各符号化データ・ブロックが、ガロア体ＧＦ（１０２４）にわたり２つのシンボル・インターリーブされたリードソロモンＲＳ（３８４，３６４）Ｃ１符号語として順次アクセス媒体に書き込まれる。
【００２０】
さらに別の一般的な実施形態では、１つの方法が、磁気ヘッドの複数の書き込み変換器を使用して、データ・セットを順次アクセス媒体に書き込むことを含み、データ・セットは、いくつかの固定サイズのサブ・データ・セットを含み、各サブ・データ・セットは、インターリーブ配置の符号語を含む複数の符号化データ・ブロックを含む。また、各符号語は、所定の数のシンボルを含む。この方法はまた、磁気ヘッドの複数の読み出し変換器を使用して、データ・セットを、記録時再生処理で順次アクセス媒体に書き込まれた直後に読み出して、誤りのある１つまたは複数の符号化データ・ブロックを識別することを含み、誤りのある１つまたは複数の符号化データ・ブロックのそれぞれは、誤りのある少なくとも１つの符号語を含む。また、この方法は、順次アクセス媒体から読み出されたデータ・セットを復号して、誤りのある１つまたは複数の符号化データ・ブロックを決定することを含み、符号化データ・ブロックが、符号化データ・ブロックが復号された後の閾数の誤りの検出に応じて、誤りがあると決定される。加えて、この方法は、誤りのある１つまたは複数の符号化データ・ブロックを書き換えるために、１つまたは複数の論理トラックを、順次アクセス媒体の書き換え領域内の論理トラックの１つまたは複数の固有の所定のサブセットから選択することを含み、書き換え領域は、順次アクセス媒体に最初に書き込まれるデータ・セットの位置の次に配置されている。論理トラックの所定のサブセットのそれぞれは、５つの論理トラックを含む。さらに、この方法は、１つまたは複数の符号化データ・ブロック・セット内の誤りのある１つまたは複数の符号化データ・ブロックを、順次アクセス媒体の書き換え領域内の１つまたは複数の論理トラックに書き換えることを含む。特定のサブ・データ・セットからの誤りのあるただ１つの符号化データ・ブロックが、書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられ、各符号化データ・ブロックが、ガロア体ＧＦ（１０２４）にわたりリードソロモンＲＳ（７６８，７２８）Ｃ１符号語として順次アクセス媒体に書き込まれる。
【００２１】
ここで図１を参照すると、一実施形態によるネットワーク記憶システム１０の概略図が示されている。ネットワーク記憶システム１０は、適切な記憶システムの１つの例にすぎず、本明細書に記載の本発明の実施形態の使用または機能の範囲に関して、いかなる限定も示唆するものではない。それとは関係なく、ネットワーク記憶システム１０は実現することができ、かつ／または上記の機能のいずれも実行することができる。
【００２２】
ネットワーク記憶システム１０にはコンピュータ・システム／サーバ１２があり、これは、他の多数の汎用または専用のコンピューティング・システム環境または構成と共に動作可能である。コンピュータ・システム／サーバ１２と共に使用するのに適していることがある、よく知られているコンピューティング・システム、環境、または構成あるいはその組み合わせの例としては、それだけには限らないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサベースのシステム、セット・トップ・ボックス、プログラム可能消費者電子機器、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記のシステムおよびデバイスのいずれかを含む分散クラウド・コンピューティング環境などが挙げられる。
【００２３】
コンピュータ・システム／サーバ１２は、プログラム・モジュールなどの、コンピュータ・システムによって実行されるコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行する、または特定の抽象的なデータ型を実装する、ルーチン、プログラム、オブジェクト、構成要素、論理回路、データ構造などを含み得る。コンピュータ・システム／サーバ１２は、通信ネットワークを介してリンクされている遠隔処理デバイスによってタスクが実行される分散クラウド・コンピューティング環境において実践することができる。分散クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ記憶デバイスを含む局所と遠隔両方のコンピュータ・システム記憶媒体に設置することができる。
【００２４】
図１に示されるように、ネットワーク記憶システム１０内のコンピュータ・システム／サーバ１２が、汎用コンピューティング・デバイスの形で示されている。コンピュータ・システム／サーバ１２の構成要素には、それだけには限らないが、１つまたは複数の処理ユニット１６と、システム・メモリ２８と、システム・メモリ２８を含む様々なシステム構成要素を処理ユニット１６に結合するバス１８とが含まれ得る。
【００２５】
バス１８は、メモリ・バスまたはメモリ・コントローラと、周辺バスと、アクセラレイテッド・グラフィックス・ポートと、様々なバス・アーキテクチャのいずれかを使用するプロセッサ・バスまたはローカル・バスとを含む、いくつかのタイプのバス構造のいずれかの１つまたは複数を表す。限定ではなく例として、このようなアーキテクチャには、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオ・エレクトロニクス・スタンダード・アソシエーション（ＶＥＳＡ）ローカル・バス、および周辺構成要素相互接続（ＰＣＩ）バスが含まれる。
【００２６】
コンピュータ・システム／サーバ１２は通常、様々なコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム／サーバ１２によってアクセス可能な、任意の入手可能な媒体とすることができ、これには揮発性媒体と不揮発性媒体、および取り外し可能媒体と固定型可能媒体の両方が含まれる。
【００２７】
システム・メモリ２８は、ランダム・アクセス・メモリ（ＲＡＭ）３０またはキャッシュ・メモリ３２あるいはその両方などの揮発性メモリの形のコンピュータ・システム可読媒体を含み得る。コンピュータ・システム／サーバ１２はさらに、他の取り外し可能／固定型、揮発性／不揮発性のコンピュータ・システム記憶媒体を含み得る。単に例として、記憶システム３４は、ＨＤＤで動作させることができる、図示されていないが通常は「ハード・ディスク」と呼ばれる、固定型不揮発性磁気媒体との間で読み出しおよび書き込みをするために設けられることがある。図示されていないが、取り外し可能な不揮発性磁気ディスク（たとえば、「フロッピーディスク」）との間で読み出しおよび書き込みをするための磁気ディスクドライブと、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭまたは他の光学媒体などの、取り外し可能な不揮発性光学ディスクとの間で読み出しまたは書き込みをするための光ディスクドライブとが設けられることがある。このような場合、それぞれのディスクドライブは、１つまたは複数のデータ媒体インターフェースによってバス１８に接続することができる。以下でさらに描写および説明されるように、メモリ２８は、本明細書に記載の実施形態の機能を実行するように構成されているプログラム・モジュールのセット（たとえば、少なくとも１つ）を有する、少なくとも１つのプログラム製品を含み得る。
【００２８】
プログラム・モジュール４２のセット（少なくとも１つ）を有するプログラム／ユーティリティ４０は、例として、それだけではないが、メモリ２８に、オペレーティング・システム、１つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データと同様に、記憶することができる。オペレーティング・システム、１つもしくは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データ、またはこれらの何らかの組み合わせのそれぞれは、ネットワーキング環境の一実施態様を含み得る。プログラム・モジュール４２は一般に、本明細書に記載された本発明の実施形態の機能または手法あるいはその両方を実行する。
【００２９】
コンピュータ・システム／サーバ１２はまた、キーボード、ポインティング・デバイス、ディスプレイ２４などの１つもしくは複数の外部デバイス１４、ユーザがコンピュータ・システム／サーバ１２と対話できるようにする１つもしくは複数のデバイス、またはコンピュータ・システム／サーバ１２が１つもしくは複数の他のコンピューティング・デバイスと通信できるようにするあらゆるデバイス（たとえば、ネットワーク・カード、モデムなど）、あるいはこれらの組み合わせと通信することもできる。このような通信は、入出力（Ｉ／Ｏ）インターフェース２２を介して行われ得る。さらに、コンピュータ・システム／サーバ１２は、ネットワーク・アダプタ２０を介して、ローカル・エリア・ネットワーク（ＬＡＮ）、一般広域ネットワーク（ＷＡＮ）、または公衆ネットワーク（たとえばインターネット）あるいはこれらの組み合わせなどの、１つまたは複数のネットワークと通信することができる。図示のように、ネットワーク・アダプタ２０は、バス１８を介してコンピュータ・システム／サーバ１２の他の構成要素と通信する。図示されていないが、他のハードウェアまたはソフトウェアの、あるいはその両方の構成要素が、コンピュータ・システム／サーバ１２と組み合わせて使用できることを理解されたい。例としては、それだけには限らないが、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、独立ディスクの冗長アレイ（ＲＡＩＤ）システム、テープ・ドライブ、およびデータ・アーカイバル記憶システムなどが挙げられる。
【００３０】
図２は、本発明の文脈において使用することができる、テープベースのデータ記憶システムの簡略化テープ・ドライブ１００を示す。図２にはテープ・ドライブの１つの特定の実施態様が示されているが、本明細書に記載の実施形態は、任意のタイプのテープ・ドライブ・システムの文脈において実現できることに留意されたい。
【００３１】
図示のように、テープ供給カートリッジ１２０および巻き取りリール１２１は、テープ１２２を支持するために設けられる。リールのうちの１つまたは複数は、取り外し可能なカートリッジの一部を形成することができ、必ずしもテープ・ドライブ１００の一部というわけではない。図２に示されたものなどのテープ・ドライブはさらに、テープ供給カートリッジ１２０および巻き取りリール１２１を駆動してテープ１２２を任意のタイプのテープ・ヘッド１２６の上で移動させる、駆動モータを含み得る。このようなヘッドには、リーダの、ライタの、または両方のアレイが含まれ得る。
【００３２】
案内１２５は、テープ・ヘッド１２６をまたいでテープ１２２を案内する。次いで、このようなテープ・ヘッド１２６は、ケーブル１３０を介してコントローラ１２８に結合される。コントローラ１２８は、テープ・ドライブ１００のいずれのサブシステムも制御するための、プロセッサもしくは任意の論理回路またはその両方であるか、あるいはこれらを含み得る。たとえば、コントローラ１２８は通常、サーボ追尾、データ書き込み、データ読み出しなどのヘッド機能を制御する。コントローラ１２８は、少なくとも１つのサーボ・チャネル、および少なくとも１つのデータ・チャネルを含むことができ、それらのそれぞれが、テープ１２２との間で書き込みまたは読み出しあるいはその両方が行われるべき情報を処理または記憶する、あるいはその両方をするように構成されたデータ・フロー処理論理回路を含む。コントローラ１２８は、当技術分野で知られている論理回路、ならびに本明細書で開示されている任意の論理回路のもとで動作することができ、したがって、様々な実施形態で本明細書に含まれるテープ・ドライブについての説明のうちのいずれかに対するプロセッサと考えることができる。コントローラ１２８は、任意の知られているタイプのメモリ１３６に結合することができ、このメモリは、コントローラ１２８によって実行可能な命令を記憶することができる。さらに、コントローラ１２８は、本明細書に提示された手法の一部もしくは全部を実行または制御するように構成することができ、またはプログラム可能とすることができ、あるいはその両方とすることができる。したがって、コントローラ１２８は、１つまたは複数のチップ、モジュール、またはブロックあるいはその組み合わせの中にプログラムされた論理回路と、ソフトウェア、ファームウェア、または１つもしくは複数のプロセッサに使用可能である他の命令、あるいはその組み合わせなどと、これらの組み合わせとによって、様々な動作を実行するように構成されるものと考えられてもよい。
【００３３】
ケーブル１３０は、データをヘッド１２６へ送出してテープ１２２に記録されるようにするための、またヘッド１２６によってテープ１２２から読み出されたデータを受け取るための読み出し／書き込み回路を含み得る。アクチュエータ１３２は、テープ１２２に対してヘッド１２６の位置を制御する。
【００３４】
インターフェース１３４はまた、当業者には理解されるように、データを送受信するテープ・ドライブ１００とホスト（内部または外部）との間の通信のために、またテープ・ドライブ１００の動作を制御しテープ・ドライブ１００の状態をホストに伝えるために設けられることもある。
【００３５】
図３は、一実施形態による例示的なテープ・カートリッジ１５０を示す。このようなテープ・カートリッジ１５０は、図２に示されたようなシステムで使用することができる。図示のように、テープ・カートリッジ１５０は、ハウジング１５２、ハウジング１５２内のテープ１２２、およびハウジング１５２に結合された不揮発性メモリ１５６を含む。いくつかの手法では、図３に示されるように、不揮発性メモリ１５６がハウジング１５２の内側に埋め込まれることがある。さらなる手法では、不揮発性メモリ１５６は、ハウジング１５２を修正しなくてもハウジング１５２の内側または外側に取り付けられることがある。たとえば、不揮発性メモリは、粘着剤付きのラベル５４に埋め込むことができる。１つの好ましい実施形態では、不揮発性メモリ１５６は、テープ・カートリッジ１５０の内側または外側に埋め込まれるか結合されるフラッシュ・メモリ・デバイス、ＲＯＭデバイスなどでよい。不揮発性メモリは、テープ・ドライブおよびテープ操作ソフトウェア（ドライブ・ソフトウェア）、または他のデバイスあるいはその両方によってアクセス可能である。
【００３６】
図４は、Ｍ個の書き込みチャネルを介してＭ個のトラックが同時に書き込まれるテープ・ドライブにおける概念的なデータ・フロー３００を詳細な形で示す。データ・フロー３００はホストデータを、一実施形態によれば、巡回冗長検査（ＣＲＣ）誤り検出エンコーダ３０２、圧縮モジュール３０４、任意選択の暗号化モジュール３０６、誤り訂正符号（ＥＣＣ）エンコーダ３０８（Ｃ１／Ｃ２またはＣ２／Ｃ１として配置された、Ｃ１エンコーダおよびＣ２エンコーダを含む）、およびテープ配置モジュール３１０に通すことを含む。ヘッダ挿入モジュール３１２は、図示のように配置されて、テープ配置モジュール３１０に送出することができ、あるいは、一実施形態では、ＥＣＣエンコーダ３０８に送出するように配置され、それによって、ヘッダがいくらかのＥＣＣ符号化を受けることを可能にすることができる。テープ配置モジュール３１０はデータを、テープ媒体のトラックに書き込むための各チャネル１、．．．、Ｍへの個々のデータ送出に分割する。データ・フロー３００はまた、同時書き込みトラック１、．．．、Ｍごとに、データのスクランブリング（データ・ランダム化）３１４、．．．、３１６、変調符号化３１８、．．．、３２０、同期挿入３２６、．．．、３２８、および多重化３２２、．．．、３２４も含む。
【００３７】
以下の説明では、説明を簡単にするために、これらの動作のほとんどが図示されない。しかし、本明細書の説明のいずれも、本明細書を読めば当業者には理解されるように、図示されていない付加的な動作を含み得る。同時に書き込むことができるトラックの数は、使用されるテープ・ドライブによって決まり、Ｍの値は１から６４以上にまで及ぶ。
【００３８】
テープに書き込まれるデータと関連付けられた５種類のオーバヘッド、すなわち、ＥＣＣエンコーダにおける誤り訂正符号化３０８、変調符号化３１８、・・・、３２０、ヘッダの挿入３１２、同期パターンの挿入３２６、．．．、３２８、および記録時再生に続くデータの書き換え、がある。書き換えオーバヘッドを除くオーバヘッドのこれらの基本的形により、約７９％のフォーマット効率が達成され、たとえば、テープに記憶された１００ビットごとから７９ビットのデータだけが、ＥＣＣエンコーダ３０８の入力に供給されるデータであるユーザ・データに対応する。さらに、典型的な磁気テープでは、データを書き換えるために約３％のスペースを確保している。
【００３９】
図５は、一実施形態による、データをサブ・データ・セット（ＳＤＳ）に編成するために使用できる論理データ・アレイ４００を示す。図示のように、データ・アレイは、複数の行４０２および列４０４を含む。データ・アレイ４００の各行４０２は、複数のＣ１符号語を含む符号語インターリーブ（ＣＷＩ）である。ＣＷＩは、４つのインターリーブされた符号語を含む場合にはＣＷＩ−４と呼ばれる。ＳＤＳのデータは、Ｃ１行パリティ（データ・アレイ４００を生成するために後で変調されるので図示せず）を生成するための各行４０２にわたるＣ１符号化と、Ｃ２列パリティ４０８を生成するための各列４０４にわたるＣ２符号化とによって保護される。
【００４０】
図示のように、各行４０２のヘッダ４０６は、ヘッダ４０６に相当するＣ１パリティ（行４０２のデータについてのみ計算されている）を修正してＣ１’パリティ４１０を生成することによって、Ｃ１符号化方式を使用して符号化することができる。この実施形態では、ヘッダ４０６が１レベルＥＣＣ（Ｃ１’パリティ４１０だけ）によって保護されるのに対し、データは２レベルＥＣＣ（Ｃ１’パリティ４１０およびＣ２パリティ４０８）によって保護される。
【００４１】
各データ・セットは多数のサブ・データ・セットを含み、各サブ・データ・セットは論理２次元アレイによって表すことができる。各データ・セットが多数のＳＤＳを含み、列符号化ＳＤＳの各行（一般にはＣＷＩ）がヘッダを割り当てられるので、通常は数百のヘッダが単一のデータ・セットに割り当てられる。
【００４２】
現在使用されているリニア・テープ・ドライブは、書き込みと読み出しを磁気テープ媒体へ、または磁気テープ媒体から、あるいはその両方で、３２トラックまで同時にする。積符号のＣ１行符号語が、バイト・インターリーブされた方法で磁気テープ媒体の個々のトラックに書き込まれる。
【００４３】
図５は、積符号語に適用される１２バイトのパリティを用いた例示的な（２４０，２２８）Ｃ１符号を示す。本明細書を読めば当業者には理解されるように、別のＣ１符号が、論理データ・アレイ４００を構築する際に本明細書に記載の様々な実施形態と組み合わせて使用されてもよい。
【００４４】
次に、図６を参照すると、一実施形態による書き換え方式が示されている。この書き換え方式５００では、書き込まれるデータ・セット５０２に応じて、記録時再生中に検出された、誤りのあるすべてのデータパケット５０４（ヘッダ付きＣＷＩまたはヘッダ付き符号化データ・ブロック）が大プール５０６に集められ、データ・セットの末端の書き換え領域５０８で書き換えられる。この書き換え方式５００では書き換え効率が向上し、したがって、テープ上の書き換え領域５０８のサイズが従来の書き換え方式と比較して低減する。
【００４５】
図７を参照すると、一実施形態によるシステム６００が示されている。システム６００は、複数の書き込み変換器６０４および複数の読み出し変換器６０６を含む、少なくとも１つの磁気ヘッド６０２を含み、各読み出し変換器６０６は、対応する書き込み変換器６０４からダウンテープ方向に配置されている。各読み出し変換器６０６は、磁気テープ媒体６０８の１つのトラックから他の読み出し変換器６０６と同時にデータを読み出し、それによって、複数のトラック６１０が磁気テープ媒体６０８から同時に読み出されることを可能にするように構成されている。同時に読み出されることが可能なトラック６１０の数は、磁気ヘッド６０２の読み出し変換器６０６の数と等しい。当然ながら、いくつかの読み出し変換器６０６は、磁気ヘッド位置合わせのためのサーボ・トラックを読み出すために、または他の目的のために、あるいはその両方のために構成することができるが、これらの説明のために、読み出し変換器６０６はそれぞれ、磁気テープ媒体６０８からデータを読み出すことができると仮定されている。
【００４６】
システム６００はまた、ハードウェア処理回路６１２と、ハードウェア処理回路６１２と一体化された、またはハードウェア処理回路６１２によって実行可能な、あるいはその両方である論理回路とを含む。ハードウェア処理回路６１２は、中央処理ユニット（ＣＰＵ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）などの、ハードウェア処理ユニットもしくは回路またはその両方、これらの組み合わせ、あるいは当技術分野で知られている任意の他の適切な任意のコンピューティング・デバイスまたは処理デバイスでよい。論理回路は、ソフトウェア、ハードウェア、またはこれらの何らかの組み合わせで実現することができる。一実施形態では、論理回路は、処理回路６１２が、複数のＭ個の書き込み変換器を使用して、データ・セットを順次アクセス媒体に書き込むように構成される。データ・セットは、いくつかの固定サイズのサブ・データ・セットを含み、各サブ・データ・セットは、インターリーブまたは非インターリーブ配置の符号語を含む複数の符号化データ・ブロックを含む。各符号語は、シンボルごとに少なくとも８ビットのサイズを有する所定の数のシンボルを含む。論理回路はまた、処理回路６１２が、複数のＭ個の読み出し変換器を使用して、データ・セットを、記録時再生処理で順次アクセス媒体に書き込まれた直後に読み出して、誤りのある１つまたは複数の符号化データ・ブロックを識別するように構成され、誤りのある１つまたは複数の符号化データ・ブロックのそれぞれは、誤りのある少なくとも１つの符号語を含む。加えて、論理回路は、処理回路６１２が、誤りのある符号化データ・ブロックを書き換えるために、特定の論理トラックを、順次アクセス媒体の書き換え領域内の論理トラックの所定のサブセットから選択するように構成され、書き換え領域は、順次アクセス媒体に最初に書き込まれるデータ・セットの位置の次に配置されている。論理トラックの所定のサブセットはＤ１＋Ｄ２＋１の論理トラックを含み、０＜Ｄ１＋Ｄ２＜Ｍ／４である。論理回路はまた、処理回路６１２が、第１の符号化データ・ブロック・セット内の誤りのある１つまたは複数の符号化データ・ブロックの第１のものを、順次アクセス媒体の書き換え領域内の特定の論理トラックに書き換えるように構成され、特定のサブ・データ・セットからの誤りのあるただ１つの符号化データ・ブロックが、書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられる。
【００４７】
別の実施形態では、論理回路は、処理回路６１２が、磁気ヘッドの複数の書き込み変換器を使用して、データ・セットを順次アクセス媒体に書き込むように構成され、データ・セットは、いくつかの固定サイズのサブ・データ・セットを含み、各サブ・データ・セットは、インターリーブ配置の符号語を含む複数の符号化データ・ブロックを含む。また、各符号語は、所定の数のシンボルを含む。論理回路はまた、処理回路６１２が、磁気ヘッドの複数の読み出し変換器を使用して、データ・セットを、記録時再生処理で順次アクセス媒体に書き込まれた直後に読み出して、誤りのある１つまたは複数の符号化データ・ブロックを識別するように構成され、誤りのある１つまたは複数の符号化データ・ブロックのそれぞれは、誤りのある少なくとも１つの符号語を含む。また、論理回路は、処理回路６１２が、順次アクセス媒体から読み出されたデータ・セットを復号して、誤りのある１つまたは複数の符号化データ・ブロックを決定するように構成され、符号化データ・ブロックが、符号化データ・ブロックが復号された後の閾数の誤りの検出に応じて、誤りがあると決定される。加えて、論理回路は、処理回路６１２が、誤りのある１つまたは複数の符号化データ・ブロックを書き換えるために、１つまたは複数の論理トラックを、順次アクセス媒体の書き換え領域内の論理トラックの１つまたは複数の固有の所定のサブセットから選択するように構成され、書き換え領域は、順次アクセス媒体に最初に書き込まれるデータ・セットの位置の次に配置されている。論理トラックの所定のサブセットのそれぞれは、３つの論理トラックを含む。さらに、論理回路は、処理回路６１２が、１つまたは複数の符号化データ・ブロック・セット内の誤りのある１つまたは複数の符号化データ・ブロックを、順次アクセス媒体の書き換え領域内の１つまたは複数の論理トラックに書き換えるように構成される。特定のサブ・データ・セットからの誤りのあるただ１つの符号化データ・ブロックが、書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられ、各符号化データ・ブロックが、ガロア体ＧＦ（１０２４）にわたり２つのシンボル・インターリーブされたリードソロモンＲＳ（３８４，３６４）Ｃ１符号語として順次アクセス媒体に書き込まれる。
【００４８】
さらに別の一般的な実施形態では、論理回路は、処理回路６１２が、磁気ヘッドの複数の書き込み変換器を使用して、データ・セットを順次アクセス媒体に書き込むように構成され、データ・セットは、いくつかの固定サイズのサブ・データ・セットを含み、各サブ・データ・セットは、インターリーブ配置の符号語を含む複数の符号化データ・ブロックを含む。また、各符号語は、所定の数のシンボルを含む。論理回路はまた、処理回路６１２が、磁気ヘッドの複数の読み出し変換器を使用して、データ・セットを、記録時再生処理で順次アクセス媒体に書き込まれた直後に読み出して、誤りのある１つまたは複数の符号化データ・ブロックを識別するように構成され、誤りのある１つまたは複数の符号化データ・ブロックのそれぞれは、誤りのある少なくとも１つの符号語を含む。また、論理回路は、処理回路６１２が、順次アクセス媒体から読み出されたデータ・セットを復号して、誤りのある１つまたは複数の符号化データ・ブロックを決定するように構成され、符号化データ・ブロックが、符号化データ・ブロックが復号された後の閾数の誤りの検出に応じて、誤りがあると決定される。加えて、論理回路は、処理回路６１２が、誤りのある１つまたは複数の符号化データ・ブロックを書き換えるために、１つまたは複数の論理トラックを、順次アクセス媒体の書き換え領域内の論理トラックの１つまたは複数の固有の所定のサブセットから選択するように構成され、書き換え領域は、順次アクセス媒体に最初に書き込まれるデータ・セットの位置の次に配置されている。論理トラックの所定のサブセットのそれぞれは、３つの論理トラックを含む。さらに、論理回路は、処理回路６１２が、１つまたは複数の符号化データ・ブロック・セット内の誤りのある１つまたは複数の符号化データ・ブロックを、順次アクセス媒体の書き換え領域内の１つまたは複数の論理トラックに書き換えるように構成される。特定のサブ・データ・セットからの誤りのあるただ１つの符号化データ・ブロックが、書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられ、各符号化データ・ブロックが、ガロア体ＧＦ（１０２４）にわたりインターリーブされたリードソロモンＲＳ（７６８，７２８）Ｃ１符号語として順次アクセス媒体に書き込まれる。
【００４９】
従来の書き換え戦略と組み合わせて使用される現在実施のＣ１符号では、順次アクセス媒体に記憶されるデータの信号対雑音比（ＳＮＲ）を低減させると、使用されるＣ１符号と書き換え方式の組み合わせに起因する高いＣ１誤り率の故に過度の書き換えが記録時再生処理中に行われるので、ユーザ・データのために使用可能な記憶容量が失われることになる（誤り検出／訂正アルゴリズム、書き換えなどのためのオーバヘッドとして使い尽くされるデータとは異なり）。
【００５０】
したがって、順次アクセス媒体からのデータを記憶／検索するために反復符号化を使用することから得られるすべての潜在的な利点を利用するための改善が、書き換え戦略に必要とされている。具体的には、約１％の書き換え率が達成されるシンボル誤り率を約一桁引き上げることによって、データ・チャネルをより低いＳＮＲで動作させることが望ましい。言い換えると、約１％の書き換え率に対応するＣ１デコーダ入力におけるシンボル誤り率が１×１０−３〜１×１０−２の範囲内にあることが望ましい。さらに、現在ＣＷＩで利用されている符号語は、誤り訂正能力が比較的小さい。これらの符号語は、１符号語当たり５〜６バイトの誤りデータを訂正するようにしか構成されていない。これにより、閾値は最大で６バイトまでしか選択することができないので、書き換え誤り閾値を選択する自由度が制限される。現在、４つ以上の誤りを含む、Ｃ１符号語を用いたＣＷＩが書き換えられる。書き換え誤り閾値を非常に大きい範囲の数値から選択できることは有益であろう。また、データ・セットごとに書き換えられるＣＷＩセットの数を最小限にすることによって、書き換え効率を高めることも望ましい。
【００５１】
次に、図８を参照すると、一実施形態による誤りモデル７００が示されている。この誤りモデル７００は、誤り伝播を明らかにする簡単な２状態ギルバート・バースト誤りモデルに依拠している。２進ビット誤り値（ｅ）は、誤りの存在を示し、すなわち、ｅ＝０（誤りなし）またはｅ＝１（誤り）のどちらかである。誤りモデル７００には２つの状態、すなわち、良（Ｇ）７０２（ｅ＝０、状態Ｇにある確率がｇ）と、不良（Ｂ）７０４（ｅ＝１、状態Ｂにある確率がｂ）とがある。各状態遷移７０６、７０８、７１０、７１２は、一対の値（すなわち、誤り値、状態遷移確率）で標示されている。状態Ｂ  ７０４は、状態Ｇ  ７０２から遷移７０６（ｅ＝１、状態遷移がある確率が１−ｇ）を経由し、定常状態遷移７１０（ｅ＝１、確率がｂ）を経由して状態Ｂ  ７０４のとどまることによって、到達可能である。状態Ｇ  ７０２は、状態Ｂ  ７０４から遷移７０８（ｅ＝０、状態遷移がある確率が１−ｂ）を経由し、定常状態遷移７１２（ｅ＝０、確率がｇ）を経由して状態Ｇ  ７０２のとどまることによって、到達可能である。この誤りモデル７００は、リードソロモン（ＲＳ）デコーダ入力における相関ビット誤りを記述するのに使用することができる。１つの手法では、ＲＳデコーダ入力における相関ビット誤りは、２つのパラメータだけで、すなわち、ＲＳデコーダ入力における生ビット誤り確率を表すｐｂと、状態Ｂにとどまる確率を表すｂ（たとえば、１つのデコーダ構成によれば、ｂ＝１５／１６＝９３．７５％）とによって、決定することができる。
【００５２】
ｐｂおよびｂの関数としての、状態Ｇ  ７０２にとどまる確率（ｇ）は、ｇ＝（１−ｐｂ）＋ｐｂ（ｂ−ｐｂ）／（１−ｐｂ）となる。したがって、状態Ｇ  ７０２にある定常状態確率は（１−ｂ）／（２−ｂ−ｇ）であるのに対し、状態Ｂ  ７０４にある定常状態確率は（１−ｇ）／（２−ｂ−ｇ）となる。
【００５３】
図９を参照すると、一実施形態による独立ビット誤りモデル８００が示されている。この誤りモデル８００は、ＲＳデコーダ入力における独立ビット誤りをもたらす付加白色ガウス雑音（ＡＷＧＮ）の非常に簡単な１状態ビット誤りモデルである。この誤りモデル８００では、ただ１つの状態８０２が２つの遷移８０４、８０６と共にある。第１の遷移８０４は誤りなしを示している（ｅ＝０、１−ｐｂの状態遷移確率を有する）のに対し、第２の遷移８０６は誤りを示す（ｅ＝１、ｐｂの状態遷移確率を有する）。２進ビット誤り値（ｅ）は、２つの値のうちの１つ、ｅ＝０（誤りなしを示す）またはｅ＝１（誤りを示す）どちらかを有し得る。一実施形態によれば、この誤りモデル８００は、ＲＳデコーダ入力における生ビット誤り確率を表すただ１つのパラメータｐｂによって決定される。
【００５４】
図１０を参照すると、一実施形態による符号語オブジェクト９００の簡略ブロック図が示されている。符号語オブジェクト９００は、２つのヘッダ付きＣＷＩ９０２、９０４を含むが、２つのヘッダ付きＣＷＩを有することには、多く有することも少なく有することもあるので、限定されない。各ヘッダ付きＣＷＩ９０２、９０４は、それだけには限らないが、ヘッダ９０６と、１つまたは複数のシンボル・インターリーブされた符号語を一緒に含むＣＷＩ９０８とを含む。
【００５５】
各ヘッダ９０６は、一実施形態では１２バイトのサイズを有するが、本明細書では詳細に説明しない他の実施形態では、もっと長いことも短いこともある。たとえば、ヘッダ９０６は、６バイト、８バイト、１０バイト、１４バイト、１６バイトなどであり得る。加えて、各ＣＷＩ９０８は、一実施形態では９６０バイトのサイズを有するが、本明細書では詳細に説明しない他の実施形態では、もっと大きいことも小さいこともある。たとえば、ＣＷＩ９０８は、９８４バイト、９９８バイト、１０２４バイト、１４７２バイト、１９２０バイトなどであり得る。
【００５６】
以下の表１は、３つの異なる実施形態による符号語オブジェクト９００に含まれるＣＷＩ  ９０８のサイズを示す。各体系は、Ｃ１符号がＲＳ（Ｎ、Ｋ）として表されているリードソロモン（ＲＳ）符号を利用し、ＧＦ（Ｑ）で表された所定の数のシンボルのガロア体（ＧＦ）にわたり生成される。
【００５７】
【表１】
2021508138.tif 000003
【００５８】
第１の実施形態では、各ＣＷＩは長さが７６８０ビットであり、データを符号化するために使用されるＲＳ符号は、ＧＦ（２５６）にわたりＲＳ（２４０，２２８）であり、１符号語当たり６つの誤りシンボルを訂正する能力が得られる。さらに、インターリーブ深さは４であり、各ＣＷＩに４つの符号語が含まれることになり（たとえば、ＣＷＩ−４）、シンボルを使用する各符号語が８ビットのシンボル・サイズを有する。第２の実施形態では、各ＣＷＩは長さが７６８０ビットであり、データを符号化するために使用されるＲＳ符号は、ＧＦ（１０２４）にわたりＲＳ（３８４，３６４）であり、１符号語当たり１０個の誤りシンボルを訂正する能力が得られる。さらに、インターリーブ深さは２であり、各ＣＷＩに２つの符号語が含まれることになり（たとえば、ＣＷＩ−２）、シンボルを使用する各符号語が１０ビットのシンボル・サイズを有する。第３の実施形態では、各ＣＷＩは長さが７６８０ビットであり、データを符号化するために使用されるＲＳ符号は、ＧＦ（１０２４）にわたりＲＳ（７６８，７２８）であり、１符号語当たり２０個の誤りシンボルを訂正する能力が得られる。さらに、インターリーブ深さは１あり、各ＣＷＩに１つの符号語が含まれることになり（たとえば、ＣＷＩ−１）、シンボルを使用する各符号語が１０ビットのシンボル・サイズを有する。ＣＷＩ−１、ＣＷＩ−２およびＣＷＩ−４は、インターリーブ配置の符号語（たとえば、ＣＷＩ−２およびＣＷＩ−４）または非インターリーブ配置の符号語（ＣＷＩ−１）を含む符号化データ・ブロック（ＥＤＢ）の例である。
【００５９】
これら３つの実施形態は、図１１、図１２、図１３、および図１４のグラフに示されるように、それぞれが提供する利点を従来の符号化／復号方式と比べて示すための予測モデルを使用して調べられた。
【００６０】
図１１に示されるように、Ｃ１デコーダ入力においてｂ＝１５／１６であるギルバート・バースト誤りモデルを使用して、符号化データ・ブロック書き換えの確率が、Ｃ１デコーダ入力におけるシンボル誤り率に対してグラフ化されている。このグラフに表された各シナリオでは、誤り訂正閾値として、特定の符号の最大誤り訂正能力以下に設定された書き換え閾値を仮定している。第１の実施形態では最大誤り訂正能力が６であり、第２の実施形態では最大誤り訂正能力が１０であり、第３の実施形態では最大誤り訂正能力が２０であることに留意されたい。書き換え閾値は、データが書き換えられるかどうかを指示し、データが書き換えられる前に符号語の中で許容される誤りの数を示し、たとえばデータが、書き換え閾値Ｅ以上の符号語の誤りの数に応じて書き換えられる。
【００６１】
図１１のグラフでは、上の方の線１００２は、Ｎ＝２４０であるＲＳ  Ｃ１符号と、Ｅ＝４の書き換え閾値と、Ｉ＝４のインターリーブ深さとを使用する第１の実施形態を表す。中間の線１００４は、Ｎ＝３８４であるＲＳ符号と、Ｅ＝８の書き換え閾値と、Ｉ＝２のインターリーブ深さとを使用する第２の実施形態を表す。下の線１００６は、Ｎ＝７６８であるＲＳ符号と、Ｅ＝１８の書き換え閾値と、Ｉ＝１のインターリーブ深さとを使用する第３の実施形態を表す。
【００６２】
図１１のグラフで分かるように、どの特定のＥＤＲ書き換え率でも、より優れた動作（より大きいシンボル誤り率）が第３の実施形態で達成されており、第２の実施形態の動作が後に続き、次に第１の実施形態が続く。これは、書き換え目的のために、より優れた動作が、Ｃ１デコーダの入力でのより大きいシンボル誤り率において同じ書き換え率（ｙ軸に示される）になることによって示されるからである。Ｃ１デコーダの入力でのシンボル誤り率がより大きいことは、より低いＳＮＲ値で動作するということである。したがって、第３の実施形態は、記憶デバイスが書き換え率を一定に保ちながら最も低いＳＮＲで動作することを可能にする。
【００６３】
ここで図１２を参照すると、Ｃ１デコーダ入力においてｂ＝１５／１６であるギルバート・バースト誤りモデルを使用して、１データ・セット（ＤＳ）当たりの書き換え符号化データ・ブロック・セットの平均数が、Ｃ１デコーダ入力におけるシンボル誤り率に対してグラフ化されている。図１２のグラフでは、上の方の線１００８は、Ｎ＝２４０であるＲＳ符号と、Ｅ＝４の書き換え閾値と、Ｉ＝４のインターリーブ深さとを使用して、第１の実施形態を表す。中間の線１０１０は、Ｎ＝３８４であるＲＳ符号と、Ｅ＝８の書き換え閾値と、Ｉ＝２のインターリーブ深さとを使用して、第２の実施形態を表す。下の線１０１２は、Ｎ＝７６８であるＲＳ符号と、Ｅ＝１８の書き換え閾値と、Ｉ＝１のインターリーブ深さとを使用して、第３の実施形態を表す。ｙ軸は、ＤＳ中の書き換え符号化データ・ブロック・セットの平均数を示し、１０１が約５％の書き換え率を表し、１００が約０．５％の書き換え率を表す。書き換え率がより小さいと、より優れた動作がこの方式から得られる。
【００６４】
図１２のグラフで分かるように、どの特定のシンボル誤り率でも、より優れた動作（より小さい書き換え率）が第３の実施形態で達成されており、第２の実施形態の動作が後に続き、次に第１の実施形態が続く。
【００６５】
図１３に示されるように、Ｃ１デコーダ入力において独立シンボル誤りモデルを使用して、符号化データ・ブロック書き換えの確率が、Ｃ１デコーダ入力におけるシンボル誤り率に対してグラフ化されている。上の方の線１１０２は、Ｎ＝２４０であるＲＳ符号、Ｅ＝４の書き換え閾値、およびＩ＝４のインターリーブ深さを使用する第１の実施形態を表す。中間の線１１０４は、Ｎ＝３８４であるＲＳ符号と、Ｅ＝８の書き換え閾値と、Ｉ＝２のインターリーブ深さとを使用する第２の実施形態を表す。下の線１１０６は、Ｎ＝７６８であるＲＳ符号と、Ｅ＝１８の書き換え閾値と、Ｉ＝１のインターリーブ深さとを使用する第３の実施形態を表す。
【００６６】
図１３のグラフで分かるように、どの特定の符号語書き換え率でも、より優れた動作（より大きいシンボル誤り率）が第３の実施形態で達成されており、第２の実施形態の動作が後に続き、次に第１の実施形態が続く。
【００６７】
ここで図１４を参照すると、Ｃ１デコーダ入力において独立シンボル誤りモデルを使用して、１ＤＳ当たりの書き換え符号化データ・ブロック・セットの平均数が、シンボル誤り率に対してグラフ化されている。図１４のグラフでは、上の方の線１１０８は、Ｎ＝２４０であるＲＳ符号と、Ｅ＝４の書き換え閾値と、Ｉ＝４のインターリーブ深さとを使用して、第１の実施形態を表す。中間の線１１１０は、Ｎ＝３８４であるＲＳ符号と、Ｅ＝８の書き換え閾値と、Ｉ＝２のインターリーブ深さとを使用して、第２の実施形態を表す。下の線１１１２は、Ｎ＝７６８であるＲＳ符号と、Ｅ＝１８の書き換え閾値と、Ｉ＝１のインターリーブ深さとを使用して、第３の実施形態を表す。ｙ軸は、１ＤＳ当たりの書き換え符号化データ・ブロック・セットの平均数を示し、１０１が約５％の書き換え率を表し、１００が約０．５％の書き換え率を表す。書き換え率がより小さいと、より優れた動作がこの方式から得られる。
【００６８】
図１４のグラフで分かるように、どの特定のシンボル誤り率でも、より優れた動作（より小さい書き換え率）が第３の実施形態で再び達成されており、第２の実施形態の動作が後に続き、次に第１の実施形態が続く。
【００６９】
図１５を参照すると、一例による例示的なフレキシブル書き換え表が示されている。このフレキシブル書き換え表は、以下のパラメータを用いて、すなわちＭ＝３２、Ｓ＝６４、Ｒ＝１５、Ｄ１＝１、Ｄ２＝１、および合計３つになる書き換え用の論理トラックのサブセットを用いて確立されている。これらのパラメータで、Ｍはチャネルの総数を示し、ＳはＤＳ中のサブ・データ・セットの総数を示し、Ｒは書き換え表の回転パラメータであり、Ｄ１＋Ｄ２＋１は論理トラックのサブセットのサイズを示す。当然ながら、同様のフレキシブル書き換え表は、当業者には本明細書を読めば理解されるように、様々な実施形態として本明細書に記載されているシステムおよび方法で実現できる、パラメータの任意の組み合わせを使用して確立することができる。フレキシブル書き換え表は、特定の符号化データ・ブロック（ＥＤＢ）セットｃ、および書き換え領域内で書き換えられるべき特定のトラックｔについて、どのＥＤＢからＥＤＢセットｃと論理トラックｔの特定の組み合わせに書き換えることができるかを示す。たとえば、ＥＤＢセット１および論理トラック１では、１つの符号化データ・ブロックをサブ・データ・セット３４、３５、３６、３７、３８、または３９のうちの１つだけから書き換えることができる。別の例では、ＥＤＢセット３および論理トラック５について、１つの符号化データ・ブロックをサブ・データ・セット４６、４７、４８、４９、５０、または５１のうちの１つだけから書き換えることができる。さらに別の例では、ＥＤＢセット２および論理トラック３０について、１つの符号化データ・ブロックをサブ・データ・セット６２、６３、０、１、２、または３のうちの１つだけから書き換えることができる。
【００７０】
フレキシブル書き換え表は、１つの書き換え方式に対しデータを書き換えさせることができる、使用可能な論理トラックを生成するために利用することができる。このように、どの論理トラックでデータを書き換えることができるかを示すフレキシブル書き換え表は、特定のＥＤＢセットからのどれか特定のＥＤＢについてデータを書き換えることができる論理トラックのサブセットを決定するために調べられることがある。
【００７１】
図１６〜２２の説明では、以下の定義が適用される。順次アクセス媒体は、複数の物理トラックを含む。媒体上の物理トラックとは異なり、論理トラックは、媒体に記憶されるときにデータがどのように分割されるかを示し、各論理トラックはｉとして表され、０＜ｉ＜Ｍ−１である。Ｍは、データを書き込むシステムのチャネルの数、またはテープ・ドライブ、光学ドライブなどのシステムによって同時に書き込まれる順次アクセス媒体の物理トラックの数を表す。論理トラックｉは媒体の物理トラックにマッピングされ、一般に論理トラックよりも多くの物理トラックがあるので、多数の論理トラックのセットが媒体の複数の物理トラック全体にわたってマッピングされることになる。
【００７２】
次に図１６を参照すると、一実施形態による、順次アクセス媒体にデータを書き込み、読み出すための方法１３００が示されている。方法１３００は、様々な実施形態で、とりわけ図１〜１０に図示された環境のいずれかにおいて、本発明によって実行することができる。当然ながら、本明細書を読めば当業者には理解されるように、図１６で詳細に説明されるものよりも多いまたは少ない動作が方法１３００には含まれ得る。大文字で表されているパラメータは、方法１３００の計算全体を通じての定数であり、小文字表記のパラメータは変数である。
【００７３】
方法１３００のステップのそれぞれは、動作環境の任意の適切な構成要素によって実行することができる。たとえば、様々な実施形態では、方法１３００は、コントローラ、プロセッサ、テープ・ドライブ、光学ドライブ、または１つもしくは複数のプロセッサを有する何か他のデバイスによって、部分的にも全体的にも実行することができる。プロセッサ（たとえば処理回路、チップ、または、ハードウェアもしくはソフトウェアまたはその両方として実装されるモジュールあるいはこれらの組み合わせであり、好ましくは少なくとも１つのハードウェア構成要素を有する）は、方法１３００の１つまたは複数のステップを実行するための任意のデバイスで利用することができる。例示的なプロセッサとしては、それだけには限らないが、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡなど、これらの組み合わせ、または当技術分野で知られている他の適切な任意のコンピューティング・デバイスが挙げられる。
【００７４】
図１６に示されるように、方法１３００は動作１３０２から開始することができ、４つのパラメータ値Ｅ、Ｒ、Ｍ、およびＳが、ユーザの選好、望ましい結果、順次アクセス媒体を動作させるドライブの仕様、または順次アクセス媒体自体あるいはこれらの組み合わせに応じて、設定される。Ｅは、書き換えのための誤り閾値を表すために使用され、ＣＷＩの書き換えを起動するＣＷＩ中の誤りの数に応じて設定することができる。様々な手法では、Ｅは１から、１符号語当たりの訂正可能な誤りの最大数までの範囲内に設定することができる。Ｅは通常、記憶デバイスのファームウェアによって固定され事前設定される。一実施形態では、Ｅは、書き換え領域が所望の大きさよりも増大しないように、特定の順次アクセス媒体に書き込まれてから記録時再生処理中に読み出されるＣＷＩに生じる誤りの、増加または減少する数に応じて選択することができる。Ｒは、書き換えのための回転パラメータを表すために使用され、この回転パラメータは、書き換え中に順次アクセス媒体のトラックにデータがどのように書き書き換えられるかを示し、当業者には理解されるものである。様々な手法では、ＲはＭの値に等しい範囲、たとえば、Ｒ∈｛０，１，２，．．．，３１｜Ｍ＝３２｝に設定することができる。Ｍは、チャネルの数を表すために使用され、使用されるドライブに依拠する。Ｓは、分析されているサンプル・データ・セット中のサブ・データ・セットの数を示し、データがどのように媒体に記憶されるかということに基づく。一実施形態では、Ｓ＝２＊Ｍである。
【００７５】
動作１３０４で、データが順次アクセス媒体に書き込まれる。一実施形態では、データは、ＲＳ（Ｎ，Ｋ）によって符号化されたｐ番のＳＤＳからＣＷＩに編成され、このＣＷＩは、ＧＦ（Ｑ）にわたりＩ個のシンボル・インターリーブされたＣ１符号語を含む。
【００７６】
ｐの値は、分析されているサブ・データ・セットの範囲にわたって、０≦ｐ＜Ｓの範囲の任意の値を取ることができる。様々な実施形態では、Ｉは、１、２、４などに設定することができるが、当業者には理解されるように、インターリーブされた符号語の任意の適切な数に設定することができる。
【００７７】
ガロア体（ＧＦ）は、任意の適切な数のシンボルＱを有し得る。第１の実施形態では、Ｑは２５６に設定され、第２および第３の実施形態では、Ｑは１０２４に設定されるが、５１２、２０５６、４１２８などの、当技術分野で知られている任意の値を有し得る。
【００７８】
第１の実施形態によれば、Ｎは２４０に設定され、第２の実施形態では、Ｎは３８４に設定され、第３の実施形態では、Ｎは７６８に設定される。さらに、Ｎは、当技術分野で知られている任意の適切な値を取り得る。
【００７９】
第１の実施形態では、Ｋは２２８に設定され、第２の実施形態では、Ｋは３６４に設定され、第３の実施形態では、Ｋは７２８に設定される。さらに、Ｋは、当技術分野で知られている任意の適切な値を取り得る。
【００８０】
動作１３０６で、書き込まれたばかりのＣＷＩは、記録時再生処理で読み出される。動作１３０８で、ＣＷＩの全符号語が復号されて、符号化されていたＣ１符号語が決定される。
【００８１】
動作１３１０で、ＣＷＩ中のどれかのＣ１符号語が復号できなかったかどうかが決定される。ｐ番のＳＤＳからのＣＷＩの少なくとも１つのＣ１符号語を復号できないことに応じて、方法１３００は動作１３１６へジャンプし、さもなければ、ｐ番のＳＤＳからのＣＷＩの全Ｃ１符号語を成功裏に復号したことに応じて、方法１３００は動作１３１２へ進む。
【００８２】
動作１３１２で、どれかの単一の復号Ｃ１符号語中のシンボル誤りの数が、書き換え誤り閾値Ｅ以上（たとえば、Ｃ１符号語の誤り数≧Ｅ）であるかどうかが決定される。少なくともＥ個のシンボル誤りを含むＣ１符号語がないことに応じて、方法１３００は動作１３１４へ移動し、さもなければ、少なくとも１つのＣ１符号語が少なくともＥ個のシンボル誤りを含むことに応じて、方法１３００は動作１３１６へ進む。
【００８３】
動作１３１４で、Ｃ１符号語ごとにあるシンボル誤りがＥ個未満であることの結果として、ＣＷＩは成功裏に書き込まれたこと、および有利と考えられる書き換えがないことが決定される。
【００８４】
動作１３１６で、第１の境界ａおよび第２の境界ｂの、２つの境界が計算される。一実施形態では、ａ＝（ｆｌｏｏｒ（ｐ／２）＋Ｒ＊Ｃ−Ｄ１）ｍｏｄ  Ｍ、およびｂ＝（ｆｌｏｏｒ（ｐ／２）＋Ｒ＊ｃ＋Ｄ２）ｍｏｄ  Ｍであり、ここで、ｃは現在の書き換えＣＷＩセットの数であり０≦ｃ、Ｄ１は非負定数（たとえば、０、１、２など）、Ｄ２は非負定数（たとえば、０、１、２など）であり、ａ＜ｂまたはａ＞ｂのいずれか（循環状況の場合）、すなわちａ≠ｂである。一実施形態では、Ｄ１＋Ｄ２＞０である。
【００８５】
動作１３１８で、書き換えＣＷＩセットｃの論理トラックｔが書き換えのために使用可能かどうかが決定され、ここで、（ａ＜ｂならば、ａ≦ｔ≦ｂ）および（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）であり、０≦ｔ＜Ｍである。現在のＳＤＳ  ｐの別のＣＷＩがすでに、書き換えＣＷＩセットｃ中で特定のトラックｔに、（ａ＜ｂならば、ａ≦ｔ≦ｂ）または（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）に対するすべてのそのようなトラックｔにわたって、書き換えられるようにスケジュールされているという決定に応じて、論理トラックが書き換えのために使用可能ではない。
【００８６】
書き換えのために使用可能である現在の書き換えＣＷＩセットｃに論理トラックがないことに応じて、方法１３００は動作１３２０へ移動し、さもなければ、書き換えのために書き換えＣＷＩセットｃで使用可能である論理トラックｔに応じて、方法１３００は動作１３２２へ進む。
【００８７】
動作１３２０で、現在のＣＷＩは、書き換えＣＷＩセットｃ＋ｎのトラックに書き換えられる。ただしｎ＞０である。言い換えると、現在のＣＷＩは、現在の書き換えＣＷＩセットｃを書き換えるために使用されている書き換え領域の部分の次の書き換え領域の部分で書き換えられる。
【００８８】
動作１３２２で、現在のＣＷＩが書き換えＣＷＩセットｃのトラックｔで書き換えられ、ここで、（ａ＜ｂならば、ａ≦ｔ≦ｂ）および（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）であり、０≦ｔ＜Ｍである。
【００８９】
次に図１７を参照すると、第１の実施形態による、順次アクセス媒体にデータを書き込み、読み出すための方法１４００が示されている。方法１４００は、様々な実施形態で、とりわけ図１〜１０に図示された環境のいずれかにおいて、本発明によって実行することができる。当然ながら、本明細書を読めば当業者には理解されるように、図１７で詳細に説明されるものよりも多いまたは少ない動作が方法１４００には含まれ得る。大文字で表されているパラメータは、方法１４００の計算全体を通じての定数であり、小文字表記のパラメータは変数である。
【００９０】
方法１４００のステップのそれぞれは、動作環境の任意の適切な構成要素によって実行することができる。たとえば、様々な実施形態では、方法１４００は、コントローラ、プロセッサ、テープ・ドライブ、光学ドライブ、または１つもしくは複数のプロセッサを有する何か他のデバイスによって、部分的にも全体的にも実行することができる。プロセッサ（たとえば処理回路、チップ、または、ハードウェアもしくはソフトウェアまたはその両方として実装されるモジュールあるいはこれらの組み合わせであり、好ましくは少なくとも１つのハードウェア構成要素を有する）は、方法１４００の１つまたは複数のステップを実行するための任意のデバイスで利用することができる。例示的なプロセッサとしては、それだけには限らないが、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡなど、これらの組み合わせ、または当技術分野で知られている他の適切な任意のコンピューティング・デバイスが挙げられる。
【００９１】
図１７に示されるように、方法１４００は動作１４０２から開始することができ、４つのパラメータ値Ｅ、Ｒ、Ｍ、およびＳが、ユーザの選好、望ましい結果、順次アクセス媒体を動作させるドライブの仕様、または順次アクセス媒体自体あるいはこれらの組み合わせに応じて、設定される。Ｅは、書き換えのための誤り閾値を表すために使用され、ＣＷＩの書き換えを起動するＣＷＩ中の誤りの数に応じて設定することができる。様々な手法では、Ｅは１から、１符号語当たりの訂正可能な誤りの最大数までの範囲内に設定することができる。Ｒは、書き換えのための回転パラメータを表すために使用され、この回転パラメータは、書き換え中に順次アクセス媒体のトラックにデータがどのように書き換えられるかを示し、当業者には理解されるものである。様々な手法では、ＲはＭの値に等しい範囲、たとえば、Ｒ∈｛０，１，２，．．．，３１｜Ｍ＝３２｝に設定することができる。Ｍは、チャネルの数を表すために使用され、使用されるドライブに依拠する。Ｓは、分析されているサンプル・データ・セット中のサブ・データ・セットの数を示し、データがどのように媒体に記憶されるかということに基づく。一実施形態では、Ｓ＝２＊Ｍである。
【００９２】
動作１４０４で、ＳＤＳ  ｐの現在のＣＷＩは順次アクセス媒体に書き込まれる。この実施形態では、ＳＤＳ  ｐからの現在のＣＷＩはＲＳ（２４０，２２８）によって符号化され、ＣＷＩは、ＧＦ（２５６）にわたり４つのシンボル・インターリーブされたＣ１符号語を含む。
【００９３】
動作１４０６で、書き込まれたばかりのＣＷＩは、ＧＦ（２５６）のシンボルにより記録時再生処理で読み出される。動作１４０８で、ＣＷＩの全符号語が復号されて、符号化されていたＣ１符号語が決定される。
【００９４】
動作１４１０で、ｐ番のＳＤＳからのＣＷＩ中のどれかのＣ１符号語が復号できなかったかどうかが決定される。ｐ番のＳＤＳからのＣＷＩの少なくとも１つのＣ１符号語を復号できないことに応じて、方法１４００は動作１４１６へジャンプし、さもなければ、ｐ番のＳＤＳからのＣＷＩの全Ｃ１符号語を成功裏に復号したことに応じて、方法１４００は動作１４１２へ進む。
【００９５】
動作１４１２で、どれかの単一の復号Ｃ１符号語中のシンボル誤りの数が、書き換え誤り閾値Ｅ以上（たとえば、Ｃ１符号語の誤り数≧Ｅ）であるかどうかが決定される。少なくともＥ個のシンボル誤りを含むＣ１符号語がないことに応じて、方法１４００は動作１４１４へ移動し、さもなければ、少なくとも１つのＣ１符号語が少なくともＥ個のシンボル誤りを含むことに応じて、方法１４００は動作１４１６へ進む。
【００９６】
動作１４１４で、Ｃ１符号語ごとにあるシンボル誤りがＥ個未満であることの結果として、ＣＷＩは成功裏に書き込まれたこと、および有利と考えられる書き換えがないことが決定される。
【００９７】
動作１４１６で、第１の境界ａおよび第２の境界ｂの、２つの境界が計算される。一実施形態では、ａ＝（ｆｌｏｏｒ（ｐ／２）＋Ｒ＊Ｃ−１）ｍｏｄ  Ｍ、およびｂ＝（ｆｌｏｏｒ（ｐ／２）＋Ｒ＊ｃ＋１）ｍｏｄ  Ｍであり、ここで、ｃは現在の書き換えＣＷＩセットの数であり、０≦ｃであり、ａ＜ｂまたはａ＞ｂのいずれか（循環状況の場合）、すなわちａ≠ｂである。これにより、ｐ番のＳＤＳからの現在のＣＷＩが、ある範囲の論理トラックで書き換えられることが可能になり、この範囲には、現在の論理トラックよりも１つだけ多い、および１つだけ少ない論理トラックが含まれる。
【００９８】
動作１４１８で、書き換えＣＷＩセットｃの論理トラックｔが書き換えのために使用可能かどうかが決定され、ここで、（ａ＜ｂならば、ａ≦ｔ≦ｂ）および（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）であり、０≦ｔ＜Ｍである。現在のＳＤＳ  ｐの別のＣＷＩがすでに、書き換えＣＷＩセットｃ中で特定のトラックｔに、（ａ＜ｂならば、ａ≦ｔ≦ｂ）または（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）に対するすべてのそのようなトラックにｔわたって、書き換えられるようにスケジュールされているという決定に応じて、論理トラックが書き換えのために使用可能ではない。
【００９９】
書き換えのために使用可能である現在の書き換えＣＷＩセットｃに論理トラックがないことに応じて、方法１４００は動作１４２０へ移動し、さもなければ、書き換えのために書き換えＣＷＩセットｃで使用可能である論理トラックｔに応じて、方法１４００は動作１４２２へ進む。
【０１００】
動作１４２０で、現在のＣＷＩは、書き換えＣＷＩセットｃ＋ｎのトラックに書き換えられる。ただしｎ＞０である。言い換えると、現在のＣＷＩは、現在の書き換えＣＷＩセットｃを書き換えるために使用されている書き換え領域の部分の次の書き換え領域の部分で書き換えられる。
【０１０１】
動作１４２２で、現在のＣＷＩが書き換えＣＷＩセットｃのトラックｔで書き換えられ、ここで、（ａ＜ｂならば、ａ≦ｔ≦ｂ）および（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）であり、０≦ｔ＜Ｍである。
【０１０２】
次に図１８を参照すると、第２の実施形態による、順次アクセス媒体にデータを書き込み、読み出すための方法１５００が示されている。方法１５００は、様々な実施形態で、とりわけ図１〜１０に図示された環境のいずれかにおいて、本発明によって実行することができる。当然ながら、本明細書を読めば当業者には理解されるように、図１８で詳細に説明されるものよりも多いまたは少ない動作が方法１５００には含まれ得る。大文字で表されているパラメータは、方法１５００の計算全体を通じての定数であり、小文字表記のパラメータは変数である。
【０１０３】
方法１５００のステップのそれぞれは、動作環境の任意の適切な構成要素によって実行することができる。たとえば、様々な実施形態では、方法１５００は、コントローラ、プロセッサ、テープ・ドライブ、光学ドライブ、または１つもしくは複数のプロセッサを有する何か他のデバイスによって、部分的にも全体的にも実行することができる。プロセッサ（たとえば処理回路、チップ、または、ハードウェアもしくはソフトウェアまたはその両方として実装されるモジュールあるいはこれらの組み合わせであり、好ましくは少なくとも１つのハードウェア構成要素を有する）は、方法１５００の１つまたは複数のステップを実行するための任意のデバイスで利用することができる。例示的なプロセッサとしては、それだけには限らないが、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡなど、これらの組み合わせ、または当技術分野で知られている他の適切な任意のコンピューティング・デバイスが挙げられる。
【０１０４】
図１８に示されるように、方法１５００は動作１５０２から開始することができ、４つのパラメータ値Ｅ、Ｒ、Ｍ、およびＳが、ユーザの選好、望ましい結果、順次アクセス媒体を動作させるドライブの仕様、または順次アクセス媒体自体あるいはこれらの組み合わせに応じて、設定される。Ｅは、書き換えのための誤り閾値を表すために使用され、ＣＷＩの書き換えを起動するＣＷＩ中の誤りの数に応じて設定することができる。様々な手法では、Ｅは１から、１符号語当たりの訂正可能な誤りの最大数までの範囲内に設定することができる。Ｒは、書き換えのための回転パラメータを表すために使用され、この回転パラメータは、書き換え中に順次アクセス媒体のトラックにデータがどのように書き換えられるかを示し、当業者には理解されるものである。様々な手法では、ＲはＭの値に等しい範囲、たとえば、Ｒ∈｛０，１，２，．．．，３１｜Ｍ＝３２｝に設定することができる。Ｍは、チャネルの数を表すために使用され、使用されるドライブに依拠する。Ｓは、分析されているサンプル・データ・セット中のサブ・データ・セットの数を示し、データがどのように媒体に記憶されるかということに基づく。一実施形態では、Ｓ＝２＊Ｍである。
【０１０５】
動作１５０４で、ＳＤＳ  ｐの現在のＣＷＩは順次アクセス媒体に書き込まれる。この実施形態では、ＳＤＳ  ｐからの現在のＣＷＩはＲＳ（３８４，３６４）によって符号化され、ＣＷＩは、ＧＦ（１０２４）にわたり２つのシンボル・インターリーブされたＣ１符号語を含む。
【０１０６】
動作１５０６で、書き込まれたばかりのＣＷＩは、ＧＦ（１０２４）のシンボルにより記録時再生処理で読み出される。動作１５０８で、ＣＷＩの全符号語が復号されて、符号化されていたＣ１符号語が決定される。
【０１０７】
動作１５１０で、ｐ番のＳＤＳからの現在のＣＷＩ中のどれかのＣ１符号語が復号できなかったかどうかが決定される。ｐ番のＳＤＳからのＣＷＩの少なくとも１つのＣ１符号語を復号できないことに応じて、方法１５００は動作１５１６へジャンプし、さもなければ、ｐ番のＳＤＳからのＣＷＩの全Ｃ１符号語を成功裏に復号したことに応じて、方法１５００は動作１５１２へ進む。
【０１０８】
動作１５１２で、どれかの単一の復号Ｃ１符号語中のシンボル誤りの数が、書き換え誤り閾値Ｅ以上（たとえば、Ｃ１符号語の誤り数≧Ｅ）であるかどうかが決定される。少なくともＥ個のシンボル誤りを含むＣ１符号語がないことに応じて、方法１５００は動作１５１４へ移動し、さもなければ、少なくとも１つのＣ１符号語が少なくともＥ個のシンボル誤りを含むことに応じて、方法１５００は動作１５１６へ進む。
【０１０９】
動作１５１４で、Ｃ１符号語ごとにあるシンボル誤りがＥ個未満であることの結果として、ＣＷＩは成功裏に書き込まれたこと、および有利と考えられる書き換えがないことが決定される。
【０１１０】
動作１５１６で、第１の境界ａおよび第２の境界ｂの、２つの境界が計算される。一実施形態では、ａ＝（ｆｌｏｏｒ（ｐ／２）＋Ｒ＊Ｃ−１）ｍｏｄ  Ｍ、およびｂ＝（ｆｌｏｏｒ（ｐ／２）＋Ｒ＊ｃ＋１）ｍｏｄ  Ｍであり、ここで、ｃは現在の書き換えＣＷＩセットの数であり、０≦ｃであり、ａ＜ｂまたはａ＞ｂのいずれか（循環状況の場合）、すなわちａ≠ｂである。これにより、ｐ番のＳＤＳからの現在のＣＷＩが、ある範囲の論理トラックで書き換えられることが可能になり、この範囲には、現在の論理トラックよりも１つだけ多い、および１つだけ少ない論理トラックが含まれる。
【０１１１】
動作１５１８で、書き換えＣＷＩセットｃの論理トラックｔが書き換えのために使用可能かどうかが決定され、ここで、（ａ＜ｂならば、ａ≦ｔ≦ｂ）および（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）であり、０≦ｔ＜Ｍである。現在のＳＤＳ  ｐの別のＣＷＩがすでに、書き換えＣＷＩセットｃ中で特定のトラックｔに、（ａ＜ｂならば、ａ≦ｔ≦ｂ）または（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）に対するすべてのそのようなトラックｔにわたって、書き換えられるようにスケジュールされているという決定に応じて、論理トラックが書き換えのために使用可能ではない。
【０１１２】
書き換えのために使用可能である現在の書き換えＣＷＩセットｃに論理トラックがないことに応じて、方法１５００は動作１５２０へ移動し、さもなければ、書き換えのために書き換えＣＷＩセットｃで使用可能である論理トラックｔに応じて、方法１５００は動作１５２２へ進む。
【０１１３】
動作１５２０で、現在のＣＷＩは、書き換えＣＷＩセットｃ＋ｎのトラックに書き換えられる。ただしｎ＞０である。言い換えると、現在のＣＷＩは、現在の書き換えＣＷＩセットｃを書き換えるために使用されている書き換え領域の部分の次の書き換え領域の部分で書き換えられる。
【０１１４】
動作１５２２で、現在のＣＷＩが書き換えＣＷＩセットｃのトラックｔで書き換えられ、ここで、（ａ＜ｂならば、ａ≦ｔ≦ｂ）および（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）であり、０≦ｔ＜Ｍである。
【０１１５】
次に図１９を参照すると、第３の実施形態による、順次アクセス媒体にデータを書き込み、読み出すための方法１６００が示されている。方法１６００は、様々な実施形態で、とりわけ図１〜１０に図示された環境のいずれかにおいて、本発明によって実行することができる。当然ながら、本明細書を読めば当業者には理解されるように、図１９で詳細に説明されるものよりも多いまたは少ない動作が方法１６００には含まれ得る。大文字で表されているパラメータは、方法１６００の計算全体を通じての定数であり、小文字表記のパラメータは変数である。
【０１１６】
方法１６００のステップのそれぞれは、動作環境の任意の適切な構成要素によって実行することができる。たとえば、様々な実施形態では、方法１６００は、コントローラ、プロセッサ、テープ・ドライブ、光学ドライブ、または１つもしくは複数のプロセッサを有する何か他のデバイスによって、部分的にも全体的にも実行することができる。プロセッサ（たとえば処理回路、チップ、または、ハードウェアもしくはソフトウェアまたはその両方として実装されるモジュールあるいはこれらの組み合わせであり、好ましくは少なくとも１つのハードウェア構成要素を有する）は、方法１６００の１つまたは複数のステップを実行するための任意のデバイスで利用することができる。例示的なプロセッサとしては、それだけには限らないが、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡなど、これらの組み合わせ、または当技術分野で知られている他の適切な任意のコンピューティング・デバイスが挙げられる。
【０１１７】
図１９に示されるように、方法１６００は動作１６０２から開始することができ、４つのパラメータ値Ｅ、Ｒ、Ｍ、およびＳが、ユーザの選好、望ましい結果、順次アクセス媒体を動作させるドライブの仕様、または順次アクセス媒体自体あるいはこれらの組み合わせに応じて、設定される。Ｅは、書き換えのための誤り閾値を表すために使用され、ＣＷＩの書き換えを起動するＣＷＩ中の誤りの数に応じて設定することができる。様々な手法では、Ｅは１から、１符号語当たりの訂正可能な誤りの最大数までの範囲内に設定することができる。Ｒは、書き換えのための回転パラメータを表すために使用され、この回転パラメータは、書き換え中に順次アクセス媒体のトラックにデータがどのように書き換えられるかを示し、当業者には理解されるものである。様々な手法では、ＲはＭの値に等しい範囲、たとえば、Ｒ∈｛０，１，２，．．．，３１｜Ｍ＝３２｝に設定することができる。Ｍは、チャネルの数を表すために使用され、使用されるドライブに依拠する。Ｓは、分析されているサンプル・データ・セット中のサブ・データ・セットの数を示し、データがどのように媒体に記憶されるかということに基づく。一実施形態では、Ｓ＝２＊Ｍである。
【０１１８】
動作１６０４で、ＳＤＳ  ｐの現在のＣＷＩは順次アクセス媒体に書き込まれる。この実施形態では、ＳＤＳ  ｐからの現在のＣＷＩはＲＳ（７６８，７２８）によって符号化され、ＣＷＩは、ＧＦ（１０２４）にわたり１つのＣ１符号語を含み、したがって、実際には多数の符号語の符号語インターリーブではなく、代わりにただ１つの符号語になる。
【０１１９】
動作１６０６で、書き込まれたばかりのＣＷＩは、ＧＦ（１０２４）のシンボルにより記録時再生処理で読み出される。動作１６０８で、ＣＷＩの符号語が復号されて、符号化されていたＣ１符号語が決定される。
【０１２０】
動作１６１０で、ｐ番のＳＤＳからの現在のＣＷＩのＣ１符号語が復号できなかったかどうかが決定される。ｐ番のＳＤＳからのＣＷＩのＣ１符号語を復号できないことに応じて、方法１６００は動作１６１６へジャンプし、さもなければ、ｐ番のＳＤＳからのＣＷＩのＣ１符号語を成功裏に復号したことに応じて、方法１６００は動作１６１２へ進む。
【０１２１】
動作１６１２で、復号Ｃ１符号語中のシンボル誤りの数が、書き換え誤り閾値Ｅ以上（たとえば、Ｃ１符号語の誤り数≧Ｅ）であるかどうかが決定される。少なくともＥ個のシンボル誤りをＣ１符号語が含まないことに応じて、方法１６００は動作１６１４へ移動し、さもなければ、少なくとも１つのＣ１符号語が少なくともＥ個のシンボル誤りを含むことに応じて、方法１６００は動作１６１６へ進む。
【０１２２】
動作１６１４で、Ｃ１符号語にあるシンボル誤りがＥ個未満であることの結果として、ＣＷＩは成功裏に書き込まれたこと、および有利と考えられる書き換えがないことが決定される。
【０１２３】
動作１６１６で、第１の境界ａおよび第２の境界ｂの、２つの境界が計算される。一実施形態では、ａ＝（ｆｌｏｏｒ（ｐ／２）＋Ｒ＊Ｃ−１）ｍｏｄ  Ｍ、およびｂ＝（ｆｌｏｏｒ（ｐ／２）＋Ｒ＊ｃ＋１）ｍｏｄ  Ｍであり、ここで、ｃは現在の書き換えＣＷＩセットの数であり、０≦ｃであり、ａ＜ｂまたはａ＞ｂのいずれか（循環状況の場合）、すなわちａ≠ｂである。これにより、ｐ番のＳＤＳからの現在のＣＷＩが、ある範囲の論理トラックで書き換えられることが可能になり、この範囲には、現在の論理トラックよりも１つだけ多い、および１つだけ少ない論理トラックが含まれる。
【０１２４】
動作１６１８で、書き換えＣＷＩセットｃの論理トラックｔが書き換えのために使用可能かどうかが決定され、ここで、（ａ＜ｂならば、ａ≦ｔ≦ｂ）および（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）であり、０≦ｔ＜Ｍである。現在のＳＤＳ  ｐの別のＣＷＩがすでに、書き換えＣＷＩセットｃ中で特定のトラックｔに、（ａ＜ｂならば、ａ≦ｔ≦ｂ）または（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）に対するすべてのそのようなトラックｔにわたって、書き換えられるようにスケジュールされているという決定に応じて、論理トラックが書き換えのために使用可能ではない。
【０１２５】
書き換えのために使用可能である現在の書き換えＣＷＩセットｃに論理トラックがないことに応じて、方法１６００は動作１６２０へ移動し、さもなければ、書き換えのために書き換えＣＷＩセットｃで使用可能である論理トラックｔに応じて、方法１６００は動作１６２２へ進む。
【０１２６】
動作１６２０で、現在のＣＷＩは、書き換えＣＷＩセットｃ＋ｎのトラックに書き換えられる。ただしｎ＞０である。言い換えると、現在のＣＷＩは、現在の書き換えＣＷＩセットｃを書き換えるために使用されている書き換え領域の部分の次の書き換え領域の部分で書き換えられる。
【０１２７】
動作１６２２で、現在のＣＷＩが書き換えＣＷＩセットｃのトラックｔで書き換えられ、ここで、（ａ＜ｂならば、ａ≦ｔ≦ｂ）および（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）である。
【０１２８】
次に図２０を参照すると、第４の実施形態による、順次アクセス媒体にデータを書き込み、読み出すための方法１７００が示されている。方法１７００は、様々な実施形態で、とりわけ図１〜１０に図示された環境のいずれかにおいて、本発明によって実行することができる。当然ながら、本明細書を読めば当業者には理解されるように、図２０で詳細に説明されるものよりも多いまたは少ない動作が方法１７００には含まれ得る。大文字で表されているパラメータは、方法１７００の計算全体を通じての定数であり、小文字表記のパラメータは変数である。
【０１２９】
方法１７００のステップのそれぞれは、動作環境の任意の適切な構成要素によって実行することができる。たとえば、様々な実施形態では、方法１７００は、コントローラ、プロセッサ、テープ・ドライブ、光学ドライブ、または１つもしくは複数のプロセッサを有する何か他のデバイスによって、部分的にも全体的にも実行することができる。プロセッサ（たとえば処理回路、チップ、または、ハードウェアもしくはソフトウェアまたはその両方として実装されるモジュールあるいはこれらの組み合わせであり、好ましくは少なくとも１つのハードウェア構成要素を有する）は、方法１７００の１つまたは複数のステップを実行するための任意のデバイスで利用することができる。例示的なプロセッサとしては、それだけには限らないが、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡなど、これらの組み合わせ、または当技術分野で知られている他の適切な任意のコンピューティング・デバイスが挙げられる。
【０１３０】
図２０に示されるように、方法１７００は動作１７０２から開始することができ、４つのパラメータ値Ｅ、Ｒ、Ｍ、およびＳが、ユーザの選好、望ましい結果、順次アクセス媒体を動作させるドライブの仕様、または順次アクセス媒体自体あるいはこれらの組み合わせに応じて、設定される。Ｅは、書き換えのための誤り閾値を表すために使用され、ＣＷＩの書き換えを起動するＣＷＩ中の誤りの数に応じて設定することができる。様々な手法では、Ｅは１から、１符号語当たりの訂正可能な誤りの最大数までの範囲内に設定することができる。Ｒは、書き換えのための回転パラメータを表すために使用され、この回転パラメータは、書き換え中に順次アクセス媒体のトラックにデータがどのように書き換えられるかを示し、当業者には理解されるものである。様々な手法では、ＲはＭの値に等しい範囲、たとえば、Ｒ∈｛０，１，２，．．．，３１｜Ｍ＝３２｝に設定することができる。Ｍは、チャネルの数を表すために使用され、使用されるドライブに依拠する。Ｓは、分析されているサンプル・データ・セット中のサブ・データ・セットの数を示し、データがどのように媒体に記憶されるかということに基づく。一実施形態では、Ｓ＝２＊Ｍである。
【０１３１】
動作１７０４で、ＳＤＳ  ｐの現在のＣＷＩは順次アクセス媒体に書き込まれる。この実施形態では、ＳＤＳ  ｐからの現在のＣＷＩはＲＳ（２４０，２２８）によって符号化され、ＣＷＩは、ＧＦ（２５６）にわたり４つのシンボル・インターリーブされたＣ１符号語を含む。
【０１３２】
動作１７０６で、書き込まれたばかりのＣＷＩは、ＧＦ（２５６）のシンボルにより記録時再生処理で読み出される。動作１７０８で、ＣＷＩの全符号語が復号されて、符号化されていたＣ１符号語が決定される。
【０１３３】
動作１７１０で、ｐ番のＳＤＳからのＣＷＩ中のどれかのＣ１符号語が復号できなかったかどうかが決定される。ｐ番のＳＤＳからのＣＷＩの少なくとも１つのＣ１符号語を復号できないことに応じて、方法１７００は動作１７１６へジャンプし、さもなければ、ｐ番のＳＤＳからのＣＷＩの全Ｃ１符号語を成功裏に復号したことに応じて、方法１７００は動作１７１２へ進む。
【０１３４】
動作１７１２で、どれかの単一の復号Ｃ１符号語中のシンボル誤りの数が、書き換え誤り閾値Ｅ以上（たとえば、Ｃ１符号語の誤り数≧Ｅ）であるかどうかが決定される。少なくともＥ個のシンボル誤りを含むＣ１符号語がないことに応じて、方法１７００は動作１７１４へ移動し、さもなければ、少なくとも１つのＣ１符号語が少なくともＥ個のシンボル誤りを含むことに応じて、方法１７００は動作１７１６へ進む。
【０１３５】
動作１７１４で、Ｃ１符号語ごとにあるシンボル誤りがＥ個未満であることの結果として、ＣＷＩは成功裏に書き込まれたこと、および有利と考えられる書き換えがないことが決定される。
【０１３６】
動作１７１６で、第１の境界ａおよび第２の境界ｂの、２つの境界が計算される。一実施形態では、ａ＝（ｆｌｏｏｒ（ｐ／２）＋Ｒ＊Ｃ−２）ｍｏｄ  Ｍ、およびｂ＝（ｆｌｏｏｒ（ｐ／２）＋Ｒ＊ｃ＋２）ｍｏｄ  Ｍであり、ここで、ｃは現在の書き換えＣＷＩセットの数であり、０≦ｃであり、ａ＜ｂまたはａ＞ｂのいずれか（循環状況の場合）、すなわちａ≠ｂである。これにより、ｐ番のＳＤＳからの現在のＣＷＩが、ある範囲の論理トラックで書き換えられることが可能になり、この範囲には、現在の論理トラックよりも２つだけ多い、および２つだけ少ない論理トラックが含まれる。
【０１３７】
動作１７１８で、書き換えＣＷＩセットｃの論理トラックｔが書き換えのために使用可能かどうかが決定され、ここで、（ａ＜ｂならば、ａ≦ｔ≦ｂ）および（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）であり、０≦ｔ＜Ｍである。現在のＳＤＳ  ｐの別のＣＷＩがすでに、書き換えＣＷＩセットｃ中で特定のトラックｔに、（ａ＜ｂならば、ａ≦ｔ≦ｂ）または（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）に対するすべてのそのようなトラックｔにわたって、書き換えられるようにスケジュールされているという決定に応じて、論理トラックが書き換えのために使用可能ではない。
【０１３８】
書き換えのために使用可能である現在の書き換えＣＷＩセットｃに論理トラックがないことに応じて、方法１７００は動作１７２０へ移動し、さもなければ、書き換えのために書き換えＣＷＩセットｃで使用可能である論理トラックｔに応じて、方法１７００は動作１７２２へ進む。
【０１３９】
動作１７２０で、現在のＣＷＩは、書き換えＣＷＩセットｃ＋ｎのトラックに書き換えられる。ただしｎ＞０である。言い換えると、現在のＣＷＩは、現在の書き換えＣＷＩセットｃを書き換えるために使用されている書き換え領域の部分の次の書き換え領域の部分で書き換えられる。
【０１４０】
動作１７２２で、現在のＣＷＩが書き換えＣＷＩセットｃのトラックｔで書き換えられ、ここで、（ａ＜ｂならば、ａ≦ｔ≦ｂ）および（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）である。
【０１４１】
次に図２１を参照すると、第５の実施形態による、順次アクセス媒体にデータを書き込み、読み出すための方法１８００が示されている。方法１８００は、様々な実施形態で、とりわけ図１〜１０に図示された環境のいずれかにおいて、本発明によって実行することができる。当然ながら、本明細書を読めば当業者には理解されるように、図２１で詳細に説明されるものよりも多いまたは少ない動作が方法１８００には含まれ得る。大文字で表されているパラメータは、方法１８００の計算全体を通じての定数であり、小文字表記のパラメータは変数である。
【０１４２】
方法１８００のステップのそれぞれは、動作環境の任意の適切な構成要素によって実行することができる。たとえば、様々な実施形態では、方法１８００は、コントローラ、プロセッサ、テープ・ドライブ、光学ドライブ、または１つもしくは複数のプロセッサを有する何か他のデバイスによって、部分的にも全体的にも実行することができる。プロセッサ（たとえば処理回路、チップ、または、ハードウェアもしくはソフトウェアまたはその両方として実装されるモジュールあるいはこれらの組み合わせであり、好ましくは少なくとも１つのハードウェア構成要素を有する）は、方法１８００の１つまたは複数のステップを実行するための任意のデバイスで利用することができる。例示的なプロセッサとしては、それだけには限らないが、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡなど、これらの組み合わせ、または当技術分野で知られている他の適切な任意のコンピューティング・デバイスが挙げられる。
【０１４３】
図２１に示されるように、方法１８００は動作１８０２から開始することができ、４つのパラメータ値Ｅ、Ｒ、Ｍ、およびＳが、ユーザの選好、望ましい結果、順次アクセス媒体を動作させるドライブの仕様、または順次アクセス媒体自体あるいはこれらの組み合わせに応じて、設定される。Ｅは、書き換えのための誤り閾値を表すために使用され、ＣＷＩの書き換えを起動するＣＷＩ中の誤りの数に応じて設定することができる。様々な手法では、Ｅは１から、１符号語当たりの訂正可能な誤りの最大数までの範囲内に設定することができる。Ｒは、書き換えのための回転パラメータを表すために使用され、この回転パラメータは、書き換え中に順次アクセス媒体のトラックにデータがどのように書き換えられるかを示し、当業者には理解されるものである。様々な手法では、ＲはＭの値に等しい範囲、たとえば、Ｒ∈｛０，１，２，．．．，３１｜Ｍ＝３２｝に設定することができる。Ｍは、チャネルの数を表すために使用され、使用されるドライブに依拠する。Ｓは、分析されているサンプル・データ・セット中のサブ・データ・セットの数を示し、データがどのように媒体に記憶されるかということに基づく。一実施形態では、Ｓ＝２＊Ｍである。
【０１４４】
動作１８０４で、ＳＤＳ  ｐの現在のＣＷＩは順次アクセス媒体に書き込まれる。この実施形態では、ＳＤＳ  ｐからの現在のＣＷＩはＲＳ（３８４，３６４）によって符号化され、ＣＷＩは、ＧＦ（１０２４）にわたり２つのシンボル・インターリーブされたＣ１符号語を含む。
【０１４５】
動作１８０６で、書き込まれたばかりのＣＷＩは、ＧＦ（１０２４）のシンボルにより記録時再生処理で読み出される。動作１８０８で、ＣＷＩの全符号語が復号されて、符号化されていたＣ１符号語が決定される。
【０１４６】
動作１８１０で、ｐ番のＳＤＳからの現在のＣＷＩ中のどれかのＣ１符号語が復号できなかったかどうかが決定される。ｐ番のＳＤＳからのＣＷＩの少なくとも１つのＣ１符号語を復号できないことに応じて、方法１８００は動作１８１６へジャンプし、さもなければ、ｐ番のＳＤＳからのＣＷＩの全Ｃ１符号語を成功裏に復号したことに応じて、方法１８００は動作１８１２へ進む。
【０１４７】
動作１８１２で、どれかの単一の復号Ｃ１符号語中のシンボル誤りの数が、書き換え誤り閾値Ｅ以上（たとえば、Ｃ１符号語の誤り数≧Ｅ）であるかどうかが決定される。少なくともＥ個のシンボル誤りを含むＣ１符号語がないことに応じて、方法１８００は動作１８１４へ移動し、さもなければ、少なくとも１つのＣ１符号語が少なくともＥ個のシンボル誤りを含むことに応じて、方法１８００は動作１８１６へ進む。
【０１４８】
動作１８１４で、Ｃ１符号語ごとにあるシンボル誤りがＥ個未満であることの結果として、ＣＷＩは成功裏に書き込まれたこと、および有利と考えられる書き換えがないことが決定される。
【０１４９】
動作１８１６で、第１の境界ａおよび第２の境界ｂの、２つの境界が計算される。一実施形態では、ａ＝（ｆｌｏｏｒ（ｐ／２）＋Ｒ＊Ｃ−２）ｍｏｄ  Ｍ、およびｂ＝（ｆｌｏｏｒ（ｐ／２）＋Ｒ＊ｃ＋２）ｍｏｄ  Ｍであり、ここで、ｃは現在の書き換えＣＷＩセットの数であり、０≦ｃであり、ａ＜ｂまたはａ＞ｂのいずれか（循環状況の場合）、すなわちａ≠ｂである。これにより、ｐ番のＳＤＳからの現在のＣＷＩが、ある範囲の論理トラックで書き換えられることが可能になり、この範囲には、現在の論理トラックよりも２つだけ多い、および２つだけ少ない論理トラックが含まれる。
【０１５０】
動作１８１８で、書き換えＣＷＩセットｃの論理トラックｔが書き換えのために使用可能かどうかが決定され、ここで、（ａ＜ｂならば、ａ≦ｔ≦ｂ）および（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）であり、０≦ｔ＜Ｍである。現在のＳＤＳ  ｐの別のＣＷＩがすでに、書き換えＣＷＩセットｃ中で特定のトラックｔに、（ａ＜ｂならば、ａ≦ｔ≦ｂ）または（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）に対するすべてのそのようなトラックｔにわたって、書き換えられるようにスケジュールされているという決定に応じて、論理トラックが書き換えのために使用可能ではない。
【０１５１】
書き換えのために使用可能である現在の書き換えＣＷＩセットｃに論理トラックがないことに応じて、方法１８００は動作１８２０へ移動し、さもなければ、書き換えのために書き換えＣＷＩセットｃで使用可能である論理トラックｔに応じて、方法１８００は動作１８２２へ進む。
【０１５２】
動作１８２０で、現在のＣＷＩは、書き換えＣＷＩセットｃ＋ｎのトラックに書き換えられる。ただしｎ＞０である。言い換えると、現在のＣＷＩは、現在の書き換えＣＷＩセットｃを書き換えるために使用されている書き換え領域の部分の次の書き換え領域の部分で書き換えられる。
【０１５３】
動作１８２２で、現在のＣＷＩが書き換えＣＷＩセットｃのトラックｔで書き換えられ、ここで、（ａ＜ｂならば、ａ≦ｔ≦ｂ）および（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）でる。
【０１５４】
次に図２２を参照すると、第６の実施形態による、順次アクセス媒体にデータを書き込み、読み出すための方法１９００が示されている。方法１９００は、様々な実施形態で、とりわけ図１〜１０に図示された環境のいずれかにおいて、本発明によって実行することができる。当然ながら、本明細書を読めば当業者には理解されるように、図２２で詳細に説明されるものよりも多いまたは少ない動作が方法１９００には含まれ得る。大文字で表されているパラメータは、方法１９００の計算全体を通じての定数であり、小文字表記のパラメータは変数である。
【０１５５】
方法１９００のステップのそれぞれは、動作環境の任意の適切な構成要素によって実行することができる。たとえば、様々な実施形態では、方法１９００は、コントローラ、プロセッサ、テープ・ドライブ、光学ドライブ、または１つもしくは複数のプロセッサを有する何か他のデバイスによって、部分的にも全体的にも実行することができる。プロセッサ（たとえば処理回路、チップ、または、ハードウェアもしくはソフトウェアまたはその両方として実装されるモジュールあるいはこれらの組み合わせであり、好ましくは少なくとも１つのハードウェア構成要素を有する）は、方法１９００の１つまたは複数のステップを実行するための任意のデバイスで利用することができる。例示的なプロセッサとしては、それだけには限らないが、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡなど、これらの組み合わせ、または当技術分野で知られている他の適切な任意のコンピューティング・デバイスが挙げられる。
【０１５６】
図２２に示されるように、方法１９００は動作１９０２から開始することができ、４つのパラメータ値Ｅ、Ｒ、Ｍ、およびＳが、ユーザの選好、望ましい結果、順次アクセス媒体を動作させるドライブの仕様、または順次アクセス媒体自体あるいはこれらの組み合わせに応じて、設定される。Ｅは、書き換えのための誤り閾値を表すために使用され、ＣＷＩの書き換えを起動するＣＷＩ中の誤りの数に応じて設定することができる。様々な手法では、Ｅは１から、１符号語当たりの訂正可能な誤りの最大数までの範囲内に設定することができる。Ｒは、書き換えのための回転パラメータを表すために使用され、この回転パラメータは、書き換え中に順次アクセス媒体のトラックにデータがどのように書き換えられるかを示し、当業者には理解されるものである。様々な手法では、ＲはＭの値に等しい範囲、たとえば、Ｒ∈｛０，１，２，．．．，３１｜Ｍ＝３２｝に設定することができる。Ｍは、チャネルの数を表すために使用され、使用されるドライブに依拠する。Ｓは、分析されているサンプル・データ・セット中のサブ・データ・セットの数を示し、データがどのように媒体に記憶されるかということに基づく。一実施形態では、Ｓ＝２＊Ｍである。
【０１５７】
動作１９０４で、ＳＤＳ  ｐの現在のＣＷＩは順次アクセス媒体に書き込まれる。この実施形態では、ＳＤＳ  ｐからの現在のＣＷＩはＲＳ（７６８，７２８）によって符号化され、ＣＷＩは、ＧＦ（１０２４）にわたり１つのＣ１符号語を含む。
【０１５８】
動作１９０６で、書き込まれたばかりのＣＷＩは、ＧＦ（１０２４）のシンボルにより記録時再生処理で読み出される。動作１９０８で、ＣＷＩの符号語が復号されて、符号化されていたＣ１符号語が決定される。
【０１５９】
動作１９１０で、ｐ番のＳＤＳからの現在のＣＷＩ中のＣ１符号語が復号できなかったかどうかが決定される。ｐ番のＳＤＳからのＣＷＩのＣ１符号語を復号できないことに応じて、方法１９００は動作１９１６へジャンプし、さもなければ、ｐ番のＳＤＳからのＣＷＩのＣ１符号語を成功裏に復号したことに応じて、方法１９００は動作１９１２へ進む。
【０１６０】
動作１９１２で、復号Ｃ１符号語中のシンボル誤りの数が、書き換え誤り閾値Ｅ以上（たとえば、Ｃ１符号語の誤り数≧Ｅ）であるかどうかが決定される。少なくともＥ個のシンボル誤りをＣ１符号語が含まないことに応じて、方法１９００は動作１９１４へ移動し、さもなければ、Ｃ１符号語が少なくともＥ個のシンボル誤りを含むことに応じて、方法１９００は動作１９１６へ進む。
【０１６１】
動作１９１４で、Ｃ１符号語にあるシンボル誤りがＥ個未満であることの結果として、ＣＷＩは成功裏に書き込まれたこと、および有利と考えられる書き換えがないことが決定される。
【０１６２】
動作１９１６で、第１の境界ａおよび第２の境界ｂの、２つの境界が計算される。一実施形態では、ａ＝（ｆｌｏｏｒ（ｐ／２）＋Ｒ＊Ｃ−２）ｍｏｄ  Ｍ、およびｂ＝（ｆｌｏｏｒ（ｐ／２）＋Ｒ＊ｃ＋２）ｍｏｄ  Ｍであり、ここで、ｃは現在の書き換えＣＷＩセットの数であり、０≦ｃであり、ａ＜ｂまたはａ＞ｂのいずれか（循環状況の場合）、すなわちａ≠ｂである。これにより、ｐ番のＳＤＳからの現在のＣＷＩが、ある範囲の論理トラックで書き換えられることが可能になり、この範囲には、現在の論理トラックよりも２つだけ多い、および２つだけ少ない論理トラックが含まれる。
【０１６３】
動作１９１８で、書き換えＣＷＩセットｃの論理トラックｔが書き換えのために使用可能かどうかが決定され、ここで、（ａ＜ｂならば、ａ≦ｔ≦ｂ）および（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）であり、０≦ｔ＜Ｍである。現在のＳＤＳ  ｐの別のＣＷＩがすでに、書き換えＣＷＩセットｃ中で特定のトラックｔに、（ａ＜ｂならば、ａ≦ｔ≦ｂ）または（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）に対するすべてのそのようなトラックｔにわたって、書き換えられるようにスケジュールされているという決定に応じて、論理トラックが書き換えのために使用可能ではない。
【０１６４】
書き換えのために使用可能である現在の書き換えＣＷＩセットｃに論理トラックがないことに応じて、方法１９００は動作１９２０へ移動し、さもなければ、書き換えのために書き換えＣＷＩセットｃで使用可能である論理トラックｔに応じて、方法１９００は動作１９２２へ進む。
【０１６５】
動作１９２０で、現在のＣＷＩは、書き換えＣＷＩセットｃ＋ｎのトラックに書き換えられる。ただしｎ＞０である。言い換えると、現在のＣＷＩは、現在の書き換えＣＷＩセットｃを書き換えるために使用されている書き換え領域の部分の次の書き換え領域の部分で書き換えられる。
【０１６６】
動作１９２２で、現在のＣＷＩが書き換えＣＷＩセットｃのトラックｔで書き換えられ、ここで、（ａ＜ｂならば、ａ≦ｔ≦ｂ）および（ｂ＜ａならば、ｔ≧ａまたはｔ≦ｂ）である。
【０１６７】
次に図２３を参照すると、一実施形態による、順次アクセス媒体からの不使用トラック、または記憶デバイスの不使用チャネルあるいはその両方を検出する方法２０００が示されている。方法２０００は、様々な実施形態で、とりわけ図１〜２２に図示された環境のいずれかにおいて、本発明によって実行することができる。当然ながら、本明細書を読めば当業者には理解されるように、図２３で詳細に説明されるものよりも多いまたは少ない動作が方法２０００には含まれ得る。
【０１６８】
方法２０００のステップのそれぞれは、動作環境の任意の適切な構成要素によって実行することができる。たとえば、様々な実施形態では、方法２０００は、コントローラ、プロセッサ、テープ・ドライブ、光学ドライブ、または１つもしくは複数のプロセッサを有する何か他のデバイスによって、部分的にも全体的にも実行することができる。プロセッサ（たとえば処理回路、チップ、または、ハードウェアもしくはソフトウェアまたはその両方として実装されるモジュールあるいはこれらの組み合わせであり、好ましくは少なくとも１つのハードウェア構成要素を有する）は、方法２０００の１つまたは複数のステップを実行するための任意のデバイスで利用することができる。例示的なプロセッサとしては、それだけには限らないが、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡなど、これらの組み合わせ、または当技術分野で知られている他の適切な任意のコンピューティング・デバイスが挙げられる。
【０１６９】
図２３に示されるように、方法２０００は動作２００２から開始することができ、ここでデータ・セットが、記憶デバイス（テープ・ドライブ、光学ドライブなど）の磁気ヘッドの複数の書き込み変換器を使用して順次アクセス媒体に書き込まれる。データ・セットは、いくつかの固定サイズのサブ・データ・セットを含む。サブ・データ・セットのそれぞれは複数の符号化データ・ブロックを含み、各符号化データ・ブロックは、インターリーブまたは非インターリーブ配置の符号語を有する。各符号語は、所定の数のシンボルを含み、各符号はサイズが、８ビット、１０ビット、１２ビットなどを含め、８ビット以上である。データは、本明細書の様々な実施形態で説明されている、ＲＳ符号などの符号化方式もしくはアルゴリズム、または当技術分野で知られている何か他の符号化方式によって符号化される。
【０１７０】
一実施形態によれば、符号化データ・ブロックの符号語のシンボルのそれぞれは、サイズが１０ビットである。
【０１７１】
一実施形態では、データ・セットは、３２チャネル・システムの場合は６４個のサブ・データ・セットを含み得る。各符号化データ・ブロックは、順次アクセス媒体との間で記録され読み出される、ＣＷＩ−４、ＣＷＩ−２、ＣＷＩ−１などの最小量のデータを含み得る。たとえば、各サブ・データ・セットは、４つの積符号語を含むことがあり、各行のサブ・データ・セットはＣＷＩ−４になる。他の例では、各サブ・データ・セットは、２つの積符号語を含むことがあり、各行のサブ・データ・セットはＣＷＩ−２になり、あるいは１つの積符号語を含むことがあり、各行のサブ・データ・セットはＣＷＩ−１になる。
【０１７２】
一実施形態によれば、データ・セットを順次アクセス媒体に書き込むために使用される複数の書き込み変換器は、少なくともＭ個に達することがあり、このＭは、同時に書き込まれるトラックまたはチャネルの数である。当然ながら、磁気ヘッドは、様々な手法において、Ｍ個よりも多い書き込み変換器を備えることがある。１つのこのような手法では、磁気ヘッドは、媒体走行の順方向にデータを書き込むための、Ｍ個に等しいいくつかの書き込み変換器と、媒体走行の逆方向にデータを書き込むための、Ｍ個に等しいいくつかの追加の書き込み変換器とを含むことがある。
【０１７３】
動作２００４では、データ・セットは、磁気ヘッドの複数の読み出し変換器を使用して、記録時再生処理で順次アクセス媒体に書き込まれた直後に読み出されて、誤りのある１つまたは複数の符号化データ・ブロックが識別される。誤りのある１つまたは複数の符号化データ・ブロックのそれぞれは、誤りのある少なくとも１つの符号語を含む。即時読み出しが意味するのは、最初に順次アクセス媒体に書き込まれた符号化データが、順次アクセス媒体の配置および記憶デバイスの設計に基づいて（たとえば、読み出し変換器および書き込み変換器が磁気ヘッド上に物理的に設置されている場合、読み出し速度および書き込み速度など）、読み出されることが物理的に可能になるとすぐに、記録時再生処理で読み出されることである。
【０１７４】
誤りのある符号語、したがって、誤りのある符号語を含む、誤りのある符号化データ・ブロックは、順次アクセス媒体からデータ・セットを記録時再生処理で読み出した後にデータ・セット（または、その何らかの、符号化データ・ブロックなどのサブセット）を復号することにより決定される、符号化データ・ブロックに含まれる誤りの数に基づいて決定される。本明細書でさらに詳細に説明するように、符号語または符号化データ・ブロック中の閾値以上の誤りの数に応じて、その符号語または符号化データ・ブロックには誤りがあると決定され、この決定により、その符号化データ・ブロック、データ・セットのすべて、またはそのいくらか小さいサブセットの、順次アクセス媒体の書き換え領域への書き換えが起動される。
【０１７５】
各読み出し変換器は、対応する書き込み変換器によって順次アクセス媒体に書き込まれた後に、記録時再生処理で順次アクセス媒体からデータを読み出すように構成される。コントローラと、コントローラと一体化された、またはコントローラによって実行可能な、あるいはその両方である論理回路とがまた、磁気ヘッドの動作と、磁気ヘッドを横切る順次アクセス媒体の動きとを制御するために含まれる。各読み出し変換器は、記憶されたばかりのデータの記録時再生処理を可能にするために媒体の１つのトラックにデータを記憶するように構成された、対応する書き込み変換器と位置合わせされる。言い換えると、読み出し変換器の出力は、記録時再生中に生成される。
【０１７６】
一実施形態によれば、データ・セットを順次アクセス媒体に書き込まれた直後に読み出すために使用される複数の読み出し変換器は、少なくともＭ個に達することがあり、このＭは、記録時再生処理中に同時に書き込まれるトラックまたはチャネルの数である。当然ながら、磁気ヘッドは、様々な手法において、Ｍ個よりも多い読み出し変換器を備えることがある。１つのこのような手法では、磁気ヘッドは、媒体走行の順方向に書き込まれたデータを読み出すための、Ｍ個に等しいいくつかの読み出し変換器と、媒体の移動を案内するサーボ・トラック／チャネルを読み出すためのいくつかの追加の読み出し変換器とを含むことがある。
【０１７７】
動作２００６では、特定の論理トラックが、順次アクセス媒体の書き換え領域内論理トラックの所定のサブセットから選択される。この特定のトラックは、誤りのある１つまたは複数の符号化データ・ブロックを識別することに応じて、データ・セットのサブセット（たとえば、誤りのある少なくとも１つの符号化データ・ブロック）を書き換えるために使用される。
【０１７８】
論理トラックの所定のサブセットは、Ｄ１＋Ｄ２＋１論理トラックを含み、０＜Ｄ１＋Ｄ２＜Ｍ／４である。Ｄ１は、負でない少なくともゼロに等しい整数値であり、Ｄ２は、負でない少なくともゼロに等しい整数値であり、Ｄ１＋Ｄ２＞０である。前述のように、Ｍは、データ・セットを順次アクセス媒体のＭ個のトラックに同時に書き込むために使用される書き込み変換器の数である。したがって、論理トラックのサブセットは、同時に書き込まれる媒体のトラックの数Ｍの４分の１よりも少ないトラックを含む。
【０１７９】
フレキシブル書き換え表は、書き換えられたデータを有し得る論理トラックの所定のサブセットを、記憶デバイスおよび順次アクセス媒体の特定のパラメータ、たとえば、Ｍ、Ｓ、Ｒ、Ｄ１、Ｄ２などを考慮に入れて、決定するために利用することができる。
【０１８０】
いくつかの実施形態によれば、書き換え領域内の論理トラックの所定のサブセットは、２つの論理トラック、３つの論理トラック、４つの論理トラック、５つの論理トラック、またはもっと多くの論理トラックを含み得る。
【０１８１】
この論理トラックの所定のサブセットは、書き換えデータが、従来の書き換え方式によって書き換え領域に書き換えられるように本来設定されるはずの基本論理トラックを、この書き換え領域の基本論理トラックの先行または後続の追加トラックと共に含むように選択される。
【０１８２】
一実施形態では、これらの追加トラックは基本論理トラックと連続しており、たとえば、１、２、３（３つの論理トラックのサブセットの場合）、３１、３２、３３、３４、３５（３２チャネル・アーキテクチャの５つの論理トラックのサブセットの場合）、６２、６３、０（３つの論理トラックのサブセットの場合）、６２、６３、０、１、２（循環シナリオを考慮に入れた３２チャネル・アーキテクチャの５つの論理トラックのサブセットの場合）、などとなる。
【０１８３】
書き換え領域は、順次アクセス媒体に最初に書き込まれるデータ・セットの位置の次に配置されている（媒体の順方向移動の方向に）。
【０１８４】
所定のサブセット内のどの論理トラックを選択すべきかという選択は、本明細書でさらに詳細に説明するように、１つまたは複数の考慮すべき事項に基づき得る。一実施形態では、論理トラックの選択は、同じサブ・データ・セットの別の符号化データ・ブロック（ＣＷＩまたは他のいくらかの量のデータなど）がすでに、所定のサブセットの特定の論理トラックに書き換えられるようにスケジュールされているかどうかに基づく。そうであれば、別の所定のサブセットから別の論理トラックが、循環状態が存在する場合に留意して、現在の符号化データ・ブロックを書き換えるために選択される。さらに、論理トラックの所定のサブセットが連続しており、たとえば、トラック２９〜３１、トラック０〜２、トラック３１、０、１、または何か他の可能な、データを書き換えるために使用可能な論理トラックの全部の所定のサブセットにわたる、連続した論理トラックの組み合わせとなる。
【０１８５】
動作２００８では、誤りのある１つまたは複数の符号化データ・ブロックまたは符号語あるいはその両方を識別することに応じて、第１の符号化データ・ブロック・セット内の、誤りのある１つまたは複数の符号化データ・ブロックの第１のものが、書き換え領域内の特定の論理トラックに書き換えられる。このようにして、データ・セットの誤った部分（データ・セットのいずれかの部分または全部を含み得る）が順次アクセス媒体に書き換えられて、第１の書き込み中に検出された誤りが訂正される。さらに、１つまたは複数の符号化データ・ブロック・セットが書き換え領域内の別の論理トラックに書き換えられるとき、記録時再生処理が実行され、これにより、さらなる誤りのある符号化データ・ブロックまたは符号語あるいはその両方を検出し、１つまたは複数の符号化データ・ブロック・セットの一部または全部の別の書き換えを起動することができる。
【０１８６】
一実施形態によれば、１つまたは複数の符号化データ・ブロック・セット内の誤りのある１つまたは複数の符号化データ・ブロックが、ガロア体ＧＦ（２５４）にわたり４つのシンボル・インターリーブされたＲＳ（２４０，２２８）Ｃ１符号語として順次アクセス媒体の書き換え領域に、たとえば、ＣＷＩ−４と呼ばれる、８ビット・シンボルを符号語ごとに用いて、書き換えられ得る。加えて、最初に順次アクセス媒体に書き換えられたデータ・セットはまた、ＣＷＩ−４のセットとしても書き換えられ得る。
【０１８７】
別の実施形態では、１つまたは複数の符号化データ・ブロック・セット内の誤りのある１つまたは複数の符号化データ・ブロックが、ガロア体ＧＦ（１０２４）にわたり２つのシンボル・インターリーブされたＲＳ（３８３，３６４）Ｃ１符号語として順次アクセス媒体の書き換え領域に、たとえば、本明細書でＣＷＩ−２と呼ばれる、１０ビット・シンボルを符号語ごとに用いて、書き換えられ得る。加えて、最初に順次アクセス媒体に書き換えられたデータ・セットはまた、ＣＷＩ−２のセットとしても書き換えられ得る。
【０１８８】
別の実施形態によれば、１つまたは複数の符号化データ・ブロック・セット内の誤りのある１つまたは複数の符号化データ・ブロックが、ガロア体ＧＦ（１０２４）にわたり１つのＲＳ（７６８，７２８）Ｃ１符号語として順次アクセス媒体の書き換え領域に、たとえば、本明細書でＣＷＩ−１と呼ばれる、１０ビット・シンボルを符号語に用いて、書き換えられ得る。加えて、最初に順次アクセス媒体に書き換えられたデータ・セットはまた、ＣＷＩ−１のセットとしても書き換えられ得る。
【０１８９】
一実施形態によれば、方法２０００は、順次アクセス媒体の書き換え領域内の論理トラックの所定のサブセットから第２の論理トラックを選択し、次に、第３、第４などの論理トラックを、誤りのある符号化データ・ブロックのすべてがその書き換えられるための適切な論理トラックを有するまで選択することを含み得る。次に、第１の符号化データ・ブロック・セット内の誤りのある１つまたは複数の符号化データ・ブロックの第２のものは、誤りのある１つまたは複数の符号化データ・ブロックの第１のものが、誤りのある１つまたは複数のデータ・ブロックの第２のものと異なるサブ・データ・セットからのものであることに応じて、第２の論理トラックに書き換えられる。誤りのある１つまたは複数の符号化データ・ブロックの第１のものが、誤りのある１つまたは複数のデータ・ブロックの第２のものと異なるサブ・データ・セットからのものではない場合には、誤りのある１つまたは複数のデータ・ブロックの第２のものは、書き換え領域内の別の符号化データ・ブロックに書き換えられる。この手順は、誤りのある符号化データ・ブロックのすべてが書き換え領域で書き換えられるまで繰り返される。
【０１９０】
次に図２４を参照すると、一実施形態による、順次アクセス媒体の不使用トラック、または記憶デバイスの不使用チャネルあるいはその両方を検出する方法２１００が示されている。方法２１００は、様々な実施形態で、とりわけ図１〜２２に図示された環境のいずれかにおいて、本発明によって実行することができる。当然ながら、本明細書を読めば当業者には理解されるように、図２４で詳細に説明されるものよりも多いまたは少ない動作が方法２１００には含まれ得る。
【０１９１】
方法２１００のステップのそれぞれは、動作環境の任意の適切な構成要素によって実行することができる。たとえば、様々な実施形態では、方法２１００は、コントローラ、プロセッサ、テープ・ドライブ、光学ドライブ、または１つもしくは複数のプロセッサを有する何か他のデバイスによって、部分的にも全体的にも実行することができる。プロセッサ（たとえば処理回路、チップ、または、ハードウェアもしくはソフトウェアまたはその両方として実装されるモジュールあるいはこれらの組み合わせであり、好ましくは少なくとも１つのハードウェア構成要素を有する）は、方法２１００の１つまたは複数のステップを実行するための任意のデバイスで利用することができる。例示的なプロセッサとしては、それだけには限らないが、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡなど、これらの組み合わせ、または当技術分野で知られている他の適切な任意のコンピューティング・デバイスが挙げられる。
【０１９２】
図２４に示されるように、方法２１００は動作２１０２から開始することができ、ここでデータ・セットが、記憶デバイスの磁気ヘッドの複数の書き込み変換器を使用して順次アクセス媒体に書き込まれる。データ・セットは、いくつかの固定サイズのサブ・データ・セットを含み、各サブ・データ・セットは、それぞれが符号語をインターリーブ配置で有する複数の符号化データ・ブロックを含む。各符号語は、所定の数のシンボルを含む。各シンボルは、サイズが１０ビットである。データは、ＧＦ（１０２４）にわたり２つのシンボル・インターリーブされたＲＳ（３８４，３６４）Ｃ１符号語、たとえば、１サブ・データ・セット当たり２つのＣＷＩ−２として符号化される。
【０１９３】
動作２１０４では、データ・セットは、磁気ヘッドの複数の読み出し変換器を使用して、記録時再生処理で順次アクセス媒体に書き込まれた直後に読み出されて、誤りのある１つまたは複数の符号化データ・ブロックが識別される。誤りのある１つまたは複数の符号化データ・ブロックのそれぞれは、誤りのある少なくとも１つの符号語を含み、この誤りのある符号語は、符号化データ・ブロックの復号中に検出可能である。即時読み出しが意味するのは、最初に順次アクセス媒体に書き込まれたデータ・セットが、順次アクセス媒体の配置およびシステムの設計に基づいて（たとえば、読み出し変換器および書き込み変換器が磁気ヘッド上に物理的に設置されている場合、読み出し速度および書き込み速度など）、読み出されることが物理的に可能になるとすぐに、記録時再生処理で読み出されることである。
【０１９４】
誤りのある符号語は、符号化データ・ブロックを順次アクセス媒体から記録時再生処理で読み出した後に復号することにより決定される、符号語に含まれる誤りの数に基づいて決定される。本明細書でさらに詳細に説明するように、符号語中の閾値以上の誤りの数に応じて、その符号語には誤りがあると決定され（したがって、その符号語を含む符号化データ・ブロックには誤りがある）、この決定により、その符号化データ・ブロック（または、書き換え方式に応じて適切な、データ・セットのいくらか小さいサブセットもしくは大きい部分）の、順次アクセス媒体の書き換え領域への書き換えが起動される。
【０１９５】
各読み出し変換器は、対応する書き込み変換器によって順次アクセス媒体に書き込まれた後に、記録時再生処理で順次アクセス媒体からデータを読み出すように構成される。コントローラと、コントローラと一体化された、またはコントローラによって実行可能な、あるいはその両方である論理回路とがまた、磁気ヘッドの動作と、磁気ヘッドを横切る順次アクセス媒体の動きとを制御するために含まれる。各読み出し変換器は、記憶されたばかりのデータの記録時再生処理を可能にするために１つのトラックにデータを記憶するように構成された、対応する書き込み変換器と位置合わせされる。言い換えると、読み出し変換器の出力は、記録時再生中に生成される。
【０１９６】
動作２１０６で、順次アクセス媒体から読み出されたデータ・セットが復号されて、誤りのある１つまたは複数の符号化データ・ブロックが決定される。この実施形態では、符号化データ・ブロックまたは符号語あるいはその両方が、その中での閾数（たとえば、ゼロよりは大きいが使用される符号化方式に基づく訂正可能な誤りの最大数未満であるように設定される閾値）の誤りの検出に応じて誤りがあると決定される。この例では、１符号語当たり１０個の誤りまで訂正できるＲＳ（３８４，３６４）符号をＧＦ（１０２４）にわたり使用して、閾値を符号語ごとに１から１０までの範囲に設定することができる。符号化データ・ブロック内の誤りのある符号語が検出されると、その符号化データ・ブロックに誤りがあると決定されることになり、その書き換えが結果としてスケジュールされる。
【０１９７】
動作２１０８で、１つまたは複数の論理トラックが、順次アクセス媒体の書き換え領域内の３つの論理トラックの、１つまたは複数の固有の所定のサブセット内から選択される。これらの特定のトラックは、誤りのある１つまたは複数の符号化データ・ブロックを識別することに応じて誤りのある符号化データ・ブロックを書き換えるために使用される。３つの論理トラックの固有の所定のサブセットが意味するのは、論理トラックのそれぞれのサブセットが、ＳＤＳ数と符号化データ・ブロック・セット数のどの特定の組み合わせでも３つの論理トラックの他のどのサブセットとも異なる３つの論理トラックを含むという点で、異なるということである。当然ながら、いくつかの論理トラックが多数のサブセットに現れることがある。たとえば、トラック５が、トラックの３つのサブセット、すなわち、３、４、５；４、５、６；５、６、７に現れることがある。しかし、論理トラック５を含む論理トラックのこれらのサブセットのそれぞれが、互いに固有である。
【０１９８】
フレキシブル書き換え表は、書き換えられたデータを有し得る３つの論理トラックの所定のサブセットを、記憶デバイスおよび順次アクセス媒体の特定のパラメータ、たとえば、Ｍ、Ｓ、Ｒ、Ｄ１、Ｄ２などを考慮に入れて、決定するために利用することができる。
【０１９９】
論理トラックのサブセットのそれぞれは、誤りのある符号化データ・ブロックが、従来の書き換え方式によって書き換え領域に書き換えられるように本来設定されるはずの基本論理トラックを、この書き換え領域の基本論理トラックの先行または後続の追加トラックと共に含むように選択される。
【０２００】
書き換え領域は、順次アクセス媒体に最初に書き込まれるデータ・セットの位置の次に配置されている（媒体の順方向移動の方向に）
【０２０１】
論理トラックの所定のサブセットのうちの１つの中のどの論理トラックを選択すべきかという選択は、本明細書でさらに詳細に説明するように、１つまたは複数の考慮すべき事項に基づき得る。一実施形態では、論理トラックの選択は、同じサブ・データ・セットの別の符号化データ・ブロック（ＣＷＩまたは他のいくらかの量のデータなど）がすでに、論理トラックの所定のサブセットの特定の論理トラックに書き換えられるようにスケジュールされているかどうかに基づく。そうであれば、論理トラックの別のサブセットから別の論理トラックが、循環状態が存在する場合に留意して、現在の符号化データ・ブロックを書き換えるために選択される。さらに、一実施形態では、論理トラックのサブセットが連続しており、たとえば、トラック２９〜３１、トラック０〜２、トラック３１、０、１、または何か他の可能な、論理トラックの全部のセットにわたる連続した３つの論理トラックの組み合わせとなる。
【０２０２】
動作２１１０では、誤りのある１つまたは複数の符号化データ・ブロックまたは符号語あるいはその両方を識別することに応じて、誤りのある１つまたは複数の符号語を含む、誤りのある１つまたは複数の符号化データ・ブロックが、書き換え領域内の１つまたは複数の論理トラックに書き換えられる。このようにして、データ・セットの誤りのある部分（データ・セットのいずれかの部分または全部を含み得る）が順次アクセス媒体に書き換えられて、第１の書き込み中に検出された誤りが訂正される。さらに、誤りのある１つまたは複数の符号化データ・ブロックが書き換えられるとき、記録時再生処理が実行され、これにより、さらなる誤りのある符号化データ・ブロックまたは符号語あるいはその両方を検出し、誤りのある１つまたは複数の符号化データ・ブロック・セットの一部または全部の別の書き換えを起動することができる。
【０２０３】
この実施形態では、特定のサブ・データ・セットからの、誤りのあるただ１つの符号化データ・ブロックが、書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられる。特定のサブ・データ・セットからの、誤りがある別の符号化データ・ブロックを書き換えるために、書き換え領域内の別の符号化データ・ブロック・セットが使用される。
【０２０４】
次に図２５を参照すると、一実施形態による、順次アクセス媒体の不使用トラック、または記憶デバイスの不使用チャネルあるいはその両方を検出する方法２２００が示されている。方法２２００は、様々な実施形態で、とりわけ図１〜２２に図示された環境のいずれかにおいて、本発明によって実行することができる。当然ながら、本明細書を読めば当業者には理解されるように、図２５で詳細に説明されるものよりも多いまたは少ない動作が方法２２００には含まれ得る。
【０２０５】
方法２２００のステップのそれぞれは、動作環境の任意の適切な構成要素によって実行することができる。たとえば、様々な実施形態では、方法２２００は、コントローラ、プロセッサ、テープ・ドライブ、光学ドライブ、または１つもしくは複数のプロセッサを有する何か他のデバイスによって、部分的にも全体的にも実行することができる。プロセッサ（たとえば処理回路、チップ、または、ハードウェアもしくはソフトウェアまたはその両方として実装されるモジュールあるいはこれらの組み合わせであり、好ましくは少なくとも１つのハードウェア構成要素を有する）は、方法２２００の１つまたは複数のステップを実行するための任意のデバイスで利用することができる。例示的なプロセッサとしては、それだけには限らないが、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡなど、これらの組み合わせ、または当技術分野で知られている他の適切な任意のコンピューティング・デバイスが挙げられる。
【０２０６】
図２５に示されるように、方法２２００は動作２２０２から開始することができ、ここでデータ・セットが、記憶デバイスの磁気ヘッドの複数の書き込み変換器を使用して順次アクセス媒体に書き込まれる。データ・セットは、いくつかの固定サイズのサブ・データ・セットを含む。サブ・データ・セットのそれぞれは複数の符号化データ・ブロックを含み、各符号化データ・ブロックは、非インターリーブ配置の符号語を有する。各符号語は、所定の数のシンボルを含み、各シンボルはサイズが１０ビットである。データは、ＧＦ（１０２４）にわたり１つのＲＳ（７６８，７２８）Ｃ１符号語、たとえば、１サブ・データ・セット当たり１つのＣＷＩ−１として符号化される。
【０２０７】
動作２２０４では、データ・セットは、磁気ヘッドの複数の読み出し変換器を使用して、記録時再生処理で順次アクセス媒体に書き込まれた直後に読み出されて、誤りのある１つまたは複数の符号化データ・ブロックが識別される。誤りのある１つまたは複数の符号化データ・ブロックのそれぞれは、誤りのある少なくとも１つの符号語を含む。即時読み出しが意味するのは、最初に順次アクセス媒体に書き込まれたデータ・セットが、順次アクセス媒体の配置および記憶デバイスの設計に基づいて（たとえば、読み出し変換器および書き込み変換器が磁気ヘッド上に物理的に設置されている場合、読み出し速度および書き込み速度など）、読み出されることが物理的に可能になるとすぐに、記録時再生処理で読み出されることである。
【０２０８】
誤りのある符号語、したがって、誤りのある符号語を含む誤りのある符号化データ・ブロックは、データ・セットまたはその一部分を順次アクセス媒体から記録時再生処理で読み出した後に復号することにより決定される、符号語に含まれる誤りの数に基づいて決定される。本明細書でさらに詳細に説明するように、符号語または符号化データ・ブロック中の閾値以上の誤りの数に応じて、その符号語または符号化データ・ブロックには誤りがあると決定され、この決定により、その符号化データ・ブロック（または、データ・セットのいくらか小さいサブセットもしくは大きい部分）の、順次アクセス媒体の書き換え領域への書き換えが起動される。
【０２０９】
各読み出し変換器は、対応する書き込み変換器によって順次アクセス媒体に書き込まれた後に、記録時再生処理で順次アクセス媒体からデータを読み出すように構成される。コントローラと、コントローラと一体化された、またはコントローラによって実行可能な、あるいはその両方である論理回路とがまた、磁気ヘッドの動作と、磁気ヘッドを横切る順次アクセス媒体の動きとを制御するために含まれる。各読み出し変換器は、記憶されたばかりのデータの記録時再生処理を可能にするために媒体の１つのトラックにデータを記憶するように構成された、対応する書き込み変換器と位置合わせされる。言い換えると、読み出し変換器の出力は、記録時再生中に生成される。
【０２１０】
動作２２０６で、順次アクセス媒体から読み出されたデータ・セットを復号されて、誤りのある１つまたは複数の符号語または符号化データ・ブロックあるいはその両方が決定される。この実施形態では、符号化データ・ブロックまたは符号語あるいはその両方が、その中での閾数（たとえば、ゼロよりは大きいが使用される符号化方式に基づく訂正可能な誤りの最大数未満であるように設定される閾値）の誤りの検出に応じて誤りがあると決定される。この例では、１符号語当たり２０個の誤りまで訂正できるＲＳ（７６８，７２８）符号をＧＦ（１０２４）にわたり使用して、閾値を符号語ごとに１から２０までの範囲に設定することができる。符号化データ・ブロック内の誤りのある符号語が検出されると、その符号化データ・ブロックに誤りがあると決定されることになり、その書き換えが結果としてスケジュールされる。
【０２１１】
動作２２０８で、１つまたは複数の論理トラックが、順次アクセス媒体の書き換え領域内の５つの論理トラックの、１つまたは複数の固有の所定のサブセット内から選択される。これらの特定のトラックは、誤りのある１つまたは複数の符号化データ・ブロックを識別することに応じて誤りのある符号化データ・ブロックを書き換えるために使用される。５つの論理トラックの固有の所定のサブセットが意味するのは、論理トラックのそれぞれのサブセットが、ＳＤＳ数と符号化データ・ブロック・セット数のどの特定の組み合わせでも５つの論理トラックの他のどのサブセットとも異なる５つの論理トラックを含むという点で、異なるということである。当然ながら、いくつかの論理トラックが多数のサブセットに現れることがある。たとえば、トラック５が、トラックの５つのサブセット、すなわち、１、２、３、４、５；２、３、４、５、６；４、５、６、７、８；５、６、７、８、９に現れることがある。しかし、論理トラック５を含む論理トラックのこれらのサブセットのそれぞれが、互いに固有である。
【０２１２】
フレキシブル書き換え表は、書き換えられたデータを有し得る５つの論理トラックの所定のサブセットを、記憶デバイスおよび順次アクセス媒体の特定のパラメータ、たとえば、Ｍ、Ｓ、Ｒ、Ｄ１、Ｄ２などを考慮に入れて、決定するために利用することができる。
【０２１３】
論理トラックのサブセットのそれぞれは、誤りのある符号化データ・ブロックが、従来の書き換え方式によって書き換え領域に書き換えられるように本来設定されるはずの基本論理トラックを、この書き換え領域の基本論理トラックの先行または後続の追加トラックと共に含むように選択される。
【０２１４】
書き換え領域は、順次アクセス媒体に最初に書き込まれるデータ・セットの位置の次に配置されている（媒体の順方向移動の方向に）。
【０２１５】
論理トラックの所定のサブセットのうちの１つの中のどの論理トラックを選択すべきかという選択は、本明細書でさらに詳細に説明するように、１つまたは複数の考慮すべき事項に基づき得る。一実施形態では、論理トラックの選択は、同じサブ・データ・セットの別の符号化データ・ブロック（ＣＷＩまたは他のいくらかの量のデータなど）がすでに、論理トラックの所定のサブセットの特定の論理トラックに書き換えられるようにスケジュールされているかどうかに基づく。そうであれば、論理トラックの別の所定のサブセットから別の論理トラックが、循環状態が存在する場合に留意して、現在の符号化データ・ブロックを書き換えるために選択される。さらに、論理トラックのサブセットが連続しており、たとえば、トラック２９〜３３、トラック０〜４、トラック３１、０、１、２、３、または何か他の可能な、論理トラックの全部のセットにわたる連続した５つの論理トラックの組み合わせとなる。
【０２１６】
動作２２１０では、誤りのある１つまたは複数の符号化データ・ブロックまたは符号語あるいはその両方を識別することに応じて、誤りのある１つまたは複数の符号語を含む、誤りのある１つまたは複数の符号化データ・ブロックが、書き換え領域内の１つまたは複数の論理トラックに書き換えられる。このようにして、データ・セットの誤りのある部分（データ・セットのいずれかの部分または全部を含み得る）が順次アクセス媒体に書き換えられて、第１の書き込み中に検出された誤りが訂正される。さらに、誤りのある１つまたは複数の符号化データ・ブロックが書き換えられるとき、記録時再生処理が実行され、これにより、さらなる誤りのある符号化データ・ブロックまたは符号語あるいはその両方を検出し、誤りのある１つまたは複数の符号化データ・ブロック・セットの一部または全部の別の書き換えを起動することができる。
【０２１７】
この実施形態では、特定のサブ・データ・セットからの、誤りのあるただ１つの符号化データ・ブロックが、書き換え領域内の単一の符号化データ・ブロック・セットで書き換えられる。特定のサブ・データ・セットからの、誤りがある別の符号化データ・ブロックを書き換えるために、書き換え領域内の別の符号化データ・ブロック・セットが使用される。
【０２１８】
本発明は、システム、方法、またはコンピュータ・プログラム製品あるいはその組み合わせであり得る。コンピュータ・プログラム製品には、プロセッサに本発明の諸態様を実行させるためのコンピュータ可読プログラム命令を有する、コンピュータ可読記憶媒体が含まれ得る。
【０２１９】
コンピュータ可読記憶媒体は、命令実行デバイスが使用するための命令を保持および記憶できる有形のデバイスとすることができる。コンピュータ可読記憶媒体は、たとえば、それだけには限らないが、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、またはこれらの任意の適切な組み合わせでよい。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには以下のもの、すなわち、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、携帯型コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピー・ディスク、パンチカードまたは命令が記録された溝の形の隆起構造などの機械的に符号化されたデバイス、および上記の任意の適切な組み合わせが含まれる。本明細書で使用されるように、コンピュータ可読記憶媒体は、それ自体で、電波または他の自由伝搬する電磁波、導波管または他の伝送媒体を伝播する電磁波（たとえば、光ファイバ・ケーブルを進む光パルス）、または電線を通して伝送される電気信号などの、一過性の信号であると解釈されるべきではない。
【０２２０】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング・デバイス／処理デバイスに、またはネットワーク（たとえば、インターネット、ローカル・エリア・ネットワーク、広域ネットワークまたは無線ネットワークあるいはその組み合わせ）を介して外部コンピュータまたは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはその組み合わせを含み得る。各コンピューティング・デバイス／処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、そのコンピュータ可読プログラム命令を、それぞれのコンピューティング・デバイス／処理デバイスの中のコンピュータ可読記憶媒体に記憶するために転送する。
【０２２１】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、または１つもしくは複数のプログラム言語の任意の組み合わせで書かれたソース・コードまたはオブジェクト・コードのいずれかとすることができ、このプログラム言語には、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラム言語、および「Ｃ」プログラム言語または同様のプログラム言語などの従来の手続き型プログラム言語が含まれる。コンピュー可読プログラム命令は、ユーザのコンピュータ上で全部を、ユーザのコンピュータ上で一部を、スタンドアロン・ソフトウェア・パッケージとして、ユーザのコンピュータ上で一部を、かつリモート・コンピュータ上で一部を、またはリモート・コンピュータもしくはサーバ上で全部を実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを通してユーザのコンピュータと接続することができ、あるいは、この接続を外部のコンピュータと行うことができる（たとえば、インターネット・サービス・プロバイダを用いてインターネット経由で）。いくつかの実施形態では、たとえば、プログラマブル論理回路、フィールドプログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル・ロジック・アレイ（ＰＬＡ）を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個人専用にすることによってコンピュータ可読プログラム命令を実行することができる。
【０２２２】
本発明の諸態様が、本発明の実施形態による、流れ図または方法、装置（システム）、およびコンピュータ・プログラム製品のブロック図あるいはその両方に関して本明細書で説明される。流れ図またはブロック図あるいはその両方の各ブロック、および流れ図またはブロック図あるいはその両方のブロックの組み合わせは、コンピュータ可読プログラム命令によって実施できることを理解されたい。
【０２２３】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサによって実行される命令が、流れ図またはブロック図あるいはその両方の１つまたは複数のブロック内で指定された機能／動作を実施する手段を作り出すように、汎用コンピュータ、専用コンピュータまたは他のプログラム可能データ処理装置のプロセッサに供給して１つの機械を生み出すことができる。コンピュータ、プログラム可能データ処理装置、または特定の方法で機能する他のデバイスあるいはその組み合わせに指示できる、これらのコンピュータ可読プログラム命令はまた、命令が記憶されたコンピュータ可読記憶媒体が、流れ図またはブロック図あるいはその両方の１つまたは複数のブロック内で指定された機能／動作の態様を実施する命令を含む製品を備えるように、コンピュータ可読記憶媒体に記憶することもできる。
【０２２４】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行される命令が、流れ図またはブロック図あるいはその両方の１つまたは複数のブロック内で指定された機能／動作を実施するように、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードして、一連の動作ステップをコンピュータ、他のプログラム可能装置または他のデバイス上で、コンピュータで実施される処理が生じるように実行させることができる。
【０２２５】
図の流れ図およびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の実現可能な実施態様のアーキテクチャ、機能および動作を示す。この関連で、流れ図またはブロック図の各ブロックは、命令のモジュール、セグメントまたは一部分を表すことができ、指定された論理機能を実施するための１つまたは複数の実行可能な命令を含む。いくつかの代替実施態様では、ブロック内に示された機能は、図に示された順序から外れて行われることがある。たとえば、連続して示された２つのブロックが、実際には、実質的に同時に実行されることがあり、あるいは場合によってブロックが、含まれる機能に応じて逆の順序で実行されることがある。ブロック図または流れ図あるいはその両方の各ブロック、およびブロック図または流れ図あるいはその両方のブロックの組み合わせは、特定の機能または動作を行う、または専用ハードウェアおよびコンピュータ命令の組み合わせを実行する、専用ハードウェアによるシステムによって実現できることもまた留意されたい。
【０２２６】
さらに、様々な実施形態によるシステムが、プロセッサと一体化された、またはプロセッサによって実行可能な、あるいはその両方であるプロセッサおよび論理回路を含むことができ、この論理回路は、本明細書に挙げた処理ステップの１つまたは複数を実行するように構成されている。一体化された、が意味するのは、プロセッサに論理回路が、ＡＳＩＣ、ＦＰＧＡなどのハードウェア論理回路として埋め込まれているということである。プロセッサによって実行可能な、が意味するのは、論理回路が、ハードウェア論理回路、ファームウェアなどのソフトウェア論理、オペレーティング・システムの一部、アプリケーション・プログラムの一部などである、あるいは、プロセッサによってアクセス可能であり、かつプロセッサによって実行されると何らかの機能をプロセッサが行うように構成されている、ハードウェア論理回路とソフトウェア論理の何らかの組み合わせである、ということである。ソフトウェア論理は、当技術分野で知られている任意のメモリ・タイプの、局所または遠隔あるいはその両方のメモリに記憶することができる。当技術分野で知られている、ソフトウェア・プロセッサ・モジュール、またはＡＳＩＣ、ＦＰＧＡ、ＣＰＵ、集積回路（ＩＣ）、グラフィック処理ユニット（ＧＰＩ）などのハードウェア・プロセッサ、あるいはその両方などの、任意のプロセッサが使用され得る。
【０２２７】
上記のシステムまたは方法あるいはその両方の様々な特徴がどのようにも組み合わされて、上に提示された説明から複数の組み合わせを作り出せ得ることが明らかであろう。
【０２２８】
本発明の実施形態が、サービスをオン・デマンドで提供するために顧客の利益になるように配備されるサービスの形で実現され得ることがさらに理解されよう。
【０２２９】
様々な実施形態について上述したが、これらは例として提示されたにすぎず、限定するものではないことを理解されたい。したがって、好ましい実施形態の広がりおよび範囲は、上述の例示的な実施形態のいずれによっても限定されるべきではなく、添付の特許請求の範囲およびその等価物によってのみ定義されるべきである。
【図１】
2021508138.tif 000004
【図２】
2021508138.tif 000005
【図３】
2021508138.tif 000006
【図４】
2021508138.tif 000007
【図５】
2021508138.tif 000008
【図６】
2021508138.tif 000009
【図７】
2021508138.tif 000010
【図８】
2021508138.tif 000011
【図９】
2021508138.tif 000012
【図１０】
2021508138.tif 000013
【図１１】
2021508138.tif 000014
【図１２】
2021508138.tif 000015
【図１３】
2021508138.tif 000016
【図１４】
2021508138.tif 000017
【図１５】
2021508138.tif 000018
【図１６】
2021508138.tif 000019
【図１７】
2021508138.tif 000020
【図１８】
2021508138.tif 000021
【図１９】
2021508138.tif 000022
【図２０】
2021508138.tif 000023
【図２１】
2021508138.tif 000024
【図２２】
2021508138.tif 000025
【図２３】
2021508138.tif 000026
【図２４】
2021508138.tif 000027
【図２５】
2021508138.tif 000028
【国際調査報告】
2021508138.tif 000029
2021508138.tif 000030