説明

不揮発性メモリ装置及びメモリコントローラとこれらの動作方法、メモリシステムの動作方法、並びにウェアレベリング方法

【課題】メモリセルの劣化度を正確に検出することができる不揮発性メモリ装置及びメモリコントローラとこれらの動作方法、メモリシステムの動作方法、並びにウェアレベリング方法を提供する。
【解決手段】本発明の不揮発性メモリ装置の動作方法は、コントローラから出力されたブロックアドレスとイレース命令とを受信する段階と、ブロックアドレスに相応するブロックに対して、イレース命令によって行われるイレース動作が完了するまで、イレース動作に関連したパラメータ値を変更する段階と、最後に変更されたパラメータ値に相応する情報を保存する段階と、コントローラから出力された命令によって、情報をコントローラに伝送する段階と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体装置に係り、より詳細には、リアルタイムにフラッシュメモリセルの劣化度(deterioration degree)を検出することができる不揮発性メモリ装置及びメモリコントローラとこれらの動作方法、メモリシステムの動作方法、並びにウェアレベリング方法に関する。
【背景技術】
【0002】
フラッシュ(flash)メモリ装置の寿命は、プログラム(program)及び/又はイレース(erase)サイクル(cycle)数によって決定される。従って、フラッシュメモリ装置を安定して使うために、フラッシュメモリ装置に含まれる複数のブロック(blocks)に対するウェアレベリングスキーム(wear−leveling scheme)が適用される。ウェアレベリングスキームは、複数のブロックのそれぞれに対するイレース回数によって適用される。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明は、上記従来技術に鑑みてなされたものであって、本発明の目的は、リアルタイムにフラッシュメモリセルの劣化度を正確に検出することができる不揮発性メモリ装置及びメモリコントローラとこれらの動作方法、メモリシステムの動作方法を提供することにある。
また、本発明の目的は、劣化度情報を用いてイレース動作の対象となったブロックのウェアレベリングのレベルを調節することができるウェアレベリング方法を提供することにある。
【課題を解決するための手段】
【0004】
上記目的を達成するためになされた本発明の一態様による不揮発性メモリ装置の動作方法は、コントローラから出力されたブロックアドレス(block address)とイレース命令とを受信する段階と、前記ブロックアドレスに相応するブロックに対して、前記イレース命令によって行われるイレース動作が完了するまで、該イレース動作に関連したパラメータ値を変更する段階と、最後に変更されたパラメータ値に相応する情報を保存する段階と、前記コントローラから出力された命令によって、前記情報を前記コントローラに伝送する段階と、を有する。
前記命令は、前記イレース動作の成功又は失敗についての情報を要求するリード状態命令(read status command)である。
前記パラメータ値は、前記ブロックがイレースされるまでに必要な時間、ISPEループ回数(incremental−step−pulse erase loop count)、ISPE電圧(incremental−step−pulse erase voltage)、ISPEの各イレースループの各イレースパルスの幅と振幅とのうちの少なくとも1つ、イレース検証パルスの幅と振幅とのうちの少なくとも1つ、前記不揮発性メモリ装置の温度、前記イレース動作途中で前記ブロックに供給される電圧、又は前記ブロックに対するイレース回数である。
前記情報は、前記イレース動作の成功又は失敗を表わす状態ビットと共に前記コントローラに伝送される。
【0005】
上記目的を達成するためになされた本発明の一態様による不揮発性メモリ装置の動作を制御するコントローラの動作方法は、前記不揮発性メモリ装置に具現されたブロックをイレースするために、該ブロックに対するブロックアドレスとイレース命令とを該不揮発性メモリ装置に伝送する段階と、命令を前記不揮発性メモリ装置に伝送する段階と、前記不揮発性メモリ装置から、前記命令に応答して出力され、前記イレース命令によるイレース動作に関連したパラメータ値に相応する情報を受信する段階と、前記受信した情報を解析し、該解析結果によって前記ブロックのウェアレベリングのレベルを複数のグループのうちの何れか1つのグループに分類する段階と、を有する。
前記命令は、前記イレース動作の成功又は失敗についての情報を要求するリード状態命令である。
前記コントローラの動作方法は、前記何れか1つのグループに分類された前記ブロックの現在のウェアレベリングのレベルを、前記解析結果によって、前記複数のグループのうちから他のグループに再分類する段階を更に含む。
前記コントローラの動作方法は、前記コントローラが、前記分類結果又は前記再分類結果を前記不揮発性メモリ装置に伝送する段階を更に含む。
前記情報は、前記ブロックがイレースされるまでに必要な時間、ISPEループ回数、ISPE電圧、ISPEの各イレースループの各イレースパルスの幅と振幅とのうちの少なくとも1つ、イレース検証パルスの幅と振幅とのうちの少なくとも1つ、前記不揮発性メモリ装置の温度、前記イレース動作途中で前記ブロックに供給される電圧、又は前記ブロックに対するイレース回数を表わす。
【0006】
上記目的を達成するためになされた本発明の一態様によるブロックが具現された不揮発性メモリ装置及び該不揮発性メモリ装置の動作を制御するコントローラを含むメモリシステムの動作方法は、前記コントローラが、前記ブロックに対するブロックアドレスとイレース命令とを前記不揮発性メモリ装置に伝送する段階と、前記コントローラが、命令を前記不揮発性メモリ装置に伝送する段階と、前記コントローラが、前記不揮発性メモリ装置から、前記命令に応答して出力され、前記イレース命令によるイレース動作に関連したパラメータ値に相応する情報を受信する段階と、前記コントローラが、前記受信した情報を解析し、該解析結果によって前記ブロックのウェアレベリングのレベルを複数のグループのうちの何れか1つのグループに分類する段階と、を有する。
前記メモリシステムの動作方法は、前記不揮発性メモリ装置が、前記ブロックに対して、前記イレース命令によって行われる前記イレース動作が完了するまで、前記イレース動作に関連した前記パラメータ値を変更し、最後に変更されたパラメータ値を前記情報として保存する段階と、前記不揮発性メモリ装置が、前記命令がリード状態命令である時、前記リード状態命令に応答して、前記情報を前記コントローラに伝送する段階と、を更に含む。
前記メモリシステムの動作方法は、前記コントローラが、前記何れか1つのグループに分類された前記ブロックの現在のウェアレベリングのレベルを、前記解析結果によって、前記複数のグループのうちから他のグループに再分類する段階を更に含む。
前記メモリシステムは、スマートカード又はSSD(Solid State Drive)である。
【0007】
上記目的を達成するためになされた本発明の一態様によるメモリコントローラは、プログラムを保存するメモリと、前記メモリに保存された前記プログラムを実行するプロセッサと、を備え、前記プログラムによって、前記プロセッサは、不揮発性メモリ装置に具現されたブロックをイレースするために、該ブロックに対するブロックアドレスとイレース命令とを該不揮発性メモリ装置に伝送する段階と、命令を前記不揮発性メモリ装置に伝送する段階と、前記不揮発性メモリ装置から、前記命令に応答して出力され、前記イレース命令によるイレース動作に関連したパラメータ値に相応する情報を受信する段階と、前記受信した情報を解析し、該解析結果によって前記ブロックのウェアレベリングのレベルを複数のグループのうちの何れか1つのグループに分類する段階と、を実行する。
前記命令は、前記イレース動作の成功又は失敗についての情報を要求するリード状態命令であり、前記情報は、前記ブロックがイレースされるまでに必要な時間、ISPEループ回数、ISPE電圧、ISPEの各イレースループの各イレースパルスの幅と振幅とのうちの少なくとも1つ、イレース検証パルスの幅と振幅とのうちの少なくとも1つ、前記不揮発性メモリ装置の温度、前記イレース動作途中で前記ブロックに供給される電圧、又は前記ブロックに対するイレース回数を表わす。
【0008】
上記目的を達成するためになされた本発明の一態様による不揮発性メモリ装置は、複数のブロックを含むメモリセルアレイと、コントローラから出力されたブロックアドレスとイレース命令とを受信し、前記複数のブロックのうちから前記ブロックアドレスによって指定されたブロックに対して、前記イレース命令によって行われるイレース動作が完了するまで、該イレース動作に関連したパラメータ値を変更し、最後に変更されたパラメータ値に相応する情報をメモリ保存し、前記コントローラから出力された命令によって、前記情報を前記コントローラに伝送するコントロールロジックと、を備える。
前記命令は、前記イレース動作の成功又は失敗についての情報を要求するリード状態命令であり、前記情報は、前記ブロックがイレースされるまでに必要な時間、ISPEループ回数、ISPE電圧、ISPEの各イレースループの各イレースパルスの幅と振幅とのうちの少なくとも1つ、イレース検証パルスの幅と振幅とのうちの少なくとも1つ、前記不揮発性メモリ装置の温度、前記イレース動作途中で前記ブロックに供給される電圧、又は前記ブロックに対するイレース回数である。
前記情報は、前記イレース動作の成功又は失敗を表わす状態ビットと共に前記コントローラに伝送される。
【0009】
上記目的を達成するためになされた本発明の一態様によるウェアレベリング方法は、不揮発性メモリのブロックについての劣化度情報を受信する段階と、前記劣化度情報に基づいて少なくとも1つの劣化度指標を決定する段階と、前記決定された劣化度指標に基づいて、前記ブロックをウェアレベリンググループ(wear−leveling group)に分類する段階と、を有し、前記劣化度指標は、前記ブロックのメモリセルにトラップされた電荷量を表わす。
前記劣化度情報は、前記ブロックがイレースされるまでに必要な時間、ISPEループ回数、ISPE電圧、ISPEの各イレースループの各イレースパルスの幅と振幅とのうちの少なくとも1つ、イレース検証パルスの幅と振幅とのうちの少なくとも1つ、前記不揮発性メモリ装置の温度、前記イレース動作途中で前記ブロックに供給される電圧、又は前記ブロックに対するイレース回数を表わす。
【発明の効果】
【0010】
本発明によれば、リアルタイムでフラッシュメモリセルの劣化度を正確に検出することができるので、ウェアレベリングをフラッシュメモリセルの劣化度によって適応的に行うことができる。
【図面の簡単な説明】
【0011】
【図1】本発明の一実施形態による不揮発性メモリ装置を含むメモリシステムのブロック図である。
【図2】図1に示した不揮発性メモリ装置から出力される状態レジスタデータの一実施例を示す表である。
【図3】図1に示したメモリシステムの一実施例による動作タイミング図である。
【図4】図1に示したメモリコントローラの概略的なブロック図である。
【図5】図1に示した不揮発性メモリ装置のブロック図である。
【図6】図1に示した不揮発性メモリ装置のイレース動作と状態レジスタデータの出力過程とを説明するためのフローチャートである。
【図7】図1に示した不揮発性メモリ装置で行われるISPEスキームを説明するためのタイミング図である。
【図8】ウェアリングインデックスとプログラム/イレースサイクル数の関係を示すグラフである。
【図9】図1に示した不揮発性メモリ装置のプログラム動作と状態レジスタデータの出力過程とを説明するためのフローチャートである。
【図10】図1に示したメモリシステムの他の実施例による動作タイミング図である。
【図11】図1に示した不揮発性メモリ装置で行われるISPPスキームを説明するためのタイミング図である。
【図12】状態レジスタデータとプログラム/イレースサイクル数の関係を示す表である。
【図13】図1に示したメモリシステムで行われるウェアレベリング方法を説明するためのフローチャートである。
【図14】図1に示したメモリシステムのウェアレベリング管理方法を説明するための表である。
【図15】本発明の他の実施形態による不揮発性メモリ装置を含むメモリシステムのブロック図である。
【図16】図15に示したメモリシステムの動作を説明するためのフローチャートである。
【図17】図1又は図15に示したメモリコントローラと不揮発性メモリ装置とを含む一実施例によるデータ処理システムである。
【図18】図1又は図15に示したメモリコントローラと不揮発性メモリ装置とを含む他の実施例によるデータ処理システムである。
【発明を実施するための形態】
【0012】
本明細書に、2009年9月14日付で出願されたアメリカ出願番号12/558,630、発明の名称“METHOD OF OPERATING NONVOLATILE MEMORY DEVICE AND MEMORY SYSTEM”、及び2010年3月18日付で出願されたアメリカ出願番号12/726,408、発明の名称“NONVOLATILE MEMORY DEVICE AND RELATEDPROGRAMMING METHOD”を参照(reference)として含む(incorporated)。
【0013】
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。
【0014】
図1は、本発明の一実施形態による不揮発性メモリ装置を含むメモリシステムのブロック図である。図1を参照すると、メモリシステム(memory system)10は、メモリコントローラ(memory controller)20と不揮発性メモリ装置30とを含む。メモリシステム10は、フラッシュメモリを含むあらゆるシステムを意味する。
【0015】
メモリコントローラ20は、不揮発性メモリ装置30、例えばフラッシュメモリ装置の動作、例えばプログラム動作、リード(read)動作、又はイレース動作を制御するためのアドレス(address)と命令(例えば、プログラム命令、リード命令、イレース命令)とを生成させる。プログラム動作とリード動作はページ(page)単位で行われ、イレース動作はブロック(block)単位で行われる。
【0016】
メモリコントローラ20は、不揮発性メモリ装置30に含まれるメモリセル(memory cell)の劣化度をリアルタイムに検出するための命令(command)CMDを不揮発性メモリ装置30に出力する。例えば、命令CMDは、イレース動作又はプログラム動作の成功(又はパス(pass))又は失敗(failure)についての情報を不揮発性メモリ装置30から得るための命令、例えばリード状態命令であり得る。また、命令CMDは、図15を参照して説明する命令であり得る。
【0017】
不揮発性メモリ装置30は、命令CMDによって、劣化度を表わす劣化度情報(deterioration information)をメモリコントローラ20に伝送する。
【0018】
本明細書で、劣化度情報は、イレース動作又はプログラム動作に関連したパラメータ値(parameter value)、パラメータ値に相応する情報、又は状態レジスタデータ(status register data)SRDとも呼ばれうる。
【0019】
例えば、劣化度情報は、プログラム動作の対象となったページ又はイレース動作の対象となったブロックに含まれる複数のメモリセルのそれぞれの劣化度を判断するために必要なあらゆる情報を意味する。例えば、イレース動作と関連する劣化度情報は、イレース動作の対象となったブロックが実際にイレースされるまでに必要な時間(time)、ISPEループ回数、ISPE電圧(例えばISPE最終イレース電圧)、図7に示す各イレースループLP1〜LPiの各イレースパルスEPiの幅(width)と振幅(amplitude)とのうちの少なくとも1つ、図7に示すイレース検証パルスEVの幅と振幅とのうちの少なくとも1つ、不揮発性メモリ装置30の温度、ブロックの温度、イレース動作途中で、ブロックに供給される少なくとも1つの電圧、不揮発性メモリ装置30の動作電圧、又はブロックに対するイレース回数を含みうる。
【0020】
また、プログラム動作と関連する劣化度情報は、プログラム動作の対象となったページが実際にプログラムされるまでに必要な時間、ISPPループ回数、ISPP電圧(例えばISPP初期プログラム電圧又はISPP最終プログラム電圧)、図11に示す各プログラムループLP1〜LPjの各プログラムパルスPPjの幅と振幅とのうちの少なくとも1つ、図11に示すプログラム検証パルスPVの幅と振幅とのうちの少なくとも1つ、不揮発性メモリ装置30の温度、ページの温度、プログラム動作途中で、ページに供給される少なくとも1つの電圧、不揮発性メモリ装置30の動作電圧、又はページに対するプログラム回数を含む。
【0021】
プログラム/イレースサイクル数(a number of Program/Erase(P/E)cycles or Program/Erase(P/E)cycles)は、フラッシュメモリセルの劣化に影響を及ぼす。ここで、斜線(/)は、‘及び/又は’を意味する。
【0022】
メモリコントローラ20は、不揮発性メモリ装置30から出力された劣化度情報に基づいて、本実施例によるグループ別ウェアレベリング(wear−leveling)を行う。
【0023】
ISPPスキーム(scheme)は、プログラム後のセルの散布(distribution)を所望の幅に制御するために、プログラムループ(loop)毎に一定の電圧程度ずつ増加するプログラム電圧を、選択されたワードライン(word line)に供給する方式を意味する。
【0024】
また、ISPEスキームは、ISPPスキームのイレースバージョン(erase version)としてイレース後のセルの散布を所望の幅に制御するために、イレースループ毎に一定の電圧程度ずつ増加するイレース電圧を、選択されたブロックに供給する方式を意味する。
【0025】
不揮発性メモリ装置30が、イレース動作を行う時、イレース動作に関連したパラメータ値又はパラメータ値に相応する情報(例えば、ISPEループ回数、ISPE電圧、又はP/E回数のうちの少なくとも1つ)は、不揮発性メモリ装置30に具現されたメモリ、例えば図5に示す状態レジスタ151又はメモリセルアレイ(memory cell array)120に保存される。
【0026】
また、不揮発性メモリ装置30が、プログラム動作を行う時、プログラム動作に関連したパラメータ値又はパラメータ値に相応する情報(例えば、ISPPループ回数、ISPP電圧、又はP/E回数のうちの少なくとも1つ)は、不揮発性メモリ装置30に具現されたメモリ、例えば図5に示す状態レジスタ151又はメモリセルアレイ120に保存される。
【0027】
不揮発性メモリ装置30は、メモリコントローラ20から出力された命令CMDに応答して、メモリに保存された状態レジスタデータSRDをメモリコントローラ20に伝送する。従って、メモリコントローラ20は、状態レジスタデータSRDを解析し、該解析結果によって、現在プログラムされたページ又は現在イレースされたブロックの劣化度をリアルタイムに分析し、該分析結果によって、ページ又はブロックに対するウェアレベリングを行う。
【0028】
本実施例によるメモリコントローラ20によってグループ別に行われるウェアレベリングについては、図13及び図14を参照して詳しく説明する。
【0029】
メモリコントローラ20と不揮発性メモリ装置30のそれぞれは、パッケージ(package)にパッケージングされうる。
【0030】
図2は、図1に示した不揮発性メモリ装置から出力される状態レジスタデータの一実施例を示す表である。メモリコントローラ20は、状態レジスタの状態ビット(status bit)I/O6又は

(Ready/Busy)出力をモニタリングし、該モニタリング結果によって、プログラム動作(又はプログラムサイクル)又はイレース動作(又はイレースサイクル)の終了を検出し、プログラム動作又はイレース動作が終了した時、メモリコントローラ20は、命令CMD、例えばリード状態命令を不揮発性メモリ装置30に伝送する。
【0031】
不揮発性メモリ装置30は、状態ビット又はライト状態ビットI/O0(Pass/Fail)と共に状態レジスタデータSRDをメモリコントローラ20に伝送する。
【0032】
図2に一実施例として示したように、不揮発性メモリ装置30は、データ入出力ピンI/01〜I/O5を通じて現在プログラムされたページ又は現在イレースされたブロックについての劣化度情報、即ち状態レジスタデータSRDをメモリコントローラ20に伝送する。
【0033】
上述したように、本明細書で、状態レジスタデータSRDは、劣化度情報、イレース動作に関連したパラメータ値(又はパラメータに相応する情報)、プログラム動作に関連したパラメータ値(又はパラメータに相応する情報)、又は劣化度情報と他の情報とを共に含むデータを意味する。
【0034】
メモリコントローラ20は、状態レジスタデータSRDによって現在プログラムされたページ又は現在イレースされたブロックについての劣化度をリアルタイムに判断することができる。また、メモリコントローラ20は、ライト状態ビットI/O0のレベルによって、プログラム動作又はイレース動作の成功又は失敗を判断することができる。
【0035】
表1は、状態レジスタデータSRDとブロック単位で行われるISPEループ回数とを説明するための例示的な表である。
【0036】
【表1】

【0037】
表2は、状態レジスタデータSRDとブロック単位で供給されるISPEループ電圧(図7のVerai(iは自然数)、例えばISPE最終イレース電圧)とを説明するための例示的な表である。
【0038】
【表2】

【0039】
表1及び表2に示したように、ISPEスキームを用いてイレース動作を行う不揮発性メモリ装置30のメモリセルアレイに含まれるメモリセル、例えばSLC(single level cell)又はMLC(multi−level cell)がウェアアウト(wearout:摩耗)することによって、ISPEループ回数又はISPE電圧(例えばISPE最終イレース電圧)が増加する。
【0040】
表3は、状態レジスタデータSRDとページ単位で行われるISPPループ回数とを説明するための例示的な表である。
【0041】
【表3】

【0042】
表4は、状態レジスタデータSRDとループ毎にページに供給されるISPPループ電圧(図11のVpgmj(jは自然数)、例えばISPP初期プログラム電圧又はISPP最終プログラム電圧)とを説明するための例示的な表である。
【0043】
【表4】

【0044】
表3及び表4に示したように、ISPPスキームを用いてプログラム動作を行う不揮発性メモリ装置30のメモリセルアレイに含まれるメモリセル、例えばSLC又はMLCがウェアアウトすることによって、ISPPループ回数又はISPP電圧(例えばISPE最終イレース電圧)が増加する。
【0045】
メモリコントローラ20は、状態レジスタデータSRDを用いて現在イレースされたブロック又は現在プログラムされたページについての劣化度を分析し、該分析結果によって、ブロック又はページに対するウェアレベリングのレベルをグループ別に分類する。
【0046】
図3は、図1に示したメモリシステムの一実施例による動作タイミング図である。
【0047】

出力は、不揮発性メモリ装置30の動作状態を指示する。

出力がロー(low)レベルである時、これは、不揮発性メモリ装置30でプログラム動作、リード動作、又はイレース動作が行われていることを示す。

出力が、ローレベルからハイ(high)レベルに遷移(transition)すると、プログラム動作、リード動作、又はイレース動作が完了(complete)したことを意味する。
【0048】
図1〜図3を参照すると、不揮発性メモリ装置30に含まれる複数のブロックのうちの何れか1つのブロックをイレースするために、メモリコントローラ20は、第1命令、例えば60hに表現されうるイレース設定命令(Erase Setup Command)をデータピンI/Ox(xは自然数)を通じて不揮発性メモリ装置30に伝送する。
【0049】
メモリコントローラ20は、何れか1つのブロックを指定するためのブロックアドレスADDを出力し、第2命令、例えばD0hに表現されうるイレース確認命令(Erase Confirm Command)をデータピンI/Oxを通じて不揮発性メモリ装置30に伝送する。
【0050】
イレース確認命令により、不揮発性メモリ装置30は、ブロックアドレスADDによって指定されたブロックをイレースするイレース動作を行う。この際、ISPEスキームが適用される。ブロックイレース時間tBERSの間に、不揮発性メモリ装置30は、図7に示すように、ブロックに対するイレース動作が完了するまで、イレース動作に関連したパラメータ値、例えばISPEループ回数又はISPE電圧を変更させる。
【0051】
最後に変更されたパラメータ値(例えばイレース動作が成功した時のパラメータ値)に相応する情報は、メモリ、例えば図5に示す状態レジスタ151又はメモリセルアレイ120に保存することができる。ブロックイレース時間tBERSの間に、イレース動作及びイレース検証動作が行われる(32)。
【0052】
イレース動作が完了すると、

出力は、ローからハイに遷移する。メモリコントローラ20は、ハイレベルに遷移した

出力に応答して、第3命令、例えば70hに表現されうるリード状態命令をデータピンI/Oxを通じて不揮発性メモリ装置30に伝送する。
【0053】
不揮発性メモリ装置30は、第3命令によって、状態レジスタデータSRDをライト状態ビットと共にメモリコントローラ20に伝送する(34)。
【0054】
メモリコントローラ20は、入出力ラインI/O0を通じて入力されたライト状態ビットによって、イレース動作の成功又は失敗を判断する。ライト状態ビットが‘0’である時、メモリコントローラ20は、イレース動作が成功したと判断し(PASS)、ライト状態ビットが、‘1’である時、メモリコントローラ20は、イレース動作が失敗したと判断する(FAIL)。
【0055】
図4は、図1に示したメモリコントローラの概略的なブロック図である。
【0056】
図4を参照すると、メモリコントローラ20は、プロセッサ21、不揮発性メモリ装置(例えばROM(read only memory)22)、及び不揮発性メモリ装置(例えばRAM(random access memory)又はSRAM(static RAM)23)を含む。
【0057】
不揮発性メモリ装置30には、本実施例による一連の動作を行うためのプログラムがファームウェア(firmware)形態で保存される。プロセッサ21は、不揮発性メモリ装置22に保存されたプログラムを実行して、一連の動作を行わせる。
【0058】
図1〜図4を参照して、プロセッサ21によって行われる一連の動作を詳しく説明する。プロセッサ21は、不揮発性メモリ装置30に具現された特定ブロックをイレースするために、ブロックに対するブロックアドレスADDと、イレース命令、例えばD0hを不揮発性メモリ装置30に伝送する。
【0059】
プロセッサ21は、ハイレベルに遷移した

出力に応答して、リード状態命令、例えば70hを不揮発性メモリ装置30に伝送する。不揮発性メモリ装置30は、リード状態命令によって、メモリ、例えば図5に示す状態レジスタ151又はメモリセルアレイ120に保存された、最後に変更されたパラメータ値に相応する情報、即ち状態レジスタデータSRDをプロセッサ21に出力する。
【0060】
プロセッサ21は、受信した状態レジスタデータSRDを解析し、該解析結果によって、現在イレースが行われたブロックのウェアレベリングのレベルを多数のグループのうちの何れか1つのグループに分類し、該分類結果を不揮発性メモリ装置30に伝送する。
【0061】
プロセッサ21は、グループ別にウェアレベリングを行うために、不揮発性メモリ装置30に保存されたFTL(flash translation layer)コード(FTL CODE)をRAM23にローディングさせる。
【0062】
図5は、図1に示した不揮発性メモリ装置のブロック図である。図5を参照すると、不揮発性メモリ装置30は、データを保存するためのメモリセルアレイ120とアクセス回路(access circuit)122とを含む。上述したように、プログラム動作とリード動作はページ単位で行われ、イレース動作はメモリブロック単位で行われる。従って、メモリブロックは、多数のページの集合を意味する。
【0063】
メモリセルアレイ120は、各ビットラインBL1〜BLm(mは自然数)に接続された各NANDメモリセルストリング(memory cell string)を含み、各NANDメモリセルストリングは、直列に接続された多数の不揮発性メモリセル121を含む。一実施例として、メモリセルアレイ120は、ウェーハ積層(wafer stack)、チップ積層(chip stack)、或いはセル積層(cell stack)を通じて3次元的に具現されうる。
【0064】
各NANDメモリセルストリングは、2次元的に同じ平面(又はレイヤ(layer)に配置(又は具現)されうる。NANDメモリセルストリングは、ビットライン(bit line)BL1に接続されたストリング選択トランジスタ(string selection transistor)と共通ソースライン(common source line、CSL)に接続された接地選択トランジスタ(ground selection transistor)との間に、直列に接続された多数の不揮発性メモリセル121を含む。
【0065】
ストリング選択トランジスタのゲート(gate)はストリング選択ライン(string selection line:SSL)に接続され、多数の不揮発性メモリセル121のそれぞれのゲートは多数のワードラインWL0〜WL63のそれぞれに接続され、接地選択トランジスタのゲートは接地選択ライン(ground selection line:GSL)に接続される。
【0066】
説明の便宜上、図5には、64個のワードラインWL0〜WL63を示しているが、本発明の技術的思想は、ワードラインの個数に限定されるものではない。
【0067】
各NANDメモリセルストリングに含まれる多数の不揮発性メモリセル121のそれぞれは、1ビット又はそれ以上のビットを保存することができるフラッシュEEPROM(Electrically Erasable Programmable Read−Only Memory)として具現されうる。
【0068】
従って、多数の不揮発性メモリセル121のそれぞれは、1ビット又はそれ以上のビットを保存することができるNANDフラッシュメモリセル、例えばSLC又はMLCとして具現されうる。
【0069】
アクセス回路122は、外部、例えばメモリコントローラ20から出力された命令(又は命令セット(command sets))とアドレスとによって、データアクセス動作(data access operation)、例えばプログラム動作、リード動作、又はイレース動作を行うために、メモリセルアレイ120をアクセスする。
【0070】
アクセス回路122は、電圧供給回路(voltage supply circuit)128、コントロールロジック(control logic)150、カラムデコーダ(column decoder)160、ページバッファ及び感知増幅器ブロック(page buffer & sense amplifier block)170、Y−ゲーティング回路(Y−gating circuit)180、及び入出力ブロック(input/output block)190を含む。
【0071】
コントロールロジック150によって生成された制御コード(control code)C−CODEによって、電圧供給回路128は、ISPEスキーム又はISPPスキームによってデータアクセス動作に必要な電圧を生成する。
【0072】
プログラム動作の間に、プログラム電圧Vpgmは多数のワードラインWL0〜WL63のうちから選択されたワードラインに供給され、パス電圧(pass voltage)は多数のワードラインWL0〜WL63のうちから選択されていない残りのワードライン(un−selected rest word lines)に供給され、接地電圧はGSL、CSL、及びバルク(bulk)に供給され、電源電圧はSSLに供給される。イレース動作の間に、イレース電圧Veraseは各NANDメモリセルストリングに含まれる各NANDメモリセルのバルクに供給され、接地電圧は多数のワードラインWL0〜WL63に供給される。
【0073】
電圧供給回路128は、電圧発生器(voltage generator)130とローデコーダ(row decoder)140とを含む。
【0074】
制御コードC−CODEによって、電圧発生器130は、プログラム動作を行うために必要なプログラム電圧Vpgmとプログラム検証電圧(program verify voltage)Vpvfyとを生成し、リード動作を行うために必要なリード電圧を生成し、イレース動作を行うために必要なイレース電圧Veraseとイレース検証電圧(erase verify voltage)Vevfyとを生成し、各動作を行うために必要な電圧をローデコーダ140に出力する。
【0075】
コントロールロジック150は、メモリコントローラ20から出力された制御信号CTRLによって、アクセス回路122の全般的な動作を制御する。例えば、コントロールロジック150は、プログラム動作の間又はイレース動作の間に生成された劣化度情報、例えばプログラム動作が完了するまで又はイレース動作が完了するまでに変更された劣化度情報を、状態レジスタ151又はメモリセルアレイ120に保存する。
【0076】
メモリコントローラ20から出力された命令によって、コントロールロジック150は、状態レジスタ151又はメモリセルアレイ120に保存された劣化度情報を状態レジスタデータとしてメモリコントローラ20に出力する。カラムデコーダ160は、コントロールロジック150の制御下でカラムアドレスをデコーディングして、多数の選択信号をY−ゲーティング回路180に出力する。ページバッファ及び感知増幅器ブロック170は、多数のページバッファPBを含む。多数のページバッファPBのそれぞれは、多数のビットラインBL1〜BLmのそれぞれに接続される。
【0077】
多数のページバッファPBのそれぞれは、コントロールロジック150の制御によってプログラム動作の間に、メモリセルアレイ120にデータをプログラムするためのドライバーとして動作する。また、多数のページバッファPBのそれぞれは、コントロールロジック150の制御によってリード動作の間又は検証動作の間に、多数のビットラインBL1〜BLmのそれぞれの電圧レベルを感知増幅する感知増幅器として動作する。
【0078】
Y−ゲーティング回路180は、カラムデコーダ160から出力された多数の選択信号に応答して、ページバッファ及び感知増幅器ブロック170と入出力ブロック190との間でデータDATAの伝送を制御する。入出力ブロック190は、外部から入力されたデータDATAをY−ゲーティング回路180に伝送するか、又はY−ゲーティング回路180から出力されたデータDATAを多数の入出力ピン(又はデータバス)を通じてメモリコントローラ20に伝送する。
【0079】
図6は、図1に示した不揮発性メモリ装置のイレース動作と状態レジスタデータの出力過程とを説明するためのフローチャートである。図1〜図6を参照して、不揮発性メモリ装置30のイレース動作を説明すると、次の通りである。
【0080】
不揮発性メモリ装置30は、メモリコントローラ20から出力されたイレース設定命令(例えば60h)を受信する(ステップS10)。不揮発性メモリ装置30は、メモリコントローラ20から出力されたブロックアドレスADDとイレース確認命令(例えばD0h)とを順次に受信する(ステップS12とステップS14)。不揮発性メモリ装置30のアクセス回路122は、コントロールロジック150の制御によって、メモリセルアレイ120に具現され、ブロックアドレスADDによって選択されたブロックに対するイレース動作とイレース検証動作とを行う(ステップS16)。
【0081】
コントロールロジック150は、ブロックアドレスADDによって指定されたブロックに対して、イレース命令によって行われるイレース動作が完了するまで、イレース動作に関連したパラメータ値を変更し、最後に変更されたパラメータ値(例えばイレース動作が完了する時に使われたパラメータ値)を状態レジスタ151又はメモリセルアレイ120に保存する(ステップS18)。
【0082】
コントロールロジック150は、メモリコントローラ20から出力された命令、例えばリード状態命令を受信し(ステップS20)、該受信した命令によって状態レジスタ151又はメモリセルアレイ120に保存されたパラメータ値に相応する劣化度情報、即ち状態レジスタデータSRDをメモリコントローラ20に伝送する(ステップS22)。劣化度情報は、パラメータ値、即ちISPEループ回数又はISPE電圧についての情報である。
【0083】
一実施例として、劣化度情報は、イレース動作の成功又は失敗を表わすライト状態ビット(write status bit)I/O0と共にコントローラ20に伝送される。
【0084】
図7は、図1に示した不揮発性メモリ装置で行われるISPEスキームを説明するためのタイミング図である。EPi(iは自然数)はISPEスキームによるイレースパルスを表わし、Verai(iは自然数)はイレース電圧を表わし、EVはイレース検証動作に使われるイレース検証パルスを表わし、Vevfyはイレース検証電圧を表わす。
【0085】
図7に示したように、ISPE最大ループ回数をi回と仮定し、各イレースループLP1〜LPiは、各イレースパルスEPiと1つのイレース検証パルスEVとを含む。制御コードC−CODEによって、電圧発生器130は、イレース動作が完了するまでISPEイレース電圧Verai(iは自然数)を順次に増加させながら、イレース動作が成功するまでイレース動作を行う。
【0086】
例えば、イレース動作は、第1イレース電圧Vrea1が供給された最初のISPEループLP1で完了することがある。この場合、第1イレース電圧Vrea1が、ISPE最終イレース電圧(final erase voltage)になる。従って、コントロールロジック150は、第1イレース電圧Vrea1又はISPEループ回数(例えば1)を表わす劣化度情報を状態レジスタデータとして状態レジスタ151又はメモリセルアレイ120に保存する。
【0087】
また、イレース動作は、第3イレース電圧Vera3が供給された三番目のISPEループLP3で完了することがある。この場合、第3イレース電圧Vrea3が、ISPE最終イレース電圧になる。従って、コントロールロジック150は、第3イレース電圧Vrea3又はISPEループ回数(例えば3)を表わす劣化度情報、即ち最後に変更されたパラメータ値を状態レジスタデータとして状態レジスタ151又はメモリセルアレイ120に保存する。
【0088】
図8は、ウェアリングインデックスとプログラム/イレースサイクル数の関係を示すグラフである。図8を参照すると、L1は特定ブロックに対するプログラム及び/又はイレースが連続して行われる時(例えばテスト段階)のウェアリングインデックスと有効プログラム及び/又はイレースサイクルとを表わす曲線であり、L2は特定ブロックに対するプログラム及び/又はイレースが不連続に行われる時(例えば実際の使用段階)のウェアリングインデックスと有効プログラム及び/又はイレースサイクルとを表わす曲線である。
【0089】
経時的に、L1は、L2に変化する。即ち、経時的に、特定ブロックに含まれる劣化した不揮発性メモリセルは、自然治癒される。従って、L2が反映された特定ブロックについての劣化度を検出することができる方法が、本発明の概念である。上述したように、メモリコントローラ20は、劣化度情報、イレース動作に関連したパラメータ値、プログラム動作に必要なパラメータ値、即ち状態レジスタデータSRDを用いて、現在イレース動作が行われた時点での特定ブロックについての劣化度をリアルタイムに検出し、該検出結果によって、ブロックを特定グループに分類する。
【0090】
図9は、図1に示した不揮発性メモリ装置のプログラム動作と状態レジスタデータの出力過程とを説明するためのフローチャートであり、図10は、図1に示したメモリシステムの他の実施例による動作タイミング図である。
【0091】
図1、図2、図4、図5、図9、及び図10を参照すると、不揮発性メモリ装置30のコントロールロジック150は、プロセッサ21から出力されたシリアルデータ入力命令(例えば80h)を受信する。不揮発性メモリ装置30のコントロールロジック150は、ページアドレスとページデータA/Dとを順次に受信する(ステップS110とステップS112)。不揮発性メモリ装置30のコントロールロジック150は、プログラム命令、例えば10hで表現されるページプログラム確認命令を受信する(ステップS114)。
【0092】
不揮発性メモリ装置30のコントロールロジック150は、ページアドレスに相応するメモリセルアレイ120のページに、プログラム命令によって、ページデータをプログラムするプログラム動作が完了するまで、プログラム動作に関連したパラメータ値を変更する。プログラム時間tPROGの間に、不揮発性メモリ装置30のアクセス回路122は、プログラム動作及びプログラム検証動作を行う(図9のステップS116と図10の33)。
【0093】
プログラム動作が完了すると、コントロールロジック150は、最後に変更されたパラメータ値を状態レジスタデータとして状態レジスタ151又はメモリセルアレイ120に保存する(ステップS118)。
【0094】
プロセッサ21は、ハイレベルに遷移した

出力によって、リード状態命令、例えば70hを不揮発性メモリ装置30に伝送する。不揮発性メモリ装置30は、リード状態命令を受信し(ステップS120)、該受信したリード状態命令によって、メモリ、例えば図5に示した状態レジスタ151又はメモリセルアレイ120に保存された、最後に変更されたパラメータ値に相応する情報、即ち状態レジスタデータSRDをプロセッサ21に出力する(図9のステップS122と図10の35)。
【0095】
プロセッサ21は、受信した状態レジスタデータSRDを解析し、該解析結果によって、ブロックに対するウェアレベリングのレベルを複数のグループのうちの何れか1つのグループに分類し、該分類結果をFTLコードとして保存するために不揮発性メモリ装置30に伝送する。パラメータ値は、ISPPループ回数又はISPP電圧であり得る。劣化度情報は、プログラム動作の成功又は失敗を表わすライト状態ビットと共にメモリコントローラ20に伝送される。
【0096】
図11は、図1に示した不揮発性メモリ装置で行われるISPPスキームを説明するためのタイミング図である。PPj(jは自然数)はISPPスキームによるプログラムパルスを表わし、Vpgmj(jは自然数)はプログラム電圧を表わし、PVはプログラム検証動作に使われるプログラム検証パルスを表わし、Vpvfyはプログラム検証電圧を表わす。プログラム検証動作の間に、同じ電圧が選択されたワードラインに時間を変えて2回以上供給され、異なる電圧が選択されたワードラインに時間を変えて2回以上供給されうる。
【0097】
図11に示したように、ISPP最大ループ回数をj回と仮定し、各プログラムループLP1〜LPjは、各プログラムパルスPPjと1つのプログラム検証パルスPVとを含む。
【0098】
制御コードC−CODEによって、電圧発生器130は、プログラム動作が完了するまでISPPプログラム電圧Vpgmj(jは自然数)を順次に増加させながら、プログラム動作を行う。例えば、プログラム動作は、第1プログラム電圧Vpgm1が供給された最初のISPPループLP1で完了することがある。この場合、第1プログラム電圧Vpgm1が、ISPP最終プログラム電圧(final program voltage)になる。従って、コントロールロジック150は、第1プログラム電圧Vpgm1又はISPPループ回数(例えば1)を表わす情報、即ち最後に変更されたパラメータ値を状態レジスタデータとして状態レジスタ151又はメモリセルアレイ120に保存する。
【0099】
また、プログラム動作は、第4プログラム電圧Vpgm4が供給された四番目のISPPループLP4で完了することがある。この場合、第4プログラム電圧Vpgm4が、ISPP最終プログラム電圧になる。従って、コントロールロジック150は、第4プログラム電圧Vpgm4又はISPPループ回数(例えば4)を表わす情報を状態レジスタ151又はメモリセルアレイ120に保存する。一実施例として、ISPP初期プログラム電圧(initial program voltage)を、劣化度情報として状態レジスタ151に保存する。
【0100】
図12は、状態レジスタデータとプログラム/イレースサイクル数の関係を示す表である。図12を参照すると、状態レジスタデータ(SRD=I/O[5:1])とP/Eサイクルとの関係を例示的に示している。
【0101】
図12に示したように、P/Eサイクルが500回以下である場合、状態レジスタデータ(SRD=I/O[5:1])は00000であり、P/Eサイクルが500回超過1,000回以下である場合、状態レジスタデータ(SRD=I/O[5:1])は00001であり、P/Eサイクルが1,000回超過1500回以下である場合、状態レジスタデータ(SRD=I/O[5:1])は00010であり得る。
【0102】
図1及び図12を参照すると、コントロールロジック150は、プログラム動作又はイレース動作が行われた回数、即ちP/Eサイクルを表わす情報を状態レジスタ151又はメモリセルアレイ120に保存する。従って、コントロールロジック150は、プログラム動作又はイレース動作が行われた後、メモリコントローラ20から出力されたリード状態命令によって、状態レジスタ151又はメモリセルアレイ120に保存されたP/Eサイクルを表わす情報を状態レジスタデータSRDとしてメモリコントローラ20に出力する。
【0103】
一実施例として、劣化度情報は、プログラム動作又はイレース動作が完了した後、自動で状態レジスタデータSRDとしてメモリコントローラ20に出力することもできる。
【0104】
図13は、図1に示したメモリシステムで行われるウェアレベリング方法を説明するためのフローチャートであり、図14は、図1に示したメモリシステムのウェアレベリング管理方法を説明するための表である。図1、図2、図4、図13、及び図14を参照すると、プロセッサ21は、不揮発性メモリ装置30から出力された状態レジスタデータSRD、即ち劣化度情報を受信する(ステップS210)。
【0105】
プロセッサ21は、受信した状態レジスタデータSRDを解析し(ステップS220)、該解析結果によって、現在イレースされたブロック(例えばBA2)のウェアレベリングのレベルを複数のグループG1、G2、G3、G4、G5、…のうちの何れか1つのグループ(例えばG2)に分類する(ステップS230)。このような分類は、単純にイレース回数に基づいたものではなく、ブロックに含まれる不揮発性メモリセルの劣化度又は劣化度情報に基づいたものである。
【0106】
例えば、プロセッサ21は、劣化度情報パラメータ(deterioration information parameters)から劣化度指標(deterioration indicators)を決定し、該決定された劣化度指標に基づいてイレースブロックを分類する。例えば、プロセッサ21は、劣化度指標としてイレースループカウント(erase loop count)を決定する。イレースループカウントは、(最終イレース電圧−初期イレース電圧)/イレース電圧間隔で決定されうる。ここで、イレース電圧間隔は、図7に示した複数の電圧間隔Vera(i+1)−Veraiのうちの1つである。
【0107】
他の例として、プロセッサ21は、イレースループカウントを(総イレース時間/1つのイレースループの時間)で決定しうる。劣化度指標は、プログラム動作のために劣化度情報パラメータに基づいて決定される。従って、決定されたイレースループカウントと決定されたプログラムループカウントは、仮想P/Eサイクルを決定するためにプロセッサ21によって結合される。プロセッサ21は、決定された仮想(virtual)P/Eサイクルに基づいてイレースブロックを分類する。
【0108】
図14に示したように、第1グループG1に分類され、仮想P/Eサイクルが10,000回以下であるブロックは、BA0、BA10、BA100などであり、第2グループG2に分類され、仮想P/Eサイクルが10,000回超過20,000回以下であるブロックは、BA1、BA2、BA50などであり、第3グループG3に分類され、仮想P/Eサイクルが20,000回超過30,000回以下であるブロックは、BA4、BA70、BA71などである。
【0109】
プロセッサ21は、分類結果をFTLコード(FTL CODE)として不揮発性メモリ装置30のメモリセルアレイ120に保存する。例えば、分類結果は、FTLコード(FTL CODE)で作成されてメモリセルアレイ120に保存する。FTLコード(FTL CODE)は、グループ別にウェアレベリングを行うことができる指標として使われる。
【0110】
プロセッサ21は、現在ウェアレベリングのレベルが複数のウェアレベリンググループG1、G2、G3、G4、G5、…のうちの何れか1つのグループ(例えばG2)に属するブロック(例えばBA2及びBA50)を、受信した状態レジスタデータSRDの解析結果によって、他のグループ(例えばG1及びG4)に再分類し、該再分類結果を不揮発性メモリ装置30のメモリセルアレイ120に保存することができる。即ち、単純にP/Eサイクルをカウントするものと異なり、分類されたブロックのウェアレベリンググループは変わりうる。従って、当該ブロックの劣化度によってグループ別に行われるウェアレベリングによって、不揮発性メモリ装置30の寿命は増加する。
【0111】
プロセッサ21は、現在イレースされたブロックに含まれる複数の不揮発性メモリセルのそれぞれにトラップ(trap)された電荷量をリアルタイムに把握することができる指標として劣化度情報を使う。従って、プロセッサ21は、単純にP/E回数をカウントして、当該ブロックの摩耗度(wearout)を一律的に把握する代りに、複数の不揮発性メモリセルのそれぞれにトラップされた電荷量によって、当該ブロックの摩耗度を判断する。
【0112】
本実施形態による不揮発性メモリ装置30は、イレース動作又はプログラム動作が行われる間に、最後に変更されたパラメータ値(又は最終的にアップデートされたパラメータ値)を保存し、別途にイレース回数を保存しないので、メタデータ(metadata)、例えばイレース回数を保存するメモリ領域を減らしうる。
【0113】
ブロック当たりのイレース回数を保存するために2バイト(bytes)が必要であると仮定すると、2,048個のブロックを含む不揮発性メモリ装置30の場合、4Kbyteのメモリ領域を減少することができる。
【0114】
図15は、本発明の他の実施形態による不揮発性メモリ装置を含むメモリシステムのブロック図であり、図16は、図15に示したメモリシステムの動作を説明するためのフローチャートである。図5、図15、及び図16を参照すると、メモリシステム10′のメモリコントローラ20は、劣化度情報を得るための専用命令NCMD、例えばウェアアウト(摩耗度)状態リード命令を不揮発性メモリ装置30に出力する。
【0115】
不揮発性メモリ装置30は、現在のイレースブロックに対するイレース動作が完了すると、使われたブロックについての劣化度情報、例えばイレース動作に関連したパラメータ値(又はパラメータに相応する情報)を状態レジスタ151に保存する。
【0116】
イレース動作が終了した後(ステップS310)、コントロールロジック150は、ウェアアウト状態リード命令を受信し(ステップS320)、該受信したウェアアウト状態リード命令によって、状態レジスタ151に保存された劣化度情報、例えばウェアアウト(摩耗度)情報を表わす状態レジスタデータをリードし(ステップS330)、該リードされた状態レジスタデータSRDをメモリコントローラ20に伝送する(ステップS340)。
【0117】
プロセッサ21は、受信した状態レジスタデータSRDを解析し、該解析結果によって、現在イレースされたブロックのウェアレベリングのレベルを多数のグループのうちの何れか1つのグループに分類する。
【0118】
図17は、図1又は図15に示したメモリコントローラと不揮発性メモリ装置とを含む一実施例によるデータ処理システムである。
【0119】
データ処理システム200は、スマートカード(smart card)又はメモリカードとして具現されうる。データ処理システム200は、メモリコア30′、インターフェースドライバー210、カードインターフェースコントローラ220、及びメモリコアインターフェース230を含む。
【0120】
メモリコア30′の構造と動作は、図5に示した不揮発性メモリ装置30の構造と動作と同一又は類似している。インターフェースドライバー210は、ホストから出力された信号を駆動し、該駆動された信号をカードインターフェースコントローラ220に伝送する。
【0121】
カードインターフェースコントローラ220の構造と機能は、図1又は図15に示したメモリコントローラ20の構造及び機能と実質的に同一である。即ち、カードインターフェースコントローラ220は、現在イレース動作が行われたメモリコア30′のブロックについての劣化度情報を得るための命令をメモリコア30′に出力し、メモリコア30′から出力された状態レジスタデータを受信して分析し、該分析結果によって、ブロックのウェアレベリングのレベルを多数のグループのうちの何れか1つのグループに分類する。
【0122】
メモリコア30′とカードインターフェースコントローラ220は、メモリコアインターフェース230を通じて通信する。
【0123】
図18は、図1又は図15に示したメモリコントローラと不揮発性メモリ装置とを含む他の実施例によるデータ処理システムである。図18を参照すると、データ処理システムは、SSD(solid state drive)のようなデータ処理装置300とホスト350とを含む。
【0124】
データ処理装置300は、複数のNANDフラッシュメモリ等の不揮発性メモリ装置30、複数の不揮発性メモリ装置30のそれぞれのデータ処理動作を制御するフラッシュメモリコントローラ310、DRAMのような揮発性メモリ装置340、フラッシュメモリコントローラ310とホスト350との間で送受信するデータを揮発性メモリ装置340に保存することを制御するバッファマネージャー330を含みうる。
【0125】
図1又は図15に示したメモリシステム10又は10′は、PC(personal computer)、携帯電話機、スマートフォン(smart phone)、タブレット(tablet)PC、PDA(personal digital assistant)、PMP(portable multimedia player)、MP3プレーヤー、デジタルカメラ、ナビゲーション装置、ゲーム機、電子ブック、或いは携帯用電子装置(handheld electronic device)などとして具現されうる。
【0126】
以上、図面を参照しながら本発明の実施形態について詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【0127】
10、10′ メモリシステム
20 メモリコントローラ
21 プロセッサ
22 ROM
23 RAM
30 不揮発性メモリ装置
30′ メモリコア
120 メモリセルアレイ
122 アクセス回路
128 電圧供給回路
130 電圧発生器
140 ローデコーダ
150 コントロールロジック
151 状態レジスタ
160 カラムデコーダ
170 ページバッファ及び感知増幅器ブロック
180 Y−ゲーティング回路
190 入出力ブロック
200 データ処理システム
210 インターフェースドライバー
220 カードインターフェースコントローラ
230 メモリコアインターフェース
300 データ処理装置(SSD)
310 フラッシュメモリコントローラ
330 バッファマネージャー
340 揮発性メモリ装置(DRAM)
350 ホスト

【特許請求の範囲】
【請求項1】
コントローラから出力されたブロックアドレスとイレース命令とを受信する段階と、
前記ブロックアドレスに相応するブロックに対して、前記イレース命令によって行われるイレース動作が完了するまで、該イレース動作に関連したパラメータ値を変更する段階と、
最後に変更されたパラメータ値に相応する情報を保存する段階と、
前記コントローラから出力された命令によって、前記情報を前記コントローラに伝送する段階と、を有することを特徴とする不揮発性メモリ装置の動作方法。
【請求項2】
前記命令は、前記イレース動作の成功又は失敗についての情報を要求するリード状態命令(read status command)であることを特徴とする請求項1に記載の不揮発性メモリ装置の動作方法。
【請求項3】
前記パラメータ値は、前記ブロックがイレースされるまでに必要な時間、ISPEループ回数(incremental−step−pulse erase loop count)、ISPE電圧(incremental−step−pulse erase voltage)、ISPEの各イレースループの各イレースパルスの幅と振幅とのうちの少なくとも1つ、イレース検証パルスの幅と振幅とのうちの少なくとも1つ、前記不揮発性メモリ装置の温度、前記イレース動作途中で前記ブロックに供給される電圧、又は前記ブロックに対するイレース回数であることを特徴とする請求項2に記載の不揮発性メモリ装置の動作方法。
【請求項4】
前記情報は、前記イレース動作の成功又は失敗を表わす状態ビットと共に前記コントローラに伝送されることを特徴とする請求項2に記載の不揮発性メモリ装置の動作方法。
【請求項5】
不揮発性メモリ装置の動作を制御するコントローラの動作方法であって、
前記不揮発性メモリ装置に具現されたブロックをイレースするために、該ブロックに対するブロックアドレスとイレース命令とを該不揮発性メモリ装置に伝送する段階と、
命令を前記不揮発性メモリ装置に伝送する段階と、
前記不揮発性メモリ装置から、前記命令に応答して出力され、前記イレース命令によるイレース動作に関連したパラメータ値に相応する情報を受信する段階と、
前記受信した情報を解析し、該解析結果によって前記ブロックのウェアレベリングのレベルを複数のグループのうちの何れか1つのグループに分類する段階と、を有することを特徴とするメモリコントローラの動作方法。
【請求項6】
前記命令は、前記イレース動作の成功又は失敗についての情報を要求するリード状態命令であることを特徴とする請求項5に記載のメモリコントローラの動作方法。
【請求項7】
前記何れか1つのグループに分類された前記ブロックの現在のウェアレベリングのレベルを、前記解析結果によって、前記複数のグループのうちから他のグループに再分類する段階を更に含むことを特徴とする請求項6に記載のメモリコントローラの動作方法。
【請求項8】
前記コントローラは、前記分類結果又は前記再分類結果を前記不揮発性メモリ装置に伝送する段階を更に含むことを特徴とする請求項7に記載のメモリコントローラの動作方法。
【請求項9】
前記情報は、前記ブロックがイレースされるまでに必要な時間、ISPEループ回数、ISPE電圧、ISPEの各イレースループの各イレースパルスの幅と振幅とのうちの少なくとも1つ、イレース検証パルスの幅と振幅とのうちの少なくとも1つ、前記不揮発性メモリ装置の温度、前記イレース動作途中で前記ブロックに供給される電圧、又は前記ブロックに対するイレース回数を表わすことを特徴とする請求項6に記載のメモリコントローラの動作方法。
【請求項10】
ブロックが具現された不揮発性メモリ装置及び該不揮発性メモリ装置の動作を制御するコントローラを含むメモリシステムの動作方法であって、
前記コントローラが、前記ブロックに対するブロックアドレスとイレース命令とを前記不揮発性メモリ装置に伝送する段階と、
前記コントローラが、命令を前記不揮発性メモリ装置に伝送する段階と、
前記コントローラが、前記不揮発性メモリ装置から、前記命令に応答して出力され、前記イレース命令によるイレース動作に関連したパラメータ値に相応する情報を受信する段階と、
前記コントローラが、前記受信した情報を解析し、該解析結果によって前記ブロックのウェアレベリングのレベルを複数のグループのうちの何れか1つのグループに分類する段階と、を有することを特徴とするメモリシステムの動作方法。
【請求項11】
前記不揮発性メモリ装置が、前記ブロックに対して、前記イレース命令によって行われる前記イレース動作が完了するまで、前記イレース動作に関連した前記パラメータ値を変更し、最後に変更されたパラメータ値を前記情報として保存する段階と、
前記不揮発性メモリ装置が、前記命令がリード状態命令である時、前記リード状態命令に応答して、前記情報を前記コントローラに伝送する段階と、を更に含むことを特徴とする請求項10に記載のメモリシステムの動作方法。
【請求項12】
前記コントローラが、前記何れか1つのグループに分類された前記ブロックの現在のウェアレベリングのレベルを、前記解析結果によって、前記複数のグループのうちから他のグループに再分類する段階を更に含むことを特徴とする請求項11に記載のメモリシステムの動作方法。
【請求項13】
前記情報は、前記ブロックがイレースされるまでに必要な時間、ISPEループ回数、ISPE電圧、ISPEの各イレースループの各イレースパルスの幅と振幅とのうちの少なくとも1つ、イレース検証パルスの幅と振幅とのうちの少なくとも1つ、前記不揮発性メモリ装置の温度、前記イレース動作途中で前記ブロックに供給される電圧、又は前記ブロックに対するイレース回数を表わすことを特徴とする請求項11に記載のメモリシステムの動作方法。
【請求項14】
前記メモリシステムは、スマートカードであることを特徴とする請求項10に記載のメモリシステムの動作方法。
【請求項15】
前記メモリシステムは、SSD(Solid State Drive)であることを特徴とする請求項10に記載のメモリシステムの動作方法。
【請求項16】
プログラムを保存するメモリと、
前記メモリに保存された前記プログラムを実行するプロセッサと、を備え、
前記プログラムによって、前記プロセッサは、
不揮発性メモリ装置に具現されたブロックをイレースするために、該ブロックに対するブロックアドレスとイレース命令とを該不揮発性メモリ装置に伝送する段階と、
命令を前記不揮発性メモリ装置に伝送する段階と、
前記不揮発性メモリ装置から、前記命令に応答して出力され、前記イレース命令によるイレース動作に関連したパラメータ値に相応する情報を受信する段階と、
前記受信した情報を解析し、該解析結果によって前記ブロックのウェアレベリングのレベルを複数のグループのうちの何れか1つのグループに分類する段階と、を実行することを特徴とするメモリコントローラ。
【請求項17】
前記命令は、前記イレース動作の成功又は失敗についての情報を要求するリード状態命令であり、
前記情報は、前記ブロックがイレースされるまでに必要な時間、ISPEループ回数、ISPE電圧、ISPEの各イレースループの各イレースパルスの幅と振幅とのうちの少なくとも1つ、イレース検証パルスの幅と振幅とのうちの少なくとも1つ、前記不揮発性メモリ装置の温度、前記イレース動作途中で前記ブロックに供給される電圧、又は前記ブロックに対するイレース回数を表わすことを特徴とする請求項16に記載のメモリコントローラ。
【請求項18】
複数のブロックを含むメモリセルアレイと、
コントローラから出力されたブロックアドレスとイレース命令とを受信し、前記複数のブロックのうちから前記ブロックアドレスによって指定されたブロックに対して、前記イレース命令によって行われるイレース動作が完了するまで、該イレース動作に関連したパラメータ値を変更し、最後に変更されたパラメータ値に相応する情報をメモリ保存し、前記コントローラから出力された命令によって、前記情報を前記コントローラに伝送するコントロールロジックと、を備えることを特徴とする不揮発性メモリ装置。
【請求項19】
前記命令は、前記イレース動作の成功又は失敗についての情報を要求するリード状態命令であり、
前記情報は、前記ブロックがイレースされるまでに必要な時間、ISPEループ回数、ISPE電圧、ISPEの各イレースループの各イレースパルスの幅と振幅とのうちの少なくとも1つ、イレース検証パルスの幅と振幅とのうちの少なくとも1つ、前記不揮発性メモリ装置の温度、前記イレース動作途中で前記ブロックに供給される電圧、又は前記ブロックに対するイレース回数を表わすことを特徴とする請求項18に記載の不揮発性メモリ装置。
【請求項20】
前記情報は、前記イレース動作の成功又は失敗を表わす状態ビットと共に前記コントローラに伝送されることを特徴とする請求項18に記載の不揮発性メモリ装置。
【請求項21】
不揮発性メモリのブロックについての劣化度情報を受信する段階と、
前記劣化度情報に基づいて少なくとも1つの劣化度指標を決定する段階と、
前記決定された劣化度指標に基づいて、前記ブロックをウェアレベリンググループ(wear−leveling group)に分類する段階と、を有し、
前記劣化度指標は、前記ブロックのメモリセルにトラップされた電荷量を表わすことを特徴とするウェアレベリング方法。
【請求項22】
前記劣化度情報は、前記ブロックがイレースされるまでに必要な時間、ISPEループ回数、ISPE電圧、ISPEの各イレースループの各イレースパルスの幅と振幅とのうちの少なくとも1つ、イレース検証パルスの幅と振幅とのうちの少なくとも1つ、前記不揮発性メモリ装置の温度、前記イレース動作途中で前記ブロックに供給される電圧、又は前記ブロックに対するイレース回数を表わすことを特徴とする請求項21に記載のウェアレベリング方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2012−174331(P2012−174331A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−289737(P2011−289737)
【出願日】平成23年12月28日(2011.12.28)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung−ro,Yeongtong−gu,Suwon−si,Gyeonggi−do,Republic of Korea
【Fターム(参考)】