"3ポートコンテントアドレサブルメモリデバイスであって、データを格納するためのコンテントアドレサブルメモリと、前記コンテントアドレサブルメモリ内で検索データを検索するために、前記検索データおよび検索制御信号を、第1のポートを経て受け取るように配置され、前記コンテントアドレサブルメモリにアクセスすることによって検索動作を実行するように構成された検索制御ブロックであって、前記検索動作は複数のクロックサイクルをそれぞれ含む検索サイクル内で実行され、2以上の検索動作を1つまたはそれ以上のクロックサイクルに渡って同時に実行可能であり、前記コンテントアドレサブルメモリは第2のポートを経て検索結果を出力する、前記検索制御ブロックと、第3のポートを経て、指定されたデータを前記コンテントアドレサブルメモリで読み出しまたは書き込みをすることによって読み出し/書き込み動作を実行するように構成され、前記コンテントアドレサブルメモリにアクセスすることによって読み出し/書き込み動作を実行するように構成されたメンテナンス制御ブロックと、を備えた3ポートコンテントアドレサブルメモリデバイス。請求項1記載の3ポートコンテントアドレサブルメモリデバイスであって、前記メンテナンス制御ブロックは、検索動作の指定された一検索サイクル内で前記コンテントアドレサブルメモリにアクセスすることによって、前記検索動作と同時に前記読み出しまたは書き込み動作を実行する、3ポートコンテントアドレサブルメモリデバイス。請求項1記載の3ポートコンテントアドレサブルメモリデバイスであって、前記コンテントアドレサブルメモリは、前記データを格納するための一組のバンクを備えており、前記読み出し/書き込み動作では、前記データは前記バンクのうちの1つからアクセスされ、検索動作では、前記データは別のバンク内で検索される、3ポートコンテントアドレサブルメモリデバイス。請求項1記載の3ポートコンテントアドレサブルメモリデバイスであって、前記第1のポートと前記第2のポートと前記第3のポートは、検索入力ポートと検索結果ポートと読み出し/書き込みポートである、3ポートコンテントアドレサブルメモリデバイス。請求項1記載の3ポートコンテントアドレサブルメモリデバイスであって、前記検索制御ブロックは、検索データバスを介した前記検索データを前記第1のポートを経て受け取り、前記メンテナンス制御ブロックは、読み出し/書き込みデータバスを介した前記指定されたデータを前記第3のポートを経て通信し、前記コンテントアドレサブルメモリは、検索結果バスを介した前記検索結果を前記第2のポートを経て出力する、3ポートコンテントアドレサブルメモリデバイス。請求項1記載の3ポートコンテントアドレサブルメモリデバイスであって、前記メンテナンス制御ブロックは、前記コンテントアドレサブルメモリの前記検索に同期して、順次、前記コンテントアドレサブルメモリにアクセスする、3ポートコンテントアドレサブルメモリデバイス。請求項1記載の3ポートコンテントアドレサブルメモリデバイスであって、前記検索制御ブロックは、前記コンテントアドレサブルメモリを検索するための第1の一組の制御信号を生成し、前記メンテナンス制御ブロックは、前記コンテントアドレサブルメモリで前記指定されたデータの読み出しまたは書き込みするための第2の一組の制御信号を生成する、3ポートコンテントアドレサブルメモリデバイス。請求項1記載の3ポートコンテントアドレサブルメモリデバイスであって、前記検索制御ブロックは、前記検索データを取得し、該データを前記コンテントアドレサブルメモリに供給するように構成されたキャプチャおよびパイプライン検索データデバイスと、前記コンテントアドレサブルメモリの前記検索動作を制御するための信号を生成するように構成された第1の有限状態マシンと、を備える、3ポートコンテントアドレサブルメモリデバイス。請求項8記載の3ポートコンテントアドレサブルメモリデバイスであって、さらに、複数のデータエントリを格納するための複数のコンテントアドレサブルメモリデバイスを連結するカスケード制御ブロックを備える、3ポートコンテントアドレサブルメモリデバイス。請求項1記載の3ポートコンテントアドレサブルメモリデバイスであって、前記メンテナンス制御ブロックは、前記読み出し/書き込み動作を検索動作と同期させるためのクロックブリッジを備える、3ポートコンテントアドレサブルメモリデバイス。請求項10記載の3ポートコンテントアドレサブルメモリデバイスであって、前記メンテナンス制御ブロックのための第1のクロックと、前記検索制御ブロックのための第2のクロックとは、前記クロックブリッジに入力されている、3ポートコンテントアドレサブルメモリデバイス。請求項10記載の3ポートコンテントアドレサブルメモリデバイスであって、前記メンテナンス制御ブロックは、さらに、前記読み出し/書き込み動作を実行するための制御信号を生成する第2の有限状態マシンを備える、3ポートコンテントアドレサブルメモリデバイス。コンテントアドレサブルメモリデバイス内で検索動作と読み出し/書き込み動作とを実行するための方法であって、データを格納するためのコンテントアドレサブルメモリを準備する工程と、前記コンテントアドレサブルメモリ内で検索データを検索するために、前記検索データおよび検索制御信号を、第1のポートを経て検索制御ブロックに供給する工程であって、前記検索制御ブロックは、前記コンテントアドレサブルメモリにアクセスすることによって検索動作を実行するように構成されており、前記検索動作は、複数のクロックサイクルをそれぞれ含む検索サイクル内で実行され、2以上の検索動作を1つまたはそれ以上のクロックサイクルに渡って同時に実行可能であり、前記コンテントアドレサブルメモリは、第2のポートを経て検索結果を出力する、工程と、第3のポートを経て、指定されたデータを前記コンテントアドレサブルメモリで読み出しまたは書き込みすることによって読み出し/書き込み動作を実行する工程と、を備える方法。請求項13記載の方法であって、前記コンテントアドレサブルメモリは、前記データを格納するための一組のバンクを備えており、前記読み出し/書き込み動作では、前記データは前記バンクのうちの1つからアクセスされ、検索動作では、前記データは別のバンク内で検索される、方法。請求項13記載の方法であって、各読み出し/書き込み動作は、検索動作の指定された一検索サイクル内で実行される、方法。請求項13記載の方法であって、前記第1のポートと前記第2のポートと前記第3のポートは、検索入力ポートと検索結果ポートと読み出し/書き込みポートである、方法。請求項13記載の方法であって、前記検索制御ブロックは、検索データバスを介した前記検索データを前記第1のポートを経て受け取り、前記メンテナンス制御ブロックは、読み出し/書き込みデータバスを介した前記指定されたデータを前記第3のポートを経て通信し、前記コンテントアドレサブルメモリは、検索結果バスを介した前記検索結果を前記第2のポートを経て出力する、方法。請求項13記載の方法であって、前記読み出し/書き込み動作を実行する前記工程は、さらに、前記コンテントアドレサブルメモリの前記読み出し/書き込み動作を制御するための信号を生成する一対の第1の有限状態マシンを準備する工程と、前記一対の第1の有限状態マシン間に配置され、前記コンテントアドレサブルメモリにおける前記読み出し/書き込み動作を前記検索動作に同期させるためのクロックブリッジを準備する工程と、を備える、方法。請求項13記載の方法であって、前記検索データおよび前記検索制御信号を前記検索制御ブロックに供給する前記工程は、さらに、前記コンテントアドレサブルメモリの前記検索動作を制御するための第2の有限状態マシンを準備する工程と、前記コンテントアドレサブルメモリ内を検索するための前記検索データを取得し、該データを供給するキャプチャおよびパイプライン検索データデバイスを準備する工程と、を備える、方法。請求項19記載の方法であって、前記検索データおよび前記検索制御信号を前記検索制御ブロックに供給する前記工程は、さらに、前記コンテントアドレサブルメモリから前記検索動作の前記結果を受け取るための出力バファであって、前記結果を出力として供給する出力バッファを準備する工程を備える、方法。請求項19記載の方法であって、前記読み出し/書き込み動作を実行する前記工程は、さらに、前記コンテントアドレサブルメモリにおける前記読み出し/書き込み動作を前記検索動作に同期させるための信号を生成するクロックブリッジを準備する工程を備える、方法。3ポートコンテントアドレサブルメモリデバイスであって、データを格納するためのコンテントアドレサブルメモリと、前記コンテントアドレサブルメモリ内で検索データを検索するために、前記検索データおよび検索制御信号を受け取るように構成された第1のポートであって、前記コンテントアドレサブルメモリにアクセスすることによって検索動作が実行される、前記第1のポートと、前記コンテントアドレサブルメモリから検索結果を出力するように構成された第2のポートであって、前記コンテントアドレサブルメモリが前記検索動作の検索結果を該第2のポートを経て出力する前記第2のポートと、読み出し/書き込み動作のために、前記コンテントアドレサブルメモリとの間で読み出し/書き込みデータを通信するように構成された第3のポートと、を備える3ポートコンテントアドレサブルメモリデバイス。請求項22記載の3ポートコンテントアドレサブルメモリデバイスであって、前記検索動作は、複数のクロックサイクルをそれぞれ含む検索サイクル内で実行され、2以上の検索動作を1つまたはそれ以上のクロックサイクルに渡って同時に実行可能である、3ポートコンテントアドレサブルメモリデバイス。請求項22記載の3ポートコンテントアドレサブルメモリデバイスであって、前記コンテントアドレサブルメモリにアクセスすることによって、1つまたはそれ以上の読み出しまたは書き込み動作が検索動作と同時に実行される、3ポートコンテントアドレサブルメモリデバイス。請求項22記載の3ポートコンテントアドレサブルメモリデバイスであって、前記コンテントアドレサブルメモリは、前記データを格納するための一組のバンクを備えており、前記読み出し/書き込み動作では、前記データは前記バンクのうちの1つからアクセスされ、検索動作では、前記データは別のバンク内で検索される、3ポートコンテントアドレサブルメモリデバイス。請求項22記載の3ポートコンテントアドレサブルメモリデバイスであって、前記第1のポートと前記第2のポートと前記第3のポートは、検索入力ポートと検索結果ポートと読み出し/書き込みポートである、3ポートコンテントアドレサブルメモリデバイス。従来のCAM100は、通常、検索、読み出し、および/または書き込みなどの動作を順次実行する。図1Bは、CAM100により、連続したメモリクロックサイクルで順次実行される代表的な一連の動作を示す図である。図1Bに示すように、CAMは、3つの検索動作から始まり、1つの書き込み動作、2つの検索動作、1つの書き込み動作、2つの読み出し動作を経て、2つの検索動作で終了するような、一連の動作を実行する。これらの動作は、各動作が少なくとも1つのクロックサイクルで実行されるように、順次実行される。しかしながら、CAM動作の順次的性質は、検索動作の遅延によるCAMの性能低下を招く。これは、読み出しおよび書き込み動作が検索動作を中断させるためである。検索動作における中断は、高速なリアルタイム連続アドレス検索に大きな障害をもたらし、システム設計を複雑化すると考えられる。例えば、インターネットルータは、CAMに格納されたルーティングテーブルで多数の検索を実行するために頻繁に呼び出される。このような状況では、通常、検索の中断によって検索動作の処理が遅延し、コンピュータシステムの応答時間が遅くなる。また、被比較数および書き込みデータによって入力ポート107が共用されているため、通常、被比較数および書き込みデータを多重化してCAMに入力させる必要がある。同様に、検索結果および読み出し結果の出力によって出力ポート109が共用されているため、出力時にはこれらの結果を逆多重化する必要がある。図1Cは、従来の2ポートCAM100を、マルチプレクサ111およびデマルチプレクサ113と共に、より詳細に示すブロック図である。CAM100は、制御ブロック108とCAMアレイ110とを備えている。マルチプレクサ111は、被比較数および/または書き込みデータを入力として受け取り、制御信号に応じて、被比較数と書き込みデータとのいずれか一方を選択して出力する。マルチプレクサ111で選択された出力は、CAMアレイ110への入力としてデータバス102に供給される。CAM100の動作を制御するために、制御信号が、制御ブロック108への入力として命令バス104に供給される。制御ブロック108は、制御信号に応じて、CAMアレイ110の動作を制御するための別の一組の制御信号を生成する。検索動作では、CAMアレイ110は、データバス102の入力データに一致するCAMアレイ110内のエントリまたはワードに対応するアドレスや、ポインタ、ビットパターンアドレスと総称するを、結果バス106上に出力する。一方、読み出し動作では、CAMは、データバス102に供給されたアドレスに対応するデータを、結果バス106上に出力する。デマルチプレクサ113は、出力バス106からの出力結果を、入力として受け取るように接続されている。CAM動作が検索動作のとき、デマルチプレクサ113は、検索データバス115上に出力結果を送る。一方、CAM動作が読み出し動作のとき、デマルチプレクサ113は、読み出しデータバス117上に出力結果を送る。図1Dは、従来のCAM100をより詳細に示す別のブロック図である。CAM100は、データバス102と、命令バス104と、結果バス106と、制御ブロック108と、CAMアレイ110と、マルチプレクサMUX112と、被比較数レジスタ114と、グローバルマスクレジスタ116と、状況レジスタ118と、アドレスカウンタ120と、を備えている。制御ブロック108は、命令バス104を介して要求された動作のための命令を受け取り、CAMアレイ110の検索、読み出し、書き込み動作のための制御信号を生成する。図1Dに示すCAM100は、例えば、ネットロジックミコシステムズ社のモデルNL85721-3進コンテントアドレサブルメモリIPCAMとして市販されている。しかしながら、書き込み/読み出し動作および検索動作の実行に多重化機構を用いると、従来の2ポートCAMの実装が複雑となり、それに伴いコストも増大する。さらに、多重化機構を用いると、読み出し/書き込みデータを、検索データまたは結果を伴う同じクロックサイクル内で、同時に入力または出力することができないため、CAMの性能全体が低下してしまう。要するに、バス102および106が共用されているので、読み出しまたは書き込み動作を実行する場合には、検索動作からサイクルを奪う必要がある。以上から分かるように、入力データおよび出力結果を多重化することなく、読み出し/書き込み動作と検索動作とを同時に実行して、CAMの性能の向上を図ることができるようなCAMデバイスおよび方法が必要とされている。本発明は、上述の要求を満たすため、3ポートコンテントアドレサブルメモリCAMデバイス、およびそれを実現するための方法を提供する。本発明は、プロセス、装置、システム、デバイス、方法を含む種々の形態で実現可能である。以下では、本発明のいくつかの実施形態を説明する。本発明は、一実施形態において、CAMと検索制御ブロックとメンテナンス制御ブロックとを備える3ポートCAMデバイスを提供する。CAMは、データを格納するように構成されている。検索制御ブロックは、CAM内で検索データを検索するために、第1のポートを経て検索データおよび検索制御信号を受け取るように構成されている。さらに、検索制御ブロックは、CAMにアクセスして検索動作を実行するように構成されている。検索動作は検索サイクル内で実行され、各検索動作は複数のクロックサイクルに渡って実行される。この構成では、2以上の検索動作を1つまたはそれ以上のクロックサイクルに渡って同時に実行可能である。検索動作による検索結果は、第2のポートを経て出力される。メンテナンス制御ブロックは、第3のポートを経て、指定されたデータをCAMで読み出しまたは書き込みをすることにより、読み出し/書き込み動作を実行するように構成されている。本発明は、別の実施形態において、CAMデバイス内で検索動作と読み出し/書き込み動作とを実行するための方法を提供する。この方法では、データを格納するためにCAMが準備される。そして、CAM内で検索データを検索するために、検索データおよび検索制御信号が、第1のポートを経て検索制御ブロックに供給される。検索制御ブロックは、コンテントアドレサブルメモリにアクセスすることによって検索動作を実行するように構成されている。検索動作は、複数のクロックサイクルに渡る検索サイクル内で実行される。2以上の検索動作を1つまたはそれ以上のクロックサイクルに渡って同時に実行可能である。CAMからの検索結果は、第2のポートを経て出力される。読み出し/書き込み動作は、第3のポートを経て、指定されたデータをCAMで読み出しまたは書き込みすることによって実行される。さらに別の実施形態において、データを含むCAMにアクセスするための3ポートCAMデバイスを開示する。3ポートCAMデバイスは、データを格納するためのコンテントアドレサブルメモリと第1のポートと第2のポートと第3のポートとを備えている。第1のポートは、コンテントアドレサブルメモリ内で検索データを検索するために、検索データおよび検索制御信号を受け取るように構成されている。検索動作は、コンテントアドレサブルメモリにアクセスすることによって実行される。第2のポートは、コンテントアドレサブルメモリから検索結果を出力するように構成されている。第3のポートは、読み出し/書き込み動作のために、コンテントアドレサブルメモリとの間で読み出し/書き込みデータを通信するように構成されている。本発明の3ポートの構成は、検索データ経路と読み出し/書き込みデータ経路とを効果的に分離する。このため、検索結果を破壊したり障害を与えたりすることなく、検索クロックサイクル中に読み出し/書き込み動作を実行することが可能となる。さらに、検索サイクル中における読み出し/書き込み動作の実行を可能にすることにより、読み出し/書き込み動作が検索を中断するのを排除し、検索動作を加速させることができる。このため、本発明のデバイスおよび方法は、所定のクロック周波数における動作を高速化させることができる。本発明の原理を例示した添付の図面と関連させた以下の詳細な説明から、本発明の他の効果が明らかとなる。読み出しおよび/または書き込み動作の実行中に、中断されずに検索動作を実行することのできる3ポートコンテントアドレサブルメモリCAMデバイスを開示する。以下の説明では、本発明の完全な理解を促すために多くの項目を特定している。しかしながら、当業者には理解できるように、本発明は、これらの項目の一部または全てを特定しなくても実施することが可能である。そのほか、本発明を不必要に不明瞭化するのを避けるため、周知の処理動作の説明は省略した。図2Aは、検索データ経路と読み出し/書き込みデータ経路とを分離した代表的な3ポートCAMデバイス200を、本発明の一実施形態に従って示す図である。3ポートCAMデバイス200は、検索入力ポート262と、検索結果ポート266と、メンテナンスポート264と、の3つのポートを備えている。検索入力ポート262は、入力検索データと検索制御信号と検索クロック信号とを、それぞれ検索バス202と検索制御バス205と検索クロックバス208を介して通信する。検索結果ポート266は、検索結果を検索結果バス206を介して通信する。検索入力ポート262と検索結果ポート266とから分離されたメンテナンスポート264は、読み出し/書き込みデータと、読み出し/書き込み制御信号と、読み出し/書き込みクロック信号とを、それぞれ読み出し/書き込みデータバス203と読み出し/書き込み制御バス207と読み出し/書き込みクロックバス209を介して通信する。3ポートCAMデバイス200は、検索動作と読み出し/書き込み動作とを実行するように構成されている。特に、検索動作では、CAMデバイス200には、検索バス202を介した検索データと、検索制御バス205を介した検索制御信号と、検索クロックバス208を介した検索クロックとが、検索入力ポート262を経て供給される。そして、出力としての検索結果が、検索結果ポート266を経て検索結果バス206から供給される。一方、読み出し/書き込み動作では、CAM200には、読み出し/書き込み制御バス207を介した読み出し/書き込み制御信号と、読み出し/書き込みデータバス203を介した読み出し/書き込みデータと、読み出し/書き込みクロックバス209を介した読み出し/書き込みクロックとが、メンテナンスポート264を経て供給される。検索クロックバス208と読み出し/書き込みクロックバス209とを介して供給されるクロック信号は、同じクロック信号であってもよい。検索データ経路と読み出し/書き込みデータ経路とが分離された3ポートCAMデバイス200は、読み出し/書き込み動作を検索動作と同じクロックサイクルで実行することができる。例えば、図2Bは、CAMデバイス200によって実行される一連の動作を、本発明の一実施形態に従って示すタイミング図250である。このタイミング図では、検索動作は、クロックサイクル252,254,256,258において順次実行されており、1回の検索動作は、各クロックサイクルごとに実行されている。先ず、サイクル252では検索動作のみが行われる。次のサイクル254では、検索動作と書き込み動作とが共に実行される。このサイクルでは、CAMデバイス200は、検索ポート262を経る検索動作と、メンテナンスポート264を経る書き込み動作とを、同じクロックサイクル254内で実行する。次のサイクル256では、検索動作と読み出し動作とが実行される。このサイクル256では、CAMデバイス200は、検索動作と読み出し動作とを同じクロックサイクル256内で実行する。そして、次のクロックサイクル258では、CAMデバイス200は別の検索動作を実行する。このように、検索結果に障害を与えたり破壊したりすることなしに、検索動作と同じサイクル内で読み出し/書き込み動作を実行することができる。なお、検索動作は、複数のクロックサイクルに渡って実行されていてもよい。また、複数のクロックサイクルに渡って、複数の検索動作を同時に実行するようにしてもよい。また、検索動作と同じクロックサイクル内における読み出し/書き込み動作の実行を可能にすることにより、読み出し/書き込み動作が検索動作を中断したり干渉したりするのを防ぐことができる。このため、本発明の3ポートCAMデバイス200は、従来の2ポートCAMデバイスのように読み出し/書き込みデータ経路と検索データ経路とが共用されることによる遅延を生じることなく、検索動作を実行することができる。また、検索データ経路をメンテナンス例えば、読み出し/書き込みデータ経路から分離することにより、システムレベルの設計を簡略化することもできる。図2Cは、3ポートCAMデバイス200を、本発明の一実施形態に従ってより詳細に示すブロック図である。3ポートCAMデバイス200は、CAMアレイ210と検索制御ブロック211とメンテナンス制御ブロック212とを備えている。検索制御ブロック211は、検索データバス202を介した検索データと、検索制御バス205を介した検索制御信号と、検索クロックバス208を介した検索クロックとを、検索入力ポート262を経て受け取る。メンテナンス制御ブロック212は、読み出し/書き込み制御信号バス207を介した読み出し/書き込み制御信号と、読み出し/書き込みデータバス203を介した読み出し/書き込みデータと、読み出し/書き込みクロックバス209を介した読み出し/書き込みクロックとを、メンテナンスポート264を経て受け取る。CAMアレイ210は、検索制御ブロック211およびメンテナンス制御ブロック212と接続されており、バス220,203b,207bを介してデータおよび制御信号の通信を行う。なお、本明細書中で用いられるブロックという用語は、デバイス、装置、サブシステムなどを示し、これらの用語と交換可能である。この3ポートの構成において、検索制御ブロック211は、制御信号を生成して、その信号を指定された検索データとともに、バス220を介して通信し、CAMアレイ210内で検索データの検索が行われるようにする。検索が完了すると、CAMアレイ210は、指定されたデータのアドレスを、検索結果ポート266を経る検索結果バス206を介して出力する。一方、メンテナンス制御ブロック212は、読み出し/書き込み動作を制御する。メインテナンス制御ブロック212は、特に、制御信号を生成して、その信号を指定されたデータとともにバス203bおよび207bを介して通信し、CAMアレイ210でデータの読み出しまたは書き込みが行われるようにする。メインテナンス制御ブロック212は、例えば、データ例えば、書き込みのためのデータおよびアドレスや、読み出しのためのアドレスおよび制御信号をデータバス203および制御バス207を介して受け取る。そして、データおよび制御信号をデータバス203bおよび制御バス207bを介して伝送し、CAMアレイ210内でデータの読み出しまたは書き込みが行われるようにする。読み出し動作では、CAMアレイ210は、バス203bを介してメンテナンス制御ブロック212にデータを供給し、メンテナンス制御ブロックはさらに、データバス203を介してデータを出力する。検索動作を読み出し/書き込み動作と同期させるために、検索制御ブロック211およびメンテナンス制御ブロック212は、同期化バス214を介して同期化信号の通信を行う。本発明の代替の実施形態では、CAMは、複数のCAMアレイと、複数の検索制御ブロックと、複数のメンテナンス制御ブロックあるいは分離された読み出し制御ブロックおよび書き込み制御ブロックと、を備えていてもよい。また、データの複数のコピーが複数のバンクに格納されてもよい。例えば、2バンク構成では、データが一方のバンクで読み出しまたは書き込みされ、検索が他方のバンクで行われるようにしてもよい。また、本発明の代替の実施形態では、内部に検索制御ブロックまたはメンテナンス制御ブロックを組み込んだ1つまたはそれ以上のCAMアレイを備えるCAMであってもよいし、非配列形式のCAMであってもよい。さらに、本発明の代替の実施形態では、CAMは、追加の制御信号や、静的もしくは動的にクロックされたデバイス、複数のクロック信号、分離された基板を備えていてもよい。また、チップコンフィギュレーションまたはレジスタ動作などの、読み出し動作や書き込み動作以外のメンテナンス動作を、メンテナンスポートで処理するようにしてもよい。図3Aは、メンテナンス制御ブロック212を、本発明の一実施形態に従ってより詳細に示すブロック図である。メンテナンス制御ブロック212は、クロックを調停するためのクロックブリッジ216と、一対の有限状態マシン213および218と、を備えている。有限状態マシン213は、読み出し/書き込み制御バス207を介した読み出し/書き込み制御信号と、読み出し/書き込みデータバス203を介した読み出し/書き込みデータとを受け取る。また、有限状態マシン213は、読み出し/書き込みクロックバス209を介した読み出し/書き込みクロックを受け取る。さらに、有限状態マシン213は、受け取った制御信号を解析することにより制御信号を生成し、読み出し/書き込みデータを取得する。そして、有限状態マシン213は、生成された制御信号を制御バス215を介してクロックブリッジ216に伝送する。この制御信号によって、検索クロックバス208と読み出し/書き込みクロックバス209とを介して受け取った検索クロックと読み出し/書き込みクロックとが同期化される。さらに、有限状態マシン213は、プロセッサポート図示せずと外部チップポート図示せずとの初期接続手続きを制御するのに使用されても良い。クロックブリッジ216は、制御バス215を介して受け取った制御信号に応じて制御信号を生成し、その信号を、制御信号バス217を介して他方の有限状態マシン218に伝送する。有限状態マシン218は、検索クロックバス208から検索クロックを受け取り、制御バス214を介して、読み出し/書き込み動作を検索動作と同期させる。また、有限状態マシン218は、読み出し/書き込み制御信号を生成し、その信号を、読み出し/書き込み制御バス207bおよび203bを介してCAMアレイ210に伝送し、読み出し/書き込み動作が実行されるようにする。有限状態マシン213と218との間には、バス203aが設けられており、読み出し/書き込み動作におけるデータの通信を可能にする。例えば、書き込み動作では、データは、有限状態マシン213からバス203aを経て有限状態マシン218へと流れる。逆に、読み出し動作では、データは、有限状態マシン218からバス203aを経て有限状態マシン213へと流れる。有限状態マシン213と218は、1つまたは2つの論理ゲートのように単純でも良い。図3Bは、CAMアレイ210と通信する検索制御ブロック211を、本発明の一実施形態に従ってより詳細に示すブロック図である。検索制御ブロック211は、検索有限状態マシン230と、キャプチャおよびパイプライン検索データデバイス234と、を備えている。キャプチャおよびパイプライン検索データデバイス234は、検索データバス202を介した検索データと、検索制御バス205を介した検索制御信号と、検索クロックバス208を介した検索クロックとを、入力として受け取る。キャプチャおよびパイプライン検索データデバイス234は、このような信号を受け取ると制御およびデータ信号を生成し、これらの信号を、制御およびデータバス235を介してCAMアレイ210に伝送する。検索有限状態マシン230は、検索クロックバス208を介して検索クロックを受け取り、制御信号を生成し、その信号を制御バス232を介してCAMアレイ210に伝送する。また、検索有限状態マシン230は、同期化制御信号を生成し、その信号を、制御バス214を介してメンテナンス制御ブロック212の有限状態マシン218に伝送する。一実施形態において、検索有限状態マシン230は、有限状態マシン218を使用することによって実現されていてもよい。制御バス232と制御およびデータバス235とは、図2Cに示す制御およびデータバス220に対応する。また、CAMアレイ210は、メンテナンス制御ブロック212との間で、制御バス207bおよび203bを介して制御信号の通信を行う。カスケード制御ブロック237は、検索クロックバス208を介して検索クロックを受け取り、データバス236を介してCAMアレイ210からのデータ例えば検索アドレスを出力するために設けられている。カスケード制御ブロック237は、検索結果バス206を介して検索結果ポート266に出力データを供給する。また、カスケード制御ブロック237は、複数のコンテントアドレサブルメモリを連結し、指定されたデータのエントリを数多く保持できるようにするために、一組のCAMチップ200を並列接続できるように構成されている。3ポートCAMデバイス200が単独で使用されている場合には、カスケード制御ブロック237は出力バッファでよい。一実施形態において、カスケード制御ブロック237は、検索制御ブロック211に含まれていてもよい。あるいは、カスケード制御ブロックは、個別の出力ステージとしてCAMデバイス200内に設けられていてもよい。このように本発明は、検索サイクル中に読み出しおよび書き込み動作を実行することを可能にするとともに、CAMアレイの検索動作を高めることができる。従来のCAMでは、検索および読み出し/書き込み動作を別々のクロックサイクルで順次に実行していたが、検索サイクル中に読み出し/書き込み動作の実行を可能にすることにより、中断を排除し、検索動作を高速化させることができる。したがって、本発明のCAMデバイスは、所定のクロック周波数におけるスループットを高めることができる。例えば、適切な半導体基板、プリントデバイス基板、パッケージ化された集積デバイス、ソフトウェアインプリメンテーションなどを含む任意の形態で、種々のブロック図を具現化できる。したがって、当業者にはわかるように、本明細書で取り上げた実施形態は、例示を目的としたものであって、本発明の内容を限定するものではない。このため本発明は、本明細書で特定した詳細に限定されることなく、添付した特許請求の範囲の範囲および均等物の範囲内で、種々の変更を加えることが可能である。"