JP2011103608A - Packet forwarding apparatus and method - Google Patents
Packet forwarding apparatus and method Download PDFInfo
- Publication number
- JP2011103608A JP2011103608A JP2009258414A JP2009258414A JP2011103608A JP 2011103608 A JP2011103608 A JP 2011103608A JP 2009258414 A JP2009258414 A JP 2009258414A JP 2009258414 A JP2009258414 A JP 2009258414A JP 2011103608 A JP2011103608 A JP 2011103608A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- dram
- forwarding
- bank
- input
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、パケットの転送処理におけるメモリアクセスに関する。 The present invention relates to memory access in packet transfer processing.
ブリッジ、ルータといった通信装置は、パケットと呼ばれるひとかたまりになったデータの入出力インターフェース(ポート)を複数有する。これらの装置は、パケットごとに、そのパケットが受信されたポートに付随する情報やそのパケットに付与されている制御情報を元に、装置内の多数のデータベースを検索、参照して、そのパケットの処理方法を決定する。処理の中には、パケットの制御情報を変更、加工したり、パケットの流入、流出量を基準に廃棄したり、あるいは、データベースの検索結果に基づいて特定のポートに送信するといった操作が含まれる。これらの処理は、多数のデータベースを検索する必要があり、通信インタフェースが高速になると、データベースを記憶する装置内の記憶装置(メモリ)がボトルネックとなり、処理速度が制限されてしまい、通信インタフェースの伝送速度を完全に使い切れない状態になってしまう。
そのため従来の装置では、データベース検索結果をキャッシュと呼称する一時情報記憶領域に格納し頻繁に到達するパケットについては高速にフォワーディング処理を実現している(例えば特許文献1参照)。
Communication devices such as bridges and routers have a plurality of data input / output interfaces (ports) called a packet. For each packet, these devices search and refer to a large number of databases in the device based on the information attached to the port from which the packet was received and the control information attached to the packet. Determine the processing method. The processing includes operations such as changing or processing packet control information, discarding packets based on the inflow or outflow amount of packets, or sending to specific ports based on database search results. . In these processes, it is necessary to search a large number of databases. When the communication interface becomes high speed, the storage device (memory) in the apparatus storing the database becomes a bottleneck, and the processing speed is limited. The transmission speed is not completely used up.
For this reason, in the conventional apparatus, the database search result is stored in a temporary information storage area called a cache, and forwarding processing is realized at high speed for packets that arrive frequently (see, for example, Patent Document 1).
フォワーディング情報を記憶するための高速アクセス可能なメモリとしてCAMやクロック同期型のSRAMなどがあるが容量が小さく消費電流が大きい、このため大容量が必要な場合にはDRAMの利用が一般的であるがDRAMアクセスにはコマンド入力からデータ転送が開始するまでのレイテンシーとデータ転送後のプリチャージ期間が必要でデータの転送効率が低いという課題がある。 There are high-speed accessible memories for storing forwarding information, such as CAM and clock-synchronized SRAM, but they have a small capacity and a large current consumption. Therefore, when large capacity is required, DRAM is generally used. However, DRAM access has a problem that the latency from the command input to the start of data transfer and the precharge period after the data transfer are required, and the data transfer efficiency is low.
上記課題を解決するために、本発明の一態様によるパケット転送装置は、パケットの入出力インタフェースである入出力ポートと、パケットのフォワーディングに関わる処理を行うパケット処理ブロックと、フォワーディングに関する各種フォワーディング情報を格納するDRAMとで構成され。パケット処理ブロックは、フォワーディングに関連するフィールドを抽出するフィールド抽出部と、抽出したフィールドから該パケットに関連するフォワーディング情報が格納されているアドレスを算出するインデックス計算部と、パケットがいずれの物理ポートから入力したかを抽出する、物理回線番号抽出部と、DRAMへのリード及びライト及びリフレッシュを実施するDRAMアクセス部と、前記DRAMアクセス部へのフォワーディング情報の書き込み及び、メンテナンスを実施する制御部と、パケットのフォワーディング処理を実施するフォワーディング部と、前記DRAMアクセス部内部に、物理回線からDRAM内BANKアドレスに割り当てるBANKマッピング部と、パケットから抽出したフィールドからDRAMアドレスに割り当てるアドレスマッピング部と、フォワーディング情報のライト及びリードデータの一時保管を行うデータ入出力部とを備えたことを特徴とする。パケット転送装置が入力したパケットをフォワーディング処理するために、関連するフォワーディング情報へのリードアクセスは、パケットが入力した物理ポート毎にあらかじめ固定的に割り当てたDRAM内のBANKに対し
て時分割にて実行することにより、DRAMからのリード動作に伴う遅延要因を排除することを特徴とする。
In order to solve the above problems, a packet transfer apparatus according to an aspect of the present invention includes an input / output port that is an input / output interface of a packet, a packet processing block that performs processing related to packet forwarding, and various forwarding information related to forwarding. It consists of DRAM to store. The packet processing block includes a field extraction unit that extracts a field related to forwarding, an index calculation unit that calculates an address in which forwarding information related to the packet is stored from the extracted field, and a packet from which physical port A physical line number extraction unit that extracts whether the input has been performed; a DRAM access unit that performs reading, writing, and refreshing to the DRAM; a control unit that performs writing and maintenance of forwarding information to the DRAM access unit; A forwarding unit that performs packet forwarding processing, a BANK mapping unit that allocates a physical address from a physical line to a BANK address in the DRAM, and a DRAM address from a field extracted from the packet. An address mapping unit that allocates the scan, characterized by comprising a data input-output unit for performing temporary storage of the write and read data forwarding information. In order to process the packet input by the packet transfer device, read access to the related forwarding information is executed in a time-sharing manner for the BANK in the DRAM fixedly allocated in advance for each physical port input by the packet. Thus, the delay factor associated with the read operation from the DRAM is eliminated.
フォワーディングに必要なキャッシュ情報の記憶装置をDRAMメモリで構成し、入力物理ポートをDRAMのBANKに割り振ることで前述のフォワーディング情報をリードするためのデータ転送効率を確保するためのDRAMアクセス手段を提供し、パケット処理速度の向上を実現する A DRAM access means for ensuring the data transfer efficiency for reading the aforementioned forwarding information by configuring the storage device of the cache information necessary for forwarding with DRAM memory and allocating the input physical port to the BANK of the DRAM is provided. , Improve packet processing speed
図1は本実施形態のパケット転送装置の構成を示す機能ブロック図である。パケット転送装置20は、入出力ポート1と、パケット処理ブロック2と、DRAM3で構成され。パケット処理ブロック2は、フィールド抽出部10と、インデックス計算部11と、物理回線番号抽出部12と、DRAMアクセス部13と、制御部16と、フォワーディング部15と、前記DRAMアクセス部内部に、BANKマッピング部13―1と、アドレスマッピング部13―2と、データ入出力部13―3と、を備える。
FIG. 1 is a functional block diagram showing the configuration of the packet transfer apparatus of this embodiment. The
DRAM3はパケットの転送に必要な情報であるフォワーディング情報を保管している。フォワーディング情報の種類としては、ポートに関する情報を記憶するポートデータベース、イーサネット(登録商標)アドレスを記憶するフォワーディング・データベース(Forwarding DataBase,FDB)、バーチャル・ローカル・エリア・ネットワーク(Virtual Local Area Network,VLAN)の情報を記憶するバーチャル・ローカル・エリア・ネットワーク・テーブル、ポートとバーチャル・ローカル・エリア・ネットワークをキーとして検索される情報を記憶するポート・バーチャル・ローカル・エリア・ネットワーク・テーブル、パケット転送のサービスレベルの情報を記憶するクオリティ・オブ・サービス(Quality of Service,QoS)パラメータなどがある。また、DRAM3は複数のフォワーディング情報エントリを有する。これらの情報は64Byte、128Byteといった一定のデータByteを基本としたバウンダリーでDRAM3に記録されている。 The DRAM 3 stores forwarding information that is information necessary for packet transfer. Types of forwarding information include a port database that stores information related to ports, a forwarding database that stores Ethernet (registered trademark) addresses (Forwarding DataBase, FDB), and a virtual local area network (VLAN). Virtual local area network table that stores information on the port, port virtual local area network table that stores information retrieved using the port and virtual local area network as a key, packet forwarding service Quality of Service (QoS) parameters that store level information . The DRAM 3 has a plurality of forwarding information entries. These pieces of information are recorded in the DRAM 3 in a boundary based on certain data bytes such as 64 bytes and 128 bytes.
フィールド抽出部10は、入出力ポート部1にて受信した転送対象のパケットに含まれるフォワーディングに関連するフィールドを抽出する。フォワーディングに関連するフィールドはパケットの一部分(ヘッダ)の中に含まれ、ソースアドレス、デスティネーションアドレス、クオリティ・オブ・サービス(Quality of Service,QoS)等を含んだ制御情報の一部である。インデックス計算部11はフィールド抽出部10で抽出したフォワーディングに関連するフィールドのハッシュ値を計算し、計算したハ
ッシュ値に基づいてインデックスを計算し、インデックス値をDRAMアクセス部13内のアドレスマッピング部13―2に通知する。物理番号抽出部12は、入出力ポートの物理的番号を、受信したパケットより抽出し、DRAMアクセス部13内のBANKマッピング部13―1に通知する。DRAMアクセス部13は、前記BANKマッピング部13―1と、前記アドレスマッピング部13―2と、データ入出力部13―3で構成され、受信パケットに含まれるフォワーディングに関するフィールド及び、物理回線番号に基づくDRAMアドレス情報を生成し、DRAM3のデータ情報をデータ入出力部13―3にて入力及び出力する。ここで入力とは、DRAM3からのリードデータを示し、出力とは、DRAM3へのライトデータを示す。DRAM3は、フォワーディング情報エントリを記憶しており、前記アドレス情報に基づき前記フォワーディング情報をデータ入出力部13―3に対し出力する。フォワーディング部15は、入出力ポート1から受信したパケットに対し、DRAMアクセス部13にて参照したフォワーディング情報に基づき、加工を行い、フォワーディング情報に基づいた指定の入出力ポート1に対し、パケットの転送を行う機能を有する。
The field extraction unit 10 extracts a field related to forwarding included in the transfer target packet received by the input /
制御部16は、CPUからDRAMアクセス部13を制御する際の制御モジュールであり、DRAM3内にフォワーディング情報エントリを記憶したり、フォワーディング情報のメンテナンスに関する機能を有する。 The control unit 16 is a control module for controlling the DRAM access unit 13 from the CPU, and has a function related to storing forwarding information entries in the DRAM 3 and maintenance of forwarding information.
DRAMアクセス部13における発明の実施形態を説明する。尚、DRAM3はDIMMでの実装形態とする。DRAMおよびDIMMは一般的なデバイスであるためデバイスアクセスにおける基本的な事項は既知のものとして省略する。またDIMMに関してはレジスタードDIMMを元に実施形態の説明を行う。さらに本発明の説明に際してはDDR2 800(動作周波数400MHz)の64ビットサイズのレジスタードDIMMを例に行う。
図2は従来のDRAMにおけるバーストリードのタイミングである。ここで、DRAMはメモリ動作クロックCK100に同期した動作となる。クロックタイミング100−1の立ち上がりでBANKアクティブコマンド101−1によりBANKをアクティブにした後、tRCD=6CK104の後にリードコマンド101−2が実行されることでリードコマンド入力からリードデータ出力までのCL(キャスレイテンシー)=6CK+1CK106の後にリードデータがDIMMから出力される。DRAMにはAL(アディティブ・レイテンシー)といわれる機能がある。これはメモリの内部ではtRCD時間104の後に実行されるコマンドに対して、これを待たずにコマンドを発行することが可能な機能である。図2においてはAL=4 103でリードコマンドを発行するタイミングとして記載している。アクティブになったBANKメモリからデータ102−1を読み出した後、tRAS=18CK105後にBANKがプリチャージ101−3され、プリチャージ完了のためtRP=6CK109の時間待って次のBANKアクティブ101−4が可能となる。リードデータ102−1はバーストアクセス(最大8サイクル)が基本単位である。アクティブとしたBANKのページ範囲内であればリードコマンドおよびアドレスを連続的に入力することで、連続してデータの読み出しが可能となる。この連続したデータ読み出しは、バーストリードとしてDRAMに備わった機構である。
An embodiment of the invention in the DRAM access unit 13 will be described. Note that the DRAM 3 is mounted in a DIMM. Since DRAMs and DIMMs are general devices, basic items in device access are omitted as known ones. Regarding the DIMM, the embodiment will be described based on the registered DIMM. Further, in the description of the present invention, a DDR2 800 (operating frequency 400 MHz) 64-bit size registered DIMM is taken as an example.
FIG. 2 shows the timing of burst read in a conventional DRAM. Here, the DRAM operates in synchronization with the memory operation clock CK100. After BANK is activated by the BANK active command 101-1 at the rising edge of the clock timing 100-1, CL (cass) from the read command input to the read data output is executed by executing the read command 101-2 after tRCD = 6CK104. Read data is output from the DIMM after (latency) = 6CK + 1CK106. The DRAM has a function called AL (additive latency). This is a function capable of issuing a command without waiting for a command executed after the
前記バーストリードを実施することで、DRAMからのフォワーディング情報リード時間の短縮が可能となったが、BANKアクティブから新たにアクティブ可能となるまでの時間=24CK108が必要となることから、リードデータ102−1に必要な転送時間4CKは基本サイクルの24CK数に対して16.6%のデータ転送比率となる。
By performing the burst read, the forwarding information read time from the DRAM can be shortened. However, since the time from the BANK active to the newly active becomes = 24CK108, the read
図3はDRAMのBANKインタリーブにおけるバーストリードのタイミングである。分割構成されたメモリの各BANKを連続的にアクティブにすることで各BANKからのデータを連続させる、データ転送比率を上げるための一般的な手法である。AL=4 1
03の機能を使用してBANK0からBANK3までを連続してアクティブにしリードコマンドを発生する(111−1から111−7)。この際連続するBANKアクティブの入力はtRRD=6CK113の時間制約を受ける。BANKインタリーブでの連続アクセスにおいては出力されるデータは連続したバイト列(116から119)になる。この場合、データの転送終了を待たずにBANK3アクティブ111−7からtFAW=14CK115時間後にBANK0アクティブ111−9を110−4のCKタイミングで入力可能になる。尚、この場合BANK0のプリチャージに必要な時間tRAS=18CK105およびtRP=6CK109はtFAW=14CK115のタイミング制約時間に含まれる。図3においてBANKインタリーブした場合の4BANK分のデータ転送時間は16CKとなりCK110−5のデータ転送完了までの29CKに対してリードデータの転送比率は55%に上がる。
FIG. 3 shows the burst read timing in the BANK interleaving of the DRAM. This is a general method for increasing the data transfer ratio in which data from each BANK is made continuous by continuously activating each BANK of the memory configured in a divided manner. AL = 4 1
Using the function 03, BANK0 to BANK3 are activated continuously to generate a read command (111-1 to 111-7). At this time, continuous BANK active inputs are subject to the time constraint of tRRD = 6CK113. In continuous access with BANK interleave, the output data is a continuous byte string (116 to 119). In this case, BANK0 active 111-9 can be input at a CK timing of 110-4 after tFAW = 14CK115 hours from BANK3 active 111-7 without waiting for completion of data transfer. In this case, the time tRAS = 18CK105 and tRP = 6CK109 necessary for precharging BANK0 are included in the timing constraint time of tFAW = 14CK115. In FIG. 3, the data transfer time for 4 BANKs when BANK interleaving is 16 CK, and the read data transfer rate increases to 55% with respect to 29 CK until the completion of the data transfer of CK110-5.
図4は本発明における2RANK DIMMの構成でのBANKインタリーブのアクセスタイミングを示す。本構成の場合はRANK1のバーストリード中(133−1から
133−4)にRANK2のBANKアクティブおよびリードコマンド(132−1から
132−4)を発行することでデータリードをRANKの切り替えのため1CK(140
および141)を追加するのみでバーストリードのサイクルを連続されることが可能になる。
本発明における2RANK DIMMの場合は、信号線をバス共有するDIMMの構成を生かしてメモリに書き込むフォワーディング情報はRANK1、RANK2の各メモリデバイスに同時に実施し2重に書き込みを行い、リードサイクルをRANKで分離することで連続したBANKアクセスを実現する。この場合の基本リードサイクル=47CK137におけるデータ転送時間は34CK139となり47CKに対して72%にデータ転送比率が上がる。またリードサイクルの開始13CKの後は連続したデータリードサイクルとしてBANKアクセスが可能となる。RANK毎のtRP=6CK109やtFAW=14CK115はRANKをまたぐことで必要な時間を稼ぐことが可能となりこの時間対応をタイミング設計上無視できる。
FIG. 4 shows the access timing of BANK interleaving in the 2RANK DIMM configuration according to the present invention. In the case of this configuration, by issuing a BANK active and read command (132-1 to 132-4) of RANK2 during a burst read of RANK1 (133-1 to 133-4), 1CK is used to switch the data read to RANK. (140
And 141) can be added to enable continuous burst read cycles.
In the case of the 2RANK DIMM in the present invention, the forwarding information to be written to the memory by making use of the configuration of the DIMM sharing the signal line on the bus is simultaneously written in each of the memory devices RANK1 and RANK2, and the read cycle is performed by RANK. Separation enables continuous BANK access. In this case, the data transfer time in the basic read cycle = 47CK137 is 34CK139, and the data transfer ratio increases to 72% with respect to 47CK. In addition, after the start 13CK of the read cycle, BANK access becomes possible as a continuous data read cycle. TRP = 6CK109 and tFAW = 14CK115 for each RANK can earn necessary time by straddling RANK, and this time correspondence can be ignored in the timing design.
前記の通り、DRAMのBANKインタリーブアクセスを利用することでDRAMのデータ転送比率を向上させることが可能になるが、各物理ポートからの受信パケットに含まれるフィールドから計算されるDRAMアドレスは固有の値を示すためBANKインタリーブの連続アクセスに単純には置き換えられないため図2に示すタイミングが割り込みデータの転送比率を阻害する。 As described above, it is possible to improve the data transfer ratio of the DRAM by using the BANK interleave access of the DRAM, but the DRAM address calculated from the field included in the received packet from each physical port has a unique value. 2 cannot be simply replaced with BANK interleaved continuous access, and the timing shown in FIG. 2 hinders the transfer ratio of interrupt data.
これを解決し受信パケットのフォワーディング情報のDRAM読み出しサイクルが固定化されたBANKインタリーブアクセスとするために、本案では物理ポートより受信された1パケット分のフォワーディング情報をDRAMの1バーストアクセス内に格納するこ
とで1パケットのフォワーディングに必要な情報をBANKの1バーストアクセス(最大8サイクル)でDRAMより読み出す。さらに物理ポートをDRAMに分割構成されたBANKに連続的かつ固定的に割り当てることで、物理ポートに対応したフォワーディング情報のDRAM読み出しのサイクルが時分割的に固定化されたBANKインタリーブによる連続バーストアクセスに置き換えることが可能になる。これによって図3または図4に示すサイクルの連続したタイミングとしてDRAMのタイミングを設計することが実現可能となる。
In order to solve this problem and to make BANK interleave access in which the DRAM read cycle of the forwarding information of the received packet is fixed, in this proposal, forwarding information for one packet received from the physical port is stored in one burst access of the DRAM. As a result, information necessary for forwarding one packet is read from the DRAM by one burst access (maximum 8 cycles) of BANK. Furthermore, by assigning the physical port continuously and fixedly to the BANK divided into DRAMs, the DRAM read cycle of forwarding information corresponding to the physical port is fixed to the continuous burst access by the BANK interleave in which the time division is fixed. It can be replaced. This makes it possible to design the DRAM timing as the continuous timing of the cycle shown in FIG.
図5は本発明におけるBANKインタリーブにおけるアクセス方法を示すブロック図である。複数で構成される入力物理ポート140を連続したメモリBANK141にマッピングすることで図4に示したBANKインタリーブによるフォワーディング情報の読み出しを行う構成が取れる。DRAM3に記憶されているフォワーディング情報は各物理ポート(140−1から140−8)より物理回線番号抽出部12およびBANKマッピング
部13−1でBANK決定され、受信パケットに含まれるアドレス情報をインデックス計算部11およびアドレスマッピング部13−2においてBANK内のアドレスにマッピングする。
FIG. 5 is a block diagram showing an access method in BANK interleaving according to the present invention. By mapping a plurality of input
本発明は物理ポート単位でシーケンシャルなBANKアクセスを繰り返すことで、結果的に受信パケットのフォワーディングに必要なバーストリードサイズのバウンダリーにキャッシュ化されたフォワーディング情報を物理ポート順に時分割されたBANKリードサイクルを提供することでメモリの高速化アクセスを実現する。 The present invention repeats sequential BANK access in units of physical ports, resulting in a BANK read cycle in which forwarding information cached in a burst read size boundary necessary for forwarding received packets is time-divided in the order of physical ports. By providing this, high-speed access to the memory is realized.
本発明においてはフォワーディング情報の書き込みは装置起動時の初期設定および初期設定外の新規パケット受信の際に実施され、また即時性を伴わない。さらにDRAMのリフレッシュは一般的に78μSに1回発生するタイミングになる。図7は1GBitレー
トの物理ポートにおける最小パケット周期における本発明実施時の収容可能な物理ポート数を試算した図である。DRAMのリード開始に伴うBANKアクティブのコマンドを発生してからリードデータ転送の開始までの13CK148およびリード終了後にリフレッシュまたはメモリ書き込みの期間150を差し引いた時間149をメモリリードに割り当てている。
図6に示すとおり1GBitレートの最小受信パケットサイズ143はイーサネットパケットを例として84Byte=672Bit=672nSとなる。動作周波数400M
HzのDDR2DRAMのクロック周期2.5nSでは図7の268.8CK147とな
る。バーストリードに割り当てる時間は170CK149となり図4におけるBANKインタリーブ時のRANK1およびRANK2の連続データリードサイクル=34CK139として170CK分、すなわち5サイクル分の連続データリードサイクルが実現可能となる。物理ポート数として40ポートに対応できる計算になる。
この場合のリードに関るデータ転送時間はデータ転送期間170CKからRANK間のデータ切り替え1CK(140および141)分を差し引き160CKとなり、これは13CK148と170CK149の総和183CKに対して87%のデータ転送比率になる。
In the present invention, writing of forwarding information is performed at the time of initial setting at the time of starting the apparatus and at the time of receiving a new packet outside the initial setting, and is not accompanied by immediacy. Further, the DRAM refresh is generally performed once every 78 μS. FIG. 7 is a diagram showing a trial calculation of the number of physical ports that can be accommodated at the time of implementation of the present invention in the minimum packet cycle of a physical port of 1 Gbit rate. A memory read is assigned a
As shown in FIG. 6, the minimum received
In the DDR2 DRAM clock period of 2.5 nS, 268.8CK147 of FIG. 7 is obtained. The time allocated to burst read is 170CK149, and the continuous data read cycle of RANK1 and RANK2 at the time of BANK interleaving in FIG. The calculation can handle 40 ports as the number of physical ports.
In this case, the data transfer time related to the read is 160CK by subtracting 1CK (140 and 141) of data switching between the data transfer period 170CK and RANK, which is a data transfer ratio of 87% with respect to the total 183CK of 13CK148 and 170CK149. become.
1 : 入出力ポート
2 : パケット処理ブロック
3 : DRAM
10: フィールド抽出部
11: インデックス計算部
12: 物理回線番号抽出部
13: DRAMアクセス部
13−1: BANKマッピング部
13−2: アドレスマッピング部
13−3: データ入出力部
15: フォワーディング部
16: 制御部
20: パケット転送装置
100: DRAM動作クロック
100−1: ACT入力タイミング
100−2: READ入力タイミング
100−3: READ実行タイミング
100−4: Precharge(プリチャージ実行タイミング)
100−5: ACT入力タイミング(プリチャージ実行後)
101: コマンド
101−1: ACT(BANK アクティブコマンド)
101−2: READ(リードコマンド)
102: データ
102−1: バーストデータ出力
103: AL(アディティブレイテンシー)
104: tRCD=6CK
105: tRAS=18CK
106: CL=6CK+1CK
107: BANKアクティブからデータ出力までの時間=tRCD+CL+1CK=
13CK
108: BANKアクティブから新たにBANKアクティブ可能となるまでの時間=24
CK
109: tRP=6CK
110: DRAM動作クロック
111: コマンド
111−1: BANK0 ACTコマンド
111−2: BANK0 READコマンド
111−3: BANK1 ACTコマンド
111−4: BANK1 READコマンド
111−5: BANK2 ACTコマンド
111−6: BANK2 READコマンド
111−7: BANK3 ACTコマンド
111−8: BANK3 READコマンド
111−9: BANK0 ACTコマンド
112: データ
114: 基本リードサイクル=29CK
115: tFAW=14CK
116: BANK0 リードデータ 4CK
117: BANK1 リードデータ 4CK
118: BANK2 リードデータ 4CK
119: BANK3 リードデータ 4CK
120: BANK0 リードデータ
121: 10CK
122: 13CK
130: DRAM動作クロック
130−1: RANK1 BANK0 ACTコマンド入力タイミング
130−2: RANK1 BANK1 ACTコマンド入力タイミング
130−3: RANK2 BANK0 ACTコマンド入力タイミング
130−4: RANK1 BANK0 ACTコマンド入力タイミング
130−5: RANK1 BANK0 リードデータ出力タイミング
131: RANK1コマンド
131−1: RANK1 BANK0 ACTおよびREADコマンド
131−2: RANK1 BANK1 ACTおよびREADコマンド
131−3: RANK1 BANK2 ACTおよびREADコマンド
131−4: RANK1 BANK3 ACTおよびREADコマンド
132: RANK2コマンド
131−1: RANK2 BANK0 ACTおよびREADコマンド
131−2: RANK2 BANK1 ACTおよびREADコマンド
131−3: RANK2 BANK2 ACTおよびREADコマンド
131−4: RANK2 BANK3 ACTおよびREADコマンド
133: RANK1データ
133−1: RANK1 BANK0 リードデータ
133−2: RANK1 BANK1 リードデータ
133−3: RANK1 BANK2 リードデータ
133−4: RANK1 BANK3 リードデータ
133−5: RANK1 BANK0 リードデータ
134: RANK2データ
134−1: RANK2 BANK0 リードデータ
134−2: RANK2 BANK3 リードデータ
137: 基本リードサイクル=47CK
139: RANK1およびRANK2の連続データリードサイクル=34CK
140: 1CK
141: 1CK
143: 84Byte=672BIT (672nS 1Gbit/S換算)
144: プリアンブル+SFD(8Byte)
145: 最小パケット(64Byte)
146: フレーム間ギャップ(12Byte)
147: 1パケット間隔 672nS=268.8CK (CK=400MHz=2.5
nS)
148: 1STコマンド発生からリードデータ発生まで 13CK
149: 2RANK構成でのBANKインターリーブバーストリードサイクル
34CK(8Port分)x5サイクル=170CK
149−1: BANK0物理ポート1 バーストアクセス
150: リフレッシュまたはランダムなBANKへのバーストライトサイクル
1: I / O port 2: Packet processing block 3: DRAM
10: Field extraction unit 11: Index calculation unit 12: Physical line number extraction unit 13: DRAM access unit 13-1: BANK mapping unit 13-2: Address mapping unit 13-3: Data input / output unit 15: Forwarding unit 16: Control unit 20: Packet transfer device 100: DRAM operation clock 100-1: ACT input timing 100-2: READ input timing 100-3: READ execution timing 100-4: Precharge (precharge execution timing)
100-5: ACT input timing (after precharge execution)
101: Command 101-1: ACT (BANK active command)
101-2: READ (read command)
102: Data 102-1: Burst data output 103: AL (additive latency)
104: tRCD = 6CK
105: tRAS = 18CK
106: CL = 6CK + 1CK
107: Time from BANK active to data output = tRCD + CL + 1CK =
13CK
108: Time from BANK active until new BANK active becomes possible = 24
CK
109: tRP = 6CK
110: DRAM operation clock 111: Command 111-1: BANK0 ACT command 111-2: BANK0 READ command 111-3: BANK1 ACT command 111-4: BANK1 READ command 111-5: BANK2 ACT command 111-6: BANK2 READ command 111-7: BANK3 ACT command 111-8: BANK3 READ command 111-9: BANK0 ACT command 112: Data 114: Basic read cycle = 29 CK
115: tFAW = 14CK
116: BANK0 read data 4CK
117: BANK1 read data 4CK
118: BANK2 read data 4CK
119: BANK3 read data 4CK
120: BANK0 read data 121: 10CK
122: 13CK
130: DRAM operation clock 130-1: RANK1 BANK0 ACT command input timing 130-2: RANK1 BANK1 ACT command input timing 130-3: RANK2 BANK0 ACT command input timing 130-4: RANK1 BANK0 ACT command input timing 130-5: RANK1 BANK0 read data output timing 131: RANK1 command 131-1: RANK1 BANK0 ACT and READ command 131-2: RANK1 BANK1 ACT and READ command 131-3: RANK1 BANK2 ACT and READ command 131-4: RANK1 BANK3 ACT and READ command 132 : RANK2 command 131-1: RANK2 BA K0 ACT and READ command 131-2: RANK2 BANK1 ACT and READ command 131-3: RANK2 BANK2 ACT and READ command 131-4: RANK2 BANK3 ACT and READ command
133: RANK1 data 133-1. RANK1 BANK0 read data 133-2: RANK1 BANK1 read data 133-3: RANK1 BANK2 read data 133-4: RANK1 BANK3 read data 133-5: RANK1 BANK0 read data 134: RANK2 data 134- 1: RANK2 BANK0 Read data 134-2: RANK2 BANK3 Read data 137: Basic read cycle = 47CK
139: RANK1 and RANK2 continuous data read cycle = 34CK
140: 1CK
141: 1CK
143: 84 Byte = 672 BIT (672
144: Preamble + SFD (8 bytes)
145: Minimum packet (64 bytes)
146: Inter-frame gap (12 bytes)
147: 1 packet interval 672nS = 268.8CK (CK = 400MHz = 2.5
nS)
148: From 1ST command generation to read data generation 13CK
149: BANK interleaved burst read cycle in 2RANK configuration
34CK (8 Port min) x 5 cycles = 170CK
149-1: BANK0
Claims (6)
前記パケット処理ブロックは、前記フォワーディングに関連するフィールドを抽出するフィールド抽出部と、
抽出した前記フィールドから前記パケットに関連する前記フォワーディング情報が格納されているアドレスを算出するインデックス計算部と、
前記パケットがいずれの物理ポートから入力したかを抽出する、物理回線番号抽出部と、
前記DRAMへのリード及びライト及びリフレッシュを実施するDRAMアクセス部と、
前記DRAMアクセス部への前記フォワーディング情報の書き込み及び、メンテナンスを実施する制御部と、
前記パケットの前記フォワーディング処理を実施するフォワーディング部と、
前記DRAMアクセス部内部に、前記物理ポートから前記DRAM内BANKアドレスに割り当てるBANKマッピング部と、
前記パケットから抽出した前記フィールドからDRAMアドレスに割り当てるアドレスマッピング部と、
前記フォワーディング情報のライト及びリードデータの一時保管を行うデータ入出力部と、
を備えたことを特徴とするパケット転送装置。 An input / output port that is an input / output interface of a packet, a packet processing block that performs processing related to forwarding of the packet, and a DRAM that stores various forwarding information related to the forwarding,
The packet processing block includes a field extraction unit that extracts a field related to the forwarding;
An index calculator that calculates an address in which the forwarding information related to the packet is stored from the extracted field;
A physical line number extraction unit for extracting from which physical port the packet is input;
A DRAM access unit for performing read, write, and refresh on the DRAM;
Writing the forwarding information to the DRAM access unit, and a control unit for performing maintenance;
A forwarding unit that performs the forwarding process of the packet;
A BANK mapping unit for assigning a BANK address in the DRAM from the physical port in the DRAM access unit;
An address mapping unit that assigns a DRAM address from the field extracted from the packet;
A data input / output unit for temporarily writing the forwarding information and storing read data;
A packet transfer apparatus comprising:
前記フォワーディングに関連するフィールドを前記パケットから抽出するフィールド抽出ステップと、
前記フィールドから前記パケットに関連する前記フォワーディング情報が格納されているアドレスを算出するインデックス計算ステップと、
前記パケットがいずれの物理ポートから入力したかを抽出する物理回線番号抽出ステップと、
前記物理回線抽出ステップにて抽出した前記パケットの前記物理ポート番号を前記DRAMのBANKアドレスに割り当てるステップと、
前記BANKアドレスを巡回並列的に出力するステップと、
前記インデックス計算ステップにて前記フォワーディング情報が格納されている前記アドレスを出力するステップと、
前記BANKアドレスと前記フォワーディング情報が格納されているアドレスから、前記パケットに関する前記フォワーディング情報のリードを行うステップと、
前記DRAMからリードした前記フォワーディング情報から、前記パケットの前記フォワーディング処理を行うステップと、
を備えたことを特徴とするパケット転送方法。 A packet transfer method comprising: an input / output port that is an input / output interface of a packet; a packet processing block that performs processing related to forwarding of the packet; and a DRAM that stores various forwarding information related to the forwarding;
A field extraction step for extracting fields related to the forwarding from the packet;
An index calculating step for calculating an address in which the forwarding information related to the packet is stored from the field;
A physical line number extracting step for extracting from which physical port the packet is input;
Assigning the physical port number of the packet extracted in the physical line extraction step to a BANK address of the DRAM;
Outputting the BANK address cyclically in parallel;
Outputting the address where the forwarding information is stored in the index calculation step;
Reading the forwarding information about the packet from the BANK address and the address where the forwarding information is stored;
Performing the forwarding process of the packet from the forwarding information read from the DRAM;
A packet transfer method comprising:
DRAMのBANKアクセスを巡回並列的にインタリーブ処理するステップと、
を備えたことを特徴とする請求項2に記載のパケット転送方法。 Fixedly assigning a physical number of an input / output port, which is an input / output interface of a packet, to a BANK address of a DRAM storing forwarding information of the packet;
Interleaving the BANK access of DRAM in a cyclic parallel manner;
The packet transfer method according to claim 2, further comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009258414A JP5394897B2 (en) | 2009-11-11 | 2009-11-11 | Packet transfer apparatus and packet transfer method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009258414A JP5394897B2 (en) | 2009-11-11 | 2009-11-11 | Packet transfer apparatus and packet transfer method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011103608A true JP2011103608A (en) | 2011-05-26 |
JP5394897B2 JP5394897B2 (en) | 2014-01-22 |
Family
ID=44193747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009258414A Expired - Fee Related JP5394897B2 (en) | 2009-11-11 | 2009-11-11 | Packet transfer apparatus and packet transfer method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5394897B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780146A (en) * | 2022-06-17 | 2022-07-22 | 深流微智能科技(深圳)有限公司 | Resource address query method, device and system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6473838B1 (en) * | 2000-01-04 | 2002-10-29 | International Business Machines Corporation | Data transfer system for multiple network processors using dual DRAM storage |
JP2003318947A (en) * | 2002-04-23 | 2003-11-07 | Mitsubishi Electric Corp | Switch for using multi-layer memory |
JP2005051648A (en) * | 2003-07-31 | 2005-02-24 | Nippon Telegr & Teleph Corp <Ntt> | Table searching apparatus for vpn |
JP2009077453A (en) * | 2003-04-22 | 2009-04-09 | Agere Systems Inc | Method and apparatus for shared multi-bank memory |
-
2009
- 2009-11-11 JP JP2009258414A patent/JP5394897B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6473838B1 (en) * | 2000-01-04 | 2002-10-29 | International Business Machines Corporation | Data transfer system for multiple network processors using dual DRAM storage |
JP2003318947A (en) * | 2002-04-23 | 2003-11-07 | Mitsubishi Electric Corp | Switch for using multi-layer memory |
JP2009077453A (en) * | 2003-04-22 | 2009-04-09 | Agere Systems Inc | Method and apparatus for shared multi-bank memory |
JP2005051648A (en) * | 2003-07-31 | 2005-02-24 | Nippon Telegr & Teleph Corp <Ntt> | Table searching apparatus for vpn |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780146A (en) * | 2022-06-17 | 2022-07-22 | 深流微智能科技(深圳)有限公司 | Resource address query method, device and system |
CN114780146B (en) * | 2022-06-17 | 2022-08-26 | 深流微智能科技(深圳)有限公司 | Resource address query method, device and system |
Also Published As
Publication number | Publication date |
---|---|
JP5394897B2 (en) | 2014-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105183662B (en) | Storage architecture on a kind of Distributed sharing piece of no cache consistency protocols | |
TW200949837A (en) | Memory systems and methods for controlling the timing of receiving read data | |
US20050169092A1 (en) | Network packet buffer allocation optimization in memory bank systems | |
JP3678412B2 (en) | DRAM data storage and migration for network processors | |
JP2000242559A (en) | Information processor and semiconductor device | |
KR20210050591A (en) | Shared error checking and correction logic for multiple data banks | |
US7221612B2 (en) | SDRAM address mapping optimized for two-dimensional access | |
TWI298882B (en) | Dram and access method | |
JP5394897B2 (en) | Packet transfer apparatus and packet transfer method | |
JP6468971B2 (en) | Semiconductor memory, memory system | |
JP5348157B2 (en) | Information processing apparatus, memory access control apparatus and address generation method thereof | |
US20040123056A1 (en) | Interleaving memory access | |
EP3627316B1 (en) | Real-time data processing and storage apparatus | |
JP2004295322A (en) | Memory access controller | |
US20100054272A1 (en) | Storage device capable of accommodating high-speed network using large-capacity low-speed memory | |
JP5633562B2 (en) | Memory system and memory interface device | |
US11755235B2 (en) | Increasing random access bandwidth of a DDR memory in a counter application | |
US20150170720A1 (en) | Multiple port shared memory | |
KR100532444B1 (en) | Memory device implementing 2N bit prefetch scheme using N bit prefetch structure and 2N bit prefetching method and auto-precharge method | |
CN114667509A (en) | Memory, network equipment and data access method | |
JP2006215961A (en) | Addressing method | |
JP2019133657A (en) | Method for scheduling page size recognition and non-temporary computer readable recording medium | |
WO2017156747A1 (en) | Memory access method and computer system | |
JP4940894B2 (en) | Synchronous memory circuit | |
WO2023189358A1 (en) | Memory control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120911 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130617 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130702 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130829 |
|
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: 20131008 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131017 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5394897 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |