(57)【要約】      （修正有）【課題】固体メモリデバイスのデータ復帰技術および構成を提供する。【解決手段】固体メモリデバイスのセルに関するハード誤りを特定する段階と、特定されたハード誤りを有するセルの位置を、セルに元々プログラミングされていたデータを復帰させる復号器に提供する段階と、復号器を利用して、セルに元々プログラミングされていたデータを復帰させる段階と、を備える。また、固体メモリデバイスのセルに格納されているデータを、データの読み出しに通常利用される参照信号とは異なる、修正された参照信号を利用して読み出す段階と、セルから読み出されたデータに基づいて、セルから読み出されたデータの少なくとも１つの値が消失用にマークされる消失フラグを形成する段階と、消失フラグを利用して、セルから読み出されたデータを復号する段階と、を備える方法を提供する。【選択図】図１
2010092459.tif 000002
【特許請求の範囲】
【請求項１】
固体メモリデバイスのセルに関するハード誤りを特定する段階と、
前記特定されたハード誤りを有する前記セルの位置を、前記セルに元々プログラミングされていたデータを復帰させる復号器に提供する段階と、
前記復号器を利用して、前記セルに元々プログラミングされていた前記データを復帰させる段階と、を備える、方法。
【請求項２】
前記セルに関する前記ハード誤りは、前記セルに元々プログラミングされていた前記データの復号に失敗したことに呼応して特定される、請求項１に記載の方法。
【請求項３】
前記セルに関する前記ハード誤りを特定する段階は、
既知のデータで前記セルを再プログラミングする段階と、
前記セルが既知のデータで再プログラミングされた後で、前記セルから読み出しデータを読み出す段階と、
前記読み出しデータを前記既知のデータと比較する段階と、を有する、請求項１に記載の方法。
【請求項４】
前記読み出しデータが前記既知のデータと異なっている場合、前記セルがハード誤りを有するとして特定する段階をさらに備える、請求項３に記載の方法。
【請求項５】
前記既知のデータは、前記セルの復号に失敗する前記セルに元々プログラミングされていた前記データに関連する読み出しデータを含む、請求項３に記載の方法。
【請求項６】
前記再プログラミングする段階、前記読み出す段階、および前記読み出しデータを比較する段階は、繰り返し行われる、請求項３に記載の方法。
【請求項７】
前記再プログラミングする段階、前記読み出す段階、および前記読み出しデータを比較する段階は、各繰り返しについて異なる既知のデータを利用して行われる、請求項６に記載の方法。
【請求項８】
前記復号器を利用して前記データを復帰させる段階は、
ソフト復号器またはハード復号器を利用する段階を有し、
前記ソフト復号器または前記ハード復号器は、誤り訂正符号（ＥＣＣ）を利用する、請求項１に記載の方法。
【請求項９】
前記復号器を利用して前記データを復帰させる段階は、消失復号を利用する段階を有する、請求項１に記載の方法。
【請求項１０】
前記消失復号を利用する段階は、
前記特定されたハード誤りを有する前記セルに対応する前記データ内のビットまたはシンボルを消失して、前記元々プログラミングされていたデータの前記復号による復帰を成功させる段階を含む、請求項９に記載の方法。
【請求項１１】
前記復号器を利用して前記データを復帰させる段階は、ビットフリップを利用する段階を有する、請求項１に記載の方法。
【請求項１２】
前記ビットフリップを利用する段階は、
復号が成功するまで、前記特定されたハード誤りを有する前記セルに対応する異なるビット値の組み合わせを利用して前記セルに元々プログラミングされていた前記データを復号する段階を含む、請求項１１に記載の方法。
【請求項１３】
固体メモリデバイスのセルに格納されているデータを、前記データの読み出しに通常利用される参照信号とは異なる、修正された参照信号を利用して読み出す段階と、
前記セルから読み出された前記データに基づいて、前記セルから読み出された前記データの少なくとも１つの値が消失用にマークされることを示す消失フラグを形成する段階と、
前記消失フラグを利用して、前記セルから読み出された前記データを復号する段階と、を備える、方法。
【請求項１４】
前記セルに格納されているデータを読み出す段階は、前記セルに格納されている前記データの再読み出し処理であり、
前記データを読み出す段階は、前記データの復号に失敗したことに呼応して行われる、請求項１３に記載の方法。
【請求項１５】
前記セルに格納されているデータを読み出す段階は、少なくとも２回行われ、
前記通常利用される参照信号より高い、修正された参照信号を利用して前記データを読み出す段階と、
前記通常利用される参照信号より低い、修正された参照信号を利用して前記データを読み出す段階と、を有する、請求項１３に記載の方法。
【請求項１６】
前記消失フラグを形成する段階は、
前記通常利用される参照信号を利用して前記セルから読み出されたデータを、前記修正された参照信号を利用して前記セルから読み出された前記データと比較する段階と、
前記通常利用される参照信号を利用して前記セルから読み出された前記少なくとも１つの値が、前記修正された参照信号を利用して前記セルから読み出された前記少なくとも１つの値とは異なる場合、前記少なくとも１つの値を消失するフラグを立てる段階と、を有する、請求項１３に記載の方法。
【請求項１７】
前記通常利用される参照信号より高い、修正された参照信号を利用して前記データを読み出す段階と、前記通常利用される参照信号より低い、修正された参照信号を利用して前記データを読み出す段階とは、多数回行われ、
前記１以上の消失フラグを形成する段階は、
前記少なくとも１つの値が前記固体メモリデバイスの大部分の復号原理が好む値で読み出される回数が、前記少なくとも１つの値が閾値分、別の値で読み出される回数より小さい場合、前記少なくとも１つの値を消失するフラグを立てる段階と、
前記少なくとも１つの値が前記大部分の復号原理が好む前記値で読み出される回数が、前記少なくとも１つの値が別の値で読み出される回数より大きい場合、前記少なくとも１つの値を前記大部分の復号原理が好む前記値に設定する段階と、を有する、請求項１５に記載の方法。
【請求項１８】
前記消失フラグを利用して、前記セルから読み出された前記データを復号する段階は、
消失復号をする段階を含む、請求項１３に記載の方法。
【請求項１９】
前記セルに格納されている前記データを読み出す段階で利用される各参照信号に対応する誤りの数を取得する段階と、
最少誤り数に対応する前記参照信号を記録して将来の利用に備える段階と、をさらに備える、請求項１３に記載の方法。
【請求項２０】
前記復号されたデータを出力する段階をさらに備える、請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２００８年７月１７日出願の米国仮特許出願番号第６１／０８１，５４６、２００８年８月１３日出願の米国仮特許出願番号第６１／０８８，５１４、および２００８年１１月２６日出願の米国仮特許出願番号第６１／１１８，１５２の優先権を主張しており、これらの内容の全体をここに、本明細書と矛盾しない限りにおいて、全ての目的で参照として組み込む。
【０００２】
本発明の実施形態は、概して、メモリデバイスに係り、より詳しくは、固体メモリデバイスにおけるデータ復帰技術に係る。
【背景技術】
【０００３】
フラッシュメモリ等の固体メモリにおいては、データは通常、電荷トラップまたはセルの分離領域を利用してセルアレイに格納される。例えばセルは、シングルレベルセル（ＳＬＣ）デバイスのセル毎に１ビットの情報を格納してよい、または、マルチレベルセル（ＭＬＣ）デバイスであればセル毎に１を超えるビットを格納してよい。セルで計測された閾値電圧は、そのセルに格納されているデータの値に概ね対応する。
【０００４】
例えばセル材料の消耗および電荷リークを含む多様な理由により、固体メモリのデータロスが生じうる。このようなデータロスがセルの劣化によるものである場合、閾値電圧にシフトが起こる場合があり、劣化したセルではデータ読み出し誤りが発生する。セルの信号を単に再読み出しまたは再送信しても、劣化したセルで同じ誤りが生じることとなり、データは復帰されない。同様に、劣化したセルを消失または再度プログラミングすることによっても、同じ誤りが生じることが多い。
【０００５】
データ密度が増加するにつれて、固体メモリデバイスは、データインテグリティ保護のために誤り訂正符号（ＥＣＣ）に頼るようになっている。誤り訂正符号（ＥＣＣ）復号誤りの場合には、劣化したセルを単に再読み出しまたは再試行しても、一回の読み出し処理と大して変わらない結果になることが多い。再読み出しを行いその後でＥＣＣ復号を行う処理を多数回繰り返しても、例えば復号の失敗が書き込み誤りに起因している場合などは、効果がないことがある。
【発明の開示】
【０００６】
様々な実施形態で、本開示は、固体メモリデバイスのセルに関するハード誤りを特定する段階と、特定されたハード誤りを有するセルの位置を、セルに元々プログラミングされていたデータを復帰させる復号器に提供する段階と、復号器を利用して、セルに元々プログラミングされていたデータを復帰させる段階と、を備える方法を提供する。
【０００７】
様々な実施形態で、本開示は、固体メモリデバイスのセルに格納されているデータを、データの読み出しに通常利用される参照信号とは異なる、修正された参照信号を利用して読み出す段階と、セルから読み出されたデータに基づいて、セルから読み出されたデータの少なくとも１つの値が消失用にマークされる消失フラグを形成する段階と、消失フラグを利用して、セルから読み出されたデータを復号する段階と、を備える方法を提供する。
【図面の簡単な説明】
【０００８】
本発明の実施形態は、以下の詳細な記載を、添付図面とともに読むことで容易に理解されよう。記載を容易にする目的から、同様の参照番号は同様の構造部材を表す。本発明の実施形態は、例示により示されており、添付図面で限定を加えるものではない。
【０００９】
【図１】固体メモリデバイスにおけるデータ復帰方法のフロー図である。
【００１０】
【図２】固体メモリデバイスにおけるハード誤りを特定する方法のフロー図である。
【００１１】
【図３】修正された参照信号および消失復号を利用して調節された再読み出し方法のフロー図である。
【００１２】
【図４】マルチレベルセルのメモリデバイスの閾値電圧分布および参照信号の例示的なプロットの概略を示す。
【００１３】
【図５】修正された参照信号の概略を示す。
【００１４】
【図６】例示的な消失フラグベクトルの概略を示す。
【００１５】
【図７】ここで記載する固体メモリデバイス技術を実装する例示的な電子システムの概略を示す。
【発明を実施するための最良の形態】
【００１６】
本発明の実施形態は、固体メモリデバイスにおける改良されたデータ復帰に関する、および、固体メモリデバイスに基づくデータ記憶システムに関する技術および構成を記載する。以下の詳細な記載においては、この一部を形成する添付図面について言及するが、図面全体にわたり、同様の参照番号は同様の部材を示し、本発明を実施可能な例示的な実施形態が示されている。なお、本発明の範囲を逸脱しないで他の実施形態の利用が可能であり、および構造的または論理的変更も可能である。故に、以下の詳細な記載は、限定的に捉えられるべきものではなく、本発明の実施形態の範囲は、添付請求項およびその均等物により定義される。
【００１７】
記載には「１実施形態において」または「実施形態において」等の言い回しが利用されているが、それぞれ同じまたは異なる実施形態の１以上について言及している場合がある。「幾らかの実施形態において」等の言い回しも繰り返し用いられている。この言い回しは、通常は同じ実施形態については言及していないが、その場合もある。「含む（comprising）」「有する（having）」「含む（including）」等の用語は、そうではないことが文脈から明らかである場合以外は、同義語である。「Ａおよび／またはＢ」という言い回しは、（Ａ）、（Ｂ）、または（ＡおよびＢ）を意味している。「Ａ／Ｂ」という言い回しも、「Ａおよび／またはＢ」同様、（Ａ）、（Ｂ）、または（ＡおよびＢ）を意味している。「Ａ、ＢおよびＣのうち少なくとも１つ」という言い回しは、（Ａ）、（Ｂ）、（Ｃ）、（ＡおよびＢ）、（ＡおよびＣ）、（ＢおよびＣ）または（Ａ、ＢおよびＣ）を意味している。「（Ａ）Ｂ」という言い回しは、（Ｂ）または（ＡおよびＢ）を意味しており、つまり、Ａがオプションであることを示す。
【００１８】
「プレディクタ（predictor）」「オプティマイザ（optimizer）」「アナライザ（analyzer）」または「システムレベルマネージャ（system level manager）」といった用語は、それぞれ、エンティティを実装するハードウェアおよび／またはソフトウェアのことを意味しており、人間は含まない。例えば、「プレディクタ（predictor）」「オプティマイザ（optimizer）」「アナライザ（analyzer）」または「システムレベルマネージャ（system level manager）」が行う処理は、それぞれ、ハードウェアおよび／またはソフトウェア実装が行う処理である（例えば、実際のものを表すデータを、ある状態から別の状態に変換する処理等）。このような処理は、人間が行う精神的な処理は含まない。
【００１９】
また、請求されている主題の理解がし易くなることを最優先して、様々な処理を多数の離散的な動作または処理として記載している場合がある。しかし、記載の順序は、これら処理の順序に従うことが絶対必要であることを示唆しているわけではない。つまり、これら処理は、提示された順番で行われなくてもよい。記載された動作は、記載された実施形態以外の順序で行われてもよい。さらなる実施形態においては、様々な処理を追加することもできるし、および／または、記載された処理を省くこともできる。
【００２０】
図１は、固体メモリデバイスにおけるデータ復帰方法のフロー図である。ブロック１０２において、方法１００は、固体メモリデバイスの１以上のセルに格納されているデータを読み出すことを含む。概して、読み出し処理は、１以上のセルに与えられる閾値電圧を、参照信号と比較して、セルのプログラミング状態を判断することにより行われる。データの１以上のビットが各セルに格納されてよい。固体メモリデバイスは、フラッシュメモリ等の半導体材料に基づくメモリデバイスを含むことができるが、それに限定はされない。
【００２１】
ブロック１０４において、方法１００は、読み出し信号を復号することを含む。復号は、例えば、様々なソフトまたはハードの復号器（例えば、ＢＣＨ（Bose, Ray-Chaudhuri, Hocquenghem）復号器、またはＬＤＰＣ（low-density parity-check）復号器）により行われてよい。復号は、誤り訂正符号（ＥＣＣ）復号および関連技術（例えば、リード‐ソロモン復号および／またはハミング復号）を含みうる。主題はこの点に限定されず、復号は他の実施形態の他の適切な復号技術により行うこともできる。
【００２２】
ブロック１０６において、復号に失敗したか成功したかの判断が行われる。復号が成功した場合、ブロック１０８でデータが出力される。復号が失敗した場合、ブロック１１０で１以上のハード誤りが特定される。ハード誤りは、通常修復不可能な劣化したセルに関する読み出し誤りおよび／または復号誤りを含む。つまり、通常、消失および再プログラミング処理では、このようなセルのハード誤りは訂正できない。ブロック１１０における１以上のハード誤りを特定する実施形態を、図２を参照しながら詳述する。
【００２３】
図２は、１以上のハード誤りを特定する方法２００を示す。方法２００は、ブロック２０２で、ブロック１０６で復号に失敗した１以上のセルのデータを別の位置にコピーすることを含む。ブロック１０６で復号に失敗した１以上のセルは、所望の場合消失することができる。そしてブロック２０４で既知のデータパターンで１以上のセルを再プログラミングし、ブロック２０６で１以上の再プログラミングされたセルを読み出し、ブロック２０８で既知のデータパターンを読み出されたデータパターンと比較して、ブロック２１０でハード誤りを起こした位置を特定することで、１以上のハード誤りが特定される。例えば、読み出されたデータがそのセルの既知のデータと異なっている場合、そのセルはハード誤りを有するとして特定されてよい。
【００２４】
ブロック２１２で、同じまたは異なる既知のデータパターンを利用して１回以上ブロック２０４、２０６、２０８、および２１０の処理を繰り返すことで、ハード誤りをより正確にまた完全に特定することができる。ブロック２０４で再プログラミングされた既知のデータパターンのうち少なくとも１つは、ブロック１０２で読み出されたデータに類似していてよく、またはそれに基づいていてよい。ブロック２１６で、ハード誤りを起こした位置を出力してよい。１実施形態においては、既知のデータは、ブロック１０２で原プログラミングデータについて読み出されたデータを含み、これがブロック１０６で１以上のセルの復号失敗となる。
【００２５】
図１に戻ると、ブロック１１２において、方法１００は、１以上のハード誤りの位置を復号器に提供することを含む。方法２００のブロック２１６で（図２）、１以上のハード誤りの位置が出力され、復号器に提供されて、復号を向上させる。特定されたハード誤りを有する劣化したセルに格納されているデータビットは、例えば、ＥＣＣ復号用の消失箇所である旨を示すマークまたはフラグを付されてよい。他の実施形態においては、特定されたハード誤りを有するセルの位置を記録および／または提供するのに、他の技術を実装することができる。
【００２６】
ブロック１１４において、方法１００は、ハード誤りの位置を利用して復号を行い、ブロック１０２で読み出される前に１以上のセルにプログラミングされていたデータである原プログラミングデータを復帰させることを含む。ハード誤りの位置を通知された復号器は、誤り訂正機能が向上していてよい。例えば、ＥＣＣ復号器は、ハード誤りを特定されたビットを消失して復号を続けてよく、または、誤りを特定されたビットをフリップして復号を続けてもよい。消失復号においては、ハード誤りの位置を通知された復号器は、２個分の消失を訂正することができ、これにより、リード‐ソロモン符合用のＴ個の誤ったシンボルを、誤り訂正パワーのＴ個のシンボル（error correction power T symbol）と比較する。故に、消失の復号（erasure decoding）を利用すると、誤り位置が分かっている場合、ＥＣＣ復号器が訂正可能な誤りの数を増やすことが出来るようになる。別の例でいうと、情報復号器は、ビットフリップ技術を実装することで、ハード誤りを特定されたビットの様々な値の組み合わせで復号を再試行することができる。通知されたハード誤りの位置で復号することで、原プログラミングデータを復帰させることができる。
【００２７】
１実施形態においては、原プログラミングデータはブロック１１４で消失復号技術により復帰される。消失によるハード復号の１例を以下に示して、ここで記載する原理を明らかにする。例えば、原プログラミングデータは、誤り訂正パワーＴ＝１を有するハミング符号で符号化されたビット値（１  ０  ０  ０  １  １  ０）を含んでよい。ブロック１０２において、読み出されたデータは、例えば、第３および第４のビット（１  ０  １  １  １  １  ０）で２つの誤りを有するビット値を提供していることがある。この読み出されたデータの２つの誤りはハミング符号訂正機能を超えているので、ブロック１０６でＥＣＣ復号失敗となる。ブロック２０２でこのデータは別のブロックにコピーされて、現在のブロックを消失することができ、これにより、ブロック１１０で１以上のハード誤りを特定することができる。
【００２８】
ブロック２０４において、セルを既知のデータパターンで再プログラミングする。１実施形態においては、既知のデータパターンは、ブロック１０２で読み出されたデータから各々スイッチされたビット値を含む。例えば、ブロック１０２で読み出されたデータが（１  ０  １  １  １  １  ０）である場合、既知のデータパターンは（０  １  ０  ０  ０  ０  １）を含んでよい。ブロック２０６で既知のデータパターンを読み出すことで、ビット値（０  １  １  １  ０  ０  １）を提供することができるが、ブロック２０８および２１０によれば、このビット値は、読み出されたデータが第３および第４ビット位置において既知のデータパターンとは異なっているので、第３および第４ビット位置にハード誤りがあることを示している。
【００２９】
ブロック１１０で特定されたハード誤り位置に応じて、原プログラミングデータの第３および第４ビット位置を消失して復号する（ブロック１１４）。この２つの消失により、ハミング復号を成功させ、復帰されたデータ（１  ０  ０  ０  １  １  ０）を出力することができる（ブロック１１６）。
【００３０】
同様の原理を利用することで消失によるソフト復号を行うことができる。例えば、ハード誤りを特定された特定するビットに対して、ＬＬＲ（log-likelihood ratio）をゼロに設定することができる。読み出されたデータＬＬＲが（−９．２  ＋１０．５  ＋１３．２  ＋１１．２  −３  −９  ＋１６）を含み、第３および第４ビットがハード誤りを特定された場合、ソフト復号器への入力は、例えばＬＬＲ（−９．２  ＋１０．５  ０  ０  −３  −９  ＋１６）を含みうる。
【００３１】
別の実施形態においては、ブロック１１４で、ビットフリップ技術により原プログラミングデータを復帰させる。ビットフリップにおいては、ビット値の組み合わせを、復号が成功するまで、特定されたハード誤り位置にプログラミングし続ける。例えば、ハミング符号で符号化された原プログラミングデータ（１  ０  ０  ０  １  １  ０）が、ブロック１０２で（１  ０  １  １  １  １  ０）として読み出されてしまった場合、２つの誤りは誤り訂正Ｔ＝１であるハミング符号訂正機能を超えているので、ブロック１０６でＥＣＣ復号の失敗が生じる。ブロック２０６および２０８で、既知のデータ（０  １  ０  ０  ０  ０  １）を再プログラミングして、既知のデータの読み出しデータ（０  １  １  １  ０  ０  １）を既知のデータと比較することで、ブロック２１０で第３および第４ビット位置におけるハード誤りが特定される。
【００３２】
ひとたびハード誤り位置が特定されると、原読み出しデータのハード誤り位置におけるビットの値をフリップする（ブロック１０２）。例えば、読み出しデータ（１  ０  １  １  １  １  ０）の第３ビットを、１から０にフリップして、（１  ０  ０  １  １  １  ０）として提供することができる。この段階では、１つの誤りのみが残っているので、ブロック１１４でハミング符号が残りの誤りの訂正に成功し、復帰データ（１  ０  ０  ０  １  １  ０）をブロック１１６で出力する。
【００３３】
これまではビットフリップを、ハード復号器の例を利用して説明したが、ビットフリップはソフト復号器にも実装可能である。ソフト復号においては、ハード誤り位置に対応するビットを、排他的に反対の符号（sign）にフリップしてよい。例えば、ＬＬＲは、フリップされた値に対応する符号を有するように飽和され、または所望の大きさに設定されうる。読み出しデータＬＬＲが（−９．２  ＋１０．５  ＋１３．２  ＋１１．２  −３  −９  ＋１６）を含み、第３および第４ビットがハード誤り位置に対応している場合、第３ビットをフリップして飽和させ、（−９．２  ＋１０．５  −１６  ＋１１．２  −３  −９  ＋１６）をブロック１１４の復号用に提供してよい。復号が成功するとブロック１１６でその値を出力し、失敗するとビットフリップを続行してよい。例えば、復号が失敗した場合、第４ビットをフリップして飽和させ、再度復号に回してよい。復号がさらに失敗した場合、第３および第４ビット両方をフリップして飽和させて、再度復号に回してよい。ハード誤り位置のビットフリップは、任意の値の組み合わせで任意の順序で行われてよい。
【００３４】
図３は、修正された参照信号および消失復号を利用して調節された再読み出しの方法３００のフロー図である。ブロック３０２において、方法３００は、固体メモリデバイスの１以上のセルに格納されているデータを読み取ることを含む。１以上のセルは、例えば、１つのセルに与えられる閾値電圧を参照信号と比較して、セルのプログラミング状態を判断することにより、読み出されてよい。異なるセルの閾値電圧は様々な理由から異なっていてよい。この理由の例には、プログラミングおよび／またはセル材料の消耗およびリークなどの他のセルの性質が異なっていること等が含まれる。
【００３５】
図４を参照すると、例示的なプロット４００は、２ビットセルの４つのビット値（１１）（１０）（０１）（００）各々について理想的な平均値（mean）Ｓ１、Ｓ２、Ｓ３、Ｓ４の周りに統計的に分布する閾値電圧分布４０２、４０４、４０６、４０８の概略を示す。プロット４００は、さらに、セルのプログラミング状態を判断するのに利用される参照信号ｖ１、ｖ２、ｖ３も示している。例えば、あるセルの閾値電圧が、電圧軸Ｖ沿いに参照信号ｖ１より低いことが分かると、そのセルに格納されているデータは（１１）として読み出される。
【００３６】
共有領域４１０、４１２、４１４にある閾値電圧を有するセルは、それらが参照信号ｖ１、ｖ２、ｖ３に近接していることから、読み出しおよび／または復号誤りを受け易い。これらセルにおいては、読み出し処理中の小さなノイズまたは妨害でさえ、最も近接している参照信号を介して検出されたビット値に変化をきたす。このようなマージナルセルは、消失復号の有効な消失対象を提供しうる。
【００３７】
図３に戻ると、方法３００はさらに、ブロック３０４で読み出しデータを復号することを含む。復号が成功すると、ブロック３０６で復号データを出力する。復号が失敗すると、ブロック３０８で、修正された参照信号を利用してデータを再読み出しする。修正された参照信号を再読み出しすることで、より有効な消失を生成することができ、これにより、より効果的な消失復号が行われる。
【００３８】
マージナルセルは、再読み出し中に参照信号を修正することでより効果的に特定される（ブロック３０８）。図５を参照すると、例えば、星印で示されている閾値電圧ｒ１は、陰を付けられた領域５１０内の参照信号ｖ１の付近にあり、参照信号ｖ１は通常、データ読み出しに利用される。ｒ１が、例えば、通常利用される参照信号ｖ１を利用して読み出される場合、値は（１１）として検知される。しかし、修正された参照信号ｖ１'を利用する場合、ｒ１の検知データは（１１）ではなく（１０）になる。修正された参照信号を利用した再読み出しから得られるデータを互いに、および／または、通常の参照信号を利用して得られる読み出しデータと比較することができる。これらデータのいずれかが異なっている場合、そのデータの位置を消失復号の消失箇所としてマークまたはフラグを付す。
【００３９】
図３に戻ると、方法３００は、ブロック３１０で読み出しデータを復号することを含む。ブロック３０８で、修正された参照信号を利用してデータを再読み出しすることで、復号を成功させる値が提供されてよい。復号が成功すると、ブロック３０６で復号データが出力されてよい。代替的な実施形態においては、復号が成功すると、ブロック３１２で、最少誤りに対応する参照信号を記録しておいて将来の利用に備えさせる。例えば、復号器は、ブロック３０８および３１０で、利用される参照信号に対応する読み出しおよび復号中に遭遇した誤りの数を取得してよい。固体メモリデバイスに連結されている、または、固体メモリデバイス内にあるシステムにより、最少誤りに対応する参照信号をセーブさせ、将来、マージナルセルからデータを読み出すのに利用するのに備えさせてよい。様々な実施形態においては、ブロック３１０および３１２は利用せず、ブロック３１４をブロック３０８の後に行う。
【００４０】
ブロック３１４においては、方法３００は、ブロック３０８で読み出されたデータに基づいて１以上の消失フラグを形成することを含む。消失フラグは、セルから読み出されたデータの少なくとも１つの値を消失用にマークすることを示してよい。少なくとも１つの値は、例えば、セルから読み出されたデータのビット値であってよい。例えば、ブロック３０８によるそれぞれ異なる再読み出しで読み出されたデータ同士を比較して、および／または、該データとブロック３０２により通常利用される参照信号を利用して得られた読み出しデータとを比較して、存在する差異を消失復号の際の消失位置としてマークしてよい。
【００４１】
図６を参照すると、様々な実施形態により利用されうる例示的な消失フラグベクトル６００が概略的に示されている。Ｄと示されている読み出しデータは、通常利用される参照信号（例えば図５のｖ１）に対応しており、ブロック３０２の読み出しデータから得ることができる。Ｄ'および Ｄ''と示されている読み出しデータは、それぞれ異なる修正された参照信号（例えば図５のｖ１'およびｖ１''）に対応しており、ブロック３０８の読み出しデータから得ることができ、これらをブロック３１８で繰り返してもよい。消失フラグベクトル６００は、示されているようにＸＯＲ（Ｄ，Ｄ'）およびＸＯＲ（Ｄ'，Ｄ''）のＯＲを利用して形成することもでき、ここで、陰を付けられたデータ位置は、フラグを付された消失箇所を示す。主題は本例に限定されず、ブロック３０８のいずれかの再読み出し処理中にビットが変更される場合、ビットの消失フラグを様々な適切な技術を利用して設定することもできる。
【００４２】
多数の再読み出しにおいて消失箇所をマークする技術の他の例には、例えば、ビットが固体メモリデバイスの多数決復号原理で多数を占める値として読み出される回数が、ビットが閾値分（例えば１という閾値）別の値で読み出される回数よりも小さい場合、１以上のマージナルセルに関するビットを消失に対応するフラグを立て、小さくない場合には、ビットを多数決復号原理で多数を占める値に設定することを含む。消失フラグは、例えば、ビット毎またはシンボル毎に設定してよい。
【００４３】
ブロック３１６において、方法３００は、１以上の消失フラグを利用して読み出しデータを復号することを含む。成功した場合、ブロック３１２で最少誤りに対応する参照信号をオプションとして記録して、ブロック３０６で復号データを出力する。
【００４４】
ブロック３０８、３１０、３１４、および３１６の処理は、ブロック３１６で復号が成功するまで、または、ブロック３１８で所定の再読み出し数を超えるまで、繰り返されてよい。１実施形態においては、ブロック３０８の再読み出し処理は、少なくとも２回行われる。このような再読み出し処理は、読み出すセルに通常利用される参照信号より高い、修正された参照信号（例えば電圧）を利用してデータを読み出すこと、および、通常利用される参照信号より低い修正された参照信号を利用してデータを読み出すことを含む。ブロック３１８では適切な任意の数の再読み出し回数を閾値として利用してよい。閾値を超えると、ブロック３２０で復号失敗が生じうる。
【００４５】
ここで記載した技術は、ソフトウェア、ハードウェア、またはファームウェア、またはこれらの組み合わせで実装されてよい。ここで記載した処理は、例えば、復号器または信号トランスミッタおよび／またはレシーバにより行われてよい。様々な実施形態においては、プレディクタ、オプティマイザ、アナライザ、またはシステムレベルマネージャを利用して、ここに記載した動作を行ってよい。様々な実施形態においては、ここで記載した技術は、これら機能を行うよう設計されたモジュールにより行われる。ここで利用されるモジュールとう用語は、ＡＳＩＣ（特定用途向けＩＣ）、電子回路、１以上のソフトウェアまたはファームウェアプログラムを実行するプロセッサ（共有、専用、またはグループ）およびメモリ、組み合わせ論理回路、および／または、記載した機能を提供する他の適切なコンポーネントのことを示す。
【００４６】
図７は、ここで記載した技術および構成を実装する例示的な電子システムの概略図である。電子システム７００は、ここで既に記載した実施形態に適合していてよい。電子システム７００は、例えばデスクトップコンピュータデバイス、ラップトップコンピュータデバイス、パソコン（ＰＣ）、サーバ、電話機、セルラー式のＰＤＡ（cellular-enabled PDA）を含む携帯情報端末（ＰＤＡ）、セットトップボックス、ポケットＰＣ、タブレットＰＣ、ＤＶＤプレーヤ、ビデオプレーヤ、複写機、印刷機、または多機能デバイス（ＭＦＤ）を含む様々な電子デバイス（有線または無線）を表すことを意図しているが、これらの例に限定はされず、他の電子デバイスを含んでもよい。代替的な電子システムには、これより多いまたは少ない数のコンポーネントが含まれてよく、および／または異なるコンポーネントが含まれてもよい。
【００４７】
電子システム７００は、情報通信用にバス７０５、または他の通信デバイスまたはインタフェースを含み、さらに、情報処理用にバス７０５に連結されたプロセッサ７１０を含む。バス７０５は、単一のシステムバスであっても、同じまたは異なる種類の多数のバスが互いにブリッジされたものであってもよい。電子システム７００は１以上のプロセッサおよび／またはコプロセッサを含んでよい。
【００４８】
１実施形態においては、電子システム７００は、バス７０５に連結された、ランダムアクセスメモリ（ＲＡＭ）または他の記憶デバイス（「メモリ７２０」と称されてよい）を含む。メモリ７２０はさらに、プロセッサ７１０の命令実行中に、一次変数または他の仲介情報を格納するのに利用されてよい。メモリ７２０は、フラッシュメモリデバイスを含みうる。１実施形態においては、メモリ７２０は、ここで記載した固体メモリデバイスを含む。プロセッサ７１０はメモリ７２０と連結されることで、格納している命令を実行し、命令が実行されることで、記載した動作または処理が行われる。
【００４９】
電子システム７００はさらに、バス７０５に連結されてプロセッサ７１０用の静的な情報および命令を格納する読み取り専用メモリ（ＲＯＭ）および／または他の静的記憶デバイス７３０を含む。データ記憶デバイス７４０はバス７０５に連結されて、情報および命令を格納する。データ記憶デバイス７４０は、例えば、磁気ハードディスクドライブ（ＨＤＤ）を含みうる。
【００５０】
１実施形態では製品が開示される。製品は、メモリ７２０、静的記憶デバイス７３０、データ記憶デバイス７４０、または、実行されることで記載した動作を行う命令が記憶された他のコンピュータ読み取り可能な媒体のような記憶媒体を含む。様々な実施形態では、命令はファームウェアまたはソフトウェア形式であってよい。
【００５１】
電子システム７００は、バス７０５を介して、陰極線管（ＣＲＴ）または液晶ディスプレイ（ＬＣＤ）等のディスプレイ７５０に連結されて、ユーザに情報を表示する。アルファニューメリックおよび他のキーを含むアルファニューメリック入力デバイス７６０がバス７０５に連結されて、情報およびコマンド選択をプロセッサ７１０に伝送してよい。カーソル制御７７０が別の種類の入力デバイスであってよく、例えば、マウス、トラックボール、またはカーソル指向キー（cursor direction key）を含んで、情報およびコマンド選択をプロセッサ７１０に伝送してよく、および、ディスプレイ７５０上のカーソルの動きを制御してよい。
【００５２】
電子システム７００はさらに、１以上のネットワークインタフェース７８０を含み、ローカルエリアネットワーク等のネットワークへのアクセスを可能としてよいが、この点に限定はしない。ネットワークインタフェース７８０は、例えば、１以上のアンテナを表してよいアンテナ７８５を有する無線ネットワークインタフェースを含みうる。ネットワークインタフェース７８０は、例えば、イサーネットケーブル、同軸ケーブル、光ファイバケーブル、シリアルケーブル、またはパラレルケーブルを含む有線ネットワークインタフェースを含んで、ネットワークケーブル７８７を介して遠隔のデバイスと通信してよい。
【００５３】
１つの実施形態においては、ネットワークインタフェース７８０は、例えば、ＩＥＥＥ８０２．１１ｂおよび／またはＩＥＥＥ８０２．１１ｇ規格等のアイトリプルイー（ＩＥＥＥ）規格に準拠することで、ローカルエリアネットワークへのアクセスを可能としてよく、および／または、無線ネットワークインタフェースは、例えばブルートゥース規格に準拠することでパーソナルエリアネットワークへのアクセスを可能としてよい。他の無線ネットワークインタフェースおよび／またはプロトコルをサポートすることもできる。
【００５４】
ＩＥＥＥ８０２．１１ｂは、１９９９年９月１６日承認の「Local and Metropolitan Area Networks, Part 11:Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications: Higher-Speed Physical Layer Extension in the 2.4 GHz Band」という名称のＩＥＥＥ規格８０２．１１ｂ−１９９９、および関連ドキュメントに対応する。ＩＥＥＥ８０２．１１ｇは、２００３年６月２７日承認の「Local and Metropolitan Area Networks, Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, Amendment 4: Further Higher Rate Extension in the 2.4 GHz Band」という名称のＩＥＥＥ規格８０２．１１ｇ−２００３、および関連ドキュメントに対応していてよい。ブルートゥースプロトコルは、２００１年２月２２日にBluetooth Special Interest Group, Inc.により発行された「Specification of the Bluetooth System: Core, Version 1.1」記載されている。ブルートゥース規格のこれの前後のバージョンもサポートされてよい。
【００５５】
これまで幾らかの実施形態を記載してきたが、記載および例示した実施形態の代わりに、本発明の範囲から逸脱しない範囲で、様々な種類の代替的および／または均等実施形態または実装例を利用して同じ目的を達成することができる。本願はここで述べた実施形態の変形例または変更例を網羅することを意図している。故に、本発明の実施形態は、請求項およびその均等物によってのみ限定されることを明示する。
【図１】
2010092459.tif 000003
【図２】
2010092459.tif 000004
【図３】
2010092459.tif 000005
【図４】
2010092459.tif 000006
【図５】
2010092459.tif 000007
【図６】
2010092459.tif 000008
【図７】
2010092459.tif 000009
【外国語明細書】
2010092459.tif 000010
2010092459.tif 000011
2010092459.tif 000012
2010092459.tif 000013
2010092459.tif 000014
2010092459.tif 000015
2010092459.tif 000016
2010092459.tif 000017
2010092459.tif 000018
2010092459.tif 000019
2010092459.tif 000020
2010092459.tif 000021
2010092459.tif 000022
2010092459.tif 000023
2010092459.tif 000024
2010092459.tif 000025
2010092459.tif 000026
2010092459.tif 000027
2010092459.tif 000028
2010092459.tif 000029
2010092459.tif 000030
2010092459.tif 000031
2010092459.tif 000032
2010092459.tif 000033
2010092459.tif 000034
2010092459.tif 000035
2010092459.tif 000036
2010092459.tif 000037