JP5359692B2 - Frame output method and frame output device - Google Patents
Frame output method and frame output device Download PDFInfo
- Publication number
- JP5359692B2 JP5359692B2 JP2009198486A JP2009198486A JP5359692B2 JP 5359692 B2 JP5359692 B2 JP 5359692B2 JP 2009198486 A JP2009198486 A JP 2009198486A JP 2009198486 A JP2009198486 A JP 2009198486A JP 5359692 B2 JP5359692 B2 JP 5359692B2
- Authority
- JP
- Japan
- Prior art keywords
- frame
- queue
- read
- buffer
- unit
- 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 - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Description
本発明は、フレームバッファからフレームを読み出して出力するフレーム出力方法及びフレーム出力装置に関する。 The present invention relates to a frame output method and a frame output device for reading out and outputting a frame from a frame buffer.
近年においてはレイヤ2スイッチ(以下「L2スイッチ」と呼ぶ)装置の高速大容量化が進んでおり、それに伴いポートあたりの伝送レートの高速化、及び装置あたりのポート数の高密度化が求められている。高速大容量化が進むと、通信品質QoS(Quality of Service)処理も高速で行う必要があり、L2スイッチ装置のイーグレス(出力側)機能であるスケジューラにも影響を及ぼす。
In recent years, high-speed and large-
図1はL2スイッチの一例の構成図を示す。図1において、ポート#1〜#Mから入力されたフレームは、ヘッダ情報を基にイングレス部1のキュー#1〜#Nに割り当てられて入力レートを調整される。そして、イングレス部1から出力され、スイッチング部2を通ってイーグレス部3に到達したフレームはヘッダ情報を基にしてフレームバッファの宛先キュー#1〜#Nにフレームが格納される。
FIG. 1 shows a configuration diagram of an example of an L2 switch. In FIG. 1, the frames input from the
イーグレス部3の機能であるスケジューラは、宛先キュー毎のフレーム蓄積情報及びトークン有無情報(及び宛先キューの優先度)を基に、ラウンドロビンによりフレームを読み出すポートと宛先キューを決定する。スケジューラは所定長のページ単位に分割されたフレームバッファ内の決定した宛先キューから、ポインタチェーンをたどってフレームをページ単位に読み出しを行う。そして、読み出したフレームレングスに相当するトークンを減算する。トークンがなくなるまで当該キューからフレームが読み出し可能であり、トークンは周期的に一定量が加算される。フレームバッファから読み出されたフレームはポート#1〜#Mから出力される。
The scheduler, which is a function of the
図2は従来のイーグレス部の一例の構成図を示す。図2において、スイッチング部2よりフレームが入力され、ヘッダ処理部11に供給される。ヘッダ処理部11は図3に示すようにフレームの先頭に装置内ヘッダを付加する。装置内ヘッダにはフレーム出力先の宛先キュー情報及びフレームの長さを表すレングス情報(フレームレングス)が含まれる。装置内ヘッダを付けたフレームはバッファ制御部12に供給され、装置内ヘッダから抽出された宛先キュー情報及びフレームレングスはポインタ管理部13に供給される。
FIG. 2 shows a configuration diagram of an example of a conventional egress section. In FIG. 2, the frame is input from the
ポインタ管理部13のライトポインタ発行部13bは、テールポインタ管理メモリ13a及びチェーン管理メモリ14にアクセスして、宛先キュー情報が示すキューにライトポインタを発行してバッファ制御部12のライト制御部12aに供給する。
The write pointer issuing
テールポインタ管理メモリ13aはキューの最後のポインタをキュー毎に管理し、チェーン管理メモリ14はキューのポインタチェーンとフレームレングスをキュー毎に管理する。これにより、ライト制御部12aはライトポインタをアドレスとしてフレームバッファ(メモリ)15にフレームを書き込む。
The tail
テールポインタ管理メモリ13aはライトポインタの発行により、エンキュー情報(フレーム入力情報)をスケジューラ部16のフレーム有無情報部16aに供給する。これによりフレーム有無情報部16aではキュー内にフレームありと認識してスケジューラ部16内のラウンドロビン部16bに通知する。
The tail
スケジューラ部16のトークンカウンタ16cはキュー毎にトークンをカウントしている。トークンは周期的に一定量が加算されると共に、キューからフレームが読み出される度にフレームレングスだけ減算される。なお、カウント値がゼロ又はマイナス値となったキューについてのトークン有無情報はトークンなしを示している。
The token counter 16c of the
ラウンドロビン部16bはトークンカウンタ16cからトークン有無情報を通知され、フレーム有無情報部16aからフレーム有無情報を通知される。ラウンドロビン部16bはラウンドロビン方式で読み出すキューを決定する。ラウンドロビン部16bはトークン及びフレームの両方がある場合にエントリ候補とし、エントリ候補の中からキューの優先度に応じて読み出しを行うキューを決定する。そして、ラウンドロビン部16bはポインタ管理部13のリードポインタ発行部13cに読み出し要求と決定したキュー情報を供給する。この時、トークンもしくはフレームの一方がない場合は読み出し要求を出力しない。
The
リードポインタ発行部13cは決定したキュー情報でキューの先頭ポインタを管理しているヘッドポインタ管理メモリ13dとチェーン管理メモリ14をアクセスすることで、ポインタチェーンをたどってページ単位に読み出しを行うためのリードポインタを順次発行する。
The read pointer issuing unit 13c accesses the head
そして、リードポインタ発行部13cは発行したリードポインタをアドレスとしてバッファ制御部12のリード制御部12bに供給する。リード制御部12bはフレームバッファ15よりページ単位にフレームを読み出す。
Then, the read pointer issuing unit 13c supplies the issued read pointer as an address to the
リードポインタ発行部13cはリードポインタの発行時にチェーン管理メモリ14に格納されている当該フレームのフレームレングスをトークンカウンタ16cの値から減算する。 The read pointer issuing unit 13c subtracts the frame length of the frame stored in the chain management memory 14 from the value of the token counter 16c when the read pointer is issued.
ヘッドポインタ管理メモリ13dはチェーン管理メモリ14に格納されている当該キュー(フレームを読み出したキュー)内の次フレーム(ネクスト・チェーン)がなくなったときにフレーム有無情報部16aの当該キューのフレーム有無情報をフレームなしと更新する。これによりフレーム有無情報部16aではキュー内にフレームなしと認識してスケジューラ部16内のラウンドロビン部16bに通知する。
The head
読み出されたフレームは出力バッファ部17においてポート単位のバッファに一旦格納され、外部へ出力される。
The read frame is temporarily stored in a buffer for each port in the
なお、可変長フレームに対して高速かつ少ないハードウェア規模でQoS制御、廃棄制御等の複雑な制御を実現する大容量フレームスイッチとスケジューリング機能についての提案が従来からなされている(例えば特許文献1参照)。 Conventionally, proposals have been made for a large-capacity frame switch and a scheduling function that realize complex control such as QoS control and discard control at a high speed and with a small hardware scale for variable-length frames (see, for example, Patent Document 1). ).
設定された出力帯域を保証するためには、スケジューラにより読み出すフレームを決定してから、次に読み出すフレームを決定するまでの時間をある一定の周期で行う必要がある。 In order to guarantee the set output bandwidth, it is necessary to perform the time from the determination of the frame to be read by the scheduler to the determination of the next frame to be read at a certain period.
スケジューラ部16はラウンドロビン方式で読み出すキューを決定する際に、トークン及びフレームの両方がある場合にラウンドロビンへのエントリ候補とし、トークンもしくはフレームの一方がない場合は読み出し要求を出力しない。この際に、フレーム有無情報及びトークン有無情報は前のフレームを読み出してからでないと確定しないため、図4に示すように、ラウンドロビンの処理を行う時間T1は、固定のフレーム読み出し周期T2のうち、フレーム有無情報及びトークン有無情報が確定したあとの少しの時間しか割り当てられない。
When determining a queue to be read by the round robin method, the
図4では、時刻t1においてフレームあり、かつ、トークンありであるため、時刻t2でフレーム読み出し要求が出力される。また、時刻t3においてフレームなし、かつ、トークンなしであるため、時刻t4でフレーム読み出し要求は出力されない。 In FIG. 4, since there is a frame and a token at time t1, a frame read request is output at time t2. Also, since there is no frame and no token at time t3, no frame read request is output at time t4.
スケジューラ部16はフレーム有無情報及びトークン有無情報が確定してから読み出し要求を出力するまでの時間をある一定の時間以内に行わなければ伝送レート割れを起こすことになる。そのため、ポインタ管理部13とスケジューラ部16間の情報のやりとりは、高速で行わなければならない。しかし、キューの数が増大すると、スケジューラ部16が各キューを検索して読み出すキューを決定する処理に要する時間が増大し、スケジューラ部16の回路設計が破綻してしまうという問題があった。
The
開示のフレーム出力装置は、フレームの読み出し完了を待たずに次のスケジューリングを先行して行うことを目的とする。 An object of the disclosed frame output apparatus is to perform the next scheduling in advance without waiting for completion of frame reading.
開示の一実施形態によるフレーム出力装置は、入力されたフレームを宛先に応じたキュー毎にフレームバッファに書き込むアドレスを生成し、前記フレームバッファからフレームを読み出すアドレスを生成するポインタ管理手段と、
前記フレームバッファからのフレームの読み出し順序を調整してキュー毎のフレーム読み出し要求を生成するスケジューラ手段と、
前記スケジューラ手段で生成したフレーム読み出し要求を蓄積し、蓄積されているフレーム読み出し要求を順次取り出して前記ポインタ管理手段に供給する要求バッファ手段と、
前記フレームバッファのキュー毎のフレーム蓄積数をカウントして前記スケジューラ手段に伝える蓄積数カウント手段と、
を有し、前記ポインタ管理手段で生成したアドレスで前記フレームバッファから読み出したフレームを出力する。
A frame output device according to an embodiment of the disclosure generates an address for writing an input frame to a frame buffer for each queue according to a destination, and generates a pointer management unit that generates an address for reading the frame from the frame buffer;
Scheduler means for adjusting a frame reading order from the frame buffer and generating a frame reading request for each queue;
Request buffer means for accumulating frame read requests generated by the scheduler means, sequentially taking out the stored frame read requests and supplying them to the pointer management means ;
An accumulated number counting means for counting the number of accumulated frames for each queue of the frame buffer and transmitting it to the scheduler means;
The frame read from the frame buffer is output at the address generated by the pointer management means.
本実施形態によれば、フレームの読み出し完了を待たずに次のスケジューリングを先行して行うことができる。 According to the present embodiment, the next scheduling can be performed in advance without waiting for completion of frame reading.
以下、図面に基づいて実施形態を説明する。 Embodiments will be described below with reference to the drawings.
<イーグレス部の構成>
図5はフレーム出力装置の一例であるイーグレス部の一実施形態の構成図を示す。図5において、スイッチング部2よりフレームが入力され、ヘッダ処理部21に供給される。ヘッダ処理部21はフレームの先頭に図6に示す装置内ヘッダを付加する。
<Configuration of egress section>
FIG. 5 is a configuration diagram of an embodiment of an egress unit which is an example of a frame output device. In FIG. 5, the frame is input from the
図6において、装置内ヘッダは例えば16バイトで構成され、1バイト目に出力クラスや装置内クラスがあり、また、8〜9バイト目にレングス情報としてのフレームレングスがある。そして、15〜16バイト目に宛先キュー情報としての宛先物理ポートと宛先論理ポートがある。 In FIG. 6, the in-device header is composed of, for example, 16 bytes, the output class and the in-device class are in the first byte, and the frame length as length information is in the 8th to 9th bytes. The 15th to 16th bytes include a destination physical port and a destination logical port as destination queue information.
ヘッダ処理部21の出力する装置内ヘッダを付けたフレームはバッファ制御部22に供給され、装置内ヘッダから抽出された宛先キュー情報及びフレームレングスはポインタ管理部23に供給される。
The frame with the in-device header output from the
ポインタ管理部23はフレームバッファ25に対するフレームの書き込みアドレスとしてのライトポインタ及び読み出しアドレスとしてのリードポインタを生成する。ポインタ管理部23のライトポインタ発行部23bは、テールポインタ管理メモリ23a及びチェーン管理メモリ24にアクセスして、宛先キュー情報が示すキューに所定長(例えば256バイト)のページ単位でライトポインタを発行してバッファ制御部22のライト制御部22aに供給する。
The
テールポインタ管理メモリ23aはキューの最後のポインタをキュー毎に管理し、チェーン管理メモリ24はキュー毎にキューのポインタチェーンとフレームレングスを管理している。これにより、ライト制御部22aはライトポインタをアドレスとしてフレームバッファ(メモリ)25にページ単位でフレームを書き込む。
The tail pointer management memory 23a manages the last pointer of the queue for each queue, and the
ライトポインタ発行部23bはライトポインタを発行したことにより、フレーム入力情報であるエンキュー情報をスケジューラ部26のフレーム蓄積カウンタ26aに供給する。これにより、フレーム蓄積カウンタ26aはキュー毎にカウントしているフレーム蓄積数のうち当該キューのフレーム蓄積数をインクリメントしてラウンドロビン部26bに通知する。
The write
スケジューラ部26はフレームバッファ25からのフレームの読み出し順序の調整を行う。スケジューラ部26のトークンカウンタ26cはキュー毎にトークンをカウントしている。トークンは周期的に一定量が加算されると共に、キューからフレームが読み出される度に当該フレームのフレームレングスだけ減算される。
The scheduler unit 26 adjusts the reading order of frames from the
ラウンドロビン部26bはトークンカウンタ26cからキュー毎のトークンつまりトークン有無情報を通知され、フレーム蓄積カウンタ26aからキュー毎のフレーム蓄積数を通知されている。これらを基にラウンドロビン部26bはラウンドロビン方式で読み出すキューを決定する。ラウンドロビン部26bはトークン及びフレーム蓄積数の両方があるキュー(トークンのカウント値がプラス値、かつ、フレーム蓄積数がプラス値)をラウンドロビンへのエントリ候補とし、エントリ候補の中からキューの優先度に応じて読み出しを行うキューを決定する。 The round robin unit 26b is notified of a token for each queue, that is, token presence / absence information from the token counter 26c, and is notified of the number of frames stored for each queue from the frame storage counter 26a. Based on these, the round robin unit 26b determines a queue to be read by the round robin method. The round robin unit 26b uses a queue having both a token and a frame accumulation number (a token count value is a positive value and a frame accumulation number is a positive value) as a round robin entry candidate, and the queue priority is selected from the entry candidates. The queue to be read is determined according to the degree.
この時、ラウンドロビン部26bが使用するトークンカウンタ26cのトークン有無情報は、前に選択した読み出し要求に対するフレーム読み出しがまだ行われておらず、ポインタ管理部23の読み出し要求FIFO23eにまだ蓄積されているため確定前の値である。そして、ラウンドロビン部26bはポインタ管理部23への読み出し要求と決定したキュー情報を読み出し要求FIFO23eに供給し、これと共に、読み出し要求に該当するキューに対するフレーム蓄積カウンタ26aのフレーム蓄積値をデクリメントする。
At this time, the token presence / absence information of the token counter 26c used by the round robin unit 26b has not yet been read out for the previously selected read request, and is still stored in the read request FIFO 23e of the
上記ラウンドロビン部26bから出力されたキュー情報はポインタ管理部23の読み出し要求FIFO23eに格納される。読み出し要求FIFO23eは、n個(nは例えば2〜10程度の固定値)の読み出し要求を格納できる構成であり、読み出し要求FIFO23eが溢れそうになると、読み出し要求FIFO23eからラウンドロビン部26bに対してバックプレッシャを発行し、これによりラウンドロビン部26bはラウンドロビン動作を停止する。
The queue information output from the round robin unit 26b is stored in the read request FIFO 23e of the
ポインタ管理部23のリードポインタ発行部23cは周期的に読み出し要求FIFO23eから読み出し要求を取り出し、取り出した読み出し要求の対象であるキューについてヘッドポインタ管理メモリ23d及びチェーン管理メモリ24にアクセスしてリードポインタを発行する。ヘッドポインタ管理メモリ23dは読み出し要求の対象であるキューの先頭ポインタを管理しており、リードポインタ発行部23cは上記ヘッドポインタ管理メモリ23dの先頭ポインタからチェーン管理メモリ24のポインタチェーンをたどってページ単位にリードポインタを発行する。
The read
そして、リードポインタ発行部23cは発行したリードポインタをアドレスとしてバッファ制御部22のリード制御部22bに供給する。リード制御部22bはページ単位にフレームバッファ25よりフレームを読み出す。
The read
リードポインタ発行部23cは上記読み出し要求の対象であるキューの先頭ポインタのリードポインタ発行時に、チェーン管理メモリ24に格納されいるフレームレングスをトークンカウンタ26cから減算する。本実施形態では、スケジューラ部26の動作をポインタ管理部23の動作に先行させ、読み出し要求を出力しているので、トークンカウンタ26cのカウント値がマイナス値になっても減算を許可している。
The read
フレームバッファ25より読み出されたフレームは出力バッファ部27のポート単位のバッファに一旦格納され、各バッファから外部に出力される。
The frame read from the
このように、スケジューラ部26からの読み出し要求を蓄積する読み出し要求FIFO23eをポインタ管理部23に設け、スケジューラ部26の処理をポインタ管理部23の処理に先行して行い、読み出し要求を読み出し要求FIFO23eに蓄積しておく。
As described above, the read request FIFO 23e for accumulating the read requests from the scheduler unit 26 is provided in the
また、読み出し要求FIFO23eの読み出し要求蓄積数が所定値を超えて、読み出し要求FIFO23eが溢れそうになると、スケジューラ部26に対してバックプレッシャを出力しスケジューリングを停止させる。 Further, when the read request accumulation number of the read request FIFO 23e exceeds a predetermined value and the read request FIFO 23e is about to overflow, a back pressure is output to the scheduler unit 26 to stop scheduling.
これにより、トークン有無情報の確定前に先行してスケジューラ部26を動作させることができ、フレームの読み出し完了を待たずに次のスケジューリング処理を先行して行うことで、読み出し要求を一定周期で出力することが可能となる。 As a result, the scheduler unit 26 can be operated in advance before the token presence / absence information is determined, and the next scheduling process is performed in advance without waiting for the completion of frame reading, thereby outputting a read request at a constant cycle. It becomes possible to do.
また、スケジューラ部26にフレーム蓄積カウンタ26aを設け、読み出し要求出力と同時にフレーム蓄積カウンタ26aをデクリメントする。これにより、チェーン管理メモリ24にアクセスして次フレーム(ネクスト・チェーン)を確認する前にフレーム蓄積カウンタ26aのカウント値であるフレーム有無情報を更新することができ、ポインタチェーンの管理をするポインタ管理部23と、読み出すキューを選択するスケジューラ部26をお互い影響することなく独立させて動作することができるようになる。また、フレーム有無情報を早く確定できるということは、スケジューラ部26を動作させるタイミングを早くできるということになる。その分、ある一定時間で動作させなければならないスケジューリング処理に余裕ができることになる。
Also, the scheduler unit 26 is provided with a frame accumulation counter 26a, and decrements the frame accumulation counter 26a simultaneously with the read request output. This makes it possible to update the frame presence / absence information, which is the count value of the frame accumulation counter 26a, before accessing the
<信号タイミングチャート>
図7に図5の回路各部の信号タイミングチャートを示す。ここでは、フレーム読み出し周期T3は固定である。特定キューについて、フレーム蓄積数=3で、トークン=+50[バイト]であるものとすると、時刻t11においてフレーム読み出し要求が出力され、例えばフレームレングス=100[バイト]のフレームの出力が指示される。これにより、時刻t12にフレーム蓄積数=2となる。しかし、この時点で特定キューからフレームが実際に読み出されたわけではないため、トークン=+50のままである。
<Signal timing chart>
FIG. 7 shows a signal timing chart of each part of the circuit of FIG. Here, the frame readout cycle T3 is fixed. Assuming that the number of accumulated frames = 3 and the token = + 50 [bytes] for the specific queue, a frame read request is output at time t11, for example, an output of a frame of frame length = 100 [bytes] is instructed. As a result, the number of accumulated frames = 2 at time t12. However, since the frame is not actually read from the specific queue at this time, the token remains at +50.
時刻t13においてフレーム読み出し要求が出力され、例えばフレームレングス=100[バイト]のフレームの出力が指示される。これにより、時刻t14にフレーム蓄積数=1となる。この時点でも特定キューからフレームが実際に読み出されたわけではないため、トークン=+50のままである。 At time t13, a frame read request is output, and for example, output of a frame having a frame length of 100 [bytes] is instructed. As a result, the number of accumulated frames = 1 at time t14. At this point in time, since the frame is not actually read from the specific queue, the token remains at +50.
時刻t15においてフレーム読み出し要求が出力され、例えばフレームレングス=100[バイト]のフレームの出力が指示される。これにより、時刻t16にフレーム蓄積数=0となる。この時点でも特定キューからフレームが実際に読み出されたわけではないため、トークン=+50のままである。 At time t15, a frame read request is output, and for example, output of a frame with a frame length = 100 [bytes] is instructed. As a result, the number of accumulated frames = 0 at time t16. At this point in time, since the frame is not actually read from the specific queue, the token remains at +50.
時刻t17においてフレーム読み出し要求(時刻t11の指示)のフレームが実際に出力され、トークン=−50となる。時刻t18では、先の時刻t16でフレーム蓄積数=0となっているため、フレーム読み出し要求は出力されない。 At time t17, the frame of the frame read request (instruction at time t11) is actually output, and token = −50. At time t18, since the number of accumulated frames = 0 at the previous time t16, no frame read request is output.
この後、時刻t19においてフレーム読み出し要求(時刻t13の指示)のフレームが実際に出力され、トークン=−150となる。また、時刻t20においてフレーム読み出し要求(時刻t15の指示)のフレームが実際に出力され、トークン=−250となる。 Thereafter, the frame of the frame read request (instruction at time t13) is actually output at time t19, and token = −150. At time t20, the frame of the frame read request (instruction at time t15) is actually output, and token = −250.
従来ではフレーム情報をチェーン管理メモリ24から読み出さないと、スケジューリングに必要なトークン有無情報とフレーム有無情報を更新できなかった。これに対し、本実施形態では、ポインタ管理部23とスケジューラ部26をお互いに影響を及ぼさず独立に動作する構成としている。つまり、スケジューラ部26はフレーム蓄積カウンタ26a及びトークンカウンタ26cを用いて単独でトークン有無情報とフレーム有無情報を管理している。これにより、スケジューリング処理に余裕ができ、回路を構成するうえでも論理の負荷を削減することができ、将来、キュー数が増加しても対応が可能となる。
(付記1)
入力されたフレームを宛先に応じたキュー毎にフレームバッファに書き込むアドレスを生成し、前記フレームバッファからフレームを読み出すアドレスを生成するポインタ管理手段と、
前記フレームバッファからのフレームの読み出し順序を調整してキュー毎のフレーム読み出し要求を生成するスケジューラ手段と、
前記スケジューラ手段で生成したフレーム読み出し要求を蓄積し、蓄積されているフレーム読み出し要求を順次取り出して前記ポインタ管理手段に供給する要求バッファ手段と、
を有し、
前記ポインタ管理手段で生成したアドレスで前記フレームバッファから読み出したフレームを出力することを特徴とするフレーム出力装置。
(付記2)
付記1記載のフレーム出力装置において、
前記要求バッファ手段は、蓄積されているフレーム読み出し要求を周期的かつ蓄積順に取り出す
ことを特徴とするフレーム出力装置。
(付記3)
付記2記載のフレーム出力装置において、
前記フレームバッファのキュー毎のフレーム蓄積数をカウントして前記スケジューラ手段に伝える蓄積数カウント手段
を有することを特徴とするフレーム出力装置。
(付記4)
付記3記載のフレーム出力装置において、
前記蓄積数カウント手段は、前記ポインタ管理手段で入力されたフレームをキュー毎にフレームバッファに書き込むアドレスを生成したときキュー毎にフレーム蓄積数をインクリメントし、前記スケジューラ手段で生成したフレーム読み出し要求によりキュー毎にフレーム蓄積数をデクリメントする
ことを特徴とするフレーム出力装置。
(付記5)
入力されたフレームを宛先に応じたキュー毎にフレームバッファに書き込むアドレスを生成する第1ステップと、
前記フレームバッファからのフレームの読み出し順序を調整してキュー毎のフレーム読み出し要求を生成する第2ステップと、
前記第2ステップで生成したフレーム読み出し要求を蓄積し、蓄積されているフレーム読み出し要求を順次取り出す第3ステップと、
前記第3ステップで取り出されたフレーム読み出し要求により前記フレームバッファからフレームを読み出すアドレスを生成する第4ステップと、
を有し、
前記第4ステップで生成したアドレスで前記フレームバッファから読み出したフレームを出力することを特徴とするフレーム出力方法。
(付記6)
付記5記載のフレーム出力方法において、
前記第3ステップは、蓄積されているフレーム読み出し要求を周期的かつ蓄積順に取り出す
ことを特徴とするフレーム出力方法。
(付記7)
付記6記載のフレーム出力方法において、
前記フレームバッファのキュー毎のフレーム蓄積数をカウントして前記第2ステップに伝える第5ステップ
を有することを特徴とするフレーム出力方法。
(付記8)
付記7記載のフレーム出力方法において、
前記第5ステップは、前記第1ステップで入力されたフレームをキュー毎にフレームバッファに書き込むアドレスを生成したときキュー毎にフレーム蓄積数をインクリメントし、前記第2ステップで生成したフレーム読み出し要求によりキュー毎にフレーム蓄積数をデクリメントする
ことを特徴とするフレーム出力方法。
(付記9)
付記4記載のフレーム出力装置において、
前記要求バッファ手段は、フレーム読み出し要求の蓄積数が所定値を超えると、前記スケジューラ手段の動作を停止させる
ことを特徴とするフレーム出力装置。
Conventionally, unless frame information is read from the
(Appendix 1)
Pointer management means for generating an address for writing the input frame to the frame buffer for each queue corresponding to the destination, and generating an address for reading the frame from the frame buffer;
Scheduler means for adjusting a frame reading order from the frame buffer and generating a frame reading request for each queue;
Request buffer means for accumulating frame read requests generated by the scheduler means, sequentially taking out the stored frame read requests and supplying them to the pointer management means;
Have
A frame output device for outputting a frame read from the frame buffer at an address generated by the pointer management means.
(Appendix 2)
In the frame output device according to
The frame output apparatus characterized in that the request buffer means fetches stored frame read requests periodically and in the order of storage.
(Appendix 3)
In the frame output device according to
A frame output device comprising: an accumulation number counting means for counting the number of accumulated frames for each queue of the frame buffer and transmitting the counted number to the scheduler means.
(Appendix 4)
In the frame output device according to
The accumulation number counting means increments the frame accumulation number for each queue when generating an address for writing the frame input by the pointer management means to the frame buffer for each queue, and queues it according to the frame read request generated by the scheduler means. A frame output device that decrements the number of accumulated frames every time.
(Appendix 5)
A first step of generating an address for writing an input frame to a frame buffer for each queue corresponding to a destination;
A second step of adjusting a frame reading order from the frame buffer to generate a frame reading request for each queue;
A third step of accumulating the frame read requests generated in the second step and sequentially taking out the accumulated frame read requests;
A fourth step of generating an address for reading a frame from the frame buffer in response to the frame read request extracted in the third step;
Have
A frame output method comprising: outputting a frame read from the frame buffer at the address generated in the fourth step.
(Appendix 6)
In the frame output method according to
3. The frame output method according to
(Appendix 7)
In the frame output method according to attachment 6,
A frame output method comprising a fifth step of counting the number of accumulated frames for each queue of the frame buffer and transmitting it to the second step.
(Appendix 8)
In the frame output method according to
In the fifth step, when an address for writing the frame input in the first step to the frame buffer is generated for each queue, the frame accumulation number is incremented for each queue, and the frame is read by the frame read request generated in the second step. A frame output method comprising decrementing the number of accumulated frames every time.
(Appendix 9)
In the frame output device according to
The request buffer means stops the operation of the scheduler means when the accumulated number of frame read requests exceeds a predetermined value.
1 イングレス部
2 スイッチング部
23 イーグレス部
21 ヘッダ処理部
22 バッファ制御部
22a ライト制御部
22b リード制御部
23 ポインタ管理部
23a テールポインタ管理メモリ
23b ライトポインタ発行部
23c リードポインタ発行部
23d ヘッドポインタ管理メモリ
23e 読み出し要求FIFO
24 チェーン管理メモリ
25 フレームバッファ
26 スケジューラ部
26a フレーム蓄積カウンタ26a
26b ラウンドロビン部
26c トークンカウンタ
27 出力バッファ部
DESCRIPTION OF
24
26b Round robin
Claims (4)
前記フレームバッファからのフレームの読み出し順序を調整してキュー毎のフレーム読み出し要求を生成するスケジューラ手段と、
前記スケジューラ手段で生成したフレーム読み出し要求を蓄積し、蓄積されているフレーム読み出し要求を順次取り出して前記ポインタ管理手段に供給する要求バッファ手段と、
前記フレームバッファのキュー毎のフレーム蓄積数をカウントして前記スケジューラ手段に伝える蓄積数カウント手段と、
を有し、
前記ポインタ管理手段で生成したアドレスで前記フレームバッファから読み出したフレームを出力することを特徴とするフレーム出力装置。 Pointer management means for generating an address for writing the input frame to the frame buffer for each queue corresponding to the destination, and generating an address for reading the frame from the frame buffer;
Scheduler means for adjusting a frame reading order from the frame buffer and generating a frame reading request for each queue;
Request buffer means for accumulating frame read requests generated by the scheduler means, sequentially taking out the stored frame read requests and supplying them to the pointer management means;
An accumulated number counting means for counting the number of accumulated frames for each queue of the frame buffer and transmitting it to the scheduler means;
Have
A frame output device for outputting a frame read from the frame buffer at an address generated by the pointer management means.
前記要求バッファ手段は、蓄積されているフレーム読み出し要求を周期的かつ蓄積順に取り出す
ことを特徴とするフレーム出力装置。 The frame output device according to claim 1, wherein
The frame output apparatus characterized in that the request buffer means fetches stored frame read requests periodically and in the order of storage.
前記蓄積数カウント手段は、前記ポインタ管理手段で入力されたフレームをキュー毎にフレームバッファに書き込むアドレスを生成したときキュー毎にフレーム蓄積数をインクリメントし、前記スケジューラ手段で生成したフレーム読み出し要求によりキュー毎にフレーム蓄積数をデクリメントする
ことを特徴とするフレーム出力装置。 The frame output device according to claim 2 , wherein
The accumulation number counting means increments the frame accumulation number for each queue when generating an address for writing the frame input by the pointer management means to the frame buffer for each queue, and queues it according to the frame read request generated by the scheduler means. A frame output device that decrements the number of accumulated frames every time.
前記フレームバッファからのフレームの読み出し順序を調整してキュー毎のフレーム読み出し要求を生成する第2ステップと、
前記第2ステップで生成したフレーム読み出し要求を蓄積し、蓄積されているフレーム読み出し要求を順次取り出す第3ステップと、
前記フレームバッファのキュー毎のフレーム蓄積数をカウントして前記第2ステップに伝える第4ステップと、
前記第3ステップで取り出されたフレーム読み出し要求により前記フレームバッファからフレームを読み出すアドレスを生成する第5ステップと、
を有し、
前記第5ステップで生成したアドレスで前記フレームバッファから読み出したフレームを出力することを特徴とするフレーム出力方法。 A first step of generating an address for writing an input frame to a frame buffer for each queue corresponding to a destination;
A second step of adjusting a frame reading order from the frame buffer to generate a frame reading request for each queue;
A third step of accumulating the frame read requests generated in the second step and sequentially taking out the accumulated frame read requests;
A fourth step of counting the number of accumulated frames per queue of the frame buffer and communicating it to the second step;
A fifth step of generating an address for reading a frame from the frame buffer in response to the frame read request fetched in the third step;
Have
A frame output method comprising: outputting a frame read from the frame buffer at the address generated in the fifth step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009198486A JP5359692B2 (en) | 2009-08-28 | 2009-08-28 | Frame output method and frame output device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009198486A JP5359692B2 (en) | 2009-08-28 | 2009-08-28 | Frame output method and frame output device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011049983A JP2011049983A (en) | 2011-03-10 |
JP5359692B2 true JP5359692B2 (en) | 2013-12-04 |
Family
ID=43835837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009198486A Expired - Fee Related JP5359692B2 (en) | 2009-08-28 | 2009-08-28 | Frame output method and frame output device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5359692B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5737039B2 (en) * | 2011-07-25 | 2015-06-17 | 富士通株式会社 | Packet transmission device, memory control circuit, and packet transmission method |
JP6212059B2 (en) * | 2015-01-19 | 2017-10-11 | 日本電信電話株式会社 | Communication input / output device |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11177571A (en) * | 1997-12-15 | 1999-07-02 | Oki Electric Ind Co Ltd | Shaping device |
JPH11355304A (en) * | 1998-06-11 | 1999-12-24 | Fujitsu Ltd | Cell buffer and atm node |
JP2002368799A (en) * | 2001-06-04 | 2002-12-20 | Oki Electric Ind Co Ltd | Band controller |
JP2006197235A (en) * | 2005-01-13 | 2006-07-27 | Fujitsu Ltd | Packet shaping device |
JP4279281B2 (en) * | 2005-10-14 | 2009-06-17 | 日本電信電話株式会社 | Packet communication quality control apparatus and packet communication quality control method |
JP5115066B2 (en) * | 2007-07-12 | 2013-01-09 | 富士通株式会社 | Packet transmission method and apparatus |
-
2009
- 2009-08-28 JP JP2009198486A patent/JP5359692B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011049983A (en) | 2011-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7742408B2 (en) | System and method for filtering packets in a switching environment | |
US7751404B2 (en) | Method, system, and computer program product for high performance bonding resequencing | |
CN112084136B (en) | Queue cache management method, system, storage medium, computer device and application | |
US8943507B2 (en) | Packet assembly module for multi-core, multi-thread network processors | |
US9258256B2 (en) | Inverse PCP flow remapping for PFC pause frame generation | |
US20160006580A1 (en) | Reordering pcp flows as they are assigned to virtual channels | |
JP2021119386A (en) | Device and method for transferring data | |
US8230137B2 (en) | Network processor, reception controller and data reception processing method performing direct memory access transfer | |
JP5359692B2 (en) | Frame output method and frame output device | |
KR101052809B1 (en) | Memory control device, memory control method and information processing device | |
US9515946B2 (en) | High-speed dequeuing of buffer IDS in frame storing system | |
US9264256B2 (en) | Merging PCP flows as they are assigned to a single virtual channel | |
US10637780B2 (en) | Multiple datastreams processing by fragment-based timeslicing | |
JP5360594B2 (en) | DMA transfer apparatus and method | |
US9892088B2 (en) | Data processing system and method of controlling access to a shared memory unit | |
CN116889024A (en) | Data stream transmission method, device and network equipment | |
JP6127872B2 (en) | Arithmetic processing device and control method of arithmetic processing device | |
JP5428653B2 (en) | Memory access processing apparatus and method | |
JP4769316B2 (en) | Packet queuing apparatus and packet queuing method | |
JP5803000B2 (en) | DMA device, information processing device, and data transfer method | |
JP2004253960A (en) | Data transfer apparatus | |
JP2005027029A (en) | Variable length frame buffer device | |
KR100462478B1 (en) | Apparatus of transmitting and receiving variable length packet, and method thereof | |
JP5702268B2 (en) | Optical subscriber unit and frame transmission amount identification method | |
CN117834553A (en) | High-speed data stream aggregation type queue management method and device supporting PFC protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120510 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130307 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130416 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130531 |
|
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: 20130806 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130819 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |