<発明の原理>
(用語について)
まず、本願明細書で述べる技術用語について説明する。「セル」とは1単位のメモリセルがセルデータとして保持する最低単位を意味し、1セルに1以上の複数のビット情報を保持することができる。
「ページ」とは、読み出し動作及び書き込み動作はページ単位で行われるため、読み出し動作及び書き込みの基準単位となる。1ページは、複数バイト(複数のセル)で構成される。「ブロック」は消去動作の基本単位となり、1ブロックは複数のページで構成される。したがって、ブロックはページより情報量が大きい。
優良G1(セル)は、保持特性が著しく良い(ビットエラーがほとんど生じない)セルを意味し、健全G2(セル)は、保持特性が良い(ビットエラーが少量生じる)セルを意味し、劣悪B3(セル)は、保持特性が悪い(ビットエラーが一定量生じる)セルを意味し、不良B2,不良B1(セル)は、保持特性が著しく悪い(ビットエラーが多量生じる)セルを意味し、故障NG(セル)ほとんどデータが保持できない劣化度合が故障レベルのセルを意味する。
「SLC(SingleLevelCell)」は、1単位のメモリセルに1ビットの情報を保持させる(1bit/セル)モードであり、「MLC(MultiLevelCell)」は1単位のメモリセルに2ビット以上の情報を保持する(Nbit/セル)モードを意味する。また、「シンドローム」は、エラー訂正に使用する付属情報となるエラー訂正符号である。
(原理について)
セル劣化判定パラメータを決定するために使用するNANDメモリの劣化評価試験を行った。この劣化評価試験は消去動作と書き込み動作とを繰り返すことによりメモリセルセルにダメージを与えて、セル劣化を促して傾向を測定する。このため、同一スペックのNANDメモリである試験用メモリsample1〜sample3を用いた。
この劣化評価試験で使用した試験用メモリsample1〜sample3のスペックは、推奨書き換え(消去/書き込み)回数は“5000”回以下、推奨エラー訂正能力は40ビット(bit)/1080バイト(byte)、使用モードは2ビットのMLC(Multi-Level Cell)である。
図1は試験用メモリsample1〜sample3に設定された基準消去時間BDT、基準書き込み時間BWT1及びBWT2を表形式で示す説明図である。同図に示すように、試験用メモリsample1〜sample3の基準消去時間BDTは全て4.00msに設定され、基準書き込み時間BWT1は2.00ms,1.65ms及び1.80msに設定され、基準書き込み時間BWT2は420μs,360μs及び400μsに設定される。
なお、基準書き込み時間BWT1は2ビットのMLCの上位ビットの書き込み時間WT1に対応づけて設けられた時間であり、基準書き込み時間BWT2は2ビットのMLCの下位ビットの書き込み時間TW2に対応づけて設けられた時間である。また、SLCとして用いた場合には基準書き込み時間BWT2を書き込み時間TWに対応づけて使用する。
図2及び図3は劣化評価試験の結果を示すグラフである。図2は消去/書き込み回数に対する消去時間比率情報の変化を示し、図3は消去/書き込み回数に対する読み出しエラー情報の変化を示している。なお、読み出しエラー情報が示すビット発生頻度は、書き込み後N回(例えば1000回)読み出し時における1080バイト当たり(単位情報量当たり)のビットエラー数である。また、書き込み動作に先がけて消去動作を行うため消去回数と書き込み回数は同一回数となる。
また、図2において、消去時間比率情報変化L11〜L13は、試験用メモリsample1〜sample3の基準消去時間BDTに対する実際の測定消去時間TDの比率を示しており、図3において、読み出しエラー情報変化L21〜L23は、試験用メモリsample1〜sample3の1080バイト当たりのビットエラー数を示している。
図2に示すように、消去時間比率情報変化L11〜L13は消去/書き込み回数の上昇に伴い増加する傾向があり、この傾向に着目することにより、試験用メモリsample1〜sample3間で共通の比率閾値“1.5”,“1.65”,“2.0”を設定してセル劣化結果を得ることができる。
具体的には、消去時間比率情報と比率閾値“1.5”,“1.65”,及び“2.0”との比較により、「1.5以下」→「優良G1」、「1.5〜1.65」→「健全G2」、「1.65〜2.0」→「劣悪B3」、「2.0以上」→「不良B2(B1)」となる、セル劣化結果(優良G1、健全G2、劣悪B3、不良B2(B1))を判定することができる。
一方、図3に示すように、読み出し回数を固定(1000回等)することにより精度を高める処置がなされるも、読み出しエラー情報変化L21〜L23で示すエラービット数は、試験用メモリsample1〜sample3間でバラツキが大きい。しかしながら、試験用メモリsample3の読み出しエラー情報変化L23のように、消去時間比率情報変化L11〜L13と同様な変化を行うこともある。したがって、読み出しエラー情報単独でセル劣化結果を判定することは困難であるが、上述した消去時間比率情報等と組み合わせてセル劣化結果を判定する場合は有用性があると推測される。
図4及び図5は劣化評価試験の結果を示すグラフである。図4は消去/書き込み回数に対する上位書き込み時間比率情報の変化を示し、図5は消去/書き込み回数に対する下位書き込み時間比率情報の変化を示している。
試験用メモリsample1〜sample3のメモリセルとして、1セルに2bitの情報を保持するMLC(MultiLevelCell)を用い、上位書き込み時間比率情報は上位ビット(Upper)に対する書き込み時間TW1の基準書き込み時間BWT1に対する比率を示す情報であり、下位書き込み時間比率情報は下位ビット(Lower)に対する書き込み時間TW2の基準書き込み時間BWT2に対する比率を示す情報である。
MLCにおいて、下位ビット(Lower)の書き込み時間TW2は比較的短いが、上位ビット(Upper)の書き込み時間TW1は比較的時間を要する。また、MLCはSLC(SingleLevelCell)として用いることもできる。
図4に示すように、上位書き込み時間比率情報変化L31〜L33は消去/書き込み回数の上昇に伴い減少する傾向があり、この傾向に着目することにより、例えば、試験用メモリsample1〜sample3間で共通の比率閾値“0.8”,“0.85”,及び“0.87”を設定してセル劣化結果を得ることができる(比率閾値は上記値から多少前後しても良い)。
具体的には、上位書き込み時間比率情報と比率閾値“0.8”,“0.85”,及び“0.87”との比較により、「0.87以上」→「優良G1」、「0.85〜0.87」→「健全G2」、「0.8〜0.85」→「劣悪B3」、「0.8以下」→「不良B2(B1)」となる、セル劣化結果(優良G1、健全G2、劣悪B3、不良B2(B1))を判定することができる。
一方、図5に示すように、下位書き込み時間比率情報変化L41〜L43は消去/書き込み回数の上昇に伴い減少する傾向があり、この傾向に着目することにより、例えば、試験用メモリsample1〜sample3間で共通の比率閾値“0.75”,“0.82”,及び“0.84”を設定してセル劣化結果を得ることができる(比率閾値は上記値から多少前後しても良い)。
具体的には、下位書き込み時間比率情報と比率閾値“0.75”,“0.82”,及び“0.84”との比較により、「0.84以上」→「優良G1」、「0.82〜0.84」→「健全G2」、「0.75〜0.82」→「劣悪B3」、「0.75以下」→「不良B2(B1)」となる、セル劣化結果(優良G1、健全G2、劣悪B3、不良B2(B1))を判定することができる。
基準消去時間BDT及び基準書き込み時間BWT(BWT1,BWT2)は、未使用状態(消去/書き込み0回)におけるメモリセルの処理時間(消去時間,書き込み時間)を測定し、その測定結果によって設定される。
図2〜図5に示すように、一般的に、セルが劣化する毎に消去時間比率(消去時間)は長くなる傾向があり、書き込み時間比率(書き込み時間)は短くなる傾向がある。また、消去時間比率は内部の処理単位が比較的長いため、書き込み時間に比べて劣化による時間の差が現れやすい傾向にある。逆に書き込み時間比率は書き込み値やページ個体差の影響もあり、劣化による比率の差は現れにくい傾向がある。この傾向を利用して、種々の判定条件を設定してセル劣化結果を判定するのが以下で述べる実施の形態1〜実施の形態4である。
<実施の形態1>
図6はこの発明の実施の形態1であるメモリシステム51の構成を示すブロック図である。同図に示すように、実施の形態1のメモリシステム51は、ホスト1、メモリコントローラ2及びNANDメモリ7により構成される。
ホスト1は、メモリコントローラ2を経由して制御対象の不揮発メモリであるNANDメモリ7に対してデータ書き込み、あるいはデータ読み出しを行う。
NANDメモリ7は、継続使用による劣化でデータ保持特性が悪くなるNANDセル構造の(メモリ)セルにより構成されるメモリである。NANDメモリ7は1セルに2ビットのビット情報を保持することができるMLC構成のセルを有し、セルは必要に応じて1セルに1ビットのビット情報を保持するSLC構成のセルとしても用いることができる。
メモリコントローラ2は、実施の形態1のエラー訂正装置41を内蔵し、ホスト1の書き込み及び読み出し等の要求に応じて、NANDメモリ7に対して消去動作、書き込み動作及び読み出し動作を行う。
メモリコントローラ2はブロック管理部17、ホストI/F18、メモリ制御I/F19及びエラー訂正装置41を有している。エラー訂正装置41は内部に全体制御部11、劣化判定回路21、書き込み時間測定回路25、消去時間測定回路26、訂正回路31〜33、書き込み結果格納部35及びブロック単位判定結果格納部36を有しており、NANDメモリ7に対するアクセス時におけるエラー訂正を行う。
ホストI/F18はホスト1とメモリコントローラ2との間のインタフェースであり、メモリ制御I/F19はメモリコントローラ2とNANDメモリ7との間のインタフェースある。
ブロック管理部17はエラー訂正装置41の全体制御部11から受ける指示情報に従い、NANDメモリ7における不使用ブロックへのアクセスを禁止する第1のブロック管理処理、及び、使用ブロックに関しNANDメモリ7におけるメモリセルのMLC,SLCのうちいずれのセルとして扱うかを設定する第2のブロック管理処理を実行する。
全体制御部11(制御部)はNANDメモリ7に対する消去動作、書き込み動作及び読み出し動作を制御する消去機能、書き込み機能及び読み出し機能を有している。
消去時間測定回路26は、消去動作の対象ブロックである消去対象ブロックにおける消去動作の実行時における消去時間を測定して測定消去時間TDをブロック単位に得る。
劣化判定回路21は、測定消去時間TDを用いて得られる消去時間比率情報(判定用消去情報)及びブロック単位・書き込み時間情報JW(B)に基づき、消去対象ブロックにおける劣化度合を判定して、ブロック単位・セル劣化判定値JC(B)(セル劣化判定結果)を得る劣化判定処理を行う。
ブロック単位判定結果格納部36(劣化判定結果格納部)はブロック単位・セル劣化判定値JC(B)を格納する。
書き込み時間測定回路25は、書き込み動作の実行時における書き込み時間を測定してページ単位で測定書き込み時間TW(TW1,TW2)を得る。
書き込み結果格納部35は、書き込み時間測定回路25より得た測定書き込み時間TWに基づき、全体制御部11の書き込み結果判定機能により決定されるブロック単位・書き込み時間情報JW(B)を格納する。
訂正回路31〜33が訂正回路31,32,33の順でより強くなるエラー訂正能力を有し、全体制御部11の制御下で、書き込み時にエラー訂正能力に合致したエラー訂正符号(シンドローム)を付与し、読み出し時にエラー訂正能力に沿ったエラー訂正処理を行う。
図7は訂正回路31〜33の訂正能力を表形式で具体的に示す説明図である。訂正回路31,32,及び33は、エラー訂正能力名を、高速エラー訂正FastECC、通常エラー訂正NormalECC、及び高レベルエラー訂正HighECCとするエラー訂正能力を有している。
訂正回路31が有する高速エラー訂正FastECCは、「528バイト(byte)中8ビット(bit)のエラー(8bit/528byte)の訂正能力」を持ち、訂正時間が短く最も高速なエラー訂正を行う。訂正回路32が有する通常エラー訂正NormalECCは、「1080バイト中24ビットの訂正能力」を持ち、訂正回路33が有する高レベルエラー訂正HighECCは、「1080バイト中40ビットの訂正能力」を持ち、訂正時間が長く最も低速なエラー訂正を行う。
なお、上述したメモリコントローラ2の各部は、基本的にハードウェアで構成されるが、HDD、DVD、メモリなどによって構成される書き込み結果格納部35,ブロック単位判定結果格納部36を除き、ソフトウェアに基づくCPUを用いたプログラム処理によって実行するようにしても良い。
図8は実施の形態1のメモリコントローラ2におけるブロック単位・セル劣化判定値JC(B)の判定条件並びにブロック単位・セル劣化判定値JC(B)に基づく書き込み動作及び読み出し動作時の使用条件を表形式で示す説明図である。
同図に示すように、ブロック単位・セル劣化判定値JC(B)は6つに分類(優良G1、健全G2、劣悪B3、不良B2、不良B1及び故障NG)されている。
以下、図8を参照して劣化判定回路21が消去時間比率情報DR、上位書き込み時間比率情報JW1及び下位書き込み時間比率情報JW2に基づくブロック単位・セル劣化判定値JC(B)の判定内容を説明する。
なお、上位書き込み時間比率情報JW1はNANDメモリ7のセルの上位ビットに対する書き込み時間TW1の基準書き込み時間BWT1に対する比率であり、下位書き込み時間比率情報JW2はセルの下位ビットに対する書き込み時間TW2に対する比率を意味する。以下、図8を参照して劣化判定回路21による消去時間比率情報DR、上位書き込み時間比率情報JW1及び下位書き込み時間比率情報JW2を判定基準とした判定条件を説明する。
優良G1:消去時間比率情報DRが150%(1.5)未満、
健全G2:消去時間比率情報DRが150%以上、165%未満、
劣悪B3:消去時間比率情報DRが165%以上、200%未満、
不良B2:「消去時間比率情報DRが175%以上、200%未満、上位書き込み時間比率情報JW1が80%(0.8)以下、及び下位書き込み時間比率情報JW2が75%以下の条件を全て満たす場合」、あるいは、「消去時間比率情報DRが200%以上、225%未満の場合」、
不良B1:消去時間比率情報DRが200%以上、225%未満、上位書き込み時間比率情報JW1が80%以下、及び下位書き込み時間比率情報JW2が75%以下の条件を全て満たす場合、
故障NG:「消去時間比率情報DRが225%以上の場合」、あるいは、「上位書き込み時間比率情報JW1が75%以下、及び下位書き込み時間比率情報JW2が70%以下を共に満足する場合」となる。
なお、複数の判定条件を重複して満足する場合、故障NG、不良B1、不良B2、劣悪B3、健全G2及び優良G1の順の優先順位、すなわち、劣化度合が高い順に優先して、ブロック単位・セル劣化判定値JC(B)が決定される。
次に、図8を参照して、ブロック単位・セル劣化判定値JC(B)を判定基準とした書き込み動作及び読み出し動作の使用条件について説明する。なお、使用条件項目としてはセルの扱い(MLCとしたメモリアクセス(書き込み動作、及び読み出し動作)を行うか、SLCとしたメモリアクセスを行うか)と、書き込み動作及び読み出し動作に共通に設定されるエラー訂正能力がある。
また、書き込み動作は採用するエラー訂正能力に対応するエラー訂正符号(シンドローム)を付加して行われる。そして、メモリセルをSLC扱いとした場合、図8で示す本例では要求されるエラー訂正能力はMLC扱いとした場合の半分程度とする。以下、ブロック単位・セル劣化判定値JC(B)を判定基準とした使用条件を説明する。
優良G1:メモリセル扱いはMLCであり、エラー訂正能力は訂正回路31による高速エラー訂正FastECC(8bit/528byte)(図7参照)、
健全G2:メモリセル扱いはMLCであり、エラー訂正能力は訂正回路32による通常エラー訂正NormalECC(24bit/1080byte)(図7参照)、
劣悪B3:メモリセル扱いはMLCであり、エラー訂正能力は訂正回路33による高レベルエラー訂正HighECC(40bit/1080byte)(図7参照)、
不良B2:メモリセル扱いはSLCであり、エラー訂正能力は通常エラー訂正NormalECC、
不良B1:メモリセル扱いはSLCであり、エラー訂正能力は高レベルエラー訂正HighECC、
故障NG:後天性不良ブロックとして未使用(消去動作、書き込み動作及び読み出し動作の対象ブロックから外す)とする。
なお、図8で示した判定条件は、図2〜図5で示した劣化評価試験に基づいているが、消去時間比率情報DRと比較する比率閾値、上位書き込み時間比率情報JW1及び下位書き込み時間比率情報JW2と比較する比率閾値は必ずしも図2〜図5で示した比率閾値と一致していない。図2〜図5で示す劣化評価試験の結果は、消去/書き込み回数に対する消去時間比率情報、書き込み時間比率情報の傾向を示すものであるが、上述した比率閾値はアクセス対象とするNANDメモリ7のスペックにより異なるからである。
図9はメモリコントローラ2における主要部の情報の授受を示すブロック図である。以下、同図を参照して、実施の形態1のメモリコントローラ2の劣化判定回路21によるブロック単位・セル劣化判定値JC(B)の判定動作を中心に説明する。
消去時間測定回路26は消去動作の実行時における消去時間を測定して測定消去時間TDをブロック単位に得て、測定消去時間TDを劣化判定回路21に出力する。
書き込み時間測定回路25は、書き込み動作の実行時における書き込み時間を測定して得られるページ単位の測定書き込み時間TW(TW1あるいはTW2)を全体制御部11に出力する。
全体制御部11は、書き込み動作後に実行する以下で述べる書き込み結果判定機能をさらに有している。
すなわち、全体制御部11は、測定書き込み時間TW1(TW2)の基準書き込み時間BWT1(BWT2)に対する上位(下位)書き込み時間比率情報JW1(JW2)(ページ単位書き込み情報)をページ単位に求める。
そして、全体制御部11は、「同一ブロックにおいて、最も短い上位書き込み時間比率を指示する上位書き込み時間比率情報JW1を選択し、同一ブロックにおいて、最も短い下位書き込み時間比率を指示する下位書き込み時間比率情報JW1を選択する」としたブロック単位・書き込み時間情報JW(B)の選択基準(書き込み選択基準)に沿って行う。
すなわち、全体制御部11は書き込み結果判定機能により、上記書き込み選択基準に沿って、同一ブロックに含まれる複数の(少なくとも一つの)上位書き込み時間比率情報JW1のうち、最小の上位書き込み時間比率を指示する上位書き込み時間比率情報JW1と、同一ブロックに含まれる複数の(少なくとも一つの)下位書き込み時間比率情報JW2のうち、最小の下位書き込み時間比率を指示する下位書き込み時間比率情報JW2との組み合わせを、ブロック単位・書き込み時間情報JW(B)として選択する。
このブロック単位・書き込み時間情報JW(B)が書き込み結果格納部35に格納される。
劣化判定回路21は、消去動作の実行後に測定消去時間TDの基準消去時間BDTに対する消去時間比率情報DRを求め、消去時間比率情報DRとブロック単位・書き込み時間情報JW(B)とに基づき、図8で示した判定条件に従い、ブロック単位・セル劣化判定値JC(B)を得る。このブロック単位・セル劣化判定値JC(B)はブロック単位判定結果格納部36に格納される。
上述した基準消去時間BDT及び基準書き込み時間BWT1あるいはBWT2はNANDメモリ7と同じデバイスについて、以下の時間を測定することにより予め得ることができる。すなわち、上記デバイスの未使用状態での全ブロックそれぞれで測定した消去時間がブロック単位に独立の基準消去時間BDTとして設定され、未使用状態での全ページそれぞれで測定した書き込み時間がページ単位に独立の基準書き込み時間BWT1あるいは基準書き込み時間BWT2として設定される。
全体制御部11の書き込み機能による書き込み動作は、以下のように行われる。まず、全体制御部11は、ブロック単位判定結果格納部36から書き込み動作を行うページである書き込み対象ページが含まれる(に対応する)ブロックにおけるブロック単位・セル劣化判定値JC(B)を取得する。そして、全体制御部11は、取得したブロック単位・セル劣化判定値JC(B)に基づき、図8に示す使用条件に従い、エラー訂正能力を決定し、決定したエラー訂正能力に対応するエラー訂正符号(シンドローム)を付加して書き込み対象ページにおける書き込み動作を実行する。
全体制御部11の読み出し機能による読み出し動作は、以下のように行われる。まず、全体制御部11は、ブロック単位判定結果格納部36から読み出し動作を行うページである読み出し対象ページが含まれる(に対応する)ブロックにおけるブロック単位・セル劣化判定値JC(B)を取得する。そして、全体制御部11は、取得したブロック単位・セル劣化判定値JC(B)に基づき、図8に示す使用条件に従い、エラー訂正能力を決定し、決定したエラー訂正能力を用いて読み出し対象ページにおける読み出し動作を実行する。
なお、エラー訂正符号の付加及びエラー訂正能力を用いた処理は、訂正回路31〜33のうち決定したエラー訂正能力を有する訂正回路を介して実行される。
また、全体制御部11は、ブロック単位・セル劣化判定値JC(B)が故障NG、すなわち、後天性不良ブロックであることを指示する場合、当該ブロック単位・セル劣化判定値JC(B)に対応するブロック(このブロックに含まれる全ページを含む)を、消去動作、書き込み動作及び読み出し動作を対象外として判定し、故障NGと判定されたブロックを指示する不使用ブロック情報S11aをブロック管理部17に出力する不使用ブロック判定機能をさらに備えている。
なお、ブロック管理部17は不使用ブロック情報S11aの指示内容に基づき、NANDメモリ7において故障NGと判定されたブロックの使用を禁止する第1のブロック管理処理を実行する。
上述したように、メモリコントローラ2の全体制御部11は、判定したブロック単位・セル劣化判定値JC(B)に基づく、書き込み動作及び読み出し動作を制御する書き込み機能及び読み出し機能を有している。
例えば、優良G1と判定されたブロックは、必要最小限のエラー訂正能力(=高速エラー訂正FastECC)とすることにより、高速な読み出し動作が可能となる。健全G2→劣悪B3とセルが劣化する度にエラー訂正能力が向上する結果、訂正時間は増加するが確実なエラー訂正を担保して読み出し動作を行う。さらに、セルが劣化し、不良B2,不良B1と判定された場合は、セルをSLC扱いとするため1ページ当たりの保持データ量は劣るものの、信頼性を保った書き込み動作及び読み出し動作の使用継続が可能になる。
なお、全体制御部11は、初期動作時は「セルのMLC扱い」を指示するセル扱い情報S11bをブロック管理部17に出力し、不良B2,不良B1と判定した場合は、「セルのSLC扱い」を指示するセル扱い情報S11bをブロック管理部17に出力する。そして、ブロック管理部17はセル扱い情報S11bの指示内容に基づき、NANDメモリ7の使用ブロックにおけるセルの扱いをMLCあるいはSLCに設定する第2のブロック管理処理を実行する。
このように、全体制御部11からのセル扱い情報S11bに基づき、ブロック管理部17は第2のブロック管理処理を実行して、不良B1,不良B2と判定されたブロックが故障NGと判定されるまでの期間の長期化を図ることにより、NANDメモリ7の長寿命化を実現することができる効果を奏する。
実施の形態1のエラー訂正装置41は劣化判定回路21により、測定消去時間TDを用いて得られる消去時間比率情報DR(判定用消去情報)に基づき、消去動作の対象ブロックにおける劣化度合を判定して動的に変化するブロック単位・セル劣化判定値JC(B)(セル劣化判定結果)を得ている。このため、NANDメモリ7におけるNAND型セルの経時変化に適切に対応して、精度の高いブロック単位・セル劣化判定値JC(B)を得ることができる。
その結果、全体制御部11は、ブロック単位・セル劣化判定値JC(B)に基づくエラー訂正符号を付加して書き込み動作を実行したり、ブロック単位・セル劣化判定値JC(B)に基づくエラー訂正能力を用いて読み出し動作を実行したりすることにより、書き込み動作及び読み出し動作に要する時間を必要最小限に抑えながら、書き込み動作及び読み出し動作時にエラーを発生させることなく、正確に実行することができる。
すなわち、実施の形態1のエラー訂正装置41は、劣化判定回路21により動的に変化する正確なブロック単位・セル劣化判定値JC(B)を得るという、劣化度合を精度良く予測して、書き込み動作及び読み出し動作を常に適切なエラー訂正能力を用いて行うことができるため、読み出し性能の改善を図ることができる。
そして、劣化判定回路21により動的にブロック単位・セル劣化判定値JC(B)を変化させることにより、エラー訂正装置41は、消去動作、書き込み動作及び読み出し動作における信頼性を損ねることなく、NANDメモリ7に対するアクセスに関し常に最適な制御性能を発揮することができる。
したがって、実施の形態1のエラー訂正装置41は、エラー訂正能力を必要以上に高く設定することにより書き込み動作及び読み出し動作に要する時間を長期化させたり、エラー訂正能力を必要とされる能力より低く設定することに書き込み動作及び読み出し動作に支障を来してしまったりする問題点を的確に解消することができる。
劣化判定回路21より得られるブロック単位・セル劣化判定値JC(B)は消去動作の実行単位であるブロック単位に分類して設定されるため、セルの劣化状態をブロック単位に正確に判定することができる。
劣化判定回路21は、消去対象ブロックにおいて、消去時間比率情報DRに加え、さらに、ブロック単位・書き込み時間情報JW(B)に基づき劣化判定処理を行うため、2つの判定基準(消去時間比率情報DR,ブロック単位・書き込み時間情報JW(B))に基づく分、セルの劣化状態をブロック単位により正確に判定することができる。
各ブロックにおける基準消去時間BDTはブロック間で独立して設定され、消去時間比率情報DRは、消去対象ブロックにおける基準消去時間BDTに対する測定消去時間の比率を示すため、ブロック間の特性のバラツキを考慮する等によりブロックごとに基準消去時間を変更することができる分、消去時間比率情報DRの精度を高めることができ、その結果、劣化判定処理の判定精度の向上を図ることができる。
さらに、基準消去時間BDT全体をNANDメモリ7(メモリ)の種別に沿って適宜変更することにより、劣化判定回路21は、管理対象のNANDメモリ7に特性に合致した劣化判定処理を行うことができる。
また、図8に示すように、消去時間比率情報DRと予め準備した複数の比率閾値との比較処理により、ブロック単位・セル劣化判定値JC(B)を複数種に分類することができる。
各ページにおける基準書き込み時間BWT(BWT1あるいはBWT2)はページ間で独立して設定され、上位書き込み時間比率情報JW1あるいは下位書き込み時間比率情報JW2は、書き込み対象ページにおける基準書き込み時間に対する測定書き込み時間TW1あるいはTW2の比率を示している。このため、ページ間の特性のバラツキ等を考慮してページごとに基準書き込み時間BWT1あるいはBWT2を変更することができる分、上位書き込み時間比率情報JW1あるいは下位書き込み時間比率情報JW2の精度を高めることができ、その結果、劣化判定回路21による劣化判定処理の判定精度の向上を図ることができる。
さらに、基準書き込み時間BWT1及びBWT2全体をNANDメモリ7(記憶部)の種別に沿って適宜変更することにより、劣化判定回路21は、管理対象のNANDメモリ7の特性に合致した劣化判定処理を行うことができる。
全体制御部11は、上述した不使用ブロック判定機能を備えるため、劣化度合が故障NGと判定されたブロックを消去動作、書き込み動作及び読み出し動作の対象外とすることにより、使用不能なブロックを適切にアクセス対象から除外することができる。
<実施の形態2>
図10はこの発明の実施の形態2であるメモリシステム52の構成を示すブロック図である。同図に示すように、実施の形態2のメモリシステム52は、ホスト1、メモリコントローラ3及びNANDメモリ7により構成される。以下、実施の形態1と同様な構成部は同一符号を付して説明を適宜省略する。実施の形態2のメモリシステム52におけるNANDメモリ7はROM用途、すなわち、リフレッシュ時の書き込みが行われる程度の利用態様を想定している。
メモリコントローラ3は、実施の形態2のエラー訂正装置42を内蔵し、ホスト1の書き込み及び読み出し等の要求に応じて、NANDメモリ7に対して消去動作、書き込み動作及び読み出し動作を行う。
メモリコントローラ3はブロック管理部17、ホストI/F18、メモリ制御I/F19及びエラー訂正装置42を有している。エラー訂正装置42は内部に全体制御部12、劣化判定回路22、消去時間測定回路26、訂正回路31及び33、ブロック単位判定結果格納部36を有しており、NANDメモリ7に対するアクセス時におけるエラー訂正を行う。
全体制御部12(制御部)はNANDメモリ7に対する消去動作、書き込み動作及び読み出し動作を制御する消去機能、書き込み機能及び読み出し機能を有している。
劣化判定回路22は、測定消去時間TDに基づき、消去動作の対象ブロックにおける劣化度合を判定してブロック単位・セル劣化判定値JC(B)(セル劣化判定結果)を得る劣化判定処理を行う。
なお、上述したメモリコントローラ3の各部は、基本的にハードウェアで構成されるが、ブロック単位判定結果格納部36を除き、ソフトウェアに基づくCPUを用いたプログラム処理によって実行するようにしても良い。
図11は実施の形態2のエラー訂正装置42におけるブロック単位・セル劣化判定値JC(B)の判定条件並びにブロック単位・セル劣化判定値JC(B)に基づく書き込み動作及び読み出し動作時の使用条件を表形式で示す説明図である。
同図に示すように、ブロック単位・セル劣化判定値JC(B)は3つに分類(優良G1、劣悪B3、及び故障NG)されている。
以下、図11を参照して劣化判定回路22が測定消去時間TDを判定基準としたブロック単位・セル劣化判定値JC(B)の判定条件を説明する。
優良G1:測定消去時間TDが6ms、
劣悪B3:測定消去時間TDが6ms以上、8.5ms未満、
故障NG:測定消去時間TDが8.5ms以上の場合となる。
次に、図11を参照して、ブロック単位・セル劣化判定値JC(B)を判定基準とした書き込み動作及び読み出し動作の使用条件について説明する。なお、使用条件項目は実施の形態1と同様である。
優良G1:メモリセル扱いはMLCであり、エラー訂正能力は高速エラー訂正FastECC(図7参照)、
劣悪B3:メモリセル扱いはMLCであり、エラー訂正能力は高レベルエラー訂正HighECC(図7参照)、
故障NG:後天性不良ブロックとして未使用(消去動作、書き込み動作及び読み出し動作の対象ブロックから外す)とする。
なお、図11で示した判定条件は、図2で示した劣化評価試験に基づいているが、実施の形態1と同様、測定消去時間TDの時間閾値の設定は、完全には一致していない。
図12はエラー訂正装置42における主要部の情報の授受を示すブロック図である。以下、同図を参照して、実施の形態2のエラー訂正装置42によるブロック単位・セル劣化判定値JC(B)の判定動作を説明する。
消去時間測定回路26は消去動作の実行時における消去対象ブロックの消去時間を測定して測定消去時間TDをブロック単位に得て、測定消去時間TDを劣化判定回路22に出力する。
劣化判定回路22は、消去動作の実行後に測定消去時間TDに基づき、図11で示した判定条件に従い、ブロック単位・セル劣化判定値JC(B)を得る。このブロック単位・セル劣化判定値JC(B)はブロック単位判定結果格納部36に格納される。
全体制御部12の書き込み機能による書き込み動作は、以下のように行われる。まず、ブロック単位判定結果格納部36から書き込み対象ページが含まれるブロックのブロック単位・セル劣化判定値JC(B)を取得する。そして、全体制御部12は、取得したブロック単位・セル劣化判定値JC(B)に基づき、図11に示す使用条件に従い、エラー訂正能力を決定し、決定したエラー訂正能力に対応するエラー訂正符号を付加して書き込み対象ページにおける書き込み動作を実行する。
全体制御部12の読み出し機能による読み出し動作は、以下のように行われる。まず、ブロック単位判定結果格納部36から読み出し対象ページが含まれるブロックのブロック単位・セル劣化判定値JC(B)を取得する。そして、全体制御部12は、取得したブロック単位・セル劣化判定値JC(B)に基づき、図11に示す使用条件に従い、エラー訂正能力を決定し、決定したエラー訂正能力を用いて読み出し対象ページにおける読み出し動作を実行する。
また、全体制御部12は、ブロック単位・セル劣化判定値JC(B)が故障NG、すなわち、後天性不良ブロックであることを指示する場合、当該ブロック単位・セル劣化判定値JC(B)に対応するブロックにおける消去動作、書き込み動作及び読み出し動作を対象外として判定し、故障NGと判定されたブロックを指示する不使用ブロック情報S12aをブロック管理部17に出力する不使用ブロック判定機能をさらに備えている。
なお、ブロック管理部17は不使用ブロック情報S12aの指示内容に基づき、実施の形態1と同様、第1のブロック管理処理を実行する。
実施の形態2のエラー訂正装置42は劣化判定回路22により、測定消去時間TDに基づき、消去動作の対象ブロックにおける劣化度合を判定してブロック単位・セル劣化判定値JC(B)(セル劣化判定結果)を得るため、基準消去時間BDTを求め、さらに保持する処理が不要になる等、比較的簡単な判定処理によりブロック単位・セル劣化判定値JC(B)を得ることができる。
また、実施の形態2では書き込み時間情報JW(書き込み時間TW)を用いないため、書き込み時間TWの測定や書き込み時間TW1の格納部を不要にして、装置構成の簡略化を図ることができる。
その結果、全体制御部12は、ブロック単位・セル劣化判定値JC(B)に基づくエラー訂正符号を付加して書き込み動作を実行したり、ブロック単位・セル劣化判定値JC(B)に基づくエラー訂正能力を用いて読み出し動作を実行したりすることにより、書き込み動作及び読み出し動作に要する時間を必要最小限に抑えながら、書き込み動作及び読み出し動作時にエラーを発生させることなく、正確に実行することができる。
劣化判定回路22より得られるブロック単位・セル劣化判定値JC(B)は消去動作の実行単位であるブロック単位に分類して設定されるため、セルの劣化状態をブロック単位に正確に判定することができる。
また、図11に示すように、測定消去時間TDと予め準備した複数の比率閾値との比較処理により、ブロック単位・セル劣化判定値JC(B)を複数種に分類することができる。
全体制御部12は、上述した不使用ブロック判定機能を備えるため、実施の形態1と同様、使用不能なブロックを適切にアクセス対象から除外することができる。
<実施の形態3>
図13はこの発明の実施の形態3であるメモリシステム53の構成を示すブロック図である。同図に示すように、実施の形態3のメモリシステム53は、ホスト1、メモリコントローラ4及びNANDメモリ7により構成される。以下、実施の形態1と同様な構成部は同一符号を付して説明を適宜省略する。
メモリコントローラ4は、実施の形態3のエラー訂正装置43を内蔵し、ホスト1の書き込み及び読み出し等の要求に応じて、NANDメモリ7に対して消去動作、書き込み動作及び読み出し動作を行う。
メモリコントローラ4はブロック管理部17、ホストI/F18、メモリ制御I/F19及びエラー訂正装置43を有している。エラー訂正装置43は内部に全体制御部13、劣化判定回路23、書き込み時間測定回路25、消去時間測定回路26、訂正回路31〜33、書き込み結果格納部37及びページ単位判定結果格納部38を有しており、NANDメモリ7に対するアクセス時におけるエラー訂正を行う。
全体制御部13はNANDメモリ7に対する消去動作、書き込み動作及び読み出し動作を制御する消去機能、書き込み機能及び読み出し機能を有しており、さらに、書き込み動作後に実行する以下で述べる書き込み結果判定機能を有している。
すなわち、全体制御部13は書き込み結果判定機能により、測定書き込み時間TWの基準書き込み時間BWT1(BWT2)に対する上位(下位)書き込み時間比率情報JW1(JW2)(ページ単位書き込み情報)をページ単位に求め、ページ単位に求められる上位書き込み時間比率情報JW1及び下位書き込み時間比率情報JW2の組み合わせをページ単位・書き込み時間情報JW(P)として得る。
書き込み結果格納部37は、全体制御部13より得られるページ単位・書き込み時間情報JW(P)を格納する。
劣化判定回路23は、測定消去時間TDを用いて得られる消去時間比率情報(判定用消去情報)及びページ単位・書き込み時間情報JW(P)に基づき、消去動作の対象ブロックにおける劣化度合をページ単位で判定してページ単位・セル劣化判定値JC(P)(セル劣化判定結果)を得る劣化判定処理を行う。ただし、判定結果が不良B2以上の劣化度合、すなわち、不良B2、不良B1及び故障NGのいずれかである異常レベルの場合、異常レベルのページを含むブロックにおける全てのページを同一の異常レベルとする。異常レベルが重複した場合の優先順位は故障NG、不良B1及び不良B2の順となる。
ページ単位判定結果格納部38(劣化判定結果格納部)はページ単位・セル劣化判定値JC(P)を格納する。
なお、上述したメモリコントローラ4の各部は、基本的にハードウェアで構成されるが、HDD、DVD、メモリなどによって構成される書き込み結果格納部37,ページ単位判定結果格納部38を除き、ソフトウェアに基づくCPUを用いたプログラム処理によって実行するようにしても良い。
図14は実施の形態3のエラー訂正装置43におけるページ単位・セル劣化判定値JC(P)の判定条件並びにページ単位・セル劣化判定値JC(P)に基づく書き込み動作及び読み出し動作時の使用条件を表形式で示す説明図である。
同図に示すように、ページ単位・セル劣化判定値JC(P)は6つに分類(優良G1、健全G2、劣悪B3、不良B2、不良B1及び故障NG)されている。
以下、図14を参照して劣化判定回路23が消去時間比率情報DR、ページ単位・書き込み時間情報JW(P)により指示される上位書き込み時間比率情報JW1及び下位書き込み時間比率情報JW2を判定基準としたページ単位・セル劣化判定値JC(P)の判定内容を説明する。
優良G1:上位書き込み時間比率情報JW1が90%を超え、かつ、下位書き込み時間比率情報JW2が85%を超える、
健全G2:上位書き込み時間比率情報JW1が90%以下で、かつ、下位書き込み時間比率情報JW2が85%以下、
劣悪B3:上位書き込み時間比率情報JW1が85%以下で、かつ、下位書き込み時間比率情報JW2が80%以下、
不良B2:「消去時間比率情報DRが175%以上、上位書き込み時間比率情報JW1が80%以下、及び下位書き込み時間比率情報JW2が75%以下の条件を全て満たす場合」、あるいは、「消去時間比率情報DRが200%以上の場合」、
不良B1:消去時間比率情報DRが200%以上、上位書き込み時間比率情報JW1が80%以下、及び下位書き込み時間比率情報JW2が75%以下の条件を全て満たす場合、
故障NG:「消去時間比率情報DRが225%以上の場合」、あるいは、「上位書き込み時間比率情報JW1が75%以下、及び下位書き込み時間比率情報JW2が70%を共に満足する場合」となる。
なお、複数の判定条件を重複して満足する場合、故障NG、不良B1、不良B2、劣悪B3、健全G2及び優良G1の順に優先準位が設定される。
ただし、前述したように、不良B2以上の劣化度合(不良B2,不良B1及び故障NG)に関し、消去対象ブロック内の少なくとも一つのページで不良B2以上の劣化度合のページ単位・セル劣化判定値JC(P)が得られると、消去対象ブロック内の全ページのページ単位・セル劣化判定値JC(P)が共通に不良B2以上の劣化度合に設定される。すなわち、実施の形態3における不良B2以上の劣化度合の判定条件は実質的に実施の形態1の判定条件と同じになる。
図14に示すように、ページ単位・セル劣化判定値JC(P)による書き込み動作及び読み出し動作の使用条件は、判断基準がブロック単位・セル劣化判定値JC(B)からページ単位・セル劣化判定値JC(P)に置き換わった点を除き、図8で示した実施の形態の使用条件と同様である。
なお、図14で示した判定条件は、図2〜図5で示した劣化評価試験に基づいているが、実施の形態1と同様、消去時間比率情報DRと比較する比率閾値、上位書き込み時間比率情報JW1及び下位書き込み時間比率情報JW2と比較する比率閾値は必ずしも図2〜図5で示す内容と完全一致していない。
図15はエラー訂正装置43における主要部の情報の授受を示すブロック図である。以下、同図を参照して、実施の形態3のエラー訂正装置43によるページ単位・セル劣化判定値JC(P)の判定動作を説明する。
消去時間測定回路26は消去動作の実行時における消去対象ブロックの消去時間を測定して測定消去時間TDをブロック単位に得て、測定消去時間TDを劣化判定回路23に出力する。
一方、全体制御部13は、書き込み動作後に実行する以下で述べる書き込み結果判定機能をさらに有している。
すなわち、全体制御部13は、測定書き込み時間TWの基準書き込み時間BWT1(BWT2)に対する上位(下位)書き込み時間比率情報JW1(JW2)(ページ単位書き込み情報)をページ単位に求める。そして、上位書き込み時間比率情報JW1と下位書き込み時間比率情報JW2との組み合わせをページ単位・書き込み時間情報JW(P)とする書き込み結果判定機能を有している。
このページ単位・書き込み時間情報JW(P)が書き込み結果格納部37に格納される。
劣化判定回路23は、消去動作の実行後に測定消去時間TDの基準消去時間BDTに対する消去時間比率情報DRを求め、消去時間比率情報DRとページ単位・書き込み時間情報JW(P)とに基づき、図14で示した判定条件に従い、ページ単位・セル劣化判定値JC(P)をブロック単位(不良B2以上の劣化度合)あるいはページ単位(劣悪B3以下の劣化度合)に得る。このページ単位・セル劣化判定値JC(P)はページ単位判定結果格納部38に格納される。
全体制御部13の書き込み機能による書き込み動作は、以下のように行われる。まず、ページ単位判定結果格納部38から書き込み対象ページに合致する(に対応する)ページのページ単位・セル劣化判定値JC(P)を取得する。そして、全体制御部13は、取得したページ単位・セル劣化判定値JC(P)に基づき、図14に示す使用条件に従い、エラー訂正能力を決定し、決定したエラー訂正能力に対応するエラー訂正符号を付加して書き込み対象ページにおける書き込み動作を実行する。
全体制御部13の読み出し機能による読み出し動作は、以下のように行われる。まず、ページ単位判定結果格納部38から読み出し対象ページに合致するページのページ単位・セル劣化判定値JC(P)を取得する。そして、全体制御部13は、取得したページ単位・セル劣化判定値JC(P)に基づき、図14に示す使用条件に従い、エラー訂正能力を決定し、決定したエラー訂正能力を用いて読み出し対象ページにおける読み出し動作を実行する。
また、全体制御部13は、ページ単位・セル劣化判定値JC(P)が故障NG、すなわち、後天性不良ブロックであることを指示する場合、当該ページ単位・セル劣化判定値JC(P)に対応するブロックにおける消去動作、書き込み動作及び読み出し動作を対象外として判定し、故障NGと判定されたブロックを指示する不使用ブロック情報S13aをブロック管理部17に出力する不使用ブロック判定機能をさらに備えている。
なお、ブロック管理部17は不使用ブロック情報S13aの指示内容に基づき、実施の形態1と同様、第1のブロック管理処理を実行する。
また、全体制御部13は実施の形態1の全体制御部11と同様、初期動作時は「セルのMLC扱い」を指示するセル扱い情報S13bをブロック管理部17に出力し、不良B2,不良B1と判定した場合は、「セルのSLC扱い」を指示するセル扱い情報S13bをブロック管理部17に出力する。そして、ブロック管理部17はセル扱い情報S13bの指示内容に基づき、実施の形態1と同様、第2のブロック管理処理を実行する。
このような構成の実施の形態3のエラー訂正装置43は、実施の形態1のエラー訂正装置41と同様な効果を奏するとともに、以下で示す効果をさらに奏する。
劣化判定回路23は、消去対象ブロックにおける消去時間比率情報DR(判定用消去情報)と共に、上記消去対象ブロックに含まれる各ページのページ単位・書き込み時間情報JW(P)(ページ単位書き込み情報)に基づき、ページ単位に劣化判定処理を行い、ページ単位・セル劣化判定値JC(P)(セル劣化判定結果)はページ単位に分類して設定される。
すなわち、劣化判定処理に際し、消去時間比率情報DRは消去対象ブロック内の各ページで共通に用いられるが、ページ単位・書き込み時間情報JW(P)は消去対象ブロック内の各ページで独立して用いられることになる。
なお、実際にページ単位に劣化度合が判定されるのは優良G1,健全G2及び劣悪B3の3つであり、不良B2、不良B1及び故障NGに関しては前述したように同一ブロック内の全ページにおいて共通に判定される。
したがって、実施の形態3のエラー訂正装置43における劣化判定回路23は、消去対象ブロックにおける消去時間比率情報DRに加え、さらに、ブロック単位に比べより細分化された分類単位であるページ単位の情報であるページ単位・書き込み時間情報JW(P)に基づきページ単位に劣化判定処理を行うため、ページ毎の劣化偏りを踏まえて、セルの劣化状態をより一層正確に判定することができる。
<実施の形態4>
図16はこの発明の実施の形態4であるメモリシステム54の構成を示すブロック図である。同図に示すように、実施の形態4のメモリシステム54は、ホスト1、メモリコントローラ5及びNANDメモリ7により構成される。以下、実施の形態1と同様な構成部は同一符号を付して説明を適宜省略する。
メモリコントローラ5は、実施の形態4のエラー訂正装置44を内蔵し、ホスト1の書き込み及び読み出し等の要求に応じて、NANDメモリ7に対して消去動作、書き込み動作及び読み出し動作を行う。
メモリコントローラ5はブロック管理部17、ホストI/F18、メモリ制御I/F19及びエラー訂正装置44を有している。エラー訂正装置44は内部に全体制御部14、劣化判定回路24、書き込み時間測定回路25、消去時間測定回路26、訂正回路31〜33、書き込み結果格納部35、ブロック単位判定結果格納部36及びビットエラー結果格納部39を有しており、NANDメモリ7に対するアクセス時におけるエラー訂正を行う。
全体制御部14(制御部)はNANDメモリ7に対する消去動作、書き込み動作及び読み出し動作を制御する消去機能、書き込み機能及び読み出し機能を有している。
全体制御部14は、読み出し動作後に実行する以下で述べる読み出しエラー情報選択機能をさらに有している。
全体制御部14は、読み出し動作の実行後に読み出しエラーと判定した所定数のバイト当たりのビット数を指示するページ単位読み出しエラー情報を訂正回路31〜33のうち使用している訂正回路を介して取得する。そして、全体制御部14は、「同一ブロックにおいて、最も多いエラービット数を指示するページ単位読み出しエラー情報を選択する」とした選択基準(読み出し選択基準)に沿ってブロック単位・読み出しエラー情報JR(B)を選択する読み出しエラー情報選択機能を実行する。
すなわち、全体制御部14は読み出しエラー情報選択機能により、上記読み出し選択基準に沿って、同一ブロックに含まれる複数のページ単位読み出しエラー情報のうち、最大のエラービット数を指示する読み出しエラー情報を、ブロック単位・読み出し時間情報JR(B)として選択する。
ビットエラー結果格納部39(読み出しエラー情報格納部)は、全体制御部14の読み出しエラー情報選択機能により得られるブロック単位・読み出しエラー情報JR(B)を格納する。
劣化判定回路24は、測定消去時間TDを用いて得られる消去時間比率情報DR(判定用消去情報)、ブロック単位・書き込み時間情報JW(B)及びブロック単位・読み出しエラー情報JR(B)に基づき、消去動作の対象ブロックにおける劣化度合をブロック単位で判定してブロック単位・セル劣化判定値JC(B)(セル劣化判定結果)を得る劣化判定処理を行う。
なお、上述したメモリコントローラ5の各部は、基本的にハードウェアで構成されるが、HDD、DVD、メモリなどによって構成される書き込み結果格納部35,ブロック単位判定結果格納部36及びビットエラー結果格納部39を除き、ソフトウェアに基づくCPUを用いたプログラム処理によって実行するようにしても良い。
図17は実施の形態4のエラー訂正装置44におけるブロック単位・セル劣化判定値JC(B)の判定条件並びにブロック単位・セル劣化判定値JC(B)に基づく書き込み動作及び読み出し動作時の使用条件を表形式で示す説明図である。
同図に示すように、ブロック単位・セル劣化判定値JC(B)は6つに分類(優良G1、健全G2、劣悪B3、不良B2、不良B1及び故障NG)されている。
以下、図17を参照して劣化判定回路24が消去時間比率情報DR、ブロック単位・書き込み時間情報JW(B)により規定される上位書き込み時間比率情報JW1、下位書き込み時間比率情報JW2及びブロック単位・読み出しエラー情報JR(B)を判定基準としたブロック単位・セル劣化判定値JC(B)の判定内容を説明する。
優良G1:消去時間比率情報DRが150%未満、かつ、ブロック単位・読み出しエラー情報JR(B)が6ビット(bit)/528バイト(byte)未満
健全G2:「消去時間比率情報DRが150%未満、かつ、ブロック単位・読み出しエラー情報JR(B)が6ビット/528バイト以上」、あるいは、「消去時間比率情報DRが150%以上、かつ、ブロック単位・読み出しエラー情報JR(B)が18ビット/1080バイト未満」、
劣悪B3:「消去時間比率情報DRが150%以上、かつ、ブロック単位・読み出しエラー情報JR(B)が18ビット/1080バイト以上」、あるいは、「消去時間比率情報DRが165%以上、かつ、ブロック単位・読み出しエラー情報JR(B)が36ビット/1080バイト未満」、
不良B2:「消去時間比率情報DRが165%以上、かつ、ブロック単位・読み出しエラー情報JR(B)が36ビット/1080バイト以上」、「消去時間比率情報DRが175%以上、上位書き込み時間比率情報JW1が80%以下、及び下位書き込み時間比率情報JW2が75%以下の条件を全て満たす場合」、あるいは、「消去時間比率情報DRが200%以上、かつ、ブロック単位・読み出しエラー情報JR(B)が18ビット/1080バイト未満」、
不良B1:「消去時間比率情報DRが200%以上、かつ、ブロック単位・読み出しエラー情報JR(B)が18ビット/1080バイト未満」、あるいは、「消去時間比率情報DRが200%以上、上位書き込み時間比率情報JW1が80%以下、及び、下位書き込み時間比率情報JW2が75%以下の条件を全て満たす場合」、
故障NG:「消去時間比率情報DRが225%以上の場合」、あるいは、「上位書き込み時間比率情報JW1が75%以下、及び下位書き込み時間比率情報JW2が70%を共に満足する場合」となる。
なお、複数の判定条件を重複して満足する場合、故障NG、不良B1、不良B2、劣悪B3、健全G2及び優良G1の順に優先準位が設定される。
図17に示すように、ブロック単位・セル劣化判定値JC(B)による書き込み動作及び読み出し動作の使用条件の内容は、図8で示した実施の形態1と同様に行われる。
なお、図17で示した判定条件は、図2〜図5で示した劣化評価試験に基づいているが、実施の形態1と同様、消去時間比率情報DRと比較する比率閾値、上位書き込み時間比率情報JW1及び下位書き込み時間比率情報JW2と比較する比率閾値、及び、ブロック単位・読み出しエラー情報JR(B)と比較する比率閾値は図2〜図5で示す内容と必ずしも完全一致していない。
図18及び図19はエラー訂正装置44における主要部の情報の授受を示すブロック図である。以下、これら図を参照して、実施の形態4のエラー訂正装置44によるブロック単位・セル劣化判定値JC(B)の判定動作を説明する。
消去時間測定回路26は消去動作の実行時における消去対象ブロックの消去時間を測定して測定消去時間TDをブロック単位に得て、測定消去時間TDを劣化判定回路24に出力する。
一方、全体制御部14は、実施の形態1と同様、書き込み時間測定回路25によって得られた測定書き込み時間TW(TW1,TW2)に基づく書き込み結果判定機能をさらに有している。書き込み結果判定機能を実施して、実施の形態1と同様、ブロック単位・書き込み時間情報JW(B)を得る。
このブロック単位・書き込み時間情報JW(B)が書き込み結果格納部35に格納される。
一方、全体制御部14は、図19に示すように、上述した読み出しエラー情報選択機能を実施して、ブロック単位・読み出しエラー情報JR(B)を得る。すなわち、全体制御部14は、「同一ブロックにおいて、最も多いエラービット数を指示するページ単位読み出しエラー情報を選択する」とした読み出し選択基準に沿って、読み出しエラー情報選択機能の実施により、読み出しエラー情報JR(B)を選択する。
このブロック単位・読み出しエラー情報JR(B)は、ビットエラー結果格納部39に格納される。
図18に戻って、劣化判定回路24は、消去動作の実行後に測定消去時間TDの基準消去時間BDTに対する消去時間比率情報DRを求め、消去時間比率情報DRとブロック単位・書き込み時間情報JW(B)とブロック単位・読み出しエラー情報JR(B)とに基づき、図17で示した判定条件に従い、ブロック単位・セル劣化判定値JC(B)を得る。このブロック単位・セル劣化判定値JC(B)はブロック単位判定結果格納部36に格納される。
全体制御部14の書き込み機能による書き込み動作は、以下のように行われる。まず、ブロック単位判定結果格納部36から書き込み対象ページが含まれるブロックのブロック単位・セル劣化判定値JC(B)を取得する。そして、全体制御部14は、取得したブロック単位・セル劣化判定値JC(B)に基づき、図17に示す使用条件に従い、エラー訂正能力を決定し、決定したエラー訂正能力に対応するエラー訂正符号を付加して書き込み対象ページにおける書き込み動作を実行する。
全体制御部14の読み出し機能による読み出し動作は、以下のように行われる。まず、図19に示すように、ブロック単位判定結果格納部36から読み出し対象ページが含まれるブロック単位・セル劣化判定値JC(B)を取得する。そして、全体制御部14は、取得したブロック単位・セル劣化判定値JC(B)に基づき、図17に示す使用条件に従い、エラー訂正能力を決定し、決定したエラー訂正能力を用いて読み出し対象ページにおける読み出し動作を実行する。
また、全体制御部14は、ブロック単位・セル劣化判定値JC(B)が故障NG、すなわち、後天性不良ブロックであることを指示する場合、当該ブロック単位・セル劣化判定値JC(B)に対応するブロックにおける消去動作、書き込み動作及び読み出し動作を対象外として判定し、故障NGと判定されたブロックを指示する不使用ブロック情報S14aをブロック管理部17に出力する不使用ブロック判定機能をさらに備えている。
なお、ブロック管理部17は不使用ブロック情報S14aの指示内容に基づき、実施の形態と同様、第1のブロック管理処理を実行する。
また、全体制御部14は全体制御部11と同様、初期動作時は「セルのMLC扱い」を指示するセル扱い情報S14bをブロック管理部17に出力し、不良B2,不良B1と判定した場合は、「セルのSLC扱い」を指示するセル扱い情報S14bをブロック管理部17に出力する。そして、ブロック管理部17はセル扱い情報S14bの指示内容に基づき、実施の形態1と同様、第2のブロック管理処理を実行する。
このような構成の実施の形態4のエラー訂正装置44は、実施の形態1のエラー訂正装置41と同様な効果を奏するとともに、以下で示す効果をさらに奏する。
劣化判定回路24は、消去対象ブロックにおいて、消去時間比率情報DR(判定用消去情報)及びブロック単位・書き込み時間情報JW(B)に加え、さらに、ブロック単位・読み出しエラー情報JR(B)(読み出しエラー情報)に基づき劣化判定処理を行うため、セルの劣化状態をブロック単位により一層正確に判定することができる。
すなわち、実施の形態4は、読み出しエラー情報のみでReadDisturbによる一時的なビット化けであるのか、セルの劣化によるものかを正確に判定できない点を考慮し、消去時間比率情報DRやブロック単位・書き込み時間情報JW(B)との組み合わせにより劣化判定処理を行うことにより、正確なブロック単位・セル劣化判定値JC(B)を得ている。実施の形態4のエラー訂正装置44は、例えば、書き換えが行われる間に読み出し動作が行われる読み出し回数がある程度均一で、読み出し回数が限定される場合に特に有効となる。
<変形例>
(NANDメモリへのエラー訂正装置の内蔵)
実施の形態1〜実施の形態4において、エラー訂正装置41〜44をメモリコントローラ2〜5内に内蔵した構成を示したが、変形例として、エラー訂正装置41〜44をNANDメモリ7内に内蔵することにより、NANDメモリ7自体にエラー訂正能力を持たせた変形例が考えられる。以下、エラー訂正装置41〜44のうちエラー訂正装置41を代表させて説明する。
上記変形例として第1及び第2の態様が考えられる。第1の態様は、エラー訂正装置41と共にブロック管理部17も併せてNANDメモリ7内に内蔵する態様である。第2の態様は、ブロック管理部17はメモリコントローラ2内に残し、エラー訂正装置41をNANDメモリ7内に内蔵する態様である。
第2の態様の場合、エラー訂正装置41の全体制御部11とブロック管理部17との間の不使用ブロック情報S11a及びセル扱い情報S11bの情報転送は、メモリ制御I/F19を介したメモリコントローラ2,NANDメモリ7間で行われることになる。
(その他の変形例)
実施の形態1、実施の形態3及び実施の形態4では、基準消去時間BDTをブロック単位に独立して設定し、基準書き込み時間BWT(BWT1,BWT2)をページ単位に独立して設定していたが、ブロック間あるいはページ間で共通に設定しても良い。例えば、各ブロック中の全ページの書き込み時間の平均値を基準書き込み時間BWTとしたり、全ブロックの消去時間の平均値をNANDメモリ7に固有の基準消去時間BDTとしたりすることができる。また、ブロック間を跨がる全ページの書き込み時間の平均値をNANDメモリ7に固有の基準書き込み時間BWTとしても良い。
また、基準消去時間BDT及び基準書き込み時間BWTを消去回数に応じて変更する等、動的に変化させるようにして良い。
実施の形態1、実施の形態3及び実施の形態4では、セル劣化判定値JC(JC(B),JC(P))を求める判定基準の一つとして、書き込み時間情報JW(JW1,JW2)を用いているが、書き込み時間情報JWに替えて測定書き込み時間TW(TW1,TW2)自体を用いるようにしても良い。この際、測定書き込み時間TWと比較するためのセル劣化判定値JCの判定条件が設定されることになる。この場合、書き込み時間情報JWの算出用の基準書き込み時間BWTを求め、さらに保持する処理が不要になることにより、セル劣化判定値JCの判定処理の簡略化を図ることができる。
さらに、劣化判定回路21〜24の判定条件、及び全体制御部11〜14が書き込み動作及び読み出し動作の実行時におけるエラー訂正能力の使用条件も、NANDメモリ7の種別に応じて変更したり、消去回数等の経時変化に伴い動的に変化させたりする態様も考えられる。
また、実施の形態1、実施の形態2、実施の形態3及び実施の形態4では、SLCとして使用した時の基準書き込み時間BWTとして、MLCの下位ビットに対応づけた基準書き込み時間BWT2を使用したが、SLC使い時に対応づけた基準書き込み時間を別途設けて使用しても良い。
実施の形態1〜実施の形態4では、劣化によりビットエラーが発生するセルより構成されるメモリとして、NAND型セルより構成されるNANDメモリ7を示した。しかしながら、NANDメモリ7以外にも、NOR型セルより構成されるNORメモリ、FeRAM(Ferroelectric RAM)、MRAM(Magnetoresistive RAM)、ReRAM(Resistive RAM)、PCRAM(Phase Change RAM)等、劣化によりビットエラーが発生するセルより構成される他のメモリにおいても本発明を適用できることは勿論である。
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略したりすることが可能である。