(57)【要約】  マルチレベルセルフラッシュメモリデバイスにおけるページベースの格納データの２次元セルフＲＡＩＤ保護方法。  保護方式は、各データページに渡って一つのパリティセクタを予約すること、列パリティのような一つのパリティページを予約すること、パリティグループを形成するための特定のページ数を選択すること、パリティグループに属するページに格納されたデータに対するグループパリティ値を前記パリティページに書き込むことを含む。  パリティセクタは、第１の次元のＲＡＩＤ技術の適用を表わす。  グループパリティは、第２の次元のＲＡＩＤ技術の適用を表わす。  データ保護は、破壊されたデータセクタを２次元のＲＡＩＤデータによって回復することができるので達成される。【選択図】図１４
2013522776.tif 000002
【特許請求の範囲】
【請求項１】
複数のページを有するブロックを含むように論理的に構成されたマルチレベルセルフラッシュメモリの管理方法であって、各ページが複数のセクタを含み、
（ａ）  各ページにパリティセクタを選択し、
（ｂ）  前記ブロックに属するページを１またはそれ以上のグループに割り当て、各グループにパリティページを選び、
（ｃ）  各ページに対して、前記ページのセクタに格納されたデータに対するセクタパリティ値を算出し、前記セクタパリティ値を前記ページのパリティセクタに格納し、
（ｄ）  前記グループの前記ページに格納されたデータのグループパリティ値を算出し、前記パリティページに前記グループパリティ値を格納する、
ステップを有することを特徴とする管理方法。
【請求項２】
さらに、
（ｅ）  各グループに対して、ステップ（ｃ）および（ｄ）を繰り返すことを特徴とする請求項１に記載のフラッシュメモリの管理方法。
【請求項３】
前記各ページのセクタにそれぞれセクタ番号が割り当てられており、さらに、
（ｆ）  列パリティページを選択し、前記ブロックに属する前記ページの前記セクタ番号を有する全てのセクタに対する列パリティを前記各セクタ番号に対して算出することを特徴とする請求項２に記載のフラッシュメモリの管理方法。
【請求項４】
各マルチレベルセルは、前記ブロックの少なくとも２つのページによって共有されていることを特徴とする請求項１に記載のフラッシュメモリの管理方法。
【請求項５】
各グループは８ページからなることを特徴とする請求項１に記載のフラッシュメモリの管理方法。
【請求項６】
各マルチレベルセルを共有する前記ページは、異なるグループに割り当てられることを特徴とする請求項４に記載のフラッシュメモリの管理方法。
【請求項７】
前記グループはそれぞれグループ番号を割り当てられており、ページを共有するマルチレベルセルは、連続するグループ番号を割り当てられることを特徴とする請求項６に記載のフラッシュメモリの管理方法。
【請求項８】
１またはそれ以上の前記グループは、前記ブロックの残余の前記グループのそれぞれに割り当てるように、半分の数のページに割り当てられることを特徴とする請求項７に記載のフラッシュメモリの管理方法。
【請求項９】
それぞれ複数のページを有する１またはそれ以上のブロックにおいて論理的に構成されたマルチレベルセルフラッシュメモリの管理方法であって、それぞれのページが複数のセクタを含み、
（ａ）  前記ブロックからパリティブロックを選び、
（ｂ）  各ページにパリティセクタを選択し、
（ｃ）  前記ブロックに属するページを複数のグループに割り当て、
（ｄ）  各ページに対して、各ページのセクタに格納されたデータに対するセクタパリティ値を算出し、前記パリティセクタ内に前記セクタパリティ値を格納し、
（ｅ）  グループに属する全てのページへのデータ書き込みに先だって、前記グループに属するページのサブセットに対するサブセットグループパリティを算出し、
（ｆ）  前記パリティブロック内に前記サブセットグループパリティを格納する、
ステップを有することを特徴とする管理方法。
【請求項１０】
さらに、
（ｈ）  ステップ（ｄ）からステップ（ｆ）を繰り返す、ことを特徴とする請求項９に記載のフラッシュメモリの管理方法。
【請求項１１】
前記各ページのセクタのそれぞれにセクタ番号が割り当てられており、さらに、
（ｆ）  列パリティページを選択し、前記ブロックに属する前記ページの前記セクタ番号を有する全てのセクタに対する列パリティを前記各セクタ番号に対して算出することを特徴とする請求項９に記載のフラッシュメモリの管理方法。
【請求項１２】
各グループは８ページからなることを特徴とする請求項９に記載のフラッシュメモリの管理方法。
【請求項１３】
各マルチレベルセルは、同一グループの２ページによって共有されていることを特徴とする請求項９に記載のフラッシュメモリの管理方法。
【請求項１４】
前記パリティブロックは、前記フラッシュメモリの外側に存在することを特徴とする請求項９に記載のフラッシュメモリの管理方法。
【請求項１５】
前記パリティブロックは、不揮発性メモリの外側に存在することを特徴とする請求項９に記載のフラッシュメモリの管理方法。
【請求項１６】
前記パリティブロックに書き込まれたグループの前記サブセットグループパリティは、前記グループのページにデータが完全に書き込まれた後で消去されることを特徴とする請求項９に記載のフラッシュメモリの管理方法。
【請求項１７】
前記パリティブロックに書き込まれたグループの前記サブセットグループパリティは、前記グループのページにデータが完全に書き込まれた後でセーブされることを特徴とする請求項９に記載のフラッシュメモリの管理方法。
【請求項１８】
前記サブセットグループパリティは、前記グループの半分のページのデータから算出されることを特徴とする請求項９に記載のフラッシュメモリの管理方法。
【請求項１９】
請求項１に記載の方法によって動作可能なフラッシュメモリデータ記憶システム。
【請求項２０】
請求項９に記載の方法によって動作可能なフラッシュメモリデータ記憶システム。
【請求項２１】
それぞれ複数のページを有するブロックにおいて論理的に構成されたマルチレベルセルフラッシュメモリの管理方法であって、それぞれのページが０から連続的に番号付けされた複数のセクタを含み、
（ａ）  予め決定された速度でページ上にデータを書き込みおよび消去し、
（ｂ）  ブロックの各ページに対する誤り率を検出し、前記誤り率に基づいて高い誤りページのグループを識別し、そして
（ｃ）  前記予め決定された速度よりも遅い速度で前記識別した高い誤りページのデータの書き込みおよび消去を行なう、
ことを特徴とする管理方法。
【請求項２２】
検出回路を含むマルチレベルセルフラッシュメモリの管理方法であって、
（ａ）  第１の検出電圧を用いて、マルチレベルセルの電荷レベルを検出し、それぞれ
の前記マルチレベルセルのそれぞれの電荷レベルと前記第１の検出電圧との間の第１の相関表を編集し、
（ｂ）  前記第１の検出電圧よりも低い第２の検出電圧を選択し、前記第２の検出電圧を用いて前記マルチレベルセルの電荷レベルを検出し、それぞれの前記マルチレベルセルのそれぞれの電荷レベルと前記第２の検出電圧との間の第２の相関表を編集し、
（ｃ）前記第１の相間表を前記第２の相間表に置き換える、
ことを特徴とする管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２０１０年３月１７日に出願された米国特許出願番号１２／７２６，２００に関連しており、その優先権を主張している。
【０００２】
本明細書に記載の発明は、半導体フラッシュメモリにおけるデータ記憶管理に関し、特に、万一の電源遮断時にマルチレベルセル（ＭＬＣ）メモリデバイスにおけるデータの破損を防止するためのデータ記憶保護方法に関する。
【背景技術】
【０００３】
現在の業務レベルにおける大容量記憶装置は、典型的には３．５インチ方式で１５，０００回転／分のスピンドルモータを有し、記憶容量が７３ギガバイト（ＧＢ）および４５０ギガバイトの間で特徴づけられるハードディスクドライブ（hard drives）に依存して
いる。機械設計は、単一のアクチュエータおよび８つの表面を横切って移動する８つの読み取り／書き込みヘッドを有する伝統的なハードディスクドライブに従っている。ヘッド／メディア技術の制約は、一度に一つの作動中のヘッドの使用しかできないという読み取り／書き込み能力で制限されることである。駆動部（drive）に送信される全てのデータ
要求が、作動の間に長い遅延を伴うシリアルの方法で処理されるからである。つまり、アクチュエータが要求された位置に読み取り／書き込みヘッドを動かすため、および、メディアが読み取り／書き込みヘッドの下にデータを位置させるために回転するための長い遅延が伴う。
【０００４】
固体メモリデバイスは、業務用における大容量記憶環境で魅力的である。この環境においてフラッシュメモリは、ハードディスクドライブに関連する機械的な遅延がないので、より高い性能の割により低いコスト、および消費電力とスペースのより良い利用を許容しており、種々の固体メモリデバイスの中で良い候補である。
【０００５】
フラッシュメモリは、例えばＥＥＰＲＯＭ（電気的消去可能プログラマブル読み出し専用メモリ）のように、不揮発性メモリの形態である。フラッシュメモリアレイのメモリセルは、一般的に、基板内に形成された制御ゲート、ドレイン、およびソース拡散領域を有するトランジスタを含む。トランジスタは、このように電子記憶デバイスを形成しており、制御ゲートの下にフローティングゲートを有する。チャネル領域はフローティングゲートの下に位置しており、絶縁層（例えば、トンネル酸化膜）によってチャネルとフローティングゲートとの間が絶縁されている。フローティングゲートの内外への電荷担体の動きに逆らって絶縁層にかかるエネルギー障壁は、絶縁層を横切る充分に高い電界の印加によって乗り越えることができる。フローティングゲートに蓄積された電荷は、セルに格納されたデータを表わすセルのしきい値電圧（Ｖｔ）を決定する。フローティングゲートに蓄積された電荷は、セルにより高いしきい値電圧をもたらす。セルのしきい値電圧をより高い値か低い値かに変化させるために、フローティングゲートに蓄積された電荷は、適切な電圧を制御ゲート、ドレイン、ソース拡散領域およびチャネル領域に印加することにより、増加または減少される。適切な電圧は、これらの領域の一つまたはそれ以上と、絶縁層を介したフローティングゲートとの間の電荷の移動を生じさせる。
【０００６】
シングルレベルセル（ＳＬＣ）フラッシュメモリデバイスは、単一のしきい値電圧Ｖｔを有しており、セル当たり１ビットのデータを格納することができる。マルチレベルセル（ＭＬＣ）フラッシュメモリデバイスは、複数のしきい値電圧を有しており、フローティングゲートに蓄積された電荷量に応じて１ビットより多くのデータを表わすことができる
。マルチレベルセルフラッシュメモリデバイスは、セルごとに複数データビットの格納ができるため、高密度大容量記憶装置用途（５１２メガビット（Ｍｂ）およびそれ以上）が容易に達成可能である。典型的な４レベルの２ビットマルチレベルセルフラッシュメモリデバイスは、セルのしきい値電圧Ｖｔをデータ「００」、「０１」、「１０」、「１１」の４つのいずれかを表わすために設定することができる。メモリセルを所定のレベルに書き込むことにより（to program）、セルには複数回の書き込みがされることがある。各書き込みの前に、フラッシュメモリアレイは、アレイ中の全てのセルをデフォルト状態にリセットするために消去される。結果として、同じセルおよびそれらの電子状態（従って、それらのしきい値電圧Ｖｔの状態）を共有する複数のデータビットは、予期しない電源遮断が予測できない結果を引き起こしうるという点で相互依存している。メモリセルの電子状態の変動は、また、実システムにおけるしきい値電圧の範囲内における変動を引き起こす。次の表１に２ビットマルチレベルセルのしきい値電圧範囲および電子状態を示す。
【０００７】
【表１】
2013522776.tif 000003
【０００８】
シングルレベルセルを超えるマルチレベルセルの長所にも関わらず、マルチレベルセルフラッシュメモリデバイスはデータの破損を最も深刻な課題の一つとする、いくつかの技術的な制約のため、従来から使用されていない。
【０００９】
全てのフラッシュメモリは、有限数の消去−書き込みサイクルを有する。マルチレベルセルフラッシュメモリデバイスは、シングルレベルセルフラッシュメモリデバイスに比べて、データの破損においてより脆弱である。それぞれのフラッシュメモリのページに対する典型的な消去サイクル限界は、シングルレベルセルフラッシュメモリデバイスでは典型的に約１０万サイクルであり、マルチレベルセルフラッシュメモリデバイスでは、約１万サイクルである。マルチレベルセルフラッシュメモリデバイスのより低いサイクル限界は、予測できないデータストリーム（data streams）を伴って稼働するデータセンタにとって特有の問題をもたらす。予測できないデータストリームは、消去サイクルを多数受けているメモリの高頻度使用領域に結果として「ホットスポット」を引き起こす。
【００１０】
加えて、通常の正規の種々の動作においても、読み取り妨害または書き込み妨害を含めたフラッシュメモリの整合性に影響を与える。これらの妨害は、結果として、妨害されたセルの近傍の読み取りまたは書き込みメモリセルのメモリセル内のデータビットの予測不可能な損失につながる。予期しない電源遮断によるマルチレベルセルフラッシュメモリデバイス内の突然のデータ損失は、頻繁にデータの回復を必要とする。いくつかのデータレベルを達成するために一つ以上の書き込み動作を必要とし、および、データの１ビット以上を同じメモリセルで共有しているため、書き込み動作中における電源変動や書き込みエラー（program error）は、誤った状態でデータを残す。電源が回復したときに、メモリ
セルは、不安定な状態になりうる。従って、電源遮断は、マルチレベルセルフラッシュメモリデバイスに格納されたデータの整合性に対する主要なリスクである。
【００１１】
フラッシュメディアは、典型的に「ページ」と呼ばれる単位で書き込みされる。各ページは、典型的に２０００バイトから８０００バイトの間のデータサイズを含む。フラッシュメディアは、典型的に「ブロック」と呼ばれる単位で消去される。各ブロックは、典型的に１６〜６４ページを含む。マルチレベルセルフラッシュメモリデバイスのページは、対になったページに組み合わされている。対になったページの数は、２ビットマルチレベルセルに対しては２つであり、より高いビットを有するマルチレベルセルに対しては、３から４、またはそれ以上であろう。対になったページは、共有されたマルチレベルセルフラッシュメモリセルに存在することができる。仮に、電源障害が、マルチレベルセルのフラッシュメディアの内容を変更する動作中に生じた場合（例えば、データのページを書き込みしている途中、または、データのブロックを消去している途中）、中断されたページまたはブロックの電気的状態は、デバイスの電源再投入後においては予測できない。電気的状態はでたらめにさえなり得る。なぜならば、影響を受けたビットのいくつかは、動作によってそれらに割り当てられた状態にすでになっているからである。しかしながら、他のビットは遅れており、未だそれらの目標値に到達していない。その上、いくつかのビットは中間状態に捉えられているかもしれず、これは信頼できないモードであり、それらのビットを読み取ると異なる読み取りに対して異なる結果が返ってくることになる。従って、あるページの書き込み中の電源喪失は、対になったページを破損することがある。
【００１２】
先行技術において、誤り訂正符号（ＥＣＣ）および安価なディスクの冗長アレイ（ＲＡＩＤ）技術は、データの破損を軽減するために用いられている。一例では、データの破損は、異なる別のページアドレスにパリティページを書き込むことによって防止される。これらの技術は、追加のメモリ、または電源が回復した後の複雑な誤り探索および再構築手順、のいずれかを必要とする。このような要求または解決策は、実装するための工程および場所を高価にし、および、通常、単一のプロセッサだけを含む従来のフラッシュメモリコントローラの処理能力を大きく制約する。その上、仮にページの書き込み中に電源障害が発生したら、対になったページのデータは、マルチレベルセルフラッシュメモリデバイス内で破損しうる。従って、従来の対になったページ技術でさえも、突然の電源遮断には影響されやすい。事実、破損可能性の深刻さは高い。いくつかの事例では、１０回ごとにデータビットが失われる可能性がある。信頼性のあるマルチレベルセルフラッシュメモリシステムを作成するために従来のＥＣＣ技術に頼ることは、実装上、実用的ではない。
【００１３】
ナンド（NAND）フラッシュメモリのデータ破損は、また、書き込み消去サイクルの摩耗に起因する。電子は、薄い酸化絶縁膜を通ってトンネリングにより注入され除去される。繰り返される書き込み／消去サイクルは、酸化物を損傷し、その有効性を減らす。デバイス寸法（例えば、酸化膜の厚さ）の縮小につれて、デバイスの摩耗によるデータの整合性問題はより深刻になりうる。この摩耗過程に影響を与える一つの要素は、書き込みおよび消去サイクルが行われる際のスピードである。しかしながら、仮に、摩耗を避けるために書き込みおよび消去サイクルのスピードを遅くすると、総合的な性能に重大な影響を及ぼす。
【００１４】
現在、メモリデバイスの寿命を延ばす目的でフラッシュメモリの電荷状態を測定するために、より低い検出電圧（sense voltage）を印加する技術がある。フラッシュメモリデ
バイスは、セルが指定された電荷（charge）レベルを含んでいるかどうかを検出する検出回路（sense circuits）を使用する電荷トラップデバイスである。しかしながら、デバイスが摩耗するにつれて、その電荷を蓄積する能力が弱体化してくる。摩耗したメモリデバイスは、フローティングゲート上に蓄積された電荷をリークさせる。その結果、検出回路は、デバイスから減少された電圧を検出する。現在の一復旧メカニズムは、セルが含んで
いる論理値を決定するために用いられている検出電圧を減少する。しかしながら、より低い検出電圧は、また、より低い感知電圧となり、その結果、誤った電荷探知（tracking）になる。
【発明の概要】
【００１５】
（発明の要約）
本発明は、マルチレベルセルフラッシュメモリデバイスにおいて、電源喪失に対して、ページに基づいた格納データを保護するための２次元のセルフ−ＲＡＩＤ法を提供する。この方法はＲＡＩＤ（「第１の次元のＲＡＩＤ」）技術の適用下における各データページ内のパリティセクタ（parity sector）を予約しておくことを含み、これにより、予め決
定されたページの数を含むパリティグループを形成する。および、前記方法は、ＲＡＩＤの第２の適用下（第２の次元のＲＡＩＤ）における全てのそれ以降のデータページに対するパリティグループ分けを繰り返すことを含む。従って、もし、それ以降の書き込みが対になったページで破損した場合には、喪失したデータは、２次元のＲＡＩＤデータを用いて回復することができる。
【００１６】
本発明における第１の次元のパリティは、データページに関連付けられている。このページ内の一つのセクタは、第１の次元のＲＡＩＤデータのために予約されている。このパリティセクタは、セクタのＥＣＣ能力の範囲において任意の一つのセクタの回復を許容する。ＲＡＩＤデータのこのレベルは、コントローラがチップバッファにデータを転送するときにおける使用可能なデータから算出することができる。
【００１７】
本発明における第２の次元のパリティは、予め決定された数のページにおけるセクタの列に渡って算出される。特定のページ数が注意深く選択されたとき、対になったページの欠陥を回復できる。
【００１８】
電源遮断に対する完全なデータ保護が達成される。なぜならば、任意の破損したデータセクタは、ページセクタパリティの範囲内から、または横断セクタページパリティからのＲＡＩＤデータによって回復することができるからである。
【００１９】
本発明は、万一電源喪失が発生した場合における、書き込み中のページに基づいた（page-based）フラッシュメモリの整合性を維持する方法を提供する。本発明は、マルチレベルセル（ＭＬＣ）を有するフラッシュメモリを管理するために用いることができる。
【００２０】
本発明の１実施態様によれば、多数のメモリページを含むマルチレベルセルフラッシュメモリのデータを保護するための方法が提供される。マルチレベルセルフラッシュメモリの管理方法は、複数のページを含み、各ページは複数の連続番号を有するセクタを含み、この方法は、以下を有する。
（ａ）  各ページにパリティセクタとしてのセクタを選択し；
（ｂ）  各ページにデータを書き込み、各ページにおける前記パリティセクタのパリティ値を算出し、前記パリティ値を予約したパリティセクタに格納し；
（ｃ）  データページを複数のグループに分割し、但し、各グループは、最初のグループと最後のグループを除いて、第１の予め決定されたページ数で構成され；
（ｄ）  各グループにグループパリティページとしてのページを予約するとともに前記グループの各ページにデータを書き込み、前記グループのパリティ値を算出するとともに前記パリティ値を予約したグループパリティページに格納し；
（ｅ）  各グループに対して（ａ）から（ｄ）までを繰り返し；
（ｆ）  同一のセクタ番号を共有する全てのセクタの列パリティを格納するための新しいページを予約する。
【００２１】
本発明の別の実施態様によれば、多数のメモリページを含むマルチレベルセルフラッシュメモリのデータを保護するための方法が提供される。マルチレベルセルフラッシュメモリの管理方法は、複数のページを含み、各ページは複数の連続番号を有するセクタを含み、前記方法は、以下を含む。
（ａ）  パリティブロックを予約し；
（ｂ）  各ページにパリティセクタとしてのセクタを選択し；
（ｃ）  各ページにデータを書き込み、各ページにおける前記セクタのパリティ値を算出し、前記パリティ値を選択したパリティセクタに格納し；
（ｄ）  データページを複数のグループに分割し、但し、各グループは、最初のグループと最後のグループを除いて、第２の予め決定された数のページで構成され；
（ｅ）  グループのサブセットのページにデータを書き込み、前記サブセットのグループパリティを算出し；
（ｆ）  前記サブセットのグループパリティ値を前記予約したパリティブロックに格納し；
（ｇ）  前記グループの残っているページにデータを書き込み；
（ｈ）（ｂ）から（ｇ）までを繰り返し；
（ｌ）  異なるページに存在するものを除いて同一のセクタ番号を共有する全てのセクタの列パリティを格納するための新しいページを予約する。
【００２２】
本発明によれば、上記方法が実施できるデータ記憶システムが提供される。
【００２３】
本発明によれば、選択された弱いセル上での書き込みおよび消去時間を延長することによって、デバイスの摩耗に起因するデータ破損を減少するための方法が提供される。弱いセルは、それらが発生する誤りの割合によって識別される。そして、前記弱いセルに関連付けられたブロックおよびページは、他のセルよりも遅い速度で書き込まれ、消去されることができる。他のより堅固なブロックと異なるように、より弱いブロックを追跡し、それらを扱うことにより、耐久性を高めることができる。なぜならば、より遅い書き込みおよび消去工程は、少ししかない弱いブロックで行なわれるので、総合的な性能は著しく弱体化することはない。
多数のメモリページを有するマルチレベルセルフラッシュメモリを管理するための方法であって、前記方法は、以下を含む。
（ａ）  予め決定された速度でページ上にデータを書き込みおよび消去し；
（ｂ）  各ページに対する誤り率を検出し、予め決定された値を超える誤り率に関連するページを識別し；
（ｃ）  前記検出した高い誤りページの書き込みおよび消去を前記予め決定された速度よりも遅い速度に設定する。
【００２４】
本発明の別の実施態様によれば、電荷レベルのシフトにより引き起こされるリークを克服するための方法が提供される。検出回路を含むマルチレベルセルフラッシュメモリを管理するための方法であって、前記方法は、以下を含む。
（ａ）  検出電圧を選択し；
（ｂ）  マルチレベルセルフラッシュメモリのメモリセルの電荷レベルを前記選択された検出電圧で検出し、予め決定された検出電圧と前記検出された電荷レベルとを相互に関係づける第１の表を作成し；
（ｃ）前記検出電圧を下げ、マルチレベルセルフラッシュメモリのメモリセルの電荷レベルを前記下げた検出電圧を用いて検出し、前記下げた検出電圧と前記検出された電荷レベルとを相互に関係づける第２の表を作成し；
（ｄ）前記第１の表を前記第２の表に置き換える。
【００２５】
本発明は、以下の詳細な説明を添付図面と共に考慮することにより良く理解される。
【図面の簡単な説明】
【００２６】
図面の説明。
【００２７】
【図１】不揮発性データ記憶装置のためのフラッシュメディアを使用するデバイスコントローラの概略ブロック図を示す。
【００２８】
【図２】フラッシュメモリデバイスの断面図である。
【００２９】
【図３】マルチレベルフラッシュメモリセルの断面図およびその等価回路図を示す。
【００３０】
【図４】マルチレベルセルフラッシュメモリデバイスの２ビットマルチレベルセルのしきい値範囲を示す説明図である。
【００３１】
【図５】フラッシュメモリの対になったページを示す説明図である。
【００３２】
【図６】グループパリティを除く列パリティの概念を示す表図である。
【００３３】
【図７】セクタパリティまたは行パリティの概念を示す説明図である。
【００３４】
【図８】各パリティセクタグループに８ページを有しているグループパリティを示す表図である。
【００３５】
【図９】６３ページ（行）および３１セクタ（列）のフラッシュメモリのデータセットに示される２次元ＲＡＩＤグループパリティ方式を要約する表図である。
【００３６】
【図１０】本発明の実施態様に従った８ページグループパリテイ構成を示す説明図である。
【００３７】
【図１１】本発明の別の実施態様に従った別設定パリティブロックを用いる８ページグループパリテイ構成を示す説明図である。
【００３８】
【図１２】２次元ＲＡＩＤ技術（例１）を用いる保護方式を示す表図である。
【００３９】
【図１３】２次元ＲＡＩＤ技術（例２）を用いる保護方式を示す表図である。
【００４０】
【図１４】書き込み中の電源遮断に起因する破損に対してマルチレベルセルフラッシュメモリデバイスを保護するアルゴリズムのフローチャートである。
【発明を実施するための形態】
【００４１】
図１は、不揮発性データ記憶装置における従来のＮＡＮＤフラッシュメディアデバイスの高レベルの概略ブロック図である。
【００４２】
図２は、従来のフラッシュメモリデバイスの断面図を示す。
【００４３】
図３に従来のマルチレベル（ＭＬＣ）フラッシュメモリセルの例が図示されている。ここで、分割チャネルデバイス（split channel device）は、２つの異なるしきい値電圧、Ｖｔ１およびＶｔ２を有している。参照した断面図および等価回路は、米国特許第５，０４５，９４０号明細書(Harari)から入手している。
【００４４】
電子状態の変動は、現実のマルチレベルセルシステムにおけるしきい値電圧の範囲を生成する。図４に従来の２ビットマルチレベルセルデバイスのしきい値範囲が描かれている。
【００４５】
同一のマルチレベルセルを共有するデータのページは、「共有ページ」（shared pages）と呼ばれている。各製造業者は、この共有ページの間で異なる距離を用いることができる。多くのメモリ販売業者はその距離を４に固定することを好む。例えば、４のペア距離（pair distance）で、ページ０はページ４と対をなし、ページ１はページ５と対をなし
、ページ２はページ６と対をなし、および、ページ３はページ７と対をなす。図５は、４のペア距離という概念による対になったページ（paired pages）を示す。
【００４６】
対になったページは、マルチレベルセルフラッシュメモリシステムにおける同一メモリセルを共有することができる。（例えば、２ビットマルチレベルセルフラッシュメモリにおいては、メモリセルのビット０およびビット１は、それぞれ対になったページの第１および第２のページからのビットである。）電源切断またはリセットの間などのように書き込み動作が異常に中止されたときには、書き込まれ損傷を受けているページデータだけでなく、対になったページのデータも、それが過去のある時点で正しく書き込まれていたにしても、また損傷を受けているかもしれない。
【００４７】
本発明の１実施態様によれば、ＲＡＩＤ技術は、２つの次元に沿った方法で適用される。第１の次元、つまり「第１の次元のＲＡＩＤ」では、この方法は同一ページ上のパリティ情報を保存する。第１の次元のＲＡＩＤは、同一ページ内の最初のセクタから最後のセクタまでを用いて算出される、行パリティまたはセクタパリティを使用する。図７に示すように、各ページ内にデータの３１セクタがあり、それぞれ、セクタ００からセクタ３０までラベル付けされている。各ページ内の一つのセクタは、第１の次元のＲＡＩＤデータ（例えば、行またはセクタのパリティ）を格納するために予約されている。図７において、ｐ０セクタはページ０のパリティセクタであり、ｐＸはページＸのパリティセクタである。１つの共通誤り訂正符号（ＥＣＣ）は１ビットの誤り訂正を許容する。余分なパリティビットを用いてダブルビットの誤りが検出できる。従って、パリティセクタのパリティデータは、万一の電源遮断時にそのセクタのＥＣＣの能力内でページのいかなるセクタの回復をも許容する。セクタパリティは、データがコントローラからチップのバッファに移動するときにページ内のすべてのデータから算出することができる。
【００４８】
第２の次元、つまり「第２の次元のＲＡＩＤ」では、この方法はパリティグループ内の多数のページに渡って算出されたパリティデータを保存する。このようなパリティデータは、グループパリティと呼ばれる。各パリティグループのページ数は可変である。一つの実施例では、例えば、パリティグループ内のページ数は８ページである。
【００４９】
ブロック内のすべてのページに渡って対応するセクタのために算出されるグループパリティは、列パリティと呼ばれる。図６は、６４ページデータセット内の列パリティを図示する。図６において、それぞれの列パリティ値は、同一のセクタに渡って算出される。例えば、セクタＸは全てのページから算出される。そのパリティ値は算出されて、つまり、ブロックの全ページ内の同一セクタに対して算出された列パリティを有して、ブロックに対して指定されたパリティページに書き込まれる。
【００５０】
第２の次元のＲＡＩＤにおけるグループパリティは、フラッシュメモリデバイスに追加のパリティ保護を提供する。ブロックの全ページよりも少ないページを含むパリティグループのためのグループパリティは、図６に図示されている列パリティよりも高いレベルの保護を定める。第１ステップによれば、パリティグループ内のページの数がグループサイズとして選択される。この数は、対になったページの欠陥から十分な保護を提供するため
に注意深く選ばれ、しばしば、マルチレベルセルフラッシュメモリ製造業者によって選択される。ペアリング選定のために典型的なグループサイズは８である。図８は、各パリティセクタグループ内に８ページを有するグループパリティを示す。図８において、ページ３、１１、５８はパリティページである。
【００５１】
図１０は、本発明の１実施態様による図８に示す構成に適用できるパリティグループ分けの構成を図示する。図１０に図示するように、第１のグループ（例えば、グループ１）は、半分のグループである。８ページからなるその次の各グループにおいて、最初の４ページは、前のグループ内の４ページと対をなしている。例えば、仮に、マルチレベルセルにおけるページ対化の手順（page pairing sequence）が０−４、１−５、２−６、およ
び３−７であれば、（例えば、ページ０はページ４と対になり、ページ１はページ５と対になり、ページ２は、ページ６と対になり、およびページ３はページ７と対になる）、それは０、１，２ページの各書き込みに対して、対応する２次元のＲＡＩＤグループパリティ書き込みがグループパリティページ３上に実行できる。万一、４〜６のいずれかのページにおける引き続く書き込みにおいて対応する対になったページ０、１、または２が破損したときには、このデータ損失は前に書き込まれたグループパリティページ３からのＲＡＩＤデータを用いて回復できる。このように、グループパリティページは４ページのパリティグループ１内のページ０−２を保護する。グループ２のパリティページはページ１１であり、ページ８，９、１０をページ１２〜１４の書き込み中の電源遮断により生じる損傷から保護している。図９は、６３ページ（行）および３１セクタ（列）のフラッシュメモリデータセットを示す２次元ＲＡＩＤグループパリティを要約する表である。図９に示すように、ページ３、ページ１１、・・・およびページ５９は、８ページグループに対するグループパリティページとして選択されている。各グループの最初の半分は、同一のマルチレベルセルフラッシュメモリデバイス上に対になっている、または、前のグループの２番目の半分とともに存在している。
【００５２】
図１１は、本発明の別の実施態様におけるパリティグループ分けの構成を図示する。図１１では、全てのグループは８ページを含む。マルチレベルセルにおけるページ対化の手順は、０−４、１−５、２−６、および３−７である。（例えば、ページ０はページ４と対をなし、ページ１はページ５と対をなし、ページ２はページ６と対をなし、および、ページ３はページ７と対をなす。）ページ０から３に対するグループパリティは、データページの外側のパリティブロック内の別設定パリティページ（set-aside parity page）に
書き込まれる。仮に、ページ４から７のいずれかの書き込み中に電源遮断があれば、別設定パリティブロック（set-aside parity block）内のパリティページは、ページ０から３の損傷されたデータを回復するために用いることができる。仮に、ページ４〜７が成功裏に書き込まれてもデータページ外のパリティブロック内のページ０から３に対するパリティページは将来の参照のために保存しておくことができ、また、もし所望すれば消去することもできる。この方法は全ての８ページに対して繰り返される。
【００５３】
このタイプのＲＡＩＤの他の長所は、書き込み時にパリティデータを生成するための読み取りを必要としないことである。ただ、書き込まれているページのためにパリティキャッシュが必要なだけである。これは、パリティ生成のために必要なアルゴリズムを簡単にし、書き込み性能における不利益を引き起こさない。万一、ハードのエラーに遭遇するとき、データの再構築の間における時間性能だけは影響を受ける。
【００５４】
なお、発明の詳細な説明においてグループのページの数として用いられている８は例示的なものであり、本発明において、グループのページ数は８に限定されない。
【００５５】
図１１に示す方式を実装するために、第１の次元において、６４ページのそれぞれには、パリティセクタ（例えば、各ページの第２のセクタ内に配置されている）が供給される
。各ページのパリティセクタは、第１の次元のＲＡＩＤを提供する。第２の次元において、パリティ保護の２つのレベルがある。第１に、全てのページに対する列パリティである。列パリティページ内にては、各セクタは、全てのページについて一致するセクタ全てに基づいて算出された列パリティを格納している。第２に、グループパリテイは、また、選択されたグループサイズに従ってグループ分けされたページに対応して記録されている。グループパリティは別設定パリティブロックに書き込まれてもよい。代替的に、グループパリティは、４番目、１１番目、１９番目、・・・５９番目のページというように、データページに沿って、グループパリティページを格納することができる。別設定パリティブロックを用いる１実施態様によれば、対になったページの第２の半分のグループがいかなる電源遮断もなしに書き込まれた後で、第１の対になったページに対して書き込まれた別設定セットパリティブロックは、消去すること、または、将来の参照のために保存することができる。
【００５６】
図１２は、本発明の１実施態様において訂正できないセクタの数が生じるときに２次元ＲＡＩＤ保護がどのように働くか、を図示する。（破損したセクタは、図１２に濃く線を引いたブロックによって表わされる。）例えば、ページ４のセクタ００、ページ５のセクタ０２はそれぞれのページにおいて単一の誤りがある。従って、対応するセクタのデータ喪失はそれらのページ上のそれぞれのパリティセクタからそれぞれ回復できる。しかしながら、ページ７においては、２つのセクタが破損しており、ページ７のセクタ００の破損は、グループパリティページ１１から回復できる。同様に、ページ９のセクタ０２の破損は、グループパリティページ１１から回復できる。上記の訂正に引き続いて、ページ７のセクタ３０およびページ９のセクタ３０は、それぞれページ７およびページ９のパリティセクタから回復できる。これは、これらのページの他のセクタは既に回復していることによる。従って、１ページまたは１列に２つの不良セクタがあっても、データの回復ができる。
【００５７】
対になっているページの数が単一のページまたは単一の列に影響を与えるより厳しい電源遮断のシナリオの場合、グループセクタパリティは、行パリティ、列パリティ、およびグループパリティを組み合わせることによって破損したデータを回復することができる。複数のハードエラーが存在しているとき（エラーセクタは、濃く線を引いたブロックで表わされる）の回復方式の一例が図１３に図示されている。ページ０内のセクタ００、ページ１内のセクタ０２および、ページ５内のセクタ０２は、対応するページに一つのエラーがある。従って、それらは、それぞれ、それらのページ内のパリティセクタから回復することができる。ページ９内のセクタ２９は、ページ１１のセクタ２９のグループパリティから回復することができる。これらの訂正が行われた後で、ページ３のセクタ００は、ページ０−２に渡るセクタ００のグループパリティの再算出によって回復することができる。ページ９のセクタ０２は、ページ１１のセクタ０２のグループパリティから回復することができる。これらの訂正に引き続いて、ページ７のセクタ００は、ページ１１のグループパリティから訂正でき、ページ１３のセクタ０２およびページ１３のセクタ２９は、グループパリティページ１９から回復することができる。上記の訂正に引き続いて、ページ３のセクタ３０、ページ７のセクタ３０、ページ９のセクタ３０およびページ１３のセクタ３０は、関連するページ内の他の誤ったセクタが回復されたので、対応するパリティセクタから回復することができる。従って、一つの列の中にハードエラーを伴う４つのセクタがあっても、データを回復することができる。
【００５８】
データページの外側の別設定パリティブロックがグループパリティの保存に使用される本発明の１実施態様において、データが電源遮断時における書き込み破損に対して保護されるとき、アルゴリズムは、データ書き込み工程に対して書き込むことができる。このアルゴリズムは、８ページのパリティグループに対して次の手順を備える。
（ａ）  ページ０からページ３までのページを書き込み、ページ０からページ３に対す
るグループパリティを算出し；
（ｂ）  前記グループパリティページをデータメモリ外部のパリティブロックに書き込み；
（ｃ）  ページ４から７を書き込み；
（ｄ）  ページ０から３のパリティブロックを解放し、使用したパリティブロックを保存または消去可能にし；
（ｅ）  （ａ）から（ｄ）までの工程を８ページの全ての引き続くグループに対して繰り返し；
（ｆ）  仮に最後のグループが８ページ未満でも、最後のグループも同じように取り扱う。
【００５９】
このアルゴリズムを図１４に図示する。
【００６０】
前述の説明は、添付の特許請求の範囲によって規定される発明の説明を目的としたものであり、その限定を意図したものではない。他の実施態様は、本開示の範囲内である。
【図１】
2013522776.tif 000004
【図２】
2013522776.tif 000005
【図３】
2013522776.tif 000006
【図５】
2013522776.tif 000007
【図６】
2013522776.tif 000008
【図７】
2013522776.tif 000009
【図８】
2013522776.tif 000010
【図９】
2013522776.tif 000011
【図１０】
2013522776.tif 000012
【図１１】
2013522776.tif 000013
【図１２】
2013522776.tif 000014
【図１３】
2013522776.tif 000015
【図１４】
2013522776.tif 000016
【図４】
2013522776.tif 000017
【手続補正書】
【提出日】平成25年2月27日(2013.2.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のページを有するブロックを含み、各ページが複数のセクタを含むように論理的に構成されたマルチレベルセルフラッシュメモリの管理方法であって、
前記ブロックを構成する前記複数のページに属する各ページ内にパリティセクタを選択し、
前記ブロックを構成する前記ページを２またはそれ以上のグループに割り当て、各グループに前記グループのパリティページとしてのページを選択し、
各ページに対して、前記ページの前記セクタに格納されたデータに対するセクタパリティ値を算出し、前記ページの前記パリティセクタに前記セクタパリティ値を格納し、
前記ブロックを構成する前記ページのうち、それぞれのグループに属する前記ページに格納されたデータのグループパリティ値を算出し、前記それぞれのグループの前記パリティページに前記グループパリティ値を格納する、
ことを特徴とする管理方法。 
【請求項２】
さらに、前記ブロックを構成するページのそれぞれのグループに対する前記グループパリティ値を算出することを繰り返すことを特徴とする請求項１に記載のフラッシュメモリの管理方法。
【請求項３】
各ページの前記セクタにそれぞれセクタ番号が割り当てられており、さらに、
前記ブロックに対する列パリティページを選び、前記ブロックを構成する前記ページの前記セクタ番号を有する全てのセクタに対する列パリティを各セクタ番号に対して算出することを特徴とする請求項２に記載のフラッシュメモリの管理方法。
【請求項４】
各グループは８ページからなることを特徴とする請求項１から３のいずれかに記載のフラッシュメモリの管理方法。
【請求項５】
各マルチレベルセルは、前記ブロックの少なくとも２つのページによって共有されていることを特徴とする請求項１から３のいずれかに記載のフラッシュメモリの管理方法。
【請求項６】
各マルチレベルセルを共有する前記ページは、異なるグループに割り当てられることを特徴とする請求項５に記載のフラッシュメモリの管理方法。
【請求項７】
前記グループはそれぞれグループ番号を割り当てられており、前記各マルチレベルセルを共有する前記ページは、連続するグループ番号を割り当てられることを特徴とする請求項６に記載のフラッシュメモリの管理方法。
【請求項８】
１またはそれ以上の前記グループは、それぞれ、ページ数の半分を前記ブロックの残りの前記グループから割り当てるように割り当てられることを特徴とする請求項７に記載のフラッシュメモリの管理方法。
【請求項９】
それぞれ消去ユニットを備えて複数のページを有する複数のブロックを備え、それぞれのブロックが複数のグループページを含み、各グループページは割り当てられたパリティページを含むフラッシュメモリセルアレイと、
各ブロックの各ページが、割り当てられたパリティセクタを含む複数のセクタを有したマルチレベルセルフラッシュメモリデータ記憶デバイスであって、
前記デバイスが、各ページに対して、
前記各ページのデータセクタにデータを格納し、
前記各ページのセクタ内に格納されたデータのセクタパリティ値を前記各ページの前記割り当てられたパリティセクタに格納するように動作可能であり、
前記デバイスが、各グループページに対して、
前記各グループページのデータページにデータを格納し、
前記各グループの前記データページに格納された前記データのグループパリティ値を前記各グループの前記パリティページに格納するように動作可能であることを特徴とするマルチレベルセルフラッシュメモリデータ記憶デバイス。  
【請求項１０】
前記デバイスが、前記各グループページとは別個の複数のグループページからなる第２のグループページに対して、
前記第２のグループページのデータページにデータを格納し、
前記第２のグループページの前記データページに格納された前記データのグループパリティ値を前記第２のグループページの前記パリティページに格納するように動作可能であることを特徴とする請求項９に記載のマルチレベルセルフラッシュメモリデータ記憶デバイス。
【請求項１１】
各ページの前記セクタにセクタ番号がそれぞれ割り当てられており、前記デバイスが、前記各グループページに対して前記各ブロックに対する列パリティページを選び、前記ブロックの前記ページ内の前記セクタ番号を有する全てのセクタに対する列パリティを、各セクタ番号に対して算出するように、動作可能であることを特徴とする請求項１０に記載のマルチレベルセルフラッシュメモリデータ記憶デバイス。
【請求項１２】
各グループは８ページからなることを特徴とする請求項９−１１に記載のマルチレベルセルフラッシュメモリデータ記憶デバイス。
【請求項１３】
前記マルチレベルセルフラッシュメモリデバイスの各マルチレベルセルは、前記ブロックの少なくとも２つのページによって共有されていることを特徴とする請求項９−１１に記載のマルチレベルセルフラッシュメモリデータ記憶デバイス。
【請求項１４】
各マルチレベルセルを共有する前記ページは、異なるグループに割り当てられることを特徴とする請求項１３に記載のマルチレベルセルフラッシュメモリデータ記憶デバイス。
【請求項１５】
前記グループはそれぞれグループ番号を割り当てられており、前記各マルチレベルセルを共有する前記ページは、連続するグループ番号を割り当てられることを特徴とする請求項１４に記載のマルチレベルセルフラッシュメモリデータ記憶デバイス。
【請求項１６】
１またはそれ以上の前記グループは、それぞれ、ページ数の半分を前記ブロックの残りの前記グループから割り当てるように割り当てられることを特徴とする請求項１５に記載のマルチレベルセルフラッシュメモリデータ記憶デバイス。
【請求項１７】
請求項１から３のいずれかに記載の方法に従って動作可能なフラッシュメモリデータ記憶システム。
【国際調査報告】
2013522776.tif 000018
2013522776.tif 000019
2013522776.tif 000020
2013522776.tif 000021
2013522776.tif 000022
2013522776.tif 000023