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