(57)【要約】      （修正有）【課題】片側ソフト読み出しにより、読み出しの遅延を著しく増大させることなく、レギュラー読み出しと比較して改善された誤り訂正を可能とする。【解決手段】フラッシュストレージデバイスは、ストレージセルアレイと、ストレージセルアレイにアクセスするコントローラとを含む。コントローラは、ストレージセルの少なくとも１つの読み出しを行って、所期の読み出し基準電圧で読み出しストローブを印加させ、また所期の読み出し基準電圧の片側のみにおける電圧で１または複数の追加的な読み出しストローブを印加させる。これによりコントローラは、読み出しストローブおよび１または複数の追加的な読み出しストローブに対するストレージセルの電気的応答に基づいて、論理値と論理値の精度の信頼度または信頼性を示す１または複数のビットとを提供する。【選択図】図３
2019194841.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュストレージデバイスであって、
ストレージセルアレイと、
前記ストレージセルアレイにアクセスするコントローラであって、ストレージセルの少なくとも１つの読み出しを行うコントローラと、
前記少なくとも１つの読み出しに応答して、
所期の読み出し基準電圧で前記ストレージセルに読み出しストローブを印加し、
前記所期の読み出し基準電圧の片側のみにおける電圧で前記ストレージセルに１または複数の読み出しストローブを印加する
アクセス回路と
を備え、
前記コントローラは、前記読み出しストローブおよび前記１または複数の読み出しストローブに対する前記ストレージセルの電気的応答に基づいて、論理値と前記論理値の精度の信頼性を示す１または複数のビットとを提供する、
フラッシュストレージデバイス。
【請求項２】
前記コントローラは、１または複数の過去の読み出しからの誤り情報に基づいて、前記所期の読み出し基準電圧の片側のみにおける電圧で前記１または複数の読み出しストローブを引き起こすよう、前記少なくとも１つの読み出しを行う、
請求項１に記載のフラッシュストレージデバイス。
【請求項３】
前記コントローラはさらに、
前記１または複数の過去の読み出しにおいて１−０誤りまたは０−１誤りのどちらがより多く生じたかを決定することを含めて、前記誤り情報を決定する、
請求項２に記載のフラッシュストレージデバイス。
【請求項４】
１−０誤りまたは０−１誤りのどちらがより多く生じたかの前記決定は、同じページからの符号語における０−１誤りビットおよび１−０誤りビットのカウントに基づく、
請求項３に記載のフラッシュストレージデバイス。
【請求項５】
１−０誤りまたは０−１誤りのどちらがより多く生じたかの前記決定は、訂正不可能な部分的に復号されたＥＣＣ（誤り訂正符号）符号語において特定される０−１誤りビットおよび１−０誤りビットのカウントに基づく、
請求項３に記載のフラッシュストレージデバイス。
【請求項６】
符号語の少なくとも一部分に予め定められた数の０および１を含める符号によって符号語が生成され、
１−０誤りまたは０−１誤りのどちらがより多く生じたかの前記決定は、読み出された符号語における１および０の数の、前記予め定められた１および０の数との比較に基づく、
請求項３に記載のフラッシュストレージデバイス。
【請求項７】
前記論理値と信頼性を示す情報とに基づいて訂正不可能である誤りに応答して、前記コントローラは、前記所期の読み出し基準電圧の両側における読み出しストローブの印加を引き起こすよう、１または複数の追加的な読み出しを行う、
請求項１から６のいずれか一項に記載のフラッシュストレージデバイス。
【請求項８】
１−０誤りがより多いことを前記誤り情報が示す場合、前記アクセス回路は、前記所期の読み出し基準電圧の、論理０を示すレベルに最も近い側における電圧で前記１または複数の読み出しストローブを印加し、
０−１誤りがより多いことを前記誤り情報が示す場合、前記コントローラは、前記所期の読み出し基準電圧の、論理１を示すレベルに最も近い側における電圧で前記１または複数の読み出しストローブを印加する、
請求項２から７のいずれか一項に記載のフラッシュストレージデバイス。
【請求項９】
前記ストレージセルアレイは、マルチビットストレージセルを含むＮＡＮＤフラッシュアレイを含む、
請求項１から８のいずれか一項に記載のフラッシュストレージデバイス。
【請求項１０】
前記アクセス回路は、最も低い２つのレベル（Ｌ０およびＬ１）の間で前記１または複数の読み出しストローブを印加し、より高いレベルについては所期の読み出し基準電圧の片側における追加的な読み出しストローブを印加しない、
請求項９に記載のフラッシュストレージデバイス。
【請求項１１】
フラッシュストレージコントローラであって、
ストレージセルの少なくとも１つの読み出しを行うコマンド回路であって、前記少なくとも１つの読み出しは、所期の読み出し基準電圧での前記ストレージセルへの読み出しストローブの印加と、前記所期の読み出し基準電圧の片側のみにおける電圧での前記ストレージセルへの１または複数の読み出しストローブの印加とを引き起こす、コマンド回路と、
読み出しデータをホストに伝送するインターフェース回路であって、前記読み出しデータは、前記読み出しストローブおよび前記１または複数の読み出しストローブに対する前記ストレージセルの電気的応答に基づいた、論理値と前記論理値の精度の信頼性を示す１または複数のビットとを含む、インターフェース回路と
を備える、フラッシュストレージコントローラ。
【請求項１２】
前記コマンド回路は、１または複数の過去の読み出しからの誤り情報に基づいて、前記所期の読み出し基準電圧の片側のみにおける電圧での前記１または複数の読み出しストローブを引き起こすよう、前記少なくとも１つの読み出しを行う、
請求項１１に記載のフラッシュストレージコントローラ。
【請求項１３】
前記コマンド回路はさらに、
前記１または複数の過去の読み出しにおいて１−０誤りまたは０−１誤りのどちらがより多く生じたかを決定することを含めて、前記誤り情報を決定する、
請求項１２に記載のフラッシュストレージコントローラ。
【請求項１４】
１−０誤りまたは０−１誤りのどちらがより多く生じたかの前記決定は、同じページからの符号語における０−１誤りビットおよび１−０誤りビットのカウントに基づく、
請求項１３に記載のフラッシュストレージコントローラ。
【請求項１５】
１−０誤りまたは０−１誤りのどちらがより多く生じたかの前記決定は、訂正不可能な部分的に復号されたＥＣＣ（誤り訂正符号）符号語において特定される０−１誤りビットおよび１−０誤りビットのカウントに基づく、
請求項１３に記載のフラッシュストレージコントローラ。
【請求項１６】
符号語の少なくとも一部分に予め定められた数の０および１を含める符号によって符号語が生成され、
１−０誤りまたは０−１誤りのどちらがより多く生じたかの前記決定は、読み出された符号語における１および０の数の、前記予め定められた１および０の数との比較に基づく、
請求項１３に記載のフラッシュストレージコントローラ。
【請求項１７】
前記論理値と信頼性を示す情報とに基づいて訂正不可能である誤りに応答して、前記コマンド回路は、前記所期の読み出し基準電圧の両側における読み出しストローブの印加を引き起こすよう、１または複数の追加的な読み出しを行う、
請求項１１から１６のいずれか一項に記載のフラッシュストレージコントローラ。
【請求項１８】
１−０誤りがより多いことを前記誤り情報が示す場合、前記１または複数の読み出しストローブは、前記所期の読み出し基準電圧の、論理０を示すレベルに最も近い側における電圧で印加され、
０−１誤りがより多いことを前記誤り情報が示す場合、前記１または複数の読み出しストローブは、前記所期の読み出し基準電圧の、論理１を示すレベルに最も近い側における電圧で印加される、
請求項１２から１７のいずれか一項に記載のフラッシュストレージコントローラ。
【請求項１９】
前記１または複数の読み出しストローブは、最も低い２つのレベル（Ｌ０およびＬ１）の間で印加され、より高いレベルについては所期の読み出し基準電圧の片側における追加的な読み出しストローブが印加されない、
請求項１２から１８のいずれか一項に記載のフラッシュストレージコントローラ。
【請求項２０】
プロセッサと、
フラッシュストレージデバイスと
を備えるシステムであって、
前記フラッシュストレージデバイスは、
ストレージセルアレイと、
前記ストレージセルアレイにアクセスするコントローラであって、ストレージセルの少なくとも１つの読み出しを行うコントローラと、
前記少なくとも１つの読み出しに応答して、
所期の読み出し基準電圧で前記ストレージセルに読み出しストローブを印加し、
前記所期の読み出し基準電圧の片側のみにおける電圧で前記ストレージセルに１または複数の読み出しストローブを印加する
アクセス回路と
を含み、
前記コントローラは、前記読み出しストローブおよび前記１または複数の読み出しストローブに対する前記ストレージセルの電気的応答に基づいて、論理値と前記論理値の精度の信頼性を示す１または複数のビットとを提供する、
システム。
【請求項２１】
前記コントローラは、１または複数の過去の読み出しからの誤り情報に基づいて、前記所期の読み出し基準電圧の片側のみにおける電圧での前記１または複数の読み出しストローブを引き起こすよう、前記少なくとも１つの読み出しを行う、
請求項２０に記載のシステム。
【請求項２２】
前記コントローラはさらに、
前記１または複数の過去の読み出しにおいて１−０誤りまたは０−１誤りのどちらがより多く生じたかを決定することを含めて、前記誤り情報を決定する、
請求項２１に記載のシステム。
【請求項２３】
１−０誤りまたは０−１誤りのどちらがより多く生じたかの前記決定は、同じページからの符号語における０−１誤りビットおよび１−０誤りビットのカウントに基づく、
請求項２２に記載のシステム。
【請求項２４】
１−０誤りまたは０−１誤りのどちらがより多く生じたかの前記決定は、訂正不可能な部分的に復号されたＥＣＣ（誤り訂正符号）符号語において特定される０−１誤りビットおよび１−０誤りビットのカウントに基づく、
請求項２２に記載のシステム。
【請求項２５】
符号語の少なくとも一部分に予め定められた数の０および１を含める符号によって符号語が生成され、
１−０誤りまたは０−１誤りのどちらがより多く生じたかの前記決定は、読み出された符号語における１および０の数の、前記予め定められた１および０の数との比較に基づく、
請求項２２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本説明は、概してフラッシュメモリなどのメモリデバイスおよびストレージデバイスに関し、より詳細な説明は、フラッシュメモリの読み出しを行うための技法に関する。
【背景技術】
【０００２】
モバイル、クライアント、およびエンタープライズの区分にわたるシステムにおいて、ストレージにフラッシュメモリ（例えばソリッドステートドライブ（ＳＳＤ）など）を用いる動向がある。ＮＡＮＤフラッシュメモリなどのフラッシュストレージは、不揮発性ストレージ媒体である。不揮発性ストレージとは、デバイスへの電力が遮断された場合であっても確定的な状態を有するストレージを指す。揮発性ストレージと同様に、不揮発性ストレージの読み出しには、誤り（ｅｒｒｏｒ）が生じることがある。フラッシュストレージデバイスは通常、誤りを検出および訂正するための技法を実装するが、全ての誤りが訂正可能ではなく、また誤り訂正技法は通常、読み出しオペレーションに遅延を上乗せする。
【図面の簡単な説明】
【０００３】
以下の説明は、本発明の実施形態の実装例として供される図示を有する図についての議論を含む。図面は、限定としてではなく例として理解されるべきである。本明細書において用いる場合、１または複数の「実施形態」または「例」という記載は、本発明の少なくとも１つの実装形態に含まれる特定の特徴、構造、および／または特性を説明するものとして理解されるべきである。よって、本明細書において現れる「一実施形態において」または「一例において」などの文言は、本発明の様々な実施形態および実装形態を説明するものであり、必ずしもその全てが同じ実施形態を指すとは限らない。ただし、それらは必ずしも相互に排他的であるとも限らない。
【０００４】
【図１】マルチレベルフラッシュストレージセルの電圧確率分布の例を示す。
【０００５】
【図２Ａ】従来のソフト読み出しの例を示す。
【図２Ｂ】片側ソフト読み出しの例を示す。
【０００６】
【図２Ｃ】Ｌ０とＬ１との間のみで行われる片側ソフト読み出しの例を示す。
【０００７】
【図３】片側ソフト読み出しを行うための方法の例を示すフローチャートである。
【０００８】
【図４】片側ソフト読み出しが実装され得るフラッシュストレージデバイスを有するシステムのブロック図の例を示す。
【０００９】
【図５】片側ソフト読み出しが実装され得るコンピューティングシステムの例示的な図示を提供する。
【００１０】
以下は、特定の詳細および実装形態についての説明であり、下記で説明する実施形態の一部または全てを図示し得る図の説明を含むとともに、本明細書に提示する発明概念のその他の潜在的な実施形態または実装形態についても論じる。
【発明を実施するための形態】
【００１１】
片側ソフト読み出しを本明細書に説明する。一例において、片側ソフト読み出しは、所期の基準読み出し電圧よりも上または下のいずれかである１または複数の追加的な読み出しストローブを印加することを伴う。所期の読み出し基準電圧の片側に印加される追加的な読み出しストローブは、読み出された値の信頼性に関する情報（「ソフト情報」と称する場合がある）をもたらすことができる。
【００１２】
フラッシュストレージデバイスに格納されたデータにアクセスするための読み出しオペレーションは、通常、１または複数の読み出し電圧をストレージセルに印加して、セルがその（１または複数の）印加電圧において電流を伝導するかを調べることを伴う。単一セルに複数ビットを格納できるフラッシュストレージセルにおいては、複数レベルの読み出し電圧（読み出しストローブまたは読み出しパルスと称する場合がある）がセルに印加される。次いで、セルが複数の異なる読み出し電圧において電流を伝導するか否かに基づいて、格納されている値を決定することができる。印加された読み出し電圧が閾値電圧よりも上である（例えば、セルがプログラミングされているレベルにおける閾値電圧よりも上である）場合、セルは電流を伝導することになる。印加された読み出し電圧が閾値電圧よりも下である場合、セルは電流を伝導しないことになる。
【００１３】
図１は、マルチレベルフラッシュストレージセルの電圧確率分布の例を示す。ｘ軸は閾値電圧であり、ｙ軸は確率である。一例において、ＮＡＮＤメモリは、フラッシュメモリセルまたはトランジスタの浮遊ゲート内に様々な数の電子を格納することにより動作する。これらの電子は、トランジスタに電流を流すためにフラッシュトランジスタの制御ゲートに印加する必要がある最小電圧に影響する。この最小電圧は、閾値電圧またはＶＴとして知られている。ＮＡＮＤフラッシュメモリチップは、数十億個のフラッシュトランジスタを有する場合があり、これらは通常、２つの異なるレベルにプログラミングされて１セルあたり１ビットを格納するもの（ＳＬＣ）、４つの異なるレベルにプログラミングされて１セルあたり２ビットを格納するもの（ＭＬＣ）、もしくは８つの異なるレベルにプログラミングされて１セルあたり３ビットを格納するもの（ＴＬＣ）、または１６の異なるレベルにプログラミングされて１セルあたり４ビットを格納するもの、のいずれかである。ＮＡＮＤフラッシュメモリを読み出すときには、読み出し基準電圧が１または複数のワード線に沿って制御ゲートに印加される。読み出し基準電圧は、２つの異なるレベルの間に収まるように選定される。いくつかの場合において、トランジスタに電流が流れる場合は論理１として検出され、電流が流れない場合は論理０として検出される。他の場合においては、論理０と論理１とが逆転する。
【００１４】
図１に示す例では、セルが取り得る４つのレベル、すなわちＬ０、Ｌ１、Ｌ２、およびＬ３が存在する。レベルＬ０〜Ｌ３は、異なる２ビット論理値に対応する。図示の例において、Ｌ０は「１１」に対応し、Ｌ１は「１０」に対応し、Ｌ２は「００」に対応し、Ｌ３は「０１」に対応する。ただし、異なる論理値を異なるレベルに割り当てた異なる規則を採用することもできる。図１に示すように、Ｌ０を取るセルは通常、Ｌ０において示す閾値電圧分布を呈することになり、Ｌ１、Ｌ２、またはＬ３を取るようプログラミングされたセルは通常、より高い閾値電圧分布を呈することになる。
【００１５】
従来は、読み出し基準電圧での単一の読み出しストローブを、マルチレベルストレージセルのレベル間で印加していた。例えば、図１に示すように、下位ページが０であるか１であるかを決定するべく、中央読み出し基準電圧１０２がＬ１とＬ２との間で印加される。読み出し基準電圧は通常、所期の閾値電圧の間に収まるよう選択される。例えば、図１に示すように、読み出し基準電圧１０２は、Ｌ１およびＬ２における所期の閾値電圧の間の大きさを有する。そのような一例において、同様の読み出し基準電圧が、Ｌ０およびＬ１の所期の閾値電圧の間、ならびにＬ２およびＬ３の所期の閾値電圧の間で印加される。この例において、読み出し基準電圧１０２でのストローブによってセルが電流を伝導する場合、（Ｌ０およびＬ１の下位ページが論理１であることから）下位ページは論理１であると決定することができ、セルが電流を伝導しない場合、（Ｌ２およびＬ３の下位ページが論理０であることから）セルの下位ページは論理０であると決定することができる。
【００１６】
しかしながら、閾値電圧が常に所期の分布内にあるとは限らない。これは、フラッシュトランジスタのＶＴを厳密にプログラミングできないこと、および、ＶＴを増大または減少させる読み出しディスターブ、書き込みディスターブ、プログラムディスターブなどの作用があることによる。これにより、一部のトランジスタが読み出し基準電圧の誤った側に位置することになり、これが誤った論理ビット値として読み出される。図１の分布を参照すると、閾値電圧分布は、互いに接近するまたは重なる裾を有することがある。例えば、Ｌ１を取るようプログラミングされたセルは、Ｌ０またはＬ２の閾値電圧分布に比較的近いまたはこれと重なる閾値電圧を有することがある。そのような場合、読み出しストローブの結果が不正確になる場合がある。
【００１７】
多くのビット誤りには、読み出し基準電圧よりもわずかに上または下のＶＴを有するフラッシュセルが関与する。したがって、読み出しオペレーションの信頼性を改善するための１つの技法は、ソフト読み出しを行うことである。「ソフト読み出し」は通常、読み出し基準電圧の両側における、読み出し基準電圧よりもほんのわずかに大きい電圧および小さい電圧での１または複数の追加的な読み出しストローブをセルに印加することを伴う。例えば、図１は、読み出し基準電圧１０２でのストローブに加え、電圧１０４、１０６、１０８、および１１０での追加的な読み出しストローブを示す。
【００１８】
図１に示す例において、対数尤度比（ＬＬＲ）を各追加読み出しストローブの電圧について示す。通常、テストデータに基づいて正規ガウス分布が仮定され、それからＬＬＲが計算され得る。読み出し基準電圧は、（電流が伝導した最も高い電圧と、電流が伝導しなかった最も低い電圧未満との間の範囲で）閾値電圧が位置する可能性のある「ビン」または「ゾーン」を画定し得る。これらのビンについて、テストデータに基づいて予期される正規ガウス分布に関する仮定に基づき、ＬＬＲ値が割り当てられ得る。図示の例において、ＬＬＲは、プログラミングされた値が実際は論理０であった場合に論理０を読み出す閾値電圧における確率を、プログラミングされた値が論理１であった確率で除算したものにより与えられる比の対数を取ることによって求められる。よって、ページ値が論理０である確率が、ページ値が論理１である確率よりも高い場合、ＬＬＲは正であり、ページ値が論理１である確率の方が高い場合には、ＬＬＲは負である。この例において、ＬＬＲの絶対値は必ずしも意味がある（例えばそれらの数がスケーリングできる）とは限らないが、複数の異なる電圧における、互いに対してのＬＬＲは、誤り訂正に有用な情報を提供し得る。ＬＬＲは通常、ＬＤＰＣ符号で用いられる。ただし、片側ソフト読み出しは、ＬＤＰＣに加え、ビタビ復号器による畳み込み符号などの他のタイプの符号で用いることもできる。所期の読み出し基準電圧よりも僅かに大きい読み出しおよび小さい読み出しを行うことにより、閾値電圧が境界に近い（例えば別のレベルの分布と重なる状態に近い）かどうかを決定することができる。閾値電圧が境界に近い場合、そのビットは信頼できない（例えば誤りである）おそれがある。
【００１９】
このように、所期の読み出し基準電圧での読み出しを行うことにより決定される論理値に加えて、ソフト読み出しにより、その値がどれだけ信頼できるかを示す「ソフト情報」を提供することもでき、そしてこれをより強力なＥＣＣ（誤り訂正符号）訂正のために用いることができる。しかしながら、ソフト読み出しは、読み出しオペレーションの遅延を増大させる。ソフト読み出しは通常、レギュラー読み出しと比較して少なくとも三倍の数の読み出しストローブを有する。マルチレベルフラッシュセルにおいては、シングルレベルフラッシュセルの場合よりもさらに多くの読み出しストローブがレギュラー読み出しに必要となり、ソフト読み出しのための読み出しストローブの数はさらに多くなる。したがって、マルチレベルフラッシュセル（トリプルレベルセル（ＴＬＣ）またはクアッドレベルセル（ＱＬＣ）など）のソフト読み出しは、レギュラー読み出しよりも著しく高遅延となる。
【００２０】
これに対し、片側ソフト読み出しでは、従来のソフト読み出しほど大幅に読み出し遅延を増大させることなく、誤り訂正の改善をもたらすことができる。図２Ａおよび図２Ｂは、それぞれ、従来のソフト読み出しおよび片側ソフト読み出しの例を示す。図２Ａは、トリプルレベルセルにおける従来のソフト読み出しの例を示す。図２Ａおよび図２Ｂには、８つの異なるレベル（Ｌ０〜Ｌ７）に対応する８つの閾値電圧分布が示されている。したがって、図２Ａおよび図２Ｂはまた、（閾値電圧分布間の実線で示される）７つの読み出しストローブを示す。図２Ａはまた、ＸＰ（エクストラページ）読み出しストローブの所期の読み出し基準電圧の両側におけるソフト読み出しを示す。ソフト読み出しをＸＰ（エクストラページ）読み出しについてのみ図示しているが、ソフト読み出しは全てのレベル間において行うことができる（例えば、上位ページ（ＵＰ）および下位ページ（ＬＰ）の読み出しにおいてソフト読み出しストローブを印加することもできる）ことに留意されたい。よって、図示の例においては、ソフト読み出しを行うために印加される追加的な８つの読み出しストローブが存在する。具体的には、図２Ａは、ＸＰ読み出しにおける所期の読み出し基準電圧の各々よりも上および下の両方での追加的な読み出しを示す。
【００２１】
これに対し、図２Ｂは、片側ソフト読み出しの例を示す。図２Ｂに見られるように、追加的な読み出しストローブは、ＸＰ読み出しにおける所期の読み出し基準電圧の片側のみに印加される。したがって、半分の数の追加的な読み出しストローブ（図２Ａに示す通常のソフト読み出しのための８つの追加的な読み出しストローブと比較して、片側ソフト読み出しのための４つの追加的な読み出しストローブ）が存在する。図２Ｂは、追加的な読み出しストローブをＸＰ読み出しについてのみ示すが、追加的な読み出しストローブは、ＸＰ読み出しに代えてまたはこれに加えて、ＵＰ読み出しおよびＬＰ読み出しにおいても印加され得ることに留意されたい。しかしながら、図示の例においては、エクストラページを読み出すために印加される読み出しストローブ（４ストローブ）が、下位ページおよび上位ページを読み出すためのもの（下位ページの１ストローブおよび上位ページの２ストローブ）よりも多数存在する。したがって、図示の例において、片側ソフト読み出しは、ＸＰ読み出しにおいて印加される場合に、読み出しストローブの著しい削減をもたらす。
【００２２】
図２Ｂに見られるように、片側ソフト読み出しのための追加的な読み出しストローブは、常に所期の読み出し基準電圧の同じ側に印加されるとは限らない。例えば、いくつかのレベルにおいては所期の読み出し基準電圧の大きさよりも小さい大きさで追加的な読み出しストローブが印加され、その他のレベルにおいては所期の読み出し基準電圧の大きさよりも大きい大きさで追加的な読み出しストローブが印加される。一例において、追加的な読み出しストローブが所期の読み出し基準電圧よりも上で印加されるか下で印加されるかは、ソフト読み出し誤りパターンに基づく。ソフト読み出し誤りパターンは、閾値電圧の大きさが増大するまたは大きさが減少する場合を含み得る。別のソフト読み出し誤りパターンは、０が１になることまたは１が０になることを含み得る。例えば、書き込まれた論理１が論理０として読み戻される傾向が存在することがあり、その逆もまた然りである。よって、そのような一例において、コントローラ（例えばフラッシュストレージコントローラ）内の論理は、ビットが０−１誤り（ｚｅｒｏ−ｔｏ−ｏｎｅ  ｅｒｒｏｒ）または１−０誤り（ｏｎｅ−ｔｏ−ｚｅｒｏ  ｅｒｒｏｒ）のどちらを有する可能性がより高いかを決定し、所期の読み出し基準電圧の片側における追加の読み出しストローブのみを行う。
【００２３】
一例において、１−０誤りがより多い場合、追加的な読み出しは、所期の読み出し基準電圧の、論理０を示すレベルに最も近い側において行われる。０−１誤りがより多い場合、追加的な読み出しは、所期の読み出し基準電圧の、論理１を示すレベルに最も近い側において行われる。図２Ｂは、そのような、０−１誤りが存在する可能性がより高いと決定された場合の一例を示す。例えば、図２Ｂを参照すると、エクストラページ読み出しは、最下位ビット（ビット０）を決定する。Ｌ０とＬ１との間の読み出しストローブに応答してセルが電流を伝導する場合は、最下位ビットは論理１であり、セルが電流を伝導しない場合、最下位ビットは論理０である。したがって、Ｌ０とＬ１との間の読み出しストローブについて、所期の基準電圧の、論理１に最も近い「側」は、所期の基準電圧よりも下側（すなわち、所期の読み出し基準電圧よりも小さい大きさを有する電圧）である。いくつかの場合において、所期の読み出し基準電圧と追加的な読み出しストローブとは、異なる極性の電圧を取り得ることに留意されたい。例えば、図２Ｂを参照すると、Ｌ０とＬ１との間の所期の読み出し基準電圧は正の電圧として示されているが、所期の読み出し基準電圧の、論理１に最も近い側におけるＬ０とＬ１との間の追加的な読み出しストローブは、負の電圧であり得る。よって、そのような場合において、所期の読み出し基準電圧よりも「下」の追加的な読み出しストローブの大きさは、所期の読み出し基準電圧の大きさよりも小さい、それと同じである、またはさらにそれよりも大きいことも考えられる。しかしながら、図２Ｂに示す例においては、追加的な読み出しストローブ電圧と所期の読み出し基準電圧とは同じ極性を有し、したがって、追加的な読み出しストローブの大きさは、所期の読み出し基準電圧の大きさよりも小さい。
【００２４】
これに対し、Ｌ２とＬ３との間の追加的な読み出しストローブは、所期の基準電圧よりも上である（すなわち、所期の読み出し基準電圧よりも大きい大きさを有する電圧である）。これは、図示の例において、Ｌ２とＬ３との間の読み出しストローブの印加に応答してセルが電流を伝導する場合は、最も下位のビットは論理０であり、セルが電流を伝導しない場合は、最も下位のビットは論理１であるためである。したがって、Ｌ２とＬ３との間の読み出しストローブについて、所期の読み出し基準電圧の、論理１に最も近い側は、所期の基準電圧よりも上側である。よって、図２Ｂに示す例において、０−１誤りが存在する可能性がより高い場合、Ｌ０とＬ１との間およびＬ４とＬ５との間の追加的な読み出しストローブは、それらのレベルにおける所期の読み出し基準電圧よりも小さい大きさを有し、Ｌ２とＬ３との間およびＬ６とＬ７との間の追加的な読み出しストローブは、それらのレベルにおける所期の読み出し基準電圧よりも大きい大きさを有する。したがって、追加的な読み出しストローブは、所期の読み出し基準電圧の片側のみに印加され得る。さらに、追加的なストローブの有する大きさが、所与のレベルにおける所期の読み出し基準電圧よりも大きいかまたは小さいかは、０−１誤りまたは１−０誤りのどちらがより多く予測されるかなどの誤り情報に基づくものであり得る。片側ソフト読み出しでは、読み出しストローブがより少なくなることで、通常のソフト読み出しよりも低遅延となり、また同時に信頼性情報を提供することで誤り訂正を改善することができる。
【００２５】
当業者には理解されるであろうが、本開示において説明する技法は、シングルレベルセルおよびマルチレベルセルの両方に当てはまる。さらに、各レベルに割り当てられる論理値を、本開示において論じる例とは異なるものとすることもできる。加えて、図２ＢにはＸＰ読み出しについて単一の片側読み出しストローブを示しているが、他の例においては、読み出し基準電圧の片側において複数のソフト読み出しを行うこともできる（例えば、読み出し基準電圧の片側において１、２、３、またはそれより多くのソフト読み出しを行うことができる）。
【００２６】
図２Ｃもまた片側ソフト読み出しの例を示すが、（１または複数の）追加的な読み出しストローブはＬ０とＬ１との間のみである。一例において、セルは、最も低い２つのレベル（例えばレベル０（Ｌ０）およびレベル１（Ｌ１））の間において最も多数の誤りをこうむる場合がある。一例において、Ｌ０状態は負の電圧を取ることがあり、電圧分布は、０Ｖに向かって動く、またはさらに０Ｖを通り過ぎてより正側に進んでいく傾向を有する場合がある。この作用は、「プログラムディスターブ」と称されることがある。これは、プログラミングに高電圧を用いる場合があり、それによってセルがより高い閾値電圧に向かって動く場合があるためである。プログラムディスターブは、Ｌ０に著しく影響を及ぼすことがある。したがって、そのような一例においては、全ての隣接レベル間においてソフト読み出しを行うのではなく、Ｌ０とＬ１との間においてのみ追加的なソフト読み出しを行う。図２Ｃに示す例においては、全ての隣接レベル間において単一の読み出しストローブが行われ、Ｌ０とＬ１との間において１つのみの追加的なソフト読み出しストローブが行われる（例えば、Ｌ０とＬ１との間においては単一の読み出しストローブに代えて２つの読み出しストローブが行われる）。したがって、下位レベルにおいて多数の誤りをこうむるストレージデバイスにおいては、単一の追加的な読み出しストローブにより、読み出しの遅延を著しく増大させることなく、誤り訂正の改善を可能とすることができる。
【００２７】
図３は、片側ソフト読み出しを行うための方法の例を示すフローチャートである。方法３００は、フラッシュストレージデバイスのコントローラにより行われ得る。例えば、図４を参照すると、方法３００は、下記でより詳細に説明するフラッシュストレージのコントローラ４３０および／またはアクセス回路により行われ得る。方法３００は、ハードウェア、ファームウェア、ソフトウェア、またはその組み合わせにより行われ得る。
【００２８】
本方法は、オペレーション３０２において、所期の読み出し基準電圧でフラッシュストレージデバイスのストレージセルの読み出しを行うことから開始する。この読み出しは、レギュラー読み出しまたはハード読み出しと称されることがある。例えば、コントローラは、図４のストレージ４２２などのストレージアレイにおける１または複数のストレージセルに、所期の読み出し基準電圧での読み出しストローブを印加し得る。所期の読み出し基準電圧は、セルが特定の値にプログラミングされている場合には印加された読み出し電圧に応答してセルに電流を伝導させ、かつ、異なる値にプログラミングされている場合には印加された読み出し電圧に応答して電流を伝導させないことが予期される電圧である。ストレージセルは通常、印加電圧が所与のレベルにおけるセルの閾値電圧を超える場合に電流を伝導する。マルチレベルセルにおいては、所期の読み出し基準電圧は通常、２つのレベルの所期の閾値電圧分布の間における電圧である。よって、コントローラは、セルが電流を伝導するか否かを決定することで、セルの論理値を決定する。方法３００は、簡単のため、オペレーション３０２における単一の読み出しを説明するが、マルチレベルセルにおいては、複数の「レギュラー」読み出しが行われてもよいことに留意されたい。例えば、図２Ａおよび図２Ｂを参照すると、ＴＬＣのエクストラページ（ＸＰ）を読み出すために４つの読み出しストローブが印加され、また３つのビット全てを決定するために、８つのレベル全てが区別できるよう７つのストローブが印加される。
【００２９】
上記のとおり、異なるレベルにおける閾値電圧分布は、互いに接近するまたは重なる裾を有する場合があり、それによって読み出し誤りがもたらされることがある。これらの誤りは、非対称であり得る（例えば、０−１誤りまたは１−０誤りがより多い傾向があり得る）。したがって、方法３００はさらに、オペレーション３０４において、所期の読み出し基準電圧の片側のみにおける電圧で１または複数の追加的な読み出しを行うことを伴う。例えば、図２Ｂを参照すると、ＸＰ読み出しにおいて、１つの追加的な読み出しストローブが所期の読み出し基準電圧の片側に印加される。追加的な読み出しストローブが所期の読み出し基準電圧よりも下であるか上であるかは、１または複数の過去の読み出しからの誤り情報に基づく、または、誤りがどちらの方向に偏る（ｓｋｅｗｅｄ）可能性がより高いかを予測するための、最も頻発的な誤りメカニズムのバルク統計または履歴データなどの他の情報に基づくものであり得る。一例において、追加的な読み出しストローブが所期の読み出し基準電圧よりも下で印加されるべきか上で印加されるべきかは、プログラム−消去サイクルカウントに部分的に基づくものであり得る。フラッシュメモリにおけるプログラム−消去サイクルはフラッシュセルの消耗を引き起こし、それにより、発生したプログラム−消去サイクルの数に基づいて閾値電圧の分布が変化することがある。よって、１−０誤りまたは０−１誤りのどちらの可能性がより高いかの決定または予測は、プログラム−消去サイクルカウント、１または複数の過去の読み出しからの誤り情報、統計、または他の情報などの、１または複数のタイプの情報に基づくものであり得る。
【００３０】
一例において、そのような誤り情報は、１または複数の過去の読み出しにおいて１−０誤りまたは０−１誤りのどちらがより多く生じたかに基づく。１−０誤りまたは０−１誤りのどちらがより多く生じたかを決定することは、同じページからの符号語における０−１誤りビットおよび１−０誤りビットのカウントに基づくものであり得る。別の例において、１−０誤りまたは０−１誤りのどちらがより多く生じたかの決定は、訂正不可能な部分的に復号されたＥＣＣ（誤り訂正符号）符号語において特定される０−１誤りビットおよび１−０誤りビットのカウントに基づく。畳み込み符号、ターボ符号、およびＬＤＰＣなどの符号は、部分的に復号された統計を提供し得る。符号語の少なくとも一部分に予め定められた数の０および１を含める符号によって符号語が生成される場合の一例において、１−０誤りまたは０−１誤りのどちらがより多く生じたかの決定は、読み出された符号語における１および０の数の、当該予め定められた１および０の数との比較に基づく。例えば、５０％の０および１を有するバランス符号（ｂａｌａｎｃｅｄ  ｃｏｄｅ）を、符号語または符号語の一部において用いることができる（あるいは、５０％でない場合は、０および１の数またはパーセンテージが格納されてトラッキングされ得る）。次いで、１−０誤りまたは０−１誤りにおける非対称性を決定するべく、０および１の数がカウントされ、所期の数と比較され得る。符号語の生成にＬＤＰＣが用いられる場合の例など、別の例においては、各変数ノードについての満たされる検査方程式の数に基づくＬＬＲ推定が行われ得る。ＬＬＲ推定に基づいて、１−０誤りまたは０−１誤りに非対称性があるかを決定することができる。
【００３１】
一例において、１−０誤りがより多いことを誤り情報が示す場合、コントローラは、所期の読み出し基準電圧の、論理０を示すレベルに最も近い側において１または複数の読み出しを行う。０−１誤りがより多いことを誤り情報が示す場合、コントローラは、所期の読み出し基準電圧の、論理１を示すレベルに最も近い側において１または複数の読み出しを行う。このように、所期の読み出し基準電圧のどちらの側において片側ソフト読み出しを行うべきかを決定するために、１または複数の技法が用いられ得る。
【００３２】
オペレーション３０４において１または複数の追加的な読み出しを行った後、コントローラは、オペレーション３０６において、読み出しに基づいた論理値と、１または複数の追加的な読み出しに基づいた信頼性を示すソフト情報の１または複数のビットとを提供し得る。ソフト情報は、信頼性または信頼度情報と称されることがあり、通常、読み出された論理値がどれだけ信頼できるかについての、または誤りの可能性のインジケーションを提供する１または複数のビットからなる。
【００３３】
レギュラー読み出しおよび（１または複数の）追加的な読み出しの実行は、種々の技法を用いて行うことができる。一例において、ストレージデバイス上のコントローラは、片側ソフト読み出しをもたらす、フラッシュコンポーネントへの単一のコマンド（例えば片側ソフト読み出しコマンド）を発行し得る。そのような一例において、片側ソフト読み出しコマンドは、レギュラー読み出しストローブと、所期の読み出し基準電圧の片側における追加的な読み出しストローブとの２つの読み出しストローブをもたらす単一のコマンドである。一例においては、１つよりも多くのコマンドが用いられ得る。例えば、コントローラは、２つの読み出しコマンド（所期の読み出し基準電圧での１つのレギュラー読み出しコマンド、および所期の読み出し基準電圧よりも上または下の電圧での第２の読み出しコマンド）を発行し、それら２つの読み出しコマンドの結果の組み合わせに基づいてメモリセルの値を決定し得る。両方の場合において、コマンドは、（１または複数の）読み出しストローブの読み出し電圧を示す情報を含んでよい。単一のソフト読み出しコマンドは、２つの別個の読み出しコマンドよりも小さい遅延を有する場合がある。例えば、フラッシュストレージコンポーネントが単一のソフト読み出しコマンドを受け取る場合、フラッシュコンポーネントは２つの読み出しを互いに極めて近い時間に行う場合があり、一方でフラッシュコンポーネントが２つの別個の読み出しコマンドを受け取る場合、フラッシュコンポーネントはそれらのコマンドを行うのにより長い時間がかかる場合があり、またコマンドの順序が異なる場合がある。
【００３４】
いくつかの場合において、片側ソフト読み出しは依然として、訂正不可能な誤りをもたらす場合があることが考えられる。例えば、誤り率が非常に高い場合、０−１誤りの数が１−０誤りと等しいまたはほぼ同等である場合、またはその両方の場合において、片側ソフト読み出しは依然として訂正不可能な誤りをもたらす場合がある。そのような一例において、コントローラはまず片側ソフト読み出しの実行を試み、論理値と信頼性を示す情報とに基づいて訂正不可能である誤りに応答して、コントローラは所期の読み出し基準電圧の他方側における追加的な読み出しを行う。単一の訂正不可能な誤りに応答して通常の両側ソフト読み出しを行うこともでき、または、訂正不可能な誤りの数が閾値を超過したことを検出した後に、両側ソフト読み出しをデフォルトの読み出しオペレーションとすることもできる。例えば、訂正不可能な誤りの後、コントローラは、所期の読み出し基準電圧の他方側における電圧での１つのソフト読み出しを行うこともでき、または両側ソフト読み出しを行うこともできる。訂正不可能な誤りの数が閾値を超過したことをコントローラまたはホスト側コントローラが検出する場合の一例において、コントローラまたはホスト側コントローラは、フラッシュコントローラに両側ソフト読み出しをデフォルト設定させるようにレジスタ（例えばモードレジスタ）をプログラミングし得る。同様に、そのようなモードレジスタは、（例えば片側ソフト読み出しモードをイネーブルすることによって）フラッシュコントローラに片側ソフト読み出しを行わせるようにプログラミングされ得る。
【００３５】
このように、片側ソフト読み出しを行う方法は、読み出しオペレーションの遅延を著しく増大させることなく、多くの状況において誤り訂正の改善を提供することができる。遅延の改善は、マルチレベルフラッシュストレージセル、またはセルに格納された値を読み出すために複数の電圧ストローブが印加される他のストレージセルにおいて、特に有効であり得る。さらに、誤り率が高い場合においては、フラッシュストレージコントローラが、追加的な信頼性情報のための両側ソフト読み出しを行うことができる。
【００３６】
図４は、一例に係る、片側ソフト読み出しが実装され得るフラッシュストレージデバイスを有するシステムのブロック図を示す。システム４００は、ホスト４１０に結合されたフラッシュストレージドライブ４０２を含む。デバイス４０２について、および本開示の全体を通してストレージとの用語を用いているが、フラッシュストレージデバイスはフラッシュメモリデバイスと称されることもある。一例において、フラッシュストレージドライブ４０２は、ソリッドステートドライブ（ＳＳＤ）である。
【００３７】
ホスト４１０は、フラッシュストレージデバイス４０２に接続するホストハードウェアプラットフォームを表す。ホスト４１０は、ＣＰＵ（中央処理ユニット）４２０または他の（１または複数の）プロセッサをホストプロセッサとして含む。ＣＰＵ４２０は、フラッシュストレージデバイス４０２に格納されたデータにアクセスする（それにより当該データの読み出しまたはストレージ４２２へのデータの書き込みのいずれかを行う）ための要求を生成する任意のホストプロセッサを表す。そのようなプロセッサは、シングルコアまたはマルチコアプロセッサ、コンピューティングデバイスの一次プロセッサ、グラフィクスプロセッサ、周辺プロセッサ、もしくは補助的もしくは副次的なプロセッサ、またはその組み合わせを含み得る。ホスト４１０は、ＣＰＵ４２０とフラッシュストレージデバイス４０２を含むシステム４００の他のコンポーネントとの間のデータの流れを制御または管理し得るハードウェアコンポーネントを表すチップセット４１４を含む。例えば、チップセット４１４は、フラッシュストレージデバイス４０２へのアクセスを可能とする相互接続回路および論理を含み得る。一例において、チップセット４１４は、フラッシュストレージデバイス４０２内のコントローラ４３０とは別個のホスト側コントローラであるストレージコントローラを含む。図４は、フラッシュストレージデバイスへのアクセスを制御する論理を含むチップセットをホスト内に示しているが、他の例においては、ホスト４１０はチップセットを含まなくてもよく、またはチップセットを含む場合は、ストレージコントローラをチップセットとは独立のものとすることができる。一例において、チップセット、ストレージコントローラ、またはその両方は、ＣＰＵ４２０と統合される。
【００３８】
ホストはまた、オペレーティングシステム４１２、ファイルシステム４２４、基本入出力システム（ＢＩＯＳ）４１８、ドライバ４１６、ならびに他のファームウェアおよびソフトウェアなどの、ハードウェア上で動作するファームウェアおよびソフトウェアを含む。システムの電源が入れられると、ＢＩＯＳ４１８は通常、ハードウェアの初期化およびオペレーティングシステム４１２のロードを担う。オペレーティングシステム４１２は通常、システム４００上のアクティビティの管理、連携、およびスケジューリング、ならびにシステムのリソースの共有を担う。ファイルシステム４２４は、フラッシュストレージデバイス４０２にアクセスするべく、ソフトウェア、ファームウェア、またはその両方とやり取りする。例えば、ホスト４１０は、ストレージデバイスドライバ４２８を含み得、これを介してオペレーティングシステム４１２およびファイルシステム４２４がフラッシュストレージデバイス４０２にアクセスし得る。ストレージデバイスドライバの一例は、Ｉｎｔｅｌ（登録商標）Ｒａｐｉｄ  Ｓｔｏｒａｇｅ  Ｔｅｃｈｎｏｌｏｇｙ（ＲＳＴ）ドライバである。システム４００は、ホストオペレーティングシステムと、データを格納するストレージデバイスとを有するコンピュータシステムとして示されているが、システム４００は代替的に、ＳＰＩ（シリアルペリフェラルインターフェース）ストレージまたはＳＰＩバスに接続されたストレージ、ＬＳＭベース（ログ構造マージベース）キーバリュー（ｋｅｙ−ｖａｌｕｅ）ソリューション、三次元クロスポイントメモリベースのソリューション、または他のストレージシステムを含み得る。
【００３９】
一例において、フラッシュストレージデバイス４０２は、データを格納する不揮発性ストレージ４２２（不揮発性媒体（ＮＶＭ）と称されることもある）を含むソリッドステートドライブを表す。そのような一例において、フラッシュストレージデバイス４０２は、ＰＣＩ  Ｅｘｐｒｅｓｓ（ＰＣＩｅ）、シリアルアドバンストテクノロジーアタッチメント（ＡＴＡ）、パラレルＡＴＡ、および／またはユニバーサルシリアルバス（ＵＳＢ）インターフェースを用いてプロセッサに接続されたフラッシュベースのドライブであり得る。ストレージ４２２は、ＮＡＮＤフラッシュ、ＮＯＲフラッシュ、相変化メモリ（ＰＣＭ）、相変化メモリ＋スイッチ（ｐｈａｓｅ  ｃｈａｎｇｅ  ｍｅｍｏｒｙ  ｗｉｔｈ  ｓｗｉｔｃｈ）（ＰＣＭＳ）、抵抗変化メモリ、または他の不揮発性ストレージ媒体のうちの１または複数を含み得る。データは、シングルレベルセル（ＳＬＣ）、トリプルレベルセル（ＴＬＣ）、クアッドレベルセル（ＱＬＣ）および／またはマルチレベルセル（ＭＬＣ）のフォーマットで格納されてよい。いくつかの例において、ＴＬＣ、ＱＬＣ、および／またはＭＬＣのセルまたはブロックは通常、ユーザデータを格納するために用いられる。一般的にストレージ密度の低減と引き換えにより高速なアクセス速度を有するＳＬＣのセルまたはブロックは、ユーザデータを格納しない場合があり、ホストによってアクセス可能でない場合がある。そのような一例において、ＳＬＣのセルまたはブロックは、フラッシュストレージデバイスにより、フラッシュストレージデバイスの動作に関連する「システムデータ」を格納するために用いられ得る。他の例においては、ＳＬＣがユーザデータを格納するために用いられることもあり得る。
【００４０】
不揮発性ストレージ４２２に加え、フラッシュストレージデバイス４０２はまたＤＲＡＭ４０８（または他の揮発性メモリ）を含み得る。ＤＲＡＭ４０８は、フラッシュストレージデバイス４０２の電源が入っている（例えば動作中である）間はデータを格納できる揮発性メモリを含む。ＤＲＡＭは、ＤＤＲダブルデータレート（ＤＤＲ）ＳＤＲＡＭについてのＪＥＳＤ７９Ｆ、ＤＤＲ２  ＳＤＲＡＭについてのＪＥＳＤ７９−２Ｆ、ＤＤＲ３  ＳＤＲＡＭについてのＪＥＳＤ７９−３Ｆ、ＤＤＲ４  ＳＤＲＡＭについてのＪＥＳＤ７９−４Ａ、ＬＰＤＤＲ３（低電力デュアルデータレート  バージョン３、ＪＥＤＥＣ（Ｊｏｉｎｔ  Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｖｉｃｅ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｃｏｕｎｃｉｌ）により２０１３年８月にＪＥＤＥＣ  ＪＥＳＤ２０９−３Ｂで初版発行）、ＬＰＤＤＲ４（低電力ダブルデータレート（ＬＰＤＤＲ）  バージョン４、ＪＥＳＤ２０９−４、２０１４年８月にＪＥＤＥＣにより初版公表）、または他のＪＥＤＥＣ規格（これらの規格はｗｗｗ．ｊｅｄｅｃ．ｏｒｇにて入手可能）などの、Ｊｏｉｎｔ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｃｏｕｎｃｉｌ（ＪＥＤＥＣ）により公布されている規格に準拠するものであり得る。他の揮発性メモリを用いてもよい。一部のフラッシュストレージデバイスは、ＤＲＡＭを含まない（例えば「ＤＲＡＭレス」ＳＳＤ）。そのような一例において、フラッシュストレージデバイスは、ＳＲＡＭなどのＳＳＤコントローラメモリ（不図示）を含み得る。ＤＲＡＭ４０８は、論理−物理間接参照テーブルまたは他のそのような情報などの、フラッシュストレージデバイス４０２の動作に関するデータを格納するために用いられ得る。
【００４１】
フラッシュストレージデバイス４０２はまた、ストレージ４２２へのアクセスを制御するコントローラ４３０を含む。一例において、コントローラ４３０は、ストレージ４２２への入出力（Ｉ／Ｏ）インターフェース４３４を含み、ホスト４１０へのインターフェースを含む。コントローラ４３０は、コマンド論理（ＣＭＤ）４３２などのストレージ４２２への書き込みおよびストレージ４２２からの読み出しを制御するハードウェア論理を含む。コマンド論理４３２は、ストレージ４２２のストレージセルを読み出させるコマンドを生成および発行する回路を含む。一例において、コマンド論理４３２は、片側ソフト読み出しを引き起こす、ストレージ４２２への単一のコマンド（例えば片側ソフト読み出しコマンド）を生成し得る。そのような一例において、単一のコマンドは、レギュラー読み出しストローブと、レギュラー読み出しストローブの片側のみにおける１または複数の追加的な読み出しストローブとをもたらす。別の例において、コマンド論理４３２は、片側ソフト読み出しを生じさせる別個の読み出しコマンドを生成し得る。例えば、コマンド論理４３２は、所与のレベルにおける所期の読み出し基準電圧での読み出しを行わせる１つのコマンドと、所期の読み出し基準電圧よりも上または下の１または複数の追加的なコマンドとを生成し得る。ストレージ４２２はまた、コントローラ４３０からのコマンドに応答してストレージセルに対する読み出しおよび書き込みのためのストローブを印加するアクセス回路を含み得る。よって、ストレージ４２２は、コマンド論理４３２からのコマンド（片側ソフト読み出しを行わせる１または複数の読み出しコマンドを含む）を復号し、受け取ったコマンドに応じて読み出しまたは書き込みストローブをメモリセルに印加する回路を含み得る。コントローラはまた、ストレージ４２２から読み出されたデータにおける誤りを検出および訂正する誤り符号訂正（ＥＣＣ）論理４３６を含み得る。コントローラ４３０は、シリアルＡＴＡなどのインターフェースに接続された特定用途向け集積回路コントローラ（ＡＳＩＣ）デバイスまたはインテグレーテッドドライブエレクトロニクス（ｉｎｔｅｇｒａｔｅｄ  ｄｒｉｖｅ  ｅｌｅｃｔｒｏｎｉｃｓ）コントローラであってよい。別の例において、コントローラ４３０は、プロセッサまたは他の処理回路（不図示）を含む。一例において、コントローラ４３０は、単一の集積回路チップに搭載されてシステムオンチップ（ＳｏＣ）に含まれるものであってよい。
【００４２】
フラッシュストレージデバイス４０２はまた、ファームウェア（不図示）を含み得る。ファームウェアは、変換、ガベージコレクション、ウェアレベリング、およびフラッシュストレージデバイス４０２の動作および最適化のための他の機能などの多様な機能を行い得る。一例において、ファームウェア４０４は、ファイルシステム４２４から受け取った要求の論理ブロックアドレス（ＬＢＡ）などの論理アドレスの物理アドレス空間を特定するための間接参照を提供する論理を含むフラッシュ変換レイヤ（ＦＴＬ）を含み得る。
【００４３】
コントローラは、本開示において説明する片側ソフト読み出しを行う論理（例えば、ハードウェア、ファームウェア、ソフトウェア、またはその組み合わせ）を含み得る。
【００４４】
図４は、コンピュータパッケージの内部（例えばラップトップ／ノートブックまたは他のコンピュータ内）に存在し得るシステムの例を示すが、ストレージデバイス４０２は、ローカルエリアネットワーク（例えばイーサネット（登録商標）ネットワーク）、またはさらにワイドエリアネットワーク（無線セルラーネットワーク、インターネット等々）などのより大規模なネットワークを介してアクセスされるものであってもよいことに留意されたい。
【００４５】
図５は、コンピューティングシステム５００（例えばスマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、サーバコンピュータ等）の例示的な図示を提供する。図５に認められるように、システム５００は、１または複数のプロセッサまたは処理ユニット５０１を含んでよい。（１または複数の）プロセッサ５０１は、例えば複数の汎用処理コアを各々が含み得る１または複数の中央処理ユニット（ＣＰＵ）を含んでよい。（１または複数の）プロセッサ５０１は、さらにまたは代替的に、１または複数のグラフィクス処理ユニット（ＧＰＵ）または他の処理ユニットを含んでよい。（１または複数の）プロセッサ５０１は、メモリ管理論理（例えばメモリコントローラ）およびＩ／Ｏ制御論理を含んでよい。
【００４６】
システム５００はまた、メモリ５０２（例えばシステムメモリ）、不揮発性ストレージ５０４、通信インターフェース５０６、および他のコンポーネント５０８を含む。他のコンポーネントは、例えば、ディスプレイ（例えばタッチスクリーン、フラットパネル）、電源（例えばバッテリおよび／または他の電源）、センサ、電力管理論理、またはその他のコンポーネントを含んでよい。通信インターフェース５０６は、通信インターフェースをサポートする論理および／または機能を含んでよい。これらの例について、通信インターフェース５０６は、様々な通信プロトコルまたは規格に従って動作して直接またはネットワーク通信リンクまたはチャネルを介して通信する１または複数の通信インターフェースを含んでよい。直接通信は、ＰＣＩｅ仕様書に関連するものなどの１または複数の産業規格（その後継版および派生版を含む）に記載される通信プロトコルまたは規格を用いて行われてよい。ネットワーク通信は、ＩＥＥＥにより公布される１または複数のイーサネット（登録商標）規格に記載されるものなどの通信プロトコルまたは規格を用いて行われてよい。例えば、１つのそのようなイーサネット（登録商標）規格は、ＩＥＥＥ８０２．３を含んでよい。ネットワーク通信は、ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ仕様書などの１または複数のＯｐｅｎＦｌｏｗ仕様書に従って行われてもよい。通信インターフェースの他の例は、例えば、ローカル有線ポイントツーポイントリンク（例えばＵＳＢ）インターフェース、無線ローカルエリアネットワーク（例えばＷｉＦｉ（登録商標））インターフェース、無線ポイントツーポイントリンク（例えばＢｌｕｅｔｏｏｔｈ（登録商標））インターフェース、全地球測位システムインターフェース、および／または他のインターフェースを含む。
【００４７】
コンピューティングシステムはまた、システムの大容量ストレージコンポーネントであり得る不揮発性ストレージ５０４を含む。不揮発性ストレージ５０４は、上述した図４のフラッシュストレージデバイス４０２と類似するまたは同じものであり得る。不揮発性ストレージ５０４は、カルコゲナイド相変化材料（例えばカルコゲナイドガラス）を含む３次元（３Ｄ）クロスポイントメモリ構造を有する、バイトまたはブロックでアドレス指定可能なタイプの不揮発性メモリ（以下「３Ｄクロスポイントメモリ」と称する）を含んでよい。不揮発性タイプのメモリはまた、マルチ閾値レベルＮＡＮＤフラッシュメモリ、ＮＯＲフラッシュメモリ、シングルレベルまたはマルチレベル相変化メモリ（ＰＣＭ）、抵抗変化メモリ、ナノワイヤメモリ、強誘電性トランジスタランダムアクセスメモリ（ＦｅＴＲＡＭ）、メモリスタ技術を取り入れた磁気抵抗ランダムアクセスメモリ（ＭＲＡＭ）、スピントランスファートルクＭＲＡＭ（ＳＴＴ−ＭＲＡＭ）、または上記のいずれかの組み合わせなどであるがこれらに限定されない、他のタイプのバイトまたはブロックでアドレス指定可能な不揮発性メモリを含んでよい。一例において、不揮発性ストレージ５０４は、１または複数のＳＳＤから構成された大容量ストレージを含んでよい。ＳＳＤは、上述の片側ソフト読み出しを実装することが可能なフラッシュメモリチップから構成され得る。
【００４８】
本発明の実施形態は、上述したような様々なプロセスを含んでよい。それらのプロセスは、機械実行可能命令において具現化されてよい。それらの命令は、汎用または専用プロセッサに特定のプロセスを行わせるために用いられ得る。代替的に、これらのプロセスは、当該プロセスを実行するためのハードワイヤード論理回路またはプログラミング可能論理回路（例えば、ＦＰＧＡ、ＰＬＤ）を含む固有／カスタムハードウェアコンポーネントにより、またはプログラミング済みコンピュータコンポーネントとカスタムハードウェアコンポーネントとの任意の組み合わせにより行われてよい。
【００４９】
本発明の要素は、機械実行可能命令を格納するための機械可読媒体として提供されてもよい。機械可読媒体は、フロッピーディスケット、光ディスク、ＣＤ−ＲＯＭ、および光磁気ディスク、フラッシュメモリ、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カードもしくは光カード、伝搬媒体、または電子的命令を格納するのに好適な他のタイプの媒体／機械可読媒体を含んでよいが、これらに限定されない。例えば、本発明は、通信リンク（例えばモデムまたはネットワーク接続）を介して、搬送波または他の伝搬媒体において具現化されるデータ信号を用いて、遠隔コンピュータ（例えばサーバ）から要求元コンピュータ（例えばクライアント）へと伝達され得るコンピュータプログラムとしてダウンロードされてよい。
【００５０】
以下は、片側ソフト読み出しを行うための方法、システム、および装置の例である。一例において、フラッシュストレージデバイスは、ストレージセルアレイと、ストレージセルアレイにアクセスするコントローラとを含む。コントローラは、ストレージセルの少なくとも１つの読み出しを行う。フラッシュストレージデバイスはまた、当該少なくとも１つの読み出しに応答して、所期の読み出し基準電圧でストレージセルに読み出しストローブを印加し、所期の読み出し基準電圧の片側のみにおける電圧でストレージセルに１または複数の読み出しストローブを印加するアクセス回路を含む。コントローラは、読み出しストローブおよび１または複数の読み出しストローブに対するストレージセルの電気的応答に基づいて、論理値と論理値の精度の信頼性を示す１または複数のビットとを提供する。一例において、コントローラは、１または複数の過去の読み出しからの誤り情報に基づいて、所期の読み出し基準電圧の片側のみにおける電圧での１または複数の読み出しストローブを引き起こすよう、少なくとも１つの読み出しを行う。
【００５１】
一例において、コントローラはさらに、１または複数の過去の読み出しにおいて１−０誤りまたは０−１誤りのどちらがより多く生じたかを決定することを含めて、誤り情報を決定する。一例において、１−０誤りまたは０−１誤りのどちらがより多く生じたかの決定は、同じページからの符号語における０−１誤りビットおよび１−０誤りビットのカウントに基づく。一例において、１−０誤りまたは０−１誤りのどちらがより多く生じたかの決定は、訂正不可能な部分的に復号されたＥＣＣ（誤り訂正符号）符号語において特定される０−１誤りビットおよび１−０誤りビットのカウントに基づく。一例において、符号語の少なくとも一部分に予め定められた数の０および１を含める符号によって符号語が生成される。そのような一例において、１−０誤りまたは０−１誤りのどちらがより多く生じたかの決定は、読み出された符号語における１および０の数の、当該予め定められた１および０の数との比較に基づく。
【００５２】
一例において、論理値と信頼性を示す情報とに基づいて訂正不可能である誤りに応答して、コントローラは、所期の読み出し基準電圧の両側における読み出しストローブの印加を引き起こすよう、１または複数の追加的な読み出しを行う。一例において、１−０誤りがより多いことを誤り情報が示す場合、アクセス回路は、所期の読み出し基準電圧の、論理０を示すレベルに最も近い側における電圧で１または複数の読み出しストローブを印加し、０−１誤りがより多いことを誤り情報が示す場合、コントローラは、所期の読み出し基準電圧の、論理１を示すレベルに最も近い側における電圧で１または複数の読み出しストローブを印加する。一例において、ストレージセルアレイは、マルチビットストレージセルを含むＮＡＮＤフラッシュアレイを含む。一例において、アクセス回路は、最も低い２つのレベル（Ｌ０およびＬ１）の間で１または複数の読み出しストローブを印加し、より高いレベルについては所期の読み出し基準電圧の片側における追加的な読み出しストローブを印加しない。
【００５３】
一例において、フラッシュストレージコントローラは、ストレージセルの少なくとも１つの読み出しを行うコマンド回路であって、少なくとも１つの読み出しは、所期の読み出し基準電圧でのストレージセルへの読み出しストローブの印加と、所期の読み出し基準電圧の片側のみにおける電圧でのストレージセルへの１または複数の読み出しストローブの印加とを引き起こす、コマンド回路と、読み出しデータをホストに伝送するインターフェース回路であって、読み出しデータは、読み出しストローブおよび１または複数の読み出しストローブに対するストレージセルの電気的応答に基づいた、論理値と論理値の精度の信頼性を示す１または複数のビットとを含む、インターフェース回路とを備える。一例において、コマンド回路は、１または複数の過去の読み出しからの誤り情報に基づいて、所期の読み出し基準電圧の片側のみにおける電圧での１または複数の読み出しストローブを引き起こすよう、少なくとも１つの読み出しを行う。一例において、コントローラはさらに、１または複数の過去の読み出しにおいて１−０誤りまたは０−１誤りのどちらがより多く生じたかを決定することを含めて、誤り情報を決定する。一例において、１−０誤りまたは０−１誤りのどちらがより多く生じたかの決定は、同じページからの符号語における０−１誤りビットおよび１−０誤りビットのカウントに基づく。
【００５４】
一例において、フラッシュストレージデバイスにアクセスする方法は、フラッシュストレージデバイスのストレージセルの少なくとも１つの読み出しを行う段階であって、少なくとも１つの読み出しは、所期の読み出し基準電圧でのストレージセルへの読み出しストローブの印加と、所期の読み出し基準電圧の片側のみにおける電圧でのストレージセルへの１または複数の読み出しストローブの印加とを引き起こす、段階と、読み出しストローブおよび１または複数の読み出しストローブに対するストレージセルの電気的応答に基づいて、論理値と論理値の精度の信頼性を示す１または複数のビットとを提供する段階とを伴う。一例において、所期の読み出し基準電圧の片側のみにおける電圧での１または複数の読み出しストローブを引き起こすよう、少なくとも１つの読み出しを行うことは、１または複数の過去の読み出しからの誤り情報に基づく。
【００５５】
一例において、方法は、１または複数の過去の読み出しにおいて１−０誤りまたは０−１誤りのどちらがより多く生じたかを決定することを含めて、誤り情報を決定する段階を伴う。そのような一例において、１−０誤りまたは０−１誤りのどちらがより多く生じたかを決定することは、同じページからの符号語における０−１誤りビットおよび１−０誤りビットのカウントすることを伴う。一例において、１−０誤りまたは０−１誤りのどちらがより多く生じたかを決定することは、訂正不可能な部分的に復号されたＥＣＣ（誤り訂正符号）符号語において特定される０−１誤りビットおよび１−０誤りビットをカウントすることを伴う。一例において、符号語の少なくとも一部分に予め定められた数の０および１を含める符号によって符号語が生成され、１−０誤りまたは０−１誤りのどちらがより多く生じたかを決定することは、読み出された符号語における１および０の数を当該予め定められた１および０の数と比較することを伴う。
【００５６】
一例において、方法は、論理値と信頼性を示す情報とに基づいて訂正不可能である誤りに応答して、所期の読み出し基準電圧の両側における電圧での読み出しストローブの印加を引き起こすよう、１または複数の追加的な読み出しを行う段階を伴う。一例において、少なくとも１つの読み出しを行うことは、マルチビットストレージセルの複数のレベルの間で読み出しストローブを印加することを伴い、１または複数の読み出しストローブは、最も低い２つのレベル（Ｌ０およびＬ１）の間で印加され、より高いレベルについては所期の読み出し基準電圧の片側における追加的な読み出しストローブが印加されない。一例において、コンピューティングデバイスにより実行されると、コンピューティングデバイスに、フラッシュストレージデバイスのストレージセルの少なくとも１つの読み出しを行う段階であって、少なくとも１つの読み出しは、所期の読み出し基準電圧でのストレージセルへの読み出しストローブの印加と、所期の読み出し基準電圧の片側のみにおける電圧でのストレージセルへの１または複数の読み出しストローブの印加とを引き起こす、段階と、読み出しストローブおよび１または複数の読み出しストローブに対するストレージセルの電気的応答に基づいて、論理値と論理値の精度の信頼性を示す１または複数のビットとを提供する段階とを備える方法を行わせる１または複数の命令を格納した少なくとも１の非一時的機械可読媒体。一例において、システムは、プロセッサと、本明細書において説明する１または複数の例に係るフラッシュストレージデバイスとを含む。一例において、フラッシュストレージデバイスは、ストレージセルアレイと、所期の読み出し基準電圧でストレージセルに読み出しストローブを印加し、所期の読み出し基準電圧の片側のみにおける電圧でストレージセルに１または複数の読み出しストローブを印加し、読み出しストローブおよび１または複数の読み出しストローブに対するストレージセルの電気的応答に基づいて、論理値と論理値の精度の信頼性を示す１または複数のビットとを提供するための手段とを備える。
【００５７】
本明細書において例示されているフロー図は、様々なプロセス動作のシーケンスの例を提供する。それらのフロー図は、ソフトウェアまたはファームウェアルーチンにより実行されるべきオペレーション、加えて物理オペレーションを示し得る。一例において、フロー図は、ハードウェア、ソフトウェア、またはその組み合わせにおいて実装され得る有限状態機械（ＦＳＭ）の状態を例示し得る。動作の順序は、特定のシーケンスまたは順序で示されているが、別途指定のない限り、変更することができる。よって、例示されている実施形態は単に例として理解されるべきであり、プロセスは異なる順序で行うことができ、いくつかの動作は並行して行うことができる。加えて、様々な例において、１または複数の動作を省略することができる。よって、あらゆる実施形態において全ての動作が必要とは限らない。他のプロセスフローも考えられる。
【００５８】
様々なオペレーションまたは機能は、本明細書において説明されている範囲において、ソフトウェア符号、命令、構成、データ、またはその組み合わせとして説明または定義され得る。コンテンツは、直接実行可能なもの（「オブジェクト」または「実行ファイル」の形式）、ソース符号、または差分符号（「デルタ」または「パッチ」符号）であり得る。本明細書において説明する実施形態のソフトウェアコンテンツは、コンテンツを格納した製造物品を介して、または通信インターフェースを介してデータを送るよう通信インターフェースを動作させる方法を介して提供され得る。機械可読ストレージ媒体は、機械に、説明されている機能またはオペレーションを行わせることができ、記録可能／非記録可能媒体（例えばリードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス等）などの、機械（例えばコンピューティングデバイス、電子システム等）によりアクセス可能な形式の情報を格納する任意のメカニズムを含む。通信インターフェースは、メモリバスインターフェース、プロセッサバスインターフェース、インターネット接続、ディスクコントローラ等のような、別のデバイスと通信するためにハードワイヤード、無線、光等の媒体のいずれかへのインターフェースとなる任意のメカニズムを含む。通信インターフェースは、ソフトウェアコンテンツを記述するデータ信号を提供する準備を通信インターフェースにさせるよう、構成パラメータを提供することもしくは信号を送ること、またはその両方により構成され得る。通信インターフェースは、通信インターフェースに送られる１または複数のコマンドまたは信号を介してアクセスされ得る。
【００５９】
本明細書において説明する様々なコンポーネントは、説明されているオペレーションまたは機能を行うための手段であり得る。本明細書において説明する各コンポーネントは、ソフトウェア、ハードウェア、またはこれらの組み合わせを含む。それらのコンポーネントは、ソフトウェアモジュール、ハードウェアモジュール、専用ハードウェア（例えば特定用途向けハードウェア、特定用途向け集積回路（ＡＳＩＣ）、デジタルシグナルプロセッサ（ＤＳＰ）等）、組み込みコントローラ、ハードワイヤード回路等として実装され得る。
【００６０】
本明細書において説明されているものの他、本発明の開示されている実施形態および実装形態に対し、その範囲を逸脱しない限りにおいて様々な変更を行うことができる。したがって、本明細書における例示および例は、限定ではなく例示の意味で解釈されるべきである。本発明の範囲は、専ら以下の特許請求の範囲を参照することによって評価されるべきである。
【００６１】
［項目１］
フラッシュストレージデバイスであって、
ストレージセルアレイと、
上記ストレージセルアレイにアクセスするコントローラであって、ストレージセルの少なくとも１つの読み出しを行うコントローラと、
上記少なくとも１つの読み出しに応答して、
所期の読み出し基準電圧で上記ストレージセルに読み出しストローブを印加し、
上記所期の読み出し基準電圧の片側のみにおける電圧で上記ストレージセルに１または複数の読み出しストローブを印加する
アクセス回路と
を備え、
上記コントローラは、上記読み出しストローブおよび上記１または複数の読み出しストローブに対する上記ストレージセルの電気的応答に基づいて、論理値と上記論理値の精度の信頼性を示す１または複数のビットとを提供する、
フラッシュストレージデバイス。
［項目２］
上記コントローラは、１または複数の過去の読み出しからの誤り情報に基づいて、上記所期の読み出し基準電圧の片側のみにおける電圧での上記１または複数の読み出しストローブを引き起こすよう、上記少なくとも１つの読み出しを行う、
項目１に記載のフラッシュストレージデバイス。
［項目３］
上記コントローラはさらに、
上記１または複数の過去の読み出しにおいて１−０誤りまたは０−１誤りのどちらがより多く生じたかを決定することを含めて、上記誤り情報を決定する、
項目２に記載のフラッシュストレージデバイス。
［項目４］
１−０誤りまたは０−１誤りのどちらがより多く生じたかの上記決定は、同じページからの符号語における０−１誤りビットおよび１−０誤りビットのカウントに基づく、
項目３に記載のフラッシュストレージデバイス。
［項目５］
１−０誤りまたは０−１誤りのどちらがより多く生じたかの決定は、訂正不可能な部分的に復号されたＥＣＣ（誤り訂正符号）符号語において特定される０−１誤りビットおよび１−０誤りビットのカウントに基づく、
項目３に記載のフラッシュストレージデバイス。
［項目６］
符号語の少なくとも一部分に予め定められた数の０および１を含める符号によって符号語が生成され、
１−０誤りまたは０−１誤りのどちらがより多く生じたかの決定は、読み出された符号語における１および０の数の、上記予め定められた１および０の数との比較に基づく、
項目３に記載のフラッシュストレージデバイス。
［項目７］
上記論理値と信頼性を示す情報とに基づいて訂正不可能である誤りに応答して、上記コントローラは、上記所期の読み出し基準電圧の両側における読み出しストローブの印加を引き起こすよう、１または複数の追加的な読み出しを行う
ことをさらに備える、項目１に記載のフラッシュストレージデバイス。
［項目８］
１−０誤りがより多いことを上記誤り情報が示す場合、上記アクセス回路は、上記所期の読み出し基準電圧の、論理０を示すレベルに最も近い側における電圧で上記１または複数の読み出しストローブを印加し、
０−１誤りがより多いことを上記誤り情報が示す場合、上記コントローラは、上記所期の読み出し基準電圧の、論理１を示すレベルに最も近い側における電圧で上記１または複数の読み出しストローブを印加する、
項目２に記載のフラッシュストレージデバイス。
［項目９］
上記ストレージセルアレイは、マルチビットストレージセルを含むＮＡＮＤフラッシュアレイを含む、
項目１に記載のフラッシュストレージデバイス。
［項目１０］
上記アクセス回路は、最も低い２つのレベル（Ｌ０およびＬ１）の間で上記１または複数の読み出しストローブを印加し、より高いレベルについては所期の読み出し基準電圧の片側における追加的な読み出しストローブを印加しない、
項目９に記載のフラッシュストレージデバイス。
［項目１１］
フラッシュストレージコントローラであって、
ストレージセルの少なくとも１つの読み出しを行うコマンド回路であって、上記少なくとも１つの読み出しは、所期の読み出し基準電圧での上記ストレージセルへの読み出しストローブの印加と、上記所期の読み出し基準電圧の片側のみにおける電圧での上記ストレージセルへの１または複数の読み出しストローブの印加とを引き起こす、コマンド回路と、
読み出しデータをホストに伝送するインターフェース回路であって、上記読み出しデータは、上記読み出しストローブおよび上記１または複数の読み出しストローブに対する上記ストレージセルの電気的応答に基づいた、論理値と上記論理値の精度の信頼性を示す１または複数のビットとを含む、インターフェース回路と
を備える、フラッシュストレージコントローラ。
［項目１２］
上記コマンド回路は、１または複数の過去の読み出しからの誤り情報に基づいて、上記所期の読み出し基準電圧の片側のみにおける電圧での上記１または複数の読み出しストローブを引き起こすよう、上記少なくとも１つの読み出しを行う、
項目１１に記載のフラッシュストレージコントローラ。
［項目１３］
上記コントローラはさらに、
上記１または複数の過去の読み出しにおいて１−０誤りまたは０−１誤りのどちらがより多く生じたかを決定することを含めて、上記誤り情報を決定する、
項目１２に記載のフラッシュストレージコントローラ。
［項目１４］
１−０誤りまたは０−１誤りのどちらがより多く生じたかの決定は、同じページからの符号語における０−１誤りビットおよび１−０誤りビットのカウントに基づく、
項目１２に記載のフラッシュストレージコントローラ。
［項目１５］
１−０誤りまたは０−１誤りのどちらがより多く生じたかの上記決定は、訂正不可能な部分的に復号されたＥＣＣ（誤り訂正符号）符号語において特定される０−１誤りビットおよび１−０誤りビットのカウントに基づく、
項目１２に記載のフラッシュストレージコントローラ。
［項目１６］
符号語の少なくとも一部分に予め定められた数の０および１を含める符号によって符号語が生成され、
１−０誤りまたは０−１誤りのどちらがより多く生じたかの決定は、読み出された符号語における１および０の数の、上記予め定められた１および０の数との比較に基づく、
項目１２に記載のフラッシュストレージコントローラ。
［項目１７］
上記論理値と信頼性を示す情報とに基づいて訂正不可能である誤りに応答して、上記コマンド回路は、上記所期の読み出し基準電圧の両側における読み出しストローブの印加を引き起こすよう、１または複数の追加的な読み出しを行う
ことをさらに備える、項目１２に記載のフラッシュストレージコントローラ。
［項目１８］
１−０誤りがより多いことを上記誤り情報が示す場合、上記１または複数の読み出しストローブは、上記所期の読み出し基準電圧の、論理０を示すレベルに最も近い側における電圧で印加され、
０−１誤りがより多いことを上記誤り情報が示す場合、上記１または複数の読み出しストローブは、上記所期の読み出し基準電圧の、論理１を示すレベルに最も近い側における電圧で印加される、
項目１２に記載のフラッシュストレージコントローラ。
［項目１９］
上記１または複数の読み出しストローブは、最も低い２つのレベル（Ｌ０およびＬ１）の間で印加され、より高いレベルについては所期の読み出し基準電圧の片側における追加的な読み出しストローブが印加されない、
項目１２に記載のフラッシュストレージコントローラ。
［項目２０］
プロセッサと、
フラッシュストレージデバイスと
を備えるシステムであって、
上記フラッシュストレージデバイスは、
ストレージセルアレイと、
上記ストレージセルアレイにアクセスするコントローラであって、ストレージセルの少なくとも１つの読み出しを行うコントローラと、
上記少なくとも１つの読み出しに応答して、
所期の読み出し基準電圧で上記ストレージセルに読み出しストローブを印加し、
上記所期の読み出し基準電圧の片側のみにおける電圧で上記ストレージセルに１または複数の読み出しストローブを印加する
アクセス回路と
を含み、
上記コントローラは、上記読み出しストローブおよび上記１または複数の読み出しストローブに対する上記ストレージセルの電気的応答に基づいて、論理値と上記論理値の精度の信頼性を示す１または複数のビットとを提供する、
システム。
［項目２１］
上記コントローラは、１または複数の過去の読み出しからの誤り情報に基づいて、上記所期の読み出し基準電圧の片側のみにおける電圧での上記１または複数の読み出しストローブを引き起こすよう、上記少なくとも１つの読み出しを行う、
項目２０に記載のシステム。
【図１】
2019194841.tif 000003
【図２Ａ】
2019194841.tif 000004
【図２Ｂ】
2019194841.tif 000005
【図２Ｃ】
2019194841.tif 000006
【図３】
2019194841.tif 000007
【図４】
2019194841.tif 000008
【図５】
2019194841.tif 000009
【外国語明細書】
2019194841000001.pdf