JP2000353388A - 内容参照可能メモリの改良 - Google Patents
内容参照可能メモリの改良Info
- Publication number
- JP2000353388A JP2000353388A JP2000145362A JP2000145362A JP2000353388A JP 2000353388 A JP2000353388 A JP 2000353388A JP 2000145362 A JP2000145362 A JP 2000145362A JP 2000145362 A JP2000145362 A JP 2000145362A JP 2000353388 A JP2000353388 A JP 2000353388A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- bit
- matrix
- row
- comparand
- 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
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
- Static Random-Access Memory (AREA)
- Logic Circuits (AREA)
- Investigating Or Analyzing Materials By The Use Of Ultrasonic Waves (AREA)
- Communication Control (AREA)
Abstract
ブラリセルとして設計可能な3値CAMメモリを提供す
ること。 【解決手段】 データワードを記憶するCAMメモリに
おいて、そのデータワードのビットは、2つの補数論理
値のほかに中性論理値をとることができる。CAMメモ
リはメモリセルのマトリックス(MA)を含む。該マト
リックスでは、3値構成をとることができる各ビットに
対して、一対のセルが割り当てられる。メモリマトリッ
クスのアクセスを制御するための回路(CT1…CT3、W
R、SR;CT11…SR1、CT21…SR2)が、CAMモー
ド動作中に比較を行うように又はRAMモードの直接ア
ドレス指定によりデータをライト/リードするようにア
クセスを可能にする。
Description
られるメモリ装置、特に内容参照可能メモリ、すなわち
連想記憶装置(associative memory)に関する。これらの
メモリの名称として、一般に用語「Content(s) Address
able Memory」の頭文字から得られる頭字語CAMが用
いられており、以下の記載でもそれを用いる。
要とする多くの用途において、CAMメモリが使用され
ている。簡単に言えば、CAMメモリは、メモリセルか
ら成るマトリックスを含み、かつ、比較器に接続され
る。そして、各セルはデータワードの1ビットを記憶す
る。すなわち、メモリが、サーチされるべきデータ(以
下「コンパランド」(comparand) という)をユーザーデ
バイスから受け取り、比較器が、コンパランドと記憶さ
れたワードとのビット毎の比較を行う。肯定一致の場合
(すなわち、サーチされる項目(item)がメモリに実際に
存在している場合。)、その項目が記憶されているアド
レスが、他に存在する付加データと共にユーザーデバイ
スに与えられる。多くの用途では、メモリから読み出さ
れた情報は、後に他のメモリ構造への直接アクセスのた
めに用いられる。これらのメモリの本質的な特徴は、そ
れらが含む全ての項目と入力データを1クロックの信号
サイクルで比較すること、及び複数の比較サイクルを必
要とする従来型のランダムアクセスメモリよりも速いサ
ーチを行う可能性を有することである。
ているCAMの用途の一つは、ATMやインターネット
などのような高速ウエブのノード内部にてルーティング
テーブルを作ることである。この場合には、目的地のデ
ータを含んだヘッダーを有するパッケージが伝送され
る。メッセージを受信すると、ウエブノードのルーティ
ング管理装置は、このアドレスの全部又は一部を用いて
テーブルをサーチし、後続のウエブ本体に伝送するため
パッケージが送られるべき出力インターフェースを検索
する。例えば、米国特許第5,383,146号、第
5,469,378号、第5,495,382号、第
5,841,874号のような文献には、市販されてい
るいくつかのCAMメモリについての記載がある。これ
らのメモリの一つとして知られているのが、MU9C2480A
LANCAM(登録商標)の名称のミュージックセミコンダク
ター社(MUSIC Semiconductors Inc.) 製コンポーネント
である。これら全てのデバイスが、ユーザーデバイスの
集積回路メモリとは別に自立集積回路として作られてい
る。
の集積回路上にインターネットやATMのノードルータ
ーのような複雑な回路を作ることを志向している。この
ような傾向にあっては、CAMメモリも、ユーザーデバ
イスを含む同じ集積回路に組み込んで外部メモリとのア
クセスを無くすが賢明である。このことにより、デバイ
スの動作はより速くなり、ピンや接続を除去することに
より構造全体が簡単になり、全体の消費電力も減る。従
って、ユーザーデバイスをも含む同一回路にCAMメモ
リを組み込むと、メモリの物理的な大きさ、すなわちそ
の容量が拘束される。そこで、3値メモリ(ternary mem
ory)により記憶容量をもっと利用することが、提示され
ている。3値メモリでは、ワードのビットは、0及び1
の論理値に加えて中性(「ドントケア」(don't care)と
もいう)論理値を有し得る。ワードのビット群に中性論
理値を割り当てることにより、実際に記憶すべきワード
数を低減できる。米国特許第5,841,874号に
は、3値CAMメモリの例が記載されている。
み出される項目がしばしばさらに別のRAM又は直接ア
クセス型のデータ構造へのアドレス又はアクセスポイン
ターであることである。CAMサーチメモリとして使用
されるデータ構造とRAM構造の両方を同じ集積回路が
有することの利点は明らかである。上記コンポーネント
MU9C2480A LANCAM(登録商標)にても使用されている米
国特許第5,383,146号には、CAMメモリが記
載されており、該メモリは、記憶した各ワードのビット
群に関連した比較を使用不可にし、かつ、CAMとして
の特徴を有する各ワードの部分とRAMとしての残りの
部分を有するようにプログラム可能である。しかし、3
値メモリとしての動作を選択することはできず、ユーザ
ーデバイスが作られる同じ集積回路にメモリを組み込む
こともできない。さらに、プログラムできるのは、合計
が特定数以上のビット群(特に8ビット群)に関するも
のである。上記米国特許第5,841,874号には、
同じ集積回路上でのCAMサーチの結果として得られる
信号によりアドレス指定できるRAMメモリと3値メモ
リを関連付けることの可能性が記載されているが、RA
Mとして利用できるメモリ領域はCAMに記憶されるデ
ータとは別のデータを含んでいる。
ザーデバイスに組み込み得る集積回路ライブラリセルと
して設計可能な3値CAMメモリを提供することであ
る。特に、これらの条件におけるメモリのパワー消費に
注意しなければならないが、本発明のメモリはこの観点
からの有利な解決策を提示する。さらに、本発明の別の
有利な特徴は、本メモリが必要に応じて3値CAM、2
値(binary)CAM、又はRAMとして利用可能な部分を
構成できることである。
リは、(1)各々がNビットのM個のデータワードから
なるアレイを形成するように編成された、少なくとも1
つのメモリセルマトリックスであって、各ビットは1つ
のセルに記憶される前記メモリセルマトリックス、
(2)マスクワードを用いて比較することによりメモリ
内でサーチすべきデータワードをマトリックスに付与す
る手段であって、1列の全セルに共通のビットに対する
ラインによりマトリックスのセルに接続される上記手
段、(3)セルに記憶されたビットとコンパランドビッ
トとの比較を行うべく各セルに接続された比較手段であ
って、各行のセルに接続された該比較手段の出力は、互
いに連結され、行セルにて完了した比較の肯定又は否定
の結果信号を発生する上記比較手段、(4)一致ライン
に接続され、かつ、コンパランドと記憶されたワード間
で一致が見い出されたか否かを示す信号を送出し、さら
にそれが肯定ならば1又はそれより多い記憶ワードとで
一致が見い出されたか否かを示す信号を送出する符号化
手段、及び(5)サーチを行うため又は直接アドレス指
定によるデータのリード/ライトを行うために、メモリ
マトリックスへのアクセスをチェックする手段を含み、
(ア)メモリマトリックスに記憶されたワードのアレイ
全体が、直接アドレス指定によりアクセス可能なデータ
構造を有し、該アドレスは、ユーザーデバイスにより与
えられ、又は符号化手段により送出された信号から成
り、該符号化手段は、コンパランドと一つの記憶ワード
の間に一致が見い出されたことを示し、(イ)前記メモ
リマトリックスは、コンパランドとの比較がダミーの一
致ライン上に肯定の比較信号を常に与えるように構成さ
れ且つダミーデータを記憶するよう割り当てられた補助
行のセル、及びメモリデータに割り当てられず且つ前記
補助行に対応するセルを含んだ補助列のセルを含み、ま
た、符号化手段が、ダミーのアドレス信号を出力するメ
モリマトリックスの補助行に接続された補助部分を含
み、(ウ)前記制御手段が、直接アドレス指定のメモリ
動作中に前記補助行をも常にアドレス指定でき、(エ)
前記メモリマトリックスの補助行、符号化手段の補助部
分及び第1制御手段は、コンパランドと記憶データの比
較を実行するメモリ動作中に使用される初期リセットル
ープを形成し、前記第1制御手段をチェックしてコンパ
ランドとそのマスクがメモリマトリックスに与えられる
と直ぐに前記付与手段を使用不可にし、また、前記補助
行及び列は、前記発生装置と共にリセット信号を生成
し、前記制御手段は、メモリ動作中に使用される第2リ
セットループの一部であり、制御手段を制御してデータ
が読み出されると直ぐにデータアドレス指定及び読み出
し手段を使用不可にすることを特徴とする。
を参照する。図1は、RAMとして使用するのにも適し
たCAMの構造を示す。このメモリは、以下のものを含
む。 (1)M行、N列のメモリマトリックスMA。 (2)ブロックREで示される1対のレジスタ。それぞ
れ、メモリにおいてサーチされるべき項目(コンパラン
ド)とコンパランドのマスキングビット(マスク)をマ
トリックスMAに与える。後者はコンパランドビットに
双一義的(bi-univocally) に関連し、それらの論理値
は、関連するコンパランドビットを項目ビットと比較し
なければならないか否か(コンパランド無視条件(compa
rand indifference conditions) )を示す。 (3)(記憶された1ワードに対してのみコンパランド
と項目との一致が見い出された場合)検索される項目を
MA内に記憶するアドレスを出力し、又は複数の一致若
しくは不一致を示す符号器CD。 (4)RAMモードアクセス動作に関連する行を選択す
るための回路SR。 (5)メモリ作成又は修正段階中にセルの内容を書き込
み、かつ、RAMモード動作中にそれらを読み出すため
の論理ネットワークWR。 (6)RAM又はCAMモード動作中にメモリ動作の制
御信号を発生するための回路CT1,CT2及びCT
3。
的なモジュールMEを構成する。該モジュールMEは、
ユーザーデバイスを収容するコンポーネント上に複製で
き、用途に必要な容量を有するメモリを得ることができ
る。マトリックスMAの各セルC11…C1N…CM1…CMN
は、真正かつ適切なメモリ要素と、その中に記憶された
ビットとコンパランドのビットを比較する比較器を含
む。このコンパランドのビットは、ビットラインとして
公知のラインを介してレジスタREにより与えられる。
同じライン上のセルの比較器出力は、論理ANDに接続
され、該ラインに記憶されたワードとコンパランドとの
ビット毎の比較が肯定であるか否かを一致ラインとして
公知のラインm1 …mm 上に出力する。これらの種類の
メモリでは通常、マトリックスMAはスタティックRA
Mメモリであり、各セルは、真正かつ適切な項目ビット
と補数ビットの両方を記憶し、よって、各セルは実際に
は2つのビットラインに接続され、それにより、実際の
論理値と補数値の両方を有するコンパランドビットを与
える。このことは、各コンパランドのレジスタ位置がス
トレート及び否定(denied)出力を与えることを意味す
る。図1では、REとMA間の接続1は、コンパランド
とその補数をマトリックスに導くワイヤ対全てを示す。
が、例えば米国特許第5,383,146号に示され
る。米国特許第5,469,378号には、可能な回路
図が示される。例として、以下において必要な場合には
256個40−ビットの容量を有するマトリックスMA
を参照する。マトリックスMAの内容は、RAMメモリ
としての動作中に直接アドレス指定によりアクセスされ
るデータ構造でもある。後で分かるように、RAMのア
クセスアドレスは、符号器CDの出力として与えられる
情報から成り得る。このことは、インターネットウエブ
のルーティング管理装置におけるサーチテーブルの完成
のような用途では特に有利である。この場合にはしばし
ばサーチはビットストリングのプレフィックスにて行わ
れる。好ましくは、行セルは、ドミノ論理により互いに
接続される。換言すれば、比較結果の認識はセルグルー
プ上にてでき、その各々はプリロード及びアセスメント
トランジスターに関連する。種々のグループのアセスメ
ントトランジスターからの出力は、結合されて一致ライ
ンmを形成する。プリロード及びアセスメントイネーブ
ル信号は、集合体を示す図中の2により示されるライン
を介し関連のセルグループに対しREにより与えられ
る。例として、比較結果の認識が8セルのグループによ
り行なわれる場合には、ライン1の8対毎に1つのライ
ン2が存在する。
であり、MAに記憶される各ビットは0、1又はドント
ケア(don't care)をとり得る。3値CAMメモリでは、
入力項目のビットとドントケアレベルにあるメモリのビ
ットとの比較は明らかに常に肯定である。3値CAMメ
モリとしてメモリを使用するためには、ドントケア値を
有し得る記憶ワードの各ビットに対して2つのセルを割
り当てなければならない。従って、上記与えられた数値
例では、メモリワードは、どれくらいの数の記憶ビット
が3値構成を有するかに従って、20〜40の範囲の相
当数のビットを有することになる。好ましくは、論理レ
ベル0、1及びドントケアは、MA内にそれぞれ01、
10及び00として記憶される。好ましくは、3値記憶
で使用されるセルは、メモリが使用されるシステムの設
計及び特定用途の要求に基づいて、事前に選択される。
よって、リード−ライト論理部WRは、3値として記憶
されるべきビットが上記特定したように既に符号化され
ているデータを受け取る。換言すれば、2値又は3値構
成を有し得るビット数は、プロジェクトパラメータの一
つとなる。特に、ユーザー構成は個々のビットのレベル
に到達する。ビット対への変換は、対応するコンパラン
ドビットを含めて3値ビットを考慮すべく実行される。
特に、ドントケア論理値を「x」で示すことにより、コ
ンパランドビットに対して次の変換則が採用できる。す
なわち、0ビットが「0x」に変換され、1ビットが
「x0」に変換され、xビットが「xx」に変換され
る。
ックスMAは、別のダミーの行及び列をも有し、そのセ
ルはCD1…CDD…CMDにより示される。この行及び列の
目的は後に詳細に説明する。ダミー行は、一致ラインm
D に接続され、常に一致信号を発生するよう構成され
る。各レジスタREは、データ用のマトリックスMAの
各列に対し1つの要素から成る(従って40個の要
素)。各要素は、ユーザーデバイスからのコンパランド
又はマスクとタイミング信号を受け取る。該タイミング
信号は、MAへのライン1上にコンパランドとマスクを
ロードすること、及び回路CT1からのそれらの付与に
おいて必要とされる。3、4及び5は、コンパランドと
マスクをREに導くライン全て及びREへのコマンドラ
インを示す。1のとき、マスクビットは、同じ論理値を
それらの要素からの2つのライン1上に強制し、対応す
るMAのセルに記憶された項目ビットのどんな論理値
も、その列上の一致により常にそこに作る。このこと
は、コンパランドビットに対してドントケア条件を達成
する。ドントケア論理値のビットの数と位置も、設計パ
ラメータである。
は、コンパランドビットのストリング全体がドントケア
条件に強制されるように作られ得る。このことは、マト
リックスMAの対応部分をRAMメモリとして考え、残
りの部分のみをCAMメモリとして考えることに等し
い。この構成は、CAMモード動作中にサーチされる情
報に同時にアクセスすべき別の情報を関連付ける際に特
に有効である。ブロックCT1は、コンパランドとマス
クを外部からレジスタREにロードするために時間ウイ
ンドウを識別する信号と共に、クロック及びコンポーネ
ント選択信号を受け取り、かつ、それらを接続5上にて
コマンドに変換する。これらのコマンドのいくつかは後
に説明するが、CT1は、後に述べる目的のために接続
11を介して符号器CDからリセット信号をも受け取
る。
第1部分CD1は、真正かつ適切なコード論理部であ
り、出力対6A,6B上に2つのビットグループを与え
る。該ビットグループの構成は、コンパランドとデータ
の比較の結果が1つの一致、複数の一致又は不一致であ
るかに従って変わる。特に、一致がマトリックスMAの
1行に対してのみの場合には、CD1は関連の一致ライ
ンmの識別を表す構成(特に対応するマトリックスMA
の行アドレスに対する符号化)を出力6Aに与え、その
補数構成を出力6Bに与える。複数の一致の場合には、
CD1は、互いに相補的でない構成を出力6A及び6B
に発する一方、CD1への全ラインが否定比較の場合に
は、2つの値が発せられ、そのビットは同じ論理値(特
に1)を有する。第2部分CD2は比較器であり、CD
1の2つの出力6A及び6Bに送出された値全てをビッ
ト毎に比較し、かつ、1つのラインm上のみでの一致の
場合には対応するアドレスを出力7に発し、メモリがR
AMとして使用される次のサイクルにてMAアドレスと
して使用できるようにする。一方、複数の一致又は不一
致の場合には、CD2は別の2つの出力8、9に信号を
送出する。
g2M列(各マトリックス部分に対するlog2M列、すなわ
ち、マトリックスMAの行アドレスをコード化するのに
必要なビットと同数の列)のダブルマトリックスからな
る。各行は、MAからの一致ラインの一つに接続され
る。列は1の論理値に対応する電圧にてプリロードさ
れ、トランジスターはグランド(論理0)に接続され、
それぞれの列は、一致信号がライン上に存在するとき、
選択された行と列の交点に位置する。他の交点では列と
行は接続されない。各列に存在する電圧に対応する論理
値は、CD1の出力ビット6A又は6Bである。第1及
び第2マトリックス部分それぞれに対し、他のラインと
は独立して考えられる対応ラインに一致信号が存在する
場合における出力ビットの構成が行アドレス又はその補
数を表すように、トランジスターが配置されるべき交点
が選択される。
配置図である。一致ラインmm0 …mm4 に接続された
4行のみからなる極端に簡略化したマトリックスであ
る。よって、各ダブルマトリックス部は、2つの列A
0,A1及びB0,B1を含み(同じ数字インデックス
を有する列は相同位置にある列である)、それぞれ出力
6Aと6Bを形成する。A0とB0は、最下位ビットを
出力として与える列である。TA1…TA4とTB1…
TB4は、それぞれ2つのマトリックス部のトランジス
ターである。トランジスターTA,TBの構成は、実際
には1つのラインmm上に論理1が存在する場合に行ア
ドレスを出力として与え(それぞれ図のレイアウトに従
って00、10、01、11であり、右側が最下位ビッ
トである)及び列Bの補数(11、01、10、00)
を与える。しかしながら、1より多いラインmmが1の
場合に例えば第1及び第2ラインmm0 ,mm1 上にて
列Aは構成00を与え、列Bは列Aに存在する構成の補
数以外の構成10を与える。どのラインにも1が存在し
ないとき出力A及びBには構成11が存在する。m行及
びlog2M列の実際の場合への拡張は容易に行える。
存在を考慮するダミー部CD10 をも含む。それは、常
に一致信号を受け取り、出力11上にダミーアドレスと
して解釈できる信号を常に送出する。実際には、このこ
とは、マトリックスのダミー行に対応し且つ出力6A,
6Bにて対応する列から切断された別の行を与えるダブ
ルマトリックスを必要とする。行選択回路SRは、マル
チプレクサーMXにより示されるように、接続10を介
して外部から与えられるアドレス又は接続7に存在する
アドレスに基づいて、マトリックスMAの行を選択でき
る。アドレスモードの選択は、外部から制御される。メ
モリがRAMとして動作するときはいつでも、回路SR
は、2つの出力12、12Dにより示されるように、特
定行とダミー行の両方を常にアドレス指定する。制御回
路CT2は、従来のクロック信号(一般にはCT1に与
えられるものと同じ)、コンポーネント選択及びリード
/ライト信号を外部から受け取り、回路SRと論理部W
Rのラインの両方に与えられる信号GOに加えて、RA
Mメモリを操作するのに必要な従来のコマンド信号を発
生する。これらの信号は、接続13の線上に存在する。
これらの信号のいくつかは後に説明する。
出されたデータを外部に送るための論理ネットワークW
Rは、実際にはデータに割り当てられたMAの列と同数
の装置から成る(記載した例では40個)。14と15
は、それぞれモジュールMEの外部から/へのおよびマ
トリックスMAから/へのデータのためのデータ入出力
接続を示す。各装置WRは、従来型の構造を有し、書き
込み方向においては、書き込まれるべき信号のサンプル
回路、列のプリロードのための回路、及びメモリセル回
路により要求されるレベルに書き込まれるべき信号を運
ぶバッファを含む。読み出し方向においては、WRは、
センス増幅器と読み出し信号出力を適切にタイミングす
るための回路を含む。論理ネットワークWRは、MAの
ダミー列に接続された論理部CT3から線16を介して
別のリセット信号をも受け取る。この第2の信号の目的
は後に説明する。RAM及びCAMとしての一般的なメ
モリ動作は、図3A、3Bに示す。ここで、CK、CK
CAMはRAM及びCAM動作に対するクロック信号
(一般には等しい)であり、ラインADDR,D,Q,
WENは、それぞれRAMとしての動作に対するアドレ
スロードコマンド、データロードコマンド、データリー
ドコマンド、及びデータリード/ライトコマンドを示
し、K,MK,MADは、それぞれコンパランド及びマ
スクと検索される項目アドレスの送出・ロード工程を示
す。図に示されたライト工程は、DATA1及びアドレ
スADDR1に関係し、リード工程は、アドレスADD
R2に記憶された項目に関係する。これらの図は技術者
には極めて明瞭であるから、さらなる説明は不要であろ
う。
のセルは、レジスタREからのビット出力に対するライ
ンには接続されず、事前設定された論理値ビットを記憶
する。それらは、実際のデータ行セルと同じように一致
ラインmD に接続される。これらの条件では、それらは
常にmD 上に一致信号を与える。ダミー列のセルは、セ
ルビットを操作するためのラインと同様のラインを介し
て事前設定された論理値(及びその補数)に接続され
る。ダミーセルに対応するセルは、その行に対する一致
ラインにも接続される。ダミー列及び行は、メモリのR
AM動作中には共に使用される一方、ダミー行(特にダ
ミー列に対応するセル)はメモリのCAM動作中に独自
で使用される。それらの主な目的は、要求される最小時
間の間だけアドレス及び検出回路(実際にはより大きな
消費を伴うもの)をアクティブに維持して消費を低減す
ることである。
ダミーの列と行の動作が、図3Cの時間図に示される。
CT2に入るクロック信号CKの立ち上がりが、信号CK
ff_a とCKff_d 、GO及びDWL の立ち上がりを生じさせ
る。CKff_a とCKff_d は、それぞれアドレス及びデー
タをロードするためにSR及びWRに送られる(図3A
も参照)。GOは選択された行をイネーブルし、DWL はダ
ミー行をイネーブルする。列のプリロードは不可にされ
(信号PRECの1への移行)、ダミー列が読み出される
(信号DBL の0への移行)。DBL を0に移行することに
より、CT3(図1)内の信号RSがリセットされ、こ
のことがWR内のリード増幅器をオフに切り、元の条件
に戻す。発生された全ての信号は、CKデューティサイ
クルと周期に独立な動作を保証するのに厳密に必要な限
り持続する。
がメモリに与えられるときはいつでも、一致信号がマト
リックスMAのダミー行に関係する一致ライン上にて得
られ、それがダミーアドレスをライン11上に発生する
ことにより符号器のダミー部分に送られ、それによりC
T1がREを使用不可にする。特に、クロックCKCAMの
立ち上がりにより、マスクとコンパランドのロードを引
き起こし(図3B)、マスクとコンパランドが安定なと
き、結果のアセスメントと読み出し信号Eval及びPre の
立ち上がりを開始させる。ダミー行に強制された肯定の
比較結果のビットのANDは、一致ラインmD 上にDMAT
CHの立ち上がりを開始させる。符号器CDのダミー部分
CD1D は、出力11上にダミーコードアドレスNMを
発生し、それが比較を中断しシステムを元の状態に戻
す。この場合にも、発生された全てのパルスは、CKCAM
デューティサイクルと周期に独立な動作を保証するのに
厳密に必要な限り持続する。本発明によるメモリの容量
は、N1 >N列のワードで動作するように拡張できる。
ME2を用いるメモリを示し、その各々は図1のモジュ
ールMEに等しい。図1の要素に対応する要素が同じ符
合で示されており、さらに1及び2がそれぞれ加えられ
ている。簡単のため、図4は(WR1、WRに組み込ま
れた)CT3とMXの対応する回路を示さず、データ行
のものとは分離されたマトリックスMA1,MA2のダ
ミー行の直接アドレスも有さない。2つのモジュール
は、論理ネットワークを介して同じ符号器CDに接続さ
れる。該論理ネットワークの入力は、一致ライン(含ま
れたダミー行に関係するもの)である。これらの一致ラ
インは、2つのマトリックスMA1及びMA2を出るM
1及びM2により集合体を示す図中に示され、それは相
同ラインに存在する信号のANDを実行する。2つのレ
ジスタRE1、RE2の各々は、コンパランドの一部を
ロードしマトリックスMA1,MA2に与える。明らか
に、この解決策は、2つのマトリックスが同数のライン
を有することを要求する。逆に、マトリックスMA1の
列の数N1は、マトリックスMA2の列の数N2とは異
なり得る。
ム−オン−チップ技術により設計でき、それにより如何
なる集積回路のライブラリセルとしても自動設計でき
る。マトリックスMAで言及したような縮小容量メモリ
の場合にも、1以上のモジュールMEが同じ集積回路上
に実現できる。この集積回路は、例えばインターネット
用の通信ルーティング管理デバイスのようなメモリを使
用するデバイスをも含む。技術者ならば、この種のメモ
リの結果として特徴付けられるメモリへのアクセス時間
の節約、消費の削減、及びシステムの複雑さの低減の観
点からの利点を明らかに理解するであろう。ユーザーシ
ステムのニーズに基づいて、メモリ構成は2値又は3値
CAM又はRAMとして動作するのに必要なものとで
き、RAM又はCAMとして使用されるべき領域を選択
できる。上記記載は明らかに単なる例であり、変形や変
更が本発明の保護範囲を離れることなく為し得る。
ある。
る。
Claims (8)
- 【請求項1】 2つの補数値に加えてドントケア論理値
をとり得るビットを有するデータワードを記憶するため
の、その内容によりアドレス指定可能なメモリであっ
て、(1)各々がNビットのM個のデータワードからな
るアレイを形成するように編成された、メモリセル(C
11…CMN)から成る少なくとも1つのマトリックス(M
A;MA1,MA2)であって、1行の1セル(C11…
CMN)に記憶される各ビットは、そのビットが2つの補
数論理値のみを有することができる場合には1つのビッ
トに個別に割り当てられ、又はそれに対して論理ドント
ケア値の条件が許容される場合には同一ビットの対に個
別に割り当てられる、上記マトリックス(MA;MA
1,MA2)、(2)マスクワードを用いて比較するこ
とによりメモリ内でサーチすべきデータワードをマトリ
ックス(MA)に付与する手段(RE)であって、全て
の列セルに共通の付与ラインを介してマトリックスのセ
ル(C11…CMN)に接続される上記手段(RE)、
(3)セルに記憶されたビットとコンパランドビットと
の比較を行うべく各セル(C11…CMN)に接続された第
1比較手段であって、その出力は、互いに連結された行
セルに接続され、その行に記憶されたワードとコンパラ
ンドとの肯定又は否定比較を示す信号を一致ライン(m
1 …mM )上に発生する、上記第1比較手段、(4)一
致ライン(m1 …mM )に接続され、かつ、コンパラン
ドと記憶されたワード間で一致が見い出されたか否かを
示す信号を送出し、さらにそれが肯定ならば1又はそれ
より多い記憶ワードとで一致が見い出されたか否かを示
す信号を送出する符号化手段(CD)、及び(5)比較
を行うため又は直接アドレス指定によるデータのリード
/ライトを行うために、メモリマトリックス(MA;M
A1,MA2)へのアクセスを制御する制御手段(CT
1…CT3,WR,SR;CT11…SR1,CT21
…SR2)を含み、(ア)メモリマトリックス(MA;
MA1,MA2)に記憶されたワードのアレイ全体が、
直接アドレス指定によりアクセス可能なデータ構造を有
し、該直接アドレス指定は、ユーザーデバイスにより与
えられるアドレスを用いて、又はコンパランドと一つの
記憶ワードの間に一致が見い出されたことを示す符号化
手段により送出される信号から成るアドレスを用いて行
われ、(イ)前記メモリマトリックス(MA;MA1,
MA2)は、コンパランドとの比較がダミーの一致ライ
ン上に常に一致信号を与えるように構成されたダミーデ
ータを記憶するための補助行のセル(CD1…CDD)、及
びメモリデータに割り当てられず且つ前記補助行に対応
するセル(CDD)を含んだ補助列のセル(CDD…CMD)
を含み、また、符号化手段(CD)は、ダミーのアドレ
ス信号を出力するメモリマトリックス(MA;MA1,
MA2)の補助行に接続された補助部分(CD1D )を
含み、(ウ)前記制御手段(CT1…CT3,WR,S
R;CT11…SR1,CT21…SR2)は、直接ア
ドレス指定のメモリ動作中に前記補助行をも常にアドレ
ス指定し、(エ)前記メモリマトリックスの補助行(C
D1…CDD)は、符号化手段(CD)の補助部分(CD1
D )及び制御手段(CT1…CT3,WR,SR;CT
11…SR1,CT21…SR2)の第1制御装置(C
T1;CT11,CT21)と共に、コンパランドと記
憶データとの比較を行うメモリ動作中に使用される第1
リセットループを形成し、前記第1制御装置(CT1;
CT11,CT21)を制御してコンパランドとそのマ
スクがメモリマトリックス(MA;MA1,MA2)に
付与されると直ぐに前記付与手段(RE;RE1,RE
2)を使用不可にし、また、前記補助行及び列(CD1…
CDD,CDD…CMD)は、前記制御手段(CT1…CT
3,WR,SR;CT11…SR1,CT21…SR
2)に属するリセット信号を発生する装置(CT3)と
共に、メモリを直接アクセスにて使用中に用いられる第
2リセットループを形成し、制御手段(CT1…CT
3,WR,SR;CT11…SR1,CT21…SR
2)を制御して項目が読み出されると直ぐにアドレス指
定手段(SR;SR1,SR2)とデータ読み出し手段
(WR;WR1,WR2)を使用不可にする、ことを特
徴とする上記内容によりアドレス指定可能なメモリ。 - 【請求項2】 符号化手段(CD)がダブル結合ネット
ワーク(CD1)を含み、該ダブル結合ネットワーク
(CD1)は、(1)コンパランドと記憶された1ワー
ドとの一致が存在する場合、一致が見い出された行のア
ドレスに対応するビット構成とその補数構成を一対の出
力に与えることができ、(2)コンパランドと1より多
い記憶ワードとの一致が存在する場合、非補数のビット
構成を前記出力の対に与えることができ、(3)一致が
存在しない場合、全てのビットが同じ論理値を有する2
つの同一構成を出力として与えることができ、また、前
記比較手段(CD2)は、前記出力に存在するビットの
ビット毎の比較を行い、それらを行アドレス、複数一致
及び不一致信号にそれぞれ変換する、ことを特徴とする
請求項1記載のメモリ。 - 【請求項3】 前記メモリマトリックス(MA;MA
1,MA2)は、ドントケア論理値を有し得る各ビット
に対して一対のセルを含み、また、メモリは、このセル
対のビットの論理値0、1及びドントケアがそれぞれ0
1、10、00対により記憶され、かつ、前記コンパラ
ンドの論理値0、1及びドントケアビットが結合0x、
x0及びxx(xはそれらのドントケア論理値を示す)
として付与手段に与えられてコンパランドとこれらのセ
ル対の比較を行うように、プログラミングされることを
特徴とする請求項1又は2に記載のメモリ。 - 【請求項4】 ドントケア論理値を有し得るビットの数
が、ユーザーデバイスの要求に基づいてプログラム化さ
れ得ることを特徴とする請求項3記載のメモリ。 - 【請求項5】 複数のメモリマトリックス(MA1,M
A2)を含み、その各々は同じデータワードのビットス
トリングを記憶し、その関連の付与手段(RE1,RE
2)に接続され、該付与手段は、コンパランドとマスク
の対応するビットストリングをマトリックスに付与し、
また、前記マトリックスは同じ行数を有し、全てのマト
リックス(MA1,MA2)の相同行に関連する一致ラ
インが、別の論理ネットワーク(PA)を介して全マト
リックス(MA1,MA2)に共通の符号化手段(C
D)に接続され、該論理ネットワーク(PA)は、行毎
に個々のマトリックス(MA1,MA2)に与えられる
出力信号を肯定又は否定の比較結果を示す1つの信号に
結合する、ことを特徴とする請求項1〜4のいずれか一
項に記載のメモリ。 - 【請求項6】 異なるマトリックス(MA1,MA2)
に記憶されたビットストリングが異なる長さを有するこ
とを特徴とする請求項5記載のメモリ。 - 【請求項7】 メモリが集積回路セルライブラリのセル
として実現され、ユーザーデバイスが集積化される同じ
コンポーネントに組み込むことができることを特徴とす
る請求項1〜6のいずれか一項に記載のメモリ。 - 【請求項8】 メモリの構成が、2値、3値CAM、R
AMメモリとして、又はユーザーデバイスの要求により
RAMとして使用可能な領域を含んだメモリとして動作
できるようなものであることを特徴とする請求項1〜7
のいずれか一項に記載のメモリ。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IT1999TO000411A IT1308100B1 (it) | 1999-05-17 | 1999-05-17 | Perfezionamenti alle memorie indirizzabili mediante il contenuto |
| IT99A000411 | 1999-05-17 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2000353388A true JP2000353388A (ja) | 2000-12-19 |
| JP3599273B2 JP3599273B2 (ja) | 2004-12-08 |
Family
ID=11417818
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000145362A Expired - Fee Related JP3599273B2 (ja) | 1999-05-17 | 2000-05-17 | 内容参照可能メモリの改良 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US6169685B1 (ja) |
| EP (1) | EP1054407B1 (ja) |
| JP (1) | JP3599273B2 (ja) |
| CA (1) | CA2308969C (ja) |
| DE (1) | DE60037699T2 (ja) |
| IT (1) | IT1308100B1 (ja) |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6288922B1 (en) * | 2000-08-11 | 2001-09-11 | Silicon Access Networks, Inc. | Structure and method of an encoded ternary content addressable memory (CAM) cell for low-power compare operation |
| US6252790B1 (en) * | 2000-10-16 | 2001-06-26 | Nicholas Shectman | Large-capacity content addressable memory with sorted insertion |
| US9110692B2 (en) | 2001-03-22 | 2015-08-18 | Frederick Master | Method and apparatus for a compiler and related components for stream-based computations for a general-purpose, multiple-core system |
| US6577519B1 (en) * | 2001-08-30 | 2003-06-10 | Sibercore Technologies, Inc. | System and method for low power searching in content addressable memories using sample search words |
| US7210003B2 (en) * | 2001-10-31 | 2007-04-24 | Netlogic Microsystems, Inc. | Comparand generation in a content addressable memory |
| US6993622B2 (en) * | 2001-10-31 | 2006-01-31 | Netlogic Microsystems, Inc. | Bit level programming interface in a content addressable memory |
| US7237058B2 (en) * | 2002-01-14 | 2007-06-26 | Netlogic Microsystems, Inc. | Input data selection for content addressable memory |
| US6924994B1 (en) * | 2003-03-10 | 2005-08-02 | Integrated Device Technology, Inc. | Content addressable memory (CAM) devices having scalable multiple match detection circuits therein |
| US20060018142A1 (en) * | 2003-08-11 | 2006-01-26 | Varadarajan Srinivasan | Concurrent searching of different tables within a content addressable memory |
| US7133302B1 (en) | 2003-11-15 | 2006-11-07 | Netlogic Microsystems, Inc. | Low power content addressable memory |
| US20050213359A1 (en) * | 2004-03-26 | 2005-09-29 | Kim Jin K | Hybrid content addressable memory |
| US7418543B2 (en) * | 2004-12-21 | 2008-08-26 | Intel Corporation | Processor having content addressable memory with command ordering |
| US7467256B2 (en) * | 2004-12-28 | 2008-12-16 | Intel Corporation | Processor having content addressable memory for block-based queue structures |
| US7471537B1 (en) | 2006-06-23 | 2008-12-30 | Integrated Device Technology, Ltd. | Content addressable memories (CAM) having low power dynamic match line sensing circuits therein |
| US7822916B1 (en) | 2006-10-31 | 2010-10-26 | Netlogic Microsystems, Inc. | Integrated circuit search engine devices having priority sequencer circuits therein that sequentially encode multiple match signals |
| US8130525B2 (en) * | 2009-10-09 | 2012-03-06 | International Business Machines Corporation | Method and apparatus for configuring a content-addressable memory (CAM) design as binary CAM or ternary CAM |
| WO2013071183A1 (en) * | 2011-11-11 | 2013-05-16 | Tabula, Inc. | Content addressable memory in integrated circuit |
| US9639501B1 (en) * | 2012-10-17 | 2017-05-02 | Firquest Llc | Apparatus and methods to compress data in a network device and perform ternary content addressable memory (TCAM) processing |
| US9859006B1 (en) * | 2016-06-17 | 2018-01-02 | Globalfoundries Inc. | Algorithmic N search/M write ternary content addressable memory (TCAM) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5107501A (en) * | 1990-04-02 | 1992-04-21 | At&T Bell Laboratories | Built-in self-test technique for content-addressable memories |
| US5130947A (en) * | 1990-10-22 | 1992-07-14 | Motorola, Inc. | Memory system for reliably writing addresses with reduced power consumption |
| US5226005A (en) * | 1990-11-19 | 1993-07-06 | Unisys Corporation | Dual ported content addressable memory cell and array |
| US5940852A (en) * | 1997-05-01 | 1999-08-17 | Altera Corporation | Memory cells configurable as CAM or RAM in programmable logic devices |
| AU1092599A (en) * | 1997-10-30 | 1999-05-24 | Netlogic Microsystems, Inc. | Synchronous content addressable memory with single cycle operation |
-
1999
- 1999-05-17 IT IT1999TO000411A patent/IT1308100B1/it active
-
2000
- 2000-05-12 US US09/570,149 patent/US6169685B1/en not_active Expired - Lifetime
- 2000-05-16 CA CA002308969A patent/CA2308969C/en not_active Expired - Fee Related
- 2000-05-17 EP EP00110217A patent/EP1054407B1/en not_active Expired - Lifetime
- 2000-05-17 DE DE60037699T patent/DE60037699T2/de not_active Expired - Lifetime
- 2000-05-17 JP JP2000145362A patent/JP3599273B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| EP1054407A1 (en) | 2000-11-22 |
| DE60037699T2 (de) | 2008-12-24 |
| EP1054407B1 (en) | 2008-01-09 |
| CA2308969C (en) | 2004-04-27 |
| ITTO990411A1 (it) | 2000-11-17 |
| DE60037699D1 (de) | 2008-02-21 |
| JP3599273B2 (ja) | 2004-12-08 |
| CA2308969A1 (en) | 2000-11-17 |
| IT1308100B1 (it) | 2001-11-29 |
| ITTO990411A0 (it) | 1999-05-17 |
| US6169685B1 (en) | 2001-01-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3599273B2 (ja) | 内容参照可能メモリの改良 | |
| US6243281B1 (en) | Method and apparatus for accessing a segment of CAM cells in an intra-row configurable CAM system | |
| US6910097B1 (en) | Classless interdomain routing using binary content addressable memory | |
| US6324087B1 (en) | Method and apparatus for partitioning a content addressable memory device | |
| US8797808B2 (en) | Semiconductor device and semiconductor memory device | |
| KR20130105393A (ko) | 내용 참조 메모리 시스템 | |
| JPS61107597A (ja) | ブロツク連想メモリ | |
| JPH11273365A (ja) | 内容呼出し可能メモリ(cam) | |
| US7525867B2 (en) | Storage circuit and method therefor | |
| US20030005210A1 (en) | Intelligent CAM cell for CIDR processor | |
| KR20260038264A (ko) | 메모리 위치에 액세스하기 위한 장치 및 방법 | |
| US6751701B1 (en) | Method and apparatus for detecting a multiple match in an intra-row configurable CAM system | |
| US6799243B1 (en) | Method and apparatus for detecting a match in an intra-row configurable cam system | |
| KR100565456B1 (ko) | 3원 cam 셀 | |
| JP4004847B2 (ja) | 連想メモリ装置 | |
| US6813680B1 (en) | Method and apparatus for loading comparand data into a content addressable memory system | |
| US6801981B1 (en) | Intra-row configurability of content addressable memory | |
| US7280379B2 (en) | CAM device and method for repairing the same | |
| US6898100B2 (en) | Semiconductor memory device used for cache memory | |
| US6795892B1 (en) | Method and apparatus for determining a match address in an intra-row configurable cam device | |
| JPH05198186A (ja) | 連想メモリシステム | |
| US7191280B2 (en) | Content addressable memories (CAMs) based on a binary CAM and having at least three states | |
| WO2001095336A2 (en) | Partitioned content addressable memory device | |
| JP3130736B2 (ja) | 連想メモリの使用方法および連想メモリ | |
| US6590511B2 (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 |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040218 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040506 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040524 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040813 |
|
| 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: 20040908 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040910 |
|
| 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: 20080924 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090924 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100924 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110924 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110924 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120924 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130924 Year of fee payment: 9 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |