JP5639965B2 - Asynchronous operation search circuit - Google Patents

Asynchronous operation search circuit Download PDF

Info

Publication number
JP5639965B2
JP5639965B2 JP2011136627A JP2011136627A JP5639965B2 JP 5639965 B2 JP5639965 B2 JP 5639965B2 JP 2011136627 A JP2011136627 A JP 2011136627A JP 2011136627 A JP2011136627 A JP 2011136627A JP 5639965 B2 JP5639965 B2 JP 5639965B2
Authority
JP
Japan
Prior art keywords
comparison
rule
information
unit
rule information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011136627A
Other languages
Japanese (ja)
Other versions
JP2013005342A (en
Inventor
西田 享邦
享邦 西田
小池 恵一
恵一 小池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011136627A priority Critical patent/JP5639965B2/en
Publication of JP2013005342A publication Critical patent/JP2013005342A/en
Application granted granted Critical
Publication of JP5639965B2 publication Critical patent/JP5639965B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、例えばIP(Internet Protocol)網で使用されるルータ等のように、パケットフィルタリング機能を用いたパケットの転送処理に用いる非同期動作検索回路に関する。   The present invention relates to an asynchronous operation search circuit used for packet transfer processing using a packet filtering function, such as a router used in an IP (Internet Protocol) network.

近年、インターネットに代表されるIP網の利用拡大に伴い、企業および家庭内にLAN(Local Area Network)を構築し、このLANをインターネット等を介して外部のネットワークに接続させ、パケット転送を行うことが多い。しかし、LANに収容された端末を外部のネットワークに接続すると、外部のネットワークからの不正アクセスにより、個人情報等の機密情報の漏えいまたは改竄が発生するおそれがあるため、LAN内部のセキュリティの確保が重要な課題となる。
そこで従来では、LANと外部ネットワークとの間でパケットを中継転送するルータなどのパケット転送処理装置に、パケットフィルタリング機能を持たせるようにしている。パケットフィルタリング機能は、受信されたパケットを予め設定されているルール情報と比較することにより、上記パケットの通過を許可するか否かを判定する。ルール情報は、パケット転送に使用される通信パラメータにより定義され、例えば、送信元アドレス、宛先アドレス、プロトコル、送信元ポート番号及び宛先ポート番号などがある。パケットフィルタリング処理の性能は、ルール情報の数の増加に伴って低下するため、ルール情報と受信パケットとの比較処理回路を並列化し、性能向上を狙う回路構成が存在する(例えば、非特許文献1参照)。
In recent years, with the expansion of the use of IP networks represented by the Internet, a LAN (Local Area Network) is constructed in a company and a home, and the LAN is connected to an external network via the Internet or the like to perform packet transfer. There are many. However, if a terminal accommodated in a LAN is connected to an external network, confidential information such as personal information may be leaked or altered due to unauthorized access from the external network. This is an important issue.
Therefore, conventionally, a packet transfer processing device such as a router that relays and transfers packets between a LAN and an external network is provided with a packet filtering function. The packet filtering function determines whether or not to allow passage of the packet by comparing the received packet with preset rule information. The rule information is defined by communication parameters used for packet transfer, and includes, for example, a source address, a destination address, a protocol, a source port number, and a destination port number. Since the performance of packet filtering processing decreases as the number of rule information increases, there is a circuit configuration that aims to improve performance by parallelizing a comparison processing circuit between rule information and a received packet (for example, Non-Patent Document 1). reference).

ところが、ルールの読み出し処理や比較処理回路は同期して動作する必要があり、通常はクロック信号に同期して動作する。このクロックは、動作タイミングをそろえるために回路に供給され、データ処理に対して直接関与しない。それにも関わらず、クロック信号は、LSIチップ全体に供給されるため、大きく電力を消費する。例えば、受信パケットが入力されておらず、処理としてはアイドル状態にも関わらず、クロックがLSI全体に供給されるために電力が大きく消費されてしまう。   However, the rule reading process and the comparison processing circuit need to operate in synchronization, and normally operate in synchronization with the clock signal. This clock is supplied to the circuit to align the operation timing, and is not directly involved in data processing. Nevertheless, since the clock signal is supplied to the entire LSI chip, it consumes a large amount of power. For example, a received packet is not input, and the process consumes a large amount of power because the clock is supplied to the entire LSI regardless of the idle state.

そこで、電力消費を削減する観点から、クロック信号を用いずに、処理段ごとに送信信号(send信号)と応答信号(ack信号)とのハンドシェイクにより処理を進める非同期回路の適用が考えられる。非同期回路は、クロック信号が不要であり、さらにデータ入力されない場合は、制御回路間のハンドシェイクも発生しないので、電力消費を大きく削減することができる。
さらに、LSI製造技術の微細化により、リーク電流に起因する静的消費電力の増加が問題となっているが、非同期回路は、制御部のハンドシェイクにより処理を行っている処理段において有効なデータが存在しているか否かを知ることが容易である。従って、有効なデータが存在しない場合、処理段の電源を遮断するいわゆるパワーゲーティングを容易に実現することができる。
Therefore, from the viewpoint of reducing power consumption, it is conceivable to apply an asynchronous circuit in which processing is performed by handshaking between a transmission signal (send signal) and a response signal (ack signal) for each processing stage without using a clock signal. Asynchronous circuits do not require a clock signal, and when data is not input, handshaking between control circuits does not occur, so that power consumption can be greatly reduced.
Furthermore, miniaturization of LSI manufacturing technology has caused an increase in static power consumption due to leakage current, but asynchronous circuits are effective data in the processing stage where processing is performed by handshaking of the control unit. It is easy to know whether or not exists. Therefore, when there is no valid data, so-called power gating that cuts off the power of the processing stage can be easily realized.

西田享邦,川合健治,小池恵一,大山勝一,“1Gbit/sホームルータ用LSIの開発”,信学技報,ICD2007−58,pp.123−128,Jul.2007Nishida, K., Kawai, Kenji, Koike, K., Oyama, K., "Development of LSI for 1 Gbit / s Home Router", IEICE Technical Report, ICD2007-58, pp. 123-128, Jul. 2007

しかしながら、非同期回路の場合、受信パケット情報とルール情報との比較処理の完了時間が比較回路ごとに異なる。そのため、複数の比較回路にルール情報を同時に送信すると、まだ比較処理が終了していない比較回路では、処理が間に合わず誤動作することがある。加えて、パケットフィルタリング処理では、1つの受信パケット情報と複数のルール情報との比較を行う必要があるが、受信パケット情報の受け入れ制御を行う制御部において、すべてのルール情報の比較が終了したことを検知できない。よって、すべてのルール情報との比較が終了する前に検索結果を出力して、次の受信パケット情報の受信を開始してしまい、正しく検索ができない可能性がある。   However, in the case of an asynchronous circuit, the completion time of the comparison process between the received packet information and the rule information differs for each comparison circuit. For this reason, if the rule information is transmitted to a plurality of comparison circuits at the same time, the comparison circuit that has not completed the comparison process may not operate in time and may malfunction. In addition, in the packet filtering process, it is necessary to compare one piece of received packet information with a plurality of rule information, but the comparison of all rule information has been completed in the control unit that controls reception of received packet information. Cannot be detected. Therefore, there is a possibility that the search result is output before the comparison with all the rule information is completed and reception of the next received packet information is started, and the search cannot be performed correctly.

この発明は上記事情に着目してなされたもので、その目的とするところは、低消費電力でかつ高性能に検索することができる非同期動作検索回路を提供することにある。   The present invention has been made paying attention to the above circumstances, and an object of the present invention is to provide an asynchronous operation search circuit capable of searching with low power consumption and high performance.

上記目的を達成するためにこの発明の一つの観点は、パケットの通過を許可するか否かを判定する検索種別に対応した複数のルール情報のうちの第1ルール情報と、受信したパケットに関する情報とを比較する比較部を具備し、前記比較部は複数あり、比較部ごとに受信したパケットが異なり、比較部ごとに、複数の比較部で共通する前記第1ルール情報を受信した場合、前記比較部に比較処理をさせるように制御し、該第1ルール情報とパケットに関する情報との比較が完了した場合または該パケットを受信しなかった場合にも処理が完了したことを示す第2信号を生成する比較回路制御部と、前記複数の比較部からの全ての第2信号を受信した場合、前記第1ルール情報とは異なる第2ルール情報を読み出し、該第2ルール情報を前記複数の比較部に送信する読出し部と、をさらに具備し、前記比較回路制御部は、前記複数のルール情報を全て受信するまで前記比較部に順次前記比較処理を行わせ、前記第2信号を生成することを特徴とする。   In order to achieve the above object, one aspect of the present invention provides a first rule information among a plurality of rule information corresponding to a search type for determining whether or not to allow a packet to pass, and information on a received packet A plurality of comparison units, the received packets are different for each comparison unit, and for each comparison unit, when the first rule information common to the plurality of comparison units is received, The control unit controls the comparison unit to perform a comparison process, and a second signal indicating that the process is completed when the comparison between the first rule information and the information related to the packet is completed or when the packet is not received. When all the second signals from the comparison circuit control unit to be generated and the plurality of comparison units are received, the second rule information different from the first rule information is read, and the second rule information is And a reading unit for transmitting to the comparison unit, wherein the comparison circuit control unit causes the comparison unit to sequentially perform the comparison process until all the plurality of rule information is received, thereby generating the second signal. It is characterized by doing.

すなわちこの発明によれば、低消費電力でかつ高性能に検索することができる。   That is, according to the present invention, it is possible to search with low power consumption and high performance.

本実施形態に係る非同期動作検索回路を含むパケット処理回路を示すブロック図。The block diagram which shows the packet processing circuit containing the asynchronous operation | movement search circuit which concerns on this embodiment. 本実施形態に係る検索部を示すブロック図。The block diagram which shows the search part which concerns on this embodiment. 本実施形態に係る比較回路を示すブロック図。The block diagram which shows the comparison circuit which concerns on this embodiment. 比較回路の動作の一例を示すタイミングチャート。6 is a timing chart illustrating an example of the operation of the comparison circuit. 本実施形態に係る比較部を示すブロック図。The block diagram which shows the comparison part which concerns on this embodiment. 本実施形態に係るルール読み出し部を示すブロック図。The block diagram which shows the rule reading part which concerns on this embodiment. ルール読出し部の状態遷移の一例を示す図。The figure which shows an example of the state transition of a rule reading part. 一般的なC素子を用いた非同期回路のタイミングチャート。The timing chart of the asynchronous circuit using a general C element.

以下、図面を参照しながら本発明の実施形態に係る非同期動作検索回路について詳細に説明する。なお、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
本実施形態に係る非同期検索回路を含むパケット処理回路100について図1を参照して説明する。
パケット処理回路100は、ネットワークインターフェース101,108、パーサ102、フレームコントローラ103、バッファメモリ104、非同期検索回路105、QoS(Quality of Service)部106およびフレーム生成部107を含む。
Hereinafter, an asynchronous operation search circuit according to an embodiment of the present invention will be described in detail with reference to the drawings. Note that, in the following embodiments, the same numbered portions are assumed to perform the same operation, and repeated description is omitted.
A packet processing circuit 100 including an asynchronous search circuit according to the present embodiment will be described with reference to FIG.
The packet processing circuit 100 includes network interfaces 101 and 108, a parser 102, a frame controller 103, a buffer memory 104, an asynchronous search circuit 105, a QoS (Quality of Service) unit 106, and a frame generation unit 107.

ネットワークインターフェース101,108は、WAN(Wide Area Network)またはLANとのインターフェースである。ネットワークインターフェース101は、WANまたはLANからパケットデータを受信する。ネットワークインターフェース108は、後述するフレーム生成部107からパケットデータを受信して、WANまたはLANに送信する。
パーサ102は、ネットワークインターフェース101からパケットデータを受け取り、受信パケット情報を抽出する。受信パケット情報は、IPアドレスまたはポート番号といった、後述の非同期検索回路105における比較処理で必要とされるパケットに関する情報である。
フレームコントローラ103は、パーサ102からパケットデータを受け取り、バッファメモリ104に格納するように制御する。
The network interfaces 101 and 108 are interfaces with a WAN (Wide Area Network) or a LAN. The network interface 101 receives packet data from the WAN or LAN. The network interface 108 receives packet data from a frame generation unit 107, which will be described later, and transmits it to the WAN or LAN.
The parser 102 receives packet data from the network interface 101 and extracts received packet information. The received packet information is information relating to a packet, such as an IP address or a port number, that is required for comparison processing in the asynchronous search circuit 105 described later.
The frame controller 103 receives packet data from the parser 102 and controls to store it in the buffer memory 104.

バッファメモリ104は、フレームコントローラ103からパケットデータを受け取り、パケットデータを格納する。
非同期検索回路105は、パーサ102から受信パケット情報を受け取り、受信パケット情報と様々なルール情報とを比較する。ルール情報は、ルール番号、優先度値および比較情報を含む。ルール番号は、例えば後述するルール蓄積部207に蓄積されたルール情報のアドレスのような、ルール情報を識別するIDである。優先度値は、受信パケット情報とルールとが一致する場合に、どれほど優先して適用されるかを示す。ここでは、優先度が高いほど値が小さいとする。比較情報は、受信パケット情報と比較するための情報であって、それぞれの検索種別に対応してパケットの通過を許可するか否かを判定する情報である。例えば、経路検索であれば送信元アドレス、宛先アドレスなどの情報である。非同期検索回路105は、パケットデータの廃棄/通過、出力インターフェースの決定、通信品質クラス分けといった受信したパケットデータの取り扱いを決定する。なお、ルール情報は、非同期検索回路105内部に予め格納されていてもよいし、外部のルール情報蓄積部(図示せず)から比較処理のたびにルール情報を抽出して比較してもよい。非同期検索回路105の詳細については、図3を参照して後述する。
The buffer memory 104 receives packet data from the frame controller 103 and stores the packet data.
The asynchronous search circuit 105 receives the received packet information from the parser 102, and compares the received packet information with various rule information. The rule information includes a rule number, a priority value, and comparison information. The rule number is an ID for identifying rule information such as an address of rule information stored in a rule storage unit 207 described later. The priority value indicates how much priority is applied when the received packet information matches the rule. Here, it is assumed that the higher the priority, the smaller the value. The comparison information is information for comparison with the received packet information, and is information for determining whether or not to allow the packet to pass according to each search type. For example, in the case of route search, information such as a transmission source address and a destination address is used. The asynchronous search circuit 105 determines how to handle received packet data such as discard / pass of packet data, determination of an output interface, and communication quality classification. Note that the rule information may be stored in advance in the asynchronous search circuit 105, or the rule information may be extracted and compared every time comparison processing is performed from an external rule information storage unit (not shown). Details of the asynchronous search circuit 105 will be described later with reference to FIG.

QoS部106は、非同期検索回路105からルール情報と比較された受信パケット情報を受け取る。取り扱いが廃棄の場合、フレームコントローラ103にパケットデータを廃棄するように廃棄要求を送り、バッファメモリ104において当該パケットが使用していたバッファ領域を解放する。取り扱いが通過の場合、決定された通信品質クラスに従い、キューイングされ、指定されたパケット送信タイミングでフレーム生成部107に送信要求を送る。   The QoS unit 106 receives the received packet information compared with the rule information from the asynchronous search circuit 105. When handling is discarded, a discard request is sent to the frame controller 103 so as to discard the packet data, and the buffer area used by the packet in the buffer memory 104 is released. When the handling is passing, the queue is queued according to the determined communication quality class, and a transmission request is sent to the frame generation unit 107 at the designated packet transmission timing.

フレーム生成部107は、QoS部106から送信要求と、ルール情報と比較された受信パケット情報とを受け取り、パケットデータの読み出しをフレームコントローラ103に要求する。フレーム生成部107は、フレームコントローラ103を介してバッファメモリ104から当該パケットデータを受け取るとともに、非同期検索回路105においてルール情報と比較された受信パケット情報に基づき、MACアドレスの書き換えや、IPアドレスの書き換え等を行い、非同期検索回路105において決定されたインターフェースにパケットを送る。   The frame generation unit 107 receives the transmission request from the QoS unit 106 and the received packet information compared with the rule information, and requests the frame controller 103 to read the packet data. The frame generation unit 107 receives the packet data from the buffer memory 104 via the frame controller 103, and rewrites the MAC address or IP address based on the received packet information compared with the rule information in the asynchronous search circuit 105. The packet is sent to the interface determined by the asynchronous search circuit 105.

次に、本実施形態に係る非同期検索回路105について図2のブロック図を参照して説明する。
本実施形態に係る非同期検索回路105は、受信パケット情報振分け部201、比較回路202、第1ルール読出し回路203−1、第2ルール読出し回路203−2、第3ルール読出し回路203−3、結果出力部204、第1検索結果蓄積部205−1、第2検索結果蓄積部205−2および第3検索結果蓄積部205−3を含む。さらに、第1ルール読出し回路203−1は、第1ルール読出し部206−1および第1ルール蓄積部207−1を含む。同様に、第2ルール読出し回路203−2は、第2ルール読出し部206−2および第1ルール蓄積部207−2を含み、第3ルール読出し回路203−3は、第2ルール読出し部206−3および第1ルール蓄積部207−3を含む。
Next, the asynchronous search circuit 105 according to the present embodiment will be described with reference to the block diagram of FIG.
The asynchronous search circuit 105 according to the present embodiment includes a received packet information distribution unit 201, a comparison circuit 202, a first rule reading circuit 203-1, a second rule reading circuit 203-2, a third rule reading circuit 203-3, and a result. It includes an output unit 204, a first search result storage unit 205-1, a second search result storage unit 205-2, and a third search result storage unit 205-3. Furthermore, the first rule reading circuit 203-1 includes a first rule reading unit 206-1 and a first rule accumulating unit 207-1. Similarly, the second rule readout circuit 203-2 includes a second rule readout unit 206-2 and a first rule storage unit 207-2, and the third rule readout circuit 203-3 includes the second rule readout unit 206-. 3 and the first rule storage unit 207-3.

以下便宜上、第1ルール読出し回路203−1および4個の比較回路202を第1ステージと呼び、第2ルール読出し回路203−2および4個の比較回路202を第2ステージと呼び、第3ルール読出し回路203−3および4個の比較回路202を第3ステージと呼ぶ。本実施形態では、各ステージにおいて比較回路202を4個並列させ、第1ステージから第3ステージまでの3段階の並列処理を行う例を示すが、これに限らず、1つのステージで並列させる比較回路の数およびステージ数は、いくつでもよい。このように比較回路を並列させることで、比較回路ごとに読出し回路を接続させずに、各ステージで1つの読出し回路が存在すればよく、回路規模を縮小させることができる。さらに各比較回路に、それぞれ別の受信パケット情報が入力され処理されるので、並列処理によりパフォーマンスを向上させることができる。
本実施形態に係る3つのステージの処理は、例えば、第1ステージにおいて論理インターフェースとNAT(Network Address Translation)検索を行い、第2ステージにおいて経路検索を行い、第3ステージにおいてパケット検索を行うことを想定する。しかし、これに限らず、各ステージにおいてどのような検索を行ってもよい。
Hereinafter, for convenience, the first rule readout circuit 203-1 and the four comparison circuits 202 are referred to as a first stage, the second rule readout circuit 203-2 and the four comparison circuits 202 are referred to as a second stage, and the third rule. The read circuit 203-3 and the four comparison circuits 202 are referred to as a third stage. In the present embodiment, an example is shown in which four comparison circuits 202 are arranged in parallel in each stage and three-stage parallel processing from the first stage to the third stage is performed. Any number of circuits and stages may be used. By paralleling the comparison circuits in this way, it is sufficient that one readout circuit exists in each stage without connecting the readout circuit for each comparison circuit, and the circuit scale can be reduced. Furthermore, since different received packet information is input to each comparison circuit and processed, the performance can be improved by parallel processing.
The processing of the three stages according to the present embodiment includes, for example, performing a NAT (Network Address Translation) search with a logical interface in the first stage, performing a route search in the second stage, and performing a packet search in the third stage. Suppose. However, the search is not limited to this, and any search may be performed in each stage.

受信パケット情報振分け部201は、パーサ102から受信した受信パケット情報を、比較処理が実行されていない、すなわち、受信パケット情報ack信号を送信している第1ステージの比較回路に、受信パケット情報と受信パケット情報send信号とを送信する。受信パケット情報ack信号は、受信パケット情報と全てのルール情報との比較が終了したか否かを示す信号である。受信パケット情報send信号は、受信パケット情報を送信したか否かを示す信号である。なお、受信パケット情報send信号と受信パケット情報ack信号とは1ビットの信号とするが、何ビットの信号を用いてもよい。   The received packet information distribution unit 201 compares the received packet information received from the parser 102 with the received packet information to the first stage comparison circuit that is not performing comparison processing, that is, transmitting the received packet information ack signal. Received packet information send signal is transmitted. The received packet information ack signal is a signal indicating whether or not the comparison between the received packet information and all rule information has been completed. The received packet information send signal is a signal indicating whether or not the received packet information has been transmitted. The received packet information send signal and the received packet information ack signal are 1-bit signals, but any number of bits may be used.

第1ステージの比較回路202は、受信パケット情報振分け部201から受信パケット情報send信号と受信パケット情報とを受け取り、ルール読出し回路203−1からルール情報とルール情報send信号とを受け取る。ルール情報send信号は、ルール情報を送信したか否かを示す信号である。比較回路202は、受信パケット情報とルール情報との比較を行う。また、比較回路202は、ルール蓄積部207に蓄積されるルール情報と受信パケット情報とを比較し、第1ルール読出し回路203−1にルール情報ack信号を送る。ルール情報ack信号は、受信パケット情報と1つのルール情報との比較処理が完了したか否かを示す信号である。
ルール蓄積部207−1に蓄積されるすべてのルール情報について、受信パケット情報とルール情報とが一致したルール番号の中で最も優先度が高いルール番号(優先ルール番号)を決定する。全てのルールと比較処理が完了した場合は、受信パケット情報振分け部201に受信パケット情報ack信号を送信する。なお、ルール情報send信号とルール情報ack信号とは1ビットの信号とするが、何ビットの信号を用いてもよい。
The first stage comparison circuit 202 receives the received packet information send signal and the received packet information from the received packet information sorting unit 201, and receives the rule information and the rule information send signal from the rule reading circuit 203-1. The rule information send signal is a signal indicating whether or not the rule information has been transmitted. The comparison circuit 202 compares the received packet information with the rule information. The comparison circuit 202 compares the rule information stored in the rule storage unit 207 with the received packet information, and sends a rule information ack signal to the first rule reading circuit 203-1. The rule information ack signal is a signal indicating whether or not the comparison processing between the received packet information and one rule information is completed.
For all rule information stored in the rule storage unit 207-1, the rule number (priority rule number) having the highest priority among the rule numbers in which the received packet information matches the rule information is determined. When all the rules and the comparison process are completed, the reception packet information ack signal is transmitted to the reception packet information distribution unit 201. The rule information send signal and the rule information ack signal are 1-bit signals, but any number of bits may be used.

第2ステージの比較回路202−2は、第2ステージにおいて比較処理が完了している場合は、第1ステージの比較回路202−1へ受信パケット情報ack信号を送り、第2ルール読出し回路203−2へルール情報ack信号を送る。その後、第2ステージの比較回路202−2は、第1ステージの比較回路202−1から受信パケット情報とパケット情報send信号と優先ルール番号とを受け取り、ルール読出し回路203−2からルール情報とルール情報send信号とを受け取る。第2ステージの比較回路202−2も第1ステージの比較回路202−1と同様に、第2ステージのルール情報と受信パケット情報とを比較し、受信パケット情報と第2ステージの全てのルール情報との比較が終了後、検索結果となる優先ルール番号を生成する。その後、前段の第1ステージの比較回路202−1に受信パケット情報ack信号を送る。
第3ステージの比較回路202−3は、第2ステージの比較回路202−2と同様の動作を行うため、ここでの説明を省略する。
When the comparison process has been completed in the second stage, the second stage comparison circuit 202-2 sends the received packet information ack signal to the first stage comparison circuit 202-1, and the second rule readout circuit 203- 2 sends a rule information ack signal. Thereafter, the second stage comparison circuit 202-2 receives the received packet information, the packet information send signal, and the priority rule number from the first stage comparison circuit 202-1, and the rule information and the rule from the rule reading circuit 203-2. An information send signal is received. Similarly to the first stage comparison circuit 202-1, the second stage comparison circuit 202-2 compares the second stage rule information with the received packet information, and receives the packet information and all the second stage rule information. After the comparison with is completed, a priority rule number as a search result is generated. Thereafter, the reception packet information ack signal is sent to the first-stage comparison circuit 202-1 of the preceding stage.
Since the comparison circuit 202-3 of the third stage performs the same operation as the comparison circuit 202-2 of the second stage, description thereof is omitted here.

結果出力部204は、第3ステージの比較回路202−3から、第1ステージから第3ステージまでの検索結果となる優先ルール番号および受信パケット情報を受け取る。結果出力部204は、外部(ここでは、図1のQoS部106)に、第1ステージから第3ステージの優先ルール番号に対応する検索結果を出力するために、第1検索結果蓄積部205−1から第3検索結果蓄積部205−3にあらかじめ設定されている検索結果を優先ルール番号を用いて読み出し、外部に出力する。
第1ルール読出し回路203−1のルール蓄積部207−1は、検索の種別に応じた複数のルール情報を予め蓄積する。
The result output unit 204 receives the priority rule number and the received packet information that are the search results from the first stage to the third stage from the comparison circuit 202-3 of the third stage. The result output unit 204 outputs the search results corresponding to the priority rule numbers of the first stage to the third stage to the outside (here, the QoS unit 106 in FIG. 1). The search results set in advance in the first to third search result storage units 205-3 are read using the priority rule number and output to the outside.
The rule accumulation unit 207-1 of the first rule reading circuit 203-1 accumulates a plurality of rule information corresponding to the type of search in advance.

第1ルール読出し回路203−1のルール読出し部206−1は、第1ステージに属する全ての比較回路202から、比較が終了したことを示すルール情報ack信号(第2信号ともいう)を受けとった場合に、ルール蓄積部207−1からルール情報を読み出し、各比較回路202へルール情報send信号とルール情報とを送る。
ルール情報およびルール情報send信号は、同一ステージの各比較回路202へブロードキャストされるため、まだ比較処理が終了していない比較回路202へルール情報を送ることにより誤動作する可能性がある。よって、全ての比較回路202からのルール情報ack信号を受けてからルール情報を送ることで誤動作をなくすことができる。
なお、比較回路202が受信パケット情報を受けておらず、ルール情報との比較が不要である場合でも、ルール情報ack信号を出力しないことによるルール読出し部203の読み出し処理のデッドロックを回避する必要があるため、比較回路202は、受信パケット情報を受信していない場合でも、受信パケット情報を受信して比較処理をしているときと同じように、ルール情報send信号に応じてルール情報ack信号を送信する。これにより、読み出し処理のデッドロックを避けることができる。
The rule reading unit 206-1 of the first rule reading circuit 203-1 has received a rule information ack signal (also referred to as a second signal) indicating that the comparison has been completed from all the comparison circuits 202 belonging to the first stage. In this case, the rule information is read from the rule storage unit 207-1 and the rule information send signal and the rule information are sent to each comparison circuit 202.
Since the rule information and the rule information send signal are broadcast to each comparison circuit 202 in the same stage, there is a possibility of malfunction by sending the rule information to the comparison circuit 202 for which the comparison process has not been completed yet. Therefore, malfunctions can be eliminated by sending the rule information after receiving the rule information ack signal from all the comparison circuits 202.
Even when the comparison circuit 202 does not receive the received packet information and the comparison with the rule information is unnecessary, it is necessary to avoid deadlock in the reading process of the rule reading unit 203 by not outputting the rule information ack signal. Therefore, even when the received packet information is not received, the comparison circuit 202 receives the received packet information and performs the comparison process, and the rule information ack signal is generated according to the rule information send signal. Send. Thereby, a deadlock of the reading process can be avoided.

なお、第2ルール読出し部206−2および第3ルール読出し部206−3、第2ルール蓄積部207−2および第3ルール蓄積部207−3については、ルール蓄積部207に格納されるルール情報が違うこと以外は第1ルール読出し回路203−1と同様の動作を行うため、詳細な説明は省略する。   For the second rule reading unit 206-2 and the third rule reading unit 206-3, the second rule accumulating unit 207-2 and the third rule accumulating unit 207-3, rule information stored in the rule accumulating unit 207 Since the operation is the same as that of the first rule reading circuit 203-1, except for the difference, detailed description is omitted.

次に、比較回路202について図3のブロック図を参照して説明する。
比較回路202は、比較回路制御部301、カウンタ302、比較部303、第1レジスタ304、第2レジスタ305、第3レジスタ306、第4レジスタ307、第1遅延素子308、第2遅延素子309、第1C素子310、第2C素子311およびORゲート312を含む。また、比較部303以外の部分を比較回路制御部と呼んでもよい。
Next, the comparison circuit 202 will be described with reference to the block diagram of FIG.
The comparison circuit 202 includes a comparison circuit control unit 301, a counter 302, a comparison unit 303, a first register 304, a second register 305, a third register 306, a fourth register 307, a first delay element 308, a second delay element 309, A first C element 310, a second C element 311 and an OR gate 312 are included. Further, a part other than the comparison unit 303 may be called a comparison circuit control unit.

第1遅延素子308は、受信パケット情報send信号を受け取って、回路動作が不安定にならない程度に小さい遅延させ、比較回路制御部301からの出力(out0)と合わせてORゲート312に同時に入力されるようにする。
第2遅延素子309は、比較回路制御部301、カウンタ302、比較部303の中で最も処理遅延の大きい遅延量に合わせ、処理後の値の確定を保証する。
The first delay element 308 receives the received packet information send signal, delays it so small that the circuit operation does not become unstable, and simultaneously inputs it to the OR gate 312 together with the output (out0) from the comparison circuit control unit 301. So that
The second delay element 309 ensures the final value after processing according to the delay amount having the largest processing delay among the comparison circuit control unit 301, the counter 302, and the comparison unit 303.

第1C素子310は、受信した受信パケット情報と検索結果の優先ルール番号とを後段のステージに送るため、データ保持を行うラッチ信号を生成し、第4レジスタ307へ送るとともに、受信パケット情報send信号と受信パケット情報ack信号とを制御する。なお、C素子は、レジスタと対に設置される一般的な制御回路であり、C素子の動作は図8に後述するような一般的な動作を行うためここでの説明は省略する。
第2C素子311は、比較回路制御部301、カウンタ302、比較部303の出力にそれぞれ接続されている、第1レジスタ304、第2レジスタ305および第3レジスタ306へのラッチ信号を生成するとともに、ルール情報send信号およびルール情報ack信号を制御する。これにより、比較回路制御部301、カウンタ302および比較部303は、第2C素子311で送受されるルール情報send信号およびルール情報ack信号に同期して動作する。
The first C element 310 generates a latch signal for holding data in order to send the received received packet information and the priority rule number of the search result to a subsequent stage, and sends the latch signal to the fourth register 307 and also receives the received packet information send signal. And the received packet information ack signal. The C element is a general control circuit installed in a pair with the register, and the operation of the C element is a general operation as described later in FIG.
The second C element 311 generates latch signals to the first register 304, the second register 305, and the third register 306, which are connected to the outputs of the comparison circuit control unit 301, the counter 302, and the comparison unit 303, respectively. The rule information send signal and the rule information ack signal are controlled. Thereby, the comparison circuit control unit 301, the counter 302, and the comparison unit 303 operate in synchronization with the rule information send signal and the rule information ack signal transmitted and received by the second C element 311.

第1レジスタ304は、後述する比較回路制御部301からステートマシンの状態を示す状態情報を受け取って保持し、再び比較回路制御部301へ出力するとともにカウンタ302および比較部303へ出力する。
第2レジスタ305は、カウンタ302からの出力であるカウンタ値を保持し、再びカウンタ302へ出力するとともに、比較回路制御部301へカウンタ値を出力する。
第3レジスタ306は、比較部303からの出力(優先ルール番号や優先度)を保持し、再び比較部303へ出力する。
第4レジスタ307は、第3レジスタ306から検索結果となる優先ルール番号を、受信パケット情報振分け部201または前ステージの比較回路202から受信パケット情報をそれぞれ受け取って値を保持し、優先ルール番号と受信パケット情報とを出力する。第2ステージ以降の比較部303である場合は、第4レジスタ307では、受信パケット情報と前ステージの検索結果である優先ルール番号とをあわせて受け取り、前ステージの優先ルール番号とともに、比較部303で処理を完了した優先ルール番号と受信パケット情報とを、後のステージへ出力する。
The first register 304 receives and holds state information indicating the state of the state machine from the comparison circuit control unit 301 described later, and outputs the information to the comparison circuit control unit 301 again and to the counter 302 and the comparison unit 303.
The second register 305 holds the counter value, which is an output from the counter 302, and outputs it again to the counter 302 and outputs the counter value to the comparison circuit control unit 301.
The third register 306 holds the output (priority rule number and priority) from the comparison unit 303 and outputs it to the comparison unit 303 again.
The fourth register 307 receives the priority rule number that is the search result from the third register 306, receives the received packet information from the received packet information distribution unit 201 or the comparison circuit 202 of the previous stage, holds the value, and stores the priority rule number and Received packet information is output. In the case of the comparison unit 303 after the second stage, the fourth register 307 receives the received packet information together with the priority rule number that is the search result of the previous stage, and compares it with the priority rule number of the previous stage. The priority rule number and the received packet information for which the processing is completed are output to the subsequent stage.

比較回路制御部301は、レジスタ304と合わせてステートマシンを形成し、ルール情報send信号およびルール情報ack信号に同期して動作する。このステートマシンは、図3の示すプログラムのように、状態「Idle」、「ST1」および「ST2」の3つの状態情報を生成する。比較回路制御部301は、動作が開始すると初期状態である状態「Idle」から状態「ST1」へと移行する。状態「ST1」では、ダウンカウントされるカウンタ302のカウンタ値を参照して、カウンタ値が0となったとき、状態「ST2」に遷移する。状態「ST2」では、処理が終了すると状態「Idle」となる。なお、図3に示すステートマシンの状態遷移のプログラムの記述は一例であり、これに限らずこのような動作を行うステートマシンであればよい。   The comparison circuit control unit 301 forms a state machine together with the register 304, and operates in synchronization with the rule information send signal and the rule information ack signal. This state machine generates three pieces of state information of states “Idle”, “ST1”, and “ST2” as in the program shown in FIG. When the operation starts, the comparison circuit control unit 301 shifts from the initial state “Idle” to the state “ST1”. In the state “ST1”, referring to the counter value of the counter 302 to be counted down, when the counter value becomes 0, the state transits to the state “ST2”. In the state “ST2”, the state is “Idle” when the process is completed. The description of the state machine state transition program shown in FIG. 3 is merely an example, and the state machine is not limited to this and may be any state machine that performs such operations.

カウンタ302は、レジスタ305と合わせてカウンタ動作を行い、比較回路制御部301から状態情報を受け取り、比較回路制御部301(実際はレジスタ304の出力)が状態「Idle」の場合、レジスタ305の初期値を保持するように動作する。ここでは、カウンタ値の初期値は、ルール蓄積部207に蓄えられているルール情報の数とするが任意の値でもよい。比較回路制御部301(レジスタ304の出力)が状態「ST1」の場合、ダウンカウントする。レジスタ305の値が「0」となると比較回路制御部301の状態が「ST2」に遷移し、状態「ST2」の場合、状態「Idle」と同様に初期値を設定する。
比較部303は、ルール読出し部206からルール情報を、受信パケット情報振分け部201または前ステージの比較回路202から受信パケット情報を、比較回路制御部301から状態情報を、およびレジスタ306の出力をそれぞれ受け取る。比較部303は、ルール情報と受信パケット情報とを比較し、優先ルール番号と優先度を出力する。具体的な動作については、図5を参照して後述する。
The counter 302 performs a counter operation together with the register 305, receives state information from the comparison circuit control unit 301, and when the comparison circuit control unit 301 (actually, the output of the register 304) is in the state “Idle”, the initial value of the register 305 Work to hold. Here, the initial value of the counter value is the number of rule information stored in the rule storage unit 207, but may be an arbitrary value. When the comparison circuit control unit 301 (output of the register 304) is in the state “ST1”, it is counted down. When the value of the register 305 becomes “0”, the state of the comparison circuit control unit 301 transitions to “ST2”, and in the case of the state “ST2”, an initial value is set as in the state “Idle”.
The comparison unit 303 receives the rule information from the rule reading unit 206, the reception packet information from the reception packet information distribution unit 201 or the comparison circuit 202 of the previous stage, the status information from the comparison circuit control unit 301, and the output of the register 306, respectively. receive. The comparison unit 303 compares the rule information and the received packet information, and outputs a priority rule number and a priority. Specific operations will be described later with reference to FIG.

次に、比較回路202の動作の具体例に関するタイミングチャートについて図4を参照して説明する。なお、図4は、各信号の出力が時系列で示され、受信パケット情報send信号を受信したときのタイミングチャートを示す。また、図4に示すそれぞれの信号は、図3の同一符号の信号に対応している。
ステップS401では、受信パケット情報send信号が入力されたとき、すなわち受信パケット情報send信号が「0」となったときに動作を開始し、比較回路制御部301が状態「Idle」から状態「ST1」に遷移する。
ステップS402では、比較回路制御部301の状態が「ST1」に遷移したことにより、比較部303の比較部出力360がクリアされ、カウンタ302の初期値がセットされる。ここでは、カウンタ出力358が、「127」となる。
Next, a timing chart regarding a specific example of the operation of the comparison circuit 202 will be described with reference to FIG. FIG. 4 shows a timing chart when the output of each signal is shown in time series and the received packet information send signal is received. Further, each signal shown in FIG. 4 corresponds to the signal of the same reference numeral in FIG.
In step S401, when the received packet information send signal is input, that is, when the received packet information send signal is “0”, the operation starts, and the comparison circuit control unit 301 changes from the state “Idle” to the state “ST1”. Transition to.
In step S402, the comparison unit output 360 of the comparison unit 303 is cleared and the initial value of the counter 302 is set because the state of the comparison circuit control unit 301 transitions to “ST1”. Here, the counter output 358 is “127”.

ステップS403では、比較部303が、ルール情報ごとに、ルール情報と受信パケット情報とを比較する。このとき、第2C素子311では、ルール情報send信号が「0」となり、これに伴い、ルール情報ack信号が「0」となり、第2C素子311にルール情報send信号を送出したC素子がそのルール情報ack信号を受信し、ルール情報send信号を「1」にし、それが遅延素子で遅延された後、第2C素子311のルール情報send信号が「1」になったとき、ラッチ信号が生成され、これに伴いルール情報ack信号が「1」となったときラッチ信号が立ち下がる。またこの際、カウンタの値が1ずつダウンカウントされる。なお、本実施形態では、128個のルール情報があるので128回の比較が行われることになる。
ステップS404では、128回の比較が行われて、カウンタレジスタ出力359が「0」となった場合に、比較回路制御部301の状態が「ST1」から「ST2」に遷移する。
ステップS405では、比較回路制御部301の状態「ST2」では、out0信号が「0」となる。out0信号と受信パケット情報send信号とが入力されたORゲート312から、受信パケット情報send信号362が「0」となって第1C素子310に送られる。その後、第1C素子310において、受信パケット情報send信号354が「0」となる。
In step S403, the comparison unit 303 compares the rule information with the received packet information for each rule information. At this time, in the second C element 311, the rule information send signal becomes “0”, and accordingly, the rule information ack signal becomes “0”, and the C element that sent the rule information send signal to the second C element 311 has its rule. When the information ack signal is received, the rule information send signal is set to “1”, delayed by the delay element, and then the rule information send signal of the second C element 311 becomes “1”, a latch signal is generated. Accordingly, the latch signal falls when the rule information ack signal becomes “1”. At this time, the counter value is counted down by one. In the present embodiment, since there are 128 pieces of rule information, 128 comparisons are made.
In step S404, when the comparison is performed 128 times and the counter register output 359 becomes “0”, the state of the comparison circuit control unit 301 transitions from “ST1” to “ST2”.
In step S405, in the state “ST2” of the comparison circuit control unit 301, the out0 signal becomes “0”. From the OR gate 312 to which the out0 signal and the received packet information send signal are input, the received packet information send signal 362 becomes “0” and is sent to the first C element 310. Thereafter, in the first C element 310, the received packet information send signal 354 becomes “0”.

ステップS406では、受信パケット情報send信号362の入力が「0」であり、受信パケット情報ack信号の入力(図示せず)が「1」である場合、第1C素子310は、出力である受信パケット情報ack信号363を「0」とし、前のステージに受信パケット情報send信号を受け取ったことを通知する。
ステップS407では、前のステージからの受信パケット情報send信号354が「1」となり、その信号が第1C素子310で受信されると、第1C素子310は、ラッチ信号を生成し、受信パケット情報と優先ルール番号とが第4レジスタ307に保持され、比較部レジスタ出力361となる。ここでは、ルール番号「13」であるルール情報が優先ルール番号として選択される例を示す。
ステップS408では、一連のハンドシェイクを終了するため、第1C素子310は、受信パケット情報ack信号363を「1」にして、前のステージの比較回路に処理が終了したことを通知する。
比較部303は、以上のステップを新たな受信パケット情報を受け取るたびに繰り返し行う。
In step S406, when the input of the received packet information send signal 362 is “0” and the input (not shown) of the received packet information ack signal is “1”, the first C element 310 receives the received packet as an output. The information ack signal 363 is set to “0” to notify the previous stage that the received packet information send signal has been received.
In step S407, when the received packet information send signal 354 from the previous stage becomes “1” and the signal is received by the first C element 310, the first C element 310 generates a latch signal, and the received packet information and The priority rule number is held in the fourth register 307 and becomes the comparison unit register output 361. Here, an example is shown in which the rule information with the rule number “13” is selected as the priority rule number.
In step S408, in order to end the series of handshaking, the first C element 310 sets the received packet information ack signal 363 to “1”, and notifies the comparison circuit of the previous stage that the processing has ended.
The comparison unit 303 repeats the above steps every time new received packet information is received.

次に、比較部303の詳細な動作について図5を参照して説明する。
比較部303は、パケット情報比較部501、優先度値比較部502、論理積部503、第1選択部504および第2選択部505を含む。
パケット情報比較部501は、受信パケット情報振分け部201または前のステージの比較回路202から受信パケット情報を、ルール読出し部206からルール情報をそれぞれ受け取り、受信パケット情報とルール情報中の比較情報とを比較して一致するかどうかを判定する。パケット情報比較部501は、受信パケット情報が一致する場合には、「1」を出力し、受信パケット情報が一致しない場合には、「0」を出力する。
優先度値比較部502は、ルール読出し回路203からルール情報中の優先度値を、優先度レジスタからの出力をそれぞれ受け取り、優先度レジスタ値と優先度値とを比較する。優先度レジスタ値が優先度値よりも大きい(優先度値の方が優先度レジスタ値よりも優先度が高い)場合は、「1」を出力し、優先度レジスタ値が優先度値以下である場合は、「0」を出力する。
Next, the detailed operation of the comparison unit 303 will be described with reference to FIG.
The comparison unit 303 includes a packet information comparison unit 501, a priority value comparison unit 502, a logical product unit 503, a first selection unit 504, and a second selection unit 505.
The packet information comparison unit 501 receives the received packet information from the received packet information distribution unit 201 or the comparison circuit 202 of the previous stage, and the rule information from the rule reading unit 206, and receives the received packet information and the comparison information in the rule information. Compare to determine whether they match. The packet information comparison unit 501 outputs “1” when the received packet information matches, and outputs “0” when the received packet information does not match.
The priority value comparison unit 502 receives the priority value in the rule information from the rule readout circuit 203 and the output from the priority register, and compares the priority register value with the priority value. When the priority register value is larger than the priority value (the priority value is higher in priority than the priority register value), “1” is output, and the priority register value is equal to or lower than the priority value. In this case, “0” is output.

論理積503は、パケット情報比較部501からの出力と優先度値比較部502からの出力とを受け取り、これらを論理積して1ビットの更新信号を生成する。比較回路制御部301の状態「ST1」の場合、受信パケット情報とルール情報とが一致し、かつ優先度値が優先度レジスタ値より優先(優先値が小さい)である場合、すわなち、パケット情報比較部501および優先度値比較部502の値が共に「1」である場合、論理積部503は、値が「1」である更新信号を生成する。パケット情報比較部501および優先度値比較部502の出力がどちらか少なくとも「0」である場合は、論理積部503は、値が「0」である更新番号が生成される。
第1選択部504は、比較回路制御部301の状態が「Idle」の場合、ルール番号初期値を設定する。更新信号が「0」である場合は、第1選択部504において「1」が選択され、番号レジスタ値はそのまま保持される。更新信号が「1」である場合は、第1選択部504において「2」が選択され、番号レジスタ値が受け取った新たなルール番号で書き換えられる。
The logical product 503 receives the output from the packet information comparison unit 501 and the output from the priority value comparison unit 502 and performs a logical product to generate a 1-bit update signal. In the case of the state “ST1” of the comparison circuit control unit 301, if the received packet information matches the rule information, and the priority value is higher than the priority register value (the priority value is smaller), that is, the packet When the values of the information comparison unit 501 and the priority value comparison unit 502 are both “1”, the logical product unit 503 generates an update signal whose value is “1”. If either of the outputs of the packet information comparison unit 501 and the priority value comparison unit 502 is at least “0”, the logical product unit 503 generates an update number whose value is “0”.
The first selection unit 504 sets the rule number initial value when the state of the comparison circuit control unit 301 is “Idle”. When the update signal is “0”, “1” is selected in the first selection unit 504, and the number register value is held as it is. When the update signal is “1”, “2” is selected in the first selection unit 504, and the number register value is rewritten with the received new rule number.

第2選択部505は、比較回路制御部301の状態が「Idle」の場合、優先度初期値を設定する。更新信号が「0」である場合は、第2選択部505において「1」が選択され、優先度レジスタ値はそのまま保持される。更新信号が「1」である場合は、第2選択部505において「2」が選択され、優先度レジスタ値が受け取った新たな優先度値で書き換えられる。
以上の処理を全てのルール情報について比較し、全てのルール情報について完了した場合、受信パケット情報がルール情報に一致し、かつ最も優先度の高いルール番号を有する優先ルール番号を得ることができる。比較回路制御部301の状態が「ST2」の場合、次のステージに比較回路202の検索結果となるルール番号を保持し続ける。
なお、優先度レジスタおよび番号レジスタは、値を保持できる記憶素子であればよく、本実施形態では、第3レジスタ306のことである。
The second selection unit 505 sets an initial priority value when the state of the comparison circuit control unit 301 is “Idle”. When the update signal is “0”, “1” is selected by the second selection unit 505, and the priority register value is held as it is. When the update signal is “1”, “2” is selected in the second selection unit 505, and the priority register value is rewritten with the received new priority value.
When the above processing is compared for all rule information and completed for all rule information, it is possible to obtain a priority rule number having the highest priority rule number in which the received packet information matches the rule information. When the state of the comparison circuit control unit 301 is “ST2”, the rule number that is the search result of the comparison circuit 202 is continuously held in the next stage.
Note that the priority register and the number register may be storage elements that can hold values, and in the present embodiment, are the third registers 306.

次に、ルール読出し部206およびルール蓄積部207の一例について図6を参照して説明する。
ルール読出し部206は、有限ステートマシン601(以下、FSM(Finite State Machine))、ANDゲート602、第1C素子(C1)603、第2C素子(C2−0、C2−1、C2−N)604、マージ回路605、および遅延素子(D2)606を含む。なお、Nは2以上の自然数である。
Next, an example of the rule reading unit 206 and the rule storage unit 207 will be described with reference to FIG.
The rule reading unit 206 includes a finite state machine 601 (hereinafter, FSM (Finite State Machine)), an AND gate 602, a first C element (C1) 603, a second C element (C2-0, C2-1, C2-N) 604. , A merge circuit 605, and a delay element (D2) 606. N is a natural number of 2 or more.

ルール蓄積部207は、インクリメント素子651、アドレスレジスタ652、およびSRAM653を含む。
ANDゲート602は、受信パケット情報send信号を論理積する。
FSM601は、各比較回路202から「0」である受信パケット情報send信号を受け取ることにより動作を開始する。本回路は、複数の比較回路202のうち1つでも受信パケット情報を受け取ったとき、つまり「0」である受信パケット情報send信号を1つでも受け取ったときに動作を開始する必要があるため、各比較回路202からの受信パケット情報send信号は、ANDゲート602により論理積されてFSM601に入力される。これにより、FSM601は、いずれか1つでも受信パケット情報を受け取った比較回路202があることを認識することができる。
Rule accumulation unit 207 includes an increment element 651, an address register 652, and an SRAM 653.
The AND gate 602 performs an AND operation on the received packet information send signal.
The FSM 601 starts its operation by receiving the received packet information send signal which is “0” from each comparison circuit 202. This circuit needs to start operation when any one of the plurality of comparison circuits 202 receives received packet information, that is, when any received packet information send signal that is “0” is received. The received packet information send signal from each comparison circuit 202 is ANDed by the AND gate 602 and input to the FSM 601. Thereby, the FSM 601 can recognize that any one of the comparison circuits 202 has received the received packet information.

第1C素子603は、第2C素子604(C2−0、C2−1、C2−N)のルール情報ack信号がマージされた信号を受け取る。そして、第1C素子603は、第2C素子604(C2−0からC2−Nまで)のマージされたルール情報ack信号が1のとき、すなわち、前回第2C素子が制御するレジスタに送出したルール情報が各比較回路202へ送出完了し、比較処理が完了し第2C素子が次のルール情報を受け入れ可能になった場合、key_ackを「1」にし、送信要求を受け入れられることをFSM601へ送る。「1」のkey_ackを受けたFSM601により「0」となり、FSMと第1C素子との間のハンドシェイクにより、key_reqが「1」、key_ackが「0」を受けた第1C素子603は、ルール蓄積部207のアドレスレジスタ652の値を更新または保持するためのラッチ信号をアドレスレジスタ652へ送る。   The first C element 603 receives a signal obtained by merging the rule information ack signals of the second C element 604 (C2-0, C2-1, C2-N). When the merged rule information ack signal of the second C element 604 (from C2-0 to C2-N) is 1, that is, the first C element 603, that is, the rule information sent to the register controlled by the second C element last time When the comparison process is completed and the second C element becomes able to accept the next rule information, the key_ack is set to “1”, and the fact that the transmission request can be accepted is sent to the FSM 601. The FSM 601 that receives the key_ack of “1” becomes “0” by the FSM 601, and the first C element 603 that receives the key_req of “1” and the key_ack of “0” by the handshake between the FSM and the first C element stores the rule. A latch signal for updating or holding the value of the address register 652 of the unit 207 is sent to the address register 652.

第2C素子604(C2−0からC2−N)は、それぞれが接続される比較回路202からのルール情報ack信号が「1」の場合、すなわち各々の比較回路202において先に送ったルール情報と受信パケット情報との比較が完了している場合に、遅延素子D2により遅延させられたC1のsend信号が「0」すなわち、各比較回路へのルール情報送信要求があった場合、ルール情報ack信号を「0」にして、send信号を受け取ったことをマージ回路605を介してC1に送る。また、ハンドシェイクにより「1」となったルール情報send信号を受信した各第2C素子604は、ルール蓄積部207から読み出したルール情報をレジスタに蓄積または保存するためのラッチ信号を生成する。これと同時に、各比較回路202に対して新たなルール情報で比較を開始させるために、ルール情報send信号を各比較回路202に送る。   When the rule information ack signal from the comparison circuit 202 to which each of the second C elements 604 (C2-0 to C2-N) is “1”, that is, the rule information sent earlier in each comparison circuit 202, When the comparison with the received packet information is completed, the send signal of C1 delayed by the delay element D2 is “0”, that is, when there is a rule information transmission request to each comparison circuit, the rule information ack signal Is set to “0” and the fact that the send signal has been received is sent to C1 via the merge circuit 605. In addition, each second C element 604 that has received the rule information send signal that has become “1” by the handshake generates a latch signal for storing or storing the rule information read from the rule storage unit 207 in the register. At the same time, a rule information send signal is sent to each comparison circuit 202 to cause each comparison circuit 202 to start comparison with new rule information.

マージ回路605は、例えば、MullerのC素子であり、第2C素子604のルール情報ack信号をマージする。MullerのC素子を用いる理由は、複数入力されるルール情報ack信号の中で、最後に立ち下がった(1から0への遷移)信号に合わせて出力を立ち下げ、最後に立ち上がった(0から1への遷移)信号に合わせて出力を立ち上げるためである。つまり、第2C素子のC2−0からC2−Nが受け取ったルール情報ack信号うち、どのack出力が遅くなるのかわからないのでMullerのC素子を用いることが望ましい。マージされたルール情報ack信号は、C2−0からC2−Nのack出力の中で最も遅いルール情報ack信号に合わせることができるので、全ての比較回路が1つのルール情報と受信パケット情報との比較を完了したことを保証して次のルール情報を各比較回路に送ることができ、誤動作をなくすことができる。
遅延素子(D2)606は、ルール蓄積部207のメモリアクセス遅延にあわせた遅延量を加えて第2C素子604へ送る。
インクリメント素子651は、アドレスレジスタ652の値を1つインクリメントする。
アドレスレジスタ652は、インクリメント素子651により更新の度にアドレスがインクリメントされるので、本動作を繰り返すことにより、SRAM653に記憶されるルール情報を順次変更することができる。
SRAM653は、複数のルール情報が記憶されるメモリであり、インクリメントされたアドレスレジスタ651の値に応じた次のルール番号となるアドレス値のルール情報を出力する。
The merge circuit 605 is, for example, a Muller C element, and merges the rule information ack signal of the second C element 604. The reason why the Muller C element is used is that, among the plural rule information ack signals inputted, the output is lowered in accordance with the signal that has fallen last (transition from 1 to 0), and finally rises (from 0 This is to raise the output in accordance with the signal. That is, among the rule information ack signals received from C2-0 to C2-N of the second C element, it is desirable to use the Muller C element because it is not known which ack output is delayed. Since the merged rule information ack signal can be matched with the slowest rule information ack signal among the ack outputs from C2-0 to C2-N, all the comparison circuits have one rule information and received packet information. It is possible to guarantee that the comparison has been completed and send the next rule information to each comparison circuit, thereby eliminating malfunctions.
The delay element (D2) 606 adds a delay amount in accordance with the memory access delay of the rule storage unit 207 and sends it to the second C element 604.
The increment element 651 increments the value of the address register 652 by one.
Since the address register 652 increments the address every time it is updated by the increment element 651, the rule information stored in the SRAM 653 can be sequentially changed by repeating this operation.
The SRAM 653 is a memory that stores a plurality of rule information, and outputs rule information of an address value that becomes a next rule number corresponding to the incremented value of the address register 651.

次に、ルール読出し部206におけるFSM601の状態について図7を参照して説明する。
図7はFSM601の状態遷移図を示し、「Idle」、「req_L」および「req_H」の3つの状態が存在する。
状態「Idle」において、ルール情報send信号およびルール情報ack信号ともに1である場合で、かつ、いずれかの比較回路202からの検索要求がある場合(すなわち、受信パケット情報send信号が「0」(search_reqが「0」)となった場合)、状態「req_L」に遷移する(ステップS701)。FSM601の状態が状態「Req_L」に遷移した場合、ルール情報を送るためにルール情報send信号を「0」にする(key_reqを0にする)。次段は読み出しアドレスを生成する回路となっており、前回の読み出しアドレス生成が終了している場合、すぐにack信号を返す(key_ackが0)。FSM601におけるkey_reqおよびkey_ackがともに0となるため、状態が「req_H」に遷移する(ステップS702)。状態「req_H」では、ルール情報send信号を1にし、ルール情報ack信号が1になるタイミングを監視し、さらに、search_reqの状態により、状態「Idle」に遷移するか(ステップS703)、状態「req_L」に遷移し(ステップS704)、次のルール番号(読み出しアドレス)となるルール情報を送るため、ルール情報send信号を0にする(key_reqを0にする)。「Req_L」、「req_H」の繰り返しにより次々と読み出しアドレスを生成する。但し、受信パケットsend信号が「1」(search_reqが「1」)であり、どの比較回路202においても比較処理を行わないような場合には、状態「Idle」に戻り、次の検索要求が来るまでルール情報の送出を停止する。これによって、無駄な電力消費を押さえることができる。
Next, the state of the FSM 601 in the rule reading unit 206 will be described with reference to FIG.
FIG. 7 shows a state transition diagram of the FSM 601, and there are three states “Idle”, “req_L”, and “req_H”.
In the state “Idle”, when both the rule information send signal and the rule information ack signal are 1 and there is a search request from any of the comparison circuits 202 (that is, the received packet information send signal is “0” ( When search_req becomes “0”), the state transitions to “req_L” (step S701). When the state of the FSM 601 transitions to the state “Req_L”, the rule information send signal is set to “0” (key_req is set to 0) in order to send the rule information. The next stage is a circuit for generating a read address. When the previous read address generation is completed, an ack signal is immediately returned (key_ack is 0). Since key_req and key_ack in FSM 601 are both 0, the state transitions to “req_H” (step S702). In the state “req_H”, the rule information send signal is set to 1, the timing at which the rule information ack signal becomes 1 is monitored, and the state “req_L” is changed depending on the state of the search_req (step S703). ”(Step S704), the rule information send signal is set to 0 (key_req is set to 0) in order to send the rule information to be the next rule number (read address). Read addresses are generated one after another by repeating “Req_L” and “req_H”. However, when the received packet send signal is “1” (search_req is “1”) and no comparison processing is performed in any of the comparison circuits 202, the state returns to the state “Idle” and the next search request is received. Until it stops sending rule information. Thereby, useless power consumption can be suppressed.

ここで、一般的な非同期回路の一例である、一線式束データ方式の非同期回路ブロックと各信号のタイミングチャートを図8に示す。図8上側は、一般的な非同期回路のブロック図の一例を示し、図8下側は、図8上側のブロック図におけるタイミングチャートを示す。
非同期回路は、同期回路のように各レジスタに供給されるクロック信号に代わり、レジスタと対に置かれるC素子間のハンドシェイクによってレジスタのラッチ信号を生成して、処理を行う。レジスタに供給されるラッチ信号がすぐ近くに配置される制御回路から供給される点と、データが入力されない場合は制御回路間のハンドシェイクが発生せずラッチ信号も生成されない点から、非同期回路のほうが、クロック信号を用いた同期回路の電力消費よりも電力消費が少なく、大幅に削減することができる。
Here, FIG. 8 shows a one-wire bundle data type asynchronous circuit block which is an example of a general asynchronous circuit and a timing chart of each signal. The upper part of FIG. 8 shows an example of a block diagram of a general asynchronous circuit, and the lower part of FIG. 8 shows a timing chart in the block diagram of the upper part of FIG.
The asynchronous circuit performs processing by generating a latch signal of the register by handshaking between the C elements placed in a pair with the register instead of the clock signal supplied to each register as in the synchronous circuit. Since the latch signal supplied to the register is supplied from the control circuit arranged in the immediate vicinity, and when no data is input, the handshake between the control circuits does not occur and the latch signal is not generated. However, the power consumption is lower than that of the synchronous circuit using the clock signal, and the power consumption can be greatly reduced.

以下、基本的な束データ方式の非同期回路とC素子の動作タイミングとについて説明する。
i−1ステージからの送信要求を受け取るとiステージでの処理が開始される。はじめに、send i outが0となり(ステップS1)、delay時間経過後send i inが0となる(ステップS2)。そのときのack i+1 inが1なので、送信要求を受け取ったことを伝えるべく、ack i outを0とする(ステップS3)。このとき、ack i inも0となる(ステップS4)。それと同時に、send i+1 outを0にする(ステップS5)。ack i in信号は0となっているので、send i outが1となる(ステップS806)。続いて、send i inは、delay時間遅延して1になる(ステップS7)。このタイミングでラッチまたはレジスタにおいてデータの更新または保持を行うために、clk iが立ち上がる(ステップS8)。その後ack i outは、1に変わり(ステップS9)、clk iをたち下げる。このとき、ack i inも1となる(ステップS10)。以上によりデータパスの信号伝播(処理)が制御される。
Hereinafter, the basic bundle data type asynchronous circuit and the operation timing of the C element will be described.
When a transmission request from the i-1 stage is received, processing at the i stage is started. First, send i out becomes 0 (step S1), and send i in becomes 0 after the delay time elapses (step S2). Since ack i + 1 in at that time is 1, ack i out is set to 0 to notify that the transmission request has been received (step S3). At this time, ack i in is also 0 (step S4). At the same time, send i + 1 out is set to 0 (step S5). Since the ack i in signal is 0, send i out is 1 (step S806). Subsequently, send i in becomes 1 after delay time (step S7). In order to update or hold data in the latch or register at this timing, clk i rises (step S8). Thereafter, ack i out changes to 1 (step S9), and clk i is lowered. At this time, ack i in is also 1 (step S10). Thus, signal propagation (processing) of the data path is controlled.

続いて、send i outを0にして次のデータ処理を開始しようとする場合(ステップS13)、delay時間遅れて、send i inが1になる(ステップS14)。このとき、send i+1 outは1であり(ステップS12)、次のステージからのack i+1 inは0であるため(ステップS11)、次段で先ほどのデータ伝播(処理)が完了していないことがわかる。そのため、ack i+1 inが1になるまで、ack i outを0にするのを待つ。ack i+1 inが1になり(ステップS15)、その後ack i outが0となり(ステップS16)、データ処理が完了したことが通知されたときに、send i+1 outを0にして(ステップS17)、次段にデータを転送する。その後は同様の動作を行えばよい。   Subsequently, when sending i out is set to 0 and the next data processing is to be started (step S13), send i in becomes 1 after delay time (step S14). At this time, since send i + 1 out is 1 (step S12) and ack i + 1 in from the next stage is 0 (step S11), the previous data propagation (processing) may not be completed in the next stage. Recognize. Therefore, it waits until ack i out becomes 0 until ack i + 1 in becomes 1. ack i + 1 in becomes 1 (step S15), then ack i out becomes 0 (step S16), and when it is notified that the data processing is completed, send i + 1 out is set to 0 (step S17). Transfer data to the stage. Thereafter, the same operation may be performed.

以上に示した本実施形態に係る非同期動作検索回路によれば、クロック信号を必要とせずにハンドシェイクにより制御を行うことができるので、同期回路よりも大幅に低い消費電力で検索回路を動作させることができる。また、全ての比較回路からのack信号を受信してから次のルール情報を送ることで、誤動作することがなく正確な検索処理を行うことができる。さらに、ステージごとに全てのルール情報と比較完了してから検索結果を出力することにより、正確な検索処理を行うことができる。よって、処理性能が高く低消費電力で検索処理を行うことができる。   According to the asynchronous operation search circuit according to the present embodiment described above, control can be performed by handshaking without the need for a clock signal, so that the search circuit is operated with significantly lower power consumption than the synchronous circuit. be able to. In addition, by receiving the ack signal from all the comparison circuits and then sending the next rule information, an accurate search process can be performed without malfunction. Furthermore, accurate search processing can be performed by outputting a search result after completing comparison with all rule information for each stage. Therefore, the search process can be performed with high processing performance and low power consumption.

要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。   In short, the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Further, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine suitably the component covering different embodiment.

100・・・パケット処理回路、101,108・・・ネットワークインターフェース、102・・・パーサ、103・・・フレームコントローラ、104・・・バッファメモリ、105・・・非同期検索回路、106・・・QoS部、107・・・フレーム生成部、108・・・ネットワークインターフェース、201・・・受信パケット振分け部、202−1,202−2,202−3・・・比較回路、203・・・ルール読出し回路、204・・・結果出力部、205・・・検索結果蓄積部、206・・・ルール読出し部、207・・・ルール蓄積部、301・・・比較回路制御部、302・・・カウンタ、303・・・比較部、304,305,306,307・・・レジスタ、308,309・・・遅延素子、310,311,603,604・・・C素子、312・・・ORゲート、501・・・パケット情報比較部、502・・・優先度値比較部、503・・・論理積部、504,505・・・選択部、601・・・有限ステートマシン(FSM)、602・・・ANDゲート、605・・・マージ回路、651・・・アドレスレジスタ、652・・・SRAM、653・・・インクリメント素子。 DESCRIPTION OF SYMBOLS 100 ... Packet processing circuit, 101, 108 ... Network interface, 102 ... Parser, 103 ... Frame controller, 104 ... Buffer memory, 105 ... Asynchronous search circuit, 106 ... QoS 107, frame generation unit, 108, network interface, 201, received packet distribution unit, 202-1, 202-2, 202-3, comparison circuit, 203, rule readout circuit 204 ... Result output unit 205 ... Search result storage unit 206 ... Rule read unit 207 ... Rule storage unit 301 ... Comparative circuit control unit 302 ... Counter 303 ... Comparison unit, 304,305,306,307 ... Register, 308,309 ... Delay element, 310,311,6 3,604 ... C element, 312 ... OR gate, 501 ... packet information comparison unit, 502 ... priority value comparison unit, 503 ... logical product unit, 504,505 ... selection ,..., Finite state machine (FSM), 602... AND gate, 605... Merge circuit, 651... Address register, 652.

Claims (3)

パケットの通過を許可するか否かを判定する検索種別に対応した複数のルール情報のうちの第1ルール情報と、受信したパケットに関する情報とを比較する比較部を具備し、前記比較部は複数あり、比較部ごとに受信したパケットが異なり、
比較部ごとに、複数の比較部で共通する前記第1ルール情報を受信した場合、前記比較部に比較処理をさせるように制御し、該第1ルール情報とパケットに関する情報との比較が完了した場合または該パケットを受信しなかった場合に処理が完了したことを示す第2信号を生成する比較回路制御部と、
前記複数の比較部からの全ての第2信号を受信した場合、前記第1ルール情報とは異なる第2ルール情報を読み出し、該第2ルール情報を前記複数の比較部に送信する読出し部と、をさらに具備し、
前記比較回路制御部は、前記複数のルール情報を全て受信するまで、前記比較部に順次前記比較処理を行わせ、前記第2信号を生成し、
前記読出し部は、少なくとも1つの前記比較部において該比較部に対応するパケットが受信されているときに、前記第2ルール情報を読み出し、前記比較部において比較処理が行われない場合は、ルール情報の送信を停止するように制御することを特徴とする非同期動作検索回路。
Comparing first rule information among a plurality of rule information corresponding to a search type for determining whether or not to allow a packet to pass, and information relating to the received packet, the comparison unit includes a plurality of comparison units Yes, the received packet is different for each comparison unit,
For each comparison unit, when the first rule information common to a plurality of comparison units is received, the comparison unit is controlled to perform a comparison process, and the comparison between the first rule information and the information about the packet is completed. A comparison circuit control unit that generates a second signal indicating that the processing is completed when the packet is not received, or
A reading unit that, when all the second signals from the plurality of comparison units are received, reads second rule information different from the first rule information, and transmits the second rule information to the plurality of comparison units; Further comprising
The comparison circuit control unit causes the comparison unit to sequentially perform the comparison process until all the plurality of rule information is received, and generates the second signal ,
The reading unit reads the second rule information when a packet corresponding to the comparison unit is received by at least one of the comparison units. When the comparison unit does not perform a comparison process, rule information is obtained. Asynchronous operation search circuit, characterized in that transmission is controlled to stop .
前記比較回路制御部は、前記比較部において全てのルール情報と前記パケット情報との比較が完了したのちに、前記パケット情報と一致しかつ優先度が最も高い優先ルール番号を出力するように制御することを特徴とする請求項1に記載の非同期動作検索回路。   The comparison circuit control unit controls to output a priority rule number that matches the packet information and has the highest priority after the comparison unit completes the comparison of all rule information and the packet information. The asynchronous operation search circuit according to claim 1, wherein: 前記読出し部は、少なくとも1つの前記比較部において該比較部に対応するパケットが受信されているときに、前記第2ルール情報を読み出すように制御することを特徴とする請求項1または請求項2に記載の非同期動作検索回路。   3. The control unit according to claim 1, wherein the reading unit controls the second rule information to be read when a packet corresponding to the comparison unit is received by at least one of the comparison units. Asynchronous operation search circuit described in 1.
JP2011136627A 2011-06-20 2011-06-20 Asynchronous operation search circuit Expired - Fee Related JP5639965B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011136627A JP5639965B2 (en) 2011-06-20 2011-06-20 Asynchronous operation search circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011136627A JP5639965B2 (en) 2011-06-20 2011-06-20 Asynchronous operation search circuit

Publications (2)

Publication Number Publication Date
JP2013005342A JP2013005342A (en) 2013-01-07
JP5639965B2 true JP5639965B2 (en) 2014-12-10

Family

ID=47673397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011136627A Expired - Fee Related JP5639965B2 (en) 2011-06-20 2011-06-20 Asynchronous operation search circuit

Country Status (1)

Country Link
JP (1) JP5639965B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3721880B2 (en) * 1998-10-05 2005-11-30 株式会社日立製作所 Packet relay device
JP2003256203A (en) * 2002-03-01 2003-09-10 Mitsubishi Electric Corp System and method for developing automatic machine application program, program for executing the method and storage medium stored with the program
JP4263718B2 (en) * 2005-12-16 2009-05-13 日本電信電話株式会社 Communication processing apparatus and communication processing method
JP5228600B2 (en) * 2008-04-23 2013-07-03 日本電気株式会社 Information communication device, low power consumption circuit, and power consumption reduction method used therefor

Also Published As

Publication number Publication date
JP2013005342A (en) 2013-01-07

Similar Documents

Publication Publication Date Title
US11677664B2 (en) Apparatus and method of generating lookups and making decisions for packet modifying and forwarding in a software-defined network engine
CA2375397C (en) Packet processing unit
JP4890613B2 (en) Packet switch device
US20070115974A1 (en) High speed data classification system
KR101476940B1 (en) Switch system, and data forwarding method
US20120163392A1 (en) Packet processing apparatus and method
US20080069094A1 (en) Urgent packet latency control of network on chip (NOC) apparatus and method of the same
CN109981464B (en) TCAM circuit structure realized in FPGA and matching method thereof
US8824468B2 (en) System and method for parsing frames
US20180113627A1 (en) Method of Accessing Data for a Switch by Using Sub-flow Entry Tables
JP5639965B2 (en) Asynchronous operation search circuit
US9559857B2 (en) Preprocessing unit for network data
JP5674179B1 (en) Apparatus and method for efficient network address translation and application level gateway processing
JP5788308B2 (en) Alignment circuit and receiving device
US11425036B1 (en) Pipelined match-action circuitry
US10389626B2 (en) Transfer device
WO2022222756A1 (en) Chip, data processing method, and computer device
JP5848185B2 (en) Frame search processing apparatus and method
JP5581995B2 (en) Message receiving device and microcontroller
JP2019046379A (en) Computing node device, parallel computer system, and method for controlling computing node device
US20060117114A1 (en) Staggering memory requests
JP2008165616A (en) Retrieval device and data processor
Tóthfalusi et al. Line-rate packet processing in hardware: the evolution towards 400 Gbit/s
Mattihalli et al. Intelligent Robust Router
JP2002271398A (en) Network transmission device and method of transmission

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130515

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130723

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140918

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141027

R150 Certificate of patent or registration of utility model

Ref document number: 5639965

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees