(57)【要約】      （修正有）【課題】リニア・テープ・オープン第４世代（ＬＴＯ−４）のデータテープ録音フォーマットの符号語ヘッダに対するエラー訂正コーディングが提供される。【解決手段】データ・テープ・フォーマットは、各符号語ヘッダは、Ｎ個のバイトｃｋ＝ｃ０、>、…、ｃＮ−１を含み、符号語カッド内の第１および第２のヘッダのＫ個のバイトｃ０〜ｃＫ−１は、一方が分かると他方を推測できるような異なり方をしている。符号語カッドの各ヘッダ・バイトｃＫは、２つのインターリーブされた（ｍ／２）ビット・ニブル、ｅｋ、ｏＫを含むように再定義される。各ヘッダに対して、ニブルｅＫ〜ｅＮ−１、およびニブルｏＫ〜ｏＮ−１は、それぞれニブルｅ０〜ｅＫ−１、およびｏ０〜ｏＫ−１の関数として生成される。【選択図】図３
2008186572.tif 000002
【特許請求の範囲】
【請求項１】
データ・テープ・フォーマット内の符号語ヘッダにエラー訂正コーディングを提供する方法であって、前記データ・テープ・フォーマットが、第１および第２の符号語対と共にインターリーブされた第１および第２の符号語ヘッダを有する符号語カッドを定義し、各符号語ヘッダが、Ｎ個のｍビット・バイトｃｋ＝ｃ０、ｃ１、…、ｃＮ−２、ｃＮ−１を含み、符号語カッド内の前記第１および第２のヘッダのＫ個のバイトｃ０〜ｃＫ−１が、一方が分かると他方を推測できるように異なっている、方法には、
各ヘッダ・バイトｃＫを、２つのインターリーブされたニブル、ｅｋ、ｏＫを含むように再定義するステップと、
各ヘッダに対して、ニブルｅＫ〜ｅＮ−１を、ニブルｅ０〜ｅＫ−１の関数として生成するステップと、
各ヘッダに対して、ニブルｏＫ〜ｏＮ−１を、ニブルｏ０〜ｏＫ−１の関数として生成するステップと、
符号語カッドを前記再定義されたヘッダで組み立てるステップと、
前記符号語カッドをテープ媒体上に記録するステップとを含む、
方法。
【請求項２】
各ヘッダに対して、
ニブルｅＫ〜ｅＮ−１を、ニブルｅ０〜ｅＫ−１の関数として生成するステップが、前記ニブルｅ０〜ｅＮ−１がガロア体ＧＦ（１６）上の第１のリード・ソロモン（ＲＳ）符号語を含むように、ニブルｅＫ〜ｅＮ−１を生成するステップを含み、
ニブルｏＫ〜ｏＮ−１を、ニブルｏ０〜ｏＫ−１の関数として生成するステップが、前記ニブルｏ０〜ｏＮ−１がＧＦ（１６）上の第２のＲＳ符号語を含むように、ニブルｏＫ〜ｏＮ−１を生成するステップを含む、
請求項１に記載の方法。
【請求項３】
Ｎ＝１０であり、
ｅ８ｙ＋ｅ９＝ＲＧ（ｙ）［ｄ（ｅｖｅｎ）（ｙ）］であり、ここで、ＲＧ（ｙ）［ｄ（ｅｖｅｎ）（ｙ）］は、ｄ（ｅｖｅｎ）（ｙ）を生成多項式Ｇ（ｙ）＝（ｙ＋α７）（ｙ＋α８）＝ｙ２＋α１１ｙ＋１で除算した余りの多項式を示し、αは、α４＋α＋１＝０を満たすＧＦ（１６）の原始要素であり、
ｏ８ｙ＋ｏ９＝ＲＧ（ｙ）［ｄ（ｏｄｄ）（ｙ）］であり、ここで、ＲＧ（ｙ）［ｄ（ｏｄｄ）（ｙ）］は、ｄ（ｏｄｄ）（ｙ）を前記生成多項式Ｇ（ｙ）＝（ｙ＋α７）（ｙ＋α８）＝ｙ２＋α１１ｙ＋１で除算した余りの多項式を示し、αは、α４＋α＋１＝０を満たすＧＦ（１６）の原始要素である、
請求項２に記載の方法。
【請求項４】
前記データ・テープ・フォーマットが、リニア・テープ・オープン第４世代（ＬＴＯ−４）フォーマットを含む、請求項１に記載の方法。
【請求項５】
データ・テープ・フォーマット内の符号語ヘッダのエラーを訂正する方法であって、前記データ・テープ・フォーマットが、第１および第２の符号語対と共にインターリーブされた第１および第２の符号語対ヘッダｃ（ｅｖｅｎ）、ｃ（ｏｄｄ）を有する符号語カッドを定義し、各符号語ヘッダが、Ｎ個のｍビット・バイトｃｋ＝ｃ０、ｃ１、…、ｃＮ−２、ｃＮ−１を含み、符号語カッド内の前記第１および第２のヘッダのＫ個のバイトｃ０〜ｃＫ−１が、一方が分かると他方を推測できるように異なっている、方法には、
それぞれ２つのインターリーブされた偶数および奇数のニブル、ｅｋ、ｏＫを含むように各ヘッダ・バイトｃＫを再定義するステップと、
各ヘッダに対して、偶数ニブルｅＫ〜ｅＮ−１を、第１のアルゴリズムに基づいて偶数ニブルｅ０〜ｅＫ−１の関数として生成するステップと、
各ヘッダに対して、奇数ニブルｏＫ〜ｏＮ−１を、前記第１のアルゴリズムに基づいて奇数ニブルｏ０〜ｏＫ−１の関数として生成するステップと、
符号語カッドを前記再定義されたヘッダで組み立てるステップと、
前記符号語カッドをテープ媒体上に記録するステップと、
前記記録された符号語カッドを前記テープ媒体から読み取るステップと、
各ヘッダに対して、前記第１のアルゴリズムに基づいて前記ヘッダをデコードすることを試みるステップと、
前記第１のヘッダに対するシンドロームｓ＝［ｓ（ｅｖｅｎ），ｓ（ｏｄｄ）］＝［ｓ０（ｅｖｅｎ）ｓ１（ｅｖｅｎ）ｓ０（ｏｄｄ）ｓ１（ｏｄｄ）］を計算するステップと、
前記第２のヘッダに対するシンドロームｓ’＝［ｓ’（ｅｖｅｎ），ｓ’（ｏｄｄ）］＝［ｓ０’（ｅｖｅｎ）ｓ１’（ｅｖｅｎ）ｓ０’（ｏｄｄ）ｓ１’（ｏｄｄ）］を計算するステップと、
ｓ＝０またはｓ’＝０であるとき、前記第１および第２のヘッダのうちの少なくとも１つ内に、検出可能なエラーが存在しないことを示し、ゼロに等しい前記シンドロームを有する前記ヘッダから、前記第１および第２の符号語対を生成するステップと、
ｓ≠０かつｓ’≠０であるとき、前記第１と第２のヘッダの両方内にエラーを指摘し、前記第１および第２のヘッダをデコードすることを試みるステップと、
前記第１および第２のヘッダのデコードが成功したかどうかを判定するステップと、
前記第１および第２のヘッダのデコードが成功したとき、前記第１および第２のヘッダのペイロードが有効であるかどうかを判定するステップと、
前記第１および第２のヘッダの前記ペイロードが有効であるとき、前記第１および第２の符号語対を生成するステップと、
前記第１または第２のヘッダのどちらかの前記ペイロードが有効ではないとき、もしくは前記第１および第２のヘッダのデコードが成功しなかったとき、前記デコーディングの試みが失敗したという表示を提供するステップとを含む、
方法。
【請求項６】
各ヘッダに対して、
ニブルｅＫ〜ｅＮ−１を、ニブルｅ０〜ｅＫ−１の関数として生成するステップが、前記ニブルｅ０〜ｅＮ−１がガロア体ＧＦ（１６）上の第１のリード・ソロモン（ＲＳ）符号語を含むように、ニブルｅＫ〜ｅＮ−１を生成するステップを含み、
ニブルｏＫ〜ｏＮ−１を、ニブルｏ０〜ｏＫ−１の関数として生成するステップが、前記ニブルｏ０〜ｏＮ−１がＧＦ（１６）上の第２のＲＳ符号語を含むように、ニブルｏＫ〜ｏＮ−１を生成するステップを含む、
請求項５に記載の方法。
【請求項７】
Ｎ＝１０であり、
ｅ８ｙ＋ｅ９＝ＲＧ（ｙ）［ｄ（ｅｖｅｎ）（ｙ）］であり、ここで、ＲＧ（ｙ）［ｄ（ｅｖｅｎ）（ｙ）］は、ｄ（ｅｖｅｎ）（ｙ）を前記生成多項式Ｇ（ｙ）＝（ｙ＋α７）（ｙ＋α８）＝ｙ２＋α１１ｙ＋１で除算した余りの多項式を示し、αは、α４＋α＋１＝０を満たすＧＦ（１６）の原始要素であり、
ｏ８ｙ＋ｏ９＝ＲＧ（ｙ）［ｄ（ｏｄｄ）（ｙ）］であり、ここで、ＲＧ（ｙ）［ｄ（ｏｄｄ）（ｙ）］は、ｄ（ｏｄｄ）（ｙ）を前記生成多項式Ｇ（ｙ）＝（ｙ＋α７）（ｙ＋α８）＝ｙ２＋α１１ｙ＋１で除算した余りの多項式を示し、αは、α４＋α＋１＝０を満たすＧＦ（１６）の原始要素である、
請求項６に記載の方法。
【請求項８】
Ｎ＝１０であり、ニブルｅ／ｏの前記偶数または奇数の組に対する前記シンドロームｓ（ｅ／ｏ）＝［ｓ０，ｓ１］を計算するステップが、
ｊがエラー位置であり、εがエラー値であるとき、
ｓ０（ｅ／ｏ）＝ｒ（ｅ／ｏ）（α７）＝ｂ１（ｅ／ｏ）α７＋ｂ０（ｅ／ｏ）＝ｅ（ｅ／ｏ）（α７）＝εα７ｊ、および
ｓ１（ｅ／ｏ）＝ｒ（ｅ／ｏ）（α８）＝ｂ１（ｅ／ｏ）α８＋ｂ０（ｅ／ｏ）＝ｅ（ｅ／ｏ）（α８）＝εα８ｊ
を計算するステップと、
前記シンドローム方程式を以下のようにαｊおよびεについて解くステップとを含む、
αｊ＝ｓ１／ｓ０
ε＝ｓ０（α８）ｊ
請求項５に記載の方法。
【請求項９】
前記データ・テープ・フォーマットが、リニア・テープ・オープン第４世代（ＬＴＯ−４）データ・テープ・フォーマットを含む、請求項５に記載の方法。
【請求項１０】
データ・テープ・フォーマット内の符号語ヘッダのエラーを訂正するシステムであって、前記データ・テープ・フォーマットは、第１および第２の符号語対と共にインターリーブされた第１および第２の符号語対ヘッダｃ（ｅｖｅｎ）、ｃ（ｏｄｄ）を有する符号語カッドを定義し、各符号語ヘッダは、Ｎ個のｍビット・バイトｃｋ＝ｃ０、ｃ１、…、ｃＮ−２、ｃＮ−１を含み、符号語カッド内の前記第１および第２のヘッダのＫ個のバイトｃ０〜ｃＫ−１が、一方が分かると他方を推測できるように異なっている、システムには、
前記第１および第２の符号語対ヘッダを受信して、
各ヘッダ・バイトｃＫを、２つのインターリーブされたニブル、ｅｋ、ｏＫを含むように再定義して、
各ヘッダに対して、偶数ニブルｅＫ〜ｅＮ−１を、ニブルｅ０〜ｅＫ−１の関数として生成して、
各ヘッダに対して、奇数ニブルｏＫ〜ｏＮ−１を、ニブルｏ０〜ｏＫ−１の関数として生成して、
変更された第１および第２の符号語対ヘッダを出力するように動作可能な、
ＥＣＣエンコーダと、
前記第１および第２の符号語対ヘッダを前記第１および第２の変更された符号語対と共にインターリーブして、前記テープ媒体上に記録されるための符号語カッドを出力するように動作可能なマルチプレクサとを含む、
システム。
【請求項１１】
前記マルチプレクサが第１のマルチプレクサであり、
それぞれ前記第１および第２の符号語対ヘッダを受信するように結合された第１および第２の入力と、前記第１のマルチプレクサの第１の入力に結合された出力を有する前記ＥＣＣエンコーダの入力に結合された出力と、を有する第２のマルチプレクサと、
それぞれ前記第１および第２の符号語対を受信するように結合された第１および第２の入力と、前記第１のマルチプレクサの第２の入力に結合された出力とを有する第３のマルチプレクサとをさらに含む、
請求項１０に記載のシステム。
【請求項１２】
前記ＥＣＣエンコーダが、
前記第１の符号語対ヘッダを受信して、
前記第１のヘッダ・バイトｃＫを、２つのインターリーブされたニブル、ｅｋ、ｏＫを含むように再定義して、
前記第１のヘッダに対して、ニブルｅＫ〜ｅＮ−１を、ニブルｅ０〜ｅＫ−１の関数として生成して、
前記第１のヘッダに対して、ニブルｏＫ〜ｏＮ−１を、ニブルｏ０〜ｏＫ−１の関数として生成して、
前記変更された第１の符号語対ヘッダを出力するように動作可能な、
第１のＥＣＣエンコーダと、
前記第２の符号語対ヘッダを受信して、
前記第２のヘッダ・バイトｃＫ’を、２つのインターリーブされたニブル、ｅｋ’、ｏＫ’を含むように再定義して、
前記第２のヘッダに対して、ニブルｅＫ’〜ｅＮ−１’を、ニブルｅ０’〜ｅＫ−１’の関数として生成して、
前記第２のヘッダに対して、ニブルｏＫ’〜ｏＮ−１’を、ニブルｏ０’〜ｏＫ−１’の関数として生成して、
前記変更された第２の符号語対ヘッダを出力するように動作可能な、
第２のＥＣＣエンコーダとを含む、
請求項１０に記載のシステム。
【請求項１３】
ニブルｅＫ〜ｅＮ−１を、ニブルｅ０〜ｅＫ−１の関数として生成するステップが、前記ニブルｅ０〜ｅＮ−１がガロア体ＧＦ（１６）上の第１のリード・ソロモン（ＲＳ）符号語を含むように、ニブルｅＫ〜ｅＮ−１を生成するステップを含み、
ニブルｏＫ〜ｏＮ−１を、ニブルｏ０〜ｏＫ−１の関数として生成するステップが、前記ニブルｏ０〜ｏＮ−１がＧＦ（１６）上の第２のＲＳ符号語を含むように、ニブルｏＫ〜ｏＮ−１を生成するステップを含むように、
前記ＥＣＣエンコーダが動作可能である、
請求項１０に記載のシステム。
【請求項１４】
Ｎ＝１０であり、
ｅ８ｙ＋ｅ９＝ＲＧ（ｙ）［ｄ（ｅｖｅｎ）（ｙ）］であり、ここで、ＲＧ（ｙ）［ｄ（ｅｖｅｎ）（ｙ）］は、ｄ（ｅｖｅｎ）（ｙ）を前記生成多項式Ｇ（ｙ）＝（ｙ＋α７）（ｙ＋α８）＝ｙ２＋α１１ｙ＋１で除算した余りの多項式を示し、αは、α４＋α＋１＝０を満たすＧＦ（１６）の原始要素であり、
ｏ８ｙ＋ｏ９＝ＲＧ（ｙ）［ｄ（ｏｄｄ）（ｙ）］であり、ここで、ＲＧ（ｙ）［ｄ（ｏｄｄ）（ｙ）］は、ｄ（ｏｄｄ）（ｙ）を前記生成多項式Ｇ（ｙ）＝（ｙ＋α７）（ｙ＋α８）＝ｙ２＋α１１ｙ＋１で除算した余りの多項式を示し、αは、α４＋α＋１＝０を満たすＧＦ（１６）の原始要素である、
請求項１３に記載のシステム。
【請求項１５】
前記データ・テープ・フォーマットが、リニア・テープ・オープン第４世代（ＬＴＯ−４）データ・テープ・フォーマットを含む、請求項１０に記載のシステム。
【請求項１６】
データ・テープ・フォーマット内の符号語ヘッダのエラーを訂正するシステムであって、前記データ・テープ・フォーマットが、第１および第２の符号語対と共にインターリーブされた第１および第２の符号語対ヘッダｃ（ｅｖｅｎ）、ｃ（ｏｄｄ）を有する符号語カッドを定義し、各符号語ヘッダが、Ｎ個のｍビット・バイトｃｋ＝ｃ０、ｃ１、…、ｃＮ−２、ｃＮ−１を含み、符号語カッド内の前記第１および第２のヘッダのＫ個のバイトｃ０〜ｃＫ−１が、一方が分かると他方を推測できるように異なっている、システムには、
各ヘッダ・バイトｃＫを、それぞれ２つのインターリーブされた偶数および奇数のニブル、ｅｋ、ｏＫを含むように再定義して、
各ヘッダに対して、偶数ニブルｅＫ〜ｅＮ−１を、第１のアルゴリズムに基づいて偶数ニブルｅ０〜ｅＫ−１の関数として生成して、
各ヘッダに対して、奇数ニブルｏＫ〜ｏＮ−１を、前記第１のアルゴリズムに基づいて奇数ニブルｏ０〜ｏＫ−１の関数として生成するように動作可能な、
ＥＣＣエンコーダと、
前記符号語カッド内の各再定義されたヘッダおよび各符号語対を、テープ媒体上におよびテープ媒体から、記録してかつ読み取るための記録ヘッドと、
各ヘッダに対して、前記第１のアルゴリズムに基づいて前記ヘッダをデコードすることを試みて、
前記第１のヘッダに対するシンドロームｓ＝［ｓ（ｅｖｅｎ），ｓ（ｏｄｄ）］＝［ｓ０（ｅｖｅｎ）ｓ１（ｅｖｅｎ）ｓ０（ｏｄｄ）ｓ１（ｏｄｄ）］を計算して、
前記第２のヘッダに対するシンドロームｓ’＝［ｓ’（ｅｖｅｎ），ｓ’（ｏｄｄ）］＝［ｓ０’（ｅｖｅｎ）ｓ１’（ｅｖｅｎ）ｓ０’（ｏｄｄ）ｓ１’（ｏｄｄ）］を計算して、
ｓ＝０またはｓ’＝０であるとき、前記第１および第２のヘッダのうちの少なくとも１つ内に、検出可能なエラーが存在しないことを示し、ゼロに等しい前記シンドロームを有する前記ヘッダから、前記第１および第２の符号語対を生成して、
ｓ≠０かつｓ’≠０であるとき、前記第１と第２のヘッダの両方内にエラーを指摘し、前記第１および第２のヘッダをデコードすることを試みて、
前記第１および第２のヘッダのデコードが成功したかどうかを判定して、
前記第１および第２のヘッダのデコードが成功したとき、前記第１および第２のヘッダの前記ペイロードが有効であるかどうかを判定して、
前記第１および第２のヘッダの前記ペイロードが有効であるとき、前記第１および第２の符号語対を生成して、
前記第１または第２のヘッダのどちらかの前記ペイロードが有効ではないとき、もしくは前記第１および第２のヘッダのデコードが成功しなかったとき、前記デコーディングの試みが失敗したという表示を提供するように動作可能な
デコーダとを含む、
システム。
【請求項１７】
各ヘッダに対して、前記デコーダが、
前記ニブルｅ０〜ｅＮ−１がガロア体ＧＦ（１６）上の第１のリード・ソロモン（ＲＳ）符号語を含むように、ニブルｅＫ〜ｅＮ−１をニブルｅ０〜ｅＫ−１の関数として生成して、
前記ニブルｏ０〜ｏＮ−１がＧＦ（１６）上の第２のＲＳ符号語を含むように、ニブルｏＫ〜ｏＮ−１をニブルｏ０〜ｏＫ−１の関数として生成するようにさらに動作可能である、
請求項１６に記載のシステム。
【請求項１８】
Ｎ＝１０であり、
ｅ８ｙ＋ｅ９＝ＲＧ（ｙ）［ｄ（ｅｖｅｎ）（ｙ）］であり、ここで、ＲＧ（ｙ）［ｄ（ｅｖｅｎ）（ｙ）］は、ｄ（ｅｖｅｎ）（ｙ）を前記生成多項式Ｇ（ｙ）＝（ｙ＋α７）（ｙ＋α８）＝ｙ２＋α１１ｙ＋１で除算した余りの多項式を示し、αは、α４＋α＋１＝０を満たすＧＦ（１６）の原始要素であり、
ｏ８ｙ＋ｏ９＝ＲＧ（ｙ）［ｄ（ｏｄｄ）（ｙ）］であり、ここで、ＲＧ（ｙ）［ｄ（ｏｄｄ）（ｙ）］は、ｄ（ｏｄｄ）（ｙ）を前記生成多項式Ｇ（ｙ）＝（ｙ＋α７）（ｙ＋α８）＝ｙ２＋α１１ｙ＋１で除算した余りの多項式を示し、αは、α４＋α＋１＝０を満たすＧＦ（１６）の原始要素である、
請求項１７に記載のシステム。
【請求項１９】
Ｎ＝１０であり、前記デコーダが、
ｊがエラー位置であり、εがエラー値であるとき、
ｓ０（ｅ／ｏ）＝ｒ（ｅ／ｏ）（α７）＝ｂ１（ｅ／ｏ）α７＋ｂ０（ｅ／ｏ）＝ｅ（ｅ／ｏ）（α７）＝εα７ｊ、および
ｓ１（ｅ／ｏ）＝ｒ（ｅ／ｏ）（α８）＝ｂ１（ｅ／ｏ）α８＋ｂ０（ｅ／ｏ）＝ｅ（ｅ／ｏ）（α８）＝εα８ｊ
を計算して、
かつ前記シンドローム方程式を以下のようにαｊおよびεについて解くことにより、
αｊ＝ｓ１／ｓ０
ε＝ｓ０（α８）ｊ
ニブルｅ／ｏの前記偶数または奇数の組に対する前記シンドロームｓ（ｅ／ｏ）＝［ｓ０，ｓ１］を計算するようにさらに動作可能である、
請求項１６に記載のシステム。
【請求項２０】
前記データ・テープ・フォーマットが、リニア・テープ・オープン第４世代（ＬＴＯ−４）データ・テープ・フォーマットを含む、請求項１６に記載のシステム。
【請求項２１】
プログラマブル・コンピュータと共に使用可能なコンピュータ読み込み可能媒体のコンピュータ・プログラムであって、前記コンピュータ・プログラムは、その中に具体化された、データ・テープ・フォーマット内の符号語ヘッダにエラー訂正コーディングを提供するためのコンピュータ読み込み可能コードを有し、前記データ・テープ・フォーマットが、第１および第２の符号語対と共にインターリーブされた第１および第２の符号語ヘッダを有する符号語カッドを定義し、各符号語ヘッダが、Ｎ個のｍビット・バイトｃｋ＝ｃ０、ｃ１、…、ｃＮ−２、ｃＮ−１を含み、符号語カッド内の前記第１および第２のヘッダのＫ個のバイトｃ０〜ｃＫ−１が、一方が分かると他方を推測できるように異なっている、コンピュータ・プログラムには、前記コンピュータ読み込み可能コードが、
それぞれ２つのインターリーブされた偶数および奇数のニブル、ｅｋ、ｏＫを含むように各ヘッダ・バイトｃＫを再定義して、
各ヘッダに対して、偶数ニブルｅＫ〜ｅＮ−１を、第１のアルゴリズムに基づいて偶数ニブルｅ０〜ｅＫ−１の関数として生成して、
各ヘッダに対して、奇数ニブルｏＫ〜ｏＮ−１を、前記第１のアルゴリズムに基づいて奇数ニブルｏ０〜ｏＫ−１の関数として生成して、
符号語カッドを前記再定義されたヘッダで組み立てて、
前記符号語カッドをテープ媒体上に記録して、
前記記録された符号語カッドを前記テープ媒体から読み取り、
各ヘッダに対して、前記第１のアルゴリズムに基づいて前記ヘッダをデコードすることを試みて、
前記第１のヘッダに対するシンドロームｓ＝［ｓ（ｅｖｅｎ），ｓ（ｏｄｄ）］＝［ｓ０（ｅｖｅｎ）ｓ１（ｅｖｅｎ）ｓ０（ｏｄｄ）ｓ１（ｏｄｄ）］を計算して、
前記第２のヘッダに対するシンドロームｓ’＝［ｓ’（ｅｖｅｎ），ｓ’（ｏｄｄ）］＝［ｓ０’（ｅｖｅｎ）ｓ１’（ｅｖｅｎ）ｓ０’（ｏｄｄ）ｓ１’（ｏｄｄ）］を計算して、
ｓ＝０またはｓ’＝０であるとき、前記第１および第２のヘッダのうちの少なくとも１つ内に、検出可能なエラーが存在しないことを示し、ゼロに等しい前記シンドロームを有する前記ヘッダから、前記第１および第２の符号語対を生成して、
ｓ≠０かつｓ’≠０であるとき、前記第１と第２のヘッダの両方内にエラーを指摘し、前記第１および第２のヘッダをデコードすることを試みて、
前記第１および第２のヘッダのデコードが成功したかどうかを判定して、
前記第１および第２のヘッダのデコードが成功したとき、前記第１および第２のヘッダの前記ペイロードが有効であるかどうかを判定して、
前記第１および第２のヘッダの前記ペイロードが有効であるとき、前記第１および第２の符号語対を生成して、
前記第１または第２のヘッダのどちらかの前記ペイロードが有効ではないとき、もしくは前記第１および第２のヘッダのデコードが成功しなかったとき、前記デコーディングの試みが失敗したという表示を提供するための命令を含む、
コンピュータ・プログラム。
【請求項２２】
第１および第２の符号語対と共にインターリーブされた第１および第２の符号語対ヘッダｃ（ｅｖｅｎ）、ｃ（ｏｄｄ）を有する符号語カッドを定義するデータ・テープ・フォーマットを有するデータ・テープ・システムに、コンピュータ読み込み可能コードを組み込むことを含む、コンピューティング・インフラストラクチャを展開する方法であって、各符号語ヘッダが、Ｎ個のｍビット・バイトｃｋ＝ｃ０、ｃ１、…、ｃＮ−２、ｃＮ−１を含み、符号語カッド内の前記第１および第２のヘッダのＫ個のバイトｃ０〜ｃＫ−１が、一方が分かると他方を推測できるように異なっている、方法には、前記コードを前記データ・テープ・システムと組み合わせて、
各ヘッダ・バイトｃＫを、それぞれ２つのインターリーブされた偶数および奇数のニブル、ｅｋ、ｏＫを含むように再定義するステップと、
各ヘッダに対して、偶数ニブルｅＫ〜ｅＮ−１を、第１のアルゴリズムに基づいて偶数ニブルｅ０〜ｅＫ−１の関数として生成するステップと、
各ヘッダに対して、奇数ニブルｏＫ〜ｏＮ−１を、前記第１のアルゴリズムに基づいて奇数ニブルｏ０〜ｏＫ−１の関数として生成するステップと、
符号語カッドを前記再定義されたヘッダで組み立てるステップと、
前記符号語カッドをテープ媒体上に記録するステップと、
前記記録された符号語カッドを前記テープ媒体から読み取るステップと、
各ヘッダに対して、前記第１のアルゴリズムに基づいて前記ヘッダをデコードすることを試みるステップと、
前記第１のヘッダに対するシンドロームｓ＝［ｓ（ｅｖｅｎ），ｓ（ｏｄｄ）］＝［ｓ０（ｅｖｅｎ）ｓ１（ｅｖｅｎ）ｓ０（ｏｄｄ）ｓ１（ｏｄｄ）］を計算するステップと、
前記第２のヘッダに対するシンドロームｓ’＝［ｓ’（ｅｖｅｎ），ｓ’（ｏｄｄ）］＝［ｓ０’（ｅｖｅｎ）ｓ１’（ｅｖｅｎ）ｓ０’（ｏｄｄ）ｓ１’（ｏｄｄ）］を計算するステップと、
ｓ＝０またはｓ’＝０であるとき、前記第１および第２のヘッダのうちの少なくとも１つ内に、検出可能なエラーが存在しないことを示し、ゼロに等しい前記シンドロームを有する前記ヘッダから、前記第１および第２の符号語対を生成するステップと、
ｓ≠０かつｓ’≠０であるとき、前記第１と第２のヘッダの両方内にエラーを指摘し、前記第１および第２のヘッダをデコードすることを試みるステップと、
前記第１および第２のヘッダのデコードが成功したかどうかを判定するステップと、
前記第１および第２のヘッダのデコードが成功したとき、前記第１および第２のヘッダの前記ペイロードが有効であるかどうかを判定するステップと、
前記第１および第２のヘッダの前記ペイロードが有効であるとき、前記第１および第２の符号語対を生成するステップと、
前記第１または第２のヘッダのどちらかの前記ペイロードが有効ではないとき、もしくは前記第１および第２のヘッダのデコードが成功しなかったとき、前記デコーディングの試みが失敗したという表示を提供するステップとを実行できる、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、リニア・テープ・オープン（ＬＴＯ）システムのようなデータ・テープ・システムに関し、特に、データ・テープ録音フォーマットの符号語対ヘッダにエラー訂正能力を付加することに関する。
【背景技術】
【０００２】
第４世代のリニア・テープ・オープン・データ・テープ・フォーマット（ＬＴＯ−４）では、符号語カッドは、２つの１０バイトの符号語対ヘッダと共にインターリーブされた、２つの４８０バイトの符号語対を含む。それぞれの符号語対ヘッダ（本明細書では「ヘッダ」とも呼ばれる）は、４バイトの符号語識別子フィールド（バイトｃ０〜ｃ３）、４バイトの書き込みパス識別子フィールド（データ・セットが書き込まれる書き込みパスを特定するためのバイトｃ４〜ｃ７）、および巡回冗長検査（ＣＲＣ）の性質を有する２バイトのヘッダ・パリティ・フィールド（バイトｃ８〜ｃ９）からなる。２つの符号語対ヘッダは、符号語識別子フィールドの符号語対指定サブ・フィールド（Ｃｏｄｅｗｏｒｄ  Ｐａｉｒ  Ｄｅｓｉｇｎａｔｉｏｎ  ｓｕｂ−ｆｉｅｌｄ）の値だけが異なった、実質的に同じコンテンツ（ペイロード）を有する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ＬＴＯ−４仕様で定義されているように、ヘッダＣＲＣは、ガロア体ＧＦ（２５６）上のリード・ソロモン（ＲＳ）符号である。一般に、ｐ＞１が素数であり、ｋ＞０が整数であるとき、ｐｋ要素を有する有限体は、ＧＦ（ｐｋ）とみなす。図１のブロック図に示されているように、ＣＲＣバイトは、生成多項式Ｇ（ｙ）＝ｙ２＋α１５２ｙ＋１に基づいて、エンコーダ１００を介してヘッダ・バイトを連続的に処理することにより生成される。エンコーダを介してバイトを処理した後に、レジスタ１０２、１０４はＣＲＣバイトを含む。
【０００４】
ヘッダ・パリティ・バイトがヘッダ内のエラーを検出するためだけに使用されるとき、ヘッダ・パリティ・バイトは、検出されるいかなるエラーも訂正できない。しかしながら、テープ・ドライブのデータ・コンテンツが分析されるとき、不良のＣＲＣ検査を有する多数の符号語対ヘッダが確認されると、結果として符号語対が破棄されるかもしれない。データ保全の重要性を考慮すると、符号語対ヘッダ内のエラーを許容することはできない。符号語対ヘッダ内のエラーに対するロバスト性の向上が求められている。
【０００５】
符号語対ヘッダ内の２バイトの冗長度を、エラーを検出するためのＣＲＣとして使用するのではなく、符号語対ヘッダの中の１バイトを訂正するために使用するときには、訂正ミスが起こった場合にエラーを検出するための付加的な機構が必要になる。さらに、このような解決法は、符号語対ヘッダの中のすべての１ビットのエラーは訂正できるが、符号語対ヘッダの中のすべての２ビットのエラー・バーストを訂正できないため、効率が悪いであろう。例えば、バイト境界にまたがる２ビットのエラー・バーストを訂正できない。他の可能な解決法は、エラーを訂正して、かつ訂正後にエラーを検出するために、冗長度を３バイト以上に増やすことであろう。しかしながら、このような解決法は、必然的にフォーマット効率を低下させるであろう。したがって、両方の「解決法」は、著しい欠点を有しており、好ましくない。
【０００６】
さらに他の解決法は、エラー制御用の付加的な冗長度を持たせて、それによりエラー訂正能力を向上させるために、２つのヘッダのペイロードの共通部分を使用することであろう。しかしながら、このような解決法は、現在のシステムに比べても、著しい欠点を有する。例えば、今、テープ上の媒体の不良または他の理由のために、一方の符号語対のヘッダをデコードできないが、符号語カッド内の他方の符号語対のヘッダをデコードできるとき、その場合、両方のヘッダをデコードするための十分な情報がある。ペイロードの共通部分のすべてを書き換えることの代わりに、付加的なエラー制御冗長度をペイロードの中に持たされた場合、テープ・システムに対するこのような好ましい特性は失われるであろう。
【０００７】
したがって、新しい欠点を取り込んだり、または冗長度を増やしたりすることなく、符号語対ヘッダ内のエラーを検出してかつ訂正する能力に対する必要性が表れる。
【課題を解決するための手段】
【０００８】
本発明は、リニア・テープ・オープン第４世代（ＬＴＯ−４）データ・テープ・フォーマットのようなデータ・テープ・フォーマット内の符号語ヘッダに対するエラー訂正コーディングを提供するが、このリニア・テープ・オープン第４世代（ＬＴＯ−４）データ・テープ・フォーマットに限定されない。本発明が実施されうるデータ・テープ・フォーマットは、第１および第２の符号語対と共にインターリーブされた第１および第２の符号語ヘッダを有するように符号語カッドを定義し、ｍが偶数の整数であるとき、各符号語ヘッダが、Ｎ個のｍビット・バイトｃｋ＝ｃ０、ｃ１、…、ｃＮ−２、ｃＮ−１を含み、符号語カッド内の第１および第２のヘッダのＫ個のｍビット・バイトｃ０〜ｃＫ−１が、一方が分かると他方を推測できるように異なっている。本発明に基づいて、符号語カッドの各ヘッダのｍビット・バイトｃｋは、２つのインターリーブされた（ｍ／２）ビット・ニブル、ｅｋ、ｏＫを含むように再定義される。各ヘッダに対して、ニブルｅＫ〜ｅＮ−１、およびニブルｏＫ〜ｏＮ−１は、それぞれニブルｅ０〜ｅＫ−１、およびｏ０〜ｏＫ−１の関数として生成される。符号語カッドは再定義されたヘッダで組み立てられ、その後、符号語カッドはテープ媒体に記録される。一実施形態では、データ・テープ・フォーマットは、Ｎ＝１０、Ｋ＝８、およびｍ＝８であるＬＴＯ−４フォーマットである。さらに、本発明は、このような符号語ヘッダに対するエラー訂正コーディングを提供するシステムを提供する。さらに、本発明は、このような符号語ヘッダに対するエラー訂正コーディングを提供する命令を有するコンピュータ・プログラムコードを提供する。
【発明を実施するための最良の形態】
【０００９】
リニア・テープ・オープン第４世代（ＬＴＯ−４）の現在のインプリメンテーションでは、符号語カッド内の２つの１０バイトの符号語対ヘッダ（ＣＰＨ）の各々は、ｃ０  ｃ１…ｃ７  ｃ８  ｃ９と表されることができ、ここで、ｃ０が第１のバイト、ｃ１が第２のバイトなどである。符号語対ヘッダに対する本発明のエラー制御方法は、ＧＦ（１６）上のリード・ソロモン（ＲＳ）符号語の偶数奇数インターリービングに基づいており、訂正ミスに対処するロバスト性を向上させるために、両方の符号語対ヘッダ内の共通のペイロードを利用する。ハイ・レベルについてよく見てみると、ＬＴＯ−４の１０バイトの符号語対ヘッダは、ｅ０  ｏ０  ｅ１  ｏ１…ｅ７  ｏ７  ｅ８  ｏ８  ｅ９  ｏ９と再定義され、ここで、ｅ０はｃ０の左の４ビットであり、ｏ０はｃ０の右の４ビットである。同じ記法は他のバイトに適合する。偶数の符号語対ヘッダｅ０  ｅ１…ｅ７  ｅ８  ｅ９は、ＧＦ（１６）上のリード・ソロモン符号語である。すなわち、２つの４ビットの偶数パリティ・シンボル（ニブル）ｅ８  ｅ９は、偶数のヘッダの最初の８つのニブルｅ０  ｅ１…ｅ７の関数として、特定の方法で生成される。同様に、奇数の符号語対ヘッダｏ０  ｏ１…ｏ７  ｏ８  ｏ９もまた、ＧＦ（１６）上のリード・ソロモン符号語である。すなわち、２つの４ビットの奇数パリティ・シンボル（ニブル）ｏ８  ｏ９は、奇数のヘッダの最初の８つのニブルｏ０  ｏ１…ｏ７の関数として、特定の方法で生成される。したがって、標準的なＬＴＯ−４フォーマットで使用される同じ大きさの冗長度、すなわち、１つの符号語対ヘッダあたり２バイトの冗長度が、本発明でも使用されうるが、本発明は、他の大きさの冗長度に対しても同様に適用可能である。この方法は、冗長度を増やすしたり、または符号語カッドのフォーマット効率を低下させたりすることなく、符号語対ヘッダ内の任意の５ビットのエラー・バーストを補正できる。本発明は、ここでは、２バイトの冗長度を含むＬＴＯ−４およびその１０バイトの符号語対ヘッダの関連において説明されているが、このような説明は、制限しようとするものではない。より一般的には、本発明は、Ｎ個のｍビット・バイトと、Ｋ個のｍビット・ペイロード（バイトｃ０〜ｃＫ−１）と、Ｎ−Ｋ個の冗長度バイト（バイトｃＫ〜ｃＮ−１）とを有する符号語対ヘッダと共に実施されうる。さらに、標準的なＲＳコードに対して、Ｎ＜２（ｍ／２）である。したがって、ｍ＝８に対して、Ｎ＜１６である。さらに、拡張されたＲＳコードに対して、Ｎ＝２（ｍ／２）、またはＮ＝２（ｍ／２）＋１である。したがって、ｍ＝８に対して、Ｎ＝１６、またはＮ＝１７である。
【００１０】
エンコーダを実施するためのハードウェアの複雑さは小さい。例として、図２に示されているようなＮ＝１０、Ｋ＝８、およびｍ＝８であるＬＴＯ−４フォーマットについて見ると、ＧＦ（１６）に基づいてヘッダ・パリティ・ニブルを生成する本発明のエンコーダまたはフィードバック・シフト・レジスタ２００は、乗算器２０２と、２つの遅延要素２０４、２０６で実施されうる。動作について見ると、エンコーダ２００の両方の遅延要素は、ゼロに初期化され、偶数のデータ・ニブルｅ０、ｅ１、…、ｅ７は、ＧＦ（１６）上のエンコーダ２００を介して処理される。体ＧＦ（１６）は、原始多項式ｐ（ｚ）＝ｚ４＋ｚ＋１により決定される。多項式表示において、
ｅ（ｙ）＝ｅ０ｙ９＋ｅ１ｙ８＋ｅ２ｙ７＋．．．＋ｅ７ｙ２＋ｅ８ｙ＋ｅ９
ｄ（ｅｖｅｎ）（ｙ）＝ｅ０ｙ９＋ｅ１ｙ８＋ｅ２ｙ７＋．．．＋ｅ７ｙ２
ｅ８ｙ＋ｅ９＝ＲＧ（ｙ）［ｄ（ｅｖｅｎ）（ｙ）］
ここで、ＲＧ（ｙ）［ｄ（ｅｖｅｎ）（ｙ）］は、ｄ（ｅｖｅｎ）（ｙ）を生成多項式Ｇ（ｙ）＝（ｙ＋α７）（ｙ＋α８）＝ｙ２＋α１１ｙ＋１で除算した余りの多項式を示し、αは、α４＋α＋１＝０を満たすＧＦ（１６）の原始要素である。ヘッダの最初の８つの偶数ニブルが処理された後に、偶数パリティ・ニブルｅ８およびｅ９が、２つの遅延要素２０４、２０６のコンテンツから得られる。同じ方法で、奇数パリティ・ニブルｏ８およびｏ９が、並列エンコーダ（図示せず）から得られる。
【００１１】
図３は、本発明のエンコーダが実施されうる書き込みチャンネル３００のブロック図である。顧客データは、データを圧縮して、暗号化するような機能を実行できるプロセッサ３０２内に受信される。ハイ・レベル・フォーマッタ３０４は、処理されたデータにＥＣＣを付加して、データを記録に適した構造に構成しうる。生成器３０６は、エンコードされた符号語対ヘッダを生成する。ＣＰＨは、ＭＵＸ３０８を介してハイ・レベル・フォーマット・データと共にインターリーブされ、データ・ストリームにタイミングおよび同期情報を付加しうるロー・レベル・フォーマッタ３１０に伝送される。その後、得られたデータは、媒体３１４に記録するために記録ヘッド３１２に送られる。
【００１２】
ＧＦ（２（ｍ／２））に基づいてヘッダ・パリティ・ニブルを生成する本発明のエンコーダは、フィードバック・シフト・レジスタおよびＮ−Ｋ個の遅延要素で実施でき、このＮ−Ｋ個の遅延要素の接続は、生成多項式Ｇ（ｙ）＝（ｙ＋αＩ）（ｙ＋αＩ＋１）…（ｙ＋αＩ＋Ｎ−Ｋ−１）の係数により与えられ、ここで、αはＧＦ（２（ｍ／２））の原始要素であり、Ｉは所定の整数である。動作について見ると、フィードバック・シフト・レジスタのすべての遅延要素は、ゼロに初期化され、偶数のデータ・ニブルｅ０、ｅ１、…、ｅＫ−１は、ＧＦ（２（ｍ／２））上のフィードバック・シフト・レジスタを介して処理される。体ＧＦ（２（ｍ／２））は、次数ｍ／２の原始多項式ｐ（ｚ）により決定される。多項式表示において、
ｅ（ｙ）＝ｅ０ｙＮ＋ｅ１ｙＮ−１＋ｅ２ｙＮ−２＋．．．＋ｅＮ−３ｙ２＋ｅＮ−２ｙ＋ｅＮ−１
ｄ（ｅｖｅｎ）（ｙ）＝ｅ０ｙＮ−１＋ｅ１ｙＮ−２＋ｅ２ｙＮ−３＋．．．＋ｅＫ−１ｙＮ−Ｋ
ｅＫｙＮ−Ｋ−１＋…＋ｅＮ−１＝ＲＧ（ｙ）［ｄ（ｅｖｅｎ）（ｙ）］
【００１３】
ここで、ＲＧ（ｙ）［ｄ（ｅｖｅｎ）（ｙ）］は、ｄ（ｅｖｅｎ）（ｙ）を生成多項式Ｇ（ｙ）で除算した余りの多項式を示す。ヘッダの最初のＫ個の偶数ニブルが処理された後に、Ｎ−Ｋ個の偶数パリティ・ニブルｅＫ…ｅＮ−１が、フィードバック・シフト・レジスタの遅延要素のコンテンツから得られる。同じ方法で、奇数パリティ・ニブルｏＫ…ｏＮ−１が、並列エンコーダから得られる。
【００１４】
図４は、ＧＦ（１６）に基づいてヘッダ・パリティ・ニブルを生成する本発明のエンコーダ４００の一構成のブロック図である。２つのＣＰＨに対するヘッダ・ペイロード４０２Ａ、４０２Ｂは、並列ＥＣＣエンコーダ４０６Ａ、４０６Ｂによりエンコードされる。ＭＵＸ４１０が、エンコードされたＣＰＨを、連続的に受信してかつ符号語対ペイロード（顧客データ）と共にインターリーブして、符号語カッド４１２を形成する。
【００１５】
図５は、単一のエンコーダだけが使用される本発明のエンコーダ５００の他の実施形態のブロック図である。２つのＣＰＨに対する第１および第２のヘッダ・ペイロード５０２Ａ、５０２Ｂが、第１のＭＵＸ５０４で受信されて、ＥＣＣエンコーダ５０６を用いて交互にエンコードする。第１および第２の符号語が、第２のＭＵＸ５０８で受信される。第３のＭＵＸ５１０が、エンコードされたＣＰＨを、連続的に受信してかつ符号語対ペイロードと共にインターリーブして、符号語カッド５１２を形成する。
【００１６】
図６は、本発明に基づいて、記録された顧客データを読み取り、かつ再現するために使用される構成要素６００のブロック図である。記録媒体６０２上のデータは、媒体から、記録されたビットを再生するために、読み取りチャンネル６０４を介して読み取られる。ロー・レベル・デフォーマッタ６０６は、データ・ストリームからタイミングおよび同期情報を検出して、取り除く。その後、データはＭＵＸ６０８に送られる。符号語カッドから、ＭＵＸ６０８は、ＣＰＨを交互に符号語ヘッダ・デコーダ６１０に伝送し、この符号語ヘッダ・デコーダ６１０では、本発明に基づいて後述するように、符号語ヘッダ情報が取り除かれて、デコードされる。デコードされたヘッダおよびＭＵＸ６０８からの符号語対は、デフォーマッタ６１２でハイ・レベル・デフォーマットを受けて、さらなる処理に備えてＥＣＣおよび再編成を実行する。プロセッサ６１４は、データを解読して、解凍でき、元の顧客データが出力される。
【００１７】
また、デコーダは、３つ程度の乗算器と、２つの加算器と、ガロア体ＧＦ（１６）上の１つの除算器で実現されうるため、ＣＰＨの１つのインターリーブに対するデコーダを実現するためのハードウェアの複雑さは小さい。第１ステップでは、偶数および奇数のＣＰＨ、ｃ（ｅｖｅｎ）およびｃ（ｏｄｄ）が、同じデコーディング・アルゴリズムを用いて別々にデコードされる。デコーディング・アルゴリズムは、偶数のＣＰＨの場合に対して説明されている。理解されるように、ｃ（ｏｄｄ）に対するデコーダは、上付き文字（ｅｖｅｎ）を（ｏｄｄ）に置換することにより得られる。
【００１８】
受信された偶数のＣＰＨが、何らかのエラー・ベクトルｅ（ｅｖｅｎ）（ｙ）で壊されているとき、
ｒ（ｅｖｅｎ）（ｙ）＝ｃ（ｅｖｅｎ）（ｙ）＋ｅ（ｅｖｅｎ）（ｙ）
受信された偶数のＣＰＨをｃ（ｅｖｅｎ）に対するエンコーダ２００を介して通すとき、Ｎ−Ｋ個の検査シンボル（ｍ／２ビット・ニブル）は、以下のように計算される。
ｂ（ｅｖｅｎ）（ｙ）＝ｂＮ−Ｋ−１（ｅｖｅｎ）ｙＮ−Ｋ−１＋…＋ｂ０（ｅｖｅｎ）＝ＲＧ（ｙ）［ｒ（ｅｖｅｎ）（ｙ）］
エラーが起こらないとき、検査シンボルｂＮ−Ｋ−１（ｅｖｅｎ）…ｂ０（ｅｖｅｎ）は、ゼロになる。他方、少なくとも１つの、しかし、たかだか（Ｎ−Ｋ）／２のニブルにエラーが起こるとき、少なくとも１つの検査シンボルｂＮ−Ｋ−１（ｅｖｅｎ）…ｂ０（ｅｖｅｎ）は、ゼロではない。シンドロームｓ（ｅｖｅｎ）＝［ｓ０（ｅｖｅｎ），ｓ１（ｅｖｅｎ），…，ｓＮ−Ｋ−２（ｅｖｅｎ），ｓＮ−Ｋ−１（ｅｖｅｎ）］は、以下のように計算される。
ｓ０（ｅｖｅｎ）＝ｒ（ｅｖｅｎ）（αＩ）＝ｂ（ｅｖｅｎ）（αＩ）＝ｅ（ｅｖｅｎ）（αＩ）
ｓ１（ｅｖｅｎ）＝ｒ（ｅｖｅｎ）（αＩ＋１）＝ｂ（ｅｖｅｎ）（αＩ＋１）＝ｅ（ｅｖｅｎ）（αＩ＋１）
…
ｓＮ−Ｋ−１（ｅｖｅｎ）＝ｒ（ｅｖｅｎ）（αＩ＋Ｎ−Ｋ−１）＝ｂ（ｅｖｅｎ）（αＩ＋Ｎ−Ｋ−１）＝ｅ（ｅｖｅｎ）（αＩ＋Ｎ−Ｋ−１）
ここで、シンドロームは、受信された偶数のＣＰＨのｒ（ｅｖｅｎ）（ｙ）からでも、またはｒ（ｅｖｅｎ）（ｙ）から計算されうるｂ（ｅｖｅｎ）（ｙ）からでも、どちらからでも直接計算されうる。換言すれば、ｂ（ｅｖｅｎ）（ｙ）の計算は、計算を簡素化できるが、必須ではない。
【００１９】
ｍ＝８、Ｋ＝８、およびＮ＝１０であるとき、Ｉ＝７である。その後、ｓ（ｅｖｅｎ）＝［ｓ０（ｅｖｅｎ），ｓ１（ｅｖｅｎ）］は、以下のように計算される。
ｓ０（ｅｖｅｎ）＝ｒ（ｅｖｅｎ）（α７）＝ｂ１（ｅｖｅｎ）α７＋ｂ０（ｅｖｅｎ）＝ｅ（ｅｖｅｎ）（α７）および
ｓ１（ｅｖｅｎ）＝ｒ（ｅｖｅｎ）（α８）＝ｂ１（ｅｖｅｎ）α８＋ｂ０（ｅｖｅｎ）＝ｅ（ｅｖｅｎ）（α８）
単一のニブルにエラーが起こるとき、すなわち、ｅ（ｅｖｅｎ）（ｙ）＝εｙｊのとき、シンドロームは以下のようになる。
ｓ０（ｅｖｅｎ）＝εα７ｊおよび
ｓ１（ｅｖｅｎ）＝εα８ｊ
２つのシンドローム方程式をαｊおよびεについて解くと、
αｊ＝ｓ１／ｓ０      式（１Ａ）
ε＝ｓ０（α８）ｊ    式（１Ｂ）
【００２０】
デコーダの複雑さを低減するために、（α８）ｊは、ｊ＝０、１、．．．、９に対して、あらかじめ計算されうる。したがって、エラー位置ｊおよびエラー値εを決定するために、ＧＦ（１６）上で、たった一回の除算および一回の乗算だけで十分であろう。（ｓ０（ｅｖｅｎ），ｓ１（ｅｖｅｎ））≠（０，０）であり、かつ式（１Ａ）と（１Ｂ）のどちらも解くことができないとき、すなわち、ｓ０（ｅｖｅｎ）＝０、ｓ１（ｅｖｅｎ）＝０、またはエラー位置ｊが領域外にある（すなわち、ｊ＞９）とき、デコーディング失敗が宣言される。
【００２１】
特に、デコーダは、以下のシンドロームを計算する。
ｓ＝［ｓ（ｅｖｅｎ），ｓ（ｏｄｄ）］
【００２２】
ＲＳ符号語が、ｎｅｒｒｏｒ誤ったシンボル、およびｎｅｒａｓ消去（それらの位置は分かっているが、それらの値は分かっていないエラー）を含み、２ｎｅｒｒｏｒ＋ｎｅｒａｓ≦Ｎ−Ｋの場合には、正しいエラー位置および正しいエラー値を得るために使用されうる、したがって、元のＲＳ符号語を復元するために使用されうる、様々な公知の代数的なデコーディング・アルゴリズムがある。さらに、最大Ｎ−Ｋ個の誤ったシンボルのエラー・パターンを処理することができるデコーディング・アルゴリズムが知られている。偶数／奇数のＣＰＨに対する両方のデコーダが、偶数／奇数のデコードされたＣＰＨを提供するとき、ＣＰＨデコーダは、デコードされたＣＰＨを提供する。そうでなければ、デコーダは、デコーディング失敗を宣言する。
【００２３】
上述したように、符号語カッドは、２つの符号語対（ＣＰ）、および２つの対応するＣＰＨを含む。第１のＣＰＨのシンドロームはｓにより示され、第２のＣＰＨのシンドロームはｓ’により示される。ＬＴＯ規格は、符号語カッド内の第１および第２のＣＰＨの妥当な対のフォーマットおよびコンテンツを定義する。上述したように、符号語カッド内の第１および第２のＣＰＨのペイロードは、実質的に同じであり、それらは、第１のＣＰＨから第２のＣＰＨを推論でき、かつ逆もまた同様であるように異なっている。この特性は、図７のフローチャートに説明されているように、第１および第２のＣＰＨに対するデコーディング・アルゴリズムのロバスト性を向上させるために使用されうる。
【００２４】
デコーダは、第１および第２のＣＰＨシンドロームｓおよびｓ’を計算する（ステップ７００）。ｓとｓ’のどちらか一方または両方がゼロであるとき（ステップ７０２）、符号語対ヘッダのうちの少なくとも１つは有効である。ｓとｓ’の両方がゼロであるとき、第１および第２の符号語対の両方に対するヘッダ情報が生成され、必要に応じて、両方のヘッダ・ペイロードの妥当性が検査されうる。一方だけがゼロであるとき、両方の符号語対に対するヘッダ情報は、上述した共通のペイロードの特性に基づいて、シンドローム（ｓまたはｓ’）がゼロに等しいＣＰＨから生成されうる（ステップ７０４）。
【００２５】
他方、ｓとｓ’の両方がゼロではないとき、第１および第２のＣＰＨをデコードする試みが行われる（ステップ７０６）。どちらか一方のＣＰＨのデコードに失敗したとき（ステップ７０８）、両方のＣＰＨが不正確であり、かつどちらに対するヘッダ情報も正確に生成できないという仮定が行われうる（ステップ７１０）。あるいは、一方のＣＰＨだけが、デコードに失敗したとき、他方のＣＰＨは正しく、かつ両方の符号語対に対するヘッダ情報は、この場合も先と同様に、共通のペイロードの特性に基づいて、正しいと仮定されたＣＰＨから生成されうるという仮定が行われうる（ステップ７０４）。しかしながら、妥当なペイロードに対する検査を実行できないため、この代替手段は、第２のヘッダが正確にデコードされたという独立した検証を提供せず、一般的に、両方のＣＰＨを排除することが好ましい。
【００２６】
両方のＣＰＨのデコードに成功したとき（ステップ７０８）、両方のＣＰＨのペイロードは、標準的なＬＴＯフォーマットに基づいて検証される（ステップ７１２）。両方のペイロードが妥当であるとき、両方の符号語対に対するヘッダ情報が生成される（ステップ７１４）。その代わりに、ペイロードの対が妥当ではないとき、訂正ミスが生じ、かつ、どちらの符号語対に対するヘッダ情報も正確に生成できないということが仮定されうる（ステップ７１０）。
【００２７】
図８のフローチャートは、デコーディング・アルゴリズムのロバスト性を向上させるための、共通のペイロードの特性の他の使用方法を示す。図７の方法のように、デコーダは、第１および第２のＣＰＨシンドロームｓおよびｓ’を計算する（ステップ８００）。ｓとｓ’のどちらか一方または両方がゼロであるとき（ステップ８０２）、符号語対ヘッダのうちの少なくとも１つは有効である。ｓとｓ’の両方がゼロであるとき、第１および第２の符号語対の両方に対するヘッダ情報が生成され、必要に応じて、両方のヘッダ・ペイロードの妥当性が検査されうる。一方だけがゼロであるとき、両方の符号語対に対するヘッダ情報は、上述した共通のペイロードの特性に基づいて、シンドローム（ｓまたはｓ’）がゼロに等しいＣＰＨから生成されうる（ステップ８０４）。
【００２８】
他方、ｓとｓ’の両方がゼロではないとき、ヘッダの偶数または奇数のインターリーブのそれぞれに対して、正しいと考えられる単一の結果が生成されるか、または可能な結果のリストが生成される（ステップ８０６）。２つのニブルに対しては、１０ニブルの符号語においてエラーを生じる４５＝１０！／（２！＊８！）通りの異なった方法があるため、リストは、偶数または奇数のデコードされた符号語（偶数または奇数のペイロード）の４５通りの可能な結果を含みうる。したがって、各ヘッダに対して、単一の結果が生成されるか、もしくは４５または４５２＝２０２５の結果を有するリストが生成される。その結果、リスト・デコーダは、ペイロードの妥当な対があるかどうかを判定するために、１、４５、４５２、４５３、または４５４対のデコードされたＣＰＨを検討する。異なる大きさのリストが、異なる大きさのＣＰＨと関連しうることが理解される。ＣＰペイロードが妥当であるかどうかの判定が行われる（ステップ８０８）。前のステップで単一の結果が生成されたとき、ペイロードは遜色がないはずである。しかしながら、ヘッダのうちの１つをデコーディングすることが、可能な結果のリストをもたらしたとき、リスト・エントリを、他方のヘッダのデコーディングの結果に対して比較する。正確に１つの一致が確認されるとき（ステップ８１０）、妥当なペイロードが生成された確率が高い。一致が確認できない（ステップ８１２）か、または２つ以上の一致があるとき、失敗が宣言される。
【００２９】
本発明は、現在のＬＴＯ−４フォーマッティングに多数の利点を提供する。符号語対ヘッダ内の冗長度を増やしたり、またはフォーマット効率自体を低下させたりすることなく、符号語対ヘッダの中の５ビットのエラー・バーストを訂正できる。さらに、ＥＣＣが迅速かつ効率的に計算されることができ、結果としてヘッダが変化してデータコンテンツ内のデータが書き換えられることが必要になれば、利点がもたらされる。対照的に、ヘッダが、より大きなＥＣＣ構造の一部として保護されたとき、符号語の全体のＥＣＣが再計算されなければならず、特にテープ用途において時間のかかるプロセスになるであろう。
【００３０】
なお、本発明は完全に機能しているデータ処理システムとの関連で説明されたが、本発明のプロセスが命令および様々な形態のコンピュータ読み込み可能媒体の形で割り振られうることと、割り振るために実際に使用される特定の種類の信号保持媒体にかかわらず本発明が適合するということを当業者が理解することは重要である。コンピュータ読み込み可能媒体の例としては、フレキシブルディスク、ハード・ディスク・ドライブ、ＲＡＭ、およびＣＤーＲＯＭのような書き込み可能型媒体、ならびにデジタルおよびアナログ通信回線のような伝送型媒体などがある。
【００３１】
本発明の説明は、図示および説明のために提示されたものであるが、完全であることを意図しておらず、または開示された形態の発明に限定されるものではない。多数の変更および変形が、当業者には明らかである。実施形態は、本発明の原理、実用化について最も良く説明するために、および当業者が、想定された特定の用途に適合するような様々な変更を有する多様な実施形態に対して、本発明を理解することを可能とするために、選択されかつ説明された。さらに、方法およびシステムに関して上述したが、当技術分野の要求は、また、データ・テープ・フォーマット内の符号語ヘッダにエラー訂正コーディングを提供する命令を含むコンピュータ・プログラムを用いて、またはデータ・テープ・フォーマット内の符号語ヘッダにエラー訂正コーディングを提供するコンピューティング・システムに、コンピュータ読み込み可能コードを組み込むことを含むコンピューティング・インフラストラクチャを展開する方法を用いて、達成されうる。
【図面の簡単な説明】
【００３２】
【図１】ＧＦ（２５６）に基づいてヘッダＣＲＣバイトを生成するＬＴＯ−４エンコーダの機能図である。
【図２】ＧＦ（１６）に基づいてヘッダ・パリティ・ニブルを生成する本発明のエンコーダの機能図である。
【図３】本発明のエンコーダが実施されうる書き込みチャンネルのブロック図である。
【図４】ＧＦ（１６）に基づいてヘッダ・パリティ・ニブルを生成する本発明のエンコーダの一構成のブロック図である。
【図５】ＧＦ（１６）に基づいてヘッダ・パリティ・ニブルを生成する本発明のエンコーダの他の構成のブロック図である。
【図６】本発明のデコーダが実施されうる読み取りチャンネルのブロック図である。
【図７】符号語対ヘッダが本発明に基づいてデコードされうる一方法のフローチャートである。
【図８】符号語対ヘッダが本発明に基づいてデコードされうる他の方法のフローチャートである。
【図１】
2008186572.tif 000003
【図２】
2008186572.tif 000004
【図３】
2008186572.tif 000005
【図４】
2008186572.tif 000006
【図５】
2008186572.tif 000007
【図６】
2008186572.tif 000008
【図７】
2008186572.tif 000009
【図８】
2008186572.tif 000010