JP2005190543A - 半導体装置 - Google Patents
半導体装置 Download PDFInfo
- Publication number
- JP2005190543A JP2005190543A JP2003429505A JP2003429505A JP2005190543A JP 2005190543 A JP2005190543 A JP 2005190543A JP 2003429505 A JP2003429505 A JP 2003429505A JP 2003429505 A JP2003429505 A JP 2003429505A JP 2005190543 A JP2005190543 A JP 2005190543A
- Authority
- JP
- Japan
- Prior art keywords
- information
- lines
- circuit
- submatch
- entry
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital 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/04—Digital 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital 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/04—Digital 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/043—Digital 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
Abstract
範囲指定されたIPアドレスを効率よく記憶することにより、必要なエントリ数を低減し、TCAMのメモリ容量の向上を図る。
【解決手段】
本発明の代表的な手段の一つを示せば以下の通りである。即ち、記憶情報(エントリ)および入力情報(比較情報または検索キー)を、いずれかのビットが必ず論理値‘1’となるような共通のブロック符号とする。また、マッチ線を階層構造とし、複数のサブマッチ線と複数のサーチ線との交点にメモリセルを配置する。さらに、サブマッチ線を、サブマッチ判定回路を介してメインマッチ線にそれぞれ接続し、メインマッチ線にメインマッチ判定回路を配置する。
【選択図】 図1
Description
図2は、ルータの構成を模式的に示したものである。同図では、一例として、ネットワーク・インターフェイスNIF、ネットワーク・プロセッサNP、検索エンジンSE、検索テーブルLUT、コンテント・メモリCMで構成された例を示している。ネットワーク・インターフェイスNIFとネットワーク・プロセッサNPは、システム・バスSBSで接続されている。ネットワーク・プロセッサNPと検索エンジンSEは、内部バスIBSで接続されている。検索エンジンSEと検索テーブルLUTは、データ・バスDQで接続されている。ここで、検索テーブルLUTはTCAM、コンテント・メモリCMはスタティック・ランダム・アクセス・メモリ(SRAM)やダイナミック・ランダム・アクセス・メモリ(DRAM)である。
ルータは、インターネット網IPNからネットワーク・インターフェイスNIFを介してパケットを送受信する。ネットワーク・プロセッサNPは、受信したパケットの内容を解読および再構成する。例えば、パケットのヘッダから読み出された宛先インターネット・プロトコル・アドレス(IPアドレス)は、検索エンジンSEを介して検索テーブルLUTに転送される。検索テーブルLPTは、複数の宛先IPアドレスを記憶しており、入力された宛先IPアドレスが記憶されている場合に、その宛先IPアドレスに関する情報をコンテント・メモリCMから読み出すためのアドレスを発生する。コンテント・メモリCMは、パケット転送に必要な経路情報やルータのポート番号などを記憶しており、コンテント・メモリ・アドレス・バスCADDを介して入力されたアドレスに応じた情報を、コンテント・バスCBSおよび検索エンジンSEを介してネットワーク・プロセッサNPに出力する。ネットワーク・プロセッサNPは、これらの情報に基づいてヘッダの内容を再構成し、指定されたポートから次の中継点へパケットを転送する。
まず、メモリ機能について説明する。三値情報は、情報1'、情報0'、 Don't care状態を表す情報X'である。高電圧を論理1'、低電圧を論理0'とすると、蓄積ノード(N1,N2)の論理値は、情報1'の場合(1,0)、情報0'の場合(0,1)、情報X'の場合(0,0)である。記憶情報のリフレッシュはトランジスタT1、T2を介して行われ、同図では省略されているが、ビット線BL1、BL2にそれぞれ接続されたセンスアンプを用いて読み出しと再書き込みが行われる。
この問題は、図2や図3に示したTCAMセルが、原理上、四値情報を記憶することができるにも関わらず、三値情報しか記憶していないことに起因している。この原因は、例えば、二つのTCAMセルで記憶可能な情報を考えることによって具体的に理解できる。図22は、0〜3(10進数)について、15通りの組み合わせを示している。なお、本来、四つの標本から任意の数を抽出する場合の組み合わせは16通り(=2の4乗通り)あるが、同図では、いずれの数も選択しない(すなわち0〜3のいずれも記憶しない)という組み合わせを省略している。これらの数の組み合わせをターナリ値で表記しようとすると、9通り(=3の2乗通り)の組み合わせしか表記できない。したがって、例えば、三値情報を記憶する二つのTCAMセルで範囲1〜3(10進数)を記憶する場合、1(ターナリ表記で‘01’)と2〜3(ターナリ表記で‘1X’)の二つのエントリに展開して記憶しなければならないことを意味している。すなわち、範囲指定されたIPアドレスを記憶する場合、メモリの使用効率が悪化する。
以上の説明から、本発明の課題は、範囲指定されたIPアドレスを効率良く記憶して、TCAMのメモリ容量不足を解消することにある。すなわち、本発明の目的は、大容量のTCAMを実現するためのIPアドレスの記憶方法およびTCAMアレイ構成を提供することである。
《One-hot-spotブロック符号》
図22は、本発明による符号のデータパターンの例を従来のターナリ表記に対応させて示している。詳細は後述するが、本符号の特徴は3つある。第一の特徴は、論理値‘1’の位置の違いが0〜3(10進数)に対応する点にある。第二の特徴は、エントリと検索キーに共通なデータパターンである点にある。第三の特徴は、本符号を用いた検索動作を行うCAMが、従来のTCAMと同様に入力された複数ビットのデータ(ここではIPアドレス)を、図22に従って、2ビット単位で符号化する点にある。本発明で用いるこのような符号を、以下では“One-hot-spotブロック”符号と呼ぶことにする。
まず、0〜3(10進数)に対応する符号を、順番に‘0001’、‘0010’、‘0100’、‘1000’というように、論理値‘1’の位置を最下位ビット(右端の桁)から1つずつ移動させた符号とする。複数の数の組み合わせに対応する符号は、それぞれの数に対応する符号についてビット毎にOR演算を行って得る。例えば、0と1(10進数)の組み合わせに対応する符号は、符号‘0001’と‘0010’にOR演算を行った ‘0011’である。同様のOR演算を行うと、図22に示すように、全ての組み合わせに対応する符号を得る。このような符号化の原理に従って、より大きな情報の場合における符号について以下に説明する。
次に、4〜7(10進数)に対しては、符号ブロックBTW1における論理値‘1’を左へ(N10(またはSL10)からN11(またはSL11)へ)1ビット移動させた状態で、符号ブロックBTW0における論理値‘1’を再びN00(またはSL00)からN03(またはSL03)へ1ビットずつ移動させたデータパターンとする。以下同様に、10進数の数が4増加する毎に符号ブロックBTW1における論理値‘1’を左へ1ビット移動させながら、符号ブロックBTW0における論理値‘1’の移動を繰り返すことにより、8〜15(10進数)に対するブロック符合を定める。
次に、図6と図24に従って、符号化および書き込み方法を説明する。図6は、本実施例による符号を用いた検索動作を行うTCAMにおける、エントリの符号化および書き込みアルゴリズムの一例を示している。また、図24は、1〜30(10進数)の範囲を指定する場合のターナリ値に対応させたマスク情報および二値情報と、符号化されたエントリのデータパターンを示している。なお、同図でも、マスク情報および二値情報のデータパターンはそれぞれ8ビットである。これらの特徴は、次のように2つある。第一の特徴は、従来のTCAMと同じようにチップ外部からマスク情報と二値情報をそれぞれ入力し、チップ内部で符号化する点にある。第二の特徴は、複合化した複数のエントリをチップ内部で圧縮し、ターナリ値では表現できない範囲指定を行う点にある。以下では、これらの点に注目しながら符号化および書き込み方法を説明する。
図7は、エントリの複合および読み出し方法の例を示している。この方法は、図6で説明してきた符号化の逆の手順である。まず、チップ外部から入力されたアドレスに従って、メモリアレイから読み出したエントリを展開し、複数の読み出しエントリ・レジスタに記憶する。次に、これらのエントリに記憶されたエントリを順番に複合して、読み出し情報レジスタと読み出しマスク・レジスタを介してチップ外部に出力する。このような方法により、範囲指定されたエントリを、従来のTCAMと同様にターナリ値に対応する範囲を示す情報として読み出すことが可能となる。
次に、これまで述べたOne-hot-spotブロック符号化情報による検索動作を実現するTCAMの全体構成を説明する。図8は、TCAMの要部ブロック図である。本構成は、メモリアレイMA、データ入出力回路DIO、各種レジスタ、CAM制御回路CAMCTL、フラグロジック回路FLGC、リフレッシュ・カウンタRFCNT、エントリ・エンコーダENCDR、エントリ・デコーダDCDR、エントリ圧縮回路CMP、エントリ展開回路EXT、プライオリティ・エンコーダPENC、RAM制御回路RAMCTLを有する。メモリアレイMAは図1に示すような構成であり、詳しく後述することとする。データ入出力回路DIOは、データ・バスDQとチップ内部データ・バスDBSとの間に配置され、データやアドレス信号、さらにチップの各種設定を定義する制御信号の授受を行う。
データ・バスDBSを介してアドレス信号の授受を行うレジスタは、バースト・ライト・レジスタWREG、ネクスト・フリーアドレス・レジスタNREG、バースト・リード・レジスタRREGの三つが示されている。第一のバースト・ライト・レジスタWREGは、バースト・ライト動作における1サイクル目のロウ・アドレスとバースト長とを記憶し、バースト・ライト動作が始まるとエントリの圧縮動作と協調しながらカウントアップして2サイクル目以降のアドレスを発生する。第二のネクスト・フリーアドレス・レジスタNREGは、エントリが空のロウ・アドレスを記憶する。
エントリ・エンコーダENCDR、エントリ圧縮回路CMP、エントリ展開回路EXT、エントリ・デコーダDCDRの各々は、本実施例によるTCAMに特有の回路ブロックである。第一のエントリ・エンコーダENCDRは、前述したマスク・レジスタMSKREGに保持された第三の情報と、データ・バスDBSを介して入力された二値情報を用いて、エントリまたは検索キーをOne-hot-spotブロック符号化する。符号化された情報は、書き込み動作においては符号化データ・バスENBSからメモリアレイMA、検索動作においてはエントリ圧縮回路CMPへそれぞれ出力される。エントリ圧縮回路CMPは、符号化されたエントリを記憶するための2つのテンポラリ・エントリ・レジスタFTEREG、STEREG、これらのレジスタに記憶されたエントリの符号をビット毎に比較する比較回路BMUCおよびOR演算回路LORCで構成される。これらの回路ブロック間は、結線が同図では省略されているが、図6で行った説明から、符号化されたエントリの一時記憶、比較、圧縮動作をそれぞれ適宜行い、圧縮されたエントリを第一エントリ・バスFEBSからメモリアレイMAに出力することは、容易に理解することができる。エントリ展開回路EXTは、第一エントリ・バスFEBSを介してメモリアレイMAから読み出したエントリを、ターナリ値で表記できる範囲に対応する符号に分割するエントリ分割回路EDVDと、分割したエントリを一時的に記憶する複数のレジスタ群MLREGで構成される。これらの回路ブロック間は、結線が同図では省略されているが、図7で行った説明から、符号化されたエントリの展開と一時記憶動作をそれぞれ適宜行い、展開された複数のエントリを第二エントリ・バスSEBSからエントリ・デコーダDCDRに出力することは、容易に理解することができる。
プライオリティ・エンコーダPENCは検索動作において、一致信号バスHBSから入力された信号に応じて、検索キーと一致したエントリに対応するアドレス信号を発生する。なお、一致したエントリが複数あった場合、最上位(例えば、対応するロウ・アドレスが最も小さい番号の行)のエントリに応じたアドレス信号から順に出力する機能を有する。発生されたアドレス信号は、マッチ・アドレス・バスMABSを介してマッチ・アドレス・レジスタMAREGに入力される。
このような構成により、本実施例によるTCAMは、次のような種々の動作を行うことができる。第一に、エントリ・エンコーダENCDR、エントリ・デコーダDCDR、エントリ圧縮回路CMP、エントリ展開回路EXTを用いることにより、チップ内部でターナリ値とone-hot-spotブロック符号の変換を行うことが可能となり、従来と互換性のあるTCAMを実現することができる。第二に、バースト・ライト・レジスタWREGやネクスト・フリー・アドレス・レジスタNREG、バースト・リード・レジスタRREGを適宜用いることにより、複数のエントリを連続して書き込んだり、読み出したりすることができる。第三に、上記のレジスタが発生するアドレスとエントリ・カウント信号群ECとにより、圧縮および展開されたエントリ数やメモリアレイ使用状況に関する情報を外部制御回路と共有することが可能となるので、動作の信頼性を向上することができる。第四に、符号化データ・バスEBSを介して検索キーをメモリアレイMAに入力することにより、検索動作を行うことができる。ここで、検索キーと一致するエントリが見つかった場合、そのエントリに対応するアドレス信号をプライマリー・エンコーダPENCにより発生して、マッチ・アドレス・レジスタMAREGおよびRAM制御回路RAMCTLを介してコンテント・メモリに出力することができる。第五に、データ・バスDBSを介してリフレッシュ・カウンタRFCNTを用いて発生したロウ・アドレスをメモリアレイMAに入力することにより、リフレッシュ動作を行うことができる。
図1は、本発明によるOne-hot-spotブロック符号化情報を用いた検索動作を行うTCAMアレイの構成例を示している。本メモリアレイの特徴は、マッチ線が、メインマッチ線とサブマッチ線からなる階層構造を形成する点にある。以下では、この点に注目しながらメモリアレイ構成を説明する。
メモリセルは、複数のワード線WLm(m=0,1,…)と複数のビット線BLni(n=0,1,…,i=0,1,2,3)との交点にそれぞれ配置される。ビット線BLni(n=0,1,…,i=0,1,2,3)には、対応する複数のサーチ線SLni(n=0,1,…,i=0,1,2,3)がそれぞれ平行に配置される。また、ワード線WLm(m=0,1,…)には、対応する複数のメインマッチ線MMLm(m=0,1,…)がそれぞれ平行に配置される。さらに、複数のサブマッチ線SMLmj(m=0,1,…,j=0,1,…)が、対応するメインマッチ線MMLm(m=0,1,…)にそれぞれ平行に配置される。サブマッチ線には、例えばサブマッチ線SML01のように、四つのメモリセルMCi(i=0,1,2,3)がそれぞれ接続される。これら四つのメモリセルMCi(i=0,1,2,3)からなるグループを、以下ではメモリブロックMBmj(m=0,1,…,j=0,1,…)とそれぞれ示す。また、サブマッチ線SMLmj(m=0,1,…,j=0,1,…)と対応するメインマッチ線MMLm(m=0,1,…)との間に、サブマッチ判定回路SMDmj(m=0,1,…,j=0,1,…)をそれぞれ配置する。サブマッチ判定回路は、対応するサブマッチ線をプリチャージしたり、サブマッチ線に発生された微小な信号の弁別を行ったりする。
次に、以上の原理に基づいて、図1および図9に示した構成のTCAMセルの検索動作を詳しく説明する。
以下の動作説明においては、プリチャージ起動信号線PCに供給される電圧を、ワード線に供給する昇圧電圧と同じであるものとしてVPPと表す。この昇圧電圧VPPは、アレイ電圧VDLよりも高い電圧であり、その差がNMOSトランジスタのしきい値以上になるように設定されているものとする。また、メインマッチ判定回路内のセンスアンプSAが微小電圧の分別に用いる参照電圧をVREFと表す。この参照電圧VREFは、接地電圧VSSとアレイ電圧VDLとの間の電圧レベルに設定されているものとする。なお、メモリセル内の記憶ノードは、電源電圧VDDまたは接地電圧VSSに駆動されるものとする。高電圧レベルをアレイ電圧VDLとすることもできるが、十分な読み出し信号量を発生しながら確実に記憶情報を読み出すためには、アレイ電圧VDLよりも高い電源電圧VDDとすることが好ましい。また、検索動作における消費電力のためにも、後述するように、サーチ線の高電圧を電源電圧VDDよりも低い電圧とするのが望ましいので、記憶ノードの高電圧をアレイ電圧VDLとは別の電圧に設定するのが理想的である。これらの仮定に基づき、検索動作について説明する。
はじめに、図10に従って、検索キーとエントリとが一致する場合の検索動作を説明する。ここでは、説明を簡単にするために、図1に示したメモリアレイが、1本のワード線あたり2つのメモリブロックを有する構成であるものと仮定する。また、注目するワード線WL0上には、1〜3(10進数)の範囲に対応するエントリが記憶されており、1(10進数)に対応する検索キーとの比較が行われるものと仮定する。したがって、図10では、ブロック符号化されたエントリ‘0001 1110’に応じて、メモリブロックMB00内の記憶ノードN00およびメモリブロックMB01内の記憶ノードN11〜N13が接地電圧VSS、メモリブロックMB01内のN01〜N03およびメモリブロックMB01内の記憶ノードN10が電源電圧VDDに保持されている。
検索動作が始まると、昇圧電圧VPPとなっているプリチャージ起動信号線PCを接地電圧VSSに駆動して、サブマッチ線のプリチャージを止めてから、接地電圧VSSとなっているサーチ線を検索キーに応じてアレイ電圧VDLに駆動する。同図では、符号化された検索キー‘0001 0010’に応じて、サーチ線SL00、SL02〜SL03、SL11〜SL13を接地電圧VSSにそれぞれ保持したまま、接地電圧VSSとなっているサーチ線SL01、SL10をアレイ電圧VDLに駆動する例が示されている。ここで、メモリブロックMB00内のメモリセルMC1とメモリブロックMB01内のメモリセルMC0において、トランジスタT612、T613が共に導通状態となるので、プリチャージ電圧VPCとなっているサブマッチ線SML00、SML01がそれぞれ放電される。したがって、サブマッチ判定回路内のトランジスタT622がカットオフされる。この状態で、アレイ電圧VDLとなっている検索イネーブル信号線SEBを接地電圧VSSに駆動すると、メインマッチ判定回路MMD0内のトランジスタT631が導通状態となるので、接地電圧VSSとなっているメインマッチ線MML0がアレイ電圧VDLに向かって充電される。メインマッチ線MML0が参照電圧VREFよりも十分高い電圧まで充電されたタイミングで、メインマッチ判定回路内のセンスアンプは、これらの電位差を弁別することによりエントリと検索キーが一致したと判定し、この比較結果に応じた電圧に同図では省略されている一致信号HIT0を駆動する。最後に、接地電圧VSSとなっている検索イネーブル信号線SEBをアレイ電圧VDL、アレイ電圧VDLに駆動されているサーチ線を接地電圧VSSにそれぞれ駆動し、さらに接地電圧VSSとなっているプリチャージ起動信号線PCを昇圧電圧VPPに駆動することにより、サブマッチ線SML00、SML01をプリチャージ電圧VPC、メインマッチ線MML0を接地電圧VSSに駆動して、再び待機状態に戻る。
検索動作が始まると、符号化された検索キー‘0001 0001’に応じて、サーチ線SL01〜SL03、SL11〜SL13を接地電圧VSSにそれぞれ保持したまま、接地電圧VSSとなっているサーチ線SL00、SL10をアレイ電圧VDLに駆動する。ここで、メモリブロックMB01内のメモリセルMC0において、トランジスタT612、T613が共に導通状態となるので、プリチャージ電圧VPCとなっているサブマッチ線SML01が放電される。しかし、メモリブロックMB00において導通状態となるトランジスタは、メモリセルMC0内のトランジスタT612とメモリセルMC1〜MC3内のトランジスタT613であるので、いずれのメモリセルにおいてもサブマッチ線SML00と接地電極との間に電流経路が形成されない。すなわち、サブマッチ線SML00は、プリチャージ電圧VPCに保たれ、サブマッチ判定回路SMD00内のトランジスタT622は導通状態であり続ける。したがって、検索イネーブル信号線SEBが活性化されると、メインマッチ線MML0は、メインマッチ判定回路MMD0内のトランジスタT631とサブマッチ判定回路SMD00内のトランジスタT622との抵抗分割で決まる電圧に駆動される。この電圧レベルは、前述したように、ほぼ接地電圧VSSに近いので、参照電圧VREFを超えることはない。メインマッチ判定回路内のセンスアンプは、これらの電位差を弁別することによりエントリと検索キーが一致しないと判定し、この比較結果に応じた電圧に同図では省略されている一致信号HIT0を駆動する。図25は、以上の検索動作におけるサブマッチ線とメインマッチ線の電圧をまとめた表である。
なお、これまでは、範囲指定されたエントリとバイナリ値に対してそれぞれブロック符号化された検索キーとの検索動作について説明を行ってきた。しかし、検索キーはこれだけに限らず、範囲指定されたターナリ値に対して符号化した検索キーとの検索動作も可能であることは、これまでの説明から明らかである。
さらに、図1や図9に示したメモリブロック内のメモリセル数は、入力情報および比較情報を何ビット毎に符号化するかによって異なる。これらの図では、2ビット単位で符合する場合のメモリアレイが示されているので、メモリブロックは、四個(2の2乗個)のメモリセルMCi(i=0,1,2,3)でグループ化された例が示されていた。このメモリブロックは、図5で説明したツインTCAMセルに相当する回路構成である。したがって、本実施例は、符号化方法とメモリアレイ構成を工夫することにより、図4で説明した三値情報を記憶するTCAMセルを二つ用いて、一つのTCAMセルに記憶する情報を三値から四値に増加させたメモリアレイであるとも言える。このように考えれば、メモリセル数が同じにも関わらず、図22で説明したように、一つのエントリで表記できる場合の数が増加され、効率よく情報を記憶できる効果が得られたことを容易に理解することができる。
以上で述べたOne-hot-spotブロック符号と、TCAMの構成および動作による効果を、以下にまとめる。
第一の効果は、図22で説明したように、論理値‘1’の位置の違いが意味を持つように定義した所謂One-hot-spotブロック符号化により、1エントリあたりに記憶できる情報量を増加させ、範囲指定されたIPアドレスを記憶するのに必要なエントリ数を従来よりも低減した点にある。図4に示したような従来のTCAMセル構成で比較すると、本符号によって記憶情報量が三値から四値に増加されたことによって、範囲指定されたIPアドレスを効率良く記憶することができるので、TCAMのメモリ容量を実効的に増加することが可能となる。なお、バイナリ値に対応した本符号のデータパターンには論理値‘1’が一つしか含まれないので、検索動作におけるサーチ線の充放電電力を低減できるという効果も得られる。また、メモリアレイの使用効率が向上することによりエントリ(ここではIPアドレス)を記憶しないワード数が増え、さらに対応するメモリセルの記憶情報を論理値‘0’に応じた値とすることにより、対応するサブマッチ線の放電を阻止することができるので、検索動作におけるメモリアレイあたりの消費電力を低減することも可能となる。
なお、これまでメモリアレイに用いられるNMOSトランジスタの仕様については、特に言及しなかったが、図9に示したメモリセルMC内のトランジスタN611は、汎用DRAMのメモリセルにおける伝達ゲートで広く知られているように、耐圧を考慮したゲート酸化膜厚に設計されている。また、記憶ノードにおける蓄積電荷の漏れ(リーク)を防ぐために、チャネルの不純物濃度が高く設計されている。これらの理由から、トランジスタN611のしきい電圧は、メモリアレイの周辺に配置された論理回路に用いられるトランジスタのしきい電圧よりも高いレベルに設計される。一方、メモリセルMC内のトランジスタN622やN623は比較動作に用いられるので、スイッチング応答を速くするのが望ましい。このため、チャネルの不純物濃度を調整してしきい電圧を下げ、導通状態における抵抗と拡散容量を低く設計した方が、検索時間の短縮に好適である。同様に、サブマッチ判定回路内のトランジスタN621は、ゲート電圧に昇圧電圧VPPを印加するために、耐圧を考慮したゲート酸化膜厚とする。また、トランジスタN622は検索動作に関わる素子であるので、そのしきい電圧を低く設計した方が、検索時間短縮の観点で望ましい。なお、しきい電圧を低くすることにより、ゲート電極に印加する電圧が低くともトランジスタを導通させることができる。したがって、プリチャージ電圧VPCを抑えることにより、サブマッチ線の充放電電力を低減できるという効果も同時に得られる。
次に、実施例1で説明したOne-hot-spotブロック符号を用いた情報の検索動作を行うTCAMのメモリアレイ構造の別な例を説明する。この構造の特徴は、3ビット単位に符号化を行うのに対して、メモリブロックを八つのメモリセルで構成する点にある。図12は、この点に注目して図9に対応させ、八つのメモリセルMCi(i=0,1,…,7)で構成されたメモリブロックTMB00が示されている。また、図26は、図23に対応させて、0〜31(10進数)に対する符号をそれぞれ示している。8ビットのバイナリ値に対応する符号は、1ブロックあたり8ビット(=2の3乗ビット)の符号を3ブロック(=8[ビット]/2[ビット/ブロック])羅列した24ビットからなるデータパターンである。ここで、三つの符号ブロックを左から降順でBTD2、BTD1、BTD0と表すことにする。また、符号ブロックBTDi(i=0,1,2)の要素を、エントリは左から降順で(Ni7,Ni6,…,Ni0)、検索キーは(SLi7,SLi6,…,SLi0)と示すことにする。なお、3ビット単位で符号化されていることを明示するために、以下では、各符号ブロックの間に空白が挿入されている。
次に、8〜15(10進数)に対しては、符号ブロックBTD1における論理値‘1’を左へ(N10(またはSL10)からN11(またはSL11)へ)1ビット移動させた状態で、符号ブロックBTD0における論理値‘1’を再びN00(またはSL00)からN07(またはSL07)へ1ビットずつ移動させたデータパターンとする。以下同様に、10進数の数が8増加する毎に符号ブロックBTD1における論理値‘1’を左へ1ビット移動させながら、符号ブロックBTD0における論理値‘1’の移動を繰り返すことにより、16〜31(10進数)に対するブロック符合を定める。
次に、実施例1で説明したOne-hot-spotブロック符号を用いた情報の検索動作を行うTCAMのメモリアレイ構造、特にサブマッチ判定回路の別な例を説明する。本実施例の目的は、ターナリ表記の検索キーにおいて、ブロック符号化するために分割された複数のビットが全て第三の情報‘X’(所謂マスク状態)の場合、対応する全てのサーチ線が駆動されないような符号および回路構成を提供することにある。具体的には、例えば、2ビット単位のブロック符号の場合、検索キーとしてターナリ表記の情報‘XX’(0〜3(10進数)全ての値)を入力すると、図22で説明した符号では、全てのビットが論理値‘1’の符号が得られ、対応する全てのサーチ線が活性化される。このため、実施例1の構成では、サーチ線の駆動本数が大きくなり、検索動作の消費電力が増加するという問題がある。この問題を解決するために、本実施例は、情報‘XX’に対応する符号を‘0000’として、対応するサーチ線を待機状態に保ちつつも、正しく検索動作を行うことができるような回路構成を提供する。
次に、図14に従って、検索キーとエントリとが一致する場合の検索動作を説明する。ここでは、注目するワード線WL0上には、2つのメモリブロックMB00、MB01が接続されており、対応するサブマッチ線SML00、SML01の各々に接続されたサブマッチ判定回路には、ブロックマスク信号BMSK0、BMSK1がそれぞれ接続されているものと仮定する。また、図10と同様に、1〜3(10進数)の範囲に対応するエントリが記憶されており、0〜3(10進数)に対応する検索キーとの比較が行われるものと仮定する。したがって、図14では、ブロック符号化されたエントリ‘0001 1110’に応じて、メモリブロックMB00内の記憶ノードN00およびメモリブロックMB01内の記憶ノードN11〜N13が接地電圧VSS、メモリブロックMB01内のN01〜N03およびメモリブロックMB01内の記憶ノードN10が電源電圧VDDに保持されている。
なお、サブマッチ判定回路の構成は図13に示した構成に限らず、図17のような構成も可能である。この構成の図13との相違点は、サブマッチ判定回路SMD00において、NMOSトランジスタT623を取り除いた代わりに、NMOSトランジスタT622と直列にNMOSトランジスタT624が新たに追加されている点にある。トランジスタT624のゲート電極にブロックマスク信号BMSKB0、ドレイン電極にメインマッチ線MML0、ソース電極にトランジスタT622のドレイン電極をそれぞれ接続する。ここで、トランジスタT622とT624の接続順は、逆にすることも可能である。しかし、後述するように、一致時に充電動作が行われるメインマッチ線の負荷容量を抑制するには、トランジスタT624をメインマッチ線MLL0側に接続してサブマッチ判定回路の内部負荷を切り離せるようにすることが望ましい。図28は、サーチ線SL0i(i=0,1,…,3)とブロックマスク信号BMSKB0との対応を、0〜3(10進数)の場合を例に示している。図27との相違点は、ブロックマスク信号BMSKB0の極性がブロックマスク信号BMSK0と反対になっている点にある。
検索動作が始まると、符号化された検索キー‘0001 0000’に応じて、サーチ線SL00〜SL03、SL11〜SL13を接地電圧VSSにそれぞれ保持したまま、接地電圧VSSとなっているサーチ線SL10をアレイ電圧VDLに駆動する。ここで、メモリブロックMB01内のメモリセルMC0において、トランジスタT612、T613が共に導通状態となるので、プリチャージ電圧VPCとなっているサブマッチ線SML01が放電される。一方、メモリブロックMB00において導通状態となるトランジスタは、メモリセルMC1〜MC3内のトランジスタT613だけであるので、いずれのメモリセルにおいてもサブマッチ線SML00と接地電極との間に電流経路が形成されず、サブマッチ線SML00はプリチャージ電圧VPCに保たれる。しかし、アレイ電圧VDLとなっているブロックマスク信号BMSK0が接地電圧VSSに駆動されることにより、サブマッチ判定回路SMD00内のトランジスタT624がカットオフされるので、接地電位VSSとなっているメインマッチ線MML0は、メインマッチ判定回路MMD0により充電されて、比較結果が一致と判定される。
以上の構成と動作により、サブマッチ判定回路SMD00に対応する検索キーが情報‘XX’だった場合に、サブマッチ線SML00をプリチャージ電圧VPCに保ちながら、マッチ線MML0と接地電極との間の電流経路を遮断することが可能となる。すなわち、検索キー‘XX’に応じたサーチ線の活性化本数を低減すると共に、サブマッチ線の充放電動作を停止することができて、検索動作の消費電力をさらに抑制することが可能となる。
次に、実施例1で説明したOne-hot-spotブロック符号を用いた情報の検索動作を行うTCAMのメモリアレイ構造、特にメインマッチ判定回路のさらに別な例を説明する。本実施例の目的は、エントリ(ここではIPアドレス)を記憶しないメモリセルに対応するメインマッチ線の消費電力を低減することにある。
図15は、図1および図9に対応させて、本実施例によるメモリアレイの一部を示している。この構成の図9との相違点は、メインマッチ判定回路MMD0において、PMOSトランジスタT632と空フラグ・レジスタEFREGが新たに追加されている点にある。トランジスタT632は、トランジスタT631とアレイ電圧VDLが供給される電極との間に電流経路を形成するように挿入される。空フラグ・レジスタEFREGは、対応するワード線上のメモリセルにエントリが記憶されているか否かの情報を保持する回路であり、保持する情報は、検索イネーブル信号線SEBに平行に配置された空フラグ線EFLGを介して書き込まれる。また、空フラグ・レジスタEFREGの記憶ノードSNE0は、トランジスタT632のゲート電極に接続される。
図16は、図8で説明した実施例1によるOne-hot-spotブロック符号化情報による検索動作を実現するTCAMの別の全体構成の例を示している。この構成の特徴は、エントリと検索キーを、共にエントリ圧縮回路CMPから第一符号化エントリ・バスFEBSを介してメモリアレイMAに入力する構成とした点にある。このような構成により、範囲指定された検索キーは、エントリと同様に圧縮された後にメモリアレイに入力される。したがって、メモリアレイMAに入力する検索キーの数を低減することができるので、検索動作における消費電力の小さなTCAMを実現することが可能となる。なお、図13で説明したサブマッチ判定回路や図15で説明したメインマッチ判定回路を適用したメモリアレイMAを用いれば、さらに消費電力の小さなTCAMを実現することができることは、実施例3や実施例4の説明から明らかである。
さらに、図9では、一つのトランジスタと一つのキャパシタを用いた回路構成で情報を記憶していた。しかし、この部分を図2に示したような六つのトランジスタで構成された所謂SRAMセルや、浮遊ゲートに電荷を蓄積することにより情報を記憶する例えばフラッシュメモリのような電気的に消去とプログラムが可能なリード・オンリー・メモリ(Electronically Erasable and Programmable Read Only Memory:EEPROM)に置き換えることも可能である。一方のSRAMセルに置き換える場合、キャパシタを形成するための特殊な加工工程が不要となるので、チップ製造コストを抑制することができる。また、メモリアレイの周辺に配置された論理回路と同じようにスイッチング特性に優れたトランジスタを使用できるので、検索動作を高速に行うメモリアレイを実現することが可能となる。さらに、図9に示したメモリセルで行われていたリフレッシュ動作が不要となるので、本TCAMは、より長く検索動作を行うことが可能となる。また、本TCAMを用いたシステム設計が容易になる。他方のEEPROMに置き換える場合、SRAMと同じようにリフレッシュ動作が不要になる。また、メモリセル面積を低減できるので、大容量化および低コスト化が可能となる。さらに、メモリセルは、電源が遮断されたエントリを保持し続けることができるので、損害リスクの低いTCAMを実現することができる。
最後に、図8では、エントリ・エンコーダENCDRやエントリ圧縮回路CMPを用いて、チップ内部で受信したターナリ表記の情報を符合化および圧縮することにより、広範囲のIPアドレスを書き込む方法を説明したが、種々の方法が可能である。例えば、前述したコンパランド・レジスタCPREGを、検索キーとエントリに共通なレジスタとする。また、このレジスタはカウンタを内蔵し、検索キーおよびエントリの上限と下限だけを受信および保持して、指定された範囲に応じた検索キーおよびエントリをチップ内部で発生する機能を有するものとする。このような構成と機能により、範囲指定されたIPアドレスの送受信回数を抑制することができるので、データ入出力回路の消費電力を低減した低電力TCAMを実現することが可能である。
また、図2で説明したネットワーク・プロセッサNPや検索エンジンSEのような外部の制御チップでOne-hot-spotブロック符号化されたエントリを受信して、直接メモリアレイに書き込むことも可能である。この場合、エントリ・エンコーダENCDRやエントリ圧縮回路CMPの他に、エントリの展開、復号をそれぞれ行うエントリ展開回路EXT、エントリ・デコーダEDCRをそれぞれ除くことができて、チップ面積を低減することが可能となる。また、効率よくエントリおよび検索キーを受信することができるので、書き込み動作および読み出し動作に要するサイクル数および消費電力を低減することも可能である。さらに、エントリに限らず、広範囲のIPアドレスを検索キーとして入力する場合に要するサイクル数を低減することもできるので、検索動作を高速かつ低電力に行うことも可能となる。
以上のように、本発明にかかる半導体装置は、IPアドレスに限らず、様々な情報に関して1エントリあたりの情報量を増加することが可能であり、情報量の大きなテーブルを用いた検索動作を行う技術に適している。
図29は、図8や図16で説明したメモリアレイMAの構成の例を示している。この構成の特徴は、次に述べるように二つある。第一の特徴は、図1で説明したメモリアレイからなる二つのサブアレイSMA0、SMA1を有する点にある。第二の特徴は、第一符号化エントリ・バスFEBSの構成要素である第一符号化エントリ線(FEL00〜FEL03、FEL10〜FEL13、…)を受けてサーチ線(SL000〜SL003、SL010〜SL013、…、SL100〜SL103、SL110〜SL113、…)を駆動するサーチ線駆動回路ブロックSDB0、SDB1のそれぞれを、対応するメインマッチ判定回路ブロックMMDB0、MMDB1を用いて制御する点にある。なお、同図では、説明を簡単にするために、サブアレイSMA0、SMA1に配置されるロウ・デコーダや読み書き回路ブロック、ビット線やワード線を省略している。以下では、これらの特徴について、サブアレイSMA0に注目しながら詳しく説明する。
サーチ線駆動回路ブロックSDB0は、第一符号化エントリ線FEL00〜FEL03、FEL10〜FEL13、…とサーチ線SL000〜SL003、SL010〜SL013、…との間にそれぞれ配置されたサーチ線駆動回路SD00〜SD03、SD10〜SD13、…と256入力NAND回路NDMで構成される。サーチ線駆動回路の各々は、図30に示すように、インバータ回路INVとNAND回路NDとで構成される。例えば、サーチ線駆動回路SD00の場合、NAND回路NDの一方の入力端子に第一符号化エントリ線FEL00、他方の入力端子にNAND回路NDMの出力信号SNE0Bをそれぞれ接続する。また、NAND回路NDの出力端子をインバータ回路INVの入力端子に接続し、インバータ回路INVの出力をサーチ線SL00とする。
メインマッチ判定回路ブロックMMDB0は、256個のメインマッチ判定回路MMD0〜MMD255で構成される。各メインマッチ判定回路における空フラグ・レジスタEFREGの記憶ノードに接続された信号SNE00〜SNE0255(例えば、図15におけるメインマッチ判定回路MMD0内の記憶ノードSNE0が信号SNE00に対応する)を、前述したサーチ線駆動回路ブロックSDB0内の256入力NAND回路NDMの各入力端子に接続する。
以上では、図29を例に、本実施例によるメモリアレイ構成を説明したが、その構成は種種の変形が可能である。例えば、同図では、256本のメインマッチ線を有するサブアレイ毎にサーチ線駆動回路ブロックを配置する構成が示されているが、その配置はこれに限らない。本発明によるCAMは、従来のDRAMと同様にチャージシェア動作によってエントリの読み出しを行うので、十分な読み出し信号を得るためにビット線容量すなわちビット線長が制限される。この長さを、例えば図29のようにマッチ線256本分の長さと仮定すると、サーチ線の長さはこれに限らず、サーチ線の駆動に要する時間が検索動作に許容される範囲まで長くすることができる。この場合、メモリアレイ内のサーチ線駆動回路ブロック数を低減することができるので、メモリアレイ面積を抑制することが可能となる。
また、図29では、サーチ線駆動回路ブロックに256入力NAND回路を用いる構成例を示したが、論理を逸脱しない範囲で、種種の変型が可能である。例えば、2乃至3入力のNAND回路やNOR回路とインバータ回路とを組み合わせることにより、サーチ線駆動回路ブロックのレイアウトを効率よく行うことができる。あるいは、エントリをメインマッチ判定回路MMD0に対応するメモリセルから順番に書き込む場合、サブアレイ内のエントリが空か否かの判定をメインマッチ判定回路MMD0の記憶ノードに対応する信号だけで判断できるので、この信号を256入力NAND回路NDMの代わりに配したインバータ回路で受けて、その出力信号で各サーチ線駆動回路を制御することもできる。この場合、論理回路面積および信号配線数を低減できるので、メモリアレイ面積を抑制することが可能となる。
N312,N313, N314, P321, P322, N321, N322, N323, N324, N331, N332, N333, N334, N334…NMOSトランジスタ、T631, P632…PMOSトランジスタ、C1, C2…キャパシタ、SMC31, SMC32, HMC0, HMC1, HMC2, HMC3, MCs(s=0、1、…、7)…メモリセル、MUC, BMUC…比較回路、SC…記憶回路、DCL…放電線、RWL…読み出しワード線、ML…マッチ線、MMLm(m=0、1、…),MML00,・・・MML0255, MML10,・・・MML1255…メインマッチ線、SMLmj(m=0、1、…、j=0、1、…)…サブマッチ線、WL, WL31, WL32, WLm(m=0、1、…)…ワード線、BLT, BLB, BL1, BL2, BLni(n=0、1、…、i=0、1、…、7)…ビット線、SL1, SL2, SLni(n=0、1、…、i=0、1、…、7), SL000〜SL003、SL010〜SL013、・・・、SL100〜SL103、SL110〜SL113、・・・…サーチ線、C0, C1, C2, C3…比較データ線、PC…プリチャージ起動信号線、SEB…検索イネーブル信号線、EFLG…空フラグ線、NT, NB, DC, N1, N2, D0, D1, D2, D3, N0i(i=0、1、…、7),SNE0,SNE00,・・・,SNE0255,SNE10,・・・,SNE1255…記憶ノード、MBmj(m=0、1、…、j=0、1、…), MB00, MB01,・・・,MB2550,MB2551,・・・,…メモリブロック、SMDmj(m=0、1、…、j=0、1、…),SMD00,SMD01,・・・,SMD2550, SMD2551,・・・,…サブマッチ判定回路、EFREG…空フラグ・レジスタ、XDEC…ロウ・デコーダ、MMDB,MMDB0,MMDB1…メインマッチ判定回路ブロック、SDB,SDB0,SDB1…サーチ線駆動回路ブロック、RWB…読み書き回路ブロック、VDD…電源電圧、VSS…接地電圧、VDL…アレイ電圧、VPC…プリチャージ電圧、VPP…昇圧電位、NIF…ネットワーク・インターフェイス、NP…ネットワーク・プロセッサ、SE…検索エンジン、LUT…検索テーブル、CM…コンテント・メモリ、CADD…コンテント・メモリ・アドレス・バス、CBS…コンテント・バス、MA…メモリアレイ、SAM0,SMA1…サブアレイ、DIO…データ入出力回路、CAMCTL…CAM制御回路、FLGC…フラグロジック回路、RFCNT…リフレッシュ・カウンタ、ENCDR…エントリ・エンコーダ、DCDR…エントリ・デコーダ、CMP…エントリ圧縮回路、EXT…エントリ展開回路、PENC…プライオリティ・エンコーダ、CRAMCTL…ランダム・アクセス・メモリ(RAM)制御回路、MKREG…マスク・レジスタ、CPREG…コンパランド・レジスタ、WREG…バースト・ライト・レジスタ、NREG…ネクスト・フリーアドレス・レジスタ、RREG…バースト・リード・レジスタ、ISREG…インストラクション・レジスタ、IFREG…インフォメーション・レジスタ、CFREG…コンフィガレーション・レジスタ、MAREG…マッチ・アドレス・レジスタ、RMKREG…読み出しマスク・レジスタ、RBREG…読み出し二値情報レジスタ、FTEREG, STEREG…第一テンポラリ・エントリ・データ・レジスタ、LORC…OR演算回路、EDVD…エントリ分割回路、MLREG…レジスタ群、DQ…データ・バス、CLK…外部クロック、CMD…外部制御信号群、ACK…リード・アクノーリッジ信号、EOT…エンド・オブ・トランスファ信号、EC…エントリ・カウント信号群、RCLK…RAMクロック、RCTL…RAM制御信号群、RADD…RAMアドレス、FIN…フル・イン信号群、FOUT…フル・アウト信号群、MM…マルチ・マッチ信号、DBS…内部データ・バス、MKBS…マスク信号バス、
XBS…ロウ・アドレス・バス、HBS…一致信号バス、MABS…マッチ・アドレス・バス、RDBS…読み出しデータ・バス、ENBS…符号化データ・バス、FEBS, SEBS, TEBS…エントリ・バス、FEL00〜FEL03,FEL10〜FEL13,・・・…第一符号化エントリ線、ND,NDM…NAND回路、INV…インバータ回路、SNE0B…NAND回路出力信号。
Claims (13)
- 複数のビット線と、
前記複数のビット線の方向に、前記複数のビット線のそれぞれと対をなすように配置された複数のサーチ線と、
前記複数のビット線に交差する方向に配置された複数のワード線と、
前記複数のワード線の方向に配置された複数のメインマッチ線と、
前記メインマッチ線の方向に、前記複数のメインマッチ線のそれぞれと対をなすように配置された複数のサブマッチ線と、
前記複数のビット線と前記複数のワード線のそれぞれの交点に配置されたメモリセルと、
前記複数のサブマッチ線のそれぞれに接続されたサブマッチ判定回路と、
前記複数のメインマッチ線のそれぞれに接続されたメインマッチ判定回路とを備え、
前記メモリセルは、対応する前記複数のサブマッチ線の一に接続されるとともに、対応するサブマッチ判定回路を介して前記複数のメインマッチ線の一に接続され、前記複数のサーチ線を介して入力された情報と前記メモリセルに保持された情報との比較を行うことを特徴とする半導体装置。 - 前記メモリセルは、前記複数のサブマッチ線に偶数個接続されることを特徴とする請求項1に記載の半導体装置。
- 前記メモリセルは、メモリセル二つを用いて4通りの情報を記憶することを特徴とする請求項2に記載の半導体装置。
- 前記メモリセルは、前記複数のサブマッチ線のそれぞれと接地電極との間に電流経路を形成するように接続された第1および第2のMOSトランジスタと、
二値情報を保持する記憶回路とをそれぞれ有し、
前記第1のMOSトランジスタは、そのゲート電極に前記複数のサーチ線が接続され、
前記第2のMOSトランジスタは、そのゲート電極に前記の記憶回路が接続されることを特徴とする請求項3に記載の半導体装置。 - 前記の記憶回路は、第3のMOSトランジスタとキャパシタとを有し、読み出しと書き込みを所定の時間間隔毎にリフレッシュ動作を行いながら情報を保持することを特徴とする請求項4に記載の半導体装置。
- 第1の信号線群と第2の信号線群とを接続するように配置された入出力回路と、第1のレジスタと、エンコーダと、エントリ圧縮回路と、メモリアレイとを有する半導体装置において、
前記入出力回路は、第1または第2の情報を前記第2の信号線群に出力し、
前記第1のレジスタは、前記第1の情報を保持し、
前記エンコーダは、前記第2の信号線群を介して受信した前記第1および第2の情報に基づいて符号化した第3の情報を第3の信号線群に出力し、
前記エントリ圧縮回路は、前記第3の信号線群を介して連続して入力される複数の前記第3の情報に論理演算を行うことにより第4の情報を発生させて第4の信号線群に出力し、
前記のメモリアレイは、前記第4の信号線群を介して入力された前記第4の情報を記憶すると共に、前記第3の信号線群を介して入力された前記第3の情報との比較動作を行うことを特徴とする半導体装置。 - 前記エンコーダは、複数のビット毎に符号化を行うことを特徴とする請求項6に記載の半導体装置。
- 前記エントリ圧縮回路は、第1の複数のレジスタと、比較回路と、OR演算回路とを有し、
前記第1の複数のレジスタは、複数の前記第3の情報を記憶し、
前記比較回路は、前記第1の複数のレジスタにそれぞれ記憶された情報をビット毎に比較し、
前記のOR演算回路は、前記比較回路の比較結果に応じて、前記複数のレジスタにそれぞれ記憶された情報に対してビット毎にOR演算を行うことにより前記第4の情報を発生することを特徴とする請求項7に記載の半導体装置。 - 第2および第3のレジスタと、デコーダと、エントリ展開回路とを有し、
前記エントリ展開回路は、前記第4の信号線群を介して前記メモリアレイから読み出した前記第4の情報を分割して第1の複数の情報を発生して記憶し、
前記デコーダは、第5の信号線群を介して受信した前記第1の複数の情報のそれぞれを復号して得られる複数の前記第1および第2の情報を記憶し、
前記第2のレジスタは、第5の信号線群を介して受信した複数の前記第1の情報を記憶し、
前記第3のレジスタは、前記第5の信号線群を介して受信した複数の前記第2の情報を記憶し、
前記第2および第3のレジスタに保持された複数の前記第1および第2の情報を、前記第2の信号線群から前記入出力回路を介して前記第1の信号線群に出力することを特徴とする請求項8に記載の半導体装置。 - カウンタと、ダイナミック型メモリセルからなるメモリアレイとを有し、
前記カウンタは、リフレッシュ動作において、前記複数のメモリセルを選択的に選択するためのロウ・アドレスを発生することを特徴とする請求項9に記載の半導体装置。 - 複数のビット線と、
前記複数のビット線の方向に、前記複数のビット線のそれぞれと対をなすように配置された複数のサーチ線と、
前記複数のビット線に交差する方向に配置された複数のワード線と、
前記複数のワード線の方向に配置された複数のメインマッチ線と、
前記メインマッチ線の方向に、前記複数のメインマッチ線のそれぞれと対をなすように配置された複数のサブマッチ線と、
前記複数のビット線と前記複数のワード線のそれぞれの交点に配置されたメモリセルと、
前記複数のサブマッチ線のそれぞれに接続されたサブマッチ判定回路と、
前記複数のメインマッチ線のそれぞれに接続されたメインマッチ判定回路とを備え、
前記メモリセルは、前記複数のサブマッチ線に接続され、前記複数のサーチ線を介して入力された情報と前記メモリセルに保持された情報との比較動作において、前記複数のサブマッチ線が放電されることにより対応する情報が一致したと判定することを特徴とする半導体装置。 - 前記複数のサブマッチ線と、それに対応する前記複数のメインマッチ線との間に配置されたサブマッチ判定回路を複数有し、
前記サブマッチ判定回路は、第1および第2のMOSトランジスタを含み、
前記第1のMOSトランジスタは、該MOSトランジスタの一端子である第1電極と前記複数のサブマッチ線との間に電流経路を形成するように接続され、
前記第2のMOSトランジスタは、該MOSトランジスタの一端子である第2電極と前記複数のメインマッチ線との間に電流経路を形成するように接続されるとともに、前記第2のMOSトランジスタのゲート電極には、前記複数のサブマッチ線が接続されることを特徴とする請求項11に記載の半導体装置。 - 前記第1電極には第1の電源電圧が供給され、
前記第2電極には第2の電源電圧が供給され、
前記第1の電源電圧は前記第2の電源電圧よりも高電位であることを特徴とする請求項12に記載の半導体装置。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003429505A JP4487237B2 (ja) | 2003-12-25 | 2003-12-25 | 半導体装置 |
DE602004012226T DE602004012226T2 (de) | 2003-12-25 | 2004-12-23 | Inhaltsadressierter Speicher mit hierarchisch strukturierten Trefferleitungen und mit einer auf der Konvertierung von Dezimalen in Blöcke von Bits beruhenden Suchfunktion |
US11/019,321 US7366001B2 (en) | 2003-12-25 | 2004-12-23 | Content addressable memory including main-match lines and sub-match lines |
EP04030740A EP1548747B1 (en) | 2003-12-25 | 2004-12-23 | Content addressed memory with comprising hierarchically structured match-lines and with search function based on conversion of decimals into blocks of bits |
CNA2004100818647A CN1645514A (zh) | 2003-12-25 | 2004-12-24 | 半导体器件 |
US11/877,310 US7505296B2 (en) | 2003-12-25 | 2007-10-23 | Ternary content addressable memory with block encoding |
US12/367,108 US7881088B2 (en) | 2003-12-25 | 2009-02-06 | Content addressable memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003429505A JP4487237B2 (ja) | 2003-12-25 | 2003-12-25 | 半導体装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005190543A true JP2005190543A (ja) | 2005-07-14 |
JP2005190543A5 JP2005190543A5 (ja) | 2005-12-15 |
JP4487237B2 JP4487237B2 (ja) | 2010-06-23 |
Family
ID=34545010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003429505A Expired - Fee Related JP4487237B2 (ja) | 2003-12-25 | 2003-12-25 | 半導体装置 |
Country Status (5)
Country | Link |
---|---|
US (3) | US7366001B2 (ja) |
EP (1) | EP1548747B1 (ja) |
JP (1) | JP4487237B2 (ja) |
CN (1) | CN1645514A (ja) |
DE (1) | DE602004012226T2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007080314A (ja) * | 2005-09-12 | 2007-03-29 | Renesas Technology Corp | 半導体記憶装置 |
JP2008501205A (ja) * | 2004-06-01 | 2008-01-17 | モーセッド・テクノロジーズ・インコーポレイテッド | 低減されたマッチライン容量のための3値camセル |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7634500B1 (en) * | 2003-11-03 | 2009-12-15 | Netlogic Microsystems, Inc. | Multiple string searching using content addressable memory |
US7366830B1 (en) * | 2005-09-01 | 2008-04-29 | Netlogic Microsystems, Inc. | Row expansion reduction by inversion for range representation in ternary content addressable memories |
US7640577B2 (en) * | 2006-02-14 | 2009-12-29 | Sony Corporation | System and method for authenticating components in wireless home entertainment system |
DE102007051192B4 (de) * | 2006-11-03 | 2018-05-03 | Micron Technology Inc. | Speichervorrichtung, die Drei-Pegel-Zellen einsetzt, und zugehöriges Verfahren zum Verwalten |
WO2008067323A2 (en) * | 2006-11-27 | 2008-06-05 | Bay Microsystems, Inc. | Network processor integrated circuit with a software programmable search engine communications module |
ITVA20070026A1 (it) * | 2007-03-02 | 2008-09-03 | St Microelectronics Srl | Metodo di gestione di una memoria tri-livello |
US7672163B2 (en) * | 2007-09-14 | 2010-03-02 | Sandisk Corporation | Control gate line architecture |
US7894226B2 (en) * | 2008-05-21 | 2011-02-22 | Texas Instruments Incorporated | Content addressable memory based on a ripple search scheme |
WO2012002931A1 (en) * | 2010-06-29 | 2012-01-05 | Hewlett-Packard Development Company, L.P. | Method and system for encoding data for storage in a memory array |
CN103098427B (zh) * | 2010-09-08 | 2015-10-21 | 日本电气株式会社 | 交换系统、交换控制系统和存储介质 |
WO2012121689A1 (en) * | 2011-03-04 | 2012-09-13 | Hewlett-Packard Development Company, L.P. | Antipodal-mapping-based encoders and decoders |
US9070435B2 (en) * | 2012-09-27 | 2015-06-30 | Broadcom Corporation | Pre-computation based ternary content addressable memory |
US10320420B2 (en) | 2014-01-24 | 2019-06-11 | Hewlett-Packard Enterprise Development LP | Bit-flip coding |
CN103915114A (zh) * | 2014-04-01 | 2014-07-09 | 苏州无离信息技术有限公司 | 高密度三态内容可寻址存储器单元结构 |
US20160358653A1 (en) * | 2015-06-08 | 2016-12-08 | Altera Corporation | Hardware programmable device with integrated search engine |
US9659646B1 (en) | 2016-01-11 | 2017-05-23 | Crossbar, Inc. | Programmable logic applications for an array of high on/off ratio and high speed non-volatile memory cells |
US10664343B2 (en) * | 2016-02-08 | 2020-05-26 | Sony Corporation | Memory controller, non-volatile memory, and method of controlling memory controller |
US9728258B1 (en) * | 2016-10-04 | 2017-08-08 | National Tsing Hua University | Ternary content addressable memory |
US9768179B1 (en) * | 2016-11-18 | 2017-09-19 | Taiwan Semiconductor Manufacturing Co., Ltd. | Connection structures for routing misaligned metal lines between TCAM cells and periphery circuits |
JP2019102108A (ja) * | 2017-11-29 | 2019-06-24 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US10332586B1 (en) | 2017-12-19 | 2019-06-25 | Micron Technology, Inc. | Apparatuses and methods for subrow addressing |
KR102598735B1 (ko) * | 2018-05-18 | 2023-11-07 | 에스케이하이닉스 주식회사 | 메모리 장치 및 그 동작 방법 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63281299A (ja) * | 1987-05-13 | 1988-11-17 | Hitachi Ltd | 連想メモリ装置 |
JPS63308796A (ja) * | 1987-06-10 | 1988-12-16 | Hitachi Ltd | 内容呼び出しメモリ |
US6114873A (en) * | 1998-12-17 | 2000-09-05 | Nortel Networks Corporation | Content addressable memory programmable array |
US6539455B1 (en) * | 1999-02-23 | 2003-03-25 | Netlogic Microsystems, Inc. | Method and apparatus for determining an exact match in a ternary content addressable memory device |
US6094368A (en) * | 1999-03-04 | 2000-07-25 | Invox Technology | Auto-tracking write and read processes for multi-bit-per-cell non-volatile memories |
US6539466B1 (en) * | 2000-02-21 | 2003-03-25 | Hewlett-Packard Company | System and method for TLB buddy entry self-timing |
JP3845814B2 (ja) * | 2000-08-10 | 2006-11-15 | 株式会社テルミナス・テクノロジー | 連想メモリとその検索方法及びルータとネットワークシステム |
US6288922B1 (en) * | 2000-08-11 | 2001-09-11 | Silicon Access Networks, Inc. | Structure and method of an encoded ternary content addressable memory (CAM) cell for low-power compare operation |
TW456514U (en) * | 2000-12-21 | 2001-09-21 | Mosel Vitelic Inc | Connector of reflectivity measuring instrument |
US6452822B1 (en) * | 2001-04-26 | 2002-09-17 | International Business Machines Corporation | Segmented match line arrangement for content addressable memory |
JP3863733B2 (ja) * | 2001-05-18 | 2006-12-27 | 富士通株式会社 | 連想メモリ装置 |
JP2003100086A (ja) * | 2001-09-25 | 2003-04-04 | Fujitsu Ltd | 連想メモリ回路 |
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 |
US6925524B2 (en) * | 2003-03-20 | 2005-08-02 | Integrated Silicon Solution, Inc. | Associated content storage system |
US6906937B1 (en) * | 2003-03-21 | 2005-06-14 | Netlogic Microsystems, Inc. | Bit line control circuit for a content addressable memory |
JP2005353107A (ja) * | 2004-06-08 | 2005-12-22 | Hitachi Ltd | 半導体装置 |
JP4343859B2 (ja) * | 2005-02-17 | 2009-10-14 | 株式会社日立製作所 | 半導体装置 |
-
2003
- 2003-12-25 JP JP2003429505A patent/JP4487237B2/ja not_active Expired - Fee Related
-
2004
- 2004-12-23 DE DE602004012226T patent/DE602004012226T2/de active Active
- 2004-12-23 EP EP04030740A patent/EP1548747B1/en not_active Expired - Fee Related
- 2004-12-23 US US11/019,321 patent/US7366001B2/en not_active Expired - Fee Related
- 2004-12-24 CN CNA2004100818647A patent/CN1645514A/zh active Pending
-
2007
- 2007-10-23 US US11/877,310 patent/US7505296B2/en not_active Expired - Fee Related
-
2009
- 2009-02-06 US US12/367,108 patent/US7881088B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008501205A (ja) * | 2004-06-01 | 2008-01-17 | モーセッド・テクノロジーズ・インコーポレイテッド | 低減されたマッチライン容量のための3値camセル |
JP2007080314A (ja) * | 2005-09-12 | 2007-03-29 | Renesas Technology Corp | 半導体記憶装置 |
Also Published As
Publication number | Publication date |
---|---|
DE602004012226D1 (de) | 2008-04-17 |
DE602004012226T2 (de) | 2009-03-12 |
EP1548747B1 (en) | 2008-03-05 |
CN1645514A (zh) | 2005-07-27 |
US20090150604A1 (en) | 2009-06-11 |
US7505296B2 (en) | 2009-03-17 |
EP1548747A1 (en) | 2005-06-29 |
US20050157526A1 (en) | 2005-07-21 |
US7366001B2 (en) | 2008-04-29 |
JP4487237B2 (ja) | 2010-06-23 |
US20080049481A1 (en) | 2008-02-28 |
US7881088B2 (en) | 2011-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4487237B2 (ja) | 半導体装置 | |
JP4343859B2 (ja) | 半導体装置 | |
US6707692B2 (en) | Content addressable memory device capable of being used as binary CAM device or as ternary CAM device and structure method therefor | |
US6310880B1 (en) | Content addressable memory cells and systems and devices using the same | |
US6044005A (en) | Content addressable memory storage device | |
US7848129B1 (en) | Dynamically partitioned CAM array | |
US8462532B1 (en) | Fast quaternary content addressable memory cell | |
KR100538883B1 (ko) | 반도체 메모리 장치 | |
US7050318B1 (en) | Selective match line pre-charging in a CAM device using pre-compare operations | |
KR101052812B1 (ko) | 감소된 매치라인 용량을 위한 터너리 내용 주소화 메모리셀 | |
CN100505097C (zh) | 内容可寻址存储器件及其操作方法 | |
US6678198B2 (en) | Pseudo differential sensing method and apparatus for DRAM cell | |
US6836419B2 (en) | Split word line ternary CAM architecture | |
US6845025B1 (en) | Word line driver circuit for a content addressable memory | |
US8023298B1 (en) | Encoding data for storage in a content addressable memory | |
US7173838B2 (en) | Content addressable memory device | |
US7251707B1 (en) | Content based content addressable memory block enabling using search key | |
US7219188B1 (en) | Segmented content addressable memory array and priority encoder | |
US7277308B2 (en) | High performance and low area write precharge technique for CAMs | |
JP2004355691A (ja) | 半導体装置 | |
CN112970065A (zh) | 双重比较三态内容可寻址存储器 | |
KR101167272B1 (ko) | 바이너리 내용 주소화 메모리 | |
US20060133128A1 (en) | Method and storage device for the permanent storage of data | |
JP2009117031A (ja) | 半導体装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051101 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051101 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20070411 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070411 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081118 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090616 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090812 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090916 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20090916 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090916 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100115 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100210 |
|
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: 20100303 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100318 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130409 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130409 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140409 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |