(57)【特許請求の範囲】
【請求項１】
情報の１以上の下位ページを１以上の下位ストライプのそれぞれにプログラムすることを含む、前記１以上の下位ストライプを書き込むことと、
前記情報の１以上の上位ページを上位ストライプにプログラムすることを含む、前記上位ストライプを書き込むことであって、前記１以上の上位ページのそれぞれが、前記１以上の下位ページのうちのそれぞれ１つに対応する、前記上位ストライプを書き込むことと、
を含み、
前記１以上の上位ページに対応する前記１以上の下位ページのうちの前記それぞれ１つのそれぞれが、前記１以上の下位ストライプの異なる下位ストライプにプログラムされる、
ストライプに基づく不揮発性マルチレベルメモリ操作のための方法。
【請求項２】
前記１以上の下位ページを特定の下位ストライプにプログラムすることは、前記１以上の下位ページのうちの特定の１つに、前記特定の下位ストライプの中の前記１以上の下位ページの残りについて、第２レベルの誤り検出情報をプログラムすることを含み、
前記１以上の下位ページを前記特定の下位ストライプにプログラムすることは、書き込み情報を、前記特定の下位ストライプの中の前記１以上の下位ページの前記残りのうちの少なくとも１つにプログラムすることを含む、
請求項１に記載の方法。
【請求項３】
前記方法は、前記上位ストライプの書き込み中の誤りに応答して、前記特定の下位ストライプの前記１以上の下位ページの前記残りを再作成することを含む、請求項２に記載の方法。
【請求項４】
前記誤りは、非同期電力サイクルを備える、請求項３に記載の方法。
【請求項５】
前記上位ストライプを書き込むことは、前記１以上の上位ページのそれぞれを実質的に同時にプログラムすることを含む、請求項１に記載の方法。
【請求項６】
前記１以上の下位ストライプのうちの特定の１つを書き込むことは、前記１以上の下位ページを前記１以上の下位ストライプのうちの前記特定の１つに実質的に同時にプログラムすることを含む、請求項５に記載の方法。
【請求項７】
前記１以上の下位ストライプを書き込むことは、下位ストライプ１つあたり、書き込み情報の１つの下位ページだけ、およびパリティ情報の１ページだけをプログラムすることを含み、
下位ストライプ１つあたりのページ数は、２ページよりも多い、
請求項１に記載の方法。
【請求項８】
前記方法は、システムデータについて、前記書き込み情報の１つの下位ページだけ、および前記パリティ情報の１ページだけ以外の、前記１以上の下位ストライプの前記ページ数を予約することを含む、請求項７に記載の方法。
【請求項９】
前記１以上の下位ストライプのうちの特定の１つを書き込むことは、異なるチャネルにわたって、書き込み情報の下位ページのうちの前記それぞれ１つのそれぞれ、およびパリティ情報の少なくとも１ページをプログラムすることを含む、請求項１に記載の方法。
【請求項１０】
メモリシステムであって、
不揮発性マルチレベルメモリセルを含む１以上のメモリデバイスと、
複数のチャネルによって前記１以上のメモリデバイスに連結される、メモリコントローラであって、
それぞれが情報の１以上の下位ページを含む、１以上の下位ストライプを書き込むように、および
前記情報の１以上の上位ページを含む上位ストライプを書き込むように構成され、前記１以上の上位ページのそれぞれが、前記１以上の下位ページのそれぞれ１つに対応し、前記１以上の上位ページのうちのそれぞれ１つに対応する前記１以上の下位ページのそれぞれが、前記１以上の下位ストライプの異なる下位ストライプにプログラムされる、
メモリコントローラと、
を備える、メモリシステム。
【請求項１１】
前記メモリコントローラは、前記複数のチャネルのうちの異なる１つにわたって、前記１以上の下位ページストライプのうちの特定の１つの中の前記１以上の下位ページのそれぞれをプログラムするように構成される、請求項１０に記載のメモリシステム。
【請求項１２】
前記メモリコントローラは、前記複数のチャネルのうちの異なる１つにわたって、前記上位ストライプの中の前記１以上の上位ページのそれぞれをプログラムするように構成される、請求項１０に記載のメモリシステム。
【請求項１３】
前記メモリコントローラは、前記１以上の上位ページに対応する前記１以上の下位ページのそれぞれを、別個のストライピング操作の一部として、前記１以上の下位ストライプの異なる下位ストライプにプログラムするように構成される、請求項１０に記載のメモリシステム。
【請求項１４】
前記メモリコントローラは、ホストインターフェースに連結され、前記メモリコントローラは、前記ホストインターフェースから情報を受け取り、前記情報を、前記複数のチャネルにわたって前記１以上のメモリデバイスにストライピングするように構成される、請求項１０に記載のメモリシステム。
【請求項１５】
ストライプサイズは、前記１以上の下位ストライプおよび前記下位ストライプがそのチャネルにわたって書き込まれる、１以上の前記複数のチャネルを備え前記メモリコントローラは、プログラム可能なオプションとして前記ストライプサイズを制御するように構成される、請求項１０〜１４のいずれか１項に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的に、半導体メモリデバイス、方法、およびシステムに関し、より具体的には、ストライプに基づく不揮発性多値メモリ操作に関する。
【背景技術】
【０００２】
メモリデバイスは、典型的に、コンピュータまたは他の電子デバイスの中に、内部半導体集積回路として提供される。揮発性および不揮発性メモリを含む、多くの異なる種類のメモリがある。揮発性メモリは、その情報を維持するために電力を必要とする可能性があり、数ある中でも、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、およびシンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）が挙げられる。不揮発性メモリは、給電されていないときに、記憶された情報を保持することによって持続的な情報を提供することができ、数ある中でも、ＮＡＮＤ型フラッシュメモリ、ＮＯＲ型フラッシュメモリ、リードオンリーメモリ（ＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、相変化ランダムアクセスメモリ（ＰＣＲＡＭ）、抵抗性ランダムアクセスメモリ（ＲＲＡＭ（登録商標））、およびスピントルクトランスファーランダムアクセスメモリ（ＳＴＴＲＡＭ）等の磁気ランダムアクセスメモリ（ＭＲＡＭ）が挙げられる。
【０００３】
メモリデバイスは、互いに組み合わせて、ソリッドステートドライブ（ＳＳＤ）を形成することができる。ソリッドステートドライブとしては、数ある他の種類の不揮発性および揮発性メモリの中でも、不揮発性メモリ、例えばＮＡＮＤ型フラッシュメモリおよびＮＯＲ型フラッシュメモリが挙げられ、および／または揮発性メモリ、例えばＤＲＡＭおよびＳＲＡＭが挙げられる。窒化物層の電荷トラップに情報を記憶する、半導体−酸化物−窒化物−酸化物−半導体および金属−酸化物−窒化物−酸化物−半導体コンデンサ構造を使用した、フローティングゲートフラッシュデバイスおよび電荷トラップフラッシュ（ＣＴＦ）デバイスを含む、フラッシュメモリデバイスは、広範囲にわたる電子的用途のための不揮発性メモリとして利用され得る。フラッシュメモリデバイスは、典型的に、高メモリ密度、高信頼性、および低消費電力を可能にする、１トランジスタメモリセルを使用する。
【０００４】
ＳＳＤは、ソリッドステートドライブは、性能、サイズ、重量、耐久性、動作温度範囲、および電力消費に関してハードドライブに勝る利点を有することができるので、コンピュータの主記憶デバイスとして、ハードディスクドライブと置き換えるために使用することができる。例えば、ＳＳＤは、可動部品がないため、磁気ディスクドライブと比較して、優れた性能を有することができ、磁気ディスクドライブと関連するシーク時間、待ち時間、および他の電気機械的な遅延を回避し得る。ＳＳＤの製造業者は、内部バッテリ供給を使用しなくてもよく、したがって、ドライブをより多用途かつコンパクトにすることが可能である、フラッシュＳＳＤを作成するために、不揮発性フラッシュメモリを使用することができる。
【０００５】
ＳＳＤは、１以上のメモリデバイス、例えば、１以上のメモリチップを含むことができる（本明細書で使用される「１以上の」ものとは、そのようなものの１つ以上を指すことができ、例えば、１以上のメモリデバイスは、１つ以上のメモリデバイスを指すことができる）。当業者が認識するように、メモリチップは、１以上のダイおよび／または論理ユニット（ＬＵＮ）を含むことができる。各ダイは、その上に１以上のメモリアレイおよび周辺回路を含むことができる。メモリアレイは、１以上の物理ページに組織される１以上のメモリセルを含むことができ、物理ページは、１以上のブロックに組織することができる。
【０００６】
独立したディスクの冗長アレイ（ＲＡＩＤ）は、複数のメモリデバイスの中で情報を分割および／または複製する、コンピュータ情報記憶スキームの包括的な用語である。ＲＡＩＤアレイの中の複数のメモリデバイスは、コンピュータのユーザおよびオペレーティングシステムに対して、単一のメモリデバイス、例えばディスクのように見え得る。歴史的に、ＲＡＩＤは、複数のハードディスクドライブ（ＨＤＤ）とともに操作されてきた。
【図面の簡単な説明】
【０００７】
【図１】本開示の１つ以上の実施形態に従う、少なくとも１つのメモリシステムを含むコンピュータシステムの機能ブロック図である。
【図２】本開示の１つ以上の実施形態に従う、メモリデバイスの一部分の図である。
【図３】本開示の１つ以上の実施形態に従う、ストライプに基づいて操作される記憶ボリュームのブロック図である。
【図４】本開示の１つ以上の実施形態に従う、消去された状態、ならびに１以上の下位ページ、上位ページ、およびスクラッチページのデータ状態の例示的な２ビットのメモリセルと関連する、閾値電圧分布の線図である。
【図５Ａ】本開示の１つ以上の実施形態に従う、１以上のチャネルにわたる下位ページおよび上位ページのプログラミングを、１以上の下位ストライプおよび上位ストライプと相関させた表を示す図である。
【図５Ｂ】本開示の１つ以上の実施形態に従う、１以上のチャネルにわたる下位ページおよび上位ページのプログラミングを、１以上の下位ストライプおよび上位ストライプと相関させた表を示す図である。
【図５Ｃ】本開示の１つ以上の実施形態に従う、１以上のチャネルにわたる下位ページおよび上位ページのプログラミングを、１以上の下位スクラッチストライプ、上位スクラッチストライプ、下位ストライプ、および上位ストライプと相関させた表を示す図である。
【発明を実施するための形態】
【０００８】
本開示は、ストライプに基づく不揮発性マルチレベルメモリ操作のための方法およびデバイスを含む。方法の一実施形態は、情報の１以上の下位ページを１以上の下位ストライプのそれぞれにプログラムすることを含む、１以上の下位ストライプを書き込むことを含む。情報の１以上の上位ページを上位ストライプにプログラムすることを含む、上位ストライプを書き込むことができる。１以上の上位ページのそれぞれは、１以上の下位ページのうちのそれぞれ１つに対応することができる。１以上の上位ページに対応する１以上の下位ページのうちのそれぞれ１つのそれぞれを、１以上の下位ストライプの異なる下位ストライプにプログラムすることができる。
【０００９】
本開示の以下の発明を実施するための形態では、本明細書の一部を形成し、本開示の１つ以上の実施形態がどのように実践される場合があるかをその中で例として示す、添付の図面を参照する。これらの実施形態は、当業者が本開示の実施形態を実践することを可能にするように十分な詳細が説明され、他の実施形態が利用されてもよいこと、および本開示の範囲を逸脱することなく、プロセス、電気的、および／または構造的変更が行われてもよいことが理解される。本明細書に使用される場合、指示子「Ｎ」、「Ｍ」、「Ｐ」、「Ｒ」および「Ｓ」は、特に図面の参照番号に関して、そのように指定される１以上の特定の特徴を、本開示の１つ以上の実施形態とともに含むことができることを示す。
【００１０】
本明細書中の図面は、上位の桁は、図面の図番号に対応し、残りの桁は、図面の中の要素または構成要素を識別するという、番号規則に従う。異なる図面間の同様な要素または構成要素は、同様な数字の使用によって識別される場合がある。例えば、１０８は、図１の要素「０８」を参照し得、同様な要素は、図２の２０８のように参照され得る。理解されるように、本明細書の多様な実施形態に示される要素は、本開示のいくつかの追加の実施形態を提供するように、追加、交換、および／または削除することができる。加えて、理解されるように、図面の中に提供される要素の比率および相対尺度は、本発明の実施形態を図示することを意図しており、限定の意味で解釈されてはならない。
【００１１】
図１は、本開示の１つ以上の実施形態に従う、少なくとも１つのメモリシステム１０４を含む、コンピュータシステム１００の機能ブロック図である。図１で示される実施形態において、メモリシステム１０４、例えばソリッドステートドライブ（ＳＳＤ）は、ホストインターフェース１０６と、メモリコントローラ１０８、例えばメモリ制御回路および／またはメモリ制御ファームウェアと、１つ以上のメモリデバイス１１０−１、・・・、１１０−Ｎ、例えば不揮発性マルチレベルメモリセルを含むソリッドステートメモリデバイスとを含むことができる。メモリデバイス１１０−１、・・・、１１０−Ｎは、例えばメモリデバイスにフォーマットされたファイルシステムを伴う、メモリシステムのための記憶ボリュームを提供することができる。１つ以上の実施形態において、メモリコントローラ１０８は、物理ホストインターフェース１０６およびメモリデバイス１１０−１、・・・、１１０−Ｎを含むプリント回路基板に連結された、特定用途向け集積回路（ＡＳＩＣ）とすることができる。
【００１２】
図１で示されるように、メモリコントローラ１０８は、複数のチャネルによって、ホストインターフェース１０６およびメモリデバイス１１０−１、・・・、１１０−Ｎに連結することができる。メモリコントローラ１０８は、当業者によって理解されるように、他のメモリ操作に加えて、本明細書で説明される操作を実行するように構成することができる。ホストインターフェース１０６は、メモリシステム１０４とホストシステム１０２等の別のデバイスとの間で情報を通信するために使用することができる。ホストシステム１０２は、メモリアクセスデバイス、例えばプロセッサを含むことができる。当業者は、「プロセッサ」が、並列処理システム、１以上のコプロセッサ等の１つ以上のプロセッサを意図し得ることを理解するであろう。ホストシステムの例としては、ラップトップコンピュータ、パーソナルコンピュータ、デジタルカメラ、デジタル録音および再生デバイス、携帯電話、ＰＤＡ、メモリカードリーダ、インターフェースハブ等が挙げられる。１つ以上の実施形態について、ホストインターフェース１０６は、標準インターフェースの形態とすることができる。例えば、メモリシステム１０４がコンピュータシステム１００の中で情報記憶に使用されるときに、物理ホストインターフェース１０６は、数ある他のコネクタおよびインターフェースの中でも、シリアルアドバンストテクノロジーアタッチメント（ＳＡＴＡ）、周辺機器相互接続エクスプレス（ＰＣＩｅ）、またはユニバーサルシリアルバス（ＵＳＢ）とすることができる。しかしながら、一般に、ホストインターフェース１０６は、メモリシステム１０４と、ホストインターフェース１０６のための互換レセプタを有するホストシステム１０２との間で、制御、アドレス、情報、および他の信号を伝達するためのインターフェースを提供することができる。
【００１３】
メモリコントローラ１０８は、ホストインターフェース１０６に連結する、および／またはそれに組み込むことができる、ホストインターフェース回路を含むことができる。ホストインターフェース回路は、１以上の層、例えば物理層、リンク層、および／またはトランスポート層を通してホストシステム１０２と連動することができる。当業者は、特定のホストインターフェースのための１以上の層が、シリアルアドバンストテクノロジーアタッチメント（ＳＡＴＡ）、周辺機器相互接続エクスプレス（ＰＣＩｅ）、ユニバーサルシリアルバス（ＵＳＢ）等のインターフェース規格によって定義され得ることを理解するであろう。本明細書で使用される場合、トランスポート層は、少なくとも、ＳＡＴＡ規格の一部としてのトランスポート層、および／またはＰＣＩｅ規格の一部としてのトランザクション層を示すことができる。当業者は、ＳＡＴＡ規格に従うトランスポート層が、ＰＣＩｅ規格に従うトランザクション層に類似し得ることを理解するであろう。実施形態は、特定の規格に限定されない。
【００１４】
一般に、ホストインターフェース回路は、ホストシステム、例えばＰＣＩｅバスから受け取ったコマンドパケットを、ホスト−メモリの翻訳応答を要求ホストに伝送するためのホストシステムコマンドに変換するための、コマンドインストラクションに変換することができる。例えば、ホストインターフェース回路は、ＰＣＩｅに基づくトランザクション層パケットから、ＳＡＴＡコマンドパケットを構築することができる。ホストインターフェース回路は、ホストシステム１０２から、複数のアドレスと関連付けられる情報を受け取るように構成することができる。
【００１５】
メモリコントローラ１０８は、ホストアドレスを、メモリアドレス、例えば読み出しおよび／または書き込みコマンド等の受け取ったコマンドと関連付けられるアドレスに翻訳するように構成される、ホスト−メモリ翻訳回路を含むことができる。ホスト−メモリ翻訳回路は、例えば、ホストセクタの読み出しおよび書き込み操作を、メモリデバイス１１０−１、・・・、１１０−Ｎの特定の部分に向けられるコマンドに変換する場合がある。各ホスト操作は、シングルセクタまたはマルチセクタのメモリデバイス１１０−１、・・・、１１０−Ｎの操作に翻訳することができる。例えば、ホストの読み出しおよび書き込みコマンドは、メモリデバイス１１０−１、・・・、１１０−Ｎの読み出しおよび書き込みコマンドに翻訳することができる。メモリコントローラ１０８が本明細書で説明されているが、本開示の１つ以上の実施形態は、メモリ制御ファームウェアを介して実装することができる。したがって、本明細書で使用される「メモリコントローラ」は、メモリ制御回路および／またはメモリ制御ファームウェアを含むように定義される。
【００１６】
ホスト−メモリ翻訳回路は、第１レベルおよび／または第２レベルの誤り検出回路を含むことができる。誤り検出回路と称されるが、誤り検出回路は、誤り訂正を実行することもできる。第１レベルの誤り検出回路は、当業者によって理解されるように、ＢＣＨ誤り訂正等の誤り訂正を適用して、メモリデバイス１１０−１、・・・、１１０−Ｎに記憶される情報と関連付けられる誤りを検出および／または訂正するように構成することができる。例えば、第１レベルの誤り検出回路は、１０８０ビットの符号語を通じて２９ビットの誤り訂正を提供することができる。第２レベルの誤り検出回路は、閾値を超える量の訂正可能な誤りがあると判断すること等によって、第１レベルの誤り検出によって訂正できない誤り、例えば訂正不能な誤り訂正符号（ＵＥＣＣ）の誤りを検出することができる。本明細書でより詳細に説明するように、本開示の１つ以上の実施形態は、パリティ情報を使用して１つ以上の下位ストライプを再作成することによって、上位ストライプの書き込み中に遭遇するＵＥＣＣの誤りの訂正を提供する。第２レベルの誤り検出回路は、ＲＡＩＤ排他的論理和（ＸＯＲ）回路を含むことができる。ＲＡＩＤのＸＯＲ回路は、ホストインターフェース回路から受け取る情報に基づいて、パリティ情報を計算することができる。１以上のメモリデバイス１１０−１、・・・、１１０−Ｎに書き込まれた各ビットについて、パリティビットを、ＲＡＩＤのＸＯＲ回路によって計算して、メモリデバイス１１０−１、・・・、１１０−Ｎのうちの特定の１つに書き込むことができる。
【００１７】
本開示の１つ以上の実施形態によれば、書き込み情報は、ＲＡＩＤ操作の１以上のソリッドステートメモリデバイスに対する複数のチャネルわたってストライピングすることができる。当業者が理解するように、ストライピングすることは、情報を分割することを含み、よって、情報は、複数のチャネルにわたって、例えば２つ以上のデバイスに記憶される。分割した情報を記憶する２つ以上のデバイスの各部分は、集合的に、ストライプと称される。対照的に、ミラーリングは、２つ以上のデバイスに情報の複製を記憶することを含むことができる。
【００１８】
メモリコントローラ１０８は、ＬＢＡテーブルおよび／またはブロックテーブルを維持することができる。ＬＢＡテーブルは、１つ以上のメモリデバイス１１０−１、・・・、１１０−Ｎの中のページの物理ページアドレスを記憶すること、および対応する論理アドレスを含むことができる。ＬＢＡテーブルは、関連するコマンド、例えば、関連するＳＡＴＡコマンドに含まれるＬＢＡによってインデックスを付けることができる。ＬＢＡテーブルは、対応する情報を記憶することができる論理ブロックアドレスに対応する物理ページアドレスをルックアップするために使用することができる。ブロックテーブルは、１つ以上のメモリデバイス１１０−１、・・・、１１０−Ｎ内の消去可能なブロックの情報を記憶することができる。ブロックテーブルに記憶される情報は、有効なページ情報、消去カウント、および他の状態情報を含むことができる。ブロックテーブルからアクセスされる情報は、物理ブロックアドレスによってインデックスを付けることができる。
【００１９】
メモリコントローラ１０８は、数ある他の操作の中でも、メモリデバイス１１０−１、・・・、１１０−Ｎと通信して、情報を読み出すこと、書き込むこと、および消去することができる。メモリデバイス１１０−１、・・・、１１０−Ｎは、集合的なメモリコントローラ１０８に連結されているように示されているが、本開示の１つ以上の実施形態は、各メモリチャネルについて、離散した不揮発性メモリコントローラを含むことができる。メモリデバイス１１０−１、・・・、１１０−Ｎは、メモリセル、例えば不揮発性メモリセルの１つ以上のアレイを含むことができる。アレイは、例えば、ＮＡＮＤ構造を伴うフラッシュアレイとすることができる。ＮＡＮＤ構造では、「行」のメモリセルの制御ゲートをアクセス線、例えばワード線と連結することができる一方で、メモリセルは、セレクトゲートソーストランジスタとセレクトゲートドレイントランジスタとの間の「ストリング」内で、ソースとドレインとを直列に連結することができる。ストリングは、セレクトゲートドレイントランジスタによって、データ線、例えばビット線に接続することができる。「行」および「ストリング」という用語の使用は、メモリセルの線形配設も直交配設も意味するものではない。当業者には明らかなように、ビット線およびソース線に対するメモリセルの接続の手法は、アレイがＮＡＮＤ構造であるか、ＮＯＲ構造であるか、またはいくつかの他のメモリアレイ構造であるかどうかに依存する。
【００２０】
メモリデバイス１１０−１、・・・、１１０−Ｎは、グループ化することができる、１以上のメモリセルを含むことができる。本明細書で使用される場合、グループは、ページ、ブロック、プレーン、ダイ、アレイ全体、またはメモリセルの他のグループ等の、１つ以上のメモリセルを含むことができる。例えば、いくつかのメモリアレイは、メモリセルのブロックを形成する、１以上のメモリセルのページを含むことができる。１以上のブロックは、メモリセルのプレーンに含めることができる。１以上のメモリセルのプレーンは、ダイに含めることができる。一例として、１２８ＧＢのメモリデバイスは、１ページあたり４３１４バイトの情報（例えば、４０９６バイトの書き込み情報と２１８バイトのオーバーヘッド情報とを合わせたもの）、１ブロックあたり１２８ページ、１プレーンあたり２０４８ブロック、および１デバイスあたり１６プレーンを含むことができる。
【００２１】
図１の実施形態は、本開示の実施形態を不明確にしないために示されていない、付加的な回路を含むことができる。例えば、メモリシステム１０４は、Ｉ／Ｏ回路を通したＩ／Ｏ接続を通じて提供されるアドレス信号をラッチするための、アドレス回路を含むことができる。アドレス信号は、メモリデバイス１１０−１、・・・、１１０−Ｎにアクセスするために、行デコーダおよび列デコーダによって受け取って、復号化することができる。当業者には、アドレス入力接続部の数が、メモリデバイス１１０−１、・・・、１１０−Ｎの密度および構造に依存し得ることが理解されるであろう。
【００２２】
図２は、本開示の１つ以上の実施形態に従う、メモリデバイス２１０の一部分の図を示す。図２では示されていないが、当業者は、メモリデバイス２１０が、その操作と関連する種々の周辺回路とともに半導体ダイ上に位置し得ることを理解するであろう。メモリデバイス２１０は、１つ以上のメモリセルのアレイを含むことができる。
【００２３】
図２で示されるように、メモリデバイス２１０は、メモリセルの１以上の物理ブロック２６０−１（ブロック１）、２６０−２（ブロック２）、・・・、２６０−Ｍ（ブロックＭ）を含むことができる。図２で示される実施例において、指示子「Ｍ」は、メモリデバイス２１０が１以上の物理ブロックを含み得ることを示すために使用される。一例として、メモリデバイス２１０の物理ブロックの数は、１２８ブロック、４，０９６ブロック、または３２，７６８ブロックであり得るが、実施形態は、メモリデバイスの中の特定の数の、または複数の物理ブロックに限定されない。図２で示される実施形態において、メモリデバイス２１０は、例えば、各物理ブロック２６０−１、２６０−２、・・・、２６０−Ｍの中のメモリセルをまとめて１つの単位として消去できるように（例えば、各物理ブロックの中のセルを実質的に同時に消去できるように）、例えば、ＮＡＮＤ型フラッシュメモリデバイス２１０とすることができる。例えば、各物理ブロックの中のセルは、単一の消去操作でまとめて消去することができる。
【００２４】
図２ではそのようなものとして特に指定されていないが、１以上のブロックを、スクラッチブロックとして使用することができる。本明細書で説明されるように、マルチレベルメモリセルをプログラムすることは、例えばメモリセルを中間状態にプログラムするための、１つ以上の下位ページのプログラミング操作と、例えばメモリセルを最終状態にプログラムするための、上位ページのプログラミング操作とを含み得る。スクラッチブロックは、下位ストライプの中の情報の下位ページに対応する情報、および上位ストライプの中の情報の上位ページに対応する情報を記憶するのに有用であり得る。すなわち、情報の特定のブロックについて、２つのスクラッチブロックが使用され得る（１つは、特定のブロックの下位ページに対応する情報を記憶し、もう１つは、特定のブロックの上位ページに対応する情報を記憶する）。しかしながら、スクラッチブロックは、いくつかの下位ページおよびいくつかの上位ページに対応する情報を記憶することができるので、実施形態は、下位ページまたは上位ページに対応する情報だけを記憶するスクラッチブロックに限定されない。本明細書でより詳細に説明されるように、スクラッチブロックの下位ページだけがプログラムされるという概念から、特定のブロックに対するスクラッチブロックの２対１という比率が生じ得る。ブロックテーブルは、スクラッチブロック（例えば、特定のブロックの下位ページに対応する情報を記憶する、第１のスクラッチブロック）と関連付けられる１つ以上のアドレスを、第２のスクラッチブロック（例えば、特定のブロックの上位ページに対応する情報を記憶する）にリンクすることができるように、更新することができる。ブロックテーブルは、対応する情報が特定のブロックにプログラムされた後に、スクラッチブロックを消去できることを示すために使用することができる。スクラッチブロックおよび関連する操作は、図４〜図５Ｃに関してさらに詳細に説明する。
【００２５】
指示子「Ｒ」は、物理ブロック、例えば２６０−１、２６０−２、・・・、２６０−Ｍが、１以上の行を含み得ることを示すために使用される。いくつかの実施形態では、各物理ブロックの中の行、例えばワード線の数を、３２とすることができるが、実施形態は、１物理ブロックあたりの特定の数の行２７０−１、２７０−２、・・・、２７０−Ｒに限定されない。当業者は、各行２７０−１、２７０−２、・・・、２７０−Ｒが、１つ以上の物理ページ、例えば偶数ページおよび奇数ページを含み得ることを理解するであろう。物理ページは、書き込みおよび／または読み出しの単位、例えば、まとめて、またはメモリセルの機能グループとして書き込みおよび／読み出しが行われる１以上のセルを指す。故に、偶数ページおよび奇数ページは、別々の書き込みおよび／または読み出し操作で書き込みおよび／または読み出しが行われ得る。
【００２６】
マルチレベルセル（ＭＬＣ）を含む実施形態について、物理ページは、１つの上位ページおよび１つ以上の下位ページに論理的に分割することができる。例えば、２ビットの情報を記憶しているメモリセルは、情報の上位ページに１ビットを提供し、情報の下位ページに１ビットを提供することができる。したがって、メモリセルは、「０１」のデータ状態にプログラムすることができ、ここで、「０」は、下位ページに対応し、「１」は、上位ページに対応する。そのようなメモリセルをプログラムすることは、下位ページをプログラムすることと、上位ページをプログラムすることとを含むことができる。下位ページをプログラムすることは、メモリセルを中間状態にプログラムすることを含むことができ、上位ページをプログラムすることは、メモリセルを最終状態にプログラムすることを含むことができる。同じことを、図４と関連してさらに詳細に説明する。論理上位ページおよび論理下位ページは、同じ物理ページの一部とすることができる。図を簡単にするために、図２の各行２７０−１、２７０−２、・・・、２７０−Ｒは、１つの物理ページおよび論理ページだけしか含んでいないが、実施形態は、そのように限定されない。
【００２７】
本開示の１つ以上の実施形態において、また、図２で示されるように、ページは、１以上のセクタ２８０−１、２８０−２、・・・、２８０−Ｓに情報を記憶することができる。指示子「Ｓ」は、ページが１以上のセクタを含み得ることを示すために使用される。情報は、システムデータおよび／またはユーザデータを含むことができる。各セクタ２８０−１、２８０−２、・・・、２８０−Ｓは、システムデータおよび／またはユーザデータを記憶することができ、また、誤り訂正符号（ＥＣＣ）情報、および論理ブロックアドレス（ＬＢＡ）情報等の、オーバーヘッド情報を含むことができる。当業者が理解するように、論理ブロックのアドレス指定は、情報のセクタを識別するためにホストによって使用することができる、例えば各セクタが一意のＬＢＡに対応できる、スキームである。１つ以上の実施形態において、セクタは、記憶ボリュームの最小のアドレス指定可能な部分である。一例として、情報のセクタは、例えば、２５６バイト、５１２バイト、または１，０２４バイト等の１以上のバイトの情報であり得る。例えば、ＳＳＤは、１ページに４つ、８つ、または１６のセクタを有することができ（ここで、１セクタは、５１２バイトであり得る）、また、ＳＳＤは、１物理ブロックあたり１２８、２５６、または５１２ページを有することができ、したがって、物理ブロックサイズは、１３１０７２バイト、２６２１４４バイト、および５２４２８８バイトである。実施形態は、これらの例に限定されない。
【００２８】
物理ブロック２６０−１、２６０−２、・・・、２６０−Ｍ、行２７０−１、２７０−２、・・・、２７０−Ｒ、セクタ２８０−１、２８０−２、・・・、２８０−Ｓ、およびページに関する他の構成が可能であることに留意されたい。例えば、物理ブロック２６０−１、２６０−２、・・・、２６０−Ｍの行２７０−１、２７０−２、・・・、２７０−Ｒは、それぞれ、例えば５１２バイト前後のデータを含むことができる、単一のセクタに対応する情報を記憶することができる。
【００２９】
図３は、本開示の１つ以上の実施形態に従う、ストライプに基づいて操作される記憶ボリューム３４０のブロック図を示す。記憶ボリューム３４０は、メモリシステム、例えば図１のメモリシステム１０４の中の、１以上のソリッドステートメモリデバイス、例えば図１のソリッドステートメモリデバイス１１０−１、・・・、１１０−Ｎにフォーマットされたファイルシステムによって提供することができる。本明細書で説明される、各ソリッドステートメモリデバイスは、メモリチャネル３４２−１、・・・、３４２−（Ｎ−１）、３４２−Ｎと関連付けることができる。しかしながら、いくつかの実施形態は、１デバイスあたり複数のチャネルを含み得るので、実施形態は、１メモリデバイス、例えば１メモリチップあたり１つのチャネルに限定されない。例えばメモリセルの２つ以上の物理プレーンを含むメモリチップの場合に、１つのメモリチップを、２つ以上のチャネルによってメモリコントローラに連結することができる。情報は、１以上のソリッドステートメモリデバイスによって提供される記憶ボリューム３４０にわたって、１以上のストライプ３４４−１、３４４−２、・・・、３４４−Ｐに書き込むことができる。
【００３０】
メモリシステムは、ホストシステムから書き込み情報を受け取ることができる。メモリシステム、例えば図１のメモリコントローラ１０８と関連付けられるＲＡＩＤのＸＯＲ回路は、書き込み情報のためのパリティ情報を計算することができる。１つ以上の実施形態において、書き込み情報およびパリティ情報は、記憶ボリューム３４０にわたってストライピングすることができ、よって、書き込み情報は、１以上の利用可能なチャネルのサブセット、例えばチャネル３４２−１、・・・、３４２−（Ｎ−１）にわたって書き込むことができ、パリティ情報は、１以上の利用可能なチャネルの第２のサブセット、例えばチャネル３４２−Ｎにわたって書き込むことができる。例えば、メモリシステムは、８つのチャネルを含むことができ、そこでは、７つのチャネルが書き込み情報を書き込むために使用され、１つのチャネルがパリティ情報を書き込むために使用される。本明細書で説明されるように、パリティ情報は、異なるストライプにおいて異なるチャネルにわたって書き込むことができる。実施形態は、Ｎ個のチャネルのうちのＮ−１個を書き込み情報に使用し、単一のチャネルをパリティ情報に使用することに限定されない。本開示の１つ以上の実施形態によれば、ＲＡＩＤ構造および／またはストライプサイズは、プログラム可能なオプションとすることができる。
【００３１】
ＲＡＩＤ構造は、複数のメモリデバイスわたって情報を分割および／または複製するために、ＲＡＩＤ記憶スキームの実装を表すことができる。例えば、情報は、２つ以上のデバイスにわたってストライピングおよび／またはミラーリングすることができる。ストライピングすることは、書き込み情報をフラグメントに分割することと、少なくとも１つのフラグメントを１以上のメモリデバイスのそれぞれに記憶することとを含むことができる。ミラーリングは、書き込み情報のコピーを少なくとも２つのメモリデバイスに冗長に記憶することを含むことができる。ストライピングおよびミラーリングはどちらも、誤り検出の使用を含むことができる。パリティ情報は、書き込み情報と同じメモリデバイスに、および／または書き込み情報を記憶しているデバイスとは別のデバイスに記憶させることができる。本開示の１つ以上の実施形態によれば、メモリシステムによって実装される特定のＲＡＩＤ構造は、プログラム可能なオプションとすることができる。
【００３２】
本明細書で使用される場合、ストライプサイズは、そのチャネルにわたって情報がストライピングされるチャンネル数を指し得る。本開示の１つ以上の実施形態によれば、メモリシステムのためのストライプサイズは、プログラム可能なオプションとすることができ、よって、メモリシステムに利用可能な任意の数のチャネルをストライプに使用することができる。例えば、３２個のチャネルおよび１以上の対応するメモリデバイスを含むメモリシステムは、２〜３２個の任意のストライプサイズを有することができる。いくつかの実施形態は、不揮発性メモリを少なくとも２つの部分に論理的に分離することを含むことができ、各部分は、不揮発性メモリと関連付けられる１以上のチャネルのサブセットを含む。そのような実施形態は、少なくとも２つの部分のそれぞれについて独立に、ストライプに基づいて不揮発性メモリシステムを操作することを含むことができる。例えば、書き込み情報およびパリティ情報の１以上のページを各ストライプに書き込むことができ、ここで、第１のストライプは、メモリシステムの１以上のチャネルの１つのサブセットだけにわたって書き込まれ、第２のストライプは、メモリシステムの１以上のチャネルの異なるサブセットだけにわたって書き込まれる。さらに、ストライプサイズは、メモリシステムの操作中に変更することができる。ブロックテーブルは、メモリシステムのどの部分がどのストライプに対応するのかを追跡するために使用することができる。
【００３３】
パリティ情報を記憶することは、下位ストライプと共通するメモリセルの少なくとも１つの物理ページを含む上位ストライプを書き込むことと関連付けられるＵＥＣＣ誤りに応答して、下位ストライプと関連付けられる情報を再作成することを可能にすることができる。より具体的な実施例は、図５Ａ〜５Ｃに関して下で提供する。メモリチャネル、メモリデバイス、メモリのブロック、メモリのページ、またはメモリデバイスの別の部分は、訂正不能な誤りまたは他の誤りを経験し得る。例えば、書き込み情報の下位ページは、チャネル３４２−１、・・・、３４２−（Ｎ−１）にわたって第１のストライプ３４４−１に書き込むことができる。パリティ情報は、チャネル３４２−Ｎにわたって第１のストライプ３４４−１に書き込むことができる。例えば上位ストライプを書き込むことの一部としてチャネル３４２−１にわたって上位ページが書き込まれることに応答して、第１のチャネル３４２−１が訂正不能な誤りまたは他の誤りを経験した場合は、３４２−（Ｎ−１）までのチャネルと関連付けられる書き込み情報およびチャネル３４２−Ｎと関連付けられるパリティ情報を、第１のチャネル３４２−１にわたって書き込まれる情報の下位ページを作成するために使用することができる。パリティ情報を作成する場合と同様に、メモリシステム、例えばＲＡＩＤのＸＯＲ回路は、書き込み情報とともにパリティ情報を使用して、訂正不能な誤りまたは他の誤りを経験するメモリシステムの一部分と関連付けられる情報に対する代わりの情報を計算することができる。
【００３４】
図１のメモリコントローラ１０８と関連するＥＣＣ回路は、書き込み情報のフラグメントに対する第１レベルの誤り訂正情報、および／またはメモリデバイスに記憶される第２レベルの訂正（例えば、パリティ）情報を計算することができる。図３は、チャネル３４２−１、・・・、３４２−（Ｎ−１）と関連して記憶されている書き込み情報３４６および第１レベルの誤り訂正情報３４８、ならびにチャネル３４２−Ｎと関連して記憶されているパリティ情報３５０および第１レベルの誤り訂正情報３４８の具体例を含む。ストライプが書き込まれたときに、書き込み情報および誤り訂正情報の双方を、一緒に書き込むことができる。書き込み情報またはパリティ情報に関わらず、情報の中に誤りが検出された場合、第２レベルの誤り訂正、例えば上で説明したパリティ情報と関連付けられる訂正を実装する前に、および／またはそれを実装せずに、誤りを訂正するために、第１レベルの誤り訂正情報を使用することができる。メモリシステムは、閾値数の誤りビットを訂正することを可能にするのに十分な第１レベルの誤り訂正情報を記憶し得る。書き込み操作中に、第１レベルの誤り訂正情報で訂正可能であるビット誤りよりも多いビット誤りを含む誤り、例えばＵＥＣＣ誤りが検出された場合に、例えば上で説明したパリティ情報を使用する、第２レベルの誤り訂正を実装してもよく、例えば、誤りと関連付けられる情報を、パリティ情報と、書き込み情報の残りとを使用して再作成してもよい。
【００３５】
図４は、本開示の１つ以上の実施形態に従う、消去された状態４２２、ならびに１以上の下位ページ４２４、上位ページ４２６、およびスクラッチページ４２８のデータ状態の例示的な２ビットのメモリセルと関連する、閾値電圧分布４２０の線図を示す。実施形態は、２ビットの情報でプログラムされているマルチレベルメモリセルに限定されない。本開示の１つ以上の実施形態は、２ビットを超えるおよび／または分数ビットの情報でプログラムされている特定のメモリセルを含むことができる。
【００３６】
消去された状態４２２から始まり、１つ以上のプログラミングパルスを特定のメモリセルに印加して、下位ページ４２４からの情報を表す中間状態、例えば０または１にセルをプログラムすることができる。続いて、１つ以上のプログラミングパルスを特定のメモリセルに印加して、中間状態、例えば１または０から、上位ページ４２６からの日付を表す最終状態、例えば１１、１０、０１、または００にプログラムすることができる。図４で示されるように、２ビットのメモリセルについて、中間状態に対応する下位ページ４２４からの情報は、最終状態に対応する上位ページ４２６からの情報の第１ビットを表すことができ、例えば、メモリセルを、１から１１もしくは１０にプログラムすることができ、またはメモリセルを、０から０１もしくは００にプログラムすることができる。しかしながら、実施形態は、２ビットセルまたは図４で示される特定の情報値に限定されない。
【００３７】
１つ以上の実施形態において、情報のスクラッチページ４２８は、書き込み情報の下位ページ４２４または上位ページ４２６に対応し得る。図４で示されるように、そのようなスクラッチページは、下位ページ４２４に類似し得、例えば、２ビットのセルを、スクラッチページ４２８のプログラミング操作の一部として、２つの状態のうちの１つにプログラムすることができる。
【００３８】
特定のプログラミング操作について、下位ページ４２４および対応する上位ページ４２６は、同じ物理メモリセル、例えば同じメモリセルの物理ページにプログラムされる。しかしながら、特定のプログラミング操作が１以上のスクラッチページ４２８をプログラムすることを含むとき、スクラッチページは、下位ページおよび上位ページでプログラムされるものと異なる物理メモリセル、例えば異なるメモリセルの物理ページにプログラムされる。１つ以上の実施形態において、メモリセルのスクラッチページは、メモリセルのスクラッチブロック、例えば特定の下位ページおよび特定の上位ページでプログラムされたものを含むメモリセルのブロックと異なるメモリセルの物理ブロックの中に存在し得る。
【００３９】
スクラッチページ４２８は、下位ページ４２４および／または上位ページ４２６をどのようにプログラムするのかを示すために使用することができる。スクラッチ４２８ページの中の情報は、下位ページ４２４または上位ページ４２６に対応し得る。２つのスクラッチページ４２８、例えば下位ページ４２４に対応するスクラッチページ４２８および上位ページ４２６に対応するスクラッチページ４２８（別々のメモリセルの物理ページ）を組み合わせて、下位ページ４２４および上位ページ４２６を書き込むことができる（ここで、下位ページ４２４および上位ページ４２６は、２つのスクラッチページ４２８のためのメモリセルの物理ページと異なる、同じメモリセルの物理ページに書き込まれる）。
【００４０】
下位ページ４２４のプログラミングについて、スクラッチページ４２８の一部として情報「１」でプログラムされているメモリセルは、下位ページの第１ビットが「１」であること、および／または対応するメモリセルが、消去された状態４２２から、下位ページ４２４における２つの中間状態のうちの下位にプログラムされるべきであることを示すことができる。上位ページ４２６のプログラミングについて、スクラッチページ４２４の一部として情報「１」でプログラムされているメモリセルは、上位ページの第２ビットが「１」であること、および／または下位ページ４２４からの対応するメモリセルが、中間状態から、中間状態と関連付けられる２つの最終状態のうちの下位にプログラムされるべきであることを示すことができる。例えば、図４で示されるように、下位ページ４２４からの対応するメモリセルが、中間状態「１」にプログラムされ、上位ページに対応するスクラッチページが情報「１」を含む場合、下位ページからの対応するメモリセルは、上位ページ４２６において「１１」という最終状態にプログラムされるべきである。同様に、図４で示されるように、下位ページ４２４からの対応するメモリセルが、中間状態「０」にプログラムされ、上位ページに対応するスクラッチページが情報「１」を含む場合、下位ページ４２４からの対応するメモリセルは、上位ページ４２６において「０１」という最終状態にプログラムされるべきである。
【００４１】
下位ページ４２４のプログラミングについて、スクラッチページ４２４の一部として情報「０」でプログラムされているメモリセルは、下位ページの第１ビットが「０」であること、および／または対応するメモリセルが、消去された状態４２２から、下位ページ４２４における２つの中間状態のうちの上位にプログラムされるべきであることを示すことができる。上位ページ４２６のプログラミングについて、スクラッチページ４２４の一部として情報「０」でプログラムされているメモリセルは、上位ページの第２ビットが「０」であること、および／または下位ページ４２４からの対応するメモリページが、中間状態から、中間状態と関連付けられる２つの最終状態のうちの上位にプログラムされるべきであることを示すことができる。例えば、図４で示されるように、下位ページ４２４からの対応するメモリセルが、中間状態「１」にプログラムされ、上位ページ４２６に対応するスクラッチページが情報「０」を含む場合、下位ページからの対応するメモリセルは、上位ページ４２６において「１０」という最終状態にプログラムされるべきである。同様に、図４で示されるように、下位ページ４２４からの対応するメモリセルが、中間状態「０」プログラムされ、上位ページ４２６に対応するスクラッチページが情報「０」を含む場合、下位ページ４２４からの対応するメモリセルは、上位ページ４２６において「００」という最終状態にプログラムされるべきである。
【００４２】
理解されるように、２ビット以外の１以上のビットでマルチレベルメモリセルをプログラムするための方法は、本明細書の説明から推定され得る。例えば、４ビットメモリセルは、２つ以上の下位ページのプログラミング操作でプログラムされ、その後に、最終状態にプログラムされ得、そのような実施形態は、２つを超えるスクラッチページを使用して、どのように下位ページがプログラムされるべきか、どのように後続の下位ページがプログラムされるべきか、および／またはどのように上位ページがプログラムされるべきか、例えば、どのようにメモリセルが１つ以上の中間状態に、および／または最終状態にプログラムされるべきかを示すことができる。２ビットセルに関して本明細書で説明される１つ以上の例示的な実施形態は、例示の目的のために示されたものであり、本開示を２ビットメモリセルの操作に限定しない。さらに、「１」および「０」、ならびに「上位」および「下位」という用語の使用は、１つ以上の例示的な実施形態を示すために本明細書で使用され、本開示を特定の表記法または情報整理に限定しない。
【００４３】
図５Ａは、本開示の１つ以上の実施形態に従う、１以上のチャネル５４２Ａにわたる下位ページおよび上位ページのプログラミングを、１以上の下位ストライプ５４４Ａ−Ｌおよび上位ストライプ５４４Ａ−Ｕと相関させた表を示す。本開示の１つ以上の実施形態によれば、１以上の下位ストライプ５４４Ａ−Ｌを書き込むことは、１以上の下位ストライプ５４４Ａ−Ｌのそれぞれの中の情報の１以上の下位ページをプログラムすることを含み得る。１以上の下位ページのそれぞれは、１以上のチャネル５４２Ａにわたって、特定の下位ストライプにおいて実質的に同時にプログラムすることができる。いくつかの実施形態において、特定の下位ストライプは、２つを超えるページを含むことができるが、１以上の下位ストライプ５４４Ａ−Ｌのそれぞれは、情報、例えば書き込み情報の１つの下位ページだけ、およびパリティ情報の１ページだけを含むことができる。図５Ａにおいて、例えば、「下位ストライプ１」は、「チャネル１」にわたって書き込まれる下位ページ「ＬＰ１」５１２Ａと、「チャネル８」にわたって書き込まれる「パリティ１」５５０Ａとを含む。いくつかの実施形態では、ユーザデータの下位ページとパリティ情報のページとを除く、１以上の下位ストライプ５４４Ａ−Ｌにおける１以上のページ（図５Ａで空白ページとして示される）を、システムデータのために予約することができる。パリティ情報、例えばパリティ情報のページ５５０Ａは、下位ストライプの中のページの残りについて計算することができ、また、下位ストライプの中のページのうちの１つにプログラムすることができる。実施形態は、特定の数のストライプおよび／またはチャネルに限定されない。
【００４４】
１つ以上の実施形態において、上位ストライプ５４４Ａ−Ｕを書き込むことは、上位ストライプ５４４Ａ−Ｕの中の情報の１以上の上位ページをプログラムすることを含むことができる。上位ストライプ５４４Ａ−Ｕの中の１以上の上位ページのそれぞれは、１以上のチャンネル５４２Ａにわたって実質的に同時にプログラムすることができる。上位ストライプの中の１以上の上位ページのそれぞれは、１以上の下位ページのそれぞれ１つに対応する。図５Ａにおいて、例えば、「上位ストライプ」５４４Ａ−Ｕは、「下位ストライプ１」の中の下位ページ「ＬＰ１」５１２Ａに対応する上位ページ「ＵＰ１」５１４Ａを含む。すなわち、上位ストライプ５４４Ａ−Ｕを書き込むことは、下位ページ５１２Ａから上位ページ５１４Ａまでメモリセルをプログラムすること含む。
【００４５】
図５Ａで示されるように、１以上の上位ページ（例えば、「ＵＰ１」、「ＵＰ２」、「ＵＰ３」、「ＵＰ４」、「ＵＰ５」、「ＵＰ６」、および「ＵＰ７」）のそれぞれ１つに対応する、１以上の下位ページ（例えば、「ＬＰ１」、「ＬＰ２」、「ＬＰ３」、「ＬＰ４」、「ＬＰ５」、「ＬＰ６」、および「ＬＰ７」）のそれぞれは、例えば別個のストライピング操作のそれぞれ一部として、１以上の下位ストライプ５４４Ａ−Ｌの異なる下位ストライプに書き込むことができる。故に、上位ストライプ５４４Ａ−Ｕのページの全てと関連付けられるメモリセルがＵＥＣＣ誤りを経験した場合、例えば上位ストライプ５４４Ａ−Ｕの書き込み中に情報が破損した場合であっても、対応する下位ページのそれぞれを、パリティ情報を使用して再作成することができる。例えば、対応する上位ページ５１４Ａの書き込み中に、特定の下位ページ５１２Ａと関連付けられるメモリセルがＵＥＣＣ誤りを経験した場合、下位ページ５１２Ａを、ストライプからの特定の下位ページおよびパリティ情報５５０Ａを含む、ストライプ、例えば「下位ストライプ１」の中の情報の残りを使用して再作成することができる。そのような誤りの１つの例は、非同期電力サイクル、例えば１つ以上のメモリデバイスに対する電力の予想外の遮断である。図５Ａは、「下位ストライプ１」の中の情報、例えば書き込み情報の１つのページ５１２Ａだけを示しているが、図５Ｂ〜５Ｃに関して下でより詳しく説明するように、実施形態は、そのように限定されない。
【００４６】
下位ストライプ５４４Ａ−Ｌのそれぞれと関連して図５Ａで示される下位ページのそれぞれ、例えばページ５１２Ａは、メモリデバイスの中のメモリセルの別個の物理ページを論理的に表す。上位ストライプ５４４Ａ−Ｕと関連して図５Ａで示される上位ページのそれぞれ、例えばページ５１４Ａは、対応する下位ページと同じ、メモリセルの物理ページを論理的に表す。例えば、上位ページ「ＵＰ１」５１４Ａは、下位ページ「ＬＰ１」５１２Ａと同じ、メモリセルの物理ページを論理的に表す。
【００４７】
図５Ｂは、本開示の１つ以上の実施形態に従う、１以上のチャネル５４２Ｂにわたる下位ページおよび上位ページのプログラミングを、１以上の下位ストライプ５４４Ｂ−Ｌおよび上位ストライプ５４４Ｂ−Ｕと相関させた表を示す。本開示の１つ以上の実施形態によれば、複数の下位ストライプ５４４Ｂ−Ｌを書き込むことは、複数の下位ストライプ５４４Ｂ−Ｌのそれぞれの中の情報の複数の下位ページをプログラムすることを含み得る。複数の下位ストライプ５４４Ｂ−Ｌのそれぞれの中の情報の複数の下位ページをプログラムすることは、パリティ情報の１ページをプログラムすることと、ユーザデータを伴う複数の下位ページの残りをプログラムすることとを含むことができる。パリティ情報の各ページは、それが対応するストライプの指定を含む。したがって、例えば、パリティ情報５５０Ｂのページは、下位ストライプ１に対応することを示す「Ｌ１」に指定される。例えば、図５Ｂにおいて、「下位ストライプ１」は、「チャネル８」にわたって書き込まれる「パリティＬ１」５５０Ｂ、ならびに「チャネル１」わたって書き込まれる下位ページ「ＬＰ１，１」５１２Ｂ、「チャネル２」にわたって書き込まれる「ＬＰ１，２」、「チャネル３」にわたって書き込まれる「ＬＰ１，３」、「チャネル４」にわたって書き込まれる「ＬＰ１，４」、「チャネル５」にわたって書き込まれる「ＬＰ１，５」、「チャネル６」にわたって書き込まれる「ＬＰ１，６」、および「チャネル７」にわたって書き込まれる「ＬＰ１，７」を含む。特定の下位ストライプの中の下位ページのそれぞれは、異なるチャネル５４２Ｂにわたって書き込むことができる。いくつかの実施形態では、特定の下位ストライプの中の下位ページのそれぞれが、１以上のチャネルにわたって実質的に同時に書き込まれ得る。
【００４８】
１つ以上の実施形態において、複数の上位ストライプ５４４Ｂ−Ｕを書き込むことは、情報の複数の上位ページを各上位ストライプにプログラムすることを含み得る。複数の上位ストライプのうちの特定の１つの中の複数の上位ページのそれぞれは、複数の下位ストライプのうちの異なる１つの中のそれぞれの下位ページに対応する。図５Ｂで示されるように、各下位ページ「ＬＰ」は、下位ページが対応する下位ストライプの指定、および下位ページが対応する上位ストライプの指定を含む。したがって、例えば、下位ページ「ＬＰ１，１」５１２Ｂは、下位ストライプ１および上位ストライプ１に対応することを示す、指定「１，１」を含む。同じく図５Ｂで示されるように、各上位ページ「ＵＰ」は、上位ページが対応する上位ストライプの指定、および上位ページが対応する下位ストライプの指定を含む。例えば、上位ページ「ＵＰ１，１」５１４Ｂは、上位ストライプ１および下位ストライプ１に対応することを示す指定「１，１」を含む。すなわち、上位ページ「ＵＰ１，１」５１４Ｂをプログラムすることは、下位ページ「ＬＰ１，１」５１２Ｂと関連付けられる同じメモリセルをプログラムすることを含む。別の例として、上位ページ「ＵＰ１，２」をプログラムすることは、下位ページ「ＬＰ２，１」と関連付けられるメモリセルをプログラムすることを含む。
【００４９】
故に、各上位ストライプ５４４Ｂ−Ｕを書き込むことは、それぞれが異なる下位ストライプ５４４Ｂ−Ｌに対応する複数のページをプログラムすることを含む。例えば、「上位ストライプ１」を書き込むことは、「下位ストライプ１」から下位ページ「ＬＰ１，１」５１２Ｂに対応する上位ページ「ＵＰ１，１」５１４Ｂをプログラムすること、「下位ストライプ２」の中の「ＬＰ２，１」に対応する「ＵＰ１，２」をプログラムすること、「下位ストライプ３」の中の「ＬＰ３，１」に対応する「ＵＰ１，３」をプログラムすること、「下位ストライプ４」の中の「ＬＰ４，１」に対応する「ＵＰ１，４」をプログラムすること、「下位ストライプ５」の中の「ＬＰ５，１」に対応する「ＵＰ１，５」をプログラムすること、「下位ストライプ６」の中の「ＬＰ６，１」に対応する「ＵＰ１，６」をプログラムすること、および「下位ストライプ７」の中の「ＬＰ７，１」に対応する「ＵＰ１，７」をプログラムすることを含む。各上位ストライプ５４４Ｂ−Ｕとともにプログラムされるパリティ情報は、対応する上位ストライプ５４４Ｂ−Ｕに書き込まれる情報に対して計算することができるので、下位ストライプ５４４Ｂ−Ｌのそれぞれとともに書き込まれるパリティ情報に無関係であり得る。特定の上位ストライプの中の上位ページのそれぞれが、異なるチャネル５４２Ｂにわたって書き込まれ得る。いくつかの実施形態では、特定の上位ストライプの中の上位ページのそれぞれが、１以上のチャネルにわたって実質的に同時に書き込まれ得る。
【００５０】
複数の下位ストライプ５４４Ｂ−Ｌおよび上位ストライプ５４４Ｂ−Ｕは、図５Ｂで示される順序で書き込むことができ、下位ストライプ１から始まり、上位ストライプ７まで続く。複数の上位ストライプ５４４Ｂ−Ｕに対応する情報を、単一の下位ストライプ５４４Ｂ−Ｌに書き込むことができるので、１つ以上の実施形態は、複数の上位ページと関連付けられる情報をバッファリングおよび／またはキャッシュし、その後に、複数の下位ストライプ５４４Ｂ−Ｌを書き込むことを含み得る。同様に、複数の下位ストライプ５４４Ｂ−Ｌに対応する情報を、単一の上位ストライプ５４４Ｂ−Ｕに書き込むことができるので、１つ以上の実施形態は、複数の下位ページと関連付けられる情報をバッファリングし、その後に、複数の下位ストライプ５４４Ｂ−Ｌの最初の１つを書き込むことを含み得る。故に、メモリシステムは、上位ストライプおよび／または下位ストライプを書き込む前に情報を記憶するためのバッファを含むことができる。そのようなバッファとしては、揮発性メモリおよび／または不揮発性メモリが挙げられる。図を簡単にするために、図５Ｂは、論理的にまとめてグループ化した複数の下位ストライプ５４４Ｂ−Ｌ、および論理的にまとめてグループ化した複数の上位ストライプ５４４Ｂ−Ｕを示しているように表されているが、実施形態は、そのように限定されない。例えば、複数の下位ページ５４４Ｂ−Ｌおよび複数の上位ページ５４４Ｂ−Ｕは、特定のブロック全体を通して混合され得、必ずしも図５Ｂで示されている順序で書き込まれるわけではなく、例えば、特定のストライプが、１以上の下位ページと１以上の上位ページとを含み得る。
【００５１】
図５Ｃは、本開示の１つ以上の実施形態に従う、１以上のチャネル５４２Ｃにわたる下位ページおよび上位ページのプログラミングを、１以上の下位スクラッチストライプ５４４Ｃ−ＬＳ、上位スクラッチストライプ５４４Ｃ−ＵＳ、下位ストライプ５４４Ｃ−Ｌ、および上位ストライプ５４４Ｃ−Ｕと相関させた表を示す。図５Ｃは、読み易くするために、かつフォントサイズ要件に対応するように、「図５Ｃ−Ｉ」および「図５Ｃ−ＩＩ」と符号を付した２つの添付図を含む。１つ以上の実施形態は、複数の下位スクラッチページ、例えば下位スクラッチページ「ＬＳＰ１，１」５１６Ｃ−Ｌを複数の第１のブロックにプログラムすることを含み得る。複数の上位スクラッチページ、例えば上位スクラッチページ「ＵＳＰ１，１」５１６Ｃ−Ｕは、第２のブロック、すなわち、第１のブロックと異なるブロックにプログラムすることができる。複数の下位ページ、例えば下位ページ「ＬＰ１，１」５１２Ｃ、および複数の上位ページ、例えば上位ページ「ＵＰ１，１」５１４Ｃはどちらも、第３のブロック、すなわち、第１のブロックおよび第２のブロックと異なるブロックにプログラムすることができる。本明細書で説明されるように、第３のブロックについて、複数の上位ページをプログラムする前に、複数の下位ページをプログラムすることができる。スクラッチストライプ５４４Ｃ−ＬＳおよび５４４Ｃ−ＵＳは、それぞれ、下位ページおよび上位ページに対応する情報だけを含むように示されているが、実施形態は、そのように限定されない。すなわち、特定のスクラッチストライプは、１つ以上の下位ページおよび１つ以上の上位ページに対応する情報を含むことができる。
【００５２】
下位スクラッチストライプ５４４Ｃ−ＬＳは、下位ストライプ５４４Ｃ−Ｌに書き込む前に読み出すことができ、上位スクラッチストライプ５４４Ｃ−ＵＳは、上位ストライプ５４４Ｃ−Ｕに書き込む前に読み出すことができる。下位スクラッチストライプ５４４Ｃ−ＬＳのそれぞれのページの中の情報は、下位ストライプ５４４Ｃ−Ｌのそれぞれのページの中の情報に対応し得、上位スクラッチストライプ５４４Ｃ−ＵＳのそれぞれのページの中の情報は、上位ストライプ５４４Ｃ−Ｕのそれぞれのページの中の情報に対応し得る。１つ以上の実施形態において、下位スクラッチストライプ５４４Ｃ−ＬＳおよび上位スクラッチストライプ５４４Ｃ−ＵＳと関連付けられる第１および第２のブロックは、下位ストライプ５４４Ｃ−Ｌおよび／または上位ストライプ５４４Ｃ−Ｕが書き込まれた後に消去され得る。
【００５３】
さらに、情報は、一般に、スクラッチストライプの中に書き込まれるので、メモリシステムは、特定のスクラッチストライプの中の情報が、対応する下位ストライプ５４４Ｃ−Ｌまたは上位ストライプ５４４Ｃ−Ｕの下位ビットに対応するのか、上位ビットに対応するのか、「認識して」いない場合がある。メモリシステムはまた、スクラッチストライプに書き込まれている情報が、後に組み合わせられて、下位ビットとしてであれ、上位ビットとしてであれ、特定の下位ストライプ５４４Ｃ−Ｌおよび／または上位ストライプ５４４Ｃ−Ｕに書き込まれることだけしか「認識して」いない場合がある。
【００５４】
複数のスクラッチページのそれぞれは、複数の下位ストライプ５４４Ｃ−Ｌおよび／または複数の上位ストライプ５４４Ｃ−Ｕに書き込まれた、複数の下位ページのうちの異なる１つおよび／または複数の上位ページのうちの異なる１つに対応する。例えば、下位スクラッチページ「ＬＳＰ１，１」５１６Ｃ−Ｌは、下位ページ「ＬＰ１，１」５１２Ｃに対応し、上位スクラッチページ「ＵＳＰ１，１」５１６Ｃ−Ｕは、上位ページ「ＵＰ１，１」５１４Ｃに対応する。本明細書で説明されるように、スクラッチページは、対応する下位ページまたは対応する上位ページがどのようにプログラムされるのかを示すために使用することができる。例えば、例えば下位ページ「ＬＰ２，４」と関連付けられるメモリシステムに上位ページのプログラミングを実行することによって、下位スクラッチページ「ＬＳＰ２，４」は、下位ページ「ＬＰ２，４」がどのようにプログラムされるのかを示すことができ、上位スクラッチページ「ＵＳＰ２，４」は、上位ページ「ＵＰ４，２」がどのようにプログラムされるのかを示すことができる。
【００５５】
図５Ｂに関して上で説明したように、各下位ページ「ＬＰ」は、下位ページが対応する下位ストライプの指定、および下位ページが対応する上位ストライプの指定を含む。したがって、例えば、下位ページ「ＬＰ２，４」は、下位ストライプ２および上位ストライプ４に対応することを示す、指定「２，４」を含む。同じく図５Ｃで示されるように、各上位ページ「ＵＰ」は、上位ページが対応する上位ストライプの指定、および上位ページが対応する下位ストライプの指定を含む。例えば、上位ページ「ＵＰ４，２」は、上位ストライプ４および下位ストライプ２に対応することを示す、指定「４，２」を含む。各下位スクラッチページ「ＬＳＰ」は、対応する下位ページのための指定に合致する指定を含む。したがって、例えば、下位スクラッチページ「ＬＳＰ２，４」は、同じ指定「２，４」を有する下位ページ「ＬＰ２，４」に対応することを示す、指定「２，４」を含む。各上位スクラッチページ「ＵＳＰ」は、対応する上位ページのための指定に合致する指定を含む。したがって、例えば、上位スクラッチページ「ＵＳＰ２，４」は、同じ指定「２，４」を有する上位ページ「ＵＰ２，４」に対応することを示す、指定「２，４」を含む。換言すれば、ＵＳＰ２，４は、ＵＰ２，４にプログラムされる情報を含む。
【００５６】
１つ以上の実施形態において、複数の下位ページのうちの特定の１つをプログラムすることは、対応する下位スクラッチページに応じて、複数の下位ページのうちの特定の１つと関連付けられる不揮発性マルチレベルメモリセルを中間状態にすること、例えば下位ページをプログラムすることを含むことができる。例えば、下位ページ「ＬＰ１，１」５１２Ｃと関連付けられるメモリセルをプログラムすることは、対応する下位スクラッチページ「ＬＳＰ１，１」５１６Ｃ−Ｌに応じて、メモリセルをプログラムすることを含むことができる。複数の上位ページのうちの対応する１つをプログラムすることは、複数の下位ページのうちの特定の１つと関連付けられる同じ不揮発性マルチレベルメモリセルを最終状態にプログラムすることを含むことができる。例えば、下位ページ「ＬＰ１，１」５１２Ｃをプログラムすることは、下位ページ「ＬＰ１，１」５１２Ｃと関連付けられるメモリセルを中間状態にプログラムすることを含むことができ、上位ページ「ＵＰ１，１」５１４Ｃをプログラムすることは、同じメモリセルを最終状態にプログラムすることを含むことができる。同じメモリセルを最終状態にプログラムすることは、対応する上位スクラッチページに応じて、同じメモリセルをプログラムすることを含むことができる。例えば、下位ページ「ＬＰ１，１」５１２Ｃと関連付けられるメモリセルを上位ページ「ＵＰ１，１」５１４Ｃにプログラムすることは、対応するスクラッチページ「ＵＳＰ１，１」５１６Ｃ−Ｕに応じて、メモリセルをさらにプログラムすることを含むことができる。故に、いくつかの実施形態は、対応する下位スクラッチページまたは上位スクラッチページを読み込み、その後に、対応する下位ページまたは上位ページをプログラムすることを含み得る。特定のスクラッチブロックの中の下位スクラッチページおよび／または上位スクラッチページに対応する上位ページがプログラムされると、スクラッチブロックは、消去して、新しいスクラッチブロックとして使用するか、下位ページおよび／もしくは上位ページをプログラムするためのブロックとして使用するか、または他のメモリ操作のために使用することができる。
【００５７】
複数の下位スクラッチストライプ５４４Ｃ−ＬＳ、上位スクラッチストライプ５４４Ｃ−ＵＳ、下位ストライプ５４４Ｃ−Ｌ、および上位ストライプ５４４Ｃ−Ｕは、図５Ｃで示される順序で書き込むことができ、スクラッチストライプ１で始まり、スクラッチストライプ１４まで、下位ストライプ１から下位ストライプ７まで、および上位ストライプ１から上位ストライプ７まで続き、または別の順序で書き込むことができる。しかしながら、複数の上位ストライプ５４４Ｃ−Ｕのそれぞれは、複数の下位ストライプ５４４Ｃ−Ｌおよび複数の上位スクラッチストライプ５４４Ｃ−ＵＳのそれぞれの中の少なくとも１つの下位ページに対応する上位ページを含むので、複数の上位ストライプ５４４Ｃ−Ｕは、複数の下位ストライプ５４４Ｃ−Ｌおよび複数の上位スクラッチストライプ５４４Ｃ−ＵＳを書き込んだ後に書き込むことができる。
【００５８】
結論
本開示は、ストライプに基づく不揮発性マルチレベルメモリ操作のための方法およびデバイスを含む。方法の一実施形態は、情報の１以上の下位ページを１以上の下位ストライプのそれぞれにプログラムすることを含む、１以上の下位ストライプを書き込むことを含むことができる。情報の１以上の上位ページを上位ストライプにプログラムすることを含む、上位ストライプを書き込むことができる。１以上の上位ページのそれぞれは、１以上の下位ページのうちのそれぞれ１つに対応することができる。１以上の上位ページに対応する１以上の下位ページのうちのそれぞれ１つのそれぞれを、１以上の下位ストライプの異なる下位ストライプにプログラムすることができる。
【００５９】
要素が、別の要素の「〜上にある」、別の要素に「接続される」、または別の要素に「連結される」ものとして言及されるとき、他の要素の直接的に上にある、他の要素に直接的に接続される、または他の要素に直接的に連結される可能性があるか、または介在要素が存在する場合があることが理解されるであろう。対照的に、要素が、別の要素に対して「直接的に上にある」、「直接的に接続される」、または「直接的に連結される」ものとして言及されるときは、いかなる介在要素または層も存在しない。本明細書で使用される場合、「および／または」という用語は、関連する列記された品目うちの１つまたは複数の任意および全ての組み合わせを含む。
【００６０】
本明細書で使用される場合、「および／または」という用語は、関連する列記された品目うちの１つまたは複数の任意および全ての組み合わせを含む。本明細書で使用される場合、「または」という用語は、別途注記されない限り、論理的に、包含的な「または」を意味する。すなわち、「ＡまたはＢ」は、（Ａだけ）、（Ｂだけ）、または（ＡおよびＢの両方）を含むことができる。換言すれば、「ＡまたはＢ」は、「Ａおよび／またはＢ」または「ＡおよびＢのうちの１つ以上」を意味することができる。
【００６１】
第１、第２、第３等の用語は、本明細書では、種々の要素を表すために使用されている場合があり、これらの用語によってこれらの要素を限定すべきではないことを理解されるであろう。これらの用語は、ある要素を別の要素と区別するために使用されているに過ぎない。したがって、第１の要素は、本開示の教示を逸脱しない範囲で第２の要素と称される可能性がある。
【００６２】
本明細書には具体的な実施形態が図示および記述されているが、当業者は、同じ結果を達成するように考案された配設を、示された具体的な実施形態に代えることができることを理解するであろう。本開示は、本開示の１つ以上の実施形態の適応または変形を包含することを意図する。上記の説明は、制限の様式ではなく、図説の様式において行われたものであることが理解されるであろう。上記の実施形態、および本明細書に具体的に説明されない他の実施形態の組み合わせは、上記の説明を検討することによって、当業者には明らかであろう。本開示の１つ以上の実施形態の範囲は、上記の構造および方法が使用される他の用途を含む。したがって、本開示の１つ以上の実施形態の範囲は、添付の特許請求の範囲に加えて、このような特許請求の範囲が権利を与えられる均等物の完全な範囲を参照して決定されなければならない。
【００６３】
前述の発明を実施するための形態では、開示を簡素化するために、いくつかの特徴が単一の実施形態にまとめられている。この開示方法は、本開示の開示される実施形態が、各請求項に明記されるよりも多くの特徴を用いなければならないという意図を反映するものとして解釈されるべきではない。そうではなく、以下の特許請求の範囲が反映するように、発明の主題は、単一の開示される実施形態の全ての特徴に満たない中に存する。したがって、以下の特許請求の範囲が本明細書により発明を実施するための形態に組み入れられ、各特許請求の範囲は個別の実施形態として独立する。
【図１】
0005516924.tif 000002
【図２】
0005516924.tif 000003
【図３】
0005516924.tif 000004
【図４】
0005516924.tif 000005
【図５Ａ】
0005516924.tif 000006
【図５Ｂ】
0005516924.tif 000007
【図５Ｃ】
0005516924.tif 000008
【図５Ｃ−１】
0005516924.tif 000009
【図５Ｃ−２】
0005516924.tif 000010