(57)【要約】直列並列混合連想メモリ（ＣＡＭ）は、複数（Ｎ）の列および複数（Ｍ）の行に配列された直列ＣＡＭセル及び並列ＣＡＭセルを含む。各行は、少なくとも１つの直列ＣＡＭセルと、少なくとも２つの並列ＣＡＭセルとを含む。Ｍ個の行は、並列に検索される。各行において、直列ＣＡＭセルは順番に検索され、並列ＣＡＭセルは選択的で並列に検索される。ＣＡＭは、Ｎ列のＣＡＭセルに対して列当たり１つのサーチラインとなるサーチラインを生成するドライバを含む。ドライバは、ＣＡＭ内で検索されるＮビット値を表すようにＮ個のサーチラインをセットする。各検索動作に先立って、ドライバは、各行のマッチラインをプリチャージするために、少なくとも１列の直列ＣＡＭセルのための少なくとも１つのサーチラインをプリセットする。
2009510665.tif 000002
【特許請求の範囲】
【請求項１】
各行が少なくとも１つの直列の連想メモリ（ＣＡＭ）セル及び少なくとも２つの並列ＣＡＭセルを有し、複数の行及び複数の列に配列された複数の直列ＣＡＭセル及び複数の並列ＣＡＭセルと、
前記複数の列の複数のサーチラインを生成し、各検索操作の前に少なくとも１列の直列ＣＡＭセルの少なくとも１つのサーチラインをプリセットするように構成されるドライバと
を具備した集積回路。
【請求項２】
各行が、４つの直列ＣＡＭセルを有する請求項１に記載の集積回路。
【請求項３】
各行のための１つのバッファ回路、及び関連する行内の第２及び第３の直列ＣＡＭセルの間に結合される各バッファ回路を含む複数のバッファ回路をさらに具備した請求項２に記載の集積回路。
【請求項４】
前記ドライバは、各検索動作の前に、４列の直列ＣＡＭセルのうちの第２列の直列ＣＡＭセルのサーチラインをプリセットするように構成される請求項２に記載の集積回路。
【請求項５】
前記ドライバは、各検索動作の前に、少なくとも１列の直列ＣＡＭセルのうちの最終列の直列ＣＡＭセルのサーチラインをプリセットするように構成される請求項１に記載の集積回路。
【請求項６】
各行は３つの直列ＣＡＭセルを有し、
前記ドライバは、各検索動作の前に、３列の直列ＣＡＭセルのうちの最終列のＣＡＭセルのサーチラインをプリセットするように構成される請求項１に記載の集積回路。
【請求項７】
複数の行に配列された各並列ＣＡＭセルの複数のマッチラインであって、前記複数のマッチラインは、少なくとも１つの前記サーチラインの前記プリセットによって、各検索動作の前にプリチャージされるように構成される請求項１に記載の集積回路。
【請求項８】
複数の行に配列された各並列ＣＡＭセルの複数の仮想グランドラインであって、各行に１つの仮想グランドラインを有し、
前記各仮想グランドラインは、並列ＣＡＭセルの関連する行を使用可能または使用不可能にするように制御される請求項１に記載の集積回路。
【請求項９】
前記複数の行が、並列に検索されて、
各行について、少なくとも１つの前記直列ＣＡＭセルは順番に検索されて、少なくとも２つの前記並列ＣＡＭセルは並列に検索されるように構成されている請求項１に記載の集積回路。
【請求項１０】
各行について、少なくとも２つの前記並列ＣＡＭセルは、前記行内の少なくとも１つの前記直列ＣＡＭセルがマッチした場合に限って、検索されるように構成されている請求項９に記載の集積回路。
【請求項１１】
各行について、少なくとも２つの前記並列ＣＡＭセルは、少なくとも１つの前記直列ＣＡＭセルの前記順次検索と同時に、並列に検索されるように構成されている請求項９に記載の集積回路。
【請求項１２】
並列ＣＡＭセルの列のサーチラインは、プリセットされていない構成である請求項１に記載の集積回路。
【請求項１３】
前記複数のＣＡＭセルの各々は、
データ値を保存するように構成されるメモリセルと、
前記保存データ値と入力データ値とを比較するように構成される比較回路と
を具備した請求項１に記載の集積回路。
【請求項１４】
前記複数のＣＡＭセルの各々は、
第１及び第２の相補形金属酸化膜半導体（ＣＭＯＳ）ゲートを有し、
前記第１及び第２のＣＭＯＳゲートが差動サーチラインに結合され、前記ＣＡＭセル内に保存されたデータ値によって制御されるように構成されている請求項１に記載の集積回路。
【請求項１５】
データを保存するランダムアクセスメモリ（ＲＡＭ）、及び前記データのアドレスを保存する連想メモリ（ＣＡＭ）を有するキャッシュメモリであって、前記ＣＡＭは、複数の直列ＣＡＭセル、複数の並列ＣＡＭセル、及びドライバを有し、前記複数の直列ＣＡＭセル及び前記複数の並列ＣＡＭセルが複数の行及び複数の列に配列されて、各行が少なくとも１つの直列ＣＡＭセル及び少なくとも２つの並列ＣＡＭセルを含み、前記ドライバが前記複数の列のＣＡＭセルの複数のサーチラインを生成し、各検索動作の前に少なくとも１列の直列ＣＡＭセルの少なくとも１つのサーチラインをプリセットするように構成されているキャッシュメモリと、
前記データを得るために前記キャッシュメモリにアクセスするプロセッサと
を具備した集積回路。
【請求項１６】
前記プロセッサは、無線通信の処理を実行するように構成されている請求項１５に記載の集積回路。
【請求項１７】
各行が少なくとも１つの直列の連想メモリ（ＣＡＭ）セル及び少なくとも２つの並列ＣＡＭセルを有し、複数の行のＣＡＭセルからなるＣＡＭを検索する方法であって、
前記複数の行のＣＡＭセルの各々について、
前記行内の少なくとも２つの前記並列ＣＡＭセルのマッチラインをプリチャージするために、前記行内の少なくとも１つの直列ＣＡＭセルの少なくとも１つのサーチラインをプリセットする処理と、
前記行内の前記少なくとも１つの直列ＣＡＭセルを順番に検索する処理と、
前記行内の少なくとも２つの前記並列ＣＡＭセルを選択的で並列に検索する処理と
を有する方法。
【請求項１８】
前記複数の行のＣＡＭセルを並列に検索する処理をさらに有する請求項１７に記載の方法。
【請求項１９】
前記行内の少なくとも１つの直列ＣＡＭセルの少なくとも１つのサーチラインをプリセットする処理は、
前記行内の少なくとも２つの前記並列ＣＡＭセルの前記マッチラインをプリチャージするために、前記行内の最後の直列ＣＡＭセルのサーチラインをプリセットすることを含む請求項１７に記載の方法。
【請求項２０】
前記行内の少なくとも２つの前記並列ＣＡＭセルを選択的で並列に検索する処理は、
前記行内の少なくとも１つの前記直列ＣＡＭセルがマッチした場合に限って、前記行内の少なくとも２つの前記並列ＣＡＭセルを検索する処理を含む請求項１７に記載の方法。
【請求項２１】
前記行内の少なくとも２つの前記並列ＣＡＭセルを選択的で並列に検索する処理は、
前記行内の少なくとも１つの前記直列ＣＡＭセルの前記検索と同時に、前記行内の少なくとも２つの前記並列ＣＡＭセルを並列に検索する処理を含む請求項１７に記載の方法。
【請求項２２】
前記複数の行のＣＡＭセルの各々について、
少なくとも２つの前記並列ＣＡＭセルの前記検索を可能または不可能にするために、前記行内の少なくとも２つの前記並列ＣＡＭセルの仮想グランドラインを制御する処理をさらに含む請求項１７に記載の方法。
【請求項２３】
各行が少なくとも１つの直列の連想メモリ（ＣＡＭ）セル及び少なくとも２つの並列ＣＡＭセルを有し、複数の行のＣＡＭセルからなるＣＡＭを検索する手段を具備した装置であって、
前記検索手段は、前記複数の行のＣＡＭセルの各々について、
前記行内の少なくとも２つの前記並列ＣＡＭセルのマッチラインをプリチャージするために、前記行内の少なくとも１つの直列ＣＡＭセルの少なくとも１つのサーチラインをプリセットする手段と、
前記行内の少なくとも１つの前記直列ＣＡＭセルを順番に検索する手段と、
前記行内の少なくとも２つの前記並列ＣＡＭセルを選択的で並列に検索する手段とを含む装置。
【請求項２４】
前記行内の少なくとも２つの前記並列ＣＡＭセルを選択的で並列に検索する手段は、
前記行内の少なくとも１つの前記直列ＣＡＭセルがマッチした場合に限って、前記行内の少なくとも２つの前記並列ＣＡＭセルを検索する手段を含む請求項２３に記載の装置。
【請求項２５】
前記行内の少なくとも２つの前記並列ＣＡＭセルを選択的で並列に検索する手段は、
前記行内の少なくとも１つの前記直列ＣＡＭセルの前記検索と同時に、前記行内の少なくとも２つの前記並列ＣＡＭセルを並列に検索する手段を含む請求項２３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には電子回路に関し、特に、連想メモリ（content addressable memory）に関する。
【背景技術】
【０００２】
連想メモリ（ＣＡＭ）は、メモリセルと関連比較回路のアレイである。これらの比較回路は、メモリアレイの内容の高速検索を可能にする。入力値がいずれかの行に保存された値とマッチするか否かを決定するため、メモリアレイの全ての行を、並列に検索／評価することができる。各行は、その行の検索結果を示すそれぞれのマッチライン（match line）に関連付けされている。入力値とマッチする各行のマッチラインは、マッチを示すために（例えば論理ハイに）アサートされる（論理的に有効になる）。また、入力値とマッチしない各行のマッチラインは、ミスマッチを示すために（例えば論理ローに）デアサートされる（論理的に無効になる）。
【０００３】
ＣＡＭは、例えばキャッシュメモリなど、様々な応用に使用される。キャッシュメモリは、他のタイプのメモリよりも高速なアクセスが可能であり、プロセッサによりアクセスされる可能性がより高いデータを保存するために使用される。キャッシュメモリは、データを保存するランダムアクセスメモリ（ＲＡＭ）、及びデータのアドレスを保存するＣＡＭを含むことができる。所定のデータのワードがキャッシュメモリ内に保存されているか否かを決定する目的で、ＣＡＭは、このワードのアドレスとマッチするアドレスが保存されているか否かを判定するための検索が行われる。マッチするアドレスが存在すれば、所望のワードを、キャッシュメモリで使用されているＲＡＭから取り出すことが可能となる。
【０００４】
包括的には、ＣＡＭは、例えば、メモリアクセスを伴う各プロセッサ命令のために検索される。したがって、一般的には、ＣＡＭのパフォーマンスは、プロセッサのパフォーマンスに対する大きな影響を有する。高速な検索スピードは、ＣＡＭの全ての行を並列に検索することによって達成されることができる。しかし、並列検索は、大量の電力を消費し、このことは多くの応用にとって望ましくない。
【発明の開示】
【発明の概要】
【０００５】
したがって、高いパフォーマンスを備え、かつ電力消費が低いＣＡＭを実現する技術が要求される。
【０００６】
本明細書で説明される直列並列混合ＣＡＭは、高いパフォーマンス及び低い電力消費を達成することが可能である。このＣＡＭは、複数（Ｎ）の列および複数（Ｍ）の行に並べられた、直列ＣＡＭセルおよび並列ＣＡＭセルを含む。各行は、少なくとも１つの直列ＣＡＭセルと、少なくとも２つの並列ＣＡＭセルと、その行内の並列ＣＡＭセル用のマッチラインおよび仮想グランドライン（virtual ground line）とを含む。Ｍ個の行は、並列に検索される。各行において、直列ＣＡＭセルは、順番に検索され、並列ＣＡＭセルは、選択された方法で並列に検索される。各行において、並列ＣＡＭセルは、（１）直列ＣＡＭセルがマッチした場合に限って、並列に検索されることができ、これは電力消費を低減し、または（２）直列ＣＡＭセルの検索と同時に、並列に検索されることができ、これは検索スピードを向上させる。各行の仮想グランドラインは、その行の並列ＣＡＭセルの検索を可能または不可能にするために制御される。
【０００７】
さらに、このＣＡＭは、Ｎ列のＣＡＭセルに対して、列当たり１つのサーチライン（search line）となる、Ｎ個のサーチラインを生成するドライバを含む。ドライバは、ＣＡＭ内で検索されるＮビット値を表すように、Ｎ個のサーチラインをセットする。各検索操作に先立って、ドライバは、各行のマッチラインをプリチャージするために、少なくとも１列の直列ＣＡＭセルのための少なくとも１つのサーチラインをプリセットする。プリセットとは、所定の論理値（例えば論理ロー）を表すように、ラインをセットまたは強制することである。例えば、以下で説明されるように、各行が４個の直列ＣＡＭセルを含む場合、ドライバは、行内の第２のＣＡＭセルまたは第４のＣＡＭセルのためのサーチラインをプリセットすることができる。少なくとも１つのサーチラインのプリセットは、直列ＣＡＭセクションのためのタイミング信号を不要にする。このタイミング信号の省略は、検索スピードを向上させることができる。
【０００８】
本発明の様々な態様および実施形態が、以下でさらに詳細に説明する。
【０００９】
本発明の特徴および特質は、以下で述べられる詳細な説明を図面と併せて読むことで、より一層明らかになり、図面全体において同じ参照符号は同様のものを識別する。
【詳細な説明】
【００１０】
本明細書では、「例示的」という語は、「例、実例、または図例として役立つ」ことを意味するために使用される。本明細書で「例示的」として説明されるどのような実施形態または設計も、その他の実施形態または設計よりも、好ましい又は有利であると必ずしも解釈されるべきではない。
【００１１】
図１は、直列並列混合ＣＡＭ１００のブロック図を示している。ＣＡＭ１００は、ＣＡＭアレイ１１０と、サーチラインドライバ１４０と、出力回路１５０とを含む。ＣＡＭアレイ１１０は、Ｍ行Ｎ列のＣＡＭセル１２０、１２２を有する２次元配列である。ここで、ＭおよびＮは各々、任意の整数値とすることができる。ＣＡＭアレイ１１０の各行は、例えばアドレスのためのエントリを集団で保存する、Ｎ個のＣＡＭセルを含む。各行は、その行の全てのＣＡＭセルにより決定される論理値を有するマッチラインに関連付けられている。Ｎ個の列の各々は、Ｎビット入力アドレスの異なるビット位置に対応する。各列は、その列の全てのＣＡＭセルに結合される差動サーチライン（differential search line）に関連付けられている。各サーチラインは、入力アドレスの１ビットによって決定される論理値を有する。各サーチライン上の論理値は、そのサーチラインに結合されたＭ個のＣＡＭセルの各々に保存された論理値と比較されることがある。Ｎビット入力アドレスは、ＣＡＭアレイのＭ個の行の全てに提供されて、ＣＡＭアレイ内のＭ個のエントリの全てと同時に比較される。
【００１２】
サーチラインドライバ１４０は、入力アドレスを受け取り、Ｎ列分のＣＡＭセル用のサーチラインを生成する（動作させる）。出力回路１５０は、Ｍ行分のマッチライン（からの信号）を受け取り、所望の出力を行なう。例えば、出力回路１５０は、符号化を実行し、入力アドレスとマッチした特定の行を示すＫビット値を提供することができる。ここで、Ｋは下記式により求められる。
【数１】
2009510665.tif 000003
【００１３】
一般的に、ＣＡＭは、並列検索、直列検索、または直列並列混合検索を実行するように構成される。３つの検索方式の全てについて、入力アドレスとのマッチを探すために、ＣＡＭアレイのＭ行の全てが、並列に検索されることがある。並列検索方式の場合、各行のＮビットの全てが、その行が入力アドレスとマッチするか否かを判定するために、並列に検索される。並列検索方式は、３つの方式のうちで、最も短い時間で検索結果を提供するが、並列比較のため、最も大量の電力を消費する。直列検索方式の場合、各行のＮビットは、典型的には最下位ビット（ＬＳＢ）から開始して順番に検索される。各行の直列検索は、入力アドレスビットと保存ビットとの間にミスマッチが検出されると終了する。別の保存ビットが比較されるのは、すべての先行する保存ビットが対応するアドレスビットとマッチする場合に限るので、直列検索方式は、３つの方式のうちで、最も消費電力が少ない。しかし、直列検索方式は、直列比較のため、３つの方式のうちで、検索結果を提供するのに最も長時間を要する。直列並列混合検索方式は、高速かつ低い電力消費を実現するため、数個のビットに対しては直列検索を実行し、残りのビットに対しては並列検索を実行する。この直列並列混合検索方式については、後述する。
【００１４】
図１に示す実施形態の場合、ＣＡＭアレイ１１０は、４列分の直列ＣＡＭセル１２０と、Ｎ−４列分の並列ＣＡＭセル１２２とを含む。一般的に、ＣＡＭは、任意の数の列の直列ＣＡＭセルと、任意の数の列の並列ＣＡＭセルとを含むことができる。列の合計数Ｎは、ＣＡＭが使用される応用によって一般に決定される。直列ＣＡＭセルの列の数は、電力消費と検索速度の間のトレードオフに基づいて選択することができる。各直列ＣＡＭセル１２０および各並列ＣＡＭセル１２２は、以下で説明するように実現することができる。
【００１５】
図２Ａは、図１の直列ＣＡＭセル１２０の各々のために使用され得る、直列ＣＡＭセル１２０ｘの構成図を示す。ＣＡＭセル１２０ｘは、データビットを保存するメモリセル２１０と、保存データビットをアドレスビットと比較する比較回路２２０ｘとを含む。メモリセル２１０は、１対の交差結合されたインバータ２１２、２１４を含む。インバータ２１２の出力は、インバータ２１４の入力、Ｎチャネル電界効果トランジスタ（Ｎ−ＦＥＴ）２１６のドレーン、及びデータライン（data line）ｑのそれぞれに結合されている。インバータ２１４の出力は、インバータ２１２の入力、Ｎ−ＦＥＴ２１８のドレーン、及び相補データライン（complementary data line）ｑｂのそれぞれに結合される。Ｎ−ＦＥＴ２１６、２１８の各ゲートは、ワードライン（word line）に結合されている。Ｎ−ＦＥＴ２１６のソースは、ビットライン（bit line）ｂに結合されている。Ｎ−ＦＥＴ２１８のソースは、相補ビットライン（complementary bit line）ｂｂに結合されている。ワードラインは、プログラミングのために、ＣＡＭセルの行を選択し有効にするために使用される。差動ビットライン（differential bit line）は、データビットをメモリセル２１０に書き込むために使用される。インバータ２１２、２１４は、正帰還メカニズム（positive feedback mechanism）を介してデータビットを保存する。メモリセル２１０のプログラミングは、当技術分野においては知られている。
【００１６】
比較回路２２０ｘは、３つのＮ−ＦＥＴ２２２、２２４、２２６、及びＰチャネルＦＥＴ（Ｐ−ＦＥＴ）２２８を含む。Ｎ−ＦＥＴ２２２、２２４は、データラインｑおよび相補データラインｑｂにそれぞれ結合されるゲート、サーチラインｓおよび相補サーチライン（complementary search line）ｓｂにそれぞれ結合されるソース、及び互いに結合され、さらにＦＥＴ２２６、２２８のゲートに結合されるドレーンを有する。Ｎ−ＦＥＴ２２６は、入力マッチラインmatch_inに結合されるソース、及び出力マッチラインmatch_outに結合されるドレーンを有する。Ｐ−ＦＥＴ２２８は、出力マッチラインに結合されるソース、及び供給電圧ＶＤＤに結合されるドレーンを有する。
【００１７】
比較回路２２０ｘは、以下のように動作する。差動サーチラインｓ、ｓｂは、アドレスビットの値を表すようにセットされる。アドレスビットがメモリセル２１０内に保存されたデータビットとマッチする場合、サーチラインｓがデータラインｑとマッチし、相補サーチラインｓｂが相補データラインｑｂとマッチし、Ｎ−ＦＥＴ２２２または２２４のｅ一方がＯＮになる。ＯＮにされたＮ−ＦＥＴによって、ノードｅｑが論理ハイになる。ノードｅｑ上の論理ハイは、Ｐ−ＦＥＴ２２８をＯＦＦにし、Ｎ−ＦＥＴ２２６をＯＮにし、このことが、入力マッチライン上の論理値を出力マッチラインに渡す。一方、アドレスビットが保存データビットとマッチしない場合、Ｎ−ＦＥＴ２２２または２２４の一方がＯＮにされ、ＯＮにされたＮ−ＦＥＴによりノードｅｑが論理ローになり、Ｎ−ＦＥＴ２２６がＯＦＦになり、Ｐ−ＦＥＴ２２８がＯＮになり、さらに出力マッチラインが論理ハイになる。したがって、比較回路２２０ｘは、マッチが存在する場合には入力マッチライン上の論理値を出力マッチラインに渡し、ミスマッチが存在する場合にはハイ論理値を出力マッチラインに提供する。
【００１８】
図２Ｂは、図１の直列ＣＡＭセル１２０の各々のためにやはり使用され得る、直列ＣＡＭセル１２０ｙの構成図を示す。ＣＡＭセル１２０ｙは、データビットを保存するメモリセル２１０、及び保存データビットとアドレスビットとを比較する比較回路２２０ｙを含む。比較回路２２０ｙは、図２Ａの比較回路２２０ｘについて前述した結合状態のＮ−ＦＥＴ２２２、２２４、２２６、及びＰ−ＦＥＴ２２８を含む。さらに、比較回路２２０ｙは、Ｐ−ＦＥＴ２３２、２３４を含む。Ｐ−ＦＥＴ２３２、２３４はそれぞれ、相補データラインｑｂとデータラインｑに結合されるゲート、サーチラインｓおよび相補サーチラインｓｂに結合されるソース、及び相互に結合され、さらにＦＥＴ２２６、２２８のゲートに結合されるドレーンを有する。Ｎ−ＦＥＴ２２２及びＰ−ＦＥＴ２３２は、ｑおよびｑｂラインによって制御される相補形金属酸化膜半導体（ＣＭＯＳ）ゲートを形成する。Ｎ−ＦＥＴ２２４及びＰ−ＦＥＴ２３４は、ｑｂおよびｑラインによって制御される別のＣＭＯＳゲートを形成する。
【００１９】
図２Ｃは、図１の並列ＣＡＭセル１２２の各々のために使用され得る、並列ＣＡＭセル１２２ｘの構成図を示す。ＣＡＭセル１２２ｘは、データビットを保存するメモリセル２１０、及び保存データビットとアドレスビットとを比較する比較回路２４０ｘを含む。比較回路２４０ｘは、３つのＮ−ＦＥＴ２４２、２４４、２４６を含む。Ｎ−ＦＥＴ２４２、２４４はそれぞれ、データラインｑおよび相補データラインｑｂに結合されるゲート、相補サーチラインｓｂおよびサーチラインｓに結合されるソース、及び相互に結合され、さらにＮ−ＦＥＴ２４６のゲートに結合されるドレーンを有する。Ｎ−ＦＥＴ２４６は、matchラインに結合されるドレーン、及び仮想回路グランド（virtual circuit ground）match_gndに結合されるソースを有する。
【００２０】
Ｐ−ＦＥＴ２５６は、matchラインをプリチャージするために使用される。Ｐ−ＦＥＴ２５６は、供給電圧ＶＤＤに結合されるドレーン、matchラインに結合されるソース、及びプリセットライン（preset line）ｐｒｅに結合されるゲートを有する。
【００２１】
比較回路２４０ｘは、以下のように動作する。ＣＡＭセルの行上で検索を実行するのに先立ち、ｐｒｅラインが論理ローに引き下げられ、Ｐ−ＦＥＴ２５６がＯＮにされ、matchラインが供給電圧ＶＤＤまでプリチャージされる。その後に、ｐｒｅラインが論理ハイに引き上げられ、Ｐ−ＦＥＴ２５６がＯＦＦにされる。差動サーチラインｓ、ｓｂは、アドレスビット値を表すようにセットされる。アドレスビットが保存データビットとマッチする場合、Ｎ−ＦＥＴ２４２または２４４の一方がＯＮにされ、ノードｅｑを論理ローに引き下げ、Ｎ−ＦＥＴ２４６がＯＦＦにされ、matchラインは仮想回路グランドまで引き下げられない。一方、アドレスビットが保存データビットとマッチしない場合、Ｎ−ＦＥＴ２４２または２４４のどちらかがＯＮにされ、ノードｅｑを論理ハイに引き上げ、Ｎ−ＦＥＴ２４６がＯＮにされ、matchラインは仮想回路グランドまで引き下げられる。マッチしないいずれかのＣＡＭセルは、matchラインを論理ローに引き下げる。行内のすべてのＣＡＭセルがマッチする場合、matchラインはプリチャージされた（論理ハイ）状態に維持される。
【００２２】
図２Ｄは、図１の並列ＣＡＭセル１２２の各々のためにやはり使用され得る、並列ＣＡＭセル１２２ｙの構成図を示す。ＣＡＭセル１２２ｙは、データビットを保存するメモリセル２１０、及び保存データビットとアドレスビットとを比較する比較回路２４０ｙを含む。比較回路２４０ｙは、図２Ｃの比較回路２４０ｘについて前述した結合状態の３つのＮ−ＦＥＴ２４２、２４４、２４６を含む。さらに、比較回路２４０ｙは、Ｐ−ＦＥＴ２５２、２５４を含む。Ｐ−ＦＥＴ２５２、２５４はそれぞれ、相補データラインｑｂおよびデータラインｑに結合されるゲート、相補サーチラインｓｂおよびサーチラインｓに結合されるソース、及び相互結合され、さらにＮ−ＦＥＴ２４６のゲートに結合されるドレーンを有する。Ｎ−ＦＥＴ２４２及びＰ−ＦＥＴ２５２は、ｑおよびｑｂラインによって制御されるＣＭＯＳゲートを形成する。Ｎ−ＦＥＴ２４４及びＰ−ＦＥＴ２５４は、ｑｂおよびｑラインによって制御される別のＣＭＯＳゲートを形成する。
【００２３】
図２Ａから図２Ｄは、直列および並列ＣＡＭセルを実現するための具体例を示す。これらのＣＡＭセルは、別の具体例により実現することも可能である。
【００２４】
並列検索方式の場合、検索の実行に先立って、Ｍ行全てのマッチラインがプリチャージされる。典型的には、（マッチするならば）ただ１つの行が入力アドレスとマッチし、この行のマッチラインは、論理ハイに維持される。その他の全ての行はマッチせず、これらの行のマッチラインは、論理ローにディスチャージされる。各行は、相対的に大きな寄生キャパシタンス（parasitic capacitance）を有する。高キャパシタンスのマッチラインの連続的なプリチャージおよびディスチャージは、並列検索方式の場合に高い電力消費となる。
【００２５】
直列検索方式の場合、各行の左端（またはＬＳＢ）の直列ＣＡＭセルの入力マッチラインが、論理ローにセットされる。Ｍ行の全てが並列に検索されるが、各行では、ミスマッチが存在するか、または行内の全てのビットが検索されるまで、１度にただ１つのビットが検索される。いずれかの所与のビットでミスマッチが存在するとき、高キャパシタンスのマッチラインはディスチャージされないので、電力消費は低減される。しかし、検索速度は遅くなり、行内のＣＡＭセルの数に依存したものになる。さらに、一般的には、各行でビットの順次検索を制御するために、タイミング信号が必要とされる。
【００２６】
直列並列混合検索方式は、低い電力消費及び高速の検索速度を得ることを目指すものである。いずれかの所与のビットのマッチの確率は、５０％であると想定することができる。一般的により低位のビットに当てはまることだが、各行のビットが独立である場合、ｎビット後のマッチの確率は（１／２）ｎであり、ｎビット後のミスマッチの確率は１−（１／２）ｎである。例えば、２ビット後のミスマッチの確率は７５％であり、３ビット後は８７．５％、４ビット後は９３．７５％、以降も同様である。直列検索は、低い電力消費を得るために、少数のビット数（例えば４ビット）に対して実行される。この少数のビット数の検索後に、大部分の行はマッチしていない場合に、並列検索は、直列部（直列セクション）でマッチした各行の残りのビットに対して実行される。
【００２７】
図３は、直列並列混合ＣＡＭのＣＡＭセルの１つの行３００を示す。行３００は、４つの直列ＣＡＭセル１２０ａ〜１２０ｄを有する直列部、及び複数の並列ＣＡＭセル１２２を有する並列部（並列セクション）を含む。直列ＣＡＭセル１２０ａ〜１２０ｄの各々は、図２Ａまたは図２Ｂに示されたように実装されることができる。各並列ＣＡＭセル１２２は、図２Ｃまたは図２Ｄに示すように実現される。
【００２８】
４つのＣＡＭセル１２０ａ〜１２０ｄは、直列に結合されるパストランジスタ（pass transistor）２２６の数を制限し、直列ＣＡＭセル間の入力および出力マッチライン上の寄生キャパシタンスを低減するために、２つの対をなすように構成される。より少ないパストランジスタ２２６は、これらのトランジスタがＯＮにされるとき、それらにおける電圧降下を低減する。より低い寄生キャパシタンスは、入力および出力マッチラインの過渡応答を改善し、そのことが、より速い伝播時間及びより速い動作速度を可能にする。ＮＯＲゲート３３０は、ＣＡＭセル１２０ｂからの出力マッチラインm2b（の信号）及びpreB信号を受け取り、Ｎ−ＦＥＴ３３２及びＰ−ＦＥＴ３３４の各ゲートを駆動する。Ｎ−ＦＥＴ３３２は、回路グランドに結合されるソース、及び直列ＣＡＭセル１２０ｃの入力マッチラインに結合されるドレーンを有する。Ｐ−ＦＥＴ３３４は、回路グランドに結合されるソース、及びＣＡＭセル１２０ｄの出力マッチラインm4bに結合されるドレーンを有する。インバータ３４０は、ＣＡＭセル１２０ｄから出力マッチラインｍ４ｂ（の信号）を受け取り、直列部に関するマッチラインmatch_s（の信号）を提供する。Ｎ−ＦＥＴ３４２、３４４はそれぞれ、インバータ３４０の出力およびparラインに結合されるゲート、回路グランドに結合されるソース、及び並列部に関する仮想回路グランドmatch_gndに結合されるドレーンを有する。ＮＡＮＤゲート３５０は、ＣＡＭセル１２０ｄからの出力マッチラインm4d（の信号）とparB信号を受け取る。Ｐ−ＦＥＴ３５２、３５４はそれぞれ、ＮＡＮＤゲート３５０の出力及びpreラインに結合されるゲート、及び並列部に関するマッチラインmatch_pに結合されるソース、及び供給電圧ＶＤＤに結合されるドレーンを有する。ＡＮＤゲート３６０は、直列部および並列部に関するマッチラインmatch_s（の信号）、match_p（の信号）を受け取り、行に関するマッチライン（の信号）を提供する。
【００２９】
一般的に、ＣＡＭの全電力消費の大きな部分は、マッチラインの連続的なプリチャージおよびディスチャージ、及びサーチラインの連続的なプリチャージおよびディスチャージに起因する。前述したように、電力消費は、直列部がマッチした僅かなパーセンテージの行のみを検索することによって、低減することができる。この場合、僅かなパーセンテージの行のマッチラインのみが、プリチャージおよびディスチャージされる。電力消費は、サーチラインをプリチャージおよびディスチャージしないことによっても、低減することができる。一般的に、例えば図２Ｃに示すＰ−ＦＥＴ２５６及びＮ−ＦＥＴ２４６を介して、供給電圧ＶＤＤを回路グランドに短絡しないように、マッチラインがプリチャージされている間、サーチラインｓ及び相補サーチラインｓｂは、いずれも論理ローにプリセットされる。その後、ｓまたはｓｂラインは、入力アドレスビット値に応じて、論理ハイにセットされる。ｓおよびｓｂラインの論理ローへのプリセットは、これら２つのラインの一方のプリチャージおよびディスチャージをもたらす。match_pラインをプリチャージし、その後、供給電圧が回路グランドに短絡されることを防止している間、このプリセットは、match_gndラインをフロート（float）させることによって回避することができる。サーチラインをプリセットしないことによって、電力は、各検索毎の代わりに、入力アドレスビットが値を変化させたときのみ散逸される。
【００３０】
図３に示すアーキテクチャは、直列並列混合検索の２つのモードをサポートする。順次モードでは、４つの直列ＣＡＭセルは逐次検索され、並列ＣＡＭセルは全ての直列ＣＡＭセルがマッチした場合にのみ、並列に検索される。並列モードでは、直列ＣＡＭセルは逐次検索され、並列ＣＡＭセルは並列に検索される。さらに、直列及び並列検索は同時に実行されることにより、検索結果がより早く得られる。どちらのモードでも、図３に示すように、直列部に関するmatch_sライン及び並列部に関するmatch_pラインは、行全体のマッチライン（の信号）を生成するために、一緒にＡＮＤ演算を施される。
【００３１】
順次モードの場合、par信号は論理ローであり、parB信号は論理ハイである。Ｎ−ＦＥＴ３４４はＯＦＦにされ、match_gndラインはＮ−ＦＥＴ３４２によって制御され、ＮＡＮＤゲート３５０の出力はmatch_sライン（の信号）と等しい。全ての直列ＣＡＭセルがマッチする場合、match_sライン（の信号）は論理ハイであり、match_gndラインは論理ローに引き下げられる。反対に、直列ＣＡＭセルがマッチしない場合、match_sラインの信号は論理ローであり、Ｐ−ＦＥＴ３５２はＯＮにされ、match_pラインはプリチャージされる。
【００３２】
並列モードの場合、par信号は論理ハイであり、parB信号は論理ローである。Ｎ−ＦＥＴ３４４はＯＮにされ、match_gndラインは常に論理ローに引き下げられる。並列部は、直列検索が実行されている間に動作可能である。ＮＡＮＤゲート３５０の出力は論理ハイであり、Ｐ−ＦＥＴ３５２はＯＦＦにされ、match_pラインはpre信号を使用して、Ｐ−ＦＥＴ３５４を介してプリチャージされる。
【００３３】
行３００の直列並列混合検索は、以下のように実行される。直列部では、直列検索が、ＣＡＭセル１２０ａから順番に１度に１つのＣＡＭセルずつ、または直列部内の全てのＣＡＭセルに対して並列に実行される。各直列ＣＡＭセルは、マッチが存在する場合には直前の直列ＣＡＭセルからの検索結果を渡し、ミスマッチが存在する場合には論理ハイの信号を渡す。
【００３４】
全ての直列ＣＡＭセル１２０ａ〜１２０ｄがマッチする場合、ＣＡＭセル１２０ｄからの出力マッチラインm4bは論理ローであり、インバータ３４０の出力は論理ハイであり、Ｎ−ＦＥＴ３４２はＯＮにされ、match_gndラインは回路グランドに引き下げられる。match_pラインは、先行する検索の間にプリチャージされ、並列部内のＣＡＭセルは、match_gndラインが回路グランドにあるときに有効になる。全ての並列ＣＡＭセル１２２がマッチする場合、match_pラインは論理ハイに維持される。ＡＮＤゲート３６０の出力は、直列部及び並列部が共にマッチする場合に論理ハイになる。
【００３５】
反対に、直列ＣＡＭセル１２０ａ〜１２０ｄのいずれか１つがマッチしない場合、ＣＡＭセル１２０ｄからの出力マッチラインm4bは論理ハイであり、インバータ３４０の出力は論理ローであり、Ｎ−ＦＥＴ３４２はＯＦＦにされ、match_gndラインはフロートし、並列部は使用不可にされる。順次モードの場合にはも、parBラインは論理ハイであり、m4bライン上の論理ローは、ＮＡＮＤゲート３５０の出力に論理ローをもたらす。Ｐ−ＦＥＴ３５２はＯＮになり、match_pラインをプリチャージする。全ての直列ＣＡＭセルがマッチしたわけではないため、先行する検索において並列部が使用可能でなかった場合、Ｐ−ＦＥＴ３５２は、直前のプリチャージ以降にリークし得る少量の電荷を補充しさえすればよい。
【００３６】
直列ＣＡＭセルにミスマッチが存在するとき、match_pラインのみがプリチャージされる場合、ある状況では、match_pラインは誤っている可能性がある。そのような状況の１つは、所与の検索に関して、直列ＣＡＭセルはマッチし、並列ＣＡＭセルはマッチせず、前述したようにmatch_pラインがプリチャージされない場合である。先行する検索においてmatch_pラインがプリチャージされなかったので、次の検索において直列ＣＡＭセル及び並列ＣＡＭセルが共にマッチする場合に、並列部は誤ってミスマッチを宣言するかもしれない。前述した場合での誤った検出を回避するため、match_pラインは、preB信号を用いて各検索の前にプリチャージされる。このプリチャージは、preBライン上に論理ハイを提供することにより実現されて、ＮＯＲゲート３３０の出力に論理ローをもたらす。ＮＯＲゲート３３０からの論理ローは、Ｐ−ＦＥＴ３３４をＯＮにし、m4bライン上に論理ハイを強制し、そのことがＰ−ＦＥＴ３５２をＯＮにし、かつmatch_pラインをプリチャージする。
【００３７】
preBラインは、match_pラインのプリチャージ中に、match_gndラインが論理ローにセットされることも防止する。preBラインが存在せず、m2bラインが論理ローである場合、ＮＯＲゲート３３０の出力は論理ハイであり、Ｎ−ＦＥＴ３３２はＯＮにされ、直列ＣＡＭセル１２０ｃに対する入力マッチラインは論理ローであり、m4bラインは論理ローとなり、match_sラインは論理ハイであることができ、その後、そのことが、match_gndラインを論理ローに引き下げる。その後、並列部は使用可能にされ、供給電圧ＶＤＤまでプリチャージされているmatch_pラインを短絡することができる。preBラインが存在し、プリチャージ中に論理ハイにセットされる場合、match_gndラインが論理ローに引き下げられることは防止される。フロートするmatch_gndラインは、match_pラインのプリチャージ中に並列部を使用不可にする。
【００３８】
preB信号は、ＮＯＲゲート３３０がプリチャージのための所望の論理値を提供することを保証するため、十分なタイミングマージン（timing margin）をとって生成される。特に、m2b信号の論理状態は、ＮＯＲゲート３３０からの有効な出力を保証するため、preBラインがアサートされる前に、整定されるべきである。preBラインのためのタイミングマージンは、直列部が検索され得る速度を制限し、そのことが、ＣＡＭの行全体が検索され得る速度を制限することになる。
【００３９】
図４は、直列部のためのタイミング信号をもたない、直列並列混合ＣＡＭのＣＡＭセルの１つの行４００を示す。行４００は、図３に示すように、４つの直列ＣＡＭセル１２０ａ〜１２０ｄを有する直列部、及び複数の並列ＣＡＭセル１２２を有する並列部を含む。さらに、行４００は、ＮＯＲゲート３３０を除く、図３の行３００のためのサポート回路の全てを含む。図４に示す実施形態の場合には、ＮＯＲゲート３３０に代わるインバータ４３０は、直列ＣＡＭセル１２０ｂからのm2bラインに結合される入力、及びＮ−ＦＥＴ３３２、３３４の各ゲートに結合される出力を有する。インバータ４３０及びＮ−ＦＥＴ３３２は、m2bラインのためのバッファ回路を形成する。このバッファ回路は、その他のタイプの回路を用いて実現される。
【００４０】
行４００のための直列並列混合検索は、以下のように実行される。検索を実行する前に、ｓ２及びｓ２ｂラインが共に論理ローになるように、match_pラインは、第２の直列ＣＡＭセル１２０ｂのサーチラインをプリセットすることによってプリチャージされる。ｓ２およびｓ２ｂライン上の論理ローは、Ｎ−ＦＥＴ２２２ｂまたは２２４ｂの一方をＯＮにし、そのことが、eq2ノードを論理ローに引き下げる。eq2ノード上の論理ローは、Ｐ−ＦＥＴ２２８ｂをＯＮにし、そのことが、m2bラインを論理ハイに引き上げ、インバータ４３０の出力を論理ローに強制する。インバータ４３０の出力での論理ローは、Ｐ−ＦＥＴ３３４をＯＮにし、そのことが、m4bラインを論理ハイに引き上げ、インバータ３４０の出力を論理ローに強制し、ＮＡＮＤゲート３５０の出力を論理ローにセットする。インバータ３４０の出力での論理ローは、Ｎ−ＦＥＴ３４２をＯＦＦにし、そのことが、match_gndラインをフロートさせる。ＮＡＮＤゲート３５０の出力での論理ローは、Ｐ−ＦＥＴ３５２をＯＮにし、そのことが、match_pラインをプリチャージする。match_pラインをプリチャージした後、直列ＣＡＭセル１２０ｂのｓ２およびｓ２ｂラインはリリースされ、第２の入力アドレスビットの値を取る。その後、図３について前述した直列部について、直列検索が実行される。プリチャージは、クロック信号の１つの位相上で（例えば論理ハイの間に）実行されることができ、かつ比較は、クロック信号の別の位相上で（例えば論理ローの間に）実行されることができる。
【００４１】
図４に示す実施形態の場合には、各検索の前にmatch_pラインをプリチャージするために、第２の直列ＣＡＭセル１２０ｂの差動サーチラインｓ２、ｓ２ｂのみがプリセットされる。行内のその他の全ての直列ＣＡＭセルのサーチラインは、プリセットされてもよく、またはされなくてもよい。例えば、第１の直列ＣＡＭセル１２０ａもプリセットされてよいが、このことは、match_pラインをプリチャージするために必要とはされない。別の実施形態では、最後の直列ＣＡＭセル１２０ｄのサーチラインが、各検索の前にプリセットされ、その他の全ての直列ＣＡＭセルのサーチラインは、プリセットされてもよく、またはされなくてもよい。さらに別の実施形態では、全ての直列ＣＡＭセルのサーチラインが、各検索の前にプリセットされる。一般的に、任意の数の直列ＣＡＭセルのサーチラインが、match_pラインをプリチャージするためにプリセットされてよい。プリセットされる各サーチラインについて電力が散逸されるので、できるだけ少ない数のサーチライン（例えば１つのサーチライン）を各検索の前にプリセットするのが望ましい。
【００４２】
図５は、直列部のためのタイミング信号をもたない、順次モードのみをサポートする、直列並列混合ＣＡＭのＣＡＭセルの１つの行５００を示す。行５００は、図３及び図４に示すように、４つの直列ＣＡＭセル１２０ａ〜１２０ｄを有する直列部、及び複数の並列ＣＡＭセル１２２を有する並列部を含む。さらに、行５００は、並列モードがサポートされないので、ＮＯＲゲート３５０、Ｎ−ＦＥＴ３４４、及びＰ−ＦＥＴ３５４が省略される場合を除いて、図４の行４００のためのサポート回路の全てを含む。Ｐ−ＦＥＴ３５２のゲートは、インバータ３４０の出力に結合されている。
【００４３】
図５に示す実施形態の場合には、任意の与えられた瞬間に、Ｎ−ＦＥＴ３４２またはＰ−ＦＥＴ３５２のいずれかがＯＮになる。各検索の前に、第２の直列ＣＡＭセルのｓ２及びｓ２ｂラインがプリセットされ、インバータ３４０の出力に論理ローが生成され、Ｐ−ＦＥＴ３５２がＯＮになり、match_pラインがプリチャージされる。その後、Ｐ−ＦＥＴ３５２がＯＦＦにされ、Ｎ−ＦＥＴ３４２がＯＮになり、match_gndラインが論理ローに引き下げられ、並列部が使用可能にされる。
【００４４】
図６は、直列部のためのタイミング信号をもたない、順次モードのみをサポートする、直列並列混合ＣＡＭのＣＡＭセルの１つの行６００を示す。行６００は、ｋ個の直列ＣＡＭセル１２０ａ〜１２０ｋを有する直列部、及び複数の並列ＣＡＭセル１２２を有する並列部を含む。一般的に、ｋ＞１である（例えば、ｋは２、３、４、．．．などとすることができる）。行６００は、インバータ４３０、Ｎ−ＦＥＴ３３２、及びＰ−ＦＥＴ３３４が省略される場合を除いて、図５の行５００のためのサポート回路の全てを含む。図６に示す実施形態の場合には、各直列ＣＡＭセルの出力マッチラインは、次の直列ＣＡＭセルの入力マッチラインに直接結合される。最後の直列ＣＡＭセルのｓｋおよびｓｋｂは、match_pラインをプリチャージするために各検索の前にプリセットされる。
【００４５】
図４、図５、及び図６は、直列部のためのタイミング信号を必要としない、直列並列混合検索を実行し得るＣＡＭの具体例を示す。直列並列混合ＣＡＭは、本明細書での説明に基づいたその他の具体例を用いて実現されることも可能である。
【００４６】
図７は、複数の行からなり、各行が少なくとも１つの直列ＣＡＭセルと少なくとも２つの並列ＣＡＭセルとを有するＣＡＭの直列並列混合検索を実行するためのプロセス７００を示す。ＣＡＭの行は、並列に検索される（ブロック７１０）。各行の少なくとも１つの直列ＣＡＭセルの少なくとも１つのサーチラインが、その行の並列ＣＡＭセルのマッチラインをプリチャージするためにプリセットされる（ブロック７１２）。例えば、（図４及び図５の）第２の直列ＣＡＭセルのサーチライン、または（図６の）最後の直列ＣＡＭセルのサーチラインが、プリセットされることができる。各行の直列ＣＡＭセルは、順番に検索される（ブロック７１４）。各行の並列ＣＡＭセルは、選択的で並列に検索される（ブロック７１６）。例えば、与えられた行の並列ＣＡＭセルは、（１）その行の直列ＣＡＭセルがマッチした場合に限って、または（２）直列ＣＡＭセルの検索と同時に、検索されることができる。各行の並列ＣＡＭセルの仮想グランドラインは、並列ＣＡＭセルの検索を可能または不可能にするために制御されることができる。
【００４７】
本明細書で説明されたＣＡＭは、様々な応用のために使用されることができる。ＣＡＭの１つの具体例に対する応用を以下で説明する。
【００４８】
図８は、無線通信システム内の無線装置８００のブロック図を示す。無線装置８００は、携帯電話、ハンドセット、無線端末、携帯情報端末（ＰＤＡ）、またはその他の電子機器を示す。無線システムは、符号分割多元接続（ＣＤＭＡ）システム、時分割多元接続（ＴＤＭＡ）システム、移動体通信用グローバルシステム（ＧＳＭ）システム、周波数分割多元接続（ＦＤＭＡ）システム、直交周波数分割多元接続（ＯＦＤＭＡ）システムなどとすることができる。
【００４９】
無線装置８００は、受信経路および送信経路を介して双方向通信を提供することが可能である。受信経路について、基地局によって送信される信号は、アンテナ８１２によって受信され、受信機ユニット（ＲＣＶＲ）８１４に提供される。受信機ユニット８１４は、受信信号を整え（例えば、フィルタリング、増幅、および周波数ダウンコンバートを行い）、整えられた信号をディジタル化し、データサンプルをさらなる処理のために特定用途向け集積回路（ＡＳＩＣ）８２０に提供する。送信経路について、無線装置８００から送信されたデータは、ＡＳＩＣ８２０によって送信機ユニット（ＴＭＴＲ）８１６に提供される。送信機ユニット８１６は、データを整え（例えば、フィルタリング、増幅、および周波数アップコンバートを行い）、変調信号を生成し、この変調信号をアンテナ８１２を介して基地局に送信する。
【００５０】
ＡＳＩＣ８２０は、例えば、マイクロプロセッサ８２２、ディジタル信号プロセッサ（ＤＳＰ）８２４、及びキャッシュメモリ８２６などの様々なユニットを含む。マイクロプロセッサ８２２は、汎用処理を実行し、縮小命令セットコンピュータ（ＲＩＳＣ）またはその他の何らかのタイプのプロセッサとすることができる。ＤＳＰ８２４は、送信経路のためのデータ処理（例えば、符号化、インターリービング、変調、符号チャネライゼーション、スペクトル拡散、フィルタリングなど）、および受信経路のためのデータ処理（例えば、フィルタリング、逆拡散、チャネライゼーション、復調、デインターリービング、復号など）を実行する。ＤＳＰ８２４によって実行される処理は、通信システムに依存する。キャッシュメモリ８３０は、マイクロプロセッサ８２２および／またはＤＳＰ８２４のためのデータおよび／またはプログラムコードを保存する。キャッシュメモリ８３０は、データおよび／またはプログラムコードのアドレスを保存するＣＡＭ８３２、及びデータおよび／またはプログラムコードを保存するＲＡＭ８３４を含むことができる。ＣＡＭ８３２は、本明細書で説明されたＣＡＭ設計またはその他の何らかのＣＡＭ設計のいずれかに基づいて実現することができる。コントローラ８４０は、無線装置８００内のＡＳＩＣ８２０およびその他のユニットの動作を制御する。メインメモリ８４２は、コントローラ８４０によって使用されるプログラムコードおよびデータを保存する。
【００５１】
本明細書で説明されるＣＡＭは、ＡＳＩＣ、ＤＳＰ、ディジタル信号処理装置（ＤＳＰＤ）、プログラマブル論理デバイス（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、コントローラ、プロセッサ、およびその他の電子装置などの様々なハードウェアユニットに実装できる。また、ＣＡＭは、ＣＭＯＳ、Ｎ−ＭＯＳ、Ｐ−ＭＯＳ、バイポーラＣＭＯＳ（Ｂｉ−ＣＭＯＳ）、バイポーラなどの様々なＩＣプロセス技術で製作できる。ＣＭＯＳ技術は、同じ集積回路（ＩＣ）上にＮ−ＦＥＴおよびＰ−ＦＥＴの両方を製作することができる。Ｎ−ＭＯＳ技術はＮ−ＦＥＴのみを製作し、Ｐ−ＭＯＳ技術はＰ−ＦＥＴのみを製作することができる。ＣＡＭは、任意のデバイスサイズ技術（例えば、１３０ナノメートル（ｎｍ）、６５ｎｍ、３０ｎｍなど）を使用して製作することができる。
【００５２】
前述の実施形態の説明により、当業者が本発明を作成または使用することができる。これらの実施形態に対する様々な変形例は、当業者にも明確に理解できるものである。さらに、本明細書で定義された一般的原理は、本発明の主旨または範囲から逸脱することなく、その他の実施形態にも適用することができる。したがって、本発明は、本明細書で示された実施形態に限定されることを意図しておらず、本明細書で開示された原理および新規な特徴に矛盾しない最も広い範囲の概念を有するものである。
【図面の簡単な説明】
【００５３】
【図１】直列並列混合ＣＡＭを示す図。
【図２Ａ】直列ＣＡＭセルの例示的な設計を示す図。
【図２Ｂ】直列ＣＡＭセルの例示的な設計を示す図。
【図２Ｃ】並列ＣＡＭセルの例示的な設計を示す図。
【図２Ｄ】並列ＣＡＭセルの例示的な設計を示す図。
【図３】直列並列混合ＣＡＭの１行分のＣＡＭセルを示す図。
【図４】直列ＣＡＭ部のためのどのようなタイミング信号ももたない、直列並列混合ＣＡＭ内の１行分のＣＡＭセルの一実施形態を示す図。
【図５】直列ＣＡＭ部のためのどのようなタイミング信号ももたない、直列並列混合ＣＡＭ内の１行分のＣＡＭセルの一実施形態を示す図。
【図６】直列ＣＡＭ部のためのどのようなタイミング信号ももたない、直列並列混合ＣＡＭ内の１行分のＣＡＭセルの一実施形態を示す図。
【図７】直列並列混合検索を実行するためのプロセスを示す図。
【図８】無線通信システム内の無線装置を示す図。
【図１】
2009510665.tif 000004
【図２Ａ】
2009510665.tif 000005
【図２Ｂ】
2009510665.tif 000006
【図２Ｃ】
2009510665.tif 000007
【図２Ｄ】
2009510665.tif 000008
【図３】
2009510665.tif 000009
【図４】
2009510665.tif 000010
【図５】
2009510665.tif 000011
【図６】
2009510665.tif 000012
【図７】
2009510665.tif 000013
【図８】
2009510665.tif 000014
【手続補正書】
【提出日】平成20年7月8日(2008.7.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項２５
【補正方法】変更
【補正の内容】
【請求項２５】
前記行内の少なくとも２つの前記並列ＣＡＭセルを選択的で並列に検索する手段は、
前記行内の少なくとも１つの前記直列ＣＡＭセルの前記検索と同時に、前記行内の少なくとも２つの前記並列ＣＡＭセルを並列に検索する手段を含む請求項２３に記載の装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
サーチラインドライバ１４０は、入力アドレスを受け取り、Ｎ列分のＣＡＭセル用のサーチラインを生成する（動作させる）。出力回路１５０は、Ｍ行分のマッチライン（からの信号）を受け取り、所望の出力を行なう。例えば、出力回路１５０は、符号化を実行し、入力アドレスとマッチした特定の行を示すＫビット値を提供することができる。ここで、Ｋは下記式により求められる。
【数１】
2009510665.tif 000015
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５０
【補正方法】変更
【補正の内容】
【００５０】
ＡＳＩＣ８２０は、例えば、マイクロプロセッサ８２２、ディジタル信号プロセッサ（ＤＳＰ）８２４、及びキャッシュメモリ８３０などの様々なユニットを含む。マイクロプロセッサ８２２は、汎用処理を実行し、縮小命令セットコンピュータ（ＲＩＳＣ）またはその他の何らかのタイプのプロセッサとすることができる。ＤＳＰ８２４は、送信経路のためのデータ処理（例えば、符号化、インターリービング、変調、符号チャネライゼーション、スペクトル拡散、フィルタリングなど）、および受信経路のためのデータ処理（例えば、フィルタリング、逆拡散、チャネライゼーション、復調、デインターリービング、復号など）を実行する。ＤＳＰ８２４によって実行される処理は、通信システムに依存する。キャッシュメモリ８３０は、マイクロプロセッサ８２２および／またはＤＳＰ８２４のためのデータおよび／またはプログラムコードを保存する。キャッシュメモリ８３０は、データおよび／またはプログラムコードのアドレスを保存するＣＡＭ８３２、及びデータおよび／またはプログラムコードを保存するＲＡＭ８３４を含むことができる。ＣＡＭ８３２は、本明細書で説明されたＣＡＭ設計またはその他の何らかのＣＡＭ設計のいずれかに基づいて実現することができる。コントローラ８４０は、無線装置８００内のＡＳＩＣ８２０およびその他のユニットの動作を制御する。メインメモリ８４２は、コントローラ８４０によって使用されるプログラムコードおよびデータを保存する。
【国際調査報告】
2009510665.tif 000016
2009510665.tif 000017