JP2004288347A - 連想メモリ - Google Patents

連想メモリ Download PDF

Info

Publication number
JP2004288347A
JP2004288347A JP2003314052A JP2003314052A JP2004288347A JP 2004288347 A JP2004288347 A JP 2004288347A JP 2003314052 A JP2003314052 A JP 2003314052A JP 2003314052 A JP2003314052 A JP 2003314052A JP 2004288347 A JP2004288347 A JP 2004288347A
Authority
JP
Japan
Prior art keywords
memory cell
circuit
shift
address
data
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
JP2003314052A
Other languages
English (en)
Other versions
JP2004288347A5 (ja
Inventor
Hideto Matsuoka
秀人 松岡
Hideyuki Noda
英行 野田
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2003314052A priority Critical patent/JP2004288347A/ja
Priority to US10/768,036 priority patent/US6917558B2/en
Publication of JP2004288347A publication Critical patent/JP2004288347A/ja
Publication of JP2004288347A5 publication Critical patent/JP2004288347A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • 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
    • 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/84Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability
    • G11C29/848Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability by adjacent switching

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【課題】 回路面積が小さく、また簡易な構成でメモリセル行の冗長救済を実行する連想メモリを提供することを目的とする。
【解決手段】 シフト情報ラッチ回路6は、メモリセル行にそれぞれ対応して設けられる複数のラッチ部LTUと、不良メモリセル行のアドレスに応じて生成されるフューズデータFDを伝達するフューズ回路20とを設ける。複数のラッチ部にフューズデータFDが順番に入力され、シフト動作を指示するシフト制御信号S,ZSが各ラッチ部LTUから伝達される。このシフト制御信号に応答して、ロウデコーダ5およびマッチ線アンプ3において不良メモリセル行を救済するシフト動作が実行される。本構成においては、不良メモリセル行のアドレスをデコードするデコーダ回路を配置することなくシフト動作を実行するため回路全体の面積が縮小されるとともに、簡易にシフト動作を実行することができる。
【選択図】 図2

Description

本発明は、連想メモリに関し、特に不良のメモリセル行を予備の冗長メモリセル行を用いて救済する冗長救済機能を備えた連想メモリに関するものである。
メモリデバイスの主要なアプリケーションの1つとして、入力データを入力してこれと検索情報を構成する記憶データ(検索データ)とが一致するか否かの一致比較動作を実行する連想メモリ(以下、CAM(Content Addressable Memory)とも称する)が存在する。このようなCAMは、たとえばデータ処理システムにおいて、キャッシュアクセス時に、必要なデータが格納されているかの判定を行なうキャッシュヒット/ミス判定時のアドレス比較などにおいて用いられている。
一方、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)等の通常のメモリデバイスでは、予め冗長回路として予備の冗長メモリセル行を設けている。これに伴い、不良のメモリセル行が存在する場合に予備の冗長メモリセル行と置換することによりこの不良のメモリセル行を救済し、メモリデバイスの歩留りを向上させる冗長回路技術が一般的に用いられている。
しかし、CAMでは、メモリセル行の構造が通常のメモリデバイスとは大きく異なり、メモリセル行を救済する場合には、データ読出時および書込時に実行するアドレス選択(デコード)だけでなく、データ検索動作後の優先順位に従って一致アドレスを順次出力する機能(エンコード)についても救済する必要がある。
このCAMに特有の機能および回路構成等の理由により、不良のメモリセル行の救済を実行することは容易ではなかった。
これに対して、特開2002−260389号公報においては、メモリセル行の冗長救済を実行するために、論理アドレス(外部から入力されるアドレス)と物理アドレス(内部で実際に使用するアドレス)とを相互に変換する構成が開示されている。具体的には、不良メモリセル行の不良アドレスと論理アドレスとに基づいて、不良メモリセル行よりも上位(もしくは下位)のアドレスに対応するメモリセル行をシフトさせるシフト動作を実行する。これに伴い、冗長メモリセル行を用いて不良メモリセル行の冗長救済を実行する構成が開示されている。
特開2002−260389号公報(図1,p4〜p8)
しかしながら、上記公報においては、不良アドレスを一旦プリデコードし、その結果と、通常の論理アドレスの入力をデコードした結果とに基づいてシフト動作を実行するため、比較的回路規模の大きなデコード回路をそれぞれ配置する必要がある。
したがって、デコード回路に対するレイアウト面積を十分に確保する必要がありメモリデバイスの回路面積が大きくなるという問題がある。
また、上記公報においては、プリデコード回路により不良アドレスをプリデコードした結果を用いてシフト動作を実行している。具体的にはこのプリデコードした結果を論理アドレスのデコード結果との比較動作を実行するために各メモリセル行毎に伝達している。したがって、プリデコード回路からのプリデコード信号を各メモリセル行毎に伝達する信号線数が増大する。これに伴い、信号線の配線数が増加するため配線上の制約を充分に考慮して回路設計をする必要がある。すなわち回路設計が複雑化するという問題がある。特に、アドレスのビット長に応じてプリデコード信号の配線数はさらに増加するため大容量のアレイを構成する際にはこの問題が特に顕在化する。
本発明は、上記のような問題を解決するためになされたものであって、回路面積が小さく、また簡易な構成でメモリセル行の冗長救済を実行する連想メモリを提供することを目的とする。
本発明は、入力情報と検索情報との一致比較動作を実行する連想メモリであって、メモリアレイと、第1および第2のシフト回路と、アドレス生成回路と、複数段のラッチ回路と、シフト信号生成部とを含む。メモリアレイは、検索情報を記憶する複数のメモリセル行および不良メモリセル行を救済する冗長メモリセル行を含む。第1のシフト回路は、データ読出および書込時において、必要に応じてアクセスする少なくとも1つの各メモリセル行を第1の方向にシフトさせる。第2のシフト回路は、データ検索時において、第1のシフト回路により第1の方向にシフトした各少なくとも1つのメモリセル行を第1の方向と反対方向である第2の方向にシフトさせる。アドレス生成回路は、データ検索動作時に、第2のシフト回路を介して各メモリセル行から伝達される情報に基づいて所望のアドレスを生成する。複数段のラッチ回路は、複数のメモリセル行のアドレスのそれぞれ対応して設けられ、各々が第1および第2のシフト回路における対応するメモリセル行のシフト動作を指示するシフト信号をラッチする。シフト信号生成部は、不良メモリセル行の不良アドレスに基づき、各ラッチ回路にラッチされるシフト信号を生成する。
また、本発明は、入力情報と検索情報との一致比較動作を実行する連想メモリであって、メモリアレイと、第1および第2のシフト回路と、アドレス生成回路と、複数段のラッチ回路と、シフト信号生成部とを含む。メモリアレイは、検索情報を記憶する複数のメモリセル行および不良メモリセル行を救済する複数の冗長メモリセル行を含む。複数のメモリセル行は、複数のメモリセル行の1部ビットのアドレスにそれぞれ対応して、所定個ずつの複数のメモリセル行群に分割される。第1のシフト回路は、データ読出および書込時において、必要に応じてアクセスする少なくとも1つのメモリセル行群を第1の方向にシフトさせる。第2のシフト回路は、データ検索時において、第1のシフト回路により第1の方向にシフトした各少なくとも1つのメモリセル行群を第1の方向と反対方向である第2の方向にシフトさせる。アドレス生成回路は、データ検索動作時に、第2のシフト回路を介して各メモリセル行群から伝達される情報に基づいて所望のアドレスを生成する。複数段のラッチ回路は、複数のメモリセル行群にそれぞれ対応して設けられ、各々が第1および第2のシフト回路における対応するメモリセル行のシフト動作を指示するシフト信号をラッチする。シフト信号生成部は、不良メモリセル行の不良アドレスに基づき、各ラッチ回路にラッチされるシフト信号を生成する。
また、本発明は、入力情報と検索情報との一致比較動作を実行する連想メモリであって、メモリアレイと、第1および第2のシフト回路と、制御回路とを含む。メモリアレイは、検索情報を記憶する複数のメモリセル行および不良メモリセル行を救済する冗長メモリセル行を含む。第1のシフト回路は、データ読出および書込時において、必要に応じてアクセスする少なくとも1つの各メモリセル行を第1の方向にシフトさせる。第2のシフト回路は、データ検索動作時において、第1のシフト回路により第1の方向にシフトした少なくとも1つの各メモリセル行を第1の方向と反対方向である第2の方向にシフトさせる。アドレス生成回路は、データ検索動作時に、第2のシフト回路を介して各メモリセル行から伝達される情報に基づいて所望のアドレスを生成する。制御回路は、不良メモリセル行の不良アドレスに基づいて第1および第2のシフト回路を制御する。メモリアレイは、冗長メモリセル行を含む各メモリセル行に対応して設けられ、入力情報と各メモリセル行に記憶された検索情報の一部とが一致したかを判定するマッチ線をさらに含む。冗長メモリセル行を含む各メモリセル行は、各々が記憶データの1ビットを記憶する複数のメモリセルを有する。各メモリセルは、第1および第2のセルユニットと、比較回路とを含む。第1のセルユニットは、第1のデータを保持する第1の記憶ノードを有する。第2のセルユニットは、第2のデータを保持する第2の記憶ノードを有する。比較回路は、第1および第2の記憶ノードに各々保持されたデータの対と与えられた入力情報を構成する入力データとを比較し、比較結果に従って対応するマッチ線を選択的に駆動する。
この発明は以上説明したように、不良アドレスに基づいて生成されるシフト動作を指示するシフト指示信号をラッチする複数段のラッチ回路を設ける。これに伴い、アクセスする際に、不良メモリセル行のアドレスをデコーダ回路を用いてデコードして、その結果に基づくシフト動作を実行する必要が無く、信号線の配線数を軽減するとともに回路全体の面積を縮小し、簡易にシフト動作を実行することができる。
また、不良アドレスに基づいて生成されるシフト動作を指示するシフト指示信号をラッチする複数段のラッチ回路を設け、ラッチ回路にラッチされたシフト信号に基づいて所定個ずつのメモリセル行群をシフトさせることができる。これに伴い、メモリセル行毎にシフト動作を実行するよりも複数のメモリセル行群毎にシフトさせることにより、シフト動作に用いられる回路の部品点数や配線数を削減することができる。
また、不良アドレスに基づいて第1および第2のシフト回路のシフト動作を制御する制御回路を設ける。また、メモリアレイを構成するメモリセルは、第1および第2の記憶ノードをそれぞれ有する第1および第2のセルユニットと、第1および第2の記憶ノードに記憶された検索データと入力データとを比較する比較回路とを含む。これに伴い、いわゆるTCAMメモリセルにおいて、簡易に不良メモリセル行を救済する冗長救済を実行することができる。
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付しその説明は繰返さない。
(実施の形態1)
図1は、本発明の実施の形態に従うCAM1の全体構成図である。
図1を参照して、本発明の実施の形態に従うCAM1は、一致比較動作に用いられる検索情報を記憶するための行列状に集積配置されたCAMセルを有するメモリアレイ2と、マッチ線アンプ3と、プライオリティエンコーダ4と、ロウデコーダ5と、シフト情報ラッチ回路6と、アドレスバッファ7と、出力バッファ8、13と、データバッファ9と、コントロール回路10と、センスアンプ帯11と、サーチ線ドライバ/ライトドライバ帯12とを備える。
メモリアレイ2は、メモリセル行にそれぞれ対応して設けられたワード線WL0〜WLm−1(以下、総括してワード線WLとも称する)および複数のマッチ線ML0〜MLm−1(以下、総括してマッチ線MLとも称する)と、メモリセル列にそれぞれ対応して設けられたビット線対BLP0〜BLPn−1(以下、総括してビット線対BLPとも称する)とを含む。本例においては、一例としてm行n列のメモリアレイ2の構成について説明する。また、ビット線対BLPは、ビット線BLと相補のビット線/BLを含む。図1においては、代表的にビット線対BLP0を構成するビット線BL0と、相補のビット線/BL0および、ビット線対BLPn−1を構成するビット線BLn−1と、相補のビット線/BLn−1とが示されている。
メモリアレイ2は、図1に示されるようにm個のメモリセル行を有し、連続したアドレスで指定されるワードW0〜Wm−1がそれぞれのメモリセル行に記憶される。また、本例においては、一例としてワードWm−1が不良メモリセル行を救済する冗長メモリセル行として設けられている。また、本実施の形態においては、一例としてワードW0が最下位のアドレスに対応し、ワードWm−1が最上位のアドレスに対応する構成とする。
ロウデコーダ5は、コントロール回路10からの指示に応答して内部アドレスIAD[i:0]をデコードし、複数のワード線WL0〜WLm−1のうち少なくとも1本をアクセスするとともに、シフト情報ラッチ回路6からのシフト情報に基づいて、アクセスの際物理的にアクセスするメモリセル行をシフトさせるシフト動作を実行する。なお、上記の内部アドレスIAD[i:0]は、(i+1)ビットの内部アドレスIAD<0>〜IAD<i>を示す。なお、以下においては、信号Z[i:0]の記号は、信号Z<0>〜Z<i>を指し示すものとする。
シフト情報ラッチ回路6は、コントロール回路10からの指示に応答して活性化され、内部で生成されるシフト情報をロウデコーダ5およびマッチ線アンプ3に出力する。アドレスバッファ7は、コントロール回路10からの指示に応答して入力される外部アドレス(論理アドレス)ADD[i:0]をバッファ処理して内部アドレスIAD[i:0]を生成する。コントロール回路10は、外部からのコマンドCMDの入力に基づいてCAM1の全体の動作を制御する。
センスアンプ帯11は、データ読出時にコントロール回路10からの指示に応答して、選択列に対応するビット線対BLPからのデータ信号を受けて増幅し、出力バッファ13に読出データRDT[n−1:0]として出力する。本例においては、データ読出時に並列にビット線対BLP0〜BLPn−1が選択され、nビットの読出データRDT[n−1:0]が出力されるものとする。出力バッファ13は、コントロール回路10からの指示に応答して、センスアンプ帯11から伝達された読出データRDT[n−1:0]をバッファ処理して外部にデータEQ[n−1:0]として出力する。
データバッファ9は、コントロール回路10からの指示に応答して外部から入力される入力データED[n−1:0]をバッファ処理して内部入力データID[n−1:0](以下、総括して内部入力データIDとも称する)としてサーチ線ドライバ/ライトドライバ帯12に出力する。
サーチ線ドライバ/ライトドライバ帯12は、データ検索時およびデータ書込時に入力された内部入力データIDに応じて、複数のビット線対BLPのそれぞれに所定の論理レベルの信号を伝達する。本例においては、データ書込時においては、選択ワードWに対応するメモリセル行を構成する各メモリセルに対して並列なデータ書込を実行するものとする。また、データ検索時においては、メモリアレイ内の記憶されたすべてのワードW(全てのメモリセル行)に対して一致比較動作が実行されるものとする。
マッチ線アンプ3は、データ検索時にコントロール回路10からの指示に応答して、マッチ線ML0〜MLm−1のそれぞれに伝達されたマッチ信号を増幅してプライオリティエンコーダ4に出力するとともに、シフト情報ラッチ回路6からのシフト情報に基づいてその出力の際、ロウデコーダ5におけるシフト動作に基づいて物理的にシフトさせたメモリセル行からのマッチ信号をもとの論理アドレスに対応するメモリセル行のマッチ信号として伝達するためのシフト動作を実行する。
プライオリティエンコーダ4は、コントロール回路10からの指示に応答して、マッチ線アンプ3から伝達されたマッチ信号に基づいて、一致した最上位のアドレスIP[i:0]を生成する。
出力バッファ8は、コントロール回路10からの指示に応答して、プライオリティエンコーダ4から生成されたアドレスIP[i:0]をバッファ処理してアドレスP[i:0]として出力する。
図2は、本発明の実施の形態1に従うCAM1をより詳細に説明するブロック概略図である。
図2を参照して、シフト情報ラッチ回路6は、予め格納された不良アドレスに基づき生成される制御信号EN,FDおよびクロック信号FCLK1,FCLK2を出力するフューズ回路20と、フューズ回路20から出力される制御信号に基づいてシフト情報を構成するシフト制御信号をラッチするラッチ群35とを含む。ラッチ群35は、複数のメモリセル行にそれぞれ対応して設けられ、各々が互いに直列に接続された複数のラッチ部LTUを含む。直列に接続された複数のラッチ部LTUは、クロック信号FCLK1,FCLK2に同期してフューズ回路20から伝達される種々の制御信号ENおよびFDを一つずつ順番にラッチしてシフト制御信号を設定する。具体的には、下位アドレスのメモリセル行に対応して設けられるラッチ部LTUから上位アドレスのメモリセル行に対応して設けられるラッチ部LTUに対して順番にシフト制御信号Sおよびその反転信号ZSが設定されてロウデコーダ5およびマッチ線アンプ3に出力される。
ロウデコーダ5は、プリデコード回路15と、ワード線選択回路30とを含む。プリデコード回路15は、入力される内部アドレスIAD[i:0]の入力をデコード処理してプリデコード信号XA[j:0],XB[k:0]およびXC[l:0]をそれぞれ生成する。なお、プリデコード信号XA[j:0],XB[k:0]およびXC[l:0]をそれぞれ総称してプリデコード信号XA,XB,XCとも称する。
ワード線選択回路30は、メモリセル行にそれぞれ対応して設けられた複数のワード線選択ユニットWDUを含む。各ワード線選択ユニットWDUは、同一のメモリセル行に対応して設けられるラッチ部LTUからシフト制御信号SおよびZSの入力を受ける。ワード線選択ユニットWDUは、プリデコード回路15から入力されるプリデコード信号XA,XB,XCの入力に基づいて、対応するワード線WLのアクセス(選択動作)を実行するとともに、シフト情報ラッチ回路6の対応するラッチ部LTUから入力されるシフト制御信号SおよびZSに基づいて、対応するワード線WLの選択動作をシフトさせるシフト動作を実行する。
具体的には、シフト制御信号SおよびZSに基づいて、入力ノードSRに前段のワード線選択ユニットWDUからワード線を選択するための選択信号の入力を受ける。さらに、シフト制御信号SおよびZSに基づいて、出力ノードNRから次段のワード線選択ユニットWDUに対応する入力ノードSRにワード線を選択するための選択信号を伝達する。また、ワード線選択ユニットWDUは、コントロール回路10からの制御信号ZXRSTの入力に基づいてワード線WLのアクセス(選択動作)を停止する。
マッチ線アンプ3は、メモリセル行にそれぞれ対応して設けられた複数のマッチアンプユニットUMAを含む。各マッチアンプユニットUMAは、同一のメモリセル行に対応して設けられるラッチ部LTUからシフト制御情報SおよびZSの入力を受ける。マッチアンプユニットUMAは、対応するマッチ線MLからのマッチ信号を増幅するとともに、シフト制御信号SおよびZSに基づいて、必要に応じて対応するマッチ線MLに伝達されたマッチ信号の伝達をシフトさせるシフト動作を実行する。
具体的には、シフト制御信号SおよびZSに基づいて、入力ノードMLUに上位アドレス(本例では上段)に対応するマッチアンプユニットUMAからのマッチ信号の入力を受ける。さらに、シフト制御信号SおよびZSに基づいて、出力ノードに下位アドレス(本例では下段)に対応するマッチアンプユニットUMAに対してマッチ信号を出力する。マッチアンプユニットUMAは、シフト制御信号SおよびZSに基づくシフト動作により、対応する出力ノードMLoからマッチ信号をプライオリティエンコーダ4に対して出力する。また、マッチアンプユニットUMAは、コントロール回路10から伝達される制御信号MLPRCの入力に応答して対応するマッチ線MLを所定の電圧レベル(「H」レベル)にプリチャージする。
図2においては、代表的に下位アドレスに対応するマッチアンプユニットUMAが順番に4個示されている。ここで、4個のマッチアンプユニットUMAは、マッチ線ML0〜ML3からのマッチ信号を入力ノードMLi0〜MLi3にそれぞれ受ける。また、出力ノードMLo0〜MLo3からプライオリティエンコーダ4に対してマッチ信号Mi[3:0]をそれぞれ出力する。なお、入力ノードMLiおよび出力ノードMLoは、入力ノードMLi0〜MLi3および出力ノードMLo0〜MLo3を総括的に標記したものである。
プライオリティエンコーダ4は、マッチ線アンプ3の複数のマッチアンプユニットUMAから伝達されるマッチ信号Miをそれぞれ受けて、最上位のアドレスに対応するメモリセル行のアドレスをアドレスIP[i:0]として生成する。出力バッファ8は、上述したようにアドレスIP[i:0]をバッファ処理して、アドレスP[i:0]として出力する。各回路の詳細な動作および回路構成については後ほど詳細に説明する。なお、上記においては、各メモリセル行に対応して設けられるラッチ部LTU、ワード線選択ユニットWDUおよびマッチアンプユニットUMAについて説明したが、冗長メモリセル行は、不良メモリセル行を救済する目的で配置されているため、冗長メモリセル行については、対応するラッチ部LTU、ワード線選択ユニットWDUおよびマッチアンプユニットUMAを設けない構成としても良い。
本発明の実施の形態は、不良メモリセル行を救済する冗長救済構成について向けられているが、冗長救済構成について説明する前にまずCAM1における一致比較動作について説明する。
図3は、本発明の実施の形態1に従うメモリアレイ2に集積配置されたCAMメモリセルCAMC(以下、単にメモリセルCAMCとも称する)の回路構成図である。
図3を参照して、ここでは、ビット線対BLP0およびBLPn−1に対応するメモリセルCAMCが2つ設けられている。いずれのメモリセルCAMCの構成も同様であるので、代表的にビット線対BLP0に対応するメモリセルCAMCの構成について説明する。
メモリセルCAMCは、メモリセルユニットMCUと、ゲートトランジスタGT、/GT、比較部98とを含む。
メモリセルユニットMCUは、トランジスタ94〜97を含む。トランジスタ94,95は、一例としてNチャンネルMOSトランジスタとする。また、トランジスタ96,97は、PチャンネルMOSトランジスタとする。トランジスタ96は、電源電圧VCCの供給を受けるノードNpとセンスノードSNとの間に配置され、そのゲートはセンスノード/SNと電気的に結合される。トランジスタ97は、電源電圧VCCの供給を受けるノードNpとセンスノード/SNとの間に配置され、そのゲートはセンスノードSNと電気的に結合される。トランジスタ94は、センスノードSNと接地電圧GNDの供給を受けるノードNqとの間に配置され、そのゲートはセンスノード/SNと電気的に結合される。トランジスタ95は、センスノード/SNと接地電圧GNDの供給を受けるノードNqとの間に配置され、そのゲートはセンスノードSNと電気的に結合される。このトランジスタ94〜96で構成されるメモリセルユニットMCUは、いわゆるクロスカップル型のSRAMセルであり、センスノードSNおよび/SNの一方を「H」レベル、他方を「L」レベルに設定することにより記憶データを保持する。
本例においては、センスノードSN,/SNが「H」レベルおよび「L」レベルに設定される場合を記憶データ「0」に対応付けるものとする。また、センスノードSN,/SNが「L」レベルおよび「H」レベルに設定される場合を記憶データ「1」に対応付けるものとする。なお、記憶データ「0」および「1」の対応付けを反転させることも可能である。
ゲートトランジスタGTは、ビット線BL0とセンスノードSNとの間に配置され、そのゲートは対応するワード線WLと電気的に結合される。ゲートトランジスタ/GTは、センスノード/SNとビット線/BL0との間に配置され、そのゲートは対応するワード線WLと電気的に結合される。
比較部98は、メモリセルユニットMCUに記憶された記憶データと、入力データとの一致比較動作を実行する。比較部98は、トランジスタ90〜93を含む。トランジスタ90〜93は、一例としてNチャンネルMOSトランジスタとする。
トランジスタ90および92は、接地電圧GNDの供給を受けるノードNqと対応するマッチ線MLとの間に直列に接続され、それぞれのゲートはセンスノードSNおよびビット線BL0と電気的に結合される。トランジスタ91および93は、接地電圧GNDの供給を受けるノードNqと対応するマッチ線MLとの間に直列に接続され、それぞれのゲートはセンスノード/SNおよびビット線/BL0と電気的に結合される。上述したようにメモリセルユニットMCUは、いわゆるクロスカップル型のSRAMセルと等価であり、データ読出およびデータ書込についての動作についての詳細な説明は省略する。このSRAMセルは、記憶するデータに応じて、2つのセンスノードの一方および他方をそれぞれ異なる電圧レベルに設定するフリップフロップ回路として機能する。
なお、メモリセルCAMCに対応して設けられるビット線対BLPは、データ検索動作時においては、サーチ線対SLPとして機能する。サーチ線対SLPは、サーチ線SLと、相補のサーチ線/SLPとを有し、それぞれビット線BLおよび/BLに対応付けられる。
図4のタイミングチャート図を用いて、図3で説明したビット線対BLP0に対応するメモリセルCAMCのデータ検索動作について説明する。ここではクロック信号CLKに同期して内部回路が動作するものとして説明する。なお、メモリセルCAMCは、記憶データ「0」を記憶するものとする。また、説明の容易化のため1ビットの内部入力データIDが入力される場合について説明する。
クロック信号の立上がりに同期した時刻T0において、サーチ線対SLP0(ビット線対BLP0)に対して内部入力データID(「1」)に応じたデータが伝達される。具体的には、サーチ線SL0(ビット線BL0)および相補のサーチ線/SL0(ビット線/BL0)がそれぞれ「H」レベルおよび「L」レベルに設定される。これに応答して、メモリセルCAMCの比較部98において、トランジスタ92がターンオンする。メモリセルCAMCは、記憶データ「0」を記憶しているためセンスノードSN,/SNは、「L」レベルおよび「H」レベルにそれぞれ設定されている。したがって、比較部98において、センスノード/SNの電圧レベルに応答して、トランジスタ90がターンオンする。これに伴い、比較部98において、直列に接続されたトランジスタ90および92がともにターンオンして、マッチ線MLと接地電圧GNDが供給されるノードNqとが電気的に結合される。したがって、マッチ線MLの電圧レベルは、接地電圧GNDによりプリチャージされた所定の電圧レベル(「H」レベル)からプルダウンする。ゆえに、この場合には、メモリセルCAMCに記憶された記憶データと入力データとが不一致と判定され検索結果がミスとされる。
次に、検索結果後の時刻T1において、制御信号MLPRCは「L」レベルに設定される。これにより、マッチ線MLは所定の電圧レベル(「H」)にプリチャージされる。したがって、次のデータ検索動作の準備動作が完了する。
次に、クロック信号の立上がりに同期した時刻T2において、今度はサーチ線対SLP0に対して内部入力データID(「0」)に応じたデータが伝達される。具体的には、サーチ線SL0および相補のサーチ線/SL0がそれぞれ「L」レベルおよび「H」レベルに設定される。これに応答して、メモリセルCAMCの比較部98において、トランジスタ93がターンオンする。メモリセルCAMCは、上述したように記憶データ「0」を記憶しているため比較部98において、トランジスタ90がターンオンしている。したがって、比較部98において、マッチ線MLと接地電圧GNDが供給されるノードNqとは電気的に結合されない。これに伴い、マッチ線MLの電圧レベルは、所定の電圧レベル(「H」レベル)を維持する。ゆえに、この場合には、メモリセルCAMCに記憶された記憶データと入力データとが一致と判定され、検索結果がヒットとされる。また、次のクロック信号CLKの立ち上がりに同期して、時刻T3以降内部入力データの入力に応じて同様のデータ検索動作が実行される。
実際には、単体のメモリセルだけでなく、メモリセル行を構成する各メモリセルにおいて、同様の動作が並列に行なわれ、マッチ線MLの電圧レベルが設定される。具体的には、メモリセル行を構成するすべてのメモリセルCAMCの比較部98が対応するマッチ線MLと接地電圧GNDとを電気的に結合させない場合には対応するマッチ線MLは、所定の電圧レベル(「H」レベル)を維持する。すなわち、入力された内部入力データID[n−1:0]と、所定のメモリセル行の各メモリセルCAMCに記憶された記憶データとが一致したと判定することができる。
一方、メモリセル行を構成するメモリセルCAMCの比較部98のうち1つでも、対応するマッチ線MLと接地電圧GNDとを電気的に結合させる場合には対応するマッチ線MLは、接地電圧GNDの電圧レベル(「L」レベル)に設定される。すなわち、入力された内部入力データID[n−1:0]と、所定のメモリセル行の各メモリセルCAMCに記憶された記憶データとが不一致であると判定する。この動作が各メモリセル行で並列に実行され、マッチ線ML0〜MLm−1にそれぞれ設定された電圧レベルがマッチ信号としてマッチ線アンプ3を介してプライオリティエンコーダ4にそれぞれ入力される。
図5は、本発明の実施の形態1に従うフューズ回路20内に配置された回路群を示す概略ブロック図である。
図5を参照して、フューズ回路20は、2相クロック発生回路28と、カウンタ回路21,23と、デコーダ回路22と、フューズ群24と、フューズレジスタ25と、アドレス比較回路26と、フューズデータ発生回路27とを含む。
カウンタ回路21は、直列に接続された複数のフリップフロップ回路FFa0,FFa1,・・・FFaj−1を有する。カウンタ回路21は、クロック信号FCLKの入力に同期してカウンタアドレスFADD[j−1:0]をカウントアップしてアドレス値を一つずつインクリメントする。また、カウンタ回路21は、図示しないが、所定のカウンタ値の設定に基づいて制御信号ENを生成する回路を含む。所定のカウンタ値は、不良アドレスのビット長に対応する回数カウントアップしたアドレス値に設定される。具体的には、不良アドレスのビット長は、i+1ビットであり、所定のカウンタ値は、カウンタ回路21がi+1回カウントアップした値に設定される。
デコーダ回路22は、入力されるカウンタアドレスFADD[j−1:0]をそれぞれ反転させて、カウンタアドレスZFADD[j−1:0]として出力するインバータ群22Iと、デコード処理するAND回路群22Aおよび22Bとを含む。
AND回路群22Aは、並列に設けられた複数のAND回路を含む。AND回路群22Aは、所定のカウンタアドレスの組合せに応じて、各AND回路の出力信号である内部デコード信号ISF[i:0]を生成する。具体的には、内部デコード信号ISF<0>〜ISF<i>は、カウンタ回路21のカウントアップに同期して一つずつ順番に活性化(「H」レベル)される。AND回路群22Bは、並列に設けられた複数のAND回路を含む。AND回路群22Bを構成する複数のAND回路は、クロック信号FCLKと、内部デコード信号ISF<0>〜ISF<i>のそれぞれの入力を受けて、デコード信号SF[i:0](以下、総括的にデコード信号SFとも称する)を生成する。すなわち、デコード信号SF[i:0]は、クロック信号FCLKの立上がりに同期したタイミングで出力される。
したがって、たとえばカウンタ回路21のカウンタアドレスFADDのカウントアップに応答して、クロック信号FCLKに同期したタイミングでデコード信号SF<0>〜SF<i>が昇順的に「H」レベルに設定される。
フューズ群24は、不良メモリセル行のアドレスに対応する各ビット値を不揮発的に記憶する。フューズ群24は、不良メモリセル行を示す不良アドレスを構成する複数ビットにそれぞれ対応して設けられる複数のフューズユニットHUと、トランジスタPTとを含む。トランジスタPTは、一例としてPチャンネルMOSトランジスタとする。トランジスタPTは、電源電圧VCCと出力ノードNhとの間に配置され、そのゲートはクロック信号FCLKの入力を受ける。
複数のフューズユニットHUは、ノードNhとそれぞれ並列に接続される。上述したようにフューズユニットHUは、不良アドレスを示す各ビットに対応して設けられる。フューズユニットHUはフューズ素子HEとトランジスタATとを含む。なお、一例としてトランジスタATは、NチャンネルMOSトランジスタとする。
フューズ素子HEおよびトランジスタATは、接地電圧GNDと出力ノードNhとの間に直列に接続される。トランジスタATは、デコード信号SFの入力に基づいてフューズ素子HEとノードNhとを電気的に結合する。フューズ素子HEは、外部からのレーザー入力に応答して電気的に切断が可能なレーザフューズもしくは高電圧を印加することにより電気的に切断が可能な電気フューズを用いることができる。フューズ素子HEの電気的切断もしくは非切断状態により、不良アドレスの各ビットを不揮発的に記憶することができる。また、フューズ群24は、ノードNhに伝達された信号を制御信号FOUTとして出力する。
具体的には、フューズユニットHUにおいて、対応するトランジスタATがオンした場合にフューズ素子HEが切断されていれば出力ノードNhの電圧レベルは「H」レベルに設定される。一方、フューズ素子HEが非切断状態の場合には出力ノードNhの電圧レベルは「L」レベルに設定される。この出力ノードNhの電圧レベルが不良アドレスの「0」もしくは「1」に対応付けられる。
フューズレジスタ25は、フューズ群24から出力される制御信号FOUTをそれぞれラッチして不良アドレスF[i:0]としてアドレス比較回路26に伝達する。図5においては、フューズレジスタ25において、制御信号FOUTの入力に応じて1ビットの不良アドレスF<0>を保持する回路が代表的に示されている。なお、ここでは、「H」レベルおよび「L」レベルを「1」および「0」に対応付けて標記するものとする。例えば、制御信号FOUT(「H」レベル)が入力されれば不良アドレスF<0>は「1」である。一方、制御信号FOUT(「L」レベル)が入力されれば不良アドレスF<0>は「0」として説明する。
フューズレジスタ25は、トランジスタNT0とラッチ回路25Lとを含む。トランジスタNT0は、対応するデコード信号SF<0>の入力に応答して制御信号FOUTをラッチ回路25Lに伝達する。ラッチ回路25Lは、インバータ25Ia〜25Icを含む。インバータ25Iaと25Ibとは、クロスカップリングされる。インバータ25Icは、インバータ25Iaの出力信号を反転して、その反転信号を不良アドレスF<0>として出力する。したがって、伝達された制御信号FOUTと同じ論理レベルの不良アドレスF<0>が設定される。他の不良アドレスのビットについても同様に設定される。なお、一例としてトランジスタNT0は、NチャンネルMOSトランジスタとする。
ここで、フューズレジスタ25への不良アドレスの格納について説明する。カウンタ回路21のカウントアップにともない、デコード信号SFが生成される。このデコード信号SFの生成により、フューズ群24において、不良アドレスの各ビットに対応するフューズユニットHUが選択され、制御信号FOUTが生成される。フューズレジスタ25は、この生成された制御信号FOUTをデコード信号SFに応答して1ビットずつ格納する。この動作にともない、フューズレジスタ25に不良アドレスが設定される。
カウンタ回路23は、AND回路AD0と、直列に接続されたフリップフロップ回路FFb0〜FFbi−1を含む。AND回路AD0は、クロック信号FCLKと制御信号ENとの入力に応じて、そのAND論理演算結果を直列に接続された初段のフリップフロップ回路FFb0に伝達する。
カウンタ回路21は、所定のカウンタ値に到達したときに制御信号EN(「H」レベル)を伝達する。したがって、カウンタ回路23は、カウンタ回路21のカウントアップ後にカウンタアドレスR[i:0]のカウントアップを始める。
アドレス比較回路26は、カウンタ回路23から入力されるカウンタアドレスR[i:0]と、フューズレジスタ25にラッチされた不良アドレスF[i:0]とをそれぞれ比較して、比較結果に基づく制御信号HTを出力する。アドレス比較回路26は、カウンタアドレスR[i:0]と不良アドレスF[i:0]との1ビットずつを比較する排他的論理和回路EORと、排他的論理和回路EORの出力結果を受けてそのNOR論理演算結果を出力するNOR回路NR1と、NOR回路NR1の出力結果を受けてAND論理演算結果を出力するAND回路AD1とを含む。
アドレス比較回路26は、フューズレジスタ25がラッチする不良アドレスF[i:0]とカウンタ回路23によるカウントアップによりインクリメントされていくカウントアドレスR[i:0]とがすべて一致した場合に制御信号HTを「H」レベルとして出力する。この場合、全ての排他的論理和回路EORの出力信号が「L」レベルに設定される。これに伴い、全てのNOR回路NR1の出力信号が「H」レベルに設定される。したがって、AND回路AD1は、制御信号HTを「H」レベルに設定する。
フューズデータ発生回路27は、NAND回路NDと、インバータ27Ia〜27Icと、トランジスタNT1とを含む。トランジスタNT1は、一例としてNチャンネルMOSトランジスタとする。トランジスタNT1は、接地電圧GNDとノードNaとの間に配置され、そのゲートは制御信号HTの入力を受ける。インバータ27Iaは、ノードNaに伝達された信号を反転してノードNbに伝達する。NAND回路NDは、入力される制御信号RSTとノードNbに伝達された信号とのNAND論理演算結果をノードNaに伝達する。インバータ27Ibおよび27Icは、直列に接続され、ノードNbに伝達された信号をフューズデータFDとして出力する。このフューズデータFDが本実施の形態のロウデコーダおよびマッチ線アンプ3におけるシフト動作を指示するシフト制御信号SおよびZSを決定付ける。
フューズデータ発生回路27は、初期状態において、ノードNaを「H」レベルにラッチしている。したがって、フューズデータFDは「L」レベルに設定されている。アドレス比較回路26から出力される制御信号HT(「H」レベル)の入力に応じて、接地電圧GNDとノードNaとが電気的に結合される。これに伴い、ノードNaが「L」レベルに設定され、フューズデータFDは「H」レベルに設定される。制御信号RSTは、初期状態において「H」レベルに設定されている。したがって、NAND回路NDは、制御信号RSTとノードNbとの入力に応じて、ノードNaを「L」レベルに設定しラッチする。なお、制御信号RSTを「L」レベルに設定することにより、ノードNaを初期状態にリセットすることができる。
2相クロック発生回路28は、フリップフロップ回路FFc0およびFFc1と、AND回路AD2と、NOR回路NRRとを含む。フリップフロップ回路FFc0およびFFc1は、制御信号ENの入力に応答してそれぞれ活性化される。AND回路AD2およびNOR回路NRRは、フリップフロップ回路FFc0の出力ノードQから伝達される信号と、フリップフロップ回路FFc1の出力ノードQから伝達される信号のAND論理演算結果およびNOR論理演算結果をクロック信号FCLK1およびFCLK2としてそれぞれ出力する。
フリップフロップ回路FFc0は、クロック信号FCLKの入力を受け、フリップフロップ回路FFc1は、クロック信号FCLKの反転信号の入力を受ける。したがって、フリップフロップ回路FFc0の出力ノードQと、フリップフロップ回路FFc1の出力ノードQから伝達される信号は、入力されるクロック信号FCLKに対して半周期ずれた信号波形となる。これによりAND回路AD2およびNOR回路NRRからそれぞれ出力されるクロック信号FCLK1およびFCLK2は、入力されるクロック信号FCLKを同一パルス幅の2相のクロック信号に分割した波形となる。言い換えるならば、クロック信号FCLK1とFCLK2とを合成すればクロック信号FCLKに相当する。
図6は、図5で説明したフューズ回路20の動作を説明するタイミングチャート図である。
図6を参照して、コントロール回路10からクロック信号FCLKが入力される。これに応答して、カウンタ回路21はカウントアップを開始し、カウンタアドレスFADD[j−1:0]を生成する。このカウンタ回路21のカウントアップに基づき生成されるカウンタアドレスFADD[j−1:0]がデコーダ回路22に入力され、デコード信号SF<0>〜SF<i>が昇順的に1つずつ「H」レベルに設定される。これにより、このデコード信号SFに基づいてフューズ群24のフューズユニットHUがそれぞれ1つずつ活性化され、フューズレジスタ25に不良アドレスF[i:0]がそれぞれ格納される。
時刻Taにおいて、カウンタ回路21は所定のカウンタ値に到達する。これに伴いフューズレジスタ25への不良アドレスF[i:0]の転送(格納)が完了する。また、同様のタイミングにおいてカウンタ回路21は、所定のカウンタアドレス値の入力に基づいて制御信号EN(「H」レベル)を生成する。
この制御信号EN(「H」レベル)の入力に伴い、カウンタ回路23が活性化され、カウンタ回路23においてカウンタアドレスR[i:0]のカウントアップが開始される。
また、2相クロック発生回路28は、制御信号EN(「H」レベル)の入力に応答して、2相に分離されたクロック信号FCLK1およびFCLK2をそれぞれ出力する。
次に、時刻TbにおいてカウンタアドレスR[i:0]がインクリメントされてアドレス比較回路26においてフューズレジスタ25の不良アドレスと、カウンタ値とが一致する。これに伴い、制御信号HTが「H」レベルに設定される。
この制御信号HT(「H」レベル)の入力に伴い、フューズデータ発生回路27は、フューズデータFDを「1」(「H」レベル)としてラッチして出力し続ける。なお、初期状態においては、フューズデータFDを「0」(「L」レベル)としてラッチして出力し続ける。
時刻Tcにおいて、フューズデータFDの転送が完了する。
図7は、シフト情報ラッチ回路6の直列に接続されたラッチ部LTUの回路構成図である。
ラッチ部LTUは、入力ノードFCLKAおよびFCLKBに入力されるクロック信号FCLK1およびFCLK2に同期して、入力されるフューズデータFDをラッチしてシフト制御信号SおよびZSを設定するとともに、制御信号EN(「H」レベル)を次段のラッチ部LTUに伝達する。なお、入力ノードFCLKAおよびFCLKBに対して、クロック信号FCLK1およびFCLK2が直列に接続されたラッチ部LTU1段ずつ交互に入れ替えて入力される。具体的には、図2に示される様に、1段目のラッチ部LTUの入力ノードFCLKAおよびFCLKBには、クロック信号FCLK2およびFCLK1がそれぞれ入力される。2段目のラッチ部LTUの入力ノードFCLKAおよびFCKLKBには、クロック信号FCLK1およびFCLK2がそれぞれ入力される。以降のラッチ部LTUについても同様の方式にしたがって、クロック信号FCLK1およびFCLK2がそれぞれ入力される。
図7を参照して、本発明の実施の形態に従うラッチ部LTUは、ラッチ回路40と50とを含む。
ラッチ回路40は、インバータ41〜44と、トランスファーゲート45とを含む。
トランスファーゲート45は、入力ノードFCLKAに伝達されるクロック信号FCLK1(FCLK2)およびインバータ41を介するクロック信号FCLK1(FCLK2)の反転信号を受けて活性化され、入力ノードENiに伝達された信号をインバータ42に出力する。インバータ42は、トランスファーゲート45を介して入力される入力ノードENiから伝達された信号を反転してインバータ44に出力する。インバータ42および43は、クロスカップリングされる。インバータ44は、インバータ42の反転信号を出力ノードENoに伝達する。なお、初期状態において、ラッチ回路40は、インバータ42の出力信号を「H」レベルにラッチしている。ゆえに、初期状態において、制御信号ENは「L」レベルに設定されている。
ラッチ回路50は、NAND回路46と、トランスファーゲート47と、インバータ48〜53とを含む。
インバータ49および51は、クロスカップリングされる。インバータ52は、インバータ49から出力された信号を反転してシフト制御信号Sとして出力する。また、インバータ53は、シフト制御信号Sを反転してシフト制御信号ZSとして出力する。NAND回路46は、入力ノードFCLKBから入力されるクロック信号FCLK2(FCLK1)と、インバータ42から出力される信号とのNAND論理演算結果を出力する。トランスファーゲート47は、NAND回路46の出力信号およびインバータ48を介する反転信号の入力に応答して活性化され、フューズデータFDをインバータ49に出力する。
このラッチ部LTUの動作について説明する。ラッチ回路50において、入力ノードFCLKBに入力されるクロック信号の立上り(「H」レベル)および初期状態にラッチ回路40においてラッチされているインバータ42の出力信号(「H」レベル)に基づいてNAND回路46の出力信号は「L」レベルに設定される。これに応答して、トランスファーゲート47がオンし、フューズデータFDがインバータ49および51でラッチされる。次に、ラッチ回路40において、入力ノードFCLKAに入力されるクロック信号の立上り(「H」レベル)に同期して、トランスファーゲート45がオンする。これに伴い、入力ノードENiに入力された制御信号EN(「H」レベル)がインバータ42および43でラッチされ、出力ノードENoに伝達される。
図8は、本発明の実施の形態に従うシフト情報ラッチ回路のラッチ部LTUの動作を説明するタイミングチャート図である。特に、ここでは、1段目および2段目のラッチ部LTUの動作について説明する。なお、上述したように1段目のラッチ部LTUの入力ノードFCLKAおよびFCLKBには、それぞれクロック信号FCLK2およびFCLK1が入力される。一方、2段目のラッチ部LTUの入力ノードFCLKAおよびFCLKBには、それぞれクロック信号FCLK1およびFCLK2が入力される。
時刻T10において、カウンタ回路21のカウンタアドレスが所定のカウンタ値に到達する。次に、時刻T11において、上述したようにカウンタ回路21から制御信号EN(「H」レベル)が生成される。これに伴い、2相クロック発生回路28において、クロック信号FCLK1およびFCLK2が生成される。なお、時刻T11は、図6のタイミングチャートで説明した時刻Taと同一の時刻を指し示す。この時刻T11以降において、シフト情報ラッチ回路内において、直列に接続された複数のラッチ部LTUに対してそれぞれ順番にフューズデータFDが取り込まれる。
具体的には、時刻T11において、1段目のラッチ部LTUは、入力ノードFCLKBに入力されるクロック信号FCLK1の立ち上がりに同期してフューズデータFD(D0)をインバータ49および51によりラッチする。これに伴い、シフト制御信号SおよびZSが設定される。
次に、時刻T12において、入力ノードFCLKAに入力されるクロック信号FCLK2の立ち上がりに同期して制御信号EN(「H」レベル)をインバータ49および50によりラッチする。出力ノードENoは、「H」レベルに設定され、次段に制御信号EN(「H」レベル)を伝達する。この場合、インバータ49の出力信号は「L」レベルに設定される。したがって、ラッチ回路50のNAND回路46は、インバータ49から常に「L」レベルの信号入力を受けるためトランスファーゲート47は常にオフとなる。この動作に伴い、1段目のラッチ部LTUは、入力されたフューズデータFD(D0)に基づいて生成されるシフト制御信号SおよびZSをラッチし続ける。
2段目のラッチ部LTUについても同様に、時刻T12において、入力ノードFCLKBに入力されるクロック信号FCLK2の立ち上がりに同期してフューズデータFD(D1)をインバータ49および51によりラッチする。これに伴い、シフト制御信号SおよびZSが設定される。次に、時刻T13において、入力ノードFCLKAに入力されるクロック信号FCLK1の立ち上がりに同期して制御信号EN(「H」レベル)をインバータ42および43によりラッチする。これに伴い、上述したように、次段に制御信号EN(「H」レベル)が伝達する。この状態において、ラッチ回路50のNAND回路46は、インバータ49から常に「L」レベルの信号入力を受けるためトランスファーゲート47は常にオフとなる。したがって、1段目のラッチ部LTUと同様に、2段目のラッチ部LTUにおいても、入力されたフューズデータFD(D1)に基づいて生成されるシフト制御信号SおよびZSをラッチし続ける。
以降、同様の動作が繰り返すことにより、シフト情報ラッチ回路6の複数のラッチ部LTUに順番に下位アドレス側からフューズデータFDが入力され、各ラッチ部LTUにおいて、入力されるフューズデータFDに基づくシフト制御信号SおよびZSが設定される。
次に、ロウデコーダ5において、プリデコード回路15からのプリデコード信号XA,XB,XCに基づく選択動作ならびにシフト情報ラッチ回路6から伝達されるシフト情報に基づくシフト動作を実行する構成について説明する。
図9は、本発明の実施の形態に従うワード線選択ユニットWDUの回路構成図である。
図9を参照して、本発明の実施の形態に従うワード線選択ユニットWDUは、選択部55と、リセット部60と、インバータ64,65と、トランジスタ66,67とを含む。
選択部55は、プリデコード信号XA,XB,XCの入力に応じてノードN0にワード線WLを選択するための選択信号を生成する。
選択部55は、トランジスタ56〜58を含む。トランジスタ56〜58は、直列にノードN0と接地電圧GNDとの間に配置され、それぞれのゲートはプリデコード信号XA,XB,XCの入力を受ける。なお、トランジスタ56〜58,66,67は、一例としてNチャンネルMOSトランジスタとする。
ここで、プリデコード回路15からの入力は、プリデコード信号XA[j:0],XB[k:0],XC[l:0]である。ここでは、トランジスタ56〜58は、各プリデコード信号XA,XB,XCに対応して一つずつしか示されていないが、各プリデコード信号XA,XB,XCのビット毎に直列に複数のトランジスタを設けた構成を省略して示している。あるいは、各プリデコード信号XA,XB,XCにおいて、各プリデコード信号XA,XB,XCの所定の組合せに応じて活性化される信号がトランジスタ56〜58にそれぞれ入力される構成としてもよい。
以下、説明の容易化のためにプリデコード信号XA,XB,XCが所定の組合せである場合には、それぞれ「H」レベルに設定されたものとして説明する。
トランジスタ66は、ノードN0と出力ノードNRとの間に配置され、そのゲートはシフト制御信号Sの入力を受ける。トランジスタ67は、ノードN0とノードN1との間に配置され、そのゲートはシフト制御信号ZSの入力を受ける。また、ノードN1は、入力ノードSRと電気的に接続されている。
リセット部60は、ノードN1とノードN3との間に配置され、制御信号ZXRST(「L」レベル)の入力に応答して、ノードN3を初期状態(「L」レベル)にリセットする。リセット部60は、インバータ61と、トランジスタ62,63とを含む。トランジスタ62,63は、一例としてPチャンネルMOSトランジスタとする。
インバータ61は、ノードN1に伝達された信号を反転してノードN3に伝達する。トランジスタ62は、電源電圧VCCとノードN1との間に配置され、そのゲートはノードN3と電気的に結合される。トランジスタ63は、トランジスタ62と並列に電源電圧VCCとノードN1との間に配置され、そのゲートは制御信号ZXRSTの入力を受ける。
インバータ64および65は、直列に接続されノードN3に伝達された信号に基づいて対応するワード線WLを活性化させる。具体的には、ノードN3が「H」レベルに設定されれば対応するワード線WLを活性化する。また、ノードN3が「L」レベルの場合には、対応するワード線WLは非活性化状態となる。
一例として、プリデコード信号XA,XB,XCが全て「H」レベルに設定された場合、選択部55が活性化され、対応するワード線WLをアクセス(選択)する動作を実行する。なお、シフト制御信号SおよびZSはそれぞれ「L」レベルおよび「H」レベルに設定されているものとする。この場合、選択部55は、ノードN0を「L」レベルに設定し、インバータ61,64,65を介して、対応するワード線WLを活性化する。
一方、シフト制御信号SおよびZSがそれぞれ「H」レベルおよび「L」レベルに設定されている場合について説明する。この場合、ワード線選択ユニットWDUはシフト動作を実行する。具体的には、シフト制御信号S(「H」レベル)に応答して、トランジスタ66がオンする。これに伴い、出力ノードNRにノードN0の電圧レベル(「H」レベル)が伝達され、次段(上段)のワード線選択ユニットWDUの入力ノードSRにノードN0の電圧レベル(「H」レベル)が伝達される。これに伴い、次段(上位アドレス側)のワード線選択ユニットWDUの対応するワード線が活性化される。
図10は、シフト情報ラッチ回路6によりラッチされたフューズデータFDに基づいてロウデコーダ5およびマッチ線アンプ3において実行されるシフト動作を模式的に示す概念図である。たとえば、ここでは、ワード線WL1が不良である場合において、ワード線WL1に対応する不良アドレスがフューズ回路20のフューズ群24で記憶されているものとする。
これに伴い、シフト情報ラッチ回路6の1段目のラッチ部LTUにフューズデータFD(「0」)が入力され、2段目以降のラッチ部LTUにフューズデータ(「1」)が入力される。
この場合、1段目のラッチ部LTUは、上述したようにフューズデータFD(「0」)に応答してシフト制御信号S,ZSを「L」レベルおよび「H」レベルにそれぞれ設定する。一方、2段目以降のラッチ部LTUは、上述したようにフューズデータFD(「1」)に応答してシフト制御信号S,ZSを「H」レベルおよび「L」レベルにそれぞれ設定する。
したがって、ロウデコーダ5の1段目のワード線選択ユニットWDUは、シフト制御信号S,ZSに基づいて対応するワード線WLと電気的に結合される。
一方、ロウデコーダ5の2段目以降のワード線選択ユニットWDUは、シフト制御信号S,ZSに基づいて一つ上位のアドレスに対応するワード線WLと電気的に結合される。
これに伴い、不良のワード線WL1をアクセスしないようにシフト動作が実行され、不良メモリセル行に対応するワード線を冗長ワード線を用いて救済することができる。
次に、マッチ線MLに関して実行されるシフト動作について説明する。
図11は、本発明の実施の形態1に従うマッチアンプユニットUMAの回路構成図である。
図11を参照して、本発明の実施の形態1に従うマッチアンプユニットUMAは、トランジスタ75と、インバータ73,74と、スイッチ回路70とを含む。トランジスタ75は、一例としてPチャンネルMOSトランジスタとする。
トランジスタ75は、電源電圧VCCとノードN4との間に配置され、そのゲートは制御信号MLPRCの入力を受ける。コントロール回路10は、データ検索動作前において、制御信号MLPRC(「H」レベル)を「L」レベルに設定する。これに伴い、トランジスタ75がオンし、電源電圧VCCとノードN4とが電気的に結合される。これに伴い、対応するマッチ線MLと接続される入力ノードMLiと、電源電圧VCCとが電気的に接続され、プリチャージ動作が実行される。図11においては、点線でプリチャージが実行される際の電源電圧VCCの電圧供給経路が示されている。
インバータ73,74は、ノードN4とノードN5との間に直列に接続される。ノードN4は入力ノードMLiと電気的に結合され、入力ノードMLiは、対応するマッチ線MLと電気的に結合されている。ノードN5は、ノードN5に伝達される信号を下位アドレス(下段)に対応するマッチアンプユニットUMAに伝達するための出力ノードMLDと電気的に結合されている。
スイッチ回路70は、入力ノードMLUに入力される上位アドレス(上段)に対応するマッチアンプユニットUMAからの伝達信号と、ノードN5に伝達される信号とのいずれか一方をシフト制御信号SおよびZSに基づいて、出力ノードMLoに伝達する。
スイッチ回路70は、トランスファーゲート71,72を含む。トランスファーゲート71は、入力ノードMLUと出力ノードMLoとの間に配置される。一方、トランスファーゲート72は、ノードN5と出力ノードMLoとの間に配置される。トランスファーゲート71および72は、シフト制御信号SおよびZSに基づいて相補的に動作する。
具体的には、シフト制御信号SおよびZSが「L」レベルおよび「H」レベルに設定される場合には、ノードN5と出力ノードMLoとが電気的に結合される。したがって、ノードN5に伝達された信号がそのまま出力ノードMLoに伝達される。
一方、シフト制御信号SおよびZSが「H」レベルおよび「L」レベルに設定される場合には、入力ノードMLUと出力ノードMLoとが電気的に結合される。したがって、上位アドレスに対応するマッチアンプユニットUMAから伝達された信号が出力ノードMLoに伝達される。この場合においては、ノードN5に伝達された信号は、出力ノードMLDを介して下位アドレスに対応するマッチアンプユニットUMAに伝達される。
したがって、シフト制御信号S,ZSに基づいて、マッチ線MLに伝達された信号をシフトさせるシフト動作が実行される。
再び、図10を参照して、シフト情報ラッチ回路6に入力されたフューズデータFDが上記の具体例と同じ場合について説明する。
この場合においては、2段目以降のマッチアンプユニットUMAは、シフト制御信号S,ZSが「H」レベルおよび「L」レベルに設定されているため、入力ノードMLUと出力ノードMLoとが電気的に結合される。すなわち、上位アドレス(上段)に対応するマッチアンプユニットUMAから伝達された信号を出力ノードMLoから伝達する。
一方、1段目のマッチアンプユニットUMAは、シフト制御信号S,ZSが「L」レベルおよび「H」レベルに設定されているため、ノードN5と出力ノードMLoとが電気的に結合され、ノードN5に伝達された信号がそのまま出力ノードMLoに伝達される。
このシフト動作を実行することにより、データ読出および書込時においてアクセスする際に、ロウデコーダ5において1段上位のアドレスに移行したシフト動作をデータ検索動作時において1段下位のアドレスに再シフトさせることにより、後述するプライオリティエンコーダ4に対してもとの論理アドレス位置を示す信号を伝達することが可能となる。
図12は、本発明の実施の形態に従うプライオリティエンコーダ4の概略ブロック図である。
図12を参照して、プライオリティエンコーダ4は、メモリセル行にそれぞれ対応して設けられた複数のエンコーダユニットECUと、アドレス生成ユニット4#とを含む。
複数のエンコーダユニットECUは、マッチ線アンプ3の各マッチアンプユニットUMAからそれぞれ出力される4ビットずつのマッチ信号Mi[3:0]の入力を受けて、2ビットのアドレスKA[1:0]および制御信号HFをアドレス生成ユニット4#に伝達する。
アドレス生成ユニット4#は、複数のエンコーダユニットECUから伝達される2ビットのアドレスKA[1:0]および制御信号HFに基づいて、データ検索動作によりヒットしたメモリセル行のうち最上位のアドレスに対応するメモリセル行のアドレスIP[i:0]を生成する。
図13は、本発明の実施の形態に従うエンコーダユニットECUの回路構成図である。
このエンコーダユニットECUは、入力されるマッチ信号Mi[3:0]の入力に基づいて、エンコードしたアドレスKA[1:0]を生成する。
図13を参照して、本発明の実施の形態に従うエンコーダユニットECUは、OR回路80,81,84と、AND回路82,83とを含む。
OR回路80は、マッチ信号Mi<3>およびAND回路82の出力信号を受けてそのOR論理演算結果をアドレスKA<1>として出力する。AND回路82は、マッチ信号Mi<3>の反転信号およびマッチ信号Mi<2>の入力を受けてそのAND論理演算結果をOR回路80に出力する。AND回路83は、マッチ信号Mi<3>の反転信号およびマッチ信号Mi<2>の反転信号およびマッチ信号Mi<1>の入力を受けてそのAND論理演算結果をOR回路81に出力する。OR回路81は、マッチ信号Mi<3>およびAND回路83の入力を受けてそのOR論理演算結果をアドレスKA<0>として出力する。OR回路84は、マッチ信号Mi<0>〜Mi<3>の入力をそれぞれ受けてそのOR論理演算結果を制御信号HFとして出力する。
具体的には、入力されるマッチ信号Mi<0>〜Mi<3>のうち、上位のアドレスに対応するマッチ信号Miが入力された場合には、上位のアドレスKA[1:0]を生成する。一例としてマッチ信号Mi<3>が「H」レベルに設定された場合にはエンコードしたアドレスKA[1:0]は「11」に設定される。さらに、マッチ信号Miのいずれか1つが「1」である場合には制御信号HFは「1」に設定される。
アドレス生成ユニット4#は、各エンコーダユニットECUによって生成されたアドレスKA[1:0]および制御信号HFの入力に基づいて、ヒットしたメモリセル行のうちの最上位アドレスのアドレスIP[i:0]を生成する。たとえば、一例として、最も上位アドレス側のエンコーダユニットECUが生成する制御信号HFを優先させて、当該最も上位アドレス側のエンコーダユニットECUが生成するアドレスKA[1:0]の値をそのまま使用し、他の下位アドレス側のエンコーダユニットが生成するアドレスKA[1:0]の値を全て無視してアドレスIP[i:0]を生成することができる。
生成されたアドレスIP[i:0]は、出力バッファ8を介してアドレスP[i:0]として外部に出力される。
したがって、本構成においては、ロウデコーダ5において、シフト情報ラッチ回路6に入力されるフューズデータFDに基づいて、不良メモリセル行をアクセスしないようにシフト動作を実行することができる。また、マッチ線アンプ3において、フューズデータFDに基づいて、シフト動作により移行したメモリセル行を再シフトさせてもとの論理アドレス位置のメモリセル行の入力としてプライオリティエンコーダ4に入力することにより適切な最上位のメモリセル行のアドレスを出力することができる。
また、本構成においては、シフト情報ラッチ回路6にラッチされるフューズデータFDに応じて生成されるシフト制御信号S,ZSに基づいてシフト動作が実行されるため不良アドレスのデコード処理に用いられるデコーダ回路を配置する必要がない。また、デコーダ回路を配置した場合に設けられる必要のある、入力するアドレスを伝達する信号線も配置する必要がなく、回路面積の縮小を図ることができる。また、配線数を減少させることにより、配線レイアウトを容易にすることにより回路設計を容易に実行することができる。
また、本構成の如くロウデコーダ5とプライオリティエンコーダ4とを隣接配置することによりシフト制御ラッチ回路から伝達するシフト制御信号を伝達するための信号線をメモリアレイ上に配線することがなく配線効率を高めることができる。
なお、本実施の形態においては、不良アドレスに基づくシフト動作を実行するための制御回路の一例としてシフト情報ラッチ回路を用いた構成について説明してきたがこれに限られず、他の構成にしたがってシフト動作を実行することも可能である。
(実施の形態1の変形例1)
本実施の形態1の変形例1においては、シフト制御信号に基づいてシフト動作を実行するロウデコーダ5と置換可能なロウデコーダ5#の構成について説明する。
図14は、本発明の実施の形態1の変形例1に従うCAM1を詳細に説明するブロック概略図である。
図14を参照して、図2のブロック概略図と比較して異なる点は、ロウデコーダ5をロウデコーダ5#に置換した点である。その他の点は、図2で説明した構成と同様であるのでその詳細な説明は繰り返さない。
ロウデコーダ5#は、ロウデコーダ5と比較して、ワード線選択回路30をワード線選択回路30#に置換した点が異なる。その他の点は同様であるのでその詳細な説明は繰り返さない。
ワード線選択回路30#は、メモリセル行にそれぞれ対応して設けられる複数のワード線選択ユニットWDU#を含む。
図15は、本発明の実施の形態1の変形例1に従う複数のワード線選択ユニットWDU#の回路構成図である。
図15を参照して、ここでは一例として、ワード線WL0〜WLm−1が示され、このワード線WL0〜WLm−1にそれぞれ対応して設けられる複数のワード線選択ユニットWDU#が示されている。なお、ワード線選択ユニットWDU#は、複数のワード線選択ユニットを総称したものである。なお、ワード線WLm−1は、冗長ワード線として設けられたものである。
各ワード線選択ユニットWDU#は、最上段のワード線WLm−1に対応するワード線選択ユニット以外については、各ワード線選択ユニットは同じ構成である。
一例として、ワード線WLm−2に対応するワード線選択ユニットWDU#について説明する。
ワード線選択ユニットWDU#は、プリデコード信号XA,XBおよびXCの入力を受けて所定の組合せに基づいて「L」レベルの信号を出力する論理ユニット85と、シフト制御信号Sの反転信号および論理ユニット85の反転信号の入力を受けて、そのAND論理演算結果を出力するAND回路86と、ワード線WLm−3に対応する前段のワード線選択ユニットの論理ユニット85の出力信号の反転信号および前段のワード線選択ユニットに入力されるシフト制御信号の入力を受けて、そのAND論理演算結果を出力するAND回路87と、AND回路86,87の入力を受けてそのOR論理演算結果を出力するOR回路88と、図示しないバッファ回路とを含む。
他のワード線選択ユニットWDU#についても同様の方式に従って構成され、最下段のワード線選択ユニットWDU#0のAND回路87には、前段のワード線選択ユニットの入力信号として接地電圧GND(「L」レベル)が入力されるものとする。
一方、最上段のワード線WLm−1に対応するワード線選択ユニットは、AND回路86,87と、OR回路88と、バッファ回路を構成するインバータ68と、リセット回路60とを含む。AND回路86の入力ノードのそれぞれは、電源電圧VCC(「H」レベル)の反転信号の入力を受ける。AND回路87の入力ノードの一方は、前段のワード線選択ユニットの論理ユニット85の出力信号の反転信号の入力を受け、他方の入力ノードは、前段のワード線選択ユニットWDU#に入力されるシフト制御信号Sの入力を受ける。OR回路88は、AND回路86および87のそれぞれの出力信号を受けて、そのOR論理演算結果をインバータ68およびリセット部60とに出力する。このリセット部60に含まれるインバータ61と、インバータ68によりOR回路88から出力される信号を増幅して出力するバッファ回路が形成される。他のワード線選択ユニットについても、ここでは図示していないが同様に、インバータ68およびリセット部60とが同様に設けられてバッファ回路を形成している。
本実施の形態1の変形例1に従うワード線選択ユニットWDU#の動作について説明する。
ワード線選択ユニットWDU#は、プリデコード信号15から入力されるプリデコード信号XA,XBおよびXCの入力に基づいて、対応するワード線WLのアクセス(選択動作)を実行するとともにシフト情報ラッチ回路6の対応するラッチ部LTUから入力されるシフト制御信号Sに基づいて対応するワード線WLの選択動作をシフトさせるシフト動作を実行する。
具体的には、プリデコード信号XA,XB,XCの入力に基づいて、ワード線選択ユニットWDU#の対応するワード線が活性化される場合、シフト制御信号Sに基づいて、対応するワード線を活性化するか、次段のワード線選択ユニットWDU#を駆動してワード線WLを選択するかどうかを決定する。プリデコード信号XA,XBおよびXCに基づいて、論理ユニット85が「L」レベルの信号を出力した場合、対応するシフト制御信号Sが「L」レベルであれば、選択されたワード線WLのアクセスを実行する。一方、対応するシフト制御信号Sが「H」レベルであれば、論理ユニット85およびシフト制御信号Sがともに次段のワード線選択ユニットに伝達され、次段のワード線選択ユニットに対応するワード線WLが選択される。すなわち、一段上段にシフトした選択動作が実行される。
したがって、実施の形態1のワード線選択ユニットWDUと同様、シフト制御信号に基づいて不良のワード線をアクセスしないようにシフト動作が実行され、不良メモリセル行に対応するワード線を冗長ワード線、本例においては、ワード線WLm−1を用いて救済することができる。
(実施の形態1の変形例2)
上記の実施の形態1および変形例1においては、冗長メモリセル行を用いて1段すなわち1つのメモリセル行のシフト動作を実行することにより不良メモリセル行を救済する方式について説明してきたが、実際には不良メモリセル行に隣接するメモリセル行に関しても不良となる場合が多く、それら隣接するメモリセル行についてもアクセスしないように冗長メモリセル行を用いて救済する方が効率的である。
本実施の形態1の変形例2においては、一組を構成するワード線群毎にシフト動作を実行する方式について説明する。
図16は、本発明の実施の形態1の変形例2に従うCAM1を詳細に説明するブロック概略図である。
図16を参照して、図15のブロック概略図と比較して主に異なる点は、ロウデコーダ5#をロウデコーダ5#aに置換した点である。本例においては、4つのメモリセル行を一組のワード線群として、そのシフト動作を実行する方式について説明する。これに従い、各回路において、この方式に併せた変更が成されている。
メモリアレイ2は、4本ずつのワード線WLおよびマッチ線MLを一組とする。たとえば、ここでは、ワード線WL0〜WL3およびマッチ線ML0〜ML3が一組のワード線群およびマッチ線群として示されている。他の例についても同様である。
また、シフト情報ラッチ回路6において、一組のワード線群毎に対応してラッチ部LTUが設けられる。
また、マッチ線アンプ3は、一組のワード線群毎に対応してマッチアンプユニットUMAが設けられ、データ検索時に4本のマッチ線MLを一組としてマッチ信号の入力を受けて、増幅して4ビットずつの増幅したマッチ信号をプライオリティエンコーダ4に出力する。プライオリティエンコーダ4は、データ検索時にマッチ線アンプ3から伝達された4ビットずつの増幅したマッチ信号をそれぞれ受けて、一致した最上位のアドレスIP[i:0]を生成する。
ロウデコーダ5#aは、ロウデコーダ5#と比較して、ワード線選択回路30をワード線選択回路30#aに置換した点が異なる。また、本例においては、プリデコード信号XA[1:0],XB[k:0]およびXC[l:0]がプリデコード回路15から生成され、ワード線選択回路30に入力されるものとする。その他の点は同様であるのでその詳細な説明は繰り返さない。
ワード線選択回路30#aは、4個のメモリセル行を一組として複数の組にそれぞれ対応して設けられる複数のワード線選択ユニットWDU#aを含む。
図17は、本発明の実施の形態1の変形例2に従う複数のワード線選択ユニットWDU#aの回路構成図である。
図17を参照して、ここでは一例として、4本ずつ1組のワード線WL<3:0>〜WL<m+3:m>が示され、このワード線WL<3:0>〜WL<m+3:m>の組にそれぞれ対応して設けられる複数のワード線選択ユニットWDU#aが示されている。なお、ワード線選択ユニットWDU#aは、複数のワード線選択ユニットを総称したものである。なお、ワード線WL<m+3:m>は、4本の冗長ワード線で構成される1組の冗長ワード線群として設けられたものである。なお、本例において、P<x:0>の記号は、P0〜Pxを指し示すものとする。
各ワード線選択ユニットWDU#aは、最上段のワード線WLm−1に対応するワード線選択ユニット以外については、各ワード線選択ユニットは同じ構成である。
一例として、ワード線WL<m−1:m−4>に対応するワード線選択ユニットWDU#aについて説明する。
ワード線選択ユニットWDU#aは、プリデコード信号XBおよびXCの入力を受けて所定の組合せに基づいて「L」レベルの信号を出力する論理ユニット85aと、シフト制御信号Sの反転信号および論理ユニット85aの反転信号の入力を受けて、そのAND論理演算結果を出力するAND回路86と、ワード線WL<m−5:m−8>に対応する前段のワード線選択ユニットの論理ユニット85aの出力信号の反転信号および前段のワード線選択ユニットに入力されるシフト制御信号の入力を受けて、そのAND論理演算結果を出力するAND回路87と、AND回路86,87の入力を受けてそのOR論理演算結果を出力するOR回路88と、OR回路88の出力信号およびプリデコード信号XA[1:0]の入力を受けて、所定の組合せに基づいて「L」レベルの信号を出力する論理ユニット89と、図示しないバッファ回路とを含む。
ここでは、図示されていないが、論理ユニット89は、バッファ回路を介して対応する4本のワード線と電気的に結合されている。本例においては、4本のワード線WL<m−1:m−4>のそれぞれと電気的に結合されている。
他のワード線選択ユニットWDU#aについても同様の方式に従って構成され、最下段のワード線選択ユニットWDU#a0のAND回路87には、前段のワード線選択ユニットの入力信号として接地電圧GND(「L」レベル)が入力されるものとする。
一方、最上段のワード線WLm−1に対応するワード線選択ユニットは、AND回路86,87と、OR回路88と、論理ユニット89と、バッファ回路を構成するインバータ68と、リセット回路60とを含む。AND回路86の入力ノードのそれぞれは、電源電圧VCC(「H」レベル)の反転信号の入力を受ける。AND回路87の入力ノードの一方は、前段のワード線選択ユニットの論理ユニット85aの出力信号の反転信号の入力を受け、他方の入力ノードは、前段のワード線選択ユニットWDU#に入力されるシフト制御信号Sの入力を受ける。OR回路88は、AND回路86および87のそれぞれの出力信号を受けて、そのOR論理演算結果をインバータ68およびリセット部60とに出力する。このリセット部60に含まれるインバータ61と、インバータ68によりOR回路88から出力される信号を増幅して出力するバッファ回路が形成される。他のワード線選択ユニットについても、ここでは図示していないが同様に、インバータ68およびリセット部60とが同様に設けられてバッファ回路を形成している。
本実施の形態1の変形例2に従うワード線選択ユニットWDU#aの動作について説明する。
ワード線選択ユニットWDU#aは、プリデコード信号15から入力されるプリデコード信号XBおよびXCの入力に基づいて、対応するワード線群のアクセス(選択動作)を実行するとともにシフト情報ラッチ回路6の対応するラッチ部LTUから入力されるシフト制御信号Sに基づいて対応するワード線群の選択動作をシフトさせるシフト動作を実行する。
具体的には、プリデコード信号XB,XCの入力に基づいて、ワード線選択ユニットWDU#の対応するワード線群が選択される。プリデコード信号XB,XCの入力に基づいて、ワード線選択ユニットWDU#の対応するワード線群が選択される場合、シフト制御信号Sに基づいて、対応するワード線群を選択するか、次段のワード線選択ユニットWDU#を駆動して次段の対応するワード線群を選択するかどうかを決定する。
プリデコード信号XBおよびXCに基づいて、論理ユニット85aが「L」レベルの信号を出力した場合、対応するシフト制御信号Sが「L」レベルであれば、選択されたワード線群のアクセスを実行する。一方、対応するシフト制御信号Sが「H」レベルであれば、論理ユニット85aおよびシフト制御信号Sがともに次段のワード線選択ユニットに伝達され、次段のワード線選択ユニットに対応するワード線群のアクセスを実行する。すなわち、一段上段にシフトした選択動作が実行される。
次に、そのワード線群の選択動作に伴い、それに含まれるワード線の選択動作が実行される。具体的には、OR回路88の出力信号の入力とともに、論理ユニット89に入力される2ビットのプリデコード信号XA[1:0]に基づいて4本のワード線WLのうちの1本の選択動作が実行される。たとえばプリデコード信号XAが上位ビット側から「11」であれば選択されたワード線群のうちの最上段のワード線が選択され、上位ビット側から「00」であれば選択されたワード線群のうちの最下段のワード線が選択されるように設定することが可能である。
図18は、シフト情報ラッチ回路6によりラッチされたフューズデータに基づいてロウデコーダ5#aにおいて実行されるシフト動作を模式的に示す概念図である。たとえば、ここでは、ワード線WL6が不良である場合において、ワード線WL6が属するワード線群に対応する不良アドレスがフューズ回路20で記憶されているものとする。
これに伴い、上述したのと同様の方式に従って、シフト情報ラッチ回路6の1段目のラッチ部LTUから昇順的にフューズデータFDが入力される。これに伴い、各ラッチ部LTUは、入力されるフューズデータFDに従って、シフト制御信号SおよびZSを設定し、ロウデコーダ5#aの対応するワード線選択ユニットWDU#aに伝達される。
本例においては、1段目のラッチ部LTUにフューズデータFD(「0」)が入力され、ラッチ部LTUは、これに応答してシフト制御信号SおよびZSを「L」レベルおよび「H」レベルにそれぞれ設定する。一方、2段目のラッチ部LTUおよびそれ以降のラッチ部LTUには、フューズデータFD(「1」)が入力され、各ラッチ部LTUは、これに応答してシフト制御信号SおよびZSを「H」レベルおよび「L」レベルにそれぞれ設定する。
したがって、ロウデコーダ5#aの1段目のワード線選択ユニットWDU#aは、シフト制御信号S(「L」レベル)に基づいて対応するワード線群を選択する。一方、2段目以降のワード線選択ユニットWDU#aは、シフト制御信号S(「H」レベル)に基づいて次段のワード線選択ユニットの対応するワード線群をそれぞれ選択する。
本発明の実施の形態1の変形例2に従う構成においては、シフト制御信号に基づいて1組のワード線群のシフト動作が実行される。すなわち、1組のワード線群に対応する複数のメモリセル行のうち不良メモリセル行が含まれている場合には、冗長ワード線群を用いて、その1組のワード線群を救済することができる。
データ検索動作についても同様の方式に従うシフト動作が実行される。具体的には、図11で説明したのと同様の方式に従って、シフト制御信号S,ZSに基づいて、1個ずつではなく、4個ずつのマッチ線MLに伝達された信号をシフトさせるシフト動作が実行される。このシフト動作を実行することにより、データ読出および書込時において、アクセスする際に、ロウデコーダ5#aにおいて1段上位のアドレスに移行したシフト動作をデータ検索時において、1段下位のアドレスに再シフトさせることにより、もとの論理アドレス位置を示す信号を伝達することが可能となる。
次に、このシフト動作によりシフトされたマッチ信号が4ビットのマッチ信号として図12で示したプライオリティエンコーダ4に入力され、同様の方式に従って、データ検索動作時に一致したメモリセル行に対応する適切なアドレスIP[i:0]を生成することができる。
なお、本例においては、4個のメモリセル行を一組としてシフト動作を実行する構成について説明したが、これに限られず同様の方式に従ってn個(n:2以上)のメモリセル行を一組としてシフト動作を実行することも可能である。
したがって、本実施の形態1の変形例2の構成により、冗長メモリセル行群を用いて効率的な救済が可能である。また、本構成の如く、ワード線WL4本毎に上述のシフト動作を実行するワード線選択ユニットWDU#aを設けるため、ワード線WL1本毎にシフト動作を実行するワード線選択ユニットWDUおよびWDU#よりも部品点数や配線数を削減することができる。また、特に各回路の微細化が進むなか、所定本ずつに対応してシフト動作を実行するワード線選択ユニットを設けることによりレイアウト効率を改善することができる。
(実施の形態1の変形例3)
本発明の実施の形態1においては不良メモリセル行を救済する冗長救済構成について説明してきた。
本発明の実施の形態1の変形例3においては、一致比較動作を実行するCAMにおいて、データ検索動作時における消費電力を低減する構成について説明する。
図19は、本発明の実施の形態1の変形例3に従うシフト情報ラッチ回路6♯の概略ブロック図である。
図19を参照して、本発明の実施の形態1の変形例3に従うシフト情報ラッチ回路6♯は、実施の形態1の図2で説明したシフト情報ラッチ回路6と比較して、NAND回路群36をさらに設けた点が異なる。
NAND回路群36は、複数のラッチ部LTUにそれぞれ対応して設けられた複数のNAND回路NDDを含む。ここでは、j−1番目〜j+1番目のラッチ部LTUと、それに対応して設けられたNAND回路NDDj−1〜NDDj+1が示されている。NAND回路NDDは、複数のNAND回路を総括的に表記したものである。
NAND回路NDDは、対応するラッチ部LTUから出力されるシフト制御信号Sおよび下位アドレス(前段)に対応するラッチ部LTUから生成されるシフト制御信号ZSの入力を受けてそのNAND論理演算結果を制御信号MLDSとして出力する。図19においては、NAND回路NDDj−1〜NDDj+1からそれぞれ出力される制御信号MLDSj−1〜MLDSj+1が示されている。なお、最下位のアドレスに対応するNAND回路NDD0に入力されるシフト制御信号ZSとして「H」レベルが常に入力されるものとする。
たとえば、NAND回路NDDjについて考えるとシフト制御信号Sが「H」レベルであり、NAND回路NDDj−1のシフト制御信号ZSが「H」レベルである時のみ制御信号MLDSjを「L」レベルに設定する。それ以外の場合においては、「H」レベルに設定される。いいかえるならばj番目のラッチ部LTUにフューズデータFD(「1」)が入力され、j−1番目のラッチ部LTUにフューズデータFD(「0」)が入力された場合のみに、制御信号MLDSjは「L」レベルに設定される。
図20は、本発明の実施の形態1の変形例3に従うマッチアンプユニットUMA♯の概略ブロック図である。ここでは代表的にj−1番目〜j+1番目のマッチアンプユニットUMA♯が示されている。
図20を参照して、実施の形態1の変形例3に従うマッチアンプユニットUMA♯は、実施の形態1の図11で説明したマッチアンプユニットUMAと比較してNAND回路76をさらに含めた点で異なる。
j+1番目のマッチアンプユニットUMA#において、NAND回路76は、制御信号MLPRCと制御信号MLDSj+1の入力に基づいてそのNAND論理演算結果をトランジスタ75のゲートに出力する。
他のマッチアンプユニットUMA#についても同様の構成であるのでその詳細な説明は繰り返さない。
したがって、制御信号MLDSj+1が「H」レベルに設定されている場合には、制御信号MLPRCの入力に応答してトランジスタ75がオンするが、制御信号MLDSj+1が「L」レベルに設定されている場合には、トランジスタ75は常にオフである。
したがって先ほどの例のように、制御信号MLDSjが「L」レベルの場合には、対応するマッチ線MLに対して上述したプリチャージ動作は実行されない。
上記の実施の形態1においては、データ検索動作前のプリチャージ動作においては、制御信号MLPRC(「H」レベル)の入力にともない、全てのマッチ線MLがプリチャージされる構成を採用していた。
しかしながら、不良のメモリセル行に対応するマッチ線MLに対してプリチャージ動作を実行する必要性は無い。一方、対応するマッチ線MLが不良である場合にプリチャージ動作を実行した場合には、異常リーク電流が生じる可能性があり、デバイスの欠陥を生じる可能性がある。
本実施の形態1の変形例3に従う構成により、NAND回路群36を設けることにより、不良メモリセル行に対応するNAND回路NDDのみ制御信号MLDSを「L」レベルに設定する。したがって、マッチアンプユニットUMA#において、不良メモリセル行に対応するマッチ線MLに対してプリチャージ動作は実行されない。
これにより、有効なマッチ線MLに対してのみプリチャージ動作を実行するためCAMデバイスの消費電力を低減することができる。
(実施の形態2)
本実施の形態2においては、メモリセルCAMCと置換可能なメモリセルCAMC♯の構成について説明する
メモリセルCAMC#は、いわゆるTCAMセルと称されるものである。
図21は、本発明の実施の形態2に従うメモリセルCAMC♯の構成図である。
図21を参照して、メモリセルCAMC♯は、2つのメモリセルユニットMCUa,MCUbと、比較部98と、ゲートトランジスタGTL,/GTL,GTR,/GTRを含む。
メモリセルユニットMCUaは、ビット線対BLLPに対応して設けられる。メモリセルユニットMCUbは、ビット線対BLRPに対応して設けられる。メモリセルユニットMCUaおよびMCUbは、実施の形態1で説明したメモリセルユニットMCUと等価な回路構成であり、その詳細な説明は繰り返さない。すなわち、上述したように、各メモリセルユニットMCUaおよびMCUbは、記憶するデータに応じて、2つのセンスノードの一方および他方をそれぞれ異なる電圧レベルに設定するフリップフロップ回路として機能する。
ゲートトランジスタGTLは、メモリセルユニットMCUaのセンスノードSNLとビット線対BLLPのビット線BLLとの間に配置され、そのゲートはワード線WLと電気的に結合される。ゲートトランジスタ/GTLは、メモリセルユニットMCUaのセンスノード/SNLと相補のビット線/BLLとの間に配置され、そのゲートはワード線WLと電気的に結合される。ゲートトランジスタGTRは、メモリセルユニットMCUbのセンスノードSNRとビット線対BLRPのビット線BLRとの間に配置され、そのゲートはワード線WLと電気的に結合される。ゲートトランジスタ/GTRは、センスノード/SNRとビット線対BLRPの相補のビット線/BLRとの間に配置され、そのゲートはワード線WLと電気的に結合される。
比較部98は、メモリセルユニットMCUaのセンスノード/SNLおよびメモリセルユニットMCUbのセンスノードSNRの電圧レベルに対応するデータ対と、サーチ線対SLPに伝達される入力データをそれぞれ受けて、その比較結果に基づいた信号をマッチ線MLに伝達する。
比較部98は、トランジスタ94〜97を含む。トランジスタ94〜97は、一例としてNチャンネルMOSトランジスタとする。トランジスタ94と95は、接地電圧GNDが供給されるノードN6とノードN7との間に直列に接続され、それぞれのゲートはセンスノード/SNLとサーチ線/SLと電気的に結合される。トランジスタ96および97は、接地電圧GNDが供給されるノードN6とノードN7との間に直列に接続され、それぞれのゲートはセンスノードSNRとサーチ線SLと電気的に結合される。ノードN7は、マッチ線MLと電気的に結合される。マッチ線MLは、上述したようにデータ検索動作前において、電源電圧VCCの電圧レベルにプリチャージされている。
CAMとTCAMの違いはそのメモリセルが2値記憶か3値記憶かの違いにある。TCAMのメモリセルは、「0」,「1」,「X(ドントケア)」の3状態を記憶する。
仮にこのメモリセルCAMC♯がデータ「0」を記憶している場合について考える。本例においてはデータ「0」の記憶状態をセンスノード/SNLが「L」レベル、センスノードSNRが「H」レベルに対応付けられるものとする。
データ検索動作が行なわれ、サーチ線対SLPにデータ「0」が入力された場合を考える。本例においてはサーチ線SLが「L」レベルに設定され相補のサーチ線/SLが「H」レベルに設定されるものとする。
この場合、比較部98において、トランジスタ96および95がターンオンするが、マッチ線MLは、接地電圧GNDと電気的に結合されず、マッチ線MLは電源電圧VCCの電圧レベルを維持する。上述したようにこの場合入力データと検索データとがヒットしたものとする。
一方、サーチ線対SLPにデータ「1」が入力された場合について考える。本例においてはサーチ線SLが「H」レベルに設定され、相補のサーチ線/SLは「L」レベルに設定されるものとする。
この場合、比較部98において、トランジスタ96および97がターンオンする。これに伴い、マッチ線MLとノードN6とが電気的に結合される。すなわち、マッチ線MLの電圧レベルは接地電圧GNDによりプルダウンされる。上述したようにこの場合入力データと検索データとはミスしたものとする。
したがって、メモリセルCAMC#においても、CAMメモリセルCAMCと同様の検索動作を実行することができる。
また、これに加えてメモリセルCAMC♯は、さらにもう1つの状態「X(ドントケア)」という状態を記憶する。この記憶状態は、センスノード/SNLおよびセンスノードSNRがともに「L」レベルに設定されている場合に対応付けられる。
データ検索動作を実行した場合、センスノード/SNLおよびセンスノードSNRがともに「L」レベルであるため比較部98のトランジスタ94および96のいずれもターンオフ状態にある。したがって、サーチ線対SLPにデータ「0」および「1」を入力した場合、いずれも接地電圧GNDとマッチ線MLとが電気的に結合されることはなく比較結果は常にヒットとなる。したがって、メモリセルCAMC#は、常にヒットする「X」状態を記憶することができる。
検索情報を構成する検索データを、3値データビットの組合せで構成する場合、ネットワークシステムにおいてIP(インターネット・プロトコル)パケットに対する処理などを行なう場合に、特に有効である。たとえば、今、簡単化のために、パケットの行先アドレスが、4ビットで表現されると仮定する。あるパケットの行先アドレスが“1***”(先頭ビットが“1”であれば、残りのアドレスビットはどのような値を取ってもよい)の場合、ある所定の処理を、そのパケットに対して行なうことを考える。パケットが、システムに到着した際に、その行先アドレスを検索して、アドレス“1***”と一致するかどうかを判定するために、CAMまたはTCAMの連想記憶メモリが用いられるとする。
この場合、パケットが到着する前に、CAMまたはTCAMには、“1***”というデータを記憶しておく必要がある。通常の2値記憶のCAMを用いた場合、“1000”、“1001”、“1010”、“1011”、“1100”、“1101”、“1110”、および“1111”の8状態を記憶しておく必要があり、したがって、このパケットの行先アドレス検索のために、8ワードが消費される。
一方、TCAMにおいては、「X」状態を記憶することができるため、“1XXX”の1個のワードを記憶することが要求されるだけである。行き先アドレスのビット数がさらに増大すると、この使用されるワードの数の差がさらに大きくなる。したがって、TCAMを用いた場合、多様なデータを少ないワード数で記憶することができる。実際には、IPパケットには、行先アドレスに加えて、送信元のIPアドレス、通信品質を示す情報、およびIPプロトコルのバージョン番号などの種々の情報が含まれている。したがって、これらの情報に対し検索処理を行なう場合に、TCAMが、非常に有用である。
TCAMメモリセルとCAMメモリセルは、セル構造が異なるのみでマッチ線MLを用いた検索動作は共通するので、実施の形態1に示すメモリセルアレイへ適用することが可能である。この場合には、冗長救済構成については、図2に示したのと同様の構成を用いることができる。
したがって、本実施の形態2において示されるTCAMメモリセルをCAMメモリセルの代わりに用いることにより、さらに有用な連想メモリを構成することができる。
(実施の形態2の変形例)
本実施の形態2の変形例においては、他のTCAMメモリセルの構成について説明する。
図22は、本実施の形態2の変形例に従うメモリセルCAMCaの回路構成図である。
図22を参照して、メモリセルCAMCaは、1ビットのデータを記憶する記憶部SUと、記憶部SUに格納されたデータと検索線SLおよび/SLを介して伝達される検索データビットとを比較する比較回路98とを含む。
記憶部SUは、データ書込時、ワード線(選択線)WLe上の信号に応答してビット線BLおよび/BLに伝達された相補書込データを格納するツインセルTW0と、ワード線WLo上の信号電位に応答して、データ書込時、ビット線BLおよび/BL上に伝達された相補データを格納するツインセルTW1を含む。ビット線BLおよび/BLには、常に、相補データが伝達される。
また、検索線SLおよび/SLにおいても、検索データに対応する相補データが転送される。
本実施の形態2の変形例に従うメモリセルCAMCaの記憶データの1ビットは、ツインセルTW0およびTW1の2つの相補記憶データにより表現される。
ツインセルTW0は、ワード線WLeとビット線BLの交差部に対応して配置されるダイナミックセルMC1と、ワード線WLeとビット線/BLの交差部に対応して配置されるダイナミックセルMC2を含む。ツインセルTW1は、ワード線WLoとビット線BLの交差部に対応して配置されるダイナミックセルMC3と、ワード線WLoとビット線/BLの交差部に対応して配置されるダイナミックセルMC4を含む。
これらのダイナミックセルMC1〜MC4は、それぞれ、データを電荷の形態で格納するキャパシタNQと、対応のワード線上の信号に応答して、キャパシタと対応のビット線(BLまたは/BL)に結合するアクセストランジスタNTを含む。これらのダイナミックセルMC1〜MC4は、それぞれ、1トランジスタ/1キャパシタ型のDRAM(ダイナミック・ランダム・アクセス・メモリ)セルと同様の構成を有する。
ダイナミックセルMC1〜MC4のキャパシタMQの一方電極は共通に、セルプレート電圧VCPが与えられる。ダイナミックセルMC1〜MC4のキャパシタNQの他方電極ノードが、ストレージノードSN1〜SN4として用いられて、それぞれに、記憶データに対応する電荷が蓄積される。
この記憶部SUは、したがって、4ビットのダイナミックセルで構成される。ツインセルTW0およびTW1は、それぞれ、相補データを格納する。これらの4ビットのダイナミックセルで、1ビットの検索データに対応するデータを記憶する。
比較回路98は、実施の形態2で説明したのとほぼ同様の構成であるが、トランジスタ94およびトランジスタ96はそれぞれストレージノードSN1およびSN4と電気的に結合される。
本実施の形態2の変形例に従うメモリセルCAMCaについても、メモリセルCAMC#と同様のデータ検索動作を実行することができる。
ツインセルTW0に含まれるダイナミックセルMC1およびMC2は、上述したように相補のデータを記憶するストレージノードSN1およびSN2を有する。ツインセルTW1についても同様にダイナミックセルMC3およびMC4は、相補のデータを記憶するストレージノードSN3およびSN4を有する。
仮にこのメモリセルCAMCaがデータ「0」を記憶している場合について考える。本例においてはデータ「0」の記憶状態をセンスノードSN1が「L」レベル、センスノードSN4が「H」レベルに対応付けられるものとする。データ書込動作については通常のDRAMセルの方式と同様であるのでその詳細な説明は省略する。
データ検索動作が行なわれサーチ線対SLPにデータ「0」が入力された場合を考える。本例においてはサーチ線SLが「L」レベルに設定され相補のサーチ線/SLが「H」レベルに設定されるものとする。
この場合、比較部98において、トランジスタ96および95がターンオンするが、マッチ線MLは、接地電圧GNDと電気的に結合されず、マッチ線MLは電源電圧VCCの電圧レベルを維持する。上述したようにこの場合入力データと検索データとがヒットしたものとする。
一方、サーチ線対SLPにデータ「1」が入力された場合について考える。本例においてはサーチ線SLが「H」レベルに設定され、相補のサーチ線/SLは「L」レベルに設定されるものとする。
この場合、比較部98において、トランジスタ96および97がターンオンする。これに伴い、マッチ線MLとノードN6とが電気的に結合される。すなわち、マッチ線MLの電圧レベルは接地電圧GNDによりプルダウンされる。上述したようにこの場合入力データと検索データとはミスしたものとする。
また、これに加えてメモリセルCAMCaは、さらにもう1つの状態「X(ドントケア)」という状態を記憶する。この記憶状態は、センスノードSN1およびセンスノードSN4がともに「L」レベルに設定されている場合に対応付けられる。
データ検索動作を実行した場合、センスノードSN1およびセンスノードSN4がともに「L」レベルであるため比較部98のトランジスタ94および96のいずれもターンオフ状態にある。したがって、サーチ線対SLPにデータ「0」および「1」を入力した場合、いずれも接地電圧GNDとマッチ線MLとが電気的に結合されることはなく比較結果は常にヒットとなる。この状態常にヒットする「X」状態を記憶することができる。
したがって、メモリセルCAMCaにおいても、CAMメモリセルCAMC#と同様のデータ検索動作を実行することができる。
また、本実施の形態2の変形例に従うメモリセルCAMCaは、キャパシタNQを用いており、SRAMセルの構成を用いる場合に比べて、その容量値が大きく、SRAMセルを用いるTCAMメモリセルCAMC#に比べてソフトエラー耐性を改善することができる。
また、本実施の形態2の変形例に従うメモリセルCAMCaは、TCAMメモリセルCAMC#よりも部品点数を削減することができ回路面積を縮小することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
本発明の実施の形態に従うCAM1の全体構成図である。 本発明の実施の形態1に従うCAM1をより詳細に説明するブロック概略図である。 本発明の実施の形態1に従うメモリアレイ2に集積配置されたCAMメモリセルCAMCの回路構成図である。 ビット線対BLP0に対応するメモリセルCAMCのデータ検索動作について説明するタイミングチャート図である。 本発明の実施の形態1に従うフューズ回路20内に配置された回路群を示す概略ブロック図である。 フューズ回路20の動作を説明するタイミングチャート図である。 シフト情報ラッチ回路6の直列に接続されたラッチ部LTUの回路構成図である。 本発明の実施の形態に従うシフト情報ラッチ回路のラッチ部LTUの動作を説明するタイミングチャート図である。 本発明の実施の形態に従うワード線選択ユニットWDUの回路構成図である。 シフト情報ラッチ回路6によりラッチされたフューズデータFDに基づいてロウデコーダ5およびマッチ線アンプ3において実行されるシフト動作を模式的に示す概念図である。 本発明の実施の形態1に従うマッチアンプユニットUMAの回路構成図である。 本発明の実施の形態に従うプライオリティエンコーダ4の概略ブロック図である。 本発明の実施の形態に従うエンコーダユニットECUの回路構成図である。 本発明の実施の形態1の変形例1に従うCAM1を詳細に説明するブロック概略図である。 本発明の実施の形態1の変形例1に従う複数のワード線選択ユニットWDU#の回路構成図である。 本発明の実施の形態1の変形例2に従うCAM1を詳細に説明するブロック概略図である。 本発明の実施の形態1の変形例2に従う複数のワード線選択ユニットWDU#aの回路構成図である。 シフト情報ラッチ回路6によりラッチされたフューズデータに基づいてロウデコーダ5#aにおいて実行されるシフト動作を模式的に示す概念図である。 本発明の実施の形態1の変形例3に従うシフト情報ラッチ回路6♯の概略ブロック図である。 本発明の実施の形態1の変形例3に従うマッチアンプユニットUMA♯の概略ブロック図である。 本発明の実施の形態2に従うメモリセルCAMC♯の構成図である。 本実施の形態2の変形例に従うメモリセルCAMCaの回路構成図である。
符号の説明
1 CAM、2,2# メモリアレイ、3 マッチ線アンプ、4 プライオリティエンコーダ、5,5#,5#a ロウデコーダ、6 シフト情報ラッチ回路、7 アドレスバッファ、8,13 出力バッファ、9 データバッファ、10 コントロール回路、11 センスアンプ帯、12 サーチ線ドライバ/ライトドライバ帯。

Claims (10)

  1. 入力情報と検索情報との一致比較動作を実行する連想メモリであって、
    前記検索情報を記憶する複数のメモリセル行および不良メモリセル行を救済する冗長メモリセル行を含むメモリアレイと、
    データ読出および書込時において、必要に応じてアクセスする少なくとも1つの各メモリセル行を第1の方向にシフトさせるための第1のシフト回路と、
    データ検索時において、前記第1のシフト回路により前記第1の方向にシフトした各前記少なくとも1つのメモリセル行を前記第1の方向と反対方向である第2の方向にシフトさせるための第2のシフト回路と、
    前記データ検索動作時に、前記第2のシフト回路を介して各前記メモリセル行から伝達される情報に基づいて所望のアドレスを生成するためのアドレス生成回路と、
    前記複数のメモリセル行のアドレスのそれぞれ対応して設けられ、各々が前記第1および第2のシフト回路における対応するメモリセル行のシフト動作を指示するシフト信号をラッチする複数段のラッチ回路と、
    前記不良メモリセル行の不良アドレスに基づき、各前記ラッチ回路にラッチされる前記シフト信号を生成するシフト信号生成部とを備える、連想メモリ。
  2. 前記シフト指示信号生成部は、
    前記不良メモリセル行の前記不良アドレスを記憶する記憶部と、
    前記記憶部に記憶された前記不良メモリセル行のアドレスに基づいて、前記複数段のラッチ回路のうちメモリセル行のアドレスに対応するラッチ回路に対して昇順的に前記シフト信号を出力する制御回路とを含む、請求項1記載の連想メモリ。
  3. 前記制御回路は、
    前記複数のメモリセル行にそれぞれ対応するアドレスを昇順的に一つずつカウントアップするアドレスカウンタと、
    前記アドレスカウンタから出力される前記アドレスと、前記記憶部に記憶された前記不良メモリセル行の前記不良アドレスとの一致比較を実行する一致比較回路と、
    前記一致比較の結果に基づいて2値的な前記シフト指示信号を設定するとともに、ラッチして各前記ラッチ回路に対して出力する信号ラッチ部とを含み、
    前記複数段のラッチ回路の各々は、前記アドレスカウンタのカウントアップに同期して、順次前記信号ラッチ部から出力される前記シフト信号の入力を受ける入力制御部を含む、請求項2記載の連想メモリ。
  4. 前記メモリアレイは、複数のメモリセル行にそれぞれ対応して設けられ、各々が前記入力情報と対応するメモリセル行に記憶された前記検索情報の一部とが一致したかを判定する複数のマッチ線をさらに含み、
    前記複数のマッチ線にそれぞれ対応して設けられ、対応するマッチ線を所定の電圧レベルにプリチャージする複数のプリチャージユニットと、
    前記データ検索前に、前記複数のプリチャージユニットをそれぞれ活性化させる複数のプリチャージ制御部とをさらに備え、
    各前記ラッチ回路には、前記シフト指示信号に基づき前記シフト動作を指示/非指示する第1および第2の論理データがそれぞれ設定され、
    各前記プリチャージ制御部は、同一のメモリセル行に対応するラッチ回路に前記第2の論理データが設定された場合には対応するプリチャージユニットを活性化させ、前記第1の論理データが設定された場合には前記対応するラッチ回路の前段のラッチ回路に前記第1の論理データが設定されている場合に前記対応するプリチャージユニットを活性化させる、請求項1記載の連想メモリ。
  5. 前記メモリアレイは、前記冗長メモリセル行を含む各前記メモリセル行に対応して設けられ、前記入力情報と各前記メモリセル行に記憶された前記検索情報の一部とが一致したかを判定するマッチ線をさらに含み、
    前記冗長メモリセル行を含む各前記メモリセル行は、各々が記憶データの1ビットを記憶する複数のメモリセルを有し、
    各前記メモリセルは、
    第1のデータを保持する第1の記憶ノードを有する第1のセルユニットと、
    第2のデータを保持する第2の記憶ノードを有する第2のセルユニットと、
    前記第1および第2の記憶ノードに各々保持されたデータの対と与えられた前記入力情報を構成する入力データとを比較し、比較結果に従って対応するマッチ線を選択的に駆動する比較回路とを有する、請求項1記載の連想メモリ。
  6. 前記第1および第2のシフト回路ならびに複数段のラッチ回路は、前記メモリアレイの一方側にそれぞれ隣接して配置される、請求項1記載の連想メモリ。
  7. 前記第1のシフト回路は、前記データ読出および書込時において、前記複数のメモリセル行にそれぞれ対応して設けられ、各々が、前記シフト信号に基づいて前記第1の方向にシフトさせるとともに、入力される前記複数のメモリセル行のアドレスに基づいて対応するメモリセル行のアクセスを実行する複数の行選択ユニットを含む、請求項1記載の連想メモリ。
  8. 入力情報と検索情報との一致比較動作を実行する連想メモリであって、
    前記検索情報を記憶する複数のメモリセル行および不良メモリセル行を救済する複数の冗長メモリセル行を含むメモリアレイを備え、
    前記複数のメモリセル行は、前記複数のメモリセル行の1部ビットのアドレスにそれぞれ対応して、所定個ずつの複数のメモリセル行群に分割され、
    データ読出および書込時において、必要に応じてアクセスする少なくとも1つのメモリセル行群を第1の方向にシフトさせるための第1のシフト回路と、
    データ検索時において、前記第1のシフト回路により前記第1の方向にシフトした各前記少なくとも1つのメモリセル行群を前記第1の方向と反対方向である第2の方向にシフトさせるための第2のシフト回路と、
    前記データ検索動作時に、前記第2のシフト回路を介して各前記メモリセル行群から伝達される情報に基づいて所望のアドレスを生成するためのアドレス生成回路と、
    前記複数のメモリセル行群にそれぞれ対応して設けられ、各々が前記第1および第2のシフト回路における対応するメモリセル行のシフト動作を指示するシフト信号をラッチする複数段のラッチ回路と、
    前記不良メモリセル行の不良アドレスに基づき、各前記ラッチ回路にラッチされる前記シフト信号を生成するシフト信号生成部とをさらに備える、連想メモリ。
  9. 前記第1のシフト回路は、前記データ読出および書込時において、前記複数のメモリセル行群にそれぞれ対応して設けられ、各々が、前記シフト信号に基づいて前記第1の方向にシフトさせるとともに、入力される前記複数のメモリセル行のアドレスに基づいて対応するメモリセル行のアクセスを実行する複数の行選択ユニットを含み、
    前記複数の行選択ユニットのうち、前記複数のメモリセル行の前記1部ビットのアドレスに対応して1つの行選択ユニットが選択され、残りのビットのアドレスに対応して選択された行選択ユニットに対応するメモリセル行群のうちの1つのメモリセル行にアクセスされる、請求項8記載の連想メモリ。
  10. 入力情報と検索情報との一致比較動作を実行する連想メモリであって、
    前記検索情報を記憶する複数のメモリセル行および不良メモリセル行を救済する冗長メモリセル行を含むメモリアレイと、
    データ読出および書込時において、必要に応じてアクセスする少なくとも1つの各メモリセル行を第1の方向にシフトさせるための第1のシフト回路と、
    データ検索動作時において、前記第1のシフト回路により前記第1の方向にシフトした前記少なくとも1つの各メモリセル行を前記第1の方向と反対方向である第2の方向にシフトさせるための第2のシフト回路と、
    前記データ検索動作時に、前記第2のシフト回路を介して各前記メモリセル行から伝達される情報に基づいて所望のアドレスを生成するためのアドレス生成回路と、
    前記不良メモリセル行の不良アドレスに基づいて前記第1および第2のシフト回路を制御するための制御回路とを備え、
    前記メモリアレイは、冗長メモリセル行を含む各前記メモリセル行に対応して設けられ、前記入力情報と各前記メモリセル行に記憶された前記検索情報の一部とが一致したかを判定するマッチ線をさらに含み、
    前記冗長メモリセル行を含む各前記メモリセル行は、各々が記憶データの1ビットを記憶する複数のメモリセルを有し、
    各前記メモリセルは、
    第1のデータを保持する第1の記憶ノードを有する第1のセルユニットと、
    第2のデータを保持する第2の記憶ノードを有する第2のセルユニットと、
    前記第1および第2の記憶ノードに各々保持されたデータの対と与えられた前記入力情報を構成する入力データとを比較し、比較結果に従って対応するマッチ線を選択的に駆動する比較回路とを有する、連想メモリ。
JP2003314052A 2003-03-03 2003-09-05 連想メモリ Pending JP2004288347A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003314052A JP2004288347A (ja) 2003-03-03 2003-09-05 連想メモリ
US10/768,036 US6917558B2 (en) 2003-03-03 2004-02-02 Content addressable memory with redundant repair function

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003056100 2003-03-03
JP2003314052A JP2004288347A (ja) 2003-03-03 2003-09-05 連想メモリ

Publications (2)

Publication Number Publication Date
JP2004288347A true JP2004288347A (ja) 2004-10-14
JP2004288347A5 JP2004288347A5 (ja) 2006-10-05

Family

ID=32929682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003314052A Pending JP2004288347A (ja) 2003-03-03 2003-09-05 連想メモリ

Country Status (2)

Country Link
US (1) US6917558B2 (ja)
JP (1) JP2004288347A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006309917A (ja) * 2005-03-31 2006-11-09 Renesas Technology Corp Cam装置及びcam装置の救済方法
JP2008257835A (ja) * 2007-03-13 2008-10-23 Renesas Technology Corp 半導体装置
TWI654609B (zh) 2016-11-30 2019-03-21 台灣積體電路製造股份有限公司 記憶體胞元

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006331571A (ja) 2005-05-27 2006-12-07 Matsushita Electric Ind Co Ltd 半導体装置
US7375999B2 (en) * 2005-09-29 2008-05-20 Infineon Technologies Ag Low equalized sense-amp for twin cell DRAMs
US7848130B1 (en) * 2008-12-19 2010-12-07 Suvolta, Inc. Method and apparatus for improving SRAM write operations
US9287004B2 (en) 2011-11-07 2016-03-15 Samsung Electronics Co., Ltd. Semiconductor memory device and system having redundancy cells
JP6592310B2 (ja) * 2015-09-01 2019-10-16 ルネサスエレクトロニクス株式会社 半導体装置
CN113892138A (zh) 2021-03-24 2022-01-04 长江存储科技有限责任公司 具有使用冗余库的故障主库修复的存储器器件
WO2022198491A1 (en) * 2021-03-24 2022-09-29 Yangtze Memory Technologies Co., Ltd. Memory device with failed main bank repair using redundant bank

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03276495A (ja) * 1990-03-27 1991-12-06 Nippon Telegr & Teleph Corp <Ntt> 連想メモリ装置
JPH04143999A (ja) * 1990-10-03 1992-05-18 Toshiba Corp 半導体メモリ
JPH05128844A (ja) * 1991-11-01 1993-05-25 Mitsubishi Electric Corp 半導体記憶装置
JPH07220483A (ja) * 1994-01-07 1995-08-18 Hal Computer Syst Inc 連想メモリセルに「ドントケア」を記憶するための方法及び装置
JPH07230700A (ja) * 1994-02-16 1995-08-29 Nec Corp 不揮発性半導体記憶装置
JPH08147984A (ja) * 1994-11-16 1996-06-07 Kawasaki Steel Corp 半導体集積回路
JPH09180498A (ja) * 1995-12-25 1997-07-11 Mitsubishi Electric Corp 連想メモリ回路のテスト方法及び連想メモリ回路のテスト回路並びに冗長機能付き連想メモリ回路
JPH09251796A (ja) * 1996-03-15 1997-09-22 Fujitsu Ltd 半導体記憶装置及び半導体集積回路装置
JP2000228090A (ja) * 1999-02-05 2000-08-15 Internatl Business Mach Corp <Ibm> 連想メモリ(cam)のワードマッチラインのプリチャージ回路および方法
JP2001351395A (ja) * 2000-06-09 2001-12-21 Toshiba Corp 半導体メモリ集積回路
JP2002260389A (ja) * 2001-03-01 2002-09-13 Kawasaki Microelectronics Kk 連想メモリ
JP2004071093A (ja) * 2002-08-08 2004-03-04 Fujitsu Ltd 出荷試験が簡単で消費電力を削減した冗長メモリセルアレイ付きメモリ回路
JP2004265468A (ja) * 2003-02-18 2004-09-24 Fujitsu Ltd シフト冗長回路、シフト冗長回路の制御方法及び半導体記憶装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6042241A (en) * 1997-07-31 2000-03-28 Litton Systems, Inc. Backlight with integral illumination source
US6441811B1 (en) * 1997-10-29 2002-08-27 Sharp Kabushiki Kaisha Display control device and reproduction display device for electronic books
US6034891A (en) * 1997-12-01 2000-03-07 Micron Technology, Inc. Multi-state flash memory defect management

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03276495A (ja) * 1990-03-27 1991-12-06 Nippon Telegr & Teleph Corp <Ntt> 連想メモリ装置
JPH04143999A (ja) * 1990-10-03 1992-05-18 Toshiba Corp 半導体メモリ
JPH05128844A (ja) * 1991-11-01 1993-05-25 Mitsubishi Electric Corp 半導体記憶装置
JPH07220483A (ja) * 1994-01-07 1995-08-18 Hal Computer Syst Inc 連想メモリセルに「ドントケア」を記憶するための方法及び装置
JPH07230700A (ja) * 1994-02-16 1995-08-29 Nec Corp 不揮発性半導体記憶装置
JPH08147984A (ja) * 1994-11-16 1996-06-07 Kawasaki Steel Corp 半導体集積回路
JPH09180498A (ja) * 1995-12-25 1997-07-11 Mitsubishi Electric Corp 連想メモリ回路のテスト方法及び連想メモリ回路のテスト回路並びに冗長機能付き連想メモリ回路
JPH09251796A (ja) * 1996-03-15 1997-09-22 Fujitsu Ltd 半導体記憶装置及び半導体集積回路装置
JP2000228090A (ja) * 1999-02-05 2000-08-15 Internatl Business Mach Corp <Ibm> 連想メモリ(cam)のワードマッチラインのプリチャージ回路および方法
JP2001351395A (ja) * 2000-06-09 2001-12-21 Toshiba Corp 半導体メモリ集積回路
JP2002260389A (ja) * 2001-03-01 2002-09-13 Kawasaki Microelectronics Kk 連想メモリ
JP2004071093A (ja) * 2002-08-08 2004-03-04 Fujitsu Ltd 出荷試験が簡単で消費電力を削減した冗長メモリセルアレイ付きメモリ回路
JP2004265468A (ja) * 2003-02-18 2004-09-24 Fujitsu Ltd シフト冗長回路、シフト冗長回路の制御方法及び半導体記憶装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006309917A (ja) * 2005-03-31 2006-11-09 Renesas Technology Corp Cam装置及びcam装置の救済方法
JP2008257835A (ja) * 2007-03-13 2008-10-23 Renesas Technology Corp 半導体装置
TWI654609B (zh) 2016-11-30 2019-03-21 台灣積體電路製造股份有限公司 記憶體胞元

Also Published As

Publication number Publication date
US6917558B2 (en) 2005-07-12
US20040174764A1 (en) 2004-09-09

Similar Documents

Publication Publication Date Title
US5841712A (en) Dual comparator circuit and method for selecting between normal and redundant decode logic in a semiconductor memory device
US6229742B1 (en) Spare address decoder
US6445628B1 (en) Row redundancy in a content addressable memory
US6310806B1 (en) Semiconductor memory device with redundant circuit
US6304501B2 (en) Semiconductor memory device having a large band width and allowing efficient execution of redundant repair
US7064990B1 (en) Method and apparatus for implementing multiple column redundancy for memory
US5963489A (en) Method and apparatus for redundancy word line replacement in a repairable semiconductor memory device
JPH0628845A (ja) 半導体記憶装置
JP2002237190A (ja) 連想メモリ装置およびその構成方法
JPH11260089A (ja) ビットライン放電回路を有する読出専用メモリ装置及びデータ読出方法
JP6840625B2 (ja) 内容参照メモリ
JPH11250688A (ja) 半導体記憶装置
US6130853A (en) Address decoding scheme for DDR memory
US6310805B1 (en) Architecture for a dual-bank page mode memory with redundancy
JP2004296040A (ja) 半導体記憶装置
JP2004288347A (ja) 連想メモリ
JP2000293998A (ja) 半導体記憶装置
KR19980044104A (ko) 반도체 메모리장치
US6320801B1 (en) Redundancy circuit and redundancy method for semiconductor memory device
US5848021A (en) Semiconductor memory device having main word decoder skipping defective address during sequential access and method of controlling thereof
US20120224441A1 (en) Semiconductor memory apparatus
JP4125448B2 (ja) 半導体メモリ装置
CN111863068B (zh) 存储器装置和存储器装置的操作方法
US6590814B1 (en) Semiconductor memory device and redundancy method thereof
JP4152736B2 (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060816

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060816

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091119

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101102

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110308