JP4227106B2 - フラッシュメモリのデータ復旧装置及び方法 - Google Patents

フラッシュメモリのデータ復旧装置及び方法 Download PDF

Info

Publication number
JP4227106B2
JP4227106B2 JP2005001944A JP2005001944A JP4227106B2 JP 4227106 B2 JP4227106 B2 JP 4227106B2 JP 2005001944 A JP2005001944 A JP 2005001944A JP 2005001944 A JP2005001944 A JP 2005001944A JP 4227106 B2 JP4227106 B2 JP 4227106B2
Authority
JP
Japan
Prior art keywords
data
logical address
flash memory
index area
value
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.)
Active
Application number
JP2005001944A
Other languages
English (en)
Other versions
JP2005209188A (ja
Inventor
至▲ヒュン▼ 印
曉俊 金
光倫 李
泰善 鄭
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2005209188A publication Critical patent/JP2005209188A/ja
Application granted granted Critical
Publication of JP4227106B2 publication Critical patent/JP4227106B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Description

本発明は、フラッシュメモリのデータ復旧装置及び方法に係り、さらに詳細には一つ以上のデータに対する連続的な演算実行中電源遮断によるデータの損傷復旧を保証できる、フラッシュメモリのデータ復旧装置及び方法に関する。
一般的に、家電機器、通信機器、セットトップボックスなどの内蔵型システムでは、データを保存して処理するための保存媒体として不揮発性メモリが多く使われている。
前記不揮発性メモリのうち主に使われるフラッシュメモリは、電気的にデータを削除または再記録できる不揮発性記憶素子であって、マグネチックディスクメモリを基盤とする保存媒体に比べて電力消耗が少ないながらもハードディスクと同じく速いアクセスタイムを持ち、かつコンパクトなサイズのために携帯機器などに適している。
また、前記フラッシュメモリは、ハードウェアーの特性上既に記録されたデータに再記録する場合、該当データが記録されたブロック全体を削除する過程が必要である。
このように、前記フラッシュメモリでデータの記録及び削除単位の不一致により発生しうる性能低下を防止するために、論理アドレス及び物理アドレスの概念が導入された。
この時、前記論理アドレスは、ユーザーが所定のユーザープログラムを通じて前記フラッシュメモリで所定のデータ演算を行う場合に使われるアドレスであり、前記物理アドレスは、実際フラッシュメモリに所定のデータ演算を行う場合に使われるアドレスである。
また、前記フラッシュメモリは一般的に、小ブロックフラッシュメモリと大ブロックフラッシュメモリとに大別できるが、前記小ブロックフラッシュメモリは、論理的な演算単位と物理的な演算単位とが同じである一方、前記大ブロックフラッシュメモリは、論理的な演算単位に比べて物理的な演算単位が大きいという特性を持つ。
図1A及び図1Bは、前記小ブロックフラッシュメモリ及び大ブロックフラッシュメモリの概略的な構造が図示された図面である。
前記小ブロックフラッシュメモリは、図1Aに図示されたように、論理的な演算単位であるセクター11と、物理的な演算単位であるページ12とが同一であることが分かる。
一方、前記大ブロックフラッシュメモリは、図1Bに図示されたように、少なくとも一つ以上の論理的な演算単位であるセクター21が集って一つのページ22をなすことが分かる。
前記フラッシュメモリを基盤とするシステムは、一般的に揮発性メモリであるRAM及びCPUと共に構成できる。
この時、前記フラッシュメモリを基盤とするシステムは、その応用分野の特性上予測できない電源供給中断が頻繁に発生する。したがって、前記電源供給が中断された状態で安全にデータを復旧できる機能が必須に要求される。
すなわち、前記フラッシュメモリに所定のデータを記録する場合を例として説明すれば、前記フラッシュメモリに所定のデータを記録する途中で電源供給が中断されれば、前記フラッシュメモリに記録しようとしたデータの一部は記録され、他の一部は記録されない。
したがって、前記フラッシュメモリに記録されたデータが、正常に記録が完了したデータであるかどうかを区分できる多様な方法が提案されている。
このうち、所定のデータ演算を行う場合、前記データ演算が完了したかどうかをマーキングする方法を例として説明すれば、図2に図示されたように、前記フラッシュメモリの所定論理アドレスにデータ演算を行い(S21)、前記データ演算が完了すれば、所定のメモリ領域に前記データ演算が完了したということを表示するマーキングを行う(S22)。
すなわち、前記フラッシュメモリは、図3に図示されたように、小ブロックフラッシュメモリの場合、所定のデータ演算が行われるデータ領域31と共に、前記データ領域31に行われたデータ演算が完了したかどうかをマーキングできるインデックス領域32を含む。
ここで、前記大ブロックフラッシュメモリも前記小ブロックメモリと同じくデータ領域とインデックス領域とに分けられる。
この時、前記データ領域31とインデックス領域32とが同じブロックに含まれ、前記ブロックについて削除演算が行われた場合、前記データ領域31とインデックス領域32とはいずれも1とセットされる。
また、前記データ領域31でデータ演算を行い、前記データ演算が完了すれば、前記インデックス領域32を0に変更して正常にデータ演算が完了したということを表示できる。
以後、あらゆる論理アドレスについてのデータ演算が完了したかどうかを判断し(S23)、前記判断の結果、あらゆる論理アドレスについてのデータ演算が完了していない場合、次の論理アドレスに該当データ演算を行う(S24)。
以後、あらゆる論理アドレスについてのデータ演算を行い、データ演算完了時にマーキングを行う過程(S22)を反復的に行う。
前記のようにデータ演算が行われたフラッシュメモリのデータについての有効性検査は、図4に図示されたように、先ず前記インデックス領域32の値を確認し(S41)、前記確認された領域値により該当論理アドレスに行われたデータ演算の有効性有無を判断する(S42)。
例えば、前記確認の結果、前記インデックス領域32の値が0である場合には、該当論理アドレスに行われたデータ演算が有効であると判断し、前記判断の結果、前記インデックス領域32の値が1である場合には、該当論理アドレスに行われたデータ演算が有効でないと判断できる。
しかし、前記のようなフラッシュメモリのデータ復旧方法は、各論理アドレスに所定のデータ演算を行う度に、該当インデックス領域に前記データ演算が正常に完了したか否かをマーキングせねばならない。
例えば、6回のデータ演算を行う場合、該当データ演算が正常に完了したか否かをマーキングするための6回の記録過程が必要であって、総12回のデータ演算を行うようになる。
したがって、前記フラッシュメモリに所定のデータ演算を行う時に必要な演算回数が増加して、前記フラッシュメモリの性能低下を引き起こす問題点がある。
特許文献1はフラッシュメモリのデータ領域に記録されたデータの論理住所を対応する予備(Spare)領域に記録して、前記予備領域に記録された情報をスキャニング下て住所変換テーブルを生成して、急に電源がオフなっても住所変換テーブルを容易に復旧するあるフラッシュメモリ管理方法を開示しているが、これは電源オフ時データの復旧に関することとして、電源オフ時データの復旧のために必要なデータ演算回数を最小化させるある方案は開示されていない。
韓国特許出願公開番号第2003−0040817号
本発明は、フラッシュメモリに所定のデータ演算を行う途中で電源供給の中断によるデータ復旧を保証し、このようなデータ復旧のために要求されるデータ演算を最小化させうるフラッシュメモリのデータ復旧装置及び方法を提供するところにその目的がある。
前記目的を達成するために、本発明の実施例によるフラッシュメモリのデータ復旧装置は、データの有効性有無を表すインデックス領域を含むフラッシュメモリにおいて、所定のデータ演算が行われた最後の論理アドレスに該当するインデックス領域に所定値をマーキングする。
望ましくは、前記フラッシュメモリの中間位置からデータ演算が行われた場合、最初にデータ演算が行われた論理アドレスに該当するインデックス領域に所定値をマーキングする。
一方、本発明の実施例によるフラッシュメモリのデータ復旧装置は、データの有効性有無を表すインデックス領域を含むフラッシュメモリにおいて、所定の論理アドレスに該当するインデックス領域にマーキングされた値により、前記論理アドレス以前にデータ演算が行われた論理アドレスのデータについての有効性有無を判断する。
望ましくは、前記フラッシュメモリの中間位置からデータ演算が行われた場合、最初と最後にデータ演算が行われた論理アドレスに該当するインデックス領域にマーキングされた値により、論理アドレスのデータについての有効性有無を判断する。
望ましくは、所定の論理アドレスについてのデータの有効性は、次の論理アドレスのデータ存否によって判断する。
一方、本発明の実施例によるフラッシュメモリのデータ復旧方法は、データの有効性有無を表すインデックス領域を含むフラッシュメモリにおいて、所定範囲の論理アドレスにデータ演算を行う第1段階と、最後にデータ演算が行われた論理アドレスに該当するインデックス領域に所定値をマーキングする第2段階と、を含む。
望ましくは、前記第2段階は、前記フラッシュメモリの中間位置からデータ演算を行った場合、最初にデータ演算が行われた論理アドレスに所定値をマーキングする。
望ましくは、データの有効性有無を表すインデックス領域を含むフラッシュメモリにおいて、所定の論理アドレスに該当するインデックス領域にマーキングされた値を確認する第1段階と、前記マーキング値により、前記論理アドレス以前にデータ演算が行われた論理アドレスのデータについての有効性有無を判断する第2段階と、を含む。
望ましくは、前記第2段階は、最後にデータ演算が行われた論理アドレスに該当するインデックス領域にマーキングされた値により、有効性有無を判断する。
望ましくは、前記第2段階は、前記フラッシュメモリの中間位置からデータ演算が行われた場合、最初にデータ演算が行われた論理アドレスに該当するインデックス領域にマーキングされた値により、有効性有無を判断する。
望ましくは、前記有効性は、前記論理アドレスの次の論理アドレスのデータ存否によって判断する。
その他の実施例の具体的な事項は詳細な説明及び図面に含まれている。
本発明のフラッシュメモリのデータ復旧装置及び方法によれば、次のような効果がある。第1に、最後にデータ演算が行われた論理アドレスに該当するインデックス領域に所定値をマーキングして、以前にデータ演算が行われた論理アドレスのデータについての有効性有無を判断するために、前記有効性判断のための演算回数を最小化できる。第2に、データの有効性を保証するための演算回数が減少するために、フラッシュメモリの性能を向上させうる。
本発明の利点及び特徴、そしてこれを達成する方法は添付された図面に基づいて詳細に後述されている実施例を参照すれば明確になる。しかし、本発明は以下で開示される実施例に限定されるものではなく、この実施例から外れて多様な形に具現でき、本明細書で説明する実施例は本発明の開示を完全にし、本発明が属する技術分野で当業者に発明の範ちゅうを完全に報せるために提供されるものであり、本発明は請求項及び発明の詳細な説明により定義されるだけである。一方、明細書全体に亙って同一な参照符号は同一な構成要素を示す。
以下、添付された図面を参照して本発明の望ましい実施例を詳細に説明する。
一般的に、フラッシュメモリは、小ブロックフラッシュメモリと大ブロックフラッシュメモリとに大別できる。
前記小ブロックフラッシュメモリは、実際の物理的な演算単位と論理的な演算単位とが同じである一方、前記大ブロックフラッシュメモリは、実際の物理的な演算単位が前記論理的な演算単位よりも大きい。
ここで、前記論理的な演算単位は普通セクターと称し、ユーザーが所定のユーザープログラムを通じて前記フラッシュメモリへのデータ演算、すなわち、データの記録/再生などを行う時の演算単位である。
また、前記物理的な演算単位は普通ページと称し、実際にフラッシュメモリでデータ演算を行う単位である。
この時、前記論理的な演算単位及び物理的な演算単位はセクター及びページに限定されず、使用する装置によって多様な単位として使われうる。
図5は、前記フラッシュメモリの概略的な構造が図示された図面である。
前記フラッシュメモリは、図5に図示されたように、データ領域111及びインデックス領域112よりなる複数のページ113が集って一つのブロック114を構成する。
ここで、前記ブロック114は、データ削除の単位であって、前記小ブロックフラッシュメモリ及び大ブロックフラッシュメモリによって同一に使われる削除単位である。また、前記ページ113は、実際のフラッシュメモリの物理的な演算単位であって、使用する装置によって多様に変更使用できる。
この時、前記小ブロックフラッシュメモリの場合、前記ページは図6Aに図示されたように、一つの論理アドレス121及び前記論理アドレス121に該当するインデックス領域122を持つ。
また、前記大ブロックフラッシュメモリの場合、前記ページは複数の論理アドレス131a、131b、131c、131dよりなり、各論理アドレス131a、131b、131c、131dに該当するインデックス領域132a、132b、132c、132dを持つ。
ここで、前記小ブロックフラッシュメモリまたは大ブロックフラッシュメモリで各論理アドレスに所定のデータ演算を行う場合、該当インデックス領域に前記データ演算が正常に完了したかどうかをマーキングする。
したがって、前記フラッシュメモリに所定のデータ演算を行う途中で電源供給が中断された場合にも、各論理アドレスのデータが有効であるかどうかを判断できる。
この時、各論理アドレスのデータ演算についてのマーキングをそれぞれ別途に行うために、前記フラッシュメモリの総データ演算回数が増加して前記フラッシュメモリの性能低下を引き起こす恐れがある。
本実施例は、前記フラッシュメモリのデータ演算実行時に総データ演算回数を最小化させると同時に、各論理アドレスのデータ有効性有無を容易に判断できるフラッシュメモリのデータ復旧装置に関し、図7は、本発明によるフラッシュメモリのデータ復旧装置の構造を概略的に図示している。
図示されたように、本発明によるフラッシュメモリのデータ復旧装置は、ユーザーが所定の論理アドレスを利用して前記フラッシュメモリでのデータ演算を要請するユーザー要請部200と、前記論理アドレスを物理アドレスに変換する変換部300と、前記変換された物理アドレスによって前記フラッシュメモリの動作を制御するデバイスドライバ500と、前記デバイスドライバ500により前記フラッシュメモリに所定のデータ演算を行い、前記データ演算完了時、所定のインデックス領域に前記データ演算が完了したことを知らせる所定値をマーキングする制御部400と、を含む。
この時、前記制御部400は、前記フラッシュメモリでの所定のデータ演算完了時、最後のデータ演算が行われたデータ領域に該当するインデックス領域に所定値をマーキングして、あらゆるデータ演算が正常に完了したことを表示できる。
ここで、前記小ブロックフラッシュメモリは、論理的な演算単位が物理的な演算単位と同一であるために、最後の論理アドレスに該当するインデックス領域にマーキングできる。
また、前記大ブロックフラッシュメモリは、論理的な演算単位が物理的な演算単位よりも小さいために、最後のデータ演算が行われた物理的な演算単位に含まれた論理アドレスに該当するあらゆるインデックス領域に所定値をマーキングすることもでき、前記小ブロックフラッシュメモリのように、最後のデータ演算が行われた論理アドレスに該当するインデックス領域に所定値をマーキングすることもできる。
この時、前記フラッシュメモリの各論理アドレスについてのデータの有効性有無の判断は、前記インデックス領域に記録される値が0ならば有効であり、1ならば有効でない場合を例として説明すれば、所定の論理アドレスに該当するインデックス領域値が0である場合と、前記インデックス領域値が1であり、前記論理アドレス以後の論理アドレスのうち論理アドレスのインデックス領域に0が記録されたものがある場合、有効なものと判断できる。
そして、前記インデックス領域値が1であり、次の物理ページにデータが存在する場合、有効なものと判断できる。
また、前記インデックス領域値が1であり、次の物理ページにデータが存在せずに前記論理アドレス以後の論理アドレスのインデックス領域に0が記録されていない場合、該当論理アドレスについてのデータは有効でないものと判断できる。
一方、他の実施例で、前記論理アドレスによって最初から順次にデータ演算を行わずに中間位置からデータ演算を行える。
この時、前記フラッシュメモリの中間位置からデータ演算を行う場合には、最後のデータ演算が行われた論理アドレスに該当するインデックス領域に所定値をマーキングすれば、前記所定値がマーキングされたインデックス領域に該当する論理アドレスを基準に、以前にデータ演算が行われたあらゆる論理アドレスについての正常完了如何を表す。
したがって、前記フラッシュメモリの中間位置からデータ演算が行われた場合には、最初にデータ演算が行われた論理アドレスに該当するインデックス領域だけでなく、最後にデータ演算が行われた論理アドレスに該当するインデックス領域に所定値をマーキングして、データの有効性有無を判断可能にする。
前記のように構成される本実施例によるフラッシュメモリのデータ復旧装置の動作を説明すれば、次の通りである。
本実施例によるフラッシュメモリのデータ復旧方法は、図8に図示されたように、先ず、前記フラッシュメモリの論理アドレスに所定のデータ演算を行う(S110)。
前記フラッシュメモリにあらゆるデータ演算を行うまで前記論理アドレスにデータ演算を行う(S120)。
あらゆるデータ演算が行われれば、最後のデータ演算が行われた論理アドレスに該当するインデックス領域に所定値をマーキングする(S130)。
すなわち、前記小ブロックフラッシュメモリの場合、図9Aに図示されたように、6回のデータ演算を行う場合、最後のデータ演算が行われた論理アドレス5 610に該当するインデックス領域620に所定値をマーキングする。
本実施例では、前記フラッシュメモリが削除された場合に初期値を1とセットし、前記フラッシュメモリにデータ演算を行う場合に初期値1を0に変更する場合を例として説明する。
したがって、前記論理アドレス5 610に該当するインデックス領域620の値を1から0に変更する。
また、前記大ブロックフラッシュメモリの場合、図9Bに図示されたように、まず論理アドレス0から論理アドレス9までデータ演算を行い、次いで、論理アドレス30から論理アドレス42までデータ演算を行う場合、前記論理アドレス9に該当するインデックス領域630を0とマーキングし、前記論理アドレス42に該当するインデックス領域640を0とマーキングする。
この時、前記論理アドレス9及び論理アドレス42に該当するインデックス領域630、640を0とマーキングしたが、前記論理アドレス9及び論理アドレス42が含まれるページのあらゆる論理アドレスに該当するインデックス領域を0とマーキングすることもある。
一方、他の実施例で、前記フラッシュメモリの中間位置からデータ演算を行った場合を例とすれば、図10に図示されたように、論理アドレス10から論理アドレス22まで先にデータ演算を行い、次いで、論理アドレス0から論理アドレス9までデータ演算を行った場合、前記論理アドレス10及び論理アドレス22に該当するインデックス領域650、660にそれぞれ所定値A、Bをマーキングし、前記論理アドレス0及び論理アドレス9に該当するインデックス領域670、680にそれぞれ所定値A、Bをマーキングすることができる。
このように、前記フラッシュメモリにデータ演算を行った後に前記フラッシュメモリのデータについての有効性有無を検査する方法を、小ブロックフラッシュメモリと大ブロックフラッシュメモリとによってそれぞれ詳細に説明する。
まず、前記小ブロックフラッシュメモリの場合、図11Aに図示されたように、まず任意の論理アドレスのデータ有効性有無を判断するために該当インデックス領域値を確認する(S210)。
前記インデックス領域値が、前記フラッシュメモリでのデータ演算を完了した場合にマーキングされる値であるかどうかを判断する(S220)。
すなわち、前記フラッシュメモリでのデータ演算が完了した場合、前記インデックス領域値が1から0に変更される場合を例とすれば、前記インデックス領域値が0であるかどうかを判断する。
前記判断の結果、前記インデックス領域値が1である場合には、次の論理アドレスのデータの存否を判断する(S230)。
以後、次の論理アドレスにデータが存在していない場合、前記データの有効性有無を判断する論理アドレスのデータは有効でないものと判断する(S240)。
もし、前記判断の結果、インデックス領域値が0である場合と、前記インデックス領域値が1である状態で次の論理アドレスにデータが存在する場合、該当論理アドレスのデータは有効なものと判断する(S250)。
また、他の実施例で、前記小ブロックフラッシュメモリは、図11Bに図示されたように、まず任意の論理アドレスのデータ有効性有無を判断するために該当インデックス領域値を確認する(S310)。
前記インデックス領域値が、前記フラッシュメモリでのデータ演算が完了した場合にマーキングされる値であるかどうかを判断する(S320)。
すなわち、前記フラッシュメモリでのデータ演算が完了した場合、前記インデックス領域値が1から0に変更される場合を例とすれば、前記インデックス領域値が0であるかどうかを判断する。
前記判断の結果、前記インデックス領域値が1である場合には、次の論理アドレスのうち論理アドレスのインデックス領域値が0である論理アドレスの有無を判断する(S330)。
以後、次の論理アドレスのうち論理アドレスのインデックス領域値が0である論理アドレスがない場合、前記データの有効性を判断する論理アドレスのデータは有効でないものと判断する(S340)。
もし、前記判断の結果、インデックス領域値が0である場合と、前記インデックス領域値が1である状態で次の論理アドレスのうち論理アドレスのインデックス領域値が0である論理アドレスがある場合、該当論理アドレスのデータは有効なものと判断する(S350)。
このようなデータ有効性の判断方法は、ブロックフラッシュメモリにも同様に適用できる。
まず、前記大ブロックフラッシュメモリの場合、図12Aに図示されたように、まず所定の論理アドレスのデータ有効性有無を判断するために該当インデックス領域値を確認する(S410)。
前記インデックス領域値が、前記フラッシュメモリでのデータ演算を完了した場合にマーキングされる値であるかどうかを判断する(S420)。
すなわち、前記フラッシュメモリでのデータ演算が完了した場合、前記インデックス領域値が1から0に変更される場合を例とすれば、前記インデックス領域値が0であるかどうかを判断することである。
ここで、前記インデックス領域値が0である場合、該当論理アドレスのデータは有効なものと判断する。
もし、前記インデックス領域値が1である場合、前記大ブロックフラッシュメモリは、論理的な演算単位及び物理的な演算単位によって、次の論理アドレスのうち論理アドレスのインデックス領域値が0である論理アドレスの有無を判断する(S430)
以後、次の論理アドレスのうち論理アドレスのインデックス領域値が0である論理アドレスがない場合、前記データの有効性を判断する論理アドレスのデータは有効でないものと判断する(S440)。
もし、前記判断の結果、インデックス領域値が0である場合と、前記インデックス領域値が1である状態で次の論理アドレスのうち論理アドレスのインデックス領域値が0である論理アドレスがある場合、該当論理アドレスのデータは有効なものと判断する(S450)。
また、他の実施例で、前記大ブロックフラッシュメモリは、図12Bに図示されたように、まず所定の論理アドレスのデータ有効性有無を判断するために該当インデックス領域値を確認する(S510)。
前記インデックス領域値が、前記フラッシュメモリでのデータ演算を完了した場合にマーキングされる値であるかどうかを判断する(S520)。
すなわち、前記フラッシュメモリでのデータ演算が完了した場合、前記インデックス領域値が1から0に変更される場合を例とすれば、前記インデックス領域値が0であるかどうかを判断することである。
ここで、前記インデックス領域値が0である場合、該当論理アドレスのデータは有効なものと判断する。
もし、前記インデックス領域値が1である場合、前記大ブロックフラッシュメモリは、論理的な演算単位及び物理的な演算単位によって次のページにデータが存在するかどうかを判断する。
すなわち、前記インデックス領域値が1である場合、前記論理アドレスが含まれるページの次のページにデータが存在するかどうかを判断する(S530)。
以後、前記次のページにデータが存在していない場合、前記論理アドレスが含まれるページに属する論理アドレスのインデックス領域に、マーキング値が存在する論理アドレスの有無を判断する(S540)。
前記次のページに所定のデータが存在せず、前記論理アドレスが含まれるページに属する論理アドレスのインデックス領域にマーキング値が存在する論理アドレスがない場合、前記論理アドレスのデータは有効でないものと判断する(S550)。
もし、前記次のページに所定のデータが存在する場合、または前記論理アドレスが含まれるページに属する論理アドレスのインデックス領域にマーキング値が存在する論理アドレスがない場合、前記論理アドレスのデータは有効なものと判断する(S560)。
本発明によるフラッシュメモリのデータ復旧装置及びその方法を例示された図面を参照として説明したが、本発明は本明細書に開示された実施例及び図面によって限定されるものではなく、その発明の技術思想範囲内で当業者により多様に変形可能であることはいうまでもない。
本発明はフラッシュメモリ技術分野に好適に適用できる。
一般的な小ブロックフラッシュメモリの構造が図示された図面である。 一般的な大ブロックフラッシュメモリの構造が図示された図面である。 従来の技術によるフラッシュメモリのデータ復旧方法が図示された図面である。 一般的な小ブロックフラッシュメモリのデータ領域及びインデックス領域が図示された図面である。 従来の技術によるフラッシュメモリのデータ有効性判断方法が図示された図面である。 一般的なフラッシュメモリのデータ領域及びインデックス領域が含まれたページ及びブロックが図示された図面である。 一般的な小ブロックフラッシュメモリのデータ領域とインデックス領域との関係が図示された図面である。 一般的な大ブロックフラッシュメモリのデータ領域とインデックス領域との関係が図示された図面である。 本発明によるフラッシュメモリのデータ復旧装置が図示された図面である。 本発明によるフラッシュメモリのデータ復旧方法が図示された図面である。 本発明による小ブロックフラッシュメモリでのインデックス領域のマーキング方法が図示された図面である。 本発明による大ブロックフラッシュメモリでのインデックス領域のマーキング方法が図示された図面である。 本発明による大ブロックフラッシュメモリの中間に位置したデータに該当するインデックス領域のマーキング方法が図示された図面である。 本発明による小ブロックフラッシュメモリのデータ有効性判断方法が図示された図面である。 本発明による小ブロックフラッシュメモリのデータ有効性判断方法が図示された図面である。 本発明による大ブロックフラッシュメモリのデータ有効性判断方法が図示された図面である。 本発明による大ブロックフラッシュメモリのデータ有効性判断方法が図示された図面である。
符号の説明
200 ユーザー要請部
300 変換部
400 制御部
500 デバイスドライバ

Claims (7)

  1. データの有効性有無を表すインデックス領域を含むフラッシュメモリにおいて、
    所定のデータ演算が行われた最後の論理アドレスに該当するインデックス領域に所定値をマーキングするとともに、
    所定の論理アドレスについてのデータの有効性は、前記インデックス領域の値と、前記所定の論理アドレスの次の論理アドレスのデータ存否とによって判断することを特徴とするフラッシュメモリのデータ復旧装置。
  2. 前記フラッシュメモリの中間位置からデータ演算が行われた場合、最初にデータ演算が行われた論理アドレスに該当するインデックス領域に所定値をマーキングすることを特徴とする請求項1に記載のフラッシュメモリのデータ復旧装置。
  3. データの有効性有無を表すインデックス領域を含むフラッシュメモリにおいて、
    所定の論理アドレスに該当するインデックス領域にマーキングされた値により、前記論理アドレス以前にデータ演算が行われた論理アドレスのデータについての有効性有無を判断するとともに、
    前記フラッシュメモリの中間位置からデータ演算が行われた場合、最初及び最後にデータ演算が行われた論理アドレスに該当するインデックス領域にマーキングされた値により、論理アドレスのデータについての有効性有無を判断するとともに、
    所定の論理アドレスについてのデータの有効性は、次の論理アドレスのデータ存否によっても判断することを特徴とするフラッシュメモリのデータ復旧装置。
  4. データの有効性有無を表すインデックス領域を含むフラッシュメモリにおいて、
    所定範囲の論理アドレスにデータ演算を行う第1段階と、
    最後にデータ演算が行われた論理アドレスに該当するインデックス領域に所定値をマーキングする第2段階と、
    を含み、
    所定の論理アドレスについてのデータの有効性は、前記インデックス領域の値と、前記論理アドレスの次の論理アドレスのデータ存否によって判断することを特徴とするフラッシュメモリのデータ復旧方法。
  5. 前記第2段階は、前記フラッシュメモリの中間位置からデータ演算を行った場合、最初にデータ演算が行われた論理アドレスに所定値をマーキングすることを特徴とする請求項に記載のフラッシュメモリのデータ復旧方法。
  6. データの有効性有無を表すインデックス領域を含むフラッシュメモリにおいて、
    所定の論理アドレスに該当するインデックス領域にマーキングされた値を確認する第1段階と、
    前記マーキング値により、前記論理アドレス以前にデータ演算が行われた論理アドレスのデータについての有効性有無を判断する第2段階と、
    を含み、
    前記第2段階は、最後にデータ演算が行われた論理アドレスに該当するインデックス領域にマーキングされた値により、前記有効性有無を判断し、
    前記有効性有無は、前記論理アドレスの次の論理アドレスのデータ存否によっても判断することを特徴とするフラッシュメモリのデータ復旧方法。
  7. 前記第2段階は、前記フラッシュメモリの中間位置からデータ演算が行われた場合、最初にデータ演算が行われた論理アドレスに該当するインデックス領域にマーキングされた値により、有効性有無を判断することを特徴とする請求項に記載のフラッシュメモリのデータ復旧方法。
JP2005001944A 2004-01-19 2005-01-06 フラッシュメモリのデータ復旧装置及び方法 Active JP4227106B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040003980A KR100704618B1 (ko) 2004-01-19 2004-01-19 플래시 메모리의 데이터 복구 장치 및 방법

Publications (2)

Publication Number Publication Date
JP2005209188A JP2005209188A (ja) 2005-08-04
JP4227106B2 true JP4227106B2 (ja) 2009-02-18

Family

ID=34651512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005001944A Active JP4227106B2 (ja) 2004-01-19 2005-01-06 フラッシュメモリのデータ復旧装置及び方法

Country Status (5)

Country Link
US (1) US7421624B2 (ja)
EP (1) EP1560224A3 (ja)
JP (1) JP4227106B2 (ja)
KR (1) KR100704618B1 (ja)
CN (1) CN1645516B (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100704618B1 (ko) * 2004-01-19 2007-04-10 삼성전자주식회사 플래시 메모리의 데이터 복구 장치 및 방법
CN1937077B (zh) * 2005-09-22 2011-03-23 康佳集团股份有限公司 闪存介质中的数据多状态管理方法
CN1936853B (zh) * 2005-09-22 2010-05-05 康佳集团股份有限公司 嵌入式设备的数据掉电保护和修复方法
DE102006009214B4 (de) * 2006-02-28 2008-05-08 Infineon Technologies Ag Verfahren und Vorrichtung zum Schreiben in eine Zielspeicherseite eines Speichers
KR100843543B1 (ko) 2006-10-25 2008-07-04 삼성전자주식회사 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법
US7962801B2 (en) * 2008-10-15 2011-06-14 Silicon Motion, Inc. Link table recovery method
US8316173B2 (en) * 2009-04-08 2012-11-20 International Business Machines Corporation System, method, and computer program product for analyzing monitor data information from a plurality of memory devices having finite endurance and/or retention
CN101763490B (zh) * 2009-12-18 2012-11-21 东信和平科技股份有限公司 闪存智能卡的数据移动方法
US9268646B1 (en) 2010-12-21 2016-02-23 Western Digital Technologies, Inc. System and method for optimized management of operation data in a solid-state memory
US9361044B2 (en) 2011-03-28 2016-06-07 Western Digital Technologies, Inc. Power-safe data management system
KR101993704B1 (ko) 2012-08-24 2019-06-27 삼성전자주식회사 플래시 메모리를 기반으로 하는 저장 장치 및 플래시 메모리를 제어하는 메모리 컨트롤러의 쓰기 메모리 블록 할당 방법
KR20170026831A (ko) 2015-08-28 2017-03-09 에스케이하이닉스 주식회사 불휘발성 메모리 장치, 그것을 포함하는 데이터 저장 장치 그리고 데이터 저장 장치의 동작 방법.

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6170066B1 (en) * 1995-09-29 2001-01-02 Intel Corporation Power-off recovery management for sector based flash media managers
US5875477A (en) * 1995-12-22 1999-02-23 Intel Corporation Method and apparatus for error management in a solid state disk drive using primary and secondary logical sector numbers
KR100206186B1 (ko) * 1996-10-09 1999-07-01 윤종용 재기록 가능한 불휘발성 메모리의 기록정보 복구장치 및 방법
JP3849241B2 (ja) 1997-08-11 2006-11-22 ソニー株式会社 記憶装置
JPH11282765A (ja) 1998-03-27 1999-10-15 Hitachi Ltd フラッシュメモリを使用した外部記憶装置
US6098190A (en) * 1998-08-04 2000-08-01 Hewlett-Packard Co. Method and apparatus for use of a host address to validate accessed data
JP2990181B1 (ja) * 1998-09-28 1999-12-13 日本電気アイシーマイコンシステム株式会社 フラッシュメモリ、フラッシュメモリを備えたマイクロコンピュータおよびフラッシュメモリへのプログラム格納方法
DE19911794B4 (de) 1999-03-17 2005-10-06 Robert Bosch Gmbh Verfahren und Vorrichtung zur Absicherung bei Veränderung des Speicherinhalts von Steuergeräten
US6427186B1 (en) * 1999-03-30 2002-07-30 Frank (Fong-Long) Lin Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers
JP3797649B2 (ja) * 1999-05-31 2006-07-19 シャープ株式会社 不揮発性半導体記憶装置
JP3692313B2 (ja) 2001-06-28 2005-09-07 松下電器産業株式会社 不揮発性メモリの制御方法
KR100449708B1 (ko) 2001-11-16 2004-09-22 삼성전자주식회사 플래시 메모리 관리방법
US6977847B2 (en) 2001-11-23 2005-12-20 M-Systems Flash Disk Pioneers Ltd. Detecting partially erased units in flash devices
US20030126374A1 (en) * 2001-12-28 2003-07-03 Bull David Michael Validity status information storage within a data processing system
KR100464953B1 (ko) * 2002-04-02 2005-01-06 매그나칩 반도체 유한회사 의사 랜덤 오류 데이터 복구용 읽기 전용 메모리 장치 및데이터 복구 방법
JP3997404B2 (ja) * 2002-07-12 2007-10-24 Necエレクトロニクス株式会社 キャッシュメモリ及びその制御方法
KR100654344B1 (ko) * 2003-07-24 2006-12-05 주식회사 레인콤 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법
KR100704618B1 (ko) * 2004-01-19 2007-04-10 삼성전자주식회사 플래시 메모리의 데이터 복구 장치 및 방법
KR100631765B1 (ko) * 2004-10-18 2006-10-09 삼성전자주식회사 플래시 메모리의 데이터 처리 장치 및 방법

Also Published As

Publication number Publication date
US7421624B2 (en) 2008-09-02
EP1560224A2 (en) 2005-08-03
KR20050076156A (ko) 2005-07-26
CN1645516A (zh) 2005-07-27
KR100704618B1 (ko) 2007-04-10
JP2005209188A (ja) 2005-08-04
US20050157561A1 (en) 2005-07-21
CN1645516B (zh) 2012-12-26
EP1560224A3 (en) 2009-07-29

Similar Documents

Publication Publication Date Title
JP4227106B2 (ja) フラッシュメモリのデータ復旧装置及び方法
US10255192B2 (en) Data storage device and data maintenance method thereof
JP4832521B2 (ja) フラッシュメモリメディアにおけるデータ管理方法
JP4902547B2 (ja) フラッシュメモリのデータ処理装置及び方法
US7159068B2 (en) Method of optimizing performance of a flash memory
JP2006114043A (ja) フラッシュメモリのデータ処理装置及び方法
KR100533682B1 (ko) 플래시 메모리의 데이터 관리 장치 및 방법
US8261098B2 (en) Method and apparatus for encrypting and processing data in flash translation layer
US10346051B2 (en) Storage media performance management
KR100643288B1 (ko) 플래시 메모리의 데이터 처리 장치 및 방법
CN111722807A (zh) 固态硬盘垃圾回收方法、装置、计算机设备及存储介质
KR20180092422A (ko) 데이터 저장 장치 및 그것의 동작 방법
JP4634404B2 (ja) 不揮発性メモリ、そのためのデータ有効性を判断する装置及び方法
US20110107056A1 (en) Method for determining data correlation and a data processing method for a memory
US20050154818A1 (en) Method of accessing a nonvolatile memory
JP2007148965A (ja) フラッシュディスク装置のエラーブロック管理方法及び装置
US20090055574A1 (en) NAND Flash Memory Device And Related Method Thereof
JP4334331B2 (ja) フラッシュメモリのアクセス制御方法
US11899976B2 (en) Solid state storage device and write control method with different write modes therof
KR100521155B1 (ko) 플래시 메모리의 정보기록장치 및 그 방법
TW201732837A (zh) 儲存裝置及其控制單元、可用於儲存裝置的資料搬移方法
KR102022446B1 (ko) 데이터 저장 장치 및 이의 동작 방법
CN113703671A (zh) 一种数据块擦除方法及相关装置
CN116679873A (zh) 一种数据存储方法、硬盘及计算设备
JP2011170580A (ja) メモリー制御装置およびプログラム並びにメモリー制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080311

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081028

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081127

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111205

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4227106

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121205

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131205

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250