JP2003187585A - フラッシュデバイスにおける部分的に消去されたユニットの検出 - Google Patents

フラッシュデバイスにおける部分的に消去されたユニットの検出

Info

Publication number
JP2003187585A
JP2003187585A JP2002336167A JP2002336167A JP2003187585A JP 2003187585 A JP2003187585 A JP 2003187585A JP 2002336167 A JP2002336167 A JP 2002336167A JP 2002336167 A JP2002336167 A JP 2002336167A JP 2003187585 A JP2003187585 A JP 2003187585A
Authority
JP
Japan
Prior art keywords
unit
erase
flag
flash memory
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002336167A
Other languages
English (en)
Inventor
Menahem Lasser
ラッセル メナケム
Meir Avraham
アブラハム メイル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Milsys Ltd
Western Digital Israel Ltd
Original Assignee
M Systems Flash Disk Pionners Ltd
Milsys Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by M Systems Flash Disk Pionners Ltd, Milsys Ltd filed Critical M Systems Flash Disk Pionners Ltd
Publication of JP2003187585A publication Critical patent/JP2003187585A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 (修正有) 【課題】フラッシュメモリのユニットの消去を管理する
ための方法を提供する。 【解決手段】ユニットが消去される前に、あるいは消去
中に電力損失が起こった場合に、一つ以上のユニットの
消去を保留していることを示す指標を提供し、消去完了
後、消去前に提供した指標を消去する、あるいは消去完
了の指標によってオフセットする。パワーアップするや
否や、あるいは、いくつかの実施例では書き込みの前に
も、これらの指標を点検して、完全に消去されていない
ユニットを再び消去する。本発明は、ハードウェアで、
ファームウェアで、ソフトウェアで、あるいはこれら三
つの組合せで具現してもよい。ソフトウェアに完全には
依存しない実施例では、消去保留フラッグ及び消去完了
フラッグとして指標を保存するために、また対応するユ
ニット番号を保存するために、適当な不揮発性レジスタ
を備える。

Description

【発明の詳細な説明】
【0001】
【発明の分野及び背景】本発明は、フラッシュメモリ、
特に、電力損失の場合の部分的な消去に対して強靭なフ
ラッシュメモリに関する。
【0002】(参照として本文中で言及する米国特許第
5,404,485号及び5,937,425号で開示され
た)フラッシュメモリ管理システムは、どの時点でも起
こり得る予期せぬ電力損失の後でさえも、完全性を保持
しなくてはならない。これを成し遂げる困難さは、この
ような電力損失が、フラッシュデバイスのオペレーショ
ン中に、あるいはフラッシュデータの内容の解釈を維持
するために不可欠なデータ構造を処理するソフトウェア
ルーチンの最中に起こるかもしれないということであ
る。
【0003】この点に関して考慮しなくてはならない最
も重要なケースの一つとして、フラッシュデバイスが消
去処理を実行している最中に起こる電力損失がある。フ
ラッシュデバイスは、書き込むべきアドレスが「消去済
み」状態でないなら、データを書き込むことができない
記憶装置である。さらに、消去は、典型的に個別アドレ
スに対して行うことができない。(通常、数キロバイト
から数百キロバイトの値の)比較的に大きなアドレスの
グループに対して行わなくてはならない。一回の処理で
消去されるフラッシュ媒体の量を、ここでは「ユニッ
ト」と呼ぶ。注意すべき点は、ユニットの大きさは、フ
ラッシュデバイス・ハードウェア(ハードウェアへの消
去コマンドで扱う媒体の最小量)の特徴によって、ある
いは、少数のハードウェアベースのユニットを、常に単
一の実体として処理して消去するよう、一つのより大き
な論理ユニットへ結合するフラッシュ管理ソフトウェア
の特徴によって決まることである。
【0004】このような消去処理は、(フラッシュタイ
プにより、数ミリ秒から数秒と)かなり長いプロセスで
あり、このため、消去処理が進行中に、電力損失が発生
する可能性は無視できない。このような消去処理の中断
における危険は、フラッシュデバイスが、電源を失う
と、部分的な消去状態になる可能性があることである。
消去済みユニット内において、いくつかのビットが既に
目標の消去済み状態になっているが、他のビットは未だ
に消去されない状態にあるかもしれない。このような状
態を検出して適切に処理しないなら、そのユニットは、
次回の使用の際に、完全に消去済みであると判断される
ため、次のプログラミング処理では、望ましい結果は得
られない。さらに、いくつかのフラッシュデバイスの内
部プログラミング検証の実行方法が起因となり、このよ
うなプログラミングエラーの影響は、検証メカニズムに
よっては検出されない。これは、(NANDフラッシュ
における)プログラミング検証が通常、消去済みビット
を非消去状態にすることに対する不良のみを検出するの
に対して、上記の影響が、消去状態ではなく非消去状態
にあるビットに現れるため、検証されないのである。
【0005】さらに、たとえ消去済みユニット内のすべ
てのビットが現在消去済みであると解釈された(すなわ
ち、ユニットが完全に消去されているように見える)と
しても、電力損失によって、消去処理は、ごくわずかで
終了し、そして信頼性が低いものとなるため、長期に渡
っては、このユニット内のデータは、保持能力の低下に
よりエラーが蓄積する。このため、電力損失によって消
去処理が中断したユニットを信頼せずに、実際に使用す
る前に、再びユニットを消去することが大いに望まし
い。この最後の理由は、常にユニットの使用前にユニッ
トの全内容を読み込むという些細な(しかし大いに非能
率的な)方法が、ユニットが完全に消去されていること
を検証するための、十分に良い解決法ではないことに注
目して下さい。
【0006】上記の問題は、従来の技術でよく知られて
おり、それに対するソフトウェア的な解決方法がある。
一つの単純な、そしてありふれた解法は、消去が中断し
た場合に、そのことを検出するために「消去マーク」を
用いることである。この解法によれば、ソフトウェア
は、消去コマンドを実行後、常に、消去済みユニット内
の所定の場所に特別なサイン(「消去マーク」)を書き
込み、そして、消去処理を行う前に、消去マークを破壊
するためにユニットの消去マークを上書きする。さら
に、未使用ユニットが使用に割り当てられるときはいつ
も、最初のステップは、ユニットの消去マークの存在を
調べることである。ユニットが正常に消去を完了した場
合、消去マークが存在する。しかし、このユニットに対
する最後の消去処理が電力損失によって中断された場
合、消去マークは存在しない。したがって、ソフトウェ
アは、新たに割り当てられたユニットが消去済みで信頼
できるものであるかどうかを決定して、もしそうでない
場合は、 再びそれを消去することができる。この解法
は、長年、例えば、イスラエルのMシステムズ・フラッ
シュディスク・パイオニア社(M-Systems Flash Disk P
ioneers Ltd. of Kfar Saba, Israel)が提供するフラ
ッシュディスク・ドライバのTrueFFSファミリに
用いられている。
【0007】この解法は、フラッシュ管理システムを必
要とし、これによって、さらなる書き込みに対する消去
を行う前に、いくつかのフラッシュページへ一つ以上の
書き込み処理を行うものである(本文中、1フラッシュ
ページとは、物理媒体内へ一回の処理で書き込むことが
できるデータの最小量であり、一つのユニット内に一つ
以上のページが存在する)。最初に消去マークが書き込
まれ、その後の段階で、ユーザデータがその同じページ
に書き込まれる。消去マークを破壊するために、さらに
書き込み処理が行われることもある。また、制御アルゴ
リズムをサポートするために、フラッシュ管理システム
による他のステップが行われてもよい。
【0008】現在使用されているたいていのフラッシュ
メモリ・デバイスは、このようなマルチプル書き込みを
サポートする(フラッシュの専門分野の文献では、部分
的なページプログラミング(Partial Page Programmin
g)として、あるいは短くPPPとして知られてい
る)。典型的なPPP値は、現在3から10に及ぶ。最
近、しかしながら、フラッシュメモリ装置の、少数の主
要な販売業者は、いくつかの新製品のフラッシュメモリ
デバイスでは、1よりも大きなPPP性能をサポートし
ないと発表している。これは、最初に消去しない限り、
同じページに二度書き込むことができないことを意味す
る。この制限は、潜在的に部分的に消去されたフラッシ
ュユニットを検出するための、従来の技術における方法
が使用できないようにするものである。
【0009】したがって、PPP=1のフラッシュメモ
リの不完全な消去を検出するための方法に対する必要性
があり、そのような方法を獲得することは非常に有利で
ある。
【0010】
【発明の要約】本発明によれば、各ユニットが複数のア
ドレス可能位置を持つ複数のユニットを含むフラッシュ
メモリを管理するための方法が提供される。この方法は
次のステップをからなる。(a)各ユニットのアドレス
可能位置から分離させて、各ユニットにフラッグレジス
タを提供するステップ。(b)ユニットの少なくとも一
つを消去する前に、消去すべき少なくとも一つのユニッ
トの各々のフラッグレジスタ内に消去保留フラッグを設
定するステップ。そして(c)少なくとも一つのユニッ
トを消去するステップ。
【0011】本発明によれば、各ユニットがユニット番
号と複数のアドレス可能位置とを持つ複数のユニットを
含むフラッシュメモリを管理するための方法が提供され
る。この方法は次のステップからなる。(a)ユニット
のアドレス可能位置から分離させて、少なくとも一つの
フラッグレジスタを提供するステップ。(b)少なくと
も一つのフラッグレジスタの各々に対して、ユニットの
アドレス可能位置から分離させて、対応するユニット番
号レジスタを提供するステップ。(c)少なくとも一つ
のユニットを消去する前に、消去すべき少なくとも一つ
のユニットの各々に対して、(i)少なくとも一つのフ
ラッグレジスタの一つに消去保留フラッグを設定し、
(ii)その一つのフラッグレジスタに対応するユニッ
ト番号レジスタ内にユニットのユニット番号を保存し、
そして(d)少なくとも一つのユニットを消去するステ
ップ。
【0012】本発明によれば、各ユニットがユニット番
号と、各ページ毎に複数のアドレス可能位置を含む少な
くとも一つのページとを持つ複数のユニットを含むフラ
ッシュメモリを管理するための方法が提供される。この
方法は次のステップからなる。(a)フラッシュメモリ
内に少なくとも一つの消去保留位置を割り当てるステッ
プ。(b)少なくとも一つの消去保留位置の各々に対し
て、少なくとも一つの消去保留位置の各々から分離させ
て、フラッシュメモリ内に対応する消去完了位置を割り
当てるステップ。(c)ユニットの少なくとも一つを消
去する前に、消去すべき少なくとも一つのユニットの各
々に対して、少なくとも一つの消去保留位置の対応する
一つに消去保留フラッグを設定するステップ。(d)少
なくとも一つのユニットを消去するステップ。そして
(e)少なくとも一つのユニットの各々に対して、各ユ
ニットの消去に続いて、少なくとも一つの消去完了位置
の対応する一つに消去完了フラッグを設定するステッ
プ。
【0013】本発明によれば、各ユニットがユニット番
号と複数のアドレス可能位置とを持つ複数のユニットを
含むフラッシュメモリを管理するための方法が提供され
る。この方法は次のステップからなる。(a)フラッシ
ュメモリ内に少なくとも一つの消去保留位置を割り当て
るステップ。(b)少なくとも一つの消去保留位置の各
々に対して、少なくとも一つの消去保留位置の各々から
分離させて、フラッシュメモリ内に対応するユニット番
号保存位置を割り当てるステップ。(c)ユニットの少
なくとも一つを消去する前に、消去すべき少なくとも一
つのユニットの各々に対して、(i)少なくとも一つの
消去保留位置の対応する一つに消去保留フラッグを設定
し、(ii)対応する一つの消去保留位置に対応するユ
ニット番号保存位置内に、ユニットのユニット番号を保
存するステップ。そして(d)少なくとも一つのユニッ
トを消去するステップ。
【0014】本発明によれば、各ユニットが複数のアド
レス可能位置を持つ複数のユニットを含むフラッシュメ
モリを管理するための方法が提供される。この方法は次
のステップからなる。(a)ユニットのアドレス可能位
置から分離させて、少なくとも一つのフラッグレジスタ
を提供するステップ。(b)ユニットの少なくとも一つ
を消去する前に、少なくとも一つのフラッグレジスタの
一つに消去保留フラッグを設定するステップ。そして
(c)少なくとも一つのユニットを消去するステップ。
【0015】本発明によれば、各ユニットがユニット番
号と複数のアドレス可能位置とを持つ複数のユニットを
含み、多いときには、ユニットをある特定な最大数で、
ほぼ平行に消去を行うように作動が可能なフラッシュメ
モリを管理するための方法が提供される。この方法は次
のステップからなる。(a)ユニットの最大数に等しい
数のフラッグレジスタを提供するステップ。(b)各フ
ラッグレジスタに対して、対応するユニット番号レジス
タを提供するステップ。(c)ユニットの少なくとも一
つを消去するステップ。(d)フラッシュメモリによっ
て電力損失を検出するステップ。そして(e)もし電力
損失が消去と同時であるなら、消去中の少なくとも一つ
のユニットの各々に対して、(i)対応するフラッグレ
ジスタ内に消去保留フラッグを設定し、(ii)対応す
るフラッグレジスタに対応するユニット番号レジスタ内
にユニットのユニット番号を保存するステップ。
【0016】本発明によれば、次のものからなるフラッ
シュメモリ・デバイスが提供される。(a)各ユニット
が複数のアドレス可能位置を含む複数のユニット。そし
て(b)各ユニットに対して、各ユニットが消去指定さ
れていることを示すためのフラッグレジスタ。フラッグ
レジスタは、各ユニットのアドレス可能位置から分離し
ている。
【0017】本発明によれば、次のものからなるフラッ
シュメモリ・デバイスが提供される。(a)複数のユニ
ット。各ユニットは、ユニット番号を持ち、複数のアド
レス可能位置を含む。(b)ユニットの一つが消去指定
されていることを示す消去保留フラッグを保存するため
の、少なくとも一つのフラッグレジスタ。フラッグレジ
スタはアドレス可能位置から分離している。そして
(c)少なくとも一つのフラッグレジスタの各々に対し
て、一つのユニットのユニット番号を保存するための対
応するユニット番号レジスタ。ユニット番号レジスタは
アドレス可能位置から分離している。
【0018】本発明によれば、次のものからなるフラッ
シュメモリ・デバイスが提供される。(a)複数のユニ
ット。各ユニットは、ユニット番号と複数のアドレス可
能位置とを含む。(b)電力損失を検出するための検出
メカニズム。そして(c)検出メカニズムが電力損失を
検出したときに、消去中のユニットのユニット番号を記
録する記録メカニズム。
【0019】本発明の第一実施例においては、フラッシ
ュメモリの各ユニットには、フラッシュメモリのアドレ
ス可能位置から分離した不揮発性フラッグレジスタを設
ける。ユニットのフラッグレジスタ内に消去保留フラッ
グを設定することで、そのユニットが消去される予定に
なっていることを示す。ユニットが正常に消去された
後、ユニットが消去されたことを示す指標を、ユニット
の消去保留フラッグをクリアすることによって設けるこ
とが好ましい。
【0020】その後のユニットへの書き込みは、ユニッ
トの消去保留フラッグがクリアされていることが条件に
なる。特に、ユニットへの書き込み前に、ユニットの消
去保留フラッグが確実にクリアされるようにチェックを
行う。ユニットの消去保留フラッグがクリアされている
場合は、ユニットへ書き込むが、もしユニットの消去保
留フラッグが、クリアされずに設定されているなら、ユ
ニットを消去し、ユニットの消去保留フラッグをクリア
してからのみ、ユニットへの書き込みを開始する。
【0021】消去保留フラッグの設定及びクリア、そし
て書き込むべきユニットの消去保留フラッグがクリアさ
れていることのチェックは、ハードウェアによって、フ
ァームウェアによって、あるいはソフトウェアによって
行ってもよい。書き込むべきユニットの消去保留フラッ
グが、クリアされておらず、設定されている場合は、そ
の後のそのユニットの消去を、ハードウェアによって、
ファームウェアによって、あるいはソフトウェア・コマ
ンドを出すことを含むステップによって行ってもよい。
【0022】本発明の第二実施例においては、フラッシ
ュメモリのアドレス可能位置から分離した不揮発性フラ
ッグレジスタのセットを設けるが、フラッグレジスタの
数は、少なくとも一つ、典型的には、一度に消去可能な
ユニットの最大数に等しい。フラッグレジスタととも
に、フラッシュメモリのアドレス可能位置から分離させ
て、対応する不揮発性のユニット番号レジスタも設け
る。ユニットを消去する前に、そのユニットのユニット
番号をユニット番号レジスタの一つに保存し、対応する
フラッグレジスタ内に消去保留フラッグを設定する。消
去指定したユニットが正常に消去された後、消去保留フ
ラッグをクリアすることによって、ユニットが消去され
たことを示す指標を設けることが好ましい。消去保留フ
ラッグの設定、保存及びクリアは、ハードウェアによっ
て、ファームウェアによって、あるいはソフトウェアに
よって行ってもよい。
【0023】その後にフラッシュメモリがパワーアップ
されたときに消去保留フラッグの一つが設定されたまま
である場合は、対応するユニットを消去する。本文にお
けるフラッシュメモリを「パワーアップする」とは、フ
ラッシュメモリへ電力が供給されてからフラッシュメモ
リが読み取り、そして/あるいは書き込みのアクセスを
受けるまでの全時間に及ぶことに注意する。パワーアッ
プ時に未だに消去保留フラッグが設定されているユニッ
トに対する消去は、ハードウェアによって、ファームウ
ェアによって、あるいはソフトウェアによって行っても
よい。
【0024】本発明の第三実施例においては、消去すべ
きユニット以外のユニット内のアドレス可能位置は、消
去保留レジスタとして用いる。また、消去すべき各ユニ
ットに対して、他の二つのアドレス可能位置を設ける。
一つが、ユニットのユニット番号を保存するためのもの
で、もう一つが、消去完了フラッグを保存するためのも
のである。消去保留フラッグのアドレス可能位置と、対
応する消去完了フラッグのアドレス可能位置とは異なる
ページに設けることが好ましい。ユニットを消去する前
に、そのユニットのユニット番号を、その目的のために
設けてあるアドレス可能位置の一つに保存し、対応する
消去保留レジスタ内に消去保留フラッグを設定する。オ
プションとして、対応する消去完了フラッグをクリアす
る。消去指定されているユニットが正常に消去された
後、対応するアドレス可能位置内に、対応する消去完了
フラッグを設定する。
【0025】その後、フラッシュメモリがパワーアップ
されたときに、設定消去保留フラッグの一つが、対応す
る設定消去完了フラッグを欠く(すなわち、対応する消
去完了フラッグがクリアされている)場合は、対応する
ユニットを消去する。第二実施例の場合と同様、ここで
も、フラッシュメモリを「パワーアップする」とは、フ
ラッシュメモリへ電力が供給されてからフラッシュメモ
リが読み取り、そして/あるいは書き込みのために初め
てアクセスされるまでの全時間に及ぶ。
【0026】本発明の第四実施例においては、電力損失
を検出した場合、一つ以上のユニットが消去されつつあ
るということを示す指標を消去中に設ける。フラッシュ
メモリには、一度に消去が可能なユニットの最大数と同
数の不揮発性フラッグレジスタ、そして対応する不揮発
性ユニット番号レジスタを設ける。これらのレジスタは
アドレス可能位置から分離していることが好ましい。ま
た、フラッシュメモリは、電力損失を検出するためのメ
カニズムを備える。電力損失が検出された場合、消去す
べき各ユニットに対して、そのユニットのユニット番号
をユニット番号レジスタの一つに保存し、対応するフラ
ッグレジスタ内に、対応する消去保留フラッグを設定す
る。消去保留フラッグの設定、そしてユニット番号の保
存は、ハードウェアによって、あるいはファームウェア
によって行ってもよい。
【0027】その後、フラッシュメモリがパワーアップ
されたときに、対応する設定消去保留フラッグを持つユ
ニット番号レジスタ内に保存されているユニット番号を
持つすべてのユニットを消去する。第二及び第三実施例
の場合と同様、フラッシュメモリを「パワーアップす
る」とは、フラッシュメモリへ電力が供給されてからフ
ラッシュメモリが読み取り、そして/あるいは書き込み
のために初めてアクセスされるまでの全時間に及ぶ。パ
ワーアップ中の消去は、ハードウェアによって、ファー
ムウェアによって、あるいはソフトウェア・コマンドを
発することによって行ってもよい。電力損失が検出され
たときにユニットの消去が全く行われていない場合は、
すべての消去保留フラッグをクリアする。
【0028】本発明によるフラッシュメモリ・デバイス
は、本発明による方法のステップを行うためのメカニズ
ムを含むように変更した従来のフラッシュメモリ・デバ
イスである。第一、第二、そして第四実施例の場合は、
それらのステップを、ハードウェアで、ファームウェア
で、あるいはこれら二つの組合せで具現してもよい。第
一及び第二の実施例の場合には、そのメカニズムは、択
一的に、それらのステップを、ファームウェア、あるい
は外部装置のソフトウェアによって行うことを可能にす
る。第四実施例の場合には、そのメカニズムは、択一的
に、パワーアップに関連したそれらのステップをソフト
ウェアによって行うことを可能にする。第三実施例はソ
フトウェアで具現する。
【0029】本発明によるフラッシュメモリ・デバイス
の第四実施例は、電力損失を検出するための検出メカニ
ズムと、電力損失時にどのユニットが消去中であったか
を記録するための記録メカニズムとを含む。記録メカニ
ズムは、不揮発性レジスタの二つのセットを含むことが
好ましい。一つのセットが、電力損失時に消去中のユニ
ットのユニット番号を保存するためのユニット番号レジ
スタで、もう一つが、対応する消去保留フラッグを保存
するための対応フラッグレジスタである。これらのレジ
スタは、ユニットのアドレス可能位置から分離している
ことが好ましい。
【0030】本発明の「フラッグレジスタ」は、通常1
ビット長である。例えば、フラッグを「設定する」と
は、対応するレジスタのビットを2進数「1」に設定す
ることであり、そしてフラッグをクリアするとは、対応
するレジスタのビットを2進数「0」に設定することで
ある。しかしながら、本発明の範囲は、マルチ・ビット
の実施例を含む、フラッグレジスタのすべての同等な実
施例を含む。
【0031】本発明の動機は、PPP=1のフラッシュ
メモリの到来であるが、本発明の範囲は、PPP=1の
メモリ及びPPP>1のメモリの両方を含む。
【0032】
【好適実施例の説明】本発明は、消去されたと思われる
フラッシュメモリ・ユニットが本当に消去されたことを
保証するための、フラッシュメモリ・デバイスを管理す
る方法に関する。特に、PPP値が1のフラッシュメモ
リにおけるユニットの名目上の消去が、本当に消去され
たものであることを保証するために用いることができ
る。
【0033】本発明によるフラッシュメモリ・デバイス
の原理及び作動は、添付の図面及び説明文から明確に理
解することができる。
【0034】さて、図面を参照する。図1は、従来の技
術によるフラッシュメモリ・デバイス10を示す。デバ
イス10は、制御モジュール12によって制御されるフ
ラッシュメモリ14を含む。フラッシュメモリ14は、
u1からunまでの、n>1のユニットを含む。先に述
べたように、フラッシュメモリの各ユニットは、一つ以
上のページを含む。デバイス10の場合、各ユニットは
2ページを含む。ユニットu1の二つのページは、図1
にページp1及びp2として示されている。また上記の
ように、フラッシュメモリの各ページは、複数のアドレ
ス可能位置を含む。図1に示すように、ページp2は、
a1からamまでのm個のアドレス可能位置を含む。制
御モジュール12は、フラッシュメモリ14の選択した
ユニットuを消去し、フラッシュメモリ14の選択した
ページpに書き込み、そしてフラッシュメモリ14の選
択したアドレス可能位置の内容を読み取る。これらのす
べてを、ホストデバイス(図示せず)の制御下で行う。
【0035】制御モジュール12は、一般的な制御モジ
ュールであって、概略的に、フラッシュメモリ14を制
御するために従来の技術において用いるすべての方法を
代表するものである。通常、デバイス10は、フラッシ
ュメモリ14に行う読み取り、書き込みあるいは消去等
の処理を設定するためのシーケンサと、処理すべきフラ
ッシュメモリ14の部分のアドレスとを備えて製造され
る。また、シーケンサは、書き込み及び消去処理の完了
を実証して示唆する。通常、デバイス10は、また、シ
ーケンサが実行するレベルよりも高いレベルにおいて、
例えば、エラー検出コードを用いてデータ読み取りにお
けるエラーを調べる目的で、フラッシュメモリ14が実
行する処理を管理するためのコントローラを備える。フ
ラッシュメモリ14及びシーケンサの両方は同じダイの
上に製造される。コントローラは、フラッシュメモリ1
4及びシーケンサと同じダイの上に、あるいは個々のダ
イの上に製造してもよい。さらに、コントローラは、ユ
ーザによるプログラムを受け付けないため、コントロー
ラは、ホストデバイスがシーケンサへ直接コマンドを出
力するように構成してもよい。択一的に、デバイス10
がコントローラを備えない構成である場合は、ホストデ
バイスは、コントローラが出力すべきすべてのコマンド
をシーケンサへ出すこととなる。本文では、フラッシュ
メモリ14及びシーケンサにのみ変更を必要とする本発
明の実施例を、「ハードウェア」実施例として考慮す
る。フラッシュメモリ14へ、あるいはシーケンサへの
変更の有無に拘わらず、コントローラに変更を必要とす
る本発明の実施例を、「ファームウェア」実施例として
考慮する。ホストデバイスが実行するソフトウェアのみ
へ変更を必要とする本発明の実施例を、「ソフトウェ
ア」実施例として考慮する。同様に、本文では、シーケ
ンサによって、独立して開始されるアクティビティは、
ハードウェアが実行するものとして考慮し、コントロー
ラによって開始されるアクティビティは、ファームウェ
アによって行われると考慮し、そしてソフトウェアの制
御の下でホストデバイスによって開始されるアクティビ
ティは、ソフトウェアによって行われると考慮する。結
果的に、本文で用いる用語「制御モジュール」は、シー
ケンサ、コントローラ、あるいはシーケンサまたはコン
トローラへコマンドを出すホストデバイス・ソフトウェ
アモジュールに言及する。
【0036】図2は、本発明の第一実施例によるフラッ
シュメモリ・デバイス20を示す。フラッシュメモリ・
デバイス20は、フラッシュメモリ・デバイス10と全
く同一であるが、不揮発性フラッグレジスタ22を、1
ユニットu毎に一つずつ加えている。フラッグレジスタ
22はアドレス可能位置aから分離している。しかしな
がら、フラッグレジスタ22は、アドレス可能位置aに
物理的に類似し、そして典型的に、例えば、特別なアド
レスあるいは特別なデバイス・モードを介する自身のユ
ニークなアクセス・メカニズムを持つという点でのみア
ドレス可能位置aとは異なることが好ましい。特別なア
ドレスを持つアドレス可能位置としてのフラッグレジス
タ22の実施例が、フラッシュメモリ・デバイス20で
あり、このデバイスにおいては、「標準的な」ソフトウ
ェア・コマンドがアクセス可能なアドレス空間は、フラ
ッグレジスタ22のアドレスを含まないが、「特別な」
ソフトウェア・コマンドがアクセス可能なアドレス空間
は、フラッグレジスタ22のアドレスを含む。各フラッ
グレジスタ22は、1ビット長の「消去保留フラッグ」
を保存する。
【0037】さて、図3を参照する。これは、フラッシ
ュメモリ・デバイス20の消去処理を表すフローチャー
トである。通常、すべての「消去保留フラッグ」はクリ
アされる、すなわち2進数「0」と等しい。制御モジュ
ール12が特定なユニットuを消去する前に、制御モジ
ュール12は、そのユニットuのフラッグレジスタ22
内に2進数「1」を保存することによって、対応する消
去保留フラッグを設定する(ブロック100)。そのユ
ニットuが消去され、そしてその消去が検証された(ブ
ロック102)後、制御モジュール12は、ユニットu
のフラッグレジスタ22内に2進数「0」を保存するこ
とによって、対応する消去保留フラッグをクリアする
(ブロック104)。
【0038】さて、図4を参照する。これは、フラッシ
ュメモリ・デバイス20の書き込み処理のフローチャー
トである。この書き込み処理は、典型的に、書き込みに
利用可能な空きユニットのプールからユニットを割り当
てた後にユニットのページを書き込む最初のときにだけ
行われるものであるが、どの書き込み処理も、このよう
なやり方で実行してもよい。制御モジュール12は、ペ
ージpに書き込む前に、そのページpを含むユニットu
のフラッグレジスタ22内の消去保留フラッグをチェッ
クする(ブロック106)。消去保留フラッグがクリア
されている(ブロック108)場合、書き込みは通常通
り進行する(ブロック114)。消去保留フラッグが設
定されている(ブロック108)ことは、そのユニット
uの最近の消去が電力損失によって中断されたことを示
すため、制御モジュール12は、ユニットuを消去し
て、その消去を検証する(ブロック110)。それから
消去保留フラッグをクリアし(ブロック112)、その
後、そのページpに書き込みを行う(ブロック11
4)。
【0039】電力損失の発生による不完全な消去に対し
て、フラッシュメモリ・デバイスを保護するこの方法
は、一度に一つのユニットuを消去するフラッシュメモ
リ・デバイス、そして一度に複数のユニットuを消去す
ることができるフラッシュメモリ・デバイスの両方に適
用できる。消去保留フラッグの設定、クリア及びチェッ
クは、フラッシュデバイスのハードウェアによって、フ
ラッシュコントローラのファームウェアによって、フラ
ッシュ管理ソフトウェアによって、あるいはこれら三つ
の組合せによって行うことが可能である。
【0040】図5は、本発明の第二実施例によるフラッ
シュメモリ・デバイス30を示す。フラッシュメモリ・
デバイス30は、フラッシュメモリ・デバイス10に同
一であるが、複数の不揮発性フラッグレジスタ32と、
対応する複数の不揮発性ユニット番号レジスタ34とを
備えている。フラッグレジスタ32及びユニット番号レ
ジスタ34は、アドレス可能位置aから分離している。
フラッグレジスタ32及びユニット番号レジスタ34の
数は、フラッシュデバイス30が同時に消去することが
できるユニットuの最大数に等しい。図5に示す特定な
実施例では、フラッシュデバイス30が同時に最大3ユ
ニットuを消去することができるため、フラッシュメモ
リ・デバイス30は、三つのフラッグレジスタ32と三
つのユニット番号レジスタ34を含む。各フラッグレジ
スタ32は、1ビット長の消去保留フラッグを保存す
る。各ユニット番号レジスタ34は、正当なユニット数
を保存するのに十分な長さを持つ。各フラッグレジスタ
32は、特定のユニット番号レジスタ34に関連づけら
れている。
【0041】さて、図6を参照する。これは、フラッシ
ュメモリ・デバイス30の消去処理のフローチャートで
ある。通常、すべての消去保留フラッグはクリアされ
る。すなわち、2進数「0」に等しい。上記のように、
制御モジュール12は、同時に一つ、二つあるいは三つ
のユニットuを消去するように作動する。制御モジュー
ル12が一つから三つのユニットuのグループを消去す
る前に、制御モジュール12は、同数のフラッグレジス
タ32の各々に2進数「1」を保存することによって、
同数の消去保留フラッグを設定する(ブロック12
8)。制御モジュール12は、また、フラッグレジスタ
32に関連づけられたユニット番号レジスタ34に、消
去すべきユニットあるいは複数のユニットuのユニット
番号を書き込む(ブロック130)。ユニットあるいは
複数のユニットuが消去され、その消去が検証された
(ブロック132)後、制御モジュール12は、対応す
るフラッグレジスタ32内に2進数「0」を保存するこ
とによって、対応する消去保留フラッグをクリアする
(ブロック134)。
【0042】さて、図7を参照する。これは、フラッシ
ュメモリ・デバイス30のパワーアップ手順の部分的な
フローチャートである。フラッシュメモリ・デバイス3
0がパワーアップされると、制御モジュール12は、三
つの消去保留フラッグのすべてをチェックする(ブロッ
ク136)。もし消去保留フラッグのいずれかが設定さ
れている(ブロック138)場合は、対応するユニット
番号レジスタ34内に保存されているユニット番号を持
つユニットuの消去が、電力損失によって中断されたこ
とを示す。電力損失によって消去が中断されたユニット
の各々に対して、制御モジュール12は、ユニットの消
去を行い、その消去を検証する(ブロック140)。そ
れから制御モジュール12は、対応する消去保留フラッ
グをクリアする(ブロック142)。すべての消去保留
フラッグがチェックされた(ブロック144)後、フラ
ッシュメモリ・デバイス30は、通常の作動を開始する
(ブロック146)。
【0043】本発明のこの実施例では、一つのページp
に書き込みを行う前に、全く特別な予防措置を必要とし
ない。本発明の第一実施例と同様、消去保留フラッグの
設定、クリア及びチェックは、フラッシュデバイス・ハ
ードウェアによって、コントローラのファームウェアに
よって、フラッシュ管理ソフトウェアによって、あるい
はこれら三つの組合せによって行ってもよい。
【0044】本発明による第三実施例を図8に示す。本
発明のこの実施例は、完全にソフトウェアによって実行
されるため、制御モジュール12が、下記に説明するよ
うにフラッシュメモリ14を管理するよう変更が施され
るという条件で、フラッシュメモリ・デバイス10等の
従来の技術によるフラッシュメモリ・デバイスに用いる
のに適当である。結果的に、図8に示すフラッシュメモ
リ・デバイス40は、フラッシュメモリ・デバイス10
と構造的に同一である。
【0045】本発明の第三実施例によれば、各ページp
の三つのアドレス可能位置aが、フラッシュメモリ14
を管理するために割り当てられる。消去保留フラッグを
保存するために用いるアドレス可能位置42、ユニット
番号を保存するために用いるアドレス可能位置44、そ
して消去完了フラッグを保存するために用いるアドレス
可能位置46。明確にするために、ユニットu1が消去
されるとする。さて、図9を参照する。これは、フラッ
シュメモリ・デバイス40の消去処理のフローチャート
である。制御モジュール12は、ユニットu1の消去を
管理するために、書き込みに利用可能なもう一つのユニ
ットukの二つのページp1及びp2を選択する(ブロ
ック148)。ユニットu1を消去する前に、制御モジ
ュール12は、ユニットukのページp1のアドレス可
能位置42内に消去保留フラッグを設定し(ブロック1
50)、そしてまた、ユニットukのページp1のアド
レス可能位置44へユニットu1のユニット番号を書き
込む(ブロック152)。ブロック150及び152の
ステップは、一つの書き込み処理として扱うよう、いっ
しょに実行することが好ましい。このようにすればPP
P制限を破ることはない。ユニットu1の消去が完了し
て検証を行った(ブロック154)後、制御モジュール
12は、ユニットukのページp2のアドレス可能位置
46内に消去完了フラッグを設定する(ブロック15
6)。消去保留フラッグに用いるアドレス可能位置42
と、消去完了フラッグに用いるアドレス可能位置46と
は、PPP値が1のフラッシュメモリ14が可能なよう
に、異なるページp内にあることに注目して下さい。P
PP値が1を超えるフラッシュメモリ14の場合は、消
去保留フラッグに用いるアドレス可能位置42と、消去
完了フラッグに用いるアドレス可能位置46とは、同じ
ページp内に存在してもよい。また、PPP>1の場合
でも、ユニットukのアドレス可能位置42及び46
は、ユニットukが最後に消去されて以降、書き込まれ
るべきではないことに注目すること。このことは、ユニ
ットu1の消去の前に消去完了フラッグがクリアされて
いる(すなわち、設定されていない)ことを保証する。
【0046】本発明のこの実施例によれば、ここに例示
するように1ページpにつき三つのアドレス可能位置
a、あるいは1ページpにつき三つのアドレス可能位置
aの倍数で、消去を管理するのに十分なアドレス可能位
置42、44と46が割り当てられる限り、一つ以上の
ユニットuを同時に消去することができることは明らか
である。
【0047】さて、図10を参照する。これは、フラッ
シュメモリ・デバイス40のパワーアップ手順の部分的
なフローチャートである。フラッシュメモリ・デバイス
40がパワーアップされると、制御モジュール12は、
最近の消去のセットに割り当てられた可能性のあるすべ
てのアドレス可能位置42及び46をチェックし(ブロ
ック158)、各設定消去保留フラッグ(ブロック16
0)が、対応する設定消去完了フラッグ(ブロック16
2)に合致することを確認する。対応する設定消去完了
フラッグが合致しない各消去保留フラッグに対して、制
御モジュール12は、対応するアドレス可能位置44に
保存されたユニット番号を持つユニットuを消去して、
その消去を検証し(ブロック164)、それから、対応
する消去完了フラッグを設定する(ブロック166)。
消去保留フラッグのすべてがチェックされた(ブロック
168)後、フラッシュメモリ・デバイス40の通常の
作動が開始する(ブロック170)。
【0048】本発明の第二実施例と同様、一つのページ
pへ書き込みを行う前に、特別な予防措置を採る必要は
全くない。
【0049】上記のように、初めの二つの実施例は、ユ
ニットuを消去する前に消去保留フラッグを設定し、消
去を正常に完了した後に消去保留フラッグをクリアす
る。他方、第三の実施例は、ユニットuを消去する前に
消去保留フラッグを設定し、消去を正常に完了した後、
対応する消去完了フラッグを設定して消去保留フラッグ
とのバランスをとる。択一的に、初めの二つの実施例で
も、消去を正常に完了した後、消去保留フラッグをクリ
アせずに、それらの消去保留フラッグを、対応する消去
完了フラッグでバランスさせることができる。
【0050】本発明の初めの三つの実施例は、ユニット
uを消去する前に、消去保留フラッグ及びユニット番号
等の情報を保存することによって機能する。本発明の第
四実施例によれば、このような情報は、本当に必要なと
きにのみ、すなわち、消去中に電力損失を検出したとき
に保存する。
【0051】図11は、本発明の第四実施例によるフラ
ッシュメモリ・デバイス50を示す。フラッシュメモリ
・デバイス50は、フラッシュメモリ・デバイス30に
同一であるが、電力損失を検出するためのパワーセンサ
56と、消去が電力損失で中断したかもしれないユニッ
トuに関する情報を保存するために十分な予備の電力を
提供するコンデンサアレイ(図示せず)とを備えてい
る。例えば、ポートマン氏らのWO01/22205を
参照して下さい。従来の技術によるシステムのこの一例
は、外部電源からの電力損失を検出するパワーセンサ
と、外部電源からの電力損失が発生した場合に上品なパ
ワーダウンを可能にする外部コンデンサアレイとを用い
ている。
【0052】さて、図12を参照する。これはフラッシ
ュメモリ・デバイス50のパワーダウン手順の部分的な
フローチャートである。制御モジュール12は、消去中
に(ブロック174)電力損失(ブロック172)を検
出すると、その時点で消去されつつある各ユニットuに
対して、対応するフラッグレジスタ32内に消去保留フ
ラッグを設定し(ブロック178)、そして対応するユ
ニット番号レジスタ34へユニットのユニット番号を書
き込む(ブロック180)。フラッシュメモリ・デバイ
ス50が正常にパワーダウンするときは、制御モジュー
ル12は、この標準的なシャットダウンが、予期しない
電力損失と確実に混同されないようにすべての消去保留
フラッグをクリアする(ブロック176)。本文中にお
いては、消去中の電力損失の検出は、消去と「同時」で
あると定義する。消去が行われていないときの電力損失
の検出、例えば、正常なシャットダウン中の電力損失の
検出は、消去と「非同時的」であると定義する。
【0053】図7は、フラッシュメモリ・デバイス30
のパワーアップ手順を示すことに加えて、フラッシュメ
モリ・デバイス50のパワーアップ手順をも示すもので
ある。フラッシュメモリ・デバイス50がパワーアップ
されると、制御モジュール12は、三つの消去全保留フ
ラッグをチェックする(ブロック136)。もし消去保
留フラッグが一つでも設定されている(ブロック13
8)場合は、このことは、対応するユニット番号レジス
タ34内に保存されているユニット番号を持つユニット
uの消去が、電力損失によって中断されたことを示す。
電力損失によって消去が中断されたユニットの各々に対
して、制御モジュール12は、ユニットの消去を行い、
その消去を検証する(ブロック140)。それからコン
トロール・ユニット12は、対応する消去保留フラッグ
をクリアする(ブロック142)。消去保留フラッグの
すべてがチェックされた(ブロック144)後、フラッ
シュメモリ・デバイス50の通常作動を開始する(ブロ
ックl46)。
【0054】本発明のこの実施例でも、第二及び第三の
実施例のように、ページpの一つへの書き込みが始まる
前の、特別な予防措置は全く必要ではない。本発明の第
一及び第二の実施例のように、パワーアップ中の消去保
留フラッグのチェック、そしてその後のクリアは、フラ
ッシュデバイス・ハードウェアによって、コントローラ
のファームウェアによって、フラッシュ管理ソフトウェ
アによって、あるいはこれら三つの組合せによって行っ
てもよい。しかし、電力損失が検出されたときの消去保
留フラッグの設定あるいはクリアは、電力喪失の際には
素早い反応が必要であるため、フラッシュデバイス・ハ
ードウェア、コントローラのファームウェア、あるいは
これら二つの組合せによってのみ行われ、ソフトウェア
によっては実行されない。
【0055】本発明は、限られた実施例で説明したが、
多くの変更及び改良、そして他の用途が可能であること
は明らかである。
【図面の簡単な説明】
本発明を、次の添付図面を参照しながら実施例を用いて
説明する。
【図1】従来の技術によるフラッシュメモリ・デバイス
を示す。
【図2】本発明による第一実施例としてのフラッシュメ
モリ・デバイスを示す。
【図3】図2に示すフラッシュメモリ・デバイスの消去
処理のフローチャートである。
【図4】図2に示すフラッシュメモリ・デバイスの書き
込み処理のフローチャートである。
【図5】本発明による第二実施例としてのフラッシュメ
モリ・デバイスを示す。
【図6】図5に示すフラッシュメモリ・デバイスの消去
処理のフローチャートである。
【図7】図5及び図11に示すフラッシュメモリ・デバ
イスのパワーアップ手順の部分的なフローチャートであ
る。
【図8】本発明による第三実施例としてのフラッシュメ
モリ・デバイスを示す。
【図9】図8に示すフラッシュメモリ・デバイスの消去
処理のフローチャートである。
【図10】図8に示すフラッシュメモリ・デバイスのパ
ワーアップ手順の部分的なフローチャートである。
【図11】本発明による第四実施例としてのフラッシュ
メモリ・デバイスを示す。
【図12】図11に示すフラッシュメモリ・デバイスの
パワーダウン手順の部分的なフローチャートである。
───────────────────────────────────────────────────── フロントページの続き (71)出願人 502111536 Central Park 2000,Ati r Yeda Street 7,44425 Kfar Sabad,Israel (72)発明者 メナケム ラッセル イスラエル国、コハブ ヤイル 44864、 ドレブ ストリート 4 (72)発明者 メイル アブラハム イスラエル国、リション レジオン 75438、ハシラ ストリート 16 Fターム(参考) 5B025 AD08 AE08 AF02

Claims (80)

    【特許請求の範囲】
  1. 【請求項1】 各ユニットが複数のアドレス可能位置を
    持つ複数のユニットを含むフラッシュメモリを管理する
    ための方法であって、 (a)前記各ユニットのアドレス可能位置から分離した
    フラッグレジスタを各ユニットに提供するステップ、 (b)前記ユニットの少なくとも一つを消去する前に、
    消去すべき前記少なくとも一つのユニットの前記フラッ
    グレジスタ内に消去保留フラッグを設定するステップ、
    そして (c)前記少なくとも一つのユニットを消去するステッ
    プからなる方法。
  2. 【請求項2】 前記設定がハードウェアによって行われ
    る、請求項1に記載の方法。
  3. 【請求項3】 前記設定がファームウェアによって行わ
    れる、請求項1に記載の方法。
  4. 【請求項4】 前記設定がソフトウェアによって行われ
    る、請求項1に記載の方法。
  5. 【請求項5】 さらに、 (d)前記少なくとも一つのユニットの前記消去の後
    に、前記少なくとも一つのユニットが消去されたことを
    示す指標を提供するステップからなる、請求項1に記載
    の方法。
  6. 【請求項6】 前記少なくとも一つのユニットが消去さ
    れたことを示す前記指標の前記提供が、消去された前記
    少なくとも一つのユニットの各々に対して、前記少なく
    とも一つのユニットの各々の前記フラッグレジスタ内の
    前記消去保留フラッグをクリアすることを含むステップ
    によって行われる、請求項5に記載の方法。
  7. 【請求項7】 前記クリアがハードウェアによって行わ
    れる、請求項6に記載の方法。
  8. 【請求項8】 前記クリアがファームウェアによって行
    われる、請求項6に記載の方法。
  9. 【請求項9】 前記クリアがソフトウェアによって行わ
    れる、請求項6に記載の方法。
  10. 【請求項10】 さらに、 (e)前記ユニットの一つに書き込みを始める前に、こ
    の一つのユニットの前記消去保留フラッグがクリアされ
    ているかどうかをチェックするステップ、 (f)このチェックの後、 (i)前記一つのユニットの前記消去保留フラッグがク
    リアされている場合は、前記一つのユニットに書き込む
    が、 (ii)そうでない場合は、 (A)前記少なくとも一つのユニットを消去して、 (B)前記一つのユニットの前記消去保留フラッグをク
    リアするステップからなる、請求項6に記載の方法。
  11. 【請求項11】 前記チェック、そして前記チェックに
    続く前記消去がハードウェアによって行われる、請求項
    10に記載の方法。
  12. 【請求項12】 前記チェック、そして前記チェックに
    続く前記消去がファームウェアによって行われる、請求
    項10に記載の方法。
  13. 【請求項13】 前記チェックがソフトウェアによって
    行われ、前記その後の消去が、ソフトウェア消去コマン
    ドを出すことを含むステップによって行われる、請求項
    10に記載の方法。
  14. 【請求項14】 前記フラッグレジスタが不揮発性であ
    る請求項1に記載の方法。
  15. 【請求項15】 各ユニットが各々ユニット番号と複数
    のアドレス可能位置とを持つ、複数のユニットを含むフ
    ラッシュメモリを管理するための方法であって、 (a)前記ユニットの前記アドレス可能位置から分離し
    た少なくとも一つのフラッグレジスタを提供するステッ
    プ、 (b)前記少なくとも一つのフラッグレジスタの各々に
    対して、これに対応する、前記ユニットの前記アドレス
    可能位置から分離したユニット番号レジスタを提供する
    ステップ、 (c)前記ユニットの少なくとも一つを消去する前に、
    消去すべき前記少なくとも一つのユニットの各々に対し
    て、 (i)前記少なくとも一つのフラッグレジスタの一つに
    消去保留フラッグを設定して、 (ii)前記一つのフラッグレジスタに対応する前記ユ
    ニット番号レジスタ内に、前記各ユニットのユニット番
    号を保存するステップ、そして (d)前記少なくとも一つのユニットを消去するステッ
    プからなる方法。
  16. 【請求項16】 前記設定及び前記保存がハードウェア
    によって行われる、請求項15に記載の方法。
  17. 【請求項17】 前記設定及び前記保存がファームウェ
    アによって行われる、請求項15に記載の方法。
  18. 【請求項18】 前記設定及び前記保存がソフトウェア
    によって行われる、請求項15に記載の方法。
  19. 【請求項19】 さらに、 (e)前記少なくとも一つのユニットの前記消去に続い
    て、前記少なくとも一つのユニットが消去されたことを
    示す指標を提供するステップからなる、請求項15に記
    載の方法。
  20. 【請求項20】 前記少なくとも一つのユニットが消去
    されたことを示す前記指標の前記提供が、前記少なくと
    も一つの消去保留フラッグの各々をクリアすることを含
    むステップによって行われる、請求項19に記載の方
    法。
  21. 【請求項21】 前記クリアがハードウェアによって行
    われる、請求項20に記載の方法。
  22. 【請求項22】 前記クリアがファームウェアによって
    行われる、請求項20に記載の方法。
  23. 【請求項23】 前記クリアがソフトウェアによって行
    われる、請求項20に記載の方法。
  24. 【請求項24】 さらに、 (f)フラッシュメモリをパワーアップするや否や、前
    記少なくとも一つの消去保留フラッグの一つが設定され
    ている場合は、前記一つの消去保留フラッグに対応する
    前記ユニット番号レジスタ内に保存されているユニット
    番号を持つユニットを消去するステップからなる、請求
    項20に記載の方法。
  25. 【請求項25】 前記一つの消去保留フラッグに対応す
    る前記ユニット番号レジスタに保存されているユニット
    番号を持つ前記ユニットの前記消去が、ハードウェアに
    よって行われる、請求項24に記載の方法。
  26. 【請求項26】 前記一つの消去保留フラッグに対応す
    る前記ユニット番号レジスタに保存されているユニット
    番号を持つ前記ユニットの前記消去が、ファームウェア
    によって行われる、請求項24に記載の方法。
  27. 【請求項27】 前記一つの消去保留フラッグに対応す
    る前記ユニット番号レジスタに保存されているユニット
    番号を持つ前記ユニットの前記消去が、ソフトウェア消
    去コマンドを出すことを含むステップによって行われ
    る、請求項24に記載の方法。
  28. 【請求項28】 前記少なくとも一つのフラッグレジス
    タ及び前記少なくとも一つのユニット番号レジスタが不
    揮発性である、請求項15に記載の方法。
  29. 【請求項29】 各ユニットがユニット番号と、各ペー
    ジ毎に複数のアドレス可能位置を含む少なくとも一つの
    ページとを持つ複数のユニットを含むフラッシュメモリ
    を管理するための方法であって、 (a)前記フラッシュメモリ内に少なくとも一つの消去
    保留位置を割り当てるステップ、 (b)前記少なくとも一つの消去保留位置の各々に対し
    て、前記少なくとも一つの消去保留位置の各々から分離
    させて、フラッシュメモリ内に対応する消去完了位置を
    割り当てるステップ、 (c)前記ユニットの少なくとも一つの消去の前に、消
    去すべき前記少なくとも一つのユニットの各々に対し
    て、前記少なくとも一つの消去保留位置の対応する一つ
    に消去保留フラッグを設定するステップ、 (d)前記少なくとも一つのユニットを消去するステッ
    プ、 (e)前記少なくとも一つのユニットの各々に対して、
    前記各ユニットの前記消去の後に、前記少なくとも一つ
    の消去完了位置の対応する一つに消去完了フラッグを設
    定するステップからなる方法。
  30. 【請求項30】 前記少なくとも一つの消去保留位置及
    び前記少なくとも一つの消去完了位置が、各々前記フラ
    ッシュメモリ内のアドレス可能位置である、請求項29
    に記載の方法。
  31. 【請求項31】 消去すべき前記ユニットの各々に対し
    て、前記対応する消去保留位置及び前記対応する消去完
    了位置が異なるページにある、請求項30に記載の方
    法。
  32. 【請求項32】 さらに、 (f)前記少なくとも一つのユニットの各々に対して、
    前記各ユニットの前記消去の前に、前記対応する消去完
    了フラッグをクリアするステップからなる、請求項29
    に記載の方法。
  33. 【請求項33】 さらに、 (f)前記フラッシュメモリをパワーアップするや否
    や、もし前記少なくとも一つの消去保留フラッグの一つ
    が設定されており、そしてこの一つの消去保留フラッグ
    に対応する前記消去完了フラッグがクリアされている場
    合は、前記一つの消去保留フラッグに対応するユニット
    を消去するステップからなる、請求項29に記載の方
    法。
  34. 【請求項34】 さらに、 (f)前記少なくとも一つの消去保留位置の各々に対し
    て、対応するユニット番号保存位置を割り当てるステッ
    プ、そして (g)前記ユニットの少なくとも一つを消去する前に、
    消去すべき前記少なくとも一つのユニットの各々に対し
    て、前記各ユニットの前記消去保留フラッグが設定され
    ている前記消去保留位置に対応する前記ユニット番号保
    存位置内に、前記各ユニットのユニット番号を保存する
    ステップからなる、請求項29に記載の方法。
  35. 【請求項35】 各ユニットがユニット番号と複数のア
    ドレス可能位置とを持つ複数のユニットを含むフラッシ
    ュメモリを管理するための方法であって、 (a)前記フラッシュメモリ内に少なくとも一つの消去
    保留位置を割り当てるステップ、 (b)前記少なくとも一つの消去保留位置の各々に対し
    て、前記少なくとも一つの消去保留位置の各々から分離
    させて、前記フラッシュメモリ内に対応するユニット番
    号保存位置を割り当てるステップ、 (c)前記ユニットの少なくとも一つを消去する前に、
    消去すべき前記少なくとも一つのユニットの各々に対し
    て、 (i)前記少なくとも一つの消去保留位置の対応する一
    つに消去保留フラッグを設定し、 (ii)前記対応する一つの消去保留位置に対応する前
    記ユニット番号保存位置内に、前記各ユニットのユニッ
    ト番号を保存するステップ、そして (d)前記少なくとも一つのユニットを消去するステッ
    プからなる方法。
  36. 【請求項36】 前記少なくとも一つの消去保留位置及
    び前記少なくとも一つのユニット番号保存位置が、各々
    フラッシュメモリ内のアドレス可能位置である、請求項
    35に記載の方法。
  37. 【請求項37】 さらに、 (e)前記少なくとも一つの消去保留位置の各々に対し
    て、前記少なくとも一つの消去保留位置の各々から分離
    させて、前記フラッシュメモリ内に対応する消去完了位
    置を割り当てるステップ、 (f)前記ユニットの少なくとも一つを消去した後、消
    去すべき前記少なくとも一つのユニットの各々に対し
    て、前記少なくとも一つの消去完了位置の対応する一つ
    に消去完了フラッグを設定するステップ、そして (g)前記フラッシュメモリをパワーアップするや否
    や、もし前記少なくとも一つの消去保留フラッグの一つ
    が設定されており、この一つの消去保留フラッグに対応
    する前記消去完了フラッグがクリアされている場合は、
    この一つの消去保留フラッグに対応するユニットを消去
    するステップからなる、請求項35に記載の方法。
  38. 【請求項38】 さらに、 (h)前記ユニットの少なくとも一つを消去する前に、
    消去すべき前記少なくとも一つのユニットの各々に対し
    て、前記対応する消去完了位置内の前記消去完了フラッ
    グをクリアするステップからなる、請求項37に記載の
    方法。
  39. 【請求項39】 各ユニットが複数のアドレス可能位置
    を持つ複数のユニットを含むフラッシュメモリを管理す
    るための方法であって、 (a)前記ユニットの前記アドレス可能位置から分離さ
    せて、少なくとも一つのフラッグレジスタを提供するス
    テップ、 (b)前記ユニットの少なくとも一つを消去する前に、
    前記少なくとも一つのフラッグレジスタの一つに消去保
    留フラッグを設定するステップ、そして (c)前記少なくとも一つのユニットを消去するステッ
    プからなる方法。
  40. 【請求項40】 前記設定がハードウェアによって行わ
    れる、請求項39に記載の方法。
  41. 【請求項41】 前記設定がファームウェアによって行
    われる、請求項39に記載の方法。
  42. 【請求項42】 前記設定がソフトウェアによって行わ
    れる、請求項39に記載の方法。
  43. 【請求項43】 さらに、 (d)前記少なくとも一つのユニットの前記消去に続い
    て、前記少なくとも一つのユニットが消去されたことを
    示す指標を提供するステップからなる、請求項39に記
    載の方法。
  44. 【請求項44】 前記提供が、前記消去保留フラッグの
    各々をクリアすることを含むステップによって行われ
    る、請求項43に記載の方法。
  45. 【請求項45】 前記少なくとも一つのフラッグレジス
    タが不揮発性である、請求項39に記載の方法。
  46. 【請求項46】 各ユニットがユニット番号と複数のア
    ドレス可能位置とを持つ複数のユニットを含むフラッシ
    ュメモリを管理するための方法であって、前記フラッシ
    ュメモリが、多くても、ある特定な最大数の前記ユニッ
    トをほぼ平行して消去するように作動し、 (a)ユニットの前記最大数に等しい数のフラッグレジ
    スタを提供するステップ、 (b)前記フラッグレジスタの各々に対して、対応する
    ユニット番号レジスタを提供するステップ、 (c)前記ユニットの少なくとも一つを消去するステッ
    プ、 (d)前記フラッシュメモリによって電力損失を検出す
    るステップ、そして (e)前記電力損失が前記消去と同時である場合は、消
    去すべき前記少なくとも一つのユニットの各々に対し
    て、 (i)対応する前記フラッグレジスタに消去保留フラッ
    グを設定し、 (ii)前記ユニットの各々のユニット番号を、前記対
    応するフラッグレジスタに対応する前記ユニット番号レ
    ジスタ内に保存するステップからなる方法。
  47. 【請求項47】 さらに、 (f)前記電力損失が前記消去とは非同時的である場合
    は、前記消去保留フラッグのすべてをクリアするステッ
    プからなる、請求項46に記載の方法。
  48. 【請求項48】 前記フラッグレジスタ及び前記ユニッ
    ト番号レジスタが、前記ユニットの前記アドレス可能位
    置から分離している、請求項46に記載の方法。
  49. 【請求項49】 さらに、 (f)前記フラッシュメモリをパワーアップするや否
    や、前記消去保留フラッグが設定されている前記フラッ
    グレジスタの各々に対して、前記対応するユニット番号
    レジスタに保存されているユニット番号を持つ前記ユニ
    ットを消去するステップからなる、請求項46に記載の
    方法。
  50. 【請求項50】 前記対応するユニット番号レジスタ内
    に保存されているユニット番号を持つ前記ユニットの前
    記消去が、ハードウェアによって行われる、請求項49
    に記載の方法。
  51. 【請求項51】 前記対応するユニット番号レジスタ内
    に保存されているユニット番号を持つ前記ユニットの前
    記消去が、ファームウェアによって行われる、請求項4
    9に記載の方法。
  52. 【請求項52】 前記対応するユニット番号レジスタ内
    に保存されているユニット番号を持つ前記ユニットの前
    記消去が、ソフトウェア消去コマンドを出すことを含む
    ステップによって行われる、請求項49に記載の方法。
  53. 【請求項53】 前記設定及び前記保存がハードウェア
    によって行われる、請求項46に記載の方法。
  54. 【請求項54】 前記設定及び前記保存がファームウェ
    アによって行われる、請求項46に記載の方法。
  55. 【請求項55】 前記フラッグレジスタ及び前記ユニッ
    ト番号レジスタが不揮発性である、請求項46に記載の
    方法。
  56. 【請求項56】(a)各ユニットが複数のアドレス可能
    位置を含む複数のユニット、そして (b)前記各ユニットの前記アドレス可能位置から分離
    した、前記ユニットの各々に対して、前記各ユニットの
    消去指定を示すためのフラッグレジスタからなるフラッ
    シュメモリ・デバイス。
  57. 【請求項57】 さらに、 (c)消去が指定された前記ユニットの各々の前記フラ
    ッグレジスタ内に消去保留フラッグを設定し、前記消去
    に続いて前記消去保留フラッグをクリアするメカニズム
    からなる、請求項56のフラッシュメモリ・デバイス。
  58. 【請求項58】 前記メカニズムがハードウェアで具現
    される、請求項57のフラッシュメモリ・デバイス。
  59. 【請求項59】 前記メカニズムがファームウェアで具
    現される、請求項57のフラッシュメモリ・デバイス。
  60. 【請求項60】 さらに、 (c)外部装置が、消去が指定された前記ユニットの各
    々の前記フラッグレジスタ内に消去保留フラッグを設定
    し、前記消去に続いて前記消去保留フラッグをクリアす
    ることができるようにするメカニズムからなる、請求項
    56のフラッシュメモリ・デバイス。
  61. 【請求項61】 前記設定及び前記クリアが、前記外部
    装置のファームウェアによって行われる、請求項60の
    フラッシュメモリ・デバイス。
  62. 【請求項62】 前記設定及び前記クリアが、前記外部
    装置のソフトウェアによって行われる、請求項60のフ
    ラッシュメモリ・デバイス。
  63. 【請求項63】 前記フラッグレジスタが不揮発性であ
    る、請求項56のフラッシュメモリ・デバイス。
  64. 【請求項64】(a)各ユニットがユニット番号と複数
    のアドレス可能位置とを持つ複数のユニット、 (b)前記ユニットの一つが消去指定されていることを
    示す消去保留フラッグを保存するための、前記アドレス
    可能位置から分離した少なくとも一つのフラッグレジス
    タ、そして (c)前記アドレス可能位置から分離した、前記一つの
    ユニットの前記ユニット番号を保存するのための、前記
    少なくとも一つのフラッグレジスタの各々に対して対応
    するユニット番号レジスタからなるフラッシュメモリ・
    デバイス。
  65. 【請求項65】 さらに、 (d)消去すべき前記ユニットの各々に対して、 (i)前記少なくとも一つのフラッグレジスタの一つに
    消去保留フラッグを設定し、 (ii)前記一つのフラッグレジスタに対応する前記ユ
    ニット番号レジスタ内に、前記各ユニットの前記ユニッ
    ト番号を保存し、そして (iii)前記消去に続いて前記消去保留フラッグをク
    リアするためのメカニズムからなる、請求項64のフラ
    ッシュメモリ・デバイス。
  66. 【請求項66】 前記メカニズムがハードウェアで具現
    される、請求項65のフラッシュメモリ・デバイス。
  67. 【請求項67】 前記メカニズムがファームウェアで具
    現される、請求項65のフラッシュメモリ・デバイス。
  68. 【請求項68】 さらに、 (d)消去すべき前記ユニットの各々に対して、外部装
    置が、 (i)前記少なくとも一つのフラッグレジスタの一つに
    消去保留フラッグを設定し、 (ii)前記一つのフラッグレジスタに対応する前記ユ
    ニット番号レジスタ内に前記各ユニットの前記ユニット
    番号を保存し、そして (iii)前記消去に続いて、前記消去保留フラッグを
    クリアすることを可能にするためのメカニズムからな
    る、請求項64のフラッシュメモリ・デバイス。
  69. 【請求項69】 前記設定、前記保存及び前記クリア
    が、前記外部装置のファームウェアによって行われる、
    請求項68のフラッシュメモリ・デバイス。
  70. 【請求項70】 前記設定、前記保存及び前記クリア
    が、前記外部装置のソフトウェアによって行われる、請
    求項68のフラッシュメモリ・デバイス。
  71. 【請求項71】 前記少なくとも一つのフラッグレジス
    タ及び前記少なくとも一つのユニット番号レジスタが、
    不揮発性である、請求項64のフラッシュメモリ・デバ
    イス。
  72. 【請求項72】(a)各ユニットがユニット番号と複数
    のアドレス可能位置とを持つ複数のユニット、 (b)電力損失を検出する検出メカニズム、そして (c)この検出メカニズムが前記電力損失を検出したと
    きに、消去中の前記ユニットの前記ユニット番号を記録
    する記録メカニズムからなるフラッシュメモリ・デバイ
    ス。
  73. 【請求項73】 前記記録メカニズムが、 (i)消去保留フラッグを保存するための、ほぼ平行し
    て消去が可能な前記ユニットの最大数に同数のフラッグ
    レジスタと、 (ii)前記一つのユニットのユニット番号を保存する
    ための、前記フラッグレジスタの各々に対して対応する
    ユニット番号レジスタとを含み、 前記保留フラッグの各々は、設定された場合、前記検出
    メカニズムが前記電力損失を検出したときに前記ユニッ
    トの一つが消去中であったことを示す、請求項72のフ
    ラッシュメモリ・デバイス。
  74. 【請求項74】 前記フラッグレジスタ及び前記ユニッ
    ト番号レジスタが、前記アドレス可能位置から分離して
    いる、請求項73のフラッシュメモリ・デバイス。
  75. 【請求項75】 さらに、 (d)前記フラッシュメモリ・デバイスがパワーアップ
    されたときに、前記記録メカニズムによってユニット番
    号が記録されている前記ユニットを識別して消去する初
    期化メカニズムからなる、請求項74のフラッシュメモ
    リ・デバイス。
  76. 【請求項76】 前記初期化メカニズムがハードウェア
    で具現されている、請求項75のフラッシュメモリ・デ
    バイス。
  77. 【請求項77】 前記初期化メカニズムがファームウェ
    アで具現されている、請求項75のフラッシュメモリ・
    デバイス。
  78. 【請求項78】 前記初期化メカニズムが、ソフトウェ
    アによる前記識別を可能にする、請求項75のフラッシ
    ュメモリ・デバイス。
  79. 【請求項79】 前記記録メカニズムがハードウェアで
    具現されている、請求項72のフラッシュメモリ・デバ
    イス。
  80. 【請求項80】 前記記録メカニズムがファームウェア
    で具現されている、請求項72のフラッシュメモリ・デ
    バイス。
JP2002336167A 2001-11-23 2002-11-20 フラッシュデバイスにおける部分的に消去されたユニットの検出 Pending JP2003187585A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US33205601P 2001-11-23 2001-11-23
US60/332,056 2001-11-23

Publications (1)

Publication Number Publication Date
JP2003187585A true JP2003187585A (ja) 2003-07-04

Family

ID=27613196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002336167A Pending JP2003187585A (ja) 2001-11-23 2002-11-20 フラッシュデバイスにおける部分的に消去されたユニットの検出

Country Status (3)

Country Link
US (1) US6977847B2 (ja)
JP (1) JP2003187585A (ja)
KR (1) KR100991718B1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613982B2 (en) 2004-11-16 2009-11-03 Samsung Electronics Co., Ltd. Data processing apparatus and method for flash memory
JP2011129192A (ja) * 2009-12-16 2011-06-30 Samsung Electronics Co Ltd 半導体記憶装置
US8015344B2 (en) 2004-11-19 2011-09-06 Samsung Electronics Co., Ltd. Apparatus and method for processing data of flash memory
JP2013003655A (ja) * 2011-06-13 2013-01-07 Denso Corp フラッシュメモリにデータの書き込みを行う制御装置

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100544175B1 (ko) * 1999-05-08 2006-01-23 삼성전자주식회사 링킹 타입 정보를 저장하는 기록 매체와 결함 영역 처리 방법
US7113432B2 (en) 2000-09-14 2006-09-26 Sandisk Corporation Compressed event counting technique and application to a flash memory system
DE60319718D1 (de) * 2002-10-02 2008-04-24 Matsushita Electric Ind Co Ltd Steuerverfahren für eine nichtflüchtige speichereinrichtung
US7003621B2 (en) * 2003-03-25 2006-02-21 M-System Flash Disk Pioneers Ltd. Methods of sanitizing a flash-based data storage device
US6957312B1 (en) * 2003-05-07 2005-10-18 Agilent Technologies, Inc. NVRAM control protocol
US6988175B2 (en) * 2003-06-30 2006-01-17 M-Systems Flash Disk Pioneers Ltd. Flash memory management method that is resistant to data corruption by power loss
US7299314B2 (en) 2003-12-31 2007-11-20 Sandisk Corporation Flash storage system with write/erase abort detection mechanism
KR100704618B1 (ko) 2004-01-19 2007-04-10 삼성전자주식회사 플래시 메모리의 데이터 복구 장치 및 방법
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
KR100631765B1 (ko) 2004-10-18 2006-10-09 삼성전자주식회사 플래시 메모리의 데이터 처리 장치 및 방법
EP1650766B1 (fr) * 2004-10-20 2008-05-14 Actaris SAS Procédé de gestion pour l'effacement d'une mémoire de type flash, et compteur électrique comprenant une mémoire de type flash
US7120051B2 (en) * 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US7409473B2 (en) 2004-12-21 2008-08-05 Sandisk Corporation Off-chip data relocation
US7849381B2 (en) * 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US7212440B2 (en) 2004-12-30 2007-05-01 Sandisk Corporation On-chip data grouping and alignment
US7308525B2 (en) * 2005-01-10 2007-12-11 Sandisk Il Ltd. Method of managing a multi-bit cell flash memory with improved reliablility and performance
US7275140B2 (en) * 2005-05-12 2007-09-25 Sandisk Il Ltd. Flash memory management method that is resistant to data corruption by power loss
US7631245B2 (en) * 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US8291295B2 (en) * 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US20070083697A1 (en) * 2005-10-07 2007-04-12 Microsoft Corporation Flash memory management
US7631162B2 (en) 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
US7509471B2 (en) * 2005-10-27 2009-03-24 Sandisk Corporation Methods for adaptively handling data writes in non-volatile memories
US7783845B2 (en) * 2005-11-14 2010-08-24 Sandisk Corporation Structures for the management of erase operations in non-volatile memories
US7624239B2 (en) * 2005-11-14 2009-11-24 Sandisk Corporation Methods for the management of erase operations in non-volatile memories
US7564721B2 (en) * 2006-05-25 2009-07-21 Micron Technology, Inc. Method and apparatus for improving storage performance using a background erase
US20080046630A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US20080046641A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
WO2008070813A2 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a front-end, distributed raid
KR100816154B1 (ko) * 2007-01-23 2008-03-21 주식회사 하이닉스반도체 플래시 메모리 소자의 어드레스 스케쥴링 방법
CN101281492B (zh) * 2007-04-04 2011-02-02 扬智科技股份有限公司 恢复闪存的对照表的方法
US8266391B2 (en) * 2007-06-19 2012-09-11 SanDisk Technologies, Inc. Method for writing data of an atomic transaction to a memory device
US20080320253A1 (en) * 2007-06-19 2008-12-25 Andrew Tomlin Memory device with circuitry for writing data of an atomic transaction
US20090049226A1 (en) * 2007-08-13 2009-02-19 Ibm Corporation Stale track initialization in a storage controller
US8332581B2 (en) * 2007-08-13 2012-12-11 International Business Machines Corporation Stale track initialization in a storage controller
US8533562B2 (en) * 2007-09-12 2013-09-10 Sandisk Technologies Inc. Data protection after possible write abort or erase abort
US9607664B2 (en) 2007-09-27 2017-03-28 Sandisk Technologies Llc Leveraging portable system power to enhance memory management and enable application level features
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8775758B2 (en) * 2007-12-28 2014-07-08 Sandisk Technologies Inc. Memory device and method for performing a write-abort-safe firmware update
JP2010044504A (ja) * 2008-08-11 2010-02-25 Hitachi Cable Ltd フラッシュメモリを用いた装置及びそのフラッシュメモリへのデータの書き込み方法
US8762661B2 (en) * 2008-09-18 2014-06-24 Seagate Technology Llc System and method of managing metadata
US7962801B2 (en) * 2008-10-15 2011-06-14 Silicon Motion, Inc. Link table recovery method
US8316201B2 (en) * 2008-12-18 2012-11-20 Sandisk Il Ltd. Methods for executing a command to write data from a source location to a destination location in a memory device
JP4712102B2 (ja) * 2009-05-26 2011-06-29 富士通株式会社 記憶装置、データ処理方法およびデータ処理プログラム
US20110040924A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code
US20110041039A1 (en) * 2009-08-11 2011-02-17 Eliyahou Harari Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device
US8289801B2 (en) 2009-09-09 2012-10-16 Fusion-Io, Inc. Apparatus, system, and method for power reduction management in a storage device
US9021158B2 (en) 2009-09-09 2015-04-28 SanDisk Technologies, Inc. Program suspend/resume for memory
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
US8605533B2 (en) * 2009-11-27 2013-12-10 Samsung Electronics Co., Ltd. Apparatus and method for protecting data in flash memory
US8595411B2 (en) * 2009-12-30 2013-11-26 Sandisk Technologies Inc. Method and controller for performing a sequence of commands
US8443263B2 (en) 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
US8255616B2 (en) * 2010-01-12 2012-08-28 Freescale Semiconductor, Inc. Non-volatile memory device and method therefor
US9070453B2 (en) 2010-04-15 2015-06-30 Ramot At Tel Aviv University Ltd. Multiple programming of flash memory without erase
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US20120137093A1 (en) * 2010-11-30 2012-05-31 Micron Technology, Inc. Reliable write for non-volatile memory
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
WO2012109677A2 (en) 2011-02-11 2012-08-16 Fusion-Io, Inc. Apparatus, system, and method for managing operations for data storage media
US9588883B2 (en) * 2011-09-23 2017-03-07 Conversant Intellectual Property Management Inc. Flash memory system
US8612670B2 (en) 2011-11-06 2013-12-17 Dsp Group Ltd. Method and system for managing flash write
ITMI20120595A1 (it) 2012-04-12 2013-10-13 St Microelectronics Srl Gestione della cancellazione di pagine operative di un dispositivo di memoria flash tramite pagine di servizio
TWI548991B (zh) * 2014-02-14 2016-09-11 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
US9666244B2 (en) 2014-03-01 2017-05-30 Fusion-Io, Inc. Dividing a storage procedure
KR102227636B1 (ko) 2014-12-31 2021-03-16 삼성디스플레이 주식회사 표시 장치용 데이터 저장 장치 및 이의 저장 방법
US9933950B2 (en) 2015-01-16 2018-04-03 Sandisk Technologies Llc Storage operation interrupt
EP3133604B1 (en) 2015-08-17 2020-11-11 Harman Becker Automotive Systems GmbH Method and device for fail-safe erase of flash memory
US20180239532A1 (en) 2017-02-23 2018-08-23 Western Digital Technologies, Inc. Techniques for performing a non-blocking control sync operation
US11094381B2 (en) * 2019-06-02 2021-08-17 Apple Inc. Rapid restart protection for a non-volatile memory system
US11507559B2 (en) 2020-05-25 2022-11-22 Hewlett Packard Enterprise Development Lp Object sharing by entities using a data structure
US11698745B2 (en) 2021-04-05 2023-07-11 Western Digital Technologies, Inc. Pre-erasure of memory in storage devices
US11816349B2 (en) 2021-11-03 2023-11-14 Western Digital Technologies, Inc. Reduce command latency using block pre-erase
US11756637B2 (en) 2021-11-24 2023-09-12 Western Digital Technologies, Inc. Block erase type detection using bit count check

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
JPH096747A (ja) * 1995-06-20 1997-01-10 Ricoh Co Ltd フラッシュメモリ制御装置
US5845313A (en) * 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US6125435A (en) * 1995-09-13 2000-09-26 Lexar Media, Inc. Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
US5799168A (en) 1996-01-05 1998-08-25 M-Systems Flash Disk Pioneers Ltd. Standardized flash controller
US5860082A (en) * 1996-03-28 1999-01-12 Datalight, Inc. Method and apparatus for allocating storage in a flash memory
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
US6076137A (en) * 1997-12-11 2000-06-13 Lexar Media, Inc. Method and apparatus for storing location identification information within non-volatile memory devices
US6496939B2 (en) 1999-09-21 2002-12-17 Bit Microsystems, Inc. Method and system for controlling data in a computer system in the event of a power failure
JP2001250388A (ja) * 2000-03-06 2001-09-14 Fujitsu Ltd 消去動作情報を記憶する不揮発性メモリ

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613982B2 (en) 2004-11-16 2009-11-03 Samsung Electronics Co., Ltd. Data processing apparatus and method for flash memory
US8015344B2 (en) 2004-11-19 2011-09-06 Samsung Electronics Co., Ltd. Apparatus and method for processing data of flash memory
US8230166B2 (en) 2004-11-19 2012-07-24 Samsung Electronics Co., Ltd. Apparatus and method for processing data of flash memory
JP2011129192A (ja) * 2009-12-16 2011-06-30 Samsung Electronics Co Ltd 半導体記憶装置
JP2013003655A (ja) * 2011-06-13 2013-01-07 Denso Corp フラッシュメモリにデータの書き込みを行う制御装置

Also Published As

Publication number Publication date
KR100991718B1 (ko) 2010-11-03
KR20030043691A (ko) 2003-06-02
US6977847B2 (en) 2005-12-20
US20030099134A1 (en) 2003-05-29

Similar Documents

Publication Publication Date Title
JP2003187585A (ja) フラッシュデバイスにおける部分的に消去されたユニットの検出
US7457912B2 (en) Runtime flash device detection and configuration for flash data management software
US8792277B2 (en) Split data error correction code circuits
US7117328B2 (en) Non-volatile data storage system and data storaging method
JP5528782B2 (ja) 停電後の不揮発性メモリの回復
US6172906B1 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US7350044B2 (en) Data move method and apparatus
US7680977B2 (en) Page and block management algorithm for NAND flash
JP4966965B2 (ja) 電源喪失によるデータ破損に強いフラッシュメモリ管理方法
US7818492B2 (en) Source and shadow wear-leveling method and apparatus
US7903474B2 (en) Redundant purge for flash storage device
JP2007179594A (ja) 半導体集積回路装置
JPWO2007000862A1 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
JP2011514568A (ja) ライトワンスメモリデバイスおよびライトメニーメモリデバイスを備えるコンピュータのストレージサブシステムおよび関連する方法
JP6040895B2 (ja) マイクロコンピュータ及び不揮発性メモリのブロック管理方法
KR100965079B1 (ko) 불휘발성 메모리 장치
JP4332108B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US20070101048A1 (en) Verified purge for flash storage device
JP2005293177A (ja) メモリコントローラ及びフラッシュメモリシステム
JP2006040484A (ja) フラッシュメモリモジュール
JPH11134880A (ja) メモリ制御装置およびメモリ制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050524

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050808

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050811

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051118

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060203