(57)【特許請求の範囲】
【請求項１】
複数の群から構成され、各群が行および列の形で論理的に配列されたメモリセルのアレイを有するメモリデバイスを動作させる方法であって、
ユーザデータの格納および当該ユーザデータに関連付けられたオーバーヘッドデータの格納のためのメモリ割り当てを動的に変更するものであり、
前記メモリ割り当てを動的に変更するものは、前記ユーザデータのサイズや信頼性に応答して、
第１群のメモリセルの中の特定個数のメモリセルを前記ユーザデータの格納に割当てると共に、前記第１群のメモリセルとは異なる第２群のメモリセルの中の第１組のメモリセルを前記ユーザデータに関連付けられたすべてのオーバーヘッドデータの格納に割当てること、及び
第１群のメモリセルの中の特定個数のメモリセルを前記ユーザデータの格納に割当てると共に、前記第１群のメモリセルの中の別のメモリセルに含まれる第２組のメモリセルを前記ユーザデータに関連付けられたオーバーヘッドデータの一部の格納に割り当てながら、前記第２群のメモリセルの中の第３組のメモリセルを前記ユーザデータに関連付けられたオーバーヘッドデータの残部の格納に割当てること、
のいずれにも対応することである、方法。
【請求項２】
前記メモリ割り当てを動的に変更するものは、２行に跨るメモリセルの中の特定個数のメモリセルを前記ユーザデータの格納に割当てると共に、２行目のメモリセルの中の別のメモリセルに含まれる第４組のメモリセルを前記ユーザデータに関連付けられたオーバーヘッドデータの格納に割り当てること、をさらに含む、請求項１に記載の方法、
【請求項３】
前記第１群および前記第２群のメモリセルそれぞれが１行のメモリセルを構成して成す、請求項１に記載の方法。
【請求項４】
前記第１群のメモリセルの特定個数のメモリセルを構成することが１ページのユーザデータメモリセルを割り当てることをさらに含む、請求項１に記載の方法。
【請求項５】
前記特定個数のメモリセルを構成することが所望のページサイズに応答して前記特定個数のメモリセルを割り当てることをさらに含む、請求項１に記載の方法。
【請求項６】
前記特定個数のメモリセルを構成することが前記メモリデバイスの特定の動作モードに応答して前記特定個数のメモリセルを割り当てることをさらに含む、請求項１に記載の方法。
【請求項７】
特定の動作モードに応答して前記特定個数のメモリセルを割り当てることが、前記メモリデバイスの動作モードを変更することに応答して異なる特定個数のメモリセルを割り当てることをさらに含む、請求項６に記載の方法。
【請求項８】
所望の解決能力を有する誤り訂正符号（ＥＣＣ）スキームを前記特定個数のメモリセルに割り当てることと、
前記第１組乃至前記第４組のメモリセルをＥＣＣデータメモリセルとして構成し、 前記ＥＣＣデータメモリセルは、前記特定個数のメモリセルに格納される前記ユーザデータに対して、前記割り当てられたＥＣＣスキームを適用することに応答して生成されるＥＣＣデータを格納するよう構成されることと、
をさらに含み、 
前記第１群のメモリセルは第１メモリセルブロックを構成して成し、
前記第２組のＥＣＣデータメモリセルは前記第１メモリセルブロックに含まれ、前記第３組のＥＣＣデータメモリセルは、前記第１ブロックと異なる第２メモリセルブロックに含まれる、請求項２に記載の方法。    
【請求項９】
前記第２組のメモリセルをＥＣＣデータメモリセルとして構成することは、前記第１メモリセルブロックから前記複数のメモリセルの少なくとも１部分を割り当てることをさらに含む、請求項８に記載の方法。
【請求項１０】
複数のメモリセルをＥＣＣデータメモリセルとして構成することは、所望の解決能力において必要とされる個数のみのＥＣＣデータメモリセルを割り当てることをさらに含む、請求項８に記載の方法。
【請求項１１】
前記特定個数のメモリセルに格納されるユーザデータを受け取り、前記受け取られたユーザデータに対して前記ＥＣＣスキームを適用して、前記ＥＣＣデータを生成することをさらに含む、請求項８に記載の方法。
【請求項１２】
前記受け受け取られたユーザデータに関しては前記特定個数のメモリセルをマルチレベルセルとしてプログラムし、前記生成されたＥＣＣデータに関しては前記第１組のおよび前記第２組のＥＣＣデータメモリセルをシングルレベルメモリセルとしてプログラムすることをさらに含む、請求項１１に記載の方法。
【請求項１３】
前記メモリデバイスに対する特定の用途に応答して前記特定個数のメモリセルを判定することをさらに含む、請求項８に記載の方法。
【請求項１４】
前記特定個数のメモリセルをユーザデータメモリセルとして構成することが、前記メモリデバイスの特定の動作モードに応答して前記特定個数のメモリセルを割り当てることをさらに含む、請求項８に記載の方法。
【請求項１５】
前記メモリデバイスの特定の動作モードに応答して前記特定個数のメモリセルを割り当てることは、前記メモリデバイスのセルがＳＬＣメモリセルおよび／またはＭＬＣメモリセルとしてプログラムされているかどうかに応答して前記特定個数のメモリセルを割り当てることをさらに含む、請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、全般的には半導体メモリに関し、さらに詳細には、１つまたは複数の実施形態において、本開示は不揮発性メモリデバイスにおけるメモリセルの構成に関する。
【背景技術】
【０００２】
メモリデバイスは、通常、コンピュータまたは他の電子デバイスにおいて内蔵型、半導体、集積回路として提供される。ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、およびフラッシュメモリを含む、多くの異なる種類のメモリが存在する。
【０００３】
フラッシュメモリデバイスは、開発が進められた結果、今や広範な電子的用途のための不揮発性メモリの一般的な源となった。不揮発性メモリは、その格納されたデータを、電力を加えなくともある程度の期間にわたり保持することができるメモリである。フラッシュメモリおよびその他の不揮発性メモリの一般的な用途はパーソナルコンピュータ、携帯情報端末（ＰＤＡ）、デジタルカメラ、デジタルメディアプレーヤ、デジタルレコーダ、ゲーム、電気製品、車両、無線デバイス、モバイル電話、および着脱可能なメモリモジュールを含み、不揮発性メモリに対する使用は拡大の一途である。
【０００４】
フラッシュメモリは、通常、例えば図１に示すように複数のメモリセルブロックを含むメモリアレイ１００の形で配列される。図１の行１０２のそれぞれは典型的なメモリデバイスにおける１つのメモリブロックを表す。データは、メモリデバイス上でプログラム動作を実行することによりメモリアレイ１００（すなわちメモリセルのアレイ）に格納される。データは、読み出し動作を実行することによりメモリアレイ１００から読み出すことができる。
【０００５】
メモリデバイスからのデータ値の読み出しに誤りが生じ得ることを認識して、メモリデバイスは１つまたは複数の種類の誤り訂正方法を使用し得る。誤り訂正スキーム（一般に誤り訂正符号（ＥＣＣ）と呼称される）が、これらの誤りを検出するため、および／または誤り訂正を試みるために、実装され得る。様々なＥＣＣは様々な符号を含み、これらの符号においては、ＥＣＣの支配下にある各データ信号はＥＣＣの構成の特定規則にしたがうことが要求される。このデータ構成からの逸脱（すなわち誤り）は一般に、あまり顕著でない場合、自動的に検出され、場合によっては訂正される。ＥＣＣの例としてはハミング符号、ＢＣＨ符号、リード・ソロモン符号、リード・マラー符号、２元ゴレイ符号、低密度パリティ符号、およびトレリス符号化変調が挙げられる。いくつかのＥＣＣは単一ビット誤りの訂正および２重ビット誤りの検出ができる。他のＥＣＣは例えば多ビット誤りの検出および／または訂正ができる。
【０００６】
通常、メモリデバイスは、ユーザデータを、各ブロックの第１群のメモリセル（例えば第１組のメモリ位置、ユーザデータ空間、ユーザデータ部分、および／またはユーザデータ格納エリアとみなされ得る）に格納し、誤り訂正符号（ＥＣＣ）データを、第２群のメモリセルに格納するものである。係るメモリセルの群化は、通常、メモリデバイスの設計およびレイアウト時に決定されるものであり、ユーザデータ格納およびＥＣＣデータ格納に対するメモリ割り当ては、通常、メモリデバイスの永久的構成である。読み出し動作を行う間、格納されたユーザデータおよびＥＣＣデータの両方が、ユーザデータの読み出し要求に応答してメモリアレイから読み出される。既知のアルゴリズムを用いて、読み出し動作から返されたユーザデータはＥＣＣデータと比較される。誤りが検出され、これらの誤りがＥＣＣの限界内である（例えば格納されたＥＣＣデータ内に十分なＥＣＣ解決能力（ＥＣＣ  ｒｅｓｏｌｕｔｉｏｎ）が存在する）ならば、誤りは訂正され得る。
【０００７】
例えば、図１の各ブロック１０２は、利用する所望のＥＣＣスキームに基づいてメモリデバイスの設計時に構成される。各ユーザデータメモリエリア１１０は関連付けられたＥＣＣメモリエリア１１２を有する。例えば、ＥＣＣエリア１１２１はユーザデータ格納エリア１１０１に格納されたユーザデータに関連付けられたＥＣＣデータを格納し、ＥＣＣエリア１１２２はユーザデータ格納エリア１１０２に格納されたユーザデータに固有のＥＣＣデータを格納し、以下同様の格納が行われる。ブロック格納エリア１１４は例えばブロック１０２の全体に固有の追加的なデータ（例えばメタデータ）を格納し得る。この固定された構成がメモリデバイス１００の各ブロックで反復される。１１２および１１４等のエリアは場合によってはオーバーヘッド空間と総称される。
【０００８】
しかしながら、異なるＥＣＣ符号はそれぞれのＥＣＣデータを格納するために異なる量のメモリセルを要求する。したがって、２つ以上のＥＣＣ符号に対応することが望まれる場合、メモリデバイスの各ブロックのＥＣＣデータ格納エリアは、利用される得る最大のＥＣＣ格納要件を有するＥＣＣ符号をサポートするよう構成され（例えば割り当てられ）る。しかし、これは、割り当てられたＥＣＣデータ格納エリアの量の全部を必要とはしないＥＣＣ符号がメモリデバイスにおいて利用され、それによりメモリセルが未使用状態および利用不能状態となる状況では、非効率的となり得る。典型的なメモリデバイスは、望まれ得る最大のＥＣＣ符号（単数または複数）に対応するために、２０４８Ｂ（バイト）のユーザデータ空間および１４０ＢのＥＣＣデータ空間を有するブロックを用いて割り当てが行われ得る。例えば、ＥＣＣデータ格納エリア１１２１および１１２２はともに１４０Ｂを含み得る。メモリの各ブロックのこの構成（例えば配列）がメモリアレイ１００の全体で反復されるであろう。このように、メモリアレイはいくつかのブロックのメモリを含み、それぞれのブロックはブロック毎に同一のユーザデータ空間およびＥＣＣデータ空間の構成を有するであろう。各ユーザデータセルブロックに対して割り当てられたＥＣＣデータ空間の１４０Ｂの全部を必要とはしないＥＣＣが利用される場合は、残余の割り当てられたＥＣＣデータ空間が未利用のままとなってしまう。あるいは、より高い信頼性が望まれる場合は、所望のＥＣＣ解決能力でＥＣＣデータを格納にするにあたり１４０ＢのＥＣＣデータ空間が不十分となってしまう場合もある。例えば、特定レベルの信頼性を有することが望まれて、メモリデバイスに格納されたユーザデータにおいて発生する特定個数の誤りを訂正することが可能となるよう特定のＥＣＣ符号が選択される場合もある。割り当てられたＥＣＣデータ空間が不十分である場合は、所望レベルの信頼性を達成するために十分なＥＣＣ符号が存在せず（例えばＥＣＣデータ解決能力が不十分）、例えば訂正され得る誤りの個数が減少し得る。
【０００９】
上述のように、メモリアレイ構成（例えば図１に示す）は、通常は固定され、後の変更は不可能である。しかし、いくつかの用途では、メモリデバイスに当初割り当てられたものよりも、より大きいまたはより小さいユーザデータ格納エリア１１０が要求される場合もある。したがって、たとえば、ユーザデータの格納および／またはメモリデバイスからのユーザデータの取得が非効率的となり得る。さらに、メモリデバイスの製造プロセスの一部として、メモリデバイス内のコントローラ（例えば制御回路）は、通常、例えば図１に示すメモリセルのブロックの固定された構成にしたがってメモリアレイと相互作用するよう構成される。例えば、メモリアレイ構成データは例えばファームウェアを利用するコントローラにプログラムされ得る。したがってコントローラは、コントローラにプログラムされたメモリデバイス構成にしたがうメモリアレイに対して動作するよう永久的に構成され得る。
【００１０】
上述の理由と、および本開示を読み本開示を理解すると当業者に明らかになるであろう以下で説明するその他の理由とにより、メモリデバイスにおけるメモリセルの代替構成の必要性が当該技術分野に存在する。
【図面の簡単な説明】
【００１１】
【図１】メモリデバイスにおけるメモリアレイの典型的な構成を示す図である。
【図２】ＮＡＮＤ構成のメモリセルのアレイの概略図である。
【図３】メモリセルの集団における閾値電圧範囲を示す図である。
【図４Ａ】メモリデバイス内のメモリセルの典型的な構成の例を示す図である。
【図４Ｂ】メモリデバイス内のメモリセルの典型的な構成の例を示す図である。
【図４Ｃ】メモリデバイス内のメモリセルの典型的な構成の例を示す図である。
【図４Ｄ】メモリデバイス内のメモリセルの典型的な構成の例を示す図である。
【図５】本開示の１つの実施形態に係るメモリデバイスの簡略ブロック図である。
【図６】本開示の１つの実施形態に係るメモリセルの構成を示す図である。
【図７】本開示の１つの実施形態に係るメモリセルの構成を示す図である。
【図８】本開示の１つの実施形態に係るメモリセルの構成を示す図である。
【図９】本開示の１つの実施形態に係るメモリセルの構成を示す図である。
【図１０】本開示の１つの実施形態に係る電子システムの一部としてホストに連結されたメモリデバイスの簡略ブロック図である。
【発明を実施するための形態】
【００１２】
本発明に関する以下の詳細な説明では、本発明の一部を形成する添付の図面が参照される。これらの図面では、本発明が実施され得る特定の実施形態が例示説明として示される。これらの図面では、いくつかの図面を通して同様の参照番号は、実質的に同様の構成要素を指す。これらの実施形態は、当業者が本発明を実施することができるよう十分詳細に説明される。他の実施形態も利用され得る。本開示の範囲から逸脱することなく構造上、論理上、および電気回路上の変更が可能である。したがって、以下の詳細な説明は限定的な意味でとらえてはならない。
【００１３】
フラッシュメモリは、通常、ＮＯＲ型フラッシュおよびＮＡＮＤ型フラッシュとして知られる２つの基本的アーキテクチャのうちの１つを利用する。この名称はデバイスを読み出すために用いられる論理に由来する。図２はＮＡＮＤ型フラッシュメモリアレイアーキテクチャ２００を示す。このアーキテクチャ２００では、メモリアレイのメモリセル２０２は、行および列のアレイの形で論理的に配列される。従来のＮＡＮＤ型フラッシュアーキテクチャにおいて、「行」は共通に連結された制御ゲート２２０を有するメモリセルを指す一方で、「列」は例えばメモリセル２０８の特定ストリングとして連結されたメモリセルを指す。アレイのメモリセル２０２は、典型的にはそれぞれ８個、１６個、３２個、またはそれを越す個数のストリング（例えばＮＡＮＤストリング）の形で一緒に配列される。ストリングの各メモリセルは、ソース線２１４とデータ線２１６（しばしばビット線と呼称される）との間で、ソースからドレインへと一緒に直列に接続される。アレイは、特定のアクセス線（しばしばワード線と呼称される。例えばＷＬ７〜ＷＬ０  ２１８７〜０）を選択することによりメモリセルの論理行をアクティブ状態にする行デコーダ（図示せず）によりアクセスされる。各ワード線２１８は１行のメモリセルの制御ゲートに連結される。ビット線ＢＬ１〜ＢＬ４  ２１６１〜４は、アレイ上で実行される動作の種類に基づいて、高または低に駆動され得る。これらのビット線ＢＬ１〜ＢＬ４  ２１６１〜４は、例えば特定のビット線２１６上での電圧または電流を検知することによりターゲットメモリセルの状態を検出するセンスデバイス（例えばセンス増幅器）２３０に連結される。当業者に周知であるように、ワード線およびビット線の個数は、図２に示すよりも遥かに多い個数となる場合もある。
【００１４】
メモリセルは、通常、消去サイクルおよびプログラムサイクルを用いてプログラムされる。例えば、特定メモリセルブロックのメモリセルは、まず消去され、次いで選択的にプログラムされる。ＮＡＮＤ型アレイについては、１ブロックのメモリセルの消去は、通常、当該ブロック内のワード線の全部をアースし、当該ブロックのメモリセルの電荷格納構造（例えば浮遊ゲートまたは電荷トラップ）上に格納され得る電荷を除去するために、当該ブロックのメモリセルが形成された半導体基板に、したがってメモリセルのチャネルに、消去電圧を印加することにより、実行される。
【００１５】
プログラム動作は、通常、選択されたワード線（例えばＷＬ４  ２１８４）に、したがって、選択されたワード線に連結された各メモリセル２２０１〜４の制御ゲートに、１つまたは複数のプログラムパルスを印加することを伴う。通常のプログラムパルスは、１５Ｖでまたは１５Ｖ付近でスタートし、各プログラムパルスが印加される間、強度が増加する傾向を有する。選択されたワード線にプログラム電圧（例えばプログラムパルス）が印加される間、電位（例えば接地電位）が基板に、したがって、これらのメモリセルのチャネルに、印加され、その結果、当該チャネルからプログラムのターゲットであるメモリセルの電荷格納構造へと電荷が転送されることとなる。さらに詳細には、電荷格納構造は、通常、チャネルから格納構造への電子の直接注入またはウァウラーノルトハイム・トンネルにより、荷電される。その結果、例えば、通常正の値のＶｔが生じる。加えて、通常、プログラム動作のターゲットとなる（例えば選択された）メモリセルを含むＮＡＮＤストリングに連結されないビット線に対しては抑制電圧が印加される。通常、選択されたメモリセルがターゲット（例えば意図）されたプログラム状態に達したかどうかを判定するために、各プログラムパルスが印加された後にベリファイ動作が実行される。ベリファイ動作は一般に、メモリセルの閾値電圧が特定のターゲット値に達したかどうかを判定するためにセンス動作を実施することを含む。
【００１６】
メモリセル（例えばフラッシュメモリセル）は当該技術分野でシングルレベルメモリセル（ＳＬＣ）またはマルチレベルメモリセル（ＭＬＣ）として知られるメモリセルとして構成され得る。ＳＬＣメモリセルおよびＭＬＣメモリセルでは、データ状態（例えば１つまたは複数のビットにより表現される）が、メモリセル上に格納された特定範囲の閾値電圧（Ｖｔ）に割り当てられる。シングルレベルメモリセル（ＳＬＣ）は、単一のバイナリデジット（例えばビット）のデータを各メモリセル上に格納することを可能にする。一方、ＭＬＣ技術は、セルに割り当てられたＶｔ範囲の量と、メモリセルの耐用年数の動作の間における、割り当てられたＶｔ範囲の安定性と、に応じて、セル毎に２つ以上のバイナリデジットの格納を可能にする。Ｎビットで構成されるビットパターンを表すために用いられるＶｔ範囲（例えばレベル）の個数はＮを整数として２Ｎである。例えば、１ビットは２つの範囲により、２ビットは４つの範囲により、３ビットは８つの範囲により、以下同様に、表され得る。ＭＬＣメモリセルは各メモリセル上に偶数個または奇数個のビットを格納し得、小数部ビット（例えば１つのセルに対して１．５ビット）を提供するためのスキームも既知である。例えば０または１により表される１ビットのデータを格納するためにＳＬＣメモリが２つのＶｔ範囲を利用するので、一般的な命名規則ではＳＬＣメモリはＭＬＣ（２レベル）メモリと呼称される。２ビットのデータを格納するよう構成されたＭＬＣメモリはＭＬＣ（４レベル）により表され得、３ビットのデータはＭＬＣ（８レベル）により、その他同様に、表され得る。
【００１７】
図３はＭＬＣ（４レベル）（例えば２ビット）のメモリセルに対するＶｔ範囲３００の例を示す。例えば、メモリセルは、２００ｍＶの３０２〜３０８の４つの異なるＶｔ範囲のうちの１つであるＶｔにプログラムされ得、それぞれが２ビットからなるビットパターンに対応するデータ状態を表すために用いられる。通常、デッドスペース３１０（例えば場合によってはマージンと呼称され、３００ｍＶ〜４００ｍＶの範囲を有し得る）が、それらの範囲が重なり合うことがないよう各範囲３０２〜３０８の間に保持される。例えば、メモリセル上に格納された電圧が４つのＶｔ範囲の第１Ｖｔ範囲３０２内にある場合、この場合のセルは論理「１１」状態を格納し、通常、セルの消去状態にあるとみなされる。電圧が４つのＶｔ範囲のうちの第２Ｖｔ範囲３０４内にある場合、この場合のセルは論理「１０」状態を格納する。４つのＶｔ範囲のうちの第３Ｖｔ範囲３０６にある電圧は、この場合のセルが論理「００」状態を格納することを示すであろう。最後に、第４Ｖｔ範囲３０８にあるＶｔは論理「０１」状態がセルに格納されていることを示す。
【００１８】
通常、より低レベルのメモリセルに格納されたデータに誤りが生じる確率よりも、より高レベルのメモリセルに格納されたデータに誤りが生じる確率のほうが高い。例えば、ＭＬＣ（４レベル）は通常、例えばＳＬＣメモリよりも高い誤りの確率を有する。これは、より高レベルのメモリセルにおいてプログラムされるＶｔ範囲の個数の増加および係るＶｔ範囲の幅狭化に起因するものである。上述のように、様々な誤り訂正スキームが、破損した可能性のあるデータの復元を試みるために利用される。
【００１９】
図４Ａ〜図４Ｄは、典型的なメモリアレイ（例えば図１に関して上述した）の形で構成された、メモリセルのいくつかの典型的な構成のブロックを図示する。図４Ａ〜図４Ｄの各メモリセルブロックは、メモリのユーザデータ空間およびオーバーヘッドデータ（例えばＥＣＣおよび／またはメタデータ）空間を含む。図４Ａ〜図４Ｄのそれぞれにおいて２つのブロックにより図示されるこれらの構成はＮ個のブロックを有するメモリアレイの全体で反復され得る。例えば、図４Ａのブロック４０２１〜Ｎは同一の構成（例えば分布）のユーザデータ格納エリア４１０およびＥＣＣデータ格納エリア４１２を用いて構成される。図４Ｂのブロック４０４１〜Ｎは同一構成のユーザデータ格納エリア４１４およびＥＣＣデータ格納エリア４１６を用いて構成される。図４Ｃのブロック４０６１〜Ｎは同一構成のユーザデータ格納エリア４１８およびＥＣＣデータ格納エリア４２０を用いて構成される。図４Ｄのブロック４０８１〜Ｎは、同一構成の、例えば図１に関して上述したような、ユーザデータ格納エリア４２４、ＥＣＣデータ格納エリア４２６、およびブロックデータ格納エリア（例えばメタデータ）４２２を用いて構成される。
【００２０】
図４Ａ〜図４Ｄに示すユーザデータ格納エリアおよびオーバーヘッドデータ格納エリアを割り当てる通常の方法とは対比的に、本開示の様々な実施形態に係る１つまたは複数の方法はメモリデバイスにおける全体的メモリアレイの代替利用を支援する。
【００２１】
図５は本開示の様々な実施形態に係るメモリデバイス５００の一部分を図示する。図５に示すメモリデバイス５００は、本開示に係る様々な実施形態の理解が高まるよう特定の構成要素に集中するために簡略化されている。メモリデバイス５００はメモリアレイ５０２（例えばフラッシュメモリセルのアレイ）を備える。図５に示すメモリアレイ５０２は複数の個別的に消去可能なブロックのメモリセル５０４の形で構成され得、各ブロックは１つまたは複数のページのメモリセルを含み得る。各ブロックのメモリアレイ５０２のメモリセルは行および列（例えば図２に示す行および列）の形で論理的に配列され得る。メモリアレイ５０２のメモリセルは、シングルレベル（ＳＬＣ）メモリセルおよび／またはマルチレベル（ＭＬＣ）メモリセルを含み得る。
【００２２】
メモリデバイス５００はメモリアレイ５０２のメモリセルへのアクセスを支援する行デコード回路５１０および列デコード回路５１２をさらに備える。アドレス回路５０８は行デコード回路５１０および列デコード回路５１２にアドレス情報を提供する。センス回路およびデータキャッシュ５１４はメモリデバイスの動作（読み出し動作、書き込み動作（例えばプログラム動作）、および消去動作など）を支援する。例えば、センス回路は、特定個数の選択された読み出されるメモリセルのプログラム状態を検出し得る。データキャッシュ５１４はセンス回路により検知されたデータ（例えば読み出し動作またはベリファイ動作の間に取得されたセンスデータ）を格納し得る。データキャッシュ５１４は、特定個数の選択されたメモリセルにプログラムされるデータを例えばプログラム動作の間に格納し得る。
【００２３】
メモリデバイス５００は、本開示の様々な実施形態に係るメモリデバイス動作を少なくとも部分的に支援するコントローラ（例えば制御回路）５０６をさらに備える。制御回路５０６は、メモリデバイス５００の他の回路（図示せず。例えば行デコード回路５１０、列デコード回路５１２、およびセンス回路／データキャッシュ５１４回路）にも連結され得る。
【００２４】
図１に示すメモリアレイ１００の固定された構成とは対比的に、図５のメモリアレイ５０２はメモリアレイにおいて特定使用種類のメモリの固定された場所を含まない。例えば、図５のメモリアレイ５０２は複数ブロックのメモリ５０４を含み、ブロック内のメモリセルはユーザデータまたはオーバーヘッドデータ（例えばメタデータおよび／またはＥＣＣデータ）のいずれかを格納するよう構成され得る。これは、先行技術に係る方法よりも効果的なメモリアレイ５０２の使用を支援する。メモリアレイ５０２の構成は複数の要因に基づき得る。例えば、ユーザデータ格納エリアおよび関連付けられた（例えば対応する）ＥＣＣデータ格納エリアは、メモリアレイから読み出されるユーザデータの特定の所望レベルの信頼性に基づいて割り当てられ得る。他の要因としては、メモリセルの特定ブロックに格納されるユーザデータの種類に基づくメモリアレイ５０２の構成が挙げられ得る。他の例としては、アレイのメモリセル上で実行されるプログラム動作の種類（例えばセルがＳＬＣメモリセルおよび／またはＭＬＣメモリセルとしてプログラムされるかどうか）に基づく構成が挙げられ得る。さらに他の例としては、ユーザデータの特定要件（例えばワードサイズ、その他）に基づいてユーザデータ格納エリアを構成する能力が挙げられる。例えば、１つの用途（例えば動作モード）は、特定のワードサイズの、メモリに格納されるユーザデータを利用するとより効果的となり得る。しかし異なる用途は、例えば異なるワードサイズを有するユーザデータを利用するとより効果的となり得る。
【００２５】
ユーザデータ格納エリアおよびオーバーヘッドデータ格納エリアの構成は、メモリアレイ５０２の異なるエリア（例えば異なるブロックまたはページ）でも異なり得る。例えば、本開示の様々な実施形態にしたがって、第１構成のメモリ格納エリアがメモリアレイ５０２の第１ブロックのメモリセルで利用され得、異なる構成が異なるブロックで利用され得る。特定種類（例えばユーザデータ、ＥＣＣデータ）のメモリ格納エリアの割り当ては、メモリセルの１つまたは複数のブロックおよび／またはページにまたがって生じ得る。メモリ格納割り当ては本開示の様々な実施形態においてメモリデバイスの複数ダイ（すなわち複数の物理的ダイ）にまたがり得る。予備エリアも１つまたは複数のブロック（例えばメモリアレイ５０２の端部）に排他的に割り当てられ得る。
【００２６】
制御回路５０６は本開示の様々な実施形態にしたがってメモリアレイ５０２の構成を管理するよう構成され得る。制御回路５０６は例えばメモリシステムの一部としてインターフェース（図示せず）を介してホスト（例えばプロセッサ）に連結され得る。１つまたは複数の実施形態によれば、制御回路５０６は、各ブロックまたはページのメモリセルの空間割り当てを、メモリアレイ５０２の他のブロック／ページのメモリセルから独立的に、構成するよう構成され得る。制御回路は、メモリアレイ構成データが格納されたメモリデバイス（例えば不揮発性メモリ。図示せず）を備え得る。構成データは例えばメモリアレイ５０２の特定部分にも格納され得る。メモリデバイスの初期化動作が行われる間（例えばＲＥＳＥＴ動作の後）、格納された構成データは、構成データを格納するメモリから読み出され、コントローラ５０６にロードされ得る。
【００２７】
図６は本開示の１つまたは複数の実施形態に係るメモリアレイ６０２（例えば図５のメモリアレイ５０２等）の構成６００を図示する。いくつかの可能な要因に応答して、図６のメモリアレイはユーザデータをアレイの第１部分６０４に格納し、ＥＣＣデータをアレイの第２部分６０６に格納するよう構成される。メモリアレイのＢＬＯＣＫ０〜ＢＬＯＣＫ９は図６でＤＡＴＡ０〜ＤＡＴＡ９として表示されるユーザデータを格納する。例えば、特定の用途は、ユーザデータが複数の群に格納され（例えばＤＡＴＡ０〜ＤＡＴＡ９）、各群が図６に示すようにメモリアレイのブロック全体を占める状態で、より効果的に動作し得る。各群のデータ（例えばＤＡＴＡ０〜ＤＡＴＡ９）は例えば整数個の等しいサイズの下位群のメモリを備え得る。メモリデバイスの各ダイは１つまたは複数のメモリセルブロックを備え得、そこで、例えば各メモリセルブロックはさらに１つまたは複数のページのメモリセルに配列され得、メモリセルの各ページはさらに１つまたは複数のセクタに配列され得る。
【００２８】
ＢＬＯＣＫ１０〜ＢＬＯＣＫ１１は、制御回路により、図６の特定のアレイ構成に対するＥＣＣデータ格納空間として割り当てられている。例えばＢＬＯＣＫ０〜ＢＬＯＣＫ９に格納されたユーザデータは、メモリアレイ６０２の部分６０６内のＥＣＣ格納エリアに格納された、関連付けられたＥＣＣデータを有し得る。例えばＢＬＯＣＫ１０に示すＥＣＣ０は、ＢＬＯＣＫ０に格納されたユーザデータＤＡＴＡ０に関連付けられたＥＣＣデータを格納し得る。ＥＣＣ１はＢＬＯＣＫ１に格納されたユーザデータＤＡＴＡ１に関連付けられたＥＣＣデータを格納し得、以下同様の格納が行われ得る。したがって、メモリアレイ６０２の第１部分６０４はユーザデータを排他的に格納するよう割り当てられ、アレイの第２部分６０６はアレイの第１部分に格納されたユーザデータに関連付けられたＥＣＣデータを排他的に格納するよう割り当てられていることが図６から見られ得る。
【００２９】
様々な実施形態によれば、各ＥＣＣデータ格納エリアのサイズ（例えば格納容量）はいくつかの要因に応じて変動され得る。１つまたは複数の実施形態によれば、ＥＣＣデータ格納エリアは、例えばＥＣＣデータＥＣＣ０〜ＥＣＣ７を格納する格納エリアが示すように、同一サイズであり得る。さらなる実施形態によれば、１つまたは複数のＥＣＣデータ格納エリアはサイズが異なり得る。ＥＣＣデータＥＣＣ０〜ＥＣＣ７を格納するＥＥＣデータ格納エリアのサイズはＥＣＣデータＥＣＣ８〜ＥＣＣ９を格納するＥＣＣデータ格納エリアのサイズと異なるものとして示される。例えば、より高レベルの信頼性が、メモリアレイ６０２のＢＬＯＣＫ８〜ＢＬＯＣＫ９に格納されるユーザデータＤＡＴＡ８〜ＤＡＴＡ９に対して望まれる場合がある。したがって、より大きいＥＣＣデータ格納エリアが、例えばユーザデータＤＡＴＡ８およびＤＡＴＡ９の所望レベルの信頼性を達成するために必要となるＥＣＣデータを格納するために、割り当てられ得る。ＥＣＣデータ格納エリアサイズの選択が変動し得るため、予備格納エリア６０８がメモリアレイのＥＣＣ割り当て部分６０６に存在してもよい。しかし本開示の１つまたは複数の実施形態に係るメモリアレイの異なる構成は、例えば図６に示す予備エリア６０８を必ずしも生じさせるとは限らない。
【００３０】
図７は本開示の１つまたは複数の実施形態に係るメモリアレイ７０２のさらなる構成７００を示す。図７のメモリアレイ７０２はオーバーヘッドデータ（例えばＥＣＣデータおよび／またはメタデータ）を格納するよう構成されたメモリアレイの部分７０６を備える。メモリアレイは、ユーザデータＤＡＴＡ０〜ＤＡＴＡ９と少なくともいくつかのＥＣＣデータＥＣＣ０〜ＥＣＣ９との両方を格納する部分７０４へとさらに構成される。
【００３１】
図７に示す構成によれば、各ブロックのユーザデータに対するＥＣＣデータの第１部分はそれぞれのブロックに格納され、ＥＣＣデータの第２部分はメモリアレイのＥＣＣ格納部分７０６に格納される。これは、例によってさらに説明することができる。特定用途におけるユーザデータ空間に対するサイズ要件は、ユーザデータＤＡＴＡ０〜ＤＡＴＡ９の１つまたは複数の群（例えば１つまたは複数のページ）が図７のメモリアレイの単一ブロックに格納されるよう選択され得る。ＥＣＣデータに対する特定の格納サイズ要件も決定され得る。しかし、各ブロックにおいて割り当てられたユーザデータ空間のサイズが選択された後、所望量のＥＣＣデータもまた格納するための十分なメモリ空間がブロックに残らない場合もある。したがって、本開示の１つまたは複数の実施形態によれば、各ブロックに収まらない各ブロックに対する残余のＥＣＣデータは、メモリアレイ７０６のＥＣＣ格納部分に格納される。例えば、ＥＣＣデータの第１部分ＥＣＣ０  ７１０は、対応するユーザデータＤＡＴＡ０とともにＢＬＯＣＫ０に格納され得る。次に、残余部分のＥＣＣデータＥＣＣ０  ７１２は、メモリアレイのＥＣＣ格納部分７０６に格納され得る。同様に、ＥＣＣ１データの第１部分はＢＬＯＣＫ１に格納され、ＥＣＣ１データの残余部分はメモリアレイのＢＬＯＣＫ１０に格納され、以下同様の格納が行われる。したがって、本開示の１つまたは複数の実施形態では、特定サイズのユーザデータを特定ブロックに格納すること、およびユーザデータに対するＥＣＣ空間要件を判定すること、が行われる。次に、関連付けられたブロックに収まらないＥＣＣデータは、例えばＥＣＣデータを格納するよう指定されたメモリアレイの他の部分７０６に格納され得る。これは、特定のブロックにおけるユーザデータメモリセルの最も効率的な構成を選択することにおける柔軟性を提供する。これは所望のＥＣＣデータ空間要件を選択することにおける柔軟性も提供する。
【００３２】
様々な実施形態によれば、図７に示すメモリアレイは、図６に示すメモリアレイと同一の物理的メモリアレイ（例えば同一のメモリデバイス）であり得る。例えば、メモリアレイが第１用途で利用される場合は、図６の構成が利用され得る。引き続き、例えば第１用途と異なるユーザデータ空間要件および／またはＥＣＣデータ空間要件を有する第２用途において同一メモリアレイを用いることが望まれる場合は、メモリアレイは図７に示す構成へと再構成され得る。
【００３３】
図８は本開示の１つまたは複数の実施形態に係るメモリアレイ８０２のさらなる構成８００を示す。図８のメモリアレイ８０２は、例えば図６に示すメモリアレイ６０２および図７に示すメモリアレイ７０２と同一の物理的メモリアレイであり得る。図８に示すメモリアレイ構成は図７に示すメモリアレイ構成と同様の構成を示す。しかし図８の構成は、図７に示す構成よりも、ブロック毎に、より小さいユーザデータ格納エリアおよびより大きいＥＣＣデータ格納エリアを示す。例えば、メモリアレイ８０２を備えるメモリデバイスは、図７に関して説明した事例よりもユーザデータ空間要件が小さい異なる用途で用いられ得る。したがって、各ブロックにおいてより大きい空間が、各ブロックに対して関係付けられたＥＣＣデータを格納するために利用できる。図７と同様に、ユーザデータを含むそれぞれのブロックに収まらないＥＣＣデータはメモリアレイのＥＣＣ部分８０６に格納され得る。例えば、メモリアレイ８０２の部分８０４に収まらないＥＣＣデータの残余部分（例えばＢＬＯＣＫ１０およびＢＬＯＣＫ１１に示すＥＣＣ０〜ＥＣＣ９）は図８に示すＥＣＣ部分８０６に逐次的に格納され得る。図８は、ＤＡＴＡ０のＥＣＣ０データの全部がＥＣＣデータ部分８０６に格納される一方で、残余のユーザデータ部分８０４は、ユーザデータと各ブロック（例えばＢＬＯＣＫ１〜ＢＬＯＣＫ９）に対するＥＣＣデータの少なくとも１部分との両方を含むことをさらに示す。
【００３４】
図９は本開示の様々な実施形態に係る他のメモリアレイ構成を示す。特定の用途に対しては、特定サイズの群にユーザデータを格納することが有利となる場合もある。しかしこの好適なサイズがメモリアレイの単一ブロックの容量を越える場合もある。したがって、図９に示す等の構成が用いられ得る。ユーザデータＤＡＴＡ０の第１部分９０４はメモリアレイ９０２のＢＬＯＣＫ０に格納される。ユーザデータＤＡＴＡ０の残余部分９０６はメモリアレイ９０２のＢＬＯＣＫ１に格納される。ＤＡＴＡ０に関連付けられたＥＣＣ０データ９０８は、ユーザデータＤＡＴＡ０の部分９０６に引き続いて格納される。次にユーザデータＤＡＴＡ１はＥＣＣ０データ９０８に引き続いて格納され得る。次に、ユーザデータＤＡＴＡ１の第１部分はＢＬＯＣＫ１に格納される一方で、ユーザデータＤＡＴＡ１の残余部分はＢＬＯＣＫ２に格納され、以下同様の格納が図９に示すように実行される。
【００３５】
図９は、メモリアレイのブロック毎のＥＣＣデータ空間が、関連付けられたユーザデータの所望の信頼性を獲得するために変動し得ることをさらに示す。例えば、ユーザデータＤＡＴＡ３〜ＤＡＴＡ６に対して特定のＥＣＣデータサイズを利用することが望まれる場合がある。しかし、例えば、より高い信頼性がユーザデータＤＡＴＡ７〜ＤＡＴＡ９に対して望まれる場合がある。したがって、例えばＢＬＯＣＫ９〜ＢＬＯＣＫ１１におけるＥＣＣデータ格納空間がＢＬＯＣＫ５〜ＢＬＯＣＫ８のＥＣＣデータ格納空間よりも大きいことがこの図面において見られ得る。１つまたは複数の実施形態によれば、メモリはＳＬＣおよびＭＬＣに構成されたメモリの組み合わせを利用するようさらに構成され得る。例えば、ＥＣＣデータがＳＬＣメモリとして構成されたメモリに格納され得る一方で、ユーザデータはＭＬＣメモリとして構成されたメモリに格納され得る。
【００３６】
本開示の様々な実施形態に係る異なるメモリアレイ構成を示す図６〜図９の全部がメモリデバイスにおける同一の物理的メモリアレイ（例えば図５に示すメモリアレイ５０２）の異なるメモリ構成を表し得ることに注意すべきである。例えば、メモリアレイ５０２が、最初、一つの特定用途のために構成され得る。後に、同一のメモリアレイが例えば異なる用途において用いられるよう再構成され得る。図５の制御回路５０６は、例えば図６〜図９に示す１つまたは複数の構成にメモリアレイを構成するために用いられる特定用途または特定構成に関する命令を受け取り得る。図６〜図９は、それぞれが２ブロックのメモリアレイを含む、メモリアレイのＥＣＣデータ部分６０６／７０６／８０６を示すことにも注意すべきである。しかし本開示の様々な実施形態は必ずしもそのように限定されるわけではない。例えば、第１用途は２ブロックを含むＥＣＣデータ部分を有するようメモリアレイを構成し得る。さらなる実施形態は、１ブロックのＥＣＣデータを含み、残余を、ユーザデータの格納のために、またはユーザデータおよびＥＣＣデータの格納のために利用するようメモリアレイを構成し得る。さらなる実施形態（例えば特定の所望レベルの信頼性を達成するためにより大量のＥＣＣデータ空間を要求する用途）はＥＣＣデータを格納する２つより多いブロックを備えるようメモリアレイを構成し得る。これらの構成は、例えばメモリデバイス内の複数のダイにまたがるよう割り当てられ得る。
【００３７】
図６〜図９に関するメモリの構成および割り当ては複数ブロックのメモリに関して説明されたが、本開示の様々な実施形態はメモリセルの他の論理的な群化を含み得る。例えば、図６〜図９に関して上述の構成及び割り当て方法は、複数ページのメモリセルに関してでも説明され得る。例えばメモリアレイ６０２／７０２／８０２／９０２は、これらの図面において特定メモリセルブロックの複数ページのメモリセルを表し得る。メモリアレイ６０２／７０２／８０２／９０２の各行は、例えば、１メモリセルブロック内の１ページのメモリセルを表し得る。
【００３８】
図１０は、本開示の１つまたは複数の実施形態に係る少なくとも１つのメモリデバイスを有する電子システムの機能ブロック図である。図１０に示すメモリデバイス１０００はメモリアクセスデバイス（例えばプロセッサ１０１０）に連結される。プロセッサ１０１０はマイクロプロセッサであってもよく、または例えば本開示の様々な実施形態に係る構成動作を少なくとも部分的に支援するよう構成され得るいくつかの他の種類の制御回路であってもよい。メモリデバイス１０００およびプロセッサ１０１０は電子システム１０２０の一部を構成する。本開示の１つまたは複数の実施形態によれば、メモリデバイス１０００は例えば図５に関して上述のメモリデバイス５００を含み得る。メモリデバイス１０００はメモリデバイスの特徴に集中するために簡略化されている。それにより本開示の様々な実施形態の理解が支援される。
【００３９】
メモリデバイス１０００は、行および列のバンクの形で論理的に配列され得る１つまたは複数のメモリアレイ１０３０を備える。１つまたは複数の実施形態によれば、メモリアレイ１０３０のメモリセルはフラッシュメモリセルである。メモリアレイ１０３０は、メモリデバイス１０００の一部として単一のまたは複数のダイ上に存在する複数のバンクおよびブロックのメモリセルを含み得る。メモリアレイ１０３０はＳＬＣおよび／またはＭＬＣメモリを含み得る。メモリアレイ１０３０は、変動する密度（例えばＭＬＣ（４レベル）およびＭＬＣ（８レベル））のデータをセルに格納するよう適合され得る。
【００４０】
アドレスバッファ回路１０４０が、アドレス入力配線Ａ０〜Ａｘ上で提供されるアドレス信号をラッチするために提供される。アドレス信号は、メモリアレイ１０３０にアクセスするために行デコーダ１０４４および列デコーダ１０４８により受信およびデコードされる。行デコーダ１０４４は例えばメモリアレイ１０３０のワード線を駆動するよう構成された駆動回路を備え得る。アドレス入力配線１０４２の本数がメモリアレイ１０３０の密度およびアーキテクチャに依存し得ることは本説明の利益により当業者により理解されるであろう。すなわち、アドレス桁数は、メモリセルの個数の増加およびバンクおよびブロックの個数の増加の両方とともに増加する。
【００４１】
メモリデバイス１０００は、センスデバイス（例えばセンス／データキャッシュ回路１０５０）を用いてメモリアレイの列における電圧または電流の変化を検知することにより、メモリアレイ１０３０におけるデータを読み出す。センス／データキャッシュ回路１０５０は、少なくとも１つの実施形態において、メモリアレイ１０３０からデータの行の読み出しおよびラッチを行うために連結される。データ入出力（Ｉ／Ｏ）バッファ回路１０６０が複数のデータ配線１０６２上でプロセッサ１０１０と双方向データ通信を行うために備えられる。書き込み／消去回路１０５６がメモリアレイ１０３０にデータを書き込むため、またはメモリアレイ１０３０からデータを消去するために、提供される。
【００４２】
制御回路１０７０は、本開示の様々な実施形態（例えば上述のメモリ構成動作の支援）を少なくとも部分的に実現するよう構成される。少なくとも１つの実施形態において、制御回路１０７０は状態マシンを利用し得る。制御回路１０７０は例えば図５に関して上述の制御回路５０６と構成面および機能面で同様であり得る。
【００４３】
制御信号およびコマンドはプロセッサ１０１０によりコマンドバス１０７２上でメモリデバイス１０００に送信され得る。コマンドバス１０７２は例えば離散信号であってもよく、または複数の信号から構成されてもよい。これらのコマンド信号１０７２はメモリアレイ１０３０上の動作（データ読み出し、データ書き込み（例えばプログラム）、および消去動作を含む）を制御するために用いられる。コマンドバス１０７２、アドレスバス１０４２、およびデータバス１０６２は、全部が組み合わされ、または一部が組み合わされて、いくつかの標準的なインターフェース１０７８を形成してもよい。例えば、メモリデバイス１０００とプロセッサ１０１０との間のインターフェース１０７８は汎用シリアルバス（ＵＳＢ）インターフェースであり得る。インターフェース１０７８は当業者に周知である多数のハードディスク装置とともに用いられる標準的なインターフェース（例えばＳＡＴＡ、ＰＡＴＡ）であり得る。
【００４４】
図１０に示す電子システムは、メモリの特徴の基本的理解を支援するために簡略化されたものであり、例示説明のみを目的とするものである。不揮発性メモリの内部回路および機能に関するさらに詳細な理解は当業者に周知である。
【００４５】
＜結論＞
要約すると、本開示の１つまたは複数の実施形態は、不揮発性メモリデバイスにおけるユーザデータメモリセルおよびオーバーヘッドデータメモリセルを構成する方法を提供する。これらの方法は、メモリデバイスの構成時に特定用途に対して割り当てられたメモリセルをより効率的に割り当てることを支援し得る。これらの方法は、メモリデバイスが用いられる特定用途が与えられた場合に必要となり得るよりも多くの予備メモリセルを割り当てることを顕著に低減することを支援する。特定のメモリデバイス用途に応答してメモリセルの割り当てを調整するこれらの方法のうちの１つまたは複数を利用することに起因する、より効果的なメモリデバイス動作も認識され得る。
【００４６】
本開示では特定の実施形態が例示および説明されたが、本開示で示された特定の実施形態に代わって他の構成が用いられ得ることが当業者には認識されるであろう。本開示の多数の改変例が当業者には明らかとなるであろう。したがって、本願は本開示の任意の改変例または変形を含むことを意図するものである。
【図１】
0005749860.tif 000002
【図２】
0005749860.tif 000003
【図３】
0005749860.tif 000004
【図４Ａ】
0005749860.tif 000005
【図４Ｂ】
0005749860.tif 000006
【図４Ｃ】
0005749860.tif 000007
【図４Ｄ】
0005749860.tif 000008
【図５】
0005749860.tif 000009
【図６】
0005749860.tif 000010
【図７】
0005749860.tif 000011
【図８】
0005749860.tif 000012
【図９】
0005749860.tif 000013
【図１０】
0005749860.tif 000014