JP2012204931A - Communication device, communication method, and program - Google Patents

Communication device, communication method, and program Download PDF

Info

Publication number
JP2012204931A
JP2012204931A JP2011065600A JP2011065600A JP2012204931A JP 2012204931 A JP2012204931 A JP 2012204931A JP 2011065600 A JP2011065600 A JP 2011065600A JP 2011065600 A JP2011065600 A JP 2011065600A JP 2012204931 A JP2012204931 A JP 2012204931A
Authority
JP
Japan
Prior art keywords
memory unit
priority
packet
refresh
processing target
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.)
Withdrawn
Application number
JP2011065600A
Other languages
Japanese (ja)
Inventor
Nobutaka Ishii
宣宇 石井
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2011065600A priority Critical patent/JP2012204931A/en
Publication of JP2012204931A publication Critical patent/JP2012204931A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Dram (AREA)

Abstract

PROBLEM TO BE SOLVED: To save the power consumed by a DRAM which is used as a buffer in which packets are stored during a shaping process.SOLUTION: A buffer 30 consists of a memory unit 31-1 for high priority, a memory unit 31-2 for middle priority and a memory unit 31-3 for low priority. When packets are stored in a buffer during a shaping process, data is stored in a memory unit 31 whose priority level matches that of the data. At this time, as for the memory unit 31-3 for lower priority, one packet data is made to be stored within one column. On top of that, the buffer is configured in such a way that, as for the memory unit 31-1 for high priority and the memory unit 31-2 for middle priority, auto refresh is executed, and, as for the memory unit 31-3 for low priority, column-specified refresh, which is targeted for only a column having data stored therein, is executed.

Description

本発明は、パケットやフレームを送受信する通信装置とその方法に関する。また、上記通信装置に実行させるプログラムに関する。   The present invention relates to a communication apparatus and method for transmitting and receiving packets and frames. The present invention also relates to a program that is executed by the communication device.

L2(レイヤ2)スイッチやL3(レイヤ3)スイッチなどの通信装置が実装するQoS(Quality of Service)機能の1つとして、キューイングにより輻輳制御を行うシェーピングが知られている。   As one of QoS (Quality of Service) functions implemented by communication apparatuses such as L2 (Layer 2) switches and L3 (Layer 3) switches, shaping that performs congestion control by queuing is known.

例えば特許文献1には、次のようなトラヒックシェーピング回路の技術が開示されている。つまり、リーキーバケツ方式の拡張として、WFQ(Weighted Fair Queuing)パケットを送出するための閾値のほかに、LLQ(Low Latencey Queuing)パケットの送出を許可するための閾値を設定する。後者の閾値は前者よりも大きい値に設定する。これにより、WFQパケットが送信できない場合でもLLQパケットを優先的に送信可能となる。   For example, Patent Document 1 discloses the following traffic shaping circuit technology. That is, as an extension of the leaky bucket method, a threshold value for permitting transmission of an LLQ (Low Latency Queuing) packet is set in addition to a threshold value for transmitting a WFQ (Weighted Fair Queuing) packet. The latter threshold is set to a larger value than the former. Thereby, even when the WFQ packet cannot be transmitted, the LLQ packet can be transmitted with priority.

特開2008−263430号公報JP 2008-263430 A

上記のシェーピングに際しては廃棄しないパケットをバッファに格納していくことが行われるが、このバッファとしてのハードウェアにはDRAM(Dynamic Random Access Memory)に代表される半導体メモリが用いられる。このDRAMでは、記憶内容が失われないように一定時間ごとに電荷を再注入するリフレッシュが行われる。   In the above shaping, packets that are not discarded are stored in a buffer, and a semiconductor memory typified by a DRAM (Dynamic Random Access Memory) is used as hardware for the buffer. In this DRAM, refresh is performed in which charges are reinjected at regular intervals so as not to lose the stored contents.

また、シェーピングに際しては、優先度ごとにバッファ(キュー)を設けることが論理的に行われるが、このバッファへのパケットの格納は、物理的には、廃棄対象でないパケットのデータを、DRAMの空き領域に対して単に格納していくという動作になる。このために、どのバンクのDRAMにデータが記憶されていても記憶内容が失われることがないようにするため、すべてのDRAMを一律にリフレッシュすることとしている。そのうえで、通信装置が備えるDRAMではオートリフレッシュが採用されることが多い。   In shaping, it is logical to provide a buffer (queue) for each priority. However, in storing packets in this buffer, the data of packets that are not to be discarded are physically stored in the DRAM. The operation is to simply store the area. For this reason, all the DRAMs are uniformly refreshed so that the stored contents are not lost regardless of which bank of DRAMs stores the data. In addition, auto refresh is often employed in DRAMs included in communication devices.

通信装置の消費電力はできるだけ低減されることが好ましい。DRAMはリフレッシュ動作において最も電力を消費する。しかし、上記の構成では、データが記憶されていないDRAM上の領域も一律にリフレッシュが行われてしまうという無駄が生じてしまう。   The power consumption of the communication device is preferably reduced as much as possible. DRAM consumes the most power in a refresh operation. However, in the above configuration, there is a waste that the area on the DRAM in which no data is stored is uniformly refreshed.

本発明は上記の課題を解決することのできる通信装置、通信方法、プログラムを提供する。   The present invention provides a communication device, a communication method, and a program that can solve the above-described problems.

本発明は、シェーピング処理の対象となる処理対象パケットのデータが格納され、それぞれが異なる優先度に対応する複数のメモリ部と、優先度が一定以上の高優先度の処理対象パケットを、前記複数のメモリ部において前記高優先度に対応する高優先度対応メモリ部に格納させ、優先度が一定以下の低優先度の処理対象パケットを、前記低優先度に対応する低優先度対応メモリ部に格納させるパケット格納制御手段と、前記高優先度対応メモリ部にてオートリフレッシュが実行され、前記低優先度対応メモリ部にて前記処理対象パケットが格納されたカラムのみをリフレッシュするカラム指定リフレッシュが実行されるように制御するリフレッシュ制御手段とを備えることを特徴とする通信装置である。   The present invention stores processing target packet data to be subjected to shaping processing, each of which includes a plurality of memory units corresponding to different priorities, and a processing target packet having a high priority with a certain priority or higher. In the memory unit, the high priority correspondence memory unit corresponding to the high priority is stored, and the low priority processing target packet having a priority lower than a certain level is stored in the low priority correspondence memory unit corresponding to the low priority. Auto-refresh is executed in the packet storage control means to be stored and the high-priority correspondence memory unit, and column-specific refresh is performed in which only the column in which the processing target packet is stored is refreshed in the low-priority correspondence memory unit And a refresh control means for controlling the communication device to control the communication device.

また、本発明は、シェーピング処理の対象となる処理対象パケットのうち優先度が一定以上の高優先度の処理対象パケットを、複数のメモリ部において前記高優先度に対応する高優先度対応メモリ部に格納させ、前記処理対象パケットのうち優先度が一定以下の低優先度の処理対象パケットを、低優先度に対応する低優先度対応メモリ部に格納させるパケット格納制御手順と、前記高優先度対応メモリ部にてオートリフレッシュが実行され、前記低優先度対応メモリ部にて前記処理対象パケットが格納されたカラムのみをリフレッシュするカラム指定リフレッシュが実行されるように制御するリフレッシュ制御手順とを備えることを特徴とする通信方法である。   In addition, the present invention provides a high-priority correspondence memory unit that corresponds to a high priority among a plurality of processing target packets that have a predetermined priority or higher among processing target packets that are targets of shaping processing. A packet storage control procedure for storing a low-priority processing target packet having a priority lower than or equal to a certain level among the processing target packets in a low-priority correspondence memory unit corresponding to the low priority, and the high priority A refresh control procedure for performing control so that auto-refresh is executed in the corresponding memory unit, and column-specific refresh for refreshing only the column in which the processing target packet is stored is executed in the low-priority correspondence memory unit This is a communication method characterized by the above.

また、本発明は、通信装置に、シェーピング処理の対象となる処理対象パケットのうち優先度が一定以上の高優先度の処理対象パケットを、複数のメモリ部において前記高優先度に対応する高優先度対応メモリ部に格納させ、前記処理対象パケットのうち優先度が一定以下の低優先度の処理対象パケットを、低優先度に対応する低優先度対応メモリ部に格納させるパケット格納制御手順と、前記高優先度対応メモリ部にてオートリフレッシュが実行され、前記低優先度対応メモリ部にて前記処理対象パケットが格納されたカラムのみをリフレッシュするカラム指定リフレッシュが実行されるように制御するリフレッシュ制御手順とを実行させるためのプログラムである。   Further, the present invention provides a communication device that processes packets having a high priority with a certain priority or higher among processing target packets to be subjected to shaping processing in a plurality of memory units corresponding to the high priority. A packet storage control procedure for storing a low priority processing target packet having a predetermined priority or lower among the processing target packets in a low priority correspondence memory unit corresponding to the low priority, Refresh control for performing control so that auto refresh is performed in the high priority correspondence memory unit and column designated refresh is performed in the low priority correspondence memory unit to refresh only the column in which the processing target packet is stored Is a program for executing the procedure.

本発明によれば、通信装置がシェーピングのためにバッファとして使用する半導体メモリの消費電力が低減されるという効果が得られる。   According to the present invention, an effect that the power consumption of a semiconductor memory used as a buffer by a communication device for shaping is reduced can be obtained.

本発明の実施の形態における通信装置1の構成例を示す図である。It is a figure which shows the structural example of the communication apparatus 1 in embodiment of this invention. 本実施の形態における処理対象パケットの優先度とパケット長との関係例を示す図である。It is a figure which shows the example of a relationship between the priority of a process target packet in this Embodiment, and packet length. 本実施の形態におけるバッファ30の記憶内容例を模式的に示す図である。It is a figure which shows typically the example of the memory content of the buffer 30 in this Embodiment. 本実施の形態におけるシェーピング処理の可否を決定するための処理手順例を示す図である。It is a figure which shows the example of a process sequence for determining the decision | availability of the shaping process in this Embodiment. 本実施の形態におけるシェーピング処理のための処理手順例を示す図である。It is a figure which shows the example of a process sequence for the shaping process in this Embodiment. 本実施の形態におけるリフレッシュ制御のための処理手順例を示す図である。It is a figure which shows the example of a process sequence for the refresh control in this Embodiment. 本実施の形態のシェーピング処理によらない場合に想定されるバッファ30へのパケットデータの書き込み態様例を示す図である。It is a figure which shows the example of a writing mode of the packet data to the buffer 30 assumed when not using the shaping process of this Embodiment.

図1は、本発明の実施の形態としての通信装置1の構成例を示している。なお、この通信装置1は、例えば、L2スイッチ、L3スイッチまたはルータなどに適用することができる。また、以降において通信装置1はパケットを処理するものとして説明するが、本実施の形態においてパケットは、例えばMAC(Media Access Control)フレームなどに代表されるフレームと同義であるものとする。   FIG. 1 shows a configuration example of a communication apparatus 1 as an embodiment of the present invention. The communication device 1 can be applied to, for example, an L2 switch, an L3 switch, or a router. In the following description, it is assumed that the communication device 1 processes a packet. However, in this embodiment, the packet is synonymous with a frame represented by, for example, a MAC (Media Access Control) frame.

図1に示す通信装置1は、パケット処理部10、メモリ制御部20およびバッファ30を備える。パケット処理部10は、複数のポートごとに対応して送受信されるパケットについて所要の処理を実行する。例えば、パケット処理部10は、受信したパケットのアドレスの読み込み処理、アドレスの更新、ルーティングテーブルまたはフォワーディングテーブルを参照してのルーティング処理またはフォワーディング処理を実行する。また、QoS制御を実行する。本実施の形態においては、QoS制御としてシェーピング処理を実行可能とされている。シェーピング処理は、QoS制御における帯域制御として、予め定めた帯域を超過したパケットを一旦バッファに格納し、この後に送信出力させる処理である。このようなパケット制御の結果、出力レートは平滑化される。   The communication device 1 illustrated in FIG. 1 includes a packet processing unit 10, a memory control unit 20, and a buffer 30. The packet processing unit 10 performs a required process on a packet transmitted / received corresponding to each of a plurality of ports. For example, the packet processing unit 10 executes a read process of the address of the received packet, an update of the address, a routing process or a forwarding process with reference to the routing table or the forwarding table. Also, QoS control is executed. In the present embodiment, the shaping process can be executed as the QoS control. The shaping process is a process for temporarily storing a packet exceeding a predetermined band in a buffer and transmitting it afterwards as band control in QoS control. As a result of such packet control, the output rate is smoothed.

メモリ制御部20は、パケット処理部10の命令に応じて、バッファ30に対してパケットデータの書き込みおよび読み出しを実行する。また、メモリ制御部20は、例えばリフレッシュコマンドを発行することにより、バッファ30にリフレッシュを実行させるための制御も実行する。   The memory control unit 20 writes and reads packet data to and from the buffer 30 in accordance with instructions from the packet processing unit 10. In addition, the memory control unit 20 also executes control for causing the buffer 30 to execute refresh, for example, by issuing a refresh command.

バッファ30は、シェーピング処理に際してパケットの待ち行列が格納されるキューとして用いられる記憶装置である。本実施の形態においてこのバッファ30は、物理的にはDRAMを採用しているものとする。DRAMは、記憶内容が消去されてしまわないようにメモリセルに対して一定期間ごとに電荷を注入する必要がある。すなわち、リフレッシュを行う必要がある。   The buffer 30 is a storage device used as a queue in which a queue of packets is stored during the shaping process. In this embodiment, it is assumed that the buffer 30 physically adopts a DRAM. In DRAMs, it is necessary to inject charges into memory cells at regular intervals so that the stored contents are not erased. That is, it is necessary to refresh.

また、本実施の形態のバッファ30は、パケットに設定される優先度ごとに応じたメモリ部を有する。ここでの説明にあたり、パケットの優先度は、高・中・低の3段階で定義されていることを前提とする。これに対応して、バッファ30は、高優先度対応メモリ部31−1、中優先度対応メモリ部31−2および低優先度対応メモリ部31−3の3つのメモリ部31を備えるものとする。なお、このバッファ30としてのDRAMは、複数のメモリチップからなるものとする。そのうえで、高優先度対応メモリ部31−1、中優先度対応メモリ部31−2および低優先度対応メモリ部31−3は、それぞれ、物理的に異なるメモリチップが対応する。   In addition, the buffer 30 according to the present embodiment includes a memory unit corresponding to each priority set for a packet. In the description here, it is assumed that packet priorities are defined in three stages of high, medium, and low. Correspondingly, the buffer 30 includes three memory units 31 including a high priority correspondence memory unit 31-1, a medium priority correspondence memory unit 31-2, and a low priority correspondence memory unit 31-3. . The DRAM as the buffer 30 is composed of a plurality of memory chips. In addition, physically different memory chips correspond to the high priority correspondence memory unit 31-1, the medium priority correspondence memory unit 31-2, and the low priority correspondence memory unit 31-3, respectively.

なお、実装としては、物理的に異なるメモリチップごとに対応して、複数の外部メモリコントローラを個別に実装するということも行われるが、ここでは、これら複数のメモリコントローラを、メモリ制御部20として統合して示している。   As for mounting, a plurality of external memory controllers may be individually mounted corresponding to each physically different memory chip. Here, the plurality of memory controllers are referred to as the memory control unit 20. Shown integrated.

ここで、本実施の形態の説明に先立ち、図7を参照して、本実施の形態としてのシェーピング処理を発明するに至った背景について説明する。図7は、上記図1と同等の構成の通信装置を想定したうえで、妥当であると考えられるバッファ30にパケットデータをバッファリングする際の態様例を示している。この図において、バッファ30は、第1メモリ部31A−1、第2メモリ部31A−2および第3メモリ部31A−3を備えている。なお、これらの第1メモリ部31A−1、第2メモリ部31A−2および第3メモリ部31A−3は、ハードウェアとして、例えば図1に示した高優先度対応メモリ部31−1、中優先度対応メモリ部31−2および低優先度対応メモリ部31−3と同等のものとなる。したがって、第1メモリ部31A−1、第2メモリ部31A−2および第3メモリ部31A−3は、それぞれ、物理的に異なるメモリチップとなる。   Prior to the description of the present embodiment, the background that led to the invention of the shaping process according to the present embodiment will be described with reference to FIG. FIG. 7 shows an example of a mode in which packet data is buffered in a buffer 30 that is considered to be appropriate, assuming a communication device having the same configuration as in FIG. In this figure, the buffer 30 includes a first memory unit 31A-1, a second memory unit 31A-2, and a third memory unit 31A-3. Note that the first memory unit 31A-1, the second memory unit 31A-2, and the third memory unit 31A-3 are, for example, the high priority correspondence memory unit 31-1 shown in FIG. This is equivalent to the priority correspondence memory unit 31-2 and the low priority correspondence memory unit 31-3. Therefore, the first memory unit 31A-1, the second memory unit 31A-2, and the third memory unit 31A-3 are physically different memory chips.

また、図7においては、説明の便宜上、第1メモリ部31A−1、第2メモリ部31A−2および第3メモリ部31A−3は、水平方向が列(カラム)に対応し、垂直方向が行(ロウ)に対応するものとして示している。この場合、第1メモリ部31A−1、第2メモリ部31A−2および第3メモリ部31A−3は、それぞれ、列C0〜Cnまでの(n+1)列と、行L0〜Lmまでの(m+1)行から成るものとしている。   In FIG. 7, for convenience of explanation, the first memory unit 31A-1, the second memory unit 31A-2, and the third memory unit 31A-3 have horizontal directions corresponding to columns and vertical directions. It is shown as corresponding to a row. In this case, the first memory unit 31A-1, the second memory unit 31A-2, and the third memory unit 31A-3 respectively include (n + 1) columns up to columns C0 to Cn and (m + 1) up to rows L0 to Lm. ) It consists of lines.

ここで、例えばキューに対するパケットの転送が、パケットA、B、C・・・D、E・・・F、G、H、Iの順であったとする。これに応じた各パケットデータの格納の仕方は次のようになる。つまり、第1メモリ部31A−1の先頭アドレス(C0、L0)から、アドレス順にしたがって、パケットA、B、C・・・D、E・・・F、G、H、Iを順次格納していく。このように、通常は、最後に書き込まれたパケットデータの終端アドレスに続けて次のパケットデータをアドレスにしたがって順次書き込んでいくようにする。
この結果、例えば図7のパケットBのように、パケットBの前半部分B(1)と後半部分B(2)とが隣接する2つの列にまたがって書き込まれる場合がある。同様に、パケットC、Iも、同じメモリ部において、隣接する2つの列にまたがって書き込まれた状態となる。さらに、パケットDのように、第1メモリ部31A−1の最終列Cnと、第2メモリ部31A−2の最初の列C0にまたがって格納された状態となる場合もあり得る。なお、以降において、この図7の説明のようにメモリ部31にパケットデータを書き込む方式については「順次書込方式」ということにする。
Here, for example, the packet transfer to the queue is in the order of packets A, B, C... D, E... F, G, H, and I. The method of storing each packet data according to this is as follows. That is, packets A, B, C... D, E... F, G, H, and I are sequentially stored in the order of addresses from the first address (C0, L0) of the first memory unit 31A-1. Go. In this way, normally, the next packet data is sequentially written according to the address following the end address of the last written packet data.
As a result, the first half B (1) and the second half B (2) of the packet B may be written across two adjacent columns as in the packet B of FIG. Similarly, packets C and I are also written across two adjacent columns in the same memory unit. Furthermore, there may be a case where the data is stored across the last column Cn of the first memory unit 31A-1 and the first column C0 of the second memory unit 31A-2 as in the packet D. Hereinafter, the method of writing packet data to the memory unit 31 as described in FIG. 7 will be referred to as a “sequential writing method”.

パケットのデータは論理的には優先度ごとにキュー分けされるように管理されるが、物理的には、上記図7のように、順次書込方式により、例えばパケット処理部10からの転送順にしたがってバッファ30(メモリ部31A)に対してアドレス順に格納されていく。したがって、バッファ30(メモリ部31A)の物理アドレスについて、優先度ごとに対応して区分されているものではない。このようメモリにデータを格納する場合、メモリ部31Aの各々に適用するリフレッシュ方式はオートリフレッシュが妥当になる。各メモリ部31Aに対して一定時間ごとにオートリフレッシュを実行させることにより、メモリ部31Aのいずれかにおいて読み出されずに残っているデータが存在していても、これが消失することがないようにされる。   The packet data is logically managed so as to be queued for each priority, but physically, for example, in the order of transfer from the packet processing unit 10 by the sequential writing method as shown in FIG. Therefore, the data is stored in the buffer 30 (memory unit 31A) in the order of addresses. Therefore, the physical address of the buffer 30 (memory unit 31A) is not classified according to priority. When data is stored in such a memory, auto refresh is appropriate as a refresh method applied to each of the memory units 31A. By causing each memory unit 31A to execute auto-refresh at regular intervals, even if there is data that remains without being read in any of the memory units 31A, this is not lost. .

なお、オートリフレッシュは、メモリのバンクにおけるすべての領域を対象として電荷を再注入するリフレッシュ方式である。オートリフレッシュを行う場合、メモリコントローラは、メモリセル内のキャパシタの電荷保持時間が一定以上経過したタイミングでオートリフレッシュコマンドを発行する。これに応じてリフレッシュカウンタがロウアドレスシーケンシャルに生成してバンクにおける全領域のメモリセルに対して電荷が再注入される。このように、リフレッシュは正確にバンクを対象として行われる。しかし、チップ内の複数のバンクごとに独立してリフレッシュを実行させることを目的として、同じ1つのチップに対応して複数の外部メモリコントローラを実装することは効率的ではないという事情がある。そこで、本実施の形態においては、物理的に異なるメモリチップ単位でリフレッシュを行うようにしている。   Auto refresh is a refresh method in which charges are reinjected in all areas in a memory bank. When performing auto-refresh, the memory controller issues an auto-refresh command at the timing when the charge retention time of the capacitor in the memory cell has exceeded a certain time. In response to this, the refresh counter generates row addresses sequentially, and charges are reinjected into the memory cells in all areas in the bank. In this way, the refresh is accurately performed on the bank. However, it is not efficient to mount a plurality of external memory controllers corresponding to the same chip for the purpose of performing refresh independently for each of a plurality of banks in the chip. Therefore, in the present embodiment, refresh is performed in units of physically different memory chips.

通信装置の消費電力はできるだけ少なくすることが好ましいが、バッファ30としてのDRAMが最も電力を消費する機会はリフレッシュ時となる。上記のオートリフレッシュは、上記のように、1回のリフレッシュごとにメモリチップにおけるすべてのメモリセル(アドレス)に電荷を注入する。図7の第3メモリ部31A−3のように、すべてのメモリセル(アドレス)にデータが記憶されておらず空き領域が存在する状態では、この空き領域に対しても電荷が注入されることになるために無駄な電力消費が生じることになる。そこで、本実施の形態としては、次に説明するように、シェーピング処理に際して、より効率の良いリフレッシュが行われるように構成して、消費電力量の低減を図るものである。   Although it is preferable to reduce the power consumption of the communication device as much as possible, the opportunity for the DRAM as the buffer 30 to consume the most power is during refresh. In the auto-refresh, as described above, charge is injected into all memory cells (addresses) in the memory chip for each refresh. In the state where data is not stored in all memory cells (addresses) and there is an empty area as in the third memory unit 31A-3 in FIG. 7, charges are also injected into this empty area. Therefore, useless power consumption occurs. Therefore, as described below, the present embodiment is configured to perform more efficient refresh during the shaping process so as to reduce power consumption.

ここで、本実施の形態の通信装置1がシェーピングの処理対象とするパケット(処理対象パケット)として、パケットA〜Fの6つのパケットがあるとする。図2は、これらパケットA〜Fについて、優先度とパケット長を座標上で示したものである。この図に示されるように、優先度については、パケットA、B、Cが「高」に属し、パケットDが「中」に属し、パケットE、Fが「低」に属する。また、パケット長に関しては、パケットAが最もパケット長が短く、次いで、パケットB、D、E、C、Fの順で長くなっていく。すなわち、通信装置1が処理するパケットの優先度とパケット長の組み合わせは一律ではなく、対応のアプリケーションなどに応じて異なるものとなる。
シェーピング処理に際してキュー(バッファ30)に送られるパケットの滞留時間は、優先度ごとに応じて異なってくる。具体的に、パケットの優先度が高くなるほどキュー待ちの時間が短くなるためにパケットデータの滞留時間は短くなり、優先度が低くなるほどキュー待ちの時間が長くなるためにパケットの滞留時間は長くなる。なお、このパケットの滞留時間は、メモリ部31においてパケットを記憶保持する時間に相当する。
Here, it is assumed that there are six packets A to F as packets to be processed by the communication apparatus 1 according to the present embodiment (processing target packets). FIG. 2 shows the priorities and packet lengths of these packets A to F on the coordinates. As shown in this figure, regarding the priorities, packets A, B, and C belong to “high”, packet D belongs to “medium”, and packets E and F belong to “low”. Regarding the packet length, packet A has the shortest packet length, and then becomes longer in the order of packets B, D, E, C, and F. That is, the combination of the packet priority and packet length processed by the communication device 1 is not uniform, and varies depending on the corresponding application.
The residence time of packets sent to the queue (buffer 30) during the shaping process varies depending on the priority. Specifically, the higher the packet priority, the shorter the queue waiting time, so the packet data residence time becomes shorter. The lower the priority, the longer the queue waiting time, so the packet residence time becomes longer. . The packet residence time corresponds to the time for storing and holding the packet in the memory unit 31.

上記の滞留時間とオートリフレッシュのタイミングについては次のことがいえる。すなわち、優先度「高」のパケットデータは高頻度で読み出しが行われるために滞留時間は短くなる。また、この優先度「高」のパケットデータの滞留時間と、データがメモリセルに書き込まれてからリフレッシュを要するまでの時間(リフレッシュ時間)と比較した場合には、通常、滞留時間のほうが短い。したがって、優先度「高」のパケットデータに関すれば、メモリ部31から読み出される以前のタイミングでオートリフレッシュが実行される可能性は低いということがいえる。これに対して、優先度「低」のパケットについては、読み出しの頻度が低くなるために滞留時間が長くなることから、そのデータがメモリ部31に保持されている間に少なくとも1回以上のオートリフレッシュが実行される可能性が高くなる。このように、リフレッシュ時間とパケットデータの滞留時間との関係は、優先度によって相違する。   The following can be said about the above residence time and auto-refresh timing. That is, since the packet data with the priority “high” is read frequently, the residence time is shortened. In addition, when the retention time of the high priority packet data is compared with the time from when the data is written to the memory cell until the refresh is required (refresh time), the residence time is usually shorter. Accordingly, it can be said that the auto-refresh is unlikely to be executed at the timing before being read from the memory unit 31 for the packet data having the high priority. On the other hand, for packets with a low priority, since the read time is low and the residence time is long, at least one auto process is performed while the data is held in the memory unit 31. There is a high possibility that a refresh will be performed. Thus, the relationship between the refresh time and the packet data retention time differs depending on the priority.

また、図2に示したようにパケット長はパケットごとに異なる。このことは、メモリ部31におけるカラム(列)との関係では、パケットデータは、メモリ部31の1カラム分の容量以内となる場合もあれば、その容量を越える場合もあるということがいえる。そこで、このことに着目し、本実施の形態の通信装置1がシェーピング処理を実行するにあたり、バッファ30に対して以下のようにパケットデータを格納することとした。   Further, as shown in FIG. 2, the packet length differs for each packet. This means that, in relation to the column in the memory unit 31, the packet data may be within the capacity of one column of the memory unit 31 or may exceed the capacity. Therefore, paying attention to this, the packet data is stored in the buffer 30 as follows when the communication device 1 of the present embodiment executes the shaping process.

図3は、本実施の形態のシェーピング処理によって、図2に示されるパケットA〜Fのデータをバッファ30に格納した例を示している。図1にて説明したように、本実施の形態のバッファ30は、それぞれ物理的に個別の3つのメモリ部31について、高優先度対応メモリ部31−1、中優先度対応メモリ部31−2および低優先度対応メモリ部31−3として区分する。そして、パケットは、原則として、その優先度の「高」・「中」・「低」に対応して、高優先度対応メモリ部31−1、中優先度対応メモリ部31−2および低優先度対応メモリ部31−3のそれぞれに処理対象パケットが格納される。すなわち、優先度が「高」の処理対象パケットは高優先度対応メモリ部31−1に格納される。同様に、優先度が「中」の処理対象パケットは中優先度対応メモリ部31−2に格納され、「低」処理対象パケットは低優先度対応メモリ部31−3に格納される。なお、このように優先度に応じてパケットを格納する制御はパケット処理部10が実行する。パケット処理部10は、特許請求の範囲に記載のパケット格納制御手段に相当する。   FIG. 3 shows an example in which the data of the packets A to F shown in FIG. 2 are stored in the buffer 30 by the shaping process of the present embodiment. As described with reference to FIG. 1, the buffer 30 of the present embodiment includes a high priority correspondence memory unit 31-1 and a medium priority correspondence memory unit 31-2 for three physically separate memory units 31. These are classified as the low priority correspondence memory unit 31-3. In principle, the packet corresponds to the priority “high”, “medium”, “low”, the high priority correspondence memory unit 31-1, the medium priority correspondence memory unit 31-2, and the low priority. The processing target packet is stored in each of the degree correspondence memory units 31-3. That is, the processing target packet having the priority “high” is stored in the high priority correspondence memory unit 31-1. Similarly, the processing target packet with the medium priority is stored in the medium priority correspondence memory unit 31-2, and the “low” processing target packet is stored in the low priority correspondence memory unit 31-3. Note that the packet processing unit 10 executes control for storing packets according to priorities. The packet processing unit 10 corresponds to a packet storage control unit described in the claims.

図3においては、上記の原則にしたがってパケットデータを格納した結果を示している。すなわち、高優先度対応メモリ部31−1には、その先頭アドレス(C0,L0)から順次、パケットA、B、Cのデータが格納された状態となっている。また、中優先度対応メモリ部31−2には、その先頭アドレス(C0,L0)からパケットDのデータが格納されている。これは、高優先度対応メモリ部31−1および中優先度対応メモリ部31−2については、順次書込方式によりデータを格納していることを示している。   FIG. 3 shows the result of storing packet data according to the above principle. That is, in the high priority correspondence memory unit 31-1, the data of the packets A, B, and C are sequentially stored from the head address (C0, L0). Further, the medium priority correspondence memory unit 31-2 stores the data of the packet D from the head address (C0, L0). This indicates that the high priority correspondence memory unit 31-1 and the medium priority correspondence memory unit 31-2 are storing data by the sequential writing method.

一方、低優先度対応メモリ部31−3においては、列C0における先頭行アドレスL0からパケットEが格納された状態となっている。しかし、パケットEの終端の次のアドレスからパケットFを書き込んでいったとすると、パケットFのデータは、列C0,C1の2列にまたがって格納されることになる。この場合、パケットEの終端から列C0の終端行Lmまでの領域については、データを格納せずに非使用領域NARとして確保する。同様に、低優先度のパケットFについては、列C0に続く列C1における先頭行L0からそのデータを格納する。そして、列C1におけるパケットFのデータの終端位置より後の領域も、データを格納しない非使用領域NARとして確保する。すなわち、低優先度対応メモリ部31−3については、隣接する2列にまたがって1つのパケットデータが格納されないようにデータの書き込みが行われる。なお、パケットデータのサイズが小さいために、1カラム内に複数のパケットデータを格納できる場合には、そのようにしてもよい。以降において、この低優先度対応メモリ部31−3に対するパケットデータの書き込み方式については、「カラム単位書込方式」ということにする   On the other hand, in the low priority correspondence memory unit 31-3, the packet E is stored from the first row address L0 in the column C0. However, if the packet F is written from the address next to the end of the packet E, the data of the packet F is stored across the two columns C0 and C1. In this case, the area from the end of the packet E to the end row Lm of the column C0 is secured as a non-use area NAR without storing data. Similarly, for the low-priority packet F, the data is stored from the first row L0 in the column C1 following the column C0. An area after the end position of the data of the packet F in the column C1 is also secured as a non-use area NAR that does not store data. That is, in the low priority correspondence memory unit 31-3, data is written so that one packet data is not stored across two adjacent columns. Note that, since the size of the packet data is small, a plurality of packet data can be stored in one column. Hereinafter, the method of writing packet data to the low priority correspondence memory unit 31-3 will be referred to as “column unit writing method”.

本実施の形態は、上記のように優先度に応じてメモリ部31を区分したうえで、高優先度対応メモリ部31−1についてはオートリフレッシュを実行させる。高優先度対応メモリ部31−1に格納される優先度が「高」のパケットデータの滞留時間は短く、オートリフレッシュが実行されるより前のタイミングでデータの読み出しが行われる可能性が高い。このようなタイミングでパケットデータの書き込みと読み出しが実行されていれば、オートリフレッシュが実行される頻度は低く、したがって、オートリフレッシュモードを設定しておいたとしても無駄に電力が消費される機会は少なくなる。   In the present embodiment, the memory unit 31 is divided according to the priority as described above, and then the auto-refresh is executed for the high priority correspondence memory unit 31-1. The retention time of the high priority packet data stored in the high priority correspondence memory unit 31-1 is short, and there is a high possibility that the data is read at a timing before the auto refresh is executed. If packet data is written and read at such timing, the frequency of auto-refreshing is low, so even if the auto-refresh mode is set, there is no chance of wasted power consumption. Less.

これに対して、低優先度対応メモリ部31−3についてはカラム指定リフレッシュを実行させる。カラム指定リフレッシュは、オートリフレッシュのように対象のメモリチップ(バンク)におけるメモリセルをリフレッシュするのではなく、リフレッシュを実行する都度、リフレッシュ対象のカラムを指定してリフレッシュを行う方式である。   On the other hand, the column designation refresh is executed for the low priority correspondence memory unit 31-3. The column designation refresh is a method of performing refresh by designating a refresh target column each time refresh is performed, instead of refreshing memory cells in the target memory chip (bank) as in auto refresh.

優先度が「低」のパケットは滞留時間が長いため、メモリ部31に格納されている間にリフレッシュが行われることになる。しかもリフレッシュが複数回におよぶ可能性も低くない。この場合、オートリフレッシュが実行されたとすると、その都度、低優先度対応メモリ部31−3においてパケットが格納されていない空き領域にも電荷の再注入が行われることとなって無駄が生じる。   A packet having a low priority has a long residence time, so that refresh is performed while it is stored in the memory unit 31. Moreover, the possibility of multiple refreshes is not low. In this case, assuming that auto-refresh is executed, charge is reinjected into the empty area in which no packet is stored in the low priority correspondence memory unit 31-3 each time, resulting in waste.

そこで、優先度が「低」のパケットは低優先度対応メモリ部31−3にカラム単位書込方式により格納したうえで、カラム指定リフレッシュを行うようにする。そして、メモリ制御部20は、リフレッシュに際しては、パケットデータが格納されているカラムのみをリフレッシュすべきカラムとして指定してリフレッシュを実行させる。これにより、無駄に多数のカラムを指定してリフレッシュを行うことは無くなる。   Therefore, the packet with the priority “low” is stored in the low priority correspondence memory unit 31-3 by the column unit writing method, and then the column designation refresh is performed. Then, when refreshing, the memory control unit 20 designates only the column storing the packet data as a column to be refreshed and causes the refresh to be executed. As a result, it is no longer necessary to perform refresh by designating a large number of columns.

また、優先度が「中」のパケットについては流動的に扱うものとする。すなわち、バッファ30全体における空き容量が一定以上の場合には、中優先度対応メモリ部31−2に対してカラム単位書込方式によりパケットデータを格納し、カラム指定リフレッシュによりリフレッシュが行われるようにする。これに対して、バッファ30全体における空き容量が一定未満の場合には、中優先度対応メモリ部31−2に対して順次書込方式によりパケットデータを格納し、オートリフレッシュによりリフレッシュが行われるようにする。   In addition, a medium priority packet is handled in a fluid manner. That is, when the free space in the entire buffer 30 is equal to or larger than a certain level, the packet data is stored in the medium priority correspondence memory unit 31-2 by the column unit writing method, and the refresh is performed by the column designation refresh. To do. On the other hand, when the free space in the entire buffer 30 is less than a certain value, the packet data is sequentially stored in the medium priority correspondence memory unit 31-2 by the write method, and the refresh is performed by the auto refresh. To.

優先度が「中」のパケットは、優先度が「高」のパケットと比較すれば、その滞留時間は長い。しかし、バッファ30全体としてみたときの空き容量に余裕がある場合には、すぐに空き容量が不足するような状況となりにくい。そこで、この場合には、優先度が「低」のパケットと同等に扱って、中優先度対応メモリ部31−2にカラム単位書込方式によりデータを格納してカラム指定リフレッシュとすることで、電力消費を抑えることとしている。これに対して、バッファ30全体としてみたときの空き容量に余裕がない場合には、優先度が「高」のパケットと同等に扱って、中優先度対応メモリ部31−2に順次書込方式によりデータを格納してオートリフレッシュを実行させる。これにより、メモリ領域を効率的に使用することを優先させる。   A packet having a medium priority has a longer residence time than a packet having a high priority. However, when there is room in the free capacity when viewed as the entire buffer 30, it is difficult to immediately become a situation where the free capacity is insufficient. Therefore, in this case, the data is handled in the same way as a packet having a low priority, the data is stored in the medium priority correspondence memory unit 31-2 by the column unit writing method, and the column designation refresh is performed. We are trying to reduce power consumption. On the other hand, when there is no room in the free capacity when viewed as the entire buffer 30, it is handled in the same way as a packet having a high priority, and is sequentially written into the medium priority correspondence memory unit 31-2. To store data and execute auto-refresh. This gives priority to the efficient use of the memory area.

上記のようにリフレッシュを実行させるための制御はメモリ制御部20が実行する。メモリ制御部20は、リフレッシュすべきタイミングごとに、高優先度対応メモリ部31−1に対してオートリフレッシュコマンドを発行し、低優先度対応メモリ部31−3に対してカラム指定リフレッシュコマンドを発行する。また、中優先度対応メモリ部31−2に対しては、順次書込方式によりデータが格納されている場合にはオートリフレッシュコマンドを発行し、カラム単位書込方式によりデータが格納されている場合にはカラム指定リフレッシュコマンドを発行する。メモリ制御部20は、例えば特許請求の範囲に記載のリフレッシュ制御手段に対応する。   The memory control unit 20 executes control for executing refresh as described above. The memory control unit 20 issues an auto-refresh command to the high priority correspondence memory unit 31-1 and issues a column designation refresh command to the low priority correspondence memory unit 31-3 at each refresh timing. To do. For the medium priority correspondence memory unit 31-2, when data is stored by the sequential writing method, an auto-refresh command is issued and the data is stored by the column unit writing method. Issue a column specified refresh command. The memory control unit 20 corresponds to, for example, the refresh control unit described in the claims.

図4は、上記図3により説明した本実施の形態のシェーピング処理についての実行の可否を決定するための処理手順例を示している。この図に示す処理はパケット処理部10が実行するものとする。   FIG. 4 shows an example of a processing procedure for determining whether or not to execute the shaping process of the present embodiment described with reference to FIG. Assume that the processing shown in this figure is executed by the packet processing unit 10.

まず、パケット処理部10は、ステップS101においてパケットを受信すると、次のステップS102において、その受信パケットは廃棄対象のパケットであるか否かについて判定する。ここで、例えばすでに輻輳が発生している状態にあるなどの状況により受信パケットを廃棄すべき場合は、ステップS102において受信パケットは廃棄対象であると判定される。この場合、パケット処理部10は、ステップS106により受信パケットを廃棄する。なお、このように受信パケットが廃棄対象となる場合には、そのパケットが帯域制限を越えて外部より転送されてくることを意味している。   First, when receiving a packet in step S101, the packet processing unit 10 determines whether or not the received packet is a packet to be discarded in the next step S102. Here, for example, when the received packet is to be discarded due to a situation where congestion has already occurred, it is determined in step S102 that the received packet is to be discarded. In this case, the packet processing unit 10 discards the received packet in step S106. When the received packet is to be discarded as described above, it means that the packet is transferred from the outside beyond the bandwidth limit.

これに対して、ステップS102において受信パケットは廃棄対象ではないと判定された場合には帯域に余裕があることになる。この場合、パケット処理部10は、ステップS103に進んで、バッファ30の空き容量を認識し、続くステップS104において、上記ステップS103により認識した空き容量が一定以上であるか否かについて判定する。   On the other hand, if it is determined in step S102 that the received packet is not to be discarded, there is a sufficient bandwidth. In this case, the packet processing unit 10 proceeds to step S103, recognizes the free capacity of the buffer 30, and in the subsequent step S104, determines whether or not the free capacity recognized in step S103 is greater than or equal to a certain level.

ステップS104においてバッファ30の空き容量が一定以上ではないと判定された場合、パケット処理部10はステップS106により受信パケットを廃棄する。これに対して、同じステップS104において空き容量が一定以上であると判定された場合、パケット処理部10は、ステップS105において、本実施の形態のシェーピング処理を実行する。ステップS105に至った段階では、今回の受信パケットは、本実施の形態のシェーピング処理によってバッファ30に格納すべきパケット(処理対象パケット)となる。   If it is determined in step S104 that the free capacity of the buffer 30 is not equal to or greater than a certain level, the packet processing unit 10 discards the received packet in step S106. On the other hand, when it is determined in the same step S104 that the free space is greater than or equal to a certain level, the packet processing unit 10 executes the shaping process of the present embodiment in step S105. At the stage of reaching step S105, the current received packet becomes a packet (processing target packet) to be stored in the buffer 30 by the shaping processing of the present embodiment.

上記の処理手順から理解されるように、本実施の形態のシェーピング処理は、帯域およびバッファ30の空き容量に一定以上の余裕があることを条件に行われるようになっている。本実施の形態のシェーピング処理においては、低優先度対応メモリ部31−3において2列またはそれ以上の列数にまたがって1つのパケットデータが格納されないように、カラムにおいてパケットを格納して余った領域を非使用領域NARとして確保する。このために、低優先度対応メモリ部31−3のメモリ容量は、パケットデータサイズの合計よりも多く使用される。このために、本実施の形態のシェーピング処理を安定して実行させるためには、十分な帯域とバッファ30(低優先度対応メモリ部31−3)の空き容量がある状況であることが必要になる。   As can be understood from the above processing procedure, the shaping processing according to the present embodiment is performed under the condition that the bandwidth and the free capacity of the buffer 30 have a certain margin or more. In the shaping process of the present embodiment, the packet is stored in the column so that one packet data is not stored across two or more columns in the low priority correspondence memory unit 31-3. The area is secured as a non-use area NAR. For this reason, the memory capacity of the low priority correspondence memory unit 31-3 is used more than the total packet data size. For this reason, in order to stably execute the shaping process according to the present embodiment, it is necessary that the bandwidth is sufficient and the buffer 30 (low priority correspondence memory unit 31-3) has a free capacity. Become.

図5は、上記ステップS105に対応してパケット処理部10が実行するシェーピング処理として、バッファ30に処理対象パケットを格納するための処理手順例を示している。まず、パケット処理部10は、ステップS201において、処理対象パケットに格納される所定の情報を参照して優先度とパケット長を識別しておく。   FIG. 5 shows an example of a processing procedure for storing a processing target packet in the buffer 30 as a shaping process executed by the packet processing unit 10 in response to the above step S105. First, in step S201, the packet processing unit 10 refers to predetermined information stored in the processing target packet and identifies the priority and the packet length.

次に、パケット処理部10は、ステップS202において、この識別された優先度が「高」であるか否かについて判定する。ここで、識別した優先度が「高」であると判定した場合、パケット処理部10は、ステップS213に進んで、処理対象パケットが高優先度対応メモリ部31−1に格納されるようにメモリ制御部20に対して指示する。この際、パケットデータは、図3により説明したように、高優先度対応メモリ部31−1に対して順次書込方式により書き込まれる。   Next, in step S202, the packet processing unit 10 determines whether or not the identified priority is “high”. If it is determined that the identified priority is “high”, the packet processing unit 10 proceeds to step S213 to store the processing target packet in the high priority correspondence memory unit 31-1. The control unit 20 is instructed. At this time, as described with reference to FIG. 3, the packet data is sequentially written into the high priority correspondence memory unit 31-1 by the writing method.

これに対して、ステップS202において、優先度が「低」または「中」であると判定された場合には、ステップS203に進む。パケット処理部10は、ステップS203において低優先度バッファの空き容量を認識し、次のステップS204において、その空き容量が、処理対象パケットのデータを格納可能だけのサイズを有しているか否かについて判定する。この判定は、上記空き容量のサイズと、ステップS201により認識したパケット長とを比較すればよい。   On the other hand, if it is determined in step S202 that the priority is “low” or “medium”, the process proceeds to step S203. In step S203, the packet processing unit 10 recognizes the free capacity of the low priority buffer, and in the next step S204, whether or not the free capacity has a size that can store the data of the processing target packet. judge. This determination may be made by comparing the size of the free space with the packet length recognized in step S201.

ステップS204において処理対象パケットを格納できないと判定した場合、パケット処理部10はステップS207に進む。ステップS207以降の処理については、後述する。一方、ステップS204において処理対象パケットを格納可能であると判定した場合、パケット処理部10はステップS205に進む。   If it is determined in step S204 that the process target packet cannot be stored, the packet processing unit 10 proceeds to step S207. The processing after step S207 will be described later. On the other hand, if it is determined in step S204 that the process target packet can be stored, the packet processing unit 10 proceeds to step S205.

ステップS205において、パケット処理部10は、処理対象パケットのパケット長が、メモリ部31の1カラム分に対応するサイズ以内であるか否かについて判定する。このステップS205において、パケット長が1カラム分に対応するサイズ以内であると判定した場合にはステップS206に進む。ステップS206においてパケット処理部10は、優先度が「低」または「中」の処理対象パケットについて、低優先度対応メモリ部31−3に格納されるようにメモリ制御部20に対して指示する。この制御に応じて、メモリ制御部20は、図3にて説明したように、カラム単位書込方式により処理対象パケットのデータの書き込みを行う。一方、ステップS205においてパケット長が1カラム分に対応するサイズ以内ではないと判定した場合、パケット処理部10はステップS207に進む。   In step S <b> 205, the packet processing unit 10 determines whether or not the packet length of the processing target packet is within a size corresponding to one column of the memory unit 31. If it is determined in step S205 that the packet length is within the size corresponding to one column, the process proceeds to step S206. In step S206, the packet processing unit 10 instructs the memory control unit 20 to store the processing target packet having the priority “low” or “medium” in the low priority correspondence memory unit 31-3. In response to this control, the memory control unit 20 writes the data of the processing target packet by the column unit writing method as described in FIG. On the other hand, if it is determined in step S205 that the packet length is not within the size corresponding to one column, the packet processing unit 10 proceeds to step S207.

ステップS207において、パケット処理部10は、中優先度対応メモリ部31−2の空き容量を認識し、ステップS208において、中優先度対応メモリ部31−2に処理対象パケットのパケット長を格納できる空き容量があるか否かについて判定する。このステップS208において、処理対象パケットを格納できるだけの空き容量がないとの判定結果が得られた場合、パケット処理部10は、ステップS213により、優先度が「低」または「中」の処理対象パケットを高優先度対応メモリ部31−1に対して格納させるように制御を実行する。   In step S207, the packet processing unit 10 recognizes the free capacity of the medium priority correspondence memory unit 31-2. In step S208, the packet processing unit 10 can store the packet length of the processing target packet in the medium priority correspondence memory unit 31-2. Determine if there is capacity. If it is determined in step S208 that there is not enough free capacity to store the processing target packet, the packet processing unit 10 determines in step S213 that the processing target packet having a priority of “low” or “medium”. Is stored in the high priority correspondence memory unit 31-1.

このように本実施の形態においては、優先度が「低」または「中」のパケットであっても、他の優先度が低いメモリ部に空き容量がなければ、高優先度対応メモリ部31−1に対して格納することになる。これに対して、ステップS208において処理対象パケットを格納可能な空き容量があるとの判定結果が得られた場合、パケット処理部10は、ステップS209に進む。   As described above, in the present embodiment, even if a packet with a priority of “low” or “medium” is used, if there is no free space in other low-priority memory units, the high-priority corresponding memory unit 31- 1 is stored. On the other hand, when it is determined in step S208 that there is a free capacity capable of storing the processing target packet, the packet processing unit 10 proceeds to step S209.

ステップS209において、パケット処理部10は、バッファ30全体としての空き容量が一定以上であるか否かについて判定する。一例として、バッファ30を形成するメモリ部31−1〜31−3における空き容量の合計を一定値と比較することで判定結果を得ることができる。   In step S209, the packet processing unit 10 determines whether or not the free capacity of the entire buffer 30 is greater than or equal to a certain value. As an example, the determination result can be obtained by comparing the total free capacity in the memory units 31-1 to 31-3 forming the buffer 30 with a certain value.

上記ステップS209においてバッファ30の空き量が一定以上ではないと判定された場合には、バッファ30の空き容量に余裕がない状態であることになる。そこで、パケット処理部10は、ステップS210において、優先度が「低」または「中」の処理対象パケットを、順次書込方式により中優先度対応メモリ部31−2に格納させる。これに対して、ステップS209においてバッファ30の空き量が一定以上であると判定された場合には、バッファ30の空き容量に余裕があるということになり、カラム単位モードによりパケットのデータを格納することができる。   If it is determined in step S209 that the free space in the buffer 30 is not more than a certain level, the free space in the buffer 30 has no room. Therefore, in step S210, the packet processing unit 10 stores the processing target packets having the priority “low” or “medium” in the medium priority correspondence memory unit 31-2 by the sequential writing method. On the other hand, if it is determined in step S209 that the free space in the buffer 30 is equal to or greater than a certain amount, the free space in the buffer 30 is sufficient, and packet data is stored in the column unit mode. be able to.

そこで、パケット処理部10は、ステップS211において、処理対象パケットのパケット長が1カラムに対応するサイズ以内であるか否かについて判定する。ここで、1カラムに対応するサイズ以内ではないと判定された場合には、カラム単位モードにより中優先度対応メモリ部31−2にすることはできない。そこで、パケット処理部10は、ステップS213により、優先度が「低」または「中」の処理対象パケットを高優先度対応メモリ部31−1に格納させる。これに対して、ステップS211において1カラムに対応するサイズ以内であると判定された場合には、ステップS212において、中優先度対応メモリ部31−2に対してカラム単位書込モードによりパケットデータを格納させる。   Therefore, in step S211, the packet processing unit 10 determines whether the packet length of the processing target packet is within the size corresponding to one column. If it is determined that the size does not fall within the size corresponding to one column, the medium priority correspondence memory unit 31-2 cannot be set in the column unit mode. Therefore, in step S213, the packet processing unit 10 stores the processing target packet having the priority “low” or “medium” in the high priority correspondence memory unit 31-1. On the other hand, if it is determined in step S211 that the size is within the size corresponding to one column, in step S212, the packet data is sent to the medium priority correspondence memory unit 31-2 in the column unit writing mode. Store.

上記図5の処理手順から理解されるように、優先度が「中」の処理対象パケットは、必ずしも中優先度対応メモリ部31−2に格納されるのではなく、メモリ部31の空き容量の状況やパケット長などに応じて、高優先度対応メモリ部31−1と低優先度対応メモリ部31−3のいずれかにも格納されるようになっている。優先度が「低」の処理対象パケットも、空き容量に応じて、中優先度対応メモリ部31−2または高優先度対応メモリ部31−1に格納されるようにされているものである。このように、本実施の形態のシェーピング処理において、優先度が一定以下のパケットについては、そのパケットのサイズとメモリ部31の使用状況に対応して、適宜、他の優先度のパケットと同等に処理されるようになっている。   As can be understood from the processing procedure of FIG. 5 above, the processing target packet with the priority “medium” is not necessarily stored in the medium priority correspondence memory unit 31-2, but the free capacity of the memory unit 31 is not stored. It is stored in either the high priority correspondence memory unit 31-1 or the low priority correspondence memory unit 31-3 depending on the situation or packet length. The processing target packet having the priority “low” is also stored in the medium priority correspondence memory unit 31-2 or the high priority correspondence memory unit 31-1, depending on the free capacity. As described above, in the shaping process according to the present embodiment, a packet with a priority lower than a certain level is appropriately equal to a packet with another priority according to the size of the packet and the usage status of the memory unit 31. To be processed.

図6は、メモリ制御部20が実行するリフレッシュ制御のための処理手順例を示している。メモリ制御部20は、ステップS301において高優先度対応メモリ部31−1のリフレッシュを実行すべきタイミング(リフレッシュタイミング)に至るのを待機している。また、ステップS302において中優先度対応メモリ部31−2のリフレッシュタイミングに至るのを待機している。また、ステップS303により、高優先度対応メモリ部31−3のリフレッシュタイミングに至るのを待機している。   FIG. 6 shows a processing procedure example for refresh control executed by the memory control unit 20. The memory control unit 20 waits for the timing (refresh timing) at which the high priority correspondence memory unit 31-1 should be refreshed in step S301. In step S302, the process waits until the refresh timing of the medium priority correspondence memory unit 31-2 is reached. In step S303, the process waits until the high-priority correspondence memory unit 31-3 reaches the refresh timing.

例えば、高優先度対応メモリ部31−1のメモリセル(キャパシタ)にデータ(電荷)が書き込まれてから一定時間が経過するとリフレッシュタイミングに至ったものとして判定される。そして、ステップS301においてリフレッシュタイミングに至ったと判定した場合、メモリ制御部20は、ステップS305により、高優先度対応メモリ部31−1に対してオートリフレッシュを実行させるための制御を行う。つまり、高優先度対応メモリ部31−1にオートリフレッシュコマンドを発行する。   For example, it is determined that the refresh timing has been reached when a predetermined time has elapsed since data (charge) was written in the memory cell (capacitor) of the high priority correspondence memory unit 31-1. If it is determined in step S301 that the refresh timing has been reached, the memory control unit 20 performs control for causing the high priority correspondence memory unit 31-1 to execute auto refresh in step S305. That is, an auto-refresh command is issued to the high priority correspondence memory unit 31-1.

また、ステップS302において中優先度対応メモリ部31−2のリフレッシュタイミングに至ったと判定した場合、メモリ制御部20は、ステップS304により、中優先度対応メモリ部31−2に対する現在のパケットデータの書込方式について判定する。このステップS304において、順次書込方式であると判定した場合、メモリ制御部20は、ステップS306に進んで、中優先度対応メモリ部31−2に対してオートリフレッシュを実行させるための制御を実行する。一方、ステップS304において、カラム単位書込方式であると判定した場合、メモリ制御部20は、ステップS307に進んで、中優先度対応メモリ部31−2に対してカラム指定リフレッシュを実行させるための制御を実行する。すなわち、カラム指定リフレッシュコマンドを発行して、指定したカラムのみのリフレッシュを実行させる。   If it is determined in step S302 that the refresh timing of the medium priority correspondence memory unit 31-2 has been reached, the memory control unit 20 writes the current packet data to the medium priority correspondence memory unit 31-2 in step S304. Judgment method is determined. If it is determined in step S304 that the sequential writing method is used, the memory control unit 20 proceeds to step S306 and executes control for causing the medium priority correspondence memory unit 31-2 to execute auto refresh. To do. On the other hand, if it is determined in step S304 that the column unit writing method is used, the memory control unit 20 proceeds to step S307 and causes the medium priority correspondence memory unit 31-2 to execute column designation refresh. Execute control. That is, a column designation refresh command is issued to refresh only the designated column.

また、ステップS303においてリフレッシュタイミングに至ったことを判定すると、メモリ制御部20は、ステップS308により、低優先度対応メモリ部31−3に対してカラム指定リフレッシュを実行させるための制御を行う。   If it is determined in step S303 that the refresh timing has been reached, the memory control unit 20 performs control for causing the low-priority correspondence memory unit 31-3 to perform column-designated refresh in step S308.

そして、上記のようにメモリ制御部20は、高優先度対応メモリ部31−1にはオートリフレッシュを実行させ、低優先度対応メモリ部31−3にはカラム指定リフレッシュを実行させている。また、中優先度対応メモリ部31−2については、データの書き込みが順次書込方式とカラム単位書込方式のいずれであるのかに応じて、オートリフレッシュとカラム指定リフレッシュとで切り替えが行われる。これにより、前述のようにリフレッシュによる電力消費が有効に抑えられることになる。   As described above, the memory control unit 20 causes the high priority correspondence memory unit 31-1 to execute auto-refresh and causes the low priority correspondence memory unit 31-3 to perform column designation refresh. The medium priority correspondence memory unit 31-2 is switched between auto-refresh and column-specific refresh depending on whether the data is written in the sequential writing method or the column unit writing method. As a result, the power consumption due to refresh is effectively suppressed as described above.

なお、上記実施の形態においては、優先度を「高」・「中」・「低」の3段階とした場合を例に挙げているが、「高」・「低」の2段階とした場合にも適用できる。また、4段階以上とした場合にも適用することができる。4段階以上とした場合において、順次書込方式によるデータ書き込みとオートリフレッシュのみが実行される高優先度対応メモリ部31−1に相当するメモリ部は複数備えてもよい。また、カラム単位書込方式によるデータ書き込みとカラム指定リフレッシュのみが実行される低優先度対応メモリ部31−3に相当するメモリ部についても同様である。また、実施の形態においてはバッファ30としてDRAMを採用した場合について説明しているが、DRAM以外であってもリフレッシュを必要とするようなメモリ素子を採用する場合にも適用することができる。   In the above embodiment, the priority is set to three levels of “high”, “medium”, and “low”. However, the priority is set to two levels of “high” and “low”. It can also be applied to. Also, it can be applied to the case of four or more stages. In the case of four or more stages, a plurality of memory units corresponding to the high priority correspondence memory unit 31-1 in which only data writing by the sequential writing method and auto refresh are executed may be provided. The same applies to the memory unit corresponding to the low priority correspondence memory unit 31-3 in which only the data writing by the column unit writing method and the column designation refresh are executed. Further, although the case where a DRAM is employed as the buffer 30 has been described in the embodiment, the present invention can also be applied to a case where a memory element that requires refreshing is employed even if it is other than a DRAM.

また、本実施の形態の通信装置1は、L2スイッチ、L3スイッチ、またはルータなどとされて、IPプロトコルまたはイーサネット(登録商標)などの通信に対応するものであることを前提としている。しかし、これ以外の通信プロトコルに対応してパケットやフレームを送受信する通信装置にも適用することができる。   The communication device 1 according to the present embodiment is assumed to be an L2 switch, an L3 switch, a router, or the like, and that supports communication such as an IP protocol or Ethernet (registered trademark). However, the present invention can also be applied to a communication device that transmits and receives packets and frames corresponding to other communication protocols.

また、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えることができる。また、これら一連の手順をコンピュータに実行させるためのプログラムまたはそのプログラムを記憶する記録媒体として捉えることができる。この記録媒体としては、例えば、ブルーレイディスク(Blu−ray Disc(登録商標))、DVD(Digital Versatile Disk)、HDD(ハードディスク)、メモリカード等を挙げることができる。
上述した処理フローの説明中、図3〜図5の判断の処理で示す「Y」はYes、「N」はNoを示すものとする。
The processing procedure described in the embodiment of the present invention can be regarded as a method having a series of these procedures. Further, it can be understood as a program for causing a computer to execute these series of procedures or a recording medium for storing the program. Examples of the recording medium include a Blu-ray Disc (registered trademark), a DVD (Digital Versatile Disk), an HDD (hard disk), a memory card, and the like.
In the description of the processing flow described above, “Y” shown in the determination processing of FIGS. 3 to 5 is Yes, and “N” is No.

10 パケット処理部
20 メモリ制御部
30 バッファ
30 バッファメモリ
31 メモリ部
31−1 高優先度対応メモリ部
31−2 中優先度対応メモリ部
31−3 低優先度対応メモリ部
NAR 非使用領域
DESCRIPTION OF SYMBOLS 10 Packet processing part 20 Memory control part 30 Buffer 30 Buffer memory 31 Memory part 31-1 High priority corresponding | compatible memory part 31-2 Medium priority corresponding | compatible memory part 31-3 Low priority corresponding | compatible memory part NAR Non-use area | region

Claims (7)

シェーピング処理の対象となる処理対象パケットのデータが格納され、それぞれが異なる優先度に対応する複数のメモリ部と、
優先度が一定以上の高優先度の処理対象パケットを、前記複数のメモリ部において前記高優先度に対応する高優先度対応メモリ部に格納させ、優先度が一定以下の低優先度の処理対象パケットを、前記低優先度に対応する低優先度対応メモリ部に格納させるパケット格納制御手段と、
前記高優先度対応メモリ部にてオートリフレッシュが実行され、前記低優先度対応メモリ部にて前記処理対象パケットが格納されたカラムのみをリフレッシュするカラム指定リフレッシュが実行されるように制御するリフレッシュ制御手段と、
を備えることを特徴とする通信装置。
A plurality of memory units that store data of processing target packets to be subjected to shaping processing, each corresponding to a different priority,
High priority processing target packets with a priority higher than a certain level are stored in a high priority correspondence memory unit corresponding to the high priority in the plurality of memory units, and a low priority processing target with a priority lower than a certain level Packet storage control means for storing a packet in a low priority correspondence memory unit corresponding to the low priority;
Refresh control for performing control so that auto refresh is performed in the high priority correspondence memory unit and column designated refresh is performed in the low priority correspondence memory unit to refresh only the column in which the processing target packet is stored Means,
A communication apparatus comprising:
前記パケット格納制御手段は、
前記高優先度対応メモリ部に対してアドレス順にしたがって前記処理対象パケットのデータを書き込む順次格納させ、前記低優先度対応メモリ部に対して、1つの前記処理対象パケットのデータが1カラム内に収まるように格納させる、
ことを特徴とする請求項1に記載の通信装置。
The packet storage control means includes
The processing target packet data is sequentially stored in the high priority correspondence memory unit according to the address order, and one processing target packet data is stored in one column in the low priority correspondence memory unit. Let me store,
The communication apparatus according to claim 1.
前記パケット格納制御手段は、
前記低優先度の処理対象パケットのパケット長が1カラムに対応するサイズを越える場合には、この低優先度の処理対象パケットを、前記低優先度対応メモリ部よりも高い優先度に対応するメモリ部に対して格納する、
ことを特徴とする請求項1に記載の通信装置。
The packet storage control means includes
When the packet length of the low priority processing target packet exceeds the size corresponding to one column, the low priority processing target packet is stored in a memory corresponding to a higher priority than the low priority correspondence memory unit. Store against the part,
The communication apparatus according to claim 1.
前記パケット格納制御手段は、
前記複数のメモリ部における空き容量が一定以上の場合には、前記メモリ部のうち前記高優先度と前記低優先度との中間の優先度に対応する中優先度対応メモリ部に対して、1つの前記処理対象パケットのデータが1カラム内に収まるように処理対象パケットのデータを格納させ、前記複数のメモリ部における空き容量が一定以上の場合には、前記高優先度対応メモリ部に対してアドレス順にしたがって前記処理対象パケットのデータを順次格納させる、
ことを特徴とする請求項1乃至請求項3のいずれかに記載の通信装置。
The packet storage control means includes
When the free space in the plurality of memory units is greater than or equal to a certain level, the medium priority corresponding memory unit corresponding to the intermediate priority between the high priority and the low priority among the memory units is 1 The processing target packet data is stored so that the data of one processing target packet fits in one column, and when the free space in the plurality of memory units is more than a certain value, the high priority correspondence memory unit Sequentially storing the data of the packet to be processed according to the address order;
The communication device according to any one of claims 1 to 3, wherein
前記リフレッシュ制御手段は、
前記中優先度対応メモリ部において1つの前記処理対象パケットのデータが1カラム内に収まるように処理対象パケットのデータが格納されている場合には、当該中優先度対応メモリ部にてカラム指定リフレッシュが実行されるように制御し、前記高優先度対応メモリ部においてアドレス順にしたがって前記処理対象パケットのデータが格納されている場合には、当該中優先度対応メモリ部にてオートリフレッシュが実行されるように制御する
ことを特徴とする請求項4に記載の通信装置。
The refresh control means includes
When the data of the processing target packet is stored so that the data of one processing target packet fits in one column in the medium priority correspondence memory unit, the column designation refresh is performed in the medium priority correspondence memory unit When the data of the processing target packet is stored in the high priority correspondence memory unit according to the address order, auto refresh is executed in the medium priority correspondence memory unit. It controls as follows. The communication apparatus of Claim 4 characterized by the above-mentioned.
シェーピング処理の対象となる処理対象パケットのうち優先度が一定以上の高優先度の処理対象パケットを、複数のメモリ部において前記高優先度に対応する高優先度対応メモリ部に格納させ、前記処理対象パケットのうち優先度が一定以下の低優先度の処理対象パケットを、低優先度に対応する低優先度対応メモリ部に格納させるパケット格納制御手順と、
前記高優先度対応メモリ部にてオートリフレッシュが実行され、前記低優先度対応メモリ部にて前記処理対象パケットが格納されたカラムのみをリフレッシュするカラム指定リフレッシュが実行されるように制御するリフレッシュ制御手順と、
を備えることを特徴とする通信方法。
Among the processing target packets to be subjected to the shaping process, a processing target packet having a high priority with a predetermined priority or higher is stored in a high priority correspondence memory unit corresponding to the high priority in a plurality of memory units, and the processing A packet storage control procedure for storing a low priority processing target packet with a priority equal to or lower than a certain level in a target packet in a low priority correspondence memory unit corresponding to the low priority;
Refresh control for performing control so that auto refresh is performed in the high priority correspondence memory unit and column designated refresh is performed in the low priority correspondence memory unit to refresh only the column in which the processing target packet is stored Procedure and
A communication method comprising:
通信装置に、
シェーピング処理の対象となる処理対象パケットのうち優先度が一定以上の高優先度の処理対象パケットを、複数のメモリ部において前記高優先度に対応する高優先度対応メモリ部に格納させ、前記処理対象パケットのうち優先度が一定以下の低優先度の処理対象パケットを、低優先度に対応する低優先度対応メモリ部に格納させるパケット格納制御手順と、
前記高優先度対応メモリ部にてオートリフレッシュが実行され、前記低優先度対応メモリ部にて前記処理対象パケットが格納されたカラムのみをリフレッシュするカラム指定リフレッシュが実行されるように制御するリフレッシュ制御手順と、
を実行させるためのプログラム。
In communication equipment,
Among the processing target packets to be subjected to the shaping process, a processing target packet having a high priority with a predetermined priority or higher is stored in a high priority correspondence memory unit corresponding to the high priority in a plurality of memory units, and the processing A packet storage control procedure for storing a low priority processing target packet with a priority equal to or lower than a certain level in a target packet in a low priority correspondence memory unit corresponding to the low priority;
Refresh control for performing control so that auto refresh is performed in the high priority correspondence memory unit and column designated refresh is performed in the low priority correspondence memory unit to refresh only the column in which the processing target packet is stored Procedure and
A program for running
JP2011065600A 2011-03-24 2011-03-24 Communication device, communication method, and program Withdrawn JP2012204931A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011065600A JP2012204931A (en) 2011-03-24 2011-03-24 Communication device, communication method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011065600A JP2012204931A (en) 2011-03-24 2011-03-24 Communication device, communication method, and program

Publications (1)

Publication Number Publication Date
JP2012204931A true JP2012204931A (en) 2012-10-22

Family

ID=47185469

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011065600A Withdrawn JP2012204931A (en) 2011-03-24 2011-03-24 Communication device, communication method, and program

Country Status (1)

Country Link
JP (1) JP2012204931A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015075867A1 (en) * 2013-11-19 2015-05-28 株式会社デンソー Electronic control device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015075867A1 (en) * 2013-11-19 2015-05-28 株式会社デンソー Electronic control device
JP2015099502A (en) * 2013-11-19 2015-05-28 株式会社デンソー Electronic control device
CN105745694A (en) * 2013-11-19 2016-07-06 株式会社电装 Electronic control device
CN105745694B (en) * 2013-11-19 2017-06-27 株式会社电装 Electronic-controlled installation
US9742899B2 (en) 2013-11-19 2017-08-22 Denso Corporation Electronic control apparatus

Similar Documents

Publication Publication Date Title
US10691344B2 (en) Separate memory controllers to access data in memory
CN107204198B (en) Control method and device for high-speed access double-rate synchronous dynamic random access memory
CN104090847B (en) Address distribution method of solid-state storage device
EP2913963B1 (en) Data caching system and method for an ethernet device
EP3605542B1 (en) Memory refreshing technique and computer system
TWI301367B (en) Compact packet switching node storage architecture employing double data rate synchronous dynamic ram
WO2009097788A1 (en) A process method for caching the data and the device, system thereof
US7904677B2 (en) Memory control device
US7627672B2 (en) Network packet storage method and network packet transmitting apparatus using the same
US10248350B2 (en) Queue management method and apparatus
WO2018188083A1 (en) Memory refresh technology and computer system
JP6224483B2 (en) Semiconductor memory device, memory access control method, and computer program
CN102216911A (en) Data managing method, apparatus, and data chip
KR20180128800A (en) Memory Device performing care operation for disturbed row and Operating Method thereof
JP7241194B2 (en) MEMORY MANAGEMENT METHOD AND APPARATUS
JP2012204931A (en) Communication device, communication method, and program
JP7008410B2 (en) Memory controller and method
US8738825B1 (en) Switch low power state in a blade server system
WO2012163019A1 (en) Method for reducing power consumption of externally connected ddr of data chip and data chip system
WO2018006786A1 (en) Forwarding table entry access
US11720279B2 (en) Apparatus and methods for managing packet transfer across a memory fabric physical layer interface
CN104317750B (en) A kind of storage medium structure that can independently stack connection
JP5631850B2 (en) Switch device
US20160292070A1 (en) Control path subsystem, method and device utilizing memory sharing
KR20040093968A (en) DRAM refresh method

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140603