JP2015523670A - 連想メモリ(cam)を検索するためのシステム及び方法 - Google Patents

連想メモリ(cam)を検索するためのシステム及び方法 Download PDF

Info

Publication number
JP2015523670A
JP2015523670A JP2015515025A JP2015515025A JP2015523670A JP 2015523670 A JP2015523670 A JP 2015523670A JP 2015515025 A JP2015515025 A JP 2015515025A JP 2015515025 A JP2015515025 A JP 2015515025A JP 2015523670 A JP2015523670 A JP 2015523670A
Authority
JP
Japan
Prior art keywords
search
cam
stage
circuit
schmitt trigger
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.)
Pending
Application number
JP2015515025A
Other languages
English (en)
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2015523670A publication Critical patent/JP2015523670A/ja
Pending legal-status Critical Current

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
    • 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
    • G11C15/043Digital 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 using capacitive charge storage elements
    • 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
    • G11C15/046Digital 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 using non-volatile storage elements

Landscapes

  • Static Random-Access Memory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】連想メモリ(CAM)アレイの中で検索オペレーションを実施するための回路および方法を提供する。【解決手段】CAMを検索するためのシステムは、2段階CAM検索の予備検索(100)がまだアクティブな間に、該2段階CAM検索の主検索(130)を選択的に作動させる回路を含む。【選択図】図6

Description

本発明は連想メモリ(CAM:content addressable memory)に関し、さらに具体的には、CAMアレイ中で検索オペレーションを実施するための回路および方法に関する。
例えば、ランダム・アクセス・メモリ(RAM:random access memory)などの標準的コンピュータ・メモリでは、ユーザがメモリ・アドレスを指定し、RAMがそのメモリ・アドレスに格納されているデータ・ワードを返す。標準的コンピュータ・メモリとは対照的に、連想メモリ(CAM)は、ユーザからデータ・ワードを受け取り、単一回のオペレーションでCAMアレイ全体を検索し、CAMアレイ内のどこかにそのデータ・ワードが格納されているかどうかを判定する。CAMは、単一回のオペレーションでそのメモリ全体を検索するので、検索アプリケーションにおいてRAMよりもはるかに高速である。
2種類のCAM、2値CAMと3値CAM(TCAM:ternary CAM)とがある。2値CAMは、データ・ワードを含むバイナリ・ビット、すなわちゼロおよび1(0、1)、の格納および検索を提供する。3値CAMは、3つの状態、すなわちゼロ、1、および「無関係(don‘t care)」ビット(0、1、X)の格納を提供する。3値CAMの「無関係」ビットは、データ・ワードの検索においてより高い便宜性を可能にする。例えば、3値CAMは、データ・ワード「11XX0」を格納することができ、検索対象データ・ワード「11000」、「11010」、「11100」、および「11110」のいずれとも一致(match)することになる。
CAMはコンピュータ・ネットワーク・デバイス中で頻繁に用いられる。例えば、ネットワーク・スイッチがそのポートの一つからデータ・フレームを受信すると、該スイッチは、そのフレームの送信元アドレスおよび受信したポートの識別子を使って内部アドレス・テーブルを更新する。次いで、ネットワーク・スイッチは、内部アドレス・テーブル中の、データ・フレームの宛先アドレスをルック・アップし、そのデータ・フレームを転送すべきポートを判定し、データ・フレームを当該ポート上のその宛先アドレスに送信する。内部アドレス・テーブルは、データ・フレームを適正なポートに迅速に送信し、ネットワーク・スイッチの待ち時間を低減するために、通常、2値CAMによって実装される。
TCAMはネットワーク・ルータ中で頻繁に用いられ、これらルータでは、各アドレスは、サブネット構成の如何によってサイズが変わるネットワーク・アドレスと、残りのビットを占めるホスト・アドレスとを有する。ネットワーク・アドレスとホスト・アドレスとは、ネットワークの各サブネットに対するネットワーク・マスクによって区別される。宛先へのネットワーク中の経路情報は、ルータが、各既知の宛先アドレスと、関連するネットワーク・マスクと、パケットを宛先アドレスに経路指定するのに必要な経路情報とを包含する経路設定テーブルを、ルック・アップすることを必要とする。経路指定はTCAMによって迅速に行われ、TCAMはアドレスのホスト部分を「無関係」ビットでマスクする。TCAMは、1オペレーションで、ホスト・アドレスをマスクして宛先アドレスを対比し、パケットを宛先アドレスに経路指定するために必要な経路情報を迅速に読み出す。
CAM(2値または3値)を検索するとき、検索データが検索ラインにロードされ、CAM中に格納されたワードと対比される。検索・対比オペレーションの過程で、CAMは、全面並行検索を行い、各格納ワードに関連する一致(match)または不一致(mismatch)信号を生成し、検索ワードが格納ワードと一致するがどうかを示す。
全格納ワードと単一の検索ワードとの間のこの高速の並行対比を可能にするために、各CAMワードは、専用の検索ハードウェアを包含している。各CAMセルは、追加のビット対比トランジスタ群およびストレージ・エレメントを包含し、該セルは、通常、スタティック・ランダム・アクセス・メモリ(SRAM:Static Random Access Memory)セルとして実装される。この追加の回路は、各CAMワードに対し一致または不一致信号を生成するため、マッチ・ライン(ML:match line)によってそのCAMワードに亘って結合されている。この検索ハードウェアは、CAMアレイの内容全体を単一クロック・サイクルで検索すること、例えば、全格納CAMワードを並行に検索することを可能にする。しかして、メモリの1Kワードの検索を完了するのに、通常1Kクロック・サイクルを必要とするような標準的なメモリ(例えば、SRAMおよびDRAM)と対照的に、CAMは、全てのエントリを同時に単一のクロック・サイクルで検索する能力を有する。
残念ながら、技術がサブミクロン配置の規模になるにつれ、ランダム・デバイスばらつき(RDV:random device variation)が益々顕著になっている。トランジスタ長、トランジスタ幅、およびトランジスタ閾値電圧などのパラメータのRDVは、隣接のデバイスと同一に設計されている場合にあっても、大きな影響を与え得る。RDVの影響は、特に半導体メモリの設計において歴然としている。大部分のメモリは、ほとんど容量性のアレイ・ライン上の小さな電圧信号を検出するためセンス・アンプに依存しているので、メモリ・セルおよびセンス・アンプ・デバイス中のRDVによって誤った結果が生成される可能性がある。信頼性を向上するために、メモリ設計者は、自分の設計の感知回路を控えめに調整し、それによって、信頼できるオペレーションのための大きな検出マージンを維持するため、パフォーマンスをトレード・オフしている。
先進的な技術(例えば、100nm以下のゲート形態)では、RDVが、パフォーマンス向上に対する主要なボトルネックになってきている。デバイスばらつきが増大するにつれ、信号到来およびデータ捕捉のタイミングの不確かさが増大し、より大きなデータ捕捉マージンが要求され、これによりパフォーマンスが制限される。
CAM検索オペレーションの過程で行われるML感知は、そのシングルエンド機能に起因して、SRAM読み取り回路で用いられる差動感知よりも、RDVからさらに大きな影響を受け易い。しかして、信頼できるオペレーションを維持するために、ほとんどのML感知スキームは、遅いおよび電力効率が悪い両方のフルスィング感知を用いる。
CAM設計のトレード・オフには、しかして検索アクセス時間、電力、および密度が含まれる。電力使用量を改善するために、一部ではCAMの検索に2段階感知スキームが使われている。この2段階感知スキームは、予備対比(例えば予備検索)および主対比(例えば主検索)を含む。予備対比においては、電力集約的な主対比のために主MLをプリチャージするのに先だって、各CAMワード中の少数のビットが検索ワード中の対応するビットと対比される。予備対比によって、特定のCAMワードに対する不一致が示されれば、そのワードに対して主対比は行われず、しかして主対比を実施するのに要する電力が節減される。
在来のタイミング手法では、主対比を開始する前に予備対比を完了することが必要である。しかしながら、これは、予備対比CAMセルもしくは予備対比感知回路またはその両方中のばらつきに対するマージン設定(例えば設計)する際に問題となる。具体的には、統計的に妥当な最遅の予備対比の場合に対するマージン設定によって、ほとんどの場合に必要とされるよりも遅れた主対比の開始がもたらされる。デバイスのサイズが縮小するとともに、デバイスばらつきによるタイミング不確かさが増大し、予備検索の完了に対するこの大きなタイミング不確かさが、主対比の開始を遅延させ、全体的なCAMのパフォーマンスに影響を与えている。
したがって、当該技術分野において、前述の欠陥および制限を克服することが必要になっている。
本発明のある態様において、連想メモリ(CAM)を検索するためのシステムが提供される。本システムは、2段階CAM検索の予備検索がまだアクティブな間に、2段階CAM検索の主検索を選択的に作動させる回路を含む。
本発明の別の態様において、連想メモリ(CAM)の第一の複数のセルに接続された予備検索マッチ・ライン(PML:pre−search match line)を含む回路が提供される。また、本回路は、CAMの第二の複数のセルに接続された主検索マッチ・ライン(MML:main−search match line)を含む。さらに、本回路は、PMLと関連付けて予備検索オペレーションを開始し、予備検索オペレーションが完了する前に、MMLと関連付けて主検索を開始するよう構築され配置されたデバイスの組み合わせを含む。
本発明の別の態様において、低側閾値、高側閾値、およびヒステリシス値を有する反転シュミット・トリガを含む回路が提供される。また、本回路は、シュミット・トリガに接続された調整ピンを含む。シュミット・トリガおよび調整ピンは、調整ピン上の電圧を調整することによって、シュミット・トリガのヒステリシス値が選択的に変更されるように、構築され配置される。
本発明の別の態様において、コンピュータ・メモリ中でメモリ・オペレーションを実施する方法が提供される。本方法は、コンピュータ・メモリ中で、2段階のメモリ・オペレーションの第一段階を開始するステップを含む。また、本方法は、2段階のメモリ・オペレーションの第一段階をまだ実行しながら、第一段階の先行結果に基づいて選択的に第二段階を開始するステップを含む。本方法は、第二段階を開始した後、第一段階の最終結果を検知するステップを加えて含む。本方法は、第一段階の最終結果に基づいて、第二段階を中断するステップおよび完了するステップのうちの一つを実施するステップをさらに含む。
本発明の別の態様において、連想メモリ(CAM)を検索する方法が提供される。本方法は、2段階CAM検索オペレーションの予備検索の過程で、予備検索マッチ・ライン(PML)上に電圧を生成するステップを含む。また、本方法は、該電圧が閾値レベルを超えていることを検知するステップを含む。本方法は、該検知するステップに基づき、予備検索の完了の前に、2段階CAM検索オペレーションの主検索を開始するステップをさらに含む。本方法は、主検索を開始した後に、電圧が閾値レベルより下に低下したことを検知し主検索を中断するステップ、および電圧が閾値より上に留まることを検知し主検索を完了するステップのうちの一つを実施するステップを加えて含む。
本発明の例示的な実施形態の非限定的な事例として、添付の複数の図面を参照しながら、以下に続く発明を実施するための形態において本発明を説明する。
3×4ビットの2値CAMのブロック図を示す。 3×4ビットのTCAMのブロック図を示す。 CAM感知のためのマッチ・ライン(ML)をプリチャージする概念を示す。 2段階CAM感知スキームを示す。 本発明の諸態様による、主検索の早期作動を示す。 本発明の諸態様による、早期予測・後刻是正(EPLC:Early−Predict Late−Correct)CAM感知スキームのハイレベルのブロック図を表す。 本発明の諸態様による、EPLC回路の例示的なトランジスタ・レベルの実装を示す。 本発明の諸態様による、EPLC回路のオペレーションに対応するシミュレーション・データを示す。 本発明の諸態様による、低速および高速プロセス・コーナにおける正規化分布を示す。 本発明の諸態様による、シリコン検証済み(silicon aware)調整に関するシミュレーション・データを示す。 本発明の諸態様による、プロセス・コーナ全体に亘るTCAMハードウェア上の1G検索/秒を超えるシリコン測定を示す。 本発明の諸態様による、内蔵された深いトレンチ(DT:deep−trench)デカップリング・コンデンサを有する例示的なTCAMのマイクロ写真を示す。 本発明の諸態様による、半導体の設計、製造、もしくは試験またはこれらの組み合わせに使われる設計プロセスの流れ図である。
本発明は、連想メモリ(CAM)に関し、さらに具体的には、CAM中で検索オペレーションを実施するための回路および方法に関する。本発明の諸態様により、2段階CAM検索オペレーションのための早期予測・後刻是正(EPLC)感知スキームが提供される。諸実施形態において、本EPLCスキームは、予備検索の完全に終了を待たずに、予備検索の先行結果に基づいて、予備検索と主検索とのオーバーラップ(例えば早期予測)が生じるように主検索を開始する。さらに、この主検索は、予備検索の後の結果に基づいて打ち切ることができる(例えば後刻是正)。このようにして、本発明の実装は、より高速のCAM検索オペレーションを提供する。
諸実施形態において、3値連想メモリ(TCAM)は2つのフェーズの検索オペレーションを用い、その予備検索の結果による早期予測によって、次の主検索オペレーションが作動され、該オペレーションは、最終的な予備検索の結果が早期予測と矛盾する場合にだけ後で中断される。この早期の主検索の作動は、パフォーマンスを約30%向上させ、一方、後刻是正の確率は低く電力への影響は無視可能である。ある例示的な非限定の実装において、本発明の諸態様によるEPLC感知は、32nm高誘電率(High−K)金属ゲートSOI(silicon−on−insulator)プロセス中に実装された高パフォーマンスのTCAMコンパイラを可能にし、2048×640ビットのTCAMインスタンス上で1G検索/秒のスループットを達成する一方、電力は約0.76Wしか消費しない。電源ノイズ軽減のための内蔵された深いトレンチ(DT)コンデンサは、TCAM合計面積約1.56mmに約5%のオーバーヘッドを付加する。
本明細書では、CAMに関連して本発明の諸態様を説明する。但し、本発明はCAMとの共用に限定はされず、本明細書で説明する本発明のEPLC感知スキームは、通常第一段階が完全に終了した後にのみ第二段階が開始される、任意の適した2段階感知プロセスとともに使用されてよい。例えば、本発明の実装は、第二オペレーション(第二段階)の結果が、第一オペレーション(第一段階)に依存するような、すなわち、第二オペレーションが第一オペレーションの先行結果に基づいて開始され、その後、第二オペレーションが実行されている間に、第一オペレーションの最終結果に基づいて第二オペレーションが完了されるかまたは中断されるような、任意の2段階メモリ・オペレーションとともに用いることが可能である。かかるスキームは、例えば、DRAM、SRAM、および不揮発性メモリにも使用することができる。
図1は、3×4ビット2値CAMの簡略ブロック図を示す。該2値CAMのセルは、各々が4ビット長の3つの水平方向ワード中に配置される。これら2値CAMのセルはストレージおよび対比両方の回路を包含する。垂直にペアになった検索ライン(SL:search−line)が、並行して、検索データ・ワードのビット0または1を2値CAMセルに印加する。マッチ・ライン(ML)は水平方向に実行され、検索データ・ワードの各ビットが、2値CAMセルの行に格納されたデータ・ワードの各ビットと一致するかどうか対比する。一致していれば、マッチ・ラインは一致を示す。
図1に示された例示的な2値CAMにおいて、CAMセルは、水平の行1、2、および3中に配置され、例えば4つのセルから成る。それぞれの水平行の各CAMセルは、ML4、5、および6に連結されている。行中のセルの数は検索対象のワードの長さと対応しており、当業者は、本発明の趣旨から逸脱することなく任意の数のセルを用いることができる。さらに、説明の便宜上、3つの行とML4〜6とだけが示されている。これも同様に、当業者は任意の数の行およびMLを用いることが可能である。さらに、CAMセルが、列8、9、10、および11に配列されている。4つの列だけが示されているが、列の数は、検索対象のCAMセル・ワード中のビットの数と対応し、任意の数の列を用いることができる。
検索データ7、すなわち検索対象のデータ・ワードは、対比のためCAM行1〜3中に形成される各ワードに提供される。並行検索ライン(SL)12〜19は検索データ7に連結されており、検索データ7のデータ・ビットに対応する各セルが一致しているかどうかを検索ができるように、それぞれの列中の各CAMセルが2つの検索ラインに連結されている。しかして、検索データ7は、SL12〜19に並行して印加される。検索結果は、ML4〜6に並行して生成され、それぞれのセンス・アンプ20〜22に印加される。
図2は、3×4ビット3値CAM(TCAM)の簡略ブロック図を示す。図1の2値CAMセルと同様に、図2の3値CAMセルも、各4ビット長の3つの水平なワード中に配置されている。同様に、垂直にペアになった検索ライン(SL)が、並行して検索データ・ワードのビット0または1を3値CAMセルに印加する。但し、3値CAMセルのストレージおよび対比回路は、「無関係」ビットXも格納することができ、各個別の「無関係」ビットXが印加された検索データ・ワードの対応するビットと対比される。図2に示されるように、3つの格納されたデータ・ワードのうちの2つの中の「無関係」ビットXの存在によって、3つのマッチ・ライン(ML)の2つのアクティブ化が可能になる。
図1および図2を参照すると、2値または3値CAM検索は、全てのMLを高にプリチャージして、これらの全てを一時的に一致状態にすることから開始される。次に、検索ライン・ドライバが、SL上に検索データ・ワードを一斉送信する。次いで、各CAMセルは、その格納ビットまたは状態を、それが対応するSL上のビットと対比する。一致するビットを有するCAMセルは、MLに影響を与えないが、不一致ビットを有するCAMセルはMLを接地にプルダウンする。Xを格納する3値CAMセルは、あたかも一致したかのように作動する。この集約結果は、MLは、少なくとも一つの個別ビットの不一致を有する一切の検索データ・ワードに対してプルダウンされるということである。その他の全MLは、アクティブすなわち高に留まる。
図3は、CAM感知のためマッチ・ライン(ML)をプリチャージする概念を示す。具体的には、図3は、CAM中のセルの行、例えば、図2に示されたセル群の水平の行の一つを表す。各セル、例えばC0、Cn、Cm、CzはMLに連結される。さらに、各セル(これは2値形式または3値形式のいずれでもよい)は、例えばSRAMまたはDRAMなどのストレージ・エレメント「m」、およびMLと接地(GND:ground)との間を連結するnFET(n型電界効果トランジスタ:n−type field effect transisitor)のスタックのペアを含む。各スタックの上側nFETは、ストレージ・エレメント「m」に連結され、一方、下側のnFETは、セルの列に関連付けられたSLのペアに連結される。当業者が周知のように、各セル、例えばC0、Cn、Cm、Czは、16個のFETを含む、SRAMベースのTCAMセルとすることができる。
さらに図3を参照すると、検索オペレーションのため、SL群(例えば、SL0X,SL0Y、SLnX,SLnY、SLmX,SLmY、SLzX,SLzY)は、初期的に接地に設定され、MLは高に(例えばVDDに)プリチャージされる。次いで、検索データがSLに印加され、その結果をML上に生成させる。各セルに対し、ストレージ・エレメント「m」中のビットが当該SL上のデータと合致しない場合(例えば不一致)、不一致のnFETスタックは、MLから接地(GND)へのパスを生成し、しかしてMLを低にプルダウンする。他方、セルのストレージ・エレメント「m」中のビットが当該SL上のデータと合致した場合(例えば一致)、そのセルは、MLと接地(GND)との間にパスを生成しない。全てのセル中のビットがそれぞれのSL上のデータと合致すると、MLは高に留まり、少なくとも一つのビットがそのそれぞれのSL上のデータと合致しない場合、MLは低にプルダウンされ得る。ML上の信号は、MLがVDDにあるかまたは接地(GND)にあるかを区別するセンス・アンプ(SA:sense amplifier)に印加される。
図4は、2段階CAM感知スキームを示す。具体的には、図4は、図3に示されたのと同じセル(例えば、C0、Cn、Cm、Cz)の行を、予備検索マッチ・ライン(PML)に接続されたセルの第一サブセット50を予備検索するよう作動する追加の回路と併せ示す。この追加回路は、予備検索の全てのビットが合致した場合にだけ、セルの第二サブセット55の主検索を作動させる。通常、第一サブセット50中のセルの数は、第二サブセット55中のセルの数よりもずっと少ない。例えば、第一サブセット50に8つのセルを含めることができ、第二サブセット55に120のセルを含めることができるが、但し、第一および第二サブセットは、任意の所望の仕方で任意の数のセルを含むように定義することが可能である。
図4に表された2段階スキームは、CAM検索の過程で消費される電力を低減するために有用である。例えば、2段階スキームは、予備検索で不一致があった場合に、主検索のセルに対する主検索マッチ・ライン(MML)へのチャージを回避することによって、動的な検索電力を最大40%まで節減することができる。しかしながら、在来の2段階スキームでは、予備検索が完了した後にだけ主検索が開始されるので、CAMの検索を実施するのに要する時間が増加する。
図5は、本発明の諸態様による、主検索の早期作動の概念を示す。水平軸は、2段階CAM検索に関わる検索アクセス時間を表す。例えば図4に関連して前に説明したのと同様な予備検索が、時間t1に開始される。カーブ70は、予備検索のセルの全てが予備検索感知オペレーションを完了している確率を表す分布曲線である。カーブ70の形状は、タイミング解析に基づいており、予備検索に関与する回路エレメントのデバイスばらつき(例えばRDV)を考慮に入れている。時間t2は予備検索が完全に終了した時間を表す。例えば、時間t2は、5シグマ(5σ)CAMセルが予備検索感知オペレーションを完了する予期時間を表し得る。また、時間t2は、在来の2段階スキームにおいて主検索が開始される時点でもある。カーブ75は、例えば、タイミング回析および予期されるデバイスばらつきに基づいた、主検索のセルの全てが感知オペレーションを完了している確率を表す分布曲線である。時間t3は、主検索が完全に終了した時点である。
引き続き図5を参照すると、本発明の諸態様によって、予備検索が完全に終了する前に主検索が開始される。例えば、主検索を、t2より早い時間t2’に開始することができる。カーブ75’はカーブ75と類似であるが、時間t2の代わりに時間t2’に開始され、時間t3の代わりに時間t3’で終了する。しかして、本発明の実装は、この低確率での主検索アクティブ化を用い、例えば、先行の予備検索結果だけを使って主検索を開始し、その後、最終的な予備検索結果が早期の予測と矛盾する場合には主検索を是正するなど、これらの在来は分離されていたオペレーションの間でのオーバーラップを可能にすることによって検索アクセスを改良する。
図6は、本発明の諸態様による、早期予測・後刻是正(EPLC)CAM感知スキームのハイレベルのブロック図を示す。ブロック100は、予備検索オペレーションを表す。具体的には、ブロック105は、予備検索マッチ・ライン(PML)に接続された(例えば、図4中のサブセット50と類似の)CAMセルの第一サブセットを表す。諸実施形態において、ブロック105は、CAMワードの8ビットに対応するNORプルダウン・スタック(例えば、図3〜図4に記載されているもの)16個を含む8個のSRAMベースのTCAMセルを含む。但し、本発明の範囲内の予備検索サブセット中には任意の他の数のセルを使用することができる。諸実施形態において、PMLは高レベルに(例えばVDDに)プリチャージされ、予備検索感知回路110の出力端は、ブロック105中のCAMセル中に格納されたビットが(例えば、図3〜図4に記載されているのと類似の仕方で)SL上の対応するビットに合致している限り、高(例えば2値の高側)に留まる。予備検索開始(SPS:Start Pre−Search)ノード115は、予備検索の開始を制御する。
ブロック130は、本発明の諸態様による主検索オペレーションを表す。具体的には、ブロック135は、主検索マッチ・ライン(MML)に接続された(例えば、図4中のサブセット55と類似の)CAMセルの第二サブセットを表す。諸実施形態において、ブロック135は、CAMワードの120ビットに対応するNORプルダウン・スタック(例えば、図3〜図4に記載されているもの)240個を含む120個のSRAMベースのTCAMセルを含む。但し、本発明の範囲内の主検索サブセット中には任意の他の数のセルを使用することができる。
主検索開始(SMS:Start Main−Search)ノード140は、主検索の開始を制御する。諸実施形態において、予備検索感知回路110の出力およびSMSノード140の信号は回路145への入力である。回路145の出力は、主検索感知回路150に接続されている。諸実施形態において、回路145は、ノード140および予備検索感知回路110の出力の両方が高の場合にだけ主検索感知回路150をアクティブ化する、デバイスの組み合わせを含む。主検索感知回路150は、アクティブ化されると、主検索マッチ・ライン(MML)に荷電し主検索のためにチャージさせる。ラッチ155は、検索結果の値を保持し、該値はそのCAMワードが検索ワードに合致しているかどうかを示す。シリコン検証済み調整(SAT:Silicon aware tuning)回路160は、シリコン検証済みの自己参照感知を提供する。これについては本明細書で詳しく説明する。
引き続き図6を参照すると、本発明の実装の早期予測の態様は、例えば予備検索が完全に終了する前に、先行の予備検索結果に基づいて主検索が開始されるという事実の中に存在する。諸実施形態において、予備検索の開始後所定の時間に、PMLが閾値レベルより高い場合に、SMSノード140は高に駆動(例えば、オンに)され、この所定の時間は、予備検索が完全に終了すると見なされる時間長よりも短い。このように、予備検索がまだアクティブな間に、予備検索の先行結果が一致を示す場合、たとえ予備検索が後で不一致になる可能性がまだ存在していても、主検索が開始される。
本発明の実装の後刻是正の態様は、主検索が既に開始された後、予備検索の結果に基づいて主検索を停止できるという事実の中に存在する。諸実施形態において、主検索が開始された後、ブロック105中で、予備検索セル中の不一致ビットによってPMLが(例えば、閾値レベルよりも低く)引き下げられることがある。かかるイベントにおいて、予備検索感知回路110の出力は低下し、これが回路145をして主検索感知回路150をオフにさせる。このように、本発明の実装は、最初の8ビットの予備検索結果に対する早期予測を用いて、後続の120ビットの主検索オペレーションを時期を早めて作動させ、その上で、後に、最終的な予備検索結果が早期予測と矛盾する場合にだけ、主検索を是正(例えば中断)する。
図7は、本発明の諸態様による、単一のCAMワード(例えば、図1または図2中の一つの水平行に対応するワード)に対するEPLC回路200の、例示的なトランジスタ・レベルの実装を示す。図8は、図7の回路に対応するシミュレーション・データを示す。EPLC回路200は、図6に関連して説明したような、それぞれが自ブロックのNORプルダウン・スタックを含む、ブロック105および135を含む。また、EPLC回路200は、図6に関連して説明したような、PML、MML、SPSノード115、SMSノード140、ラッチ155、およびSAT回路160を含む。
EPLC回路200は、2値CAMまたはTCAMとともに用いることができる。さらに、CAM(またはTCAM)の各々の検索可能なワードに対し、EPLC回路200の一インスタンスが設けられる。
諸実施形態において、EPLC CAM検索に先立って、SPSノード115は初期的に高(例えば1)に保たれ、SMSノード140は初期的に低(例えば0)に保たれる。PML、MML、およびラッチ155をリセットするために、高リセット電圧が、RESET1およびRESET2に印加される。EPLC CAM検索は、ブロック105および135中の全てのNORプルダウン・スタック上の安定データとともに開始され、立ち下り信号が、RESET1、RESET2、およびSPSノード115に印加される。SPSノード115を低に駆動することによりP1がオンになって予備検索段階が開始される(P1はVDDなどの電圧源に接続されている)。P1およびP2が電流供給(source current)を開始するので、不一致によるプルダウン・スタックの数に応じた電圧がPML上に生成される。諸実施形態において、P1およびP2は、これらがPMLを選択的に電圧源(VDD)に接続するという意味でプルアップ・デバイスとして作動する、pFET(p型電界効果トランジスタ:p−type field effect transistor)である。
さらに図7中のEPLC回路200を参照すると、ブロック105中のセルに検索データとの不一致がない場合、PMLは純粋に容量性であり、GNDから、NANDゲート205閾値電圧(NVTH:NAND gate threshold voltage)を超えてVDDまで迅速に立ち上がる。この状態が、図8中のラインPML0で示されている。他方、検索データとブロック105中のセルとの間に大きな数「N」の不一致がある場合、PMLは、「N」個のアクティブなプルダウン・スタックによって確とGNDに保持される。この場合、予備検索は不一致を示し、主検索は開始されず、ラッチ155は不一致を示す値を格納する。
ある特定の場合において、ブロック105は、単一の不一致セルを包含する。これは最悪ケースの不一致と見なし得る。というのは、プルアップ・スタック(P1およびP2)に対抗するのに、単一の不一致プルダウン・スタックだけがあり、PML上に中間レベルの電圧がもたらされるからである。この状態は、図8中のラインPML1Wによって示されており、PML1W中の「1」は単一の不一致セルを表し、「W」は3シグマより大きい(>3σ)弱いプルダウンを表している。
諸実施形態において、予備検索のパフォーマンスを改良するために、EPLC回路200は、PML0状態に対する高速な予備検索評価を可能にするが、PML1W状態を誤ってPML0状態に見せる原因にもなる、大型のP1およびP2プルアップ・デバイスを使う電流競合(current−race)感知を用いる。このように、NVTHを超えるような統計的に可能性の低いPML1W状態であれば、間違った一致を早期予測することになり、主検索オペレーションの作動へと進むことになる。しかしながら、この間違った早期予測は、後に主検索実行の間に是正され、信頼性のあるEPLC検索結果を確実にする。
引き続いて図7中のEPLC回路200を参照すると、PMLが閾値レベル(例えばNVTH)を上回り、且つSMSノード140が低のとき、NANDゲート205は、MS_PREに高い出力を有し、これによりpFET P3およびP4をオフにする。主検索は、SMSノード140に高い信号を印加することによって開始される。SMSノード140における高い信号はPML上の高い信号と相まって、MS_PREを低に駆動する。これによってP3がオンになり、それによってP2がオフになる。それが回りまわって、PMLへのプリチャージを停止させ、PMLを浮動状態にする。また、MS_PREの低下は、P4をオンにし、それがMMLのプリチャージを開始させる。SMSノード140上の信号は、その後低に駆動され、それがMMLのプリチャージ実施を停止させ、主検索オペレーションの進行を可能にする。主検索は、インバータ210およびラッチ155から検索の結果(ML_OUT)が最終的に得られるまで、所定の時間長の間継続する。
諸実施形態において、MMLは、反転シュミット・トリガ215の入力端として接続され、該トリガは、当業者が理解しているように、高側閾値と低側閾値とによるヒステリシスを示す。シュミット・トリガ215の出力端は、nFETN3のゲートに接続され、N3は、感知ノード(SN:sense node)とMMLとの間に接続される。
さらなる実施形態において、図7に示されるように、EPLC回路200は、シュミット・トリガ215に動作可能に連結されたSAT回路160、およびMS_PREとMMLとの間に接続されたpFET−nFETスタックを含むMMLキーパ225を含む。SAT回路160のおよびMMLキーパ225のオペレーションについては、後記で図9および図10に関連させて説明する。
図8は、前述の図7のEPLC回路200のオペレーションに対応するシミュレーション・データを示す。図8の水平軸は検索時間を表す。領域300は、在来の2段階CAM検索回路に対する予備検索および主検索の制御信号を表す。領域305は、本発明の諸態様による、EPLC回路200に対する例示的な予備検索および主検索の制御信号(例えば、SPSノード115およびSMSノード140に印加される信号)を表す。
図8の領域300に見ることができるように、在来の回路の予備検索開始(SPS)信号は、310において高から低へと下がり、次いで、315で低から高へと上がる。310と315との間の時間は、在来の回路の予備検索の完全終了時間を表す。予備検索の完了後(例えば315の後)、この在来の回路は、320で主検索開始(SMS)信号を低から高に駆動することによって主検索を開始する。SMS信号は、その後325で再び低に駆動され、330でラッチから結果が読み取られる。
図8の領域305を参照すると、EPLC回路200の例示的な実装において、SPS信号(例えば、図7のSPSノード115における信号)が、335で高から低に駆動され、次いで340で低から高に駆動される。本発明の諸態様によれば、SMS信号(例えば、図7のSMSノード140における信号)が、340に先立つ時間である345において低から高に駆動される。しかして、主検索は、予備検索の完全に終了に先立って開始され、例えば、予備検索と主検索とのオーバーラップ350が生じる。このオーバーラップ350は、本発明の早期予測の態様を示している。SMSは355で低下し、360で結果が読み取られる。しかして、本EPLC回路200が、予備検索がまだアクティブな間に主検索を開始するように構成されているのは明らかである。
領域300および305から分かるように、本発明の実装は、在来の2段階CAM検索と比較したとき、2段階CAM検索に対しより短い検索時間を提供する。具体的に、365に示されるように、本発明の実装の予備検索時間は在来の回路の予備検索時間よりも短い。さらに、370に示されているように、本発明の実装は、在来の回路におけるよりも早く結果を読み取ることを可能にする。例えば、本発明の諸実施形態は、約1.05nsの検索時間を提供することができる。このように、本発明の実装は、在来の2段階CAM検索回路と比較して、より高速のCAM検索時間を提供する。
さらに図8を参照すると、領域380は、本発明の諸態様による、EPLC回路(例えば図7の回路200)の様々なライン上のシミュレートされた電圧を表している。領域380の電圧は、領域305の信号に対応している。ラインPML0、MS_PRE0、およびMML0は、それぞれ、予備検索で不一致がない場合のEPLC回路200のPML、MS_PRE、およびMMLの電圧を表す。ラインPML1W、MS_PRE1W、およびMML1は、それぞれ、予備検索で一つの不一致(例えば、一つの不一致ビット)がある場合のEPLC回路200のPML、MS_PRE、およびMMLの電圧を表す。破線385および390は、在来サイズのプルアップ・デバイス(例えば、図7のP1およびP2より小さい)を用いた在来のPMLの電圧を表し、PML0ラインおよびPML1Wラインは、本発明の諸態様による、拡大サイズのプルアップ・デバイスP1およびP2に対応する。
PML0状態では、PML電圧は、NANDゲート閾値(例えば図7のNVTH)の上に留まる。他方、PML1Wの状態では、PMLは、もはや(例えば、図7のEPLC回路200中のP1およびP2によって)高にプルされなくなれば放電する。PML1W状態におけるこのPMLの放電は、主検索が開始された後に生じ、NANDゲート出力を高に駆動し、これによりP4がオフになり主検索は停止する。これは本発明の後刻是正態様を示している。このことは、図8において、MS_PRE1Wが低下して間違った主検索プリチャージを開始し、後時に高に戻って是正することによって示されている。間違った一致による部分的プリチャージ(MMLF)に見られるように、この後刻是正は余分な電力を消費する。しかしながら、>3σの弱いプルダウンで発生する単一ビット不一致の確率が及ぼす、総電力への影響は取るに足りない。このように、EPLC回路200は、PML電圧がNVTHを超えていることを検知するのに基づいて予備検索の完了に先立って主検索を開始し、主検索を開始した後は、PML電圧がNVTHより下に低下するのを検知して主検索を中断すること、またはPML電圧がNVTHより上に留まっているのを検知して主検索を完了すること、のうちの一つを実施するように構成される。
諸実施形態において、主検索は、セルフ・リファレンス感知スキーム(SRSS:Self Referenced Sensing Scheme)のシリコン検証済みバージョンを使用する。図8に示されるように、MML0およびMML1状態のMML上のプリチャージ電圧は、シュミット・トリガ(例えば図7のシュミット・トリガ215)の高側閾値に迅速に飽和するが、複数不一致のMMLは高側閾値より下に留まる。MMLのプリチャージが完了したとき、MML0状態ならば、MML電圧はシュミット・トリガの低側閾値の上に留まり、一致を信号伝達する。他方、MML1状態では、MMLのプリチャージが完了したとき、MML電圧は、急速にシュミット・トリガの低側閾値より下に低下し、不一致を信号伝達する。シュミット・トリガのヒステリシスは、感知電圧に非常に近いSRSSプリチャージを用い、リークし易い高速コーナMML0(Iオフ240)が間違った不一致をもたらさないことを確実にするよう、同時に、弱い低速コーナMML1(Iオン)が間違った一致を判断しないことを確実にするように設定する必要がある。
図9は、本発明の諸態様による、低速および高速プロセス・コーナ両方における正規化されたIオンおよびIオフ240の分布を使って感知上の課題を示す。シリコン検証済みセンス・アンプ(SA:Sense Amp)調整を使わない場合、単一のSAが、低い、Iオン/Iオフ240の比率1.5を使って両方のプロセス・コーナを満たす必要がある。シリコン検証済みSA調整が使われる場合、高速プロセスSAは、高いリーク許容度にマージン設定することができ、一方、低速プロセスSAは、Iオン/Iオフ240の比率を約60%増大させて、弱い信号への許容度のマージンを設定することができる。
本発明の実装において、このマージン設定は、シュミット・トリガ(例えばシュミット・トリガ215)上のシリコン検証済み調整ピン(例えばSAT回路160)と、MML上のキーパ・スタック(例えばMMLキーパ225)との組み合わせを通して実装される。高速プロセス・コーナにおいてSAT回路160をGNDに設定することによって、シュミット・トリガ215中に約60mVの追加ヒステリシスが可能になり、約50%改良されたリーク許容度が得られる。低速プロセス・コーナにおいてSAT回路160をVDDに設定することにより、ヒステリシスが除去され、弱い信号生成への応答が改善される。
図10は、本発明の諸態様による、在来のプリチャージ高のML感知へのSAT回路160の両方の設定に対する、電力およびパフォーマンス両方の改善を示す。2段階EPLCスキームとともにシリコン検証済みSRSSを用いることによって、本発明の例示的な非限定の実装は、2048×640のインスタンスに対し、わずか約0.76Wの合計電力を維持しながら、TCAM1G検索/秒のスループットを可能にする。
図11は、本発明の諸態様による、プロセス・コーナ全面に亘る、TCAMハードウェア上の1G検索/秒を超えるシリコン測定を示す。図12は、本発明の諸態様による、電源ノイズ軽減のための、内蔵された深いトレンチ(DT)デカップリング・コンデンサの配置を強調した、2048×640ビットの例示的なコンパイル型TCAMインスタンスのマイクロ写真を示す。1G検索/秒において、5%のDTデカップ面積上乗せ(area adder)は、約50%減の電源ノイズ圧縮をもたらし、高容量のTCAM設計における適切なオペレーションを確実にする。下記の表1は、本発明の諸態様による、例示的な非限定のコンパイラ範囲およびTCAM仕様を示す。
Figure 2015523670
図13は、半導体の設計、製造、もしくは試験またはこれらの組み合わせに用いられる設計プロセスの流れ図である。図13は、例えば、半導体ICのロジックの設計、シミュレーション、試験、レイアウト、および製造などのために使われる典型的な設計フロー900のブロック図を示す。設計フロー900は、設計構造体またはデバイスを処理加工して、上記で説明し図7に示した設計構造体もしくはデバイスまたはその両方とロジカルに、または別途機能的に等価な表現体を生成するためのプロセス、マシン、もしくはメカニズムまたはこれらの組み合わせを含む。設計フロー900によって処理もしくは生成またはその両方が行われた設計構造体は、マシン可読の伝送またはストレージ媒体に符号化し、データ処理システム上で実行または別途処理されたとき、論理的に、構造的に、機械的に、または別途機能的に等価な、ハードウェア・コンポーネント、回路、デバイス、またはシステムの表現体を生成する、データもしくは命令またはその両方を該媒体に含めることができる。マシンには、以下に限らないが、回路、コンポーネント、デバイス、またはシステムの設計、製造、またはシミュレーションなどのIC設計プロセスで使用される任意のマシンが含まれる。例えば、マシンには、リソグラフィ・マシン、マスクを生成するためのマシンもしくは装置またはその両方(例、電子ビーム・ライタ)、設計構造体をシミュレートするためのコンピュータまたは装置、製造または試験プロセスで使われる任意の装置、または、これら設計構造体と機能的に等価な表現体を任意の媒体中にプログラミングするための任意のマシン(例えば、プログラム可能ゲート・アレイをプログラミングするためのマシン)を含めることができる。
設計フロー900は、設計される表現体の種類に応じて変わり得る。例えば、特定用途向けIC(ASIC:application specific IC)を製作するための設計フロー900は、標準コンポーネントを設計するための設計フロー900、または、設計を、例えば、Altera(R)Inc.またはXilinx(R)Inc.が提供しているプログラム可能ゲート・アレイ(PGA:programmable gate array)またはフィールド・プログラム可能ゲート・アレイ(FPGA:field programmable gate array)などのプログラム可能ゲート・アレイ中にインスタンス化するための設計フロー900とは異なり得る。
図13は、望ましくは設計プロセス910によって処理されるインプット設計構造体920を含む、複数のかかる設計構造体を示す。設計構造体920は、論理的に等価な機能のハードウェア・デバイスの表現体を産生するために設計プロセス910によって生成、処理された、論理シミュレーション設計構造体であり得る。また、設計構造体920には、上記に併せまたは上記に換えて、設計プロセス910によって処理されたとき、ハードウェア・デバイスの物理的構造体の機能的表現体を生成するデータもしくはプログラム命令またはその両方を含めることができる。機能的もしくは構造的あるいはその両方の設計特性のいずれを表現しているとしても、設計構造体920は、コア開発者/設計者によって実装されているなどの電子コンピュータ支援設計(ECAD:electronic computer−aided design)を用いて生成することができる。設計構造体920が、マシン可読のデータ伝送媒体、ゲート・アレイ、またはストレージ媒体に符号化されている場合、設計プロセス910内の一つ以上のハードウェアもしくはソフトウェア・モジュールまたはその両方によってこれにアクセス、処理し、図7に示されたような電子部品、回路、電子モジュールまたはロジック・モジュール、装置、デバイス、またはシステムをシミュレートまたは別途に機能的に表現することが可能である。しかして、設計構造体920には、人間もしくはマシンまたはその両方に可読のソース・コード、コンパイル済み構造体、および、設計またはシミュレーション・データ処理システムによって処理されたとき、ハードウェア・ロジック設計の回路または他のレベルを機能的にシミュレートまたは別途に表現するコンピュータ実行可能コード構造体、を包含するファイルまたは他のデータ構造体を含めることができる。かかるデータ構造体には、ハードウェア記述言語(HDL:hardware−description language)設計エンティティ、またはVerilog(R)およびVHDLなどより低レベルのHDL設計言語に適合するかもしくは互換性のあるまたはその両方の他のデータ構造体、もしくはCまたはC++などのより高レベルの設計言語、またはこれら両方を含めることもできる。
設計プロセス910は、望ましくは、図7に示されたコンポーネント、回路、デバイス、またはロジック構造体の機能的等価物の設計/シミュレーションを、合成、変換または別途処理して、設計構造体920などの設計構造体を包含し得るネットリスト980を生成するためのハードウェアもしくはソフトウェア・モジュールまたはその両方を用い、組み込んでいる。ネットリスト980には、例えば、集積回路設計中の各種エレメントおよび回路の接続を表し、配線、ディスクリート部品、ロジック・ゲート、制御回路、I/Oデバイス、モデルなどのリストを表現する、コンパイル済みまたは別途処理されたデータ構造体を含めることができる。ネットリスト980は、デバイスに対する設計仕様およびパラメータに応じネットリスト980が一回以上再合成される反復プロセスを用いて合成することが可能である。本明細書で説明した他の設計構造体の種類と同様に、ネットリスト980は、マシン可読データ・ストレージ媒体に記録、またはプログラム可能ゲート・アレイ中にプログラムすることができる。この媒体は、磁気または光ディスク・ドライブ、プログラム可能ゲート・アレイ、コンパクト・フラッシュまたは他のフラッシュ・メモリなどの不揮発性ストレージ媒体とすることができる。上記に加えまたは上記に換えて、該媒体を、システムまたはキャッシュ・メモリ、バッファ・スペース、もしくはインターネットまたは他のネットワーク処理に適した手段を介しデータ・パケットを伝送し中間的に格納できる、電気的または光学的に伝導性のデバイスおよび材料とすることもできる。
設計プロセス910には、ネットリスト980を含む様々なインプット・データ構造体の種類を処理するためのハードウェア・モジュールおよびソフトウェア・モジュールを含めることができる。かかるデータ構造体の種類をライブラリ・エレメント930内に在置し、これには、所与の製造技術(例えば、各種技術ノード、32nm、45nm、90nmなど)に対する、モデル、レイアウト、および記号表現を含め、よく使われるエレメント、回路、およびデバイスのセットを含めることができる。このデータ構造体の種類には、設計仕様書940、特性評価データ950、検証データ960、設計ルール970、並びに、インプット試験パターン、アウトプット試験結果および他の試験情報を包含可能な試験データ・ファイル985をさらに含めることができる。設計プロセス910には、例えば、応力解析、熱解析、機械的事象シミュレーション、キャスティング、モールディングおよび金型プレス成型などの作業に対する工程シミュレーションをさらに含めることができる。機械的設計の当業者は、本発明の範囲および趣旨から逸脱することなく、設計プロセス910で使用される機械的設計ツールおよび適用の範囲をよく理解できよう。また、設計プロセス910には、タイミング解析、検証、設計ルール確認、配置配線作業など、標準的回路設計プロセスを遂行するためのモジュールを含めることもできる。
設計プロセス910は、HDLコンパイラおよびシミュレーション・モデル構築ツールなどの論理的および物理的設計ツールを用い、且つこれらを組み込み、設計構造体920を、(適用可能な場合)任意の追加の機械的設計またはデータと併せ、前述のサポートティング・データ構造体の一部または全部と一緒に処理して、第二設計構造体990を生成する。
設計構造体990は、(例えば、IGES、DXF、パラソリッドXT、JT、DRG、または、かかる機械的設計構造体を保存またはレンダリングするための任意の他の適切なフォーマット中に格納された情報など)機械的デバイスおよび構造体のデータの交換のために使われるデータ・フォーマットで、ストレージ媒体またはプログラム可能ゲート・アレイに常駐する。設計構造体990は、設計構造体920と同様に、望ましくは、伝送媒体またはデータ記憶媒体に在置され、ECADシステムにより処理されると図7に示された本発明の実施形態の一つ以上と論理的にまたは別途機能的に等価な形態を生成する、一つ以上ファイル、データ構造体、あるいは他のコンピュータ符号化データまたは命令を含む。一実施形態において、設計構造体990には、図7に示されたデバイスを機能的にシミュレートする、コンパイル済みの実行可能なHDLシミュレーション・モデルを含めることができる。
また、設計構造体990は、集積回路のレイアウト・データの交換に使われるデータ・フォーマット、もしくは記号データ・フォーマット(例えば、GDSII(GDS2)、GL1、OASIS、マップ・ファイル、またはかかる設計データ構造体を格納するための任意の他の適切なフォーマットに格納された情報)、またはこれらの両方を用いることができる。設計構造体990には、例えば、記号データ、マップ・ファイル、試験データ・ファイル、設計コンテント・ファイル、製造データ、レイアウト・パラメータ、配線、金属のレベル、ビア、形状、製造ラインをたどるためのデータ、および、製造者または他の設計者/開発者が、上で説明され図7に示されたデバイスまたは構造体を生成するために必要とする任意の他のデータを含めることができる。次いで、設計構造体990は段階995に進むことができ、例えば、設計構造体990は、テープアウトに進み、製造にリリースされ、マスク・ハウスにリリースされ、別の設計ハウスに送られ、顧客に納品される。
前述した方法は、集積回路チップを作製するために用いられる。得られた集積回路チップは、生ウエハの形で(すなわち、複数の未パッケージ・チップを有する単一のウエハで)、ベア・ダイとして、またはパッケージされた形で流通させることができる。後者の場合、チップは、(マザーボードまたは他のより高レベルのキャリヤに取り付けられるリードを備えたプラスチック・キャリヤなどの)シングル・チップ・パッケージ、あるいは(片側または両側表面相互接続または埋め込み相互接続を有するセラミック・キャリヤなどの)マルチチップ・パッケージに搭載される。いずれの場合も、次いで、チップは、(a)マザーボードなどの中間製品または(b)最終製品いずれかの一部として、他のチップ、ディスクリート回路エレメント、もしくは他の信号処理デバイス、またはこれらの組み合わせとともに組み込まれる。最終製品は、玩具および他のローエンド・アプリケーションから、ディスプレイ、キーボードまたは他の入力デバイスおよび中央処理装置を有する高度なコンピュータ製品までに亘る、集積回路チップを含む任意の製品であり得る。
本発明の様々な実施形態の説明は、例示のために提示されたものであって、網羅的であることも、開示した実施形態に限定することも意図されていない。当業者には、本発明の範囲および趣旨から逸脱することのない多くの修改および変形が明白であろう。本明細書で使われた用語は、諸実施形態の原理、実際の応用、または市販の諸技術の技術的改良を最善に説明するため、あるいは、当業者が本明細書に開示された実施形態を理解できるように選択された。

Claims (25)

  1. 連想メモリ(CAM)を検索するためのシステムであって、
    2段階CAM検索の予備検索がまだアクティブな間に、前記2段階CAM検索の主検索を選択的に作動させる回路、
    を含むシステム。
  2. 前記回路が、前記予備検索の先行結果が一致を示すのに基づいて前記主検索を選択的に作動させる、請求項1に記載のシステム。
  3. 前記回路が、前記予備検索の最終結果が前記先行結果と矛盾する場合、前記主検索を打ち切る、請求項2に記載のシステム。
  4. 前記回路が、前記予備検索の完了と前記主検索の開始とをオーバーラップするよう構成される、請求項1に記載のシステム。
  5. 前記CAMに格納された各ワードが、前記回路の一インスタンスを含む、請求項1に記載のシステム。
  6. 前記回路が、第一の複数のプルダウン・スタックと、プルアップ・デバイスと、NANDゲートの入力端とに接続された予備検索マッチ・ライン(PML)を含む、請求項1に記載のシステム。
  7. 前記NANDゲートの出力が、前記プルアップ・デバイスをオフにするスイッチを制御する、請求項6に記載のシステム。
  8. 主検索開始ノードが前記NANDゲートの別の入力端に接続され、前記NANDゲートは、前記スイッチに、前記主検索が開始された後で前記プルアップ・デバイスをオフにさせる、請求項7に記載のシステム。
  9. 前記回路が、第二の複数のプルダウン・スタックに接続された主検索マッチ・ライン(MML)を含み、
    前記NANDゲートの出力端が、前記MMLのプリチャージを制御するスイッチに接続される、
    請求項6に記載のシステム。
  10. 前記回路が、
    前記NANDゲートの前記出力端と前記MMLとの間に接続されたキーパ・スタックと、
    前記MMLに接続された入力端、および感知ノードに間接的に接続された出力端を備えるシュミット・トリガと、
    前記シュミット・トリガのヒステリシス値を調整するよう構築され配置された、前記シュミット・トリガ上の調整ピンと、
    をさらに含む、請求項9に記載のシステム。
  11. 前記CAMが、3値CAM(TCAM)を含む、請求項1に記載のシステム。
  12. 連想メモリ(CAM)の第一の複数のセルに接続された予備検索マッチ・ライン(PML)と、
    前記CAMの第二の複数のセルに接続された主検索マッチ・ライン(MML)と、
    前記PMLと関連付けられた予備検索オペレーションを開始し、
    前記予備検索オペレーションが完了する前に、前記MMLと関連付けられた主検索オペレーションを開始する、
    よう構築され配置されたデバイスの組み合わせと、
    を含む回路。
  13. 前記デバイスの組み合わせが、
    電圧源と前記PMLとの間に接続された第一pFETおよび第二pFETを含むプルアップ・スタックに接続された、予備検索開始ノードと、
    NANDゲートの第一入力端に接続された主検索開始ノードであって、前記PMLは前記NANDゲートの第二入力端に接続される、前記ノードと、
    前記NANDゲートの出力によって制御される第三pFETであって、前記第二pFETをオフにする、前記第三pFETと、
    前記NANDゲートの前記出力によって制御される第四pFETであって、前記電圧源と前記MMLとの間に接続される、前記第四pFETと、
    を含む、請求項12に記載の回路。
  14. 前記デバイスに組み合わせが、
    前記第四pFETと前記MMLとの間に接続されたnFETと、
    前記nFETと前記第四pFETとの間に接続された感知ノードと、
    前記感知ノードに接続されたインバータおよびラッチと、
    前記MMLに接続された入力端、および前記nFETに接続された出力端を有するシュミット・トリガと、
    を含む、請求項13に記載の回路。
  15. 前記デバイスの組み合わせが、
    前記シュミット・トリガのヒステリシス値を調整するよう構築され配置された、前記シュミット・トリガ上の調整ピンと、
    前記NANDゲートの前記出力端と前記MMLとの間に接続されたキーパ・スタックと、
    を含む、請求項14に記載の回路。
  16. 低側閾値、高側閾値、およびヒステリシス値を有する反転シュミット・トリガと、
    前記シュミット・トリガに接続された調整ピンであって、前記シュミット・トリガおよび前記調整ピンは、前記調整ピン上の電圧を調整することによって前記シュミット・トリガの前記ヒステリシス値が選択的に変更されるように、構築され配置される、前記調整ピンと、
    を含む回路。
  17. 前記シュミット・トリガの前記ヒステリシス値を増大するために、前記調整ピン上の前記電圧を低減し、
    前記シュミット・トリガの前記ヒステリシス値を低減するために、前記調整ピン上の前記電圧を増大する、
    請求項16に記載の方法。
  18. 前記シュミット・トリガの入力端が、連想メモリ(CAM)の複数のセルに接続された主検索マッチ・ライン(MML)に接続され、
    前記シュミット・トリガの出力端が、前記CAMの対比回路の感知ノードに間接的に接続される、
    請求項17に記載の方法。
  19. コンピュータ・メモリ中でメモリ・オペレーションを実施する方法であって、
    前記コンピュータ・メモリ中で、2段階のメモリ・オペレーションの第一段階を開始するステップと、
    前記第一段階をまだ実行しながら、前記第一段階の先行結果に基づいて、前記2段階のメモリ・オペレーションの第二段階を選択的に開始するステップと、
    前記第二段階を開始した後、前記第一段階の最終結果を検知するステップと、
    前記第一段階の前記最終結果に基づいて、前記第二段階を中断するステップおよび完了するステップのうちの一つ、を実施するステップと、
    を含む方法。
  20. 前記メモリ・オペレーションは検索オペレーションであり、前記第二段階を前記選択的に開始するステップは、一致を示す前記第一段階の前記先行結果に基づいており、
    前記第一段階の前記最終結果が不一致を示す場合は、前記第二段階を中断するステップと、
    前記第一段階の前記最終結果が一致を示す場合は、前記第二段階を完了するステップと、
    をさらに含む、請求項19に記載の方法。
  21. 前記第二段階を前記選択的に開始するステップが、前記第一段階の完了と前記第二段階の開始とをオーバーラップするステップを含む、請求項19に記載の方法。
  22. 前記コンピュータ・メモリが、連想メモリ(CAM)を含む、請求項19に記載の方法。
  23. 前記コンピュータ・メモリが、ダイナミック・ランダム・アクセス・メモリ(DRAM)、スタティック・ランダム・アクセス・メモリ(SRAM)、および不揮発性メモリのうちの一つを含む、請求項19に記載の方法。
  24. 連想メモリ(CAM)を検索する方法であって、
    2段階CAM検索オペレーションの予備検索の過程で、予備検索マッチ・ライン(PML)上に電圧を生成するステップと、
    前記電圧が閾値レベルを超えたことを検知するステップと、
    前記検知するステップに基づき、前記予備検索の完了の前に、前記2段階CAM検索オペレーションの主検索を開始するステップと、
    前記主検索を前記開始するステップの後で、
    前記電圧が前記閾値レベルより下に低下することを検知して、前記主検索を中断するステップ、および
    前記電圧が前記閾値レベルより上に留まることを検知して、前記主検索を完了するステップ
    のうちの一つを実施するステップと、
    を含む方法。
  25. 前記主検索で使われるシュミット・トリガのヒステリシス値を調整することによって、前記主検索のリーク許容度および応答時間を調整するステップをさらに含む、請求項24に記載の方法。
JP2015515025A 2012-05-29 2013-05-15 連想メモリ(cam)を検索するためのシステム及び方法 Pending JP2015523670A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/482,166 US9384835B2 (en) 2012-05-29 2012-05-29 Content addressable memory early-predict late-correct single ended sensing
US13/482,166 2012-05-29
PCT/US2013/041047 WO2013180950A2 (en) 2012-05-29 2013-05-15 Content addressable memory early-predict late-correct single ended sensing

Publications (1)

Publication Number Publication Date
JP2015523670A true JP2015523670A (ja) 2015-08-13

Family

ID=49671723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015515025A Pending JP2015523670A (ja) 2012-05-29 2013-05-15 連想メモリ(cam)を検索するためのシステム及び方法

Country Status (6)

Country Link
US (1) US9384835B2 (ja)
JP (1) JP2015523670A (ja)
KR (1) KR20150004352A (ja)
CN (1) CN104335285B (ja)
DE (1) DE112013002065B4 (ja)
WO (1) WO2013180950A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017049753A (ja) * 2015-09-01 2017-03-09 ルネサスエレクトロニクス株式会社 半導体装置および情報処理システム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8832619B2 (en) * 2013-01-28 2014-09-09 Taiwan Semiconductor Manufacturing Co., Ltd. Analytical model for predicting current mismatch in metal oxide semiconductor arrays
US9564183B2 (en) * 2014-11-26 2017-02-07 Invecas, Inc. Sense amplifier having a timing circuit for a presearch and a main search
US10761981B2 (en) 2015-07-17 2020-09-01 Hewlett Packard Enterprise Development Lp Content addressable memory
US10043578B2 (en) * 2015-11-12 2018-08-07 Mediatek Inc. Sense amplifier circuits
US9979649B2 (en) * 2015-12-04 2018-05-22 Wisconsin Alumin Research Foundation High density content addressable memory
US9640250B1 (en) * 2016-05-16 2017-05-02 Qualcomm Incorporated Efficient compare operation
JP6659486B2 (ja) * 2016-07-20 2020-03-04 ルネサスエレクトロニクス株式会社 半導体装置
US9892789B1 (en) 2017-01-16 2018-02-13 International Business Machines Corporation Content addressable memory with match hit quality indication
US10482989B1 (en) * 2018-02-23 2019-11-19 Cadence Design Systems, Inc. Dynamic diagnostics analysis for memory built-in self-test
US10930348B1 (en) * 2019-08-13 2021-02-23 Hewlett Packard Enterprise Development Lp Content addressable memory-encoded crossbar array in dot product engines
US11587617B2 (en) * 2020-08-26 2023-02-21 Macronix International Co., Ltd. Ternary content addressable memory and decision generation method for the same

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10276070A (ja) * 1997-03-20 1998-10-13 Lg Semicon Co Ltd トリガ電圧調整の可能なシュミットトリガ回路
US6243280B1 (en) * 1999-09-09 2001-06-05 Netlogic Microsystems, Inc. Selective match line pre-charging in a partitioned content addressable memory array
JP2001357678A (ja) * 2000-06-16 2001-12-26 Hitachi Ltd 半導体集積回路装置
US6373738B1 (en) * 2000-11-20 2002-04-16 International Business Machines Corporation Low power CAM match line circuit
US20020196648A1 (en) * 2001-06-11 2002-12-26 International Business Machines Corporation Content addressable memory having cascaded sub-entry architecture
US7050318B1 (en) * 2004-10-01 2006-05-23 Netlogic Microsystems, Inc. Selective match line pre-charging in a CAM device using pre-compare operations
US20080025073A1 (en) * 2006-07-14 2008-01-31 Igor Arsovski Self-Referenced Match-Line Sense Amplifier For Content Addressable Memories
US7920398B1 (en) * 2010-09-21 2011-04-05 Netlogic Microsystems, Inc. Adaptive match line charging
WO2013168685A1 (ja) * 2012-05-06 2013-11-14 国立大学法人東北大学 半導体記憶装置
US8766692B1 (en) * 2010-06-07 2014-07-01 Xilinx, Inc. Supply voltage independent Schmitt trigger inverter

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1600304A (ja) * 1968-12-31 1970-07-20
US5920886A (en) 1997-03-14 1999-07-06 Music Semiconductor Corporation Accelerated hierarchical address filtering and translation using binary and ternary CAMs
KR100236058B1 (ko) * 1997-04-24 1999-12-15 김영환 트리거 전압 조정이 가능한 슈미트 트리거 회로
US6792502B1 (en) * 2000-10-12 2004-09-14 Freescale Semiconductor, Inc. Microprocessor having a content addressable memory (CAM) device as a functional unit therein and method of operation
US6717876B2 (en) * 2001-12-28 2004-04-06 Mosaid Technologies Incorporated Matchline sensing for content addressable memories
US6584003B1 (en) * 2001-12-28 2003-06-24 Mosaid Technologies Incorporated Low power content addressable memory architecture
CN100414646C (zh) 2001-12-28 2008-08-27 莫塞德技术公司 低功耗内容可定址记忆体架构
US6768659B2 (en) * 2001-12-31 2004-07-27 Mosaid Technologies Incorporated Circuit and method for reducing power usage in a content addressable memory
US6760242B1 (en) * 2002-04-10 2004-07-06 Integrated Device Technology, Inc. Content addressable memory (CAM) devices having speed adjustable match line signal repeaters therein
US6642749B1 (en) * 2002-09-27 2003-11-04 Lsi Logic Corporation Latching sense amplifier with tri-state output
US7365661B2 (en) 2002-11-14 2008-04-29 Fyre Storm, Inc. Power converter circuitry and method
US7019674B2 (en) 2004-02-05 2006-03-28 Nec Laboratories America, Inc. Content-based information retrieval architecture
US7167032B1 (en) * 2004-03-31 2007-01-23 Lattice Semiconductor Corporation Self-adjusting Schmitt trigger
US7102904B1 (en) * 2004-09-02 2006-09-05 Sun Microsystems, Inc. System and method for minimizing noise on a dynamic node
US7688672B2 (en) * 2005-03-14 2010-03-30 Rambus Inc. Self-timed interface for strobe-based systems
US7797520B2 (en) 2005-06-30 2010-09-14 Arm Limited Early branch instruction prediction
US7349230B2 (en) 2005-10-18 2008-03-25 Cisco Technology, Inc. Associative memory cells configured to selectively produce binary or ternary content-addressable memory lookup results
US7471537B1 (en) 2006-06-23 2008-12-30 Integrated Device Technology, Ltd. Content addressable memories (CAM) having low power dynamic match line sensing circuits therein
US7689889B2 (en) 2006-08-24 2010-03-30 Cisco Technology, Inc. Content addressable memory entry coding for error detection and correction
US8125810B2 (en) * 2007-08-01 2012-02-28 Texas Instruments Incorporated Low power ternary content-addressable memory (TCAM)
EP2465550A1 (en) 2007-10-03 2012-06-20 Astra Tech AB Catheter receptacle provided with an antimicrobial compound
US7924588B2 (en) 2007-12-03 2011-04-12 International Business Machines Corporation Content addressable memory with concurrent two-dimensional search capability in both row and column directions
US20090210382A1 (en) 2008-02-15 2009-08-20 Eliel Louzoun Method for priority search using a tcam
US8392651B2 (en) 2008-08-20 2013-03-05 Mips Technologies, Inc. Data cache way prediction
US8120937B2 (en) 2009-03-06 2012-02-21 International Business Machines Corporation Ternary content addressable memory using phase change devices
US8130525B2 (en) 2009-10-09 2012-03-06 International Business Machines Corporation Method and apparatus for configuring a content-addressable memory (CAM) design as binary CAM or ternary CAM

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10276070A (ja) * 1997-03-20 1998-10-13 Lg Semicon Co Ltd トリガ電圧調整の可能なシュミットトリガ回路
US6243280B1 (en) * 1999-09-09 2001-06-05 Netlogic Microsystems, Inc. Selective match line pre-charging in a partitioned content addressable memory array
JP2001357678A (ja) * 2000-06-16 2001-12-26 Hitachi Ltd 半導体集積回路装置
US6373738B1 (en) * 2000-11-20 2002-04-16 International Business Machines Corporation Low power CAM match line circuit
JP2002163891A (ja) * 2000-11-20 2002-06-07 Internatl Business Mach Corp <Ibm> 低電力cam一致線回路
US20020196648A1 (en) * 2001-06-11 2002-12-26 International Business Machines Corporation Content addressable memory having cascaded sub-entry architecture
JP2003036679A (ja) * 2001-06-11 2003-02-07 Internatl Business Mach Corp <Ibm> 内容アドレス・メモリ
US7050318B1 (en) * 2004-10-01 2006-05-23 Netlogic Microsystems, Inc. Selective match line pre-charging in a CAM device using pre-compare operations
US20080025073A1 (en) * 2006-07-14 2008-01-31 Igor Arsovski Self-Referenced Match-Line Sense Amplifier For Content Addressable Memories
US8766692B1 (en) * 2010-06-07 2014-07-01 Xilinx, Inc. Supply voltage independent Schmitt trigger inverter
US7920398B1 (en) * 2010-09-21 2011-04-05 Netlogic Microsystems, Inc. Adaptive match line charging
WO2013168685A1 (ja) * 2012-05-06 2013-11-14 国立大学法人東北大学 半導体記憶装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017049753A (ja) * 2015-09-01 2017-03-09 ルネサスエレクトロニクス株式会社 半導体装置および情報処理システム

Also Published As

Publication number Publication date
CN104335285B (zh) 2017-07-21
US9384835B2 (en) 2016-07-05
DE112013002065T5 (de) 2015-04-30
KR20150004352A (ko) 2015-01-12
DE112013002065B4 (de) 2017-06-01
WO2013180950A2 (en) 2013-12-05
WO2013180950A3 (en) 2014-03-06
US20130326111A1 (en) 2013-12-05
CN104335285A (zh) 2015-02-04

Similar Documents

Publication Publication Date Title
JP2015523670A (ja) 連想メモリ(cam)を検索するためのシステム及び方法
US9058861B2 (en) Power management SRAM write bit line drive circuit
US9007858B2 (en) SRAM global precharge, discharge, and sense
WO2011069780A1 (en) Cache access memory and method
US9552851B2 (en) Current-mode sense amplifier
US20080025074A1 (en) Self-referenced match-line sense amplifier for content addressable memories
US10957391B2 (en) Array organization and architecture to perform range-match operations with content addressable memory (CAM) circuits
US9530500B2 (en) Converting an XY TCAM to a value TCAM
US20230267994A1 (en) Fast, energy efficient cmos 2p1r1w register file array using harvested data
US9542981B2 (en) Self-timed, single-ended sense amplifier
US8842487B2 (en) Power management domino SRAM bit line discharge circuit
US20140126276A1 (en) Power management sram global bit line precharge circuit
US10916323B2 (en) Memory interface latch with integrated write-through and fence functions
US7391633B2 (en) Accelerated searching for content-addressable memory
US10229748B1 (en) Memory interface latch with integrated write-through function
US9761289B1 (en) Managing semiconductor memory array leakage current
US11670361B2 (en) Sequential delay enabler timer circuit for low voltage operation for SRAMs
US9047930B2 (en) Single-ended low-swing power-savings mechanism with process compensation
GB2530986A (en) Content addressable memory array

Legal Events

Date Code Title Description
RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20150626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150629

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160315

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170117

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171003