JPH07226092A - 連想メモリ - Google Patents
連想メモリInfo
- Publication number
- JPH07226092A JPH07226092A JP1677194A JP1677194A JPH07226092A JP H07226092 A JPH07226092 A JP H07226092A JP 1677194 A JP1677194 A JP 1677194A JP 1677194 A JP1677194 A JP 1677194A JP H07226092 A JPH07226092 A JP H07226092A
- Authority
- JP
- Japan
- Prior art keywords
- data
- order
- register
- stored
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
数のメモリワードを備え、これら複数のメモリワードそ
れぞれに各格納データを記憶しておき、検索データを入
力し、入力された検索データに対応する格納データが記
憶されたメモリワードを検索する連想メモリに関し、検
索データが複数のデータで構成され、しかもそれら複数
のデータの順序を入れ替えたものを検索データとする必
要が生じる場合であっても高速検索を可能とする。 【構成】入力されたデータの順序を入れ替えて検索デー
タを生成する配列変換回路を備えた。
Description
憶しておき、検索データを入力し、入力された検索デー
タに対応する格納データを検索する連想メモリに関す
る。
た連想メモリ(Associative Memor
y,内容アドレス式メモリ;Content Addr
essable Memory)が提案されている。図
2は、連想メモリの一例を表わした回路ブロック図であ
る。
トを1ワードとする、互いに図の横方向に並ぶ32ビッ
トのメモリセルからなるメモリワード11_1,11_
2,…,11_nが多数備えられている。またこの連想
メモリ10は、1ワードの検索データREF_DATA
が入力されラッチされる検索データレジスタ12および
検索データをビット毎にマスクするマスクデータが格納
されるマスクレジスタ13を備え、検索データレジスタ
12にラッチされた検索データのうち、マスクレジスタ
13に格納されたマスクデータによりマスクされていな
い全部もしくは所定の一部のビットパターンと、各メモ
リワード11_1,11_2,…,11_nに記憶され
た格納データのうち上記ビットパターンと対応する部分
のビットパターンとの一致不一致が比較され、各メモリ
ワード11_1,11_2,…,11_nそれぞれに対
応して備えられた一致線14_1,14_2,…,14
_nのうちビットパターンが一致したメモリワード11
_1,11_2,…,11_nに対する一致線14_
1,14_2,…,14_nに論理‘1’の一致信号が
出力される。それ以外の一致線14_1,14_2,
…,14_nは論理‘0’にとどまる。
14_nに出力された信号は、各一致フラグレジスタ1
5_1,15_2,…,15_nに格納される。ここで
は、一例として、図示のように、各一致フラグレジスタ
15_1,15_2,…,15_nにそれぞれ‘0’,
‘1’,‘1’,‘0’,…,‘0’,‘0’が格納さ
れたものとする。これらの一致フラグレジスタ15_
1,15_2,…,15_nに格納された信号はアドレ
スエンコーダ16に入力され、このアドレスエンコーダ
16からは、論理‘1’の信号が格納された一致フラグ
レジスタ(ここでは一致フラグレジスタ15_2と一致
フラグレジスタ15_3の2つ)のうちの優先度の最も
高い一致フラグレジスタに対応するアドレス信号が出力
される。ここでは、添字が若いほど優先順位が高いもの
とし、従ってここでは一致フラグレジスタ15_2に対
応するメモリアドレスが出力される。このアドレスエン
コーダ16から出力されたアドレス信号ADは、必要に
応じてデコーダ17に入力される。デコーダ17ではこ
の入力されたアドレス信号ADをデコードして各メモリ
ワード11_1,11_2,…,11_nのそれぞれに
対応して備えられたワード線18_1,18_2,…,
18_nのうちの入力されたアドレス信号ADに対応す
るいずれか1本のワード線(ここではワード線18_
2)にアクセス信号を出力する。これによりアクセス信
号の出力されたワード線18_2に対応するメモリワー
ド11_2に記憶されているデータが出力レジスタ19
に読み出される。
メモリワードを表わした詳細回路図である。このメモリ
ワード11は、同一構成の32個のメモリセル11_
1,11_2,…,11_32から構成されている。各
メモリセル11_1,11_2,…,11_32には、
互いの出力が互いの入力に接続された、第1インバータ
20_1,20_2,…,20_32と第2インバータ
21_1,21_2,…,21_32が備えられてお
り、これらのインバータ20_1,21_1;20_
2,21_2;…;20_32,21_32により各メ
モリセル11_1,11_2,…,11_32に論理
‘1’もしくは論理‘0’の1ビットの情報が記憶され
る。
…,11_32において、第1のインバータ20_1,
20_2,…,20_32の出力はトランジスタ22_
1,22_2,…,22_32を介してビット線23_
1,23_2,…,23_32と接続されており、この
トランジスタ22_1,22_2,…,22_32のゲ
ートはワード線24に接続されている。また第2のイン
バータ21_1,21_2,…,21_32の出力はト
ランジスタ25_1,25_2,…,25_32を介し
てビットバー線26_1,26_2,…,26_32と
接続されており、このトランジスタ25_1,25_
2,…,25_32のゲートもワード線24に接続され
ている。さらに各メモリセル11_1,11_2,…,
11_32において、ビット線23_1,23_2,
…,23_32とビットバー線26_1,26_2,
…,26_32との間をつなぐように互いにシリーズに
接続された2つのトランジスタ27_1,28_1;2
7_2,28_2;…;27_32,28_32が配置
されており、これら2つのトランジスタ27_1,28
_1;27_2,28_2;…;27_32,28_3
2のうちの一方のトランジスタ27_1,27_2,
…,27_32のゲートは第1のインバータ20_1,
20_2,…,20_32の出力、他方のトランジスタ
28_1,28_2,…,28_32のゲートは第2の
インバータ21_1,21_2,…,21_32の出力
と接続されている。
_1,11_2,…,11_32に対応して1つずつト
ランジスタ290_1,290_2,…,290_32
が備えられており、それらのトランジスタ290_1,
290_2,…,290_32は互いにシリーズに接続
され、それらのトランジスタ290_1,290_2,
…,290_32の各ゲートは、各2つのトランジスタ
27_1,28_1;27_2,28_2;…;27_
32,28_32の中点と接続されている。
ンジスタ290_0がシリーズに接続されており、この
一致線140の図5の左端はこのトランジスタ290_
0を介して接地されている。このトランジスタ290_
0のゲートは制御線300に接続されている。さらにこ
の一致線の図5の右側にはインバータ310が備えられ
ており、一致線140はこのインバータ310の出力側
にも延びて各一致フラグレジスタ15_1,15_2,
…,15_n(図2参照)と接続されている。このイン
バータ310の入力と電源VDDとの間には2つのP型ト
ランジスタ320,330が備えられており、それらの
うちの一方のP型トランジスタ320のゲートは制御線
300と接続され、他方のP型トランジスタ330のゲ
ートはインバータ310の出力と接続されている。
辺回路を備えた連想メモリにおいて、一致検索は以下の
ようにして行なわれる。先ず制御線300が論理‘0’
となりP型トランジスタ320が導通状態となって一致
線140がプリチャージされる。この際、トランジスタ
290_0は非導通状態となって一致線140が確実に
接地ラインから切り離され、これにより確実にプリチャ
ージが行なわれる。このようにして一致線140が先ず
プリチャージされた後検索が行なわれる。
‘1’の情報が記憶されているものとする。即ちこの場
合第1のインバータ20_1の出力側が論理‘1’、第
2のインバータ21_1の出力側が論理‘0’の状態に
ある。このメモリセル11_1に対して論理‘1’の検
索が行なわれるものとする。即ち、ビット線23_1が
論理‘1’、ビットバー線26_1が論理‘0’とされ
る。ワード線24は論理‘0’のままの状態に保持され
ている。また制御線300が論理‘1’となり、トラン
ジスタ290_0が導通状態となる。この場合トランジ
スタ27_1のゲートには論理‘1’の電圧が印加さ
れ、ビット線23_1の論理‘1’の信号がトランジス
タ290_1のゲートに印加され、これによりトランジ
スタ290_1が導通状態となる。即ちメモリセル11
_1に記憶されたビット情報とビット線23_1、ビッ
トバー線26_1を経由して入力された検索データ中の
ビット情報が一致する場合に、対応するトランジスタ2
90_1が導通状態となる。
の情報が記憶されているものとする。この場合第1のイ
ンバータ20_2の出力側が論理‘0’、第2のインバ
ータ21_2の出力側が論理‘1’の状態にある。この
メモリセル11_2に対してやはり論理‘1’の検索が
行なわれるものとする。即ち、ビット線23_2が論理
‘1’、ビットバー線26_2が論理‘0’とされ、制
御線300が論理‘1’とされる。この場合、トランジ
スタ28_2を経由して論理‘0’の状態にあるビット
バー線26_2の信号がトランジスタ290_2のゲー
トに印加され、したがってこのトランジスタ290_2
は非導通状態にととどまることになる。即ち不一致の場
合、一致線14にプリチャージされていた電荷はディス
チャージされない。
メモリセル11_32に示すように、ビット線23_3
2、ビットバー線26_32の双方とも論理‘1’とさ
れる。この場合このメモリセル11_32に論理‘1’
の情報が記憶されているか論理‘0’の情報が記憶され
ているかに応じてトランジスタ27_32もしくはトラ
ンジスタ28_32のいずれかが導通状態となり、いず
れの場合もトランジスタ290_32は導通状態とな
る。
は、メモリワードに記憶されたビットパターンとビット
線23_1,23_2,…,23_32、ビットバー線
26_1,26_2,…,26_32を経由して入力さ
れた検索データのビットパターンとが一致する(マスク
のかけられたビットについては、上述のように一致して
いるものとみなされる)場合、一致線140にプリチャ
ージされた電荷がトランジスタ290_32,…,29
0_2,290_1,290_0を経由して流れ出し、
これにより一致線140がディスチャージされ、この一
致線140のうち図3におけるインバータ310の左側
の部分は論理‘0’の状態となる。この論理‘0’がイ
ンバータ310で反転され、論理‘1’の一致信号がこ
のインバータ310から出力され、各一致フラグレジス
タ15_1,15_2,…,15_32(図2参照)に
入力される。
ーンとビット線23_1,23_2,…,23_32、
ビットバー線26_1,26_2,…,26_32を経
由して入力された検索データのビットパターンとが不一
致の場合には、一致線140はプリチャージによる論理
‘1’の状態にとどまり、この論理‘1’がインバータ
310で反転され、論理‘0’の不一致信号が出力され
る。
検索に先立って一致線140がP型トランジスタ320
を経由してプリチャージされ、検索により一致した場合
にだけトランジスタ290_0,290_1,290_
2,…,290_32を経由してディスチャージされる
ように構成したため、各検索毎にディスチャージされる
のは、ほとんどの場合多数の一致線のうちの極く一部で
あって、大部分の一致線はプリチャージされた状態にと
どまり、したがって次の検索に先立ってプリチャージす
る必要のある一致線の本数は少なくて済み、検索に伴う
消費電力が低く押えられる。
種々の構造のものが知られ、あるいは考えられている。
1ワードが32ビットで構成された連想メモリを用い
て、通信回線等を経由してきたデータをその連想メモリ
に入力して検索を行なうことを考える。図4は、通信回
線等を経由して送信されてきたデータの構造図である。
して各時刻 …,ti ,ti+1 ,t i+2 ,… に、例え
ばそれぞれ8ビットのデータ …,Di ,Di+1 ,D
i+2 ,… が送信されてきたものとする。この場合、典
型的には4つのデータ、例えばデータDi ,Di+1 ,D
i+2 ,Di+3 の組合せにより、1ワードが32ビットの
連想メモリにおける検索データが構成されるが、データ
Di ,Di+1 ,Di+2 ,Di+3 をそれらの送信の順序に
配列することにより検索データが構成されるとは限ら
ず、例えば検索データREF_DATAとして、 REF_DATA={Di+1 ,Di ,Di+3 ,Di+2 } …(1) 等、それらのデータDi ,Di+1 ,Di+2 ,Di+3 の順
序が入れ替わったデータを検索データREF_DATA
とする必要を生じる場合がある。
別にマイクロプロセッサを備え、順次入力されてくるデ
ータ…,Di ,Di+1 ,Di+2 ,…をそのマイクロプロ
セッサの内部バッファに一旦格納し、そのマイクロプロ
セッサで格納されたデータ…,Di ,Di+1 ,Di+2 ,
…の順序を入れ替えて検索データREF_DATAを合
成した後に、その検索データを連想メモリに入力してい
た。このため、システムの複雑化、検索速度の低下を招
いていた。
に、検索データが複数のデータに跨り、しかもそれら複
数のデータの順序を入れ替える必要が生じる場合であっ
ても高速検索を可能とする連想メモリを提供することを
目的とする。
メモリは、各格納データをそれぞれ記憶する複数のメモ
リワードを備え、これら複数のメモリワードそれぞれに
各格納データを記憶しておき、検索データを入力し、入
力された検索データに対応する格納データが記憶された
メモリワードを検索する連想メモリにおいて、 (1)入力された前記検索データを構成するビットパタ
ーンの配列順を変更する配列変換回路 (2)上記配列変換回路から出力された検索データを上
記複数のメモリワードに入力して、該検索データに対応
する格納データが記憶されたメモリワードを検索する検
索回路 を備えたことを特徴とする。
て、ビットパターンの配列順序を定義する順序入替デー
タを書き換え自在に格納する順序入替データレジスタを
備え、上記配列変換回路が、前記順序入替データレジス
タに格納された順序入替データに基づいてビットパター
ンの配列順を変更するものであることが好ましい。
変換回路を備えたものであるため、データの順序入替え
のためのマイクロプロセッサを備える必要がなく、シス
テムの簡単化、検索速度の向上が図られる。また、上記
本発明の連想メモリにおいて、上記順序入替データレジ
スタを備え、その順序入替データレジスタに格納された
順序入替えデータに基づいてビットパターンの順序を入
れ替えるように構成すると、順序入替データレジスタに
格納する順序入替データに応じてビットパターンの順序
を入れ替えることができ、柔軟性の高い連想メモリが実
現する。
1は、本発明の一実施例の、本発明に特徴的な部分を示
した部分回路図である。この連想メモリは32ビットで
1ワードが構成されており、この連想メモリの検索デー
タレジスタ120には、各時刻ti ,ti+1 ,…に入力
された8ビットパラレルの各データDi ,Di+1 ,…
が、それら各データDi ,Di+1 ,…の入力と同期して
入力されるライトイネーブル信号WE_の各立ち下がり
のタイミングで、図示のように、入力された順序に格納
される。この検索データレジスタ120は、図2に示す
検索データレジスタ12に相当する。
データDi ,Di+1 ,Di+2 ,Di+ 3 が格納されると、
以下に説明するように、必要に応じてそれらのデータD
i ,Di+1 ,Di+2 ,Di+3 が入れ替えられ、その入れ
替えられたデータが図2に示すマスクデータ13を経由
して各メモリワード11_1,11_2,…,11_n
に入力され、前述したようにして一致検索が実行され
る。
は以下のようにして行なわれる。図1に示す連想メモリ
には、順序入替フラグレジスタ110とセレクタ130
が備えられている。本実施例では、順序入替フラグレジ
スタ110,130が、それぞれ、本発明にいう順序入
替データレジスタ、配列変換回路に相当する。
の、それぞれが4ビットのレジスタ110_1,110
_2,110_3,110_4で構成されており、各レ
ジスタ110_1,110_2,110_3,110_
4は、32ビットの検索データレジスタ120を8ビッ
トずつに4つに分けたとき、自分が担当する8ビットの
データをどの位置に移動させるかを示す順序入替フラグ
を格納するものである。この順序入替フラグレジスタ1
10には、データDi ,Di+1 ,…が入力されるに先立
つ準備段階において、この連想メモリの使用者により定
義された順序入替えフラグが書き込まれる。
索データレジスタ120の下位(右端)の8ビットのデ
ータを担当するレジスタであり、そのレジスタ110_
1に’0010’という順序入替フラグが格納されてい
るため、その下位8ビットのデータは、8ビットずつに
分けたときの右から2番目の位置に移動される。また、
セレクタ130は、図示のように、多数のトライステー
トバッファ130_1,130_2,…,130_16
により構成されている。尚、ここに図示する各トライス
テートバッファ130_1,130_2,…,130_
16は、図示の煩雑さを避けるため8ビット分ずつまと
めて図示したものであり、実際にはこの8倍のトライス
テートバッファで構成される。各トライステートバッフ
ァ130_1,130_2,…,130_16は、順序
入替フラグレジスタ110の各ビットにより制御されて
おり、各ビットが’1’のときは対応するトライステー
トバッファ130_1,130,…,130_16はオ
ン状態となり、各ビットが’0’のときは、対応するト
ライステートバッファ130_1,130_2,…,1
30_16はオフ状態となる。したがって、図示の場
合、検索データレジスタ120の下位8ビット(右端)
に格納されたDi は、トライステートバッファ130_
5を経由して右から2番目から出力され、検索データレ
ジスタ120の右から2番目の8ビットのデータはD
i+1 は、トライステートバッファ130_5を経由して
右端から出力され、検索データレジスタ120の右から
3番目の8ビットのデータDi+2 は、トライステートバ
ッファ130_12を経由して左端から出力され、検索
データレジスタ120の左端の8ビットのデータDi+ 3
はトライステートバッファ130_15を経由して右か
ら3番目から出力される。
に入れ替えが行なわれ、検索データREF_DATAが
生成される。尚、上記実施例は、送信されてきたデータ
Di ,Di+1 ,Di+2 ,…を一旦その入力された順序の
まま検索データレジスタ120に格納し、その後そのデ
ータの順序を入れ替えるようにした例であるが、各デー
タDi ,Di+1 ,Di+2 ,…が送信されてくるたびに、
その送信されてきたデータの格納先を変更しながら検索
データレジスタに格納するようにしてもよい。
てデータの順序を入れ替えるように構成した例である
が、データ入れ替えの単位は8ビットに限られるもので
はなく、4ビット単位、あるいは16ビット単位等、必
要に応じて構成することができる。また、必要に応じ
て、1ビット毎に順序を入れ替えるように構成してもよ
い。
リによれば、入力されたデータを入れ替えて検索データ
を生成し、その検索データを用いて検索を行なうことが
できるため、連想メモリとは別にマイクロプロセッサ等
を備えてデータの順序を入れ替える必要がなく、システ
ムの簡単化、検索の高速化に寄与する。
示した部分回路図である。
ある。
を表わした詳細回路図である。
構造図である。
Claims (2)
- 【請求項1】 各格納データをそれぞれ記憶する複数の
メモリワードを備え、これら複数のメモリワードそれぞ
れに各格納データを記憶しておき、検索データを入力
し、入力された検索データに対応する格納データが記憶
されたメモリワードを検索する連想メモリにおいて、 入力された前記検索データを構成するビットパターンの
配列順を変更する配列変換回路と、 前記配列変換回路から出力された検索データを前記複数
のメモリワードに入力して、該検索データに対応する格
納データが記憶されたメモリワードを検索する検索回路
とを備えたことを特徴とする連想メモリ。 - 【請求項2】 ビットパターンの配列順序を定義する順
序入替データを書き換え自在に格納する順序入替データ
レジスタを備え、 前記配列変換回路が、前記順序入替データレジスタに格
納された順序入替データに基づいてビットパターンの配
列順を変更するものであることを特徴とする請求項1記
載の連想メモリ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01677194A JP3583800B2 (ja) | 1994-02-10 | 1994-02-10 | 連想メモリ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01677194A JP3583800B2 (ja) | 1994-02-10 | 1994-02-10 | 連想メモリ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07226092A true JPH07226092A (ja) | 1995-08-22 |
JP3583800B2 JP3583800B2 (ja) | 2004-11-04 |
Family
ID=11925484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01677194A Expired - Fee Related JP3583800B2 (ja) | 1994-02-10 | 1994-02-10 | 連想メモリ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3583800B2 (ja) |
-
1994
- 1994-02-10 JP JP01677194A patent/JP3583800B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3583800B2 (ja) | 2004-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6961810B2 (en) | Synchronous content addressable memory | |
US10366755B2 (en) | Semiconductor device including TCAM cell arrays capable of skipping TCAM-cell search in response to control signal | |
US6243281B1 (en) | Method and apparatus for accessing a segment of CAM cells in an intra-row configurable CAM system | |
US6137707A (en) | Method and apparatus for simultaneously performing a plurality of compare operations in content addressable memory device | |
US6081440A (en) | Ternary content addressable memory (CAM) having fast insertion and deletion of data values | |
US6324087B1 (en) | Method and apparatus for partitioning a content addressable memory device | |
US6505270B1 (en) | Content addressable memory having longest prefix matching function | |
US6687785B1 (en) | Method and apparatus for re-assigning priority in a partitioned content addressable memory device | |
JP3599273B2 (ja) | 内容参照可能メモリの改良 | |
US7113415B1 (en) | Match line pre-charging in a content addressable memory having configurable rows | |
US6751701B1 (en) | Method and apparatus for detecting a multiple match in an intra-row configurable CAM system | |
US6868475B2 (en) | Content addressable memory having data width extension capability | |
US6799243B1 (en) | Method and apparatus for detecting a match in an intra-row configurable cam system | |
US6236585B1 (en) | Dynamic, data-precharged, variable-entry-length, content addressable memory circuit architecture with multiple transistor threshold voltage extensions | |
US6813680B1 (en) | Method and apparatus for loading comparand data into a content addressable memory system | |
US6801981B1 (en) | Intra-row configurability of content addressable memory | |
JP3583800B2 (ja) | 連想メモリ | |
US6795892B1 (en) | Method and apparatus for determining a match address in an intra-row configurable cam device | |
US20050083719A1 (en) | Semiconductor memory device used for cache memory | |
US6580628B2 (en) | Associative memory | |
JP3130736B2 (ja) | 連想メモリの使用方法および連想メモリ | |
JPH07272489A (ja) | 連想メモリ | |
JP3597881B2 (ja) | 連想メモリ | |
JP3645293B2 (ja) | 連想メモリ | |
JPH08124387A (ja) | 連想メモリ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040610 |
|
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: 20040727 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040730 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080806 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090806 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 5 Free format text: PAYMENT UNTIL: 20090806 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100806 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |