"コンテントアドレサブルメモリであって、各クロックサイクルで検索動作を実行するための検索ポートと、前記コンテントアドレサブルメモリのアドレス位置でデータの書き込みおよび読み出しをするためのメンテナンスポートと、前記検索ポートから前記メンテナンスポートに伝送されるインターロック信号であって、前記コンテントアドレサブルメモリに対してデータの書き込みおよび読み出しを実行すべき時を設定することにより、前記検索動作が中断することなく各クロックサイクルで継続するようにする、前記インターロック信号と、を備えるコンテントアドレサブルメモリ。請求項1記載のコンテントアドレサブルメモリであって、前記インターロック信号は、検索動作の終了時、および、検索プリチャージ動作とリカバリフェイズの一方の開始時に伝送される、コンテントアドレサブルメモリ。請求項2記載のコンテントアドレサブルメモリであって、前記メンテナンスポートは、クロックサイクルの開始時に書き込み動作をセットアップし、前記検索動作の終了時および前記検索プリチャージ動作の開始時に前記書き込み動作を実行するように構成されている、コンテントアドレサブルメモリ。請求項2記載のコンテントアドレサブルメモリであって、前記メンテナンスポートは、読み出し動作の第1のサイクル期間中にデータのアドレスにアクセスし、前記読み出し動作の第2のサイクル期間中に前記アドレスにおける前記データをセンスおよびラッチするように構成されている、コンテントアドレサブルメモリ。請求項4記載のコンテントアドレサブルメモリであって、検索動作は、前記第1の読み出しサイクルおよび前記第2の読み出しサイクルの双方の期間中に、前記検索ポートによって実行される、コンテントアドレサブルメモリ。請求項1記載のコンテントアドレサブルメモリであって、前記コンテントアドレサブルメモリは、少なくとも1つのマクロを備え、前記少なくとも1つのマクロは、複数のコアを備え、各コアは、前記メンテナンスポートと前記検索ポートと前記インターロック信号とを備える、コンテントアドレサブルメモリ。請求項6記載のコンテントアドレサブルメモリであって、各コアは、複数ワードの列を備え、各ワードは、1つの有効ビットを備える、コンテントアドレサブルメモリ。請求項6記載のコンテントアドレサブルメモリであって、各コアは、行デコーダと優先順位エンコーダとを備える、コンテントアドレサブルメモリ。請求項1記載のコンテントアドレサブルメモリであって、前記検索ポートと前記メンテナンスポートは、複数のサブブロックに対応し、各サブブロックは、メモリアレイからなるワードの列を定義しており、前記メンテナンスポートは、複数のサブブロック制御SBCユニットを備え、前記各SBCユニットは、前記検索ポートから前記インターロック信号を受け取って、Zデコード信号Zlを生成するように構成されており、前記Zデコード信号Zlは、前記複数のサブブロックのうちの選択された1つのサブブロックのローカルワード線を活性化するように構成されている、コンテントアドレサブルメモリ。請求項9記載のコンテントアドレサブルメモリであって、前記各SBCユニットは、さらに、センスアンプ制御信号と、書き込みドライバ制御信号と、プリチャージ制御信号と、を生成するように構成されている、コンテントアドレサブルメモリ。請求項9記載のコンテントアドレサブルメモリであって、前記各SBCユニットは、クロック調停ユニットを備え、前記クロック調停ユニットは、前記検索ポートから前記インターロック信号を直接受け取り、また、マスタクロック信号を受け取るように構成されており、前記クロック調停ユニットは、サブブロックZバッファおよびローカル制御クロックジェネレータに伝送されるローカル制御クロックを生成するように構成されている、コンテントアドレサブルメモリ。請求項11記載のコンテントアドレサブルメモリであって、前記ローカル制御クロックジェネレータは、少なくとも、プリチャージクロックと、書き込みクロックと、センスクロックとを、生成するように構成されている、コンテントアドレサブルメモリ。請求項11記載のコンテントアドレサブルメモリであって、前記Zデコード信号Zlは、前記SBCユニットの前記サブブロックZバッファから出力される、コンテントアドレサブルメモリ。請求項9記載のコンテントアドレサブルメモリであって、前記メンテナンスポートは、さらに、グローバル制御リセット信号と、グローバル制御読み出し信号と、グローバル制御書き込み信号と、サブブロックアドレッシングとを、前記各SBCユニットに伝送するように構成されている、グローバルメンテナンス制御を備える、コンテントアドレサブルメモリ。請求項14記載のコンテントアドレサブルメモリであって、前記グローバルメンテナンス制御は、前記検索ポートが動作しない場合に、検索をシミュレートするための検索シミュレータと、クロックイネーブル論理と、クロックバッファと、制御回路と、を備えており、前記制御回路は、読み出しデータと、書き込みデータと、読み出し有効と、書き込み有効と、リセットと、ビジー信号とを生成するように構成されている、コンテントアドレサブルメモリ。請求項15記載のコンテントアドレサブルメモリであって、前記クロックバッファは、マスタクロックと、データクロックと、有効ビットクロックと、を生成するように構成されており、前記マスタクロックは、各SBCユニット内のクロック調停ユニットに伝送される、コンテントアドレサブルメモリ。2ポートのコンテントアドレサブルメモリであって、メンテナンスポートと、検索ポートと、前記メンテナンスポートと前記検索ポートとの間に定義された複数のサブブロックメモリ列と、前記検索ポートから前記メンテナンスポートに伝送されるように構成されたインターロック信号であって、要求された検索動作の期間中に、前記検索ポートが各クロックサイクルで検索動作を実行するのを中断しないように、前記メンテナンスポートがデータの書き込みおよび読み出しを実行すべき時を合図する、前記インターロック信号と、を備える2ポートのコンテントアドレサブルメモリ。請求項17記載の2ポートのコンテントアドレサブルメモリであって、前記インターロック信号は、検索動作の終了時および検索プリチャージ動作の開始時に伝送される、2ポートのコンテントアドレサブルメモリ。請求項18記載の2ポートのコンテントアドレサブルメモリであって、前記メンテナンスポートは、クロックサイクルの開始時に書き込み動作をセットアップし、前記検索動作の終了時および前記検索プリチャージ動作の開始時に前記書き込み動作を実行するように構成されている、2ポートのコンテントアドレサブルメモリ。請求項18記載の2ポートのコンテントアドレサブルメモリであって、前記メンテナンスポートは、読み出し動作の第1のサイクル期間中にデータのアドレスにアクセスし、前記読み出し動作の第2のサイクル期間中に前記アドレスにおける前記データをセンスおよびラッチするように構成されている、2ポートのコンテントアドレサブルメモリ。請求項20記載の2ポートのコンテントアドレサブルメモリであって、検索動作は、前記第1の読み出しサイクルおよび前記第2の読み出しサイクルの双方の期間中に、前記検索ポートによって実行される、2ポートのコンテントアドレサブルメモリ。コンテントアドレサブルメモリであって、検索動作を実行するための検索ポートと、前記コンテントアドレサブルメモリのアドレス位置でデータの書き込みおよび読み出しをするためのメンテナンスポートと、前記検索ポートから前記メンテナンスポートに伝送されるインターロック信号であって、各クロックサイクルでトリガされ得る検索動作を中断しないように、コンテントアドレサブルメモリに対して前記データの書き込みおよび読み出しを実行すべき時を設定する、前記インターロック信号と、を備えるコンテントアドレサブルメモリ。請求項22記載のコンテントアドレサブルメモリであって、前記インターロック信号は、検索動作の終了時、および、検索プリチャージ動作とリカバリフェイズの一方の開始時に伝送される、コンテントアドレサブルメモリ。請求項23記載のコンテントアドレサブルメモリであって、前記メンテナンスポートは、クロックサイクルの開始時に書き込み動作をセットアップし、前記検索動作の終了時および前記検索プリチャージ動作の開始時に前記書き込み動作を実行するように構成されている、コンテントアドレサブルメモリ。請求項23記載のコンテントアドレサブルメモリであって、検索動作を実行するための前記検索ポートは、解除されるように構成されている、コンテントアドレサブルメモリ。コンテントアドレサブルメモリチップであって、Nコアよりなる第1のセットを備える第1のマクロと、Nコアよりなる第2のセットを備える第2のマクロと、前記Nコアよりなる第1のセットの第1の側に結合された第1のメンテナンスポートと、前記Nコアよりなる第2のセットの第1の側に結合された第2のメンテナンスポートと、前記Nコアよりなる第1のセットの第2の側に結合された第1の検索ポートと、前記Nコアよりなる第2のセットの第2の側に結合された第2の検索ポートと、前記Nコアよりなる第1のセットの各コアに1つずつ割り当てられるN個のインターロック信号よりなる第1のセットであって、前記第1の検索ポートから前記第1のメンテナンスポートに結合され、前記Nコアよりなる第1のセットのうちの選択されたコアに対して読み出しおよび書き込みを実行すべき時を合図し、前記読み出しおよび書き込みが、前記第1の検索ポートによる連続した検索を中断することなく実行されるように構成された、前記N個のインターロック信号よりなる第1のセットと、前記Nコアよりなる第2のセットの各コアに1つずつ割り当てられるN個のインターロック信号よりなる第2のセットであって、前記第2の検索ポートから前記第2のメンテナンスポートに結合され、前記Nコアよりなる第2のセットのうちの選択されたコアに対して読み出しおよび書き込みを実行すべき時を合図し、前記読み出しおよび書き込みが、前記第2の検索ポートによる連続した検索を中断することなく実行されるように構成された、前記N個のインターロック信号よりなる第2のセットと、を備えるコンテントアドレサブルメモリチップ。コンテントアドレサブルメモリチップであって、8コアよりなる第1のセットを備える第1のマクロと、8コアよりなる第2のセットを備える第2のマクロと、前記8コアよりなる第1のセットの第1の側に結合された第1のメンテナンスポートと、前記8コアよりなる第2のセットの第1の側に結合された第2のメンテナンスポートと、前記8コアよりなる第1のセットの第2の側に結合された第1の検索ポートと、前記8コアよりなる第2のセットの第2の側に結合された第2の検索ポートと、前記8コアよりなる第1のセットの各コアに1つずつ割り当てられる8個のインターロック信号よりなる第1のセットであって、前記第1の検索ポートから前記第1のメンテナンスポートに結合され、前記8コアよりなる第1のセットのうちの選択されたコアに対して読み出しおよび書き込みを実行すべき時を合図し、前記読み出しおよび書き込みが、前記第1の検索ポートによる連続した検索を中断することなく実行されるように構成された、前記8個のインターロック信号よりなる第1のセットと、前記8コアよりなる第2のセットの各コアに1つずつ割り当てられる8個のインターロック信号よりなる第2のセットであって、前記第2の検索ポートから前記第2のメンテナンスポートに結合され、前記8コアよりなる第2のセットのうちの選択されたコアに対して読み出しおよび書き込みを実行すべき時を合図し、前記読み出しおよび書き込みが、前記第2の検索ポートによる連続した検索を中断することなく実行されるように構成された、前記8個のインターロック信号よりなる第2のセットと、を備えるコンテントアドレサブルメモリチップ。従来のCAMは、より高速に検索を実行する能力に関しては増強されているが、従来のCAMでは、CAMメモリにおけるメンテナンス動作例えば、読み出しおよび書き込み動作を可能とするために、検索動作を停止させなければならない。その結果、最高速のCAMであっても、メンテナンス動作が完了するまでは、1つまたはそれ以上のサイクルに渡って検索動作を停止させる必要がある。以上から分かるように、メンテナンス動作を可能にすると同時に連続検索をも可能にすることにより、来たる検索に備えてCAMコアをセットアップすることができるようなCAM回路が必要とされている。本発明は、検索ポートとメンテナンスポートとが分離されたコンテントアドレサブルメモリCAMアーキテクチャを提供することにより、上記の必要を満たす。検索ポートは、中断されることなくサイクル毎に検索を実行するように構成されており、メンテナンスポートは、検索を中断することなくメンテナンス動作を実行するように構成されている。なお、本発明は、プロセス、装置、システム、デバイス、方法を含む種々の形態で実現可能である。以下では、本発明のいくつかの実施形態を説明する。一実施形態では、コンテントアドレサブルメモリCAMを開示する。CAMは、各クロックサイクルで検索動作を実行するための検索ポートと、コンテントアドレサブルメモリのアドレス位置でデータの書き込みおよび読み出しをするためのメンテナンスポートと、を備えている。また、インターロック信号が備えられており、検索ポートからメンテナンスポートに伝送されることにより、コンテントアドレサブルメモリに対してデータの書き込みおよび読み出しを実行すべき時を設定し、この結果、検索動作が中断することなく各クロックサイクルで継続する。インターロック信号は、検索動作の終了時および検索プリチャージ動作の開始時に伝送されることが好ましい。メンテナンスポートは、クロックサイクルの開始時に書き込み動作をセットアップし、検索動作の終了時および検索プリチャージまたはリカバリ動作の開始時に書き込み動作を実行するように構成されている。本実施形態の別の好ましい態様では、検索動作は、いつでも解除可能であり、この場合でも、要求された書き込みおよび読み出し動作を実行することができる。このため、検索動作は、読み出しまたは書き込み動作に影響されることなく、サイクル毎に動作を再開することができる。別の実施形態では、2ポートのコンテントアドレサブルメモリCAMを開示する。この2ポートのCAMは、メンテナンスポートと検索ポートとを備える。メンテナンスポートと検索ポートの間には、さらに、複数のサブクロックメモリ列が定義されている。また、インターロック信号が備えられており、検索ポートからメンテナンスポートに伝送することにより、要求された検索動作の期間中に、検索ポートが各クロックサイクルで検索動作を実行するのを中断しないように、メンテナンスポートがデータの書き込みおよび読み出しを実行すべき時を合図する。インターロック信号は、検索動作の終了時および検索プリチャージ動作の開始時に伝送されることが好ましい。別の好ましい特徴によれば、メンテナンスポートは、クロックサイクルの開始時に書き込み動作をセットアップし、検索動作の終了時および検索プリチャージ動作の開始時に書き込み動作を実行するように構成されている。さらに別の実施形態では、コンテントアドレサブルメモリチップを開示する。このチップは、a8コアよりなる第1のセットを備える第1のマクロと、b8コアよりなる第2のセットを備える第2のマクロと、c8コアよりなる第1のセットの第1の側に結合された第1のメンテナンスポートと、d8コアよりなる第2のセットの第1の側に結合された第2のメンテナンスポートと、e8コアよりなる第1のセットの第2の側に結合された第1の検索ポートと、f8コアよりなる第2のセットの第2の側に結合された第2の検索ポートと、g8個のインターロック信号よりなる第1のセットと、h8個のインターロック信号よりなる第2のセットと、を備えている。8コアよりなる第1のセットの各コアに、8個のインターロック信号よりなる第1のセットの信号が1個ずつ割り当てられる。8個のインターロック信号よりなる第1のセットは、第1の検索ポートから第1のメンテナンスポートに結合され、8コアよりなる第1のセットのうちの選択されたコアに対して読み出しおよび書き込みを実行すべき時を合図する。そして、読み出しおよび書き込みは、第1の検索ポートによる連続した検索を中断することなく実行されるように構成されている。同様にして、8コアよりなる第2のセットの各コアに、8個のインターロック信号よりなる第2のセットの信号が1個ずつ割り当てられる。8個のインターロック信号よりなる第2のセットは、第2の検索ポートから第2のメンテナンスポートに結合され、8コアよりなる第2のセットのうちの選択されたコアに対して読み出しおよび書き込みを実行すべき時を合図する。そして、読み出しおよび書き込みは、第2の検索ポートによる連続した検索を中断することなく実行されるように構成されている。さらに別の実施形態では、コンテントアドレサブルメモリを開示する。このコンテントアドレサブルメモリは、検索動作を実行するための検索ポートを備える。また、コンテントアドレサブルメモリのアドレス位置でデータの書き込みおよび読み出しをするためのメンテナンスポートも備えられている。インターロック信号は、検索ポートからメンテナンスポートに伝送されて、各クロックサイクルでトリガされ得る検索動作を中断しないように、コンテントアドレサブルメモリ対してデータの書き込みおよび読み出しを実行すべき時を設定するように構成されている。本発明の効果は多大である。最も注目に値するのは、本発明による検索ポートは、サイクル毎に連続して検索を実行するように構成され、メンテナンスポートは、検索動作を妨害することなく、書き込み、読み出し、リセット、およびその他のメンテナンス動作を実行するように構成されていることである。好ましい一実施形態では、検索ポートは、インターロック信号を伝送することにより、検索動作が完了した時を指示し、読み出しまたは書き込み動作を実行すべき時を指示する。メンテナンス動作は、検索動作のプリチャージ期間中に実行されることが好ましい。このように、メンテナンスポートが検索ポートからインターロック信号を受け取るにもかかわらず、メンテナンスポートと検索ポートは、互いに独立かつ平行して動作する。本発明の原理を例示した添付の図面と関連させた以下の詳細な説明から、本発明の他の効果が明らかとなる。本発明は、添付図面と関連させた詳細な説明から容易に理解できる。同様の符号は同様の構造エレメントを示している。CAM回路に関する発明を提供する。CAM回路は、要求されればクロックサイクル毎の高速検索の実行を可能とするとともに、メンテナンス動作例えば、書き込みおよび読み出しの実行を可能とする論理によって、最適化されている。メンテナンス動作は、検索ポートからの調整、例えば、タイミングインターロック信号によって実行され、検索速度を犠牲にしないようにすることが好ましい。CAM回路により提供される能率および情報によって、ネットワークやインターネット通信システムなどの検索依存の技術において、効率的なデータ処理が可能となる。以下の説明では、本発明の完全な理解を促すために多くの項目を特定している。しかしながら、当業者には理解できるように、本発明は、これらの項目の一部または全てを特定しなくても実行することができる。また、本発明を不必要に不明瞭とするのを避けるため、周知の処理動作の説明は省略する。図2は、2つのマクロ105a,105bを備えるCAMチップ100を、本発明の一実施形態に従って示す図である。他の実施形態では、チップは、アプリケーションに依存して、1つまたはそれ以上のマクロ105を備えていてもよい。図示するように、各マクロ105は、複数のコア104を備えており、各コア104には、関連のメンテナンスポートMP103と検索ポートSP102とが伴っている。この例では、CAM100は、それぞれ8つのコアを含むマクロ105を有している。各コアは、関連のMP103とSP102とを有する2ポートコアである。検索ポート102は、各コア104のメモリで検索を実行するための回路を組み込むように構成されており、メンテナンスポート103は、関連の各コア104に対して書き込み動作、読み出し動作、他のメンテナンス関連の動作を実行する際のアシストを行う。図3は、メンテナンスポート103aと検索ポート102bとが組み込まれた1つのコア104を示す図である。各コア104は、複数のサブブロック112を含んでいる。この例では、コア104は8つのサブブロック112を有しており、各サブブロック112は、32ビットのワードを保持できる幅を有し、512行の列を形成している。実際のワード幅およびサブブロックの行数は、必要なアプリケーションに応じて変化させればよい。また、コア104は、行デコーダ107と優先順位エンコーダPE106とを含んでいる。周知のように、優先順位エンコーダ106は、可能性がある複数のマッチングのうち、優先順位が最も高く、従って、検索されているデータのアドレスである見込みが最も高いマッチングを、優先するように構成されている。また、各ワード120は、実行される特定の検索に依存して、データを有効または無効にするのに用いられる、関連の有効ビット120aを有している。有効ビット120aの機能に関しては、図6Aおよび6Bと関連させて後で詳述する。メンテナンスポート103aは、サブブロック112から選択されたアドレスにおける読み出しおよび書き込みを可能にすることにより、続く検索動作に備えてメモリの内容を変更および更新するように構成されている。本発明の一実施形態では、検索ポート102bによって実行されている検索動作を、動作のクロックサイクル毎に連続して実行することができる。検索ポート102bは、メンテナンスポート103aにメンテナンス動作を実行させるため、インターロック信号114aをメンテナンスポート103aに供給するように構成されている。インターロック信号114aは、コア104の列に沿って延びる制御およびタイミング回路114によって与えられる。他の実施形態では、インターロック信号114aは、任意の経路を介して通信されることが可能である。すなわち、検索ポートからメンテナンスポートまで経路を、チップの外側で、同チップの他の回路またはブロックなどを介して通じさせることも可能である。このように、実際の経路は、その機能が達成されている限り重要でない。好ましい一実施形態において、メンテナンスポートの動作は、検索ポート102bの動作と独立して実行され、検索ポート102bによる検索が中断することなく継続するように調整されている。また、メンテナンスポート103aの動作は、検索動作と検索動作の間に実行される。メンテナンスポート103aには、インターロック信号114aによって、メンテナンスポートの動作を実行するのに適切な時間が通知される。例えば、メンテナンスポート103aによる書き込み動作が要求されている場合には、検索動作の開始時に、書き込み動作のセットアップを開始する。検索動作が時間切れになると、次の検索サイクルの開始前に書き込み動作を発生させる。メンテナンスポート103aは、選択されたサブブロック112において一度に1ワードのみを使用可能とするようなZデコーダを含むことが好ましい。これを達成するため、グローバルワード線とZデコーダとの間で論理ANDが実行される。Zデコードを実装することによって、読み出しまたは書き込み動作期間中に1ワードのみにアクセスすることができる。Zデコードの実装は、分割ワード線の実装とも呼ばれる。例えば、図4A-1は、メンテナンスポート103aの一部分と、サブブロック112の簡略化バージョンとを示す図である。各サブブロック112を横切るのはグローバルワード線GWLである。GWLは論理ANDゲート126に接続されており、このゲート126には、Zデコード線Zlも接続されている。ANDゲート126の出力は、各サブブロック112のためのローカルワード線128である。この実施形態において、サブブロックは、32ビットの幅であり、有効ビット120aを含んでいる。完全のため、各サブブロック112を縦断し、ローカルワード線128と結合される一対の代表的なビット線が描かれている。ANDゲート126は、複数のZデコード線Zlの間に接続された各ANDゲート126に供給される信号に依存して、1本のワード線128のみを活性化させるように構成されている。図7Dにおいてより詳細に示すように、Zデコード線Zlは、図7Cに示すような関連のサブブロック制御SBC354によって、各サブブロック112に個別に提供される。図中、検索ポート102bからインターロック信号114aを受け取る代表的なブロックZデコード124が示されている。ブロックZデコード124は、次の検索サイクルを妨げない正しいタイミングで正しいサブブロック112を選択することができ、また、正しい書き込みドライバ123を選択することもできる。図示するように、メンテナンスポート103a内には逆マルチプレクサ122が設けられており、個々のサブブロック112のビット線との間で通信するように構成されている。好ましい一実施形態では、メンテナンスポート103aが32個の逆マルチプレクサ122を備えることにより、サブブロック112の中から正しいビット線を適切に選択することができる。こうすれば、検索動作を妨げない適切な時に、ビット線上にデータを書き込むことが可能となる。これに対して従来の技術では、ビット線にデータを供給し、データが供給されたのとほぼ同時にワード線をオンする。データは、ビット線の差分が確立されると、選択位置に書き込まれる。本発明の一実施形態では、ビット線の差分は検索動作の期間に先立って確立されるので、ローカルワード線128が選択された後、従来技術の差分による遅延を生じることなく直ちに書き込みが発生する。こうすれば、次の検索を進めることが可能であり、データはセル内で既に確立されている。通常、検索ポート102bは、クロックサイクルの開始時に検索動作を実行し、続いて検索のプリチャージ動作を実行する。読み出しまたは書き込み動作は、検索プリチャージが発生している期間に実行することができる。このように、検索動作の進行中に、ビット線上にデータを与えることにより、検索の完了時に、読み出しまたは書き込み動作を実行することが可能となる。例えば、システムクロックが高位になると、新しい検索が開始され、ローカルワード線128がオフになる。したがって、検索動作はクロックサイクル毎に発生し、また、検索のプリチャージ中には書き込み動作を実行することができる。このように、インターロック信号114aによって、検索ポート102bとメンテナンスポート103aとの間の通信が確立される。図4A-2は、図4A-1に代わる実施形態を示す図であり、ここではブロックZデコード124にインターロック信号114aは伝送されない。代わりに、ANDゲート126にインターロック信号が伝送されて、タイミングが提供される。例えば、検索中にGWLおよびZlをそれぞれセットアップし、ANDゲート126にインターロック信号114aを供給することにより、検索中でない場合にのみWLを生成する。この代替の導入により、タイミングのマージンをさらに詰めることができる。図4B-1のフローチャート150は、検索ポートによる連続検索を妨げずに書き込み動作を完了させるために実行される動作を、より詳細に示すために提供される。このメソッドは、工程152において、システムクロックの立ち上がりエッジでメモリアレイへの書き込み動作を開始することからスタートする。これと同時に、検索動作もシステムクロックの立ち上がりエッジで開始する。次に、メソッドは工程152から工程154に進み、ここでは、現行の検索の進行中に、入力データとアドレッシング情報とが、メンテナンスポートと行デコーダとサブブロック書き込み制御とに供給される。例えば、システムクロックの立ち上がりエッジで、ビット線にデータを供給することにより、ワード線が選択されたときにビット線がデータを書き込めるようにする。サブブロック書き込み制御は、図4A-1のブロックZデコードを用いて、どのサブブロックがアドレッシングされるかを指示するように構成されている。したがって、検索が進行している間、データは、ワード線が選択されて書き込みを命じられるまで、ビット線上で待機する。工程156では、現行の検索が完了したか否かが決定される。検索が完了していなければ、検索が完了するまで書き込み動作が延期される。検索が完了するときとは、検索ポート102aからのインターロック信号114aを受け取ることを意味する。メソッドは、工程158に進む。ここでは、Zデコーダをイネーブルして、サブブロック内の選択ワードをアドレス情報の伝搬によって活性化させることにより、メモリアレイを通じたデータの流れを制御し、ローカルワード線を活性化させる。上記のように、適切なサブブロックを選択し、さらに書き込みのための適切なローカルワード線を選択するために、グローバルワード線GWLとZデコード線の間で論理AND動作が実行される。メソッドは、工程160に進み、差分による遅延を全く生じることなく、入力データを選択ワードに書き込む。工程162では、CAMメモリアレイのサブブロックでの書き込みがさらに要求されているか否かが決定される。要求されているならば、メソッドは再び工程152に戻り、システムクロックの立ち上がりエッジでメモリアレイへの別の書き込み動作が開始され、さらに次の検索も実行される。ここで重要なのは、メンテナンスポートによる書き込み動作が同時に発生したときでも、各サイクルに1回ずつの割合で、検索動作が独立して発生するという点である。このため、検索ポートは、インターロック信号114aによって、メモリアレイの選択アドレス上にいつデータを書き込むのが適切かをメンテナンスポートに指示する。図4B-2は、図4A-2に代わる実施形態を示すために提供されたフローチャート150’である。この実施形態では、工程154および158が、工程154’および158’に変更されている。特に、工程154’では、Zlをセットアップする動作も実行される。工程158’では、インターロック信号114aが供給されて、サブブロック内の選択ワードを活性化させ、さらにローカルワード線を活性化させる。このメソッドの他の工程は、図4B-1のメソッドと同様に進む。図4Cは、書き込みのプロセスをさらに詳述するために、複数のサブブロック112’、112’’、112’’’を簡単に示す図である。代表的な3つのサイクルが図示されており、複数のサブブロック112のうちの選択された1つのサブブロックに対して書き込み動作が実行される。サイクル1150aでは、システムクロックの立ち上がりエッジで検索が実行される。サイクル1の期間には、検索動作はプリチャージであり、サブブロック112’に対する書き込み動作1152aの実行が可能となる。この期間では、サブブロック112’’および112’’’のビット線がプリチャージ154状態にある。次のサイクルでは、別の検索が実行される。そして、検索プリチャージ動作の発生に備えてビット線にデータを供給することにより、書き込み動作2152bがセットアップされる。そして、サイクル2の検索プリチャージ動作中に、サブブロック112’に対する書き込み動作2152bが実行される。このとき、サブブロック112’’とサブブロック112’’’のビット線はプリチャージ状態にある。サイクル3150cでは、サブブロック112’’に対する書き込み動作3152cがセットアップされる。検索プリチャージ期間では、サブブロック112’’に対して実際に書き込み動作3152cが実行される。この期間では、サブブロック112’および112’’’のビット線がプリチャージ154状態にある。サブブロック112’に対して書き込み動作1および2が実行されたサイクル1および2に関連して示すように、サイクル毎に次々に書き込み動作を実行することができる。書き込みドライバがすぐに新しいデータをビット線に書き込み、その書き込み動作を検索動作のプリチャージ期間中に実行するため、サブブロック112’のビット線は、プリチャージを経る必要がない。従来では、各書き込み動作が完了すると、次の書き込みを実行する前にビット線をプリチャージする必要があった。しかしながら、この実施形態では、ビット線への書き込みを、プリチャージなしで連続して実行することができる。また、図4Cには、選択されたサブブロック112において、来たる検索のセットアップに備えた書き込み動作が実行されている場合であっても、1サイクルに1回ずつ、検索動作が連続して実行される様子が示されている。図5A-1は、メンテナンスポートによって実行される読み出し動作期間、および、検索ポートによって実行される連続した検索動作期間中のメソッドの工程を、本発明の一実施形態に従って示すフローチャート170である。このメソッドは、工程172からスタートする。工程172では検索が開始され、要求されれば、システムクロックの立ち上がりエッジでメモリアレイへの読み出し動作も開始される。前述したように、検索動作はサイクル毎に発生するように構成されている。メソッドは工程174に進み、ここでは、読み出しが要求されれば、アドレッシング情報がメンテナンスポートに供給され、グローバルワード線GWLおよびサブブロックが選択される。また、ビット線のプリチャージをイネーブルすることにより、読み出しのための状態をセットアップし、前のサイクルにおける書き込みからリカバリする。アドレッシング情報が供給されると、メソッドは決定工程176に進み、ここでは、現行の検索が完了したか否かが決定される。完了していなければ、メソッドは現行の検索が完了するまで待機する。完了していれば、メソッドは工程178に進む。工程178では、読み出しが要求されると、Zデコーダをイネーブルし、サブブロックの選択ワードを活性化させる。前述したように、Zデコーダは、選択されたサブブロックから1ワードのみを選択することができる。一般に、Zデコーダのイネーブリングは、ローカルワード線をイネーブルしてプリチャージをオフにすることにより、セルがセンシングのためにビット線上に差分を生成できるようにする。工程180では、次のサイクルが開始したか否かが決定される。次のサイクルが開始していれば、メソッドは、工程172で次の検索を実行すると同時に、工程182にも進み、システムクロックの立ち上がりエッジで読み出し中のデータをセンスしてラッチする。工程172、174、178にかけて、別の読み出し動作が実行されない場合であっても、読み出し動作または書き込み動作が実行されているか否かに関わらず、検索ポートはサイクル毎の連続検索を実行し続ける。したがって、読み出し中のデータのセンシングおよびラッチが工程182の第2のサイクルで実行されると、メソッドは工程184に進み、ここでは、読み出されたデータが出力に送られ、さらに工程186でビット線がプリチャージされる。工程188において、別の読み出しを実行することが決定されると、メソッドは再び工程172に進み、次の読み出し動作が開始されるとともに、次の検索も開始される。別の読み出しを実行しないことが決定されると、メソッドは工程189に進み、ここでは、別の検索が要求されているか否かが決定される。別の検索が要求されていれば、メソッドは工程172に進み、ここでは、読み出し動作および書き込み動作と独立した検索が実行される。いずれの場合も、読み出し動作は、実際には2サイクルに渡って実行されている。第1のサイクルでは、読み出しの要求のあるデータのアドレッシングが実行され、次のサイクルでは、データがセンスされて出力に伝送される。しかしながら、検索動作は、読み出し動作の第1および第2のサイクルの双方の期間で実行される。図5A-2は、代替の方法を定義したフローチャート170’を示しており、工程174および178が、工程174’および178’に変更されている。工程174’では、読み出しが要求されると、アドレッシング情報がメンテナンスポートに供給され、グローバルワード線GWLとZlとサブブロックとが選択され、さらにビット線がプリチャージされる。この実施形態では、前のサイクルでの書き込み動作からリカバリし、読み出し動作を行う状態をセットアップするために、ビット線をプリチャージする。工程178’では、読み出し動作が要求されると、サブブロックの選択ワードを活性化させるために、インターロック信号が供給される。なお、読み出し動作を2回連続して実行する場合には、第1のサイクルで、読み出したい選択データにアドレッシング情報が供給され、第2のサイクルで、その読み出されたデータがセンスされ、ラッチされ、出力に伝えられる。第1のサイクルで読み出されたデータのセンシング期間では、第1のサイクル中にアドレッシングされたデータのセンシングが実行されるとともに、第2のサイクルで、異なるデータのアドレッシングを行うことも可能である。この特徴に関しては、図5Bと関連させて以下で詳述する。図5Bは、複数の連続したサイクル1~10と各サイクルで検索が実行される様子とを、本発明の一実施形態に従って示す図200である。このように、各サイクル260の期間では、検索262が発生し、検索ポートによって実行される検索動作が中断することなく活性261が発生する。活性261は、メンテナンスポート103aによって実行される。上記のように、検索ポート102aとメンテナンスポート103aとは、検索動作が完了するときをメンテナンスポートに通知するインターロック信号によって互いに通信している。この例では、読み出し1202が、サイクル1および検索1の開始時に実行される。読み出し1202は、まず、メンテナンスポートにアドレッシング情報を供給するためのアクセス動作を実行する。サイクル2の期間では、第2の検索動作が実行されるとともに、読み取られたデータのセンシングが読み出し動作202によって実行される。同時に、上記のアクセス動作の実行によって開始する第2の読み出し2204の実行が要求される。このアクセス動作は、サイクル2および検索2の期間中に実行される。アクセスされたデータのセンシングは、第3の検索が行われるサイクル3まで実行されない。このように、各読み出し動作は、実際には、2サイクルに渡って実行される。サイクル3の期間では、第3の読み出し動作である読み出し3206を実行することができ、ここでは、読み出し動作のアクセス部分が実行される。このアクセス動作中には、第2の読み出し204のデータのセンシングとともに、検索3が実行される。サイクル4では、検索4が発生するとともに、サイクル3で読み出し3206に伴って読み出されたデータがセンスされる。ここでは、読み出し3206の実行後に、書き込み1210を実行することが要求されている。上述したように、書き込み動作は、2サイクルを要する読み出し動作とは対照的に、1サイクルで実行される。この結果、検索ポートによって検索動作4が実行されている間、サイクル4はデッドサイクル220となる。サイクル5では、検索5が実行されると同時に例えば検索プリチャージ中に、書き込み1210動作が実行される。そして、第6の検索が実行されるサイクル6の期間では、書き込み動作2212が実行される。同様にして、サイクル7の期間では、第7の検索期間中に書き込み3214が実行される。この実施例では、ここで、読み出し動作である読み出し4208が要求され、サイクル8で開始される。このサイクル8では、第8の検索期間中に、読み出し動作のうちのアクセス部分が実行される。サイクル9では、アクセスデータがセンスされて読み出し4動作208が完了するが、第9の検索期間中にデッドサイクル220が発生する。これは、第10の検索が実行されるサイクル10において、書き込み動作である書き込み4216が実行されるからである。図から理解できるように、読み出し動作は、その後に読み出し動作が続く限りは、連続して実行することができる。読み出し動作の後に書き込み動作が続く場合は、書き込み動作が1つのサイクルの動作であるためにデッドサイクルが発生する。図5Cは、グローバルデータバスGDB272を、本発明の一実施形態に従ってより詳細に示す図である。GDB272は、トライステートバスとしてのラッチバスであることが好ましい。この例では、メンテナンスポート103aと連結している各サブブロック212に回路270が設けられている。図示するように、回路270は、トライステートバッファ270bに連結したセンスアンプ270cを含んでいる。読み出し動作期間では、データは、センスアンプ270cでセンスされて、トライステートバッファ270bに供給される。代表的な読み出し動作で示されるように、データは、グローバルデータバスGDB272上にデータを伝送するトライステートバッファ270bによって供給される。グローバルデータバスGDB272に供給されたデータは、データI/O274そしてバッファ274bに伝送される。データI/O274は、書き込み動作期間では、書き込みたいデータがトライステートバッファ274aによって供給されるように構成されている。データは、274aからグローバルデータバス272に供給され、さらに、サブブロック212に通じる選択された回路270に供給される。図中、簡略化して示すように、書き込み動作期間では、データは、バッファ270aを経て供給される。したがって、当業者ならば分かるように、バスを一度に駆動できるのは、1つのサブブロック212またはデータI/O274のいずれかのみである。このため、書き込み動作では、外側からデータI/Oブロック274にデータが供給される。そして、このデータは、グローバルデータバス272上に書き込まれ、選択されたサブブロック112によってビット線上に伝搬される。読み出し動作期間では、データI/Oブロックは、既にバスを駆動しておらず、選択されたサブブロック112がグローバルデータバス272を駆動している。読み出されたデータは、グローバルデータバス272上に伝搬され、データI/O274のバッファ274bを通過する。上記のように、読み出し動作期間中のデータのセンシングは第2のサイクルで発生するため、グローバルデータバスによる書き込みは実行することができず、このため図5Bで説明したデッドサイクル220が形成される。より厳密に言うと、グローバルデータバス272は共有バスであり、読み出しサイクルは2サイクルに渡ってバスを占有する一方で、書き込み動作は1サイクル分のみバスを占有する。図6Aおよび6Bは、有効ビット300の機能を、本発明の一実施形態に従って示している。図示するように、有効ビット300は、ワード線302に接続された一対のアクセストランジスタ304,306を有している。また、アクセストランジスタ304,306は、ビット線314a,314bとインバータ308とに接続されている。インバータ308は、インバータ310および308を含む交差して接続されたインバータ対の1つである。また、ゲートがリセット線316に接続されたリセットトランジスタ312が設けられている。このため、インバータ310の出力およびインバータ308の入力に有効ビット電圧vが生成され、インバータ308の出力およびインバータ310の入力には有効ビット電圧/vが生成される。そして、有効ビット/vは、対応するマッチ線上のミスを強制するために伝送される。動作中において、リセット線がHIになると、トランジスタがオンし、有効ビットvの電圧が0に引き下げられるため、有効ビット/vで1が生成される。このため、リセット線316をHIに駆動することにより、有効ビット300が無効ビットになって、ミスが強制される。図6Bは、有効ビット300が、トランジスタ320そしてマッチ線322に接続される様子を示す図である。マッチ線322は、CAMセル324a~324nに接続されている。また、図示するように、マッチ線は、センスアンプ326にも接続されている。有効ビット300は、CAMアレイ内で1ワードに1度ずつの割合で複製されている。有効ビット300は、前の説明では有効ビット210aとして言及されている。マッチ線322は、本質的にワイヤードNORであり、HIにプリチャージされる。有効ビットがリセット線316によってリセットされると、有効ビット300は、有効ビット/vに対して論理値1を生成する。これにより、トランジスタ320のゲートに論理値HIが伝送されるため、マッチ線が0に引き下げられる。これによって、有効ビット300によるミスが確実に検知される。一般に、エントリに書き込みを実行するすなわち、データを更新するときには、有効ビットvが論理値1に設定されるので、マッチ線322が0に引き下げられない。これによって、特定のワードが確実に検索に含まれることになる。ここで重要なのは、リセット線316によって実行されるリセット動作が、サイクル毎に実行されるように構成された検索動作を妨げないこと、すなわち、リセット動作は検索ポートのインターロック信号によって延期されるため、有効ビットは、現行の検索動作が完了するまでリセットされないことである。図7Aおよび7Bは、グローバルメンテナンス制御GMC350の一般的な動作を、本発明の一実施形態に従って示す図である。GMC350は、CAMマクロの各コア104に1つずつ設けられている。図3で説明したように、メンテナンスポート103aには、その一部としてGMC350が1つ含まれている。このため、GMC350は、コア104の一部である8つのサブブロックに対してサービスを行う。図示するように、GMC350は、リセット信号rstと、書き込みデータwdと、読み出しデータrdと、書き込み有効wvと、読み出し有効rvとの入力を受け取る。図7Bに示すように、リセット動作と書き込み動作と読み出し動作とに対応する真理値表には、これらの信号rwt,wd,rd,wv,rvが示されている。なお、データは、有効ビットに対してだけでなく、ワードのデータ部分に対しても、独立して書き込まれる。同様にして、有効ビットおよびワードデータから、独立してデータを読み出すことも可能である。また、有効ビットおよびワードのデータ部分から同時にデータを読み出すことも、有効ビットおよびワードのデータ部分に独立してデータを書き込むことも可能である。このため、一実施形態では、有効ビットを有効に保ちながら、ワードのデータセクションにデータを上書きすることが可能である。読み出しサイクルが2サイクル分で、書き込みサイクルが1サイクル分なので、前のサイクルで読み出しが実行されたばかりであれば、当然、書き込み動作はその1サイクル後に実行される必要がある。図7Cは、サブブロック制御SBC354を、本発明の一実施形態に従って示すブロック図である。図示するように、SBC354は、サブブロックのアドレッシング動作だけでなくリセット動作と読み出し動作と書き込み動作とを実行するためのグローバル制御信号を、受け取る。これらの信号353は、検索ポートから受信されるタイミングインターロック信号114aとともに、SBC354に伝送される。そして、SBC354は、Zデコード信号Zlを供給するように構成されている。本発明の一実施形態において、サブブロック制御SBC354は、コア104内の各サブブロックに1つずつの割合で複製されて構成されている。図7Dに示すように、SBC354は8回複製されて、コア104の8つのサブブロックと連結するように構成されている。そして、図7Aで説明したGMC350が、上記の信号353を各SBC354に供給する。また、各SBC354は、検索ポート102aから関連のタイミングインターロック信号114aを受け取る。そして、各SBC354は、コア104の各サブブロックに対して制御信号356を生成するように構成されている。制御信号356は、センスアンプ制御と、書き込みドライバ制御と、プリチャージ制御とを含む。8つのサブブロックのうちどのサブブロックがアクセスを受けるかに依存して、選択されたサブブロックのローカルワード線を活性化させるために、1つのZl信号のみが供給される。図8-1は、本発明によるサブブロック制御SBC354を、より詳細に示す図である。この実施形態では、図示するように、SBCは、検索ポート102bからタイミングインターロック信号114aを受け取る。タイミングインターロック信号ccpeとも呼ばれるは、マスタクロック信号cmとも呼ばれる402も受け取るクロック調停ユニット400に供給される。そして、図示するように、クロック調停ユニット400は、サブブロックZバッファ403とローカル制御クロックジェネレータ406との双方に伝送されるローカル制御クロックを生成する。サブブロックZデコード404は、アドレッシング情報が供給されると、サブブロックZバッファ403にZデコード情報を伝送する。そして、サブブロックZバッファ403は、コア104の選択されたサブブロックに供給されるZデコード信号Zlを生成する。図示するように、ローカル制御クロックジェネレータ406は、信号410:rsti,wdi,rdi,wvi,rviを受け取る。これらの信号410は、グローバルメンテナンス制御GMC350から供給される信号を表している。そして、ローカル制御クロックジェネレータ406は、信号408として定義されるプリチャージクロックと書き込みクロックとセンスクロックとを生成する。また、ローカル制御クロックジェネレータ406は、リセット線316を生成し、有効ビットのリセットを実行するように構成されている。つまり、rstiをローカルクロックとともにゲートさせることにより、検索が完了するまで有効ビットのリセットを遅らせる。当業者には理解できるように、信号408は、全てのデータおよび有効データが必要とする分だけ複製される。代替の実施形態では、図8-2のように、インターロック信号114aが必要なタイミングを供給するので、ローカル制御クロックは、サブブロックZバッファ403に供給されない。このように、ccpe,Zl,GWLのAND動作においてccpeがWLの生成にゲートするため、Zlがローカル制御ブロックにゲートされることはない。図9は、グローバルメンテナンス制御GMC350を、本発明の一実施形態に従ってより詳細に示す図である。GMC350は、図8-1で説明した信号410を生成するように構成された制御回路426を備えている。図示するように、システムクロックckmとも呼ばれる440は、検索シミュレータ424と、クロックイネーブル論理422と、制御回路426と、に伝送される。検索シミュレータ424は、検索ポートによって実行される反復検索をシミュレートするバックアップとして設けられている。例えば、検索ポートが選択されず、検索動作が実行されない場合でも、メンテナンスポートの動作は、あたかも検索動作が次々に実行されるかの如く、適切なタイミング間隔で実行される。検索シミュレータはクロックイネーブル論理422に接続されており、クロックイネーブル論理422はクロックバッファ420に接続されている。クロックバッファ420は、図8-1で説明したマスタクロックcm432aと、32ビットバスであるデータクロックcmdと、有効ビットクロックと、を生成するように構成されている。図8-1で説明したように、マスタクロック432aは、検索ポートから来るタイミングインターロック信号114accpeと連結するように構成されている。データクロック432bは、ワード内の各データI/Oビットに供給されて、書き込み動作に対するトライステート制御を処理することができる。同様に、有効ビットI/Oには有効ビットクロックが供給される。また、データクロック432bは、図5Cのデータラッチをイネーブルするように構成されている。wdがHIである場合には、データクロックcmdによってトライステートバッファがオンになり、グローバルデータバスへのデータの転送が可能になる。本発明は、種々のタイプの集積回路論理、状態マシン、またはコンピュータによって実行されるソフトウェアの動作を用いて、実現可能である。例えば、設計および合成プログラムに基づくハードウェア記述言語HDLを用いて、本発明の一実施形態に従ったデータおよび制御の動作を適切に実行するのに必要なシリコンレベルの回路を設計してもよい。本発明は、コンピュータシステムに格納されたデータを伴う種々のコンピュータで実現される動作を利用することが可能である。これらは、物理量の物理操作を必要とする動作である。これらの量は、必然ではないものの、通常、格納や、転送、結合、比較、他の操作が可能な電子信号または磁気信号の形式である。さらに、実行される操作の多くは、生成や、識別、決定、比較などの用語で表現される。ここで説明される本発明の一部の動作は、有用なマシン動作である。本発明は、これらの動作を実行するためのデバイスまたは装置にも関する。装置は、必要な目的のために特別に構築されていてもよいし、コンピュータに格納されたコンピュータプログラムによって選択的に活性または構成される汎用コンピュータでもよい。特に、種々の汎用マシンを、本明細書で教示した内容に従って書かれたコンピュータプログラムとともに使用してもよいし、より特化された装置を構築し、必要な動作を実行する方が便利な場合もある。例えば、適切なコンピュータレイアウト、半導体基板、1つまたは複数の半導体チップ、プリント回路板、パッケージ化された集積デバイス、ソフトウェアインプリメンテーションおよびこれらの結合などを含む任意の形態で、種々のブロック図を具現化できる。したがって、当業者にはわかるように、本明細書で取り上げた実施形態は、例示を目的としたものであって、本発明の内容を限定するものではない。このため本発明は、本明細書で特定した詳細に限定されることなく、添付した特許請求の範囲の範囲および均等物の範囲内で、種々の変更を加えることが可能である。"