(57)【特許請求の範囲】
【請求項１】
其々が複数のページからなる複数のブロックを備えたメモリデバイスの制御方法であって、
前記複数のブロックのうち、第１のブロックに含まれる第１のページを指定する読み取りコマンドを発行することと、
前記読み取りコマンドが前記第１のブロックに対する所定回数以上の読み取りコマンドか否かを判定することと、
前記読み取りコマンドが前記第１のブロックに対する所定回数以上の読み取りコマンドであると判定された場合に、前記第１のブロック内において特定の一部のページのデータを読み取って、前記一部のページのデータに閾値を超えた数の誤りがあるか否かを判定することと、
前記誤りの数が前記閾値を超える場合、前記第１のブロックに対してリフレッシュ制御を行うための印を付けることと、
を含むメモリデバイスの制御方法。
【請求項２】
前記特定の一部のページは２以上のページからなり、前記２以上のページのいずれか一つのページに前記閾値を超えた数の誤りがあった場合に、前記一部のページのデータに前記閾値を超えた数の誤りがあると判定することを特徴とする請求項１に記載のメモリデバイスの制御方法。
【請求項３】
前記特定の一部のページを含む前記複数のページのデータは其々誤り訂正符号を用いて読み出されるものであって、前記誤り訂正符号により訂正可能となるエラーの数は、前記閾値よりも大きいことを特徴とする請求項２に記載のメモリデバイスの制御方法。
【請求項４】
前記印の付けられた前記第１のブロックに含まれる前記複数のページのデータをコピーすることと、
コピーされた前記複数のページのデータを再プログラムすることと、
を更に含む請求項１に記載のメモリデバイスの制御方法。
【請求項５】
電源投入時に、前記複数のブロックに対して前記印の有無を判定することを更に含み、
前記印の付けられた前記第１のブロックに含まれる前記複数のページのデータをコピーすること及び前記コピーされた前記複数のページのデータを再プログラムすることが共に前記電源投入時に行われることを特徴とする請求項４に記載のメモリデバイスの制御方法。
【請求項６】
前記コピーされた前記複数のページのデータを再プログラムした後に、前記第１のブロックに付けられた前記印を取り除くことを更に含む請求項４に記載のメモリデバイスの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
＜優先権出願＞
本出願は、２０１１年８月３１日に出願された米国特許出願第１３／２２２，２８２号に基づく優先権の利益を主張するものであり、それが参照によりその全体において本願に組み込まれる。
【背景技術】
【０００２】
種々のコンピュータシステムおよび電子機器は、不揮発性メモリを用いる。言い換えれば、電力が切断されているときでもメモリは記憶されたデータを失わない。これらの不揮発性メモリは再プログラムされ、読み取られ、電子的に消去されることが可能であり、デジタルオーディオプレーヤにおける音楽、デジタルカメラにおける画像、および携帯電話における構成データなどの種々のデータを記憶するのに適している。このようなメモリは、名前の由来の１つが、それが再プログラムされる前に１ブロックのメモリセルの内容を消去するためにフラッシュ作動が使用されることにある、フラッシュメモリとして一般に知られるデバイスを備える。この種類のメモリは、コンパクトフラッシュ（登録商標）メモリカード、ＵＳＢフラッシュメモリドライブ、および他のこのようなデバイスなどの製品における民生用として包装されることが多い。
【０００３】
フラッシュメモリは、典型的に、いくつかのセルからなり、それぞれが少なくとも２つのデータ状態のうちの１つに対してプログラム可能であり、ここで各データ状態は、１桁（例えば、１ビット）または複数桁のデータなどのデータ値に相当し得る。典型的なフラッシュメモリセルは、メモリセルのソースとドレイン領域との間の電気伝導を制御する浮遊ゲートまたは電荷捕獲などの電気的に遮蔽された電荷貯蔵構造を有する電界効果トランジスタからなる。データは、電荷貯蔵構造に記憶された電荷により表され、伝導性において結果として生じる変化は、ソースとドレイン領域との間で認められる。
【０００４】
電荷貯蔵構造は、メモリセルのソースおよびドレイン領域から制御ゲートを分離する。電荷貯蔵構造上に記憶された電子は、トンネル酸化物などの誘電体により、制御ゲート、ドレイン、およびソースから電気的に絶縁される。メモリセルが特定の電圧を制御ゲート上に設置することにより読み取られる場合、デバイスのソースとドレイン間の電気インピーダンスは、メモリセルの効果的な閾値電圧（Ｖｔ）に依存して、電流が流れることを許すか許さないかのどちらかになるであろう。貯蔵された電荷は、制御ゲートにより生成された電界を部分的に無効にするかまたは修正し、メモリセルの効果的な閾値電圧（Ｖｔ）における変化をもたらす。メモリセルが、１または０の値などの特定のデータ値に相当する特定のデータ状態にあるかどうかを判定するために、制御ゲートに印加された特定の電圧に応じた電流の有無が感知され用いられ得る。
【０００５】
いくつかのフラッシュメモリセルは３以上のデータ状態のうちの１つに対してプログラム可能であり、マルチレベルのメモリセルと呼ばれることが多い。例えば、４つの状態のうちいずれかに対してプログラム可能なマルチレベルのメモリセルは、１セルあたり２ビットのデータを記憶することができ、それにより従来のシングルビットのメモリセルに関して記憶可能なデータ量が二倍になる。
【０００６】
メモリセルは、典型的に、行と列の２次元配列に設置され、行のメモリセルは、ワード線と呼ばれることが多いアクセス線を介して結合され、また列のメモリセルは、データ線と呼ばれることが多いデータ線に結合される。読み取り用の所定のメモリセルの選択か、プログラミング用（「書き込み」と呼ばれることもある）の所定のメモリセルの選択かのどちらかを行うために、データ読み取りやプログラムの機能中にワード線とビット線が使用される。
【０００７】
メモリセルは、宇宙線や読み取り誘起干渉などの記憶されたデータの正確さに影響し得る種々の要因、およびフラッシュメモリセルの電荷貯蔵構造上に貯蔵された電荷を変更し得る他の要因を受けやすい。導体および絶縁体の誘導電場または磁界、容量結合、および有限抵抗も、ビット線とワード線との間に望ましくない結合あるいは干渉をもたらし得る。
【０００８】
これらの要因のうちのいずれかは、メモリセルの読み取りの正確さを減少し得る。可能なデータ状態の数が増加するにつれて、隣接データ状態間の差異を正確に識別するのがより難しくなるため、これらのような要因は、１メモリセルあたり２つ以上の可能なデータ状態を有するマルチレベルのメモリにおいてなおさら重要になり得る。
【図面の簡単な説明】
【０００９】
【図１】本発明のいくつかの実施形態を実行するために用いられてもよい、不揮発性メモリセルの横断面図である。
【図２】本発明のいくつかの実施形態と一致するＮＡＮＤフラッシュメモリ構造における不揮発性メモリセルのストリングの概観図である。
【図３】本発明のいくつかの実施形態と一致する、１ブロックのＮＡＮＤフラッシュ不揮発性メモリの概観図である。
【図４】本発明のいくつかの実施形態と一致する、不揮発性メモリのブロック図である。
【図５】本発明のいくつかの実施形態と一致する、電力循環に基づく不揮発性メモリリフレッシュ法を示すフローチャートである。
【図６】本発明のいくつかの実施形態と一致する、バックグラウンド不揮発性メモリリフレッシュ法を示すフローチャートである。
【図７】本発明のいくつかの実施形態と一致する、不揮発性メモリリフレッシュ法を用いるように動作可能な種々のデバイスを示す。
【発明を実施するための形態】
【００１０】
以下の本発明の実施形態の例の詳細な説明において、図面および解説の手段により、特定の本発明の実施形態の例に対する参照がなされる。これらの例は、当業者が本発明を実施し、種々の目的または実施形態にどのように適用されることができるかを図示するために役立つように十分に詳細に説明される。本発明の他の実施形態が存在し、本発明の範囲内であり、および論理的、機械的、電気的、および他の変更は、本発明の主題および範囲を逸脱することなくなされることができる。本願に記載の本発明の種々の実施形態の特徴または限定は、しかしながら、それらが組み込まれる実施形態の例において不可欠であり、本発明の他の実施形態または本発明を全体として制限せず、および本発明、その要素、動作、および適用に対するいかなる参照も、本発明を全体として制限せず、これらの実施形態の例を画定する役割のみを果たす。以下の詳細な説明は、したがって、本発明の種々の実施形態の範囲を限定せず、これは添付の特許請求の範囲によってのみ画定される。
【００１１】
図１は不揮発性メモリセルの一実施例を示す。ソース１０１およびドレイン１０２はＰ型の半導体材料などの基盤（基板）１０３の上に形成される。ソース１０１、ドレイン１０２、および基盤１０３は、いくつかの実施形態においてシリコンからなり、リン、ヒ素、またはアンチモンなどの五価電子を有するドーパントによりシリコン内の電子濃度が高まり、またはボロン、ガリウム、インジウム、またはアルミニウムなどの三価電子を有するドーパントにより正孔濃度が高まる。ドーパントは、典型的に、少量、添加され、質量が制御されて、半導体材料における所望の正孔濃度または電子濃度を引き起こし、その結果、ソース１０１やドレイン１０２などに余剰の電子が存在する場合には、Ｎ型材料となり、基盤材料（基板材料）１０３などに過剰な正孔が存在する場合には、Ｐ型材料となる。
【００１２】
その中に浮遊ゲート１０５などの電荷貯蔵構造が埋め込まれ、金属または導電ポリシリコンなどの導体からまたは（例えば、窒化物材料から形成される）電荷捕獲から製造される絶縁層１０４を形成するために、酸化シリコン（ＳｉＯ２）などの絶縁体材料が用いられる。制御ゲート１０６は同様に、導電材料から形成される。浮遊ゲート１０５は、メモリセルの別の導電要素には、直接、電気的に結合されないが、絶縁材料１０４内の「浮遊」である。浮遊ゲート１０５は、絶縁層１０４（例えば、二酸化シリコン（ＳｉＯ２）および／または酸化物、窒化物、および酸化物の組み合わせ（ＯＮＯ））のトンネル誘電部などの絶縁層１０４の薄い（例えば、１０ナノメートル）部分により、ソース１０１とドレイン１０２間のＰ型基盤材料１０３の領域から分離される。
【００１３】
動作中、電荷貯蔵構造１０５は、それがメモリセルの他の構成要素から電気的に遮蔽されることにより、電荷を貯蔵できる。電荷貯蔵構造１０５上で電荷レベルをプログラムするまたは消去することは、電子が、電荷貯蔵構造１０５を基盤１０３から分離している誘電体１０４の一部をトンネルする、ファウラーノルドハイムトンネル現象として知られるトンネリング過程を介して実行され得る。電荷貯蔵構造１０５を基盤１０３から分離している誘電体または材料の一部は従来、トンネル誘電体と呼ばれている。
【００１４】
大部分のフラッシュメモリデバイスは、メモリセルの配列、または動作の読み取り、プログラム、消去に用いられる電気回路に基づき、ＮＯＲフラッシュまたはＮＡＮＤフラッシュのどちらかとして分類される。
【００１５】
ＮＯＲフラッシュメモリにおいてメモリセルをプログラムする一実施例によると、ソース１０１は接地されることが可能であり、６ボルトなどの供給電圧がドレイン１０２に印加され得る。一実施形態において、ドレイン電圧はプログラムされるべきメモリセルを識別するのに用いられるビット線を介して印加される。１２ボルトなどのより高い電圧がメモリセルの制御ゲート１０６上にも設定され、正に荷電された制御ゲートに電子を引き寄せることにより、Ｐ型基盤内に反転領域を形成させる。ソースとドレインとの電圧差は、Ｐ型材料における反転領域との併用で、Ｐ型基盤１０３の反転領域を介して、ソース１０１とドレイン１０２との間にかなりの量の電子フローをもたらし、その結果、電子の運動エネルギーと制御ゲート電圧１０６により生成された電界は、トンネル誘電体の全域かつ電荷貯蔵構造１０５の上に高エネルギー（「ホット」としても知られる）電子のファウラーノルドハイムトンネル現象をもたらす。
【００１６】
電荷貯蔵構造は、それにより、ソース１０１とドレイン１０２の間の基盤１０３の領域上のいずれかの制御ゲートの正電荷の影響に対抗する負電荷を採用し、ワード線を介して制御ゲート１０６に印加されなければならない電圧を引き上げ、Ｐ型基盤材料１０３における反転領域に渡る導電をもたらす。言い換えれば、読み取り動作中に、ワード線の電圧が高電圧（５ボルトなど）になる場合、プログラム動作中に電荷貯蔵構造１０５上に貯蔵された電子の結果として、セルがより高い閾値電圧によりオンになることはないであろう。制御ゲートに印加された読み取り電圧は、消去されたメモリセルの閾値電圧Ｖｔより大きいが、プログラムされてしまったセルの基盤１０３における反転領域に渡る伝導が可能になるほど大きくはない。
【００１７】
ＮＡＮＤフラッシュにおけるメモリセルのプログラムの一実施例によれば、図１のメモリセルのソース１０１とドレイン１０２とが接地されることが可能であり、制御ゲート１０６はおそらく２０ボルトの電圧になり得る。より高い電圧がメモリセルのソースとドレインとの間で減速する「高温」電子の不在を補うため、この電圧は、ＮＯＲフラッシュ法を用いて同一のメモリセルをプログラムするために用いられる１２ボルトの制御ゲート電圧よりかなり高い。
【００１８】
ＮＯＲフラッシュメモリ電気回路を用いてメモリセルを消去する一実施例によれば、電子の同様のトンネル現象が、メモリセルの電荷貯蔵構造１０５からソース１０１にかけて起こり得る。いくつかの実施形態において、ソース１０１はドレインより深く拡散して消去性能を高める。一実施例によると、正電圧（１２ボルトなど）はソース１０１に印加されることができ、制御ゲート１０６は接地されることができ、消去動作を行うためにドレイン１０２は切断されたままになり得る。ソース１０１上の大きな正電圧は、負に荷電された電子を引き寄せ、それらに絶縁層１０４をトンネルさせ、浮遊ゲート１０５を放置するようにさせる。消去動作中、ソース１０１とドレイン１０２との間には非常にわずかな電流しか流れないため、消去動作の実行はわずかな電流しか必要とせず、比較的少量の電力しか消費しない。
【００１９】
ＮＡＮＤメモリ構造におけるメモリセルの消去動作の別の実施例によると、ソース１０１とドレイン１０２は浮遊したままになり得るが、基盤材料１０３は、高い正の電圧（２０ボルトなど）になり、負に荷電された電子を引き寄せ、それらを酸化絶縁層１０４を介して電荷貯蔵構造１０５から基盤材料１０３にトンネルさせる。基盤材料１０３におけるチャネル領域が電荷貯蔵構造１０５から電子を受けるため、この方法は「チャネル消去」として知られる場合もある。
【００２０】
図１に示すようなメモリセルは、図２に示されるように、ワード線として知られるアクセス線を介して、またビット線として知られるデータ線を介してアドレスされる配列で設置され得る。図２は選択的に単一のビット線に結合し得るメモリセルのストリングを含むＮＡＮＤフラッシュメモリ配列の一部分を示し、ストリング中に示されたメモリセルの各々はワード線２０２を介してさらに選択可能である。
【００２１】
メモリセル０から３１のストリングは、ストリングの他方の側で、ソース線２０３に選択的に結合し得る。ストリングは、各々の選択トランジスタ２０４の動作を介して、ビット線２０１およびソース線２０３に結合（または、ソース線から遮蔽）され得る。
【００２２】
一実施例において、選択された単一レベルのメモリセル２０２の読み取り動作を実行するために、ワード線と、したがって、選択されたメモリセル２０２の制御ゲートとは、低いが正の電圧レベルに維持されることができる一方、選択されなかったメモリセルのワード線は十分に高い電圧になることが可能であり、選択されなかったメモリセルに、個々のメモリセルの電荷貯蔵構造上に存在してもよいいずれの電荷とも無関係に電気を通させる。選択されたメモリセルが荷電されていない電荷貯蔵構造を有する場合、それは制御ゲート上の低い正の電圧レベルの結果として電気を通すであろうが、電荷貯蔵構造が負の電荷を有する場合、それは、セルが電気を通さないように、制御ゲートに印加された低い正の電圧以上にメモリセル２０２の閾値電圧を引き上げるであろう。したがって、メモリセルの電荷貯蔵構造のデータ状態は、例えば、伝導性を監視すること、またはビット線２０１とソース線２０３との間の電流の流れにより判定され得る。
【００２３】
一実施例において選択されたメモリセル２０２をプログラムするために、ビット線２０１およびソース線２０３は、接地されたビット線２０１およびソース線２０３にストリングを結合する線選択トランジスタ２０４を介して接地され得る。したがって、トランジスタに電気が通るように、選択トランジスタ２０４の制御ゲートは再度、電圧ソースに結合される。プログラムされる過程にないメモリセルの制御ゲートは十分に高い電圧（例えば、１０ボルト）になり、これらのメモリセルの不用意なプログラムを抑制する。選択されたメモリセル２０２の制御ゲートは２０ボルトなどの十分に高い電圧に結合し、その結果、電子は電荷貯蔵構造上にトンネルする。
【００２４】
しかしながら、宇宙線、プログラム誘起外乱、および読み取り誘起外乱などの外部要因は、貯蔵された電荷を徐々に変化させ、読み取り誤りおよび他の否定的影響を発生し得る、プログラムされたメモリセルの閾値電圧Ｖｔにおける変動をもたらす。
【００２５】
図２のようなメモリセルのストリングは、そのブロックがフラッシュメモリの最小の消去可能な単位になるようなブロックとして組織化され得る。図３は、本発明のいくつかの実施形態を実行するために用いられてもよい１ブロックのＮＡＮＤフラッシュメモリを示す。ここで、３０１に示された６４個の別々のワード線はブロック内のメモリにおける６４個の別々にアドレス可能な物理的なページを提供し、各ページは誤り訂正符号（ＥＣＣ）データなどの４０９６バイトのユーザデータと１２８バイトのオーバーヘッドデータ（スペアビットと呼ばれることもある）を記憶し得る。ＥＣＣデータは、いくつかのメモリ誤りを検出および／または訂正するために用いられ得る。この例示的な実施形態において、したがってブロックは２５６ｋＢのユーザデータに８ｋＢのオーバーヘッドデータを加えたものを記憶する。従来のフラッシュメモリデバイスはこのようなブロックを多く含み、例えば、１０２４個のブロックのメモリデバイスは、２５６ＭＢのユーザデータ記憶を提供する。
【００２６】
本発明のいくつかの実施形態を実行するために用いられもよいようなこのようなメモリデバイスのさらなる詳細な一実施例が、図３に示されたブロックなどのブロックの複数の平面図を示す図４に示される。ここで、４０１で示される平面（プレーン）０はメモリの偶数のブロックを含む一方、４０２で示される平面１はメモリの奇数のブロックを含み、合計で１０２４個のブロックを含む。メモリを２以上の平面に分割することで、メモリ動作をより早くすることができるが、メモリ動作を、読み取り、プログラム、および偶数、奇数の平面の同時消去に制限し得る。例えば、平面０のブロック０上で実行された消去動作はまた、平面１の消去ブロック１も含み、平面０のブロック１０２２に対しページをプログラムすることにより、平面１のブロック１０２３の対応ページをプログラムすることもできるであろう。
【００２７】
プログラムミング動作および読み取り動作は、それらが、書き込み動作で、または、読み取り動作のメモリセルのストリングにおける非選択セルに書き込まれつつあるメモリセルに対する電圧の印加を含む点において同様であるため、複数の読み取り、プログラム、および／または消去動作は、最終的に、プログラムされたメモリセルのデータ状態に影響し得る。例えば、従来のＮＡＮＤフラッシュメモリは、１ページあたり数千の読み取りのうちの数十または数百の読み取り後に破損した、そのプログラムされたメモリセルのデータ状態を有することが可能である。
【００２８】
いくつかの誤りはメモリに記憶された誤り訂正データを使用して訂正され得るが、より確実で十分なメモリ動作を提供し、マルチビットまたは他の回復不可能な誤りを避けるために発生する読み取り誤りの数を制限することが望ましくなり得る。例えば、図３に示すような６４ページまであるメモリブロックは、第６４ページが読まれる前に６３ページまでを読むためにブロック上で行われる数百万の読み取り動作を有してもよく、その結果、第６４ページにおいて回復不可能な読み取り誤りの可能性がかなり大きくなる。
【００２９】
したがって、本発明のいくつかの実施形態は、記憶されたデータの破壊または損失を防ぐために、徐々にメモリをリフレッシュすること（例えば、コピーおよび再プログラム）によりメモリ誤りの発生を減らそうとする。メモリのリフレッシュは、プログラムして以来の時間の経過、読み取り誤り閾値の超過、またはメモリデバイスまたはメモリコントローラの電源投入（直接的な電源投入か、またはメモリデバイスに結合されたメモリコントローラの電源投入などによる間接的な電源投入かのどちらか）などの要因の結果として行われ得る。
【００３０】
さらに詳細な例示的な実施形態において、メモリコントローラは体系的にメモリを読み通して所定の閾値を超えるメモリ誤りのレベルを有するブロックを検出し、誤りが回復不可能になる前にブロックをリフレッシュする。メモリセルがプログラムされる回数を制限することが望ましくなり得るため、不要なプログラムは、最小誤り閾値を超えなければ、データをリフレッシュしないことにより避けられ得る。例えば、誤り訂正データが１ページで２４ビットの訂正を可能にする場合は、訂正可能なビットの半分（この例では１２ビット）がブロック上で行われたページ読み取り動作における誤りとなると分かったときにのみ、１つのブロックがリフレッシュされてもよい。
【００３１】
携帯ゲーム機、スマートフォン、携帯媒体デバイス、および他のそのようなデバイスなどのいくつかのデバイスは、比較的頻繁に、電力循環し（すなわち、電力が供給され、また遮断される）、すべてのメモリをスキャンし潜在的な読み取り誤りを効果的に管理するデバイスの能力が減少する。したがって本発明のいくつかの実施形態は、電力循環を用いて不揮発性メモリ内で誤りを管理し、電力循環を用いるなどして、メモリスキャンおよびリフレッシュ動作をトリガし、非常に細かいレベルでこれらの動作を行う。
【００３２】
単一のメモリ走査およびリフレッシュ動作の影響は、１つの実施例において、ブロックレベルを走査してリフレッシュすることにより最小限にすることが可能となり、その結果、単一のブロックに記憶されたおそらくメガバイトのデータのコピーおよび再プログラムが、例えば、数百ミリ秒のうちに完了し得る。さらなる実施例において、少なくとも１つの異なるブロックは各電源投入に応答して走査され、定期的に必要があれば、確実にメモリのブロックが走査され、リフレッシュされるようにする。
【００３３】
デバイスの動作中、走査は、バックグラウンドタスクとしてブロックごとに継続することが可能であり、いずれかからの必要なリフレッシュが待ち行列に入れられ、バックグラウンドタスクの一部として、またはデバイスの次の電力循環の一部として完了する。電力供給が遮断されると、一実施例におけるデバイス再始動過程は、デバイスからのメモリのブロックに、リフレッシュする印がすでに付けられているかどうかを判定することを含む（例えば、リフレッシュする印が付けられているブロックのリフレッシュが、電力が遮断された前に完了していなかった場合など）。この方法は、さらなる実施例において、各ブロックで行われた読み取りを追跡し誤りに関してブロックの数ページを定期的に（例えば、数千の読み取りごとに）確認する追跡メカニズムにより補完され得る。
【００３４】
レジスタにおいてまたはメモリ配列自身の一部分などにおいて、誤りに関して確認されつつある最新のブロックの独自性は不揮発性メモリに記憶されることが可能であり、その独自性は、電力循環によりトリガされた、またはバックグラウンドタスクとして行われたブロック確認が、電力循環ごとに同一のブロックで再始動するよりはむしろメモリのすべてを通して進行することを確実にするために用いられ得る。リフレッシュは、ブロックにリフレッシュする印を付けることにより、電力循環を通してさらに追跡されることができ、その結果、待ち行列に入れられたまたは不完全なブロックのリフレッシュは、電源投入シーケンスの一部として、または電源投入シーケンスが完了した後のデバイス動作中に完了され得る。さらなる実施例において、不揮発性メモリは、デバイスまたはブロックごとに読み取られたページの数も記憶することができ、頻繁に再起動するデバイスが、デバイスの電力が遮断されてページ読み取りの数が分からなくなるのではなく電力循環を通して累積された読み取り動作を数えられるようにする。
【００３５】
図５は、本発明の例示的な実施形態と一致する、電源投入シーケンスによりトリガされたメモリ誤りを管理する方法を示すフローチャートである。５０１において、デバイスに電源が投入され、ブロック情報に関する不揮発性メモリ位置（例えば、レジスタ）を確認すること、またはメモリブロックに関連したフラグを確認することなどにより、メモリのいずれかのブロックがすでにリフレッシュする印が付けられているかどうかを判定することを含む電源投入シーケンスを開始する。５０２で何らかの方法でメモリブロックにリフレッシュする印が付けられている場合、ブロックに記憶されたデータは、５０３でコピーされ再プログラムされる。
【００３６】
５０２でリフレッシュする印が付けられているブロックがない場合、メモリの識別されたブロックが５０４で読み取られる。いくつかの実施形態において、メモリブロックは、電力循環に基づくメモリリフレッシュにおいて、次の未確認のメモリブロックに対するポインタを検索することにより識別されるため、方法は、各電源投入シーケンスで同一のメモリブロックで再開するよりむしろ、電力循環に渡りメモリを通して進行する。
【００３７】
ブロックが読み取られるとき、１ページあたりの誤りの数はＥＣＣを用いて数えられ、５０５で誤りの数が閾値を超えたかどうかが判定される。さらなる一実施例において、記憶されたＥＣＣデータを用いて１ページあたり２４ビットまで訂正可能なメモリは、ブロックのいずれのページでも１２ビット（例えば、訂正可能な数のビットのおよそ半分）が誤りであり、訂正される必要がある場合、その誤りの許容可能な数を超えている。訂正可能なビット数の３分の１などの他の閾値が、他の実施形態で用いられ得る。閾値は、メモリの寿命内で実施された動作の数またはメモリの年数などの要因に基づき変動し得る。
【００３８】
５０５で誤りの数が読み取り誤りに関して許容可能な閾値を超える場合、ブロックは５０６でリフレッシュする印を付けられる。その後、ブロックのデータがコピーされ、誤り訂正符号データが訂正可能な誤りを固定させるために用いられ、データは、５０７で再プログラムされる。デバイスの電源が遮断される、または方法がさもなければコピーおよび再プログラムが５０７で完了し得る前に妨げられる場合、デバイスが再度、電源投入されると、ブロックのデータが依然としてコピーされ再プログラムされることになるように（５０２および５０３などにおいて）、ブロックには、コピーおよび再プログラムの前にリフレッシュする印が付けられ得る。したがって、この実施例では、５０６でブロックにリフレッシュする印を付けるフラグは、コピーおよび再プログラムが５０７で完了するまでは除去されない。
【００３９】
メモリは、５０８で、通常の動作の準備ができている。いくつかの実施形態において、電源投入時にメモリブロックにリフレッシュする印が付けられている場合に実行される５０３のコピーおよび再プログラムは、完了時に準備状態をもたらさないが、その代わり、メモリデバイスの準備ができる前に、少なくとも１つの新しいブロックが準備される５０４に進み、少なくとも１つの新しいブロックが各通常の電力循環で確実に読み取られるようになり得る。
【００４０】
図５に示される方法は、各電力循環で少なくとも１つのブロックが確認またはリフレッシュされるのを確実にするために用いられ得るが、唯一のブロックが、電力循環の一部としてリフレッシュされるように構成されてもよい。典型的なブロックの読み取りは、現状では、いくつかの技術を用いてミリ秒程度かかるが、ブロックの再プログラムは、現状では、数百ミリ秒程度かかるため、数個のブロックの再プログラムは、電源投入シーケンス中に、メモリ有効性を大幅に遅らせ得るであろう。ＪＥＤＥＣフラッシュメモリ標準などのいくつかの標準は、メモリが電源投入後、１秒以内などの所定の期間内に動作の準備をすることを要求する。このため、図５に示された実施例などのいくつかの実施形態は、メモリが正常なアクセス動作の準備ができる前に、唯一のブロックが再プログラムされることを確実にすることなどにより、デバイス開始法の一部として発生するプログラム動作の数を制限し得る。
【００４１】
図５の電源投入リフレッシュ法は、さらなる実施例において、図６に示されるようなバックグラウンドメモリリフレッシュ法により補完され得る。このような実施例の１つの方法によれば、６０１で読み取りコマンドを受信した後に、６０２で、読み取りが行われ、（例えば、加算カウンタの値を増加させる、または減算カウンタの値を減少させることにより）読み取りカウンタが更新される。読み取りコマンドにより複数ページの読み取りが可能になるため、カウンタは、１ページが読み取られた回数を正しく数えることを確実に維持可能にするなどのコマンドを読み取るのではなく、読み取られたページの数を数え得る。読み取られたページ数が閾値に達すると（例えば、読み取られたページの数が、６０３で示されるように、１０２４ページに達すると）、リフレッシュ走査が開始される。例えば、６０４で、リフレッシュブロックポインタにより識別されたメモリの１ブロックの特定のページ数（例えば、１６ページ）が読み取られ、６０４で、誤りに関して確認される。他の実施形態では、他の適切な読み取り閾値および読み取られるべきページ数が用いられるであろう。
【００４２】
６０４で読み取られたデータの１６ページのうちのいずれかが、１ページで１２以上の誤りなどの、閾値（すなわち、一定の許容可能な誤りレート）を超える数の誤りを含み、またはＥＣＣがそのページ内で２４ビットまでを訂正することができる１ページにもっと誤りを含む場合は、リフレッシュブロックポインタにより識別されたブロックは、６０６で、リフレッシュする印が付けられる。その後、ブロックのデータは、６０７で示されるように、再プログラム（例えば、ページごとに）に関して、（例えば、バッファメモリに）読み取られコピーされ、訂正されて新しくプログラムされたデータとともにメモリ内に記憶されたデータを更新するなどする。ブロックのデータの再プログラムが成功すると、再プログラムされるべきブロックを示しているフラグは除去される。したがって、次の電力循環が起こる前にそれがうまく完了しない場合、再プログラムされるべきブロックを示しているフラグがまだ設定されることになるため、ブロックのコピーと再プログラムは次の電力循環で繰り返され得る。
【００４３】
バックグラウンドリフレッシュ法はその後、６０８で継続し、ページ読み取りカウンタは（例えば、ゼロに）再設定される。いくつかの実施形態において、読み取られたページの閾値は、特定のメモリ構造での読み取り妨害試験、メモリデバイス密度などの要因、および他のそのような要因に基づくことが可能である。
【００４４】
この実施例において、６０６でブロックにリフレッシュする印が付けられると、ブロック全体がコピーされることになるため、ブロックにおいてリフレッシュ走査の一部として読み取られる必要があるページはもうなくなる。いくつかの実施形態において、摩耗平準化法の一部として、ブロックのデータは物理的なメモリの別のブロック位置に移転し、許容不可能な読み取り誤りレートを有するとすでに判定されたメモリの物理的なブロックのさらなる摩耗を減少させる。
【００４５】
この例における６０６から６０７のブロックリフレッシュ法は、さらなるリフレッシュ走査読み取りが６０４で起こる前に完了し、リフレッシュする印が付けられたブロックの累積を防ぐ。別の実施形態において、図６に示される方法は、かろうじて１つのブロックのみがどの時点においてもリフレッシュする印が付けられるように動作する。
【００４６】
リフレッシュ走査方法の一部として読み取られている最新のブロックおよびページは、いくつかの実施形態において不揮発性メモリからなるメモリに記憶される。したがって、バックグラウンドリフレッシュ法のメモリ位置は電力循環中に失われることはない。さらなる実施例において、バックグラウンドリフレッシュ法の唯一のブロック位置は、それが比較的まれに更新されるため、不揮発性メモリに記憶され、走査するためにブロックの特定の１６ページ分を指摘するページ位置は、６０４で示されるように、揮発性のメモリ（ランダムアクセスメモリまたはＲＡＭなど）に記憶される。デバイスが電力循環を受けると、バックグラウンドリフレッシュ法は、不揮発性メモリで印を付けられたブロックの先頭で再開することになり、ブロックの残りの部分を走査し、バックグラウンドリフレッシュ処理が最近、走査していない不揮発性メモリに進む前に、ブロックのせいぜい一部分の走査を繰り返す。
【００４７】
誤り閾値レベル、リフレッシュレート、および他のパラメータは、さらなる実施形態において選択されることが可能であり、デバイスのリフレッシュ不足またはリフレッシュ過剰を避ける。訂正不可能な読み取り誤りが発生するかもしれないポイントに誤りを累積させることは、多くの場合、望ましくないものの、不揮発性メモリセルの望ましくない摩耗は、例えば、メモリデバイスの寿命を短縮させるため、不揮発性メモリを頻繁にリフレッシュし過ぎることもまた、多くの場合、望ましくない。
【００４８】
リフレッシュレートは、ページがリフレッシュされ得る前に発生する訂正不可能な読み取り妨害誤りの機会を減らすためにも選択され得る。一例として、合計で１０２４ブロック、１ブロックあたり２５６ページを有する不揮発性メモリを考える。１つのブロックの読み取り妨害が十分可能になるためにそのブロックで１ページあたり１００，０００の読み取りが必要である場合、１ページあたり１００，０００の読み取りに、１ブロックあたり２５６ページを乗じると、ブロック内でおよそ２，６００万の読み取りとなり、読み取り妨害イベントが十分に可能になる。１０２４ブロックで割られた１ブロックあたり２，６００万個の読み取りは、読み取り妨害誤りを十分に不可能にするために、１つのブロックが２６，０００のページ読み取りごとにリフレッシュされるべきであることを示唆する。１６，０００のページ読み取りごとに１ブロックなどのより速いレートでのリフレッシュは安全性を高める。
【００４９】
上述のように、読み取りを行うために費やされた時間は、特定のアプリケーションに適することになるリフレッシュパラメータを選択する際、１つの要因となり得る。バックグラウンドリフレッシュ法の一部として、一度にすべてのブロックを読み取るには、現在、約１００ミリ秒かかる可能性があり、これは電源投入時には許容できることもあるが動作中には望ましくない。リフレッシュ走査のために一度に単一のページを読み取ることは、現在、約１ミリ秒かかる可能性があるが、１６，０００のユーザページの読み取りあたり１ブロックがリフレッシュされる上述の実施例においては、６４ユーザページの読み取りごとに行われてもよい。同様に、リフレッシュ走査のために１６ページを読み取るには、現在、約８ミリ秒かかり、１６，０００のユーザページの読み取りごとに、ブロック全体をリフレッシュするために、１０２４のユーザページの読み取りごとに行われてもよい。
【００５０】
ブロックの読み取りおよびプログラミングには現在、約５００ミリ秒かかるため、誤りに関して確認するためにブロックを読み取る時間と、その後、そのブロックを読み取って再プログラムするための時間を合わせた合計時間は、この実施例では、約６００ミリ秒となる。１０２４ユーザページの読み取りごとのリフレッシュ走査に関して１６ページが読み取られると、そのユーザに対する全影響は、１０２４ページの読み取りごとに約８ｍｓの遅延となり、各ブロックの走査が完了されると不揮発性メモリにおいて活性ブロックアドレスを更新するためには、さらにそれに約２から３ｍｓが増加した遅延となるであろう。稀にリフレッシュが必要となる場合には、さらに５００ｍｓの遅延が発生して、そのブロックをコピーして再プログラムするであろう。これは最も現実的な環境のアプリケーションにおいて一般的でない事象になると予想され、また回復不可能な読み取り誘導メモリ誤りより望ましいため、２分の１の遅延は大体のアプリケーションにとって許容可能でなければいけない。５００ｍｓの遅延に耐用性がないアプリケーションにとって、ブロックのリフレッシュは、複数の動作に分かれ得る。例えば、１６ページを再プログラムする１６個の動作は、徐々に、２５６ページ目のブロックをコピーすることになる一方、いずれかの１つのシステムメモリアクセスに対して約３２ｍｓの最大遅延のみを発生させる。別の実施例において、メモリデバイスは、通常のメモリアクセスが、ブロックのコピーを妨げ、通常のアクセスを行い、その後、コピーを再開し、通常の動作に対して最小限の遅延を与えられるようにしてもよい。
【００５１】
いくつかの実施形態においてここに説明されたリフレッシュ法は、フラッシュメモリカードの一部を成すようなメモリデバイスに不可欠なメモリコントローラにより管理され、他の実施形態においてメモリデバイスの外部で実施され、その結果、上述の方法は既成の不揮発性メモリデバイスにより使用され得る。図７は、ここで説明されたような方法を使用するように動作可能な種々のデバイスを示す。
【００５２】
７０１に、フラッシュメモリ集積回路などの不揮発性メモリ集積回路が示される。いくつかの実施形態において、集積回路は積分コントローラを備える一方、他の実施形態において、外部メモリコントローラはメモリリフレッシュ動作を行う。フラッシュメモリカードは同様に７０２で示され（例えば、セキュアデジタル（ＳＤ）メモリカード）、やはり積分コントローラを備えてもよいし、または（例えば、ハードウェア、ファームウェア、および／またはソフトウェアとして具体化されるような）外部コントローラによりリフレッシュされてもよい。
【００５３】
多くの場合、サムドライブまたはＵＳＢフラッシュドライブとして知られるフラッシュメモリドライブは７０３に示され、多くの場合、数十ギガバイト以上の容量の大容量の携帯不揮発性メモリを使用する。消費者はこのようなドライブを頻繁に用いて、コンピュータ間で、保存されたドキュメント、マルチメディアファイルなどのデータを記憶して持ち運ぶ。デジタルカメラは７０４に示され、多くの場合、ファームウェアおよび他のデータを記憶するための内部フラッシュメモリと、写真、動画、および他のデータを記憶するための（７０２に示されるような）フラッシュメモリカードとの両方を含む。
【００５４】
ここで説明されたようなリフレッシュ法はまた、スマートフォン、携帯ゲーム機、パーソナルデジタルアシスタント（ＰＤＡ）、または７０５で示されるような他のこのようなデバイスにおいても用いられる。これらのデバイスは、フラッシュメモリなどの不揮発性メモリを用いて、プログラムおよび他のデータを記憶する。不揮発性メモリも、ファームウェアおよび構成データなどのデータの記憶用とソリッドステートドライブ（ＳＳＤ）用の両方で、７０６に示されるようなパーソナルコンピュータにおける高性能のオプションとしてますます一般的になってきている。ソリッドステートドライブは、典型的なハードディスクドライブより大幅に性能が優れているため、ソリッドステートドライブを使用することにより、コンピュータの応答性および速度を改善することができ、ブート処理などのタスクの遂行、アプリケーションの起動、または休止状態からの復旧を、エンドユーザにとってはるかに速いものにする。
【００５５】
図７におけるこれらの電子メモリデバイスは、ここに説明されたリフレッシュ法が、特に示されたデバイスが頻繁な電力循環の影響を受けやすいとき、改善されたメモリの信頼性およびデータの整合性を提供し得る環境を示している。本願では特定の実施形態が図示および説明されたが、同一の目的、構造、または機能を達成するあらゆる配置が、示された特定の実施形態の代わりになり得ることが、当業者には認識されよう。本願は、本願に記載の本発明の実施形態の例のあらゆる適合または変形を網羅することを意図する。本発明が特許請求の範囲、およびその同等物のすべての範囲によってのみ限定されることが意図される。
【図１】
0005901771.tif 000002
【図２】
0005901771.tif 000003
【図３】
0005901771.tif 000004
【図４】
0005901771.tif 000005
【図５】
0005901771.tif 000006
【図６】
0005901771.tif 000007
【図７】
0005901771.tif 000008