(57)【特許請求の範囲】
【請求項１】
データを保持する複数のメモリセルを有するメモリブロックと、
前記メモリブロックに含まれる同一ビットの複数のメモリセルのカラムアドレスのうちの半分の第１カラムアドレスを選択する第１選択信号、又は、前記同一ビットの複数のメモリセルの前記カラムアドレスのうちの残りの半分の第２カラムアドレスを選択する第２選択信号を出力する選択回路であって、前記複数のメモリセルに試験データを書き込むときは、前記第１選択信号及び前記第２選択信号の両方を出力し、前記複数のメモリセルに通常データを書き込むときは、前記第１選択信号又は前記第２選択信号のいずれか一方を出力する選択回路と、
前記第１選択信号が第１レベルの場合に、前記同一ビットの複数のメモリセルのうち、前記第１カラムアドレスに対応する第１メモリセルにライトデータを出力する第１ドライバと、
前記第２選択信号が第１レベルの場合に、前記同一ビットの複数のメモリセルのうち、前記第２カラムアドレスに対応する第２メモリセルにライトデータを出力する第２ドライバと
を含む、半導体記憶装置。
【請求項２】
前記カラムアドレスのうちの前記第１カラムアドレスと、前記第２カラムアドレスとは、前記カラムアドレスの最上位ビット値が異なる、請求項１記載の半導体記憶装置。
【請求項３】
前記選択回路は、
前記カラムアドレスの最上位ビット値が入力されるアドレス入力端子と、
前記複数のメモリセルに前記試験データ又は前記通常データのいずれを書き込むかを表す試験制御信号が入力される試験用入力端子と、
前記最上位ビット値の反転値と、前記試験制御信号の反転値との第１否定論理積を出力する第１否定論理積回路と、
前記最上位ビット値と、前記試験制御信号の反転値との第２否定論理積を出力する第２否定論理積回路と
を有し、
前記第１選択信号は前記第１否定論理積に対応する信号であり、前記第２選択信号は前記第２否定論理積に対応する信号である、請求項２記載の半導体記憶装置。
【請求項４】
前記選択回路は、前記複数のメモリセルに前記試験データ又は前記通常データのいずれを書き込むかを表す試験制御信号が入力される試験用入力端子を有し、前記試験用入力端子に入力される前記試験制御信号が前記複数のメモリセルに前記試験データを書き込むことを表す場合に、前記第１選択信号及び前記第２選択信号の両方を出力する、請求項１記載の半導体記憶装置。
【請求項５】
データを保持する複数のメモリセルを有するメモリブロックと、
前記メモリブロックに含まれる同一ビットの複数のメモリセルのカラムアドレスのうちの半分の第１カラムアドレスを選択する第１選択信号、又は、前記同一ビットの複数のメモリセルの前記カラムアドレスのうちの残りの半分の第２カラムアドレスを選択する第２選択信号を出力する選択回路であって、前記複数のメモリセルに試験データを書き込むときは、前記第１選択信号及び前記第２選択信号の両方を出力し、前記複数のメモリセルに通常データを書き込むときは、前記第１選択信号又は前記第２選択信号のいずれか一方を出力する選択回路と、
前記第１選択信号が第１レベルの場合に、前記同一ビットの複数のメモリセルのうち、前記第１カラムアドレスに対応する第１メモリセルにライトデータを出力する第１ドライバと、
前記第２選択信号が第１レベルの場合に、前記同一ビットの複数のメモリセルのうち、前記第２カラムアドレスに対応する第２メモリセルにライトデータを出力する第２ドライバと
を含む、半導体記憶装置の動作試験をコンピュータが行う動作試験方法であって、
前記コンピュータは、
前記メモリブロックに含まれる同一ビットの複数のメモリセルのうち、前記第１カラムアドレスに対応するメモリセルに第１テストデータを書き込む第１書き込み工程と、
前記第１書き込み工程によって前記第１カラムアドレスに対応するメモリセルに書き込んだ第１テストデータを読み出す第１読み出し工程と、
前記メモリブロックに含まれる同一ビットの複数のメモリセルのうち、前記第２カラムアドレスに対応するメモリセルに第２テストデータを書き込む第２書き込み工程と、
前記第２書き込み工程によって前記第２カラムアドレスに対応するメモリセルに書き込んだ第２テストデータを読み出す第２読み出し工程と
を実行する、半導体記憶装置の試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置、及び、半導体記憶装置の試験方法に関する。
【背景技術】
【０００２】
従来より、半導体チップのメモリコア内においてロー数及びカラム数の積の数のメモリセルを有するメモリセルアレイと、メモリセルアレイの通常動作のためにメモリコア内に形成されメモリセルアレイの所定のカラム数ごとに１ビットの入力線又は出力線又は入出力線が対応する入出力回路とを含む半導体記憶回路装置がある。【０００３】
この半導体記憶回路装置は、さらに、メモリセルアレイの製造時検査用にメモリコア内に形成され所定のカラム数より少ないメモリセルアレイのカラム数ごとに１ビットの入力線又は出力線又は入出力線が対応する検査回路を含む（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２３７１９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の半導体記憶回路装置は、同一ビットのメモリブロックに含まれる複数のメモリセルのカラムアドレスの半分に対応するメモリセルについて製造時の動作テストを行うと、残りの半分のカラムアドレスに対応するメモリセルに不良が生じていても検出できないおそれがある。【０００６】
そこで、高精度に不良を検出できる半導体記憶装置、及び、半導体記憶装置の試験方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の実施の形態の半導体記憶装置は、データを保持する複数のメモリセルを有するメモリブロックと、前記メモリブロックに含まれる同一ビットの複数のメモリセルのカラムアドレスのうちの半分の第１カラムアドレスを選択する第１選択信号、又は、前記同一ビットの複数のメモリセルの前記カラムアドレスのうちの残りの半分の第２カラムアドレスを選択する第２選択信号を出力する選択回路であって、前記複数のメモリセルに試験データを書き込むときは、前記第１選択信号及び前記第２選択信号の両方を出力し、前記複数のメモリセルに通常データを書き込むときは、前記第１選択信号又は前記第２選択信号のいずれか一方を出力する選択回路と、前記第１選択信号が第１レベルの場合に、前記同一ビットの複数のメモリセルのうち、前記第１カラムアドレスに対応する第１メモリセルにライトデータを出力する第１ドライバと、前記第２選択信号が第１レベルの場合に、前記同一ビットの複数のメモリセルのうち、前記第２カラムアドレスに対応する第２メモリセルにライトデータを出力する第２ドライバとを含む。
【発明の効果】
【０００８】
高精度に不良を検出できる半導体記憶装置、及び、半導体記憶装置の試験方法の試験方法を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】前提技術のＳＲＡＭにおけるビットとカラムの割り当てを示す図である。
【図２】前提技術のＳＲＡＭの動作試験においてデータを書き込んだ状態を示す図である。
【図３】図１の（Ｃ）に示す前提技術のＳＲＡＭの製造時の動作テストにおいてローワー側のサブブロックにテストデータを書き込んだ状態を示す図である。
【図４】図１の（Ｃ）に示すＳＲＡＭにおいて、相隣接するサブブロック間でのリークを検出できない状態を示す図である。
【図５】実施の形態のＳＲＡＭを示す図である。
【図６】３ビットのカラムアドレスと選択されるカラムの関係を示す図である。
【図７】実施の形態のＳＲＡＭの書き込み動作に用いる回路の詳細を示す図である。
【図８】実施の形態のＳＲＡＭの通常動作時の書き込み動作を示すタイミングチャートである。
【図９】実施の形態のＳＲＡＭに用いる回路の詳細を示す図である。
【図１０】実施の形態のＳＲＡＭの動作テスト時の書き込み動作を示すタイミングチャートである。
【図１１】実施の形態のＳＲＡＭのメモリセルに、チェッカーボードパターンでライトデータを書き込んだ状態を示す図である。
【図１２】相隣接するアッパー側のサブブロックとローワー側のサブブロックとの境界に位置するメモリセル同士の間でリークの発生している場合に、各メモリセルに書き込まれたテストデータを示す図である。
【図１３】実施の形態のＳＲＡＭの動作テストの手順を示す図である。
【図１４】実施の形態のＳＲＡＭにＬＳＩテスタを接続した状態を示す図である。
【発明を実施するための形態】
【００１０】
本発明の半導体記憶装置、及び、半導体記憶装置の試験方法を適用した実施の形態について説明する前に、前提技術による半導体記憶装置、及び、半導体記憶装置の試験方法について説明する。
【００１１】
図１は、前提技術のＳＲＡＭ（Static Random Access Memory）におけるビットとカラムの割り当てを示す図である。図２は、前提技術のＳＲＡＭの動作試験においてデータを書き込んだ状態を示す図である。
【００１２】
図１の（Ａ）には、４Ｋワードｘ７２ビット−４カラム／ビットのＳＲＡＭの構成を示す。図１の（Ａ）に示すＳＲＡＭは、７２個のＩ／Ｏ（Input/Output）(RD/WD[0]~RD/WD[71])、７２個のメモリブロック(column[3:0])、及び、２個の冗長ブロック(red[3:0])を含む。図１の（Ａ）に示すＳＲＡＭの総メモリセル数は、冗長ブロック(red[3:0])に含まれるメモリセルを含めて1ワード当たり２９６である。
【００１３】
図１の（Ｂ）には、４Ｋワードｘ７２ビット-８カラム／ビットのＳＲＡＭの構成を示す。図１の（Ｂ）に示すＳＲＡＭは、７２個のＩ／Ｏ(RD/WD[0]~RD/WD[71])、７２個のメモリブロック(column[7:0])、及び、２個の冗長ブロック(red[7:0])を含む。図１の（Ｂ）に示すＳＲＡＭの総メモリセル数は、冗長ブロック(red[7:0])に含まれるメモリセルを含めて1ワード当たり５９２である。
【００１４】
図１の（Ｃ）は、８Ｋワードｘ３６ビット-８カラム／ビットのＳＲＡＭの構成を示す。図１の（Ｃ）に示すＳＲＡＭは、３６個のＩ／Ｏ（Input/Output）(RD/WD[0]~RD/WD[35])、３６個のメモリブロック(column[7:4], column[3:0])、及び、２個の冗長ブロック(red[3:0])を含む。図１の（Ｃ）に示すＳＲＡＭの総メモリセル数は、冗長ブロック(red[3:0])に含まれるメモリセルを含めて1ワード当たり２９６であり、これは図１の（Ａ）に示すＳＲＡＭと同一である。
【００１５】
図１（Ｃ）に示すＳＲＡＭの３６個のメモリブロック(column[7:4], column[3:0])は、それぞれ、アッパー側のサブブロック(column[7:4])と、ローワー側のサブブロック(column[3:0])とに分けられている。
【００１６】
アッパー側のサブブロック(column[7:4])と、ローワー側のサブブロック(column[3:0])とは、カラムアドレスの最上位ビット値で選択することができ、別々にデータの書き込み及び読み出しを行えるようになっている。
【００１７】
ＳＲＡＭ（ＳＲＡＭマクロ）では、アルファ線又は中性子線を起因とするソフトエラーの対策として、１ｂｉｔあたりのカラム数を２倍にして、複数ビット・エラーを防止する方法が取られる。
【００１８】
これは、例えば、図１の（Ａ）に示す４Ｋワードｘ７２ビット-４カラム／ビットのＳＲＡＭに対して、図１の（Ｂ）に示す４Ｋワードｘ７２ビット-８カラム／ビットのＳＲＡＭのように、カラム数を２倍にすることによって実現される。すなわち、図１の（Ａ）に示すＳＲＡＭに対して、ソフトエラー対策を行ったＳＲＡＭが、図１の（Ｂ）に示すＳＲＡＭである。
【００１９】
しかし、単純に１ｂｉｔあたりのカラム数を２倍にすると、ＳＲＡＭ（ＳＲＡＭマクロ）のサイズは、カラムが並ぶ方向（図１の（Ａ）及び図１の（Ｂ）における縦方向）に大きくなるので、ワード線の配線長が約２倍になる。このため、ワード線の配線長の増大による寄生容量の増大等の負荷の増加により、ディレイの増大等の性能低下が生じる。
【００２０】
そこで、図１の（Ｃ）に示すように、ＳＲＡＭ（ＳＲＡＭマクロ）全体でのビット数を半分にするとともに、冗長ブロック(red[3:0])のカラム数をソフトエラー対策前と同じ数にすることにより、カラムが並ぶ方向におけるＳＲＡＭ（ＳＲＡＭマクロ）のサイズ増を回避しつつ、ソフトエラー対策を行うことができる。
【００２１】
図１の（Ｃ）に示すＳＲＡＭの冗長ブロック(red[3:0])のカラム数（４）は、図１の（Ａ）に示すＳＲＡＭのメモリブロック(column[3:0])のカラム数（４）と同一である。
【００２２】
図１（Ｃ）に示すＳＲＡＭでは、アッパー側のサブブロック(column[7:4])、ローワー側のサブブロック(column[3:0])、及び冗長ブロック(red[3:0])のサイズを揃えている。これは、３６個のメモリブロック(column[7:4], column[3:0])のうちのいずれかのサブブロック(column[7:4])又は(column[3:0])が不良である場合に、不良の生じたサブブロックの代わりに、冗長ブロック(red[3:0])を用いることができるようにするためである。
【００２３】
以下では、このようなサブブロック(column[7:4])又は(column[3:0])と、冗長ブロック(red[3:0])のサイズをハーフビットと称す。ハーフビットは、サブブロック(column[7:4])とサブブロック(column[3:0])とを合わせた１ビットのメモリブロック(column[7:4], column[3:0])の半分に相当するサイズである。
【００２４】
しかし、図１の（Ｃ）に示す構成のＳＲＡＭでは、メモリブロックをサブブロック(column[7:4])と(column[3:0])に分けたため、製造時の動作テストにおいて、どのメモリブロックに不良が生じているかを特定することはできるが、サブブロック(column[7:4])と(column[3:0])とどちらに不良が生じているかを特定することはできない。
【００２５】
このため、製造時の動作テストでは、図２の（Ａ）に示すようにローワー側のサブブロック(column[3:0])へのデータの書き込み及び読み出しと、図２の（Ｂ）に示すようにアッパー側のサブブロック(column[7:4])へのデータの書き込み及び読み出しとを別々に行う。図２の（Ａ）、（Ｂ）における矢印は読み出しを示す。
【００２６】
ローワー側のサブブロック(column[3:0])とアッパー側のサブブロック(column[7:4])へのデータの書き込み及び読み出しを別々に行えば、ローワー側のサブブロック(column[3:0])とアッパー側のサブブロック(column[7:4])のいずれに不良が生じているかを判定できるからである。
【００２７】
そして、不良が見つかった場合には、不良の生じているサブブロック(column[7:4])又は(column[3:0])と、冗長ブロック(red[3:0])とを入れ替えることによって、ＳＲＡＭが出荷可能かどうかを判定する。
【００２８】
図１の（Ｃ）に示すように、１つのＳＲＡＭ（ＳＲＡＭマクロ）は、７２個のサブブロック(column[7:4], column[3:0])に対して、２つの冗長ブロック(red[3:0])を含むため、不良の生じたサブブロックの数が２つまでであれば、ＳＲＡＭは出荷可能である。
【００２９】
図３は、図１の（Ｃ）に示す前提技術のＳＲＡＭの製造時の動作テストにおいてローワー側のサブブロック(column[3:0])にテストデータを書き込んだ状態を示す図である。
【００３０】
図３には、ローワー側のサブブロック(column[3:0])にテストデータを書き込んだ状態を示すため、アッパー側のサブブロック(column[7:4])にはテストデータは書き込まれていない。
【００３１】
図３に示すように、製造時の動作テストでは、チェッカーボード（市松模様状）・パターンを有するテストデータをサブブロック(column[3:0])に書き込む。チェッカーボードパターンは、アレイ状に配置されるメモリセルに"１"と"０"のデータを市松模様状に書き込んだものである。
【００３２】
チェッカーボードパターンのテストデータをメモリセルに書き込むことにより、平面視で１つのメモリセルのデータと、このメモリセルの上下左右の４つのメモリセルのデータとは異なるため、相隣接するメモリセル同士の間におけるリークの発生のような不良を検出することができる。
【００３３】
なお、このようなチェッカーボードパターンの書き込みは、アッパー側のサブブロック(column[7:4])に対しても同様に行われる。
【００３４】
しかしながら、上述のような製造時の動作テストでは、カラムアドレスの最上位ビット値を"１"に固定することによってアッパー側のサブブロック(column[7:4])に対してテストデータの書き込みと読み出しを行う。また、カラムアドレスの最上位ビット値を"０"に固定することによってローワー側のサブブロック(column[3:0])に対してテストデータの書き込みと読み出しを行う。
【００３５】
このため、ローワー側のサブブロック(column[3:0])に対してテストデータの書き込みと読み出しを行っているときは、アッパー側のサブブロック(column[7:4])にはテストデータは書き込まれず、アッパー側のサブブロック(column[7:4])のメモリセルに"０"／"１"のどちらのデータが保持されているのか判らない不定状態になる。図３には、不定状態のデータを"ｘ"で示す。
【００３６】
図１の（Ａ）、（Ｂ）に示すＳＲＡＭでは、７２個のメモリブロック(column[3:0])及びメモリブロック(column[7:0])のすべてに対してテストデータの書き込み及び読み出しを行うため、相隣接するメモリブロック(column[3:0], column[7:0])間でのリークを検出することができる。
【００３７】
これに対して、図１の（Ｃ）に示すＳＲＡＭでは、上述のように、ローワー側のサブブロック(column[3:0])とアッパー側のサブブロック(column[7:4])とに対するテストデータの書き込みと読み出しは別々に行うため、相隣接するサブブロック間でのリークを検出できない場合がある。
【００３８】
ここで、図４を用いて、図１の（Ｃ）に示すＳＲＡＭにおいて、相隣接するサブブロック間でのリークを検出できない場合について説明する。
【００３９】
図４は、図１の（Ｃ）に示すＳＲＡＭにおいて、相隣接するサブブロック間でのリークを検出できない状態を示す図である。
【００４０】
ここで、一例として、図４では、ローワー側のサブブロックのカラム[3]のメモリセルと、アッパー側のサブブロックのカラム[4]のメモリセルとの間にリークがあるとする。
【００４１】
また、ここでは、ローワー側のサブブロック(column[3:0])に対してテストデータの書き込みと読み出しを行う場合について説明する。このため、アッパー側のサブブロック(column[7:4])にはテストデータは書き込まれない。
【００４２】
図４では、横方向にサブブロック(column[7:4], column[3:0])のカラム[0]~[7]を示し、縦方向に時間軸を示す。図４に示す"１"、"０"は、時刻ｔ１以降に、カラム[0]~[7]のメモリセルが保持するデータ値を表し、"ｘ"はデータ値が不定であることを示す。
【００４３】
また、テストデータの書き込みは、ローワー側のサブブロック(column[3:0])に対して、カラム[3], [2], [1], [0]の順に行われる。
【００４４】
時刻ｔ１では、カラム[3]~[0]のメモリセルにはテストデータの書き込みは行われていないため、カラム[3]~[0]のメモリセルのデータ値は不定を表す"ｘ"である。
【００４５】
時刻ｔ２において、カラム[3]のメモリセルに"１"が書き込まれる。このとき、カラム[3]のメモリセルと、カラム[4]のメモリセルとの間にはリークがあるため、テストデータの書き込みが行われていないカラム[4]のメモリセルは"１"を保持する。
【００４６】
以後、時刻ｔ３から時刻ｔ５まで、カラム[3]のメモリセルとカラム[4]のメモリセルが"１"を保持する状態が続く。
【００４７】
時刻ｔ３では、カラム[2]のメモリセルに"０"が書き込まれる。時刻ｔ４では、カラム[1]のメモリセルに"１"が書き込まれる。時刻ｔ５では、カラム[0]のメモリセルに"０"が書き込まれる。
【００４８】
このように、時刻ｔ２からｔ５にかけて、カラム[3]~[0]のメモリセルには、"１"、"０"、"１"、"０"のテストデータが書き込まれる。
【００４９】
時刻ｔ５においてカラム[0]のメモリセルに"０"を書き込んだ後に、カラム[3]のメモリセルから読み出されるデータ値は"１"であり、これは、時刻ｔ２においてカラム[3]のメモリセルに書き込んだデータ値（期待値）"１"と同一であり、一致している。
【００５０】
このため、カラム[3]のメモリセルに不良は生じていないと判断される。
【００５１】
このように、ローワー側のサブブロックのカラム[3]のメモリセルと、アッパー側のサブブロックのカラム[4]のメモリセルとの間にリークがある場合に、ローワー側のサブブロック(column[3:0])に対してテストデータの書き込んだ場合には、アッパー側のサブブロックからデータを読み出すことは行われず、また、データを読み出すことはできない。
【００５２】
従って、図１の（Ｃ）に示すＳＲＡＭでは、製造時の動作テストを行っても、不良を検出できない場合がある。
【００５３】
従って、以下で説明する実施の形態では、高精度に不良を検出することのできる半導体記憶装置、及び、半導体記憶装置の試験方法を提供することを目的とする。
【００５４】
以下、本発明の半導体記憶装置、及び、半導体記憶装置の試験方法を適用した実施の形態について説明する。
【００５５】
＜実施の形態１＞
図５は、実施の形態のＳＲＡＭ１００を示す図である。
【００５６】
ＳＲＡＭ１００は、メモリブロック１１０、選択回路１２０、ドライバ１３０Ｕ、１３０Ｌ、ライトアンプ１４０Ｕ、１４０Ｌ、ライトカラム選択回路１５０Ｕ、１５０Ｌ、及びＦＦ(Flip Flop)１６０を含む。
【００５７】
ＳＲＡＭ１００は、さらに、ＦＦ２１０、リードマルチプレクサ２２０、リードアンプ２３０Ｕ、２３０Ｌ、リードカラム選択回路２４０Ｕ、２４０Ｌ、チョッパー回路３１０、ＦＦ３２０、３３０、及びライトクロック発生器３４０を含む。ＳＲＡＭ１００は、半導体記憶装置の一例である。
【００５８】
以下、各構成要素の符号の添え字のＵはUpperを意味し、添え字のＬはLowerを意味する。
【００５９】
メモリブロック１１０は、ＳＲＡＭ１００に含まれるメモリセルアレイのうちの１ビットに相当する部分である。ＳＲＡＭ１００のメモリセルアレイは、８Ｋワードｘ３６ビット-８カラム／ビットのメモリセルアレイである。
【００６０】
１つのメモリブロック１１０に含まれるメモリセルは、すべて同一ビットのデータを保持する。
【００６１】
メモリブロック１１０は、サブブロック１１０Ｕ及び１１０Ｌを有する。サブブロック１１０Ｕは、アッパー側のサブブロック(column[7:4])であり、サブブロック１１０Ｌは、ローワー側のサブブロック(column[3:0])である。サブブロック１１０Ｕ及び１１０Ｌのサイズはハーフビットである。
【００６２】
サブブロック１１０Ｕ及び１１０Ｌは、それぞれ、４カラム分のメモリセルを有するが、図５には、説明の便宜上、サブブロック１１０Ｕ及び１１０Ｌの内部に、それぞれ、１つのメモリセル１１１Ｕ及び１１１Ｌを示す。
【００６３】
メモリセル１１１Ｕ、１１１Ｌは、所謂６トランジスタ型のビットセルであり、ビットラインＢＬ、ＢＬＢと、ワードラインＷＬによってアドレスが特定される。
【００６４】
メモリセル１１１Ｕは、一対の否定回路であるインバータ１１１Ａ、１１１Ｂと一対のＮＭＯＳ（N-type Metal Oxide Semiconductor：Ｎ型金属酸化膜半導体）トランジスタ１１１Ｃ、１１１Ｄを含む。
【００６５】
インバータ１１１Ａ、１１１Ｂは、ループを形成するように接続されている。ＮＭＯＳトランジスタ１１１Ｃ、１１１Ｄのゲートは、ともにワードラインＷＬ（Ｗｏｒｄ  Ｌｉｎｅ）に接続されており、ＮＭＯＳトランジスタ１１１Ｃのドレインは正極性のビットラインＢＬに接続され、ＮＭＯＳトランジスタ１１１Ｄのドレインは負極性のビットラインＢＬＢ（ＢＬバー）に接続されている。
【００６６】
また、ＮＭＯＳトランジスタ１１１Ｃ、１１１Ｄのソースは、ループ状に接続されるインバータ１１１Ａ、１１１Ｂの接続部Ｎ１、Ｎ２に接続されている。
【００６７】
インバータ１１１Ａ、１１１Ｂは、それぞれ、ＰＭＯＳ（P-type Metal Oxide Semiconductor：Ｐ型金属酸化膜半導体）トランジスタとＮＭＯＳトランジスタ１１Ｂとを有するＣＭＯＳ（Complementary Metal Oxide Semiconductor：相補型金属酸化膜半導体）型のインバータである。このため、メモリセル１１１Ｕは、６つのＭＯＳトランジスタを含む。
【００６８】
このように、メモリセル１１１Ｕは、インバータ１１１Ａ、１１１Ｂを含むラッチ回路として実現される。
【００６９】
記憶ノードＮ１、Ｎ２に、"１"、"０"又は"０"、"１"の相補データを保持させ、ワードラインＷＬと一対のビットラインＢＬ、ＢＬＢでメモリセル１１１Ｕを選択することにより、記憶ノードＮ１、Ｎ２のデータの読み出し、及び書き込みを行う。
【００７０】
なお、メモリセル１１１Ｌの構成は、メモリセル１１１Ｕの構成と同様である。
【００７１】
メモリセル１１１ＵのビットラインＢＬ、ＢＬＢは、それぞれ、ローカルビットラインＬＢＬ＿Ｕ、ＬＢＬＢ＿Ｕを介して、ライトカラム選択回路１５０Ｕとリードカラム選択回路２４０Ｕに接続されている。
【００７２】
同様に、メモリセル１１１ＬのビットラインＢＬ、ＢＬＢは、それぞれ、ローカルビットラインＬＢＬ＿Ｌ、ＬＢＬＢ＿Ｌを介して、ライトカラム選択回路１５０Ｌとリードカラム選択回路２４０Ｌに接続されている。
【００７３】
実際には、サブブロック１１０Ｕ及び１１０Ｌは、４対のビットラインＢＬ、ＢＬＢを有する。
【００７４】
このため、実際には、サブブロック１１０Ｕの４対のビットラインＢＬ、ＢＬＢは、それぞれ、４対のローカルビットラインＬＢＬ＿Ｕ、ＬＢＬＢ＿Ｕを介して、ライトカラム選択回路１５０Ｕとリードカラム選択回路２４０Ｕに接続されている。
【００７５】
同様に、サブブロック１１０Ｌの４対のビットラインＢＬ、ＢＬＢは、それぞれ、４対のローカルビットラインＬＢＬ＿Ｌ、ＬＢＬＢ＿Ｌを介して、ライトカラム選択回路１５０Ｌとリードカラム選択回路２４０Ｌに接続されている。
【００７６】
メモリセル１１１Ｕ、１１１Ｌにデータを書き込むときのカラムアドレスの選択は、ビットラインＢＬ、ＢＬＢとローカルビットラインＬＢＬ＿Ｌ、ＬＢＬＢ＿Ｌ又はＬＢＬ＿Ｕ、ＬＢＬＢ＿Ｕを介して、ライトカラム選択回路１５０Ｕ、１５０Ｌによって行われる。
【００７７】
メモリセル１１１Ｕ、１１１Ｌからデータを読み出すときのカラムアドレスの選択は、ビットラインＢＬ、ＢＬＢとローカルビットラインＬＢＬ＿Ｌ、ＬＢＬＢ＿Ｌ又はＬＢＬ＿Ｕ、ＬＢＬＢ＿Ｕを介して、リードカラム選択回路２４０Ｕ、２４０Ｌによって行われる。
【００７８】
チョッパー回路３１０の入力端子にはシステムクロックＣＬＫが入力される。チョッパー回路３１０の出力端子はＦＦ１６０、２１０、３２０、３３０のクロック入力端子と、ライトクロック発生器３４０の一方（図中上側）の端子とに接続される。
【００７９】
チョッパー回路３１０は、システムクロックＣＬＫに基づき、ＦＦ１６０、２１０、３２０、３３０に入力するクロックＣＬＫ１を生成する。チョッパー回路３１０は、システムクロックＣＬＫの幅等を調整したクロックＣＬＫ１をＦＦ１６０、２１０、３２０、３３０に入力する。ＦＦ１６０、２１０、３２０、３３０は、クロックＣＬＫ１に同期して動作する。
【００８０】
ＦＦ３２０は、ライトイネーブル信号ＷＥが入力され、ＦＦ３２０は、チョッパー回路３１０からクロック入力端子に入力されるクロックＣＬＫ１に応じて動作する。ＦＦ３２０の出力端子は、ライトクロック発生器３４０の他方（図中下側）の端子に接続される。
【００８１】
ＳＲＡＭ１００は、ライトイネーブル信号ＷＥが'０'のときに読み出し（リード）動作を行い、ライトイネーブル信号ＷＥが'１'のときに書き込み（ライト）動作を行う。
【００８２】
ＦＦ３３０は、カラムアドレスの最上位ビット値ＡＤ［２］が入力され、チョッパー回路３１０からクロック入力端子に入力されるクロックＣＬＫ１に応じて動作する。ＦＦ３３０の出力端子は選択回路１２０に接続されている。
【００８３】
ライトクロック発生器３４０は、ＮＡＮＤ回路３４１及びインバータ３４２を有する。ＮＡＮＤ回路３４１の一対の入力端子には、システムクロックＣＬＫと、ライトイネーブル信号ＷＥとが入力される。ライトイネーブル信号ＷＥは、ＦＦ３２０から入力される。ＮＡＮＤ回路３４１の出力端子はインバータ３４２の入力端子に接続される。インバータ３４２の出力は、ライトクロック発生器３４０の出力（ライトクロックＷＣＫ）として出力される。
【００８４】
ライトクロック発生器３４０は、システムクロックＣＬＫと、ライトイネーブル信号ＷＥとの否定論理積をインバータ３４２で反転させて得るライトクロックＷＣＫを出力する。
【００８５】
ここで、ライトイネーブル信号ＷＥが'０'でライトクロックＷＣＫが'０'のときに、ＳＲＡＭ１００はリード動作を行う。また、ライトイネーブル信号ＷＥが'１'でライトクロックＷＣＫが'１'になるときに、ＳＲＡＭ１００はライト動作を行う。
【００８６】
選択回路１２０は、３つの入力端子を有する。選択回路１２０には、カラムアドレスの最上位ビット値ＡＤ［２］、ライトクロックＷＣＫ、及びテスト制御信号ＣＴが入力される。最上位ビット値ＡＤ［２］、ライトクロックＷＣＫは、それぞれ、ＦＦ３３０、ライトクロック発生器３４０から入力される。
選択回路１２０は、信号線net_A, net_Bに接続される２つの出力端子を有する。なお、カラムアドレスは、３ビットのアドレスデータである。
【００８７】
選択回路１２０は、カラムアドレスの最上位ビット値ＡＤ［２］、ライトクロックＷＣＫ、及びテスト制御信号ＣＴに基づき、選択信号net_A, net_Bを生成し、それぞれ、信号線net_A, net_Bに出力する。
【００８８】
選択回路１２０の２つの出力端子は、それぞれ、信号線net_A, net_Bを介して、ドライバ１３０Ｕ、１３０Ｌに接続されている。選択回路１２０が出力する選択信号net_A, net_Bは、それぞれ、ドライバ１３０Ｕ、１３０Ｌに入力される。
【００８９】
選択信号net_A, net_Bは、ライトデータの書き込み先をアッパー側のサブブロック１１０Ｕ又はローワー側のサブブロック１１０Ｌのいずれかに設定するために用いられる。選択信号net_Aは、第１選択信号の一例である。選択信号net_Bは、第２選択信号の一例である。
【００９０】
ドライバ１３０Ｕ、１３０Ｌは、それぞれ、２つの入力端子を有する。ドライバ１３０Ｕの２つの入力端子には、それぞれ、信号線net_A, net_Cが接続される。ドライバ１３０Ｌの２つの入力端子には、それぞれ、信号線net_B, net_Cが接続される。
【００９１】
また、ドライバ１３０Ｕ、１３０Ｌは、それぞれ、２つの出力端子を有する。ドライバ１３０Ｕの２つの出力端子には、ライトビットラインＷＢＬ＿Ｕ、ＷＢＬＢ＿Ｕが接続される。ライトビットラインＷＢＬ＿Ｕ、ＷＢＬＢ＿Ｕは、ライトアンプ１４０Ｕに接続されている。
【００９２】
ドライバ１３０Ｌの２つの出力端子には、ライトビットラインＷＢＬ＿Ｌ、ＷＢＬＢ＿Ｌが接続される。ライトビットラインＷＢＬ＿Ｌ、ＷＢＬＢ＿Ｌは、ライトアンプ１４０Ｌに接続されている。
【００９３】
ドライバ１３０Ｕには、選択回路１２０から選択信号net_Aが入力されるとともに、ＦＦ１６０からライトデータが入力される。ドライバ１３０Ｌには、選択回路１２０から選択信号net_Bが入力されるとともに、ＦＦ１６０からライトデータが入力される。
【００９４】
ドライバ１３０Ｕは、選択信号net_AがＨ(High)レベルの場合に、ライトデータをライトビットラインＷＢＬ＿Ｕ、ＷＢＬＢ＿Ｕに出力し、選択信号net_AがＬ(Low)レベルの場合には、ライトデータを出力しない。
【００９５】
ドライバ１３０Ｌは、選択信号net_BがＨ(High)レベルの場合に、ライトデータをライトビットラインＷＢＬ＿Ｌ、ＷＢＬＢ＿Ｌに出力し、選択信号net_BがＬ(Low)レベルの場合には、ライトデータを出力しない。
【００９６】
ライトアンプ１４０Ｕ、１４０Ｌは、それぞれ、２つの入力端子を有する。ライトアンプ１４０Ｕの２つの入力端子には、それぞれ、ライトビットラインＷＢＬ＿Ｕ、ＷＢＬＢ＿Ｕが接続される。ライトアンプ１４０Ｌの２つの入力端子には、それぞれ、ライトビットラインＷＢＬ＿Ｌ、ＷＢＬＢ＿Ｌが接続される。
【００９７】
ライトアンプ１４０Ｕ、１４０Ｌの出力側には、それぞれ、ライトカラム選択回路１５０Ｕ、１５０Ｌが接続される。
【００９８】
ライトアンプ１４０Ｕは、ライトビットラインＷＢＬ＿Ｕ、ＷＢＬＢ＿Ｕから入力される相補形式のライトデータを増幅してライトカラム選択回路１５０Ｕに入力する。ライトアンプ１４０Ｌは、ライトビットラインＷＢＬ＿Ｌ、ＷＢＬＢ＿Ｌから入力される相補形式のライトデータを増幅してライトカラム選択回路１５０Ｌに入力する。
【００９９】
ライトカラム選択回路１５０Ｕ、１５０Ｌは、それぞれ、ライトアンプ１４０Ｕ、１４０Ｌの出力側に接続される。ライトカラム選択回路１５０Ｕ、１５０Ｌには、それぞれ、ライトアンプ１４０Ｕ、１４０Ｌで増幅された相補形式のライトデータが入力されるとともに、カラムアドレスの下位２ビットのビット値ＡＤ［１：０］が入力される。下位２ビットのビット値ＡＤ［１：０］は、サブブロック１１０Ｕのカラム[7]~[4]の選択と、サブブロック１１０Ｌのカラム[3]~[0]の選択とに用いられる。
【０１００】
ライトカラム選択回路１５０Ｕの出力側には、実際には、それぞれ、４対のローカルビットラインＬＢＬ＿Ｕ、ＬＢＬＢ＿Ｕが接続される。同様に、ライトカラム選択回路１５０Ｌの出力側には、実際には、それぞれ、４対のローカルビットラインＬＢＬ＿Ｌ、ＬＢＬＢ＿Ｌが接続される。
【０１０１】
ライトカラム選択回路１５０Ｕは、ビット値ＡＤ［１：０］で特定されるローカルビットラインＬＢＬ＿Ｕ、ＬＢＬＢ＿Ｕに、ライトアンプ１４０Ｕから入力されるライトデータを出力する。
【０１０２】
ライトカラム選択回路１５０Ｌは、ビット値ＡＤ［１：０］で特定されるローカルビットラインＬＢＬ＿Ｌ、ＬＢＬＢ＿Ｌに、ライトアンプ１４０Ｌから入力されるライトデータを出力する。
【０１０３】
ＦＦ１６０は、データ入力端子にライトデータＷＤが入力される。ＦＦ１６０のデータ出力端子は、信号線net_Cを介して、ドライバ１３０Ｕ、１３０Ｌの一方の入力端子に接続される。ＦＦ１６０は、例えば、Ｄ−ＦＦであればよい。
【０１０４】
ＦＦ１６０は、クロック入力端子に入力されるクロックＣＬＫ１に応じて、データ入力端子に入力されるライトデータＷＤを信号線net_Cに出力する。クロックＣＬＫ１は、後述するシステムクロックＣＬＫが立ち上がるタイミングで瞬間的に立ち上がる、立ち上がり時間の短いパルス状のクロックである。
【０１０５】
ＦＦ２１０は、リードデータを保持するＦＦである。ＦＦ２１０は、例えば、Ｄ−ＦＦであればよい。ＦＦ２１０のデータ入力端子は、リードマルチプレクサ２２０の出力端子に接続される。
【０１０６】
リードマルチプレクサ２２０は、入力側にリードアンプ２３０Ｕ、２３０Ｌが接続され、出力側にＦＦ２１０が接続される。リードマルチプレクサ２２０は、リードアンプ２３０Ｕ又は２３０Ｌから入力されるリードデータを選択してＦＦ２１０に出力する。
【０１０７】
リードアンプ２３０Ｕ、２３０Ｌは、それぞれ、入力側にリードカラム選択回路２４０Ｕ、２４０Ｌが接続され、出力側にリードマルチプレクサ２２０が接続される。リードアンプ２３０Ｕ、２３０Ｌは、それぞれ、リードカラム選択回路２４０Ｕ、２４０Ｌから入力されるリードデータを増幅してマルチプレクサ２２０に出力する。
【０１０８】
リードカラム選択回路２４０Ｕ、２４０Ｌは、それぞれ、２つの入力端子を有する。リードカラム選択回路２４０Ｕの２つの入力端子には、ローカルビットラインＬＢＬ＿Ｕ、ＬＢＬＢ＿Ｕを介して、サブブロック１１０Ｕが接続される。リードカラム選択回路２４０Ｌの２つの入力端子には、ローカルビットラインＬＢＬ＿Ｌ、ＬＢＬＢ＿Ｌを介して、サブブロック１１０Ｌが接続される。
【０１０９】
リードカラム選択回路２４０Ｕ、２４０Ｌは、それぞれ、サブブロック１１０Ｕ、１１０Ｌから読み出したリードデータをリードアンプ２３０Ｕ、２３０Ｌに入力する。
【０１１０】
次に、図６を用いて、３ビットのカラムアドレスＡＤ［２：０］について説明する。
【０１１１】
図６は、３ビットのカラムアドレスＡＤ［２：０］と選択されるカラムの関係を示す図である。
【０１１２】
本実施の形態のＳＲＡＭ１００のメモリブロック１１０は、８つのカラムを有し、サブブロック１１０Ｕ及び１１０Ｌに分けられている。
【０１１３】
サブブロック１１０Ｕ及び１１０Ｌは、それぞれ、４カラム分のメモリセル１１１Ｕ及び１１１Ｌを有する。メモリブロック１１０の８つのカラムは、３ビットのカラムアドレスＡＤ［２：０］によって指定される。
【０１１４】
図６には、カラムアドレスＡＤ［２：０］によって選択されるカラムを○で示し、選択されないカラムを×で示す。
【０１１５】
図６に示す通り、カラムアドレスＡＤ［２：０］が"０００"の場合はカラム[0]が選択される。カラムアドレスＡＤ［２：０］が"００１"の場合はカラム[1]が選択され、カラムアドレスＡＤ［２：０］が"０１０"の場合はカラム[2]が選択される。
【０１１６】
カラムアドレスＡＤ［２：０］が"０１１"の場合はカラム[3]が選択され、カラムアドレスＡＤ［２：０］が"１００"の場合はカラム[4]が選択される。カラムアドレスＡＤ［２：０］が"１０１"の場合はカラム[5]が選択され、カラムアドレスＡＤ［２：０］が"１１０"の場合はカラム[6]が選択される。カラムアドレスＡＤ［２：０］が"１１１"の場合はカラム[7]が選択される。
【０１１７】
ＳＲＡＭ１００の選択回路１２０（図５参照）は、カラムアドレスＡＤ［２：０］の最上位ビット値ＡＤ［２］に基づいて選択信号net_A, net_Bの信号レベルを設定する。選択回路１２０は、カラムアドレスＡＤ［２：０］の最上位ビット値ＡＤ［２］が"１"である場合は、アッパー側のサブブロック１１０Ｕを選択するために、選択信号net_AをＨレベルに設定し、選択信号net_BをＬレベルに設定する。
【０１１８】
また、選択回路１２０は、カラムアドレスＡＤ［２：０］の最上位ビット値ＡＤ［２］が"０"である場合は、ローワー側のサブブロック１１０Ｌを選択するために、選択信号net_BをＨレベルに設定し、選択信号net_AをＬレベルに設定する。
【０１１９】
次に、図７を用いて、実施の形態のＳＲＡＭ１００においてライトデータをサブブロック１１０Ｕ、１１０Ｌのメモリセル１１１Ｕ、１１１Ｌに書き込むときに用いる回路の詳細について説明する。
【０１２０】
図７は、実施の形態のＳＲＡＭ１００の書き込み動作に用いる回路の詳細を示す図である。
【０１２１】
図７には、図５のサブブロック１１０Ｕ、１１０Ｌ、選択回路１２０、ドライバ１３０Ｕ、１３０Ｌ、ライトアンプ１４０Ｕ、１４０Ｌ、ライトカラム選択回路１５０Ｕ、１５０Ｌ、及びＦＦ１６０に相当する部分を示す。
【０１２２】
図７に示すＳＲＡＭ１００の書き込み動作に用いる回路は、選択回路１２０、ドライバ１３０Ｕ、１３０Ｌ、ライトアンプ１４０Ｕ、１４０Ｌ、ライトカラム選択回路１５０Ｕ、１５０Ｌ、ＦＦ１６０、及びインバータ１６１、１６２を含む。
【０１２３】
なお、図７には、選択回路１２０とドライバ１３０Ｕ、１３０Ｌの詳細を示し、ライトアンプ１４０Ｕ、１４０Ｌ、ライトカラム選択回路１５０Ｕ、１５０Ｌの詳細は省略する。
【０１２４】
選択回路１２０は、入力端子１２０Ａ、１２０Ｂ、１２０Ｃ、インバータ１２１、ＮＡＮＤ回路１２２Ｕ、１２２Ｌ、１２３Ｕ、１２３Ｌ、及びインバータ１２４Ｕ、１２４Ｌ、１２５を含む。
【０１２５】
入力端子１２０Ａは、カラムアドレスの最上位ビット値ＡＤ［２］が入力される入力端子である。カラムアドレスは、図示しないカラムデコーダによって入力アドレスから抽出され、最上位ビット値ＡＤ［２］が入力端子１２０Ａに入力される。
【０１２６】
入力端子１２０Ａは、インバータ１２１の入力端子と、ＮＡＮＤ回路１２２Ｌの片方の入力端子とに接続される。
【０１２７】
入力端子１２０Ｂは、ライトクロックＷＣＫが入力される入力端子である。入力端子１２０Ｂは、ＮＡＮＤ回路１２３Ｕ及び１２３Ｌの片方の入力端子に接続される。
【０１２８】
入力端子１２０Ｃは、テスト制御信号ＣＴが入力される入力端子である。テスト制御信号ＣＴは、製造時の動作テストにおいてＳＲＡＭ１００のテスト用の端子に接続されるＬＳＩ（Large Scale Integrated circuit）テスタから入力される。また、入力端子１２０Ｃは、インバータ１２５の入力端子に接続される。入力端子１２０Ｃは、試験用入力端子の一例である。
【０１２９】
ここで、ＳＲＡＭ１００のテスト用の端子に接続されるＬＳＩテスタは、製造時の動作テストを行う際に、Ｈレベルのテスト制御信号ＣＴを入力端子１２０Ｃに入力する。なお、製造時の動作テストを行うとき以外は、ＬＳＩテスタはＳＲＡＭ１００のテスト用の端子に接続されないため、入力端子１２０Ｃの信号レベルはＬレベルになる。
【０１３０】
インバータ１２１の入力端子は入力端子１２０Ａに接続され、出力端子はＮＡＮＤ回路１２２Ｕの片方の入力端子に接続される。インバータ１２１は、入力端子１２０Ａから入力されるカラムアドレスの最上位ビット値ＡＤ［２］を反転し、反転値をＮＡＮＤ回路１２２Ｕの片方の入力端子に入力する。
【０１３１】
ＮＡＮＤ回路１２２Ｕは、一方の入力端子がインバータ１２１の出力端子に接続され、他方の入力端子がインバータ１２５の出力端子に接続される。また、ＮＡＮＤ回路１２２Ｕの出力端子は、ＮＡＮＤ回路１２３Ｕの一方の入力端子に接続される。
【０１３２】
ＮＡＮＤ回路１２２Ｕは、インバ―タ１２１及び１２５の出力信号の否定論理積を演算して、演算結果を表す信号をＮＡＮＤ回路１２３Ｕの片方の入力端子に入力する。ＮＡＮＤ回路１２２Ｕは、第１否定論理積回路の一例である。
【０１３３】
ＮＡＮＤ回路１２２Ｌは、一方の入力端子がインバータ１２５の出力端子に接続され、他方の入力端子が入力端子１２０Ａに接続される。ＮＡＮＤ回路１２２Ｌの出力端子は、ＮＡＮＤ回路１２３Ｌの片方の入力端子に接続される。
【０１３４】
ＮＡＮＤ回路１２２Ｌは、インバータ１２５の出力と、カラムアドレスの最上位ビット値ＡＤ［２］との否定論理積を演算し、演算結果を表す信号をＮＡＮＤ回路１２３Ｌの片方の入力端子に入力する。ＮＡＮＤ回路１２２Ｌは、第２否定論理積回路の一例である。
【０１３５】
ＮＡＮＤ回路１２３Ｕは、一方の入力端子がＮＡＮＤ回路１２２Ｕの出力端子に接続され、他方の入力端子が入力端子１２０Ｂに接続される。ＮＡＮＤ回路１２３Ｕの出力端子は、インバータ１２４Ｕの入力端子に接続される。
【０１３６】
ＮＡＮＤ回路１２３Ｕは、ＮＡＮＤ回路１２２Ｕの出力と、ライトクロックＷＣＫとの否定論理積を演算し、演算結果を表す信号をインバータ１２４Ｕに入力する。
【０１３７】
ＮＡＮＤ回路１２３Ｌは、一方の入力端子が入力端子１２０Ｂに接続され、他方の入力端子がＮＡＮＤ回路１２２Ｌの出力端子に接続される。ＮＡＮＤ回路１２３Ｌの出力端子は、インバータ１２４Ｌの入力端子に接続される。
【０１３８】
ＮＡＮＤ回路１２３Ｌは、ライトクロックＷＣＫと、ＮＡＮＤ回路１２２Ｌの出力との否定論理積を演算し、演算結果を表す信号をインバータ１２４Ｌに入力する。
【０１３９】
インバータ１２４Ｕは、入力端子がＮＡＮＤ回路１２３Ｕの出力端子に接続され、出力端子がドライバ１３０ＵのＮＡＮＤ回路１３２Ｕ及び１３２ＵＢの片方の入力端子に接続される。
【０１４０】
インバータ１２４Ｕは、ＮＡＮＤ回路１２３Ｕの出力を反転して選択信号net_Aを生成する。インバータ１２４Ｕは、選択信号net_AをＮＡＮＤ回路１３２Ｕ及び１３２ＵＢの片方の入力端子に入力する。
【０１４１】
インバータ１２４Ｌは、入力端子がＮＡＮＤ回路１２３Ｌの出力端子に接続され、出力端子がドライバ１３０ＬのＮＡＮＤ回路１３２Ｌ及び１３２ＬＢの片方の入力端子に接続される。
【０１４２】
インバータ１２４Ｌは、ＮＡＮＤ回路１２３Ｌの出力を反転して選択信号net_Bを生成する。インバータ１２４Ｌは、選択信号net_BをＮＡＮＤ回路１３２Ｌ及び１３２ＬＢの片方の入力端子に入力する。
【０１４３】
インバータ１２５は、入力端子が入力端子１２０Ｃに接続され、出力端子はＮＡＮＤ回路１２２Ｕ及び１２２Ｌの片方の入力端子に接続される。
【０１４４】
インバータ１２５は、入力端子１２０Ｃから入力されるテスト制御信号ＣＴを反転し、反転値をＮＡＮＤ回路１２２Ｕ及び１２２Ｌの片方の入力端子に入力する。
【０１４５】
以上のような構成を有する選択回路１２０は、カラムアドレスの最上位ビット値ＡＤ［２］、ライトクロックＷＣＫ、及びテスト制御信号ＣＴに基づき、選択信号net_A, net_Bを生成して出力する。選択信号net_A, net_Bは、それぞれ、第１選択信号、第２選択信号の一例である。
【０１４６】
ドライバ１３０Ｕは、インバータ１３１Ｕ、ＮＡＮＤ回路１３２Ｕ、１３２ＵＢ、インバータ１３３Ｕ、１３３ＵＢ、及びインバータ１３４Ｕ、１３４ＵＢを含む。
【０１４７】
インバータ１３１Ｕは、入力端子がインバータ１６２の出力端子に接続され、出力端子がＮＡＮＤ回路１３２Ｕの片方の入力端子に接続される。インバータ１３１Ｕは、ＦＦ１６０からインバータ１６１及び１６２を経て伝送されるライトデータを反転し、ライトデータの反転値をＮＡＮＤ回路１３２Ｕの片方の入力端子に入力する。
【０１４８】
ＮＡＮＤ回路１３２Ｕは、一方の入力端子に選択回路１２０のインバータ１２４Ｕの出力端子が接続され、他方の入力端子にインバータ１３１Ｕの出力端子が接続される。ＮＡＮＤ回路１３２Ｕの出力端子は、インバータ１３３Ｕの入力端子に接続される。
【０１４９】
ＮＡＮＤ回路１３２Ｕは、インバータ１２４Ｕの出力と、インバータ１３１Ｕの出力との否定論理積を演算し、演算結果を表す信号をインバータ１３３Ｕに入力する。
【０１５０】
ＮＡＮＤ回路１３２ＵＢは、一方の入力端子にインバータ１２４Ｕの出力端子が接続され、他方の入力端子にインバータ１６２の出力端子が接続される。ＮＡＮＤ回路１３２ＵＢの出力端子は、インバータ１３３ＵＢの入力端子に接続される。
【０１５１】
ＮＡＮＤ回路１３２ＵＢは、インバータ１２４Ｕの出力と、ＦＦ１６０からインバータ１６１及び１６２を経て伝送されるライトデータとの否定論理積を演算し、演算結果を表す信号をインバータ１３３ＵＢに入力する。
【０１５２】
インバータ１３３Ｕは、入力端子がＮＡＮＤ回路１３２Ｕの出力端子に接続され、出力端子がインバータ１３４Ｕの入力端子に接続される。インバータ１３３Ｕは、ＮＡＮＤ回路１３２Ｕの出力を反転し、反転値をインバータ１３４Ｕの入力端子に入力する。
【０１５３】
インバータ１３３ＵＢは、入力端子がＮＡＮＤ回路１３２ＵＢの出力端子に接続され、出力端子がインバータ１３４ＵＢの入力端子に接続される。インバータ１３３ＵＢは、ＮＡＮＤ回路１３２ＵＢの出力を反転し、反転値をインバータ１３４ＵＢの入力端子に入力する。
【０１５４】
インバータ１３４Ｕは、入力端子がインバータ１３３Ｕの出力端子に接続され、出力端子はライトビットラインＷＢＬ＿Ｕを介してライトアンプ１４０Ｕに接続される。インバータ１３４Ｕは、インバータ１３３Ｕの出力を反転して出力する。
【０１５５】
ここで、インバータ１３４Ｕの出力は、アッパー側のサブブロック１１０Ｕが選択された場合に、アッパー側のサブブロック１１０Ｕのいずれかのカラムのメモリセル１１１に書き込むライトデータである。
【０１５６】
すなわち、インバータ１３４Ｕは、アッパー側のサブブロック１１０Ｕが選択された場合に、ライトデータをライトビットラインＷＢＬ＿Ｕに出力する。
【０１５７】
インバータ１３４ＵＢは、入力端子がインバータ１３３ＵＢの出力端子に接続され、出力端子は、ライトビットラインＷＢＬＢ＿Ｕを介してライトアンプ１４０Ｕに接続される。インバータ１３４ＵＢは、インバータ１３３ＵＢの出力を反転して出力する。
【０１５８】
ここで、インバータ１３４ＵＢの出力は、アッパー側のサブブロック１１０Ｕが選択された場合に、アッパー側のサブブロック１１０Ｕのいずれかのカラムのメモリセル１１１に書き込むライトデータである。
【０１５９】
すなわち、インバータ１３４ＵＢは、アッパー側のサブブロック１１０Ｕが選択された場合に、ライトデータをライトビットラインＷＢＬＢ＿Ｕに出力する。
【０１６０】
なお、インバータ１３４ＵＢがライトビットラインＷＢＬＢ＿Ｕに出力するライトデータは、インバータ１３４ＵがライトビットラインＷＢＬ＿Ｕに出力するライトデータの反転値であり、インバータ１３４Ｕが出力するライトデータと、インバータ１３４ＵＢが出力するライトデータとは、相補形式のライトデータを構築する。
【０１６１】
ドライバ１３０Ｌは、インバータ１３１Ｌ、ＮＡＮＤ回路１３２Ｌ、１３２ＬＢ、インバータ１３３Ｌ、１３３ＬＢ、及びインバータ１３４Ｌ、１３４ＬＢを含む。
【０１６２】
インバータ１３１Ｌは、入力端子がインバータ１６２の出力端子に接続され、出力端子がＮＡＮＤ回路１３２Ｌの片方の入力端子に接続される。インバータ１３１Ｌは、ＦＦ１６０からインバータ１６１及び１６２を経て伝送されるライトデータを反転し、ライトデータの反転値をＮＡＮＤ回路１３２Ｌの片方の入力端子に入力する。
【０１６３】
ＮＡＮＤ回路１３２Ｌは、一方の入力端子に選択回路１２０のインバータ１２４Ｌの出力端子が接続され、他方の入力端子にインバータ１３１Ｌの出力端子が接続される。ＮＡＮＤ回路１３２Ｌの出力端子は、インバータ１３３Ｌの入力端子に接続される。
【０１６４】
ＮＡＮＤ回路１３２Ｌは、インバータ１２４Ｌの出力と、インバータ１３１Ｌの出力との否定論理積を演算し、演算結果を表す信号をインバータ１３３Ｌに入力する。
【０１６５】
ＮＡＮＤ回路１３２ＬＢは、一方の入力端子にインバータ１２４Ｌの出力端子が接続され、他方の入力端子にインバータ１６２の出力端子が接続される。ＮＡＮＤ回路１３２ＬＢの出力端子は、インバータ１３３ＬＢの入力端子に接続される。
【０１６６】
ＮＡＮＤ回路１３２ＬＢは、インバータ１２４Ｌの出力と、ＦＦ１６０からインバータ１６１及び１６２を経て伝送されるライトデータとの否定論理積を演算し、演算結果を表す信号をインバータ１３３ＬＢに入力する。
【０１６７】
インバータ１３３Ｌは、入力端子がＮＡＮＤ回路１３２Ｌの出力端子に接続され、出力端子がインバータ１３４Ｌの入力端子に接続される。インバータ１３３Ｌは、ＮＡＮＤ回路１３２Ｌの出力を反転し、反転値をインバータ１３４Ｌの入力端子に入力する。
【０１６８】
インバータ１３３ＬＢは、入力端子がＮＡＮＤ回路１３２ＬＢの出力端子に接続され、出力端子がインバータ１３４ＬＢの入力端子に接続される。インバータ１３３ＬＢは、ＮＡＮＤ回路１３２ＬＢの出力を反転し、反転値をインバータ１３４ＬＢの入力端子に入力する。
【０１６９】
インバータ１３４Ｌは、入力端子がインバータ１３３Ｌの出力端子に接続され、出力端子は、ライトビットラインＷＢＬ＿Ｌを介してライトアンプ１４０Ｌに接続される。インバータ１３４Ｌは、インバータ１３３Ｌの出力を反転して出力する。
【０１７０】
ここで、インバータ１３４Ｌの出力は、ローワー側のサブブロック１１０Ｌが選択された場合に、ローワー側のサブブロック１１０Ｌのいずれかのカラムのメモリセル１１１に書き込むライトデータである。
【０１７１】
すなわち、インバータ１３４Ｌは、ローワー側のサブブロック１１０Ｌが選択された場合に、ライトデータをライトビットラインＷＢＬ＿Ｌに出力する。
【０１７２】
インバータ１３４ＬＢは、入力端子がインバータ１３３ＬＢの出力端子に接続され、出力端子は、ライトビットラインＷＢＬＢ＿Ｌを介してライトアンプ１４０Ｌに接続される。インバータ１３４ＬＢは、インバータ１３３ＬＢの出力を反転して出力する。
【０１７３】
ここで、インバータ１３４ＬＢの出力は、ローワー側のサブブロック１１０Ｌが選択された場合に、ローワー側のサブブロック１１０Ｌのいずれかのカラムのメモリセル１１１に書き込むライトデータである。
【０１７４】
すなわち、インバータ１３４ＬＢは、ローワー側のサブブロック１１０Ｌが選択された場合に、ライトデータをライトビットラインＷＢＬＢ＿Ｌに出力する。
【０１７５】
なお、インバータ１３４ＬＢがライトビットラインＷＢＬＢ＿Ｌに出力するライトデータは、インバータ１３４ＬがライトビットラインＷＢＬ＿Ｌに出力するライトデータの反転値であり、インバータ１３４Ｌが出力するライトデータと、インバータ１３４ＬＢが出力するライトデータとは、相補形式のライトデータを構築する。
【０１７６】
インバータ１６１は、入力端子がＦＦ１６０のデータ出力端子に接続され、出力端子がインバータ１６２の入力端子に接続されている。インバータ１６１は、ＦＦ１６０のデータ出力端子から出力されるライトデータを反転してインバータ１６２に入力する。
【０１７７】
インバータ１６２は、入力端子がインバータ１６１の入力端子に接続され、出力端子がインバータ１３１Ｕ及び１３１Ｌの入力端子と、ＮＡＮＤ回路１３２ＵＢ及び１３２ＬＢの片方の入力端子とに接続されている。
【０１７８】
インバータ１６２は、インバータ１６１から入力されるライトデータの反転値を反転して、反転値をインバータ１３１Ｕ及び１３１Ｌの入力端子と、ＮＡＮＤ回路１３２ＵＢ及び１３２ＬＢの片方の入力端子とに入力する。
【０１７９】
インバータ１６２の出力は、ＦＦ１６０から出力されるライトデータをインバータ１６１及び１６２の遅延時間だけ遅延させたライトデータである。インバータ１６１及び１６２の遅延時間は、選択回路１２０から出力される選択信号net_A, net_Bとタイミングが合うように設定される。
【０１８０】
インバータ１６１及び１６２は、ＦＦ１６０から出力されるライトデータを伝送経路で増幅するために設けられている。
【０１８１】
上述のような回路を含むＳＲＡＭ１００において、通常動作時とは、製造時の動作テストを行うとき以外の場合に、データの書き込み又は読み出しを行うときをいう。また、テスト時とは、製造時の動作テストを行うときをいう。
【０１８２】
ＳＲＡＭ１００は、通常動作時は、入力端子１２０Ｃの信号レベルはＬレベルになるため、図７の回路において、インバータ１２５にはＬレベルの信号が入力され、インバータ１２５の出力はＨレベルになる。
【０１８３】
このとき、アッパー側のサブブロック１１０Ｕを選択するために、入力端子１２０Ａに、Ｈレベル（"１"）のカラムアドレスの最上位ビット値ＡＤ［２］が入力されると、ＮＡＮＤ回路１２２Ｕの出力がＨレベルになり、ＮＡＮＤ回路１２２Ｌの出力がＬレベルになる。
【０１８４】
この状態で、入力端子１２０Ｂに入力されるライトクロックＷＣＫがＨレベルに立ち上がると、ＮＡＮＤ回路１２３Ｕの出力はＬレベルになり、インバータ１２４Ｕが出力する選択信号net_AはＨレベルに立ち上がる。また、ＮＡＮＤ回路１２３Ｌの出力はＨレベルになり、インバータ１２４Ｌが出力する選択信号net_BはＬレベルに保持される。
【０１８５】
すなわち、選択信号net_AはＨレベルに立ち上がり、選択信号net_BはＬレベルに保持される。このときの選択信号net_A, net_Bの信号レベルは、アッパー側のサブブロック１１０Ｕを選択するために、Ｈレベルに保持されるカラムアドレスの最上位ビット値ＡＤ［２］の値を反映したものである。
【０１８６】
そして、Ｈレベルの選択信号net_Aと、Ｌレベルの選択信号net_Bは、それぞれ、ドライバ１３０Ｕと１３０Ｌに入力される。
【０１８７】
ここで、ＦＦ１６０からＨレベルのライトデータＷＤが出力されると、ＮＡＮＤ回路１３２Ｕには、インバータ１３１Ｕで反転されたＬレベルの信号と、Ｈレベルの選択信号net_Aとが入力されるため、ＮＡＮＤ回路１３２Ｕの出力はＨレベルになる。この結果、インバータ１３３Ｕの出力は、Ｌレベルになる。
【０１８８】
また、ＮＡＮＤ回路１３２ＵＢには、インバータ１６２から出力されるＨレベル信号と、Ｈレベルの選択信号net_Aとが入力されるため、ＮＡＮＤ回路１３２ＵＢの出力はＬレベルになる。この結果、インバータ１３３ＵＢの出力は、Ｈレベルに立ち上がる。
【０１８９】
また、この結果、インバータ１３４Ｕの出力はＨレベルに保持され、インバータ１３４ＵＢの出力は、Ｌレベルに立ち下がる。
【０１９０】
従って、ライトアンプ１４０Ｕとライトカラム選択回路１５０Ｕを介して、アッパー側のサブブロック１１０Ｕのカラムアドレスの下位２ビットのビット値ＡＤ［１：０］によって指定されるカラムのメモリセル１１１に、ライトデータ"１"が書き込まれる。
【０１９１】
一方、ＮＡＮＤ回路１３２Ｌには、インバータ１３１Ｌで反転されたＬレベルの信号と、Ｌレベルの選択信号net_Bとが入力されるため、ＮＡＮＤ回路１３２Ｌの出力はＨレベルになる。この結果、インバータ１３３Ｌの出力は、Ｌレベルになる。
【０１９２】
また、ＮＡＮＤ回路１３２ＬＢには、インバータ１６２から出力されるＨレベル信号と、Ｌレベルの選択信号net_Bとが入力されるため、ＮＡＮＤ回路１３２ＬＢの出力はＨレベルになる。この結果、インバータ１３３ＬＢの出力は、Ｌレベルになる。
【０１９３】
また、この結果、インバータ１３４Ｌの出力はＨレベルに保持され、インバータ１３４ＬＢの出力もＨレベルに保持される。
【０１９４】
従って、ローワー側のサブブロック１１０Ｌにライトデータの書き込みは行われない。
【０１９５】
なお、ここでは、アッパー側のサブブロック１１０Ｕにライトデータを書き込む場合について説明したが、ローワー側のサブブロック１１０Ｌにライトデータを書き込む場合も同様である。
【０１９６】
以上のように、通常動作時は、カラムアドレスの最上位ビット値ＡＤ［２］によって選択されるアッパー側のサブブロック１１０Ｕ、又は、ローワー側のサブブロック１１０Ｌのいずれか一方に、ライトデータが書き込まれる。
【０１９７】
図８は、実施の形態のＳＲＡＭ１００の通常動作時の書き込み動作を示すタイミングチャートである。
【０１９８】
図８には、システムクロックＣＬＫ、ライトデータＷＤ、ライトクロックＷＣＫ、テスト制御信号ＣＴ、選択信号net_A, net_B、信号線net_Cの信号レベル、及びライトビットラインＷＢＬ＿Ｕ、ＷＢＬＢ＿Ｕ、ＷＢＬ＿Ｌ、ＷＢＬＢ＿Ｌの信号レベルを示す。
【０１９９】
図８に示すタイミングチャートは、図７を用いて説明した動作に対応している。すなわち、図８は、通常動作時に、アッパー側のサブブロック１１０Ｕに、Ｈレベルのライトデータを書き込む動作を示す。
【０２００】
まず、時刻ｔ１１で、ライトデータＷＤがＨレベルになり、その後の時刻ｔ１２でシステムクロックＣＬＫが立ち上がる。このように、ライトデータＷＤは、システムクロックＣＬＫが立ち上がる前に、書き込みを行いたいレベルに設定される。
【０２０１】
また、ＦＦ１６０のクロック入力端子には、システムクロックＣＬＫの立ち上がりだけを反映したＨレベルの短いパルスが入力される。これにより、ＦＦ１６０は、データ入力端子に入力されるライトデータをデータ出力端子に反映させる。
【０２０２】
また、時刻ｔ１３で、信号線net_Cの信号レベルがＨレベルになる。これは、時刻ｔ１２でＦＦ１６０のデータ出力端子に反映されたライトデータが、インバータ１６１及び１６２で遅延されて信号線net_Cに出力されたことを示している。
【０２０３】
次に、時刻ｔ１４で、ライトクロックＷＣＫが立ち上がる。ライトクロックＷＣＫは、ＦＦ１６０のデータ出力端子にライトデータが確実に反映された状態で立ち上がるようにするために、システムクロックＣＬＫに対して十分な時間（時刻ｔ１１〜ｔ１４の期間）遅延されている。
【０２０４】
次に、時刻ｔ１５で選択信号net_Aが立ち上がり、選択信号net_BはＬレベルに保持される。選択信号net_Aの立ち上がりは、ライトクロックＷＣＫの立ち上がりを受けたものである。
【０２０５】
そして、時刻ｔ１６で、ライトビットラインＷＢＬＢ＿Ｕが立ち下がる。このとき、ライトビットラインＷＢＬ＿Ｕ、ＷＢＬ＿Ｌ、ＷＢＬＢ＿Ｌは、Ｈレベルに保持される。
【０２０６】
以上より、時刻ｔ１６にライトビットラインＷＢＬＢ＿Ｕが立ち下がることにより、アッパー側のサブブロック１１０Ｕの中のカラムアドレスの下位２ビットのビット値で特定されるカラムと、ワードラインとによって特定されるメモリセル１１１に、ＨレベルのライトデータＷＤが書き込まれる。
【０２０７】
次に、動作テストにおける書き込み動作について説明する。
【０２０８】
図９は、実施の形態のＳＲＡＭ１００に用いる回路の詳細を示す図である。図９には、製造時の動作テストにおける書き込み動作のときの各信号の信号レベルを示す。
【０２０９】
ＳＲＡＭ１００は、動作テスト時は、入力端子１２０Ｃの信号レベルはＨレベルになるため、図９の回路において、インバータ１２５にはＨレベルの信号が入力され、インバータ１２５の出力はＬレベルになる。
【０２１０】
このとき、アッパー側のサブブロック１１０Ｕを選択するために、入力端子１２０Ａに、Ｈレベル（"１"）のカラムアドレスの最上位ビット値ＡＤ［２］が入力されると、ＮＡＮＤ回路１２２Ｕの出力がＨレベルになるとともに、ＮＡＮＤ回路１２２Ｌの出力もＨレベルになる。
【０２１１】
この状態で、入力端子１２０Ｂに入力されるライトクロックＷＣＫがＨレベルに立ち上がると、ＮＡＮＤ回路１２３Ｕの出力はＬレベルになり、インバータ１２４Ｕが出力する選択信号net_AはＨレベルに立ち上がる。
【０２１２】
また、ＮＡＮＤ回路１２３Ｌの出力もＬレベルになり、インバータ１２４Ｌが出力する選択信号net_BもＨレベルに立ち上がる。
【０２１３】
すなわち、動作テスト時は、選択信号net_A, net_BはともにＨレベルに立ち上がる。このときの選択信号net_A, net_Bの信号レベルは、カラムアドレスの最上位ビット値ＡＤ［２］の値とは無関係に、強制的にＨレベルにされている。これは、インバータ１２５からＬレベルの信号が入力されるＮＡＮＤ回路１２２Ｕ及び１２２ＬのＨレベルの出力が、それぞれ、ＮＡＮＤ回路１２３Ｕ及び１２３Ｌに入力されているためである。
【０２１４】
そして、Ｈレベルの選択信号net_A, net_Bは、それぞれ、ドライバ１３０Ｕ、１３０Ｌに入力される。
【０２１５】
ここで、ＦＦ１６０からＨレベルのライトデータＷＤが出力されると、ＮＡＮＤ回路１３２Ｕには、インバータ１３１Ｕで反転されたＬレベルの信号と、Ｈレベルの選択信号net_Aとが入力されるため、ＮＡＮＤ回路１３２Ｕの出力はＨレベルになる。この結果、インバータ１３３Ｕの出力は、Ｌレベルに保持される。
【０２１６】
また、ＮＡＮＤ回路１３２ＵＢには、インバータ１６２から出力されるＨレベル信号と、Ｈレベルの選択信号net_Aとが入力されるため、ＮＡＮＤ回路１３２ＵＢの出力はＬレベルになる。この結果、インバータ１３３ＵＢの出力は、Ｈレベルに立ち上がる。
【０２１７】
また、この結果、インバータ１３４Ｕの出力はＨレベルに保持され、インバータ１３４ＵＢの出力は、Ｌレベルに立ち下がる。
【０２１８】
従って、ライトアンプ１４０Ｕとライトカラム選択回路１５０Ｕを介して、アッパー側のサブブロック１１０Ｕのカラムアドレスの下位２ビットのビット値ＡＤ［１：０］によって指定されるカラムのメモリセル１１１に、ライトデータ"１"が書き込まれる。
【０２１９】
また、ＮＡＮＤ回路１３２Ｌには、インバータ１３１Ｌで反転されたＬレベルの信号と、Ｈレベルの選択信号net_Bとが入力されるため、ＮＡＮＤ回路１３２Ｌの出力はＨレベルになる。この結果、インバータ１３３Ｌの出力は、Ｌレベルに保持される。
【０２２０】
また、ＮＡＮＤ回路１３２ＬＢには、インバータ１６２から出力されるＨレベル信号と、Ｈレベルの選択信号net_Bとが入力されるため、ＮＡＮＤ回路１３２ＬＢの出力はＬレベルになる。この結果、インバータ１３３ＬＢの出力は、Ｈレベルに立ち上がる。
【０２２１】
また、この結果、インバータ１３４Ｌの出力はＨレベルに保持され、インバータ１３４ＬＢの出力は、Ｌレベルに立ち下がる。
【０２２２】
従って、ライトアンプ１４０Ｌとライトカラム選択回路１５０Ｌを介して、ローワー側のサブブロック１１０Ｌのカラムアドレスの下位２ビットのビット値ＡＤ［１：０］によって指定されるカラムのメモリセル１１１に、ライトデータ"１"が書き込まれる。
【０２２３】
以上のように、動作テスト時は、カラムアドレスの最上位ビット値ＡＤ［２］とは無関係に、アッパー側のサブブロック１１０Ｕとローワー側のサブブロック１１０Ｌの両方に、ライトデータが書き込まれる。
【０２２４】
なお、上述のように、動作テスト時は、カラムアドレスの最上位ビット値ＡＤ［２］の値とは無関係に、アッパー側とローワー側のサブブロック１００Ｕ及び１１０Ｌの両方にライトデータが書き込まれるが、動作テストの対象になるサブブロック（１００Ｕ又は１００Ｌ）は、最上位ビット値ＡＤ［２］によって特定されるサブブロックである。
【０２２５】
このため、動作テストは、カラムアドレスの最上位ビット値ＡＤ［２］が"１"である場合と、"０"である場合の２通り行えばよい。
【０２２６】
図１０は、実施の形態のＳＲＡＭ１００の動作テスト時の書き込み動作を示すタイミングチャートである。
【０２２７】
図１０には、システムクロックＣＬＫ、ライトデータＷＤ、ライトクロックＷＣＫ、テスト制御信号ＣＴ、選択信号net_A, net_B、信号線net_Cの信号レベル、及びライトビットラインＷＢＬ＿Ｕ、ＷＢＬＢ＿Ｕ、ＷＢＬ＿Ｌ、ＷＢＬＢ＿Ｌの信号レベルを示す。
【０２２８】
図１０に示すタイミングチャートは、図９を用いて説明した動作に対応している。すなわち、図１０には、通常テスト時にＨレベルのライトデータを書き込む動作を示す。
【０２２９】
時刻ｔ１１から時刻ｔ１４の動作は、図８に示す通常動作時の動作と同様であるため、ここでは説明を省略する。
【０２３０】
時刻ｔ１５で選択信号net_Aと選択信号net_Bがともに立ち上がる。選択信号net_Aと選択信号net_Bの立ち上がりは、ライトクロックＷＣＫの立ち上がりを受けたものである。
【０２３１】
そして、時刻ｔ１６で、ライトビットラインＷＢＬＢ＿Ｕ及びＷＢＬＢ＿Ｌがともに立ち下がる。このとき、ライトビットラインＷＢＬ＿Ｕ、ＷＢＬ＿Ｌは、Ｈレベルに保持される。
【０２３２】
以上より、時刻ｔ１６にライトビットラインＷＢＬＢ＿Ｕ及びＷＢＬＢ＿Ｌがともに立ち下がることにより、アッパー側のサブブロック１１０Ｕと、ローワー側のサブブロック１１０Ｌとの中のカラムアドレスの下位２ビットのビット値で特定されるカラムと、ワードラインとによって特定されるメモリセル１１１に、ＨレベルのライトデータＷＤが書き込まれる。
【０２３３】
すなわち、動作テスト時には、相隣接するアッパー側のサブブロック１１０Ｕと、ローワー側のサブブロック１１０Ｌとの中のカラムアドレスの下位２ビットのビット値で特定されるカラムと、ワードラインとによって特定されるメモリセル１１１に、ＨレベルのライトデータＷＤが書き込まれる。
【０２３４】
このため、カラムアドレスの下位２ビットのビット値を連続的に変化させることにより、動作テスト時には、相隣接するアッパー側のサブブロック１１０Ｕと、ローワー側のサブブロック１１０Ｌとの中のすべてのメモリセル１１１に、チェッカーボードパターンでライトデータを書き込むことができる。
【０２３５】
図１１は、実施の形態のＳＲＡＭ１００のメモリセルに、チェッカーボードパターンでライトデータを書き込んだ状態を示す図である。図１１は、図３に対応しており、ローワー側のサブブロック(column[3:0])、アッパー側のサブブロック(column[7:4])、及び、冗長ブロック(red[3:0])のデータ値を示す。
【０２３６】
図９及び図１０を用いて説明したように、実施の形態のＳＲＡＭ１００では、動作テスト時に、相隣接するアッパー側のサブブロック１１０Ｕと、ローワー側のサブブロック１１０Ｌとの中のすべてのメモリセル１１１にデータを書き込むことができる。
【０２３７】
このため、動作テスト時に、"１"と"０"のテストデータを交互に書き込めば、図１１に示すように、相隣接するアッパー側のサブブロック(column[7:4])とローワー側のサブブロック(column[3:0])との両方に、チェッカーボードパターンでテストデータを書き込むことができる。
【０２３８】
このため、相隣接するアッパー側のサブブロック(column[7:4])とローワー側のサブブロック(column[3:0])との両方にチェッカーボードパターンで書き込んだテストデータをＬＳＩテスタで読み出せば、相隣接するメモリセル同士の間におけるリークの発生のような不良を検出することができる。
【０２３９】
ここで、図１２を用いて、相隣接するアッパー側のサブブロック(column[7:4])とローワー側のサブブロック(column[3:0])との境界に位置するメモリセル同士の間でリークの発生している場合に、各メモリセルに書き込まれたテストデータについて説明する。
【０２４０】
図１２は、相隣接するアッパー側のサブブロック(column[7:4])とローワー側のサブブロック(column[3:0])との境界に位置するメモリセル同士の間でリークの発生している場合に、各メモリセルに書き込まれたテストデータを示す図である。
【０２４１】
図１２では、一例として、ローワー側のサブブロックのカラム[3]のメモリセルと、アッパー側のサブブロックのカラム[4]のメモリセルとの間にリークがあるとする。これは、図４を用いて前提技術のＳＲＡＭにおけるリークについて説明した場合と同様のケースである。
【０２４２】
図１２では、図４と同様に、横方向にサブブロック(column[7:4], column[3:0])のカラム[0]~[7]を示し、縦方向に時間軸を示す。図１２に示す"１"、"０"は、時刻ｔ１以降に、カラム[0]~[7]のメモリセルが保持するデータ値を表し、"ｘ"はデータ値が不定であることを示す。
【０２４３】
また、テストデータの書き込みは、アッパー側のサブブロック(column[7:4])とローワー側のサブブロック(column[3:0])に対して、カラム[7]及び[3], [6]及び[2],[5]及び [1], [4]及び[0]の順に行われる。
【０２４４】
時刻ｔ１では、カラム[7]~[0]のメモリセルにはテストデータの書き込みは行われていないため、カラム[7]~[0]のメモリセルのデータ値は不定を表す"ｘ"である。
【０２４５】
時刻ｔ２において、カラム[7]及び[3]のメモリセルに"１"が書き込まれる。このとき、カラム[3]のメモリセルと、カラム[4]のメモリセルとの間にはリークがあるため、テストデータの書き込みが行われていないカラム[4]のメモリセルは"１"を保持する。
【０２４６】
以後、時刻ｔ３から時刻ｔ５まで、カラム[3]のメモリセルとカラム[4]のメモリセルが"１"を保持する状態が続く。
【０２４７】
時刻ｔ３では、カラム[6]及び[2]のメモリセルに"０"が書き込まれる。時刻ｔ４では、カラム[5]及び[1]のメモリセルに"１"が書き込まれる。時刻ｔ５では、カラム[4]及び[0]のメモリセルに"０"が書き込まれる。
【０２４８】
このように、時刻ｔ２からｔ５にかけて、カラム[7]~[0]とカラム[3]~[0]のメモリセルには、上述した順番で"１"、"０"、"１"、"０"のテストデータが書き込まれる。
【０２４９】
ところで、時刻ｔ５においてカラム[4]及び[0]のメモリセルに"０"を書き込むと、カラム[3]のメモリセルと、カラム[4]のメモリセルとの間にはリークがあるため、カラム[3]のメモリセルの値が、カラム[4]のメモリセルに書き込まれたデータによる影響をうけて、"１"から"０"に変化する（上書きされる）。
【０２５０】
このような場合に、カラム[3]のメモリセルから読み出されるデータ値は"０"であり、これは、時刻ｔ２においてカラム[3]のメモリセルに書き込んだデータ値（期待値）"１"と異なりであり、不一致である。
【０２５１】
このため、カラム[3]のメモリセルに不良が生じていることを検出することができる。
【０２５２】
従って、実施の形態のＳＲＡＭ１００によれば、動作テスト時に、相隣接するアッパー側のサブブロック(column[7:4])とローワー側のサブブロック(column[3:0])との境界に位置するメモリセル同士の間に生じるリーク等の不良を高精度に検出することができる。
【０２５３】
なお、上述のように、カラム[3]のメモリセルと、カラム[4]のメモリセルとの間にはリークがある場合には、カラム[3]のメモリセルの値が、カラム[4]のメモリセルに書き込まれたデータによる影響をうけて上書きされる場合と、これとは逆に、カラム[4]のメモリセルに書き込まれた値が、カラム[3]のメモリセルの値に上書きされる場合があり得る。
【０２５４】
このため、動作テストは、カラムアドレスの最上位ビット値ＡＤ［２］が"１"である場合と、"０"である場合との２通りの動作テストを行うことにより、カラム[3]とカラム[4]のどちらが上書きされた場合であっても、不良を検出することができる。
【０２５５】
次に、図１３を用いて、実施の形態のＳＲＡＭ１００の動作テストの手順について説明する。
【０２５６】
図１３は、実施の形態のＳＲＡＭ１００の動作テストの手順を示す図である。この動作テストは、ＳＲＡＭ１００のテスト用の端子に接続されるＬＳＩテスタによって行われる。
【０２５７】
まず、ＬＳＩテスタは、処理を開始すると（スタート）、入力アドレスに含まれるカラムアドレスの最上位ビットＡＤ［２］を"０"に設定する（ステップＳ１）。
【０２５８】
次に、ＬＳＩテスタは、カラム[3]~[0]のメモリセルに、チェッカーボードパターンのテストデータを書き込む（ステップＳ２）。このとき、カラム[7]~[4]のメモリセルにもチェッカーボードパターンのテストデータが同時に書き込まれる。
【０２５９】
次に、ＬＳＩテスタは、カラム[3]~[0]のメモリセルに書き込んだテストデータを読み出し、試験結果として内部メモリに格納する（ステップＳ３）。
【０２６０】
次に、ＬＳＩテスタは、入力アドレスに含まれるカラムアドレスの最上位ビットＡＤ［２］を"１"に設定する（ステップＳ４）。
【０２６１】
次に、ＬＳＩテスタは、カラム[7]~[4]のメモリセルに、チェッカーボードパターンのテストデータを書き込む（ステップＳ５）。このとき、カラム[3]~[0]のメモリセルにもチェッカーボードパターンのテストデータが同時に書き込まれる。
【０２６２】
次に、ＬＳＩテスタは、カラム[7]~[4]のメモリセルに書き込んだテストデータを読み出し、試験結果として内部メモリに格納する（ステップＳ６）。
【０２６３】
次に、ＬＳＩテスタは、ステップＳ３とステップＳ４で得られた両方の試験結果（ファイル情報）をマージして１つのファイル情報にする（ステップＳ７）。
【０２６４】
次に、ＬＳＩテスタは、ステップＳ７でマージしたファイル情報に基づき、不良があるか判定する（ステップＳ８）。
【０２６５】
ＬＳＩテスタは、ステップＳ８で不良がないと判定した場合は、不良のあるサブブロックと、冗長ブロックとの入れ替えは不要と判断する（ステップＳ９）。この場合、ＬＳＩテスタは、処理を終了する（エンド）。
【０２６６】
また、ＬＳＩテスタは、ステップＳ８で不良があると判定した場合は、不良箇所の数が３以上であるか判定する（ステップＳ１０）。
【０２６７】
ＬＳＩテスタは、ステップＳ１０において、不良箇所が３以上ではないと判定した場合（Ｓ１０：ＮＯ）は、動作テストを行ったＳＲＡＭ１００は救済可能であると判定する（ステップＳ１１）。
【０２６８】
この場合は、不良箇所が１つか２つであるため、不良の生じているサブブロック１１０Ｕ又は１１０Ｌの代わりに冗長ブロックを用いるようにすれば、ＳＲＡＭ１００は問題なく動作可能になる。
【０２６９】
また、ＬＳＩテスタは、ステップＳ１０において、不良箇所が３以上であると判定した場合（Ｓ１０：ＹＥＳ）は、動作テストを行ったＳＲＡＭ１００は救済不可能であると判定する（ステップＳ１２）。
【０２７０】
この場合は、不良箇所が３つ以上であり、冗長ブロックは２つしかないため、ＳＲＡＭ１００は不良品であることになる。
【０２７１】
以上のように、実施の形態のＳＲＡＭ１００によれば、動作テスト時は、カラムアドレスの最上位ビット値ＡＤ［２］とは無関係に、相隣接するアッパー側のサブブロック１１０Ｕとローワー側のサブブロック１１０Ｌの両方に、ライトデータが書き込まれる。
【０２７２】
従って、相隣接するアッパー側のサブブロック１１０Ｕとローワー側のサブブロック１１０Ｌとの境界に位置するメモリセル同士の間におけるリークの発生のような不良を高精度に検出することができる。
【０２７３】
以上のように、実施の形態によれば、１ビットのメモリブロック１１０を半々にサブブロック１１０Ｕと１１０Ｌに分けて動作させるＳＲＡＭ１００において、動作テスト時に、カラムアドレスの最上位ビットＡＤ［２］とは無関係に、サブブロック１１０Ｕと１１０Ｌの両方にテストデータを書き込むことができる。
【０２７４】
従って、相隣接するアッパー側のサブブロック１１０Ｕとローワー側のサブブロック１１０Ｌとの境界に位置するメモリセル同士の間におけるリークの発生のような不良を高精度に検出することができ、信頼性の高いＳＲＡＭ１００を提供することができる。
【０２７５】
なお、以上では、チェッカーボードパターンのテストデータを用いて動作テストを行う形態について説明したが、テストデータはチェッカーボードパターンに限られない。相隣接するサブブロック１１０Ｕと１１０Ｌの境界のメモリセル１１１同士の不良を発見できるようなテストデータであれば、チェッカーボードパターン以外のテストデータを用いてもよい。
【０２７６】
最後に、図１４を用いて、実施の形態のＳＲＡＭ１００にＬＳＩテスタ５００を接続した状態について説明する。
【０２７７】
図１４は、実施の形態のＳＲＡＭ１００にＬＳＩテスタ５００を接続した状態を示す図である。
【０２７８】
ＳＲＡＭ１００は、入力端子１００Ａ、１００Ｂ、１００Ｃ、１００Ｄと、出力端子１００Ｅを含む。入力端子１００Ａ、１００Ｂ、１００Ｃ、１００Ｄと、出力端子１００Ｅは、ＬＳＩテスタ５００に接続される。
【０２７９】
入力端子１００Ａ、１００Ｂ、１００Ｃ、１００Ｄには、それぞれ、カラムアドレスの最上位ビットＡＤ［２］、ライトクロックＷＣＫ、テスト制御信号ＣＴ、ライトデータＷＤ（書き込み用のテストデータ）が入力される。また、出力端子１００Ｅは、ＬＳＩテスタ５００が動作テストでＳＲＡＭ１００からリードデータを読み出す端子である。
【０２８０】
ＬＳＩテスタ５００は、ＣＰＵ(Central Processing Unit：中央演算処理装置)チップ５０１と内部メモリ５０２を含む。内部メモリ５０２は、例えば、不揮発性のメモリであればよい。
【０２８１】
このように、ＬＳＩテスタ５００をＳＲＡＭ１００に接続して、ＬＳＩテスタ５００が図１３に示すステップＳ１からＳ１２の処理を実行することにより、動作テストを行えばよい。
【０２８２】
以上、本発明の例示的な実施の形態の半導体記憶装置、及び、半導体記憶装置の試験方法について説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０２８３】
１００  ＳＲＡＭ
１１０  メモリブロック
１１０Ｕ、１１０Ｌ  サブブロック
１２０  選択回路
１３０Ｕ、１３０Ｌ  ドライバ
１４０Ｕ、１４０Ｌ  ライトアンプ
１５０Ｕ、１５０Ｌ  ライトカラム選択回路
１６０  ＦＦ
２１０  ＦＦ
２２０  リードマルチプレクサ
２３０Ｕ、２３０Ｌ  リードアンプ
２４０Ｕ、２４０Ｌ  リードカラム選択回路
５００  ＬＳＩテスタ
【図１】
0005954498.tif 000002
【図２】
0005954498.tif 000003
【図３】
0005954498.tif 000004
【図４】
0005954498.tif 000005
【図５】
0005954498.tif 000006
【図６】
0005954498.tif 000007
【図７】
0005954498.tif 000008
【図８】
0005954498.tif 000009
【図９】
0005954498.tif 000010
【図１０】
0005954498.tif 000011
【図１１】
0005954498.tif 000012
【図１２】
0005954498.tif 000013
【図１３】
0005954498.tif 000014
【図１４】
0005954498.tif 000015