JPH06203581A - 内容アドレス可能記憶装置及びその動作方法 - Google Patents

内容アドレス可能記憶装置及びその動作方法

Info

Publication number
JPH06203581A
JPH06203581A JP5274683A JP27468393A JPH06203581A JP H06203581 A JPH06203581 A JP H06203581A JP 5274683 A JP5274683 A JP 5274683A JP 27468393 A JP27468393 A JP 27468393A JP H06203581 A JPH06203581 A JP H06203581A
Authority
JP
Japan
Prior art keywords
keyword
bit
memory
memory units
lines
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
JP5274683A
Other languages
English (en)
Inventor
Cornelius Anto Mattheus
コルネリウス アドリアヌス マゼウス
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06203581A publication Critical patent/JPH06203581A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 【目的】 RAMによる内容アドレス可能記憶装置(C
AM)方法を提供すること。 【構成】 キーワードはRAMに適用されるそれぞれ0
0、01、10の部分集合である。キーワードの第1の部分
集合は第1のRAMの1行目にアドレスするので、1は
データ出力の第2のビットとして出てくる。同様に、01
及び10によってそれぞれアドレスされた第2及び第3の
RAMに適用される。引き続くAND演算は、所望され
るように、整合ラインm1 の活動化に対応する第2ビッ
トとして1を有するNビットワードを生じることにな
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般に、ランダムアク
セスメモリ(RAM)と、前記RAMのメモリ位置にア
ドレスするための入力キーワードを使用することによっ
て、Wビットのキーワードと、N個の可能性のある整合
アドレスに対する内容アドレス可能記憶装置(CAM)
の実現(インプリメンテーション)に係り、特に、機能
メモリ(FM)として知られている特定のタイプのCA
Mとしての使用を含む前記実現されたものを動作する方
法に関する。「実現(インプリメンテーション)」とい
う用語は、ハードウェア、ソフトウェア、又は両方にお
けるシステムデザインの具現化として定義される。
【0002】
【従来の技術】コンピュータ技術の分野において、記憶
されたデータへのアクセスに関して基本的に二つの異な
るタイプのメモリ(記憶装置)が見つけ出されている。
【0003】第1のタイプの場合において、記憶された
データは、その数によってメモリ内のメモリ位置にアド
レスすることによって読み取られる。通常は、このよう
なメモリチップは分離したアドレスラインとデータライ
ンを示す。このようなメモリからデータを探索するため
には、このデータの正確なアドレスが認識されなければ
ならない。次いで、アドレスされ、かつ格納されたデー
タは、データラインと接続される。記憶装置のこのカテ
ゴリには、ランダムアクセスメモリ(RAM)とリード
オンリーメモリ(ROM)が属している。この記憶装置
の原理は、一般的となり、現在は事実上あらゆる複雑な
エレクトロニクス装置において出現しているが、ランダ
ムアクセスメモリは、大容量のデータや、いくらかのデ
ータセットへの迅速なアクセスを含む多数の問題のアク
セスの必要条件に対しては限られた解決法しか提供でき
ない。それゆえ、多くのアプリケーションにとって、メ
モリ位置に対するネーム又はオブジェクト指向のアプロ
ーチは有利であると思われる。
【0004】この記憶装置の原理は、連想記憶装置とし
ても知られている内容アドレス可能記憶装置(CAM)
によって表現される。これらの記憶装置は、それらが、
このキーによって連想される全ての情報を見つけるため
に入力ワード(キーワード)を利用するので、これらの
記憶装置はラベル付けされた内容か又は駆動データであ
る。一般に、キーワードの入力の結果は、いくつかの記
憶されたワードの整合又は一致の表示である。整合又は
一致の表示は、引き続く動作のために使用される整合ラ
インの活動化として現れる。
【0005】内容アドレス可能記憶装置は、全ての格納
されたワードがキーワードと同時に比較される並列モー
ドにおけるキーワードの後で探索を実行するのを許容す
る。従って、CAMの使用は、(純数値を除く)多くの
アプリケーションにおいて速度における有効利得を提供
するが、一方では1ビットに付いてより高いコストが支
払われなければならない。
【0006】CAMの特別な実現は機能メモリ(FM)
として知られている。機能メモリは、格納されたワード
の単一ビットを、整合又は一致機能とは関係のない“do
n't-care(無関係)”状態へセットすることを可能とす
る。従って、FM内に格納されたワードのビットは、論
理値0及び1の他に第3の状態を取ることができる。従
来のFMデザインにおいて、無関係状態は、例えば、い
くらかのビットへのアクセスを遮断するフリップ−フロ
ップを使用することによって実現される。
【0007】整合ラインが、任意の引き続く装置に直接
アドレスしないようにデザインされている場合は、優先
順位エンコーダがしばしば複数の整合を引き続き処理す
る。これは、整合を優先順位スキームに従うシーケンス
へ順序付けることによって行なわれる。
【0008】CAMは、情報ネットワーク内にプロトコ
ル処理ユニットを含むアプリケーションの多くのフィー
ルドを見つけ出した。各フィールド内では、データのパ
ケットがCAMに対するキーワードとして使用されるア
ドレスを含んでいる。次いで、CAMは、データが指定
されるアドレスを表示する。他のアプリケーションは、
全てのユニットに対して共通の記憶装置とプロセッサへ
のアクセスを管理するために並列処理で見つけ出され
る。アプリケーションのさらなるフィールドは、データ
又はデマンド駆動コンピュータアーキテクチュア、及び
データベースへのアクセスを処理するために特別にデザ
インされたデータベースエンジンである。
【0009】CAMは上記に述べられている利点を有し
ているので、実現の多数の方法が提案されてきた。通
常、半導体デバイスによるCAM実現は、結果的に、ス
タンダートRAMデバイスと比較すると、一ビット当り
より多数のトランジスタと、より多数のピンとを生じる
特別のチップデザインを必要とする。このアプローチの
進んだ例は、ヨーロッパ特許第 0183885号に記述されて
いる。しかしながら、多くの場合、CAMの特別のデザ
インは、そうでなければプログラマブルゲートアレイの
ような他の従来の技術によってデザインされた回路にお
ける使用を阻止する。
【0010】本発明の技術分野により近い定義が、従来
のランダムアクセスメモリを用いてCAMを実現しよう
とする努力によって提供される。これらの方法とその結
果として生成された装置の実施例は、それぞれ、ヨーロ
ッパ特許第 0228917号、第 0459703号、或いは国際出願
(PCT)特許第90/04849号に開示されている。これら
の公知の技術の基底にある原理は、キーワードと格納さ
れたデータのシーケンシャルな比較である。しかしなが
ら、シーケンシャルな比較は、内容アドレス可能記憶装
置の主な利点である探索速度を低下させる。従って、本
発明は、格納されたワードとキーワードのシーケンシャ
ルな比較を利用しないが、その代わり、該当する宛先
が、キーワードの少なくとも一部によって格納されるメ
モリ位置を直接アドレスすることに基づいている。この
技術は、アイトリプルイーのINFOCOM (1991年)におい
て、例えば、T.B. PEI等による例に対して記述されてお
り、1991年の「アイトリプルイーのコンピュータと通信
社会」の第10回の共同年会議の議事録NO.0515-0524は、
キーワードの幅が小さい場合に限りその速度及び単純性
により好適である。現在のアプリケーションは16ビッ
ト及びそれ以上のデータ幅を有するキーワードをしばし
ば要求するので、この単純なアプローチはもはや実行不
可能である。
【0011】
【発明が解決しようとする課題】それゆえ、本発明の目
的は、RAMによってCAM(内容アドレス可能記憶装
置)を実現するための方法を提供することにある。とり
わけ、高速探索スピードを有するCAMの実現を導入
し、かつ公知のアプローチのアドレス空間に対する制限
を克服することを目的とする。
【0012】
【課題を解決するための手段】本発明による入力ワード
サイズ又はWビットのキーワード幅、及びN個の出力ラ
インによって内容アドレス可能記憶装置を実現するため
に、キーワードのm個の部分集合が、m個のランダムア
クセスメモリ(RAM)にアドレスするために使用され
る。キーワードの部分集合は、好ましくはW/mビット
幅を有する。各RAMは、従来のCAMのN個の出力ラ
インに対応するNビットの出力データ幅を有する。RA
Mは、静的(SRAM)又は動的(DRAM)タイプの
いづれであってもよい。ビデオRAMなどのDRAM
は、一メモリセル当りより少数のトランジスタで済むと
いう利点を有し、かつ生産コストが最重要であると考え
られた場合、新しい実現と共に使用されるのは好まし
い。一方、SRAMの使用は、より高速の演算速度とい
う利点を提供する。アドレスされた後、これらのRAM
は、アドレスされた位置に格納されたデータを出力ライ
ンと接続させる。m個の出力データは、一つの出力のi
番目のビットが、iが0乃至N−1であるすべての他の
出力のi番目のビットと論理積演算されるブール論理積
(AND)演算を受ける。この演算は、ビット単位(ビ
ットワイズ)のANDとして短縮表示される。記述され
ている演算を実行するための装置は(ビット単位におけ
る)ANDゲートとして知られている。ビット単位のA
ND演算によって、m個の出力の全てのビットiが1を
示す場合に限り、ビットiとして論理値1を有するNビ
ット幅のワードが生じることになる。m個のRAM内に
格納されたデータは、本明細書中の始めに述べられたよ
うに、公知のCAMの作動原理に対応する適用されたキ
ーワードに割り当てられる出力ラインに1が現れること
を確実とする。格納されたデータの一部分にすぎない
が、AND演算の出力内の1が、正規のCAMが作動す
る方法と区別することができない整合ラインを活動化さ
せる。出力ワードが、CAMの複数の整合と対応してい
る1を超える数を含む場合、整合ラインは、優先順位エ
ンコーダへ送られ得る。優先順位エンコーダスキーム
は、本発明の技術における当業者に公知である。短縮化
のため、本発明による新しい実現はRCAMとして定義
される。
【0013】従って、あるキーワードを適用する時にビ
ットiにおいて整合を発生するためには、キーワードの
m個の部分集合によってアドレスされたm個のメモリ位
置の各ビットiにおける1が事前に格納されなければな
らない。RCAMによって管理されるべきワードスペー
ス、即ちm個のRAM内に格納されたデータが、アプリ
ケーションの間不変のままであれば、あらゆるROMの
異種(EPROM、EEROM等)におけるリードオン
リーメモリ(ROM)を使用することが実行可能であ
る。メモリユニット(記憶装置)という用語はこれら両
タイプのメモリを含む。
【0014】しかしながら、本発明の好ましい実施例
は、RCAMのワードスペースのフレキシブルな管理を
許容する。即ち、入力キーワードが出力においてライン
iとの整合を提供することを確実とするため、このキー
ワードは、RAMのアドレス入力に適用され、次いでi
番目のビットとして1を有するNビットデータワードが
各RAM内に格納される。ビットの設定は、前もって格
納されたデータが、読み取られ、次いで例えば、1にセ
ットされたi番目のビットのみを有する他のデータワー
ドとOR(論理和)演算により接続されることによって
適切に更新される「読み取り−変更−書き込み(read-m
odify-write )」サイクルにおいて実行され得る。より
好ましい方法は、実現のためにビットアドレス可能RA
Mを使用することである。例えば、J. Petrovick Jr.等
によって発表されたISSCC'90,88-89の“A 300K-Circuit
ASIC Logic Family”(1990年)の議事録に記述されて
いる技術に基づく成長可能な公知のビットアドレス可能
記憶装置とレジスタが、有利に適用される。上記に説明
されている書き込み手続きは、ゼロだけを含む空RAM
に対してだけ使用される。格納されたデータに変更を導
入するためには、手続きが変更されなければならない。
ラインiでの整合に導かれるキーワードを変更するため
には、まず最初に、古いキーワードがアドレス入力に適
用され、次いでi番目のビットはクリアされなければな
らない。このビットがクリアされた時、新しいキーワー
ドが上記と同様に適用され得る。本発明の実施例は、キ
ーワードとビットが整合するキーワードとビットの位置
に対する記憶装置として働くメモリ(制御RAM)のア
プリケーションを含む。好ましい方法は、対応する整合
ライン・インデックスiによってアドレスされた制御R
AMのメモリ位置においてキーワードを格納することに
ある。本発明のこの実施例を用いることによって、新し
いキーワードが古い整合アドレスに適用されることがで
き、かつその逆も可能であり、これによって新しい方法
のより広範な適用性を生じることができる。
【0015】本発明の他の好ましい実施例は、機能メモ
リ(FM)の実現である。上記のように、機能メモリと
は、格納されたワードのビットが三つの状態の内の一つ
の状態に置かれ得る基本的CAMである。最初の二つの
状態は、入力キーとの整合のための1と0であり、そし
て第3の状態は、前記ビットが整合プロセスにおいて無
視されることを表示する“don't care(無関係)”であ
る。
【0016】本発明によれば、無関係ビットは、RCA
Mについて上記に述べられているように、ビットト設定
手続きの拡張(エクステンション)によって実現され
る。キーワードのk番目のビットとは無関係に、あるラ
インmi を活動化させるため、ワードスペースの書き込
みの間、キーのk番目のビットは、1へ一回、0へ一回
セットされる。これによって、RAMの内の一つに対し
て二つの異なるアドレスを発生する。両方のメモリ位置
において、i番目のビットは1にセットされる。従っ
て、FMの動作の間、i番目のビット又は整合ラインm
i における整合は、入力キーワードのk番目のビットと
は無関係に成立する。一般に、この実現は、1ワード内
のn個の無関係ビットに対して2n の格納又は書き込み
動作を必要とする。格納されたワードの変更を制御する
ことによって、三つの可能性のある状態に適応するワー
ドの1ビットを格納するために、二つのビットが必要と
される。それゆえ、制御RAMには、Nビットのワード
幅によってFMを制御するために、2Nのワード幅が設
けられる。制御RAMは、ワードスペースの変更が特定
の実現において全く処理される必要がない場合は余分と
なる。この場合において、事前に計算された内容をRA
Mへロードすることによって書き込み手続きは短縮され
得る。
【0017】新しい実現は、キーワードの部分集合とは
接続されてないRAMの追加の分離制御可能なアドレス
ラインを使用することによって、格納されたワードの数
を増加することを有利に許容する。例えば、連想読み取
りのスタートの間、追加のアドレスラインはゼロにセッ
トされる。整合が見つけからなかった場合は、追加のア
ドレスがインクリメントされ、かつ整合手続きが反復さ
れる。整合とたまたま出会った時や全てのアドレスライ
ンが1にセットされた時には探索は停止される。引き続
く装置によって複数の整合が許容された場合は、後者の
条件も有効である。n個の追加のアドレスラインを使用
することによって、RCAM内に格納されたワードの数
はファクタ2n だけ増加される。
【0018】RAMの追加のアドレスラインは、入力キ
ーワードに対するマスクの実現としても働く。このよう
なマスクは、FM(機能メモリ)とは対照的な整合プロ
セス全体におけるキーワードのいくらかのビットを抑圧
するため、公知のCAMにおいて使用される。本発明に
よるこのようなマスクを実現するために、追加のアドレ
スラインはあらゆるアドレスラインに対して使用され、
各アドレスラインは、キーワードをRAMと接続させ
る。適切な書き込み手続きを用いて、追加のアドレスラ
インによりアドレスされたワードスペースは、1が完全
にロードされた場合、キーボードのビットは、キーワー
ドと接続されたアドレスラインからその片方のアドレス
ラインへ切り換えることによってマスキングされ得る。
【0019】本発明の他の好ましい実施例は、追加の分
離制御可能なアドレスラインとレジスタを使用すること
によって、ワード幅、即ち一キーワード当りのビット数
を増加することを許容する。この実施例は、全体ではな
くシーケンシャルブロックにおいてキーワードがRCA
Mへ送られた時に明確な利点を示す。
【0020】キーワードの第1の部分又はブロックの入
力によって、上記の同様に出力にNビットワードを生じ
ることになる。しかし、Nビットワードは、出力ライン
へ向けられる代わりに前記レジスタ内に格納される。次
のサイクルにおいては、追加アドレスが1つ増え、キー
ワードの引き続くブロックはRCAMの入力に接続され
る。これによって生じるNビットのデータ出力は、レジ
スタ内に事前に格納されたワードとビット単位で論理積
(AND)演算される。この演算結果は再びレジスタへ
クロックされる。この手続きは、キーワードの最新ブロ
ックがRCAMへ適用されるまで反復される。この最新
サイクルにおいては、最終的に、出力ワードが整合ライ
ンに現れている。従って、出力のi番目のビットにおけ
る1は、レジスタ内に中間的に格納された全ての先行出
力のi番目のビットにおいて1を表わす。レジスタ内に
格納されたデータをコンスタントにフィードバックする
ことは有利であるが、装置を動作する前にレジスタの全
てのビットを1にセットすることが必要となる。
【0021】記述されている全ての実施例の組合せが容
易に実現され得ることは当業者にとって明確であろう。
【0022】本発明の一つの態様は、入力ラインのセッ
トに適用されるWビット幅のキーワードとN個の可能性
のある整合ラインのセットのための前記キーワードによ
ってアドレス可能なランダムアクセスメモリ(RAM)
を有する内容アドレス可能記憶装置(CAM)であっ
て、前記RAMは、各々がNビット幅の出力を有するm
個の個別アドレス可能なメモリユニットからなり、前記
m個のメモリユニットのアドレスラインが前記キーワー
ドに対する入力ラインの部分集合と接続されており、か
つ前記m個のメモリユニットの出力がビット単位の論理
積演算を実行するゲートと接続されており、前記論理積
演算の出力が前記N個の可能性のある整合ラインの部分
集合を活動化するために動作することよりなる内容アド
レス可能記憶装置である。
【0023】本発明の他の態様は、Wビット幅のキーワ
ード及びN個の可能性のある整合ラインのセットのため
の内容アドレス可能記憶装置を動作するための方法であ
って、前記内容アドレス可能記憶装置がm個の個別アド
レス可能メモリユニットと前記m個のメモリユニットの
データ出力とビット単位で論理積演算するゲートとを備
えており、前記m個のメモリユニットがアドレッシング
キーワードへ割り当てられた整合ラインによって決定さ
れる位置において1をロードされ、前記キーワードがm
個のサブワードに分割され、各前記サブワードが前記m
個のメモリユニットにアドレスするために使用され、か
つ前記m個のメモリユニットのデータ出力がビット単位
で論理積演算され、この演算結果により、適用されたキ
ーワードに割り当てられた整合ラインを活動化するため
に使用されるNビット出力ワードが生じることよりなる
内容アドレス可能記憶装置動作方法である。
【0024】
【実施例】本発明は、以下において、図面と従来の技術
に関して詳細に述べられている。図示されているランダ
ムアクセスメモリ(RAM)のメモリ位置のアドレス
は、上からカウントされた時の行数に対応している。複
数のビッドアドレス可能なRAMが全体を通して使用さ
れている。
【0025】CAM(内容アドレス可能記憶装置)の公
知の概念が図1において示されている。キーワードは、
メモリ位置(行)で整合に出会った時、整合ラインを活
動化させるCAMへ送られる。活動化は、通常は、1を
装置の特定出力ラインへ適用することからなる。キー及
び記憶されたデータは、記述されている実施例に対して
はWが6であるWビットの幅を有している。整合ライン
0 乃至mN-1 の数はNである。000110は1行目で記憶
されると仮定される。これによって、000110のキー入力
がラインm1 の活動化を生じることになる。
【0026】本発明(図2)によるこのようなCAMの
実現(インプリメンテーション)は、4×Nビットの能
力を有する三つの公知のビットアドレス可能なRAMを
使用することに基づいている。これによって、Nビット
幅の四つのワードは格納され得る。以下においては、ワ
ードと行がシノニム(同義語)として使用されている。
追加のアドレス及び制御ラインは簡単化のために省略さ
れている。
【0027】RAMにおいて、ワードは、第1のRAM
の1行目で1が生じ、第2のRAMの2行目で1が生
じ、かつ第3のRAMの3行目で1が生じるように格納
される。キーワードは、キーワード入力ラインの適切な
分割によって、2ビットの三つの部分集合に分割され
る。これらの部分集合は、特定メモリの四つの行に潜在
的にアドレスするRAMのアドレスラインに適用され
る。アドレスされたデータは三つのRAMの出力ライン
それぞれに適用される。出力データの三つのセット(集
合)は、引き続くゲートとビット単位で論理積(AN
D)演算される。これにより、論理積演算は、(先行R
AMの出力である)全ての入力データセットもやはり1
を示すビット位置において1を有するNビットのワード
を生じる。
【0028】実施例において、キーワード000110はRC
AMに適用される。キーワードの部分集合はそれぞれ0
0、01、及び10である。図2においては、分割されたデ
ータラインがこれらの部分集合によって示されている。
キーワードの第1の部分集合は第1のRAMの1行目に
アドレスするので、1はデータ出力の第2のビットとし
て出てくる。同じことが01及び10によってそれぞれアド
レスされた第2及び第3のRAMに適用される。引き続
くAND演算は、所望されるように、整合ラインm1
活動化に対応する第2ビットとして1を有するNビット
ワードを生じる。
【0029】本発明の第2の実施例(図3)において
は、RCAMが、RAM内に格納されたデータを変更
し、これによって整合ラインを変更するために拡張され
ている。エクステンション(拡張)は、本質的に、制御
RAMとして作動する第4のRAMからなる。この制御
RAMは、この整合ラインと対応しているアドレスにお
いてある整合ラインへキーワードを格納する。行数及び
格納されたキーワードは、これら三つのRAM内にビッ
トをセットするために使用される。整合ラインm1を活
動化させるキーワードを6(バイナリ:000111)から3
5(バイナリ:100011)へ変更するために、整合ライン
番号(1)は制御RAMにアドレスするために使用さ
れ、制御RAMは、次いで古いキーワード(000110)を
出力する。このワードは、マルチプレクサ(MUX)を
介して三つのRAMのアドレス入力へ送られる。MUX
は、制御RAMから入力されるデータと、通常の動作中
に適用されるキーワードとの間のスイッチとして作用す
る。全ての三つのRAMの出力は論理ユニット(図示さ
れていない)と接続され、論理ユニットは各出力の第2
のビットをクリアし、その残りのビットを復元する。引
き続くステップにおいては、100011が三つのRAMにア
ドレスするために使用され、各出力データの第2のビッ
トが1に更新され、かつ上記と同様に復元される。図3
は、古い状態と新しい状態におけるメモリを示してお
り、後者(新しい状態)は括弧(ブラケット)によって
示されている。新しいデータを格納した後で、キーワー
ドとして適用された100011は、整合ラインm1 を活動化
させる。
【0030】本発明の第3の実施例においては、Nビッ
トのレジスタがRCAMに加えされ、その内容がAND
(論理積)ユニットへフィードバックされる(図4)。
最初に、レジスタの全てのビットは1にセットされる。
図4は、使用されているRAMに追加されるアドレスラ
インを示している。このアドレスラインにおける1に相
対する位置において格納されるデータは、括弧で括られ
る。従って、図示されているRAMは二つのRAMの位
置を示している。一つは、括弧内のデータが格納される
RAM位置であり、他の一つは、括弧で括られていない
データが格納されるRAM位置である。12ビットのキ
ーワード(000110110011)は、6ビットずつ引き続く部
分において変更されたRCAMと接続される。キーワー
ドの第2の部分は括弧内にセットされる。0によって追
加的にアドレスされるRAMからの第1の出力は、第2
ビットとして1を有する。レジスタの内容とのビット単
位のAND演算によって、そのレジスタの内容が全ての
ビット位置において1によって事前ロードされたので変
更には導かれない。第2のビットとして1だけを有する
Nビット出力はレジスタ内に格納され、引き続いて第2
の半キーワードがRAMへアドレスする。これと同時
に、追加のアドレスラインが1にスイッチされて、括弧
内のメモリ内容へアクセスする。再び、全ての三つの出
力の第2のビットにおいて1が生じる。レジスタの内容
とのビット単位による論理積演算によって、レジスタが
その事前ローディングから第2のビットとして1を得た
時には何も変更されない。この後で、出力は、m1 を活
動化する整合ラインと接続される。
【0031】第4の実施例(図5)においては、機能メ
モリ(FM)として「実現」が用いられている。上記の
ように、FMは基本的にCAMであって、CAMはワー
ドスペース内の単一ビットを無関心(don't-care)状態
にセットするのを許容する。図1に関しては、m1 に導
かれる格納されたワード000110の第2ビットが無関心状
態にセットされなければならない、即ちラインm1 はキ
ーワードの第2ビットとは関係なく活動化されると仮定
される。つまり、m1 における整合ラインの両端に0001
10又は010110を適用することである。
【0032】機能メモリ装置を実現するために、図2に
示されている基本的構造は、メモリのワードスペースへ
書き込むことの変更と共に用いられる。最初に、アドレ
ッシング・キー010110が適用され、第1メモリの第2ワ
ード(2行目)の第2ビットが1にセットされる。第2
の書き込みステップにおいて、メモリは000110によって
アドレスされ、第1メモリの第1ワード(1行目)の第
2ビットが1にセットされる。他のメモリへの書き込み
は、上記のように、本発明の最初の二つの実施例よると
変化しない。演算において、ビット構造0x0110
(x=0,1)のいづれのキーワードも整合ラインm1
を活動化させる。即ち、この特別の実現は機能メモリと
して動作する。
【0033】
【発明の効果】高速探索スピードを有するCAM(内容
アドレス可能記憶装置)の実現を導入し、かつ公知のア
プローチのアドレス空間への制限を克服するために、R
AMによる内容アドレス可能記憶装置方法を提供する。
【図面の簡単な説明】
【図1】CAMの動作原理を示す図である。
【図2】本発明によるCAMの実現の基本要素とそれら
を用いたデータフローを示す図である。
【図3】追加の制御RAMの使用を示す図である。
【図4】キーワードの有効ビットサイズを大きくするた
めのレジスタの使用を示す図である。
【図5】機能的メモリの実施例を示す図である。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 入力ラインのセットに適用されるWビッ
    ト幅のキーワードとN個の可能性のある整合ラインのセ
    ットのための前記キーワードによってアドレス可能なラ
    ンダムアクセスメモリ(RAM)を有する内容アドレス
    可能記憶装置(CAM)であって、 前記RAMは、各々がNビット幅の出力を有するm個の
    個別アドレス可能なメモリユニットからなり、前記m個
    のメモリユニットのアドレスラインが前記キーワードに
    対する入力ラインの部分集合と接続されており、かつ前
    記m個のメモリユニットの出力がビット単位の論理積演
    算を実行するゲートと接続されており、前記論理積演算
    の出力が前記N個の可能性のある整合ラインの部分集合
    を活動化するために動作することよりなる内容アドレス
    可能記憶装置。
  2. 【請求項2】 前記キーワードによってアドレスされた
    整合ラインの部分集合に相関するキーワードと情報を格
    納するために、前記m個のメモリユニットのアドレスラ
    インと接続される制御RAMをさらに備える請求項1に
    記載の内容アドレス可能記憶装置。
  3. 【請求項3】 前記論理積ゲートへのフィードバックル
    ープによって接続されたレジスタをさらに備える請求項
    1又は2に記載の内容アドレス可能記憶装置。
  4. 【請求項4】 機能メモリとして前記内容アドレス記録
    装置を使用することよりなる請求項1乃至3のいづれか
    一項に記載の内容アドレス可能記憶装置。
  5. 【請求項5】 Wビット幅のキーワード及びN個の可能
    性のある整合ラインのセットのための内容アドレス可能
    記憶装置を動作するための方法であって、 前記内容アドレス可能記憶装置がm個の個別アドレス可
    能メモリユニットと前記m個のメモリユニットのデータ
    出力とビット単位で論理積演算するゲートとを備えてお
    り、 前記m個のメモリユニットがアドレッシングキーワード
    へ割り当てられた整合ラインによって決定される位置に
    おいて1をロードされ、前記キーワードがm個のサブワ
    ードに分割され、各前記サブワードが前記m個のメモリ
    ユニットにアドレスするために使用され、かつ前記m個
    のメモリユニットのデータ出力がビット単位で論理積演
    算され、この演算結果により、適用されたキーワードに
    割り当てられた整合ラインを活動化するために使用され
    るNビット出力ワードが生じることよりなる内容アドレ
    ス可能記憶装置動作方法。
  6. 【請求項6】 整合ラインを活動化するキーワードは、
    アドレスが前記整合ラインと相関している位置において
    制御RAM内に格納され、かつ前記制御RAMが、ある
    キーワードへ割り当てられた整合ライン及びある整合ラ
    インを活動化させるキーワードの内の一方を変更するた
    めに、前記m個のメモリユニット内に格納されたデータ
    にアドレスするために使用されることよりなる請求項5
    に記載の方法。
  7. 【請求項7】 前記m個のメモリユニットの内の少なく
    とも一つの格納サイズが、入力キーワードのサブワード
    とは接続されてないアドレスラインを介して前記メモリ
    ユニットに追加的にアドレスすることによって増加する
    ことよりなる請求項5又は6に記載の方法。
  8. 【請求項8】 入力キーワードの許容できるビット幅
    が、前記入力キーワードをWビット幅の部分へ分割し、
    前記部分を部分キーワードとしてシーケンシャルに適用
    し、これにより前記m個のメモリユニットのシーケンシ
    ャルなNビット幅の出力を生じ、単一部分キーワードに
    よってアドレスされたm個のNビット幅の出力をビット
    単位で論理積演算し、前記ビット単位で論理積演算の結
    果を中間レジスタ内に格納し、前記レジスタの内容を論
    理積ゲートへフィードバックし、次いで前記内容を、前
    記入力キーワードの最新部分が適用されるまで引き続く
    m個のNビット幅の出力と論理積演算し、かつ前記入力
    キーワードに割り当てられた整合ラインを活動化するた
    めに最新の論理積演算の結果を使用することによって増
    加されることよりなる請求項5乃至7のいづれか一項に
    記載の方法。
  9. 【請求項9】 機能メモリとして前記内容アドレス可能
    記憶装置を動作する請求項5乃至8にいづれか一項に記
    載の方法。
JP5274683A 1992-12-04 1993-11-02 内容アドレス可能記憶装置及びその動作方法 Pending JPH06203581A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CH92810952/9 1992-12-04
EP92810952A EP0600139A1 (en) 1992-12-04 1992-12-04 Content addressable memory implementation with Random Access Memory

Publications (1)

Publication Number Publication Date
JPH06203581A true JPH06203581A (ja) 1994-07-22

Family

ID=8212044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5274683A Pending JPH06203581A (ja) 1992-12-04 1993-11-02 内容アドレス可能記憶装置及びその動作方法

Country Status (2)

Country Link
EP (1) EP0600139A1 (ja)
JP (1) JPH06203581A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61104496A (ja) * 1984-10-26 1986-05-22 Nec Corp 連想記憶装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4758982A (en) * 1986-01-08 1988-07-19 Advanced Micro Devices, Inc. Quasi content addressable memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61104496A (ja) * 1984-10-26 1986-05-22 Nec Corp 連想記憶装置

Also Published As

Publication number Publication date
EP0600139A1 (en) 1994-06-08

Similar Documents

Publication Publication Date Title
US5450351A (en) Content addressable memory implementation with random access memory
EP0263924B1 (en) On-chip bit reordering structure
US6876559B1 (en) Block-writable content addressable memory device
US7124268B2 (en) Sorting method and apparatus using a CAM
US7213101B1 (en) Classless interdomain routing using binary content addressable memory having mask bits and mask valid bits
US5694406A (en) Parallel associative processor formed from modified dram
US6768659B2 (en) Circuit and method for reducing power usage in a content addressable memory
US6502163B1 (en) Method and apparatus for ordering entries in a ternary content addressable memory
US4622653A (en) Block associative memory
US6646900B2 (en) Ternary content addressable memory with data and mask data settable therewithin by one write cycle
US6266262B1 (en) Enhanced binary content addressable memory for longest prefix address matching
US9076527B2 (en) Charge sharing in a TCAM array
US7382637B1 (en) Block-writable content addressable memory device
US20040022082A1 (en) Content addressable memory with cascaded array
JPH11273365A (ja) 内容呼出し可能メモリ(cam)
JP3599273B2 (ja) 内容参照可能メモリの改良
US7120731B1 (en) CAM-based search engines that support pipelined multi-database search operations using replacement search key segments
US11886746B1 (en) Algorithmic TCAM with storage activity-based read
USRE42684E1 (en) Word search in content addressable memory
US6393515B1 (en) Multi-stream associative memory architecture for computer telephony
US7228378B1 (en) Entry location in a content addressable memory
US7260675B1 (en) CAM-based search engines that support pipelined multi-database search operations using encoded multi-database identifiers
US7136960B2 (en) Hardware hashing of an input of a content addressable memory (CAM) to emulate a wider CAM
US3771139A (en) Associative memory method of performing simultaneous content searches
JPH0438014B2 (ja)