(57)【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサにより、マルチレベルメモリセルと関連付けられた第１物理ページアドレスと前記マルチレベルメモリセルと関連付けられた第２物理ページアドレスを相互に関連付けることと、
前記少なくとも１つのプロセッサにより、少なくとも第１読み込み動作を前記マルチレベルメモリセルに適用して前記第１物理ページアドレスと関連付けられた第１ビットの値を決定することと、
前記少なくとも１つのプロセッサにより、少なくとも第２読み込み動作を前記マルチレベルメモリセルに適用して前記第２物理ページアドレスと関連付けられた第２ビットの値を決定することと、
前記少なくとも１つのプロセッサにより、前記第２ビットと関連付けられた軟判定値を前記第１ビットの値及び前記第２ビットの値に基づいて決定することと、
前記少なくとも１つのプロセッサにより、前記第２ビットと関連付けられた前記軟判定値に少なくとも部分的に基づいて、前記第２ビットの値を検証することとを含む方法。
【請求項２】
前記第１物理ページアドレスが、前記マルチレベルメモリセルのアッパーページと関連付けられた物理ページアドレスを含み、且つ、前記第２物理ページアドレスが、前記マルチレベルメモリセルのロアーページと関連付けられた物理ページアドレスを含む、請求項１に記載の方法。
【請求項３】
前記マルチレベルメモリセルが２ビット／セル式メモリセルを含み、
前記少なくとも第１読み込み動作を前記マルチレベルメモリセルに適用することが、２つの読み込み基準電圧を前記２ビット／セル式メモリセルに加えて前記第１ビットの値を決定することを含み、
前記少なくとも第２読み込み動作を前記マルチレベルメモリセルに適用することが、１つの読み４，１０、込み基準電圧を前記２ビット／セル式メモリセルに加えることを含み、且つ、
前記第２ビットの値を検証することが、前記プロセッサにより前記軟判定値としての対数尤度比を決定すること及び前記第２ビットを検証するために利用されるエラー訂正符号において前記対数尤度比を利用することを含む請求項１に記載の方法。
【請求項４】
前記第１ビットが１に等しい場合に、前記対数尤度比が第１の絶対値を含み、且つ、前記第１ビットが０に等しい場合に、前記第１の絶対値よりも小さい第２の絶対値を含む、請求項３に記載の方法。
【請求項５】
第１セル電圧状態が、第１読み込み基準電圧、第２読み込み基準電圧、及び第３読み込み基準電圧より低い電圧を有し、
第２セル電圧状態が、前記第１読み込み基準電圧より高く、且つ、前記第２読み込み基準電圧及び前記第３読み込み基準電圧より低い電圧を有し、
第３セル電圧状態が、前記第２読み込み基準電圧より高く、且つ、前記第３読み込み基準電圧より低い電圧を有し、
前記第１セル電圧状態と前記第２セル電圧状態との間の電圧差が、前記第２セル電圧状態と前記第３セル電圧状態との間の電圧差より大きい請求項４に記載の方法。
【請求項６】
前記マルチレベルメモリセルと関連付けられた前記第１物理ページアドレスと前記マルチレベルメモリセルと関連付けられた前記第２物理ページアドレスを相互に関連付けることが、前記プロセッサにより、前記第１物理ページアドレスから読み取ったデータと読み込みキャッシュ中の前記第２物理ページアドレスから読み取ったデータを相互に関連付けることを含む、請求項１に記載の方法。
【請求項７】
少なくとも１つのマルチレベルメモリセルを含む少なくとも１つのメモリデバイスと、
プロセッサであって、
前記マルチレベルメモリセルと関連付けられた第１物理ページアドレスと前記マルチレベルメモリセルと関連付けられた第２物理ページアドレスを相互に関連付け、
少なくとも第１読み込み動作を前記マルチレベルメモリセルに適用して、前記第１物理ページアドレスと関連付けられた第１ビットの値を決定し、
少なくとも第２読み込み動作を前記マルチレベルメモリセルに適用して、前記第２物理ページアドレスと関連付けられた第２ビットの値を決定し、
前記第２ビットと関連付けられた軟判定値を、前記第１ビットの値及び前記第２ビットの値に少なくとも部分的に基づいて決定し、且つ、
前記第２ビットと関連付けられた前記軟判定値に少なくとも部分的に基づいて、前記第２ビットの値を検証するように構成されている少なくとも１つのプロセッサとを含む記憶デバイス。
【請求項８】
前記第１物理ページアドレスが、前記マルチレベルメモリセルのアッパーページと関連付けられた物理ページアドレスを含み、且つ、前記第２物理ページアドレスが、前記マルチレベルメモリセルのロアーページと関連付けられた物理ページアドレスを含む、請求項７に記載の記憶デバイス。
【請求項９】
前記マルチレベルメモリセルが２ビット／セル式メモリセルを含み、
前記少なくとも１つのプロセッサが、第１読み込み基準電圧を前記２ビット／セル式メモリセルに加え、且つ、第２の異なる読み込み基準電圧を前記２ビット／セル式メモリセルに加えることにより、前記第１物理ページアドレスと関連付けられた前記第１ビットの値を決定するように構成されており、
前記少なくとも１つのプロセッサが、第３の異なる読み込み基準電圧を前記２ビット／セル式メモリセルに加えることにより、前記第２ビットの値を決定するように構成されており、
前記第３の異なる読み込み基準電圧が、前記第１読み込み基準電圧と前記第２の異なる読み込み基準電圧との間の大きさを有し、且つ、
前記少なくとも１つのプロセッサが、少なくとも前記軟判定値としての対数尤度比を決定すること及び前記第２ビットを検証するために利用されるエラー訂正コードにおいて前記対数尤度比を利用することにより、前記第２ビットの値を検証するように構成される請求項７に記載の記憶デバイス。
【請求項１０】
前記第１ビットが１に等しい場合に、前記対数尤度比が第１の絶対値を含み、且つ、前記第１ビットが０に等しい場合に、前記第１の絶対値よりも小さい第２の絶対値を含む、請求項９に記載の記憶デバイス。
【請求項１１】
第１セル電圧状態が、前記第１読み込み基準電圧、前記第２読み込み基準電圧、及び前記第３読み込み基準電圧より低い電圧を有し、
第２セル電圧状態が、前記第１読み込み基準電圧より高く、且つ、前記第２読み込み基準電圧及び前記第３読み込み基準電圧より低い電圧を有し、
第３セル電圧状態が、前記第２読み込み基準電圧より高く、且つ、前記第３読み込み基準電圧より低い電圧を有し、
前記第１セル電圧状態と前記第２セル電圧状態との間の電圧差が、前記第２セル電圧状態と前記第３セル電圧状態との間の電圧差より大きい請求項１０に記載の記憶デバイス。
【請求項１２】
前記少なくとも１つのプロセッサが、前記少なくとも第１物理ページアドレスから読み取ったデータと読み込みキャッシュ中の前記第２物理ページアドレスから読み取ったデータを相互に関連付けることにより、前記マルチレベルメモリセルと関連付けられた前記第１物理ページアドレスと前記マルチレベルメモリセルと関連付けられた前記第２物理ページアドレスを相互に関連付けるように構成される、請求項７に記載の記憶デバイス。
【請求項１３】
前記少なくとも１つのプロセッサが、前記記憶デバイスのコントローラ又は前記記憶デバイスの読み込みチャネルの少なくとも一方を含む、請求項７に記載の記憶デバイス。
【請求項１４】
命令を記憶するコンピュータ可読記憶媒体であって、その命令が実行されたときに、少なくとも１つのプロセッサに、
マルチレベルメモリセルと関連付けられた第１物理ページアドレスと前記マルチレベルメモリセルと関連付けられた第２物理ページアドレスを相互に関連付けさせ、
少なくとも第１読み込み動作を前記マルチレベルメモリセルに適用して、前記第１物理ページアドレスと関連付けられた第１ビットの値を決定させ、
少なくとも第２読み込み動作を前記マルチレベルメモリセルに適用して、前記第２物理ページアドレスと関連付けられた第２ビットの値を決定させ、
前記第２ビットと関連付けられた軟判定値を、前記第１ビットの値及び前記第２ビットの値に少なくとも部分的に基づいて決定させ、且つ、
前記軟判定値に少なくとも部分的に基づいて、前記第２ビットの値を検証させるコンピュータ可読記憶媒体。
【請求項１５】
前記第１物理ページアドレスが、前記マルチレベルメモリセルのアッパーページと関連付けられた物理ページアドレスを含み、且つ、前記第２物理ページアドレスが、前記マルチレベルメモリセルのロアーページと関連付けられた物理ページアドレスを含む、請求項１４に記載のコンピュータ可読記憶媒体。
【請求項１６】
前記マルチレベルメモリセルが２ビット／セル式メモリセルを含み、
前記命令が、実行されたとき、前記少なくとも１つのプロセッサに第１読み込み基準電圧を前記２ビット／セル式メモリセルに加え、且つ、第２の異なる読み込み基準電圧を前記２ビット／セル式メモリセルに加えることにより、前記１第物理ページアドレスと関連付けられた前記第１ビットの値を決定し、
前記命令が、実行されたとき、前記少なくとも１つのプロセッサに第３の異なる読み込み基準電圧を前記２ビット／セル式メモリセルに加えることにより、前記第２ビットの値を決定し、
前記異なる第３読み込み基準電圧が、前記第１読み込み基準電圧と前記異なる第２読み込み基準電圧との間の大きさを有し、且つ、
前記命令が、実行されたとき、前記少なくとも１つのプロセッサに少なくとも前記軟判定値としての対数尤度比を決定すること及び前記第２ビットを検証するために利用されるエラー訂正コードにおいて前記対数尤度比を利用することにより、前記第２ビットの値を検証させる請求項１４に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記第１ビットが１に等しい場合に、前記対数尤度比が第１の絶対値を含み、且つ、前記第１ビットが０に等しい場合に、前記第１の絶対値よりも小さい第２の絶対値を含む、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項１８】
第１セル電圧状態が、前記第１読み込み基準電圧、前記第２読み込み基準電圧、及び前記第３読み込み基準電圧より低い電圧を有し、
第２セル電圧状態が、前記第１読み込み基準電圧より高く、且つ、前記第２読み込み基準電圧及び前記第３読み込み基準電圧より低い電圧を有し、
第３セル電圧状態が、前記第２読み込み基準電圧より高く、且つ、前記第３読み込み基準電圧より低い電圧を有し、
前記第１セル電圧状態と前記第２セル電圧状態との間の電圧差が、前記第２セル電圧状態と前記第３セル電圧状態との間の電圧差より大きい請求項１７に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記少なくとも１つのプロセッサが、前記少なくとも第１物理ページアドレスから読み取ったデータと読み込みキャッシュ中の前記第２物理ページアドレスから読み取ったデータを相互に関連付けることにより、前記マルチレベルメモリセルと関連付けられた前記第１物理ページアドレスと前記マルチレベルメモリセルと関連付けられた前記第２物理ページアドレスを相互に関連付けるように構成される、請求項１４に記載のコンピュータ可読記憶媒体。
【請求項２０】
少なくとも１つのマルチレベルメモリセルを含む少なくとも１つのメモリデバイスと、
前記マルチレベルメモリセルと関連付けられた第１物理ページアドレスと前記マルチレベルメモリセルと関連付けられた第２物理ページアドレスを相互に関連付ける手段と、
少なくとも第１読み込み動作を前記マルチレベルメモリセルに適用して、前記第１物理ページアドレスと関連付けられた第１ビットの値を決定する手段と、
少なくとも第２読み込み動作を前記マルチレベルメモリセルに適用して、前記第２物理ページアドレスと関連付けられた第２ビットの値を決定する手段と、
少なくとも部分的に前記第１ビットの値及び前記第２ビットの値に基づいて、軟判定値を決定する手段と、
前記軟判定値に少なくとも部分的に基づいて、前記第２ビットの値を検証する手段とを含む記憶デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、セルあたり複数のビットを記憶するメモリデバイスからデータを読み取ることに関する。
【背景技術】
【０００２】
コンピュータ又はその他の電子デバイスにおいて使用される記憶デバイスは、不揮発性メモリ又は揮発性メモリのいずれでもあり得る。不揮発性メモリと揮発性メモリの主な差異は、不揮発性メモリが持続電力供給を必要とせずにデータを記憶し続け得ることである。その結果、不揮発性メモリデバイスは、様々な電子応用のための一般的なメモリとして発展してきた。たとえば、フラッシュメモリデバイスを含む不揮発性メモリデバイスは、一般的にソリッドステートドライブ（ＳＳＤ）などのソリッドステート記憶デバイスに組み込まれている。記憶密度を高めるために、一部のＳＳＤ及びその他のメモリデバイスでは物理セルあたり複数のデータビットを記憶する。これは記憶密度を高めるが、複数の情報ビットを記憶する物理セルからのデータ読み込みはより難しく、且つ、セルの軟判定情報を得るために複数回の再読み込み動作を行うので、長い読み込み時間及び読み込みディスターブの問題が生ずることがある。
【発明の概要】
【０００３】
本開示は、いくつかの例において、少なくとも１つのプロセッサにより、マルチレベルメモリセルと関連付けられた第１物理ページアドレスとマルチレベルメモリセルと関連付けられた第２物理ページアドレスを相互に関連付けることを含む方法について記述する。この方法は、少なくとも１つのプロセッサの制御により、少なくとも第１読み込み動作をマルチレベルメモリセルに適用して、第１物理ページアドレスと関連付けられた第１ビットの値を決定することも含み得る。いくつかの例において、この方法は、少なくとも１つのプロセッサにより、少なくとも第２読み込み動作をマルチレベルメモリセルに適用して、第２物理ページアドレスと関連付けられた第２ビットの値を決定することも含み得る。この方法は、少なくとも１つのプロセッサにより、第１ビットの値及び第２ビットの値に基づいて、第２ビットに関する軟判定値を決定することをさらに含み得る。さらに、この方法は、少なくとも１つのプロセッサにより、少なくとも部分的に軟判定値に基づいて、第２ビットの値を検証することを含み得る。
【０００４】
いくつかの例において、本開示は、少なくとも１つのプロセッサ及び少なくとも１つのマルチレベルメモリセルを含む少なくとも１つのメモリデバイスを含む記憶デバイスについて記述する。このプロセッサは、マルチレベルメモリセルと関連付けられた第１物理ページアドレスとマルチレベルメモリセルと関連付けられた第２物理ページアドレスを相互に関係付けるように構成することができる。このプロセッサは、少なくとも第１読み込み動作をマルチレベルメモリセルに適用して、第１物理ページアドレスと関連付けられた第１ビットの値を決定するように構成することもできる。いくつかの例において、このプロセッサは、さらに、少なくとも第２読み込み動作をマルチレベルメモリセルに適用して、第２物理ページアドレスと関連付けられた第２ビットの値を決定するように構成することもできる。このプロセッサは、第２ビットと関連付けられた軟判定値を少なくとも部分的に第１ビットの値及び第２ビットの値に基づいて決定するように構成することもできる。このプロセッサは、少なくとも部分的に軟判定値に基づいて、第２ビットの値を検証するように構成することもできる。
【０００５】
いくつかの例において、本開示は、実行されたときに、少なくとも１つのプロセッサにマルチレベルメモリセルと関連付けられた第１物理ページアドレスとマルチレベルメモリセルと関連付けられた第２物理ページアドレスを相互に関連付けさせる命令を記憶するコンピュータ可読記憶媒体について記述する。この命令は、実行されたときに、少なくとも１つのプロセッサに少なくとも第１読み込み動作をマルチレベルメモリセルに適用して、第１物理ページアドレスと関連付けられた第１ビットの値を決定させることができる。いくつかの例において、この命令は、実行されたときに、少なくとも１つのプロセッサに少なくとも第２読み込み動作をマルチレベルメモリセルに適用して、第２物理ページアドレスと関連付けられた第２ビットの値を決定させることができる。また、この命令は、実行されたときに、少なくとも１つのプロセッサに第２ビットに関する軟判定値を少なくとも部分的に第１ビットの値及び第２ビットの値に基づいて決定させることもできる。さらに、この命令は、実行されたときに、少なくとも１つのプロセッサに少なくとも部分的に軟判定値に基づいて、第２ビットの値を検証させることができる。
【０００６】
いくつかの例において、本開示は、少なくとも１つのマルチレベルメモリセルを含む少なくとも１つのメモリデバイスを含む記憶デバイスについて記述する。この記憶デバイスは、マルチレベルメモリセルと関連付けられた第１物理ページアドレスとマルチレベルメモリセルと関連付けられた第２物理ページアドレスを相互に関連付ける手段も含むことができる。いくつかの例において、この記憶デバイスは、少なくとも第１読み込み動作をマルチレベルメモリセルに適用して、第１物理ページアドレスと関連付けられた第１ビットの値を決定する手段を含むこともできる。さらに、この記憶デバイスは、少なくとも第２読み込み動作をマルチレベルメモリセルに適用して、第２物理ページアドレスと関連付けられた第２ビットの値を決定する手段を含むことができる。さらに、この記憶デバイスは、少なくとも部分的に第１ビットの値及び第２ビットの値に基づいて軟判定値を決定する手段を含むことができる。いくつかの例において、この記憶デバイスは、少なくとも部分的に軟判定値に基づいて、第２ビットの値を検証する手段も含み得る。
【０００７】
添付図面及び以下の説明において１つ又は複数の例を用いて詳述する。その他の特徴、目的及び長所は、明細書及び図面から、且つ、請求項から明らかとなるであろう。
【図面の簡単な説明】
【０００８】
【図１】本開示の１つ又は複数の技術に従って記憶デバイスがホストデバイスの記憶デバイスとして機能することができる例示的な記憶環境を示す概念的略ブロック図である。
【図２】本開示の１つ又は複数の技術による例示的なメモリデバイスを示す概念図である。
【図３】本開示の１つ又は複数の技術による例示的なコントローラを示す概念的略ブロック図である。
【図４】本開示の１つ又は複数の技術による２ビット／セル（ＭＬＣ）技術のセル閾値電圧分布並びにロアーページ及びアッパーページの対応ビット値を示す概念図である。
【図５】本開示の１つ又は複数の技術による２ビット／セル（ＭＬＣ）技術のセル閾値電圧分布並びにロアーページ及びアッパーページの対応ビット値を示す概念図である。
【図６】本開示の１つ又は複数の技術による３ビット／セル（ＴＬＣ）技術のセル閾値電圧分布並びにロアーページ、ミドルページ及びアッパーページの対応ビット値を示す概念図である。
【図７】本開示の１つ又は複数の技術による３ビット／セル（ＴＬＣ）技術のセル閾値電圧分布並びにロアーページ、ミドルページ及びアッパーページの対応ビット値を示す概念図である。
【図８】本開示の１つ又は複数の技術に従って、マルチレベルメモリセルと関連付けられた第１物理ページアドレスとマルチメモリセルと関連付けられた第２物理ページアドレスを相互に関連付け、且つ、第２物理ページアドレスと関連付けられた第２ビットの値を第１物理ページアドレスと関連付けられた第１ビットの値及び第２ビットの値に少なくとも部分的に基づいて検証する例示的な技術を示す流れ図である。
【発明を実施するための形態】
【０００９】
本開示は、複数のデータビットを記憶するメモリセルからデータを読み取る技術について記述する。マルチレベルセル（ＭＬＣ）フラッシュメモリセル又はトリプルレベルセル（ＴＬＣ）フラッシュメモリセルなど複数のデータビットを記憶するメモリセルでは、メモリセルは、複数の物理ページアドレスに関連付けることができる。たとえば、ＭＬＣフラッシュメモリセルは、第１物理ページアドレス（ＭＬＣフラッシュメモリセルにより記憶される第１ビットについて）及び第２物理ページアドレス（ＭＬＣフラッシュセルにより記憶される第２ビットについて）に関連付けることができる。コントローラ又は読み込みチャネル、又はそれらの両方を含み得る少なくとも１つのプロセッサにより第１物理ページアドレスと第２物理ページアドレスを相互に関連付けることができる。第１物理ページアドレスと第２物理ページアドレスを相互に関連付けることにより、少なくとも１つのプロセッサは、第２物理ページアドレスと関連付けられた第２ビットの値を決定するときに、第１物理ページアドレスと関連付けられた第１ビットの値と関連付けられた情報を利用することができる。いくつかの例において、これにより、第２物理ページアドレスに関連付けられたビットを読み取るために少なくとも１つのプロセッサにより行われる読み込みの回数を低減すること、又は少なくとも１つのプロセッサが第２物理ページアドレスと関連付けられたビットの値を決定する正確度を高めること、又はそれらの両方が可能になる。いくつかの例では、第２物理ページアドレスと関連付けられたビットを読み取るために少なくとも１つのプロセッサにより行われる読み込みの回数を低減することにより、第２物理ページアドレスと関連付けられたデータの読み込みに関連する読み込みオーバーヘッドを低減することができ、それにより読み込みスループットが向上すること、又はメモリセルの摩耗が低減すること、又はそれらの両方が期待できる。
【００１０】
いくつかの例では、少なくとも１つのプロセッサは、軟判定復号を利用して第２ビットの値を検証することができる。たとえば、少なくとも１つのプロセッサは、第１ビットの値及び第２ビットの値を利用して対数尤度比（ＬＬＲ）の値を計算することができ、次に少なくとも１つのプロセッサがこれを利用して第２ビットの値を検証する。いくつかの例では、少なくとも１つのプロセッサは、低密度パリティチェック（ＬＤＰＣ）においてＬＬＲ値を使用して第２ビットの値を確認することができる。前述したように、第１物理ページアドレス及び第２物理ページアドレスが相互に関連付けられるので、少なくとも１つのプロセッサがすでに第１物理ページアドレスの読み込みを完了している場合、少なくとも１つのプロセッサは、第１物理ページアドレスと関連付けられたすでに読み込み済みのビット値を利用してＬＬＲを計算することができる。
【００１１】
ＭＬＣフラッシュメモリセル又はＴＬＣフラッシュメモリセルでは、種々のビット値がメモリセル内に電圧レベルとして記憶される。いくつかの例では、少なくとも１つのプロセッサは第２ビットの値の決定において第１ビットの値を利用できるので、第２ビットのビット遷移（たとえば、０から１又は１から０）の両側の電圧レベルは、第１ビットのビット遷移の両側の電圧レベルより狭く配置できる。第１ビットのビット遷移の電圧レベル間の幅がより大きいことは、第１ビットの０ビット値と１ビット値間により大きな識別を与えることができ、且つ、第１ビット値及び第２ビット値を使用して決定される軟判定復号値を利用して第２ビットの値を検証できるので、第２ビットの電圧状態のより密接な配置が可能になる。
【００１２】
図１は、記憶デバイス６がこの開示の１つ又は複数の技術に従ってホストデバイス４の記憶デバイスとして機能を果たし得る例示的な記憶環境２を示す概念的略ブロック図である。たとえば、ホストデバイス４は、記憶デバイス６に含まれている不揮発性記憶デバイスを利用してデータを記憶し、且つ、読み出すことができる。いくつかの例において、記憶環境２は、記憶デバイス６のように、記憶配列として機能し得る複数のメモリデバイスを含むことができる。たとえば、記憶環境２は、ホストデバイス４の大容量記憶デバイスとして集団的に機能するリダンダント・アレイ・オブ・インエクスペンシブ・ディスク（ＲＡＩＤ）として構成された複数の記憶デバイス６を含むことができる。
【００１３】
記憶環境２は、記憶デバイス６のような１つ又は複数の記憶デバイスにデータを記憶し、且つ／又はそれから読み出すホストデバイス４を含むことができる。図１に示すように、ホストデバイス４は、インタフェース１４経由で記憶デバイス６と通信することができる。ホストデバイス４は、コンピュータサーバ、ネットワークアタッチトストレージ（ＮＡＳ）ユニット、デスクトップコンピュータ、ノート（すなわち、ラップトップ）コンピュータ、タブレット型コンピュータ、セットトップボックス、いわゆる「スマートフォン」などの電話送受器、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーム機、ビデオストリーミングデバイス等を含む様々な装置のいずれかを含むことができる。ホストデバイス４は、論理アドレス又は仮想アドレスを使用して記憶環境２に記憶されるデータを識別することができる。
【００１４】
図１に示したように、記憶デバイス６は、コントローラ８、不揮発性メモリアレイ１０（ＮＶＭＡ１０）、電力供給装置１１、揮発性メモリ１２、及びインタフェース１４を含むことができる。いくつかの例では、記憶デバイス６は、明確を期するために図１に示されていない追加構成要素を含むことができる。たとえば、記憶デバイス６は、記憶デバイス６の部品を実装し、且つ、記憶デバイス６の部品を電気的に相互接続する導電配線を含むプリント基板（ＰＢ）等を含むことができる。いくつかの例では、記憶デバイス６の物理的寸法及びコネクタ構成は、１つ又は複数の標準フォームファクターに適合し得る。いくつかの例示的な標準フォームファクターは、３．５インチハードディスクドライブ（ＨＤＤ）、２．５インチＨＤＤ、１．８インチＨＤＤ、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）、拡張ＰＣＩ（ＰＣＩ−Ｘ）、ＰＣＩエクスプレス（ＰＣＩｅ）（たとえば、ＰＣＩｅ  ｘ１、ｘ４、ｘ８、ｘ１６、ＰＣＩｅミニカード、ＭｉｎｉＰＣＩ等）を含むが、これらのみには限られない。いくつかの例では、記憶デバイス６は、ホストデバイス４のマザーボードに直接結合することができる（たとえば、直接ハンダ付けする）。
【００１５】
記憶デバイス６は、ホストデバイス４とインタフェースするためのインタフェース１４を含むことができる。インタフェース１４は、ホストデバイス４とデータを交換するデータバスとホストデバイス４とコマンドを交換する制御バスのいずれか、又はそれらの両方を含むことができる。インタフェース１４は、適切なプロトコルに従って動作することができる。たとえば、インタフェース１４は、以下のプロトコルの１つ又は複数に従って動作することができる：アドバンスドテクノロジーアタッチメント（ＡＴＡ）（たとえば、シリアルＡＴＡ（ＳＡＴＡ）及びパラレルＡＴＡ（ＰＡＴＡ））、ファイバーチャネル、小型計算機システムインタフェース（ＳＣＳＩ）、シリアルアタッチドＳＣＳＩ（ＳＡＳ）、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）、ＰＣＩエクスプレス、又は不揮発性メモリエクスプレス（ＮＶＭｅ）。インタフェース１４の電気的接続（たとえば、データバス、制御バス、又はこれらの両方）は、コントローラ８に電気的に接続され、それによりホストデバイス４とコントローラ８間に電気的接続を与え、且つ、ホストデバイス４とコントローラ８間のデータ交換を可能にする。いくつかの例では、インタフェース１４の電気的接続は、記憶デバイス６がホストデバイス４から電力を受け取ることも可能にすることができる。たとえば、図１に示すように、電力供給装置１１は、ホストデバイス４からインタフェース１４経由で電力を受け取ることができる。
【００１６】
記憶デバイス６は、記憶デバイス６の１つ又は複数の動作を管理することができるコントローラ８を含んでいる。たとえば、コントローラ８は、メモリデバイス１６Ａａ〜１６Ｎｎ（まとめて、「メモリデバイス１６」）からのデータの読み込み及び／又は同装置へのデータの書き込みを管理することができる。いくつかの例では、図１には示されていないが、記憶デバイス６は、記憶デバイス６の１つ又は複数の動作も管理し得る読み込みチャネル又は書き込みチャネル、又はこれらの両方を含むこともできる。たとえば、読み込みチャネルは、一例として、メモリデバイス１６からの読み込みを管理することができ、また、書き込みチャネルは、一例として、メモリデバイス１６への書き込みを管理することができる。いくつかの例では、読み込みチャネルは、メモリデバイス１６のメモリセルにより記憶された個別のビットの値の決定など、この開示の技術を実行することができる。
【００１７】
記憶デバイス６は、複数のメモリデバイス１６を含み得るＮＶＭＡ１０を含むことができる。メモリデバイス１６のそれぞれは、データを記憶し、且つ／又は読み出すように構成することができる。たとえば、メモリデバイス１６のメモリデバイスは、コントローラ８からデータ及びメモリデバイスに対しそのデータの記憶を命令するメッセージを受け取ることができる。同様に、メモリデバイス１６のメモリデバイスは、コントローラ８からそのメモリデバイスに対しデータの読み出しを命令するメッセージを受け取ることができる。いくつかの例では、メモリデバイス１６のそれぞれは、ダイと呼ばれることもある。いくつかの例では、単一の物理チップが複数のダイ（すなわち、複数のメモリデバイス１６）を含み得る。いくつかの例では、メモリデバイス１６のそれぞれは、比較的大量のデータ（たとえば、１２８ＭＢ、２５６ＭＢ、５１２ＭＢ、１ＧＢ、２ＧＢ、４ＧＢ、８ＧＢ、１６ＧＢ、３２ＧＢ、６４ＧＢ、１２８ＧＢ、２５６ＧＢ、５１２ＧＢ、１ＴＢ等）を記憶するように構成することができる。
【００１８】
いくつかの例では、メモリデバイス１６は、任意の種類の不揮発性メモリデバイスを含むことができる。メモリデバイス１６のいくつかの例は、フラッシュメモリデバイス、相変化メモリ（ＰＣＭ）デバイス、抵抗ランダムアクセスメモリ（ＲｅＲＡＭ）デバイス、磁気抵抗ランダムアクセスメモリ（ＭＲＡＭ）デバイス、強誘電体ランダムアクセスメモリ（Ｆ−ＲＡＭ）デバイス、ホログラムメモリデバイス、及びその他の任意の種類の不揮発性メモリデバイスを含むがこれらに限られないデバイスを含む。
【００１９】
フラッシュメモリデバイスは、ＮＡＮＤ又はＮＯＲベースのフラッシュメモリデバイスを含むことができ、且つ、各フラッシュメモリセルのトランジスタのフローティングゲートに含まれている電荷に基づいてデータを記憶し得る。ＮＡＮＤフラッシュメモリデバイスでは、フラッシュメモリデバイスは、複数のブロックに分割され、それらのブロックのそれぞれが複数のページに分割され得る。図２は、例示的なメモリデバイス１６Ａａを示す概念的ブロック図である。この例示ユニットは、複数のブロック１７Ａ〜１７Ｎ（まとめて、「ブロック１７」）を含み、これらのそれぞれが複数のページ１９Ａａ〜１９Ｎｍ（まとめて、「ページ１９」）に分割される。特定のメモリデバイス（たとえば、メモリデバイス１６Ａａ）内のページ１９の各ページは、複数のフラッシュメモリセルを含み得る。ＮＡＮＤフラッシュメモリデバイスでは、フラッシュメモリセルの行は、ワード線を使用して電気的に接続されて複数のページ１９のうちの１ページを定義することができる。ページ１９のそれぞれにおける個々のセルは、個々のビット線に電気的に接続され得る。コントローラ８は、ＮＡＮＤフラッシュメモリデバイスとの間においてページレベルでデータの読み込み及び書き込みを行い、且つ、ＮＡＮＤフラッシュメモリデバイスのデータをブロックレベルで消去することができる。
【００２０】
いくつかの例では、各フラッシュメモリセルが１ビットのデータを記憶するのではなく、各フラッシュメモリセルが複数ビットのデータを含むことができる。たとえば、メモリデバイス１６のフラッシュメモリセルは、ＭＬＣフラッシュメモリセル、ＴＬＣフラッシュメモリセル等を含み得る。いくつかの例では、ＭＬＣフラッシュメモリセル又はＴＬＣフラッシュメモリセル中の各ビットは、ページ１９の個々のページに関連付けられる。たとえば、ＭＬＣフラッシュメモリセルにより記憶される第１ビットはアッパーページに関連付け、且つ、ＭＬＣフラッシュセルにより記憶される第２ビットはロアーページに関連付けることができる。同様に、ＴＬＣフラッシュメモリセルにより記憶される第１ビットはアッパーページに関連付け、ＴＬＣフラッシュメモリセルにより記憶される第２ビットはミドルページに関連付け、且つ、ＴＬＣフラッシュメモリセルにより記憶される第３ビットはロアーページに関連付けることができる。同様に、ＭＬＣ及びＴＬＣフラッシュメモリセルの個々のビットは、以下においてより詳しく説明するように、個々の物理ページアドレスに関連付けることができる。
【００２１】
いくつかの例では、コントローラ８をメモリデバイス１６の各メモリデバイスに別々に接続することは実際的でないであろう。そこで、メモリデバイス１６とコントローラ８間の接続を多重化することが考えられる。１つの例として、メモリデバイス１６は、チャネル１８Ａ〜１８Ｎ（まとめて、「チャネル１８」）にグループ化することができる。たとえば、図１に示したように、メモリデバイス１６Ａａ〜１６Ａｎは第１チャネル１８Ａにグループ化し、且つ、メモリデバイス１６Ｎａ〜１６Ｎｎは第Ｎチャネル１８Ｎにグループ化することができる。チャネル１８のそれぞれにグループ化されたメモリデバイス１６は、コントローラ８への１つ又は複数の接続を共用し得る。たとえば、第１チャネル１８Ａにグループ化されたメモリデバイス１６は、共通Ｉ／Ｏバス及び共通制御バスに接続され得る。記憶デバイス６は、チャネル１８のそれぞれの個別チャネルのための共通Ｉ／Ｏバス及び共通制御バスを含むことができる。いくつかの例では、チャネル１８の各チャネルは、メモリデバイスを各チャネル上で多重化するために使用され得る１群のチップイネーブル（ＣＥ）線を含み得る。たとえば、各ＣＥ線は、メモリデバイス１６の個々のメモリデバイスに接続することができる。この方法により、コントローラ８とメモリデバイス１６間の個別接続の数を低減することができる。また、各チャネルは、それぞれ独立してコントローラ８への接続を有し、コントローラ８は各チャネルに異なるコマンドを同時に発行し得るので、接続数の低減は、データスループット率に大きな影響を与えないであろう。
【００２２】
記憶デバイス６は、記憶デバイス６の１つ又は複数の構成要素に電力を供給し得る電力供給装置１１を含むことができる。標準モードにおいて動作する場合、電力供給装置１１は、ホストデバイス４のような外部装置により供給される電力を使用して１つ又は複数の構成要素に電力を供給し得る。たとえば、電力供給装置１１は、インタフェース１４経由でホストデバイス４から受け取った電力を使用して１つ又は複数の構成要素に電力を供給することができる。いくつかの例では、電力供給装置１１は、外部装置からの給電が停止したときなどシャットダウンモードで動作している場合に１つ又は複数の構成要素に電力を供給するように構成されている１つ又は複数の電力貯蔵構成要素を含むことができる。この方法により、電力供給装置１１は、オンボードバックアップ電源として機能を果たすことができる。１つ又は複数の電力貯蔵構成要素のいくつかの例は、コンデンサ、超コンデンサ、電池等を含むがこれらのみには限られない。いくつかの例では、１つ又は複数の電力貯蔵構成要素により貯蔵され得る電力量は、１つ又は複数の電力貯蔵構成要素のコスト及び／又はサイズ（たとえば、面積／体積）に応じて決めることができる。換言すると、１つ又は複数の電力貯蔵構成要素により蓄えられる電力量の増加に応じて、１つ又は複数の電力貯蔵構成要素のコスト及び／又はサイズも増加する。
【００２３】
記憶デバイス６は、情報を記憶するためにコントローラ８により使用され得る揮発性メモリ１２を含むことができる。いくつかの例では、コントローラ８は、揮発性メモリ１２をキャッシュメモリとして使用し得る。たとえば、コントローラ８は、キャッシュ情報１３がメモリデバイス１６に書き込まれるまでキャッシュ情報１３を揮発性メモリ１２に格納することができる。図１に示したように、揮発性メモリ１２は、電力供給装置１１から受け取った電力を消費することができる。揮発性メモリ１２の例は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、及び同期ダイナミックＲＡＭ（ＳＤＲＡＭ（たとえば、ＤＤＲ１、ＤＤＲ２、ＤＤＲ３、ＤＤＲ３Ｌ、ＬＰＤＤＲ３、ＤＤＲ４等））を含むが、これらのみには限られない。
【００２４】
いくつかの例では、コントローラ８は、揮発性メモリ１２を使用して論理−物理（又は仮想−物理）データアドレス変換テーブルを記憶することができる。ホストデバイス４は論理データアドレスを使用してデータのユニットを参照することができ、また、コントローラ８は、物理データアドレスを利用してメモリデバイス１６に対しデータの書き込み及び読み込みを指示することができる。いくつかの例では、論理−物理データアドレス変換テーブルは、論理データアドレス及び対応する物理データアドレスを含む入力項目を含み得る。いくつかの例では、論理−物理データアドレス変換テーブル中の各入力項目が論理データアドレスを含むのではなく、論理−物理データアドレス変換テーブルは、論理−物理データアドレス変換テーブル中の各入力項目のそれぞれの論理データアドレスをコード化するインデックスを含むことができる。これらの例の一部では、論理−物理データアドレス変換テーブルが論理−物理データアドレス変換テーブル中に個々の入力項目のインデックス値（又は論理データアドレス）を記憶しない場合がある。
【００２５】
この開示の１つ又は複数の技術に従って、コントローラ８は、同一メモリセルと関連付けられた物理ページアドレスに相互に関連付けることができる。たとえば、それぞれ、２ビットを記憶し、そしてＭＬＣフラッシュメモリセルと呼ばれるメモリセルがある。１組のＭＬＣフラッシュメモリセルをこの組のＭＬＣフラッシュメモリセルの個々のＭＬＣフラッシュメモリセルの個々の第１ビットについて第１物理ページアドレスに関連付けることができる。第１の組のＭＬＣフラッシュメモリセルをこれらの個々のＭＬＣフラッシュメモリセルの個々の第２ビットについて第２物理ページアドレスに関連付けることができる。コントローラ８は、第１物理ページアドレスを第２物理ページアドレスに関連付けることができる。いくつかの例では、第１物理ページアドレスはアッパーページに関連付けられ、且つ、第２物理ページアドレスはロアーページに関連付けられる。
【００２６】
コントローラ８は、第１物理ページアドレスと関連付けられたアッパーページからデータを読み取ることができる。たとえば、ＭＬＣフラッシュメモリセルの場合、コントローラ８は、２つの読み込み基準電圧をマルチレベルメモリセルに加えて第１物理ページアドレスと関連付けられた第１ビットの値を決定することができる。この方法により、コントローラ８は、ＭＬＣフラッシュメモリセルにより記憶され、且つ、アッパーページと関連付けられた第１ビットが０であるか又は１であるか決定することができる。いくつかの例では、コントローラ８は、ＭＬＣフラッシュメモリセルにより記憶され、且つ、アッパーページと関連付けられた第１ビットの値を揮発性メモリ１２に格納することができる。
【００２７】
後にコントローラ８は、ホスト４から、ＭＬＣフラッシュメモリセルの第２ロアーページに関連付けられているとコントローラ８が決定するデータの読み込み要求を受けることができる。コントローラは、第３読み込み基準電圧（第１の２つの基準電圧と異なる）をＭＬＣフラッシュメモリセルに加えることができる。この第３読み込み基準電圧は、第２ビットの０値に関連付けられる第１メモリセル電圧状態と第２ビットの１値に関連付けられる第２メモリセル電圧状態の中間の値として選択することができる。これは、ロアーページ（及び第２物理ページアドレス）に関連付けられた第２ビットの値に関する情報を与えることができる。
【００２８】
コントローラ８は、第２ビット（ロアーページビット）と関連付けられた軟判定値をＭＬＣフラッシュメモリセルからの第１ビット（アッパーページビット）の値及び第２ビットの値に基づいて決定することもできる。いくつかの例では、軟判定値は、対数尤度比（ＬＬＲ）を含み得る。あるビット（ｂｉ）のＬＬＲは、スケール係数（Ｓ）、そのビットが値０を有する確率（Ｐ（ｂｉ＝０））及びそのビットが値１を有する確率（Ｐ（ｂｉ＝１）により次のように計算することができる。
ＬＬＲ（ｂｉ）＝Ｓ＊ｌｏｇ（Ｐ（ｂｉ＝０）／Ｐ（ｂｉ＝１））
【００２９】
たとえば、ＬＬＲの比較的大きい絶対値は、その一定のビットが０の値（正の値のＬＬＲの場合）又は１の値（負の値のＬＬＲの場合）である確率が比較的高いことを示すであろう。反対にＬＬＲの比較的小さい絶対値は、その一定のビットが０の値（正の値のＬＬＲの場合）又は１の値（負の値のＬＬＲの場合）である確率が比較的低いことを示すであろう。
【００３０】
この開示の１つ又は複数の技術に従って、コントローラ８は、第１及び第２ビットの値に基づいて軟判定値に値を割り当てることができる。たとえば、コントローラ８は、第１ビットが１の値をもち、且つ、第２ビットが０の値を有するとコントローラ８が決定した場合に、第２ビットと関連付けられた軟判定値に比較的大きい正の値（たとえば、１００）を割り当てることができる（これは、第２ビットが０の値を有する確率が高いことを示す）。別の例として、コントローラ８は、第１ビットが０の値をもち、且つ、第２ビットが０の値を有するとコントローラ８が決定した場合に、第２ビットと関連付けられた軟判定値に比較的小さい正の値（たとえば、１０）を割り当てることができる（これは、第２ビットが０の値を有する確率が低いことを示す）。さらなる例として、コントローラ８は、第１ビットが１の値をもち、且つ、第２ビットが１の値を有するとコントローラ８が決定した場合に、第２ビットの軟判定値（たとえば、ＬＬＲ）に比較的大きい負の値（たとえば、−１００）を割り当てることができる（これは、第２ビットが１の値を有する確率が高いことを示す）。さらに別の例として、コントローラ８は、第１ビットが０の値をもち、且つ、第２ビットが１の値を有するとコントローラ８が決定した場合に第２ビットの軟判定値に比較的小さい負の値（たとえば、−１０）を割り当てることができる（これは、第２ビットが１の値を有する確率が低いことを示す）。いくつかの例では、コントローラ８は、第１ビットの値の読み込み時に軟判定値を決定せず、且つ、第１ビットと第２ビットの両方を読み取った後に第２ビットと関連付けられた軟判定値を決定することができる。
【００３１】
第１及び第２物理ページアドレスは相互に関連付けられており、且つ、コントローラ８がロアーページからデータを読み取る前にアッパーページからデータを読み取った場合には第１ビットの値は揮発性メモリ１２に記憶され得るので、コントローラ８は、アッパーページの再度読み込みを行わずに、第２ビットに関連付けられる軟判定値を決定することができる。再度読み込みの代わりに、コントローラ８は、第１ビットの値を揮発性メモリ１２から読み出し、その値を利用して第２ビットに関連付けられる軟判定値を決定する。これは、第２ビットの値を決定するために使用される読み込み動作の回数を低減し、それにより読み込みスループットを増大するか又はメモリデバイス１６の摩耗を低減するか、又はそれらの両方を実現することができる。
【００３２】
図３は、コントローラ８の例示的な詳細を示す概念的略ブロック図である。いくつかの例では、コントローラ８は、アドレス変換モジュール３２、書き込みモジュール３４、維持モジュール３６、読み込みモジュール３８、スケジューリングモジュール４０、及び複数のチャネルコントローラ４２Ａ〜４２Ｎ（まとめて、「チャネルコントローラ４２」）を含み得る。他の例では、コントローラ８は、追加のモジュール又はハードウェアユニットを含むか、又はより少ないモジュール又はハードウェアユニットを含み得る。コントローラ８は、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又はその他のデジタル論理回路を含み得る。いくつかの例では、コントローラ８は、チップ上のシステム（ＳｏＣ）とすることができる。
【００３３】
コントローラ８は、インタフェース１４経由でホストデバイス４とインタフェースし、且つ、メモリデバイス１６へのデータ記憶及びそれからのデータ読み出しを管理することができる。たとえば、コントローラ８の書き込みモジュール３４は、メモリデバイス１６への書き込みを管理し得る。たとえば、書き込みモジュール３４は、記憶デバイス６に対し論理データアドレスと関連付けられたデータを記憶するように命令するメッセージ及びデータをホストデバイス４からインタフェース１４経由で受け取ることができる。書き込みモジュール３４は、メモリデバイス１６へのデータの書き込みを管理することができる。
【００３４】
たとえば、書き込みモジュール３４は、アドレス変換モジュール３２と交信することができる。このモジュールは、ホストデバイス４によりデータの記憶場所を管理するために使用される論理データアドレスと書き込みモジュール３４によりメモリデバイス１６に対しデータの書き込みを指示するために使用される物理データアドレス間の変換を管理する。コントローラ８のアドレス変換モジュール３２は、メモリデバイス１６により記憶されるデータの論理データアドレス（又は論理ブロックアドレス）をメモリデバイス１６により記憶されるデータの物理データアドレス（又は物理ブロックアドレス）に関連付ける論理−物理データアドレス変換テーブルを利用することができる。たとえば、ホストデバイス４は、記憶デバイス６への命令又はメッセージにおいてメモリデバイス１６により記憶されるデータの論理データアドレスを利用することができる一方、書き込みモジュール３４は、メモリデバイス１６へのデータ書き込みを制御するためにデータの物理データアドレスを利用する。（同様に、読み込みモジュール３８は、メモリデバイス１６からのデータ読み込みを制御するために物理データアドレスを利用することができる。）物理データアドレスは、メモリデバイス１６の実際の物理的位置に対応する。
【００３５】
上述したように、いくつかの例では、メモリデバイス１６のメモリセルは、ＭＬＣフラッシュメモリセル又はＴＬＣフラッシュメモリセル等のような複数ビット／セル式メモリセルとすることができる。メモリデバイス１６のメモリセルとして複数ビット／セル式メモリセルを使用しているいくつかの例では、複数の物理ページアドレス及び複数のページをメモリセルに関連付けることができる。たとえば、アッパーページと関連付けられた第１物理ページアドレス及びロアーページと関連付けられた第２物理ページアドレスは、両方ともメモリセルに関連付けることができる。第１物理ページアドレスと第２物理ページアドレスは、論理−物理データアドレス変換テーブルにおいて相互に関連付けることができる。いくつかの例では、アドレス変換モジュール３２は、論理−物理データアドレス変換テーブルを揮発性メモリ１２に格納することができる。
【００３６】
この方法により、ホストデバイス４は１組のデータについて静的論理データアドレスを使用することが可能になる一方、データを実際に記憶する物理データアドレスが変更可能となる。アドレス変換モジュール３２は、論理データアドレスを物理データアドレスにマップする論理−物理データアドレス変換テーブルを保持し、それにより、たとえばウェアレベリング又はガーベージコレクション等によりデータの物理データアドレスが変更される場合にもホストデバイス４による静的論理データアドレスの使用を可能にすることができる。いくつかの例では、論理−物理データアドレス変換テーブルを単層テーブルとし、それにより、アドレス変換モジュール３２は、ホストデバイス４から受け取った論理データアドレスにハッシュを適用することにより、対応する物理データアドレスを直接読み出すことができる。
【００３７】
上述したように、コントローラ８の書き込みモジュール３４は、１つ又は複数の動作を行ってメモリデバイス１６へのデータ書き込みを管理することができる。たとえば、書き込みモジュール３４は、データを格納するメモリデバイス１６内の１つ又は複数のブロックを選択し、且つ、選択されたブロックを含むメモリデバイス１６のメモリデバイスに実際に当該データを格納させることにより、メモリデバイス１６へのデータ書き込みを管理することができる。上述したように、書き込みモジュール３４は、選択されたブロックに基づいてアドレス変換モジュール３２に論理−物理データアドレス変換テーブルを更新させることができる。たとえば、書き込みモジュール３４は、ホストデバイス４から１組のデータ及び論理データアドレスを含むメッセージを受け取り、データを格納するメモリデバイス１６の特定のメモリデバイス内のブロック及びページを選択し、メモリデバイス１６のその特定のメモリデバイスにデータを実際に格納させ（たとえば、当該特定メモリデバイスに対応するチャネルコントローラ４２のチャネルコントローラ経由で）、且つ、当該論理データアドレスがメモリデバイス１６の当該特定メモリデバイス内の選択された物理データアドレスに対応することを示すようにアドレス変換モジュール３２に論理−物理データアドレス変換テーブルを更新させることができる。
【００３８】
いくつかの例では、データをメモリデバイス１６に格納することに加えて、書き込みモジュール３４は、１つ又は複数のデータブロックが故障するか又は破損した場合に、メモリデバイス１６にデータのユニットを回復するために使用し得る情報を格納させることができる。パリティ情報を使用して他のブロックにより記憶されているデータを回復することができる。いくつかの例では、このパリティ情報は、他のブロックにより格納されているデータのＸＯＲとすることができる。
【００３９】
論理値の０のビット（帯電）を旧論理値の１のビット（非帯電）に書き込むために、大電流が使用される。この電流は、隣接フラッシュメモリセルの電荷に偶然の変化を引き起こすほど大きいことがある。偶然の変化を防止するために、ブロック内のセルにデータを書き込む前にフラッシュメモリセルのブロック全体を１の論理値（非帯電）に消去しておくことができる。このような理由により、フラッシュメモリセルは、ブロックレベルで消去し、且つ、ページレベルで書き込むことがある。
【００４０】
ホストデバイス４からの書き込みコマンドの受信に応じて、書き込みモジュール３４は、メモリデバイス１６のどの物理位置（たとえばブロック）にデータを書き込むか決定することができる。たとえば、書き込みモジュール３４は、空きであるか（たとえば、データを全く格納していない）、部分的に空いているか（たとえば、ブロックの一部のページのみデータを格納している）、又は少なくともいくつかの無効（又は古い）データを格納している１つ又は複数の物理ブロックアドレスをアドレス変換モジュール３２又は維持モジュール３６に要求することができる。１つ又は複数の物理データブロックアドレスを受け取った後、書き込みモジュール３４は、上述の１つ又は複数のブロックを選択し、且つ、チャネルコントローラ４２にデータを選択されたブロックに書き込ませるメッセージを伝えることができる。
【００４１】
読み込みモジュール３８は、同様に、メモリデバイス１６からのデータ読み込みを制御することができる。たとえば、読み込みモジュール３８は、ホストデバイス４からデータを要求するメッセージを関連論理データアドレスとともに受け取ることができる。アドレス変換モジュール３２は、フラッシュ変換層又はテーブルを使用して論理データアドレスを物理データアドレスに変換することができる。次に読み込みモジュール３８は、１つ又は複数のチャネルコントローラ４２を制御して物理データアドレスからデータを読み出すことができる。書き込みモジュール３４と同様に、読み込みモジュール３８は、１つ又は複数のブロックを選択し、且つ、チャネルコントローラ４２に選択されたブロックからデータを読み取らせるメッセージをそれに伝えることができる。
【００４２】
チャネルコントローラ４２の各チャネルコントローラは、チャネル１８の個々のチャネルに接続され得る。いくつかの例では、コントローラ８は、記憶デバイス６のチャネル１８の個数と同数のチャネルコントローラ４２を含むことができる。チャネルコントローラ４２は、たとえば、書き込みモジュール３４、読み込みモジュール３８、及び／又は維持モジュール３６の制御の下で、それぞれのチャネルに接続されているメモリデバイス１６のアドレス指定、プログラミング、消去、及び読み込みの詳細な制御を行うことができる。
【００４３】
維持モジュール３６は、記憶デバイス６（たとえばメモリデバイス１６）の性能の維持及び有用寿命の延長に関する動作を行うように構成され得る。たとえば、維持モジュール３６は、ウェアレベリング又はガーベージコレクションの少なくとも１つを実行することができる。
【００４４】
コントローラ８のスケジューリングモジュール４０は、メモリデバイス１６により行われる動作をスケジュールすることができる。たとえば、スケジューリングモジュール４０は、コントローラ８の他の構成要素から受け取った要求に基づいて１つ又は複数のメモリデバイス１６に１つ又は複数の動作を実行させることができる。いくつかの例では、スケジューリングモジュール４０は、特定のメモリデバイスに対応するチャネルコントローラにメモリデバイス１６の特定のメモリデバイスへのコマンドを出力させることにより、その特定のメモリデバイスに１つ又は複数の動作を行わせることができる。１つの例として、スケジューリングモジュール４０は、チャネルコントローラ４２Ａがメモリデバイス１６Ａａにデータを記憶させるコマンドを出力することを可能にし得る。
【００４５】
この開示の１つ又は複数の技術に従って、アドレス変換モジュール３２は、同一メモリセルと関連付けられた物理ページアドレスに相互に関連付けることができる。たとえば、これらのメモリセルは、それぞれ、２ビットを格納することができ、且つ、ＭＬＣフラッシュメモリセルと呼ぶことができる。１組のＭＬＣフラッシュメモリセルをこの組のＭＬＣフラッシュメモリセルの個々のＭＬＣフラッシュメモリセルのそれぞれの第１ビットについて第１物理ページアドレスに関連付けることができる。第１の組のＭＬＣフラッシュメモリセルをこれらの個々のＭＬＣフラッシュメモリセルのそれぞれの第２ビットについて第２物理ページアドレスに関連付けることができる。アドレス変換モジュール３２は、第１物理ページアドレスを第２物理ページアドレスアドレスに相互に関連付けることができる。いくつかの例では、第１物理ページアドレスはアッパーページに関連付けられ、且つ、第２物理ページアドレスはロアーページに関連付けられる。
【００４６】
コントローラ８は、ホストデバイス４からインタフェース１４経由で読み込みコマンドを受け取ることができる。読み込みコマンドは、論理ページアドレスを識別することができ、且つ、アドレス変換モジュール３２は、その論理ページアドレスが１組のメモリセルのアッパーページと関連付けられた物理ページアドレスと関連付けられたことを見出すことができる。読み込みモジュール３８は、当該ビットの値をアッパーページから読み出すことができる。たとえば、図４は、ＭＬＣフラッシュメモリセルのセル閾値電圧レベル及びロアーページ及びアッパーページの対応するビット値を示す概念図である。読み込みモジュール３８は、第１読み込み基準電圧Ｒ１及び第３読み込み基準電圧Ｒ３を別々にＭＬＣフラッシュメモリセルに加えることにより、１つ又は複数のチャネルコントローラ４２にアッパーページからデータを読み取らせることができる。図４に示したように、第１読み込み基準電圧Ｒ１は、アッパーページの１を表す第１セル電圧状態Ｓ１とアッパーページの０を表す第２セル電圧状態Ｓ２の中間にある。同様に、第３読み込み基準電圧Ｒ３は、アッパーページの０を表す第３セル電圧状態Ｓ３とアッパーページの１を表す第４セル電圧状態Ｓ４の中間にある。
【００４７】
ＭＬＣフラッシュメモリセルの電圧レベルが第１（最低）セル電圧状態Ｓ１、第２（下から２番目）セル電圧状態Ｓ２、第３（上から２番目）セル電圧状態Ｓ３、又は第４（最高）セル電圧状態Ｓ４のいずれであるかに従って、第１読み込み基準電圧Ｒ１が加えられたとき、及び第３読み込み基準電圧Ｒ３が加えられたとき、ＭＬＣフラッシュメモリセルは、導電状態となるか、又は非導電状態になることができる。この方法により、読み込みモジュール３８は、ＭＬＣフラッシュメモリセルにより記憶され、且つ、アッパーページと関連付けられた第１ビットが０であるか又は１であるか決定することができる。いくつかの例では、コントローラ８（たとえば、読み込みモジュール３８）は、ＭＬＣフラッシュメモリセルにより記憶され、且つ、アッパーページと関連付けられた第１ビットの値を揮発性メモリ１２に格納することができる。
【００４８】
コントローラ８は、ＭＬＣフラッシュメモリセルのロアーページと関連付けられた物理ページアドレスに関連付けられているとアドレス変換モジュール３２により決定される論理ページアドレスと関連付けられたデータの読み込み要求をホスト４から受け取ることもできる。読み込みモジュール３８は、１つ又は複数のチャネルコントローラ４２に第２読み込み基準電圧Ｒ２をＭＬＣフラッシュメモリセルに印加させることができる。図４に示したように、第２読み込み基準電圧Ｒ２は、ロアーページの１を表す第２セル電圧状態Ｓ２とロアーページの０を表す第３セル電圧状態Ｓ３の中間にある。この方法により、読み込みモジュール３８は、ロアーページと関連付けられた第２物理ページアドレスと関連付けられた第２ビットの値を決定することができる。
【００４９】
ロアーページと関連付けられた第２ビットと関連付けられた軟判定値を決定するために、読み込みモジュール３８は、第２読み込み基準電圧Ｒ２を加えることにより決定されたロアーページと関連付けられた第２ビットの値及びアッパーページと関連付けられた第１ビットの値を利用することができる。いくつかの例では、軟判定値は、ＬＬＲを含み得る。たとえば読み込みモジュール３８は、第１ビットが１の値をもち、且つ、第２ビットが０の値を有すると読み込みモジュール３８が決定した場合に、第２ビットと関連付けられた軟判定値に比較的大きい正の値（たとえば、１００）を割り当てることができる（これは、第２ビットが０の値を有する確率が高いことを示す）。これに対して、読み込みモジュール３８は、第１ビットが０の値をもち、且つ、第２ビットが０の値を有すると読み込みモジュール３８が決定した場合に、第２ビットと関連付けられた軟判定値に比較的小さい正の値（たとえば、１０）を割り当てることができる（これは、第２ビットが０の値を有する確率が低いことを示す）。別の例として、読み込みモジュール３８は、第１ビットが１の値をもち、且つ、第２ビットが１の値を有すると読み込みモジュール３８が決定した場合に、第２ビットと関連付けられた軟判定値（たとえば、ＬＬＲ）に比較的大きい負の値（たとえば、−１００）を割り当てることができる（これは、第２ビットが１の値を有する確率が高いことを示す）。これに対し、読み込みモジュール３８は、第１ビットが０の値をもち、且つ、第２ビットが１の値を有すると読み込みモジュール３８が決定した場合に、第２ビットと関連付けられた軟判定値に比較的小さい負の値（たとえば、−１０）を割り当てることができる（これは、第２ビットが１の値を有する確率が低いことを示す）。いくつかの例では、読み込みモジュール３８は、第１ビットの値の読み込み時に軟判定値を決定せず、その代わりに第２ビットを読み取った後に第２ビットと関連付けられた軟判定値を決定することができる。
【００５０】
いくつかの例では、読み込みモジュール３８は、第２読み込み基準電圧Ｒ２をメモリセルに加えることにより得た情報に基づいて第２ビットの値を決定し、且つ、誤り訂正符号（ＥＣＣ）アルゴリズムにおいて軟判定値を利用して第２ビットに割り当てられた値を検証することができる。たとえば、読み込みモジュール３８は、低密度パリティチェック（ＬＤＰＣ）アルゴリズムにおいて軟判定値を利用して第２ビットに割り当てられた値を検証することができる。たとえば、軟判定値の比較的大きい絶対値は、第２ビットの値が第２読み込み基準電圧Ｒ２を使用して読み取った値である確率が比較的高いことを示すであろう。反対に、軟判定値の比較的低い値は、第２ビットの値が第２読み込み基準電圧Ｒ２を使用して読み取った値である確率が比較的低いことを示すであろう。
【００５１】
一例として、読み込みモジュール３８は、第１読み込み基準電圧Ｒ１及び第３読み込み基準電圧Ｒ３をメモリセルに加えた後に、第１ビットの値が１であると決定することができる。第１ビットの値が１であることに基づいて、読み込みモジュール３８は、比較的大きい絶対値（たとえば、−１００又は１００）を第２ビットの軟判定値に割り当てることができる。別の例として、読み込みモジュール３８が第１ビットの値を０と決定した場合に、読み込みモジュール３８は、比較的小さい絶対値（たとえば−１０又は１０）を第２ビットと関連付けられた軟判定値に割り当てることができる。この例を続けると、読み込みモジュール３８は、第２読み込み基準電圧Ｒ２をメモリセルに加え、且つ、第２ビットと関連付けられた軟判定値の符号を第２ビットの値に基づいて決定することができる。第２ビットの軟判定値は、ＥＣＣアルゴリズムにおいてロアーページデータを復号するために利用することができる。
【００５２】
第１及び第２物理ページアドレスは相互に関連付けられており、且つ、読み込みモジュール３８がロアーページからデータを読み取る前にアッパーページからデータを読み取った場合には第１ビットの値は揮発性メモリ１２（たとえば、読み込みキャッシュ）に格納され得るので、読み込みモジュール３８は、アッパーページの再読み込みを行わずに第２ビットと関連付けられた軟判定値を決定することができる。再読み取りの代わりに、読み込みモジュール３８は、揮発性メモリ１２から第１ビットの値を取り出し、且つ、その値を利用して軟判定値を決定することができる。これは、第２ビットの値を決定するために行われる読み込み動作の回数を低減し、それにより読み込みスループットを増大するか、又はメモリデバイス１６の摩耗を低減するか、又はそれらの両方をもたらすであろう。
【００５３】
いくつかの例では、軟判定値を利用してロアーページと関連付けられた第２ビットの値を決定することにより、アッパーページと関連付けられた第１ビットの値の決定を容易にするためのセル電圧状態変更を可能にすることができる。たとえば、図５は、ＭＬＣフラッシュメモリセルのセル閾値電圧レベル及びロアーページ、ミドルページ、及びアッパーページの対応するビット値を示す概念図である。
【００５４】
図５に示すように、アッパーページ決定境界における電圧差又は間隔（第１セル電圧状態Ｓ１と第２セル電圧状態Ｓ２との間、及び第３セル電圧状態Ｓ３と第４セル電圧状態Ｓ４との間）は、ロアーページ決定境界における電圧差又は間隔（第２セル電圧状態Ｓ２と第３セル電圧状態Ｓ３との間）より大きい。前述したように、読み込みモジュール３８は、読み込み基準電圧Ｒ１及びＲ３を使用してアッパーページ（及び第１物理ページアドレス）と関連付けられた第１ビットの値を決定でき、且つ、軟判定値を利用せずに第１ビットの値を決定することが可能である。この理由により、アッパーページ決定境界におけるより大きな電圧差は、第１セル電圧状態Ｓ１（アッパーページの１を表す）と第２セル電圧状態Ｓ２（アッパーページの０を表す）との間、又は第３セル電圧状態Ｓ３（アッパーページの０を表す）と第４セル電圧状態Ｓ４（アッパーページの１を表す）との間の識別を容易にすることができる。
【００５５】
第１セル電圧状態Ｓ１と第２セル電圧状態Ｓ２との間、及び第３セル電圧状態Ｓ３と第４セル電圧状態Ｓ４との間のこのより大きな差異は、アッパーページと関連付けられたビットの値を決定するためにＭＬＣメモリセルに加えるべき読み込み基準電圧数の低減を可能にすることもできる。たとえば、いくつかの例では、Ｓ１とＳ２との間の電圧レベルを有する複数の読み込み基準電圧ではなく、Ｓ１とＳ２との間の電圧レベルを有するただ一つの読み込み基準電圧、読み込み基準電圧Ｒ１を使用することができる。同様に、いくつかの例では、Ｓ３とＳ４との間の電圧レベルを有する複数の読み込み基準電圧ではなく、Ｓ３とＳ４との間の電圧レベルを有するただ一つの読み込み基準電圧、読み込み基準電圧Ｒ３を使用することができる。いくつかの例では、これは、アッパーページと関連付けられた第１ビットの値を決定するために加えるべき読み込み基準電圧数を低減することができる。たとえば、一部の装置で行われているように６つの読み込み基準電圧（それぞれ、Ｒ１及びＲ３近傍の３つ）を使用する代わりに、ただ２つの読み込み基準電圧（Ｒ１及びＲ３）を使用してアッパーページと関連付けられた第１ビットの値を決定することができる。
【００５６】
さらに、読み込みモジュール３８はロアーページ（及び第２物理ページアドレス）と関連付けられた第２ビットの値の決定において軟判定値を利用するので、ロアーページ決定境界における電圧の差異又は間隔（第２セル電圧状態Ｓ２と第３セル電圧状態Ｓ３との間）は、より小さくなり、且つ、軟判定値は、第２ビットの値を正確に決定する読み込みモジュール３８の能力に貢献することができる。さらに、第１ビットの値及び第２ビットの値に基づくロアーページと関連付けられた第２ビットの軟判定値を利用することは、第２読み込み基準電圧Ｒ２近傍の複数の相異なる読み込み基準電圧を使用するのではなく、単一読み込み基準電圧（第２読み込み基準電圧Ｒ２）のみを使用してロアーページの値を読み取ることを可能にすることができる。たとえば、一部の装置で行われているようにＲ２近傍の３つの読み込み基準電圧を使用する代わりに、単一の読み込み基準電圧Ｒ２のみを使用してロアーページと関連付けられた第２ビットの値を読み取ることを可能にし得る。たとえば一部の装置で行われているようにＲ２近傍の３つの読み込み基準電圧を使用する代わりに、単一の読み込み基準電圧Ｒ２のみを使用してロアーページと関連付けられた第２ビットの値を読み取ることができる。さらに、アッパー及びロアーページの論理アドレスは関連付けられているので、第２ビットと関連付けられた軟判定値を決定するためにアッパーページの読み込みを繰り返す必要がない。最良のシナリオでは、これは、第１及び第２ビットの値を決定するために行われる読み込みサイクルの回数を９回（第１ビットの値を決定する６回の読み込みサイクル及び第２ビットの値を決定する３回の読み込みサイクル）から３回（第１ビットの値を決定する２回の読み込みサイクル及び第２ビットの値を決定する１回の読み込みサイクル）に低減することができる。軟判定値は第２ビットの値を決定するために読み込みモジュール３８によりそのまま使用されるのみであるが、この方法により、軟判定値は、より少ない回数の読み込み動作による第１ビット（アッパーページと関連付けられた）及び第２ビット（ロアーページと関連付けられた）の両方の正確な決定を容易にすることができる。
【００５７】
図４及び５において２ビット／セル式メモリセルについて記述されている概念は、３ビット／セルを格納するメモリセルに応用することができる。図６は、ＴＬＣフラッシュメモリセルのセル閾値電圧レベル及びロアーページ、ミドルページ、及びアッパーページの対応するビット値を示す概念図である。
【００５８】
コントローラ８は、ホスト４からインタフェース１４経由で読み込みコマンドを受け取ることができる。読み込みコマンドは論理ページアドレスを識別することができ、また、アドレス変換モジュール３２は、当該論理ページアドレスが１組のメモリセルのアッパーページと関連付けられた物理ページアドレスと関連付けられたことを見出すことができる。読み込みモジュール３８は、このビットの値をアッパーページから読み取ることができる。読み込みモジュール３８は、第１読み込み基準電圧Ｒ１、第３読み込み基準電圧Ｒ３、第５読み込み基準電圧Ｒ５、及び第７読み込み基準電圧Ｒ７を別々にＴＬＣフラッシュメモリセルに加えることにより、１つ又は複数のチャネルコントローラ４２にアッパーページからデータを読み取らせることができる。図６に示すように、第１読み込み基準電圧Ｒ１は、アッパーページの１を表す第１セル電圧状態Ｓ１とアッパーページの０を表す第２セル電圧状態Ｓ２の中間にある。同様に、第３読み込み基準電圧Ｒ３は、アッパーページの０を表す第３セル電圧状態Ｓ３とアッパーページの１を表す第４セル電圧状態Ｓ４の中間にある。第５読み込み基準電圧Ｒ５は、アッパーページの１を表す第５セル電圧状態Ｓ５とアッパーページの０を表す第６セル電圧状態Ｓ６の中間にある。また、第７読み込み基準電圧Ｒ７は、アッパーページの０を表す第７セル電圧状態Ｓ７とアッパーページの１を表す第８セル電圧状態Ｓ８の中間にある。
【００５９】
ＴＬＣフラッシュメモリセルの電圧レベルが第１セル電圧状態Ｓ１、第２セル電圧状態Ｓ２、第３セル電圧状態Ｓ３、第４セル電圧状態Ｓ４、第５セル電圧状態Ｓ５、第６セル電圧状態Ｓ６、第７セル電圧状態Ｓ７、又は第８セル電圧状態Ｓ８のいずれであるかに基づいて、ＴＬＣフラッシュメモリセルは、第１読み込み基準電圧Ｒ１が加えられたとき、第３読み込み基準電圧Ｒ３が加えられたとき、第５読み込み基準電圧Ｒ５が加えられたとき、又は第７読み込み基準電圧Ｒ７が加えられたとき、導電状態又は非導電状態になり得る。この方法により、読み込みモジュール３８は、ＴＬＣフラッシュメモリセルにより格納されており、且つ、アッパーページと関連付けられた第１ビットが０であるか又は１であるか決定することができる。いくつかの例では、コントローラ８（たとえば、読み込みモジュール３８）は、ＴＬＣフラッシュメモリセルにより格納されており、且つ、アッパーページと関連付けられた第１ビットの値を揮発性メモリ１２に格納することができる。
【００６０】
コントローラ８は、ＴＬＣフラッシュメモリセルのミドルページと関連付けられた物理ページアドレスに関連付けられているとアドレス変換モジュール３２により決定される論理ページアドレスと関連付けられたデータの読み込み要求をホスト４から受け取ることもできる。読み込みモジュール３８は、１つ又は複数のチャネルコントローラ４２に第２読み込み基準電圧Ｒ２及び第６読み込み基準電圧Ｒ６をＴＬＣフラッシュメモリセルに別々に印加させることができる。図６に示すように、第２読み込み基準電圧Ｒ２は、ミドルページの１を表す第２セル電圧状態Ｓ２とミドルページの０を表す第３セル電圧状態Ｓ３の中間にある。また、第６読み込み基準電圧Ｒ６は、ミドルページの０を表す第６セル電圧状態Ｓ６とミドルページの１を表す第７セル電圧状態Ｓ７の中間にある。この方法により、読み込みモジュール３８は、ミドルページと関連付けられた第２物理ページアドレスと関連付けられた第２ビットの値を決定することができる。
【００６１】
ミドルページと関連付けられた第２ビットの値を検証するために、読み込みモジュール３８は、第２読み込み基準電圧Ｒ２及び第６読み込み基準電圧Ｒ６を加えることにより決定されるミドルページと関連付けられた第２ビットの値及びアッパーページと関連付けられた第１ビットの値に少なくとも部分的に基づいている軟判定値を利用することができる。いくつかの例では、軟判定値は、ＬＬＲを含むことができる。たとえば、読み込みモジュール３８は、第１ビットが１の値を有すると読み込みモジュール３８が決定した場合に、比較的大きい絶対値（たとえば、第２ビット１について−１００、第２ビット０について１００）を第２ビットと関連付けられた軟判定値に割り当てることができる。別の例として、読み込みモジュール３８は、第１ビットが０の値を有すると読み込みモジュール３８が決定した場合に、比較的小さい絶対値（たとえば、第２ビット１について−１０、第２ビット０について１０）を第２ビットと関連付けられた軟判定値に割り当てることができる。
【００６２】
たとえば、軟判定値の比較的大きい絶対値は、第２ビットが正しい値を有する確率が比較的高いことを示すであろう。反対に、軟判定値の比較的小さい絶対値は、第２ビットが正しい値を有する確率が比較的低いことを示すであろう。
【００６３】
いくつかの例では、読み込みモジュール３８は、第２読み込み基準電圧Ｒ２及び第６読み込み基準電圧Ｒ６をＴＬＣメモリセルに加えることにより得られた情報に基づいて、第２ビットの値を決定することができ、且つ、軟判定値をＥＣＣアルゴリズムにおいて利用して第２ビットに割り当てられた値を検証することができる。たとえば、読み込みモジュール３８は、この軟判定値をＬＤＰＣアルゴリズムにおいて利用して第２ビットに割り当てられた値を検証することができる。いくつかの例では、コントローラ８（たとえば読み込みモジュール３８）は、ＴＬＣフラッシュメモリセルにより記憶され、且つ、アッパーページと関連付けられた第１ビットの値を揮発性メモリ１２に格納することができる。
【００６４】
コントローラ８は、ＴＬＣフラッシュメモリセルのロアーページと関連付けられた第３物理ページアドレスに関連付けられているとアドレス変換モジュール３２により決定される論理ページアドレスと関連付けられたデータの読み込み要求をホスト４から受け取ることもできる。読み込みモジュール３８は、１つ又は複数のチャネルコントローラ４２に第４読み込み基準電圧Ｒ４をＴＬＣフラッシュメモリセルに印加させることができる。図６に示すように、第４読み込み基準電圧Ｒ４は、ロアーページの１を表す第４セル電圧状態Ｓ４とロアーページの０を表す第５セル電圧状態Ｓ５の中間にある。この方法により、読み込みモジュール３８は、ロアーページと関連付けられた第３物理ページアドレスと関連付けられた第３ビットの値を決定することができる。
【００６５】
ロアーページと関連付けられた第３ビットの値を検証するために、読み込みモジュール３８は、第４読み込み基準電圧Ｒ４を加えることにより決定されるロアーページと関連付けられた第３ビットの値、アッパーページと関連付けられた第１ビットの値、及びミドルページと関連付けられた第２ビットの値の値に基づいている軟判定値を利用することができる。いくつかの例では、軟判定値は、ＬＬＲを含むことができる。たとえば、読み込みモジュール３８は、第１ビットと第２ビットの両方が１の値を有すると読み込みモジュール３８が決定した場合に、比較的大きい絶対値（たとえば、−１００、１００）を軟判定値に割り当てることができる。別の例として、読み込みモジュール３８は、第２ビットが０の値を有すると読み込みモジュール３８が決定した場合に、比較的小さい絶対値（たとえば、−１０、１０）を軟判定値に割り当てることができる。もう１つの例として、読み込みモジュール３８は、第２ビットが１の値をもち、且つ、第１ビットが０の値を有すると読み込みモジュール３８が決定した場合に、中位の絶対値（たとえば、−４０、４０）を軟判定値に割り当てることができる。読み込みモジュール３８は、第４読み込み基準電圧Ｒ４を加えることにより決定されたロアーページと関連付けられた第３ビットの値を利用して符号（たとえば、＋又は−）を軟判定値に割り当てることができる。たとえば、第４読み込み基準電圧Ｒ４を加えることにより決定されたロアーページと関連付けられた第３ビットの値が１である場合、この符号は負とすることができ、また、第４読み込み基準電圧Ｒ４を加えることにより決定されたロアーページと関連付けられた第３ビットの値が０である場合、この符号は正とすることができる。
【００６６】
いくつかの例では、読み込みモジュール３８は、さらに、ミドルページとアッパーページとの間のビット論理積演算子に基づく軟判定値を利用することができる。いくつかの例では、読み込みモジュール３８は、第１ビットの値の読み込み時又は第２ビットの読み込み時に軟判定値を決定せず、その代わりに第３ビットの値に関する決定の後に軟判定値を決定することができる。
【００６７】
いくつかの例では、読み込みモジュール３８は、第４読み込み基準電圧Ｒ４をＴＬＣメモリセルに加えることにより得た情報に基づいて、第３ビットの値を決定することができ、且つ、軟判定値をＥＣＣアルゴリズムにおいて利用して第３ビットに割り当てられた値を検証することができる。たとえば、読み込みモジュール３８は、軟判定値をＬＤＰＣアルゴリズムにおいて利用して第３ビットに割り当てられた値を検証することができる。
【００６８】
いくつかの例では、軟判定値を利用してミドルページと関連付けられた第２ビットの値及びロアーページと関連付けられた第１ビットの値を決定することは、アッパーページと関連付けられた第１ビットの値の決定を容易にするためのセル電圧状態変更を可能にし得る。たとえば、図７は、ＴＬＣフラッシュメモリセルのセル閾値電圧レベル及びロアーページ、ミドルページ、及びアッパーページの対応するビット値を示す概念図である。
【００６９】
図７に示すように、アッパーページ決定境界における電圧の差異又は間隔（第１セル電圧状態Ｓ１と第２セル電圧状態Ｓ２との間、第３セル電圧状態Ｓ３と第４セル電圧状態Ｓ４との間、第５セル電圧状態Ｓ５と第６セル電圧状態Ｓ６との間、及び第７セル電圧状態Ｓ７と第８セル電圧状態Ｓ８との間）は、ミドルページ決定境界における電圧の差異又は間隔（第２セル電圧状態Ｓ２と第３セル電圧状態Ｓ３との間、及び第６セル電圧状態Ｓ６と第７セル電圧状態Ｓ７との間）より大きく、且つ、ロアーページ決定境界における電圧の差異又は間隔（第４セル電圧状態Ｓ４と第５セル電圧状態Ｓ５との間）より大きい。上述したように、読み込みモジュール３８は、読み込み基準電圧Ｒ１、Ｒ３、Ｒ５、及びＲ７を使用してアッパーページ（及び第１物理ページアドレス）と関連付けられた第１ビットの値を決定することができ、且つ、軟判定値を利用せずに第１ビットの値を決定することができる。この理由により、アッパーページ決定境界におけるより大きな電圧差は、第１セル電圧状態Ｓ１（アッパーページの１を表す）と第２セル電圧状態Ｓ２（アッパーページの０を表す）との間、又は第３セル電圧状態Ｓ３（アッパーページの０を表す）と第４セル電圧状態Ｓ４（アッパーページの１を表す）との間、又は第５セル電圧状態Ｓ５（アッパーページの１を表す）と第６セル電圧状態Ｓ６（アッパーページの０を表す）との間、又は第７セル電圧状態Ｓ７（アッパーページの０を表す）と第８セル電圧状態Ｓ８（アッパーページの１を表す）との間の識別を容易にすることができる。
【００７０】
第１セル電圧状態Ｓ１と第２セル電圧状態Ｓ２との間、第３セル電圧状態Ｓ３と第４セル電圧状態Ｓ４との間、第５セル電圧状態Ｓ５と第６セル電圧状態Ｓ６との間、及び第７セル電圧状態Ｓ７と第８セル電圧状態Ｓ８との間にこのように大きな弁別があることは、さらに、アッパーページと関連付けられたビットの値を決定するためにＴＬＣメモリセルに加えるべき読み込み基準電圧の個数の低減を可能にすることができる。たとえば、いくつかの例では、Ｓ１とＳ２との間の電圧レベルを有する複数の読み込み基準電圧ではなく、Ｓ１とＳ２との間の電圧レベルを有する単一読み込み基準電圧、読み込み基準電圧Ｒ１のみ加えることができる。同様に、いくつかの例では、Ｓ３とＳ４との間の電圧レベルを有する複数の読み込み基準電圧ではなく、Ｓ３とＳ４との間の電圧レベルを有する単一読み込み基準電圧、読み込み基準電圧Ｒ３のみ印加することができる。Ｓ５とＳ６との間の電圧レベルを有する複数の読み込み基準電圧ではなく、Ｓ５とＳ６との間の電圧レベルを有する単一読み込み基準電圧、読み込み基準電圧Ｒ５のみ印加することができる。且つ、Ｓ７とＳ８との間の電圧レベルを有する複数の読み込み基準電圧ではなく、Ｓ７とＳ８との間の電圧レベルを有する単一読み込み基準電圧、読み込み基準電圧Ｒ７のみ印加することができる。いくつかの例では、これは、アッパーページと関連付けられた第１ビットの値を決定するために使用される読み込み基準電圧の個数を低減することができる。たとえば、いくつかの装置で行われているように１２個の読み込み基準電圧（それぞれ、Ｒ１、Ｒ３、Ｒ５、及びＲ７近傍の３個）を使用する代わりに、４個の読み込み基準電圧（Ｒ１、Ｒ３、Ｒ５及びＲ７）のみ使用してアッパーページと関連付けられた第１ビットの値を決定することができる。
【００７１】
さらに、読み込みモジュール３８は、ミドルページと関連付けられた第２ビットの値及びロアーページと関連付けられた第３ビットの値の決定において軟判定値を利用するので、ミドルページ決定境界及びロアーページ決定境界における電圧の差異又は間隔は、より小さくすることができ、且つ、軟判定値は、第２ビットの値及び第３ビットの値を正確に決定する読み込みモジュール３８の能力に貢献することができる。さらに、第１ビットの値及び第２ビットの値に基づくミドルページと関連付けられた第２ビットの軟判定値を利用することは、第２読み込み基準電圧Ｒ２近傍の複数の相異なる読み込み基準電圧及び第６読み込み基準電圧Ｒ６近傍の複数の相異なる読み込み基準電圧を使用するのではなく、ただ２個の読み込み基準電圧（第２読み込み基準電圧Ｒ２及び第６読み込み基準電圧Ｒ６）を使用するミドルページの値の読み込みを可能にし得る。たとえば、いくつかの装置で行われているようにＲ２近傍の３個の読み込み基準電圧を使用する代わりに、単一の読み込み基準電圧Ｒ２のみを使用することができる。同様に、いくつかの装置で行われているようにＲ６近傍の３個の読み込み基準電圧を使用する代わりに、単一の読み込み基準電圧Ｒ６のみを使用することができる。
【００７２】
さらに、第１ビットの値、第２ビットの値及び第３ビットの値に基づくロアーページと関連付けられた第３ビットの軟判定値を利用することは、第４読み込み基準電圧Ｒ４近傍の複数の相異なる読み込み基準電圧を使用するのではなく、単一の読み込み基準電圧（第４読み込み基準電圧Ｒ４）のみを使用するロアーページの値の読み込みを可能にし得る。たとえば、いくつかの装置で行われているようにＲ４近傍の３個の読み込み基準電圧を使用する代わりに、単一の読み込み基準電圧Ｒ４のみを使用してロアーページと関連付けられた第３ビットの値を読み取ることができる。アッパー、ミドル、及びロアーページの論理アドレスは関連付けられているので、アッパーページの読み込みは第２ビットと関連付けられた軟判定値を決定するために繰り返さなくてもよく、且つ、アッパーページ及びミドルページの読み込みは第３ビットと関連付けられた軟判定値を決定するために繰り返さなくてもよい。これは、第１及び第２ビットの値を決定するために使用される読み込みサイクルの回数を２１（第１ビットの値を決定する１２回の読み込みサイクル、第２ビットの値を決定する６回の読み込みサイクル、第３ビットの値を決定する３回の読み込みサイクル）から７回の読み込みサイクル（第１ビットの値を決定する４回の読み込みサイクル、第２ビットの値を決定する２回の読み込みサイクル、及び第３ビットの値を決定する１回の読み込みサイクル）に低減することができる。この方法では、軟判定値は第１ビットの値を決定するために読み込みモジュール３８により直接に使用されないのであるが、軟判定値は第１ビット（アッパーページと関連付けられた）、第２ビット（ミドルページと関連付けられた）、及び第３ビット（ロワーページと関連付けられた）の正確な決定を容易にすることができる。
【００７３】
図８は、本開示の１つ又は複数の技術に従って、少なくとも１つのプロセッサによりマルチレベルメモリセルと関連付けられた第１物理ページアドレスとマルチレベルメモリセルと関連付けられた第２物理ページアドレスを相互に関連付け、且つ、少なくとも１つのプロセッサにより、第１物理ページアドレスと関連付けられた第１ビットの値に少なくとも部分的に基づいて、第２物理ページアドレスと関連付けられた第２ビットの値を決定する例示的な技術を示す流れ図である。図８の技術について、説明のために図１の記憶環境２及び図１及び３のコントローラ８に用いて記述する。しかし、当然のことながら、図８の技術は別のプロセッサにより、又は別の記憶環境において実行することができ、また、コントローラ８及び記憶環境２はメモリデバイス１６からデータを読み取るために他の技術を実行することができる。
【００７４】
図８の技術は、少なくとも１つのプロセッサ（たとえばコントローラ８）によりマルチレベルメモリセルと関連付けられた第１物理ページアドレスとマルチレベルメモリセルと関連付けられた第２物理ページアドレスを相互に関連付けることを含んでいる（５２）。上述したように、いくつかの例では、第１物理ページアドレスはマルチレベルメモリセルのアッパーページに関連付けられ、且つ、第２物理ページアドレスはマルチレベルメモリセルのロアーページに関連付けられる。いくつかの例では、アドレス変換モジュール３２は、マルチレベルメモリセルと関連付けられた第１物理ページアドレスとマルチレベルメモリセルと関連付けられた第２物理ページアドレスを相互に関連付けることができる（５２）。
【００７５】
図８の技術は、少なくとも１つのプロセッサ（たとえばコントローラ８）により、少なくとも第１読み込み動作をマルチレベルメモリセルに適用して、第１物理ページアドレスと関連付けられた第１ビットの値を決定することも含んでいる（５４）。セルあたりのビット数に応じて、少なくとも第１読み込み動作は、たとえば、第１及び第２読み込み基準電圧をＭＬＣメモリセルに加えること、又は第１、第２、第３、及び第４読み込み基準電圧をＴＬＣメモリセルに加えることを含み得る。いくつかの例では、読み込みモジュール３８は、チャネルコントローラ４２の１つを制御することにより少なくとも第１読み込み動作をマルチレベルメモリセルに適用して、第１物理ページアドレスと関連付けられた第１ビットの値を決定することができる（５４）。
【００７６】
図８の技術は、少なくとも１つのプロセッサ（たとえばコントローラ８）により、少なくとも第２読み込み動作をマルチレベルメモリセルに適用して、第２物理ページアドレスと関連付けられた第２ビットの値を決定することも含む（５８）。セルあたりのビット数に応じて、少なくとも第２読み込み動作は、たとえば、第３の別の読み込み基準電圧をＭＬＣメモリセルに加えること、又は第５及び第６読み込み基準電圧をＴＬＣメモリセルに加えることを含み得る。いくつかの例では、読み込みモジュール３８は、チャネルコントローラ４２の１つを制御することにより少なくとも第２読み込み動作をマルチレベルメモリセルに適用して、第２物理ページアドレスと関連付けられた第２ビットの値を決定させることができる（５８）。
【００７７】
図８の技術は、さらに、少なくとも１つのプロセッサ（たとえば、コントローラ８）により、第２ビットに関連付けられる軟判定値を少なくとも部分的に第１ビットの値及び第２ビットの値に基づいて決定することを含む（５６）。たとえば、コントローラ８の読み込みモジュール３８は、第１ビットが１の値を有するとコントローラ８が決定した場合に、比較的大きい絶対値（たとえば、−１００、１００）を第２ビットに関連付けられる軟判定値（たとえば、ＬＬＲ）に割り当てることができる。別の例として、読み込みモジュール３８は、第１ビットが０の値を有すると読み込みモジュール３８が決定した場合に、比較的小さい絶対値（たとえば、−１０、１０）を第２ビットに関連付けられる軟判定値（たとえば、ＬＬＲ）に割り当てることができる。いくつかの例では、読み込みモジュール３８は、第１ビットの値の読み込み時に第２ビットの軟判定値情報を決定しないことが可能である。
【００７８】
図８の技術は、さらに、少なくとも１つのプロセッサ（たとえば、コントローラ８）により、第２ビットと関連付けられた軟判定値情報に少なくとも部分的に基づいて、第２ビットの値を検証することを含む（６０）。たとえば、読み込みモジュール３８は、軟判定値情報をＥＣＣアルゴリズムにおいて利用して第２ビットに割り当てられた値を検証することができる。たとえば、読み込みモジュール３８は、軟判定値情報をＬＤＰＣアルゴリズムにおいて利用して第２ビットに割り当てられた値を検証することができる。
【００７９】
上記の例は記憶デバイスのコントローラに関して説明したが、他の例においては、本明細書において説明した例は、汎用プロセッサのような別のプロセッサ又は読み込みチャネルによっても実行され得る。さらに、前出例はフラッシュメモリについて説明されたが、本明細書において説明された技術は、別の種類のマルチレベルメモリセルにおいて利用することができる。たとえば、本明細書において説明された技術は、抵抗ＲＡＭ、相変化メモリ、磁気抵抗ＲＡＭ、ＤＲＡＭ等についても利用できる。
【００８０】
この開示において説明された技術は、少なくとも部分的に、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組み合わせにおいて実行され得る。たとえば、説明した技術の種々の側面は、１つ又は複数のマイクロプロセッサ、ＤＳＰ、ＡＳＩＣ、ＥＰＧＡ、又はその他の任意の等価の集積論理回路又は個別論理回路及びかかる構成要素の任意の組み合わせを含む１つ又は複数のプロセッサにおいて実行され得る。用語「プロセッサ」又は「処理回路」は、一般的に上記の論理回路のいずれかを指すが、単独又は他の論理回路との組み合わせ、又は他の任意の等価の回路でもよい。ハードウェアを含む制御ユニットもこの開示の１つ又は複数の技術を実行することができる。
【００８１】
かかるハードウェア、ソフトウェア、及びファームウェアは、この開示において説明された様々な技術をサポートするために同一装置内又は別々の装置内において実現することができる。また、記述されたユニット、モジュール又は構成部品のいずれも、まとめて又は個別であるが相互動作可能な論理装置として実現され得る。モジュール又はユニットとしての種々の特徴の記述は、種々の機能的側面を強調することを意図しており、且つ、かかるモジュール又はユニットが別々のハードウェア、ファームウェア、又はソフトウェア構成要素として実現されなければならないことを必ずしも意味しない。むしろ、１つ又は複数のモジュール又はユニットと関連付けられた機能性は、別々のハードウェア、ファームウェア、又はソフトウェア構成要素により実行され得るか、又は共通又は別々のハードウェア、ファームウェア、又はソフトウェア構成要素内にまとめられ得る。
【００８２】
この開示において説明された技術は、エンコードされた命令を記憶するコンピュータ可読記憶媒体を含む製品中においても具体化又はコード化され得る。コード化されたコンピュータ可読記憶媒体を含む製品中に埋め込まれたか又はエンコードされた命令は、たとえばコンピュータ可読記憶媒体中に含まれているか又はコード化されている命令が１つ又は複数のプロセッサにより実行されたときに、１つ又は複数のプログラム可能なプロセッサ又はその他のプロセッサに本明細書において説明された技術の１つ又は複数を実行させることができる。コンピュータ可読記憶媒体は、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、プログラム可能読み出し専用メモリ（ＰＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ）、電気的消去可能読み出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、ハードディスク、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、フロッピーディスク、カセット、磁気媒体、光媒体、又はその他のコンピュータ可読媒体を含み得る。いくつかの例では、製品は、１つ又は複数のコンピュータ可読記憶媒体を含み得る。
【００８３】
いくつかの例において、コンピュータ可読記憶媒体は、非一時的媒体を含み得る。用語「非一時的」は、当該記憶媒体が搬送波又は伝播信号中において具体化されるものでないことを示すことができる。ある例においては、非一時的記憶媒体は、時間とともに変化し得るデータを格納することができる（たとえば、ＲＡＭ又はキャッシュに）。
【００８４】
様々な例について説明した。これら及びその他の例は、以下の請求項の範囲内にある。
【符号の説明】
【００８５】
２  記憶環境
４  ホストデバイス
６  記憶デバイス
８  コントローラ
１０  不揮発性メモリアレイ
１１  電力供給装置
１２  揮発性メモリ
１３  情報
１４  インタフェース
１６  メモリデバイス
１６Ａａ  メモリデバイス
１６Ｎａ  メモリデバイス
１７  ブロック
１７Ａ  ブロック
１８  チャネル
１８Ａ  チャネル
１８Ｎ  チャネル
３２  アドレス変換モジュール
３４  書き込みモジュール
３６  維持モジュール
３８  読み込みモジュール
４０  スケジューリングモジュール
４２  チャネルコントローラ
４２Ａ  チャネルコントローラ
【図１】
0006345210.tif 000002
【図２】
0006345210.tif 000003
【図３】
0006345210.tif 000004
【図４】
0006345210.tif 000005
【図５】
0006345210.tif 000006
【図６】
0006345210.tif 000007
【図７】
0006345210.tif 000008
【図８】
0006345210.tif 000009