JP2016158024A - 通信用入出力装置 - Google Patents

通信用入出力装置 Download PDF

Info

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
Application number
JP2015032975A
Other languages
English (en)
Inventor
智明 川村
Tomoaki Kawamura
智明 川村
晶子 大輝
Akiko Oteru
晶子 大輝
智志 重松
Satoshi Shigematsu
智志 重松
吉雄 松田
Yoshio Matsuda
吉雄 松田
幸祐 今村
Kosuke Imamura
幸祐 今村
和民 有本
Kazutami Arimoto
和民 有本
洋一郎 佐藤
Yoichiro Sato
洋一郎 佐藤
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.)
Kanazawa University NUC
Nippon Telegraph and Telephone Corp
Okayama Prefectural University
Original Assignee
Kanazawa University NUC
Nippon Telegraph and Telephone Corp
Okayama Prefectural University
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 Kanazawa University NUC, Nippon Telegraph and Telephone Corp, Okayama Prefectural University filed Critical Kanazawa University NUC
Priority to JP2015032975A priority Critical patent/JP2016158024A/ja
Publication of JP2016158024A publication Critical patent/JP2016158024A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Time-Division Multiplex Systems (AREA)
  • Communication Control (AREA)

Abstract

【課題】複数のキューによるデータメモリの使用効率を高める。
【解決手段】書込制御部33が、書込対象キューに通信データを書き込む際、次書込アドレスからなる書込対象アドレスに当該通信データを書き込み、当該書込対象キューのキュー最終アドレス、書込前のキュー最終アドレスに関する後続アドレス、および次書込アドレスをそれぞれ更新し、読出制御部34が、読出対象キューから通信データを読み出す際、当該読出対象キューのキュー先頭アドレスからなる読出対象アドレスから当該通信データを読み出し、当該読出対象キューのキュー先頭アドレス、次書込アドレス、および新たな次書込アドレスに関する後続アドレスをそれぞれ更新する。
【選択図】 図1

Description

本発明は、データ通信技術に関し、特に通信データ(フレームデータ)の入出力を行う通信用入出力装置で用いられるメモリアクセス制御技術に関する。
従来、インターネット等のデータ通信で使用されて、例えばイーサネット(登録商標)のフレームデータ等の通信データを入出力するための通信用入出力装置として、例えば、特許文献1のような構成が提案されている。図19は、従来の通信用入出力装置(内蔵メモリ)の構成を示すブロック図である。
この通信用入出力装置は、多重化装置MUX、記録装置MEM、および多重分離装置DEMUXから構成されている。
MUXは、入力ポートごとに設けられたキュー指定情報付加部により、入力されたフレームデータに対して、当該フレームデータの出力先に対応するキュー指定情報を付加した後、多重化部により多重化して出力する。
MEMは、MUXから時分割多重で出力されたフレームデータを書込制御部により受け取り、各フレームデータに付加されているキュー指定情報とキューマップとを参照し、内蔵するデータメモリ(DRAMチップ)内にフレームデータの出力先ごとに論理的に設けたキューのうち、キュー指定情報と対応するキューのアドレスへフレームデータを書き込む。また、MEMは、DEMUXからの読出指示に応じて、読出制御部により対応するキューからフレームデータを読み出して、DEMUXに出力する。
DEMUXは、読出部により、出力ポートごとの優先制御ロジックに基づき、MEM内の優先出力ポートに対応する出力先のキューからフレームデータを読み出して、振分部により対応する出力ポートへ振り分け、出力ポートごとに設けられた速度変換部により当該出力ポートの通信速度に変換して出力する。
図20は、キューと出力ポートとの対応を示す説明図であり、出力ポート数が3の場合が示されている。図20(a)では、キューと出力ポートとが1対1に対応付けられているが、図20(b)のように、1対多に対応付けることにより、1つのフレームデータを複数の出力ポートが出力する場合に対応可能となる。また、図20(c)のように、出力ポートごとに、読出優先度に応じたキューを対応付けることもできる。
特開2011−010195号公報
しかしながら、このような従来技術では、それぞれの出力ポートに対応する個別のキューを有しており、データメモリのアドレスを分割してこれらキューのアドレス範囲を固定的に決めているため、キュー毎にアドレス範囲が異なり、複数のキューでアドレス範囲を共用することができない。
したがって、データメモリ内のアドレス範囲を複数のキューで共用することができないことから、キューごとに想定される記憶容量分を固定的に確保しておく必要があり、データメモリの使用効率が低いという問題点があった。また、複数のキューでアドレスを共用できたとしても、単に共用するだけでは、いずれか特定のキューがアドレスを占有する可能性もあり、この場合も、データメモリの使用効率が低くなるという問題点があった。
本発明はこのような課題を解決するためのものであり、複数のキューによるデータメモリの使用効率を高めることができるメモリアクセス制御技術を提供することを目的としている。
このような目的を達成するために、本発明にかかる通信用入出力装置は、順次入力される通信データに、当該通信データを出力すべき出力系統と対応するキューを示すキュー指定情報を付加して多重化する多重化装置と、前記多重化装置から転送された前記通信データを、データメモリ内に論理的に形成した複数のキューのうち前記キュー指定情報で指定された書込対象キューへ一時蓄積する記録装置と、前記キューのうち優先制御ロジックに基づき選択した出力系統と対応する読出対象キューから前記通信データを読み出し、当該出力系統と対応する出力ポートの通信速度に変換して出力する多重分離装置とを備える通信用入出力装置であって、前記記録装置は、前記データメモリの前記キューに対する書き込み・読み出しを制御する際に用いるキュー制御情報を記憶するキュー制御メモリと、前記キュー制御メモリのキュー制御情報に基づいて、前記多重化装置から転送された前記通信データを前記書込対象キューに書き込む書込制御部と、前記キュー制御メモリのキュー制御情報に基づいて、前記読出対象キューから通信データを読み出して前記多重分離装置へ転送する読出制御部とを備え、前記キュー制御メモリは、前記データメモリの格納アドレスごとに、当該格納アドレスに書き込まれた通信データに後続する通信データの格納アドレスを示す後続アドレスを記憶し、前記キューごとに、当該キューの通信データが書き込まれている前記格納アドレスの先頭および最終を示すキュー先頭アドレスおよびキュー最終アドレスを記憶し、前記各キューに共通して、次に通信データを書き込むべき格納アドレスを示す次書込アドレスを記憶し、前記書込制御部は、前記書込対象キューに前記通信データを書き込む際、前記次書込アドレスからなる書込対象アドレスに当該通信データを書き込み、当該書込対象キューのキュー最終アドレス、書込前のキュー最終アドレスに関する後続アドレス、および次書込アドレスをそれぞれ更新し、前記読出制御部は、前記読出対象キューから前記通信データを読み出す際、当該読出対象キューのキュー先頭アドレスからなる読出対象アドレスから当該通信データを読み出し、当該読出対象キューのキュー先頭アドレス、次書込アドレス、および新たな次書込アドレスに関する後続アドレスをそれぞれ更新するようにしたものである。
また、本発明にかかる上記通信用入出力装置の一構成例は、前記記録装置が、前記キューごとに、当該キューが使用している前記データメモリ上の格納アドレスの数を示す使用アドレス数を記憶するキュー使用アドレス数メモリと、前記書込対象キューに前記通信データを書き込む際、当該通信データのデータ長に基づき、書き込みに必要となる格納アドレスの数を示す必要アドレス数を算出し、前記キュー使用アドレス数メモリから取得した当該書込対象キューまたは前記各キューの使用アドレス数に基づき、当該書き込みに使用可能な格納アドレスの数を示す残りアドレス数を算出し、当該必要アドレス数と当該残りアドレス数とを比較することにより当該通信データの書込可否を判定し、書込可の判定に応じて前記書込制御部に対して当該通信データの書き込みを指示するアクセス調停部とをさらに備えている。
また、本発明にかかる他の通信用入出力装置は、順次入力される通信データに、当該通信データを出力すべき出力系統と対応するキューを示すキュー指定情報を付加して多重化する多重化装置と、前記多重化装置から転送された前記通信データを、データメモリ内に論理的に形成した複数のキューのうち前記キュー指定情報で指定された書込対象キューへ一時蓄積する記録装置と、前記キューのうち優先制御ロジックに基づき選択した出力系統と対応する読出対象キューから前記通信データを読み出し、当該出力系統と対応する出力ポートの通信速度に変換して出力する多重分離装置とを備える通信用入出力装置であって、前記記録装置は、前記キューごとに、当該キューが使用している前記データメモリ上の格納アドレスの数を示す使用アドレス数を記憶するキュー使用アドレス数メモリと、前記書込対象キューに前記通信データを書き込む際、当該通信データのデータ長に基づき、書き込みに必要となる格納アドレスの数を示す必要アドレス数を算出し、前記キュー使用アドレス数メモリから取得した当該書込対象キューまたは前記各キューの使用アドレス数に基づき、当該書き込みに使用可能な格納アドレスの数を示す残りアドレス数を算出し、当該必要アドレス数と当該残りアドレス数とを比較することにより当該通信データの書込可否を判定し、書込可の判定に応じて前記書込制御部に対して当該通信データの書き込みを指示するアクセス調停部とを備えている。
また、本発明にかかる上記通信用入出力装置の一構成例は、前記アクセス調停部が、前記データメモリが有する格納アドレスの総アドレス数から、前記各キューの使用アドレス数を減算することにより、前記残りアドレス数を算出するようにしたものである。
また、本発明にかかる上記通信用入出力装置の一構成例は、前記アクセス調停部が、前記書込対象キューに対して予め割り当てられている使用可能な格納アドレス数を示す最大アドレス数から、当該書込対象キューの使用アドレス数を減算することにより、前記残りアドレス数を算出するようにしたものである。
また、本発明にかかる上記通信用入出力装置の一構成例は、前記アクセス調停部が、前記データメモリが有する格納アドレスの総アドレス数から、前記各キューに対して予め保障されている最低保証アドレスを減算することにより、前記残りアドレス数を算出するようにしたものである。
本発明によれば、多重化装置から転送された通信データを、データメモリ内に論理的に形成した複数のキューのうちキュー指定情報で指定された書込対象キューへ一時蓄積する記録装置において、データメモリの使用効率を高めることができる。このため、メモリ容量の増大を行う必要がなくなり、結果として回路規模やコストの増大を抑制することが可能となる。
第1の実施の形態にかかる通信用入出力装置の構成を示すブロック図である。 第1の実施の形態にかかる記録装置の構成を示すブロック図である。 データメモリの記憶例である。 アドレスキュー管理メモリの記憶例である。 キュー先頭・最終アドレスメモリの記憶例である。 キュー使用アドレス数メモリの記憶例である。 書込制御部における書込動作を示す説明図である。 読出制御部における読出動作を示す説明図である。 データP2−1読出直前(データP2−3書込直後)のキュー制御情報を示す説明図である。 データP2−1読出時におけるキュー制御情報の変化を示す説明図である。 データP2−1読出直後(データP2−2読出直前)のキュー制御情報を示す説明図である。 データP2−2読出時におけるキュー制御情報の変化を示す説明図である。 データP2−2読出直後(データP2−4書込直前)のキュー制御情報を示す説明図である。 データP2−4書込時におけるキュー制御情報の変化を示す説明図である。 データP2−4書込直後のキュー制御情報を示す説明図である。 第2の実施の形態にかかるアクセス調停部の構成を示すブロック図である。 判定用アドレス数情報の構成例である。 第2の実施の形態にかかる書込可否判定処理を示すフローチャートである。 従来の通信用入出力装置(内蔵メモリ)の構成を示すブロック図である。 キューと出力ポートとの対応を示す説明図である。
次に、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
まず、図1を参照して、本発明の第1の実施の形態にかかる通信用入出力装置1について説明する。図1は、第1の実施の形態にかかる通信用入出力装置の構成を示すブロック図である。
この通信用入出力装置1は、インターネット通信等で使用されて、例えばイーサネット(登録商標)のフレームデータ等の通信データを入出力するための通信用入出力装置であり、1つまたは複数の入力ポートから入力された通信データを、その通信データを出力すべき出力系統ごとに分離し、当該出力系統と対応する出力ポートの通信速度に変換して出力する機能を有している。
図1に示すように、通信用入出力装置1は、多重化装置(MUX)10、メモリアクセス制御機能内蔵型の多重分離装置(DEMUX)20、およびアクセス制御機能内蔵型の記録装置(MEM)30から構成されている。以下では、通信用入出力装置1で入出力する通信データがフレームデータである場合を例として説明するが、これに限定されるものではなく、パケットやATMセルなど各種の通信データを、フレームデータと同様にして入出力することも可能である。
多重化装置10は、外部から順次入力されるフレームデータに、当該フレームデータを出力すべき出力系統と対応するキュー指定情報を付加して多重化する機能を有している。
記録装置30は、多重化装置10から転送されたフレームデータを、データメモリ内に論理的に形成した複数のキューのうち、当該フレームデータに付加されているキュー指定情報で指定された書込対象キューへ一時蓄積する機能を有している。
多重分離装置20は、記録装置30内のキューのうち優先制御に基づき選択した出力系統と対応する読出対象キューから、当該読出対象キューに一時蓄積されているフレームデータを読み出し、当該出力系統と対応する出力ポートの通信速度に変換して出力する機能を有している。
本実施の形態は、記憶装置30において、キュー制御メモリ32が、データメモリ31の格納アドレスごとに、当該格納アドレスに書き込まれた通信データに後続する通信データの格納アドレスを示す後続アドレスを記憶し、キューごとに、当該キューの通信データが書き込まれている格納アドレスの先頭および最終を示すキュー先頭アドレスおよびキュー最終アドレスを記憶し、各キューに共通して、次に通信データを書き込むべき格納アドレスを示す次書込アドレスを記憶するようにしたものである。
また、書込制御部33が、書込対象キューに通信データを書き込む際、次書込アドレスからなる書込対象アドレスに当該通信データを書き込み、当該書込対象キューのキュー最終アドレス、書込前のキュー最終アドレスに関する後続アドレス、および次書込アドレスをそれぞれ更新し、読出制御部34が、読出対象キューから通信データを読み出す際、当該読出対象キューのキュー先頭アドレスからなる読出対象アドレスから当該通信データを読み出し、当該読出対象キューのキュー先頭アドレス、次書込アドレス、および新たな次書込アドレスに関する後続アドレスをそれぞれ更新することにより、データメモリ31の各格納アドレスを各キューで共用するようにしたものである。
本実施の形態では、図1に示すように、入力ポートPinとして2つの入力ポートPin0,Pin1が設けられ、出力ポートPoutとして2つの出力ポートPout0,Pout1が設けられている場合を例として説明するが、入力ポートPinおよび出力ポートPoutの数については、これに限定されるものではない。入力ポートPinおよび出力ポートPoutのいずれか一方または両方を3つ以上設けることも可能であり、入力ポート数と出力ポート数が異なっていても良い。なお、入力ポート数は、1つであってもよい。
[多重化装置]
次に、図1を参照して、本実施の形態にかかる通信用入出力装置1で用いられる多重化装置10について詳細に説明する。
多重化装置10には、主な回路部として、キュー指定情報付加部11と多重化部12が設けられている。
キュー指定情報付加部11は、入力ポートPin0,Pin1ごとに設けられて、対応する入力ポートPinから入力されるフレームデータに対して、当該フレームデータの出力先に対応するキュー指定情報と、当該フレームデータのフレーム長情報(Byte)とを付加して多重化部12へ出力する機能を有している。この際、フレーム長情報については、例えば、多重化部12にフレームデータを出力する際、当該フレームデータの先頭から最終までのByte数をフレーム長として計数したものを付加すればよい。
多重化部12は、各キュー指定情報付加部11に共通して1つ設けられて、各キュー指定情報付加部11から出力されたフレームデータを時分割で多重化して、記録装置30へ出力する機能を有している。
多重化装置10において、フレームデータの出力先に対応するキューの指定については、IEEE802.1D等のブリッジ機能により実現すればよく、具体的には、MACアドレス学習による出力ポート検索、VLAN−IDによる出力ポート指定等が可能である(特許文献1など参照)。
[多重分離装置]
次に、図1を参照して、本実施の形態にかかる通信用入出力装置1で用いられる多重分離装置20について詳細説明する。
多重分離装置20には、主な回路部として、読出部21、振分部22、および速度変換部23,24が設けられている。
読出部21は、記録装置30から取得した各キューの蓄積状況や速度変換部23,24から出力された読出停止指示信号を参照し、出力ポートPout0,Pout1ごとの優先制御ロジックに基づいてフレームデータを優先して出力すべき出力系統を選択する機能と、当該出力系統と対応する読出対象キューからのフレームデータの読み出しを要求する読み出し要求を出力する機能と、これに応じて記憶装置30から転送されたフレームデータを、振分部22へ出力する機能を有している。
優先制御ロジックについては、例えば各キューの容量が同じ場合であれば、読み出し可能なキューの中でキューに蓄積されている通信データの量が最も多いキューから読み出しを行う等、一般的な優先制御ロジックを用いればよい(特許文献1など参照)。
また、読出部21は、記録装置30に読み出し要求を出力する際、読み出し対象となるキューを指定するキュー指定情報に加えて、読み出しデータのデータ量を示す読出データ量情報を記録装置30に指示する。
読出データ量情報については、例えば読み出しを行うキューのデータ蓄積量が予め設定した閾値以下の場合は、データ蓄積量に等しい値を読出データ量情報として出力し、閾値を超えていた場合は、閾値の値を読出データ量情報として出力すればよい。
振分部22は、読出部21から出力されたフレームデータを、当該フレームデータに付加されているキュー指定情報に基づいて、対応する出力ポートの速度変換部23,24へ振り分ける機能を有している。
速度変換部23,24は、出力ポートごとに設けられて、振分部22から振り分けられたフレームデータを当該出力ポートの通信速度に変換して出力する機能と、フレームデータの出力状況に応じて読出停止指示信号を読出部21に出力する機能とを有している。
なお、フレームデータに付加されているキュー指定情報は、振分部22もしくは速度変換部23,24で削除される。
[記録装置]
次に、図2を参照して、本実施の形態にかかる通信用入出力装置1で用いられる記録装置30について詳細説明する。図2は、第1の実施の形態にかかる記録装置の構成を示すブロック図である。
図2に示すように、記録装置30には、主な回路部として、データメモリ31、キュー制御メモリ32、書込制御部33、読出制御部34、キュー使用アドレス数メモリ35、およびアクセス調停部36が設けられている。
データメモリ31は、例えばDRAMチップなどの半導体メモリからなり、出力系統ごとに形成された論理的なキューを複数有し、これらキューにより当該出力系統に対応するフレームデータを記憶する機能を有している。具体的には、データメモリ31を1つ、もしくは、複数のDRAMチップで構成して、複数の出力系統に対応する各キューに対応させればよく、出力系統ごとにそれぞれ1つのキューを持たせる構成の他、1つの出力系統に複数のキューを持たせることも可能である。
データメモリ31には、固有の格納アドレスを持つ複数の格納領域が設けられており、各キューはこれら格納領域を、格納アドレスの連続・不連続あるいは昇順・降順に関わらず任意に連結することにより構成されている。
図3は、データメモリの記憶例である。ここでは、それぞれ固有の格納アドレスADM(0〜N:Nは2以上の整数)を持つ格納領域ごとに、書込制御部33から書き込まれたデータを記憶している。
この際、1フレームが1アドレス分のデータサイズより長い場合、1フレームは、1アドレス分のデータサイズに合わせて複数のデータDに分割され、それぞれ異なる複数の格納アドレスに書き込まれる。例えば、図3の場合、格納アドレス0,1,4には、キューP1のデータP1−1,P1−2,P1−3が格納されており、格納アドレス2,3,5には、キューP2のデータP2−1,P2−2,P2−3が格納されている。これらデータの前後関係やフレームとの対応関係については、後述するアドレスキュー管理メモリで管理される。なお、1フレームが格納領域のデータサイズより短い場合、フレームデータは1つの格納領域に格納される。
キュー制御メモリ32は、例えばSRAMチップなどの半導体メモリからなり、データメモリ31上に形成されている各キューに対するフレームデータの書き込み・読み出しを制御する際に用いる各種のキュー制御情報を記憶する機能を有している。
キュー制御メモリ32は、レジスタやメモリからなる複数の記憶部を含んでおり、主な記憶部として、空きアドレスレジスタ(VAR,UAR)32A、アドレスキュー管理メモリ(QM)32B、キュー先頭・最終アドレスメモリ(SAR,LAR)32C、および作業用アドレスレジスタ(TMPV,TMPL)32Dを有している。なお、以下では理解を容易とするため、レジスタ名を変数名として用いて説明する場合がある。
空きアドレスレジスタ(VAR,UAR)32Aは、各キューに共通して、次書込アドレスVARと未書込アドレスUARとを記憶する機能を有している。このうち、VAR(Valid Address Register)は、多重化装置10から次に受け取ったフレームデータを書き込む際、当該フレームデータを次に書き込むべき格納アドレスを示すアドレス情報である。また、UAR(Unused Address Register)は、初期化後にまだ一度もデータが書き込まれていない未使用の格納アドレスのうちの先頭(若番)を示す格納アドレスである。
本実施の形態では、フレームデータ書き込み時、格納アドレスの若番から順に使用することを基本としており、フレームデータの読み出しにより空き状態となった格納アドレスについては、未使用の格納アドレスより優先して再使用するものとする。なお、再使用する格納アドレスの順序については、例えば直近に空き状態となった格納アドレスから順に再使用するなど、任意の順序でよく、若番の順に限定されない。
アドレスキュー管理メモリ(QM)32Bは、格納アドレスADMごとに、後続アドレスADD(ADDress)とポインタPN(Pointer of QM)とを記憶する機能を有している。
図4は、アドレスキュー管理メモリの記憶例である。このうち、ADDは、当該格納アドレスに書き込まれた通信データに後続する通信データが格納されている格納アドレスである。また、PNは、当該格納アドレスに格納されているデータにフレームデータの最終データを含むか否かを示す情報(フレーム終端フラグ)である。
キュー先頭・最終アドレスメモリ(SAR,LAR)32Cは、キューごとに、キュー先頭アドレスSAR(Start Address register of PM)およびキュー最終アドレスLAR(Last Address register of PM)を記憶する機能を有している。
図5は、キュー先頭・最終アドレスメモリの記憶例である。ここでは、キューを識別するためのキューID(キュー番号)ごとに、SARとLARを記憶している。このうち、SARは、当該キューのフレームデータが書き込まれている格納アドレスの先頭を示すアドレス情報である。また、LARは、当該キューのフレームデータが書き込まれている格納アドレスの最終を示すアドレス情報である。
作業用アドレスレジスタ(TMPV,TMPL)32Dは、各キューに共通して、作業用次書込アドレスTMPV(Temporary register for VAR)と作業用キュー最終アドレスTMPL(Temporary register for LAR)を記憶する機能を有している。
このうち、TMPVは、直前に書き込み・読み出しを行ったキューの次書込アドレスVARを示すアドレス情報である。また、TMPLは、最後に書き込みを行ったキューの直前(更新前)におけるキュー最終アドレスLARを示すアドレス情報である。これらは、それぞれのデータの書き込み・読み出し作業の処理手順の関係から一時的にアドレス情報を保持するために使用されるものであるが、次の書き込み・読み出し作業に用いることもある。
書込制御部33は、アクセス調停部36からの書き込み指示に応じて、キュー制御メモリ32のキュー制御情報に基づいて、データメモリ31上に形成されている各出力系統のキューのうち指定された書込対象キューへ、受け取った当該フレームデータを書き込む機能を有している。
読出制御部34は、アクセス調停部36からの読み出し指示に応じて、キュー制御メモリ32のキュー制御情報に基づいて、データメモリ31上に形成されている各出力系統のキューのうち、キュー指定情報で指定された読出対象キューから先頭のデータを読み出す機能と、当該データをフレーム終端フラグおよびキュー指定情報とともに多重分離装置20へ転送する機能とを有している。
キュー使用アドレス数メモリ35は、キューごとに、当該キューに蓄積されているフレームデータが使用しているアドレス数NKを記憶する機能と、多重分離装置20およびアクセス調停部36からの要求に応じて、指定されたキューのアドレス数NKを出力する機能とを有している。
図6は、キュー使用アドレス数メモリの記憶例である。ここでは、キューを識別するためのキューID(キュー番号)ごとに、当該キューのアドレス数NKが記憶されている。
アクセス調停部36は、多重化装置10から転送されたフレームデータを受け取り、当該フレームデータに付加されているフレーム長情報に基づき、フレームデータを1アドレス分のデータサイズで複数のデータDに分割することにより書込回数を計算する機能と、この書込回数分だけ、それぞれのデータDに関する、当該フレームデータに付加されているキュー指定情報で指定された書込対象キューへの書き込みを指示する書き込み指示を書込制御部33に出力する機能と、当該フレームデータの書き込みにより増加するアドレス数を、キュー使用アドレス数メモリ35の当該書込対象キューのアドレス数NKに加算する機能とを有している。
また、アクセス調停部36は、多重分離装置20からの読み出し要求に応じて、当該読み出し要求の読出データ量情報で指定されたデータ量を1アドレス分のデータサイズで分割することにより読出回数を計算する機能と、この読出回数分だけ、当該読み出し要求のキュー指定情報で指定された読出対象キューからのフレームデータの読み出しを指示する読み出し指示を読出制御部34へ出力する機能と、当該フレームデータの読み出しにより減少するアドレス数を、キュー使用アドレス数メモリ35の当該書込対象キューのアドレス数NKから減算する機能と、フレームデータの書き込みとの競合を調停し、読み出し可能なタイミングで読み出し指示を出力する機能とを有している。
[第1の実施の形態の動作]
次に、図7および図8を参照して、本実施の形態にかかる通信用入出力装置1で用いられる記録装置30の動作について説明する。
図7は、書込制御部における書込動作を示す説明図である。図8は、読出制御部における読出動作を示す説明図である。
[書き込み動作]
まず、図7を参照して、記録装置30の書込制御部33における書き込み動作について説明する。
書込制御部33は、アクセス調停部36からの書き込み指示に応じて、図7の処理動作を実行する。新たなデータを書込対象キューに書き込んだ場合、各キューによるデータメモリ31の格納アドレスの共用という観点からすれば、キュー制御情報における主な変化としては、書き込み前後において、書込対象キューに関するキュー最終アドレスLARと、書込前のキュー最終アドレスに関する後続アドレスADDと、各キューに共通する次書込アドレスVARとが変化する。なお、書込対象キューに対する最初の書き込みである場合は、書込対象キューに関するキュー先頭アドレスSARも変化する。
このため、図7の処理動作において、書込制御部33は、次書込アドレスVARに対する指定データの書き込み、書込対象キューに関するキュー最終アドレスLARの更新、書込前のキュー最終アドレスに関する後続アドレスADDの更新、各キューに共通する次書込アドレスVARの更新を行う。なお、書込対象キューに対する最初の書き込みである場合は、書込対象キューに関するキュー先頭アドレスの更新も行う。これら更新の詳細については動作例に基づいて後述する。
この際、書込制御部33は、データメモリ31とキュー制御メモリ32にアクセスすることにより、図7に示すステップW1〜W7を実行する。すなわち、LAR保持(W1)、LAR,SAR更新(W2)、VAR保持(W3)、ADD更新(W4)、VAR更新(W5)、PN更新(W6)、データ格納(W7)の順で処理を実行する。なお、図7の処理順序は、処理効率を考慮したものであるが、他の処理順序であってもよい。
[読み出し動作]
次に、図8を参照して、記録装置30の読出制御部34における読み出し動作について説明する。
読出制御部34は、アクセス調停部36からの読み出し指示に応じて、図8の処理動作を実行する。新たなデータを読出対象キューから読み出した場合、各キューによるデータメモリ31の格納アドレスの共用という観点からすれば、キュー制御情報における主な変化としては、読み出し前後において、読出対象キューに関するキュー先頭アドレスSARと、各キューに共通する次書込アドレスVARと、新たな次書込アドレスVARに関する後続アドレスADDとが変化する。
このため、図8の処理動作において、読出制御部34は、読出対象キューに関するキュー先頭アドレスSARからのデータおよびEoF(End of Frame:フレーム終端フラグ)の読み出し、読出対象キューに関するキュー先頭アドレスSARの更新、各キューに共通する次書込アドレスVARの更新、読出済格納アドレスに関する後続アドレスADDの更新を行う。これら更新の詳細については動作例に基づいて後述する。
この際、読出制御部34は、データメモリ31とキュー制御メモリ32にアクセスすることにより、図8に示すステップR1〜R5を実行する。すなわち、データ出力,EoF出力(R1)、VAR保持(R2)、VAR更新(R3)、SAR更新(R4)、後続アドレス更新(R5)の順で処理を実行する。なお、図8の処理順序は、処理効率を考慮したものであるが、他の処理順序であってもよい。
[動作例]
次に、図9〜図15を参照して、記録装置30におけるフレームデータの書込動作および読出動作について、キューP2を読出・書込対象キューとし、このキューP2にデータP2−3が書込まれた後、データP2−1、P2−2を読み出し、さらにデータP2−4を書き込む場合を例に説明する。
図9は、データP2−1読出直前(データP2−3書込直後)のキュー制御情報を示す説明図である。ここでは、データP2−1読出直前すなわちデータP2−3が書込まれた直後におけるキュー制御情報が示されている。この状態において、データメモリ31のうち、格納アドレス「0,1,4」にキューP1のデータP1−1,P1−2,P1−3が書き込まれており、格納アドレス「2,3,5」にキューP2のデータP2−1,P2−2,P2−3が書き込まれている。また、格納アドレス「6〜N」は未使用である。
したがって、次書込アドレスVARは「6」となり、未書込アドレスUARも「6」である。また、キューP1のデータP1−1,P1−2,P1−3の順序に応じて、格納アドレス「0,1」に関する後続アドレスADDは「1,4」となり、キューP2のデータP2−1,P2−2,P2−3の順序に応じて、格納アドレス「2,3」に関する後続アドレスADDは「3,5」となっている。なお、格納アドレス「0,2」のポインタPNが「0」となっており、データP1−1,P2−1には、フレーム終端が含まれていないことがわかる。
また、キューP1のキュー先頭アドレスSARは、データP1−1の格納アドレス「0」を示し、キュー最終アドレスLARは、データP1−3の格納アドレス「4」を示している。また、キューP2のキュー先頭アドレスSARは、データP2−1の格納アドレス「2」を示し、キュー最終アドレスLARは、データP2−3の格納アドレス「5」を示している。なお、作業用次書込アドレスTMPVと作業用キュー最終アドレスTMPLには、それぞれ「5」と「3」が格納されている。
図9に示した状態において、キューP2のデータP2−1を読み出した場合、キュー制御情報は、図10のように変化する。図10は、データP2−1読出時におけるキュー制御情報の変化を示す説明図である。
まず、図10(a)に示すように、キューP2に関するキュー先頭アドレスSARが示す読出対象アドレス「2」からデータP2−1が読み出されるため、読出対象アドレス「2」のデータDは空き状態となり、キューP2に関するデータはP2−2,P2−3の2つとなる。これにより、図10(b)に示すように、P2−2がキューP2の先頭データとなり、キュー先頭位置が格納アドレス「2」から「3」に変化するため、キューP2に関するキュー先頭アドレスSARが「2」から「3」に更新される。
また、読出対象アドレス「2」のデータDは空き状態となったため、図10(c)に示すように、この格納アドレス「2」が次データの書込位置となる。これにより、次書込アドレスVARが「6」から「2」に更新される。また、これに伴って、旧次書込アドレスVAR「6」と新次書込アドレスVAR「2」との順序関係を維持するため、図10(d)に示すように、格納アドレス「2」の後続アドレスADDが「3」から「6」に更新される。
これにより、キュー制御情報は、図11の状態に変化する。図11は、データP2−1読出直後(データP2−2読出直前)のキュー制御情報を示す説明図である。なお、作業用次書込アドレスTMPVと作業用キュー最終アドレスTMPLには、それぞれ「6」と「3」が格納されている。
図11に示した状態において、キューP2のデータP2−2を読み出した場合、キュー制御情報は、図12のように変化する。図12は、データP2−2読出時におけるキュー制御情報の変化を示す説明図である。
まず、図12(a)に示すように、キューP2に関するキュー先頭アドレスSARが示す読出対象アドレス「3」からデータP2−2が読み出されるため、読出対象アドレス「3」のデータDは空き状態となり、キューP2に関するデータはP2−3の1つとなる。これにより、図12(b)に示すように、P2−3がキューP2の先頭データとなり、キュー先頭位置が格納アドレス「3」から「5」に変化するため、キューP2に関するキュー先頭アドレスSARが「3」から「5」に更新される。
また、読出対象アドレス「3」のデータDは空き状態となったため、図12(c)に示すように、この格納アドレス「3」が次データの書込位置となる。これにより、次書込アドレスVARが「2」から「3」に更新される。また、これに伴って、旧次書込アドレスVAR「2」と新次書込アドレスVAR「3」との順序関係を維持するため、図12(d)に示すように、格納アドレス「3」の後続アドレスADDが「5」から「2」に更新される。
これにより、キュー制御情報は、図13の状態に変化する。図13は、データP2−2読出直後(データP2−4書込直前)のキュー制御情報を示す説明図である。なお、作業用次書込アドレスTMPVと作業用キュー最終アドレスTMPLには、それぞれ「2」と「3」が格納されている。
図13に示した状態において、キューP2のデータP2−4を書き込みした場合、キュー制御情報は、図14のように変化する。図14は、データP2−4書込時におけるキュー制御情報の変化を示す説明図である。
まず、図14(a)に示すように、次書込アドレスVARが示す書込対象アドレス「3」にデータP2−4が書き込まれるため、図14(b)に示すように、P2−4がキューP2の新たな最終データとなり、キュー最終位置が格納アドレス「5」から「3」に変化するため、キューP2のキュー最終アドレスLARが「5」から「3」に更新される。
また、書込前にキュー最終データであったP2−3にP2−4が後続することになるため、図14(c)に示すように、P2−3の格納アドレス「5」の後続アドレスとしてP2−4の格納アドレス「3」が設定される。
また、書込前の次書込アドレスVARにP2−4が書き込まれたため、図14(d)に示すように、次書込アドレスVARが「3」から、格納アドレス「3」の後続アドレス「2」に更新される。
これにより、キュー制御情報は、図15の状態に変化する。図15は、データP2−4書込直後のキュー制御情報を示す説明図である。なお、作業用次書込アドレスTMPVと作業用キュー最終アドレスTMPLには、それぞれ「3」と「5」が格納されている。
[第1の実施の形態の効果]
このように、本実施の形態は、記録装置30において、データメモリ31の格納アドレスごとに、当該格納アドレスに書き込まれた通信データに後続する通信データの格納アドレスを示す後続アドレスを記憶し、キューごとに、当該キューの通信データが書き込まれている格納アドレスの先頭および最終を示すキュー先頭アドレスおよびキュー最終アドレスを記憶し、各キューに共通して、次に通信データを書き込むべき格納アドレスを示す次書込アドレスを記憶するようにしたものである。
そして、書込制御部33が、書込対象キューに通信データを書き込む際、次書込アドレスからなる書込対象アドレスに当該通信データを書き込み、当該書込対象キューのキュー最終アドレス、書込前のキュー最終アドレスに関する後続アドレス、および次書込アドレスをそれぞれ更新し、読出制御部34が、読出対象キューから通信データを読み出す際、当該読出対象キューのキュー先頭アドレスからなる読出対象アドレスから当該通信データを読み出し、当該読出対象キューのキュー先頭アドレス、次書込アドレス、および新たな次書込アドレスに関する後続アドレスをそれぞれ更新するようにしたものである。
これにより、各キューのフレームデータが、データメモリ31のうち空き状態にある格納アドレスに順次書き込まれ、フレームデータが読み出された格納アドレスが再び空き状態として管理されることになる。またキューごとに書き込まれた順序でフレームデータの格納アドレスが管理されることになる。したがって、データメモリ31のうち空き状態にある格納アドレスについては、複数のキューで共用することができ、従来のキューごとに予めアドレス範囲を固定的に確保しておく場合と比較して、メモリの使用効率を高めることが可能となる。このため、メモリ容量の増大を行う必要がなくなり、結果として回路規模やコストの増大を抑制することが可能となる。
また、本実施の形態は、QM内のADD値等の初期値を設定する必要が無いという特徴がある。本実施の形態において、通信用入出力装置の起動時に初期値を設定する必要がある情報はVARとUARのみである(図7の「Initialization」を参照)。従って、初期設定を行うための回路の規模、もしくは、初期設定を行うためのソフトウエアの規模が極めて小さく、初期設定に要する時間も極めて小さいという効果が有る。
なお、図9等において、EoF値格納用のPNをQM内に搭載する場合を例示しているが、PNをDM内に搭載することも可能である。
[第2の実施の形態]
次に、図16を参照して、本発明の第2の実施の形態にかかる通信用入出力装置1について説明する。図16は、第2の実施の形態にかかるアクセス調停部の構成を示すブロック図である。
第1の実施の形態にかかる通信用入出力装置1において、データメモリ31内の格納アドレスを複数のキューで共用するようにした際に、例えば、特定の出力系統に関するフレームデータが多量に入力された場合、データメモリ31内の格納アドレスが当該出力系統のキューにより占有されてしまうという場合がある。このような格納アドレスの占有は、第1の実施の形態に限定されるものではなく、格納アドレスを複数のキューで共用する構成であれば、いずれの構成であっても発生しうる。したがって、このような格納アドレスの占有が発生した場合、他の出力系統のキューが十分な格納アドレス数を使用できず、フレームデータの破棄が発生しやすくなり、通信品質が低下する原因となる。
本実施の形態は、このような複数のキューによる格納アドレスの共用時における、特定キューによる格納アドレスの占有を回避することを目的とし、記録装置30において、アクセス調停部36が、書込対象キューにフレームデータを書き込む際、当該フレームデータのデータ長に基づき、書き込みに必要となる格納アドレスの数を示す必要アドレス数を算出し、キュー使用アドレス数メモリ35から取得した当該書込対象キューまたは各キューの使用アドレス数に基づき、当該書き込みに使用可能な格納アドレスの数を示す残りアドレス数を算出し、当該必要アドレス数と当該残りアドレス数とを比較することにより当該フレームデータの書込可否を判定し、書込可の判定に応じて書込制御部33に対して当該フレームデータの書き込みを指示するようにしたものである。
図16に示すように、本実施の形態において、アクセス調停部36には、主な回路部として、書込可否判定部41、書込用FIFO42、読出受付部43、読出用FIFO44、優先制御部45、キュー使用アドレス数更新部46、および指示出力部47が設けられている。
書込可否判定部41は、多重化装置10から転送されたフレームデータに付加されているキュー指定情報およびフレーム長情報と、キューごとに予め設定されている判定用アドレス数情報と、各キューの使用アドレス数とに基づいて、書込可能か否か判定する機能と、書込可の判定結果に応じて、当該フレームデータを、データメモリ31に設けられている格納領域の1アドレス分のデータサイズに分割し、得られたデータにキュー指定情報を付加した書き込み指示を、それぞれ書込用FIFO42に書き込む機能とを有している。
判定用アドレス数情報には、当該キュー指定情報で指定された書込対象キューで使用可能な最大アドレス数NKmaxと、当該書込対象キューに対して使用が保証されている最低保証アドレス数NKminとが含まれている。
図17は、判定用アドレス数情報の構成例である。ここではキューを識別するためのキューIDごとに、最大アドレス数NKmaxと最低保証アドレス数NKminとが設定されている。これら判定用アドレス数情報は、例えばキュー使用アドレス数更新部46、あるいはアクセス調停部36の内部メモリ(図示せず)で記憶されている。
読出受付部43は、多重分離装置20から出力された読み出し要求の読出データ量情報に基づいて、データメモリ31に対する読み出し回数を計算し、その読み出し回数だけ当該読み出し要求のキュー指定情報を読み出し指示として読出用FIFO44に書き込む機能を有している。この計算は、読出データ量情報が示すデータ量をデータメモリ31の1アドレスあたりのデータサイズで除算した値を読み出し回数とし、剰余がある場合は読み出し回数に1を加算すれば良い。
優先制御部45は、書込用FIFO42もしくは読出用FIFO44から、書き込み指示もしくは読み出し指示を読み出して、キュー使用アドレス数メモリ更新部46へ出力する機能と、書込用FIFO42と読出用FIFO44の双方に、書き込み指示と読み出し指示が存在する場合は、書込用FIFO42からの書き込み指示を優先して読み出す機能とを有している。
キュー使用アドレス数更新部46は、優先制御部45から書き込み指示が入力された場合は、キュー使用アドレス数メモリ35のうち、当該書き込み指示のキュー指定情報と対応する書込対象キューの使用アドレス数に1を加算し、当該書き込み指示を指示出力部47へ出力する機能と、優先制御部45から読み出し指示が入力された場合は、キュー使用アドレス数メモリ35のうち、当該読み出し指示のキュー指定情報と対応する読出対象キューの使用アドレス数から1を減算し、当該読み出し指示を指示出力部47へ出力する機能とを有している。
指示出力部47は、キュー使用アドレス数更新部46から書き込み指示が入力された場合は、当該書き込み指示を書込制御部33へ出力する機能と、読み出し指示が入力された場合は、当該読み出し指示を読出制御部34へ出力する機能とを有している。
[第2の実施の形態の動作]
次に、図18を参照して、本実施の形態にかかるアクセス調停部36の動作として、フレームデータの書き込み時における書込判定動作について説明する。図18は、第2の実施の形態にかかる書込可否判定処理を示すフローチャートである。
記録装置30のアクセス調停部36は、多重化装置10から転送されたフレームデータごとに、図18の書込可否判定処理に基づいて、書込可否を判定する。
まず、アクセス調停部36は、キュー使用アドレス数メモリ35から全キューに関する使用アドレス数NKを取得して(ステップ100)、全キューが使用している合計アドレス数NKAを算出し(ステップ101)、書込対象となる対象フレームデータの書き込みに要する必要アドレス数NFを算出する(ステップ102)。
この後、データメモリ31が有する格納アドレスの総アドレス数NAからNKAを減算することにより、対象フレームデータの書き込みに使用可能な格納アドレスの数を示す残りアドレス数NRを算出し(ステップ103)、NFとNRとを比較する(ステップ104)。
ここで、NF>NRの場合(ステップ104:YES)、アクセス調停部36は、書込不可と判定して対象フレームデータを破棄し(ステップ113)、当該対象フレームデータに関する書込判定処理を終了する。
一方、NF≦NRの場合(ステップ104:NO)、アクセス調停部36は、指定された書込対象キューの最大アドレス数NKmaxをキュー使用アドレス数メモリ35等から取得して(ステップ105)、NKmaxからNKを減算することにより残りアドレス数NRを算出し(ステップ106)、NFとNRとを比較する(ステップ107)。
ここで、NF>NRの場合(ステップ107:YES)、アクセス調停部36は、書込不可と判定して対象フレームデータを破棄し(ステップ113)、当該対象フレームデータに関する書込判定処理を終了する。
一方、NF≦NRの場合(ステップ107:NO)、アクセス調停部36は、全キューに関する最低保証アドレス数NKminをキュー使用アドレス数メモリ35から取得し(ステップ108)、全キューを一括して最低限保証すべき総保証アドレス数NAminを算出する(ステップ109)。この際、任意のキューのキュー使用アドレス数NKがその最低保証アドレス数以上である場合は、当該キューの保証アドレス数としてキュー使用アドレス数NKを加算し、キュー使用アドレス数NKがその最低保証アドレス数未満である場合は、当該キューの保証アドレス数として最低保証アドレス数NKminを加算する。
この後、アクセス調停部36は、NAからNAminを減算することにより残りアドレス数NRを算出し(ステップ110)、NFとNRとを比較する(ステップ111)。
ここで、NF>NRの場合(ステップ111:YES)、アクセス調停部36は、書込不可と判定して対象フレームデータを破棄し(ステップ113)、当該対象フレームデータに関する書込判定処理を終了する。
一方、NF≦NRの場合(ステップ111:NO)、アクセス調停部36は、対象フレームデータについて書込可と判定し(ステップ112)、当該対象フレームデータに関する書込判定処理を終了する。
この後、この書込可の判定に応じて、アクセス調停部36は、対象フレームデータをデータメモリ31の1アドレス分のデータサイズに分割し、得られたデータにキュー指定情報を付加した書き込み指示を、それぞれ書込用FIFO42に書き込むことになる。
[第2の実施の形態の効果]
このように、本実施の形態は、記録装置30において、キュー使用アドレス数メモリ35が、キューごとに、当該キューが使用しているデータメモリ31上の格納アドレスの数を示す使用アドレス数を記憶し、アクセス調停部36が、書込対象キューに通信データを書き込む際、当該通信データのデータ長に基づき、書き込みに必要となる格納アドレスの数を示す必要アドレス数を算出し、キュー使用アドレス数メモリ35から取得した当該書込対象キューまたは各キューの使用アドレス数等に基づき、当該書き込みに使用可能な格納アドレスの数を示す残りアドレス数を算出し、当該必要アドレス数と当該残りアドレス数とを比較することにより当該通信データの書込可否を判定し、書込可の判定に応じて書込制御部33に対して当該通信データの書き込みを指示するようにしたものである。
したがって、それぞれのキューによる格納アドレスの使用数が制限されるため、任意の出力系統と対応するキューによる格納アドレスの占有を抑止することができる。このため、特定の出力系統に関するフレームデータが多量に入力された場合でも、他の出力系統のキューが十分な格納アドレス数を使用することが可能となる。これにより、フレームデータの破棄やこれによる通信品質の低下を回避することが可能となるとともに、これら対策として、メモリ容量の増大を行う必要がなくなり、結果として回路規模やコストの増大を抑制することが可能となる。
なお、本実施の形態におけるNKA及びNAminの算出は、キュー使用アドレス数メモリを更新する際に同時に算出(加算、減算等)することができる。
本実施の形態において、図16の構成のアクセス調停部を用いる場合、書込用FIFOに書き込み指示データが存在していると誤って書込可能と判定してしまう可能性がある。誤った判定を防止するためには、各キューの使用アドレス数としてキュー使用アドレス数メモリの情報に書込用FIFO内のアドレス数(書き込み指示の数)を加算した値を使用するか、NAもしくはNKmaxとして書込用FIFO内のアドレス数(書き込み指示の数)を減算した値を使用すれば良い。
[実施の形態の拡張]
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
上記の各実施の形態において、通信用入出力装置1でマルチキャストフレームを処理する場合、出力系統の1つとしてマルチキャスト用出力系統を設けるとともに多重分離装置20内の振分部22にマルチキャストフレームを複数の速度変換部23に出力する手段を設け、記録装置30のデータメモリDM内に論理的に形成した一部のキューをこのマルチキャスト用出力系統に対応するキューとして割り当てるようにしてもよい。
これにより、外部から多重化装置10に入力されたマルチキャストフレームが、データメモリDM内のマルチキャスト用出力系統に対応するキューに一時格納され、当該キューから多重分離装置20によりマルチキャストフレームが読み出されて複数の出力ポートから出力される。
1…通信用入出力装置、10…多重化装置、11…キュー指定情報付加部、12…多重化部、20…多重分離装置、21…読出部、22…振分部、23,24…速度変換部、30…記録装置、31…データメモリ、32…キュー制御メモリ、33…書込制御部、34…読出制御部、35…キュー使用アドレス数メモリ、36…アクセス調停部、41…書込可否判定部、42…書込用FIFO、43…読出受付部、44…読出用FIFO、45…優先制御部、46…キュー使用アドレス数更新部、47…指示出力部。

Claims (6)

  1. 順次入力される通信データに、当該通信データを出力すべき出力系統と対応するキューを示すキュー指定情報を付加して多重化する多重化装置と、前記多重化装置から転送された前記通信データを、データメモリ内に論理的に形成した複数のキューのうち前記キュー指定情報で指定された書込対象キューへ一時蓄積する記録装置と、前記キューのうち優先制御ロジックに基づき選択した出力系統と対応する読出対象キューから前記通信データを読み出し、当該出力系統と対応する出力ポートの通信速度に変換して出力する多重分離装置とを備える通信用入出力装置であって、
    前記記録装置は、
    前記データメモリの前記キューに対する書き込み・読み出しを制御する際に用いるキュー制御情報を記憶するキュー制御メモリと、
    前記キュー制御メモリのキュー制御情報に基づいて、前記多重化装置から転送された前記通信データを前記書込対象キューに書き込む書込制御部と、
    前記キュー制御メモリのキュー制御情報に基づいて、前記読出対象キューから通信データを読み出して前記多重分離装置へ転送する読出制御部とを備え、
    前記キュー制御メモリは、前記データメモリの格納アドレスごとに、当該格納アドレスに書き込まれた通信データに後続する通信データの格納アドレスを示す後続アドレスを記憶し、前記キューごとに、当該キューの通信データが書き込まれている前記格納アドレスの先頭および最終を示すキュー先頭アドレスおよびキュー最終アドレスを記憶し、前記各キューに共通して、次に通信データを書き込むべき格納アドレスを示す次書込アドレスを記憶し、
    前記書込制御部は、前記書込対象キューに前記通信データを書き込む際、前記次書込アドレスからなる書込対象アドレスに当該通信データを書き込み、当該書込対象キューのキュー最終アドレス、書込前のキュー最終アドレスに関する後続アドレス、および次書込アドレスをそれぞれ更新し、
    前記読出制御部は、前記読出対象キューから前記通信データを読み出す際、当該読出対象キューのキュー先頭アドレスからなる読出対象アドレスから当該通信データを読み出し、当該読出対象キューのキュー先頭アドレス、次書込アドレス、および新たな次書込アドレスに関する後続アドレスをそれぞれ更新する
    ことを特徴とする通信用入出力装置。
  2. 請求項1に記載の通信用入出力装置において、
    前記記録装置は、
    前記キューごとに、当該キューが使用している前記データメモリ上の格納アドレスの数を示す使用アドレス数を記憶するキュー使用アドレス数メモリと、
    前記書込対象キューに前記通信データを書き込む際、当該通信データのデータ長に基づき、書き込みに必要となる格納アドレスの数を示す必要アドレス数を算出し、前記キュー使用アドレス数メモリから取得した当該書込対象キューまたは前記各キューの使用アドレス数に基づき、当該書き込みに使用可能な格納アドレスの数を示す残りアドレス数を算出し、当該必要アドレス数と当該残りアドレス数とを比較することにより当該通信データの書込可否を判定し、書込可の判定に応じて前記書込制御部に対して当該通信データの書き込みを指示するアクセス調停部と
    をさらに備えることを特徴とする通信用入出力装置。
  3. 順次入力される通信データに、当該通信データを出力すべき出力系統と対応するキューを示すキュー指定情報を付加して多重化する多重化装置と、前記多重化装置から転送された前記通信データを、データメモリ内に論理的に形成した複数のキューのうち前記キュー指定情報で指定された書込対象キューへ一時蓄積する記録装置と、前記キューのうち優先制御ロジックに基づき選択した出力系統と対応する読出対象キューから前記通信データを読み出し、当該出力系統と対応する出力ポートの通信速度に変換して出力する多重分離装置とを備える通信用入出力装置であって、
    前記記録装置は、
    前記キューごとに、当該キューが使用している前記データメモリ上の格納アドレスの数を示す使用アドレス数を記憶するキュー使用アドレス数メモリと、
    前記書込対象キューに前記通信データを書き込む際、当該通信データのデータ長に基づき、書き込みに必要となる格納アドレスの数を示す必要アドレス数を算出し、前記キュー使用アドレス数メモリから取得した当該書込対象キューまたは前記各キューの使用アドレス数に基づき、当該書き込みに使用可能な格納アドレスの数を示す残りアドレス数を算出し、当該必要アドレス数と当該残りアドレス数とを比較することにより当該通信データの書込可否を判定し、書込可の判定に応じて前記書込制御部に対して当該通信データの書き込みを指示するアクセス調停部と
    を備えることを特徴とする通信用入出力装置。
  4. 請求項2または請求項3に記載の通信用入出力装置において、
    前記アクセス調停部は、前記データメモリが有する格納アドレスの総アドレス数から、前記各キューの使用アドレス数を減算することにより、前記残りアドレス数を算出することを特徴とする通信用入出力装置。
  5. 請求項2または請求項3に記載の通信用入出力装置において、
    前記アクセス調停部は、前記書込対象キューに対して予め割り当てられている使用可能な格納アドレス数を示す最大アドレス数から、当該書込対象キューの使用アドレス数を減算することにより、前記残りアドレス数を算出することを特徴とする通信用入出力装置。
  6. 請求項2または請求項3に記載の通信用入出力装置において、
    前記アクセス調停部は、前記データメモリが有する格納アドレスの総アドレス数から、前記各キューに対して予め保障されている最低保証アドレスを減算することにより、前記残りアドレス数を算出することを特徴とする通信用入出力装置。
JP2015032975A 2015-02-23 2015-02-23 通信用入出力装置 Pending JP2016158024A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019204150A (ja) * 2018-05-21 2019-11-28 日本電信電話株式会社 通信用入出力装置

Citations (5)

* Cited by examiner, † Cited by third party
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 パケット中継装置、制御方法およびパケット中継プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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