(57)【特許請求の範囲】
【請求項１】
フラッシュメモリコントローラがフラッシュメモリに対してプログラムする過程において、一部の論理ページを選択的にスキップしてプログラムし、且つ異なる方向のＬＳＢページを選択的にスキップすることができ、
多層式記憶フラッシュメモリにおける物理ユニットのＭＳＢビットとＬＳＢビットがそれぞれＭＳＢページとＬＳＢページにマッピングされ、配置された論理ページの番号ｋに関して、
以下、ｋが偶数の場合、当該ページは奇数物理ページであって、
（ｉ）ｋが０の場合、当該奇数物理ページのＷＬ０のＭＳＢページに位置し、或いは、
（ｉｉ）ｋが２５４の場合、ＷＬ６３のＬＳＢページに位置し、或いは、
（ｉｉｉ）ｋが２５４でなく、４の倍数でない場合、ＷＬ［（ｋ＋２）／４］のＭＳＢページに位置し、或いは、
（ｉｖ）ｋが０でなく、４の倍数の場合、ＷＬ［（１／４）ｋ−１］のＬＳＢページに位置し、
以下、ｋが奇数の場合、当該ページは偶数物理ページであって、
（ｖ）ｋが１の場合、ＷＬ０のＭＳＢページに位置し、或いは
（ｖｉ）ｋが２５５の場合、ＷＬ６３のＬＳＢページに位置し、或いは
（ｖｉｉ）ｋが２５５でなく、ｋ−１が４の倍数でない場合、ＷＬ［（ｋ＋１）／４］のＭＳＢページに位置し、或いは
（ｖｉｉｉ）ｋが１でなく、ｋ−１が４の倍数の場合、ＷＬ［（１／４）（ｋ−１）−１］のＬＳＢページに位置する
という規則で番号が付与され、
プログラミング過程において多層式記憶フラッシュメモリの物理ページにおける水平方向の隣接する１組のＬＳＢページを選択的にスキップしてプログラムし、多層式記憶フラッシュメモリアレイの水平方向のプログラム回数を減少し、前記スキップされる論理ページの番号Ｎｐａｓｓが、
【数１】
0005999455.tif 000012
であり、
式中、ｉが自然数であり、且つ１≦ｉ≦６４であるプログラム方式１と、
プログラミング過程において多層式記憶フラッシュメモリの物理ページにおける対角方向に隣接する２組のＬＳＢページをスキップし、多層式記憶フラッシュメモリアレイの対角方向のプログラム回数を減少し、前記スキップされる論理ページの番号Ｎｐａｓｓが、
【数２】
0005999455.tif 000013
或いは、
【数３】
0005999455.tif 000014
であり、
式中、ｎが自然数であり、且つ１≦ｎ≦３１であるプログラム方式２と、
プログラミング過程において多層式記憶フラッシュメモリの物理ページにおける物理列を挟んでいる隣接する２組のＬＳＢページをスキップし、多層式記憶フラッシュメモリアレイの垂直方向のプログラム回数を減少し、前記スキップされる論理ページの番号Ｎｐａｓｓが、
【数４】
0005999455.tif 000015
式中、ｎが整数であり、且つ０≦ｎ≦３１であるプログラム方式３、
或いは、
【数５】
0005999455.tif 000016
式中、ｎが自然数であり、且つ１≦ｎ≦３１であるプログラム方式３、
の３種類のプログラム方式を少なくとも含むこと、および
多層式記憶フラッシュメモリが使用され始める時、正常なプログラム方式を採用し、即ち、プログラムする時に多層式記憶フラッシュメモリブロックにおける全ての論理ページに対して書き込み操作を行うとともに、使用過程におけるエラー数を監視する工程と、
当該ブロックは使用過程においてエラーが第一の閾値に到達した時、コントローラはプログラム方式１を採用して多層式記憶フラッシュメモリに対してプログラム操作を行うとともに、続いて多層式記憶フラッシュメモリのエラー数を監視する工程と、
次の使用過程において、当該ブロックは使用過程におけるエラーが増加して第二の閾値に到達した時、コントローラのプログラム方式がプログラム方式１からプログラム方式２に切り替えられるとともに、続いてフラッシュメモリのエラー状況を監視する工程を備えること、
を特徴とするフラッシュメモリコントローラにより操作が完成される多層式記憶フラッシュメモリアレイのプログラム方式。
【請求項２】
前記プログラム方式２に切り替え、続いて多層式記憶フラッシュメモリに対してプログラム操作を行う過程において、エラー数が続いて増加して第三の閾値に到達した時、コントローラはプログラム方式３を採用してプログラムし、即ち、最適な方式で多層式記憶フラッシュメモリに対して操作を行う工程
を更に備えることを特徴とする請求項１に記載の多層式記憶フラッシュメモリアレイプログラム方式の切替制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体記憶分野に関し、特に、ソリッドステートディスクコントローラ、フラッシュメモリコントローラ等のフラッシュメモリデバイスを記憶媒体とする場合に、多層式記憶フラッシュメモリデバイスの信頼性を向上させるプログラム方式に関する。
【背景技術】
【０００２】
単層式記憶フラッシュメモリと異なり、多層式記憶フラッシュメモリデバイスの記憶ユニットは、複数組の閾値電圧を設置することにより複数ビットの論理情報を保存でき、ハードウェア費用を増加せずに、フラッシュメモリデバイスの記憶容量を顕著に向上させることを実現する。多層式記憶フラッシュメモリデバイスは高集積度、低コストの優位性を有しているので、既にフラッシュメモリデバイスの主流になった。
【０００３】
図１に示すように、同一の記憶ユニットに複数ビットのデータを保存できるために、多層式記憶フラッシュメモリにおける記憶ユニットに対して複数回プログラムする必要がある。多層式記憶フラッシュメモリにおけるＭＳＢビットのみに対して書き込み操作を行う時、多層式記憶フラッシュメモリは直接に消去状態「Ｅ」から第二のプログラム状態「Ｄ２」に移行し、そのプログラムに要する時間は最も少ない。多層式記憶フラッシュメモリにおけるＬＳＢページに対して書き込み操作を行う時、多層式記憶フラッシュメモリは消去状態「Ｅ」から第一のプログラム状態「Ｄ１」に移行する。多層式記憶フラッシュメモリはＭＳＢとＬＳＢビットの状態を変更する必要がある時、プログラミング作業は二つの工程の操作により完成し、第一の工程は先ず消去状態「Ｅ」から第一のプログラム状態「Ｄ１」に移行し、第二の工程は更に第一のプログラム状態「Ｄ１」から第三のプログラム状態「Ｄ３」に移行する。
【０００４】
多層式記憶フラッシュメモリの内部のアレイ構造は図２に示す通りである。多層式記憶フラッシュメモリにおける物理ユニットのＭＳＢビットとＬＳＢビットはそれぞれＭＳＢページとＬＳＢページにマッピングする。ＷＬ０列における物理ユニットはそれぞれページ０、１、４及び５にマッピングする。式中、ページ０とページ１はＭＳＢページであり、ページ４とページ５はＬＳＢページである。ＷＬ１列における物理ユニットはそれぞれページ２、３、８及び９にマッピングし、式中、ページ２とページ３はＭＳＢページであり、ページ８とページ９はＬＳＢページである。このように順次類推すると、最後の列であるＷＬ６３で、ページ２５０とページ２５１はＭＳＢページであり、ページ２５４とページ２５５はＬＳＢページである。
【０００５】
４５ｎｍよりも小さいフラッシュメモリデバイスにおいて、ひどいフローティングゲート間の結合効果が存在している。図３に示すように、フラッシュメモリアレイにおけるある記憶ユニットのフローティングゲートの電圧変化は、周りの記憶ユニットのフローティングゲートの電圧を擾乱し、周りの記憶ユニットに保存されるデータを意外にフリップさせてしまった。
【０００６】
フラッシュメモリデバイスに存在しているこのようなフローティングゲート間の結合効果はフラッシュメモリに保存されるデータをひどく干渉する。特に、多層式記憶フラッシュメモリにとって、記憶ユニットに対して複数回プログラムする必要があるので、フローティングゲート間の結合効果による影響は更にひどくなる。多層式記憶フラッシュメモリの信頼性は伝統的な単層式記憶フラッシュメモリに遥かに及ばない。したがって、フラッシュメモリコントローラには、信頼性を増強する技術を採用して多層式記憶フラッシュメモリのエラー率を抑制し、デバイスの使用寿命を延長する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明が解決しようとする技術的課題は、多層式記憶フラッシュメモリの使用過程におけるエラー率を低減させ、デバイスの使用寿命を延長し、システム全体の信頼性を向上させる、多層式記憶フラッシュメモリデバイスの信頼性を向上させるプログラム方式を提供することである。
【課題を解決するための手段】
【０００８】
前記課題を解決するために、本発明が提出した多層式記憶フラッシュメモリデバイスの信頼性を向上させ、多層式記憶フラッシュメモリのエラー率を低減させる技術構想は、プログラミング過程においていくつかの特定の論理ページをスキップする方法により、フローティングゲート間の結合効果がフラッシュメモリの操作に対する影響を低減させることである。
【０００９】
前記技術構想に基づき、本発明は、フラッシュメモリコントローラがフラッシュメモリに対してプログラムする過程において、一部の論理ページを選択的にスキップしてプログラムし、且つ異なる方向のＬＳＢページを選択的にスキップすることができ、３種類のプログラム方式を少なくとも含むことを特徴とするフラッシュメモリコントローラにより操作が完成される多層式記憶フラッシュメモリアレイの３種類の具体的なプログラム方式を提出し、
プログラム方式１について、当該方法がプログラミング過程において選択されたスキップする論理ページの番号Ｎｐａｓｓは、
【００１０】
【数１】
0005999455.tif 000002
【００１１】
である。
【００１２】
式中、ｉは自然数であり、且つ１≦ｉ≦６４である。これらの論理ページをスキップすることにより、多層式記憶フラッシュメモリのプログラミング過程における水平方向のフローティングゲート間の結合効果を効果的に低減させることができ、エラー率を低減させる。
【００１３】
プログラム方式２について、プログラミング過程において選択されたスキップする論理ページの番号Ｎｐａｓｓは以下の規則を満たす：
【００１４】
【数２】
0005999455.tif 000003
【００１５】
或いは、
【００１６】
【数３】
0005999455.tif 000004
【００１７】
式中、ｎは自然数であり、且つ１≦ｎ≦３１である。
【００１８】
プログラム方式２はプログラム方式１を基礎として更に改善した方法である。プログラム方式２は、プログラミング過程において多層式記憶フラッシュメモリの物理ページにおける対角方向に隣接する２組のＬＳＢページをスキップすることを採用し、多層式記憶フラッシュメモリアレイの対角方向のプログラム回数を減少し、より低いエラー率を得られ、プログラミング過程におけるフラッシュメモリ記憶ユニットの間の干渉を低減させた。
【００１９】
プログラム方式３について、プログラミング過程において選択されたスキップする必要がある論理ページの番号Ｎｐａｓｓは：
【００２０】
【数４】
0005999455.tif 000005
【００２１】
或いは、
【００２２】
【数５】
0005999455.tif 000006
【００２３】
である。
【００２４】
式中、ｎは自然数であり、且つ０≦ｎ≦３１である。
【００２５】
プログラム方式３はプログラム方式２を基礎として改善し、記憶ユニットアレイにおける垂直方向の互いの干渉を減少したものである。プログラム方式３は、プログラミング過程において多層式記憶フラッシュメモリの物理ページにおける物理列を挟んでいる隣接する２組のＬＳＢページをスキップし、多層式記憶フラッシュメモリアレイの垂直方向のプログラム回数を減少し、より低いエラー率を得られ、プログラミング過程におけるフラッシュメモリ記憶ユニットの間の干渉を低減させた。
【００２６】
前記３種類の異なるプログラム方式はフラッシュメモリブロックのエラー率を顕著に低減させ、フラッシュメモリアレイの信頼性を向上させた。
【００２７】
フラッシュメモリデバイスの使用寿命を更に延長できるために、本発明は更に、
フラッシュメモリのエラー数によって、フラッシュメモリコントローラにおいて、第一の閾値、第二の閾値、第三の閾値という三つの段階の閾値を小さいほうから順に設定する工程と、
多層式記憶フラッシュメモリが使用され始める時、普通の正常なプログラム方式を採用し、即ち、プログラムする時に多層式記憶フラッシュメモリブロックにおける全ての論理ページに対して書き込み操作を行うとともに、使用過程におけるエラー数を監視する工程と、
当該ブロックは使用過程におけるエラーが第一の閾値に到達した時、コントローラはプログラム方式１を採用して多層式記憶フラッシュメモリに対してプログラム操作を行うとともに、続いて多層式記憶フラッシュメモリのエラー数を監視する工程と、
次の使用過程において、当該ブロックは使用過程におけるエラーが増加して第二の閾値に到達した時、コントローラのプログラム方式がプログラム方式１からプログラム方式２に切り替えられるとともに、続いてフラッシュメモリのエラー状況を監視する工程と、
エラー数が続いて増加して第三の閾値に到達した時、コントローラはプログラム方式３を採用してプログラムし、即ち、最適な方式で多層式記憶フラッシュメモリに対して操作を行う工程と、
を備える多層式記憶フラッシュメモリアレイプログラム方式の切替制御方法を提出する。
【００２８】
このような切替方式により、コントローラは各物理記憶ユニットのプログラム回数を平衡にするとともに、最も低いエラー率が得られ、容量とエラー率との間でバランスを取り、多層式記憶フラッシュメモリの使用寿命を効果的に延長できる。
【図面の簡単な説明】
【００２９】
以下、添付図面と具体的な実施態様を結合して本発明にかかる技術方案について更に具体的に説明する。
【図１】多層式記憶フラッシュメモリデバイスの状態転移図である。
【図２】多層式記憶フラッシュメモリデバイスの記憶アレイ図である。
【図３】多層式記憶フラッシュメモリデバイスのフローティングゲート間の結合効果である。
【図４】プログラム方式１のプログラム配列である。
【図５】プログラム方式２のプログラム配列である。
【図６】プログラム方式３のプログラム配列である。
【図７】プログラム方式１、２、３のプログラムページの比較図である。
【図８】プログラム方式１、２、３の実験テスト結果の比較図である。
【図９】多層式記憶フラッシュメモリデバイスのプログラム方式の切替制御フロー図である。
【発明を実施するための形態】
【００３０】
多層式記憶フラッシュメモリは、プログラミング過程において、全て物理ブロックを単位として行う。しかしながら、プログラミング過程において、物理ブロック内部の各ページの間でフローティングゲート間の結合効果が存在している。このようなフローティングゲート間の結合効果はそれぞれ記憶アレイにおける水平、対角及び垂直方向に隣接する記憶ユニットを干渉する。本発明は、フローティングゲート間の結合効果を効果的に低減させるために、３種類のプログラム方式を設計し、プログラミング過程において隣接する記憶ユニットの特殊なプログラムページをスキップする方式により、それぞれ水平、対角及び垂直方向のフローティングゲート間の結合効果を低減させ、それに、これを基礎として、多種類のプログラム方式の間で切り替える方式を採用して損失を均衡させ、フラッシュメモリデバイスの寿命を更に延長する。
【００３１】
プログラム方式１は、プログラミング過程において多層式記憶フラッシュメモリにおけるブロックのいくつかの論理ページを選択的にスキップし、水平方向のフローティングゲート間の結合効果を改善するものである。プログラム方式１の具体的なプログラム方式は図４に示す通りである。プログラムが開始した後、プログラム方式１は、先ずページ０、１、２、３に対して順次プログラムし、次に、ページ４をスキップし、また、ページ５、６、７に対してプログラムし、次に、ページ８をスキップし、また、ページ９、１０、１１に対してプログラムし、次に、ページ１２をスキップする。順次類推し、ブロックの末尾で、プログラム方式１はページ２４９、２５０、２５１に対してプログラムし、ページ２５２をスキップし、最後に、ページ２５３とページ２５５に対してプログラムし、ページ２５４をスキップし、多層式記憶フラッシュメモリに対してプログラムする過程全体を完成する。プログラム方式１において、スキップする必要がある論理ページの番号Ｎｐａｓｓは、
【００３２】
【数６】
0005999455.tif 000007
【００３３】
である。
【００３４】
式中、ｉは自然数であり、且つ１≦ｉ≦６４である。プログラム方式１は、これらのページをスキップすることにより、多層式記憶フラッシュメモリのプログラミング過程におけるフローティングゲート間の結合効果を効果的に低減させ、エラー率を低減させた。
【００３５】
プログラム方式２はプログラム方式１を基礎として更に改善したものである。プログラム方式２は主に多層式記憶フラッシュメモリの対角方向のプログラム回数を低減させることにより、より低いエラー率が得られるものであり、その具体的な過程は図５に示す通りである。プログラムが開始した後、プログラム方式２は先ずページ０、１、２、３に対して順次プログラムし、次に、ページ４をスキップし、また、ページ５、６、７、８に対してプログラムし、次に、ページ９をスキップし、また、ページ１０、１１に対してプログラムし、次に、ページ１２をスキップする。順次類推し、ブロックの末尾で、プログラム方式２は、ページ２４９、２５０、２５１に対してプログラムし、ページ２５２をスキップし、最後に、ページ２５３とページ２５４に対してプログラムし、ページ２５５をスキップし、多層式記憶フラッシュメモリに対してプログラムする過程全体を完成する。
【００３６】
プログラム方式２において、スキップする論理ページの番号Ｎｐａｓｓは以下の規則を満たす：
【００３７】
【数７】
0005999455.tif 000008
【００３８】
式中、ｎは自然数であり、且つ１≦ｎ≦３１である。
【００３９】
また、プログラム方式２には他の等価のプログラム順序が存在しており、即ち、スキップする論理ページの番号Ｎｐａｓｓは以下の規則を満たす：
【００４０】
【数８】
0005999455.tif 000009
【００４１】
式中、ｎは自然数であり、且つ１≦ｎ≦３１である。
【００４２】
方式２のプログラムによりプログラミング過程におけるフラッシュメモリ記憶ユニットの間の干渉を更に低減させた。
【００４３】
プログラム方式３はプログラム方式２を基礎として記憶ユニットアレイにおける垂直方向の互いの干渉を改善したものである。プログラム方式３の具体的なプログラム方式は図６に示す通りである。プログラムが開始した後、プログラム方式３は、先ずページ０、１、２、３に対して順次プログラムし、次に、ページ４、５をスキップし、また、ページ６、７、８、９、１０、１１に対してプログラムし、次に、ページ１２、１３をスキップする。順次類推し、ブロックの末尾で、プログラム方式３はページ２４９、２５０、２５１に対してプログラムし、ページ２５２、２５３をスキップし、最後に、ページ２５４とページ２５５に対してプログラムし、多層式記憶フラッシュメモリに対してプログラムする過程全体を完成する。プログラム方式３において、スキップする必要がある論理ページの番号Ｎｐａｓｓは、
【００４４】
【数９】
0005999455.tif 000010
【００４５】
である。
【００４６】
式中、ｎは自然数であり、且つ０≦ｎ≦３１である。
【００４７】
また、プログラム方式３には他の等価のプログラム順序が存在しており、即ち、スキップする論理ページの番号Ｎｐａｓｓは以下の規則を満たす：
【００４８】
【数１０】
0005999455.tif 000011
【００４９】
式中、ｎは自然数であり、且つ１≦ｎ≦３１である。
【００５０】
プログラム方式３は、これらのページをスキップすることにより、多層式記憶フラッシュメモリのプログラミング過程におけるフローティングゲート間の結合効果を更に効果的に低減させ、エラー率を低減させた。
【００５１】
以上のプログラム方式によりフラッシュメモリに対してプログラムした後、フラッシュメモリにおけるプログラムページは図７に示す通りである。プログラム方式１はフラッシュメモリブロックにおける同一の物理列における１組のＬＳＢページをスキップし、プログラム方式２はフラッシュメモリブロックにおける対角方向の２組のＬＳＢページをスキップし、プログラム方式３はフラッシュメモリブロックにおける物理列を挟んでいる隣接する２組のＬＳＢページをスキップする。
【００５２】
図８に示すように、これらの３種類の異なるプログラム方式はフラッシュメモリブロックのエラー率を顕著に改善した。３万回繰り返して消去や書き込みを行った後、正常な方式を採用してプログラムされたフラッシュメモリブロックのエラー率は最も高く、プログラム方式１を採用したフラッシュメモリブロックのエラー率は正常なプログラム方式より顕著に低く、プログラム方式２を採用したフラッシュメモリブロックのエラー率はプログラム方式１よりも低く、プログラム方式３を採用したフラッシュメモリブロックのエラー率は最も低い。
【００５３】
フラッシュメモリデバイスの使用寿命を更に延長できるために、本発明は多種類のプログラム方式の間で切り替える制御方法を採用し、フラッシュメモリデバイスの損失を均衡させ、その制御フローは図９に示す通りである。フラッシュメモリのエラー数によって、フラッシュメモリコントローラにおいて、第一の閾値、第二の閾値、第三の閾値という三つの段階の閾値を小さいほうから順に設定する。これらの３組の閾値の設定は、当業者が予めフラッシュメモリデバイスに対して圧力実験を行うことで、試験されたフラッシュメモリデバイスの寿命状況によって先験的に設定できる。例えば、第一の閾値はエラー率が２．５×１０−５に到達するところに設定され、第二の閾値はエラー率が５×１０−５に到達するところに設定され、第三の閾値はエラー率が８×１０−５に到達するところに設定される。多層式記憶フラッシュメモリが使用され始める時、正常なプログラム方式を採用し、即ち、プログラムする時に多層式記憶フラッシュメモリブロックにおける全ての論理ページに対して書き込み操作を行うとともに、使用過程におけるエラー数を監視する。当該ブロックは使用過程におけるエラーが第一の閾値に到達した時、コントローラはプログラム方式１を採用して多層式記憶フラッシュメモリに対してプログラム操作を行うとともに、続いて多層式記憶フラッシュメモリのエラー数を監視する。次の使用過程において、当該ブロックは使用過程におけるエラーが第二の閾値に到達した時、コントローラのプログラム方式がプログラム方式１からプログラム方式２に切り替えられるとともに、続いてフラッシュメモリのエラー状況を監視する。エラー数が続いて増加して第三の閾値に到達した時、コントローラはプログラム方式３を採用してプログラムし、即ち、最適な方式で多層式記憶フラッシュメモリに対して操作を行う。このような切替方式により、コントローラは各物理記憶ユニットのプログラム回数を平衡にするとともに、最も低いエラー率が得られ、容量とエラー率との間でバランスを取り、多層式記憶フラッシュメモリの使用寿命を効果的に延長できる。
【００５４】
最後に説明すべきことに、以上の具体的な実施態様は本発明の技術方案を説明するためのものに過ぎず、本発明を制限するものではない。好ましい実施例を参照して本発明について詳細に説明したが、本発明の属する技術の分野における普通の技術者は、本発明の技術方案の精神と範囲を逸脱しない限り、本発明の技術方案に対して変更又は同等な置換をすることが可能であり、それらが本発明の特許請求の範囲内に含まれるべきであることを理解すべきである。
【図１】
0005999455.tif 000017
【図４】
0005999455.tif 000018
【図５】
0005999455.tif 000019
【図６】
0005999455.tif 000020
【図２】
0005999455.tif 000021
【図３】
0005999455.tif 000022
【図７】
0005999455.tif 000023
【図８】
0005999455.tif 000024
【図９】
0005999455.tif 000025