JP2013125575A - 不揮発性半導体記憶装置、および不揮発性半導体記憶装置における動作条件制御方法 - Google Patents
不揮発性半導体記憶装置、および不揮発性半導体記憶装置における動作条件制御方法 Download PDFInfo
- Publication number
- JP2013125575A JP2013125575A JP2011275701A JP2011275701A JP2013125575A JP 2013125575 A JP2013125575 A JP 2013125575A JP 2011275701 A JP2011275701 A JP 2011275701A JP 2011275701 A JP2011275701 A JP 2011275701A JP 2013125575 A JP2013125575 A JP 2013125575A
- Authority
- JP
- Japan
- Prior art keywords
- block
- erase
- flash memory
- time
- reference value
- 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
Landscapes
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
【課題】フラッシュメモリの個々のブロックごとにメモリセルの特性の劣化状態を検出でき、フラッシュメモリの動作条件を個々のブロックの劣化状態に応じて設定することができる、不揮発性半導体記憶装置を提供する。
【解決手段】本発明の不揮発性半導体記憶装置1においては、フラッシュメモリ20内の個々のブロックのイレース時間(tERS)をモニタし、イレース時間(tERS)が判定基準値を上回った場合に、当該ブロックのブロックアドレスを記憶し、次に、当該ブロックに対してアクセスする際には、フラッシュメモリ20の動作条件を所定の動作条件に変更する。
【選択図】図1
【解決手段】本発明の不揮発性半導体記憶装置1においては、フラッシュメモリ20内の個々のブロックのイレース時間(tERS)をモニタし、イレース時間(tERS)が判定基準値を上回った場合に、当該ブロックのブロックアドレスを記憶し、次に、当該ブロックに対してアクセスする際には、フラッシュメモリ20の動作条件を所定の動作条件に変更する。
【選択図】図1
Description
本発明は、フラッシュメモリを備える不揮発性半導体記憶装置、および不揮発性半導体記憶装置における動作条件制御方法に関する。
関連する不揮発性半導体記憶装置がある(特許文献1を参照)。この特許文献1に記載の不揮発性半導体記憶装置は、書き込みと消去動作の回数に応じた最適な消去が行え、消去回数の増加に伴って消去時間が長くなるのを抑制できる不揮発性半導体記憶装置を提供すること目的とする。
この特許文献1に記載の不揮発性半導体記憶装置においては、過去に行った消去動作の回数を消去回数記憶部に記憶し、この消去回数にしたがって読み出し時間設定回路で読み出し時間を制御することにより、この消去回数に基づいて読み出し時間を設定できるようにしている。
この特許文献1に記載の不揮発性半導体記憶装置においては、過去に行った消去動作の回数を消去回数記憶部に記憶し、この消去回数にしたがって読み出し時間設定回路で読み出し時間を制御することにより、この消去回数に基づいて読み出し時間を設定できるようにしている。
また、関連する不揮発性半導体記憶装置がある(特許文献2を参照)。この特許文献2に記載の不揮発性半導体記憶装置は、サブブロック毎のデータ消去回数を管理する機能を内蔵する不揮発性半導体記憶装置を提供することを目的とする。この不揮発性半導体記憶装置では、セルアレイの各サブブロックがそのサブブロックのデータ消去毎に更新されるデータ消去回数を記憶し、セルアレイの所定のブロックが記憶するデータ消去回数の許容最大値を参照して、各サブブロックごとにデータ消去回数を制限する。
また、関連する記憶媒体上のデータ管理のための方法がある(特許文献3を参照)。この特許文献3に記載のデータ管理のための方法では、第1のブロックが消去されるべき場合、第1のブロックの消耗レベルが消去を行うのに許容可能であるか判定される。許容可能であれば、第1のブロック上のデータは消去される。そうでなければ、第1のブロックよりも低い消耗レベルを有する第2のブロックが選択され、第2のブロックのデータが第1のブロックへコピーされる。各ブロックは消去された回数を監視する関連するカウンタを有する。過去において殆ど消去されていないブロックは未来において消去される可能性が低いため、第1のブロックはあまり頻繁に消去されず、従って寿命が延ばされる。第2のブロックは新しいデータを記憶するために使用されることができ、より頻繁に使用される。
また、関連する端末装置がある(特許文献4を参照)。この特許文献4に記載の端末装置は、NAND型フラッシュメモリ上の特定の領域に書換えが集中するのを防ぎ、NAND型フラッシュメモリ全体に書換え頻度を分散させることができ、また書換えが発生した際には、ブロックの書換え回数を極力減少させ、製品のデータ書換えに関する処理速度を向上できる端末装置を提供することを目的とする。
また、関連する不揮発性半導体記憶装置がある(特許文献5を参照)。この特許文献5に記載の不揮発性半導体記憶装置は、多値記憶の不揮発性半導体記憶装置において、不要なベリファイを削減し、トータルの書き込み時間の短縮を図ることを目的とする。
NAND型フラッシュメモリは、プログラムおよび消去動作等のサイクリング(Cycling)を重ねるとメモリセルの酸化膜が劣化し、酸化膜中にチャージトラップが発生し、プログラムしたセルの閾値Vtの分布が広がる傾向がある。例えば、図10は、SLC(Single Level Cell)の閾値Vtの分布を示す図であり、図10(A)は、サイクリング前における閾値Vtの分布を示し、図10(B)は、サイクリング後における閾値Vtの分布を示している。この図において、Vpgmvは、プログラムベリファイ時のワード線に印加される電圧を示し、Vreadは、リード時の非選択ワード線の電圧を示す。この図に示すように、サイクリングを繰り返すことにより、サイクリング後の閾値Vtの分布範囲が、サイクリング前と比較して広がる。
このプログラムしたセルの閾値Vtの分布が広がると、次のような問題が起こる可能性がある。例えば、NAND型フラッシュメモリがSLCの場合に、オーバプログラミング(Over Programming)によるカラムリード(Column Read)不良が発生する可能性があり、MLC(Multiple Level Cell)の場合は、複数の閾値Vtの各々が隣接ステート(State)と重なることによるリード不良が発生することがある。これらはNAND型フラッシュメモリの信頼性に重大な問題となる。
従来、このような問題を回避するため、例えば、ECC(Error Checking and Correction:エラー検出訂正)機能の拡充、各ブロックのサイクリング回数(プログラム及び消去動作等の実施回数)を可能な限り平均化するためのシステムによる対処(Ware Leveling)、または、NAND型フラッシュメモリ全体の平均サイクリング回数を管理し、この平均サイクリング回数に応じてNAND型フラッシュメモリの動作条件を変更する方法が行われている。
しかしながら、ECCを拡充する場合は、ECCの情報を記憶するためのメモリ領域が必要となり、NAND型フラッシュメモリのチップ面積の増加を招く。また、データの読み書きにおいてECCを算出する処理が必要となるため、システム側にも負担がかかる。また、各ブロックのサイクリング回数を平均化する場合は、システム側に多数のレジスタ(サイクリング回数をブロックごとに保持するレジスタ)が必要になり、これもまた負担となる。また、サイクリング回数によりNAND型フラッシュメモリの動作条件を変更する場合は、NAND型フラッシュメモリ全体のサイクリング回数により動作条件が管理されるため、サイクリング回数が実際には少ないブロックに対しても新たな動作条件が適用されることになり、NAND型フラッシュメモリのパフォーマンスの低下につながるという欠点がある。
本発明は、斯かる実情に鑑みなされたものであり、本発明の目的は、フラッシュメモリの個々のブロックごとにメモリセルの特性の劣化状態により、フラッシュメモリの動作条件を個々のブロックの劣化状態に応じて設定することができる、不揮発性半導体記憶装置、および不揮発性半導体記憶装置における動作条件制御方法を提供することにある。
本発明は、上記課題を解決するためになされたものであり、本発明の不揮発性半導体記憶装置は、フラッシュメモリ内のブロックに対してイレース動作を行う際に、イレース開始から前記ブロック内のメモリセルのイレースが完了するまでのイレース時間を計測する機能と、前記イレース時間と所定の判定基準値とを比較する機能と、前記ブロックにおいてイレース時間が前記判定基準値を上回った場合は、次に当該ブロックに対してアクセスする際に、前記フラッシュメモリの動作条件を所定の動作条件に変更してアクセスする機能と、を備えることを特徴とする。
本発明の不揮発性半導体記憶装置においては、イレース対象となるブロックにおけるイレース時間を判定(計測)し、このイレース時間が判定基準値を上回った場合は、次にそのブロックにアクセスする際には、フラッシュメモリの動作条件を所定の動作条件に変更する。
これにより、フラッシュメモリの個々のブロックごとにメモリセルの特性の劣化状態を検出でき、この特性劣化に応じた動作条件を、個々のブロックごとにフラッシュメモリに対して設定することができる。このため、フラッシュメモリの信頼性の向上を図ることができる。
これにより、フラッシュメモリの個々のブロックごとにメモリセルの特性の劣化状態を検出でき、この特性劣化に応じた動作条件を、個々のブロックごとにフラッシュメモリに対して設定することができる。このため、フラッシュメモリの信頼性の向上を図ることができる。
以下、本発明の実施の形態を添付図面を参照して説明する。
[概要]
本実施形態の不揮発性半導体記憶装置においては、サイクリング回数ではなく、個々のブロック(メモリセルアレイに対してアクセス(例えば、プログラム等)する際の単位となるブロック)のイレース時間をモニタし、イレース時間が判定基準値を上回ったときのブロックアドレスを記憶し、そのブロックに次にアクセスする際に、NAND型フラッシュメモリの動作条件を変更する。
[概要]
本実施形態の不揮発性半導体記憶装置においては、サイクリング回数ではなく、個々のブロック(メモリセルアレイに対してアクセス(例えば、プログラム等)する際の単位となるブロック)のイレース時間をモニタし、イレース時間が判定基準値を上回ったときのブロックアドレスを記憶し、そのブロックに次にアクセスする際に、NAND型フラッシュメモリの動作条件を変更する。
すなわち、NAND型フラッシュメモリは、サイクリングを重ねることでメモリセルの酸化膜が劣化することにより、チャージトラップが発生し、このチャージトラップに電子が捕獲されることで、メモリセルのプログラム時間は早くなっていく(プログラムしやすくなる)。逆に、イレース時間は長くなる(イレースしにくくなる)。
そこで、不揮発性半導体記憶装置では、イレース対象となるブロックにおいてイレース時間が判定基準値を上回ったとき、そのブロックアドレスを記憶し、次回よりそのブロックアドレスにアクセスするときには新しい所定の動作条件の適用をNAND型フラッシュメモリに要求する。上記動作条件とは、例えばプログラム/プログラムベリファイ/リード/イレース(Progaram/Progarm Verify/Read/Erase)の際の動作条件である。なお、イレース時間の判定基準値は、NAND型フラッシュメモリの動作条件を変更する度に、更新(増加)されるものである。
[第1実施形態]
(不揮発性半導体記憶装置の構成)
図1は、本発明の第1実施形態に係わる不揮発性半導体記憶装置の構成を示す図である。図1に示す不揮発性半導体記憶装置1は、NAND型フラッシュメモリ(本明細書では、単に「フラッシュメモリ」とも呼ぶ)20を有する不揮発性半導体記憶装置であり、本発明に直接関係する部分のみを示したものである。この図1に示すように、本実施形態の不揮発性半導体記憶装置1は、メモリセルがアレイ状に配列されたNAND型フラッシュメモリ20と、このフラッシュメモリ20を制御するコントローラ10と、を有して構成される。また、NAND型フラッシュメモリ20は、メモリセルがアレイ状に配列されたメモリセルアレイ21を有している。
(不揮発性半導体記憶装置の構成)
図1は、本発明の第1実施形態に係わる不揮発性半導体記憶装置の構成を示す図である。図1に示す不揮発性半導体記憶装置1は、NAND型フラッシュメモリ(本明細書では、単に「フラッシュメモリ」とも呼ぶ)20を有する不揮発性半導体記憶装置であり、本発明に直接関係する部分のみを示したものである。この図1に示すように、本実施形態の不揮発性半導体記憶装置1は、メモリセルがアレイ状に配列されたNAND型フラッシュメモリ20と、このフラッシュメモリ20を制御するコントローラ10と、を有して構成される。また、NAND型フラッシュメモリ20は、メモリセルがアレイ状に配列されたメモリセルアレイ21を有している。
コントローラ10は、NAND型フラッシュメモリ20内のブロック(フラッシュメモリ20内のメモリセルアレイ21へアクセスする際の単位となるブロック)に対して、プログラムの実行指令等のコマンドを発行するとともに、フラッシュメモリ20における動作条件を設定するためのコマンド(動作条件変更設定コマンドCMD)を発行する。NAND型フラッシュメモリ20は、コントローラ10から入力したコマンドCMDに含まれる動作条件の変更設定情報に従い、例えば、プログラム電圧や、リード電圧等の動作条件を設定する。また、NAND型フラッシュメモリ20は、後述するフラグF_ERS(イレース完了情報)の信号をコントローラ10に出力する。
コントローラ10は、フラッシュメモリ20から入力したフラグF_ERSを基に、イレース時間(tERS)判定部13により、イレース対象となるブロックにおけるイレース開始からフラグF_ERSが出力されるまでの時間tERSを計測するとともに、時間tERSが所定の判定基準値(例えば、3ms)を上回ったか否かを判定する。
ブロックアドレス記憶部12は、イレース時間判定部13により、イレース対象となるブロックにおける時間tERSが所定の判定基準値(例えば、3ms)を上回ったと判定された場合に、当該ブロックのブロックアドレスと、当該ブロックにおいて時間tERSを上回った回数とを記憶する。
上記構成の不揮発性半導体記憶装置1において、NAND型フラッシュメモリ20内のブロックにアクセスする場合、コントローラ10は、最初に、ブロックアドレス記憶部12と、条件テーブル11とを参照する。なお、条件テーブル11には、後述するように、イレース時間tERSの判定基準値と、イレース時間tERSが判定基準値を上回った回数(補正回数)と、この上回った回数に対応して次回からの動作でそのブロックに適用されるべきフラッシュメモリ20の動作条件と、が対応付けられて記憶されている(図6を参照)。そして、ブロックアドレス記憶部12に当該ブロックのブロックアドレスが記憶されている場合に、コントローラ10は、その回数(時間tERSが判定基準値を上回った回数)およびそれに対応する動作条件を条件テーブル11から読み出す。コントローラ10は、この条件テーブル11から読み出した動作条件をNAND型フラッシュメモリ20に対して設定し、その後に、所望の動作(リード/プログラム/イレース)を行う。
NAND型フラッシュメモリ20は、コントローラ10から要求された動作条件変更設定指令(動作条件変更設定コマンドCMD)に応じて動作条件を変更できる機能を備える。動作条件の変更例としては、例えば、フラッシュメモリ20は、プログラムストレス(Program stress)の開始電圧(Vipgm)を変更する(下げる)。また、例えば、フラッシュメモリ20は、メモリセルのゲート電圧を一定電圧Vstep上昇させながらプログラムミングを行う増加型パルスプログラム(Incremental Step Pulse−Program:ISPP)サイクルにおける電圧ステップ幅(Vstep)を変更する(小さくする)。これにより、フラッシュメモリ20において、プログラム速度を抑え、過書き込み(オーバプログラミング)を防止する。
或いは、フラッシュメモリ20は、リード時の非選択ワード線の電圧(Vread)を変更する(高くする)。これにより、フラッシュメモリ20は、メモリセルに対して多少過書き込みが発生しても、メモリセルからデータを読み出す際に、データを正常に読み出せるようにマージン(余裕度)を持つことができる。或いは、フラッシュメモリ20は、プログラムベリファイ時の選択ワード線の電圧(Vsel)を変更する(高くする)。メモリセルはサイクリングを重ねるとプログラムしやすくなるが同時に電荷保持特性も劣化するので、これに対して、フラッシュメモリ20は、プログラムベリファイ時の選択ワード線の電圧(Vsel)を変更(高くする)することにより、データを正常に読み出せるようにマージンを持つことができる。
図2は、NAND型フラッシュメモリ20の構成を示す図であり、本発明に関係する部分を示したものである。この図2に示すように、NAND型フラッシュメモリ20は、メモリセルアレイ21と、ページバッファデコーダ22Aを備えるページバッファ22と、ロウデコーダ23とを有する。また、NAND型フラッシュメモリ20は、このNAND型フラッシュメモリ20の全体の動作を統括して制御するメモリ制御回路31と、動作条件変更設定部32と、出力データバッファ33と、入力データバッファ34と、フラグ発生部35と、イレース完了検出部36と、動作電圧コントローラ37と、を有している。
上記構成のNAND型フラッシュメモリ20において、メモリセルアレイ21は、図3に示すブロックを複数ブロック備えている。各ブロックは、図3に示すように、N+1本のビット線BL0〜BLN(ビット線BLで総称)と、n+1本のワード線WL0〜WLn(ワード線WLで総称)と、共通ソース線CSLと、各ビット線BLと共通ソース線CSLとの間にそれぞれ接続されたN+1個のメモリストリングST0〜STN(メモリストリングSTで総称)と、を備える。各メモリストリングSTは、互いに直列接続されたn+1個のフローティングゲート構造の電気的書き換え可能な不揮発性のメモリセルMC0〜MCnを備え、ドレイン側のメモリセルMCnは選択ゲートトランジスタSS1を介して対応するビット線BLに接続され、ソース側のメモリセルMC0は選択ゲートトランジスタGS1を介して共通ソース線CSLに接続される。また、同一行のメモリセルの制御ゲートは、共通のワード線WLに接続されている。
図3に示すブロックにおいて、メモリセルの消去は、例えば、半導体基板に高電圧を印加し、ワード線WL0〜WLnに0Vを印加することにより行われる。これにより、例えばポリシリコンなどからなる電荷蓄積層であるフローティングゲートより電子を引き抜いて、メモリセルMCの閾値電圧を消去閾値電圧VtL(例えば、−1V)に設定する。一方、書き込み(プログラム)においては、例えば、ソース及びドレインに0Vを与え、制御ゲート(選択したワード線WL)に高電圧を印加することにより、フローティングゲートに電子を注入し、閾値電圧を上昇させて書込閾値電圧VtHに設定する。そして、メモリセルMC0〜MCnの閾値電圧が閾値電圧VtLの場合、当該メモリセルのデータ値を“1”とし、閾値電圧が閾値電圧VtHの場合、当該メモリセルのデータ値を“0”とする。
また、メモリセルからデータを読み出すときには、全てのビット線BLを所定の電圧でプリチャージした後に、閾値VtLとVtH間の読み出し電圧を、読み出し対象のメモリセルMCに共通に接続されたワード線WLを介して、選択メモリセルの各制御ゲートに印加する。また、高電圧を、上記選択メモリセル以外のメモリセルMCおよび選択トランジスタSS1,GS1の各制御ゲートに印加して、上記選択メモリセル以外のメモリセルMCならびに選択ゲートトランジスタSS1,GS1を導通させる。従って、選択メモリセルのデータ値が“1”のときには、当該選択メモリセルにセル電流が流れる一方、選択メモリセルのデータ値が“0”のときには、当該選択メモリセルにセル電流が流れないので、セル電流が流れるか否かに基づいて、各選択メモリセルに書き込まれているデータを読み出すことができる。
また、図2に示すNAND型フラッシュメモリ20において、動作条件変更設定部32は、コントローラ10から入力したコマンド(動作条件変更設定コマンド)CMDが指示する動作条件に従い、NAND型フラッシュメモリ20における動作条件を設定する。また、出力データバッファ33は、メモリセルアレイ21から読み出したデータの外部出力用のバッファ回路であり、外部装置との接続線となるデータ入出線(I/Os)にデータを出力する。入力データバッファ34は、同じくデータ入出線(I/Os)に接続され、外部装置からのデータの入力、アドレス信号の入力、及び動作制御のコマンド等の入力に使用されるバッファ回路である。
イレース完了検出部36は、イレース対象となるブロックにおけるイレース動作において、このブロック内の全てのメモリセルがイレースされた場合に、このブロックのイレースが完了したことを示す情報(イレース完了情報)をフラグ発生部35に出力する。フラグ発生部35は、イレース完了検出部36からイレース完了情報が入力された場合に、イレース対象となるブロックにおいてイレースが完了したことを示すフラグF_ERSを生成して、コントローラ10に出力する。
動作電圧コントローラ37は、データ書き換え(プログラム)、消去(イレース)、読み出し(リード)等の動作時に用いる昇圧された高電圧や中間電圧を発生する。この動作電圧コントローラ37で生成された電圧信号は、信号Vread、Vpgm、Vers等としてロウデコーダ23とページバッファ22に出力される。この動作電圧コントローラ37における電圧信号の発生動作は、メモリセルMCからのデータの読み出し(リード)、書き換え(プログラム)及び消去(イレース)動作等に応じて、メモリ制御回路31および動作条件変更設定部32から出力される制御指令に基づいて行われる。
[本実施形態の不揮発性半導体記憶装置の動作説明]
上述したように、NAND型フラッシュメモリ20は、サイクリングを重ねることでメモリセルの酸化膜にチャージトラップが発生し、メモリセルのプログラム時間は早くなっていく(プログラムしやすくなる)。一方で、イレース時間は長くなっていく(イレースしにくくなる)。
上述したように、NAND型フラッシュメモリ20は、サイクリングを重ねることでメモリセルの酸化膜にチャージトラップが発生し、メモリセルのプログラム時間は早くなっていく(プログラムしやすくなる)。一方で、イレース時間は長くなっていく(イレースしにくくなる)。
そこで、不揮発性半導体記憶装置1では、イレース対象となるブロックにおいてイレース時間tERSを計測し、このイレース時間tERSが判定基準値を上回ったとき、そのブロックアドレスを記憶し、次回よりそのブロックアドレスにアクセスするときには新しい動作条件を適用するようにNAND型フラッシュメモリ20に要求する。上記動作条件とは、例えばプログラム/プログラムベリファイ/リード/イレース(Progaram/Progarm Verify/Read/Erase)の際の動作条件である。なお、イレース時間tERSは、イレース対象となるブロックにおけるイレース開始からフラグF_ERSが出力されるまでの時間で定義されるものである。
図4は、サイクリング回数に対するプログラム時間tPROGとイレース時間tERSの変化特性を示す図である。この図4では、横軸にサイクリング回数(logスケール)を示し、縦軸に時間を示している。なお、縦軸に示す時間は、tPROGとtERSのそれぞれの特性曲線に応じたA.U.(任意単位)である。
この図4に示すように、サイクリング回数0からN1の間では、プログラム時間tPROGとイレース時間tERSのそれぞれが、ほぼ一定で推移する。そして、サイクリング回数N1以降、フラッシュメモリ20は、サイクリングを重ねることでメモリセルの酸化膜にチャージトラップが発生し、メモリセルのプログラム時間tPROGは短くなっていく(プログラムしやすくなる)。また、逆にイレース時間tERSは長くなっていく(イレースしにくくなる)。
そして、時間tERSが長くなり、判定基準値(基準値1)を上回ったとき(サイクリング回数N2のとき)に、コントローラ10は、フラッシュメモリ20にコマンドCMDを発行し、フラッシュメモリ20における動作条件を変更する。なお、基準値2については、次の図5で説明する。
図5は、フラッシュメモリにおける動作条件の変更とプログラム時間tPROGの変化を示す図である。この図5では、図4と同様に、横軸にサイクリング回数(logスケール)、縦軸に時間(A.U.)を示している。
この図5に示すように、サイクリング回数0からN1の間では、プログラム時間tPROGとイレース時間tERSのそれぞれが、ほぼ一定で推移する。そして、サイクリング回数N1以降、フラッシュメモリ20において、サイクリングを重ねることでメモリセルの酸化膜にチャージトラップが発生し、メモリセルのプログラム時間tPROGは短くなっていく(プログラムしやすくなる)。また、逆にイレース時間tERSは長くなっていく。
この図5に示すように、サイクリング回数0からN1の間では、プログラム時間tPROGとイレース時間tERSのそれぞれが、ほぼ一定で推移する。そして、サイクリング回数N1以降、フラッシュメモリ20において、サイクリングを重ねることでメモリセルの酸化膜にチャージトラップが発生し、メモリセルのプログラム時間tPROGは短くなっていく(プログラムしやすくなる)。また、逆にイレース時間tERSは長くなっていく。
そして、サイクリング回数N2において、時間tERSが長くなり、判定基準値(基準値1)を上回ったときに、コントローラ10は、フラッシュメモリ20にコマンドCMDを発行し、フラッシュメモリ20における動作条件を変更する。また、コントローラ10は、判定基準値を基準値1から基準値2(基準値2>基準値1)に更新する。そして、フラッシュメモリ20における動作条件を変更することにより、プログラム時間tPROGは、一旦、元の時間(サイクリング回数N1以下のtPROGの時間)まで復帰する。
サイクリング回数N2において動作条件を変更した後、さらにサイクリング回数を重ねることにより、メモリセルのプログラム時間tPROGは次第に短くなり、イレース時間tERSはさらに長くなっていく。そして、サイクリング回数N3において、時間tERSが長くなり、判定基準値(基準値2)を上回ったときに、コントローラ10は、フラッシュメモリ20にコマンドCMDを発行し、フラッシュメモリ20における動作条件を再び変更する。そして、フラッシュメモリ20における動作条件を変更することにより、プログラム時間tPROGは、元の時間に復帰する。このように、コントローラ10は、NAND型フラッシュメモリ20から出力されるフラグF_ERSをモニタして、イレース時間tERSが判定基準値(更新される判定基準値)を超えるごとにNAND型フラッシュメモリ20における動作条件を変更する。
上記フラッシュメモリ20おける動作条件を変更するために、コントローラ10内の条件テーブル11には、時間tERSの判定基準値と、イレース時間tERSが判定基準値を上回った回数(補正回数)と、この上回った回数に対応する次回からの動作でそのブロックに適用されるべきフラッシュメモリ20の動作条件と、が対応付けられて記憶されている。
図6は、条件テーブルの一例を示す図である。この図6に示す表には、判定基準値と、補正回数(イレース時間tERSが判定基準値を上回った回数)と、この補正回数に対応するNAND型フラッシュメモリ20の動作条件(リード時、プログラム時、ベリファイプログラム時、およびイレース時における動作条件)が示されている。なお、この表において、リード時の電圧Vreadは、リード時の非選択ワード線の初期電圧を示し、プログラム時の電圧Vipgmは、プログラム時の初期電圧を示している。また、プログラムベリファイ時の電圧Vpassは、プログラムベリファイ時の非選択ワード線の初期電圧を示し、電圧Vselは、選択ワード線の初期電圧を示している。また、イレース時の電圧Versは、メモリセルのイレース時の消去電圧(初期電圧)を示している。
この図6に示すように、イレース時間tERSが1番目の判定基準時間(3ms)よりも長くなった時(図5に示すサイクリング回数N2のとき)に、1回目の動作条件の補正が行われる。この補正1回目では、リード時の非選択ワード線の電圧Vreadを初期電圧Vreadから0.1V増加させてVread1とする(Vread1=Vread+0.1V)。これは、フラッシュメモリの酸化膜が劣化することにより、プログラム速度が速くなり(プログラム電圧が低下し)、メモリセルがオーバプログラミング(閾値Vtが上昇)されている可能性があるため、非選択ワード線の電圧Vreadを上昇させて対応するものである。
また、この補正1回目では、プログラム時の初期電圧Vipgmを初期電圧Vipgmから1.0V減少させてVipgm1(Vipgm1=Vipgm−1.0V)とする。これは、フラッシュメモリの酸化膜が劣化することにより、プログラム速度が速くなり、メモリセルがオーバプログラミングされることを防ぐために、プログラム電圧Vipgmを低下させて対応するものである。
また、補正1回目では、増加型パルスプログラム(ISPP)サイクルにおけるステップ電圧Vstep1を、初期電圧Vstepのままとする(Vstep1=Vstep)。なお、増加型パルスプログラム(ISPP)は、メモリセルのゲートに印加する電圧をステップ状に増加させて書き込みを行う方式であり、NAND型フラッシュメモリ20において、プログラム電圧をループ毎に一定値ずつ増加させて、所望のメモリセルへのデータの書き込みを行うものである。
また、補正1回目では、プログラムベリァイ時の非選択ワード線の電圧Vpassを、初期電圧Vpassから0.1V増加させてVpass1(Vpass1=Vpass+0.1V)とする。これは、フラッシュメモリの酸化膜が劣化することにより、閾値Vtが低下することがあるため、逆に、ベリファイ時における非選択ワード線の電圧Vpassを上昇させて対応するものである。また、プログラムベリァイ時の電圧Vselを、初期電圧Vselから0.1V増加させてVsel1(Vsel1=Vsel+0.1V)とし、イレース時の電圧Vers1は初期電圧Versのままとする(Vers1=Vers)。なお、この例では、イレース時の電圧Vers1を初期電圧Versのままにしているが、メモリセルがオーバプログラミングされている可能性を考慮して増加させるようにしてもよい。
次に、イレース時間tERSが2番目の判定基準値(4ms)よりも長く短くなった時(図5に示すサイクリング回数N3のとき)に、2回目の動作条件の補正が行われる。この補正2回目では、リード時の非選択ワード線の電圧Vreadを、初期電圧Vreadから0.2V増加させてVread2(Vread2=Vread+0.2V)とする。また、プログラム電圧Vipgmを、初期電圧Vipgmから−1.5V減少させてVipgm2(Vipgm2=Vipgm−1.5V)とする。また、ISPPサイクルにおけるステップ電圧Vstepを、初期電圧Vstepから0.1V減少させてVstep2(Vstep2=Vstep−0.1V)とする。
また、補正2回目では、プログラムベリァイ時の非選択ワード線の電圧Vpassを、初期電圧Vpassから0.2V増加させてVpass2(Vpass2=Vpass+0.2V)とする。また、プログラムベリァイ時の電圧Vselを、初期電圧Vselから0.1V増加させてVsel2(Vsel2=Vsel+0.1V)とする。なお、イレース時の電圧Vers2は初期電圧Versのままとする(Vers2=Vers)。
同様にして、コントローラ10では、時間tERSが判定基準値(5ms、・・・)を上回ったことを検出するごとに、3回目、4回目、・・・・と順番に補正を繰り返す。
上述のように、NAND型フラッシュメモリ20を使用する不揮発性半導体記憶装置1は、フラッシュメモリ20からフラグF_ERSが出力される時間tERSを判定し、時間tERSが判定基準値を上回った場合、コントローラ10は、判定基準値を所定の値に更新(長く)するとともに、そのブロックアドレス及びイレース時間tERSが判定基準値を上回った回数(補正回数)をブロックアドレス記憶部12に記憶する(初回目ならば1、2回目ならば2、3回目ならば3、・・・・)。
そして、不揮発性半導体記憶装置1のコントローラ10は、次にそのブロックにアクセスする場合、条件テーブル11に記憶している補正回数及びそれに対応する動作条件を読み出し、その読み出した動作条件をまずNAND型フラッシュメモリ20に対して設定し、その後に、所望の動作(リード/プログラム/イレース)を行う。
なお、図6に示す条件テーブルにおける動作条件の設定値は、例えば、実験データにより決定することができる。また、図6に示す条件テーブル11は、一例を示すものであって、不揮発性半導体記憶装置の種類や構成に応じて、その設定値は、変更される得るものである。
また、あるブロックにおける補正回数が増大(特性劣化が進行)した場合は、当該ブロックを使用しないようにすることができる。これにより、フラッシュメモリ20の寿命を延ばすとともに、フラッシュメモリ20における信頼性の向上を図ることができる。
また、あるブロックにおける補正回数が増大(特性劣化が進行)した場合は、当該ブロックを使用しないようにすることができる。これにより、フラッシュメモリ20の寿命を延ばすとともに、フラッシュメモリ20における信頼性の向上を図ることができる。
以上、説明したように、本実施形態の不揮発性半導体記憶装置においては、サイクリング回数ではなく、個々のブロックのイレース時間tERSをモニタし、イレース時間tERSが判定基準値を上回ったときに、当該ブロックアドレスを記憶してそのブロックに対してのみ動作条件を変更する。
すなわち、NAND型フラッシュメモリ20は、サイクリングを重ねることでメモリセルの酸化膜にチャージトラップが発生し、メモリセルのプログラム時間は早くなっていく(プログラムしやすくなる)。逆に、イレース時間は長くなる(イレースしにくくなる)。そこで、不揮発性半導体記憶装置1では、イレース対象となるブロックにおいてイレース時間が判定基準値を上回ったとき、そのブロックアドレス及びそのブロックに次回から適用すべき動作条件を記憶し、次回よりそのブロックアドレスにアクセスするときには新しい動作条件適用をNAND型フラッシュメモリ20に指示する。
このように、本実施形態の不揮発性半導体記憶装置1においては、NAND型フラッシュメモリ20上での個々のブロックのサイクリング回数を記憶しておく必要がないのでレジスタ領域が少なくてすむ。また、個々のブロックごとにメモリセルの特性の劣化状態の管理することができるので、平均のサイクリング回数を利用してNAND型フラッシュメモリ20の動作条件を変更する場合に比べて、NAND型フラッシュメモリ20の全体の特性劣化を招くことがなく、NAND型フラッシュメモリ20の信頼性の向上を図ることができる。
[第2実施形態]
次に、本発明の第2実施形態として、第1実施形態におけるNAND型フラッシュメモリ20がフラグF_ERSをコントローラ10に出力する方法に替えて、フラッシュメモリ20が判定基準値(更新される判定基準値)に応じたフラグ値をコントローラ10に出力する例について説明する。これにより、コントローラ10は、イレース時間を判定(計測)する必要がなくなり、コントローラ10における制御が簡単になる。
次に、本発明の第2実施形態として、第1実施形態におけるNAND型フラッシュメモリ20がフラグF_ERSをコントローラ10に出力する方法に替えて、フラッシュメモリ20が判定基準値(更新される判定基準値)に応じたフラグ値をコントローラ10に出力する例について説明する。これにより、コントローラ10は、イレース時間を判定(計測)する必要がなくなり、コントローラ10における制御が簡単になる。
図7は、本発明の第2の実施形態に係わる不揮発性半導体記憶装置1Aの構成を示す図である。図7に示す不揮発性半導体記憶装置1Aは、図1に示す不揮発性半導体記憶装置1と比較して、図1に示すコントローラ10内のイレース時間(tERS)13を省略した点と、図1に示す条件テーブル11とブロックアドレス記憶部12とを図7に示す条件テーブル11Aとブロックアドレス記憶部12Aに変更した点が異なる。また、図1に示すNAND型フラッシュメモリ20からフラグF_ERSを出力するのに替えて、図7に示すNAND型フラッシュメモリ20Aから、フラグ値RnBを出力するように変更した点が異なる。他の構成は、図1に示す不揮発性半導体記憶装置1と同様である。
また、図8は、本発明の第2実施形態に係わるNAND型フラッシュメモリ20Aの構成を示す図である。図8に示すNAND型フラッシュメモリ20Aは、図2に示すNAND型フラッシュメモリ20と比較して、図2に示すフラグ発生部35を、図8に示すフラグ値生成部35Aに変更した点が異なる。
すなわち、図2に示す第1実施形態のNAND型フラッシュメモリ20においては、イレース対象となるブロックにおいてイレースが完了した場合に、フラグ発生部35が、イレースが完了したことを示すフラグF_ERSを生成してコントローラ10に出力するように構成されている。
一方、図8に示すNAND型フラッシュメモリ20Aにおいては、イレース対象となるブロックにおいてイレースが完了した場合に、フラグ値生成部35Aは、イレース時間tERS応じたフラグ値RnBを生成してコントローラ10Aに出力するように構成されている。
一方、図8に示すNAND型フラッシュメモリ20Aにおいては、イレース対象となるブロックにおいてイレースが完了した場合に、フラグ値生成部35Aは、イレース時間tERS応じたフラグ値RnBを生成してコントローラ10Aに出力するように構成されている。
このフラグ値生成部35Aは、イレース完了検出部36からイレース完了情報を受け取ると、このイレース完了情報を基に、当該ブロックにおけるイレース時間tERSを判定(計測)する。また、このフラグ値生成部35Aは、複数の判定基準値「判定基準値1,判定基準値2(>判定基準値1),判定基準値3(>判定基準値2),・・・,判定基準値n」を予め保持しており、判定(計測)したイレース時間tERSを、それぞれの判定基準値と比較し、その比較結果を基にフラグ値RnBを生成する。
例えば、フラグ値生成部35Aは、イレース時間tERSが判定基準値1よりも大きく判定基準値2よりも小さい場合(判定基準値1<tERS<判定基準値2)には、フラグ値“01”を生成してコントローラ10Aに出力する。また、フラグ値生成部35Aは、イレース時間tERSが判定基準値2よりも大きく判定基準値3よりも小さい場合(判定基準値2<tERS<判定基準値3)には、フラグ値“02”を生成して出力する。このように、フラグ値生成部35Aは、イレース時間tERSが判定基準値1を超える場合に、その判定基準値の大きさに応じたフラグ値を生成してコントローラ10Aに出力する。
コントローラ10Aは、イレース対象となるブロックに対してイレースを開始した後にフラッシュメモリ20からフラグ値RnBを受け取ると、当該ブロックのブロックアドレスと、フラグ値RnBとを対応付けてブロックアドレス記憶部12Aに記憶する。また、コントローラ10Aは、図9に示す条件テーブル11Aを備えている。この図9に示す条件テーブル11Aは、図6に示す条件テーブル11と比較して、図6に示す表中の補正回数(1,2、3,・・・,n)を、図9に示すフラグ値(01,02,03,・・・,FF)に変更した点が異なる。他の項目については図6と同様である。この条件テーブル11Aには、イレース時間tERSと、フラグ値RnBと、フラグ値RnBに応じたフラッシュメモリ20Aの動作条件と、が対応付けされて記憶されている。
そして、NAND型フラッシュメモリ20A内のブロックに対してアクセスを開始する場合に、コントローラ10Aは、まずブロックアドレス記憶部12Aを参照し、当該ブロックのブロックアドレスがブロックアドレス記憶部12Aに記憶されているか否かを判定する。コントローラ10Aは、アクセスしようとするブロックのブロックアドレスがブロックアドレス記憶部12Aに記憶されている場合に、このブロックアドレスに対応して記憶されているフラグ値RnBを読み出し、このフラグ値RnBを基に条件テーブル11Aを参照して、フラッシュメモリ20Aに適用すべき動作条件を読み出す。コントローラ10Aは、条件テーブル11Aから読み出した動作条件を、このブロックに対して適用するようにフラッシュメモリ20Aに要求する。
そして、コントローラ10Aは、要求した動作条件がフラッシュメモリ20Aに設定された後に、フラッシュメモリ20Aのブロックへのアクセスを開始する。
そして、コントローラ10Aは、要求した動作条件がフラッシュメモリ20Aに設定された後に、フラッシュメモリ20Aのブロックへのアクセスを開始する。
このように、第2実施形態の不揮発性半導体記憶装置1Aでは、フラッシュメモリ20Aがイレース時間tERSと判定基準値(複数の判定基準値)を比較し、その比較結果をフラグ値RnBとしてコントローラ10Aに出力するので、これにより、コントローラ10側でイレース時間tERSの判定を行う必要がなくなり、また、イレース時間tERSと判定基準値との比較を行う必要もなくなり、コントローラ10Aにおける制御が簡単化される。
以上本発明の実施形態について説明したが、ここで、本発明と上記実施形態の対応について補足して説明しておく。上記実施形態において、本発明における不揮発性半導体記憶装置は、図1に示す不揮発性半導体記憶装置1が対応し、本発明におけるフラッシュメモリは、NAND型フラッシュメモリ(単に「フラッシュメモリ」とも呼ぶ)20が対応する。また、本発明における制御部は、図1に示すコントローラ10が対応し、本発明における条件テーブルは、条件テーブル11が対応し、本発明におけるブロックアドレス記憶部は、ブロックアドレス記憶部12が対応し、本発明におけるイレース時間判定部は、イレース時間判定部13が対応する。
(1)そして、上記実施形態において、不揮発性半導体記憶装置1は、フラッシュメモリ20内のブロックに対してイレース動作を行う際に、イレース開始からブロック内のメモリセルのイレースが完了するまでのイレース時間tERSを計測する機能と、イレース時間tERSと所定の判定基準値とを比較する機能と、上記ブロックにおいてイレース時間tERSが判定基準値を上回った場合は、次に当該ブロックに対してアクセスする際に、フラッシュメモリ20の動作条件を所定の動作条件に変更してアクセスする機能と、を備える。
このような構成の不揮発性半導体記憶装置1では、イレース対象となるブロックにおけるイレース時間tERSを判定(計測)し、このイレース時間tERSが判定基準値を上回ったときに、当該ブロックのブロックアドレスを記憶しておき、次にそのブロックにアクセスする際には、フラッシュメモリ20の動作条件を所定の動作条件に変更する。
これにより、フラッシュメモリ内の個々のブロックごとにメモリセルの特性劣化状態を検出でき、この特性劣化に応じた動作条件を個々のブロックごとに、フラッシュメモリ20に対して設定することができる。また、メモリセルが劣化していないブロックに対しては通常の動作条件を設定できる。さらには、劣化の程度が大きい(劣化が進んだ)ブロックを使用しないようにすることもできる。このため、フラッシュメモリ20の全体の特性劣化を招くことがなく、フラッシュメモリの寿命を延ばすとともに、フラッシュメモリ20の信頼性の向上を図ることができる。
このような構成の不揮発性半導体記憶装置1では、イレース対象となるブロックにおけるイレース時間tERSを判定(計測)し、このイレース時間tERSが判定基準値を上回ったときに、当該ブロックのブロックアドレスを記憶しておき、次にそのブロックにアクセスする際には、フラッシュメモリ20の動作条件を所定の動作条件に変更する。
これにより、フラッシュメモリ内の個々のブロックごとにメモリセルの特性劣化状態を検出でき、この特性劣化に応じた動作条件を個々のブロックごとに、フラッシュメモリ20に対して設定することができる。また、メモリセルが劣化していないブロックに対しては通常の動作条件を設定できる。さらには、劣化の程度が大きい(劣化が進んだ)ブロックを使用しないようにすることもできる。このため、フラッシュメモリ20の全体の特性劣化を招くことがなく、フラッシュメモリの寿命を延ばすとともに、フラッシュメモリ20の信頼性の向上を図ることができる。
(2)また、上記実施形態において、不揮発性半導体記憶装置1は、メモリセルがアレイ状に配列されたメモリ領域を有するフラッシュメモリ20とフラッシュメモリ20の動作を制御する制御部(コントローラ10)とを有し、フラッシュメモリ20は、イレース対象となるブロック内のメモリセルのイレースが完了したときに、このイレースが完了したことを示すイレース完了情報(フラグF_ERS)を外部(コントローラ10)に出力する機能と、外部(コントローラ10)からの要求に応じて当該フラッシュメモリ20における動作条件を変更する機能と、を備え、制御部(コントローラ10)は、フラッシュメモリ20から出力されるイレース完了情報(フラグF_ERS)をモニタすることにより、イレース対象となるブロックにおけるイレースの開始からイレースが完了するまでに要したイレース時間tERSを判定する機能と、イレース時間tERSと判定基準値とを比較する機能と、上記イレース対象となるブロックにおいてイレース時間tERSが判定基準値を上回った場合に、当該ブロックのブロックアドレスを記憶するとともに、次回より当該ブロックにアクセスする際には、フラッシュメモリ20の動作条件を所定の動作条件に変更するようにフラッシュメモリ20に要求する機能と、を備える。
このような構成の不揮発性半導体記憶装置1では、フラッシュメモリ20は、イレース対象となるブロック内のメモリセルのイレースが完了したときに外部にイレース完了情報(フラグF_ERS)を出力する。また、フラッシュメモリ20は、外部(コントローラ10)からの要求に応じて動作条件を変更することができる。
制御部(コントローラ10)では、フラッシュメモリ20から出力されるイレース完了情報(フラグF_ERS)をモニタして、イレース時間tERS(イレース開始からフラグF_ERSされるまでの時間)を判定する。そして、制御部(コントローラ10)は、時間tERSが判定基準値上回ったとき、そのブロックアドレス及びそのブロックに次回から適用すべき動作条件を記憶し、次回よりそのブロックにアクセスするときには新しい動作条件を適用するようにフラッシュメモリ20に要求する。上記動作条件とは、例えばプログラム/プログラムベリファイ/リード/イレース(Progaram/Progarm Verify/Read/Erase)の際の動作条件である。
これにより、フラッシュメモリにおける個々のブロックのサイクリング回数を記憶することなく、個々のブロックごとにメモリセルの特性の劣化を検出し、フラッシュメモリの動作条件を個々のブロックの劣化状態に応じて設定することができる。このため、フラッシュメモリの寿命を延ばすとともに、フラッシュメモリの信頼性の向上を図ることができる。
制御部(コントローラ10)では、フラッシュメモリ20から出力されるイレース完了情報(フラグF_ERS)をモニタして、イレース時間tERS(イレース開始からフラグF_ERSされるまでの時間)を判定する。そして、制御部(コントローラ10)は、時間tERSが判定基準値上回ったとき、そのブロックアドレス及びそのブロックに次回から適用すべき動作条件を記憶し、次回よりそのブロックにアクセスするときには新しい動作条件を適用するようにフラッシュメモリ20に要求する。上記動作条件とは、例えばプログラム/プログラムベリファイ/リード/イレース(Progaram/Progarm Verify/Read/Erase)の際の動作条件である。
これにより、フラッシュメモリにおける個々のブロックのサイクリング回数を記憶することなく、個々のブロックごとにメモリセルの特性の劣化を検出し、フラッシュメモリの動作条件を個々のブロックの劣化状態に応じて設定することができる。このため、フラッシュメモリの寿命を延ばすとともに、フラッシュメモリの信頼性の向上を図ることができる。
(3)また、上記実施形態において、前記制御部(コントローラ10)は、フラッシュメモリ20内のブロックにおいてイレース時間tERSが判定基準値を上回る毎に、ブロックに対する判定基準値を所定時間長くして更新するととともに、次にブロックに対してアクセスする際、フラッシュメモリ20に対して異なる動作条件を設定する。
このような構成の不揮発性半導体記憶装置1では、ある1のブロックにおいて、イレース時間tERSが判定基準値を上回った場合に、判定基準値の時間を延長して更新するとともに、この1のブロックに対するフラッシュメモリ20の動作条件を変更する。そして、判定基準値を更新した後に、当該1のブロックにおいてレース時間tERSが判定基準値を再び上回るようになった場合は、当該1のブロックに対する判定基準値をさらに延長して更新するとともに、フラッシュメモリ20の動作条件を再び延長して更新する。以降、当該1のブロックにおいてイレース時間tERSが判定基準値を上回るごとに、判定基準値を延長して更新するとともに、この上回った回数に応じて予め設定(保持)された動作条件をフラッシュメモリ20に対して設定する。
これにより、あるブロックにおいて、メモリセルの特性劣化が進行する場合には、このブロックに対して、メモリセルの特性劣化の状態に応じた動作条件を設定することができる。このため、フラッシュメモリの信頼性の向上を図ることができる。
これにより、あるブロックにおいて、メモリセルの特性劣化が進行する場合には、このブロックに対して、メモリセルの特性劣化の状態に応じた動作条件を設定することができる。このため、フラッシュメモリの信頼性の向上を図ることができる。
(4)また、上記実施形態において、不揮発性半導体記憶装置1は、イレース対象となるブロックにおけるイレース開始からイレースが完了するまでのイレース時間tERSを判定し、このイレース時間tERSと判定基準値とを比較するとともに、イレース時間tERSが判定基準値を上回った場合に、当該ブロックに対する判定基準値の時間を延長して更新するイレース時間判定部13と、イレース対象となるブロックにおいてイレース時間tERSが判定基準値を上回った場合に、当該ブロックのブロックアドレスと、当該ブロックにおいてイレース時間tERSが判定基準値を上回った回数である補正回数と、を対応付けて記憶するブロックアドレス記憶部12と、この補正回数と、この補正回数に応じて更新設定される判定基準値と、同じくこの補正回数に応じてフラッシュメモリ20に対して適用されるべき動作条件と、を対応付け保存する条件テーブル11と、を備え、制御部(コントローラ10)は、フラッシュメモリ20内のブロックに対してアクセスを開始する前に、ブロックアドレス記憶部12と条件テーブル11とを参照し、当該ブロックのブロックアドレスがブロックアドレス記憶部12に記憶されている場合は、当該ブロックの補正回数に応じた動作条件を条件テーブル11から抽出し、この抽出した動作条件をフラッシュメモリ20に対して設定した後に、当該ブロックに対してアクセスを開始する。
このような構成の不揮発性半導体記憶装置1では、イレース時間判定部13により、イレース対象となるブロックにおけるイレース開始からイレース完了情報(フラグF_ERS)が出力されるまでのイレース時間tERSを判定(計測)するとともに、該イレース時間tERSを判定基準値と比較する。また、イレース時間判定部13は、イレース時間tERSが判定基準値を上回ったブロックに対して、判定基準値の時間を延長して更新する。また、ブロックアドレス記憶部12は、イレース時間tERSが判定基準値を上回ったブロックのブロックアドレスを、当該ブロックにおいてイレース時間tERSが判定基準値を上回った回数(補正回数)とともに記憶する。条件テーブル11は、上記補正回数と、この補正回数に応じて更新設定される判定基準値と、同じくこの補正回数に応じてフラッシュメモリ20に対して適用されるべき動作条件と、を対応付け保存する。
そして、制御部(コントローラ10)は、フラッシュメモリ20内のブロックにアクセスを開始する前に、ブロックアドレス記憶部12と条件テーブル11とを参照し、当該ブロックのブロックアドレスがブロックアドレス記憶部12に記憶されている場合は、当該ブロックの補正回数に応じた動作条件を抽出し、この抽出した動作条件をフラッシュメモリ20に対して設定した後に、当該ブロックに対するアクセスを開始する。
これにより、あるブロックにおいてメモリセルの特性が劣化した場合は、このブロックのブロックアドレスを保存するとともに、このブロック内のメモリセルの特性劣化に応じた動作条件をフラッシュメモリ20に対して設定することができる。
そして、制御部(コントローラ10)は、フラッシュメモリ20内のブロックにアクセスを開始する前に、ブロックアドレス記憶部12と条件テーブル11とを参照し、当該ブロックのブロックアドレスがブロックアドレス記憶部12に記憶されている場合は、当該ブロックの補正回数に応じた動作条件を抽出し、この抽出した動作条件をフラッシュメモリ20に対して設定した後に、当該ブロックに対するアクセスを開始する。
これにより、あるブロックにおいてメモリセルの特性が劣化した場合は、このブロックのブロックアドレスを保存するとともに、このブロック内のメモリセルの特性劣化に応じた動作条件をフラッシュメモリ20に対して設定することができる。
(5)また、上記実施形態において、アクセスする際に変更する動作条件は、フラッシュメモリ20のブロックに対してプログラム、プログラムベリファイ、リード、イレースのいずれか、または全部の処理を行う際の動作条件である
これにより、あるブロックにおいて、メモリセルの特性が劣化した場合には、このメモリセルの劣化状態に応じて、プログラム時、プログラムベリファイ時、リード時、およびイレース時の動作条件(例えば、プログラム電圧、リード電圧、ベリファイ電圧等の電圧条件)等を適切に設定することができる。
これにより、あるブロックにおいて、メモリセルの特性が劣化した場合には、このメモリセルの劣化状態に応じて、プログラム時、プログラムベリファイ時、リード時、およびイレース時の動作条件(例えば、プログラム電圧、リード電圧、ベリファイ電圧等の電圧条件)等を適切に設定することができる。
以上、本発明の実施の形態について説明したが、本発明の不揮発性半導体記憶装置は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
例えば、上述した実施形態では、フラッシュメモリがNAND型フラッシュメモリの例を示したが、フラッシュメモリは、NOR型のフラッシュメモリであってもよい。
また、本発明は、上述した不揮発性半導体記憶装置に限らず、フラッシュメモリを内蔵する種々のシステムに効果的に適用できるものである。
また、本発明は、上述した不揮発性半導体記憶装置に限らず、フラッシュメモリを内蔵する種々のシステムに効果的に適用できるものである。
1,1A…不揮発性半導体記憶装置、10,10A…コントローラ、11,11A…条件テーブル、12,12A…ブロックアドレス記憶部、13…イレース時間判定部、20,20A…フラッシュメモリ、21…メモリセルアレイ、22…ページバッファ、22A…ページバッファデコーダ、23…ロウデコーダ、31…メモリ制御回路、32…動作条件変更設定部、33…出力データバッファ、34…入力データバッファ、35…フラグ発生部、35A…フラグ値生成部、36…イレース完了検出部、37…動作電圧コントローラ
Claims (6)
- フラッシュメモリ内のブロックに対してイレース動作を行う際に、イレース開始からイレースが完了するまでのイレース時間を計測する機能と、
前記イレース時間と所定の判定基準値とを比較する機能と、
前記ブロックにおいて前記イレース時間が前記判定基準値を上回った場合は、当該ブロックに次回からアクセスする際に、前記フラッシュメモリの動作条件を所定の動作条件に変更してアクセスする機能と、
を備えることを特徴とする不揮発性半導体記憶装置。 - メモリセルがアレイ状に配列されたメモリ領域を有するフラッシュメモリと前記フラッシュメモリの動作を制御する制御部とを有し、
前記フラッシュメモリは、
イレース対象となるブロック内のメモリセルのイレースが完了したときに、このイレースが完了したことを示すイレース完了情報を外部に出力する機能と、
外部からの要求に応じて当該フラッシュメモリにおける動作条件を変更する機能と、
を備え、
前記制御部は、
前記フラッシュメモリから出力される前記イレース完了情報をモニタすることにより、イレース対象となるブロックにおけるイレースの開始からイレースが完了するまでに要したイレース時間を計測する機能と、
前記イレース時間と前記判定基準値とを比較する機能と、
前記イレース対象となるブロックにおいてイレース時間が前記判定基準値を上回った場合に、当該ブロックのブロックアドレスを記憶するとともに、次回より当該ブロックにアクセスする際には、前記フラッシュメモリの動作条件を前記所定の動作条件に変更するように前記フラッシュメモリに要求する機能と、
を備えることを特徴とする請求項1に記載の不揮発性半導体記憶装置。 - 前記制御部は、
前記フラッシュメモリ内の前記ブロックにおいて前記イレース時間が前記判定基準値を上回る毎に、前記ブロックに対する前記判定基準値を所定時間長くして更新するととともに、次に前記ブロックに対してアクセスする際、前記フラッシュメモリに対して異なる動作条件を設定する、
ことを特徴とする請求項2に記載の不揮発性半導体記憶装置。 - イレース対象となるブロックにおけるイレース開始からイレースが完了するまでのイレース時間を計測し、このイレース時間と前記判定基準値とを比較するとともに、前記イレース時間が前記判定基準値を上回った場合に、当該ブロックに対する前記判定基準値の時間を延長して更新するイレース時間判定部と、
前記イレース対象となるブロックにおいて前記イレース時間が前記判定基準値を上回った場合に、当該ブロックのブロックアドレスと、当該ブロックにおいて前記イレース時間が前記判定基準値を上回った回数である補正回数と、を対応付けて記憶するブロックアドレス記憶部と、
前記補正回数と、この補正回数に応じて更新設定される前記判定基準値と、同じくこの補正回数に応じて前記フラッシュメモリに対して適用されるべき動作条件と、を対応付け保存する条件テーブルと、
を備え、
前記制御部は、
フラッシュメモリ内のブロックに対してアクセスを開始する前に、前記ブロックアドレス記憶部と前記条件テーブルとを参照し、
当該ブロックのブロックアドレスが前記ブロックアドレス記憶部に記憶されている場合は、
当該ブロックの前記補正回数に応じた動作条件を前記条件テーブルから抽出し、この抽出した動作条件を前記フラッシュメモリに対して設定した後に、当該ブロックに対してアクセスを開始する
ことを特徴とする請求項3に記載の不揮発性半導体記憶装置。 - 前記アクセスする際に変更する動作条件は、ブロックに対してプログラム、プログラムベリファイ、リード、イレースのいずれか、または全部の処理を行う際の動作条件である
ことを特徴とする請求項1から請求項4のいずれか一項に記載の不揮発性半導体記憶装置。 - フラッシュメモリ内のブロックに対してイレース動作を行う際に、イレース開始から前記ブロック内のメモリセルのイレースが完了するまでのイレース時間を計測する手順と、
前記イレース時間と所定の判定基準値とを比較する手順と、
前記ブロックにおいてイレース時間が前記判定基準値を上回った場合は、次に当該ブロックに対してアクセスする際に、前記フラッシュメモリの動作条件を所定の動作条件に変更してアクセスする手順と、
を含むことを特徴とする不揮発性半導体記憶装置における動作条件制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011275701A JP2013125575A (ja) | 2011-12-16 | 2011-12-16 | 不揮発性半導体記憶装置、および不揮発性半導体記憶装置における動作条件制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011275701A JP2013125575A (ja) | 2011-12-16 | 2011-12-16 | 不揮発性半導体記憶装置、および不揮発性半導体記憶装置における動作条件制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013125575A true JP2013125575A (ja) | 2013-06-24 |
Family
ID=48776725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011275701A Pending JP2013125575A (ja) | 2011-12-16 | 2011-12-16 | 不揮発性半導体記憶装置、および不揮発性半導体記憶装置における動作条件制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013125575A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10872675B2 (en) | 2018-11-14 | 2020-12-22 | Samsung Electronics Co., Ltd.. | Storage device monitoring and storing on cell counts of blocks and operating method thereof |
US11763901B2 (en) | 2020-08-12 | 2023-09-19 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and method of detecting defective memory cell block of nonvolatile memory device |
-
2011
- 2011-12-16 JP JP2011275701A patent/JP2013125575A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10872675B2 (en) | 2018-11-14 | 2020-12-22 | Samsung Electronics Co., Ltd.. | Storage device monitoring and storing on cell counts of blocks and operating method thereof |
US11276474B2 (en) | 2018-11-14 | 2022-03-15 | Samsung Electronics Co., Ltd. | Storage device monitoring and storing on cell counts of blocks and operating method thereof |
US11763901B2 (en) | 2020-08-12 | 2023-09-19 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and method of detecting defective memory cell block of nonvolatile memory device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4901348B2 (ja) | 半導体記憶装置およびその制御方法 | |
KR101141908B1 (ko) | 불휘발성 반도체 기억 장치 | |
TWI496152B (zh) | 非揮發性半導體記憶裝置及其寫入方法 | |
US7808831B2 (en) | Read disturb mitigation in non-volatile memory | |
US7800946B2 (en) | Flash memory device and operating method thereof | |
KR101184814B1 (ko) | 불휘발성 메모리 장치 및 이의 프로그램 방법 | |
US20130159610A1 (en) | Non-volatile semiconductor memory device related method of operation | |
EP3038111A1 (en) | Multiple level program verify in a memory device | |
JP2008047273A (ja) | 半導体記憶装置およびその制御方法 | |
US20110044113A1 (en) | Nonvolatile memory device, method for programming same, and memory system incorporating same | |
KR20120100912A (ko) | 비휘발성 저장 소자 내에서 위험한 상태의 데이터를 식별하는 방법 | |
JP2009301616A (ja) | 不揮発性半導体記憶装置 | |
KR20180022579A (ko) | 반도체 메모리 장치 | |
JP2007122855A (ja) | 信頼性を向上させることができるフラッシュメモリ装置 | |
JP2009026447A (ja) | 選択トランジスタをプログラムするメモリ装置及びそのプログラム方法とこれを用いたメモリシステム | |
KR20140123230A (ko) | 플래시 메모리와 메모리 컨트롤러를 포함하는 데이터 저장 장치 및 그것의 배드 페이지 관리 방법 | |
US8873316B2 (en) | Methods and systems for adjusting NVM cell bias conditions based upon operating temperature to reduce performance degradation | |
KR102267046B1 (ko) | 스토리지 장치 및 배드 블록 지정 방법 | |
US11145357B2 (en) | Memory system, memory controller and method for operating memory system | |
US9342401B2 (en) | Selective in-situ retouching of data in nonvolatile memory | |
TWI648743B (zh) | 半導體裝置及其操作方法 | |
WO2024032560A1 (zh) | 用于过擦除修复的方法和存储装置 | |
JP5784788B2 (ja) | 不揮発性半導体記憶装置とその書き込み方法 | |
US20100046293A1 (en) | Memory cell block of nonvolatile memory device and method of managing supplementary information | |
JP2013125575A (ja) | 不揮発性半導体記憶装置、および不揮発性半導体記憶装置における動作条件制御方法 |