(57)【要約】  ＭＢＣフラッシュメモリデバイスを、ＳＢＣ記憶モードまたはフルＭＢＣ記憶モード容量より少ない部分ＭＢＣ記憶モードでデータを記憶するように作業する方法とシステムである。フルＭＢＣ記憶モードで、複数ページのデータがメモリセルの物理行ごとに最初のページからＮ番目のページまで連続してプログラムされる。Ｎは物理行に記憶することができる総数である。メモリセルの物理行につきＮまでの仮想ページアドレスは、物理行におけるページの仮想位置を示すためにプログラムされる各々のページを伴う。ＳＢＣまたは部分ＭＢＣデータ記憶のために、フラッシュメモリコントローラは、各物理行のために最大Ｎより少ない仮想ページアドレスを使用して、ＭＢＣメモリデバイスにプログラムコマンドを発行する。ＭＢＣメモリデバイスは、物理行のために最後の受信した仮想ページアドレスまで、プログラミング作業を連続して実行する。【選択図】図１７
2014530421.tif 000002
【特許請求の範囲】
【請求項１】
物理行につきＮページまでのデータを記憶するように構成された、セルにつき複数ビット（ＭＢＣ）フラッシュメモリデバイスにプログラムする方法であって、Ｎは１より大きい整数であり、
前記フラッシュメモリデバイスの少なくとも１つの物理行を有する細別へ、複数ページのデータをプログラムするためのプログラムコマンドのグループを発行するステップであり、プログラムコマンドの前記グループは、前記少なくとも１つの物理行の各々に対応する、全ての可能な論理ページアドレスから選択された論理ページアドレスのサブセットをアドレス指定することに制限されたものである、ステップと、
前記プログラムコマンド中の論理ページアドレスの前記サブセットに応じて前記フラッシュメモリデバイスの前記少なくとも１つの物理行の各々へ、Ｎページ未満をプログラムするステップと、を含む、
方法。
【請求項２】
プログラムコマンドの前記グループを発行する前に、前記フラッシュメモリデバイスの各細別のための記憶モード情報を含むマッピングテーブルへアクセスするステップと、をさらに含む、
請求項１に記載の方法。
【請求項３】
前記マッピングテーブルへアクセスするステップは、
Ｎ未満のページのデータが物理行につき記憶される、部分ＭＢＣ記憶モードを有する前記細別を選択するステップを含む、
請求項２に記載の方法。
【請求項４】
前記部分ＭＢＣ記憶モードに対応する論理ページアドレスの前記サブセットを選択するステップと、をさらに含む、
請求項３に記載の方法。
【請求項５】
前記少なくとも１つの物理行の各々に対応する、全ての前記可能な論理ページアドレスは、下位ページアドレスから始まり上位ページアドレスで終わる、連続するページアドレスを含む、
請求項４に記載の方法。
【請求項６】
論理ページアドレスの前記サブセットは、前記下位ページアドレスから中間ページアドレスまでを含み、前記中間ページアドレスは、前記少なくとも１つの物理行の各々のための前記下位ページアドレスと前記上位ページアドレスとの間のアドレスである、
請求項５に記載の方法。
【請求項７】
論理ページアドレスの前記サブセットは、前記少なくとも１つの物理行の各々のための下位ページアドレスだけを含む、
請求項５に記載の方法。
【請求項８】
前記発行するステップは、前記複数ページのデータの１つのページと、論理ページアドレスの前記サブセットのうちの１つとを、各々が含む、プログラムコマンドパケットを反復して提供するステップを含む、
請求項５に記載の方法。
【請求項９】
前記発行するステップは、前記複数ページのＭページのデータをプログラムするためのＭプログラムコマンドパケットを、前記フラッシュメモリデバイスの１つの物理行へ提供するステップであり、ＭはＮ未満の整数値であるステップを含む、
請求項８に記載の方法。
【請求項１０】
前記発行するステップは、前記複数ページのデータの１つのページを、前記フラッシュメモリデバイスの１つの物理行へプログラムするための、１つのプログラムコマンドパケットを反復して提供するステップを含む、
請求項８に記載の方法。
【請求項１１】
プログラムの前記グループを発行する前に、部分ＭＢＣ記憶モードで前記複数ページのデータをプログラムする、ホストリクエストを受信するステップと、をさらに含む、
請求項１に記載の方法。
【請求項１２】
プログラムの前記グループを発行する前に、フルＭＢＣ記憶モードで前記複数ページのデータをプログラムする、ホストリクエストを受信するステップと、をさらに含む、
請求項１に記載の方法。
【請求項１３】
前記細別のためのＭＢＣプログラム／消去サイクルの最大数に到達したことを決定するステップと、を含む、
請求項１２に記載の方法。
【請求項１４】
前記フルＭＢＣ記憶モードで前記複数ページのデータをプログラムするために構成された別の細別を選択するステップと、
前記細別を前記部分ＭＢＣ記憶モードにセットするステップと、をさらに含む、
請求項１３に記載の方法。
【請求項１５】
前記フルＭＢＣ記憶モードは、セルにつき２ビット記憶モードを含み、前記部分ＭＢＣ記憶モードは、セルにつき１ビット記憶モードを含む、
請求項１４に記載の方法。
【請求項１６】
メモリデバイスの各々の物理行に対応する全ての可能な論理ページアドレスから選択された論理ページアドレスのサブセットをアドレス指定することに制限されたプログラムコマンドを発行するように構成されたメモリコントローラを含むシステムであって、
前記メモリデバイスは、
物理行につき最大Ｎページのデータを保存し、Ｎは１より大きい整数であり、前記プログラムコマンドの中の論理ページアドレスの前記サブセットが前記メモリコントローラから受信されたことに応じて、物理行につきＮページ未満でプログラムするように構成された、セルにつき複数ビット（ＭＢＣ）メモリデバイスを備えた、
システム
【請求項１７】
前記メモリコントローラは、前記メモリデバイスの細別に対応するメタデータを記憶するためのマッピングテーブルを含む、
請求項１６に記載のシステム。
【請求項１８】
前記マッピングテーブルは、前記細別の各々のための記憶モード情報を含むように構成された、
請求項１７に記載のシステム。
【請求項１９】
前記マッピングテーブルは、前記細別の各々のための前記記憶モードに関連したアドレス結合情報を含むように構成された、
請求項１８に記載のシステム。
【請求項２０】
前記メモリコントローラは、前記マッピングテーブルにアクセスし、前記マッピングテーブルの前記メタデータに応じて前記プログラムコマンドを供給する、コントロール回路を含む、
請求項１９に記載のシステム。
【請求項２１】
前記プログラムコマンドの各々は、ページのデータと、前記メモリデバイスの細別と前記細分内の物理行とを選択するためのアドレス情報と、前記物理行の中にプログラムされた前記ページのデータのための論理ページアドレスと、を含む、
請求項２０に記載のシステム。
【請求項２２】
前記メモリデバイスは、物理行につき最大Ｎ＝２ページを記憶するように構成されており、物理行につき前記２ページの各々は上位ページアドレスと下位ページアドレスとによってアドレス指定可能である、
請求項２１に記載のシステム。
【請求項２３】
前記上位ページアドレスは第１の最下位ビットを有し、前記下位ページアドレスは前記第１の最下位ビットと異なる第２の最下位ビットを有する、
請求項２２に記載のシステム。
【請求項２４】
前記メモリデバイスの前記細分は、メモリブロックを含む、
請求項１７に記載のシステム。
【請求項２５】
前記メモリデバイスの前記細分は、メモリブロックのサブブロックを含む、
請求項１７に記載のシステム。
【請求項２６】
前記メモリデバイスの前記細分は、メモリブロックの物理行を含む、
請求項１７に記載のシステム。
【請求項２７】
セルにつきＮビットまで記憶するように構成された、セルにつき複数ビット（ＭＢＣ）フラッシュメモリデバイスにプログラムする方法であって、Ｎは１より大きい整数であり、
データページへプログラムするためのホストリクエストを受信するステップと、
Ｎ未満の仮想的にアドレス可能なデータページが前記フラッシュメモリデバイスの物理行の各々に記憶される、部分ＭＢＣ記憶モードでプログラムされる前記データページを決定するステップと、
前記部分ＭＢＣ記憶モードで形成された前記ＭＢＣフラッシュメモリデバイスの細別を選択する、前記フラッシュメモリデバイスのためのメタデータを含むマッピングテーブルをアクセスするステップと、
各々の物理行へのページをプログラムするための、Ｎ未満の可能な仮想ページアドレスのサブセットに制限された仮想ページアドレスを使用して、前記細別へ前記データページをプログラムするための少なくとも１つのプログラムコマンドを発行するステップと、
を含む、
方法。
【請求項２８】
Ｎ＝２であり可能な仮想ページアドレスは、下位ページアドレスと上位ページアドレスとを含み、
前記発行するステップは、各々がデータページと下位ページアドレスとを含むプログラムコマンドを反復して発行することを含む、
請求項２７に記載の方法。
【請求項２９】
Ｎ＞２であり可能な仮想ページアドレスは、下位ページアドレスと、上位ページアドレスと、前記下位ページアドレスと前記上位ページアドレスとの間の、少なくとも１つの中間ページアドレスと、を含み、
前記発行するステップは、データページと、前記下位ページアドレスと前記少なくとも１つの中間ページアドレスとのうちの1つとを、各々が含む、プログラムコマンドを反復して発行することを含む、
請求項２７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に不揮発性メモリに関する。
【背景技術】
【０００２】
フラッシュメモリは、家庭用電気製品、例えばデジタルカメラや携帯用デジタル音楽プレーヤー用の大容量記憶装置として広範囲に使用される、一般的に用いられる種類の不揮発性メモリである。現在利用できるフラッシュメモリチップの密度は、数ギガバイト（ＧＢ）サイズが可能である。それは、１つのフラッシュチップのサイズが小さいので、人気のＵＳＢフラッシュドライブの使用に適している。フラッシュメモリのもう一つの新たな適用は、ラップトップとデスクトップ・コンピュータで使われる、従来のハードディスク装置を置き換えるための半導体ドライブである。
これらのアプリケーションは、寿命が制限されたマルチレベルセル（ＭＬＣ）フラッシュデバイスを一般的に使用する。他タイプフラッシュメモリのシングルレベルセル（ＳＬＣ）フラッシュデバイスは、信頼できるデータ記憶のためのアプリケーションでも使用される。ＳＬＣフラッシュデバイスの欠点は、ＭＬＣフラッシュデバイスと比較するとコストである。
【０００３】
＜関連出願の相互参照＞
本出願は、2011年9月23日出願の米国仮特許出願第61/538,540号および2012年4月25日出願の米国特許出願第13/455,780号の利益を主張するものであり、これらの内容は全て参照によってここに取り入れられる。
【発明の概要】
【課題を解決するための手段】
【０００４】
第１の面は、物理行につきＮページまでのデータを記憶するように構成された、セルにつき複数ビット（ＭＢＣ）フラッシュメモリデバイスにプログラムする方法が提供される。ここでＮは１より大きい整数である。
本方法は、フラッシュメモリデバイスの少なくとも１つの物理行を有する細別へ、複数ページのデータをプログラムするのためのプログラムコマンドのグループを発行するステップで構成される。プログラムコマンドのグループは、少なくとも１つの物理行の各々に対応する、全ての可能な論理ページアドレスから選択された論理ページアドレスのサブセットをアドレス指定することに制限される。
本方法は、プログラムコマンド中の論理ページアドレスのサブセットに応じてフラッシュメモリデバイスの少なくとも１つの物理行の各々へ、Ｎページ未満をプログラムするステップを更に含む。
本実施形態によると、本方法は、プログラムコマンドのグループを発行する前に、フラッシュメモリデバイスの各細分のための記憶モード情報を含むマッピングテーブルへアクセスするステップを更に含む。ここで、マッピングテーブルへアクセスするステップは、Ｎ未満のページのデータが物理行につき記憶される、部分ＭＢＣ記憶モードを有する細分を選択するステップを含む。
【０００５】
本方法は、部分ＭＢＣ記憶モードに対応する論理ページアドレスのサブセットを選択するステップをさらに含むことができる。少なくとも１つの物理行の各々に対応する、全ての可能な論理ページアドレスは、下位ページアドレスから始まり上位ページアドレスで終わる、連続するページアドレスを含む。
論理ページアドレスのサブセットは、下位ページアドレスから中間ページアドレスまでを含み、中間ページアドレスは、少なくとも１つの物理行の各々のための下位ページアドレスと上位ページアドレスの間のアドレスである。
あるいは、論理ページアドレスのサブセットは、少なくとも１つの物理行の各々のための下位ページアドレスだけを含むことができる。
【０００６】
第１の面のもう一つの具体化で、発行するステップは、複数ページのデータの１つのページと、論理ページアドレスのサブセットのうちの１つとを各々が含む、プログラムコマンドパケットを反復して提供するステップと、複数ページのＭページのデータをプログラムするためのＭプログラムコマンドパケットを、フラッシュメモリデバイスの１つの物理行へ提供するステップを含む。ここでＭはＮより少ない整数値である。
あるいは、発行するステップは、複数ページのデータの１つのページをフラッシュメモリデバイスの１つの物理行へプログラムするための、１つのプログラムコマンドパケットを反復して提供するステップを含む。
【０００７】
第１の面のさらなる具体化で、本方法は、プログラムのグループを発行する前に、部分ＭＢＣ記憶モードで複数ページのデータをプログラムする、ホストリクエストを受信するステップをさらに含む。
他の具体化で、本方法は、プログラムのグループを発行する前に、フルＭＢＣ記憶モードで複数ページのデータをプログラムする、ホストリクエストを受信するステップ、細別のためのＭＢＣプログラム／消去サイクルの最大数に到達したことを決定するステップ、フルＭＢＣ記憶モードで複数ページのデータをプログラムするために構成された別の細別を選択するステップと、細別を部分ＭＢＣ記憶モードにセットするステップ、をさらに含む。
この具体化で、フルＭＢＣ記憶モードは、セルにつき２ビット記憶モードを含み、部分ＭＢＣ記憶モードは、セルにつき１ビット記憶モードを含む。
【０００８】
第２の面では、メモリコントローラを含むシステムが提供される。
メモリコントローラは、メモリデバイスの個々の物理行に対応する全ての可能な論理ページアドレスから選択された論理ページアドレスのサブセットをアドレス指定することに制限されたプログラムコマンドを発行するように構成される。
メモリデバイスは、物理行につき最大Ｎページのデータを保存し、Ｎは１より大きい整数であり、プログラムコマンドの中の論理ページアドレスのサブセットがメモリコントローラから受信されたことに応じて、物理行につきＮページ未満でプログラムするように構成された、セルにつき複数ビット（ＭＢＣ）メモリデバイスを含む。
本具体化では、メモリコントローラは、メモリデバイスの細別に対応するメタデータを記憶するためのマッピングテーブルを含む。ここでマッピングテーブルは、細別の各々のための記憶モード情報と、細別の各々のための記憶モードに関連したアドレス結合情報を含むように構成される。
【０００９】
本具体化では、メモリコントローラは、マッピングテーブルにアクセスし、マッピングテーブルのメタデータに応じてプログラムコマンドを供給する、コントロール回路を含む。
プログラムコマンドの各々は、ページのデータと、メモリデバイスの細別と細分内の物理行とを選択するためのアドレス情報と、物理行の中にプログラムされたページのデータのための論理ページアドレスと、を含む。
本具体化では、メモリデバイスは、物理行につき最大Ｎ＝２ページを記憶するように構成されており、物理行につき２ページの各々は上位ページアドレスと下位ページアドレスとによってアドレス指定可能である。ここで、上位ページアドレスは第１の最下位ビットを有し、下位ページアドレスは第１の最下位ビットと異なる第２の最下位ビットを有する。
第２の面のさらなる具体化によると、メモリデバイスの細分は、メモリブロックと、メモリブロックのサブブロックと、メモリブロックの物理行を含む。
【００１０】
第３の面では、セルにつきＮビットまで記憶するように構成された、セルにつき複数ビット（ＭＢＣ）フラッシュメモリデバイスにプログラムする方法が提供される。Ｎは１より大きい整数である。
本方法は、データページへプログラムするためのホストリクエストを受信するステップと、Ｎ未満の仮想的にアドレス可能なデータページがフラッシュメモリデバイスの物理行の各々に記憶される、部分ＭＢＣ記憶モードでプログラムされるデータページを決定するステップと、部分ＭＢＣ記憶モードで形成されたＭＢＣフラッシュメモリデバイスの細別を選択する、フラッシュメモリデバイスのためのメタデータを含むマッピングテーブルをアクセスするステップと、各々の物理行へのページをプログラムするための、Ｎ未満の可能な仮想ページアドレスのサブセットに制限された仮想ページアドレスを使用して、細別へデータページをプログラムするための少なくとも１つのプログラムコマンドを発行するステップと、を含む、
この第３の面では、Ｎ＝２であり可能な仮想ページアドレスは、下位ページアドレスと上位ページアドレスとを含み、発行するステップは、各々がデータページと下位ページアドレスとを含むプログラムコマンドを反復して発行することを含む。
また、Ｎ＞２であり可能な仮想ページアドレスは、下位ページアドレスと、上位ページアドレスと、下位ページアドレスと上位ページアドレスとの間の、少なくとも１つの中間ページアドレスと、を含み、発行するステップは、データページと、下位ページアドレスと少なくとも１つの中間ページアドレスとのうちの1つとを、各々が含む、プログラムコマンドを反復して発行することを含む。
【００１１】
上述した具体化のその他の面と特徴は、添付の図面と併せて、以下の発明を実施するための形態の記載を参照することで、当業者にとって明らかになるであろう。
【図面の簡単な説明】
【００１２】
実施形態は、添付された図を参照して、例としてのみ記載する。
【００１３】
【図１】本発明が適用できる、フラッシュメモリデバイスのブロック図である。
【図２】図１のフラッシュメモリデバイスの１つのメモリーバンクの組織を表す概略図である。
【図３】フラッシュメモリセルの行にページのデータをマッピングするシングルビットセル（ＳＢＣ）を表す、概要の回路である。
【図４】ＳＢＣデータ記憶のための閾電圧分布のグラフである。
【図５】フラッシュメモリセルの行に２ページのデータをマッピングする複数ビットセル（ＭＢＣ）を表す、概要の回路である。
【図６】２ビットのＭＢＣデータ記憶のための閾電圧分布のグラフである。
【図７】フラッシュメモリセルの行に３ページのデータをマッピングするＭＢＣを表す、概要の回路である。
【図８】３ビットのＭＢＣデータ記憶のための閾電圧分布のグラフである。
【図９】本発明の１つの実施例による、フラッシュメモリシステムのブロック図である。
【図１０】本発明のもう一つの実施例による、フラッシュメモリシステムのブロック図である。
【図１１】物理行に仮想ページアドレスのマッピングする一例を示すテーブルである。
【図１２Ａ】２ビットのＭＢＣプログラミングシーケンスのための閾電圧分布のグラフである。
【図１２Ｂ】２ビットのＭＢＣプログラミングシーケンスのための閾電圧分布のグラフである。
【図１３Ａ】２ビットのＭＢＣプログラミングシーケンスのための電圧閾値分布のグラフである。
【図１３Ｂ】２ビットのＭＢＣプログラミングシーケンスのための電圧閾値分布のグラフである。
【図１３Ｃ】２ビットのＭＢＣプログラミングシーケンスのための電圧閾値分布のグラフである。
【図１４】本発明の１つの実施例による、２ビットのＭＢＣメモリデバイスのためにＳＢＣプログラム作業の例を示している図である。
【図１５】本発明の１つの実施例による、３ビットのＭＢＣメモリデバイスのために２ビットＭＢＣプログラム作業の例を示している図である。
【図１６】本発明の１つの実施例による、メモリコントローラに保存されるマッピングテーブルの例と共に、ＮビットＭＢＣフラッシュメモリコントローラの例を示している図である。
【図１７】本発明の１つの実施例による、ＭＢＣメモリデバイスにプログラミングコマンドを発行するためにメモリコントローラを操作する方法のフローチャートである。
【図１８】メモリコントローラから受け取られるプログラミングコマンドに応じてＭＢＣメモリデバイスを操作する方法のフローチャートである。
【図１９】メモリシステムの詳細な作業の一例の方法を示しているフローチャートである。
【発明を実施するための形態】
【００１４】
図１は、本発明の実施例を適用できる、典型的なフラッシュメモリデバイスを表す。
図１を参照すると、フラッシュメモリデバイス１０は、入出力インタフェース回路と、コントロール回路と、メモリ回路と、メモリアレイと、を含む。フラッシュメモリデバイス１０の入出力インタフェース回路は、ＲＥＡＤＹ／ＢＵＳＹ信号バッファ１２と、コントロール信号バッファ１４と、グローバルデータバッファ１６と、を含む。
特定の例として、ＲＥＡＤＹ／ＢＵＳＹ信号バッファ１２は、それぞれのピンまたはポートを経由してＲＥＡＤＹ／ＢＵＳＹ信号であるＲ／Ｂ＃を駆動する出力バッファである。
コントロール信号バッファ１４は、対応するピンまたはポートから、フラッシュメモリ制御信号ＣＥ＃、ＣＬＥ、ＡＬＥ、ＷＥ＃、ＲＥ＃、ＷＰ＃を受信する入力バッファである。
「＃」で終わっている信号名は、アクティブ低（ロー）レベル信号としてこれから先理解すべきである。ここでアクティブ低信号は、たとえば論理レベル「０」、またはＶＳＳ電圧レベルと対応する。これとは対照的に、アクティブ高（ハイ）の論理レベルの信号はたとえば論理レベル「１」、またはＶＤＤまたはＶＣＣ電圧レベルと対応する。
次に、前述したコントロール信号の短い説明をする。
・コマンド・ラッチ・イネーブル（ＣＬＥ）：ＣＬＥ入力信号は、オペレーションモードコマンドを内部コマンドレジスタにロードする制御をするために用いられる。ＣＬＥがハイである間、コマンドはＷＥ＃信号の立ち上がりエッジでＩ／Ｏポートからコマンドレジスタへラッチされる。
・アドレス・ラッチ・イネーブル（ＡＬＥ）：ＡＬＥ信号は、アドレス情報を内部のアドレスレジスタにロードする制御をするために用いられる。ＡＬＥがハイである間、アドレス情報はＷＥ＃信号の立ち上がりエッジでＩ／Ｏポートからアドレスレジスタへラッチされる。
・チップ・イネーブル（ＣＥ＃）：デバイスがＲＥＡＤＹ状態にある間にＣＥ＃がハイになったとき、デバイスは低出力スタンバイモードになる。プログラム、消去、読出しの作業中のような、デバイスがＢＵＳＹ状態（Ｒ／Ｂ＃＝低）の場合、ＣＥ＃信号は無視され、ＣＥ＃入力がハイに移行してもスタンバイモードに入らない。
・ライト・イネーブル（ＷＥ＃）：ＷＥ＃信号は、Ｉ／Ｏポートからデータの取得を制御するのに用いられる。
・リード・イネーブル（ＲＥ＃）：ＲＥ＃信号は、シリアルデータ出力を制御する。データはＲＥ＃信号の立下りエッジのあとで利用可能になる。内部コラムアドレスカウンタもこの立下りエッジでインクリメント（アドレス＝アドレス＋１）される。
・Ｉ／Ｏポート（Ｉ／Ｏ  ０から７）：Ｉ／Ｏの０から７ピンは、デバイスへおよびデバイスから、アドレス、コマンド、入力／出力データを転送するためのポートとして用いられる。
・ライト・プロテクト（ＷＰ＃）：ＷＰ＃信号は、デバイスを予想外のプログラミングまたは消去から保護するのに用いられる。ＷＰ＃がローであるとき、内部の電圧調整器（高電圧発生器）はリセットされる。入力された信号が無効であるとき、電源のオン／オフシーケンスの間、この信号はデータを保護するために通常使われる。
・ＲＥＡＤＹ／ＢＵＳＹ（Ｒ／Ｂ＃）：Ｒ／Ｂ＃はオープンドレインのピンであり、出力信号はデバイスの作動状態を示すのに用いられる。Ｒ／Ｂ＃信号は、プログラム、消去、読出し作業の間、ＢＵＳＹ状態（Ｒ／Ｂ＃＝Ｌ）にあって、作業の完了後、ＲＥＡＤＹ状態（Ｒ／Ｂ＃＝Ｈ）に戻る。
【００１５】
グローバルデータバッファ１６は、それぞれの入出力（Ｉ／Ｏ）ピンまたはポートにおいて、ライトデータを受信し、リードデータを提供する、双方向性バッファである。フラッシュメモリデバイス１０はＩ／Ｏ０からＩ／Ｏ７の８つのそのようなポートを持つことが示されるが、交互のデータ幅構成で８を超えるまたは８未満を備えることができる。これらのＩ／Ｏポートはアドレスとコマンド情報を受信するためにも使われる。
【００１６】
フラッシュメモリデバイス１０のコントロール回路は、コントローラ１８と、コマンドレジスタ２０と、アドレスレジスタ２２と、ステータスレジスタ２４と、を含む。
コントローラ１８は、フラッシュメモリデバイス１０の中の他の回路のいろいろな機能を制御する。たとえば、そのような機能は、読み出しと、プログラムと、プログラムの検証とを含む。図示されてはいないが、コントローラ１８は、受信されたコマンドに応じて機能を実行するために、コマンドデコーダを含むことができる。
レジスタ２２、２４はフラッシュメモリデバイス１０で受信される情報、または、たとえばメモリコントローラ（図示せず）を含む外部ホストシステム（図示せず）へ供給される情報のタイプを保存する。記述されたレジスタは包括的であることを意味するものではなく、データレジスタのような他のレジスタを含む。
【００１７】
主にコントローラ１８で制御された回路は、行と列プレデコーダ２６、２８と、行と列デコーダ３０、３２と、を含むメモリ回路と、センスアンプ＆ページバッファブロック３４と、高電圧発生器３６と、を含む。
フラッシュメモリデバイス１０のメモリセルアレイ３８は、ビットラインに接続しているＮＡＮＤ型セルストリングを含む。ＮＡＮＤ型セルストリングの各々のメモリセルは、ワードラインに接続されている。ＮＡＮＤ型セルストリングのさらなる詳細は、後で図３に示される。
行プレデコーダ２６と、行デコーダ３０と、高電圧発生器３６とは、デフォルト消去電圧閾値から望ましい電圧値へ、接続されたメモリセルの閾電圧を有効に移行する高電圧で選択されたワードラインを駆動するために、プログラミング作業で制御される。
高電圧がそれらの閾電圧値をデフォルト値へ移すことによってメモリセルを消去するためにメモリアレイ３８で使われることがある点に留意する。
高電圧の異なる組合せと高電圧の実用時間は、特定の閾電圧値をフラッシュメモリセルに設定するのに用いられることができる。 特定の閾電圧値をプログラムするための組合せは、プログラミング・プロフィールと呼ばれることがある。
ページバッファ３４は、選択されたワードラインに接続しているセルに、プログラムされる１ページのデータを保存する。
通常、ビットラインに接続しているメモリセルは、ビットラインがバイアスされているか、または設定されている、論理値によって、プログラムされることから禁止されているか、選択されたワードラインを経由してプログラムするために許可されている。
ページバッファに保存されるデータビットは、ビットラインをバイアスするのに用いられる。
メモリセルアレイ３８は任意の数のバンクを有する。それは特定のフラッシュデバイスのための選択されたデザイン・パラメータである。
【００１８】
図２は、図１のメモリセルアレイ３８の１つのバンク４０の組織を表す。バンク４０はｋブロックに組織され、各々のブロックはｉページを有する。ｋもｉも整数値である。各々のページは、共通のワードラインに結合するメモリセルの行と対応する。
【００１９】
各々のブロックはＮＡＮＤ型メモリセルストリングを含み、シリアルに整列され、互いに電気的に結合された、ｉまでのフラッシュメモリセル４２を有する。したがって、ワードラインＷＬ１〜ＷＬｉは、メモリセルストリングの中の各々のフラッシュメモリセルのゲートに結合されている。
信号ＳＳＬ（ストリング選択ライン）に結合されたストリング選択デバイス４４は、メモリセルストリングをビットライン４６へ選択的に接続する。一方、信号ＧＳＬ（グランド選択ライン）に結合されたグランド選択デバイス４８は、メモリセルストリングをＶＳＳのようなソース線へ選択的に接続する。ストリング選択デバイス４４と、グランド選択デバイス４８とは、Ｎチャンネル型トランジスタである。
【００２０】
バンク４０のすべてのブロックに共通のｊビットライン４６がある。各々のビットライン４６は、ブロック［１］から［ｋ］の各々で、１つのＮＡＮＤ型メモリセルストリングに結合される。可変的な値ｊは整数値である。
各々のワードライン（ＷＬ１からＷＬｉ）と、ＳＳＬ信号と、ＧＳＬ信号とは、ブロックの中で各々のＮＡＮＤ型メモリセルストリングで同じ対応するトランジスタデバイスに結合する。当業者は、１つワードラインに沿ってフラッシュメモリセルに記憶されるデータは、ページのデータと呼ばれることを理解すべきである。
【００２１】
バンク４０の外側の各々のビットラインに結合されているのは、プログラムされるライトデータの１ページを、フラッシュメモリセルの１ページへ保存するための、ページバッファ５０である。
ページバッファ５０は、図１に示されるセンスアンプ＆ページバッファブロック３４と対応する。したがって、ページバッファ５０も、１ページのフラッシュメモリセルから読み込まれるデータを感知するために、センス回路を含む。
プログラミング作業の間、ページバッファは、データが、選択されたワードラインに結合するフラッシュメモリセルに適切にプログラムされたことを保証するために、プログラム検証作業を実行する。
ブロックの中のプログラミングは、通常はＷＬ１と対応するページから開始して、現在のブロックを満たすために、ＷＬｉまで連続して進行する。あるいは、プログラミングはＷＬｉから開始して、逆方向に連続してＷＬ１まで進行してもよい。その結果、プログラミングは新しいブロックのＷＬ１と共に続ける。
【００２２】
フラッシュメモリ１０は、データを２つの異なる方法のうちの１つで記憶するように構成することができる。データは、シングルビットセル（ＳＢＣ）記憶モードまたはマルチビットセル（ＭＢＣ）記憶モードで保存することができる。ＳＢＣ記憶モードでは、厳密に１ビットの情報は、２つの可能性がある状態のうちの１つを表すために、１つのセルに保存される。ＭＢＣ記憶モードでは、少なくとも２ビットは、４つの可能性がある状態のうちの１つを表すために、1つのセルに保存される。
【００２３】
図３は、図２の同じ２つのＮＡＮＤ型セルストリングを、フラッシュメモリデバイスで構成されたＳＬＣに保存されたページのデータを説明する助けとなる、さらなる注釈と共に、示す。
例えばＷＬ１のようなワードラインである、同じ物理ワードラインに、接続されたメモリセルの各々は、１ページのデータの１ビットのデータを保存する。したがって、図３で示すように、物理ワードラインＷＬ１に接続しているセルには「ページ１」が保存され、一方、最後の物理ワードラインＷＬｉに接続しているセルには「ページｉ」が保存される。
【００２４】
図４は、ＳＢＣ記憶モードにおいてプログラムされたメモリセルと、消去されたメモリセルとへの、閾電圧（Ｖｔ）分布を表す。プロセスと電圧供給バリエーションのために、消去され、またはプログラムされた閾電圧は、電圧範囲内に分布している。
図３で示すように、消去されたメモリセルには−３Ｖ〜−１Ｖの間の負符号の閾電圧があり、一方、プログラムされたメモリセルには１Ｖと３Ｖの間の正符号の閾電圧がある。その範囲は、メモリセルのために望ましい閾電圧に依存する。
閾電圧範囲は、特定のフラッシュメモリデバイスに使用されることがある可能な閾電圧の実例である。しかしながら、消去されたメモリセルとプログラムされたメモリセルに使用するための閾電圧の選択は、フラッシュメモリデバイスの設計と製造プロセスに依存することを、当業者は理解すべきである。当業者は、異なるフラッシュデバイスが特定のデザインまたはアプリケーションに合うために異なる閾電圧範囲を有することを理解するであろう。
【００２５】
図５は、図３の回路と同一の回路を表すが、２ビットのデータが、フラッシュメモリデバイスで構成されたＭＬＣセルにつき２ビットのために、各々のメモリセルに保存されることを除く。したがって、各々の物理ワードラインは、２ページのデータを記憶する。図５で示すように、ＷＬ１によってアドレスされる物理行は、論理ページ１と、ページ２とを、記憶する。最後のワードラインＷＬｉはページ２ｉとページ２ｉ−１とを記憶する。ここで「ｉ」は整数値である。
【００２６】
図６は、各々のメモリセルに保存されることができる、可能な状態の閾電圧分布のグラフと、各々の状態が表す、対応する２ビットの組合せと、を示す。
【００２７】
図７は、図３の回路と同一の回路を表すが、３ビットのデータが、フラッシュメモリデバイスで構成されたＭＬＣセルにつき３ビットのために、各々のメモリセルに保存されることを除く。したがって、各々の物理ワードラインは、３ページのデータを記憶する。図７で示すように、ＷＬ１によってアドレスされる物理行は、論理ページ１と、ページ２と、ページ３とを、記憶する。
最後のワードラインＷＬｉは、ページ３ｉと、ページ３ｉ−１と、ページ３ｉ−２とを記憶する。ここで「ｉ」は整数値である。ページ３ｉと、ページ３ｉ−１と、ページ３ｉ−２とが、それぞれ、各々のワードラインのために上位ページ、中間ページ、下位ページのページ番号を表すための一般的な数学的表現である点に注意する。
【００２８】
図８は、各々のメモリセルが可能な３ビットの組み合わせを表す、各々のメモリセルに保存されることができる、可能な状態の閾電圧分布のグラフを示す。
【００２９】
データをＭＢＣ記憶モード（１セルにつき２ビット以上）に保存することの利点は、セルの同じ数を使うとき、ＳＢＣ記憶モードより少なくとも２倍の記憶容量があることである。
一般的に、フラッシュメモリメーカーは、フラッシュメモリデバイス１０へ構成するための製造プロセスの間、ＳＢＣに特有のアルゴリズムかＭＢＣに特有のアルゴリズムを実行するために、マスクオプションを適用する。フラッシュ回路はＳＢＣとＭＢＣのリードとプログラムの作業で異なって制御されるからである。
【００３０】
フラッシュメモリデバイスが確実にデータを保存するために使用されることがこれ以上できない前に、フラッシュメモリデバイスが限られた数の消去プログラムサイクルを有することは、よく知られている。たとえば、現在のＳＢＣフラッシュメモリのための、典型的な評価された消去プログラムサイクルは、およそ１００，０００サイクルである。
しかし、現在のＭＢＣフラッシュメモリは、セルがより高いストレスを受けるという事実のために、１０，０００サイクルより低く評価された制限がある。
上述した消去プログラムサイクル制限は例示のみである。しかし、ＭＢＣフラッシュメモリデバイスが、フラッシュメモリデバイスを構成したＳＢＣより、かなり低い消去プログラムサイクルを備えていることは、十分理解されている。
【００３１】
ＭＢＣフラッシュメモリが大部分の消費者向けアプリケーションにふさわしい一方、１０，０００サイクルのプログラム−消去制限は、データのプログラミングと消去が頻繁であるか、データが極めて重要である、他のアプリケーションには不十分であるかもしれない。それゆえに、この問題は、より頻繁なプログラム−消去サイクルがある、ＨＤＤアプリケーションのような市販アプリケーションにはより重大である。
ＨＤＤアプリケーションが、大部分の消費者向けアプリケーションより高いデータ保全性を必要とするので、ＭＢＣフラッシュメモリは、その比較的短い１０，０００サイクルの寿命のために、使用に適していない。
特別の二重モードＳＢＣ／ＭＢＣフラッシュメモリデバイスは、作業モードが静的にセットされたか、オンザフライで動的に変更された場合で提案されている。異なるコマンドセット及び／または論理回路は、そのような二重モードデバイスのために必要とされる。
【００３２】
高い信頼性を必要としている顧客は、より高いコストデバイスの代金を払う、とベンダーが認めているので、結局は、ＳＢＣフラッシュメモリデバイスのコストは、より高い密度ＭＢＣフラッシュメモリデバイスのコストを現在は超える。特別の二重モードＳＢＣ／ＭＢＣフラッシュメモリデバイスは、ＭＢＣフラッシュメモリデバイスより多くのコストがかかるかもしれない。
【００３３】
したがって、ＭＢＣフラッシュメモリデバイスがデータをＳＢＣ記憶モードで保存するために使用できる、低コスト・フラッシュメモリシステムを提供することは、望ましい。
【００３４】
一般に、少なくともいくつかの具体例は、ＳＢＣ記憶モードまたは、フルＭＢＣ記憶モード能力より少ない部分ＭＢＣ記憶モードで、データを保存するために、フラッシュメモリデバイスで構成されたＭＢＣを制御するための方法とシステムを提供する。
フルＭＢＣ記憶モードでは、ページのデータはメモリセルの物理行ごとに最初のページからＮ番目のページまで連続してプログラムされる。ここでＮは、物理行を保存できるページの総数である。メモリセルの物理行につきＮまでの仮想ページアドレスは、物理行におけるページの仮想位置を指定するためにプログラムされる各々のページを伴う。
ＳＢＣまたは部分ＭＢＣデータ記憶のために、フラッシュメモリコントローラは、各々の物理行のための、最大Ｎより少ない仮想ページアドレスを使用して、ＭＢＣメモリデバイスへプログラムコマンドを発行する。ＭＢＣメモリデバイスは、物理行のために最後の受信した仮想ページアドレスまで、プログラミング作業を連続して実行する。
【００３５】
記述した本実施例は、図９と図１０に示されるメモリシステムで使われることができる。
【００３６】
図９は、本発明の１つの実施例によるフラッシュメモリシステムを表す。
図９を参照すると、フラッシュメモリシステム１００は、ホストシステム１０２と統合される。フラッシュメモリシステム１００は、ホストシステム１０２と通信するフラッシュメモリコントローラ１０４と、複数のＭＢＣフラッシュメモリデバイス１０６−１〜１０６−４と、を含む。
ホストシステム１０２は、マイクロコントローラ、マイクロプロセッサ、コンピュータシステム（図示せず）で例示される処理装置を含む。
フラッシュメモリシステム１００は、１つのチャンネル１０８を含むように構成される。そこでは、ＭＢＣフラッシュメモリデバイス１０６−１〜１０６−４がチャンネル１０８と並列して結合される。
チャンネル１０８は一組の共通バス（図示せず）を含む。共通バスは、すべてのメモリデバイス１０６−１〜１０６−４に結合するデータ線と制御線とを含む。
図示されてはいないが、フラッシュメモリコントローラ１０４で提供されたそれぞれのチップセレクト信号で、各々のメモリデバイスはイネーブル／ディスエーブルである。
フラッシュメモリコントローラ１０４は、ホストシステム１０２の作業に基づいて、チャンネル１０８を経由して、選択した１つのメモリデバイス１０６−１〜１０６−４へ、コマンドとデータを発行する役割を果たす。
選択された１つのメモリデバイス１０６−１〜１０６−４から読み出されたデータは、
チャンネル１０８を経由して、リードデータをホストシステム１０２に順番に提供するフラッシュメモリコントローラ１０４へ移送される。
当業者は、メモリシステム１００が、多かれ少なかれメモリデバイスをチャンネル１０８に結合させることができることを理解するであろう。
【００３７】
フラッシュメモリシステム１００は、ＭＢＣフラッシュメモリデバイス１０６−１〜１０６−４がチャンネル１０８に関してパラレルに結合する、マルチドロップ構成として通常呼ばれる。フラッシュメモリコントローラ１０４は、各々がマルチドロップ構成で結合されるフラッシュメモリデバイス１０６−１〜１０６−４を伴う、複数のチャンネルを有することができる。
ＭＢＣフラッシュメモリデバイス１０６−１〜１０６−４の各々は、前に図２で示したバンクメモリ組織を有するＮＡＮＤ型フラッシュメモリデバイスであることができる。
フラッシュメモリデバイス１０６−１〜１０６−４は、同じ容量または異なる容量を有することができる。
【００３８】
図１０は、本発明の他の実施例による、フラッシュメモリシステムを表す。
図１０を参照すると、フラッシュメモリシステム１２０は、ホストシステム１２４と通信するフラッシュメモリコントローラ１２２を含む。複数のフラッシュメモリはシリアルに接続されている。特定の例では、４つのＭＢＣフラッシュメモリデバイス１２６−１〜１２６−４は、シリアルに結合されている。４つのフラッシュメモリデバイス１２６−１〜１２６−４の各々は、メモリデバイスの間で作業を容易にするために入出力回路を有する。
当業者は、メモリシステム１２０が、フラッシュメモリコントローラ１２２にシリアルに結合するメモリデバイスを多かれ少なかれ有することができることを理解するであろう。
そのようなフラッシュメモリデバイスの例は、公有の２００５年１２月３０日に出願の米国の特許出願第11/324,023号で記述されている。これらの内容は全て参照によってここに取り入れられる。
【００３９】
本実施形態によると、図９と図１０のシステムのＭＢＣメモリデバイスは、受信したページアドレスを認識し、どの特定のプログラミングアルゴリズムが必要とされるかについて決定するよう構成された、内部コントローラを有する。
たとえば、物理行にプログラムされる最初のページと対応するページアドレスは、物理行にプログラムされる第２のページとは異なるアルゴリズムで、プログラムされる。
メモリコントローラ１０４と１２２は、メモリセルの物理行にページのデータをプログラムするための、使用可能な仮想アドレス空間を制限するためのアドレス結合スキームと共に構成される。このアドレス結合スキームは、ＳＢＣモードまたは部分ＭＢＣモードでデータをプログラムするのに用いられる。
部分ＭＢＣ記憶モードでは、１ページを超えるデータがメモリセルの物理行に保存されるが、メモリセルの物理行に記憶可能なページの最大数より少ない。
たとえば、ＭＢＣメモリデバイスが、3ビット／セルより多く（または物理行につき３ページ分のデータより多く）記憶することができるならば、メモリコントローラはＳＢＣ記憶モードで、データをプログラムするのための第１のアドレス結合スキームと、２ビット／セルＭＢＣ記憶モードで、データをプログラムするのための第２のアドレス結合スキームと、を有するように構成することができる。
【００４０】
実施例において、アドレス結合スキームはメモリアレイのどんな細分（sub-division）にでも適用することができる。ここでは、細分はメモリブロック、サブブロックまたはメモリブロックの部分、または物理行を含むことができる。したがって、異なる細分と共に、異なるアドレス結合スキームの組合せは、改善されたシステム柔軟性のために実現されることができる。
【００４１】
図１１は、１ビットのデータがセルにつき記憶されるＳＢＣ記憶モードと、２ビットのデータがセルにつき記憶されるＭＢＣ記憶モードと、３ビットのデータがセルにつき記憶されるＭＢＣ記憶モードのために、仮想ページアドレスをＮＡＮＤ型フラッシュメモリアレイのワードラインまたは物理行へのマッピングの一例を示すテーブルである。
【００４２】
本実施例では、ＮＡＮＤ型セルストリングが、３２本のワードライン（ＷＬ１−ＷＬ３２）を含むと想定する。各ワードラインは、物理行と呼ばれる
テーブルの左側からの第２列は、セルにつき１ビットデータ記憶モードの仮想アドレスマッピングを示す。したがって、セルにつき１ビットデータ記憶モードでは、１つのページのデータ（１ページ−３２ページ）が各々の物理行に保存される。各々の数字が付けられたページのそばの角括弧の中は、８ビットの仮想ページアドレスである。最下位ビット（ＬＳＢ）は最も右のビット位置にある。
本実施例では、各々の仮想ページアドレスの最初の７ビットは「ｘ」で示され、一方ＬＳＢが「０」か「１」として示される。本実施例では、ページがＷＬ１からＷＬ３２まで連続した順序でプログラムされると想定し、したがって、仮想アドレスも連続した順序で付される。
【００４３】
「２ビット／セル」とラベルがついている列では、２ページのデータは、各々の物理行に保存される。連続したプログラミングのために、プログラムされる最初のページは下位ページ（ＬＰ）と呼ばれ、プログラムされる第２と最後のページが上位ページ（ＵＰ）と呼ばれる。
【００４４】
図１２Ａは、下位ページがプログラムされたあとの、２ビットＭＢＣメモリの可能な閾電圧の閾電圧分布の一例を示す。
図１２Ｂは、上位ページがプログラムされたあとの、可能な閾電圧の閾電圧分布の一例を示す。図１２Ｂでは、図１２Ａの、前にプログラムされた下位ページデータを考慮する。
図１２Ａの中の矢印は、消去された状態０のセルが、下位ページプログラミングの後に状態１に移行した閾値を有することができることを示す。図１２Ｂの中の矢印は、状態０と状態１に対応する閾電圧が、上位ページプログラミングの後に移行することができることを示す。
【００４５】
各々の物理行の下位ページのためのＬＳＢが「０」であり、各々の物理行の上位ページのためのＬＳＢが「１」であることに留意すべきである。
他の実施例では、下位と上位ページのためのＬＳＢは、図１１のテーブルに示されることと異なることができる。しかし、各々の物理行の下位ページは同じＬＳＢを有し、各々の物理行の上位ページは同じＬＳＢを有するであろう。
【００４６】
図１１を参照すると、「３ビット／セル」とラベルがついている列では、３ページのデータは、各々の物理行に保存される。セルにつき３ビットＭＢＣ記憶モードでは、下位ページは最初にプログラムされ、続いて中間ページ（ＩＰ）、最後に上位ページがプログラムされる。
【００４７】
図１３Ａは、下位ページがプログラムされたあとの、３ビットのＭＢＣメモリの可能な閾電圧の閾電圧分布の一例を示す。
図１３Ｂは、中間ページがプログラムされたあとの、可能な閾電圧の閾電圧分布の一例を示す。図１３Ｂでは、図１３Ａの、前にプログラムされた下位ページデータを考慮する。
図１３Ｃは、上位ページがプログラムされたあとの、可能な閾電圧の閾電圧分布の一例を示す。図１３Ｃでは、図１３Ｂの、前にプログラムされた中間ページデータを考慮する。
【００４８】
３ビット以上がセルにつき記憶されるＭＢＣ記憶モードでは、少なくとも２つの中間のページが、下位ページと上位ページの間にあることができる。
各々の物理行の下位ページのための最後の２つのＬＳＢが「００」であり、各々の物理行の中間ページのための最後の２つのＬＳＢが「０１」であり、各々の物理行の上位ページのための最後の２つのＬＳＢが「１０」である点に留意すべきである。
他の実施例では、下位と、中間と、上位のページのための最後の２つのＬＳＢは、図１１のテーブルに示されることと異なることができる。しかし、物理行につき下位ページは同じ最後の２つのＬＳＢを有し、物理行につき中間ページは同じ最後の２つのＬＳＢを有し、物理行につき上位ページは同じ最後の２つのＬＳＢを有するであろう。
【００４９】
実施例によると、物理行につきＮページまで保存し、図１１で示すように仮想ページアドレススキームを有するためのＭＢＣメモリデバイスは、物理行につきＮページより少ない記憶モードで、データをメモリアレイの細分へプログラムする制御をされることができる。
これは、さもなければ物理行につき全Ｎページをアドレス指定するために使われるであろう、利用できる仮想ページアドレスの、サブセットだけを用いた、プログラムコマンドを発行するように構成するメモリコントローラと共に、実施される。
より詳しくは、仮想ページアドレスのサブセットは、物理行につき利用できる仮想ページアドレスの最も低い連続したセットに限られる。サブセットの仮想ページアドレスの数は、ＭＢＣメモリデバイスのために記憶モードを決定する。これは、仮想ページアドレスを特定の記憶モードのために使われるアドレスだけに制限する、アドレス結合スキームと呼ばれる。
【００５０】
例えば図１１のテーブルを参照すると、３ビットのＭＢＣメモリデバイスは、物理行につきＮ＝３の仮想ページアドレスで、Ｎ＝３ページまでのアドレス指定可能なデータを保存することができる。
例示すると、メモリブロックにデータをＳＢＣ記憶モードで保存するために、メモリコントローラは各々のページのデータのためにプログラムコマンドを発行する。そこでは提供された対応する仮想ページアドレスは、各々の物理行の下位ページのためにある。
図１３Ａで示すように、各々の下位ページが対応する物理行にプログラムされたあと、結果として生じる可能な閾電圧は、状態１か状態２と対応する。
２ページが各々の物理行に保存される部分ＭＢＣ記憶モードでは、各々の物理行のために発行されたプログラムコマンドは、下位ページアドレスと中間ページアドレスとを含む。
中間ページのデータがプログラムされたあと、各々の物理行は、図１３Ｂに示すように、４つの可能性がある状態のうちの１つを有するであろう。
【００５１】
図１４は、本発明の一つの実施例による、２ビットのＭＢＣメモリデバイスのためのＳＢＣプログラム作業の一例を示す。
図１４を参照すると、２ビットのＭＢＣメモリデバイス２００は、ＳＢＣ記憶モードでメモリブロックにデータを保存するために制御される。メモリデバイス２００は、メモリブロック２０４を形成するＮＡＮＤ型セルストリングを有するメモリアレイ２０２を含み、図１に示すフラッシュメモリデバイスブロック構成を有することができる。図１４に示される例では、メモリブロック２０４のＮＡＮＤ型セルストリングの１つだけを示す。
また、図１１のテーブルに示される仮想ページアドレススキームが、２ビットのＭＢＣメモリデバイス２００のために使われる。
メモリデバイス２００に発行されるプログラムコマンドパケットは、イニシャルオペレーション（ＯＰ）コードフィールド（ＰＧＭ）２０６と、ブロックアドレスフィールド（ＢＡ）２０８と、行アドレスフィールド（ＲＡ）２１０と、列アドレスフィールド（ＣＡ）２１２と、データフィールド（ＤＡＴＡ）と、コンファームププログラムＯＰコードフィールド（ＣＦＲＭ）２１６と、を含む。
本実施例においては、ＯＰコードフィールド２０６は、プログラム作業に関する情報があとに続くことをメモリデバイス２００に指示する、予め定められたバイナリシーケンスを含む。
ブロックアドレスフィールド２０８は、メモリアレイ２０２の範囲内で特定メモリブロックを選択するのに用いられるブロックアドレスを含む。
行アドレスフィールド２１０は、選択された物理行のために仮想ページアドレスを含む。ＬＳＢでない、より高い順序のビットは、物理ワードラインをアドレス指定するのに用いられる。
列アドレスフィールド２１２は、データの記憶のために開始列アドレスを含む。
データフィールド２１４は、プログラムされるページのデータを含む。
コンファームプログラムＯＰコードフィールド２１６は、プログラム作業が進行することができることをメモリデバイス２００に知らせる、予め定められたバイナリシーケンスを含む。
【００５２】
本実施例で示す、プログラムコマンドパケットはシリアルビットストリームとして、あるいは入力ポートを経由してパラレルに、提供されることができる。
プログラムコマンドパケットは、異なるメモリシステムのために異なることがあり、このようなことはＯＰコードフィールド２０６及び／または２１６を省略することがあり、または、さらなるプロトコル情報を含むこともある。プログラムコマンドパケットの順序とフォーマットは、変わることができる。プログラムコマンドパケットは、ページのデータのプログラミングのためにアドレス情報を必要とする。
【００５３】
本実施例のＳＢＣ記憶モードの例では、行アドレスフィールド２１０は、物理行ごとに下位ページだけと対応している仮想ページアドレスを含むことに限られる。図１４の中で、これらの仮想ページアドレスは、仮想ページアドレスがメモリブロック２０４のために下位ページと対応しているそれらと結合することを示すためにボックス化されている。
したがって、メモリブロック２０４のすべての物理行にページのデータをＳＢＣ記憶モードでプログラムするために、連続したプログラムコマンドパケットはメモリデバイス２００に提供される。各々のプログラムコマンドパケットは、プログラムされるページのデータと、下位ページ仮想ページアドレスとを含む。
メモリデバイス２００は、物理行につき２ページまでのデータをプログラムするために構成され、それによって図１２Ｂで示すように４つの可能性がある状態のうちの１つの結果になるが、下位ページだけをプログラムすることは図１２Ａに示される２つの可能な閾電圧分布の結果になる。
それにより、ＳＢＣ記憶モードプログラミングは、２ビットのＭＢＣメモリデバイスにおいて成し遂げられる。
【００５４】
したがって、所定のプログラム／消去サイクルの数に到達したことにより、フルＭＢＣ記憶モードで、データをもはや確実に保存しないメモリアレイ２０２の細分は、データをＳＢＣ記憶モードに保存するようにダウングレードされることができる。細分の主な目的がデータ記憶容量を最大にすることであるならば、フルＭＢＣ記憶からＳＢＣ記憶への細分の変換は「ダウングレード」と呼ばれる。あるいは、細分の主な目的が確実にデータを記憶することであるならば、そのような転換は「アップグレード」と呼ばれることがある。
【００５５】
同じアドレス結合原則は、細分がデータをＳＢＣ記憶モードで記憶するのに用いられる３ビットのＭＢＣメモリデバイスに適用されることができる。
しかし、特定の記憶モードのためのプログラム／消去サイクルの数に到達して、細分がフルＭＢＣ記憶モードから次の下位の部分ＭＢＣ記憶モードに次第に変えられることができるという点で、３ビット以上のＭＢＣメモリデバイスには更なる利点がある。
【００５６】
図１５は、本発明の一つの実施例による、３ビットのＭＢＣメモリデバイスのための、２ビットＭＢＣプログラム作業の一例を示す。
図１５を参照すると、３ビットのＭＢＣメモリデバイス３００は、２ビットのＭＢＣ記憶モードでメモリブロックにデータを記憶するために制御される。メモリデバイス３００は、メモリブロック３０４を形成するＮＡＮＤ型セルストリングを有するメモリアレイ３０２を含む。メモリブロック３０４のＮＡＮＤ型セルストリングの１つだけが示されている。
図１１のテーブルに示される仮想ページアドレススキームが、３ビットのＭＢＣメモリデバイスのために使われる。
この例では、３つの連続するプログラムコマンドパケット３０６、３０８、３１０は、メモリデバイス３００に提供される。プログラムコマンドパケット３０６、３０８、３１０の各々は、前に図１４に示したプログラムコマンドパケットと同じフォーマットを有することができる。
プログラムコマンドパケット３０６は、ページ１のためのデータと、対応する下位ページ仮想アドレスのためを含む。プログラムコマンドパケット３０８は、ページ２のためのデータと、対応する中間ページ仮想アドレスとを含む。プログラムコマンドパケット３１０は、ページ４のためのデータと、対応する下位ページ仮想アドレスとを含む。
３ビットのＭＢＣメモリデバイスの場合、例えば図１のメモリデバイス１０のコントローラ１８のようなコントローラは、どのプログラミングアルゴリズムを使用するべきかについて決定するために、仮想ページアドレスの最後の２つの重要なビットを調べるであろう。これは３ページのアドレスが物理行につきあり、ＬＳＢだけを使うことはどのプログラミングアルゴリズムを使用するべきかについて決定するためには不十分である、という事実による。
【００５７】
したがって、メモリデバイス３００がプログラムコマンドパケット３０６を受信するとき、プログラミング作業はＷＬ１に接続しているメモリセルにページ１をプログラムすることが実行される。これらのメモリセルのための結果として生じる可能な閾電圧配布は、図１２Ａまたは図１３Ａに示される。
メモリデバイス３００がプログラムコマンドパケット３０８を受信したあと、プログラミング作業はＷＬ１に接続しているメモリセルへページ１をプログラムすることが実行される。第２ページのデータがＷＬ１に接続しているメモリセルにプログラムされているので、ページ１をプログラムするために使われるものと異なるプログラミングアルゴリズムが使われる。これらのメモリセルのための結果として生じる可能な閾電圧分布は、図１２Ｂまたは図１３Ｂに示される。ＷＬ１に接続しているメモリセルのための２ビットのＭＢＣプログラミングは、今、完了される。
第３のプログラムコマンドパケット３１０は、次のワードラインＷＬ２へ、新しい下位ページであるページ４にプログラムするために、メモリデバイス３００で受信される。プログラムされたら、ＷＬ１に接続しているメモリセルは、図１２Ａか図１３Ａに示される可能な閾電圧分布を有するであろう。図示されてはいないが、さらなるプログラムコマンドパケットは、メモリブロック３０４の残りの物理行へデータをプログラムするために、メモリデバイス３００により受信される。
３ビット以上のＭＢＣメモリデバイスを使うことの長所は、細分が２ビットのＭＢＣ記憶モードとその後のＳＢＣ記憶モードで使われることができるということである。
【００５８】
図１６は、ＮビットＭＢＣフラッシュメモリコントローラの一例を示す。
図１６を参照すると、ＮビットＭＢＣフラッシュメモリコントローラ４００は、Ｎより少ないビットの記憶モードでプログラムするための、少なくとも１つのアドレス結合スキームで構成される。
メモリコントローラ４００は、ＣＰＵ＆クロックコントロールブロック４０２と、フラッシュコントロールブロック４０４と、マッピングテーブル４０６と、を一般に含む。
図示されてはいないが、ＣＰＵ＆クロックコントロールブロック４０２は、共通のバスを経由して他のサブシステムと通信するための中央演算処理装置と、必要なクロック信号をメモリコントローラ４００の他の回路に提供するためのクロックジェネレータと、デバイスの適切な作業を可能にするのに必要かもしれない他の回路と、を含む。
フラッシュコントロールブロック４０４は、ファイルとメモリ管理サブブロックと、ＥＣＣ（誤り訂正符号）サブブロックと、物理フラッシュインターフェースサブブロックと、を含む。フラッシュメモリデバイスは、物理フラッシュインターフェースサブブロックを通してアクセスされる。フラッシュメモリデバイスからアクセスされたデータは、ＥＣＣサブブロックによって検査され、訂正される。ファイルとメモリ管理サブブロックは、物理アドレス変換に論理を供給し、ウエアレベリングアルゴリズムを実行する。
【００５９】
通常、フラッシュコントロールブロック４０４は、接続されているシステムの中の各々のフラッシュメモリデバイスの各ページまたはブロックのために、正確にたどり、消去サイクルや有効（valid）／空（empty）などのようなメモリデバイスのプロパティ（情報）を更新する。この情報はローカルメモリに保存されて、マッピングテーブルとして構築される。 一例のマッピングテーブル４０８は、図１６に示される。
マッピングテーブル４０８は、各メモリデバイスのための情報であり、データ記憶モードを各々のブロックに指定するＳＢＣ／ＭＢＣステータスビットを含むことができる、メタデータと呼ばれる情報と、各々のブロックのためのプログラム／消去サイクルの数と、を保存する。「０」のＳＢＣ／ＭＢＣステータスビットは、細分がデータをＭＢＣ記憶モードで保存することを示すことができ、「１」は、細分がデータをＳＢＣ記憶モードに保存することを示すことができる。
１セルにつき３ビット以上を保存しているＭＢＣメモリデバイスのために、少なくとも２つのステータスビットが、可能なデータ記憶モードの各々を指定するために使われることを、理解するべきである。
フラッシュメモリコントローラも各々のメモリデバイスのための仮想ページアドレス範囲の経過を追うことと、各々のアドレス結合スキームのためにフラッシュメモリコントローラは、特定の記憶モードのために許可された仮想ページアドレスだけを使うアルゴリズムでプログラムされることに、留意すべきである。
【００６０】
フラッシュコントロールブロック４０４は、メモリシステムの生涯の間、マッピングテーブル４０８を連続的に更新し、監視する。
マッピングテーブルがメモリシステムの電源投入時に情報を追加されることができることと、データ書き換え可能回数のような情報とＳＢＣ／ＭＢＣステータスとは、各々の物理行及び／またはメモリブロックと関連した別のデータフィールドでメモリデバイスに記憶されるかもしれないことに、留意すべきである。
ページまたはブロックがプログラム／消去サイクルの最大数（ＭＬＣフラッシュメモリの１０Ｋサイクル）に到達するならば、フラッシュコントロールブロック４０４は、記憶モードをＳＢＣ記憶モードに変えることを決めることができる。それによってプログラム／消去サイクルを１００Ｋまで広げられる。
【００６１】
メモリコントローラ４００がデータをプログラムするためのホストリクエストを受信するとき、フラッシュコントロールブロック４０４はデータがどこでプログラムされるべきかについて決定するためにマッピングテーブル４０６を調べる。
選択されたメモリブロックがＳＢＣ記憶モードのために構成されるならば、物理行ごとのために下位ページ仮想アドレスだけを使うための、予めプログラムされたアドレス結合スキームが適用される。
複数のページがプログラムされることになっているならば、メモリコントローラ４００によって、コマンドパケットが準備され、選択されたＭＢＣメモリデバイスへ発行される。各々のコマンドパケットは、下位ページ仮想アドレスだけを含む行アドレスフィールドを有する。
【００６２】
図１７は、１つの実施例による、データを記憶するためにＭＢＣメモリデバイスを制御する目的で、ＳＢＣ、フルＭＢＣ、または部分ＭＢＣ記憶モードのコマンドを発行するためにメモリコントローラを操作する方法のフローチャートである。
【００６３】
図１６および１７を参照すると、本方法はメモリシステムに電源投入すること（ステップ５００）から開始する。
メモリシステムはメモリコントローラ４００と同様で構成されるメモリコントローラと、少なくとも１つのＮビットＭＢＣメモリデバイスと、を含む。このメモリシステムは、図９または図１０に示される構成を有することができる。
電源投入シーケンスの一部として、メモリコントローラは、例えばその細分のためのデータ書き換え可能回数とＳＢＣ／ＭＢＣステータス情報のようなデバイスメタデータとを得るために、少なくとも１つのＮビットＭＢＣメモリデバイスのスキャンを実行する（ステップ５０２）。この情報は集められて、メモリコントローラ４００のマッピングテーブルに保存される。
電源投入シーケンスが完了したら、メモリコントローラ４００はホストデバイスからコマンドを受信することができる。ホストプログラムリクエストは、メモリコントローラ４００で受信される（ステップ５０４）。
このリクエストは、プログラムされるデータのために、いくつかの優先順位レベルを含むことがある。たとえば、低い優先順位データは、重要でないメディア・データでありうる。高い優先順位データは、高い信頼性記憶を必要とするように指定されるデータでありえる。
メモリコントローラ４００の他のアルゴリズムは、例えばプログラムされるデータのサイズ、メモリデバイスの空き領域の利用可能性、前に述べた優先順位レベルのようなパラメータに基づいて、使用するのに適切なウエアレベリングテクニックを決定することを実行されることができる。
【００６４】
メモリコントローラは、メモリコントローラ４００により実行される前述したアルゴリズムに基づいて、データがどこに保存されるべきかについて確認するためにそのマッピングテーブルをアクセスする（ステップ５０６）。
その後、メモリコントローラは、ＳＬＣ記憶がホストプログラムリクエストのために必要とされるかどうか決定する（ステップ５０８）。
ＳＬＣ記憶が必要な場合は、それから、メモリコントローラ４００は、物理行につき下位ページ仮想アドレスだけが使われるＳＢＣアドレス結合スキームを使って、選ばれた細分にデータを記憶するために、ステップ５１０でコマンドを発行する。
さもなければ、本方法は、メモリコントローラが、フルＭＬＣプログラミングが必要とされるかどうかについて決定するステップ５１２まで進行する。
フルＭＬＣプログラミングが必要な場合は、メモリコントローラは物理行ごとに、全仮想ページアドレス範囲で、コマンドを発行する（ステップ５１４）。
さもなければ、物理行につき全範囲の仮想ページアドレスのサブセットがデータをプログラムするために使われる、部分ＭＬＣアドレス結合スキームで、コマンドが発行される（ステップ５１６）。
【００６５】
図１７の方法によってメモリコントローラで発行されるコマンドは、他の記憶モードで、選択されたＭＢＣメモリデバイスの作業を構成するための、特別なコマンドの発行を必要としない。これは、コマンドがオンザフライで発行されてから、クロックサイクルがＭＢＣメモリデバイスを構成するために無駄にならないようなメモリシステムの、より高いパフォーマンスを確実にする。 さらにまた、メモリデバイスを要求された記憶モードに設定するために、メモリデバイスを再設定することを要求されない。
【００６６】
図１８は、図１７で概説される方法で作業しているメモリコントローラからコマンドを受信する、ＮビットＭＢＣメモリデバイスの作業を示す。
図１８を参照すると、メモリコントローラ４００により発行されたプログラミングコマンドがＭＢＣメモリデバイスで受信されることから、本方法は開始する（ステップ６００）。
集合的に、これらのコマンドは、複数ページにわたることができ、ホストによって要求される一セットのデータをプログラムするためにある。
メモリデバイスが、メモリデバイスの異なる細分に異なるデータのセットをプログラムすることためにインターリーブされたコマンドを、受信することができる点に留意すべきである。
言い換えると、１つのコマンドは、１つの細分にデータのプログラミングを始めるために受信することができ、その後受信されたコマンドは、他の細分にデータのプログラミングを始めるために受信することができる。それから、第３のコマンドは、最初の細分へより多くのデータをプログラムし続けるために受信することができる。
続いて、ＭＢＣメモリデバイスは、各ページのデータに関連した仮想ページアドレスの最少のＬＳＢをチェックする（ステップ６０２）。
例えば、ＭＢＣメモリデバイスがセルにつき３ビットまでのデータ記憶で形成される場合、最後の２つのＬＳＢがチェックされる。例えば、ＭＢＣメモリデバイスがセルにつき２ビットまでのデータ記憶で形成される場合、最後のＬＳＢがチェックされる。
セルにつき記憶するためにメモリデバイスが構成されるビット数の最大数にかかわらず、物理行の各仮想ページの識別に必要な仮想ページアドレスＬＳＢの最小数があるであろう。これらはステップ６０２でチェックされるＬＳＢである。
その後、コマンドデコーダとも呼ばれる、ＭＢＣメモリデバイスの内部コントローラは、ステップ６０４で、ＬＳＢに応じて適切なプログラミングシーケンスあるいはアルゴリズムを実行する。より具体的には、内部コントローラは、アルゴリズムをプログラムする部分ＭＬＣプログラミングアルゴリズムを実行する。それはＭＢＣメモリデバイス用のセルにつき最大数未満のためのどんなプログラミングアルゴリズムも含む。
この内部コントローラはコントローラ１８として図１のフラッシュメモリデバイスのブロック図の中で例示される。
【００６７】
例えば、仮想ページアドレスのＬＳＢが「０」である場合、ＭＢＣメモリデバイスの内部コントローラはＳＢＣプログラミングアルゴリズムを実行することができる。
もし、仮想ページアドレスのＬＳＢが「１」を伴うプログラムコマンドをこれ以上受信しなければ、ページはＳＢＣ記憶モードで物理行へプログラムされる。例えば、結果として生じる物理行のセル用の可能な閾電圧が、図１２Ａあるいは１３Ａの中で示されるように現れることができる。
別の例において、第１がＬＳＢが「０」である仮想ページアドレスを含み、第２がＬＳＢが「１」である仮想ページアドレスを含む、１組のプログラムコマンドが受信される。このシナリオでは、第１ページのデータはＳＢＣプログラミングアルゴリズムでプログラムされる。同じ物理行のための、「１」のＬＳＢを有する第２ページのデータは、その後、２ビットＭＢＣプログラミングアルゴリズムによってプログラムされる。それはメモリデバイスの内部コントローラによって実行される。結果として生じる物理行のセル用の可能な閾電圧が、図１２Ｂあるいは１３Ｂの中で示されるように現れることができる。
【００６８】
図１９は、具体化によるメモリシステムの詳細な作業例を示す。
ステップ７００から開始し、ＭＢＣメモリデバイスは、フルＮビットＭＢＣ記憶用に形成された、メモリブロックのようなその細別をすべて有する、と仮定する。ここで、Ｎはセルにつき記憶することができるビットの最大数である。実施例では、Ｎ＝２と仮定する。したがって、メモリコントローラのマッピングテーブルは、各々細別セットがフルＭＬＣデータ記憶モードを表わすためにＳＬＣ／ＭＬＣ状態ビットを有するであろう。
ホストリクエストはステップ７０２でメモリコントローラによって受信され、メモリコントローラは、リクエストがステップ７０４でのプログラムリクエストあるいは消去リクエストのうちの１つかどうか判断する。
ホストリクエストがどちらでもない場合、そのリクエストはステップ７０６で実行され、本システムは別のホストリクエストのために待つ。
そうでなければ、本方法はステップ７０８に移り、メモリコントローラは、データがＭＢＣモードでプログラムされるべきかどうか、さらに判断する。
データがＭＢＣ記憶モードでプログラムされるべきである場合、選択されたメモリブロックのためのプログラム／消去サイクルの数値がステップＳ７１０でチェックされる。
ステップ７１２で、選択されたメモリブロックのためのプログラム／消去サイクルの最大数に到達していたかという決定が実行される。
そうでない場合、その後、ＭＬＣプログラムオペレーションは、ステップ７１４でメモリデバイスへ必要なプログラムコマンドを発行することにより実行される。
【００６９】
他方では、選択されたメモリブロックのためのプログラム／消去サイクルの最大数に到達している場合、その後メモリコントローラは、ブロック寿命を拡張するアルゴリズムを実行する。このアルゴリズムはステップ７１６で始まり、新しいデータがメモリブロックで構成された利用可能なＭＬＣあるいはＳＬＣのいずれかにプログラムされる。
最初に選択されたメモリブロック中のどんな常駐のデータも、後で、バックグラウンド処理中に、メモリブロックで形成された利用可能なＭＬＣあるいはＳＬＣにコピーされ、そのメモリブロックは新しいデータが最近プログラムされたメモリブロックと同じメモリブロックになることができる。このバックグラウンド処理は、メモリコントローラによって予定に入れられることができる。
【００７０】
ステップ７１８では、選択されたブロックは、メモリアレイ中のその対応するＳＬＣ／ＭＬＣタグ・ビットの更新により、ＳＬＣメモリブロックとして使用のために変換される。
メモリコントローラのマッピングテーブルは、選択されたメモリブロックの記憶モードのこの変化を反映するために、ステップ７２０で更新される。この更新はさらに、変換されたＳＬＣメモリブロックのために、プログラム／消去サイクルの数を適切なＳＬＣプログラム／消去リミットへ再設定することを含む。たとえば、このリミットは、１０Ｋから１００Ｋサイクルまでの間であることができる。
【００７１】
ステップ７０８での判断に戻ると、プログラムリクエストがＳＬＣ記憶のための場合、次に選択されたＳＬＣメモリブロックのためのプログラム／消去サイクル数が、サイクルの最大数に到達しているかどうか判断するために、ステップ７２２でチェックされる。
ステップ７２４で、サイクルの最大数が、選択されたＳＬＣメモリブロックのために到達していない場合、ＳＬＣプログラムオペレーションは、メモリデバイスへ必要なプログラムコマンドを発行することにより、ステップ７０６で実行される。以前に議論されたように、ＳＬＣアドレス結合スキームは、個々の物理行のための下位ページのそれらに制限のある仮想ページアドレスと共にプログラムコマンドを発行するために、メモリコントローラによって使用される。
そうでなければ、ＳＬＣメモリブロックはＳＬＣデータを信頼性が高く記憶することができず、本方法は、ＳＬＣプログラムオペレーションが別の利用可能なＳＬＣメモリブロックのために実行されるステップ７２６に移り、最初に選択されたＳＬＣメモリブロック中のどんな常駐するデータも、同じ利用可能なＳＬＣメモリブロックあるいは別の利用可能なＳＬＣメモリブロックにコピーされる。
最初に選択されたＳＬＣメモリブロックは、ステップ７２８でメモリデバイスにおいて無効であるタグを付けられる。またステップ７２０で、メモリコントローラ中のマッピングテーブルはそれに応じて更新される。
メモリデバイスを無効にタグ付けすることは、将来の使用からそのメモリブロックを退かせる効果を有する。
【００７２】
ここで示された実施例の利点は、レジスタのセット、またはメモリデバイスの再開、またはその通常動作への他の中断がなく、メモリデバイスのフルＭＢＣ記憶モードより少ないどの記憶モードのオペレーションも実行することができるということである。
【００７３】
すべての前述した実施例の中で、フラッシュメモリコントローラによって実行された選択可能なＭＢＣかＳＢＣのプロセスは、ユーザに意識させないで行われる。
追加コマンド、ユーザに要求される追加の指示や修正はなく、ＳＢＣ／ＭＢＣ記憶モードオペレーションのすべての決定はフラッシュメモリコントローラによって行われる。従って、ホストシステムと共に上述されたフラッシュメモリシステムを実装するために必要なオーバーヘッドは最小となる。
【００７４】
これまでの記述では、説明の目的のために、多数の詳細は具体化についての完全な理解を提供するために述べられる。しかしながら、これらの特定の詳細が具体化を実行するためには必要ではないことは当業者に明白であろう。
他の実例では、よく知られた電気的構造および回路は、具体化の様相を不明瞭にしないようにブロック図で示される。例えば、特定の詳細は、ソフトウェア・ルーチン、ハードウェア回路、ファームウェア、あるいはその組み合わせとしてここに記述された具体化が実装されるかどうかに関しては、提供されない。
【００７５】
上述した諸実施例は、単に例示的なものである。添付の特許請求の範囲のみによって定義される範囲から外れることなく、当業者により、変更、修正およびバリエーションで特定の具体化へ実施することができる。
【符号の説明】
【００７６】
１０  フラッシュメモリデバイス
１２  ＲＥＡＤＹ／ＢＵＳＹ信号バッファ
１４  コントロール信号バッファ
１６  グローバルデータバッファ
１８  コントローラ
２０  コマンドレジスタ
２２  アドレスレジスタ
２４  ステータスレジスタ
２６  行プリデコーダ
２８  列プリデコーダ
３０  行デコーダ
３２  列デコーダ
３４  センスアンプ＆ページバッファブロック
３６  高電圧発生器
３８  メモリセルアレイ
４０  バンク
４２  フラッシュメモリセル
４４  ストリング選択デバイス
４６  ビットライン
４８  グランド選択デバイス
５０  ページバッファ
１００、１２０  フラッシュメモリシステム
１０２、１２４  ホストシステム
１０４、１２２  フラッシュメモリコントローラ
１０６、１２６  ＭＢＣフラッシュメモリデバイス
１０８  チャンネル
２００  ２ビットＭＢＣフラッシュメモリデバイス
２０２  メモリアレイ
２０４  メモリブロック
２０６  イニシャルオペレーションコードフィールド
２０８  ブロックアドレスフィールド
２１０  行アドレスフィールド
２１２  列アドレスフィールド
２１４  データフィールド
２１６  コンファームプログラムＯＰコードフィールド
３００  メモリデバイス
３０２  メモリアレイ
３０４  メモリブロック
３０６  プログラムコマンドパケット１
３０８  プログラムコマンドパケット２
３１０  プログラムコマンドパケット３
４００  メモリコントローラ
４０２  ＣＰＵ＆クロックコントロールブロック
４０４  フラッシュコントロールブロック
４０６、４０８  マッピングテーブル
【図１】
2014530421.tif 000003
【図２】
2014530421.tif 000004
【図３】
2014530421.tif 000005
【図４】
2014530421.tif 000006
【図５】
2014530421.tif 000007
【図６】
2014530421.tif 000008
【図７】
2014530421.tif 000009
【図８】
2014530421.tif 000010
【図９】
2014530421.tif 000011
【図１０】
2014530421.tif 000012
【図１１】
2014530421.tif 000013
【図１２Ａ】
2014530421.tif 000014
【図１２Ｂ】
2014530421.tif 000015
【図１３Ａ】
2014530421.tif 000016
【図１３Ｂ】
2014530421.tif 000017
【図１３Ｃ】
2014530421.tif 000018
【図１４】
2014530421.tif 000019
【図１５】
2014530421.tif 000020
【図１６】
2014530421.tif 000021
【図１７】
2014530421.tif 000022
【図１８】
2014530421.tif 000023
【図１９】
2014530421.tif 000024
【国際調査報告】
2014530421.tif 000025
2014530421.tif 000026