(57)【要約】【課題】  ベリファイ回路と複数のライトドライバとが共通のバスで接続され、ベリファイ回路と複数のセンスアンプとが共通のバスで接続されるような場合に、短いテスト時間を維持しつつ、ライトドライバへの書込みデータおよびセンスアンプからの読出しデータが衝突することを回避した半導体記憶装置を提供する。【解決手段】  ベリファイ回路１６は、センスアンプ１２ａ、１２ｂと共通バス９０で接続されるとともに、ライトドライバ１３ａ，１３ｂと共通バス９０で接続される。ページバッファ１７はベリファイ回路１６と接続され、メモリアレイ１０ａ，１０ｂのメモリセルへの書込み目標値を記憶する。制御信号生成回路２３は、テストモードでのベリファイ動作時および書込み目標値の転送時に、片方のメモリアレイを順番に選択し、テストモードでのメモリセルへのパルス印加時に、両方のメモリアレイを選択する。【選択図】        図１
2005285248.tif 000002
【特許請求の範囲】
【請求項１】
各々が、行列状に配置された複数のメモリセルを含む複数個のメモリアレイと、
各メモリアレイごとに設けられた複数個のライトドライバと、
各メモリアレイごとに設けられた複数個のセンスアンプと、
複数個のメモリアレイに共通に設けられて、前記複数個のセンスアンプと第１のバスで接続されるとともに、前記複数個のライトドライバと第２のバスで接続されるベリファイ回路と、
前記ベリファイ回路と接続され、各メモリアレイのメモリセルへの書込み目標値を記憶するページバッファアレイと、
テストモードにおけるベリファイ動作時および書込み目標値の転送時に、いずれか１つの前記メモリアレイを順番に選択し、テストモードにおけるメモリセルへのパルス印加時に、すべての前記メモリアレイを選択する制御回路とを備えた半導体記憶装置。
【請求項２】
テストモードにおける書込み目標値の転送時に、前記複数個のライトドライバのうち前記選択されたメモリアレイに対応するものが活性化して、前記第２のバスを介して前記ベリファイ回路から送られた書込み目標値を保持し、
テストモードにおけるメモリセルへのパルス印加時に、前記複数個のライトドライバのすべてが活性化して、
テストモードにおけるベリファイ動作時に、前記複数個のセンスアンプうち前記選択されたメモリアレイに対応するものが活性化して、前記選択されたメモリアレイのメモリセルから読出した読出しデータを前記第１のバスを介して前記ベリファイ回路に出力し、
前記ベリファイ回路は、テストモードにおけるベリファイ動作時に、前記第１のバスから受けた前記読出データと前記ページバッファアレイ内の前記選択されたメモリアレイの書込み目標値の値とを比較し、
前記ベリファイ回路は、テストモードにおける書込み目標値の転送時に、前記ページバッファアレイ内の前記選択されたメモリアレイの書込み目標値を前記第２のバスを介して前記複数個のライトドライバへ出力する、請求項１記載の半導体記憶装置。
【請求項３】
各メモリアレイごとに設けられた複数個のスペアデコーダと、
前記第１のバスと接続され、前記ベリファイ回路と前記複数個のセンスアンプとの間に設けられたスワップ回路とをさらに備え、
前記複数個のスベアデコーダのうち前記選択されたメモリアレイに対応するものが活性化して、前記選択されたメモリアレイの欠陥のある列を示すスペアアドレスを前記スワップ回路に転送し、
前記スワップ回路は、前記スペアデコーダから転送されたスペアアドレスをラッチする回路を含み、前記ラッチする回路でラッチしたスペアアドレスに基づいて、前記センスアンプから受取った欠陥のある列の読出しデータとスペア列の読出しデータとを入れ替え、
前記制御回路は、テストモードにおけるベリファイ動作時にいずれか１つの前記メモリアレイを選択した後、次のメモリアレイを選択する前に、前記スワップ回路内の前記ラッチする回路をリセットする、請求項２記載の半導体記憶装置。
【請求項４】
各メモリアレイごとに設けられた複数個のスペアデコーダと、
前記第２のバスと接続され、前記ベリファイ回路と前記複数個のライトドライバとの間に設けられたスワップ回路をさらに備え、
前記複数個のスベアデコーダのうち前記選択されたメモリアレイに対応するものが活性化して、前記選択されたメモリアレイの欠陥のある列を示すスペアアドレスを前記スワップ回路に転送し、
前記スワップ回路は、前記スペアデコーダから転送されたスペアアドレスをラッチする回路を含み、前記ラッチする回路でラッチしたスペアアドレスに基づいて、前記ベリファイ回路から受取った欠陥のある列の書込み目標値とスペア列の書込み目標値とを入れ替え、
前記制御回路は、テストモードにおける書込み目標値の転送時にいずれか１つの前記メモリアレイを選択した後、次のメモリアレイを選択する前に、前記スワップ回路内の前記ラッチする回路をリセットする、請求項２記載の半導体記憶装置。
【請求項５】
前記制御回路は、前記ページバッファアレイ内の書込み目標値を選択するアドレス信号を生成するとともに、前記アドレス信号のうちの、書込み目標値がどのメモリアレイに対応するかを指定する所定のビットに基づいて、ベリファイ動作時および書込み目標値の転送時に前記メモリアレイを選択し、
前記アドレス信号を受けて、前記アドレス信号のうちの前記所定のビットが固定値であるメモリアドレスを生成するアドレス変換回路と、
前記メモリアドレスに基づき、前記メモリアレイに含まれるメモリセルを選択するデコーダとをさらに備えた、請求項２記載の半導体記憶装置。
【請求項６】
行列状に配置された複数個の不揮発性のメモリセルを含むメモリアレイと、
前記メモリセルへの書込み目標値を保持するページバッファと、
前記ページバッファに保持されている書込み目標値と、前記メモリセルから出力されるデータとが一致するか否かを判定するベリファイ回路と、
前記メモリセルへの書込みパルスの印加時には、外部クロックに基づく内部クロックを生成し、前記メモリセルから読出したデータのベリファイ動作時には、固定の周期の内部クロックを生成する内部クロック発生回路とを備えた半導体記憶装置。
【請求項７】
行列状に配置された複数個のメモリセルを含むメモリアレイと、
テストモードにおいて、データ入出力端子を通じて、外部からアドレスを受けるとともに、外部に読出しデータを出力するバッファと、
前記バッファに入力されたアドレスをラッチするアドレスラッチ回路と、
前記アドレス回路にラッチされたアドレスに基づき、前記メモリセルを選択するデコーダと、
前記選択されたメモリセルから出力されたデータを増幅して前記バッファに出力するセンスアンプとを備えた半導体記憶装置。
【請求項８】
前記アドレスラッチ回路のラッチされたアドレスを受けて、前記アドレスの値をクロックに同期して修正して、前記アドレスラッチ回路に送るバーストカウンタを含み、
前記アドレスラッチ回路は、前記バーストカウンタから送られるアドレスをラッチする、請求項７記載の半導体記憶装置。
【請求項９】
テストモードにおいて、テストデータを用いてテストを行なう半導体記憶装置であって、
行列状に配置された複数個の不揮発性のメモリセルを含むメモリアレイと、
前記メモリセルへの書込み目標値を保持するページバッファと、
前記ページバッファ内の書込み目標値と、前記メモリセルのデータとが一致するか否かを判定するベリファイ回路と、
前記ベリファイ回路とデータバスで接続されるセンスアンプと、
前記ベリファイ回路と前記データバスで接続されるライトドライバと、
前記データバスのデータをラッチするラッチ回路とを備え、
前記ページバッファは、テストモードにおいて、テストデータを保持し、
前記ベリファイ回路は、テストモードにおいて、前記ページバッファ内のテストデータを前記データバスに出力し、
前記センスアンプは、テストモードにおいて、前記ベリファイ回路によるテストデータの前記データバスへの出力後、その出力をハイインピーダンス状態とし、
前記ライトドライバは、テストモードにおいて、前記ベリファイ回路によるテストデータの前記データバスへの出力後、その出力をハイインピーダンス状態とし、
前記ベリファイ回路は、テストモードにおいて、前記センスアンプおよび前記ライトドライバで出力がハイインピーダンス状態となった後、前記ページバッファ内の前記テストデータと前記データバスのデータとが一致するか否かを判定する、半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に関し、特に、半導体記憶装置を効率よくテストするための構成に関する。
【背景技術】
【０００２】
従来より、ＳＲＡＭ(Static Random Access Memory)、ＤＲＡＭ(Dynamic Random Access Memory)、またはフラッシュメモリなどの半導体記憶装置のテスト時間の短縮が望まれている。
【０００３】
たとえば、特許文献１には、複数のメモリバンクで並列書込み動作や並列消去動作が可能なマルチバンクを有する不揮発性半導体記憶装置が開示されている。すなわち、不揮発性メモリセルを備え夫々独立にメモリバンク動作が可能な複数個のメモリバンクと、メモリバンクのメモリ動作を制御する制御部を有する。制御部は、一のメモリバンクを指定した動作指示に応答するメモリ動作中でも他のメモリバンクを指定した動作指示に応答してメモリ動作を開始させるインターリブ動作と、一のメモリバンクを指定した動作指示に応答するメモリ動作の開始前に続けて他のメモリバンクを指定したメモリ動作の指示があるとき双方のメモリバンクのメモリ動作を並列に開始させる並列動作とを制御可能である。メモリバンク毎にステータスレジスタが設けられ、メモリバンク毎にメモリ動作の状態が対応ステータスレジスタに反映される。
【０００４】
このように、複数個のメモリバンクに対する書込みや消去動作を並列して行なうことによって、高速な処理が可能となり、テスト時間も短縮することができる。
【特許文献１】特開２００３−３６６８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、複数個のメモリアレイに対する書込みや消去動作を並列して行なうような場合には、以下のような問題がある。
【０００６】
すなわち、複数個のメモリアレイと、メモリアレイ毎のライトドライバおよびセンスアンプと、複数個のメモリアレイに共通のベリファイ回路を有し、ベリファイ回路と複数個のライトドライバが共通のバスで接続され、ベリファイ回路と複数個のセンスアンプが共通のバスで接続されるような半導体記憶装置では、複数個のメモリアレイに対して並列に書込み、並列にベリファイを行なうと、ライトドライバへの書込みデータおよびセンスアンプからの読出しデータが衝突してしまう。
【０００７】
また、フラッシュメモリなどの不揮発性のメモリセルへデータを書込む場合に、書込みパルスの印加動作、およびベリファイ動作は、固定の短い周期の内部クロックのタイミングに基づいて行なわれるので、プリチャージおよびセンス時間が短くなる。そのため、ベリファイの結果が不正確となり、メモリセルへのデータの書込みが正確に行なわれない。特に、メモリセルからのデータの読出し時に、読出し電流を基準電流と比較することによって、メモリセルのデータを得るような方式を採用する場合には、基準電流を出力する基準セルへのデータの書込み（ＲｅｆＣｅｌｌプログラムという）は、正確なベリファイによって、正確にデータを書込むことが必要となる。
【０００８】
また、従来では、チップが備える端子のうち、テスト時にテスタと接続しなければならない端子の数が多く、そのため同時にテストすることのできるチップの数が少なくなる。
【０００９】
また、従来では、ベリファイ回路がページバッファ内の書込みデータをライトドライバに転送するデータバスと、センスアンプがメモリセルから読出した読出しデータをベリファイ回路に転送するデータバスとを同一にした場合には、そのデータバスのショートの有無の検出のテストが困難となる。なぜなら、そのデータバスがショートしていると、書込みデータの転送時に、書込みデータの論理値が反転するとともに、読出しデータの転送時にも読出しデータの論理値が反転して、ベリファイ回路へ転送された読出しデータが正しいデータに戻ってしまうことがあるからである。
【００１０】
それゆえに、本発明の目的は、ベリファイ回路と複数個のライトドライバとが共通のバスで接続され、ベリファイ回路と複数個のセンスアンプとが共通のバスで接続されるような場合に、短いテスト時間を維持しつつ、ライトドライバへの書込みデータおよびセンスアンプからの読出しデータが衝突することを回避した半導体記憶装置を提供することである。
【００１１】
また、本発明の別の目的は、テスト時に、正確なベリファイを行なうことのできる半導体記憶装置を提供することである。
【００１２】
また、本発明の別の目的は、テスト時に、チップが備える端子のうち、テスタと接続する端子の数を少なくすることのできる半導体記憶装置を提供することである。
【００１３】
また、本発明のさらに別の目的は、ベリファイ回路がページバッファ内の書込みデータをライトドライバに転送するデータバスと、センスアンプがメモリセルから読出した読出しデータをベリファイ回路に転送するデータバスとを同一にした場合に、そのデータバスのショートの有無の検出のテストができる半導体記憶装置を提供することである。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本発明のある局面に係る半導体記憶装置は、各々が、行列状に配置された複数のメモリセルを含む複数個のメモリアレイと、各メモリアレイごとに設けられた複数個のライトドライバと、各メモリアレイごとに設けられた複数個のセンスアンプと、複数個のメモリアレイに共通に設けられて、複数個のセンスアンプと第１のバスで接続されるとともに、複数個のライトドライバと第２のバスで接続されるベリファイ回路と、ベリファイ回路と接続され、各メモリアレイのメモリセルへの書込み目標値を記憶するページバッファアレイと、テストモードにおけるベリファイ動作時および書込み目標値の転送時に、いずれか１つのメモリアレイを順番に選択し、テストモードにおけるメモリセルへのパルス印加時に、すべてのメモリアレイを選択する制御回路とを備える。
【００１５】
また、本発明の別の局面に係る半導体記憶装置は、行列状に配置された複数個の不揮発性のメモリセルを含むメモリアレイと、メモリセルへの書込み目標値を保持するページバッファと、ページバッファに保持されている書込み目標値と、メモリセルから出力されるデータとが一致するか否かを判定するベリファイ回路と、メモリセルへの書込みパルスの印加時には、外部クロックに基づく内部クロックを生成し、メモリセルから読出したデータのベリファイ動作時には、固定の周期の内部クロックを生成する内部クロック発生回路とを備える。
【００１６】
また、本発明の別の局面に係る半導体記憶装置は、行列状に配置された複数個のメモリセルを含むメモリアレイと、テストモードにおいて、データ入出力端子を通じて、外部からアドレスを受けるとともに、外部に読出しデータを出力するバッファと、バッファに入力されたアドレスをラッチするアドレスラッチ回路と、アドレス回路にラッチされたアドレスに基づき、メモリセルを選択するデコーダと、選択されたメモリセルから出力されたデータを増幅してバッファに出力するセンスアンプとを備える。
【００１７】
また、本発明のさらに別の局面に係る半導体記憶装置は、テストモードにおいて、テストデータを用いてテストを行なう半導体記憶装置であって、行列状に配置された複数個の不揮発性のメモリセルを含むメモリアレイと、メモリセルへの書込み目標値を保持するページバッファと、ページバッファ内の書込み目標値と、メモリセルのデータとが一致するか否かを判定するベリファイ回路と、ベリファイ回路とデータバスで接続されるセンスアンプと、ベリファイ回路とデータバスで接続されるライトドライバと、データバスのデータをラッチするラッチ回路とを備え、ページバッファは、テストモードにおいて、テストデータを保持し、ベリファイ回路は、テストモードにおいて、ページバッファ内のテストデータをデータバスに出力し、センスアンプは、テストモードにおいて、ベリファイ回路によるテストデータのデータバスへの出力後、その出力をハイインピーダンス状態とし、ライトドライバは、テストモードにおいて、ベリファイ回路によるテストデータのデータバスへの出力後、その出力をハイインピーダンス状態とし、ベリファイ回路は、テストモードにおいて、センスアンプおよびライトドライバで出力がハイインピーダンス状態となった後、ページバッファ内のテストデータとデータバスのデータとが一致するか否かを判定する。
【発明の効果】
【００１８】
本発明のある局面に係る半導体記憶装置によれば、ベリファイ回路と複数個のライトドライバとが共通のバスで接続され、ベリファイ回路と複数個のセンスアンプとが共通のバスで接続されるような場合に、短いテスト時間を維持しつつ、ライトドライバへの書込みデータおよびセンスアンプからの読出しデータが衝突することを回避することができる。
【００１９】
また、本発明の別の局面に係る半導体記憶装置によれば、テスト時に、正確なベリファイを行なうことができる。
【００２０】
また、本発明の別の局面に係る半導体記憶装置によれば、テスト時に、チップが備える端子のうち、テスタと接続する端子の数を少なくすることができる。
【００２１】
また、本発明のさらに別の局面に係る半導体記憶装置によれば、ベリファイ回路がページバッファ内の書込みデータをライトドライバに転送するデータバスと、センスアンプがメモリセルから読出した読出しデータをベリファイ回路に転送するデータバスとを同一にした場合に、そのデータバスのショートの有無の検出のテストができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態について図面を用いて説明する。
【００２３】
［第１の実施形態］
本実施の形態は、複数のメモリアレイのテストを効率的に行なう半導体記憶装置に関する。
【００２４】
（半導体記憶装置の構成）
図１は、本実施の形態に係る半導体記憶装置の構成を示すブロック図である。この半導体記憶装置は、ＷＥＳＴ側専用の構成として、メモリアレイ１０ａと、Ｘデコーダ２０ａと、Ｙデコーダ２１ａと、Ｙゲート１１ａと、センスアンプ１２ａと、ライトドライバ１３ａとを含む。ＥＡＳＴ側専用の構成として、メモリアレイ１０ｂと、Ｘデコーダ２０ｂと、Ｙデコーダ２１ｂと、Ｙゲート１１ｂと、センスアンプ１２ｂと、ライトドライバ１３ｂとを含む。
【００２５】
ＥＡＳＴ側とＷＥＳＴ側に共通の構成として、アドレスバッファ１４と、Ｉ／Ｏバッファ１５と、ベリファイ回路１６と、ページバッファ１７と、スワップ回路１８と、ＣＰＵ１９と、アドレス変換回路２２と、制御信号生成回路２３と、テストモード制御回路２４とを含む。
【００２６】
メモリアレイ１０ａ，１０ｂは、行列状に配置された複数のフラッシュメモリ用のメモリセルを含む。メモリアレイ１０ａは、バンク４〜バンク６に分割され、メモリアレイ１０ｂは、バンク１〜バンク３に分割される。また、メモリアレイ１０ａ，１０ｂは、総計５１２個のブロックを有する。メモリアレイ１０ａ，１０ｂは、それぞれ正規列およびスペア列と、正規ブロックとスペアブロックとを有する。内部アドレスＡＯ＜２３＞が「１」のときには、ＷＥＳＴ側のメモリアレイ１０ａが選択され、内部アドレスＡＯ＜２３＞が「０」のときには、ＥＡＳＴ側のメモリアレイ１０ｂが選択される。また、内部アドレスＡＯ＜２３：１９＞で、６個のバンクの中の１個のバンクが選択される。内部アドレスＡＯ＜２３：１３＞で、５１２個のブロックの中の１個が選択される。
【００２７】
Ｘデコーダ２０ａは、バンク４、５、６ごとに設けられる。バンク４用のＸデコーダ２０ａは、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜４＞が「Ｈ」のときに活性化され、バンク５用のＸデコーダ２０ａは、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜５＞が「Ｈ」のときに活性化され、バンク６用のＸデコーダ２０ａは、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜６＞が「Ｈ」のときに活性化される。活性化されたＸデコーダ２０ａは、内部アドレスＡＰ＜２３：１３＞に基づき、メモリアレイ１０ａのブロックを選択する。活性化されたＸデコーダ２０ａは、バンク制御信号生成回路２３からＷＥＳＴ側のスペアブロックのアドレスを受けたときには、選択したブロックに代えて、スペアブロックを選択する。活性化されたＸデコーダ２０ａは、内部アドレスＡＰ＜１２：０＞に基づき、選択したブロックの中の１つの行を選択する。
【００２８】
Ｙデコーダ２１ａは、内部アドレスＡＰ＜２３：０＞を受けて、メモリアレイ１０ａの列を選択するための列選択信号を生成する。Ｙデコーダ２１ａ内のスペアデコーダは、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜６＞、ＯＢＰ＿Ｗ＜５＞、およびＯＢＰ＿Ｗ＜４＞のいずれかが「Ｈ」のとき（つまり、ＷＥＳＴ側が選択されているとき）に活性化し、選択された列に欠陥があるときに、１個のスペア列を選択するとともに、欠陥のある列のアドレスであるスペア列アドレス情報ＥＡをスワップ回路１８に送る。
【００２９】
Ｙゲート１１ａは、Ｙデコーダ２１ａからの列選択信号にしたがって選択されるメモリアレイ１０ａの列を内部データ線に接続する。
【００３０】
Ｘデコーダ２０ｂは、バンク１、２、３ごとに設けられる。バンク１用のＸデコーダ２０ｂは、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜１＞が「Ｈ」のときに活性化され、バンク２用のＸデコーダ２０ｂは、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜２＞が「Ｈ」のときに、活性化され、バンク３用のＸデコーダ２０ｂは、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜３＞が「Ｈ」のときに活性化される。活性化されたＸデコーダ２０ｂは、内部アドレスＡＰ＜２３：１３＞に基づき、メモリアレイ１０ｂのブロックを選択する。活性化されたＸデコーダ２０ｂは、バンク制御信号生成回路２３からＥＡＳＴ側のスペアブロックのアドレスを受けたときには、選択したブロックに代えて、スペアブロックを選択する。活性化されたＸデコーダ２０ｂは、内部アドレスＡＰ＜１２：０＞に基づき、選択したブロックの中の１つの行を選択する。
【００３１】
Ｙデコーダ２１ｂは、内部アドレスＡＰ＜２３：０＞を受けて、メモリアレイ１０ｂの列を選択するための列選択信号を生成する。Ｙデコーダ２１ｂ内のスペアデコーダは、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜１＞、ＯＢＰ＿Ｅ＜２＞、およびＯＢＰ＿Ｅ＜３＞のいずれかが「Ｈ」のとき（つまり、ＥＡＳＴ側が選択されているとき）に活性化し、選択された列に欠陥があるときに、１個のスペア列を選択するとともに、欠陥のある列のアドレスであるスペア列アドレス情報ＥＡをスワップ回路１８に送る。
【００３２】
Ｙゲート１１ｂは、Ｙデコーダ２１ｂからの列選択信号にしたがって選択されるメモリアレイ１０ｂの列を内部データ線に接続する。
【００３３】
ページバッファ１７は、緩衝記憶部であり、一時的にデータを保存する。ページバッファには、書込み時にベリファイ回路１６を経由して、最初に書込みデータがセットされ、その後引き続いてベリファイ回路１６によって比較された結果が書込まれる。図２は、ページバッファ１７に記憶される書込みデータの例を示す。同図に示すように、ページバッファ１７は、１２８ワードの容量を有し、ＷＥＳＴ側のメモリアレイの６４ワードのメモリセルの書込みデータと、ＥＡＳＴ側のメモリアレイの６４ワードのメモリセルの書込みデータとを保持する。書込みデータは、内部アドレスＡＯ＜６：０＞によって１６ビットが選択される。内部アドレスＡＯ＜６＞が「Ｌ」のときには、ページの前半の書込みデータが選択され、内部アドレスＡＯ＜６＞が「Ｈ」のときには、ページの後半の書込みデータが選択される。また、内部アドレスＡＯ＜５＞が「Ｌ」のときには、ＥＡＳＴ側のメモリセルの書込みデータが選択され、内部アドレスＡＯ＜５＞が「Ｈ」のときには、ＷＥＳＴ側のメモリセルの書込みデータが選択される。
【００３４】
アドレスバッファ１４は、外部アドレスＡＡ＜２３：０＞をラッチして内部アドレスＡＥ＜２３：０＞および内部アドレスＡＯ＜２３：０＞を生成する。
【００３５】
ＣＰＵ１９は、半導体記憶装置の全体制御を行なう。また、ＣＰＵ１９は、アドレスバッファ１４から内部アドレスＡＯ＜２３：０＞の初期値を受け、内部動作時には、内部アドレスＡＯ＜２３：０＞を更新する。
【００３６】
アドレス変換回路２２は、ＣＰＵ１９から内部アドレスＡＯ＜２３：０＞と、アドレスバッファ１４から内部アドレスＡＥ＜２３：０＞とを受けて、メモリアレイ用アドレスＡＰ＜２３：０＞を生成する。メモリアレイ用アドレスＡＰ＜２３：０＞は、第５ビット目が内部アドレスＡＥ＜５＞であり、それ以外のビットｉは、内部アドレスＡＯ＜ｉ＞である。すなわち、ＡＰ＜２３：６＞＝ＡＯ＜２３：６＞、ＡＰ＜５＞＝ＡＥ＜５＞、ＡＰ＜４：０＞＝ＡＯ＜４：０＞となる。このように、メモリアレイ用アドレスＡＰ＜５＞を内部アドレスＡＥ＜５＞としたのは、内部アドレスＡＯ＜５＞は、ページバッファ１７内のＥＡＳＴ側のデータと、ＷＥＳＴ側のデータの選択を切替えるためのものであり、内部アドレスＡＯ＜５＞の切替えによって、メモリアレイ１０ａ，１０ｂの指定アドレスが変化しないようにしたものである。
【００３７】
ＷＥＳＴ側のセンスアンプ１２ａは、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜４＞〜ＯＢＰ＿Ｗ＜６＞のいずれかが「Ｈ」のときに活性化される。センスアンプ１２ａは、活性化されたときに、選択された１６個の正規列の選択された行のメモリセルの記憶データ（１６ビット）と、欠陥があったときには、選択されたスペア列の選択された行のメモリセルの記憶データ（１ビット）とを増幅した後、スワップ回路１８に送る。
【００３８】
ＥＡＳＴ側のセンスアンプ１２ｂは、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜１＞〜ＯＢＰ＿Ｅ＜３＞のいずれかが「Ｈ」のときに活性化される。センスアンプ１２ｂは、活性化されたときに、選択された１６個の正規列の選択された行のメモリセルの記憶データ（１６ビット）と、欠陥があったときには、選択されたスペア列の選択された行のメモリセルの記憶データ（１ビット）とを増幅した後、スワップ回路１８に送る。
【００３９】
スワップ回路１８は、スペアアドレス保持回路を含み、スペアドレス保持回路は活性化された側のスペアデコーダから送られるスペア列アドレス情報ＥＡをラッチする。図３は、スワップ回路１８が備えるスペアドレス保持回路を示す。同図に示すように、スペアアドレス情報ＥＡは、フリップフロップＬ１にラッチされる。ＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗが「Ｌ」、かつＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅが「Ｌ」となると、フリップフロップＬ１がリセットされる。
【００４０】
スワップ回路１８は、ベリファイ時に、センスアンプ１２ａまたはセンスアンプ１２ｂのうちの活性化された方のセンスアンプから選択された１６個の正規列と１個のスペア列の記憶データを受けて、スペア列アドレス情報ＥＡをラッチしているときには、スペア列アドレス情報ＥＡに基づき、欠陥のある列を特定し、欠陥のある列のメモリセルの記憶データとスペア列のメモリセルの記憶データとを入れ替える。スワップ回路１８は、１６ビットの正規列の記憶データを共通バス９０を通じてベリファイ回路１６に送る。
【００４１】
スワップ回路１８は、書込みデータの転送時に、ベリファイ回路１６から共通バス９０を通じて書込みデータを受ける。スワップ回路１８は、スペア列アドレス情報ＥＡをラッチしているときには、スペア列アドレス情報ＥＡに基づき、欠陥のある列を特定し、ベリファイ回路１６から送られた欠陥のある列の書込みデータとスペア列の書込みデータ（デフォルト値）とを入れ替える。スワップ回路１８は、スペア列アドレス情報ＥＡをラッチしていないときには、スペア列への書込みデータをデフォルト値のままとする。スワップ回路１８は、選択された１６個の正規列およびスペア列に書込む１７ビットの書込みデータをライトドライバ１３ａおよびライトドライバ１３ｂに送る。この書込みデータは、ライトドライバ１３ａおよびライトドライバ１３ｂのうち、活性化された方で受け取られて保持される。
【００４２】
ＥＡＳＴ側のライトドライバ１３ｂは、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜１＞〜ＯＢＰ＿Ｅ＜３＞のいずれかが「Ｈ」のときに活性化される。
【００４３】
ライトドライバ１３ｂは、活性化されているときに、スワップ回路１８から１７ビットの書込みデータを受けたときには、それを保持する。また、ライトドライバ１３ｂは、書込みパルスの印加時に活性化され、保持している書込みデータに基づき、ＥＡＳＴ側のメモリアレイ１０ｂの中の選択された行と、選択された正規列および選択されたスペア列とで指定されるメモリセルに、図示しない電源制御回路で生成された書込みパルスを印加する。
【００４４】
ＷＥＳＴ側のライトドライバ１３ａは、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜４＞〜ＯＢＰ＿Ｗ＜６＞のいずれかが「Ｈ」のときに活性化される。
【００４５】
ライトドライバ１３ａは、活性化されているときに、スワップ回路１８から１７ビットの書込みデータを受けたときには、それを保持する。また、ライトドライバ１３ａは、書込みパルスの印加時に活性化され、保持している書込みデータに基づき、ＷＥＳＴ側のメモリアレイ１０ａの中の選択された行と、選択された正規列および選択されたスペア列とで指定されるメモリセルに、図示しない電源制御回路で生成された書込みパルスを印加する。
【００４６】
ベリファイ回路１６は、ページバッファ１７から送られた書込みデータと、スワップ回路１８から共通バス９０を通じて送られた記憶データとが一致するか否かを調べ、その結果をＣＰＵ１９に送る。また、ベリファイ回路１６は、ページバッファ１７から出力された書込みデータを共通バス９０を通じてスワップ回路１８に送る。
【００４７】
Ｉ／Ｏバッファ１５は、外部からデータ入出力端子ＤＱを通じて入力される書込みデータを受けて、ページバッファ１７に出力する。また、Ｉ／Ｏバッファ１５は、ベリファイ時に、ＣＰＵ１９からベリファイ結果を示すデータを受けて、データ入出力端子ＤＱを通じて外部に出力する。また、Ｉ／Ｏバッファ１５は、読出し時にセンスアンプ１２ａ，１２ｂから読出しデータを受けて、データ入出力端子ＤＱを通じて外部に出力する。
【００４８】
テストモード制御回路２４は、マルチプログラムテストモードに移行すると、マルチプログラム信号ＭＬＴＩＰＧＭを「Ｈ」とし、両バンクセレクト信号ＢＳＥＬ２を「Ｈ」とする。
【００４９】
図４は、制御信号生成回路２３の詳細な構成を示す。同図を参照して、制御信号生成回路２３は、動作バンク制御回路３１と、ＷＥＳＴ用ＯＢＰデコーダ３２と、ＥＡＳＴ用ＯＢＰデコーダ３３と、ＥＡＳＴ用ＢＬＫスペア判定回路３４と、ＥＸＮＯＲ回路３５と、ＷＥＳＴ用ＢＬＫスペア判定回路３６とを含む。
【００５０】
動作バンク制御回路３１は、ＣＰＵ１９から内部アドレスＡＯ＜２３：１９＞を受け、テストモード制御回路２４から両バンクセレクト信号ＢＳＥＬ２を受けて、バンク選択信号ＯＢＰ＜６：１＞を出力する。バンク選択信号ＯＢＰ＜ｋ＞（ｋ＝１〜３）が「Ｈ」となると、ＥＡＳＴ側のメモリアレイ１０ｂのバンクｋが選択される。バンク選択信号ＯＢＰ＜ｋ＞（ｋ＝４〜６）が「Ｈ」となると、ＷＥＳＴ側のメモリアレイ１０ａのバンクｋが選択される。
【００５１】
動作バンク制御回路３１は、内部アドレスＡＯ＜２３：１９＞と両バンク選択信号ＢＳＥＬ２をと受ける論理回路を含む。
【００５２】
通常動作時には、両バンクセレクト信号ＢＳＬＥ２が「Ｌ」となり、ＥＡＳＴ側のバンクとＷＥＳＴ側のバンクのうち、１つが選択される。つまり、論理回路は、両バンク選択信号ＢＳＥＬ２が「Ｌ」のときには、内部アドレスＡＯ＜２３：１９＞と同一のアドレスを生成する。そして、内部アドレスＡＯ＜２３：１９＞の値に応じて、バンク選択信号ＯＢＰ＜１＞〜ＯＢＰ＜６＞のいずれかが「Ｈ」となる。内部アドレスＡＯ＜２３＞が「Ｈ」は、ＷＥＳＴ側のメモリアレイ１０ａを指定するので、内部アドレスＡＯ＜２３＞が「Ｈ」で、バンク選択信号ＯＢＰ＜４＞〜ＯＢＰ＜６＞のいずれかが「Ｈ」となる。また、内部アドレスＡＯ＜２３＞が「Ｌ」は、ＥＡＳＴ側のメモリアレイ１０ｂを指定するので、内部アドレスＡＯ＜２３＞＝「Ｌ」で、バンク選択信号ＯＢＰ＜１＞〜ＯＢＰ＜３＞のいずれかが「Ｈ」となる。
【００５３】
一方、テストモード時には、両バンクセレクト信号ＢＳＬＥ２が「Ｈ」となり、ＥＡＳＴ側の１つのバンクとＷＥＳＴ側の１つのバンクの両方が選択される。つまり、論理回路は、両バンク選択信号ＢＳＥＬ２が「Ｈ」のときには、内部アドレスＡＯ＜２３：１９＞の各ビットの論理を反転したアドレスＩＡＯ＜２３：１９＞を生成する。内部アドレスＡＯ＜２３：１９＞と反転した内部アドレスＩＡＯ＜２３：１９＞の値に応じて、バンク選択信号ＯＢＰ＜１＞〜ＯＢＰ＜３＞のいずれかが「Ｈ」となり、バンク選択信号ＯＢＰ＜４＞〜ＯＢＰ＜６＞のいずれかが「Ｈ」となる。この場合、バンク選択信号ＯＢＰ＜１＞とバンク選択信号ＯＢＰ＜６＞のペアが「Ｈ」となるか、バンク選択信号ＯＢＰ＜２＞とバンク選択信号ＯＢＰ＜５＞のペアが「Ｈ」となるか、またはバンク選択信号ＯＢＰ＜３＞とバンク選択信号ＯＢＰ＜４＞のペアが「Ｈ」となる。
【００５４】
切替え制御回路３８は、ＣＰＵ１９から内部アドレスＡＯ＜５＞を受けて、ＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗと、ＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅを出力する。
【００５５】
切替え制御回路３８は、メモリアレイ１０ａ，１０ｂのメモリセルへの書込みパルスの印加時には、ＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗ＝「Ｈ」、およびＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅ＝「Ｈ」にする。切替え制御回路３８は、スワップ回路のリセット時には、ＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗ＝「Ｌ」、およびＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅ＝「Ｌ」にする。切替え制御回路３８は、ベリファイ時およびページバッファの書込みデータのライトドライバへの転送時において、内部アドレスＡＯ＜５＞＝「Ｌ」のときに、ＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗ＝「Ｌ」、およびＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅ＝「Ｈ」にし、内部アドレスＡＯ＜５＞＝「Ｈ」のときに、ＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗ＝「Ｈ」、およびＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅ＝「Ｌ」にする。
【００５６】
ＷＥＳＴ用ＯＢＰデコーダ３２は、ＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗと、マルチプログラム信号ＭＬＴＩＰＧＭと、バンク選択信号ＯＢＰ＜６：４＞とを受けて、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜６：４＞を出力する。マルチプログラム信号ＭＵＬＴＩＰＧＭが「Ｈ」（テストモード時）、かつＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗが「Ｈ」（書込みパルスの印加時と、ベリファイ時およびページバッファ内の書込みデータの転送時において内部アドレスＡＯ＜５＞＝「Ｈ」のとき）のとき、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜６：４＞の値は、バンク選択信号ＯＢＰ＜６：４＞の値と同一となる。すなわち、ＯＢＰ＿Ｗ＜６：４＞のいずれか１つが「Ｈ」となる。
【００５７】
一方、マルチプログラム信号ＭＵＬＴＩＰＧＭが「Ｈ」（テストモード時）、かつＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗが「Ｌ」（スワップ回路のリセット時と、ベリファイ時およびページバッファ内の書込みデータの転送時において内部アドレスＡＯ＜５＞＝「Ｌ」のとき）のとき、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜６：４＞の値は「Ｌ」となる。
【００５８】
ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜ｋ＞（ｋ＝４〜６）は、ＷＥＳＴ側のライトドライバ１３ａ、センスアンプ１２ａ、ＷＥＳＴ側のバンク（ｋ）用のＸデコーダ２０ａ、および図示しないＷＥＳＴ側のスペア回路に送られる。
【００５９】
ＥＡＳＴ用ＯＢＰデコーダ３３は、ＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅと、マルチプログラム信号ＭＬＴＩＰＧＭと、バンク選択信号ＯＢＰ＜３：１＞とを受けて、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜３：１＞を出力する。マルチプログラム信号ＭＵＬＴＩＰＧＭが「Ｈ」（テストモード時）、かつＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅが「Ｈ」（書込みパルスの印加時と、ベリファイ時およびページバッファ内の書込みデータの転送時において内部アドレスＡＯ＜５＞＝「Ｌ」のとき）のとき、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜３：１＞の値は、バンク選択信号ＯＢＰ＜３：１＞の値と同一となる。すなわち、ＯＢＰ＿Ｅ＜３：１＞のいずれか１つが「Ｈ」となる。
【００６０】
一方、マルチプログラム信号ＭＵＬＴＩＰＧＭが「Ｈ」（テストモード時）、かつＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅが「Ｌ」（スワップ回路のリセット時と、ベリファイ時およびページバッファ内の書込みデータの転送時において内部アドレスＡＯ＜５＞＝「Ｈ」のとき）のとき、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜３：１＞の値は「Ｌ」となる。
【００６１】
ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜ｋ＞（ｋ＝４〜６）は、ＥＡＳＴ側のライトドライバ１３ｂ、センスアンプ１２ｂ、ＥＡＳＴ側のバンク（ｋ）用のＸデコーダ２０ｂ、および図示しないＥＡＳＴ側のスペア回路に送られる。
【００６２】
ＥＡＳＴ用ＢＬＫスペア判定回路３４は、ＥＡＳＴ側のスペアブロックアドレス情報をラッチする。ＥＡＳＴ側のスペアブロックアドレス情報とは、欠陥のあるＥＡＳＴ側のブロックのアドレスと、それに置き換えるべきＥＡＳＴ側のスペアブロックのアドレスとの対応関係を定めた情報である。ＥＡＳＴ用ＢＬＫスペア判定回路３４は、内部アドレスＡＯ＜２３：１３＞を受けると、内部アドレスＡＯ＜２３：１３＞に基づいて、ブロックのアドレスを特定し、ラッチしているＥＡＳＴ側のスペアブロックアドレス情報に基づき、特定したブロックのアドレスが欠陥のあるＥＡＳＴ側のブロックのアドレスと同一のときには、欠陥のあるＥＡＳＴ側のブロックのアドレスに置き換えるべきＥＡＳＴ側のスペアブロックのアドレスを特定する。ＥＡＳＴ用ＢＬＫスペア判定回路３４は、特定したＥＡＳＴ側のスペアブロックのアドレスをＥＡＳＴ側のバンク用のＸデコーダ２０ｂに送る。
【００６３】
内部アドレスＡＯ＜２３＞＝「Ｌ」がＥＡＳＴ側のメモリアレイ１０ｂを指定するので、ＥＡＳＴ用ＢＬＫスペアブロック判定回路３４は、内部アドレスＡＯ＜２３＞が「Ｌ」の「場合に、該当するスペアブロック情報をラッチしているときに、ＥＡＳＴ側のスペアブロックのアドレスを出力し、内部アドレスＡＯ＜２３＞が「Ｈ」のときには、ＥＡＳＴ側のスペアブロックのアドレスを出力することはない。
【００６４】
ＥＸＮＯＲ回路３５は、マルチプログラムＭＵＬＴＩＰＧＭと、内部アドレスＡＯ＜２３：１３＞とを受ける。ＥＸＮＯＲ回路３５は、マルチプログラムＭＵＬＴＩＰＧＭが「Ｌ」のときには、内部アドレスＡＯ＜２３：１３＞をＷＥＳＴ用ＢＬＫスペア判定回路３６に出力し、マルチプログラムＭＵＬＴＩＰＧＭが「Ｈ」のときには、内部アドレスＡＯ＜２３：１３＞の各ビットの論理を反転した内部アドレスＩＡＯ＜２３：１３＞をＷＥＳＴ用ＢＬＫスペア判定回路３６に出力する。
【００６５】
ＷＥＳＴ用ＢＬＫスペア判定回路３６は、ＷＥＳＴ側のスペアブロックアドレス情報をラッチする。ＷＥＳＴ側のスペアブロックアドレス情報とは、欠陥のあるＷＥＳＴ側のブロックのアドレスと、それに置き換えるべきＷＥＳＴ側のスペアブロックのアドレスとの対応関係を定めた情報である。ＷＥＳＴ用ＢＬＫスペア判定回路３６は、内部アドレスＡＯ＜２３：１３＞または反転内部アドレスＩＡＯ＜２３：１３＞を受けると、内部アドレスＡＯ＜２３：１３＞または反転内部アドレスＩＡＯ＜２３：１３＞に基づいて、ブロックのアドレスを特定し、ラッチしているＷＥＳＴ側のスペアブロックアドレス情報に基づき、特定したブロックのアドレスが欠陥のあるＷＥＳＴ側のブロックのアドレスと同一のときには、欠陥のあるＷＥＳＴ側のブロックのアドレスに置き換えるべきＷＥＳＴ側のスペアブロックのアドレスを特定する。ＷＥＳＴ用ＢＬＫスペア判定回路３６は、特定したＷＥＳＴ側のスペアブロックのアドレスをＷＥＳＴ側のバンク用のＸデコーダ２０ａに送る。
【００６６】
内部アドレスＡＯ＜２３＞が「Ｈ」がＷＥＳＴ側のメモリアレイ１０ａを指定するので、ＷＥＳＴ用ＢＬＫスペアブロック判定回路３６に内部アドレスＡＯ＜２３：１３＞が入力された場合には、内部アドレスＡＯ＜２３＞が「Ｈ」の場合に、該当するスペアブロック情報をラッチしているときに、ＷＥＳＴ側のスペアブロックのアドレスを出力し、内部アドレスＡＯ＜２３＞が「Ｌ」のときには、ＷＥＳＴ側のスペアブロックのアドレスを出力することはない。したがって、ＥＡＳＴ用ＢＬＫスペア判定回路３４からＥＡＳＴ側のスペアブロックのアドレスが出力されるときには、ＷＥＳＴ用ＢＬＫスペアブロック判定回路３６からＷＥＳＴ側のスペアブロックのアドレスが出力されることはない。また、ＷＥＳ用ＢＬＫスペア判定回路３６からＷＥＳＴ側のスペアブロックのアドレスが出力されるときには、ＥＡＳＴ用ＢＬＫスペアブロック判定回路３４からＥＡＳＴ側のスペアブロックのアドレスが出力されることはない。
【００６７】
一方、ＷＥＳＴ用ＢＬＫスペアブロック判定回路３６に反転内部アドレスＩＡＯ＜２３：１３＞が入力された場合（すなわち、マルチプログラムが「Ｈ」のとき）には、反転内部アドレスＩＡＯ＜２３＞が「Ｈ」の場合に、該当するスペアブロック情報をラッチしているときに、ＷＥＳＴ側のスペアブロックのアドレスを出力し、反転内部アドレスＩＡＯ＜２３＞が「Ｌ」のときには、ＷＥＳＴ側のスペアブロックのアドレスを出力することはない。したがって、ＥＡＳＴ用ＢＬＫスペア判定回路３４からＥＡＳＴ側のスペアブロックのアドレスが出力されるときに、同時にＷＥＳＴ用ＢＬＫスペアブロック判定回路３６からＷＥＳＴ側のスペアブロックのアドレスが出力されることもありうる。
【００６８】
図５は、制御信号の論理値の組合せ、およびその組合せで実行される機能を示す図である。同図は、マルチプログラム信号ＭＵＬＴＩＰＧＭ、ＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅ、およびＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗの論理値の組合せに対応する、バンク選択信号ＯＢＰ＜＊＞（＊＝１〜６）の論理値と、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜＊＞（＊＝１〜３）の論理値と、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜＊＞（＊＝４〜６）の論理値と、機能をまとめたものである。
【００６９】
同図に示すように、マルチプログラム信号ＭＵＬＴＩＰＧＭが「１」のときの、バンク選択信号ＯＢＰ＜ｎ、７−ｎ＞は、バンク選択信号ＯＢＰ＜ｎ＞（ｎ＝１〜３のいずれか）とＯＢＰ＜７−ｎ＞とが「１」となることを示す。つまり、ＥＡＳＴ側のバンクと、対となるＷＥＳＴ側のバンクが選択されることを表わしている。
【００７０】
一方、マルチプログラム信号ＭＵＬＴＩＰＧＭが「０」のときの、バンク選択信号ＯＢＰ＜ｎ＞は、バンク選択信号ＯＢＰ＜ｎ＞（ｎ＝１〜６のいずれか）が「Ｈ」となることを示す。つまり、ＥＡＳＴ側およびＷＥＳＴ側のバンクのうちの１つが選択されることを表わしている。
【００７１】
マルチプログラム信号ＭＵＬＴＩＰＧＭが「１」の場合に、ＥＡＳＴ選択信号ＯＰＥＮ＿Ｅが「０」、かつＷＥＳＴ選択信号ＯＰＥＮ＿Ｗが「０」のときには、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜３：１＞が「０」となり、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜６：４＞が「０」となる。このときには、スワップ回路のリセットが行なわれる。
【００７２】
また、マルチプログラム信号ＭＵＬＴＩＰＧＭが「１」の場合に、ＥＡＳＴ選択信号ＯＰＥＮ＿Ｅが「０」、かつＷＥＳＴ選択信号ＯＰＥＮ＿Ｗが「１」のときには、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜３：１＞が「０」となり、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜７−ｎ＞が「１」となる。このときには、ＷＥＳＴ側のベリファイまたはＷＥＳＴ側の書込みデータの転送が行なわれる。
【００７３】
また、マルチプログラム信号ＭＵＬＴＩＰＧＭが「１」の場合に、ＥＡＳＴ選択信号ＯＰＥＮ＿Ｅが「１」、かつＷＥＳＴ選択信号ＯＰＥＮ＿Ｗが「０」のときには、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜ｎ＞が「０」となり、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜６：４＞が「０」となる。このときには、ＥＡＳＴ側のベリファイまたはＥＡＳＴ側の書込みデータの転送が行なわれる。
【００７４】
また、マルチプログラム信号ＭＵＬＴＩＰＧＭが「１」の場合に、ＥＡＳＴ選択信号ＯＰＥＮ＿Ｅが「１」、かつＷＥＳＴ選択信号ＯＰＥＮ＿Ｗが「１」のときには、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜ｎ＞が「１」となり、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜７−ｎ＞が「１」となる。このときには、書込みパルスの印加が行なわれる。
【００７５】
また、マルチプログラム信号ＭＵＬＴＩＰＧＭが「０」の場合には、バンク選択信号ＯＢＰ＜ｎ＞（ｎ＝１〜３のいずれか）が「Ｈ」のときには、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜ｎ＞が「１」となり、バンク選択信号ＯＢＰ＜ｎ＞（ｎ＝４〜６のいずれか）が「Ｈ」のときには、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜ｎ＞が「１」となり。このときには、通常動作が行なわれる。
【００７６】
（書込みシーケンス）
図６は、本実施の形態に係る半導体記憶装置のマルチプログラムテストの書込みシーケンスのフローチャートである。同図を参照して、マルチプログラムテストモードに移行すると、テストモード制御回路２４は、マルチプログラム信号ＭＬＴＩＰＧＭを「Ｈ」とし、両バンクセレクト信号ＢＳＥＬ２を「Ｈ」とする。
【００７７】
動作バンク制御回路３１は、内部アドレスＡＯ＜２３：１９＞に基づいて、バンク選択信号ＯＢＰ＜ｋ＞（ｋ＝１〜３のいずれか）およびバンク選択信号ＯＢＰ＜７−ｋ＞を「Ｈ」とし、ＯＢＰ＜ｉ＞（ｉは、１〜６で、ｋおよび（７−ｋ）以外のすべての数）を「Ｌ」とする。これにより、ＥＡＳＴ側のバンクｋとＷＥＳＴ側のバンク（７−ｋ）が選択される。ＣＰＵ１９は、ステップＳ２０１〜２１６において、ＥＡＳＴ側とＷＥＳＴ側を交互に行なうため内部アドレスＡＯ＜２３：０＞のうち、第５ビットの値ＡＯ＜５＞のみを切替え、その他のビットは固定する。
【００７８】
ステップＳ２０１において、ＣＰＵ１９は、各回路にＥＡＳＴ側の下裾ベリファイの実行を指示する。
【００７９】
まず、ＣＰＵ１９は、ページバッファ１７内に保持されているＥＡＳＴ側の書込みデータを選択するために内部アドレスＡＯ＜５＞を「Ｌ」にする。
【００８０】
切替え制御回路３８は、下裾ベリファイの実行の指示、および内部アドレスＡＯ＜５＞＝「Ｌ」を受けて、ＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅ＝「Ｈ」、かつＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗを「Ｌ」とする。
【００８１】
ＷＥＳＴ用ＯＢＰデコーダ３２は、ＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗ＝「Ｌ」により、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜６：４＞を「Ｌ」にする。ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜６：４＞が「Ｌ」となると、ＷＥＳＴ側のセンスアンプ１２ａ、ＷＥＳＴ側のバンク用のＸデコーダ２０ａ、図示しないＷＥＳＴ側のスペア回路、およびＷＥＳＴ側のライトドライバ１３ａが非活性化される。
【００８２】
一方、ＥＡＳＴ用ＯＢＰデコーダ３３は、マルチプログラムＭＵＬＴＩＰＧＭ＝「Ｈ」、ＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅ＝「Ｈ」、およびバンク選択信号ＯＢＰ＜ｋ＞＝「Ｈ」により、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜ｋ＞を「Ｈ」とし、ＯＢＰ＿Ｅ＜ｊ＞（ｊは１〜３で、ｋ以外の数）を「Ｌ」とする。ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜ｋ＞が「Ｈ」となると、ＥＡＳＴ側のセンスアンプ１２ｂ、ＥＡＳＴ側のバンク（ｋ）用のＸデコーダ２０ｂ、図示しないＥＡＳＴ側のスペア回路、およびＥＡＳＴ側のライトドライバ１３ｂが活性化される。
【００８３】
また、ＥＡＳＴ用ＢＬＫスペア判定回路３４は、内部アドレスＡＯ＜２３：１３＞に基づき、ＥＡＳＴ側のブロックのアドレスを特定し、ラッチしているスペアブロックアドレス情報に基づき、特定したＥＡＳＴ側のブロックのアドレスが欠陥のあるブロックのアドレスと同一のときには、欠陥のあるＥＡＳＴ側のブロックのアドレスに置き換えるＥＡＳＴ側のスペアブロックのアドレスを特定する。ＥＡＳＴ用ＢＬＫスペア判定回路３４は、特定したＥＡＳＴ側のスペアブロックのアドレスをＥＡＳＴ側のバンク用のＸデコーダ２０ｂに送る。
【００８４】
また、ＷＥＳＴ用ＢＬＫスペア判定回路３６は、マルチプログラムＭＵＬＴＩＰＧＭ＝「Ｈ」によって、ＥＸＮＯＲ回路３５で反転された内部アドレスＩＡＯ＜２３：１３＞に基づき、ＷＥＳＴ側のブロックのアドレスを特定し、ラッチしているスペアブロックアドレス情報に基づき、特定したＷＥＳＴ側のブロックのアドレスが欠陥のあるブロックのアドレスと同一のときには、欠陥のあるＷＥＳＴ側のブロックのアドレスに置き換えるＷＥＳＴ側のスペアブロックのアドレスを特定する。ＷＥＳＴ用ＢＬＫスペア判定回路３６は、特定したＷＥＳＴ側のスペアブロックのアドレスをＷＥＳＴ側のバンク用のＸデコーダ２０ａに送る。
【００８５】
活性化されたＥＡＳＴ側のバンク（ｋ）用のＸデコーダ２０ｂは、バンク（ｋ）のうちの内部アドレスＡＰ＜１２：０＞で指定されるブロックを選択する。そして、活性化されたＥＡＳＴ側のバンク（ｋ）用のＸデコーダ２０ｂは、スペアブロックのアドレスを受けたときには、選択したブロックに代えて、スペアブロックを選択する。また、活性化されたＥＡＳＴ側のバンク（ｋ）用のＸデコーダ２０ｂは、内部アドレスＡＰ＜１２：０＞に基づき、選択したブロックの中の１つの行を選択し、ＥＡＳＴ側のＹデコーダ２１ｂは、内部アドレスＡＰ＜１２：０＞に基づき、１６個の列を選択する。
【００８６】
また、活性化されたＥＡＳＴ側のスペアデコーダは、選択された列に欠陥があるときに、１個のスペア列を選択するとともに、欠陥のある列のアドレスであるスペア列アドレス情報ＥＡをスワップ回路１８に送り、スワップ回路１８は、スペア列アドレス情報ＥＡをラッチする。
【００８７】
活性化されたＥＡＳＴ側のセンスアンプ１２ｂは、選択された１６個の正規列の選択された行のメモリセルの記憶データ（１６ビット）と、欠陥があったときには、選択されたスペア列の選択された行のメモリセルの記憶データ（１ビット）とを増幅した後、スワップ回路１８に送る。
【００８８】
スワップ回路１８は、スペア列アドレス情報ＥＡをラッチしているときには、スペア列アドレス情報ＥＡに基づき、欠陥のある列を特定し、欠陥のある列のメモリセルの記憶データとスペア列のメモリセルの記憶データとを入れ替える。スワップ回路１８は、１６ビットの正規列の記憶データを共通バス９０を通じてベリファイ回路１６に送る。
【００８９】
ＣＰＵ１９は、内部アドレスＡＯ＜６：０＞に基づき、ＡＯ＜５＞＝「Ｌ」により、ページバッファ１７の１６ビットのＥＡＳＴ側のメモリセルの書込みデータを選択して、ベリファイ回路１６に出力させる。
【００９０】
ベリファイ回路１６は、ページバッファ１７から出力された書込みデータと、スワップ回路１８から出力された記憶データとが一致するか否かを調べ、その結果をＣＰＵ１９に送る。
【００９１】
ステップＳ２０２において、ＣＰＵ１９は、各回路にスワップ回路１８のリセットを指示する。
【００９２】
切替え制御回路３８は、スワップ回路１８のリセットの指示を受けて、ＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅ＝「Ｌ」、かつＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗを「Ｌ」とする。ＷＥＳＴ用ＯＢＰデコーダ３２は、ＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗ＝「Ｌ」により、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜６：４＞を「Ｌ」にする。ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜６：４＞が「Ｌ」となると、ＷＥＳＴ側のセンスアンプ１２ａ、ＷＥＳＴ側のバンク用のＸデコーダ２０ａ、図示しないＷＥＳＴ側のスペア回路、およびＷＥＳＴ側のライトドライバ１３ａが非活性化される。
【００９３】
一方、ＥＡＳＴ用ＯＢＰデコーダ３３は、ＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅ＝「Ｌ」により、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜３：１＞を「Ｌ」にする。ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜３：１＞が「Ｌ」となると、ＥＡＳＴ側のセンスアンプ１２ｂ、ＥＡＳＴ側のバンク用のＸデコーダ２０ｂ、図示しないＥＡＳＴ側のスペア回路、およびＥＡＳＴ側のライトドライバ１３ｂが非活性化される。
【００９４】
スワップ回路１８は、ＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅ＝「Ｌ」、かつＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗ＝「Ｌ」となると、ラッチしているスペアアドレス情報ＥＡをリセットする。これにより、次に、ＷＥＳＴ側のスペアデコーダから送られるスペアアドレス情報ＥＡの取込みに備える。
【００９５】
ステップＳ２０３において、ＣＰＵ１９は、各回路にＷＥＳＴ側の下裾ベリファイの実行を指示する。
【００９６】
まず、ＣＰＵ１９は、ページバッファ１７内に保持されているＷＥＳＴ側の書込みデータを選択するために内部アドレスＡＯ＜５＞を「Ｈ」にする。
【００９７】
切替え制御回路３８は、下裾ベリファイの実行の指示、および内部アドレスＡＯ＜５＞＝「Ｈ」を受けて、ＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅ＝「Ｌ」、かつＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗを「Ｈ」とする。
【００９８】
ＥＡＳＴ用ＯＢＰデコーダ３３は、ＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅ＝「Ｌ」により、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜３：１＞を「Ｌ」にする。ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜３：１＞が「Ｌ」となると、ＥＡＳＴ側のセンスアンプ１２ｂ、ＥＡＳＴ側のバンク用のＸデコーダ２０ｂ、図示しないＥＡＳＴ側のスペア回路、およびＥＡＳＴ側のライトドライバ１３ｂが非活性化される。
【００９９】
一方、ＷＥＳＴ用ＯＢＰデコーダ３２は、マルチプログラムＭＵＬＴＩＰＧＭ＝「Ｈ」、ＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗ＝「Ｈ」、およびバンク選択信号ＯＢＰ＜７−ｋ＞＝「Ｈ」により、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜７−ｋ＞を「Ｈ」とし、ＯＢＰ＿Ｗ＜ｊ＞（ｊは４〜６で、（７−ｋ）以外の数）を「Ｌ」とする。ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜７−ｋ＞が「Ｈ」となると、ＷＥＳＴ側のセンスアンプ１２ａ、ＷＥＳＴ側のバンク（７−ｋ）用のＸデコーダ２０ａ、図示しないＷＥＳＴ側のスペア回路、およびＷＥＳＴ側のライトドライバ１３ａが活性化される。
【０１００】
活性化されたＷＥＳＴ側のバンク（７−ｋ）用のＸデコーダ２０ａは、バンク（７−ｋ）のうちの内部アドレスＡＰ＜１２：０＞で指定されるブロックを選択する。そして、活性化されたＷＥＳＴ側のバンク（７−ｋ）用のＸデコーダ２０ａは、スペアブロックのアドレスを受けたときには、選択したブロックに代えてスペアブロックを選択する。また、活性化されたＷＥＳＴ側のバンク（７−ｋ）用のＸデコーダ２０ａは、内部アドレスＡＰ＜１２：０＞に基づき、選択したブロックの中の１つの行を選択し、ＷＥＳＴ側のＹデコーダ２１ａは、内部アドレスＡＰ＜１２：０＞に基づき、１６個の列を選択する。
【０１０１】
また、活性化されたＷＥＳＴ側のスペアデコーダは、選択された列に欠陥があるときに、１個のスペア列を選択するとともに、欠陥のある列のアドレスであるスペア列アドレス情報ＥＡをスワップ回路１８に送り、スワップ回路１８は、スペア列アドレス情報ＥＡをラッチする。
【０１０２】
活性化されたＷＥＳＴ側のセンスアンプ１２ａは、選択された１６個の正規列の選択された行のメモリセルの記憶データ（１６ビット）と、欠陥があったときには、選択されたスペア列の選択された行のメモリセルの記憶データ（１ビット）とを増幅した後、スワップ回路１８に送る。
【０１０３】
スワップ回路１８は、スペア列アドレス情報ＥＡをラッチしているときには、スペア列アドレス情報ＥＡに基づき、欠陥のある列を特定し、欠陥のある列のメモリセルの記憶データとスペア列のメモリセルの記憶データとを入れ替える。スワップ回路１８は、１６ビットの正規列の記憶データを共通バス９０を通じてベリファイ回路１６に送る。
【０１０４】
ＣＰＵ１９は、内部アドレスＡＯ＜６：０＞に基づき、ＡＯ＜５＞＝「Ｈ」により、ページバッファ１７の１６ビットのＷＥＳＴ側のメモリセルの書込みデータを選択して、ベリファイ回路１６に出力させる。
【０１０５】
ベリファイ回路１６は、ページバッファ１７から出力された書込みデータと、スワップ回路１８から出力された記憶データとが一致するか否かを調べ、その結果をＣＰＵ１９に送る。
【０１０６】
ステップＳ２０４において、ＣＰＵ１９は、各回路にスワップ回路１８のリセットを指示し、ステップＳ２０２と同様にして、スワップ回路１８でラッチしているスペアアドレス情報がリセットされ、次に、ＥＡＳＴ側のスペアデコーダから送られるスペアアドレス情報ＥＡの取込みに備える。
【０１０７】
ステップＳ２０５において、ＣＰＵ１９は、各回路にＥＡＳＴ側のプログラムデータ（書込みデータ）の転送を指示する。
【０１０８】
まず、ＣＰＵ１９は、ページバッファ１７内に保持されているＥＡＳＴ側の書込みデータを選択するために内部アドレスＡＯ＜５＞を「Ｌ」にする。
【０１０９】
切替え制御回路３８は、書込みデータの転送の指示、および内部アドレスＡＯ＜５＞＝「Ｌ」を受けて、ＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅ＝「Ｈ」、かつＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗを「Ｌ」とする。
【０１１０】
ＷＥＳＴ用ＯＢＰデコーダ３２は、ＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗ＝「Ｌ」により、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜６：４＞を「Ｌ」にする。ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜６：４＞が「Ｌ」となると、ＷＥＳＴ側のセンスアンプ１２ａ、ＷＥＳＴ側のバンク用のＸデコーダ２０ａ、図示しないＷＥＳＴ側のスペア回路、およびＷＥＳＴ側のライトドライバ１３ａが非活性化される。
【０１１１】
一方、ＥＡＳＴ用ＯＢＰデコーダ３３は、マルチプログラムＭＵＬＴＩＰＧＭ＝「Ｈ」、ＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅ＝「Ｈ」、およびバンク選択信号ＯＢＰ＜ｋ＞＝「Ｈ」により、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜ｋ＞を「Ｈ」とし、ＯＢＰ＿Ｅ＜ｊ＞（ｊは１〜３で、ｋ以外の数）を「Ｌ」とする。ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜ｋ＞が「Ｈ」となると、ＥＡＳＴ側のセンスアンプ１２ｂ、ＥＡＳＴ側のバンク（ｋ）用のＸデコーダ２０ｂ、図示しないＥＡＳＴ側のスペア回路、およびＥＡＳＴ側のライトドライバ１３ｂが活性化される。
【０１１２】
活性化されたＥＡＳＴ側のバンク（ｋ）用のＸデコーダ２０ｂは、バンク（ｋ）のうちの内部アドレスＡＰ＜１２：０＞で指定されるブロックを選択する。そして、活性化されたＥＡＳＴ側のバンク（ｋ）用のＸデコーダ２０ｂは、スペアブロックのアドレスを受けたときには、選択したブロックに代えて、スペアブロックを選択する。また、活性化されたＥＡＳＴ側のバンク（ｋ）用のＸデコーダ２０ｂは、内部アドレスＡＰ＜１２：０＞に基づき、選択したブロックの中の１つの行を選択し、ＥＡＳＴ側のＹデコーダ２１ｂは、内部アドレスＡＰ＜１２：０＞に基づき、１６個の列を選択する。
【０１１３】
また、活性化されたＥＡＳＴ側のスペアデコーダは、選択された列に欠陥があるときに、１個のスペア列を選択するとともに、欠陥のある列のアドレスであるスペア列アドレス情報ＥＡをスワップ回路１８に送り、スワップ回路１８は、スペア列アドレス情報ＥＡをラッチする。
【０１１４】
ＣＰＵ１９は、内部アドレスＡＯ＜６：０＞に基づき、ＡＯ＜５＞＝「Ｌ」により、ページバッファ１７の１６ビットのＥＡＳＴ側のメモリセルの書込みデータを選択して、ベリファイ回路１６に出力させる。
【０１１５】
ベリファイ回路１６は、ページバッファ１７から出力された書込みデータを共通バス９０を通じてスワップ回路１８に送る。
【０１１６】
スワップ回路１８は、スペア列アドレス情報ＥＡをラッチしているときには、スペア列アドレス情報ＥＡに基づき、欠陥のある列を特定し、ベリファイ回路１６から送られた欠陥のある列の書込みデータとスペア列の書込みデータとを入れ替える。スワップ回路１８は、スペア列アドレス情報ＥＡをラッチしていないときには、スペア列の書込みデータをデフォルト値のままとする。スワップ回路１８は、選択された１６個の正規列およびスペア列に書込む１７ビットの書込みデータをＷＥＳＴ側のライトドライバ１３ａおよびＥＡＳＴ側のライトドライバ１３ｂに送る。
【０１１７】
活性化されたＥＡＳＴ側のライトドライバ１３ｂは、スワップ回路１８から送られる１７ビットの書込みデータを受けて、保持する。
【０１１８】
ステップＳ２０６において、ＣＰＵ１９は、各回路にスワップ回路１８のリセットを指示し、ステップＳ２０２と同様にして、スワップ回路１８でラッチしているスペアアドレス情報がリセットされ、次に、ＷＥＳＴ側のスペアデコーダから送られるスペアアドレス情報ＥＡの取込みに備える。
【０１１９】
ステップＳ２０７において、ＣＰＵ１９は、各回路にＷＥＳＴ側のプログラムデータ（書込みデータ）の転送を指示する。
【０１２０】
まず、ＣＰＵ１９は、ページバッファ１７内に保持されているＷＥＳＴ側の書込みデータを選択するために内部アドレスＡＯ＜５＞を「Ｈ」にする。
【０１２１】
切替え制御回路３８は、書込みデータの転送の指示、および内部アドレスＡＯ＜５＞＝「Ｈ」を受けて、ＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅ＝「Ｌ」、かつＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗを「Ｈ」とする。
【０１２２】
ＥＡＳＴ用ＯＢＰデコーダ３３は、ＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅ＝「Ｌ」により、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜３：１＞を「Ｌ」にする。ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜３：１＞が「Ｌ」となると、ＥＡＳＴ側のセンスアンプ１２ｂ、ＥＡＳＴ側のバンク用のＸデコーダ２０ｂ、図示しないＥＡＳＴ側のスペア回路、およびＥＡＳＴ側のライトドライバ１３ｂが非活性化される。
【０１２３】
一方、ＷＥＳＴ用ＯＢＰデコーダ３２は、マルチプログラムＭＵＬＴＩＰＧＭ＝「Ｈ」、ＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗ＝「Ｈ」、およびバンク選択信号ＯＢＰ＜７−ｋ＞＝「Ｈ」により、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜７−ｋ＞を「Ｈ」とし、ＯＢＰ＿Ｗ＜ｊ＞（ｊは４〜６で、（７−ｋ）以外の数）を「Ｌ」とする。ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜７−ｋ＞が「Ｈ」となると、ＷＥＳＴ側のセンスアンプ１２ａ、ＷＥＳＴ側のバンク（７−ｋ）用のＸデコーダ２０ａ、図示しないＷＥＳＴ側のスペア回路、およびＷＥＳＴ側のライトドライバ１３ａが活性化される。
【０１２４】
活性化されたＷＥＳＴ側のバンク（７−ｋ）用のＸデコーダ２０ａは、バンク（７−ｋ）のうちの内部アドレスＡＰ＜１２：０＞で指定されるブロックを選択する。そして、活性化されたＷＥＳＴ側のバンク（７−ｋ）用のＸデコーダ２０ａは、スペアブロックのアドレスを受けたときには、選択したブロックに代えてスペアブロックを選択する。また、活性化されたＷＥＳＴ側のバンク（７−ｋ）用のＸデコーダ２０ａは、内部アドレスＡＰ＜１２：０＞に基づき、選択したブロックの中の１つの行を選択し、ＷＥＳＴ側のＹデコーダ２１ａは、内部アドレスＡＰ＜１２：０＞に基づき、１６個の列を選択する。
【０１２５】
また、活性化されたＷＥＳＴ側のスペアデコーダは、選択された列に欠陥があるときに、１個のスペア列を選択するとともに、欠陥のある列のアドレスであるスペア列アドレス情報ＥＡをスワップ回路１８に送り、スワップ回路１８は、スペア列アドレス情報ＥＡをラッチする。
【０１２６】
ＣＰＵ１９は、内部アドレスＡＯ＜６：０＞に基づき、ＡＯ＜５＞＝「Ｈ」により、ページバッファ１７の１６ビットのＷＥＳＴ側のメモリセルの書込みデータを選択して、ベリファイ回路１６に出力させる。
【０１２７】
ベリファイ回路１６は、ページバッファ１７から出力された書込みデータを共通バス９０を通じてスワップ回路１８に送る。
【０１２８】
スワップ回路１８は、スペア列アドレス情報ＥＡをラッチしているときには、スペア列アドレス情報ＥＡに基づき、欠陥のある列を特定し、ベリファイ回路１６から送られた欠陥のある列の書込みデータとスペア列の書込みデータとを入れ替える。スワップ回路１８は、スペア列アドレス情報ＥＡをラッチしていないときには、スペア列の書込みデータをデフォルト値のままとする。スワップ回路１８は、選択された１６個の正規列およびスペア列に書込む１７ビットの書込みデータをＷＥＳＴ側のライトドライバ１３ａおよびＥＡＳＴ側のライトドライバ１３ｂに送る。
【０１２９】
活性化されたＷＥＳＴ側のライトドライバ１３ａは、スワップ回路１８から送られる１７ビットの書込みデータを受けて、保持する
ステップＳ２０８において、ＣＰＵ１９は、各回路にＷＥＳＴ側およびＥＡＳＴ側の書込みパルスの印加を指示する。
【０１３０】
切替え制御回路３８は、書込みパルスの印加の指示を受けて、ＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅ＝「Ｈ」、かつＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗを「Ｈ」とする。
【０１３１】
ＥＡＳＴ用ＯＢＰデコーダ３３は、マルチプログラムＭＵＬＴＩＰＧＭ＝「Ｈ」、ＥＡＳＴ選択信号ＯＢＰＥＮ＿Ｅ＝「Ｈ」、およびバンク選択信号ＯＢＰ＜ｋ＞＝「Ｈ」により、ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜ｋ＞を「Ｈ」とし、ＯＢＰ＿Ｅ＜ｊ＞（ｊは１〜３で、ｋ以外の数）を「Ｌ」とする。ＥＡＳＴバンク制御信号ＯＢＰ＿Ｅ＜ｋ＞が「Ｈ」となると、ＥＡＳＴ側のセンスアンプ１２ｂ、ＥＡＳＴ側のバンク（ｋ）用のＸデコーダ２０ｂ、図示しないＥＡＳＴ側のスペア回路、およびＥＡＳＴ側のライトドライバ１３ｂが活性化される。
【０１３２】
一方、ＷＥＳＴ用ＯＢＰデコーダ３２は、マルチプログラムＭＵＬＴＩＰＧＭ＝「Ｈ」、ＷＥＳＴ選択信号ＯＢＰＥＮ＿Ｗ＝「Ｈ」、およびバンク選択信号ＯＢＰ＜７−ｋ＞＝「Ｈ」により、ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜７−ｋ＞を「Ｈ」とし、ＯＢＰ＿Ｗ＜ｊ＞（ｊは４〜６で、（７−ｋ）以外の数）を「Ｌ」とする。ＷＥＳＴバンク制御信号ＯＢＰ＿Ｗ＜７−ｋ＞が「Ｈ」となると、ＷＥＳＴ側のセンスアンプ１２ａ、ＷＥＳＴ側のバンク（７−ｋ）用のＸデコーダ２０ａ、図示しないＷＥＳＴ側のスペア回路、およびＷＥＳＴ側のライトドライバ１３ａが活性化される。
【０１３３】
活性化されたＥＡＳＴ側のライトドライバ１３ｂは、スワップ回路１８から送られて保持している１７ビットの書込みデータに基づき、ＥＡＳＴ側のメモリアレイ１０ｂの中の選択された行と、選択された正規列および選択されたスペア列とで指定されるメモリセルに、図示しない電源制御回路で生成された書込みパルスを印加する。具体的には、ライトドライバ１３ｂは、書込みデータが「１」の列に書込みパルスを印加せず、書込みデータが「０」の列に書込みパルスを印加する。
【０１３４】
また、活性化されたＷＥＳＴ側のライトドライバ１３ａは、スワップ回路１８から送られて保持している１７ビットの書込みデータに基づき、ＷＥＳＴ側のメモリアレイ１０ａの中の選択された行と、選択された正規列および選択されたスペア列とで指定されるメモリセルに、図示しない電源制御回路で生成された書込みパルスを印加する。具体的には、ライトドライバ１３ａは、書込みデータが「１」の列に書込みパルスを印加せず、書込みデータが「０」の列に書込みパルスを印加する。
【０１３５】
ステップＳ２０９において、ＣＰＵ１９は、各回路にスワップ回路１８のリセットを指示し、ステップＳ２０２と同様にして、スワップ回路１８でラッチしているスペアアドレス情報がリセットされ、次に、ＥＡＳＴ側のスペアデコーダから送られるスペアアドレス情報ＥＡの取込みに備える。
【０１３６】
ステップＳ２１０において、ＣＰＵ１９は、各回路にスワップ回路１８のＥＡＳＴ側の下裾ベリファイを指示し、ステップＳ２０１と同様にして、ＥＡＳＴ側の下裾ベリファイが行なわれる。
【０１３７】
ステップＳ２１１において、ＣＰＵ１９は、各回路にスワップ回路１８のリセットを指示し、ステップＳ２０２と同様にして、スワップ回路１８でラッチしているスペアアドレス情報がリセットされ、次に、ＷＥＳＴ側のスペアデコーダから送られるスペアアドレス情報ＥＡの取込みに備える。
【０１３８】
ステップＳ２１２において、ＣＰＵ１９は、各回路にスワップ回路１８のＷＥＳＴ側の下裾ベリファイを指示し、ステップＳ２０３と同様にして、ＷＥＳＴ側の下裾ベリファイが行なわれる。
【０１３９】
ステップＳ２１３において、ＣＰＵ１９は、各回路にスワップ回路１８のリセットを指示し、ステップＳ２０４と同様にして、スワップ回路１８でラッチしているスペアアドレス情報がリセットされ、次に、ＥＡＳＴ側のスペアデコーダから送られるスペアアドレス情報ＥＡの取込みに備える。
【０１４０】
ステップＳ２１４において、ＣＰＵ１９は、各回路にスワップ回路１８のＥＡＳＴ側の上裾ベリファイを指示し、ステップＳ２０１と同様にして、ＷＥＳＴ側の上裾ベリファイが行なわれる。
【０１４１】
ステップＳ２１５において、ＣＰＵ１９は、各回路にスワップ回路１８のリセットを指示し、ステップＳ２０２と同様にして、スワップ回路１８でラッチしているスペアアドレス情報がリセットされ、次に、ＷＥＳＴ側のスペアデコーダから送られるスペアアドレス情報ＥＡの取込みに備える。
【０１４２】
ステップＳ２１６において、ＣＰＵ１９は、各回路にスワップ回路１８のＷＥＳＴ側の上裾ベリファイを指示し、ステップＳ２０３と同様にして、ＷＥＳＴ側の上裾ベリファイが行なわれる。
【０１４３】
以上のように、本実施の形態に係る半導体記憶装置によれば、ベリファイ回路と複数個のライトドライバとが共通のバス９０で接続され、ベリファイ回路と複数個のセンスアンプとが共通のバスで接続されていても、２個のメモリアレイに同時に書込みパルスを印加するので、短いテスト時間を維持することができる。また、２個のメモリアレイに対して、ライトドライバへの書込みデータおよびセンスアンプからの読出しデータをメモリアレイごとに交互に行なうことにしたので、これらが衝突することを回避することができる。
【０１４４】
［第２の実施形態］
本実施の形態は、外部クロックを利用して、テストを行なう半導体記憶装置に関する。
【０１４５】
（構成）
図７は、本実施の形態に係る半導体記憶装置の構成を示すブロック図である。同図を参照して、この半導体記憶装置は、メモリアレイ５０と、アドレスバッファ５１と、Ｘデコーダ５２と、Ｙデコーダ５３と、Ｙゲート５４と、センスアンプ５５と、ライトドライバ５６と、ベリファイ回路５７と、ページバッファ５９と、Ｉ／Ｏバッファ６０と、ＣＵＩ６１と、ＣＰＵ６２と、ＯＳＣ６３と、ステータスレジスタ６４とを含む。
【０１４６】
メモリアレイ５０は、行列状に配置された複数のフラッシュメモリ用のメモリセルを含む。このメモリセルは、「００」、「０１」、「１０」および「１１」の４値を記憶する。このメモリセルは、フローティングゲート、コントロールゲート、ソースおよびドレインを有するトランジスタで構成される。コントロールゲートは、メモリセルを選択するためのワード線ＷＬと接続される。ソースおよびドレインは、ソース線ＳＬおよびビット線ＢＬとそれぞれ接続する。このメモリセルへのデータの書込みは、書込みパルスを印加することにより、チャネルホットエレクトン（ＣＨＥ）を利用してフローティングゲートに電子を注入させて、閾値電圧を上昇させることによって行なわれる。また、このメモリセルからのデータの読出しは、予めビット線を図示しないプリチャージ回路でプリチャージしておき、コントロールゲートと結合されたワード線に一定電圧を与えてある所定時間メモリディスチャージを行なって、それからビット線に流れる電流の大きさを検出することによって実行される。
【０１４７】
アドレスバッファ５１は、アドレス端子から入力される外部アドレスをラッチして、内部アドレスを生成してＸデコーダ５２およびＹデコーダ５３に出力する。
【０１４８】
Ｘデコーダ５２は、内部アドレスに基づき、メモリアレイ５０の行を選択する。
【０１４９】
Ｙデコーダ５３は、内部アドレスに基づき、メモリアレイ５０の列を選択するための列選択信号を生成する。
【０１５０】
Ｙゲート５４は、Ｙデコーダ５３からの列選択信号にしたがって選択されるメモリアレイ５０の列をセンスアンプ５５と接続される内部データ線に接続する。
【０１５１】
ＯＳＣ６３は、ベリファイ動作時に、クロック端子から長い周期の外部クロックＥＸＴＣＬＫを受けると、その外部クロックＥＸＴＣＬＫに基づいて内部クロックＰ１、Ｐ２を生成して、ＣＰＵ６２に供給する。ＯＳＣ６３は、サスペンドモード時に、ＣＵＩ６１から内部クロックの生成の停止の指示を受けると、内部クロックの生成を停止する。ＯＳＣ６３は、書込みパルス印加時に、ＣＵＩ６１から固定の周期の内部クロックの自動生成の指示を受けると、固定の周期の内部クロックＰ１′、Ｐ２′を自動生成して、ＣＰＵ６２に供給する。
【０１５２】
ＣＰＵ６２は、ＯＳＣ６３から送られる内部クロック信号Ｐ１、Ｐ２または内部クロックＰ１′、Ｐ２′に基づいて、半導記憶装置の全体の制御を行なう。ＣＰＵ６２は、ベリファイ動作時には、内部クロックＰ１、Ｐ２に基づいて、センスアンプ５５を活性化させるセンスアンプ活性化信号ＳＡＥ、および図示しないプリチャージ回路を活性化させるプリチャージ信号ＰＣなどの制御信号を生成する。また、ＣＰＵ６２は、書込みパルス印加時には、内部クロックＰ１′、Ｐ２′に基づいて、ライトドライバ５６を活性化させるライトドライバ活性化信号ＷＲＥなどの制御信号を生成する。
【０１５３】
ステータスレジスタ６４は、サスペンドモード時および書込みパルス印加時には、外部クロックの供給の停止を指示する値「０」を保持する。ステータスレジスタ６４は、ベリファイ動作時には、外部クロックの供給を指示する値「１」を保持する。
【０１５４】
ＣＵＩ６１は、下裾ベリファイまたは上裾ベリファイの実行前にサスペンドモードに移行し、ＯＳＣ６３に内部クロックの生成を停止させるとともに、ステータスレジスタ６４に外部クロックの供給の停止を指示する値「０」を書込む。
【０１５５】
ＣＵＩ６１は、下裾ベリファイまたは上裾ベリファイの実行前にサスペンドモードに移行した後、所定時間経過後に、ステータスレジスタ６４に外部クロックの供給を指示する値「１」を書込む。
【０１５６】
ＣＵＩ６１は、下裾ベリファイまたは上裾ベリファイの終了の通知を受けると、サスペンドモードに移行し、ＯＳＣ６３に内部クロックの生成を停止させるとともに、ステータスレジスタ６４に外部クロックの供給の停止を指示する値「０」を書込む。
【０１５７】
ＣＵＩ６１は、下裾ベリファイの終了後にサスペンドモードに移行した後、所定時間経過後に、ＯＳＣ６３に、外部クロックＥＸＴＣＬＫによらずに、固定の周期の内部クロックを自動生成するように指示する。
【０１５８】
センスアンプ５５は、ベリファイ動作時に、内部クロックＰ１、Ｐ２に基づいて動作し、ビット線に流れる電流を検出することによって、メモリセルの閾値電圧をセンスして読出しデータを得て、読出しデータをベリファイ回路５７に出力する。また、図示しないプリチャージ回路も、ベリファイ動作時に、内部クロックＰ１、Ｐ２に基づいて動作し、ビット線をプリチャージする。
【０１５９】
ライトドライバ５６は、書込みパルスの印加時に、内部クロックＰ１′、Ｐ２′に基づいて動作し、メモリセルに書込みパルスを印加することにより、メモリセルにデータを書込む。
【０１６０】
ページバッファ５９は、メモリセルへの書込みデータを保持する。
【０１６１】
ベリファイ回路５７は、閾値電圧が所定電圧以上かを調べる下裾ベリファイと、閾値電圧が所定電圧未満かを調べる上裾ベリファイによって、ページバッファ５９内の書込みデータと、センスアンプ５５から出力される読出しデータとが一致するか否かを判定して、判定結果をＣＰＵ６２に送る。
【０１６２】
Ｉ／Ｏバッファ６０は、外部からデータ入出力端子ＤＱを通じて入力される書込みデータを受けて、ページバッファ５９に出力する。また、Ｉ／Ｏバッファ６０は、ベリファイ時に、ＣＰＵ１９からベリファイ結果を示すデータを受けて、データ入出力端子ＤＱを通じて外部に出力する。また、Ｉ／Ｏバッファ６０は、読出し時にセンスアンプ５５から読出しデータを受けて、データ入出力端子ＤＱを通じて外部に出力する。
【０１６３】
（クロックの違いによるベリファイ動作時間の比較）
図８（ａ）は、内部で自動的に生成された固定の周期の内部クロックに基づくベリファイのタイミングチャートを示す。同図に示すように、内部で自動的に生成された固定の短い周期の内部クロックＰ１′およびＰ２′に基づいて、センスアンプ活性化信号およびプリチャージ信号が生成される。内部クロックＰ１′およびＰ２′の周期は、７０ｎｓと短いため、センスアンプ動作が行なわれる時間間隔、プリチャージ動作が行なわれる時間間隔も短くなり、ベリファイ動作の時間が短くなる。しかし、センスアンプのセンス時間、ビット線のプリチャージ時間が短くなる結果、メモリセルからのデータの読出しが正確にできず、正確なベリファイが行なえない。ＲｅｆＣｅｌｌプログラムでは、基準電流発生用のメモリセルにデータを書込むため、正確にベリファイを行なえないことは、大きな問題となる。
【０１６４】
図８（ｂ）は、長い周期の外部クロックＥＸＴＣＬＫに基づいて生成された内部クロックに基づくベリファイのタイミングチャートを示す。同図に示すように、外部クロックＥＸＴＣＬＫに基づいて生成された内部クロックＰ１およびＰ２に基づいて、センスアンプ活性化信号およびプリチャージ信号が生成される。内部クロックＰ１およびＰ２の周期は、７０ｎｓよりも長いため、センスアンプ動作が行なわれる時間間隔、プリチャージ動作が行なわれる時間間隔が長くなり、ベリファイ動作の時間が長くなる。しかし、センスアンプのセンス時間、ビット線のプリチャージ時間が長くなる結果、メモリセルからのデータの読出しが正確になり、正確なベリファイが行なえる。ＲｅｆＣｅｌｌプログラムでは、基準電流発生用のメモリセルにデータを書込むため、正確にベリファイが行なえるように、外部クロックに基づいてベリファイを行なうのが望ましい。
【０１６５】
（書込みシーケンスの動作）
図９は、本実施の形態に係る半導体記憶装置のＲｅｆＣｅｌｌプログラム時の書込みシーケンスの手順を示すフローチャートである。同図を参照して、まず、ＣＵＩ６１は、下裾ベリファイの実行前に、サスペンドモードに移行し、ＯＳＣ６３に内部クロックの生成を停止させるとともに、ステータスレジスタ６４に外部クロックの供給の停止を指示する値「０」を書込む。
【０１６６】
外部のテスタは、データ入出力端子ＤＱから出力されるステータスレジスタ６４の値をポーリングしており、ステータスレジスタ６４の値が「０」となると、外部クロックＥＸＴＣＬＫの供給を停止する（ステップＳ３０１）。
【０１６７】
ＣＵＩ６１は、下裾ベリファイの実行前にサスペンドモードに移行した後、所定時間経過後に、ステータスレジスタ６４に外部クロックの供給を指示する値「１」を書込む。
【０１６８】
外部のテスタは、データ入出力端子ＤＱから出力されるステータスレジスタ６４の値をポーリングしており、ステータスレジスタ６４の値が「１」となると、外部クロックＥＸＴＣＬＫの供給を開始する。
【０１６９】
ＯＳＣ６３は、クロック端子より外部クロックＥＸＴＣＬＫを受けると、その外部クロックＥＸＴＣＬＫに基づいて内部クロックＰ１、Ｐ２を生成して、ＣＰＵ６２に供給する。ＣＰＵ６２は、受けた内部クロックＰ１、Ｐ２に基づいて、センスアンプ５５を活性化させるセンスアンプ活性化信号ＳＡＥ、および図示しないプリチャージ回路を活性化させるプリチャージ信号ＰＣなどの制御信号を生成する。
【０１７０】
ＣＰＵ６２は、下裾ベリファイを内部の各回路に実行させる。下裾ベリファイでは、センスアンプ５５によるビット線のセンス動作、および図示しないプリチャージ回路におけるメモリアレイ５０のビット線のプリチャージ動作などが、外部クロックＥＸＴＣＬＫから生成された内部クロックＰ１、Ｐ２のタイミングで行なわれる。ベリファイ回路５７は、下裾ベリファイが終了すると、ＣＵＩ６１に通知する（ステップＳ３０２）。
【０１７１】
ＣＵＩ６１は、下裾ベリファイの終了の通知を受けると、サスペンドモードに移行し、ＯＳＣ６３に内部クロックの生成を停止させるとともに、ステータスレジスタ６４に外部クロックの供給の停止を指示する値「０」を書込む。
【０１７２】
外部のテスタは、データ入出力端子ＤＱから出力されるステータスレジスタ６４の値をポーリングしており、ステータスレジスタ６４の値が「０」となると、外部クロックＥＸＴＣＬＫの供給を停止する（ステップＳ３０３）。
【０１７３】
ＣＵＩ６１は、下裾ベリファイの終了後にサスペンドモードに移行した後、所定時間経過後に、ＯＳＣ６３に、外部クロックＥＸＴＣＬＫによらずに、固定の周期の内部クロックを自動生成するように指示する。ＯＳＣ６３は、固定の周期の内部クロックの自動生成の指示を受けると、固定の周期の内部クロックＰ１′、Ｐ２′を自動生成して、ＣＰＵ６２に供給する。ＣＰＵ６２は、受けた内部クロックＰ１′、Ｐ２′に基づいて、ライトドライバ５６を活性化させるライトドライバ活性化信号ＷＲＥなどの制御信号を生成する。
【０１７４】
ＣＰＵ６２は、書込みパルスの印加を内部の各回路に実行させる。書込みパルスの印加では、ライトドライバ５６の書込みパルスの印加の動作などが、自動生成された固定の周期の内部クロックＰ１′、Ｐ２′のタイミングで行なわれる。ライトドライバ５６は、書込みパルスの印加が終了すると、ＣＵＩ６１に通知する（ステップＳ３０４）。
【０１７５】
ＣＵＩ６１は、書込みパルスの印加の終了の通知を受けると、下裾ベリファイの実行前に、サスペンドモードに移行し、ＯＳＣ６３に内部クロックの生成を停止させるとともに、ステータスレジスタ６４に外部クロックの供給の停止を指示する値「０」を書込む。
【０１７６】
外部のテスタは、データ入出力端子ＤＱから出力されるステータスレジスタ６４の値をポーリングしており、ステータスレジスタ６４の値が「０」となると、外部クロックＥＸＴＣＬＫの供給を停止する（ステップＳ３０５）。
【０１７７】
ＣＵＩ６１は、下裾ベリファイの実行前にサスペンドモードに移行した後、所定時間経過後に、ステータスレジスタ６４に外部クロックの供給を指示する値「１」を書込む。
【０１７８】
外部のテスタは、データ入出力端子ＤＱから出力されるステータスレジスタ６４の値をポーリングしており、ステータスレジスタ６４の値が「１」となると、外部クロックＥＸＴＣＬＫの供給を開始する。
【０１７９】
ＯＳＣ６３は、クロック端子より外部クロックＥＸＴＣＬＫを受けると、その外部クロックＥＸＴＣＬＫに基づいて内部クロックＰ１、Ｐ２を生成して、ＣＰＵ６２に供給する。ＣＰＵ６２は、受けた内部クロックＰ１、Ｐ２に基づいて、センスアンプ５５を活性化させるセンスアンプ活性化信号ＳＡＥ、および図示しないプリチャージ回路を活性化させるプリチャージ信号ＰＣなどの制御信号を生成する。
【０１８０】
ＣＰＵ６２は、下裾ベリファイを内部の各回路に実行させる。下裾ベリファイでは、センスアンプ５５によるビット線のセンス動作、および図示しないプリチャージ回路によるメモリアレイ５０のビット線のプリチャージ動作などが、外部クロックＥＸＴＣＬＫから生成された内部クロックＰ１、Ｐ２のタイミングで行なわれる。ベリファイ回路５７は、下裾ベリファイが終了すると、ＣＵＩ６１に通知する（ステップＳ３０６）。
【０１８１】
ＣＵＩ６１は、下裾ベリファイの終了の通知を受けると、サスペンドモードに移行し、ＯＳＣ６３に内部クロックの生成を停止させるとともに、ステータスレジスタ６４に外部クロックの供給の停止を指示する値「０」を書込む。
【０１８２】
外部のテスタは、データ入出力端子ＤＱから出力されるステータスレジスタ６４の値をポーリングしており、ステータスレジスタ６４の値が「０」となると、外部クロックＥＸＴＣＬＫの供給を停止する（ステップＳ３０７）。
【０１８３】
ＣＵＩ６１は、下裾ベリファイの終了後にサスペンドモードに移行した後、所定時間経過後に、ＯＳＣ６３に、外部クロックＥＸＴＣＬＫによらずに、固定の周期の内部クロックを自動生成するように指示する。ＯＳＣ６３は、固定の周期の内部クロックの自動生成の指示を受けると、固定の周期の内部クロックＰ１′、Ｐ２′を自動生成して、ＣＰＵ６２に供給する。ＣＰＵ６２は、受けた内部クロックＰ１′、Ｐ２′に基づいて動作する。
【０１８４】
ＣＵＩ６１は、上裾ベリファイの実行前に、サスペンドモードに移行し、ＯＳＣ６３に内部クロックの生成を停止させるとともに、ステータスレジスタ６４に外部クロックの供給の停止を指示する値「０」を書込む。
【０１８５】
外部のテスタは、データ入出力端子ＤＱから出力されるステータスレジスタ６４の値をポーリングしており、ステータスレジスタ６４の値が「０」となると、外部クロックＥＸＴＣＬＫの供給を停止する（ステップＳ３０８）。
【０１８６】
ＣＵＩ６１は、上裾ベリファイの実行前にサスペンドモードに移行した後、所定時間経過後に、ステータスレジスタ６４に外部クロックの供給を指示する値「１」を書込む。
【０１８７】
外部のテスタは、データ入出力端子ＤＱから出力されるステータスレジスタ６４の値をポーリングしており、ステータスレジスタ６４の値が「１」となると、外部クロックＥＸＴＣＬＫの供給を開始する。
【０１８８】
ＯＳＣ６３は、クロック端子より外部クロックＥＸＴＣＬＫを受けると、その外部クロックＥＸＴＣＬＫに基づいて内部クロックＰ１、Ｐ２を生成して、ＣＰＵ６２に供給する。ＣＰＵ６２は、受けた内部クロックＰ１、Ｐ２に基づいて、センスアンプ５５を活性化させるセンスアンプ活性化信号ＳＡＥ、および図示しないプリチャージ回路を活性化させるプリチャージ信号ＰＣなどの制御信号を生成する。
【０１８９】
ＣＰＵ６２は、上裾ベリファイを内部の各回路に実行させる。上裾ベリファイでは、センスアンプ５５によるビット線のセンス動作、および図示しないプリチャージ回路によるメモリアレイ５０のビット線のプリチャージ動作などが、外部クロックＥＸＴＣＬＫから生成された内部クロックＰ１、Ｐ２のタイミングで行なわれる。ベリファイ回路５７は、上裾ベリファイが終了すると、ＣＵＩ６１に通知する（ステップＳ３０９）。
【０１９０】
ＣＵＩ６１は、上裾ベリファイの終了の通知を受けると、サスペンドモードに移行し、ＯＳＣ６３に内部クロックの生成を停止させるとともに、ステータスレジスタ６４に外部クロックの供給の停止を指示する値「０」を書込む。
【０１９１】
外部のテスタは、データ入出力端子ＤＱから出力されるステータスレジスタ６４の値をポーリングしており、ステータスレジスタ６４の値が「０」となると、外部クロックＥＸＴＣＬＫの供給を停止する（ステップＳ３１０）。
【０１９２】
以上のように、本実施の形態に係る半導体記憶装置によれば、ベリファイは、長い周期の外部クロックに基づいて生成された内部クロックのタイミングで行なうので、センスアンプ時間およびプリチャージ時間が長くなり、正確なベリファイができるとともに、書込みパルスの印加は、短い固定の周期の内部クロックのタイミングで行なうので、メモリセルへのデータの書込みが高速となる。
【０１９３】
なお、ページバッファ５９とベリファイ回路５７とを接続するビット線ＰＬと接続されるセンスアンプとプリチャージ回路がある場合には、ベリファイ時に、長い周期の外部クロックに基づいて生成された内部クロックのタイミングで、そのセンスアンプによるそのビット線ＰＬのセンス動作、およびそのプリチャージ回路によるビット線ＰＬのプリチャージ動作も行なうものとしてもよい。
【０１９４】
［第３の実施形態］
本実施の形態は、アドレス縮退モードでテストを行なう半導体記憶装置に関する。
【０１９５】
（構成）
図１０は、本実施の形態に係る半導体記憶装置の構成を示すブロック図である。同図を参照して、この半導体記憶装置は、メモリアレイ９９と、Ｘデコーダ５２と、Ｙデコーダ５３と、Ｙゲート５４と、センスアンプ５５と、ライトドライバ５６と、入出力バッファ８１と、ＣＵＩ８２と、アドレスラッチ制御回路８３と、アドレスラッチ回路８４と、バーストカウンタ８５と、テストモード制御回路８６と、クロックバッファ８７と、アドレスバッファ８８と、アドレス取込み制御回路８９と、コンフィグレーションレジスタ９０とを備える。
【０１９６】
メモリアレイ９９は、行列状に配置された複数個のメモリセルを含む。
【０１９７】
アドレスバッファ８８は、外部アドレスＡＡ＜２３：０＞をラッチして、ラッチしたアドレスＩＡ＜２３：０＞をアドレスラッチ回路８４に出力する。
【０１９８】
Ｘデコーダ５２は、アドレスラッチ回路８４から出力される内部アドレスＡＥ＜２３：０＞に基づき、メモリアレイ９９の行を選択する。
【０１９９】
Ｙデコーダ５３は、アドレスラッチ回路８４から出力される内部アドレスＡＥ＜２３：０＞に基づき、メモリアレイ９９の列を選択するための列選択信号を生成する。
【０２００】
Ｙゲート５４は、Ｙデコーダ５３からの列選択信号にしたがって選択されるメモリアレイ９９の列をセンスアンプ５５と接続される内部データ線に接続する。
【０２０１】
クロックバッファ８７は、クロック端子から外部クロックＣＬＫを受け、外部クロックＣＬＫから内部クロックＩＣＬＫを生成して、バーストカウンタ８５に送るとともに、同期読出し時には、外部クロックＣＬＫから内部クロックＣＬＫＱを生成して、入出力バッファ８１に送る。
【０２０２】
入出力バッファ８１は、ライトイネーブル信号ＷＥが「Ｌ」になると、外部のテスタからデータ入出力端子ＤＱを通じて送られるアドレス信号ＴＡ＜７：０＞を取込み、テストモード制御回路８６に送る。
【０２０３】
また、入出力バッファ８１は、非同期読出し時には、出力イネーブル信号ＯＥが「Ｌ」となると、メモリセルの読出しデータをデータ入出力端子ＤＱから外部のテスタに出力する。一方、入出力バッファ８１は、同期読出し時には、内部クロックＣＬＫＱに同期して、読出しデータをデータ入出力端子ＤＱから外部のテスタに出力する。
【０２０４】
また、入出力バッファ８１は、外部のテスタからデータ入出力端子ＤＱを通じてメモリセルへの書込みデータを受けて、ライトドライバ５６に送る。
【０２０５】
テストモード制御回路８６は、入出力バッファ８１からアドレス信号ＴＡ＜７：０＞を受けて、それをテストモードアドレス信号ＴＭＳ＿ＡＤ＜７：０＞とし、アドレスラッチ回路８４に送る。
【０２０６】
ＣＵＩ８２は、ライトイネーブル信号ＷＥが「Ｈ」になると、アドレス初期化コマンド（８′ｈ８Ａ）を取込み、アドレスラッチ制御信号ＴＭＳ＿ＡＬＯＡＤを「Ｈ」にする。また、ＣＵＩ８２は、ライトイネーブル信号ＷＥに応じて、テストモードラッチ信号ＴＭＳ＿ＬＡＴ１、ＴＭＳ＿ＬＡＴ２、およびＴＭＳ＿ＬＡＴ３のレベルを制御する。
【０２０７】
アドレス取込み制御回路８９は、アドレス縮退テストモード信号ＴＭＳ＿ＡＤＥＧが「Ｌ」のときに、アドレス取込み信号ＡＤＶが「Ｈ」のときに、外部アドレス入力イネーブル信号ＩＡＤＬＡＴを「Ｈ」にする。アドレス取込み制御回路８９は、アドレス縮退テストモード信号ＴＭＳ＿ＡＤＥＧが「Ｈ」のときには、外部アドレス入力イネーブル信号ＩＡＤＬＡＴを「Ｌ」に固定する。
【０２０８】
アドレスラッチ回路８４は、テストモードラッチ信号ＴＭＳ＿ＬＡＴ１が「Ｈ」になると、テストモードアドレス信号ＴＭＳ＿ＡＤ＜７：０＞を２４ビット分のラッチ回路のうちの０〜７ビット目にラッチする。アドレスラッチ回路８４は、テストモードラッチ信号ＴＭＳ＿ＬＡＴ２が「Ｈ」になると、テストモードアドレス信号ＴＭＳ＿ＡＤ＜７：０＞を２４ビット分のラッチ回路のうちの８〜１５ビット目にラッチする。アドレスラッチ回路８４は、テストモードラッチ信号ＴＭＳ＿ＬＡＴ３が「Ｈ」になると、テストモードアドレス信号ＴＭＳ＿ＡＤ＜７：０＞を２４ビット分のラッチ回路のうちの１６〜２３ビット目にラッチする。アドレスラッチ回路８４は、外部アドレス入力イネーブル信号ＩＡＤＬＡＴが「Ｈ」となると、アドレスバッファ８８が外部アドレスＡＡ＜２３：０＞をラッチしたアドレスＩＡ＜２３：０＞をラッチする。アドレスラッチ回路８４は、バースト用アドレス入力イネーブル信号ＩＳＡＤＬＡＴが「Ｈ」になると、バーストカウンタ８５から送られるバーストモードアドレスＮＳＡＹ＜２３：０＞をラッチする。
【０２０９】
バーストカウンタ８５は、アドレスラッチ回路８４から内部アドレスＡＥ＜２３：０＞を受けて、それをカウンタ値に設定する。バーストカウンタ８５は、内部クロックＩＣＬＫに同期して、カウンタ値をインクリメントする。バーストカウンタ８５は、カウンタ値をバーストモードアドレスＮＳＡＹ＜２３：０＞としてアドレスラッチ回路８４に送る。
【０２１０】
コンフィグレーションレジスタ９０は、同期読出し時に、外部のテスタからデータ入出力端子ＤＱを介して入出力バッファ８１にアドレスとして入力されたバースト読出しのための各種の設定情報を記憶する。
【０２１１】
センスアンプ５５は、選択したメモリセルの読出しデータを増幅して入出力バッファ８１に送る。
【０２１２】
ライトドライバ５６は、入出力バッファ８１から受けた書込みデータをメモリアレイ９９の選択されたメモリセルに書込む。
【０２１３】
（非同期読出し時の動作）
次に、出力イネーブル信号ＯＥに応じてデータが外部に出力される非同期読出しの動作を説明する。図１１は、本実施の形態に係る半導体記憶装置の非同期読出し時のタイミングチャートを示す。同図を参照して、まず、内部アドレス初期化モードが実行され、次に、内部アドレスインクリメントモードが実行される。
【０２１４】
まず、外部のテスタから、テストモード端子を通じてアドレス縮退テストモード信号ＴＭＳ＿ＡＤＥＧ（＝「Ｈ」）が入力される。アドレス取込み制御回路８９は、アドレス縮退テストモード信号ＴＭＳ＿ＡＤＥＧが「Ｈ」となると、外部アドレス入力イネーブル信号ＩＡＤＬＡＴを「Ｌ」に固定する。アドレスラッチ回路８４は、外部アドレス入力イネーブル信号ＩＡＤＬＡＴが「Ｌ」となると、アドレスバッファ８８から出力される外部アドレスＡＡ＜２３：０＞をラッチしたアドレスＩＡ＜２３：０＞をラッチしないようになる。
【０２１５】
＜内部アドレス初期化モード＞
外部のテスタからライトイネーブル端子を通じてライトイネーブル信号ＷＥ（＝「Ｌ」）が入力される。入出力バッファ８１は、ライトイネーブル信号ＷＥが「Ｌ」になると、外部のテスタからデータ入出力端子ＤＱを通じて入力されるアドレス初期化コマンド（８′ｈ８Ａ）を取込む。
【０２１６】
次に、外部のテスタからライトイネーブル端子を通じてライトイネーブル信号ＷＥ（＝「Ｈ」）が入力される。
【０２１７】
ＣＵＩ８２は、ライトイネーブル信号ＷＥが「Ｈ」になると、アドレス初期化コマンド（８′ｈ８Ａ）を取込み、アドレスラッチ制御信号ＴＭＳ＿ＡＬＯＡＤを「Ｈ」にする。
【０２１８】
アドレスラッチ制御回路８３は、アドレスラッチ制御信号ＴＭＳ＿ＡＬＯＡＤが「Ｈ」になると、バースト用アドレス入力イネーブル信号ＩＳＡＤＬＡＴを「Ｌ」にネゲートする。アドレスラッチ回路８４は、バースト用アドレス入力イネーブル信号ＩＳＡＤＬＡＴが「Ｌ」になると、バーストカウンタ８５から送られるバーストモードアドレスＮＳＡＹ＜２３：０＞をラッチしない。
【０２１９】
次に、外部のテスタからアドレスが３回に分けて、データ入出力端子ＤＱを通じて入出力バッファ８１に入力される。
【０２２０】
まず、１回目のアドレス入力が行なわれる。外部のテスタからライトイネーブル端子を通じてライトイネーブル信号ＷＥ（＝「Ｌ」）が入力される。
【０２２１】
入出力バッファ８１は、ライトイネーブル信号ＷＥが「Ｌ」になると、外部のテスタからデータ入出力端子ＤＱを通じて送られるアドレス信号ＴＡ＜７：０＞を取込み、テストモード制御回路８６に送る。テストモード制御回路８６は、アドレス信号ＴＡ＜７：０＞を受けて、それをテストモードアドレス信号ＴＭＳ＿ＡＤ＜７：０＞とし、アドレスラッチ回路８４に送る。
【０２２２】
また、上記動作と並行して、ＣＵＩ８２は、ライトイネーブル信号ＷＥが「Ｌ」になると、テストモードラッチ信号ＴＭＳ＿ＬＡＴ１を「Ｈ」にする。アドレスラッチ回路８４は、テストモードラッチ信号ＴＭＳ＿ＬＡＴ１が「Ｈ」になると、テストモードアドレス信号ＴＭＳ＿ＡＤ＜７：０＞を２４ビット分のラッチ回路のうちの０〜７ビット目にラッチする。
【０２２３】
外部のテスタからライトイネーブル端子を通じてライトイネーブル信号ＷＥ（＝「Ｈ」）が入力される。
【０２２４】
ＣＵＩ８２は、ライトイネーブル信号ＷＥが「Ｈ」になると、テストモードラッチ信号ＴＭＳ＿ＬＡＴ１を「Ｌ」にする。これで１回目のアドレス入力が完了する。
【０２２５】
次に、２回目のアドレス入力が行なわれる。外部のテスタからライトイネーブル端子を通じてライトイネーブル信号ＷＥ（＝「Ｌ」）が入力される。
【０２２６】
入出力バッファ８１は、ライトイネーブル信号ＷＥが「Ｌ」になると、外部のテスタからデータ入出力端子ＤＱを通じて送られるアドレス信号ＴＡ＜７：０＞を取込み、テストモード制御回路８６に送る。テストモード制御回路８６は、アドレス信号ＴＡ＜７：０＞を受けて、それをテストモードアドレス信号ＴＭＳ＿ＡＤ＜７：０＞とし、アドレスラッチ回路８４に送る。
【０２２７】
また、上記動作と並行して、ＣＵＩ８２は、ライトイネーブル信号ＷＥが「Ｌ」になると、テストモードラッチ信号ＴＭＳ＿ＬＡＴ２を「Ｈ」にする。アドレスラッチ回路８４は、テストモードラッチ信号ＴＭＳ＿ＬＡＴ２が「Ｈ」になると、テストモードアドレス信号ＴＭＳ＿ＡＤ＜７：０＞を２４ビット分のラッチ回路のうちの８〜１５ビット目にラッチする。
【０２２８】
外部のテスタからライトイネーブル端子を通じてライトイネーブル信号ＷＥ（＝「Ｈ」）が入力される。
【０２２９】
ＣＵＩ８２は、ライトイネーブル信号ＷＥが「Ｈ」になると、テストモードラッチ信号ＴＭＳ＿ＬＡＴ２を「Ｌ」にする。これで２回目のアドレス入力が完了する。
【０２３０】
次に、３回目のアドレス入力が行なわれる。外部のテスタからライトイネーブル端子を通じてライトイネーブル信号ＷＥ（＝「Ｌ」）が入力される。
【０２３１】
入出力バッファ８１は、ライトイネーブル信号ＷＥが「Ｌ」になると、外部のテスタからデータ入出力端子ＤＱを通じて送られるアドレス信号ＴＡ＜７：０＞を取込み、テストモード制御回路８６に送る。テストモード制御回路８６は、アドレス信号ＴＡ＜７：０＞を受けて、それをテストモードアドレス信号ＴＭＳ＿ＡＤ＜７：０＞とし、アドレスラッチ回路８４に送る。
【０２３２】
また、上記動作と並行して、ＣＵＩ８２は、ライトイネーブル信号ＷＥが「Ｌ」になると、テストモードラッチ信号ＴＭＳ＿ＬＡＴ３を「Ｈ」にする。アドレスラッチ回路８４は、テストモードラッチ信号ＴＭＳ＿ＬＡＴ３が「Ｈ」になると、テストモードアドレス信号ＴＭＳ＿ＡＤ＜７：０＞を２４ビット分のラッチ回路のうちの１６〜２３ビット目にラッチする。
【０２３３】
外部のテスタからライトイネーブル端子を通じてライトイネーブル信号ＷＥ（＝「Ｈ」）が入力される。
【０２３４】
ＣＵＩ８２は、ライトイネーブル信号ＷＥが「Ｈ」になると、テストモードラッチ信号ＴＭＳ＿ＬＡＴ３を「Ｌ」にする。これで３回目のアドレス入力が完了する。
【０２３５】
以上により、外部から３回に分けて入力された総計２４ビットのアドレスが、内部アドレスＡＥ＜２３：０＞としてアドレスラッチ回路８４にラッチされる。この内部アドレスＡＥ＜２３：０＞がｎとすると、ｎに基づいて、Ｘデコーダ５２およびＹデコーダ５３は、メモリアレイ９９のメモリセルを選択する。選択されたメモリセルの読出しデータＮがＹゲート５４を介してセンスアンプ５５に送られる。センスアンプ５５は、選択したメモリセルの読出しデータＮを増幅して入出力バッファ８１に送る。入出力バッファ８１は、出力イネーブル信号ＯＥが「Ｌ」となると、メモリセルの読出しデータをデータ入出力端子ＤＱから外部のテスタに出力する。
【０２３６】
＜内部アドレスインクリメントモード＞
上述の３回目のアドレス入力が完了すると、ＣＵＩ８２は、アドレスラッチ制御信号ＴＭＳ＿ＡＬＯＡＤを「Ｌ」にする。アドレスラッチ制御回路８３は、アドレスラッチ制御信号ＴＭＳ＿ＡＬＯＡＤが「Ｌ」になると、バースト用アドレス入力イネーブル信号ＩＳＡＤＬＡＴを「Ｈ」にアサートする。アドレスラッチ回路８４は、バースト用アドレス入力イネーブル信号ＩＳＡＤＬＡＴが「Ｈ」になると、バーストカウンタ８５から送られるバーストモードアドレスＮＳＡＹ＜２３：０＞をラッチできるようになる。
【０２３７】
外部のテスタからクロック端子を通じて外部クロックＣＬＫがクロックバッファ８７に入力される。クロックバッファ８７は、外部クロックＣＬＫから内部クロックＩＣＬＫを生成して、バーストカウンタ８５に送る。
【０２３８】
バーストカウンタ８５は、アドレスラッチ回路８４から内部アドレスＡＥ＜２３：０＞を受けて、それをカウンタ値に設定する。バーストカウンタ８５は、内部クロックＩＣＬＫに同期して、カウンタ値をインクリメントする。
【０２３９】
バーストカウンタ８５は、カウンタ値をバーストモードアドレスＮＳＡＹ＜２３：０＞としてアドレスラッチ回路８４に送る。アドレスラッチ回路８４は、バースト用アドレス入力イネーブル信号ＩＳＡＤＬＡＴが「Ｈ」により、バーストカウンタ８５から送られたバーストモードアドレスＮＳＡＹ＜２３：０＞を２４ビット分のラッチ回路に内部アドレスＡＥ＜２３：０＞としてラッチする。この内部アドレスＡＥ＜２３：０＞が（ｎ＋ｋ）（ｋは、バーストカウンタ８５のインクリメント回数）とすると、（ｎ＋ｋ）に基づいて、Ｘデコーダ５２およびＹデコーダ５３は、メモリアレイ９９のメモリセルを選択して、選択したメモリセルの読出しデータ（Ｎ＋ｋ）がＹゲート５４を介してセンスアンプ５５に送られる。センスアンプ５５は、選択したメモリセルの読出しデータ（Ｎ＋ｋ）を増幅して入出力バッファ８１に送る。入出力バッファ８１は、出力イネーブル信号ＯＥが「Ｌ」となると、メモリセルの読出しデータをデータ入出力端子ＤＱから外部のテスタに出力する。
【０２４０】
（同期読出し時の動作）
次に、クロックに応じてデータが外部に出力される同期読出しの動作を説明する。図１２は、本実施の形態に係る半導体記憶装置の同期読出し時のタイミングチャートを示す。同図を参照して、まず、コンフィグレーションモードが実行され、その後内部アドレス初期化モードが実行され、その後内部アドレスインクリメントモードが実行される。
【０２４１】
＜コンフィグレーションモード＞
非同期読出しの内部アドレス初期化モードと同様にして、外部のテスタが３回に分けてアドレスが入力される。
【０２４２】
ただし、コンフィグレーションモードでは、外部のテスタから３回に分けて入力されたアドレスは、アドレスラッチ回路８４ではなく、コンフィグレーションレジスタ９０に保存される。また、ここで、入力されるアドレスは、メモリアレイ９９のアドレスではなく、バースト読出しのための各種の設定情報である。
【０２４３】
＜内部アドレス初期化モード＞
非同期読出しの内部アドレス初期化モードと同様にして、外部のテスタからアドレスが３回に分けて入力され、それらのアドレスがアドレスラッチ回路８４にラッチされる。
【０２４４】
＜内部アドレスインクリメントモード＞
非同期読出しの内部アドレスインクリメントモードと同様にして、バーストカウンタ８５によって、内部アドレスＡＥ＜２３：０＞をインクリメントする。
【０２４５】
ただし、同期読出し時には、入出力バッファ８１は、クロックバッファ８７で生成された内部クロックＣＬＫＱに同期して、読出しデータ（Ｎ＋Ｋ）をデータ入出力端子ＤＱから外部のテスタに出力する。
【０２４６】
以上のように、本実施の形態に係る半導体記憶装置によれば、テスト時に、データ入出力端子ＤＱからアドレスを取込み、バーストカウンタで、取込んだアドレスをインクリメントするので、アドレス端子をテスタに接続する必要がなく、テスト時にチップが備える端子のうち、テスタと接続する端子の数を少なくすることができる。
【０２４７】
なお、本実施の形態では、バーストカウンタ８５は、取込んだアドレスをクロックに同期してインクリメントしてアドレスラッチ回路８４に出力したが、これに限定するものではない。たとえば、バーストカウント８５は、取込んだアドレスを反転させたコンプリメントパターンを生成するなどのように、取込んだアドレスを修正して、アドレスラッチ回路８４に出力するものであってもよい。
【０２４８】
［第４の実施形態］
本実施の形態は、データバスのショートの有無を検出するテスト機能を備えた不揮発性半導体記憶装置に関する。
【０２４９】
（構成）
図１３は、本実施の形態に係る半導体記憶装置の構成を示すブロック図である。同図を参照して、この半導体記憶装置は、メモリアレイ５０と、アドレスバッファ５１と、Ｘデコーダ５２と、Ｙデコーダ５３と、Ｙゲート５４と、センスアンプ５５と、ライトドライバ５６と、ベリファイ回路５７と、制御回路５８と、ページバッファ５９と、Ｉ／Ｏバッファ６０とを備える。
【０２５０】
メモリアレイ５０は、行列状に配置された複数個のフラッシュメモリ用のメモリセルを含む。
【０２５１】
アドレスバッファ５１は、アドレス端子から入力される外部アドレスをラッチして、内部アドレスを生成してＸデコーダ５２およびＹデコーダ５３に出力する。また、アドレスバッファ５１は、テスト時に、アドレス端子から入力されるテスト用のコマンドを受けて、制御回路５８に送る。
【０２５２】
Ｘデコーダ５２は、内部アドレスに基づき、メモリアレイ５０の行を選択する。
【０２５３】
Ｙデコーダ５３は、内部アドレスに基づき、メモリアレイ５０の列を選択するための列選択信号を生成する。
【０２５４】
Ｙゲート５４は、Ｙデコーダ５３からの列選択信号にしたがって選択されるメモリアレイ５０の列をセンスアンプ５５と接続される内部データ線に接続する。
【０２５５】
センスアンプ５５は、ＫＤテスト信号ＴＥＳＴ＿ＫＤを受けると、その出力とデータバスＫＤとを切り離し、出力をハイインピーダンス（電気的にフローティング状態）Ｈｉ−Ｚにする。
【０２５６】
ライトドライバ５６は、ＫＤテスト信号ＴＥＳＴ＿ＫＤを受けると、その出力とＹゲート５４へのバスとを切り離し、その出力をＨｉ−Ｚにする。
【０２５７】
Ｉ／Ｏバッファ６０は、テスト時には、外部からデータ入出力端子ＤＱを通じて入力されるテスト用のストライプパターンを受けて、ページバッファ５９に出力する。また、Ｉ／Ｏバッファ６０は、制御回路５８からベリファイ結果を示す信号を受けて、データ入出力端子ＤＱを通じて外部に出力する。
【０２５８】
ベリファイ回路５７は、ページバッファ内のデータとデータバスＫＤのデータとが一致するか否かを判定する。ベリファイ回路５７は、一致すると判定したときにはベリファイのＰＡＳＳ（成功）のベリファイ結果を示す信号を制御回路５８に送り、不一致と判定したときにはベリファイのＦＡＩＬのベリファイ結果を示す信号を制御回路５８に送る。
【０２５９】
ベリファイ回路５７とセンスアンプとの間、およびベリファイ回路とライトドライバ５６との間は、書込みとベリファイの共通のデータバスであるデータバスＫＤで接続される。
【０２６０】
ページバッファ５９は、テスト時には、データ入出力端子ＤＱおよびＩ／Ｏバッファ６０を介して入力されるテスト用のストライプパターンを格納する。
【０２６１】
ラッチ回路７０は、インバータＩＶ１，ＩＶ２からなる双安定回路である。ラッチ回路７０は、いわゆるウイークラッチであって、入力されるデータが変化しても保持している値を保持し続けるのではなく、入力されるデータが変化すると保持する値を変更する。
【０２６２】
制御回路５８は、半導体記憶装置の全体を制御する。制御回路５８は、テスト時に、ＫＤショートチェックコマンドを受けると、ＫＤテスト信号ＴＥＳＴ＿ＫＤをセンスアンプ５５およびライトドライバ５６に送る。制御回路５８は、テスト時に、ベリファイ回路５７にページバッファ５９に保持されている３２ビットのストライプパターンをデータバスＫＤに出力させる。制御回路５８は、テスト時に、ベリファイ回路５７に、ページバッファ５９に保持されているストライプパターンと、データバスＫＤ上のデータとが一致するかどうかを判定させる。制御回路５８は、ベリファイ回路５７からベリファイ結果を示す信号を受けると、Ｉ／Ｏバッファ６０およびデータ入出力端子ＤＱを通じてベリファイ結果を出力する。
【０２６３】
（ショートチェックテスト手順）
次に、本実施の形態に係る半導体記憶装置のＫＤのショートチェックテストの手順を説明する。
【０２６４】
まず、外部のテスタからアドレス端子を通じて、アドレスバッファ５１にＳｉｎｇｌｅ  Ｄａｔａ  Ｌｏａｄテストコマンド（８′ｈ７４）が入力され、制御回路５８に送られる。
【０２６５】
次に、外部のテスタからデータ入出力端子ＤＱを通じて、Ｉ／Ｏバッファ６０に３２ビットのスライプパターン（８′ｈＡＡＡＡＡＡＡＡ、または８′ｈ５５５５５５５５）が入力されると、制御回路５８は、それをページバッファ５９に保持させる。
【０２６６】
次に、外部のテスタからアドレス端子を通じて、アドレスバッファ５２にＫＤショートチェックコマンド（８′ｈＣ２）が入力され、制御回路５８に送られる。
【０２６７】
制御回路５８は、ＫＤショートチェックコマンドを受けると、ＫＤテスト信号ＴＥＳＴ＿ＫＤをセンスアンプ５５およびライトドライバ５６に送る。
【０２６８】
センスアンプ５５およびライトドライバ５６は、ＫＤテスト信号ＴＥＳＴ＿ＫＤを受けると、その出力をＨｉ−Ｚにする。これにより、データバスＫＤ上のデータは、ラッチ回路７０のみでフォースされた状態となる。
【０２６９】
制御回路５８は、シーケンスモディファイレジスタテストモード機能により、プログラムシーケンスの一部の機能を実行させ、ベリファイ回路５７にページバッファ５９に保持されている３２ビットのストライプパターンをデータバスＫＤに出力させる。
【０２７０】
ラッチ回路７０は、データバスＫＤに出力されたストライプパターンをラッチする。データバスＫＤがショートしている場合には、電流がリークするため、データバスＫＤ上のデータおよびラッチ回路７０の保持する値が変化する。
【０２７１】
制御回路５８は、所定時間経過後、ベリファイ回路５７に、ページバッファ５９に保持されているストライプパターンと、データバスＫＤ上のデータとが一致するかどうかを判定させる。ベリファイ回路５７は、一致すると判定したときはベリファイのＰＡＳＳ（成功）のベリファイ結果を示す信号を制御回路５８に送り、不一致と判定したときにはベリファイのＦＡＩＬのベリファイ結果を示す信号を制御回路５８に送る。制御回路５８は、Ｉ／Ｏバッファ６０およびデータ入出力端子ＤＱを通じてベリファイ結果を示す信号を出力する。
【０２７２】
以上のように、本実施の形態に係る半導体記憶装置によれば、ラッチ回路７０を備えることにより、ベリファイ回路がページバッファ内の書込みデータをライトドライバに転送するデータバスと、センスアンプがメモリセルから読出した読出しデータをベリファイ回路に転送するデータバスとを同一にした場合に、そのデータバスのショートの有無の検出のテストができる。
【０２７３】
本発明は、上記の実施形態に限定するものではなく、たとえば、以下のような変形例も含む。
【０２７４】
（１）  共通バス９０
第１の実施形態では、スワップ回路１８とベリファイ回路１７との間が１本の共通バス９０で接続され、この共通バス９０によりベリファイ回路１７からスワップ回路１８へ書込みデータが送られるとともに、スワップ回路１８からベリファイ回路１７へ読出しデータが送られたが、これに限定するものではない。スワップ回路１８とベリファイ回路１７との間が２本の共通バス９０ａ，９０ｂで接続され、共通バス９０ａによりベリファイ回路１７からスワップ回路１８へ書込みデータが送られ、共通バス９０ｂによりスワップ回路１８からベリファイ回路１７へ読出しデータが送られるものとしてもよい。
【０２７５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０２７６】
【図１】第１の実施形態に係る半導体記憶装置の構成を示すブロック図である。
【図２】ページバッファ１７に記憶される書込みデータの例を示す図である。
【図３】スワップ回路１８が備えるスペアドレス保持回路を示す図である。
【図４】制御信号生成回路２３の詳細な構成を示す図である。
【図５】制御信号の論理値の組合せ、およびその組合せで実行される機能を示す図である。
【図６】第１の実施形態に係る半導体記憶装置のマルチプログラムテストの書込みシーケンスのフローチャートである。
【図７】第２の実施形態に係る半導体記憶装置の構成を示すブロック図である。
【図８】（ａ）は、内部で自動的に生成された固定の周期の内部クロックに基づくベリファイのタイミングチャートを示す図であり、（ｂ）は、外部クロックＥＸＴＣＬＫに基づいて生成された内部クロックに基づくベリファイのタイミングチャートを示す図である。
【図９】第２の実施形態に係る半導体記憶装置のＲｅｆＣｅｌｌプログラム時の書込みシーケンスの手順を示すフローチャートである。
【図１０】第３の実施形態に係る半導体記憶装置の構成を示すブロック図である。
【図１１】第３の実施形態に係る半導体記憶装置の非同期読出し時のタイミングチャートを示す図である。
【図１２】第３の実施形態に係る半導体記憶装置の同期読出し時のタイミングチャートを示す図である。
【図１３】第４の実施形態に係る半導体記憶装置の構成を示すブロック図である。
【符号の説明】
【０２７７】
１０ａ，１０ｂ，５０，９９  メモリアレイ、１４，５１，８８  アドレスバッファ、２０ａ，２０ｂ，５２  Ｘデコーダ、２１ａ，２１ｂ，５３  Ｙデコーダ、１１ａ，１１ｂ，５４  Ｙゲート、１２ａ，１２ｂ，５５  センスアンプ、１３ａ，１３ｂ，５６  ライトドライバ、１６，５７  ベリファイ回路、１７，５９  ページバッファ、１５，６０  Ｉ／Ｏバッファ、１８  スワップ回路、１９，６２  ＣＰＵ、２２  アドレス変換回路、２３  制御信号生成回路、２４  テストモード制御回路、３１  動作バンク制御回路、３２  ＷＥＳＴ用ＯＢＰデコーダ、３３  ＥＡＳＴ用ＯＢＰデコーダ、３４  ＥＡＳＴ用ＢＬＫスペア判定回路、３５  ＥＸＮＯＲ回路、３６  ＷＥＳＴ用ＢＬＫスペア判定回路、３８  切替制御回路、５８  制御回路、６１，８２  ＣＵＩ、６３  ＯＳＣ、６４  ステータスレジスタ、７０  ラッチ回路、８１  入出力バッファ、８３  アドレスラッチ制御回路、８４  アドレスラッチ回路、８５  バーストカウンタ、８６  テストモード制御回路、８７  クロックバッファ、８９  アドレス取り込み制御回路、９０  コンフィグレーションレジスタ、Ｌ１  フリップフロップ、ＮＯＲ１  排他的論理和回路、ＯＲ１  論理和回路、ＩＶ１，ＩＶ２，ＩＶ３  インバータ。
【図１】
2005285248.tif 000003
【図２】
2005285248.tif 000004
【図３】
2005285248.tif 000005
【図４】
2005285248.tif 000006
【図５】
2005285248.tif 000007
【図６】
2005285248.tif 000008
【図７】
2005285248.tif 000009
【図８】
2005285248.tif 000010
【図９】
2005285248.tif 000011
【図１０】
2005285248.tif 000012
【図１１】
2005285248.tif 000013
【図１２】
2005285248.tif 000014
【図１３】
2005285248.tif 000015