JP2006519444A - フラッシュメモリーのデータ管理方法 - Google Patents

フラッシュメモリーのデータ管理方法 Download PDF

Info

Publication number
JP2006519444A
JP2006519444A JP2006504193A JP2006504193A JP2006519444A JP 2006519444 A JP2006519444 A JP 2006519444A JP 2006504193 A JP2006504193 A JP 2006504193A JP 2006504193 A JP2006504193 A JP 2006504193A JP 2006519444 A JP2006519444 A JP 2006519444A
Authority
JP
Japan
Prior art keywords
data
block
memory block
flash memory
memory
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
JP2006504193A
Other languages
English (en)
Inventor
国順 ▲とう▼
暁華 成
鋒 向
Original Assignee
深▲せん▼市朗科科技有限公司
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
Priority claimed from CN03104983A external-priority patent/CN100590737C/zh
Application filed by 深▲せん▼市朗科科技有限公司 filed Critical 深▲せん▼市朗科科技有限公司
Publication of JP2006519444A publication Critical patent/JP2006519444A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】フラッシュメモリーの安定性、データの安全性、耐障害性の性能を向上できるフラッシュメモリーのデータ管理方法を提供する。
【解決手段】本発明のフラッシュメモリー内のデータ管理方法は、メモリブロックの操作過程で、ブロックのステータスフラグを末完了状態に設定し、操作完了後は、ステータスフラグを末完了状態から、完了状態に設定する。この方法を利用して、フラッシュメモリーにデータの書き込んでいるときに、突然の電源切れが発生した場合でも、フラッシュメモリー内にあった元のデータの消失を防ぐことが出来る。また、本発明は、上記のデータ管理方法を採用したフラッシュメモリーにデータを書き込む方法とデータリカバーの方法も提供する。

Description

本発明は半導体メモリーの分野に関わるものであり、具体的にはフラッシュメモリーのデータ管理方法に関するものである。本発明の方法を利用してデータ管理を行えば、フラッシュメモリーに対しデータを書き込んでいるときに、突然の電源切れが発生した場合でも、フラッシュメモリーにあった元のデータや新たに書き込んだデータはどちらも消失することはなく、フラッシュメモリー内のデータの安全性を高めている。
フラッシュメモリーを利用したモバイルメモリ装置は、すでに大量かつ幅広く応用されており、徐々にフロッピー(登録商標)ディスクに取って代わろうとしている。しかし、フラッシュメモリーも実際に応用する段階においては、欠点が見受けられる。たとえば、フラッシュメモリーの特殊な読み書き特性はすでに周知のことであるため、ユーザーがフラッシュメモリーに新しいデータを書き込んだり、もしくは、すでに保存されているデータを修正するとき、まず対応する物理アドレスが指向しているメモリブロックのデータ(以下元データという)を別のアドレスが指向しているメモリブロックに「移動」させる。
フラッシュメモリーがデータを読み取る原理はPCのハードディスクと非常に似ており、どちらもFATやディレクトリなどを通して、ディスク内のファイル情報を獲得する。もし元データを移動している途中、予想外のあるいはユーザーの操作ミスなどによる突然の電源切れが発生した場合、移動は中断させられてしまう。電源切れ発生時に元データの移動作業が未完了の場合、この部分のデータ情報はFATやディレクトリ内などではすぐに更新されず、移動に関わったデータは読み取りができなくなり、無効データとなる。このように、電源切れ発生前に保存した無効データを含むファイルは無効ファイルとなり、データの消失を招いてしまう。
このほか、フラッシュメモリーの読み書き特性により、フラッシュメモリーにはメモリブロックに対する消去操作があり、メモリブロック内の全てのビットにロジック「1」を設定する。もし消去する途中で電源切れが発生した場合、このメモリブロックに存在する一部のビットはすでにロジック「1」となっており、残りのビットはロジック「0」のままとなる可能性がある。もしこのとき、このメモリブロックに新しいデータの書き込みを行えば、エラーの発生を招いてしまう。
本発明は、上記の現存技術によるフラッシュメモリーに存在する信用性の欠如、耐障害性の欠如、データの安全性の欠如、突然の電源切れに対するミス処理能力の不足などに焦点を当てて、フラッシュメモリー内のデータ管理の方法を提供する。
本発明の目的は、フラッシュメモリー内のデータ管理方法を打ち出すことにある。当該フラッシュメモリーには多数のメモリブロックがあり、各メモリブロックは多数のページで構成され、各ページはデータ保存エリアと冗長エリアを含む。当該データ保存エリアは一般的にユーザーのデータを記録することに用いられ、当該冗長エリアは一般的に、当該ページが存在するフラッシュチップの専用情報と当該ページが存在するメモリブロックのロジックアドレスなどの索引情報、及びユーザーが自分で設定した情報や、不用になったものなどを記録する。
当該多数のメモリブロックのうち、少なくとも1つのメモリブロックの、少なくとも1つのページの冗長エリアにステータスフラグを設置する。当該メモリブロックにデータを書き込む過程で、当該ステータスフラグを未完了状態に設定し、当該メモリブロックへのデータ書き込みが完了したときに、当該ステータスフラグを完了状態に設定する。
本発明における上述の未完了状態とは、当該メモリブロックに対するデータ書き込み操作が未完了であることを示しており、当該完了状態とは当該メモリブロックに対するデータ書き込み操作がすでに完了していることを示している。そのうち、当該データ書き込み操作の手順には、以下のものを含む。新しいデータの受け取りを指定したメモリブロック800中の、保留が必要なデータを当該メモリブロック900にコピーする。あるいは当該メモリブロック900に新しいデータを書き込む。あるいは当該元のメモリブロック800のデータを当該メモリブロック900にコピーし、かつ当該元のメモリブロック800および/あるいは900に新しいデータを書き込む。上記手順において、新データの受け取りを指定したメモリブロックとは、データを書き込むコマンド中で指定した目標アドレスに基づいて、フラッシュメモリー内で探し当てた対応するアドレスのメモリブロックのことを指す。
本発明のもうひとつの目的に基づき、本発明は、フラッシュメモリー内にデータを書き込む方法も提供している。当該フラッシュメモリーには多数のメモリブロックがあり、各メモリブロックは多数のページで構成されており、また各ページにはデータ保存エリアと冗長エリアがある。手順には以下のものを含む。
新データを書き込むコマンドを受ける。当該フラッシュメモリー内の、書き込みコマンドが指定したロジックアドレスと対応するメモリブロック800を検索する。検索したメモリブロック800が空かどうか判断し、もしメモリブロック800が空ならば、検索したメモリブロック800に新しいデータを書き込む。もし空でなければ、空の新ブロック900を検索する。メモリブロック800の保留するデータを当該新ブロック900にコピーする。当該新ブロック900中の少なくとも1ページの冗長エリアのステータスフラグを未完了状態に設定して、当該新ブロック900に新データを書き込む。当該元のブロック800を削除し、当該新ブロック900の当該ステータスフラグを未完了状態から完了状態に設定する。
上記のデータ書き込みの方法において、当該保留するデータとは、元のブロックが記録した元のデータのなかで、新しく書きこまれるデータにカバーされない部分のことである。当該保留するデータとは、元のブロック内にあるすべての元データ、またはその一部のことである。
また、別の目的に基づき、本発明は、フラッシュメモリー内のデータをリカバーさせる方法を提供する。当該フラッシュメモリーが上記のデータ管理方法を採用すると、電源切れによるデータが損失するような状況に備えて、フラッシュメモリーの使用過程において電源を入れるたびに、以下の手順でデータをリカバーさせる。ステータスフラグが未完了状態のメモリブロックを検査することで、保留が必要なデータが存在するメモリブロックを検索し、データのリカバー操作を行う。
また、別の目的に基づき、本発明は、フラッシュメモリー内の空のメモリブロックを確実に使用できるよう確保する方法を提供する。当該フラッシュメモリーが上記の操作過程中に電源切れした後、再び電源を入れたとき、冗長エリアがすべてロジック「1」で、データ保存エリアの一部がロジック「1」以外となっているメモリブロックを検索して消去し、全ての冗長エリアが空のメモリブロックを使用できるよう保証する。
たとえばロジック「1」のように、ロジック値は、数値か文字列あるいは数字と文字列の組合せで表示することができる。
本発明が提供するデータ管理方法を採用することにより、メモリブロックにステータスフラグを設置することで、フラッシュメモリーに対して新しいデータを書き込む過程において、たとえ人為的な誤操作や予想外の電源切れが発生したとしても、フラッシュメモリー内に元々ある保留すべきデータが失わないようにすることができる。また、上記原因によって作られたメモリブロックが完全に消去されず、再び読み込み書き込み時に間違いがおこる状況を避けることが出来る。
本発明の方法を用いれば、あらかじめ突然の電源切れが発生する前に記録した元データを完全に保存し、あわせてフラッシュメモリー内すべての空きメモリブロックを用いることができるため、フラッシュメモリーの安定性、データの安全性、耐障害性の性能を向上させている。
次に、図面にあわせて本発明の具体的な実施例について詳細に説明する。
図2が示すのは、現存するフラッシュメモリーの物理構造である。当該フラッシュメモリーの最小物理メモリーの単位はページ(Page)で、多数のページで1つのメモリブロック(Block、すなわち物理ブロック)が構成されている。各チップは多数のメモリブロックを有している。また、当該各ページにはデータ保存エリアと冗長エリアがある。たとえばページごとに512バイトのデータ保存エリアと16バイトの冗長エリアを含む、あるいはページごとに2Kバイトのデータ保存エリアと64バイトの冗長エリアを含むことができる。
当該冗長エリアのバイト配分方式は多種多様で、たとえば1つあるいは多バイトにステータスフラグを設定することで、そのページのメモリブロックのデータ状態および/あるいは作業状態を表示することができる。図3はフラッシュメモリーの冗長エリアのバイト配分の一例である。
本発明により、当該ページの冗長エリアにステータスフラグを設置することで、当該ページのメモリブロックの状態を表示させる。当該ステータスフラグには、完了状態(Complete)と未完了状態(Incomplete)が含まれている。上記の未完了状態とは当該メモリブロックのデータに対する保存操作が完了していないことを表し、当該完了状態とは当該メモリブロックのデータに対して保存操作がすでに完了したことを表している。このほかに、当該冗長エリアすべてのビットがロジック「1」であるとき、すべてのページを「空」とマークして、そのページに新データを書き込むことができる。
図3のように、本発明に基づく1つの実施例として、冗長エリアの第0番バイトを、ステータスフラグを立てるフラグビットとして採用している。しかしながら、この分野の一般の技術者には理解いただけると思うが、本発明はこれに止まらない。
次に、図1と図4をあわせて、本発明のフラッシュメモリーのデータ管理方法を説明する。またこの管理方法に基づいて、フラッシュメモリーにデータを保存するどの段階で発生した突然の電源切れにおいても、データの安全性を確保できる可能性について、更に説明を行う。
図1のように、当該フラッシュメモリーにおいて、本発明が提供するデータ管理方法を採用したとき、データ操作はメモリブロック800と900の間で行うことができる。
図4のように、当該フラッシュメモリーが操作システムから新しいデータを書き込むコマンドを受け取った後(手順1)、メモリー装置のコントローラーは当該新しいデータを書き込むコマンドが指定したロジックアドレスに基づき、新しいデータを書き込むメモリブロック(以下元ブロックという)を検索する。手順2が示すとおりである。
手順3で、検索したメモリブロック800が空かどうか判断する。
もしメモリブロック800が空ならば、検索したメモリブロック800に新しいデータを書き込む。手順3´が示すとおりである。
もしメモリブロック800が空でなければ、空のメモリブロック900(以下新ブロックという)を検索する。手順4が示すとおりである。
次に手順5で、メモリー装置のコントローラーは当該元ブロック800中の保留が必要なデータを新ブロック900にコピーする。つまり元ブロックの保留が必要なデータに対し移動を実行する。移動を実行するのと同時に、新ブロック900の各ページのステータスフラグを未完了状態にする。
そして、当該新しいデータを当該新ブロック900に書き込み、同時にそれと対応するページのステータスフラグを未完了状態にする(手順6)。その後、当該元ブロック800すべてのデータを削除する(手順7)。
新ブロック900の全ページの冗長エリアのステータスフラグを未完了状態から完了状態にする(手順8)。
本発明によるもう一つの実施方式は、新ブロックを検索した後、まずその中に新しいデータを書き込み、新ブロックのステータスフラグを未完了状態にするというものである。そして元ブロックの保留が必要なデータを新ブロックにコピーしてから、新ブロックのステータスフラグを完了状態にする。
新ブロックにおいて、保留が必要なデータをコピーする手順(手順5)と、新データを書き込む手順(手順6)を同時進行することができる。進行過程において、新ブロックのステータスフラグを未完了状態にする。新ブロックへのコピー操作と書き込み操作がすべて完了した後、新ブロックのステータスフラグを完了状態にする。
事実上、新データを書き込む手順(手順6)は、保留が必要なデータをコピーする手順(手順5)と交互に取り混ぜて行うことができる。
当該メモリブロックに新しいデータを書き込む過程は、そのステータスフラグの設定過程とも交互に取り混ぜて行うことができる。
元ブロックを削除する手順(手順7)についても、新ブロックのステータスフラグを完了状態にする手順(手順8)の後行うことができる。
上記の本発明の実施例から分かるように、本発明のデータ管理方法の特徴は、新ブロックで操作を行う過程において、元ブロックの保留が必要なデータを新ブロックにコピーするとき、あるいは新ブロックで新しいデータを書き込むときに、新ブロックのステータスフラグを未完了状態にし、新ブロックのデータに対する操作が完了した後、新ブロックのステータスフラグを未完了状態から完了状態にすることである。
このデータ管理方法を利用すれば、当該フラッシュメモリーにデータの書き込みを行う際、電源切れが発生したとしても、フラッシュメモリー内にあったデータが失われることはない。
すなわち、上記のフラッシュメモリーのデータ管理方法を行うことによって、操作過程のどの手順において突然の電源切れが発生したとしても、再び電源が入ったとき、当該フラッシュメモリーは保留が必要なデータを復旧することができる。
上記の実施例によれば、図4のように、保留が必要なデータを新ブロックにコピーする場合で、新ブロックのステータスフラグが未完了状態のとき(手順5中)に電源切れが発生した場合には、元ブロックの元データに対しコピー操作を行っているので、元ブロック中には元データが依然として保存され、電源切れにより壊れたのは新ブロックにコピー中の不完全な保存するデータのみとなる。これにより、再び電源を入れたとき、まず新ブロックを消去し、もう一度コピー操作を行うだけである。
また、元ブロックの保留が必要なデータはすでに新ブロックにコピーしてあり、なおかつ新ブロックのステータスフラグをすべて未完了状態にした後、まだ新ブロックに新データを書き込む前(すなわち手順5の完了後、手順6の実行前)に中断が発生した場合においても、新ブロックの保留が必要なデータは無事であり、元ブロックの元データはそのまま保存されており、新データはまだ書き込まれておらず、中断による影響は新ブロックのステータスフラグが未完了状態であるということだけである。したがって、再度電源が入ったときには、新ブロックに新データを書き込み、新ブロックのステータスフラグを完了状態にするたけで済むのである。たとえ新ブロックに新しいデータを書き込む過程で中断が発生し(手順6の実行過程中)、電源切れが発生した後、一部のデータのみ新ブロックに書き込んでいたとしても、再び電源を入れたときに残りの新データを続けて書き込むだけで良いのである。
もし中断が発生したのが、すでに書き込みが必要な新しいデータをすべて新ブロックに書き込んだ後だが、元ブロック中のデータの消去を始める前(手順6の完成後、手順7の開始前)だった場合、元ブロックには元データがそのまま保存されており、かつ保留が必要なデータと新しいデータはすでに新ブロック中に存在する。再び電源が入ったときには、新ブロックのステータスフラグを完了状態にし、元ブロックを消去するだけで良いのである。
もし新ブロックのステータスフラグが完了状態の過程(手順8の実行中)において中断が発生したとすれば、ステータスフラグの修正操作は失敗する可能性がある。したがって再度電源が入ったとき新ブロックのステータスフラグを再び完了状態にするだけで良いのである。
新ブロックを探し出す前に、データの読み書きがまだ発生せず、中断が発生したとしても、データを失うことはない。元ブロックの元データを消去しているときに中断が発生した場合には、元ブロックのデータの消去が不完全となるが、再び電源を入れたときにデータ復旧の作業をする必要はない。
以上は本発明のデータ管理方法を実施したフラッシュメモリーが突然の電源切れに遭遇したときに、データをリカバーする可能性について説明したものである。
次に、図4と図5を用いて、フラッシュメモリー内で実施した上記のデータ管理方法について具体的に説明する。そのフラッシュメモリーが突然の電源切れで操作を中断させられた後、該フラッシュメモリーに再度電源を入れた際のデータのリカバー方法についてである。当該メモリー装置のコントローラーはフラッシュメモリー内でステータスフラグが未完了状態のメモリブロック(前述の新ブロックのこと)を検索する。上述のデータ管理方法から、以下のことが分かる。つまり、メモリブロックのステータスフラグが未完了状態であれば、このメモリブロックが中断前のデータを書き込む手順において使用されたこと、なおかつエラーのデータを含む可能性があり、リカバーする必要があるということを証明しているのである。そこで、コントローラーが当該新ブロックと同一のロジックアドレスを持つメモリブロックを検索する。このメモリブロックは、電源切れ前にデータを書き込む過程で元データを記録した元ブロックである。
もし元ブロックを検索することができれば、中断は元ブロックを削除する手順(手順7)の前に発生したと説明できる。未完了ブロックの全ページの冗長エリアのステータスフラグがすべて未完了状態かどうか判断する。もし未完了状態であれば、すべての保留の必要なデータがすでに移動を完了され、書き込もうとするデータもすでに保存が完了したことになるため、元ブロックを削除して検索した新ブロックのステータスフラグを完了状態にする。もし当該新ブロック内の全ページのステータスフラグがすべて未完了状態ではないならば、新ブロックを削除し、元ブロックのステータスフラグを完了状態にし、対照表を修正する。
もし、元ブロックを検索できなければ、中断の発生はおそらく元ブロックを削除する過程(手順7の過程)の最中、あるいは、元ブロックを消去する手順が完了した後だと言える。このときは、新ブロックのページのステータスフラグを完了状態にし、同時に前述のように対照表を修正する。
当該対照表は当該フラッシュメモリーの物理アドレスとロジックアドレスのマップであり、対照表を修正することは、対照表で対応する新ブロックのロジックアドレスをコマンドのロジックアドレスに変更することである。
本発明の実施例からわかるように、本発明のデータリカバー方法の特徴は、フラッシュメモリーのメモリブロックの、各ページの冗長エリアのステータスフラグの検査に基づいて、中断が発生したときのメモリブロックの状態を判断し、さらに保留が必要なデータを検索して、対応するデータのリカバー操作を行うということである。このことから、データ書き込み方法の手順に対して調整をおこない、データをリカバーする方法を変更することは、本発明のコンセプトから離れることではない。
中断のために失う可能性のある元データのリカバーが完了した後、フラッシュメモリーの冗長エリアの全ビットがロジック「1」であるメモリブロックを、確実にすべて空とするために、削除操作の中断による残留データを排除するが、これにより次の読み書き操作で間違いがおこる可能性がある。このことから空の当該メモリブロックに対しデバッグを行う必要がある。
本発明は、空のメモリーブロックを検査・デバッグする以下の方式を採用する。
まず第0ページの冗長エリア中におけるすべてのビットがロジック「1」のメモリブロックを検索し、そしてそのメモリブロックの全ページのビットがすべてロジック「1」かどうかを検査する。もしすべてがロジック「1」でなければ、そのメモリブロックに対し削除操作を行う。
本発明によれば、データを復旧する作業が完了した後、全ての空のメモリブロックに対し上記のような検査・デバッグ処理を行うほうがよい。これによって削除が未完了の元ブロックを空にすることができ、冗長エリアが空のメモリブロックをすべて用いることができるようになる。
本発明方法による、もう一つの実施例は以下の通りである。SSFDC協議に基いて当該フラッシュメモリーをいくつかに区分け(Zone)する。それぞれのゾーンは複数のメモリブロックにより構成されており、なおかつ各ゾーンには少なくとも1つの空メモリブロックを置き、保留が必要なデータを当該メモリブロックにコピーするために用いる。
この実施例では、前述の実施例と類似したデータ管理方法を採用して、各ゾーン内のデータに対し管理を行う。その相違点は、新ブロックの検索範囲を元ブロックが存在するゾーンに限定し、なおかつデータを復旧する操作段階では、ステータスフラグが未完了状態のメモリブロック(新ブロック)を検索する範囲も当該ゾーンに限定するという点である。これにより、当該フラッシュメモリーにデータを書き込む速度とデータをリカバーする速度を向上させている。さらに、データの読み書き操作が同一ゾーン内の二つのメモリブロック間でのみ実行されることにより、当該フラッシュメモリー内のその他のゾーンでは、上記のデータを書き込む過程でエラーが発生せず、当該ゾーン内の空のメモリブロックを調べてデバッグを行うだけで良いのである。
以上、この発明に対して例を示しながら説明した。当分野の一般技術者は既知のことだが、冗長エリアのステータスフラグに対する設定方法は1つだけではなく、新ブロックを検索する過程についても、すでに知られている様々な技術を採用することが可能である。本発明の真髄はデータを書き込むときにステータスフラグの設定を増やし、関連のメモリブロックの状態を識別することにより、突然の電源切れが発生した後も効果的にデータをリカバーでき、データの完全性を保証できることである。このため、本発明のコンセプトから離れることのない、本発明技術案に対する各種のモデルチェンジは、添付の本発明の権利要求が限定する保留範囲に収まるものとする。
本発明のデータ管理方法においてフラッシュメモリーの元のメモリブロックとメモリブロックの略図である。 フラッシュメモリーのメモリブロックとページの組織構造を簡単に説明したものである。 フラッシュメモリーのメモリブロック内にある冗長エリアの区分けを簡単に説明したものである。 本発明に基づいたフラッシュメモリーのデータ管理方法である新データの書き込み実行例のフロー図である。 フラッシュメモリー装置に電気を入れたときのデータリカバー過程の実行例のフロー図である。

Claims (17)

  1. 多数のメモリブロックを含む、各メモリブロックが多数のページで構成され、各ページがデータ保存エリアと冗長エリアが含まれているフラッシュメモリーのデータ管理方法であって、
    前記多数のメモリブロック中、少なくとも1つのメモリブロック(900)の少なくとも1ページの冗長エリアにステータスフラグを設け、前記メモリブロック(900)におけるデータ保存の過程で、前記ステータスフラグを未完了状態にすることと、
    前記メモリブロック(900)へのデータ保存が完了した後、前記ステータスフラグを完了状態にすること、
    を特徴とするフラッシュメモリーのデータ管理方法。
  2. 前記の未完了状態は、メモリブロック(900)のデータ保存操作がいまだ未完了であることを表しており、前記完了状態は、前記メモリブロック(900)のデータ保存操作がすでに完了していることを表すことを特徴する請求項1に記載のフラッシュメモリーのデータ管理方法。
  3. 前記データ保存の操作の手順は、新データの受け取りを指定したメモリブロック(800)中の保留が必要なデータを、メモリブロック(900)にコピーすることを含むことを特徴とする請求項1に記載のフラッシュメモリーのデータ管理方法。
  4. 前記メモリブロック(900)がデータ保存を完了した後、前記保留が必要なデータが存在する元のメモリブロック(800)を削除することを特徴とする請求項3に記載のフラッシュメモリーのデータ管理方法。
  5. 前記メモリブロック(900)でのデータ保存手順には、前記メモリブロック(900)に新データを書き込むことが含まれていることを特徴とする請求項1に記載のフラッシュメモリーのデータ管理方法。
  6. 前記メモリブロック(900)でのデータ保存手順は、前記元のメモリブロック(800)のデータを前記メモリブロック(900)にコピーし、かつ前記元のメモリブロック(800)および/あるいは(900)に新データを書き込むことを含むことを特徴とする請求項1に記載のフラッシュメモリーのデータ管理方法。
  7. さらに、元のメモリブロック(800)のデータを削除した後、前記メモリブロック(900)のステータスフラグを完了状態にすることを含むことを特徴とする請求項1〜請求項6のいずれの1つに記載のフラッシュメモリーのデータ管理方法。
  8. 前記ステータスフラグは、メモリブロックの冗長エリア内の1バイトあるいは複数のバイトを使用するか、または冗長エリア内の1ビットあるいは複数のビットを使用することを特徴とする請求項1に記載のフラッシュメモリーのデータ管理方法。
  9. 前記操作過程で電源切れがあった後、再度電源を入れたとき、すべての空きメモリブロックを使用できるよう、冗長エリアのすべてがロジック「1」で、かつデータ保存エリアの一部がロジック「1」以外となっているメモリブロックを検索して削除することを特徴とする請求項1に記載のフラッシュメモリーのデータ管理方法。
  10. 多数のメモリブロックを含み、各メモリブロックが多数のページで構成され、各ページにはデータ保存エリアと冗長エリアが含まれているフラッシュメモリーにデータの書き込み方法であって、
    (1)新データの書き込みコマンドを受け取る手順と、
    (2)前記フラッシュメモリーにおいて前記書き込みコマンドが指定されたロジックアドレスと対応したメモリブロック(800)を検索する手順と、
    (3)検索されたメモリブロック(800)が空かどうか判断する手順と、
    (4)もしメモリブロック(800)が空ならば、検索されたメモリブロック(800)に新データを書き込み、もし空でなければ、空の新ブロック(900)を検索する手順と、
    (5)メモリブロック(800)で保留しようとするデータを前記新ブロック(900)にコピーし、かつ前記新ブロック(900)で少なくとも1ページの冗長エリアのステータスフラグを未完了状態にする手順と、
    (6)前記新ブロック(900)に新データを書き込む手順と、
    (7)前記元ブロック(800)を削除する手順と、
    (8)前記新ブロック(900)の前記ステータスフラグを未完了状態から完了状態にする手順とを含むフラッシュメモリーにデータの書き込み方法。
  11. 前記新ブロック(900)に新データを書き込む過程で、前記ステータスフラグを未完了状態にすることを特徴とする請求項10に記載のフラッシュメモリーにデータの書き込み方法。
  12. 前記新ブロック(900)に新データを書き込む手順は、手順(5)を行う前か、あるいは手順(5)を行っている過程に組み込むことができることを特徴とする請求項10に記載のフラッシュメモリーにデータの書き込み方法。
  13. 前記元のメモリブロック(800)のデータを削除する手順は、手順(8)をおこなった後に組み込むことができることを特徴とする請求項10に記載のフラッシュメモリーにデータの書き込み方法。
  14. 前記メモリブロックが空かどうかを確定する手順は、前記メモリブロックの全ページの冗長エリアにおける、すべてのビットがロジック「1」かどうかを判断することが含まれていることを特徴とする請求項10に記載のフラッシュメモリーにデータの書き込み方法。
  15. 前記フラッシュメモリーが請求項1で述べたデータ管理方法を用いており、前記フラッシュメモリーの使用過程において電源を入れるたびに、電源切れにより発生した可能性のあるデータ破損に対するフラッシュメモリーのデータリカバー方法であって、
    ステータスフラグが未完了状態のメモリブロック(900)の検査により、保留が必要なデータが存在するメモリブロックを見つけ、あわせてデータリカバー操作を実行する手順を含むこと特徴とするフラッシュメモリーのデータリカバー方法。
  16. 前記データのリカバー操作は、前記元のメモリブロック(800)のデータを保留し、なおかつメモリブロック(900)に対して削除操作を行うことを含むことを特徴とする請求項15に記載のフラッシュメモリーのデータリカバー方法。
  17. 前記データのリカバー操作は、前記元のメモリブロック(800)に対して削除操作を行い、さらに前記メモリブロック(900)のステータスフラグを完了状態に変更することを含むことを特徴とする請求項15に記載のフラッシュメモリーのデータリカバー方法。
JP2006504193A 2003-03-04 2004-02-26 フラッシュメモリーのデータ管理方法 Pending JP2006519444A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN03104983A CN100590737C (zh) 2003-01-26 2003-03-04 闪存介质中的数据管理方法
PCT/CN2004/000145 WO2004079575A1 (fr) 2003-03-04 2004-02-26 Procede de gestion de donnees pour support a memoire flash

Publications (1)

Publication Number Publication Date
JP2006519444A true JP2006519444A (ja) 2006-08-24

Family

ID=32932352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006504193A Pending JP2006519444A (ja) 2003-03-04 2004-02-26 フラッシュメモリーのデータ管理方法

Country Status (4)

Country Link
US (1) US7904635B2 (ja)
EP (1) EP1607867B1 (ja)
JP (1) JP2006519444A (ja)
WO (1) WO2004079575A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172297A (ja) * 2005-12-22 2007-07-05 Kenwood Corp 情報処理装置、データベース修復システム、及び、プログラム。
JP2008059743A (ja) * 2006-08-28 2008-03-13 Samsung Electronics Co Ltd マルチ−ページコピーバック機能を有するフラッシュメモリー装置及びそのブロック置換方法
JP2013168203A (ja) * 2012-02-16 2013-08-29 Denso Corp フラッシュメモリの書き込み装置、フラッシュメモリの書き込み制御方法、およびプログラム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5264459B2 (ja) * 2008-12-17 2013-08-14 パナソニック株式会社 半導体記憶装置
US8671241B2 (en) * 2011-09-13 2014-03-11 Dell Products Lp Systems and methods for using reserved solid state nonvolatile memory storage capacity for system reduced power state
US9372755B1 (en) 2011-10-05 2016-06-21 Bitmicro Networks, Inc. Adaptive power cycle sequences for data recovery
CN103164345B (zh) * 2011-12-08 2016-04-27 光宝科技股份有限公司 固态存储装置遭遇断电后的数据存储方法
US9478271B2 (en) * 2013-03-14 2016-10-25 Seagate Technology Llc Nonvolatile memory data recovery after power failure
US9262096B2 (en) * 2013-07-15 2016-02-16 Seagate Technology Llc Dynamic address mapping for finish in the field
KR102116983B1 (ko) 2013-08-14 2020-05-29 삼성전자 주식회사 메모리 장치 및 메모리 시스템의 동작 방법.
US9684568B2 (en) 2013-12-26 2017-06-20 Silicon Motion, Inc. Data storage device and flash memory control method
CN106776362B (zh) * 2015-11-24 2019-12-03 中芯国际集成电路制造(上海)有限公司 存储器的控制方法及装置
CN106816175A (zh) * 2015-12-01 2017-06-09 中芯国际集成电路制造(上海)有限公司 存储器的控制方法及装置
JP6693181B2 (ja) * 2016-03-09 2020-05-13 富士通株式会社 ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム
KR102707003B1 (ko) * 2016-08-25 2024-09-19 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
CN107632943B (zh) * 2017-08-30 2020-09-11 记忆科技(深圳)有限公司 一种固态硬盘数据保护的方法及固态硬盘
EP3493060A1 (en) * 2017-11-30 2019-06-05 Vestel Elektronik Sanayi ve Ticaret A.S. Method and electronic device for operating a flash-based file system
US10747612B2 (en) * 2018-12-31 2020-08-18 Micron Technology, Inc. Multi-page parity protection with power loss handling
CN113409881B (zh) * 2021-06-28 2023-07-04 芯天下技术股份有限公司 闪存擦除中断恢复测试方法、装置、电子设备及存储介质
CN116564398B (zh) * 2023-05-26 2023-12-22 北京得瑞领新科技有限公司 nor闪存的检测方法、装置及嵌入式设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002318733A (ja) * 2001-04-20 2002-10-31 Matsushita Electric Works Ltd ブロック消去型記憶媒体の管理装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0398545A1 (en) 1989-05-19 1990-11-22 Delco Electronics Corporation Method and apparatus for storing data in a non-volatile memory
FR2705820B1 (fr) * 1993-05-26 1995-08-11 Solaic Sa Procédé pour sécuriser les écritures de données sensibles dans la mémoire de stockage de données EEPROM d'une carte à mémoire, et carte à mémoire pour la mise en Óoeuvre de ce procédé.
JPH08137634A (ja) * 1994-11-09 1996-05-31 Mitsubishi Electric Corp フラッシュディスクカード
JP3576625B2 (ja) * 1995-02-28 2004-10-13 株式会社東芝 フラッシュメモリカードのデータ管理方法およびそのデータ管理方法を使用したデータ処理装置
US6170066B1 (en) * 1995-09-29 2001-01-02 Intel Corporation Power-off recovery management for sector based flash media managers
US6510083B1 (en) 1995-11-29 2003-01-21 Intel Corporation Electrically erasable and programmable memory that allows data update without prior erasure of the memory
JP3119214B2 (ja) * 1997-09-30 2000-12-18 ソニー株式会社 記憶装置、データ処理システム並びにデータの書き込み及び読み出し方法
JP2001344149A (ja) 2000-06-02 2001-12-14 Sharp Corp フラッシュメモリのデータ管理装置及び方法
JP3692313B2 (ja) 2001-06-28 2005-09-07 松下電器産業株式会社 不揮発性メモリの制御方法
WO2003010671A1 (en) 2001-07-25 2003-02-06 Sony Corporation Non-volatile memory and non-volatile memory data rewriting method
US7010662B2 (en) * 2002-02-27 2006-03-07 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
US7039788B1 (en) * 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002318733A (ja) * 2001-04-20 2002-10-31 Matsushita Electric Works Ltd ブロック消去型記憶媒体の管理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172297A (ja) * 2005-12-22 2007-07-05 Kenwood Corp 情報処理装置、データベース修復システム、及び、プログラム。
JP2008059743A (ja) * 2006-08-28 2008-03-13 Samsung Electronics Co Ltd マルチ−ページコピーバック機能を有するフラッシュメモリー装置及びそのブロック置換方法
JP2013168203A (ja) * 2012-02-16 2013-08-29 Denso Corp フラッシュメモリの書き込み装置、フラッシュメモリの書き込み制御方法、およびプログラム

Also Published As

Publication number Publication date
WO2004079575A1 (fr) 2004-09-16
US7904635B2 (en) 2011-03-08
US20070021963A1 (en) 2007-01-25
EP1607867B1 (en) 2016-07-13
EP1607867A4 (en) 2010-05-26
EP1607867A1 (en) 2005-12-21

Similar Documents

Publication Publication Date Title
JP2006519444A (ja) フラッシュメモリーのデータ管理方法
KR100644602B1 (ko) 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
JP4371771B2 (ja) 不揮発性メモリシステムにおいて用いられる電力管理ブロック
JP5675954B2 (ja) メタデータタグを介した不規則なパリティ分布の検出
US7640412B2 (en) Techniques for improving the reliability of file systems
US8856469B2 (en) Apparatus and method for logging optimization using non-volatile memory
US10037153B2 (en) Memory device, electronic system, and methods associated with modifying data and a file of a memory device
JPH06274409A (ja) 一括消去型不揮発性メモリ
JP2005115857A (ja) ファイル記憶装置
TWI479505B (zh) 資料管理方法、記憶體控制器與記憶體儲存裝置
TWI459198B (zh) 記憶體儲存裝置、其記憶體控制器與有效資料識別方法
US6636954B2 (en) Method and apparatus for inter-disk copy processing, and a computer product
CN111797058B (zh) 一种通用文件系统及文件管理的方法
CN112035294A (zh) 安全日志文件系统及其实现方法和介质
JP2005050073A (ja) データ復旧方法およびデータ記録装置
CN114063901A (zh) Plp备份失败之后的ssd支持只读模式
JP2008191701A (ja) エラー回復処理方法および情報処理装置
KR100866513B1 (ko) 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터처리 방법
JP2005078378A (ja) データ記憶装置及び不揮発性メモリに対するデータ書き込み方法
JP2005149291A (ja) ファイルシステム、そのプログラム及び情報処理システム
JP2008123104A (ja) データアクセス装置
JP2007133535A (ja) 記憶装置内のファイルシステム
JP2018206161A (ja) 記憶装置および記憶装置のデータ管理方法
JP2009288914A (ja) フラッシュメモリおよび電子機器
JP3798773B2 (ja) ディスク制御装置及び冗長化論理ディスクドライブの一貫性回復方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100712

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110111