(57)【要約】マルチレベルセルメモリアレイはシングルレベルセルとしてプログラム可能な領域を有する。このプログラムされるセルは、最初に所望のデータをセルの最下位ビット、もしくは最上位ビットのどちらかにプログラムする。次に、第2のプログラミング動作は、セルの閾値レベルを所望のデータのための適切なレベルに調節する補強データをプログラムする。【選択図】図１
2009518775.tif 000002
【特許請求の範囲】
【請求項１】
マルチレベルセルメモリデバイスに、シングルレベルプログラミングするための方法であって、
前記方法が、
前記セルの最下位ビット、もしくは最上位ビットのどちらか一つに所望のデータを書き込むステップと、
前記セルの閾値電圧が、前記所望のデータに必要とされる電圧レベルに調節されるように、補強データを前記セルの残りのビットに書き込むステップと、
を含む方法。
【請求項２】
書き込まれるデータの種類を決定するステップをさらに含む、請求項1の方法。
【請求項３】
前記データの種類が、高い信頼性を必要とするデータ、および高記憶密度を必要とするデータを含む、請求項2の方法。
【請求項４】
前記補強データを書き込むステップが、前記セルの前記閾値電圧を前記所望のデータに必要とされる前記レベルまで変更する、請求項1の方法。
【請求項５】
前記所望のデータが、マルチレベルセル閾値電圧範囲内の閾値電圧を、論理1状態が前記範囲の最も負にあり、且つ論理0状態が前記範囲の最も正にあるようにもつ、請求項4の方法。
【請求項６】
前記メモリデバイスが、NANDフラッシュメモリデバイスである、請求項1の方法。
【請求項７】
読み出しされるマルチレベルセルデータをシングルレベルセルデータに写像することにより、前記所望のデータを読み出すステップをさらに含む請求項1の方法。
【請求項８】
「11」状態を論理1状態に写像し、且つ、「10」状態を論理0状態に写像する請求項7の方法。
【請求項９】
マルチレベルセルNANDフラッシュメモリデバイスに、シングルレベルプログラミングするための方法であって、
プログラムされるデータの種類を決定するステップと、
所望のデータをセルの最下位ビットに書き込むステップと、
前記セルの閾値電圧を前記所望のデータによって必要とされる電圧レベルまで変更する補強データを書き込むステップと、
を含む方法。
【請求項１０】
前記最下位ビットに書き込むステップが、前記メモリデバイスのページ0に書き込むステップを含む、請求項9の方法。
【請求項１１】
前記補強データを書き込むステップが、前記メモリデバイスのページ0と近接しないページに書き込むステップを含む、請求項10の方法。
【請求項１２】
最下位ページと最上位ページを備えたメモリを含むマルチレベルセルメモリデバイスに、シングルレベルプログラミングするための方法であって、
前記方法が、
少なくとも一つのメモリセルの前記最下位ページ、もしくは前記最上位ページのどちらかに所望のデータを書き込むステップと、
前記少なくとも一つのメモリセルの残りのページに補強データを書き込み、前記残りのページが、各セルの前記先に書き込まれたページと近接しないページであり、且つ、前記所望のデータへの補強データから成るようにするステップ
を含む方法。
【請求項１３】
前記最上位ページが、前記最下位ページから少なくとも4ページ離れたところにある、請求項12の方法。
【請求項１４】
前記最上位ページが、前記シングルレベルアレイ領域のロー0で、前記最下位ページから4ページ離れたところにあり、且つ、前記領域の残りのローで、前記最下位ページから6ページ離れたところにある、請求項13の方法。
【請求項１５】
セルのアレイに形成される複数のマルチレベルセルと、
ドライバに応じて、シングルレベルセルとしてプログラムされ、読み出しされる、前記セルのアレイ内の、少なくとも一つのシングルレベルセルを含むメモリデバイス。
【請求項１６】
少なくとも一つのシングルレベルセルが、前記マルチレベルセルに記憶されるデータよりも高い信頼性を必要とするデータを記憶するために、前記ドライバによって動的に選択された複数のセルである、請求項15のデバイス。
【請求項１７】
前記アレイがNANDフラッシュメモリアレイである請求項15のデバイス。
【請求項１８】
プログラムされるシングルレベルセルが、論理1状態、もしくは論理0状態のどちらかに写像された、閾値電圧レベルを含む、請求項15のデバイス。
【請求項１９】
閾値電圧の範囲内で複数のレベルにプログラム可能である、複数のセルを含むメモリアレイと、
シングルレベルプログラミング方法を実行するように構成された制御回路と、を含むフラッシュメモリデバイスであって、
前記シングルレベルプログラミング方法が、
動的に選択されたセルの最下位ビットか、もしくは最上位ビットのどちらか一方に、所望のデータを書き込むステップと、
前記セルの残りのビットに、補強データを書き込むステップとを含む、フラッシュメモリデバイス。
【請求項２０】
前記補強データが、プログラムされているセルの閾値電圧レベルを前記所望のデータと一致するレベルへ調節する、請求項19のデバイス
【請求項２１】
前記所望のデータが、論理1状態のための負の閾値電圧と、論理0状態のための正の閾値電圧のうちの一つを含む、請求項20のデバイス。
【請求項２２】
前記論理1状態が、前記閾値電圧の範囲で前記論理0状態から最も離れた状態である請求項21のデバイス。
【請求項２３】
メモリシステムであって、
メモリシグナルを生成し、且つメモリドライバを実行するプロセッサと、
前記プロセッサに接続され、前記メモリシグナルに応じて動作するメモリデバイスと、
を含み、前記メモリデバイスが、
セルのアレイとして形成される複数のマルチレベルセルと、
前記メモリドライバに応じて、少なくとも一つのマルチレベルセルを、シングルレ
ベル形式でプログラムする制御回路と、を含むメモリシステム。
【請求項２４】
ローとカラムに配置されたマルチレベルメモリアレイであって、
前記ローが複数のメモリセルの制御ゲートと接続されたワード線を含み、
前記カラムがメモリセルの一連のストリングと接続されたビット線を含み、
前記メモリアレイがさらに、メモリブロックに配置されるように、ローとカラムに配置されたマルチレベルメモリアレイと、
所望のデータを、前記セルの最下位ビット、もしくは最上位ビットの何れか一つに書き込み、且つ補強データを前記セルの残りのビットに書き込むことによって、前記メモリアレイの少なくとも一つの動的に選択されたセルのシングルレベルプログラミングを実行するように構成された制御回路と、
前記メモリアレイとホストシステムの間の選択的な接点を提供するように構成された複数の接点と、を含むメモリモジュール。
【請求項２５】
前記ホストシステムに応じて前記メモリデバイスの動作を制御するために、前記メモリアレイと接続されたメモリ制御器をさらに含む、請求項24のモジュール。
【請求項２６】
メモリアレイを含むマルチレベルセルNANDフラッシュメモリデバイスに、シングルレベルプログラミングするための方法であって、
プログラムされるデータの種類を決定するステップと、
マルチレベルセルデータ、もしくはシングルレベルセルデータの何れかを、前記データの種類に応じて前記アレイの少なくとも一つの選択されたセルに書き込むステップと、を含み、
前記データの種類が高い信頼性を示す場合は、所望のデータをセルの第１のビットに書き込み、且つ補強データを前記セルの残りのビットに書き込むことで、前記セルの閾値電圧を、前記所望のデータによって必要とされる電圧レベルまで変更し、
前記データの種類が高い記憶密度を示す場合は、前記所望のデータをマルチレベルセル方式で書き込む、方法。
【請求項２７】
前記所望のデータをマルチレベルセル方式で書き込むステップが、シングルプログラミング動作で、前記セルを所望の閾値電圧レベルにプログラミングするステップを含む、請求項26の方法。
【請求項２８】
メモリ信号を生成し、高レベルメモリドライバおよび低レベルメモリドライバを実行する、プロセッサと、
前記プロセッサに接続され、前記メモリ信号に応じて動作するメモリデバイスと、を含むメモリシステムであって、
前記メモリデバイスが、
セルのアレイとして形成される複数のマルチレベルセルと、
前記高レベルメモリドライバおよび前記低レベルメモリドライバに応じて、複数のマルチレベルセルを、シングルレベルセル形式でプログラムする制御回路と、
を含む、メモリシステム。
【請求項２９】
前記補強データが、プログラムされているセルの閾値電圧レベルを前記所望のデータと一致するレベルへ増加させる請求項28のデバイス。
【請求項３０】
前記所望のデータが、論理0状態のための正の閾値電圧である、請求項29のデバイス。
【請求項３１】
論理1状態が、前記閾値電圧の範囲内の前記論理0状態から最も離れた状態である、請求項28のデバイス。
【請求項３２】
システムメモリとフラッシュメモリデバイスに接続されたプロセッサを具備するフラッシュメモリシステムであって、
前記プロセッサによって実行され、データが書き込まれる前記フラッシュメモリデバイスの記憶位置を選択する高レベルドライバと、
前記高レベルドライバに接続され、書き込まれるデータの種類に応じて、前記高レベルドライバによって決定されるマルチレベルセルメモリ位置に、シングルレベルセルデータを書き込むために、前記プロセッサによって実行される低レベルドライバと、を含むシステム。
【請求項３３】
前記データの種類が、高信頼性データ、もしくは、センシティブなデータのどちらかを含む、請求項32のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にメモリデバイスに係り、より具体的には不揮発性メモリデバイスに関する。
【背景技術】
【０００２】
メモリデバイスは典型的には、コンピュータや他の電子機器の内部半導体集積回路として提供される。ランダムアクセスメモリ（RAM）、読取専用メモリ（ROM）、ダイナミックランダムアクセスメモリ（DRAM）、シンクロナスダイナミックランダムアクセスメモリ（SDRAM）、フラッシュメモリを含む、様々な種類のメモリが存在する。
【０００３】
フラッシュメモリデバイスは広範囲の電子機器の用途のための、不揮発性メモリの主要な供給源へと発展している。フラッシュメモリデバイスは、典型的に１トランジスタメモリセルを使用して、高い記憶密度、高い信頼性、省電力消費を可能にしている。一般的なフラッシュメモリの用途はパーソナルコンピュータ、パーソナルディジタルアシスタント（PDA）、デジタルカメラ、携帯電話を含む。基本的な入力／出力システム（BIOS）などのプログラムコードとシステムデータは、一般的にフラッシュメモリデバイス内に記憶され、パーソナルコンピュータシステム内で使用される。
【０００４】
電子システムの性能と複雑度が増加すると、システム内に追加のメモリの必要性も増加する。しかしながら、システムのコストを減らし続けるために、部品の数は最小に維持しなければならない。これは、集積回路の記憶密度を増加することによって達成され得る。
【０００５】
記憶密度は、マルチレベルセル（ MLC : multiple level cells ）の利用によって増加され得る。ＭＬＣメモリは、さらなるセルの追加、および／またはダイのサイズを増加すること無しに、集積回路に記憶するデータの量を増やす事ができる。ＭＬＣ法は、２つ以上のデータビットを各メモリセルに記憶する。
【０００６】
ＭＬＣは、セルごとに複数の閾値レベルを使用するため、閾値電圧を厳密に制御する必要がある。セルの密集した不揮発性メモリセル、特にＭＬＣに関連する一つの問題は、浮遊ゲート間の容量結合（floating gate-to-floating gate capacitive coupling）であり、これはセル間の干渉を引き起こす。この干渉は、一つのセルがプログラムされた時、隣接するセルの閾値電圧をシフトさせ得る。これは、プログラムディスターブ状態（program disturb condition）と称され、プログラムされることが望まれていないセルに影響を及ぼす。
【０００７】
MLCメモリデバイスは、また、より密集した間隔の閾値電圧を必要とする状態数の増加に一部起因する、シングルレベルセル（SLC）メモリデバイスよりも低い信頼性を持つ。写真の記憶に使われるメモリデバイスの不良ビットは、コードを記憶するメモリデバイスの不良ビットよりも、よりたやすく許容され得る。写真中の不良ビットは数百万のピクセルの中から１つの不良ピクセルを生成するだけだが、一方、コード中、もしくは他のデータ中の不良ビットは、命令の誤りを意味し、全プログラムの動作に影響する。
【０００８】
電子デバイスのより長いバッテリー寿命への激しい競争と、消費者の要望を背景として、製造業者は信頼性を維持しながら、装置の部品の数を減らすための方法を絶えず探し続ける必要がある。以上の理由で、また、本明細書を読んで理解することで当業者に明らかとなる以下の他の理由で、高い信頼性を備えた、高密度メモリデバイスの技術的必要性が存在する。
【発明の開示】
【０００９】
フラッシュメモリに伴う上述した問題とその他の問題は、本発明で取り扱われ、以下の明細書を読んで検討することによって理解される。
【００１０】
本発明は、マルチレベルの不揮発性メモリデバイスをシングルレベルセルモードでプログラミングする方法を包含する。メモリデバイスは、複数のメモリブロックに編成される複数のメモリセルを有する。各メモリブロックはビット線カラムとワード線ローから成るメモリセルアレイを有する。
【００１１】
この方法は、プログラムされるセルの最下位ビット、もしくは最上位ビットのどちらか一つに所望のデータを書き込むステップを含む。第２のプログラミング動作は、このセルの残りのビットに補強データ(reinforcing data)をプログラムする。この補強データはセルの閾値レベルを、所望のデータに必要とされる電圧へと調節する。
【００１２】
本発明のさらなる実施形態は、さまざまな範囲の方法と装置を含む。
【発明を実施するための最良の形態】
【００１３】
以下の本発明の詳細な説明において、本発明の一部を形成する添付の図面を参照し、それら図面において、例示目的として、本発明が実施される具体的な実施形態を示す。図面において、類似した数字は、いくつかの図を通して実質的に同等の要素を説明する。これらの実施形態は、当業者が本発明を実施できるように、十分詳細に説明される。その他の実施形態が利用可能であり、本発明の範囲を逸脱すること無しに、構造的、論理的、電気的変更が行われうる。それゆえ、以下の詳細な説明は、制限的な意味で取られるべきではなく、本発明の範囲は添付の請求項とその均等物によってのみ規定される。
【００１４】
図１は、本発明の半導体NANDフラッシュメモリアレイの一実施形態の簡略図を説明する。このメモリアレイは例示のみの目的であり、本発明は、どれか一つの不揮発性メモリ技術、もしくはアーキテクチャに限定されない。
【００１５】
図１のメモリアレイは、明瞭性のためにメモリアレイに典型的に必要とされるすべての構成要素を示してはいない。例えば、必要とされるビット線の数は実際には記憶密度とチップアーキテクチャに依存するが、２つのビット線（BL1とBL2）のみを示す。ビット線は以降、（BL1−BLN）として参照する。ビット線（BL1−BLN）は、最終的には各セルの状態を検知するセンス増幅器（図には示されていない）に接続される。
【００１６】
このアレイは、連続したストリング104、105を配置した浮遊ゲートセル群101のアレイを含んでいる。各浮遊ゲートセル群101は、それぞれの連続した鎖（chain）104、105において、ドレインとソースを繋いでいる。複数の連続したストリング104、105にわたるワード線（WL0−WL31）は、ローにあるそれぞれの浮遊ゲートの制御ゲートに接続され、制御ゲートの動作を制御する。一実施形態においては、アレイは32ワード線を含んでいる。しかしながら、本発明はいかなるワード線数にも制限されない。
【００１７】
動作として、ワード線（WL0−WL31）は、連続した鎖（chain）104、105内にある、書き込み、もしくは読み出しされる個々の浮遊ゲートメモリセルを選択し、および各連続したストリング104、105内にある、残りの浮遊ゲートメモリセルをパススルーモードで操作する。浮遊ゲートメモリセル群の各連続したストリング104、105は、ソース選択ゲート116、117によりソース線106と接続され、およびドレイン選択ゲート112、113によって個々のビット線（BL1−BLN）と接続される。ソース選択ゲート116、117は、それら制御ゲートと接続されたソース選択ゲート制御線SG（S）118によって制御される。ドレイン選択ゲート112、113は、ドレイン選択ゲート制御線SG（D）114によって制御される。
【００１８】
図１の実施形態において、WL0はページの最下部にあり、WL31はページの最上部にある。しかしながら、これらのラベルは例示のみの目的であり、WL0がページの最上部から始まり、ページの最下部へ向かってワード線番号が増えることもありえる。
【００１９】
各セルは、セルごとにシングルビットで（すなわち、シングルレベルセル−SLC）プログラムすることもできるし、もしくはセルごとに複数のビットで（すなわち、マルチレベルセル−MLC）プログラムすることもできる。各セルの閾値電圧（Vt）は、セルに記憶されたデータを決定する。例えば、セルごとにシングルビットの場合、0.5VのVtはプログラムされているセルを示し（すなわち、論理0状態）、一方、-0.5VのVtは消去されているセルを示す（すなわち、論理1状態）。
【００２０】
マルチレベルセルは複数のVt枠（window）を持ち、それぞれ異なる状態を示す。マルチレベルセルは、ビットパターンをセルに蓄電される特定の電圧範囲に割り当てることにより、従来のフラッシュセルのアナログ的性質をうまく活用している。この技術は、セルに割り当てられた電圧範囲の数に依存して、セルごとに２以上のビットの格納を可能にする。
【００２１】
例えば、セルは、それぞれの範囲に200mVの４つの異なる電圧範囲を割り当てられ得る。通常は、0.2Vから0.4Vのデッドスペース、もしくはマージンが各範囲の間に存在する。もしセルに蓄電された電圧が第1の範囲以内なら、セルは11を記憶している。もし電圧が第2の範囲以内であれば、セルは01を記憶している。これは、セルに使われる範囲の数だけ続く。一実施形態においては、11は、もっとも負の閾値電圧範囲であり、一方10はもっとも正の閾値電圧範囲である。代わりの実施形態では、論理状態を異なる閾値電圧範囲に割り当てる。
【００２２】
本発明の実施形態は、セルごとに２ビットに制限されない。いくつかの実施形態では、セル上で区別され得る異なる電圧範囲の数に依存して、セルごとに２以上のビットが記憶され得る。
【００２３】
典型的な従来技術のプログラミング動作の間、プログラムされるフラッシュメモリセルの選択されたワード線は、連続したプログラミングパルスによってバイアスをかけられる。このプログラミングパルスは、一実施形態においては16Vよりも高い電圧で始まり、その後の各パルス電圧は、セルがプログラムされるか、もしくは最大プログラミング電圧に達するまで、徐々に増加する。
【００２４】
0Vのワード線電圧を伴う確認（varification）動作は、その後、浮遊ゲートが適切な電圧（例えば、0.5V）であるかを判定するために、実行される。プログラム動作の間の、残りのセルの選択されていないワード線は、典型的におよそ10Vでバイアスされる。一実施形態において、選択されていないワード線電圧は、接地電位と等しいか、それよりも大きい何れかの電圧になり得る。それぞれのメモリセルは、実質的に同様の方法でプログラムされる。
【００２５】
典型的なメモリブロックはシングルレベルセルの64ページから構成されている。MLCメモリブロックは、典型的に128ページから構成されている。これらのページの内の１つが、典型的な従来技術の読み出し／プログラム動作でアクセスされたとき、ブロック内の残りのページはディスターブ状態を経験し得る。いずれにしても、共通のビット線とワード線を共有するページは、何れかのページがプログラム／読み出しされる時は何時でも、り高いグログラミング／読み出し電圧を経験し得る。これらの電圧は、アクセスされていないセルの分布を乱すことにより問題を引き起こし得る。次に述べる本発明の実施形態において、スクランブル論理アドレス技術を使用し、実質上ディスターブ状態は減少、もしくは取り除かれる。
【００２６】
図２は、本発明のプログラムメソッドに従う、MLC閾値電圧分布の一実施形態の概略図を説明する。この図は、論理11状態の201がもっとも負の状態であり、論理10状態の202がもっとも正の状態であることを示す。01状態の203、および00状態の204は、最長距離の状態201、202の間に位置する。
【００２７】
図3は、本発明のシングルレベルプログラミング実施形態を使用した、簡略化したメモリアレイへの書き込みパターンを説明する。明瞭性のために、各ローに2つの物理ビットを持つ4つの物理ローのみを示す。SLCメモリとしてプログラムされるために選ばれるMLCメモリアレイの一部は、一つ以上のメモリブロックである。
【００２８】
各セル301−308に示す数字は、それぞれ特定のセル301−308に書き込まれた論理ページ番号を表す。この特定のパターンは、セルがプログラムされるときに生じる浮遊ゲートと浮遊ゲートのカップリングを最小化するために選択される。しかしながら、本発明はいかなるプログラミングパターンにも制限されない。
【００２９】
MLCのプログラミングに関して先に述べたように、それぞれの物理セル301−308は2つの論理ビットを保持することができる。それゆえ、本発明のアドレス方式は、2つのスクランブルした論理アドレスを、各物理アドレスに割り当てる。言い換えれば、ノイズマージンを増やすために、アレイのSLC領域にある物理セル301−308は2つの近接した論理アドレスを持たない。
【００３０】
例示した実施形態において、論理ページ0と1は、セル301と302にプログラムされる。論理ページ2と3は、ロー1のセル303と304にプログラムされる。次に論理ページ4と5は、ロー0のセル301と302にプログラムされる。論理ページ8と9は、ロー1のセル303と304にプログラムされる。このパターンがメモリブロックのページ128まで繰り返され、メモリブロックはSLC方式でプログラムされる。
【００３１】
物理セルをMLC方式でプログラムするために、プログラムされるデータ／コードの各ビットは2つの論理ビットで表される。一実施形態では、論理11は１のシングルレベルビットを表すために割り当てられ、一方、論理10は0のシングルレベルビットを表すために割り当てられる。このデータパターンは、MLC メモリの本実施形態が、11の閾値電圧で最も負であり、10の閾値電圧で最も正であるため選ばれ、このようにして、実質的に浮遊ゲートと浮遊ゲートの干渉を減少し、ノイズマージンを増加する。代わりの実施形態は、論理11および／または10に加えて、他の状態を使用し得る。
【００３２】
図４は、マルチレベルセルメモリデバイスのシングルレベルセルプログラミングのための、本発明の方法の一実施形態のフロー図を説明する。明瞭性のために、一つのセル（例えば、図3のセル301）のプログラミングのみを説明する。SLCメモリブロックの残りのプログラミングは、実質的に同様の方式で達成される。次の説明で、図3と図4の両方について言及する。
【００３３】
401で記憶されるデータが受信される。一実施形態において、図5の参照とともに後述するが、受信したデータは、より高い信頼性を必要としないデータに実行されるMLCプログラミングとは対照的な、本発明のより信頼できるSLCプログラミングを必要とする、コードであることを示す指標を含む。
【００３４】
一実施形態においては、プログラムされるセルのLSBは最初に403でプログラムされる。しかしながら、代わりの実施形態では、MSBを最初に、LSBを最後にプログラムしてもよい。
【００３５】
示した実施形態において、この方法は最初にページ0をセル301（すなわち、LSB）にプログラムする。セルが消去状態（すなわち、論理11）から始まり、データ／コードビットが論理0である場合、その結果、セル301は論理10のプログラムされたパターンを持つ。
【００３６】
ページ4がセル301にプログラムされるとき、0の所望のデータ／コードビットを補強するようにしなければならない。補強データは、各SLCプログラムされたセルの閾値電圧を、所望のシングルレベルデータに必要とされる適切な閾値電圧に、変更するデータである。それゆえ、405で補強データは決定されなければならず、その後、補強データは407でセルに書き込まれる。この例において、論理10は、論理0のSLCデータビットを表すために割り当てられており、従ってこのセルは既に適切な閾値電圧にある。それゆえ、セルが読み出しされたとき、論理10状態が割り当てられた閾値電圧は検知され、論理0が読み出しされる。
【００３７】
上記の例では、明瞭性のために、ページ1−3のプログラミングは論じなかった。図2−4を参照することによって、他のページが実質的に同様の形式でプログラムされることが、わかり得るだろう。
【００３８】
別の例として、論理0のデータ／コードビットがセルの301にプログラムされることが望まれており、セル301は既に先のページの書き込み動作によって論理01にプログラムされている場合、セルのページ0は、セル301のLSBに論理0をプログラムする必要がある。図2でわかるように、これはセル301の閾値電圧を論理01状態から論理10状態のレベルへ上昇させることによって達成される。これは、MLCの論理10状態がSLCの論理0状態に相当することを仮定している。
【００３９】
図5は、マルチレベルセルメモリシステムにおける、本発明のシングルレベルセルプログラミング方法の実施のための方法の一実施形態のフロー図を説明する。この方法は、書き込まれるデータがコードで、高い信頼性の記憶を必要とするか、もしくは他のデータで、MLCプログラミングの低い信頼性を許容し得るかを501で判定する。
【００４０】
この決定は各種の方法で達成され得る。一実施形態においては、物理アドレスは、ユーザがメモリのSLC領域に書き込んでいるか、それともMLC領域に書き込んでいるかを示す。例えば、メモリアレイアドレス空間の最初の32MBにあるアドレスは、SLCデータのためにとっておかれ得る。一方、残りのアレイアドレス空間はMLCデータである。その様な実施形態においては、データが読み出しされるとき、読み出しされる複数のビットを、シングルレベルデータビットに写像することが仮定される。
【００４１】
別の実施形態では、インジケータビットは、SLCドライバを使用するか、それとも通常のMLCプログラミング方法を使用するかを動的に示すために、データに含まれる。代わりの実施形態では、プログラミングの形式を特定するために他の形態が使われ得る。
【００４２】
SLCドライバ505は、図3、図4を参照して説明される。このルーティンは、状態機械、プロセッサ、もしくは他の制御器などのメモリ集積回路制御回路によって実行され得る。通常のMLCプログラミング503は、図1の参照に伴って先に説明した。
【００４３】
図6は、本発明のフラッシュメモリアレイ、およびプログラミング方法の実施形態を組
み込み得るメモリデバイス600の機能的なブロック図を説明する。メモリデバイス600は、SLCデータをMLC装置に書き込むための、本発明のソフトウェアドライバの実行を担うプロセッサ610と接続される。プロセッサ610は、マイクロプロセッサ、もしくは他の何らかの種類の制御回路であり得る。メモリデバイス600とプロセッサ610はメモリシステム620の一部を形成する。メモリデバイス600は、メモリの特徴に焦点を絞るために簡略化されており、本発明を理解するのに役立つ。
【００４４】
プロセッサ610は、システムメモリ680と接続される。このメモリブロック680は、RAM、ROM、磁気記憶ドライブ、もしくは他の形式のメモリなどの、システムによって必要とされる全てのメモリを含んでいる。メモリシステムはシステムメモリのこれらの種類の何れか一つ、もしくはそれら全てを含み得る。一実施形態において、MLCメモリへのSLC記憶を可能にする本発明の低レベルソフトウェアドライバは、このシステムメモリ680に記憶される。このドライバは、ハードドライブ、もしくはROMに記憶され、最終的に実行するためにRAMに読み込まれるシステム620オペレーティングシステムの一部であり得る。図８に図示されて、後で議論されるソフトウェアモジュールは、本発明のソフトウェアドライバの一つの可能な構成を示す。
【００４５】
図6の参照とともに先に述べたように、メモリデバイスは、フラッシュメモリセルのアレイ630を含む。メモリアレイ630はローとカラムのバンクに配置される。メモリセルの各ローのコントロールゲートはワード線に接続され、一方、メモリセルのドレインおよびソースの接続部はビット線と接続される。当業者には周知の通り、このセルとビット線の接続は、アレイがNANDアーキテクチャか、ANDアーキテクチャか、もしくはNORアーキテクチャかを決定する。
【００４６】
アドレスバッファ回路640は、アドレス入力接続AO−Ax 642に供給されるアドレスシグナルをラッチするために提供される。アドレスシグナルは、メモリアレイ630にアクセスするために、ローデコーダ644とカラムデコーダ646によって受信され、デコードされる。本記述を参照する利点によって、当業者にとって理解できるように、アドレス入力接続の数はメモリアレイ630の密度とアーキテクチャに依存する。すなわち、アドレスの数は、メモリセルの数の増加と、およびバンクとブロックの数の増加とともに増える。
【００４７】
メモリデバイス600は、センス／バッファ回路650を使用してメモリアレイカラムの電圧、もしくは電流の変化を検出し、メモリアレイ630のデータを読み出す。一実施形態においては、センス／バッファ回路は、メモリアレイ630から１つのローのデータを読み出し、ラッチするために接続される。データ入力／出力バッファ回路660は、複数のデータ接続662を介した制御回路610との双方向データ通信のために含まれ得る。書き込み回路655はメモリアレイにデータを書き込むために提供される。
【００４８】
制御回路670は、プロセッサ610から制御接続672に供給される信号をデコードする。これらの信号は、メモリアレイ630の動作を制御するために使用され、データの読み出し、データの書き込み（プログラム）、および消去動作を含む。制御回路670は、ステートマシーン、シーケンサー、もしくは他の何らかの種類の制御器であり得る。
【００４９】
図6に説明されるフラッシュメモリデバイスは、メモリの特徴の基本的な理解を容易にするために、簡略化されている。フラッシュメモリの内部回路と機能のより詳細な理解は当業者に知られている。
【００５０】
図7は例示的なメモリモジュール700の説明である。メモリモジュール700に関して説明されるコンセプトは、他の種類のリムーバブル、もしくはポータブルメモリ、例えばUSB
フラッシュドライブに適用可能であり、それらは本明細書で使用される「メモリモジュール」の範囲内であることを意図しているが、メモリモジュール700はメモリカードとして例示される。また、フォームファクタの一例が図7に描かれるが、これらのコンセプトは他のフォームファクタにも同様に適用可能である。
【００５１】
いくつかの実施形態において、メモリモジュール700は、一つ以上のメモリデバイス710を覆うために、覆い705（図示したように）を含んでいる。しかしながら、このような覆いは全てのデバイス、もしくはデバイス応用に必ずしも必要と言うわけではない。少なくとも一つのメモリデバイス710は不揮発性メモリである（本発明の要素を実行するために含まれている、もしくは適用されている）。覆い705を有する場合は、覆い705は、ホストデバイスと通信するための一つ以上の接点715を含む。ホストデバイスの例には、デジタルカメラ、デジタル記録再生デバイス、PDA、パーソナルコンピュータ、メモリカードリーダ、インターフェースハブなどが含まれる。いくつかの実施形態では、接点715は規格化されたインターフェースの形式である。例えば、USBフラッシュドライブでは、接点715はUSBタイプ−Aオスコネクタの形式であり得る。いくつかの実施形態では、接点715は、SANDISK社によってライセンスされるCOMPACTFLASHメモリカード、SONY社によってライセンスされるMEMORYSTICKメモリカード、TOSHIBSA社によってライセンスされるSD SECURE DIGITALメモリカードなどに見られるような、セミ−プロプライエタリインターフェースの形式である。しかしながら、一般に接点715は、メモリモジュール700と、接点715と互換性のある受容器を持つホストと、の間のコントロール、アドレスおよび／またはデータ信号の通過のための、インターフェースを提供する。
【００５２】
メモリモジュール700は、オプションで付加的な回路720を含み得る。これらは1つ以上の集積回路、および／または個別部品であり得る。いくつかの実施形態において、付加的な回路720は、複数のメモリデバイス710にわたってアクセスを制御するための、および／または外部ホストとメモリデバイス710の間の変換層を提供するためのメモリ制御器を含み得る。例えば、接点715の数と一つ以上のメモリデバイス710へのI/O接続の数との間に、1対1対応の関係がないこともあり得る。それゆえ、メモリ制御器は、適切な信号を、適切なI/O接続で、適切な時間に受け取るために、もしくは適切な信号を、適切な接点715で、適切な時間に供給するために、選択的にメモリデバイス710のI/O接続（図７に示されていない）を接続し得る。同様に、ホストとメモリモジュール700の間の通信プロトコルは、メモリデバイス710のアクセスに必要とされるものと異なり得る。メモリ制御器はそれゆえ、ホストから受信したコマンドシーケンスを、メモリデバイス710との所望のアクセスを達成するための適切なコマンドシーケンスに変換し得る。その様な変換はさらに、コマンドシーケンスに加えて、信号電圧レベルの変化を含み得る。
【００５３】
付加的な回路720は、さらに、ASIC（アプリケーション特定集積回路）によって実行され得るような論理機能などの、メモリデバイス710の制御とは無関係の機能性を含み得る。また、付加的な回路720は、メモリモジュール700への読み出しもしくは書き込みアクセスを制限するための回路、例えばパスワード保護、生体認証、もしくは同様のもの、を含み得る。付加的な回路720はメモリモジュール700の状態を示すための回路を含み得る。例えば、付加的な回路720は、電力がメモリモジュール700に供給されているかどうか、および、メモリモジュール700が現在アクセスされているかどうかを調べるための機能性、および、電力が供給されている間は点灯、アクセスされている間は点滅というように、自身の状態の指標を表示するための機能性を含み得る。付加的な回路720はさらに、メモリモジュール700内の所要電力の調整を助けるためのディカップリングコンデンサなどの受動デバイスを含み得る。
【００５４】
図8は、メモリデバイスをプログラムするための、本発明のソフトウェアモジュールのブロック図を説明する。このモジュールはフラッシュ変換層801（FTL：flash translatio
n layer）、および少なくとも一つ低レベルソフトウェアドライバ802を含んでいる。図8には、一つの低レベルドライバ802のみを示したが、メモリシステムはその様なドライバを複数含み得ることが、当業者には周知である。
【００５５】
高レベルドライバ801は、フラッシュメモリ集積回路を管理するために、オペレーティングシステム、もしくはアプリケーションと連携して動作する。FTL801は、データが、実際にはフラッシュの別な位置に記憶されているにもかかわらず、特定の場所に書き込まれて見えるように、フラッシュデバイス内のデータを管理する。FTL801は、さらなる均一な摩耗特性を達成するために、データをフラッシュメモリアレイの異なる物理的位置に移動させる。これは、フラッシュデバイスが、プロセッサに対してディスクドライブ、もしくは他のブロック記憶デバイスのように振舞うことを可能にする。
【００５６】
低レベルドライバ802は、FTL801からの再配置アドレス、およびデータの取得に関与し、ならびにデータの実際のプログラミング／読み出しの実行に関与する。一実施形態では、MLCフラッシュメモリデバイスにSLCプログラミングする実施形態は、低レベルメモリドライバによって実行される。
【００５７】
要約すれば、本発明の実施形態は、複数のMLCデータと同じメモリアレイ内に、少なくとも一つのSLCメモリセルを備えるMLC不揮発性メモリデバイスを作り出す。MLCデバイスへのSLCデータのプログラミング／読み出しは、データの信頼性もしくはアドレスに応じて、低レベルソフトウェアドライバを実行する制御回路／プロセッサよって動的に決定される。これは、MLC不揮発性メモリデバイスの末端消費者に、より高い信頼性のために、センシティブな（正確さを必要とする）コードデータをSLC領域に記憶するオプションと、および、他のそれほどセンシティブでない（正確さを必要としない）データを、アレイのより高密度なMLC領域に記憶するオプションを提供する。
【００５８】
特定の実施形態は本明細書において説明され論じられたが、同じ目的を達成すると予想されるあらゆる構成が、示した特定の実施形態と置換えられ得ることが、当業者に理解されるだろう。本発明の複数の変形が当業者には明らかである。従って、本出願は、本発明の任意の変形形態、もしくは変更形態を包含することが意図されている。本発明は、付随の請求項と、その均等物によってのみ制限されることを明白に意図している。
【図面の簡単な説明】
【００５９】
【図１】図1は、本発明のNANDフラッシュメモリアレイのための一実施形態の概略図を示す。
【図２】図2は、マルチレベルセルメモリアレイのための、閾値電圧分布の一実施形態の図を示す。
【図３】図3は、本発明のプログラミング方法による、簡略化したメモリアレイの一実施形態の図を示す。
【図４】図4は、マルチレベルセルメモリデバイスのシングルレベルセルプログラミングのための本発明の方法の一実施形態のフロー図を示す。
【図５】図5は、メモリシステムにおける本発明のシングルレベルセルプログラミング方法の実施のための、方法の一実施形態のフロー図を示す。
【図６】図6は、本発明のメモリシステムの一実施形態のブロック図を示す。
【図７】図7は、本発明のメモリモジュールの一実施形態のブロック図を示す。
【図８】図8は、不揮発性メモリ集積回路のプログラミング／読み出しのための、本発明のソフトウェアモジュールの一実施形態のブロック図を示す。
【図１】
2009518775.tif 000003
【図２】
2009518775.tif 000004
【図３】
2009518775.tif 000005
【図４】
2009518775.tif 000006
【図５】
2009518775.tif 000007
【図６】
2009518775.tif 000008
【図７】
2009518775.tif 000009
【図８】
2009518775.tif 000010
【手続補正書】
【提出日】平成20年8月4日(2008.8.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マルチレベルセルメモリデバイスに、シングルレベルプログラミングするための方法であって、
前記方法が、
前記セルの最下位ビット、もしくは最上位ビットのどちらか一つに所望のデータを書き込むステップと、
前記セルの閾値電圧が、前記所望のデータに必要とされる電圧レベルに調節されるように、補強データを前記セルの残りのビットに書き込むステップと、
を含む方法。
【請求項２】
書き込まれるデータの種類を決定するステップをさらに含む、請求項1の方法。
【請求項３】
前記データの種類が、高い信頼性を必要とするデータ、および高記憶密度を必要とするデータを含む、請求項2の方法。
【請求項４】
前記補強データを書き込むステップが、前記セルの前記閾値電圧を前記所望のデータに必要とされる電圧レベルまで変更する、請求項1の方法。
【請求項５】
前記所望のデータが、マルチレベルセル閾値電圧範囲内の閾値電圧を、論理1状態が前記範囲の最も負にあり、且つ、論理0状態が前記範囲の最も正にあるように持つ、請求項4の方法。
【請求項６】
前記メモリデバイスが、NANDフラッシュメモリデバイスである、請求項1の方法。
【請求項７】
読み出しされるマルチレベルセルデータをシングルレベルセルデータに写像することにより、前記所望のデータを読み出しステップをさらに含む請求項1の方法。
【請求項８】
「11」状態を論理1状態に写像し、且つ「10」状態を論理0状態に写像する請求項7の方法。
【請求項９】
請求項1の方法であって、さらに、
少なくとも一つのメモリセルの最下位ページ、もしくは最上位ページのどちらかに所望のデータを書き込むステップと、
前記少なくとも一つのメモリセルの残りのページに、補強データを書き込み、前記残りのページが、各セルの前記先に書き込まれたページと近接しないページであり、且つ、前記所望のデータへの補強データから成るようにするステップを含む、請求項1の方法。
【請求項１０】
前記最上位ページが、前記最下位ページから少なくとも4ページ離れたところにある、請求項9の方法。
【請求項１１】
前記最上位ページが、前記シングルレベルアレイ領域のロー0で、前記最下位ページから4ページ離れたところにあり、且つ前記領域の残りのローで、前記最下位ページから6ページ離れたところにある、請求項10の方法。
【請求項１２】
セルのアレイに形成される複数のマルチレベルセルと、
メモリドライバに応じて、シングルレベルセルとしてプログラムされ、読み出しされる、前記セルのアレイ内の、少なくとも一つのシングルレベルセルを含み、
前記メモリドライバが、
所望のデータを、前記少なくとも一つのシングルレベルセルの最下位ビット、もしくは最上位ビットのどちらか一つに書き込み、且つ、前記セルの閾値電圧が、前記所望のデータによって必要とされる電圧レベルへと調節されるように、補強データを前記セルの残りのビットに書き込む、
ように構成される、
メモリデバイス。
【請求項１３】
前記少なくとも一つのシングルレベルセルが、前記マルチレベルセルに記憶されるデータよりも高い信頼性を必要とするデータを記憶するために、前記ドライバによって動的に選択された複数のセルである、請求項12のデバイス。
【請求項１４】
プログラムされるシングルレベルセルが、論理1状態、もしくは論理0状態のどちらかに写像された、閾値電圧レベルを含む、請求項12のデバイス。
【請求項１５】
メモリ信号を生成し、メモリドライバを実行する、プロセッサと、
前記プロセッサに接続され、前記メモリ信号に応じて動作するメモリデバイスと、を含むメモリシステムであって、
前記メモリデバイスが、
セルのアレイとして形成される複数のマルチレベルセルと、
前記メモリドライバに応じて、少なくとも一つのマルチレベルセルを、シングルレベル形式でプログラムする制御回路と、を含み、
前記メモリドライバが、
所望のデータを、前記少なくとも一つのマルチレベルセルの最下位ビット、もしくは最上位ビットのどちらか一つに書き込み、且つ、前記セルの閾値電圧が前記所望のデータに必要とされる電圧レベルへと調節されるように、補強データを前記セルの残りの
ビットに書き込む、
ように構成される、
メモリシステム。
【請求項１６】
前記補強データが、プログラムされているセルの閾値電圧レベルを前記所望のデータと一致するレベルまで増加させる請求項15のシステム。
【請求項１７】
前記所望のデータが、論理0状態のための正の閾値電圧である、請求項16のシステム。
【請求項１８】
論理1状態が、前記閾値電圧の範囲内の前記論理0状態から最も離れた状態である、請求項15のシステム。
【請求項１９】
前記制御回路によって実行され、データが書き込まれる前記メモリデバイスの記憶位置を選択する高レベルドライバと、
前記高レベルドライバに接続され、書き込まれているデータの種類に応じて、前記高レベルドライバによって決定されるマルチレベルセルメモリ位置に、シングルレベルセルデータを書き込むために、前記制御回路によって実行される低レベルドライバと、をさらに含む請求項15のシステムであって、
前記低レベルドライバが、各前記マルチレベルセルメモリ位置の最下位ビット、もしくは最上位ビットのどちらか一つに、前記シングルレベルセルデータを書き込み、且つ、各位置の閾値電圧が、前記所望のデータによって必要とされる電圧レベルへと調節されるように、補強データを各前記マルチレベルセルメモリ位置の残りのビットに書き込むように構成された、請求項15のシステム。
【請求項２０】
前記データの種類が、高信頼性データ、もしくは、センシティブなデータのどちらかを含む、請求項19のシステム。
【国際調査報告】
2009518775.tif 000011
2009518775.tif 000012
2009518775.tif 000013