Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6351073B2 - Communication input / output device - Google Patents
[go: Go Back, main page]

JP6351073B2 - Communication input / output device - Google Patents

Communication input / output device Download PDF

Info

Publication number
JP6351073B2
JP6351073B2 JP2015034823A JP2015034823A JP6351073B2 JP 6351073 B2 JP6351073 B2 JP 6351073B2 JP 2015034823 A JP2015034823 A JP 2015034823A JP 2015034823 A JP2015034823 A JP 2015034823A JP 6351073 B2 JP6351073 B2 JP 6351073B2
Authority
JP
Japan
Prior art keywords
queue
address
write
data
bank
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
Application number
JP2015034823A
Other languages
Japanese (ja)
Other versions
JP2016157284A (en
Inventor
川村 智明
智明 川村
晶子 大輝
晶子 大輝
重松 智志
智志 重松
有本 和民
和民 有本
洋一郎 佐藤
洋一郎 佐藤
智教 横川
智教 横川
吉雄 松田
吉雄 松田
幸祐 今村
幸祐 今村
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.)
Public University Corporation Okayama Prefectural University
NTT Inc
NTT Inc USA
Original Assignee
Public University Corporation Okayama Prefectural University
Nippon Telegraph and Telephone Corp
NTT Inc USA
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 Public University Corporation Okayama Prefectural University, Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Public University Corporation Okayama Prefectural University
Priority to JP2015034823A priority Critical patent/JP6351073B2/en
Publication of JP2016157284A publication Critical patent/JP2016157284A/en
Application granted granted Critical
Publication of JP6351073B2 publication Critical patent/JP6351073B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)

Description

本発明は、データ通信技術に関し、特に通信データ(フレームデータ)の入出力を行う通信用入出力装置で用いられるメモリアクセス制御技術に関する。   The present invention relates to a data communication technique, and more particularly to a memory access control technique used in a communication input / output device that inputs and outputs communication data (frame data).

従来、インターネット等のデータ通信で使用されて、例えばイーサネット(登録商標)のフレームデータ等の通信データを入出力するための通信用入出力装置として、例えば、特許文献1のような構成が提案されている。図24は、従来の通信用入出力装置(内蔵メモリ)の構成を示すブロック図である。
この通信用入出力装置は、多重化装置MUX、記録装置MEM、および多重分離装置DEMUXから構成されている。
Conventionally, for example, a configuration as disclosed in Patent Document 1 has been proposed as a communication input / output device that is used in data communication such as the Internet to input / output communication data such as Ethernet (registered trademark) frame data. ing. FIG. 24 is a block diagram showing a configuration of a conventional communication input / output device (built-in memory).
This communication input / output device includes a multiplexing device MUX, a recording device MEM, and a demultiplexing device DEMUX.

MUXは、入力ポートごとに設けられたキュー指定情報付加部により、入力されたフレームデータに対して、当該フレームデータの出力先に対応するキュー指定情報を付加した後、多重化部により多重化して出力する。
MEMは、MUXから時分割多重で出力されたフレームデータを書込制御部により受け取り、各フレームデータに付加されているキュー指定情報とキューマップとを参照し、内蔵するデータメモリ内にフレームデータの出力先ごとに論理的に設けたキューのうち、キュー指定情報と対応するキューのアドレスへフレームデータを書き込む。また、MEMは、DEMUXからの読出指示に応じて、読出制御部により対応するキューからフレームデータを読み出して、DEMUXに出力する。
The MUX adds the queue designation information corresponding to the output destination of the frame data to the input frame data by the queue designation information addition section provided for each input port, and then multiplexes it by the multiplexing section. Output.
The MEM receives the frame data output from the MUX by time division multiplexing by the write control unit, refers to the queue designation information and the queue map added to each frame data, and stores the frame data in the built-in data memory. Of the queues logically provided for each output destination, the frame data is written to the queue address corresponding to the queue designation information. Further, in response to a read instruction from the DEMUX, the MEM reads frame data from the corresponding queue by the read control unit and outputs the frame data to the DEMUX.

DEMUXは、読出部により、出力ポートごとの優先制御ロジックに基づき、MEM内の優先出力ポートに対応する出力先のキューからフレームデータを読み出して、振分部により対応する出力ポートへ振り分け、出力ポートごとに設けられた速度変換部により当該出力ポートの通信速度に変換して出力する。   The DEMUX reads out the frame data from the output destination queue corresponding to the priority output port in the MEM based on the priority control logic for each output port by the reading unit, and distributes the frame data to the corresponding output port by the distribution unit. The data is converted into the communication speed of the output port by a speed conversion unit provided for each output.

図25は、キューと出力ポートとの対応を示す説明図であり、出力ポート数が3の場合が示されている。図25(a)では、キューと出力ポートとが1対1に対応付けられているが、図25(b)のように、1対多に対応付けることにより、1つのフレームデータを複数の出力ポートが出力する場合に対応可能となる。また、図25(c)のように、出力ポートごとに、読出優先度に応じたキューを対応付けることもできる。   FIG. 25 is an explanatory diagram showing the correspondence between queues and output ports, and shows the case where the number of output ports is three. In FIG. 25A, queues and output ports are associated one-to-one, but as illustrated in FIG. 25B, one frame data is associated with a plurality of output ports. Can be handled when In addition, as shown in FIG. 25C, a queue corresponding to the read priority can be associated with each output port.

特開2011−010195号公報JP 2011-0101095 A

このような通信用入出力装置では、出力系統の増加に応じてMEMで必要とされる記憶容量が増大するため、データメモリとしてDRAMが用いられる。しかしながら、DRAMのアクセスには、各バンクにおけるロウアドレスの活性化に起因して待ち時間が発生するため、場合によっては、DRAMアクセスの実効スループットが極端に低下して、フレームデータの処理速度に追従できなくなり、通信品質が劣化するという問題点があった。   In such a communication input / output device, the storage capacity required by the MEM increases as the output system increases, so a DRAM is used as a data memory. However, since DRAM access has a waiting time due to the activation of the row address in each bank, in some cases, the effective throughput of the DRAM access is extremely reduced to follow the processing speed of frame data. There is a problem that communication quality is deteriorated because communication cannot be performed.

一般に、DRAMでは、任意のバンクの任意のロウアドレスにデータを書き込む場合、当該バンクにおいて当該ロウアドレスを活性化する必要があり、同一バンクの異なるロウアドレスにアクセスする場合には、当該ロウアドレスを用いたアクセスが完了するのを待ってから、新たなロウアドレスを活性化する必要があるため、同一バンクへのアクセスにおいて、ロウアドレスの活性化に起因して比較的大きな待ち時間が発生する。具体的には、同一バンクの異なるロウアドレスへのアクセスが連続した場合である。その他に待ち時間が発生する条件として、読み出し後の同一バンクに書き込みを行う場合、および、書き込み後の同一バンクから読み出しを行う場合がある。   In general, in a DRAM, when writing data to an arbitrary row address of an arbitrary bank, it is necessary to activate the row address in the bank. When accessing a different row address of the same bank, the row address is Since it is necessary to activate a new row address after waiting for the used access to be completed, a relatively large waiting time occurs due to the activation of the row address in accessing the same bank. Specifically, this is a case where accesses to different row addresses in the same bank are continuous. As other conditions for waiting time, there are a case where writing is performed in the same bank after reading and a case where reading is performed from the same bank after writing.

したがって、これら待ち時間がDRAMアクセスに関する実効スループットの低下原因となる。このため、特に、通信用入出力装置においては、短いフレームデータがバースト的に連続して入力される場合があり、このようなケースにおいて、頻繁に同一バンクの異なるロウアドレスへアクセスを行った場合、極端に実効スループットが低下する可能性がある。   Therefore, these waiting times cause a decrease in effective throughput related to DRAM access. Therefore, in particular, in communication I / O devices, short frame data may be input continuously in bursts. In such a case, when frequently accessing different row addresses in the same bank The effective throughput may be extremely reduced.

本発明はこのような課題を解決するためのものであり、DRAMアクセスに関する実効スループットの低下を抑制できるメモリアクセス制御技術を提供することを目的としている。   An object of the present invention is to provide a memory access control technique capable of suppressing such a decrease in effective throughput related to DRAM access.

このような目的を達成するために、本発明にかかる通信用入出力装置は、順次入力される通信データに、当該通信データを出力すべき出力系統と対応するキューを示すキュー指定情報を付加して多重化する多重化装置と、前記多重化装置から転送された前記通信データを、データメモリ内に論理的に形成した複数のキューのうち前記キュー指定情報で指定された書込対象キューへ一時蓄積する記録装置と、前記キューのうち優先制御ロジックに基づき選択した出力系統と対応する読出対象キューから前記通信データを読み出し、当該出力系統と対応する出力ポートの通信速度に変換して出力する多重分離装置とを備える通信用入出力装置であって、前記記録装置は、バンクごとに複数のロウアドレスを有するDRAMからなり、前記キューと対応する個別のロウアドレスで当該キューの通信データを記憶する前記データメモリと、前記書込対象キューに前記通信データを書き込む際、前記バンクのうち当該書込対象キューに対応する書込対象ロウアドレスが活性化状態にあるバンクを書込対象バンクとして選択して当該通信データを書き込み、当該書込対象ロウアドレスが活性化状態にあるバンクが存在しない場合は、当該書込対象ロウアドレスが非活性化状態にあるバンクを書込対象バンクとして選択して当該書込対象ロウアドレスを活性化した後に当該通信データを書き込むDRAMアクセス部とを備えている。   In order to achieve such an object, the communication input / output device according to the present invention adds queue designation information indicating a queue corresponding to an output system to which the communication data is to be output to communication data that is sequentially input. And the communication data transferred from the multiplexing device are temporarily stored in a write target queue designated by the queue designation information among a plurality of queues logically formed in a data memory. Multiplex that reads out the communication data from the queue to be read corresponding to the output system selected from the queue and the output system selected based on the priority control logic from the queue, converts it to the communication speed of the output port corresponding to the output system, and outputs it A communication input / output device comprising a separation device, wherein the recording device comprises a DRAM having a plurality of row addresses for each bank, and the queue and A write target row address corresponding to the write target queue in the bank when the communication data is written to the write target queue and the data memory storing the communication data of the queue with a corresponding individual row address Is selected as a write target bank, the communication data is written, and if there is no bank in which the write target row address is active, the write target row address is inactive. And a DRAM access unit for writing the communication data after activating the write target row address by selecting the bank in the activated state as the write target bank.

また、本発明にかかる上記通信用入出力装置の一構成例は、前記DRAMアクセス部が、前記キューと前記バンクとの組み合わせごとに、当該キューの通信データを当該バンクに書き込む際にコラムアドレスとして用いる書込ポインタ値を記憶するバンク管理メモリを有し、前記通信データを書き込む際、前記書込対象ロウアドレスと前記書込対象バンクとの組み合わせに対応する書込ポインタ値を前記バンク管理メモリから取得し、当該書込対象バンクの当該書込対象ロウアドレスのうち、当該書込ポインタ値からなるコラムアドレスに当該通信データを書き込むようにしたものである。   In addition, according to an example of the configuration of the communication input / output device according to the present invention, the DRAM access unit may use a column address when writing the communication data of the queue to the bank for each combination of the queue and the bank. A bank management memory for storing a write pointer value to be used; when writing the communication data, a write pointer value corresponding to a combination of the write target row address and the write target bank is read from the bank management memory; The communication data is acquired and written to the column address composed of the write pointer value among the write target row addresses of the write target bank.

また、本発明にかかる上記通信用入出力装置の一構成例は、前記記録装置が、前記データメモリの前記キューに対する書き込み・読み出しを制御する際に用いるキュー制御情報を記憶するキュー制御メモリと、前記キュー制御メモリのキュー制御情報に基づいて、前記多重化装置から転送された前記通信データの前記書込対象キューに対する書き込みを前記DRAMアクセス部に指示する書込制御部と、前記キュー制御メモリのキュー制御情報に基づいて、前記読出対象キューからの通信データの読み出しを前記DRAMアクセス部に指示し、読み出した通信データを前記多重分離装置へ転送する読出制御部とをさらに備え、前記キュー制御メモリは、仮想データメモリ上で用いられる仮想格納アドレスごとに、当該仮想格納アドレスに書き込まれた通信データに後続する通信データの仮想格納アドレスを示す後続アドレスを記憶し、前記キューごとに、当該キューの通信データが書き込まれている前記仮想格納アドレスの先頭および最終を示すキュー先頭アドレスおよびキュー最終アドレスを記憶し、前記各キューに共通して、次に通信データを書き込むべき仮想格納アドレスを示す次書込アドレスを記憶し、前記書込制御部は、前記書込対象キューに前記通信データを書き込む際、前記次書込アドレスからなる書込対象仮想アドレスに対する当該通信データの書き込みをDRAMアクセス部に指示し、当該書込対象キューのキュー最終アドレス、書込前のキュー最終アドレスに関する後続アドレス、および次書込アドレスをそれぞれ更新し、前記読出制御部は、前記読出対象キューから前記通信データを読み出す際、当該読出対象キューのキュー先頭アドレスからなる読出対象仮想アドレスに対する当該通信データの読み出しをDRAMアクセス部に指示し、当該読出対象キューのキュー先頭アドレス、次書込アドレス、および新たな次書込アドレスに関する後続アドレスをそれぞれ更新し、前記DRAMアクセス部は、前記書込対象仮想アドレスに対する当該通信データの書き込み指示に対して、書込対象仮想アドレスに対応する書き込み対象バンクを記録するアドレス管理メモリを有し、前記読出対象仮想アドレスに対する当該通信データの読み出し指示に対して、前記読出対象仮想アドレスに対応するバンクを前記アドレス管理メモリより読み出すことにより決定するようにしたものである。 In addition, one configuration example of the communication input / output device according to the present invention includes: a queue control memory that stores queue control information used when the recording device controls writing / reading to / from the queue of the data memory; based on the queue control information in the queue control memory, and the manual writing to write object queue that instructs the DRAM access unit writing control section of the communication data transferred from the multiplexer, the queue control memory A read control unit that instructs the DRAM access unit to read communication data from the read target queue based on the queue control information, and transfers the read communication data to the demultiplexing device. For each virtual storage address used on the virtual data memory, the memory writes to the virtual storage address. A subsequent address indicating a virtual storage address of communication data subsequent to the communication data stored, and for each of the queues, a queue head address indicating the start and end of the virtual storage address in which the communication data of the queue is written, and A queue final address is stored, a next write address indicating a virtual storage address to which communication data is to be written next is stored in common with each queue, and the write control unit stores the communication in the write target queue. When writing data, the DRAM access unit is instructed to write the communication data to the write target virtual address consisting of the next write address, and the subsequent queue address of the write target queue and the subsequent queue end address before writing Each of the address and the next write address is updated, and the read control unit reads the read target key. When reading the communication data from-, the DRAM access unit is instructed to read the communication data for the read target virtual address consisting of the queue start address of the read target queue, and the queue start address and next write address of the read target queue are read. , And a subsequent address related to the new next write address, and the DRAM access unit writes the communication data corresponding to the write target virtual address in response to the communication data write instruction for the write target virtual address. Address management memory for recording, and in response to a read instruction of the communication data for the read target virtual address, the bank corresponding to the read target virtual address is determined by reading from the address management memory It is.

また、本発明にかかる上記通信用入出力装置の一構成例は、前記記録装置が、前記キューごとに、当該キューが使用している前記仮想データメモリ上での仮想格納アドレスの数を示す使用アドレス数を記憶するキュー使用アドレス数メモリと、前記書込対象キューに前記通信データを書き込む際、当該通信データのデータ長に基づき、書き込みに必要となる仮想格納アドレスの数を示す必要アドレス数を算出し、前記キュー使用アドレス数メモリから取得した当該書込対象キューまたは前記各キューの使用アドレス数に基づき、当該書き込みに使用可能な仮想格納アドレスの数を示す残りアドレス数を算出し、当該必要アドレス数と当該残りアドレス数とを比較することにより当該通信データの書込可否を判定し、書込可の判定に応じて前記書込制御部に対して当該通信データの書き込みを指示するアクセス調停部とをさらに備えるようにしたものである。   Also, in one configuration example of the communication input / output device according to the present invention, the recording device uses, for each queue, the number of virtual storage addresses on the virtual data memory used by the queue. Queue use address number memory for storing the number of addresses, and when writing the communication data to the write target queue, based on the data length of the communication data, the required address number indicating the number of virtual storage addresses required for writing Calculate the remaining number of addresses indicating the number of virtual storage addresses that can be used for writing based on the number of used addresses in the queue to be written or each queue acquired from the queue used address number memory By comparing the number of addresses with the number of remaining addresses, it is determined whether or not the communication data can be written. It is obtained so as to further include an access arbitration unit for instructing the writing of the communication data to the write control unit.

本発明によれば、多重化装置から転送された通信データを、データメモリ内に論理的に形成した複数のキューのうちキュー指定情報で指定された書込対象キューへ一時蓄積する記録装置において、データメモリをDRAMで構成した場合でも、ロウアドレスの活性化回数を低減することができる。このため、DRAMアクセスに関する実効スループットの低下を抑制することが可能となる。   According to the present invention, in a recording device for temporarily storing communication data transferred from a multiplexing device in a write target queue designated by queue designation information among a plurality of queues logically formed in a data memory, Even when the data memory is composed of a DRAM, the number of activations of the row address can be reduced. For this reason, it is possible to suppress a decrease in effective throughput related to DRAM access.

第1の実施の形態にかかる通信用入出力装置の構成を示すブロック図である。1 is a block diagram illustrating a configuration of a communication input / output device according to a first embodiment. FIG. 第1の実施の形態にかかる記録装置の構成を示すブロック図である。1 is a block diagram illustrating a configuration of a recording apparatus according to a first embodiment. 仮想データメモリの記憶イメージの例である。It is an example of the storage image of virtual data memory. アドレスキュー管理メモリの記憶例である。It is a storage example of an address queue management memory. キュー先頭・最終アドレスメモリの記憶例である。This is a storage example of a queue head / end address memory. キュー使用アドレス数メモリの記憶例である。It is a storage example of a queue use address number memory. 第1の実施の形態にかかるDRAMアクセス部の構成を示すブロック図である。1 is a block diagram showing a configuration of a DRAM access unit according to a first embodiment. FIG. バンク管理メモリの記憶例である。It is a storage example of a bank management memory. アドレス管理メモリの記憶例である。It is a storage example of an address management memory. 書込制御部における書込動作を示す説明図である。It is explanatory drawing which shows the write-in operation | movement in a write-control part. 読出制御部における読出動作を示す説明図である。It is explanatory drawing which shows the read-out operation | movement in a read control part. データP2−1読出直前(データP2−3書込直後)のキュー制御情報を示す説明図である。It is explanatory drawing which shows the queue control information immediately before data P2-1 reading (immediately after writing data P2-3). データP2−1読出時におけるキュー制御情報の変化を示す説明図である。It is explanatory drawing which shows the change of the queue control information at the time of data P2-1 reading. データP2−1読出直後(データP2−2読出直前)のキュー制御情報を示す説明図である。It is explanatory drawing which shows the queue control information immediately after reading data P2-1 (just before reading data P2-2). データP2−2読出時におけるキュー制御情報の変化を示す説明図である。It is explanatory drawing which shows the change of the queue control information at the time of data P2-2 reading. データP2−2読出直後(データP2−4書込直前)のキュー制御情報を示す説明図である。It is explanatory drawing which shows the queue control information immediately after reading data P2-2 (just before writing data P2-4). データP2−4書込時におけるキュー制御情報の変化を示す説明図である。It is explanatory drawing which shows the change of the queue control information at the time of data P2-4 writing. データP2−4書込直後のキュー制御情報を示す説明図である。It is explanatory drawing which shows the queue control information immediately after data P2-4 writing. 第1の実施の形態にかかるDRAM書込処理を示すフローチャートである。It is a flowchart which shows the DRAM write processing concerning 1st Embodiment. 第1の実施の形態にかかるDRAM読出処理を示すフローチャートである。3 is a flowchart showing DRAM read processing according to the first embodiment; 第2の実施の形態にかかるアクセス調停部の構成を示すブロック図である。It is a block diagram which shows the structure of the access arbitration part concerning 2nd Embodiment. 判定用アドレス数情報の構成例である。It is an example of a structure of the address number information for determination. 第2の実施の形態にかかる書込可否判定処理を示すフローチャートである。It is a flowchart which shows the writability determination processing concerning 2nd Embodiment. 従来の通信用入出力装置(内蔵メモリ)の構成を示すブロック図である。It is a block diagram which shows the structure of the conventional input / output device for communication (built-in memory). キューと出力ポートとの対応を示す説明図である。It is explanatory drawing which shows a response | compatibility with a queue and an output port.

次に、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
まず、図1を参照して、本発明の第1の実施の形態にかかる通信用入出力装置1について説明する。図1は、第1の実施の形態にかかる通信用入出力装置の構成を示すブロック図である。
Next, embodiments of the present invention will be described with reference to the drawings.
[First Embodiment]
First, a communication input / output device 1 according to a first embodiment of the present invention will be described with reference to FIG. FIG. 1 is a block diagram illustrating a configuration of the communication input / output device according to the first embodiment.

この通信用入出力装置1は、インターネット通信等で使用されて、例えばイーサネット(登録商標)のフレームデータ等の通信データを入出力するための通信用入出力装置であり、1つまたは複数の入力ポートから入力された通信データを、その通信データを出力すべき出力系統ごとに分離し、当該出力系統と対応する出力ポートの通信速度に変換して出力する機能を有している。   The communication input / output device 1 is a communication input / output device for inputting / outputting communication data such as Ethernet (registered trademark) frame data, which is used in Internet communication or the like. The communication data input from the port is separated for each output system to which the communication data is to be output, converted to the communication speed of the output port corresponding to the output system, and output.

図1に示すように、通信用入出力装置1は、多重化装置(MUX)10、メモリアクセス制御機能内蔵型の多重分離装置(DEMUX)20、およびアクセス制御機能内蔵型の記録装置(MEM)30から構成されている。以下では、通信用入出力装置1で入出力する通信データがフレームデータである場合を例として説明するが、これに限定されるものではなく、パケットやATMセルなど各種の通信データを、フレームデータと同様にして入出力することも可能である。   As shown in FIG. 1, the communication input / output device 1 includes a multiplexer (MUX) 10, a demultiplexer (DEMUX) 20 with a built-in memory access control function, and a recording device (MEM) with a built-in access control function. 30. In the following, a case where communication data input / output by the communication input / output device 1 is frame data will be described as an example. However, the present invention is not limited to this, and various types of communication data such as packets and ATM cells are converted into frame data. It is also possible to input / output in the same manner as in FIG.

多重化装置10は、外部から順次入力されるフレームデータに、当該フレームデータを出力すべき出力系統と対応するキュー指定情報を付加して多重化する機能を有している。
記録装置30は、多重化装置10から転送されたフレームデータを、データメモリ内に論理的に形成した複数のキューのうち、当該フレームデータに付加されているキュー指定情報で指定された書込対象キューへ一時蓄積する機能を有している。
多重分離装置20は、記録装置30内のキューのうち優先制御に基づき選択した出力系統と対応する読出対象キューから、当該読出対象キューに一時蓄積されているフレームデータを読み出し、当該出力系統と対応する出力ポートの通信速度に変換して出力する機能を有している。
The multiplexing device 10 has a function of multiplexing the frame data sequentially input from the outside by adding queue designation information corresponding to the output system to which the frame data is to be output.
The recording device 30 writes the frame data transferred from the multiplexing device 10 into a write target designated by the queue designation information added to the frame data among a plurality of queues logically formed in the data memory. It has a function to temporarily store in a queue.
The demultiplexer 20 reads the frame data temporarily stored in the read target queue from the read target queue corresponding to the output system selected based on the priority control among the queues in the recording device 30, and corresponds to the output system. It has a function of converting and outputting the communication speed of the output port.

本実施の形態は、記録装置30において、データメモリ31Aをバンクごとに複数のロウアドレスを有するDRAMから構成して、前記キューと対応するロウアドレスで当該キューのフレームデータを記憶し、DRAMアクセス部31Bが、書込対象キューにフレームデータを書き込む際、バンクのうち当該書込対象キューに対応する書込対象ロウアドレスが活性化状態にあるバンクを書込対象バンクとして選択して当該フレームデータを書き込み、当該書込対象ロウアドレスが活性化状態にあるバンクが存在しない場合は、当該書込対象ロウアドレスが非活性化状態にあるバンクを書込対象バンクとして選択して当該書込対象ロウアドレスを活性化した後に当該フレームデータを書き込むようにしたものである。   In this embodiment, in the recording apparatus 30, the data memory 31A is composed of a DRAM having a plurality of row addresses for each bank, the frame data of the queue is stored at the row address corresponding to the queue, and the DRAM access unit When the frame data is written into the write target queue, 31B selects the bank in which the write target row address corresponding to the write target queue is activated as the write target bank, and selects the frame data. When there is no bank in which the write target row address is in the activated state, the bank in which the write target row address is in the inactive state is selected as the write target bank, and the write target row address is selected. The frame data is written after activation.

本実施の形態では、図1に示すように、入力ポートPinとして2つの入力ポートPin0,Pin1が設けられ、出力ポートPoutとして2つの出力ポートPout0,Pout1が設けられている場合を例として説明するが、入力ポートPinおよび出力ポートPoutの数については、これに限定されるものではない。入力ポートPinおよび出力ポートPoutのいずれか一方または両方を3つ以上設けることも可能であり、入力ポート数と出力ポート数が異なっていても良い。なお、入力ポート数は、1つであってもよい。   In this embodiment, as shown in FIG. 1, a case where two input ports Pin0 and Pin1 are provided as the input port Pin and two output ports Pout0 and Pout1 are provided as the output port Pout will be described as an example. However, the number of input ports Pin and output ports Pout is not limited to this. Three or more of either one or both of the input port Pin and the output port Pout can be provided, and the number of input ports and the number of output ports may be different. Note that the number of input ports may be one.

[多重化装置]
次に、図1を参照して、本実施の形態にかかる通信用入出力装置1で用いられる多重化装置10について詳細に説明する。
多重化装置10には、主な回路部として、キュー指定情報付加部11と多重化部12が設けられている。
[Multiplexer]
Next, with reference to FIG. 1, the multiplexing apparatus 10 used in the communication input / output apparatus 1 according to the present embodiment will be described in detail.
The multiplexing apparatus 10 includes a queue designation information adding unit 11 and a multiplexing unit 12 as main circuit units.

キュー指定情報付加部11は、入力ポートPin0,Pin1ごとに設けられて、対応する入力ポートPinから入力されるフレームデータに対して、当該フレームデータの出力先に対応するキュー指定情報と、当該フレームデータのフレーム長情報(Byte)とを付加して多重化部12へ出力する機能を有している。この際、フレーム長情報については、例えば、多重化部12にフレームデータを出力する際、当該フレームデータの先頭から最終までのByte数をフレーム長として計数したものを付加すればよい。   The queue designation information adding unit 11 is provided for each of the input ports Pin0 and Pin1, and for frame data input from the corresponding input port Pin, queue designation information corresponding to the output destination of the frame data, and the frame It has a function of adding data frame length information (Byte) and outputting it to the multiplexing unit 12. At this time, for example, when outputting frame data to the multiplexing unit 12, the frame length information may be added by counting the number of bytes from the beginning to the end of the frame data as the frame length.

多重化部12は、各キュー指定情報付加部11に共通して1つ設けられて、各キュー指定情報付加部11から出力されたフレームデータを時分割で多重化して、記録装置30へ出力する機能を有している。
多重化装置10において、フレームデータの出力先に対応するキューの指定については、IEEE802.1D等のブリッジ機能により実現すればよく、具体的には、MACアドレス学習による出力ポート検索、VLAN−IDによる出力ポート指定等が可能である(特許文献1など参照)。
Multiplexing unit 12 is provided in common with each queue designation information adding unit 11, multiplexes the frame data output from each queue designation information adding unit 11 in a time division manner, and outputs it to recording apparatus 30. It has a function.
In the multiplexer 10, the designation of the queue corresponding to the output destination of the frame data may be realized by a bridge function such as IEEE802.1D. Specifically, the output port search by MAC address learning and the VLAN-ID are used. The output port can be specified (see Patent Document 1).

[多重分離装置]
次に、図1を参照して、本実施の形態にかかる通信用入出力装置1で用いられる多重分離装置20について詳細説明する。
多重分離装置20には、主な回路部として、読出部21、振分部22、および速度変換部23,24が設けられている。
[Demultiplexer]
Next, the demultiplexer 20 used in the communication input / output device 1 according to the present embodiment will be described in detail with reference to FIG.
The demultiplexer 20 is provided with a reading unit 21, a distribution unit 22, and speed conversion units 23 and 24 as main circuit units.

読出部21は、記録装置30から取得した各キューの蓄積状況や速度変換部23,24から出力された読出停止指示信号を参照し、出力ポートPout0,Pout1ごとの優先制御ロジックに基づいてフレームデータを優先して出力すべき出力系統を選択する機能と、当該出力系統と対応する読出対象キューからのフレームデータの読み出しを要求する読み出し要求を出力する機能と、これに応じて記録装置30から転送されたフレームデータを、振分部22へ出力する機能を有している。
優先制御ロジックについては、例えば各キューの容量が同じ場合であれば、読み出し可能なキューの中でキューに蓄積されている通信データの量が最も多いキューから読み出しを行う等、一般的な優先制御ロジックを用いればよい(特許文献1など参照)。
The reading unit 21 refers to the accumulation status of each queue acquired from the recording device 30 and the reading stop instruction signal output from the speed conversion units 23 and 24, and the frame data based on the priority control logic for each of the output ports Pout0 and Pout1. A function for selecting an output system to be output with priority, a function for outputting a read request for reading frame data from a read target queue corresponding to the output system, and a transfer from the recording apparatus 30 in response thereto The frame data is output to the distribution unit 22.
For priority control logic, for example, if the capacity of each queue is the same, general priority control such as reading from the queue with the largest amount of communication data stored in the queue among readable queues. Logic may be used (see Patent Document 1).

また、読出部21は、記録装置30に読み出し要求を出力する際、読み出し対象となるキューを指定するキュー指定情報に加えて、読み出しデータのデータ量を示す読出データ量情報を記録装置30に指示する。
読出データ量情報については、例えば読み出しを行うキューのデータ蓄積量が予め設定した閾値以下の場合は、データ蓄積量に等しい値を読出データ量情報として出力し、閾値を超えていた場合は、閾値の値を読出データ量情報として出力すればよい。
In addition, when the reading unit 21 outputs a read request to the recording device 30, the reading unit 21 instructs the recording device 30 with read data amount information indicating the data amount of the read data in addition to the queue designation information that specifies the queue to be read. To do.
For the read data amount information, for example, when the data accumulation amount of the queue to be read is equal to or less than a preset threshold value, a value equal to the data accumulation amount is output as the read data amount information. May be output as read data amount information.

振分部22は、読出部21から出力されたフレームデータを、当該フレームデータに付加されているキュー指定情報に基づいて、対応する出力ポートの速度変換部23,24へ振り分ける機能を有している。
速度変換部23,24は、出力ポートごとに設けられて、振分部22から振り分けられたフレームデータを当該出力ポートの通信速度に変換して出力する機能と、フレームデータの出力状況に応じて読出停止指示信号を読出部21に出力する機能とを有している。
なお、フレームデータに付加されているキュー指定情報は、振分部22もしくは速度変換部23,24で削除される。
The distribution unit 22 has a function of distributing the frame data output from the reading unit 21 to the speed conversion units 23 and 24 of the corresponding output port based on the queue designation information added to the frame data. Yes.
The speed converters 23 and 24 are provided for each output port, and according to the function of converting the frame data distributed from the distribution unit 22 into the communication speed of the output port and outputting the same, and the output status of the frame data A function of outputting a reading stop instruction signal to the reading unit 21.
The queue designation information added to the frame data is deleted by the distribution unit 22 or the speed conversion units 23 and 24.

[記録装置]
次に、図2を参照して、本実施の形態にかかる通信用入出力装置1で用いられる記録装置30について詳細説明する。図2は、第1の実施の形態にかかる記録装置の構成を示すブロック図である。
[Recording device]
Next, the recording device 30 used in the communication input / output device 1 according to the present embodiment will be described in detail with reference to FIG. FIG. 2 is a block diagram illustrating a configuration of the recording apparatus according to the first embodiment.

図2に示すように、記録装置30には、主な回路部として、データメモリ31A、DRAMアクセス部31B、キュー制御メモリ32、書込制御部33、読出制御部34、キュー使用アドレス数メモリ35、およびアクセス調停部36が設けられている。   As shown in FIG. 2, the recording device 30 includes, as main circuit units, a data memory 31A, a DRAM access unit 31B, a queue control memory 32, a write control unit 33, a read control unit 34, and a queue use address number memory 35. And an access arbitration unit 36 are provided.

データメモリ31Aは、バンク(Bank)ごとに複数のロウアドレス(Row Address)を有する一般的なDRAM(DRAMチップ)からなり、キューと対応するロウアドレスで当該キューのフレームデータを記憶する機能を有している。具体的には、データメモリ31Aを1つ、もしくは、複数のDRAMチップで構成して、各出力系統のキューに対応させればよく、出力系統ごとにそれぞれ1つのキューを持たせる構成の他、1つの出力系統に複数のキューを持たせることも可能である。本実施の形態では、キューとロウアドレスとが対応しており、1つのDRAMチップを複数のキューで共用することになる。   The data memory 31A is composed of a general DRAM (DRAM chip) having a plurality of row addresses for each bank, and has a function of storing frame data of the queue at the row address corresponding to the queue. doing. Specifically, the data memory 31A may be configured by one or a plurality of DRAM chips to correspond to the queues of each output system. In addition to the configuration in which each output system has one queue, It is also possible to have a plurality of queues in one output system. In this embodiment, the queue corresponds to the row address, and one DRAM chip is shared by a plurality of queues.

データメモリ31Aには、固有の格納アドレスを持つ複数の格納領域が設けられている。各キューはデータメモリ31Aの格納アドレスと同等な仮想格納アドレスを持つ仮想データメモリの仮想格納領域を、仮想格納アドレスの連続・不連続あるいは昇順・降順に関わらず任意に連結することにより構成されている。なお、仮想格納アドレスは、DRAMへのアクセスに用いる実際のロウアドレス、コラムアドレス(Column Address)、およびバンク番号とは独立した、フレームデータの管理に用いられるものであり、仮想的なメモリ空間におけるアドレス情報である。
図3は、仮想データメモリの記憶イメージの例である。ここでは、それぞれ固有の仮想格納アドレスADM(0〜N:Nは2以上の整数)を持つ仮想格納領域ごとに、書込制御部33から書き込まれたデータを記憶している場合のイメージを示している。
The data memory 31A is provided with a plurality of storage areas having unique storage addresses. Each queue is configured by arbitrarily connecting virtual storage areas of a virtual data memory having a virtual storage address equivalent to the storage address of the data memory 31A regardless of whether the virtual storage addresses are continuous / discontinuous or in ascending / descending order. Yes. The virtual storage address is used for managing frame data independent of the actual row address, column address (Column Address), and bank number used for accessing the DRAM, and is used in a virtual memory space. Address information.
FIG. 3 is an example of a storage image of the virtual data memory. Here, an image in the case where the data written from the write control unit 33 is stored for each virtual storage area having a unique virtual storage address ADM (0 to N: N is an integer of 2 or more) is shown. ing.

この際、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つの仮想格納領域に格納される。   At this time, if one frame is longer than the data size for one virtual address, one frame is divided into a plurality of data D in accordance with the data size for one virtual address, and written to a plurality of different virtual storage addresses. For example, in the case of FIG. 3, the virtual storage addresses 0, 1, and 4 store the data P1-1, P1-2, and P1-3 of the queue P1, and the virtual storage addresses 2, 3, and 5 Data P2-1, P2-2, and P2-3 of the queue P2 are stored. The order relation of these data and the correspondence relation with the frame are managed by an address queue management memory described later. When one frame is shorter than the data size of the virtual storage area, the frame data is stored in one virtual storage area.

DRAMアクセス部31Bは、書込制御部33からのDRAM書込指示に応じて、データメモリ31A内の書込対象キューと対応する書込対象ロウアドレスにフレームデータを書き込む機能と、読出制御部34からのDRAM読出指示に応じて、データメモリ31A内の読出対象キューと対応する書込対象ロウアドレスからフレームデータを読み出す機能とを有している。   The DRAM access unit 31B, in response to a DRAM write instruction from the write control unit 33, writes frame data to the write target row address corresponding to the write target queue in the data memory 31A, and the read control unit 34. Has a function of reading frame data from a write target row address corresponding to a read target queue in the data memory 31A in accordance with a DRAM read instruction from the.

DRAMアクセス部31Bは、フレームデータを書き込む際、DRAMが有するバンクのうち書込対象キューに対応する書込対象ロウアドレスが活性化状態にあるバンクを書込対象バンクとして選択してフレームデータを書き込む機能と、当該書込対象ロウアドレスが活性化状態にあるバンクが存在しない場合は、当該書込対象ロウアドレスが非活性化状態にあるバンクを書込対象バンクとして選択して当該書込対象ロウアドレスを活性化した後にフレームデータを書き込む機能とを有している。   When writing the frame data, the DRAM access unit 31B selects the bank in which the write target row address corresponding to the write target queue is activated among the banks of the DRAM as the write target bank, and writes the frame data. If there is no bank in which the function and the write target row address are activated, the bank in which the write target row address is deactivated is selected as the write target bank. A function of writing frame data after activating the address.

また、DRAMアクセス部31Bは、フレームデータを書き込む際、指定された仮想格納アドレスに対応するバンクとして書込対象バンクを記憶する機能と、フレームデータを読み出す際、指定された仮想格納アドレスと対応するバンクから読出対象バンクを特定する機能と、当該読出対象バンクにおいて読出対象キューに対応する読出対象ロウアドレスが活性化状態にある場合は、当該読出対象バンクの読出対象ロウアドレスからフレームデータを読み出し、当該読出対象バンクで読出対象ロウアドレス活性化状態にない場合は、当該読出対象バンクの読出対象ロウアドレスを活性化した後にフレームデータを読み出す機能とを有している。   The DRAM access unit 31B also stores a write target bank as a bank corresponding to the designated virtual storage address when writing the frame data, and corresponds to the designated virtual storage address when reading the frame data. A function for identifying a bank to be read from a bank and, when a read target row address corresponding to a read target queue is in an activated state in the read target bank, frame data is read from the read target row address of the read target bank; When the read target bank is not in the read target row address activated state, the read target row address of the read target bank is activated and then the frame data is read.

キュー制御メモリ32は、例えばSRAMチップなどの半導体メモリからなり、データメモリ31A上に形成されている各キューに対するフレームデータの書き込み・読み出しを制御する際に用いる各種のキュー制御情報を記憶する機能を有している。
キュー制御メモリ32は、レジスタやメモリからなる複数の記憶部を含んでおり、主な記憶部として、空きアドレスレジスタ(VAR,UAR)32A、アドレスキュー管理メモリ(QM)32B、キュー先頭・最終アドレスメモリ(SAR,LAR)32C、および作業用アドレスレジスタ(TMPV,TMPL)32Dを有している。なお、以下では理解を容易とするため、レジスタ名を変数名として用いて説明する場合がある。
The queue control memory 32 is composed of a semiconductor memory such as an SRAM chip, for example, and has a function of storing various queue control information used when controlling writing / reading of frame data to / from each queue formed on the data memory 31A. Have.
The queue control memory 32 includes a plurality of storage units composed of registers and memories. The main storage units include a free address register (VAR, UAR) 32A, an address queue management memory (QM) 32B, and a queue head / end address. A memory (SAR, LAR) 32C and a work address register (TMPV, TMPL) 32D are provided. In the following description, register names are sometimes used as variable names for easy understanding.

空きアドレスレジスタ(VAR,UAR)32Aは、各キューに共通して、次書込アドレスVARと未書込アドレスUARとを記憶する機能を有している。このうち、VAR(Valid Address Register)は、多重化装置10から次に受け取ったフレームデータを書き込む際、当該フレームデータを次に書き込むべき仮想格納アドレスを示すアドレス情報である。また、UAR(Unused Address Register)は、初期化後にまだ一度もデータが書き込まれていない未使用の仮想格納アドレスのうちの先頭(若番)を示す格納アドレスである。   The empty address register (VAR, UAR) 32A has a function of storing the next write address VAR and the unwritten address UAR in common to each queue. Among them, VAR (Valid Address Register) is address information indicating a virtual storage address to which the frame data is to be written next when the frame data received from the multiplexing apparatus 10 is written next. UAR (Unused Address Register) is a storage address indicating the head (young number) of unused virtual storage addresses to which no data has been written yet after initialization.

本実施の形態では、フレームデータ書き込み時、仮想格納アドレスの若番から順に使用することを基本としており、フレームデータの読み出しにより空き状態となった仮想格納アドレスについては、未使用の仮想格納アドレスより優先して再使用するものとする。なお、再使用する仮想格納アドレスの順序については、例えば直近に空き状態となった仮想格納アドレスから順に再使用するなど、任意の順序でよく、若番の順に限定されない。   In this embodiment, when writing frame data, the virtual storage addresses are basically used in order from the youngest. For virtual storage addresses that have become empty due to reading of frame data, the unused virtual storage addresses are used. It shall be reused with priority. The order of the virtual storage addresses to be reused may be any order, for example, the virtual storage addresses that have recently become empty, and may be reused in order, and is not limited to the lowest number.

アドレスキュー管理メモリ(QM)32Bは、仮想格納アドレスADMごとに、後続仮想アドレスADD(ADDress)とポインタPN(Pointer of QM)とを記憶する機能を有している。
図4は、アドレスキュー管理メモリの記憶例である。このうち、ADDは、当該仮想格納アドレスに書き込まれた通信データに後続する通信データが格納されている仮想格納アドレスである。また、PNは、当該仮想格納アドレスに格納されているデータにフレームデータの最終データを含むか否かを示す情報(フレーム終端フラグ:EoF)である。
The address queue management memory (QM) 32B has a function of storing a subsequent virtual address ADD (ADDress) and a pointer PN (Pointer of QM) for each virtual storage address ADM.
FIG. 4 is a storage example of the address queue management memory. Among these, ADD is a virtual storage address in which communication data subsequent to the communication data written to the virtual storage address is stored. PN is information (frame end flag: EoF) indicating whether or not the data stored at the virtual storage address includes the final data of the frame data.

キュー先頭・最終アドレスメモリ(SAR,LAR)32Cは、キューごとに、キュー先頭アドレスSAR(Start Address register of PM)およびキュー最終アドレスLAR(Last Address register of PM)を記憶する機能を有している。
図5は、キュー先頭・最終アドレスメモリの記憶例である。ここでは、キューを識別するためのキューID(キュー番号)ごとに、SARとLARを記憶している。このうち、SARは、当該キューのフレームデータが書き込まれている仮想格納アドレスの先頭を示すアドレス情報である。また、LARは、当該キューのフレームデータが書き込まれている仮想格納アドレスの最終を示すアドレス情報である。
The queue head / last address memory (SAR, LAR) 32C has a function of storing a queue head address SAR (Start Address register of PM) and a queue last address LAR (Last Address register of PM) for each queue. .
FIG. 5 shows a storage example of the queue head / end address memory. Here, SAR and LAR are stored for each queue ID (queue number) for identifying the queue. Among these, the SAR is address information indicating the head of the virtual storage address where the frame data of the queue is written. LAR is address information indicating the final virtual storage address in which the frame data of the queue is written.

作業用アドレスレジスタ(TMPV,TMPL)32Dは、各キューに共通して、作業用次書込アドレスTMPV(Temporary register for VAR)と作業用キュー最終アドレスTMPL(Temporary register for LAR)を記憶する機能を有している。
このうち、TMPVは、直前に書き込み・読み出しを行ったキューの次書込アドレスVARを示すアドレス情報である。また、TMPLは、最後に書き込みを行ったキューの直前(更新前)のキュー最終アドレスLARを示すアドレス情報である。これらは、それぞれのデータの書き込み・読み出し作業の処理手順の関係から一時的にアドレス情報を保持するために使用されるものであるが、次の書き込み・読み出し作業に用いることもある。
The work address register (TMPV, TMPL) 32D has a function of storing a work next write address TMPV (Temporary register for VAR) and a work queue final address TMPL (Temporary register for LAR) in common with each queue. Have.
Among these, TMPV is address information indicating the next write address VAR of the queue in which writing / reading was performed immediately before. TMPL is address information indicating the queue final address LAR immediately before (before update) the queue in which writing was last performed. These are used to temporarily hold address information because of the processing procedure of each data write / read operation, but may also be used for the next write / read operation.

書込制御部33は、アクセス調停部36からの書き込み指示に応じて、キュー制御メモリ32のキュー制御情報に基づいて、書込対象キューと仮想格納アドレス(TMPV)を指定した、フレームデータの書き込みを指示するDRAM書込指示を、DRAMアクセス部31Bへ出力する機能を有している。   The write control unit 33 writes the frame data in which the write target queue and the virtual storage address (TMPV) are specified based on the queue control information in the queue control memory 32 in accordance with the write instruction from the access arbitration unit 36. Has a function of outputting a DRAM write instruction for instructing to the DRAM access unit 31B.

読出制御部34は、アクセス調停部36からの読み出し指示に応じて、キュー制御メモリ32のキュー制御情報に基づいて、読出対象キューと仮想格納アドレス(SAR)を指定した、読出対象キューからの先頭データの読み出しを指示するDRAM読出指示を、DRAMアクセス部31Bへ出力する機能と、当該データをフレーム終端フラグおよびキュー指定情報とともに多重分離装置20へ転送する機能とを有している。   The read control unit 34 specifies the read target queue and the virtual storage address (SAR) based on the queue control information in the queue control memory 32 according to the read instruction from the access arbitration unit 36, and starts the head from the read target queue. It has a function of outputting a DRAM read instruction for instructing reading of data to the DRAM access unit 31B and a function of transferring the data to the demultiplexing device 20 together with a frame end flag and queue designation information.

キュー使用アドレス数メモリ35は、例えばSRAMチップなどの半導体メモリからなり、キューごとに、当該キューに蓄積されているフレームデータが使用している仮想アドレス数NKを記憶する機能と、多重分離装置20およびアクセス調停部36からの要求に応じて、指定されたキューの仮想アドレス数NKを出力する機能とを有している。
図6は、キュー使用アドレス数メモリの記憶例である。ここでは、キューを識別するためのキューID(キュー番号)ごとに、当該キューの仮想アドレス数NKが記憶されている。
The queue use address number memory 35 includes a semiconductor memory such as an SRAM chip, for example, and stores the virtual address number NK used by the frame data stored in the queue for each queue, and the demultiplexer 20. And a function of outputting the number NK of virtual addresses in the designated queue in response to a request from the access arbitration unit 36.
FIG. 6 is a storage example of the queue use address number memory. Here, for each queue ID (queue number) for identifying a queue, the number NK of virtual addresses of the queue is stored.

アクセス調停部36は、多重化装置10から転送されたフレームデータを受け取り、当該フレームデータに付加されているフレーム長情報に基づき、フレームデータを1仮想アドレス分のデータサイズで複数のデータDに分割することにより書込回数を計算する機能と、この書込回数分だけ、それぞれのデータDに関する、当該フレームデータに付加されているキュー指定情報で指定された書込対象キューへの書き込みを指示する書き込み指示を書込制御部33に出力する機能と、当該フレームデータの書き込みにより増加する仮想アドレス数を、キュー使用アドレス数メモリ35の当該書込対象キューの仮想アドレス数NKに加算する機能とを有している。   The access arbitration unit 36 receives the frame data transferred from the multiplexer 10 and divides the frame data into a plurality of data D with a data size of one virtual address based on the frame length information added to the frame data. The function of calculating the number of times of writing by this, and writing to the write target queue designated by the queue designation information added to the frame data for each data D by the number of times of writing is instructed. A function of outputting a write instruction to the write control unit 33 and a function of adding the number of virtual addresses increased by writing the frame data to the number of virtual addresses NK of the write target queue in the queue use address number memory 35. Have.

また、アクセス調停部36は、多重分離装置20からの読み出し要求に応じて、当該読み出し要求の読出データ量情報で指定されたデータ量を1仮想アドレス分のデータサイズで分割することにより読出回数を計算する機能と、この読出回数分だけ、当該読み出し要求のキュー指定情報で指定された読出対象キューからのフレームデータの読み出しを指示する読み出し指示を読出制御部34へ出力する機能と、当該フレームデータの読み出しにより減少する仮想アドレス数を、キュー使用アドレス数メモリ35の当該書込対象キューの仮想アドレス数NKから減算する機能と、フレームデータの書き込みとの競合を調停し、読み出し可能なタイミングで読み出し指示を出力する機能とを有している。   Further, in response to a read request from the demultiplexer 20, the access arbitration unit 36 divides the data amount specified by the read data amount information of the read request by the data size for one virtual address, thereby reducing the number of reads. A function for calculating, a function for outputting to the read control unit 34 a read instruction for instructing reading of frame data from the read target queue designated by the queue designation information of the read request, and the frame data Read out at a readable timing by arbitrating the conflict between the function of subtracting the number of virtual addresses that are reduced by reading from the virtual address number NK of the write target queue in the queue use address number memory 35 and the writing of frame data. And a function of outputting instructions.

[DRAMアクセス部]
次に、図7を参照して、本実施の形態にかかる記録装置30で用いられるDRAMアクセス部31Bについて説明する。図7は、第1の実施の形態にかかるDRAMアクセス部の構成を示すブロック図である。
DRAMアクセス部31Bには、主な回路部として、FIFOメモリ51、活性化処理部52、アクセス種別判定部53、バンク管理メモリ54、アドレス管理メモリ55、DRAM書込部56、およびDRAM読出部57が設けられている。
[DRAM access section]
Next, the DRAM access unit 31B used in the recording apparatus 30 according to the present embodiment will be described with reference to FIG. FIG. 7 is a block diagram showing the configuration of the DRAM access unit according to the first embodiment.
The DRAM access unit 31B includes, as main circuit units, a FIFO memory 51, an activation processing unit 52, an access type determination unit 53, a bank management memory 54, an address management memory 55, a DRAM writing unit 56, and a DRAM reading unit 57. Is provided.

FIFOメモリ51は、一般的なFIFOメモリからなり、書込制御部33からのDRAM書込指示および読出制御部34からのDRAM読出指示を混在させて蓄積する機能と、活性化処理部52によるロウアドレスの活性化完了後、蓄積していたDRAM書込指示またはDRAM読出指示を入力順に読み出してアクセス種別判定部53へ出力する機能を有している。この際、アクセス種別判定のための情報として、書込制御部33からのDRAM書込指示なのか、もしくは、読出制御部34からのDRAM読出指示なのかを示す情報を、それぞれの指示と合わせてFIFOメモリ51に書き込んで、その情報もアクセス種別判定部53に出力するようにしてもよい。   The FIFO memory 51 is composed of a general FIFO memory. The FIFO memory 51 has a function of storing a DRAM write instruction from the write control unit 33 and a DRAM read instruction from the read control unit 34 in a mixed manner, and a row by the activation processing unit 52. After the address activation is completed, it has a function of reading the accumulated DRAM write instruction or DRAM read instruction in the order of input and outputting it to the access type determination unit 53. At this time, as information for determining the access type, information indicating whether it is a DRAM write instruction from the write control unit 33 or a DRAM read instruction from the read control unit 34 is combined with each instruction. The information may also be output to the access type determination unit 53 by writing into the FIFO memory 51.

なお、図21に示すアクセス調停部36を使用する場合、書込制御部33からのDRAM書込指示と読出制御部34からのDRAM読出指示が同時に入力されることはないはずであるが、これらが同時に入力された場合には、FIFOメモリ51に対するDRAM書込指示の書込みを優先し、FIFOメモリ51に対するDRAM読出指示の書込みを待たせるようにすればよい。   When the access arbitration unit 36 shown in FIG. 21 is used, the DRAM write instruction from the write control unit 33 and the DRAM read instruction from the read control unit 34 should not be input at the same time. Are simultaneously input, the writing of the DRAM writing instruction to the FIFO memory 51 may be prioritized and the writing of the DRAM reading instruction to the FIFO memory 51 may be waited.

活性化処理部52は、FIFOメモリ51にDRAM書込指示が蓄積された場合、DRAMが有するバンクのうちDRAM書込指示で指定された書込対象キューに対応する書込対象ロウアドレスが活性化状態にあるバンクを書込対象バンクとして選択する機能と、書込対象バンクが書込不可の場合は書込対象ロウアドレスが活性化状態にある他のバンクを新たな書込対象バンクとして選択する機能と、当該書込対象ロウアドレスが活性化状態にあるバンクが存在しない場合および書込対象ロウアドレスが活性化状態にある書込可能なバンクが存在しない場合は、当該書込対象ロウアドレスが非活性化状態にあるバンクを書込対象バンクとして選択して当該書込対象ロウアドレスを活性化する機能とを有している。   When the DRAM write instruction is stored in the FIFO memory 51, the activation processing unit 52 activates the write target row address corresponding to the write target queue specified by the DRAM write instruction in the bank of the DRAM. A function for selecting a bank in a state as a write target bank and, if the write target bank is not writable, selects another bank whose write target row address is in an activated state as a new write target bank If there is no function and a bank in which the write target row address is activated, and there is no writable bank in which the write target row address is activated, the write target row address is A function to select a bank in an inactive state as a write target bank and activate the write target row address.

この際、書込対象バンクを選択する際、空き領域の有無だけでなく、書込対象バンクの書込対象ロウアドレスに、書込対象キューに関するデータが存在しているバンクを、書込対象バンクとして選択するようにしてもよい。
また、各バンクへの書込可否については、例えばバンク管理メモリ54において、バンクごとに、書込可否を示す書込可否情報を記憶しておき、この書込可否情報に基づき書込可否を判定するようにしもよい。
At this time, when selecting the write target bank, not only the presence / absence of an empty area, but also the bank in which the data related to the write target queue exists in the write target row address of the write target bank You may make it select as.
In addition, with regard to whether or not writing to each bank is possible, for example, in the bank management memory 54, write enable / disable information indicating whether or not write is possible is stored for each bank, and write enable / disable is determined based on this write enable / disable information. You may do it.

バンク管理メモリ54において、バンクごと(キュー指定情報ごと)に書込可能情報を記憶する場合、書込可能情報の初期値は書込可とし、例えば、更新された書込ポインタ値WPが、対応する読出ポインタ値RPと同じ値になった時に書込不可(空き領域無し)とすればよい。また、書込不可状態でデータの読み出しが実施されて、読出ポインタ値RPが更新され、書込ポインタ値WPと異なる値となった時に書込可とすればよい。   In the bank management memory 54, when writable information is stored for each bank (for each queue designation information), the initial value of the writable information is writable. For example, the updated write pointer value WP corresponds to When the read pointer value RP is the same as the read pointer value RP, writing is disabled (no free area). In addition, it is only necessary to enable writing when data is read in the write disabled state and the read pointer value RP is updated to a value different from the write pointer value WP.

また、活性化処理部52は、FIFOメモリ51にDRAM読出指示が蓄積された場合、DRAM読出指示で指定された仮想格納アドレスと対応する読出対象バンクをアドレス管理メモリ55により特定する機能と、当該読出対象バンクにおいてDRAM読出指示で指定された読出対象キューに対応する読出対象ロウアドレスが活性化状態にない場合には、当該読出対象バンクにおいて読出対象ロウアドレスを活性化する機能と、当該読出対象バンクにおいて読出対象ロウアドレスとは異なるロウアドレスが活性化状態にある場合は、当該ロウアドレスへのアクセス完了に応じて、読出対象ロウアドレスを活性化する機能とを有している。   In addition, when the DRAM read instruction is accumulated in the FIFO memory 51, the activation processing unit 52 specifies a read target bank corresponding to the virtual storage address specified by the DRAM read instruction by the address management memory 55, and When the read target row address corresponding to the read target queue designated by the DRAM read instruction in the read target bank is not activated, the function of activating the read target row address in the read target bank, and the read target When a row address different from the read target row address is in the activated state in the bank, the read target row address is activated in response to the completion of access to the row address.

アクセス種別判定部53は、FIFOメモリ51から出力されたDRAM書込指示をDRAM書込部56へ振り分けて出力する機能と、FIFOメモリ51から出力されたDRAM読出指示をDRAM読出部57へ振り分けて出力する機能とを有している。   The access type determination unit 53 distributes the DRAM write instruction output from the FIFO memory 51 to the DRAM write unit 56 and distributes the DRAM read instruction output from the FIFO memory 51 to the DRAM read unit 57. It has a function to output.

バンク管理メモリ54は、例えばSRAMチップなどの半導体メモリからなり、キューとバンクとの組み合わせごとに、当該キューの通信データを当該バンクに書き込む際にコラムアドレスとして用いる書込ポインタ値WPを記憶する機能と、キューとバンクとの組み合わせごとに、当該キューの通信データを当該バンクから読み出す際にコラムアドレスとして用いる読出ポインタ値RPとを記憶する機能とを有している。   The bank management memory 54 is composed of a semiconductor memory such as an SRAM chip, for example, and stores a write pointer value WP that is used as a column address when writing communication data of the queue into the bank for each combination of the queue and the bank. And a function of storing a read pointer value RP used as a column address when reading communication data of the queue from the bank for each combination of the queue and the bank.

図8は、バンク管理メモリの記憶例である。ここでは、キューを識別するためのキューID(キュー番号)とバンクを機別するためのバンク番号との組み合わせごとに、書込ポインタ値WPと読出ポインタ値RPとが記憶されている。なお、書込ポインタ値WPと読出ポインタ値RPの初期値は、同じ値からなるものとする。   FIG. 8 shows a storage example of the bank management memory. Here, a write pointer value WP and a read pointer value RP are stored for each combination of a queue ID (queue number) for identifying a queue and a bank number for identifying a bank. It is assumed that the initial value of the write pointer value WP and the read pointer value RP are the same value.

例えば、キューP2のうち、バンク#0において書込ポインタ値はWP2#0であり、バンク#0が書込対象バンクである場合、WP2#0が示すコラムアドレスにキューP2の新たなフレームデータが書き込まれることになる。また、キューP2のうち、バンク#1において読出ポインタ値はRP2#1であり、バンク#1が読出対象バンクである場合、RP2#1が示すコラムアドレスからキューP2のフレームデータが読み出されることになる。   For example, in the queue P2, in the bank # 0, the write pointer value is WP2 # 0, and when the bank # 0 is the write target bank, the new frame data in the queue P2 is stored in the column address indicated by the WP2 # 0. Will be written. In the queue P2, the read pointer value is RP2 # 1 in the bank # 1, and when the bank # 1 is the read target bank, the frame data in the queue P2 is read from the column address indicated by the RP2 # 1. Become.

アドレス管理メモリ55は、例えばSRAMチップなどの半導体メモリからなり、仮想格納アドレスごとに、当該仮想格納アドレスと対応するフレームデータが書き込まれたバンクのバンク番号を記憶する機能を有している。
図9は、アドレス管理メモリの記憶例である。ここでは、仮想格納アドレスADMごとに、当該仮想格納アドレスと関連付けられたフレームデータが書き込まれているバンクのバンク番号が記憶されている。例えば、仮想格納アドレス「2」と関連付けられたフレームデータは、バンク番号「#1」に書き込まれており、フレームデータ読出時には、このバンク番号と対応するバンクが読出対象バンクとなる。
The address management memory 55 is composed of a semiconductor memory such as an SRAM chip, for example, and has a function of storing a bank number of a bank in which frame data corresponding to the virtual storage address is written for each virtual storage address.
FIG. 9 is a storage example of the address management memory. Here, for each virtual storage address ADM, the bank number of the bank in which the frame data associated with the virtual storage address is written is stored. For example, the frame data associated with the virtual storage address “2” is written in the bank number “# 1”, and when reading the frame data, the bank corresponding to this bank number becomes the bank to be read.

DRAM書込部56は、入力されたDRAM書込指示における書込対象ロウアドレスと書込対象バンクとの組み合わせに基づき、バンク管理メモリ54から書込ポインタ値WPを取得する機能と、書込対象バンクの書込対象ロウアドレスのうち、書込ポインタ値WPからなるコラムアドレスに、DRAM書込指示で指定されたフレームデータ(データD)を書き込む機能と、1仮想格納アドレス分のデータ長に相当するポインタ値だけ、バンク管理メモリ54内の当該書込ポインタ値WPを更新する機能と、アドレス管理メモリ55のうちDRAM書込指示で指定された仮想格納アドレスのバンクとして、書込対象バンクを書き込む機能とを有している。   The DRAM writing unit 56 has a function of acquiring a write pointer value WP from the bank management memory 54 based on a combination of a write target row address and a write target bank in the input DRAM write instruction, and a write target A function for writing frame data (data D) designated by a DRAM write instruction to a column address consisting of a write pointer value WP, among the write target row addresses of a bank, and a data length corresponding to one virtual storage address The write target bank is written as the bank of the virtual storage address designated by the DRAM write instruction in the address management memory 55 and the function of updating the write pointer value WP in the bank management memory 54 by the pointer value to be It has a function.

この際、1格納アドレス分のフレームデータ(データD)の書き込みに、複数のコラムアドレスが必要な場合は、DRAMの機能であるバーストモードを用いて、連続するコラムアドレスに書き込みを行うようにしてもよく、書込所要時間を短縮できる。
また、データメモリ31Aに対してEoF値(PN)の書き込みも行う場合は、フレームデータの書き込みと同時に行えばよい。
At this time, if a plurality of column addresses are required for writing frame data (data D) for one storage address, the burst mode, which is a function of the DRAM, is used to write to consecutive column addresses. The writing time can be shortened.
Further, when the EoF value (PN) is also written to the data memory 31A, it may be performed simultaneously with the writing of the frame data.

DRAM読出部57は、入力されたDRAM読出指示における読出対象ロウアドレスと読出対象バンクとの組み合わせに基づき、バンク管理メモリ54から読出ポインタ値RPを取得する機能と、読出対象バンクの読出対象ロウアドレスのうち、読出ポインタ値RPからなるコラムアドレスからフレームデータ(データD)を読み出して、キュー指定情報とともに読出制御部34へ出力する機能と、1仮想格納アドレス分のデータ長に相当するポインタ値だけ、バンク管理メモリ54内の当該読出ポインタ値RPを更新する機能とを有している。   The DRAM reading unit 57 has a function of acquiring the read pointer value RP from the bank management memory 54 based on the combination of the read target row address and the read target bank in the input DRAM read instruction, and the read target row address of the read target bank. Of these, only the function of reading frame data (data D) from the column address consisting of the read pointer value RP and outputting it to the read control unit 34 together with the queue designation information, and the pointer value corresponding to the data length of one virtual storage address. And a function of updating the read pointer value RP in the bank management memory 54.

この際、1仮想格納アドレス分のフレームデータ(データD)の読み出しに、複数のコラムアドレスが必要な場合は、DRAMの機能であるバーストモードを用いて、連続するコラムアドレスから読み出しを行うようにしてもよく、読出所要時間を短縮できる。
また、データメモリ31Aに対してEoF値(PN)が書き込まれている場合は、フレームデータの読み出しと同時にEoF値の読み出しを行えばよい。
At this time, when a plurality of column addresses are required for reading frame data (data D) for one virtual storage address, reading is performed from successive column addresses using the burst mode which is a function of the DRAM. The time required for reading can be shortened.
When the EoF value (PN) is written in the data memory 31A, the EoF value may be read simultaneously with the reading of the frame data.

読み出したEoF値は、フレームデータおよびキュー指定情報とともに読出制御部34へ出力すればよい。なお、データメモリ31AにEoF値を書き込まない場合は、アドレスキュー管理メモリ(QM)32BにEoF値を書き込んでおき、読出制御部34がキュー指定情報とともにこのEoF値をDRAMアクセス部31Bに出力し、DRAM読出部57がデータメモリ31Aから読み出したフレームデータとともに、アドレス種別判定部53を介して受け取ったEoF値を読出制御部34へ出力すればよい。   The read EoF value may be output to the read control unit 34 together with the frame data and the queue designation information. If the EoF value is not written in the data memory 31A, the EoF value is written in the address queue management memory (QM) 32B, and the read control unit 34 outputs this EoF value together with the queue designation information to the DRAM access unit 31B. The EoF value received via the address type determination unit 53 may be output to the read control unit 34 together with the frame data read from the data memory 31A by the DRAM reading unit 57.

[第1の実施の形態の動作]
次に、図10および図11を参照して、本実施の形態にかかる通信用入出力装置1で用いられる記録装置30の動作について説明する。
図10は、書込制御部における書込動作を示す説明図である。図11は、読出制御部における読出動作を示す説明図である。
[Operation of First Embodiment]
Next, the operation of the recording device 30 used in the communication input / output device 1 according to the present embodiment will be described with reference to FIGS.
FIG. 10 is an explanatory diagram showing a write operation in the write control unit. FIG. 11 is an explanatory diagram showing a read operation in the read control unit.

[書き込み動作]
まず、図10を参照して、記録装置30の書込制御部33における書き込み動作について説明する。
書込制御部33は、アクセス調停部36からの書き込み指示に応じて、図10の処理動作を実行する。新たなデータを書込対象キューに書き込んだ場合、各キューによるデータメモリ31Aの格納アドレスの共用という観点からすれば、キュー制御情報における主な変化としては、書き込み前後において、書込対象キューに関するキュー最終アドレスLARと、書込前のキュー最終アドレスに関する後続仮想アドレスADDと、各キューに共通する次書込アドレスVARとが変化する。なお、書込対象キューに対する最初の書き込みである場合は、書込対象キューに関するキュー先頭アドレスSARも変化する。
[Write operation]
First, a writing operation in the writing control unit 33 of the recording device 30 will be described with reference to FIG.
The write control unit 33 executes the processing operation of FIG. 10 in response to a write instruction from the access arbitration unit 36. When new data is written to the write target queue, from the viewpoint of sharing the storage address of the data memory 31A by each queue, the main change in the queue control information is that the queue related to the write target queue before and after the write. The final address LAR, the subsequent virtual address ADD related to the queue final address before writing, and the next write address VAR common to each queue are changed. In the case of the first writing to the write target queue, the queue head address SAR regarding the write target queue also changes.

このため、図10の処理動作において、書込制御部33は、次書込アドレスVARに対する指定データの書き込み(書き込み指示の出力)、書込対象キューに関するキュー最終アドレスLARの更新、書込前のキュー最終アドレスに関する後続仮想アドレスADDの更新、各キューに共通する次書込アドレスVARの更新を行う。なお、書込対象キューに対する最初の書き込みである場合は、書込対象キューに関するキュー先頭アドレスの更新も行う。これら更新の詳細については動作例に基づいて後述する。   For this reason, in the processing operation of FIG. 10, the write control unit 33 writes the specified data to the next write address VAR (outputs the write instruction), updates the queue final address LAR related to the write target queue, The subsequent virtual address ADD related to the queue final address is updated, and the next write address VAR common to each queue is updated. In the case of the first writing to the write target queue, the queue head address related to the write target queue is also updated. Details of these updates will be described later based on an operation example.

この際、書込制御部33は、キュー制御メモリ32にアクセスすることにより、図10に示すステップW1〜W7を実行する。すなわち、LAR保持(W1)、LAR,SAR更新(W2)、VAR保持(W3)、ADD更新(W4)、VAR更新(W5)、PN更新(W6)、データ等の出力(W7)の順で処理を実行する。なお、図10の処理順序は、処理効率を考慮したものであるが、他の処理順序であってもよい。   At this time, the write control unit 33 accesses the queue control memory 32 to execute steps W1 to W7 shown in FIG. That is, in the order of LAR retention (W1), LAR, SAR update (W2), VAR retention (W3), ADD update (W4), VAR update (W5), PN update (W6), and data output (W7). Execute the process. In addition, although the processing order of FIG. 10 considers processing efficiency, another processing order may be sufficient.

[読み出し動作]
次に、図11を参照して、記録装置30の読出制御部34における読み出し動作について説明する。
読出制御部34は、アクセス調停部36からの読み出し指示に応じて、図11の処理動作を実行する。新たなデータを読出対象キューから読み出した場合、各キューによるデータメモリ31Aの格納アドレスの共用という観点からすれば、キュー制御情報における主な変化としては、読み出し前後において、読出対象キューに関するキュー先頭アドレスSARと、各キューに共通する次書込アドレスVARと、新たな次書込アドレスVARに関する後続仮想アドレスADDとが変化する。
[Read operation]
Next, with reference to FIG. 11, a reading operation in the reading control unit 34 of the recording apparatus 30 will be described.
The read control unit 34 executes the processing operation of FIG. 11 in response to a read instruction from the access arbitration unit 36. When new data is read from the read target queue, from the viewpoint of sharing the storage address of the data memory 31A by each queue, the main change in the queue control information is that the queue head address related to the read target queue before and after the read. The SAR, the next write address VAR common to each queue, and the subsequent virtual address ADD relating to the new next write address VAR change.

このため、図11の処理動作において、読出制御部34は、読出対象キューに関するキュー先頭アドレスSARに対するEoF(End of Frame:フレーム終端フラグ)の読み出し、読出対象キューに関するキュー先頭アドレスSARの更新、各キューに共通する次書込アドレスVARの更新、読出済仮想格納アドレスに関する後続仮想アドレスADDの更新、読み出し指示の出力を行う。これら更新の詳細については動作例に基づいて後述する。   Therefore, in the processing operation of FIG. 11, the read control unit 34 reads the EoF (End of Frame: frame end flag) for the queue head address SAR related to the read target queue, updates the queue head address SAR related to the read target queue, The next write address VAR common to the queue is updated, the subsequent virtual address ADD related to the read virtual storage address is updated, and a read instruction is output. Details of these updates will be described later based on an operation example.

この際、読出制御部34は、キュー制御メモリ32にアクセスすることにより、図11に示すステップR1〜R5を実行する。すなわち、EoF出力(R1)、VAR保持(R2)、VAR更新(R3)、SAR更新(R4)、後続仮想アドレス更新(R5)、読み出し指示の出力の順で処理を実行する。なお、図11の処理順序は、処理効率を考慮したものであるが、他の処理順序であってもよい。   At this time, the read control unit 34 accesses the queue control memory 32 to execute steps R1 to R5 shown in FIG. That is, processing is executed in the order of EoF output (R1), VAR retention (R2), VAR update (R3), SAR update (R4), subsequent virtual address update (R5), and read instruction output. In addition, although the processing order of FIG. 11 considers processing efficiency, another processing order may be sufficient.

[動作例]
次に、図12〜図18を参照して、記録装置30におけるフレームデータの書込動作および読出動作について、キューP2を読出・書込対象キューとし、このキューP2にデータP2−3が書込まれた後、データP2−1、P2−2を読み出し、さらにデータP2−4を書き込む場合を例に説明する。
[Operation example]
Next, referring to FIG. 12 to FIG. 18, for the frame data writing operation and reading operation in recording apparatus 30, queue P2 is set as a read / write target queue, and data P2-3 is written to this queue P2. An example will be described in which the data P2-1 and P2-2 are read and then the data P2-4 is written.

図12は、データP2−1読出直前(データP2−3書込直後)のキュー制御情報を示す説明図である。ここでは、データP2−1読出直前すなわちデータP2−3が書込まれた直後におけるキュー制御情報が示されている。この状態において、仮想データメモリのうち、仮想格納アドレス「0,1,4」にキューP1のデータP1−1,P1−2,P1−3が書き込まれており、仮想格納アドレス「2,3,5」にキューP2のデータP2−1,P2−2,P2−3が書き込まれている。また、仮想格納アドレス「6〜N」は未使用である。   FIG. 12 is an explanatory diagram showing queue control information immediately before reading data P2-1 (immediately after writing data P2-3). Here, queue control information immediately before reading data P2-1, that is, immediately after writing data P2-3 is shown. In this state, the data P1-1, P1-2, and P1-3 of the queue P1 are written in the virtual storage address “0, 1, 4” in the virtual data memory, and the virtual storage addresses “2, 3, 4” are stored. 5 "is written data P2-1, P2-2, P2-3 of the queue P2. The virtual storage addresses “6 to N” are unused.

したがって、次書込アドレス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には、フレーム終端が含まれていないことがわかる。   Therefore, the next write address VAR is “6”, and the unwritten address UAR is also “6”. Further, the subsequent virtual address ADD related to the virtual storage address “0, 1” becomes “1, 4” according to the order of the data P1-1, P1-2, P1-3 of the queue P1, and the data P2- of the queue P2 The subsequent virtual address ADD relating to the virtual storage address “2, 3” is “3, 5” in accordance with the order of 1, P2-2 and P2-3. The pointer PN of the virtual storage address “0, 2” is “0”, and it can be seen that the data P1-1 and P2-1 do not include the end of the frame.

また、キューP1のキュー先頭アドレスSARは、データP1−1の仮想格納アドレス「0」を示し、キュー最終アドレスLARは、データP1−3の仮想格納アドレス「4」を示している。また、キューP2のキュー先頭アドレスSARは、データP2−1の仮想格納アドレス「2」を示し、キュー最終アドレスLARは、データP2−3の仮想格納アドレス「5」を示している。なお、作業用次書込アドレスTMPVと作業用キュー最終アドレスTMPLには、それぞれ「5」と「3」が格納されている。   Further, the queue head address SAR of the queue P1 indicates the virtual storage address “0” of the data P1-1, and the queue final address LAR indicates the virtual storage address “4” of the data P1-3. Further, the queue head address SAR of the queue P2 indicates the virtual storage address “2” of the data P2-1, and the queue final address LAR indicates the virtual storage address “5” of the data P2-3. Note that “5” and “3” are stored in the work next write address TMPV and the work queue final address TMPL, respectively.

図12に示した状態において、キューP2のデータP2−1を読み出した場合、キュー制御情報は、図13のように変化する。図13は、データP2−1読出時におけるキュー制御情報の変化を示す説明図である。   In the state shown in FIG. 12, when the data P2-1 in the queue P2 is read, the queue control information changes as shown in FIG. FIG. 13 is an explanatory diagram showing changes in queue control information when reading data P2-1.

まず、図13(a)に示すように、キューP2に関するキュー先頭アドレスSARが示す読出対象仮想アドレス「2」からデータP2−1が読み出されるため、読出対象仮想アドレス「2」のデータDは空き状態となり、キューP2に関するデータはP2−2,P2−3の2つとなる。これにより、図13(b)に示すように、P2−2がキューP2の先頭データとなり、キュー先頭位置が仮想格納アドレス「2」から「3」に変化するため、キューP2に関するキュー先頭アドレスSARが「2」から「3」に更新される。   First, as shown in FIG. 13A, the data P2-1 is read from the read target virtual address “2” indicated by the queue head address SAR regarding the queue P2, and therefore the data D of the read target virtual address “2” is empty. The data regarding the queue P2 becomes two, P2-2 and P2-3. As a result, as shown in FIG. 13B, P2-2 becomes the head data of the queue P2, and the queue head position changes from the virtual storage address “2” to “3”, so the queue head address SAR regarding the queue P2 is changed. Is updated from “2” to “3”.

また、読出対象仮想アドレス「2」のデータDは空き状態となったため、図13(c)に示すように、この仮想格納アドレス「2」が次データの書込位置となる。これにより、次書込アドレスVARが「6」から「2」に更新される。また、これに伴って、旧次書込アドレスVAR「6」と新次書込アドレスVAR「2」との順序関係を維持するため、図13(d)に示すように、仮想格納アドレス「2」の後続仮想アドレスADDが「3」から「6」に更新される。   Further, since the data D of the read target virtual address “2” is in an empty state, as shown in FIG. 13C, this virtual storage address “2” becomes the writing position of the next data. As a result, the next write address VAR is updated from “6” to “2”. Accordingly, in order to maintain the order relationship between the old primary write address VAR “6” and the new primary write address VAR “2”, the virtual storage address “2” as shown in FIG. Is updated from “3” to “6”.

これにより、キュー制御情報は、図14の状態に変化する。図14は、データP2−1読出直後(データP2−2読出直前)のキュー制御情報を示す説明図である。なお、作業用次書込アドレスTMPVと作業用キュー最終アドレスTMPLには、それぞれ「6」と「3」が格納されている。   As a result, the queue control information changes to the state shown in FIG. FIG. 14 is an explanatory diagram showing queue control information immediately after reading data P2-1 (just before reading data P2-2). Note that “6” and “3” are stored in the work next write address TMPV and the work queue final address TMPL, respectively.

図14に示した状態において、キューP2のデータP2−2を読み出した場合、キュー制御情報は、図15のように変化する。図15は、データP2−2読出時におけるキュー制御情報の変化を示す説明図である。   In the state shown in FIG. 14, when the data P2-2 in the queue P2 is read, the queue control information changes as shown in FIG. FIG. 15 is an explanatory diagram showing changes in queue control information at the time of reading data P2-2.

まず、図15(a)に示すように、キューP2に関するキュー先頭アドレスSARが示す読出対象仮想アドレス「3」からデータP2−2が読み出されるため、読出対象仮想アドレス「3」のデータDは空き状態となり、キューP2に関するデータはP2−3の1つとなる。これにより、図15(b)に示すように、P2−3がキューP2の先頭データとなり、キュー先頭位置が仮想格納アドレス「3」から「5」に変化するため、キューP2に関するキュー先頭アドレスSARが「3」から「5」に更新される。   First, as shown in FIG. 15A, the data P2-2 is read from the read target virtual address “3” indicated by the queue head address SAR regarding the queue P2, and therefore the data D of the read target virtual address “3” is empty. The data regarding the queue P2 becomes one of P2-3. As a result, as shown in FIG. 15B, P2-3 becomes the head data of the queue P2, and the queue head position changes from the virtual storage address “3” to “5”. Therefore, the queue head address SAR regarding the queue P2 is changed. Is updated from “3” to “5”.

また、読出対象仮想アドレス「3」のデータDは空き状態となったため、図15(c)に示すように、この仮想格納アドレス「3」が次データの書込位置となる。これにより、次書込アドレスVARが「2」から「3」に更新される。また、これに伴って、旧次書込アドレスVAR「2」と新次書込アドレスVAR「3」との順序関係を維持するため、図15(d)に示すように、仮想格納アドレス「3」の後続仮想アドレスADDが「5」から「2」に更新される。   Further, since the data D of the read target virtual address “3” is in an empty state, as shown in FIG. 15C, this virtual storage address “3” becomes a writing position of the next data. As a result, the next write address VAR is updated from “2” to “3”. Accordingly, in order to maintain the order relationship between the old next write address VAR “2” and the new next write address VAR “3”, as shown in FIG. The subsequent virtual address ADD of “5” is updated from “5” to “2”.

これにより、キュー制御情報は、図16の状態に変化する。図16は、データP2−2読出直後(データP2−4書込直前)のキュー制御情報を示す説明図である。なお、作業用次書込アドレスTMPVと作業用キュー最終アドレスTMPLには、それぞれ「2」と「3」が格納されている。   As a result, the queue control information changes to the state shown in FIG. FIG. 16 is an explanatory diagram showing queue control information immediately after reading data P2-2 (just before writing data P2-4). Note that “2” and “3” are stored in the work next write address TMPV and the work queue final address TMPL, respectively.

図16に示した状態において、キューP2のデータP2−4を書き込みした場合、キュー制御情報は、図17のように変化する。図17は、データP2−4書込時におけるキュー制御情報の変化を示す説明図である。   In the state shown in FIG. 16, when the data P2-4 of the queue P2 is written, the queue control information changes as shown in FIG. FIG. 17 is an explanatory diagram showing a change in queue control information when writing data P2-4.

まず、図17(a)に示すように、次書込アドレスVARが示す書込対象仮想アドレス「3」にデータP2−4が書き込まれるため、図17(b)に示すように、P2−4がキューP2の新たな最終データとなり、キュー最終位置が仮想格納アドレス「5」から「3」に変化するため、キューP2のキュー最終アドレスLARが「5」から「3」に更新される。   First, as shown in FIG. 17A, since the data P2-4 is written to the write target virtual address “3” indicated by the next write address VAR, as shown in FIG. Becomes the new final data of the queue P2, and the queue final position changes from the virtual storage address “5” to “3”, so the queue final address LAR of the queue P2 is updated from “5” to “3”.

また、書込前にキュー最終データであったP2−3にP2−4が後続することになるため、図17(c)に示すように、P2−3の仮想格納アドレス「5」の後続仮想アドレスとしてP2−4の仮想格納アドレス「3」が設定される。
また、書込前の次書込アドレスVARにP2−4が書き込まれたため、図17(d)に示すように、次書込アドレスVARが「3」から、仮想格納アドレス「3」の後続仮想アドレス「2」に更新される。
In addition, since P2-4 follows P2-3 which was the queue final data before writing, as shown in FIG. 17C, the succeeding virtual of the virtual storage address “5” of P2-3 The virtual storage address “3” of P2-4 is set as the address.
Since P2-4 is written to the next write address VAR before writing, as shown in FIG. 17D, the next write address VAR is changed from “3” to the subsequent virtual address “3”. The address is updated to “2”.

これにより、キュー制御情報は、図18の状態に変化する。図18は、データP2−4書込直後のキュー制御情報を示す説明図である。なお、作業用次書込アドレスTMPVと作業用キュー最終アドレスTMPLには、それぞれ「3」と「5」が格納されている。   As a result, the queue control information changes to the state shown in FIG. FIG. 18 is an explanatory diagram showing the queue control information immediately after the data P2-4 is written. Note that “3” and “5” are stored in the work next write address TMPV and the work queue final address TMPL, respectively.

[DRAM書込動作]
次に、図19を参照して、本実施の形態にかかるDRAMアクセス部31BにおけるDRAM書込動作について説明する。図19は、第1の実施の形態にかかるDRAM書込処理を示すフローチャートである。
DRAMアクセス部31Bは、書込制御部33からのDRAM書込指示に応じて、図19のDRAM書込処理を実行する。
[DRAM write operation]
Next, with reference to FIG. 19, a DRAM write operation in the DRAM access unit 31B according to the present embodiment will be described. FIG. 19 is a flowchart showing the DRAM write processing according to the first embodiment.
The DRAM access unit 31B executes the DRAM write process of FIG. 19 in response to a DRAM write instruction from the write control unit 33.

まず、活性化処理部52は、FIFOメモリ51に蓄積されたDRAM書込指示で指定された書込対象キューと対応する書込対象ロウアドレスを特定し(ステップ100)、書込対象ロウアドレスが活性化状態にあるバンクの有無を確認する(ステップ101)。
ここで、書込対象ロウアドレスが活性化状態にあるバンクが存在した場合(ステップ101:YES)、活性化処理部52は、当該バンクの書込対象ロウアドレスに対する書込可否を確認し(ステップ102)、書込対象ロウアドレスに空き領域があり、書込可能な場合(ステップ102:YES)、当該バンクを書込対象バンクとしてDRAM書込指示に設定し(ステップ103)、活性化処理を完了する。
First, the activation processing unit 52 specifies a write target row address corresponding to the write target queue specified by the DRAM write instruction stored in the FIFO memory 51 (step 100), and the write target row address is determined. The presence / absence of an activated bank is confirmed (step 101).
Here, when there is a bank in which the write target row address is in an activated state (step 101: YES), the activation processing unit 52 confirms whether or not writing is possible for the write target row address of the bank (step 101). 102) When there is an empty area in the write target row address and writing is possible (step 102: YES), the bank is set as a write target bank in the DRAM write instruction (step 103), and the activation process is performed. Complete.

活性化処理部52での活性化処理を完了後、DRAM書込指示はFIFOメモリ51から出力され、アクセス種別判定部53を介してDRAM書込部56に入力される。
DRAM書込部56は、入力されたDRAM書込指示に対応する書込対象ロウアドレスと書込対象バンクとの組み合わせに基づき、バンク管理メモリ54から対応する書込ポインタ値WPを取得し(ステップ104)、書込対象バンクの書込対象ロウアドレスのうち、書込ポインタ値WPからなるコラムアドレスに、DRAM書込指示で指定されたフレームデータ(データD)を書き込む(ステップ105)。
After completing the activation processing in the activation processing unit 52, a DRAM write instruction is output from the FIFO memory 51 and input to the DRAM writing unit 56 via the access type determination unit 53.
The DRAM writing unit 56 acquires the corresponding write pointer value WP from the bank management memory 54 based on the combination of the write target row address corresponding to the input DRAM write instruction and the write target bank (step 104) The frame data (data D) designated by the DRAM write instruction is written to the column address consisting of the write pointer value WP among the write target row addresses of the write target bank (step 105).

この後、DRAM書込部56は、1仮想格納アドレス分のデータ長に相当するポインタ値だけ、バンク管理メモリ54内の当該書込ポインタ値WPを更新するとともに(ステップ106)、アドレス管理メモリ55のうちDRAM書込指示で指定された仮想格納アドレスのバンクとして、書込対象バンクを格納し(ステップ107)、一連のDRAM書込処理を終了する。   Thereafter, the DRAM writing unit 56 updates the write pointer value WP in the bank management memory 54 by the pointer value corresponding to the data length for one virtual storage address (step 106), and the address management memory 55. Among them, the bank to be written is stored as the bank of the virtual storage address designated by the DRAM write instruction (step 107), and the series of DRAM write processing is completed.

また、ステップ102において、書込対象ロウアドレスに空き領域がなく、書込不可の場合(ステップ102:NO)、活性化処理部52は、書込対象ロウアドレスが活性化状態にある他のバンクの有無を確認する(ステップ110)。
ここで、書込対象ロウアドレスが活性化状態にある他のバンクが存在した場合(ステップ110:YES)、活性化処理部52は、ステップ102に戻り、前述と同様に当該バンクでの書込可否を確認する。
In step 102, if there is no empty area in the write target row address and writing is not possible (step 102: NO), the activation processing unit 52 selects another bank in which the write target row address is in the activated state. Is confirmed (step 110).
Here, when there is another bank in which the write target row address is in an activated state (step 110: YES), the activation processing unit 52 returns to step 102 and performs writing in the bank as described above. Check availability.

また、書込対象ロウアドレスが活性化状態にある他のバンクが存在しない場合(ステップ110:NO)、活性化処理部52は、当該書込対象ロウアドレスが非活性化状態にある任意のバンクを選択して(ステップ111)、当該バンクにおいて書込対象ロウアドレスを活性化し(ステップ112)、ステップ103へ移行して、当該書込対象バンクとしてDRAM書込指示に設定し(ステップ103)、活性化処理を完了する。   When there is no other bank in which the write target row address is in an activated state (step 110: NO), the activation processing unit 52 selects any bank in which the write target row address is in an inactivated state. Is selected (step 111), the write target row address is activated in the bank (step 112), the process proceeds to step 103, and the DRAM write instruction is set as the write target bank (step 103). Complete the activation process.

また、ステップ101において、書込対象ロウアドレスが活性化状態にあるバンクが存在しない場合(ステップ101:NO)、活性化処理部52は、ステップ110に移行して、前述と同様に書込対象ロウアドレスが非活性化状態にあるバンクの活性化を行う。   In step 101, when there is no bank in which the write target row address is in an activated state (step 101: NO), the activation processing unit 52 proceeds to step 110 and performs the write target as described above. A bank whose row address is in an inactive state is activated.

したがって、データメモリ31Aを構成するDRAMにフレームデータを書き込む際、DRAMが持つ各バンクのうちから、書込対象ロウアドレスが活性化状態にあるバンクが書込対象バンクとして優先的に選択される。これにより、同一バンクの異なるロウアドレスへの書き込みが発生する確率が低減されることになる。このため、フレームデータ書込時におけるロウアドレスの活性化や、異なるロウアドレスに対するアクセス完了を待つ回数が削減されることになり、DRAMアクセスの実効スループットの低下が抑制される。   Therefore, when writing frame data to the DRAM constituting the data memory 31A, the bank in which the write target row address is activated is preferentially selected as the write target bank from among the banks of the DRAM. This reduces the probability that writing to different row addresses in the same bank will occur. For this reason, the number of times of waiting for the activation of the row address at the time of writing the frame data and the completion of the access to the different row address is reduced, and the decrease in the effective throughput of the DRAM access is suppressed.

[DRAM読出動作]
次に、図20を参照して、本実施の形態にかかるDRAMアクセス部31BにおけるDRAM読出動作について説明する。図20は、第1の実施の形態にかかるDRAM読出処理を示すフローチャートである。
DRAMアクセス部31Bは、読出制御部34からのDRAM読出指示に応じて、図20のDRAM読出処理を実行する。
[DRAM read operation]
Next, with reference to FIG. 20, a DRAM read operation in the DRAM access unit 31B according to the present embodiment will be described. FIG. 20 is a flowchart showing the DRAM read processing according to the first embodiment.
The DRAM access unit 31B executes the DRAM read process of FIG. 20 in response to a DRAM read instruction from the read control unit 34.

まず、活性化処理部52は、FIFOメモリ51に蓄積されたDRAM読出指示で指定された読出対象キューと対応する読出対象ロウアドレスを特定し(ステップ150)、アドレス管理メモリ55から、読出対象ロウアドレスと対応する読出対象バンクを取得する(ステップ151)。
次に、活性化処理部52は、読出対象バンクにおいて読出対象ロウアドレスが活性化状態にあるか確認し(ステップ152)、読出対象ロウアドレスが活性化状態にある場合(ステップ152:YES)、活性化処理を完了する。
First, the activation processing unit 52 specifies a read target row address corresponding to the read target queue specified by the DRAM read instruction stored in the FIFO memory 51 (step 150), and reads the read target row from the address management memory 55. A read target bank corresponding to the address is acquired (step 151).
Next, the activation processing unit 52 confirms whether or not the read target row address is in the activated state in the read target bank (step 152). If the read target row address is in the activated state (step 152: YES), Complete the activation process.

活性化処理部52での活性化処理を完了後、DRAM読出指示はFIFOメモリ51から出力され、アクセス種別判定部53を介してDRAM読出部57に入力される。
DRAM読出部57は、入力されたDRAM読出指示に対応する読出対象ロウアドレスと読出対象バンクとの組み合わせに基づき、バンク管理メモリ54から対応する読出ポインタ値RPを取得する(ステップ153)。
After completing the activation process in the activation processing unit 52, a DRAM read instruction is output from the FIFO memory 51 and input to the DRAM read unit 57 via the access type determination unit 53.
The DRAM read unit 57 acquires the corresponding read pointer value RP from the bank management memory 54 based on the combination of the read target row address corresponding to the input DRAM read instruction and the read target bank (step 153).

この後、DRAM読出部57は、読出対象バンクの読出対象ロウアドレスのうち、読出ポインタ値RPからなるコラムアドレスからフレームデータ(データD)を読み出して(ステップ154)、1仮想格納アドレス分のデータ長に相当するポインタ値だけ、バンク管理メモリ54内の当該読出ポインタ値RPを更新し(ステップ155)、一連のDRAM読出処理を終了する。   Thereafter, the DRAM reading unit 57 reads frame data (data D) from the column address composed of the read pointer value RP among the read target row addresses of the read target bank (step 154), and data for one virtual storage address. The read pointer value RP in the bank management memory 54 is updated by the pointer value corresponding to the length (step 155), and a series of DRAM read processing ends.

また、ステップ152において、読出対象バンクの読出対象ロウアドレスが活性化状態にない場合(ステップ152:NO)、活性化処理部52は、読出対象バンクにおいて異なるロウアドレスが活性化状態にあるか確認する(ステップ156)。
ここで、異なるロウアドレスが活性化状態にない場合(ステップ156:NO)、活性化処理部52は、読出対象バンクの読出対象ロウアドレスを活性化し(ステップ157)、活性化処理を完了する。これにより、DRAM読出部57において、活性化された読出対象ロウアドレスからの読み出しが行われることになる。
In step 152, if the read target row address of the read target bank is not activated (step 152: NO), the activation processing unit 52 confirms whether a different row address is activated in the read target bank. (Step 156).
Here, when a different row address is not in the activated state (step 156: NO), the activation processing unit 52 activates the read target row address of the read target bank (step 157) and completes the activation process. As a result, the DRAM reading unit 57 performs reading from the activated read target row address.

また、ステップ156において、異なるロウアドレスが活性化状態にある場合(ステップ156:YES)、活性化処理部52は、異なるロウアドレスへのアクセスが完了するまで待機した後(ステップ158)、ステップ157へ移行して、前述と同様に読出対象ロウアドレスの活性化を行う。   In step 156, if a different row address is in an activated state (step 156: YES), the activation processing unit 52 waits until access to the different row address is completed (step 158), and then step 157. Then, the read target row address is activated as described above.

このように、データメモリ31Aを構成するDRAMからフレームデータを読み出す際、読出対象となるフレームデータが特定のバンクに書き込まれていることから、書き込み時のように、ロウアドレスが活性化状態にあるバンクを任意に選択することはできない。このため、同一バンクの異なるロウアドレスからの読み出しや、書き込み後の同一バンクからの読み出しにおいて待ち時間が発生するものとなる。なお、同一バンクの異なるロウアドレスからの読み出しについては、異なるロウアドレスからの読み出しが連続しないように、例えば、両者の間に書き込みが挿入されるよう処理間隔をあけるようにしてもよい。   As described above, when reading frame data from the DRAM constituting the data memory 31A, since the frame data to be read is written in a specific bank, the row address is in an activated state as in writing. A bank cannot be selected arbitrarily. Therefore, a waiting time occurs when reading from different row addresses in the same bank or reading from the same bank after writing. For reading from different row addresses in the same bank, a processing interval may be provided so that, for example, writing is inserted between the two row addresses so that reading from different row addresses does not continue.

[第1の実施の形態の効果]
このように、本実施の形態は、記録装置30において、データメモリ31Aをバンクごとに複数のロウアドレスを有するDRAMから構成して、前記キューと対応するロウアドレスで当該キューのフレームデータを記憶し、DRAMアクセス部31Bが、書込対象キューにフレームデータを書き込む際、バンクのうち当該書込対象キューに対応する書込対象ロウアドレスが活性化状態にあるバンクを書込対象バンクとして選択して当該フレームデータを書き込み、当該書込対象ロウアドレスが活性化状態にあるバンクが存在しない場合は、当該書込対象ロウアドレスが非活性化状態にあるバンクを書込対象バンクとして選択して当該書込対象ロウアドレスを活性化した後に当該フレームデータを書き込むようにしたものである。
[Effect of the first embodiment]
As described above, according to the present embodiment, in the recording device 30, the data memory 31A is constituted by a DRAM having a plurality of row addresses for each bank, and the frame data of the queue is stored at the row address corresponding to the queue. When the DRAM access unit 31B writes the frame data to the write target queue, the bank in which the write target row address corresponding to the write target queue is activated is selected as the write target bank. When the frame data is written and there is no bank in which the write target row address is activated, the bank in which the write target row address is inactivated is selected as the write target bank and The frame data is written after the target row address is activated.

一般に、DRAMでは、任意のバンクの任意のロウアドレスにデータを書き込む場合、当該バンクにおいて当該ロウアドレスを活性化する必要があり、同一バンクの異なるロウアドレスにアクセスする場合には、当該ロウアドレスを用いたアクセスが完了するのを待ってから、新たなロウアドレスを活性化する必要があるため、同一バンクへのアクセスにおいて、ロウアドレスの活性化に起因して比較的大きな待ち時間が発生する。具体的には、同一バンクの異なるロウアドレスへのアクセスが連続した場合である。その他に待ち時間が発生する条件として、読み出し後の同一バンクに書き込みを行う場合、および、書き込み後の同一バンクから読み出しを行う場合がある。   In general, in a DRAM, when writing data to an arbitrary row address of an arbitrary bank, it is necessary to activate the row address in the bank. When accessing a different row address of the same bank, the row address is Since it is necessary to activate a new row address after waiting for the used access to be completed, a relatively large waiting time occurs due to the activation of the row address in accessing the same bank. Specifically, this is a case where accesses to different row addresses in the same bank are continuous. As other conditions for waiting time, there are a case where writing is performed in the same bank after reading and a case where reading is performed from the same bank after writing.

本実施形態によれば、データメモリ31Aを構成するDRAMにフレームデータを書き込む際、DRAMが持つ各バンクのうちから、書込対象ロウアドレスが活性化状態にあるバンクが書込対象バンクとして優先的に選択される。
これにより、同一バンクの異なるロウアドレスへの書き込みが発生する確率を低減することができる。したがって、フレームデータ書込時におけるロウアドレスの活性化や、異なるロウアドレスに対するアクセス完了を待つ回数を低減させることができ、DRAMアクセスに関する実効スループットの低下を抑制することが可能となる。
According to the present embodiment, when writing frame data to the DRAM constituting the data memory 31A, the bank in which the write target row address is activated is preferentially set as the write target bank among the banks of the DRAM. Selected.
This can reduce the probability of writing to different row addresses in the same bank. Therefore, it is possible to reduce the number of times of waiting for the activation of the row address at the time of writing the frame data and the completion of the access to the different row address, and it is possible to suppress the decrease in the effective throughput related to the DRAM access.

特に、通信用入出力装置においては、短いフレームデータがバースト的に連続して入力される場合がある。本願発明によれば、各出力系統のキューに対して個別のロウアドレスが割り当てられている。このため、このようなケースにおいては、同一ロウアドレスに対する書き込みが繰り返し行われることになり、ロウアドレスの変更による活性化の回数を削減することができる。したがって、このようなケースにおいても、DRAMアクセスに関する実効スループットの低下を抑制することができるため、フレームデータの処理速度に十分追従でき、通信品質の劣化を低減することが可能となる。   In particular, in communication input / output devices, short frame data may be input continuously in bursts. According to the present invention, individual row addresses are assigned to the queues of the respective output systems. Therefore, in such a case, writing to the same row address is repeatedly performed, and the number of times of activation due to the change of the row address can be reduced. Therefore, even in such a case, since it is possible to suppress a decrease in effective throughput related to DRAM access, it is possible to sufficiently follow the processing speed of frame data and to reduce deterioration in communication quality.

また、本実施の形態において、DRAMアクセス部31Bに、キューとバンクとの組み合わせごとに、当該キューの通信データを当該バンクに書き込む際にコラムアドレスとして用いる書込ポインタ値を記憶するバンク管理メモリ54を設け、通信データを書き込む際、書込対象ロウアドレスと書込対象バンクとの組み合わせに対応する書込ポインタ値をバンク管理メモリ54から取得し、当該書込対象バンクの当該書込対象ロウアドレスのうち、当該書込ポインタ値からなるコラムアドレスに当該通信データを書き込むようにしてもよい。   In the present embodiment, the bank access memory 54 stores a write pointer value used as a column address when writing the communication data of the queue to the bank for each combination of the queue and the bank in the DRAM access unit 31B. When the communication data is written, the write pointer value corresponding to the combination of the write target row address and the write target bank is acquired from the bank management memory 54, and the write target row address of the write target bank is acquired. Of these, the communication data may be written to a column address consisting of the write pointer value.

これにより、各出力系統のキューに対して個別のロウアドレスが割り当てた場合でも、複数のキューが各バンクを共用することができるとともに、任意のキューにフレームデータを書き込む際、ロウアドレスが活性化状態にあるいずれのバンクが選択されても、極めて迅速に当該バンクで使用すべきカラムアドレスを特定することができ、DRAMアクセスの実効スループットを向上させることができる。   As a result, even when individual row addresses are assigned to the queues of each output system, a plurality of queues can share each bank, and the row address is activated when writing frame data to an arbitrary queue. Regardless of which bank in the state is selected, the column address to be used in the bank can be specified very quickly, and the effective throughput of DRAM access can be improved.

また、本実施の形態において、記録装置30において、仮想格納アドレスごとに、当該仮想格納アドレスに書き込まれた通信データに後続する通信データの仮想格納アドレスを示す後続アドレスを記憶し、キューごとに、当該キューの通信データが書き込まれている仮想格納アドレスの先頭および最終を示すキュー先頭アドレスおよびキュー最終アドレスを記憶し、各キューに共通して、次に通信データを書き込むべき仮想格納アドレスを示す次書込アドレスを記憶するようにしてもよい。   In the present embodiment, the recording device 30 stores, for each virtual storage address, a subsequent address indicating a virtual storage address of communication data subsequent to the communication data written to the virtual storage address, and for each queue, Stores the queue head address and queue end address indicating the beginning and end of the virtual storage address where the communication data of the queue is written, and the next indicates the virtual storage address where the communication data is to be written next in common for each queue. The write address may be stored.

これに加えて、書込制御部33が、書込対象キューに通信データを書き込む(書き込み指示を行う)際、次書込アドレスからなる書込対象仮想アドレスに当該通信データを書き込み、当該書込対象キューのキュー最終アドレス、書込前のキュー最終アドレスに関する後続仮想アドレス、および次書込アドレスをそれぞれ更新し、読出制御部34が、読出対象キューから通信データを読み出す(読み出し指示を行う)際、当該読出対象キューのキュー先頭アドレスからなる読出対象仮想アドレスから当該通信データを読み出し、当該読出対象キューのキュー先頭アドレス、次書込アドレス、および新たな次書込アドレスに関する後続仮想アドレスをそれぞれ更新するようにしてもよい。   In addition to this, when the write control unit 33 writes communication data to the write target queue (performs a write instruction), the write control unit 33 writes the communication data to the write target virtual address including the next write address. When the read control unit 34 reads communication data from the read target queue (performs a read instruction) by updating the queue final address of the target queue, the subsequent virtual address related to the queue final address before writing, and the next write address, respectively. The communication data is read from the read target virtual address consisting of the queue start address of the read target queue, and the subsequent virtual address relating to the queue start address, the next write address, and the new next write address of the read target queue is updated. You may make it do.

これにより、各キューのフレームデータが、空き状態にある仮想格納アドレスに順次書き込まれ、フレームデータが読み出された仮想格納アドレスが再び空き状態として管理されることになる。またキューごとに書き込まれた順序でフレームデータの仮想格納アドレスが管理されることになる。空き状態にある仮想格納アドレスについては、複数のキューで共用することができ、従来のキューごとに予めアドレス範囲を固定的に確保しておく場合と比較して、メモリの使用効率を高めることが可能となる。このため、メモリ容量の増大を行う必要がなくなり、結果として回路規模やコストの増大を抑制することが可能となる。   As a result, the frame data of each queue is sequentially written to the virtual storage address in the free state, and the virtual storage address from which the frame data has been read out is managed again as a free state. Further, the virtual storage address of the frame data is managed in the order of writing for each queue. A virtual storage address in an empty state can be shared by a plurality of queues, and the use efficiency of the memory can be improved as compared with a case where a fixed address range is secured in advance for each conventional queue. It becomes possible. For this reason, it is not necessary to increase the memory capacity, and as a result, an increase in circuit scale and cost can be suppressed.

また、本実施の形態は、QM内のADD値等の初期値を設定する必要が無いという特徴がある。本実施の形態において、通信用入出力装置の起動時に初期値を設定する必要がある情報はVARとUARのみである(図10の「Initialization」を参照)。従って、初期設定を行うための回路の規模、もしくは、初期設定を行うためのソフトウエアの規模が極めて小さく、初期設定に要する時間も極めて小さいという効果が有る。
なお、図12等において、EoF値格納用のPNをQM内に搭載する場合を例示しているが、PNをDRAM内に搭載することも可能である。
In addition, this embodiment has a feature that it is not necessary to set an initial value such as an ADD value in the QM. In the present embodiment, only the VAR and UAR need to set initial values when the communication input / output device is activated (see “Initialization” in FIG. 10). Therefore, the scale of the circuit for performing the initial setting or the scale of the software for performing the initial setting is extremely small, and the time required for the initial setting is extremely small.
In FIG. 12 and the like, the case where the PN for storing the EoF value is mounted in the QM is illustrated, but the PN can also be mounted in the DRAM.

[第2の実施の形態]
次に、図21を参照して、本発明の第2の実施の形態にかかる通信用入出力装置1について説明する。図21は、第2の実施の形態にかかるアクセス調停部の構成を示すブロック図である。
[Second Embodiment]
Next, a communication input / output device 1 according to a second embodiment of the present invention will be described with reference to FIG. FIG. 21 is a block diagram illustrating a configuration of an access arbitration unit according to the second embodiment.

第1の実施の形態にかかる通信用入出力装置1において、仮想データメモリの仮想格納アドレスを複数のキューで共用するようにした際に、例えば、特定の出力系統に関するフレームデータが多量に入力された場合、仮想データメモリの仮想格納アドレスが当該出力系統のキューにより占有されてしまうという場合がある。このような格納アドレスの占有は、第1の実施の形態に限定されるものではなく、格納アドレスを複数のキューで共用する構成であれば、いずれの構成であっても発生しうる。したがって、このような格納アドレスの占有が発生した場合、他の出力系統のキューが十分な格納アドレス数を使用できず、フレームデータの破棄が発生しやすくなり、通信品質が劣化する原因となる。   In the communication input / output device 1 according to the first embodiment, when the virtual storage address of the virtual data memory is shared by a plurality of queues, for example, a large amount of frame data related to a specific output system is input. In this case, the virtual storage address of the virtual data memory may be occupied by the queue of the output system. Such occupation of the storage address is not limited to the first embodiment, and can occur in any configuration as long as the storage address is shared by a plurality of queues. Therefore, when such a storage address occupancy occurs, the queues of other output systems cannot use a sufficient number of storage addresses, frame data is easily discarded, and communication quality deteriorates.

本実施の形態は、このような複数のキューによる格納アドレスの共用時における、特定キューによる格納アドレスの占有を回避することを目的とし、記録装置30において、アクセス調停部36が、書込対象キューにフレームデータを書き込む(書き込み指示を行う)際、当該フレームデータのデータ長に基づき、書き込みに必要となる仮想格納アドレスの数を示す必要アドレス数を算出し、キュー使用アドレス数メモリ35から取得した当該書込対象キューまたは各キューの使用仮想アドレス数に基づき、当該書き込みに使用可能な仮想格納アドレスの数を示す残りアドレス数を算出し、当該必要アドレス数と当該残りアドレス数とを比較することにより当該フレームデータの書込可否を判定し、書込可の判定に応じて書込制御部33に対して当該フレームデータの書き込みを指示するようにしたものである。   The purpose of this embodiment is to avoid occupying a storage address by a specific queue when such storage addresses are shared by a plurality of queues. In the recording apparatus 30, the access arbitration unit 36 has a write target queue. When the frame data is written into (instructed to write), the necessary address number indicating the number of virtual storage addresses required for writing is calculated based on the data length of the frame data and obtained from the queue use address number memory 35 Calculate the number of remaining addresses indicating the number of virtual storage addresses that can be used for writing based on the number of virtual addresses used for the write target queue or each queue, and compare the required number of addresses with the number of remaining addresses To determine whether or not the frame data can be written. Te is obtained so as to direct the writing of the frame data.

図21に示すように、本実施の形態において、アクセス調停部36には、主な回路部として、書込可否判定部41、書込用FIFO42、読出受付部43、読出用FIFO44、優先制御部45、キュー使用アドレス数更新部46、および指示出力部47が設けられている。   As shown in FIG. 21, in this embodiment, the access arbitration unit 36 includes, as main circuit units, a write enable / disable determination unit 41, a write FIFO 42, a read reception unit 43, a read FIFO 44, and a priority control unit. 45, a queue use address number updating unit 46, and an instruction output unit 47 are provided.

書込可否判定部41は、多重化装置10から転送されたフレームデータに付加されているキュー指定情報およびフレーム長情報と、キューごとに予め設定されている判定用アドレス数情報と、各キューの使用仮想アドレス数とに基づいて、書込可能か否か判定する機能と、書込可の判定結果に応じて、当該フレームデータを、データメモリ31Aに設けられている格納領域の1仮想アドレス分のデータサイズに分割し、得られたデータにキュー指定情報を付加した書き込み指示を、それぞれ書込用FIFO42に書き込む機能とを有している。   The write enable / disable determining unit 41 includes queue designation information and frame length information added to the frame data transferred from the multiplexing device 10, determination address number information set in advance for each queue, Based on the number of used virtual addresses, the function for determining whether or not writing is possible and the frame data corresponding to one virtual address of the storage area provided in the data memory 31A according to the determination result of writing enable And a write instruction in which queue designation information is added to the obtained data, respectively, is written into the write FIFO 42.

判定用アドレス数情報には、当該キュー指定情報で指定された書込対象キューで使用可能な最大仮想アドレス数NKmaxと、当該書込対象キューに対して使用が保証されている最低保証仮想アドレス数NKminとが含まれている。
図22は、判定用アドレス数情報の構成例である。ここではキューを識別するためのキューIDごとに、最大仮想アドレス数NKmaxと最低保証仮想アドレス数NKminとが設定されている。これら判定用アドレス数情報は、例えばキュー使用アドレス数更新部46、あるいはアクセス調停部36の内部メモリ(図示せず)で記憶されている。
The determination address number information includes the maximum number of virtual addresses NKmax that can be used in the write target queue specified by the queue specification information, and the minimum guaranteed virtual address number that is guaranteed to be used for the write target queue. NKmin.
FIG. 22 is a configuration example of the determination address number information. Here, a maximum virtual address number NKmax and a minimum guaranteed virtual address number NKmin are set for each queue ID for identifying a queue. The determination address number information is stored in, for example, an internal memory (not shown) of the queue use address number update unit 46 or the access arbitration unit 36.

読出受付部43は、多重分離装置20から出力された読み出し要求の読出データ量情報に基づいて、データメモリ31Aに対する読み出し回数を計算し、その読み出し回数だけ当該読み出し要求のキュー指定情報を読み出し指示として読出用FIFO44に書き込む機能を有している。この計算は、読出データ量情報が示すデータ量をデータメモリ31Aの1仮想アドレスあたりのデータサイズで除算した値を読み出し回数とし、剰余がある場合は読み出し回数に1を加算すれば良い。   The read receiving unit 43 calculates the number of reads to the data memory 31A based on the read data amount information of the read request output from the multiplexer / demultiplexer 20, and uses the queue designation information of the read request as a read instruction for the number of read times. It has a function of writing to the read FIFO 44. In this calculation, a value obtained by dividing the data amount indicated by the read data amount information by the data size per virtual address of the data memory 31A is used as the number of readings, and if there is a remainder, 1 may be added to the number of readings.

優先制御部45は、書込用FIFO42もしくは読出用FIFO44から、書き込み指示もしくは読み出し指示を読み出して、キュー使用アドレス数更新部46へ出力する機能と、書込用FIFO42と読出用FIFO44の双方に、書き込み指示と読み出し指示が存在する場合は、書込用FIFO42からの書き込み指示を優先して読み出す機能とを有している。   The priority control unit 45 reads a write instruction or a read instruction from the write FIFO 42 or the read FIFO 44 and outputs it to the queue use address number update unit 46, and both the write FIFO 42 and the read FIFO 44 In the case where there are a write instruction and a read instruction, it has a function of preferentially reading the write instruction from the write FIFO 42.

キュー使用アドレス数更新部46は、優先制御部45から書き込み指示が入力された場合は、キュー使用アドレス数メモリ35のうち、当該書き込み指示のキュー指定情報と対応する書込対象キューの使用仮想アドレス数に1を加算し、当該書き込み指示を指示出力部47へ出力する機能と、優先制御部45から読み出し指示が入力された場合は、キュー使用アドレス数メモリ35のうち、当該読み出し指示のキュー指定情報と対応する読出対象キューの使用仮想アドレス数から1を減算し、当該読み出し指示を指示出力部47へ出力する機能とを有している。   When a write instruction is input from the priority control unit 45, the queue use address number update unit 46 uses the virtual address of the write target queue corresponding to the queue designation information of the write instruction in the queue use address number memory 35. The function of adding 1 to the number and outputting the write instruction to the instruction output unit 47, and when a read instruction is input from the priority control unit 45, the queue designation of the read instruction in the queue use address number memory 35 It has a function of subtracting 1 from the number of used virtual addresses of the read target queue corresponding to the information and outputting the read instruction to the instruction output unit 47.

指示出力部47は、キュー使用アドレス数更新部46から書き込み指示が入力された場合は、当該書き込み指示を書込制御部33へ出力する機能と、読み出し指示が入力された場合は、当該読み出し指示を読出制御部34へ出力する機能とを有している。   The instruction output unit 47 outputs a write instruction to the write control unit 33 when a write instruction is input from the queue use address number update unit 46, and the read instruction when a read instruction is input. Is output to the reading control unit 34.

[第2の実施の形態の動作]
次に、図23を参照して、本実施の形態にかかるアクセス調停部36の動作として、フレームデータの書き込み時における書込判定動作について説明する。図23は、第2の実施の形態にかかる書込可否判定処理を示すフローチャートである。
記録装置30のアクセス調停部36は、多重化装置10から転送されたフレームデータごとに、図23の書込可否判定処理に基づいて、書込可否を判定する。
[Operation of Second Embodiment]
Next, with reference to FIG. 23, a write determination operation at the time of writing frame data will be described as the operation of the access arbitration unit 36 according to the present embodiment. FIG. 23 is a flowchart illustrating a write permission / inhibition determination process according to the second embodiment.
The access arbitration unit 36 of the recording device 30 determines whether or not writing is possible for each frame data transferred from the multiplexing device 10 based on the writeability determination processing in FIG.

まず、アクセス調停部36は、キュー使用アドレス数メモリ35から全キューに関する使用仮想アドレス数NKを取得して(ステップ200)、全キューが使用している合計仮想アドレス数NKAを算出し(ステップ201)、書込対象となる対象フレームデータの書き込みに要する必要仮想アドレス数NFを算出する(ステップ202)。   First, the access arbitration unit 36 acquires the used virtual address number NK for all the queues from the queue used address number memory 35 (step 200), and calculates the total virtual address number NKA used by all the queues (step 201). ) The required virtual address number NF required for writing the target frame data to be written is calculated (step 202).

この後、仮想データメモリの仮想格納アドレスの総アドレス数NAからNKAを減算することにより、対象フレームデータの書き込みに使用可能な仮想格納アドレスの数を示す残りアドレス数NRを算出し(ステップ203)、NFとNRとを比較する(ステップ204)。
ここで、NF>NRの場合(ステップ204:YES)、アクセス調停部36は、書込不可と判定して対象フレームデータを破棄し(ステップ213)、当該対象フレームデータに関する書込判定処理を終了する。
Thereafter, by subtracting NKA from the total address number NA of the virtual storage addresses of the virtual data memory, a remaining address number NR indicating the number of virtual storage addresses that can be used for writing the target frame data is calculated (step 203). NF and NR are compared (step 204).
Here, if NF> NR (step 204: YES), the access arbitration unit 36 determines that writing is not possible, discards the target frame data (step 213), and ends the write determination processing for the target frame data. To do.

一方、NF≦NRの場合(ステップ204:NO)、アクセス調停部36は、指定された書込対象キューの最大仮想アドレス数NKmaxをキュー使用アドレス数メモリ35等から取得して(ステップ205)、NKmaxからNKを減算することにより残りアドレス数NRを算出し(ステップ206)、NFとNRとを比較する(ステップ207)。
ここで、NF>NRの場合(ステップ207:YES)、アクセス調停部36は、書込不可と判定して対象フレームデータを破棄し(ステップ213)、当該対象フレームデータに関する書込判定処理を終了する。
On the other hand, when NF ≦ NR (step 204: NO), the access arbitration unit 36 obtains the maximum virtual address number NKmax of the designated write target queue from the queue use address number memory 35 or the like (step 205), The remaining address number NR is calculated by subtracting NK from NKmax (step 206), and NF and NR are compared (step 207).
Here, if NF> NR (step 207: YES), the access arbitration unit 36 determines that writing is not possible, discards the target frame data (step 213), and ends the write determination processing for the target frame data. To do.

一方、NF≦NRの場合(ステップ207:NO)、アクセス調停部36は、全キューに関する最低保証仮想アドレス数NKminをキュー使用アドレス数メモリ35から取得し(ステップ208)、全キューを一括して最低限保証すべき総保証仮想アドレス数NAminを算出する(ステップ209)。この際、任意のキューのキュー使用仮想アドレス数NKがその最低保証仮想アドレス数以上である場合は、当該キューの保証仮想アドレス数としてキュー使用仮想アドレス数NKを加算し、キュー使用仮想アドレス数NKがその最低保証仮想アドレス数未満である場合は、当該キューの保証仮想アドレス数として最低保証仮想アドレス数NKminを加算する。   On the other hand, when NF ≦ NR (step 207: NO), the access arbitration unit 36 acquires the minimum guaranteed virtual address number NKmin for all the queues from the queue use address number memory 35 (step 208), and collects all the queues collectively. The total guaranteed virtual address number NAmin to be guaranteed at least is calculated (step 209). At this time, if the queue use virtual address number NK of an arbitrary queue is equal to or greater than the minimum guaranteed virtual address number, the queue use virtual address number NK is added as the guaranteed virtual address number of the queue, and the queue use virtual address number NK Is less than the minimum guaranteed virtual address number, the minimum guaranteed virtual address number NKmin is added as the guaranteed virtual address number of the queue.

この後、アクセス調停部36は、NAからNAminを減算することにより残りアドレス数NRを算出し(ステップ210)、NFとNRとを比較する(ステップ211)。
ここで、NF>NRの場合(ステップ211:YES)、アクセス調停部36は、書込不可と判定して対象フレームデータを破棄し(ステップ213)、当該対象フレームデータに関する書込判定処理を終了する。
Thereafter, the access arbitration unit 36 calculates the remaining address number NR by subtracting NAmin from NA (step 210), and compares NF and NR (step 211).
Here, when NF> NR (step 211: YES), the access arbitration unit 36 determines that writing is not possible, discards the target frame data (step 213), and terminates the write determination processing related to the target frame data. To do.

一方、NF≦NRの場合(ステップ211:NO)、アクセス調停部36は、対象フレームデータについて書込可と判定し(ステップ212)、当該対象フレームデータに関する書込判定処理を終了する。
この後、この書込可の判定に応じて、アクセス調停部36は、対象フレームデータを1仮想アドレス分のデータサイズに分割し、得られたデータにキュー指定情報を付加した書き込み指示を、それぞれ書込用FIFO42に書き込むことになる。
On the other hand, when NF ≦ NR (step 211: NO), the access arbitration unit 36 determines that the target frame data can be written (step 212), and ends the write determination process for the target frame data.
Thereafter, the access arbitration unit 36 divides the target frame data into data sizes corresponding to one virtual address according to the determination of whether or not writing is possible, and issues a write instruction in which queue designation information is added to the obtained data, respectively. The data is written in the write FIFO 42.

[第2の実施の形態の効果]
このように、本実施の形態は、記録装置30において、キュー使用アドレス数メモリ35が、キューごとに、当該キューが使用している仮想格納アドレスの数を示す使用アドレス数を記憶し、アクセス調停部36が、書込対象キューに通信データを書き込む(書き込み指示を行う)際、当該通信データのデータ長に基づき、書き込みに必要となる仮想格納アドレスの数を示す必要アドレス数を算出し、キュー使用アドレス数メモリ35から取得した当該書込対象キューまたは各キューの使用仮想アドレス数等に基づき、当該書き込みに使用可能な仮想格納アドレスの数を示す残りアドレス数を算出し、当該必要アドレス数と当該残りアドレス数とを比較することにより当該通信データの書込可否を判定し、書込可の判定に応じて書込制御部33に対して当該通信データの書き込みを指示するようにしたものである。
[Effect of the second embodiment]
As described above, according to the present embodiment, in the recording apparatus 30, the queue use address number memory 35 stores the use address number indicating the number of virtual storage addresses used by the queue for each queue. When the unit 36 writes communication data to the write target queue (performs a write instruction), the unit 36 calculates the required number of addresses indicating the number of virtual storage addresses required for writing based on the data length of the communication data. Based on the number of used virtual addresses of the write target queue or each queue acquired from the used address number memory 35, the number of remaining addresses indicating the number of virtual storage addresses that can be used for the write is calculated, and the required number of addresses and Whether the communication data can be written is determined by comparing the number of remaining addresses, and the write control unit 3 determines whether the communication data can be written. It is obtained so as to direct the writing of the communication data to.

したがって、それぞれのキューによる仮想格納アドレスの使用数が制限されるため、任意の出力系統と対応するキューによる仮想格納アドレスの占有を抑止することができる。このため、特定の出力系統に関するフレームデータが多量に入力された場合でも、他の出力系統のキューが十分な仮想格納アドレス数を使用することが可能となる。これにより、フレームデータの破棄やこれによる通信品質の劣化を抑制することが可能となるとともに、これら対策として、メモリ容量の増大を行う必要がなくなり、結果として回路規模やコストの増大を抑制することが可能となる。   Therefore, since the number of virtual storage addresses used by each queue is limited, occupation of the virtual storage address by a queue corresponding to an arbitrary output system can be suppressed. For this reason, even when a large amount of frame data related to a specific output system is input, it is possible for the queues of other output systems to use a sufficient number of virtual storage addresses. As a result, it becomes possible to suppress the discarding of frame data and the deterioration of communication quality due to this, and as a countermeasure, it is not necessary to increase the memory capacity, and as a result, the increase in circuit scale and cost is suppressed. Is possible.

なお、本実施の形態におけるNKA及びNAminの算出は、キュー使用アドレス数メモリを更新する際に同時に算出(加算、減算等)することができる。
本実施の形態において、図21の構成のアクセス調停部を用いる場合、書込用FIFOに書き込み指示データが存在していると誤って書込可能と判定してしまう可能性がある。誤った判定を防止するためには、各キューの使用仮想アドレス数としてキュー使用アドレス数メモリの情報に書込用FIFO内の仮想アドレス数(書き込み指示の数)を加算した値を使用するか、NAもしくはNKmaxとして書込用FIFO内の仮想アドレス数(書き込み指示の数)を減算した値を使用すれば良い。
Note that NKA and NAmin in the present embodiment can be calculated (added, subtracted, etc.) simultaneously when updating the queue use address number memory.
In the present embodiment, when the access arbitration unit configured as shown in FIG. 21 is used, it may be erroneously determined that writing is possible if write instruction data exists in the write FIFO. In order to prevent erroneous determination, use a value obtained by adding the number of virtual addresses in the write FIFO (the number of write instructions) to the information of the queue used address number memory as the used virtual address number of each queue, A value obtained by subtracting the number of virtual addresses (the number of write instructions) in the write FIFO may be used as NA or NKmax.

[実施の形態の拡張]
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
[Extended embodiment]
The present invention has been described above with reference to the embodiments, but the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. In addition, each embodiment can be implemented in any combination within a consistent range.

上記の各実施の形態において、通信用入出力装置1でマルチキャストフレームを処理する場合、出力系統の1つとしてマルチキャスト用出力系統を設けるとともに多重分離装置20内の振分部22にマルチキャストフレームを複数の速度変換部23に出力する手段を設け、記録装置30のデータメモリ内に論理的に形成した一部のキューをこのマルチキャスト用出力系統に対応するキューとして割り当てるようにしてもよい。
これにより、外部から多重化装置10に入力されたマルチキャストフレームが、データメモリ内のマルチキャスト用出力系統に対応するキューに一時格納され、当該キューから多重分離装置20によりマルチキャストフレームが読み出されて複数の出力ポートから出力される。
In each of the above embodiments, when the communication input / output device 1 processes a multicast frame, a multicast output system is provided as one of the output systems, and a plurality of multicast frames are provided in the distribution unit 22 in the demultiplexer 20. It is also possible to provide a means for outputting to the speed converter 23 and to allocate a part of the queues logically formed in the data memory of the recording device 30 as a queue corresponding to this multicast output system.
As a result, a multicast frame input from the outside to the multiplexing device 10 is temporarily stored in a queue corresponding to the multicast output system in the data memory, and a plurality of multicast frames are read from the queue by the demultiplexing device 20. Output from the output port.

1…通信用入出力装置、10…多重化装置、11…キュー指定情報付加部、12…多重化部、20…多重分離装置、21…読出部、22…振分部、23,24…速度変換部、30…記録装置、31A…データメモリ、31B…DRAMアクセス部、32…キュー制御メモリ、33…書込制御部、34…読出制御部、35…キュー使用アドレス数メモリ、36…アクセス調停部、41…書込可否判定部、42…書込用FIFO、43…読出受付部、44…読出用FIFO、45…優先制御部、46…キュー使用アドレス数更新部、47…指示出力部、51…FIFOメモリ、52…活性化処理部、53…アクセス種別判定部、54…バンク管理メモリ、55…アドレス管理メモリ、56…DRAM書込部、57…DRAM読出部。   DESCRIPTION OF SYMBOLS 1 ... Communication input / output device, 10 ... Multiplexer, 11 ... Queue designation information addition part, 12 ... Multiplexing part, 20 ... Demultiplexing device, 21 ... Reading part, 22 ... Distribution part, 23, 24 ... Speed Conversion unit, 30 ... recording device, 31A ... data memory, 31B ... DRAM access unit, 32 ... queue control memory, 33 ... write control unit, 34 ... read control unit, 35 ... queue usage address number memory, 36 ... access arbitration 41: Write enable / disable determining unit, 42 ... Write FIFO, 43 ... Read acceptance unit, 44 ... Read FIFO, 45 ... Priority control unit, 46 ... Queue use address number update unit, 47 ... Instruction output unit, DESCRIPTION OF SYMBOLS 51 ... FIFO memory, 52 ... Activation processing part, 53 ... Access type determination part, 54 ... Bank management memory, 55 ... Address management memory, 56 ... DRAM writing part, 57 ... DRAM reading part.

Claims (4)

順次入力される通信データに、当該通信データを出力すべき出力系統と対応するキューを示すキュー指定情報を付加して多重化する多重化装置と、前記多重化装置から転送された前記通信データを、データメモリ内に論理的に形成した複数のキューのうち前記キュー指定情報で指定された書込対象キューへ一時蓄積する記録装置と、前記キューのうち優先制御ロジックに基づき選択した出力系統と対応する読出対象キューから前記通信データを読み出し、当該出力系統と対応する出力ポートの通信速度に変換して出力する多重分離装置とを備える通信用入出力装置であって、
前記記録装置は、
バンクごとに複数のロウアドレスを有するDRAMからなり、前記キューと対応する個別のロウアドレスで当該キューの通信データを記憶する前記データメモリと、
前記書込対象キューに前記通信データを書き込む際、前記バンクのうち当該書込対象キューに対応する書込対象ロウアドレスが活性化状態にあるバンクを書込対象バンクとして選択して当該通信データを書き込み、当該書込対象ロウアドレスが活性化状態にあるバンクが存在しない場合は、当該書込対象ロウアドレスが非活性化状態にあるバンクを書込対象バンクとして選択して当該書込対象ロウアドレスを活性化した後に当該通信データを書き込むDRAMアクセス部と
を備えることを特徴とする通信用入出力装置。
A multiplexing device that multiplexes by adding queue designation information indicating a queue corresponding to an output system to which the communication data is to be output, and the communication data transferred from the multiplexing device. Corresponding to a recording device for temporarily storing in a queue to be written designated by the queue designation information among a plurality of queues logically formed in the data memory, and an output system selected based on the priority control logic among the queues A communication input / output device comprising: a demultiplexer that reads the communication data from the read target queue and converts the communication data into a communication speed of an output port corresponding to the output system;
The recording device includes:
The data memory, which comprises a DRAM having a plurality of row addresses for each bank, stores communication data of the queue at individual row addresses corresponding to the queue,
When writing the communication data to the write target queue, the bank in which the write target row address corresponding to the write target queue is activated among the banks is selected as the write target bank, and the communication data is selected. When there is no bank in which the write target row address is in the activated state, the bank in which the write target row address is in the inactive state is selected as the write target bank, and the write target row address is selected. And a DRAM access section for writing the communication data after activating the communication input / output device.
請求項1に記載の通信用入出力装置において、
前記DRAMアクセス部は、
前記キューと前記バンクとの組み合わせごとに、当該キューの通信データを当該バンクに書き込む際にコラムアドレスとして用いる書込ポインタ値を記憶するバンク管理メモリを有し、
前記通信データを書き込む際、前記書込対象ロウアドレスと前記書込対象バンクとの組み合わせに対応する書込ポインタ値を前記バンク管理メモリから取得し、当該書込対象バンクの当該書込対象ロウアドレスのうち、当該書込ポインタ値からなるコラムアドレスに当該通信データを書き込む
ことを特徴とする通信用入出力装置。
The communication input / output device according to claim 1,
The DRAM access unit
For each combination of the queue and the bank, a bank management memory for storing a write pointer value used as a column address when writing communication data of the queue to the bank,
When writing the communication data, a write pointer value corresponding to a combination of the write target row address and the write target bank is acquired from the bank management memory, and the write target row address of the write target bank is acquired. An input / output device for communication, wherein the communication data is written to a column address consisting of the write pointer value.
請求項1または請求項2に記載の通信用入出力装置において、
前記記録装置は、
前記データメモリの前記キューに対する書き込み・読み出しを制御する際に用いるキュー制御情報を記憶するキュー制御メモリと、
前記キュー制御メモリのキュー制御情報に基づいて、前記多重化装置から転送された前記通信データの前記書込対象キューに対する書き込みを前記DRAMアクセス部に指示する書込制御部と、
前記キュー制御メモリのキュー制御情報に基づいて、前記読出対象キューからの通信データの読み出しを前記DRAMアクセス部に指示し、読み出した通信データを前記多重分離装置へ転送する読出制御部とをさらに備え、
前記キュー制御メモリは、仮想データメモリ上で用いられる仮想格納アドレスごとに、当該仮想格納アドレスに書き込まれた通信データに後続する通信データの仮想格納アドレスを示す後続アドレスを記憶し、前記キューごとに、当該キューの通信データが書き込まれている前記仮想格納アドレスの先頭および最終を示すキュー先頭アドレスおよびキュー最終アドレスを記憶し、前記各キューに共通して、次に通信データを書き込むべき仮想格納アドレスを示す次書込アドレスを記憶し、
前記書込制御部は、前記書込対象キューに前記通信データを書き込む際、前記次書込アドレスからなる書込対象仮想アドレスに対する当該通信データの書き込みをDRAMアクセス部に指示し、当該書込対象キューのキュー最終アドレス、書込前のキュー最終アドレスに関する後続アドレス、および次書込アドレスをそれぞれ更新し、
前記読出制御部は、前記読出対象キューから前記通信データを読み出す際、当該読出対象キューのキュー先頭アドレスからなる読出対象仮想アドレスに対する当該通信データの読み出しをDRAMアクセス部に指示し、当該読出対象キューのキュー先頭アドレス、次書込アドレス、および新たな次書込アドレスに関する後続アドレスをそれぞれ更新し、
前記DRAMアクセス部は、前記書込対象仮想アドレスに対する当該通信データの書き込み指示に対して、書込対象仮想アドレスに対応する書き込み対象バンクを記録するアドレス管理メモリを有し、前記読出対象仮想アドレスに対する当該通信データの読み出し指示に対して、前記読出対象仮想アドレスに対応するバンクを前記アドレス管理メモリより読み出すことにより決定する
ことを特徴とする通信用入出力装置。
The communication input / output device according to claim 1 or 2,
The recording device includes:
A queue control memory for storing queue control information used when controlling writing / reading to / from the queue of the data memory;
Based on the queue control information in the queue control memory, said write statement that instructs to write to the DRAM access unit to the target queue write control unit of the communication data transferred from the multiplexer,
A read control unit that instructs the DRAM access unit to read communication data from the read target queue based on queue control information in the queue control memory, and transfers the read communication data to the demultiplexer; ,
The queue control memory stores a subsequent address indicating a virtual storage address of communication data subsequent to the communication data written to the virtual storage address for each virtual storage address used on the virtual data memory, and for each queue , Storing a queue head address and a queue last address indicating the head and end of the virtual storage address in which the communication data of the queue is written, and a virtual storage address to which communication data is to be written next in common to each of the queues Stores the next write address indicating
When writing the communication data to the write target queue, the write control unit instructs the DRAM access unit to write the communication data to the write target virtual address composed of the next write address, and the write target Update the queue last address, the subsequent address for the queue last address before writing, and the next write address,
When reading the communication data from the read target queue, the read control unit instructs the DRAM access unit to read the communication data for the read target virtual address consisting of the queue head address of the read target queue, and Update the subsequent addresses for the queue's head address, next write address, and new next write address,
The DRAM access unit has an address management memory for recording a write target bank corresponding to a write target virtual address in response to a write instruction of the communication data with respect to the write target virtual address. An input / output device for communication, wherein the communication data read instruction is determined by reading a bank corresponding to the read target virtual address from the address management memory.
請求項に記載の通信用入出力装置において、
前記記録装置は、
前記キューごとに、当該キューが使用している前記仮想データメモリ上での仮想格納アドレスの数を示す使用アドレス数を記憶するキュー使用アドレス数メモリと、
前記書込対象キューに前記通信データを書き込む際、当該通信データのデータ長に基づき、書き込みに必要となる仮想格納アドレスの数を示す必要アドレス数を算出し、前記キュー使用アドレス数メモリから取得した当該書込対象キューまたは前記各キューの使用アドレス数に基づき、当該書き込みに使用可能な仮想格納アドレスの数を示す残りアドレス数を算出し、当該必要アドレス数と当該残りアドレス数とを比較することにより当該通信データの書込可否を判定し、書込可の判定に応じて前記書込制御部に対して当該通信データの書き込みを指示するアクセス調停部と
をさらに備えることを特徴とする通信用入出力装置。
The communication input / output device according to claim 3 ,
The recording device includes:
A queue use address number memory for storing a use address number indicating the number of virtual storage addresses on the virtual data memory used by the queue for each queue;
When writing the communication data to the write target queue, the necessary address number indicating the number of virtual storage addresses required for writing is calculated based on the data length of the communication data, and obtained from the queue use address number memory Based on the number of addresses used in the write target queue or each of the queues, the number of remaining addresses indicating the number of virtual storage addresses that can be used for the write is calculated, and the required number of addresses and the number of remaining addresses are compared. An access arbitration unit that determines whether or not the communication data can be written, and instructs the write control unit to write the communication data according to the determination of whether or not writing is possible. I / O device.
JP2015034823A 2015-02-25 2015-02-25 Communication input / output device Expired - Fee Related JP6351073B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015034823A JP6351073B2 (en) 2015-02-25 2015-02-25 Communication input / output device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015034823A JP6351073B2 (en) 2015-02-25 2015-02-25 Communication input / output device

Publications (2)

Publication Number Publication Date
JP2016157284A JP2016157284A (en) 2016-09-01
JP6351073B2 true JP6351073B2 (en) 2018-07-04

Family

ID=56826220

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015034823A Expired - Fee Related JP6351073B2 (en) 2015-02-25 2015-02-25 Communication input / output device

Country Status (1)

Country Link
JP (1) JP6351073B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019204150A (en) * 2018-05-21 2019-11-28 日本電信電話株式会社 Input-output apparatus for communication

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09237490A (en) * 1996-03-01 1997-09-09 Toshiba Corp Memory control method
JP2010003067A (en) * 2008-06-19 2010-01-07 Sony Corp Memory system, access control method therefor, and computer program
JP2011010195A (en) * 2009-06-29 2011-01-13 Nippon Telegr & Teleph Corp <Ntt> Input/output device for communication

Also Published As

Publication number Publication date
JP2016157284A (en) 2016-09-01

Similar Documents

Publication Publication Date Title
CN102377682B (en) Queue management method and device based on variable-length packets stored in fixed-size location
US8081646B1 (en) Old virtual queues technique for routing data packets in a packet switch
US9471521B2 (en) Communication system for interfacing a plurality of transmission circuits with an interconnection network, and corresponding integrated circuit
US9690507B2 (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
CN115114215B (en) High-speed peripheral component interconnect interface device and operation method thereof
JP6611011B2 (en) Communication input / output device
JP6351073B2 (en) Communication input / output device
US7627672B2 (en) Network packet storage method and network packet transmitting apparatus using the same
JP6570075B2 (en) Communication input / output device
US20170212689A1 (en) Packet processing system, method and device utilizing memory sharing
CN103927125A (en) Time-sharing Buffer Access System And Memory Controller
JP2016158024A (en) Communication input / output device
US11546276B2 (en) Communication input-output device
EP3244582B1 (en) Switch and data accessing method thereof
JP4855864B2 (en) Direct memory access controller
US9767014B2 (en) System and method for implementing distributed-linked lists for network devices
JP2019032727A (en) Input/output device for communication
JP2019032699A (en) Communication input / output device
JP2019032705A (en) Input/output device for communication
JP6212059B2 (en) Communication input / output device
JP2014074993A (en) Semiconductor device
US20160292070A1 (en) Control path subsystem, method and device utilizing memory sharing
JP6364951B2 (en) DMA controller

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: 20171213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180323

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: 20180529

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180531

R150 Certificate of patent or registration of utility model

Ref document number: 6351073

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees