JP2006228325A - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP2006228325A
JP2006228325A JP2005040885A JP2005040885A JP2006228325A JP 2006228325 A JP2006228325 A JP 2006228325A JP 2005040885 A JP2005040885 A JP 2005040885A JP 2005040885 A JP2005040885 A JP 2005040885A JP 2006228325 A JP2006228325 A JP 2006228325A
Authority
JP
Japan
Prior art keywords
search
lines
circuit
dummy
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.)
Granted
Application number
JP2005040885A
Other languages
English (en)
Other versions
JP4343859B2 (ja
Inventor
Satoru Hanzawa
悟 半澤
Riichiro Takemura
理一郎 竹村
Kazuhiko Kajitani
一彦 梶谷
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.)
Hitachi Ltd
Micron Memory Japan Ltd
Original Assignee
Hitachi Ltd
Elpida Memory 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 Hitachi Ltd, Elpida Memory Inc filed Critical Hitachi Ltd
Priority to JP2005040885A priority Critical patent/JP4343859B2/ja
Priority to US11/354,131 priority patent/US7388768B2/en
Priority to CNA2006100085965A priority patent/CN1825481A/zh
Publication of JP2006228325A publication Critical patent/JP2006228325A/ja
Application granted granted Critical
Publication of JP4343859B2 publication Critical patent/JP4343859B2/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
    • 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

Landscapes

  • Dram (AREA)

Abstract

【課題】 CAMを含む半導体装置の高速化、または消費電力の低減を実現する。
【解決手段】 複数のバンクBK1,BK2に分割したメモリアレイに異なる位相の制御クロックを分配して、異なる位相でエントリおよび検索キーの処理(読み書き動作、検索動作)を行う。バンク化されたメモリアレイは、さらに小さく分割された複数のサブアレイSARYU,SARYLで構成され、二つのサブアレイSARYU,SARYLで読み書き検索回路群RWSBK内のセンスアンプを共有する。この際に、双方のサブアレイSARYU,SARYLからビット線を一本ずつセンスアンプに接続した所謂開放ビット線構成とする。複数のバンクBK1,BK2に同一の検索テーブルを登録し、連続して入力される検索キーを複数のバンクBK1,BK2に順繰りに入力して、異なる位相の制御クロックに同期させて検索動作を行う。
【選択図】 図1

Description

本発明は半導体装置に関し、特に、蓄積ノードに記憶された情報と入力された情報との比較を行うコンテント・アドレッサブル・メモリセル(CAMセル)を含む半導体装置において、装置内部で符号化した情報を記憶または比較するCAMアレイを備えた半導体装置に適用して有効な技術に関するものである。
インターネットの爆発的な普及に伴い、ネットワークにおけるルータやスイッチに要するテーブル規模が急増しており、テーブル検索の高速化が課題となっている。この課題をハードウェア的に解決する手段として、ターナリ・コンテント・アドレッサブル・メモリ(TCAM)が注目されている。
例えば、特許文献1には、‘0’/‘1’/‘X’(don’t care)の3値を記憶するのに二つのダイナミック型記憶セルを用いたTCAMセルの構成が示されている。これによって、セルの占有面積を小さくして大容量化を可能にすると共に、検索動作の低消費電力化および高速化を可能にする。
また、例えば、非特許文献1には、TCAMにおける容量不足と消費電力増大を解消するCAMを実現するための、エントリあるいは検索キーの符号化方式とメモリアレイ構成が記載されている。本技術においては、One−hot−spotブロック符号と呼ぶ符号化方式が用いられる。
ここで、TCAMでは、DRAMやSRAMで広く使われているワードに対応する言葉として、“エントリ”を用いるのが普通である。エントリは、各ワードに記憶された情報を指す言葉であるので、本明細書では慣例に従って記憶情報をエントリ、比較情報を検索キーと呼ぶことにする。
特開2003−272386号公報 「アイ・イー・イー・イー、2004・シンポジウム・オン・VLSI・サーキッツ、ダイジェスト・オブ・テクニカル・ペーパーズ(IEEE 2004 Symposium on VLSI Circuits, Digest of Technical Papers)」、2004年6月、p.382−385
本願発明者等は、本願に先立ち、One−hot−spotブロック符号を用いたCAMの高速化について検討した。なお、本願発明者等は、本願に先立ち、One−hot−spotブロック符号を用いたCAMに関連して、非公知の「特願2003−429505号」(以降、参考文献1と称す)と非公知の「特願2004−169314号」(以降、参考文献2と称す)とを出願している。本発明者は、これらの技術を含め、特に、メモリアレイの検索動作に要するサイクル時間を詳細に検討したところ、下記二つの問題等を見出した。
第一の問題は、CAMが主に適用されている通信分野では、回線速度が10年で1000倍の勢いで向上しているのに対して、半導体デバイスの性能向上が遅いために、CAMの心臓部であるメモリアレイの検索動作サイクル時間短縮の度合いが小さいと予測される点にある。CAMベンダーの中には、一つの検索キーに幾通りかのマスクをかけて、それぞれ別の検索テーブルで検索動作を行うことにより、単位時間当りの検索回数を向上する方式をウェブなどで公開している。しかし、回線速度を維持しながらパケット転送処理を行うには、複数のCAMが必要となるため、実装コストが嵩む恐れがある。実装コストを抑制するには、CAMに順々に入力した検索キーを異なる位相で検索を行う並列処理が望ましい。
このような処理を実現するために、前述した特許文献1の図11では、二分割されたターナリ・コンテント・アドレッサブル・メモリセル・アレイ(TCAMセルアレイ)に同一の検索テーブルを記憶しておいて、これらに交互に検索キーを入力して検索動作を行う所謂インターリーブ方式が示されている。また、その詳細なメモリアレイ構成として、特許文献1の図12では、TCAMセルアレイ間でセンスアンプを共有し、各センスアンプに接続されたビット線対が同一のTCAMセルアレイに存在する、所謂折り返し型ビット線構成が示されている。そして、このビット線対に前述した二つのダイナミック型記憶セルが接続される。
しかしながら、折り返し型ビット線構成では、二つのダイナミック型記憶セルの記憶ノードに、論理値“00”や論理値“11”の情報を正確に読み書きすることができない。また、ダイナミック型セルの場合、再書き込み(リフレッシュ)動作も正しく行うことが出来ない。誤動作を防ぐためには、TCAMセルアレイ間で、所謂開放型ビット線構成のセンスアンプ配置とすることが望ましい。さらに、特許文献1では、サーチ線駆動回路はサーチ線対に相補の信号を発生する構成となっているために、検索キーの任意のビットにマスクをかけて該当ビットを強制的に一致とみなす検索動作を行うことができない。したがって、サーチ線駆動回路も新たな構成に置き換えるのが望ましい。
第二の問題は、検索動作のサイクル時間がマッチ線の充電時間で律側されている点にある。この問題を説明するため、非特許文献1や参考文献1で示されるメモリアレイ構成を示す。図2は、本発明の前提として検討したCAMのメモリアレイ構成を示す回路ブロック図である。図3は、図2における各回路ブロックの詳細な構成を示す回路図である。
図2に示すメモリアレイは、マッチ線が、メインマッチ線MMLm(m=0,1,…)とサブマッチ線SMLmj(m=0,1,…,j=0,1,…)からなる階層構造を形成する。メモリセルDMCは、複数のワード線WLm(m=0,1,…)と複数のビット線BLnx(n=0,1,…、x=0,1,2,3)との交点にそれぞれ配置される。複数のワード線の各々は、ワード・ドライバ群WDBにより駆動され、複数のビット線は、読み書き回路群RWBにより駆動される。
ビット線BLnx(n=0,1,…,x=0,1,2,3)には、対応する複数のサーチ線SLnx(n=0,1,…,x=0,1,2,3)がそれぞれ平行に配置される。複数のサーチ線の各々は、サーチ・ドライバ群SDBにより駆動される。また、ワード線WLm(m=0,1,…)には、対応する複数のメインマッチ線MMLm(m=0,1,…)がそれぞれ平行に配置される。
さらに、複数のサブマッチ線SMLmj(m=0,1,…、j=0,1,…)が、対応するメインマッチ線MMLm(m=0,1,…)にそれぞれ平行に配置され、対応するサブマッチ判定回路SMDmj(m=0,1,…、j=0,1,…)を介してそれぞれ接続される。サブマッチ線には、例えばサブマッチ線SML00のように、四つのメモリセルDMCi(i=0,1,2,3)がそれぞれ接続される。これら四つのメモリセルDMCi(i=0,1,2,3)からなるグループを、参考文献1および非特許文献1ではメモリブロックMBmj(m=0,1,…,j=0,1,…)とそれぞれ呼んでいる。
メモリセルDMCの各々は、図3に示すように、3つのNMOSトランジスタT311,T312,T313とキャパシタCで構成される。また、サブマッチ判定回路SMDは、対応するサブマッチ線SMLをプリチャージするためのNMOSトランジスタT321と、サブマッチ線SMLに発生された微小な信号の弁別するためのNMOSトランジスタT322で構成される。
さらに、図2のメインマッチ判定回路群MMDBは、図3に示すように複数のメインマッチ判定回路MMDm(m=0,1,…)で構成され、それぞれ対応するメインマッチ線MMLを駆動するためのPMOSトランジスタT331と、対応するメインマッチ線上のエントリにおける比較結果を分別するためのセンスアンプSAで構成され、比較結果に応じた電圧のヒット信号(ここではHIT0)を出力する。
このような構成において、検索動作を行う際は、まず例えば、図3のメモリセルDMC0に記憶されているデータ(N00)とサーチ線SL00に入力されたデータとが比較され、その一致/不一致に応じて予めプリチャージされたサブマッチ線SML00の電荷保持または電荷放電が定められる。また、これに伴い、サブマッチ判定回路SMD00内のNMOSトランジスタT322のON/OFFも定められる。
ここで、メインマッチ判定回路MMD00によってサブマッチ線SML00の情報を読み出すために、予め接地電圧VSSを保持しているメインマッチ線MML00をPMOSトランジスタT331によって徐々に充電し、NMOSトランジスタT322による放電有無を調べる動作が行われる。この際に、その充電する電流値は、NMOSトランジスタT322のオン電流より小さな値に設定されているため、不一致時(NMOSトランジスタT322がON時)のメインマッチ線MML00は、センスアンプSAの論理しきい値より低い電圧に抑えられる。
しかしながら、このようにメインマッチ線MML00を徐々に充電する方式では、センスアンプの起動タイミングが遅くなってしまう恐れがある。すなわち、一般に、PMOSトランジスタよりもNMOSトランジスタの駆動能力の方が高いので、センスアンプの起動タイミングを早めるためには、高い電圧に充電したメインマッチ線をマッチ判定回路内のNMOSトランジスタにより駆動した方が、より早く一致/不一致に応じた信号を発生することができる。
そこで、本発明の目的は、このような問題等を鑑み、CAMを含む半導体装置の高速化、または消費電力の低減を実現することにある。
なお、参考文献2には、参考文献1および非特許文献1に記載のOne−hot−spotブロック符号を用いたCAMにおけるインタフェイス回路方式が示されている。具体的には、データ領域に応じて複数の情報を圧縮して記憶したり、マスクをかけて記憶したりするための入出力信号のフォーマットと符号化および復号回路構成とが示される。この文献によるCAMでは、IPアドレスなどを入出力する際は最小値と差の組み合わせを扱う。このようなフォーマットの入出力信号を4値情報と呼んでいる。
その他の情報を入出力する際はデータとマスクの組み合わせを扱う。このようなフォーマットの入出力信号を3値情報と呼んでいる。この文献の技術を用いることにより、外付けされたCAMコントローラはエントリの格納状況を容易に監視することが可能となり、One−hot−spotブロック符号を用いたCAMの利便性が増す。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
本発明による半導体装置は、複数のバンクを備え、さらに、各バンク内に複数のCAMアレイを備えるものである。ここで、各バンク内の複数のCAMアレイの間には、センスアンプ、読み出し回路、書き込み回路、およびサーチ線駆動回路が共有状態で配置される。なお、複数のCAMアレイ内のビット線とセンスアンプとの接続関係は、双方のCAMアレイからビット線を一本ずつセンスアンプに接続した所謂開放ビット線構成となっている。また、CAMアレイ内のメモリセルは、例えば、ダイナミック型の記憶セルとすることができる。
このような構成によって、メモリセルに対する読み書きおよびリフレッシュといった動作を正しく行うことが可能となる。さらに、複数のバンクを用いたインターリーブ動作を行うことで、高速な検索処理を実現できる。
この場合、複数のバンクにそれぞれ異なる位相の制御クロックを分配して、異なる位相でエントリおよび検索キーの処理(読み出し動作、書き込み動作、検索動作)を行うとよい。さらに、複数のバンクに同一の検索テーブルを登録し、連続して入力される検索キーを複数のバンクに順繰りに入力して、異なる位相の制御クロックに同期させて検索動作を行うこともできる。
また、本発明による半導体装置は、CAMアレイによる検索動作の際、その検索結果の判定タイミングを発生するダミー回路を有するものである。このダミー回路は、例えば、正規のCAMアレイが備えるメモリセル、ワード線、およびマッチ線などと同様な構成のダミーメモリセル、ダミーワード線、およびダミーマッチ線などを備え、検索動作の際、常に一致または不一致に固定された動作を行う。そして、ダミー回路は、一致または不一致のいずれかに応じて変動するダミーマッチ線の電圧レベルを監視し、最適なタイミングで正規のCAMアレイ内におけるマッチ線の判定回路(センスアンプ)を起動する。このタイミングの最適化によって、高速化または消費電力の低減が可能となる。
さらに、マッチ線およびダミーマッチ線の判定を行う際には、前述した課題で述べたようにマッチ線を徐々に充電しながら放電経路の有無に応じて電圧が上昇するか否かを検出する方式ではなく、急速に充電したマッチ線の電圧が放電経路の有無に応じて下降するか否かを検出する方式にするとよい。これによって、検索動作の高速化が図れる。また、マッチ線の電圧レベルは、デフォルト状態で不一致時の電圧レベルにしておくとよい。これによって、実使用上の消費電力を低減することが可能となる。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、半導体装置の高速化または消費電力の低減を実現できる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。また、実施の形態の各機能ブロックを構成する回路素子は、特に制限されないが、公知のCMOS(相補型MOSトランジスタ)等の集積回路技術によって、単結晶シリコンのような半導体基板上に形成される。
なお、実施の形態では、MISFET(Metal Insulator Semiconductor Field Effect Transistor)の一例としてMOS(Metal Oxide Semiconductor)トランジスタを用いる。図面において、Pチャネル型MOSトランジスタ(PMOSトランジスタ)にはゲートに矢印の記号を付すことで、Nチャネル型MOSトランジスタ(NMOSトランジスタ)と区別することとする。図面にはMOSトランジスタの基板電位の接続は特に明記していないが、MOSトランジスタが正常動作可能な範囲であれば、その接続方法は特に限定しない。
(実施の形態1)
まず、CAMの全体構成について説明する。
図1は、本発明の実施の形態1の半導体装置において、それに含まれるCAMの要部ブロックの基本構成例を示すブロック図である。本構成は、コマンド・デコーダCDEC、CAM制御回路CAMCTL1、データ入出力回路DIO、各種レジスタ群REGBK、符号化回路群ENCBK、復号回路群DECBK、バンク化されたメモリアレイBK1,BK2、RAM制御回路RAMCTLを有する。同図では、簡単のため検索動作におけるデータが送受信される経路に注目しており、アドレス関連の回路ブロックであるリフレッシュ・カウンタやロウ・デコーダなどは省略されている。
コマンド・デコーダCDECは、コマンド信号CMD[j:1]の受信と符号化を行い、後述するレジスタを選択するための信号をコマンド・バスCBSを介して各種レジスタ群REGBKに出力する。あるいは、後述するCAM制御回路CAMCTL1などチップ内の制御回路ブロックにリード・イネーブル信号RDE、ライト・イネーブル信号WTE、サーチ・イネーブル信号SCEを出力する。
CAM制御回路CAMCTL1は、本発明によるCAMに接続されたコントローラ(または、ネットワーク・プロセッサや検索エンジンなどと呼ばれる制御回路)が発生するマスタ・クロックMCLKとマルチ・バンク・イネーブル信号MBKEを受信すると共に、前述のリード・イネーブル信号RDE、ライト・イネーブル信号WTE、サーチ・イネーブル信号SCEに応じて、バンク制御クロックBCLK1,BCLK2、データ・クロックDCLK、コンテント・アドレス・クロックACLKを発生する。
データ入出力回路DIOは、データ・バスDQ[k:1]と内部データ・バスDBS[k:1]との間に配置され、アドレス信号やデータ、さらにチップの各種設定を定義する制御信号の授受を行う。特に、データの授受の際は、前述のデータ・クロックDCLKに同期して、データの授受を行う。なお、バス幅kを偶数と仮定して、以下の説明を続ける。
各種レジスタ群REGBKは、データ・バスDQの信号線数(ここではk本)に応じた複数ビットのレジスタでそれぞれ構成される。同図では、内部データ・バスDBSを介して信号の授受を行うレジスタとして、四つのレジスタ群が示されている。
第一の入力マスク/差レジスタ群INMD1〜INMDsは、入力するエントリや検索キーのデータ領域に対応して、マスク情報や差を格納する。第二の出力マスク/差レジスタ群OUTMD1〜OUTMDsは、読み出すエントリのデータ領域に対応して、マスク情報や差を格納する。
第三のデータ領域識別レジスタ群DFI1〜DFIsは、CAMが処理する情報形式をビット毎に区別するための識別情報を格納する。第四のマッチ・アドレス・レジスタMA1〜MAsは、後述するマッチ・アドレスMABSと内部データ・バスDBSとの間に挿入され、検索動作時に発生されたマッチ・アドレス(詳細は後述)を格納する。なお、一致したエントリが複数あった場合、最上位(例えば、対応するロウ・アドレスが最も小さい番号の行)のエントリに応じたアドレス信号から順に出力する機能を有する。なお、以上で述べたレジスタ群は、同じ構成の複数のレジスタでそれぞれ構成されており、前述のコマンド信号群やアドレス信号によって所望のレジスタが選択される。
符号化回路群ENCBKは、データ・バスDQの信号線数(ここではk本)に応じたkビットの3値情報−One−hot−spotブロック符号化回路群TOBENCと4値情報−One−hot−spotブロック符号化回路群QOBENCを有し、データ領域識別バスDFIBSを介して入力される前述のデータ領域識別レジスタ群DFI1〜DFIsの値に応じて、符号化ブロック毎に何れか一方の符号化回路が活性化される。
例えば、2ビット毎に符号化する場合、符号化ブロックに該当する情報が3値か4値かに応じて、2ビット毎に符号化回路群ENCBKの構成が設定される。そして、前述の入力マスク/差レジスタ群INMD1〜INMDsから入力マスク/差バスINMDBSを介して得た情報(ここでは差およびマスク)と、内部データ・バスDBSを介して入力された情報(ここでは最小値およびデータ)を受信して、エントリまたは検索キーをOne−hot−spotブロック符号化し、2k本の信号線からなる符号化情報バスENCBSに出力する。
一方、復号回路群DECBKは、データ・バスDQの信号線数(ここではk本)に応じた複数ビットのOne−hot−spotブロック符号−3値情報復号回路群OBTDECとOne−hot−spotブロック符号−4値情報復号回路群OBQENCを有し、データ領域識別バスDFIBSを介して入力される前述のデータ領域識別レジスタ群DFI1〜DFIsの値に応じて、符号化ブロック毎に何れか一方の復号回路が活性化される。
例えば、2ビット毎に符号化する場合、符号化ブロックに該当する情報が3値か4値かに応じて、2ビット毎に復号回路群DECBKの構成が設定される。そして、2k本の信号線からなる符号化情報バスENCBSを介して読み出されたエントリを復号し、マスクおよび差を出力マスク/差バスOUTMDBSを介して前述の出力マスク/差レジスタ群OUTMD1〜OUTMDsへ一時格納すると共に、内部データ・バスDBSを介してデータおよび最小値をデータ入出力回路DIOへ出力する。
なお、これらの各種レジスタ群REGBK、符号化回路群ENCBKおよび復号回路群DECBKの詳細は、参考文献2に記載されている。
バンクBK1,BK2は、バンク化されたメモリアレイがさらに分割されたサブアレイSARYU,SARYL、読み書き検索回路群RWSBK、メモリ制御回路MC、プライオリティ・エンコーダPEをそれぞれ有する。サブアレイSARYU、SARYLは、図2に示した構成からサーチ・ドライバ群SDBと読み書き回路群RWBを省いた構成である。例えば、2ビット毎にエントリや検索キーが符号化される場合、データ・バスDQのバス幅に応じてkビットのエントリを記憶できるように、一つのワード線にk/2個のメモリブロックが接続されている。また、詳細は後述するが、読み書き検索回路群RWSBKは、サブアレイSARYU、SARYLで共有される。
メモリ制御回路MCは、前述のリード・イネーブル信号RDE、ライト・イネーブル信号WTE、サーチ・イネーブル信号SCEをそれぞれ受信し、これらの信号の何れかが動作に応じて活性化されると、バンク制御クロックBCLK1,BCLK2に同期した複数の内部制御信号(詳細は後述する)を発生する。
プライオリティ・エンコーダPEは、検索動作において、バンクBK1,BK2内のサブアレイSARYU,SARYLにおけるメインマッチ判定回路群MMDBの出力信号(すなわち、図3に示したヒット信号HIT0など)を一致信号バスHBSU、HBSLを介して受信し、検索キーと一致したエントリに対応するアドレス(以下では、マッチ・アドレスと呼ぶ。)信号を発生する。このアドレス信号は、マッチ・アドレス・バスMABSを介してRAM制御回路RAMCTLおよびマッチ・アドレス・レジスタ群MA0〜MAsに入力される。
RAM制御回路RAMCTLは、コンテント・アドレス・クロックACLKに応じて、マッチ・アドレスをコンテント・アドレス信号群CADD[r:1]からDRAM(ダイナミック・ランダム・アクセス・メモリ)やSRAM(スタティック・ランダム・アクセス・メモリ)に出力する。ここで、rは、本実施の形態によるCAMのメモリアレイ構成に応じて決まる整数である。
なお、本実施の形態によるCAMを形成する構成要素は、図1に記載の回路ブロックや信号に限らず、様々な要素ブロックや信号が含まれる。例えば、クロックの位相調整用のフェーズ・ロックド・ループPLLやディレイ・ロックド・ループDLL、テスト回路、カスケード接続したチップを制御するコントローラ、外付けのコンテント・メモリ(例えば、SRAMやDRAM)を制御するRAM用クロック、RAM制御信号群などが図1では簡単のために省略されている。
つぎに、メモリアレイ構成と動作について説明する。
図4は、図1におけるバンクBK1,BK2の構成の一例を示す回路ブロック図である。以下に示す記号の添え字‘n’は、0、1、…、(k/2)−1のいずれかである(‘k’は偶数)。また、添え字‘x’は、0、1、2、3のいずれかである。
符号化データ線ENCLnxは、前述した2k本の符号化情報バスENCBSの構成要素である。読み書き検索回路群RWSBKは、2k個の読み書き検索回路RWSCTnxを有する。符号化情報バスENCBSは対応するRWSCTnxを介して、サーチ線SLnxにそれぞれ接続される。サーチ線SLnxのそれぞれは、サブアレイSARYU、SARYLで共有され、双方のサブアレイ内の対応するメモリセルに接続される。また、サーチ線SLnxに対応するサブアレイSARYU内のビット線BLnxUとサブアレイSARYL内のビット線BLnxLが、対応する読み書き検索回路RWSCTnxにそれぞれ接続される。
図5は、図4における読み書き検索回路RWSCT00を例に、その構成の一例を示す回路図である。本実施の形態による読み書き検索回路は、センスアンプSA、イコライズ回路EQ、読み出し回路RCKT、書き込み回路WCKT、サーチ線駆動回路SCKTで構成される。
センスアンプSAは、DRAMで広く用いられているように、2個のPMOSトランジスタP500,P501と2個のNMOSトランジスタN500,N501とをクロスカップル接続した公知の回路構成である。待機時にビット線BL00U,BL00Lと共に参照電圧VREF(ここでは、電源電圧VDDと接地電圧VSSとの中間電圧)となっている共通ソース線CSPを電源電圧VDDに、共通ソース線CSNを接地電圧VSSにそれぞれ駆動することにより活性化して、ビット線対に発生した微小な電圧信号を増幅する。
イコライズ回路EQは、DRAMで広く用いられているように、3個のNMOSトランジスタN510,N511,N512からなる公知の回路構成である。それぞれのゲートが接続されているビット線イコライズ信号BLEQを、待機時に昇圧電圧VPP(ここで、昇圧電圧VPPは電源電圧VDDよりもNMOSトランジスタのしきい電圧VTNだけ高いか、それよりも高い電圧に設定されている。)に駆動することにより、トランジスタN511とN512を導通させて参照電圧VREFをビット線対に供給すると共に、トランジスタN510を導通させてビット線対を短絡する。
以上のセンスアンプSAとイコライズ回路EQの構成により、公知の開放ビット線構造のDRAMと同様の動作によるエントリの読み書きおよび再書き込み(リフレッシュ)動作を行うことができる。
読み出し回路RCKTは、PMOSトランジスタP520,P521と、NMOSトランジスタN520,N521,N522,N523とで構成される。トランジスタN520,N521のソースもしくはドレインの一方をビット線BL00U,BL00Lにそれぞれ接続し、他方を互いに接続する。この共通ノードをIN50と呼ぶ。また、トランジスタN520,N521のゲート電極を、読み出し起動信号RDL、RDUにそれぞれ接続する。トランジスタN522、N523を符号化データ線ENCL00と接地電圧VSS端子との間で直列接続し、トランジスタP520を電源電圧VDD端子と符号化データ線ENCL00との間に電流経路を形成するように挿入する。
また、トランジスタP521を電源電圧VDD端子と共通ノードIN50との間に電流経路を形成するように挿入する。さらに、トランジスタP520,N522のゲート電極を共通ノードIN50に、トランジスタP521,N523のゲート電極を読み出し起動信号RDにそれぞれ接続する。以上の接続により、トランジスタP520,N522,N523は、符号化データ線ENCL00を駆動するドライバ回路の構成をなす。なお、これらの読み出し系回路(および後述する書き込み系回路ならびにサーチ線駆動用の回路)は、ビット線対BL00U/BL00Lが共に同一の負荷容量となるような回路構成となっている。
このような回路構成において、待機時は、読み出し起動信号RDL,RDU,RDの全てが接地電圧VSSに保持されているので、トランジスタN520,N521,N523がカットオフ状態にあり、ビット線対と共通ノードIN50は切り離される。また、トランジスタP521が導通されて、共通ノードIN50が電源電圧VDDに駆動されることにより、トランジスタP520がカットオフ状態となり、ドライバ回路はハイ・インピーダンス状態となる。
一方、サブアレイSARYU側のエントリを読み出す場合、ビット線対に読み出された微小信号をセンスアンプSAで増幅した後に、読み出し起動信号RDLを接地電圧VSSに保持したまま、接地電圧VSSとなっている読み出し起動信号RD,RDUを昇圧電圧VPPに駆動することにより、トランジスタN521を導通させてビット線BL00Lと共通ノードIN50とを短絡する。また、ドライバ回路を活性化状態とすることにより、ビット線BL00Lと反対極性の電圧信号を符号化データ線ENCL00に出力する。
反対に、サブアレイSARYL側のエントリを読み出す場合、信号RD,RDLを昇圧電圧VPPに駆動することにより、トランジスタN520を導通させてビット線BL00Uと共通ノードIN50とを短絡する。また、ドライバ回路を活性化状態とすることにより、ビット線BL00Uと反対極性の電圧信号を符号化データ線ENCL00に出力する。このような構成と動作により、読み出し動作におけるビット線対の負荷容量のバランスを維持すると共に、エントリと同じ極性の読み出し信号を負荷容量の大きな符号化データ線に高速に読み出すことができる。
書き込み回路WCKTは、NMOSトランジスタN530、N531とで構成される。トランジスタN530,N531のソースもしくはドレインの一方をビット線BL00U,BL00Lにそれぞれ接続し、他方を符号化データ線ENCL00に接続する。また、トランジスタN530,N531のゲートを、書き込み起動信号WTU,WTLにそれぞれ接続する。
このような回路構成においてサブアレイSARYU側にエントリを書き込む場合、ビット線対に読み出された微小信号をセンスアンプSAで増幅した後に、書き込み起動信号WTLを接地電圧VSSに保持したまま、接地電圧VSSとなっている書き込み起動信号WTUを昇圧電圧VPPに駆動することによりトランジスタN530を導通させて、ビット線BL00Uと符号化データ線ENCL00とを短絡する。
反対に、サブアレイSARYL側にエントリを書き込む場合、信号WTLを昇圧電圧VPPに駆動することによりトランジスタN531を導通させて、ビット線BL00Lと符号化データ線ENCL00とを接続する。このような構成と動作により、読み出し動作におけるビット線対の負荷容量のバランスを維持すると共に、開放型ビット線構成のDRAMと同様の書き込み動作が可能となる。
サーチ線駆動回路SCKTは、PMOSトランジスタP540,P541と、NMOSトランジスタN540,N541,N542とで構成される。PMOSトランジスタP540,P541とNMOSトランジスタN540,N541は、所謂クロックド・インバータ型のドライバ回路構成をなす。トランジスタP540,N541のゲート電極を検索起動信号SCEB,SCETにそれぞれ接続し、トランジスタP541,N540のゲート電極を符号化データ線ENCL00に、出力ノードをサーチ線SL00に接続する。NMOSトランジスタN542は、サーチ線SL00と接地電圧VSS端子との間に電流経路を形成するように挿入され、ゲート電極が検索起動信号SCEBに接続される。
このような回路構成において、待機時のサーチ線SL00は、検索起動信号SCEBが電源電圧VDDに保持されているため、トランジスタN542が導通することにより接地電圧VSSに保持される。検索動作が始まると、接地電圧VSSとなっていた検索起動信号SCETを電源電極VDDに、電源電極VDDとなっていた検索起動信号SCEBを接地電圧VSSに駆動することにより、トランジスタN542がカットオフ状態になると共に、ドライバ回路が活性化される。そして、待機時に電源電圧VDDとしていた符号化データ線ENCL00に符号化された検索キーと反対極性の信号が入力されることにより、サーチ線SL00が検索キーに応じた電圧に駆動される。
このような構成と動作により、検索動作におけるサーチ線の駆動時間を短縮し、メモリアレイのサイクルを向上することができる。また、ビット線とサーチ線が符号化情報バスを共有することにより、バス配線の本数を削減できて、チップ面積を抑制することができる。
つぎに、図1のCAMを用いた基本モードの検索動作について説明する。
図6は、図1のCAMにおいて、二つの検索キーD1,D2を基本モードで検索する場合の動作の一例を示す波形図である。本モードの特徴は、二つのバンクBK1,BK2を跨いで一つの検索テーブルを登録し、検索動作を行う点にある。
まず、1サイクル目に、マスタ・クロックMCLKに同期してサーチ・コマンドS1がコマンド信号群CMDを介して入力され、サーチ・イネーブル信号SCEが活性化される。これに応じて、CAM制御回路CAMCTL1は、マスタ・クロックMCKLを分周したデータ・クロックDCLKを発生することにより、この立ち上がりエッジに同期して、検索キーD1がデータ入出力回路DIOおよび符号化回路群ENCBKを介して符号化情報バスENCBSに入力される。
同時に、CAM制御回路CAMCTL1は、パルス信号をバンク制御クロックBCLK1,BCLK2にそれぞれ発生する。これらのバンク制御クロックとサーチ・イネーブル信号SCEに応じて、バンクBK1,BK2の各メモリ制御回路MCは、サーチ・イネーブル信号SCET(1),SCEB(1),SCET(2),SCEB(2)をそれぞれ活性化させることにより、検索キーD1がメモリアレイに入力される。すなわち、図5に示したサーチ線駆動回路SCKTにより、サーチ線SL00(1),SL00(2)が検索キーD1の対応するビットに応じた電圧に駆動されて、各バンクで検索動作が行われる。なお、括弧内の数字はバンクBK1,BK2の添え字に対応するものである。
次の2サイクル目では、1サイクル目に引き続いてサーチ・コマンドS2が入力され、サーチ・イネーブル信号SCEが活性状態に保持される。また、データ・クロックDCLKの立ち下がりエッジに同期して、検索キーD2が符号化回路群ENCBKを介して符号化情報バスENCBSに入力される。また、CAM制御回路CAMCTL1が、サーチ・イネーブル信号SCEに応じて短いパルス信号を再びバンク制御クロックBCLK1,BCLK2にそれぞれ発生することにより、検索キーD2がバンクBK1,BK2にそれぞれ入力される。すなわち、2回目の検索動作が行われる。
同図では、バンクBK1,BK2がサイクル時間tARYで検索動作を行い、この結果に応じたマッチ・アドレスA1、A2が、検索キーD1、D2の入力から数えて4サイクル後に出力されるものと仮定している。したがって、5サイクル目に、CAM制御回路CAMCTL1においてマスタ・クロックMCKLを分周したアドレス・クロックACLKが発生し、その立ち上がりエッジに同期してマッチ・アドレスA1がRAM制御回路RAMCTLから出力される。更に、6サイクル目では、このアドレス・クロックACLKの立ち下がりエッジに同期してマッチ・アドレスA2が、RAM制御回路RAMCTLから出力される。以上の動作により、大規模なテーブル検索を一つのCAMで実現することができる。
つぎに、図1のCAMを用いたインターリーブ・モードの検索動作について説明する。
図7は、図1のCAMにおいて、四つの検索キーD1,D2,D3,D4をインターリーブ・モードで検索する場合の動作の一例を示す波形図である。本動作の特徴は、バンクBK1,BK2に同じ検索テーブルを登録し、異なる検索キーを交互に入力して検索動作を行う点にある。
まず、1サイクル目に、マルチ・バンク・イネーブル信号MBKEを立ち上げて検索動作をインターリーブ・モードに設定する。同時に、マスタ・クロックMCLKに同期してサーチ・コマンドS1がコマンド信号群CMDを介して入力され、サーチ・イネーブル信号SCEが活性化される。これらの信号に応じて、CAM制御回路CAMCTL1は、マスタ・クロックMCKLを分周したデータ・クロックDCLKを発生する。この立ち上がりエッジ同期して、検索キーD1がデータ入出力回路DIOおよび符号化回路群ENCBKを介して符号化情報バスENCBSに入力される。
CAM制御回路CAMCTL1は、さらに、バンク制御クロックBCLK1を発生する。このバンク制御クロックとサーチ・イネーブル信号SCEに応じて、バンクBK1のメモリ制御回路MCはサーチ・イネーブル信号SCET(1),SCEB(1)をそれぞれ活性化させることにより、検索キーD1がメモリアレイに入力される。すなわち、図5に示したサーチ線駆動回路SCKTにより、サーチ線SL00(1)が検索キーD1の対応するビットに応じた電圧に駆動されて、バンクBK1で検索動作が行われる。
次に、マスタ・クロックMCLKの立ち下がりエッジに同期してサーチ・コマンドS2が入力され、データ・クロックDCLKの立ち下がりエッジに同期して、検索キーD2がデータ入出力回路DIOおよび符号化回路群ENCBKを介して符号化情報バスENCBSに入力される。また、CAM制御回路CAMCTL1においてサーチ・イネーブル信号SCEに応じたパルス信号がバンク制御クロックBCLK2に発生され、バンクBK2内のメモリ制御回路MCにおいてサーチ・イネーブル信号SCEに応じてサーチ・イネーブル信号SCET(2),SCEB(2)がそれぞれ活性化されることにより、検索キーD2がバンクBK2に入力される。すなわち、図5に示したサーチ線駆動回路SCKTにより、サーチ線SL00(2)が検索キーD2の対応するビットに応じた電圧に駆動されて、バンクBK2で検索動作が行われる。
続く2サイクル目には、1サイクル目と同様に検索キーD3,D4が、バンクBK1,BK2へ交互に入力されて、検索動作が行われる。同図では、図6と同様に、検索キーの入力から数えて4サイクル後にマッチ・アドレスが出力されると仮定している。したがって、5サイクル目以降にCAM制御回路CAMCTL1によってマスタ・クロックMCLKと同じ周期で発生されたアドレス・クロックACLKの立ち上がりと立ち下がりエッジに同期して、マッチ・アドレスA1,A2,A3,A4がそれぞれRAM制御回路RAMCTLから出力される。
以上の動作により、検索動作サイクル時間がtARYのバンクBK1,BK2を用いて、図6の動作の倍の速さで検索キーを受信して検索処理を行うCAMを実現することができる。ただし、本動作を実現するためには、二つのバンクに同一の検索テーブルを登録するので、メモリ容量が半減してしまう。しかし、前述した非特許文献1に示されているように、エントリを圧縮して記憶することができるOne−hot−spotブロック符号化方式と高集積化に優れた汎用DRAMセル・ベースのメモリセルとの組合せによるCAMは、メモリ容量が従来のターナリCAMよりも倍増されるので、メモリ不足を招く恐れが小さい。
また、インターリーブ・モードによる検索動作では、同時に二つのバンクが活性化されるために消費電力が増加する問題がある。しかし、One−hot−spotブロック符号化方式を用いることによって、エントリを圧縮して記憶することができるので、1バンク内で活性化されるメモリ領域を従来のターナリCAMよりも狭くすることができ、消費電力を抑えることが可能である。したがって、本発明は、特にOne−hot−spotブロック符号化方式によるメモリアレイを用いたCAMに適用した場合に好適となり、これによって、大容量化と低電力化の観点で、複数バンクのインターリーブ動作によりネットワークの回線速度向上のトレンドに応じた高速CAMを実現することが可能となる。
なお、以上では検索動作について説明してきたが、読み出し動作や書き込み動作においても、リード・コマンドやライト・コマンドをコマンド信号群CMDから入力することによりリード・イネーブル信号RDEやライト・イネーブル信号WTEを発生し、さらにCAM制御回路CAMCTL1からバンク制御クロックBCLK1,BCLK2を発生してバンクBK1,BK2を活性化することは、容易に理解することができる。また、インターリーブ・モードによって、一方のバンクで検索動作を行いながら、他方のバンクにおいてリフレッシュ動作を行うことができることも、容易に理解することができる。この場合、リフレッシュ動作による検索速度低下のペナルティを緩和することも可能となる。
以上、本実施の形態1のCAMを用いることによる代表的な効果を纏めると次のようになる。
まず、図1、図4、図5のCAMの構成による第一の効果は、同一バンク内で所謂開放型ビット線構成のセンス方式とすることにより、エントリを正しく読み書き及び再書き込み(リフレッシュ)することが可能になる点にある。第二の効果は、ビット線とサーチ線が読み書き検索回路を介して共通の符号化データ線に接続されることにより、符号化情報バスの配線本数を削減することができ、チップ面積を抑制することが可能になる点にある。
第三の効果は、図6および図7の動作のように、マルチ・バンク・イネーブル信号MBKEと二つのバンクを用いて、用途に応じて検索動作モードを切り替えることができる点にある。すなわち、基本モードでは、二つのバンクを跨いで大規模な検索テーブルを登録することにより、大容量CAMを実現することができる。一方、インターリーブ・モードでは、二つのバンクに同一のエントリを登録し、異なる検索キーを交互に入力するすることにより、バンクの検索動作サイクル時間よりも短いサイクル時間で検索キーを受信、検索処理する高速なCAMを実現することが可能となる。また、一方のバンクで検索動作を行いながら、他方のバンクでリフレッシュ動作を行うことが可能となる。
なお、バンク数は二つに限らず、さらに多くのバンクをそれぞれ異なる位相のクロックに同期させて各種動作を行うことも可能であることは、容易に理解できる。この場合、さらに高い周波数で検索キーを受信して、検索処理を行う高速CAMを実現することが可能となる。
(実施の形態2)
本実施の形態2では、実施の形態1で説明したCAMの別な構成例および動作例について説明する。
図8は、本発明の実施の形態2の半導体装置において、それに含まれるCAMの要部ブロックの基本構成例を示すブロック図である。この構成の特徴は、バンク化されたメモリアレイが階層構造になっており、複数のバンクからなるメイン・バンクを二つ有するメモリアレイ構成を用いて、データ・バスDQのバス幅よりも広い検索キーの検索動作を行う点にある。以下では、図8の構成について、図1に示した構成と異なる点に注目して説明を行う。
CAM制御回路CAMCTL8は、本発明によるCAMに接続されたコントローラ(または、ネットワーク・プロセッサや検索エンジンなどと呼ばれる制御回路)が発生するマスタ・クロックMCLKとマルチ・バンク・イネーブル信号MBKEとを受信すると共に、リード・イネーブル信号RDE、ライト・イネーブル信号WTE、サーチ・イネーブル信号SCEに応じて、バンク制御クロックBCLKA1,BCLKB1,BCLKA2,BCLKB2、データ・クロックDCLK、コンテント・アドレス・クロックACLKを発生する。また、グローバルIO制御クロックGCLKWS,GCLKR、マルチ・バンク・イネーブル信号GMBKENを発生する。
デマルチプレクサWSDMUXは、符号化回路群ENCBKで符号化されたエントリおよび検索キーを符号化情報バスENCBSを介して受信して、グローバルIO制御クロックGCLKWSおよびマルチ・バンク・イネーブル信号GMBKENに応じて二つのグローバルIO(GIOA、GIOB)に適宜分配し、後述のメイン・バンクに転送する。反対に、マルチプレクサRMUXは、メイン・バンクから読み出したエントリを、グローバルIO制御クロックGCLKRおよびマルチ・バンク・イネーブル信号GMBKENに応じて二つのグローバルIO(GIOA、GIOB)から適宜受信し、符号化情報バスENCBSを介して復号回路群DECBKに出力する。
メイン・バンクMBK1,MBK2のそれぞれは、バンクBKA,BKBとメイン・プライオリティ・エンコーダMPEとで構成される。バンクBKA,BKBは、図1に示したバンクBK1、BK2とそれぞれ同じ構成である。メイン・バンクMBK1内のバンクBKAは、バンク制御信号BCLKA1に同期して、グローバルIO(GIOA)との間で情報の授受を行う。メイン・バンクMBK1内のバンクBKBは、バンク制御信号BCLKB1に同期して、グローバルIO(GIOB)との間で情報の授受を行う。メイン・バンクMBK2内のバンクBKAは、バンク制御信号BCLKA2に同期して、グローバルIO(GIOA)との間で情報の授受を行う。メイン・バンクMBK2内のバンクBKBは、バンク制御信号BCLKB2に同期して、グローバルIO(GIOB)との間で情報の授受を行う。
そして、これらのバンクで構成されるメイン・バンクMBK1,MBK2は、リード・イネーブル信号RDE、ライト・イネーブル信号WTE、サーチ・イネーブル信号SCEに応じた動作を行う。メイン・プライオリティ・エンコーダMPEは、サブ・マッチ・アドレス・バスSMABSA,SMABSBを介して受信したバンクBKA,BKB内のプライオリティ・エンコーダPEの出力に応じたマッチ・アドレスをマッチ・アドレス・バスMABSに発生する。
つぎに、図8のCAMを用いた基本モードの検索動作について説明する。
図9は、図8のCAMにおいて、データ・バスDQのバス幅よりも広い2kビット幅の二つの検索キーを基本モードで検索する場合の動作の一例を示す波形図である。
まず、1サイクル目に、マスタ・クロックMCLKに同期してサーチ・コマンドS1Aがコマンド信号群CMDを介して入力され、サーチ・イネーブル信号SCEが活性化される。同時に、マスタ・クロックMCLKと同じ周期のデータ・クロックDCLKの立ち上がりエッジに同期して、第一の検索キーの前半ビットD1Aがデータ入出力回路DIOおよび符号化回路群ENCBKを介して符号化情報バスENCBSに入力される。
また、マルチ・バンク・イネーブル信号GMBKENが非活性状態で、マスタ・クロックMCLKと同じ周期のグローバルIO制御クロックGCLKWSが立ち上がることにより、検索キーがデマルチプレクサWSDMUXからグローバルIO(GIOA)に転送される。さらに、CAM制御回路CAMCTL8において、サーチ・イネーブル信号SCEに応じたパルス信号がバンク制御クロックBCLKA1,BCLKA2にそれぞれ発生され、メイン・バンクMBK1,MBK2内のバンクBKAにおけるメモリ制御回路MCにおいて、サーチ・イネーブル信号SCEに応じてサーチ・イネーブル信号SCET(A1)、SCET(A2)がそれぞれ活性化されることにより(簡単のため、サーチ・イネーブル信号SCEB(A1)、SCEB(A2)は省略)、検索キーがメイン・バンクMBK1およびMBK2内のバンクBKAにそれぞれ入力される。
すなわち、図5に示したサーチ線駆動回路SCKTにより、サーチ線SL00(A1),SL00(A2)が検索キーの対応するビットに応じた電圧にそれぞれ駆動されて、メイン・バンクMBK1,MBK2内のバンクBKAで検索動作がそれぞれ同時に行われる。なお、括弧内の英数字はメイン・バンクおよびバンクの添え字に対応するものであり、バンクの位置を示す。例えば、SCET(A1)は、メイン・バンクMBK1内のバンクBKAにおけるサーチ・イネーブル信号を意味する。
次に、マスタ・クロックMCLKの立ち下がりエッジに同期してサーチ・コマンドS1Bが入力され、データ・クロックDCLKの立ち下がりエッジに同期して、第一の検索キーの後半ビットD1Bがデータ入出力回路DIOおよび符号化回路群ENCBKを介して符号化情報バスENCBSに入力される。また、マルチ・バンク・イネーブル信号GMBKENが非活性状態で、マスタ・クロックMCLKと同じ周期のグローバルIO制御クロックGCLKWSが立ち下がることにより、検索キーがデマルチプレクサWSDMUXからグローバルIO(GIOB)に転送される。
さらに、CAM制御回路CAMCTL8において、サーチ・イネーブル信号SCEに応じたパルス信号がバンク制御クロックBCLKB1,BCLKB2にそれぞれ発生され、さらにメイン・バンクMBK1,MBK2内のバンクBKBにおけるメモリ制御回路MCにおいてサーチ・イネーブル信号SCEに応じたサーチ・イネーブル信号SCET(B1)、SCET(B2)がそれぞれ活性化されることにより(簡単のため、サーチ・イネーブル信号SCEB(B1)、SCEB(B2)は省略)、検索キーがメイン・バンクMBK1,MBK2内のバンクBKBにそれぞれ入力される。
すなわち、図5に示したサーチ線駆動回路SCKTにより、サーチ線SL00(B1)、SL00(B2)が検索キーの対応するビットに応じた電圧にそれぞれ駆動されて、メイン・バンクMBK1,MBK2内のバンクBKBで検索動作がそれぞれ行われる。
続く2サイクル目には、1サイクル目と同様に第二の検索キーが、前半ビットD2Aと後半ビットD2Bとに分割して入力され、メイン・バンクMBK1,MBK2において検索動作がそれぞれ行われる。同図では、図6と同様に、検索キーの入力から数えて4サイクル後にマッチ・アドレスが出力されると仮定しており、5サイクル目以降にマスタ・クロックMCLKを倍周したアドレス・クロックACLKの立ち上がりと立ち下がりエッジに同期してマッチ・アドレスA1,A2が、それぞれRAM制御回路RAMCTLから出力される。以上の構成と動作により、ビット幅の広い検索キーの検索動作を、図6に示した動作と同じ6サイクルで行うことができる。
つぎに、図8のCAMを用いたインターリーブ・モードの検索動作について説明する。
図10は、図8のCAMにおいて、2kビット幅の四つの検索キーをインターリーブ・モードで検索する場合の動作の一例を示す波形図である。本動作の特徴は、マスタ・クロックMCLKのサイクル時間を、メモリアレイの検索動作サイクル時間tARYよりも短く(ここではtARY/2)に設定して、高速に検索キーを受信して検索処理を行うことにある。
まず、1サイクル目に、マルチ・バンク・イネーブル信号MBKEを活性化して、検索動作をインターリーブ・モードに設定し、CAM制御回路CAMCTL8を用いてマスタ・クロックMCLKと同じ周期のパルス信号をデータ・クロックDCLKとグローバルIO制御クロックGCLKWSにそれぞれ発生する。また、マルチ・バンク・イネーブル信号MBKEに応じて、マルチ・バンク・イネーブル信号GMBKENが立ち上がる。
さらに、マスタ・クロックMCLKに同期してサーチ・コマンドS1Aがコマンド信号群CMDを介して入力され、サーチ・イネーブル信号SCEが活性化される。同時に、データ・クロックDCLKの立ち上がりエッジに同期して、第一の検索キーの前半ビットD1Aがデータ入出力回路DIOおよび符号化回路群ENCBKを介して符号化情報バスENCBSに入力され、マルチ・バンク・イネーブル信号GMBKENが活性状態で、グローバルIO制御クロックGCLKWSが立ち上がることにより、検索キーが符号化回路群ENCBKからデマルチプレクサWSDMUXを介してグローバルIO(GIOA)に転送される。
さらに、CAM制御回路CAMCTL8において、サーチ・イネーブル信号SCEとマルチ・バンク・イネーブル信号MBKEに応じたパルス信号がバンク制御クロックBCLKA1に発生され、メイン・バンクMBK1内のバンクBKAにおけるメモリ制御回路MCにおいてサーチ・イネーブル信号SCEに応じてサーチ・イネーブル信号SCET(A1)が活性化されることにより(簡単のため、サーチ・イネーブル信号SCEB(A1)は省略)、検索キーがメイン・バンクMBK1内のバンクBKAに入力される。すなわち、図5に示したサーチ線駆動回路SCKTにより、サーチ線SL00(A1)が検索キーの対応するビットに応じた電圧に駆動されて、メイン・バンクMBK1内のバンクBKAで検索動作が行われる。
次に、マスタ・クロックMCLKの立ち下がりエッジに同期してサーチ・コマンドS1Bが入力され、データ・クロックDCLKの立ち下がりエッジに同期して、第一の検索キーの後半ビットD1Bがデータ入出力回路DIOおよび符号化回路群ENCBKを介して符号化情報バスENCBSに入力され、マルチ・バンク・イネーブル信号GMBKENが活性状態で、マスタ・クロックMCLKと同じ周期のグローバルIO制御クロックGCLKWSが立ち下がることにより、検索キーがデマルチプレクサWSDMUXからグローバルIO(GIOB)に転送される。
さらに、CAM制御回路CAMCTL8において、サーチ・イネーブル信号SCEに応じたパルス信号がバンク制御クロックBCLKB1に発生され、さらにメイン・バンクMBK1内のバンクBKBにおけるメモリ制御回路MCにおいて、サーチ・イネーブル信号SCEに応じてサーチ・イネーブル信号SCET(B1)が活性化されることにより(簡単のため、サーチ・イネーブル信号SCEB(B1)は省略)、検索キーがメイン・バンクMBK1内のバンクBKBに入力される。すなわち、サーチ線SL00(B1)が検索キーの対応するビットに応じた電圧に駆動されて、メイン・バンクMBK1内のバンクBKBで検索動作が行われる。
続く2サイクル目には、1サイクル目と同様に第二の検索キーが前半ビットD2Aと後半ビットD2Bとに分割して入力され、バンク制御クロックBCLKA2,BCLKB2が順次立ち上がるのに応じて、メイン・バンクMBK2内のバンクBKA,BKBにおいて検索動作が行われる。
以上の動作を3サイクル目から4サイクル目にかけて行うことにより、第三、第四の検索キーがメイン・バンクMBK1、MBK2でそれぞれ検索される。同図では、検索キーの入力からマッチ・アドレスが出力されるまでの時間を図6と同様と仮定している。前述したように、マスタ・クロックMCLKの周波数がバンクの検索動作周波数の倍になっているので、図6に示した動作時間に同等の8サイクル後に、CAM制御回路CAMCTL8においてマスタ・クロックMCLKを分周して発生したアドレス・クロックACLKの各エッジに同期してマッチ・アドレスA1,A2,A3,A4が、それぞれRAM制御回路RAMCTLから出力される。
以上の構成と動作により、メモリアレイの検索動作サイクル時間tARYよりも短いサイクル時間でビット幅の広い検索キーを受信して検索動作を行うことができる。また、グローバルIOがチップの広範囲にわたって配線されるために負荷容量が増加し、グローバルIOの動作サイクル時間短縮が困難になった場合においても、二つのグローバルIOを交互に使うことにより、検索キーおよびエントリを高速にバンクへ転送して検索動作を行うことができる。
なお、バンク数は二つに限らず、さらに多くのバンクをそれぞれ異なる位相のクロックに同期させて各種動作を行うことも可能であることは、実施の形態1と同様に、容易に理解できる。この場合、さらに高い周波数で検索キーを受信して、検索処理を行う高速CAMを実現することが可能となる。また、図8では、二つのグローバルIOを用いて符号化された情報をチップ内に分配する構成を示した。しかし、グローバルIOの数はこの限りではない。グローバルIOの動作サイクル時間が、検索キーの受信動作に要するサイクル時間よりも短いのであれば、一つのグローバルIOとすることもでき、チップ面積を抑制することが可能となる。
(実施の形態3)
本実施の形態3では、実施の形態1および実施の形態2で説明したCAMに用いられるサブアレイの別な構成と動作の例について説明する。図11は、本発明による実施の形態3の半導体装置において、それに含まれるCAMの図2とは異なるメモリアレイ構成例を示す回路ブロック図である。以下、図2のメモリアレイ構成との違いに注目して説明を行う。
図11に示すメモリアレイ構成の特徴は、図2および図3に示した通常のメモリブロックに加え、更にそれと同じ構成のダミー・メモリブロックMBD0,MBD1,…をダミー・ワード線WLD上に配置して、センスアンプ起動タイミングを発生する点にある。ダミー・メモリブロックMBD0,MBD1,…内のダミー・サブマッチ線SMLD0,SMLD1,…とダミー・メインマッチ線MMLDとの間には、対応するダミー・サブマッチ判定回路SMDD0,SMDD1,…がそれぞれ挿入される。
また、ダミー・メモリブロックMBD0,MBD1,…内のメモリセルDMC0,DMC1,DMC2,DMC3の各々は、ダミー・ワード線WLDに接続され、各メモリセル内のトランジスタT312,T313のゲート電極が接地電圧VSSに固定される。ダミー・メインマッチ判定回路MMDDは、ダミー・メインマッチ線MMLDの電圧変化に応じたパルス信号をセンスアンプ・イネーブル信号SAEB,SAETに発生する。そして、正規のメモリブロックMB00,MB01,…に対応するメインマッチ判定回路群MMDB11は、上記のセンスアンプ・イネーブル信号SAEB,SAETによって制御される。
図12は、図11におけるダミー・サブマッチ判定回路、ダミー・メインマッチ判定回路、メインマッチ判定回路の詳細な構成例を示す回路図である。同図のダミー・サブマッチ判定回路SMDD0,SMDD1,…は、サブマッチ判定回路SMD00,SMD01,…と同じトランジスタを有し、ダミー・サブマッチ判定回路SMDD0以外のダミー・サブマッチ判定回路SMDD1,…において、トランジスタT202のゲート電極がダミー・サブマッチ線から切り離されて接地されている構成となっている。また、トランジスタT201は、ゲート電極が昇圧電圧VPPに固定されているために導通しており、ダミー・サブマッチ線SMLD0,SMLD1、…は常時、プリチャージ電圧VPCに駆動されている。
ここで、プリチャージ電圧VPCは、アレイ電圧VDLよりは低いが、トランジスタT202が十分導通する電圧レベルに設定されている。このため、ダミー・サブマッチ判定回路SMDD0内のトランジスタT202が導通し、それ以外のダミー・サブマッチ判定回路内のトランジスタT202はカットオフ状態となっている。すなわち、一つのメモリブロック(ここではダミー・メモリブロックMBD0)のみが不一致状態となっているエントリを仮定し、それに対応する信号をダミー・メインマッチ線MMLDに発生する。なお、アレイ電圧VDLは、実施の形態1で述べた電源電圧VDDよりも低い電圧に設定されている。
ダミー・メインマッチ判定回路MMDDは、PMOSトランジスタT211と、インバータ回路IV21,IV22,IV23と、NAND回路ND21と、遅延回路DLYで構成される。トランジスタT211は、そのゲート寸法がサブマッチ判定回路内のトランジスタT202よりも大きな駆動能力となるように設定されており、ゲート電極に接続された検索イネーブル信号(検索イネーブル信号線)SEBに応じてダミー・メインマッチ線MMLDを高速に充電する。
インバータ回路IV21は、入力端子に接続されたダミー・メインマッチ線MMLDの電圧変化に応じた信号をノードIN20に出力する。インバータ回路IV22,IV23、NAND回路ND21および遅延回路DLYは、ノードIN20の電圧変化に応じてワン・ショット・パルスを発生する回路構成を実現する接続となっている。遅延回路DLYは、例えば偶数個のインバータ回路を従属接続した構成であり、ノードIN20の信号をインバータ回路IV22で反転した後に遅延させて、NAND回路ND21の一方の入力端子に入力する。NAND回路ND21の他方の入力端子には、ノードIN20が直接接続され、NAND回路ND21の出力端子からは、センスアンプ・イネーブル信号SAEBが発生する。また、センスアンプ・イネーブル信号SAEBをインバータ回路IV23で反転して、センスアンプ・イネーブル信号SAETを発生する。
メインマッチ判定回路MMD110は、図11のメインマッチ判定回路群MMDB11を構成する複数のメインマッチ判定回路の一つであり、PMOSトランジスタT221,T222と、クロックド・インバータ回路CIV21と、ラッチ回路LAで構成される。トランジスタT221は、ダミー・メインマッチ判定回路MMDD内におけるトランジスタT211と同じゲート寸法に設定されており、ゲート電極に接続された検索イネーブル信号SEBに応じてメインマッチ線MML0を高速に充電する。
クロックド・インバータ回路CIV21は、図3に示したセンスアンプSAに相当するものであり、センスアンプ・イネーブル信号SAET,SAEBによって活性化され、メインマッチ線MML0の電圧に応じた信号をヒット信号ノードHIT0に出力する。トランジスタT222は、ソース電極とドレイン電極がアレイ電圧VDL端子とヒット信号ノードHIT0にそれぞれ接続される。また、ゲート電極がセンスアンプ・イネーブル信号SAETに接続され、待機時にヒット信号ノードHIT0をアレイ電圧VDLに駆動する。ヒット信号ノードHIT0の電圧変化は、ラッチ回路LAにより保持される。
このような構成のメモリアレイにおいて、検索動作は以下のように行われる。
はじめに、図13に従って、検索キーとエントリとが一致する場合の検索動作を説明する。ここでは、説明を簡単にするために、図11に示したメモリアレイが、1本のワード線あたり2つのメモリブロックを有する構成であるものと仮定する。また、注目するワード線WL0上のメモリブロックには、1〜3(10進数)の範囲に対応するエントリが記憶されており、3(10進数)に対応する検索キーとの比較が行われるものと仮定する。
したがって、図11では、2ビット毎にブロック符号化されたエントリ“0001 1110”に応じて、メモリブロックMB00内の記憶ノードN00およびメモリブロックMB01内の記憶ノードN11〜N13が接地電圧VSS、メモリブロックMB00内のN01〜N03およびメモリブロックMB01内の記憶ノードN10が電源電圧VDDに保持されている。さらに、ダミー・ワード線WLD上のメモリブロックにおける記憶ノードは、全て接地電圧VSSとなっているものと仮定する。
まず、待機状態において、プリチャージ起動信号線PCを昇圧電圧VPPに駆動することにより、サブマッチ判定回路内のトランジスタT201が導通状態にあるので、サブマッチ線SML00、SML01がプリチャージ電圧VPCにそれぞれ駆動される。ここで、プリチャージ電圧VPCは、前述したように、サブマッチ判定回路内のトランジスタT202が十分導通する程度の電圧レベルであるので、メインマッチ線MML0が接地電圧VSSに駆動される。
また、ダミー・サブマッチ判定回路内のトランジスタT201は、ゲート電極に昇圧電圧VPPが入力されているので導通状態にあり、ダミー・サブマッチ線SMLD0,SMLD1が常時、プリチャージ電圧VPCにそれぞれ駆動される。このため、ダミー・サブマッチ判定回路SMDD0内のトランジスタT202が導通しているので、ダミー・メインマッチ線MMLDが接地電圧VSSに駆動される。
検索動作が始まると、昇圧電圧VPPとなっているプリチャージ起動信号線PCを接地電圧VSSに駆動して、サブマッチ線のプリチャージを止めてから、接地電圧VSSとなっているサーチ線を検索キーに応じてアレイ電圧VDLに駆動する。同図では、符号化された検索キー“0001 1000”に応じて、サーチ線SL00〜SL02,SL11〜SL13を接地電圧VSSにそれぞれ保持したまま、接地電圧VSSとなっているサーチ線SL03,SL10をアレイ電圧VDLにそれぞれ駆動する例が示されている。
ここで、メモリブロックMB00内のメモリセルDMC3とメモリブロックMB01内のメモリセルDMC0において、トランジスタT312,T313が共に導通するので、プリチャージ電圧VPCとなっているサブマッチ線SML00,SML01がそれぞれ放電される。したがって、サブマッチ判定回路SMD00,SMD01内のトランジスタT202がカットオフされる。この状態で、アレイ電圧VDLとなっている検索イネーブル信号線SEBを接地電圧VSSに駆動すると、ダミー・メインマッチ判定回路MMDDとメインマッチ判定回路MMD110内のトランジスタT211が導通するので、接地電圧VSSとなっているダミー・メインマッチ線MMLDおよびメインマッチ線MML0がアレイ電圧VDLに向かって高速に充電される。
この後、ダミー・メインマッチ線MMLDおよびメインマッチ線MML0が参照電圧VREFよりも十分高い電圧まで充電されたタイミングで、接地電圧VSSとなっている検索イネーブル信号SEBをアレイ電圧VDLに駆動することによりトランジスタT211をカットオフ状態として、充電を停止する。次いで、ダミー・サブマッチ判定回路SMDD0におけるトランジスタT202が導通しているので、ダミー・メインマッチ線MMLDの電圧が接地電圧VSSに向けて低下していく。
ここで、ダミー・メインマッチ判定回路MMDDは、ダミー・メインマッチ線MMLDの電圧が参照電圧VREFを下回った際のタイミングを検出し、このタイミングに基づいてメインマッチ判定回路MMD110内のクロックド・インバータ回路CIV21(センスアンプSA)を活性化すると共に、その活性化する時間幅を決定する。
すなわち、図12のダミー・メインマッチ判定回路MMDDは、ダミー・メインマッチ線MMLDの電圧変化に応じたパルス信号を、インバータ回路IV21を介してノードIN20に発生し、更に、NAND回路ND21を介してアレイ電圧VDLとなっているセンスアンプ・イネーブル信号SAEBを接地電圧VSSに、接地電圧VSSとなっているセンスアンプ・イネーブル信号SAETをアレイ電圧VDLにそれぞれ駆動する。これによって、メインマッチ判定回路MMD110におけるトランジスタT222がカットオフ状態となり、クロックド・インバータCIV21が活性化される。ここで、メインマッチ線MML0は高電圧に保持されているので、アレイ電圧VDLとなっているヒット信号ノードHIT0は接地電圧VSSに放電される。
その後、ダミー・メインマッチ判定回路MMDDは、ワン・ショット・パルス発生回路を用いて、接地電圧VSSとなっているセンスアンプ・イネーブル信号SAEBをアレイ電圧VDLに、アレイ電圧VDLとなっているセンスアンプ・イネーブル信号SAETを接地電圧VSSにそれぞれ駆動して、クロックド・インバータCIV21を不活性状態にする。また、トランジスタT222が導通することによりヒット信号ノードHITがアレイ電圧VDLに駆動される。さらに、接地電圧VSSとなっているプリチャージ起動信号線PCを昇圧電圧VPPに駆動することにより、サブマッチ線SML00,SML01をプリチャージ電圧VPCに、メインマッチ線MML0を接地電圧VSSに駆動して、再び待機状態に戻る。
次に、図14に従って、検索キーとエントリとが一致しない場合の検索動作を説明する。ここでは、図13と同様に、ワード線WL0上のメモリブロックには、1〜3(10進数)の範囲に対応するエントリ(“0001 1110”)が記憶されており、0(10進)に対応する検索キーとの比較が行われるものと仮定する。なお、プリチャージ動作や各信号の駆動タイミングは図13の説明と同じであるので、以下では省略する。
検索動作が始まると、符号化された検索キー“0001 0001”に応じて、サーチ線SL01〜SL03,SL11〜SL13を接地電圧VSSにそれぞれ保持したまま、接地電圧VSSとなっているサーチ線SL00,SL10をアレイ電圧VDLに駆動する。ここで、メモリブロックMB01内のメモリセルDMC0において、トランジスタT312,T313が共に導通するので、プリチャージ電圧VPCとなっているサブマッチ線SML01が放電される。
しかし、メモリブロックMB00において導通状態となるトランジスタは、メモリセルDMC0内のトランジスタT312とメモリセルDMC1〜DMC3内のトランジスタT313であるので、いずれのメモリセルにおいてもサブマッチ線SML00と接地電極との間に電流経路が形成されない。すなわち、サブマッチ線SML00は、プリチャージ電圧VPCに保たれ、サブマッチ判定回路SMD00内のトランジスタT202は導通状態に保持される。
したがって、検索イネーブル信号線SEBの活性化に伴いトランジスタT211から注入された電荷は、ダミー・メインマッチ線MMLDと同様にメインマッチ線MML0からトランジスタT202を経て放電されるので、ダミー・メインマッチ線MMLDとメインマッチ線MML0の電圧はセンスアンプの論理しきい値VREFより低いレベルに抑えられる。したがって、前述したセンスアンプ・イネーブル信号SAET,SAEBによってメインマッチ判定回路MMD110内のクロックド・インバータCIV21が活性化されても、ヒット信号ノードHIT0はアレイ電圧VDLに保持される。
以上の構成と動作により、図11および図12に示したメモリアレイは、次の三つの効果を得る。第一に、メインマッチ判定回路MMD110内のPMOSトランジスタT211のゲート寸法を、サブマッチ判定回路内のNMOSトランジスタT202よりも大きな駆動能力となるように設定して、先にメインマッチ線を高電圧に駆動してからトランジスタT202で放電することにより、検索キーとエントリとの比較結果に応じた電圧信号をメインマッチ線に高速に発生することが可能となる。
第二に、ダミー・メモリブロックMBD0,MBD1,…、ダミー・サブマッチ判定回路SMDD0,SMDD1,…、およびダミー・メインマッチ判定回路MMDDを配置して、一つのメモリブロックが不一致だった場合のエントリに対応した信号をダミー・メインマッチ線MMLDに発生することにより、不一致エントリの中でも最も信号の発生に時間を要する動作に応じたタイミングでセンスアンプ・イネーブル信号SAET,SAEBを発生することができる。このように、センスアンプ・イネーブル信号の起動タイミングを最適化することによって、起動タイミングが早すぎることによる消費電力の増加や起動タイミングが遅すぎることによる動作速度の低下を抑制することが可能となる。
第三に、クロックド・インバータCIV21の出力を、デフォルトで不一致信号レベルとしておくことで、検索動作における消費電力を大幅に抑制することが可能となる。すなわち、通常、一致エントリは検索テーブルの極僅かしか存在せず、その数少ない一致エントリに対応するクロックド・インバータCIV21のみが出力を反転させる動作を行う。したがって、実使用上の消費電力は、一致エントリに対応するクロックド・インバータCIV21とそれに対応するラッチ回路LAに限定される。
なお、図12では、ダミー・メインマッチ線MMLDを放電するダミー・サブマッチ判定回路をダミー・メインマッチ判定回路MMDDに一番近いダミー・サブマッチ判定回路SMDD0とする構成を示した。しかし、ダミー・メインマッチ線MMLDを放電するダミー・サブマッチ判定回路の配置はこれに限らず、種々の配置が可能である。一般に、信号の伝播時間は送信部(または駆動回路。ここでは、ダミー・サブマッチ判定回路。)から受信部(ここでは、ダミー・メインマッチ判定回路MMDD。)の距離に依存するので、例えば、ダミー・メインマッチ判定回路MMDDの最遠端に位置するダミー・サブマッチ判定回路を、ダミー・メインマッチ線MMLDを放電するダミー・サブマッチ判定回路としすることによって、センスアンプ・イネーブル信号SAET,SAEBの起動タイミング精度を高めることができる。
以上、本発明者によってなされた発明を発明の実施の形態に基づき具体的に説明したが、最後に本発明によるCAMを適用したネットワーク・ルータNRの構成例について、図15に従い説明する。同図では、説明を簡単にするために、要部ブロックとしてルータ・マネージャ群RMB、クロスバ・スイッチ群CBSWB、およびパケット・プロセッサ・ユニットPPU0〜PPUyが示されている。
ルータ・マネージャ群RMBは、複数の中央演算処理装置(CPU)で構成され、ネットワーク・ルータ全体の設定、制御を行う。クロスバ・スイッチ群CBSWBは、処理するパケットの転送経路に応じて所望のパケット・プロセッサ・ユニット同士を接続する。パケット・プロセッサ・ユニットPPU0〜PPUyは、対応するネットワークIPN0〜IPNyとの間でパケットの授受をそれぞれ行うブロックである。
なお、130は、本ネットワーク・ルータが処理するパケットPCTを模式的に示している。パケットPCTは、二つの領域に大別される。一方の140はヘッダ領域HDR、他方の131はペイロード領域PYLDである。ヘッダ領域HDR140は、さらに、図16に示すような複数(ここでは三つ)の領域141,142,143で構成される。
領域141は、第2層のヘッダL2HDRであり、送信元MACアドレス(Source address Media Access Control)や宛先MACアドレス(Destination address Media Access Control)などを有する。領域142は、第3層のヘッダL3HDRであり、送信元IPアドレス(Source IP address)や宛先IPアドレス(Destination IP address)などを有する。領域143は、第4層のヘッダL4HDRであり、プロトコルすなわち上位アプリケーションを表す送信元ポート(Source port)や宛先ポート(Destination port)などを有する。
ペイロード領域PYLDは、電子メールの本文やテキスト・ファイルなどの送信者が指定した情報などを有する。なお、同図に示された矢印132は、パケットPCTの転送経路、矢印133は、ヘッダ領域の転送経路である。以下では、これらの経路に注目しながら、パケット・プロセッサ・ユニットPPU0〜PPUyの詳細な構成を説明する。
パケット・プロセッサ・ユニットPPU0〜PPUyの各々は、ネットワーク・インタフェイスNIFと、パケット・フォワーディング・プロセッサPFPと、検索エンジンSEと、本実施の形態によるコンテント・アドレッサブル・メモリCAMと、DRAMなどが用いられるコンテント・メモリCMと、パケット・プロセッサ・ユニット用中央演算処理装置PPUPなどで構成される。
ネットワーク・インタフェイスNIFとパケット・フォワーディング・プロセッサPFPは、システム・バスSBSで接続されている。パケット・フォワーディング・プロセッサPFPと検索エンジンSEは、内部バスIBSで接続されている。検索エンジンSEとコンテント・アドレッサブル・メモリCAMは、データ・バスDQ、マスタ・クロックMCLK、マルチ・バンク・イネーブル信号MBKEで接続され、検索エンジンSEとコンテント・メモリCMは、コンテント・データ・バスCBSで接続されている。コンテント・アドレッサブル・メモリCAMとコンテント・メモリCMは、コンテント・アドレス・バスCADDで接続されている。
ルータNRは、例えばインターネット網IPN0とパケット・プロセッシング・ユニットPPU0との間で、ネットワーク・インタフェイスNIFを介してパケットPCTの送受信を行う。パケット・フォワーディング・プロセッサPFPは、受信したパケットの内容を解読し、そのペイロード領域PYLDを保持しつつ、ヘッダ領域HDRを検索エンジンSEに転送する。検索エンジンSEは、パケット・プロセッシング・バスPPBSを介して接続されたパケット・プロセッシング・ユニット用中央演算処理装置PPUPを用いてヘッダ領域から所望の情報を抽出して検索キーとしてコンテント・アドレッサブル・メモリCAMに転送する。
コンテント・アドレッサブル・メモリCAMは、実施の形態1や実施の形態2で説明したように、マスタ・クロックMCLKに同期して検索キーを受信し、マルチ・バンク・イネーブル信号MBKEに応じたモードで検索動作を行う。コンテント・アドレッサブル・メモリCAMには、検索キーと同じ形式の情報で構成されたエントリが多数格納されており、検索動作によって一致したエントリに対応するアドレスを発生する。このアドレスがコンテント・アドレス・バスCADDを介してコンテント・メモリCMに入力されることにより、該当するエントリに関する情報がコンテント・メモリCMから読み出され、検索エンジンSEを介してパケット・フォワーディング・プロセッサPFPに転送される。
ここで読み出された情報は、例えば、宛先までの最適な経路情報などが含まれる転送制御情報である。パケット・フォワーディング・プロセッサPFPは、この転送制御情報に基づいてヘッダ領域HDRの内容を書き換え、前述したペイロード領域PYLDと共にパケットPCTを再構築する。そして、このパケットPCTをクロスバ・スイッチ群CBSWBから指定されたパケット・プロセッシング・ユニットを介して、次の中継点であるネットワーク・ルータに接続されたネットワークへ転送する。
このようなルータNRの構成において、検索キーは、検索エンジンSEおよびパケット・プロセッサ・ユニット用中央演算処理装置PPUPを用いて発生される。一方、コンテント・アドレッサブル・メモリCAMに記憶さるエントリは、ルータNRの管理者が設定した情報ETRをルータ・マネージャ群RMBもしくはパケット・プロセッサ・ユニット用中央演算処理装置PPUPで解析しながら発生、登録する。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、本発明によるCAMは、オフチップすなわち単体デバイスに限らず、所謂システム・オン・チップ(SoC)と呼ばれるシステムLSIに搭載されるCAMブロックにも適用することが可能であり、これまで述べた実施の形態と同様の効果が得られる。また、メモリセルは、図3のDRAMセルをベースとした構成以外とすることも可能である。例えば、SRAMセルとすることによりCAMの製造工程が簡素化されるので、チップ単価を抑制することができる。
別の例として、フラッシュ・メモリや強誘電体RAM(フェロエレクトリック・ランダム・アクセス・メモリ)、MRAM(マグネトレジスティブ・ランダム・アクセス・メモリ)などのメモリセルを適用することも可能である。この場合、いずれも不揮発性のメモリセル構造であるので、電源遮断事故が起こっても、短時間に検索動作を再開することができる。
また、図3および図12では、サブマッチ線と接地電極との間に、NMOSトランジスタをT312、T313の順に直列接続するメモリセル構成を示したが、順番を逆にしても同様の検索動作が可能である。さらに、図1や図8では、3値情報および4値情報に対応した符号化回路群と復号回路群を具備した構成を示したが、周辺回路の構成はこの限りではなく、One−hot−spotブロック符号化したエントリおよび検索キーを処理するCAMであれば、種種の変形が可能である。例えば、参考文献1の図8に示されているように、チップ内部に圧縮回路および伸張回路を具備した回路構成でも同様な効果を得ることができる。
なお、本実施の形態では、図2および図3に示したメモリブロックを例に、検索キーおよびエントリを2ビット毎に符号化して検索および記憶するCAM構成を示した。しかし、CAM構成はこの限りではなく、符号化ビット数は、参考文献1の図21に示されているように、3ビット以上でも可能である。例えば、3ビット毎に符号化する場合、メモリブロックを参考文献1の図12に示されているように八つのメモリセルからなる構成とし、これに応じて符号化情報バスやグローバルIOなど符号化情報を伝達するバス幅を拡張した構成とする。このような構成とすることにより、一つのエントリあたりの情報量が向上し、実効的に容量の大きなCAMを実現することができる。
また、実施の形態1および実施の形態2で説明したインターリーブ動作を実現するCAM構成は、ターナリCAMにも適用できる。すなわち、ターナリCAMセルの構成は、参考文献1の図4に示されているように、本明細書の図2および図3に示したメモリセルを二つ組み合せた構成と同じであるので、図4および図5に示した構成を用いて正確な読み書きおよびリフレッシュ動作を行うことにより、高信頼、高速ターナリCAMを実現可能となる。
本発明の半導体装置は、複数にバンク化されたメモリアレイをインターリーブ動作させることにより、メモリアレイの検索動作サイクルよりも速いサイクルで検索キーを受信して、遅滞なく検索することが可能であり、急激に向上する回線速度を律することなくテーブル検索行うネットワーク・ルータ技術に適している。
本発明の実施の形態1の半導体装置において、それに含まれるCAMの要部ブロックの基本構成例を示すブロック図である。 本発明の前提として検討したCAMのメモリアレイ構成を示す回路ブロック図である。 図2における各回路ブロックの詳細な構成を示す回路図である。 図1におけるバンクBK1,BK2の構成の一例を示す回路ブロック図である。 図4における読み書き検索回路RWSCT00を例に、その構成の一例を示す回路図である。 図1のCAMにおいて、二つの検索キーD1,D2を基本モードで検索する場合の動作の一例を示す波形図である。 図1のCAMにおいて、四つの検索キーD1,D2,D3,D4をインターリーブ・モードで検索する場合の動作の一例を示す波形図である。 本発明の実施の形態2の半導体装置において、それに含まれるCAMの要部ブロックの基本構成例を示すブロック図である。 図8のCAMにおいて、データ・バスDQのバス幅よりも広い2kビット幅の二つの検索キーを基本モードで検索する場合の動作の一例を示す波形図である。 図8のCAMにおいて、2kビット幅の四つの検索キーをインターリーブ・モードで検索する場合の動作の一例を示す波形図である。 本発明による実施の形態3の半導体装置において、それに含まれるCAMの図2とは異なるメモリアレイ構成例を示す回路ブロック図である。 図11におけるダミー・サブマッチ判定回路、ダミー・メインマッチ判定回路、メインマッチ判定回路の詳細な構成例を示す回路図である。 図12のサブアレイにおいて、一致エントリを検出する場合の検索動作の一例を示す波形図である。 図12のサブアレイにおいて、不一致エントリを検出する場合の検索動作の一例を示す波形図である。 ルータの構成例を模式的に示す説明図である。 図15のルータで転送処理するパケットの構成例を模式的に示す説明図である。
符号の説明
T201,T202,T211,T311,T312,T313,T321,T322,T331,N500,N501,N510,N511,N512,N520,N521,N522,N523,N530,N531,N540,N541,N543 NMOSトランジスタ
T211,T221,T222,P500,P501,P520,P521,P540,P541 PMOSトランジスタ
C キャパシタ、
DMC0,DMC1,DMC2,DMC3 メモリセル
MMLm(m=0,1,…) メインマッチ線
MMLD ダミー・メインマッチ線
SMLmj(m=0,1,…、j=0,1,…) サブマッチ線
SMLDj(j=0,1,…) ダミー・サブマッチ線
WLm(m=0,1,…) ワード線
WLD ダミー・ワード線
BLnx(n=0,1,…、x=0,1,…) ビット線
SLnx(n=0,1,…、x=0,1,…) サーチ線
PC プリチャージ起動信号線
SEB 検索イネーブル信号線
Nnx(n=0,1,…、x=0,1,…) 記憶ノード
MBmj(m=0,1,…、j=0,1,…) メモリブロック
MBDj(m=0,1,…、j=0,1,…) ダミー・メモリブロック
SMDmj(m=0,1,…、j=0,1,…) サブマッチ判定回路
SMDDj(m=0,1,…、j=0,1,…) ダミー・サブマッチ判定回路
WDB ワード・ドライバ群
MMDB,MMDB11 メインマッチ判定回路群
SDB サーチ線駆動回路群
RWB 読み書き回路群
RWSBK 読み書き検索回路群
SARYU,SARYL サブアレイ
MMD0,MMD110 メインマッチ判定回路
MMDD ダミー・メインマッチ判定回路
RWSBKnx(n=0,1,…、x=0,1,…) 読み書き検索回路
SA センスアンプ
EQ イコライズ回路
RCKT 読み出し回路
WCKT 書き込み回路
SCKT サーチ線駆動回路
VDD 電源電圧
VSS 接地電圧
VDL アレイ電圧
VPC プリチャージ電圧
CSP,CSN 共通ソース線
BLEQ ビット線イコライズ信号
RDU,RDL,RD 読み出し起動信号
WTU,WTL 書き込み起動信号
SCET,SCEB 検索起動信号
IV21,IV22,IV23 インバータ回路
CIV21 クロックド・インバータ回路
LA ラッチ回路
ND NAND回路
DLY 遅延回路
HIT0 ヒット信号ノード
CADD コンテント・アドレス・バス
DQ データ・バス
DBS 内部データ・バス
DIO データ入出力回路
BK1,BK2,BKA,BKB バンク
MC メモリ制御回路
MBK1,MBK2 メイン・バンク
CAMCTL1,CAMCTL8 CAM制御回路
TOBENC,QOBENC 符号化回路群
ENCBK 符号化回路群
OBTDEC,OBQDEC 復号回路群
DECBK 復号回路群
MPE メイン・プライオリティ・エンコーダ
PE プライオリティ・エンコーダ
RAMCTL RAM制御回路
CDEC コマンド・デコーダ
WSDMUX デマルチプレクサ
RMUX マルチプレクサ
REGBK 各種レジスタ群
INMD1〜INMDs 入力マスク/差レジスタ群
OUTMD1〜OUTMDs 出力マスク/差レジスタ群
DFI1〜DFIs データ領域識別レジスタ群
MA1〜MAs マッチ・アドレス・レジスタ
CMD 外部コマンド信号群
MCLK マスタ・クロック
MBKE,GMBKEN マルチ・バンク・イネーブル信号
INMDBS 入力マスク/差バス
OUTMDBS 出力マスク/差バス
HBSU,HBSL ヒット信号バス
MABS マッチ・アドレス・バス
SMABSA,SMABSB サブ・マッチ・アドレス・バス
DFIBS データ領域識別バス
ENCBS 符号化情報バス
GIOA,GIOB グローバルIO
ENCLnx(n=0,1,…、x=0,1,…) 符号化データ線
RDE リード・イネーブル信号
WTE ライト・イネーブル信号
SCE サーチ・イネーブル信号
ACLK コンテント・アドレス・クロック
DCLK データ・クロック
BCLK1,BCLK2,BCLKA1,BCLKA2,BCLKB1,BCLKB2 バンク制御クロック
GCLKWS,GCLKR グローバルIO制御クロック
130 パケット
131 ペイロード領域
140 ヘッダ領域
141 第2層ヘッダ領域
142 第3層ヘッダ領域
143 第4層ヘッダ領域
NR ネットワーク・ルータ
NIF ネットワーク・インタフェイス
PFP パケット・フォワーディング・プロセッサ
SE 検索エンジン
CAM コンテント・アドレッサブル・メモリ
CM コンテント・メモリ
PPU パケット・プロセッシング・ユニット
PPUP パケット・プロセッシング・ユニット用中央演算処理装置
RMB ルーティング・マネージャ群
CBSWB クロスバ・スイッチ群
CBS コンテント・バス
PPBS パケット・プロセッシング・バス
IPNx(x=0,1,…,y) ネットワーク
SBS システム・バス
IBS 内部バス
ETR ルータNRの管理者が設定した情報

Claims (5)

  1. 第一のバンクと、第二のバンクと、前記第一のバンクと前記第二のバンクに接続されたバスとを有する半導体装置であって、
    前記第一および前記第二のバンクのそれぞれは、第一のCAMアレイと、第二のCAMアレイと、前記第一のCAMアレイと前記第二のCAMアレイの間に配置されたセンスアンプ群、読み出し回路群、書き込み回路群、およびサーチ線駆動回路群とを有し、
    前記第一および前記第二のCAMアレイは、複数のビット線と、前記複数のビット線にそれぞれ平行に配置された複数のサーチ線と、前記複数のビット線に直交する複数のワード線と、前記複数のビット線と前記複数のワード線との交点にそれぞれ配置された複数のCAMセルとを有し、
    前記センスアンプ群は、前記第一または前記第二のCAMアレイに含まれる複数のビット線の本数と同じ数だけの複数のセンスアンプを有し、
    前記読み出し回路群は、前記第一または前記第二のCAMアレイに含まれる複数のビット線の本数と同じ数だけの複数の読み出し回路を有し、
    前記書き込み回路群は、前記第一または前記第二のCAMアレイに含まれる複数のビット線の本数と同じ数だけの複数の書き込み回路を有し、
    前記サーチ線駆動回路群は、前記第一または前記第二のCAMアレイに含まれる複数のサーチ線の本数と同じ数だけの複数のサーチ線駆動回路を有し、
    前記複数のセンスアンプのそれぞれは、前記第一のCAMアレイに含まれる前記複数のビット線の中の一本のビット線と前記第二のCAMアレイに含まれる前記複数のビット線の中の一本のビット線とに接続され、
    前記複数のセンスアンプのそれぞれに接続された対となる前記ビット線は、前記複数の読み出し回路のいずれか一つおよび前記複数の書き込み回路のいずれか一つを介して前記バスに接続され、
    前記複数のサーチ線は、前記複数のサーチ線駆動回路を介して前記バスに接続されることを特徴とする半導体装置。
  2. 請求項1記載の半導体装置において、
    前記第一のバンクは、第一のクロックに同期して活性化され、
    前記第二のバンクは、第二のクロックに同期して活性化され、
    前記第一のクロックと前記第二のクロックの位相は互いに異なり、
    前記第一のバンクと前記第二のバンクは、異なる位相で検索動作を行うことを特徴とする半導体装置。
  3. 請求項2記載の半導体装置において、
    前記バスは、符号化回路と復号回路に接続され、
    前記符号化回路は、第一のマッピングに基づく3値情報または第二のマッピングに基づく4値情報を符号化情報に変換して前記バスに出力し、
    前記復号回路は、前記第一および前記第二のバンクから読み出され前記バスを介して入力された符号化情報を、第一のマッピングに基づく3値情報または第二のマッピングに基づく4値情報に変換することを特徴とする半導体装置。
  4. 複数のビット線と、
    前記複数のビット線にそれぞれ対応して設けられ、前記複数のビット線と平行に配置された複数のサーチ線と、
    前記複数のビット線に交差する複数のワード線と、
    前記複数のビット線と前記複数のワード線との交点に配置された複数のメモリセルと、
    前記複数のワード線にそれぞれ対応して設けられ、前記複数のワード線と平行に配置された複数のメインマッチ線と、
    前記複数のメインマッチ線のそれぞれに対応して複数設けられ、前記複数のメインマッチ線と平行に配置され、それぞれが前記複数のメモリセルの中の所定の数のメモリセルに接続された複数のサブマッチ線と、
    前記複数のサブマッチ線と前記複数のサブマッチ線に対応するいずれかのメインマッチ線との間にそれぞれ接続された複数のサブマッチ判定回路と、
    前記複数のメインマッチ線にそれぞれ接続され、それぞれセンスアンプを含む複数のメインマッチ判定回路とを備え、
    前記複数のサーチ線を介して入力された情報と前記複数のメモリセルに保持された情報との比較を行い、前記比較した結果を前記複数のメインマッチ判定回路内のセンスアンプで増幅する半導体装置であって、
    前記複数のメインマッチ判定回路は、検索動作に際し、まず、前記複数のメインマッチ線を前記複数のセンスアンプの論理しきい値より高い電圧に充電し、前記充電を停止後、前記複数のメインマッチ線の電荷が、前記複数のダミー・サブマッチ判定回路によって放電されることで前記複数のセンスアンプの論理しきい値より低い電圧になった段階で前記複数のセンスアンプを起動することを特徴とする半導体装置。
  5. 請求項4記載の半導体装置において、さらに、
    前記複数のワード線と平行に配置されたダミー・メインマッチ線と、
    前記ダミー・メインマッチ線に対応して複数設けられ、前記ダミー・メインマッチ線と平行に配置された複数のダミー・サブマッチ線と、
    前記複数のダミー・サブマッチ線と前記ダミー・メインマッチ線との間にそれぞれ接続された複数のダミー・サブマッチ判定回路と、
    前記ダミー・メインマッチ線に接続されたダミー・メインマッチ判定回路とを有し、
    前記複数のダミー・サブマッチ判定回路は前記複数のサブマッチ判定回路と同じ構成であり、
    前記ダミー・メインマッチ判定回路は前記複数のメインマッチ判定回路と同じ構成のセンスアンプを有し、
    前記ダミー・メインマッチ判定回路と前記複数のメインマッチ判定回路がセンスアンプ・イネーブル信号線で接続され、
    前記ダミー・メインマッチ判定回路は、検索動作に際し、前記複数のメインマッチ判定回路と同じタイミングおよび駆動能力で前記ダミー・メインマッチ線を前記センスアンプの論理しきい値より高い電圧に充電し、前記充電を停止後、前記ダミー・メインマッチ線の電荷が、前記複数のダミー・サブマッチ判定回路内の所定のダミー・サブマッチ判定回路によって放電されることで前記センスアンプの論理しきい値より低い電圧になった段階で前記センスアンプの起動信号を発生することを特徴とする半導体装置。
JP2005040885A 2005-02-17 2005-02-17 半導体装置 Expired - Fee Related JP4343859B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005040885A JP4343859B2 (ja) 2005-02-17 2005-02-17 半導体装置
US11/354,131 US7388768B2 (en) 2005-02-17 2006-02-15 Semiconductor device
CNA2006100085965A CN1825481A (zh) 2005-02-17 2006-02-17 半导体器件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005040885A JP4343859B2 (ja) 2005-02-17 2005-02-17 半導体装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009014159A Division JP2009117031A (ja) 2009-01-26 2009-01-26 半導体装置

Publications (2)

Publication Number Publication Date
JP2006228325A true JP2006228325A (ja) 2006-08-31
JP4343859B2 JP4343859B2 (ja) 2009-10-14

Family

ID=36931792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005040885A Expired - Fee Related JP4343859B2 (ja) 2005-02-17 2005-02-17 半導体装置

Country Status (3)

Country Link
US (1) US7388768B2 (ja)
JP (1) JP4343859B2 (ja)
CN (1) CN1825481A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008126229A1 (ja) * 2007-03-29 2008-10-23 Fujitsu Limited 半導体集積回路および制御信号分配方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4487237B2 (ja) 2003-12-25 2010-06-23 エルピーダメモリ株式会社 半導体装置
US20080285367A1 (en) * 2007-05-18 2008-11-20 Chang Ho Jung Method and apparatus for reducing leakage current in memory arrays
JP4890369B2 (ja) * 2007-07-10 2012-03-07 エルピーダメモリ株式会社 デューティ検知回路及びこれを用いたdll回路、半導体記憶装置、並びに、データ処理システム
US9063840B1 (en) * 2009-08-21 2015-06-23 Broadcom Corporation Multiple match detection for multiple flows in a content addressable memory
US9576630B2 (en) 2010-07-09 2017-02-21 Cypress Semiconductor Corporation Memory devices and methods having multiple address accesses in same cycle
US8705310B2 (en) 2012-08-24 2014-04-22 Cypress Semiconductor Corporation Access methods and circuits for memory devices having multiple banks
US9640237B1 (en) * 2012-08-24 2017-05-02 Cypress Semiconductor Corporation Access methods and circuits for memory devices having multiple channels and multiple banks
TWI651839B (zh) 2013-02-27 2019-02-21 半導體能源研究所股份有限公司 半導體裝置、驅動電路及顯示裝置
US9041453B2 (en) 2013-04-04 2015-05-26 Semiconductor Energy Laboratory Co., Ltd. Pulse generation circuit and semiconductor device
JP2015225682A (ja) * 2014-05-27 2015-12-14 ルネサスエレクトロニクス株式会社 半導体集積回路
US20160358653A1 (en) * 2015-06-08 2016-12-08 Altera Corporation Hardware programmable device with integrated search engine
JP6533129B2 (ja) 2015-08-28 2019-06-19 ルネサスエレクトロニクス株式会社 半導体装置
JP2017097940A (ja) * 2015-11-26 2017-06-01 ルネサスエレクトロニクス株式会社 半導体装置
CN106205687B (zh) * 2016-06-30 2018-06-05 湖南恒茂高科股份有限公司 存储器及其搜索控制电路
US9728258B1 (en) * 2016-10-04 2017-08-08 National Tsing Hua University Ternary content addressable memory
CN109460569B (zh) * 2018-09-25 2023-04-07 嘉兴倚韦电子科技有限公司 集成电路后端半定制设计高效rdl设计方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6373738B1 (en) * 2000-11-20 2002-04-16 International Business Machines Corporation Low power CAM match line circuit
JP2003272386A (ja) 2002-03-20 2003-09-26 Mitsubishi Electric Corp Tcamセル、tcamセルアレイ、アドレス検索メモリおよびネットワークアドレス検索装置
JP2004355691A (ja) * 2003-05-28 2004-12-16 Hitachi Ltd 半導体装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008126229A1 (ja) * 2007-03-29 2008-10-23 Fujitsu Limited 半導体集積回路および制御信号分配方法
US7999594B2 (en) 2007-03-29 2011-08-16 Fujitsu Limited Semiconductor integrated circuit and control signal distribution method
JP4774119B2 (ja) * 2007-03-29 2011-09-14 富士通株式会社 半導体集積回路および制御信号分配方法

Also Published As

Publication number Publication date
JP4343859B2 (ja) 2009-10-14
US7388768B2 (en) 2008-06-17
US20060193160A1 (en) 2006-08-31
CN1825481A (zh) 2006-08-30

Similar Documents

Publication Publication Date Title
JP4343859B2 (ja) 半導体装置
US6731526B2 (en) CAM cell array, TCAM cell, TCAM cell array, address search memory, and network address search apparatus
JP3737745B2 (ja) 隠れリフレッシュを備えたdramcamセル
US8462532B1 (en) Fast quaternary content addressable memory cell
US6310880B1 (en) Content addressable memory cells and systems and devices using the same
US6480424B1 (en) Compact analog-multiplexed global sense amplifier for RAMS
US7881088B2 (en) Content addressable memory device
US7596010B2 (en) Semiconductor memory device
US6977859B2 (en) Semiconductor memory device and control method thereof
US6678198B2 (en) Pseudo differential sensing method and apparatus for DRAM cell
US7016211B2 (en) DRAM-based CAM cell with shared bitlines
US6707692B2 (en) Content addressable memory device capable of being used as binary CAM device or as ternary CAM device and structure method therefor
US6836419B2 (en) Split word line ternary CAM architecture
JP2836596B2 (ja) 連想メモリ
JP2002358790A (ja) エントリデータの入れ替えを高速化したコンテンツ・アドレッサブル・メモリ
JP2004355691A (ja) 半導体装置
JP2009117031A (ja) 半導体装置
US8023300B1 (en) Content addressable memory device capable of parallel state information transfers
US20030128573A1 (en) Semiconductor memory system having dynamically delayed timing for high-speed data transfers
Tan et al. A new match line sensing technique in Content Addressable Memory
JPH11273349A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090126

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: 20090616

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: 20090709

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120717

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: 20120717

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120717

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120717

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130717

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

LAPS Cancellation because of no payment of annual fees