JP5180209B2 - 連想メモリ内の電力消費を減少させるための方法と装置 - Google Patents

連想メモリ内の電力消費を減少させるための方法と装置 Download PDF

Info

Publication number
JP5180209B2
JP5180209B2 JP2009523904A JP2009523904A JP5180209B2 JP 5180209 B2 JP5180209 B2 JP 5180209B2 JP 2009523904 A JP2009523904 A JP 2009523904A JP 2009523904 A JP2009523904 A JP 2009523904A JP 5180209 B2 JP5180209 B2 JP 5180209B2
Authority
JP
Japan
Prior art keywords
cam
circuit
match
match lines
match line
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.)
Expired - Fee Related
Application number
JP2009523904A
Other languages
English (en)
Other versions
JP2009545839A (ja
Inventor
チャイ、チャミング
フィッシャー、ジェフリー・ハーバート
ファン、マイケル・タイタン
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2009545839A publication Critical patent/JP2009545839A/ja
Application granted granted Critical
Publication of JP5180209B2 publication Critical patent/JP5180209B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/06Arrangements for interconnecting storage elements electrically, e.g. by wiring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers

Landscapes

  • Static Random-Access Memory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)

Description

[発明の分野]
本発明は一般に連想メモリ(CAM;Content Addressable Memory)に関し、そしてより詳しくはCAM性能に悪影響を与えること無しにCAM電力消費を減少させることに関する。
[関連する背景]
ランダムアクセスメモリ(RAM)がこのRAMに供給されたアドレスに蓄積されたデータワードを戻すのと違って、連想メモリ(CAM)はこのCAMへのサーチワード入力にマッチするデータパターンについてその全体のメモリを調べる。もしこのデータパターンが見つかると、CAMはこのワードが見つけられた1つまたはそれ以上の蓄積アドレスのリストを戻す。いくつかのCAMでは、データワードまたは他の関連データも戻される。したがって、CAMはしばしば連想配列(associative array)を使用される。
CAMは複数のエントリを備え、各エントリはデータを蓄積するように構成された多数のCAMセルを有する。CAMセルは(バイナリデータを蓄積する)バイナリ、あるいは(バイナリデータまたは「出力には影響のない状態(don,t care state)」を蓄積する)ターナリ(ternary)であってもよい。各CAMセルはマッチライン(match line)に連結される。CAMサーチ動作の間中、サーチフィールドはCAMに提供される。サーチフィールド入力に応じて、各マッチラインはそれぞれのCAMセルがある部分のサーチフィールドにマッチするデータを含むかどうかを示す。サーチ動作が完了した後、マッチラインは次のサーチの間中CAM性能を改善するために慣例的に前評価状態(pre-evaluation state)に戻される。例えば、マッチラインは前評価周期の間中慣例的に1つの論理値に高くプリチャージされる。
次のCAMサーチ動作の間中、マッチングデータを含まないCAMセルに関連するマッチラインはディスチャージされる。マッチングデータを蓄積するCAMセルに連結されたこれらのマッチラインのみは高くチャージされたままである。そのように、1エントリに関連する1つのCAMセルのみはミスマッチのデータパターン含んでいるとして識別されるようにこのエントリに関するミスマッチングデータを含む必要がある。これはミス(miss)と呼ばれる。反対に、もしも1エントリ内の各セルがマッチを生ずれば、このエントリは1マッチングパターンを含んでいるとして識別され、これはヒット(hit)と呼ばれる。
いくつかの従来のCAMはマッチライン上の容量性負荷を減少させるための複数レベルの階層的なマッチラインを含み、それはCAM性能および電力消費に影響を及ぼす。そのようなマルチ−レベル階層的CAM(multi-level hierarchical CAM)では、1群のCAMセルを取り扱っているローカルマッチライン(local match line)は単一のグローバルマッチライン(global match line)に連結される。1つまたはそれ以上のローカルマッチラインによって示されたミスマッチは対応するグローバルマッチラインによって表される。そのように、もしもその対応するローカルマッチラインの1つがミスを示すならばグローバルマッチラインはミスを示す。反対に、もしもその対応するローカルマッチラインのすべてがヒットを示すならばグローバルマッチラインはヒットを示す。CAMサイズ次第で、マッチラインの1つまたはそれ以上の中間レベルは容量性負荷をさらに減少させるためにローカルマッチラインおよび対応するグローバルマッチラインの間に含まれてもよい。
特定のCAM構造にかかわらず、CAMサーチ結果を処理するいくつかのアプリケーションはサブセットのCAMエントリについてのサーチ結果を必要とするだけかもしれない。例えば、いくつかのアプリケーションはこのエントリの他の部分に関連するサーチ結果を使用している一方で、特定のCAMエントリのある部分についてのヒット/ミスサーチ結果を捨てるかまたは無視することができる。特定のCAMセルについてのヒット/ミスサーチ結果を無視することに関する1つの従来のアプローチは、興味のないCAMセルをそれらのそれぞれのマッチラインから分離することである。例えば、トランジスタ装置がCAMセルの出力ノードとそれのそれぞれのマッチラインとの間に直列に並べられてもよい。トランジスタがスイッチオフされる時には、CAMセルはそれのマッチラインから切り離される。そのように、CAMセルの内容はCAMセルのマッチラインの状態に影響を及ぼさない。すなわち、マッチラインは例えば、それの対応するCAMセルがマッチングデータを含むか否かには関係なく、それの前評価状態にとどまる。しかしながら、たとえCAMセルが無視されるであろうことに関連するサーチ結果だとしても、前評価期間中はこのCAMセルのマッチラインをプリチャージすることに電力が使用される。さらに、ゲーチングトランジスタがスイッチオンされる時には、このトランジスタはCAMセルの出力ノードをこのマッチラインに連結する。そのような構成はCAMセルの出力ノードに追加のキャパシタンスを付加し、従ってマッチライン動作を遅らせ、そして追加の電力を消費する。
マルチ−レベル階層的CAMにおいて特定のサーチ結果を無視することに関するもう1つの従来のアプローチは興味のないローカルマッチラインと関連するグローバルマッチラインイネーブル回路をディスエーブル(disable)にすることである。例えば、プリチャージされたグローバルマッチラインがディスチャージされてもよいかどうかを制御するクロック信号はイネーブル信号によってゲートされる。もしクロック信号がディスエーブルにされれば、グローバルマッチラインはそれに連結されたローカルマッチラインの状態に関係なくそれのプリチャージされた状態のままである。結果として、CAM評価期間中はイネーブルされるグローバルマッチラインのみがそれらの対応するローカルマッチラインの状態によって影響を及ぼされる。電力はなおグローバルマッチラインイネーブル回路がディスエーブルにされる時に対応するグローバルおよびローカルマッチラインをプリチャージして消費される。
[開示の概要]
この中で教えられた方法および装置によれば、マルチ−レベル階層的連想メモリ(CAM)回路はCAM動作に悪影響を及ぼすこと無しに電力消費を減少させるためのマッチライン連結回路(match line coupling circuitry)を含む。マッチライン連結回路は前評価状態に興味のないCAMマッチラインの回復(restoration)を防ぐことによって、例えば、マッチラインプリチャージング(match line pre-charging)を防ぐことによって電力消費を減少させる。したがって、CAMアクセスサイクルの前評価期間中は、興味のあるそれらのマッチラインのみがそれらの前評価状態に戻される。
マッチライン連結回路によって受信されたかさもなければ取得されたイネーブル情報はどちらのマッチラインに興味がないかを示す。1つの実施形態では、イネーブル情報はどちらのマッチラインに興味がないかを直接に示す。もう1つの実施形態では、イネーブル情報はどちらのマッチラインに興味がないかを、例えば、興味のあるマッチラインを識別することによって、間接に示す。にかかわらず、イネーブル情報はどちらの特定のCAMマッチラインに興味があるか無いかを示すのにふさわしい任意の情報、例えば、関心/無関心インジケータ(care/don’t’ care indicator)、1つまたはそれ以上のマスキングビット(masking bit)、1つまたはそれ以上の有効/無効ビット(valid/invalid bit)等を具備してもよい。
あるマッチラインの回復を防ぎ、そしてそれによって電力を節約することのほかに、マッチライン連結回路はまた対応する高レベルマッチラインを興味がないとして識別されたマッチラインから切り離す。これは、特定の低レベルマッチラインが上記電力節約動作の一部としてそれらの前評価状態に戻されない時に予想できない動作を防ぐ。
マルチ−レベル階層的CAM回路内の電力消費を減少させるための1つの実施形態によれば、マルチ−レベル階層的CAM回路内に含まれた1つまたはそれ以上のCAMマッチラインと関連するイネーブル情報が取得される。CAMマッチラインの個々のものはイネーブル情報に反応して前評価状態に戻されるのを防がれる。マルチ−レベル階層的CAM回路の1実施形態によれば、CAM回路は複数の低レベルマッチライン、複数の高レベルマッチラインおよびマッチライン回復回路(match line restoration circuitry)を具備する。低レベルマッチラインは、前評価期間中は前評価状態に戻されるように構成される。高レベルマッチラインは、評価期間中は1つまたはそれ以上の低レベルマッチラインのそれぞれのグループの評価状態を獲得するようにそして前評価期間中は前評価状態に戻されるように構成される。マッチライン回復回路は少なくとも1つの低レベルマッチラインが対応するイネーブル情報に反応して前評価状態に戻されるのを防ぐように構成され、そのようにここでマッチラインは無関心の(マスクされた)(don’t care (masked))または無効の内容に相当すると認められる。
マルチ−レベル階層的CAM回路はキャッシュおよびバッファのようないろいろな種類のメモリ装置内に含まれるかまたはそれに結合されてもよい。トランスレーションルックアサイドバッファ(TLB;Translation Look aside Buffer)の1つの実施形態によれば、TLBは複数のエントリおよび対応するマッチラインを有するマルチ−レベル階層的CAM回路を具備する。マルチ−レベル階層的CAM回路はこのエントリに関連するイネーブル情報を蓄積するように、そしてバーチャルメモリアドレスを対応する物理メモリアドレスに変換するように構成される。本TLB環境内のイネーブル情報はTLBエントリの有効性を示す1つまたはそれ以上のビットに対応する。マルチ−レベル階層的CAM回路はマッチラインの個々のものがイネーブル情報に反応して前評価状態に戻されるのを防ぐように構成される。
もちろん、本発明は上記特徴および利点に限定されない。この分野の技術者は以下の詳細な説明を読んで、そして添付図面を見て、追加の特徴および利点を認めるであろう。
電力消費を減少させるマッチライン連結回路を有するマルチ−レベルの階層的な連想メモリ(CAM)回路の1実施形態を示す部分ブロック図。 マルチ−レベル階層的CAM回路内の電力消費を減少させるためのプログラム論理の1実施形態を示す論理フロー図。 マルチ−レベル階層的CAM内に含まれたマッチライン連結回路の1つの実施形態を示すブロック図。 CAMマッチライン連結回路を含むマイクロプロセッサの1実施形態を示すブロック図。 マルチ−レベル階層的CAM内に含まれたマッチライン連結回路のもう1つの実施形態を示すブロック図。
[詳細な説明]
図1は連想メモリ(CAM)動作の間中電力消費を減少させるマルチ−レベル階層的CAM回路10の1実施形態を部分的に示す。CAM回路10はデータを蓄積するためのバイナリまたはターナリCAMセルのような複数のメモリセル12を有する。CAMセル12はグループ14内に配列される。グループ14内の各CAMセル12はローカルマッチライン(LML)に連結される。CAM回路10内に含まれた回路16は関連のLMLを高レベルマッチラインに連結し、例えば、図1ではLML0乃至LMLnはグローバルマッチライン(GML0)に連結される。1つの実施形態では、関連のLMLはマッチライン連結回路16によりGMLに直接に連結される。この実施形態によれば、CAM回路10は2つの階層的なレベルのマッチライン(ローカルおよびグローバルマッチライン)を具備する。もう1つの実施形態では、関連のLMLは中間マッチライン(IML;Intermediary Match Line)に連結される。関連のIMLはその後対応するGMLに直接または間接に連結される。この実施形態によれば、CAM回路10は2つ以上の階層的なレベルのマッチライン(複数LML、少なくとも1つのIML、および複数GML)を具備する。
マッチラインレベルの数にかかわらず、マッチライン連結回路16はマッチライン回復回路18およびマッチライン切離し回路20を具備する。説明を楽にするだけのために、マッチライン連結回路16がLMLをGMLに連結することに関して次に記述される。しかしながら、この分野の技術者はこの中に記述された連結回路16が任意の階層的な低レベルのマッチラインを高レベルのマッチラインに連結してもよいことをすぐに認めるであろう。
これを心に置いて、マッチライン回復回路18は特定のLMLがCAMサーチ動作の後に前評価状態に戻されるべきかどうかを決定する。すなわち、すべてとは限らないLMLは特定のCAMサーチ動作の間中興味があるかもしれない。例えば、この内容の1つまたはそれ以上のCAMエントリ(図示せず)あるいはCAMエントリの部分は評価の間中無効としてマークされるかまたはマスクされてもよい。これらのエントリまたは部分的なエントリに相当するLMLは興味がない。興味がないLMLによって供給されたサーチ結果はCAMサーチ動作の間中慣例的に無視されるかまたは捨てられる。例えば、各CAMエントリと関連する1つまたはそれ以上の有効あるいはマスキングビットは、どのLMLは興味がないかを示すためのマッチライン回復回路18に供給される。1つの実施形態では、イネーブル情報は、どのマッチラインは興味がないかを直接に示す。もう1つの実施形態では、イネーブル情報は、例えば、興味のあるマッチラインを識別することによって、どのマッチラインは興味がないかを間接に示す。それでも、マッチライン回復回路18はCAMサーチ動作の間中無視されるであろうマッチラインを識別するためにイネーブル情報を使用する。
もし特定のマッチライン回復回路18がそれの対応するLMLは興味がないことを決定すれば、それはこのLMLを本質的にディスエーブルにして、これらのLMLが前評価状態に戻されるのを防ぐ。1つの実施形態では、マッチライン回復回路18はLMLがプリチャージされるのを防ぐ。もう1つの実施形態では、マッチライン回復回路18はLMLがプリディスチャージ(pre-discharge)されるのを防ぐ。これらのLMLに関連するサーチ結果は興味がないので、前評価状態へのそれらの回復がCAM回路10の動作に悪影響を及ぼさずに電力消費を減少させるのを防ぐ。マッチライン回復回路18によって使用されたイネーブル情報は、例えば、CAM回路10内の各エントリ内に含まれた1つまたはそれ以上の有効ビットとしてCAM回路10内に蓄積されてもよく、あるいはCAM回路10に供給されてもよい。
イネーブル情報はまたマッチライン切離し回路20によっても使用される。マッチライン切離し回路20は興味のないLMLがそれらの対応するGMLに影響を及ぼすのを防ぐためにイネーブル情報を使用する。興味のないLMLをそれのGMLから切り離すことはそのGMLの状態に影響を及ぼさないであろうことを保証する。その代わりとして、このGMLに連結されたイネーブルドLMLだけが、例えば、それをディスチャージすることによって、このGMLの状態に影響を及ぼすことができる。これは電力消費を減少させる一方で不安定なCAM回路10の動作を防ぐ。
1つの実施形態では、マッチライン切離し回路20はマッチライン回復回路18によってディスエーブルにされた1群のLMLが、それらが連結されるGMLの状態に影響を及ぼすのを防ぐ。もしイネーブル情報が特定のGMLと関連する一群のLMLはCAMサーチ動作の間中無視されるべきであることを示すならば、その時マッチライン切離し回路20はこの群のLMLをこのGMLから切り離す。そのように、マッチライン切離し回路20は、このLMLは興味がない時には、個々の群のLMLが対応するGMLの状態に影響を及ぼすのを防ぐ。
下記はマッチライン回復および切離し回路18,20がCAMサーチ動作の間中どのように機能するかを説明するための図1に示されたCAM回路10に基づいた非限定の例である。CAMサーチ動作の前評価期間の間中、CAM回路10は、図2のステップ100によって図示されたように、マッチラインイネーブル情報を取得する。1つの実施形態では、CAM回路10はこのエントリの有効性を示す対応する有効ビットを取得するためにCAM回路10の各エントリ内の位置をアクセスする。本例では、イネーブル情報はLML1を除いてすべてのLMLは興味があることを示す。イネーブル情報に基づいて、LML1と関連するマッチライン回復回路18は、図2のステップ102によって図示されたように、他のマッチライン回復回路18がそれらの対応するLMLの回復を可能にする一方でそれの前評価状態に戻されるのを防ぐ。さらに、LML1と関連するマッチライン切離し回路20はLML1が次の評価期間中GML0の状態に影響を及ぼすのを防ぐ。したがって、GML0の状態はLML1を除いて各LMLによって影響を及ぼされるかもしれない。
図3はCAM10内に含まれたマッチライン連結回路16の1つの実施形態を示す。マッチライン連結回路16はLMLプリチャージ回路(p−FET T1)、インバータ(p−FET T2およびn−FET T3)、GMLプリチャージ回路(p−FET T4)、およびGML評価回路(n−FET T5およびT6)を含む。マッチライン連結回路16はまたマッチライン回復および切離し回路18,20も含む。この実施形態によれば、マッチライン回復回路18はLMLプリチャージ回路およびインバータの電圧源(Vdd)とソースノードとの間に連結されたp−FETトランジスタ(T7)を具備する。マッチライン切離し回路20はGML評価回路の1つのゲート入力に連結されたn−FETトランジスタ(T8)を具備する。マッチライン回復および切離し回路18,20のゲートはイネーブル信号(LML ENABLE)によって制御される。
イネーブル信号は、LMLは興味があるかまたはないかを示す。イネーブル信号が論理である時は、それはLMLのプリチャージングをディスエーブルにさせ、そしてこのLMLをそれのGMLから切り離させる。詳しくは、もしイネーブル信号がこのLMLと関連するサーチ結果に興味があることを示せば、マッチライン回復回路18は活性化される(例えば、p−FETトランジスタT7がスイッチオンされる)。活性化された時には、マッチライン回復回路18はそれらのそれぞれのソースノードを論理値(Vdd)にチャージすることによってLMLプリチャージ回路およびインバータをイネーブルにする。これは前評価期間の間中アクティブな回復信号(RESTORE)に応じてLMLを論理値にプリチャージするためにLMLプリチャージ回路をイネーブルにする。いくつかの従来の回路技術と違って、マッチライン回復回路18は活性化された時にCAM回路10の性能に悪影響を与えない。詳しくは、マッチライン回復回路は、活性化された時にLMLに連結されたCAMセル(図示せず)の出力ノードに追加の容量を付加しない。マッチライン回復回路18はLMLをCAMセルの出力ノードに接続するアクティブな信号パス内に配置されないので、追加の容量負荷は無いという結果になる。
LMLは興味がある時には、イネーブル信号もマッチライン切離し回路20を不活性化させる(例えば、n−FETトランジスタT8がスイッチオフされる)。マッチライン切離し回路20が不活性化される時には、GMLの状態はLMLによって影響を及ぼされる。結果として、GML評価回路のn−FETトランジスタT6がイネーブルにされたクロック信号(GML CLK)に応じて活性化される時には、LMLの状態はGML評価回路のn−FETトランジスタT5がスイッチオンまたはオフのどちらをされるかを制御する。もしn−FETトランジスタT5がスイッチオンされれば、GMLは地気にディスチャージする。反対に、n−FETトランジスタT5がスイッチオフされる時にはLMLの状態に関係なく、GMLはLMLによって影響を受けないままである。結果として、不活性化した時にはマッチライン切離し回路20はGML状態に影響を及ぼさない。その代わりとして、GMLの状態はイネーブルにされたLMLのみのそれを反映する。
もしLMLは興味がなければ、マッチライン回復回路18は不活性化される(例えば、p−FETトランジスタT7がスイッチオフされる)。不活性化された時に、マッチライン回復回路18はLMLプリチャージ回路およびインバータのソースノードを電源から切り離す。LMLプリチャージ回路は電源がそれのソースノードからはずされる時にはLMLをプリチャージすることはできない、したがって不必要な電力消費を減少させる。さらに、マッチライン回復回路18が不活性化される時にはLMLはディスエーブルにされる。
さらに、イネーブル信号は、LMLがディスエーブルにされる時にマッチライン切離し回路20を活性化させる。マッチライン切離し回路20はGML評価回路のn−FETトランジスタT5へのゲート入力を低論理値(Vss)に決定する。n−FETトランジスタT5のゲート入力が低い時は、LMLの状態はGMLのそれに影響を及ぼさず、したがって、LMLはそれのGMLから切り離される。詳しくは、n−FETトランジスタT5はそれのゲート入力が低い時には十分な電流を処理することができない。そのように、以前の非評価期間の間中プリチャージされていたGMLは、LMLの状態にかかわらずこの特定のGML評価回路によってディスチャージされることはできない。活性化された時に、マッチライン切離し回路20はまた、GML評価回路のn−FETトランジスタT5のゲート入力を引き下げることによってCAM回路10による予想できない動作も防ぐ。もしn−FETトランジスタT5のゲート入力が引き下げられなければ、インバータの出力ノード(lml sns)はGML状態に悪影響を及ぼすかもしれない。例えば、GMLのインバータの出力ノードは、その電源がそれのソースノードから戻された時に浮くかまたはさもなければ予想できない動作をするかもしれない。マッチライン切離し回路20は、LMLが興味のない時にこのLMLがGMLの状態に影響を及ぼすのを防ぐことによってそのような時々起こる動作がこのGMLに悪影響を及ぼすのを防ぐ。
マッチライン回復および切離し回路18,20はキャッシュおよびバッファのようないろいろな種類のメモリ装置内に含まれるかまたはそれと結合されてもよい。図4はマッチライン回復および切離し回路18,20の1つまたはそれ以上の事例を含むCAMまたはCAMのような回路を有するマイクロプロセッサ30の1つの実施形態を示す。もっと詳細に、マイクロプロセッサ30は命令ユニット32、1つまたはそれ以上の実行ユニット34、バスインターフェイスユニット36、データキャッシュ38、命令キャッシュ40および高レベル(L2)キャッシュ42を含む。命令ユニット32は実行ユニット34への命令フローの集中制御を提供する。実行ユニット34は命令ユニット32によって発送された命令を実行する。バスインターフェイスユニット36はマイクロプロセッサ30へのおよびからのデータ、命令、アドレス、および制御信号を転送するための機構を提供する。データおよび命令キャッシュ38,40は、それぞれ、データおよび命令を蓄積する。L2キャッシュ42はデータおよび命令キャッシュ38,40とマイクロプロセッサ30外部のメモリ(図示せず)との間に高速メモリバッファを供給する。
キャッシュ38,40および42はキャッシュアクセス動作の間中アドレス変換を行うためのそれぞれのトランスレーションルックアサイドバッファ(TLB)44,46および48を有する。各TLB44,46および48は1つまたはそれ以上の実例のマッチライン回復および切離し回路18,20を有する。あるいは、統合されたTLB(図示せず)がキャッシュ38,40および42のためのアドレス変換を行ってもよい。それでも、TLB44,46および48はCAMベースであり、その中では興味のあるバーチャルアドレスがTLB44,46および48に供給され、そしてTLB44,46および48は応答として対応するヒットまたはミスの結果をもたらす。ヒットの場合には、物理アドレスがバーチャルアドレスサーチフィールドに対応して生成される。ミスの場合には、ページテーブル変換が起こる。
TLB44,46および48はバーチャルアドレスの物理アドレスへの変換用の情報を含むエントリ(図示せず)を有する。1つの実施形態では、各TLBエントリはバーチャルアドレスフィールド、対応する物理アドレスフィールドおよび有効ビッドを具備する。もしバーチャルアドレスフィールドがTLB44,46および48の1つの中のエントリに匹敵すれば、対応する物理アドレスフィールドが出力される。さもなければ、ページテーブルトランザクションが起こる。有効ビットは特定のTLBエントリが有効か否かを決定する。もし無効ならば、エントリ内容はアドレス変換の間中無視されるか捨てられる。ページサイズビットのような他のイネーブルビットはバーチャルアドレスビットの対応する部分がアドレス変換に関与すべきかどうかを決定することができる。
図5はTLB44,46および48用のマッチライン連結回路の1つの実施形態を図示する。この実施形態によれば、TLB44,46および48エントリから検索された有効ビット(VALID)はマッチライン回復および切離し回路18,20の動作を制御する。特定のTLB44,46および48エントリが有効である時には、それの有効ビットは対応するマッチライン回復回路18をイネーブルにさせる。イネーブルにされた時には、マッチライン回復回路18は、TLBサーチ動作の後にそれのLMLを前評価状態に戻す。また、回復回路18はイネーブルにされた時には対応するGMLをプリチャージするための第2のp−FETトランジスタ(T9)を含む。反対に、有効ビットがエントリは無効であることを示す時には、LMLはそれのGMLから切り離される。
この実施形態によれば、マッチライン切離し回路10のp−FET10がGMLインバータ回路(p−FET T2およびn−FET T3)への入力を低論理値(Vss)に決定する時には、このLMLはそれのGMLから切り離される。マッチライン切離し回路20がインバータ入力を低論理状態に決定する時には、LMLはそれのGMLから効果的に切り離される。即ち、インバータはLMLの状態にかかわりなく論を出力するので、LMLはもはやGMLの状態に影響を及ぼさない。インバータ入力を低論理状態に決定することによって、それのクロック入力信号(GML CLK)がアクティブである時にGMLはディスチャージする。GMLがディスチャージされる時は、それはミスマッチと理解される。したがって、連結回路16のこの実施形態はTLB44,46および48エントリが無効である時に誤ったヒットが処理されるのを防ぐ。あるいは、図3に図示された連結回路16の実施形態は、無効なLMLの回復を防ぎそして無効なLMLをそれらの対応するGMLから切り離すことのためにTLB44,46および48内に含まれてもよい。
上記の変動および適用の範囲を心に置いて、本発明が上述の明細書によって限定されず、また添付図面によっても限定されないことは理解されねばならない。そうではなく、本発明は下記のクレームおよびそれらの等価物によってのみ限定される。

Claims (26)

  1. マルチ−レベル階層的連想メモリ(CAM)回路における、電力消費を減少させる方法において、
    該マルチ−レベル階層的CAM回路内に含まれた複数のCAMマッチラインに関連するイネーブル情報を取得し、該複数のCAMマッチラインは高レベルCAMマッチラインから個々に切り離されるように構成されており、
    該CAMマッチラインの個々のものが該イネーブル情報に応答して前評価状態に戻されることを防止することを含む方法。
  2. 該前評価に戻されることを防止された該CAMマッチラインの個々のものは、ローカルCAMマッチラインおよび中間CAMマッチラインを含む、請求項1記載の方法。
  3. 該CAMマッチラインの個々のものが該イネーブル情報に応答して前評価状態に戻されることを防止することは、マッチラインプリチャージングを防止することを含む、請求項1記載の方法。
  4. 該CAMマッチラインの個々のものが該イネーブル情報に応答して前評価状態に戻されることを防止することは、マッチラインプリディスチャージングを防止することを含む、請求項1記載の方法。
  5. 該CAMマッチラインの個々のものが該イネーブル情報に応答して前評価状態に戻されることを防止することは、該CAMマッチラインの該個々のものをそれらのそれぞれの前評価状態に戻すように構成された回路をディスエーブリングすることを含む、請求項1記載の方法。
  6. 該CAMマッチラインの個々のものが該イネーブル情報に応答して対応する高レベルCAMマッチラインの前評価状態に影響を及ぼすのを防止することをさらに含む、請求項1記載の方法。
  7. 該CAMマッチラインの個々のものが該イネーブル情報に応答して対応する高レベルCAMマッチラインの前評価状態に影響を及ぼすのを防止することは、それらの対応する高レベルCAMマッチラインから該CAMマッチラインの個々のものを切り離すように構成された回路をイネーブリングすることを含む、請求項6記載の方法。
  8. 該対応する高レベルCAMマッチラインは、中間CAMマッチラインおよびグローバルCAMマッチラインの少なくとも1つの含む、請求項6記載の方法。
  9. 該イネーブル情報は、該CAMマッチラインの個々のものに関連するサーチ結果が使用されるべきかどうかを示す1つまたはそれ以上のビットを含む、請求項6記載の方法。
  10. マルチ−レベル階層的連想メモリ(CAM)回路において、
    前評価期間中に前評価状態に戻されるように構成された複数の低レベルマッチラインと、
    高レベルマッチラインであって、該複数の低レベルマッチラインの各々は該高レベルマッチラインから個々に切り離されるように構成されており、該高レベルマッチラインは評価期間中に該複数の低レベルマッチラインの各々の評価状態を獲得するように、および該前評価期間中は前評価状態に戻されるように構成されている、高レベルマッチラインと、
    該複数の低レベルマッチラインのうちの少なくとも1つの低レベルマッチラインがイネーブル情報に応答して該前評価状態に戻されるのを防止するように構成されたマッチライン回復回路と、
    を含むマルチ−レベル階層的CAM回路。
  11. 該マッチライン回復回路は、マッチラインプリチャージングを防止することによって、該イネーブル情報に反応して該複数の低レベルマッチラインのうちの少なくとも1つの低レベルマッチラインが該前評価状態に戻されるのを防止するように構成される、請求項10記載のマルチ−レベル階層的CAM回路。
  12. 該マッチライン回復回路は、マッチラインプリディスチャージングを防止することによって、該イネーブル情報に反応して該複数の低レベルマッチラインのうちの少なくとも1つの低レベルマッチラインが該前評価状態に戻されるのを防止するように構成される、請求項10記載のマルチ−レベル階層的CAM回路。
  13. 該マッチライン回復回路は、1つまたはそれ以上の中間マッチラインが該イネーブル情報に反応して前評価状態に戻されるのを防止するようにさらに構成される請求項10記載のマルチ−レベル階層的CAM回路。
  14. 該マルチ−レベル階層的CAM回路は、該複数の低レベルマッチラインのうちの1つまたはそれ以上の低レベルマッチラインを、該イネーブル情報に応じて、該高レベルマッチラインから切り離すように構成されたマッチライン切離し回路をさらに含む、請求項10記載のマルチ−レベル階層的CAM回路。
  15. 該マッチライン切離し回路は、該複数の低レベルマッチラインのうちの1つまたはそれ以上の低レベルマッチラインを、該イネーブル情報に応じて、該低レベルマッチラインの個々のものが該高レベルマッチラインの該前評価状態に影響を及ぼすのを防止することによって、該高レベルマッチラインから切り離すように構成される、請求項14記載のマルチ−レベル階層的CAM回路。
  16. 該マッチライン切離し回路は、該複数の低レベルマッチラインの個々のものが該高レベルマッチラインをディスチャージするのを防ぐことによって、該低レベルマッチラインの個々のものが該高レベルマッチラインの該前評価状態に影響を及ぼすのを防止するように構成される、請求項15記載のマルチ−レベル階層的CAM回路。
  17. 該マッチライン切離し回路は、1つまたはそれ以上の中間マッチラインを該高レベルマッチラインから切り離すことによって、該複数の低レベルマッチラインのうちの1つまたはそれ以上の低レベルマッチラインを、該イネーブル情報に応じて、該高レベルマッチラインから切り離すように構成される、請求項14記載のマルチ−レベル階層的CAM回路。
  18. 該イネーブル情報は、該複数の低レベルマッチラインの個々のものに関連するサーチ結果が使用されるべきであるかどうかを示す1つまたはそれ以上のビットを含む、請求項14記載のマルチ−レベル階層的CAM回路。
  19. 該複数の低レベルマッチラインはローカルマッチラインを含み、そして該高レベルマッチラインはグローバルマッチラインである、請求項10記載のマルチ−レベル階層的CAM回路。
  20. 請求項10に記載の該マルチ−レベル階層的CAM回路を含むマイクロプロセッサ。
  21. トランスレーションルックアサイドバッファ(TLB)回路において、
    複数のエントリおよび該複数のエントリに対応する複数の低レベルマッチラインを有するマルチ−レベルの階層的連想メモリ(CAM)回路を含み、
    該低レベルマッチラインの各々は、高レベルマッチラインから個々に切り離されるように構成されており、該高レベルマッチラインは、評価期間中に該低レベルマッチラインの各々の評価状態を獲得するように、および前評価期間中は前評価状態に戻されるように構成されており、
    該マルチ−レベルの階層的CAM回路は、該エントリに関連するイネーブル情報を蓄積するよう、バーチャルメモリアドレスを対応する物理メモリアドレスに変換するように、および該低レベルマッチラインの個々のものが該イネーブル情報に反応して前評価状態に戻されるのを防止するように構成されている、TLB回路。
  22. 該マルチ−レベル階層的CAM回路は、該低レベルマッチラインを戻すように構成された該マルチ−レベル階層的CAM回路内に含まれた回路をディスエーブリングすることによって該低レベルマッチラインの個々のものが該イネーブル情報に反応して前評価状態に戻されるのを防止するように構成される、請求項21記載のTLB回路。
  23. 該マルチ−レベル階層的CAM回路は、該低レベルマッチラインの個々のものを、該イネーブル情報に応じて、該高レベルマッチラインから切り離すようにさらに構成される、請求項21記載のTLB回路。
  24. 該マルチ−レベル階層的CAM回路は、該低レベルマッチラインの個々のものを、該イネーブル情報に応じて、該低レベルマッチラインの個々のものが、該高レベルマッチラインの前評価状態に影響を及ぼすのを防止するように構成された該マルチ−レベル階層的CAM回路内に含まれた回路をイネーブリングすることによって、該高レベルマッチラインから切り離すように構成される、請求項23記載のTLB回路。
  25. 該マルチ−レベル階層的CAM回路は、該低レベルマッチラインの個々のものを、該イネーブル情報に応じて、該高レベルマッチラインを該低レベルマッチラインの状態に関係なくディスチャージすることによって、該高レベルマッチラインから切り離すように構成される、請求項23記載のTLB回路。
  26. 請求項21に記載の該TLB回路を含むマイクロプロセッサ。
JP2009523904A 2006-08-04 2007-08-01 連想メモリ内の電力消費を減少させるための方法と装置 Expired - Fee Related JP5180209B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/462,455 US7616468B2 (en) 2006-08-04 2006-08-04 Method and apparatus for reducing power consumption in a content addressable memory
US11/462,455 2006-08-04
PCT/US2007/074999 WO2008019274A2 (en) 2006-08-04 2007-08-01 Method and apparatus for reducing power consumption in a content addressable memory

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012227318A Division JP5507644B2 (ja) 2006-08-04 2012-10-12 連想メモリ内の電力消費を減少させるための方法と装置

Publications (2)

Publication Number Publication Date
JP2009545839A JP2009545839A (ja) 2009-12-24
JP5180209B2 true JP5180209B2 (ja) 2013-04-10

Family

ID=38859851

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2009523904A Expired - Fee Related JP5180209B2 (ja) 2006-08-04 2007-08-01 連想メモリ内の電力消費を減少させるための方法と装置
JP2012227318A Expired - Fee Related JP5507644B2 (ja) 2006-08-04 2012-10-12 連想メモリ内の電力消費を減少させるための方法と装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2012227318A Expired - Fee Related JP5507644B2 (ja) 2006-08-04 2012-10-12 連想メモリ内の電力消費を減少させるための方法と装置

Country Status (10)

Country Link
US (2) US7616468B2 (ja)
EP (1) EP2057634B1 (ja)
JP (2) JP5180209B2 (ja)
KR (1) KR101041667B1 (ja)
CN (1) CN101501780B (ja)
BR (1) BRPI0714511A2 (ja)
CA (1) CA2658599A1 (ja)
MX (1) MX2009001338A (ja)
RU (1) RU2414014C2 (ja)
WO (1) WO2008019274A2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7616468B2 (en) * 2006-08-04 2009-11-10 Qualcomm Incorporated Method and apparatus for reducing power consumption in a content addressable memory
US8085568B1 (en) * 2007-06-29 2011-12-27 Netlogic Microsystems, Inc. Methods and circuits for placing unused content addressable memory (CAM) cells into low current states
GB2461955A (en) * 2008-07-25 2010-01-27 Gnodal Ltd Ethernet bridge or router employing a distributed MAC address table
US7804699B2 (en) * 2008-12-26 2010-09-28 Texas Instruments Incorporated Segmented ternary content addressable memory search architecture
US8984217B2 (en) 2010-08-24 2015-03-17 Qualcomm Incorporated System and method of reducing power usage of a content addressable memory
WO2013095392A1 (en) * 2011-12-20 2013-06-27 Intel Corporation Systems and method for unblocking a pipeline with spontaneous load deferral and conversion to prefetch
RU2611246C1 (ru) * 2015-12-25 2017-02-21 Федеральное государственное учреждение "Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук" (ФГУ ФНЦ НИИСИ РАН) Способ предзаряда линии совпадения регистра ассоциативного запоминающего устройства (азу) и модуль предзаряда
CN111128278B (zh) 2018-10-30 2021-08-27 华为技术有限公司 内容寻址存储器、数据处理方法及网络设备
CN112735495A (zh) * 2019-10-28 2021-04-30 瑞昱半导体股份有限公司 内容可定址存储器装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ207326A (en) 1983-03-08 1988-03-30 Stc Plc Associative data processing array
JPH02308499A (ja) * 1989-05-23 1990-12-21 Toshiba Corp 連想メモリ
US5130947A (en) 1990-10-22 1992-07-14 Motorola, Inc. Memory system for reliably writing addresses with reduced power consumption
JPH05127872A (ja) 1991-02-28 1993-05-25 Toshiba Corp 半導体集積回路
US5327372A (en) 1992-01-17 1994-07-05 Matsushita Electric Industrial Co., Ltd. Semiconductor memory device
JP2777034B2 (ja) * 1992-01-17 1998-07-16 松下電器産業株式会社 半導体記憶装置
JPH10340589A (ja) * 1997-06-10 1998-12-22 Hitachi Ltd 半導体集積回路
JP3190868B2 (ja) * 1997-11-21 2001-07-23 エヌイーシーマイクロシステム株式会社 連想メモリ装置
JP3478749B2 (ja) * 1999-02-05 2003-12-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 連想メモリ(cam)のワードマッチラインのプリチャージ回路および方法
US6166939A (en) 1999-07-12 2000-12-26 Net Logic Microsystems Method and apparatus for selective match line pre-charging in a content addressable memory
US6191969B1 (en) * 1999-09-09 2001-02-20 Net Logic Microsystems, Inc. Selective match line discharging in a partitioned content addressable memory array
US6243280B1 (en) * 1999-09-09 2001-06-05 Netlogic Microsystems, Inc. Selective match line pre-charging in a partitioned content addressable memory array
JP2001167585A (ja) * 1999-12-09 2001-06-22 Toshiba Corp 連想記憶装置
US6539466B1 (en) * 2000-02-21 2003-03-25 Hewlett-Packard Company System and method for TLB buddy entry self-timing
US20020169382A1 (en) * 2001-03-21 2002-11-14 Innerspace Medical, Inc. Gas column pressure monitoring device
US6477071B1 (en) 2001-05-07 2002-11-05 Switchcore Ab Method and apparatus for content addressable memory with a partitioned match line
WO2003050819A1 (en) 2001-12-11 2003-06-19 Memcall L.L.C. Power saving cam
US6768659B2 (en) * 2001-12-31 2004-07-27 Mosaid Technologies Incorporated Circuit and method for reducing power usage in a content addressable memory
US7006368B2 (en) * 2002-11-07 2006-02-28 Mosaid Technologies Incorporated Mismatch-dependent power allocation technique for match-line sensing in content-addressable memories
US7113415B1 (en) * 2004-06-01 2006-09-26 Netlogic Microsystems, Inc. Match line pre-charging in a content addressable memory having configurable rows
US7050318B1 (en) 2004-10-01 2006-05-23 Netlogic Microsystems, Inc. Selective match line pre-charging in a CAM device using pre-compare operations
US7145789B2 (en) 2005-01-05 2006-12-05 Texas Instruments Incorporated Low power low area precharge technique for a content addressable memory
US20060166939A1 (en) * 2005-01-21 2006-07-27 Chen Chi-Yu R Fertilizer-compatible composition
US7167385B2 (en) * 2005-02-11 2007-01-23 International Business Machines Corporation Method and apparatus for controlling the timing of precharge in a content addressable memory system
JP2008034054A (ja) * 2006-07-31 2008-02-14 Kawasaki Microelectronics Kk 連想メモリ装置
US7616468B2 (en) 2006-08-04 2009-11-10 Qualcomm Incorporated Method and apparatus for reducing power consumption in a content addressable memory

Also Published As

Publication number Publication date
MX2009001338A (es) 2009-02-16
EP2057634B1 (en) 2014-03-12
US20080031033A1 (en) 2008-02-07
CN101501780A (zh) 2009-08-05
JP2013058301A (ja) 2013-03-28
EP2057634A2 (en) 2009-05-13
RU2009107721A (ru) 2010-09-10
RU2414014C2 (ru) 2011-03-10
WO2008019274A3 (en) 2008-04-10
KR101041667B1 (ko) 2011-06-14
US7616468B2 (en) 2009-11-10
BRPI0714511A2 (pt) 2013-04-30
JP2009545839A (ja) 2009-12-24
US20100023684A1 (en) 2010-01-28
JP5507644B2 (ja) 2014-05-28
KR20090038484A (ko) 2009-04-20
CN101501780B (zh) 2012-11-14
WO2008019274A2 (en) 2008-02-14
US8154900B2 (en) 2012-04-10
CA2658599A1 (en) 2008-02-14

Similar Documents

Publication Publication Date Title
JP5507644B2 (ja) 連想メモリ内の電力消費を減少させるための方法と装置
US6574702B2 (en) Method and apparatus for determining an exact match in a content addressable memory device
US6768659B2 (en) Circuit and method for reducing power usage in a content addressable memory
US6191970B1 (en) Selective match line discharging in a partitioned content addressable memory array
US6539455B1 (en) Method and apparatus for determining an exact match in a ternary content addressable memory device
EP0905709A2 (en) Single ended match sense amplifier
EP1941513B1 (en) Circuit and method for subdividing a camram bank by controlling a virtual ground
US7586772B2 (en) Method and apparatus for aborting content addressable memory search operations
EP0858077B1 (en) Content addressable memory
US6608771B2 (en) Low-power circuit structures and methods for content addressable memories and random access memories
Hasan et al. A novel match-line selective charging scheme for high-speed, low-power and noise-tolerant content-addressable memory
US6738278B2 (en) Cache memory device including word line driver circuit and method
US20040223364A1 (en) Content addressable memory architecture providing improved speed
Chang Two-layer hierarchical matching method for energy-efficient CAM design
US7254753B2 (en) Circuit and method for configuring CAM array margin test and operation
Chang et al. Improve CAM power efficiency using decoupled match line scheme
Raju et al. A low power content addressable memory with self-control mechanism and segmented matchlines
US20030112672A1 (en) Content addressable memory cell techniques
Iftekhar Ali Development and analysis of energy efficient match-line sensing circuits for high-speed ternary content addressable memory
Zhang et al. Self-timed charge recycling search-line drivers in content-addressable memories
Pavithra et al. Increasing the speed and reducing a sensing delay of content addressable memory

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111025

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120125

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120227

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120326

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120612

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121012

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20121113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130110

R150 Certificate of patent or registration of utility model

Ref document number: 5180209

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees