従来、データストレージ手段としてハードディスクが一般的に用いられてきた。しかし、近年のフラッシュメモリの大容量化により、データストレージ手段としてフラッシュメモリ等の不揮発性半導体メモリが使用されるようになってきている。
上記フラッシュメモリとしては、NAND型フラッシュEEPROM(Electrically Erasable and Programmable Read Only Memory)やAND型フラッシュEEPROMが一般的に知られている。データストレージ手段としてフラッシュメモリを使用する場合、如何にビットコストを低く抑えて、大容量メモリを実現するかが重要となるため、ハードディスクのように規定数以下の不良ブロックがある場合でも製品として出荷される形態がとられる。このため、メモリを使用するホスト側には、不良ブロックを管理する技術が必要である。この不良ブロックを管理する技術の一つとして、出荷時に不良ブロックに何らかのデータを記憶させ、メモリを使用するホスト側が最初にこのデータを検出し、不良ブロックの使用を禁止するためのブロック管理テーブルを使用する、ブロック管理方式が広く用いられている。NAND型フラッシュEEPROMを例に取ると、不良モードの多くが“1”データが“0”に変化する不良であるため、不良ブロックに“0”データを書き込み、残り全ての良ブロックを“1”データにして出荷する形態がとられる。
上記フラッシュメモリのウェハーソート工程から出荷するまでのテストフローを図12を用いて説明する。図示するように、ウェハー上に半導体記憶素子を形成する前工程が終了した後に、まずウェハー状態で各チップが良品であるか不良品であるか判別するウェハーソート工程を行う。このウェハーソート工程ではDC項目のチェック(ステップS30)や、書き込み/消去をチェックする動作確認試験(Function Check)が行われる(ステップS32)。DC項目でのチェックの良、不良が判定されて(ステップS31)、不良と判断されたDC不良チップは破棄され(S32−1)、良品と判断されたチップは次に動作確認試験を行う(S32−2)。動作確認試験での良、不良の判定(ステップS33)で判明したチップ内の不良ブロックは、次のR/D置き換え工程(ステップS34)で冗長部のブロックに置き換えられる。R/D置き換え後に、再度動作確認試験(ステップS35)が行われ、規定不良ブロック数の以下のチップが良品と見なされ、次のアセンブリ工程でパッケージにアセンブリされる(ステップS36)。その後、高温、高電圧で不良モードを加速してスクリーニングするためのバーイン試験を行う(ステップS37)。バーイン後に再度DC項目のチェック(ステップS38)と動作確認試験(ステップS39)がメモリテスターを用いて実施され、不良ブロックのアドレス情報がメモリテスターのフェイルメモリ(Fail Memory)上に記憶される。この情報に基づき、メモリの不良ブロックに“0”データが書き込まれて(ステップS40)出荷される。
図13はこのバーイン後の動作確認試験の内容を詳細に示したテストフローである。動作確認試験の内容は、何種類かのパターンデータをメモリ内の全ブロックに書き込み、その書き込みデータを読み出してメモリテスターで期待値データと比較するものである。図13のフローに示すように、まず第1のパターンデータを書き込むパターンチェックシーケンス1を行う(ステップS50)。これは、まずメモリの全ブロックに第1のパターンデータを書き込み(ステップS51)、その書き込みデータを読み出し、正確に書き込みが行われているかどうかをチェックする(ステップS52)。次に、正確に書き込みが行われていなかったブロックを不良ブロックと認識し、そのブロックアドレスをメモリテスターのフェイルメモリ上に記憶する(ステップS53)。そして全ブロックを消去する(ステップS54)。
このパターンチェックシーケンスはN回行われ、N回目でなければ(ステップS55)次のパターン(ステップS56)でのパターンチェックシーケンスが行われる。
次のパターンチェックシーケンスi(iはN以下の自然数)も、上記の処理が行われる。まず全ブロックに第1から(i−1)のパターンデータと異なる第iのパターンデータを書き込み、書き込みデータを読み出してチェックし、不良ブロックアドレスをメモリテスターのフェイルメモリ上に追加記憶し、全ブロックを消去する。
このN種類のパターンデータについての書き込み/読み出しチェックを行うたびに、メモリテスターはフェイルメモリ上に不良ブロック情報を記憶する。各パターンデータでの不良ブロック情報は、それまで記憶されていたフェイルメモリ上の不良ブロック情報に足しあわされる。このようにしてN種類のパターンデータでの書き込み動作チェック終了後(i=N)のフェイルメモリ上には、N種類のパターンデータによるテストにおける、不良ブロックの累積不良ブロックアドレスの結果が記憶されている。全てのパターンデータでの書き込み動作確認試験が終了した後、最後に累積の不良ブロック情報に基づき不良ブロックに“0”データが書き込まれる(ステップS57)。
一般に、バーイン試験後の上記動作確認試験は、複数個のチップを同時に測定することでテスト時間を短縮している。
図14は、64個のNAND型フラッシュEEPROMのチップを同時に測定するテストシステムを示しており、各々のチップはチップセレクト信号CEにより選択され動作確認試験が行われる。NAND型フラッシュEEPROMでは、I/Oバスからコマンドデータやアドレスデータが各デバイスに共通に入力され、書き込み/消去/読み出しモードがセットされる。書き込み時には書き込みデータがI/Oバスを介してデータラッチに1ページ分(512バイト)入力され、アドレスレジスタに保持されているアドレスに対応するページのメモリセルに書き込みが行われる。以上までの書き込み動作は複数のチップが同時に行われる。次の読み出し動作は、I/Oバスからアドレスレジスタに入力されたアドレスに対応するページのメモリセルデータがS/Aと共通のデータラッチに読み出され、読み出しクロック信号REに同期して外部にシリアルに出力される。この場合、読み出し動作はチップごとに行われる。
図15は、上記64個のチップを同時に測定する際の各々のチップ1〜チップ64にそれぞれ供給されるチップセレクト信号CE1〜CE64のタイムチャートである。あるパターンデータを全チップに書き込む場合、まず全チップのチップセレクト信号CE1〜CE64を同時にイネーブル状態にする。そして、全チップに同じコマンドとアドレスデータを入力する。その後続けて64個の全チップ同時に1ページ分のパターンデータが入力される。更に、書き込み開始コマンドを全チップ同時に入力することにより、全チップ同時にオート書き込み動作が実行される。以上の書き込み動作には、1ページ当たり226μsecかかるとして、128MビットのNAND型フラッシュEEPROMの場合には、7.23secの時間がかかる。オート書き込み動作終了後、各チップで正しく書き込みが行われたどうかチェックするため読み出し動作が行われる。この読み出し動作はチップ1からチップ64まで連続して読み出し動作が行われるが、読み出し動作は各チップ毎に行う必要があるため、1ページあたりの読み出し時間は41.4μsecで済むにも関わらず、64個のチップ1〜チップ64の読み出しを行うと172.8secの時間がかかる。もしあるチップで読み出しデータエラーが発生した場合、メモリテスターのフェイルメモリ上に存在する各チップごとの不良ブロック記憶領域にこの不良ブロックアドレス情報が記憶される。その後、書き込まれたパターンを消去するため、64個のチップ1〜チップ64に共通に消去コマンドを入力して、全てのチップ1〜チップ64の消去動作を同時に行う。消去動作は、1ページ当たり1msecかかるため、全チップを消去するには2secかかる。
このように、書き込み/消去動作はチップ自身が持っているオート機能を利用できるため、複数個並列処理が可能だが、書き込みデータをチェックするときは各チップ個別のチェックの結果(Pass/Fail結果)をメモリテスターの不良ブロック記憶領域上に記憶するため、複数個を同時に測定することが出来ない。このため、テスト時間が長くなると言う問題があった。また、Pass/Fail結果をフェイルメモリに記憶しておく必要があるため、フェイルメモリを有する高価なメモリテスターを使用する必要があった。
以下、この発明の実施形態を図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
この発明の第1の実施形態に係る不揮発性半導体メモリについてNAND型フラッシュEEPROMを例に挙げて説明する。
図1は、128MビットのNAND型フラッシュEEPROMの要部を抽出して、概略構成を示すブロック図、図2は、図1におけるメモリセルアレイ周辺の拡大図、図3は、図2における各メモリセルブロックの回路図である。
図1に示すように、本実施形態に係るNAND型フラッシュEEPROMは、メモリセルアレイ10、インターフェース回路(I/F回路)11、データラッチ(S/A)12、アドレスレジスタ13、コマンドレジスタ14、カラムデコーダ15、ロウデコーダ16、シーケンス制御回路22、高電圧発生回路23、ステータスレジスタ24等を含んで構成されている。
上記メモリセルアレイ10は、図2に示すように、2048個のメモリセルブロックBLK0〜BLK2047に分割されており、更に1つのメモリセルブロックの記憶容量に相当するROMブロックROMBLKが設けられている。各メモリセルブロックBLK0〜BLK2047及びROMブロックROMBLK中には、図3に示すようなNANDセルがマトリクス配置されている。各NANDセルは、複数個(ここでは16個)のメモリセルMC、MC、…が隣接するもの同士でソース、ドレインを共有する形で直列接続されて形成されている。NANDセル列の一端側のドレインは、それぞれ選択トランジスタST1を介してビット線(データ線)BL0〜BL4095に接続される。NANDセル列の他端側のソースは、選択トランジスタST2を介してソース線SLに接続されている。メモリセルアレイ10の行方向に沿って延設されたセレクトゲート線SGD、SGSはそれぞれ、同一行の選択トランジスタST1、ST2のゲートに接続される。同じくメモリセルアレイ10の行方向に沿って延設されたワード線WL0〜WL15はそれぞれ、同一行のメモリセルMC、MC、…の制御ゲートCG0〜CG15に接続される。NAND型フラッシュEEPROMの場合、1本のワード線WLに接続された512バイトのメモリセルMC、MC、…により、1ページが構成され、16ページ分でメモリセルブロックBLK0〜BLK2047及びROMブロックROMBLKのうちの1ブロックを構成する。すなわち、1ブロックは8kバイトから構成されるため、128MビットNAND型フラッシュEEPROMの1チップは2048ブロックから構成される。なお、メモリセルアレイ10への書き込み及び読み出しは1ページ単位で行われ、消去はブロック単位で行われる。
上記インターフェース回路11には、各種のコマンド、アドレス信号、及び書き込みを行うセルデータなどが入力され、上記メモリセルアレイ10から読み出されてデータラッチ(S/A)12にラッチされたデータが出力されるようになっている。このインターフェース回路11に入力されたロウアドレス信号及びカラムアドレス信号は、アドレスレジスタ13に供給されてラッチされ、また、コマンドはコマンドレジスタ14に供給されてラッチされる。
上記アドレスレジスタ13にラッチされたカラムアドレス信号は、カラムデコーダ15に供給されてデコードされる。データラッチ(S/A)12には、書き込み時に上記インターフェース回路11に入力された書き込みを行うセルデータがラッチされると共に、読み出し時に上記メモリセルアレイ10中の選択されたメモリセルブロックBLK0〜BLK2047から各ビット線に読み出されたセルデータがラッチされる。
また、上記アドレスレジスタ13にラッチされたロウアドレス信号(ブロックアドレス信号、ページアドレス信号)は、ロウデコーダ16に供給されてデコードされる。ロウデコーダ16は、図2に示すように、上記メモリセルブロックBLK0〜BLK2047にそれぞれ対応するロウメインデコーダ回路17とロウサブデコーダ回路18とを有している。全ロウサブデコーダ回路18には、レベルシフタ回路19を介してページ0からページ15までの信号が供給される。このロウサブデコーダ回路18は選択されたブロック内の16本のワード線WL0〜WL15に所定の電圧を供給するための回路で、複数のトランスファーゲートトランジスタと昇圧回路から構成される。ロウメインデコーダ回路17は、プリデコーダ回路20によりブロックアドレス信号をプリデコードした信号を受けて、選択されたブロックの選択トランジスタを導通状態にする。ROMブロックROMBLKのロウサブデコーダ回路は、メモリセルブロックBLK0〜BLK2047のロウサブデコーダ回路18と同じ構成になっているが、ロウメインデコーダ回路はROMBLKセレクタ回路21に置き換えられている。このROMBLKセレクタ回路21にはROMブロックROMBLKをイネーブルにするMODE信号が入力される。このMODE信号は本実施形態に係るNAND型フラッシュEEPROMのチップをテストするときにイネーブルとなる信号で、所定のテストコマンドが入力された場合に“H”レベルとなるテスト信号である。このためROMブロックROMBLKは、通常の書き込み/消去におけるアドレス選択方法では選択されず、所定のテストコマンドを入力して初めてアクセスが可能となる。また、通常フラッシュメモリではテスト時間を短縮するため全ブロックを選択して書き込みや消去動作を行うテストモードを有しているが、このROMブロックROMBLKは、全ブロック選択動作を行う場合にも非選択状態となるように設計される。
上記コマンドレジスタ14に供給されたコマンドは、コマンドデコーダ回路(図示せず)によりデコードされてシーケンス制御回路22に供給される。シーケンス制御回路22には、外部からチップ・イネーブル信号CE、コマンド・ラッチ・イネーブル信号CLE、アドレス・ラッチ・イネーブル信号ALE、ライト・イネーブル信号WE、リード・イネーブル信号RE、及びライト・プロテクト信号WP等が供給され、これら信号に基づいて、メモリ中の各回路の読み出し動作、書き込み動作、消去動作、及びベリファイ動作などに応じて制御する。また、このシーケンス制御回路22の出力に基づき、高電圧発生回路23は、上記ロウデコーダ16及びメモリセルアレイ10に高電圧を供給する。
上記ステータスレジスタ24は、オート書き込みやオート消去動作後に動作が正常に終了したかどうかを示す情報(Pass/Failフラグ)を記憶する。そして、この情報は所定のコマンドデータを入力することにより外部に出力できるようになっている。しかし、このステータスレジスタ24には、直前に行われた書き込みや消去動作の結果が記憶されているだけで、次の動作の開始時にはこの情報はリセットされる。
上記構成のNAND型フラッシュEEPROMをテストする際のテストフローについて図4を参照して説明する。
図4はバーイン後テスト時の複数データパターン書き込みチェック動作のうちの1つのパターンにおける書き込みチェック動作の内容を示しており、特に1ページ目の書き込み動作に注目してフローを説明したものである。まず最初にユーザーが通常使用するコマンドコードを入力して、書き込みを行うアドレスと所定の512バイトの書き込みデータをチップ内部にデータロードする(ステップS10)。書き込みデータとして通常よく用いられるのがチェッカーボードパターンであり、このような規則正しいパターンは安価なパターンジェネレータ機能を持つ簡易テスターで発生することが可能である。次に所定のテストコマンドを入力してデータロード後に書き込み開始コマンドを入力することにより、そのページに対してオート書き込み動作を実行する(ステップS11)。このオート書き込み動作が正常に動作したかどうかを示す情報は、ステータスレジスタに記憶される(ステップS12)。もし書き込みが正常に終了せずFailフラグがステータスレジスタに記憶された場合、つまりビット不良やワード線の電圧に不良があった場合、当該ブロックアドレスデータがデータラッチに転送され(ステップS13)、ROMブロックROMBLKに、この不良ブロックアドレスを記憶する動作が行われる(ステップS14)。そして、次のページへのオート書き込みを開始する(ステップS15)。
図5には、ROMブロックROMBLKのメモリ空間のブロック図を示す。128Mビットのメモリチップの全ブロック数は前述の通り、2048ブロックである。そのため、ROMブロックROMBLK内の16ページのうち、4ページを使用して不良ブロックテーブルを構成することにより、全メモリブロックBLK0〜BLK2047の不良ブロックアドレスデータを記憶する。ROMブロックROMBLKの1ページは、メモリセルブロックBLK0〜BLK2047の1ページと同じく512バイトで構成されており、1ページ目の1バイト目から512バイト目までのそれぞれ1バイトは、メモリセルブロックBLK0からBLK511のそれぞれのブロックアドレスに割り当てられている。すなわち、0番地から511番地までのブロックアドレスは1番目のグループに割り付けられ、ROMブロックの1ページ目に記憶される。また、512番地から1023番地までは2番目のグループに割り付けられ、ROMブロックROMBLKの2ページ目に記憶される。同様に1024番地から1535番地までは3番地のグループに、1536番地から最後の2047番地までは4番目のグループに割り付けられる。3番地のグループは3ページ目に、4番地のグループは4ページ目に記憶される。この記憶動作が終了すると全ブロック同時消去動作が行われる。ROMブロックROMBLKを除く全ブロックデータが消去された後、次のパターンデータの書き込みパターンチェックが行われる。
ROMブロックROMBLKに不良アドレス情報を記憶する方法を図6を参照して詳細に説明する。図6はアドレスレジスタとその周辺の回路図である。
図示するように、アドレスレジスタ13を構成する9ビットのカラムアドレス用レジスタ30、4ビットのページアドレス用レジスタ31、及び11ビットのブロックアドレス用レジスタ32の3つのレジスタ回路は、バイナリカウンタとして動作するように構成されている。バイナリカウンタとして動作する時のカラムアドレス用レジスタ30のクロック入力には通常、外部からマルチプレクサ33を介して信号CLKが供給される。この信号CLKはシリアルリード時には外部から入力される信号REに同期し、書き込みのためのデータロード時には外部から入力される信号WEに同期して形成される。また、テストモード時にはマルチプレクサ33を介して信号TCLKがこのカラムアドレス用レジスタ30に供給される。このTCLK信号は、後述するようにブロックアドレス情報をデータラッチに転送するときに使用されるもので、内部制御回路において(図示せず)512個のクロック信号がテストモード時に自動生成される。ページアドレス用レジスタ31のクロック入力には、カラムアドレスエンド検出回路34の出力信号が供給される。これはNANDフラッシュメモリが1ページのシリアル読み出し動作後にページアドレスを自動的にインクリメントし、次のページのランダム読み出しを続けて実行するように設計されるためである。同じ理由から、ページアドレスエンド検出回路35の出力信号はブロックアドレス用レジスタ32のクロック入力に入力される。これらカラムアドレス用レジスタ30、ページアドレス用レジスタ31、及びブロックアドレス用レジスタ32のバイナリカウンタには、カウンタのリセット信号としてCLR信号が内部制御回路から供給され、アドレス入力時の最初に各レジスタはリセットされる。また、アドレスデータ入力モードでは、これらの3個のレジスタの内部データは、チップ外部からインターフェース回路11を介して供給されたデータに初期設定される。外部から入力されたアドレスデータは、インプットバッファ36を介して8ビット入力データラッチ回路37に一時的に保存され、その後内部バス制御回路38により内部バスにデータが供給される。通常アドレスデータは8ビットづつ何回かに分けて外部から入力され、1回目のカラムアドレス情報の8ビットデータと512バイトの上位/下位を示す1ビットのコマンドフラグデータの合計の9
ビットは、内部バス制御回路38により9ビットのカラムアドレス用カウンタ30に送られ、初期データとして記憶される。また2回目に入力された8ビットのうち4ビットは、ページアドレス用カウンタ31に送られ、残りの4ビットはブロックアドレス用カウンタ32に送られ、それぞれ記憶される。3回目以降の8ビット入力アドレスは全てブロックアドレス用カウンタ32に送られ初期データとして記憶される。11ビットのブロックアドレス用カウンタ32の出力はアドレス0から8までの下位9ビット分とアドレス9から10までの上位2ビット分のバスに分かれて出力される。下位9ビットと上位2ビットの合計11ビットの内部アドレスデータは、プリデコーダ回路20を介してロウデコーダ16に供給される。また下位9ビットのデータはROMブロックROMBLKに不良ブロックアドレス情報を記憶する動作の間、内部バスに出力され、内部バス制御回路により9ビットカウンタ39に初期データとして記憶される。ただしこのとき出力されたブロックアドレス用カウンタ回路32の出力9ビットの各データを反転して記憶している。このカウンタ回路39の9ビットデータはNOR論理回路40に入力され、更にこのNOR論理回路40の出力信号は、MODE信号とのAND論路回路41に入力される。
ROMブロックROMBLKに不良ブロックアドレス情報を記憶するテストモード時には、内部制御回路からTCLKが供給されカラムアドレスが0番地からカウントアップすると同時に、9ビットカウンタ39もカウントアップしていく。9ビットカウンタ39の初期値はROMブロックROMBLKに書き込みを行おうとしている不良ブロックアドレスの補数値であるから、X番地が不良の場合(X+1)回カウントアップしたときに全てのブロックアドレス信号が“0”になる。このときAND論理回路41の出力信号WDATASETは“1”になり、データラッチ(S/A)にデータをロードするためのデータ0〜7が“L”レベル(“0”書き込みデータ)にセットされる。512回のクロックで9ビットの出力全てが“0”になるのは1回しかないから、残りの511回のロードデータは内部バスのデータに等しい。テストモード以外の通常の書き込み時のデータロード動作時には、このデータ線にはチップのI/Oバスからの信号がインプットバッファ36と8ビット入力データラッチ回路37を介して供給され、データラッチ(S/A)へのデータロードが行われる。しかしながら上記テストモード時のデータロード動作時には、内部バスは“H”レベルに固定される。このため、不良ブロックアドレスと等しいカラムの番地のデータラッチ(S/A)には“0”書き込みデータが1バイトロードされ、それ以外の511個のカラム番地のデータラッチ(S/A)には“1”書き込みデータがロードされる。
上記動作について、図7(a)、(b)を用いて具体的に説明する。メモリセルブロックは前述の通り、0から2047番地まであるが、0から2047を2進数で示すと図7(a)のようになる。上位2ビットに注目すると、0から511までは“00”、512から1023までは“01”、1024から1535までは“10”、そして1536から2047までは“11”である。すなわち、上位2ビットでROMブロックROMBLKに書き込むページを指定し、下位9ビットでカラムアドレスを指定することが出来る。例えば2番地、すなわちメモリセルブロックBLK2が不良であったとする。このときブロックアドレス用カウンタ32のデータは“01000000000”である。このうちの下位9ビットが9ビットカウンタ39に、そのデータを反転させて出力される。すなわち、図7(b)に示すように、9ビットカウンタ39のデータは“101111111”である。従って、不良ブロックである2番地+1回=3回のカウントアップにより、9ビットカウンタのデータは全て“0”になり、WDATASET=“1”となる。これにより2番地に対応するROMブロックROMBLKに“0”データが書き込まれる。
この512回のクロックによるブロックアドレスのデータラッチ(S/A)への転送後、メモリセルへのオート書き込み動作が開始するが、ROMブロック内の4ページのうちどのページに書き込むかを制御する方法について説明する。上記の通り、ブロックアドレスカウンタ32の11ビットデータのうちの上位2ビットによりページアドレスを指定できるので、ブロックアドレス用レジスタ32の上位2ビットはROMブロックページデコーダ回路42に入力される。このROMブロックページデコーダ回路42はテストモード時にMODE信号に応答して上位ブロックアドレス信号のデコーダ回路として動作し、それ以外の時の全てのデコーダ出力信号を“0”レベルに設定する。このROMブロックページデコーダ回路42は、マルチプレクサ回路43を介してテストモード時にロウサブデコーダに供給される4ビットのページ信号であるページ0〜3を形成する。テストモード時以外は、ページアドレスをデコードする通常のページデコーダ回路44がマルチプレクサ回路45を介してこの4ページ分のページ信号を形成している。更にテスト時には上位4〜15ページの信号はマルチプレクサ回路45により“0”レベルの非選択状態に設定される。通常動作時には、ページデコーダ回路44がマルチプレクサ回路77を介してこれら上位ページ信号を形成している。
このように不良となったページが見つかるたびに、この不良ブロックアドレス情報はROMブロックROMBLKの対応するページ内の対応するカラムアドレスの8ビットのメモリセルに記憶されていく。通常NAND型フラッシュEEPROMでは“0”データ書き込みはメモリセルの閾値電圧を負から正に変化させ、“1”データの書き込みはメモリセルの負の閾値電圧をそのまま変化させないことに対応している。このためROMブロックROMBLK内の同じページに何度も512バイトデータを重ね書きすると、“1”データの上に“0”データが累積されて記憶されてゆき、全ての不良ブロック情報が最後に残ることになる。つまり書き込み回数分の512バイトデータのORデータが保存される。本発明はフラッシュEEPROMの書き込み動作のこの特徴を利用したものである。図4に示すように、1チップの全ページにこの書き込みパターンチェックが終了すると、外部から入力される消去コマンドに対応してROMブロック以外の全ブロックが消去される。そして次のパターンを使用して再度全ページに書き込みチェックが行われ、不良ページが見つかるたびにそのブロックアドレスがROMブロックに記憶される。また全ての消去動作に全ブロック消去モードを使用せずに、各ブロックを消去する動作を途中で行うことにより、消去不良となるアドレスを消去のPass/Fail情報に基づいてROMブロックROMBLKに記憶できる。このようにして全パターンでのチェックが終了すると、ROMブロックROMBLK内には全書き込みパターン及びブロック消去動作での累積不良ブロックアドレスが記憶されることとなる。
このような不良ブロック情報をROMブロックROMBLKに記憶して出荷し、コントローラがこの情報を参照することにより、ブロック管理テーブルを構築することが可能となる。
上記のように、本実施形態に係る不揮発性半導体メモリによれば、通常のアドレス入力では書き込みや消去が行えない、特殊な冗長ブロックであるROMブロックを設けている。そして、このROMブロック内に、不良ブロックアドレス情報を記憶させている。そのため、複数の不揮発性半導体メモリを同時にテストする際、書き込み/消去動作の結果をベリファイする読み出し動作が不要となる。この結果、テスト時間が短縮でき、また、フェイルメモリを持たない安価なテストシステムでテストを行うことが可能となるため、不揮発性半導体メモリのテストコストを削減できる。
次に、この発明の第2の実施形態に係る不揮発性半導体メモリについて、NAND型フラッシュEEPROMを例に挙げて説明する。
本実施形態に係るNAND型フラッシュEEPROMの回路構成は、第1の実施形態で説明した図1乃至図3と同様であるため説明を省略する。
図8は、本実施形態に係るNAND型フラッシュEEPROMのアドレスカウンタ及びその周辺の回路図である。
本実施形態では、第1の実施形態のように、ROMブロックROMBLKに不良ブロックアドレス情報を記憶するテストモード時に、ブロックアドレスの下位9ビットを9ビットのテスト専用カウンタ39に記憶させるのではなく、直接9ビットのカラムアドレス用カウンタ30に記憶させる。すなわち、シーケンス制御回路22により、ブロックアドレス用カウンタ32の下位9ビットデータを、内部バスを利用してカラムアドレスレジスタ30へ転送する。そしてカラムアドレスが指し示すデータラッチ(S/A)のみに1バイトの“0”データ書き込みをロードする。このロード作業に先立ち、全てのデータラッチ(S/A)は同時に“1”データにリセットされるため、対応するROMブロックROMBLKのページには不良ブロックアドレスに対応したカラムアドレスのみに“0”データが記憶される。通常NANDフラッシュEEPROMは、書き込み動作開始前に全データラッチを“1”データにセットするため、この機能を利用すれば全アドレスにデータロードする必要が無くなり、ROMブロックに不良ブロックアドレス情報を記憶するテストモード時間を短縮できる。
上記実施形態によれば、第1の実施形態に比して、不揮発性半導体メモリのテスト時間を更に短縮化できる。
次に、この発明の第3の実施形態に係る不揮発性半導体メモリについてNAND型フラッシュEEPROMを例に挙げて説明する。
本実施形態に係るNAND型フラッシュEEPROMの構成は、第1の実施形態と同様であるため説明を省略する。
第1、第2の実施形態では、不良ブロックアドレスを、ROMブロックROMBLKに記憶させておき、テスト工程の最後に実際に不良ブロックに“0”データを書き込むにはメモリテスターを用いて行っている。本実施形態では、上記回路構成において、シーケンス制御回路22により図9のフローチャートの動作を行い、テストの最終工程で不良ブロックに“0”データをメモリテスターを使わずに自動的に書き込む機能を持たせたものである。
まず、全メモリセルブロックBLK0〜BLK2047についてチェックを行い、不良ブロックデータをROMブロックROMBLKに記憶させる。
そして、図9に示すように、ROMブロックROMBLKの1ページ目のアドレスのデータを読み出し(ステップS20、S21)、データラッチ(S/A)に記憶させる。次にシーケンス制御回路22が図6に示したカラムアドレス用カウンタ30にクロックを発生し、カラムアドレス用カウンタ30の出力アドレスを0番地から順次インクリメントしていく(ステップS22)。またインクリメントしていく各カラムアドレスに対応したデータラッチの記憶データが、全て“0”データかどうかを、シーケンス制御回路22内に設けられた判定回路がチェックする(ステップS23)。もしあるアドレスのデータラッチデータが“0”データであるならば、そのときのカラムアドレス用カウンタ30の内容を、内部バスを介してブロックアドレス用11ビットカウンタ32の下位9ビットに転送する。更にROMブロックROMBLKの1ページ目を示している4ビットのページアドレス用カウンタ31の下位2ビットデータを、内部バスを介してブロックアドレス用11ビットカウンタ30の上位2ビットに転送する(ステップS24)。このような不良ブロックのアドレス設定動作が終了すると、このアドレスが示すロウデコーダ内の不良ブロックが選択される。その後、ページアドレス用カウンタ31の出力を全て“1”レベルに設定し、そのブロックの全てのページアドレスをマルチ選択する(ステップS25)。次に全てのデータラッチのデータを“0”データにリセットして(ステップS26)、通常の書き込み時間20μsecより長い1msecの書き込み動作を行うことにより、不良ブロックの16ページの全てのメモリセルに“0”データを書き込む(ステップS27)。書き込み時間を通常の書き込み時間より長く設定しているのは、ワード線電圧がドロップするような不良モードによりそのメモリセルブロックが不良ブロックになっている場合でも正しく“0”データが書き込まれることを考慮する必要があるからである。時間を長く設定する代わりに、通常の書き込み電圧より高い書き込み電圧を使用してもよい。この不良ブロックの書き込みが終了した後、再度ROMブロックROMBLKの1ページ目をデータラッチに読み出し、カラムアドレス用カウンタ30に残っているカラムアドレスの次のカラムアドレスからカラムデータスキャンを再開する。そしてまた別のカラム番地で“
0”データがヒットすると、その不良となったメモリセルブロックの全ページに、同じ方法で“0”データを書き込むシーケンスが実行される。このようにして最終カラム番地までカラムデータスキャン動作が行われる(ステップS28)。そして、現在のページ数を判定し(ステップS29)、2ページ目の処理に移り(ステップS29’)、次にROMブロック内の2ページ目が読み出され同じ動作が繰り返される。そしてROMブロックROMBLK内の4ページ目まで終了すると(ステップS29)、この不良ブロックに“0”データを自動的に書き込むテストシーケンスが終了する。最終的に全ての不良ブロックの全ページに“0”データが書き込まれることになる。このテストモードを使用することにより、ホスト側がROMブロックにアクセスしてブロック管理テーブルを形成するようなシステムでなく、出荷時に全メモリセルブロックBLK0〜BLK2047をスキャンして“0”データが検出されたブロックを不良と判定するようなシステムにも応用可能である。
上記のような不揮発性半導体メモリによれば、不良ブロックアドレスデータをROMブロック内に記憶させるだけでなく、不良ブロックの全ページのメモリセルに“0”データをメモリテスターを使わずに自動的に書き込むことが出来る。そのため、不揮発性半導体メモリのテストを簡単化できるため、不揮発性半導体メモリのコストを更に削減できる。
次に、この発明の第4の実施形態に係る不揮発性半導体メモリについて、NAND型フラッシュEEPROMを例に挙げて説明する。
第1乃至第3の実施例で説明したように、通常NAND型フラッシュEEPROMの不良ブロック内のメモリセルMCには“0”データを書き込んで出荷する。また、メモリセルMCの破壊の程度がひどく、“0”データを書き込むことが出来ない場合には破棄していた。しかし、NAND型フラッシュEEPROMはその構造上、選択トランジスタを常時オフにしておくことにより、そのNANDセルからは“0”データしか読み出されないという特性がある。
本実施形態はNAND型フラッシュEEPROMの上記特性に鑑みて、不良ブロックのメモリセルに“0”データを書き込むのではなく、不良ブロックの選択トランジスタを常時オフさせておくように、ロウデコーダを設定するものである。
図10は、メモリセルブロックBLK0〜BLK2047にそれぞれ対応する2048個のロウデコーダの構成を示す回路図である。
図示するように、ブロックアドレス信号が入力されるデコード部50の出力はNチャネルトランジスタ51のゲートに入力される。このNチャネルトランジスタ51のソースはゲートに信号Cが供給されるNチャネルトランジスタ52のドレインに入力され、このNチャネルトランジスタ52のソースは電源Vssに接続される。また、Nチャネルトランジスタ51のドレインは、幅の小さいポリシリコンフィラメントで形成されるエレクトリカルフューズ53の一端に接続される。このエレクトリカルフューズ53にある値以上の電流が流れると、このエレクトリカルフューズ53は溶断して電気的に導通しなくなる特徴がある。更にこのエレクトリカルフューズ53の他端は、ラッチ回路54とゲートに信号Bが供給されたNチャネルトランジスタ55のソースに接続される。Nチャネルトランジスタ55のドレインは各メモリセルブロックBLK0〜BLK2047に対応する端子、及び共通にゲートに信号Aが供給されたPチャネルトランジスタ56のドレインに接続される。このPチャネルトランジスタ56のソースは電源VDDに接続される。ラッチ回路54の出力はゲートに信号Dが入力されたNチャネルトランジスタ57のドレインに接続され、このNチャネルトランジスタ57のソースは電源Vssに接続される。このラッチ回路54の出力は、電源としてVpgmが供給されたレベルシフタ58に入力される。このレベルシフタ58の出力はロウサブデコーダ回路59内の全てのトランスファゲートトランジスタのゲートに接続される。選択されたメモリセルブロック内のトランスファゲートトランジスタが導通する事により、グローバルセレクトゲート信号GSGD、GSGSとページ0からページ15までのページ信号が選択されたメモリセルブロックのセレクトゲート線SGD、SGSとメモリセルのワード線WL0〜WL15に供給される。またラッチ回路54の出力の反転信号がインバータ60を介してロウサブデコーダ59内のNチャネルトランジスタ61のゲートに入力される。このNチャネルトランジスタ61のドレインはセレクトゲート線に接続され、そのソースは各ブロック共通にSE線に接続される。
次のこのように構成されたロウデコーダの動作を説明する。通常の読み出し、書き込み、消去動作時にはPチャネルトランジスタ56とNチャネルトランジスタ55は非導通状態となっている。通常の読み出し、書き込み、消去動作時には、まず最初に信号Dが“1”レベルとなり全ブロックのラッチ回路54のデータが“0”にリセットされる。次にブロックアドレス信号が確定すると、信号Cが“1”レベルとなりNチャネルトランジスタ52が導通状態となる。また選択されたブロックのデコード部50の出力ノードは“1”レベルとなり、Nチャネルトランジスタ51も導通状態となるため、エレクトリカルフューズ53が溶断していない場合、ラッチ回路54には“1”レベルが記憶される。このラッチ回路54の出力はレベルシフタ58に供給され、読み出し時には電源VDDより所定のレベルだけ高い電圧がトランスファゲートトランジスタに供給される。また、インバータ60の出力信号は“0”レベルとなりNチャネルトランジスタ61は非導通状態となる。この結果、セレクトゲート線と16本のワード線にはGSGD、GSGSとCG0〜15により供給される所定の読み出し電圧が供給される。非選択ブロックでは、ラッチ回路の出力は“0”レベルのままであるから、トランスファゲートトランジスタは非導通状態となり、Nチャネルトランジスタ61が導通状態となる。また読み出し時に、SE線は電源Vssレベルとなっているため、非選択ブロックのセレクトゲート線はVssレベルとなり、非選択ブロックのセレクトゲートトランジスタは非導通状態となる。
また、書き込み時には選択ブロックでは、書き込み電圧VpgmよりNチャネルトランジスタの閾値電圧分高い電圧がトランスファゲートトランジスタに供給され、セレクトゲート線と16本のワード線にはGSGD、GSGSとCG0〜15により供給される所定の書き込み電圧が供給される。非選択ブロックでは、読み出し時と同様にNチャネルトランジスタ61が導通状態であり、かつSE線がVssレベルのためセレクトゲート線はVssレベルとなりセレクトゲートトランジスタは非導通状態になる。
更に消去時には、電源VDDの電圧がトランスファゲートトランジスタに供給され、16本のワード線は電源Vssレベルとなる。また消去時にGSGDとGSGSには電源VDDレベルが供給される。選択ブロックではNチャネルトランジスタ61のゲートが“1”レベルとなるが、消去動作時にSE線がVDDレベルに設定されるため、Nチャネルトランジスタ61は非導通状態となる。このためドレイン側のセレクトゲート線SGDとソース側のセレクトゲート線SGSはVDDよりNチャネルトランジスタの閾値電圧分低い電圧まで充電された後、フローティング状態となる。この後メモリセルの基板電位が消去電圧まで上昇するが、同時にセレクトゲート線SGDもカップリングでほぼ同電位まで持ち上がるため、セレクトゲートトランジスタ61の酸化膜に電界ストレスがかからない。16本のワード線に接続されたメモリセルのコントロールゲートはVssレベルであり、ブロック内の全てのメモリセルは消去される。非選択ブロックでは全てのトランスファゲートトランジスタが非導通状態となり、Nチャネルトランジスタ61も非導通状態となるため、16本のワード線とセレクトゲート線がフローティング状態となり、この結果ワード線も基板とのカップリングで持ち上がり、メモリセルは消去されない。
エレクトリカルフューズ53を溶断するには、信号Aを“0”レベルに設定し、信号Bと信号Cを“1”レベルに設定する。このとき信号Bには電源電圧より高い昇圧電圧を供給することにより、トランジスタ55の導通抵抗を小さくすることが望ましい。この状態で溶断したいブロックのアドレス信号をロウデコーダに入力することにより、選択ブロックのエレクトリカルフューズ53に所定の電流が流れ、フューズを溶断することができる。
エレクトリカルフューズ53が溶断されたブロックが選択された場合、読み出し動作、書き込み、消去動作とも非選択ブロックと同じ動作が実行される。つまりデコード部50の出力が“1”レベルになってNチャネルトランジスタ51が導通状態になっても、エレクトリカルフューズ53が電気的に非導通状態のため、ラッチ回路54の出力は非選択状態の“0”を記憶したままとなり、トランスファゲートには電源Vssが供給される。また、Nチャネルトランジスタ61は導通状態となる。そのため、読み出し時にエレクトリカルフューズ53が切断されたブロックが選択されてもセレクトゲート線はVssレベルとなり、ビット線からメモリセルを介して電流が流れることはない。この結果不良ブロックからは“0”データしか読み出されないこととなる。また書き込み時と消去時にエレクトリカルフューズが切断されたブロックが選択されると、非選択ブロックと同様にメモリセルには書き込みと消去の電界が印加されない。
このように本実施形態の不揮発性半導体メモリでは、不良ブロック情報はエレクトリカルフューズ53に記憶され、メモリセルにどのような不良が存在しても常に選択トランジスタが非導通状態となるため、不良ブロックからは“0”データしか読み出せない。この結果不良ブロック情報の信頼性を向上することが出来る。なお、本実施形態ではエレクトリカルフューズを使用しているが、フラッシュメモリセルをロウデコーダ内に配置して、エレクトリカルフューズ53の代わりにこのフラッシュメモリセルの電流通路を挿入しても同じ効果が得られる。例えば、通常このフラッシュメモリセルの閾値電圧を0V以下の消去状態にしておく。不良ブロック情報をロウデコーダ内に記憶するテストモード時に、もし選択されたブロックが不良ブロックであれば、ロウデコーダ内のこのフラッシュメモリセルのゲートにVpgm電圧を供給することにより閾値電圧を0V以上の書き込み状態に変更する。読み出し、書き込み、消去動作におけるロウデコーダアクセス時にこのフラッシュメモリセルのゲートにVssレベルを与えることにより、前述のエレクトリカルフューズと同様な効果が得られる。
次に、この発明の第5の実施形態に係る不揮発性半導体メモリについて、NAND型フラッシュEEPROMを例に挙げて説明する。
本実施形態は、第4の実施形態で説明したようにロウデコーダ内に不揮発性記憶素子を設ける代わりに、揮発性記憶素子を設け、電源投入後のパワーオン検知信号に基づきこの揮発性記憶素子に不良ブロック情報を記憶させるものである。
図11は、ロウデコーダ回路を示すもので、第4の実施形態で説明した図10の回路と異なるのは、エレクトリカルフューズ53とそのフューズ切断用トランジスタ56と55が削除され、デコード部50の出力とラッチ回路54の出力の反転信号がNAND回路62に入力され、そのNAND回路62の出力の反転信号がレベルシフタ58に入力されている点である。上記構成のロウデコーダに不良ブロック情報を記憶する方法について説明する。
電源投入後のパワーオン検知信号に基づき、図示せぬ内部制御回路はROMブロックROMBLKに記憶されている不良ブロック情報をデータラッチに読み出す。その後、ロウデコーダ内の揮発性記憶素子に不良ブロックフラグを記憶するため、信号Dをイネーブルにして全ロウデコーダの揮発性メモリ素子としてのラッチ回路54の出力を“0”レベルにリセットし、信号Dをディセーブルにする。この状態で、図9に示したシーケンスに基づきカラムデータスキャン動作を行い、データラッチ54内に不良ブロック情報が検出された場合にそのデータラッチ情報をブロックアドレス用レジスタ32に転送する。更にその後、信号CをイネーブルにしてNチャネルトランジスタ52を導通状態に設定し、ブロックアドレス用レジスタが指し示す不良ブロックのラッチ回路54の出力を“0”レベルから“1”レベルに変更する。このラッチ回路54内の不良ブロックフラグ情報は電源がオフにされるまで保存される。この動作が終了すると、またカラムデータスキャン動作を図9のシーケンスに従って続ける。全ての不良ブロックのフラグセットが終了すると、本発明のフラッシュメモリは外部からのアクセスが可能となる。このように、不良ブロックにおけるラッチ回路54の出力を“1”レベルにすることで、選択トランジスタは常に非選択状態となる。
上記構成にすることにより不揮発性記憶素子を用いなくとも、パワーオン検知信号を利用することで不良ブロックでは読み出し時にセレクトゲート線をVssに設定することが可能である。また、電源投入後にメモリセルがアクセスされるのは、通常100msec〜1sec後であり、この時間内に上記の動作を完了できる。
本発明の実施形態を使用すれば、出荷時の不良ブロック情報を内部に記憶させるテスト工程を簡略化でき、安価なテストシステムを用いることが出来るため、安価なフラッシュメモリを実現できる。
上記第1乃至第5の実施形態のように、通常のアドレス入力では書き込みや消去が行えない、特殊な冗長ブロックであるROMブロックを設け、このROMブロック内に不良ブロックアドレス情報を記憶させている。そのため、複数の不揮発性半導体メモリを同時にテストする際、書き込み/消去動作と同じく、読み出し動作も全チップ同時に行うことが出来る。
また、不良ブロックをチェックした後、不良ブロック内の全ページに自動的に“0”データを書き込む機能を持たせることにより、不揮発性半導体メモリのテストを簡単化できる。
また、不良ブロック内のメモリセルに“0”データを書き込む代わりに、不良ブロックの選択トランジスタを常時オフにするようにロウデコーダを設定することにより、不良ブロック情報の信頼性を更に向上することが出来る。
この結果、テスト時間が短縮でき、また、フェイルメモリを持たない安価なテストシステムでテストを行うことが可能となるため、テストコストを削減でき、高信頼性の不揮発性半導体メモリを実現できる。
なお、上記第1乃至第3の実施形態は、NAND型フラッシュEEPROMを例に挙げて説明したが、NOR型フラッシュEEPROM等、他の不揮発性半導体メモリにも適用できるのは言うまでもなく、本発明の主旨を逸脱しない範囲で適宜変更して実施することが出来る。
10…メモリセルアレイ、11…インターフェース回路、12…データラッチ、13…アドレスレジスタ、14…コマンドレジスタ、15…カラムデコーダ、16…ロウデコーダ、17…ロウメインデコーダ回路、18、59…ロウサブデコーダ回路、19…レベルシフタ回路、20…プリデコーダ回路、21…ROMブロックセレクタ回路、22…シーケンス制御回路、23…高電圧発生回路、24…ステータスレジスタ、30…カラムアドレス用レジスタ、31…ページアドレス用レジスタ、32…ブロックアドレス用レジスタ、33、43、45…マルチプレクサ、34…カラムアドレスエンド検出回路、35…ページアドレスエンド検出回路、36…インプットバッファ、37…入力データラッチ、38…内部バス制御回路、39…9ビットカウンタ、40…NOR論理回路、41…AND論理回路、42…ROMブロックページデコーダ回路、44…ページデコーダ回路、50…デコード部、51、52、55、57、61…Nチャネルトランジスタ、53…エレクトリカルフューズ、54…ラッチ回路、56…Pチャネルトランジスタ、58…レベルシフタ、60…インバータ、62…NAND論理回路