以下に図とともに実施例を詳細に説明する。
図1に半導体記憶装置としてのSRAM(Static Random Access Memory)マクロの概略図を示す。尚SRAMマクロとは、SRAMとしての機能を有する回路ブロックを意味する。
図1のSRAMマクロはメモリセルアレイ111,ローカルブロック部112,データパス部113、タイマ部114,デコーダ115部を有する。メモリセルアレイ111では、行方向および列方向に沿って二次元的にメモリセル11(図1において図示を省略)が配置される。尚、図1に示す如く、メモリセルアレイ111の行方向は図1中、横方向であり、列方向は図1中、縦方向である。したがってメモリセルアレイ111中、横方向に配列された一連のメモリセル11が各行のメモリセル11であり、縦方向に配列された一連のメモリセル11が各列のメモリセル11である。又図1では説明の便宜上、メモリセルアレイ111に含まれる各メモリセル11のうち、一部につき記載され、他のメモリセル11の記載は省略されているが、各メモリセル11の行方向に沿う長さは一律Lであり、列方向の長さも一定である。
タイマ部114はSRAMマクロ全体の動作制御を行う。タイマ部114には外部からの制御信号、アドレス信号が入力され、制御信号、アドレス信号に応じ、SRAMマクロのオンオフの切り替え、動作タイミングの調整、データの読み出しあるいは書き込み対象メモリセル11の指定等を行う。デコーダ部115はタイマ部114からの制御信号を受け、指定されたメモリセル11からのデータの読み出し、指定されたメモリセル11へのデータの書き込みを可能にするライトイネーブル信号をローカルブロック部112およびメモリセルアレイ111に送る。データパス部113はメモリセル11から読み出されたデータおよびメモリセル11に書き込むデータにつき、SRAMマクロの外部との間の入出力の制御を行う。ローカルブロック部112は、メモリセル11からのデータの読み出し時はメモリセルアレイ111から得られた信号をセンス増幅器(図示を省略)により確定し、データパス部113に渡す。又、メモリセル11に対するデータの書き込み時、ローカルブロック部112はデータパス部113から得られたデータをメモリセルアレイ111へ渡し、当該データをメモリセル11に書き込む制御を行う。メモリセルアレイ111では、デコーダ部115およびローカルブロック部112から与えられる信号に基づき、データの書き込み対象のメモリセル11に対するデータの書き込み、あるいはデータの読み出し対象のメモリセル11又は12からのデータの読み出しがなされる。すなわちデータの読み出しあるいは書き込みの対象となるメモリセル11を指定するアドレス信号がタイマ部114からデコーダ部115へ引き渡され、デコーダ部115によってアドレス信号がデコードされ、その結果該当するメモリセル11へのアクセスがなされる。
図1のSRAMマクロには、メモリセルアレイ111に不良のメモリセル11が存在する場合に対する代替用の冗長メモリセル(図示を省略)を設けることが可能である。冗長メモリセルはメモリセルアレイ111の中、例えば行方向に組み込まれ、専用のワード線によって接続される。又上記の如く、冗長メモリセルの面積を通常のメモリセルの面積より大きくし、冗長メモリセルと不良である通常のメモリセルとが2重に選択された場合でも冗長メモリセルの正しいデータが出力されるようにすることが可能である。このようにメモリセルアレイ11の行方向に冗長メモリセルを設け、更に上記の如く冗長メモリセルの面積を大きくし、更に対応する全てのセンス増幅器の面積も大きくすると、半導体記憶装置の面積に与える影響が大きくなる。
以下に述べる実施例では、上記問題点に鑑み、半導体記憶装置の歩留まりの向上、動作速度の向上、これら半導体記憶装置の特性を半導体記憶装置全体で均一化し得る構成を設ける。
図2は実施例による半導体記憶装置としてのSRAMマクロの概略平面図を示す。
図2のSRAMマクロはメモリセルアレイ110,ローカルブロック部120,データパス部130、タイマ部140,デコーダ150部を有する。メモリセルアレイ110では、行方向および列方向に沿って二次元的にメモリセル11が配置される。尚、図2に示す如く、メモリセルアレイ110の行方向は図2中、横方向であり、列方向は図2中、縦方向である。したがってメモリセルアレイ110中、横方向に配列された一連のメモリセル11が各行のメモリセル11であり、縦方向に配列された一連のメモリセル11が各列のメモリセル11である。又図2では説明の便宜上、メモリセルアレイ110に含まれるメモリセル11、12のうちの一部が記載され、他のメモリセル11,12の記載は省略されている。各メモリセル11の行方向に沿う長さは一律L1であり、後述する冗長メモリセル12の行方向に沿う長さは一律、L1より大きいL2である。又各メモリセル11、12の列方向に沿う長さは一定である。そして各メモリセル11の面積は一律A1であり、冗長メモリセル12の面積は一律、A1より大きいA2である。A2>A1となるのはL2>L1だからである。
タイマ部140はSRAMマクロ全体の動作制御を行う。タイマ部140には外部からの制御信号、アドレス信号が入力され、制御信号、アドレス信号に応じ、SRAMマクロのオンオフの切り替え、動作タイミングの調整、データの読み出しあるいは書き込み対象メモリセル11又は12の指定等を行う。デコーダ部150はタイマ部140からの制御信号を受け、指定されたメモリセル11又は12からのデータの読み出し、指定されたメモリセル11又は12へのデータの書き込みを可能にする信号をローカルブロック部120およびメモリセルアレイ110に送る。データパス部130はメモリセル11又は12から読み出されたデータおよびメモリセル11又は12に書き込むデータにつき、SRAMマクロの外部との間の入出力の制御を行う。ローカルブロック部120は、メモリセル11又は12からのデータの読み出し時はメモリセルアレイ110から得られた信号をセンス増幅器21又は22により確定し、データパス部130に渡す。又、メモリセル11又は12に対するデータの書き込み時、ローカルブロック部120はデータパス部130から得られたデータをメモリセルアレイ110へ渡し、当該データをメモリセル11又は12に書き込む制御を行う。メモリセルアレイ110では、デコーダ部150およびローカルブロック部120から与えられる信号に基づき、データの書き込み対象のメモリセル11又は12に対するデータの書き込み、あるいはデータの読み出し対象のメモリセル11又は12からのデータの読み出しがなされる。すなわちデータの読み出しあるいは書き込みの対象となるメモリセル11あるいはメモリセル12を指定するアドレス信号がタイマ部140からデコーダ部150へ引き渡されてデコーダ部150においてデコードされ、その結果該当するメモリセル11あるいはメモリセル12へのアクセスが可能になる。
図2の実施例によるSRAMマクロでは、冗長メモリセル12は、各メモリセルアレイ110において、左右端の各列上で、列方向に沿って配置される。すなわち図2中、メモリセル110の行方向の長さが一律L2の計2列の各列上の各メモリセル12が一律、各メモリセルアレイ110において冗長メモリセル12として割り当てられる。又後述する図4に示されるように、各メモリセルアレイ110において、冗長センス増幅器22は同列上の各冗長メモリセル12とビット線BL,XBLを共有する。
又実際に不良のメモリセル11に代えて冗長メモリセル12を使用する場合のSRAMマクロの特性向上のため、後述するように、各冗長メモリセル12に含まれるトランジスタのサイズを、各通常のメモリセル11に含まれるトランジスタに比べ大きくする。同様に各冗長センス増幅器22に含まれるトランジスタの個数を、各通常のセンス増幅器21に含まれるトランジスタの個数に比べ多くする。具体的には図5とともに後述するように、冗長メモリセル12では、トランジスタの列方向の長さは通常のメモリセル11と同様とし、行方向の長さだけを大きくする。又冗長センス増幅器22では、トランジスタの列方向の長さは通常のセンス増幅器21と同様とし、行方向にトランジスタを多く並べて個数を増やす。したがって、冗長メモリセル12,冗長センス増幅器22とも、行方向のみ長さを増加すればよい。その結果、冗長メモリセル12,冗長センス増幅器22の各々の行方向および列方向の両方の長さを増加する場合に比し、SRAMマクロ内のレイアウトに与える影響を小さくすることができる。
実施例では上記の如く冗長メモリセル12をメモリセルアレイ110の列方向に沿って配置することで、冗長メモリセル12用のワード線は必要なくなり、又ワード線の駆動能力を大きくする必要性もほとんど考えなくてよくなる。
又、冗長メモリセル12および冗長センス増幅器22のサイズの増加は該当する列方向に対して統一して行えるため、冗長メモリセル12、冗長センス増幅器22のトランジスタのサイズの増加を同時に行うことが容易となる。
又図18乃至22とともに後述するように、実際に不良のメモリセル11に代えて冗長メモリセルが使用されるようにSRAMマクロ内に回路が組まれる。
さらに図3とともに後述する他の実施例のように、SRAMマクロ内で動作特性に対する要求がずれている位置におけるメモリセル、センス増幅器についても、トランジスタのサイズの大きくすることが可能である。その結果、SRAMマクロ全体の動作特性の均一化を図ることができる。なお上記SRAMマクロ内で動作条件が厳しい位置とは、例えば図3の他の実施例では、中央に配置されるデコーダ部150,タイマ部140から最も遠い列、あるいは最も近い列上のメモリセルが考えられる。その理由は以下の通りである。SRAMマクロの中心部から遠く離れた部分、非常に近い部分のメモリセル11、センス増幅器21が有するトランジスタの動作タイミング、マージン等の動作特性に対する要求は、上記各部分以外の部分におけるトランジスタに対する要求との間で、大きくずれている。図3の他の実施例ではこのずれに、メモリセル11,センス増幅器21のトランジスタのサイズを変更することで対応する。
図3の他の実施例は上記の如く、SRAMマクロ内で動作条件が厳しい位置におけるメモリセル11、センス増幅器21についても、冗長メモリセル12,冗長センス増幅器22同様、トランジスタのサイズを大きくする。図3中、図2と同様の構成部分には同一の符号を付し、重複する説明を省略する。図3の他の実施例では図2の実施例と異なり、SRAMマクロの各メモリセルアレイ110において、中央に配置されるデコーダ部150,タイマ部140に隣接する列上の各メモリセル13および同列上のセンス増幅器(図示を省略)の行方向の長さが一律L3である。L3は各通常のメモリセル11の行方向の長さL1より大きい。又図3の他の実施例では、SRAMマクロの各メモリセルアレイ110において、中央に配置されるデコーダ部150,タイマ部140から最も遠い列上の各メモリセル13および同列上のセンス増幅器(図示を省略)の行方向の長さが一律L3である。尚上記中央に配置されるデコーダ部150,タイマ部140から最も遠い列とは図3に示される如く、各冗長メモリセル12の列より一列中央側の列を指す。又当該各メモリセル13の列方向の長さは各通常のメモリセル11と同一であり、当該各メモリセル13の面積はA3であり、各通常のメモリセル11の面積A1より大きい。A3>A1となるのはL3>L1だからである。なお、上記中央に配置されるデコーダ部150,タイマ部140に隣接する列上の各メモリセル13および中央に配置されるデコーダ部150,タイマ部140から最も遠い列上の各メモリセル13を、以下端部メモリセル13と称する場合がある。同様に各端部メモリセル13と同列上のセンス増幅器(図示を省略)を端部センス増幅器と称する場合がある。
上記の如く、図2の実施例および図3の他の実施例によれば、SRAMマクロに含まれる各メモリセルアレイ110、各ローカルブロック120において部分的にトランジスタのサイズを大きくし、あるいはトランジスタ個数を増加する。図2の実施例では、各メモリセルアレイ110において、冗長メモリセル12のトランジスタのサイズを一律に通常のメモリセル11よりも大きくする。又冗長センス増幅器22の並列するトランジスタの個数を通常のセンス増幅器よりも多くする。図3の他の実施例では、冗長メモリセル12とともに、端部メモリセル13のトランジスタのサイズも一律に通常のメモリセル11よりも大きくする。又冗長センス増幅器22とともに、端部センス増幅器の並列するトランジスタの個数も通常のセンス増幅器よりも多くする。その結果、SRAMマクロ内のレイアウトに対する影響を抑えながらSRAMマクロ全体の動作の安定性、感度の向上が図れる。すなわちトランジスタのサイズを大きくすることにより図12とともに後述するようにトランジスタの性能のバラツキが小さくなる。その結果SRAMマクロ全体の動作の安定性が図れる。又メモリセルはトランジスタのサイズが大きいほど性能が高くセンス増幅器では並列するトランジスタの個数が多いほど感度が高い。このため、不良のメモリセル11および対応するセンス増幅器21に代えて冗長メモリセル12および冗長センス増幅器22を使用した場合、SRAMマクロ全体の感度が向上する。又図3の他の実施例の場合、SRAMマクロ内の動作特性の均一化も期待できる。すなわち図3の他の実施例では上記の如く、動作特性に対する要求がずれているメモリセルのトランジスタのサイズを大きくすることにより、動作特性に対する要求のずれに対応でき、SRAMマクロ内の動作特性の均一化も期待できる。又、図12とともに後述するようにトランジスタのサイズを大きくすることにより製造上の特性値のバラツキを抑制することができるため、製品の歩留まりの向上も期待できる。
図4は図2の実施例のSRAMマクロの各メモリセルアレイ110中、冗長メモリセル12,冗長センス増幅器22近辺の信号線の接続を示す図である。図4に示される如く、列方向に沿って配置された各冗長メモリセル12は、他の各列の列方向に沿う各通常のメモリセル同様、ビット線BL,XBLを共有する。又各メモリセルアレイ110の各行には通常のメモリセル11と冗長メモリセル12とが含まれており、各行の各通常のメモリセル11および冗長メモリセル12はワード線WL0、WL2,...、WLN(総称してワード線WLとも称する)を共有する。
尚図3の他の実施例の場合上記の如く、各メモリセルアレイ110中、一定の列では、列方向に沿って端部メモリセル13が配置される。各端部メモリセル13もビット線BL,XBLを共有する。又当該他の実施例の場合、各メモリセルアレイ110において、各行には、通常のメモリセル11、冗長メモリセル12および端部メモリセル13が含まれており、各行の各通常のメモリセル11、冗長メモリセル12および端部メモリセル13はワード線WLを共有する。
図5は、各メモリセルアレイ110中、各冗長メモリセル12が配置された列の近辺のレイアウトを示す。図6は上記各メモリセル11,12のレイアウトを簡略化して示す。図3の他の実施例における端部メモリセル13も同様のレイアウトを有する。図7は上記各メモリセル11,12の回路構成を示す。図3の他の実施例における端部メモリセル13も同様の回路構成を有する。
図8は冗長センス増幅器22のレイアウトを簡略化して示す。図3の他の実施例における端部センス増幅器も同様のレイアウトを有する。図9は通常のセンス増幅器21、冗長センス増幅器22および図3の他の実施例における端部センス増幅器23の回路構成を示す。
図10(a)は上記冗長メモリセル12に含まれるトランジスタT11〜T13,T21〜T23の各々の模式図を示す。図3の他の実施例における端部メモリセル13に含まれるトランジスタも同様の構成を有する。図10(b)は通常のメモリセル11に含まれる各トランジスタT11〜T13,T21〜T23の模式図を示す。
図11(a)は冗長センス増幅器22に含まれるトランジスタT31,T41,T32,T42の各々の模式図を示す。図3の他の実施例における端部センス増幅器に含まれるトランジスタも同様の構成を有する。図11(b)は通常のセンス増幅器21に含まれるトランジスタT31,T41,T32,T42の各々の模式図を示す。
図5,6,7,10に示される如く、各メモリセル11,12は6個のトランジスタT11〜T13,T21〜T23を含む。図3の他の実施例における端部メモリセル13も同様である。トランジスタT11,T21の各々はPチャネルMOSFET(Metal Oxide Semiconductor Field Effect Transistor)であり、トランジスタT12,T22,T13,T23の各々はNチャネルMOSFETである。
トランジスタT11,T12は後述する図13(a)に示されるようにインバータI2として機能する。同様にトランジスタT21,T22はインバータI1として機能する。トランジスタT13,T23はワード線WLの信号によりオンされ当該メモリセル11又は12とビット線BL,XBLとの間に信号を通す。
又トランジスタT11〜T13、T21〜T23の各々は、ポリシリコン製のゲート電極PGと、拡散層DLによって形成されるドレイン電極およびソース電極とを有する。各メモリセル11,12に含まれる6個のトランジスタT11〜T13、T21〜T23の各々のゲート電極PGのゲート長は一律l1である。図3の他の実施例における端部メモリセル13も同様である。又通常のメモリセル11に含まれる6個のトランジスタT11〜T13、T21〜T23の各々のゲート電極PGのゲート幅は一律w1である。他方冗長メモリセル12に含まれる6個のトランジスタT11〜T13、T21〜T23の各々のゲート電極PGのゲート幅は一律w2である。ここでw2>w1である。図3の他の実施例における端部メモリセル13も同様である。
すなわち冗長メモリセル12および図3の他の実施例における端部メモリセル13の場合、通常のメモリセル11と比べ、各トランジスタT11〜T13、T21〜T23のゲート幅が大きい。その結果、冗長メモリセル12および端部メモリセル13では通常のメモリセル11に対し、行方向に引き伸ばされた如くの形態を有する。行方向の長さの増加量は、後述する冗長センス増幅器22および図3の他の実施例における端部センス増幅器の、それぞれのトランジスタT31,T32,T41,T42のゲート幅の増加によって生じるローカルブロック部120の面積の増加量と整合性がとれるように定量的に決め得る。
冗長メモリセル12では上記の如くゲート幅を通常のメモリセル11に比して大きくすることにより、図10に示す如く、各トランジスタT11〜T13、T21〜T23がオンする際に流れる電流I2が、通常のメモリセル11の場合のI1より大きくなる。
次に図5,8,9,11に示される如く、各センス増幅器21,22は4個のトランジスタT31,T32,T41,T42を含む。図3の他の実施例における端部センス増幅器も同様である。トランジスタT31,T41の各々はPチャネルMOSFETであり、トランジスタT32,T42の各々はNチャネルMOSFETである。
トランジスタT31,T32は後述する図13(b)に示されるようにインバータI12として機能する。同様にトランジスタT41,T42はインバータI11として機能する。各センス増幅器21,22は、インバータ2つI11,I12がループ状に接続されたラッチの構成を有する。
トランジスタT31,T32,T41,T42の各々は、ポリシリコン製のゲート電極PGと、拡散層DLによって形成されるドレインおよびソースとを有する。各センス増幅器21,22に含まれる4個のトランジスタT31,T32,T41,T42の各々のゲート電極PGのゲート長は一律l2である。図3の他の実施例における端部センス増幅器も同様である。
又通常のセンス増幅器21に含まれる4個のトランジスタT31,T41,T32,T42のうち、NチャネルMOSFETのT32,T42の各々のゲート電極PGのゲート幅は一律w11である。又PチャネルMOSFETのT31,T41の各々のゲート電極PGのゲート幅は一律w12である。ここではPチャネルMOSFETのほうが電流特性が悪いので、NチャネルMOSFETと電流特性を合わせるため、w11>w12とされる。
又、冗長センス増幅器22に含まれる4個のトランジスタT31,T41,T32,T42のうち、NチャネルMOSFETのT32,T42の各々のゲート電極PGのゲート幅は一律w21である。そしてPチャネルMOSFETのT31,T41の各々のゲート電極PGのゲート幅は一律w22である。ここで上記同様の理由でw21>w22である。又、w12=w22であり、w11=w21である。但し冗長センス増幅器22では、図8に示す如く、4個のトランジスタT31,T41,T32,T42の各々が、互いに並列に接続された2個のトランジスタT31−1,T32−2、T41−1,T41−2,T32−1,T32−2,T42−1,T42−2を含む。
その結果、図11(a)において、奥側のPチャネルMOSFETのT31又はT41がオンするとき、図中、奥側の左右両側の、上記並列に接続された2個のトランジスタの夫々ソース電極から、中央のそれぞれのドレイン電極に向けて並列に電流(図示を省略)が流れる。同様に手前側のNチャネルMOSFETのT32又はT42がオンするとき、図中、手前側の中央の、上記並列に接続された2個のトランジスタの夫々ドレイン電極から、左右両側のそれぞれのソースに向けて並列に電流I21,I22が流れる。尚、図11(b)の通常のセンス増幅器21の場合、奥側のPチャネルMOSFETのT31又はT41がオンするとき、図中、奥側、左側のソースから右側のドレインに向けて電流(図示を省略)が流れる。同様に手前側のNチャネルMOSFETのT32又はT42がオンするとき、図中、手前側、右側のドレイン電極から左側のソースに向けて電流I11が流れる。
冗長センス増幅器22では上記の如く、各トランジスタT31,T41,T32,T42の各々が、互いに並列に接続された2個のトランジスタT31−1,T32−2、T41−1,T41−2,T32−1,T32−2,T42−1,T42−2を有する。その結果、各トランジスタT31,T41,T32,T42の各々がオンする際に当該トランジスタのソース電極とドレイン電極との間に流れる電流が通常のセンス増幅器21の2倍になる。その結果、各トランジスタT31,T41,T32,T42の各々のゲート幅を2倍にするのと同様の効果が得られる。冗長センス増幅器22においては上記の如く各トランジスタT31,T41,T32,T42の各々が、互いに並列に接続された2個のトランジスタT31−1,T32−2、T41−1,T41−2,T32−1,T32−2,T42−1,T42−2を有する。ここで当該互いに並列に接続された2個のトランジスタは図8に示される如く、行方向に並んで配置される。その結果、図5に示される如く、冗長センス増幅器22の行方向の長さL2が通常のセンス増幅器21の行方向の長さL1より大きくなる。同様に図3の他の実施例では端部センス増幅器23の行方向の長さL3が通常のセンス増幅器21の行方向の長さL1より大きくなる。
上述の如く、冗長メモリセル12および冗長センス増幅器22ではトランジスタのゲート幅が通常のメモリセル11,通常のセンス増幅器21のトランジスタに比して増加され、あるいは増加されたのと同様の効果が得られる構成を有する。この点は図3の他の実施例における端部メモリセル13,端部センス増幅器23においても同様である。トランジスタのゲート幅の増加は当該トランジスタがオンされたときのトランジスタを流れる電流値の増加を引き起こすものであり、これによって冗長メモリセル12,冗長センス増幅器22の性能、感度の向上が実現される。図3の他の実施例における端部メモリセル13,端部センス増幅器23においても同様である。
トランジスタの特性は、主に閾値電圧に強く依存し、その閾値電圧は、製造上のバラツキによって個々のトランジスタ同士で異なりバラツキが発生する場合がある。このバラツキ値はトランジスタの面積(L・W)の大きさに強く依存し、バラツキ値の大きさをσVthとすると、その関係は例えば図12に示されたものとなる。冗長メモリセル12,冗長センス増幅器22(図3の他の実施例における端部メモリセル13,端部センス増幅器23においても同様)は通常のメモリセル11,通常のセンス増幅器21に比べて面積が大きいことにより、上記バラツキ値は相対的に小さなものとなる。これによって、冗長メモリセル12,冗長センス増幅器22(図3の他の実施例における端部メモリセル13,端部センス増幅器23においても同様)の特性の安定性が実現され、SRAMマクロとしての歩留まり向上が期待できる。
図13(a)は各メモリセル11,12(図3の他の実施例における端部メモリセル13も同様)の回路図を示し、(b)は各センス増幅器21,22(端部センス増幅器23も同様)の回路図を示す。図14はメモリセルアレイ110周辺の回路図を示し、図15はSRAMマクロ全体の回路図を示す。図16は読み出し時のタイミングチャートを示し、図17は書き込み時のタイミングチャートを示す。
図13(a)に示す如く、各メモリセルはインバータI1,I2がループ接続されたラッチの構成を有し、ラッチの入出力RNL,RNRがメモリセル選択用のトランジスタT13,T23を介しビット線BL,XBLに接続される。
又図13(b)に示す如く、各センス増幅器はインバータI11,I12がループ接続されたラッチの構成を有する。各インバータI11,I12に含まれるNチャネルMOSFETのソース電極NSが、センスアンプイネーブル信号SAEを受けるトランジスタT60に接続される。
又図14(a)に示す如く、タイマ部140、デコーダ部150は、クロック信号CLK並びに、アドレス信号およびライトイネーブル信号(ADSと総称する)を外部から受け、ワードラインWLの信号、コラムセレクト信号CS,センスアンプイネーブル信号SAEを出力する。
図14(b)に示す如く、ワードラインWLの信号はメモリセルアレイ110に与えられ、メモリセルアレイ110に含まれるメモリセルの行を選択する。コラムセレクト信号CS,センスアンプイネーブル信号SAEはローカルブロック部120に渡され、メモリセルアレイ110に含まれるメモリセルの列を選択する。ローカルブロック部120とメモリセルアレイ110とは各ビット線BL,XBLで接続される。尚図14(b)では説明の便宜上、冗長メモリセル12,冗長センス増幅器22を有する列のビット線BL,XBLを夫々RBL,RXBLとして示す。図14(b)に示す如く、メモリセルアレイ110へ出力する書き込みデータWDはデータパス部130のラッチ(ライトデータラッチ)を介してローカルブロック部120に与えられる。メモリセルアレイ110から取り出された読み出しデータRDはローカルブロック部120を介し、データパス部130のラッチ(リードデータラッチ)で一旦受けられた後、外部に出力される。
又図15に示す如く、タイマ部140はライトイネーブル信号WE、ローアドレス信号RAおよびコラムアドレス信号CA(ADSと総称する)を夫々外部から受けるラッチ141を有する。タイマ部140は更に、クロック信号CLKを外部から受けて内部クロック信号CLK1,CLK2,CLK3を生成するクロック制御部142を有する。
デコーダ部150はローアドレス信号RAをデコードしてワードライン信号WLを生成するデコーダ151と、コラムアドレス信号CAをデコードしてコラムセレクト信号CSを生成するデコーダ152とを有する。データパス部130は書き込みデータWDを一旦ラッチする上記ライトデータラッチ131と、読み出しデータRDを一旦ラッチする上記リードデータラッチ132とを有する。
更に図15に示す如く、ローカルブロック部120は書き込みデータWDを増幅し各ビット線BL,XBLを介してメモリセルアレイ110に与える増幅器121を有する。ローカルブロック部120は更に、メモリセルアレイ110に含まれるメモリセルをプリチャージするビットプリチャージャ122,上記読み出しデータRDを増幅して確定するセンス増幅器123(上記センス増幅器21,22)を有する。ローカルブロック部120は更に、コラムセレクト信号CSで指定された列の読み出しデータRDを選択するマルチプレクサ124を有する。
尚図15ではローカルブロック部120およびデータパス部130が夫々メモリセルアレイ110の上下に分けて示されている。これは、書き込みデータWD、読み出しデータの夫々の信号の流れおよび回路構成の理解の容易化の目的から上下に分けて示している。実際のSRAMマクロ内のレイアウトは図2あるいは図3に示す通りである。
次に図16、(a)はクロック信号CLKの波形を示し、(b)はアドレス信号RA,CAの各々の波形を示し、(c)はワードラインWLの信号波形を示し、(d)はコラムセレクト信号CSの波形を示す。又図16、(e)、(f)は夫々メモリセルの内部ノードRNL,RNRの波形を示し、(g)はセンスアンプイネーブル信号SAEの波形を示し、(h),(i)は夫々ビット線BL,XBLの信号波形を示し、(j)は読み出しデータRDの信号波形を示す。
データの読み出し時、ローアドレス信号RAに基づいて生成されるワードラインWLの信号によりメモリセルアレイ110に含まれる行が選択される。又コラムアドレス信号CAに基づいて生成されるコラムセレクト信号CSによりメモリセルアレイ110に含まれる列が選択される。当該ワードラインWLで選択された行、ビット線BL,XBLで選択された列のメモリセルから、当該列のセンス増幅器123を介して読み出しデータRDが取り出され、更にマルチプレクサ124およびリードデータラッチ132を介して読み出しデータRDが出力される。ここでセンス増幅器123(21あるいは22)は、メモリセル11あるいは12からビット線BL,XBLに出力された信号を増幅した信号をラッチすることにより、読み出しデータRDを確定する。図16の例は、図16,(j)に示される如く、出力RDがローとなるデータが読み出される例である。この場合、図16,(i)に示す如く、ビット線XBLがローとなり、図16,(j)に示す如く、読み出しデータRDがローとなる。図16,(i)の破線の波形は当該メモリセルが冗長メモリセル12の場合の波形例を示す。冗長メモリセル12の場合図示の如く、ビット線XBLがローになるタイミングが通常のメモリセルの場合(実線GB)と比して早い。すなわち冗長メモリセル12、冗長センス増幅器22の方が通常のメモリセル11,センス増幅器21に比して読み出し動作が速い。これは上記の如く、冗長メモリセル12,冗長センス増幅器22の場合、通常のメモリセル11,通常のセンス増幅器21に比してトランジスタのサイズが大きく、あるいは並列トランジスタの個数が多く、その分性能が高いためである。
次に図17、(a)はクロック信号CLKの波形を示し、(b)はアドレス信号RA,CAの各々の波形を示し、(c)は書き込みデータWDの波形を示し、(d)はワードラインWLの信号波形を示し、(e)はコラムセレクト信号CSの波形を示す。又図17、(f)、(g)は夫々ビット線BL,XBLの信号波形を示し、(h)、(i)は夫々メモリセルの内部ノードRNL,RNRの波形を示す。
データの書き込み時、ローアドレス信号RAに基づいて生成されるワードラインWLの信号によりメモリセルアレイ110に含まれる行が選択される。又コラムアドレス信号CAに基づいて生成されるコラムセレクト信号CSによりメモリセルアレイ110に含まれる列が選択される。上記ワードラインWLで選択された行、ビット線BL,XBLで選択された列のメモリセルに対し、ライトデータラッチ131および増幅器121を介して与えられた書き込みデータWDが書き込まれる。図17の例は、図17,(g)に示される如く、ビット線XBLがローとなり、トランジスタT13,T23を介しメモリセルの内部ノードRNRがハイ、RNLがローとなり、データが書き込まれる。図17,(h)、(i)の破線の波形RRCは当該メモリセルが冗長メモリセル12の場合の例を示す。冗長メモリセル12の場合図示の如く、内部ノードRNRがローからハイ、RNLがハイからローになるタイミングが、通常のメモリセルの場合(実線GRC)と比して早い。すなわち冗長メモリセル12の方が通常のメモリセル11に比して書き込み動作が速い。これは上記の如く、冗長メモリセル12の場合、通常のメモリセル11に比してトランジスタのサイズが大きく、その分ドライブ能力が高いためである。
次に図18乃至図20とともに、図2の実施例、図3の他の実施例のいずれのSRAMマクロにも適用可能な冗長置換方式について説明する。
上記冗長置換方式によれば、故障したメモリセル11、あるいは故障したセンス増幅器21がSRAMマクロ内に存在した場合、これを冗長メモリセル12、あるいは冗長センス増幅器22で置き換える。その結果SRAMマクロの不良率を軽減することができる。上記の如く、故障した(すなわち不良の)メモリセル11、あるいは故障した(すなわち不良の)センス増幅器21を冗長メモリセル12、あるいは冗長センス増幅器22で置き換えることを以下単に「冗長置換」と称する。
冗長置換を実現する際に使用される冗長データRDIは、当該SRAMマクロ外に設けられている記憶素子(図示を省略)に予め保存される。冗長置換が必要なSRAMマクロの製品は、それが使用されるときに、当該保存された冗長データRDIが読み出され、使用される。
図18は冗長データRDIを読み出してデコードする回路を示す。当該回路も当該SRAMマクロ内のデータパス130に設けられる。ここで冗長データRDI自体は、当該SRAMマクロの製品の出荷前の各種の試験を通して事前に得る。当該回路はN個のラッチ201と、N個のインバータ202と、デコーダ203とを有する。冗長データRDIは当該SRAMマクロの製品がパワーオンされた時に、システム動作であらかじめ上記保存先の記憶素子から読み出される。読み出された冗長データRDIは、連続的なラッチクロック信号LCのパルスにより一連のラッチ201に順次シフトされて格納される。このようにしてラッチ201に格納された冗長データRDIは、当該SRAMマクロがパワーオフされるまで永続的にラッチ201に保持される。
このようにしてNビットの冗長データRDIがラッチ201に格納された後、インバータ202を介してデコーダ203に入力され、デコーダ203でデコードされる。その結果、2のn乗個の冗長選択信号Dec_data_in_xxがデコーダ203から出力され、その内、不良のメモリセルを示す1ビットだけが“1”となり、他のビットは全て”0”となる。なお上記冗長選択信号Dec_data_in_xxのxxは0,1,2,...,35,...の値を示す。又xxはnとも称される。
図19はデータの書き込み時に、上記デコーダ203から出力される冗長選択信号Dec_data_in_xxを基に、故障部分(すなわち不良)の1ビット分のメモリセル11及びセンス増幅器21を冗長メモリセル12及び冗長センス増幅器22に置換する回路の一例を示す。当該回路もSRAMマクロのデータパス部130に含まれる。ここでは書き込みデータWDであるWrite_Data_in_xxが36ビット分入力される例を想定する。すなわち、メモリセルアレイ110の各行が、36個の通常のメモリセル11と1個の冗長メモリセル12とを含む、合計37ビット分の37個のメモリセル11,12を有する。そしてローカルブロック部120が、対応する37個のセンス増幅器21,22を有する。すなわちこの例の場合、メモリセルアレイ110は37列を有し、そのうち1列(図19中、左端の列)が各冗長メモリセル12および冗長センス増幅器22の列である。この例では図19に示される如く、上記37列の各列に対し冗長置換回路251が合計37個設けられる。
各冗長置換回路251は図20に示される回路構成を有する。冗長置換回路251はNOR素子NO1,インバータINV1,INV2,NAND素子NA1〜NA6を有する。冗長置換が行われる場合、上記の如く、冗長選択信号Dec_data_in_xx(Dec_D_xx又はDec_D_nとも称する)の内1ビットが“1”とされる。冗長置換回路251は、書き込みデータWrite_Data_in_xx(WD_xx又はWD_nとも称する)および冗長選択信号Dec_data_in_xxの両データを評価し、書き込みデータWD_out_xx、XWD_out_xxおよび判定信号Judge_xxを出力する。又、書き込みデータWrite_Data_in_xxは、上記37個の冗長選択回路251の間で、WD_inout_xx、XWD_inout_xxとして、図19中、左方向に順次受け渡される。冗長選択信号Dec_data_in_xxも又Red_D_xxとして37個の冗長選択回路251間で、図19中、左方向に順次受け渡される。判定信号Judge_xxが”0”の列上のメモリセル11およびセンス増幅器21が冗長置換の対象と判断され、冗長メモリセル12および冗長センス増幅器22で置き換えられる。メモリセルアレイ110中、ワード線WLの信号で指定される行につき、冗長置換の対象として上記の如く置き換えられるメモリセル11のビットを除いた36ビット分の列に対し、書き込みデータWDが与えられる。
以下に冗長置換回路251の動作を詳細に説明する。
当該冗長置換回路251が置換対象の列に属する場合、冗長選択信号Dec_D_xx(図20中、Dec_D_n)は“1”を有する。当該信号はインバータINV1で反転されて“0”となり、判定信号Judge_nとして出力される。当該“0”の判定信号が図19中、NAND素子NAX,NAYに与えられると、ゲートとして機能する素子NAX,NAYのそれぞれのゲートが閉じ、当該列のメモリセル11に対し書き込みデータが出力されない。従って置換対象の列のメモリセル11への書き込みがなされない。
冗長選択回路251に与えられる冗長選択信号Red_d_n−1は、当該冗長置換回路251が属する列より右側の列が置換対象の場合、“1”を有する。素子NO1は入力される冗長選択信号Dec_D_n、Red_D_n−1のいずれかが“1”であれば“0”を出力する。当該“0”出力はインバータINV2で反転されて“1”となり、Red_D_nとして左隣の冗長選択回路251に渡される。
素子NA1、NA2の夫々に素子NO1の上記“0”出力が入力されると、ゲートとして機能するこれらの素子NA1,NA2のゲートが閉じ、当該列のメモリセル11に対する書き込みデータWD_in_n,XWD_in_nを出力しない。すなわち、当該列自体あるいは右隣の何れかの列が置換対象の場合、当該列に対する書き込みデータは当該列のメモリセル11に対し出力されない。他方、素子NA3、NA4に、右隣から渡された“1”を有する冗長選択信号Red_D_n−1が入力されると、ゲートとして機能するそれぞれの素子NA3,NA4のゲートが開き、上記右隣の列のメモリセル11に対する書き込みデータWD_in_n−1,XWD_in_n−1を、NAND素子NA5,NA6を介し、代わりに出力する。すなわち、当該列自体あるいは右隣の何れかの列が置換対象の場合、右隣の列に対する書き込みデータが当該列のメモリセル11に対し出力される。
他方、素子NA1、NA2に、夫々素子NO1の“1”出力が入力されると、ゲートとして機能するそれぞれの素子NA1,NA2のゲートが開き、当該列のメモリセル11に対する書き込みデータWD_in_n,XWD_in_nを、NAND素子NA5,NA6を介し、出力する。すなわち、当該列自体も、右隣の何れかの列も置換対象でない場合、当該列に対する書き込みデータが当該列のメモリセル11に対し出力される。他方、素子NA3、NA4に、右隣から渡された“0”を有する冗長選択信号Red_D_n−1が入力されると、ゲートとして機能するそれぞれの素子NA3,NA4のゲートが閉じ、上記右隣の列のメモリセル11に対して与えられた書き込みデータWD_in_n−1,XWD_in_n−1を出力しない。すなわち、当該列自体も、右隣の何れかの列も置換対象でない場合、右隣の列に対する書き込みデータは当該列のメモリセル11に対し出力されない。
このように冗長選択回路251によれば、各メモリセルアレイ110の各列につき、当該列自体あるいは右隣の何れかの列が置換対象である場合、当該列に対する書き込みデータは、順次左隣の列のメモリセル11に対して出力される。他方、当該列自体も、右隣の何れかの列も置換対象でない場合、当該列に対する書き込みデータは、そのまま当該列のメモリセル11に対して出力される。その結果、置換対象の列より右側の列につき、通常通り、各列に対する書き込みデータWDがそのまま当該列のメモリセル11に書き込まれる。他方置換対象の列およびその左側の各列につき、右隣の列に対する書き込みデータWDが当該列のメモリセル11に書き込まれる。このようにして、置換対象の列のメモリセル11にはデータが書き込まれることがない。又置換対象の列より左側の各列のメモリセル11につき、順次1列ずつ左側にずれた列のメモリセル11に対しデータが書き込まれる。よって冗長置換が実現される。
図21はデータの読み出し時に、上記デコーダ203から出力される冗長選択信号Dec_data_in_xxを基に故障部分(すなわち不良)の1ビット分のメモリセル11及びセンス増幅器22を冗長メモリセル及び冗長センス増幅器に冗長置換する回路の一例を示す。当該回路もSRAMマクロのデータパス部130に含まれる。当該例は、読み出しデータRDであるRead_Data_in_xx,XRead_Data_in_xx(夫々RD_in_xx,XRD_in_xxとも記載する)が37ビット分入力され、メモリセルアレイ110の各行は、1個の冗長メモリセル12と36個の通常のメモリセルを有する。又ローカルブロック部120が、対応する37個のセンス増幅器21,22を有する。すなわちこの例の場合、メモリセルアレイ110は37列を有し、そのうち1列(図21中、左端の列)が冗長メモリセル12および冗長センス増幅器22を有する。この例でも図21に示される如く、上記37列の各列に対し冗長置換回路252が合計37個設けられる。
各冗長置換回路252は図22に示される回路構成を有する。冗長置換回路252はNOR素子NO2,インバータINV21,INV22,NAND素子NA11〜NA16を有する。冗長置換が行われる場合、上記の如く、冗長選択信号Dec_data_in_xx(Dec_D_xxとも記載する)の内1ビットが“1”とされる。冗長置換回路252は、読み出しデータRead_Data_in_xx、XRead_Data_in_xx(夫々RD_in_xx,XRD_in_xxとも記載する)および冗長選択信号Dec_data_in_xxの両データを評価し、読み出しデータRD_out_xx、および判定信号Judge_xxを出力する。又、読み出しデータRead_Data_in_xx、XRead_Data_in_xxは、上記37個の冗長選択回路252間で、RD_inout_xx、XRD_inout_xxとして、図21、右方向に順次受け渡される。冗長選択信号Dec_data_in_xxは、Red_D_xxとして37個の冗長選択回路252間で、図21中、左方向に順次受け渡される。
判定信号Judge_xxが”0”の列では、当該列上のメモリセル11およびセンス増幅器21が冗長置換の対象と判断され、冗長メモリセル12および冗長センス増幅器22の列で置き換えられる。メモリセルアレイ110中、ワード線WLで指定される行につき、冗長置換の対象として上記の如く置き換えられた列のビットを除いた36ビット分の36列から読み出しデータRDが取り出される。
以下に冗長置換回路252の動作を詳細に説明する。当該冗長置換回路252が属する列が置換対象の列であった場合、冗長選択信号Dec_D_xx(図22中、Dec_D_n)は“1”を有する。当該信号はインバータINV21で反転されて“0”となり、判定信号Judge_nとして出力される。当該“0”の判定信号によりトランジスタTXが制御され、当該列に係る読み出し信号RD_in_n,XRD_in_nは各々ハイとなり、当該列のメモリセル11からの読み出しデータは出力されない。従って置換対象の列のメモリセル11からのデータの取り出しは行われない。
右隣の冗長置換回路252から与えられる冗長選択信号Red_d_n−1は、当該冗長置換回路252が属する列より右側の列が置換対象の場合、“1”を有する。素子NO2は入力される冗長選択信号Dec_D_n、Red_D_n−1のいずれかが“1”であれば“0”を出力する。当該“0”出力はインバータINV22で反転されて“1”となり、Red_D_nとして左隣の冗長選択回路に渡される。素子NA11、NA12の夫々に対し、素子NO2の上記“0”出力が入力されると、ゲートとして機能するそれぞれの素子NA11,NA12のゲートが閉じ、当該列のメモリセル11から取り出された読み出しデータRD_in_n,XRD_in_nを、当該列の出力RD_out_xx,XRD_out_xxとしない。すなわち、当該列自体あるいは右隣の何れかの列が置換対象の場合、当該列のメモリセル11からの読み出しデータは、当該列の出力RD_out_xx,XRD_out_xxとして出力されない。素子NA13、NA14に、右隣から渡された“1”を有する冗長選択信号Red_D_n−1が入力されると、ゲートとして機能するそれぞれの素子NA13,NA14のゲートが開き、左隣の列のメモリセル11から取り出された読み出しデータRD_in_n+1,XRD_in_n+1を、NAND素子NA15,NA16を介し、代わりに出力する。すなわち、当該列自体あるいは右隣の何れかの列が置換対象の場合、左隣の列のメモリセル11からの読み出しデータが出力される。
他方、素子NA11、NA12の夫々に素子NO2の“1”出力が入力されると、ゲートとして機能するそれぞれの素子NA11,NA12のゲートが開き、当該列のメモリセル11から取り出された読み出しデータRD_in_n,XRD_in_nを、NAND素子NA15,NA16を介し出力する。すなわち、当該列自体も、右隣の何れかの列も置換対象でない場合、当該列のメモリセル11からの読み出しデータがそのまま出力される。又素子NA13、NA14に、右隣から渡された“0”を有する冗長選択信号Red_D_n−1が入力されると、ゲートとして機能するそれぞれの素子NA13,NA14のゲートが閉じ、左隣の列のメモリセル11から取り出された読み出しデータRD_in_n+1,XRD_in_n+1を出力しない。すなわち、当該列自体も、右隣の何れかの列も置換対象でない場合、左隣の列のメモリセル11からの読み出しデータは出力されない。
このように冗長選択回路252によれば、各メモリセルアレイ110の各列につき、当該列自体あるいは右隣の何れかの列が置換対象である場合、左隣の列のメモリセル11から得られた読み出しデータが出力される。他方、当該列自体も、右隣の何れかの列も置換対象でない場合、当該列のメモリセル11から得られた読み出しデータがそのまま出力される。その結果、置換対象の列より右側の列につき、通常通り、各列のメモリセルから得られた読み出しデータが出力される。他方置換対象の列およびその左側の各列につき、左隣の列のメモリセルから得られた読み出しデータが出力される。このようにして、置換対象の列のメモリセル11から取り出された読み出しデータは出力されない。又置換対象の列より左側の各列のメモリセル11から得られた読み出しデータは、順次1列ずつ右側にずれて出力される。よって冗長置換が実現される。
尚、上記図3の他の実施例の説明では、端部メモリセル13および端部センス増幅器23は、夫々通常のメモリセル11および通常のセンス増幅器21に比して面積が大きいものとして説明してきた。しかしながら端部メモリセルおよび端部センス増幅器の構成は上記構成に限られない。すなわち、更に他の実施例として、端部メモリセルおよび端部センス増幅器を、夫々通常のメモリセルおよび通常のセンス増幅器に比して面積が小さいものとする実施例も可能である。当該更に他の実施例では、例えば図23に示す如く、デコーダ150に隣接する列上のメモリセルを端部メモリセル14として通常のメモリセル11よりも行方向に沿う長さL4および面積A4を夫々通常のメモリセル11の長さL1およびA1より小さくすることができる。この場合、端部メモリセル14の性能が通常のメモリセル11よりも劣ることを許容することができる。同様に同列上のセンス増幅器(図示を省略)を端部センス増幅器とし、通常のセンス増幅器よりも行方向に沿う長さおよび面積を小さくして通常のセンス増幅器よりも感度が劣ることを許容することができる。