(57)【要約】【課題】不揮発性メモリを長寿命化する。【解決手段】本実施形態に係る半導体記憶装置は、不揮発性メモリと消去部とベリファイ部と変更部と判断部と禁止部とを含む。消去部は、消去対象エリアに対して消去電圧印加処理を繰り返し実行し、データの消去が成功と判断されるか、又は、消去電圧印加処理の実行回数が第１のしきい値を超える場合に消去電圧印加処理の繰り返しを停止する。ベリファイ部は、消去電圧印加処理に対応して消去ベリファイ電圧を用いて消去ベリファイ処理を実行する。変更部は、データの消去が成功ではないと判断された場合に、ベリファイ電圧を次の消去ベリファイ処理で用いられる新たな消去ベリファイ電圧に変更する。判断部は、データの消去が成功と判断された場合に、消去対象エリアにおいてデータの消去が成功するまでに必要とした消去時間が第２のしきい値を超えるか判断する。禁止部は、消去時間が第２のしきい値を超える場合、消去対象エリアを使用禁止状態とする。【選択図】      図１
2018170057.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリと、
前記不揮発性メモリにおける消去対象エリアに記憶されているデータに対して消去電圧印加処理を繰り返し実行し、前記データの消去が成功と判断されることと前記消去電圧印加処理の実行回数が第１のしきい値を超えることとのうちのいずれかが成立する場合に前記消去電圧印加処理の繰り返しを停止する消去部と、
前記消去電圧印加処理に対応し消去ベリファイ電圧を用いて前記データの消去が成功か否かを判断する消去ベリファイ処理を実行するベリファイ部と、
前記消去ベリファイ処理によって前記データの消去が成功ではないと判断された場合に、前記ベリファイ電圧を次の消去ベリファイ処理で用いられる新たな消去ベリファイ電圧に変更する変更部と、
前記データの消去が成功と判断された場合に、前記消去対象エリアにおいて前記データの消去が成功するまでに必要とした消去時間が第２のしきい値を超えるかを判断する判断部と、
前記消去時間が前記第２のしきい値を超える場合、前記消去対象エリアを使用禁止状態とする禁止部と、
を具備する、半導体記憶装置。
【請求項２】
前記変更部は、前記消去ベリファイ電圧を、前記消去ベリファイ電圧よりも前記データの消去が成功と判断されにくくなる前記新たな消去ベリファイ電圧に変更する、請求項１に記載の半導体記憶装置。
【請求項３】
前記変更部は、前記消去電圧印加処理の前記実行回数が所定の値の場合に、前記消去ベリファイ電圧を前記新たな消去ベリファイ電圧へ変更する、請求項２に記載の半導体記憶装置。
【請求項４】
前記消去時間が前記第２のしきい値以下の場合、前記データの消去が成功と判断した前記消去ベリファイ処理において用いられた消去ベリファイ電圧を、前記消去対象エリアに対する次の消去において最初に用いられる開始消去ベリファイ電圧として設定する設定部をさらに具備する、請求項１乃至請求項３のいずれか１項に記載の半導体記憶装置。
【請求項５】
前記ベリファイ部は、前記消去ベリファイ処理によって前記データの消去が成功ではないと判断された場合に、前記消去対象エリアにおいて消去が成功していないビットの数を示すフェイルビット数データを生成し、
前記フェイルビット数データの示す前記ビットの数が第３のしきい値を超えるか否か判断するフェイルビット数判断部をさらに具備し、
前記変更部は、前記フェイルビット数データの示す前記ビットの数が前記第３のしきい値を超える場合に、前記消去ベリファイ電圧を前記新たな消去ベリファイ電圧へ変更する、
ことを特徴とする請求項１乃至請求項４のいずれか１項に記載の半導体記憶装置。
【請求項６】
不揮発性メモリと、
前記不揮発性メモリにおける消去対象エリアに記憶されているデータに対して消去電圧印加処理を繰り返し実行し、前記データの消去が成功と判断されることと前記消去電圧印加処理の実行回数が第１のしきい値を超えることとのうちのいずれかが成立する場合に前記消去電圧印加処理の繰り返しを停止する消去部と、
前記消去電圧印加処理に対応し消去ベリファイ電圧を用いて前記データの消去が成功か否かを判断する消去ベリファイ処理を実行するベリファイ部と、
前記消去ベリファイ処理によって前記データの消去が成功と判断された場合に、前記消去対象エリアにおいて前記データの消去が成功するまでに必要とした消去時間が第２のしきい値を超えるかを判断する判断部と、
前記消去時間が前記第２のしきい値を超える場合、前記消去対象エリアを使用禁止状態とする禁止部と、
を具備する半導体記憶装置。
【請求項７】
不揮発性メモリにおける消去対象エリアに記憶されているデータに対して消去電圧印加処理を繰り返し実行し、前記消去電圧印加処理に対応し前記データの消去が成功か否かを判断する消去ベリファイ処理を実行することと、
前記消去ベリファイ処理によって前記データの消去が成功と判断されることと前記消去電圧印加処理の実行回数が第１のしきい値を超えることとのうちのいずれかが成立する場合に前記消去電圧印加処理の繰り返しを停止することと、
前記消去ベリファイ処理によって前記データの消去が成功ではないと判断された場合に、前記ベリファイ電圧を次の消去ベリファイ処理で用いられる新たな消去ベリファイ電圧に変換することと、
前記データの消去が成功と判断された場合に、前記消去対象エリアにおいて前記データの消去が成功するまでに必要とした消去時間が第２のしきい値を超えるかを判断することと、
前記消去時間が前記第２のしきい値を超える場合、前記消去対象エリアを使用禁止状態とすることと、
を具備するデータ消去制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、不揮発性メモリを備える半導体記憶装置及びそのデータ消去制御方法に関する。
【背景技術】
【０００２】
不揮発性メモリの一例としてＮＡＮＤ型フラッシュメモリがある。ＮＡＮＤ型フラッシュメモリにおいては、メモリセルへのプログラム（ライト）電圧又は消去電圧の印加が反復されると、メモリセルのトンネル酸化膜が劣化し、メモリセルに対するプログラム、リード、又は、消去にエラーが発生する場合がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１６９０２０号公報
【特許文献２】特開２０１２−６９１８５号公報
【特許文献３】特開２００３−３６６８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本実施形態は、不揮発性メモリの長寿命化を可能とするための半導体記憶装置及びそのデータ消去制御方法を提供する。
【課題を解決するための手段】
【０００５】
本実施形態に係る半導体記憶装置は、不揮発性メモリと消去部と変更部と判断部と禁止部とを含む。消去部は、不揮発性メモリにおける消去対象エリアに記憶されているデータに対して消去電圧印加処理を繰り返し実行し、データの消去が成功と判断されることと消去電圧印加処理の実行回数が第１のしきい値を超えることとのうちのいずれかが成立する場合に消去電圧印加処理の繰り返しを停止する。ベリファイ部は、消去電圧印加処理に対応し消去ベリファイ電圧を用いてデータの消去が成功か否かを判断する消去ベリファイ処理を実行する。変更部は、消去ベリファイ処理によってデータの消去が成功ではないと判断された場合に、ベリファイ電圧を次の消去ベリファイ処理で用いられる新たな消去ベリファイ電圧に変更する。判断部は、データの消去が成功と判断された場合に、消去対象エリアにおいてデータの消去が成功するまでに必要とした消去時間が第２のしきい値を超えるかを判断する。禁止部は、消去時間が第２のしきい値を超える場合、消去対象エリアを使用禁止状態とする。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態に係る半導体記憶装置の一例を示すブロック図。
【図２】第１の実施形態に係るプロセッサと第２のコントローラとで実現される機能の一例を示すブロック図。
【図３】第１の実施形態に係る揮発性メモリと不揮発性メモリに備えられているメモリとに記憶されるデータの一例を示すブロック図。
【図４】メモリセルアレイの構成の一例を示す回路図。
【図５】メモリセルの一例を示す断面図。
【図６】消去電圧印加処理と消去ベリファイ処理との関係の一例を示すグラフ。
【図７】メモリセルのしきい値電圧分布と消去ベリファイ電圧とフェイルビット数との関係の一例を示すグラフ。
【図８】消去ベリファイ処理でフェイル（消去不足）と判断される場合のしきい値電圧分布と、パス（消去十分）と判断される場合のしきい値電圧分布との対比例を示すグラフ。
【図９】メモリセルのしきい値電圧分布と消去ベリファイ電圧の昇圧との関係の一例を示すグラフ。
【図１０】ベリファイ電圧パターンデータで示されるループ回数と消去ベリファイ電圧との関係の一例を示すグラフ。
【図１１】消去ベリファイ電圧が１段階昇圧される場合のループ回数と消去ベリファイ電圧との関係の一例を示すグラフ。
【図１２】開始消去ベリファイ電圧を用いる場合のループ回数と消去ベリファイ電圧との関係の第１の例を示すグラフ。
【図１３】開始消去ベリファイ電圧から１段階昇圧が生じた場合のループ回数と消去ベリファイ電圧との関係の一例を示すグラフ。
【図１４】開始消去ベリファイ電圧を用いる場合のループ回数と消去ベリファイ電圧との関係の第２の例を示すグラフ。
【０００７】
第１の実施形態に係る消去ベリファイ電圧の段階的変化の一例を示すグラフ。
【図１５】第１の実施形態に係る半導体記憶装置によって実行されるデータ消去制御処理の一例を示すフローチャート。
【図１６】第２の実施形態に係る半導体記憶装置の一例を示すブロック図。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら各実施形態について説明する。以下の説明において、略又は実質的に同一の機能及び構成要素については、同一符号を付し、説明を省略するか、又は、必要に応じて説明を行う。
【０００９】
［第１の実施形態］
本実施形態においては、不揮発性メモリの一例としてＮＡＮＤ型フラッシュメモリを例として説明を行う。しかしながら、不揮発性メモリは、ある領域単位で当該領域に記憶されているデータの消去（erase）を行うメモリであれば他の種類のメモリでもよい。より具体的には、不揮発性メモリは、例えば、ＮＯＲ型フラッシュメモリ、ＭＲＡＭ（Magnetoresistive Random Access Memory）、ＰＲＡＭ（Phase change Random Access Memory）、ＲｅＲＡＭ（Resistive Random Access Memory）、又は、ＦｅＲＡＭ（Ferroelectric Random Access Memory）などでもよい。
【００１０】
本実施形態においては、不揮発性メモリの消去対象エリア内に対してデータを消去するために消去電圧が印加される処理を消去電圧印加処理という。本実施形態では、消去対象エリアの単位はブロックとして説明を行う。
【００１１】
図１は、本実施形態に係る半導体記憶装置１の一例を示すブロック図である。この図１は、半導体記憶装置１が例えばソリッド・ステート・ドライブ（ＳＳＤ）の場合を例として示している。しかしながら、半導体記憶装置１は、例えばメモリカードなどのＳＳＤと異なる装置でもよい。この図１では、消去対象ブロックに対するデータの消去とその確認に関わる構成要素のみを示しており、他の構成要素は省略している。
【００１２】
図２は、本実施形態に係るプロセッサ６と第２のコントローラ２７とで実現される機能の一例を示すブロック図である。この図２において、第２のコントローラ２７は、消去部１９、ベリファイ部２０を実現する。プロセッサ６は、第１の判断部２２、変更部２３、第２の判断部２４、設定部２５、禁止部２６として機能する。これらの構成の配置は、適宜変更可能である。
【００１３】
図３は、本実施形態に係る揮発性メモリ４とＮＡＮＤ型フラッシュメモリ２に備えられているメモリ２８とに記憶されるデータの一例を示すブロック図である。この図３において、ＮＡＮＤ型フラッシュメモリ２に備えられているメモリ２８は、ループ回数データ１２、ベリファイ結果データ１４、フェイルビット数データ１５を記憶している。揮発性メモリ４は、制御プログラム１１、ベリファイ電圧パターンデータ３８、ベリファイ電圧データ１３、消去時間データ１６、バッドブロックデータ１７、アドレス変換データ１８を記憶している。これらのデータの配置は、適宜変更可能である。
【００１４】
図１において、半導体記憶装置１は、ＮＡＮＤ型フラッシュメモリ２、第１のコントローラ３、揮発性メモリ４を備える。ＮＡＮＤ型フラッシュメモリ２は、メモリセルアレイＡ１と第２のコントローラ（例えばシーケンサ）２７とメモリ２８を含む。また、半導体記憶装置１は、当該半導体記憶装置１をアクセスするホスト装置５と接続される。
【００１５】
本実施形態において、半導体記憶装置１は、ＮＡＮＤ型フラッシュメモリ２に対するデータの消去において、ループ回数データ１１とベリファイ電圧パターンデータ３８とベリファイ電圧データ１３に基づいて、消去対象ブロックにおけるデータの消去が成功したか否かを判断するために用いられる消去ベリファイ電圧を段階的に変化させる。消去ベリファイ処理では、消去ベリファイ処理対象のブロックの全ワード線に消去ベリファイ電圧が印加され、電流が流れないビット線の数がカウントされる。この電流が流れないビット線の数がフェイルビット数となる。フェイルビット数については、図７から図９までを用いて後でより具体的に説明する。
【００１６】
本実施形態において、消去ベリファイ電圧の昇圧とは、消去ベリファイ処理においてデータの消去が成功したと判断されにくくなるように消去ベリファイ電圧を変更することをいう。したがって、消去ベリファイ電圧をマイナスの方向へシフトすることによって、消去ベリファイ処理においてデータの消去が成功したと判断されにくくなる場合には、このような消去ベリファイ電圧のマイナスの方向へのシフトも、消去ベリファイ電圧の昇圧に含まれるとする。
【００１７】
本実施形態において、消去電圧の昇圧とは、消去電圧印加処理においてデータの消去を促進する方向に消去電圧を変更することをいう。より具体的に説明すると、消去電圧の昇圧とは、消去電圧印加処理においてよりデータを消去するために半導体基板とコントロールゲート間に印加する電圧の絶対値を段階的に高くすることを意味している。
【００１８】
まず、本実施形態に係る半導体記憶装置１を比較例の消去動作と対比して概説する。
【００１９】
比較例の消去動作としては、消去対象ブロックに対して消去電圧印加処理と当該消去電圧印加処理に対応する消去ベリファイ処理とを繰り返し、このループ回数が上限を示すしきい値（以下、比較例のしきい値という）を超えた場合に、この消去対象ブロックを使用禁止状態とする技術がある。なお、使用禁止状態のブロックをバッドブロックという。
【００２０】
これに対して、本実施形態に係る半導体記憶装置１は、消去対象ブロックに対して消去電圧印加処理と消去ベリファイ処理を繰り返し、当該消去電圧印加処理の繰り返しに応じて消去ベリファイ処理で用いられる消去ベリファイ電圧を昇圧する（消去ベリファイ処理において成功と判断されにくい状態とする）。
【００２１】
また、本実施形態に係る半導体記憶装置１は、消去対象ブロックに対する消去電圧印加処理のループ回数（例えば実行回数でもよい）が、上限を示すループ回数しきい値（第１のしきい値）を超える場合に、当該消去対象ブロックに対する消去電圧印加処理の繰り返しを停止する。ここで、本実施形態で用いられるループ回数しきい値は、上記の比較例のしきい値より大きい値が設定される。
【００２２】
このため、本実施形態においては、比較例の消去動作の場合と比べて、消去対象ブロックに対するデータの消去が促進される。
【００２３】
さらに、本実施形態においては、消去対象ブロックに対するデータの消去が開始されてから完了するまでに必要とした消去時間（例えばtBERASE）が消去時間しきい値（第２のしきい値）を超える場合に、消去対象ブロックをバッドブロックとする。
【００２４】
本実施形態においては、ループ回数が、比較例のしきい値よりも大きいループ回数しきい値以下の範囲内であれば、tBERASEが消去時間しきい値以下の消去対象ブロックを積極的に使用し続け、過剰なバッドブロックの増加を避けることができ、半導体記憶装置１を長寿命化することができる。
【００２５】
次に、図１から図３に示した各構成要素について説明する。
【００２６】
ホスト装置５は、大量且つ多様なデータを半導体記憶装置１に記憶するストレージサーバ（サーバ）でもよいし、パーソナルコンピュータでもよい。半導体記憶装置１は、ホスト装置５のメインストレージとして使用されてもよい。半導体記憶装置１は、ホスト装置５に内蔵されてもよいし、ホスト装置５にネットワークを介して接続されてもよい。
【００２７】
ホスト装置５は、データを半導体記憶装置１にライトするときに、半導体記憶装置１に対してライトコマンドを送信する。ホスト装置５は、半導体記憶装置１からデータをリードするときに、半導体記憶装置１に対してリードコマンドを送信する。
【００２８】
ＮＡＮＤ型フラッシュメモリ２はメモリセルアレイＡ１を含み、メモリセルアレイＡ１はマトリクス状に配置された複数のメモリセルを含む。ＮＡＮＤ型フラッシュメモリ２は、２次元構造のＮＡＮＤ型フラッシュメモリでもよく、３次元構造のＮＡＮＤ型フラッシュメモリでもよい。メモリセルアレイＡ１は、複数の物理ブロックＢ０〜Ｂｍ−１を含む。物理ブロックＢ０〜Ｂｍ−１の各々は複数のページ（ここではページＰ０〜Ｐｎ−１）を含む。物理ブロックＢ０〜Ｂｍ−１は、アドレス指定可能な最小の消去単位として機能する。物理ブロックは、「消去ブロック」、「物理消去ブロック」、又は、上記のように単に「ブロック」と称されることもある。ページＰ０〜Ｐｎ−１の各々は、同一ワード線に接続された複数のメモリセルを含む。ページＰ０〜Ｐｎ−１は、データライト動作およびデータリード動作の単位である。メモリセルアレイＡ１及びメモリセルのより詳細な構成については図４及び図５を用いて後で説明する。
【００２９】
ＮＡＮＤ型フラッシュメモリ２に含まれる第２のコントローラ２７は、図２に示すように、消去部１９、ベリファイ部２０として機能する。この第２のコントローラ２７は、図１に示すように一体構造でもよく、複数に分割された回路により実現されてもよい。
【００３０】
ＮＡＮＤ型フラッシュメモリ２に含まれるメモリ２８は、図３に示すように、ループ回数データ１２、ベリファイ結果データ１４、フェイルビット数データ１５を記憶する。メモリ２８としては、例えばレジスタ又はバッファメモリが用いられるが、これに限定されるものではなく、様々な揮発性又は不揮発性のメモリを用いることができる。メモリ２８は第２のコントローラ２７に含まれていてもよく、メモリセルアレイＡ１の一部がメモリ２８として用いられてもよい。
【００３１】
第１のコントローラ３は、図１に示すように、プロセッサ６、ホストインタフェース７、ＮＡＮＤインタフェース８、揮発性メモリインタフェース９を含む。プロセッサ６、ホストインタフェース７、ＮＡＮＤインタフェース８、揮発性メモリインタフェース９は、バス１０を介して相互接続されていてもよい。
【００３２】
プロセッサ６は、ホスト装置５から、ホストインタフェース７経由で、様々なコマンド（例えば、ライトコマンド、リードコマンド等）を受信する。また、プロセッサ６は、データ（例えば、リードデータ、エラー情報等）を、ホストインタフェース７経由で、ホスト装置５へ送信する。プロセッサ６としては、例えば、ＣＰＵ（Central Processing Unit）又はＭＰＵ（Microprocessor Unit）を利用することができる。
【００３３】
プロセッサ６は、ホスト装置５からホストインタフェース７及びバス１０経由でライトコマンドを受信した場合に、当該ライトコマンドにしたがって、バス１０及びＮＡＮＤインタフェース８経由でＮＡＮＤ型フラッシュメモリ２へデータをライトする。
【００３４】
プロセッサ６は、ホスト装置５からホストインタフェース７及びバス１０経由でリードコマンドを受信した場合に、当該リードコマンドにしたがって、ＮＡＮＤ型フラッシュメモリ２からＮＡＮＤインタフェース８及びバス１０経由でデータをリードし、リードされたデータをバス１０及びホストインタフェース７経由でホスト装置５に送信する。
【００３５】
プロセッサ６は、例えば、ホスト装置５からのライトコマンドに応じたデータの上書き、ガベージコレクション、リフレッシュ、ウェアレベリングなどの結果により、有効データを記憶していないフリーブロックが生じた場合に、新たなライト先ブロックを生成するために、当該フリーブロックを消去する。
【００３６】
プロセッサ６は、揮発性メモリインタフェース９及びバス１０経由で、揮発性メモリ４へデータをライト可能であり、揮発性メモリ４からデータをリード可能である。
【００３７】
以下においては、説明を簡素化するために、ホストインタフェース７、ＮＡＮＤインタフェース８、揮発性メモリインタフェース９、バス１０については省略して説明を行う。
【００３８】
プロセッサ６は、半導体記憶装置１の電源オンに応答して、ＮＡＮＤ型フラッシュメモリ２に記憶されている制御プログラム（ファームウェア）１１、ベリファイ電圧パターンデータ３８、ベリファイ電圧データ１３、バッドブロックデータ１７、アドレス変換データ１８をリードし、揮発性メモリ４に記憶する。また、プロセッサ６は、半導体記憶装置１の電源がオフされる前に、揮発性メモリ４に記憶されているベリファイ電圧データ１３、バッドブロックデータ１７、アドレス変換データ１８をＮＡＮＤ型フラッシュメモリ２にライトする。なお、消去時間データ１６についても、半導体記憶装置１の電源オンに応答してＮＡＮＤ型フラッシュメモリ２からリードされてもよく、半導体記憶装置１の電源がオフされる前にＮＡＮＤ型フラッシュメモリ２にライトされてもよい。
【００３９】
プロセッサ６は、制御プログラム１１を実行することにより、例えば、図２に示すように、第１の判断部２２、変更部２３、第２の判断部２４、設定部２５、禁止部２６として機能する。なお、プロセッサ６によって実現される第１の判断部２２、変更部２３、第２の判断部２４、設定部２５、禁止部２６のうちの少なくとも１つは、ハードウェアで実現されてもよく、プロセッサ６とは別構成で第１のコントローラ３に備えられていてもよい。
【００４０】
本実施形態において、第２のコントローラ２７で実現される消去部１９、ベリファイ部２０と、プロセッサ６で実現される第１の判断部２２、変更部２３、第２の判断部２４、設定部２５、禁止部２６とは、互いに連携して動作可能である。
【００４１】
本実施形態において、揮発性メモリ４は、図３に示すように、制御プログラム１１、ベリファイ電圧パターンデータ３８、ベリファイ電圧データ１３、消去時間データ１６、バッドブロックデータ１７、アドレス変換データ１８を記憶する。
【００４２】
ループ回数データ１２は、消去対象ブロックを示すブロック識別情報と、当該消去対象ブロックに対して実行されている消去電圧印加処理のループ回数とを関連付けている。
【００４３】
ベリファイ電圧パターンデータ３８は、消去ベリファイ電圧を昇圧すべきループ回数と当該昇圧すべきループ回数に対応する消去ベリファイ電圧の値との関係を含む。このベリファイ電圧パターンデータ３８については、図１０を用いて後で具体的に説明する。
【００４４】
ベリファイ電圧データ１３は、ＮＡＮＤ型フラッシュメモリ２に含まれる各ブロックを示すブロック識別情報と、当該ブロック識別情報で示されるブロックに対する開始消去ベリファイ電圧とを関係付けている。開始消去ベリファイ電圧とは、消去対象ブロックに対する消去動作の開始時の消去電圧印加処理に対応する消去ベリファイ処理において用いられる消去ベリファイ電圧である。開始消去ベリファイ電圧は、設定部２５によって更新される前においてはデフォルト値を持つとしてもよい。
【００４５】
ベリファイ結果データ１４は、消去対象ブロックを示すブロック識別情報と、当該消去対象ブロックに対する消去ベリファイ処理の結果（パス（成功）、又は、フェイル（失敗）を示す情報とを関連付けている。
【００４６】
フェイルビット数データ１５は、例えば、消去対象ブロックを示すブロック識別情報と、当該消去対象ブロックに対するフェイルビット数とを関連付けている。
【００４７】
消去時間データ１６は、消去対象ブロックを示すブロック識別情報と、当該消去対象ブロックに対するtBERASEとを関係付けている。
【００４８】
バッドブロックデータ１７は、ＮＡＮＤ型フラッシュメモリ２に含まれる複数のブロックのうちのバッドブロックを示すバッドブロック識別情報（例えば論理アドレス又は物理アドレス）を含む。
【００４９】
アドレス変換データ１８は、例えば、ホスト装置５から受信された論理アドレスを、ＮＡＮＤ型フラッシュメモリ２の物理アドレスに変換するために用いられるデータである。
【００５０】
上記の各種データ１２〜１７は、自由に分割し、又は、組み合わせて管理されてもよい。例えば、ブロック識別情報に対して、ループ回数、消去ベリファイ処理のパス／フェイル、開始消去ベリファイ電圧、フェイルビット数、tBERASE、バッドブロックか否かを示す情報が関連付けらたデータが半導体記憶装置１で用いられてもよい。
【００５１】
上記の各種のデータのうちループ回数データ１２、ベリファイ結果データ１４、フェイルビット数データ１５、消去時間データ１６は、消去動作が実行されている消去対象ブロックに関するデータのみを含むとしてもよい。このように、消去動作に必要なデータのみを揮発性メモリ４又はメモリ２８に記憶することにより、ループ回数データ１２、ベリファイ結果データ１４、フェイルビット数データ１５、消去時間データ１６が全てのブロックＢ０〜Ｂｍ−１に関するデータを含む場合よりも、必要とするメモリ容量を少なくすることができる。なお、ベリファイ電圧データ１３に関しては、全てのブロックＢ０〜Ｂｍ−１に関する開始消去ベリファイ電圧を含むとする。
【００５２】
消去部１９は、消去対象ブロックに対する消去電圧印加処理を行う。さらに、本実施形態において、消去部１９は、消去動作で実行された消去電圧印加処理のループ回数を、ループ回数データ１２を用いて管理する。消去部１９は、ループ回数の上限を示すループ回数しきい値を持ち、ループ回数データ１２の示す消去対象ブロックに対する消去電圧印加処理のループ回数がループ回数しきい値を超える場合には、消去電圧印加処理のループを終了する。この場合、禁止部２６がバッドブロックデータ１７に消去対象ブロックのブロック識別情報を追加し、消去対象ブロックをバッドブロックとする。
【００５３】
消去部１９がデータの消去のために用いる消去電圧は、ループ回数に応じて変更されてもよい。例えば、消去部１９は、ループ回数が多くなるほど、より消去対象ブロックに対するデータの消去が促進されるよう消去電圧を変更（例えば昇圧）してもよい。
【００５４】
あるいは、消去部１９は、ループ回数に関係なく同じ消去電圧により消去電圧印加処理を行ってもよい。
【００５５】
ベリファイ部２０は、ベリファイ電圧データ１３の示す開始消去ベリファイ電圧、又は、変更部２３によって変更された消去ベリファイ電圧を用いて、消去対象ブロックに対するデータの消去がパスかフェイルかを判断する消去ベリファイ処理を実行する。
【００５６】
本実施形態において、ベリファイ部２０は、例えば、開始消去ベリファイ電圧と変更部２３によって変更された消去ベリファイ電圧とを比較し、より高い消去ベリファイ電圧を選択し、当該選択された消去ベリファイ電圧を用いて消去ベリファイ処理を実行する。換言すれば、ベリファイ部２０は、ベリファイ電圧データ１３の示す開始消去ベリファイ電圧と変更部２３によって変更された消去ベリファイ電圧とのうち、消去ベリファイ処理によってパスと判断されにくい消去ベリファイ電圧を用いて消去ベリファイ処理を実行する。
【００５７】
ベリファイ部２０が消去ベリファイ処理において用いる消去ベリファイ電圧については、図７から図９までを用いて後でより詳細に説明する。
【００５８】
消去ベリファイ処理において、ベリファイ部２０は、まず、ベリファイ電圧データ１３の示す開始消去ベリファイ電圧、又は、変更部２３によって変更された消去ベリファイ電圧を用いて、消去対象ブロックのフェイルビット数をカウントする。ベリファイ部２０は、消去対象ブロックを示すブロック識別情報と、当該消去対象ブロックに対するフェイルビット数とを関連付けた状態でフェイルビット数データ１５に記憶する。
【００５９】
次に、ベリファイ部２０は、消去対象ブロックのフェイルビット数が、消去ベリファイ処理がパスであるかフェイルであるかを判断するために定められているベリファイフェイルビット数しきい値以下の場合に、パスと判断し、フェイルビット数がベリファイフェイルビット数しきい値を超えている場合に、フェイルと判断する。ベリファイ部２０は、消去対象ブロックを示すブロック識別情報と、当該消去対象ブロックに対する消去ベリファイ処理のパス又はフェイルを示す情報とを関連付けた状態でベリファイ結果データ１４に記憶する。
【００６０】
さらに、ベリファイ部２０は、消去ベリファイ処理がフェイルの場合に、フェイルビット数データ１５を第１のコントローラ３内の第１の判断部２２に送信し、消去ベリファイ処理がパスの場合に、パスを示すベリファイ結果データ１４を第１のコントローラ３内の第２の判断部２４に送信する。
【００６１】
上記の消去部１９による消去電圧印加処理とベリファイ部２０による消去ベリファイ処理との関係は、図６を用いて後でより詳細に説明する。
【００６２】
第１の判断部２２は、ベリファイ部２０から受信したフェイルビット数データ１５の示す消去対象ブロックのフェイルビット数に基づいて、消去対象ブロックのフェイルビット数が消去ベリファイ電圧の変更を許可する範囲に基づいて定められている変更しきい値（第３のしきい値）を超えるか否か判断する。
【００６３】
変更部２３は、消去対象ブロックのフェイルビット数が変更しきい値を超える場合に、ループ回数データ１２とベリファイ電圧パターンデータ３８とに基づいて、ベリファイ部２０において消去対象ブロックに対して用いられる消去ベリファイ電圧を変更する。本実施形態において、変更部２３は、例えば、消去対象ブロックのフェイルビット数が変更しきい値を超えており、消去電圧印加処理のループ回数が消去ベリファイ電圧を昇圧すべき回数の場合に、ベリファイ電圧を昇圧する。消去ベリファイ電圧が昇圧されると、消去ベリファイ処理によってデータの消去がパスと判断されにくくなる。
【００６４】
なお、消去対象ブロックのフェイルビット数が変更しきい値以下の場合、又は、変更部２３によって消去ベリファイ電圧が変更されると、消去部１９が、当該消去対象ブロックに対する消去電圧印加処理のループ回数をインクリメントし、インクリメントされたループ回数と当該消去対象ブロックのブロック識別情報とを関連付けてループ回数データ１２を更新し、消去電圧印加処理を繰り返す。
【００６５】
第２の判断部２４は、ベリファイ部２０からパスを示すベリファイ結果データ１４を受信した場合に、消去対象ブロックのtBERASEを求め、消去対象ブロックを示すブロック識別情報とtBERASEとを関連付けた状態で消去時間データ１６に記憶する。そして、第２の判断部２４は、消去時間データ１６に基づいて消去対象ブロックのtBERASEが消去時間しきい値を超えるか否か判断することにより、消去対象ブロックをバッドブロック化するか否か判断する。
【００６６】
設定部２５は、第２の判断部２４によって消去対象ブロックをバッドブロック化しないと判断された場合に、データの消去をパスと判断した消去ベリファイ処理において用いられた最新の消去ベリファイ電圧を、消去対象ブロックに対する次の消去動作において最初に用いられる開始消去ベリファイ電圧に設定し、消去対象ブロックを示すブロック識別情報と開始消去ベリファイ電圧とを関連付けた状態でベリファイ電圧データ１３に記憶する。
【００６７】
禁止部２６は、第２の判断部２４によって消去対象ブロックをバッドブロック化すると判断された場合に、当該消去対象ブロックを示すブロック識別情報がバッドブロックデータ１７に含まれるようにバッドブロックデータ１７を更新し、当該消去対象ブロックをバッドブロックとする。
【００６８】
本実施形態に係るベリファイフェイルビット数しきい値、ループ回数しきい値、消去時間しきい値、変更しきい値、消去部１９によって印加される消去電圧のパターン、ベリファイ電圧パターンデータ３８の示す消去ベリファイ電圧の昇圧パターンなどは、実測値、理論値、統計値、エラーレート、処理時間の長さなどにしたがって適宜設定することができる。
【００６９】
図４は、メモリセルアレイＡ１の構成の一例を示す回路図である。
【００７０】
メモリセルアレイＡ１には、複数のメモリセル４４がマトリクス状に配列されている。メモリセルアレイＡ１は、複数のＮＡＮＤセルを含む。１つのＮＡＮＤセルは、直列接続されたメモリセル４４からなるメモリストリングＭＳと、その両端に接続される選択ゲートＧ１，Ｇ２とを含む。選択ゲートＧ１は、ビット線ＢＬ0〜ＢＬn-1に接続されている。選択ゲートＧ２は、ソース線ＳＲＣに接続されている。同一のロウに配列されたメモリセル４４の制御ゲートは、ワード線ＷＬ0〜ＷＬm-1に共通接続されている。第１の選択ゲートＧ１は、セレクト線ＳＧＤに共通接続されている。第２の選択ゲートＧ２は、セレクト線ＳＧＳに共通接続されている。
【００７１】
メモリセルアレイＡ１は、１又は複数のプレーンＰＬ１を含んでいる。プレーンＰＬ１は、複数のブロック４２を含む。各ブロック４２は、複数のＮＡＮＤセルを含み、データ消去の単位となる。
【００７２】
１つのワード線に接続された複数のメモリセル４４は、物理セクタとして１つのメモリセルグループ４３を構成する。各メモリセル４４が１ビット（２値）を記憶する場合には、１つのメモリセルグループ４３は、１ページに対応する。各メモリセル４４が２ビット以上（多値）を記憶する場合には、１つのメモリセルグループ４３は、複数ページに対応する。ＮＡＮＤ型フラッシュメモリでは、ページごとにデータのライト及びリードが行われる。リード動作時、プログラムベリファイ動作時、プログラム動作時において、コントローラ３から受信した物理アドレスに応じて、１本のワード線が選択され、１つのページが選択される。ページの切り替えは、物理アドレスによって行われる。
【００７３】
図５は、メモリセル４４の一例を示す断面図である。メモリセル４４は、メモリセルトランジスタである。例えば、Ｐ型の基板３０上に、Ｎ−ウェル３１ｎが形成され、Ｎ−ウェル３１ｎ中にＰ−ウェル３１ｐが形成される。Ｐ−ウェル３１中に間隔をあけてドレイン３２とソース３３が形成される。ドレイン３２とソース３３との間の上に絶縁層３４を介してフローティングゲート３５が形成される。フローティングゲート３５上に絶縁層３６を介してコントロールゲート３７が形成される。コントロールゲート３７にはワード線ＷＬが接続される。消去電圧印加処理においては、ワード線ＷＬよりも高い電圧がＰ−ウェル３１ｐに印加される。これにより、フローティングゲート３５の電子がＰ−ウェル３１ｐ側に移動し、メモリセル４４が消去状態となる。通常のポジティブのセンス動作の場合、消去ベリファイ処理時には、消去ベリファイ電圧がワード線ＷＬに印加されるが、ソース線ＳＲＣ及びＰ−ウェル３１ｐには例えば０Ｖが印加される。なお、ネガティブのセンス動作の場合（負のリード電圧を適用する場合）には、例えば、ワード線ＷＬに０Ｖ付近の電圧が印加され、ソース線ＳＲＣとＰ−ウェル３１ｐとに消去ベリファイ電圧に対応する電圧、例えば１Ｖ付近の電圧が印加される。
【００７４】
この図５で説明したように、Ｐ−ウェル３１ｐに電圧を印加することを、本実施形態では、基板に電圧を印加すると表現する場合がある。このように基板に電圧を印加すると表現した場合において、基板とは、メモリセルトランジスタのバックゲート（ｂｕｌｋ）を構成する領域を意味し、図５の基板３０ではなく、Ｐ−ウェル３１ｐを意味するものとする。
【００７５】
図６は、消去電圧印加処理と消去ベリファイ処理との関係の一例を示すグラフである。この図６において、横軸は時間、縦軸は電圧を示す。図６の説明においては、消去ベリファイ電圧の印加についてネガティブセンスではない場合を例として説明する。図６において、消去電圧Ｖera1，Ｖera2，Ｖera3、消去ベリファイ電圧Ｖevfy1，Ｖevfy2，Ｖevfy3は極性を除いた絶対値で表記されており、以下の説明においても、消去電圧Ｖera1，Ｖera2，Ｖera3、消去ベリファイ電圧Ｖevfy1，Ｖevfy2，Ｖevfy3は極性を除いた絶対値で説明する。図６では、消去ベリファイ電圧Ｖevfy1，Ｖevfy2，Ｖevfy3についてポジティブセンスの場合を例示している。この場合、消去ベリファイ電圧Ｖevfy1，Ｖevfy2，Ｖevfy3を昇圧することは、消去ベリファイ処理がパスしにくい方向に消去ベリファイ電圧を変更することを意味するため、図６で示す消去ベリファイ電圧はＶevfy1＞Ｖevfy2＞Ｖevfy3の関係を持つ。この図６では、３回の消去電圧印加処理ＥＡ１，ＥＡ２，ＥＡ３と、当該３回の消去電圧印加処理ＥＡ１，ＥＡ２，ＥＡ３のそれぞれに対応する３回の消去ベリファイ電圧印加処理ＥＰ１，ＥＰ２，ＥＰ３及びフェイルビット数のカウント処理ＦＣ１，ＦＣ２，ＦＣ３を示している。
【００７６】
図６において、ループ１で消去電圧印加処理ＥＡ１と消去ベリファイ電圧印加処理ＥＰ１とフェイルビット数のカウント処理ＦＣ１が実行され、ループ２で消去電圧印加処理ＥＡ２と消去ベリファイ電圧印加ＥＰ２とフェイルビット数のカウント処理ＦＣ２が実行され、ループ３で消去電圧印加処理ＥＡ３と消去ベリファイ電圧印加処理ＥＰ３とフェイルビット数のカウント処理ＦＣ３が実行される。
【００７７】
消去部１９によって消去電圧印加処理ＥＡ１，ＥＡ２，ＥＡ３が実行される場合、消去対象ブロックに含まれるメモリセルと接続される全てのワード線には、電圧ＶＳＳ（例えば０Ｖ）が印加される。
【００７８】
まず、消去部１９は、１回目の消去電圧印加処理ＥＡ１を実行する。この１回目の消去電圧印加処理ＥＡ１内で消去電圧Ｖera1はステップアップされている。消去電圧は、例えば、ＮＡＮＤ型フラッシュメモリ２の基板に対して印加される電圧とする。具体的には、消去対象ブロック（選択ブロック）の全てのワード線にＶＳＳを印加し、消去対象ブロックではないブロック（非選択ブロック）の全ワード線をフローティングとし、複数のブロックＢ０〜Ｂｍ−１が配置されている基板に消去電圧を印加することで、消去対象ブロックに対するデータの消去を行う。
【００７９】
１回目の消去電圧印加処理ＥＡ１の終了後に、ベリファイ部２０は、１回目の消去ベリファイ電圧印加処理ＥＰ１を実行し、１回目のフェイルビット数のカウント処理ＦＣ１を実行する。上述したように、消去ベリファイ処理では、消去ベリファイ処理対象のブロックの全ワード線に消去ベリファイ電圧Ｖevfy1を印加し、電流が流れないビット線の数をカウントし、これらの電流が流れないビット線の数をフェイルビット数として求める。消去ベリファイ処理では、フェイルビット数が、消去ベリファイ処理がパスであるかフェイルであるかを判断するために定められているベリファイフェイルビット数しきい値以下の場合に、パスと判断し、フェイルビット数がベリファイフェイルビット数しきい値を超えている場合に、フェイルと判断する。
【００８０】
１回目の消去ベリファイ処理ＥＰ１の結果がフェイルの場合、消去部１９は、２回目の消去電圧印加処理ＥＡ２を実行する。この２回目の消去電圧印加処理ＥＡ２における消去電圧Ｖera2は、１回目の消去電圧印加処理ＥＡ１における消去電圧Ｖera1よりも昇圧されている。なお、上述したように、消去電圧が昇圧されるとは、消去電圧印加処理においてデータの消去を促進する方向に消去電圧が変更されることを意味する。
【００８１】
２回目の消去電圧印加処理ＥＡ２の終了後に、ベリファイ部２０は、消去ベリファイ電圧Ｖevfy2を用いて２回目の消去ベリファイ電圧印加処理ＥＰ２を実行し、２回目のフェイルビット数のカウント処理ＦＣ２を実行する。
【００８２】
２回目の消去ベリファイ電圧印加処理ＥＰ２の結果がフェイルの場合、消去部１９は、３回目の消去電圧印加処理ＥＡ３を実行する。この３回目の消去電圧印加処理ＥＡ３における消去電圧Ｖera3は、２回目の消去電圧印加処理ＥＡ２における消去電圧Ｖera2よりも昇圧されている。
【００８３】
３回目の消去電圧印加処理ＥＡ３の終了後に、ベリファイ部２０は、消去ベリファイ電圧Ｖevfy3を用いて３回目の消去ベリファイ電圧印加処理ＥＰ３を実行し、３回目のフェイルビット数のカウント処理ＦＣ３を実行する。
【００８４】
ここで、図７から図９を用いて消去ベリファイ電圧の昇圧とフェイルビット数との関係について説明する。
【００８５】
図７は、メモリセル２２のしきい値電圧分布と消去ベリファイ電圧とフェイルビット数との関係の一例を示すグラフである。この図７において、横軸は電圧を示し、縦軸はメモリセル数を示す。
【００８６】
しきい値電圧分布のうち、消去ベリファイ電圧以上のしきい値電圧を持つメモリセルの数が、未消去と判断されたメモリセルの数に相当する。一方、上述のように、消去ベリファイ処理でカウントされるフェイルビット数は、１以上の消去ベリファイ電圧以上のしきい値電圧を持つメモリセルが存在するビット線の数である。
【００８７】
図８は、消去ベリファイ処理でフェイル（消去不足）と判断される場合のしきい値電圧分布と、パス（消去十分）と判断される場合のしきい値電圧分布との対比例を示すグラフである。
【００８８】
消去ベリファイ電圧を用いて消去ベリファイ処理でカウントされたフェイルビット数が、消去ベリファイ処理で用いられるパス／フェイル判断用のベリファイフェイルビット数しきい値を超える場合、消去ベリファイ処理でフェイルと判断される。
【００８９】
これとは逆に、消去ベリファイ電圧を用いて消去ベリファイ処理でカウントされたフェイルビット数が、ベリファイフェイルビット数しきい値以下の場合、消去ベリファイ処理でパスと判断される。
【００９０】
図９は、メモリセル２２のしきい値電圧分布と消去ベリファイ電圧の昇圧との関係の一例を示すグラフである。
【００９１】
消去ベリファイ電圧が昇圧されると、消去ベリファイ電圧は、昇圧前の消去ベリファイ電圧よりマイナス側へシフトする。
【００９２】
昇圧前の消去ベリファイ電圧を用いた消去ベリファイ処理の結果がパスであったしきい値電圧分布であっても、昇圧後の消去ベリファイ電圧を用いた消去ベリファイ処理では、フェイルと判断される場合もある。
【００９３】
また、消去状態が十分なしきい値電圧分布については、昇圧後の消去ベリファイ電圧を用いた消去ベリファイ処理でもパスと判断される。
【００９４】
図１０は、ベリファイ電圧パターンデータ３８で示されるループ回数と消去ベリファイ電圧との関係の一例を示すグラフを示す。この図１０において、横軸はループ回数を示し、縦軸は消去ベリファイ電圧を示す。
【００９５】
ベリファイ電圧パターンデータ３８では、最初のループにはデフォルトの消去ベリファイ電圧Ｖdefが割り当てられており、予め定められたループ回数に達すると消去ベリファイ電圧が昇圧される。昇圧するループ回数は自由に変更可能であり、昇圧のレベルも自由に変更可能である。本実施形態では、ループ回数の増加に応じて、消去ベリファイ電圧が段階的に変更される。
【００９６】
図１１は、消去ベリファイ電圧が１段階昇圧される場合のループ回数と消去ベリファイ電圧との関係の一例を示すグラフである。
【００９７】
この図１１では、ループ回数が昇圧すべき回数を超えているため、消去ベリファイ電圧がＶdefからＶevfy_aへ昇圧されている。消去ベリファイ電圧が１段階昇圧され、消去ベリファイ処理でパスと判断され、さらに、消去対象ブロックがバッドブロックと判断されなかった場合には、昇圧後の消去ベリファイ電圧Ｖevfy_aが開始消去ベリファイ電圧として当該消去対象ブロックのブロック識別情報と関連付けられてベリファイ電圧データ１３に記憶される。
【００９８】
図１２は、開始消去ベリファイ電圧を用いる場合のループ回数と消去ベリファイ電圧との関係の第１の例を示すグラフである。
【００９９】
ベリファイ電圧データ１３に記憶されている開始消去ベリファイ電圧が、ベリファイ電圧パターンデータ３８から求まる消去ベリファイ電圧よりも大きい場合には、当該開始消去ベリファイ電圧を優先して用いるとする。この図１２の例では、消去動作が開始された場合に、ベリファイ電圧データ１３に記憶されている開始消去ベリファイ電圧Ｖevfy_aが、ベリファイ電圧パターンデータ３８から求まる消去ベリファイ電圧Ｖdefより大きいため、最初のループから開始消去ベリファイ電圧Ｖevfy_aを用いた消去ベリファイ処理が実行される。
【０１００】
この図１２では、開始消去ベリファイ電圧Ｖevfy_aが更新される前に、消去ベリファイ処理がパスしているため、ベリファイ電圧データ１３に記憶されている開始消去ベリファイ電圧Ｖevfy_aはそのまま維持される。
【０１０１】
図１３は、開始消去ベリファイ電圧から１段階昇圧が生じた場合のループ回数と消去ベリファイ電圧との関係の一例を示すグラフである。
【０１０２】
消去動作が開始され、開始消去ベリファイ電圧Ｖevfy_aを用いた消去ベリファイ処理ではパスと判断されず、ループ回数が増加すると、ベリファイ電圧パターンデータ３８から求まる消去ベリファイ電圧Ｖevfy_bの方が開始消去ベリファイ電圧Ｖevfy_aよりも大きくなる。この場合、その後の消去ベリファイ処理では、ベリファイ電圧パターンデータ３８から求まる消去ベリファイ電圧Ｖevfy_bを用いる。消去ベリファイ電圧Ｖevfy_bは開始消去ベリファイ電圧Ｖevfy_aから１段階昇圧されているため、消去ベリファイ処理でパスと判断され、さらに、消去対象ブロックがバッドブロックと判断されなかった場合には、昇圧後の消去ベリファイ電圧Ｖevfy_bが開始消去ベリファイ電圧として当該消去対象ブロックのブロック識別情報と関連付けられてベリファイ電圧データ１３に記憶される。
【０１０３】
図１４は、開始消去ベリファイ電圧を用いる場合のループ回数と消去ベリファイ電圧との関係の第２の例を示すグラフである。
【０１０４】
この図１４の例では、消去動作が開始された場合に、ベリファイ電圧データ１３に記憶されている開始消去ベリファイ電圧Ｖevfy_bが、ベリファイ電圧パターンデータ３８から求まる消去ベリファイ電圧Ｖdefより大きいため、最初のループから開始消去ベリファイ電圧Ｖevfy_bを用いた消去ベリファイ処理が実行される。また、この図１４では、開始消去ベリファイ電圧Ｖevfy_bが更新される前に、消去ベリファイ処理がパスしているため、ベリファイ電圧データ１３に記憶されている開始消去ベリファイ電圧Ｖevfy_bはそのまま維持される。
【０１０５】
以上説明したように、本実施形態においては、消去ベリファイ電圧が昇圧された後に、ベリファイ部２０によってパスと判断され、かつ、第２の判断部２４によって消去対象ブロックをバッドブロック化しないと判断された場合には、設定部２５によって、消去対象ブロックに対応する昇圧された最新の消去ベリファイ電圧が、開始消去ベリファイ電圧としてベリファイ電圧データ１３に登録される。次に同じ消去対象ブロックに対して消去ベリファイ処理を実行する場合には、ベリファイ部２０は、ベリファイ電圧データ１３に登録されている開始消去ベリファイ電圧を用いる。ベリファイ部２０は、開始消去ベリファイ電圧とベリファイ電圧パターンデータ３８の段階的変化にしたがって変更される消去ベリファイ電圧とのうち、より高圧の消去ベリファイ電圧を用いて消去ベリファイ処理を実行する。
【０１０６】
図１５は、本実施形態に係る半導体記憶装置１によって実行されるデータ消去制御処理の一例を示すフローチャートである。
【０１０７】
ステップＳ１５０１において、消去部１９は、消去対象ブロックに対して消去電圧印加処理を実行する。
【０１０８】
ステップＳ１５０２において、ベリファイ部２０は、ベリファイ電圧データ１３の示す開始消去ベリファイ電圧、又は、後述のステップＳ１５０６において変更された消去ベリファイ電圧を用いてセンスを行い、そのセンス結果に基づいて、消去対象ブロックのフェイルビット数をカウントする。より具体的には、ベリファイ部２０は、消去電圧印加処理後の消去対象ブロックの全ワード線に消去ベリファイ電圧を印加し、電流が流れないビットラインの数をフェイルビット数としてカウントする。
【０１０９】
ステップＳ１５０３において、ベリファイ部２０は、消去対象ブロックのフェイルビット数と消去対象ブロックのブロック識別情報とを関連付けてフェイルビット数データ１５に記憶する。
【０１１０】
ステップＳ１５０４において、ベリファイ部２０は、フェイルビット数が、消去ベリファイ処理がパスであるかフェイルであるかを判断するために定められているベリファイフェイルビット数しきい値を超えるか否かを判断する。フェイルビット数がベリファイフェイルビット数しきい値以下の場合は、パスであり、ベリファイ部２０は、パスを示すベリファイ結果データ１４を第２の判断部２４に送信し、処理はステップＳ１５０９に移動する。
【０１１１】
フェイルビット数がベリファイフェイルビット数しきい値を超える場合は、フェイルであり、ベリファイ部２０は、フェイルビット数データ１５を第１の判断部２２に送信する。
【０１１２】
ステップＳ１５０５において、第１の判断部２２は、ベリファイ部２０からフェイルビット数データ１５を受信すると、フェイルビット数データ１５の示す消去対象ブロックのフェイルビット数が、消去ベリファイ電圧の変更を許可するか否か判断するために用いられる変更しきい値を超えるか否か判断する。
【０１１３】
消去対象ブロックのフェイルビット数が変更しきい値以下の場合、処理はステップＳ１５０７に進む。
【０１１４】
消去対象ブロックのフェイルビット数が変更しきい値を超える場合、ステップＳ１５０６において、変更部２３は、ループ回数データ１２と上記図１０で説明したベリファイ電圧パターンデータ３８とに基づいてベリファイ部２０において消去対象ブロックに対して用いられる消去ベリファイ電圧を変更する。本実施形態においては、変更部２３は、例えば、消去電圧印加処理のループ回数が昇圧すべき回数の場合に、ベリファイ部２０で用いられるベリファイ電圧を昇圧する。そして、処理は、ステップＳ１５０７に進む。
【０１１５】
ステップＳ１５０７において、消去部１９は、当該消去対象ブロックに対する消去電圧印加処理のループ回数をインクリメントし、このインクリメントされたループ回数と当該消去対象ブロックのブロック識別情報とを関連付けてループ回数データ１２に記憶する。
【０１１６】
ステップＳ１５０８において、消去部１９は、ループ回数データ１２に基づいて、消去対象ブロックに対応するループ回数が当該ループ回数の上限を示すループ回数しきい値を超えるか否かを判断する。当該ループ回数がループ回数しきい値を超える場合は、処理はステップＳ１５１１に移動する。当該ループ回数がループ回数しきい値以下の場合は、処理はステップＳ１５０１に移動する。
【０１１７】
上記ステップＳ１５０４においてベリファイ部２０によって消去対象ブロックに対する消去がパスと判断された場合、ステップＳ１５０９において、第２の判断部２４は、ベリファイ部２０からパスを示すベリファイ結果データ１４を受信する。第２の判断部２４は、パスを示すベリファイ結果データ１４を受信した場合に、消去対象ブロックのtBERASEが消去時間しきい値を超えるか否か判断することにより、消去対象ブロックをバッドブロックとするか否か判断する。
【０１１８】
tBERASEが消去時間しきい値以下の場合、ステップＳ１５１０において、設定部２５は、消去対象ブロックの開始消去ベリファイ電圧を、変更部２３で変更された最新の消去ベリファイ電圧に設定するようにベリファイ電圧データ１３に記憶する。これにより、この消去対象ブロックに対する次回の消去電圧印加処理の開始時に利用される開始消去ベリファイ電圧が更新される。
【０１１９】
tBERASEが消去時間しきい値を超える場合、又は、上記ステップＳ１５０８においてループ回数が上限を示すループ回数しきい値を超える場合、ステップＳ１５１１において、禁止部２６は、消去対象ブロックをバッドブロックとするようにバッドブロックデータ１７を更新する。
【０１２０】
以上説明した本実施形態に係る半導体記憶装置１によって得られる効果について説明する。
【０１２１】
例えば、ＮＡＮＤ型フラッシュメモリでは、プログラムと消去のサイクルがあるレベルを超えると、バッドブロックが増加する傾向がある。また、消去ベリファイ処理で利用される消去ベリファイ電圧は固定されていることが一般的である。上述した比較例の消去動作においては、フェイルビット数がループ回数の上限を示す比較例のしきい値を超える消去対象ブロックがバッドブロックとされる。この比較例の消去動作で用いられる比較例のしきい値は固定であるため、消去対象ブロックをバッドブロックとするか否かの判断結果も固定的となる。例えば、ループ回数の上限（比較例のしきい値）及び消去ベリファイ電圧を固定値とする比較例の消去動作において、異なる２種類のフェイルビット数しきい値FBC_aとFBC_bをそれぞれ有するブロックＡとブロックＢとがあるとする。ブロックＡ，Ｂ間のフェイルビット数にFBC_a＜FBC_bの関係が成り立ち、かつFBC_b−FBC_a＝ΔFBCが十分に小さいとき、ブロックＡのループ回数は上限（比較例のしきい値）を超えずブロックＢのループ回数が上限（比較例のしきい値）を超えた場合は、消去後におけるブロックＢの特性はブロックＡの特性に対してほぼ同等であるにも関わらず、ブロックＢはバッドブロックに登録されることになり、過剰なバッドブロックの増加に直結する。
【０１２２】
これに対して、本実施形態においては、消去電圧印加処理のループ回数の増加に応じて、消去ベリファイ処理で利用される消去ベリファイ電圧が昇圧される（消去ベリファイ処理でパスと判断されにくくなる）。また、消去電圧印加処理のループ回数の上限を示す本実施形態のループ回数しきい値は、比較例のしきい値より大きい。したがって、本実施形態においては、比較例による消去動作の場合よりもtBERASEが大きくなる。本実施形態においては、tBERASEが消去時間しきい値を超える場合に、消去対象ブロックがバッドブロックと判断される。
【０１２３】
本実施形態に係る半導体記憶装置１は、tBERASEが消去時間しきい値以下の消去対象ブロックを積極的に使用するため、バッドブロックが過剰に増えてＮＡＮＤ型フラッシュメモリ２の記憶容量が減少することを防止することができる。したがって、本実施形態においては、半導体記憶装置１を長寿命化することができる。
【０１２４】
本実施形態においては、tBERASEを用いて消去対象ブロックをバッドブロックとするか否かが判断される。これにより、例えば、比較例の消去動作においてはループ回数が比較例のしきい値を超えてバッドブロックと判断されるブロックであっても、本実施形態ではtBERASEが消去時間しきい値以下の場合にはバッドブロックと判断されず、当該ブロックが継続して使用される場合がある。したがって、本実施形態においては、比較例の消去動作を用いる場合よりも使用可能なブロック数の減少を防止することができる。
【０１２５】
一方で、本実施形態においては、消去ベリファイ処理で消去がパスと判断されたブロックであっても、tBERASEが消去時間しきい値を超える場合にはバッドブロックと判断される。したがって、本実施形態においては、消去するまでに時間のかかるブロックの使用を防止することができる。tBERASEが長すぎるブロックは、当該ブロックに含まれているメモリセルの劣化が進行しているため、ビットエラーレートが高い傾向がある。このため、tBERASEが長すぎるブロックを継続して使用する半導体記憶装置の信頼性は低下する可能性がある。これに対して、本実施形態に係る半導体記憶装置１では、ｔBERASEが長すぎるブロックがバッドブロックとなるため、半導体記憶装置１の信頼性の低下が防止される。より詳しく説明すると、ブロックに対して書き込みと消去を繰り返し行うと、上記図８及び図９で示される消去後のしきい値電圧分布が横軸に対して幅広な形状となり、同一消去回数を有するブロック間でも、それらのしきい値電圧分布の形状は大きく異なる。消去ベリファイ処理で得られるフェイルビット数を低減するためには消去電圧印加処理を繰り返す、すなわちループ数を増やす必要があるが、tBERASEが長くなるような疲弊が進んだブロックには、ループ回数を多くしても消去ベリファイ電圧未満のしきい電圧にならないメモリセル（消去状態とならないメモリセル）が多数存在する（フェイルビット数が大きくなる）。消去ベリファイ処理によってパスと判断された場合であっても、消去状態ではないメモリセル、また、消去ベリファイ処理によってパスと判断されるまでの間消去状態となりにくいメモリセルが多数存在し、ループ回数が多くなった場合、容易に消去状態となるメモリセルに対して過剰に消去電圧が印加される。これにより、消去状態とならないメモリセル及び消去状態となりにくいメモリセルと、容易に消去状態となるメモリセルとの間で、しきい値電圧に大きな差が生じ、しきい値電圧分布が幅広になる。このように、しきい値電圧分布が幅広になるブロックは、信頼性が低いため、バッドブロックとすることが望ましい。
【０１２６】
本実施形態においては、消去電圧印加処理によって消去電圧が印加されてから次に消去電圧印加処理によって消去電圧が印加されるまでの１回のループの間に、第２のコントローラ２７から第１のコントローラ３に処理が移り、再び第２のコントローラ２７に処理が戻る。しかしながら、消去電圧印加処理によって消去電圧が印加されてから次に消去電圧印加処理によって消去電圧が印加されるまでのループに関わる全ての処理、具体的には図１５のステップＳ１５０１からステップＳ１５０８を、ＮＡＮＤ型フラッシュメモリ２の第２のコントローラ２７内で実行するとしてもよい。この場合、第１のコントローラ３から第２のコントローラ２７への１回の消去動作の要求に対応して、複数のループがＮＡＮＤ型フラッシュメモリ２側で実行されることになる。複数のループがＮＡＮＤ型フラッシュメモリ２側で実行される場合、ループ回数及びtBERASEは、それぞれ消去動作の開始時からの合計値で管理される。なお、図１５のステップＳ１５０１からステップＳ１５０８のうちステップＳ１５０５とステップＳ１５０６は、第２のコントローラ２７ではなく、第１のコントローラ３によって実行されてもよい。
【０１２７】
［第２の実施形態］
本実施形態においては、上記第１の実施形態の変形例について説明する。
【０１２８】
図１６は、本実施形態に係る半導体記憶装置１Ａの構成の一例を示すブロック図である。
【０１２９】
半導体記憶装置１Ａは、ホスト装置５と接続されており、ＮＡＮＤ型フラッシュメモリ２Ａ、第１のコントローラ３Ａ、揮発性メモリ４Ａを含む。
【０１３０】
ＮＡＮＤ型フラッシュメモリ２Ａは、第２のコントローラ２７Ａを含む。第２のコントローラ２７Ａは、メモリ２８Ａを含む。なお、メモリ２８Ａは、第２のコントローラ２７Ａの外に備えられていてもよく、物理ブロックＢ０〜Ｂｍ−１の一部がメモリ２８Ａとして利用されてもよい。
【０１３１】
第２のコントローラ２７Ａは、上記第１の実施形態で説明した消去動作に関わる消去部１９、ベリファイ部２０、第１の判断部２２、変更部２３、第２の判断部２４、設定部２５と同じ処理を実行可能である。
【０１３２】
第１のコントローラ３Ａは、上記第１の実施形態の第１のコントローラ３に対応し、禁止部２６を備えているが、上記第１の実施形態において第１のコントローラ３によって実行されていた第１の判断部２２、変更部２３、第２の判断部２４、設定部２５を実行しなくてもよい。
【０１３３】
メモリ２８Ａは、ループ回数データ１２、ベリファイ結果データ１４、フェイルビット数データ１５に加えて、上記第１の実施形態において揮発性メモリ４に記憶されていたベリファイ電圧パターンデータ３８、ベリファイ電圧データ１３、消去時間データ１６を記憶する。
【０１３４】
揮発性メモリ４Ａは、上記第１の実施形態の揮発性メモリ４に対応し、バッドブロックデータ１７を記憶する。本実施形態においては、ＮＡＮＤ型フラッシュメモリ２の第２のコントローラ２７Ａがメモリ２８Ａのループ回数データ１２、ベリファイ電圧データ１３、ベリファイ結果データ１４、フェイルビット数データ１５、消去時間データ１６、ベリファイ電圧パターンデータ３８を読み出し、及び書き込む。このため、揮発性メモリ４Ａは、上記第１の実施形態で揮発性メモリ４に記憶されていたベリファイ電圧データ１３、消去時間データ１６、ベリファイ電圧パターンデータ３８を記憶していなくてもよい。
【０１３５】
本実施形態においては、ＮＡＮＤ型フラッシュメモリ２Ａに含まれている第２のコントローラ２７Ａが、消去部１９、ベリファイ部２０、第１の判断部２２、変更部２３、第２の判断部２４、設定部２５の機能を実現する。これにより、第１のコントローラ３Ａは、消去動作において、上記第1の実施形態で説明した第１の判断部２２、変更部２３、第２の判断部２４、設定部２５の処理を実行する必要がない。このため、消去動作において、本実施形態に係る第１のコントローラ３Ａの処理負荷を、上記第１の実施形態で説明したコントローラ３の処理負荷よりも軽減することができる。
【０１３６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１３７】
１，１Ａ…半導体記憶装置、２，２Ａ…ＮＡＮＤ型フラッシュメモリ、３，３Ａ…第１のコントローラ，２７，２７Ａ…第２のコントローラ、２８，２８Ａ…メモリ、４，４Ａ…揮発性メモリ、５…ホスト装置、６…プロセッサ、７…ホストインタフェース、８…ＮＡＮＤインタフェース、９…揮発性メモリインタフェース、１１…制御プログラム、１２…ループ回数データ、１３…ベリファイ電圧データ、１４…ベリファイ結果データ、１５…フェイルビット数データ、１６…消去時間データ、１７…バッドブロックデータ、１８…アドレス変換データ、１９…消去部、２０…ベリファイ部、２２…第１の判断部、２３…変更部、２４…第２の判断部、２５…設定部、２６…禁止部、３８…ベリファイ電圧パターンデータ。
【図１】
2018170057.tif 000003
【図２】
2018170057.tif 000004
【図３】
2018170057.tif 000005
【図４】
2018170057.tif 000006
【図５】
2018170057.tif 000007
【図６】
2018170057.tif 000008
【図７】
2018170057.tif 000009
【図８】
2018170057.tif 000010
【図９】
2018170057.tif 000011
【図１０】
2018170057.tif 000012
【図１１】
2018170057.tif 000013
【図１２】
2018170057.tif 000014
【図１３】
2018170057.tif 000015
【図１４】
2018170057.tif 000016
【図１５】
2018170057.tif 000017
【図１６】
2018170057.tif 000018