(57)【要約】フレーミング性能を有する装置（１０，１０’）は、データと、そのデータのフレーミングを行うのに必要なメタデータとを記憶するように適合された１つ以上のメモリユニット（２０）を備え、フレーミング済みデータユニット（４０）と、データフェッチユニット（４５）とに結合されたフレーミング装置（３０）を備え、第１の動作シーケンスおよび第２の動作シーケンスの間で選択を行うように適合されている。ここで、第１の動作シーケンスは、データチャンクおよびメタデータフェッチ動作と、それに続くデータチャンクフレーム動作とを含み、第２の動作シーケンスは、多データチャンクフェッチ動作と、それに続く多データチャンクフレーム動作とを含む。データフェッチユニットおよびフレーミング装置（３０）は、選択された動作シーケンスを実行するように適合されている。データのフレーミングを行う方法（５００）は、データおよびそのデータのフレーミングに必要なメタデータを１つ以上のメモリ装置に記憶することを含み、第１の動作シーケンスおよび第２の動作シーケンスのうちの１つの動作シーケンスを実行すること（５６０）を特徴とする。第１の動作シーケンスは、データチャンクおよびメタデータフェッチ動作と、それに続くデータチャンクフレーム動作とを含み、第２の動作シーケンスは、多データチャンクフェッチ動作と、それに続く多データチャンクフレーム動作とを含む。
2009522901.tif 000002
【特許請求の範囲】
【請求項１】
フレーミング性能を有し、データと、そのデータのフレーミングを行うのに必要なメタデータとを記憶するように適合された１つ以上のメモリユニット（２０）を備える装置（１０，１０”）であって、フレーミング済みデータユニット（４０）と、データフェッチユニット（４５）とに結合されたフレーミング装置（３０）を備え、第１の動作シーケンスおよび第２の動作シーケンスを実行するように適合されており、第１の動作シーケンスは、データチャンクおよびメタデータフェッチ動作と、それに続くデータチャンクフレーム動作とを含み、第２の動作シーケンスは、多データチャンクフェッチ動作と、それに続く多データチャンクフレーム動作とを含み、データフェッチユニットとフレーミング装置（３０）とは、選択された動作シーケンスを実行するように適合されている装置。
【請求項２】
フレーミング装置（３０）は多データチャンクフレーム動作中に複数のフレーミング済みデータチャンクを出力するように適合されており、フレーミング済みデータユニット（４０）は、前記複数のフレーミング済みデータチャンクのうちの１つ以上を無視するように適合されている請求項１に記載の装置（１０，１０”）。
【請求項３】
フレーミング装置（３０）は、同時に出力するデータチャンクの量をフレーミング済みデータユニット（４０）に通知する請求項１または２に記載の装置（１０，１０”）。
【請求項４】
フレーミング装置（３０）は、１つのフレーミング済みデータチャンクを出力するか、または２つのフレーミング済みデータチャンクを同時に出力するように適合されている請求項１乃至３のいずれか一項に記載の装置（１０，１０”）。
【請求項５】
フレーミング装置（３０）は、１つ以上のフレーミング済みデータチャンクを一時的に記憶するためのフレーミング済みデータチャンクバッファ（３６）を備える請求項１乃至４のいずれか一項に記載の装置（１０，１０”）。
【請求項６】
フレーミング済みデータユニット（４０）は、異なる通信チャネルに関連した複数のフレーミング済みデータチャンクを含む多重データを生成するように適合されており、フレーミング装置（３０）は、複数の多重データに属する複数のフレーミング済みデータチャンクを同時に出力するように適合されている請求項１乃至５のいずれか一項に記載の装置（１０，１０”）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速フレーミング方法およびフレーミング性能を有する装置、詳細には通信集積回路に関する。
【背景技術】
【０００２】
現代の通信装置では、多くの通信チャネルを管理することが必要である。この管理の処理には、１つ以上の通信プロトコルにしたがって情報フレーム（またはパケット）を処理することが含まれる。それらの段階には、フレーミングと呼ばれるものがある。様々なフレーミング装置が当技術分野において知られている。アラトー（Ａｒａｔｏ）らの「通信システムにおけるデータ整合用のシステムおよび方法（Ｓｙｓｔｅｍ  ａｎｄ  ｍｅｔｈｏｄ  ｆｏｒ  ｄａｔａ  ａｌｉｇｎｍｅｎｔ  ｉｎ  ａ  ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｓｙｓｔｅｍ）」  と題する特許文献１には、従来技術のフレーミング装置について記載されている。
【０００３】
ＨＤＬＣは一般的に用いられているフレーミングプロトコルである。ＨＤＬＣ信号は、６つの連続した「１」のビットからなるシーケンスを含むオープンまたはクローズのフレームフラグによって、フレームの終了部または開始部を示す。ＨＤＬＣフレーミング装置は、終了フレームフラグの識別を保証するために、５つの「１」のビットからなるデータのシーケンスがあれば、その後に０のビットを挿入する。通常、フレーミング装置は、ＣＲＣ誤り訂正アルゴリズムを実行するなど、追加の動作も実行することが可能である。この種類のフレーミング装置は、必須ではないが、シグナリングシステムＮｏ７、ＰＰＰなど、ＨＤＬＣに基づく複数のプロトコルをサポートすることが可能である。
【０００４】
シャチャー（Ｓｈａｃｈａｒ）らの「多チャネルＨＤＬＣフレーミング／デフレーミング装置（（Ｍｕｌｔｉｃｈａｎｎｅｌ  ＨＤＬＣ  ｆｒａｍｉｎｇ／ｄｅ−ｆｒａｍｉｎｇ  ｍａｃｈｉｎｅ）」と題する特許文献２では、フレーミングおよびデフレーミング動作を実行するために、様々な種類のメタデータ（制御情報、状態情報など）を用いる従来技術のフレーミング装置の一例が提供されている。これを引用によって本明細書に援用する。多チャネル送信器のメタデータには、グローバルな（全チャネルに関連する）パラメータ、チャネル毎のパラメータ、チャネルバッファディスクリプタなどが含まれ得る。データは、バッファディスクリプタ内のポインタによって指示されるバッファに記憶されることが可能である。
【０００５】
現代の通信装置には、常に増大するレートで動作することが必要である。フレーミング装置など様々な処理構成要素には、より迅速に動作する必要がある。フレーミング装置のスループットを増大する１つの手法は、それらのフレーミング装置を二重化することであるが、しかしながら、それは高価な解決策である。
【特許文献１】米国特許第６，４４２，１７８号明細書
【特許文献２】米国特許第５，６７１，２２３号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００６】
フレーミング動作を実行する効率的な方法を提供するとともに、フレーミング性能を有する効率的な装置を提供する必要がある。
【課題を解決するための手段】
【０００７】
添付の特許請求の範囲に記載するような、高速フレーミング方法およびフレーミング性能を有する装置。
【発明を実施するための最良の形態】
【０００８】
本発明の一実施形態では、フレーミング性能を有する装置を提供する。この装置は、データチャンクフレーム動作毎にデータチャンクのフレーミングを行うように適合した、フレーミング装置を備える。データチャンクのサイズは好ましくは固定されている。通常のデータチャンクフレーム動作に先行して、データ（１つ以上のデータチャンク）のフェッチや、そのデータのフレーミングに必要なメタデータのフェッチが行われる。メタデータには、マスク、命令、状態および制御情報などが含まれる。メタデータには、バッファディスクリプタが含まれ得る。通常、メタデータの総サイズは、データチャンクのサイズより大きい。通常、メモリユニットからデータおよびメタデータのフェッチが行われる。このメモリユニットは内部メモリユニットであることも外部メモリユニットであることも可能である。
【０００９】
データチャンクフレーム動作には、データチャンクのフレーミングを行って、フレーミング済みのデータチャンクを提供することが含まれ得る。この動作には、次に限定されないが、ＣＲＣアルゴリズムなどの誤り訂正アルゴリズムを適用することが含まれ得る。発明者らはＨＤＬＣ準拠のフレーミング動作を適用したが、当技術において知られている他のフレーミング機構も適用可能である。
【００１０】
好ましくは、この装置は、複数のデータチャンクのフェッチや、その複数のデータチャンクのフレーミングに必要なメタデータのフェッチを行うことによって、フレーミング処理を高速化することが可能である。これらのフェッチ動作に続いて、多データチャンクフレーム動作が実行される。
【００１１】
データチャンクは他のチャンクに関連付けられることが可能である。この関連付けは、１つのデータチャンクフレーム動作において以前のデータチャンク動作の結果を再使用するというオプションによって反映される。例えば、ある１つの通信チャンネルに属する２つのデータチャンクについて連続的にフレーミングが行われる場合、第１のデータチャンクのフレーミング中に用いられるメタデータの少なくとも一部は、第２のデータチャンクのフレーミングに用いられ得る。一方、互いに関連付けられていない複数のデータチャンクの連続的なフレーミングには、完全なメタデータ読出シーケンスの反復が伴う。
【００１２】
好ましくは、互いに関連付けられている複数のデータチャンクの連続的なフレーミングによって、フレーミング処理が劇的に高速化されることが可能である。例えば、連続的なフレーミング動作中、フレーミング装置は、以前のフレーミング動作に関する内部に記憶されたマスクまたは状態情報を使用することが可能である。
【００１３】
発明者らは、一度に１バイトのフレーミングが可能なフレーミング装置を用いた。このデータバイトのフレーミングのために、フェッチおよびフレーミングに関連する３０個の命令が実行された。これらの命令のうちの半分より多くには、フェッチ、書込またはその両方の命令が含まれる。関連するデータチャンクのフレーミングを連続的に行うことよって、実行される命令はより少数であった。第１のバイトのフレーミングには、３０個の命令の実行が伴ったが、連続的な関連するバイトのフレーミングには、１０個の命令しか必要でなかった。
【００１４】
単一のフレーミング装置が、複数の通信チャンネルに関連したデータのフレーミングを求められる場合がある。１つの動作モードでは、この装置は、データおよびメタデータのフェッチ動作と、続くデータチャンクフレーム動作とを反復的に実行することが可能である。別の動作モードでは、この装置は、複数のデータチャンクと、そのデータチャンクのフレーミングに必要なメタデータとのフェッチを行い（１つ以上のフェッチ動作中に）、次いで、連続的なデータチャンクフレーム動作を実行することが可能である。２つ以上のデータチャンクフレーム動作を実行した後、フレーミング装置は１つ以上のフレーミング済みデータチャンクを同時に出力することが可能である。
【００１５】
好ましくは、この装置は、データおよびそのデータのフレーミングに必要なメタデータを記憶するように適合した１つ以上のメモリユニットと、フレーミング済みデータユニットとを備える。フレーミング済みデータユニットは、フレーミング装置からフレーミング済みデータチャンクを選択的に受信することが可能である。フレーミング済みデータユニットは、内部メモリ、多重化器、送信器などを備えることが可能である。フレーミング済みデータユニットは、物理層または他の低位層のデータ送信器など、他のデータフレーム送信器に接続されることが可能である。
【００１６】
本発明の一実施形態では、データチャンクは１つ以上のバイトを含む。フレーミング済みデータチャンクは、零挿入動作または他のプロトコル由来の処理のため、わずかに大きくなることがある。
【００１７】
本発明の一実施形態では、フレーミング済みデータユニットは、１つ以上のデータチャンクフレーム動作中に提供される１つ以上のフレーミング済みデータチャンクを選択的に無視することが可能である。フレーミング済みデータユニットは、通常、このフレーミング済みデータチャンクを後で受信する。例えば、フレーミング装置が連続的な２つのデータチャンクフレーム動作を実行すると仮定する。第１のデータチャンクフレーム動作の後、フレーミング装置は第１のフレーミング済みデータチャンクを出力する。第２のデータチャンクフレーム動作の後、フレーミング装置は第１のフレーミング済みデータチャンクおよび第２のフレーミング済みデータチャンクを同時に出力する。これによって、本発明は、条件分岐および条件ジャンプ命令に配置された複数の出力命令を含む、メタデータ命令に適合したものとなる。受信側のフレーミング済みデータユニットは、このデータチャンクを無視し、かつ適切な肯定応答を提供するように適合されている。
【００１８】
フレーミング済みデータユニットは、第１のデータチャンクフレーム動作の後に提供される第１のフレーミング済みデータチャンクを無視することが可能である。これによって、フレーミング済みデータチャンクの管理は単純化され、フレーミング装置とフレーミング済みデータユニットとの間のトランザクション数が減少する。
【００１９】
データのフレーミングを行う方法を提供する。この方法には、（ｉ）データおよびそのデータのフレーミングに必要なメタデータを１つ以上のメモリ装置に記憶することと（データは複数のデータチャンクを含むことが可能である）、（ｉｉ）第１の動作シーケンスおよび第２の動作シーケンスのうちの１つの動作シーケンスを実行すること（５６０）とが含まれる。ここで、第１の動作シーケンスは、データチャンクおよびメタデータフェッチ動作と、それに続くデータチャンクフレーム動作とを含み、第２の動作シーケンスは、多データチャンクフェッチ動作と、それに続く多データチャンクフレーム動作とを含む。
【００２０】
好ましくは、フレーミング装置はフレーミング動作の実行を開始する前に、多くの命令を読み出す。これらの複数の命令は、複数の条件分岐を含むことの可能なフレーミングコードを形成する。例えば、５つの「１」からなるシーケンスの後に０が挿入され得る。そのようなシーケンスの存在は予め知られていないので、０を挿入するルーチンへの条件分岐が必要である。フレーミングコードの複雑さのため、単にコードを複数回適用することによって、多データチャンクフレーム動作の実行に必要なコードを非常に単純化することが可能である。
【００２１】
説明の便宜上、以下の詳細な説明では、長さ１バイトのデータチャンクについて言及し、１バイトのフレーミングを行い、続いて別の関連していないデータチャンクのフレーミングを行うことの可能な、あるいは連続的な２つのフレーミング動作中に２つの関連するバイトのフレーミングを行い、続いて別のデータチャンクの対のフレーミングを行うことの可能な装置を参照する。
【００２２】
図１には、本発明の一実施形態による装置１０を示す。装置１０は、プロセッサ５０、フェッチデータユニット４５、メモリユニット２０、フレーミング装置３０およびフレーミング済みデータユニット４０を備える。プロセッサ５０は、共有のバスを介して、フェッチデータユニット４５、フレーミング装置３０およびメモリユニット２０へ接続されている。また、プロセッサ５０はフレーミング済みデータユニット４０へも接続されている。
【００２３】
フレーミング済みデータユニット４０は、１つ以上のインタフェース、１つ以上のメモリユニット、１つ以上の多重化器、送信器（以下に限定されないが、ＭＡＣ層送信器、物理層送信器など）などを備えることが可能である。フレーミング済みデータユニット４０は、様々な層受信器も備えることが可能である。そのような場合、フレーミング済みデータユニット４０は、フレーミング済みデータチャンクをフレーミング装置へ送信するとともに、フレーミング装置に対し、フレーミング済みデータチャンクのデフレーミングを行ってデータチャンク（生データチャンクとも呼ばれる）を提供するように要求することが可能である。なお、この要求は別の構成要素によって生成されることも可能である。
【００２４】
フレーミング済みデータユニット４０は、フレーミング装置３０からフレーミング済みデータチャンクを受信するように適合されている。フレーミング済みデータユニット４０は、好ましくは、フレーミング装置３０によって供給される制御信号に応答して、１つ以上のデータチャンクを選択的に無視することが可能である。
【００２５】
メモリユニット２０は、様々なバス、ＤＭＡコントローラなどを介して、高レベルのメモリユニットに接続されることが可能である。外部記憶装置からのデータおよびメタデータのフェッチが行われ、その直後にメモリユニット２０からのフェッチが行われることが可能であり、反対に、メモリユニット２０からのデータおよびメタデータのフェッチが行われ、その直後に外部記憶装置からのフェッチが行われることが可能である。なお、データは様々なバッファに記憶されることが可能であり、メタデータには、バッファディスクリプタ、ＨＤＬＳマスク、および状態情報などが含まれ得る。
【００２６】
フレーミング装置３０は、複数のデータチャンクや、そのデータチャンクのフレーミングに必要なメタデータのフェッチを行い、複数のデータチャンクフレーム動作からなるシーケンスを実行し、フレームデータチャンクユニット４０に複数のフレームデータチャンクを提供することが可能である。
【００２７】
フレーミング装置３０は、１バイトフレーミングモードまたは２バイト動作モードで動作することが可能である。フレーミング装置３０は、フレーミング済みデータユニット４０がフレーミング装置３０から出力されたフレーミング済みデータユニットを受容するか、あるいは無視するかを示す制御信号（有効出力フラグ）を出力する。
【００２８】
例えば、フレーミング装置３０が２つの関連するデータチャンクの連続的なフレーミングを要求されていると仮定する。フレーミング装置３０は、第１のデータチャンクフレーム動作を実行し、第１のフレーミング済みデータチャンクを生成する。この第１のフレーミング済みデータチャンクは、フレーミング装置３０にて記憶される。フレーミング装置は有効出力フラグの解除も行い、これに応じて、フレーミング済みデータユニット４０は、第１のフレーミング済みデータチャンクを無視する。フレーミング済みデータユニット４０は、第１のフレーミング済みデータチャンクを受信するためのトランザクションを開始せず、このデータチャンクを記憶しない。
【００２９】
次いで、フレーミング装置３０は、第１のデータチャンクフレーミング動作中にフェッチおよび随意では更新の行われた様々なパラメータを用いて、またフレーミング済みデータチャンクを用いて、第２のデータチャンクのフレーミングを行う。これによって第２のデータチャンクフレーム動作が劇的に高速化され、１バイトまたは１バイトより多くを処理するコードの変化は必要ない。フレーミング装置は有効出力フラグも設定し、第１および第２のフレーミング済みデータチャンクをフレーミング済みデータユニット４０に出力する（並列に、または直列に）。フレーミング済みデータユニット４０は、両方のフレーミング済みデータチャンクを受信すると、それらのデータチャンクを記憶し、さらには処理し、多重化することなどが可能である。
【００３０】
フレーミング装置３０が１バイトモードで動作するときには、何らかの誤りが発生しない限り、通常、有効出力フラグが設定される。
なお、フレーミング装置３０はフレーミング動作毎に１つのフレーミング済みデータチャンク出力することも可能であり、フレーミング済みデータユニット４０は各フレーミング済みデータチャンクを受信することが可能である。出力有効フラグは、そのようなシナリオには無関係である。
【００３１】
フレーミング装置３０は、レジスタファイル３１、入力バスインタフェース３８、フレーミング装置コントローラユニット３４、誤り訂正ユニット３３、フレーミング装置回路３５、フレーミング装置状態インジケータ３２および出力バスインタフェース３６を備える。
【００３２】
レジスタファイル３１は、誤り訂正ユニット３３、フレーミング装置回路３５、入力バスインタフェース３６へ接続されており、また出力バスインタフェース３６へ接続されている。レジスタファイル３１は、１つ以上のデータチャンクと、１つ以上のデータチャンクのフレーミングに必要なメタデータとを記憶することが可能である。レジスタファイル３１は、好ましくは、入力バスインタフェース３８を介してデータおよびメタデータを受信し、出力バスインタフェース３６へ１つ以上のフレーミング済みデータチャンクを出力する。
【００３３】
フレーミング装置回路３５および誤り訂正ユニット３３は、データチャンクを、そのデータチャンクに関連したメタデータにしたがって処理するように適合されている。フレーミング装置回路３５は、フレーミング済みデータチャンクを出力バスインタフェース３６へ出力する。
【００３４】
フレーミング装置コントローラ３４は、フレーミング装置３０の様々な構成要素の動作を制御して、例えば、どのエントリからデータおよびメタデータのフェッチを行うかを決定することが可能である。フレーミング装置コントローラ３４は、アドレス生成ユニットおよびバストランザクションユニットを備えてよい。インタフェース３８，３６の各々は、１つ以上のバッファを備えることが可能である。フレーミング装置コントローラ３４は、フレーミング装置状態ユニット３２において記憶されている様々なフラグ（有効出力フラグなど）を設定または解除することが可能である。
【００３５】
図２には、本発明の別の実施形態による装置１０’を示す。
図２の装置１０’は、次の点で図１の装置１０と異なる。すなわち、（ｉ）デフレーミング動作を実行するようにも適合されているフレーミング装置３０”を有すること、また、（ｉｉ）フレーミング装置３０を備えるプロセッサ５０を有すること。
【００３６】
フレーミング装置３０”は、フレーミング装置／デフレーミング装置回路３５’を備える点で、フレーミング装置３０と異なる。加えて、誤り訂正ユニット３３’は、誤り訂正動作と、逆方向誤り訂正段階とを実行する。例えば、誤り訂正ユニット３３’は、１つのフェイズではＣＲＣ符号語を生成し、別のフェイズでは受信されたＣＲＣ符号語を使用して、受信されるフレーミング済みデータチャンクにおける誤りを訂正する。好ましくは、データのストリームは受信動作中に反転され、メタデータのストリームは同じ方向に流れる。
【００３７】
図３には、本発明の一実施形態による装置を１０”を示す。
装置１０”は、汎用プロセッサ１２、セキュリティエンジン１４、システムインタフェースユニット１８、通信エンジン２００および複数のポート（図示せず）を備える。構成要素１２，１４，１８，２００は、ローカルバス１６によって互いに接続されている。
【００３８】
汎用プロセッサ１２は、次に限定されないが、整数ユニット、分岐処理ユニット、浮動小数点ユニット、読込／記憶ユニットおよびシステムレジスタユニットなど、複数の実行ユニットを備えることが可能である。また、汎用プロセッサ１２は、様々なキャッシュメモリ、動的な電力管理ユニット、トランスレーション・ルックアサイド・バッファなどを備えることも可能である。
【００３９】
汎用プロセッサ１２は装置１０”を制御して、装置１０”の必要な機能にしたがって様々なプログラムを実行することが可能である。汎用プロセッサ１２はＰｏｗｅｒＰＣ（商標）ファミリのメンバであり得るが、これは必須ではない。
【００４０】
セキュリティエンジン１４は、暗号化ベースの機構などを含め、様々なセキュリティ機構を適用することが可能である。
装置１０”は、複数のメモリユニットや他の構成要素へ接続されることも可能である。それらの構成要素は、システムインタフェースユニット１８によって接続される。システムインタフェースユニット１８は、次の構成要素、すなわち、外部メモリコントローラ、外部ＤＤＲインタフェースユニット、ＰＣＩブリッジ、ローカルバス、バス調停部、デュアルＵＡＲＴユニット、デュアルＩ２Ｃユニット、４チャネルＤＭＡコントローラ、割込コントローラなどのうちのいくつかを備えてよい。なお、他のインタフェース構成要素を用いることが可能である。
【００４１】
通信エンジン２００は、異なる通信プロトコルにしたがって動作する複数の通信ポートの管理が可能な多目的通信構成要素である。
通信エンジン２００は、異なる種類の複数の通信コントローラを備える。各通信コントローラは、１つ以上の通信チャネルの管理が可能である。好ましくは、各通信チャネルは１つの仮想バッファに関連付けられる。双方向通信チャネルは、受信通信チャネルおよび送信通信チャネルの組み合わせとして考えられる。そのような通信チャネルは各々、自身の情報転送コントローラ、仮想バッファ、ハードウェアバッファなどを有することが可能である。
【００４２】
なお、１つ以上の通信チャネルが単一の情報転送コントローラによって制御されることが可能であるが、これは必須ではない。
通信エンジン２００は、２つのＲＩＳＣプロセッサ５０，５５、第２レベルＤＭＡコントローラ２５０、共有のデータＲＡＭメモリユニット２６、共有の命令ＲＡＭメモリユニット２８、スケジューラ２４０、２つの第１レベルＤＭＡコントローラ２５２，２５４、第２メモリユニット２２、ＵＣＣ１〜ＵＣＣ８（１１０〜１８０）で表される８つの汎用通信コントローラ、１つの多チャネル通信コントローラ（ＭＣＣ１）１９０、ＳＰ１〜ＳＰ２（２１０〜２２０）で表される２つのシリアル周辺インタフェース、および２つの通信インタフェース６０，６５を備える。なお、次に限定されないが、様々なポート、タイムスロット割当部など追加の構成要素は、説明を簡単にするために省略した。
【００４３】
第１のＲＩＳＣプロセッサ５０は、ＵＣＣ１  １１０，ＵＣＣ３  １３０，ＵＣＣ５  １５０，ＵＣＣ７  １７０，ＭＣＣ１  １９０，ＳＰＩ１  ２１０、スケジューラ２４０、共有の命令ＲＡＭメモリユニット２８および共有のデータＲＡＭメモリユニット２６０へ接続されている。第１のＲＩＳＣコントローラへのアクセスは、スケジューラ２４０によって管理されることが可能である。
【００４４】
第２のＲＩＳＣプロセッサ５５は、ＵＣＣ２  １２０，ＵＣＣ４  １４０，ＵＣＣ６  １６０，ＵＣＣ８  １８０，ＳＰＩ２  ２２０，スケジューラ２４０、共有の命令ＲＡＭメモリユニット２５および共有のデータＲＡＭメモリユニット２６に接続されている。第１のＲＩＳＣコントローラへのアクセスは、スケジューラ２４０によって管理されることが可能である。
【００４５】
第１レベルＤＭＡコントローラ２５２，２５４は、共有のデータＲＡＭメモリユニット２６と、様々な通信コントローラ内の情報転送コントローラ（図示せず）とに接続されている。
【００４６】
通信コントローラＵＣＣ１〜ＵＣＣ８（１１０〜１８０）、ＭＣＣ１（１９０）およびＳＰＩ１〜ＳＰＩ２（２１０〜２２０）の各通信コントローラは、送信経路および受信経路を備えることが可能である。
【００４７】
好ましくは、ＵＣＣは次の通信プロトコルおよびインタフェース、すなわち、１０／１００Ｍｂｐｓ  Ｅｔｈｅｒｎｅｔ（登録商標）、１０００Ｍｐｂｓ  Ｅｔｈｅｒｎｅｔ（登録商標）、ＩＰｖ４およびＩＰｖ６、ＵＴＯＰＩＡインタフェースを介するＡＴＭプロトコルを用いるＬ２  Ｅｔｈｅｒｎｅｔ（登録商標）スイッチング、様々な種類のＨＤＬＣ、ＵＡＲＴおよびＢＩＳＹＮＣをサポートすることが可能である（すべてを同時にではない）。
【００４８】
好ましくは、ＭＣＣ１  １９０は、２５６個のＨＤＬＣすなわち透過性チャネル、１２８個のＳＳ＃７チャネル、または１つ以上のＴＤＭインタフェースに多重化可能な複数のチャネルをサポートする。
【００４９】
加えて、通信エンジン２００は、通信エンジンの様々な構成要素を調整するとともに、通信エンジン２００が汎用プロセッサ１２、セキュリティエンジン１４およびシステムインタフェースユニット１６と通信を行うことを可能とする、コントローラ（図示せず）および割込ユニットを備えることが可能である。
【００５０】
好ましくは、複数の通信コントローラからなるグループが、単一の第１レベルＤＭＡコントローラへ接続されるが、これは必須ではない。例えば、第１レベルＤＭＡコントローラ３１０は、通信コントローラＵＣＣ１，ＵＣＣ３，ＵＣＣ５，ＵＣＣ７，ＭＣＣ１，ＳＰＩ１（それぞれ１１０，１３０，１５０，１７０，１９０，２１０）にサービスを提供し、第１レベルＤＭＡコントローラ２５２は、通信コントローラＵＣＣ２，ＵＣＣ４，ＵＣＣ６，ＵＣＣ８，ＳＰＩ２（それぞれ１２０，１４０，１６０，１８０，２２０）にサービスを提供する。
【００５１】
通信エンジン２００は、図１または図２の構成要素に類似した複数の構成要素を備えることが可能である。各ＲＩＳＣプロセッサ（５０，５５のうちの）は、図１のフレーミング装置３０または図２のフレーミング装置３０’などのフレーミング装置を備えると仮定している。例えば、第１のＲＩＳＣプロセッサ３０はフレーミング装置３０を備え、第２のＲＩＳＣプロセッサ５５は、フレーミング装置３０に類似したフレーミング装置３０’を備える。図１のメモリユニット２０は、共有のデータ記憶ＲＡＭ２６および共有の命令ＲＡＭメモリユニット２８を備えることが可能である。メタデータは、これらのメモリユニットの両方に記憶されることが可能である。図１のフェッチデータユニット４５は、ＲＩＳＣプロセッサ５０，５５の各々の内部コンポーネントであってもよく、フルスケールＤＭＡコントローラであってもよい。フレーミング済みデータユニット４０は、複数の通信コントローラＵＣＣ１〜ＵＣＣ８、ＭＣＣ１９０や、第１、第２の通信インタフェース６０，６５のいずれを備えることも可能であり、第１、第２の物理層ユニット８０，９０を備えることも可能である。
【００５２】
フレーミング済みデータユニット４０は、フレーミング済みデータチャンクを受信する（送信フェイズ中）という要求またはフレーミング済みデータチャンクを受信する（受信フェイズ中）という要求を送信する。
【００５３】
図４には、本発明の一実施形態による方法５００のフローチャートを示す。
方法５００は、データと、そのデータのフレーミングを行うのに必要なメタデータとを１つ以上のメモリ装置において記憶する段階５２０によって開始する。図５に示す例を参照すると、データおよびメタデータは、共有のデータＲＡＭメモリユニット２６および共有の命令ＲＡＭ／ＲＯＭメモリユニット２８へ提供される。この段階には、第２レベルＤＭＡコントローラ２５０による、第２のメモリユニット２２からの１つ以上のフェッチ動作の実行が含まれ得る。
【００５４】
段階５２０には、第１の動作シーケンスの実行と第２の動作シーケンスの実行との間の選択を行う段階５４０が続く。第１の動作シーケンスは、データチャンクおよびメタデータフェッチ動作と、それに続くデータチャンクフレーム動作とを含む。第２の動作シーケンスは、多データチャンクフェッチ動作と、それに続く多データチャンクフレーム動作とを含む。
【００５５】
本発明の一実施形態では、この選択は、ある制御信号の所定の値、またはメモリユニット内のあるフィールドに応答する。この選択は、フレーミング処理に先立って、プログラマによって、あるいは選択パラメータを入力可能なユーザによって行われてもよい。好ましくは、ある程度の量の連続的なデータチャンクフレーム動作も提供されることが可能である。なお、段階５４０が段階５２０に先行してもよい。また、これに代えて、方法５００には、選択指示を受信し、これに応じて、選択された動作を実行する段階５６０へジャンプすることが含まれてよいことも留意される。
【００５６】
段階５４０には、第１の動作シーケンスおよび第２の動作シーケンスのうちの１つの動作シーケンスを実行する段階５６０が続く。この実行は、好ましくは、段階５４０において行われた選択に応答する。
【００５７】
好ましくは、段階５６０には、１つのデータチャンクフレーム動作ごとに１つのデータチャンクのフレーミングを行うように適合されたフレーミング装置による、１つ以上のデータチャンクフレーム動作の実行が含まれる。したがって、複数のデータチャンクのフレーミングには、複数のデータチャンクフレーム動作からなるシーケンスが必要である。
【００５８】
好ましくは、第２の動作シーケンスの実行には、多データチャンクフレーム動作中に複数のフレーミング済みデータチャンクを生成し、この複数のフレーミング済みデータチャンクのうちの１つ以上を無視することが含まれる。
【００５９】
本発明の一実施形態では、第２の動作シーケンスは２つのデータチャンクフレーム動作を含む。
好ましくは、第２の動作シーケンスには、２つのデータチャンクフレーム動作が含まれる。この実行には、あるデータチャンクフレーム動作の後に出力される１つのデータチャンクを無視するように要求することと、連続的なデータチャンクフレーム動作の後に出力される１対のデータチャンクを受信するように要求することとが含まれる。
【００６０】
好ましくは、段階５６０には、１つ以上のフレーミング済みデータチャンクを一時的に記憶することが含まれる。これらのフレーミング済みデータチャンクは、フレーミング装置にて記憶されることが可能である。この記憶によって、フレーミング済みデータユニットに複数のフレーミング済みデータチャンクを同時に出力することが可能となるため、フレーミング装置とフレーミング済みデータチャンクユニットとの間のトランザクション数が減少する。なお、記憶されたフレームデータチャンクは、フレーミング済みデータユニットによって受容された後、消去されることが可能である。
【００６１】
好ましくは、方法５００には、フレーミング装置によって同時に出力される有効なフレーミング済みデータチャンクの量に関する通知を送信する段階５７０がさらに含まれる。
段階５６０，５７０には、異なる通信チャネルに関連した複数のフレーミング済みデータチャンクを含む多重データ（ｍｕｌｔｉｐｌｅｘ）を生成する段階５９０が続く。１つの多重データは、フレーミング装置によって出力されるデータチャンク数より少ないデータチャンク（または１つのデータチャンク）しか含むことが可能でないため、過度のフレーミング済みデータチャンクは一時的に記憶され得る。好ましくは、方法５００には、複数の多重データに属する複数のフレーミング済みデータチャンクを同時に出力することが含まれる。第２の動作シーケンスは第１の動作シーケンスの一部であり、第２の動作において第１の動作シーケンスを置換する。第１の動作シーケンスでは、フレーミング済みデータユニットは、第１の動作シーケンスと同じコード、条件分岐および条件ジャンプの使用を可能とするフレーミング装置からのトランザクションを無視する。
【００６２】
図５には、本発明の一実施形態による動作シーケンス６００を示す。
動作シーケンス６００は、フレーミング装置を初期化する段階６１０によって開始する。この初期化には、１つ以上のデータチャンクと、その１つ以上のデータチャンクのフレーミングに必要な１つ以上のメタデータとのフェッチを行うことが含まれ得る。好ましくは、データチャンクの長さは１バイトであり、段階６１０中に２つまでのデータチャンクのフェッチが行われることが可能である。
【００６３】
段階６１０には、１つのデータチャンクまたは複数のデータチャンクのフレーミングが連続的に行われるか否かを判定する選択指示を受信する段階６２０が続く。１つのデータチャンクのフレーミングが行われる場合、段階６２０には、そのデータチャンクのフレーミングを行い、フレーミング済みデータチャンクをフレーミング済みデータユニットに送信する段階６３０が続く。
【００６４】
複数（２など）のデータチャンクのフレーミングが行われる場合、段階６２０には、第１のデータチャンク（段階６１０中にフェッチの行われた複数のデータチャンクのうちの）のフレーミングを行って第１のフレーミング済みデータチャンクを提供し、第１のデータチャンクを記憶し、有効出力フラグを解除して、出力されたデータチャンク（またはダミーのデータチャンク）が無視されることを示す段階６４０が続く。フレーミング済みデータユニットはこの動作を無視し、関連する肯定応答またはハンドシェイク信号をすべて提供し、次の書込に対する準備として無視の指示のクリアを行う。
【００６５】
段階６４０には、第２のデータチャンクのフレーミングを行って第２のフレーミング済みデータチャンクを提供し、第１および第２のデータチャンクを同時に出力し、有効出力フラグを設定して、出力されたデータチャンクがフレーミング済みデータユニットによって受容されることを示す段階６５０が続く。
【００６６】
段階６５０，６３０には、段階６１０が続くことが可能である。なお、段階６３０，６５０が終了すると、別の通信チャネルに関連付けられ得る１つ以上のデータチャンクのフレーミングが行われることが可能である。
【図面の簡単な説明】
【００６７】
【図１】本発明の一実施形態による装置を示す図。
【図２】本発明の別の実施形態による装置を示す図。
【図３】本発明のさらなる実施形態による装置を示す図。
【図４】本発明の一実施形態によるデータのフレーミング方法のフローチャート。
【図５】本発明の一実施形態による動作シーケンスを示す図。
【図１】
2009522901.tif 000003
【図２】
2009522901.tif 000004
【図３】
2009522901.tif 000005
【図４】
2009522901.tif 000006
【図５】
2009522901.tif 000007
【国際調査報告】
2009522901.tif 000008
2009522901.tif 000009
2009522901.tif 000010