JP2005519371A - 複数入力ストリームのための共有キュー - Google Patents

複数入力ストリームのための共有キュー Download PDF

Info

Publication number
JP2005519371A
JP2005519371A JP2003571921A JP2003571921A JP2005519371A JP 2005519371 A JP2005519371 A JP 2005519371A JP 2003571921 A JP2003571921 A JP 2003571921A JP 2003571921 A JP2003571921 A JP 2003571921A JP 2005519371 A JP2005519371 A JP 2005519371A
Authority
JP
Japan
Prior art keywords
input
memory element
memory
input stream
memory elements
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
Application number
JP2003571921A
Other languages
English (en)
Inventor
フィシャル、アナンド
ラマ、カー.アラムパリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2005519371A publication Critical patent/JP2005519371A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/621Individual queue per connection or flow, e.g. per VC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Physical Water Treatments (AREA)
  • Microwave Amplifiers (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Multi Processors (AREA)

Abstract

キューシステムは、複数入力からの入力データを受信する共通バッファを使用し、入力ストリームがそれらの入力データを供給する際に共通バッファ内のメモリ素子を前記入力データストリームに割り当てる。複数入力共通バッファから個々のデータ項目を独立して制御された状態でアンロードすることを可能にするため、このシステムは、各入力ストリームにおける各データ項目に割り当てられるバッファの記憶場所のマッピングを維持する。各データ項目のマッピングを維持することに関連するメモリおよびオーバーヘッドを最小限にするため、各入力ストリームに割り当てられる記憶場所は、連続的な先入れ先出しキューにおいて維持される。後段の受信システムが特定の入力ストリームからデータ項目を受信する準備が整っていることを認識すると、割り当てられた記憶場所の識別が入力ストリームのキューから除去され、共通バッファ内の割り当てられたメモリにあるデータ項目は受信装置へ供給される。

Description

この発明は、コンピュータおよび通信システムの分野に関し、特に共通出力ポートへルーティングされる複数入力ストリームを受信するシステムに関するものである。
複数入力共通出力システムは技術的に知られている。複数ホストが、例えば、共通サーバにデータを伝達し、複数プロセッサが共通メモリ装置へアクセスし、複数データストリームが共通伝送媒体へルーティングされるなどである。通常、複数入力システムへの入力は、1つ以上の入力ストリームからのアクティビティのバースト(動作の突発)を特徴としている。このようなアクティビティのバーストの間、入力データの到着速度は通常、後段の受信システムへのデータの許容出力速度を超過し、バッファリングを行ってデータの損失を防止しなければならない。
従来、設計の最優先事項を最大メモリ使用効率とするか最大性能とするかによって、2種類のシステムの一方を用いて共通出力への複数入力ストリームのルーティングを管理していた。
メモリ効率に関する実施の形態において、入力ストリームからのデータをキューに入れるための共通バッファを設け、入力ストリームを供給する各プロセスによって、所定の制御プロトコルに応じてこの共通バッファへのアクセスを制御する。この共通バッファからデータをアンロードして共通出力に供給する。共通バッファを使用して様々な入力ストリームからのフローを受信するので、バッファの大きさを所定の総合到着速度に対して最適化することができる。即ち、すべての入力ストリームが同時に作動する可能性は極めて低いので、共通バッファは、すべてのストリームからの最大のフローを同時に受け入れるのに必要とされる大きさよりも実質的に小さな大きさとされている。しかし、他のすべてのプロセスが共通バッファへのアクセスを待機している間に質の悪いプロセスが共通バッファを拘束してしまう可能性があるため、このような実施の形態の性能は、入力ストリームを供給する最も性能の悪いプロセスに左右される。
複数入力を供給するプロセス間の独立性を維持するために、図1のシステム100で示されるように、従来の高性能複数入力システムは通常、複数入力バッファを使用している。各バッファ110には、その対応する入力ストリーム101からデータを受信するためのキューが設けられている。図1の例においては、受信システムは”Unload(n)”コマンドをアサートしてn番目のキューから次に利用可能なデータ項目を選択し、次にこの選択されたデータ項目Qは受信システムに順次伝達される。特定の入力データストリームnの選択は通常、優先順位スキームに基づいて行われる。図示されていないが、システム100は通常、入力ストリームからのデータが利用可能であることを受信システムに通知する手段を含み、受信システムは、ストリームに関連する優先順位に基づいて利用可能なストリームから選択を行う。例えば、システム100における送信制御、およびそれぞれシステム100および受信システムによる送信および受信制御の組み合わせ等を含む、複数の入力ストリームからのデータフローを制御するための他のプロトコルが、一般的に使用されている。このようにして、特定の入力ストリームの選択は、上記の優先順位スキームに加えまたはその代わりに、先入れ先出し選択やラウンドロビン選択等を含む様々なスキームのいずれかによって行うようにしてもよい。
複数入力システムの設計上の選択においては、入力キューの大きさDを選択することが含まれる。予測された入力および出力速度に基づいてキューの大きさDを決定することによって、キューがオーバーフローとなる可能性を最小限にすることができる。便宜上、システム100の各入力ストリーム101に関連するキューは同様の大きさで示されている。特定の入力ストリームが他の入力ストリームとは実質的に異なる速度であることが分かっている場合、より小さなまたはより大きなキューの大きさを割り当てるようにしてもよい。図示されているように、システム100は、後段の受信システムの予想処理速度に基づいて、入力ストリームのいずれかからのDデータ項目の最大のバーストを許容するように構成されている。あらゆる入力ストリームでのデータ項目の到着の予想分布および後段の受信システムによるデータ項目の除去の予想分布を考慮してDの最適値を決定するキュー理論技術は技術的に知られている。
キューの大きさDは各データストリームからのデータ項目の予想到着速度に基づいているため、各キューは最悪の場合の到着予測値に対応する大きさにされている。特定の入力ストリームがそのキューを満たしてしまいそうになることは頻繁にあるが、すべての入力ストリームが同時にそれらのキューをすべて満たしてしまいそうになる可能性は通常極めて低い。他の観点からすると、所定の時刻におけるすべてのキュー間での未使用記憶場所の数は通常極めて多いため、従来の複数キュー複数入力システム100のメモリ使用効率は極めて低い。
この発明の目的は、メモリ使用効率を最大限にする複数入力装置および方法を提供することである。この発明のさらなる目的は、高性能を維持しながら、メモリ使用効率を最大限にする複数入力装置および方法を提供することである。この発明のさらなる目的は、メモリ装置によって使用される領域を最小限にする高性能複数入力装置を提供することである。
これらの目的および他の目的は、複数入力からの入力データを受信する共通バッファを使用する複数入力キューシステムと、入力ストリームがそれらの入力データを供給する際に共通バッファ内のメモリ素子を前記入力データストリームに割り当てるローカルアービトレーションユニットとを提供することによって達成される。複数入力共通バッファから個々のデータ項目を独立して制御された状態でアンロードすることを可能にするため、このシステムは、各入力ストリームにおける各データ項目に割り当てられるバッファの記憶場所のマッピングを維持する。各データ項目のマッピングを維持することに関連するメモリおよびオーバーヘッドを最小限にするため、各入力ストリームに割り当てられる記憶場所は、連続的な先入れ先出しキューにおいて維持される。後段の受信システムが特定の入力ストリームからデータ項目を受信する準備が整っていることを認識すると、割り当てられた記憶場所の識別が入力ストリームのキューから除去され、共通バッファ内の割り当てられたメモリにあるデータ項目は受信装置へ供給される。
本発明を添付された図面を参照して一例としてさらに詳細に説明する。
全図を通して、同一の参照番号により同様のまたは対応する特徴または機能を示す。
図2は、この発明による複数入力キューシステム200の一例のブロック図である。このシステム200はデュアルポートメモリ220を含み、このメモリ220への書き込みはアロケータ/アービトレータ240(以下、アロケータ240)によって制御され、メモリ220からの読み出しはマッパ/シーケンサ250(以下、マッパ250)によって制御される。メモリ220の書き込みおよび読み出しプロセスは、それぞれスイッチ210およびスイッチ260によって記号で表されている。
図2に示されているように、メモリ220はP個のアドレス可能メモリ素子を含み、各メモリ素子はいずれかの入力ストリーム101からのデータ項目を受け入れるのに十分な幅Wとなっている。従来のキュー理論技術を使用して、メモリ220のオーバーフローを回避する際に所定の信頼度を与えるために必要とされるメモリ素子の数Pを、図1の従来技術のシステム100に関連して上述したように、予想入力および出力流量速度に基づいて決定することができる。システム200のパラメータPは少なくともシステム100におけるパラメータDと同じ大きさであることが好ましい。尚、システム100は合計N×D個の幅Wのメモリ素子を含んでいるが、メモリ220は合計P個の幅Wのメモリ素子を含んでいる。
アロケータ240はメモリ220内の現在使用されていないメモリ素子の場所を供給するように構成されており、スイッチ210内に出力スイッチSbで示されているように、入力ストリーム101からの次のデータ項目が前記場所に向けられる。入力ストリーム101とアロケータ240との間の点線で示されているように、入力ストリーム101が送信されるべき新たなデータ項目を有している時、アロケータ240は必ず通知を受信するように構成されている。好ましい実施の形態において、2つ以上の入力ストリーム101が同時に送信されるべきデータを有している場合には、アロケータ240はアービトレーションロジックを含む。簡単な実施の形態において、例えばスイッチ210に対する入力ポートに連続的な順番の優先順位を割り当て、第1のポートに最も高い優先順位を与え、第2のポートにそれより低い優先順位を与え、同様に続ける。各入力ストリームM1、M2...MNは、その優先順位に応じて特定のポートに物理的に接続される。このような例において、アロケータ240は、送信されるべきデータ項目を有する最も小さな番号の付けられたポートを、入力スイッチSaを介して選択するだけである。各データ項目の内容に基づいた、または1つ以上の入力ストリーム201からの過去の送信記録に基づいた動的優先順位決定等を含む他の優先順位スキームは技術的に知られている。または、単純なラウンドロビン入力選択スキームを用いてもよく、この場合、アロケータ240は新たなデータのために各入力ストリーム201を順次サンプリングし、サンプリング順に新たなデータをメモリ220内の次に利用可能な未使用メモリ素子へルーティングする。当業者は、特定のスキームを使用して様々な入力ストリーム間の潜在的な衝突を解決することは、この発明の原理と無関係であることを認識するであろう。
尚、以下さらに説明するように、アロケータ240は個々のメモリ素子からデータ項目が除去されたことに注目するように構成されている。各データ項目が除去されると、このデータ項目を含んでいたメモリ素子は、現在使用されていないメモリ素子として新たなデータ項目を受け入れるために利用することができる。P個のメモリ素子のすべてがまだ除去されていないデータ項目で満たされている場合にのみ、メモリ220のオーバーフローが発生する。
あらゆる入力ストリームはメモリ220内の現在使用されていないあらゆるメモリ素子へアクセスすることができるため、システム100は、背景技術の項で説明した共通バッファシステムのメモリ使用効率を示す。しかし、アロケータ240は必要に応じてそれぞれの利用可能なメモリ素子を割り当てるように構成されているため、システム200は、入力ストリームを供給しているプロセスの1つ以上によるメモリ220の制御に依存することはない。
さらに、アロケータ240の割り当ておよび調整機能、特にアロケータのスイッチ210との相互作用は入力ストリーム101を供給するプロセスと実質的に無関係であるため、入力ストリーム101を供給するプロセスを変更する必要なくアロケータ240およびスイッチ210を変更することができる。例えば、性能を向上させ且つ入力ストリーム101間で衝突を起こす可能性を軽減するため、メモリ220内の複数メモリ素子に複数データ項目を同時にルーティングすることが可能となるようにスイッチ210を構成してもよい。即ち、入力スイッチSaはN乃至1スイッチとして、また入力スイッチSbは1乃至Pスイッチとして図2に示されている。または、k同時転送までをサポートするため、スイッチSaおよびSbをそれぞれN乃至kおよびk乃至Pスイッチとしてもよい。しかし、このような変更は、N乃至kスイッチと比較してデータ項目を供給するプロセスをN乃至1スイッチに対応するように変更させる必要がないという点において、入力ストリームM1...MNに対して“トランスペアレント”となる。
マッパ250は、データ項目が適切な順序でメモリ220からアンロード/除去されることを保証するように構成されている。出力データ項目Qnの配列が、データ項目が受信される時と同一の配列に対応するように意図されている場合、マッパ250は、スイッチ210内の制御スイッチSbに適用される同一の配列を使用して動作すればよい。即ち、例えば、メモリ220内のメモリ素子を順次選択するようにスイッチSbが動作する場合、マッパ250も、メモリ220内のメモリ素子を順次選択して後段の受信システムに伝達するように構成される。しかし、通常、システム200は、後段の受信システムがある程度独立してデータ項目を受信することが可能となるように構成されている。
典型的な実施の形態においては、背景技術の項で上述したように、受信システムは、データ項目が複数入力キューシステム200で受信される配列と異なる場合がある配列のデータ項目を要求する。好ましい実施の形態において、システム200は受信システムが入力ストリームnを特定することができるように構成されており、その入力ストリームnから次のデータ項目が送られる。このようにして、例えば、入力ストリームnでのプロセスで受信システムにm個のデータ項目を送るための要求を開始してもよく、その後、他の入力ストリーム101からシステム200に他のデータ項目が到着していることとは無関係に、受信システムはキューシステム200にm個の”Unload(n)”コマンドを送ってこれらm個のデータ項目を受信する。即ち、各入力ストリームに対応してデータ項目が順次受信システムに供給されるが、受信システムは、他の入力ストリームからのデータ項目の到着の順番とは無関係に、選択入力ストリームにデータ項目を要求するようにしてもよい。
受信システムが選択入力ストリームに一連のデータ項目を要求することを可能とするために、アロケータ240は各メモリ素子場所の各入力ストリームnに対する割り当てをストリーム−素子対(n、p)としてマッパ250に伝達する。これによってマッパ250は、各入力ストリームnからの各到着データ項目へ順次割り当てられる各メモリ素子場所インジケータpのリストを維持する。受信システムが特定の入力ストリームnに”次の” データ項目を要求する時、マッパ250は入力ストリームnに関連したリストから次の場所インジケータpを抽出し、その場所インジケータpを用いてスイッチ260を介してメモリ素子pの内容を出力Qnとして供給する。この場所インジケータpは入力ストリームnに関連したリストから除去され、その後アロケータ240はこのメモリ素子pを現在使用されていない記憶場所として含む。
図3は、図2のシステム200内のマッパ250として使用するのに適した、この発明による複数キューメモリ割り当てマップを有する複数入力キューシステム300の一例のブロック図である。マッパ250の他の実施の形態については、この開示内容を考慮すれば当業者には明らかとなるであろう。
図3の実施例において、マッパ250は複数先入れ先出し(FIFO)キュー355を含んでおり、各キュー355は複数入力キューシステム300に対応する入力ストリーム101に関連付けられている。アロケータ240がメモリ素子pを入力ストリームnに割り当てる時、このメモリ素子pのアドレスは入力ストリームnに対応するキューに記憶され、このインデックスnは入力ストリームnに対応するキュー355を選択するために用いられる。各新たなデータ項目が入力ストリームから受信されると、データ項目が記憶されているアドレスpは順次その入力ストリームに対応するキューに記憶される。
図3の一例のマッパ250内の各キュー355は、図1示された従来技術のキューの長さに対応して、キュー長さDを有して示されている。尚、図1のキュー110の幅はWであるため、各キュー110の全体の大きさはD×Wとなる。図3の各キュー355はP個のメモリ素子へのアドレスを記憶するように構成されているため、各キュー355の全体の大きさはD×logPとなる。典型的な実施の形態においては、アドレスの幅logPは通常、データ項目の幅よりも実質的に小さくなっている。例えば、データ項目が32ビット幅であり、バッファ220が1024個のデータ項目(log(1024)=10)を保持するように構成されている場合、図3のキュー355は図1のバッファ110の大きさの3分の1(10/32)よりも小さくなる。
受信システムが選択入力ストリームに次のデータ項目を要求する時、”Unload(n)”コマンドによって、マルチプレクサ/セレクタ350は選択入力ストリームnに対応するキューを選択し、次に利用可能なインデックスpは選択キュー355から除去される。インデックスpを用いてそのスイッチ/マルチプレクサ260を介して対応するメモリ素子pを選択して、受信システムからのUnload(n)要求に対応する出力Qnを供給する。メモリ素子p内のデータ項目を出力用に選択した後、アロケータ240がメモリ素子pを現在使用されていないメモリ素子として含むことによって、必要に応じてこのメモリ素子pを新たに到着したデータ項目に割り当てることが可能となる。
図3にはまた、メモリ220内の選択されたメモリ素子pへ入力ストリーム101からの次のデータ項目をルーティングするように構成された複数入力複数出力スイッチ210の実施形態が示している。一例のスイッチ210はメモリ220の各メモリ素子に対応したマルチプレクサ/セレクタ310を含み、これはアロケータ240からのselect(n)コマンドによって使用可能になる。この例においては、各メモリ素子に関連した各マルチプレクサ/セレクタ310はselect(n)コマンドを受信するように構成されており、nはメモリ素子に割り当てられた選択入力ストリームを識別するものである。このようにして、n番目の入力ストリームからのデータ項目はp番目のメモリ素子にルーティングされる。尚、この例では、複数同時入力ストリームからのデータ項目の記憶が可能となる。即ち、例えば、入力ストリーム1、3および7がデータ項目の送信を現在試みており、且つメモリ素子2、8および13(他にも可能性あり)が現在使用されていない場合、好ましい実施の形態におけるアロケータ240が、それぞれメモリ素子2、8および13に関連付けられたマルチプレクサ310へselect(1)、select(3)およびselect(7)コマンドをアサートすることによって、入力ストリーム1をメモリ素子2へ、入力ストリーム3をメモリ素子8へ、および入力ストリーム7をメモリ素子13へ同時にルーティングする。
割り当てられた記憶場所に複数入力ストリームからのデータ項目をルーティングする他の方法については、この開示内容を考慮すれば当業者には明らかとなるであろう。例えば、図3は、N個の入力ストリームから選択する、バッファ220の各メモリ素子と関連したN乃至1マルチプレクサ310を示しており、他の実施の形態においては、1乃至Pセレクタを各入力ストリーム101と関連されて、各入力ストリームをバッファ220の選択されたメモリ素子へルーティングするようにしてもよい。
以上は、単に本発明の原理を例証したものである。従って、当業者は、ここでは明確に説明および図示されてはいないが、本発明の原理を実施し、且つ請求の範囲の趣旨に含まれる様々な構成を考案することができるであろう。
図1は、従来技術の複数入力キューシステムの一例のブロック図である。 図2は、この発明による複数入力キューシステムの一例のブロック図である。 図3は、この発明による複数キューメモリ割り当てマップを有する複数入力キューシステムの一例のブロック図である。

Claims (15)

  1. 複数入力キューシステムであって、
    複数のメモリ素子を含むバッファと、
    複数の入力ストリームのうちの選択入力ストリームからのデータ項目を記憶するための前記複数のメモリ素子のうちのメモリ素子を割り当てるように構成されたアロケータと、
    前記選択入力ストリームに対応する出力を求める要求を受信し、
    前記選択入力ストリームを求める前記要求に基づいて、前記メモリ素子に関連したアドレスを決定し、
    前記メモリ素子に関連した前記アドレスに基づいて、前記メモリ素子からの前記データ項目を出力として供給するように構成されたマッパとを具備してなる、複数入力キューシステム。
  2. 前記アロケータに操作可能に結合され、前記選択入力ストリームからの前記データ項目を前記メモリ素子にルーティングするように構成された第1のスイッチをさらに含む、請求項1に記載の複数入力キューシステム。
  3. 前記マッパに操作可能に結合され、前記メモリ素子からの前記データ項目を前記出力にルーティングするように構成された第2のスイッチをさらに含む、請求項2に記載の複数入力キューシステム。
  4. 前記アロケータはさらに、前記選択入力ストリームからの割り当てを求める要求に基づいて前記メモリ素子を割り当てるように構成されている、請求項1に記載の複数入力キューシステム。
  5. 前記アロケータはさらに、
    前記複数の入力ストリームのうちの他の入力ストリームからの割り当て要求を受信し、
    前記他の入力ストリームからの前記割り当て要求および前記選択入力ストリームからの前記割り当て要求の相対的な優先順位を決定し、
    前記相対的優先順位に基づいて前記選択入力ストリームを識別するように構成されている、請求項4に記載の複数入力キューシステム。
  6. 前記アロケータはさらに、
    前記複数の入力ストリームのうちの他の入力ストリームからの割り当て要求を受信し、
    前記他の入力ストリームからの他のデータ項目を記憶するための前記複数のメモリ素子のうちの他のメモリ素子を割り当てるように構成されている、請求項4に記載の複数入力キューシステム。
  7. 前記アロケータは、前記選択入力ストリームからの前記データ項目を記憶するための前記メモリ素子を割り当てると同時に、前記他のメモリ素子を割り当てるように構成されている、請求項6に記載の複数入力キューシステム。
  8. 前記マッパはさらに、
    前記他の入力ストリームに対応する出力を求める要求を受信し、
    前記他の入力ストリームを求める前記要求に基づいて、前記他のメモリ素子に関連したアドレスを決定し、
    前記他のメモリ素子に関連した前記アドレスに基づいて、前記他のメモリ素子からの前記他のデータ項目を複数入力キューシステムからの出力として供給するように構成されている、請求項6に記載の複数入力キューシステム。
  9. 複数の入力ストリームからデータを受信するように構成されたバファシステムであって、
    複数のメモリ素子と、
    複数の入力マルチプレクサであって、各入力マルチプレクサは前記複数のメモリ素子のうちのメモリ素子に結合された複数の入力マルチプレクサと、
    前記複数のメモリ素子に操作可能に結合され、前記複数の入力マルチプレクサに対する割り当てコマンドによって、前記複数の入力ストリームのうちの1つ以上の入力ストリームを対応する1つ以上のメモリ素子に結合するように構成されたアロケータとを具備してなる、バファシステム。
  10. 前記アロケータに操作可能に結合されたマッパであって、
    前記割り当てコマンドに対応する情報を記憶するように構成されたメモリと、
    前記メモリに操作可能に結合され、前記割り当てコマンドに対応する前記情報にアクセスし、それによって前記複数の入力ストリームのうちの選択入力ストリームに対応する前記1つ以上のメモリ素子の識別を供給するように構成されたマルチプレクサとを含む、
    マッパと、
    前記複数のメモリ素子および前記マッパに操作可能に結合され、前記選択入力ストリームに対応する前記1つ以上のメモリ素子の前記識別に基づいて前記複数のメモリ素子のうちの選択メモリ素子をバファシステムの出力に結合するように構成された出力マルチプレクサと、
    をさらに含む、請求項9に記載のバファシステム。
  11. 前記マッパの前記メモリは複数のキューを含み、前記複数のキューの各キューは前記複数の入力ストリームの各入力ストリームに対応している、請求項10に記載のバファシステム。
  12. 複数の入力ストリームからのデータ項目をバッファリングする方法であって、
    前記複数の入力ストリームのうちの1つ以上の入力ストリームから入力通知を受信することと、
    複数のメモリ素子のうちの選択メモリ素子を前記1つ以上の入力ストリームのうちの選択入力ストリームに割り当てることと、
    前記選択入力ストリームから前記選択メモリ素子に、受信されたデータ項目を記憶することと、
    前記選択入力ストリームに対応する前記選択メモリ素子の識別を記憶することと、
    前記選択入力ストリームを識別するアンロード要求を受信することと、
    前記選択入力ストリームに対応する前記選択メモリ素子の識別に基づいて、前記選択メモリ素子からの受信データ項目を供給することとを含む、方法。
  13. 前記複数のメモリ素子のうちの複数の選択メモリ素子を前記1つ以上の入力ストリームのうちの複数の選択入力ストリームに割り当てることと、
    前記複数の選択入力ストリームの各々から前記複数の選択メモリ素子の対応する各々に、受信されたデータ項目を記憶することと、
    前記複数の選択入力ストリームの各々に対応する前記複数の選択メモリ素子の各々の識別を記憶することとをさらに含む、請求項12に記載の方法。
  14. 前記選択メモリ素子の前記識別を記憶することは、
    前記選択入力ストリームに関連した前記先入れ先出しキュー内に前記識別を配置することを含み、
    前記受信データ項目を供給することは、
    前記選択入力ストリームに関連した前記先入れ先出しキューから前記識別を除去することを含む、請求項12に記載の方法。
  15. 前記複数のメモリ素子のうちの各メモリ素子は、現在使用されているものおよび現在使用されていないものとして動的に分類可能であり、
    前記選択メモリ素子を割り当てることは、
    現在使用されていないものとして分類された前記複数のメモリ素子のうちの1つを前記選択メモリ素子と識別することと、
    前記選択メモリ素子を現在使用されているものとして分類することとを含み、
    前記受信データ項目を供給することは、
    前記選択メモリ素子を現在使用されていないものとして分類することとを含む、請求項12に記載の方法。
JP2003571921A 2002-02-27 2003-02-25 複数入力ストリームのための共有キュー Pending JP2005519371A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/086,096 US20030163618A1 (en) 2002-02-27 2002-02-27 Shared queue for multiple input-streams
PCT/IB2003/000743 WO2003073296A2 (en) 2002-02-27 2003-02-25 Shared queue for multiple input-streams

Publications (1)

Publication Number Publication Date
JP2005519371A true JP2005519371A (ja) 2005-06-30

Family

ID=27753789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003571921A Pending JP2005519371A (ja) 2002-02-27 2003-02-25 複数入力ストリームのための共有キュー

Country Status (9)

Country Link
US (1) US20030163618A1 (ja)
EP (1) EP1481317B1 (ja)
JP (1) JP2005519371A (ja)
CN (1) CN100382009C (ja)
AT (1) ATE341787T1 (ja)
AU (1) AU2003206070A1 (ja)
DE (1) DE60308832T2 (ja)
TW (1) TWI280506B (ja)
WO (1) WO2003073296A2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996645B1 (en) * 2002-12-27 2006-02-07 Unisys Corporation Method and apparatus for spawning multiple requests from a single entry of a queue
KR100532295B1 (ko) * 2003-03-25 2005-11-29 재단법인서울대학교산학협력재단 다중 송수신 안테나 시스템을 위한 무선통신 장치 및방법
JP4567373B2 (ja) * 2004-05-20 2010-10-20 ルネサスエレクトロニクス株式会社 データ転送装置及び通信データ処理システム
CN100446504C (zh) * 2005-05-23 2008-12-24 华为技术有限公司 宽带码分多址系统下行帧协议数据共享存储转发装置及方法
CN101127686B (zh) * 2006-08-18 2012-04-04 华为技术有限公司 一种网络数据处理方法及设备
CN101184112B (zh) * 2007-12-20 2010-12-29 腾讯科技(深圳)有限公司 多媒体信息传输发布系统及其传输发布多媒体信息的方法
WO2009107089A2 (en) * 2008-02-26 2009-09-03 Nxp B.V. Apparatus and method for shared buffering between switch ports
US9356986B2 (en) * 2014-08-08 2016-05-31 Sas Institute Inc. Distributed stream processing
KR102387935B1 (ko) 2017-10-23 2022-04-15 삼성전자주식회사 공용 메모리 영역 및 전용 메모리 영역을 포함하는 데이터 저장 장치
CN109922015A (zh) * 2019-01-23 2019-06-21 珠海亿智电子科技有限公司 一种多路数据流共享缓冲器方法和系统
TWI712894B (zh) * 2019-09-09 2020-12-11 瑞昱半導體股份有限公司 訊息請求方法及其裝置
KR20220102160A (ko) * 2021-01-11 2022-07-20 삼성전자주식회사 패킷 전송을 위한 스위치, 그것을 갖는 네트워크 온 칩, 및 그것의 동작 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5233603A (en) * 1988-04-21 1993-08-03 Nec Corporation Packet switch suitable for integrated circuit implementation
AU640397B2 (en) * 1989-08-25 1993-08-26 Juridical Foundation The Chemo-Sero-Therapeutic Research Institute Dog-mouse heterohybridoma and gene fragment coding for constant region of canine immunoglobulin
US5583861A (en) * 1994-04-28 1996-12-10 Integrated Telecom Technology ATM switching element and method having independently accessible cell memories
JPH07321815A (ja) * 1994-05-24 1995-12-08 Nec Corp 共有バッファ型atmスイッチおよびその同報制御方法
JP2928165B2 (ja) * 1996-08-16 1999-08-03 日本電気マイコンテクノロジー株式会社 Atmスイッチ
GB2349296B (en) * 1999-04-21 2001-04-04 3Com Corp Reduction of imbalance in transmit traffic queues in a network switch
US6977941B2 (en) * 2000-11-08 2005-12-20 Hitachi, Ltd. Shared buffer type variable length packet switch
TW513635B (en) * 2000-11-24 2002-12-11 Ibm Method and structure for variable-length frame support in a shared memory switch

Also Published As

Publication number Publication date
AU2003206070A8 (en) 2003-09-09
EP1481317A2 (en) 2004-12-01
AU2003206070A1 (en) 2003-09-09
WO2003073296A2 (en) 2003-09-04
ATE341787T1 (de) 2006-10-15
EP1481317B1 (en) 2006-10-04
TW200409032A (en) 2004-06-01
US20030163618A1 (en) 2003-08-28
DE60308832D1 (de) 2006-11-16
CN1639680A (zh) 2005-07-13
WO2003073296A3 (en) 2004-02-05
CN100382009C (zh) 2008-04-16
DE60308832T2 (de) 2007-08-09
TWI280506B (en) 2007-05-01

Similar Documents

Publication Publication Date Title
US7324509B2 (en) Efficient optimization algorithm in memory utilization for network applications
US6922408B2 (en) Packet communication buffering with dynamic flow control
EP0932098B1 (en) Computer system and method for allocating memory space for communications port buffers
US6119196A (en) System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates
EP1374072B1 (en) Apparatus and method for efficiently sharing memory bandwidth in a network processor
US20060010279A1 (en) Apparatus for use in a computer systems
US20070011223A1 (en) Method and system for flexible network processor scheduler and data flow
JP2005519371A (ja) 複数入力ストリームのための共有キュー
EP1891503B1 (en) Concurrent read response acknowledge enhanced direct memory access unit
US11372794B2 (en) Data processing apparatus for arbitration of requests and operation method thereof
CN1965550A (zh) 处理完整数据突发的方法和装置
CN110214437B (zh) 用于存储器访问令牌重新分配的系统和方法
US9846658B2 (en) Dynamic temporary use of packet memory as resource memory
EP1533690A2 (en) Distributed task queues in a multiple-port storage system
US20070130390A1 (en) Method and apparatus for effective package memory bandwidth management
CN116893993A (zh) 一种采用AXI总线访问host的方法、系统、芯片及存储介质
US20180067683A1 (en) Dynamic packet buffers with consolidation of low utilized memory banks
GB2341771A (en) Address decoding
GB2341766A (en) Bus architecture
GB2341772A (en) Primary and secondary bus architecture
GB2341769A (en) Data packet reordering
GB2341699A (en) Inter-module data transfer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060224

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080902

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081202

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081209

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090105

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090113

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090202

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090209

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090703