JPH11273364A - 連想メモリ - Google Patents

連想メモリ

Info

Publication number
JPH11273364A
JPH11273364A JP6826998A JP6826998A JPH11273364A JP H11273364 A JPH11273364 A JP H11273364A JP 6826998 A JP6826998 A JP 6826998A JP 6826998 A JP6826998 A JP 6826998A JP H11273364 A JPH11273364 A JP H11273364A
Authority
JP
Japan
Prior art keywords
memory
output
hit
match
block
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.)
Pending
Application number
JP6826998A
Other languages
English (en)
Inventor
Hiroshi Sasama
洋 笹間
竜一 ▲籏▼
Ryuichi Hata
Takeshi Koyaizu
剛 小柳津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JFE Steel Corp
Original Assignee
Kawasaki Steel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kawasaki Steel Corp filed Critical Kawasaki Steel Corp
Priority to JP6826998A priority Critical patent/JPH11273364A/ja
Publication of JPH11273364A publication Critical patent/JPH11273364A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】検索データと一致する記憶データが保持されて
いるメモリワードが1つしか存在しないアプリケーショ
ンの場合、検索処理を高速化することができる連想メモ
リを提供すること。 【解決手段】各々のメモリワードに、一致検索の結果、
ただ1つのメモリワードでのみ一致が発生する記憶デー
タを書き込むように使用条件を限定し、従来の連想メモ
リでは必須の要件であったプライオリティ回路を省くこ
とによって、一致検索の結果、一致が発生したただ1つ
のメモリワードのアドレスを出力することにより、上記
課題を解決する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、連想メモリの高速
化に関するものである。
【0002】
【従来の技術】連想メモリ(以下、CAMという)は、
内容アドレス式メモリとも呼ばれ、各々のメモリワード
が、RAMやROM等の通常の半導体メモリと同じよう
にデータを保持する記憶部、および、この記憶部に保持
されているデータを検索する検索部を備えている。CA
Mを用いることにより、膨大な量のデータの中から目的
とするデータを瞬時に得ることができるため、検索処理
を頻繁に行うシステムの性能向上のために用いられる。
【0003】CAMにおいては、あらかじめ各々のメモ
リワードの記憶部に所定のデータを保持させておき、検
索しようとするデータ(以下、検索データという)を入
力して、この検索データと記憶部に保持されているデー
タ(以下、記憶データという)との一致検索を単一サイ
クルで行い、例えば検索データに一致する記憶データの
有無、この記憶データが記憶されているメモリワードの
アドレスや、この記憶データそのもの等が出力される。
【0004】ここで、図9に、従来のCAMの一例の構
成概念図を示す。同図に示すCAM156は、入力され
る書き込み/読み出し用アドレスをデコードするデコー
ダ12、n個のメモリワード16からなるメモリブロッ
ク14、ならびに、優先順位に従って、一致が発生した
複数のメモリワード16のアドレスを順次エンコード
し、これを検索一致アドレスとして出力する、プライオ
リティ回路20およびエンコーダ22からなるプライオ
リティエンコーダ18を備えている。
【0005】このCAM156において、デコーダ12
には書き込み/読み出し用アドレスが入力され、デコー
ダ12からはデコード信号が出力されている。このデコ
ード信号は、各々対応するメモリワード16に入力され
ており、各々のメモリワード16からはヒットフラグが
出力されている。また、ヒットフラグはプライオリティ
回路20に入力されており、プライオリティ回路20の
出力がエンコーダ22に入力され、エンコーダ22から
は検索一致アドレスが出力されている。
【0006】このCAM156において、書き込み/読
み出し用アドレスは、記憶データの書き込み/読み出し
が行われるメモリワード16を指定するためのアドレス
である。この書き込み/読み出し用アドレスはデコーダ
12によってデコードされ、デコーダ12からは、この
書き込み/読み出し用アドレスに対応するデコード信号
が出力される。このデコード信号で指定されるメモリワ
ード16に対して、記憶データの書き込み/読み出しが
行われる。
【0007】各々のメモリワード16への記憶データの
書き込みが終了した後、検索データが与えられ、各々の
メモリワード16において、検索データと記憶データと
の一致検索が行われる。各々のメモリワード16から
は、一致検索結果であるヒットフラグが出力され、プラ
イオリティ回路20へ入力される。ここで、ヒットフラ
グは、例えば一致の場合にアクティブ状態である‘1’
が出力され、不一致の場合に非アクティブ状態である
‘0’が出力される。
【0008】プライオリティ回路20では、所定の優先
順位に従って、アクティブ状態のヒットフラグの内の1
つのヒットフラグだけが順次アクティブ状態として出力
される、すなわち、他のアクティブ状態のヒットフラグ
は一旦非アクティブ状態として出力される。プライオリ
ティ回路20の出力はエンコーダ22によってエンコー
ドされ、ただ1つのアクティブ状態のヒットフラグに対
応するメモリワード16のアドレスが検索一致アドレス
として順次出力される。
【0009】このように、従来のCAM156において
は、1つのメモリワード16だけでなく、複数のメモリ
ワード16で一致が発生する場合があるが、複数のメモ
リワード16で一致が発生した場合、通常のエンコーダ
22だけでは正しい検索一致アドレスを出力することが
できない。このため、従来のCAM156では、前述の
ように、プライオリティ回路20を備えるプライオリテ
ィエンコーダ18が必然的に用いられている。
【0010】しかし、CAM156が利用されるアプリ
ケーションによっては、一致が発生するメモリワード1
6が1つに限定される場合がある。例えば、複数のコン
ピュータが接続されているネットワーク環境でネットワ
ークアドレスを管理する場合、CAM156の各々のメ
モリワード16には、各々のコンピュータに固有のネッ
トワークアドレスが保持される。この場合、一致検索の
結果、ただ1つのメモリワード16でのみ一致が発生す
るという限定的な使用条件となる場合が多い。
【0011】前述のように、従来のCAM156におい
ては、様々なアプリケーションに対応するために、常に
複数一致の場合を考慮してプライオリティエンコーダ1
8が用いられている。従って、検索データと一致する記
憶データが保持されているメモリワード16が1つしか
存在しないアプリケーションの場合であっても、プライ
オリティエンコーダ18によって検索一致アドレスがエ
ンコードされるため、これが高速化の妨げとなるという
問題点がある。
【0012】プライオリティエンコーダ18は、通常、
優先順位に従って、アクティブ状態のヒットフラグの内
の1つのヒットフラグだけを順次アクティブ状態として
出力するプライオリティ回路20、および、このプライ
オリティ回路20の出力をエンコードするエンコーダ
(バイナリエンコーダ)22を有しており、特に、メモ
リワード数の多い大規模CAMの場合、プライオリティ
回路20の動作時間が検索処理に必要な大部分の時間を
占めている。
【0013】ここで、図10に、従来のCAMの別の例
の構成概念図を示す。このCAM158は、各々複数個
のメモリワード142からなる複数個のメモリブロック
144に分割されたメモリアレイ170、各々上位およ
び下位ビット側の検索一致アドレスを出力するカラムプ
ライオリティエンコーダ150およびロウプライオリテ
ィエンコーダ154、ならびに、各々ブロックヒット線
112およびフィード線110の電圧レベルを検出する
カラムセンス回路114およびロウセンス回路116を
備えている。
【0014】各々のメモリワード144は、その一部だ
けしか示していないが、3つのN型MOSトランジスタ
(以下、NMOSという)118,120,146を有
する。ここで、NMOS118は、ブロックヒット線1
12とグランドとの間に接続されており、そのゲートは
ヒットフラグに接続されている。また、NMOS12
0,146は、フィード線110とグランドとの間に直
列接続されており、そのゲートは、それぞれヒットフラ
グおよびブロックイネーブル線160に接続されてい
る。
【0015】また、カラムセンス回路114は、各々の
メモリブロック144毎に設けられており、それぞれP
型MOSトランジスタ(以下、PMOSという)162
およびインバータ164を有する。ここで、PMOS1
62は電源とブロックヒット線112との間に接続され
ており、ブロックヒット線112はインバータ164に
入力され、インバータ164からはブロックヒット信号
が出力されている。なお、このカラムセンス回路114
とこれに対応するメモリブロック144内の全てのメモ
リワード142のNMOS118とによって、ブロック
ヒット信号を発生するOR回路が構成される。
【0016】ここで、ブロックヒット信号は、一致検索
の結果、各々のメモリブロック144毎に、メモリブロ
ック144内の全てのメモリワード142のヒットフラ
グの論理和を算出し、メモリブロック144内に一致が
発生したメモリワード142が存在するかどうかを示す
もので、例えばメモリブロック144内に一致が発生し
たメモリワード142が存在する場合にアクティブ状態
である‘1’が出力され、存在しない場合に非アクティ
ブ状態である‘0’が出力される。
【0017】続いて、カラムプライオリティエンコーダ
150は、カラムプライオリティ回路148およびカラ
ムエンコーダ106を有する。ここで、カラムプライオ
リティ回路148にはカラムセンス回路114のインバ
ータ164の出力が入力されている。また、カラムプラ
イオリティ回路148から出力されるブロックイネーブ
ル信号は、各々対応するメモリブロック144の各メモ
リワード142のNMOS146のゲート、および、カ
ラムエンコーダ106に入力されており、カラムエンコ
ーダ106からは上位側の検索一致アドレスが出力され
ている。
【0018】同じように、ロウセンス回路116は、各
々のメモリブロック144の同一順位のメモリワード1
42毎に設けられており、それぞれPMOS166およ
びインバータ168を有する。ここで、PMOS166
は、電源とフィード線110との間に接続され、フィー
ド線110はインバータ168に入力されて、インバー
タ168からはヒットフラグが出力されている。
【0019】また、ロウプライオリティエンコーダ15
4は、ロウプライオリティ回路152およびロウエンコ
ーダ108を有しており、ロウプライオリティ回路15
2には、ロウセンス回路116のインバータ168の出
力が入力されている。また、ロウプライオリティ回路1
52の出力はロウエンコーダ108に入力され、ロウエ
ンコーダ108からは下位ビット側の検索一致アドレス
が出力されている。なお、デコーダは、図面の煩雑さを
避けるために図示を省略してある。
【0020】このCAM158において、ブロックヒッ
ト線112は、カラムセンス回路114のPMOS16
2によってあらかじめプリチャージされ、同じように、
フィード線110は、ロウセンス回路116のPMOS
166によってあらかじめプリチャージされる。一致検
索の結果、各々のメモリワード142からはヒットフラ
グが出力され、まず、各々のメモリブロック144毎
に、OR回路によってブロックヒット信号が発生され、
このブロックヒット信号はカラムプライオリティ回路1
48へ入力される。
【0021】すなわち、メモリブロック144内の複数
のメモリワード142の内、少なくとも1つのメモリワ
ード142で一致が発生し、そのヒットフラグがアクテ
ィブ状態である‘1’であれば、このメモリワード14
2のNMOS118がオンされ、ブロックヒット線11
2がNMOS118を介してディスチャージされる。従
って、ブロックヒット線112の‘0’がインバータ1
64によって反転され、カラムセンス回路114から
は、ブロックヒット信号としてアクティブ状態である
‘1’が出力される。
【0022】これに対し、メモリブロック144内の全
てのメモリワード142で一致が発生せず、全てのヒッ
トフラグが非アクティブ状態である‘0’であれば、メ
モリワード142のNMOS118はオンされず、全て
のブロックヒット線112はプリチャージされたままの
‘1’の状態に保持される。従って、ブロックヒット線
112の‘1’がインバータ164によって反転され、
カラムセンス回路114からは、ブロックヒット信号と
して非アクティブ状態である‘0’が出力される。
【0023】また、前述のように、OR回路によって、
各々のメモリブロック144毎にブロックヒット信号が
発生されるのと同時に、各々のメモリブロック144の
各々のメモリワード142において、ヒットフラグがア
クティブ状態である‘1’であれば、このメモリワード
142のNMOS120もオンされ、これに対して、非
アクティブ状態である‘0’であれば、NMOS120
はオフされたままの状態を保持する。
【0024】カラムプライオリティ回路106では、所
定の優先順位に従って、アクティブ状態のブロックヒッ
ト信号の内の1つのブロックヒット信号だけが順次アク
ティブ状態として出力される、すなわち、他のアクティ
ブ状態のブロックヒット信号は一旦非アクティブ状態と
される。このカラムプライオリティ回路148から出力
されるブロックヒット信号はカラムエンコーダ106に
入力されるとともに、ブロックイネーブル信号として、
対応するメモリブロック144の全てのメモリワード1
42のNMOS146のゲートに入力される。
【0025】このアクティブ状態のブロックイネーブル
信号によって、これに対応するメモリブロック144の
全てのメモリワード142のNMOS146がオンさ
れ、このメモリブロック144の全てのメモリワード1
42のヒットフラグが、各々対応するフィード線110
に出力される。これに対し、ブロックイネーブル信号が
非アクティブ状態である‘0’であれば、これに対応す
るメモリブロック144の全てのメモリワード142の
NMOS146がオフされたままの状態に保持され、フ
ィード線110から電気的に切り離される。
【0026】すなわち、アクティブ状態のブロックイネ
ーブル信号が入力されるメモリブロック144におい
て、ヒットフラグがアクティブ状態である‘1’であれ
ば、このメモリワード142のNMOS146がオンさ
れ、フィード線110はNMOS120,146を介し
てディスチャージされる。従って、フィード線110の
‘0’がインバータ168によって反転され、ロウセン
ス回路116からは、ヒットフラグとしてアクティブ状
態である‘1’が出力される。
【0027】これに対し、ヒットフラグが非アクティブ
状態である‘0’であれば、このメモリワード142の
NMOS146はオフされたままの状態に保持される。
従って、フィード線110はプリチャージされたままの
‘1’に保持され、フィード線110の‘1’がインバ
ータ168によって反転され、ロウセンス回路116か
らは、ヒットフラグとして非アクティブ状態である
‘0’が出力される。
【0028】このロウセンス回路116からの出力はロ
ウプライオリティ回路152に入力される。ロウプライ
オリティ回路152では、カラムプライオリティ回路1
48の場合と同じように、所定の優先順位に従って、ア
クティブ状態のヒットフラグの内の1つのヒットフラグ
だけが順次アクティブ状態として出力され、すなわち、
他のアクティブ状態のヒットフラグは一旦非アクティブ
状態として出力され、ロウエンコーダ108に入力され
る。
【0029】最後に、ブロックヒット信号がカラムエン
コーダ106によって順次エンコードされ、アクティブ
状態のブロックヒット信号に対応するメモリブロック1
44のアドレスが上位ビット側の検索一致アドレスとし
て出力されるのと同時に、このメモリブロック144の
ヒットフラグがロウエンコーダ106によって順次エン
コードされ、1つのアクティブ状態のヒットフラグに対
応するメモリワード142のアドレスが下位ビット側の
検索一致アドレスとして出力される。
【0030】このように、大規模CAMにおいては、一
般的に、メモリアレイが複数のメモリブロックに分割さ
れ、かつ、プライオリティエンコーダが、上位(カラ
ム)および下位(ロウ)ビット用に分割されている。
【0031】従って、大規模CAMでは、まず、カラム
プライオリティ回路により、優先順位に従って、アクテ
ィブ状態のメモリブロックを1つずつ順次選択し、次い
で、ロウプライオリティ回路により、優先順位に従っ
て、選択されたメモリブロック毎にアクティブ状態のメ
モリワードを1つずつ順次選択した後、アクティブ状態
のメモリブロックのアクティブ状態のメモリワードのア
ドレスを順次エンコードしているため、特に時間を要す
るという問題点があった。
【0032】
【発明が解決しようとする課題】本発明の目的は、前記
従来技術に基づく問題点をかえりみて、検索データと一
致する記憶データが保持されているメモリワードが1つ
しか存在しないアプリケーションの場合、検索処理を高
速化することができる連想メモリを提供することにあ
る。
【0033】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、検索しようとするデータとあらかじめ記
憶されているデータとの一致検索を行い、その一致検索
結果であるヒットフラグを各々出力する複数のメモリワ
ードを有するメモリブロックと、このメモリブロックの
複数のメモリワードから出力されるヒットフラグをエン
コードし、ただ1つのアクティブ状態のヒットフラグに
対応するメモリワードのアドレスを出力するエンコーダ
とを備え、各々の前記メモリワードに、一致検索の結
果、ただ1つのメモリワードでのみ一致が発生する記憶
データを書き込み、一致検索の結果、一致が発生したた
だ1つのメモリワードのアドレスを出力することを特徴
とする第1態様の連想メモリを提供するものである。
【0034】また、本発明は、検索しようとするデータ
とあらかじめ記憶されているデータとの一致検索を行
い、その一致検索結果であるヒットフラグを各々出力す
る複数のメモリワードを有するメモリブロックと、所定
の優先順位に従って、前記メモリブロックの複数のメモ
リワードから出力されるアクティブ状態のヒットフラグ
の内の1つのヒットフラグだけをアクティブ状態として
順次出力するプライオリティ回路と、前記メモリブロッ
クの複数のメモリワードから出力されるヒットフラグと
前記プライオリティ回路から出力されるヒットフラグと
を切り替えて出力するセレクタと、このセレクタから出
力されるヒットフラグをエンコードし、ただ1つのアク
ティブ状態のヒットフラグに対応するメモリワードのア
ドレスを出力するエンコーダとを備え、各々の前記メモ
リワードに、一致検索の結果、ただ1つのメモリワード
でのみ一致が発生する記憶データを書き込んだ場合に
は、一致検索の結果、前記セレクタから、前記メモリブ
ロックの複数のメモリワードから出力されるヒットフラ
グを出力し、一致が発生したただ1つのメモリワードの
アドレスを出力し、複数の前記メモリワードで一致が発
生する場合には、一致検索の結果、前記セレクタから、
前記プライオリティ回路から出力されるヒットフラグを
出力し、所定の優先順位に従って、一致が発生したメモ
リワードのアドレスを順次出力することを特徴とする第
2態様の連想メモリを提供する。
【0035】ここで、上記記載の第1および第2態様の
連想メモリであって、さらに、一致検索の結果、2つ以
上の前記ヒットフラグが同時にアクティブ状態であるこ
とを検出するマルチヒット検出回路を有するのが好まし
い。
【0036】また、本発明は、検索しようとするデータ
とあらかじめ記憶されているデータとの一致検索を行
い、その一致検索結果であるヒットフラグを各々出力す
る複数のメモリワードを有し、複数の前記メモリワード
から各々出力されるヒットフラグの論理和であるブロッ
クヒット信号を出力するメモリブロックを複数有するメ
モリアレイと、このメモリアレイの複数のメモリブロッ
クから出力されるブロックヒット信号をエンコードし、
ただ1つのアクティブ状態のブロックヒット信号に対応
するメモリブロックのアドレスを出力するカラムエンコ
ーダと、前記複数のメモリブロックの複数のメモリワー
ドから各々出力されるヒットフラグをエンコードし、た
だ1つのアクティブ状態のヒットフラグに対応するメモ
リワードのアドレスを出力するロウエンコーダとを備
え、各々の前記メモリワードに、一致検索の結果、ただ
1つのメモリワードでのみ一致が発生する記憶データを
書き込み、一致検索の結果、一致が発生したただ1つの
メモリワードのアドレスを出力することを特徴とする第
3態様の連想メモリを提供する。
【0037】また、本発明は、検索しようとするデータ
とあらかじめ記憶されているデータとの一致検索を行
い、その一致検索結果であるヒットフラグを各々出力す
る複数のメモリワードを有し、複数の前記メモリワード
から各々出力されるヒットフラグの論理和であるブロッ
クヒット信号を出力するメモリブロックを複数有するメ
モリアレイと、所定の優先順位に従って、前記メモリア
レイの複数のメモリブロックから出力されるアクティブ
状態のブロックヒット信号の内の1つのブロックヒット
信号だけをアクティブ状態として順次出力するカラムプ
ライオリティ回路と、前記メモリアレイの複数のメモリ
ブロックから出力されるブロックヒット信号と前記カラ
ムプライオリティ回路から出力されるブロックヒット信
号とを切り替えて出力するカラムセレクタと、このカラ
ムセレクタから出力されるブロックヒット信号をエンコ
ードし、ただ1つのアクティブ状態のブロックヒット信
号に対応するメモリブロックのアドレスを出力するカラ
ムエンコーダと、所定の優先順位に従って、前記カラム
プライオリティ回路から出力される1つのアクティブ状
態のブロックヒット信号に対応するメモリブロックの複
数のメモリワードから出力されるアクティブ状態のヒッ
トフラグの内の1つのヒットフラグだけをアクティブ状
態として順次出力するロウプライオリティ回路と、前記
メモリアレイの複数のメモリブロックから出力されるブ
ロックヒット信号に対応するメモリブロックの複数のメ
モリワードから出力されるヒットフラグと前記ロウプラ
イオリティ回路から出力されるヒットフラグとを切り替
えて出力するロウセレクタと、このロウセレクタから各
々出力されるヒットフラグをエンコードし、ただ1つの
アクティブ状態のヒットフラグに対応するメモリワード
のアドレスを出力するロウエンコーダとを備え、各々の
前記メモリワードに、一致検索の結果、ただ1つのメモ
リワードでのみ一致が発生する記憶データを書き込んだ
場合には、一致検索の結果、前記カラムセレクタから、
前記メモリアレイの複数のメモリブロックから出力され
るブロックヒット信号を出力し、かつ、前記ロウセレク
タから、前記メモリアレイの複数のメモリブロックから
出力されるブロックヒット信号に対応するメモリブロッ
クの複数のメモリワードから出力されるヒットフラグを
出力し、一致が発生したただ1つのメモリワードのアド
レスを出力し、複数の前記メモリワードで一致が発生す
る場合には、一致検索の結果、前記カラムセレクタか
ら、前記カラムプライオリティ回路から出力されるブロ
ックヒット信号を出力し、かつ、前記ロウセレクタか
ら、前記ロウプライオリティ回路から出力されるヒット
フラグを出力し、所定の優先順位に従って、一致が発生
したメモリワードのアドレスを順次出力することを特徴
とする第4態様の連想メモリを提供する。
【0038】ここで、上記記載の第3および第4態様の
連想メモリであって、さらに、一致検索の結果、2つ以
上の前記ヒットフラグがアクティブ状態であることを検
出するマルチヒット検出回路を有するのが好ましい。
【0039】
【発明の実施の形態】以下に、添付の図面に示す好適実
施例に基づいて、本発明の連想メモリ(以下、CAMと
いう)を詳細に説明する。
【0040】図1は、本発明の連想メモリの第1の実施
例の構成概念図である。このCAM10は、例えば図9
に示す従来のCAM156と比較して、プライオリティ
回路20を備えておらず、マルチヒット検出回路24を
備えている点が相違するだけであり、これ以外の同一の
構成要素には同一の符号を付してある。すなわち、図示
例のCAM10は、デコーダ12、メモリブロック1
4、エンコーダ22、マルチヒット検出回路24等を備
えている。
【0041】図1に示すCAM10において、まず、デ
コーダ12は、入力される書き込み/読み出し用アドレ
スをデコードし、この書き込み/読み出し用アドレスに
対応するデコード信号を出力する。このデコード信号で
指定されるメモリワード16に対して、記憶データの書
き込み/読み出しが行われる。なお、デコーダ12の構
成は何ら限定されず、従来より公知の各種構成のデコー
ダを利用することが可能である。
【0042】続いて、メモリブロック14は、記憶デー
タを保持する記憶部、および、検索データと記憶データ
との一致不一致を検出する検索部からなる複数のメモリ
ワードを有するもので、図示例の場合、n個のメモリワ
ード16を有する。各々のメモリワード16は、記憶部
に所定ビット長の記憶データを保持し、検索部で検索デ
ータと記憶データとの一致検索を行い、その一致検索結
果であるヒットフラグを出力する。
【0043】なお、本発明のCAM10は、一致検索の
結果、ただ1つのメモリワード16でのみ一致が発生す
るアプリケーションに適用されるものであり、従って、
各々のメモリワード16には、一致検索の結果、ただ1
つのメモリワード16でのみ一致が発生するように記憶
データが書き込まれる。
【0044】ここで、図2に、メモリワードの第1の実
施例の構成回路図を示す。図示例のメモリワード26
は、一致検出型のメモリワードの一例を示すもので、複
数のメモリビット28を有する。また、各々のメモリビ
ット28は、SRAM型の記憶部30および検索部32
によって構成されている。なお、同図には、反転一致検
出線ML ̄を検出し、このメモリワード26のヒットフ
ラグを出力するセンス回路34も示してある。
【0045】メモリワード26において、記憶部30
は、2つのインバータ36,38、および、2つのN型
MOSトランジスタ(以下、NMOSという)40,4
2を有する。ここで、2つのインバータ36,38は、
一方の出力が他方の入力に互いに接続されている。ま
た、2つのNMOS40,42は、ビット線BLおよび
反転ビット線BL ̄と2つのインバータ36,38の入
力との間に各々接続され、そのゲートはともにワード線
WLに接続されている。
【0046】検索部32は、3つのNMOS44,4
6,48を有する。ここで、NMOS44,46は、ビ
ット線BLと反転ビット線BL ̄との間に直列接続さ
れ、そのゲートには、記憶部30のインバータ38,3
6の出力が各々入力されている。また、全てのメモリビ
ット28のNMOS48が直列接続され、これが反転一
致検出線ML ̄とされている。各々のNMOS48のゲ
ートは、それぞれ対応するメモリビット28のNMOS
44,46の接続点に接続されている。
【0047】また、センス回路34は、プリチャージト
ランジスタであるP型MOSトランジスタ(以下、PM
OSという)50、ディスチャージトランジスタとなる
NMOS52およびインバータ54を有する。ここで、
反転一致検出線ML ̄はインバータ54に入力されてい
る。また、反転一致検出線ML ̄の図中右側の端部と電
源との間にはPMOS50が接続され、左側の端部とグ
ランドとの間にはNMOS52が接続されている。
【0048】このメモリワード26において、ワード線
WLは、デコーダ12から出力されるデコード信号によ
って駆動される。図示例の場合、このワード線WLがア
クティブ状態である‘1’に駆動された場合、記憶部3
0のNMOS40,42がともにオンされ、インバータ
36,38の入力は各々ビット線BLおよび反転ビット
線BL ̄に接続され、ビット線BLおよび反転ビット線
BL ̄を介して、記憶部30に記憶データの書き込み/
読み出しが行われる。
【0049】ここで、メモリビット28の記憶部30に
保持されている記憶データが‘1’、すなわち、インバ
ータ36,38の出力が各々‘0’,‘1’である場
合、検索部32のNMOS44,46は各々オンおよび
オフされ、NMOS48のゲートはビット線BLに接続
される。これに対し、記憶データが‘0’である場合、
検索部32のNMOS44,46は各々オフおよびオン
され、NMOS48のゲートは反転ビット線BL ̄に接
続される。
【0050】一致検索を行う場合、まず、検索データ
が、各々のメモリビット28のビット線BLおよび反転
ビット線BL ̄に駆動される。すなわち、あるメモリビ
ット28の検索データが‘1’である場合、このメモリ
ビット28のビット線BLおよび反転ビット線BL ̄は
各々‘1’および‘0’に駆動される。これに対し、検
索データが‘0’である場合、ビット線BLおよび反転
ビット線BL ̄は各々‘0’および‘1’に駆動され
る。
【0051】従って、‘1’の記憶データが保持されて
いるメモリビット28に‘1’の検索データが与えられ
る、あるいは、‘0’の記憶データが保持されているメ
モリビット28に‘0’の検索データが与えられる、す
なわち、記憶データと一致する検索データが与えられた
場合、検索部32のNMOS48がオンされる。これに
対し、記憶データと一致しない検索データが与えられた
場合、検索部32のNMOS48はオフされる。
【0052】続いて、センス回路34のPMOS50が
オンされ、かつ、NMOS52がオフされて、反転一致
検出線ML ̄がプリチャージされる。この時、反転一致
検出線ML ̄は‘1’となり、この‘1’がセンス回路
34のインバータ34により反転出力されてヒットフラ
グは‘0’となる。その後、センス回路34のPMOS
50がオフされ、かつ、NMOS52がオンされて、反
転一致検出線ML ̄がディスチャージされる。
【0053】この時、メモリワード26の全てのメモリ
ビット28のNMOS48がオンされていれば、反転一
致検出線ML ̄は‘0’となり、ヒットフラグは‘1’
となる。すなわち、検索データと記憶データとの一致が
検出される。これに対して、メモリビット28のNMO
S48が1つでもオフされていれば、反転一致検出線M
L ̄は‘1’の状態を保持し、ヒットフラグは‘0’の
ままの状態に保持される。すなわち、不一致が検出され
る。
【0054】このように、一致検出型のメモリワード2
6においては、初めヒットフラグを不一致状態に設定し
ておき、検索データと記憶データとの一致が検出された
場合にだけヒットフラグが一致状態に変化するため、一
致検出が終了したタイミング信号を別途用意することな
く、ヒットフラグが不一致状態から一致状態に変化した
タイミングで、一致が検出されたメモリワードのアドレ
スのエンコードを開始させることができるという利点が
ある。
【0055】続いて、図3に、メモリワードの第2の実
施例の構成回路図を示す。図示例のメモリワード56
は、不一致検出型のメモリワードの一例を示すもので、
SRAM型の記憶部30および検索部60によって構成
される複数のメモリビット58を有する。なお、同図に
は、一致検出線MLを検出し、このメモリワード56の
ヒットフラグを出力するセンス回路62、および、ヒッ
トフラグの出力タイミングを制御するANDゲート64
も示してある。
【0056】メモリワード56において、記憶部30
は、図2に示すメモリワード26の各々のメモリビット
28の記憶部30と同じである。検索部60は、3つの
NMOS66,68,70を有する。ここで、NMOS
66,68は、ビット線BLと反転ビット線BL ̄との
間に直列接続され、そのゲートには、記憶部30のイン
バータ36,38の出力が各々入力されている。また、
NMOS70は、一致検出線MLとグランドとの間に接
続され、そのゲートは、NMOS66,68の接続点に
接続されている。
【0057】また、センス回路62は、PMOS50お
よびバッファ72を有する。ここで、一致検出線MLは
バッファ72に入力されており、一致検出線MLと電源
との間にはPMOS50が接続されている。なお、バッ
ファ72の出力は、ANDゲート64の一方の入力に入
力されており、ANDゲート64の他方の入力には、ヒ
ットフラグの出力タイミングを制御するための制御信号
であるタイミング信号が入力されている。
【0058】このメモリワード56において、メモリビ
ット58の記憶部30に保持されている記憶データが
‘1’、すなわち、インバータ36,38の出力が各々
‘0’,‘1’である場合、検索部60のNMOS6
6,68が各々オフおよびオンされ、NMOS70のゲ
ートは反転ビット線BL ̄に接続される。これに対し、
記憶データが‘0’である場合、NMOS70のゲート
はビット線BLに接続される。
【0059】一致検索を行う場合、まず、各々のメモリ
ビット58のビット線BLおよび反転ビット線BL ̄が
ともに‘0’に駆動される。従って、メモリワード56
に保持されている記憶データの値に係らず、全てのメモ
リビット58のNMOS70が一旦オフされる。
【0060】続いて、センス回路62のPMOS50が
オンされ、一致検出線MLがプリチャージされる。この
時、一致検出線MLは‘1’となり、センス回路62の
バッファ72から出力されるヒットフラグも‘1’とな
る。なお、タイミング信号は‘0’とされており、AN
Dゲート64の出力は‘0’である。センス回路62の
PMOS50がオフされた後、検索データが、各々のメ
モリビット58のビット線BLおよび反転ビット線BL
 ̄に駆動される。
【0061】この時、メモリワード56のメモリビット
58のNMOS70が1つでもオンされていれば、一致
検出線MLはディスチャージされて‘0’となり、ヒッ
トフラグも‘0’となる。すなわち、検索データと記憶
データとの不一致が検出される。これに対し、全てのメ
モリビット58のNMOS70がオフされていれば、一
致検出線MLは‘1’の状態に保持され、ヒットフラグ
も‘1’のままの状態に保持される。すなわち、一致が
検出される。その後、タイミング信号が‘1’とされ、
ANDゲート64から‘1’のヒットフラグが出力され
る。
【0062】このように、不一致検出型のメモリワード
56においては、初めヒットフラグを一致状態に設定し
ておき、検索データと記憶データとの不一致が検出され
た場合にだけヒットフラグが不一致状態に変化するた
め、ヒットフラグの出力タイミングを制御するタイミン
グ信号を別途用意する必要がある。このタイミング信号
は、プライオリティ回路を備えている、備えていないに
係らず、不一致検出型のメモリワード56を用いる場合
に必須の要件である。
【0063】従って、本発明のCAM10においては、
一致検出型のメモリワード26でも、不一致検出型のメ
モリワード56でも使用可能であるが、ヒットフラグの
出力タイミングを制御するタイミング信号を必要とする
不一致検出型のメモリワード56を用いるよりも、タイ
ミング信号を発生することなく、一致検索からアドレス
のエンコードまでの動作を行わせることができる一致検
出型のメモリワード26を用いるのがより好ましい。
【0064】なお、メモリワードの構成は何ら限定され
ず、従来より公知の各種構成のメモリワードを利用する
ことが可能である。また、各々のメモリビットの記憶部
もSRAM型に限定されず、ROM型のものでもよい。
続いて、図示例のCAM10において、エンコーダ22
は、ヒットフラグの内のただ1つのアクティブ状態のヒ
ットフラグに対応するメモリワード16のアドレスをエ
ンコードし、これを検索一致アドレスとして出力する。
【0065】例えば、図4に、エンコーダの一実施例の
構成回路図を示す。図示例のエンコーダ74は、入力さ
れるn本のヒットフラグをエンコードし、ただ1つのア
クティブ状態の‘1’のヒットフラグに対応するメモリ
ワード16のアドレスを、n=2m である場合にm本の
検索一致アドレスとして出力するバイナリエンコーダの
一例を示すもので、プリチャージ用のPMOS76、デ
ィスチャージ用のNMOS78およびインバータ80を
有する。
【0066】ここで、PMOS76は、電源と各々のア
ドレス線LADの図中上側の端部との間に接続されてい
る。NMOS78は、エンコードされるメモリワード1
6のバイナリアドレスに各々対応して設けられており、
各々対応するアドレス線LADとグランドとの間に接続さ
れ、そのゲートには、各々のヒットフラグが入力されて
いる。また、各々のアドレス線LADの下側の端部がイン
バータ80に入力され、インバータ80からは、m本の
検索一致アドレスが出力されている。
【0067】アドレスをエンコードする場合、まず、例
えばタイミング信号の制御により、n本のヒットフラグ
が一旦‘0’とされて全てのNMOS78がオフされ、
かつ、PMOS76がオンされて全てのアドレス線LAD
がプリチャージされる。
【0068】その後、PMOS76がオフされ、ただ1
つのヒットフラグがアクティブ状態である‘1’とな
る。この時、この‘1’のヒットフラグに対応するNM
OS78だけがオンされ、NMOS78が設けられてい
るアドレス線LADはディスチャージされて‘0’とな
り、NMOS78が設けられていないアドレス線LAD
プリチャージされたままの‘1’の状態に保持される。
アドレス線LADの状態はインバータ80によって反転さ
れ、検索一致アドレスとして出力される。
【0069】このエンコーダ22のように、大規模な半
導体装置では、一般的に、高集積化や高速化の目的でダ
イナミック型の回路が使用される場合が多い。しかし、
ダイナミック型の回路は、入力される全ての信号が確定
してから動作を開始させなければ誤動作するため、信号
を入力するタイミングを制御するための制御信号である
タイミング信号を用意する必要がある。また、ダイナミ
ック型の回路の動作には、誤動作を防止するためのタイ
ミングマージンが必要である。
【0070】ここで、従来のCAMは、様々なアプリケ
ーションに対応することができるように設計されてお
り、一致検索の結果、2つ以上のメモリワードで一致が
発生する場合があるため、必然的にプライオリティエン
コーダが使用されている。従って、従来のCAMにおい
ては、プライオリティ回路の動作時間だけでなく、プラ
イオリティ回路をダイナミック型の回路で構成している
場合、そのタイミングマージン分の動作時間も必要とな
る。
【0071】ところで、例えば複数のコンピュータが接
続されたネットワーク環境において、各々のコンピュー
タは、固有のネットワークアドレスが与えられることに
よって一意に識別される。このように、例えばネットワ
ークアドレスを管理する場合、CAM10のメモリワー
ド16には、個々のコンピュータに固有のネットワーク
アドレスが保持されるため、一致検索の結果、ただ1つ
のメモリワード16でのみ一致が発生するという限定的
な使用条件となる場合が多い。
【0072】これに基づいて、本発明のCAM10は、
一致検索の結果、ただ1つのメモリワードでのみ一致が
発生する使用条件のアプリケーションにおいて、プライ
オリティ回路を省いたことにより、プライオリティ回路
そのものの動作時間だけでなく、タイミングマージン分
の時間も含めて検索処理を高速化させることができる。
また、プライオリティ回路に係るタイミング信号を発生
させるための煩雑な制御回路等も省略できるという利点
がある。
【0073】なお、エンコーダ22の構成は何ら限定さ
れず、従来より公知の各種構成のエンコーダを利用する
ことが可能である。最後に、マルチヒット検出回路24
は、2つ以上のメモリワード16で一致が発生したこと
を検出し、その検出結果であるマルチヒット検出信号を
出力する。このマルチヒット検出信号は、2つ以上のメ
モリワードで一致が発生した場合のエラー検出信号とし
て用いられる。
【0074】例えば、図5に、マルチヒット検出回路の
一実施例の構成回路図を示す。図示例のマルチヒット検
出回路82は、プリチャージ用のPMOS84、センス
電流駆動用のNMOS86、リファレンス電流駆動用の
NMOS92、各々NMOS86,92に対して電気的
なバランスをとるために設けられているダミートランジ
スタであるNMOS88,90、ディスチャージ用のN
MOS94、および、差動センスアンプ96を有する。
【0075】ここで、PMOS84は、電源とセンス線
SEN およびリファレンス線LREFの図中上側の端部と
の間に各々接続され、そのゲートにはセンスイネーブル
信号が入力されている。また、NMOS86は、センス
線LSEN とディスチャージ線LDIS との間に各々並列接
続されており、そのゲートには、各々対応するヒットフ
ラグが入力されている。NMOS92は、リファレンス
線LREF とディスチャージ線LDIS との間に接続され、
そのゲートは電源に接続されている。
【0076】同じように、NMOS90は、センス線L
SEN とディスチャージ線LDIS との間に接続され、その
ゲートはグランドに接続されている。また、NMOS8
8は、リファレンス線LREF とディスチャージ線LDIS
との間に各々並列接続されており、そのゲートはグラン
ドに接続されている。すなわち、図示例のマルチヒット
検出回路82の場合、NMOS88,90は常にオフさ
れており、NMOS92は常にオンされている。
【0077】また、NMOS94は、ディスチャージ線
DIS とグランドとの間に接続され、そのゲートにはセ
ンスイネーブル信号が入力されている。センス線LSEN
およびリファレンス線LREF の下側の端部は差動センス
アンプ96に入力され、差動センスアンプ96からは、
マルチヒット検出信号が出力されている。なお、NMO
S92は、NMOS86の1.5倍のサイズのトランジ
スタであり、NMOS86の1.5個分の電流駆動能力
を有する。また、NMOS92とのバランスをとるため
に、NMOS90はNMOS92と同サイズのトランジ
スタである。
【0078】ここで、センスイネーブル信号は、このマ
ルチヒット検出回路82の動作を制御するタイミング信
号である。このマルチヒット検出回路82では、まず、
センスイネーブル信号が‘0’とされる。この時、PM
OS84がオン、かつ、NMOS94がオフされ、セン
ス線LSEN 、リファレンス線LREF およびディスチャー
ジ線LDIS がともに同電位にプリチャージされる。な
お、NMOS86は、各々対応するヒットフラグの状態
に応じてオンまたはオフされる。
【0079】その後、センスイネーブル信号が‘1’と
される。この時、PMOS84がオフ、かつ、NMOS
94がオンされ、センス線LSEN は、アクティブ状態の
ヒットフラグに対応する個数のNMOS86を介してデ
ィスチャージされる。これに対し、リファレンス線L
REF は、NMOS86の1.5個分の電流駆動能力を有
するNMOS92を介してディスチャージされる。
【0080】すなわち、アクティブ状態のヒットフラグ
が1つであれば、センス線LSEN が1個のNMOS86
を介してディスチャージされるのに対して、リファレン
ス線LREF が、NMOS86の1.5個分の電流駆動能
力を有するNMOS92を介してディスチャージされる
ため、センス線LSEN よりもリファレンス線LREF の方
が速くディスチャージされる。これに対し、アクティブ
状態のヒットフラグが2つ以上あれば、リファレンス線
REF よりもセンス線LSEN の方が速くディスチャージ
される。
【0081】このセンス線LSEN とリファレンス線L
REF との間の電位差は差動センスアンプ96によって検
出され、マルチヒット検出信号として出力される。マル
チヒット検出信号としては、例えばアクティブ状態のヒ
ットフラグが1つであれば‘0’が出力され、2つ以上
のアクティブ状態のヒットフラグが検出されれば‘1’
が出力される。従って、マルチヒット検出信号の状態に
より2つ以上のメモリワードで一致が発生したかどうか
を判定することができる。
【0082】CAM10においては、一致検索の結果、
各々のメモリワード16から出力されるヒットフラグの
内、ただ1つのヒットフラグだけがアクティブ状態とな
る、すなわち、他のヒットフラグは非アクティブ状態と
なる。すなわち、既に述べたように、本発明のCAM1
0を適用するアプリケーションにおいては、一致検索の
結果、ただ1つのメモリワード16でのみ一致が発生す
るように記憶データの書き込みが行われる。
【0083】各々のメモリワード16から出力されるヒ
ットフラグは、エンコーダ22によってエンコードさ
れ、ただ1つのアクティブ状態のヒットフラグに対応す
るメモリワード16のアドレスが検索一致アドレスとし
て出力される。これに対し、2つ以上のヒットフラグが
アクティブ状態である場合、エンコーダ22からは間違
った検索一致アドレスが出力されてしまうが、前述のマ
ルチヒット検出信号によって、このエラーを検出するこ
とができる。
【0084】なお、マルチヒット検出回路24の構成は
何ら限定されず、各種構成のものが利用可能である。ま
た、各々のメモリワードには、一致検索の結果、ただ1
つのメモリワード16でのみ一致が発生する記憶データ
が書き込まれるため、必ずしもマルチヒット検出回路2
4を備えていなくてもよいが、複数一致の場合のエラー
検出のためにマルチヒット検出回路24を設けておくの
が好ましい。本発明の第1の実施例のCAMは、基本的
に以上のようなものである。
【0085】次に、図6は、本発明のCAMの第2の実
施例の構成概念図である。このCAM98は、図10に
示す従来のCAMと比較して、カラムプライオリティ回
路およびロウプライオリティ回路を備えておらず、これ
に伴って、各々のメモリワード100の一部が変更され
ている点、および、マルチヒット検出回路を備えている
点が相違するだけであるから、同一の構成要素には同一
の符号を付し、ここでは、その詳細な説明は省略する。
【0086】すなわち、図示例のCAM98は、各々複
数個のメモリワード100からなる複数個のメモリブロ
ック102に分割されたメモリアレイ104、各々上位
および下位ビット側の検索一致アドレスを出力するカラ
ムエンコーダ106およびロウエンコーダ108、各々
ブロックヒット線112およびフィード線110の電圧
レベルを検出するカラムセンス回路114およびロウセ
ンス回路116、マルチヒット検出回路122等を備え
ている。
【0087】まず、各々のメモリワード100は、その
一部だけしか示していないが、2つのNMOS118,
120を有する。ここで、NMOS118,120は、
それぞれ対応するブロックヒット線112およびフィー
ド線110とグランドとの間に直列接続されており、そ
のゲートはともにヒットフラグに接続されている。ま
た、カラムセンス回路114およびロウセンス回路11
6の出力は、各々カラムエンコーダ106およびロウエ
ンコーダ108に入力されている。
【0088】また、マルチヒット検出回路122は、カ
ラムマルチヒット検出回路124、ロウマルチヒット検
出回路126、および、検出信号出力回路128を有す
る。ここで、カラムマルチヒット検出回路124および
ロウマルチヒット検出回路126には、各々カラムセン
ス回路114およびロウセンス回路116の出力が入力
され、その出力はともに検出信号出力回路128に入力
されている。また、検出信号出力回路128からは、ヒ
ット信号およびマルチヒット信号が出力されている。
【0089】なお、前述のヒット信号は、一致検索の結
果、一致が発生したメモリワードが存在することを検出
するものである。また、図6において、デコーダは、図
面の煩雑さを避けるために同じく図示を省略してある。
【0090】このCAM98は、本発明を大規模CAM
に適用する、すなわち、図1に示すCAM10におい
て、メモリアレイを複数のメモリブロックに分割し、か
つ、エンコーダを上位(カラム)および下位(ロウ)ビ
ット用に分割した場合の一例を示すものである。このC
AM98においても、各々のメモリワード100には、
一致検索の結果、ただ1つのメモリワード100でのみ
一致が発生するように記憶データが書き込まれる。
【0091】従って、一致検索の結果、アクティブ状態
のヒットフラグが出力されるただ1つのメモリワード1
00では、2つのNMOS118,120が同時にオン
され、このメモリワード100に対応するブロックヒッ
ト線112およびフィード線110が同時にディスチャ
ージされる。これにより、このブロックヒット線112
およびフィード線110に対応するブロックヒット信号
およびヒットフラグが、アクティブ状態の‘1’とな
る。
【0092】これに対し、非アクティブ状態のヒットフ
ラグが出力される他の全てのメモリワード100では、
2つのNMOS118,120がともにオフされ、これ
らのメモリワード100に対応するブロックヒット線1
12およびフィード線110はプリチャージされたまま
の‘1’の状態に保持される。従って、これらのブロッ
クヒット線112およびフィード線110に対応するブ
ロックヒット信号およびヒットフラグは、非アクティブ
状態の‘0’のままの状態である。
【0093】ブロックヒット信号は、カラムエンコーダ
106およびカラムマルチヒット検出回路124に入力
され、ヒットフラグは、ロウエンコーダ108およびロ
ウマルチヒット検出回路126に入力される。カラムマ
ルチヒット検出回路124によって、2つ以上のメモリ
ブロック102に跨がって一致が発生しているかどうか
が検出され、ロウマルチヒット検出回路126によっ
て、2つ以上の同一順位のメモリワードに跨がって一致
が発生ているかどうかが検出される。
【0094】最後に、ブロックヒット信号がカラムエン
コーダによってエンコードされ、ただ1つのアクティブ
状態のブロックヒット信号に対応するメモリブロックの
アドレスが上位ビット側の検索一致アドレスとして出力
されるのと同時に、ヒットフラグがロウエンコーダによ
ってエンコードされ、ただ1つのアクティブ状態のヒッ
トフラグに対応するメモリワードのアドレスが下位ビッ
ト側の検索一致アドレスとして出力される。
【0095】このCAM98においては、例えば図10
に示す従来のCAMのように、優先順位に従って、アク
ティブ状態のメモリブロックを1つずつ順次選択し、選
択されたメモリブロック毎にアクティブ状態のメモリワ
ードを1つずつ順次選択した後でエンコードが開始され
るのではなく、ただ1つのアクティブ状態のブロックヒ
ット信号およびヒットフラグを同時にエンコードするこ
とができるため、極めて高速に検索処理を行うことがで
きる。本発明の第2の実施例のCAMは、基本的に以上
のようなものである。
【0096】次に、図7は、本発明のCAMの第3の実
施例の構成概念図である。このCAMは、図9に示す従
来のCAMと比較して、セレクタ132およびマルチヒ
ット検出回路24を備えている点が相違するだけである
から、同一の構成要素には同一の符号を付し、ここで
は、その詳細な説明は省略する。
【0097】すなわち、図示例のCAM130は、デコ
ーダ12、n個のメモリワード16からなるメモリブロ
ック14、プライオリティ回路20およびエンコーダ2
2からなるプライオリティエンコーダ18、各々のメモ
リワード16から出力されるヒットフラグとプライオリ
ティ回路20から出力されるヒットフラグとを選択的に
切り替えて出力するセレクタ132、ならびに、マルチ
ヒット検出回路24を備えている。
【0098】ここで、セレクタ132は、各々のメモリ
ワード16に対応して設けられており、セレクタ132
には、各々のメモリワード16から出力されるヒットフ
ラグ、および、プライオリティ回路20から出力される
ヒットフラグが入力され、その出力はエンコーダ22お
よびマルチヒット検出回路24に入力されている。ま
た、セレクタ132の選択入力には、このCAM130
の動作モードを選択的に切り替えるセレクト信号が入力
されている。
【0099】また、マルチヒット検出回路24は図1に
示すものと同じであり、マルチヒット検出回路24から
は、マルチヒット検出信号が出力されている。各々のメ
モリワード16に、一致検索の結果、ただ1つのメモリ
ワード16でのみ一致が発生するように記憶データが書
き込まれている場合には、セレクト信号を‘1’とす
る。この場合、CAM130は、図1に示す本発明のC
AM10と全く同じように動作する。この時、セレクタ
132からは、プライオリティ回路20をバイパスし
て、各々のメモリワード16から出力されるヒットフラ
グが出力される。
【0100】一致検索後、各々のメモリワード16から
出力されるヒットフラグは、セレクタ132によって、
プライオリティ回路20を介さずに直接エンコーダ22
に入力され、ただ1つのアクティブ状態のヒットフラグ
に対応するメモリワード16のアドレスがエンコードさ
れ、検索一致アドレスとして出力される。
【0101】これに対し、一致検索の結果、複数のメモ
リワード16で一致が発生する可能性がある場合には、
セレクト信号を‘0’とする。この場合、CAM130
は、図9に示す従来のCAMと全く同じように動作す
る。この時、セレクタ132からは、プライオリティ回
路20から出力されるヒットフラグが出力される。
【0102】一致検索後、各々のメモリワード16から
出力されるヒットフラグは、プライオリティ回路20に
入力され、優先順位に従って、アクティブ状態のヒット
フラグの内の1つのヒットフラグだけが順次アクティブ
状態として出力された後、エンコーダ22によって、た
だ1つのアクティブ状態のヒットフラグに対応するメモ
リワード16のアドレスが順次エンコードされる。
【0103】このCAM130においては、セレクト信
号の制御によって、図1に示す本発明のCAM10の動
作を選択した場合、一致検索の結果、ただ1つのメモリ
ワード16でのみ一致が発生するという特定のアプリケ
ーションにおいて、極めて高速に検索処理を行うことが
できるし、図9に示す従来のCAMの動作を選択した場
合、様々なアプリケーションに対応させることができ、
このCAM130を汎用的に使用することもできる。本
発明の第3の実施例のCAMは、基本的に以上のような
ものである。
【0104】次に、図8は、本発明のCAMの第4の実
施例の構成概念図である。このCAM134は、図10
に示す従来のCAMと比較して、カラムセレクタ136
およびロウセレクタ138、OR回路140、ならび
に、マルチヒット検出回路122を備えている点が相違
するだけであるから、同一の構成要素には同一の符号を
付し、ここでは、その詳細な説明は省略する。
【0105】すなわち、同図に示すCAM134は、各
々複数個のメモリワード142からなる複数個のメモリ
ブロック144に分割されたメモリアレイ170、カラ
ムプライオリティ回路148およびカラムエンコーダ1
06からなるカラムプライオリティエンコーダ150、
ロウプライオリティ回路152およびロウエンコーダ1
08からなるロウプライオリティエンコーダ154、カ
ラムセンス回路114およびロウセンス回路116、カ
ラムセレクタ136およびロウセレクタ138、OR回
路140、ならびに、マルチヒット検出回路122を備
えている。
【0106】ここで、カラムセレクタ136は、各々の
カラムセンス回路114から出力されるブロックヒット
信号とカラムプライオリティ回路148から出力される
ブロックヒット信号とを選択的に切り替えて出力するも
のであり、同じく、ロウセレクタ138は、各々のロウ
センス回路116から出力されるヒットフラグとロウプ
ライオリティ回路152から出力されるヒットフラグと
を選択的に切り替えて出力するものである。
【0107】カラムセレクタ136には、カラムセンス
回路114から出力されるブロックヒット信号、およ
び、カラムプライオリティ回路148から出力されるブ
ロックヒット信号が入力され、その出力はカラムエンコ
ーダ106およびカラムマルチヒット検出回路124に
入力されている。同じく、ロウセレクタ138には、ロ
ウセンス回路116から出力されるヒットフラグ、およ
び、ロウプライオリティ回路152から出力されるヒッ
トフラグが入力され、その出力はロウエンコーダ108
およびロウマルチヒット検出回路126に入力されてい
る。また、カラムセレクタ136およびロウセレクタ1
38の選択入力には、このCAM134の動作モードを
選択的に切り替えるセレクト信号が入力されている。
【0108】また、OR回路140は、カラムプライオ
リティ回路148から出力されるブロックヒット信号の
状態に係らず、全てのブロックイネーブル信号を強制的
にアクティブ状態である‘1’の状態にするものであ
る。OR回路140には、カラムプライオリティ回路1
48から出力されるブロックヒット信号、および、前述
のセレクト信号が入力されており、その出力は、ブロッ
クイネーブル信号として、各々対応するメモリブロック
144内の全てのメモリワード142のNMOS146
のゲートに入力されている。
【0109】なお、マルチヒット検出回路122は、図
6に示すものと同じである。また、デコーダは、図面の
煩雑さを避けるために同じく図示を省略してある。
【0110】各々のメモリワード142に、一致検索の
結果、ただ1つのメモリワードでのみ一致が発生するよ
うに記憶データが書き込まれている場合には、動作モー
ドを切り替えるためのセレクト信号を‘1’とする。こ
の場合、CAM134は、図6に示す本発明のCAM9
8と全く同じように動作する。この時、カラムセレクタ
136からは、カラムセンス回路114から出力される
ブロックヒット信号が出力され、OR回路140から出
力される全てのブロックイネーブル信号がアクティブ状
態である‘1’となる。また、ロウセレクタ138から
は、ロウセンス回路116から出力されるヒットフラグ
が出力される。
【0111】一致検索後、カラムセンス回路114から
出力されるブロックヒット信号は、カラムセレクタ13
6によって、カラムプライオリティ回路148を介さず
に直接カラムエンコーダ106に入力される。また、ロ
ウセンス回路116から出力されるヒットフラグは、ロ
ウセレクタ138によって、ロウプライオリティ回路1
52を介さずに直接ロウエンコーダ108に入力され
る。
【0112】そして、ブロックヒット信号はカラムエン
コーダ106でエンコードされ、ただ1つのアクティブ
状態のブロックヒット信号に対応するメモリブロック1
44のアドレスが上位ビット側の検索一致アドレスとし
て出力されるのと同時に、ヒットフラグはロウエンコー
ダ108でエンコードされ、ただ1つのアクティブ状態
のヒットフラグに対応するメモリワード142のアドレ
スが下位ビット側の検索一致アドレスとして出力され
る。
【0113】これに対し、一致検索の結果、複数のメモ
リブロック144の複数のメモリワード142で一致が
発生する可能性がある場合には、セレクト信号を‘0’
とする。この場合、CAM134は、図10に示す従来
のCAMと全く同じように動作する。この時、カラムセ
レクタ136からは、カラムプライオリティ回路148
から出力されるブロックヒット信号が出力され、同じよ
うに、OR回路140からも、カラムプライオリティ回
路148から出力されるブロックヒット信号がブロック
イネーブル信号として出力される。また、ロウセレクタ
138からは、ロウプライオリティ回路152から出力
されるヒットフラグが出力される。
【0114】一致検索後、カラムセンス回路114から
出力されるブロックヒット信号は、カラムプライオリテ
ィ回路148、カラムセレクタ136を介してカラムエ
ンコーダ106に入力され、エンコードされる。同時
に、ロウセンス回路116から出力されるヒットフラグ
は、ロウプライオリティ回路152、ロウセレクタ13
8を介してロウエンコーダ108に入力され、エンコー
ドされる。
【0115】このCAM134においては、セレクト信
号の制御によって、図6に示す本発明のCAM98の動
作を選択した場合、一致検索の結果、ただ1つのメモリ
ワード142でのみ一致が発生するという特定のアプリ
ケーションにおいて、極めて高速に検索処理を行うこと
ができるし、これに対して、図10に示す従来のCAM
の動作を選択した場合、様々なアプリケーションに対応
させることができ、このCAM134を汎用的に使用す
ることができる。本発明の第4の実施例のCAMは、基
本的に以上のようなものである。
【0116】本発明の連想メモリは、基本的に以上のよ
うなものである。以上、本発明の連想メモリについて詳
細に説明したが、本発明は上記実施例に限定されず、本
発明の主旨を逸脱しない範囲において、種々の改良や変
更をしてもよいのはもちろんである。
【0117】
【発明の効果】以上詳細に説明した様に、本発明の連想
メモリは、各々のメモリワードに、一致検索の結果、た
だ1つのメモリワードでのみ一致が発生する記憶データ
を書き込むように使用条件を限定し、従来の連想メモリ
では必須の要件であったプライオリティ回路を省いたこ
とによって、一致検索の結果、一致が発生したただ1つ
のメモリワードのアドレスを出力するものである。本発
明の連想メモリによれば、一致検索の結果、ただ1つの
メモリワードでのみ一致が発生するアプリケーションに
おいて、プライオリティ回路そのものの動作時間だけで
なく、タイミングマージン分の時間も含めて検索処理を
高速化させることができるため、ただ1つの一致が発生
したメモリワードのアドレスを極めて高速にエンコード
することができるし、プライオリティ回路に係るタイミ
ング信号を発生させるための煩雑な制御回路等も省略で
きるという利点がある。また特に、本発明の第3および
第4態様の連想メモリによれば、セレクタの制御によっ
て、一致検索の結果、ただ1つのメモリワードでのみ一
致が発生するアプリケーションでは、検索処理を高速化
することができるし、これ以外の様々なアプリケーショ
ンにも対応させることができるため、この連想メモリを
汎用的に使用することができる。
【図面の簡単な説明】
【図1】 本発明の連想メモリの第1の実施例の構成概
念図である。
【図2】 メモリワードの第1の実施例の構成回路図で
ある。
【図3】 メモリワードの第2の実施例の構成回路図で
ある。
【図4】 エンコーダの一実施例の構成回路図である。
【図5】 マルチヒット検出回路の一実施例の構成回路
図である。
【図6】 本発明の連想メモリの第2の実施例の構成概
念図である。
【図7】 本発明の連想メモリの第3の実施例の構成概
念図である。
【図8】 本発明の連想メモリの第4の実施例の構成概
念図である。
【図9】 従来の連想メモリの一例の構成概念図であ
る。
【図10】 従来の連想メモリの別の例の構成概念図で
ある。
【符号の説明】
10,98,130,134,156,158 連想メ
モリ(CAM) 12 デコーダ 14,102,144 メモリブロック 16,26,56,100,142 メモリワード 18 プライオリティエンコーダ 20 プライオリティ回路 22,74 エンコーダ 24,82 マルチヒット検出回路 28,58 メモリビット 30 記憶部 32,60 検索部 34,62 センス回路 36,38,54,80,164,168 インバータ 40,42,44,46,48,52,66,68,7
0,78,86,88,90,92,94,118,1
20,146 N型MOSトランジスタ(NMOS) 50,76,84,162,166 P型MOSトラン
ジスタ(PMOS) 64 ANDゲート 72 バッファ 96 差動センスアンプ 104,170 メモリアレイ 106 カラムエンコーダ 108 ロウエンコーダ 110 フィード線 112 ブロックヒット線 114 カラムセンス回路 116 ロウセンス回路 122 マルチヒット検出回路 124 カラムマルチヒット検出回路 126 ロウマルチヒット検出回路 128 検出信号出力回路 132 セレクタ 136 カラムセレクタ 138 ロウセレクタ 140 OR回路 148 カラムプライオリティ回路 150 カラムプライオリティエンコーダ 152 ロウプライオリティ回路 154 ロウプライオリティエンコーダ 160 ブロックイネーブル線 BL ビット線 BL ̄ 反転ビット線 WL ワード線 ML 一致検出線 ML ̄ 反転一致検出線 LAD アドレス線 LSEN センス線 LREF リファレンス線 LDIS ディスチャージ線

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】検索しようとするデータとあらかじめ記憶
    されているデータとの一致検索を行い、その一致検索結
    果であるヒットフラグを各々出力する複数のメモリワー
    ドを有するメモリブロックと、このメモリブロックの複
    数のメモリワードから出力されるヒットフラグをエンコ
    ードし、ただ1つのアクティブ状態のヒットフラグに対
    応するメモリワードのアドレスを出力するエンコーダと
    を備え、 各々の前記メモリワードに、一致検索の結果、ただ1つ
    のメモリワードでのみ一致が発生する記憶データを書き
    込み、一致検索の結果、一致が発生したただ1つのメモ
    リワードのアドレスを出力することを特徴とする連想メ
    モリ。
  2. 【請求項2】検索しようとするデータとあらかじめ記憶
    されているデータとの一致検索を行い、その一致検索結
    果であるヒットフラグを各々出力する複数のメモリワー
    ドを有するメモリブロックと、所定の優先順位に従っ
    て、前記メモリブロックの複数のメモリワードから出力
    されるアクティブ状態のヒットフラグの内の1つのヒッ
    トフラグだけをアクティブ状態として順次出力するプラ
    イオリティ回路と、前記メモリブロックの複数のメモリ
    ワードから出力されるヒットフラグと前記プライオリテ
    ィ回路から出力されるヒットフラグとを切り替えて出力
    するセレクタと、このセレクタから出力されるヒットフ
    ラグをエンコードし、ただ1つのアクティブ状態のヒッ
    トフラグに対応するメモリワードのアドレスを出力する
    エンコーダとを備え、 各々の前記メモリワードに、一致検索の結果、ただ1つ
    のメモリワードでのみ一致が発生する記憶データを書き
    込んだ場合には、一致検索の結果、前記セレクタから、
    前記メモリブロックの複数のメモリワードから出力され
    るヒットフラグを出力し、一致が発生したただ1つのメ
    モリワードのアドレスを出力し、複数の前記メモリワー
    ドで一致が発生する場合には、一致検索の結果、前記セ
    レクタから、前記プライオリティ回路から出力されるヒ
    ットフラグを出力し、所定の優先順位に従って、一致が
    発生したメモリワードのアドレスを順次出力することを
    特徴とする連想メモリ。
  3. 【請求項3】請求項1または2に記載の連想メモリであ
    って、 さらに、一致検索の結果、2つ以上の前記ヒットフラグ
    が同時にアクティブ状態であることを検出するマルチヒ
    ット検出回路を有することを特徴とする連想メモリ。
  4. 【請求項4】検索しようとするデータとあらかじめ記憶
    されているデータとの一致検索を行い、その一致検索結
    果であるヒットフラグを各々出力する複数のメモリワー
    ドを有し、複数の前記メモリワードから各々出力される
    ヒットフラグの論理和であるブロックヒット信号を出力
    するメモリブロックを複数有するメモリアレイと、この
    メモリアレイの複数のメモリブロックから出力されるブ
    ロックヒット信号をエンコードし、ただ1つのアクティ
    ブ状態のブロックヒット信号に対応するメモリブロック
    のアドレスを出力するカラムエンコーダと、前記複数の
    メモリブロックの複数のメモリワードから各々出力され
    るヒットフラグをエンコードし、ただ1つのアクティブ
    状態のヒットフラグに対応するメモリワードのアドレス
    を出力するロウエンコーダとを備え、 各々の前記メモリワードに、一致検索の結果、ただ1つ
    のメモリワードでのみ一致が発生する記憶データを書き
    込み、一致検索の結果、一致が発生したただ1つのメモ
    リワードのアドレスを出力することを特徴とする連想メ
    モリ。
  5. 【請求項5】検索しようとするデータとあらかじめ記憶
    されているデータとの一致検索を行い、その一致検索結
    果であるヒットフラグを各々出力する複数のメモリワー
    ドを有し、複数の前記メモリワードから各々出力される
    ヒットフラグの論理和であるブロックヒット信号を出力
    するメモリブロックを複数有するメモリアレイと、所定
    の優先順位に従って、前記メモリアレイの複数のメモリ
    ブロックから出力されるアクティブ状態のブロックヒッ
    ト信号の内の1つのブロックヒット信号だけをアクティ
    ブ状態として順次出力するカラムプライオリティ回路
    と、前記メモリアレイの複数のメモリブロックから出力
    されるブロックヒット信号と前記カラムプライオリティ
    回路から出力されるブロックヒット信号とを切り替えて
    出力するカラムセレクタと、このカラムセレクタから出
    力されるブロックヒット信号をエンコードし、ただ1つ
    のアクティブ状態のブロックヒット信号に対応するメモ
    リブロックのアドレスを出力するカラムエンコーダと、
    所定の優先順位に従って、前記カラムプライオリティ回
    路から出力される1つのアクティブ状態のブロックヒッ
    ト信号に対応するメモリブロックの複数のメモリワード
    から出力されるアクティブ状態のヒットフラグの内の1
    つのヒットフラグだけをアクティブ状態として順次出力
    するロウプライオリティ回路と、前記メモリアレイの複
    数のメモリブロックから出力されるブロックヒット信号
    に対応するメモリブロックの複数のメモリワードから出
    力されるヒットフラグと前記ロウプライオリティ回路か
    ら出力されるヒットフラグとを切り替えて出力するロウ
    セレクタと、このロウセレクタから各々出力されるヒッ
    トフラグをエンコードし、ただ1つのアクティブ状態の
    ヒットフラグに対応するメモリワードのアドレスを出力
    するロウエンコーダとを備え、 各々の前記メモリワードに、一致検索の結果、ただ1つ
    のメモリワードでのみ一致が発生する記憶データを書き
    込んだ場合には、一致検索の結果、前記カラムセレクタ
    から、前記メモリアレイの複数のメモリブロックから出
    力されるブロックヒット信号を出力し、かつ、前記ロウ
    セレクタから、前記メモリアレイの複数のメモリブロッ
    クから出力されるブロックヒット信号に対応するメモリ
    ブロックの複数のメモリワードから出力されるヒットフ
    ラグを出力し、一致が発生したただ1つのメモリワード
    のアドレスを出力し、複数の前記メモリワードで一致が
    発生する場合には、一致検索の結果、前記カラムセレク
    タから、前記カラムプライオリティ回路から出力される
    ブロックヒット信号を出力し、かつ、前記ロウセレクタ
    から、前記ロウプライオリティ回路から出力されるヒッ
    トフラグを出力し、所定の優先順位に従って、一致が発
    生したメモリワードのアドレスを順次出力することを特
    徴とする連想メモリ。
  6. 【請求項6】請求項4または5に記載の連想メモリであ
    って、 さらに、一致検索の結果、2つ以上の前記ヒットフラグ
    がアクティブ状態であることを検出するマルチヒット検
    出回路を有することを特徴とする連想メモリ。
JP6826998A 1998-03-18 1998-03-18 連想メモリ Pending JPH11273364A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6826998A JPH11273364A (ja) 1998-03-18 1998-03-18 連想メモリ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6826998A JPH11273364A (ja) 1998-03-18 1998-03-18 連想メモリ

Publications (1)

Publication Number Publication Date
JPH11273364A true JPH11273364A (ja) 1999-10-08

Family

ID=13368877

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6826998A Pending JPH11273364A (ja) 1998-03-18 1998-03-18 連想メモリ

Country Status (1)

Country Link
JP (1) JPH11273364A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001357678A (ja) * 2000-06-16 2001-12-26 Hitachi Ltd 半導体集積回路装置
JP2003504789A (ja) * 1999-07-12 2003-02-04 モサイド・テクノロジーズ・インコーポレイテッド 連想メモリにおける多重マッチ検出のための回路および方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003504789A (ja) * 1999-07-12 2003-02-04 モサイド・テクノロジーズ・インコーポレイテッド 連想メモリにおける多重マッチ検出のための回路および方法
JP2001357678A (ja) * 2000-06-16 2001-12-26 Hitachi Ltd 半導体集積回路装置

Similar Documents

Publication Publication Date Title
CA2384039C (en) Low power content addressable memory architecture
US5646878A (en) Content addressable memory system
US6381673B1 (en) Method and apparatus for performing a read next highest priority match instruction in a content addressable memory device
US8456935B2 (en) Memory and method for sensing data in a memory using complementary sensing scheme
US6856527B1 (en) Multi-compare content addressable memory cell
US7274580B2 (en) Content addressable memory device
US20050174822A1 (en) Bit line control circuit for a content addressable memory
US20020080638A1 (en) Content addressable memory device capable of being used as binary CAM device or as ternary CAM device and structure method therefor
JPH1186567A (ja) 連想記憶装置
JPH11162179A (ja) 連想メモリ装置
US20040105290A1 (en) Content addressable memory with cascaded array
US7457917B2 (en) Reducing power consumption in a sequential cache
JPH11273365A (ja) 内容呼出し可能メモリ(cam)
US5808500A (en) Block architecture semiconductor memory array utilizing non-inverting pass gate local wordline driver
US6845025B1 (en) Word line driver circuit for a content addressable memory
EP1376607A2 (en) Content addressable memory device and method of operating same
JP3259764B2 (ja) 半導体記憶装置
US7401180B1 (en) Content addressable memory (CAM) device having selectable access and method therefor
JP3437045B2 (ja) 連想メモリ
US7002822B2 (en) Content addressable memory device
JP2588936B2 (ja) 半導体記憶装置
JP2002358790A (ja) エントリデータの入れ替えを高速化したコンテンツ・アドレッサブル・メモリ
JP2779114B2 (ja) 連想メモリ
US7277308B2 (en) High performance and low area write precharge technique for CAMs
KR100591968B1 (ko) 연상 기억 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070703

A02 Decision of refusal

Effective date: 20071030

Free format text: JAPANESE INTERMEDIATE CODE: A02