(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-12
(54)【発明の名称】低減されたヒット信号タイミングマージンのために負荷整合された信号を用いる検索可能アレイ回路及び関連する方法
(51)【国際特許分類】
G11C 15/04 20060101AFI20240305BHJP
【FI】
G11C15/04 631F
G11C15/04 601A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023553030
(86)(22)【出願日】2022-02-20
(85)【翻訳文提出日】2023-08-31
(86)【国際出願番号】 US2022017124
(87)【国際公開番号】W WO2022187009
(87)【国際公開日】2022-09-09
(32)【優先日】2021-03-02
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ビジベムラ,サイ プラカッシュ レディ
(72)【発明者】
【氏名】クマー,ラジェシュ
(57)【要約】
比較メモリセル回路のCAMアレイは、各セットに対応するデコード列を含み、各セットが、少なくとも1つの行の比較メモリセル回路を含む。各デコード列が、対応するセットをアドレス指定するセットクロック信号を受信し、対応するセットの各行にセット一致信号を生成する。列比較回路が、比較タグのビットを示す比較データを生成する。行一致回路が、各行に対して、セット一致信号に応答して、該行に格納されたバイナリタグに比較タグが一致することを示す行一致信号を生成する。セットクロック信号を生成するのに使用されるデコード列内の回路及び負荷が、CAMアレイの各列内の行一致信号を生成する回路に対応することで、一致インジケーションのタイミングマージンを低減させ、CAMアレイに対するアクセス時間を短縮する。
【特許請求の範囲】
【請求項1】
比較メモリセル回路のアレイであって、
少なくとも1つのセットであり、各セットが、比較メモリセル回路の複数の行のうちの少なくとも1つの行を有し、前記複数の行の各行がバイナリタグを格納するように構成される、少なくとも1つのセットと、
前記比較メモリセル回路の複数の列であり、当該複数の列の各列が、前記複数の行の各行内の比較メモリセル回路を有する、複数の列と、
少なくとも1つのデコード列であり、当該少なくとも1つのデコード列の各々が前記少なくとも1つのセットのうちの1つのセットに対応し、当該少なくとも1つのデコード列は、
前記対応するセットのためのセットクロック信号を受信し、
前記対応するセットの各行内のセット一致ライン上にセット一致信号を生成する、
ように構成される、少なくとも1つのデコード列と、
ダイナミックコンパレータ回路であり、
前記少なくとも1つのデコード列の各々に対して、前記対応するセットをアドレス指定するための前記セットクロック信号を生成するように構成されたセットクロック回路、
前記複数の列の各列に対して、比較タグの比較真ビットを示す比較真データを生成するように構成された列比較回路、及び
前記複数の行の各行に対して、該行において生成された前記セット一致信号に応答して、該行に格納された前記バイナリタグに前記比較タグが一致することを示す行一致信号を生成するように構成された行一致回路、
を有するダイナミックコンパレータ回路と、
を有する比較メモリセル回路のアレイ。
【請求項2】
前記複数の行の各行が更に行一致ラインを有し、前記行一致回路は更に、該行に格納された前記バイナリタグに前記比較タグが一致することを前記行一致ラインが示すことに応答して、該行に対する前記行一致信号を生成するように構成される、請求項1に記載の比較メモリセル回路のアレイ。
【請求項3】
各比較メモリセル回路が、前記バイナリタグの比較真ビットに対応する格納真データと、該格納真データに対して補数の格納補数データとを格納するように構成される、請求項2に記載の比較メモリセル回路のアレイ。
【請求項4】
各比較メモリセル回路が更に、
該比較メモリセル回路を有する行の前記行一致ラインと、
該比較メモリセル回路を有する列に対する前記比較真データを受信するように構成された真比較ビットラインと、
に結合された真比較回路を有し、
前記真比較回路は、前記真比較ビットライン上で受信された前記比較真データが該比較メモリセル回路に格納された前記格納真データに一致しないことを示すために、前記行一致ラインを第1電圧に結合するように構成される、
請求項3に記載の比較メモリセル回路のアレイ。
【請求項5】
前記列比較回路は更に、前記複数の列の各列に対して、前記バイナリタグの前記比較真データに対して補数であって前記比較タグの比較補数ビットを示す比較補数データを生成するように構成され、
各比較メモリセル回路が更に、該比較メモリセル回路を有する列に対する前記比較補数データが、該比較メモリセル回路に格納された前記格納補数データに一致しない、ことを示すために、該比較メモリセル回路を有する行の前記行一致ラインを前記第1電圧に結合するように構成された補数比較回路を有する、
請求項4に記載の比較メモリセル回路のアレイ。
【請求項6】
前記真比較回路は更に、前記比較メモリセル回路に格納された前記格納真データによって制御される第1のトランジスタと、前記比較メモリセル回路を有する列に対する前記比較補数データによって制御される第2のトランジスタとを有する、請求項4に記載の比較メモリセル回路のアレイ。
【請求項7】
前記補数比較回路は更に、前記比較メモリセル回路に格納された前記格納補数データによって制御される第3のトランジスタと、前記比較メモリセル回路を有する列に対する前記比較真データによって制御される第4のトランジスタとを有する、請求項5に記載の比較メモリセル回路のアレイ。
【請求項8】
前記セットクロック回路は更に、前記少なくとも1つのデコード列の各々に対して、前記セットに対応するクロック信号及びセットアドレス信号に応答して前記セットクロック信号を生成するように構成される、請求項1に記載の比較メモリセル回路のアレイ。
【請求項9】
前記列比較回路は更に、前記複数の列の各列に対して、前記クロック信号に応答して、前記バイナリタグの前記比較真ビットに基づく前記比較真データを生成するように構成される、請求項8に記載の比較メモリセル回路のアレイ。
【請求項10】
前記少なくとも1つのデコード列の各デコード列が、比較メモリセル回路の前記複数の行の各行内にプルダウン回路を有し、各プルダウン回路が、対応する行内の前記セット一致ラインに結合され、
前記少なくとも1つのセットのうちのセットに対応するデコード列において、
該セット内の行に対応する各プルダウン回路が、前記対応するセットに対する前記セットクロック信号を受信することに応答して、該行内の前記セット一致ラインをアクティブにするように構成され、
前記少なくとも1つのセットのうちの別のセット内の行に対応する各プルダウン回路が、該行内の前記セット一致ラインをアクティブにしないように構成される、
請求項1に記載の比較メモリセル回路のアレイ。
【請求項11】
各デコード列が、前記セットクロック回路によって生成された前記対応するセットに対する前記セットクロック信号を受信するように構成され、
各プルダウン回路が、前記セットクロック信号によって制御される第1のトランジスタと、固定の電圧源に結合された第2のトランジスタとを有する、
請求項10に記載の比較メモリセル回路のアレイ。
【請求項12】
前記対応するセット内の各行において、前記電圧源は電源電圧V
DDを有し、
前記対応するセット内ではない各行において、前記電圧源はグランド電圧V
SSを有する、
請求項11に記載の比較メモリセル回路のアレイ。
【請求項13】
各デコード列が更に、各行内に、読み出しビットラインに結合された非比較メモリセル回路を有し、当該非比較メモリセル回路は、
メモリセル回路と、
読み出しワード信号のアクティブ化に応答して、当該非比較メモリセル回路に格納された格納データを読み出すように構成された読み出しトランジスタ回路と、
を有する、請求項11に記載の比較メモリセル回路のアレイ。
【請求項14】
前記比較メモリセル回路の各々が、スタティックランダムアクセスメモリ(SRAM)セル回路を有する、請求項3に記載の比較メモリセル回路のアレイ。
【請求項15】
比較メモリセル回路のアレイを有する集積回路であって、前記比較メモリセル回路のアレイは、
少なくとも1つのセットであり、各セットが、比較メモリセル回路の複数の行のうちの少なくとも1つの行を有し、前記複数の行の各行がバイナリタグを格納するように構成される、少なくとも1つのセットと、
前記比較メモリセル回路の複数の列であり、当該複数の列の各列が、前記複数の行の各行内の比較メモリセル回路を有する、複数の列と、
少なくとも1つのデコード列であり、当該少なくとも1つのデコード列の各々が前記少なくとも1つのセットのうちの1つのセットに対応し、当該少なくとも1つのデコード列は、
前記対応するセットのためのセットクロック信号を受信し、
前記対応するセットの各行内のセット一致ライン上にセット一致信号を生成する、
ように構成される、少なくとも1つのデコード列と、
ダイナミックコンパレータ回路であり、
前記少なくとも1つのデコード列の各々に対して、前記対応するセットをアドレス指定するための前記セットクロック信号を生成するように構成されたセットクロック回路、
前記複数の列の各列に対して、比較タグの比較真ビットを示す比較真データを生成するように構成された列比較回路、及び
前記複数の行の各行に対して、該行において生成された前記セット一致信号に応答して、該行に格納された前記バイナリタグに前記比較タグが一致することを示す行一致信号を生成するように構成された行一致回路、
を有するダイナミックコンパレータ回路と、
を有する、集積回路。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の技術は、メモリアレイに関し、より具体的には、連想ランダムアクセスメモリ(CAM-RAM)アレイに関する。
【背景技術】
【0002】
コンピュータ及び電子機器は、バイナリ形式で格納された情報を処理している。バイナリデータを格納するための数多くの異なる技術が存在する。特定の状況においてバイナリデータを格納するために選択される技術は、バイナリデータを格納しなければならない時間量、バイナリデータにアクセスする頻度、電源なしでデータを保存しなければならないかどうか、及びプロセッシング要素によってバイナリデータにアクセスしなければならない速度を含む様々な要因に依存する。バイナリデータは、集積回路(IC)上のメモリセル回路のアレイに格納されることができる。アレイは、半導体基板上に効率的に配置されたメモリセル回路の行及び列を含む。ランダムアクセスメモリ(RAM)内の所望のバイナリデータの記憶位置が分かっている場合、プロセッサは行及び列を特定することによってバイナリ情報にアクセスすることができる。
【0003】
一部の状況では、行及び列情報を追跡するのではなく、バイナリデータ自体に基づく識別子(タグと呼ばれることが多い)によってバイナリデータの位置を追跡することができる。所望のバイナリデータの位置を、対応する識別子を位置特定することによって見つけることができる。バイナリデータの一部のビットから識別子を構成したり、バイナリデータを入力とするアルゴリズムを用いてバイナリパターンを生成したりすることができる。識別子が見つかった場合にバイナリデータの位置を決定することができるように、バイナリデータに対応する位置に識別子が格納される。網羅的なランダムアクセス方法では、アレイ内の全ての識別子が読み出されて、所望のバイナリデータの既知の識別子と比較され得る。しかしながら、そのようなアプローチに必要な時間は、プロセッサが所望のバイナリにアクセスするための時間を著しく増加させる。代わりに、連想(コンテンツアドレッサブル)メモリ(content-addressable memory,CAM)は、所望のバイナリデータの既知の識別子を、アレイに格納された全ての識別子と比較する能力を持つ。一致する識別子が見つかったとき、所望のバイナリデータの位置を決定することができる。このアプローチは網羅的な方法よりも高速であるが、CAMアレイのデータアクセス時間を更に最小化するために、既知の識別子をアレイ内の識別子(タグ)と比較するのに必要な時間を最小化することが望ましい。
【発明の概要】
【0004】
ここに開示される例示的な態様は、低減されたヒット信号タイミングマージンのために負荷整合された信号を用いる検索可能アレイ回路を含む。連想メモリ(CAM)は、バイナリタグのビットを格納する複数列及び複数行の比較メモリセル回路を含む。クロック信号によってトリガされて、比較タグが、CAMアレイの各行に格納されたバイナリタグと比較され、存在する場合に、比較タグと一致するバイナリタグが格納されているのがどの行であるかを決定する。比較タグの比較ビットを示す比較ビット信号が、各行に格納されたバイナリタグの対応するビットとの比較のために、比較メモリセル回路の各列に提供される。ヒット信号は、ここでは行一致信号とも称され、各列における比較に基づいて、比較タグが行内のバイナリタグに一致することを指し示すインジケーションである。
【0005】
例示的な一態様において、CAMアレイは、各デコード列が1つのセットに対応する少なくとも1つのデコード列を含み、各セットが、少なくとも1つの行の比較メモリセル回路を含む。各デコード列が、対応するセットをアドレス指定するためのセットクロック信号を受信し、対応するセットの各行におけるセット一致信号を生成する。列比較回路が、各列において、比較タグのビットを示す比較真データ及び比較補数データを生成する。行一致回路が、各行に対して、セット一致信号に応答して、該行に格納されたバイナリタグに比較タグが一致することを示す行一致信号を生成する。一例において、各行が行一致ラインを含むことができ、行一致回路は、該行内のバイナリタグに比較タグが一致することを行一致ラインが示すことに応答して、該行に対する行一致信号を生成することができる。従って、行一致信号は、セットクロック信号及び行一致ラインの両方に応答して生成され、セットクロック信号及び行一致ラインはどちらもクロック信号によってトリガされる。セットクロック信号のアクティブ化と、行一致ライン上の比較タグ一致のインジケーションとのタイミングにおける差は、それぞれの回路における製造プロセスバラつきと、それぞれの回路上の負荷の数とによって影響されるものである伝搬遅延の差に依存する。例示的な一態様において、デコード列内のセットクロック信号を生成するのに使用される回路及びその上の負荷が、CAMアレイの各列内の行一致信号を生成する回路に対応する。このような対応は、一致インジケーションのタイミングマージンを減少させ、それによって、CAMアレイに対するアクセス時間を短縮する。
【0006】
例示的な態様において、比較メモリセル回路のアレイが開示される。当該比較メモリセル回路のアレイは、少なくとも1つのセットを含み、各セットが、比較メモリセル回路の複数の行のうちの少なくとも1つの行を有し、複数の行の各行がバイナリタグを格納するように構成される。当該比較メモリセル回路のアレイは、比較メモリセル回路の複数の列を含み、該複数の列の各列が、上記複数の行の各行内の比較メモリセル回路を有する。当該比較メモリセル回路のアレイは、少なくとも1つのデコード列を含み、該少なくとも1つのデコード列の各々が上記少なくとも1つのセットのうちの1つのセットに対応し、該少なくとも1つのデコード列は、対応するセットのためのセットクロック信号を受信し、対応するセットの各行内のセット一致ライン上にセット一致信号を生成するように構成される。当該比較メモリセル回路のアレイは、セットクロック回路と、列比較回路と、行一致回路とを有するダイナミックコンパレータ回路を含む。セットクロック回路は、上記少なくとも1つのデコード列の各々に対して、対応するセットをアドレス指定するためのセットクロック信号を生成するように構成される。列比較回路は、上記複数の列の各列に対して、比較タグの比較真ビットを示す比較真データを生成するように構成される。行一致回路は、上記複数の行の各行に対して、該行において生成されたセット一致信号に応答して、該行に格納されたバイナリタグに比較タグが一致することを示す行一致信号を生成するように構成される。
【0007】
例示的な他の一態様において、比較メモリセル回路のアレイを有する集積回路が開示される。該比較メモリセル回路のアレイは、少なくとも1つのセットを含み、各セットが、比較メモリセル回路の複数の行のうちの少なくとも1つの行を有し、複数の行の各行がバイナリタグを格納するように構成される。該比較メモリセル回路のアレイは、比較メモリセル回路の複数の列を含み、該複数の列の各列が、上記複数の行の各行内の比較メモリセル回路を有する。該比較メモリセル回路のアレイは、少なくとも1つのデコード列を含み、該少なくとも1つのデコード列の各々が上記少なくとも1つのセットのうちの1つのセットに対応し、該少なくとも1つのデコード列は、対応するセットのためのセットクロック信号を受信し、対応するセットの各行内のセット一致ライン上にセット一致信号を生成するように構成される。該比較メモリセル回路のアレイは、セットクロック回路と、列比較回路と、行一致回路とを有するダイナミックコンパレータ回路を含む。セットクロック回路は、上記少なくとも1つのデコード列の各々に対して、対応するセットをアドレス指定するためのセットクロック信号を生成するように構成される。列比較回路は、上記複数の列の各列に対して、比較タグの比較真ビットを示す比較真データを生成するように構成される。行一致回路は、上記複数の行の各行に対して、該行において生成されたセット一致信号に応答して、該行に格納されたバイナリタグに比較タグが一致することを示す行一致信号を生成するように構成される。
【図面の簡単な説明】
【0008】
この明細書に組み込まれてこの明細書の一部を構成する添付図面の図は、本開示の幾つかの態様を例示するものであり、説明と共に本開示の原理を説明する役割を果たす。
【
図1】連想メモリ(CAM)アレイで使用される、6トランジスタ(6T)スタティックランダムアクセスメモリ(SRAM)セル回路と、一致ラインに結合された真比較回路及び補数比較回路と、を含んだ比較メモリセル回路の概略図である。
【
図2】メモリセル回路の行内に
図1に示されるような6T SRAMセル回路を含むCAMアレイの概略図である。
【
図3】
図2のCAMアレイの行内に格納されたバイナリタグに比較タグが一致することを示すヒット信号を生成するのに使用されるセットクロックのタイミングマージンを示すタイミング図であり、タイミングマージンはプロセスバラつきに依存する。
【
図4】プロセスバラつきを調整してタイミングマージンを減少させるためにクロック信号にプログラム可能な遅延を有した、
図2のCAMアレイのようなCAMアレイの概略図である。
【
図5】低減されたタイミングマージンで、セットクロック信号を受信し、セット一致信号を生成し、一致を示すヒット信号を生成するために、各セットに対応するデコード列を含む例示的なCAMアレイの概略図である。
【
図6】比較の対象ではないデータを格納するためのCAMアレイ内の非比較メモリセル回路の概略図である。
【
図7】
図5のCAMアレイの比較メモリセル回路の各行に対応するデコード列の回路を形成するための例示的な改変非比較メモリセル回路の概略図である。
【
図8】セット一致信号の遅延を行一致ラインと微調整するように更に改変されたデコード列内の非比較メモリセル回路の代替例を含んだCAMアレイの概略図である。
【
図9】デコード列が非比較メモリセル回路から分離されるCAMアレイの概略図である。
【
図10】システムバスに結合された複数のデバイスを含む例示的なプロセッサベースシステムのブロック図であり、プロセッサベースシステム内の任意のCAMアレイが、
図5、
図8、及び
図9のいずれかのCAMアレイとされ得る。
【発明を実施するための形態】
【0009】
ここに開示される例示的な態様は、低減されたヒット信号タイミングマージンのために負荷整合された信号を用いる検索可能アレイ回路を含む。連想メモリ(CAM)は、バイナリタグのビットを格納する複数列及び複数行の比較メモリセル回路を含む。クロック信号によってトリガされて、比較タグが、CAMアレイの各行に格納されたバイナリタグと比較され、存在する場合に、比較タグと一致するバイナリタグが格納されているのがどの行であるかを決定する。比較タグの比較ビットを示す比較ビット信号が、各行に格納されたバイナリタグの対応するビットとの比較のために、比較メモリセル回路の各列に提供される。ヒット信号は、ここでは行一致信号とも称され、各列における比較に基づいて、比較タグが行内のバイナリタグに一致することを指し示すインジケーションである。
【0010】
例示的な一態様において、CAMアレイは、各デコード列が1つのセットに対応する少なくとも1つのデコード列を含み、各セットが、少なくとも1つの行の比較メモリセル回路を含む。各デコード列が、対応するセットをアドレス指定するためのセットクロック信号を受信し、対応するセットの各行におけるセット一致信号を生成する。列比較回路が、各列において、比較タグのビットを示す比較真データ及び比較補数データを生成する。行一致回路が、各行に対して、セット一致信号に応答して、該行に格納されたバイナリタグに比較タグが一致することを示す行一致信号を生成する。一例において、各行が行一致ラインを含むことができ、行一致回路は、該行内のバイナリタグに比較タグが一致することを行一致ラインが示すことに応答して、該行に対する行一致信号を生成することができる。従って、行一致信号は、セットクロック信号及び行一致ラインの両方に応答して生成され、セットクロック信号及び行一致ラインはどちらもクロック信号によってトリガされる。セットクロック信号のアクティブ化と、行一致ライン上の比較タグ一致のインジケーションとのタイミングにおける差は、それぞれの回路における製造プロセスバラつきと、それぞれの回路上の負荷の数とによって影響されるものである伝搬遅延の差に依存する。例示的な一態様において、デコード列内のセットクロック信号を生成するのに使用される回路及びその上の負荷が、CAMアレイの各列内の行一致信号を生成する回路に対応する。このような対応は、一致インジケーションのタイミングマージンを減少させ、それによって、CAMアレイに対するアクセス時間を短縮する。
【0011】
図5-
図9に示す連想メモリ(CAM)アレイの例示的な態様を説明する前に、先ず、
図1-
図4を参照して、既存のCAMアレイ回路及びその動作を説明する。CAMアレイは、例えばプロセッサに知られている比較ビットパターン(比較タグ)を、CAMアレイに格納されたビットパターン(バイナリタグ)と比較するように構成される。比較タグと一致するバイナリタグの位置が、比較タグに対応する所望のデータが格納されている位置を示す。CAMアレイ内の所望のバイナリデータにアクセスする時間を最小化するためには、比較タグを全てのバイナリタグと比較して一致インジケーションを生成する時間を最小化しなければならない。
【0012】
図1は、バイナリタグのビットをCAMアレイ(図示せず)に格納するために使用され得る比較メモリセル回路100の概略図である。比較メモリセル回路100は、6トランジスタ(6T)スタティックランダムアクセスメモリセル回路102を含んでいる。比較メモリセル回路100はまた、一致ライン106に結合された真比較回路104T及び補数比較回路104Cを含んでいる。真比較回路104T及び補数比較回路104Cは、それぞれ、真データノード110T内の真データ108Tを比較真データ112Tと比較するため、及び補数データノード110C内の補数データ108Cを比較補数データ112Cと比較するために使用される。補数データ108Cは、真データ108Tに対して補数である(例えば、逆である)。比較の結果が一致ライン106上に示される。
【0013】
動作時、一致ライン106は、プリチャージ回路(図示せず)によって電源電圧(VDD)にプリチャージされる。真比較回路104T内のトランジスタ114Aは、真データノード110Tに結合され、真データノード110Tが電源電圧(VDD)にあること(これは、例えば、真データ108Tがバイナリ“1”であることに対応する)によってターンオンされる。この例において、真データ108Tがバイナリ“0”であることは、真データノード110Tがグランド電圧(VSS)(例えば、0ボルト)にあることに対応する。真比較回路内のトランジスタ114Bは、比較補数データ112Cがバイナリ“1”(電圧VDD)であることによってターンオンされる。従って、真データ108Tと比較真データ112Tとの間に不一致があり、それ故に、真データ108T及び比較補数データ112Cがどちらもバイナリ“1”である場合、トランジスタ114A及び114Bの両方がターンオンされて一致ライン106がグランド電圧VSSに放電され、不一致を示すことになる。一致ライン106は、トランジスタ114A及びトランジスタ116Aに結合された配線又は導電要素である。
【0014】
同様に、補数比較回路104C内のトランジスタ116Aは、補数データノード110Cに結合され、補数データ108Cがバイナリ“1”であることによってターンオンされる。補数比較回路内のトランジスタ116Bは、比較真データ112Tがバイナリ“1”であることによってターンオンされる。従って、真データ108Tと比較真データ112Tとの間に不一致があり、それ故に、補数データ108C及び比較真データ112Tがどちらもバイナリ“1”である場合、トランジスタ116A及び116Bの両方がターンオンされて一致ライン106がグランド電圧VSSに放電されることになる。従って、放電状態(例えば、0ボルト)にある一致ライン106が、真データ108Tの極性にかかわらず、真データ108Tと比較真データ112Tとの間の不一致を指し示す。CAMアレイ(図示せず)内で、一致ライン106は、バイナリタグのビットを格納する複数の比較メモリセル回路100の間で共有され得る。一致ライン106は、CAMアレイに格納されたバイナリタグの全てのビットが比較タグの対応するビットと一致することを示すように充電されたままとなる。一致ライン106を放電するための時間は、一致ライン106のキャパシタンスC106と、真比較回路104T又は補数比較回路104Cを流れる電流とに依存する。キャパシタンスC106は、一致ライン106の長さと、一致ライン106が結合される又は電気的に接続される例えばトランジスタなどの負荷の数とによって、部分的に決定される。
【0015】
図2は、各々が
図1の比較メモリセル回路100に対応する比較メモリセル回路204の行202を含むCAMアレイ200の概略図である。
図2のCAMアレイ200は1つのセット206のみを含み、セット206は行202のみを含んでいるが、CAMアレイ200は、セット206内に複数の行202を含むことができ、及び/又は、それら複数の行202のうちの少なくとも1つを各々が有する複数のセット206を含むことができる。行202は6つの比較メモリセル回路204を含んでいるが、行202に格納されるバイナリタグBT内のビット数に応じて、より多い又はより少ない比較メモリセル回路204が行202に含まれ得る。これらの比較メモリセル回路204のうちの1つの詳細を参考のために示している。各比較メモリセル回路204がCAMアレイ200の列208に対応する。従って、CAMアレイ200内の任意の追加の行202が、これらの列208の各々内に比較メモリセル回路204を含むことになる。
【0016】
比較メモリセル回路204は、
図1の6T SRAMセル回路102又は別のタイプのメモリセル回路とし得るメモリセル回路210を含む。比較メモリセル回路204は、
図1の真比較回路104Tに対応する真比較回路212Tと、補数比較回路104Cに対応する補数比較回路212Cとを含む。真比較回路212T及び補数比較回路212Cは、比較メモリセル回路204に格納された真データ214Tを比較真データ216Tと比較し、比較メモリセル回路204に格納された補数データ214Cが比較補数データ216Cと比較される。真データ214T及び補数データ214Cは、行202に格納されたバイナリタグBTの1ビットを示す。比較真データ216T及び比較補数データ216Cは、プロセッサがアクセスしているデータに対応する比較タグCTの1ビットを示す。比較タグCTが、CAMアレイ200に格納されたバイナリタグBTのうちの1つに一致する場合、そのバイナリタグBTに対応するデータにCAMアレイ200内でアクセスすることができる。
【0017】
各比較メモリセル回路204が一致ライン218に結合される。一致ライン218は、一致ラインプリチャージ信号MLPによって制御されるプリチャージ回路220によってプリチャージされる。一致ライン218は、行202内のいずれかの比較メモリセル回路204において不一致が検出された場合に放電される(すなわち、プルダウンされる)。一致ライン218及びセットクロック信号222が、行一致回路224で受信される。セットクロック信号222は、セット206内の行202(及びセット206内の任意の他の行202)が比較タグCTとの比較の対象であることを示す。セットクロック信号222がアクティブである場合、一致ライン218の状態が、行202内に格納されたバイナリタグBTに比較タグCTが一致することを示すようにヒット信号226がアクティブにされるかを決定する。CAMアレイ200内の行202の各々が、複数の行一致回路224のうちの1つを含む。
【0018】
比較メモリセル回路204に戻るに、真比較回路212Tのトランジスタ228Aは、メモリセル回路210内に真データ214Tを格納する真データノード230Tに結合される。真比較回路212Tのトランジスタ228Bは比較補数データ216Cを受信する。真データノード230T及び比較補数データ216Cの両方が電源電圧VDDにあって不一致を示す場合、トランジスタ228A及びトランジスタ228Bの両方がターンオンされて、真比較回路212Tが一致ライン218を放電する。あるいは、メモリセル回路210の補数データノード230C及び比較真データ216Tが両方とも電源電圧VDDにある場合に、補数比較回路212Cが一致ライン218を放電する。
【0019】
列比較回路232は、比較タグCTの対応するビットの真値及び補数値である比較真ビット234T及び比較補数ビット234Cを受信する。列比較回路232は、比較真ビット234T及び比較補数ビット234Cに基づいて、それぞれ、比較真データ216T及び比較補数データ216Cを生成する。比較真データ216T及び比較補数データ216Cは、クロック信号CLKによるアクティブ化までグランド電圧VSSに維持される。クロック信号CLKがアクティブにされると、比較真ビット234T及び比較補数ビット234Cの値に応じて、比較真データ216T及び比較補数データ216Cのうち一方が電源電圧VDDに駆動される。真データ214Tが比較真データ216Tに一致しない場合、真比較回路212T及び補数比較回路212Cのうちの一方が一致ライン218を放電する。同様の比較が、行202内の全ての列208内の他の比較メモリセル回路204で実行され、これらの比較メモリセル回路204のうちのいずれか1つが一致ライン218を放電し得る。
【0020】
セットクロック信号222は、セットアドレス回路236によって生成され、クロック信号CLKによってアクティブにされることで、対応するセット206をアドレス指定する。セットアドレス回路236は、セット206がアドレス指定されていることを示すためにアクティブ状態にあるセットアドレス信号238を受信する。セットアドレス回路236は、セットアドレス信号238がアクティブであり且つクロック信号CLKがアクティブにされるときに、セットクロック信号222をアクティブにする。
【0021】
セットクロック信号222及び一致ライン218の両方がヒット信号226に寄与し、且つ両方がCLK信号に応答してアクティブにされるので、ヒット信号226の状態は、CLK信号のアクティブ化の後にタイミングマージン内で示される。タイミングマージンは、セットアドレス回路236に到達する前及びクロック信号CLKに応答してセットアドレス回路236を通過する前のセットアドレス信号238の伝搬遅延に依存する。タイミングマージンはまた、行202内の比較メモリセル回路204のうちの1つ以上を通じて一致ライン218を放電するための時間に依存する。クロック信号CLKの活性化後に一致ライン218を放電するのに必要な時間は、列比較回路232を通る伝搬遅延と、比較真データ216T及び比較補数データ216C上の負荷の数とに依存する。比較真データ216T及び比較補数データ216C上の負荷の数は、CAMアレイ200内の行202の数に依存する。加えて、一致ライン218を放電するための時間は、一致ライン218の総キャパシタンスC218に依存し、総キャパシタンスC218は、行202内で一致ライン218が結合される比較メモリセル回路204(すなわち、バイナリタグBT内のビット)の数に依存する。
【0022】
明らかなはずのことには、セットアドレス回路236を通る伝搬遅延は典型的に、一致ライン218を放電するための時間よりも時間的に遥かに短い。列比較回路232及び一致ライン218からの回路経路は、セットアドレス回路236を通る経路よりも複雑である。加えて、そのような伝搬タイミングは、製造プロセスバラつきによって影響を受け得るものであり、ヒット信号226上に一致又は不一致のインジケーションを生成するためのタイミングマージンを増加させるタイミング不確実性を生じさせる。
【0023】
セットクロック信号222からヒット信号226までの回路経路と、比較真ビット234T及び比較補数ビット234Cからヒット信号226までの回路経路との間での伝搬タイミングの不均衡を減少させることが望ましい。このような不均衡を減少させることは、ヒット信号226に対するタイミングマージンを減少させることを可能にし、それがひいてはCAMアレイ200のアクセス時間を短縮する。
【0024】
図3は、CAMアレイ200内の信号を示すタイミング
図300であり、比較タグCTが
図2のCAMアレイ内のバイナリタグBTと一致するか否かの一致ライン218上のインジケーションに応答してヒット信号を生成するために使用されるセットクロック信号222のタイミングマージンを含んでいる。
【0025】
この例におけるクロック信号CLKは、50%のデューティサイクルを有する矩形波であるが、デューティサイクルはもっと長くても短くてもよい。プリチャージ回路220を制御する一致ラインプリチャージ信号MLPは、ローアクティブであり、クロック信号CLKのアクティブ化に応答して時点T1において非アクティブにされる。時点T2にて、比較真ビット234T及び比較補数ビット234Cが列比較回路232に提供される。不一致の場合、時点T3と時点T4との間のタイミングマージン内で一致ライン218が放電される。時点T4の後に、ヒット信号226が有効になる。時点T5にてクロック信号CLKが再びアクティブにされ、時点T6にて、比較真ビット234T及び比較補数ビット234Cが列比較回路232に再び提供される。一致の場合、一致ライン218は放電されないが、一致ライン218は不一致において時点T7と時点T8との間のタイミングマージン内のいずれかの時間に放電され得るものであるので、充電状態にある一致ライン218は時点T8後まで確実には一致を示さない。従って、タイミングマージンを減少させて
図2のCAMアレイ200のアクセス時間を短縮することが望ましく、それは何故なら、プロセッサがCAMアレイ200にアクセスするのにかかる時間を短縮することは、電子機器又はアプリケーションのいっそう高い性能のためにプロセッサの速度を増加させることを可能にするからである。
【0026】
図4は、
図2のCAMアレイ200のようなCAMアレイ400の概略図である。タイミングマージンを減少させる技術の一例において、CAMアレイ400は、一致ライン218の放電時間とより良く同期されるようにセットクロック信号222のタイミングを調整するために、クロック信号CLKにプログラム可能な遅延PDを含んでいる。プログラム可能な遅延PDは、製造プロセスバラつきに対する調整をおこなうために、クロック信号CLKに遅延を追加してセットクロック信号222を遅延させることができる。プログラム可能な遅延PDを使用することは、CAMアレイ400が製造される各集積回路において較正ステップを必要とする。セットアドレス信号238からヒット信号226までの回路経路と、比較真ビット234T(又は比較補数ビット234C)からヒット信号226まで回路経路とが、較正ステップなしで、より近く同期される(例えば、より小さいタイミングマージンを有する)CAMアレイが望ましい。
【0027】
図5は、各セット504に対応するデコード列502を含む例示的なCAMアレイ500を示す概略図である。
図5のCAMアレイ500は、1つのセット504のみ及びそれ故に1つのデコード列502のみを含んでいるが、複数のセット504を含んでもよい。デコード列502は、セットアドレス信号506を受信し、セット一致信号508及び行一致ライン512上の一致インジケーションが低減タイミングマージン内で生成されるように、各セット504の各行510においてセット一致信号508を生成する。
図5は、セット504内の1つの行510に対応するデコード列502を示している。デコード列502がどのようにしてタイミングマージンを減少させるかを説明する前に、先ず、比較メモリセル回路514の詳細な説明を提供する。
【0028】
CAMアレイ500は機能において
図2のCAMアレイ200に対応する。行510は、
図2の行202内の比較メモリセル回路204に対応する複数の比較メモリセル回路514を含んでいる。CAMアレイ500は、各々が1つ以上の行510を含む追加のセット504を含んでもよい。比較メモリセル回路514は各々、比較メモリセル回路514に格納された格納真データ518Tと、CAMアレイ500に提供される比較真データ520Tとの間の不一致に応答して行一致ライン512を放電する真比較回路516T及び補数比較回路516Cを含む。補数比較回路516Cは、行一致ライン512に結合され、比較メモリセル回路514に格納された格納補数データ518CとCAMアレイ500に提供される比較補数データ520Cとの間の不一致に応答して行一致ライン512を放電する。
【0029】
CAMアレイ500は、真比較ビットライン521T及び補数比較ビットライン521C上で、それぞれ、比較真データ520T及び比較補数データ520Cを受信する。比較メモリセル回路514内の真比較回路516Tは、該比較メモリセル回路514を含む行510の行一致ライン512に結合され、行一致ライン512を例えばグランド電圧VSSなどの固定電圧に結合する。真比較回路516Tは、格納真データ518T及び補数比較ビットライン521T上の比較補数データ520Cによって制御される。行一致ライン512は、真比較回路516T及び補数比較回路516Cに結合された配線、金属トレース、又は他の導電要素である。真比較回路516Tは、真比較ビットライン521T上で受信した比較真データ520Tが、比較メモリセル回路514に格納された格納真データ518Tに一致しない(例えば、逆のバイナリ極性である)ことを示すために、行一致ライン512をグランド電圧VSSに結合する。行一致ライン512を放電するための時間は、行一致ライン512のキャパシタンスC512と、真比較回路516T又は補数比較回路516Cの電流容量とに依存する。キャパシタンスC512は、行一致ライン512の長さと、行一致ライン512が結合される又は電気的に接続される例えばトランジスタなどの負荷の数とによって、部分的に決定される。
【0030】
格納真データ518Tは、行510内に格納されたバイナリタグBTの1ビットである。比較真データ520Tは、CAMアレイ500に格納されたバイナリタグBTとの比較のために提供される比較タグCTのビットである。換言すれば、バイナリタグBTの各々が行510内の複数の比較メモリセル回路514に格納される。バイナリタグBTのビット数は、CAMアレイ500の比較メモリセル回路514の列522の数に一致し得る。真比較ビットライン521Tは、その列522に対する比較真データ520Tを受け取り、補数比較ビットライン521Cは、比較真データ520Tに対して補数の比較補数データ520Cを受け取る。
【0031】
行510における比較タグCTのバイナリタグBTとの比較、及び比較タグCTがバイナリタグBTと一致することのインジケーションの生成は、ダイナミックコンパレータ回路524によって実行される。ダイナミックコンパレータ回路524は、列522ごとに、各行510内の比較メモリセル回路514に対して、真比較ビットライン521T上の比較真データ520Tと、補数比較ビットライン521C上の、比較真データ520Tに対して補数の比較補数データ520Cとを生成する列比較回路526を含む。比較真データ520T及び比較補数データ520Cは、クロック信号CLKのアクティブ化に応答して、それぞれ、比較真ビット528T及び比較補数ビット528Cに基づいて生成される。比較真ビット528T及び比較補数ビット528Cは、比較タグCTのビットを示す。
【0032】
上述したように、CAMアレイ500は、各セット504に対して1つのデコード列502を含む。ダイナミックコンパレータ回路524は、各デコード列502に対して、対応するセット504(すなわち、そのデコード列502に対応するセット504)をアドレス指定するためのセットクロック信号532を生成するセットクロック回路530を含む。セットクロック信号532は、クロック信号CLKに応答して、セットアドレス信号506に基づいて生成される。セットクロック信号532は、セット504におけるマッチングを制御する。具体的には、セット504の各行510に提供されるセットクロック信号532は、セット一致信号508を生成するために使用される。ダイナミックコンパレータ回路524は、セット一致信号508及び行一致ライン512を受信する行一致回路534を含む。行一致回路534は、行510ごとに、行510内のセット一致信号508に応答して、行510内に格納されたバイナリタグBTに比較タグCTが一致することを示す行一致信号536を生成する。行一致信号536は、
図2のヒット信号226に対応する。
【0033】
行一致信号536は、行一致ライン512及びセット一致信号508に基づいて生成される。行一致ライン512上の一致インジケーション及びセット一致信号508のアクティブ化の両方が、クロック信号CLKによってトリガされる。クロック信号CLKのアクティブ化に続くこれらの信号のそれぞれの遅延の差がタイミングマージンを決定する。従って、以下にて、行一致信号536におけるタイミングマージンの低減を説明するために、これらの遅延を個別に説明する。クロック信号CLKのアクティブ化から行一致ライン512上の一致のインジケーションまでの遅延は幾つかの要因に依存する。
【0034】
第1の要因に関して、比較補数データ520Cは、クロック信号CLKに応答して、比較補数ビット528Cに基づいて列比較回路526によって生成される。比較補数データ520C及び格納真データ518Tは、各行510内の真比較回路516Tに結合される。真比較回路516Tは、格納真データ518Tによって制御される格納データトランジスタ537T1と、比較補数データ520Cによって制御される比較データトランジスタ537T2とを含む。格納真データ518T及び比較補数データ520Cの両方が同じ電圧(例えば、電源電圧VDD)にあって両方がバイナリ“1”であることを示す場合、これは不一致を示し、格納データトランジスタ537T1及び比較データトランジスタ537T2の両方がターンオンされて行一致ライン512が放電される。また、補数比較回路516Cは、格納補数データ518Cによって制御される格納データトランジスタ537C1と、比較真データ520Tによって制御される比較データトランジスタ537C2とを含む。格納補数データ518C及び比較真データ520Tの両方が“1”であって、不一致を示す場合、補数比較回路516Cがターンオンされて行一致ライン512を放電する。
【0035】
第2の要因に関して、比較真データ520Tの伝搬時間は、配線上の負荷の数に対応するCAMアレイ500内の行510の数及び配線長によって部分的に決定される。比較メモリセル回路514の各列522の比較真データ520Tが、各行510内の真比較回路516Tに結合される。比較補数データ520Cは、比較真データ520Tと同じ数の負荷を有する。
【0036】
第3の要因に関して、不一致を示すために行一致ライン512を放電するのに必要な時間はキャパシタンスC512に依存し、キャパシタンスC512は、長さ及び行一致ライン512上の負荷の数に依存し、これらはどちらも、行510内の比較メモリセル回路514の数(すなわち、行510内の列522の数)に依存する。放電時間はまた、比較タグCTの対応するビットに一致しない行510内に格納されたバイナリタグBTのビットの数にも依存する。不一致ビットの数は、行一致ライン512を並列に放電する真比較回路516T及び補数比較回路516Cの数を決定する。行一致ライン512を放電するための時間は不一致ビットの増加とともに減少し、これは何故なら、より多くの真比較回路516T又は補数比較回路516Cがターンオンされて、並列に行一致ライン512を放電するからである。
【0037】
デコード列502は、行一致ライン512上の一致インジケーションに対するセット一致信号508の同期と改善する。行一致ライン512の遅延に関する上述の3つの要因を、ここで、セット一致信号508の対応する要因と比較する。
【0038】
第1に、セットクロック信号532は、クロック信号CLKのアクティブ化に応答して、セットアドレス信号506に基づいてセットクロック回路530によって生成される。デコード列502は、CAMアレイ500の各行510に対応するプルダウン回路538を含む。セットクロック信号532は、セットクロック信号532の状態に応じて、プルダウン回路538の第1のトランジスタ540をターンオン又はターンオフ(例えば、導通又は非導通)させるように制御する。プルダウン回路538は定電圧源(例えば、電源電圧VDD又はグランド電圧VSS)によって制御される第2のトランジスタ542を含み、それ故に、第2のトランジスタ542は常にオンにされるか常にオフにされるかである。
【0039】
具体的には、デコード列502に対応するセット504の行510において、第2のトランジスタ542は、第2のトランジスタ542がターンオン(すなわち、導通)されたままであるように電源電圧VDDに結合される。デコード列502に対応しないセット504の行510では、第2のトランジスタ542はグランド電圧VSSに結合されて、第2のトランジスタ542をターンオフされた(すなわち、導通していない)ままにする。従って、デコード列502に対応するセット504における行510内のプルダウン回路538はセットクロック信号532によって制御される。デコード列502に対応しない他のセット504の行510内のプルダウン回路538は、第1のトランジスタ540に結合されるセットクロック信号532の状態にかかわらず、常にオフである。
【0040】
第2に、セットクロック信号532の伝搬時間は、行510の各々における負荷(すなわち、第1のトランジスタ540)にセットクロック信号532が提供されることによって部分的に決定される。セット504に対するセットクロック信号532がアクティブにされると、セット504内の各行510のセット一致ライン544が放電される。セット一致信号508がセット一致ライン544上に生成される。
【0041】
第3に、セット一致ライン544を放電して同じ行510の行一致ライン512をゲーティングするのに必要な時間は、デコード列502の数に依存し、これは何故なら、唯一のデコード列502内のプルダウン回路538が実際にセット一致ラインを放電するとしても、セット一致ライン544が各デコード列内のプルダウン回路538に結合されてセット一致ライン544上の負荷の数を増加させるからである。セット一致ライン544を行一致ライン512と比較すると、セット一致ライン544の負荷の数は、行一致ライン512が結合される列522の数よりも少ないとし得るが、この差は、セット一致ライン544が長さにおいて行一致ライン512よりも長く、それがセット一致ライン544のキャパシタンスを増加させることによって相殺され得る。
【0042】
セット一致ライン544は、行510に沿って、行一致回路534からCAMアレイ500の反対エンドに位置するデコード列502にわたって延在する。セット一致ライン532の遅延を更に増加させるために、行一致回路534内に遅延回路546が含められてもよい。他の一態様において、行一致ライン512はプリチャージ回路548に結合され、セット一致ライン544はプリチャージ回路550に結合される。
【0043】
上で示したように、行一致ライン512及びセット一致ライン544上の一致インジケーションの遅延の要因は、デコード列502の追加によって非常に類似したものになる。それぞれの回路間の類似性に起因して、製造及びプロセスバラつきが双方の遅延に同様の程度で影響を及ぼす傾向がある。従って、それぞれの遅延間の差が低減され、それが行一致信号536のタイミングマージンを減少させる。
【0044】
図5に示すデコード列502は、行510に対応する非比較メモリセル回路552内に実装される。複数の行510を含むCAMアレイ500において、デコード列502は、各行510に対応して1つで、複数の非比較メモリセル回路552を含む。複数のセット504を含むCAMアレイ500は、各セット504に対応するデコード列502を含み、そのようなデコード列502の各々が、各行510に対応する非比較メモリセル回路552を含む。各デコード列502がセットクロック回路530を含む。
【0045】
非比較メモリセル回路552は、読み出しワード線RWLに応答して読み出しビット回路554によって読み出されることができる格納データ(例えば、1ビット)を格納することが可能である。典型的に、例えばプロセスID及び/又はパリティビットなどの情報は非比較メモリセル回路552に格納され、これは何故なら、それらは比較の対象ではないからである。非比較メモリセル回路552は、比較メモリセル回路516に見られる真比較回路516T及び補数比較回路516Cを含まない。従って、デコード列502は、実際には、CAMアレイ500の非比較メモリセル回路552内に実装されることができる。デコード列502は、
図6及び
図7を参照して説明するように、プルダウン回路538、セットクロック信号532、及びセット一致ライン544を追加して、非比較メモリセル回路552の既存の列に組み込まれることができる。斯くして、デコード列502をCAMアレイ500内に実装することで、サイズ(すなわち、面積)の増大なしで、行一致信号536のタイミングマージンを減少させることができる。
【0046】
プルダウン回路538の各々内の第1のトランジスタ540及び第2のトランジスタ542は、例えば、金属酸化膜半導体(MOS)電界効果トランジスタ(FET)(MOSFET)とし得る。セットクロック信号532が第1のトランジスタ540のゲート端子に結合されて、プルダウン回路538を通時手の導電性を制御する。セットクロック回路530は、セットアドレス信号506とクロック信号CLKとの論理積をとり得る。
【0047】
図6は、6T SRAMセル回路602を含む例における非比較メモリセル回路600の詳細を示す概略図である。6T SRAMセル回路602は、真記憶ノード606T及び補数記憶ノード606Cを提供する交差結合されたインバータ604T及び604Cを含んでいる。真記憶ノード606T及び補数記憶ノード606Cは、パスゲート608を介して書き込まれる。
図6において、補数記憶ノード606Cは、
図5に示した読み出しビット回路554のような読み出しビット回路610を介して読み出される。6T SRAMメモリセル回路602の更なる詳細は、本開示の範囲外であり、ここで提示することはしない。比較メモリセル回路514を非比較メモリセル回路600と比較すると、読み出しビット回路610は、比較メモリセル回路514では補数比較回路516Cによって占有されることになる非比較メモリセル回路600の領域を占有する。非比較メモリセル回路600は、真記憶ノード606Tに結合された別の回路を含まず、比較メモリセル回路514ではそこに真比較回路516Tが配置される。
【0048】
図7は、
図6の非比較メモリセル回路600と
図5のプルダウン回路538とを含む非比較メモリセル回路700の概略図である。これに関して、
図5に示したデコード列502を実装することは、低減されたタイミングマージンを有するCAMアレイのために、面積の増大なしに、単にプルダウン回路538を非比較メモリセル回路600に追加することを含む。
【0049】
図8は、セット一致ライン806に結合されたプルダウン回路804A及び804Bを追加した非比較メモリセル回路700に対応する非比較メモリセル回路802を含むデコード列800の一例である。セット一致ライン806は、
図5のセット一致ライン544に相当する。プルダウン回路804A及び804Bは、
図5の行一致ライン512の負荷に整合するようにセット一致ライン806に負荷をかける。これらの追加の負荷が、セット一致ライン806のキャパシタンスの増加を微調整する手段を提供し、そのため、セット一致ライン806の伝搬遅延が、より良好に行一致ライン512に対する伝搬遅延と一致し、行一致信号(図示せず)のタイミングマージンを更に減少させる。
【0050】
図9は、セット902A及びセット902Bを含むCAMアレイ900を示す概略図であり、セット902A及び902Bの各々が2つの行904を含んでいる。
図9には示さないが、行904は各々、バイナリタグBTのビットを格納するために
図5の比較メモリセル回路514のような複数の比較メモリセル回路を含む。CAMアレイ900は、セット902Aに対応するデコード列906Aと、セット902Bに対応するデコード列906Bとを含んでいる。セットクロック回路(図示せず)が、セット902A用のセットクロック信号908Aと、セット902B用のセットクロック信号908Bとを生成する。デコード列906A及び906B内の行904の各々に対応するプルダウン回路910が、それぞれ、セット一致信号908A及び908Bを受信する。プルダウン回路910は、
図5の非比較メモリセル回路552のような非比較メモリセル回路(図示せず)に含められ得る。あるいは、デコード列906A及び906Bは、図示していない比較メモリセル回路及び非比較メモリセル回路とは別に、CAMアレイ900内のプルダウン回路910のみを含んでもよい。
【0051】
デコード列906A内の各プルダウン回路910の第1のトランジスタ912は、セット902Aがアドレス指定されていることを示すセットクロック信号908Aを受信する。デコード列906B内の各プルダウン回路910の第1のトランジスタ912は、セット902Bがアドレス指定されていることを示すセットクロック信号908Bを受信する。プルダウン回路910の各々内の第2のトランジスタ916は固定電圧源に結合される。セット902Aの行904において、デコード列906A内の第2のトランジスタ916は、セット902Aの行904内のプルダウン回路910がセットクロック信号908Aによって制御されるように、電源電圧VDDに結合される。同様に、セット902Bの行904において、デコード列906B内の第2のトランジスタ916は、セット902Bの行904内のプルダウン回路910がセットクロック信号908Bによって制御されるように、電源電圧VDDに結合される。
【0052】
しかしながら、セット902Aの行904において、デコード列906B内の第2のトランジスタ916は、デコード列906B内のセット902Aの行904内のプルダウン回路910が常にオフであるように、グランド電圧VSSに結合される。セット902Bの行904において、デコード列906A内の第2のトランジスタ916も、デコード列906A内のセット902Bの行904内のプルダウン回路910を常にオフにしたまま維持するように、グランド電圧VSSに結合される。すなわち、デコード列906Aにおいて、セット902A内の各行904に対応する各プルダウン回路910は、対応するセット902A用のセットクロック信号908Aを受信することに応答して、行904内のセット一致ライン918A又は920Aをアクティブにする。デコード列906Bにおいて、セット902B内の行904に対応する各プルダウン回路910は、対応するセット902B用のセットクロック信号908Bを受信することに応答して、行904に対応するセット一致信号918B又は920Bをアクティブにする。デコード列906Aにおいて、セット902B内の行904に対応する各プルダウン回路910は、セット一致信号918A又は918Bをアクティブにせず、デコード列906Bにおいて、セット902A内の各行904内のプルダウン回路910は、セット一致信号918B又は920Bをアクティブにしない。
【0053】
セットクロック信号908A及び908Bが特定のプルダウン回路910を制御しないとしても、それらが結合された第1のトランジスタ912は、セットクロック信号908A及び908Bのキャパシタンスに寄与する負荷を提供し、
図5の比較真データ520T及び比較補数データ520Cの負荷をよりよく複製して、
図5のセット一致信号508及び行一致ライン512のタイミングマージンを減少させる助けとなる。
【0054】
図10は、命令処理回路1004を含むプロセッサ1002(例えば、マイクロプロセッサ)を含んだ例示的なプロセッサベースのシステム1000のブロック図である。プロセッサベースのシステム1000は、例えばプリント回路基板(PCB)などの電子ボードカード、サーバ、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末(PDA)、コンピューティングパッド、モバイル装置、又は他の任意の装置に含まれる1つ以上の回路とすることができ、例えば、サーバ又はユーザのコンピュータを表し得る。この例において、プロセッサベースのシステム1000はプロセッサ1002を含んでいる。プロセッサ1002は、例えばマイクロプロセッサ、中央演算処理ユニット、又はこれらに類するものなどの、1つ以上の汎用処理回路を表す。より具体的には、プロセッサ1002は、EDGE命令セットマイクロプロセッサとしてもよく、あるいは、製作者命令の実行によって得られた生成値を伝えるための明示的な消費者命名をサポートする命令セットを実装する他のプロセッサとしてもよい。プロセッサ1002は、ここで説明した動作及びステップを実行するための命令の処理ロジックを実行するように構成される。この例において、プロセッサ1002は、命令処理回路1004によってアクセス可能な命令の一時的な高速アクセスメモリ記憶のための命令キャッシュ1006を含んでいる。例えばシステムバス1010上でメインメモリ1008からなど、メモリからフェッチ又はプリフェッチされた命令が命令キャッシュ1006に格納される。データは、プロセッサ1002による低レイテンシアクセスのために、システムバス1010に結合されたキャッシュメモリ1012に格納され得る。命令処理回路1004は、命令キャッシュ1006にフェッチされた命令を処理し、それらの命令を実行のために処理するように構成される。
【0055】
プロセッサ1002及びメインメモリ1008はシステムバス1010に結合され、プロセッサベースのシステム1000に含まれる周辺装置と相互に結合することができる。よく知られているように、プロセッサ1002は、それらの他のデバイスと、システムバス1010上でアドレス情報、制御情報、及びデータ情報を交換することによって通信する。例えば、プロセッサ1002は、スレーブ装置の一例としてのメインメモリ1008内のメモリコントローラ1014に対して、バストランザクション要求を通信することができる。
図10には示していないが、各システムバスが異なるファブリックを構成する複数のシステムバス1010が設けられてもよい。この例において、メモリコントローラ1014は、メインメモリ1008内のメモリアレイ1016にメモリアクセス要求を提供するように構成される。メモリアレイ1016は、データを格納するための記憶ビットセルのアレイからなる。メインメモリ1008は、非限定的な例として、読み出し専用メモリ(ROM)、フラッシュメモリ、例えば同期DRAM(SDRAM)などのダイナミックランダムアクセスメモリ(DRAM)、及びスタティックメモリ(例えば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)など)とし得る。
【0056】
システムバス1010に他の装置を接続することができる。
図10に示すように、それらの装置は、例として、メインメモリ1008、1つ以上の入力装置1018、1つ以上の出力装置1020、モデム1022、及び1つ以上のディスプレイコントローラ1024を含み得る。(1つ以上の)入力装置1018は、以下に限られないが、入力キー、スイッチ、音声プロセッサなどを含む任意のタイプの入力装置を含むことができる。(1つ以上の)出力装置1020は、以下に限られないが、オーディオ、ビデオ、他のビジュアルインジケータなどを含む任意のタイプの出力装置を含むことができる。モデム1022は、ネットワーク1026との間でのデータの交換を可能にするように構成された任意の装置とすることができる。ネットワーク1026は、以下に限られないが、有線若しくは無線ネットワーク、プライベート若しくはパブリックネットワーク、ローカルエリアネットワーク(LAN)、無線ローカルエリアネットワーク(WLAN)、ワイドエリアネットワーク(WAN)、BLUETOOTH(登録商標)ネットワーク、及びインターネットを含む任意のタイプのネットワークとすることができる。モデム1022は、望まれる任意のタイプの通信プロトコルをサポートするように構成されることができる。プロセッサ1002はまた、1つ以上のディスプレイ1028に送信される情報を制御するために、システムバス1010上で(1つ以上の)ディスプレイコントローラ1024にアクセスするように構成され得る。(1つ以上の)ディスプレイ1028は、以下に限られないが、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイなどを含む任意のタイプのディスプレイを含むことができる。
【0057】
図10のプロセッサベースのシステム1000は、命令に従って望まれる任意のアプリケーションのためにプロセッサ1002によって実行される命令1030のセットを含み得る。命令1030は、非一時的なコンピュータ読み取り可能媒体1032の例として、メインメモリ1008、プロセッサ1002、及び/又は命令キャッシュ1006に格納され得る。命令1030はまた、その実行中に、完全に又は少なくとも部分的に、メインメモリ1008内及び/又はプロセッサ1002内に存在し得る。命令1030は更に、ネットワーク1026がコンピュータ読み取り可能媒体1032を含むように、モデム1022を介してネットワーク1026上で送信又は受信され得る。
【0058】
コンピュータ読み取り可能媒体1036は、例示実施形態において単一の媒体であるように示されるが、用語“コンピュータ読み取り可能媒体”は、一組以上の命令を格納する単一の媒体又は複数の媒体(例えば、集中型若しくは分散型データベース、及び/又は付随キャッシュとサーバ)を含むように解釈されるべきである。用語“コンピュータ読み取り可能媒体”はまた、処理デバイスによる実行のために命令セットを格納、符号化、又は搬送することが可能であって、ここに開示された実施形態の方法のうちのいずれか1つ以上を処理デバイスに実行させる任意の媒体を含むように解釈されるものである。用語“コンピュータ読み取り可能媒体”は、従って、以下に限られないが、ソリッドステートメモリ、光学媒体、及び磁気媒体を含むように解釈されるものである。
【0059】
プロセッサベースシステム1000内のいずれかのICが、各セットに対応するデコード列を含むCAMアレイを含むことができ、デコード列の各々が、
図5に示したように、行一致ライン上のセット一致信号及び一致インジケーションが低減タイミングマージン内で生成されるように、セットアドレス信号を受信し、セットの各行においてセット一致信号を生成する。
【0060】
ここに開示された実施形態は様々なステップを含む。ここに開示された実施形態のステップは、ハードウェアコンポーネントによって形成されてもよいし、機械実行可能命令にて具現化され、それを用いて、当該ステップを実行するための命令で汎用プロセッサ又は専用プロセッサをプログラムしてもよい。あるいは、それらのステップは、ハードウェアとソフトウェアとの組み合わせによって実行されてもよい。
【0061】
ここに開示された実施形態は、命令を格納した機械読み取り可能媒体(又はコンピュータ読み取り可能媒体)を含み得るコンピュータプログラムプロダクト又はソフトウェアとして提供されてもよく、それを用いて、ここに開示された実施形態に従ってたプロセスを実行するようにコンピュータシステム(又は他のエレクトロニクス装置)をプログラムし得る。機械読み取り可能媒体は、機械(例えば、コンピュータ)によって読み取り可能な形態で情報を格納又は伝送する何らかの機構を含む。例えば、機械読み取り可能媒体は、機械読み取り可能記憶媒体(例えば、ROM、ランダムアクセスメモリ(“RAM”)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置)、及びこれらに類するものを含む。
【0062】
特段の断りがない限り、また、先の説明から明らかなように、説明の全体を通して、“処理”、“コンピューティング”、“決定”、“表示”などの用語を用いた説明は、コンピュータシステムのレジスタ内の物理的(電子的)な量として表されるデータ及びメモリを、コンピュータシステムのメモリ若しくはレジスタ又は他のそのような情報記憶、伝送、又は表示デバイス内の物理的な量として同様に表される他のデータへと操作及び変換するコンピュータシステム又は同様の電子コンピューティング装置の動作及びプロセスを指すと理解される。
【0063】
ここに提示されたアルゴリズム及び表示は、本質的に特定のコンピュータ又は他の装置に関係するものではない。様々なシステムがここでの教示に従ったプログラムと共に使用されることができ、あるいは、必要な方法ステップを実行するように、より特殊化された装置を構築することが好都合であると判明することがある。以上の説明から、多様なこれらのシステムに必要な構造が明らかになる。さらに、ここで説明された実施形態は、特定のプログラミング言語を参照して説明されていない。理解されることには、ここに記載された実施形態の教示を実装することには多様なプログラミング言語が使用され得る。
【0064】
当業者が更に理解することには、ここに開示された実施形態に関連して説明された様々な例示的な論理ブロック、モジュール、回路、及びアルゴリズムは、エレクトロニクスハードウェアとして、メモリ若しくは他のコンピュータ読み取り可能媒体に格納されてプロセッサ若しくは他のプロセッシングデバイスによって実行される命令として、あるいは、それら両方の組み合わせとして実装され得る。ここで説明された分散アンテナシステムのコンポーネントは、例として、何らかの回路、ハードウェアコンポーネント、集積回路(IC)、又はICチップにて使用され得る。ここに開示されたメモリは、任意のタイプ及びサイズのメモリとすることができ、望まれる任意のタイプの情報を格納するように構成され得る。この互換性を明確に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、及びステップが、概してそれらの機能に関して上述されている。そのような機能がどのように実装されるかは、特定のアプリケーション、設計上の選択、及び/又はシステム全体に課される設計上の制約に依存する。当業者は、記述された機能を特定の用途ごとに様々なやり方で実装し得るが、そのような実装上の決定は、本実施形態の範囲からの逸脱を引き起こすと解釈されるべきでない。
【0065】
ここに開示された実施形態に関連して説明された様々な例示的な論理ブロック、モジュール、及び回路は、プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、又は他のプログラマブル論理デバイス、ディスクリートのゲート若しくはトランジスタロジック、ディスクリートのハードウェアコンポーネント、又はここに記述された機能を実行するように設計されたそれらの任意の組み合わせで実装又は実行され得る。また、コントローラはプロセッサとし得る。プロセッサはマイクロプロセッサとし得るが、それに代えて、プロセッサは任意の従来からのプロセッサ、コントローラ、マイクロコントローラ、状態マシンであってもよい。プロセッサはまた、複数のコンピューティングデバイスの組み合わせ(例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアと組み合わされた1つ以上のマイクロプロセッサ、又は他の何らかのそのような構成)として実装されてもよい。
【0066】
ここに開示された実施形態は、ハードウェアにて、及びハードウェアに格納される命令にて具体化されることができ、例えば、RAM、フラッシュメモリ、ROM、電気的プログラム可能ROM(EPROM)、電気的消去可能プログラム可能ROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、又は当技術分野で知られた他の形態のコンピュータ読み取り可能媒体内に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。それに代えて、記憶媒体はプロセッサと一体であってもよい。プロセッサと記憶媒体がASICにて存在してもよい。ASICは遠隔局内に存在し得る。それに代えて、プロセッサと記憶媒体は、遠隔局、基地局、又はサーバ内にディスクリートコンポーネントとして存在してもよい。
【0067】
なお、また、ここでの例示実施形態のいずれかで説明された動作ステップは、例及び説明を提供するために記述されている。記述された動作は、例示されたシーケンス以外の数多くの異なるシーケンスで実行され得る。また、1つの動作ステップで記述された動作が実際には複数の異なるステップで実行されることがある。さらに、例示実施形態で説明された1つ以上の動作ステップが組み合わされることがある。当業者がこれまた理解することには、情報及び信号は、多様なテクノロジ及び技術のうちのいずれかを用いて表現され得る。例えば、以上の説明全体で言及されていることがあるデータ、命令、コマンド、情報、信号、ビット、シンボル、及びチップは、電圧、電流、電磁波、磁場、又は粒子、光学場若しくは粒子、又はこれらの任意の組み合わせによって表され得る。
【0068】
特段の断りが無い限り、ここに記載されたいずれの方法も、そのステップが特定の順序で実行されることを要求するとして解釈されることは決して意図していない。従って、方法クレームがそのステップが従うべき順序を実際に記載していない場合、又はその他で、そのステップが特定の順序に限られることが請求項又は説明中で具体的に述べられていない場合、特定の順序が推定されることは決して意図していない。
【0069】
当業者に理解されることには、本発明の精神又は範囲から逸脱することなく様々な変更及び変形が為され得る。本発明の精神及び内容を組み込んだ開示実施形態の変更、組み合わせ、サブコンビネーション、及び変形が当業者には思い浮かぶのであるから、本発明は、添付の請求項及びそれらに均等なものの範囲内の全てを含むように解釈されるべきである。
【国際調査報告】