JP3795043B2 - Associative memory, search method therefor, router and network system - Google Patents
Associative memory, search method therefor, router and network system Download PDFInfo
- Publication number
- JP3795043B2 JP3795043B2 JP2003435802A JP2003435802A JP3795043B2 JP 3795043 B2 JP3795043 B2 JP 3795043B2 JP 2003435802 A JP2003435802 A JP 2003435802A JP 2003435802 A JP2003435802 A JP 2003435802A JP 3795043 B2 JP3795043 B2 JP 3795043B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- associative memory
- line
- mask
- match
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、連想メモリおよびその検索方法およびルータおよびネットワークシステムに関する。特に検索マスク機能を有する連想メモリとその検索方法およびそれを用いたルータおよびネットワークシステムに関する。 The present invention relates to an associative memory, a search method thereof, a router, and a network system. In particular, the present invention relates to an associative memory having a search mask function, a search method thereof, and a router and a network system using the same.
従来のコンピュータ・ネットワーク・システムに用いられるネットワーク・ルータ(以後「ルータ」という)では、次に示すように最適転送先を計算する機能が不可欠である。 In a network router (hereinafter referred to as “router”) used in a conventional computer network system, a function for calculating an optimum transfer destination is indispensable as shown below.
従来のコンピュータ・ネットワークの構成の接続例を図19に示す。ネットワークに参加しているユーザ機器(例えばコンピュータ端末など)は、他のユーザ機器と識別するために、その機器がネットワークに参加するときに、あらかじめ決められた規則に従って特定のネットワーク・アドレスを割り当てられる。ここではネットワーク・アドレスは複数桁の数値、例えば4桁の数値(a.b.c.d)で表現されるものとして説明する。また、あらかじめ決められた規則は、例えばネットワーク・アドレスの先頭の数値でイギリス、ドイツ、日本などの国を示し、第2番目の数値で国の中の都市名を示し、更に第3番目の数値で都市の中の企業名を示す、というように階層構造をとっている。以降、この階層をセグメントと呼ぶこととする。図19においては、セグメントの階層構造を模擬的に示したものである。図において太線で囲まれた1つの矩形が1のセグメントである。図19では、ネットワーク・アドレスの先頭の数値が1であるセグメント1と、先頭の数値が2であるセグメント2と、先頭の数値が3であるセグメント3が、最上位のセグメントとして存在している。セグメント1の下の階層に、上位2つの数値が1.2であるネットワーク・アドレスを持つセグメント4があり、更にその下に上位3つの数値が1.2.2であるネットワーク・アドレスを持つセグメント6があり、更にその中にネットワーク・アドレス1.2.2.1を持つユーザ機器PC401−1が接続されている。また、セグメント2の下の階層に、上位2つの数値が2.1であるネットワーク・アドレスを持つセグメント5があり、更にその下に上位3つの数値が2.1.1であるネットワーク・アドレスを持つセグメント7がある。図に例示されているアドレスにおいて、*はドント・ケアを意味する。
A connection example of the configuration of a conventional computer network is shown in FIG. A user device participating in a network (eg, a computer terminal) is assigned a specific network address according to a predetermined rule when that device joins the network in order to distinguish it from other user devices. . Here, description will be made assuming that the network address is expressed by a multi-digit numerical value, for example, a 4-digit numerical value (abcd). In addition, the predetermined rule is, for example, the first numerical value of the network address indicates the country of England, Germany, Japan, etc., the second numerical value indicates the city name in the country, and the third numerical value. It shows a hierarchical structure, such as showing the name of a company in the city. Hereinafter, this hierarchy is referred to as a segment. FIG. 19 schematically shows the hierarchical structure of segments. In the figure, one rectangle surrounded by a thick line is one segment. In FIG. 19, the
各セグメントは、ネットワークに参加しているユーザ機器間の通信データを転送するためにルータを有している。図19の構成例では、セグメント1はルータ400−1を、セグメント2はルータ400−2を、セグメント3はルータ400−3を、セグメント4はルータ400−4を、セグメント5はルータ400−5を、セグメント6はルータ400−6を、セグメント7はルータ400−7を、それぞれ有している。セグメントが有するルータは、そのルータに接続されているユーザ機器または他のルータから入力された転送データを、転送データに付随する転送先アドレスとネットワーク機器の接続関係を基に最適な転送ルートを計算し、その最適なルートを経由して転送先にデータを転送する。図19の構成例では、各ルータはそのセグメント直下のルータまたはユーザ機器と接続されている。また、ルータ400−3は、ルータ400−1、ルータ400−4、ルータ400−6、ルータ400−2、ルータ400−7とも接続している。
Each segment has a router for transferring communication data between user devices participating in the network. 19, the
各ユーザ機器同士を直接通信回線で接続するのではなく、ルータの通信制御機能を用いて通信データの転送を制御して通信を行うことにより、有限の通信回線を効率よく使用している。 Instead of connecting each user device directly with a communication line, the communication control function of the router is used to control the transfer of communication data for communication, thereby efficiently using a finite communication line.
次に、これらルータの説明を図20を用いて行う。図ではルータ400−3を例に示しているが、他のルータもこれと同様の構成である。
ルータ400−3には自分自身が属するセグメントのネットワーク・アドレス(3.*.*.*)以外のセグメントのネットワーク・アドレス情報を記憶させている。これら各ネットワーク・アドレスは、その各桁を4進数で表現した全体で8ビットのビット列で表現されるものと仮定する。例えば、ネットワーク・アドレス(1.*.*.*)はビット列(01.00.00.00)で表現される。以降、この表現のビット列を記憶データと呼ぶ。ここで、*はドント・ケアであるので、(01.00.00.00)のビット列の上位2ビットが有効でありそれ以下のビットは無効であることを示す必要がある。そこで、マスク情報と呼ばれる情報を記憶データと対になって記憶させている。この例では、(00.11.11.11)としている。ここで、“0”がマスク無効状態を“1”がマスク有効状態を示している。これら記憶データおよびマスク情報は、図示のようにルータの中で連想メモリ116に格納されている。連想メモリ・ワード117−1には、ルータ400−1が属するセグメント1のネットワーク・アドレス(1.*.*.*)が記憶されている。連想メモリ・ワード117−2には、ルータ400−2が属するセグメント2のネットワーク・アドレス(2.*.*.*)が記憶されている。連想メモリ・ワード117−3には、ルータ400−6が属するセグメント6のネットワーク・アドレス(1.2.2.*)が記憶されている。連想メモリ・ワード117−4には、ルータ400−4が属するセグメント4のネットワーク・アドレス(1.2.*.*)が記憶されている。連想メモリ・ワード117−5には、ルータ400−7が属するセグメント7のネットワーク・アドレス(2.1.1.*)が記憶されている。連想メモリ116は、通常のメモリと同様にアドレスを指定して記憶データの書き込み、読み出しを行う機能のほかに、入力した検索データ102と、対応するマスク情報を考慮して比較した結果一致する記憶データの中で、マスク情報の有効状態のビットが最も少ない記憶データに対応するマスク一致線119−1〜119−5を有効状態にする機能を有している。連想メモリ116が出力したマスク一致線119−1〜119−5はエンコーダ402によりメモリ・アドレス信号403に符号化される。
Next, these routers will be described with reference to FIG. Although the router 400-3 is shown as an example in the figure, other routers have the same configuration.
The router 400-3 stores network address information of segments other than the network address (3. *. *. *) Of the segment to which the router 400-3 belongs. Each of these network addresses is assumed to be represented by a bit string of 8 bits as a whole in which each digit is represented by a quaternary number. For example, the network address (1. *. *. *) Is represented by a bit string (01.00.00.00). Hereinafter, the bit string of this expression is referred to as stored data. Here, since * is don't care, it is necessary to indicate that the upper 2 bits of the bit string of (01.00.00.00) are valid and the bits below are invalid. Therefore, information called mask information is stored in pairs with stored data. In this example, it is (00.11.11.11). Here, “0” indicates a mask invalid state and “1” indicates a mask valid state. These stored data and mask information are stored in the content
メモリ404には、連想メモリ116の各連想メモリ・ワードに格納されている記憶データ、マスク情報により構成されるセグメントのネットワーク・アドレスに対応するルータのネットワーク・アドレスを、連想メモリ116の格納アドレスと同一のアドレスのワードに記憶させてある。たとえば、連想メモリ116の連想メモリ・ワード1にはアドレス(1.*.*.*)が記憶されているが、これに対応する図19のルータ400−1のネットワーク・アドレスがメモリ404のワード1に格納されている。同様にメモリ404のワード2にはルータ400−2のアドレスが、ワード3にはルータ400−6のアドレスが、ワード4にはルータ400−4のアドレスが、ワード5にはルータ400−7のアドレスが格納されている。メモリ404はメモリ・アドレス信号403をリード・アドレスとして指定される格納データを、メモリ・データ信号405として出力する。
The memory 404 stores the network address of the router corresponding to the network address of the segment constituted by the storage data and the mask information stored in each associative memory word of the
冷却装置414は、発熱量の多い従来の連想メモリ116を冷却する。これは、例えば空冷ファンなどで構成される。
The
なお、図には示していないが、各ルータはその内部にCPUを有しており、そのCPUにより上述したルータの動作の制御が行われる。 Although not shown in the figure, each router has a CPU therein, and the operation of the router is controlled by the CPU.
次に、各ルータによって制御される従来のネットワークのデータ転送の動作例を説明する。例えばルータ400−3に入力された転送データの目的地ネットワーク・アドレスが(1.2.1.1)の場合、従来の連想メモリ116で検索すると連想メモリ・ワード1の(1.*.*.*)、および連想メモリ・ワード4の(1.2.*.*)が一致するが、その中でマスク情報の有効状態のビットが最も少ない連想メモリ・ワード4に対応するマスク一致線119−4のみが有効状態となる。これにより、エンコーダ402はメモリ・アドレス403として“4”を出力し、メモリ404はルータ400−4のネットワーク・アドレスをメモリ・データ信号405として出力する。これにより、ルータ400−3は、目的地アドレス(1.2.1.1)の入力転送データを、ルータ300−4に向けて転送する。ルータ300−4は転送されてきたデータに基づいて上述したのと同様な動作を行い、次々とルータにデータを転送して最終目的地のネットワーク・アドレス(1.2.1.1)に接続しているユーザ機器にデータを転送する。
Next, an operation example of data transfer in a conventional network controlled by each router will be described. For example, when the destination network address of the transfer data input to the router 400-3 is (1.2.1.1), searching in the conventional associative memory 116 (1. *. *) Of the
図15は、従来の連想メモリの一構成例を示すブロック図である。従来、この種の連想メモリとしては、例えば特開平11−073782号に示すものが挙げられる。連想メモリ116は、nビット2入力1出力セレクタ128と、nビットm語の連想メモリ・ワード117−1〜117−mと、nビット・ラッチ126と制御回路131を有しており、各連想メモリ・ワード117−jは、n個の連想メモリ・セル118−j−1〜118−j−nと1個のラッチ123−jを備えている。各連想メモリ・ワード117−jには、対応するデータ・ワード線106−j、マスク・ワード線111−jが入力のために接続され、対応するマスク一致線119−j、およびn本の最短マスク線122−1〜122−nが出力のために接続され、n本のビット線103−1〜103−nが入出力のために接続されている。
FIG. 15 is a block diagram showing a configuration example of a conventional associative memory. Conventionally, as this type of associative memory, for example, one disclosed in Japanese Patent Application Laid-Open No. 11-073782 can be cited. The
各連想メモリ・セル118−j−kには、対応するデータ・ワード線106−j、マスク・ワード線111−jが入力のために接続され、対応するデータ一致線107−j、マスク一致線119−j、および最短マスク線122−kが出力のために接続され、ビット線103−kが入出力のために接続されている。 Each associative memory cell 118-j-k is connected with a corresponding data word line 106-j and mask word line 111-j for input, and has a corresponding data match line 107-j and mask match line. 119-j and the shortest mask line 122-k are connected for output, and the bit line 103-k is connected for input / output.
各連想メモリ・セル118−j−kは、ビット線103−kを介して外部から入力される記憶データの対応するビット情報を格納するデータ・セル108−j−kと、データ・セルに記憶されたビット情報と外部から入力される検索データ102の対応するビット情報102−kとを比較する比較器113−j−kと、外部からビット線103−kを介して入力されるマスク情報の対応するビット情報を格納するマスク・セル112−j−kと、マスク・セルに記憶されたビット情報とnビット・ラッチ126から出力された最短マスク情報127の対応するビット情報127−kとを比較するマスク比較器120−j−kと、および論理ゲート121−j−kとを備えている。
Each associative memory cell 118-jk stores data cells 108-jk storing bit information corresponding to stored data input from the outside via bit lines 103-k, and stores them in the data cells. A comparator 113-j-k for comparing the received bit information with the corresponding bit information 102-k of the
なお、本例では、マスク情報の有効状態を“1”、無効状態を“0”とし、最短マスク線122−1〜122−nの有効状態を“1”、無効状態を“0”とする。データ一致線107−1〜107−mの有効状態を“1”、無効状態を“0”とする。また、マスク一致線119−1〜119−mの有効状態を“1”、無効状態を“0”とする。 In this example, the valid state of the mask information is “1”, the invalid state is “0”, the valid state of the shortest mask lines 122-1 to 122-n is “1”, and the invalid state is “0”. . The valid state of the data match lines 107-1 to 107-m is “1”, and the invalid state is “0”. Further, the valid state of the mask coincidence lines 119-1 to 119-m is set to “1”, and the invalid state is set to “0”.
データ・セル108−1−1〜108−m−nは、対応するデータ・ワード線106が有効状態の場合、対応するビット線103に書き込みデータがドライブされていれば記憶データとして格納し、対応するビット線103がドライブされていなければ格納している記憶データを対応するビット線103に出力する。対応するデータ・ワード線106が無効状態ならば、ビット線103に対してなんら操作は行わない。また、対応するデータ・ワード線106の値にかかわらず、格納している記憶データを同一の連想メモリ・セル118−1−1〜118−m−nの中の比較器113に出力する。
The data cells 108-1-1 to 108 -mn are stored as stored data when the corresponding
マスク・セル112―1−1〜112−m−nは、対応するマスク・ワード線111が有効状態の場合、対応するビット線103に書き込みデータがドライブされていれば書き込みデータをマスク情報として格納し、対応するビット線103がドライブされていなければ、格納しているマスク情報を対応するビット線103に出力する。対応するマスク・ワード線111が無効状態ならば、ビット線103に対してなんら操作は行わない。また、対応するマスク・ワード線111の値にかかわらず、格納しているマスク情報を同一の連想メモリ・セル118−1−1〜118−m−nの中の比較器113に出力する。
The mask cells 112-1-1 to 112 -mn store the write data as mask information if the corresponding mask word line 111 is valid and the write data is driven to the
データ一致線107は、検索動作の開始前には、ハイ・レベルにプリ・チャージされているか、図示しない抵抗によりプル・アップされ、有効状態“1”になっているものとする。
The data match
比較器113は、対応するビット線103と、それに同一の連想メモリ・セル118−1−1〜118−m−nの中のデータ・セル108の記憶データおよびマスク・セル112のマスク情報を入力とし、マスク情報が有効状態、またはビット線103の値と記憶データが一致するならば対応するデータ一致線107を開放状態にし、それ以外の場合には無効状態“0”を出力する。連想メモリ・ワード117の中のn個の比較器113がすべてデータ一致線107を開放状態にしているときに、データ一致線107は有効状態“1”となり、それ以外の場合には無効状態“0”となるワイアードAND論理接続を構成している。つまり、検索動作時には、連想メモリ・ワード117が格納している記憶データとビット線103−1〜103−nがマスク情報により比較対象から除外されたビットを除いて完全に一致する場合に限り、データ一致線107は有効状態“1”となり、それ以外の場合は無効状態“0”となる。もちろん同様の動作となるように通常の論理ゲートを用いて構成してもかまわない。
The comparator 113 inputs the
論理ゲート121−1−1〜121−m−nは、同一の連想メモリ・ワード117−1〜117−mの中のデータ一致線107−1〜107−mが有効状態“1”かつ、同一の連想メモリ・セル118−1−1〜118−m−nの中のマスク・セル112−1−1〜112−m−nに格納されたマスク情報が無効状態“0”のときに、対応する最短マスク線122−1〜122−nに無効状態“0”を出力し、それ以外の場合には開放状態にする。 The logic gates 121-1-1 to 121 -m-n have the data matching lines 107-1 to 107 -m in the same associative memory word 117-1 to 117 -m being in the valid state “1” and the same. When the mask information stored in the mask cells 112-1-1-1 to 112-mn in the associative memory cells 118-1-1-1 to 118-mn is the invalid state “0” The invalid state “0” is output to the shortest mask lines 122-1 to 122-n to be performed, and in other cases, the inactive state is set.
各最短マスク線122−1〜122−nは、抵抗125−1〜125−nによりプル・アップされており、対応するm個の論理ゲート121−1−1〜121−m−nとワイアードAND論理接続を構成している。従って、接続されているm個の論理ゲート121がすべて最短マスク線122を開放状態にしているときに、最短マスク線122は有効状態“1”となり、それ以外の場合には無効状態“0”となる。
Each of the shortest mask lines 122-1 to 122-n is pulled up by resistors 125-1 to 125-n, and the corresponding m logic gates 121-1 to 121-mn and a wired AND. Configures a logical connection. Therefore, when all the m logic gates 121 connected have the
ラッチ123−1〜123−mは、同一の連想メモリ・ワード117−1〜117−mの中のデータ一致線107−1〜107−mの状態を、ラッチ制御線124が有効状態の時に内部に格納する。また、格納した状態を出力するため、同一の連想メモリ・ワード117−1〜117−mの中にあるマスク一致線119―1〜119−mと対応し、ワイアード論理接続されている。ラッチ123−1〜123−mは対応するマスク一致線119−1〜119−mに対して、格納されたデータが無効状態“0”の場合には“0”を出力し、格納されたデータが有効状態“1”の場合には対応するマスク一致線119−1〜119−mを開放状態とする。
The latches 123-1 to 123-m are connected to the data match lines 107-1 to 107-m in the same associative memory word 117-1 to 117-m when the
マスク一致線119−1〜119−mは、検索動作の終了時に、検索データ102と一致した記憶データの中で、マスク情報により検索対象から除外されたビット数が最も少ない記憶データに対応するものだけが有効状態となり、それ以外は無効状態となる。マスク一致線119−1〜119−mは検索動作開始前に図示しない抵抗によりプル・アップされているか、ハイ・レベルにプリ・チャージされることにより、有効状態“1”になっているものとする。
The mask match lines 119-1 to 119-m correspond to the stored data with the smallest number of bits excluded from the search target by the mask information among the stored data that matches the
マスク比較器120は、対応するマスク・セル112が格納するマスク情報の状態と対応するビット線103上の最短マスク情報を比較し、一致しているならば対応するマスク一致線119を開放状態にし、不一致ならば対応するマスク一致線119に無効状態“0”を出力する。従って、連想メモリ・ワード117の中のn個の連想メモリ・セル118と、1個のラッチ123がすべてマスク一致線119を開放状態にしているときに、マスク一致線119は有効状態“1”となり、それ以外の場合には無効状態“0”となるワイアードAND論理接続を構成している。
The
つまり、検索動作時には、連想メモリ・ワード117が格納しているマスク情報とビット線103−1〜103−nが完全に一致し、かつ、ラッチ123に格納されているデータ一致線107の状態が有効状態“1”の場合に限り、マスク一致線119は有効状態“1”となり、それ以外の場合は無効状態“0”となる。nビット・ラッチ126は、ラッチ制御信号124が有効状態の時に、最短マスク線122−1〜122−nの状態を内部に格納する。また、格納した状態をラッチ出力線127−1〜127−nに出力する。
That is, during the search operation, the mask information stored in the
nビット2入力1出力セレクタ128は、ビット線103−1〜103−nに出力するデータを、選択信号129の状態により、検索データ102−1〜102−nとラッチ出力線127−1〜127−nの一方から選択する。
The n-bit 2-input 1-
制御回路130は、連想メモリ116の動作を制御するため、クロック信号130に同期して、ラッチ制御信号124、選択信号129を出力する。
The
次に、図16に従来の連想メモリ・セル118の一構成例を示す。ここで、2本のビット線103a,103bは図15に示されている各ビット線に対応するものであるが、図15においては103−iで代表して表現している。この2本のビット線を介してメモリ・セルへのデータの読み書きや、検索データ102の入力を行う。データを書き込む場合、および検索データの入力を行う場合には、ビット線103bにはビット線103aの値を反転した値を入力する。 データ・セル108は、入出力が相互に接続された反転論理ゲート(G101)301、反転論理ゲート(G102)302と、反転論理ゲート(G102)302の出力をビット線103aに接続しデータ・ワード線106がハイ・レベルのときに導通状態となるMOSトランジスタ(T101)303と、反転論理ゲート(G101)301の出力をビット線103bに接続しデータ・ワード線106がハイ・レベルのときに導通状態となるMOSトランジスタ(T102)304とにより構成される一般的なスタティックSRAM素子である。
Next, FIG. 16 shows an example of the configuration of a conventional content
また、マスク・セル112も、入出力が相互に接続された反転論理ゲート(G103)309、反転論理ゲート(G104)310と、反転論理ゲート(G104)310の出力をビット線103aに接続しマスク・ワード線111がハイ・レベルのときに導通状態となるMOSトランジスタ(T107)311と、反転論理ゲート(G103)309の出力をビット線103bに接続しマスク・ワード線111がハイ・レベルのときに導通状態となるMOSトランジスタ(T108)312とにより構成される一般的なスタティックSRAM素子である。
The
比較器113はMOSトランジスタ(T103)305、MOSトランジスタ(T104)306、MOSトランジスタ(T105)307、MOSトランジスタ(T106)308により構成される。MOSトランジスタ(T103)305とMOSトランジスタ(T104)306はビット線103a,103bの間に直列に挿入される。MOSトランジスタ(T103)305は、データ・セル108内の反転論理ゲート(G101)301の出力がハイ・レベルのときに導通状態となる。MOSトランジスタ(T104)306は、データ・セル108内の反転論理ゲート(G102)302の出力がハイ・レベルのときに導通状態となる。MOSトランジスタ(T105)307とMOSトランジスタ(T106)308は、低電位と、データ一致線107の間に直列に挿入される。MOSトランジスタ(T105)307は、MOSトランジスタ(T103)305とMOSトランジスタ(T104)306の接続点の電位がハイ・レベルの時に導通状態となる。MOSトランジスタ(T106)308は、マスク・セル112内の反転論理ゲート(G103)309の出力がハイ・レベルの時に導通状態となる。ビット線103aと反転論理ゲート(G101)301の出力がともにハイ・レベル、またはビット線103bと反転論理ゲート(G102)302の出力がともにハイ・レベルのときに、MOSトランジスタ(T103)305とMOSトランジスタ(T104)306の接続点はハイ・レベルとなり、MOSトランジスタ(T105)307を導通状態とする。
The comparator 113 includes a MOS transistor (T103) 305, a MOS transistor (T104) 306, a MOS transistor (T105) 307, and a MOS transistor (T106) 308. The MOS transistor (T103) 305 and the MOS transistor (T104) 306 are inserted in series between the
従って、データ・セル108に格納されている記憶データと、ビット線103a,103b上の検索データ102が異なる場合にMOSトランジスタ(T105)307は導通状態になる。またMOSトランジスタ(T106)308はマスク・セル112内に格納されているマスク情報が“1”のときには開放状態であり、“0”のときに導通状態となる。データ一致線107は、図示しない抵抗により高電位にプル・アップされているか、または、検索動作を開始する前に高電位にプリ・チャージされているものとする。これにより、複数の連想メモリ・セル118がデータ一致線107にMOSトランジスタ(T106)308を介して接続されているとき、1つの連想メモリ・セル118でもロウ・レベルを出力しているとデータ一致線107はロウ・レベルとなるようなワイアードAND接続となる。
Therefore, when the stored data stored in the
MOSトランジスタ(T105)307、MOSトランジスタ(T106)308がともに導通状態のときに連想メモリ・セル118はデータ一致線107に無効状態“0”を出力し、それ以外の時にはデータ一致線107を開放状態とする。すなわち、マスク情報が“1”の場合にはデータ一致線107を必ず開放状態とし、マスク情報が“0”の場合にはビット線103a,103b上の検索データ102とデータ・セルに格納されている記憶データが一致するときに開放状態とし、異なる場合には無効状態“0”を出力する。
The
次に、論理ゲート121と最短マスク線122の働きを説明する。最短マスク線122は図15の抵抗125によりプル・アップされ検索動作前には有効状態“1”になっている。論理ゲート121は、最短マスク線122と低電位との間に直列に挿入されたMOSトランジスタ(T109)313と、MOSトランジスタ(T110)314で構成されている。MOSトランジスタ(T109)313は、データ一致線107が有効状態“1”のときに導通状態となり、無効状態“0”のときには開放状態となる。MOSトランジスタ(T110)314は、マスク・セル112内部の反転論理ゲート(G103)309の出力がハイ・レベルの場合に導通状態となり、ロウ・レベルの場合には開放状態となる。つまり、マスク・セル112に格納されているマスク情報が無効状態“0”のときに導通状態となり、有効状態“1”のときには開放状態となる。これにより論理ゲート121は、データ一致線107が有効状態“1”かつマスク・セル112に格納されたマスク情報が無効状態“0”のときに、最短マスク線122に無効状態“0”を出力し、それ以外の場合には開放状態にする。
Next, functions of the logic gate 121 and the
次に、マスク比較器120とマスク一致線119の働きを説明する。マスク一致線119は、図示しない抵抗により高電位にプル・アップされているか、または、検索動作を開始する前に高電位にプリ・チャージされているものとする。
Next, functions of the
マスク比較器120は、MOSトランジスタ(T111)315、MOSトランジスタ(T112)316、MOSトランジスタ(T113)317により構成される。MOSトランジスタ(T111)315とMOSトランジスタ(T112)316はビット線103a,103bの間に直列に挿入される。MOSトランジスタ(T111)315は、マスク・セル112内の反転論理ゲート(G103)309の出力がハイ・レベルのときに導通状態となる。MOSトランジスタ(T112)316は、マスク・セル112内の反転論理ゲート(G104)310の出力がハイ・レベルのときに導通状態となる。MOSトランジスタ(T113)317は、低電位と、マスク一致線119の間に挿入される。MOSトランジスタ(T113)317は、MOSトランジスタ(T111)315とMOSトランジスタ(T112)316の接続点の電位がハイ・レベルの時に導通状態となる。
The
ビット線103aと反転論理ゲート(G103)309の出力がともにハイ・レベル、またはビット線103bと反転論理ゲート(G104)310の出力がともにハイ・レベルのときに、MOSトランジスタ(T111)315とMOSトランジスタ(T112)316の接続点はハイ・レベルとなり、MOSトランジスタ(T113)317は導通状態になり、その他の場合は開放状態となる。
When both the output of the
従って、マスク・セル112に格納されているマスク情報と、ビット線103a,103b上の検索データ102が異なる場合にMOSトランジスタ(T113)317は導通状態になりマスク一致線119に無効状態“0”を出力し、一致する場合にはマスク一致線119を開放状態にする。
Accordingly, when the mask information stored in the
これにより、複数の連想メモリ・セル118がマスク一致線119にMOSトランジスタ(T113)317を介して接続されているとき、1つの連想メモリ・セルでもロウ・レベルを出力しているとマスク一致線119はロウ・レベルとなり、それ以外の場合はハイ・レベルにするワイアードAND接続を構成している。
As a result, when a plurality of
次に、上述の従来の連想メモリ116を、図19のルータ400−3における転送先ネットワーク・アドレスの計算に用いた場合の動作を、図17を用いて説明する。そのときのタイミングチャートを図18に示す。
連想メモリ116を8ビット5語の構成と仮定する。従って、各連想メモリ・ワード117−1〜117−5に格納されている記憶データ、マスク情報は、図20の連想メモリの場合と全く同一であり、図19のルータ400−3のネットワーク・アドレス(3.*.*.*)以外の接続情報を記憶している。つまり、連想メモリ・ワード117−1には(1.*.*.*)を実現するため2進数で、記憶データには(01.00.00.00)を、マスク情報として(00.11.11.11)を格納してある。同様に連想メモリ・ワード117−2には(2.*.*.*)を、117−3には(1.2.2.*)を、117−4には(1.2.*.*)を、117−5には(2.1.1.*)を格納してある。
Next, the operation when the above-described conventional
Assume that the
以降、検索データ102として図19のPC401−1の4進数のネットワーク・アドレス(1.2.2.1)を入力し検索動作を行った場合の動作説明をする。
Hereinafter, the operation when the search operation is performed by inputting the quaternary network address (1.2.2.1) of the PC 401-1 in FIG. 19 as the
まず、図18のタイミング(1)で、すべてのデータ一致線107−1〜107−8は、ハイ・レベルにプリ・チャージされ、有効状態“1”になっている。
次に図18のタイミング(2)で、制御回路131が出力する選択信号129により、nビット2入力1出力セレクタ128は検索データ102を選択し、ビット線103−1〜103−8に出力する。これにより、連想メモリ116の連想メモリ・ワード117−1に格納されている4進表現の(1.*.*.*)と、連想メモリ・ワード117−3に格納されている4進表現の(1.2.2.*)と、連想メモリ・ワード117−4に格納されている4進表現の(1.2.*.*)がビット線103−1〜103−8上のデータと一致する。従って、データ一致線107−1、107−3および107−4の3本が有効状態“1”となり、残りのデータ一致線107−2、107−5は無効状態“0”となる。
First, at the timing (1) in FIG. 18, all the data match lines 107-1 to 107-8 are precharged to the high level and are in the valid state “1”.
Next, at timing (2) in FIG. 18, the n-bit 2-input 1-
ここで、最短マスク線122−1からは、連想メモリ・ワード117−1内の最短マスク線122−1に対応するマスク情報“0”と、連想メモリ・ワード117−3内の最短マスク線122−1に対応するマスク情報“0”と、連想メモリ・ワード117−4内の最短マスク線122−1に対応するマスク情報“0”の論理積“0”が出力される。最短マスク線122−2からは、連想メモリ・ワード117−1内の最短マスク線122−2に対応するマスク情報“0”と、連想メモリ・ワード117−3内の最短マスク線122−2に対応するマスク情報“0”と、連想メモリ・ワード117−4内の最短マスク線122−2に対応するマスク情報“0”の論理積“0”が出力される。以降同様に、最短マスク線122−3からは“1”と“0”と“0”の論理積“0”が、最短マスク線122−4からは“1”と“0”と“0”の論理積“0”が、最短マスク線122−5からは“1”と“0”と“1”の論理積“0”が、最短マスク線122−6からは“1”と“0”と“1”の論理積“0”が、最短マスク線122−7からは“1”と“1”と“1”の論理積“1”が、最短マスク線122−8からは“1”と“1”と“1”の論理積“1”が、それぞれ出力される。従って、最短マスク線122−1〜122−8には、2進表現で“00000011”が出力される。この状態で、制御回路131が出力するラッチ制御信号124が有効状態になり、ラッチ123−1〜123−5は対応する一致線107−1〜107−5の状態を内部に格納し、nビット・ラッチ126は最短マスク線122−1〜122−8の状態を内部に格納する。従って、ラッチ123−1には“1”が、ラッチ123−2には“0”が、ラッチ123−3には“1”が、ラッチ123−4には“1”が、ラッチ123−5には“0”が、それぞれ格納され、nビット・ラッチ126には2進表現で“00000011”が格納される。また、nビット・ラッチ126は、格納した状態“00000011”をラッチ出力線127−1〜127−8に出力する。
Here, from the shortest mask line 122-1, mask information “0” corresponding to the shortest mask line 122-1 in the associative memory word 117-1 and the
次に図18のタイミング(3)で、すべてのマスク一致線119−1〜119−8はハイ・レベルにプリ・チャージされ、有効状態“1”になっている。 Next, at the timing (3) in FIG. 18, all the mask coincidence lines 119-1 to 119-8 are precharged to the high level and are in the valid state “1”.
次に図18のタイミング(4)で、制御回路131が出力する選択信号129により、nビット2入力1出力セレクタ128はラッチ出力線127を選択し、その情報“00000011”を対応するビット線103−1〜103−8に出力した後、連想メモリは2回目の検索動作を開始する。2回目の検索動作では、マスク一致線119−1〜119−8の状態を利用し、データ一致線107−1〜107−8の状態は無視される。
Next, at timing (4) in FIG. 18, the n-bit 2-input 1-
ビット線103−1〜103−8の状態“00000011”に対して、連想メモリ・ワード117−3と117−5が格納するマスク情報が完全に一致し、対応するマスク一致線119−3,119−5を開放状態にする。他の連想メモリ・ワード117−1,117−2および117−4が格納するマスク情報は一致しないので、対応するマスク一致線119−1,119−2、および119−4に無効状態“0”を出力する。 The mask information stored in the associative memory words 117-3 and 117-5 completely matches the state "00000011" of the bit lines 103-1 to 103-8, and the corresponding mask match lines 119-3 and 119 are stored. -5 is opened. Since the mask information stored in the other associative memory words 117-1, 117-2, and 117-4 does not match, the corresponding mask match lines 119-1, 119-2, and 119-4 have an invalid state “0”. Is output.
また、ラッチ123−1は格納した状態が“1”なので対応するマスク一致線119−1を解放状態にし、ラッチ123−2は格納した状態“0”を対応するマスク一致線119−2に出力し、ラッチ123−3は格納した状態が“1”なので対応するマスク一致線119−3を開放状態にし、ラッチ123−4は格納した状態が“1”なので対応するマスク一致線119−4を開放状態にし、ラッチ123−5は格納した状態“0”を対応するマスク一致線119−5に出力する。 Since the latch 123-1 is in the stored state “1”, the corresponding mask match line 119-1 is released, and the latch 123-2 outputs the stored state “0” to the corresponding mask match line 119-2. Since the latch 123-3 is in the stored state "1", the corresponding mask match line 119-3 is opened, and the latch 123-4 is in the stored state "1" so that the corresponding mask match line 119-4 is set. The latch 123-3 outputs the stored state “0” to the corresponding mask match line 119-5.
従って、マスク一致線119−1は、ラッチ123−1が解放状態にしているが、連想メモリ・ワード117−1内のマスク比較器120−1−1〜120−1−8が“0”を出力しているので、無効状態“0”になる。マスク一致線119−2は、連想メモリ・ワード117−2のマスク比較器120−2−1〜120−2−8が“0”を出力しラッチ123−2も“0”を出力しているので無効状態“0”となる。マスク一致線119−3は、連想メモリ・ワード117−3のマスク比較器120−3−1〜120−3−8がすべて開放状態でありラッチ123−3も開放状態であるので有効状態“1”を保持する。マスク一致線119−4は、ラッチ123−4が開放状態にしているが、連想メモリ・ワード117−4のマスク比較器120−4−1〜120−4−8が “0”を出力しているので無効状態“0”となる。マスク一致線119−5は、連想メモリ・ワード117−5のマスク比較器120−5−1〜120−5−8が開放状態にしているが、ラッチ123−5が“0”を出力しているので、マスク一致線119−5は無効状態“0”となる。 Accordingly, the mask coincidence line 119-1 is released by the latch 123-1, but the mask comparators 120-1-1-1 to 120-1-8 in the associative memory word 117-1 set “0”. Since it is outputting, it becomes an invalid state “0”. On the mask match line 119-2, the mask comparators 120-2-1 to 120-2-8 of the associative memory word 117-2 output "0", and the latch 123-2 also outputs "0". Therefore, the invalid state becomes “0”. The mask match line 119-3 is in the valid state “1” because the mask comparators 120-3-1 to 120-3-8 of the associative memory word 117-3 are all open and the latches 123-3 are open. ”. In the mask match line 119-4, the latch 123-4 is in an open state, but the mask comparators 120-4-1 to 120-4-8 of the associative memory word 117-4 output “0”. Therefore, the invalid state is “0”. The mask match line 119-5 is opened by the mask comparators 120-5-5-1 to 120-5-8 of the associative memory word 117-5, but the latch 123-5 outputs "0". Therefore, the mask match line 119-5 is in an invalid state “0”.
これにより、タイミング(2)の1回目の検索動作で、予め格納されている記憶データがマスク情報を考慮して検索データ102と一致し、かつタイミング(4)の2回目の検索動作で、予め格納されているマスク情報が1回目の検索動作の結果得られた最短マスク線122−1〜122−8の状態と一致するような連想メモリ・ワード117−1〜117−5に対応するマスク一致線119−3のみが、2回目の検索動作終了時に有効状態“1”になる。従って、入力した検索データ102と、対応するマスク情報を考慮して比較した結果一致する記憶データの中で、マスク情報の有効状態のビットが最も少ない記憶データに対応するマスク一致線119−3のみに有効状態を出力することがわかる。
Thus, in the first search operation at timing (2), the stored data stored in advance matches the
上述した従来の連想メモリ116は、1回目の検索動作では、m語の連想メモリ・ワード117―1〜117−mに格納された記憶データと検索データ102を比較した結果をm本のデータ一致線107−1〜107−mに出力し、2回目の検索動作では、m語の連想メモリ・ワード117―1〜117−mに格納されたマスク情報とラッチ出力線127の値を比較した結果をm本のマスク一致線119−1〜119−mに出力する。そのため、各連想メモリ・ワード117−1〜117−mの中のn個の連想メモリ・セル118−1−1〜118−m−nは、記憶データを比較するための比較器113−1−1〜113−m−nと、マスク情報を比較するためのマスク比較器120−1−1〜120−m−nの2つの比較手段が必要である。
In the first
ここで反転論理ゲートが2個のMOSトランジスタから構成されるとすると、連想メモリ・セル118は図16に示すように21個のMOSトランジスタから構成される。この中で、データ・セル108、マスク・セル112はスタティックRAM素子であるため、これらを構成する各MOSトランジスタの面積は、一般的に、従来の連想メモリ116を製造する際に許される最小面積のMOSトランジスタと等しい。
If the inversion logic gate is composed of two MOS transistors, the
ところが、図15に示すように、各データ一致線107−1〜107−mは1語の連想メモリ・ワード117の中のn個の比較器113とワイアード論理接続をするための配線長が必要であるために配線容量は非常に大きく、その配線容量を駆動するため、比較器113を構成するMOSトランジスタの面積は非常に大きくなる。例えば、0.25μm製造プロセスの場合、64個の比較器を接続するためには1mmほどの配線長が必要となり、この配線長の配線容量はおよそ0.3pF程度となる。この容量を駆動するためのトランジスタ・サイズは製造プロセスで許される最小面積のMOSトランジスタの10〜30倍は必要である。同様に、各マスク一致線119−1〜119−mもn個のマスク比較器120とワイアード論理接続をするための配線長が必要であり、論理ゲート121を構成するMOSトランジスタの面積も、最小面積のMOSトランジスタの10〜30倍は必要である。また、図15に示すように、各最短マスク線122−1〜122−nもm個の論理ゲート121とワイアード論理接続をするための配線長が必要であり、論理ゲート121を構成するMOSトランジスタの面積も、最小面積のMOSトランジスタの10〜30倍は必要であることになる。
However, as shown in FIG. 15, each data match line 107-1 to 107-m requires a wiring length for making a wired logical connection with n comparators 113 in one word
従って、比較器113,マスク比較器120、および論理ゲート121を構成するMOSトランジスタの面積を、最小面積のMOSトランジスタの10倍、一般的なスタティックRAM素子の面積は最小面積のMOSトランジスタの6倍と仮定すると、図16から容易に分かるように連想メモリ・セル118の面積は、最小面積のMOSトランジスタの102倍となる。すなわち、同じチップ面積のスタティックSRAMの記憶容量と比べると従来の連想メモリ116は17分の1しか格納できないという問題があった。
Therefore, the area of the MOS transistors constituting the comparator 113, the
また、上述したように、1回目の検索動作の結果が出力されるのはm本のデータ一致線107−1〜107−mであり、2回目の検索動作の結果が出力されるのはm本のマスク一致線119−1〜119−mである。このため、1回目の検索動作の結果を2回目の検索動作を実行するまで保持する必要がある。ここで、例えば、連想メモリ116が1語64ビットで32768語の構成の場合、ラッチ123が10個のMOSトランジスタから構成されていると仮定すると、32768個のラッチ123を構成するためには、およそ33万個のMOSトランジスタが必要となる。すなわち、記憶データのビット数nとは無関係に、m個のラッチ123−1〜123−mの分だけチップ面積が大きくなってしまうという問題があった。
Further, as described above, the result of the first search operation is output to the m data matching lines 107-1 to 107-m, and the result of the second search operation is output to m. These are the mask matching lines 119-1 to 119-m. Therefore, it is necessary to hold the result of the first search operation until the second search operation is executed. Here, for example, when the
また、それぞれm本あるデータ一致線107−1〜107−m、マスク一致線119−1〜119−mは、検索動作のたびに最終的に有効状態を出力する一本を除いて、検索前に有効状態にプリ・チャージした電荷をそれぞれ対応するMOSトランジスタを介して放電することになる。従って、1語64ビットで32768語構成の場合、データ一致線107、マスク一致線119を合わせて、32768×2−1=65535本の配線容量を検索動作のたびにプリ・チャージしなければならない。最短マスク線122−1〜122−nはn本であり、上述の例では64本であるので無視できる。すなわち、従来の連想メモリの消費電力は、ほとんど、データ一致線107、マスク一致線119を検索動作のたびにプリ・チャージするのに要する電力であることがわかる。ここで、前述のように0.25μm製造プロセスの場合、データ一致線107、マスク一致線119の配線容量をそれぞれ0,3pFと仮定し、電源電圧を2.5V、クロック信号130の周期を20nsとすると、チップ全体の消費電力は、(0.3pF×2.5V)÷20ns×2.5V×65535本=6.1Wと非常に大きい。従って、従来の連想メモリ116には、それぞれm本あるデータ一致線107−1〜107−m、マスク一致線119−1〜119−mは、検索動作のたびに最終的に有効状態を出力する一本を除いて、検索前に有効状態にプリ・チャージする必要があるため、消費電力が非常に大きいという問題があった。
Further, each of the m data match lines 107-1 to 107-m and the mask match lines 119-1 to 119-m is one before the search except for one which finally outputs a valid state for each search operation. The charges pre-charged to the effective state are discharged through the corresponding MOS transistors. Therefore, in the case of 32768 words composed of 64 words per word, the
また、上述のように、従来の連想メモリ116は記憶容量が小さいために、ルータを用いた場合には、複数個の連想メモリ116を使用する必要があった。そのためルータの発熱量が非常に大きくなり、図20に示すように冷却装置414を内蔵する必要があった。また、複数個の連想メモリ116の検索結果を比較し最終的な検索結果を求める必要があるため、データ転送速度が低下するという問題があった。
As described above, since the conventional
そこで、本発明の目的は、検索データと一致する記憶データの中で対応するマスク情報の有効状態のビット数が最も少ない記憶データを識別する信号を出力し、なおかつ単位チップ面積あたりの記憶容量の大きい連想メモリを提供することにある。 Therefore, an object of the present invention is to output a signal for identifying the storage data having the smallest number of valid bits of the corresponding mask information among the storage data that matches the search data, and the storage capacity per unit chip area. The purpose is to provide a large associative memory.
更に他の目的として、検索データと一致する記憶データの中で対応するマスク情報の有効状態のビット数が最も少ない記憶データを識別する信号を出力し、なおかつ語数あたりの消費電力の小さい連想メモリを提供すること、冷却装置を必要としないルータを提供すること、及び高速にデータを転送できるネットワークシステムを提供することにある。 As another object, there is provided an associative memory that outputs a signal for identifying the stored data having the smallest number of valid bits of the corresponding mask information among the stored data that matches the search data, and that consumes less power per word. It is to provide a router that does not require a cooling device, and to provide a network system that can transfer data at high speed.
上記目的を達成するために、本発明の連想メモリは、a)nビット長のm個の記憶データを格納するn個のデータ・セルと;前記記憶データの各ビットを検索対象から除外するか否かを対応するビットのマスク有効状態、マスク無効状態により設定するマスク情報を格納するn個のマスク・セルと;入力データと前記記憶データとをワード単位で比較し、比較結果が一致するワードに対して一致信号を一致線上に出力するn個の比較器と;前記一致線上のデータと前記記憶データとをビット列単位で論理演算し、演算結果を一致データ中間論理線上に出力するn個の論理ゲートと;を含むm個の連想メモリ・ワードと(m,nは自然数)、b)前記一致データ中間論理線上に出力されたnビットの中間一致データを格納するラッチ回路と、c)検索データと前記中間一致データのいずれか一方を前記入力データとして前記連想メモリ・ワードに選択的に供給するセレクタ回路と、d)前記入力データとして前記検索データが選択された場合には前記マスク情報を考慮して比較を行い、前記中間一致データが選択された場合には無視して比較を行うよう前記比較器を制御する制御回路とを具備したことを特徴とする。 To achieve the above object, an associative memory according to the present invention includes: a) n data cells for storing m pieces of stored data having an n-bit length; and whether each bit of the stored data is excluded from a search target. N mask cells for storing mask information to be set according to whether the corresponding bits are mask valid state or mask invalid state; words in which input data and the stored data are compared in word units and the comparison results match N comparators for outputting a match signal on the match line; n data for logically operating the data on the match line and the stored data in units of bit strings and outputting the operation result to the match data intermediate logic line; M associative memory words including logic gates; (m and n are natural numbers); b) a latch circuit for storing n-bit intermediate match data output on the match data intermediate logic line; c A selector circuit that selectively supplies either the search data or the intermediate match data as the input data to the associative memory word; and d) the mask information when the search data is selected as the input data. And a control circuit for controlling the comparator to perform the comparison by ignoring when the intermediate coincidence data is selected.
本発明の連想メモリは、前記比較器は、前記検索データを対象とする比較結果と前記中間一致データを対象とする比較結果とを同一の一致線上に出力することを特徴とする。 In the content addressable memory of the present invention, the comparator outputs a comparison result for the search data and a comparison result for the intermediate match data on the same match line.
本発明の連想メモリは、検索動作に先立って前記一致線及び前記一致データ中間論理線を所定電位にプリ・チャージするプリ・チャージ手段を設けたことを特徴とする。 The associative memory according to the present invention is characterized in that pre-charge means for pre-charging the coincidence line and the coincidence data intermediate logic line to a predetermined potential prior to a search operation is provided.
本発明の連想メモリは、前記マスク情報の有効状態を"0"、無効状態を"1"とし、前記記憶データの有効状態を"1"、無効状態を"0"とし、前記一致データ中間論理線の有効状態を"1"、無効状態を"0"とし、前記一致線の有効状態を"1"、無効状態を"0"とするよう設定することを特徴とする。 The content addressable memory of the present invention sets the valid state of the mask information to “0”, the invalid state to “1”, the valid state of the stored data to “1”, the invalid state to “0”, and the matching data intermediate logic The valid state of the line is set to “1”, the invalid state is set to “0”, the valid state of the matching line is set to “1”, and the invalid state is set to “0”.
本発明の連想メモリは、前記比較器が前記一致線の有効状態"1"を真としたワイアードAND論理接続を構成することを特徴とする。 The content addressable memory according to the present invention is characterized in that the comparator constitutes a wired AND logical connection in which the valid state “1” of the match line is true.
本発明の連想メモリは、前記論理ゲートが前記一致データ中間論理線の有効状態"1"を真としたワイアードAND論理接続を構成することを特徴とする。 The content addressable memory according to the present invention is characterized in that the logic gate constitutes a wired AND logic connection in which a valid state “1” of the coincidence data intermediate logic line is true.
本発明の連想メモリは、前記中間一致データとして前記記憶データの有効状態"1"を真とした論理和演算データを得ることを特徴とする。 The associative memory according to the present invention is characterized in that as the intermediate match data, logical sum operation data in which the valid state “1” of the stored data is true is obtained.
本発明の連想メモリは、前記マスク情報の有効状態を"0"、無効状態を"1"とし、前記記憶データの有効状態を"0"、無効状態を"1"とし、前記一致データ中間論理線の有効状態を"1"、無効状態を"0"とし、前記一致線の有効状態を"1"、無効状態を"0"とするよう設定することを特徴とする。 The content addressable memory according to the present invention sets the valid state of the mask information to “0”, the invalid state to “1”, the valid state of the stored data to “0”, the invalid state to “1”, and the matching data intermediate logic The valid state of the line is set to “1”, the invalid state is set to “0”, the valid state of the matching line is set to “1”, and the invalid state is set to “0”.
本発明の連想メモリは、前記比較器が前記一致線の有効状態"1"を真としたワイアードAND論理接続を構成することを特徴とする。 The content addressable memory according to the present invention is characterized in that the comparator constitutes a wired AND logical connection in which the valid state “1” of the match line is true.
本発明の連想メモリは、前記論理ゲートが前記一致データ中間論理線の有効状態"1"を真としたワイアードAND論理接続を構成することを特徴とする。 The content addressable memory according to the present invention is characterized in that the logic gate constitutes a wired AND logic connection in which a valid state “1” of the coincidence data intermediate logic line is true.
本発明の連想メモリは、前記中間一致データとして前記記憶データの有効状態"0"を真とした論理和演算データを得ることを特徴とする。 The associative memory according to the present invention is characterized in that as the intermediate match data, logical sum operation data in which the valid state “0” of the stored data is true is obtained.
また、本発明の連想メモリは、a)nビット長のm個の記憶データを格納するm×n個の第1のデータ・セルと;前記記憶データの各ビットを検索対象から除外するか否かを対応するビットのマスク有効状態、マスク無効状態により設定するマスク情報を格納するm×n個のマスクセルと;検索データと前記記憶データとを前記マスク情報を考慮してワード単位で比較し、比較結果が一致するワードに対して一致信号を中間一致線上に出力するm×n個の第1の比較器と;前記中間一致線上のデータと前記記憶データとをビット列単位で論理演算し、演算結果を一致データ論理和線上に出力するm×n個の論理ゲートと;を含む第1のメモリと、b)前記記憶データをワード毎に前記第1のデータ・セルに対応付けて格納するm×n個の第2のデータ・セルと;前記一致データ論理和線上のデータと前記第2のデータ・セルに格納された前記記憶データとをワード単位で比較し、比較結果が一致するワードに対して一致信号を一致線上に出力するm×n個の第2の比較器と;を具備したことを特徴とする。 The associative memory according to the present invention also includes: a) m × n first data cells storing m pieces of stored data having an n-bit length; and whether to exclude each bit of the stored data from the search target Mxn mask cells for storing mask information to be set according to the mask valid state and mask invalid state of the corresponding bit; search data and the stored data are compared in word units in consideration of the mask information; M × n first comparators that output coincidence signals on the intermediate coincidence line for words having the same comparison result; data on the intermediate coincidence line and the stored data are logically operated in units of bit strings; A first memory including: m × n logic gates for outputting a result on the coincidence data OR line; and b) storing the stored data in association with the first data cell for each word. Xn second data Data cell; the data on the coincidence data OR line and the stored data stored in the second data cell are compared in word units, and the coincidence signal coincides with the word having the coincidence result of the comparison. And m × n second comparators for outputting on the line.
本発明の連想メモリは、検索動作に先立って前記一致線、前記中間一致線及び前記一致データ論理和線を所定電位にプリ・チャージするプリチャージ手段を設けたことを特徴とする。 The content addressable memory according to the present invention is characterized in that precharge means for precharging the match line, the intermediate match line, and the match data OR line to a predetermined potential prior to a search operation is provided.
本発明の連想メモリは、前記マスク情報の有効状態を"0"、無効状態を"1"とし、前記記憶データの有効状態を"1"、無効状態を"0"とし、前記一致データ論理和線の有効状態を"0"、無効状態を"1"とし、前記中間一致線の有効状態を"1"、無効状態を"0"とし、前記一致線の有効状態を"1"、無効状態を"0"とするよう設定することを特徴とする。 In the content addressable memory according to the present invention, the valid state of the mask information is “0”, the invalid state is “1”, the valid state of the stored data is “1”, the invalid state is “0”, and the coincidence data OR The valid state of the line is “0”, the invalid state is “1”, the valid state of the intermediate match line is “1”, the invalid state is “0”, the valid state of the match line is “1”, and the invalid state Is set to "0".
本発明の連想メモリは、前記第1の比較器が前記中間一致線の有効状態"1"を真としたワイアードAND論理接続を構成することを特徴とする。 The content addressable memory according to the present invention is characterized in that the first comparator forms a wired AND logical connection in which the valid state “1” of the intermediate match line is true.
本発明の連想メモリは、前記一致データ論理和線上のデータをいったん格納する記憶手段を前記第1のメモリと第2のメモリとの間に介挿することを特徴とする。 The content addressable memory according to the present invention is characterized in that storage means for temporarily storing data on the coincidence data logical sum line is interposed between the first memory and the second memory.
本発明のルータは、目的地ネットワークアドレスを検索データとする連想メモリを内蔵するルータにおいて、前記連想メモリとして請求項1乃至16に記載の連想メモリを備えたことを特徴とする。
The router of the present invention is a router incorporating an associative memory that uses a destination network address as search data, and includes the associative memory according to any one of
本発明のネットワークシステムは、前記ルータを介してネットワークに接続された機器間でデータ通信を行うことを特徴とする。 The network system according to the present invention is characterized in that data communication is performed between devices connected to the network via the router.
上述のように、本発明の連想メモリは、外部から与えられる検索データを、格納しているマスク情報を考慮して、格納している記憶データと比較する第1の検索動作と、第1の検索動作の結果を利用して計算される値を格納している前記記憶データと比較する第2の検索動作の2回の検索動作を、各ワードごとに同一の比較器を用いて同一の一致線に出力する手段を有しているため、従来の連想メモリと比較して1ビットを格納する単位セルのトランジスタ面積を25%程度削減できる。つまり単位チップ面積あたりの記憶容量を約33%程度増大できる。また、面積削減に伴い、配線容量も削減されるため、従来の連想メモリと比較して、動作周波数を32%程度高くすることができる。 As described above, the associative memory of the present invention includes a first search operation for comparing search data given from the outside with stored data in consideration of stored mask information, Two search operations of the second search operation for comparing the stored data with the value calculated using the result of the search operation are identically matched using the same comparator for each word. Since means for outputting to the line is provided, the transistor area of the unit cell storing 1 bit can be reduced by about 25% as compared with the conventional associative memory. That is, the storage capacity per unit chip area can be increased by about 33%. Further, as the area is reduced, the wiring capacity is also reduced, so that the operating frequency can be increased by about 32% compared to the conventional associative memory.
また、同一の語数で比較した場合、従来の連想メモリの消費電力に対して50%程度削減できる。 Further, when compared with the same number of words, the power consumption of the conventional associative memory can be reduced by about 50%.
更に、本発明の連想メモリをネットワーク・アドレス計算を行うルータに組み込めば、従来に比較して消費電力が小さくなるために、冷却装置が不要になりコストが削減できる、等の優れた効果を有する。 Furthermore, if the associative memory of the present invention is incorporated in a router that performs network address calculation, the power consumption is reduced compared to the conventional one, so that the cooling device is not required and the cost can be reduced. .
コンピュータ・ネットワーク・システムのルータに適用した場合は、データ転送速度を高速化できる。上述のように動作周波数を向上できるためと、およびチップあたりの記憶容量増加によりルータに内蔵する連想メモリのチップ数を削減することにより複数チップが出力した検索結果の比較処理が不要になるためである。 When applied to a router of a computer network system, the data transfer speed can be increased. Because the operating frequency can be improved as described above, and the number of associative memory chips built in the router is reduced by increasing the storage capacity per chip, so that comparison processing of search results output from multiple chips is not necessary. is there.
[第一の実施例の構成]
次に、本発明の第一の実施の形態について図面を参照して詳細に説明する。図1は、本発明の連想メモリ1の構成例を示すブロック図である。連想メモリ1は、nビット2入力1出力セレクタ23と、nビットm語の連想メモリ・ワード2−1〜2−mと、nビット・ラッチ21と、制御回路30と、論理ゲート16−1〜16−nを有しており、各連想メモリ・ワード2−jは、n個の連想メモリ・セル7−j−1〜7−j−nを備えている。各連想メモリ・ワード2−jには、対応するデータ・ワード線3−jと、マスク・ワード線6−jと、および比較制御信号4が入力のために接続され、対応する一致線5−j、およびn本の一致データ中間論理線14−1〜14−nが出力のために接続され、n本のビット線13−1〜13−nが入出力のために接続されている。
[Configuration of the first embodiment]
Next, a first embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing a configuration example of an
各連想メモリ・セル7−j−kには、対応するデータ・ワード線3−jと、マスク・ワード線6−jと、および比較制御信号4が入力のために接続され、対応する一致線5−j、および一致データ中間論理線14−kが出力のために接続され、ビット線13−kが入出力のために接続されている。
Each associative memory cell 7-j-k is connected with a corresponding data word line 3-j, a mask word line 6-j, and a
各連想メモリ・セル7−j−kは、ビット線13−kを介して外部から入力される記憶データの対応するビット情報を格納するデータ・セル8−j−kと、データ・セル8−j−kに記憶されたビット情報と外部からビット線13−kを介して入力される情報とを比較する比較器10−j−kと、外部からビット線13−kを介して入力されるマスク情報の対応するビット情報を格納するマスク・セル9−j−kと、および論理ゲート11−j−kとを備えている。ここで、マスク・セル9−j−kに格納されたビット情報がマスク情報の有効状態の場合には、対応するデータ・セル8−j−kには、記憶データの無効状態を格納する。 Each associative memory cell 7-jk includes a data cell 8-jk for storing bit information corresponding to stored data inputted from the outside via the bit line 13-k, and a data cell 8- Comparator 10-j-k for comparing bit information stored in j-k with information inputted from outside via bit line 13-k, and inputted from outside via bit line 13-k A mask cell 9-jk for storing bit information corresponding to the mask information and a logic gate 11-jk are provided. Here, when the bit information stored in the mask cell 9-jk is the valid state of the mask information, the invalid state of the stored data is stored in the corresponding data cell 8-jk.
なお、本例では、マスク情報の有効状態を“0”、無効状態を“1”とし、記憶データの有効状態を“1”、無効状態を“0”とする。記憶データと同様に、一致データ論理和線17−1〜17−nの有効状態を“1”、無効状態を“0”とする。一致線5−1〜5−mの有効状態を“1”、無効状態を“0”とする。 In this example, the valid state of the mask information is “0”, the invalid state is “1”, the valid state of the stored data is “1”, and the invalid state is “0”. Like the stored data, the valid state of the coincidence data logical sum lines 17-1 to 17-n is set to “1”, and the invalid state is set to “0”. The valid state of the match lines 5-1 to 5-m is “1”, and the invalid state is “0”.
データ・ワード線3−1〜3−mと、データ・セル8−1−1〜8−m−nの動作は、従来の連想メモリのデータ・ワード線106−1〜106−mと、データ・セル108−1−1〜108−m−nの動作と同じである。また、マスク・ワード線6−1〜6−mと、マスク・セル9−1−1〜9−m−nの動作は、従来の連想メモリのマスク・ワード線111−1〜111−mと、マスク・セル112−1−1〜112−m−nの動作と同じである。 The operation of the data word lines 3-1 to 3-m and the data cells 8-1-1-1 to 8-mn is performed in accordance with the data word lines 106-1 to 106-m of the conventional associative memory and the data. The operation is the same as that of the cells 108-1-1-1 to 108-mn. The operations of the mask word lines 6-1 to 6-m and the mask cells 9-1-1 to 9-mn are the same as those of the mask word lines 111-1 to 111-m of the conventional associative memory. The operation of the mask cells 112-1-1-1 to 112-mn is the same.
一致線5は、検索動作の開始前には、ハイ・レベルにプリ・チャージされ、有効状態“1”になっているものとする。
The
比較器10は、対応するビット線13と、それに同一の連想メモリ・セル7−1−1〜7−m−nの中のデータ・セル8に格納されている記憶データと、マスク・セル9に格納されているマスク情報と、および比較制御信号4を入力とする。比較器10は、比較制御信号4が無効状態“0”かつマスク情報が有効状態ならば、対応する一致線5を解放状態にし、それ以外の場合には、ビット線13の値と記憶データが一致するならば対応する一致線5を開放状態にし、一致しないならば無効状態“0”を出力する。連想メモリ・ワード2の中のn個の比較器10がすべて一致線5を開放状態にしているときに、一致線5は有効状態“1”となり、それ以外の場合には無効状態“0”となる、一致線5の有効状態“1”を真としたワイアードAND論理接続を構成している。つまり、検索動作時には、比較制御信号4が無効状態“0”かつマスク情報が有効状態“0”のために比較対象から除外されたビットを除いて、連想メモリ・ワード2が格納している記憶データとビット線13−1〜13−nが完全に一致する場合に限り、一致線5は有効状態“1”となり、それ以外の場合は無効状態“0”となる。もちろん同様の動作となるように通常の論理ゲートを用いて構成してもかまわない。
The
論理ゲート11−1−1〜11−m−nは、同一の連想メモリ・ワード2−1〜2−mの中の一致線5−1〜5−mが有効状態“1”かつ、同一の連想メモリ・セル7−1−1〜7−m−nの中のデータ・セル8−1−1〜8−m−nに格納された記憶データが有効状態のときに、対応する一致データ中間論理線14−1〜14−nに“0”を出力し、それ以外の場合には開放状態にする。ここで本例では記憶データの有効状態が“1”であるので、データ・セル8−1−1〜8−m−nに格納された記憶データが“1”かつ一致線5−1〜5−mが“1”のときに、対応する一致データ中間論理線14−1〜14−nに“0”を出力し、それ以外の場合には解放状態を出力する。 The logic gates 11-1-1-1 to 11-mn have matching lines 5-1 to 5-m in the same associative memory words 2-1 to 2-m being in the valid state “1” and the same When the stored data stored in the data cells 8-1-1 to 8 -mn in the associative memory cells 7-1-1 to 7 -mn are valid, the corresponding match data intermediate “0” is output to the logic lines 14-1 to 14-n, and in other cases, the logic lines 14-1 to 14-n are opened. In this example, since the valid state of the stored data is “1”, the stored data stored in the data cells 8-1-1 to 8 -mn is “1” and the match lines 5-1 to 5-5. When -m is "1", "0" is output to the corresponding coincidence data intermediate logic lines 14-1 to 14-n, and the release state is output otherwise.
各一致データ中間論理線14−1〜14−nは、抵抗15−1〜15−nによりプル・アップされており、対応するm個の論理ゲート11−1−1〜11−m−nとワイアード論理接続を構成している。従って、接続されているm個の論理ゲート11がすべて一致データ中間論理線14を開放状態にしているときに、一致データ中間論理線14は“1”となり、それ以外の場合には“0”となる。つまり“1”を真としたワイアードAND接続となっている。もちろん同様の動作となるように通常の論理ゲートを用いて構成してもかまわない。
Each of the coincidence data intermediate logic lines 14-1 to 14-n is pulled up by resistors 15-1 to 15-n, and the corresponding m logic gates 11-1-1-1 to 11-mn Configure a wired logical connection. Therefore, when all of the m
論理ゲート16−1〜16−nは、対応する一致データ中間論理線14−1〜14−nの論理状態を反転し、一致データ論理和線17−1〜17−nとして出力する。 The logic gates 16-1 to 16-n invert the logic states of the corresponding coincidence data intermediate logic lines 14-1 to 14-n and output them as coincidence data logical sum lines 17-1 to 17-n.
従って、一致データ論理和線17−kには、m個の論理ゲート11―1−k〜11−m−kと一致データ中間論理線14―k、抵抗15−k、および論理ゲート16−kにより、検索動作時に有効状態“1”となっている一致線5―1〜5−mを有するすべての連想メモリ・セル7―1−k〜7−m−kの中のデータ・セル8−1−k〜8−m−kに格納されている記憶データ同士を、記憶データの有効状態を真とした論理和演算した結果が得られることになる。本例では、記憶データの有効状態“1”を真とした論理和演算した結果が得られる。もちろん同様の動作となるように通常の論理ゲートを用いて構成してもかまわない。これらの動作により、一致データ論理和線17−1〜17−nには、検索動作時に検索データ12と一致した記憶データの中で、最も無効状態“0”のビット数が少ない記憶データと同じ値が出力されることになる。nビット・ラッチ21は、ラッチ制御信号22が有効状態の時に、一致データ論理和線17−1〜17−nの状態を内部に格納する。また、格納した状態をラッチ出力線20−1〜20−nに出力する。
Therefore, the coincidence data OR line 17-k includes m logic gates 11-1-k to 11-mk, coincidence data intermediate logic line 14-k, resistor 15-k, and logic gate 16-k. Thus, the data cell 8- in all the associative memory cells 7-1-k-7-m-k having the matching lines 5-1 to 5-m which are in the valid state "1" during the search operation. As a result, a result of logical OR operation between the stored data stored in 1-k to 8-m-k with the effective state of the stored data being true is obtained. In this example, a logical sum operation result with the valid state “1” of the stored data being true is obtained. Of course, a normal logic gate may be used for the same operation. By these operations, the coincidence data logical sum lines 17-1 to 17-n are the same as the storage data having the smallest number of bits in the invalid state “0” among the storage data matching the
nビット2入力1出力セレクタ23は、ビット線13−1〜13−nに出力するデータを、選択信号24の状態により、検索データ12−1〜12−nとラッチ出力線20−1〜20−nの一方から選択する。
The n-bit 2-input 1-
制御回路30は、連想メモリ1の動作を制御するため、クロック信号31に同期して、ラッチ制御信号22、選択信号24、および比較制御信号4を出力する。
The
[第一の実施例の構成詳細]
次に、上述の連想メモリ・セル7の構成例を図2を用いて説明する。図16に示す従来の連想メモリ・セル118と比較すれば分かるように、本発明の連想メモリ・セル7の、ビット線13a、13b、データ・ワード線3、データ・セル8、マスク・ワード線6、およびマスク・セル9は、従来の連想メモリ・セル118と同様である。
[Configuration details of the first embodiment]
Next, a configuration example of the content
従って従来と異なる部分のみの説明を行う。なお、従来の連想メモリ・セル118が有していたマスク比較器120およびマスク一致線119は、本発明の連想メモリ・セルでは不要である。
Therefore, only the parts different from the conventional one will be described. It should be noted that the
比較器10はMOSトランジスタ(T3)205、MOSトランジスタ(T4)206、MOSトランジスタ(T5)207、MOSトランジスタ(T6)208、およびMOSトランジスタ(T7)209により構成される。MOSトランジスタ(T3)205とMOSトランジスタ(T4)206はビット線13a,13bの間に直列に挿入される。MOSトランジスタ(T3)205は、データ・セル8内の反転論理ゲート(G1)201の出力がハイ・レベルのときに導通状態となる。MOSトランジスタ(T4)206は、データ・セル8内の反転論理ゲート(G2)202の出力がハイ・レベルのときに導通状態となる。MOSトランジスタ(T6)208とMOSトランジスタ(T7)209は並列接続され、この並列接続された2つのMOSトランジスタは、MOSトランジスタ(T5)207とともに、一致線5と低電位の間に直列に挿入される。MOSトランジスタ(T6)208は、マスク・セル9内の反転論理ゲート(G4)211の出力がハイ・レベルの時に導通状態となる。MOSトランジスタ(T7)209は、比較制御信号4が有効状態“1”の時に導通状態となる。
The
MOSトランジスタ(T5)207は、MOSトランジスタ(T3)205とMOSトランジスタ(T4)206の接続点の電位がハイ・レベルの時に導通状態となる。ビット線13aと反転論理ゲート(G1)201の出力がともにハイ・レベル、またはビット線13bと反転論理ゲート(G2)202の出力がともにハイ・レベルのときに、MOSトランジスタ(T3)205とMOSトランジスタ(T4)206の接続点はハイ・レベルとなり、MOSトランジスタ(T5)207を導通状態とする。
The MOS transistor (T5) 207 becomes conductive when the potential at the connection point between the MOS transistor (T3) 205 and the MOS transistor (T4) 206 is high. When both the output of the
従って、データ・セル8に格納されている記憶データと、ビット線13a,13b上の検索データ12が異なる場合にMOSトランジスタ(T5)207は導通状態になる。またMOSトランジスタ(T6)208はマスク・セル9内に格納されているマスク情報が“0”のときには開放状態であり、“1”のときに導通状態となる。一致線5は検索動作を開始する前に高電位にプリ・チャージされているものとする。これにより、複数の連想メモリ・セル7が一致線5にMOSトランジスタ(T6)208、およびMOSトランジスタ(T7)209を介して接続されているとき、1つの連想メモリ・セル7でもロウ・レベルを出力していると一致線5はロウ・レベルとなるようなワイアードAND接続となる。
Therefore, when the stored data stored in the data cell 8 and the
MOSトランジスタ(T5)207が導通状態のときに、並列接続されたMOSトランジスタ(T6)208、MOSトランジスタ(T7)209のどちらか1つでも導通状態の場合に連想メモリ・セル7は一致線5に無効状態“0”を出力し、それ以外の時には一致線5を開放状態とする。すなわち、マスク情報が有効状態“0”かつ比較制御信号4が無効状態“0”の場合には検索データ12と記憶データの比較結果によらず一致線5を開放状態とし、それ以外の場合にはビット線13a,13b上の検索データ12とデータ・セル8に格納されている記憶データが一致するときに開放状態とし、異なる場合には無効状態“0”を出力する。
When the MOS transistor (T5) 207 is conductive, the
次に、論理ゲート11と一致データ中間論理線14の働きを説明する。一致データ中間論理線14は図1の抵抗15によりプル・アップされ検索動作前には“1”になっている。論理ゲート11は、一致データ中間論理線14と低電位との間に直列に挿入されたMOSトランジスタ(T10)214と、MOSトランジスタ(T11)215で構成されている。MOSトランジスタ(T10)214は、一致線5が有効状態“1”のときに導通状態となり、無効状態“0”のときには開放状態となる。MOSトランジスタ(T11)215は、データ・セル8内部の反転論理ゲート(G2)202の出力がハイ・レベルの場合に導通状態となり、ロウ・レベルの場合には開放状態となる。つまり、データ・セル8に格納されている記憶データが有効状態“1”のときに導通状態となり、無効状態“0”のときには開放状態となる。これにより論理ゲート11は、一致線5が有効状態“1”かつデータ・セル8に格納された記憶データが有効状態“1”のときに、一致データ中間論理線14に“0”を出力し、それ以外の場合には開放状態にする。
Next, functions of the
[第一の実施例の動作]
次に、上述の連想メモリ1を、図19のルータ400−3における転送先ネットワーク・アドレスの計算に用いた場合の動作を、図3を用いて説明する。そのときのタイミングチャートを図4に示す。
連想メモリ1を8ビット5語の構成と仮定し、各連想メモリ・ワード2−1〜2−5に格納されている記憶データ、マスク情報には、図19のルータ400−3のネットワーク・アドレス(3.*.*.*)以外の接続情報を記憶しているものとする。このとき、接続情報の中のドント・ケア“*”状態のビットは、記憶データの該当ビットを記憶データの無効状態“0”、マスク情報の該当ビットをマスク・データの有効状態“0”とすることで表現される。
[Operation of the first embodiment]
Next, the operation when the above-mentioned
Assuming that the
つまり、連想メモリ・ワード2−1には(1.*.*.*)を実現するため2進数で、記憶データには(01.00.00.00)を、マスク情報として(11.00.00.00)を格納してある。同様に連想メモリ・ワード2−2には(2.*.*.*)を実現するため2進数で、記憶データには(10.00.00.00)を、マスク情報として(11.00.00.00)を格納してある。連想メモリ・ワード2−3には(1.2.2.*)を実現するため2進数で、記憶データには(01.10.10.00)を、マスク情報として(11.11.11.00)を格納してある。連想メモリ・ワード2−4には(1.2.*.*)を実現するため2進数で、記憶データには(01.10.00.00)を、マスク情報として(11.11.00.00)を格納してある。連想メモリ・ワード2−5には(2.1.1.*)を実現するため2進数で、記憶データには(10.01.01.00)を、マスク情報として(11.11.11.00)を格納してある。 That is, the associative memory word 2-1 is a binary number for realizing (1. *. *. *), And (01.00.00.00) is used as mask information (11.00 for the stored data). 0.00.00) is stored. Similarly, the associative memory word 2-2 is a binary number to realize (2. *. *. *), (10.00.00.00) is stored as mask information (11.00) 0.00.00) is stored. The associative memory word 2-3 has a binary number to realize (1.2.2. *), And (01.10.10.00) is stored as mask information (11.11.11). .00) are stored. The associative memory word 2-4 is a binary number to realize (1.2. *. *), The stored data is (01.10.00.00) as mask information (11.1.00) .00) are stored. The associative memory word 2-5 has a binary number to realize (2.1.1. *), And (10.01.01.00) is stored as mask information (11.11.11). .00) are stored.
以降、検索データ12として図19のPC401−1の4進数のネットワーク・アドレス(1.2.2.1)を入力し検索動作を行った場合の動作説明をする。
Hereinafter, the operation when the search operation is performed by inputting the quaternary network address (1.2.2.1) of the PC 401-1 in FIG. 19 as the
まず、図4のタイミング(1)で、すべての一致線5−1〜5−5は、ハイ・レベルにプリ・チャージされ、有効状態“1”になっている。
次に図4のタイミング(2)で、制御回路30が出力する選択信号24により、nビット2入力1出力セレクタ23は検索データ12を選択し、ビット線13−1〜13−8に出力する。また、制御回路30は比較制御信号4に無効状態“0”を出力し、各連想メモリ・セル7−1−1〜7−m−nにおいて、その中の記憶データと検索データ12の対応ビットの比較結果によらずに、その中のマスク情報が有効状態“0”の場合には対応する一致線5を解放状態とすることを許可する。つまりドント・ケア“*”も考慮して比較する。これにより、連想メモリ1の連想メモリ・ワード2−1に格納されている4進表現の(1.*.*.*)と、連想メモリ・ワード2−3に格納されている4進表現の(1.2.2.*)と、連想メモリ・ワード2−4に格納されている4進表現の(1.2.*.*)がビット線13−1〜13−8上の検索データ12と一致する。従って、一致線5−1、5−3および5−4の3本が有効状態“1”となり、残りの一致線5−2、5−5は無効状態“0”となる。
First, at the timing (1) in FIG. 4, all the coincidence lines 5-1 to 5-5 are precharged to the high level and are in the valid state “1”.
Next, at timing (2) in FIG. 4, the n-bit 2-input 1-
ここで、一致データ論理和線17−1からは、連想メモリ・ワード2−1内の一致データ中間論理線14−1に対応する記憶データ“0”と、連想メモリ・ワード2−3内の一致データ中間論理線14−1に対応する記憶データ“0”と、連想メモリ・ワード2−4内の一致データ中間論理線14−1に対応する記憶データ“0”に対しての“1”を真とした論理和結果“0”が出力される。一致データ論理和線17−2からは、連想メモリ・ワード2−1内の一致データ中間論理線14−2に対応する記憶データ“1”と、連想メモリ・ワード2−3内の一致データ中間論理線14−2に対応する記憶データ“1”と、連想メモリ・ワード2−4内の一致データ中間論理線14−2に対応する記憶データ“1” に対しての“1”を真とした論理和結果“1”が出力される。以降同様に、一致データ論理和線17−3からは“0”と“1”と“1” に対しての“1”を真とした論理和結果“1”が、一致データ論理和線17−4からは“0”と“0”と“0” に対しての“1”を真とした論理和結果“0”が、一致データ論理和線17−5からは“0”と“1”と“0” に対しての“1”を真とした論理和結果“1”が、一致データ論理和線17−6からは“0”と“0”と“0” に対しての“1”を真とした論理和結果“0”が、一致データ論理和線17−7からは“0”と“0”と“0” に対しての“1”を真とした論理和結果“0”が、一致データ論理和線17−8からは“0”と“0”と“0” に対しての“1”を真とした論理和結果“0”が、それぞれ出力される。従って、一致データ論理和線17−1〜17−8には、2進表現で“01101000”が出力されることになる。
Here, from the coincidence data OR line 17-1, the storage data “0” corresponding to the coincidence data intermediate logical line 14-1 in the associative memory word 2-1 and the associative memory word 2-3 “1” for storage data “0” corresponding to match data intermediate logic line 14-1 and storage data “0” corresponding to match data intermediate logic line 14-1 in associative memory word 2-4. The logical sum result “0” is set to be true. From the coincidence data OR line 17-2, the stored data “1” corresponding to the coincidence data intermediate logical line 14-2 in the associative memory word 2-1 and the coincidence data intermediate in the associative memory word 2-3 “1” for storage data “1” corresponding to logical line 14-2 and storage data “1” corresponding to coincidence data intermediate logical line 14-2 in associative memory word 2-4 is true. The logical sum result “1” is output. Similarly, from the coincidence data logical sum line 17-3, a logical sum result "1" with "1" for "0", "1", and "1" being true is obtained as a coincidence data
この状態で、制御回路30が出力するラッチ制御信号22が有効状態になり、nビット・ラッチ21は一致データ論理和線17−1〜17−8の状態を内部に格納する。従って、nビット・ラッチ21は2進表現で“01101000”を格納し、その値をラッチ出力線20−1〜20−8に出力する。
In this state, the
図4のタイミング(3)は、本例では、タイミング(2)とタイミング(4)双方のクロック信号31の状態を同一にするために挿入されており、連想メモリ1は、タイミング(2)の最終状態を保持し続ける。タイミング(2)とタイミング(4)双方のクロック信号31の状態を同一でなくても制御回路30が動作する場合には、タイミング(3)を挿入する必要ない。
In this example, the timing (3) in FIG. 4 is inserted so that the states of the clock signals 31 at both the timing (2) and the timing (4) are the same. Keep the final state. When the
次に図4のタイミング(4)で、制御回路30が出力する選択信号24により、nビット2入力1出力セレクタ23はラッチ出力線20を選択し、その情報“01101000”を対応するビット線13−1〜13−8に出力した後、連想メモリ1は2回目の検索動作を開始する。2回目の検索動作では、一致線5−1〜5−5に保持されている、タイミング(2)で実行した1回目の検索動作の結果を利用する。本例では、一致線5−1、5−3および5−4の3本が有効状態“1”を保持しており、データ一致線5−2、5−5は無効状態“0”を保持している。1回目の検索動作の結果を記憶手段に格納し、タイミング(4)での検索時にその格納状態を利用してもよいことは、言うまでもない。また、制御回路30は比較制御信号4に有効状態“1”を出力する。これにより、各連想メモリ・セル7−1−1〜7−m−nは、その中のマスク情報によらず、その中の記憶データと対応するビット線13の比較結果が不一致の場合には、一致線5に無効状態“0”を出力する。つまりドント・ケア“*”を考慮せず、各連想メモリ・ワード2−1〜2−5に格納されている記憶データ自体とビット線13―1〜13−8の状態“01101000”とを比較し、不一致の場合には対応する一致線5−1〜5−5に無効状態“0”を出力することになる。
Next, at timing (4) in FIG. 4, the n-bit 2-input 1-
本例では、ビット線13−1〜13−8の状態“01101000”に対して、連想メモリ・ワード2−3が格納する記憶データが完全に一致し、対応する一致線5−3を開放状態にする。他の連想メモリ・ワード2−1,2−2、2−4、および2−5が格納する記憶データは一致しないので、対応する一致線5−1,5−2、5−4、および5−5に無効状態“0”を出力する。従って、2回目の検索動作開始前に有効状態“1”を保持していた一致線5−1,5−3,5−4の3本の中で、2回目の検索動作後も有効状態“1”を保持し続けるのは、一致線5−3のみとなる。 In this example, the stored data stored in the associative memory word 2-3 completely match the state “01101000” of the bit lines 13-1 to 13-8, and the corresponding match line 5-3 is opened. To. Since the stored data stored in the other associative memory words 2-1, 2-2, 2-4, and 2-5 do not match, the corresponding match lines 5-1, 5-2, 5-4, and 5 The invalid state “0” is output to −5. Accordingly, among the three match lines 5-1, 5-3, and 5-4 that have been in the valid state “1” before the second search operation starts, the valid state after the second search operation “ Only the match line 5-3 keeps holding 1 ″.
従って、入力した検索データ12と、対応するマスク情報を考慮して比較した結果一致する記憶データの中で、マスク情報の有効状態のビットが最も少ない記憶データに対応する一致線5−3のみに有効状態を出力することがわかる。
Accordingly, only the match line 5-3 corresponding to the stored data having the least number of valid bits of the mask information among the stored data that matches the
上述のように、本発明の第一の実施例の連想メモリ1は、1回目の検索動作、2回目の検索動作ともに、比較器10−1−1〜10−m−nで実行し、結果を一致線5−1〜5−mに出力する。従って図2に示すように連想メモリ・セル7は、図16に示す連想メモリ・セル118と比較して、マスク・比較器が削除することができる。ここで、従って、比較器10,および論理ゲート11を構成するMOSトランジスタの面積を、最小面積のMOSトランジスタの10倍、一般的なスタティックRAM素子の面積は最小面積のMOSトランジスタの6倍と仮定すると、図2から容易に分かるように連想メモリ・セル7の面積は、最小面積のMOSトランジスタの82倍となる。従来の連想メモリ・セル118の面積は前述のように最小面積のMOSトランジスタの102倍であったから、本発明の連想メモリ・セル7は、従来の連想メモリ・セル118に比べて20%程度面積を削減できることになる。
As described above, the
また、1回目の検索動作の結果も、2回目の検索動作の結果も同一の一致線5−1〜5−mに出力されるため、従来の連想メモリ116で必要であった1回目の検索動作の結果を2回目の検索動作を実行するまで保持するためのラッチ123−1〜123−mが不要である。従って、従来の連想メモリ116に比べて、さらに面積削減が可能である。例えば、1語64ビットで32768語の構成の場合、ラッチ123が10個のMOSトランジスタから構成されていると仮定すると、およそ33万個のMOSトランジスタ分の面積が削減できることになる。従って、上記の連想メモリ・セルの面積削減分と合わせると、チップ全体で25%程度の面積削減が可能となる。
Further, since the result of the first search operation and the result of the second search operation are output to the same match lines 5-1 to 5-m, the first search required in the conventional
また、1回目の検索動作の結果も、2回目の検索動作の結果も同一の一致線5−1〜5−mに出力されるため、検索動作のごとのプリ・チャージもm本の一致線5−1〜5−mとn本の一致データ中間論理線14−1〜14−nのみでよい。つまり検索動作のたび(m+n)本プリ・チャージすればよい。従来の連想メモリ116では、前述のとおり、m本のデータ一致線107−1〜107−m、m本のマスク一致線119−1〜119−m、およびn本の最短マスク線122−1〜122−nのプリ・チャージが必要であり、従って、検索動作のたびに(2m+n)本プリ・チャージすることになる。ここで1語64ビットで32768語の構成の場合、チップ全体でプリ・チャージする配線の本数は、従来の連想メモリ116では65600本、本発明の連想メモリ1では32832本となり、従って、従来の連想メモリ116と比較して消費電力が50%程度削減できることになる。
In addition, since the result of the first search operation and the result of the second search operation are output to the same match lines 5-1 to 5-m, m pre-charges for each search operation are also performed. Only 5-1 to 5-m and n matching data intermediate logic lines 14-1 to 14-n are sufficient. That is, (m + n) pre-charges may be performed each time a search operation is performed. In the conventional
また、連想メモリ・セル7の面積削減に伴い、ビット線13−1〜13−n、一致データ中間論理線14−1〜14−nの配線長も短縮される。連想メモリ・セル7を構成するMOSトランジスタの大きさが前述の例のとおりだとすると、図2から容易に分かるように、従来の連想メモリ・セル118に比べて25%程度配線長が短縮されることになる。配線容量がその分減少するので、クロック信号31の周波数を32%程度高くすることができるという効果もある。
As the area of the
[第二の実施例の構成]
次に、本発明の第二の実施の形態について図5および図6を参照して詳細に説明する。本例の連想メモリ28は、第一の実施の形態の連想メモリ1と比較すると、記憶データの有効状態を“0”、無効状態を“1”としていることと、論理ゲート16−1〜16−nが論理ゲート27−1〜27−nに変更されていることと、および連想メモリ・ワード2−1〜2−mの中の連想メモリ・セル7−1−1〜7−m−nが連想メモリ・セル26−1−1〜26−m−nに変更されていることのみが異なり、他の部分は同様に構成される。連想メモリ・セル26−1−1〜26−m−nは、第一の実施の形態の連想メモリ・セル7−1−1〜7−m−nと比較すると、論理ゲート11−1−1〜11−m−nが論理ゲート25−1−1〜25−m−nに変更されていることのみが異なり、他の部分は同様に構成される。従って、第一の実施例と異なる点についてのみ説明を行う。なお、第一の実施例と同様に、マスク・セル9−j−kに格納されたビット情報がマスク情報の有効状態の場合には、対応するデータ・セル8−j−kには、記憶データの無効状態を格納する。
[Configuration of the second embodiment]
Next, a second embodiment of the present invention will be described in detail with reference to FIGS. Compared with the
論理ゲート25−1−1〜25−m−nは、第一の実施の形態の論理ゲート11−1−1〜11−m−nと同様に、同一の連想メモリ・ワード2−1〜2−mの中の一致線5−1〜5−mが有効状態“1”かつ、同一の連想メモリ・セル7−1−1〜7−m−nの中のデータ・セル8−1−1〜8−m−nに格納された記憶データが有効状態のときに、対応する一致データ中間論理線14−1〜14−nに“0”を出力し、それ以外の場合には開放状態にする。ここで本例では記憶データの有効状態が“0”であるので、データ・セル8−1−1に格納された記憶データが“0”かつ一致線5−1〜5−mが“1”のときに、対応する一致データ中間論理線14−1〜14−nに“0”を出力し、それ以外の場合には解放状態を出力する。 Similarly to the logic gates 11-1-1-1 to 11-mn of the first embodiment, the logic gates 25-1-1 to 25-mn are the same associative memory words 2-1 to 2-2. Match lines 5-1 to 5-m in -m are in the valid state "1" and data cells 8-1-1 in the same associative memory cells 7-1-1 to 7-mn. When the stored data stored in .about.8-mn is in a valid state, "0" is output to the corresponding coincidence data intermediate logic lines 14-1 to 14-n, and in other cases it is opened. To do. In this example, since the valid state of the stored data is “0”, the stored data stored in the data cell 8-1-1 is “0” and the match lines 5-1 to 5-m are “1”. In this case, “0” is output to the corresponding coincidence data intermediate logic lines 14-1 to 14-n, and in other cases, the release state is output.
各一致データ中間論理線14−1〜14−nは、第一の実施の形態と同様に抵抗15−1〜15−nによりプル・アップされており、対応するm個の論理ゲート25−1−1〜25−m−nとワイアード論理接続を構成している。従って、接続されているm個の論理ゲート25がすべて一致データ中間論理線14を開放状態にしているときに、一致データ中間論理線14は“1”となり、それ以外の場合には“0”となる。つまり“1”を真としたワイアードAND接続となっている。もちろん同様の動作となるように通常の論理ゲートを用いて構成してもかまわない。
Each of the coincidence data intermediate logic lines 14-1 to 14-n is pulled up by resistors 15-1 to 15-n as in the first embodiment, and the corresponding m logic gates 25-1 are provided. -1 to 25-mn and a wired logical connection are configured. Therefore, when all of the m
論理ゲート27−1〜27−nは、対応する一致データ中間論理線14−1〜14−nの論理状態をそのまま一致データ論理和線17−1〜17−nとして出力する。論理ゲート27−1〜27−nは、論理的には意味はなく、ワイアードAND論理により生成された信号を整形するために挿入されている。クロック信号31による動作周波数が十分に低ければ論理ゲート27−1〜27−nは不要であることはいうまでもない。
The logic gates 27-1 to 27-n output the logical states of the corresponding match data intermediate logic lines 14-1 to 14-n as match data OR lines 17-1 to 17-n as they are. The logic gates 27-1 to 27-n are logically meaningless and are inserted to shape a signal generated by the wired AND logic. Needless to say, the logic gates 27-1 to 27-n are not required if the operating frequency of the
従って、一致データ論理和線17−kには、m個の論理ゲート25―1−k〜25−m−kと一致データ中間論理線14―k、抵抗15−k、および論理ゲート27−kにより、検索動作時に有効状態“1”となっている一致線5―1〜5−mを有するすべての連想メモリ・セル26―1−k〜26−m−kの中のデータ・セル8−1−1〜8−m−kに格納されている記憶データ同士を、記憶データの有効状態を真とした論理和演算した結果が得られることになる。本例では、記憶データの有効状態“0”を真とした論理和演算した結果が得られる。もちろん同様の動作となるように通常の論理ゲートを用いて構成してもかまわない。これらの動作により、一致データ論理和線17−1〜17−nには、検索動作時に検索データ12と一致した記憶データの中で、最も無効状態“1”のビット数が少ない記憶データと同じ値が出力されることになる。
Therefore, the coincidence data OR line 17-k includes m logic gates 25-1-k to 25-mk, coincidence data intermediate logic line 14-k, resistor 15-k, and logic gate 27-k. Thus, the data cell 8- in all associative memory cells 26-1-k to 26-mk having the matching lines 5-1 to 5-m which are in the valid state "1" during the search operation. As a result, the result of logical sum operation between the storage data stored in 1-1 to 8-mk with the effective state of the storage data being true is obtained. In this example, a result of logical sum operation with the valid state “0” of the stored data as true is obtained. Of course, a normal logic gate may be used for the same operation. By these operations, the coincidence data logical sum lines 17-1 to 17-n are the same as the storage data having the smallest number of bits in the invalid state “1” among the storage data that matches the
[第二の実施例の動作]
次に、上述の連想メモリ28を、図19のルータ400−3における転送先ネットワーク・アドレスの計算に用いた場合の動作を、図7を用いて説明する。
連想メモリ28を8ビット5語の構成と仮定し、各連想メモリ・ワード2−1〜2−5に格納されている記憶データ、マスク情報には、図19のルータ400−3のネットワーク・アドレス(3.*.*.*)以外の接続情報を記憶しているものとする。このとき、接続情報の中のドント・ケア“*”状態のビットは、記憶データの該当ビットを記憶データの無効状態“1”、マスク情報の該当ビットをマスク情報の有効状態“0”とすることで表現される。
[Operation of the second embodiment]
Next, the operation when the above-mentioned associative memory 28 is used for calculation of the transfer destination network address in the router 400-3 in FIG. 19 will be described with reference to FIG.
Assuming that the associative memory 28 has an 8-bit 5-word configuration, the stored data and mask information stored in each associative memory word 2-1 to 2-5 include the network address of the router 400-3 in FIG. It is assumed that connection information other than (3. *. *. *) Is stored. At this time, in the don't care “*” state bits in the connection information, the corresponding bit of the stored data is set to the invalid state “1” of the stored data, and the corresponding bit of the mask information is set to the valid state “0” of the mask information. It is expressed by that.
つまり、連想メモリ・ワード2−1には(1.*.*.*)を実現するため2進数で、記憶データには(01.11.11.11)を、マスク情報として(11.00.00.00)を格納してある。同様に連想メモリ・ワード2−2には(2.*.*.*)を実現するため2進数で、記憶データには(10.11.11.11)を、マスク情報として(11.00.00.00)を格納してある。連想メモリ・ワード2−3には(1.2.2.*)を実現するため2進数で、記憶データには(01.10.10.11)を、マスク情報として(11.11.11.00)を格納してある。連想メモリ・ワード2−4には(1.2.*.*)を実現するため2進数で、記憶データには(01.10.11.11)を、マスク情報として(11.11.00.00)を格納してある。連想メモリ・ワード2−5には(2.1.1.*)を実現するため2進数で、記憶データには(10.01.01.11)を、マスク情報として(11.11.11.00)を格納してある。 In other words, the associative memory word 2-1 is a binary number for realizing (1. *. *. *), (01.11.11.11) is used as mask information (11.00 as mask information). 0.00.00) is stored. Similarly, the associative memory word 2-2 is a binary number to realize (2. *. *. *), The stored data is (10.11.11.11) as mask information (11.00) 0.00.00) is stored. The associative memory word 2-3 has a binary number to realize (1.2.2. *), And (01.10.10.11) is stored as mask information (11.11.11). .00) are stored. The associative memory word 2-4 is a binary number to realize (1.2. *. *), The stored data is (01.10.11.11) as mask information (11.1.00) .00) are stored. The associative memory word 2-5 is a binary number to realize (2.1.1. *), And (10.01.01.11) is used as the mask data (11.11.11) as the stored data. .00) are stored.
以降、検索データ12として図19のPC401−1の4進数のネットワーク・アドレス(1.2.2.1)を入力し検索動作を行った場合の動作を、第一の実施の形態と異なる点についてのみ説明する。
1回目の検索動作においては、第一の実施の形態と同様に、連想メモリ・ワード2−1、2−3,および2−4が一致する。従って、一致線5−1、5−3および5−4の3本が有効状態“1”となり、残りの一致線5−2、5−5は無効状態“0”となる。
Thereafter, the operation when the search operation is performed by inputting the quaternary network address (1.2.2.1) of the PC 401-1 in FIG. 19 as the
In the first search operation, associative memory words 2-1, 2-3, and 2-4 match, as in the first embodiment. Accordingly, three match lines 5-1, 5-3 and 5-4 are in the valid state "1", and the remaining match lines 5-2 and 5-5 are in the invalid state "0".
ここで、一致データ論理和線17−1からは、連想メモリ・ワード2−1内の一致データ中間論理線14−1に対応する記憶データ“0”と、連想メモリ・ワード2−3内の一致データ中間論理線14−1に対応する記憶データ“0”と、連想メモリ・ワード2−4内の一致データ中間論理線14−1に対応する記憶データ“0”に対しての前述のとおり“0”を真とした論理和結果“0”が出力される。一致データ論理和線17−2からは、連想メモリ・ワード2−1内の一致データ中間論理線14−2に対応する記憶データ“1”と、連想メモリ・ワード2−3内の一致データ中間論理線14−2に対応する記憶データ“1”と、連想メモリ・ワード2−4内の一致データ中間論理線14−2に対応する記憶データ“1”に対しての“0”を真とした論理和結果“1”が出力される。以降同様に、一致データ論理和線17−3からは“1”と“1”と“1”に対しての“0”を真とした論理和結果“1”が、一致データ論理和線17−4からは“1”と“0”と“0”に対しての“0”を真とした論理和結果“0”が、一致データ論理和線17−5からは“1”と“1”と“1”のに対しての“0”を真とした論理和結果“1”が、一致データ論理和線17−6からは“1”と“0”と“1”
に対しての“0”を真とした論理和結果“0”が、一致データ論理和線17−7からは“1”と“1”と“1” に対しての“0”を真とした論理和結果“1”が、一致データ論理和線17−8からは“1”と“1”と“1” に対しての“0”を真とした論理和結果“1”が、それぞれ出力される。従って、一致データ論理和線17−1〜17−8には、2進表現で“01101011”が出力され、nビット・ラッチ21に格納される。
Here, from the coincidence data OR line 17-1, the storage data “0” corresponding to the coincidence data intermediate logical line 14-1 in the associative memory word 2-1 and the associative memory word 2-3 As described above for the storage data “0” corresponding to the coincidence data intermediate logical line 14-1 and the storage data “0” corresponding to the coincidence data intermediate logical line 14-1 in the associative memory word 2-4. A logical sum result “0” with “0” being true is output. From the coincidence data OR line 17-2, the storage data “1” corresponding to the coincidence data intermediate logical line 14-2 in the associative memory word 2-1 and the coincidence data intermediate in the associative memory word 2-3 “0” for storage data “1” corresponding to logical line 14-2 and storage data “1” corresponding to coincidence data intermediate logical line 14-2 in associative memory word 2-4 is true. The logical sum result “1” is output. Similarly, from the coincidence data logical sum line 17-3, a logical sum result “1” in which “0” is true for “1”, “1”, and “1” is obtained as the coincidence data
The logical OR result “0” in which “0” is true with respect to “1”, and “0” with respect to “1”, “1”, and “1” is true from the coincidence data logical sum line 17-7. The logical sum result “1” is the logical sum result “1” from the coincidence data logical sum line 17-8 with “0” for “1”, “1”, and “1” being true. Is output. Therefore, “01101011” is output in binary representation to the coincidence data OR lines 17-1 to 17-8 and stored in the n-bit latch 21.
2回目の検索動作においては、ビット線13−1〜13−8の状態“01101011”に対して、連想メモリ・ワード2−3が格納する記憶データが完全に一致し、対応する一致線5−3を開放状態にする。他の連想メモリ・ワード2−1,2−2、2−4、および2−5が格納する記憶データは一致しないので、対応する一致線5−1,5−2、5−4、および5−5に無効状態“0”を出力する。従って、2回目の検索動作開始前に有効状態“1”を保持していた一致線5−1,5−3,5−4の3本の中で、2回目の検索動作後も有効状態“1”を保持し続けるのは、一致線5−3のみとなる。 In the second search operation, the stored data stored in the associative memory word 2-3 completely match the state “01101011” of the bit lines 13-1 to 13-8, and the corresponding match line 5- 3 is opened. Since the stored data stored in the other associative memory words 2-1, 2-2, 2-4, and 2-5 do not match, the corresponding match lines 5-1, 5-2, 5-4, and 5 The invalid state “0” is output to −5. Accordingly, among the three match lines 5-1, 5-3, and 5-4 that have been in the valid state “1” before the second search operation starts, the valid state after the second search operation “ Only the match line 5-3 keeps holding 1 ″.
従って、入力した検索データ12と、対応するマスク情報を考慮して比較した結果一致する記憶データの中で、マスク情報の有効状態のビットが最も少ない記憶データに対応する一致線5−3のみに有効状態を出力することがわかる。
Accordingly, only the match line 5-3 corresponding to the stored data having the least number of valid bits of the mask information among the stored data that matches the
第一の実施の形態、第二の実施の形態ともにマスク情報の有効状態を“0”として説明したが、マスク情報の有効状態を“1”とした場合においても、前述と同様に、各連想メモリ・ワードにおいて、マスク有効状態となっているマスク情報のビットに対応する記憶データのビットに記憶データの無効状態を格納しておき、第1回目の検索動作時に有効状態となっている一致線を有する連想メモリ・ワードの中の記憶データのすべてに対して、記憶データの有効状態を真とした論理和演算を行った結果を2回目の検索動作時のビット線の状態とするように構成すれば、本発明の連想メモリを実現できることは言うまでもない。 In both the first embodiment and the second embodiment, the valid state of the mask information has been described as “0”. However, even when the valid state of the mask information is set to “1”, as in the above, each association In the memory word, the invalid state of the stored data is stored in the bit of the stored data corresponding to the mask information bit in the mask valid state, and the coincidence line which is in the valid state at the first search operation The result of performing an OR operation with all stored data in the associative memory word having the true value of the stored data as true is set as the bit line state during the second search operation. Needless to say, the content addressable memory of the present invention can be realized.
また、第一の実施の形態、第二の実施の形態ともに各連想メモリ・ワードにおいて、マスク有効状態となっているマスク情報のビットに対応する記憶データのビットに記憶データの無効状態を格納したが、比較制御信号4が有効状態となる2回目の検索動作時には、比較器10においてマスク有効状態なっているマスク情報のビットに対応する記憶データには記憶データの無効状態が記憶されているものとみなして比較を行っても同じ結果が得られることは容易に分かる。
In both the first embodiment and the second embodiment, in each associative memory word, the invalid state of the stored data is stored in the bit of the stored data corresponding to the bit of the mask information in the mask valid state. However, at the time of the second search operation in which the
[第三の実施例の構成]
次に、本発明の第三の実施の形態について図面を参照して詳細に説明する。図8は本発明の第三の実施の形態の連想メモリ42の構成を示すブロック図である。
[Configuration of the third embodiment]
Next, a third embodiment of the present invention will be described in detail with reference to the drawings. FIG. 8 is a block diagram showing a configuration of the
連想メモリ42は、nビットm語の一致データ論理和信号出力機能付連想メモリ33と、nビットm語のマスク機能無し連想メモリ101とから構成される。本例では、一致データ論理和信号出力機能付連想メモリ33が1回目の検索動作を行い一致データ論理和信号38を計算し、得られた一致データ論理和信号38を用いてマスク機能無し連想メモリ101が2回目の検索動作を行い一致線5−1〜5−mを出力する。
The
nビットm語の一致データ論理和信号出力機能付連想メモリ33は、n本のビット線13−1〜13−nに入力された検索データ12と、m個の連想メモリ・ワード43−1〜43−mごとに内部のデータ・セル8−1−1〜8−m−nに格納されている記憶データおよびマスク・セル9−1−1〜9−m−nに格納されたマスク情報を用いて、計算された一致データ論理和信号38をn本の一致データ論理和線17−1〜17−nに出力する。一致データ論理和信号38は、第一の実施の形態の連想メモリ1と同様な操作により計算される。ここで、マスク・セル9−j−kに格納されたビット情報がマスク情報の有効状態の場合には、対応するデータ・セル8−j−kには記憶データの無効状態を格納する。
The
マスク機能無し連想メモリ101は、ビット線103−1〜103−nから入力された一致データ論理和信号38を、m個の連想メモリ・ワード104−1〜104−mごとに内部のデータ・セル105−1−1〜105−m−nに格納している第二の記憶データと一致しているかを比較した結果、一致した連想メモリ・ワード104に対応するデータ一致線107−1〜107−mに有効状態“1”を出力する。データ一致線107−1〜107−mの状態は、一致線5−1〜5−mとして連想メモリ42から出力される。ここで、一致データ論理和信号出力機能付連想メモリ33のマスク・セル9−j−kに格納されたビット情報がマスク情報の有効状態の場合には、対応するデータ・セル105−j−kには、記憶データの無効状態を格納する。
The
なお、本例では、マスク情報の有効状態を“0”、無効状態を“1”とし、記憶データの有効状態を“1”、無効状態を“0”とする。記憶データと同様に、一致データ論理和線17−1〜17−nの有効状態を“1”、無効状態を“0”とする。一致線5−1〜5−mの有効状態を“1”、無効状態を“0”とする。 In this example, the valid state of the mask information is “0”, the invalid state is “1”, the valid state of the stored data is “1”, and the invalid state is “0”. Similarly to the stored data, the valid state of the coincidence data logical sum lines 17-1 to 17-n is set to “1”, and the invalid state is set to “0”. The valid state of the match lines 5-1 to 5-m is “1”, and the invalid state is “0”.
nビットm語の一致データ論理和信号出力機能付連想メモリ33の構成例を図9に示す。一致データ論理和信号出力機能付連想メモリ33は、nビットm語の連想メモリ・ワード43−1〜43−mと、論理ゲート16−1〜16−nを有しており、各連想メモリ・ワード43−jは、n個の連想メモリ・セル44−j−1〜44−j−nを備えている。論理ゲート16−1〜16−nの動作は第一の実施の形態の連想メモリ1と全く同様である。
FIG. 9 shows a configuration example of the
各連想メモリ・ワード43−jには、対応するデータ・ワード線3−jと、マスク・ワード線6−jが入力のために接続され、対応する中間一致線41−j、およびn本の一致データ中間論理線14−1〜14−nが出力のために接続され、n本のビット線13−1〜13−nが入出力のために接続されている。 Each associative memory word 43-j is connected with a corresponding data word line 3-j and a mask word line 6-j for input, a corresponding intermediate match line 41-j, and n Match data intermediate logic lines 14-1 to 14-n are connected for output, and n bit lines 13-1 to 13-n are connected for input / output.
各連想メモリ・セル44−j−kには、対応するデータ・ワード線3−jと、マスク・ワード線6−jが入力のために接続され、対応する中間一致線41−j、および一致データ中間論理線14−kが出力のために接続され、ビット線13−kが入出力のために接続されている。 Each associative memory cell 44-j-k has a corresponding data word line 3-j and a mask word line 6-j connected for input, a corresponding intermediate match line 41-j, and a match. Data intermediate logic line 14-k is connected for output, and bit line 13-k is connected for input / output.
各連想メモリ・セル44−j−kは、ビット線13−kを介して外部から入力される記憶データの対応するビット情報を格納するデータ・セル8−j−kと、データ・セル8−j−kに記憶されたビット情報と外部からビット線13−kを介して入力される情報とを比較する比較器32−j−kと、外部からビット線13−kを介して入力されるマスク情報の対応するビット情報を格納するマスク・セル9−j−kと、および論理ゲート11−j−kとを備えている。 Each associative memory cell 44-jk includes a data cell 8-jk for storing bit information corresponding to storage data inputted from the outside via the bit line 13-k, and a data cell 8- a comparator 32-jk for comparing the bit information stored in jk with information inputted from the outside via the bit line 13-k, and inputted from the outside via the bit line 13-k A mask cell 9-jk for storing bit information corresponding to the mask information and a logic gate 11-jk are provided.
連想メモリ・セル44の、データ・ワード線3,マスク・ワード線6、一致データ中間論理線14、ビット線13、データ・セル8,マスク・セル9、論理ゲート11の動作は、第一の実施例の連想メモリ1の連想メモリ・セル7と全く同様である。第一の実施例の連想メモリ1の連想メモリ・セル7の一致線5は、中間一致線41に名称変更されている。従って、第一の実施例の連想メモリ1の連想メモリ・セル7と異なる点についてのみ説明する。
The operations of the
本例では各データ・セル8に対応するマスク・セル9に格納されているマスク情報が有効状態の場合、該当データ・セル8には記憶データの無効状態を格納する。
In this example, when the mask information stored in the
中間一致線41は、検索動作の開始前には、ハイ・レベルにプリ・チャージされているか、図示しない抵抗によりプル・アップされ、有効状態“1”になっているものとする。
It is assumed that the
比較器32は、対応するビット線13と、それに同一の連想メモリ・セル44−1−1〜44−m−nの中のデータ・セル8に格納されている記憶データと、マスク・セル9に格納されているマスク情報を入力とする。比較器32は、マスク情報が有効状態ならば、対応する中間一致線41を解放状態にし、それ以外の場合には、ビット線13の値と記憶データが一致するならば対応する中間一致線41を開放状態にし、一致しないならば無効状態“0”を出力する。連想メモリ・ワード43の中のn個の比較器32がすべて中間一致線41を開放状態にしているときに、中間一致線41は有効状態“1”となり、それ以外の場合には無効状態“0”となる、中間一致線41の有効状態“1”を真としたワイアードAND論理接続を構成している。つまり、検索動作時には、マスク情報が有効状態“0”のために比較対象から除外されたビットを除いて、連想メモリ・ワード43が格納している記憶データとビット線13−1〜13−nが完全に一致する場合に限り、中間一致線41は有効状態“1”となり、それ以外の場合は無効状態“0”となる。もちろん同様の動作となるように通常の論理ゲートを用いて構成してもかまわない。
The
次に、上述の連想メモリ・セル44の構成例を図10を用いて説明する。図2に示す第一の実施例の連想メモリ・セル7と比較すれば分かるように、本発明の連想メモリ・セル44は、比較制御線4と、比較器内MOSトランジスタ(T7)209が削除され、一致線5が中間一致線41に名称変更されている点を除くと、第一の実施例の連想メモリ・セル7と同様である。従って連想メモリ・セル7と異なる部分のみの説明を行う。
Next, a configuration example of the content
比較器32はMOSトランジスタ(T3)205、MOSトランジスタ(T4)206、MOSトランジスタ(T5)207、およびMOSトランジスタ(T6)208により構成され、それらの動作は第一の実施例の連想メモリ・セル7と同様である。
The
従って、MOSトランジスタ(T5)207が導通状態のときに、MOSトランジスタ(T6)208が導通状態の場合に連想メモリ・セル44は中間一致線41に無効状態“0”を出力し、それ以外の時には中間一致線41を開放状態とする。すなわち、マスク情報が無効状態“0”の場合には検索データ12と記憶データの比較結果によらず中間一致線41を開放状態とし、それ以外の場合にはビット線13a,13b上の検索データ12とデータ・セル8に格納されている記憶データが一致するときに開放状態とし、異なる場合には無効状態“0”を出力する。
Therefore, when the MOS transistor (T5) 207 is conductive, the
nビットm語のマスク機能無し連想メモリ101の構成例を図11に示す。マスク機能無し連想メモリ101は、連想メモリ・ワード104−1〜104−mから構成され、各連想メモリ・ワード104−jは、n個の連想メモリ・セル105−j−1〜105−j−nを備えている。各連想メモリ・ワード104−jには、対応するデータ・ワード線106−jが入力のために接続され、対応するデータ一致線107−jが出力のために接続され、n本のビット線103−1〜103−nが入出力のために接続されている。
FIG. 11 shows a configuration example of the
各連想メモリ・セル105−j−kには、対応するデータ・ワード線106−jが入力のために接続され、対応するデータ一致線107−jが出力のために接続され、ビット線103−kが入出力のために接続されている。また、各連想メモリ・セル105−j−kは、第二の記憶データの対応するビット情報を格納するデータ・セル108−j−kと、ビット線103−kを介して入力される一致データ論理和信号38とデータ・セル108−j−kに記憶されたビット情報とを比較する比較器109−j−kとを備えている。一致データ論理和信号出力機能付連想メモリ33の対応する連想メモリ・ワード43−jのマスク・セル9−j−1〜9−j−nの中でマスク情報の有効状態となっているビットと対応するデータ・セル108―j−1〜108−j−nには、記憶データの無効状態をあらかじめ格納する。それ以外のビットのデータ・セル108―j−1〜108−j−nには、一致データ論理和信号出力機能付連想メモリ33の対応するデータ・セル8−j−1〜8−j−nと同一の値をあらかじめ格納しておく。
Each associative memory cell 105-j-k has a corresponding data word line 106-j connected for input, a corresponding data match line 107-j connected for output, and a bit line 103- k is connected for input and output. In addition, each associative memory cell 105-j-k has a data cell 108-j-k that stores bit information corresponding to the second storage data, and coincidence data input via the bit line 103-k. A comparator 109-jk for comparing the
各連想メモリ・セル105−1−1〜105−m−nにおいて、ビット線103、データ・ワード線106,データ・セル108、およびデータ一致線107の動作は、従来の連想メモリ116と同様である。
In each associative memory cell 105-1-1 to 105-mn, the operations of the
データ一致線107は、検索動作の開始前には、ハイ・レベルにプリ・チャージされているか、図示しない抵抗によりプル・アップされ、有効状態“1”になっているものとする。
The data match
比較器109は、対応するビット線103と、それに同一の連想メモリ・セル105−1−1〜105−m−nの中のデータ・セル108に格納されている第二の記憶データとを比較し、一致するならば対応するデータ一致線107を開放状態にし、一致しないならば無効状態“0”を出力する。連想メモリ・ワード104の中のn個の比較器109がすべてデータ一致線107を開放状態にしているときに、データ一致線107は有効状態“1”となり、それ以外の場合には無効状態“0”となる、データ一致線107の有効状態“1”を真としたワイアードAND論理接続を構成している。つまり、検索動作時には、連想メモリ・ワード104が格納している第二の記憶データとビット線103−1〜103−nが完全に一致する場合に限り、データ一致線107は有効状態“1”となり、不一致の場合には無効状態“0”となる。もちろん同様の動作となるように通常の論理ゲートを用いて構成してもかまわない。
The
次に、マスク機能無し連想メモリ101の連想メモリ・セル105の構成例を図12を用いて説明する。図16に示す従来の連想メモリ・セル118と比較すれば分かるように、マスク機能無し連想メモリ101の連想メモリ・セル105の、ビット線103a、103b、データ・ワード線106、データ・セル108は、従来の連想メモリ・セル118と同様である。従って従来と違う部分のみの説明を行う。
Next, a configuration example of the content
比較器109は、MOSトランジスタ(T103)305、MOSトランジスタ(T104)306、およびMOSトランジスタ(T105)307により構成される。従来の連想メモリ・セル118の比較器113とは、データ一致線107と低電位の間に直列に挿入されるMOSトランジスタからMOSトランジスタ(T106)308が削除され、データ一致線107とMOSトランジスタT105(307)を介してワイアードAND接続している点のみが異なる。
The
従って、検索動作時には、データ・セル108に格納されている第二の記憶データと、ビット線103a,103b上の検索データ102が異なる場合にMOSトランジスタ(T105)307は導通状態になり、連想メモリ・セル105はデータ一致線107に無効状態“0”を出力し、それ以外の時にはデータ一致線107を開放状態とする。
Accordingly, during the search operation, when the second storage data stored in the
[第三の実施例の動作]
次に、上述の連想メモリ42を、図19のルータ400−3における転送先ネットワーク・アドレスの計算に用いた場合の動作を、図13を用いて説明する。
[Operation of the third embodiment]
Next, the operation when the above-mentioned
連想メモリ42を8ビット5語の構成と仮定し、一致データ論理和信号出力機能付連想メモリ33の各連想メモリ・ワード43−1〜43−5に格納されている記憶データ、マスク情報には、図19のルータ400−3のネットワーク・アドレス(3.*.*.*)以外の接続情報を記憶しているものとする。このとき、接続情報の中のドント・ケア“*”状態のビットは、マスク情報の該当ビットをマスク・データの有効状態“0”とすることで表現される。記憶データの該当ビットには記憶データの無効状態“0”を格納する。
Assuming that the
つまり、連想メモリ・ワード43−1には(1.*.*.*)を実現するため2進数で、記憶データには(01.00.00.00)を、マスク情報として(11.00.00.00)を格納してある。同様に連想メモリ・ワード43−2には(2.*.*.*)を実現するため2進数で、記憶データには(10.00.00.00)を、マスク情報として(11.00.00.00)を格納してある。連想メモリ・ワード43−3には(1.2.2.*)を実現するため2進数で、記憶データには(01.10.10.00)を、マスク情報として(11.11.11.00)を格納してある。連想メモリ・ワード43−4には(1.2.*.*)を実現するため2進数で、記憶データには(01.10.00.00)を、マスク情報として(11.11.00.00)を格納してある。連想メモリ・ワード43−5には(2.1.1.*)を実現するため2進数で、記憶データには(10.01.01.00)を、マスク情報として(11.11.11.00)を格納してある。 That is, the associative memory word 43-1 is a binary number to realize (1. *. *. *), (01.00.00.00) is used as mask information (11.00) as the stored data. 0.00.00) is stored. Similarly, the associative memory word 43-2 is a binary number to realize (2. *. *. *), (10.00.00.00) is stored as mask information (11.00). 0.00.00) is stored. The associative memory word 43-3 is a binary number to realize (1.2.2. *), The stored data is (01.10.10.00) as mask information (11.11.11) .00) are stored. The associative memory word 43-4 is a binary number for realizing (1.2. *. *), The stored data is (01.10.00.00) as mask information (11.1.00) .00) are stored. The associative memory word 43-5 is a binary number for realizing (2.1.1. *), The stored data is (10.01.01.00) as mask information (11.11.11) .00) are stored.
マスク機能無し連想メモリ101の各連想メモリ・ワード104−1〜104−5に格納されている第二の記憶データとして、図19のルータ400−3の接続情報においてドント・ケア“*”状態のビットを記憶データの無効状態“0”とした値を記憶しているものとする。つまり、連想メモリ・ワード104−1には(01.00.00.00)を、連想メモリ・ワード104−2には(10.00.00.00)を、連想メモリ・ワード104−3には(01.10.10.00)を、連想メモリ・ワード104−4には(01.10.00.00)を、連想メモリ・ワード104−5には(10.01.01.00)を、それぞれ格納してある。
As the second storage data stored in the associative memory words 104-1 to 104-5 of the
以降、検索データ12として図19のPC401−1の4進数のネットワーク・アドレス(1.2.2.1)を入力し検索動作を行った場合の動作説明をする。
Hereinafter, the operation when the search operation is performed by inputting the quaternary network address (1.2.2.1) of the PC 401-1 in FIG. 19 as the
まず、検索動作の前に、すべての中間一致線41−1〜41−5、およびデータ一致線107−1〜107−5は、ハイ・レベルにプリ・チャージされているか、図示しない抵抗によりプル・アップされ、有効状態“1”になっているものとする。 First, before the search operation, all the intermediate match lines 41-1 to 41-5 and the data match lines 107-1 to 107-5 are precharged to a high level or pulled by resistors not shown.・ It is assumed that the status is up and the valid state is “1”.
検索データ12をビット線13−1〜13−8に入力すると、一致データ論理和信号出力機能付連想メモリ33の連想メモリ・ワード43−1に格納されている4進表現の(1.*.*.*)と、連想メモリ・ワード43−3に格納されている4進表現の(1.2.2.*)と、連想メモリ・ワード43−4に格納されている4進表現の(1.2.*.*)がビット線13−1〜13−8上の検索データ12と一致する。従って、中間一致線41−1、41−3および41−4の3本が有効状態“1”となり、残りの中間一致線41−2、41−5は無効状態“0”となる。
When the
ここで、一致データ論理和線17−1からは、連想メモリ・ワード43−1内の一致データ中間論理線14−1に対応する記憶データ“0”と、連想メモリ・ワード43−3内の一致データ中間論理線14−1に対応する記憶データ“0”と、連想メモリ・ワード43−4内の一致データ中間論理線14−1に対応する記憶データ“0”に対しての“1”を真とした論理和結果“0”が出力される。一致データ論理和線17−2からは、連想メモリ・ワード43−1内の一致データ中間論理線14−2に対応する記憶データ“1”と、連想メモリ・ワード43−3内の一致データ中間論理線14−2に対応する記憶データ“1”と、連想メモリ・ワード43−4内の一致データ中間論理線14−2に対応する記憶データ“1”に対しての“1”を真とした論理和結果“1”が出力される。以降同様に、一致データ論理和線17−3からは“0”と“1”と“1” に対しての“1”を真とした論理和結果“1”が、一致データ論理和線17−4からは“0”と“0”と“0”に対しての“1”を真とした論理和結果“0”が、一致データ論理和線17−5からは“0”と“1”と“0” に対しての“1”を真とした論理和結果“1”が、一致データ論理和線17−6からは“0”と“0”と“0”に対しての“1”を真とした論理和結果“0”が、一致データ論理和線17−7からは“0”と“0”と“0”に対しての“1”を真とした論理和結果“0”が、一致データ論理和線17−8からは“0”と“0”と“0”に対しての“1”を真とした論理和結果“0”が、それぞれ出力される。従って、一致データ論理和線17−1〜17−8には、2進表現で“01101000”が、一致データ論理和信号38として出力されることになる。
Here, from the coincidence data logical sum line 17-1, the storage data “0” corresponding to the coincidence data intermediate logical line 14-1 in the associative memory word 43-1 and the associative memory word 43-3 “1” for storage data “0” corresponding to match data intermediate logic line 14-1 and storage data “0” corresponding to match data intermediate logic line 14-1 in associative memory word 43-4. The logical sum result “0” is set to be true. From the match data OR line 17-2, the stored data “1” corresponding to the match data intermediate logic line 14-2 in the associative memory word 43-1 and the match data intermediate in the associative memory word 43-3 “1” for storage data “1” corresponding to logic line 14-2 and storage data “1” corresponding to coincidence data intermediate logic line 14-2 in associative memory word 43-4 is true. The logical sum result “1” is output. Similarly, from the coincidence data logical sum line 17-3, a logical sum result "1" with "1" for "0", "1", and "1" being true is obtained as a coincidence data logical sum line 17 -4 shows a logical sum “0” with “1” for “0”, “0” and “0” being true, and “0” and “1” from the coincidence data logical sum line 17-5. “1” for “0” and “0” is true, and “1” for “0”, “0” and “0” is obtained from the coincidence data logical sum line 17-6. The logical sum result “0” in which “1” is true is obtained from the coincidence data logical sum line 17-7, and the logical sum result “1” in relation to “0”, “0”, and “0” is true. “0” is outputted from the coincidence data logical sum line 17-8 as a logical sum “0” in which “1” is true for “0”, “0”, and “0”. Accordingly, “01101000” in binary representation is output as the coincidence data
一致データ論理和信号38の状態“01101000”は、マスク機能無し連想メモリ101のビット線103−1〜103−8に入力され、マスク機能無し連想メモリ101は2回目の検索動作を開始する。本例では、ビット線103−1〜103−8の状態“01101000”に対して、連想メモリ・ワード104−3が格納する第二の記憶データが完全に一致し、対応するデータ一致線107−3を開放状態にする。他の連想メモリ・ワード104−1,104−2、104−4、および104−5が格納する第二の記憶データは一致しないので、対応するデータ一致線107−1,107−2、107−4、および107−5に無効状態“0”を出力する。従って、データ一致線107−1〜107−5の中で2回目の検索動作後も有効状態“1”を保持し続けるのは、データ一致線107−3のみとなる。データ一致線107−1〜107−5の状態は、一致線5−1〜5−5として外部に出力されるので、2回目の検索動作後も有効状態を出力しているのは一致線5−3のみとなる。
The state “01101000” of the coincidence data
従って、入力した検索データ12と、対応するマスク情報を考慮して比較した結果一致する記憶データの中で、マスク情報の有効状態のビットが最も少ない記憶データに対応する一致線5−3のみに有効状態を出力することがわかる。
Accordingly, only the match line 5-3 corresponding to the stored data having the least number of valid bits of the mask information among the stored data that matches the
上述のように、第三の実施の形態の連想メモリを使用すれば1クロックで最短マスク情報を持つワードを選択できる。ここで、記憶手段をビット線103−1〜103−nと、一致データ論理和線17−1〜17−nの間に挿入し、マスク機能無し連想メモリ101が格納された一致データ論理和信号38に対する2回目の検索動作を実行するのと同時に、一致データ論理和信号出力機能付連想メモリ33が次の検索データ12に対する1回目の検索動作を実行するようにパイプライン処理を構成することができるのも言うまでもない。もちろん、記憶手段を挿入する場所は、上述の場所に限らないことも言うまでもない。
As described above, if the content addressable memory according to the third embodiment is used, a word having the shortest mask information can be selected in one clock. Here, the memory means is inserted between the bit lines 103-1 to 103-n and the coincidence data logical sum lines 17-1 to 17-n, and the coincidence data logical sum signal in which the
[第四の実施例]
次に、本発明の第一の実施の形態の連想メモリ1を転送先ネットワーク・アドレス計算に用いたルータの構成例を示すブロック図を図14に示す。ルータ400は、入力転送データ408を入力とし、出力転送データ409を出力する。入力転送データ408は、目的地ネットワーク・アドレス411と、転送先ネットワーク・アドレス410とデータ部412を有している。出力転送データ409は、目的地ネットワーク・アドレス411と、第2の転送先ネットワーク・アドレス413とデータ部412を有している。図20に示す従来のルータでは、従来の連想メモリ116の消費電力が大きいために冷却装置414を有していたが、本発明の連想メモリ1を用いた本発明のルータでは冷却装置414は不要である。
[Fourth embodiment]
Next, FIG. 14 is a block diagram showing a configuration example of a router using the
入力転送データ408の転送先ネットワーク・アドレス410は当然ルータ400のネットワーク・アドレスとなっている。ルータ400は、目的地ネットワーク・アドレス抽出部406と、連想メモリ1と、エンコーダ402と、メモリ404と転送先ネットワーク・アドレス変更部407とにより構成される。
ここでは、図19のルータ400−3に適用した場合において、ネットワーク・アドレス(3.*.*.*)の機器から、ネットワーク・アドレス(1.*.*.*)または(2.*.*.*)の機器に転送する場合について説明する。図14では、記憶データの有効状態は“1”、無効状態は“0”とする。マスク情報の有効状態は“0”、無効状態は“1”である。また、一致線5−1〜5−5の有効状態は“1”、無効状態は“0”とする。
The transfer
Here, when applied to the router 400-3 in FIG. 19, the network address (1. *. *. *) Or (2. *. *) Is transmitted from the device having the network address (3. *. *. *). The case of transferring to a device of *. *) Will be described. In FIG. 14, the valid state of the stored data is “1” and the invalid state is “0”. The valid state of the mask information is “0”, and the invalid state is “1”. In addition, the valid states of the match lines 5-1 to 5-5 are “1”, and the invalid state is “0”.
目的地ネットワーク・アドレス抽出部406は、入力転送データ408の目的地ネットワーク・アドレス411を抽出し、検索データ12として、連想メモリ1に入力する。
The destination network address extraction unit 406 extracts the
連想メモリ1にはルータ400−3のネットワーク・アドレス(3.*.*.*)以外の接続情報を記憶している。このとき、接続情報の中のドント・ケア“*”状態のビットは、記憶データの該当ビットを記憶データの無効状態“0”、マスク情報の該当ビットをマスク・データの有効状態“0”とすることで表現される。つまり、連想メモリ・ワード2−1には(1.*.*.*)を実現するため2進数で、記憶データには(01.00.00.00)を、マスク情報として(11.00.00.00)を格納してある。同様に連想メモリ・ワード2−2には(2.*.*.*)を実現するため2進数で、記憶データには(10.00.00.00)を、マスク情報として(11.00.00.00)を格納してある。連想メモリ・ワード2−3には(1.2.2.*)を実現するため2進数で、記憶データには(01.10.10.00)を、マスク情報として(11.11.11.00)を格納してある。連想メモリ・ワード2−4には(1.2.*.*)を実現するため2進数で、記憶データには(01.10.00.00)を、マスク情報として(11.11.00.00)を格納してある。連想メモリ・ワード2−5には(2.1.1.*)を実現するため2進数で、記憶データには(10.01.01.00)を、マスク情報として(11.11.11.00)を格納してある。
The
連想メモリ・ワード2−1〜連想メモリ・ワード2−5に対応する一致線5−1〜5−5はエンコーダ402に出力される。エンコーダ402は一致線5−1〜5−5を、メモリ・アドレス信号403にエンコードし、メモリ404に出力する。
Match lines 5-1 to 5-5 corresponding to associative memory word 2-1 to associative memory word 2-5 are output to encoder 402. The
メモリ404には、連想メモリ1の各連想メモリ・ワード2−1〜2−5の記憶データ、マスク情報により構成されるネットワーク・アドレスに対応するルータのネットワーク・アドレスを、同一のワードに記憶してある。たとえば、連想メモリ1の連想メモリ・ワード2−1にはネットワーク・アドレス(1.*.*.*)が記憶されているが、これに対応するルータ400−1のネットワーク・アドレスがメモリ404の同じくワード1に格納されている。同様にメモリ404のワード2にはルータ400−2のネットワーク・アドレスが、ワード3にはルータ400−6のネットワーク・アドレスが、ワード4にはルータ400−4のネットワーク・アドレスが、ワード5にはルータ400−7のネットワーク・アドレスが格納されている。また、メモリ404は、メモリ・アドレス信号403をリード・アドレスとして指定されるワードに格納されているデータを、メモリ・データ信号405として出力する。
The memory 404 stores the network address of the router corresponding to the network address constituted by the stored data and mask information of the associative memory words 2-1 to 2-5 of the
転送先ネットワーク・アドレス変更部407は、出力転送データ409の第2の転送先アドレス413を、メモリ・データ信号405の値に変更した後、第2のネットワーク・アドレスに対応するネットワーク機器に転送を行う。
The transfer destination network
たとえば入力転送データ408の目的地ネットワーク・アドレス411が(1.2.2.1)の場合、連想メモリ1での検索動作終了時には、連想メモリ・ワード2−3が格納している(1.2.2.*)に対応する一致線5−3のみが有効状態となる。これにより、エンコーダ402はメモリ・アドレス403として“3”を出力し、メモリ404はルータ400−6のネットワーク・アドレスをメモリ・データ信号405として出力する。転送先ネットワーク・アドレス変更部407により、出力転送データ409の第2の転送先ネットワーク・アドレス413を、ルータ400−6のネットワーク・アドレスに変更し、ルータ400−6に向けて出力転送データ409を転送する。
For example, when the
このように、本発明の連想メモリ1をネットワーク・アドレス計算を行うルータ400に組み込めば、従来に比較して消費電力が小さくなるため、冷却装置414が不要になりコストが削減することができる。
As described above, when the
また、チップあたりの記憶容量増加に伴いルータ400に内蔵する連想メモリ1の個数を削減するができる。従って、複数の連想メモリが出力した検索結果の比較処理が不要になるため、ルータ400を用いたコンピュータ・ネットワーク・システムのデータ転送速度を高速化することができる。
Further, the number of
1 連想メモリ
2―1〜2−m 連想メモリ・ワード
3−1〜3−m データ・ワード線
4 比較制御信号
5−1〜5−m 一致線
6−1〜6−m マスク・ワード線
7−1−1〜7−m−n 連想メモリ・セル
8−1−1〜8−m−n データ・セル
9−1−1〜9−m−n マスク・セル
10−1−1〜10−m−n 比較器
11−1−1〜11−m−n 論理ゲート
12−1〜12−n 検索データ
13−1〜13−n ビット線
14−1〜14−n 一致データ中間論理線
15−1〜15−n 抵抗
16−1〜16−n 論理ゲート
17−1〜17−n 一致データ論理和線
20−1〜20−n ラッチ出力線
21 nビット・ラッチ
22 ラッチ制御信号
23 nビット2入力1出力セレクタ
24 選択信号
25−1−1〜25−m−n 論理ゲート
26−1−1〜26−m−n 連想メモリ・セル
27−1〜27−n 論理ゲート
28 連想メモリ
30 制御回路
31 クロック信号
32−1−1〜32−m−n 比較器
33 一致データ論理和信号出力機能付連想メモリ
38 一致データ論理和信号
41−1〜41−m 中間一致線
42 連想メモリ
43―1〜43−m 連想メモリ・ワード
44−1−1〜44−m−n 連想メモリ・セル
101 マスク機能無し連想メモリ
102−1〜102−n 検索データ
103−1〜103−n ビット線
104−1〜104−m 連想メモリ・ワード
105−1−1〜105−m−n 連想メモリ・セル
106−1〜106−m データ・ワード線
107−1〜107−m データ一致線
108−1−1〜108−m−n データ・セル
109−1−1〜109−m−n 比較器
110 連想メモリ
111−1〜111−m マスク・ワード線
112−1−1〜112−m−n マスク・セル
113−1−1〜113−m−n 比較器
116 連想メモリ
117−1〜117−m 連想メモリ・ワード
118−1−1〜118−m−n 連想メモリ・セル
119−1〜119−m マスク一致線
120−1−1〜120−m−n マスク比較器
121−1−1〜121−m−n 論理ゲート
122−1〜122−n 最短マスク線
123−1〜123−m ラッチ
124 ラッチ制御信号
125−1〜125−n 抵抗
126 nビット・ラッチ
127−1〜127−n ラッチ出力線
128 nビット2入力1出力セレクタ
129 選択信号
130 クロック信号
131 制御回路
201 反転論理ゲートG1
202 反転論理ゲートG2
203 MOSトランジスタT1
204 MOSトランジスタT2
205 MOSトランジスタT3
206 MOSトランジスタT4
207 MOSトランジスタT5
208 MOSトランジスタT6
209 MOSトランジスタT7
210 反転論理ゲートG3
211 反転論理ゲートG4
212 MOSトランジスタT8
213 MOSトランジスタT9
214 MOSトランジスタT10
215 MOSトランジスタT11
301 反転論理ゲートG101
302 反転論理ゲートG102
303 MOSトランジスタT101
304 MOSトランジスタT102
305 MOSトランジスタT103
306 MOSトランジスタT104
307 MOSトランジスタT105
308 MOSトランジスタT106
309 反転論理ゲートG103
310 反転論理ゲートG104
311 MOSトランジスタT107
312 MOSトランジスタT108
313 MOSトランジスタT109
314 MOSトランジスタT110
315 MOSトランジスタT111
316 MOSトランジスタT112
317 MOSトランジスタT113
400−1〜400−7 ルータ
401−1 PC
402 エンコーダ
403 メモリ・アドレス信号
404 メモリ
405 メモリ・データ信号
406 目的地ネットワーク・アドレス抽出部
407 転送先ネットワーク・アドレス変更部
408 入力転送データ
409 出力転送データ
410 転送先ネットワーク・アドレス
411 目的地ネットワーク・アドレス
412 データ部
413 第2の転送先ネットワーク・アドレス
414 冷却装置
1 associative memory 2-1 to 2-m associative memory word 3-1 to 3-m data word line 4 comparison control signal 5-1 to 5-m coincidence line 6-1 to 6-m mask word line 7 -1-1 to 7-mn Content addressable memory cell 8-1-1 to 8-mn Data cell 9-1-1 to 9-mn Mask cell 10-1-1 to 10- mn comparator 11-1-1 to 11-mn logic gate 12-1 to 12-n search data 13-1 to 13-n bit line 14-1 to 14-n coincidence data intermediate logic line 15- 1-15-n resistor 16-1-16-n logic gate 17-1-17-n coincidence data OR line 20-1-20-n latch output line 21 n-bit latch 22 latch control signal 23 n-bit 2 Input 1 output selector 24 selection signal 25-1-1 to 25-mn logic gate 26-1-1 to 26-mn associative memory cells 27-1 to 27-n logic gate 28 associative memory 30 control circuit 31 clock signal 32-1-1 to 32-m-n comparator 33 match data logic Associative memory with sum signal output function 38 Match data logical sum signal 41-1 to 41-m Intermediate match line 42 Associative memory 43-1 to 43-m Associative memory word 44-1-1-1 to 44-mn Associative memory Cell 101 Associative memory without mask function 102-1 to 102-n Search data 103-1 to 103-n Bit lines 104-1 to 104-m Associative memory Words 105-1-1 to 105-mn Associative memory Cells 106-1 to 106-m Data word lines 107-1 to 107-m Data match lines 108-1 to 108-mn Data cells 109-1 to 10 9-mn comparator 110 associative memory 111-1 to 111-m mask word line 112-1-1-1 to 112-mn mask cell 113-1-1-1 to 113-mn comparator 116 associative Memories 117-1 to 117-m associative memory words 118-1-1-1 to 118-mn associative memory cells 119-1 to 119-m mask match lines 120-1-1 to 120-mn mask comparison Units 121-1-1-1 to 121-mn logic gates 122-1 to 122-n shortest mask lines 123-1 to 123-m latch 124 latch control signals 125-1 to 125-n resistor 126 n-bit latch 127 -1 to 127-n Latch output line 128 n-bit 2-input 1-output selector 129 selection signal 130 clock signal 131 control circuit 201 inversion logic gate G1
202 Inversion logic gate G2
203 MOS transistor T1
204 MOS transistor T2
205 MOS transistor T3
206 MOS transistor T4
207 MOS transistor T5
208 MOS transistor T6
209 MOS transistor T7
210 Inverting logic gate G3
211 Inverting logic gate G4
212 MOS transistor T8
213 MOS transistor T9
214 MOS transistor T10
215 MOS transistor T11
301 Inverting logic gate G101
302 Inverting logic gate G102
303 MOS transistor T101
304 MOS transistor T102
305 MOS transistor T103
306 MOS transistor T104
307 MOS transistor T105
308 MOS transistor T106
309 Inversion logic gate G103
310 Inverting logic gate G104
311 MOS transistor T107
312 MOS transistor T108
313 MOS transistor T109
314 MOS transistor T110
315 MOS transistor T111
316 MOS transistor T112
317 MOS transistor T113
400-1 to 400-7 Router 401-1 PC
402
Claims (18)
前記記憶データの各ビットを検索対象から除外するか否かを対応するビットのマスク有効状態、マスク無効状態により設定するマスク情報を格納するn個のマスク・セルと;
入力データと前記記憶データとをワード単位で比較し、比較結果が一致するワードに対して一致信号を一致線上に出力するn個の比較器と;
前記一致線上のデータと前記記憶データとをビット列単位で論理演算し、両データが有効状態のときは第1の論理値を、それ以外の場合には開放状態を表わす第2の論理値を一致データ中間論理線上に出力するn個の論理ゲートと;を含む
m個の連想メモリ・ワードと(m,nは自然数)、
b)前記一致データ中間論理線上に出力されたnビットの中間一致データを格納するラッチ回路と、
c)検索データと前記中間一致データのいずれか一方を前記入力データとして前記連想メモリ・ワードに選択的に供給するセレクタ回路と、
d)前記入力データとして前記検索データが選択された場合には前記マスク情報を考慮して比較を行い、前記中間一致データが選択された場合には無視して比較を行うよう前記比較器を制御する制御回路と、
を具備したことを特徴とする連想メモリ。 a) n data cells for storing m stored data of n bits length;
N mask cells for storing mask information set by mask valid state and mask invalid state of corresponding bits as to whether or not to exclude each bit of the stored data from the search target;
N comparators that compare the input data and the stored data in word units and output a match signal on the match line for the words whose comparison results match;
The logical operation is performed on the data on the match line and the stored data in units of bit strings. When both data are valid, the first logical value is matched , and otherwise, the second logical value representing the open state is matched. N logic gates outputting on the data intermediate logic line; and m associative memory words including m and n are natural numbers;
b) a latch circuit for storing n-bit intermediate coincidence data output on the coincidence data intermediate logic line;
c) a selector circuit that selectively supplies one of search data and the intermediate match data as the input data to the associative memory word;
d) Control the comparator so that the comparison is performed in consideration of the mask information when the search data is selected as the input data, and the comparison is performed ignoring when the intermediate match data is selected. A control circuit to
An associative memory comprising:
前記比較器は、前記検索データを対象とする比較結果と前記中間一致データを対象とする比較結果とを同一の一致線上に出力することを特徴とする連想メモリ。 The associative memory according to claim 1,
The associative memory, wherein the comparator outputs a comparison result for the search data and a comparison result for the intermediate match data on the same match line.
検索動作に先立って前記一致線及び前記一致データ中間論理線を所定電位にプリ・チャージするプリ・チャージ手段を設けたことを特徴とする連想メモリ。 The associative memory according to claim 1,
An associative memory comprising pre-charge means for pre-charging the match line and the match data intermediate logic line to a predetermined potential prior to a search operation.
前記マスク情報の有効状態を“0”、無効状態を“1”とし、
前記記憶データの有効状態を“1”、無効状態を“0”とし、
前記一致データ中間論理線の有効状態を“1”、無効状態を“0”とし、
前記一致線の有効状態を“1”、無効状態を“0”とするよう設定することを特徴とする連想メモリ。 The associative memory according to claim 1,
The valid state of the mask information is “0”, the invalid state is “1”,
The valid state of the stored data is “1”, the invalid state is “0”,
The valid state of the coincidence data intermediate logic line is “1”, the invalid state is “0”,
An associative memory, wherein the valid state of the coincidence line is set to “1” and the invalid state is set to “0”.
前記比較器が前記一致線の有効状態“1”を真としたワイアードAND論理接続を構成することを特徴とする連想メモリ。 The associative memory according to claim 4,
An associative memory, wherein the comparator constitutes a wired AND logical connection in which the valid state “1” of the coincidence line is true.
前記論理ゲートが前記一致データ中間論理線の有効状態“1”を真としたワイアードAND論理接続を構成することを特徴とする連想メモリ。 The associative memory according to claim 4,
An associative memory, wherein the logic gate constitutes a wired AND logic connection in which a valid state “1” of the coincidence data intermediate logic line is true.
前記中間一致データとして前記記憶データの有効状態“1”を真とした論理和演算データを得ることを特徴とする連想メモリ。 The associative memory according to claim 4,
An associative memory characterized by obtaining logical sum operation data in which the valid state "1" of the stored data is true as the intermediate match data.
前記マスク情報の有効状態を“0”、無効状態を“1”とし、
前記記憶データの有効状態を“0”、無効状態を“1”とし、
前記一致データ中間論理線の有効状態を“1”、無効状態を“0”とし、
前記一致線の有効状態を“1”、無効状態を“0”とするよう設定することを特徴とする連想メモリ。 The associative memory according to claim 1,
The valid state of the mask information is “0”, the invalid state is “1”,
The valid state of the stored data is “0”, the invalid state is “1”,
The valid state of the coincidence data intermediate logic line is “1”, the invalid state is “0”,
An associative memory, wherein the valid state of the coincidence line is set to “1” and the invalid state is set to “0”.
前記比較器が前記一致線の有効状態“1”を真としたワイアードAND論理接続を構成することを特徴とする連想メモリ。 The content addressable memory according to claim 8,
An associative memory, wherein the comparator constitutes a wired AND logical connection in which the valid state “1” of the coincidence line is true.
前記論理ゲートが前記一致データ中間論理線の有効状態“1”を真としたワイアードAND論理接続を構成することを特徴とする連想メモリ。 The content addressable memory according to claim 8,
An associative memory, wherein the logic gate constitutes a wired AND logic connection in which a valid state “1” of the coincidence data intermediate logic line is true.
前記中間一致データとして前記記憶データの有効状態“0”を真とした論理和演算データを得ることを特徴とする連想メモリ。 The content addressable memory according to claim 8,
An associative memory characterized by obtaining logical sum operation data in which the valid state "0" of the stored data is true as the intermediate match data.
前記記憶データの各ビットを検索対象から除外するか否かを対応するビットのマスク有効状態、マスク無効状態により設定するマスク情報を格納するm×n個のマスクセルと;
検索データと前記記憶データとを前記マスク情報を考慮してワード単位で比較し、比較結果が一致するワードに対して一致信号を中間一致線上に出力するm×n個の第1の比較器と;
前記中間一致線上のデータと前記記憶データとをビット列単位で論理演算し、両データが有効状態のときは第1の論理値を、それ以外の場合には開放状態を表わす第2の論理値を一致データ論理線上に出力するm×n個の論理ゲートと;
を含む第1のメモリと、
b)前記記憶データをワード毎に前記第1のデータ・セルに対応付けて格納するm×n個の第2のデータ・セルと;
前記一致データ論理和線上のデータと前記第2のデータ・セルに格納された前記記憶データとをワード単位で比較し、比較結果が一致するワードに対して一致信号を一致線上に出力するm×n個の第2の比較器と;を具備したことを特徴とする連想メモリ。 a) m × n first data cells storing m pieces of stored data of n bits length;
M × n mask cells for storing mask information to be set according to whether the corresponding bits are excluded from the search target according to the mask valid state and mask invalid state;
M × n first comparators that compare the search data and the stored data in units of words in consideration of the mask information, and output a match signal on the intermediate match line for the words whose comparison results match. ;
A logical operation is performed on the data on the intermediate coincidence line and the stored data in units of bit strings. When both data are valid, a first logical value is obtained. Otherwise, a second logical value representing an open state is obtained. and the m × n logic gate for outputting on the matching data logical line;
A first memory comprising:
b) m × n second data cells storing the stored data in association with the first data cells for each word;
The data on the coincidence data OR line and the stored data stored in the second data cell are compared in word units, and a coincidence signal is output on the coincidence line with respect to a word with a coincidence result of comparison m × an associative memory comprising: n second comparators;
検索動作に先立って前記一致線、前記中間一致線及び前記一致データ論理和線を所定電位にプリ・チャージするプリチャージ手段を設けたことを特徴とする連想メモリ。 The content addressable memory according to claim 12,
An associative memory comprising precharge means for precharging the match line, the intermediate match line, and the match data OR line to a predetermined potential prior to a search operation.
前記マスク情報の有効状態を“0”、無効状態を“1”とし、
前記記憶データの有効状態を“1”、無効状態を“0”とし、
前記一致データ論理和線の有効状態を“0”、無効状態を“1”とし、
前記中間一致線の有効状態を“1”、無効状態を“0”とし、
前記一致線の有効状態を“1”、無効状態を“0”とするよう設定する
ことを特徴とする連想メモリ。 The content addressable memory according to claim 12,
The valid state of the mask information is “0”, the invalid state is “1”,
The valid state of the stored data is “1”, the invalid state is “0”,
The valid state of the coincidence data OR line is set to “0”, the invalid state is set to “1”,
The valid state of the intermediate match line is “1”, the invalid state is “0”,
An associative memory, wherein the valid state of the coincidence line is set to “1” and the invalid state is set to “0”.
前記第1の比較器が前記中間一致線の有効状態“1”を真としたワイアードAND論理接続を構成することを特徴とする連想メモリ。 The associative memory according to claim 14,
An associative memory, wherein the first comparator constitutes a wired AND logical connection in which a valid state “1” of the intermediate match line is true.
前記一致データ論理和線上のデータをいったん格納する記憶手段を前記第1のメモリと第2のメモリとの間に介挿することを特徴とする連想メモリ。 The associative memory according to claim 14,
An associative memory characterized in that storage means for temporarily storing data on the coincidence data OR line is interposed between the first memory and the second memory.
前記連想メモリとして請求項1乃至16に記載の連想メモリを備えたことを特徴とするルータ。 In a router with an associative memory that uses the destination network address as search data,
A router comprising the content addressable memory according to claim 1 as the content addressable memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003435802A JP3795043B2 (en) | 2003-12-26 | 2003-12-26 | Associative memory, search method therefor, router and network system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003435802A JP3795043B2 (en) | 2003-12-26 | 2003-12-26 | Associative memory, search method therefor, router and network system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000181406A Division JP3531105B2 (en) | 2000-06-16 | 2000-06-16 | Associative memory, search method thereof, router and network system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004134081A JP2004134081A (en) | 2004-04-30 |
JP3795043B2 true JP3795043B2 (en) | 2006-07-12 |
Family
ID=32291311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003435802A Expired - Fee Related JP3795043B2 (en) | 2003-12-26 | 2003-12-26 | Associative memory, search method therefor, router and network system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3795043B2 (en) |
-
2003
- 2003-12-26 JP JP2003435802A patent/JP3795043B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004134081A (en) | 2004-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3191737B2 (en) | Network system with router, improved router and associative memory used in the router | |
JP3593920B2 (en) | Associative memory with shortest mask output function capable of continuous search operation | |
JP4076497B2 (en) | Simultaneous search of different tables in content address memory | |
JPH0676583A (en) | Storage device with internal address and method for eliminating need for matching word | |
EP1385173A1 (en) | Associative memory, method for searching the same, network device, and network system | |
US6766317B2 (en) | Range check cell and a method for the use thereof | |
JP3795043B2 (en) | Associative memory, search method therefor, router and network system | |
JP3845814B2 (en) | Associative memory, search method thereof, router and network system | |
US6781856B2 (en) | Tertiary CAM cell | |
EP1426973A1 (en) | Associative memory system, network device, and network system | |
JP3531105B2 (en) | Associative memory, search method thereof, router and network system | |
JP4850403B2 (en) | Magnitude contents referenceable memory | |
JP2005353107A (en) | Semiconductor device | |
US6980452B2 (en) | Associative memory having a mask function for use in a network router | |
JP3957689B2 (en) | Associative memory, search method thereof, network device, and network system | |
JP2004265528A (en) | Associative memory | |
JP4369962B2 (en) | Associative memory, search method therefor, network device, and network system | |
JP2003157677A (en) | Associative memory and its memory cell | |
JP2009026437A (en) | Method of storing and retrieving don't care data in associative memory device | |
JP3636382B2 (en) | Associative memory | |
TW201635284A (en) | Memory with multiple write ports | |
JPS5852745A (en) | Maximum and minimum value retrieval memory device | |
JP2002124088A (en) | Associative memory device and memory data moving method therefor | |
JP2001209563A (en) | Output data selection device by pre-reading retrieving success signal | |
JPH0391831A (en) | Sorting device and memory cell circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060303 |
|
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: 20060328 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060411 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100421 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110421 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120421 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130421 Year of fee payment: 7 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130421 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140421 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |