(57)【要約】      （修正有）【課題】ＤＤＲ  ＳＤＲＡＭを外部メモリとする２チップ／単一ダイのパケット交換装置およびメモリへのアクセス方法を提供する。【解決手段】この２チップ／単一ダイの交換装置アーキテクチャは、単一ダイ上の内部記憶装置ブロック、ダブル・データ・レート・シンクロナス・ダイナミック・ランダム・アクセス・メモリ（ＤＤＲ  ＳＤＲＡＭ）への外部記憶装置インタフェース、外部記憶装置マネージャ、及び内部記憶装置と外部ＤＤＲ  ＳＤＲＡＭ記憶装置との間でパケット・データの転送を実行するパケット・データ転送エンジンを含む。本方法は、ランダム・アクセスの待ち時間を隠すために予測的バンク切り替えを採用し、バンク切り替えを最小化するためにパケット長に依存した可変メモリ書き込みバースト長を採用し、更に、メモリ読み出し及び書き込みを対応する読み出し及び書き込みウインドウで行うようにしている。【選択図】図２
2005287038.tif 000002
【特許請求の範囲】
【請求項１】
受信したパケットのパケット・データを内部記憶装置に記憶するために内部メモリ・モードで動作し、またパケット交換装置に接続された外部記憶装置に前記パケット・データを記憶するために外部メモリ・モードで動作する２チップ／単一ダイの前記パケット交換装置であって、
ａ．前記受信したパケット・データを前記内部記憶装置に記憶し、また前記内部記憶装置に記憶されたパケットに関するパケット処理ジョブ要求を発行するための内部メモリ・モード論理回路のみを含むパケット受信ブロックと、
ｂ．パケット・ヘッダ情報に対して演算処理を実行し、処理されたパケットに関するパケット送信ジョブ要求を発行するための内部メモリ・モード論理回路のみを含むパケット処理ブロックと、
ｃ．外部メモリ・モード論理回路のみを含み、前記外部記憶装置と交信する外部記憶装置インタフェースと、
ｄ．外部記憶装置の占有度を監視するための外部メモリ・モード論理回路のみを含む外部記憶装置マネージャ・ブロックと、
ｅ．前記送信ジョブ要求に応答して、前記内部記憶装置と前記外部記憶装置インタフェースとの間で前記パケット・データを伝送するための内部及び外部の両メモリ・モード論理回路を含むパケット・データ転送エンジンと、
を含む前記パケット交換装置。
【請求項２】
請求項１に記載の２チップ／単一ダイのパケット交換装置であって、更に、内部記憶装置の占有度を監視するための内部メモリ・モード論理回路のみを含む内部メモリ・マネージャ・ブロックを含む前記パケット交換装置。
【請求項３】
請求項１に記載の２チップ／単一ダイのパケット交換装置であって、更に、前記パケット・データ転送エンジンが、
ａ．前記パケット送信ジョブ要求を処理するための内部メモリ・モードを含み、前記内部記憶装置と前記外部記憶装置インタフェースとの間で前記パケット・データを伝送するための外部メモリ・モード論理回路を含む待ち行列で管理されるブロックと、
ｂ．前記内部記憶装置から前記パケット・データを読み出すための内部メモリ・モード論理回路を含み、前記外部記憶装置インタフェースに前記パケット・データを書き込むための外部メモリ・モード論理回路を含む受信適合ブロックと、
を含む前記パケット交換装置。
【請求項４】
請求項３に記載の２チップ／単一ダイのパケット交換装置であって、更に、
ａ．前記内部記憶装置へのアクセスを提供する内部メモリ・モード論理回路のみを含む内部記憶装置インタフェースと、及び
ｂ．前記パケット・データ転送エンジンであって、更に、前記外部記憶装置インタフェースから前記パケット・データを読み出すための外部メモリ・モード論理回路を含み、また前記内部記憶装置インタフェースを介して前記内部記憶装置に前記パケット・データを書き込むための内部メモリ・モード論理回路を含む送信適合ブロックを含む前記パケット・データ転送エンジンと、
を含む前記パケット交換装置。
【請求項５】
請求項３に記載の２チップ／単一ダイのパケット交換装置であって、更に、前記内部記憶装置にアクセスするための内部メモリ・モード論理回路と、前記外部記憶装置インタフェースから前記パケット・データを受信するための外部メモリ・モード論理回路と、を含む内部記憶装置インタフェースを含む前記パケット交換装置。
【請求項６】
請求項１に記載の２チップ／単一ダイのパケット交換装置であって、更に、出力ポートを介してパケットを送信するときに、前記内部記憶装置からパケット・データを取り出すための内部メモリ・モード論理回路のみを含むパケット送信ブロックを含む前記パケット交換装置。
【請求項７】
請求項１に記載の２チップ／単一ダイのパケット交換装置であって、更に、前記パケット処理ブロックが、パケットのための出力ポートを決定するための検索エンジン及び受信したパケットを分類するための分類論理回路のうちの１つを含む前記パケット交換装置。
【請求項８】
パケット交換装置に採用されたダブル・データ・レート・シンクロナス・ダイナミック・ランダム・アクセス・メモリ（ＤＤＲ  ＳＤＲＡＭ）の記憶装置にアクセスする方法であって、前記ＤＤＲ  ＳＤＲＡＭメモリが、複数パケットのパケット・データを記憶するための複数のメモリ・バンクを有しており、
ａ．パケット・データを可変サイズのバースト・ユニットに区分化する工程と、
ｂ．複数のバースト・ユニットのメモリ書き込み動作をシーケンス化して、各バースト・ユニット・メモリ書き込み動作が、先行するバースト・ユニット・メモリ書き込み動作とは異なるメモリ・バンクにパケット・データを書き込むことを保証する工程と、
ｃ．複数のバースト・ユニットのメモリ読み出し動作をシーケンス化して、各バースト・ユニット・メモリ読み出し動作が、先行するバースト・ユニット・メモリ読み出し動作と異なるメモリ・バンクからパケット・データを読み出すことを保証する工程と、
ｄ．前記複数のシーケンス化されたバースト・ユニット・メモリ書き込み動作を複数の書き込みウインドウに配置する工程と、
ｅ．前記複数のシーケンス化されたバースト・ユニット・メモリ読み出し動作を複数の読み出しウインドウに配置する工程と、及び
ｆ．前記書き込みウインドウと前記読み出しウインドウとをインターリーブしながらメモリ・アクセス動作を実行する工程と、
を含む前記方法。
【請求項９】
請求項８に記載の方法であって、パケット・データを可変サイズのバースト・ユニットに区分化するとともに、更に、本方法が、パケット・データを前記記憶装置に記憶する前に、複数の交換装置入力ポートを介して受信されるパケットに関するパケット・データを区分化する工程を含む前記方法。
【請求項１０】
請求項９に記載の方法であって、更に、パケット受信制御を実行する優先工程を含む前記方法。
【請求項１１】
請求項１０に記載の方法であって、パケット受信制御を実行するとともに、更に、本方法が、パケットを選択的に受け入れる工程及び別のパケットを選択的に破棄する工程のいずれか１つの工程を含む前記方法。
【請求項１２】
請求項９に記載の方法であって、前記複数のメモリ・バースト・ユニット・メモリ書き込み動作をシーケンス化するとともに、更に、本方法が、広帯域入力ポートを介して受信されたパケット、高品位サービスのパケット、特別なタイプのサービスのパケット、アラーム・パケット、及び通知パケットのいずれか１つのパケットに対応するバースト・ユニット書き込みを優先的にスケジュールする工程を含む前記方法。
【請求項１３】
請求項１２に記載の方法であって、バースト・ユニット書き込みを優先的にスケジュールするとともに、更に、本方法が、合計で１０メモリ・アクセス・サイクル長までバースト・ユニット書き込みのスケジュールを単一バンクに遅延させる工程を含む前記方法。
【請求項１４】
請求項８に記載の方法であって、パケット・データを可変サイズのバースト・ユニットに区分化するとともに、更に、本方法が、複数の交換装置出力ポートを介して送信するために、前記記憶装置に記憶されたパケットに関するパケット・データを区分化する工程を含む前記方法。
【請求項１５】
請求項１４に記載の方法であって、前記複数のメモリ・バースト・ユニット・メモリ読み出し動作をシーケンス化するとともに、更に、本方法が、広帯域出力ポートを介して送信すべきパケット、高品位サービスのパケット、特別なタイプのサービスのパケット、アラーム・パケット、及び通知パケットのいずれか１つのパケットに対応するバースト・ユニット読み出しを優先的にスケジュールする工程を含む前記方法。
【請求項１６】
請求項１４に記載の方法であって、前記複数のメモリ・バースト・ユニット・メモリ読み出し動作をシーケンス化するとともに、更に、本方法が、混雑した出力ポートに宛てたパケットに対応するバースト・ユニット読み出しのスケジュールを遅延させる工程を含む前記方法。
【請求項１７】
請求項１４に記載の方法であって、前記複数のメモリ・バースト・ユニット・メモリ読み出し動作をシーケンス化するとともに、更に、本方法が、合計で１０メモリ・アクセス・サイクル長までバースト・ユニット書き込みのスケジュールを単一バンクに遅延させる工程を含む前記方法。
【請求項１８】
請求項８に記載の方法であって、パケット・データを区分化するとともに、更に、本方法が、パケット・データを少なくとも４メモリ・アクセス・サイクル長のバースト・ユニットに区分化する工程を含む前記方法。
【請求項１９】
請求項１８に記載の方法であって、パケット・データを区分化するとともに、更に、本方法が、パケット・データの少なくとも４９バイトを転送するようにパケット・データをバースト・ユニットに区分化する工程を含む前記方法。
【請求項２０】
請求項８に記載の方法であって、更に、少なくとも１２８メモリ・アクセス・サイクル長のウインドウを採用する工程を含む前記方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット交換ノードにおけるパケットの記憶に関するものであって、更に詳細には、単一チップのパケット交換ノードにおいてパケットを記憶するための方法及び装置に関する。
【背景技術】
【０００２】
パケット交換通信の分野では、交換通信網のノードは、伝送されたパケットを処理する場合に、“記憶及び転送”という手順に従う。交換網ノードでのパケット記憶は、この手順に従って実行されるため、データ記憶装置を必要とする。
【０００３】
交換ノードにパケットを記憶するために必要とされる記憶装置の容量は、交換ノードが使用されるネットワーク環境に関連する。
【０００４】
ローカル・エリア・ネットワーク（ＬＡＮ）で使用される交換ノードにおいて、交換ノードを出入りするパケットを伝送するために利用できる全帯域幅は、一般に、交換ノードの交換能力をはるかに超えている。それゆえ交換ノードにおける処理応答が未処理であるパケットを記憶するための記憶装置は、小さい容量のもので十分である。
【０００５】
これとは対照的に、アップリンクのトラヒックもダウンリンクのトラヒックも集中する交換網ノードへのアクセスでは、アクセス・ポート（典型的には１００Ｍｂｐｓあるいはそれ以下）とアップリンク・ポート（１Ｇｂｐｓあるいはそれ以上）との間の速度不整合のため、アクセス交換ノードにおいて一時的に過密状態及びデータ累積がしばしば発生することから、パケット損失を防止するためにはより大きい容量のメモリをサポートする交換アーキテクチャを設計する必要がある。
【０００６】
更に、ボストンやニューヨーク・シティのようなメトロポリタン・エリア・ネットワーク（ＭＡＮ）の中核における伝送交換網ノードにおいては、数百万の独立したトラヒックの流れが同時に伝送されることから、記憶装置の占有率は時間的にランダムに変動する。従って、コンテンツのスループットが異常な変動を示してもそれに耐えられるように巨大なパケット記憶装置が必要とされる。
【０００７】
システム設計者が単一チップの交換網ノード・アーキテクチャを設計するときには、設計する交換網ノードが最終的に設置されるネットワーク環境を考慮に入れて、およそどの程度のパケット記憶装置が必要であるかを推測する。記憶装置を大型化すれば、３０ドルあるいはそれ以上の追加コストが掛かる。従って、単一チップ交換網ノード製造業者は、“万能サイズ”の解を提供するのではなく、多様な顧客ニーズに個別に応える解を提案することが肝心である。なぜなら、顧客というのは、あまりに少ないメモリであれば性能不足を理由に交換ノード・デバイスの受け入れを拒否するし、逆に、メモリが多すぎてもその価格を理由に交換ノード・デバイスを拒否するものだからである。
【０００８】
従って、交換ノード・システムの製造業者が多様な市場で生き残るためには、少なくとも２つの解を提案するのが一般的である。１つは、典型的には単一チップ交換装置中に埋め込まれた小型のパケット記憶装置を備えた交換ノード・デバイスであり、もう１つは、外部接続する大型パケット記憶装置を備えた交換ノード・デバイスである。異なる市場区分を想定して２種類のパケット記憶デバイス用のチップを設計及び製造することは、前者のみに対する解決策として小型のパケット記憶装置問題に取り組み、後者のみに対する解決策とし大型のパケット記憶装置問題に取り組むことができる点で好ましいことである。しかし、２つの独立した解を提供するのは開発コストの点で高くつく。１つではなく、２つの異種交換ノードを作製するそのコスト差額は大きい。現時点で見積もって、５０万ドルの追加となろう。更に、プレ・ファブリケーション（レイアウト、ルーティング等）及びポスト・ファブリケーション（検証）の両方の技術的コストも二重に掛かることになる。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
通信及び半導体の市場を牽引するものとして、交換ノード製造業者は常に、可能な限りコスト削減を実現するように要求される。埋め込み型パケット交換ノードの設計コストを削減する１つの方法は、交換論理回路に加えて、小型の埋め込み記憶装置と、オプションとして外部に大型の記憶装置を接続する構成の両方をサポートする単一ダイを製造するものである。少数の交換ノード製造業者は、既に、この“２つの交換チップ、１つのダイ”という考え方を採用しており、小型の記憶装置の交換ノード論理回路と大型の記憶装置の交換ノード論理回路との両方を同じダイの上に同時に製造することを行っている。
【００１０】
図１は、典型的な２チップ／単一ダイの交換アーキテクチャ１００／２００を示す。
【００１１】
図１には、小型の内部記憶装置１０２（モジュール）を採用した単一ダイ上の標準的なパケット交換装置１００部に関する第１のパケット・データ・フローが示されている。引用してここに編入される米国電気電子技術者協会（ＩＥＥＥ）の標準仕様８０２．３に従って、パケットは、物理的リンク１０４を介して媒体アクセス制御（ＭＡＣ）／ギガビットＭＡＣ（ＧＭＡＣ）ブロック１０６によって受信される。パケット受信ブロック１０８は、ＭＡＣブロック１０６からのパケット・データを、内部記憶装置インタフェース１０３を介して内部記憶装置１０２に転送する。内部記憶装置１０２は、小型であり、典型的には１ＭＢを超えずかつ高速の、典型的には埋め込み型のスタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）である。
【００１２】
典型的なイーサネット（登録商標）・パケット・フレームのサイズは、６４から１５１８バイトの間で変動する。内部記憶装置１０２は、以下ではグラニュール（ｇｒａｎｕｌｅ）と呼ぶ、より小さい記憶領域に細分化される。ほとんどの実施例で、各グラニュールは最大のパケット・フレームと比べて非常に小さい。単一グラニュールの長さを超えるパケットは、内部メモリ管理ブロック１１０によって監視されるリンク・データ構造をリンクすることによって互いにリンクされた複数のグラニュールに記憶される。内部メモリ・マネージャ・ブロック１１０は、内部記憶装置１０２の空グラニュール・リストを保持しており、それらの空グラニュールは、新しいパケットが到着するたびに、パケット受信ブロック１０８によってそれぞれ使用を要求される。
【００１３】
有効な１つのパケットが内部メモリ・ブロック１０２中に、一旦、十分に書き込まれてしまうと、そのパケットは処理待ちとなり、パケット処理ジョブ要求がパケット処理ブロック１１２に送られる。端的に言えば、パケット処理ブロック１１２がパケット交換を実行する。パケット処理ブロック１１２は、パケット・ヘッダとして知られた、典型的には最初の１２８バイトあるいはそれ以下のパケット先頭部分を入力として取り出し、パケット・ヘッダ・フィールドからパケット・ヘッダ情報を抽出し、次に、抽出した情報を用いてパケット処理の優先順位と、交換網ノード１００外へパケットを送信するために経由すべき少なくとも１つの宛先ポート１０６を決定する。
【００１４】
更に、パケットは、分類結果に基づいて修正される必要がある。例えば、発信源及び／または宛先アドレス置換、タイプ・オブ・サービス（ＴＯＳ）再割り当て、パケットの生存時間（ＴＴＬ：Ｔｉｍｅ−ｔｏ−Ｌｉｖｅ）値の減分、及びインターネット・プロトコル（ＩＰ）、伝送制御プロトコル（ＴＣＰ）、あるいはユーザ・データグラム・プロトコル（ＵＤＰ）に関するチェックサムの再計算などの分類がある。パケット修正機能は、内部記憶装置１０２へ付加的なメモリ・アクセス１１４を要求する。
【００１５】
パケットが分類され、宛先ポートが決まったあとで、待ち行列マネージャ１１６は、訂正転送用待ち行列中に、対応するパケット送信ジョブ要求を挿入する。典型的には、宛先ポート及び優先順位の組に対して１つの待ち行列（図示されていない）がある。各パケットは、予定している出力ポート１０６が空いたときに送信されるようにスケジュールされ、そのポートの待ち行列の１つにおいてそのパケットのジョブが待機状態になる。いくつかのパケットは、多重ポート１０６を介して同時放送する必要がある。サービス品質（ＱｏＳ）を保証する交換網ノード１００では、スケジューラ（待ち行列管理モジュール１１６に付随する）が、パケット転送の優先順位及び行列待ちパケットの遅延許容度などを考慮するスケジューリング・アルゴリズム（他所で説明する）を適用して、待機中のパケット送信のうちから次に送信すべきパケットを選び出す。
【００１６】
送信予定のパケットをそれに対応して決定された出力ポート１０６を介して送信する場合、そのパケットは、パケット送信モジュール１１８によって内部記憶装置１０２から内部記憶装置インタフェース１０３を介して取り出され、適切なポートＭＡＣ／ＧＭＡＣ１０６（あるいはＣＰＵインタフェース１２０）に転送される。物理的リンク１０４を通ってパケット全体が送信された時点で、内部記憶装置１０２中にパケットを記憶するために使用されたグラニュールは、それらを内部メモリ・マネージャ・ブロック１１０が保持している空グラニュール・リストに加えられ、後続の入力パケットを記憶するために再利用できるようになる。
【００１７】
図１は、更に、大型の外部記憶装置２０２を採用するダイ上の標準的なパケット交換装置２００部に関する第２のパケット・データ・フローを示している。概念的には、内部記憶装置１０２への内部記憶装置インタフェース１０３の代わりに、インタフェース２０３を用いて外部記憶装置２０２へ受信パケットを記憶することを除き、これらのパケット・データ・フローはほぼ同一である。現時点で、大型の外部記憶装置２０２を実現するための好適な選択肢はＤＤＲ  ＳＤＲＡＭ（ダブル・データ・レート・シンクロナス・ダイナミック・ランダム・アクセス・メモリ）である。これは、サイズ対コスト比が最適だからである。そのような交換網ノード２００では、１２８ＭＢの外部記憶装置をサポートすることはごく一般的である。
【００１８】
しかしパケット・データの転送に関して、ＤＤＲ  ＳＤＲＡＭは、ＳＲＡＭほど効率がよくない。従って、（Ｇ）ＭＡＣブロック１０６でのオーバーフロー及びアンダーランを防止するために、ＤＤＲ  ＳＤＲＡＭの出入りにおけるかなり大きいジッタをバッファリングする必要がある。このために、大型記憶装置構成／動作にもＳＲＡＭメモリ・ブロック１０２が採用されており、それは、一般に２つの領域：受信バッファ２２２と送信バッファ２２４とに分割されて、ＤＤＲ  ＳＤＲＡＭ２０２のデジッタリング（ｄｅｊｉｔｔｅｒｉｎｇ）のために使用される。
【００１９】
図１に示したアーキテクチャは、実際には、単一ダイ・アーキテクチャの２つの応用を反映していることをもう一度強調しておく。両方の動作モードをサポートするために、内部メモリ・モードの論理に従って動作するすべてのブロック１０８、１１０、１１２、及び１１８は、実際には、外部メモリ・モードの論理に従って動作する対応ブロック２０８、２１０、２１２、及び２１８を有する。内部メモリ・モード論理回路と外部メモリ・モード論理回路は、両方とも、製造時に、同じダイの上にハードウエア論理回路として実現される。２つの動作モードは、（内部記憶装置１０１）ＳＲＡＭメモリ及び（外部記憶装置２０２）ＤＤＲ  ＳＤＲＡＭメモリへのアクセスを許容するために、全く異なる形で実現される。一般に、２つの異なるアドレッシング方式、２つの異なるグラニュール・サイズ、２つの異なるタイミング制約の組等を必要とする。
【００２０】
例えば、外部記憶装置２０２を使用する場合、パケット受信ブロック１０８／２０８は、デジッタ・バッファリングのために内部メモリ・モードで動作する間に内部記憶装置ＳＲＡＭ１０２へパケット・データを転送し、そこからパケット・データを取り出し、そのあと、外部メモリ・モードで動作する間に外部記憶装置インタフェース２０３を介して外部ＤＤＲ  ＳＤＲＡＭ２０２へパケット・データを転送できる必要がある。内部及び外部の両メモリ・モード論理回路を組み込まなければならないブロックは、“デュアル・モード”ブロックである。
【００２１】
ブロック１０８／２０８、１１０／２１０、１１２／２１２、及び１１８／２１８のほとんどすべてのブロックがデュアル・モード動作をサポートするが、それらの実施例の問題点は、膨大な開発コストが掛かること、デュアル・ブロックの設計が複雑であるためエラーが起こりがちであること、ブロック・レベルの検証に少なくとも二倍の時間を要すること、システム・レベルの検証に更に労力を要すること、デュアル論理回路ブロックが複数であるためダイ寸法がより大きくなること、そしてダイ寸法が大きくなるため製造歩留まりが低下することである。
【００２２】
従って、上述の問題点を解決する必要がある。
【課題を解決するための手段】
【００２３】
本発明の１つの態様に従えば、受信したパケットのパケット・データを内部記憶装置に記憶する場合には内部メモリ・モードで動作し、またそれに接続された外部記憶装置にパケット・データを記憶する場合には外部メモリ・モードで動作する２チップ／単一ダイの交換装置が提供される。このパケット交換装置は、次のもの：受信したパケット・データを内部記憶装置に記憶し、また内部記憶装置に記憶されたパケットに関するパケット処理ジョブ要求を発行するための内部メモリ・モード論理回路のみを含むパケット受信ブロック；パケット・ヘッダ情報に対して演算処理を実行し、処理されたパケットに関するパケット送信ジョブ要求を発行するための内部メモリ・モード論理回路のみを含むパケット処理ブロック；外部記憶装置と交信するための、外部メモリ・モード論理回路のみを含む外部記憶装置インタフェース；外部記憶装置の占有度を監視するための外部メモリ・モード論理回路のみを含む外部記憶装置管理ブロック；更に、送信ジョブ要求に応答して、外部記憶装置インタフェースと内部記憶装置との間でパケット・データを伝送するための、内部及び外部両メモリ・モード論理回路を含むパケット・データ転送エンジン；を含む。
【００２４】
本発明の別の態様に従えば、パケット交換装置は、更に、内部記憶装置の占有度を監視するための内部メモリ・モード論理回路のみを含む内部メモリ・マネージャ・ブロックを含む。
【００２５】
本発明の更に別の態様に従えば、パケット・データ転送エンジンは、更に、次のものを含む。パケット送信ジョブ要求を処理するための内部メモリ・モード論理回路を含み、更に、内部記憶装置と外部記憶装置インタフェースとの間でパケット・データを伝送するための外部メモリ・モード論理回路を含む待ち行列が管理されるブロック。更に、内部記憶装置からパケット・データを読み出すための内部メモリ・モード論理回路を含み、また外部記憶装置インタフェースにパケット・データを書き込むための外部メモリ・モード論理回路を含む受信適合ブロック。
【００２６】
本発明の更に別の態様に従えば、パケット・データ転送エンジンは対称的である。パケット交換装置は、更に、内部記憶装置へのアクセスを提供する内部メモリ・モード論理回路のみを含む内部記憶装置インタフェースを含む。パケット・データ転送エンジンは、更に、外部記憶装置インタフェースからパケット・データを読み出すための外部メモリ・モード論理回路を含み、また内部記憶装置インタフェースを介して内部記憶装置にパケット・データを書き込むための内部メモリ・モード論理回路を含む送信適合ブロックを含む。
【００２７】
本発明の更に別の態様に従えば、パケット・データ転送エンジンは非対称的である。パケット交換装置は、更に、内部記憶装置へのアクセスを提供する内部メモリ・モード論理回路と、外部記憶装置インタフェースからパケット・データを受信するための外部メモリ・モード論理回路とを含む内部記憶装置インタフェースを含む。
【００２８】
本発明の更に別の態様に従えば、パケット交換装置は、更に、出力ポートを介してパケットを送信するときに内部記憶装置からパケット・データを取り出すための内部メモリ・モード論理回路のみを含むパケット送信ブロックを含む。
【００２９】
本発明の更に別の態様に従えば、パケット処理ブロックは、更に、パケットの出力ポートを決定するための検索論理回路、及び受信したパケットを分類するための分類論理回路のうちの１つを含む。
【００３０】
本発明の更に別の態様に従えば、パケット交換装置に採用されたダブル・データ・レート・シンクロナス・ダイナミック・ランダム・アクセス・メモリ（ＤＤＲ  ＳＤＲＡＭ）の記憶装置にアクセスする方法が提供される。ＤＤＲ  ＳＤＲＡＭメモリは、複数パケットのパケット・データを記憶するための複数のメモリ・バンクを有する。パケット・データは、サイズが可変なバースト・ユニットに区分化される。複数のバースト・ユニット・メモリへの書き込み動作はシーケンス化されて、各々のバースト・ユニット・メモリ書き込み動作が、先行するバースト・ユニット・メモリ書き込み動作とは異なるメモリ・バンクにパケット・データを書き込むことを保証する。複数のバースト・ユニット・メモリからの読み出し動作もシーケンス化されて、各々のバースト・ユニット・メモリ読み出し動作が、先行するバースト・ユニット・メモリ読み出し動作とは異なるメモリ・バンクからパケット・データを読み出すことを保証する。複数のシーケンス化されたバースト・ユニット・メモリ書き込み動作は、複数の書き込みウインドウに配置される。複数のシーケンス化されたバースト・ユニット・メモリ読み出し動作も、複数の読み出しウインドウに配置される。更に、メモリ・アクセス動作は、書き込みウインドウと読み出しウインドウとをインターリーブしながら実行される。
【００３１】
本発明の更に別の態様に従えば、パケット・データをサイズ可変のバースト・ユニットに区分化する場合に、本方法は、更に、パケット・データを記憶装置に記憶する前に、複数の交換装置入力ポートを介して受信されたパケットに関するパケット・データを区分化する工程を含む。
【００３２】
本発明の更に別の態様に従えば、複数メモリのバースト・ユニット・メモリ書き込み動作をシーケンス化する場合に、本方法は、更に、広帯域幅の入力ポートを介して受信したパケット、高品位サービスのパケット、特別なサービス・タイプのパケット、アラーム・パケット、及び通知パケットのうちの１つからのパケットに対応するバースト・ユニット書き込みを優先的にスケジュールする工程を含む。
【００３３】
本発明の更に別の態様に従えば、バースト・ユニット書き込みを優先的にスケジュールする場合に、本方法は、更に、合計で１０メモリ・アクセス・サイクル長までバースト・ユニット書き込みのスケジュールを単一バンクに遅延させる工程を含む。
【００３４】
本発明の更に別の態様に従えば、複数メモリのバースト・ユニット・メモリ読み出し動作をシーケンス化する場合に、本方法は、更に、広帯域幅の出力ポートを介して送信したパケット、高品位サービスのパケット、特別なサービス・タイプのパケット、アラーム・パケット、及び通知パケットのうちの１つからのパケットに対応するバースト・ユニット読み出しを優先的にスケジュールする工程を含む。
【００３５】
本発明の更に別の態様に従えば、複数メモリのバースト・ユニット・メモリ読み出し動作をシーケンス化する場合に、本方法は、更に、混雑した出力ポートに宛てたパケットに対応するバースト・ユニット読み出しのスケジュールを遅延させる工程を含む。
【００３６】
本発明の更に別の態様に従えば、複数メモリのバースト・ユニットのメモリ読み出し動作をシーケンス化する場合に、本方法は、合計で１０メモリ・アクセス・サイクル長までバースト・ユニット書き込みのスケジュールを単一バンクに遅延させる工程を含む。
【００３７】
本発明の特徴は、少数のデュアル・モード論理回路で実現される空間効率の高い単一ダイ／２チップの交換ノード・アーキテクチャであり、また、ＤＤＲ  ＳＤＲＡＭの帯域幅の利用効率である。
【００３８】
本発明の特徴及び利点は、添付図面を参照した以下の例示的な実施の形態についての説明から明らかとなろう。
【００３９】
添付図面では、同様の部品に対して同じ符号が付されている。
【００４０】
好適な実施の形態に従えば、これに限定されるわけではないが、シンクロナス・スタティック・ランダム・アクセス・メモリ（ＳＳＲＡＭ）のような小型で埋め込み式のパケット記憶メモリと、ダブル・データ・レート・シンクロナス・ダイナミックＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）を用いた大型で外部接続されるパケット記憶メモリとの両方をサポートする２チップ／単一ダイの交換装置アーキテクチャが、同一ダイに製造された最小のデュアル・モード論理回路で以って提供される。
【実施例】
【００４１】
図２は、本発明の例示的実施の形態に従って、大型の外部ＤＤＲ  ＳＤＲＡＭの記憶装置２０２を備える２チップ／単一ダイの交換装置アーキテクチャ３００を実現する要素を示す模式図である。
【００４２】
本発明の更に別の態様に従えば、パケット交換装置３００用のパケット・データ・フローでは、ブロック１０２、１０６、１０８、１１０、１１２、１１８、及び１２０が採用される。これらは、パケット・データを記憶する最終的な場所が内部記憶装置１０２であろうと、あるいは外部記憶装置２０２であろうと、それとは無関係にあたかも内部メモリ・ブロック１０２のみが採用されているかのように、上述の単一の内部メモリ・モードのみで動作する。内部記憶装置インタフェース３０３は、単一の内部メモリ・モードで動作する。ブロック１０２、１０６、１０８、１１０、１１２、１１８、１２０、及び３０３は、交換装置３００の動作に従い、構成、小型内部メモリ、あるいは大型外部メモリに左右されない。内部メモリ・モード論理回路は、内部記憶装置アドレッシング方式、内部記憶装置のグラニュール・サイズ、内部メモリ・アクセスのタイミング制約等だけに依存して動作する。
【００４３】
外部メモリ・モード論理回路は、外部記憶装置２０２へのアクセスのためだけに採用されている。外部メモリ・モード論理回路は、外部記憶装置アドレッシング・スキーム、外部記憶装置のグラニュール・サイズ、パケット・データ転送を実行するときの外部メモリ・バースト・サイズ、外部メモリ・アクセスのタイミング制約等に従って動作する。一般に、外部メモリのグラニュール・サイズは、内部メモリのグラニュール・サイズよりも大きい。以下の説明では、簡略化して外部記憶装置２０２へのアクセスに関する詳細のみを紹介する。
【００４４】
本発明の例示的実施の形態に従えば、待ち行列マネージャ１１６／３１６は、デュアル・モード・ブロックである。パケットに関するパケット送信ジョブは、待ち行列マネージャに転送される。待ち行列マネージャは、パケット送信ジョブを受信するために内部メモリ・モード論理回路１１６を採用している。
【００４５】
パケット受信制御を実行するためにパケット・フィルタリングを適用する場合、もしパケットを転送すべきであれば、待ち行列マネージャ１１６／３１６は、デュアル・モード受信適合ブロック３２２に要求を出して、内部記憶装置１０２から外部記憶装置２０２にパケット・データを転送させる。外部メモリ・モードでのみ動作する外部メモリ・マネージャ・ブロック３３８は、外部記憶装置２０２に関する空グラニュール・リストを管理する。これに対応する内部メモリ・マネージャ１１０は、内部メモリ・モードのみで動作する。外部メモリ・モードで動作する外部記憶装置インタフェース２０３及び外部メモリ・マネージャ・ブロック３３８は、内部メモリ・モードのみのブロック１０２、１０６、１０８、１１０、１１２、１１８、１２０、及び３０３の動作に左右されない。
【００４６】
一旦、パケットが外部記憶装置２０２に完全に転送されてしまえば、待ち行列マネージャ１１６／３１６は、正当な処理用待ち行列中にパケット用の送信ジョブを挿入する。
【００４７】
パケット受信制御を実行するためにパケット・フィルタリングを適用する場合、待ち行列マネージャ１１６は、交換ノード資源が少ない場合にはパケットを失う可能性がある。もしパケットが失われれば、パケットは内部記憶装置１０２に一時的に記憶されるだけとなって外部記憶装置アクセスの帯域幅は使用されないことになり、このことは本提案方式の１つの特徴となる。パケット損失の場合、パケット・データを記憶するために採用された内部メモリのグラニュールは、内部メモリ・マネージャ・ブロック１１０が管理する内部メモリの空グラニュール・リストに加えられる。
【００４８】
パケットを送信するようにスケジュールされたときは、待ち行列マネージャ１１６／３１６は、外部記憶装置２０２から内部記憶装置１０２へパケット・データを転送するようにデュアル・モード送信適合ブロック３２４に命令する。
【００４９】
本発明の例示的実施の形態に従えば、外部記憶装置２０２を採用する場合にのみ双方向パケット・データ転送エンジンが使用され、その双方向パケット・データ転送エンジンは、待ち行列マネージャ３１６、受信適合ブロック３２２、及び送信適合ブロック３２４の各デュアル・モード・ブロックを含む。交換装置３００のブロック１０２、３０３、１０６、１０８、１１０、１１２、１１８、及び１２０は、内部メモリ・モードで動作し、また、ブロック２０３及び３３８は、外部メモリ・モードで動作する。双方向パケット・データ転送エンジンは、内部記憶装置１０２と外部記憶装置２０２との間で、内部及び外部メモリ・モードで動作する単一モードのブロック同士を分離する適合レイヤーのように振舞う。デュアル・モード適合ブロック３２２及び３２４は、メモリ・アドレッシング方式、記憶装置のグラニュール・サイズ、メモリ・アクセスのタイミング等の適正なものを採用する場合に必要な処理を実行し、また、外部メモリ転送バースト・サイズに関心を持つ。
【００５０】
本発明の別の例示的実施の形態に従えば、図３に示された２チップ／単一ダイの交換装置アーキテクチャ４００のハイブリッド実施は、デュアル・モードの内部記憶装置インタフェース１０３を用いて外部記憶装置２０２を出入りする非対称なパケット・データ転送を実行する非対称パケット・データ転送エンジンを含む。
【００５１】
受信したパケットを外部記憶装置２０２に記憶する場合、入力ポート１０６から外部記憶装置インタフェース２０３へのパケット・データ・フローは、図２に示すパケット・データ・フローのように流れ、他方、外部記憶装置インタフェース２０３から出力ポート１０６への逆方向のパケット・データ・フローは、図１に示すパケット・データ・フローに従う。ハイブリッド方式の１つの利点は、内部記憶装置１０２を送信適合ブロック４２４として使用することによって記憶及び転送動作の１つのステージを省くことによる、内部パケット転送待ち時間の短縮である。さもなければ必要とされる、送信適合ブロック３２４を採用することに伴うパケット・データの記憶及び取出が不要となる。交換装置４００の転送待ち時間は、配線速度で１パケット長の送信時間だけ短縮される。例として、パケット送信待ち時間は、１００Ｍｂｐｓにおいて１５１８バイト、あるいはおよそ１２１マイクロ秒にまで達する。
【００５２】
外部記憶装置２０２用としてＤＤＲ  ＳＤＲＡＭを採用する場合のパケット・データ帯域幅の利用に関するさらなる問題について以下に説明する。
【００５３】
本発明の例示的実施の形態に従えば、高速（毎秒数ギガビット）のパケット交換環境で採用されるＤＤＲ  ＳＤＲＡＭで実現された外部記憶装置２０２に関する広帯域幅利用を可能とする例示的アルゴリズムが提供される。単一の外部記憶装置インタフェース２０３を通して、外部ＤＤＲ  ＳＤＲＡＭ記憶装置２０２との間でｎポート１０６によって運ばれるパケット・データの転送には、記憶空間及び帯域効率を確保するために注意深いスケジュールが必要である。
【００５４】
図１を参照すると、典型的な場合に利用される簡便な方式は、受信したパケット全体を逐次的にＤＤＲ  ＳＤＲＡＭ２０２に書き込むものである。パケットの送信では、パケット全体がＤＤＲ  ＳＤＲＡＭ２０２から逐次的に読み出される。この簡便な方式に付随する１つの問題点は、ｎポート１０６をフル・ライン速度でサポートするためには、ＤＤＲ  ＳＤＲＡＭ２０２にアクセスするときのパケット・データ転送帯域幅は、交換装置２００の集中ポート速度よりも二倍高速でなければならないということである。例えば、２４の１００Ｍｂｐｓイーサネット（登録商標）・ポート１０６を備える交換装置２００は、２×２４×１００Ｍｂｐｓ、すなわち４．８Ｇｂｐｓのメモリ・アクセス帯域幅を持たなければならない。
【００５５】
従って、必要とされる高速度でパケット全体をＤＤＲ  ＳＤＲＡＭに移動させる唯一の方法は、受信パケットを全体としてデジッタ受信バッファ２２２に一時的に記憶し、また送信を予定するパケットを全体としてデジッタ送信バッファ２２４に一時的に記憶することである。典型的な場合、イーサネット（登録商標）・フレームは１５１８バイトもの大きさになり得るが、最新のパケット交換装置の多くがサポートする巨大イーサネット（登録商標）・フレームに関する新しい標準に従えば、パケット長は９０１８バイトに達する。従って、パケットをＤＤＲ  ＳＤＲＡＭ２０２に書き込むために必要とされる最小のデジッタ・バッファのサイズは２４×９０１８バイトである。事実、実際の要求は二倍となる。何故なら、“最も不幸な”ポート１０６、すなわちフル・ライン速度でラウンド・ロビン・サービス原則に従って最後にサービスを受けるポート１０６にサービス提供する場合、最大サイズのパケットを２つ記憶するための空間が必要とされるためである。この要求は、フル・ライン速度４×２４×９０１８バイト＝８６５ＫＢでＤＤＲ  ＳＤＲＡＭの読み出しを許容するために同様に再度２倍される。これは、上述のように、単一ダイ上に製造するには高価すぎる。
【００５６】
ＤＤＲ  ＳＤＲＡＭ外部記憶装置２０２にパケット・データを転送する進歩した方式は、受信したパケットを小さいバースト・ユニット、例えば、８または１６バイト長に分割して、ラウンド・ロビン方式、すなわち、パケット・データの８バイトをポート０から書き込み、パケット・データの８バイトをポート１から書き込む等々し、次に、パケット・データの８バイトをポート０から読み出し、パケット・データの８バイトをポート１から読み出す等々して、パケット処理するものである。この修正された方式の特徴は、ジッタ・バッファリングの記憶空間要求が緩和されることである。これによって、膨大な記憶空間が節約できる。しかし、メモリ・アクセスの観点からは、ここでは書き込み及び読み出しは完全にランダムになる。各メモリ・バースト・ユニットが次のメモリ・バースト・ユニットに“近く”位置することはありそうもない。これは、異なるパケットに対して、小メモリのバースト・ユニット書き込み及び読み出しが互いにシャッフルされて処理されるためである。
【００５７】
幸いなことに、図１、図２、および図３に示されたメモリ１０２／２０２はランダム・アクセス・メモリである。しかし、ランダム・アクセスの効率は、メモリ・タイプが違えば全く異なってくる。ＳＲＡＭ１０２に関しては、読み出しあるいは書き込み動作のいずれであっても、任意の順序で小さいランダム・アクセスを一緒にパックして、引き続くメモリ・アクセスの間に“ギャップ”を強制挿入することなく、１００％のメモリ・アクセス帯域幅の利用が達成できる。これとは対照的に、ＤＤＲ  ＳＤＲＡＭ２０２を採用する場合には、特定の書き込み及び読み出しシーケンスを含むメモリ・アクセスを維持する場合には、かなり大きな帯域幅が浪費される。
【００５８】
図４は、ＤＤＲ  ＳＤＲＡＭを採用する場合の、第１の帯域幅の非効率問題を示す。
【００５９】
ＤＤＲ  ＳＤＲＡＭ記憶装置２０２は、４つのメモリ・バンクに分割される。単一のメモリ・アクセス・バースト・ユニットの引き続くアドレスで同一ＤＤＲ  ＳＤＲＡＭバンクにメモリ・アクセスする場合は、一緒にパックすることによってメモリ・アクセスの帯域幅をロスしなくてすむ。逐次的なメモリ・アドレスＷＤ０ないしＷＤ７への最初の８つの引き続くメモリ書き込み動作として、バースト・ユニットのメモリ書き込みが図４に例示的に示されている。これとは対照的に、同じＤＤＲ  ＳＤＲＡＭバンクへのランダム・メモリ・アクセスは厳しい帯域幅損失の問題に直面する。図４には最初のバースト・ユニット書き込みのＷＤ７メモリ書き込みサイクルと、同じメモリ・バンクの異なる領域へのアクセスによって引き起こされる第２のバースト・ユニット書き込みのＷＤ０メモリ書き込みサイクルとの間に大きなギャップが示されている。ランダムな書き込み動作を実行するために、所望のバンクは、ランダムにアドレッシングされるメモリ・アクセス・バースト・ユニット同士の間に予め予備充電及び再活性化される必要があり、長時間の遅延が生ずる。
【００６０】
高速交換の応用では、浪費されるメモリ帯域幅は重大な問題である。例えば、８Ｇｂｐｓのスループットをサポートする交換装置２００に関して、パケット・データの読み出しと書き込み動作を同時にサポートするためだけに、少なくとも１６Ｇｂｐｓのメモリ帯域幅が必要である。実際には、１６Ｇｂｐｓよりも大きい帯域幅が必要とされるはずである。まず、イーサネット（登録商標）・パケットがメモリのバイト幅と“整合”しないため、書き込み（及び読み出し）時に浪費が不可避である。例えば、もしデータ・バスの幅が１６バイトであれば、６５バイトのパケットは８０バイト・パケットと同じメモリ帯域幅を要求しよう。従って、せいぜい１５バイトの浪費を補償するために１６Ｇｂｐｓ以上が必要とされよう。第２に、ほとんどの交換装置アーキテクチャで、ＤＤＲ  ＳＤＲＡＭとの間で、実際のパケット・データに加えて、制御情報が書き込み及び読み出しされる。そのような制御情報には、パケット長、宛先、トラヒック分類情報等が含まれる。この付加的な情報を書き込み及び読み出すためにも付加的なメモリ帯域幅が必要になる。１６６ＭＨｚで稼動する６４ビットのＤＤＲ  ＳＤＲＡＭ２０２は、２１Ｇｂｐｓの生のパケット・データ転送帯域幅を提供する。もしメモリ・アクセスの帯域幅効率が、ランダムな読み出し及び書き込み動作を実行するときに発生する待ち時間のせいでわずか５０％であれば、正味利用できるのは、ほんの１０．５Ｇｂｐｓとなる。この問題を緩和するために採用される唯一の解決策は、一般的には、クロック周波数を上げること及び／または幅広いバスを使用することであるが、いずれも実際には受け入れがたい。クロック周波数を上げることは、バス・ラインの信号の不安定性につながるし、幅広いデータ・バスはより多くのバス・ライン・トレースを必要とするため、それらは、クロック周波数及び採用されるトレース数とともに増大するクロストークを最小に留めながらそれらの間の信号伝播時間を等しく保つように注意深く設計されなければならない。
【００６１】
本発明の例示的実施の形態に従えば、書き込み及び読み出しのＤＤＲ  ＳＤＲＡＭメモリ・アクセス動作を実行するための予測アルゴリズムが採用される。
【００６２】
図５は、帯域幅を効率的に利用するマルチ・バンク式メモリ書き込みアクセスのシーケンスを示す模式図である。本発明の例示的実施の形態に従えば、ＤＤＲ  ＳＤＲＡＭメモリへのランダムなアクセスに付随する遅延は、パイプライン方式として知られている、４つのメモリ・バンク間で交互にアクセスを行うことによって隠すことができる。パケット・データをＤＤＲ  ＳＤＲＡＭ２０２に書き込むときに、予備充電及び再活性化の命令を予め発行する方法を採用することによって、書き込みアドレスは常にＤＤＲ  ＳＤＲＡＭ２０２の次の順番のバンクを使用するように選ぶことができるため、１００％の書き込み効率が得られて、遅延が隠される。ＤＤＲ  ＳＤＲＡＭ２０２にアクセスするときに１００％の帯域幅利用を達成するために、読み出し及び／または書き込みのメモリ・アクセス・サイクルごとにバンクを切り替えることは実行できないことに注意しなければならない。これは、そのような短時間ではバンクの予備充電及び再活性化の待ち時間は長すぎて、隠すことができないためである。典型的な場合、活性化待ち時間全体を隠し、１００％の利用を達成するためには、各バンクへのアクセスは、少なくとも４クロック・メモリ・アクセス・サイクルのバースト・ユニットを採用する必要がある。例えば、米国、アイダホ州、ボイズ（Ｂｏｉｓｅ）市、Ｓ．フェデラル・ウエイ（Ｓ．Ｆｅｄｅｒａｌ  Ｗａｙ）８０００番地、私書箱６号（郵便番号：８３７０７−０００６）、Ｍｉｃｒｏｎ  Ｔｅｃｈｎｏｌｏｇｙ  Ｉｎｃ．（マイクロン・テクノロジー社）製の例示的なＤＤＲ  ＳＤＲＡＭメモリであるＭＴ４６Ｖ（６４Ｍ４／３２Ｍ８／１６Ｍ１６）に従えば、１つのメモリ・アクセスから同じバンクの次のメモリ・アクセスまでに少なくとも１０クロック・サイクルのギャップを必要とする。この仕様をここに引用により編入する。
【００６３】
更に、もし外部記憶装置インタフェースのメモリ・アクセス幅が６４ビットであれば、６４バイトは、ダブル・データ・レートであればバースト・ユニット４サイクルで転送できる。すべてのパケットが６５バイトという最悪のシナリオが生じた場合には、固定の６４バイト・バースト・ユニットを使用して、パケット・データの最後のバイトをそれ単独で書き込むか読み出すようにすれば、膨大な帯域幅が浪費される。
【００６４】
本発明の例示的実施の形態に従えば、バースト・ユニットのサイズは可変である。パケット・データをバースト・ユニットに区分化するとき、次のような規則が適用されよう。書き込むべきバイトが１１２よりも多く残った場合、最初の６４バイトを１つのバースト・ユニットとして切り離してＤＤＲ  ＳＤＲＡＭ２０２に書き込む。そうでなければ、１１１バイトあるいはそれ以下の残っているバイトすべてをＤＤＲ  ＳＤＲＡＭ２０２の単一バンクへ１つのバースト・ユニットで書き込む。１１３バイトのパケットは、それぞれ６４と４９バイトの２つのバースト・ユニットに分割され、それぞれのバースト・ユニットをバンクに交互に書き込むために４メモリ・アクセス・サイクルを必要とする。類似の規則は読み出し動作にも適用される。上述のように、外部バッファ・マネージャ３３８は、ＤＤＲ  ＳＤＲＡＭの利用を監視する。従って、ＤＤＲ  ＳＤＲＡＭ２０２のバースト・ユニットのサイズは、４９から１１２バイトの間で変化し、平均としては６４バイトのバースト・ユニット・サイズとなる。
【００６５】
本発明の例示的実施の形態に従えば、さもなければほんの短いジョブが転送待機しているときに、バンク切り替えを最小化することによって、帯域幅の利用を更に改善することができる。今、パケット・データがメモリ・バンクの１つに書き込まれようとしており、また他の３つのバンクに関する待機中の書き込み転送がギャップを隠すデータに足る少なくとも１０メモリ・アクセス・サイクルに達しない場合には、現在のメモリ書き込み動作は、別のバンクに切り替えずに現在のバンクへのパケット・データの書き込みを継続すべきである。すなわち、将来の帯域幅の浪費を予測することによって、現在の書き込み動作は、バンク切り替えではなくてバーストをもっと長時間継続する。
【００６６】
しかし、ＤＤＲ  ＳＤＲＡＭ２０２から読み出すときは、パケット・データ記憶アドレスを選ぶことができない。結局、パケット・データは、それが記憶された場所にある。バンク切り替えは、パケット・データの記憶で使用されたので、パケットが全体として書き込まれ、読み出されるときは、パケット・データはバンク切り替え方式で読み出されよう。上で、バッファリング要求を最小化することに関して説明したように、パケット全体に関してパケット・データが逐次的にアクセスされることはありそうにない。パケット・データが読み出される順序は、保証できない。それは、読み出し順序が、それに限定するわけではないが、それぞれのポートでのトラヒック混雑レベル、それぞれのパケットについてのサービス品質レベル、アラーム・パケット、通知パケット等々を含む無数の実時間条件に依存するからである。従って、何らかの期間にわたって、送出すべきパケット・データ（多重パケットに関して）が単一のＤＤＲ  ＳＤＲＡＭバンクに記憶されることは可能である。これは、最悪のシナリオを表している。そこでは、バンク切り替えによって、メモリ読み出し動作の間の予備充電及び再活性化のための待ち時間を隠すすべがない。
【００６７】
本発明の例示的実施の形態に従えば、同じＤＤＲ  ＳＤＲＡＭバンクのいろいろな場所から逐次的にパケット・データを取り出すようにスケジュールされた２つのバースト・ユニットの例が示されており、２番目以降のパケット・データのバースト・ユニットを取り出す順序は、同じＤＤＲ  ＳＤＲＡＭバンク上で逐次的メモリのバースト読み出しが実行されないように修正されており、可能な限りバンク切り替えを強制するようになっている。従って、本発明の例示的実施の形態に従えば、読み出しアクセス・アルゴリズムは、可能な限りバンクを変更するようになっており、平均として高い読み出し効率を実現する。
【００６８】
上述の改善点は、逐次的な読み出し及び書き込み動作に関する帯域幅の効率に関連する。しかし、まだ、書き込みに続く読み出し、あるいはその逆において、その動作が実行されるバンクがどれであろうと不可避な帯域幅の不利が存在する。本発明の例示的実施の形態に従えば、読み出し／書き込みメモリ・アクセス・サイクルは、例えば、最大で１２８メモリ・アクセス・サイクルのウインドウで実行される。読み出し及び書き込み動作のために十分なパケット・データが同時に転送待機にあれば、パケット・データは書き込みと読み出し動作の間で、交互に、あるいは読み出しまたは書き込みジョブが枯渇するまで、１２８サイクルのウインドウ中でバースト・ユニットとして転送される。メモリ・アクセス・ウインドウの実際の幅は変化する。これは、メモリ・アクセス・ウインドウがグラニュール境界で開始及び終了するためであり、またグラニュールそれ自身は、上述のように可変長を有するからである。
【００６９】
ウインドウのサイズは設計で選ぶことができる。書き込みと読み出しのメモリ・アクセス・サイクルを１２８メモリ・アクセス・サイクルのウインドウに一緒にパックすることによって、交代式の読み出し／書き込みで発生した帯域幅の浪費は、３％未満に低減される。ウインドウが短くなれば帯域幅の浪費は増大し、他方、大きいウインドウを採用すれば、デジッタ・バッファ２２２／２２４資源が増大する。
【００７０】
上ではつぎのような暗黙の仮定がある。すなわち、すべてのポート１０６は同じライン・レートで動作すること、及びすべてのパケット・トラヒックは未分類であること。実際には、交換ノード３００／４００は、異なるライン・レートで動作するポート１０６を採用し、またパケット・トラヒックは多様なトラヒックに分類され、各々のトラヒック分類は特定の優先処理レベルを有する。本発明の例示的実施の形態に従えば、パケット・データがＤＤＲ  ＳＤＲＡＭ外部記憶装置２０２との間でより高速のポートに対して迅速に運ばれ、更に特定のトラヒック分類が優先処理を受けることを保証するために、待ち行列マネージャ３１６は、ＤＤＲ  ＳＤＲＡＭ２０２へ書き込むべきパケット・データを優先的に選び、それに従って、読み出し動作のためにバンク切り替えを優先させなければならない。各メモリ・バンクに対する読み出し要求は、複数の優先度待ち行列に分割される。優先度が高い待ち行列は、常に低優先度の待ち行列よりも先に処理されるため、高速度ポートを含むすべてのポート１０６において、フル・ライン・レートの送信が確保される。
【００７１】
ここに提示した実施の形態はあくまで一例であって、当業者は、本発明の精神から離れることなしに上述した実施の形態に対する変形が実現可能であることを理解されよう。本発明の範囲は、特許請求の範囲によってのみ定義される。
【図面の簡単な説明】
【００７２】
【図１】典型的な従来技術の２チップ／単一ダイの交換装置アーキテクチャを実現する要素を示す模式図。
【図２】本発明の例示的実施の形態に従って、２チップ／単一ダイの交換装置アーキテクチャを実現する要素を示す模式図。
【図３】本発明の別の例示的実施の形態に従って、２チップ／単一ダイの交換装置アーキテクチャを実現する要素を示す模式図。
【図４】従来技術の帯域幅の非効率な逐次的メモリ書き込みアクセスのシーケンスを示す模式図。
【図５】本発明の別の例示的実施の形態に従う、効率的に帯域幅を利用するメモリ書き込みアクセスのシーケンスを示す模式図。
【符号の説明】
【００７３】
１００／２００  ２チップ／単一ダイのパケット交換装置アーキテクチャ
１０２  内部記憶装置
１０３  内部記憶装置インタフェース
１０４  物理的リンク
１０６  ＭＡＣ／ＧＭＡＣブロック
１０８  パケット受信ブロック
１１０  内部記憶装置マネージャ・ブロック
１１２  パケット処理ブロック
１１４  付加的メモリ・アクセス
１１６  待ち行列マネージャ・ブロック
１１８  パケット送信モジュール
１２０  ＣＰＵインタフェース
２００  パケット交換装置
２０２  外部記憶装置
２０３  外部記憶装置インタフェース
２０８  パケット受信ブロック
２２２  受信バッファ
２２４  送信バッファ
３００  パケット交換装置
３１６  待ち行列マネージャ
３２２  デュアル・モード受信適合ブロック
３２４  デュアル・モード送信適合ブロック
３３８  外部記憶装置マネージャ・ブロック
４００  ２チップ／単一ダイのパケット交換装置アーキテクチャ
４２４  送信適合ブロック
【図１】
2005287038.tif 000003
【図２】
2005287038.tif 000004
【図３】
2005287038.tif 000005
【図４】
2005287038.tif 000006
【図５】
2005287038.tif 000007