JP6212059B2 - 通信用入出力装置 - Google Patents
通信用入出力装置 Download PDFInfo
- Publication number
- JP6212059B2 JP6212059B2 JP2015007491A JP2015007491A JP6212059B2 JP 6212059 B2 JP6212059 B2 JP 6212059B2 JP 2015007491 A JP2015007491 A JP 2015007491A JP 2015007491 A JP2015007491 A JP 2015007491A JP 6212059 B2 JP6212059 B2 JP 6212059B2
- Authority
- JP
- Japan
- Prior art keywords
- output
- fifo
- frame data
- input
- communication data
- 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.)
- Active
Links
Images
Landscapes
- Time-Division Multiplex Systems (AREA)
Description
この通信用入出力装置は、多重化装置MUX、記録装置MEM、および多重分離装置DEMUXから構成されている。
MEMは、MUXから時分割多重で出力されたフレームデータを書き込み制御部により受け取り、各フレームデータに付加されているキュー指定情報とキューマップとを参照し、内蔵するメモリ(DRAMチップ)内にフレームデータの出力先ごとに論理的に設けたキューのうち、キュー指定情報と対応するキューのアドレスへフレームデータを書き込む。また、MEMは、DEMUXからの指示に応じて、読出制御部により対応するキューからフレームデータを読み出して、DEMUXに出力する。
ここで、MEMに外付けする外部メモリとして、DRAMチップを使用した場合、write/readアクセスの実効スループットがデータバスの速度より小さくなり、特に短フレームデータが連続入力すると、極端に実効スループットが低下するという問題点がある。
しかしながら、このような構成において、出力ポート数が多くなると、入力FIFO等の数も多くなるため、ハードウェア規模が増大してしまうという問題点がある。
DEMUXにおいて、FIFO書き込み制御部は、MUX内のキュー指定情報付加部により付加されたキュー指定情報に従って、対応する系統(0系もしくは1系)の入力FIFOへ、もしくはアクセス調停部を介して出力FIFOへ、MUXから受け取ったフレームデータを書き込む。
例えば、出力ポートPout0宛てのフレームデータであれば、入力FIFO(0系)もしくは出力FIFO(0系)にフレームデータを書き込み、出力ポートPout1宛てのフレームデータであれば、入力FIFO(1系)もしくは出力FIFO(1系)にフレームデータを書き込む。
図12に示したアクセス調停部の構成例において、アクセス調停部は0系/1系の出力FIFOからの書込許可入力に対応して以下の様に動作する。
出力FIFO(0系)からの書込許可入力が許可状態で、入力FIFO(0系)にも入力FIFO(0系)に対応した外部メモリの領域(アドレス)にもフレームデータが蓄積されていない場合、FIFO書き込み制御部に対して、出力FIFO(0系)への書き込みが可能であることを出力し、FIFO書き込み制御部から入力されるフレームデータが出力ポートPout0(0系)宛てとなっていた場合、出力FIFO(0系)へのフレームデータの書き込みを行う。
なお、この状態Aでは、FIFO書き込み制御部から入力FIFO(0系)へのフレームデータの書き込みも、入力FIFO(0系)からのフレームデータの転送も、入力FIFO(0系)に対応した外部メモリの領域からのフレームデータの転送も行われない。
出力FIFO(0系)からの書込許可入力が禁止(非許可)状態の場合、FIFO書き込み制御部に対して出力FIFO(0系)への書き込みは不可であることを出力し、入力FIFO(0系)に蓄積されているフレームデータのサイズ(バイト数)の合計が所定の値(フレームデータの最少サイズより大きい値を設定)より大きくなった場合、入力FIFO(0系)内のフレームデータをまとめて外部メモリの入力FIFO(0系)に対応する領域(アドレス)に転送する。
外部メモリへの転送では、入力FIFOごとに異なるメモリ領域(アドレス)に対してフレームデータの書き込みを行い、入力FIFOごとに転送したフレームデータのサイズ(バイト数)の累積値を管理する。外部メモリへの転送に使用するアドレス(writeポインタ)の値は、例えば、初期値をキューマップの設定で決定し、転送ごとに、writeポインタを更新する。
この状態では、FIFO書き込み制御部から入力FIFO(0系)へフレームデータの書き込みが行われ、FIFO書き込み制御部から出力FIFO(0系)へのフレームデータの書き込み、入力FIFO(0系)から出力FIFO(0系)へのフレームデータの転送、および、入力FIFO(0系)に対応したDRAMチップ等のメモリの領域からのフレームデータの転送は行われない。
出力FIFO(0系)からの書込許可入力が許可状態で、入力FIFO(0系)に対応した外部メモリの領域(アドレス)にフレームデータが蓄積されている場合、FIFO書き込み制御部に対して、出力FIFO(0系)への書き込みが不可であることを出力し、入力FIFO(0系)に蓄積されているフレームデータのサイズ(バイト数)の合計が所定の値(フレームデータの最少サイズより大きい値を設定)より大きくなった場合、入力FIFO(0系)内のフレームデータをまとめて外部メモリの入力FIFO(0系)に対応する領域(アドレス)に転送する。
外部メモリへの転送は、入力FIFOごとに異なるメモリ領域(アドレス)に対してフレームデータの書き込みを行い、入力FIFOごとに転送したフレームデータのサイズ(バイト数)の累積値を管理する。
また、入力FIFO(0系)に対応した外部メモリの領域(アドレス)に蓄積されているフレームデータを出力FIFO(0系)に対して転送する。この転送は、他の状態に遷移するか、もしくは、入力FIFO(0系)に対応した外部メモリの領域(アドレス)に蓄積されているフレームデータがなくなるまで行う。
この状態では、FIFO書き込み制御部から入力FIFO(0系)へのフレームデータの書き込みが行われ、FIFO書き込み制御部から出力FIFO(0系)へのフレームデータの書き込み、入力FIFO(0系)から出力FIFO(0系)へのフレームデータの転送は行われない。
出力FIFO(0系)からの書込許可入力が許可状態で、入力FIFO(0系)に対応した外部メモリの領域(アドレス)にフレームデータが蓄積されていないが、入力FIFO(0系)にフレームデータが蓄積されている場合、FIFO書き込み制御部に対して出力FIFO(0系)への書き込みが不可であることを出力し、入力FIFO(0系)内のデータを出力FIFO(0系)に転送する。この転送は、他の状態に遷移するか、もしくは、入力FIFO(0系)に蓄積されているフレームデータがなくなるまで行う。
なお、上述した状態A〜Dについては、出力FIFO(0系)からの書込許可入力に対応する動作について説明したが、出力FIFO(1系)からの書込許可入力に対してもアクセス調停部は同様に動作する。
次に、外部メモリとしてDRAMチップを用いる場合における、図11の構成のスループットを、図10の構成のスループットと比較する。DRAMチップへの転送もしくはDRAMチップからの転送におけるスループットは、1回の転送のデータサイズに依存する。
DRAMチップのビット幅×動作クロック速度×TD/(TO+TD)…(1)
オーバーヘッド時間TOは、DRAMチップの仕様で決まる固定値であり、転送時のデータサイズが小さいほどスループットが小さくなる。
例えば、DRAMチップのビット幅が32、動作クロック速度が312.5MHz、TOが16nsだとすると最小フレームデータ長(64Byte)のフレームデータが連続した場合、式(1)のTDは、次の式(2)となる。
TD=64[Byte]×8/(32×312.5[MHz])=51.2ns…(2)
32[bit]×312.5[MHz]×51.2[ns]/(16[ns]+51.2[ns])=約7.6[gbit/s]…(3)
DRAMチップのバスの速度は、32[bit]×312.5[MHz]の場合、10Gbit/sに相当するが、これに対して、式(3)のスループットは2割以上低下していることが分かる。
TDの最小値=1000[Byte]×8/(32×312.5[MHz])=800ns…(4)
32[bit]×312.5[MHz]×800[ns]/(16[ns]+800[ns])=約9.8[Gbit/s] …(5)
したがって、外部メモリから出力FIFOへの転送においても、図11の構成で、1回の転送で転送するデータのサイズを最小フレームデータ長(64Byte)より大きくすることで、同様にスループットの低下を抑制できる。
[第1の実施の形態]
まず、図1を参照して、本発明の第1の実施の形態にかかる通信用入出力装置100について説明する。図1は、第1の実施の形態にかかる通信用入出力装置の構成を示すブロック図である。
多重分離装置20は、多重化装置10から出力されたフレームデータを、当該フレームデータに付加されている出力先情報に基づき分離し、当該出力先情報と対応する出力系統の出力FIFO25へ書き込む機能を有している。
記録装置30は、複数のキューにより通信データを出力系統ごとに一時蓄積する機能を有している。
次に、図1を参照して、本実施の形態にかかる通信用入出力装置100で用いられる多重化装置10について詳細に説明する。
多重化装置10には、主な回路部として、キュー指定情報付加部11と多重化部12が設けられている。
多重化部12は、各キュー指定情報付加部11に共通して1つ設けられて、各キュー指定情報付加部11から出力されたフレームデータを時分割で多重化して、多重分離装置20へ出力する機能を有している。
次に、図1を参照して、本実施の形態にかかる通信用入出力装置100で用いられる多重分離装置20について詳細説明する。
多重分離装置20には、主な回路部として、FIFO書き込み制御部21、入力FIFO22、キューマップ23、アクセス調停部24、出力FIFO25、および出力FIFO読み出し制御部26が設けられている。
キューマップ23は、フレームデータに付加されているキュー指定情報と出力系統(出力ポートPout)との対応関係をマッピング情報として記憶する機能を有している。この対応関係は、1対1に限らず、多対1、1対多、多対多の場合もありうる。これら対応関係は、装置外部(例えば外部の制御装置等)からの信号入力により設定できるようにしてもよい。
複数の出力ポートを持つ通信装置においては、通常、出力ポートごとの実効出力レート(単位時間当たりの平均データ量)が同等に(公平に)なることが望まれる。ただし、入力されるフレームデータの出力先が特定の出力ポートに偏る場合もあるので、アクセス調停部24では、このようなケースも考慮して優先制御が行われる。
次に、図1を参照して、本実施の形態にかかる通信用入出力装置100で用いられる記録装置30について詳細説明する。
記録装置30には、主な回路部として、メモリ31、書き込み制御部32、読み出し制御部33、および論理キュー設定情報保持部34が設けられている。
次に、本実施の形態にかかる通信用入出力装置100の動作として、多重化装置10、多重分離装置20および記録装置30の動作について詳細に説明する。
まず、多重化装置10の動作について説明する。
キュー指定情報付加部11は、対応する入力ポートPinから順次入力されるフレームデータに対して、当該フレームデータの出力先に対応するキュー指定情報を付加して多重化部12へ出力する。
多重化部12は、各キュー指定情報付加部11から出力されたフレームデータを時分割で多重化して、多重分離部20へ出力する。
次に、多重分離装置20の動作について説明する。
FIFO書き込み制御部21は、多重化装置10から出力されたフレームデータを受け取り、多重化装置10によりフレームデータに付加されているキュー指定情報により当該フレームデータに対応する出力系統を特定し、アクセス調停部24に対して、出力系統の出力FIFO25へのフレームデータの書き込み指示、または0系/1系共用の入力FIFO22に対するフレームデータの書き込みを行う。
(2)出力FIFO(0系)25への書き込みは可能であるが、出力FIFO(1系)25への書き込みが不可の場合、アクセス調停部24を介した出力FIFO(0系)25への書き込み、もしくは、入力FIFO22への書き込みを行う。
(4)出力FIFO25(0系)25、出力FIFO(1系)25が共に書き込み可能な場合、アクセス調停部24を介して、フレームデータに対応する出力系統の出力FIFO(0系)25、もしくは、出力FIFO(1系)25への書き込みを行う。
セレクタ(0系)24Aは、FIFO書き込み制御部21からのフレームデータ、入力FIFO22からのフレームデータ、もしくは、IF制御部24Bで受け取った記録装置30からのフレームデータのうちのいずれか1つを選択して、出力FIFO(0系)25へ出力する機能を有している。
状態B,C,Dにおいて、出力FIFO(0系)25が書き込み可状態で、出力FIFO(0系)25に対応する、記録装置30内のキューにフレームデータが蓄積されておらず、入力FIFO22内に出力ポートPout0(0系)宛てのフレームデータが蓄積されていない場合、アクセス調停部24は状態Aに遷移し、FIFO書き込み制御部21に対して、出力FIFO(0系)25への書き込みが可能であることを出力する。
状態A,C,Dにおいて、出力FIFO(0系)25が書き込み不可状態となった場合、アクセス調停部24は状態Bに遷移する。この状態Bにおいて、アクセス調停部24は、FIFO書き込み制御部21に対して出力FIFO(0系)25への書き込みが不可であることを出力し、入力FIFO22に蓄積されているフレームデータの蓄積量(バイト数)の合計が、予め設定されているしきい値(フレームデータの最少サイズより大きい値を設定)を超えた場合に、入力FIFO22内のフレームデータをまとめて記録装置30に転送する。
記録装置30に対するフレームデータの転送は、複数の出力系統宛てのフレームデータもまとめて転送するが、転送したフレームデータのサイズ(バイト数)の累積値を出力系統ごとに管理する。
状態Bにおいて、出力FIFO(0系)25が書き込み可状態となり、0系に対応した記録装置30のキューにフレームデータが蓄積されている場合、アクセス調停部24は状態Cに遷移する。この状態Cにおいて、アクセス調停部24は、FIFO書き込み制御部21に対して、出力FIFO(0系)25への書き込みが不可であることを出力し、入力FIFO22に蓄積されているフレームデータのサイズ(バイト数)の合計がしきい値(フレームデータの最少サイズより大きい値を設定)を超えた場合に、状態Bと同様にして入力FIFO22内のフレームデータをまとめて記録装置30に転送する。
記録装置30へのフレームデータ転送時には、状態Bと同様、出力FIFO25ごとに転送したフレームデータのサイズ(バイト数)の累積値を管理する。
状態B,Cにおいて、出力FIFO(0系)25が書き込み可状態で、0系に対応した記録装置30のキューにフレームデータが蓄積されておらず、入力FIFO22に0系宛てフレームデータが蓄積されている場合、アクセス調停部24は、FIFO書き込み制御21部に対して出力FIFO(0系)25への書き込みが不可であることを出力し、入力FIFO22内の0系宛てのフレームデータを出力FIFO(0系)25に転送する。この転送は、他の状態に遷移するか、もしくは、入力FIFO22に蓄積されている0系宛てのフレームデータがなくなるまで行う。
次に、記録装置30の動作について説明する。
書き込み制御部32は、多重分離装置20のアクセス調停部24から転送されたフレームデータを、当該フレームデータに付加されているキュー指定情報に対応したメモリ31のキューに書き込む。この際、入力FIFO22には、前述したように、異なる出力系統宛てのフレームデータが混在して蓄積されるため、このような混在した状態でフレームデータが書き込み制御部32に入力される。したがって、書き込み制御部32は、入力されたそれぞれのフレームデータごとに、どのキューに書き込むかを識別して該当のキューに書き込む。
このように、本実施の形態は、多重分離装置20に、各出力FIFO25へ書き込みできなかった通信データを一時蓄積する入力FIFO22を各出力系統に共通して設け、入力FIFO22における通信データの蓄積状況に応じて、入力FIFO22に蓄積されている通信データを記録装置30へ転送し、任意の出力系統の出力FIFO25が書き込み可状態となった時点で、記録装置30および入力FIFO22の順に当該出力系統の通信データを読み出して当該出力FIFO25へ書き込むものとし、記録装置30が、多重分離装置20から転送された通信データを、当該通信データに付加されている出力先情報と対応する出力系統のキューに書き込むようにしたものである。
次に、本実施の形態にかかる構成のスループットを、図11の従来構成と比較する。
従来構成において、フレームデータを入力FIFOからDRAMチップへの転送を行うか否かを判定する際の用いる、入力FIFOに蓄積されているフレームデータのサイズ(バイト数)の合計値を、例えば1000Byteとすると、従来構成でスループットが最低となる条件は、転送サイズが常に1000Byteで、かつ、転送ごとにDRAMチップのraw addressが変わる場合である。したがって、従来構成によれば、DRAMチップへの書き込みおよび読み出し共にキュー単位となり、キューごとにraw addressが変わる可能性が高く、転送サイズが常に1000Byteの場合は、実効スループットが最低値に近い値となる可能性が高い。
また、本実施の形態によれば、複数のDRAMチップを1つのキューだけで使用する場合も、同じキューへのアクセスしかしないので、raw addressが変わる頻度が小さくなり、転送サイズ等を同じ条件で比較すると、従来構成より、スループットの低下が小さくなり、実効スループットが大きくなる。
32[bit]×312.5[MHz]×51.2[ns]/(16[ns]+51.2[ns])=約7.6[Gbit/s] …(6)
(TD=64[Byte]×8/(32×312.5[MHz])=51.2ns)
次に、本発明の第2の実施の形態にかかる通信用入出力装置100について説明する。
本実施の形態は、第1の実施の形態と比較して、読み出し開始アドレスを用いずに読み出しを行う点が異なる。以下に、本実施の形態と第1の実施の形態との差分について説明する。なお、記録装置30の回路構成は図1と同様である。
したがって、本実施の形態において、アクセス調停部24は、読み出しに使用するアドレス(readポインタ)を管理せず、読み出し時には読み出しデータサイズ(バーストサイズ)とキュー情報のみを指示する。
このように、本実施の形態は、書き込み制御部32が、アクセス調停部24から指示された、読み出し対象となるキューを識別するためのキュー情報に基づいて、当該キューに関するメモリ31上でのアドレス情報を特定し、当該アドレス情報に基づいて、メモリ31から対応するキューに蓄積されているフレームデータを読み出してアクセス調停部24へ転送するようにしたものである。
これにより、第1の実施の形態と同様の効果が得られるのに加えて、アクセス調停部24からの開始アドレスの指示が不要なので、アクセス調停部24のハードウェア規模を削減することが可能となる。
次に、本発明の第3の実施の形態にかかる通信用入出力装置100について説明する。
本実施の形態は、第1の実施の形態と比較して、キュー情報として、出力ポートIDもしくはユーザIDを用い、このキュー情報に対応するキューに蓄積されているフレームデータを、優先度の高い論理キューから順番に出力する点が異なる。以下に、本実施の形態と第2の実施の形態との差分を説明する。なお、記録装置30の回路構成は図1と同様である。
したがって、本実施の形態において、アクセス調停部24は、読み出しに使用するアドレス(readポインタ)を管理せず、読み出し時には読み出しデータサイズ(バーストサイズ)と出力ポートID(出力FIFO25ごとのID)もしくはユーザIDのみを指示する。なお、ユーザIDを指示する場合は、アクセス調停部24でユーザIDごとに対応する出力ポートIDを管理する。
読み出し制御部33は、アクセス調停部24から指示された出力ポートIDもしくはユーザIDに対応するキューのreadポインタを読み出し開始アドレスとする。また、各キューのreadポインタの値は、初期値を論理キュー設定情報保持部34内の該当キューの先頭アドレスとし、読み出し完了ごとに、該当キューのreadポインタを更新する。
このように、本実施の形態は、書き込み制御部32が、アクセス調停部24から指示された、読み出し対象となるフレームデータに関連するユーザIDまたは出力系統に関連する出力ポートIDに基づいて、対応するキューに関するメモリ31上でのアドレス情報を特定し、当該アドレス情報に基づいて、メモリ31から対応するキューに蓄積されているフレームデータを読み出してアクセス調停部24へ転送し、対応するキューが複数存在する場合は、最も優先度の高いキューから順にフレームデータを読み出してアクセス調停部24へ転送するようにしたものである。
これにより、第1の実施の形態と同様の効果が得られるのに加えて、アクセス調停部24における優先制御のためのハードウェアの一部を削減でき、アクセス調停部24にかかるハードウェア規模を削減することが可能となる。
次に、図4を参照して、本発明の第4の実施の形態にかかる通信用入出力装置100について説明する。図4は、第4の実施の形態にかかるアクセス調停部の要部を示す回路構成例である。
本実施の形態は、第1の実施の形態と比較して、多重分離装置20のアクセス調停部24において、入力FIFO22から各出力FIFO25に対応するセレクタ24Aへの直接転送を行わない点が異なる。
セレクタ(1系)24Aは、FIFO書き込み制御部21からのフレームデータ、もしくは、IF制御部24Bから受け取った記録装置30からのフレームデータを出力FIFO(1系)25へ出力する機能を有している。
状態B,Cにおいて、出力FIFO(0系)25が書き込み可状態で、出力FIFO(0系)25に対応する、記録装置30内のキューにフレームデータが蓄積されておらず、入力FIFO22内に出力ポートPout0(0系)宛てのフレームデータが蓄積されていない場合、アクセス調停部24は状態Aに遷移し、FIFO書き込み制御部21に対して、出力FIFO(0系)25への書き込みが可能であることを出力する。
状態A,Cにおいて、出力FIFO(0系)25が書き込み不可状態となった場合、アクセス調停部24は状態Bに遷移する。この状態Bにおいて、アクセス調停部24は、FIFO書き込み制御部21に対して出力FIFO(0系)25への書き込みは不可であることを出力し、入力FIFO22に蓄積されているフレームデータのサイズ(バイト数)の合計が、予め設定されているしきい値(フレームデータの最少サイズより大きい値を設定)を超えた場合に、入力FIFO22内のフレームデータをまとめて記録装置30に転送する。
記録装置30に対するフレームデータの転送は、出力系統宛てのフレームデータをまとめて転送するが、転送したフレームデータのサイズ(バイト数)の累積値を出力系統ごとに管理する。
状態Bにおいて、出力FIFO(0系)25が書き込み可状態となり、0系に対応した記録装置30のキューにフレームデータが蓄積されている場合、アクセス調停部24は状態Cに遷移する。この状態Cにおいて、アクセス調停部24は、FIFO書き込み制御部21に対して、出力FIFO(0系)25への書き込みが不可であることを出力し、入力FIFO22に蓄積されているフレームデータのサイズ(バイト数)の合計がしきい値(フレームデータの最少サイズより大きい値を設定)を超えた場合に、状態Bと同様にして入力FIFO22内のフレームデータをまとめて記録装置30に転送する。
記録装置30に対するフレームデータの転送は、複数の出力系統宛てのフレームデータもまとめて転送するが、転送したフレームデータのサイズ(バイト数)の累積値を出力系統ごとに管理する。
なお、本実施の形態の構成は、第1の実施例と同様、状態B,Cにおいて、入力FIFO22から記録装置30へのフレームデータの転送を行う際には、複数の出力系統宛てのフレームデータをまとめて転送する。
このように、本実施の形態は、アクセス調停部24が、出力FIFO25ごとに設けられたセレクタ24A、および、記録装置30との間でフレームデータの転送を行うIF制御部24Bを有し、セレクタ24Aは、FIFO書き込み制御部21からのフレームデータ、もしくはIF制御部24Bからのフレームデータのいずれか1つを選択して対応する出力FIFO25へ書き込み、IF制御部24Bは、入力FIFO22から記録装置30へフレームデータを転送し、記録装置30から転送されたフレームデータを対応するセレクタ24Aへ出力するようにしたものである。
これにより、第1〜第3の実施の形態と同様の効果が得られるのに加えて、入力FIFO22から出力FIFO25への転送のためのハードウェアを省くことができ、アクセス調停部24のハードウェア規模を削減できる。
次に、図6を参照して、本発明の第5の実施の形態にかかる通信用入出力装置100について説明する。図6は、第5の実施の形態にかかる通信用入出力装置の構成を示すブロック図である。
また、出力FIFO(MC系)27からの読み出し要求があり、その他の出力FIFO25に1フレームデータ以上のフレームデータが蓄積されていない場合、出力FIFO(MC系)27からマルチキャスト用フレームデータを読み出して、対応する出力ポートPout0,Pout1から出力する。
このように、本実施の形態は、多重分離装置20に、マルチキャスト用の出力系統であるMC系統としてマルチキャスト用出力FIFO27を設け、アクセス調停部24から書き込まれたマルチキャスト用フレームデータを順次蓄積し、出力ポートPout0,Pout1ごとに設けられた出力FIFO読み出し制御部26からの読み出し要求に応じて、蓄積しているマルチキャスト用フレームデータを読み出して出力するとともに、当該マルチキャスト用フレームデータの出力先となるすべての出力FIFO読み出し制御部26への出力が完了するまで当該マルチキャスト用フレームデータを保持するようにしたものである。
これにより、第1の実施の形態と同様の効果が得られるのに加えて、マルチキャスト用フレームデータの入出力が可能となる。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
Claims (8)
- 順次入力される通信データに、当該通信データを出力すべき出力系統と対応する出力先情報を付加して多重化する多重化装置と、前記多重化装置から出力された通信データを、当該通信データに付加されている前記出力先情報に基づき分離し、当該出力先情報と対応する出力系統の出力FIFOへ書き込む多重分離装置と、複数のキューにより前記通信データを前記出力系統ごとに一時蓄積する記録装置とを備える通信用入出力装置であって、
前記多重分離装置は、
前記各出力系統に共通して設けられて、前記各出力FIFOへ書き込みできなかった通信データを一時蓄積する入力FIFOと、
前記入力FIFOにおける通信データの蓄積状況に応じて、当該入力FIFOに蓄積されている通信データを前記記録装置へ転送し、任意の出力系統の出力FIFOが書き込み可状態となった時点で、前記記録装置および前記入力FIFOの順に当該出力系統の通信データを読み出して当該出力FIFOへ書き込むアクセス調停部とを備え、
前記記録装置は、前記多重分離装置から転送された前記通信データを、当該通信データに付加されている前記出力先情報と対応する出力系統のキューに書き込む書き込み制御部を備える
ことを特徴とする通信用入出力装置。 - 請求項1に記載の通信用入出力装置において、
前記記録装置は、前記出力系統ごとに1つまたは複数の前記キューを有し、これらキューは、1つまたは複数の別個のメモリ回路で構成されていることを特徴とする通信用入出力装置。 - 請求項1または請求項2記載の通信用入出力装置において、
前記記録装置は、前記キューを論理的に形成して前記通信データを蓄積するためメモリを有し、前記アクセス調停部から指示された、読み出し対象となるキューに関する前記メモリ上でのアドレス情報に基づいて、前記メモリから対応するキューに蓄積されている前記通信データを読み出して当該アクセス調停部へ転送することを特徴とする通信用入出力装置。 - 請求項1または請求項2に記載の通信用入出力装置において、
前記記録装置は、前記キューを論理的に形成して前記通信データを蓄積するためメモリを有し、前記アクセス調停部から指示された、読み出し対象となるキューを識別するためのキュー情報に基づいて、当該キューに関する前記メモリ上でのアドレス情報を特定し、当該アドレス情報に基づいて、前記メモリから対応するキューに蓄積されている前記通信データを読み出して当該アクセス調停部へ転送することを特徴とする通信用入出力装置。 - 請求項1または請求項2に記載の通信用入出力装置において、
前記記録装置は、前記キューを論理的に形成して前記通信データを蓄積するためメモリを有し、前記アクセス調停部から指示された、読み出し対象となる通信データに関連するユーザIDまたは出力系統に関連する出力ポートIDに基づいて、対応するキューに関する前記メモリ上でのアドレス情報を特定し、当該アドレス情報に基づいて、前記メモリから対応するキューに蓄積されている前記通信データを読み出して当該アクセス調停部へ転送し、対応するキューが複数存在する場合は、最も優先度の高いキューから順に前記通信データを読み出して当該アクセス調停部へ転送することを特徴とする通信用入出力装置。 - 請求項1〜請求項5のいずれかに記載の通信用入出力装置において、
前記アクセス調停部は、前記出力系統ごとに設けられたセレクタ、および、前記記録装置との間で前記通信データの転送を行うIF制御部を有し、
前記セレクタは、前記多重化装置からの通信データ、前記入力FIFOからの通信データ、もしくは前記IF制御部からの通信データのいずれか1つを選択して対応する出力FIFOへ書き込み、
前記IF制御部は、前記入力FIFOから前記記録装置へ前記通信データを転送し、前記記録装置から転送された前記通信データを対応する前記セレクタへ出力する
ことを特徴とする通信用入出力装置。 - 請求項1〜請求項5のいずれかに記載の通信用入出力装置において、
前記アクセス調停部は、前記出力系統ごとに設けられたセレクタ、および、前記記録装置との間で前記通信データの転送を行うIF制御部を有し、
前記セレクタは、前記多重化装置からの通信データ、もしくは前記IF制御部からの通信データのいずれか1つを選択して対応する出力FIFOへ書き込み、
前記IF制御部は、前記入力FIFOから前記記録装置へ前記通信データを転送し、前記多重化装置からの通信データ、および前記記録装置から転送された前記通信データを対応する前記セレクタへ出力する
ことを特徴とする通信用入出力装置。 - 請求項1〜請求項5のいずれかに記載の通信用入出力装置において、
前記多重分離装置は、前記アクセス調停部から書き込まれたマルチキャスト用フレームデータを順次蓄積し、出力ポートごとに設けられた出力FIFO読み出し制御部からの読み出し要求に応じて、蓄積している前記マルチキャスト用フレームデータを読み出して出力するとともに、当該マルチキャスト用フレームデータの出力先となるすべての出力FIFO読み出し制御部への出力が完了するまで当該マルチキャスト用フレームデータを保持するマルチキャスト用出力FIFOをさらに備え、
前記アクセス調停部は、前記出力系統ごとに設けられたセレクタ、マルチキャスト用セレクタ、および、前記記録装置との間で前記通信データの転送を行うIF制御部を有し、
前記セレクタは、前記多重化装置からの通信データ、前記入力FIFOからの通信データ、または前記IF制御部からの通信データのいずれか1つを選択して対応する出力FIFOへ書き込み、
前記マルチキャスト用セレクタは、前記多重化装置からのマルチキャスト用通信データ、前記入力FIFOからのマルチキャスト用通信データ、もしくは前記IF制御部からのマルチキャスト用通信データのいずれか1つを選択してマルチキャスト用出力FIFOへ書き込み、
前記IF制御部は、前記入力FIFOから前記記録装置へ前記通信データを転送し、前記記録装置から転送された通信データを対応する前記セレクタへ出力し、前記記録装置から転送されたマルチキャスト用通信データを対応する前記マルチキャスト用セレクタへ出力する
ことを特徴とする通信用入出力装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015007491A JP6212059B2 (ja) | 2015-01-19 | 2015-01-19 | 通信用入出力装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015007491A JP6212059B2 (ja) | 2015-01-19 | 2015-01-19 | 通信用入出力装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016134711A JP2016134711A (ja) | 2016-07-25 |
JP6212059B2 true JP6212059B2 (ja) | 2017-10-11 |
Family
ID=56464583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015007491A Active JP6212059B2 (ja) | 2015-01-19 | 2015-01-19 | 通信用入出力装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6212059B2 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6977940B1 (en) * | 2000-04-28 | 2005-12-20 | Switchcore, Ab | Method and arrangement for managing packet queues in switches |
JP2009124488A (ja) * | 2007-11-15 | 2009-06-04 | Sumitomo Electric Ind Ltd | データ中継処理装置及び方法 |
JP2011010195A (ja) * | 2009-06-29 | 2011-01-13 | Nippon Telegr & Teleph Corp <Ntt> | 通信用入出力装置 |
JP5359692B2 (ja) * | 2009-08-28 | 2013-12-04 | 富士通株式会社 | フレーム出力方法及びフレーム出力装置 |
JP2011239326A (ja) * | 2010-05-13 | 2011-11-24 | Renesas Electronics Corp | 半導体装置およびそれを用いた通信装置 |
-
2015
- 2015-01-19 JP JP2015007491A patent/JP6212059B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016134711A (ja) | 2016-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9426099B2 (en) | Router, method for controlling router, and program | |
US7675925B2 (en) | Method and apparatus for providing a packet buffer random access memory | |
US7742408B2 (en) | System and method for filtering packets in a switching environment | |
US7349417B2 (en) | Deficit round-robin scheduling in a high-speed switching environment | |
US7729258B2 (en) | Switching device | |
US10282343B2 (en) | Semiconductor device | |
US7440470B2 (en) | Multicasting in a high-speed switching environment | |
US20090304017A1 (en) | Apparatus and method for high-speed packet routing system | |
US7711787B2 (en) | On-chip network interfacing apparatus and method | |
US10402348B2 (en) | Method and system for using feedback information for selecting a routing bus for a memory transaction | |
JP6212059B2 (ja) | 通信用入出力装置 | |
JP6611011B2 (ja) | 通信用入出力装置 | |
KR102496994B1 (ko) | PCIe 인터페이스 장치 및 그 동작 방법 | |
US10684965B2 (en) | Method to reduce write responses to improve bandwidth and efficiency | |
US20060041705A1 (en) | System and method for arbitration between shared peripheral core devices in system on chip architectures | |
JP2011010195A (ja) | 通信用入出力装置 | |
JP6351073B2 (ja) | 通信用入出力装置 | |
JP6570075B2 (ja) | 通信用入出力装置 | |
WO2019225336A1 (ja) | 通信用入出力装置 | |
JP2016158024A (ja) | 通信用入出力装置 | |
JP2015069345A (ja) | 情報処理装置,データ転送装置,およびデータ転送方法 | |
US7447201B2 (en) | Multicasting in a high-speed switching environment | |
JP5287975B2 (ja) | 情報処理装置 | |
JP2019032727A (ja) | 通信用入出力装置 | |
JP2008305215A (ja) | バスシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170828 |
|
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: 20170912 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170914 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6212059 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |