(57)【特許請求の範囲】
【請求項１】
不揮発性メモリにおけるデータ・エラー回復のための方法であって、
電荷ベースの不揮発性（ＮＶ）メモリ・アレイにおける特定された範囲のシーケンシャル・メモリ位置から読み出された２進デ―タが、前記ＮＶメモリ・アレイに関連付けられたエラー訂正コード（ＥＣＣ）ユニットによって補正されていないエラーを含んでいると判定する工程と、
前記特定された範囲内のどのメモリ・セルが、エラーである可能性が高いデータを生成したかを識別する工程であって、前記識別する工程が、
一範囲の電圧値にわたって、読み出し基準電圧を増やす工程と、
前記特定された範囲のシーケンシャル・メモリ位置内の２進デ―タをインクリメント毎に読み出す工程と、
どのメモリ・セルが、現在のインクリメントにおいて、先行するインクリメントと異なる２進デ―タを生成するかを識別して、異なる２進デ―タを生成した前記メモリ・セルのアナログ電荷値を求める工程と、
前記増やされた読み出し基準電圧を回復し、前記回復された増やされた読み出し基準電圧を異なる２進デ―タを生成した前記メモリ・セルの前記アナログ電荷値と比較して、前記特定された範囲内のどのメモリ・セルが、エラーである可能性が高いデータを生成したかを識別する工程と
を含む工程と、
エラーである可能性が高いとデータが判定された前記メモリ・セルの少なくとも一部のデータを変更する工程と、
前記特定された範囲のシーケンシャル・メモリ位置において先行して補正されていないエラーを前記ＥＣＣユニットが補正することを、前記変更されたデータが可能にするか否かを検証する工程と
を含む方法。
【請求項２】
請求項１記載の方法であって、前記識別する工程は、
少なくとも前記特定された範囲内の前記メモリ・セルの電荷レベル値のマップを生成する工程と、
前記マップ内のメモリ・セル群における前記電荷レベル値を、予め定められた電荷レベルのパターンと比較して、前記メモリ・セルのうちのどれが、エラーである可能性が高い２進データを生成したかを識別する工程と
を含む方法。
【請求項３】
請求項１記載の方法であって、前記識別する工程は、
前記特定された範囲内のメモリ・セルのアナログ電荷値を求める工程と、
前記ＮＶメモリ・アレイの読み出し基準電圧の所定の電圧量内のアナログ電荷値を、前記特定された範囲内のどのメモリ・セルが有しているかを判定する工程と
を含む方法。
【請求項４】
請求項１記載の方法であって、前記変更する工程は、エラーである可能性が高いと識別された前記メモリ・セルのアナログ電荷値を調節する工程
を含む方法。
【請求項５】
請求項１記載の方法であって、前記変更する工程は、エラーである可能性が高いと識別された前記メモリ・セルからの前記データの代わりにランダムな２進データを用いる工程を含む方法。
【請求項６】
請求項１記載の方法であって、前記特定された範囲のシーケンシャル・メモリ位置がメモリ・ページである方法。
【請求項７】
プロセッサ及び電荷ベースの不揮発性（ＮＶ）メモリ・アレイを含むコンピュータ・システムを備える装置であって、
前記コンピュータ・システムは、
前記ＮＶメモリ・アレイにおける特定された範囲のシーケンシャル・メモリ位置から読み出された２進デ―タが、前記ＮＶメモリ・アレイに関連付けられたエラー訂正コード（ＥＣＣ）ユニットによって補正されていないエラーを含んでいると判定する機能と、
前記特定された範囲内のどのメモリ・セルが、エラーである可能性が高いデータを生成したかを識別する機能であって、前記識別する機能が、
一範囲の電圧値にわたって、読み出し基準電圧を増やす機能と、
前記特定された範囲のシーケンシャル・メモリ位置内の２進デ―タをインクリメント毎に読み出す機能と、
どのメモリ・セルが、現在のインクリメントにおいて、先行するインクリメントと異なる２進デ―タを生成するかを識別して、異なる２進デ―タを生成した前記メモリ・セルのアナログ電荷値を求める機能と、
前記増やされた読み出し基準電圧を回復し、前記回復された増やされた読み出し基準電圧を異なる２進デ―タを生成した前記メモリ・セルの前記アナログ電荷値と比較して、前記特定された範囲内のどのメモリ・セルが、エラーである可能性が高いデータを生成したかを識別する機能と
を含む機能と、
エラーである可能性が高いとデータが判定された前記メモリ・セルの少なくとも一部のデータを変更する機能と、
前記特定された範囲のシーケンシャル・メモリ位置において先行して補正されていないエラーを前記ＥＣＣユニットが補正することを、前記変更されたデータが可能にするか否かを検証する機能と
を行う装置。
【請求項８】
請求項７記載の装置であって、前記識別する機能は、
少なくとも前記特定された範囲内の前記メモリ・セルの電荷レベル値のマップを生成する機能と、
前記マップ内のメモリ・セル群における前記電荷レベル値を、予め定められた電荷レベルのパターンと比較して、前記メモリ・セルのうちのどれが、エラーである可能性が高い２進データを生成したかを識別する機能と
を含む装置。
【請求項９】
請求項７記載の装置であって、前記識別する機能は、
前記特定された範囲内のメモリ・セルのアナログ電荷値を求める機能と、
前記ＮＶメモリ・アレイの読み出し基準電圧の所定の電圧量内のアナログ電荷値を、前記特定された範囲内のどのメモリ・セルが有しているかを判定する機能と
を含む装置。
【請求項１０】
請求項７記載の装置であって、前記変更する機能は、エラーである可能性が高いと識別された前記メモリ・セルのアナログ電荷値を調節する機能を含む装置。
【請求項１１】
請求項７記載の装置であって、前記変更する機能は、エラーである可能性が高いと識別された前記メモリ・セルからの前記データの代わりにランダムな２進データを用いる機能を含む装置。
【請求項１２】
請求項７記載の装置であって、前記特定された範囲のシーケンシャル・メモリ位置が、前記ＮＶメモリ・アレイのメモリのページである装置。
【請求項１３】
コンピュータ読み取り可能な記憶媒体であって、
１つ又は複数のプロセッサによって実行されると、
電荷ベースの不揮発性（ＮＶ）メモリ・アレイにおける特定された範囲のシーケンシャル・メモリ位置から読み出された２進デ―タが、前記ＮＶメモリ・アレイに関連付けられたエラー訂正コード（ＥＣＣ）ユニットによって補正されていないエラーを含んでいると判定する手順と、
前記特定された範囲内のどのメモリ・セルが、エラーである可能性が高いデータを生成したかを識別する手順であって、前記識別する手順が、
一範囲の電圧値にわたって、読み出し基準電圧を増やす手順と、
前記特定された範囲のシーケンシャル・メモリ位置内の２進デ―タをインクリメント毎に読み出す手順と、
どのメモリ・セルが、現在のインクリメントにおいて、先行するインクリメントと異なる２進デ―タを生成するかを識別して、異なる２進デ―タを生成した前記メモリ・セルのアナログ電荷値を求める手順と、
前記増やされた読み出し基準電圧を回復し、前記回復された増やされた読み出し基準電圧を異なる２進デ―タを生成した前記メモリ・セルの前記アナログ電荷値と比較して、前記特定された範囲内のどのメモリ・セルが、エラーである可能性が高いデータを生成したかを識別する手順と
を含む手順と、
エラーである可能性が高いとデータが判定された前記メモリ・セルの少なくとも一部のデータを変更する手順と、
前記特定された範囲のシーケンシャル・メモリ位置において先行して補正されていないエラーを前記ＥＣＣユニットが補正することを、前記変更されたデータが可能にするか否かを検証する手順と
を含む動作を行わせる命令が記憶されたコンピュータ読み取り可能な記憶媒体。
【請求項１４】
請求項１３記載の記憶媒体であって、前記識別する動作は、
少なくとも前記特定された範囲内の前記メモリ・セルの電荷レベル値のマップを生成する手順と、
前記マップ内のメモリ・セル群における前記電荷レベル値を、予め定められた電荷レベルのパターンと比較して、前記メモリ・セルのうちのどれが、エラーである可能性が高い２進データを生成したかを識別する手順と
を含む記憶媒体。
【請求項１５】
請求項１３記載の記憶媒体であって、前記識別する動作は、
前記特定された範囲内のメモリ・セルのアナログ電荷値を求める手順と、
前記ＮＶメモリの読み出し基準電圧の所定の電圧量内のアナログ電荷値を、前記特定された範囲内のどのメモリ・セルが有しているかを判定する手順と
を含む記憶媒体。
【請求項１６】
請求項１３記載の記憶媒体であって、前記変更する動作は、エラーである可能性が高いと識別された前記メモリ・セルのアナログ電荷値を調節する手順を含む記憶媒体。
【請求項１７】
請求項１３記載の記憶媒体であって、前記変更する動作は、エラーである可能性が高いと識別された前記メモリ・セからの前記データの代わりにランダムな２進データを用いる手順を含む記憶媒体。
【請求項１８】
請求項１３記載の記憶媒体であって、前記特定された範囲のシーケンシャル・メモリ位置が、メモリのページである記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
フラッシュ・メモリなどの一部のタイプのソリッド・ステート不揮発性メモリは、メモリ・セルに特定量の電荷を蓄積することにより、二進デ―タを記録する。
【背景技術】
【０００２】
上記データが前述の電荷ベースの不揮発性メモリのうちの１つから読み出されると、蓄積された電荷の電圧レベルが基準電圧と比較される。前述のセルから読み出されるデータの二進値は、蓄積された電荷の電圧が基準電圧よりも高いか低いかに依存する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、蓄積された電荷はアナログの現象であるため、その実際値は、意図したものとちょうど同じものでないことがあり得、データが読み出されるとエラーに遭遇し得る。エラー補正コード（ＥＣＣ）ユニットは、前述のエラーの一部を検知し、補正するために使用し得るが、時には、エラーは、全てこのやり方で補正するには多すぎる。このことが起きると、データは永久に失われ得る。
【課題を解決するための手段】
【０００４】
本発明の一部の実施例は、本発明の実施例を示すために使用される以下の説明及び添付図面を参照することによって理解することができる。
【図面の簡単な説明】
【０００５】
【図１】本発明の実施例による、ソリッド・ステートの不揮発性メモリを含むシステムを示す図である。
【図２】本発明の実施例による、不揮発性メモリ・アレイの一部分を示す図である。
【図３】本発明の実施例による、メモリにおけるエラーを補正する方法を示すフロー図である。
【図４】本発明の実施例による標的セルに影響を及ぼし得る例示的な電荷パターンを示す図である。
【図５】本発明の実施例による、ＮＶメモリ・アレイにおける低確信度セルを識別するためのパターン・マッチングの方法を示すフロー図である。
【図６】本発明の実施例による、ＮＶメモリ・アレイにおける低確信度セルを識別するためのやり方として基準電圧に対する至近性を使用する方法を示すフロー図である。
【図７】本発明の実施例による、アナログ電荷値の調節により、ＮＶメモリにおけるデータを補正する方法を示すフロー図である。
【発明を実施するための形態】
【０００６】
以下の説明では、数多くの具体的な詳細を記載する。しかし、本発明の実施例は、前述の具体的な詳細なしで実施することができる。場合によっては、本明細書を理解しにくくなることのないように、周知の回路、構造及び手法は詳細に示していない。
【０００７】
「一実施例」、「実施例」、「例示的な実施例」、「種々の実施例」等への言及は、本発明の実施例が、特定の構成、構造、又は特性を含み得るが、全ての実施例が、必ずしも、特定の構成、構造、又は特性を含む訳でないということを示す。更に、一部の実施例は、他の実施例について説明した構成の一部若しくは全部を有し得、又は、前述の構成を何ら有しないことがあり得る。
【０００８】
以下の明細書及び特許請求の範囲では、「結合された」及び「接続された」という語、並びにそれらの派生形を使用することができる。前述の語は、互いの同義語として意図されているものでない。むしろ、特定の実施例では、「接続された」という語は、２つ以上の構成要素が、物理的に又は電気的に互いに直接接触しているということを示すために使用される。「結合された」という語は、２つ以上の構成要素が、互いに協働又は相互作用するが、物理的に又は電気的に直接、接触していてもいなくてもよいということを示すために使用される。
【０００９】
特許請求の範囲では、別途明記しない限り、共通の構成要素を表すための、順序を表す形容詞である「第１の」、「第２の」、「第３の」等の使用は、同様な構成要素の別々のインスタンスを指しており、前述の構成要素が、時間的に、空間的に、ランキング上、又は何れかの他の態様で、特定の順序になければならない旨を示唆することを意図するものでないということを示しているに過ぎない。
【００１０】
本発明の種々の実施例は、ハードウェア、ファームウェア及びソフトウェアの１つ又は何れかの組合せで実現することができる。本発明は、本明細書及び特許請求の範囲記載の動作の実行を可能にするために、１つ又は複数のプロセッサによって読み出し、実行することができる、コンピュータ読み取り可能な媒体内、又は前述の媒体上に含まれる命令として実現することもできる。コンピュータ読み取り可能な媒体は、１つ又は複数のコンピュータによって読み取り可能な形式において情報を記憶し、伝送し、かつ／又は受信する何れかの機構を含み得る。例えば、コンピュータ読み取り可能な媒体は、限定列挙でないが、リード・オンリー・メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュ・メモリ装置等などの有形記憶媒体を含み得る。コンピュータ読み取り可能な媒体は、限定列挙でないが、電磁気搬送波信号、光搬送波信号、又は音響搬送波信号などの、命令を符号化するために変調されている伝搬信号も含み得る。
【００１１】
種々の実施例では、電荷ベースの不揮発性メモリの一部分からデータを読み出すと、補正できないエラーを見つけた場合、データを補正しようとする旨の処理が続き得る。不良データの正確な場所は知られていないことがあり得るので、この処理は、１）メモリの当該部分における「低確信度」（ＬＣ）蓄積セル（すなわち、他のセルよりもエラーを含んでいる可能性が更に高いセル）を識別する工程と、２）当該セルにおけるどのデータが、正しい可能性が高いかを判定する工程と、３）新たなデータが正しい旨を検証する工程とを含み得る。低確信度のセルを識別する工程は、２つのやり方（すなわち、１）アナログ電荷電圧が基準電圧に近いセルを求めるやり方、及び２）標的セルにおいてデータ破損をもたらすことが知られている、周囲セル内の電荷レベルの特定のパターンを探すやり方）のうちの何れかで行い得る。低確信度セルにおいて正しい可能性が高い新たなデータを求めることは、２つのやり方（すなわち、１）最善であると思われる方向及び量で、前述のセル内のアナログ電荷値を調節するやり方、及び２）ＬＣセル内のデータの任意値を試すやり方）のうちの何れかで行い得る。新たなデータが正確である旨を検証することは、何れかの適切なやり方で行い得るが、通常、エラー検査及び補正（ＥＣＣ）アルゴリズムを使用することにより、行い得る。これは、エラーの数が特定の閾値未満である限り、有効なデータをもたらすからである。データの正しい値が求められると、データは別の場所に再書き込みし得る。上記別の場所では、上記データは、同じデータ破損の問題に遭遇しないことが望ましい。計算量的に集約的であるが、この処理は、当該処理によらなければ、他のやり方で回復することが実用的でなく、重要なデータにおいて致命的エラーを含む（、ソリッドステート・ディスク（ＳＳＤ）内のデータなどの）データを回復するために有用であり得る。
【実施例】
【００１２】
図１は、本発明の実施例による、ソリッド・ステートの不揮発性メモリを含むシステムを示す。図示したシステム１００は、プロセッサ１１０と、主メモリ１２０と、入出力ロジック１３０と、不揮発性（ＮＶ）メモリ１４０とを含む。この特定の実現形態では、ＮＶメモリは、（ソリッドステート・ディスクに限定されないが、ソリッドステート・ディスクなどの）Ｉ／Ｏ装置として接続されるが、他の実施例は、ＮＶメモリをシステム内の他の場所（限定列挙でないが、主メモリ自体の一部、ハード・ディスク・ドライブと協調して動作するキャッシュ・メモリ等）に配置し得る。本発明の種々の実施例は、前述のアプリケーション及び部分が本明細書に具体的に記載されているか否かにかかわらず、種々のアプリケーションにおいて、かつ、システムの別々の部分において使用可能である。
【００１３】
ＮＶメモリは、データを記憶するために、蓄積された電荷を使用し、読み出し動作のために１つ又は複数の基準電圧を使用する何れかの実現可能なタイプのＮＶ記憶技術を使用し得る。単一の読み出しコマンドで個々のバイト又はワードを読み出すのでなく、（限定されないが、ＮＡＮＤフラッシュ・メモリ・アレイからメモリ・ページを読み出すことなどの）単一の読み出しコマンドでシーケンシャル・メモリ位置の範囲全体を読み出すＮＶメモリにおいて特に有用であり得る。
【００１４】
図１の図示された実施例では、ＮＶメモリ１４０は、基準電圧の読み出し、書き込み、消去、及び調節などのアレイで動作を制御するための記憶アレイ１４８及びコントローラ１４２を備え得る。コントローラ１４２は、エラー検査及び補正（ＥＣＣ）ユニット１４３、エラー分析装置１４４、及び基準電圧制御装置１４５などの他の機能的装置に更に分離し得る。基準電圧制御装置１４５は、アレイ内のメモリ・セルからデータを読み出す場合に使用される１つ又は複数の基準電圧それぞれを供給し得る。基準電圧制御装置１４５は更に、本明細書及び特許請求の範囲記載の動作を行うために必要に応じて、前述の基準電圧を上下に調節することもできる。ＮＶメモリ１４０における種々の装置は別個の機能別装置として示しているが、前述のもののうちの２つ以上は、共通回路及び／又はコードを共有し得る。
【００１５】
コントローラ１４２がプロセッサ１１０又は他の装置から読み出し要求を受け取ると、コントローラ１４２は、メモリ・アレイ内の複数のシーケンシャル位置からデータを読み出す動作を開始し得る。上記位置の開始アドレスは読み出し要求によって示し得る一方、位置の数は、要求において規定し得るか、又は特定の他のやり方で予め定義し得る。データがバッファ内で読み出され、配置されるにつれ、ＥＣＣユニットはデータ内のエラーを検知し、前述のエラーを追跡し、そのエラー補正アルゴリズムによって補正することができるエラーを補正し得る。補正可能でないエラー（すなわち、ＥＣＣユニットによって補正可能でない）がこのようにして検知されると、シーケンシャル・アドレスの範囲全体からのデータ（例えば、メモリのページ又はセクタ）は正しくないとして表し得る。その範囲内の補正可能でないエラーの数量及び位置が知られていないからである。
【００１６】
図２は、本発明の実施例による、不揮発性メモリ・アレイの一部分を示す。図示した例は、ゲート近くの蓄積電荷の量がそのセルに記憶されたデータを表すメモリ・セルをトランジスタそれぞれが表すフラッシュ・メモリ・アレイの共通の表現を示す。示した回路以外の回路、及びフラッシュ・メモリ以外のメモリのタイプも、本発明の種々の実施例に含め得る。図示した特定の例では、水平線それぞれは、当該行内の複数のセル（この例では、約３万２千個のセル）のゲートを接続するワード線を表すが、その数は他の実施例では異なり得る）のゲートを接続するワード線を表す一方、ビット線列内のセルはその列内の隣接セルそれぞれに接続される。セルは、単一レベルのセル（ＳＬＣ）又はマルチレベルのセル（ＭＬＣ）の技術を表し得る。本明細書及び特許請求の範囲記載のＳＬＣはセル毎の１ビットのみを記憶する技術を表す一方、ＭＬＣはセル毎に２つ以上のビットを記憶する技術を表す。図示したアレイは、４レベルのＭＬＣ技術を表し、考えられる電荷の範囲は、Ｌ０乃至Ｌ３と呼ばれる４つのサブ範囲に分割され、各サブ範囲は、別々の２ビットの組み合わせ（例えば、１１、１０、００又は０１）を表す。特定のセル内の電荷が４つのサブ範囲のうちの１つのサブ範囲内に収まる場合、セルは、対応する２ビットの２進値を記憶しているとみなされる。セルのうちの１５についての値の例を表す。１６番目のセルの電荷Ｖｔは未知である。
【００１７】
以下の議論については、ＥＣＣ又は他のタイプのエラー検知及び補正アルゴリズムが使用されているが、特定の範囲のシーケンシャル・メモリ・アドレスにおけるエラー全てを補正することが可能でないものとする。前述の場合には、この範囲内にエラーが含まれているということが知られているが、正確にどのアドレス（及びどのセル）がエラーを含むかは知られていない。多くの場合、エラーの数が、全てを補正するＥＣＣの能力を超えている以外はエラーがいくつあるかは知られていない。前述の議論については、ＥＣＣユニットが、そのページにおけるエラー全てを補正することが可能でないためにページ全体に「障害が生じている」とみなされるものとするが、ＥＣＣコード・ブロック・サイズが、障害が生じた装置がページとは異なるサイズにした場合、ページ（例えば、セクタ）以外のユニットも、このようにして検査することが可能である。以下の定義が前述の文書において使用される。
【００１８】
１）アナログ電荷値：特定のセルに蓄積された電荷に対する電圧を表す値。この値は、処理するための離散的なディジタル数又は２進数として表し得るが、アナログ電荷値を表し、したがって、アナログ値としてラベリングされる。
【００１９】
２）電荷レベル値：セル内の電荷レベルのサブ範囲（それぞれのサブ範囲は異なる２進デ―タ値を表す）のうちの１つを表す値。例えば、４レベルのＭＬＣでは、電荷レベル値０は最低のサブ範囲（最小の電荷量）を表し、電荷レベル値１はその次に高いサブ範囲を表し、電荷レベル値２はその次に高いサブ範囲を表し、電荷レベル値３は最高サブ範囲（最大電荷量）を表し得る。
【００２０】
３）２進デ―タ値：セル内に蓄積されているデータの２進値。例えば、４レベルのＭＬＣでは、２進１１は電荷レベル値０によって表し得、２進１０は電荷レベル値１によって表し得、２進００は電荷レベル値２によって表し得、２進０１は電荷レベル値３によって表し得る。前述の特定の変換値は効果的であり得る。一電荷レベルから次への遷移は同等の２進値の１ビットのみを変え、それにより、ボーダーラインの読み取り値の不確実性を２つの可能性のみに削減する。しかし、他の変換値も使用することができる。
【００２１】
図３は、本発明の実施例による、メモリにおけるエラーを補正する方法を示すフロー図である。フロー図３００では、動作３１０、３１４、３１８、及び動作３１１、３１５は、障害が生じたとみなされるデータ・ページにおける低確信度（ＬＣ）セルを識別するための別々の２つのやり方を表す。動作３２０、３２４、３２８、及び動作３２１は、前述のＬＣセルにおいてデータを補正しようとするための別々の２つのやり方を表す。３３０における検証動作は、識別処理及び補正処理のどの組み合わせが使用されるかにかかわらず、同じであり得る。
【００２２】
パターン・マッチングによる識別
この処理は、図３の動作３１０、３１４、３１８に対応する。メモリ・アレイにおいて使用される更に小さな幾何構造では、各セルに蓄積された電荷の量は、意図された電荷の量から引き上げるか、又は引き下げて、周囲のセルに蓄積された電荷の量によって影響を受け得る。例えば、もう一度、図２を参照すれば、電荷レベルＶｔのセルは、Ｖｔに対する周囲セルの考えられる影響を検査することによって調査される。矢印は、標的セルに対する電気接続又は物理的な至近性が理由で、電荷レベルが電荷Ｖｔに影響を及ぼし得る考えられるセルの例を示す。前述の影響の厳密な特性、及びそれをもたらし得る特定のセルは、アレイの詳細（セルの物理的な至近性、セル構造、使用される半導体材料、周囲のセルそれぞれ及び標的セル等における実際の電荷レベルなど）に依存し得る。前述の相互関係は、アレイ・タイプ毎に、かつ、セル内の電荷分布のパターン毎に判定し得る。
【００２３】
図４は、本発明の実施例による、標的セルに影響を及ぼし得る電荷パターン例を示す。前述の文書の目的で、「パターン」は、予め定められた物理的な配置を有し、予め定められた互いの電気接続を有し、前述のセル内の予め定められた電荷レベルを有するセル群である。標的セルは、物理的な配置内の予め定められた場所を占めるセルであり、それによる、パターンにおける他のセルの考えられる影響を求めるよう検査されるセルである。特定のパターンは、標的セル内の電荷レベルを含む、パターン内のセル全てにおける電荷レベルに基づいて定義し得る。例えば、図４では、標的セルの両側のセル（同じワード線上のセルはＬ３の電荷レベルを有する一方、標的セルの直ぐ上のセル及び直ぐ下のセル（同じビット線上の隣接セル）は電荷レベルＬ２を有する。標的セル内の正しい電荷レベルがＬ０であるはずである場合、前述の周囲のセルは、標的セル内の電荷を（図示した）Ｌ１レベルに引っ張り得、よって、標的セルにおいて電荷Ｌ１を有することは前述のパターンの一部である。他方で、標的セル内の電荷レベルがＬ２又はＬ３であると仮定した場合、周囲セル内の電荷は、それに対する影響がわずかであるほど、かつ、配置が、探す対象の予め定められたパターンとみなされないほど、そのレベルに十分近いことがあり得る。前述の実施例では、パターン内の何れかの特定のセルの電荷レベルは、２つ以上のレベルを包含し得る。図４のパターンを例として使用すれば、標的セルに隣接する４つのセルの何れかは、Ｌ２又はＬ３の電荷レベルを有することが可能であり得、それはなお、パターンに一致するものとみなされる。
【００２４】
前述の例は、特定の電荷分布を有する単純な５セル・パターン（標的セル及び隣接セルが同じワード線及びビット線上にある）を示すが、他のパターンには、標的セル周りのセルの異なる配置、並びに／又は異なるセル量及び／若しくはセル内の異なる電荷分布が関係し得る。同じパターンの組はアレイの大きな部分に施されることを期待し得るが、前述のパターンはアレイの特定の部分のみに適用可能であり得る（例えば、アレイのエッジにおける標的セルは、一方側に隣接セルを有しないので、別のパターンの組をエッジにおけるセルについて使用し得る）各セルはこのパターン・マッチング手法とは別個に検査し得るので、特定のセルは、１つのインスタンスにおいては標的セルとみなし得る一方、別のセルが標的化される場合、周囲セルの１つであり得る。
【００２５】
図５は、本発明の実施例による、ＮＶメモリ・アレイにおける低確信度セルを識別するためのパターン・マッチングの方法のフロー図を示す。前述の方法では、メモリ内のデータの特定のページは、ＥＣＣユニットで補正することが可能でなかった１つ又は複数のエラーを有し、前述のエラーは上述の電荷分布の影響のタイプによって少なくとも部分的にもたらされ、よって、正しいデータは、その電荷分布を解析することによって求め得る。前述の議論については、ＥＣＣユニットが、そのページにおけるエラー全てを補正することが可能でないためにページ全体に障害が生じているとみなされるが、ＥＣＣコード・ブロック・サイズにより、障害が生じたユニットがページとは異なるサイズになった場合、ページ以外のユニット（例えば、セクタ）も、このようにして検査し得るものとする。
【００２６】
図示したフロー図５００では、５１０で、障害が生じたページを含む、消去ブロック全体における２進デ―タを読み出すことができる。（エラーを有していることが知られているがページ内のエラーの位置が知られていないため）ページ全体に障害が生じても、当該データの一部が誤りであっても、ページ内のセル全てからデータを読み出すことがなお可能である。ＮＶメモリが通常、配置されるやり方が理由で、障害が生じたページのみならず、消去ブロック全体を読み出すことが望ましく、これにより、消去ブロック内の正しく読み出されたページ内のセルが、同じ消去ブロック内の障害が生じたページ内のセルに影響を及ぼし得る。
【００２７】
５２０では、消去ブロックから読み出される２進デ―タは、電荷レベル値に変換し得る。前述の変換の厳密なやり方は、各セルに含まれる電荷レベル（及び、よって、２進デ―タのビットの数）、並びに、前述のレベルそれぞれが、特定の２進デ―タ値をどのようにして示すかに依存し得る。前述の変換の結果は、消去ブロック内のセル毎の電荷レベル値を含む電荷レベル・マップに入れ得る。マップは、更に前述のセルが物理的に、かつ／又は電気的にどのようにして関係しているかを（例えば、マップの編成によって）示し得る。よって、前述のセルは、後続するパターン・マッチング処理に意義ある群にまとめ得る。唯一のやり方でないが、前述の編成のやり方の１つは、消去ブロック内のセルの行及び列の電気的レイアウトを反映する２次元アレイにマップを編成することである。
【００２８】
５３０では、実際のパターン・マッチング処理を行い得る。図４の上述の記載は、前述のパターン・マッチング処理の一例を表す。マッチングされたパターン内の標的セルである各セルは、５４０において、低確信度セルと表し得る。消去ブロック内のセル全てを、標的セルとしてのセルを有するパターンについて検査する必要がある訳でない。標的セルが、障害が生じたページにあるセルの群のみを、パターン・マッチングを求めて検査すればよい。ページはしばしば、交互のビット線に割り当てられるので、これは、パターン・マッチング処理を単純にし得る。図４を参照すれば、中央のビット線は、障害が生じたページ内にあるが、左右のビット線は、正しいデータを含んでいるとＥＣＣが示した別のページにある。よって、パターン・マッチングは、標的セルが、障害が生じたページにないセルの群に適用しなくてよい。これは更に、（標的セル以外の）パターン内の別のセルが、正しくないデータを含んでいる可能性を削減する、この例では、標的セルと同じビット線上のセルのみが、障害が生じたページにあるからである。
【００２９】
基準電圧の至近性による識別
前述の処理は図３の動作３１１、３１５に対応する。セル内に蓄積された電荷のアナログ値が、そのセルを読み出す場合に使用される基準電圧に非常に近い場合、非常に簡単に、電荷の電圧がその基準電圧の誤った側の電圧になってしまい、誤った読み取り値をもたらす。図６の処理は、この現象を利用する。
【００３０】
図６は、本発明の実施例による、ＮＶメモリ・アレイにおける低確信度セルを識別するためのやり方として、基準電圧に対する至近性を使用する方法のフロー図を示す。フロー図６００では、「変動する読み出し基準（リード・リファレンス）（ＭＲＲ）」として本明細書及び特許請求の範囲に表す処理は、各セル内のアナログ電荷電圧を測定するために使用し得る。６１０では、各読み出し基準電圧は、特定の範囲の値により、増加させ得る。基準電圧を増加させるためには、実現可能な如何なる手法を使用してもよい。この増加処理は、６２０で判定するように、ＭＲＲ処理が完了するまで動作６１０乃至６５０にわたって循環し得る。複数の基準電圧が存在しているマルチレベル・セル手法の場合、一部の実施例は、新たなサイクル毎に単一の基準電圧を増やし得る一方、他の実施例は、新たなサイクル毎の複数の基準電圧を増やし得る。一部の実施例は、新たなサイクル毎に基準電圧全てを増加し得る。前述の実施例は、別々のサイクル上で前述の代替策毎に切り換え得る。
【００３１】
各インクリメントの後、障害が生じたページ内の各セルにおいて記憶されたデータの２進値を６３０で読み出し得る。６４０に示すように、特定のセルから読み出されたデータが先行パスと異なる場合、それは、増加した基準電圧がアナログ電荷値とちょうどクロスしており、アナログ電荷値は、（１つのインクリメントの範囲内の）基準電圧に非常に近くなければならないことを示す。この値は次いで、６５０において、アナログ電荷値のマップにおいて記録し得る。これは、先行パスから変わったデータを示すセル毎に行い得る。複数の基準電圧を有するＭＬＣメモリでは、どの基準電圧にクロスしたかを求めるために、特定の前後の２進値を検査する必要があり得る。障害が生じたページ内のセル全てのアナログ電荷値が記録されるまで６１０乃至６５０の処理を繰り返し得る。
【００３２】
基準電圧の増加値全てが試されたが、ページ内のセル全てが、それらのアナログ電荷について記録された値を有している訳でない場合、記録されていないセルは、検査された範囲外のアナログ電荷値を有し得る（この場合、範囲は、更なる検査のために拡張し得る）か、又は、セルに完全に障害が生じ得る（この場合、他の補正措置（本明細書及び特許請求の範囲には記載していない）を採り得る）。セル全体が、記録済値を有するとした場合、処理は、動作６２０から動作６６０に移り得、ここで、基準電圧は、正常な読み出し動作を行い得るように、その元の値に戻し得る。
【００３３】
この点で、セル毎に記録されたアナログ電荷値は、６７０で、戻された基準電圧と比較し得る（基準電圧の戻された値を記録し得、記録済値はこの比較において使用されるので、実際のセルに対する更なるアクセスは必要でない）。戻された基準電圧に近いアナログ電荷値を何れかのセルが有する場合、そのセルは、６８０において低確信度セルとして識別し得る。「低確信度」とみなされる状態になる前の基準電圧にアナログ電荷値がどの程度近い必要があるかは種々の要因に依存し得る。一部の実施例では、基準電圧に「近い」とみなされるアナログ電荷値の範囲、及び／又はこの範囲の中心点は処理中に変え得る。例えば、かなり狭い範囲の電圧をまず、使用し得る。これが、満足な結果をもたらさない場合、範囲は、「低確信度」カテゴリにおいて、より多くのセルを含める試行において拡大し得る。満足な結果が得られるまで、前述の変更のいくつかの繰り返しを行い得る。
【００３４】
電荷調節による補正
この処理は、図３の動作３２０、３２４及び３２８に対応する。一般に、これには、セルから、正しいデータを得る可能性を向上させるよう予測されたやり方で低確信度セルのアナログ電荷値を調節することが関係する。
【００３５】
図７は、本発明の実施例による、アナログ電荷値の調節により、ＮＶメモリにおけるデータを補正する方法のフロー図を示す。障害が生じたページ内の低確信度セルのアナログ電荷値を調節するために、前述のアナログ電荷値の開始値が知られていなければならない。図６内の動作６１０乃至６５０のＭＲＲ処理が既に、低確信度セルを識別するよう行われている場合、前述の開始値は既に知られている。そうでない場合、ＭＲＲ処理は、フロー図７００の方法を開始する前に行い得る。
【００３６】
低確信度毎に、７１０では、予測された調節の量（電荷量を変える、これにより、アナログ電荷値が変わる）、及びセルに対する予測された調節の方向（電荷の加算又は減算）を求め得る。何れかの実現可能な方法を、この調節の方向及び量を求めるために使用し得る。７２０では、この調節をアナログ電荷値に行い得る。物理セル内に存在する実際の電荷を変えるよりも、この処理は、障害が生じたページについて先行して構成されたアナログ電荷マップ内の記録されたアナログ電荷値に対して数学的に行い得る。
【００３７】
検証を行う前にこのようにして調節するための低確信度セルの数は、数多くの要因に依存し得る。低確信度セル全て（又は、少なくとも多数のセル）を調節することにより、正しかった先行データを不良データに変え、問題を悪化させるという危険が冒される。検証前に少数のセルを調節することにより、検証中に、有効なＥＣＣ結果を得るために十分な不良セルを変更せず、よって、変更が正しかったか否かが分からないという危険が冒される。しかし、変更する対象のセルの数は、７３０で求められたように、その数のセルが変更された後に求め得、処理は７４０に進み得、７４０では、低確信度セルの新たなアナログ電荷値は前述の同等の２進デ―タに変換される。
【００３８】
ランダムなデータ置換による補正
この処理は、図３の動作３２１に対応する。一般に、ＥＣＣ処理などの他の手段により、エラーを補正することが可能であるほどエラーが少ないページを生成する組み合わせが見つかるまで低確信度セル内のランダムなデータを試行することが関係する。図７の処理について説明したように、検証を試行する前にこのようにして変更する対象のセルの数は変動し得る。一部の実施例では、好ましい数の、変更対象のセルは、限定列挙でないが、１）どの補正手法が使用されるか、２）障害が生じたアドレス範囲に含まれるセルの数等の種々の要因に依存し得る。
【００３９】
検証
検証は図３の動作３３０に対応する。ページ内のデータの検証は、エラーの量が、ＥＣＣが補正できる能力を超えていないという前提で、残りのエラーを補正するＥＣＣ処理による、２進データのページの処理などの何れかの実現可能なやり方によって行い得る。補正されたデータがこのようにして検証された場合、補正されたデータは、使用することが可能な記憶場所に書き込み得る。これは、おそらく、元々障害が生じた消去ブロックと同じ消去ブロックにおける同じページに対してでない。その物理記憶装置場所における不良が元々エラーをもたらしていることがあり得るからである。他方で、新たなデータ・ページがなお、補正可能でないエラーを有する場合、種々の手順（すなわち、１）ページ内のデータが失われているものとし、データを廃棄する、２）新たなデータ又は元のデータに対して先行する動作を再実行するが、データを補正するために別のパラメータを使用する、３）異なる低確信度セルに対する先行動作を再実行する、４）低確信度セルを求めるために異なる検出動作を実行する、５）その他、などであるが、そのうちの１つ又は複数に限定されない）に従い得る。
【００４０】
一部の実施例では、前述の動作は、（例えば、図１のエラー解析装置１４４により、）ＮＶメモリのコントローラ内で行い得る。他の実施例では、前述の動作は、（例えば、コンピュータ・システムにおける１つ又は複数の主プロセッサにより、）ＮＶメモリの外部で行い得る。更に他の実施例では、前述の動作は、前述の複数の装置（例えば、ＮＶメモリ・コントローラ内の一部の動作）によって行い得る。これらは、動作を行い得るいくつかのやり方に過ぎない。
【００４１】
上記説明は、限定的でなく、例証的であることを意図している。当業者は変形を思いつくであろう。前述の変形は、特許請求の範囲記載の範囲によってのみ限定される本発明の種々の実施例において含まれることを意図している。
【図１】
0005367835.tif 000002
【図２】
0005367835.tif 000003
【図３】
0005367835.tif 000004
【図４】
0005367835.tif 000005
【図５】
0005367835.tif 000006
【図６】
0005367835.tif 000007
【図７】
0005367835.tif 000008