JPH11273365A - 内容呼出し可能メモリ(cam) - Google Patents
内容呼出し可能メモリ(cam)Info
- Publication number
- JPH11273365A JPH11273365A JP11038899A JP3889999A JPH11273365A JP H11273365 A JPH11273365 A JP H11273365A JP 11038899 A JP11038899 A JP 11038899A JP 3889999 A JP3889999 A JP 3889999A JP H11273365 A JPH11273365 A JP H11273365A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cam
- row
- cam array
- bit
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital 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/04—Digital 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
- Dram (AREA)
- Static Random-Access Memory (AREA)
Abstract
て平面図に大きな融通性を有する、内容呼出し可能メモ
リとその動作方法を提供する。 【解決手段】 本発明の第1実施例ではビット線路制御
装置54は、列アドレス信号とモード制御信号とに従っ
ていくつかのビット線路を選択的に活性化することによ
り、データ・ワードの列のおのおのをシーケンシャルに
アクセスする。本発明の第2実施例ではビット線路制御
装置54は、列アドレス信号とモード制御信号とデータ
の内容の予め定められた部分とに従っていくつかのビッ
ト線路を選択的に活性化することにより、データ・ワー
ドの列のおのおのをシーケンシャルにアクセスする。C
AMアレイ52の複数個の行の中の1つの行とおのおの
が関連する複数個の行セレクト線路が、アドレス復号器
53により復号化された行アドレス信号によりアクセス
される。
Description
コンピュータ・メモリに関する。さらに詳細にいえば本
発明は、小さな寸法でかつ消費電力が小さく、そして呼
出し時間が短くおよび平面図(floor plan)において大
きな融通性を有する、内容呼出し可能メモリに関する。
メモリ(RAM:random access memory)は、最近の電
子システムにおいて最もよく用いられているメモリであ
る。RAMの場合、データのアドレスはアドレス・バス
に提供され、そして次に、対応するデータが検索され
る。アドレス・バスの幅はどの位に多くのメモリ位置を
アドレス指定できるかを決定し、したがってメモリの寸
法を決定する。
メモリ(content addressable memory:CAM)であ
る。CAMの場合、データそれ自身は特別のレジスタの
中に送られる。この場合、データのそれぞれのビットと
CAMの中に記憶された情報のそれぞれのビットとを比
較することにより、データに対してCAMが探索され
る。もし整合または一致(match)が見い出されるなら
ば、データが見い出されたことを指示する整合フラッグ
が設定される。次に、(もし2個以上の整合が見い出さ
れたならば)整合した位置に優先符号器が優先順位をつ
け、そして最高優先の整合位置の対応するアドレスを発
生する。CAMに対する1つの応用は、メモリ・キャッ
シュ・システムである。メモリ・キャッシュ・システム
では整合工程を用いて、処理装置により要求されたデー
タのような他の場所で必要とされるデータを、キャッシ
ュが有しているかどうかが決定される。
くよりはむしろメモリ位置の内容に基づいてCAMが探
索されるので、そしてさらにCAMの中の2個の以上の
位置に同じデータ内容が見い出されることがあるので、
CAMはまたメモリから多数個の項目を同時に検索する
ことが要求される場合への応用において有用である。内
容アドレス指定では高度に並列的な性質を有し、例えば
高度なアルゴリム機能を処理する場合、内容アドレス指
定は有用で利点のある特徴をまた有する。けれども、こ
れらの形式の応用にCAMを用いることはまた、全体的
に、キャッシュの中で典型的に用いられるよりははるか
に大型のCAMを必要とする。キャッシュの中で用いら
れるCAMのような小型のCAMの場合、高速で効率的
な呼び出しが主要な関心である。したがって待ち時間を
できるだけ短くするために、呼出し方法を最適化するこ
とが焦点となる。けれども多数個の項目(entries)を
サポートするのが目標である大型のCAMの場合、効率
的なレイアウト形状と妥当なバンド幅を保持することに
注意を集中させなければならない。
アーキテクチャの図である。先行技術のCAMアレイ1
00は、1024個のワードを有する。これらのワード
のおのおのは、56個のビットを有する。CAMアレイ
100の行のおのおのは、1024個のワードの中の1
つのワードを表す。CAMアレイ100の中の56個の
列のおのおのは、1024個のワードのおのおのの中の
1つのビットを表す。したがって先行技術のCAMアレ
イ100に示されているように、典型的には、長くて細
いメモリ構造体が用いられる。図1に示されているよう
なCAMアレイを有するシステムでは、CAMアレイを
拡張してさらに多数個の行を付加することにより、メモ
リ容量を増大させることができる。けれども、この長く
て細いメモリ構造体は、さらに多くの容量が付加される
共にますます扱いにくくなるだけでなく、またそれを用
いるどのデバイスの平面図のレイアウト(layout of th
efloor plan)にも、深刻な悪い影響を与える。
類の問題点をほとんど緩和していない。米国特許第 4,8
88,731号、第 4,928,260号、第 5,388,066号に開示され
ているシステムのような大部分のCAMシステムは、C
AMアレイの中にデータを記憶するさらに効率的な方法
および/またはCAMアレイの中に記憶されたデータを
呼び出すさらに効率的な方法を単に提供しているだけ
で、依然として従来の長くて細いアーキテクチャを用い
ている。レイ・パリ(Ray Parry)名の論文「キャッシュ
CAMTMコンパランド幅の拡張(Extending The Cach
e CAMTM Comparand Width)」(ミュジック・セミ
コンダクタ社出版、AB−N6)に開示されているよう
なまた別のこのような先行技術のCAMシステムは、連
続する項目(entries)を識別するための検証ビットを
用いて、典型的な、長くて狭いCAMアレイ構造体の隣
接する項目を連結する。
Mを管理しかつ効率的なレイアウト形状と妥当なバンド
幅をなお保持する。簡単な、容易に実施可能な方法およ
びシステムである。
タ・ワードを記憶するために動作可能なCAMアレイを
有する、内容呼出し可能なメモリ(CAM)に関する。
ここで、これらのデータ・ワードのおのおのは多数個の
ビットを有する。CAMは、CAMセルの行および列で
構成される。これらのCAMセルのおのおのは、これら
のデータ・ワードの中の1つのデータ・ワードのビット
の1つを記憶するよう動作できる。本発明のCAMシス
テムの行のおのおのは、少なくとも2個のデータ・ワー
ドのビットを記憶することができる。1個の行の少なく
とも2個のデータ・ワードのビットがインタリーブされ
る。時間多重化技術を用いて、本発明のCAMシステム
は、多数個のサイクルの中の1つのサイクルの期間中
に、行のデータ・ワードの各々に順次アクセスする。
の内容の一部分を用いて、そのデータ・ワードがどの行
に記憶されているかを決定する。したがって、特定のデ
ータ・ワードを検索するのに必要なサイクルの数が少な
くなる。
テム50の図である。図2に示されたCAMシステム5
0は、CAMアレイ52を有する。CAMアレイ52
は、256個の行と224個の列に配置された57,3
44個のCAMセルを有する。ただしCAMアレイ52
は、下記の説明から分かるように、同じように比例した
他の寸法のCAMセルを用いることもできる。CAMア
レイ52は、224個のビット線路対により、ビット線
路制御装置54と双方向性に接続される。これらのビッ
ト線路対のおのおのは、CAMアレイ52の中のCAM
セルの中のおのおのの列に接続される。224個のビッ
ト線路対は、本発明の1つの実施例では、2ビット「列
アドレス」信号と「モード制御」信号とに従ってビット
線路制御装置54により選択的にイネーブルにされる。
「列アドレス」信号は、サイクル・カウンタ(図示され
ていない)により供給される。本発明のまた別の実施例
では、224個のビット線路対は、「列アドレス」信号
と「モード制御」信号と56ビット「データ入力」信号
とに従って、ビット線路制御装置54により選択的にイ
ネーブルにされる。56ビット「データ入力」信号は、
CAMアレイ52の中に記憶されるべきデータを供給す
る、またはCAMアレイ52の中に記憶されたデータと
整合をとられるべきデータを供給する。56ビット「デ
ータ出力」信号は、CAMアレイ52から引き出された
データを戻す。
レクト線路によりアドレス復号器53に接続され、およ
び256個の整合線路により優先符号器58に接続され
る。256個の行セレクト線路のおのおのは、CAMア
レイ52の中の1行のCAMセルに接続される。CAM
アレイ52の中の1行のCAMセルは、アドレス復号器
53により復号化された8ビット「行アドレス入力」信
号に従って選択的にイネーブルにされる。優先符号器5
8は8ビット「アドレス出力」信号を発生し、この信号
により256個の整合線路に従ってCAMアレイ52の
中の整合するデータの位置を指示する。下記において、
CAMシステム50の動作を詳細に説明する。
1に示された3個の動作モードを有する。モード制御信
号により示されているように3個の動作モードは、デー
タ書込みモードとデータ読出しモードと整合モードであ
る。データ書込みモードでは、ビット線路制御装置54
が動作することにより、「行アドレス入力」信号により
供給される行アドレスと「列アドレス入力」信号により
供給される列アドレスとに従って、CAMアレイ52の
中の選定されたCAMセルの中にデータの書き込みが行
われる。CAMアレイ52のそれぞれの行の中に多数個
のデータ・ワードを記憶することができるから、列アド
レスを用いて、選定された行のデータ・ワードのいずれ
が用いられるかを決定する。CAMアレイ52の中に記
憶されるべきデータ・ワードの内容が、「データ入力」
信号により供給される。
力」信号により供給される行アドレスと「列アドレス入
力」信号により供給される列アドレスとに従って、CA
Mアレイ52の中の選定されたCAMセルの中からデー
タが読み出される。その後、対応する記憶されたデータ
・ワードが引き出され、そしてビット線路制御装置54
に送られ、そして次に「データ出力」信号により出力と
して供給される。
供される目標データがCAMアレイ52の中で探索され
る。列アドレスが「列アドレス入力」信号により再び供
給される。下記でさらに詳細に説明される時間多重化技
術を用いて、列の中の選択的にイネーブルにされた列に
わたって整合動作がシーケンシャルに実行される。1個
または複数個の整合が見い出されると、その指示が優先
符号器58に送られる。複数個の整合が見い出されるこ
とがあり得るので、結果として得られた最高優先度の整
合したデータ・ワードのアドレスが、「アドレス出力」
信号を用いて優先符号器58により供給される。
の中に用いられるCAMアレイ52の構造体の1つの実
施例の図である。図3に詳細に示されているように、C
AMアレイ52の中に1個の行当たりに1個の56ビッ
ト・データ・ワードを有する代わりに、CAMアレイ5
2は1個の行当たりに4個のデータ・ワードを有する。
データ・ワードのおのおのは、同じ行の他のデータ・ワ
ードのビットとインタリーブしている56個のビットを
有する。したがって図3に示されているように、データ
・ワード0のビット0(W00 )はデータ・ワード1の
ビット0(W1 0 )に隣接している。データ・ワード1
のビット0(W10 )はデータ・ワード2のビット0
(W20 )に隣接している。データ・ワード2のビット
0(W20)はデータ・ワード3のビット0(W30 )
に隣接している。データ・ワード3のビット0(W3
0 )は、図3には例えば4個のデータ・ワードだけが示
されているから、この場合にはデータ・ワード0のビッ
ト1(W01 )に隣接している。図5に関連して下記で
さらに詳細に説明されるように、1個の行に記憶された
データ・ワードのおのおののビットをインタリーブする
ことにより、CAMアレイ52の効率的な平面図レイア
ウトが得られる。
の全部が表されるまで、それぞれのデータ・ワードのビ
ットをこの形式でインタリーブすることが持続する。図
3に例示されたCAMアレイ52のそれぞれの行に4個
の56ビット・データ・ワードだけが示されているけれ
ども、必要な任意のビット幅の任意の数のデータ・ワー
ドを用いることができることが考えられる。したがっ
て、下記でさらに詳細に説明されるデータ・ワードをア
クセスするための時間多重化技術を調整することができ
る。
細図である。CAMセル40はビット記憶回路を有す
る。このビット記憶回路が動作することにより、1つの
データ・ワードの1つのビットを記憶することができ
る。このビット記憶回路は、フリップ・フロップを形成
する1対の反転器43を有する。上側の反転器の出力
は、メモリ出力を決定する。反転器43のおのおのの
は、他の反転器の出力に接続され、および通常は開放さ
れている対応するトランジスタ・スイッチ45により1
対のビット線路41に接続される。トランジスタ・スイ
ッチ45は、行セレクト線路44に接続されたゲートに
より制御される。CAMセル40にビットを書き込むた
めに、すなわちデータ書込み動作の期間中、このビット
とその補数ビット(BITおよびBIT(バー))がビ
ット線路41に設定され、そして論理「1」信号が行セ
レクト線路44に加えられて、スイッチ45が閉じられ
る。
する。このビット比較回路が動作することにより、CA
Mセル40の中に記憶されたビットと目標データ・ワー
ドの対応するビットとの比較を実行することができる、
すなわちデータ整合動作を実行することができる。この
ビット比較回路は、トランジスタ・スイッチ47および
49により形成される3個のトランジスタ比較器で構成
される。スイッチ47のおのおのは、対応する反転器4
3の出力に接続されたゲートと、対応する行セレクト線
路41に接続されたソースとにより制御される。スイッ
チ49は、スイッチ47で制御されて整合線路46をア
ースに接続する。
ル、すなわち高レベル、にプリチャージされる。目標デ
ータ・ワードのビットとCAMセル40の中に記憶され
たビットとを比較するために、この目標データ・ビット
とその補数ビットとが、CAMセル40のビット線路4
1に設定される。ビット比較回路は、この比較の結果を
指示するセル出力信号を発生する。もしCAMセル40
の中に記憶されたビットと目標データ・ビットとの間に
不整合が存在するならば、セル出力信号は整合線路46
をスイッチ49を通してアースに放電させる。それ以外
の場合は、そのCAMセル40のビット比較回路は整合
線路46の電荷に関して効果を持ち得ない。
CAMセル40は共通整合線路を共有し、したがって整
合動作の期間中、ビット線路41は目標データ・ワード
のすべてのビットを、CAMアレイ52のおのおのの行
の選択的にイネーブルにされたCAMセル40に並列に
送る。もしイネーブルにされたCAMセル40のいずれ
かが不整合を有するならば、その行の整合線路46をア
ースに放電する。けれどももし1つの行のイネーブルに
されたCAMセル40のすべてのビットが目標データ・
ワードの中のそれらの対応するビットに整合するなら
ば、その行に対する整合線路46は論理「1」レベル、
すなわち高レベル、のままである。
1つの列の中のすべてのCAMセル40は、ビット線路
41の共通の対を共有する。ビット線路対のおのおのは
1つの列のCAMセルを接続する。そしてこれらのビッ
ト線路対のおのおのは、データ書込み動作の期間中の記
憶のために、データ・ワードのビットのおのおのおよび
その反転を、CAMアレイ52の中のCAMセル40の
選定された列に供給する。そしてまたこれらのビット線
路対のおのおのは、整合動作の期間中の比較のために、
目標データ・ワードの対応するビットおよびその反転を
CAMセル40の選定された列に供給し、そして記憶さ
れたデータ・ワードのビッチをデータ読出し動作の結果
として引き出して受け取る。
41は目標データ・ワードのビットのおのおのを、すべ
ての行の選択的にイネーブルにされたCAMセル40に
並列に同時に送る。不整合を有する行の中のCAMセル
はいずれもその対応する整合線路46を論理「0」レベ
ル、すなわち低レベル、に放電するが、しかしすべて整
合したCAMセル40を有する行はその整合線路46を
論理「1」レベル、すなわち高レベル、に保持する。す
べての整合線路46をORゲート(図示されていない)
に入力することにより、ORゲートの出力はグローバル
整合指示器信号(図示されていない)を供給し、CAM
アレイ52に送られる。
いて、CAMアレイ52はそれぞれの行の中に記憶され
た4個のインターリーブされたデータ・ワードを有する
から、本発明のCAMシステム50は整合動作を実行す
るのに4個のサイクルを用いる。例えば第1サイクル
は、「列アドレス入力」信号が「00」の値を有する時
示される。第2サイクルは、「列アドレス入力」信号が
「01」の値を有する時示される。第3サイクルは、
「列アドレス入力」信号が「10」の値を有する時示さ
れる。そして第4サイクルは、「列アドレス入力」信号
が「11」の値を有する時示される。
た4個のサイクルのうちの1つのサイクルの期間中、C
AM制御装置は、おのおのの行のデータ・ワード0に対
応するCAMセルを同時に活性化する。4個のサイクル
の第2サイクルの期間中、ビット線路制御装置54は、
おのおのの行のデータ・ワード1に対応するCAMセル
を同時に活性化する。4個のサイクルの第3サイクルの
期間中、ビット線路制御装置54は、おのおのの行のデ
ータ・ワード2に対応するCAMセルを同時に活性化す
る。最後に4個のサイクルの第4サイクルの期間中、ビ
ット線路制御装置54は、おのおのの行のデータ・ワー
ド3に対応するCAMセルを同時に活性化する。
すまたは目標データ・ワードがCAMアレイ52の中に
存在しないことを決定するのいずれかを確実に実行する
ために、整合動作の期間中に少なくとも4個のサイクル
が必要である。なぜならビット線路制御装置54は、そ
れぞれのサイクルの期間中、おのおのの行の4個のデー
タ・ワードの1つだけに目標データを供給するように時
間多重化されているからである。したがって(4個のイ
ンターリーブされたデータ・ワードはCAMアレイ52
の中のおのおのの行に記憶されるから)それぞれのビッ
ト位置に対する4個の可能なビット線路対の中の1個の
ビット線路対だけが、任意の1つの整合サイクルの期間
中に活性化される。他の3個のビット線路対(これらは
同じ行の他の3個のデータ・ワードに対し同じビットを
表す)は、「00」において低レベルに保持される。ビ
ット線路対(BITおよびBIT(バー))の中の両方
のビット線路が低レベルに保持される場合、CAMセル
の中の比較回路は動作せず、したがって整合線路を放電
させることはないであろう。したがって、1個の行に記
憶された4個のデータ・ワードのおのおののビット位置
に対応する4個のビット線路対のおのおのを、他のビッ
ト線路対が不活性化されている間に活性化されることを
シーケンシャルに許容するために、4個のサイクルが必
要である。
では、目標データ・ワードを見い出すまたは目標データ
・ワードがCAMアレイ52の中に存在しないことを決
定するのいずれかを確実に実行するために、3回以上の
ルックアップ動作は必要ではない。本発明の第2実施例
では、整合動作の期間中、ビット線路制御装置54が動
作することにより、それぞれのサイクルの期間中のおの
おのの行の1個より多いデータ・ワードにこの目標デー
タ・ワードを供給することができる。したがって本発明
のCAMシステム50の第2実施例では、マルチプレク
サ因子(mux factor)は本発明の第1実施例のマルチプ
レクサ因子と同じではない。
では、ビット線路制御装置54が動作することにより、
選定された行のいずれのデータ・ワードにデータを記憶
するかを決定するために、目標データ・ワードの或る性
質を用いることができる、例えば最下位のビット、また
は任意の他のビット、または任意の組み合わせのビット
のパリティを用いることができる。もし例えば最下位の
ビットのパリティが用いられるならば、その場合には偶
数データをデータ・ワード0またはデータ・ワード1に
記憶することができ、および奇数データをデータ・ワー
ド2またはデータ・ワード3に記憶することができる。
したがって整合動作の期間中、データを探索するのに1
サイクルだけが必要である。もし目標データが偶数であ
るならば、データ・ワード0が第1サイクルの期間中に
探索され、そしてデータ・ワード1が第2サイクルで探
索される。もし目標データが奇数であるならば、データ
・ワード2が第1サイクルで探索され、そしてデータ・
ワード3が第2サイクルの期間中に探索される。
データを用いて、データ書込み期間中に選定された行の
いずれのデータ・ワードにデータを記憶するかを決定す
るならば、その場合には整合期間中のデータの探索に対
して1個のサイクルだけが必要である。1つの例とし
て、もしいずれのデータ・ワードにデータを記憶するか
を決定するためにデータの2個の最下位のビットが用い
られるならば、その時もしデータの2個の最下位のビッ
トが「00」であるならば、データはデータ・ワード0
の中に記憶される。もしデータの2個の最下位のビット
が「01」であるならば、データはデータ・ワード1の
中に記憶される。もしデータの2個の最下位のビットが
「10」であるならば、データはデータ・ワード2の中
に記憶される。もしデータの2個の最下位のビットが
「11」であるならば、データはデータ・ワード3の中
に記憶される。同じ理由により、整合動作の期間中、そ
れぞれの行のいずれのデータ・ワードをCAMアレイ5
2の中で検索すべきかを決定するために、目標データの
2個の最下位のビットが用いられる。したがって、CA
Mアレイ52の中の目標データを検索するのに、ただ1
個のルックアップ・サイクルが必要である。
御装置54との間の制御の流れをさらに詳細に示したブ
ロック線図である。それぞれの行の4個のインタリーブ
された56ビット・データ・ワードを記憶する例えば図
3に示されたCAMアレイ52を用いた場合、図5はC
AMアレイ52の4列と4行とを示した図である。換言
すれば図5は、CAMアレイ52の中の4個の行のおの
おのに記憶された4個のデータ・ワードのビット0に対
するCAMセル40の図である。4個のデータ・ワード
のビット1〜55(図示されていない)は、それぞれの
行に対して同様に構成されるであろう。
一部分の詳細図が示されている。ビット線路制御装置5
4は、多数個のCMOS伝送ゲート62を有する。これ
らのCMOS伝送ゲート62のおのおのは、目標データ
・ワードのおのおののビットDn およびその補数Dn
(バー)をCAMアレイ52の1つの行に記憶された各
データ・ワードのそれぞれのビットnおよびその補数n
(バー)に結合する。図5に示されているように、反転
器68を用いて発生されたD0 およびD0 (バー)が、
センス増幅器64を通して、それぞれのCMOS伝送ゲ
ート62に接続される。
おのおのは、並列に接続されたNチヤンネルCMOSト
ランジスタとPチヤンネルCMOSトランジスタとを有
する。各CMOS伝送ゲート62のNチヤンネル側は、
イネーブル信号ENに接続される。各CMOS伝送ゲー
ト62のPチヤンネル側は、関連するイネーブル信号の
補数信号EN(バー)に接続される。CAMアレイ52
の中の1つの行に記憶されたデータ・ワードのおのおの
に対し、1個のイネーブル信号ENが存在する。したが
って、それぞれの行に記憶された4個のデータ・ワード
を有する例示されたCAMアレイ52の場合、4個のイ
ネーブル信号、EN0 、EN1 、EN2、EN3 、が存
在する。これらのイネーブル信号のおのおのは、個々の
データ・ワードに対応する。したがって本発明の第1実
施例では、列アドレス信号が「00」の値を有する時、
データ・ワード0(W0)が選定されると仮定するなら
ば、ビット線路制御装置54はイネーブル信号EN0
を、データ・ワード0のすべてのビット位置(W00 〜
W055)を活性化する論理値「1」、すなわち高レベ
ル、に設定する。一方、他の3個のイネーブル信号、E
N1 、EN2 、EN3 、は論理値「0」、すなわち低レ
ベル、に設定される。本発明の第2実施例では、この第
2実施例では目標データ・ワードの性質を用いて、いず
れのデータ・ワード列に書き込まれるか、いずれのデー
タ・ワード列から読み出されるか、またはいずれのデー
タ・ワード列に整合するかが決定されるが、選定された
性質を用いてビット線路制御装置54により列アドレス
信号が発生される。
に記憶されたデータ・ワードのビットをインターリーブ
することにより、さらに効率的な平面図レイアウトが達
成される。多数個のデータ・ワードがそれぞれの行に記
憶されていても、目標データ・ワードの例えばデータ・
ビットD0 を供給するビット線路を、CAMアレイ52
の中に記憶されたすべてのデータ・ワードの同じビット
と接近して配置することができる。
明は本発明の範囲がこれらの実施例に限定されることを
意味するものではない。開示された実施例を種々に変更
した実施例およびまた別の実施例が可能であることは、
当業者には容易に分かるであろう。したがって、本発明
の範囲にはこれらの変更実施例をすべて包含するものと
理解しなければならない。
る。 (1) 内容呼出し可能メモリ(CAM)セルのCAM
アレイであって、多数個の行と、前記行のおのおのに多
数個のデータ・ワードと、を有する前記CAMアレイ
と、多数個の行セレクト線路により前記CAMアレイに
結合され、行アドレス信号に従って前記行のいくつかを
選択的に活性化するように動作可能である、アドレス復
号器と、多数個のビット線路対により前記CAMアレイ
に結合され、列アドレス信号に従って前記選択的に活性
化された行のデータ・ワードのいくつかを選択的に活性
化するように動作可能である、ビット線路制御装置と、
を有し、および前記CAMセルのおのおのが前記選択的
に活性化された行の前記選択的に活性化されたデータ・
ワードにデータを記憶し、前記選択的に活性化されたデ
ータ・ワードとデータを比較し、および前記選択的に活
性化されたデータ・ワードからデータを検索する、よう
に動作可能であり、および前記CAMセルがさらに前記
比較の結果を示すために多数個の整合線路に信号を発生
するように動作可能であり、および多数個の整合線路に
より前記CAMアレイに結合され、前記整合線路により
示された時前記CAMアレイの中の最高優先に整合する
行に従って出力行アドレスを発生するように動作可能で
ある、優先復号器と、を有する、前記CAMシステム。
いて、前記データ・ワード列がインタリーブされ、およ
び1つの選定された行のそれぞれのデータ・ワードのビ
ットのおのおのが前記選定された行の他のすべてのデー
タ・ワードから同様に配置されたビットに隣接して配置
される、前記CAMシステム。 (3) 第1項記載のシステムにおいて、前記ビット線
路制御装置は前記CAMアレイの中に前記データ・ワー
ドを記憶しおよび目標データ・ワードの性質に従って前
記選択的に活性化された行の或るデータ・ワードを活性
化するよう動作する、前記システム。
行のおのおのがデータ・ワードの多数個の列を有して配
置された多数個のCAMセルを有する、CAMアレイの
中にデータを記憶する段階と、列アドレス信号に従って
データ・ワードの前記列のおのおのと目標データ・ワー
ドとをシーケンシャルに比較することによりCAMアレ
イの中の前記データを探索する段階と、前記比較の結果
を指示するように動作可能である多数個の整合線路に従
ってCAMアレイからデータを検索する段階と、を有す
るCAMアレイからデータを記憶、探索および検索する
方法。
記憶段階がCAMアレイの中にデータを記憶する段階を
有し、および前記行のおのおのがデータ・ワードの多数
個のインタリーブした列を有し、および前記それぞれの
行のそれぞれのデータ・ワードのビットのおのおのが前
記それぞれの行の他のすべてのデータ・ワードから同様
に配置されたビットに隣接して配置される、前記方法。 (6) 第4項記載の方法において、前記記憶段階と前
記探索段階と前記検索段階とがデータの性質に従ってC
AMアレイの中にデータを記憶する段階とCAMアレイ
の中にデータを探索する段階とCAMアレイの中からデ
ータを検索する段階とを有する、前記方法。
システム50が開示される。CAMシステム50は、デ
ータ・ワードのアレイを記憶するためのCAMアレイ5
2を有する。ビットが相互にインタリーブされたデータ
・ワード列2列以上それぞれの行に記憶される。CAM
アレイ52は、ビット線路制御装置54からの信号に従
って、いくつかの動作モードの中の1つの動作モードの
期間中にアクセスされる。このビット線路制御装置54
は、ビット線路制御装置54をCAMアレイ52に結合
する複数個のビット線路の中のいくつかのビット線路を
活性化する。モード制御信号により指示されるこれらの
動作モードは、書込みモードと読出しモードと整合モー
ドとを有する。本発明の第1実施例ではビット線路制御
装置54は、列アドレス信号とモード制御信号とに従っ
ていくつかのビット線路を選択的に活性化することによ
り、データ・ワードの列のおのおのをシーケンシャルに
アクセスする。本発明の第2実施例ではビット線路制御
装置54は、列アドレス信号とモード制御信号とデータ
の内容の予め定められた部分とに従っていくつかのビッ
ト線路を選択的に活性化することにより、データ・ワー
ドの列のおのおのをシーケンシャルにアクセスする。C
AMアレイ52の複数個の行の中の1つの行とおのおの
が関連する複数個の行セレクト線路が、アドレス復号器
53により復号化された行アドレス信号によりアクセス
される。CAMアレイ52の複数個の行の中の1つの行
とおのおのがまた関連する複数個の整合線路が、整合動
作に応答して、CAMアレイ52のその関連する行の中
に記憶されたデータのいずれかと目標データとが整合す
るかまたはしないかを指示する。次に優先符器58が、
CAMアレイ52の中に見い出される最高優先度の整合
の位置を指示するアドレス出力信号を発生する。
M)のメモリ記憶構造体の図。
細図。
ロック線図。
Claims (2)
- 【請求項1】 内容呼出し可能メモリ(CAM、conten
t addressable memory)セルのCAMアレイであって、
多数個の行と、前記行のおのおのに多数個のデータ・ワ
ードと、を有する前記CAMアレイと、 多数個の行セレクト線路により前記CAMアレイに結合
され、行アドレス信号に従って前記行のいくつかを選択
的に活性化するように動作可能である、アドレス復号器
と、 多数個のビット線路対により前記CAMアレイに結合さ
れ、列アドレス信号に従って前記選択的に活性化された
行のデータ・ワードのいくつかを選択的に活性化するよ
うに動作可能である、ビット線路制御装置と、を有し、
および前記CAMセルのおのおのが前記選択的に活性化
された行の前記選択的に活性化されたデータ・ワードに
データを記憶し、および前記選択的に活性化されたデー
タ・ワードとデータとを比較し、および前記選択的に活
性化されたデータ・ワードからデータを検索する、よう
に動作可能であり、前記CAMセルがさらに前記比較の
結果を示すために多数個の整合線路に信号を発生するよ
うに動作可能であり、および多数個の整合線路により前
記CAMアレイに結合され、前記整合線路により示され
た時前記CAMアレイの中の最高優先に整合する行に従
って出力行アドレスを発生するように動作可能である、
優先復号器と、を有する、前記CAMシステム。 - 【請求項2】 多数個の行に配置されおよび前記行のお
のおのがデータ・ワードの多数個の列を有して配置され
た多数個のCAMセルを有する、CAMアレイの中にデ
ータを記憶する段階と、 列アドレス信号に従ってデータ・ワードの前記列のおの
おのと目標データ・ワードとをシーケンシャルに比較す
ることによりCAMアレイの中の前記データを探索する
段階と、 前記比較の結果を指示するように動作可能である多数個
の整合線路に従ってCAMアレイからデータを検索する
段階と、を有する、CAMアレイからデータを記憶、探
索および検索する方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US7494998P | 1998-02-17 | 1998-02-17 | |
US074949 | 1998-02-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11273365A true JPH11273365A (ja) | 1999-10-08 |
Family
ID=22122616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11038899A Pending JPH11273365A (ja) | 1998-02-17 | 1999-02-17 | 内容呼出し可能メモリ(cam) |
Country Status (3)
Country | Link |
---|---|
US (1) | US6374325B1 (ja) |
EP (1) | EP0936625A3 (ja) |
JP (1) | JPH11273365A (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6505271B1 (en) * | 1999-11-12 | 2003-01-07 | Integrated Device Technology, Inc. | Increasing priority encoder speed using the most significant bit of a priority address |
US6792502B1 (en) * | 2000-10-12 | 2004-09-14 | Freescale Semiconductor, Inc. | Microprocessor having a content addressable memory (CAM) device as a functional unit therein and method of operation |
US6700827B2 (en) | 2001-02-08 | 2004-03-02 | Integrated Device Technology, Inc. | Cam circuit with error correction |
US7017089B1 (en) * | 2001-11-01 | 2006-03-21 | Netlogic Microsystems, Inc | Method and apparatus for testing a content addressable memory device |
US7054994B2 (en) * | 2002-07-29 | 2006-05-30 | Hy Wire Ltd. | Multiple-RAM CAM device and method therefor |
US7076602B2 (en) * | 2001-11-05 | 2006-07-11 | Hywire Ltd. | Multi-dimensional associative search engine having an external memory |
AU2002214240A1 (en) * | 2001-11-05 | 2003-06-10 | Hywire Ltd. | Ram-based range content addressable memory |
US7117300B1 (en) | 2001-12-27 | 2006-10-03 | James David V | Method and apparatus for restricted search operation in content addressable memory (CAM) devices |
US7301961B1 (en) | 2001-12-27 | 2007-11-27 | Cypress Semiconductor Corportion | Method and apparatus for configuring signal lines according to idle codes |
US7401180B1 (en) * | 2001-12-27 | 2008-07-15 | Netlogic Microsystems, Inc. | Content addressable memory (CAM) device having selectable access and method therefor |
US6728153B2 (en) * | 2002-08-19 | 2004-04-27 | Hewlett-Packard Development Company, L.P. | Magnetic memory which compares first memory cell data bits and second data bits |
US6934797B2 (en) * | 2002-12-30 | 2005-08-23 | Micron Technology, Inc. | Counter in CAM word |
US6900999B1 (en) | 2003-06-30 | 2005-05-31 | Integrated Device Technology, Inc. | Ternary content addressable memory (TCAM) cells with small footprint size and efficient layout aspect ratio |
US6987684B1 (en) | 2003-07-15 | 2006-01-17 | Integrated Device Technology, Inc. | Content addressable memory (CAM) devices having multi-block error detection logic and entry selective error correction logic therein |
US7193876B1 (en) | 2003-07-15 | 2007-03-20 | Kee Park | Content addressable memory (CAM) arrays having memory cells therein with different susceptibilities to soft errors |
US6870749B1 (en) | 2003-07-15 | 2005-03-22 | Integrated Device Technology, Inc. | Content addressable memory (CAM) devices with dual-function check bit cells that support column redundancy and check bit cells with reduced susceptibility to soft errors |
US7304875B1 (en) | 2003-12-17 | 2007-12-04 | Integrated Device Technology. Inc. | Content addressable memory (CAM) devices that support background BIST and BISR operations and methods of operating same |
US7149101B1 (en) | 2004-12-15 | 2006-12-12 | Netlogic Microsystems, Inc. | Method and apparatus for smoothing current transients in a content addressable memory (CAM) device with dummy searches |
US8625320B1 (en) | 2010-08-31 | 2014-01-07 | Netlogic Microsystems, Inc. | Quaternary content addressable memory cell having one transistor pull-down stack |
US8553441B1 (en) | 2010-08-31 | 2013-10-08 | Netlogic Microsystems, Inc. | Ternary content addressable memory cell having two transistor pull-down stack |
US8582338B1 (en) | 2010-08-31 | 2013-11-12 | Netlogic Microsystems, Inc. | Ternary content addressable memory cell having single transistor pull-down stack |
US8462532B1 (en) | 2010-08-31 | 2013-06-11 | Netlogic Microsystems, Inc. | Fast quaternary content addressable memory cell |
US8773880B2 (en) | 2011-06-23 | 2014-07-08 | Netlogic Microsystems, Inc. | Content addressable memory array having virtual ground nodes |
US8837188B1 (en) | 2011-06-23 | 2014-09-16 | Netlogic Microsystems, Inc. | Content addressable memory row having virtual ground and charge sharing |
US9001545B2 (en) | 2012-08-31 | 2015-04-07 | Aplus Flash Technology, Inc. | NOR-based BCAM/TCAM cell and array with NAND scalability |
WO2015142344A1 (en) * | 2014-03-20 | 2015-09-24 | Hewlett-Packard Development Company, L.P. | Data source and destination timestamps |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4888731A (en) | 1988-05-11 | 1989-12-19 | Advanced Micro Devices, Inc. | Content addressable memory array system with multiplexed status and command information |
US4928260A (en) | 1988-05-11 | 1990-05-22 | Advanced Micro Devices, Inc. | Content addressable memory array with priority encoder |
JPH03160694A (ja) * | 1989-11-16 | 1991-07-10 | Mitsubishi Electric Corp | 半導体記憶装置 |
JP2966638B2 (ja) * | 1992-04-17 | 1999-10-25 | 三菱電機株式会社 | ダイナミック型連想メモリ装置 |
JP2775549B2 (ja) * | 1992-05-08 | 1998-07-16 | 三菱電機株式会社 | 連想メモリセルおよび連想メモリ回路 |
US5383146A (en) | 1992-06-08 | 1995-01-17 | Music Semiconductors, Inc. | Memory with CAM and RAM partitions |
JPH0676583A (ja) | 1992-07-06 | 1994-03-18 | Mitsubishi Electric Corp | 内容番地付記憶装置および一致ワード不要化方法 |
US5642322A (en) * | 1995-05-24 | 1997-06-24 | Kawasaki Steel Corporation | Layout of semiconductor memory and content-addressable memory |
JP3038649B2 (ja) * | 1997-04-16 | 2000-05-08 | 日本電気株式会社 | 連想検索装置および方法 |
JP3036467B2 (ja) * | 1997-06-19 | 2000-04-24 | 日本電気株式会社 | 最長一致検出装置 |
US5943252A (en) * | 1997-09-04 | 1999-08-24 | Northern Telecom Limited | Content addressable memory |
US6101116A (en) * | 1999-06-30 | 2000-08-08 | Integrated Device Technology, Inc. | Six transistor content addressable memory cell |
-
1999
- 1999-02-12 EP EP99200438A patent/EP0936625A3/en not_active Withdrawn
- 1999-02-17 JP JP11038899A patent/JPH11273365A/ja active Pending
- 1999-02-17 US US09/251,517 patent/US6374325B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0936625A2 (en) | 1999-08-18 |
US6374325B1 (en) | 2002-04-16 |
EP0936625A3 (en) | 2003-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11273365A (ja) | 内容呼出し可能メモリ(cam) | |
US5752260A (en) | High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses | |
US7643324B2 (en) | Method and apparatus for performing variable word width searches in a content addressable memory | |
US7185141B1 (en) | Apparatus and method for associating information values with portions of a content addressable memory (CAM) device | |
US7502245B2 (en) | Content addressable memory architecture | |
US6243281B1 (en) | Method and apparatus for accessing a segment of CAM cells in an intra-row configurable CAM system | |
US5668972A (en) | Method and system for efficient miss sequence cache line allocation utilizing an allocation control cell state to enable a selected match line | |
JPH03286495A (ja) | 半導体記憶装置 | |
US7457917B2 (en) | Reducing power consumption in a sequential cache | |
JP2648548B2 (ja) | コンピュータ・メモリ | |
US6366978B1 (en) | Cache memory | |
JPH08227380A (ja) | データ処理システム | |
JP2000353388A (ja) | 内容参照可能メモリの改良 | |
US5890221A (en) | Method and system for offset miss sequence handling in a data cache array having multiple content addressable field per cache line utilizing an MRU bit | |
US20020108015A1 (en) | Memory-access management method and system for synchronous dynamic Random-Access memory or the like | |
US20050144419A1 (en) | Semiconductor memory device having advanced tag block | |
JP2779114B2 (ja) | 連想メモリ | |
JP4004847B2 (ja) | 連想メモリ装置 | |
US6707752B2 (en) | Tag design for cache access with redundant-form address | |
US6813680B1 (en) | Method and apparatus for loading comparand data into a content addressable memory system | |
US7363460B2 (en) | Semiconductor memory device having tag block for reducing initialization time | |
US7174418B2 (en) | Semiconductor memory device for enhancing refresh operation in high speed data access | |
JP3597899B2 (ja) | 連想メモリ | |
JP3059209B2 (ja) | 連想記憶装置 | |
US20020027514A1 (en) | Retrievable memory capable of outputting a piece of data with respect to a plurality of results of retrieve |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080328 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080630 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080703 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080728 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080731 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080828 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080902 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081121 |