(57)【要約】【課題】テープ記憶システムのような通信システムのエラー特性を正確にモデリングする方法、システム及びプログラム製品を提供する。【解決手段】欠陥率及びサイズ、コードワード・データ構造バイト、及びインターリービング・ファクタを記述する入力パラメータが入力される。シミュレートされる欠陥ソースからビット欠陥が生成され、コードワード内の各欠陥の開始ビット及び終止ビットにより画定される。無欠陥のコードワードは選別され取り除かれて、それ以上は処理されず、これによりモデルの処理速度を高める。欠陥ストリーム内で、重なり合う欠陥同士がマージされ、開始ビット及び終止ビットにより欠陥領域を再画定する。コードワード或いは欠陥の全長ではなくて、画定（ｄｅｆｉｎｉｔｉｏｎｓ）だけが処理されるので、処理効率が更に高められる。各コードワードにおいて生じた欠陥の数が判定され、処理されるコードワードあたりにＮ個の誤っているバイトが生じる確率が計算され得る。所望の場合、エラーが生じた率を含むヒストグラムが生成されて、後にエラー・イベントの確率を推定するために使用され得る。その様な情報は、モデリングされるシステムのためのエラー訂正コードの設計に組み込まれ得る。【選択図】図３
2009514078.tif 000002
【特許請求の範囲】
【請求項１】
通信システムのエラー特性をモデリングする方法であって、
複数のコードワードを含む１つの数のシミュレートされる欠陥ストリームを確立するステップと、
各々のシミュレートされる欠陥ストリームについて、
平均欠陥間隔を指定するステップと
平均欠陥サイズを指定するステップと、
各々のシミュレートされる欠陥ストリームについて欠陥アレイを生成するステップであって、コードワードの中の各欠陥の開始位置及び終止位置を前記欠陥アレイに格納することを含む前記欠陥アレイを生成するステップと、
各データ・ストリームから生成された前記欠陥アレイを連結して１つの新しい欠陥アレイとするステップと、
前記新しい欠陥アレイ内の重なり合う欠陥同士をマージするステップと、
前記マージされた欠陥を前記コードワードに割り当てるステップと、
誤っているｋ個のバイトを有する処理されたコードワードの数のヒストグラムを生成するステップであって、ｋ＝［０．．．ｍ］でありｍが所定の最大数に等しい前記ヒストグラムを生成するステップと、
コードワード・エラーの数及び位置とエラー訂正コードのエラー訂正能力とに基づいて、前記エラー訂正コードにおける失敗の確率を推定するステップと、
を含む、前記方法。
【請求項２】
前記指定された平均欠陥間隔に等しい平均値を有する開始位置の指数分布の観察から前記開始位置を生成するステップと、
前記指定された平均欠陥サイズに等しい平均値を有する開始位置の指数分布の観察から前記終止位置を生成するステップと、
を更に含む、請求項１の方法。
【請求項３】
コードワードが欠陥を含まなければ次のコードワードを処理するステップを更に含む、請求項１の方法。
【請求項４】
重なり合う欠陥同士をマージするステップは、前記新しい欠陥アレイ内の欠陥に対して論理和を実行するステップを含む、請求項１の方法。
【請求項５】
重なり合う欠陥同士をマージするステップは、
昇順開始ビットにより前記新しい欠陥アレイをソートするステップと、
前記欠陥の開始ビット及び終止ビットを対応するバイト位置に変換するステップと、
得られた欠陥バイト同士を合体させるステップと、
を含む、請求項１の方法。
【請求項６】
コードワード構造がインターリーブされた偶数コードワード及び奇数コードワードを含む場合、前記欠陥を割り当てるステップは、
偶数コードワードにおいて、その偶数コードワード内の誤っているバイトの数を判定するために、欠陥がその中で開始し、継続しまたは終止するところのバイトの数を合計するステップと、
奇数コードワードにおいて、その奇数コードワード内の誤っているバイトの数を判定するために、欠陥がその中で開始し、継続しまたは終止するところのバイトの数を合計するステップと、
を含む、請求項１の方法。
【請求項７】
処理されるコードワードあたりにＮ個の誤っているバイトが生じる確率を更に計算する、請求項１のシステム。
【請求項８】
通信システムのエラー特性をモデリングするためのシステムであって、
シミュレートされるコードワードをインターリーブするためのインターリーブ数と、
夫々のシミュレートされる欠陥発生源からの複数のシミュレートされる欠陥ストリームの数を特定する値と、
各々のシミュレートされる欠陥ストリームについての、ビット数で表された平均欠陥間隔及びビット数で表された平均欠陥サイズと、
を含む欠陥パラメータを受け取るように構成された入力と、
シミュレートされるコードワードのストリームを生成するように構成されたコードワード・ジェネレータと、
前記シミュレートされるコードワードを前記入力されたインターリーブ数に従ってインターリーブし、コードワード・データ構造のストリームを出力するように構成されたコードワード・インターリーバと、
シミュレートされる欠陥を前記入力されたパラメータに従って前記コードワード・データ構造ストリームに注入し、前記シミュレートされる欠陥ストリームを出力するように構成された欠陥ジェネレータと、
各々のシミュレートされる欠陥ストリーム内の各欠陥についてその欠陥の開始位置及び終止位置を各々含むエントリを有する結合欠陥アレイと、
重なり合うシミュレートされる欠陥同士を合体させるように構成されたマージ・モジュールと、
各コードワード・データ構造内の誤っているバイトの数を判定するように構成された欠陥プロセッサと、
を含む、前記システム。
【請求項９】
前記欠陥プロセッサに結合されて、各コードワード・データ構造内の誤っているバイトの数の視覚表示を出力するように構成されているヒストグラム・ジェネレータを更に含む、請求項８のシステム。
【請求項１０】
各々のシミュレートされる欠陥ストリームに関連付けられて、前記シミュレートされる欠陥ストリームの中の、欠陥のあるビットを少なくとも１つ有するコードワード・データ構造のみを通過させるように構成されたフィルタを更に含む、請求項８のシステム。
【請求項１１】
前記マージ・モジュールは、
前記結合欠陥アレイ内の前記エントリを各欠陥の前記開始位置に基づいてソートするように構成されたソータと、
重なり合う欠陥同士を各欠陥の前記開始位置及び終止位置に基づいてマージして単一の欠陥とするように構成されたコアレッサと、
を含む、請求項８のシステム。
【請求項１２】
処理されるコードワードあたりにＮ個の誤っているバイトが生じる確率を計算するように構成された確率カルキュレータを更に含む、請求項８のシステム。
【請求項１３】
プログラマブルなコンピュータで使用され得るコンピュータ可読媒体のコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、通信システムのエラー特性をモデリングするためにその中で具体化されたコンピュータ可読コードを有し、前記コンピュータ可読コードは、コンピュータ・システムで実行されたときに前記コンピュータ・システムに請求項１から７までの方法を実行するように命令するための命令を含む、前記コンピュータ・プログラム製品。
【請求項１４】
通信システムのためのエラー訂正コードを設計する方法であって、
ａ）シミュレートされるコードワード・データ構造を画定するステップと、
ｂ）シミュレートされる欠陥発生源を各々表す１つ以上のシミュレートされる欠陥ストリームを画定するステップと、
ｃ）前記シミュレートされる欠陥ストリームの各々からゼロ個以上のシミュレートされる欠陥を有する欠陥の集合を生成するステップであって、各欠陥が前記シミュレートされるコードワード・データ構造の中の開始位置及び終止位置により画定される前記生成するステップと、
ｄ）前記シミュレートされる欠陥ストリームの全てについてゼロ個の欠陥が生成されるならば欠陥の次の集合についてステップｃ）を反復するステップと、
ｅ）欠陥の前記集合の中の前記シミュレートされる欠陥の前記開始位置及び終止位置をマージするステップと、
ｆ）マージされたシミュレートされる欠陥の数と位置とを判定するステップと、
ｇ）ステップｃ）からｆ）までを複数の繰り返し数反復するステップであって、各繰り返しが１つの処理されるコードワードを表す前記反復するステップと、
ｈ）処理されるコードワードあたりにＮ個の誤っているバイトが生じる確率を判定するステップと、
ｉ）データ・ストリーム中のエラーを、前記データ・ストリーム中のコードワードあたりに誤っているＮ（Ｎを含む）バイトまで、訂正するエラー訂正コードを設計するステップと、
を含む、前記方法。
【請求項１５】
前記１つ以上のシミュレートされる欠陥ストリームを画定するステップは、
各々のシミュレートされる欠陥ストリームの中のシミュレートされる欠陥について平均欠陥間隔を確立するステップと、
各々のシミュレートされる欠陥ストリームの中のシミュレートされる欠陥について平均欠陥サイズを確立するステップと、
を含む、請求項１４の方法。
【請求項１６】
シミュレートされる欠陥の開始位置を画定するステップは、前記確立された平均欠陥間隔に等しい平均値を有する開始位置の観察された指数分布を適用するステップを含み、
シミュレートされる欠陥の終止位置を画定するステップは、前記確立された平均欠陥サイズに等しい平均値を有する開始位置の観察された指数分布を適用することを含む、
請求項１５の方法。
【請求項１７】
マージするステップは、
重なり合う欠陥同士を集めるステップと、
包含される欠陥を包摂するステップと、
前記コードワード・データ構造の境界を越えて延びる欠陥を切り縮めるステップと、
を含む、請求項１４の方法。
【請求項１８】
シミュレートされるコードワード・データ構造を画定するステップは、コードワード・インターリーブ・ファクタを確立するステップを含み、これによりコードワード・データ構造は少なくとも２つのインターリーブされたコードワードを含む、請求項１４の方法。
【請求項１９】
前記マージされたシミュレートされる欠陥を前記コードワード・データ構造内のインターリーブされている前記コードワードに割り当てるステップを更に含む、請求項１８の方法。
【請求項２０】
請求項１４から１９までの方法を実行する、通信システムのためのエラー訂正コードを設計するためのシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ・システムに関し、特にデータ記憶システムのようなデータ・システムのエラー訂正能力をモデリングすることに関する。
【背景技術】
【０００２】
磁気記録システムのような通信システムのエラー特性の推定は、その様なシステムが極めて小さなエラー確率で動作し得るようにエラー訂正コード（ＥＣＣ）を設計する上で不可欠である。“通信”という用語は、本書においては、情報担持信号がソースからターゲットに転送或いは伝送される任意のシステムを指すために広い意味で用いられる。知られている様に、ＥＣＣは伝送中にエラーを特定し訂正するために使用される。コードは、コードワード内の固定された数までの誤ったバイトを訂正するようにいろいろなシステムのために特に設計される。従って、充分に頑健なコードを設計して、許容できないほど高率の訂正不可能なエラーからデータが失われるのを避けるためには、エラーの分布（すなわち、誤ったバイトを１つ有するデータストリーム中のコードワード（codeword）の数、誤ったバイトを２つ有するコードワードの数、など）を正確に分析して推定することが重要である。
【０００３】
最新のシステムは、インターリーブされたＥＣＣコードワードの複雑なデータ構造を使用する。インターリービングは、数個のコードワードからのバイトを交互に配置して１つのより長いコードワード構造とし、各コードワードを１つのより大きな物理的距離にわたって分布させる。しかし、複数のコードワードのバイトが交互に位置しているので、単一のエラー・イベントが複数のコードワードに影響を及ぼし得る。その結果、これらの新しい構造によりエラー分析が複雑になる。
【０００４】
磁気ハード・ディスク・ドライブ（ＨＤＤ）システムのためのＥＣＣモデルは、しばしば、ビット欠陥又はバイト欠陥は独立のイベントであって他の如何なるイベントとも相関していないと仮定する。通例、ＨＤＤシステムにおけるエラーはホワイト・ノイズに起因し、実際、ランダムで独立したイベントである。ハード・ディスクは密封されるので、ディスク製造後は一般に新しい欠陥は生じない。更に、ディスクにデータを書き込むために使われた同じヘッド・アセンブリが、後にデータをディスクから読み出すために使われる。その結果、トラッキングは、一般に、ミストラッキングにより生じる少数のエラーとは矛盾しない。ＨＤＤシステムにおけるエラーは独立しているので、単一のエラー・イベントの発生の確率を得てそれをｎ乗することによってｎ個のエラーの発生の確率を決定することができる。
【０００５】
前述のように、標準的エラー・モデルは、各エラー・イベントがランダムであって他の全てのエラー・イベントと相関していないと仮定する。その様なモデルは、ビット・エラー率又はバイト・エラー率から出発して、その後に種々のエラー・イベントの確率を予測するために下記の３つの式を用いる。
【０００６】
【数１】
2009514078.tif 000003
【０００７】
式（１）は、いずれか１つのビット又はバイトが誤っている確率ｐが与えられたときにｎ個のビット又はバイトのシーケンスにおいて正確にｋ個のエラー・イベントが生じる確率を予測する。式（２）は、いずれか１つのビット又はバイトが誤っている確立ｐが与えられたときにｎ個のビット又はバイトのシーケンスにおいてｋ個より多くのエラー・イベントが生じる確率を予測する。式（１）及び式（２）の両方が、ｎ個のものから一度にｋ個のものを取る組み合わせの数の１つの表示である式（３）を用いる。
【０００８】
例えば、インターリービング無しのＥＣＣコードワードがｎバイトを含み、いずれか１つのバイトが誤っている確立がｐであると仮定する。更に、５個までの誤っているバイトを訂正する能力をＥＣＣが持っていると仮定する。代表的な分析は、誤っているバイトを１個、２個、３個、４個及び５個有する確率を計算するが、それらはこのシステムにとっては訂正することのできるエラー・イベントである。更に、５個より多いバイトが誤っている確立は、ＥＣＣがそのコードワードを訂正し得ない確率を与える。ちょうどｋ個のバイトが誤っている確立はＰ（ｎ，ｋ，ｐ）（式（１））であり、ｋ個より多くのバイトが誤っている確立はＰＧ（ｎ，ｋ，ｐ）（式（２））である。
【０００９】
図１は、コードワードがｎ個の誤っているバイトを有する確率を上記の式に基づいて，ｎ＝１から５までについて示している。重要なことに、このプロットは、計算された予測結果が実際のインターリーブされたシステムの測定された性能とは大幅に異なることを示し、従ってこの単純なモデルが、特に訂正可能なバイトの望ましい個数が大きくなるときに、不十分であることを証明している。
【００１０】
このモデルのバリエーションは、ｐの小さな値について、１つのバイトが誤っている確立の、他のバイトが誤っている確率との関係を作り出す。
【００１１】
【数２】
2009514078.tif 000004
【００１２】
あいにく、このようなバリエーションも、実世界システムをうまく近似していない。例えば、インターリーブ・ファクタが２のシステム（２つの別々のコードワードのバイトが交互に位置するコードワード対構造）は、エラーの基本的確率から予測可能な１バイト・エラーの確率を示し得る。しかし、その後の誤っているバイトについての確率は、Ｐ１より大幅に大きくなり得る別の確率Ｐｘにより決まる異なる勾配をたどる。
【００１３】
【数３】
2009514078.tif 000005
【００１４】
標準的なランダム・エラー率モデルの操作に関わらず、誤っている１バイトの２バイトに対する確率の比、２バイトの３バイトに対する確率の比、などは同じでなければならないことが認められる。実際のシステムを観察すると、このことが事実と異なること、また標準的モデルを観察結果に適合させることはできないということが分かる。
【００１５】
すなわち、標準的モデルは、現実のシステムをモデル化するには単純すぎる。それは、欠陥を記述する単一の変数、すなわち欠陥が生じる率、を用いる。しかし、欠陥はサイズを有するということ、全ての欠陥が同じサイズの欠陥であるというわけではないことが分かる。更に、欠陥同士は、実際には、独立したイベントではない。
【発明の開示】
【発明が解決しようとする課題】
【００１６】
過去において、磁気テープ・システムでのＥＣＣが誤っているコードワードの１つ又は２つのバイトを特定し訂正するために設計されたときには、ＨＤＤシステム仮定に基づくモデルは充分であり得たかもしれない。しかし、それらの仮定はＨＤＤシステムについて閉じた形の分析を便利で包含可能（ｃｏｎｔａｉｎａｂｌｅ）で割合に正確なものとしたが、このような仮定に基づくモデルは最新の磁気テープ・システムに関しては過度に単純化されている。テープ媒体はハード・ディスクのように密封された環境の中にはないので、欠陥が製造後に発生する可能性があり、また実際に時間が経つに連れて増大する可能性がある。更に、テープは、トラッキングが夫々少しずつ異なる別々のテープ・ドライブにロードされることがしばしばあり、これによりエラーの可能性を増大させる。
【００１７】
データ密度が増大し、インターリーブされたコードワードが複雑になり、より頑健な訂正が望まれるとき、古いモデルは実際の実世界システムには余り適合しなくなり、より正確なモデリングに対するニーズが存在する。
【課題を解決するための手段】
【００１８】
テープ記憶システムのような通信システムのエラー特性を正確にモデリングする方法、システム及びプログラム製品が提供される。欠陥率及びサイズ、コードワード・データ構造バイト、及び任意のインターリービング・ファクタを記述する入力パラメータが入力される。シミュレートされる欠陥発生源からビット欠陥が生成され、コードワード内の各欠陥の開始ビット及び終止ビットにより画定される。無欠陥のコードワードは選別され取り除かれて、それ以上は処理されず、これによりモデルの処理速度を高める。欠陥ストリーム内で、重なり合う欠陥同士がマージされ、開始ビット及び終止ビットにより欠陥領域を再画定する。コードワード或いは欠陥の全長ではなくて、画定（ｄｅｆｉｎｉｔｉｏｎｓ）だけが処理されるので、処理効率が更に高められる。各コードワードにおいて生じた欠陥の数が判定され、処理されるコードワードあたりにＮ個の誤っているバイトが生じる確率が計算され得る。所望の場合、エラーが生じた率を含むヒストグラムが生成されて、後にエラー・イベントの確率を推定するために使用され得る。その様な情報は、モデリングされるシステムのためのエラー訂正コードの設計に組み込まれ得る。
【発明を実施するための最良の形態】
【００１９】
インターリーブされたコードワードのために現実的モデルを発展させるために、問題を視覚化するために、類推による説明が用いられ得る。ＥＣＣコードワードにおける欠陥を予測或いはシミュレートするという問題は、水バルーン（water balloons）をペンキ缶（paint cans）の列に投げ込むことに類似している。近くから始まって遠くへ延びている、蓋の無いペンキ缶の列を考察する。そのペンキ缶の列に水バルーンが投げられる。そのバルーンが缶の列を超えて着地したならば、どの缶も水を含まない。もしバルーンが缶の列の中に落ちたならば、バルーン（balloons）のサイズと、バルーンと缶の口とのアライメントとにより、１つ以上の缶の中に水が入ることになる。１つの缶の直径より小さなバルーンは、バルーンと缶の縁とのアライメントにより、１つ又は２つの缶に水を入れることができる。１つの缶の直径より大きなバルーンは、少なくとも２つの缶に水を入れる。
【００２０】
ペンキ缶モデルはＥＣＣコードワードと欠陥とをシミュレートすることができる。ペンキ缶の配列はデータ構造を表し、各缶はそのデータ構造の中の１つのバイトを表す。バルーンは欠陥を表す。バルーンが何回投げられるかということは、欠陥（バルーン）に遭遇する率に関連する。缶の直径の八分の一を単位として計られるバルーンのサイズは、ビット数で表された欠陥サイズである。
【００２１】
水が入っている缶は、欠陥を含むバイトを表す。ＥＣＣにとっては、バイト（缶）が小さなダメージ（水）を有するか或いは消去されたかは重要ではなく、重要なのはバイトが欠陥を有することである。ペンキ缶の列を超えて投げられたならば、データ構造に欠陥は生じない。もしＥＣＣがｎ個までの誤っているバイトを訂正することができ、水の入っている缶がｎ個或いはそれより少数であれば、コードワード構造は欠陥を持たないか或いは訂正可能である。
【００２２】
ペンキ缶モデルは、インターリーブされたＥＣＣコードワードをシミュレートするために拡張され得る。例えば、２のインターリーブ・ファクタをシミュレートするためにペンキ缶は、２つの交替する色の一方に着色される（例えば白−黄色−白−黄色）。白い缶の数は黄色い缶の数に等しく、缶の総数はインターリーブされていないモデルにおける缶の数の２倍である。今は、前と同数のバイトを各々有する２つのコードワードがあり、従ってＥＣＣ訂正能力は同じままである。
【００２３】
ペンキ缶の列に水バルーンを投げることは、インターリーブ・モデルについて、非インターリーブ・モデルと同様に解釈される。バルーンが缶の列を超えて着地すれば、どの缶にも水は入らない。投げて缶の列の中に落ちれば、バルーンのサイズと、バルーンと缶の口とのアライメントとにより、１つ以上の缶の中に水が入ることになる。インターリービングは、ダメージの解釈に影響を及ぼす。１つの缶の直径より小さなバルーンは、バルーンと缶の縁とのアライメントにより、１つ又は２つの缶の中に水を入れることができるが、水は多くて１つの白い缶と１つの黄色い缶との中に入ることになる。同じ色の２つの缶に水が入ることは無い。従って、この類推では、９ビットの大きさの欠陥により各インターリーブの多くても１つのバイトが傷つくことになる。
【００２４】
表Ｉは、いろいろなビット・サイズの欠陥によって影響を受け得るバイトの最大数を、インターリーブされたコードワード構造と２方インターリーブされた（ｔｗｏ−ｗａｙ  ｉｎｔｅｒｌｅａｖｅｄ）コードワード構造とについて示している。
【００２５】
【表１】
2009514078.tif 000006
【００２６】
ペンキ缶類推は、モデリングされる物理的システム（この場合には磁気テープ記憶システム）についての或る解釈を伴う新しいモデルのための必要条件を説明するために使用され得る。テープが通り過ぎるときにテープに欠陥が引き起こされる（バルーンが投げられる）。従って、各々の新しい投げる行為は、テープ上の、前の欠陥イベントが生じた箇所から始まる。その結果、欠陥位置の最初の部分はテープ長さに対して単調に増大してゆく。前の欠陥が消える前に新しい欠陥が始まれば、すなわち、前の欠陥の持続時間が次の欠陥の到来間時間（ｉｎｔｅｒ−ａｒｒｉｖａｌ  ｔｉｍｅ）より長ければ（大きければ）欠陥同士が重なり合い得る。もし前の欠陥が消える前に新しい欠陥が始まり、前の欠陥の持続時間が次の欠陥の到来間時間及びその欠陥長さより長ければ（大きければ）、欠陥が他の欠陥に完全に含まれ得る。構造内で複数の欠陥が発生するけれども、それらの到来間時間及び欠陥長さが相互作用（重なり合い）を引き起こさなければ、欠陥同士は独立し得る。
【００２７】
複数の欠陥発生源がある場合（これは良くあることである）、各欠陥ストリームは独立であり得る。各々の新しい投げる行為は、その欠陥発生源について前の欠陥イベントが発生したテープ上の箇所から始まる。高い精度を達成するために、モデルは、欠陥発生源を別々の存在として維持し、その後にそれらの結果を何らかの仕方で結合させるべきである。
【００２８】
１つ以上の欠陥ストリームから欠陥が生じた後、それらの欠陥は、重なり合うイベント、すなわちビット、バイト、コードワード、及びコードワード構造境界を越える流出、を説明する最終データ構造状態を作るために集められるべきである。集められたコードワードの構造は、どのバイトにおいて、またどのインターリーブされたコードワードにおいて欠陥が生じたかを判定するために分析される。
【００２９】
本発明に従う新しいモデルについての要求条件は下記を含む。
１）  バイト内のビットの表示と；
より大きな構造の中でのバイトの表示と；
インターリーブされていないものとしての又はインターリーブされているものとしての、希望に応じてのバイト解釈と；
でコードワード構造を表すデータ構造。
２）  到来の率の分布と；
欠陥サイズ分布と；
により各々記述される１つ以上の欠陥発生源。
３）  複数の重なり合う欠陥の同じコードワード構造への収容
エラーは他のエラーと重なり合わずに始まって終わることができる（独立）；
エラーは現存するエラーの中で始まるがそのエラーの終わりを越えて広がることができる（スパニング（ｓｐａｎｎｉｎｇ））；
エラーは現存するエラーの中で始まってその同じエラーの中で終わることができる（含まれる）。
４）  欠陥アライメントについての説明：
バイト境界と重なり合うビット・エラー；
コードワードのインターリービング境界と重なり合うバイト・エラー；及び
コードワード構造の中に進入或いは進出するエラー。
【００３０】
本発明のモデルの概観
本発明に従うモデルは、インターリーブされたコードワード対を表すビット構造と（このモデルは、インターリービング無しのコードワード或いは任意の数のインターリーブされたコードワードに拡張され得るけれども）、１つ以上の欠陥率ジェネレータと、１つ以上の欠陥長さジェネレータと、得られたビット、バイト及びコードワードの欠陥状態を組み立ててＥＣＣ推定にとって意味のあるデータ構造とするための手段とを含むシミュレーションである。
【００３１】
このモデルの基礎は、テープ媒体に沿って物理的長さを有する個々の或いはインターリーブされたコードワードを表すビットから構成されるコードワード・データ構造である。
【００３２】
ここで図２のフローチャートを参照すると、このモデルは下記のように欠陥をシミュレートし、その効果を推定する。
【００３３】
（１）  モデルのパラメータが指定される（ステップ２００）。これは、各々の確率推定のための、ビットによる欠陥の率及びサイズの記述、コードワード・データ構造のバイト及びインターリービングの記述、及び処理されるコードワード・データ構造の数を含む。
【００３４】
（２）  欠陥発生源からのビット欠陥が、シミュレートされたテープ空間において生成される（ステップ２０２）。実世界欠陥発生源は、ノイズ、媒体粒子、コーティング欠陥、媒体折り目、テープの傷及びヘッド・テープ間トラッキング・エラーのようなランダム欠陥及び媒体欠陥を含む。各欠陥発生源が欠陥のストリームを生じさせる。各欠陥がコードワード・データ構造の中で開始ビット位置と終止ビット位置とを有する。各欠陥ストリームにおける欠陥の数、位置及びサイズは確率分布から引き出される。欠陥発生源に起因する欠陥の数は現在のコードワード・データ構造においてはゼロであり得る。本発明では、欠陥を含まないコードワード・データ構造はこのステップ（２）を超えて処理されなくても良く、これにより多数のコードワード・データ構造を処理することが可能になる。
【００３５】
（３）  欠陥ストリームがコードワード・データ構造の中のビットに割り当てられる（ステップ２０４）。重なり合うビット欠陥は、マージされて、位置及びサイズの両方を有するユニークな欠陥領域とされる（ステップ２０６）。各コードワード・データ構造は、複数の欠陥発生源の結果である不特定の数のユニークな欠陥領域を有し得る。すなわち、各欠陥の開始位置及びサイズの両方が確率分布から引き出されるので、１つの欠陥発生源に起因するコードワード構造内の欠陥の数はそれ自体が確率変数である。
【００３６】
（４）  ユニークな、マージされた欠陥ビット領域はバイトに割り当てられ、これにより欠陥バイトを生じさせる（ステップ２０８）。インターリービング・ファクタに依存して、コードワード内の欠陥のあるバイトの数を作るために欠陥バイトが数えられる。本発明では、コードワード・データ構造の実際のビット及びバイトは処理を必要としない。むしろ、欠陥は、その開始ビット位置及び終止ビット位置により記述される。これらの記述だけが処理され、これにより本発明の効率が大いに向上する。
【００３７】
（５）  結果は、処理されたコードワードの数と、正確にｋ個の誤っているバイトを有するコードワードの数とのヒストグラムを含むアレイであり、ここでｋ＝［０．．．ｍ］である（ステップ２１０）。もしインターリービングが使用されるならば、コードワード対の中のコードワードの各々について値が入手可能である。
【００３８】
モデルの詳細
モデル入力
本発明は、次に図３及び４のブロック図を参照してより詳しく記述される。下記のサンプル・パラメータ３００はモデルの１つのランを記述する。明瞭性を得るために、パラメータはＣプログラミング言語における’擬似構造'として示されている。２つの欠陥発生源が含まれている、すなわちビット欠陥と媒体欠陥とが。実際には、任意の数の欠陥発生源が導入され得る。
ｔｙｐｅｄｅｆ  ｓｔｒｕｃｔ｛
ｂＤＲ；                ／／メートルあたりの欠陥数で表されるビット欠陥率
ｂＤＳ；                ／／ビット欠陥あたりの平均ビット数で表されるビット欠陥                              サイズ
ｍＤＲ；                ／／メートルあたりの欠陥数で表される媒体欠陥率
ｍＤＳ；                ／／媒体欠陥あたりの平均ビット数で表される媒体欠陥サイ                              ズ
Ｉｎｔｅｒｌｅａｖｅ；  ／／コードワード構造あたりのインターリブされているコー                              ドワードの数
ＣＷｂｙｔｅｓ          ／／コードワードあたりのバイトの数
ｂｐｍｍ；              ／／ミリメートルあたりのビット数として与えられる物理的                              ビット・サイズ
ＣＷＳ；                ／／１つの推定のために処理されるコードワード構造の数
｝ＭＯＤＥＬ＿ＰＡＲＡＭＳ；
【００３９】
コードワード・データ構造
コードワード・データ構造は、インターリーブされたコードワード構造における全てのビットの数を表すアレイである。この説明のために、その構造は、コードワード対と呼ばれる２つのインターリーブされたバイト・ストリームから成る。プロセスは、インターリーブが無い場合と２より大きなファクタを有するインターリーブの場合とについて類似している。
【００４０】
処理速度を高めるために、コードワード・データ構造は、ビット又はバイトの数を含むアレイとしては実現されない。大多数のコードワード・データ構造は欠陥を全く含まないので、このようなインプリメンテーションは非常に効率が悪い。むしろ、構造はＮ×２アレイで実現され、このＮはコードワード・データ構造内のユニークな欠陥領域の数である。Ｎは、欠陥が生じていないコードワード・データ構造についてはゼロである。各欠陥領域は２つの値、すなわち、コードワード・データ構造におけるその欠陥領域が始まるところのビット番号と、その領域が終わるところのビット番号と、により記述される。ユニークな欠陥領域の数はアプリオリに分かっているわけではないので、アレイはコードワード・ジェネレータ３０２及びインターリーバ３０４において動的に構築される。
ｔｙｐｅｄｅｆ  ｓｔｒｕｃｔ｛
ｓｔａｒｔ；        ／／欠陥が始まるところのビット番号
ｓｔｏｐ；      ／／欠陥が終わるところのビット番号
｝  ＤＥＦＥＣＴ；
ＤＥＦＥＣＴ            ＤｅｆｅｃｔＡｒｒａｙ［ｎ］；  ／／欠陥のアレイ。ｎ＝ユ                                                            ニークな欠陥
【００４１】
コードワード欠陥を作る
欠陥ジェネレータ３０６は、欠陥率、欠陥サイズ及び欠陥が発生し得るビット（セル）の総数を用いて各欠陥発生源について欠陥を作るためにＣｒｅａｔｅＤｅｆｅｃｔ（欠陥作成）アルゴリズムを使用する。
［ｌｏｃａｔｉｏｎ，ｌｅｎｇｔｈ，ｎｕｍ＿ｄｅｆｅｃｔｓ］＝ＣｒｅａｔｅＤｅｆｅｃｔ（ｄｅｆｅｃｔ＿ｒａｔｅ，ｄｅｆｅｃｔ＿ｓｉｚｅ，ｎｕｍ＿ｂｉｔｓ）
【００４２】
このモジュールは、ｎｕｍ＿ｂｉｔｓを有するコードワード・データ構造の中の多くの欠陥に対してゼロを作る。欠陥は、ｄｅｆｅｃｔ＿ｒａｔｅ（欠陥率）平均値の指数分布を用いて作られる。各々の作られる欠陥の、ビット数で表されるサイズは、ｄｅｆｅｃｔ＿ｓｉｚｅ平均値の指数分布から引き出される。欠陥は、次の欠陥がコードワード構造の末尾を越えて始まるまで作られる。最初の欠陥がコードワード構造の末尾を越えて発生したならば、コードワード構造の中に欠陥は発生しない。機能は、各欠陥についての欠陥位置とビット数で表した長さとのマトリックスと、発生した欠陥の数とを戻す。コードワード構造内に欠陥が発生しなければ、アレイの長さはゼロである。
【００４３】
ＣｒｅａｔｅＤｅｆｅｃｔｓ（欠陥作成）は、モデリングされるべき欠陥発生源のタイプと同じ数だけ走らされる。例えば、ランダム・エラーは、ランダム・エラーに対応する欠陥率及び欠陥サイズを用いて作られ得、媒体エラーは媒体欠陥エラーに対応する欠陥率及び欠陥サイズを用いて作られ得る。ＣｒｅａｔｅＤｅｆｅｃｔｓの各インスタンスは、評価されるコードワード・データ構造について、それ自身の、欠陥位置及び長さのアレイを作る。単一のモデル・ランが非常に多くのコードワード・データ構造を処理することができる。
【００４４】
欠陥同士を合体させる
フィルタ３０８Ａ及び３０８Ｂは、いずれかの欠陥ストリーム中のコードワード・データ構造が欠陥を含むか否かを判定する。コードワード・データ構造が欠陥を含んでいなければ、そのコードワード・データ構造についてはそれ以上の処理は不要である。１つ以上の欠陥を実際に含むいずれかのストリーム中のコードワード・データ構造は、合体させられて最短の残存欠陥とされるべく夫々アレイ３１０Ａ及び３１０Ｂの中に残される。欠陥は、２つの理由から合体を必要とし得る。第１に、欠陥ストリームは、それ自身の欠陥のうちの他の欠陥と重なり合う欠陥を作り得る。これは、次の欠陥の到来間時間が現在の欠陥の長さより短いときに発生する。第２に、複数の欠陥ストリームの欠陥が重なり合う可能性がある。
【００４５】
４つのタイプの欠陥イベントがある。すなわち、重なり合わず、合体せず、従って変更されない独立の欠陥。重なり合い、集められてより大きな欠陥とされるスパニング欠陥。他の欠陥に完全に含まれる被包含欠陥（ｃｏｎｔａｉｎｅｄ  ｄｅｆｅｃｔｓ）は包摂される。コードワード・データ構造の中に延びこみ或いはコードワード・データ構造の外へ延びだす欠陥はコードワード境界で切り縮められる。
【００４６】
図５は、いろいろなタイプの欠陥を含むコードワード・データ構造を表している。欠陥Ａは、他のどの欠陥とも重なり合わないので独立の欠陥である。欠陥Ｂ及びＣは、互いに重なり合うスパニング欠陥であり、合体させられてビット４から７までの拡張欠陥長さとされる。欠陥Ｅは、欠陥Ｄに関して完全に包含され、包摂され、新しい効果をもたらさない。欠陥Ｆはコードワード・データ構造の外へ延びだしているので、ビットＫ−１の末尾で切り縮められる。
【００４７】
本発明のモデルの性質は、全ての欠陥発生源の１操作での効率的合体を可能にする。この単純化は、効率を高めるために合体ステップのシーケンスが変更され得ることに注目することから生じる。欠陥ストリームが夫々独立に処理されるのであれば、合体プロセスは、各々の欠陥ストリームについて欠陥同士を合体させ、合体させられた欠陥のストリーム同士を結合し、その後に、その結果としての結合されたストリームを合体させることである。その代わりに欠陥ストリーム同士を結合し、その後にその結合後の欠陥ストリームを合体させれば、高効率で同じ結果を得ることができる。各欠陥発生源についての欠陥がその開始ビット番号とビット数で表された長さとによってのみ記述されるので、このモデルにより合体が効率的に行われる。（開始ビット番号とビット数で表された長さとを用いる欠陥記述が開始ビット番号及び終止ビット番号を用いる記述と交換し得ることが認められるであろう。）更に、開始欠陥位置は各々の欠陥発生源について単調に増大することが分かっている。
【００４８】
複数の欠陥ストリームがコンバイナ３１２で結合され、処理されて、全ての欠陥がマージされている最終のコードワード・データ構造とされる。全ての発生源からの個々の欠陥ストリームは始めに連結されて１つのアレイとされる。そのアレイは、次に、ソータ３１４で開始位置により昇順にソートされる。ソートされたアレイは、最終コードワード・データ構造３１８を作るためにコアレッサ３１６で合体アルゴリズムにより処理される。
【００４９】
合体アルゴリズム
本発明の合体アルゴリズムは、再びＣプログラミング言語における'擬似構造'として提示され、下記のように欠陥アレイを処理する。
Ｃｕｒｒｅｎｔ＿Ｓｔａｒｔ＝Ｇｅｔ＿Ｓｔａｒｔ＿ｏｆ＿Ｃｕｒｒｅｎｔ＿Ｄｅｆｅｃｔ（）；
Ｃｕｒｒｅｎｔ＿Ｓｔｏｐ＝Ｇｅｔ＿Ｓｔｏｐ＿ｏｆ＿Ｃｕｒｒｅｎｔ＿Ｄｅｆｅｃｔ（）；
ｗｈｉｌｅ（ｄｅｆｅｃｔｓ＿ｒｅｍａｉｎ＿ｔｏ＿ｂｅ＿ｐｒｏｃｅｓｓｅｄ）
｛
Ｃｕｒｒｅｎｔ＿Ｓｔａｒｔ＝Ｇｅｔ＿Ｓｔａｒｔ＿ｏｆ＿Ｃｕｒｒｅｎｔ＿Ｄｅｆｅｃｔ（）；
Ｃｕｒｒｅｎｔ＿Ｓｔｏｐ＝Ｇｅｔ＿Ｓｔｏｐ＿ｏｆ＿Ｃｕｒｒｅｎｔ＿Ｄｅｆｅｃｔ（）；
Ｎｅｘｔ＿Ｓｔａｒｔ＝Ｇｅｔ＿Ｓｔａｒｔ＿ｏｆ＿Ｎｅｘｔ＿Ｄｅｆｅｃｔ（）；
Ｎｅｘｔ＿Ｓｔｏｐ＝Ｇｅｔ＿Ｓｔｏｐ＿ｏｆ＿Ｎｅｘｔ＿Ｄｅｆｅｃｔ（）；
ｉｆ（Ｃｕｒｒｅｎｔ＿Ｓｔｏｐ＜Ｎｅｘｔ＿Ｓｔａｒｔ）
｛  次の欠陥は現在の欠陥とは無関係である（Ｔｈｅ  ｎｅｘｔ  ｄｅｆｅｃｔ  ｉｓ  ｉｎｄｅｐｅｎｄｅｎｔ  ｏｆ  ｔｈｅ  ｃｕｒｒｅｎｔ  ｄｅｆｅｃｔ）
次の欠陥を処理する（Ｐｒｏｃｅｓｓ  ｔｈｅ  ｎｅｘｔ  ｄｅｆｅｃｔ）
｝
ｅｌｓｅｉｆ（Ｎｅｘｔ＿Ｓｔｏｐ＜＝Ｃｕｒｒｅｎｔ＿Ｓｔｏｐ）
｛  次の欠陥はこの欠陥の中で開始し終止する（Ｔｈｅ  ｎｅｘｔ  ｄｅｆｅｃｔ  ｓｔａｒｔｓ  ａｎｄ  ｅｎｄ  ｉｎ  ｔｈｉｓ  ｄｅｆｅｃｔ）
それは完全に包含されている（Ｉｔ  ｉｓ  ｗｈｏｌｌｙ  ｃｏｎｔａｉｎｅｄ）
次の欠陥を処理する（Ｐｒｏｃｅｓｓ  ｎｅｘｔ  ｄｅｆｅｃｔ）
｝
ｅｌｓｅ
｛
そのときこれが真である（Ｔｈｅｎ  ｔｈｉｓ  ｉｓ  ｔｒｕｅ）：  Ｎｅｘｔ＿Ｓｔａｒｔ＜＝Ｃｕｒｒｅｎｔ＿Ｓｔｏｐ
次の欠陥はこの欠陥の中で開始するけれどもその外に延び出す（Ｔｈｅ  ｎｅｘｔ  ｄｅｆｅｃｔｓ  ｓｔａｒｔｓ  ｉｎ  ｔｈｉｓ  ｄｅｆｅｃｔ  ｂｕｔ  ｓｐａｎｓ  ｏｕｔ  ｏｆ  ｉｔ）
Ｃｕｒｒｅｎｔ＿Ｓｔｏｐ＝Ｎｅｘｔ＿Ｓｔｏｐ；
次の欠陥を処理する（Ｐｒｏｃｅｓｓ  ｔｈｅ  ｎｅｘｔ  ｄｅｆｅｃｔ）
｝
｛
【００５０】
表ＩＩは、合体プロセスの結果を示す。アルゴリズムを説明するためにビット位置の値は工夫されているが、実際には欠陥は遥かに低い頻度で発生する。ランダム欠陥は欠陥発生源のうちの１つからの欠陥であり、媒体欠陥は第２の欠陥発生源からの欠陥である。これらが実際に'ランダム'欠陥或いは'媒体'欠陥であるかどうかは重要ではない。合体の目的のために、それらは単にコードワード・データ構造における開始位置及び終止位置の異なる集合に過ぎない。合体後の欠陥は、コードワード・データ構造における最終の、マージされた欠陥位置を表す。
【００５１】
【表２】
2009514078.tif 000007
【００５２】
ランダム欠陥では単一独立のビットのエラーがビット２３で発生することに注目されたい。より長い独立のエラーがビット５４３から開始して発生する。スパニング欠陥がビット６７９から始まって１２２３で終止する、なぜならば６７９及び７９１から始まる欠陥は重なり合う領域を有するからである。被包含欠陥がビット８７３から始まってビット１０２１で終わり、その両方の値は７９１から始まって１２２３で終わる欠陥の中に完全に含まれている。３９２８から始まった欠陥は３９３６ビットのコードワード・データ構造の外へ延び出している。従って、それは３９３５で切り縮められた。
【００５３】
媒体欠陥は全て互いに無関係である。しかし、７２３から始まる欠陥が６７９から９９５までのランダム欠陥の中に含まれていることに注目されたい。３４５６から３４５７までのランダム欠陥は３４５８から３５０１までの媒体欠陥と結合する。
【００５４】
欠陥処理
コードワード・データ構造内の誤っているバイトの数と、それらの、２方インターリーブが用いられる場合における偶数コードワード対又は奇数コードワード対への分配とは、欠陥プロセッサ３２０においてビット番号をバイト番号に変換すると共にその結果として得られたどのバイト番号がコードワード・データ構造内のどのコードワードに属するかを認識することによって判定される。
【００５５】
ＰｒｏｃｅｓｓＤｅｆｅｃｔ（欠陥処理）アルゴリズムは欠陥開始ビット位置及び終止ビット位置のアレイ及びインターリービング・ファクタを受け入れる。その後、各欠陥について開始バイト及び終止バイトが判定され得て、各々のインターリーブされたコードワードにおけるエラーの数を示すアレイ３２２がもたらされる。
［ｅｖｅｎ＿ｅｒｒｏｓ，ｏｄｄ＿ｅｒｒｏｒｓ］＝ＰｒｏｃｅｓｓＤｅｆｅｃｔ（ｓｔａｒｔ＿ｂｉｔ，ｓｔｏｐ＿ｂｉｔ，ｉｎｔｅｒｌｅａｖｅ）
【００５６】
２方インターリーブについては、下記の擬似コードが変換を示す。
ｓｔａｒｔ＿ｂｙｔｅ＝ｆｌｏｏｒ（ｓｔａｒｔ＿ｂｉｔ／８）；
ｓｔｏｐ＿ｂｙｔｅ＝ｆｌｏｏｒ（ｓｔｏｐ＿ｂｉｔ／８）；
ｅｖｅｎ＿ｅｒｒｏｒｓ＝０；
ｏｄｄ＿ｅｒｒｏｒｓ＝０；
％コードワード構造エラーを合計して各々偶数バイト及び奇数バイトとする（％  Ｓｕｍ  ｃｏｄｅｗｏｒｄ  ｓｔｒｕｃｔｕｒｅ  ｅｒｒｏｒｓ  ｉｎｔｏ  ｅａｃｈ  ｔｈｅ  ｅｖｅｎ  ａｎｄ  ｏｄｄ  ｂｙｔｅｓ）
％結果は各インターリーブにおける合計のエラーである（％  Ｒｅｓｕｌｔ  ｉｓ  ｔｏｔａｌ  ｅｒｒｏｒｓ  ｉｎ  ｅａｃｈ  ｉｎｔｅｒｌｅａｖｅ．）
％２方インターリーブ（％  ｔｗｏ−ｗａｙ  ｉｎｔｅｒｌｅａｖｅ）
ｉｆ（ｉｎｔｅｒｌｅａｖｅ＝＝２）
ｆｏｒ  ｂｙｔｅ＝ｓｔａｒｔ＿ｂｙｔｅ：ｓｔｏｐ＿ｂｙｔｅ
ｏｄｄ＝ｍｏｄ（ｂｙｔｅ，２）；
ｉｆ  ｏｄｄ
ｏｄｄ＿ｅｒｒｏｒｓ＝ｏｄｄ＿ｅｒｒｏｒｓ＋１；
ｅｌｓｅ
ｅｖｅｎ＿ｅｒｒｏｒｓ＝ｅｖｅｎ＿ｅｒｒｏｒｓ＋１；
ｅｎｄ
ｅｎｄ
ｅｎｄ
【００５７】
確率を予測する
処理される多数のコードワード・データ構造の各々について、偶数コードワード及び奇数コードワードにおいて発生したエラーの数が判定されると、処理されるコードワードあたりの誤っているＮバイトの発生の確率が計算され得る３２４。例えば、下記の入力パラメータで２つの欠陥ストリームについてデモンストレーションが行われた。
処理されるコードワードの数：  ２，６２１，４４０
ランダム欠陥：
平均ｓｅｐ＝      ３７０，１９６．１［ビット］
平均サイズ＝                  ４．５［ビット］
媒体欠陥：
平均ｓｅｐ＝１１，１０５，８８２．４［ビット］
平均サイズ＝                １５．０［ビット］
【００５８】
その後、欠陥長さのヒストグラム（表ＩＩＩ）が生成され出力され得る。表ＩＩＩは、誤っている１つのバイトを有する偶数コードワード及び奇数コードワードの数、誤っている２つのバイトを有する偶数コードワード及び奇数コードワードの数、などを示す。処理されたコードワードの総数が分かっているので、このようなエラーが発生した率を計算することができる。
【００５９】
【表３】
2009514078.tif 000008
【００６０】
１つのコードワード内の誤っているバイトの数と、その様なイベントの確率とを推定するためにヒストグラム・データが使用され得る。エラー訂正コードはコードワードあたりに固定された既知の数までの誤っているバイトを訂正するように設計されるので、ヒストグラム・データは、コードがそれを訂正するべく設計されるところの誤バイトの総数とその様なコードが訂正できないコードワードの数又は訂正不能のエラーの発生の確率との両方を提案するために使用され得る。訂正され得ないコードワードの数はデータ損失を表すか、或いは他のレベルのエラー訂正処理を受け得る。
【００６１】
図６のプロットは、測定された実験室データと本発明のモデルの予測との緊密な一致を示している。このモデルが実際の性能を非常に高度に予測することが認められる。モデル・パラメータは、予期される物理的値の範囲内にある。それらは下記のとおりであった。
ランダム欠陥率                      ３５イベント／メートル
ランダム欠陥サイズ                  ５．５ビット平均値
媒体欠陥率                  １０イベント／メートル
媒体欠陥サイズ              ５０ビット平均値
【００６２】
本発明は完全に機能するデータ処理システムと関連して記載されたけれども、本発明のプロセスが命令のコンピュータ可読媒体の形及び種々の形で配布され得ることを当業者が認めるであろうこと、また、その配布を実行するために実際に使用される信号担持媒体の具体的タイプに関わらず本発明が適用されることに注目することは重要である。コンピュータ可読媒体の例は、フロッピー（登録商標）・ディスク、ハード・ディスク・ドライブ、ＲＡＭ、及びＣＤ−ＲＯＭのような記録可能型の媒体と、デジタル通信リンク及びアナログ通信リンクのような伝送型媒体とを含む。
【００６３】
本発明の記述は、例証及び記述を目的として提示されたけれども、網羅的であること或いは開示された形に発明を限定することは意図されていない。多くの改変及び変形が当業者にとっては明らかである。実施態様は、発明の原理、実際的応用を最善に説明するために、また、他の当業者が意図されている特定の用途に適する種々の改変を有する種々の実施態様について発明を理解できるように選択され記述された。更に、方法及びシステムに関して上で記述されたけれども、当該技術分野におけるニーズは、通信システムのエラー特性をモデリングするための命令を含むコンピュータ・プログラム製品でも満たされ得る。
【図面の簡単な説明】
【００６４】
【図１】標準的モデルと観察されたシステムとについての、特定のバイト長のエラーの発生の確率のプロットである。
【図２】本発明のプロセスのフローチャートである。
【図３】本発明を実施し得るシステムのブロック図である。
【図４】本発明を実施し得るシステムのブロック図である。
【図５】合体前のコードワード・データ構造を示す。
【図６】本発明に従うモデルと観察されたシステムとについての、特定のバイト長のエラーの発生の確率のプロットである。
【図１】
2009514078.tif 000009
【図２】
2009514078.tif 000010
【図３】
2009514078.tif 000011
【図４】
2009514078.tif 000012
【図５】
2009514078.tif 000013
【図６】
2009514078.tif 000014
【手続補正書】
【提出日】平成21年2月3日(2009.2.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
通信システムのエラー特性をモデリングする方法であって、
複数のコードワードを含む１つの数のシミュレートされる欠陥ストリームを確立するステップと、
各々のシミュレートされる欠陥ストリームについて、
平均欠陥間隔を指定するステップと
平均欠陥サイズを指定するステップと、
各々のシミュレートされる欠陥ストリームについて欠陥アレイを生成するステップであって、コードワードの中の各欠陥の開始位置及び終止位置を前記欠陥アレイに格納することを含む前記欠陥アレイを生成するステップと、
各データ・ストリームから生成された前記欠陥アレイを連結して１つの新しい欠陥アレイとするステップと、
前記新しい欠陥アレイ内の重なり合う欠陥同士をマージするステップと、
前記マージされた欠陥を前記コードワードに割り当てるステップと、
誤っているｋ個のバイトを有する処理されたコードワードの数のヒストグラムを生成するステップであって、ｋ＝［０．．．ｍ］でありｍが所定の最大数に等しい前記ヒストグラムを生成するステップと、
コードワード・エラーの数及び位置とエラー訂正コードのエラー訂正能力とに基づいて、前記エラー訂正コードにおける失敗の確率を推定するステップと、
を含む、通信システムのエラー特性をモデリングする方法。
【請求項２】
前記指定された平均欠陥間隔に等しい平均値を有する開始位置の指数分布の観察から前記開始位置を生成するステップと、
前記指定された平均欠陥サイズに等しい平均値を有する開始位置の指数分布の観察から前記終止位置を生成するステップと、
を更に含む、請求項１の方法。
【請求項３】
コードワードが欠陥を含まなければ次のコードワードを処理するステップを更に含む、請求項１の方法。
【請求項４】
重なり合う欠陥同士をマージするステップは、前記新しい欠陥アレイ内の欠陥に対して論理和を実行するステップを含む、請求項１の方法。
【請求項５】
重なり合う欠陥同士をマージするステップは、
昇順開始ビットにより前記新しい欠陥アレイをソートするステップと、
前記欠陥の開始ビット及び終止ビットを対応するバイト位置に変換するステップと、
得られた欠陥バイト同士を合体させるステップと、
を含む、請求項１の方法。
【請求項６】
コードワード構造がインターリーブされた偶数コードワード及び奇数コードワードを含む場合、前記欠陥を割り当てるステップは、
偶数コードワードにおいて、その偶数コードワード内の誤っているバイトの数を判定するために、欠陥がその中で開始し、継続しまたは終止するところのバイトの数を合計するステップと、
奇数コードワードにおいて、その奇数コードワード内の誤っているバイトの数を判定するために、欠陥がその中で開始し、継続しまたは終止するところのバイトの数を合計するステップと、
を含む、請求項１の方法。
【請求項７】
処理されるコードワードあたりにＮ個の誤っているバイトが生じる確率を更に計算する、請求項１のシステム。
【請求項８】
通信システムのエラー特性をモデリングするためのシステムであって、
シミュレートされるコードワードをインターリーブするためのインターリーブ数と、
夫々のシミュレートされる欠陥発生源からの複数のシミュレートされる欠陥ストリームの数を特定する値と、
各々のシミュレートされる欠陥ストリームについての、ビット数で表された平均欠陥間隔及びビット数で表された平均欠陥サイズと、
を含む欠陥パラメータを受け取るように構成された入力と、
シミュレートされるコードワードのストリームを生成するように構成されたコードワード・ジェネレータと、
前記シミュレートされるコードワードを前記入力されたインターリーブ数に従ってインターリーブし、コードワード・データ構造のストリームを出力するように構成されたコードワード・インターリーバと、
シミュレートされる欠陥を前記入力されたパラメータに従って前記コードワード・データ構造ストリームに注入し、前記シミュレートされる欠陥ストリームを出力するように構成された欠陥ジェネレータと、
各々のシミュレートされる欠陥ストリーム内の各欠陥についてその欠陥の開始位置及び終止位置を各々含むエントリを有する結合欠陥アレイと、
重なり合うシミュレートされる欠陥同士を合体させるように構成されたマージ・モジュールと、
各コードワード・データ構造内の誤っているバイトの数を判定するように構成された欠陥プロセッサと、
を含む、通信システムのエラー特性をモデリングするためのシステム。
【請求項９】
前記欠陥プロセッサに結合されて、各コードワード・データ構造内の誤っているバイトの数の視覚表示を出力するように構成されているヒストグラム・ジェネレータを更に含む、請求項８のシステム。
【請求項１０】
各々のシミュレートされる欠陥ストリームに関連付けられて、前記シミュレートされる欠陥ストリームの中の、欠陥のあるビットを少なくとも１つ有するコードワード・データ構造のみを通過させるように構成されたフィルタを更に含む、請求項８のシステム。
【請求項１１】
前記マージ・モジュールは、
前記結合欠陥アレイ内の前記エントリを各欠陥の前記開始位置に基づいてソートするように構成されたソータと、
重なり合う欠陥同士を各欠陥の前記開始位置及び終止位置に基づいてマージして単一の欠陥とするように構成されたコアレッサと、
を含む、請求項８のシステム。
【請求項１２】
処理されるコードワードあたりにＮ個の誤っているバイトが生じる確率を計算するように構成された確率カルキュレータを更に含む、請求項８のシステム。
【請求項１３】
プログラマブルなコンピュータで使用され得るコンピュータ可読媒体のコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、通信システムのエラー特性をモデリングするためにその中で具体化されたコンピュータ可読コードを有し、前記コンピュータ可読コードは、コンピュータ・システムで実行されたときに前記コンピュータ・システムに請求項１から７までの方法を実行するように命令するための命令を含む、前記コンピュータ・プログラム製品。
【請求項１４】
通信システムのためのエラー訂正コードを設計する方法であって、
ａ）シミュレートされるコードワード・データ構造を画定するステップと、
ｂ）シミュレートされる欠陥発生源を各々表す１つ以上のシミュレートされる欠陥ストリームを画定するステップと、
ｃ）前記シミュレートされる欠陥ストリームの各々からゼロ個以上のシミュレートされる欠陥を有する欠陥の集合を生成するステップであって、各欠陥が前記シミュレートされるコードワード・データ構造の中の開始位置及び終止位置により画定される前記生成するステップと、
ｄ）前記シミュレートされる欠陥ストリームの全てについてゼロ個の欠陥が生成されるならば欠陥の次の集合についてステップｃ）を反復するステップと、
ｅ）欠陥の前記集合の中の前記シミュレートされる欠陥の前記開始位置及び終止位置をマージするステップと、
ｆ）マージされたシミュレートされる欠陥の数と位置とを判定するステップと、
ｇ）ステップｃ）からｆ）までを複数の繰り返し数反復するステップであって、各繰り返しが１つの処理されるコードワードを表す前記反復するステップと、
ｈ）処理されるコードワードあたりにＮ個の誤っているバイトが生じる確率を判定するステップと、
ｉ）データ・ストリーム中のエラーを、前記データ・ストリーム中のコードワードあたりに誤っているＮ（Ｎを含む）バイトまで、訂正するエラー訂正コードを設計するステップと、
を含む、通信システムのためのエラー訂正コードを設計する方法。
【請求項１５】
前記１つ以上のシミュレートされる欠陥ストリームを画定するステップは、
各々のシミュレートされる欠陥ストリームの中のシミュレートされる欠陥について平均欠陥間隔を確立するステップと、
各々のシミュレートされる欠陥ストリームの中のシミュレートされる欠陥について平均欠陥サイズを確立するステップと、
を含む、請求項１４の方法。
【請求項１６】
シミュレートされる欠陥の開始位置を画定するステップは、前記確立された平均欠陥間隔に等しい平均値を有する開始位置の観察された指数分布を適用するステップを含み、
シミュレートされる欠陥の終止位置を画定するステップは、前記確立された平均欠陥サイズに等しい平均値を有する開始位置の観察された指数分布を適用することを含む、
請求項１５の方法。
【請求項１７】
マージするステップは、
重なり合う欠陥同士を集めるステップと、
包含される欠陥を包摂するステップと、
前記コードワード・データ構造の境界を越えて延びる欠陥を切り縮めるステップと、
を含む、請求項１４の方法。
【請求項１８】
シミュレートされるコードワード・データ構造を画定するステップは、コードワード・インターリーブ・ファクタを確立するステップを含み、これによりコードワード・データ構造は少なくとも２つのインターリーブされたコードワードを含む、請求項１４の方法。
【請求項１９】
前記マージされたシミュレートされる欠陥を前記コードワード・データ構造内のインターリーブされている前記コードワードに割り当てるステップを更に含む、請求項１８の方法。
【請求項２０】
請求項１４から１９までの方法を実行する、通信システムのためのエラー訂正コードを設計するためのシステム。
【国際調査報告】
2009514078.tif 000015
2009514078.tif 000016
2009514078.tif 000017