(57)【特許請求の範囲】
【請求項１】
メモリアレイ中の不揮発性メモリセルをリフレッシュするための方法であって、
第一のメモリブロックにおける不揮発性メモリセルの動作パラメータの低下の兆候について監視することと、
前記動作パラメータの前記低下の兆候を示す、前記第一のメモリブロックにおける不揮発性メモリセルに記憶されたデータを第二のメモリブロックの不揮発性メモリセルへと動かすことと、
前記データを前記第二のメモリブロックの不揮発性メモリセルへと動かす前に、前記データに対してエラー訂正符号化を実行することと、
前記データを前記第二のメモリブロックの不揮発性メモリセルへと動かし、前記第一のメモリブロックが修復可能であるかどうかを判定し、かつ、修復可能な場合は前記第一のメモリブロックに対してリクラメーションプロセスを実行することと、
を含み、
前記動作パラメータは、前記不揮発性メモリセルをプログラムするためのプログラムパルスの量を含む
方法。
【請求項２】
前記データを動かすことが、
前記動作パラメータの低下を示す各セルからデータを読み出すことと、
前記データに対してエラー訂正を実行することと、
前記データを前記メモリアレイ中の前記他のメモリセルへと書き込むこととを含む、請求項１に記載の方法。
【請求項３】
第一のメモリブロックにおける不揮発性メモリセルの動作パラメータを監視することと、
前記動作パラメータのいずれかが各パラメータ毎の動作範囲から外れる場合、前記第一のメモリブロックにおける各メモリセルからデータを読み出すことと、
エラー訂正されたデータを作り出すために、前記各メモリセルからのデータに対してエラー訂正動作を実行することと、
前記エラー訂正されたデータを前記第二のメモリブロックの不揮発性メモリセルに書き込むこととをさらに含む、請求項１に記載の方法。
【請求項４】
前記第一のメモリブロックが不良であるという兆候を発生することをさらに含む、請求項３に記載の方法。
【請求項５】
前記第一のメモリブロックへ向けられたメモリアクセスを前記第二のメモリブロックにリダイレクトすることをさらに含む、請求項３に記載の方法。
【請求項６】
前記エラー訂正動作を実行することが、ハミング符号、BCH符号、リード・ソロモン符号、リード・マラー符号、２元ゴレイ符号、トレリス符号化変調のうちの一つを含むエラー訂正符号動作を実行することを含む、請求項３に記載の方法。
【請求項７】
前記監視を行う場合、
パルス数とプログラム電圧によって決定される、メモリセルを所定のプログラム状態にプログラムするために必要なプログラミングパルスの変化量を監視する
請求項３に記載の方法。
【請求項８】
複数のメモリセルを含むメモリアレイと、
前記メモリアレイに結合した、前記メモリアレイの動作を制御するためのメモリコントローラであって、前記複数のメモリセルの疲労状態を監視し、かつ、疲労状態を示す第一のメモリセルから第二のメモリセルへとデータを動かすことによって前記メモリセルをリフレッシュし、前記第二のメモリセルをプログラミングする前に前記データに対してエラー訂正を実行し、前記第一のメモリセルが修復可能であるかどうかを判定し、かつ、修復可能な場合は前記第一のメモリセルに対してリクラメーションプロセスを実行するように構成された、メモリコントローラと、
を含み、
前記疲労状態は、前記不揮発性メモリセルをプログラムするためのプログラムパルスの量を含む動作パラメータに基づいて示される
メモリデバイス。
【請求項９】
アナログ電圧として記憶された前記データを、前記アナログ電圧のデジタル表現へと変換する読み出し／書き込みチャネルをさらに含む、請求項８に記載のメモリデバイス。
【請求項１０】
前記読み出し／書き込みチャネルが、前記アナログ電圧の前記デジタル表現を前記アナログ電圧へと変換するためのデジタル‐アナログ変換器をさらに含む、請求項９に記載のメモリデバイス。
【請求項１１】
デジタルビットパターンをあらわすアナログ電圧を記憶するように構成された複数のメモリセルを含むメモリデバイスと、
前記メモリデバイスに結合した、前記メモリデバイスの動作を制御するためのコントローラであって、前記メモリセルの疲労状態を監視し、かつ、少なくとも一つの疲労状態を示すメモリセルを含む第一のメモリブロックから第二のメモリブロックへとデータを転送し、前記第二のメモリセルをプログラミングする前に前記データに対してエラー訂正を実行するように構成された、コントローラと、
前記コントローラを前記メモリデバイスに結合し、かつ、前記アナログ電圧の前記デジタルビットパターンへのアナログ‐デジタル変換と、前記デジタルビットパターンの前記アナログ電圧へのデジタル‐アナログ変換とをもたらすための読み出し／書き込みチャネルとを含み、
前記疲労状態は、前記不揮発性メモリセルをプログラムするためのプログラムパルスの量を含む動作パラメータに基づいて示され、
前記コントローラが、前記第一のメモリブロックが修復可能であるかどうかを判定し、かつ、修復可能な場合は前記第一のメモリブロックに対してリクラメーション動作を実行するように構成される
ソリッドステート大容量記憶システム。
【請求項１２】
前記メモリデバイスがNANDフラッシュメモリデバイスである、請求項１１に記載のシステム。
【請求項１３】
前記アナログ電圧が、複数のビットを含むデジタルビットパターンをあらわす、請求項１１に記載のシステム。
【請求項１４】
前記コントローラがさらに、前記第一のメモリブロックへ向けられたメモリアクセスを前記第二のメモリブロックへと転送するように構成される、請求項１１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概して半導体メモリに関し、より具体的には、一つ以上の実施形態において、ソリッドステート不揮発性メモリデバイスに関する。
【背景技術】
【０００２】
一般に電子デバイスは、自身が利用可能な一種の大容量記憶デバイスを有する。一般的な例としてはハードディスクドライブ（HDD）がある。HDDは比較的低コストで大容量の記憶が可能であり、現在、1テラバイトを超える容量の民生用HDDが利用可能である。
【０００３】
HDDは通常、回転する磁気メディアもしくはプラッタ上にデータを記憶する。典型的には、データはプラッタ上に磁束反転のパターンとして記憶される。典型的なHDDにデータを書き込むためには、データをあらわすためにプラッタ上に磁気粒子を整列させるよう、プラッタの上方に浮いている書き込みヘッドが連続磁気パルスを発生する間、プラッタが高速回転される。典型的なHDDからデータを読み出すためには、磁気抵抗読み出しヘッドが、高速回転されるプラッタの上方に浮かんでいる際に、その中に抵抗変化が誘導される。実際には、結果として得られるデータ信号はアナログ信号であり、そのピークとバレーはデータパターンの磁束反転の結果である。その後、PRML（partial response maximum likelihood）と呼ばれるデジタル信号処理技術を使用してアナログデータ信号をサンプリングし、そのデータ信号の発生に関与する推定データパターンを決定する。
【０００４】
HDDはその機械的性質に起因するある欠点を持つ。HDDは、衝撃、振動、もしくは強磁場により損傷しやすく、あるいは過剰な読み出し／書き込みエラーを生じやすい。加えて、HDDは携帯用電子機器において比較的大量に電力を消費する。
【０００５】
大容量記憶デバイスの別の例として、ソリッドステートドライブ（SSD）がある。回転メディア上にデータを記憶する代わりに、SSDはデータを記憶するために半導体メモリデバイスを利用するが、ホストシステムに対して典型的なHDDのように見せるようなインターフェースやフォームファクターを含む。SSDのメモリデバイスは通常は不揮発性フラッシュメモリデバイスである。
【０００６】
フラッシュメモリデバイスは、幅広い電子用途用の不揮発性メモリの一般的な供給源へと発展してきた。フラッシュメモリデバイスは通常、高メモリ密度、高信頼性、低消費電力を可能にする1トランジスタメモリセルを使用する。電荷蓄積層もしくは電荷トラップ層のプログラミング、または他の物理現象を通してのセルの閾値電圧の変化が、各セルのデータ値を決定する。フラッシュメモリや他の不揮発性メモリの一般的用途は、パーソナルコンピューター、携帯端末（PDA）、デジタルカメラ、デジタルメディアプレーヤー、デジタルレコーダー、ゲーム、電化製品、車両、ワイヤレスデバイス、携帯電話、および着脱式メモリモジュールを含み、不揮発性メモリの用途は拡大し続けている。
【０００７】
HDDとは異なり、一般的にSSDの動作は、固体（ソリッドステート）の性質により、振動、衝撃、もしくは磁場の心配がない。同様に、可動部品がないSSDはHDDよりも所要電力が低い。しかしながら、現在のところSSDは同じフォームファクターのHDDと比べて記憶容量がかなり低く、ビット当たりのコストが著しく高い。
【０００８】
上記の理由から、ならびに、本明細書を読んで理解することで当業者に明らかとなるであろう他の理由から、大容量記憶装置の代替オプションが当技術分野で必要とされている。
【図面の簡単な説明】
【０００９】
【図１】本開示の一実施形態に従うメモリデバイスの略ブロック図である。
【図２】図１のメモリデバイスで見られ得るようなNANDメモリアレイの一実施例の一部の概略図である。
【図３】本開示の一実施形態に従うソリッドステート大容量記憶システムの略ブロック図である。
【図４】本開示の一実施形態に従う、読み出し／書き込みチャネルによってメモリデバイスから受信され得るデータ信号を概念的に示す波形図である。
【図５】本開示の一実施形態に従う電子システムの略ブロック図である。
【図６】疲労状態に基づいて不揮発性メモリセルをリフレッシュするための方法の一実施形態のフローチャートである。
【発明を実施するための形態】
【００１０】
以下の「発明を実施するための形態」では、本明細書の一部をなす添付図面を参照し、図面には、本発明の実施形態が実施され得る具体的な実施形態が例として示されている。これらの実施形態は、当業者が本発明を実施できるように充分詳細に記載されている。当然のことながら他の実施形態が利用されてもよく、本開示の範囲から逸脱することなく、プロセスの変更、電気的変更、もしくは機械的変更がなされてもよい。従って以下の「発明を実施するための形態」は、限定的な意味で解釈されるべきではない。
【００１１】
従来のソリッドステートメモリデバイスはバイナリ信号の形式でデータを渡す。典型的には、接地電位が1ビットのデータの第一の論理レベル（例えばデータ値‘0’）をあらわし、一方電源電位が1ビットのデータの第二の論理レベル（例えばデータ値‘1’）をあらわす。マルチレベルセル（MLC）は、例えば各範囲が200 mVの4通りの異なる閾値電圧（Vt）範囲を割り当てられ、各範囲は固有のデータ状態に対応し、それによって4通りのデータ値もしくはビットパターンをあらわす。典型的には、0.2 Vから0.4 Vのデッドスペースもしくはマージンが各範囲間にあり、Vt分布が重複しないようになっている。セルのVtが第一の範囲内にある場合、セルは論理状態11を記憶するとみなされ、典型的にはセルの消去状態とみなされる。Vtが第二の範囲内にある場合、セルは論理状態10を記憶するとみなされる。Vtが第三の範囲内にある場合、セルは論理状態00を記憶するとみなされる。そしてVtが第四の範囲内にある場合、セルは論理状態01を記憶するとみなされる。
【００１２】
上記のように従来のMLCデバイスをプログラミングする際には、一般的に、セルは消去状態に対応するようにブロック単位でまず消去される。セルのブロックの消去後、必要であれば、各セルの最下位ビット（LSB）が最初にプログラムされる。例えばLSBが1であるならばプログラミングは必要ないが、LSBが0であるならば、ターゲットメモリセルのVtを、論理状態11に対応するVt範囲から論理状態10に対応するVt範囲へと動かす。LSBのプログラミング後、同様に各セルの最上位ビット（MSB）がプログラムされ、必要に応じてVtをシフトする。従来のメモリデバイスのMLCを読み出す際には、1回以上の読み出し動作が、概してセル電圧のVtがどの範囲に入るかを決定する。例えば、第一の読み出し動作は、ターゲットメモリセルのVtが、MSBが1もしくは0であることを示すかどうかを判定し、一方第二の読み出し動作は、ターゲットメモリセルのVtが、LSBが1もしくは0であることを示すかどうかを判定し得る。しかしながらいずれの場合も、各セルに何ビットが記憶されているかにかかわらず、ターゲットメモリセルの読み出し動作からは1ビットしか返されない。このような複数のプログラム動作と読み出し動作の問題は、各MLCに記憶されるビットが増えるにつれ、ますます厄介になる。そのようなプログラム動作もしくは読み出し動作の各々は二項演算であり、つまり、各動作はセルあたり1ビットの情報しかプログラムしない、あるいは返さないので、各MLCにより多くのビットを記憶することは動作時間の延長につながる。
【００１３】
実施形態例のメモリデバイスは、データをVtの範囲としてメモリセルに記憶する。しかしながら従来のメモリデバイスとは対照的に、プログラム動作と読み出し動作は、データ信号をMLCデータ値の離散ビットとしてではなく、MLCデータ値の全表現として利用することができ、例えばMLCデータ値の完全ビットパターンとして利用できる。例えば2ビットのMLCデバイスでは、セルのLSBをプログラムした後に続いてセルのMSBをプログラムするのではなく、これら2ビットのビットパターンをあらわすターゲット閾値電圧がプログラムされ得る。つまり、第一のビットに対して第一の閾値電圧へプログラムしたり、第二のビットに対して第二の閾値電圧へシフトしたりするのではなく、メモリセルがターゲット閾値電圧を得るまで、一連のプログラム動作と検証動作がメモリセルに適用される。同様に、セルに記憶された各ビットを判定するために複数の読み出し動作を利用する代わりに、セルの閾値電圧が判定され、セルの完全なデータ値もしくはビットパターンをあらわす単一信号として渡され得る。種々の実施形態のメモリデバイスは、従来のメモリデバイスでなされるように、メモリセルの閾値電圧が、ある公称閾値電圧よりも高いか低いかを見るだけではない。その代わりに、一連の考えられる閾値電圧にわたってそのメモリセルの実際の閾値電圧をあらわす電圧信号が発生する。この方法の利点は、セルカウントあたりのビットが増えるにつれて顕著になる。例えば、メモリセルが8ビットの情報を記憶する場合、1回の読み出し動作は8ビットの情報をあらわす1つのアナログデータ信号を返す。
【００１４】
図１は、本開示の一実施形態に従うメモリデバイス101の略ブロック図である。メモリデバイス101は行と列に配置されたメモリセルのアレイ104を含む。種々の実施形態は基本的にNANDメモリアレイに関して記載されるが、種々の実施形態はメモリアレイ104の特定のアーキテクチャに限定されない。本発明の実施形態に適した他のアレイアーキテクチャの実施例のいくつかは、NORアレイ、ANDアレイ、仮想グラウンドアレイを含む。しかしながら一般的に、本明細書に記載された実施形態は、各メモリセルの閾値電圧をあらわすデータ信号の発生を可能にするいかなるアレイアーキテクチャにも適用可能である。
【００１５】
メモリデバイス101に供給されるアドレス信号をデコードするため、行デコード回路108と列デコード回路110が備えられる。アドレス信号は、メモリアレイ104にアクセスするために受信され、デコードされる。メモリデバイス101は、メモリデバイス101へのコマンド、アドレス、データの入力、およびメモリデバイス101からのデータ、状態情報の出力を管理する入力／出力（I/O）制御回路112も含む。アドレスレジスタ114はI/O制御回路112と行デコード回路108と列デコード回路110との間に結合し、デコードの前にアドレス信号をラッチする。コマンドレジスタ124はI/O制御回路112と制御論理116との間に結合し、受信コマンドをラッチする。制御論理116はコマンドに応えてメモリアレイ104へのアクセスを制御し、外部プロセッサ130のために状態情報を発生する。制御論理116は行デコード回路108と列デコード回路110に結合し、アドレスに応じて行デコード回路108と列デコード回路110を制御する。
【００１６】
制御論理116はサンプル／ホールド回路118にも結合する。サンプル／ホールド回路118は、受信または送信を問わず、アナログ電圧レベルの形式でデータをラッチする。例えば、サンプル／ホールド回路は、メモリセルに書き込まれるべきデータをあらわす受信電圧信号、またはメモリセルから検出される閾値電圧をあらわす送信電圧信号のいずれかをサンプリングするためのキャパシタもしくは他のアナログ記憶デバイスを含むことができる。サンプル／ホールド回路118は、外部デバイスにより強いデータ信号を供給するために、サンプリングされた電圧の増幅および／またはバッファリングをさらに提供してもよい。
【００１７】
アナログ電圧信号の処理は、CMOS撮像素子技術の分野で既知の方法と類似する方法をとってもよく、CMOS撮像素子技術の分野では、入射照明に応じて撮像素子のピクセルで発生した電荷レベルがキャパシタに記憶される。その後これらの電荷レベルは、基準キャパシタを差動アンプへの第二の入力として、差動アンプを用いて電圧信号に変換される。その後差動アンプの出力をアナログ‐デジタル変換（ADC）デバイスへと渡し、照度をあらわすデジタル値を得る。本発明の実施形態では、それぞれメモリセルの読み出しもしくはプログラミングのために、メモリセルの実際の閾値電圧もしくはターゲット閾値電圧をあらわす電圧レベルにかけられると、電荷がキャパシタに記憶され得る。この電荷は、その後、接地された入力もしくは他の基準信号を第二の入力として、差動アンプを用いてアナログ電圧へと変換され得る。差動アンプの出力は、その後、読み出し動作の場合にはメモリデバイスからの出力用にI/O制御回路112へと渡され、あるいは、メモリデバイスのプログラミングにおいては1回以上の検証動作中の比較用に使用され得る。I/O制御回路112は、読み出しデータをアナログ信号からデジタルビットパターンへ変換するアナログ‐デジタル変換機能と、書き込みデータをデジタルビットパターンからアナログ信号へ変換するデジタル‐アナログ変換（DAC）機能を随意に含むことができ、メモリデバイス101がアナログデータインターフェースもしくはデジタルデータインターフェースのいずれとの通信にも適合できるようになっていることに留意されたい。
【００１８】
書き込み動作中、メモリアレイ104のターゲットメモリセルは、Vtレベルをあらわす電圧がサンプル／ホールド回路118に保持されているレベルに一致するまで、プログラムされる。これは、一実施例として、保持されている電圧レベルをターゲットメモリセルの閾値電圧と比較する差動検出デバイスを用いて実現できる。従来のメモリプログラミングと酷似して、プログラミングパルスをターゲットメモリセルに印加して、所望の値に達するまで、あるいは所望の値を超えるまで、閾値電圧を増加することができる。読み出し動作では、ターゲットメモリセルのVtレベルは、ADC/DAC機能がメモリデバイスの外部に備わるか、あるいは内部に備わるかによって、アナログ信号として直接、あるいはアナログ信号のデジタル表現として、外部プロセッサ（図１では不図示）への転送用にサンプル／ホールド回路118へと渡される。
【００１９】
セルの閾値電圧は様々な方法で決定され得る。例えば、ターゲットメモリセルが活性化される時点でワード線電圧がサンプリングされ得る。あるいは、ターゲットメモリセルの第一のソース／ドレイン側にブースト電圧が印加され、閾値電圧は、その制御ゲート電圧と、別のソース／ドレイン側の電圧との差分として得られる。電圧をキャパシタに結合することにより、サンプリングされた電圧を記憶するために電荷がキャパシタと共有される。サンプリングされた電圧は閾値電圧と等しい必要はなく、単にその電圧をあらわすものであることに留意されたい。例えば、ブースト電圧をメモリセルの第一のソース／ドレイン側に印加し、その制御ゲートに既知の電圧を印加する場合、メモリセルの第二のソース／ドレイン側で生じる電圧は、メモリセルの閾値電圧をあらわすので、データ信号として得ることができる。
【００２０】
サンプル／ホールド回路118は、キャッシング、すなわち各データ値の多重記憶位置を含んでもよく、メモリデバイス101が、第一のデータ値を外部プロセッサに渡しながら次のデータ値を読み出すように、あるいは、第一のデータ値をメモリアレイ104に書き込みながら次のデータ値を受信するようになっていてもよい。状態レジスタ122はI/O制御回路112と制御論理116の間に結合し、外部プロセッサへの出力用に状態情報をラッチする。
【００２１】
メモリデバイス101は制御リンク132を介して制御論理116において制御信号を受信する。制御信号は、チップイネーブルCE#、コマンドラッチイネーブルCLE、アドレスラッチイネーブルALE、ライトイネーブルWE#を含んでもよい。メモリデバイス101は、コマンド（コマンド信号の形式で）、アドレス（アドレス信号の形式で）、データ（データ信号の形式で）を、多重化入力／出力（I/O）バス134を介して外部プロセッサから受信し、I/Oバス134を介して外部プロセッサへとデータを出力し得る。
【００２２】
特定の実施例では、コマンドはI/Oバス134の入力／出力（I/O）ピン[7:0]を介してI/O制御回路112で受信され、コマンドレジスタ124に書き込まれる。アドレスはバス134の入力／出力（I/O）ピン[7:0]を介してI/O制御回路112で受信され、アドレスレジスタ114に書き込まれる。データは、8個のパラレル信号を受信できるデバイスの場合は入力／出力（I/O）ピン[7:0]を介して、あるいは16個のパラレル信号を受信できるデバイスの場合は入力／出力（I/O）ピン[15:0]を介して、I/O制御回路112で受信され、サンプル／ホールド回路118へと転送される。データはまた、8個のパラレル信号を送信できるデバイスの場合は入力／出力（I/O）ピン[7:0]を介して、あるいは16個のパラレル信号を送信できるデバイスの場合は入力／出力（I/O）ピン[15:0]を介して、出力され得る。追加の回路や信号が提供されてもよく、図１のメモリデバイスは本開示の実施形態に焦点をあわせるのを助けるために簡略化されていることが、当業者にはわかるだろう。さらに、図１のメモリデバイスは種々の信号の受信と出力の一般的な慣習に従って記載されているが、種々の実施形態は、本明細書に明記されていない限り、記載された特定の信号やI/O構成に限定されないことに留意されたい。例えば、コマンド信号とアドレス信号は、データ信号を受信するものとは別の入力において受信されてもよく、あるいは、データ信号がI/Oバス134の単一I/Oラインを介してシリアル送信されてもよい。データ信号は個々のビットではなくビットパターンをあらわすので、8ビットデータ信号のシリアル通信は、個々のビットをあらわす8個の信号のパラレル通信と同じくらい効率的である。
【００２３】
図２は、図１のメモリアレイ104に見られるようなNANDメモリアレイ200の実施例の一部の概略図である。図２に示されるように、メモリアレイ200はワード線2021から202Nと、交差するビット線2041から204Mを含む。デジタル環境におけるアドレシングを簡略化するため、ワード線202の数とビット線204の数は一般的にそれぞれ2の何乗かである。
【００２４】
メモリアレイ200はNANDストリング2061から206Mを含む。各NANDストリングは、それぞれワード線202とビット線204の交点に位置するトランジスタ2081から208Nを含む。トランジスタ208は、図２ではフローティングゲートトランジスタとして描かれているが、データの記憶用の不揮発性メモリセルをあらわす。各NANDストリング206のフローティングゲートトランジスタ208は、例えば電界効果トランジスタ（FET）などの1つ以上のソース選択ゲート210と、例えばFETなどの1つ以上のドレイン選択ゲート212の間で、ソースからドレインへと直列に接続される。各ソース選択ゲート210はローカルビット線204とソース選択線214との交点に位置し、一方各ドレイン選択ゲート212はローカルビット線204とドレイン選択線215との交点に位置する。
【００２５】
各ソース選択ゲート210のソースは共通ソース線216に接続される。各ソース選択ゲート210のドレインは、対応するNANDストリング206の最初のフローティングゲートトランジスタ208のソースに接続される。例えば、ソース選択ゲート2101のドレインは対応するNANDストリング2061のフローティングゲートトランジスタ2081のソースに接続される。各ソース選択ゲート210の制御ゲートはソース選択線214に接続される。ある1つのNANDストリング206に対して複数のソース選択ゲート210が利用される場合、複数のソース選択ゲート210は、共通ソース線216と、そのNANDストリング206の最初のフローティングゲートトランジスタ208との間に直列に結合され得る。
【００２６】
各ドレイン選択ゲート212のドレインは、対応するNANDストリングのローカルビット線204に、ドレインコンタクトで接続される。例えば、ドレイン選択ゲート2121のドレインは、対応するNANDストリング2061のローカルビット線2041にドレインコンタクトで接続される。各ドレイン選択ゲート212のソースは、対応するNANDストリング206の最後のフローティングゲートトランジスタ208のドレインに接続される。例えば、ドレイン選択ゲート2121のソースは、対応するNANDストリング2061のフローティングゲートトランジスタ208Nのドレインに接続される。ある1つのNANDストリング206に対して複数のドレイン選択ゲート212が利用される場合、複数のドレイン選択ゲート212は、対応するビット線204と、そのNANDストリング206の最後のフローティングゲートトランジスタ208Nとの間に直列に結合され得る。
【００２７】
フローティングゲートトランジスタ208の典型的な構成は、図２に示すように、ソース230、ドレイン232、フローティングゲート234、制御ゲート236を含む。フローティングゲートトランジスタ208では、制御ゲート236がワード線202に結合している。フローティングゲートトランジスタ208の列は、所定のローカルビット線204に結合したNANDストリング206である。フローティングゲートトランジスタ208の行は、所定のワード線202に共通に結合したトラジスタである。他の形式のトランジスタ208も本開示の実施形態と併用されてもよく、例えばNROM、磁気トランジスタもしくは強誘電体トランジスタなど、2つ以上の閾値電圧範囲のうちの1つを推測するようプログラム可能なその他のトランジスタが併用されてもよい。
【００２８】
種々の実施形態のメモリデバイスは大容量記憶デバイスにおいて有利に使用され得る。種々の実施形態では、こうした大容量記憶デバイスは従来のHDDと同じフォームファクターと通信バスインターフェースをとってもよく、そのため様々な用途においてそうしたドライブと置き換えることができる。HDDの一般的なフォームファクターの一部は、現在のパーソナルコンピューターや大型デジタルメディアレコーダーでよく使用される3.5"、2.5"、PCMCIA（Personal Computer Memory Card International Association）フォームファクター、ならびに、携帯電話、携帯端末（PDA）、デジタルメディアプレーヤーなどの小型家電製品でよく使用される1.8"、1"フォームファクターを含む。一般的なバスインターフェースの一部は、universal serial bus（USB）、AT attachment interface（ATA）［integrated drive electronicsすなわちIDEとしても知られる］、シリアルATA（SATA）、small computer systems interface（SCSI）、Institute of Electrical and Electronics Engineers（IEEE）1394規格を含む。幅広い種類のフォームファクターと通信インターフェースがあげられたが、実施形態は特定のフォームファクターや通信規格に限定されない。さらに、実施形態はHDDフォームファクターや通信インターフェースに準拠する必要はない。図３は本開示の一実施形態に従うソリッドステート大容量記憶デバイス300の略ブロック図である。
【００２９】
大容量記憶デバイス300は、本開示の一実施形態に従うメモリデバイス301と、読み出し／書き込みチャネル305と、コントローラ310とを含む。読み出し／書き込みチャネル305は、メモリデバイス301から受信したデータ信号のアナログ‐デジタル変換と、コントローラ310から受信したデータ信号のデジタル‐アナログ変換とをもたらす。コントローラ310は、バスインターフェース315を通して大容量記憶デバイス300と外部プロセッサ（図３では不図示）との間の通信をもたらす。読み出し／書き込みチャネル305は、破線でメモリデバイス301'と描かれているように、1つ以上の追加メモリデバイスをサービスし得ることに留意されたい。通信用の1つのメモリデバイス301の選択は、マルチビットチップイネーブル信号もしくは他の多重化方式を通して処理できる。
【００３０】
メモリデバイス301はアナログインターフェース320とデジタルインターフェース325を通して読み出し／書き込みチャネル305へ結合される。アナログインターフェース320は、メモリデバイス301と読み出し／書き込みチャネル305の間にアナログデータ信号の通路を提供し、一方デジタルインターフェース325は、読み出し／書き込みチャネル305からメモリデバイス301への、制御信号、コマンド信号、アドレス信号の通路を提供する。デジタルインターフェース325はさらに、メモリデバイス301から読み出し／書き込みチャネル305への状態信号の通路を提供し得る。アナログインターフェース320とデジタルインターフェース325は、図１のメモリデバイス101について述べたように信号線を共有し得る。図３の実施形態はメモリデバイスへのデュアルアナログ／デジタルインターフェースを描いているが、メモリデバイス301が、制御信号、コマンド信号、状態信号、アドレス信号、データ信号を通過させるためにデジタルインターフェースのみを用いてコントローラ310と直接通信するよう、読み出し／書き込みチャネル305の機能が、図１について述べたようにメモリデバイス301の中に随意に組み込まれてもよい。
【００３１】
読み出し／書き込みチャネル305は、データインターフェース330や制御インターフェース335などの一つ以上のインターフェースを通してコントローラ310に結合する。データインターフェース330は、読み出し／書き込みチャネル305とコントローラ310の間にデジタルデータ信号の通路を提供する。制御インターフェース335は、コントローラ310から読み出し／書き込みチャネル305への、制御信号、コマンド信号、アドレス信号の通路を提供する。制御インターフェース335はさらに、読み出し／書き込みチャネル305からコントローラ310への状態信号の通路を提供し得る。状態信号とコマンド／制御信号は、制御インターフェース335をデジタルインターフェース325へつないでいる破線で描かれるように、コントローラ310とメモリデバイス301の間で直接渡されてもよい。
【００３２】
読み出し／書き込みチャネル305とコントローラ310は、図３では2つの別個のデバイスとして描かれているが、別の方法として、その機能は単一の集積回路デバイスによって実行されてもよい。メモリデバイス301を別個のデバイスのままにしておくことは、本発明の実施形態を異なるフォームファクターや通信インターフェースに適合させる上での柔軟性をさらに高めるが、メモリデバイス301もまた集積回路デバイスであることから、大容量記憶デバイス300全体を単一の集積回路デバイスとして製造できる。
【００３３】
読み出し／書き込みチャネル305は、デジタルデータストリームからアナログデータストリームへの変換、そしてその逆方向の変換を少なくとももたらすように適合された信号処理部である。デジタルデータストリームは、バイナリ電圧レベルの形式でデータ信号を提供する。つまり、第一の電圧レベルは第一のバイナリデータ値（例えば0）を持つビットをあらわし、第二の電圧レベルは第二のバイナリデータ値（例えば1）を持つビットをあらわす。アナログデータストリームは2つよりも多くのレベルを持つアナログ電圧の形式でデータ信号を提供し、異なる電圧レベルもしくは範囲は2ビット以上の異なるビットパターンに対応する。例えば、メモリセルあたり2ビットを記憶するように適合されたシステムでは、アナログデータストリームの電圧レベルのうち第一の電圧レベルもしくは範囲は11のビットパターンに対応し、アナログデータストリームの電圧レベルのうち第二の電圧レベルもしくは範囲は10のビットパターンに対応し、アナログデータストリームの電圧レベルのうち第三の電圧レベルもしくは範囲は00のビットパターンに対応し、アナログデータストリームの電圧レベルのうち第四の電圧レベルもしくは範囲は01のビットパターンに対応し得る。従って、種々の実施形態に従う1つのアナログデータ信号は、2つ以上のデジタルデータ信号へと変換され、その逆もまた然りである。
【００３４】
実際には、コントローラ310を通じたメモリデバイス301のアクセスのために、制御信号とコマンド信号がバスインターフェース315で受信される。望ましいアクセスの種類（例えば書き込み、読み出し、フォーマットなど）に応じて、アドレス値とデータ値もまたバスインターフェース315で受信され得る。共有バスシステムでは、バスインターフェース315は様々な他のデバイスと共にバスに結合される。特定のデバイスへ通信を向けるために、バス上のどのデバイスが後続コマンドを実行するかを示す識別値がバス上に置かれ得る。識別値が、大容量記憶デバイス300によってとられる値と一致する場合、コントローラ310はバスインターフェース315で後続コマンドを受け入れる。識別値が一致しなかった場合、コントローラ310は後続の通信を無視する。同様に、バス上での衝突を回避するために、共有バス上の種々のデバイスは、個別にバスを制御しながら、他のデバイスにアウトバウンド（外向きの）通信を止めるように指示してもよい。バス共有と衝突回避のためのプロトコルは周知であり、本明細書では詳述しない。コントローラ310は、その後、コマンド信号、アドレス信号、データ信号を処理のために読み出し／書き込みチャネル305へと渡す。コントローラ310から読み出し／書き込みチャネル305へと渡されるコマンド信号、アドレス信号、データ信号は、バスインターフェース315で受信される信号と同じである必要はないことに留意されたい。例えば、バスインターフェース315の通信規格は、読み出し／書き込みチャネル305もしくはメモリデバイス301の通信規格と異なってもよい。この場合、コントローラ310はメモリデバイス301へアクセスする前にコマンドおよび／またはアドレス方式を翻訳し得る。加えて、コントローラ310は、メモリデバイス301の物理アドレスが所定の論理アドレスに対して経時変化し得るように、1つ以上のメモリデバイス301内の負荷平準化をもたらし得る。従って、コントローラ310は外部デバイスからの論理アドレスをターゲットメモリデバイス301の物理アドレスへとマッピングする。
【００３５】
書き込み要求の場合、コマンド信号とアドレス信号に加えて、コントローラ310はデジタルデータ信号を読み出し／書き込みチャネル305へと渡す。例えば、16ビットデータワードでは、コントローラ310は第一もしくは第二のバイナリ論理レベルを持つ16個の個別信号を渡す。読み出し／書き込みチャネル305は、その後、デジタルデータ信号を、デジタルデータ信号のビットパターンをあらわすアナログデータ信号へと変換する。前述の実施例を続けて、読み出し／書き込みチャネル305は、16個の個別デジタルデータ信号を、所望の16ビットデータパターンをあらわす電位レベルを持つ単一のアナログ信号へと変換するデジタル‐アナログ変換を使用する。一実施形態では、デジタルデータ信号のビットパターンをあらわすアナログデータ信号はターゲットメモリセルの所望の閾値電圧をあらわす。しかしながら、1トランジスタメモリセルのプログラミングでは、隣接メモリセルのプログラミングが、その前にプログラムされたメモリセルの閾値電圧を増加させてしまうことがしばしばある。従って別の実施形態では、読み出し／書き込みチャネル305はこの種の予想される閾値電圧の変化を考慮し、アナログデータ信号が最終的な所望の閾値電圧よりも低い閾値電圧を示すように調節する。コントローラ310からのデジタルデータ信号の変換後、読み出し／書き込みチャネル305は、個々のメモリセルのプログラミングで使用するためのアナログデータ信号とともに、書き込みコマンドとアドレス信号をメモリデバイス301へと渡す。プログラミングはセル毎に起こり得るが、一般的には動作あたり1ページのデータに対して実行される。典型的なメモリアレイアーキテクチャの場合、1ページのデータはワード線に結合したメモリセルを1つおきに含む。
【００３６】
読み出し要求の場合、コントローラはコマンド信号とアドレス信号を読み出し／書き込みチャネル305へと渡す。読み出し／書き込みチャネル305は読み出しコマンドとアドレス信号をメモリデバイス301へと渡す。それに応じて、読み出し動作の実行後、メモリデバイス301は、アドレス信号と読み出しコマンドによって定められるメモリセルの閾値電圧を示すアナログデータ信号を返す。メモリデバイス301はそのアナログデータ信号をパラレルまたはシリアルに転送し得る。
【００３７】
アナログデータ信号はまた、不連続な電圧パルスとしてではなく、実質的に連続的なアナログ信号のストリームとして転送され得る。この場合、読み出し／書き込みチャネル305は、PRML（partial response maximum likelihood）と呼ばれるHDDアクセスで使用されるものと同様の信号処理を採用し得る。従来のHDDのPRML処理では、HDDの読み出しヘッドが、HDDプラッタの読み出し動作中に遭遇する磁束反転をあらわすアナログ信号のストリームを出力する。読み出しヘッドが遭遇する磁束反転に応じて発生するこのアナログ信号の真のピークとバレーをとらえようとするのではなく、信号パターンのデジタル表現を作成するために信号が周期的にサンプリングされる。このデジタル表現は、その後、アナログ信号パターンの発生に関与する磁束反転の推定パターンを決定するために分析され得る。これと同じタイプの処理を本開示の実施形態で利用できる。メモリデバイス301からのアナログ信号をサンプリングすることによって、アナログ信号の発生に関与する閾値電圧の推定パターンを決定するためにPRML処理を採用できる。
【００３８】
図４は、本開示の一実施形態に従う、読み出し／書き込みチャネル305によってメモリデバイス301から受信され得るデータ信号450を概念的に示す波形図である。データ信号450は周期的にサンプリングされ、サンプリングされた電圧レベルの振幅からデータ信号450のデジタル表現を作成できる。一実施形態では、データ信号450の定常状態部分の最中にサンプリングが起こるよう、サンプリングはデータの出力と同期され得る。こうした実施形態は、時間t1、t2、t3、t4において破線で示されるサンプリングによって描かれている。しかしながら、同期されたサンプリングの位置がずれると、データサンプルの値は定常値と著しく異なってしまう。別の実施形態では、データサンプルによって示される傾きの変化を観察することなどにより、どこで定常値が起こったと思われるかを決定できるよう、サンプリングレートを上げることができる。そうした実施形態は、時間t5、t6、t7、t8において破線で示されるサンプリングによって描かれ、時間t6とt7におけるデータサンプル間の傾きが定常状態条件を示し得る。そうした実施形態では、サンプリングレートと表現精度の間でトレードオフが生じる。サンプリングレートが高いほど、より高い表現精度につながるが、処理時間も増加する。サンプリングがデータ出力に同期されるか、あるいはより高頻度のサンプリングが使用されるかにかかわらず、その後デジタル表現を使用して、どの受信電圧レベルが、アナログ信号パターンの発生に関与すると思われるかを予測できる。そしてこの予測された受信電圧レベルのパターンから、読み出される個々のメモリセルの推定データ値を予測できる。
【００３９】
メモリデバイス301からのデータ値の読み出しの際にエラーが生じることを認識して、読み出し／書き込みチャネル305はエラー訂正を含んでもよい。エラー訂正は、予測されたエラーから回復するため、メモリデバイスだけでなくHDDでも一般的に使用される。典型的には、メモリデバイスはユーザーデータを第一のロケーションセットに格納し、エラー訂正符号（ECC）を第二のロケーションセットに格納する。読み出し動作中、ユーザーデータの読み出し要求に応じて、ユーザーデータとECCの両方が読み出される。既知のアルゴリズムを用いて、読み出し動作から返されたユーザーデータはECCと比較される。エラーがECCの範囲内であれば、エラーが訂正される。
【００４０】
図５は、本開示の一実施形態に従う電子システムの略ブロック図である。電子システムの例としては、パーソナルコンピューター、PDA、デジタルカメラ、デジタルメディアプレーヤー、デジタルレコーダー、電子ゲーム、電化製品、車両、ワイヤレスデバイス、携帯電話などが含まれ得る。
【００４１】
電子システムはホストプロセッサ500を含み、ホストプロセッサ500は、プロセッサ500の効率を高めるためにキャッシュメモリ502を含んでもよい。プロセッサ500は通信バス504に結合する。プロセッサ500の制御の下、種々の他のデバイスが通信バス504に結合してもよい。例えば電子システムは、ランダムアクセスメモリ（RAM）506、キーボード、タッチパッド、ポインティングデバイスなどといった1つ以上の入力デバイス508、オーディオコントローラ510、ビデオコントローラ512、1つ以上の大容量記憶デバイス514を含んでもよい。少なくとも1つの大容量記憶デバイス514はバス504との通信用のデジタルバスインターフェース515を含み、本開示の一実施形態に従う1つ以上のメモリデバイスは、2ビット以上のデータのデータパターンをあらわすデータ信号の転送用のアナログインターフェースを持ち、信号プロセッサは、バスインターフェース515から受信したデジタルデータ信号のデジタル‐アナログ変換と、そのメモリデバイス（群）から受信したアナログデータ信号のアナログ‐デジタル変換とを行うよう適合される。
【００４２】
メモリセル上にプログラムされた各状態に対する閾値電圧（Vt）の窓（領域）は、環境条件だけでなく、セルが経験するプログラム／消去サイクルの数で変化する。例えば、セルが多数のプログラム／消去サイクルを経験した後、Vt窓はディスターブ状態のために正常よりも大きくシフトする可能性があり、セルをプログラムするためにより多くのプログラムパルスが必要とされる可能性があり、および／またはセルのエラー率が増加する可能性がある。そうした状態は一般に疲労状態と呼ばれる。
【００４３】
メモリコントローラはメモリセルの疲労状態を監視できる。各セルもしくはセルのブロックの動作と信頼性を観察することにより、コントローラはセルの動作パラメータ（例えばプログラムパルス数、エラー率）が各パラメータ毎の所望範囲から外れるときを判定できる。一つ以上のパラメータが所望の動作範囲から外れると、メモリブロックは本開示の一つ以上の実施形態に従ってリフレッシュされる。
【００４４】
図６は疲労したメモリセルのブロックをリフレッシュするための方法の一実施形態のフローチャートを図示する。図示された実施形態は一つのメモリブロックのリフレッシュについて言及するが、別の実施形態はメモリセルの個々のページもしくは一つよりも多くのメモリブロックをリフレッシュしてもよい。
【００４５】
メモリコントローラは各メモリセルの疲労状態を監視する（601）。例えばコントローラは、メモリセルが疲労していることを示し得る動作パラメーターの低下の兆候を探し得る。そのような低下の兆候の一つとしては、一つもしくは複数のセルが、ある状態に達するために、その状態にプログラムするために通常必要とされるよりも大量のプログラミングパルスを必要とすることがある。別の兆候としては、一つもしくは複数のセルを完全に消去できないことがある。さらに別の兆候としては、特定のプログラム状態に対して、通常経験するよりも過剰にVtを移動させるプログラムディスターブがある。さらなる兆候としては、増加したエラー率および／または低下した他の動作パラメータを含む。
【００４６】
監視されたパラメータのいずれかが所望の動作範囲から外れている場合（603）、メモリブロック全体がリフレッシュされる。これは最初にメモリブロックからデータを読み出すことによって実現される（605）。一実施形態では、各メモリセルはセルに記憶されたデジタルビットパターン（すなわち1ビット以上）を示す特定のアナログ電圧にプログラムされる。メモリブロックからのデータの読み出しは、各セルに記憶されたアナログ電圧をアナログ読み出し回路で読み出すことを含む。
【００４７】
アナログ読み出し回路は、読み出される選択されたセルに結合したワード線に、増加する読み出し電圧（例えばランプ電圧）を与える。次に、選択されたセルに結合したビット線が電流について監視される。この電流は、ランプ電圧がセルの閾値電圧と等しいか、もしくは閾値電圧を超えるとき、セルがその閾値電圧によってオンにされていることを示す。この閾値電圧は選択されたセルに記憶されたアナログ電圧である。
【００４８】
読み出されたデータに対してエラー訂正スキームを実施できる（607）。例えばエラー訂正符号（ECC）を使用できる。ECCは、各データ信号が特定の構文規則に従わなければならない符号である。この読み出されたデータ信号における構文からのずれが大き過ぎない場合は、概ね自動的に検出されて訂正され得る。ECCの例としては、ハミング符号、BCH符号、リード・ソロモン符号、リード・マラー符号、２元ゴレイ符号、トレリス符号化変調を含む。いくつかのエラー訂正符号はシングルビットエラーを訂正しダブルビットエラーを検出できる。他の符号はマルチビットエラーを検出および／または訂正できる。
【００４９】
疲労したメモリブロックから読み出されたデータは、その後別のメモリブロックへと書き込まれる（609）。読み出されたデータに対してECCが使用された場合、エラー訂正されたデータは新しいメモリブロックへと書き込まれる（609）。古いメモリブロックへのあらゆるアクセスは新しいメモリブロックにリダイレクトされる。
【００５０】
その後、古いメモリブロックは再度使用されないように不良とマークされるか、あるいは疲労したセルを修復するリクラメーション（再生）プロセスを経ることができる（611）。メモリブロック中の一つもしくは複数のセルの疲労状態が修復不可能である場合、そのブロックは再度使用されるべきではない。一つもしくは複数のセルの疲労状態が、追加の消去動作もしくはプログラム動作などのリクラメーションプロセスによって修復できる場合、メモリブロックは修復されて再利用される。
【００５１】
［結論］
本開示の一つ以上の実施形態は、疲労したメモリブロック、ページ、もしくはメモリの他の領域から別のロケーションへデータを動かすことによって、疲労した不揮発性メモリセルをリフレッシュする。疲労した領域から読み出されるデータは、新しいロケーションに書き込まれる前に、エラー検出・訂正プロセスによって操作され得る。本発明の実施形態は、NANDフラッシュメモリ、NORフラッシュメモリ、もしくは他の種類の不揮発性メモリデバイスなど、不揮発性メモリデバイスで利用できる。
【００５２】
本明細書には特定の実施形態が図示され記載されているが、同じ目的を実現するように計算された任意の構成が、示された特定の実施形態と置き換えられてもよいことを、当業者は理解するだろう。本開示の多くの改作が当業者に明らかであろう。従って本出願は、本開示のいかなる改作もしくは変形をも包含することを意図する。
【図２】
0005483202.tif 000002
【図１】
0005483202.tif 000003
【図３】
0005483202.tif 000004
【図４】
0005483202.tif 000005
【図５】
0005483202.tif 000006
【図６】
0005483202.tif 000007