JP2016158024A - 通信用入出力装置 - Google Patents
通信用入出力装置 Download PDFInfo
- Publication number
- JP2016158024A JP2016158024A JP2015032975A JP2015032975A JP2016158024A JP 2016158024 A JP2016158024 A JP 2016158024A JP 2015032975 A JP2015032975 A JP 2015032975A JP 2015032975 A JP2015032975 A JP 2015032975A JP 2016158024 A JP2016158024 A JP 2016158024A
- Authority
- JP
- Japan
- Prior art keywords
- queue
- address
- data
- write
- communication
- 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
Landscapes
- Time-Division Multiplex Systems (AREA)
- Communication Control (AREA)
Abstract
【解決手段】書込制御部33が、書込対象キューに通信データを書き込む際、次書込アドレスからなる書込対象アドレスに当該通信データを書き込み、当該書込対象キューのキュー最終アドレス、書込前のキュー最終アドレスに関する後続アドレス、および次書込アドレスをそれぞれ更新し、読出制御部34が、読出対象キューから通信データを読み出す際、当該読出対象キューのキュー先頭アドレスからなる読出対象アドレスから当該通信データを読み出し、当該読出対象キューのキュー先頭アドレス、次書込アドレス、および新たな次書込アドレスに関する後続アドレスをそれぞれ更新する。
【選択図】 図1
Description
この通信用入出力装置は、多重化装置MUX、記録装置MEM、および多重分離装置DEMUXから構成されている。
MEMは、MUXから時分割多重で出力されたフレームデータを書込制御部により受け取り、各フレームデータに付加されているキュー指定情報とキューマップとを参照し、内蔵するデータメモリ(DRAMチップ)内にフレームデータの出力先ごとに論理的に設けたキューのうち、キュー指定情報と対応するキューのアドレスへフレームデータを書き込む。また、MEMは、DEMUXからの読出指示に応じて、読出制御部により対応するキューからフレームデータを読み出して、DEMUXに出力する。
したがって、データメモリ内のアドレス範囲を複数のキューで共用することができないことから、キューごとに想定される記憶容量分を固定的に確保しておく必要があり、データメモリの使用効率が低いという問題点があった。また、複数のキューでアドレスを共用できたとしても、単に共用するだけでは、いずれか特定のキューがアドレスを占有する可能性もあり、この場合も、データメモリの使用効率が低くなるという問題点があった。
[第1の実施の形態]
まず、図1を参照して、本発明の第1の実施の形態にかかる通信用入出力装置1について説明する。図1は、第1の実施の形態にかかる通信用入出力装置の構成を示すブロック図である。
記録装置30は、多重化装置10から転送されたフレームデータを、データメモリ内に論理的に形成した複数のキューのうち、当該フレームデータに付加されているキュー指定情報で指定された書込対象キューへ一時蓄積する機能を有している。
多重分離装置20は、記録装置30内のキューのうち優先制御に基づき選択した出力系統と対応する読出対象キューから、当該読出対象キューに一時蓄積されているフレームデータを読み出し、当該出力系統と対応する出力ポートの通信速度に変換して出力する機能を有している。
次に、図1を参照して、本実施の形態にかかる通信用入出力装置1で用いられる多重化装置10について詳細に説明する。
多重化装置10には、主な回路部として、キュー指定情報付加部11と多重化部12が設けられている。
多重化装置10において、フレームデータの出力先に対応するキューの指定については、IEEE802.1D等のブリッジ機能により実現すればよく、具体的には、MACアドレス学習による出力ポート検索、VLAN−IDによる出力ポート指定等が可能である(特許文献1など参照)。
次に、図1を参照して、本実施の形態にかかる通信用入出力装置1で用いられる多重分離装置20について詳細説明する。
多重分離装置20には、主な回路部として、読出部21、振分部22、および速度変換部23,24が設けられている。
優先制御ロジックについては、例えば各キューの容量が同じ場合であれば、読み出し可能なキューの中でキューに蓄積されている通信データの量が最も多いキューから読み出しを行う等、一般的な優先制御ロジックを用いればよい(特許文献1など参照)。
読出データ量情報については、例えば読み出しを行うキューのデータ蓄積量が予め設定した閾値以下の場合は、データ蓄積量に等しい値を読出データ量情報として出力し、閾値を超えていた場合は、閾値の値を読出データ量情報として出力すればよい。
速度変換部23,24は、出力ポートごとに設けられて、振分部22から振り分けられたフレームデータを当該出力ポートの通信速度に変換して出力する機能と、フレームデータの出力状況に応じて読出停止指示信号を読出部21に出力する機能とを有している。
なお、フレームデータに付加されているキュー指定情報は、振分部22もしくは速度変換部23,24で削除される。
次に、図2を参照して、本実施の形態にかかる通信用入出力装置1で用いられる記録装置30について詳細説明する。図2は、第1の実施の形態にかかる記録装置の構成を示すブロック図である。
図3は、データメモリの記憶例である。ここでは、それぞれ固有の格納アドレスADM(0〜N:Nは2以上の整数)を持つ格納領域ごとに、書込制御部33から書き込まれたデータを記憶している。
キュー制御メモリ32は、レジスタやメモリからなる複数の記憶部を含んでおり、主な記憶部として、空きアドレスレジスタ(VAR,UAR)32A、アドレスキュー管理メモリ(QM)32B、キュー先頭・最終アドレスメモリ(SAR,LAR)32C、および作業用アドレスレジスタ(TMPV,TMPL)32Dを有している。なお、以下では理解を容易とするため、レジスタ名を変数名として用いて説明する場合がある。
図4は、アドレスキュー管理メモリの記憶例である。このうち、ADDは、当該格納アドレスに書き込まれた通信データに後続する通信データが格納されている格納アドレスである。また、PNは、当該格納アドレスに格納されているデータにフレームデータの最終データを含むか否かを示す情報(フレーム終端フラグ)である。
図5は、キュー先頭・最終アドレスメモリの記憶例である。ここでは、キューを識別するためのキューID(キュー番号)ごとに、SARとLARを記憶している。このうち、SARは、当該キューのフレームデータが書き込まれている格納アドレスの先頭を示すアドレス情報である。また、LARは、当該キューのフレームデータが書き込まれている格納アドレスの最終を示すアドレス情報である。
このうち、TMPVは、直前に書き込み・読み出しを行ったキューの次書込アドレスVARを示すアドレス情報である。また、TMPLは、最後に書き込みを行ったキューの直前(更新前)におけるキュー最終アドレスLARを示すアドレス情報である。これらは、それぞれのデータの書き込み・読み出し作業の処理手順の関係から一時的にアドレス情報を保持するために使用されるものであるが、次の書き込み・読み出し作業に用いることもある。
図6は、キュー使用アドレス数メモリの記憶例である。ここでは、キューを識別するためのキューID(キュー番号)ごとに、当該キューのアドレス数NKが記憶されている。
次に、図7および図8を参照して、本実施の形態にかかる通信用入出力装置1で用いられる記録装置30の動作について説明する。
図7は、書込制御部における書込動作を示す説明図である。図8は、読出制御部における読出動作を示す説明図である。
まず、図7を参照して、記録装置30の書込制御部33における書き込み動作について説明する。
書込制御部33は、アクセス調停部36からの書き込み指示に応じて、図7の処理動作を実行する。新たなデータを書込対象キューに書き込んだ場合、各キューによるデータメモリ31の格納アドレスの共用という観点からすれば、キュー制御情報における主な変化としては、書き込み前後において、書込対象キューに関するキュー最終アドレスLARと、書込前のキュー最終アドレスに関する後続アドレスADDと、各キューに共通する次書込アドレスVARとが変化する。なお、書込対象キューに対する最初の書き込みである場合は、書込対象キューに関するキュー先頭アドレスSARも変化する。
次に、図8を参照して、記録装置30の読出制御部34における読み出し動作について説明する。
読出制御部34は、アクセス調停部36からの読み出し指示に応じて、図8の処理動作を実行する。新たなデータを読出対象キューから読み出した場合、各キューによるデータメモリ31の格納アドレスの共用という観点からすれば、キュー制御情報における主な変化としては、読み出し前後において、読出対象キューに関するキュー先頭アドレスSARと、各キューに共通する次書込アドレスVARと、新たな次書込アドレスVARに関する後続アドレスADDとが変化する。
次に、図9〜図15を参照して、記録装置30におけるフレームデータの書込動作および読出動作について、キューP2を読出・書込対象キューとし、このキューP2にデータP2−3が書込まれた後、データP2−1、P2−2を読み出し、さらにデータP2−4を書き込む場合を例に説明する。
また、書込前の次書込アドレスVARにP2−4が書き込まれたため、図14(d)に示すように、次書込アドレスVARが「3」から、格納アドレス「3」の後続アドレス「2」に更新される。
このように、本実施の形態は、記録装置30において、データメモリ31の格納アドレスごとに、当該格納アドレスに書き込まれた通信データに後続する通信データの格納アドレスを示す後続アドレスを記憶し、キューごとに、当該キューの通信データが書き込まれている格納アドレスの先頭および最終を示すキュー先頭アドレスおよびキュー最終アドレスを記憶し、各キューに共通して、次に通信データを書き込むべき格納アドレスを示す次書込アドレスを記憶するようにしたものである。
なお、図9等において、EoF値格納用のPNをQM内に搭載する場合を例示しているが、PNをDM内に搭載することも可能である。
次に、図16を参照して、本発明の第2の実施の形態にかかる通信用入出力装置1について説明する。図16は、第2の実施の形態にかかるアクセス調停部の構成を示すブロック図である。
図17は、判定用アドレス数情報の構成例である。ここではキューを識別するためのキューIDごとに、最大アドレス数NKmaxと最低保証アドレス数NKminとが設定されている。これら判定用アドレス数情報は、例えばキュー使用アドレス数更新部46、あるいはアクセス調停部36の内部メモリ(図示せず)で記憶されている。
次に、図18を参照して、本実施の形態にかかるアクセス調停部36の動作として、フレームデータの書き込み時における書込判定動作について説明する。図18は、第2の実施の形態にかかる書込可否判定処理を示すフローチャートである。
記録装置30のアクセス調停部36は、多重化装置10から転送されたフレームデータごとに、図18の書込可否判定処理に基づいて、書込可否を判定する。
ここで、NF>NRの場合(ステップ104:YES)、アクセス調停部36は、書込不可と判定して対象フレームデータを破棄し(ステップ113)、当該対象フレームデータに関する書込判定処理を終了する。
ここで、NF>NRの場合(ステップ107:YES)、アクセス調停部36は、書込不可と判定して対象フレームデータを破棄し(ステップ113)、当該対象フレームデータに関する書込判定処理を終了する。
ここで、NF>NRの場合(ステップ111:YES)、アクセス調停部36は、書込不可と判定して対象フレームデータを破棄し(ステップ113)、当該対象フレームデータに関する書込判定処理を終了する。
この後、この書込可の判定に応じて、アクセス調停部36は、対象フレームデータをデータメモリ31の1アドレス分のデータサイズに分割し、得られたデータにキュー指定情報を付加した書き込み指示を、それぞれ書込用FIFO42に書き込むことになる。
このように、本実施の形態は、記録装置30において、キュー使用アドレス数メモリ35が、キューごとに、当該キューが使用しているデータメモリ31上の格納アドレスの数を示す使用アドレス数を記憶し、アクセス調停部36が、書込対象キューに通信データを書き込む際、当該通信データのデータ長に基づき、書き込みに必要となる格納アドレスの数を示す必要アドレス数を算出し、キュー使用アドレス数メモリ35から取得した当該書込対象キューまたは各キューの使用アドレス数等に基づき、当該書き込みに使用可能な格納アドレスの数を示す残りアドレス数を算出し、当該必要アドレス数と当該残りアドレス数とを比較することにより当該通信データの書込可否を判定し、書込可の判定に応じて書込制御部33に対して当該通信データの書き込みを指示するようにしたものである。
本実施の形態において、図16の構成のアクセス調停部を用いる場合、書込用FIFOに書き込み指示データが存在していると誤って書込可能と判定してしまう可能性がある。誤った判定を防止するためには、各キューの使用アドレス数としてキュー使用アドレス数メモリの情報に書込用FIFO内のアドレス数(書き込み指示の数)を加算した値を使用するか、NAもしくはNKmaxとして書込用FIFO内のアドレス数(書き込み指示の数)を減算した値を使用すれば良い。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
これにより、外部から多重化装置10に入力されたマルチキャストフレームが、データメモリDM内のマルチキャスト用出力系統に対応するキューに一時格納され、当該キューから多重分離装置20によりマルチキャストフレームが読み出されて複数の出力ポートから出力される。
Claims (6)
- 順次入力される通信データに、当該通信データを出力すべき出力系統と対応するキューを示すキュー指定情報を付加して多重化する多重化装置と、前記多重化装置から転送された前記通信データを、データメモリ内に論理的に形成した複数のキューのうち前記キュー指定情報で指定された書込対象キューへ一時蓄積する記録装置と、前記キューのうち優先制御ロジックに基づき選択した出力系統と対応する読出対象キューから前記通信データを読み出し、当該出力系統と対応する出力ポートの通信速度に変換して出力する多重分離装置とを備える通信用入出力装置であって、
前記記録装置は、
前記データメモリの前記キューに対する書き込み・読み出しを制御する際に用いるキュー制御情報を記憶するキュー制御メモリと、
前記キュー制御メモリのキュー制御情報に基づいて、前記多重化装置から転送された前記通信データを前記書込対象キューに書き込む書込制御部と、
前記キュー制御メモリのキュー制御情報に基づいて、前記読出対象キューから通信データを読み出して前記多重分離装置へ転送する読出制御部とを備え、
前記キュー制御メモリは、前記データメモリの格納アドレスごとに、当該格納アドレスに書き込まれた通信データに後続する通信データの格納アドレスを示す後続アドレスを記憶し、前記キューごとに、当該キューの通信データが書き込まれている前記格納アドレスの先頭および最終を示すキュー先頭アドレスおよびキュー最終アドレスを記憶し、前記各キューに共通して、次に通信データを書き込むべき格納アドレスを示す次書込アドレスを記憶し、
前記書込制御部は、前記書込対象キューに前記通信データを書き込む際、前記次書込アドレスからなる書込対象アドレスに当該通信データを書き込み、当該書込対象キューのキュー最終アドレス、書込前のキュー最終アドレスに関する後続アドレス、および次書込アドレスをそれぞれ更新し、
前記読出制御部は、前記読出対象キューから前記通信データを読み出す際、当該読出対象キューのキュー先頭アドレスからなる読出対象アドレスから当該通信データを読み出し、当該読出対象キューのキュー先頭アドレス、次書込アドレス、および新たな次書込アドレスに関する後続アドレスをそれぞれ更新する
ことを特徴とする通信用入出力装置。 - 請求項1に記載の通信用入出力装置において、
前記記録装置は、
前記キューごとに、当該キューが使用している前記データメモリ上の格納アドレスの数を示す使用アドレス数を記憶するキュー使用アドレス数メモリと、
前記書込対象キューに前記通信データを書き込む際、当該通信データのデータ長に基づき、書き込みに必要となる格納アドレスの数を示す必要アドレス数を算出し、前記キュー使用アドレス数メモリから取得した当該書込対象キューまたは前記各キューの使用アドレス数に基づき、当該書き込みに使用可能な格納アドレスの数を示す残りアドレス数を算出し、当該必要アドレス数と当該残りアドレス数とを比較することにより当該通信データの書込可否を判定し、書込可の判定に応じて前記書込制御部に対して当該通信データの書き込みを指示するアクセス調停部と
をさらに備えることを特徴とする通信用入出力装置。 - 順次入力される通信データに、当該通信データを出力すべき出力系統と対応するキューを示すキュー指定情報を付加して多重化する多重化装置と、前記多重化装置から転送された前記通信データを、データメモリ内に論理的に形成した複数のキューのうち前記キュー指定情報で指定された書込対象キューへ一時蓄積する記録装置と、前記キューのうち優先制御ロジックに基づき選択した出力系統と対応する読出対象キューから前記通信データを読み出し、当該出力系統と対応する出力ポートの通信速度に変換して出力する多重分離装置とを備える通信用入出力装置であって、
前記記録装置は、
前記キューごとに、当該キューが使用している前記データメモリ上の格納アドレスの数を示す使用アドレス数を記憶するキュー使用アドレス数メモリと、
前記書込対象キューに前記通信データを書き込む際、当該通信データのデータ長に基づき、書き込みに必要となる格納アドレスの数を示す必要アドレス数を算出し、前記キュー使用アドレス数メモリから取得した当該書込対象キューまたは前記各キューの使用アドレス数に基づき、当該書き込みに使用可能な格納アドレスの数を示す残りアドレス数を算出し、当該必要アドレス数と当該残りアドレス数とを比較することにより当該通信データの書込可否を判定し、書込可の判定に応じて前記書込制御部に対して当該通信データの書き込みを指示するアクセス調停部と
を備えることを特徴とする通信用入出力装置。 - 請求項2または請求項3に記載の通信用入出力装置において、
前記アクセス調停部は、前記データメモリが有する格納アドレスの総アドレス数から、前記各キューの使用アドレス数を減算することにより、前記残りアドレス数を算出することを特徴とする通信用入出力装置。 - 請求項2または請求項3に記載の通信用入出力装置において、
前記アクセス調停部は、前記書込対象キューに対して予め割り当てられている使用可能な格納アドレス数を示す最大アドレス数から、当該書込対象キューの使用アドレス数を減算することにより、前記残りアドレス数を算出することを特徴とする通信用入出力装置。 - 請求項2または請求項3に記載の通信用入出力装置において、
前記アクセス調停部は、前記データメモリが有する格納アドレスの総アドレス数から、前記各キューに対して予め保障されている最低保証アドレスを減算することにより、前記残りアドレス数を算出することを特徴とする通信用入出力装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015032975A JP2016158024A (ja) | 2015-02-23 | 2015-02-23 | 通信用入出力装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015032975A JP2016158024A (ja) | 2015-02-23 | 2015-02-23 | 通信用入出力装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016158024A true JP2016158024A (ja) | 2016-09-01 |
Family
ID=56826743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015032975A Pending JP2016158024A (ja) | 2015-02-23 | 2015-02-23 | 通信用入出力装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016158024A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019204150A (ja) * | 2018-05-21 | 2019-11-28 | 日本電信電話株式会社 | 通信用入出力装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09219706A (ja) * | 1996-02-09 | 1997-08-19 | Nec Corp | Atmスイッチ装置及びその制御方法 |
US6694388B1 (en) * | 2000-05-31 | 2004-02-17 | 3Com Corporation | Dynamic queuing system incorporating multiple queues sharing a single memory |
WO2004066571A1 (ja) * | 2003-01-20 | 2004-08-05 | Fujitsu Limited | ネットワークスイッチ装置およびネットワークスイッチ方法 |
JP2005174286A (ja) * | 2003-10-31 | 2005-06-30 | Lucent Technol Inc | リンク・リスト・プロセッサを持つメモリ管理システム |
JP2009170976A (ja) * | 2008-01-10 | 2009-07-30 | Fujitsu Ltd | パケット中継装置、制御方法およびパケット中継プログラム |
-
2015
- 2015-02-23 JP JP2015032975A patent/JP2016158024A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09219706A (ja) * | 1996-02-09 | 1997-08-19 | Nec Corp | Atmスイッチ装置及びその制御方法 |
US6694388B1 (en) * | 2000-05-31 | 2004-02-17 | 3Com Corporation | Dynamic queuing system incorporating multiple queues sharing a single memory |
WO2004066571A1 (ja) * | 2003-01-20 | 2004-08-05 | Fujitsu Limited | ネットワークスイッチ装置およびネットワークスイッチ方法 |
JP2005174286A (ja) * | 2003-10-31 | 2005-06-30 | Lucent Technol Inc | リンク・リスト・プロセッサを持つメモリ管理システム |
JP2009170976A (ja) * | 2008-01-10 | 2009-07-30 | Fujitsu Ltd | パケット中継装置、制御方法およびパケット中継プログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019204150A (ja) * | 2018-05-21 | 2019-11-28 | 日本電信電話株式会社 | 通信用入出力装置 |
WO2019225336A1 (ja) * | 2018-05-21 | 2019-11-28 | 日本電信電話株式会社 | 通信用入出力装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8081646B1 (en) | Old virtual queues technique for routing data packets in a packet switch | |
US7627672B2 (en) | Network packet storage method and network packet transmitting apparatus using the same | |
US20070280104A1 (en) | System and Method for Managing Forwarding Database Resources in a Switching Environment | |
US10740006B2 (en) | System and method for enabling high read rates to data element lists | |
US10055153B2 (en) | Implementing hierarchical distributed-linked lists for network devices | |
US9785367B2 (en) | System and method for enabling high read rates to data element lists | |
JP6611011B2 (ja) | 通信用入出力装置 | |
US10061513B2 (en) | Packet processing system, method and device utilizing memory sharing | |
JP6570075B2 (ja) | 通信用入出力装置 | |
JP6351073B2 (ja) | 通信用入出力装置 | |
JP2016158024A (ja) | 通信用入出力装置 | |
WO2019225336A1 (ja) | 通信用入出力装置 | |
KR100930520B1 (ko) | 네트워크 시스템에서 큐 처리 방법 및 장치 | |
US9767014B2 (en) | System and method for implementing distributed-linked lists for network devices | |
JP2011010195A (ja) | 通信用入出力装置 | |
JP2019032727A (ja) | 通信用入出力装置 | |
US9582215B2 (en) | Packet processing system, method and device utilizing memory sharing | |
US9612950B2 (en) | Control path subsystem, method and device utilizing memory sharing | |
EP3244582B1 (en) | Switch and data accessing method thereof | |
JP2019032699A (ja) | 通信用入出力装置 | |
JP2019032705A (ja) | 通信用入出力装置 | |
JP6212059B2 (ja) | 通信用入出力装置 | |
JP2015222487A (ja) | Dmaコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170317 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20170317 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20170317 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171211 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171226 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180222 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180320 |