(57)【特許請求の範囲】
【請求項１】
コーディング方法であって、
コードシーケンスを受信することと、
前記コードシーケンスを、複数の第１のコードセクションに分割することと、を含み、
前記第１のコードセクションは複数のビットを含み、
当該コーディング方法はさらに、
前記第１のコードセクションの中心に位置するビットを繰り返し、その他のビットを維持することで、その第１のコードセクションを、その第１のコードセクションよりも長い第２のコードセクションにコード化することと、
前記第２のコードセクションの最大ランレングスが所定長以上である場合、その第２のコードセクションの１つ以上のビットをフリップすること、
を含むコーディング方法。
【請求項２】
複数の前記第２のコードセクションそれぞれを並列に前記第１のコードセクションにデコードすることによって複数の前記第２のコードセクションに関連するコマンドをデコードすること、を含む請求項１に記載のコーディング方法。
【請求項３】
前記第１のコードセクションが、１つの５ビットブロックおよび２つの６ビットブロックを含む、請求項１に記載のコーディング方法。
【請求項４】
前記第２のコードセクションが、６ビットブロックおよび２つの７ビットブロックを含む、請求項３に記載のコーディング方法。
【請求項５】
前記第２のコードセクションの最大ランレングスは、最大の全体的ランレングス、最大ヘッダランレングス、又は最大テールランレングスである、請求項４に記載のコーディング方法。
【請求項６】
複数の前記第２のコードセクションを結合して、エンコードされたコードシーケンスを形成することを含む、請求項１に記載のコーディング方法。
【請求項７】
コードシーケンスを受信するコーディング回路を含むコーディングシステムであって、
前記コーディング回路が、
前記第１のコードシーケンスを複数の第１のコードセクションに分割し、
前記第１のコードセクションは複数のビットを含み、
前記コーディング回路がさらに、
前記第１のコードセクションの中心に位置するビットを繰り返し、その他のビットを維持することで、その第１のコードセクションを、その第１のコードセクションよりも長い第２のコードセクションにコード化することと、
前記第２のコードセクションの最大ランレングスが所定長以上である場合、その第２のコードセクションの１つ以上のビットをフリップさせること、
を含むコーディングシステム。
【請求項８】
複数の前記第２のコードセクションそれぞれを並列に前記第１のコードセクションにデコードすることによって複数の前記第２のコードセクションに関連するコマンドをデコードする、請求項７に記載のコーディングシステム。
【請求項９】
前記第１のコードセクションが、１つの５ビットブロックおよび２つの６ビットブロックを含む、請求項７に記載のコーディングシステム。
【請求項１０】
前記第２のコードセクションが、６ビットブロックおよび２つの７ビットブロックを含む、請求項９に記載のコーディングシステム。
【請求項１１】
前記第２のコードセクションの最大ランレングスは、最大の全体的ランレングス、最大ヘッダランレングス、又は最大テールランレングスである、請求項１０に記載のコーディングシステム。
【請求項１２】
前記コーディング回路は、さらに、複数の前記第２のコードセクションを結合して、エンコードされたコードシーケンスを形成するように構成される、請求項７に記載のコーディングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、一般に、ネットワークおよびデータ伝送の分野に関し、特に、高速シリアルリンクを用いるメモリシステム用のコーディングシステムに関する。
【背景技術】
【０００２】
データ通信では、データ通信のコーディング（エンコーディング／デコーディング）が普通である。例えば、ＰＣ拡張カードインタフェース（ＰＣＩｅ）およびシリアルハードディスクアクセス（ＳＡＴＡ）技術は、バイト指向のＤＣバランスがとられたランレングス８Ｂ／１０Ｂコーディングを用いる（米国特許第４，４８６，７３９号明細書を参照。また、１６Ｂ／２０Ｂ用には米国特許第５，６６３，７２４号明細書および同第６，６１７，９８４号明細書を参照）。このコーディングは、電子機器技術評議会（ＪＥＤＥＣ）コミュニティによって標準化されている。この従来のコーディングテクニックは、２つの特性を有する。すなわち、５以下のランレングスを保証し、ＤＣバランスが取れた出力を提供する。
【０００３】
８Ｂ／１０Ｂの第１の特性に関して、最大ランレングス特徴は、アナログＰＨＹ、すなわちシリアルラインにおけるデータ変化の検出を支援して、ビットエラーを最小化するために最適なプロービング位置を見つけようと試みるアナログＰＨＹに起因するビットエラーを最小化するために重要になり得る。しかしながら、シリアルデータが予想ほど変化しない場合には、ＰＨＹは、結果においてプロービング位置を決定するための情報をそれほど有さず、したがって、ビットエラーの可能性の増加に帰着する。さらに、最大可能距離は、ランレングスおよび反復する符号数などの観点から定義することができる。第２の特性に関して、ＤＣバランスが取れた出力は、シリアルリンクがＡＣ結合において実現される場合には重要になり得る。ほとんどの高速シリアルライン技術は、差動ワイヤに基づき、データは、２つのワイヤ間の差異を測定することによって検出される。コンパチビリティを向上させるために、単に、信号変化が、ＤＣ成分をブロックして宛先へ伝達される。この技術は、ＡＣ結合と呼ばれる。それには、実行面においていくつかの利点あるが、しかしそれには、入力制限がある。０の数および１の数は、一定期間内にバランスが取られなければならない。コードがこの要件を満たす場合には、それは、ＤＣバランスと呼ばれる。８Ｂ／１０Ｂコーディングは、かかる優れた特性を提供する。しかしながらそれは、著しい待ち時間を加える。例えば、８Ｂ／１０Ｂコードを用いて各バイトをエンコードすることができるが、しかし各コーディングは、ＤＣバランス要件を満たすために前の結果を参照すべきであり、その結果、計算は、段階的に行われる。８Ｂ／１０Ｂコーディング技術の大きな待ち時間は、低いメモリ性能に帰着し、したがってそれは、多くの場合、特に、モバイル装置の場合には望ましくない。モバイル装置を設計する場合に、メモリ性能は、本質的な要因と見なされる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、シリアルポートメモリテクノロジ（ＳＰＭＴ）は、それがメモリ領域において高速シリアルリンク技術を用いるという点で、従来のメモリ技術とは異なる。ＳＰＭＴを用いる場合に、待ち時間の低減は不可欠であるが、ＤＣバランスは必要とされない。したがって、どんなメモリ資源の複雑化もなしに、小さな待ち時間のコーディングを提供し、結果としてメモリ性能の改善をもたらすデータ通信コーディングシステムを有することが望ましい。
【課題を解決するための手段】
【０００５】
高速シリアルリンクを使用するメモリシステム用のコーディングシステムの実施形態を用いるための方法、装置およびシステムが提供される。例えば、１７ビット／２０ビット（１７Ｂ／２０Ｂ）コーディングシステムが用いられる。メモリの１７Ｂ／２０Ｂコードをエンコード／デコードするエンコーダ／デコーダとして働く１７ビット／２０ビットコーダを有する１７Ｂ／２０Ｂコーディングシステムである。この１７Ｂ／２０Ｂコーディングシステムは、単に、簡潔さおよび明確さのために例として本明細書全体にわたって使用され説明される。本発明のコーディングシステム技術の実施形態が、かなり多数のコーディングシステムと共に使用でき、かつ例えば、コーディングシステムを１７Ｂ／２０Ｂを超えて拡張するために使用できることを考慮し留意されたい。一実施形態において、コーディングシステムが、高速シリアルリンクを用いるメモリシステムにおいて用いられ、かつコーディングシステムは、５などの定義された数を超えないランレングスを保証する。繰り返すと、５以下のランレングスは、本明細書では例として用いられ、任意の最大ランレングス数を決定または予め決定することができ、かつコーディングシステムの実施形態を用いて、その最大ランレングス数を超えないように保証することができる。
【０００６】
一実施形態において、装置にはコーダが含まれる。第１のコードブロックおよび第２のコードブロックを含む着信ストリームを受信するコーダは、第１のコードブロックを第１の小さなコードブロックに分割し、第２のコードブロックを第２の小さなコードブロックに分割し、かつ１つまたは複数のシリアルリンクを通信用に用いるメモリをコーディングするが、コーディングには、第１のコードブロックの第１の小さなコードブロックおよび第２のコードブロックの第２の小さなコードブロックをコーディングすることが含まれ、第１および第２のコードブロックのコーディングは、最大ランレングスが維持されるように実行される。
【０００７】
一実施形態において、システムには、第１のコードブロックおよび第２のコードブロックを含む着信ストリームを受信し、第１のコードブロックを第１の小さなコードブロックに分割し、第２のコードブロックを第２の小さなコードブロックに分割し、かつ１つまたは複数のシリアルリンクを通信用に用いるメモリをコーディングするコーディング回路であって、コーディングが、第１のコードブロックの第１の小さなコードブロックおよび第２のコードブロックの第２の小さなコードブロックをコーディングすることを含み、第１および第２のコードブロックのコーディングが、最大ランレングスが維持されるように実行されるコーディング回路が含まれる。
【０００８】
一実施形態において、方法には、第１のコードブロックおよび第２のコードブロックを含む着信ストリームを受信することと、第１のコードブロックを第１の小さなコードブロックに分割することと、第２のコードブロックを第２の小さなコードブロックに分割することと、１つまたは複数のシリアルリンクを通信用に用いるメモリをコーディングすることと、が含まれるが、コーディングには、第１のコードブロックの第１の小さなコードブロックおよび第２のコードブロックの第２の小さなコードブロックをコーディングすることが含まれ、第１および第２のコードブロックのコーディングは、最大ランレングスが維持されるように実行される。
【０００９】
本発明の実施形態は、添付図面の図において、限定としてではなく例として示され、これらの図において、同様の参照数字は、同様の要素を指す。
【図面の簡単な説明】
【００１０】
【図１】ＳＰＭＴコマンドエンコーディングを用いる１７Ｂ／２０Ｂコーディングシステムの実施形態を示す。
【図２】１７Ｂ／２０Ｂコーディングシステムへの１７Ｂコードおよび２０Ｂコードのマッピングの実施形態を示す。
【図３Ａ】１７Ｂ／２０Ｂコードの１７Ｂコードを分割するためのプロセスの実施形態を示す。
【図３Ｂ】１７Ｂ／２０Ｂコードの２０Ｂコードを分割するためのプロセスの実施形態を示す。
【図４Ａ】最大ランレングス要件を保持しながら、１７Ｂ／２０Ｂコーディングシステムの５Ｂ／６Ｂセクションマッピングの実施形態を示す。
【図４Ｂ】最大ランレングス要件を保持しながら、１７Ｂ／２０Ｂコーディングシステムの５Ｂ／６Ｂセクションマッピングの実施形態を示す。
【図５】１７Ｂ／２０Ｂコーディングシステムの５Ｂ／６Ｂセクションマッピングにおけるエンコーディング表の実施形態を示す。
【図６Ａ】最大ランレングス要件を保持しながら、１７Ｂ／２０Ｂコーディングシステムの６Ｂ／７Ｂセクションマッピングの実施形態を示す。
【図６Ｂ】最大ランレングス要件を保持しながら、１７Ｂ／２０Ｂコーディングシステムの６Ｂ／７Ｂセクションマッピングの実施形態を示す。
【図７】１７Ｂ／２０Ｂコーディングシステムの６Ｂ／７Ｂセクションマッピングにおけるエンコーディング表の実施形態を示す。
【図８】１７Ｂ／２０Ｂエンコーディング／デコーディング用のプロセスの実施形態を示す。
【図９】プリエンコーディングを用いた待ち時間隠蔽を示す表の実施形態を示す。
【図１０Ａ】順次的な遷移コードデコーディングおよびコマンドデコーディング用の従来のプロセスを示す。
【図１０Ｂ】並列の遷移コードデコーディングおよびコマンドデコーディング用のプロセスの実施形態を示す。
【図１１】本発明の実施形態を実行可能なコンピュータシステムの実例である。
【発明を実施するための形態】
【００１１】
本発明の実施形態は、一般に、高速シリアルリンクを用いるメモリシステム用のコーディングシステムに関する。
【００１２】
本明細書で用いるように、「ネットワーク」または「通信ネットワーク」は、装置間でデジタルメディアコンテンツ（音楽、オーディオ／ビデオ、ゲーム、写真およびその他を含む）を伝達する相互接続ネットワークを意味する。エンターテイメントネットワークには、家庭におけるネットワークなどの個人エンターテイメントネットワーク、ビジネスの場におけるネットワーク、または装置および／もしくはコンポーネントの任意の他のネットワークを含んでもよい。ネットワークにおいて、あるネットワーク装置は、デジタルテレビチューナ、ケーブルセットトップボックス、ビデオ記憶サーバ、および他のソースデバイスなど、メディアコンテンツのソースであってもよい。他の装置は、デジタルテレビ、ホームシアターシステム、オーディオシステム、ゲーム機、および他の装置など、メディアコンテンツを表示または使用してもよい。さらに、ビデオおよびオーディオ記憶サーバなど、ある装置は、メディアコンテンツを記憶または転送することを目的としてもよい。ある装置は、多数のメディア機能を実行してもよい。いくつかの実施形態において、ネットワーク装置は、単一のローカルエリアネットワークに一緒に配置してもよい。他の実施形態において、ネットワーク装置は、ローカルエリアネットワーク間を通り抜けるなどによって、多数のネットワークセグメントにまたがってもよい。エンターテイメントネットワークには、多数のデータエンコーディングおよび暗号化プロセスを含んでもよい。
【００１３】
ＳＰＭＴは、それがメモリ領域において高速シリアルリンク技術を用いるという点で、従来のメモリ技術（例えば、ダイナミックランダムアクセスメモリ（ＤＲＡＭ））とは異なる。ＳＰＭＴを用いる場合に、待ち時間の低減は不可欠であるが、ＤＣバランスは必要とされない。例えば、（ＤＣバランスとは対照的な）ＤＣ結合リンクが提供され、メモリは、はんだ付け後にボードに装着されたままであり、したがってＤＣバランスが取られたコードは要求されない。さらに、ＳＰＭＴにとって、メモリ性能は、待ち時間に敏感である。なぜなら、シリアルリンクは、従来のＤＲＡＭインタフェースと比較して、さらに多くのサイクルを用いるからである。したがって、８Ｂ／１０Ｂコーディングなどの順次的で複雑なコーディングシステムは、それらがハードウェア待ち時間を劇的に増加させることになるので、ＳＰＭＴには適していない。
【００１４】
ＳＰＭＴは、最初はＤＲＡＭチップをターゲットとした新しいメモリインタフェースアーキテクチャと見なされるが、このアーキテクチャは、現在のメモリ技術において普通に見出されるようなパラレルインタフェースアーキテクチャとは対照的にシリアルインタフェースアーキテクチャを用いる。ＳＰＭＴは、典型的には、メモリ領域において高速シリアルリンク技術を用い、ホストおよびメモリ間に接続された場合には、低電力およびピン数の低減という利点を提供する。しかしながら、メモリ帯域幅要件が、高速リンクがサポートできるより高くなった場合には（例えば、数Ｇｂｐｓ）、多数のシリアルリンクを用いなければならない。したがって、ホストが、一度に多量のデータ（例えば、読み出しデータ、書き込みデータ）を送信することになる場合には、メモリには、多数のシリアルリンクまたはシリアルチャネルを通して多量のデータを伝達するのに十分な帯域幅を提供することになる。
【００１５】
メモリの１７ビット／２０ビットコードをエンコード／デコードする１７ビット／２０ビットエンコーダ／デコーダを含む１７ビット／２０ビットコーディングシステムを用いるための方法、装置およびシステムが提供される。一実施形態において、１７Ｂ／２０Ｂコーダを含む装置が提供される。１７Ｂブロックおよび２０Ｂブロックを含む着信ストリームを受信する１７Ｂ／２０Ｂコーダは、１７Ｂブロックを第１のブロックに分割し、２０Ｂを第２のブロックに分割し、かつ通信用に１つまたは複数のシリアルラインを用いるメモリの１７Ｂ／２０Ｂをコーディングするが、この場合に、コーディングには、１７Ｂブロックの第１のブロックおよび２０Ｂブロックの第２のブロックをコーディングすることが含まれ、第１および第２のブロックのコーディングは、最大ランレングスが維持されるように実行される。メモリのコーディングは、コマンドのコーディングと同時に実行されるが、コーディングには、エンコーディングまたはデコーディングが含まれ、コマンドのエンコーディングの選択によって、コードデコーダを通さないコマンドのデコーディングが可能になる。さらに、第２のブロックへの第１のブロックの結合を実行して、エンコードされた１７Ｂ／２０Ｂコードブロックを形成するが、この場合に、コーディングは、ＤＲＡＭ、スタティックランダムアクセスメモリ（ＳＲＡＭ）、読み出し専用メモリ（ＲＯＭ）およびフラッシュメモリ等に適用される。
【００１６】
本発明の実施形態は、１７ビットコードを２０ビットスペースにマッピングする（逆の場合も同様である）、５ビット以下のランレングスを有する１７Ｂ／２０Ｂコーディングシステムを提供する。これは、ＳＰＭＴ、ＤＲＡＭ、光ファイバなどの様々なシステムとコンパチブルな技術である。一実施形態において、余分のビット（１７番目のビット）が、コマンド／データを示すコマンドを含むコマンドビットとして用いられるために、１６ビットデータペイロードと共に設けられて、１７Ｂ／２０Ｂコードの実施形態を提供し、したがって、回路が手動で作図される場合にさえ（例えば、ＤＲＡＭの場合にさえ）ハードウェアインプリメンテーションは、実行が単純でより簡単であり、最小の待ち時間に帰着する。一実施形態において、１７Ｂ／２０Ｂコーディングは、様々なデータ伝送および記憶システムのかなり多数のコーディング要件を満たすために用いられ、一方で系統的な最適化のために待ち時間を低減するかまたは除去さえする。
【００１７】
図１は、ＳＰＭＴコマンドエンコーディングを用いる１７Ｂ／２０Ｂコーディングシステム１００の実施形態を示す。１７／２０Ｂコーディングシステム１００の図示の実施形態は、１７ビットエンコーディングにマッピングされた１９のＳＰＭＴコマンド１０２（例えば、ＳＹＮＣ、ＳＹＮＣ２、ＭＲＲ、ＭＲＷ、ＰＤＸ等）の１７Ｂ／２０Ｂエンコーディングを提供する。１７ビットエンコーディングドメイン１０４は、コマンドフィールドのサブサブコマンド（ＳｕｂＳｕｂＣＭＤ）１０６、サブコマンド（ＳｕｂＣＭＤ）１１０、コマンド（ＣＭＤ）１１２、バンク１０８、および２つのコマンドタイプフィールド１１４、１１６、すなわちコマンドのタイプを識別するために、それがコマンド（Ｃ）１１６かまたは活性化コマンド（ＡＣＴ）１１４かどうかを反映する２つのコマンドタイプフィールド１１４、１１６に分割される。ＡＣＴコマンド１１４（ビット１５）は、特別に処理されたコマンドである。なぜなら、それが長いアドレスを含むからである。（１８番目のビットと見なすことが可能な）列１０２は、コマンド名を列挙する。
【００１８】
コマンド１０２のコマンドタイプに依存して、かなり多数のビット１２２を、コマンド１０２を識別するために用いてもよい。例えば、コマンドＷＤＡＴ１０６の場合には、ドメイン１０４の１７番目のビットであるビット１６（Ｃ）は、１（１０８）を有することを識別するために用いられ、他の１６ビット０〜１５は、上部バイト１１０および下部バイト１１２として用いられる。同様に、コマンドＡＣＴ１１４の場合には、ドメイン１０４の１６番目のビットであるビット１５（ＡＣＴ）は、１（１１６）を有することを識別するために用いられ、ビット１６は０のままであり、一方で他の１５ビット（ビット０〜１４）には、下部行１１８が含まれる。さらに、コマンドＰＤＸ１２０の場合には、１７ビットの全て（ビット０〜１６）が、コマンドを識別するために用いられる。
【００１９】
１７Ｂ／２０Ｂコーディングシステム１００の図示の実施形態は、コマンドまたはデータを示す単一ビット１１６と、対応するデータペイロードを含む１６ビットと、を含む、（エン）コーディングドメイン１０４の１７ビットおよび（１９コマンド１０２を有する）コマンドの２０ビットのマッピングを用いる。回路が手動で作図される場合であっても、ＤＲＡＭなどの様々なメモリシステム／アーキテクチャにおいてコーディングシステム１００を実現できるように、コーディングシステム１００は、さらに、５以下のランレングスのマッピング、待ち時間の低減、およびハードウェアインプリメンテーションの簡略化を提供する。ランレングスは、０および１の連続する回数を指す。例えば、１０００１１のシーケンスは、それが３つのゼロを含むので、３のランレングスを有することになろう。同様に、１０１０１のシーケンスは、１のランレングスを有する。なぜなら、連続する０または１のシーケンスがないからである。
【００２０】
図２は、１７Ｂ／２０Ｂコーディングシステムへの１７Ｂコードおよび２０Ｂコードのマッピングの実施形態を示す。図示の実施形態において、１７Ｂ／２０コード２００は、１７Ｂ／２０Ｂコードの分割後に並列に計算されている。例えば、１７Ｂおよび２０Ｂコード２０２、２０４は、かなり多数の方法で分割してもよいが、図示の実施形態では、例えば、１７Ｂコード２０２は、５ビット２０６、６ビット２０８および６ビット２１０の３つのセクションに分割され、一方で２０Ｂコード２０４は、６ビット２１２、７ビット２１４および７ビット２１６の３つのセクションに分割される。１７Ｂコード２０２の３つのセクション２０６〜２１０は、２０Ｂコード２０４のセクション２１２〜２１６と共にマッピングされる。
【００２１】
図示のように、１７Ｂコード２０２の５Ｂ２０６は、２０Ｂコード２０４の６Ｂ２１２と共にマッピングされ、同様に６Ｂ２０８は、７Ｂ２１４と共にマッピングされ、６Ｂ２１０は、７Ｂ２１６と共にマッピングされる。次に、これらのマッピングされたセクションは、１７Ｂコード２０２および２０Ｂコード２０４に結合される。このプロセスは、図３Ａ〜３Ｂに関連してさらに説明する。一実施形態において、１７Ｂ／２０Ｂコード２００は、１７Ｂコード２０２および２０Ｂコード２０４をそれらのそれぞれのセクション２０６〜２１６に分割した後で、並列に計算される。セクション２０６〜２１６は、通信するために結合およびマッピングされるが、しかしそれらは、別個で並列のままであってもよい。
【００２２】
図３Ａは、１７Ｂ／２０Ｂコードの１７Ｂコード３０２を分割するプロセスの実施形態を示す。一実施形態において、１７Ｂコード３０２は、処理ブロック３０４において、５Ｂコードコードおよび２つの６Ｂコードの３つのコードセクションに分割される。処理ブロック３０６において、１７Ｂコード３０２の５Ｂコードは、１７Ｂ／２０Ｂコードにおける２０Ｂコードの６Ｂコードにマッピングされる。同様に、処理ブロック３０８において、１７Ｂコード３０２の６Ｂコードは、２０Ｂコードの７Ｂコードにマッピングされ、一方で１７Ｂコード３０２の６Ｂコードは、処理ブロック３１０において、２０Ｂコードの７Ｂコードにマッピングされる。処理ブロック３１２において、１７Ｂコード３０２の３つの分割されたコードセクションは、２０Ｂコードの３つの分割されたコードセクションと結合されて、１７Ｂ／２０Ｂコード３１４を形成する。
【００２３】
図３Ｂは、１７Ｂ／２０Ｂコードの２０Ｂコード３５２を分割するプロセスの実施形態を示す。一実施形態において、２０Ｂコード３５２は、処理ブロック３５４において、６Ｂコードコードおよび２つの７Ｂコードの３つのコードセクションに分割される。処理ブロック３５６において、１７Ｂ／２０Ｂコードにおける１７Ｂコードの５Ｂコードは、２０Ｂコード３５２の６Ｂコードにマッピングされる。同様に、処理ブロック３５８において、１７Ｂコードの６Ｂコードは、２０Ｂコード３５４の７Ｂコードにマッピングされ、一方で１７Ｂコードの６Ｂコードは、処理ブロック３６０において、２０Ｂコード３５２の７Ｂコードにマッピングされる。処理ブロック３６２において、２０Ｂコード３５２の３つの分割されたコードセクションは、１７Ｂコードの３つの分割されたコードセクションと結合されて、１７Ｂ／２０Ｂコード３６４を形成する。決定ブロック３６６において、ブロックのいずれかからエラーが検出されたかどうかに関して決定がなされる。エラーが検出された場合には、エラーは捨てられる３７０。そうでなければ、１７Ｂ／２０Ｂコード３６４は、有効と見なされる３６８。
【００２４】
図４Ａおよび４Ｂは、１７Ｂ／２０Ｂコーディングシステムの５Ｂ／６Ｂセクションマッピング４００、４５０の実施形態を示し、一方で最大ランレングス要件を保持する。１７Ｂ／２０Ｂ遷移コードなどの遷移コードの一特徴は、最大ランレングスである。この特徴を満たすために、各セクションは、この特徴を満たすように設計される。この特徴はまた、隣接するコードセクションの境界上でも満たされる。例えば、並列に計算を行うために、次の条件が用いられる。すなわち、（１）各セクションの最大ランレングスを５以下に維持することと、（２）ヘッダから数えたランレングスが２を超えないように維持することと、テールから逆に数えたランレングスが３を超えないことと、である。第２および第３の条件を用いれば、ランレングス特徴は、セクション境界およびコマンド境界の両方で満たされる。セクションコーディングは、基本遷移コードと見なされる「コードを反復すること」に基づいてもよく、「コード反復」において各ビットを反復することと比較すると、反復するための１ビットがターゲットスペースに存在する。各セクションのヘッドおよびテールからのランレングス特徴が存在するので、反復されるコードの適切な位置は、６ビット出力コードセクションの３番目のビット位置または７ビット出力コードセクションにおける４番目のセンタビットである。出力セクションコードが、これらの３つのランレングス特徴を満たす場合には、それは、有効な出力として提供される。そうでなければ、コードセクションは、センタビットをフリップするなど、新しいアルゴリズムを用いて再マッピングされる。
【００２５】
例えば、図４Ａを参照すると、２０Ｂのセクション６Ｂ４０４と共に１７Ｂのセクション５Ｂ４０２のマッピング４００が示されている。図４Ａは、センタビット４２０、４２２を複写する基本規則を示す。図示のように、ビットＡ４０６は、ビットＡ４１６と共にマッピングされ、同様にビットＢ４０８、Ｄ４１２、Ｅ４１４は、ビットＢ４１８、Ｄ４２４、Ｅ４２６と共にそれぞれマッピングされる。上記のように、中央ビットＣ４１０は、「コード反復」技術を用いて、中央ビットＣ４２０、４２２と共にマッピングされる。換言すれば、６ビット出力セクション４０４のセンタビットは、Ｃ４２０およびＣ４２２として２度複写または反復され、Ｃ４１０と共にマッピングされる。
【００２６】
ここで図４Ｂを参照すると、２０Ｂのセクション６Ｂ４５４と共に１７Ｂのセクション５Ｂ４５２のマッピング４５０が示されている。図４Ｂは、基本規則の結果が１つまたは複数のランレングス要件（例えば、５のランレングス、２のヘッダランレングスおよび３のテールランレングス）に違反する場合の例外的な規則を示す。図示のように、ビットＡ４５６は、ビットＡ４６６と共にマッピングされ、同様にビットＢ４５８、Ｄ４６２、Ｅ４６４は、ビットＢ'４６８、Ｄ'４７４、Ｅ４７６と共にそれぞれマッピングされる。上記のように、中央ビットＣ４６０は、「コード反復」技術を用いて、中央ビットＣ'４７０およびＣ４７２と共にマッピングされる。換言すれば、６ビット出力セクション４５４のセンタビットは、Ｃ'４７０およびＣ４７２として２度複写または反復され、Ｃ４６０と共にマッピングされる。ターゲットであるＢ４１８は、「０」を指し、一方でターゲットであるＢ'４６８は、「０」または「１」になり得る。同様に、Ｃ４２０およびＤ４２４はターゲットであるが、それらのそれぞれは「０」を含み、一方でＣ'４７０およびＤ'４７４はターゲットであるが、それらのそれぞれは「０」または「１」を含む。
【００２７】
図５は、１７Ｂ／２０Ｂコーディングシステムにおける５Ｂ／６Ｂセクションマッピングのエンコーディング表５００の実施形態を示す。図示の実施形態は、５Ｂ／６Ｂマッピング用のエンコーディング表５００を提供するが、一方で５の最大ランレングス、２の最大ヘッダランレングスおよび３の最大テールランレングスを保持する。３つの列には、５ビットシーケンスの第１の列５０２と、コード反復技術を用いて、第１の列５０２の５ビットシーケンスのそれぞれの第３のビットを反復することによる６ビット出力シーケンスの第２の列５０４と、１つまたは複数のランレングス要件を満たすことが必要な場合に、第３のディジットのフリッピング（例えば、０から１へ、または１から０へ）を要求する、第２の列５０４の選択されたシーケンスを有する第３の列５０６と、が含まれる。
【００２８】
図示の実施形態において、シーケンス５０８（０００００）は、シーケンス５０８の第３のビット０を反復したシーケンス５１０（００００００）にマッピングされる。今、シーケンス５１０（００００００）の６つの「連続する」ゼロは、５の最大ランレングス、２の最大ヘッダランレングス、および３のテール最大ランレングスに違反する。これらの違反を修正するために、図示のように、シーケンス５１０の第３のビット０は、１にフリップされてシーケンス５１２（００１０００）を提供するが、このシーケンス５１２は、５以下の全体的ランレングス（例えば、０も１も、連続５回を超えては記録されない）、２以下のヘッダランレングス（例えば、最初の２つの連続する０）、および３以下のテールランレングス（例えば、最後の３つの連続する０）の３つの要件を満たす。図示の実施形態において、３２行のうちの１４行５１４〜５４０が、１つまたは複数のランレングス要件の同様の違反問題を有し、それらは、かかる修正が第３の列５０６において提供される結果として修正される。
【００２９】
例えば、行５２０の場合には、シーケンス５４２（０００１１）は、０の複写された第３のビットを備えてシーケンス５４４（００００１１）として提供される。この場合に、シーケンス５４４（００００１１）は、５つを超えない連続する０または１しかないので５のランレングス要件を満たし、同様に、テールを形成する２つの連続する１しかないので３のテールランレングス要件を満たす。しかしながら、シーケンス５４４（００００１１）において、２のヘッダ要件は、ヘッダを形成する４つの連続する０を有するゆえに違反される。シーケンス５４４の第３のディジット０をフリップしたことによって、第３の列５０６においてシーケンス５４６（００１０１１）が形成され、それでこのシーケンス５４６は、ヘッダを形成する２つの０を有して、２のヘッダ要件を満たす。簡潔にするために、他のかかる行５１６〜５１８、５２２〜５４０は、詳細には論じないが、しかし行５１４、５２０に関連して説明するのと同様の技術を用いる。
【００３０】
表５００を綿密に観察すると、再マッピングを必要とするコードシーケンス（例えば、行５１４〜５４０）が、２つのグループにグループ化できることが分かる。すなわちそれらは、０００もしくは１１１で開始するか、またはそれらは、０００または１１１で終了する。これらの条件は、所与のコードシーケンスに依存して、別々にまたは同時に満たしてもよい。残念にも、２つのシーケンスパターン００１１１および１１０００の出力は、上記の例外的な規則が適用される場合には、他の出力と衝突する可能性がある。例えば、かかる奇数の事例を扱うためには、別の規則を用いてもよい。しかしながら、上記の例外的な規則を含む全ての規則、およびエンコーディング技術は、次の式のように説明することができる。
【数１】
0005875205.tif 000002
【００３１】
図６Ａおよび６Ｂは、１７Ｂ／２０Ｂコーディングシステムの６Ｂ／７Ｂセクションマッピング６００、６５０の実施形態を示し、一方で最大ランレングス要件を保持する。簡潔にするために、図４Ａおよび４Ｂに関連して説明した機能は、ここでは説明しない。図６Ａを参照すると、図４Ａの５Ｂ／６Ｂコードマッピングに関連して説明したように、セクションコード６０４の第３のビットＣ６２２、６２４を反復する基本規則が用いられ、セクションコード６０２の第３のビットＣ６１０と共にマッピングされる。図示のように、ビットＡ６０６は、ビットＡ６１８と共にマッピングされ、同様にビットＢ６０８、Ｄ６１２、Ｅ６１４、Ｆ６１６は、ビットＢ６２０、Ｄ６２６、Ｅ６２８、Ｆ６３０と共にそれぞれマッピングされる。
【００３２】
ここで図６Ｂを参照すると、基本規則の結果が１つまたは複数のランレングス要件（例えば、５のランレングス、２のヘッダランレングスおよび３のテールランレングス）に違反する場合の例外的な規則が示されている。図示のように、ビットＡ６５６は、ビットＡ６６８と共にマッピングされ、同様にビットＢ６５８、Ｄ６６２、Ｅ６６４、Ｆ６６６は、ビットＢ'６７０、Ｄ６７６、Ｅ'６７８、Ｆ６８０と共にそれぞれマッピングされる。上記のように、中央ビットＣ６６０は、「コード反復」技術を用いて、中央ビットＣ'６７２およびＣ''６７４と共にマッピングされる。換言すれば、７Ｂコード出力セクション６５４のセンタビットは、Ｃ'６７２、Ｃ''６７４として２度複写または反復され、６Ｂコード出力セクション６５２のＣ６６０と共にマッピングされる。さらに、ターゲットであるＢ６２０は、「０」を指し、一方でターゲットであるＢ'６７０は、「０」または「１」になり得る。同様に、Ｃ'６７２、Ｃ''６７４およびＥ'６７８は、ターゲットであり、それらのそれぞれは、「０」または「１」を含む。
【００３３】
図７は、１７Ｂ／２０Ｂコーディングシステムにおける６Ｂ／７Ｂセクションマッピングのエンコーディング表７００の実施形態を示す。簡潔にするために、図５に関連して既に説明した特徴の多くは、ここでは論じない。図示の実施形態は、６Ｂ／７Ｂマッピング用のエンコーディング表７００を提供し、一方で５の最大ランレングス、２の最大ヘッダランレングス、および３の最大テールランレングスを保持する。３つの列には、５ビットシーケンスの第１の列７０２と、コード反復技術を用いて、第１の列５０２の５ビットシーケンスのそれぞれの第３のビットを反復することによる６ビット出力シーケンスの第２の列７０４と、１つまたは複数のランレングス要件を満たすことが必要な場合に、第３のディジットのフリッピング（例えば、０から１へ、または１から０へ）を要求する、第２の列５０４の選択されたシーケンスを有する第３の列７０６と、が含まれる。図示の実施形態において、４２行のうちの２２行７１４〜７５６は、ランレングス要件を満たすために第３の列７０６を必要とする。
【００３４】
例えば、コードシーケンス７０８（０００００１）は、シーケンス７０８の第３のビット０を反復したコードシーケンス７１０（００００００１）にマッピングされる。今、コードシーケンス７１０（００００００１）の６つの「連続する」ゼロは、５の最大ランレングスおよび２の最大ヘッダランレングスに違反する。しかしながら、最終ディジット「１」がシーケンス７１０のテールを表すので、３のテール最大ランレングスは満たされる。他の２つのランレングス違反を修正するために、図示のように、シーケンス７１０の第３のビット０は、１にフリップされ、第３の列７０６においてシーケンス７１２（００１０００１）を提供するが、このシーケンス７１２は、５以下の全体的ランレングス（例えば、０も１も、連続５回を超えては記録されない）、２以下のヘッダランレングス（例えば、最初の２つの連続する０）、および３以下のテールランレングス（例えば、最後の１のディジット）の３つの要件を満たす。
【００３５】
図５と同様に、エンコーディング技術、およびランレングス要件を満たすために用いられる例外的な規則は、次の式によって要約することができる。
【数２】
0005875205.tif 000003
【００３６】
図８は、１７Ｂ／２０Ｂエンコーディング／デコーディング用のプロセスの実施形態を示す。一実施形態では、処理ブロック８０２において、１７Ｂおよび２０Ｂコードシーケンスは、１７Ｂコードシーケンスが５Ｂ、６Ｂおよび６Ｂコードシーケンスに分割される一方で２０Ｂコードシーケンスが６Ｂ、７Ｂおよび７Ｂコードシーケンスに分割されるように、多数のシーケンスに分割される。処理ブロック８０４において、１７Ｂコードシーケンスの３つのコードシーケンスは、２０Ｂコードシーケンスの３つのコードシーケンスと共にマッピングされる。コードシーケンスの分割が、３つのより小さなコードシーケンスなど、かなり多数のサイズもしくは数もしくは形態で行うことができること、またはかかるコードシーケンスの、他のコードシーケンスとのマッピングが、単に例として本明細書で提供され、本発明の実施形態が、かかる例に限定されないことが、意図されている。
【００３７】
処理ブロック８０６において、１つまたは複数の待ち時間低減技術が、待ち時間を低減または最小化するために適用される。例えば、１７Ｂ／２０Ｂコードおよびそれらの多数のコードシーケンスのコマンドデコーディングおよびコードデコーディングは、図１０にあるように、コードドメインにおいて並列に実行される。さらに、ランレングス要件が満たされることを保証するために、様々なプロセスが実行される８０８。これらのプロセスは、図４Ａ、４Ｂ、５、６Ａ、６Ｂおよび７に関連して論じられる。決定ブロック８１０において、５ビットの全体的な最大ランレングス要件が満たされているかどうかに関して、決定がなされる。満たされていない場合には、処理ブロック８１２において、（コードシーケンスのディジットをフリップすることなどによって）要件が満たされる。満たされている場合には、プロセスは決定ブロック８１４に進み、この決定ブロック８１４において、２ビットの最大ヘッダランレングス要件が満たされているかどうかに関して、決定がなされる。満たされていない場合には、処理ブロック８１６において、（コードシーケンスのディジットをフリップすることなどによって）要件が満たされる。満たされている場合には、プロセスは決定ブロック８１８に進み、この決定ブロック８１８において、３ビットの最大テールランレングス要件が満たされているかどうかに関して、決定がなされる。満たされていない場合には、処理ブロック８２０において、（コードシーケンスのディジットをフリップすることなどによって）要件が満たされる。満たされている場合には、全てのランレングス要件が満たされ、１７Ｂ／２０Ｂコードシーケンスが、ブロック８２２において提供される。
【００３８】
図９は、エンコードされたコマンド表９００の実施形態を示す。一実施形態において、プリデコーディングを用いた待ち時間隠蔽と同様に、待ち時間隠蔽が、１７Ｂ／２０Ｂコード技術の表９００の結果を用いて達成される。また、プリコーディングを用いた待ち時間隠蔽を、１７Ｂ／２０Ｂコーディング技術の利点を用いて遂行することができる。表９００の図示の実施形態には、２０ビットドメイン９０２において定義されるようなＳＰＭＴコマンドエンコーディングが含まれる。これらの１９のＳＰＭＴコマンド９０４は、２０ビットコードスペースまたはドメイン９０２において提供される。一実施形態において、５Ｂ／６Ｂおよび６Ｂ／７Ｂコードスキームまたはシーケンスは、コードシーケンスのセンタビットを反復することなどの「コード反復」技術に基づいており、コードシーケンスは、そのヘッダビットおよびテールビットを保持する特性を有してもよい。この特性を用いることによって、デコーディングプロセスの初期段階においてコマンドのデコーディングを実行することが可能になり、これは、利点として働く。コマンドビットには、２０番目のビットを表すコマンド（Ｃ）９０６が含まれ、アクションコマンド（ＡＣＴ）９０８は、ビット１８（１９番目のビットを表す）において提供される。次の数ビット１４〜１７は、ＣＭＤフィールド９１０を表し、全てのコマンドは、６ビットを調べることによって、ここでデコードすることができる。例えば、６ビットをそれぞれ有する任意のさらなるコードシーケンス区画（例えば、第２のコードシーケンス、第３のコードシーケンス）は、バンク９１４（ビット５〜８を占める）などの固定されていないフィールドを有してもよい。各コマンド用のエンコーディングの注意深い選択によって、コードは、バンク値から独立して出力スペースに固定されたＳｕｂＣＭＤ９１２（ビット９〜１３を占める）またはＳｕｂＳｕｂＣＭＤ９１６（ビット０〜３を占める）など、別のフィールドにコードを作成することができる。別の言い方をすれば、一実施形態において、コマンドデコーディングは、２０ビットドメイン９０２において実行することができ、プリコーディングにおける待ち時間隠蔽に帰着する。
【００３９】
図１０Ａは、順次的な遷移コードデコーディングおよびコマンドデコーディング用の従来のプロセスを示す。図示のように、この従来のプロセスにおいて、コードデコーディングおよびコマンドデコーディングは、順次的に実行される。例えば、２０Ｂにおけるコマンドが受信される１００２。２０Ｂ／１６Ｂコードのコードデコーディングは、処理ブロック１００４において実行される。これには、約２ナノ秒（ｎｓ）の時間がかかる。次に、コマンドデコーディングが、１６Ｂドメインにおいて実行され、２ｎｓの追加時間がかかる。最後に、コードおよびコマンドのデコーダされた情報１００８が提供され、メモリコア１０１０に伝達されて別の１ｎｓが追加され、合計５ｎｓかかる。
【００４０】
図１０Ｂは、並列の遷移コードデコーディングおよびコマンドデコーディング用のプロセスの実施形態を示す。一実施形態において、２０Ｂドメインにおけるコードおよびコマンド（両方とも、デコーディング用の同じ論理段階を有する）の並列および同時デコーディングは、プリコーディングにおいて待ち時間隠蔽に備える。図示の実施形態において、プロセス全体は、３ｎｓで実行されるが、これは、従来のプロセス（図１０Ａ）より２ｎｓまたは４０％速い。したがって、待ち時間を４０％低減する。図示のように、２０Ｂにおけるコマンドが受信される１０５２。次に、コマンドは、処理ブロック１０５４における２０Ｂ／１７Ｂコードのデコーディングと同時にまたは並列に、２０Ｂドメインスペース１０５６においてデコードされる。このステップには、２ｎｓかかる。ひとたびデコーディングが実行されると、デコーディング情報１０５８が収集され、メモリコア１０６０に伝達されるが、これには、追加の１ｎｓの時間がかかり、したがって、並列コマンドおよびコードデコーディングを実行するために、合計３ｎｓが必要である。一実施形態において、１７Ｂ／２０Ｂ遷移コーディングシステムを用いたこの並列デコーディングは、合計待ち時間を２ｎｓ低減し、速度を４０％向上させる。時間トランザクション１０６２を用いて、従来のプロセス（図１０Ａ）の速度を、より速く、向上された、効率的なプロセスの実施形態（図１０Ｂ）の速度と比較することができる。
【００４１】
図１１は、本発明の実施形態を実行可能なコンピュータシステムの実例である。コンピュータシステム１１００には、情報を通信するためのシステムバス１１２０と、情報を処理するための、バス１１２０に結合されたプロセッサ１１１０と、が含まれる。一実施形態によれば、プロセッサ１１１０は、多数のマイクロプロセッサの１つを用いて実現される。しかしながら、当業者は、他のプロセッサを用いてもよいことを理解されよう。
【００４２】
コンピュータシステム１１００には、さらに、情報およびプロセッサ１１１０によって実行される命令を記憶するための、バス１１２０に結合されたランダムアクセスメモリシステム（ＲＡＭ）または他のダイナミック記憶装置１１２５（本明細書では主メモリと呼ばれる）が含まれる。主メモリ１１２５はまた、プロセッサ１１１０による命令の実行中に、一時変数または他の中間情報を記憶するために用いてもよい。コンピュータシステム１１００にはまた、プロセッサ１１１０によって用いられる静的情報および命令を記憶するための、バス１１２０に結合されたＲＯＭおよび／または他のスタティック記憶装置１１２６を含んでもよい。
【００４３】
磁気ディスクまたは光ディスクなどのデータ記憶装置１１２５およびその対応するドライブもまた、情報および命令を記憶するためにコンピュータシステム１１００に結合してもよい。コンピュータシステム１１００はまた、Ｉ／Ｏインタフェース１１３０を介して第２の入力／出力（Ｉ／Ｏ）バス１１５０に結合することができる。表示装置１１２４、入力装置（例えば、英数字入力装置１１２３および／またはカーソル制御装置１１２２）を含む複数のＩ／Ｏ装置を、Ｉ／Ｏバス１１５０に結合してもよい。通信装置１１２１は、外部データネットワークを介して他のコンピュータ（サーバまたはクライアント）にアクセスするためにある。通信装置１１２１には、モデム、ネットワークインタフェースカード、またはイーサネット（登録商標）、トークンリングもしくは他のタイプのネットワークに結合するために用いられる装置などの他の周知のインタフェース装置を含んでもよい。コンピュータシステム１１００には、限定するわけではないが、ネットワークコンピュータ装置、携帯電話、携帯情報端末（ＰＤＡ）等が含まれる。
【００４４】
コンピュータシステム１１００は、クライアント／サーバネットワークシステムにおいて相互接続してもよい。ネットワークには、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、イントラネット、インターネット等を含んでもよい。本出願の他のところで述べるように、かなり多数のネットワーク装置をカスケードにして、ネットワーク内のネットワーク機構を形成するポートマルチプライヤと接続することができる。ネットワークを介してかなり多数の装置を接続してもよいと考えられる。装置は、本明細書で説明するプロトコルを含む多くの標準および非標準プロトコルを介して、ストリーミングメディアデータなどのデータストリームを、ネットワークシステムにおける他の装置に転送してもよい。
【００４５】
上記の記載において、説明を目的とし、本発明の完全な理解を提供するために、多数の特定の詳細を述べた。しかしながら、これらの特定の詳細のいくつかがなくても本発明を実施可能であることが、当業者には明白であろう。他の例では、周知の構造および装置が、ブロック図の形態で示される。図示のコンポーネント間に中間構造があってもよい。本明細書で説明または図示するコンポーネントは、図示も説明もされていない追加の入力部または出力部を有してもよい。
【００４６】
本発明の様々な実施形態には、様々なプロセスを含んでもよい。これらのプロセスは、ハードウェアコンポーネントによって実行してもよく、またはコンピュータプログラムもしくはマシン実行可能命令に具体化してもよく、これらのプログラムまたは命令を用いて、命令でプログラムされる汎用もしくは専用プロセッサまたは論理回路にプロセスを実行させてもよい。代替として、プロセスは、ハードウェアおよびソフトウェアの組み合わせによって実行してもよい。
【００４７】
ポートマルチプライヤ拡張機構の実施形態内でかまたはそれに関連して示されるものなど、本明細書全体にわたって説明される１つまたは複数のモジュール、コンポーネントまたは要素には、ハードウェア、ソフトウェアおよび／またはそれらの組み合わせを含んでもよい。モジュールがソフトウェアを含む場合には、ソフトウエアデータ、命令および／または構成は、マシン／電子機器／ハードウェアによる製品を介して提供してもよい。製品には、命令、データ等を提供する内容を有するマシンアクセス可能／可読媒体を含んでもよい。内容は、説明した様々な動作および実行を果たす電子機器、例えば、本明細書で説明するようなファイラ、ディスク、ディスクコントローラに帰着してもよい。
【００４８】
本発明の様々な実施形態の一部は、コンピュータプログラム製品として提供してもよく、このコンピュータプログラム製品には、コンピュータプログラム命令を自身に記憶したコンピュータ可読媒体を含んでもよく、これらのコンピュータプログラム命令は、本発明の実施形態に従ってプロセスを実行するようにコンピュータ（または他の電子機器）をプログラムするために用いてもよい。機械可読媒体には、限定するわけではないが、フロッピー（登録商標）ディスケット、光ディスク、コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、光磁気ディスク、ＲＯＭ、ランダムアクセスメモリ（ＲＡＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ）、ＥＥＰＲＯＭ、ＤＲＡＭ、ＳＲＡＭ、磁気もしくは光カード、フラッシュメモリ、または電子命令を記憶するのに適した他のタイプの媒体／機械可読媒体を含んでもよい。さらに、本発明はまた、コンピュータプログラム製品としてダウンロードしてもよく、この場合に、プログラムは、リモートコンピュータから、要求するコンピュータへ転送してもよい。
【００４９】
方法の多くは、それらの最も基本的な形態で説明されているが、しかし本発明の基本的な範囲から逸脱せずに、プロセスは、方法のいずれかに追加するかまたはそこから削除することができ、情報は、説明したメッセージのいずれかに追加するかまたはそこから削除することができる。多くのさらなる修正および適応をなし得ることが、当業者には明白であろう。特定の実施形態は、本発明を限定するためではなく、それを例示するために提供される。本発明の実施形態の範囲は、上記で提供した特定の例によって決定されるのではなく、添付の特許請求の範囲だけによって決定される。
【００５０】
要素「Ａ」が、要素「Ｂ」に結合される、または要素「Ｂ」と結合されると言われている場合には、要素Ａは、要素Ｂに直接結合しても、または例えば要素Ｃを介して間接的に結合してもよい。コンポーネント、機能、構造、プロセスまたは特徴Ａが、コンポーネント、機能、構造、プロセスまたは特徴Ｂを「引き起こす」と、本明細書または特許請求の範囲が述べる場合には、それが意味することは、「Ａ」が「Ｂ」の少なくとも１つの部分的な原因であるが、しかし「Ｂ」を引き起こす際に支援する少なくとも１つの他のコンポーネント、機能、構造、プロセスまたは特徴があるということである。本明細書が、コンポーネント、特徴、構造、プロセスまたは特徴を「含んでもよい」、「含み得る」または「含むことが可能である」ことを示す場合には、その特定のコンポーネント、機能、構造、プロセスまたは特徴は、含まれることを要求されない。本明細書または特許請求の範囲が、「ある（ａまたはａｎ）」要素を指す場合に、それは、説明される要素の１つだけがあることを意味しない。
【００５１】
実施形態は、本発明のインプリメンテーションまたは例である。本明細書において、「ある実施形態」、「一実施形態」、「いくつかの実施形態」または「他の実施形態」への言及は、その実施形態に関連して説明される特定の機能、構造または特性が、必ずしも全ての実施形態ではなく、少なくともいくつかの実施形態に含まれることを意味する。「ある実施形態」、「一実施形態」または「いくつかの実施形態」の様々な外観は、必ずしも全て、同じ実施形態を指しているわけではない。本発明の例示的な実施形態の前述の説明において、様々な機能が、本開示を簡素化するために、および様々な発明的態様の１つまたは複数の理解を支援するために、時には単一の実施形態、図、またはそれらの説明において一緒にグループ化されることを理解されたい。しかしながら、この開示方法は、特許請求される本発明が、各請求項ではっきりと列挙されるよりも多くの機能を要求する意図を反映すると解釈すべきではない。逆に、特許請求の範囲が示すように、発明的態様は、前述の単一の開示された実施形態の全ての機能より少ない。したがって、特許請求の範囲は、これによって、この説明へと明らかに組み入れられ、各請求項は、本発明の別個の実施形態として独立している。
【図１】
0005875205.tif 000004
【図２】
0005875205.tif 000005
【図３Ａ】
0005875205.tif 000006
【図３Ｂ】
0005875205.tif 000007
【図４Ａ】
0005875205.tif 000008
【図４Ｂ】
0005875205.tif 000009
【図５】
0005875205.tif 000010
【図６Ａ】
0005875205.tif 000011
【図６Ｂ】
0005875205.tif 000012
【図７】
0005875205.tif 000013
【図８】
0005875205.tif 000014
【図９】
0005875205.tif 000015
【図１０Ａ】
0005875205.tif 000016
【図１０Ｂ】
0005875205.tif 000017
【図１１】
0005875205.tif 000018