JP2004536515A - デュアルポートメモリエミュレーション方式によるスイッチファブリック - Google Patents
デュアルポートメモリエミュレーション方式によるスイッチファブリック Download PDFInfo
- Publication number
- JP2004536515A JP2004536515A JP2003514417A JP2003514417A JP2004536515A JP 2004536515 A JP2004536515 A JP 2004536515A JP 2003514417 A JP2003514417 A JP 2003514417A JP 2003514417 A JP2003514417 A JP 2003514417A JP 2004536515 A JP2004536515 A JP 2004536515A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- packet
- port
- access operation
- memory access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/103—Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Description
【0001】
本発明は、一般には、パケット交換システムに関し、より詳細には、デュアルポートスイッチファブリックメモリをエミュレートする単一ポートスイッチファブリックメモリに関する。
【背景技術】
【0002】
データ通信交換機におけるスイッチファブリックによって、パケットを宛先に転送するために受信したデータパケットを入口ポートから出口ポートへ移送することが容易になる。スイッチファブリックは、クロスバー・スイッチ、セルスイッチ、または共有メモリパケットスイッチとして実装することができる。他のタイプのスイッチファブリックと比べると、共有メモリパケットスイッチには、重いトラフィック負荷に対して堅牢であるという利点がある。共有パケットメモリスイッチを用いると一般に、他のタイプのスイッチファブリックと比べて、パケットロスが少なくなり、また待ち時間が短くなる。
【0003】
共有パケットメモリスイッチ内のメモリは一般に、単一ポートのDRAM(dynamic random access memory:ダイナミックランダムアクセスメモリ)として実装される。図1は、当技術分野で見られる典型的な単一ポートメモリ60の例示的なブロック図である。メモリは、単一のアドレスバス62、制御バス64およびデータバス66を含む。単一のアドレスバス、制御バスおよびデータバスを使用して、書込みコマンドに応答してパケットを受信し、それをメモリに格納し、また読出しコマンドに応答して、格納されたパケットをメモリから取り出し送信する。
【0004】
しかし、単一ポートメモリには、読出しアクセスであれ書込みアクセスであれ、一時に1つのメモリアクセスしかサポートしないという欠点がある。したがって、複数の読出しアクセスも複数の書込みアクセスも同時に実施することはできず、メモリ帯域幅(bandwidth to and from the memory)が限られ、ボトルネックが生じてシステムパフォーマンスが制限される。さらに、読出し動作を書込み動作と同時に行おうとすると、読み書きの衝突が起こることがあり、しばしばパケットの読出しまたは書込みを停止させることがある。
【0005】
読み書きの衝突を回避しようと試みる際の一般的な手法は、単一ポートRAMをデュアルポートRAMで置き換えることである。図2は、当技術分野で見られる典型的なデュアルポートメモリ80の例示的なブロック図である。デュアルポートメモリ80は、2本のアドレスバス82a、82b、制御バス84a、84b、およびデータバス86a、86bを含む。デュアルポートメモリでは、読み書きの衝突のリスクを伴わずに、別個のバスを介して、同じメモリ80からのパケットの取出しおよびそこへの格納を同時に行うことができ、メモリに対するデータ入出力のスループットを、アクセスタイミングを変更せずに2倍にすることができる。
【0006】
デュアルポートメモリによって、読み書きの衝突は回避されるが、しばしば、スイッチファブリックに必要なメモリ容量を有するデュアルポートメモリは入手できず、またデュアルポートメモリは、こうしたスイッチファブリック用に一般に使用されるDRAMとしては使用可能でない。さらに、デュアルポートメモリは一般に、単一ポートメモリに比べて面積効率がよくない。
【発明の開示】
【発明が解決しようとする課題】
【0007】
したがって、読み書きの衝突のリスクを伴わずに、データスループットを最大にする単一ポートメモリを用いたスイッチファブリックが求められている。
【課題を解決するための手段】
【0008】
本発明は、単一ポートメモリを使用するデュアルポートメモリエミュレーション方式によるスイッチファブリックを対象とする。一実施形態によれば、スイッチファブリックは、入力端と、この入力端に接続され、第1メモリユニットおよび第2メモリユニットを含むメモリとを備え、第1メモリユニットまたは第2メモリユニットが、第1パケットの少なくとも一部に対して第1メモリアクセス動作を実施するように選択され、この選択が第2パケットの少なくとも一部に対して第2メモリアクセス動作を実施するように選択されたメモリユニットに基づいて行われることを特徴とする。
【0009】
別の実施形態によれば、本発明は、デュアルポートメモリエミュレーション方式によるスイッチファブリックを対象とする。このスイッチファブリックは、単一の第1入力ポート、単一の第1アドレスポート、および単一の第1出力ポートを含む第1の単一ポートメモリと、単一の第2入力ポート、単一の第2アドレスポート、および単一の第2出力ポートを含む第2の単一ポートメモリとを含む。この実施形態によれば、第2メモリアクセス動作が第1単一ポートメモリに対して実施される場合、第1メモリアクセス動作は第2単一ポートメモリに対して実施される。さらに、第2メモリアクセス動作が第2単一ポートメモリに対して実施される場合、第1メモリアクセス動作は第1単一ポートメモリに対して実施される。
【0010】
一実施形態によれば、第1メモリアクセス動作は書込み動作であり、第2メモリアクセス動作は読出し動作である。
【0011】
別の実施形態によれば、第1および第2メモリアクセス動作は、ノンブロッキングで同時に行われる。
【0012】
したがって、本発明では、単一ポートメモリを使用したデュアルポートメモリのエミュレーションが可能になることを理解されたい。所与の任意のサイクルにおいて、読出し動作と書込み動作が異なる単一ポートメモリで行われるので、読出し動作と書込み動作を同じ動作サイクル内でノンブロッキングで実施することができる。したがって、本発明は、読み書きの衝突のリスクを伴わずに、データスループットを最大にすることができる。
【0013】
本発明のこれらのおよび他の特徴、側面および利点は、以下の詳細の説明、添付の特許請求の範囲および添付の図面について考慮すれば、より深く理解されよう。もちろん、本発明の実際の範囲は、添付の特許請求の範囲によって定義される。
【発明を実施するための最良の形態】
【0014】
図3は、本発明の一実施形態による、デュアルポートメモリエミュレーション方式を用いたパケット交換システムの概略ブロック図である。このシステムは、スイッチファブリックに接続された入口制御装置(ICU)10および出口制御装置(ECU)12を含む。このスイッチファブリックは、ICU10から受信したパケットを格納および転送するパケットバッファ装置(PBU)14から構成される。このICU10は、1つまたは複数の関連する入力ポート20を備えることができ、ECU12は、1つまたは複数の関連する出力ポート22を備えることができる。所与の任意の時点で、入力ポート20のうちのすべてまたはサブセットが、出力ポート22のうちのすべてまたはサブセット宛のデータパケットを受信する。パケットは、それだけには限らないが、イーサネット(登録商標)フレーム、ATMセル、TCP/IPおよび/またはUDP/IPパケットを含むことができ、他の層2(データリンク/MAC層)、層3(ネットワーク層)または層4(トランスポート層)データ単位を含むこともできる。
【0015】
ICU10はパケットを受信すると、パケットを格納のためPBU14に転送する。PBU14は、パケットをメモリに格納し、そのパケットの受信に関係し得るECUに通知を送信する。PBU14は、そのパケットを、ECUから要求されるまでメモリに維持する。ECUは、スケジューリングアルゴリズムに基づいてパケットを転送すべきときであると決定すると、パケット取出しのための要求をPBU14に送信する。PBUは要求に応答してパケットを取り出し、1つまたは複数の出口ポート22を介した転送のためそれをECUに送信する。
【0016】
図3に示す実施形態には、単一のPBUに接続された単一のICUおよびECUが示されているが、2002年5月15日出願され、本願と同一の譲受人に譲渡された米国特許出願「Distributed Shared Memory Packet Switch」(整理番号47900/JEC/X2号)に記載されているように、パケット交換システムは、高速シリアルリンクを介して、複数のPBUに接続された複数のICUおよびECUを含むことができるので、それぞれのICUおよびECUがそれぞれのPBUと通信できることが当業者には理解されよう。同特許の内容を本明細書中で参考として援用する。
【0017】
図4は、本発明の一実施形態による例示的なICU10の概略ブロック図である。図示した実施形態のICUは、入口データストア30に接続された入口プロセッサ32を含み、この入口データストアは、入口インターフェイス34に接続される。入口パケットプロセッサ32は、到着パケットを受信し、ポリシング、アカウンティング、転送、および当技術分野において通常のパケットに対する他のどんなパケット処理タスクも実施する。
【0018】
入口データストア30は、到着データパケットを受信し、一時的に格納するための先入れ先出し(FIFO:first-in-first-out)バッファである。入口ポート20のうちの1つまたは複数ポートのデータ転送速度が、PBU14とのリンク16のデータ転送速度よりも速いまたは遅い場合には、入口データストア30があることが望ましいことがある。しかし、ICU10が入口データストア30を含まない実施形態もあり得る。
【0019】
入口インターフェイス34は、リンク16を介して、PBUに到着データパケットを転送する。スイッチファブリックが複数のPBU14で構成されている実施形態では、それぞれのPBUに関連する重み情報によって調整される疑似ランダムアルゴリズムに基づいて特定のPBUを選択することができ、様々なPBU間でワークロードのバランスを取ることができる。
【0020】
図5は、本発明の一実施形態による例示的なPBU14の概略ブロック図である。図示した実施形態のPBUは、ICU10から受信したパケットを格納するための、共有パケットデータメモリ40を含む。特定のパケットの異なる部分が、ポインタのリンクリストを介してアクセスされる、データメモリの異なるメモリ位置に格納される。本発明の一実施形態によれば、メモリは、上部データメモリ40aと下部データメモリ40bに分割される。上部データメモリ40aは、第1の単一ポートメモリとして実装され、下部データメモリ40bは、第2の単一ポートメモリとして実装される。それぞれ単一ポートメモリは、たとえば、同じサイズの単一ポートDRAMである。あるいは、それぞれの単一ポートメモリは、サイズが異なってもよい。
【0021】
PBU14は、PBNバッファ42をさらに含み、このPBNバッファは、DRAM(dynamic random access memory)またはSRAM(static RAM:静的RAM)として実装することができる。PBNバッファ42の各エントリは、PBNアドレスと称されるアドレスを含み、このアドレスは、少なくともパケットの一部が格納されているデータメモリ40を指すポインタである。本発明の一実施形態によれば、PBNアドレスは、パケットの末尾部分を格納するメモリ位置を指すポインタである。
【0022】
PBNバッファ42は、入口メモリマネージャ44と称される記憶装置に結合される。この入口メモリマネージャは、ICU10からデータメモリ40へ流されるパケットのトラッキングを維持する。入口メモリマネージャ44は、空きポインタバッファ46から空きメモリ位置を指すポインタを取り出す。空きポインタバッファ46は、上部バッファ部分46aおよび下部バッファ部分46bを含む。上部バッファ部分46aは、上部データメモリ40aの使用可能なメモリ位置を指すポインタを格納し、下部バッファ部分46bは、下部データメモリ40bの使用可能なメモリ位置を指すポインタを格納する。
【0023】
入口メモリマネージャ44は、空きポインタバッファ46から取り出した1つまたは複数の空きメモリ位置に、あるパケットの全体または一部を格納する。入口メモリマネージャ44は、そのパケットの直前の部分を格納するのに使用した直前のポインタのトラッキングを維持しており、また直前のポインタをパケットデータと共に空きメモリ位置に格納する。これによって、パケットの異なる部分が逆方向ポインティング機構を介してリンクされる。この逆方向ポインティング機構では、パケットの現在の部分がパケットのその直前の部分を参照する。
【0024】
パケット全体がデータメモリ40に書き込まれると、入口メモリマネージャ44は、新たに格納されたパケットについて、PBNバッファ42にエントリを追加する。一実施形態によれば、エントリは、パケットの末尾部分を指すポインタを含む。
【0025】
PBU14は、出口メモリマネージャ48と称される処理装置も含み、この出口メモリマネージャは、データメモリ40からECU12に流されるパケットのトラッキングを維持する。出口メモリマネージャ48は、特定のメモリ位置からのデータ取出しのためデータメモリ40に読取りコマンドを送信する。出口メモリマネージャはさらに、メモリ40内に維持する必要がないパケットを検出し、その関連するメモリ位置を解放する。
【0026】
上記の内容に加え、PBU14は、入力コントローラ50および出力コントローラ52を含む。入力コントローラ50は、ICU10およびECU12から様々なタイプのメッセージを受信し、その様々なタイプのメッセージを処理し分離して、PBU上の適切なコンポーネントに転送する。
【0027】
たとえば、入力コントローラ50は、ICU10から到着パケットを受信し、このパケットは、データメモリへの格納のため入口メモリマネージャ44に転送される。入力コントローラ50はさらに、パケット要求メッセージを受信し、このメッセージは、ECU12向けのパケットを取り出すためにPBNバッファ42に転送される。別の実施形態では、入力コントローラ50は、ECUから追加のメッセージ、たとえば、ECUから要求されるまでパケットをメモリに維持するよう指示する、メモリに格納されたパケットに関連するブッキングメッセージなどを受信することができる。
【0028】
出力コントローラ52は、ECUがその受信に関係し得るパケットが受信され、データメモリ40に格納されていることを示す、通知メッセージをECUに送信する。出力コントローラ52はまた、データメモリ40から取り出されたパケットを受信し、ECUからの要求に応じてECU12にこうしたパケットを転送する。
【0029】
もちろん、図5は、PBUを作成するために必要なまたは望ましいことがある追加の要素および/またはコンポーネントによって、本発明の発明性のある側面を不明瞭にしないようにしたPBU14のブロック図であることが理解されよう。たとえば、PBUは、ECUに通知を転送するための別個の通知ロジックおよび関連するテーブルを含むことができる。PBUは、ECUから受信したブッキングメッセージを反映するブッキングバッファを含むこともできる。こうした追加のコンポーネントは、上記で参照した米国特許出願「Distributed Shared Memory Packet Switch」に詳述されている。
【0030】
図6は、本発明の一実施形態による例示的なECU12の概略ブロック図である。図示するこの実施形態によれば、ECU12は、PBU12から様々なタイプのパケットを受信する出口インターフェイス70を含む。出口インターフェイス70は、こうしたパケットを処理し、適切な出口コンポーネントに転送する。
【0031】
本発明の一実施形態によれば、出口インターフェイス70は、PBU12から受信したデータパケットを、1つまたは複数の出口ポート22を介して転送する前に一時的に格納するため、出口データストア72に送信する。出口データストア72は、先入れ先出し(FIFO)バッファとして実装することができる。1つまたは複数の出口ポート22のデータ転送速度が、PBU12と通信するために使用するリンク18のデータ転送速度よりも速いまたは遅い場合には、出口データストア72があることが望ましいことがある。しかし、ECU12が出口データストア72を含まない実施形態も存在し得る。
【0032】
出口インターフェイス70はさらに、ECUが受信に関係し得るパケットがデータメモリ40に格納されたことを示す通知メッセージをPBU12から受信する。そのパケットに関連する1つまたは複数の出口キュー76のキューレベルが高すぎる場合、そのレベルが高すぎると識別されるキューについて、通知が廃棄される。他の関連するキューについて、出口インターフェイス70は、そのパケットに関連するPBNをキューに格納する。一実施形態によれば、出口インターフェイス70は、PBU14にブッキングメッセージを送信することができる。このブッキングメッセージは、PBNがエンキューされたことを示し、また関連するパケットをデータメモリ40に維持するように指示するものである。
【0033】
ECU12は、出口スケジューラ78を含み、この出口スケジューラは、特定のスケジューリングアルゴリズム、たとえば加重ラウンドロビンアルゴリズム、クラスベースのデキューなどに従って、それぞれの出口キュー76からPBN番号をデキューする。エンキューされているPBNに関連するパケットが転送されるようにスケジュールされているとスケジューリング機構によって決定されたとき、出口インターフェイスは、PBU12にパケット要求メッセージを送信する。一実施形態によれば、パケット要求メッセージは、エンキューされたPBNを含むことができ、このPBNによってPBUは取り出すべき適切なパケットを認識することができる。パケットが受信されると、ECUは、出口データストア72にパケットを一時的に格納する。PBUは、パケットの末尾を最初に取り出し、パケットの末尾を最後に取り出すというように逆方向でパケットを取り出すので、1つまたは複数の適切な出口ポートを介してパケットを転送する際に、ECUもパケットを逆方向に読み出し、PBUによる逆方向での取出しを順方向に戻す(neutralize)。このようにして、パケットの先頭を最初に転送し、パケットの末尾を最後に転送するという正しい順序で、パケットがECUによって転送される。
【0034】
次に、共有パケットデータメモリ40のアクセスについて詳述する。本発明の一実施形態によれば、データメモリ40は、上部データメモリ40aおよび下部データメモリ40bにメモリを分割することによって、デュアルポートメモリをエミュレートし、上部および下部データメモリのそれぞれが、単一ポートメモリとして実装される。デュアルポートエミュレーションによって、データメモリ40にデータを格納する際に、入口メモリマネージャ44によって呼び出される書込み動作を、データメモリからデータを取り出す際に出口メモリマネージャ48によって呼び出される読出し動作と同じ動作サイクルで、ノンブロッキングで行うことができる。読出し動作が必要ない場合、単一の動作サイクルで、2重の書込み動作を行うこともできる。したがって、デュアルポートエミュレーション方式は、読み書きの衝突のリスクを伴わずに、単一のポートメモリを介して、スループットを増加させるのに役立つ。
【0035】
本発明の一実施形態によれば、読出し動作が書込み動作よりも優先される。この実施形態によれば、次にスケジュールされている読出し動作のアドレスによって、スケジュールされている書込み動作のためにアクセスされるデータメモリの部分が決まる。読出し動作が上部データメモリ40aで行われるようにスケジュールされている場合、書込み動作は下部データメモリ40bで行われ、逆の場合も同様である。したがって、それぞれのサイクルにおいて、読出し動作と書込み動作をノンブロッキングで同時に実施することができる。
【0036】
書込み動作中、データパケットは、メモリの異なるメモリ位置に、データワードごとに格納され、それぞれのメモリ位置には、現在のデータワードおよび隣接するデータワードを指すポインタが格納される。ポインタが次のデータワードを指す次ポインタである場合、データワードの順方向ポインティング機構を生成することができる。しかし、読出し動作が書込み動作よりも優先される単一ポートメモリを用いてデュアルポートメモリをエミュレートする際には、現在の読出し動作によって次の書込み動作をどこで行うかが決まり、したがって次の読出し動作をどこで行うかも決まる。したがって、次ポインタ情報は、現在の書込み動作によって生成されるのではなく、次の読出し動作によって生成される。これは、パケットデータの現在の部分が格納される現在の書込み動作中には、ポインタの格納を扱うことができないことを意味する。そうではなく、次の読出し動作によって次書込みポインタの内容が決まるまで、ポインタ情報は完成されず、これは、次ポインタ情報を取り出し、正確にセットするために読出し、修正および書込みの追加のステップを要することを意味している。
【0037】
本発明の一実施形態によれば、適切な次書込みポインタ情報を取得し訂正するために追加の動作サイクルを必要とする順方向ポインティング機構を使用するのではなく、逆方向ポインティング機構を使用する。この逆方向ポインティング機構では、データワード、およびパケットの次のデータワードを指すポインタを格納する代わりに、直前のデータワードを指すポインタを格納する。現在のデータワード格納時に、その直前のポインタ情報は使用可能であるので、単一の現書込みステップ中に、データとポインタ情報の両方を格納することができる。したがって、単一の動作サイクルにおいて、読出しステップと書込みステップを同時に実施し完了することができる。
【0038】
別の実施形態では、0と1の間で連続的に切り換わる1ビットの内部カウンタを維持することによって、順方向ポインティング機構を実装することができる。このカウンタを用いて、値0を上部データメモリと関連付け、値1を下部データメモリと関連付け、読出しと書込みを交互に行い、ある時点では、読出し=上部メモリ、書込み=下部メモリとし、その次の時点では、読出し=上部メモリ、書込み=下部メモリとなるようにする。次の書込み動作が行われるメモリユニットが事前に分かっているので、現データパケットとともに格納するためにその次の書込みポインタをプリフェッチすることができ、順方向ポインティング機構が可能になる。
【0039】
別の実施形態では、書込み動作を読出し動作よりも優先させることによって、順方向ポインティング機構を実装することができる。このようにして、次にスケジュールされている書込み動作のためにアクセスされるメモリユニットを現書込み動作によって決定することができ、その次の書込みポインタを識別されたメモリユニットからプリフェッチすることができる。次にスケジュールされている読出し動作のためにアクセスされるメモリユニットも現書込み動作によって決定することができる。しかし、実際の次にスケジュールされている読出し動作は、次にスケジュールされている読出し動作のアドレスが選択されたメモリユニットと合致するかどうかに応じて、行われることも、行われないこともある。
【0040】
図7は、本発明の一実施形態による、図5のPBU14の一部のより詳細なブロック図である。入口メモリマネージャ44は、PBNレジスタ106および前書込みポインタレジスタ108を含む。PBNレジスタ106は、パケットがデータメモリ40に格納されると、そのパケットを指すポインタを格納するために、PBNと称されるPBNバッファへのアドレスを一時的に格納する。入口メモリマネージャによってパケットの先頭(SOP)が検出されると、PBNは、たとえば空き(free)PBNバッファ(図示せず)から選択される。
【0041】
前書込みポインタレジスタ106は、パケットの直前の部分を格納するのに使用されたメモリ位置を指すポインタを格納する。前書込みポインタレジスタ106は、流されるパケットのそれぞれの部分がデータメモリ40の使用可能な位置に格納されるときに更新される。前書込みポインタレジスタ106内のポインタは、データパケットの現部分と一緒にメモリに格納される。
【0042】
空きポインタバッファ46は、パケットを格納することができるデータメモリ40上の使用可能な位置を指す空きポインタ104のリストを格納する。空きポインタ104リストは、上部バッファ部分46aおよび下部バッファ部分46bに分けられる。上部バッファ部分は、上部データメモリ40a上の使用可能なメモリ位置を指すポインタを格納し、下部バッファ部分は、下部データメモリ上の使用可能なメモリ位置を指すポインタを格納する。
【0043】
一実施形態によれば、格納されるパケットのそれぞれの部分について、空きバッファが入口メモリマネージャ44に、上部バッファ部分46aからの空き上部ポインタと下部バッファ部分46bからの空き下部ポインタの両方を送信する。空き上部ポインタは、上部メモリアドレスセレクタ105に送信され、空き下部ポインタは、下部メモリアドレスセレクタ107に送信される。データを格納するためのメモリアドレスとして選択される実際のポインタは、U/L(upper/lower:上部/下部)読出しインディケータ109によって決定され、このインディケータが、次のスケジュールされている読出し動作に基づいて、空き上部ポインタまたは空き下部ポインタをイネーブルする。トランザクションごとに、1つの空きポインタしか消費されず、未使用のポインタは空きポインタバッファに戻される。次の読出しが下部データメモリ40bでスケジュールされている場合、U/L読出しインディケータによって、パケットの現部分の書込み用のアドレスとして、空き上部ポインタが選択されるようになる。このようにして、デュアルポートメモリをエミュレートして、同じ動作サイクル内で、読出し動作と書込み動作をノンブロッキングで同時に実施することができる。
【0044】
一実施形態によれば、読出し動作がスケジュールされていない場合、加重疑似ランダムアルゴリズムを使用して、空き上部ポインタを選択するか、それとも空き下部ポインタを選択するかを決定する。それに従って、上部バッファ部分および下部バッファ部分の空きポインタの数に基づいて重みが配分される。別の実施形態によれば、読出し動作がスケジュールされていない場合には、両方の空きポインタを使用して2つの書込み動作を同時に実施する。
【0045】
データメモリ40は、上部データメモリ40aおよび下部データメモリ40bを含む。データメモリのそれぞれの部分が、単一のデータインポート100、単一のアドレスポート101、および単一のデータアウトポート102を備える単一ポートメモリとして実装される。データインポート100は、メモリマネージャ44から、格納されるパケットの一部および前書込みポインタを受信する。アドレスポート101は、データの格納および取出しのために使用されるデータメモリ上のアドレスを受信する。データアウトポート102は、メモリから取り出されたデータを送信する。
【0046】
入口メモリマネージャ44によってパケットの末尾(EOP)が検出されると、パケットの末尾部分は、空きポインタバッファ46から取り出された現空きポインタが示すメモリ位置に格納される。現空きポインタは、PBNバッファの、PBNレジスタ106内のPBNが示すアドレスに格納される。またPBNを使用して格納されているパケットを取り出すことができることを示す通知が、PBNを付加して出力コントローラ52から関係するECUに送信される。
【0047】
PBNバッファ42は、複数のPBNアドレス112を含み、それぞれのPBNアドレスは、特定のパケットの全体または一部を格納するメモリ位置を参照する。一実施形態によれば、それぞれのPBNアドレスは、パケットの末尾を格納するメモリ位置を参照する。それぞれのPBNアドレスは、それに関連するPBN110によってアクセスすることができる。
【0048】
出口書込みテーブル48は、PBNレジスタ114および現読出しポインタレジスタ116を含む。PBNレジスタは、ECU12から要求されたパケットのPBNを格納する。PBNを使用して、PBNバッファ42から関連するPBNアドレスを取り出す。取り出されたPBNアドレスを現読出しポインタレジスタ116に格納する。PBNアドレスは、要求されたパケットを格納するデータメモリ40上のメモリ位置を指すポインタのリンクリストの開始アドレスとして使用される。出口メモリマネージャ48はさらに、PBNアドレスが上部データメモリ40aを参照するか、それとも下部データメモリ40bを参照するかを決定し、それに従って、U/L読出しインディケータ109をセットする。
【0049】
パケットの現部分を読み出すとき、取り出されるパケットの次の部分は、取り出されたデータと共に格納されている前ポインタによって決まる。出口書込みテーブル48は、現読出しポインタレジスタ116を前ポインタで更新し、前ポインタに関連するデータを取り出すことを可能にする。
【0050】
図8は、本発明の一実施形態による、上部データメモリ40aおよび下部データメモリ40bに分割されたデータメモリ40の概略レイアウト図である。データメモリのそれぞれの部分は、複数のエントリを含み、それぞれのエントリは、パケットデータ130および関連する前ポインタ132を含む。メモリ上のエントリが特定のパケットの先頭部分を格納する場合、関連する前ポインタはNULLポインタである。パケットの他の全ての部分は、メモリに格納されているパケットの直前部分を参照する前ポインタと一緒に格納される。このようにして、パケット全体を逆方向に参照することができる。すなわち、前ポインタのリンクリストを用いて、パケットの末尾を最初に、パケットの先頭を最後に参照する。順方向ポインティング機構では、ポインタ情報を後で決定し埋めるのに追加のステップが必要なことがあるが、その代わりに、こうした逆方向ポインティング機構を使うと、ポインタを決定し格納するために単一の書込みステップを用いることができる。
【0051】
読出し動作によってパケットを取り出す際に、パケットの末尾に関連するデータを最初に取り出し、その関連する前ポインタを使用して、パケットの中間に関連するデータを取り出す。NULLポインタに達するまで、取り出されたパケットの中間に関連する前ポインタをさらに使用して、パケットの追加の中間部分を取り出し、パケットの先頭に関連するデータを最後に取り出す。
【0052】
このように逆方向に取り出されたパケットは、要求元のECUに送信される。またこのECUは、逆方向のパケット取出しを順方向に戻すために、出口ポートを介して送信する前に逆方向にパケットを読み出す。ECUが逆方向に読み出すことで、パケットは正しい順序で送信されるようになり、パケットの先頭が最初に、パケットの末尾が最後に送信される。
【0053】
図9は、デュアルポートメモリエミュレーション方式による、パケットを格納する際にPBU14によって実行されるプロセスのフローチャートである。プロセスが開始し、ステップ140で、PBU14は、到着パケットの一部を受信し、入口メモリマネージャ44にその部分を送信する。入口メモリマネージャ44は、受信されたパケットの部分がSOPか、MOPか、それともEOPであるかを判定する。ステップ142で、受信されたパケットがSOPである場合、ステップ144で、入口メモリマネージャ44は、使用可能なPBNを識別する。さらに、ステップ146で、入口メモリマネージャは、空きポインタバッファ46から空き上部ポインタおよび空き下部ポインタを取り出す。データメモリ40上で実施される次にスケジュールされている読出し動作に基づいて、空き上部ポインタを使用するか、それとも空き下部ポインタを使用するかを判定する。ステップ148で、上部空きポインタを使用すると判定された場合、現書込みポインタを空き上部ポインタにセットする。ステップ152で、上部データメモリの、空き上部ポインタが示すメモリ位置にパケットデータを格納する。入口メモリマネージャ44によって維持されている前書込みポインタもそのメモリ位置に格納する。パケットの先頭については、前ポインタをNULLにセットする。
【0054】
空き下部ポインタが使用される場合、ステップ156で、現書込みポインタを空き下部ポインタにセットする。ステップ158で、空き下部ポインタが示すメモリ位置に、パケットデータおよび関連する前ポインタを格納する。
【0055】
ステップ154で、入口メモリマネージャ44の前ポインタレジスタ108を、現書込みポインタで更新する。
【0056】
ステップ160で、格納されるパケットの次部分がMOPである場合、ステップ146〜154を再び実施し、空き上部ポインタおよび空き下部ポインタを取り出し、次にスケジュールされている読出し動作に基づいて、パケットの格納に使用するために空きポインタのうちの1つを選択し、前ポインタを現書込みポインタで更新する。
【0057】
ステップ162で、格納されるパケットの次の部分がEOPである場合、空き上部ポインタおよび空き下部ポインタを空きポインタバッファ46から取り出して、次のスケジューラ読出し動作に基づいて、空き上部ポインタを使用するか、それとも空き下部ポインタを使用するかを判定する。ステップ164で、空き上部ポインタが使用されるとされた場合、ステップ166で、現書込みポインタを空き上部ポインタにセットする。ステップ168で、パケットの末尾部分および前ポインタを、上部データメモリの、空き上部ポインタが示すメモリ位置に格納する。
【0058】
そうでなく、空き下部ポインタが使用される場合、ステップ174で、現書込みポインタを空き下部ポインタにセットし、ステップ176で、パケットの末尾部分および前ポインタを、下部データメモリに格納する。
【0059】
ステップ170で、現ポインタをPBNアドレスとし、ステップ172で、PBNアドレスをPBNバッファ42の、識別されたPBNによってアドレス指定されるエントリに格納する。
【0060】
図10は、デュアルポートメモリエミュレーション方式による、パケットを取り出す際にPBU14によって実行されるプロセスのフローチャートである。プロセスが開始し、ステップ180で、PBUは、ECUからパケット要求メッセージを受信する。一実施形態によれば、パケット要求メッセージは、所望のパケットのPBNを含む。ステップ182で、PBNを取り出し、ステップ184で、PBNバッファ42から関連するPBNアドレスを取り出す。一実施形態によれば、PBNアドレスは、所望のパケットの末尾部分を格納するメモリ位置のアドレスである。
【0061】
ステップ186で、現読出しポインタを取り出されたPBNアドレスにセットする。ステップ188で、現読出しポインタが上部データメモリ40aを参照するか、それとも下部データメモリ40bを参照するかを判定する。現読出しポインタが上部データメモリを参照する場合、ステップ192で、U/L読出しインディケータを「上部」にセットする。そうでない場合、ステップ190で、U/L読出しインディケータを「下部」にセットする。
【0062】
ステップ194で、現読出しポインタ位置に格納されているデータおよび前ポインタを取り出す。また現読出しポインタは、マルチキャスト伝送では、それがパケットのある部分の最終読出しである場合、空きポインタバッファ46に戻される。
【0063】
ステップ196で、取り出された前ポインタがNULLポインタかどうかを判定する。答えが「はい」であれば、パケットの先頭は取出し済みであり、プロセスは終了する。そうでなければ、パケットのリンクリストからパケットの直前部分を取り出すため、現書込みポインタを取り出された前ポインタにセットする。
【0064】
いくつかの特定の実施形態について本発明を説明したが、当業者は本発明の範囲および精神から決して逸脱しない変形形態を難なく考案されよう。たとえば、図9および10のフローチャートに示したステップは、そこに示した順序でも、当業者によって考案され得る他の任意の順序によって実施することもできる。したがって、本発明は、具体的に示したものとは別の方法で実施できることを理解されたい。すなわち、本発明のこうした実施形態は、あらゆる点において、限定的でなく、例示的なものであると見なすべきである。本発明の範囲は、前述の説明ではなく、添付の特許請求の範囲およびその均等物によって示されるものである。
【図面の簡単な説明】
【0065】
【図1】当技術分野で見られる典型的な単一ポートメモリを示す例示的なブロック図である。
【図2】当技術分野で見られる典型的なデュアルポートメモリを示す例示的なブロック図である。
【図3】本発明の一実施形態による、デュアルポートメモリエミュレーション方式を用いたパケット交換システムを示す概略ブロック図である。
【図4】本発明の一実施形態による例示的な入口制御装置を示す概略ブロック図である。
【図5】本発明の一実施形態による例示的なパケットバッファ装置を示す概略ブロック図である。
【図6】本発明の一実施形態による例示的な出口制御装置を示す概略ブロック図である。
【図7】本発明の一実施形態による、図5のパケットバッファ装置の一部をより詳細に示すブロック図である。
【図8】本発明の一実施形態による、デュアルポートメモリをエミュレートするために上部データメモリおよび下部データメモリに分割された図5のパケットバッファ装置上のデータメモリを示す概略レイアウト図である。
【図9】デュアルポートメモリエミュレーション方式による、パケットを格納する際に図5のパケットバッファ装置によって実行されるプロセスを示すフローチャートである。
【図10】デュアルポートメモリエミュレーション方式による、パケットを取り出す際に図5のパケットバッファ装置によって実行されるプロセスを示すフローチャートである。
Claims (26)
- デュアルポートメモリエミュレーション方式によるスイッチファブリックであって、
入力端と
前記入力端に接続され、第1メモリユニットおよび第2メモリユニットを含むメモリとを備え、前記第1メモリユニットまたは前記第2メモリユニットが、第1パケットの少なくとも一部に対して第1メモリアクセス動作を実施するように選択され、前記選択が第2パケットの少なくとも一部に対して第2メモリアクセス動作を実施するように選択されるメモリユニットに基づいて行われるスイッチファブリック。 - 前記第1メモリアクセス動作が書込み動作である請求項1に記載のスイッチファブリック。
- 前記第2メモリアクセス動作が読出し動作である請求項1に記載のスイッチファブリック。
- 前記第1メモリユニットが、前記第2メモリアクセス動作を実施するように選択される場合は、前記第2メモリユニットが、前記第1メモリアクセス動作を実施するように選択され、前記第2メモリユニットが、前記第2メモリアクセス動作を実施するように選択される場合は、前記第1メモリユニットが、前記第1メモリアクセス動作を実施するように選択される請求項1に記載のスイッチファブリック。
- それぞれのメモリユニットが、単一のデータインポートと、単一のアドレスポートと、単一のデータアウトポートとを含む単一ポートメモリユニットである請求項1に記載のスイッチファブリック。
- 直前の第1メモリアクセス動作のためにアクセスされたメモリ位置への前参照を格納するバッファをさらに含む請求項1に記載のスイッチファブリック。
- 前記第1メモリアクセス動作が前記バッファから取り出された前記前参照を格納することを特徴とする請求項6に記載のスイッチファブリック。
- 前記前参照がNULLポインタである請求項7に記載のスイッチファブリック。
- 前記バッファが、前記第1メモリアクセス動作を実施するように選択された前記第1または第2メモリユニット上のメモリ位置への参照で更新される請求項6に記載のスイッチファブリック。
- 前記第1パケットが複数の第1データワードを含み、前記第2パケットが複数の第2データワードを含み、前記第1データワードが、前記第1メモリアクセス動作のための第1順序に従って選択され、前記第2データワードが、前記第2メモリアクセス動作のための第2順序に従って選択される請求項1に記載のスイッチファブリック。
- 前記第1順序が、前記第1パケットの末尾に付随するデータワードに対して適用される前に、前記第1パケットの先頭に付随するデータワードに対して適用され、前記第2順序が、前記第2パケットの先頭に付随するデータワードに対して適用される前に、前記第2パケットの末尾に付随するデータワードに対して適用される請求項10に記載のスイッチファブリック。
- デュアルポートメモリエミュレーション方式によるスイッチファブリックであって、
単一の第1入力ポートと、単一の第1アドレスポートと、単一の第1出力ポートとを含む第1の単一ポートメモリと、
単一の第2入力ポートと、単一の第2アドレスポートと、単一の第2出力ポートとを含む第2の単一ポートメモリとを備え、第2メモリアクセス動作が前記第1単一ポートメモリ上で実施される場合は、第1メモリアクセス動作が前記第2単一ポートメモリ上で実施され、また前記第2メモリアクセス動作が前記第2単一ポートメモリ上で実施される場合は、前記第1メモリアクセス動作が前記第1単一ポートメモリ上で実施されるスイッチファブリック。 - 前記第1メモリアクセス動作が書込み動作である請求項12に記載のスイッチファブリック。
- 前記第2メモリアクセス動作が読出し動作である請求項12に記載のスイッチファブリック。
- 前記第1および第2アクセス動作がノンブロッキングで同時に実施される請求項12に記載のスイッチファブリック。
- 単一の第1入力ポート、単一の第1アドレスポート、および単一の第1出力ポートを含む第1単一ポートメモリと、単一の第2入力ポート、単一の第2アドレスポート、および単一の第2出力ポートを含む第2単一ポートメモリとを備えるスイッチファブリックにアクセスするための方法であって、
第2メモリアクセス動作のためのメモリアドレスを決定すること、
前記メモリアドレスが前記第1単一ポートメモリに関連する場合は、前記第2単一ポートメモリ上で第1メモリアクセス動作を実施すること、および
前記メモリアドレスが前記第2単一ポートメモリに関連する場合は、前記第1単一ポートメモリ上で前記第1メモリアクセス動作を実施することを含む方法。 - 前記第1メモリアクセス動作が書込み動作である請求項16に記載の方法。
- 前記第2メモリアクセス動作が読出し動作である請求項16に記載の方法。
- 前記第1および第2メモリアクセス動作がノンブロッキングで同時に実施される請求項16に記載の方法。
- 直前の第1メモリアクセス動作中にアクセスされたメモリ位置への前参照をバッファに維持することをさらに含む請求項16に記載の方法。
- 前記第1メモリアクセス動作中に、前記バッファから前記前参照を取り出すこと、および前記バッファから取り出された前記前参照を格納することをさらに含む請求項20に記載の方法。
- 前記前参照がNULLポインタである請求項21に記載の方法。
- 前記バッファを、前記第1メモリアクセス動作を実施するように選択された前記第1または第2メモリユニット上のメモリ位置への参照で更新することをさらに含む請求項20に記載の方法。
- 前記第1メモリアクセス動作が、複数の第1データワードを含む第1パケットに対して実施され、前記第2メモリアクセス動作が、複数の第2データワードを含む第2パケットに対して実施され、前記方法が、前記第1メモリアクセス動作のための第1順序に従って前記第1データワードを選択すること、および前記第2メモリアクセス動作のための第2順序に従って前記第2データワードを選択することをさらに含む請求項16に記載の方法。
- 前記第1順序が、前記第1パケットの末尾に付随するデータワードに対して適用される前に、前記第1パケットの先頭に付随するデータワードに対して適用され、前記第2順序が、前記第2パケットの先頭に付随するデータワードに対して適用される前に、前記第2パケットの末尾に付随するデータワードに対して適用される請求項24に記載の方法。
- パケットを格納し、第1メモリユニットおよび第2メモリユニットを含むメモリを備えるスイッチファブリックからパケットを取り出すための方法であって、
到着パケットを受信すること、
前記第1メモリユニット上の使用可能なメモリ位置への第1参照を取り出すこと、
前記第2メモリユニット上の使用可能なメモリ位置への第2参照を取り出すこと、
前記第1参照または前記第2参照を、格納されたパケットの読出し動作を実施するように選択されるメモリユニットに基づいて選択すること、および
前記選択された参照によって参照されるメモリ位置上に到着パケットの少なくとも一部を書き込むことを含む方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30617401P | 2001-07-17 | 2001-07-17 | |
PCT/US2002/020288 WO2003009142A1 (en) | 2001-07-17 | 2002-06-26 | Switch fabric with dual port memory emulation scheme |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004536515A true JP2004536515A (ja) | 2004-12-02 |
JP2004536515A5 JP2004536515A5 (ja) | 2006-01-05 |
Family
ID=23184152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003514417A Pending JP2004536515A (ja) | 2001-07-17 | 2002-06-26 | デュアルポートメモリエミュレーション方式によるスイッチファブリック |
Country Status (5)
Country | Link |
---|---|
US (1) | US20030016689A1 (ja) |
EP (1) | EP1407362A4 (ja) |
JP (1) | JP2004536515A (ja) |
CN (1) | CN1545658A (ja) |
WO (1) | WO2003009142A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012513073A (ja) * | 2008-12-19 | 2012-06-07 | フルクラム・マイクロシステムズ・インコーポレーテッド | 偽性デュアルポート型sram |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003009543A2 (en) * | 2001-07-17 | 2003-01-30 | Alcatel Internetworking, Inc. | In-band message synchronization for distributed shared memory packet switch |
US7289523B2 (en) * | 2001-09-13 | 2007-10-30 | International Business Machines Corporation | Data packet switch and method of operating same |
US7292593B1 (en) * | 2002-03-28 | 2007-11-06 | Advanced Micro Devices, Inc. | Arrangement in a channel adapter for segregating transmit packet data in transmit buffers based on respective virtual lanes |
US7239645B2 (en) * | 2003-01-21 | 2007-07-03 | Applied Micro Circuits Corporation | Method and apparatus for managing payload buffer segments in a networking device |
US7515584B2 (en) * | 2003-09-19 | 2009-04-07 | Infineon Technologies Ag | Switching data packets in an ethernet switch |
CN102081591A (zh) * | 2011-01-27 | 2011-06-01 | 中国第一汽车集团公司 | 双端口存储器在双cpu结构设计中的应用 |
CN103594110B (zh) * | 2012-08-15 | 2017-09-15 | 上海华虹集成电路有限责任公司 | 替代双端口静态存储器的存储器结构 |
CN103677971B (zh) * | 2012-09-21 | 2017-11-24 | 上海斐讯数据通信技术有限公司 | 多线程处理系统及方法 |
US10847213B1 (en) | 2016-12-06 | 2020-11-24 | Gsi Technology, Inc. | Write data processing circuits and methods associated with computational memory cells |
US10891076B1 (en) | 2016-12-06 | 2021-01-12 | Gsi Technology, Inc. | Results processing circuits and methods associated with computational memory cells |
US10847212B1 (en) | 2016-12-06 | 2020-11-24 | Gsi Technology, Inc. | Read and write data processing circuits and methods associated with computational memory cells using two read multiplexers |
US11227653B1 (en) | 2016-12-06 | 2022-01-18 | Gsi Technology, Inc. | Storage array circuits and methods for computational memory cells |
US10249362B2 (en) | 2016-12-06 | 2019-04-02 | Gsi Technology, Inc. | Computational memory cell and processing array device using the memory cells for XOR and XNOR computations |
US10777262B1 (en) | 2016-12-06 | 2020-09-15 | Gsi Technology, Inc. | Read data processing circuits and methods associated memory cells |
US10770133B1 (en) | 2016-12-06 | 2020-09-08 | Gsi Technology, Inc. | Read and write data processing circuits and methods associated with computational memory cells that provides write inhibits and read bit line pre-charge inhibits |
US10725777B2 (en) | 2016-12-06 | 2020-07-28 | Gsi Technology, Inc. | Computational memory cell and processing array device using memory cells |
US10854284B1 (en) | 2016-12-06 | 2020-12-01 | Gsi Technology, Inc. | Computational memory cell and processing array device with ratioless write port |
US10943648B1 (en) | 2016-12-06 | 2021-03-09 | Gsi Technology, Inc. | Ultra low VDD memory cell with ratioless write port |
US10860320B1 (en) * | 2016-12-06 | 2020-12-08 | Gsi Technology, Inc. | Orthogonal data transposition system and method during data transfers to/from a processing array |
US10958272B2 (en) | 2019-06-18 | 2021-03-23 | Gsi Technology, Inc. | Computational memory cell and processing array device using complementary exclusive or memory cells |
US10877731B1 (en) | 2019-06-18 | 2020-12-29 | Gsi Technology, Inc. | Processing array device that performs one cycle full adder operation and bit line read/write logic features |
US10930341B1 (en) | 2019-06-18 | 2021-02-23 | Gsi Technology, Inc. | Processing array device that performs one cycle full adder operation and bit line read/write logic features |
CN111679599B (zh) * | 2020-05-22 | 2022-01-25 | 中国航空工业集团公司西安航空计算技术研究所 | 一种cpu与dsp数据高可靠交换方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5041971A (en) * | 1988-11-30 | 1991-08-20 | Bolt Beranek And Newman Inc. | Memory accessing switch network |
JPH04248729A (ja) * | 1991-02-05 | 1992-09-04 | Fujitsu Ltd | Atm交換機 |
EP0513519A1 (en) * | 1991-05-15 | 1992-11-19 | International Business Machines Corporation | Memory system for multiprocessor systems |
US5535197A (en) * | 1991-09-26 | 1996-07-09 | Ipc Information Systems, Inc. | Shared buffer switching module |
CA2094410C (en) * | 1992-06-18 | 1998-05-05 | Joshua Seth Auerbach | Distributed management communications network |
US5291482A (en) * | 1992-07-24 | 1994-03-01 | At&T Bell Laboratories | High bandwidth packet switch |
US5548590A (en) * | 1995-01-30 | 1996-08-20 | Hewlett-Packard Company | High performance frame time monitoring system and method for a fiber optic switch for a fiber optic network |
US5835941A (en) * | 1995-11-17 | 1998-11-10 | Micron Technology Inc. | Internally cached static random access memory architecture |
US5813043A (en) * | 1996-07-12 | 1998-09-22 | Motorola, Inc. | Method and system including memory patching utilizing a transmission control signal and circuit |
US6191998B1 (en) * | 1997-10-16 | 2001-02-20 | Altera Corporation | Programmable logic device memory array circuit having combinable single-port memory arrays |
US6170046B1 (en) * | 1997-10-28 | 2001-01-02 | Mmc Networks, Inc. | Accessing a memory system via a data or address bus that provides access to more than one part |
US6216167B1 (en) * | 1997-10-31 | 2001-04-10 | Nortel Networks Limited | Efficient path based forwarding and multicast forwarding |
US6173425B1 (en) * | 1998-04-15 | 2001-01-09 | Integrated Device Technology, Inc. | Methods of testing integrated circuits to include data traversal path identification information and related status information in test data streams |
US6577636B1 (en) * | 1999-05-21 | 2003-06-10 | Advanced Micro Devices, Inc. | Decision making engine receiving and storing a portion of a data frame in order to perform a frame forwarding decision |
GB2352583B (en) * | 1999-07-28 | 2003-12-10 | Intellprop Ltd | Telecommunication circuit switches |
US6711170B1 (en) * | 1999-08-31 | 2004-03-23 | Mosaid Technologies, Inc. | Method and apparatus for an interleaved non-blocking packet buffer |
EP1089472A1 (en) * | 1999-09-28 | 2001-04-04 | TELEFONAKTIEBOLAGET L M ERICSSON (publ) | Time-alignment apparatus and method for providing data frames of a plurality of channels with predetermined time-offsets |
US6925506B1 (en) * | 2000-09-29 | 2005-08-02 | Cypress Semiconductor Corp. | Architecture for implementing virtual multiqueue fifos |
-
2002
- 2002-06-26 EP EP02746708A patent/EP1407362A4/en not_active Withdrawn
- 2002-06-26 CN CNA028159853A patent/CN1545658A/zh active Pending
- 2002-06-26 US US10/180,279 patent/US20030016689A1/en not_active Abandoned
- 2002-06-26 WO PCT/US2002/020288 patent/WO2003009142A1/en active Application Filing
- 2002-06-26 JP JP2003514417A patent/JP2004536515A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012513073A (ja) * | 2008-12-19 | 2012-06-07 | フルクラム・マイクロシステムズ・インコーポレーテッド | 偽性デュアルポート型sram |
Also Published As
Publication number | Publication date |
---|---|
WO2003009142A1 (en) | 2003-01-30 |
EP1407362A4 (en) | 2007-01-24 |
CN1545658A (zh) | 2004-11-10 |
US20030016689A1 (en) | 2003-01-23 |
EP1407362A1 (en) | 2004-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004536515A (ja) | デュアルポートメモリエミュレーション方式によるスイッチファブリック | |
US7260104B2 (en) | Deferred queuing in a buffered switch | |
US7804834B2 (en) | Port packet queuing | |
US7555579B2 (en) | Implementing FIFOs in shared memory using linked lists and interleaved linked lists | |
US6795886B1 (en) | Interconnect switch method and apparatus | |
US7546399B2 (en) | Store and forward device utilizing cache to store status information for active queues | |
US6757791B1 (en) | Method and apparatus for reordering packet data units in storage queues for reading and writing memory | |
US8861515B2 (en) | Method and apparatus for shared multi-bank memory in a packet switching system | |
US6754744B2 (en) | Balanced linked lists for high performance data buffers in a network device | |
WO2004045161A1 (en) | Packet storage system for traffic handling | |
CN112084136A (zh) | 队列缓存管理方法、系统、存储介质、计算机设备及应用 | |
US7203193B2 (en) | In-band message synchronization for distributed shared memory packet switch | |
US7126959B2 (en) | High-speed packet memory | |
US20030095558A1 (en) | High efficiency data buffering in a computer network device | |
US7110405B2 (en) | Multicast cell buffer for network switch | |
US20030174708A1 (en) | High-speed memory having a modular structure | |
US7675930B2 (en) | Chip circuit for combined and data compressed FIFO arbitration for a non-blocking switch | |
JP2002510813A (ja) | 電気通信交換器内のampicdramシステム | |
US20050018492A1 (en) | Packet buffer circuit and method | |
CN118626288A (zh) | 一种基于共享缓存的tsn多队列管理系统和方法 | |
EP1507368A1 (en) | High speed pipeline architecture with high update rate of associated memories |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050617 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050617 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070206 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070425 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070806 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070904 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20071128 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20071205 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080513 |