JP2018170057A - 半導体記憶装置及びそのデータ消去制御方法 - Google Patents
半導体記憶装置及びそのデータ消去制御方法 Download PDFInfo
- Publication number
- JP2018170057A JP2018170057A JP2017065674A JP2017065674A JP2018170057A JP 2018170057 A JP2018170057 A JP 2018170057A JP 2017065674 A JP2017065674 A JP 2017065674A JP 2017065674 A JP2017065674 A JP 2017065674A JP 2018170057 A JP2018170057 A JP 2018170057A
- Authority
- JP
- Japan
- Prior art keywords
- erase
- data
- voltage
- erasure
- erase verify
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/344—Arrangements for verifying correct erasure or for detecting overerased cells
- G11C16/3445—Circuits or methods to verify correct erasure of nonvolatile memory cells
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Hardware Redundancy (AREA)
Abstract
【課題】不揮発性メモリを長寿命化する。【解決手段】本実施形態に係る半導体記憶装置は、不揮発性メモリと消去部とベリファイ部と変更部と判断部と禁止部とを含む。消去部は、消去対象エリアに対して消去電圧印加処理を繰り返し実行し、データの消去が成功と判断されるか、又は、消去電圧印加処理の実行回数が第1のしきい値を超える場合に消去電圧印加処理の繰り返しを停止する。ベリファイ部は、消去電圧印加処理に対応して消去ベリファイ電圧を用いて消去ベリファイ処理を実行する。変更部は、データの消去が成功ではないと判断された場合に、ベリファイ電圧を次の消去ベリファイ処理で用いられる新たな消去ベリファイ電圧に変更する。判断部は、データの消去が成功と判断された場合に、消去対象エリアにおいてデータの消去が成功するまでに必要とした消去時間が第2のしきい値を超えるか判断する。禁止部は、消去時間が第2のしきい値を超える場合、消去対象エリアを使用禁止状態とする。【選択図】 図1
Description
本実施形態は、不揮発性メモリを備える半導体記憶装置及びそのデータ消去制御方法に関する。
不揮発性メモリの一例としてNAND型フラッシュメモリがある。NAND型フラッシュメモリにおいては、メモリセルへのプログラム(ライト)電圧又は消去電圧の印加が反復されると、メモリセルのトンネル酸化膜が劣化し、メモリセルに対するプログラム、リード、又は、消去にエラーが発生する場合がある。
本実施形態は、不揮発性メモリの長寿命化を可能とするための半導体記憶装置及びそのデータ消去制御方法を提供する。
本実施形態に係る半導体記憶装置は、不揮発性メモリと消去部と変更部と判断部と禁止部とを含む。消去部は、不揮発性メモリにおける消去対象エリアに記憶されているデータに対して消去電圧印加処理を繰り返し実行し、データの消去が成功と判断されることと消去電圧印加処理の実行回数が第1のしきい値を超えることとのうちのいずれかが成立する場合に消去電圧印加処理の繰り返しを停止する。ベリファイ部は、消去電圧印加処理に対応し消去ベリファイ電圧を用いてデータの消去が成功か否かを判断する消去ベリファイ処理を実行する。変更部は、消去ベリファイ処理によってデータの消去が成功ではないと判断された場合に、ベリファイ電圧を次の消去ベリファイ処理で用いられる新たな消去ベリファイ電圧に変更する。判断部は、データの消去が成功と判断された場合に、消去対象エリアにおいてデータの消去が成功するまでに必要とした消去時間が第2のしきい値を超えるかを判断する。禁止部は、消去時間が第2のしきい値を超える場合、消去対象エリアを使用禁止状態とする。
第1の実施形態に係る消去ベリファイ電圧の段階的変化の一例を示すグラフ。
第1の実施形態に係る半導体記憶装置によって実行されるデータ消去制御処理の一例を示すフローチャート。
第2の実施形態に係る半導体記憶装置の一例を示すブロック図。
以下、図面を参照しながら各実施形態について説明する。以下の説明において、略又は実質的に同一の機能及び構成要素については、同一符号を付し、説明を省略するか、又は、必要に応じて説明を行う。
[第1の実施形態]
本実施形態においては、不揮発性メモリの一例としてNAND型フラッシュメモリを例として説明を行う。しかしながら、不揮発性メモリは、ある領域単位で当該領域に記憶されているデータの消去(erase)を行うメモリであれば他の種類のメモリでもよい。より具体的には、不揮発性メモリは、例えば、NOR型フラッシュメモリ、MRAM(Magnetoresistive Random Access Memory)、PRAM(Phase change Random Access Memory)、ReRAM(Resistive Random Access Memory)、又は、FeRAM(Ferroelectric Random Access Memory)などでもよい。
本実施形態においては、不揮発性メモリの一例としてNAND型フラッシュメモリを例として説明を行う。しかしながら、不揮発性メモリは、ある領域単位で当該領域に記憶されているデータの消去(erase)を行うメモリであれば他の種類のメモリでもよい。より具体的には、不揮発性メモリは、例えば、NOR型フラッシュメモリ、MRAM(Magnetoresistive Random Access Memory)、PRAM(Phase change Random Access Memory)、ReRAM(Resistive Random Access Memory)、又は、FeRAM(Ferroelectric Random Access Memory)などでもよい。
本実施形態においては、不揮発性メモリの消去対象エリア内に対してデータを消去するために消去電圧が印加される処理を消去電圧印加処理という。本実施形態では、消去対象エリアの単位はブロックとして説明を行う。
図1は、本実施形態に係る半導体記憶装置1の一例を示すブロック図である。この図1は、半導体記憶装置1が例えばソリッド・ステート・ドライブ(SSD)の場合を例として示している。しかしながら、半導体記憶装置1は、例えばメモリカードなどのSSDと異なる装置でもよい。この図1では、消去対象ブロックに対するデータの消去とその確認に関わる構成要素のみを示しており、他の構成要素は省略している。
図2は、本実施形態に係るプロセッサ6と第2のコントローラ27とで実現される機能の一例を示すブロック図である。この図2において、第2のコントローラ27は、消去部19、ベリファイ部20を実現する。プロセッサ6は、第1の判断部22、変更部23、第2の判断部24、設定部25、禁止部26として機能する。これらの構成の配置は、適宜変更可能である。
図3は、本実施形態に係る揮発性メモリ4とNAND型フラッシュメモリ2に備えられているメモリ28とに記憶されるデータの一例を示すブロック図である。この図3において、NAND型フラッシュメモリ2に備えられているメモリ28は、ループ回数データ12、ベリファイ結果データ14、フェイルビット数データ15を記憶している。揮発性メモリ4は、制御プログラム11、ベリファイ電圧パターンデータ38、ベリファイ電圧データ13、消去時間データ16、バッドブロックデータ17、アドレス変換データ18を記憶している。これらのデータの配置は、適宜変更可能である。
図1において、半導体記憶装置1は、NAND型フラッシュメモリ2、第1のコントローラ3、揮発性メモリ4を備える。NAND型フラッシュメモリ2は、メモリセルアレイA1と第2のコントローラ(例えばシーケンサ)27とメモリ28を含む。また、半導体記憶装置1は、当該半導体記憶装置1をアクセスするホスト装置5と接続される。
本実施形態において、半導体記憶装置1は、NAND型フラッシュメモリ2に対するデータの消去において、ループ回数データ11とベリファイ電圧パターンデータ38とベリファイ電圧データ13に基づいて、消去対象ブロックにおけるデータの消去が成功したか否かを判断するために用いられる消去ベリファイ電圧を段階的に変化させる。消去ベリファイ処理では、消去ベリファイ処理対象のブロックの全ワード線に消去ベリファイ電圧が印加され、電流が流れないビット線の数がカウントされる。この電流が流れないビット線の数がフェイルビット数となる。フェイルビット数については、図7から図9までを用いて後でより具体的に説明する。
本実施形態において、消去ベリファイ電圧の昇圧とは、消去ベリファイ処理においてデータの消去が成功したと判断されにくくなるように消去ベリファイ電圧を変更することをいう。したがって、消去ベリファイ電圧をマイナスの方向へシフトすることによって、消去ベリファイ処理においてデータの消去が成功したと判断されにくくなる場合には、このような消去ベリファイ電圧のマイナスの方向へのシフトも、消去ベリファイ電圧の昇圧に含まれるとする。
本実施形態において、消去電圧の昇圧とは、消去電圧印加処理においてデータの消去を促進する方向に消去電圧を変更することをいう。より具体的に説明すると、消去電圧の昇圧とは、消去電圧印加処理においてよりデータを消去するために半導体基板とコントロールゲート間に印加する電圧の絶対値を段階的に高くすることを意味している。
まず、本実施形態に係る半導体記憶装置1を比較例の消去動作と対比して概説する。
比較例の消去動作としては、消去対象ブロックに対して消去電圧印加処理と当該消去電圧印加処理に対応する消去ベリファイ処理とを繰り返し、このループ回数が上限を示すしきい値(以下、比較例のしきい値という)を超えた場合に、この消去対象ブロックを使用禁止状態とする技術がある。なお、使用禁止状態のブロックをバッドブロックという。
これに対して、本実施形態に係る半導体記憶装置1は、消去対象ブロックに対して消去電圧印加処理と消去ベリファイ処理を繰り返し、当該消去電圧印加処理の繰り返しに応じて消去ベリファイ処理で用いられる消去ベリファイ電圧を昇圧する(消去ベリファイ処理において成功と判断されにくい状態とする)。
また、本実施形態に係る半導体記憶装置1は、消去対象ブロックに対する消去電圧印加処理のループ回数(例えば実行回数でもよい)が、上限を示すループ回数しきい値(第1のしきい値)を超える場合に、当該消去対象ブロックに対する消去電圧印加処理の繰り返しを停止する。ここで、本実施形態で用いられるループ回数しきい値は、上記の比較例のしきい値より大きい値が設定される。
このため、本実施形態においては、比較例の消去動作の場合と比べて、消去対象ブロックに対するデータの消去が促進される。
さらに、本実施形態においては、消去対象ブロックに対するデータの消去が開始されてから完了するまでに必要とした消去時間(例えばtBERASE)が消去時間しきい値(第2のしきい値)を超える場合に、消去対象ブロックをバッドブロックとする。
本実施形態においては、ループ回数が、比較例のしきい値よりも大きいループ回数しきい値以下の範囲内であれば、tBERASEが消去時間しきい値以下の消去対象ブロックを積極的に使用し続け、過剰なバッドブロックの増加を避けることができ、半導体記憶装置1を長寿命化することができる。
次に、図1から図3に示した各構成要素について説明する。
ホスト装置5は、大量且つ多様なデータを半導体記憶装置1に記憶するストレージサーバ(サーバ)でもよいし、パーソナルコンピュータでもよい。半導体記憶装置1は、ホスト装置5のメインストレージとして使用されてもよい。半導体記憶装置1は、ホスト装置5に内蔵されてもよいし、ホスト装置5にネットワークを介して接続されてもよい。
ホスト装置5は、データを半導体記憶装置1にライトするときに、半導体記憶装置1に対してライトコマンドを送信する。ホスト装置5は、半導体記憶装置1からデータをリードするときに、半導体記憶装置1に対してリードコマンドを送信する。
NAND型フラッシュメモリ2はメモリセルアレイA1を含み、メモリセルアレイA1はマトリクス状に配置された複数のメモリセルを含む。NAND型フラッシュメモリ2は、2次元構造のNAND型フラッシュメモリでもよく、3次元構造のNAND型フラッシュメモリでもよい。メモリセルアレイA1は、複数の物理ブロックB0〜Bm−1を含む。物理ブロックB0〜Bm−1の各々は複数のページ(ここではページP0〜Pn−1)を含む。物理ブロックB0〜Bm−1は、アドレス指定可能な最小の消去単位として機能する。物理ブロックは、「消去ブロック」、「物理消去ブロック」、又は、上記のように単に「ブロック」と称されることもある。ページP0〜Pn−1の各々は、同一ワード線に接続された複数のメモリセルを含む。ページP0〜Pn−1は、データライト動作およびデータリード動作の単位である。メモリセルアレイA1及びメモリセルのより詳細な構成については図4及び図5を用いて後で説明する。
NAND型フラッシュメモリ2に含まれる第2のコントローラ27は、図2に示すように、消去部19、ベリファイ部20として機能する。この第2のコントローラ27は、図1に示すように一体構造でもよく、複数に分割された回路により実現されてもよい。
NAND型フラッシュメモリ2に含まれるメモリ28は、図3に示すように、ループ回数データ12、ベリファイ結果データ14、フェイルビット数データ15を記憶する。メモリ28としては、例えばレジスタ又はバッファメモリが用いられるが、これに限定されるものではなく、様々な揮発性又は不揮発性のメモリを用いることができる。メモリ28は第2のコントローラ27に含まれていてもよく、メモリセルアレイA1の一部がメモリ28として用いられてもよい。
第1のコントローラ3は、図1に示すように、プロセッサ6、ホストインタフェース7、NANDインタフェース8、揮発性メモリインタフェース9を含む。プロセッサ6、ホストインタフェース7、NANDインタフェース8、揮発性メモリインタフェース9は、バス10を介して相互接続されていてもよい。
プロセッサ6は、ホスト装置5から、ホストインタフェース7経由で、様々なコマンド(例えば、ライトコマンド、リードコマンド等)を受信する。また、プロセッサ6は、データ(例えば、リードデータ、エラー情報等)を、ホストインタフェース7経由で、ホスト装置5へ送信する。プロセッサ6としては、例えば、CPU(Central Processing Unit)又はMPU(Microprocessor Unit)を利用することができる。
プロセッサ6は、ホスト装置5からホストインタフェース7及びバス10経由でライトコマンドを受信した場合に、当該ライトコマンドにしたがって、バス10及びNANDインタフェース8経由でNAND型フラッシュメモリ2へデータをライトする。
プロセッサ6は、ホスト装置5からホストインタフェース7及びバス10経由でリードコマンドを受信した場合に、当該リードコマンドにしたがって、NAND型フラッシュメモリ2からNANDインタフェース8及びバス10経由でデータをリードし、リードされたデータをバス10及びホストインタフェース7経由でホスト装置5に送信する。
プロセッサ6は、例えば、ホスト装置5からのライトコマンドに応じたデータの上書き、ガベージコレクション、リフレッシュ、ウェアレベリングなどの結果により、有効データを記憶していないフリーブロックが生じた場合に、新たなライト先ブロックを生成するために、当該フリーブロックを消去する。
プロセッサ6は、揮発性メモリインタフェース9及びバス10経由で、揮発性メモリ4へデータをライト可能であり、揮発性メモリ4からデータをリード可能である。
以下においては、説明を簡素化するために、ホストインタフェース7、NANDインタフェース8、揮発性メモリインタフェース9、バス10については省略して説明を行う。
プロセッサ6は、半導体記憶装置1の電源オンに応答して、NAND型フラッシュメモリ2に記憶されている制御プログラム(ファームウェア)11、ベリファイ電圧パターンデータ38、ベリファイ電圧データ13、バッドブロックデータ17、アドレス変換データ18をリードし、揮発性メモリ4に記憶する。また、プロセッサ6は、半導体記憶装置1の電源がオフされる前に、揮発性メモリ4に記憶されているベリファイ電圧データ13、バッドブロックデータ17、アドレス変換データ18をNAND型フラッシュメモリ2にライトする。なお、消去時間データ16についても、半導体記憶装置1の電源オンに応答してNAND型フラッシュメモリ2からリードされてもよく、半導体記憶装置1の電源がオフされる前にNAND型フラッシュメモリ2にライトされてもよい。
プロセッサ6は、制御プログラム11を実行することにより、例えば、図2に示すように、第1の判断部22、変更部23、第2の判断部24、設定部25、禁止部26として機能する。なお、プロセッサ6によって実現される第1の判断部22、変更部23、第2の判断部24、設定部25、禁止部26のうちの少なくとも1つは、ハードウェアで実現されてもよく、プロセッサ6とは別構成で第1のコントローラ3に備えられていてもよい。
本実施形態において、第2のコントローラ27で実現される消去部19、ベリファイ部20と、プロセッサ6で実現される第1の判断部22、変更部23、第2の判断部24、設定部25、禁止部26とは、互いに連携して動作可能である。
本実施形態において、揮発性メモリ4は、図3に示すように、制御プログラム11、ベリファイ電圧パターンデータ38、ベリファイ電圧データ13、消去時間データ16、バッドブロックデータ17、アドレス変換データ18を記憶する。
ループ回数データ12は、消去対象ブロックを示すブロック識別情報と、当該消去対象ブロックに対して実行されている消去電圧印加処理のループ回数とを関連付けている。
ベリファイ電圧パターンデータ38は、消去ベリファイ電圧を昇圧すべきループ回数と当該昇圧すべきループ回数に対応する消去ベリファイ電圧の値との関係を含む。このベリファイ電圧パターンデータ38については、図10を用いて後で具体的に説明する。
ベリファイ電圧データ13は、NAND型フラッシュメモリ2に含まれる各ブロックを示すブロック識別情報と、当該ブロック識別情報で示されるブロックに対する開始消去ベリファイ電圧とを関係付けている。開始消去ベリファイ電圧とは、消去対象ブロックに対する消去動作の開始時の消去電圧印加処理に対応する消去ベリファイ処理において用いられる消去ベリファイ電圧である。開始消去ベリファイ電圧は、設定部25によって更新される前においてはデフォルト値を持つとしてもよい。
ベリファイ結果データ14は、消去対象ブロックを示すブロック識別情報と、当該消去対象ブロックに対する消去ベリファイ処理の結果(パス(成功)、又は、フェイル(失敗)を示す情報とを関連付けている。
フェイルビット数データ15は、例えば、消去対象ブロックを示すブロック識別情報と、当該消去対象ブロックに対するフェイルビット数とを関連付けている。
消去時間データ16は、消去対象ブロックを示すブロック識別情報と、当該消去対象ブロックに対するtBERASEとを関係付けている。
バッドブロックデータ17は、NAND型フラッシュメモリ2に含まれる複数のブロックのうちのバッドブロックを示すバッドブロック識別情報(例えば論理アドレス又は物理アドレス)を含む。
アドレス変換データ18は、例えば、ホスト装置5から受信された論理アドレスを、NAND型フラッシュメモリ2の物理アドレスに変換するために用いられるデータである。
上記の各種データ12〜17は、自由に分割し、又は、組み合わせて管理されてもよい。例えば、ブロック識別情報に対して、ループ回数、消去ベリファイ処理のパス/フェイル、開始消去ベリファイ電圧、フェイルビット数、tBERASE、バッドブロックか否かを示す情報が関連付けらたデータが半導体記憶装置1で用いられてもよい。
上記の各種のデータのうちループ回数データ12、ベリファイ結果データ14、フェイルビット数データ15、消去時間データ16は、消去動作が実行されている消去対象ブロックに関するデータのみを含むとしてもよい。このように、消去動作に必要なデータのみを揮発性メモリ4又はメモリ28に記憶することにより、ループ回数データ12、ベリファイ結果データ14、フェイルビット数データ15、消去時間データ16が全てのブロックB0〜Bm−1に関するデータを含む場合よりも、必要とするメモリ容量を少なくすることができる。なお、ベリファイ電圧データ13に関しては、全てのブロックB0〜Bm−1に関する開始消去ベリファイ電圧を含むとする。
消去部19は、消去対象ブロックに対する消去電圧印加処理を行う。さらに、本実施形態において、消去部19は、消去動作で実行された消去電圧印加処理のループ回数を、ループ回数データ12を用いて管理する。消去部19は、ループ回数の上限を示すループ回数しきい値を持ち、ループ回数データ12の示す消去対象ブロックに対する消去電圧印加処理のループ回数がループ回数しきい値を超える場合には、消去電圧印加処理のループを終了する。この場合、禁止部26がバッドブロックデータ17に消去対象ブロックのブロック識別情報を追加し、消去対象ブロックをバッドブロックとする。
消去部19がデータの消去のために用いる消去電圧は、ループ回数に応じて変更されてもよい。例えば、消去部19は、ループ回数が多くなるほど、より消去対象ブロックに対するデータの消去が促進されるよう消去電圧を変更(例えば昇圧)してもよい。
あるいは、消去部19は、ループ回数に関係なく同じ消去電圧により消去電圧印加処理を行ってもよい。
ベリファイ部20は、ベリファイ電圧データ13の示す開始消去ベリファイ電圧、又は、変更部23によって変更された消去ベリファイ電圧を用いて、消去対象ブロックに対するデータの消去がパスかフェイルかを判断する消去ベリファイ処理を実行する。
本実施形態において、ベリファイ部20は、例えば、開始消去ベリファイ電圧と変更部23によって変更された消去ベリファイ電圧とを比較し、より高い消去ベリファイ電圧を選択し、当該選択された消去ベリファイ電圧を用いて消去ベリファイ処理を実行する。換言すれば、ベリファイ部20は、ベリファイ電圧データ13の示す開始消去ベリファイ電圧と変更部23によって変更された消去ベリファイ電圧とのうち、消去ベリファイ処理によってパスと判断されにくい消去ベリファイ電圧を用いて消去ベリファイ処理を実行する。
ベリファイ部20が消去ベリファイ処理において用いる消去ベリファイ電圧については、図7から図9までを用いて後でより詳細に説明する。
消去ベリファイ処理において、ベリファイ部20は、まず、ベリファイ電圧データ13の示す開始消去ベリファイ電圧、又は、変更部23によって変更された消去ベリファイ電圧を用いて、消去対象ブロックのフェイルビット数をカウントする。ベリファイ部20は、消去対象ブロックを示すブロック識別情報と、当該消去対象ブロックに対するフェイルビット数とを関連付けた状態でフェイルビット数データ15に記憶する。
次に、ベリファイ部20は、消去対象ブロックのフェイルビット数が、消去ベリファイ処理がパスであるかフェイルであるかを判断するために定められているベリファイフェイルビット数しきい値以下の場合に、パスと判断し、フェイルビット数がベリファイフェイルビット数しきい値を超えている場合に、フェイルと判断する。ベリファイ部20は、消去対象ブロックを示すブロック識別情報と、当該消去対象ブロックに対する消去ベリファイ処理のパス又はフェイルを示す情報とを関連付けた状態でベリファイ結果データ14に記憶する。
さらに、ベリファイ部20は、消去ベリファイ処理がフェイルの場合に、フェイルビット数データ15を第1のコントローラ3内の第1の判断部22に送信し、消去ベリファイ処理がパスの場合に、パスを示すベリファイ結果データ14を第1のコントローラ3内の第2の判断部24に送信する。
上記の消去部19による消去電圧印加処理とベリファイ部20による消去ベリファイ処理との関係は、図6を用いて後でより詳細に説明する。
第1の判断部22は、ベリファイ部20から受信したフェイルビット数データ15の示す消去対象ブロックのフェイルビット数に基づいて、消去対象ブロックのフェイルビット数が消去ベリファイ電圧の変更を許可する範囲に基づいて定められている変更しきい値(第3のしきい値)を超えるか否か判断する。
変更部23は、消去対象ブロックのフェイルビット数が変更しきい値を超える場合に、ループ回数データ12とベリファイ電圧パターンデータ38とに基づいて、ベリファイ部20において消去対象ブロックに対して用いられる消去ベリファイ電圧を変更する。本実施形態において、変更部23は、例えば、消去対象ブロックのフェイルビット数が変更しきい値を超えており、消去電圧印加処理のループ回数が消去ベリファイ電圧を昇圧すべき回数の場合に、ベリファイ電圧を昇圧する。消去ベリファイ電圧が昇圧されると、消去ベリファイ処理によってデータの消去がパスと判断されにくくなる。
なお、消去対象ブロックのフェイルビット数が変更しきい値以下の場合、又は、変更部23によって消去ベリファイ電圧が変更されると、消去部19が、当該消去対象ブロックに対する消去電圧印加処理のループ回数をインクリメントし、インクリメントされたループ回数と当該消去対象ブロックのブロック識別情報とを関連付けてループ回数データ12を更新し、消去電圧印加処理を繰り返す。
第2の判断部24は、ベリファイ部20からパスを示すベリファイ結果データ14を受信した場合に、消去対象ブロックのtBERASEを求め、消去対象ブロックを示すブロック識別情報とtBERASEとを関連付けた状態で消去時間データ16に記憶する。そして、第2の判断部24は、消去時間データ16に基づいて消去対象ブロックのtBERASEが消去時間しきい値を超えるか否か判断することにより、消去対象ブロックをバッドブロック化するか否か判断する。
設定部25は、第2の判断部24によって消去対象ブロックをバッドブロック化しないと判断された場合に、データの消去をパスと判断した消去ベリファイ処理において用いられた最新の消去ベリファイ電圧を、消去対象ブロックに対する次の消去動作において最初に用いられる開始消去ベリファイ電圧に設定し、消去対象ブロックを示すブロック識別情報と開始消去ベリファイ電圧とを関連付けた状態でベリファイ電圧データ13に記憶する。
禁止部26は、第2の判断部24によって消去対象ブロックをバッドブロック化すると判断された場合に、当該消去対象ブロックを示すブロック識別情報がバッドブロックデータ17に含まれるようにバッドブロックデータ17を更新し、当該消去対象ブロックをバッドブロックとする。
本実施形態に係るベリファイフェイルビット数しきい値、ループ回数しきい値、消去時間しきい値、変更しきい値、消去部19によって印加される消去電圧のパターン、ベリファイ電圧パターンデータ38の示す消去ベリファイ電圧の昇圧パターンなどは、実測値、理論値、統計値、エラーレート、処理時間の長さなどにしたがって適宜設定することができる。
図4は、メモリセルアレイA1の構成の一例を示す回路図である。
メモリセルアレイA1には、複数のメモリセル44がマトリクス状に配列されている。メモリセルアレイA1は、複数のNANDセルを含む。1つのNANDセルは、直列接続されたメモリセル44からなるメモリストリングMSと、その両端に接続される選択ゲートG1,G2とを含む。選択ゲートG1は、ビット線BL0〜BLn-1に接続されている。選択ゲートG2は、ソース線SRCに接続されている。同一のロウに配列されたメモリセル44の制御ゲートは、ワード線WL0〜WLm-1に共通接続されている。第1の選択ゲートG1は、セレクト線SGDに共通接続されている。第2の選択ゲートG2は、セレクト線SGSに共通接続されている。
メモリセルアレイA1は、1又は複数のプレーンPL1を含んでいる。プレーンPL1は、複数のブロック42を含む。各ブロック42は、複数のNANDセルを含み、データ消去の単位となる。
1つのワード線に接続された複数のメモリセル44は、物理セクタとして1つのメモリセルグループ43を構成する。各メモリセル44が1ビット(2値)を記憶する場合には、1つのメモリセルグループ43は、1ページに対応する。各メモリセル44が2ビット以上(多値)を記憶する場合には、1つのメモリセルグループ43は、複数ページに対応する。NAND型フラッシュメモリでは、ページごとにデータのライト及びリードが行われる。リード動作時、プログラムベリファイ動作時、プログラム動作時において、コントローラ3から受信した物理アドレスに応じて、1本のワード線が選択され、1つのページが選択される。ページの切り替えは、物理アドレスによって行われる。
図5は、メモリセル44の一例を示す断面図である。メモリセル44は、メモリセルトランジスタである。例えば、P型の基板30上に、N−ウェル31nが形成され、N−ウェル31n中にP−ウェル31pが形成される。P−ウェル31中に間隔をあけてドレイン32とソース33が形成される。ドレイン32とソース33との間の上に絶縁層34を介してフローティングゲート35が形成される。フローティングゲート35上に絶縁層36を介してコントロールゲート37が形成される。コントロールゲート37にはワード線WLが接続される。消去電圧印加処理においては、ワード線WLよりも高い電圧がP−ウェル31pに印加される。これにより、フローティングゲート35の電子がP−ウェル31p側に移動し、メモリセル44が消去状態となる。通常のポジティブのセンス動作の場合、消去ベリファイ処理時には、消去ベリファイ電圧がワード線WLに印加されるが、ソース線SRC及びP−ウェル31pには例えば0Vが印加される。なお、ネガティブのセンス動作の場合(負のリード電圧を適用する場合)には、例えば、ワード線WLに0V付近の電圧が印加され、ソース線SRCとP−ウェル31pとに消去ベリファイ電圧に対応する電圧、例えば1V付近の電圧が印加される。
この図5で説明したように、P−ウェル31pに電圧を印加することを、本実施形態では、基板に電圧を印加すると表現する場合がある。このように基板に電圧を印加すると表現した場合において、基板とは、メモリセルトランジスタのバックゲート(bulk)を構成する領域を意味し、図5の基板30ではなく、P−ウェル31pを意味するものとする。
図6は、消去電圧印加処理と消去ベリファイ処理との関係の一例を示すグラフである。この図6において、横軸は時間、縦軸は電圧を示す。図6の説明においては、消去ベリファイ電圧の印加についてネガティブセンスではない場合を例として説明する。図6において、消去電圧Vera1,Vera2,Vera3、消去ベリファイ電圧Vevfy1,Vevfy2,Vevfy3は極性を除いた絶対値で表記されており、以下の説明においても、消去電圧Vera1,Vera2,Vera3、消去ベリファイ電圧Vevfy1,Vevfy2,Vevfy3は極性を除いた絶対値で説明する。図6では、消去ベリファイ電圧Vevfy1,Vevfy2,Vevfy3についてポジティブセンスの場合を例示している。この場合、消去ベリファイ電圧Vevfy1,Vevfy2,Vevfy3を昇圧することは、消去ベリファイ処理がパスしにくい方向に消去ベリファイ電圧を変更することを意味するため、図6で示す消去ベリファイ電圧はVevfy1>Vevfy2>Vevfy3の関係を持つ。この図6では、3回の消去電圧印加処理EA1,EA2,EA3と、当該3回の消去電圧印加処理EA1,EA2,EA3のそれぞれに対応する3回の消去ベリファイ電圧印加処理EP1,EP2,EP3及びフェイルビット数のカウント処理FC1,FC2,FC3を示している。
図6において、ループ1で消去電圧印加処理EA1と消去ベリファイ電圧印加処理EP1とフェイルビット数のカウント処理FC1が実行され、ループ2で消去電圧印加処理EA2と消去ベリファイ電圧印加EP2とフェイルビット数のカウント処理FC2が実行され、ループ3で消去電圧印加処理EA3と消去ベリファイ電圧印加処理EP3とフェイルビット数のカウント処理FC3が実行される。
消去部19によって消去電圧印加処理EA1,EA2,EA3が実行される場合、消去対象ブロックに含まれるメモリセルと接続される全てのワード線には、電圧VSS(例えば0V)が印加される。
まず、消去部19は、1回目の消去電圧印加処理EA1を実行する。この1回目の消去電圧印加処理EA1内で消去電圧Vera1はステップアップされている。消去電圧は、例えば、NAND型フラッシュメモリ2の基板に対して印加される電圧とする。具体的には、消去対象ブロック(選択ブロック)の全てのワード線にVSSを印加し、消去対象ブロックではないブロック(非選択ブロック)の全ワード線をフローティングとし、複数のブロックB0〜Bm−1が配置されている基板に消去電圧を印加することで、消去対象ブロックに対するデータの消去を行う。
1回目の消去電圧印加処理EA1の終了後に、ベリファイ部20は、1回目の消去ベリファイ電圧印加処理EP1を実行し、1回目のフェイルビット数のカウント処理FC1を実行する。上述したように、消去ベリファイ処理では、消去ベリファイ処理対象のブロックの全ワード線に消去ベリファイ電圧Vevfy1を印加し、電流が流れないビット線の数をカウントし、これらの電流が流れないビット線の数をフェイルビット数として求める。消去ベリファイ処理では、フェイルビット数が、消去ベリファイ処理がパスであるかフェイルであるかを判断するために定められているベリファイフェイルビット数しきい値以下の場合に、パスと判断し、フェイルビット数がベリファイフェイルビット数しきい値を超えている場合に、フェイルと判断する。
1回目の消去ベリファイ処理EP1の結果がフェイルの場合、消去部19は、2回目の消去電圧印加処理EA2を実行する。この2回目の消去電圧印加処理EA2における消去電圧Vera2は、1回目の消去電圧印加処理EA1における消去電圧Vera1よりも昇圧されている。なお、上述したように、消去電圧が昇圧されるとは、消去電圧印加処理においてデータの消去を促進する方向に消去電圧が変更されることを意味する。
2回目の消去電圧印加処理EA2の終了後に、ベリファイ部20は、消去ベリファイ電圧Vevfy2を用いて2回目の消去ベリファイ電圧印加処理EP2を実行し、2回目のフェイルビット数のカウント処理FC2を実行する。
2回目の消去ベリファイ電圧印加処理EP2の結果がフェイルの場合、消去部19は、3回目の消去電圧印加処理EA3を実行する。この3回目の消去電圧印加処理EA3における消去電圧Vera3は、2回目の消去電圧印加処理EA2における消去電圧Vera2よりも昇圧されている。
3回目の消去電圧印加処理EA3の終了後に、ベリファイ部20は、消去ベリファイ電圧Vevfy3を用いて3回目の消去ベリファイ電圧印加処理EP3を実行し、3回目のフェイルビット数のカウント処理FC3を実行する。
ここで、図7から図9を用いて消去ベリファイ電圧の昇圧とフェイルビット数との関係について説明する。
図7は、メモリセル22のしきい値電圧分布と消去ベリファイ電圧とフェイルビット数との関係の一例を示すグラフである。この図7において、横軸は電圧を示し、縦軸はメモリセル数を示す。
しきい値電圧分布のうち、消去ベリファイ電圧以上のしきい値電圧を持つメモリセルの数が、未消去と判断されたメモリセルの数に相当する。一方、上述のように、消去ベリファイ処理でカウントされるフェイルビット数は、1以上の消去ベリファイ電圧以上のしきい値電圧を持つメモリセルが存在するビット線の数である。
図8は、消去ベリファイ処理でフェイル(消去不足)と判断される場合のしきい値電圧分布と、パス(消去十分)と判断される場合のしきい値電圧分布との対比例を示すグラフである。
消去ベリファイ電圧を用いて消去ベリファイ処理でカウントされたフェイルビット数が、消去ベリファイ処理で用いられるパス/フェイル判断用のベリファイフェイルビット数しきい値を超える場合、消去ベリファイ処理でフェイルと判断される。
これとは逆に、消去ベリファイ電圧を用いて消去ベリファイ処理でカウントされたフェイルビット数が、ベリファイフェイルビット数しきい値以下の場合、消去ベリファイ処理でパスと判断される。
図9は、メモリセル22のしきい値電圧分布と消去ベリファイ電圧の昇圧との関係の一例を示すグラフである。
消去ベリファイ電圧が昇圧されると、消去ベリファイ電圧は、昇圧前の消去ベリファイ電圧よりマイナス側へシフトする。
昇圧前の消去ベリファイ電圧を用いた消去ベリファイ処理の結果がパスであったしきい値電圧分布であっても、昇圧後の消去ベリファイ電圧を用いた消去ベリファイ処理では、フェイルと判断される場合もある。
また、消去状態が十分なしきい値電圧分布については、昇圧後の消去ベリファイ電圧を用いた消去ベリファイ処理でもパスと判断される。
図10は、ベリファイ電圧パターンデータ38で示されるループ回数と消去ベリファイ電圧との関係の一例を示すグラフを示す。この図10において、横軸はループ回数を示し、縦軸は消去ベリファイ電圧を示す。
ベリファイ電圧パターンデータ38では、最初のループにはデフォルトの消去ベリファイ電圧Vdefが割り当てられており、予め定められたループ回数に達すると消去ベリファイ電圧が昇圧される。昇圧するループ回数は自由に変更可能であり、昇圧のレベルも自由に変更可能である。本実施形態では、ループ回数の増加に応じて、消去ベリファイ電圧が段階的に変更される。
図11は、消去ベリファイ電圧が1段階昇圧される場合のループ回数と消去ベリファイ電圧との関係の一例を示すグラフである。
この図11では、ループ回数が昇圧すべき回数を超えているため、消去ベリファイ電圧がVdefからVevfy_aへ昇圧されている。消去ベリファイ電圧が1段階昇圧され、消去ベリファイ処理でパスと判断され、さらに、消去対象ブロックがバッドブロックと判断されなかった場合には、昇圧後の消去ベリファイ電圧Vevfy_aが開始消去ベリファイ電圧として当該消去対象ブロックのブロック識別情報と関連付けられてベリファイ電圧データ13に記憶される。
図12は、開始消去ベリファイ電圧を用いる場合のループ回数と消去ベリファイ電圧との関係の第1の例を示すグラフである。
ベリファイ電圧データ13に記憶されている開始消去ベリファイ電圧が、ベリファイ電圧パターンデータ38から求まる消去ベリファイ電圧よりも大きい場合には、当該開始消去ベリファイ電圧を優先して用いるとする。この図12の例では、消去動作が開始された場合に、ベリファイ電圧データ13に記憶されている開始消去ベリファイ電圧Vevfy_aが、ベリファイ電圧パターンデータ38から求まる消去ベリファイ電圧Vdefより大きいため、最初のループから開始消去ベリファイ電圧Vevfy_aを用いた消去ベリファイ処理が実行される。
この図12では、開始消去ベリファイ電圧Vevfy_aが更新される前に、消去ベリファイ処理がパスしているため、ベリファイ電圧データ13に記憶されている開始消去ベリファイ電圧Vevfy_aはそのまま維持される。
図13は、開始消去ベリファイ電圧から1段階昇圧が生じた場合のループ回数と消去ベリファイ電圧との関係の一例を示すグラフである。
消去動作が開始され、開始消去ベリファイ電圧Vevfy_aを用いた消去ベリファイ処理ではパスと判断されず、ループ回数が増加すると、ベリファイ電圧パターンデータ38から求まる消去ベリファイ電圧Vevfy_bの方が開始消去ベリファイ電圧Vevfy_aよりも大きくなる。この場合、その後の消去ベリファイ処理では、ベリファイ電圧パターンデータ38から求まる消去ベリファイ電圧Vevfy_bを用いる。消去ベリファイ電圧Vevfy_bは開始消去ベリファイ電圧Vevfy_aから1段階昇圧されているため、消去ベリファイ処理でパスと判断され、さらに、消去対象ブロックがバッドブロックと判断されなかった場合には、昇圧後の消去ベリファイ電圧Vevfy_bが開始消去ベリファイ電圧として当該消去対象ブロックのブロック識別情報と関連付けられてベリファイ電圧データ13に記憶される。
図14は、開始消去ベリファイ電圧を用いる場合のループ回数と消去ベリファイ電圧との関係の第2の例を示すグラフである。
この図14の例では、消去動作が開始された場合に、ベリファイ電圧データ13に記憶されている開始消去ベリファイ電圧Vevfy_bが、ベリファイ電圧パターンデータ38から求まる消去ベリファイ電圧Vdefより大きいため、最初のループから開始消去ベリファイ電圧Vevfy_bを用いた消去ベリファイ処理が実行される。また、この図14では、開始消去ベリファイ電圧Vevfy_bが更新される前に、消去ベリファイ処理がパスしているため、ベリファイ電圧データ13に記憶されている開始消去ベリファイ電圧Vevfy_bはそのまま維持される。
以上説明したように、本実施形態においては、消去ベリファイ電圧が昇圧された後に、ベリファイ部20によってパスと判断され、かつ、第2の判断部24によって消去対象ブロックをバッドブロック化しないと判断された場合には、設定部25によって、消去対象ブロックに対応する昇圧された最新の消去ベリファイ電圧が、開始消去ベリファイ電圧としてベリファイ電圧データ13に登録される。次に同じ消去対象ブロックに対して消去ベリファイ処理を実行する場合には、ベリファイ部20は、ベリファイ電圧データ13に登録されている開始消去ベリファイ電圧を用いる。ベリファイ部20は、開始消去ベリファイ電圧とベリファイ電圧パターンデータ38の段階的変化にしたがって変更される消去ベリファイ電圧とのうち、より高圧の消去ベリファイ電圧を用いて消去ベリファイ処理を実行する。
図15は、本実施形態に係る半導体記憶装置1によって実行されるデータ消去制御処理の一例を示すフローチャートである。
ステップS1501において、消去部19は、消去対象ブロックに対して消去電圧印加処理を実行する。
ステップS1502において、ベリファイ部20は、ベリファイ電圧データ13の示す開始消去ベリファイ電圧、又は、後述のステップS1506において変更された消去ベリファイ電圧を用いてセンスを行い、そのセンス結果に基づいて、消去対象ブロックのフェイルビット数をカウントする。より具体的には、ベリファイ部20は、消去電圧印加処理後の消去対象ブロックの全ワード線に消去ベリファイ電圧を印加し、電流が流れないビットラインの数をフェイルビット数としてカウントする。
ステップS1503において、ベリファイ部20は、消去対象ブロックのフェイルビット数と消去対象ブロックのブロック識別情報とを関連付けてフェイルビット数データ15に記憶する。
ステップS1504において、ベリファイ部20は、フェイルビット数が、消去ベリファイ処理がパスであるかフェイルであるかを判断するために定められているベリファイフェイルビット数しきい値を超えるか否かを判断する。フェイルビット数がベリファイフェイルビット数しきい値以下の場合は、パスであり、ベリファイ部20は、パスを示すベリファイ結果データ14を第2の判断部24に送信し、処理はステップS1509に移動する。
フェイルビット数がベリファイフェイルビット数しきい値を超える場合は、フェイルであり、ベリファイ部20は、フェイルビット数データ15を第1の判断部22に送信する。
ステップS1505において、第1の判断部22は、ベリファイ部20からフェイルビット数データ15を受信すると、フェイルビット数データ15の示す消去対象ブロックのフェイルビット数が、消去ベリファイ電圧の変更を許可するか否か判断するために用いられる変更しきい値を超えるか否か判断する。
消去対象ブロックのフェイルビット数が変更しきい値以下の場合、処理はステップS1507に進む。
消去対象ブロックのフェイルビット数が変更しきい値を超える場合、ステップS1506において、変更部23は、ループ回数データ12と上記図10で説明したベリファイ電圧パターンデータ38とに基づいてベリファイ部20において消去対象ブロックに対して用いられる消去ベリファイ電圧を変更する。本実施形態においては、変更部23は、例えば、消去電圧印加処理のループ回数が昇圧すべき回数の場合に、ベリファイ部20で用いられるベリファイ電圧を昇圧する。そして、処理は、ステップS1507に進む。
ステップS1507において、消去部19は、当該消去対象ブロックに対する消去電圧印加処理のループ回数をインクリメントし、このインクリメントされたループ回数と当該消去対象ブロックのブロック識別情報とを関連付けてループ回数データ12に記憶する。
ステップS1508において、消去部19は、ループ回数データ12に基づいて、消去対象ブロックに対応するループ回数が当該ループ回数の上限を示すループ回数しきい値を超えるか否かを判断する。当該ループ回数がループ回数しきい値を超える場合は、処理はステップS1511に移動する。当該ループ回数がループ回数しきい値以下の場合は、処理はステップS1501に移動する。
上記ステップS1504においてベリファイ部20によって消去対象ブロックに対する消去がパスと判断された場合、ステップS1509において、第2の判断部24は、ベリファイ部20からパスを示すベリファイ結果データ14を受信する。第2の判断部24は、パスを示すベリファイ結果データ14を受信した場合に、消去対象ブロックのtBERASEが消去時間しきい値を超えるか否か判断することにより、消去対象ブロックをバッドブロックとするか否か判断する。
tBERASEが消去時間しきい値以下の場合、ステップS1510において、設定部25は、消去対象ブロックの開始消去ベリファイ電圧を、変更部23で変更された最新の消去ベリファイ電圧に設定するようにベリファイ電圧データ13に記憶する。これにより、この消去対象ブロックに対する次回の消去電圧印加処理の開始時に利用される開始消去ベリファイ電圧が更新される。
tBERASEが消去時間しきい値を超える場合、又は、上記ステップS1508においてループ回数が上限を示すループ回数しきい値を超える場合、ステップS1511において、禁止部26は、消去対象ブロックをバッドブロックとするようにバッドブロックデータ17を更新する。
以上説明した本実施形態に係る半導体記憶装置1によって得られる効果について説明する。
例えば、NAND型フラッシュメモリでは、プログラムと消去のサイクルがあるレベルを超えると、バッドブロックが増加する傾向がある。また、消去ベリファイ処理で利用される消去ベリファイ電圧は固定されていることが一般的である。上述した比較例の消去動作においては、フェイルビット数がループ回数の上限を示す比較例のしきい値を超える消去対象ブロックがバッドブロックとされる。この比較例の消去動作で用いられる比較例のしきい値は固定であるため、消去対象ブロックをバッドブロックとするか否かの判断結果も固定的となる。例えば、ループ回数の上限(比較例のしきい値)及び消去ベリファイ電圧を固定値とする比較例の消去動作において、異なる2種類のフェイルビット数しきい値FBC_aとFBC_bをそれぞれ有するブロックAとブロックBとがあるとする。ブロックA,B間のフェイルビット数にFBC_a<FBC_bの関係が成り立ち、かつFBC_b−FBC_a=ΔFBCが十分に小さいとき、ブロックAのループ回数は上限(比較例のしきい値)を超えずブロックBのループ回数が上限(比較例のしきい値)を超えた場合は、消去後におけるブロックBの特性はブロックAの特性に対してほぼ同等であるにも関わらず、ブロックBはバッドブロックに登録されることになり、過剰なバッドブロックの増加に直結する。
これに対して、本実施形態においては、消去電圧印加処理のループ回数の増加に応じて、消去ベリファイ処理で利用される消去ベリファイ電圧が昇圧される(消去ベリファイ処理でパスと判断されにくくなる)。また、消去電圧印加処理のループ回数の上限を示す本実施形態のループ回数しきい値は、比較例のしきい値より大きい。したがって、本実施形態においては、比較例による消去動作の場合よりもtBERASEが大きくなる。本実施形態においては、tBERASEが消去時間しきい値を超える場合に、消去対象ブロックがバッドブロックと判断される。
本実施形態に係る半導体記憶装置1は、tBERASEが消去時間しきい値以下の消去対象ブロックを積極的に使用するため、バッドブロックが過剰に増えてNAND型フラッシュメモリ2の記憶容量が減少することを防止することができる。したがって、本実施形態においては、半導体記憶装置1を長寿命化することができる。
本実施形態においては、tBERASEを用いて消去対象ブロックをバッドブロックとするか否かが判断される。これにより、例えば、比較例の消去動作においてはループ回数が比較例のしきい値を超えてバッドブロックと判断されるブロックであっても、本実施形態ではtBERASEが消去時間しきい値以下の場合にはバッドブロックと判断されず、当該ブロックが継続して使用される場合がある。したがって、本実施形態においては、比較例の消去動作を用いる場合よりも使用可能なブロック数の減少を防止することができる。
一方で、本実施形態においては、消去ベリファイ処理で消去がパスと判断されたブロックであっても、tBERASEが消去時間しきい値を超える場合にはバッドブロックと判断される。したがって、本実施形態においては、消去するまでに時間のかかるブロックの使用を防止することができる。tBERASEが長すぎるブロックは、当該ブロックに含まれているメモリセルの劣化が進行しているため、ビットエラーレートが高い傾向がある。このため、tBERASEが長すぎるブロックを継続して使用する半導体記憶装置の信頼性は低下する可能性がある。これに対して、本実施形態に係る半導体記憶装置1では、tBERASEが長すぎるブロックがバッドブロックとなるため、半導体記憶装置1の信頼性の低下が防止される。より詳しく説明すると、ブロックに対して書き込みと消去を繰り返し行うと、上記図8及び図9で示される消去後のしきい値電圧分布が横軸に対して幅広な形状となり、同一消去回数を有するブロック間でも、それらのしきい値電圧分布の形状は大きく異なる。消去ベリファイ処理で得られるフェイルビット数を低減するためには消去電圧印加処理を繰り返す、すなわちループ数を増やす必要があるが、tBERASEが長くなるような疲弊が進んだブロックには、ループ回数を多くしても消去ベリファイ電圧未満のしきい電圧にならないメモリセル(消去状態とならないメモリセル)が多数存在する(フェイルビット数が大きくなる)。消去ベリファイ処理によってパスと判断された場合であっても、消去状態ではないメモリセル、また、消去ベリファイ処理によってパスと判断されるまでの間消去状態となりにくいメモリセルが多数存在し、ループ回数が多くなった場合、容易に消去状態となるメモリセルに対して過剰に消去電圧が印加される。これにより、消去状態とならないメモリセル及び消去状態となりにくいメモリセルと、容易に消去状態となるメモリセルとの間で、しきい値電圧に大きな差が生じ、しきい値電圧分布が幅広になる。このように、しきい値電圧分布が幅広になるブロックは、信頼性が低いため、バッドブロックとすることが望ましい。
本実施形態においては、消去電圧印加処理によって消去電圧が印加されてから次に消去電圧印加処理によって消去電圧が印加されるまでの1回のループの間に、第2のコントローラ27から第1のコントローラ3に処理が移り、再び第2のコントローラ27に処理が戻る。しかしながら、消去電圧印加処理によって消去電圧が印加されてから次に消去電圧印加処理によって消去電圧が印加されるまでのループに関わる全ての処理、具体的には図15のステップS1501からステップS1508を、NAND型フラッシュメモリ2の第2のコントローラ27内で実行するとしてもよい。この場合、第1のコントローラ3から第2のコントローラ27への1回の消去動作の要求に対応して、複数のループがNAND型フラッシュメモリ2側で実行されることになる。複数のループがNAND型フラッシュメモリ2側で実行される場合、ループ回数及びtBERASEは、それぞれ消去動作の開始時からの合計値で管理される。なお、図15のステップS1501からステップS1508のうちステップS1505とステップS1506は、第2のコントローラ27ではなく、第1のコントローラ3によって実行されてもよい。
[第2の実施形態]
本実施形態においては、上記第1の実施形態の変形例について説明する。
本実施形態においては、上記第1の実施形態の変形例について説明する。
図16は、本実施形態に係る半導体記憶装置1Aの構成の一例を示すブロック図である。
半導体記憶装置1Aは、ホスト装置5と接続されており、NAND型フラッシュメモリ2A、第1のコントローラ3A、揮発性メモリ4Aを含む。
NAND型フラッシュメモリ2Aは、第2のコントローラ27Aを含む。第2のコントローラ27Aは、メモリ28Aを含む。なお、メモリ28Aは、第2のコントローラ27Aの外に備えられていてもよく、物理ブロックB0〜Bm−1の一部がメモリ28Aとして利用されてもよい。
第2のコントローラ27Aは、上記第1の実施形態で説明した消去動作に関わる消去部19、ベリファイ部20、第1の判断部22、変更部23、第2の判断部24、設定部25と同じ処理を実行可能である。
第1のコントローラ3Aは、上記第1の実施形態の第1のコントローラ3に対応し、禁止部26を備えているが、上記第1の実施形態において第1のコントローラ3によって実行されていた第1の判断部22、変更部23、第2の判断部24、設定部25を実行しなくてもよい。
メモリ28Aは、ループ回数データ12、ベリファイ結果データ14、フェイルビット数データ15に加えて、上記第1の実施形態において揮発性メモリ4に記憶されていたベリファイ電圧パターンデータ38、ベリファイ電圧データ13、消去時間データ16を記憶する。
揮発性メモリ4Aは、上記第1の実施形態の揮発性メモリ4に対応し、バッドブロックデータ17を記憶する。本実施形態においては、NAND型フラッシュメモリ2の第2のコントローラ27Aがメモリ28Aのループ回数データ12、ベリファイ電圧データ13、ベリファイ結果データ14、フェイルビット数データ15、消去時間データ16、ベリファイ電圧パターンデータ38を読み出し、及び書き込む。このため、揮発性メモリ4Aは、上記第1の実施形態で揮発性メモリ4に記憶されていたベリファイ電圧データ13、消去時間データ16、ベリファイ電圧パターンデータ38を記憶していなくてもよい。
本実施形態においては、NAND型フラッシュメモリ2Aに含まれている第2のコントローラ27Aが、消去部19、ベリファイ部20、第1の判断部22、変更部23、第2の判断部24、設定部25の機能を実現する。これにより、第1のコントローラ3Aは、消去動作において、上記第1の実施形態で説明した第1の判断部22、変更部23、第2の判断部24、設定部25の処理を実行する必要がない。このため、消去動作において、本実施形態に係る第1のコントローラ3Aの処理負荷を、上記第1の実施形態で説明したコントローラ3の処理負荷よりも軽減することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1,1A…半導体記憶装置、2,2A…NAND型フラッシュメモリ、3,3A…第1のコントローラ,27,27A…第2のコントローラ、28,28A…メモリ、4,4A…揮発性メモリ、5…ホスト装置、6…プロセッサ、7…ホストインタフェース、8…NANDインタフェース、9…揮発性メモリインタフェース、11…制御プログラム、12…ループ回数データ、13…ベリファイ電圧データ、14…ベリファイ結果データ、15…フェイルビット数データ、16…消去時間データ、17…バッドブロックデータ、18…アドレス変換データ、19…消去部、20…ベリファイ部、22…第1の判断部、23…変更部、24…第2の判断部、25…設定部、26…禁止部、38…ベリファイ電圧パターンデータ。
Claims (7)
- 不揮発性メモリと、
前記不揮発性メモリにおける消去対象エリアに記憶されているデータに対して消去電圧印加処理を繰り返し実行し、前記データの消去が成功と判断されることと前記消去電圧印加処理の実行回数が第1のしきい値を超えることとのうちのいずれかが成立する場合に前記消去電圧印加処理の繰り返しを停止する消去部と、
前記消去電圧印加処理に対応し消去ベリファイ電圧を用いて前記データの消去が成功か否かを判断する消去ベリファイ処理を実行するベリファイ部と、
前記消去ベリファイ処理によって前記データの消去が成功ではないと判断された場合に、前記ベリファイ電圧を次の消去ベリファイ処理で用いられる新たな消去ベリファイ電圧に変更する変更部と、
前記データの消去が成功と判断された場合に、前記消去対象エリアにおいて前記データの消去が成功するまでに必要とした消去時間が第2のしきい値を超えるかを判断する判断部と、
前記消去時間が前記第2のしきい値を超える場合、前記消去対象エリアを使用禁止状態とする禁止部と、
を具備する、半導体記憶装置。 - 前記変更部は、前記消去ベリファイ電圧を、前記消去ベリファイ電圧よりも前記データの消去が成功と判断されにくくなる前記新たな消去ベリファイ電圧に変更する、請求項1に記載の半導体記憶装置。
- 前記変更部は、前記消去電圧印加処理の前記実行回数が所定の値の場合に、前記消去ベリファイ電圧を前記新たな消去ベリファイ電圧へ変更する、請求項2に記載の半導体記憶装置。
- 前記消去時間が前記第2のしきい値以下の場合、前記データの消去が成功と判断した前記消去ベリファイ処理において用いられた消去ベリファイ電圧を、前記消去対象エリアに対する次の消去において最初に用いられる開始消去ベリファイ電圧として設定する設定部をさらに具備する、請求項1乃至請求項3のいずれか1項に記載の半導体記憶装置。
- 前記ベリファイ部は、前記消去ベリファイ処理によって前記データの消去が成功ではないと判断された場合に、前記消去対象エリアにおいて消去が成功していないビットの数を示すフェイルビット数データを生成し、
前記フェイルビット数データの示す前記ビットの数が第3のしきい値を超えるか否か判断するフェイルビット数判断部をさらに具備し、
前記変更部は、前記フェイルビット数データの示す前記ビットの数が前記第3のしきい値を超える場合に、前記消去ベリファイ電圧を前記新たな消去ベリファイ電圧へ変更する、
ことを特徴とする請求項1乃至請求項4のいずれか1項に記載の半導体記憶装置。 - 不揮発性メモリと、
前記不揮発性メモリにおける消去対象エリアに記憶されているデータに対して消去電圧印加処理を繰り返し実行し、前記データの消去が成功と判断されることと前記消去電圧印加処理の実行回数が第1のしきい値を超えることとのうちのいずれかが成立する場合に前記消去電圧印加処理の繰り返しを停止する消去部と、
前記消去電圧印加処理に対応し消去ベリファイ電圧を用いて前記データの消去が成功か否かを判断する消去ベリファイ処理を実行するベリファイ部と、
前記消去ベリファイ処理によって前記データの消去が成功と判断された場合に、前記消去対象エリアにおいて前記データの消去が成功するまでに必要とした消去時間が第2のしきい値を超えるかを判断する判断部と、
前記消去時間が前記第2のしきい値を超える場合、前記消去対象エリアを使用禁止状態とする禁止部と、
を具備する半導体記憶装置。 - 不揮発性メモリにおける消去対象エリアに記憶されているデータに対して消去電圧印加処理を繰り返し実行し、前記消去電圧印加処理に対応し前記データの消去が成功か否かを判断する消去ベリファイ処理を実行することと、
前記消去ベリファイ処理によって前記データの消去が成功と判断されることと前記消去電圧印加処理の実行回数が第1のしきい値を超えることとのうちのいずれかが成立する場合に前記消去電圧印加処理の繰り返しを停止することと、
前記消去ベリファイ処理によって前記データの消去が成功ではないと判断された場合に、前記ベリファイ電圧を次の消去ベリファイ処理で用いられる新たな消去ベリファイ電圧に変換することと、
前記データの消去が成功と判断された場合に、前記消去対象エリアにおいて前記データの消去が成功するまでに必要とした消去時間が第2のしきい値を超えるかを判断することと、
前記消去時間が前記第2のしきい値を超える場合、前記消去対象エリアを使用禁止状態とすることと、
を具備するデータ消去制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017065674A JP2018170057A (ja) | 2017-03-29 | 2017-03-29 | 半導体記憶装置及びそのデータ消去制御方法 |
US15/890,427 US10497446B2 (en) | 2017-03-29 | 2018-02-07 | Memory system controlling data erase for nonvolatile memory and control method for erasing data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017065674A JP2018170057A (ja) | 2017-03-29 | 2017-03-29 | 半導体記憶装置及びそのデータ消去制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018170057A true JP2018170057A (ja) | 2018-11-01 |
Family
ID=63669850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017065674A Pending JP2018170057A (ja) | 2017-03-29 | 2017-03-29 | 半導体記憶装置及びそのデータ消去制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10497446B2 (ja) |
JP (1) | JP2018170057A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11881267B2 (en) | 2021-08-18 | 2024-01-23 | Kioxia Corporation | Semiconductor memory device |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10535411B2 (en) * | 2017-05-26 | 2020-01-14 | Western Digital Technologies, Inc. | System and method for string-based erase verify to create partial good blocks |
US10748462B2 (en) * | 2018-05-29 | 2020-08-18 | Shenzhen China Star Optoelectronics Technology Co., Ltd. | Hardware controller of NAND device, control method and liquid crystal display |
US10910076B2 (en) * | 2019-05-16 | 2021-02-02 | Sandisk Technologies Llc | Memory cell mis-shape mitigation |
TWI685846B (zh) * | 2019-05-30 | 2020-02-21 | 華邦電子股份有限公司 | 非揮發性記憶裝置及其抹除操作方法 |
US11527296B2 (en) | 2020-04-24 | 2022-12-13 | Samsung Electronics Co., Ltd. | Operation method of nonvolatile memory device |
CN115552383A (zh) * | 2020-08-03 | 2022-12-30 | 华为技术有限公司 | 闪存数据管理方法、存储设备控制器及存储设备 |
US11581048B2 (en) | 2020-11-30 | 2023-02-14 | Cigent Technology, Inc. | Method and system for validating erasure status of data blocks |
US11651821B2 (en) * | 2021-02-08 | 2023-05-16 | Western Digital Technologies, Inc. | Adaptive program verify scheme for performance improvement |
KR20220144102A (ko) * | 2021-04-19 | 2022-10-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US20240028258A1 (en) * | 2022-07-20 | 2024-01-25 | Silicon Motion, Inc. | Method and apparatus for performing data management of memory device with aid of targeted protection control |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002230982A (ja) * | 2001-02-01 | 2002-08-16 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
JP2003036681A (ja) | 2001-07-23 | 2003-02-07 | Hitachi Ltd | 不揮発性記憶装置 |
JP2012069185A (ja) | 2010-09-22 | 2012-04-05 | Toshiba Corp | Nand型フラッシュメモリ、及び、nand型フラッシュメモリのテスト方法 |
JP5514135B2 (ja) | 2011-02-15 | 2014-06-04 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US8947958B2 (en) * | 2012-10-09 | 2015-02-03 | Freescale Semiconductor, Inc. | Latent slow bit detection for non-volatile memory |
US9042181B2 (en) * | 2013-03-15 | 2015-05-26 | SanDisk Technologies, Inc. | Periodic erase operation for a non-volatile medium |
US9305661B2 (en) * | 2014-09-03 | 2016-04-05 | Microsemi Storage Solutions (U.S.), Inc. | Nonvolatile memory system that uses programming time to reduce bit errors |
US9852786B2 (en) | 2015-10-21 | 2017-12-26 | Toshiba Memory Corporation | Semiconductor memory device that varies voltage levels depending on which of different memory regions thereof is accessed |
JP6249504B1 (ja) * | 2016-08-24 | 2017-12-20 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
-
2017
- 2017-03-29 JP JP2017065674A patent/JP2018170057A/ja active Pending
-
2018
- 2018-02-07 US US15/890,427 patent/US10497446B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11881267B2 (en) | 2021-08-18 | 2024-01-23 | Kioxia Corporation | Semiconductor memory device |
Also Published As
Publication number | Publication date |
---|---|
US10497446B2 (en) | 2019-12-03 |
US20180286485A1 (en) | 2018-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2018170057A (ja) | 半導体記憶装置及びそのデータ消去制御方法 | |
US20220130468A1 (en) | Memory system | |
CN108122588B (zh) | 非易失性存储器设备及包括其的存储设备 | |
US20160170682A1 (en) | Tag-based wear leveling for a data storage device | |
US10192625B2 (en) | Semiconductor memory device and memory system in which read voltage is set based on tracking read voltage | |
US10777278B2 (en) | Non-volatile memory device and erasing method of the same | |
JP2008123330A (ja) | 不揮発性半導体記憶装置 | |
JP2017054561A (ja) | 半導体記憶装置及びメモリシステム | |
KR102267046B1 (ko) | 스토리지 장치 및 배드 블록 지정 방법 | |
JP6652472B2 (ja) | メモリシステムおよび制御方法 | |
JP2020071843A (ja) | メモリシステム | |
JP2020004465A (ja) | 半導体記憶装置 | |
KR20210026431A (ko) | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 | |
US11238952B2 (en) | Memory system, memory controller, and method of operating memory system | |
US11615851B2 (en) | Semiconductor memory medium and memory system | |
US10216570B2 (en) | Memory device and control method thereof | |
US11307918B2 (en) | Memory controller performing recovery operation, operating method of the same, and memory system including the same | |
JP2013041634A (ja) | 不揮発性半導体記憶装置 | |
JP2016170731A (ja) | メモリシステム | |
US8000154B2 (en) | Non-volatile memory device and method of controlling a bulk voltage thereof | |
JP2013069367A (ja) | 不揮発性半導体記憶装置 | |
TW202326441A (zh) | 記憶體系統及半導體記憶裝置 | |
CN112037837B (zh) | 存储器系统、存储器控制器和存储器设备 | |
JP2009295232A (ja) | 半導体記憶装置およびその駆動方法 | |
US11307807B2 (en) | Memory system, memory controller, and method for operating memory system for determining read biases for read retry operation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20170531 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180830 |