(57)【要約】【課題】不良セルに起因するメモリセルの急激な容量低下を防止する。【解決手段】複数のメモリセルによりブロックが形成され、複数のブロックからなるメモリセルアレイにおいて、ブロックにおけるメモリセルの数が均等になるように２つの領域に分割し、一方の領域における不良メモリセルの数はエラー訂正により救済可能なビット数を超えており、他方の領域における不良メモリセルの数はエラー訂正により救済可能なビット数以下であるブロックを２以上有し、２つのブロックにおける他方の領域同士を組み合わせることにより新たな１つのブロックを形成し、新たな１つのブロックについて、情報の書き込み、消去を行なうことを特徴とする不揮発性半導体記憶装置を提供することにより上記課題を解決する。【選択図】図６
2008159134.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルによりブロックが形成され、複数の前記ブロックからなるメモリセルアレイにおいて、
前記ブロックにおける前記メモリセルの数が均等となるように２つの領域に分割し、
一方の領域における不良メモリセルの数はエラー訂正により救済可能なビット数を超えており、他方の領域における不良メモリセルの数はエラー訂正により救済可能なビット数以下であるブロックを２以上有し、
２つの前記ブロックにおける他方の領域同士を組み合わせることにより新たな１つのブロックを形成し、
前記新たな１つのブロックについて、情報の書き込み、消去を行なうことを特徴とする不揮発性半導体記憶装置。
【請求項２】
複数の前記メモリセルはワード線に接続されており、前記ブロックは複数の前記ワード線に接続されたメモリセルにより構成される不揮発性半導体記憶装置であって、
前記ブロックの分割は、前記ワード線を基準として分割されること特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項３】
前記ブロックにおいて前記ワード線は２Ｎ本設けられており、
前記ブロックは、前記ブロックの一方の端の１本目より隣接する順にＮ本目までと、Ｎ＋１本目から隣接する順に２Ｎ本目まで、とにより分割を行なうことを特徴とする請求項２に記載の不揮発性半導体記憶装置。
【請求項４】
ワード線に接続された複数のメモリセルによりページが構成され、複数の前記ページによりブロックが構成され、複数の前記ブロックによりメモリセルアレイが構成されるメモリセルアレイにおいて、
不良メモリセルの数がエラー訂正により救済可能なビット数を超えるページを除いたページにより新たな一つのブロックを構成し、
前記新たな一つのブロックについて情報の書き込み、消去を行なうことを特徴とする不揮発性半導体記憶装置。
【請求項５】
前記エラー訂正により救済可能なビット数を超える数の不良メモリセルの有無に関する情報は、ブロックを構成するワード線と同数のビット線により接続されたメモリセルに記憶されていることを特徴とする請求項４に記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性半導体記憶装置に関するものであり、特に、不良メモリセルが存在しているメモリセルアレイを有効に活用する不揮発性半導体記憶装置に関するものである。
【背景技術】
【０００２】
不揮発性半導体記憶装置であるＮＡＮＤ型フラッシュメモリでは、従来、物理ページの情報管理として、物理ページごとにデータの消去の行なわれた回数や、データの書き込みであるプログラミングの行なわれた回数を記憶している。そして、データの消去や書き込みなどによってメモリセルにストレスがかかった回数、即ち、電圧印加がされた回数を基準に物理ブロックの使用を不可とするものや、実際にエラーの発生した物理ページを含む物理ブロックを使用不可としている。
【０００３】
物理ブロックの使用状況を向上させるためには、物理ブロック内で所定の数、即ち、誤り訂正が可能なビット数の範囲内であれば、エラー訂正符号によるエラー訂正が可能であり使用することが可能である。引用文献１には、エラーの発生したメモリセルの位置とエラー訂正能力とに基づいて、より正確に物理ブロックの使用の可否を判断することにより、使用可能なメモリを増やし、記憶容量の低下を抑制する発明が開示されている。
【０００４】
しかしながら、ＮＡＮＤ型フラッシュメモリにおいては、情報の消去は物理ブロックを単位として行なわれるため、物理ブロック内に良好なメモリセルが存在していても、不良メモリセルがエラー訂正能力を超える場合には、物理ブロック全体の使用を不可としていた。
【特許文献１】特開２００２−１３３８９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、不揮発性半導体記憶装置において、良好なメモリセルをできる限り有効に活用し、不良ブロックを有する場合であっても、記憶容量の低下を抑制した不揮発性半導体記憶装置を提供するものである。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る不揮発性半導体記憶装置は、複数のメモリセルによりブロックが形成され、複数の前記ブロックからなるメモリセルアレイにおいて、前記ブロックにおける前記メモリセルの数が均等となるように２つの領域に分割し、一方の領域における不良メモリセルの数はエラー訂正により救済可能なビット数を超えており、他方の領域における不良メモリセルの数はエラー訂正により救済可能なビット数以下であるブロックを２以上有し、２つの前記ブロックにおける他方の領域同士を組み合わせることにより新たな１つのブロックを形成し、前記新たな１つのブロックについて、情報の書き込み、消去を行なうことを特徴とする。
【０００７】
また、本発明の一態様に係る不揮発性半導体記憶装置は、ワード線に接続された複数のメモリセルによりページが構成され、複数の前記ページによりブロックが構成され、複数の前記ブロックによりメモリセルアレイが構成されるメモリセルアレイにおいて、不良メモリセルの数がエラー訂正により救済可能なビット数を超えるページを除いたページにより新たな一つのブロックを構成し、前記新たな一つのブロックについて情報の書き込み、消去を行なうことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、不揮発性半導体記憶装置において、良好なメモリセルをできる限り有効に活用し、不良ブロックを有する場合であっても、記憶容量の低下を防ぐことができる。
【発明を実施するための最良の形態】
【０００９】
〔第１の実施の形態〕
本発明における一実施の形態を以下に記載する。
【００１０】
第１の実施の形態における不揮発性半導体記憶装置であるＮＡＮＤセル型フラッシュメモリは、Ｉ／Ｏ部１５、データ入出力バッファ１６、コマンド入力バッファ１７、アドレスバッファ１８、ロウデコーダ１９、ワード線制御回路２０、カラムデコーダ２１、ビット線制御回路２２、メモリセルアレイ２３、バットブロックコントローラ２４により構成されている。
【００１１】
メモリセルアレイ２３は、データを記憶するメモリセルをマトリックス状に配列させたものからなる。即ち、メモリセルアレイ２３は、複数のビット線と複数のワード線と共通ソース線を含んでおり、ビット線とワード線の交点に電気的にデータの書き換えが可能なメモリセルがマトリックス状に配列されている。メモリセルには、入力されたデータと、このデータについて一定のビット数のデータビットごとに付加される誤り訂正のためのパリティデータ（冗長データ）が記憶される。ワード線には複数のメモリセルが接続されページを構成しており、複数のワード線に接続されている複数のメモリセル、即ち、複数のページにより一つのブロックが構成されている。メモリセルアレイ２３は、この複数のブロックにより構成されている。
【００１２】
このメモリセルアレイ２３には、ワード線電圧を制御するためのワード線制御回路２０、及びビット線制御回路２２が接続されている。ワード線制御回路２０は、ロウデコーダ１９によりデコードされたアドレス信号に従い、ワード線を選択しワード線電圧を制御する。ロウデコーダ１９には、アドレスバッファ１８を介しＩ／Ｏ部１５より信号を入力する。
【００１３】
ビット線制御回路２２は、ビット線を介してメモリセルアレイ２３のメモリセルにおけるデータに基づく信号を検知・増幅する機能に加え、読み出しデータや書き込みデータを保持するデータラッチ機能を有するセンスアンプ兼データラッチ回路である。ビット線制御回路２２は、カラムデコーダ２１、データ入出力バッファ１６及びコマンド入出力バッファ１７に接続されている。ビット線制御回路２２は、カラムデコーダ２１によりデコードされたアドレス信号に従い、ビット線を選択する機能を有している。
【００１４】
データ入出力バッファ１６は、ビット線制御回路２２に対する入出力データを一時的に保持する機能を有している。データ入出力バッファ１６からＩ／Ｏ部１５を介しデータが外部に出力されるとともに、Ｉ／Ｏ部１５を介しデータがデータ入出力バッファ１６に入力される。また、データ入出力バッファ１６の内部には、ステータスレジスタ２５が設けられ、ステータスレジスタ２５においては、メモリセルアレイ２３内におけるブロックごとの不良メモリセルに関する情報が記憶されている。
【００１５】
コマンド入出力バッファ１７は、Ｉ／Ｏ部１５を介し伝達されたコマンドを一時的に保持する機能を有している。また、アドレスバッファ１８は、Ｉ／Ｏ部１５を介し入力されたアドレス信号を一時的に保持する機能を有している。バットブロックコントローラ２４は、メモリセルアレイ２３内におけるバットブロックの情報を管理制御するためのものである。
【００１６】
次に、図２に基づき本実施の形態におけるバットブロックコントローラ２４について説明する。本実施の形態におけるバットブロックコントローラ２４は、バッドブロックアドレスレジスタ２６、比較器２７から構成されている。バットブロックアドレスレジスタ２６は、メモリセルアレイ２３において、プログラム動作時又は消去動作時に一定数を越えるメモリセルに不良が確認されたブロックについて、そのブロックアドレスを記憶する機能を有している。本実施の形態では、各々のブロックは、ワード線を基準として上位と下位の領域に２分割されており、バットブロックアドレスレジスタ２６において、上位又は下位の領域の各々について、不良メモリセルの数が一定数以下であるか否かが記憶されている。ここで、規定する一定数とは、エラー訂正により救済可能なビット数を意味する。
【００１７】
比較器２７は、アドレスバッファ１８より入力されたブロックアドレスにより、ブロックの上位又は下位の領域に一定数を越える不良セルがあるか否か判断する機能を有している。具体的には、入力されたブロックアドレスによりバッドブロックアドレスレジスタ２６より情報を読み出し、ブロックの上位又は下位の領域において不良メモリセルの数が一定数を超えるか否かの判断を行なう。
【００１８】
入力されたブロックアドレスにおけるブロックの上位及び下位の領域において、ともに不良メモリセルの数が一定数以下である場合には、通常のプログラム動作、消去動作が行なわれる。具体的には、比較器２７よりロウデコーダ１９に情報が伝達され、情報のプログラム又は消去が行なわれる。また、このブロックアドレスにおけるブロックの上位及び下位の領域において、ともに不良メモリセルが一定数以下である旨の情報、即ち、ブロックとして良好である旨の情報は、ステータスレジスタ２５に伝達され記憶される。
【００１９】
入力されたブロックアドレスにおけるブロックの上位又は下位の領域の一方においては不良メモリセルの数は一定数を超えており、他方においては不良メモリセルの数は一定数以下である場合、同様のブロックをバットブロックアドレスレジスタ２６より検出し、２つのブロックの他方の領域、即ち、不良メモリセルの数が一定数以下である領域同士を組み合わせて仮想的に一つのブロックを形成し、情報のプログラム又は消去を行なう。
【００２０】
尚、ブロックの上位又は下位の領域ごとに、不良メモリセルの数が一定数以下であるか否かの情報は、ステータスレジスタ２５に伝達され記憶される。
【００２１】
入力されたブロックアドレスにおけるブロックの上位及び下位の領域において、ともに不良メモリセルの数が一定数を超えている場合には、情報のプログラム動作及び消去動作は行なわれず、このブロックアドレスにおけるブロックの上位及び下位の領域において、ともに不良メモリセルが一定数を超えている旨の情報がステータスレジスタ２５に伝達され記憶される。
【００２２】
次に、本実施の形態におけるＮＡＮＤ型フラッシュメモリにおける情報の消去動作について、図３に基づき説明する。
【００２３】
最初に、ステップ１０２（Ｓ１０２）において、消去コマンド及びアドレスがＩ／Ｏ部１５より入力される。
【００２４】
次に、ステップ１０４（Ｓ１０４）において、消去シーケンサが起動し、制御信号及びアドレス情報が、データ入出力バッファ１６、コマンド入出力バッファ１７、アドレスバッファ１８に伝達される。尚、消去動作は、通常ブロック単位で一括して行なわれる。
【００２５】
次に、ステップ１０６（Ｓ１０６）において、メモリセルアレイ２３において、消去電圧が印加されメモリセルにおける情報の消去が行われる。具体的には、所定のブロックの情報を消去するための信号はロウデコーダ１９に伝達され、ワード線制御回路２０を介し、メモリセルアレイ２３に伝達され、メモリセルアレイ２３内の所定のブロックにおいてメモリセルの情報の消去を行なう。
【００２６】
次に、ステップ１０８（Ｓ１０８）において、消去ベリファイが行なわれる。ここでは、Ｓ１０６において消去を行なったブロックについてベリファイを行なうが、この消去ベリファイは、ブロックを上位と下位の領域に分割し各々の領域について行なう。
【００２７】
具体的には、選択トランジスタＳＴ１、ＳＴ２をＯＮ状態とし、図４に示すように、ワード線ＷＬ８〜ＷＬ１５に接続されている上位の領域のメモリセルについては、ワード線ＷＬ８〜ＷＬ１５に読み出しマスク電圧であるＶｒｅａｄ、即ち、非選択のページのメモリセルのゲートを、メモリセルの状態が消去状態或いは既にプログラムされた状態の如何に関わらず、メモリセルをオン状態にすることが可能なゲート電位、言い換えれば、選択されているブロック内の全ての非選択のメモリセルをオン状態にすることができるように、メモリセルがとり得る閾値Ｖｔｈ分布の最大値よりも高いゲート電位であるＶｒｅａｄを印加し、ワード線ＷＬ０〜ＷＬ７に接続されている下位の領域のメモリセルについては、ワード線ＷＬ０〜ＷＬ７にＶｓｓを印加する。これにより、下位の領域においてメモリセルの閾値Ｖｔｈが負のレベルに至っていない不良メモリセルを検知することができる。図４は、下位の領域には不良メモリセルが存在している場合を示す。
【００２８】
次に、図５に示すように、ワード線ＷＬ８〜ＷＬ１５に接続されている上位の領域のメモリセルについては、ワード線ＷＬ８〜ＷＬ１５にＶｓｓを印加し、ワード線ＷＬ０〜ＷＬ７に接続されている下位の領域のメモリセルについては、ワード線ＷＬ０〜ＷＬ７に読み出しマスク電圧であるＶｒｅａｄを印加する。これにより、上位の領域における不良メモリセルを検知することができる。図５は、上位の領域には不良メモリセルが存在していない場合を示す。
【００２９】
次に、ステップ１１０（Ｓ１１０）において、ベリファイＯＫか否かの判断を行なう。ベリファイがＯＫである場合には、ステップ１１２に移行する。一方、ベリファイがＯＫでない場合には、ステップ１１４に移行する。本実施の形態では、ブロック全体、即ち、上位の領域及び下位の領域においてともにベリファイがＯＫであるか否かが判断される。
【００３０】
ステップ１１２（Ｓ１１２）では、消去のベリファイがパスした旨の情報がステータスレジスタ２５に伝達され記憶された後に終了する。
【００３１】
一方、ステップ１１４（Ｓ１１４）では、最大値を超過しているか否かの判断が行なわれる。具体的には、消去電圧が設定した最大値を超えているか否か、また、後述する消去電圧印加のループの回数が設定した最大値を超えているか否か、について判断が行なわれる。これにより、最大値を超過していると判断された場合には、ステップ１１６に移行する。一方、最大値を超過していないと判断された場合には、ステップ１１８に移行する。
【００３２】
ステップ１１６（Ｓ１１６）では、このブロックがフェイルである旨の情報がステータスレジスタ２５に伝達され記憶される。この後、このブロックにおけるフェイルとなったページアドレスを確認する動作が行なわれる。この情報に基づき、ブロックの上位又は下位の領域について、不良メモリセルの数が一定数以下であるか否かの情報が、バッドブロックアドレスレジスタ２６に格納され、終了する。
【００３３】
一方、ステップ１１８（Ｓ１１８）では、消去電圧の昇圧を行なう。具体的には、ステップ１０６において印加した消去電圧よりも高い電圧を印加するため、不図示の昇圧回路により消去電圧の昇圧を行なう。この後、ステップ１０６に移行し、昇圧した消去電圧を印加する。
【００３４】
一つのブロックのワード線を基準として２分割された上位又は下位の領域の各々について、不良メモリセルの数が一定数以下であるか否かの情報は、上位又は下位の領域ごとにバットブロックアドレスレジスタ２６に記憶される。このバットブロックアドレスレジスタ２６に記憶されている情報に基づき、上位又は下位の領域のどちらか一方の領域は不良メモリセルの数が一定数以下であり、他方の領域は不良メモリセルの数が一定数を超えるブロックを２つ取り出し、各々のブロックにおける不良メモリセルの数が一定数以下となる領域同士を組み合わせ、仮想的に一つのブロックを形成し、情報のプログラムや消去を行なう。
【００３５】
具体的には、図６に示すように、上位の領域Ｐ１では不良メモリセルの数が一定数以下であり、下位の領域Ｐ２では不良メモリセルの数が一定数を超えるブロックＰと、上位の領域Ｑ１では不良メモリセルの数が一定数を超え、下位の領域Ｑ２では不良メモリセルの数が一定数以下であるブロックＱについて、各々の不良メモリセルの数が一定数以下である領域である領域Ｐ１と領域Ｑ２を組み合わせることにより、新たなブロックを形成し使用するものである。
【００３６】
次に、本実施の形態におけるＮＡＮＤ型フラッシュメモリにおける情報のプログラム（書き込み）動作について、図７に基づき説明する。
【００３７】
最初に、ステップ２０２（Ｓ２０２）において、プログラムコマンド及びアドレスがＩ／Ｏ部１５より入力される。
【００３８】
次に、ステップ２０４（Ｓ２０４）において、プログラムシーケンサが起動し、制御信号及びアドレス情報が、データ入出力バッファ１６、コマンド入出力バッファ１７、アドレスバッファ１８に伝達される。尚、消去動作は、通常ブロック単位で一括して行なわれる。
【００３９】
次に、ステップ２０６（Ｓ２０６）において、メモリセルアレイ２３において、プログラム電圧が印加されメモリセルにおいて情報のプログラムが行われる。具体的には、所定のブロックにおいて情報をプログラムするための信号はロウデコーダ１９に伝達され、ワード線制御回路２０を介し、メモリセルアレイ２３に伝達されるとともに、カラムデコーダ２１に伝達され、ビット線制御回路２２を介し、メモリセルアレイ２３に伝達される。これにより、メモリセルアレイ２３内の所定のブロックにおいてメモリセルの情報のプログラムが行なわれる。
【００４０】
次に、ステップ２０８（Ｓ２０８）において、プログラムベリファイが行なわれる。具体的には、Ｓ２０６においてプログラムを行なったブロックについてベリファイを行なう。
【００４１】
次に、ステップ２１０（Ｓ２１０）において、ベリファイＯＫか否かの判断がなされる。ベリファイがＯＫである場合には、ステップ２１２に移行する。一方、ベリファイがＯＫでない場合には、ステップ２１４に移行する。
【００４２】
ステップ２１２（Ｓ２１２）では、プログラムのベリファイがパスした旨の情報がステータスレジスタ２５に伝達され記憶された後に終了する。
【００４３】
一方、ステップ２１４（Ｓ２１４）では、最大値を超過しているか否かの判断が行なわれる。具体的には、プログラム電圧が設定した最大値を超えているか否か、また、後述するプログラム電圧印加のループの回数が設定した最大値を超えているか否か、について判断が行なわれる。これにより、最大値を超過していると判断された場合には、ステップ２１６に移行する。一方、最大値を超過していないと判断された場合には、ステップ２１８に移行する。
【００４４】
ステップ２１６（Ｓ２１６）では、このブロックがフェイルである旨の情報がステータスレジスタ２５に伝達され記憶される。プログラム動作においては、アドレス情報にページアドレスを含んでいるため、ステップ２１６において、プログラム対象アドレスが、そのまま不良ページアドレスとなり記憶される。従って、このブロックにおけるフェイルとなったページアドレスを確認する動作は、プログラム動作においては行なわれない。この情報に基づき、ブロックの上位又は下位の領域について、不良メモリセルの数が一定数以下であるか否かの情報が、バッドブロックアドレスレジスタ２６に格納され、終了する。
【００４５】
一方、ステップ２１８（Ｓ２１８）では、プログラム電圧の昇圧を行なう。具体的には、ステップ２０６において印加したプログラム電圧よりも高い電圧を印加するため、不図示の昇圧回路によりプログラム電圧の昇圧を行なう。この後、ステップ２０６に移行し、昇圧したプログラム電圧を印加する。
【００４６】
一つのブロックのワード線を基準として２分割された上位又は下位の領域の各々について、不良メモリセルの数が一定数以下であるか否かの情報は、上位又は下位の領域ごとにバットブロックアドレスレジスタ２６に記憶される。このバットブロックアドレスレジスタ２６に記憶されている情報に基づき、上位又は下位の領域のどちらか一方が不良メモリセルの数が一定数を超えるブロックが２つある場合、不良メモリセルの数が一定数以下である他方同士を組み合わせ、仮想的に一つのブロックを形成し、情報のプログラムや消去を行なう。組み合わせに関する具体的内容は、消去の場合と同様である。
【００４７】
従来は、一つのブロック内に不良メモリセルの数が一定数を超える場合には、ブロック全体を使用不可として扱っていたのに対し、本実施の形態では、ブロックを２分して上位と下位の領域に分割し、どちらか一方にのみ不良メモリセルの数が一定数を超える２つのブロックについて、一方の領域のみを使用不可とし、使用可能な他方の領域を組み合わせることにより一つのブロックを形成し使用することができる。これにより、メモリセルの利用効率を高めることができ、不良メモリセルが発生した場合におけるメモリセルアレイ２３内における容量低下の度合いを緩和させることができる。
【００４８】
〔第２の実施の形態〕
第２の実施の形態における不揮発性半導体記憶装置であるＮＡＮＤセル型フラッシュメモリの構成は、第１の実施の形態と同様である。
【００４９】
図８に基づき第２の実施の形態におけるバットブロックコントローラ２４について説明する。本実施の形態におけるバットブロックコントローラ２４は、ブロック比較器３１、ページ比較器３２、予約領域データレジスタ３３、ページアドレス加算器３４、バットブロックアドレスレジスタ３５により構成されている。
【００５０】
バットブロックアドレスレジスタ３５は、メモリセルアレイ２３において、プログラム動作時又は消去動作時に一定数を超えるメモリセルに不良（ＮＧ）が確認されたブロックについて、そのブロックアドレスを記憶する機能を有している。ここで、規定する一定数とは、エラー訂正により救済可能なビット数を意味する。この不良情報に基づき、不良ページアドレスの情報は、予約領域ＮＧページデータレジスタ３３に記憶し、この後、プログラム動作を行なう前に予約領域ページバッファに転送し、メモリセルアレイ２３内に設けられた該当するブロックの予約領域におけるメモリセルに状態をプログラムする。
【００５１】
新たなブロックへのアクセスが開始された際には、バッドブロックアドレスレジスタ３５において、一定数を超えるメモリセルに不良が存在しているか否か判断し、一定数を超えるメモリセルに不良が存在している場合には、そのブロックの予約領域のメモリセルより情報を読み出す。予約領域のメモリセルより読み出された情報は、予約領域ページバッファ３６を介し、予約領域ＮＧページデータレジスタ３３に格納する。予約領域ＮＧページデータレジスタ３３では、ＮＧページ数を計測しＮＧページ数のレポートを作成し、ステータスレジスタ２５に伝達する。
【００５２】
その後、ページ比較器３２において、アドレスバッファ１８から伝達されたページアドレス（論理アドレス）と予約領域ＮＧページデータレジスタ３３に登録されたアドレスとを比較する。ページアドレス（論理アドレス）が、予約領域ＮＧページデータレジスタ３３に記憶されている不良ページである場合には、ページアドレス加算器３４によりアドレスを一つ加算する。よって、ページ比較器３２においては、論理アドレスと物理アドレスとの変換が行なわれる。
【００５３】
図９に、論理アドレスと物理アドレスとの変換例を示す。具体的には、外部から入力されたページアドレスである論理アドレスを内部の有効（ＮＧではない）ページアドレス（物理アドレス）に変換する動作を論理アドレス・物理アドレス変換である。従って、物理アドレスにおいて、ＮＧページである領域をスキップし、ナンバリングしたものが論理アドレスとなる。
【００５４】
ブロック比較器３１は、アドレスバッファ１８より入力されたブロックアドレスにおいて一定数を越える不良セルがあるか否か、具体的には、一定数を超える不良ページがあるか否かをブロックごとに判断する機能を有している。一定数を越える不良セルが存在しているブロックについては、「ＮＧブロックレポート」をステータスレジスタ２５に伝達し、このブロックへのアクセスを禁止する。
【００５５】
次に、本実施の形態におけるＮＡＮＤ型フラッシュメモリにおける情報の消去動作について説明する。消去動作に関しては、図３に示すフローチャートと同じであるが、ステップ１０８におけるベリファイ動作が異なる。
【００５６】
具体的には、本実施の形態におけるベリファイは、選択トランジスタＳＴ１、ＳＴ２がともにＯＮ状態となり、ワード線ＷＬごとに順次行なわれる。図１０においては、ワード線ＷＬ１におけるベリファイ動作の様子を示す。この場合では、ワード線ＷＬ１にＶｓｓが印加され、それ以外のワード線ＷＬ０、ＷＬ２〜ＷＬ１５には、読み出しマスク電圧であるＶｒｅａｄが印加される。これにより、ワード線ＷＬ１におけるベリファイが行なわれる。図１０では、ワード線ＷＬ１に接続されているメモリセルに不良がないためパス状態となる。
【００５７】
次に、図１１においては、ワード線ＷＬ２におけるベリファイ動作の様子を示す。この場合では、ワード線ＷＬ２にＶｓｓが印加され、それ以外のワード線ＷＬ０、ＷＬ１、ＷＬ３〜ＷＬ１５には、読み出しマスク電圧であるＶｒｅａｄが印加される。これにより、ワード線ＷＬ２におけるベリファイが行なわれる。図１１では、ワード線ＷＬ２に接続されているメモリセルに不良が存在しているため、フェイル状態となる。
【００５８】
以上は、ワード線ＷＬを１本ごとに順次行なう場合であるが、より高速のプログラム等を行なうためには、ワード線２本ごとに順次行なってもよい。具体的には、図１２は、ワード線ＷＬ０とワード線ＷＬ１とについて、消去ベリファイを行なった後、図１３に示すようにワード線ＷＬ２とワード線ＷＬ３について、消去ベリファイを行なう。
【００５９】
次に、本実施の形態におけるＮＡＮＤ型フラッシュメモリにおける情報のプログラム動作について、図１４に基づき説明する。
【００６０】
最初に、ステップ３０２（Ｓ３０２）において、プログラムコマンド、アドレス及びデータがＩ／Ｏ部１５より入力される。
【００６１】
次に、ステップ３０４（Ｓ３０４）において、プログラムを行なう領域に、バットブロックが存在しているか否かの判断がなされる。不良ブロックが存在していない場合には、ステップ３０６に移行する。また、不良ブロックが存在している場合には、ステップ３０８に移行する。
【００６２】
ステップ３０６（Ｓ３０６）では、通常のプログラム動作が行なわれ、このプログラム動作が終了した後は、終了する。
【００６３】
ステップ３０８（Ｓ３０８）では、不良ブロックが、予約領域ＮＧページデータレジスタ３３に記憶されているブロックの情報であるか否か判断される。予約領域ＮＧページデータレジスタ３３に記憶されているブロックの情報であると判断された場合には、ステップ３１０に移行する。予約領域ＮＧページデータレジスタ３３に記憶されているブロックの情報ではないと判断された場合には、ステップ３１２に移行する。この後、ステップ３１４に移行する。
【００６４】
ステップ３１０（Ｓ３１０）では、ページ変換が行なわれる。具体的には、前述したように、ページ比較器３２において論理アドレス・物理アドレスの変換が行なわれる。
【００６５】
一方、ステップ３１２（Ｓ３１２）では、予約領域ＮＧページデータレジスタ３３における情報の更新が行なわれる。具体的には、ブロックのすべてのワード線ＷＬに０〔Ｖ〕を印加することにより、予約領域におけるメモリセルの情報を読み出し、これに基づき予約領域ＮＧページデータレジスタ３３における情報の更新が行なわれる。これが終了した後は、ステップ３１０に移行する。
【００６６】
ステップ３１４（Ｓ３１４）では、ブロックの物理アドレスのページにおいてプログラム動作が行なわれる。
【００６７】
次に、ステップ３１６（Ｓ３１６）では、ベリファイがＯＫか否かの判断が行なわれる。ベリファイがＯＫである場合には、そのまま終了する。ベリファイがＯＫでない場合には、ステップ３１８に移行する。
【００６８】
ステップ３１８（Ｓ３１８）では、予約領域ＮＧページデータレジスタに、ベリファイがＯＫでないことを示すため、その旨の情報となる「Ｈ」が記憶される。
【００６９】
次に、ステップ３２０（Ｓ３２０）では、ページがＭＡＸであるか否かの判断がなされる。ページがＭＡＸとなっていない場合には、ステップ３２２に移行する。ページがＭＡＸとなっている場合には、ステップ３２４に移行する。
【００７０】
ステップ３２２では、物理アドレスの次のページに更新した後、ステップ３１４に移行する。
【００７１】
ステップ３２４では、物理アドレスのページを減じ、ＮＧページ（不良ページ）ではない最大ページアドレスをページとして設定する。
【００７２】
次に、ステップ３２６では、既にプログラムされたデータを破壊しないように、予約領域のメモリセルにおける予約領域ＮＧページデータレジスタ３３よりＮＧページ情報を転送し記憶する。
【００７３】
次に、ステップ３２８（Ｓ３２８）では、ブロックの物理アドレスのページにおいてプログラム動作が行なわれる。この後、終了する。
【００７４】
次に、各々のブロックにおける不良ページアドレスを記憶するためのメモリセル（本明細書中「予約領域のメモリセル」と称する。）について説明する。予約領域のメモリセルは、ワード線ＷＬと同数のビット線ＢＬにより接続されたメモリセルにより構成される。
【００７５】
図１５に予約領域のメモリセルの状態図を示す。１６本のワード線ＷＬ０〜ＷＬ１５に対応して１６本のビット線ＢＬ０〜ＢＬ１５が設けられており、ワード線ＷＬ０〜ＷＬ１５とビット線ＢＬ０〜ＢＬ１５に接続されたメモリセルにより予約領域のメモリセルが形成される。
【００７６】
プログラム動作は、ブロックにおいてはワード線ＷＬごとに順次行なわれる。
【００７７】
具体的には、ワード線ＷＬ０に接続されているメモリセルについてプログラムを行なった後、ベリファイを行なう。図１６では、ステップ３１６において、ワード線ＷＬ０に接続されたメモリセルにおいて、不良メモリセルの数が一定数を超える場合を示す。
【００７８】
この場合、予約領域ページバッファ３６に「Ｈ」を格納し、図１７に示すように、ワード線ＷＬ１のプログラム動作の際に、ＢＬ０を「Ｈ」とすることにより、ワード線ＷＬ１とＢＬ０に接続された予約領域のメモリセルに「Ｈ」がプログラムされる。即ち、ＢＬ１におけるメモリセルが「Ｈ」であることにより、ワード線ＷＬ０では、一定数を越える不良メモリセルが存在していることを認識することができる。この後、隣のワード線ＷＬ１について、プログラムを行った後のベリファイを行なう。
【００７９】
この結果、図１８に示すように、ワード線ＷＬ１に接続されたメモリセルにおいて、不良メモリセルの数が一定数を超える場合には、予約領域ページバッファ３６に「Ｈ」を格納し、ワード線ＷＬ２のプログラム動作の際に、ビット線ＢＬ１を「Ｈ」とすることにより、ワード線ＷＬ２とＢＬ１に接続された予約領域のメモリセルに「Ｈ」がプログラムされる。尚、この際、ビット線ＢＬ０も「Ｈ」である場合には、ワード線ＷＬ２とＢＬ０に接続された予約領域のメモリセルに「Ｈ」がプログラムされる。
【００８０】
このようにして、順次ワード線ＷＬごとにプログラムを行ないつつ、ベリファイを行なった結果について、その情報を次のワード線ＷＬのプログラムの際に、予約領域におけるメモリセルに情報を記憶させ、ブロック全体のプログラムを行なう。
【００８１】
尚、ブロックの最後のワード線ＷＬ１５におけるメモリセルにおいて一定数を超える不良メモリセルが存在している場合には、その前のワード線ＷＬ１４における予約領域のメモリセルにその旨の情報を記憶する。また、ワード線ＷＬ１５及びＷＬ１４におけるメモリセルにおいて、ともに一定数を超える不良メモリセルが存在していた場合には、その前のワード線ＷＬ１３における予約領域のメモリセルにその旨の情報を記憶する。
【００８２】
図１９には、ワード線ＷＬ１５とワード線ＷＬ１４におけるメモリセルにおいて、ともに一定数を超える不良メモリセルが存在していた場合を示す。
【００８３】
この場合には、ワード線ＷＬ１３における予約領域のメモリセルをクリアにした後、ワード線ＷＬ１３の予約領域のメモリセルについてプログラムを実施する。具体的には、ビット線ＢＬ１４及びＢＬ１５を「Ｈ」とすることにより、ワード線ＷＬ１３とビット線ＢＬ１４及びＢＬ１５とに接続されたメモリセルに「Ｈ」がプログラムされる。
【００８４】
このように予約領域のメモリセルに記憶されたビット線ＢＬごとの不良メモリセルの情報は、すべてのワード線ＷＬを０〔Ｖ〕とすることにより読み出すことができ、ブロックの不良ページ情報を得ることができる。
【００８５】
尚、ワード線を２本ごとに行なう場合においては、予約領域におけるビット線の本数は、図２０に示すように半分にすることがでる。このため、予約領域におけるメモリセルの数も半分にすることができ、メモリセルを有効に活用することができる。
【００８６】
以上、実施の形態において本発明における不揮発性半導体記憶装置について詳細に説明したが、本発明は上記実施の形態に限定されるものではなく、これ以外の形態をとることが可能である。
【図面の簡単な説明】
【００８７】
【図１】第１の実施の形態における半導体記憶装置のブロック図
【図２】第１の実施の形態におけるバッドブロックコントローラの構成図
【図３】第１の実施の形態における半導体記憶装置の消去のフローチャート
【図４】第１の実施の形態における消去ベリファイの工程図（１）
【図５】第１の実施の形態における消去ベリファイの工程図（２）
【図６】第１の実施の形態における半導体装置の新たなブロックの概念図
【図７】第１の実施の形態における半導体記憶装置のプログラムのフローチャート
【図８】第２の実施の形態におけるバッドブロックコントローラの構成図
【図９】第２の実施の形態における論理アドレスと物理アドレスの関係図
【図１０】第２の実施の形態における消去ベリファイの工程図（１）
【図１１】第２の実施の形態における消去ベリファイの工程図（２）
【図１２】第２の実施の形態における別の消去ベリファイの工程図（１）
【図１３】第２の実施の形態における別の消去ベリファイの工程図（２）
【図１４】第２の実施の形態における半導体記憶装置のプログラムのフローチャート
【図１５】第２の実施の形態における予約領域の概念図
【図１６】第２の実施の形態におけるプログラムベリファイの工程図（１）
【図１７】第２の実施の形態におけるプログラムベリファイの工程図（２）
【図１８】第２の実施の形態におけるプログラムベリファイの工程図（３）
【図１９】第２の実施の形態におけるプログラムベリファイの工程図（４）
【図２０】第２の実施の形態における別の予約領域の概念図
【符号の説明】
【００８８】
１５・・・Ｉ／Ｏ部、１６・・・データ入出力バッファ、１７・・・コマンド入出力バッファ、１８・・・アドレスバッファ、１９・・・ロウデコーダ、２０・・・ワード線制御回路、２１・・・カラムデコーダ、２２・・・ビット線制御回路、２３・・・メモリセルアレイ、２４・・・バットブロックコントローラ、２５・・・ステータスレジスタ、Ｐ、Ｑ・・・ブロック、Ｐ１、Ｑ１・・・ブロックの上位の領域、Ｐ２、Ｑ２・・・ブロックの下位の領域
【図１】
2008159134.tif 000003
【図２】
2008159134.tif 000004
【図３】
2008159134.tif 000005
【図４】
2008159134.tif 000006
【図５】
2008159134.tif 000007
【図６】
2008159134.tif 000008
【図７】
2008159134.tif 000009
【図８】
2008159134.tif 000010
【図９】
2008159134.tif 000011
【図１０】
2008159134.tif 000012
【図１１】
2008159134.tif 000013
【図１２】
2008159134.tif 000014
【図１３】
2008159134.tif 000015
【図１４】
2008159134.tif 000016
【図１５】
2008159134.tif 000017
【図１６】
2008159134.tif 000018
【図１７】
2008159134.tif 000019
【図１８】
2008159134.tif 000020
【図１９】
2008159134.tif 000021
【図２０】
2008159134.tif 000022