(57)【要約】【課題】  フラッシュメモリのデータ復旧装置及び方法を提供する。【解決手段】  一つ以上のデータに対する連続的な演算実行中に電源遮断によるデータの復旧を保証できるフラッシュメモリのデータ復旧装置及び方法。本発明の実施例によるフラッシュメモリのデータ復旧装置は、最後にデータ演算が行われた論理アドレスに該当するインデックス領域に所定値をマーキングして、各論理アドレスについてのデータ有効性有無を判断するために要求される演算回数を最小化し、かつデータの有効性を保証できる。【選択図】  図７
2005209188.tif 000002
【特許請求の範囲】
【請求項１】
データの有効性有無を表すインデックス領域を含むフラッシュメモリにおいて、
所定のデータ演算が行われた最後の論理アドレスに該当するインデックス領域に所定値をマーキングすることを特徴とするフラッシュメモリのデータ復旧装置。
【請求項２】
前記フラッシュメモリの中間位置からデータ演算が行われた場合、最初にデータ演算が行われた論理アドレスに該当するインデックス領域に所定値をマーキングすることを特徴とする請求項１に記載のフラッシュメモリのデータ復旧装置。
【請求項３】
データの有効性有無を表すインデックス領域を含むフラッシュメモリにおいて、
所定の論理アドレスに該当するインデックス領域にマーキングされた値により、前記論理アドレス以前にデータ演算が行われた論理アドレスのデータについての有効性有無を判断することを特徴とするフラッシュメモリのデータ復旧装置。
【請求項４】
前記フラッシュメモリの中間位置からデータ演算が行われた場合、最初及び最後にデータ演算が行われた論理アドレスに該当するインデックス領域にマーキングされた値により、論理アドレスのデータについての有効性有無を判断することを特徴とする請求項３に記載のフラッシュメモリのデータ復旧装置。
【請求項５】
所定の論理アドレスについてのデータの有効性は、次の論理アドレスのデータ存否によって判断することを特徴とする請求項４に記載のフラッシュメモリのデータ復旧装置。
【請求項６】
データの有効性有無を表すインデックス領域を含むフラッシュメモリにおいて、
所定範囲の論理アドレスにデータ演算を行う第１段階と、
最後にデータ演算が行われた論理アドレスに該当するインデックス領域に所定値をマーキングする第２段階と、
を含むことを特徴とするフラッシュメモリのデータ復旧方法。    
【請求項７】
前記第２段階は、前記フラッシュメモリの中間位置からデータ演算を行った場合、最初にデータ演算が行われた論理アドレスに所定値をマーキングすることを特徴とする請求項６に記載のフラッシュメモリのデータ復旧方法。
【請求項８】
データの有効性有無を表すインデックス領域を含むフラッシュメモリにおいて、
所定の論理アドレスに該当するインデックス領域にマーキングされた値を確認する第１段階と、
前記マーキング値により、前記論理アドレス以前にデータ演算が行われた論理アドレスのデータについての有効性有無を判断する第２段階と、
を含むことを特徴とするフラッシュメモリのデータ復旧方法。
【請求項９】
前記第２段階は、最後にデータ演算が行われた論理アドレスに該当するインデックス領域にマーキングされた値により、有効性有無を判断することを特徴とする請求項８に記載のフラッシュメモリのデータ復旧方法。
【請求項１０】
前記第２段階は、前記フラッシュメモリの中間位置からデータ演算が行われた場合、最初にデータ演算が行われた論理アドレスに該当するインデックス領域にマーキングされた値により、有効性有無を判断することを特徴とする請求項９に記載のフラッシュメモリのデータ復旧方法。
【請求項１１】
前記有効性は、前記論理アドレスの次の論理アドレスのデータ存否によって判断することを特徴とする請求項９または１０に記載のフラッシュメモリのデータ復旧方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリのデータ復旧装置及び方法に係り、さらに詳細には一つ以上のデータに対する連続的な演算実行中電源遮断によるデータの損傷復旧を保証できる、フラッシュメモリのデータ復旧装置及び方法に関する。
【背景技術】
【０００２】
一般的に、家電機器、通信機器、セットトップボックスなどの内蔵型システムでは、データを保存して処理するための保存媒体として不揮発性メモリが多く使われている。
【０００３】
前記不揮発性メモリのうち主に使われるフラッシュメモリは、電気的にデータを削除または再記録できる不揮発性記憶素子であって、マグネチックディスクメモリを基盤とする保存媒体に比べて電力消耗が少ないながらもハードディスクと同じく速いアクセスタイムを持ち、かつコンパクトなサイズのために携帯機器などに適している。
【０００４】
また、前記フラッシュメモリは、ハードウェアーの特性上既に記録されたデータに再記録する場合、該当データが記録されたブロック全体を削除する過程が必要である。
【０００５】
このように、前記フラッシュメモリでデータの記録及び削除単位の不一致により発生しうる性能低下を防止するために、論理アドレス及び物理アドレスの概念が導入された。
【０００６】
この時、前記論理アドレスは、ユーザーが所定のユーザープログラムを通じて前記フラッシュメモリで所定のデータ演算を行う場合に使われるアドレスであり、前記物理アドレスは、実際フラッシュメモリに所定のデータ演算を行う場合に使われるアドレスである。
【０００７】
また、前記フラッシュメモリは一般的に、小ブロックフラッシュメモリと大ブロックフラッシュメモリとに大別できるが、前記小ブロックフラッシュメモリは、論理的な演算単位と物理的な演算単位とが同じである一方、前記大ブロックフラッシュメモリは、論理的な演算単位に比べて物理的な演算単位が大きいという特性を持つ。
【０００８】
図１Ａ及び図１Ｂは、前記小ブロックフラッシュメモリ及び大ブロックフラッシュメモリの概略的な構造が図示された図面である。
【０００９】
前記小ブロックフラッシュメモリは、図１Ａに図示されたように、論理的な演算単位であるセクター１１と、物理的な演算単位であるページ１２とが同一であることが分かる。
【００１０】
一方、前記大ブロックフラッシュメモリは、図１Ｂに図示されたように、少なくとも一つ以上の論理的な演算単位であるセクター２１が集って一つのページ２２をなすことが分かる。
【００１１】
前記フラッシュメモリを基盤とするシステムは、一般的に揮発性メモリであるＲＡＭ及びＣＰＵと共に構成できる。
【００１２】
この時、前記フラッシュメモリを基盤とするシステムは、その応用分野の特性上予測できない電源供給中断が頻繁に発生する。したがって、前記電源供給が中断された状態で安全にデータを復旧できる機能が必須に要求される。
【００１３】
すなわち、前記フラッシュメモリに所定のデータを記録する場合を例として説明すれば、前記フラッシュメモリに所定のデータを記録する途中で電源供給が中断されれば、前記フラッシュメモリに記録しようとしたデータの一部は記録され、他の一部は記録されない。
【００１４】
したがって、前記フラッシュメモリに記録されたデータが、正常に記録が完了したデータであるかどうかを区分できる多様な方法が提案されている。
【００１５】
このうち、所定のデータ演算を行う場合、前記データ演算が完了したかどうかをマーキングする方法を例として説明すれば、図２に図示されたように、前記フラッシュメモリの所定論理アドレスにデータ演算を行い（Ｓ２１）、前記データ演算が完了すれば、所定のメモリ領域に前記データ演算が完了したということを表示するマーキングを行う（Ｓ２２）。
【００１６】
すなわち、前記フラッシュメモリは、図３に図示されたように、小ブロックフラッシュメモリの場合、所定のデータ演算が行われるデータ領域３１と共に、前記データ領域３１に行われたデータ演算が完了したかどうかをマーキングできるインデックス領域３２を含む。
【００１７】
ここで、前記大ブロックフラッシュメモリも前記小ブロックメモリと同じくデータ領域とインデックス領域とに分けられる。
【００１８】
この時、前記データ領域３１とインデックス領域３２とが同じブロックに含まれ、前記ブロックについて削除演算が行われた場合、前記データ領域３１とインデックス領域３２とはいずれも１とセットされる。
【００１９】
また、前記データ領域３１でデータ演算を行い、前記データ演算が完了すれば、前記インデックス領域３２を０に変更して正常にデータ演算が完了したということを表示できる。
【００２０】
以後、あらゆる論理アドレスについてのデータ演算が完了したかどうかを判断し（Ｓ２３）、前記判断の結果、あらゆる論理アドレスについてのデータ演算が完了していない場合、次の論理アドレスに該当データ演算を行う（Ｓ２４）。
【００２１】
以後、あらゆる論理アドレスについてのデータ演算を行い、データ演算完了時にマーキングを行う過程（Ｓ２２）を反復的に行う。
【００２２】
前記のようにデータ演算が行われたフラッシュメモリのデータについての有効性検査は、図４に図示されたように、先ず前記インデックス領域３２の値を確認し（Ｓ４１）、前記確認された領域値により該当論理アドレスに行われたデータ演算の有効性有無を判断する（Ｓ４２）。
【００２３】
例えば、前記確認の結果、前記インデックス領域３２の値が０である場合には、該当論理アドレスに行われたデータ演算が有効であると判断し、前記判断の結果、前記インデックス領域３２の値が１である場合には、該当論理アドレスに行われたデータ演算が有効でないと判断できる。
【００２４】
しかし、前記のようなフラッシュメモリのデータ復旧方法は、各論理アドレスに所定のデータ演算を行う度に、該当インデックス領域に前記データ演算が正常に完了したか否かをマーキングせねばならない。
【００２５】
例えば、６回のデータ演算を行う場合、該当データ演算が正常に完了したか否かをマーキングするための６回の記録過程が必要であって、総１２回のデータ演算を行うようになる。
【００２６】
したがって、前記フラッシュメモリに所定のデータ演算を行う時に必要な演算回数が増加して、前記フラッシュメモリの性能低下を引き起こす問題点がある。
【００２７】
特許文献１はフラッシュメモリのデータ領域に記録されたデータの論理住所を対応する予備（Spare）領域に記録して、前記予備領域に記録された情報をスキャニング下て住所変換テーブルを生成して、急に電源がオフなっても住所変換テーブルを容易に復旧するあるフラッシュメモリ管理方法を開示しているが、これは電源オフ時データの復旧に関することとして、電源オフ時データの復旧のために必要なデータ演算回数を最小化させるある方案は開示されていない。
【特許文献１】韓国特許出願公開番号第２００３−００４０８１７号
【発明の開示】
【発明が解決しようとする課題】
【００２８】
本発明は、フラッシュメモリに所定のデータ演算を行う途中で電源供給の中断によるデータ復旧を保証し、このようなデータ復旧のために要求されるデータ演算を最小化させうるフラッシュメモリのデータ復旧装置及び方法を提供するところにその目的がある。
【課題を解決するための手段】
【００２９】
前記目的を達成するために、本発明の実施例によるフラッシュメモリのデータ復旧装置は、データの有効性有無を表すインデックス領域を含むフラッシュメモリにおいて、所定のデータ演算が行われた最後の論理アドレスに該当するインデックス領域に所定値をマーキングする。
【００３０】
望ましくは、前記フラッシュメモリの中間位置からデータ演算が行われた場合、最初にデータ演算が行われた論理アドレスに該当するインデックス領域に所定値をマーキングする。
【００３１】
一方、本発明の実施例によるフラッシュメモリのデータ復旧装置は、データの有効性有無を表すインデックス領域を含むフラッシュメモリにおいて、所定の論理アドレスに該当するインデックス領域にマーキングされた値により、前記論理アドレス以前にデータ演算が行われた論理アドレスのデータについての有効性有無を判断する。
【００３２】
望ましくは、前記フラッシュメモリの中間位置からデータ演算が行われた場合、最初と最後にデータ演算が行われた論理アドレスに該当するインデックス領域にマーキングされた値により、論理アドレスのデータについての有効性有無を判断する。
【００３３】
望ましくは、所定の論理アドレスについてのデータの有効性は、次の論理アドレスのデータ存否によって判断する。
【００３４】
一方、本発明の実施例によるフラッシュメモリのデータ復旧方法は、データの有効性有無を表すインデックス領域を含むフラッシュメモリにおいて、所定範囲の論理アドレスにデータ演算を行う第１段階と、最後にデータ演算が行われた論理アドレスに該当するインデックス領域に所定値をマーキングする第２段階と、を含む。
【００３５】
望ましくは、前記第２段階は、前記フラッシュメモリの中間位置からデータ演算を行った場合、最初にデータ演算が行われた論理アドレスに所定値をマーキングする。
【００３６】
望ましくは、データの有効性有無を表すインデックス領域を含むフラッシュメモリにおいて、所定の論理アドレスに該当するインデックス領域にマーキングされた値を確認する第１段階と、前記マーキング値により、前記論理アドレス以前にデータ演算が行われた論理アドレスのデータについての有効性有無を判断する第２段階と、を含む。
【００３７】
望ましくは、前記第２段階は、最後にデータ演算が行われた論理アドレスに該当するインデックス領域にマーキングされた値により、有効性有無を判断する。
【００３８】
望ましくは、前記第２段階は、前記フラッシュメモリの中間位置からデータ演算が行われた場合、最初にデータ演算が行われた論理アドレスに該当するインデックス領域にマーキングされた値により、有効性有無を判断する。
【００３９】
望ましくは、前記有効性は、前記論理アドレスの次の論理アドレスのデータ存否によって判断する。
【００４０】
その他の実施例の具体的な事項は詳細な説明及び図面に含まれている。
【発明の効果】
【００４１】
本発明のフラッシュメモリのデータ復旧装置及び方法によれば、次のような効果がある。第１に、最後にデータ演算が行われた論理アドレスに該当するインデックス領域に所定値をマーキングして、以前にデータ演算が行われた論理アドレスのデータについての有効性有無を判断するために、前記有効性判断のための演算回数を最小化できる。第２に、データの有効性を保証するための演算回数が減少するために、フラッシュメモリの性能を向上させうる。
【発明を実施するための最良の形態】
【００４２】
本発明の利点及び特徴、そしてこれを達成する方法は添付された図面に基づいて詳細に後述されている実施例を参照すれば明確になる。しかし、本発明は以下で開示される実施例に限定されるものではなく、この実施例から外れて多様な形に具現でき、本明細書で説明する実施例は本発明の開示を完全にし、本発明が属する技術分野で当業者に発明の範ちゅうを完全に報せるために提供されるものであり、本発明は請求項及び発明の詳細な説明により定義されるだけである。一方、明細書全体に亙って同一な参照符号は同一な構成要素を示す。
【００４３】
以下、添付された図面を参照して本発明の望ましい実施例を詳細に説明する。
【００４４】
一般的に、フラッシュメモリは、小ブロックフラッシュメモリと大ブロックフラッシュメモリとに大別できる。
【００４５】
前記小ブロックフラッシュメモリは、実際の物理的な演算単位と論理的な演算単位とが同じである一方、前記大ブロックフラッシュメモリは、実際の物理的な演算単位が前記論理的な演算単位よりも大きい。
【００４６】
ここで、前記論理的な演算単位は普通セクターと称し、ユーザーが所定のユーザープログラムを通じて前記フラッシュメモリへのデータ演算、すなわち、データの記録／再生などを行う時の演算単位である。
【００４７】
また、前記物理的な演算単位は普通ページと称し、実際にフラッシュメモリでデータ演算を行う単位である。
【００４８】
この時、前記論理的な演算単位及び物理的な演算単位はセクター及びページに限定されず、使用する装置によって多様な単位として使われうる。
【００４９】
図５は、前記フラッシュメモリの概略的な構造が図示された図面である。
【００５０】
前記フラッシュメモリは、図５に図示されたように、データ領域１１１及びインデックス領域１１２よりなる複数のページ１１３が集って一つのブロック１１４を構成する。
【００５１】
ここで、前記ブロック１１４は、データ削除の単位であって、前記小ブロックフラッシュメモリ及び大ブロックフラッシュメモリによって同一に使われる削除単位である。また、前記ページ１１３は、実際のフラッシュメモリの物理的な演算単位であって、使用する装置によって多様に変更使用できる。
【００５２】
この時、前記小ブロックフラッシュメモリの場合、前記ページは図６Ａに図示されたように、一つの論理アドレス１２１及び前記論理アドレス１２１に該当するインデックス領域１２２を持つ。
【００５３】
また、前記大ブロックフラッシュメモリの場合、前記ページは複数の論理アドレス１３１ａ、１３１ｂ、１３１ｃ、１３１ｄよりなり、各論理アドレス１３１ａ、１３１ｂ、１３１ｃ、１３１ｄに該当するインデックス領域１３２ａ、１３２ｂ、１３２ｃ、１３２ｄを持つ。
【００５４】
ここで、前記小ブロックフラッシュメモリまたは大ブロックフラッシュメモリで各論理アドレスに所定のデータ演算を行う場合、該当インデックス領域に前記データ演算が正常に完了したかどうかをマーキングする。
【００５５】
したがって、前記フラッシュメモリに所定のデータ演算を行う途中で電源供給が中断された場合にも、各論理アドレスのデータが有効であるかどうかを判断できる。
【００５６】
この時、各論理アドレスのデータ演算についてのマーキングをそれぞれ別途に行うために、前記フラッシュメモリの総データ演算回数が増加して前記フラッシュメモリの性能低下を引き起こす恐れがある。
【００５７】
本実施例は、前記フラッシュメモリのデータ演算実行時に総データ演算回数を最小化させると同時に、各論理アドレスのデータ有効性有無を容易に判断できるフラッシュメモリのデータ復旧装置に関し、図７は、本発明によるフラッシュメモリのデータ復旧装置の構造を概略的に図示している。
【００５８】
図示されたように、本発明によるフラッシュメモリのデータ復旧装置は、ユーザーが所定の論理アドレスを利用して前記フラッシュメモリでのデータ演算を要請するユーザー要請部２００と、前記論理アドレスを物理アドレスに変換する変換部３００と、前記変換された物理アドレスによって前記フラッシュメモリの動作を制御するデバイスドライバ５００と、前記デバイスドライバ５００により前記フラッシュメモリに所定のデータ演算を行い、前記データ演算完了時、所定のインデックス領域に前記データ演算が完了したことを知らせる所定値をマーキングする制御部４００と、を含む。
【００５９】
この時、前記制御部４００は、前記フラッシュメモリでの所定のデータ演算完了時、最後のデータ演算が行われたデータ領域に該当するインデックス領域に所定値をマーキングして、あらゆるデータ演算が正常に完了したことを表示できる。
【００６０】
ここで、前記小ブロックフラッシュメモリは、論理的な演算単位が物理的な演算単位と同一であるために、最後の論理アドレスに該当するインデックス領域にマーキングできる。
【００６１】
また、前記大ブロックフラッシュメモリは、論理的な演算単位が物理的な演算単位よりも小さいために、最後のデータ演算が行われた物理的な演算単位に含まれた論理アドレスに該当するあらゆるインデックス領域に所定値をマーキングすることもでき、前記小ブロックフラッシュメモリのように、最後のデータ演算が行われた論理アドレスに該当するインデックス領域に所定値をマーキングすることもできる。
【００６２】
この時、前記フラッシュメモリの各論理アドレスについてのデータの有効性有無の判断は、前記インデックス領域に記録される値が０ならば有効であり、１ならば有効でない場合を例として説明すれば、所定の論理アドレスに該当するインデックス領域値が０である場合と、前記インデックス領域値が１であり、前記論理アドレス以後の論理アドレスのうち論理アドレスのインデックス領域に０が記録されたものがある場合、有効なものと判断できる。
【００６３】
そして、前記インデックス領域値が１であり、次の物理ページにデータが存在する場合、有効なものと判断できる。
【００６４】
また、前記インデックス領域値が１であり、次の物理ページにデータが存在せずに前記論理アドレス以後の論理アドレスのインデックス領域に０が記録されていない場合、該当論理アドレスについてのデータは有効でないものと判断できる。
【００６５】
一方、他の実施例で、前記論理アドレスによって最初から順次にデータ演算を行わずに中間位置からデータ演算を行える。
【００６６】
この時、前記フラッシュメモリの中間位置からデータ演算を行う場合には、最後のデータ演算が行われた論理アドレスに該当するインデックス領域に所定値をマーキングすれば、前記所定値がマーキングされたインデックス領域に該当する論理アドレスを基準に、以前にデータ演算が行われたあらゆる論理アドレスについての正常完了如何を表す。
【００６７】
したがって、前記フラッシュメモリの中間位置からデータ演算が行われた場合には、最初にデータ演算が行われた論理アドレスに該当するインデックス領域だけでなく、最後にデータ演算が行われた論理アドレスに該当するインデックス領域に所定値をマーキングして、データの有効性有無を判断可能にする。
【００６８】
前記のように構成される本実施例によるフラッシュメモリのデータ復旧装置の動作を説明すれば、次の通りである。
【００６９】
本実施例によるフラッシュメモリのデータ復旧方法は、図８に図示されたように、先ず、前記フラッシュメモリの論理アドレスに所定のデータ演算を行う（Ｓ１１０）。
【００７０】
前記フラッシュメモリにあらゆるデータ演算を行うまで前記論理アドレスにデータ演算を行う（Ｓ１２０）。
【００７１】
あらゆるデータ演算が行われれば、最後のデータ演算が行われた論理アドレスに該当するインデックス領域に所定値をマーキングする（Ｓ１３０）。
【００７２】
すなわち、前記小ブロックフラッシュメモリの場合、図９Ａに図示されたように、６回のデータ演算を行う場合、最後のデータ演算が行われた論理アドレス５ ６１０に該当するインデックス領域６２０に所定値をマーキングする。
【００７３】
本実施例では、前記フラッシュメモリが削除された場合に初期値を１とセットし、前記フラッシュメモリにデータ演算を行う場合に初期値１を０に変更する場合を例として説明する。
【００７４】
したがって、前記論理アドレス５ ６１０に該当するインデックス領域６２０の値を１から０に変更する。
【００７５】
また、前記大ブロックフラッシュメモリの場合、図９Ｂに図示されたように、まず論理アドレス０から論理アドレス９までデータ演算を行い、次いで、論理アドレス３０から論理アドレス４２までデータ演算を行う場合、前記論理アドレス９に該当するインデックス領域６３０を０とマーキングし、前記論理アドレス４２に該当するインデックス領域６４０を０とマーキングする。
【００７６】
この時、前記論理アドレス９及び論理アドレス４２に該当するインデックス領域６３０、６４０を０とマーキングしたが、前記論理アドレス９及び論理アドレス４２が含まれるページのあらゆる論理アドレスに該当するインデックス領域を０とマーキングすることもある。
【００７７】
一方、他の実施例で、前記フラッシュメモリの中間位置からデータ演算を行った場合を例とすれば、図１０に図示されたように、論理アドレス１０から論理アドレス２２まで先にデータ演算を行い、次いで、論理アドレス０から論理アドレス９までデータ演算を行った場合、前記論理アドレス１０及び論理アドレス２２に該当するインデックス領域６５０、６６０にそれぞれ所定値Ａ、Ｂをマーキングし、前記論理アドレス０及び論理アドレス９に該当するインデックス領域６７０、６８０にそれぞれ所定値Ａ、Ｂをマーキングすることができる。
【００７８】
このように、前記フラッシュメモリにデータ演算を行った後に前記フラッシュメモリのデータについての有効性有無を検査する方法を、小ブロックフラッシュメモリと大ブロックフラッシュメモリとによってそれぞれ詳細に説明する。
【００７９】
まず、前記小ブロックフラッシュメモリの場合、図１１Ａに図示されたように、まず任意の論理アドレスのデータ有効性有無を判断するために該当インデックス領域値を確認する（Ｓ２１０）。
【００８０】
前記インデックス領域値が、前記フラッシュメモリでのデータ演算を完了した場合にマーキングされる値であるかどうかを判断する（Ｓ２２０）。
【００８１】
すなわち、前記フラッシュメモリでのデータ演算が完了した場合、前記インデックス領域値が１から０に変更される場合を例とすれば、前記インデックス領域値が０であるかどうかを判断する。
【００８２】
前記判断の結果、前記インデックス領域値が１である場合には、次の論理アドレスのデータの存否を判断する（Ｓ２３０）。
【００８３】
以後、次の論理アドレスにデータが存在していない場合、前記データの有効性有無を判断する論理アドレスのデータは有効でないものと判断する（Ｓ２４０）。
【００８４】
もし、前記判断の結果、インデックス領域値が０である場合と、前記インデックス領域値が１である状態で次の論理アドレスにデータが存在する場合、該当論理アドレスのデータは有効なものと判断する（Ｓ２５０）。
【００８５】
また、他の実施例で、前記小ブロックフラッシュメモリは、図１１Ｂに図示されたように、まず任意の論理アドレスのデータ有効性有無を判断するために該当インデックス領域値を確認する（Ｓ３１０）。
【００８６】
前記インデックス領域値が、前記フラッシュメモリでのデータ演算が完了した場合にマーキングされる値であるかどうかを判断する（Ｓ３２０）。
【００８７】
すなわち、前記フラッシュメモリでのデータ演算が完了した場合、前記インデックス領域値が１から０に変更される場合を例とすれば、前記インデックス領域値が０であるかどうかを判断する。
【００８８】
前記判断の結果、前記インデックス領域値が１である場合には、次の論理アドレスのうち論理アドレスのインデックス領域値が０である論理アドレスの有無を判断する（Ｓ３３０）。
【００８９】
以後、次の論理アドレスのうち論理アドレスのインデックス領域値が０である論理アドレスがない場合、前記データの有効性を判断する論理アドレスのデータは有効でないものと判断する（Ｓ３４０）。
【００９０】
もし、前記判断の結果、インデックス領域値が０である場合と、前記インデックス領域値が１である状態で次の論理アドレスのうち論理アドレスのインデックス領域値が０である論理アドレスがある場合、該当論理アドレスのデータは有効なものと判断する（Ｓ３５０）。
【００９１】
このようなデータ有効性の判断方法は、ブロックフラッシュメモリにも同様に適用できる。
【００９２】
まず、前記大ブロックフラッシュメモリの場合、図１２Ａに図示されたように、まず所定の論理アドレスのデータ有効性有無を判断するために該当インデックス領域値を確認する（Ｓ４１０）。
【００９３】
前記インデックス領域値が、前記フラッシュメモリでのデータ演算を完了した場合にマーキングされる値であるかどうかを判断する（Ｓ４２０）。
【００９４】
すなわち、前記フラッシュメモリでのデータ演算が完了した場合、前記インデックス領域値が１から０に変更される場合を例とすれば、前記インデックス領域値が０であるかどうかを判断することである。
【００９５】
ここで、前記インデックス領域値が０である場合、該当論理アドレスのデータは有効なものと判断する。
【００９６】
もし、前記インデックス領域値が１である場合、前記大ブロックフラッシュメモリは、論理的な演算単位及び物理的な演算単位によって、次の論理アドレスのうち論理アドレスのインデックス領域値が０である論理アドレスの有無を判断する（Ｓ４３０）
【００９７】
以後、次の論理アドレスのうち論理アドレスのインデックス領域値が０である論理アドレスがない場合、前記データの有効性を判断する論理アドレスのデータは有効でないものと判断する（Ｓ４４０）。
【００９８】
もし、前記判断の結果、インデックス領域値が０である場合と、前記インデックス領域値が１である状態で次の論理アドレスのうち論理アドレスのインデックス領域値が０である論理アドレスがある場合、該当論理アドレスのデータは有効なものと判断する（Ｓ４５０）。
【００９９】
また、他の実施例で、前記大ブロックフラッシュメモリは、図１２Ｂに図示されたように、まず所定の論理アドレスのデータ有効性有無を判断するために該当インデックス領域値を確認する（Ｓ５１０）。
【０１００】
前記インデックス領域値が、前記フラッシュメモリでのデータ演算を完了した場合にマーキングされる値であるかどうかを判断する（Ｓ５２０）。
【０１０１】
すなわち、前記フラッシュメモリでのデータ演算が完了した場合、前記インデックス領域値が１から０に変更される場合を例とすれば、前記インデックス領域値が０であるかどうかを判断することである。
【０１０２】
ここで、前記インデックス領域値が０である場合、該当論理アドレスのデータは有効なものと判断する。
【０１０３】
もし、前記インデックス領域値が１である場合、前記大ブロックフラッシュメモリは、論理的な演算単位及び物理的な演算単位によって次のページにデータが存在するかどうかを判断する。
【０１０４】
すなわち、前記インデックス領域値が１である場合、前記論理アドレスが含まれるページの次のページにデータが存在するかどうかを判断する（Ｓ５３０）。
【０１０５】
以後、前記次のページにデータが存在していない場合、前記論理アドレスが含まれるページに属する論理アドレスのインデックス領域に、マーキング値が存在する論理アドレスの有無を判断する（Ｓ５４０）。
【０１０６】
前記次のページに所定のデータが存在せず、前記論理アドレスが含まれるページに属する論理アドレスのインデックス領域にマーキング値が存在する論理アドレスがない場合、前記論理アドレスのデータは有効でないものと判断する（Ｓ５５０）。
【０１０７】
もし、前記次のページに所定のデータが存在する場合、または前記論理アドレスが含まれるページに属する論理アドレスのインデックス領域にマーキング値が存在する論理アドレスがない場合、前記論理アドレスのデータは有効なものと判断する（Ｓ５６０）。
【０１０８】
本発明によるフラッシュメモリのデータ復旧装置及びその方法を例示された図面を参照として説明したが、本発明は本明細書に開示された実施例及び図面によって限定されるものではなく、その発明の技術思想範囲内で当業者により多様に変形可能であることはいうまでもない。
【産業上の利用可能性】
【０１０９】
本発明はフラッシュメモリ技術分野に好適に適用できる。
【図面の簡単な説明】
【０１１０】
【図１Ａ】一般的な小ブロックフラッシュメモリの構造が図示された図面である。
【図１Ｂ】一般的な大ブロックフラッシュメモリの構造が図示された図面である。
【図２】従来の技術によるフラッシュメモリのデータ復旧方法が図示された図面である。
【図３】一般的な小ブロックフラッシュメモリのデータ領域及びインデックス領域が図示された図面である。
【図４】従来の技術によるフラッシュメモリのデータ有効性判断方法が図示された図面である。
【図５】一般的なフラッシュメモリのデータ領域及びインデックス領域が含まれたページ及びブロックが図示された図面である。
【図６Ａ】一般的な小ブロックフラッシュメモリのデータ領域とインデックス領域との関係が図示された図面である。
【図６Ｂ】一般的な大ブロックフラッシュメモリのデータ領域とインデックス領域との関係が図示された図面である。
【図７】本発明によるフラッシュメモリのデータ復旧装置が図示された図面である。
【図８】本発明によるフラッシュメモリのデータ復旧方法が図示された図面である。
【図９Ａ】本発明による小ブロックフラッシュメモリでのインデックス領域のマーキング方法が図示された図面である。
【図９Ｂ】本発明による大ブロックフラッシュメモリでのインデックス領域のマーキング方法が図示された図面である。
【図１０】本発明による大ブロックフラッシュメモリの中間に位置したデータに該当するインデックス領域のマーキング方法が図示された図面である。
【図１１Ａ】本発明による小ブロックフラッシュメモリのデータ有効性判断方法が図示された図面である。
【図１１Ｂ】本発明による小ブロックフラッシュメモリのデータ有効性判断方法が図示された図面である。
【図１２Ａ】本発明による大ブロックフラッシュメモリのデータ有効性判断方法が図示された図面である。
【図１２Ｂ】本発明による大ブロックフラッシュメモリのデータ有効性判断方法が図示された図面である。
【符号の説明】
【０１１１】
２００  ユーザー要請部
３００  変換部
４００  制御部
５００  デバイスドライバ
【図１Ａ】
2005209188.tif 000003
【図１Ｂ】
2005209188.tif 000004
【図２】
2005209188.tif 000005
【図３】
2005209188.tif 000006
【図４】
2005209188.tif 000007
【図５】
2005209188.tif 000008
【図６Ａ】
2005209188.tif 000009
【図６Ｂ】
2005209188.tif 000010
【図７】
2005209188.tif 000011
【図８】
2005209188.tif 000012
【図９Ａ】
2005209188.tif 000013
【図９Ｂ】
2005209188.tif 000014
【図１０】
2005209188.tif 000015
【図１１Ａ】
2005209188.tif 000016
【図１１Ｂ】
2005209188.tif 000017
【図１２Ａ】
2005209188.tif 000018
【図１２Ｂ】
2005209188.tif 000019