JP3791529B2 - フレームバッファ管理回路および方法 - Google Patents
フレームバッファ管理回路および方法 Download PDFInfo
- Publication number
- JP3791529B2 JP3791529B2 JP2004111024A JP2004111024A JP3791529B2 JP 3791529 B2 JP3791529 B2 JP 3791529B2 JP 2004111024 A JP2004111024 A JP 2004111024A JP 2004111024 A JP2004111024 A JP 2004111024A JP 3791529 B2 JP3791529 B2 JP 3791529B2
- Authority
- JP
- Japan
- Prior art keywords
- frame
- buffer
- management
- connection
- memory block
- 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.)
- Expired - Lifetime
Links
- 239000000872 buffer Substances 0.000 title claims description 254
- 238000000034 method Methods 0.000 title description 11
- 238000007726 management method Methods 0.000 claims description 237
- 230000015654 memory Effects 0.000 claims description 211
- 238000009825 accumulation Methods 0.000 claims description 22
- 238000012544 monitoring process Methods 0.000 claims description 19
- 239000000126 substance Substances 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 33
- 238000012545 processing Methods 0.000 description 5
- 241001522296 Erithacus rubecula Species 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000004308 accommodation Effects 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
入力されたフレームに対して、フレームヘッダ部に記録されている属性情報又は事前に与えられる設定値に基づいて、振分先のバッファを決定するフレーム振分手段と、
メモリブロックの集合として構成され、入力されたフレームの実体を格納するフレーム蓄積手段と、
コネクション用バッファを構成し、フレーム蓄積手段の一部であるメモリブロックをポインタにより指示および管理し、FIFO型のデータ構造を有するバッファ用メモリブロックアドレス管理手段と、
コネクション用バッファの先頭位置および後尾位置をポインタにより指示および管理するキュー管理手段と、
フレーム蓄積手段において使用していないメモリブロックをポインタにより指示および管理する空きメモリブロック管理手段と、
コネクション用バッファに収容するフレームの長さを保持するフレーム長管理手段と、
バッファのフレーム蓄積状態に関する情報に基づいて、操作対象となるフレームと蓄積または読出または廃棄のいずれかの操作を実行するかを判別する蓄積/読出/廃棄判別手段と、
フレーム蓄積手段からフレームを読出すフレーム読出手段と、
バッファにフレームを格納しきれなくなったときにフレームを廃棄するフレーム廃棄手段とを有することを特徴とする。
入力されたフレームに対して、フレームヘッダ部に記録されている属性情報又は事前に与えられる設定値に基づいて、振分先のバッファを決定するフレーム振分ステップと、
メモリブロックの集合として構成され、入力されたフレームの実体を格納するフレーム蓄積ステップと、
コネクション用バッファを構成し、FIFO型のデータ構造であって、一部であるメモリブロックをポインタにより指示および管理するバッファ用メモリブロックアドレス管理ステップと、
コネクション用バッファの先頭位置および後尾位置をポインタにより指示および管理するキュー管理ステップと、
使用していないメモリブロックをポインタにより指示および管理する空きメモリブロック管理ステップと、
コネクション用バッファに収容するフレームの長さを保持するフレーム長管理ステップと、
バッファのフレーム蓄積状態に関する情報に基づいて、操作対象となるフレームと蓄積もしくは読出または廃棄のいずれかの操作を実行するかを判別する蓄積/読出/廃棄判別ステップと、
蓄積されたフレームを読出すフレーム読出ステップと、
バッファにフレームを格納しきれなくなったときにフレームを廃棄するフレーム廃棄ステップとを有することを特徴とする。
実施例1は、論理的な個別FIFO型バッファを構成することで、帯域使用量および遅延時間の点で公平な読出しを実現可能としながら、コネクション間でメモリを共用することにより使用効率を高くし、かつ個別FIFO型バッファ管理をキューによって行うことで簡易化し、リンクによる管理よりも高速化することを特徴とする。
(S1)フレームが入力される
(S2)フレーム振分部は、入カフレームを収容するバッファ用メモリブロック管理部を選択し、フレーム情報を蓄積/読出/廃棄判別部に送る。
(S3)蓄積/読出/廃棄判別部は、バッファ用メモリブロックアドレス管理部に空きがあるか確認し、空きがなければ、(S8)入力フレームを廃棄する。
(S4)蓄積/読出/廃棄判別部は、空きメモリブロック管理部に対して、フレーム蓄積部に空きがあるか確認する。
(S5)フレーム蓄積部に空きがない場合、蓄積/読出/廃棄判別部は、バッファ用メモリブロックアドレス管理部が保持するコネクションごとの個別キュー情報を参照して、廃棄すべきフレームを決定する。入カフレームが廃棄対象となっている場合は、(S8)入カフレームを廃棄する。
(S6)他コネクションのフレームを廃棄すべきである場合には、該当フレームを廃棄する。
(S7)空きメモリブロック管理部から、空いているメモリブロックのアドレスを読出す。
(S8)読出したアドレスをキーとして、フレーム長管理テーブルにフレーム長情報を書込む。
(S9)フレーム蓄積部内の空きメモリブロックサイズを上限としてフレームの内容を書込む。
(S10)バッファ用メモリブロックアドレス管理部のキュー情報を更新する。
(S11)該当メモリブロックが扱うのが入力フレームの後尾か判別し、後尾であれば終了、後尾でなければ(S7)から続きのフレームの蓄積処理を行う。
フレーム読出命令が蓄積/読出/廃棄判別部に与えられると、
(S1)バッファ用メモリブロックアドレス管理部から、フレームが記録されているフレーム蓄積部内のアドレスを読出す。
(S2)フレーム長管理テーブルからフレーム長情報を読出す。
(S3)フレーム蓄積部内のメモリブロックから、メモリブロックサイズを上限として分割したフレームの内容を読出す。
(S4)読出したアドレスをキーとして、バッファ用メモリブロックアドレス管理部のキュー情報を更新する。
(S5)空きメモリブロック管理部に、不要なメモリブロックのアドレスを書込み、空きメモリブロックとする。
(S6)該当メモリブロックが扱うのが出力フレームの後尾か判別し、後尾でなければ(1)から続きのフレームの読出処理を行う。
(S7)分割したフレームから元のフレームを再構成する。
(S8)再構成したフレームを出力する。
実施例2は、図2に示す個別FIFO型バッファに収容および管理する単位を、単一コネクションに限定するのではなく、コネクション群もしくは方路またはこれらの組合せとして扱うことを特徴とする。
実施例3は、図2に示す個別FIFO型バッファに収容および管理する単位を、コネクションごとに設定する1以上のQoSクラスまたはポートごととして扱うことを特徴とする。
実施例4は、バッファ用メモリブロックアドレス管理部内の複数のポインタをグループ化したものをアドレスグループとすると、このアドレスグループの使用領域を動的に割当てることを特徴とする。
実施例5は、図2に示す各コネクションの個別FIFO型バッファ使用状況を監視し、使用状況に基づいて個別FIFO型バッファの最大キュー長を可変とすることを特徴とする。
実施例6は、図3(e)に示すフレーム長管理部を図3(a)に示すフレーム蓄積部に統合し、拡張型フレーム長管理部を備えることを特徴とする。
実施例7は、コネクションやフレームの属性により廃棄優先度を設け、優先的に廃棄するフレームを選択することを特徴とする。
101 フレーム振分部
102 フレーム蓄積部
103 蓄積/読出/廃棄判別部
104 バッファ用メモリブロックアドレス管理部
105 キュー管理部
106 空きメモリブロック管理部
107 フレーム長管理部
109 フレーム読出部
110 フレーム廃棄部
111 コネクショングループ情報管理部
112 マルチバッファ管理部
1120 マルチクラス/ポート化したバッファ用メモリブロックアドレス管理部
1121 マルチクラス/ポート化したキュー管理部
113 アドレスグループ管理部
114 バッファ使用状況監視部
Claims (14)
- 1以上のコネクションを収容し、コネクションごとにFIFO型のデータ構造を有し、全コネクション間で共用するメモリを動的に個別のコネクション用バッファとして割当および開放を行うフレームバッファ管理回路において、
入力されたフレームに対して、フレームヘッダ部に記録されている属性情報又は事前に与えられる設定値に基づいて、振分先のバッファを決定するフレーム振分手段と、
メモリブロックの集合として構成され、入力されたフレームの実体を格納するフレーム蓄積手段と、
コネクション用バッファを構成し、前記フレーム蓄積手段の一部であるメモリブロックをポインタにより指示および管理し、FIFO型のデータ構造を有するバッファ用メモリブロックアドレス管理手段と、
コネクション用バッファの先頭位置および後尾位置をポインタにより指示および管理するキュー管理手段と、
前記フレーム蓄積手段において使用していないメモリブロックをポインタにより指示および管理する空きメモリブロック管理手段と、
コネクション用バッファに収容するフレームの長さを保持するフレーム長管理手段と、
バッファのフレーム蓄積状態に関する情報に基づいて、操作対象となるフレームと蓄積もしくは読出または廃棄のいずれかの操作を実行するかを判別する蓄積/読出/廃棄判別手段と、
前記フレーム蓄積手段からフレームを読出すフレーム読出手段と、
バッファにフレームを格納しきれなくなったときにフレームを廃棄するフレーム廃棄手段と
を有することを特徴とするフレームバッファ管理回路。 - バッファの管理単位を単一コネクションの代わりに、コネクション群もしくは方路またはこれらの組合わせとして扱うコネクショングループ情報管理手段を備えることを特徴とする請求項1に記載のフレームバッファ管理回路。
- 各コネクションが1以上のQoSクラス又はポートごとにバッファを保持および管理するマルチバッファ管理手段を備え、
前記マルチバッファ管理手段は、コネクション内に1以上のQoSクラスまたはポートを収容する前記バッファ用メモリブロック管理手段と、
コネクション内に1以上のQoSクラスまたはポートを収容する前記キュー管理手段を備えることを特徴とする請求項1又は2に記載のフレームバッファ管理回路。 - 前記バッファ用メモリブロックアドレス管理手段を構成する1以上のブロックをグループ化し、グループごとに前記バッファ用メモリブロックアドレス管理手段の一部として割当および開放を行う、アドレスグループ管理手段を備えることを特徴とする請求項1から3のいずれか1項に記載のフレームバッファ管理回路。
- 各コネクションのバッファ使用状況を監視するバッファ使用状況監視手段と、
バッファ使用状況監視手段から取得した情報に基づいて、前記バッファ用メモリブロックアドレス管理手段で使用する最大キュー長を動的に決定する最大キュー長決定手段を備えることを特徴とする請求項1から4のいずれか1項に記載のフレームバッファ管理回路。 - フレームバッファに収容するフレームの長さを、前記フレーム長管理手段の代わりに、前記フレーム蓄積手段に含まれるメモリブロック内にフレームの実体と併せて記録する拡張型フレーム蓄積手段を備えることを特徴とする請求項1から5のいずれか1項に記載のフレームバッファ管理回路。
- 優先的に廃棄するフレームを選択する優先廃棄フレーム選択手段を備えることを特徴とする請求項1から6のいずれか1項に記載のフレームバッファ管理回路。
- 1以上のコネクションを収容し、コネクションごとにFIFO型のデータ構造を有し、全コネクション間で共用するメモリを動的に個別のコネクション用バッファとして割当および開放を行うフレームバッファ管理方法において、
入力されたフレームに対して、フレームヘッダ部に記録されている属性情報又は事前に与えられる設定値に基づいて、振分先のバッファを決定するフレーム振分ステップと、
メモリブロックの集合として構成され、入力されたフレームの実体を格納するフレーム蓄積ステップと、
コネクション用バッファを構成し、FIFO型のデータ構造であって、一部であるメモリブロックをポインタにより指示および管理するバッファ用メモリブロックアドレス管理ステップと、
コネクション用バッファの先頭位置および後尾位置をポインタにより指示および管理するキュー管理ステップと、
使用していない前記メモリブロックをポインタにより指示および管理する空きメモリブロック管理ステップと、
コネクション用バッファに収容するフレームの長さを保持するフレーム長管理ステップと、
バッファのフレーム蓄積状態に関する情報に基づいて、操作対象となるフレームと蓄積もしくは読出または廃棄のいずれかの操作を実行するかを判別する蓄積/読出/廃棄判別ステップと、
蓄積されたフレームを読出すフレーム読出ステップと、
バッファにフレームを格納しきれなくなったときにフレームを廃棄するフレーム廃棄ステップと
を有することを特徴とするフレームバッファ管理方法。 - バッファの管理単位を単一コネクションの代わりに、コネクション群もしくは方路またはこれらの組合わせとして扱うコネクショングループ情報管理ステップを有することを特徴とする請求項8に記載のフレームバッファ管理方法。
- 各コネクションが1以上のQoSクラス又はポートごとにバッファを保持および管理するマルチバッファ管理ステップを有し、
前記マルチバッファ管理ステップは、コネクション内に1以上のQoSクラスまたはポートを収容するバッファ用メモリブロック管理ステップと、コネクション内に1以上のQoSクラスまたはポートを収容するキュー管理ステップとを備えることを特徴とする請求項8又は9に記載のフレームバッファ管理方法。 - 前記バッファ用メモリブロックアドレス管理手段を構成する1以上のブロックをグループ化し、グループごとに前記バッファ用メモリブロックアドレス管理手段の一部として割当および開放を行う、アドレスグループ管理ステップを有することを特徴とする請求項8から10のいずれか1項に記載のフレームバッファ管理方法。
- 各コネクションのバッファ使用状況を監視するバッファ使用状況監視ステップと、
バッファ使用状況監視ステップから取得した情報に基づいて、前記バッファ用メモリブロックアドレス管理ステップで使用する最大キュー長を動的に決定する最大キュー長決定ステップを有することを特徴とする請求項8から11のいずれか1項に記載のフレームバッファ管理方法。 - フレームバッファに収容するフレームの長さを、前記フレーム長管理ステップの代わりに、蓄積されたメモリブロック内にフレームの実体と併せて記録する拡張型フレーム蓄積ステップを備えることを特徴とする請求項8から12のいずれか1項に記載のフレームバッファ管理方法。
- 優先的に廃棄するフレームを選択する優先廃棄フレーム選択ステップを備えることを特徴とする請求項8から13のいずれか1項に記載のフレームバッファ管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004111024A JP3791529B2 (ja) | 2004-04-05 | 2004-04-05 | フレームバッファ管理回路および方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004111024A JP3791529B2 (ja) | 2004-04-05 | 2004-04-05 | フレームバッファ管理回路および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005295443A JP2005295443A (ja) | 2005-10-20 |
JP3791529B2 true JP3791529B2 (ja) | 2006-06-28 |
Family
ID=35327845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004111024A Expired - Lifetime JP3791529B2 (ja) | 2004-04-05 | 2004-04-05 | フレームバッファ管理回路および方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3791529B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5088145B2 (ja) * | 2008-01-10 | 2012-12-05 | 富士通株式会社 | パケット中継装置、制御方法およびパケット中継プログラム |
-
2004
- 2004-04-05 JP JP2004111024A patent/JP3791529B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2005295443A (ja) | 2005-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10341260B2 (en) | Early queueing network device | |
CA2402242C (en) | Non-consecutive data readout scheduler | |
US8520522B1 (en) | Transmit-buffer management for priority-based flow control | |
US5991295A (en) | Digital switch | |
US6535484B1 (en) | Method and apparatus for per traffic flow buffer management | |
US7321594B2 (en) | Router apparatus provided with output port circuit including storage unit, and method of controlling output port circuit of router apparatus | |
US7058057B2 (en) | Network switch port traffic manager having configurable packet and cell servicing | |
US6259699B1 (en) | System architecture for and method of processing packets and/or cells in a common switch | |
JP4070610B2 (ja) | データ・ストリーム・プロセッサにおけるデータ・ストリームの操作 | |
JP3866425B2 (ja) | パケットスイッチ | |
US6687254B1 (en) | Flexible threshold based buffering system for use in digital communication devices | |
US7023856B1 (en) | Method and system for providing differentiated service on a per virtual circuit basis within a packet-based switch/router | |
US6501757B1 (en) | ATM switch | |
US20040151197A1 (en) | Priority queue architecture for supporting per flow queuing and multiple ports | |
JPH08251233A (ja) | メモリ割り付けを改善したパケット通信システム及び方法 | |
JPH07226770A (ja) | パケット交換装置およびその制御方法 | |
US8312243B2 (en) | Memory management in network processors | |
JPWO2004066570A1 (ja) | ネットワークスイッチ装置およびネットワークスイッチ方法 | |
US6876659B2 (en) | Enqueuing apparatus for asynchronous transfer mode (ATM) virtual circuit merging | |
US10491543B1 (en) | Shared memory switch fabric system and method | |
JP3561870B2 (ja) | パケットバッファ装置 | |
JP3791529B2 (ja) | フレームバッファ管理回路および方法 | |
US20070140260A1 (en) | System and method of single switch string hardware | |
JP2003124953A (ja) | リング型ネットワークシステム | |
JP3416156B2 (ja) | 種々の優先度のバーチャルコネクションを介して情報セルを伝送する方法および回路装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060224 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060314 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060327 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3791529 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090414 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100414 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100414 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110414 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120414 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130414 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140414 Year of fee payment: 8 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |