(57)【要約】【課題】エラー訂正コード・エンコーダ、変調エンコーダ、およびプレコーダを有するエンコーダ・サブシステムと、同様に検出器、逆プレコーダ、チャネル・デコーダ、およびエラー訂正コード・デコーダを有するデコーダ・サブシステムと、を含む、データ・ストレージ・システムを提供すること。【解決手段】エラー訂正エンコーダは、エラー訂正コードを着信ユーザ・ビット・ストリームに適用し、変調エンコーダは、いわゆる変調または制約付きコーディングをエラー訂正コーディング済みビット・ストリームに適用する。プレコーダは、いわゆるプレコーディングを変調エンコーディング済みビット・ストリームに適用する。しかしながらこのプレコーディングは、ビット・ストリームの選択された部分にのみ適用される。プレコーダによってプレコーディングが適用される前に、変調エンコーダの後でビット・シーケンスが順序変更される、順序変更ステップも可能である。デコーダ・サブシステムは逆の様式で動作する。【選択図】  図２
2007515035.tif 000002
【特許請求の範囲】
【請求項１】
入力ビット・シーケンスの一部またはすべてに変調コーディングを適用するステップと、
前記変調コーディングが適用された後に、前記入力ビット・シーケンスの１つまたは複数の選択された部分をプレコーディングするステップと、
を有する、入力ビット・シーケンスをエンコーディングする方法。
【請求項２】
変調コーディングが適用された前記入力ビット・シーケンスの部分のみをプレコーディングするステップを有する、請求項１に記載の方法。
【請求項３】
前記変調コーディングが適用された後に、前記データ・シーケンス内の変調コーディング済みビットの位置を変更するステップをさらに有する、請求項１に記載の方法。
【請求項４】
入力ビット・シーケンスの選択された一部またはいくつかの部分に変調コーディングを適用するステップと、
変調コーディング済みでないいかなるデータ・ビットもプレコーディングしないが、前記変調コーディングによってエンコーディングされたデータ・ビットにプレコーディングを適用するステップと、
を有する、入力ビット・シーケンスをエンコーディングする方法。
【請求項５】
前記変調コーディングが適用された後に、前記データ・シーケンス内の変調コーディング済みビットの位置を変更するステップをさらに有する、請求項４に記載の方法。
【請求項６】
データ・シーケンスをエラー訂正コーディングするステップと、
前記エラー訂正コーディング済みデータ・シーケンスのすべてまたは一部を変調エンコーディングするステップと、
前記データ・シーケンスをエラー訂正コーディングするために使用されたエラー訂正コードに基づいて、前記変調エンコーディング・ステップ後に、前記データ・シーケンス内の変調コーディング済みビットの位置を変更するステップと、
を有する、ストレージ用にデータ・シーケンスをエンコーディングする方法。
【請求項７】
データ・シーケンスをエラー訂正コーディングするステップと、
前記エラー訂正コーディング済みデータ・シーケンスのすべてまたは一部を変調エンコーディングするステップと、
前記データ・シーケンスに適用されることになるプレコーディングに基づいて、前記変調エンコーディング・ステップ後に、前記データ・シーケンス内の変調コーディング済みビットの位置を変更するステップと、
を有する、ストレージ用にデータ・シーケンスをエンコーディングする方法。
【請求項８】
読み取られたビット・シーケンスのうちの１つまたは複数の選択された部分を逆プレコーディングするステップと、
前記逆プレコーディングが適用された後に、前記読み取られたビット・シーケンスのうちの一部またはすべてに変調デコーディングを適用するステップと、
を有する、ストレージ・メディアから読み取られたビット・シーケンスをデコーディングする方法。
【請求項９】
変調コーディングが適用された前記読み取られたビット・シーケンスの部分のみを逆プレコーディングするステップを有する、請求項８に記載の方法。
【請求項１０】
前記読み取られたデータ・シーケンス内の変調コーディング済みビットの位置を変更するステップをさらに有する、請求項８に記載の方法。
【請求項１１】
変調コーディング済みでないいかなるデータ・ビットも逆プレコーディングしないが、変調コーディングによってエンコーディングされた読み取られたデータ・ビットに逆プレコーディングを適用するステップと、
変調エンコーディングされた読み取られたビット・シーケンスの一部またはいくつかの部分に変調デコーディングを適用するステップと
を有する、ストレージ・メディアから読み取られたビット・シーケンスをデコーディングする方法。
【請求項１２】
前記読み取られたデータ・シーケンス内の変調コーディング済みビットの位置を変更するステップをさらに有する、請求項１１に記載の方法。
【請求項１３】
読み取られたデータ・シーケンス内のビットの位置を変更するステップと、
再配列されたデータ・シーケンスのすべてまたは一部を変調デコーディングするステップと、
前記変調デコーディング・ステップ後に、前記データ・シーケンスをエラー訂正デコーディングするステップと、
を有し、
前記読み取られたデータ・シーケンス内のビットの位置を変更するステップが、前記データ・シーケンスをエラー訂正コーディングするために使用されたエラー訂正コードに基づくものである、
ストレージ・メディアから読み取られたデータ・シーケンスをデコーディングする方法。
【請求項１４】
読み取られたデータ・シーケンス内のビットの位置を変更するステップと、
再配列されたデータ・シーケンスのすべてまたは一部を変調デコーディングするステップと、
前記変調デコーディング・ステップ後に、前記データ・シーケンスをエラー訂正デコーディングするステップと、
を有し、
前記読み取られたデータ・シーケンス内のビットの位置を変更するステップが、前記データ・シーケンスに適用されることになる逆プレコーディングに基づくものである、
ストレージ・メディアから読み取られたデータ・シーケンスをデコーディングする方法。
【請求項１５】
入力ビット・シーケンスの一部またはすべてに変調コーディングを適用するための変調エンコーダと、
前記変調コーディングが適用された後に、前記入力ビット・シーケンスの１つまたは複数の選択された部分をプレコーディングするためのプレコーダと、
を有する、入力ビット・シーケンスをエンコーディングするための装置。
【請求項１６】
変調コーディングが適用された前記入力ビット・シーケンスの部分のみをプレコーディングするためのプレコーダを有する、請求項１５に記載の装置。
【請求項１７】
前記変調コーディングが適用された後に、前記データ・シーケンス内の変調コーディング済みビットの位置を変更するための順序変更器をさらに有する、請求項１５に記載の装置。
【請求項１８】
変調エンコーダから受け取ったデータ・ビットを選択的にプレコーディングする、変調エンコーダから受け取ったデータ・ビットにプレコーディングを適用するためのプレコーダ。
【請求項１９】
前記プレコーダが、変調コーディングが適用された前記入力ビット・シーケンスの部分のみをプレコーディングする、請求項１８に記載のプレコーダ。
【請求項２０】
ビット・シーケンスの選択された一部またはいくつかの部分に変調コーディングを適用するための変調エンコーダと、
変調コーディング済みでないいかなるデータ・ビットもプレコーディングしないが、前記変調エンコーダによってエンコーディングされたデータ・ビットにプレコーディングを適用するためのプレコーダと、
を有する、ビット・シーケンスをエンコーディングするための装置。
【請求項２１】
前記変調コーディングが適用された後に、前記データ・シーケンス内の変調コーディング済みビットの位置を変更するための順序変更器をさらに有する、請求項２０に記載の装置。
【請求項２２】
受け取ったデータ・ビットが変調エンコーダによって変調コーディングされたか否かに基づいて、変調エンコーダから受け取ったデータ・ビットを選択的にプレコーディングする、変調エンコーダから受け取ったデータ・ビットにプレコーディングを適用するためのプレコーダ。
【請求項２３】
データ・シーケンスをエラー訂正コーディングするためのエラー訂正エンコーダと、
前記エラー訂正コーディング済みデータ・シーケンスのすべてまたは一部を変調エンコーディングするための変調エンコーダと、
前記データ・シーケンスをエラー訂正コーディングするために使用されたエラー訂正コードに基づいて、前記変調エンコーディング・ステップ後に、前記データ・シーケンス内のビットの位置を変更するための順序変更器と、
を有する、ストレージ用にデータ・シーケンスをエンコーディングするための装置。
【請求項２４】
データ・シーケンスをエラー訂正コーディングするためのエラー訂正エンコーダと、
前記エラー訂正コーディング済みデータ・シーケンスのすべてまたは一部を変調エンコーディングするための変調エンコーダと、
前記データ・シーケンスに適用されることになるプレコーディングに基づいて、前記変調エンコーディング・ステップ後に、前記データ・シーケンス内のビットの位置を変更するための順序変更器と、
を有する、ストレージ用にデータ・シーケンスをエンコーディングするための装置。
【請求項２５】
読み取られたビット・シーケンスのうちの１つまたは複数の選択された部分を逆プレコーディングするための逆プレコーダと、
前記逆プレコーディングが適用された後に、前記読み取られたビット・シーケンスのうちの一部またはすべてに変調デコーディングを適用するための変調デコーダと、
を有する、ストレージ・メディアから読み取られたビット・シーケンスをデコーディングするための装置。
【請求項２６】
変調コーディングが適用された前記読み取られたビット・シーケンスの部分のみを逆プレコーディングするための逆プレコーダを有する、請求項２５に記載の装置。
【請求項２７】
前記読み取られたデータ・シーケンス内の変調コーディング済みビットの位置を変更するための順序変更器をさらに有する、請求項２５に記載の装置。
【請求項２８】
ストレージ・メディアから読み取られたデータ・ビットを選択的に逆プレコーディングする、ストレージ・メディアから読み取られたデータ・ビットに逆プレコーディングを適用するための逆プレコーダ。
【請求項２９】
前記逆プレコーダが、変調コーディングが適用された前記読み取られたビット・シーケンスの部分のみを逆プレコーディングする、請求項２８に記載の逆プレコーダ。
【請求項３０】
変調コーディング済みでないいかなるデータ・ビットも逆プレコーディングしないが、変調コーディングによってエンコーディングされた読み取られたデータ・ビットに逆プレコーディングを適用するための逆プレコーダと、
変調エンコーディングされた読み取られたビット・シーケンスの一部またはいくつかの部分に変調デコーディングを適用するための変調デコーダと、
を有する、ストレージ・メディアから読み取られたビット・シーケンスをデコーディングするための装置。
【請求項３１】
前記読み取られたデータ・シーケンス内の変調コーディング済みビットの位置を変更するための順序変更器をさらに有する、請求項３０に記載の装置。
【請求項３２】
読み取られたデータ・ビットが変調エンコーダによって変調コーディングされたか否かに基づいて、ストレージ・メディアから読み取ったデータ・ビットを選択的に逆プレコーディングする、ストレージ・メディアから読み取ったデータ・ビットに逆プレコーディングを適用するための逆プレコーダ。
【請求項３３】
読み取られたデータ・シーケンス内のビットの位置を変更するための順序変更器と、
再配列されたデータ・シーケンスのすべてまたは一部を変調デコーディングするための変調デコーダと、
前記変調デコーディング・ステップ後に、前記データ・シーケンスをエラー訂正デコーディングするためのエラー訂正デコーダと、
を有し、
前記読み取られたデータ・シーケンス内のビットの位置の変更が、前記データ・シーケンスをエラー訂正コーディングするために使用されたエラー訂正コードに基づくものである、
ストレージ・メディアから読み取られたデータ・シーケンスをデコーディングするための装置。
【請求項３４】
読み取られたデータ・シーケンス内のビットの位置を変更するための順序変更器と、
再配列されたデータ・シーケンスのすべてまたは一部を変調デコーディングするための変調デコーダと、
前記変調デコーディング・ステップ後に、前記データ・シーケンスをエラー訂正デコーディングするためのエラー訂正デコーダと、
を有し、
前記読み取られたデータ・シーケンス内のビットの位置の変更が、前記データ・シーケンスに適用されることになる逆プレコーディングに基づくものである、
ストレージ・メディアから読み取られたデータ・シーケンスをデコーディングするための装置。
【請求項３５】
請求項１の方法を使用して作成されたデータ・シーケンス。
【請求項３６】
請求項６の方法を使用して作成されたデータ・シーケンス。
【請求項３７】
請求項７の方法を使用して作成されたデータ・シーケンス。
【請求項３８】
データ・シーケンスの１つまたは複数の部分が変調コーディングされ、データ・シーケンスの１つまたは複数であるがすべてではない部分がプレコーディングされた、エラー訂正コーディング済みデータ・シーケンス。
【請求項３９】
請求項１５の装置を含むデータ・ストレージ・システム。
【請求項４０】
請求項２３の装置を含むデータ・ストレージ・システム。
【請求項４１】
請求項２５の装置を含むデータ・ストレージ・システム。
【請求項４２】
請求項３３の装置を含むデータ・ストレージ・システム。
【請求項４３】
請求項２２のプレコーダを含むデータ・ストレージ・システム。
【請求項４４】
請求項３２の逆プレコーダを含むデータ・ストレージ・システム。
【請求項４５】
プロセッサ読み取り可能ストレージ・デバイス上で具体化されたプロセッサ読み取り可能コードを有するプロセッサ読み取り可能ストレージ・デバイスであって、前記プロセッサ読み取り可能コードは、入力ビット・シーケンスをエンコーディングするための方法を実行するように１つまたは複数のプロセッサをプログラミングするためのものであり、前記方法が、
入力ビット・シーケンスの一部またはすべてに変調コーディングを適用するステップと、
前記変調コーディングが適用された後に、前記入力ビット・シーケンスの１つまたは複数の選択された部分をプレコーディングするステップと、
を有する、プロセッサ読み取り可能ストレージ・デバイス。
【請求項４６】
プロセッサ読み取り可能ストレージ・デバイス上で具体化されたプロセッサ読み取り可能コードを有するプロセッサ読み取り可能ストレージ・デバイスであって、前記プロセッサ読み取り可能コードは、ストレージ用にデータ・シーケンスをエンコーディングするための方法を実行するように１つまたは複数のプロセッサをプログラミングするためのものであり、前記方法が、
データ・シーケンスをエラー訂正コーディングするステップと、
前記エラー訂正コーディング済みデータ・シーケンスのすべてまたは一部を変調エンコーディングするステップと、
前記データ・シーケンスをエラー訂正コーディングするために使用されたエラー訂正コードに基づいて、前記変調エンコーディング・ステップ後に、前記データ・シーケンス内の変調コーディング済みビットの位置を変更するステップと、
を有する、プロセッサ読み取り可能ストレージ・デバイス。
【請求項４７】
プロセッサ読み取り可能ストレージ・デバイス上で具体化されたプロセッサ読み取り可能コードを有するプロセッサ読み取り可能ストレージ・デバイスであって、前記プロセッサ読み取り可能コードは、ストレージ用にデータ・シーケンスをエンコーディングするための方法を実行するように１つまたは複数のプロセッサをプログラミングするためのものであり、前記方法が、
データ・シーケンスをエラー訂正コーディングするステップと、
前記エラー訂正コーディング済みデータ・シーケンスのすべてまたは一部を変調エンコーディングするステップと、
前記データ・シーケンスに適用されることになるプレコーディングに基づいて、前記変調エンコーディング・ステップ後に、前記データ・シーケンス内の変調コーディング済みビットの位置を変更するステップと、
を有する、プロセッサ読み取り可能ストレージ・デバイス。
【請求項４８】
プロセッサ読み取り可能ストレージ・デバイス上で具体化されたプロセッサ読み取り可能コードを有するプロセッサ読み取り可能ストレージ・デバイスであって、前記プロセッサ読み取り可能コードは、ストレージ・メディアから読み取られたビット・シーケンスをデコーディングするための方法を実行するように１つまたは複数のプロセッサをプログラミングするためのものであり、前記方法が、
読み取られたビット・シーケンスのうちの１つまたは複数の選択された部分を逆プレコーディングするステップと、
前記逆プレコーディングが適用された後に、前記読み取られたビット・シーケンスのうちの一部またはすべてに変調デコーディングを適用するステップと、
を有する、プロセッサ読み取り可能ストレージ・デバイス。
【請求項４９】
プロセッサ読み取り可能ストレージ・デバイス上で具体化されたプロセッサ読み取り可能コードを有するプロセッサ読み取り可能ストレージ・デバイスであって、前記プロセッサ読み取り可能コードは、ストレージ・メディアから読み取られたデータ・シーケンスをデコーディングするための方法を実行するように１つまたは複数のプロセッサをプログラミングするためのものであり、前記方法が、
読み取られたデータ・シーケンス内のビットの位置を変更するステップと、
再配列されたデータ・シーケンスのすべてまたは一部を変調デコーディングするステップと、
前記変調デコーディング・ステップ後に、前記データ・シーケンスをエラー訂正デコーディングするステップと、
を有し、
前記読み取られたデータ・シーケンス内のビットの位置を変更するステップが、前記データ・シーケンスをエラー訂正コーディングするために使用されたエラー訂正コードに基づくものである、
プロセッサ読み取り可能ストレージ・デバイス。
【請求項５０】
プロセッサ読み取り可能ストレージ・デバイス上で具体化されたプロセッサ読み取り可能コードを有するプロセッサ読み取り可能ストレージ・デバイスであって、前記プロセッサ読み取り可能コードは、ストレージ・メディアから読み取られたデータ・シーケンスをデコーディングするための方法を実行するように１つまたは複数のプロセッサをプログラミングするためのものであり、前記方法が、
読み取られたデータ・シーケンス内のビットの位置を変更するステップと、
再配列されたデータ・シーケンスのすべてまたは一部を変調デコーディングするステップと、
前記変調デコーディング・ステップ後に、前記データ・シーケンスをエラー訂正デコーディングするステップと、
を有し、
前記読み取られたデータ・シーケンス内のビットの位置を変更するステップが、前記データ・シーケンスに適用されることになる逆プレコーディングに基づくものである、
プロセッサ読み取り可能ストレージ・デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ・ストレージ・システムに関し、とりわけ、データ・ストレージ・システムにデータを格納する際に使用するための変調コーディング技法に関する。
【背景技術】
【０００２】
当分野で知られているように、データ・ストレージ・システムにデータを格納する場合、たとえばデータ・ストレージをより効率の良い、エラーを起こしにくいものにするために、「生の」オリジナル・ユーザ・データを何らかの方法で「コーディング」するのが一般的である。通常、ストレージ・メディアにデータを格納する場合に採用されるコーディングは、３種類である。
【０００３】
第１にオリジナル・データは、通常、何らかの方法で圧縮されることになる。これは、一般にソース・コーディングと呼ばれる。次のステージは、通常、何らかの形のエラー保護を提供するために、圧縮データを符号化することである。これには通常、データに数バイトを追加するコーディング・プロセスが含まれ、次にそれらのバイトを使用して、データの読み出し時にエラーの検出および修正を行うことができる。こうしたエラー訂正コーディング（ＥＣＣ）の一般的な例が、リード・ソロモン・コーディングである。
【０００４】
通常、エラー訂正符号化データはその後さらに符号化され、このさらなる符号化は一般に「変調コーディング」と呼ばれる。このコーディングは、ストレージ・メディア上に書き込まれるデータ・シーケンスに制約（たとえば、「０」が３つを超えて連続してはならないなど）を課すために使用され、たとえばタイミング回復および利得制御の支援ならびに検出器パス・メモリの短縮など、「ハウスキーピング」目的で実行される。変調コーディングは、ストレージ・システムの性能も向上させることができる（その一例が、磁気および光ストレージ・システムでの（ｄ，ｋ）コードの使用である）。
【０００５】
変調コーディングの後、当分野で知られているように、データをさらに「パリティ」コーディングして、１つまたは複数のパリティ・ビットをデータに追加することができる。その後、データを、たとえば磁気テープまたはディスク・ドライブ、あるいは光ディスクなどのストレージ・メディアに書き込んで、格納することができる。
【０００６】
データをストレージ・メディアから読み取ってオリジナル・データを復元することは、逆のプロセスである。したがって、たとえばストレージ・メディアから読み取られた検出器出力は、パリティチェック・コードのソフト決定デコーディングを実行するポストプロセッサに送られ、変調デコーダを使用して変調コーディングを逆転させ、最後にエラー検出デコーダを使用してエラーを修正し、（圧縮された）オリジナル・ユーザ・データ（の推定値）を送達する。
【０００７】
当分野で知られているように、前述の変調コーディング・ステップには、通常２つのステップが含まれる。第１のステップは、入力データ・ストリーム内のビットを特定の制約付き出力ビット配置構成にマッピングする、いわゆる変調コーディングであり、たとえば１６／１７コードは、１６ビット入力を制約付き１７ビット出力データ・シーケンスにマッピングする。こうした変調コーディングの例が、いわゆるラン・レングス制限（ｄ，ｋ）制約付きコード、（Ｇ，Ｉ）制約付きコード、および最大遷移ラン（ｊ，ｋ）制約付きコードなどの、制約付きコードである。以下、「変調コーディング」という用語は、任意の後続のプレコーディング・ステップ（以下を参照のこと）を除く、この形の制約付きコードの適用例を表すために使用される。
【０００８】
「変調」コーディング・プロセス全体における第２のステップが、いわゆる「プレコーディング」である。プレコーディングは「制約付き」符号化データ上で動作し、さらに当分野で知られているように、変調（制約付き）コーディングによってデータ・シーケンスに課せられるより単純な制約セットを、実際にはたとえばチャネル入力でデータ・シーケンスに課せられることが望ましい、より大きくより複雑な制約セットに変換するように、効果的に動作する。たとえば、「０」が３つを超えて連続しないという前述のコーディング制約を参照すると、プレコーディングを使用することで、相対的に単純な制約を、「０」が４つを超えて連続しないこと、および「１」が４つを超えて連続しないことという、対の要件に変換することができる。ブロック・エンコーダおよびブロック・デコーダなどの所与のエンコーダおよびデコーダ構造では、プレコーディングによって、それに比例して適用される変調コーディングの複雑さを増加させる必要なしに、より強力な制約をデータ・シーケンスに課すことができる。したがって、プレコーディングを使用することで、実行する必要のある変調コーディングが簡略化される。使用されるプレコーディング技法の例が、当分野で知られているような、いわゆる１／（１
【数１】
2007515035.tif 000003
は、以降オープラスと記載する。
Ｄ２）および１／（１オープラスＤ）プレコーディングである（ここでオープラスは、ブール論理演算ＸＯＲ（排他的論理輪）を示す）。
【０００９】
当分野で知られているように、変調コーディングおよびプレコーディングの全体的な目標は、データ信号を（レコーディング）チャネルに適合し、これがその後「伝送」されることである。変調コーディングおよびプレコーディングを含むコーディングのより全般的な考察は、１９９８年１０月付けのＫ．Ａ．Ｓ．Ｉｍｍｉｎｋ、Ｐ．Ｈ．Ｓｉｅｇｅｌ、およびＪ．Ｋ．Ｗｏｌｆによる「Ｃｏｄｅｓ  ｆｏｒ  Ｄｉｇｉｔａｌ  Ｒｅｃｏｒｄｅｒｓ」、ＩＥＥＥ  Ｔｒａｎｓ．Ｉｎｆｏｒｍ．Ｔｈｅｏｒｙ、Ｖｏｌ．４４、ｐｐ  ２２６０〜２２９９に記載されている。
【００１０】
しかしながら、プレコーディングを使用することの欠点は、格納されたデータが読み出される場合に、エラーの伝搬およびエラーの増加を招く可能性があるという点である。これは、当分野で知られているように、逆プレコーディング・ステップでは、各単一の読み出し格納ビットを使用して、逆プレコーディング・プロセスの２つの出力ビットが決定されるためである。したがって、単一の格納ビットにおけるエラーにより、逆プレコーダからの出力に２つのビット・エラーが生じることになる。さらにこれが、変調デコーディングにおけるエラーの伝搬、およびエラー訂正性能の低下につながる可能性がある。
【００１１】
したがって本出願人は、以前の２００２年６月７日出願の欧州特許出願第０２０１２６７６．９号で、プレコーディングを使用しない、すなわちプレコーダなしの変調エンコーディング技法を提案した。この技法では、プレコーディングが使用されないため、プレコーディングが原因のエラーの伝搬は回避される。しかしながら、プレコーディングによって導入される利点は使用できなくなる。
【特許文献１】２００２年６月７日出願の欧州特許出願第０２０１２６７６．９号
【特許文献２】米国特許第５６０４４９７号
【特許文献３】米国特許第５７８４０１０号
【特許文献４】米国特許第６５５７１２４号
【非特許文献１】１９９８年１０月付けのＫ．Ａ．Ｓ．Ｉｍｍｉｎｋ、Ｐ．Ｈ．Ｓｉｅｇｅｌ、およびＪ．Ｋ．Ｗｏｌｆによる「Ｃｏｄｅｓ  ｆｏｒ  Ｄｉｇｉｔａｌ  Ｒｅｃｏｒｄｅｒｓ」、ＩＥＥＥ  Ｔｒａｎｓ．Ｉｎｆｏｒｍ．Ｔｈｅｏｒｙ、Ｖｏｌ．４４、ｐｐ  ２２６０〜２２９９
【発明の開示】
【発明が解決しようとする課題】
【００１２】
したがって本出願人は、データ・ストレージに関する改良型の変調コーディング技法が依然として求められていると考える。
【課題を解決するための手段】
【００１３】
したがって、本発明の第１の態様によれば、入力ビット・シーケンスの一部またはすべてに変調コーディングを適用するステップと、変調コーディングが適用された後、入力ビット・シーケンスの１つまたは複数の選択された部分をプレコーディングするステップと、を有する、入力ビット・シーケンスのエンコーディング方法が提供される。
【００１４】
本発明の第２の態様によれば、入力ビット・シーケンスの一部またはすべてに変調コーディングを適用するための手段と、変調コーディングが適用された後、入力ビット・シーケンスの１つまたは複数の選択された部分をプレコーディングするための手段と、を有する、入力ビット・シーケンスをエンコーディングするための装置が提供される。
【００１５】
本発明の第３の態様によれば、変調エンコーダから受信したデータ・ビットにプレコーディングを適用するためのプレコーダが提供され、当該プレコーダは、変調エンコードから受信したデータ・ビットを選択的にプレコーディングするための手段を有する。
【００１６】
本出願人は、エンコードされることになるビット・シーケンスに対してより選択的にプレコーディングを使用することが可能であるため、入力ビット・シーケンス全体をプレコーディングする必要なしに、プレコーディングの使用が保持できることを理解している。したがって、入力ビット・シーケンスの選択された部分のみにプレコーディングを適用することができる。これにより、適用されるプレコーディングの量（したがって、プレコーディングが原因のエラー伝搬のリスク）は減少するが、プレコーディングの使用がまったくなくなるわけではない。したがって本発明は、すべての入力ストリームに対してプレコーディングを使用する（「グローバル」プレコーディング）か、またはプレコーディングをまったく使用しない（プレコーダなし）、従来技術のシステムに比べて、選択的または「ローカル」なプレコーディングを効果的に使用するものである。
【００１７】
一般に、あるシーケンスの１つまたは複数の選択部分をプレコーディングするということは、このシーケンスのすべての部分ではなく、１つまたは複数の選択部分をプレコーディングするものと解釈される。この解釈は、以下で説明する、対応する逆のプロセスおよび装置にも適用可能である。
【００１８】
プレコーディングされる入力ビット・シーケンスの一部または複数部分は、所望に応じて選択することができる。特に好ましい実施形態では、変調コーディングが適用された入力ビット・シーケンスの部分がプレコーディングされる。これは、前述のように、プレコーディングの利点が変調コーディング・プロセスを支援するという点であることから、有利である。したがって、変調コーディングされた入力ビット・シーケンスの部分をプレコーディングすることによって、最も有用に適用される場所で本発明の選択的プレコーディングが使用される。好ましくは、プレコーディングは、変調コーディングが適用されたビット・シーケンスのすべての部分に適用される。最も好ましくは、プレコーディングは、変調コーディングが適用されたビット・シーケンスの部分にのみ適用される。
【００１９】
したがって、変調コーディングが入力ビット・シーケンスの部分にのみ適用される（すなわち、変調コーディングの後、ビット・シーケンスにはいくつかの変調コーディング済みビットと、変調コーディングされていない（すなわち、変調コーディングの変更を経験していない）いくつかのビットとが含まれるような）システムでは、たとえば、参照によりその全文が本明細書に組み込まれた、米国特許第５６０４４９７号および第５７８４０１０号に記載されているように、プレコーディングは、好ましくは変調コーディング済みビットにのみ適用され、コーディングされていないビットには適用されない。言い換えれば、特に好ましい実施形態では、プレコーディングの適用を規定する基準は、変調エンコーダの出力時に、（最も好ましくは）エンコーディングされたビットがプレコーディングされ、コーディングされていないビット（すなわち、変調エンコーダによって変更されていないビット）はプレコーディングされずに、ビットがエンコーディングされるか否かである。これにより、データが読み出された場合に、非変調コーディング済みビットに対して逆プレコーディングを実行する必要がなくなるため、エラー伝搬が減少し、エラー・レート性能が向上する。したがって、本発明の好ましい配置構成は、（所与のビット・シーケンスまたはブロック、たとえばコードワード内で）、ランダム・データまたは変調コーディング済みデータのいずれで動作するかに応じてオンおよびオフされる、プレコーダである。
【００２０】
こうした配置構成は、新しく、かつそれ自体で有利であると考えられる。したがって、本発明の第４の態様によれば、入力ビット・シーケンスの選択された一部または複数部分に変調コーディングを適用するステップと、変調コーディングされていないいかなるデータ・ビットもプレコーディングせずに、変調コーディングによってエンコーディングされたデータ・ビットにプレコーディングを適用するステップと、を有する、ビット・シーケンスをエンコーディングする方法が提供される。
【００２１】
本発明の第５の態様によれば、入力ビット・シーケンスの選択された一部または複数部分に変調コーディングを適用するための手段と、変調コーディングされていないいかなるデータ・ビットもプレコーディングせずに、変調コーディングによってエンコーディングされたデータ・ビットにプレコーディングを適用するための手段と、を有する、ビット・シーケンスをエンコーディングするための装置が提供される。
【００２２】
本発明の第６の態様によれば、変調エンコーダから受信したデータ・ビットにプレコーディングを適用するためのプレコーダが提供され、当該プレコーダは、変調エンコーダによって変調コーディングされた受信したデータ・ビットであるか否かに基づいて、変調エンコードから受信したデータ・ビットを選択的にプレコーディングするための手段を有する。
【００２３】
あるシーケンスの１つまたは複数の選択部分を変調コーディングするということは、このシーケンスのすべての部分ではなく、１つまたは複数の選択部分を変調コーディングするものと解釈される。この解釈は、以下で説明する、対応する逆のプロセスおよび装置にも適用可能である。
【００２４】
プレコーディングは、既存の１／（１オープラスＤ）または１／（１オープラスＤ２）プレコーディング・スキームを使用するなどの、任意の好適な方式で実施可能である。当業者であれば理解されるように、使用する実際のプレコーディング・スキームは、たとえば、使用されている変調コーディング技法に応じて決定することができる。通常、プレコーダは、メモリを有する線形回路としてインプリメントされることになる。
【００２５】
本発明で使用される変調コーディングは、こうした、すなわち入力データに制約を課すコーディングの任意の好適な形とすることができる。したがって、たとえば既知の（ｄ，ｋ）、（Ｇ，Ｉ）、およびＭＴＲ（ｊ，ｋ）コードを使用することができる。変調コーディングは、入力ビット・シーケンス内のすべてのビットに、または入力ビット・シーケンス内の選択されたビット（すなわち部分、たとえばバイト）のみに、適用可能である（たとえば米国特許第５６０４４９７号および第５７８４０１０号に記載）。特定の好ましい実施形態では、変調コーディングは、入力ビット・シーケンスの選択された部分（たとえば、ブロックまたはコードワード）のみに適用される。
【００２６】
変調エンコーディングの出力は、たとえば線形様式の変調エンコーダからの出力である場合、選択的プレコーディング・ステージに提供可能である。しかしながら、特に好ましい実施形態では、データ・シーケンス内の変調エンコーディング・ステージから出力されるビットの位置が変更される。最も好ましくは、変調コーディング済みビットは、最も好ましくはそれらをデータ・シーケンスの所与のブロック内でより等しい間隔を置いて配置するために、（たとえば、ビットの変調コーディング済みグループ間のビット・シーケンス内の最大ギャップを、変調コーディング済みビットが再分散されなかった場合よりも小さくするように（あるいは、たとえばギャップをより等しくするように、またはその両方のために））、データ・シーケンスを介して分散される。
【００２７】
したがって、好ましい実施形態では、プレコーディングが適用される前に、変調コーディング・ステージからの出力は順序変更（ｐｅｒｍｕｔｅ）される（すなわち、ビットの順序が混ぜ合わされ、入力データ・シーケンス内のビット位置が交換される）。こうした順序変更は、たとえば、オリジナルの入力データ・シーケンス内で隣接するビットまたはビットのブロックを、等しい間隔を置いて配置するように構成することができる。
【００２８】
プレコーディングに先立って、変調コーディング済みデータ・ビットを分散または順序変更することの利点は、こうした分散（たとえば順序変更）がさらにタイミング回復要件などを支援することがわかっていることである。したがって、たとえば入力ビット・シーケンスの選択部分のみが変調コーディングされる配置構成の場合、本発明の特に好ましい実施形態では、ビット・シーケンスの変調コーディング済み部分は複数の（より小さい）部片に分散され、その後これらの部片は、たとえば、それらを間隔を置いて離して配置するか、あるいは再配列する、またはその両方のように、すなわち、コーディング済みデータの「部片」が、変調コーディング・ステップ後に同じく出力される未コーディング（未変調コーディング）ビット間で分散されるように、ビット・シーケンス内の位置に移動される。その後プレコーディング・ステージでは、好ましくは、変調コーディング済みビットを「順序変更済み」ビット・シーケンスで選択的にプレコーディングする。
【００２９】
さらに本出願人は、変調エンコーディングの後プレコーディングに先立ってデータ・シーケンスで出力されるビットの位置を移動（変更）することにより、（ビット分散パターンの適切な選択により）、たとえば、変調コーディング済みデータ・シーケンスの所与の部分をデータ・シーケンス内の特定の所望の場所に配置することが可能になると理解している。特に、たとえば変調コーディング済みビットを、たとえば使用されているエラー訂正コーディングおよび変調コーディング・スキームに関係なく、プレコーダによって認められるのと同じビット・シーケンス内の位置に効果的に配置することができる。
【００３０】
したがって、たとえば適切な変調コーディング済みビットの分散または順序変更スキームを使用することにより、同じ、未変更の、いわゆる「内部チャネル」（すなわちプレコーダ、書き込み／読み取りステージ、検出器、および逆プレコーダ）配置構成を、異なる外部エラー訂正コーディング・プロセスで使用する（すなわち、異なる外部エラー訂正コーディング・プロセスで動作可能にするために「内部チャネル」を変更する必要がないように）ことができる。したがって、たとえばリード・ソロモン・コーディングが使用される場合、前述のような「順序変更」を使用することにより、同じ「内部チャネル」（および変調コーディング・スキーム）を異なるリード・ソロモン・コード・シンボル・サイズに使用できるようになる。
【００３１】
これは、現在の外部リード・ソロモン・エラー訂正コードが通常は８ビット・シンボルに基づくものであるが、（約０．３ｄＢの性能利得を提供するように）１０ビットのリード・ソロモン・シンボルの使用への移動があるため、特に有利である。したがって、８ビットまたは１０ビットのいずれかのリード・ソロモン・コードで動作可能なシステムを提供することが望ましい。本発明は、同じ「内部チャネル」を２つの異なるリード・ソロモン・シンボル・サイズで使用できるようにする、変調コーディングの出力の「順序変更」によって、これを容易にする。
【００３２】
データ・ストレージ・システム内で変調エンコーダの出力を再配列または順序変更することはすでに知られている可能性があるが、本出願人は、採用されることになる「外部」またはエラー訂正コードに関連してこうした再配列または順序変更を実行するという観念が、新しい、それ自体で有利なものである可能性がある、と考える。したがって、本発明の第７の態様によれば、データ・シーケンスをエラー訂正コーディングするステップと、エラー訂正コーディング済みデータ・シーケンスのすべてまたは一部を変調エンコーディングするステップと、変調エンコーディング・ステップの後に、データ・シーケンスのエラー訂正コーディングに使用されるエラー訂正コードに基づいてデータ・シーケンス内の変調コーディング済みビット位置を変更するステップと、を有する、ストレージ用にデータ・シーケンスをエンコーディングする方法が提供される。
【００３３】
本発明の第８の態様によれば、データ・シーケンスをエラー訂正コーディングするための手段と、エラー訂正コーディング済みデータ・シーケンスのすべてまたは一部を変調エンコーディングするための手段と、変調エンコーディング・ステップの後に、データ・シーケンスのエラー訂正コーディングに使用されるエラー訂正コードに基づいてデータ・シーケンス内の変調コーディング済みビット位置を変更するための手段と、を有する、ストレージ用にデータ・シーケンスをエンコーディングするための装置が提供される。
【００３４】
本発明の第９の態様によれば、データ・シーケンスをエラー訂正コーディングするステップと、エラー訂正コーディング済みデータ・シーケンスのすべてまたは一部を変調エンコーディングするステップと、変調エンコーディング・ステップの後に、データ・シーケンスのプレコーディングに使用されるプレコーディングに基づいてデータ・シーケンス内の変調コーディング済みビット位置を変更するステップと、を有する、ストレージ用にデータ・シーケンスをエンコーディングする方法が提供される。
【００３５】
本発明の第１０の態様によれば、データ・シーケンスをエラー訂正コーディングするための手段と、エラー訂正コーディング済みデータ・シーケンスのすべてまたは一部を変調エンコーディングするための手段と、変調エンコーディング・ステップの後に、データ・シーケンスのプレコーディングに使用されるプレコーディングに基づいてデータ・シーケンス内の変調コーディング済みビット位置を変更するための手段と、を有する、ストレージ用にデータ・シーケンスをエンコーディングするための装置が提供される。
【００３６】
本発明のこれらの態様では、変調コーディング済みビット・シーケンスは、エラー訂正コーディング・スキーム（たとえば、リード・ソロモン・コーディング・シンボル・サイズ）、または使用される「内部チャネル」（たとえばプレコーディング・スキーム）に従って選択される、（順序変更）スキームを使用して、変調コーディング・ステージ後に再配列（順序変更）される。（当業者であれば理解されるように、変調コーディング・スキームも、通常、データ・シーケンスをエラー訂正コーディングする際に使用されるエラー訂正コードに基づいて選択される。）
【００３７】
本発明のこれらの態様および実施形態は、本明細書に記載された発明の好ましい特徴およびオプションの特徴のうち、任意の１つまたは複数あるいはすべてを含むことができる。したがって好ましくは、たとえば、「順序変更」が実行された後のデータの選択的またはローカルなプレコーディングの他のステップを含む。所望であれば、プレコーダなしのシステムでこの技法を使用することも可能である。
【００３８】
本発明は、変調コーディングおよび選択的プレコーディングのステップに加えて、たとえば、変調コーディングに先立ってエラー訂正コーディング（リード・ソロモン・コードなど）を適用すること、および、ローカル・プレコーディング・ステップの後に（すなわち、データがストレージ・メディアに書き込まれる直前に）データ・ビットをパリティ・コーディングすることなど、データをストレージ用にコーディングする際に通常採用される任意の１つまたは複数の他のプロセスを含むことができる。
【００３９】
本発明は、ストレージ・メディアからデータを読み取り、その後、オリジナル・ユーザ・データを復元するためにコーディングを除去する、逆プロセスにも適用可能である。したがってこうしたプロセスでは、逆プレコーディングは、データの格納時にプレコーディングが適用された場合にのみ適用されることになる。
【００４０】
したがって、本発明の第１１の態様によれば、読み取ったビット・シーケンスの１つまたは複数の選択部分を逆プレコーディングするステップと、逆プレコーディングが適用された後に、読み取ったビット・シーケンスの一部またはすべてに変調デコーディングを適用するステップとを有する、ストレージ・メディアから読み取ったビット・シーケンスをデコーディングする方法が提供される。
【００４１】
本発明の第１２の態様によれば、読み取ったビット・シーケンスの１つまたは複数の選択部分を逆プレコーディングするための手段と、逆プレコーディングが適用された後に、読み取ったビット・シーケンスの一部またはすべてに変調デコーディングを適用するための手段とを有する、ストレージ・メディアから読み取ったビット・シーケンスをデコーディングするための装置が提供される。
【００４２】
本発明の第１３の態様によれば、ストレージ・メディアから読み取ったデータ・ビットに逆プレコーディングを適用するための逆プレコーダが提供され、当該逆プレコーダは、ストレージ・メディアから読み取ったデータ・ビットを選択的に逆プレコーディングするための手段を有する。
【００４３】
本発明の第１４の態様によれば、変調コーディングされていないいかなるデータ・ビットも逆プレコーディングしないが、変調コーディングによってエンコーディングされた読み取ったデータ・ビットに逆プレコーディングを適用するステップと、変調エンコーディングされた読み取ったデータ・ビット・シーケンスの一部または複数部分に変調デコーディングを適用するステップとを有する、ストレージ・メディアから読み取ったビット・シーケンスをデコーディングする方法が提供される。
【００４４】
本発明の第１５の態様によれば、変調コーディングされていないいかなるデータ・ビットも逆プレコーディングしないが、変調コーディングによってエンコーディングされた読み取ったデータ・ビットに逆プレコーディングを適用するための手段と、変調エンコーディングされた読み取ったデータ・ビット・シーケンスの一部または複数部分に変調デコーディングを適用するための手段とを有する、ストレージ・メディアから読み取ったビット・シーケンスをデコーディングするための装置が提供される。
【００４５】
本発明の第１６の態様によれば、ストレージ・メディアから読み取ったデータ・ビットに逆プレコーディングを適用するための逆プレコーダが提供され、当該逆プレコーダは、読み取ったデータ・ビットが変調エンコーダによって変調コーディングされているか否かに基づいて、ストレージ・メディアから読み取ったデータ・ビットを選択的に逆プレコーディングするための手段を有する。
【００４６】
本発明の第１７の態様によれば、読み取ったデータ・シーケンス内のビットの位置を変更するステップと、再配列されたデータ・シーケンスのすべてまたは一部を変調デコーディングするステップと、変調デコーディング・ステップ後にデータ・シーケンスをエラー訂正デコーディングするステップとを有し、読み取ったデータ・シーケンス内のビット位置の変更は、データ・シーケンスをエラー訂正コーディングする際に使用されるエラー訂正コーディングに基づくものである、ストレージ・メディアから読み取ったデータ・シーケンスをデコーディングする方法が提供される。
【００４７】
本発明の第１８の態様によれば、読み取ったデータ・シーケンス内のビットの位置を変更するための手段と、再配列されたデータ・シーケンスのすべてまたは一部を変調デコーディングするための手段と、変調デコーディング・ステップ後にデータ・シーケンスをエラー訂正デコーディングするための手段とを有し、読み取ったデータ・シーケンス内のビット位置の変更は、データ・シーケンスをエラー訂正コーディングする際に使用されるエラー訂正コーディングに基づくものである、ストレージ・メディアから読み取ったデータ・シーケンスをデコーディングするための装置が提供される。
【００４８】
本発明の第１９の態様によれば、読み取ったデータ・シーケンス内のビットの位置を変更するステップと、再配列されたデータ・シーケンスのすべてまたは一部を変調デコーディングするステップと、変調デコーディング・ステップ後にデータ・シーケンスをエラー訂正デコーディングするステップとを有し、読み取ったデータ・シーケンス内のビット位置の変更は、データ・シーケンスを逆プレコーディングする際に使用される逆プレコーディングに基づくものである、ストレージ・メディアから読み取ったデータ・シーケンスをデコーディングする方法が提供される。
【００４９】
本発明の第２０の態様によれば、読み取ったデータ・シーケンス内のビットの位置を変更するための手段と、再配列されたデータ・シーケンスのすべてまたは一部を変調デコーディングするための手段と、変調デコーディング・ステップ後にデータ・シーケンスをエラー訂正デコーディングするための手段とを有し、読み取ったデータ・シーケンス内のビット位置の変更は、データ・シーケンスを逆プレコーディングする際に使用される逆プレコーディングに基づくものである、ストレージ・メディアから読み取ったデータ・シーケンスをデコーディングするための装置が提供される。
【００５０】
当業者であれば理解されるように、本発明のこれらの態様および実施形態は、本発明の前述の好ましい特徴およびオプションの特徴のうち、任意の１つまたは複数あるいはすべてを適宜（たとえば、エンコーディング・プロセスでのそれらの適用に対する適切な「逆」形式で）含むことができる。
【００５１】
本発明は、一般に、ストレージ・デバイスおよびシステムならびにソフトウェアと、データ・レコーディング方法およびコードに適用可能である。これは、特に磁気テープ・ドライブなどの磁気ストレージ・システムおよびハード・ディスク・ドライブに適用可能であるが、これに限るものではない。また、たとえば光データ・ストレージ・システムでも使用可能である。したがって、サーバ、デスクトップ、および移動ドライブで、特定の適用例を見出すことになろう。
【００５２】
本発明は、任意の適切なデータ・ストレージ・システムにおいて、および当該システムに対して、使用可能である。当業者であれば理解されるように、こうした用途において、本発明の好ましい諸実施形態では、少なくとも格納するために入力されたユーザ・データは、通常第一に、何らかの方法で圧縮またはソース・コーディングされ、次いで、その後適用される何らかの形のエラー訂正コーディング（リード・ソロモン・コーディングなど）で通常のサイズの部分またはコードワードに分割されることになる。次のステージは、エラー訂正コーディング済みビット・シーケンスのすべてまたは一部に、変調（制約付き）コーディングを適用することである。その後、所望であれば（前述のように）ビット・シーケンスを順序変更することが可能であり、その後、ビット・シーケンスの選択された部分（好ましくは、変調コーディングされた部分のみ）に「ローカル」プレコーディングが適用されることになる。最後に、ストレージ用にデータがストレージ・メディアに書き込まれる前に、わずかな数のパリティ・ビットを追加することができる。（当業者であれば理解されるように、所望であれば上記ステップの順序は変更可能である（さらに、１つまたは複数のステップは省略可能である）。たとえば、一部のシステムでは、エラー訂正コーディング・ステージに先立って、何らかの形の変調コーディングを適用することが知られている。）ストレージ・メディアからデータを読み取り、オリジナル・ユーザ・データを復元することが、逆プロセスである。
【００５３】
本発明は、本発明に従って作成および格納されたデータ・シーケンスにも及ぶ。したがって、本発明の第２１の態様によれば、データ・シーケンスの１つまたは複数の部分が変調コーディング済みであり、データ・シーケンスの１つまたは複数であるがすべてではない部分がプレコーディングされた、エラー訂正コーディング済みデータ・シーケンスが提供される。
【００５４】
ここでも、このデータ・シーケンスは、本明細書で論じる発明の好ましい特徴およびオプションの特徴のうち、任意の１つまたは複数あるいはすべてを含む。したがって、たとえば好ましくは、１つまたは複数のパリティ・ビットをさらに含み、好ましくは、データ・シーケンスを介して変調コーディング済みの一部または複数部分が順序変更される（すなわち、その後データ・シーケンス内で分けられるより小さな部片に分割される）。
【００５５】
本発明は、本発明の任意の上記装置および方法を含むかまたは使用する、あるいは本発明に従ってデータ・シーケンスを格納する、またはその両方の、データ・ストレージ・システムにも及ぶ。
【００５６】
本発明に従った方法は、少なくとも部分的にソフトウェア、たとえばコンピュータ・プログラムを使用してインプリメントすることができる。したがって、他の態様から見れば、本発明は、データ処理手段上にインストールされた場合に特に前述の方法を実施するように適合されたコンピュータ・ソフトウェア、ならびに、プログラム要素がデータ処理手段上で実行された場合に前述の方法を実行するためのコンピュータ・ソフトウェア・コード部分を有するコンピュータ・プログラム要素を、提供することがわかるであろう。本発明は、データのエンコーディングあるいはデコーディングまたはその両方のシステム、ないしはデータ処理手段を有するデータ・ストレージ・システムを動作させるために使用される場合に、当該データ処理手段と共に、当該システムに本発明の方法の諸ステップを実施させる、こうしたソフトウェアを有する、コンピュータ・ソフトウェア・キャリアにも及ぶ。こうしたコンピュータ・ソフトウェア・キャリアは、ＲＯＭチップ、ＣＤ  ＲＯＭ、またはディスクなどの物理ストレージ・メディアとするか、あるいは、電線を介した電子信号、光信号、または衛星などへの無線信号、その他などの信号とすることができる。
【００５７】
さらに、コンピュータ・ソフトウェアが本発明の方法のすべてのステップを必ずしも実施する必要がないこと、したがってさらに広義な態様から、本発明がコンピュータ・ソフトウェアおよび前述の諸方法の諸ステップのうちの少なくとも１つを実施するためにコンピュータ・ソフトウェア・キャリア上にインストールされたこうしたソフトウェアを提供することを理解されよう。
【００５８】
したがって本発明は、コンピュータ・システムと共に使用するコンピュータ・プログラムとして好適に具体化することができる。こうしたインプリメンテーションは、たとえばディスケット、ＣＤ−ＲＯＭ、ＲＯＭ、またはハード・ディスクといったコンピュータ読み取り可能メディアなどの、有形メディア上に固定されるか、ないしは、光またはアナログ通信回線を含むがこれらに限定されることのない有形メディアを介して、あるいは、マイクロ波、赤外線、または他の伝送技法を含むがこれらに限定されることのない無線技法を使用して無形に、モデムまたは他のインターフェース・デバイスを通してコンピュータ・システムに伝送可能な、一連のコンピュータ読み取り可能命令を有することができる。この一連のコンピュータ読み取り可能命令は、本明細書で前述した機能のすべてまたは一部を具体化する。
【００５９】
当業者であれば、こうしたコンピュータ読み取り可能命令が、多くのコンピュータ・アーキテクチャまたはオペレーティング・システムで使用するために、いくつかのプログラミング言語で作成可能であることを理解されるであろう。さらにこうした命令は、半導体、磁気、または光を含むがこれらに限定されることのない現在または将来の任意のメモリ技術を使用して格納するか、あるいは、光、赤外線、またはマイクロ波を含むがこれらに限定されることのない現在または将来の任意の通信技術を使用して伝送することができる。こうしたコンピュータ・プログラムは、たとえばソフトウェア・パッケージなどの印刷文書または電子文書を添付した、コンピュータ・システムのたとえばシステムＲＯＭまたは固定ディスク上に事前ローディングされた、あるいは、たとえばインターネットまたはワールド・ワイド・ウェブなどのネットワークを介してサーバまたは電子掲示板から配布された、取り外し可能メディアとして配布可能であることが企図される。
【００６０】
次に、本発明のいくつかの好ましい実施形態について、単なる例として添付の図面を参照しながら説明する。
【発明を実施するための最良の形態】
【００６１】
図１は、本発明が適用可能なタイプのデータ・ストレージ・システムを示す概略図である。このデータ・ストレージ・システムは、レコーディング・チャネル３のストレージ・メディア４（たとえば、ハード・ディスク・ドライブ、磁気テープ・ドライブ、または光ディスクなどとすることができる）に書き込まれる入力書き込みデータをエンコーディングするためのエンコーダ・サブシステム１と、読み取りデータを生成する（オリジナルのユーザ書き込みデータを複製するものとする）ためにレコーディング・チャネル３から検出された信号をデコーディングするためのデコーダ・サブシステム２とを有する。このデータ・ストレージ・システムは、所望に応じてインプリメント可能である。たとえば、エンコーダ・サブシステム１およびデコーダ・サブシステム２は、単一の特定用途向け集積回路（ＡＳＩＣ）としてインプリメント可能である。
【００６２】
図２は、本発明に従った図１に示されたタイプのデータ・ストレージ・システムの好ましい実施形態を示す概略図である。図２に示された実施形態では、エンコーダ・サブシステム１は、エラー訂正コード・エンコーダ１１（この例ではリード・ソロモン（ＲＳ）エンコーダの形式）、変調エンコーダ１２、およびプレコーダ１３を有する。同様に、デコーダ・サブシステム２は、検出器１４、逆プレコーダ１５、チャネル・デコーダ１６、およびエラー訂正コード・デコーダ１７（相応して、リード・ソロモン（ＲＳ）デコーダの形式）を有する。
【００６３】
この実施形態では、エラー訂正エンコーダ１１は、エラー訂正コードを着信ユーザ・ビット・ストリームに適用し、たとえば、この着信ユーザ・ビット・ストリームを８ビット・バイトなどのシンボル・シーケンスに変換する。この実施形態では、リード・ソロモン・エラー訂正コードが使用されるが、他のエラー訂正コードも可能である。
【００６４】
変調エンコーダ１２は、いわゆる変調または制約付きコーディングをエラー訂正コーディング済みビット・ストリームに適用する。この変調エンコーディングは、たとえば（ｄ，ｋ）、（Ｇ，Ｉ）、またはＭＴＲ（ｊ，ｋ）コーディングを有することができる。以下でより詳しく説明するように、この実施形態での変調コーディングは、ビット・ストリームの選択された部分にのみ適用される。
【００６５】
プレコーダ１３は、いわゆるプレコーディングを変調エンコーディング済みビット・ストリームに適用する。こうしたプレコーディングは、変調エンコーダ１２の出力における遷移を、レコーディング・チャネル３内でのレコーディングに好適なレベルに変換する。前述のようにおよび以下でより詳しく論じるように、このプレコーディングはビット・ストリームの選択された部分にのみ適用される。プレコーディングは、たとえば１／（１オープラスＤ）または１／（１オープラスＤ２）プレコーディングを有することができる。
【００６６】
本発明のこれらの実施形態では、以下でより詳細に説明するように、変調エンコーダ１２の後、プレコーダ１３によってプレコーディングが適用される前にビット・シーケンスが順序変更される、さらなる順序変更ステップがある。（これは図２に示されていない。）１つまたは複数のパリティ・ビットを、ストレージ・メディア４に書き込まれる前にビット・シーケンスに追加することも好ましい（これも図２には示されていない）。
【００６７】
デコーダ・サブシステム２は、逆の様式で動作する。したがって、検出器１４が格納されたデータをレコーディング・チャネル３から受け取り、逆プレコーダ１５がプレコーディングを除去し、その後ビット・ストリームの順序変更が逆転され（図示せず）、変調デコーダ１６が変調コーディングを除去して、その後エラー訂正コード・デコーダ１７によって出力ユーザ・ビット・ストリームに変換されるシンボルを提供する。
【００６８】
図２に示されたようなシステムでは、プレコーダ１３と検出器１４との間に概略的に示されている「チャネル」３は、たとえば、書き込み事前補償（ｐｒｅｃｏｍｐｅｎｓａｔｉｏｎ）、磁気ストレージ・デバイスなどへの書き込み処理、ストレージ・デバイスからの（磁気）信号読み取り、読み取り信号の様々な増幅およびフィルタリング・ステージ、アナログ−デジタル変換、等化、およびデジタル・フィルタリングなどを含む、信号処理機能の諸ステップまたはチェーンを効果的に含む。その後検出器１４は、逆プレコーダ１５に提供するために、チャネル３への入力時に現れるそのビットの最良推定値を（すなわち、チャネル３の効果を「取り消し」て、プレコーダ１３の出力を再生成するために）生成しようと試みる。
【００６９】
図３は、本発明の好ましい実施形態の変調コーディング、順序変更、および選択的（ローカル）プレコーディングのステップを示す概略図である。図３に示されるように、例示的な初期の９６ビット・データ・ブロック（すでにエラー訂正コーディング済み）が、最初にレート８／９変調エンコーディングされる。この変調エンコーディングは、図３に示されるように、９６ビット・ブロック内の２バイト（８ビット部分）にのみ適用される。初期のデータ・ブロック内の残りのビットは、変調コーディング・ステップ後も変更されないままである。
【００７０】
その後、順序変更ステップがあり、変調エンコーディング済みデータ部分（ここでは９ビット長さ）および変調コーディングされていないビット・シーケンスの隣接部分が、より小さな部分に分割され、その後、図３に示されるようにビット・ブロック全体にわたって分離および分散される。この実施形態では、順序変更は図に示されるように３つのより小さなデータ部分を使用してこれらを移動および再配列するが、もちろん他の配置構成も可能である。
【００７１】
この順序変更ステップは、特に、システムのタイミング・ループに関するコーディング済みデータのラン・レングス制約を適合させるために使用される。とりわけ図３からわかるように、順序変更ステップの後、変調コーディング済みビットは分割され、ビット・シーケンス内でより均等に広がる（分散される）。変調コーディング済みビットは「制約付き」であるため、これらビットの再分散は、コーディング済みビットの部分間での未コーディング（したがって制約なし）・ビットの広がりが（順序変更なしの場合よりも）小さいこと、すなわち、制約付きビットがビット・シーケンス全体にわたってより均等に分散されることを意味する。これによって、タイミング回復が支援される。
【００７２】
順序変更ステップを使用して、プレコーディング・ステージで見られるように、変調コーディング済みビットをデータ・シーケンス内の所望のポイントに配置することもできる。これは特に、たとえば異なる所与のエラー訂正コーディングおよび変調コーディング・スキームが、ビット・シーケンス内の異なる位置に変調コーディング済みビットを生成する場合、使用されているエラー訂正コーディングおよび変調コーディング・スキームに関係なく、図３に示されたような順序変更を使用して、プレコーディング・ステージで見られるようにビット・シーケンス内の同じ位置に変調コーディング済みビットを常に配置できることを意味する。これにより、たとえば同じプレコーダなどを、異なるエラー訂正コーディングおよび変調コーディング・スキームで使用できるようになる。
【００７３】
データ・シーケンスが順序変更された後、図３に示されるように、データ・ブロックの選択された部分のみに（および特に、（現在順序変更された）変調エンコーディング済みビットを含むデータ・ブロックの部分に）プレコーディングが適用される。前述のように、この選択的プレコーディングは、エラーの伝搬を減少させるのに役立つ。図３に示されるように、初期の９６ビット・エラー訂正コーディング済みコードワードからストレージ用の１０２ビット・コードワードを提供するために、最終的には４パリティ・ビットが生成される。
【００７４】
次に、本発明に従って動作する好適なデータ・エンコーディングおよびデコーディング・スキームのいくつかの好ましい実施形態について、図４から図３５を参照しながら説明する。これらの諸実施形態は、８ビットまたは１０ビットのエラー訂正コード（リード・ソロモン・コード）と共に使用し、変調コーディング用に同じレート８／９変調コードを使用するように設計される（以下でより詳細に説明する）。
【００７５】
以下の諸実施形態では、以下の論理規約が使用されることになる。すべての２進数あるいはビット・グループまたはバイト・グループの場合、最下位ビット（ＬＳＢ）は常に「指標０」であり、最上位ビット（ＭＳＢ）まで指標が増加していく。ＭＳＢは常に左に表示され、ＬＳＢは常に右側に表示される。データがストレージ・メディアに書き込まれる場合、情報（バイト、ワード、ブロック）は第１にＭＳＢに送られる。データがストレージ・メディアから読み取られる場合、情報（バイト、ワード、ブロック）は第１にＭＳＢから受け取られる。
【００７６】
アレイａ［ｍ：０］は要素ａ（ｍ）、ａ（ｍ−１）、・・・ａ（０）からなり、ここでａ（ｍ）は最古（ｔｈｅ  ｌｅａｓｔ  ｒｅｃｅｎｔ）ビットであり、ａ（０）は最新ビットである。時間が増加するほど、指標が減少することに留意されたい。演算子「＆」、「オープラス」は、それぞれブール演算「ａｎｄ」、「ｘｏｒ」を表すために使用される。たとえばこれらの実施形態では、ローカル・プレコーディング演算（１／（１オープラスＤ２）プレコーディング）は、式
【数２】
2007515035.tif 000004
によって指定され、上式でｃ（ｉ）はプレコーダの入力でのビットであり、ｄ（ｉ）はプレコーダの出力でのビットであり、ｍ（ｉ）は指標ｉでのマスキング・ビットである。言い換えれば、ｍ（ｉ）＝０の場合ｄ（ｉ）＝ｃ（ｉ）（プレコーディングなし）であり、ｍ（ｉ）＝１の場合ｄ（ｉ）＝ｃ（ｉ）オープラスｄ（ｉ＋２）（プレコーディング）である。
【００７７】
同様に、ローカル逆プレコーディング演算は、式
【数３】
2007515035.tif 000005
によって指定され、上式でｇ（ｉ）は逆プレコーダの入力でのビットであり、ｈ（ｉ）は逆プレコーダの出力でのビットであり、ｍ（ｉ）は指標ｉでのマスキング・ビットである。言い換えれば、ｍ（ｉ）＝０の場合ｈ（ｉ）＝ｇ（ｉ）（逆プレコーディングなし）であり、ｍ（ｉ）＝１の場合ｈ（ｉ）＝ｇ（ｉ）オープラスｇ（ｉ＋２）（逆プレコーディング）である。
【００７８】
以下の諸実施形態では、コード・レート９６／１００および９６／１０２が８ビット・エラー訂正コードに使用され、コード・レート９６／１００および９６／１０２が１０ビット・エラー訂正コードに使用される。表１は、これらの新しいコードのプロパティをリスト表示したものである。
【表１】
2007515035.tif 000006
【００７９】
この表では、「レート」はコーディング・レートであり、「パリティ」はパリティ・ビットの数であり、「ＥＣＣ」はリード・ソロモン・エラー訂正コード・シンボル・サイズであり、「ｋ」、「ｊ」、および「Ｉ」は変調コードによって課せられた制約であって、ここで「ｋ＋１」はチャネル入力での最大ラン・レングスであり、「ｊ」はチャネル入力での連続遷移の最大数であり、「Ｉ」は変調コーディングの出力での奇数または偶数のビット位置（どちらか大きい方）における連続ゼロの最大数である。
【００８０】
表１のコードはレート８／９変調コードに基づくものである。表２は、この変調コードに関する８ビット・ワードから９ビット・ワードへのマッピングを示す。
【表２】
2007515035.tif 000007
【表３】
2007515035.tif 000008
【表４】
2007515035.tif 000009
【表５】
2007515035.tif 000010
【００８１】
このコードに関連付けられたエンコーダおよびデコーダは、それぞれブロック・エンコーダおよびブロック・デコーダである。レート８／９コードに関するブロック・エンコーダおよびデコーダは、表２を使用して設計することができる。したがって、たとえば表２内の２５６の正しい９ビット出力ワードすべてを８ビット入力バイトに割り当てなければならず、表２には現れていない残りの２５６の正しくない９ビット出力ワードは、常に全ゼロ・バイト、または、好ましくはデコーダをインプリメントするためのブール論理が最小化されるように選択された２５６バイト・セットの、いずれかにマッピングされる。
【００８２】
図４は、８ビット・エラー訂正コードに関するレート９６／１００エンコーダの形の本発明の第１の実施形態を示す。変調エンコーディング・ステージへの入力、ａ［９５：０］は、１２の８ビット・バイト、Ｂ１１、Ｂ１０、・・・、Ｂ０を有する、エラー訂正コーディング済みデータ・ブロック３０からなる。図４に示されるように、変調エンコーディング・ステージ３１では、表２に示されたレート８／９変調コードを使用して、バイトＢ８およびＢ２がそれぞれ９ビット・コードワードにマッピング（変調コーディング）される。データ・ブロック内の残りのバイトは、変調コーディング・ステージによって変更されずに残る。
【００８３】
このように変調エンコーディングされたビット・ブロック３２は、その後、図４に示されるように順序変更される（ステップ３３）。順序変更前のエンコーディング済み信号はｂ［９７：０］で示され、順序変更後のエンコーディング済み信号３５はｃ［９７：０］で示される。
【００８４】
順序変更後、ビット・ブロックの選択部分にプレコーディングが適用される（ステップ３６）。プレコーディングは、前述のようにプレコーディングされることになるビットを示すために「マスク」を使用することで決定される。この実施形態では、ローカル・プレコーディングを実行するために必要なマスキング・ビットｍ（ｉ）、０≦ｉ≦９７は、ｉ＝７７、７６、７５、７４、７３、７２、５１、５０、４９、２８、２７、２６、２５、２４、２３、２、１、０の場合、ｍ（ｉ）＝１、その他の場所ではｍ（ｉ）＝０によって与えられる。ローカル・プレコーディング後のエンコーディング済み信号３７は、ｄ［９７：０］で示される。最終的に、生成プログラム多項式１＋ｘ２を使用して２つのパリティ・ビットが算出され、ビット・ブロックに挿入される（ステップ３８）。結果として生じる変調／パリティ・コードワード３９はｅ［９９：０］であり、これがストレージ・メディアに書き込まれることになる。
【００８５】
図５は、エンコーディング済みデータを回復するために使用可能な、対応するレート９６／１００デコーダを示す図である。デコーダの入力５０、ｆ［９９：０］は、パリティ・ビットの除去（ステップ５１）後、ｇ［９７：０］にマッピングされる。「完全な」システムでは、入力ｆ［９９：０］はｅ［９９：０］（すなわち、コーディング・プロセスの出力）と同じになるが、典型的には、たとえば読み出されたデータ内のエラーにより、同じにならない場合がある。
【００８６】
その後、プレコーディングの場合と同じマスキング・ビットｍ（ｉ）、０≦ｉ≦９７を使用して、アレイｈ［９７：０］を取得するために、ローカル逆プレコーディングが実行され（ステップ５３）、ｉ＝７７、７６、７５、７４、７３、７２、５１、５０、４９、２８、２７、２６、２５、２４、２３、２、１、０の場合、ｍ（ｉ）＝１、その他の場所ではｍ（ｉ）＝０である。その後データ・ブロックが逆順序変更（ステップ５５）され、その後アレイｉ［９７：０］が取得される。
【００８７】
次に、コードワードｉ［９７：０］のうちの適切な２バイトが表２のレート８／９コードを使用して変調デコーディングされ（ステップ５７）、エラー訂正デコーディング・ステージへの入力（図示せず）のために、アレイｊ［９５：０］となるレート９６／１００デコーダの出力５８が与えられる。
【００８８】
１６状態の時変化検出器格子のインプリメンテーションに関連する、格納されたデータ・コードワードｅ［９９：０］中の制約は、位置５１でｊ＝２、位置７７、７４、２８、および２５でｊ＝３、位置５１および２でｋ＝２、位置７７、７４、２８、および２５でｋ＝３である。
【００８９】
図６は、８ビット・エラー訂正コードに関するレート９６／１０２エンコーダの形の他の好ましい実施形態を示す。このエンコーダは、２つではなく４つのパリティ・ビットが使用されることを除いて、基本的には図４に示されたものと同じである。
【００９０】
したがって、エラー訂正コーディング後のエンコーダの入力、ａ［９５：０］は、ここでも１２個の８ビット・バイト、Ｂ１１、Ｂ１０、・・・、Ｂ０からなる。ここでもバイトＢ８およびＢ２は、表２のレート８／９変調コードを使用して、９ビット・コードワードにマッピングするために変調コーディングされる。残りのバイトは変更されないままである。このようにエンコーディングされた信号ｂ［９７：０］は、その後、信号ｃ［９７：０］を得るために図６に示されるように順序変更される。
【００９１】
順序変更された信号は、その後、マスキング・ビットｍ（ｉ）、０≦ｉ≦９７を使用して選択的プレコーディングされ、ｉ＝７７、７６、７５、７４、７３、７２、５１、５０、４９、２８、２７、２６、２５、２４、２３、２、１、０の場合、ｍ（ｉ）＝１、その他の場所ではｍ（ｉ）＝０である。このローカル・プレコーディング後のエンコーディング済み信号は、ここでもｄ［９７：０］で示される。最終的に、生成プログラム多項式１＋ｘ＋ｘ４を使用して４つのパリティ・ビットが算出され、挿入される。ストレージ・メディア上に格納するための、結果として生じる変調／パリティ・コードワード３９はｅ［１０１：０］である。
【００９２】
図７は、対応するレート９６／１０２デコーダを示す。ここでもプロセスは、除去する必要のあるパリティ・ビットの数を除いて、本質的に図５に示されたものと同じである。
【００９３】
したがって、ストレージ・メディアから読み取られたデコーダの入力ｆ［１０１：０］は、パリティ・ビットを除去することによってｇ［９７：０］にマッピングされる。その後、アレイｈ［９７：０］を取得するために、ローカル逆プレコーディングが実行される。プレコーディングの場合と同じマスキング・ビットｍ（ｉ）、０≦ｉ≦９７が使用され、ｉ＝７７、７６、７５、７４、７３、７２、５１、５０、４９、２８、２７、２６、２５、２４、２３、２、１、０の場合、ｍ（ｉ）＝１、その他の場所ではｍ（ｉ）＝０である。その後、アレイｉ［９７：０］を得るために逆順序変更が適用される。最終的に、適切なバイトにレート８／９デコーディングが適用され、エラー訂正デコーディング・ステージに提供するためのレート９６／１０２デコーダの出力（アレイｊ［９５：０］）が与えられる。
【００９４】
１６状態の時変化検出器格子のインプリメンテーションに関連する、この実施形態の格納されたデータ・コードワードｅ［１０１：０］中の制約は、位置５３および４でｊ＝２、位置７９、７６、３０、および２７でｊ＝３、位置５３および４でｋ＝２、位置７９、７６、３０、および２７でｋ＝３である。
【００９５】
図８から図１２は、１０ビット・エラー訂正コードに関するレート９６／１００の形の本発明の他の実施形態の５つの位相を示す。
【００９６】
レート９６／１００を使用して１０ビット・エラー訂正コードをインプリメントする場合、（適宜１０で割り切れる４８０／５００エンコーディングのブロック全体を得るために）エンコーディングの５つの連続する「位相」をインプリメントする必要があり、その後、そのエンコーディング「位相」が順に連続して反復される（すなわち、第１の９６ビットが位相「０」エンコーディングされ、次の９６ビットが位相「１」エンコーディングされ、次の９６ビットが位相「２」エンコーディングされ、次の９６ビットが位相「３」エンコーディングされ、次の９６ビットが位相「４」エンコーディングされ、次の９６ビットが位相「０」エンコーディングされ、次の９６ビットが位相「１」エンコーディングされる、という具合である）。
【００９７】
本実施形態では、各位相におけるエンコーダの入力は、非整数の１０ビット・バイトに対応する、エラー訂正コーディング済みデータ・ブロックａ［９５：０］である。各位相において、表２のレート８／９変調コードを使用して、２つの１０ビット・バイトを１１ビット・コードワードにマッピングするために、変調コーディングが適用される。（ここでも、残りのバイトは変更されずに変調エンコーディング・ステージを通過する。）
【００９８】
このようにエンコーディングされた信号ｂ［９７：０］は、その後、図に示されるように各位相において順序変更され、順序変更済みデータ・ブロックｃ［９７：０］が与えられる。順序変更された信号は、その後、マスキング・ビットｍ（ｉ）、０≦ｉ≦９７を使用して選択的にプレコーディングされ、ｉ＝７７、７６、７５、７４、７３、７２、５１、５０、４９、２８、２７、２６、２５、２４、２３、２、１、０の場合、ｍ（ｉ）＝１、その他の場所ではｍ（ｉ）＝０である。このローカル・プレコーディングの後のエンコーディング済み信号は、ここでもｄ［９７：０］で示される。最終的に生成プログラム多項式１＋ｘ２を使用して２つのパリティ・ビットが算出され、挿入される。結果として生じるストレージ用の変調／パリティ・コードワードはｅ［９９：０］である。
【００９９】
図１３から図１７は、対応するレート９６／１００デコーダの５つの位相を示す。各位相において、デコーダの入力ｆ［９９：０］は、パリティ・ビットを除去することによってｇ［９７：０］にマッピングされる。その後、アレイｈ［９７：０］を取得するために、プレコーディングの場合と同じマスキング・ビットｍ（ｉ）、０≦ｉ≦９７を使用して、ローカル逆プレコーディングが実行され、ｉ＝７７、７６、７５、７４、７３、７２、５１、５０、４９、２８、２７、２６、２５、２４、２３、２、１、０の場合、ｍ（ｉ）＝１、その他の場所ではｍ（ｉ）＝０である。その後、アレイｉ［９７：０］を得るために逆順序変更が適用される。最終的に、適切な１１ビット・コードワードにレート８／９デコーディングが適用され、レート９６／１００デコーダの出力、アレイｊ［９５：０］が与えられる。
【０１００】
１６状態の時変化検出器格子のインプリメンテーションに関連する、格納されたデータ・コードワードｅ［９９：０］中の制約は、位置５１および２でｊ＝２、位置７７、７４、２８、および２５でｊ＝３、位置５１および２でｋ＝２、位置７７、７４、２８、および２５でｋ＝３である。
【０１０１】
図１８から図２２は、１０ビット・エラー訂正コードに関するレート９６／１０２の形の本発明の他の実施形態の５つの位相を示す。各位相におけるエンコーダの入力は、ここでも、非整数の１０ビット・バイトに対応する、エラー訂正コーディング済みデータ・ブロックａ［９５：０］である。各位相において、表２のレート８／９変調コードを使用して、２つの１０ビット・バイトを１１ビット・コードワードにマッピングするためにのみ、変調コーディングが適用される。
【０１０２】
このようにエンコーディングされた信号ｂ［９７：０］は、その後、図に示されるように順序変更され、順序変更済みデータ・ブロックｃ［９７：０］が与えられる。順序変更された信号は、その後、マスキング・ビットｍ（ｉ）、０≦ｉ≦９７を使用して選択的にプレコーディングされ、ｉ＝７７、７６、７５、７４、７３、７２、５１、５０、４９、２８、２７、２６、２５、２４、２３、２、１、０の場合、ｍ（ｉ）＝１、その他の場所ではｍ（ｉ）＝０である。このローカル・プレコーディングの後のエンコーディング済み信号は、ここでもｄ［９７：０］で示される。最終的に生成プログラム多項式１＋ｘ＋ｘ４を使用して４つのパリティ・ビットが算出され、挿入される。結果として生じるストレージ用の変調／パリティ・コードワードはｅ［１０１：０］である。
【０１０３】
図２３から図２７は、対応するレート９６／１０２デコーダの５つの位相を示す。各位相において、デコーダの入力ｆ［１０１：０］は、前述のようにパリティ・ビットを除去することによってｇ［９７：０］にマッピングされる。その後、アレイｈ［９７：０］を取得するために、プレコーディングの場合と同じマスキング・ビットｍ（ｉ）、０≦ｉ≦９７を使用して、ローカル逆プレコーディングが実行され、ｉ＝７７、７６、７５、７４、７３、７２、５１、５０、４９、２８、２７、２６、２５、２４、２３、２、１、０の場合、ｍ（ｉ）＝１、その他の場所ではｍ（ｉ）＝０である。その後、アレイｉ［９７：０］を得るために逆順序変更が適用される。最終的に、適切な２つの１１ビット・コードワードにレート８／９デコーディングが適用され、レート９６／１０２デコーダの出力、アレイｊ［９５：０］が与えられる。
【０１０４】
１６状態の時変化検出器格子のインプリメンテーションに関連する、この実施形態における格納されたコードワードｅ［１０１：０］中の制約は、位置５３および４でｊ＝２、位置７９、７６、３０、および２７でｊ＝３、位置５３および４でｋ＝２、位置７９、７６、３０、および２７でｋ＝３である。
【０１０５】
次に、本発明に従って動作する、好適なデータのエンコーディングおよびデコーディング・スキームのいくつかのより好適な実施形態について、図２８から図３１を参照しながら説明する。これらの実施形態では、１０ビット・エラー訂正コード（リード・ソロモン・コード）に関する１００／１０４および１００／１０６のコード・レートを使用する。これらは、変調コーディング用に、前述の諸実施形態の場合と同じレート８／９変調コードを使用する（すなわち、表２に示された変調コード）。
【０１０６】
表３は、これらの新しいコードのプロパティを列挙したものである（表１と同じ規約を使用）。
【表６】
2007515035.tif 000011
【０１０７】
図２８は、１０ビット・エラー訂正コードに関するレート１００／１０４エンコーダを示す。
【０１０８】
エンコーダの入力、ａ［９９：０］は、１０個の１０ビット・バイト、Ｂ９、・・・、Ｂ０からなる。バイトＢ７およびＢ２は、表２のレート８／９変調コードを使用して１１ビット・コードワードにマッピングするために変調コーディングされる。残りのバイトは変更されないままである。このようにエンコーディングされた信号、ｂ［１０１：０］は、その後図２８に示されるように順序変更され、信号ｃ［１０１：０］が与えられる。
【０１０９】
順序変更された信号は、その後マスキング・ビットｍ（ｉ）、０≦ｉ≦１０１を使用して選択的にプレコーディングされ、ｉ＝８１、８０、７９、７８、７７、７６、５３、５２、５１、３０、２９、２８、２７、２６、２５、２、１、０の場合ｍ（ｉ）＝１、その他の場所ではｍ（ｉ）＝０である。このローカル・プレコーディング後のエンコーディング済み信号は、ｄ［１０１：０］で示される。最終的に、生成プログラム多項式１＋ｘ２を使用して２つのパリティ・ビットが算出され、挿入される。結果として生じる変調／パリティ・コードワードはｅ［１０３：０］である。
【０１１０】
図２９は、対応するレート１００／１０４デコーダを示す。デコーダの入力ｆ［１０３：０］は、パリティ・ビットを除去することによってｇ［１０１：０］にマッピングされる。その後、アレイｈ［１０１：０］を取得するために、ローカル逆プレコーディングが実行される。プレコーディングの場合と同じマスキング・ビットｍ（ｉ）、０≦ｉ≦１０１が使用され、ｉ＝８１、８０、７９、７８、７７、７６、５３、５２、５１、３０、２９、２８、２７、２６、２５、２、１、０の場合、ｍ（ｉ）＝１、その他の場所ではｍ（ｉ）＝０である。その後、アレイｉ［１０１：０］を得るために逆順序変更が適用される。最終的に、適切なバイトにレート８／９デコーディングが適用され、アレイｊ［９９：０］となるレート１００／１０４デコーダの出力が与えられる。
【０１１１】
１６状態の時変化検出器格子のインプリメンテーションに関連する、データ・コードワードｅ［１０３：０］中の制約は、位置５３および２でｊ＝２、位置８１、７８、３０、および２７でｊ＝３、位置５３および２でｋ＝２、位置８１、７８、３０、および２７でｋ＝３である。
【０１１２】
図３０は、１０ビット・エラー訂正コードに関するレート１００／１０６エンコーダの形の他の好ましい実施形態を示す。エンコーダの入力、ａ［９９：０］は、１０個の１０ビット・バイト、Ｂ９、・・・、Ｂ０からなる。バイトＢ７およびＢ２は、表２のレート８／９変調コードを使用して１１ビット・コードワードにマッピングするために変調コーディングされる。残りのバイトは変更されないままである。このようにエンコーディングされた信号、ｂ［１０１：０］は、その後図３０に示されるように順序変更され、信号ｃ［１０１：０］が与えられる。
【０１１３】
順序変更された信号は、その後マスキング・ビットｍ（ｉ）、０≦ｉ≦１０１を使用して選択的にプレコーディングされ、ｉ＝８１、８０、７９、７８、７７、７６、５３、５２、５１、３０、２９、２８、２７、２６、２５、２、１、０の場合ｍ（ｉ）＝１、その他の場所ではｍ（ｉ）＝０である。このローカル・プレコーディング後のエンコーディング済み信号は、ｄ［１０１：０］で示される。最終的に、生成プログラム多項式１＋ｘ＋ｘ４を使用して４つのパリティ・ビットが算出され、挿入される。結果として生じる変調／パリティ・コードワードはｅ［１０５：０］である。
【０１１４】
図３１は、対応するレート１００／１０６デコーダを示す。デコーダの入力ｆ［１０５：０］は、パリティ・ビットを除去することによってｇ［１０１：０］にマッピングされる。その後、アレイｈ［１０１：０］を取得するために、ローカル逆プレコーディングが実行される。プレコーディングの場合と同じマスキング・ビットｍ（ｉ）、０≦ｉ≦１０１が使用され、ｉ＝８１、８０、７９、７８、７７、７６、５３、５２、５１、３０、２９、２８、２７、２６、２５、２、１、０の場合、ｍ（ｉ）＝１、その他の場所ではｍ（ｉ）＝０である。その後、アレイｉ［１０１：０］を得るために逆順序変更が適用される。最終的に、適切なバイトにレート８／９デコーディングが適用され、アレイｊ［９９：０］となるレート１００／１０６デコーダの出力が与えられる。１６状態の時変化検出器格子のインプリメンテーションに関連する、データ・コードワードｅ［１０５：０］中の制約は、位置５５および４でｊ＝２、位置８３、８０、３２、および２９でｊ＝３、位置５５および４でｋ＝２、位置８３、８０、３２、および２９でｋ＝３である。
【０１１５】
本発明に従って動作する、好適なデータのエンコーディングおよびデコーディング・スキームの他の好適な実施形態が、図３２から図３５に示されている。これらの実施形態は、８ビットまたは１０ビットのエラー訂正コード（リード・ソロモン・コード）で使用するように設計されており、変調コーディング用に、前述の諸実施形態と同じレート８／９変調コードを使用する（すなわち、表２に示された変調コード）。
【０１１６】
以下の諸実施形態では、８ビット・エラー訂正コード用にコード・レート６４／６６が使用され、１０ビット・エラー訂正コード用にコード・レート６０／６２が使用される。表４は、これらの新しいコードのプロパティを列挙したものである（表１と同じ規約を使用）。
【表７】
2007515035.tif 000012
【０１１７】
これら（および他の）実施形態では、オンザフライでエラーおよび消去（ｅｒｒｏｒ−ａｎｄ−ｅｒａｓｕｒｅ）デコーディングを実行するリード・ソロモン・デコーダとともに、変調デコーダ入力時に正しくないコードワードを検出するフラグも使用することができる。これにより、セクタ・エラー・レート性能を向上させることができる。
【０１１８】
図３２は、８ビット・エラー訂正コードに関するレート６４／６６エンコーダの形の実施形態を示す。変調コーディング・ステージへの入力、ａ［６３：０］は、８個のエラー訂正コーディング済み８ビット・バイト、Ｂ７、Ｂ６、・・・、Ｂ０からなる。図３２に示されるように、バイトＢ５は、表２のレート８／９変調コードを使用して９ビット・コードワードにマッピングされる。変調コーディング・ステージ後、残りのバイトは変更されないままである。
【０１１９】
その後、図３２に示されるように、ビット・シーケンスは順序変更される。順序変更前のエンコーディング済み信号はｂ［６４：０］で示され、順序変更後のエンコーディング済み信号はｃ［６４：０］で示される。その後、マスキング・ビットｍ（ｉ）、０≦ｉ≦６４で示される「マスク」を使用して、選択的プレコーディングが実行され、ｉ＝４４、４３、４２、４１、４０、３９、１０、９、８の場合ｍ（ｉ）＝１、その他の場所ではｍ（ｉ）＝０である。このローカル・プレコーディング後のエンコーディング済み信号は、ｄ［６４：０］で示される。最終的に、生成プログラム多項式１＋ｘを使用して１つのパリティ・ビットが算出され、ビット・ブロックに挿入される。ストレージ・メディアに書き込まれることになる、結果として生じる変調／パリティ・コードワードはｅ［６５：０］である。
【０１２０】
図３３は、対応するレート６４／６６デコーダを示す。デコーダの入力ｆ［６５：０］は、パリティ・ビットを除去した後、ｇ［６４：０］にマッピングされる。その後、アレイｈ［６４：０］を取得するために、プレコーディングの場合と同じマスキング・ビットｍ（ｉ）、０≦ｉ≦６４を使用して、ローカル逆プレコーディングが実行され、ｉ＝４４、４３、４２、４１、４０、３９、１０、９、８の場合、ｍ（ｉ）＝１、その他の場所ではｍ（ｉ）＝０である。その後データ・ブロックは逆順序変更され、その後アレイｉ［６４：０］が得られる。その後、コードワードｉ［６４：０］の適切なバイトが表２のレート８／９コードを使用して変調デコーディングされ、エラー訂正デコーディング・ステージ（図示せず）への入力のためのアレイｊ［６３：０］となるレート６４／６６デコーダの出力が与えられる。１６状態の時変化検出器格子のインプリメンテーションに関連する、データ・コードワードｅ［６５：０］中の制約は、位置９でｊ＝２、位置４３および４０でｊ＝３、位置９でｋ＝２、位置４３および４０でｋ＝３である。
【０１２１】
図３４は、１０ビット・エラー訂正コードに関するレート６０／６２エンコーダの形の他の好ましい実施形態を示す。エンコーダの入力、ａ［５９：０］は、６個の１０ビット・バイト、Ｂ５、・・・、Ｂ０からなる。バイトＢ３は、表２のレート８／９変調コードを使用して１１ビット・コードワードにマッピングされる。残りのバイトは変更されないままである。このようにエンコーディングされた信号、ｂ［６０：０］は、その後図３４に示されるように順序変更され、信号ｃ［６０：０］が与えられる。
【０１２２】
順序変更された信号は、その後マスキング・ビットｍ（ｉ）、０≦ｉ≦６０を使用して選択的にプレコーディングされ、ｉ＝４０、３９、３８、３７、３６、３５、８、７、６の場合ｍ（ｉ）＝１、その他の場所ではｍ（ｉ）＝０である。このローカル・プレコーディング後のエンコーディング済み信号は、ｄ［６０：０］で示される。最終的に、生成プログラム多項式１＋ｘを使用して１つのパリティ・ビットが算出され、挿入される。結果として生じる変調／パリティ・コードワードはｅ［６１：０］である。
【０１２３】
図３５は、対応するレート６０／６２デコーダを示す。デコーダの入力ｆ［６１：０］は、パリティ・ビットを除去することによってｇ［６０：０］にマッピングされる。その後、アレイｈ［６０：０］を取得するために、ローカル逆プレコーディングが実行される。プレコーディングの場合と同じマスキング・ビットｍ（ｉ）、０≦ｉ≦６０が使用され、ｉ＝４０、３９、３８、３７、３６、３５、８、７、６の場合、ｍ（ｉ）＝１、その他の場所ではｍ（ｉ）＝０である。その後、アレイｉ［６０：０］を得るために逆順序変更が適用される。最終的に、適切なバイトにレート８／９デコーディングが適用され、アレイｊ［５９：０］となるレート６０／６２デコーダの出力が与えられる。１６状態の時変化検出器格子のインプリメンテーションに関連する、データ・コードワードｅ［６１：０］中の制約は、位置７でｊ＝２、位置３９および３６でｊ＝３、位置７でｋ＝２、位置３９および３６でｋ＝３である。
【０１２４】
図３６から図３９は、本発明の他の好ましい実施形態を示す。この実施形態では、前の諸実施形態の場合と同じ論理規約が使用される。しかしながら、以下で詳細に説明するように、この実施形態は１／（１オープラスＤ）プレコーディングを使用するため、この実施形態ではローカル・プレコーディング演算は、式
【数４】
2007515035.tif 000013
によって指定され、上式で、ｂ（ｉ）はプレコーダの入力でのビットであり、ｃ（ｉ）はプレコーダの出力でのビットであり、ｍ（ｉ）は指標ｉでのマスキング・ビットである。言い換えれば、ｍ（ｉ）＝０の場合ｃ（ｉ）＝ｂ（ｉ）（プレコーディングなし）であり、ｍ（ｉ）＝１の場合ｃ（ｉ）＝ｂ（ｉ）オープラスｃ（ｉ＋１）（プレコーディング）である。
【０１２５】
同様に、ローカル逆プレコーディング演算は、式
【数５】
2007515035.tif 000014
によって指定され、上式でｆ（ｉ）は逆プレコーダの入力でのビットであり、ｇ（ｉ）は逆プレコーダの出力でのビットであり、ｍ（ｉ）は指標ｉでのマスキング・ビットである。言い換えれば、ｍ（ｉ）＝０の場合ｇ（ｉ）＝ｆ（ｉ）（逆プレコーディングなし）であり、ｍ（ｉ）＝１の場合ｇ（ｉ）＝ｆ（ｉ）オープラスｆ（ｉ＋１）（逆プレコーディング）である。
【０１２６】
この実施形態は、１０ビット・エラー訂正コードと共に使用するための３ビット・パリティを備えたレート１００／１０８コードである。これは、参照によりその全文が本明細書に組み込まれた出願人の米国特許第６５５７１２４号に記載された、レート１６／１７変調コードを使用する。レート１６／１７変調コードは、タイプ＋−＋のエラー・イベント（主に電子ノイズによって破壊されると同時に高正規化線形密度を有する磁気レコーディング・チャネル内で、支配的なエラー・イベントである）のうち約半分を除去することがわかっている、強力なＭＴＲコードである。さらに、このレート１６／１７変調コードは、４３．３２％の平均遷移密度を有する。この特性は、データ依存型メディア・ノイズが多い磁気レコーディング・チャネル内で有用である。このレート１６／１７の強力なＭＴＲコードに関連付けられたエンコーダおよびデコーダが、前述のように、それぞれブロック・エンコーダおよびブロック・デコーダである。
【０１２７】
前述のように、本実施形態で使用されるレート１６／１７変調コードは、書き込みパス内の１／（１オープラスＤ）プレコーダおよび読み取りパス内の（１オープラスＤ）逆プレコーダと共に使用されるように設計される。（これは、書き込みパス内で１／（１オープラスＤ２）プレコーダおよび読み取りパス内で（１オープラスＤ２）逆プレコーダを使用する、レート８／９変調コードを使用する上記諸実施形態とは対照的である。）
【０１２８】
表５は、本実施形態の３ビット・パリティを備えるレート１００／１０８コードのプロパティと、図３０の８／９変調コードおよび４ビット・パリティを使用するレート１００／１０６コードとを比較するものである。
【表８】
2007515035.tif 000015
【０１２９】
表５では、「ＡＴＤ」は平均遷移密度であり、残りの用語は表１と同じである。基準となるレート１００／１０６の４ビット・パリティ・コードと比べた場合、本実施形態の３ビット・パリティを備えたレート１００／１０８コードは、より良好なｋ制約、より良好なＩ制約、およびより低い平均遷移密度（ＡＴＤ）を有することがわかる。
【０１３０】
図３７は、本発明の１０ビット・エラー訂正コードに関するレート１００／１０８ブロック・エンコーダを概略的に示す。図３６は、以下でより詳細に論じるように、本実施形態のレート１００／１０８ブロック・エンコーダのレート２０／２１ベースの変調構造を示す、エンコーダの等価表現である。
【０１３１】
エラー訂正コーディング後のエンコーダの入力、ａ［９９：０］は、１０個の１０ビット・バイト、Ｂ９、・・・、Ｂ０からなる。隣接バイトの５つのペア、Ｂ９／Ｂ８、Ｂ７／Ｂ６、Ｂ５／Ｂ４、Ｂ３／Ｂ２、およびＢ１／Ｂ０が、５つの２１ビット・コードワードにマッピングされる。図３６および図３７に示されるように、これは、前述のレート１６／１７変調コードを適切なビットに適用すること（図３７）によって実行され、前述のレート１６／１７変調コードを使用してインプリメントされる図３６に示されるようなレート２０／２１ブロック・エンコーダのセットを使用する変調コーディングの適用とみなすことができるが、各２１ビット・コードワードのうち左側２つのビットおよび右側２つのビットは未コーディングのままである。
【０１３２】
エンコーディング済み信号はｂ［１０４：０］で示される。その後、選択的プレコーディングは、マスキング・ビットｍ（ｉ）、０≦ｉ≦１０４を使用して適用され、ｉ＝１０２、１０１、１００、９９、９８、９７、９６、９５、９４、９３、９２、９１、９０、８９、８８、８７、８６、８１、８０、７９、７８、７７、７６、７５、７４、７３、７２、７１、７０、６９、６８、６７、６６、６５、６０、５９、５８、５７、５６、５５、５４、５３、５２、５１、５０、４９、４８、４７、４６、４５、４４、３９、３８、３７、３６、３５、３４、３３、３２、３１、３０、２９、２８、２７、２６、２５、２４、２３、１８、１７、１６、１５、１４、１３、１２、１１、１０、９、８、７、６、５、４、３、２の場合、ｍ（ｉ）＝１、その他の場所ではｍ（ｉ）＝０である。このローカル・プレコーディング後のエンコーディング済み信号は、ｃ［１０４：０］で示される。最終的に、生成プログラム多項式１＋ｘ＋ｘ３を使用して３つのパリティ・ビットが算出され、コードワードの終わりに挿入される。結果として生じる変調／パリティ・コードワードはｄ［１０７：０］である。この実施形態では（前述の諸実施形態とは異なり）、データ・コードワードの順序変更がないことに留意されたい。
【０１３３】
図３９は、１０ビット・エラー訂正コードに関する対応するレート１００／１０８ブロック・デコーダを概略的に示す。図３８は、レート１００／１０８ブロック・デコーダのレート２０／２１ベースの変調構造を示す、デコーダの等価表現である。
【０１３４】
デコーダｅ［１０７：０］の入力は、３つのパリティ・ビットを除去することによってｆ［１０４：０］にマッピングされる。その後、アレイｇ［１０４：０］を取得するために、プレコーディングに使用されたものと同じマスキング・ビットｍ（ｉ）、０≦ｉ≦１０４を使用してローカル逆プレコーディングが実行され、ｉ＝１０２、１０１、１００、９９、９８、９７、９６、９５、９４、９３、９２、９１、９０、８９、８８、８７、８６、８１、８０、７９、７８、７７、７６、７５、７４、７３、７２、７１、７０、６９、６８、６７、６６、６５、６０、５９、５８、５７、５６、５５、５４、５３、５２、５１、５０、４９、４８、４７、４６、４５、４４、３９、３８、３７、３６、３５、３４、３３、３２、３１、３０、２９、２８、２７、２６、２５、２４、２３、１８、１７、１６、１５、１４、１３、１２、１１、１０、９、８、７、６、５、４、３、２の場合、ｍ（ｉ）＝１、その他の場所ではｍ（ｉ）＝０である。
【０１３５】
最終的に、アレイｈ［９９：０］となるレート１００／１０８デコーダの出力を得るために、適切なバイトのレート１６／１７デコーディングが実行される。（ここでも、図３８に示されるように、この演算は、レート１６／１７変調コードを使用してインプリメントされ、いくつかのビットは未変更のままである、レート２０／２１ブロック・デコーダのセットの演算とみなすことができる。）
【０１３６】
１６状態の時変化検出器格子およびポストプロセッサにおけるＭＴＲチェッキングのインプリメンテーションに関連する、この実施形態のデータ・コードワードｄ［１０７：０］中の制約は、１０３、８９、８２、６８、６１、４７、４０、２６、１９、５の１０個の位置でｊ＝２であり、１０２、１０１、１００、９９、９８、９７、９６、９４、９３、９２、９１、９０、８８、８１、８０、７９、７８、７７、７６、７５、７３、７２、７１、７０、６９、６７、６０、５９、５８、５７、５６、５５、５４、５２、５１、５０、４９、４８、４６、３９、３８、３７、３６、３５、３４、３３、３１、３０、２９、２８、２７、２５、１８、１７、１６、１５、１４、１３、１２、１０、９、８、７、６、４の６５個の位置でｊ＝３である。
【０１３７】
上記から明らかなように、本発明は、少なくともその好ましい諸実施形態では、ローカル（選択済み）プレコーディングおよび逆プレコーディングを使用してエラー伝搬を減少させ、それによってエラー・レート性能を向上させる。入力データの一部（すなわち、プレコーディングされていない入力データの一部またはいくつかの部分）を逆プレコーディングする必要をなくすことにより、プレコーディングによって生じるエラー伝搬を減少させることができる。さらに順序変更を使用して、タイミング回復要件に合致させ、たとえば８ビットまたは１０ビット・シンボルに基づくリード・ソロモン・コードと共に使用するための変調コードのよりフレキシブルな設計を容易にすることができる。
【０１３８】
好ましい諸実施形態では、前述の利点に加えて、エンコーダ／デコーダのインプリメンテーションを簡略化する、単一のレート８／９変調コードに基づく８ビットおよび１０ビットのリード・ソロモン・シンボル・サイズ用の特定コードが記載されている。
【０１３９】
本発明に関する上記記述は、例示および説明の目的で提示したものである。本発明を網羅すること、または開示された精密な形式に限定することは意図しておらず、上記教示に照らせば、他の修正形態および変形形態が可能である。開示された諸実施形態は、本発明の原理およびその実用的な応用例を最も良く説明するために、選択および記述されたものであり、それによって、他の同業者が企図された特定の用途に好適な様々な実施形態および様々な修正形態で本発明を最善な形で利用できるようにするためのものである。添付の特許請求の範囲は、従来技術によって限定された場合を除き、本発明の他の代替実施形態を含むように解釈されることが意図される。
【図面の簡単な説明】
【０１４０】
【図１】データ・ストレージ・システムを示す概略図である。
【図２】本発明に従ったデータ・ストレージ・システムの一実施形態を示す概略図である。
【図３】本発明の一実施形態のデータ・エンコーディング・プロセスを示す概略図である。
【図４】本発明の第１の実施形態に従った、８ビット・エラー訂正コードに関するレート９６／１００エンコーダを示す概略図である。
【図５】図３のエンコーダに対応するレート９６／１００デコーダを示す概略図である。
【図６】本発明の第２の実施形態に従った、８ビット・エラー訂正コードに関するレート９６／１０２エンコーダを示す概略図である。
【図７】図６のエンコーダに対応するレート９６／１０２デコーダを示す概略図である。
【図８】本発明の第３の実施形態に従った、１０ビット・エラー訂正コード（２パリティ・ビット）に関するレート９６／１００エンコーダの位相０を示す概略図である。
【図９】本発明の第３の実施形態に従った、１０ビット・エラー訂正コード（２パリティ・ビット）に関するレート９６／１００エンコーダの位相１を示す概略図である。
【図１０】本発明の第３の実施形態に従った、１０ビット・エラー訂正コード（２パリティ・ビット）に関するレート９６／１００エンコーダの位相２を示す概略図である。
【図１１】本発明の第３の実施形態に従った、１０ビット・エラー訂正コード（２パリティ・ビット）に関するレート９６／１００エンコーダの位相３を示す概略図である。
【図１２】本発明の第３の実施形態に従った、１０ビット・エラー訂正コード（２パリティ・ビット）に関するレート９６／１００エンコーダの位相４を示す概略図である。
【図１３】図７から１１のエンコーダに対応する、１０ビット・エラー訂正コード（２パリティ・ビット）に関するレート９６／１００デコーダの位相０を示す概略図である。
【図１４】図７から１１のエンコーダに対応する、１０ビット・エラー訂正コード（２パリティ・ビット）に関するレート９６／１００デコーダの位相１を示す概略図である。
【図１５】図７から１１のエンコーダに対応する、１０ビット・エラー訂正コード（２パリティ・ビット）に関するレート９６／１００デコーダの位相２を示す概略図である。
【図１６】図７から１１のエンコーダに対応する、１０ビット・エラー訂正コード（２パリティ・ビット）に関するレート９６／１００デコーダの位相３を示す概略図である。
【図１７】図７から１１のエンコーダに対応する、１０ビット・エラー訂正コード（２パリティ・ビット）に関するレート９６／１００デコーダの位相４を示す概略図である。
【図１８】本発明の第４の実施形態に従った、１０ビット・エラー訂正コード（４パリティ・ビット）に関するレート９６／１０２エンコーダの位相０を示す概略図である。
【図１９】本発明の第４の実施形態に従った、１０ビット・エラー訂正コード（４パリティ・ビット）に関するレート９６／１０２エンコーダの位相１を示す概略図である。
【図２０】本発明の第４の実施形態に従った、１０ビット・エラー訂正コード（４パリティ・ビット）に関するレート９６／１０２エンコーダの位相２を示す概略図である。
【図２１】本発明の第４の実施形態に従った、１０ビット・エラー訂正コード（４パリティ・ビット）に関するレート９６／１０２エンコーダの位相３を示す概略図である。
【図２２】本発明の第４の実施形態に従った、１０ビット・エラー訂正コード（４パリティ・ビット）に関するレート９６／１０２エンコーダの位相４を示す概略図である。
【図２３】図１８から２２のエンコーダに対応する、１０ビット・エラー訂正コード（４パリティ・ビット）に関するレート９６／１０２デコーダの位相０を示す概略図である。
【図２４】図１８から２２のエンコーダに対応する、１０ビット・エラー訂正コード（４パリティ・ビット）に関するレート９６／１０２デコーダの位相１を示す概略図である。
【図２５】図１８から２２のエンコーダに対応する、１０ビット・エラー訂正コード（４パリティ・ビット）に関するレート９６／１０２デコーダの位相２を示す概略図である。
【図２６】図１８から２２のエンコーダに対応する、１０ビット・エラー訂正コード（４パリティ・ビット）に関するレート９６／１０２デコーダの位相３を示す概略図である。
【図２７】図１８から２２のエンコーダに対応する、１０ビット・エラー訂正コード（４パリティ・ビット）に関するレート９６／１０２デコーダの位相４を示す概略図である。
【図２８】本発明の一実施形態に従った、レート１００／１０４エンコーダ（２パリティ・ビット）を示す概略図である。
【図２９】本発明の一実施形態に従った、レート１００／１０４デコーダ（２パリティ・ビット）を示す概略図である。
【図３０】本発明の一実施形態に従った、レート１００／１０６エンコーダ（４パリティ・ビット）を示す概略図である。
【図３１】本発明の一実施形態に従った、レート１００／１０６デコーダ（４パリティ・ビット）を示す概略図である。
【図３２】本発明の一実施形態に従った、レート６４／６６エンコーダ（１パリティ・ビット）を示す概略図である。
【図３３】本発明の一実施形態に従った、レート６４／６６デコーダ（１パリティ・ビット）を示す概略図である。
【図３４】本発明の一実施形態に従った、レート６０／６２エンコーダ（１パリティ・ビット）を示す概略図である。
【図３５】本発明の一実施形態に従った、レート６０／６２デコーダ（１パリティ・ビット）を示す概略図である。
【図３６】本発明の一実施形態に従った、レート１００／１０８ブロック・エンコーダの２０／２１ベース・モジュラ構造を示す図である。
【図３７】本発明の一実施形態に従った、レート１００／１０８ブロック・エンコーダを示す図である。
【図３８】本発明の一実施形態に従った、レート１００／１０８ブロック・デコーダの２０／２１ベース・モジュラ構造を示す図である。
【図３９】本発明の一実施形態に従った、レート１００／１０８ブロック・デコーダを示す図である。
【図１】
2007515035.tif 000016
【図２】
2007515035.tif 000017
【図３】
2007515035.tif 000018
【図４】
2007515035.tif 000019
【図５】
2007515035.tif 000020
【図６】
2007515035.tif 000021
【図７】
2007515035.tif 000022
【図８】
2007515035.tif 000023
【図９】
2007515035.tif 000024
【図１０】
2007515035.tif 000025
【図１１】
2007515035.tif 000026
【図１２】
2007515035.tif 000027
【図１３】
2007515035.tif 000028
【図１４】
2007515035.tif 000029
【図１５】
2007515035.tif 000030
【図１６】
2007515035.tif 000031
【図１７】
2007515035.tif 000032
【図１８】
2007515035.tif 000033
【図１９】
2007515035.tif 000034
【図２０】
2007515035.tif 000035
【図２１】
2007515035.tif 000036
【図２２】
2007515035.tif 000037
【図２３】
2007515035.tif 000038
【図２４】
2007515035.tif 000039
【図２５】
2007515035.tif 000040
【図２６】
2007515035.tif 000041
【図２７】
2007515035.tif 000042
【図２８】
2007515035.tif 000043
【図２９】
2007515035.tif 000044
【図３０】
2007515035.tif 000045
【図３１】
2007515035.tif 000046
【図３２】
2007515035.tif 000047
【図３３】
2007515035.tif 000048
【図３４】
2007515035.tif 000049
【図３５】
2007515035.tif 000050
【図３６】
2007515035.tif 000051
【図３７】
2007515035.tif 000052
【図３８】
2007515035.tif 000053
【図３９】
2007515035.tif 000054
【国際調査報告】
2007515035.tif 000055
2007515035.tif 000056
2007515035.tif 000057