JP2009266115A - データ復旧方法、プログラムおよびデータ復旧装置 - Google Patents

データ復旧方法、プログラムおよびデータ復旧装置 Download PDF

Info

Publication number
JP2009266115A
JP2009266115A JP2008117605A JP2008117605A JP2009266115A JP 2009266115 A JP2009266115 A JP 2009266115A JP 2008117605 A JP2008117605 A JP 2008117605A JP 2008117605 A JP2008117605 A JP 2008117605A JP 2009266115 A JP2009266115 A JP 2009266115A
Authority
JP
Japan
Prior art keywords
data
storage device
main storage
memory
semiconductor 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
JP2008117605A
Other languages
English (en)
Inventor
Keiichi Nagayoshi
恵一 永吉
Kimishige Nakanoya
仁茂 仲野谷
Norio Arashiro
典雄 荒城
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008117605A priority Critical patent/JP2009266115A/ja
Publication of JP2009266115A publication Critical patent/JP2009266115A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】OSの障害発生時に主記憶装置の内容を保護することを目的とする。
【解決手段】フラッシュメモリ3のデータを更新する際、更新データに識別子を付加した保持データを生成して、主記憶装置2の複写領域23に格納し、OS22の障害発生時に主記憶装置2の複写領域23および退避領域24をフラッシュメモリ3へ格納し、前記OS22の再起動時に前記識別子232’を基に保持データ231’を抽出し、保持データ231’に含まれる差分データ241を抽出し、抽出した差分データ241を前記主記憶装置2の退避領域24へ格納することを特徴とする。
【選択図】図7

Description

本発明は、データ復旧方法、プログラムおよびデータ復旧装置の技術に関する。
一般的なPC(Personal Computer)では、補助記憶装置としてHDD(Hard Disk Drive)が一般的に用いられている。HDDは、記憶容量が大きく、1バイト当たりの単価が安いというメリットがある。しかしながら、HDDは、PCに用いられる部品の中で故障率が高く、寿命も短いというデメリットがある。このようなデメリットは、HDDに駆動部品が用いられているためであり、このような駆動部品を用いない補助記憶装置が模索されている。
このような駆動部品を用いない補助記憶装置の中で、他の記憶装置より大容量で、安価な不揮発性半導体メモリの1つであるフラッシュメモリが採用され始めている。しかし、フラッシュメモリは、原理上、書込み回数が有限であるため、書込み可能な回数を超えると正しく書込みや読込みができなくなるという欠点がある。また、半導体の微細化加工の進歩に伴いフラッシュメモリに書込み可能な回数は、減少する傾向にあるため、PCの補助記憶装置のような繰り返し書込みが行われる用途においてフラッシュメモリの使用可能時間も短くなってきている。
このような理由から、コンパクトフラッシュ(登録商標)や、USB(Univesal Serial Bus)メモリなどに利用されているフラッシュメモリへの書込みを抑止することが必要となってきている。フラッシュメモリへの書込み抑止の方法として、フラッシュメモリへ書込むデータを主記憶装置へ一時的に退避する方法がとられている。そして、主記憶装置が揮発性メモリであることから、主記憶装置に格納されているデータは、OS(Operating System)のシャットダウン時に失われてしまうため、主記憶装置に退避されているデータをフラッシュメモリへ書き戻す方法もとられている。
また、特許文献1には、OSが不安定になると主記憶装置に記憶されている情報をフラッシュメモリに退避させてOSにリセットを要求し、再起動後、OSが、フラッシュメモリに退避した情報を主記憶装置に復帰させる携帯端末が開示されている。
特開2008−3770号公報
前記した方法によりフラッシュメモリの書込みを抑止しながら、主記憶装置に退避したデータの保持を可能としている。しかしながら、OSに障害が発生した場合、主記憶装置に退避しているデータがフラッシュメモリに書き戻されず、また、障害解析のために補助記憶装置に取得されるメモリダンプデータにデータは残るものの、補助記憶装置中の他のデータと、メモリダンプデータとを区別することが困難なことから、メモリダンプデータを補助記憶装置から取り出すことが困難となり、結果として主記憶装置に退避しているデータが失われてしまうという問題がある。
特許文献1では、障害発生時以外のデータの格納や、フラッシュメモリにおける他のデータの中からメモリダンプデータをどのように抽出するかに関する方法に言及していない。
このような背景に鑑みて本発明がなされたのであり、本発明は、OSの障害発生時に主記憶装置の内容を保護することを目的とする。
前記課題を解決するため、本発明は、補助記憶装置のデータを更新する際、更新内容のデータに識別子を付加して、主記憶装置に格納し、前記オペレーティングシステムの再起動時に前記識別子を基に、メモリダンプ機能によって前記補助記憶装置に格納された前記更新内容のデータを抽出し、前記抽出した更新内容のデータを前記主記憶装置へ格納することを特徴とする。
本発明によれば、OSの障害発生時に主記憶装置の内容を保護することが可能となる。
次に、本発明を実施するための最良の形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。
(装置構成)
図1は、本実施形態に係るデータ復旧装置の構成例を示すブロック図である。
データ復旧装置1は、バスによって相互に接続した、主記憶装置2と、補助記憶装置としてのフラッシュメモリ3(不揮発性半導体メモリ)と、CPU(Central Processing Unit)4とを有してなる。
主記憶装置2には、本実施形態に係るデータ復旧処理を行うデータ復旧処理部21と、OS22とが展開されている。また、主記憶装置2には、フラッシュメモリ3のデータを更新する際に生成されるフラッシュメモリ3内のデータ(元データ31)と更新後データとの差分である差分データ241が格納される退避領域24が予め設けられ、さらに更新後データに識別子232が付加された保持データ231が格納される複写領域23が予め設けられている。なお、元データ31と、更新後データと、差分データ241とは、例えば、フラッシュメモリ3から元データ31を読出し、加筆する作業を行った場合は、図2(a)のような関係になる。
データ復旧処理部21は、作業中のデータが更新されるか(書込み指示がなされるか)否かを監視するデータ更新監視部213と、データの更新が検知された際に、更新後データに識別子232を付加した保持データ231を複写領域23に格納するデータ複写部212を有する。さらに、データ復旧処理部21は、OS22の障害発生時にフラッシュメモリ3へ退避された主記憶装置2の保持データ231を、OS22の再起動時に抽出し、フラッシュメモリ3へ書き戻すデータ抽出部221とを有してなる。なお、データ抽出部221がフラッシュメモリ3へ保持データ231を書き戻す際には、後記する退避処理部222が元データ31と保持データ231とを比較して差分データ241を生成し主記憶装置2へ戻す。
OS22は、フラッシュメモリ3のデータ更新時にフラッシュメモリ3へデータを書き込まないで、前記した差分データ241を生成し、この差分データ241を主記憶装置2の退避領域24に格納する退避処理部222と、OS22の障害発生時に主記憶装置2の内容をフラッシュメモリ3へ退避させるメモリダンプ部221とを有してなる。なお、退避処理部222は、OS22の障害発生時ではない通常のシャットダウン時に、退避領域24の差分データ241と、元データ31とを結合した更新後データを元データ31と置換する機能も有する。なお、元データ31には、ファイル名や、サイズなどの属性情報が付加されている。
なお、データ復旧処理部21、データ更新監視部213、データ複写部212、データ抽出部211、OS22、メモリダンプ部221および退避処理部222は、フラッシュメモリ3などの補助記憶装置に格納されているプログラムが主記憶装置2に展開され、CPU4によって実行させることにより具現化する。
(保持データ)
図2(b)は、本実施形態に係る保持データの構成例を示す図である。保持データ231は、図1における主記憶装置2の複写領域23に格納されるデータである。
保持データ231は、識別子232と、更新後データ(更新内容のデータ)のデータ本体236とを有してなる。識別子232は、OS22(図1)の再起動時に、検索のためのキーとなる検索コード233、データ名234およびデータのサイズ235とを有してなる。
(データ更新時の処理)
次に、図3から図5に沿って本実施形態に係るアプリケーション25によるデータ更新時の処理を説明する。なお、図3および図4で、該処理の概略を説明し、図5において該処理のフローチャートを説明することとする。
図3および図4は、本実施形態に係るアプリケーションによるデータ更新時の処理の概略を示す図である。なお、図3および図4の構成要素は、アプリケーション25が新たに実行されている以外は図1と同様であるため、アプリケーション25以外の構成については、図1と同一の符号を付して説明を省略する。
まず、図3において、フラッシュメモリ3には元データ31が格納されているが、アプリケーション25が、この元データ31を更新するときの処理を説明する。このとき、退避処理部222は、更新後のデータ(更新後データ)と、元データ31との差分データ241を生成し、フラッシュメモリ3ではなく、この差分データ241を退避領域24に書込む(S101)。つまり、差分データ241と元データ31とを合わせることで、更新後データとなる。データ更新監視部213は、アプリケーション25の動作を監視しており(S102)、アプリケーション25によるフラッシュメモリ3のデータ更新が検知されると、データ更新が行われた旨をデータ複写部212に通知する(S103)。
次に、図4を参照して説明を行う。
図3のステップS103において、通知を受けたデータ複写部212は、退避処理部222に更新後データ(つまり、主記憶装置2の差分データ241と、フラッシュメモリ3の元データ31とを合わせたデータ)をデータ複写部212自身に送るよう指示する。指示を受けた退避処理部222は、退避領域24の差分データ241と、フラッシュメモリ3の元データ31とを読込んだ上で、これらのデータを合わせて更新後データを生成すると、生成した更新後データをデータ複写部212へ送る(S110)。
更新後データを送られたデータ複写部212は、この更新後データに識別子232を付加して保持データ231を生成し、生成した保持データ231を主記憶装置2の複写領域23へ書込む(S111)。
次に、図2、図3および図4を参照しつつ、図5に沿ってアプリケーション25によるデータ更新時における処理の詳細な流れを説明する。
図5は、本実施形態に係るアプリケーションによるデータ更新時の処理の流れを示すフローチャートである。前記したように図5は、図3および図4で説明した処理をフローチャートにまとめたものである。
まず、データ複写部212は、データ更新監視部213からデータ更新が行われた旨の通知があるか否かを判定する(S151)ことによって、データ更新監視部213からの通知を待機する。
ステップS151の結果、通知がない場合(S151→No)、データ復旧処理部21は、ステップS151へ処理を戻す。
ステップS151の結果、通知があった場合(S151→Yes)、つまり、データ更新監視部211がアプリケーション25によるデータ更新を検知した場合、データ複写部212へその旨を通知し、それを受けたデータ複写部212は、退避処理部222に更新後データ(つまり、主記憶装置2の差分データ241と、フラッシュメモリ3の元データ31とを合わせたデータ)をデータ複写部212自身に送るよう指示する。指示を受けた退避処理部222は、主記憶装置2の差分データ241(差分データ241は、ここまでのデータ復旧処理部21の動作とは別に、退避処理部222の処理により生成されている(図3のステップS101))と、フラッシュメモリ3の元データ31とを読込んだ上で、これらのデータを結合して更新後データを生成すると、生成した更新後データをデータ複写部212へ送ることによって、データ複写部212は、更新後データを取得する(S152)。
続いて、データ複写部212は、取得した更新後データに識別子232を付加して(S153)保持データ231を生成すると、生成した保持データ231を主記憶装置2の複写領域23に書込む(S154)。
(OS障害発生時の処理)
次に、図6を参照して、本実施形態に係るOS22障害発生時の処理を説明する。
図6は、本実施形態に係るOS障害発生時の処理の概略を示す図である。図6において、図3および図4と同様の構成要素に対しては同一の符号を付して説明を省略するが、図6において破線で示されている構成は、OS22の障害により停止状態となっている構成要素であることを示す。
OS22の障害が発生すると、OS22において標準的に備わっているメモリダンプ部221以外の各部は停止状態となる。このとき、OS22のメモリダンプ部221は、主記憶装置2の複写領域23および退避領域24を含む主記憶装置2のデータをまるごとフラッシュメモリ3へコピー(メモリダンプ)する(S201)。メモリダンプ部221によってフラッシュメモリ3へメモリダンプされたデータをメモリダンプデータ32と記載する。メモリダンプデータ32は、主記憶装置2における複写領域23および退避領域24のコピーも含まれたものであるので、識別子232’が付加されている保持データ231’を格納している複写領域23’と、差分データ241’を格納している退避領域24’とを有する。
前記したように、図6に示す処理は、OS22において標準的に備わっている機能を利用して行われる処理である。
(再起動時)
次に、図7および図8に沿ってOS22の再起動時における処理を説明する。まず、図7で該処理の概略を説明し、図8で該処理のフローチャートを説明することとする。
図7は、本実施形態に係るOSの再起動時における処理の概略を示す図である。なお、図7において図6と同様の構成要素に対しては、同一の符号を付して説明を省略する。
OS22が再起動されると、これに伴いデータ復旧処理も再起動される。
すると、OS22の再起動を検知したデータ抽出部211は、フラッシュメモリ3内のメモリダンプデータ32内の識別子232’(具体的には、検索コード233(図2))を検索することによって、メモリダンプデータ内の保持データ231’を検出する。データ抽出部211は、保持データ231’を検出すると、識別子232’に格納されているサイズ235(図2)を基に、メモリダンプデータ32から保持データ231’におけるデータ本体236(図2に示す更新後データ)を切り出す(S301)。そして、データ抽出部211は、保持データ231’の識別子232’に格納されているデータ名234(図2)を基に保持データ231’と対である元データ31を特定し、保持データ231’から切り出したデータ本体236を退避処理部222に送り、元データ31に上書きするよう、退避処理部222に指示する(S302)。指示を受けた退避処理部222は、データ本体236(図2)と、元データ31との差分データ241を生成し、生成した差分データ241を退避領域24へ格納する。
この後、データ抽出部211は、メモリダンプデータ32の保持データ231’から識別子232’をクリアする。
なお、フラッシュメモリ3内のすべての保持データ231’について、以上の処理を終了したとき、フラッシュメモリ3のメモリダンプデータ32を削除してもよい。
次に、図2および図7を参照しつつ、図8に沿って本実施形態に係る再起動時の処理の詳細な流れを説明する。
図8は、本実施形態に係る再起動時の処理の流れを示すフローチャートである。
まず、データ抽出部211は、フラッシュメモリ3内の検索コード233を検索する(S351)。
そして、データ抽出部211は、検索コード233が検出できたか否かを判定する(S352)。
ステップS352の結果、検索コード233が検出できなかった場合(S352→No)、データ抽出部211は、処理を終了する。このとき、データ復旧処理部21が、メモリダンプデータ32を削除してもよい。
ステップS352の結果、検索コード233が検出できた場合(S352→Yes)、データ抽出部211は、該検索コード233に付随しているデータ名234と、データのサイズ235とを主記憶装置2に読み込む(S353,S354)。
次に、データ抽出部211は、読み込んだサイズ235を基に保持データ231’のデータ本体236(更新後データ)の切り出しを行う(S355)。次に、読み込んだデータ名234を基に、保持データ231’の対となる元データ31を特定し、保持データ231’から切り出したデータ本体236を退避処理部222に送り、元データ31に上書きするよう、退避処理部222に指示する(S356)。
退避処理部222は、ステップS356でデータ抽出部211から送られた本体データ236を主記憶装置2上に読出し、フラッシュメモリ3の元データも主記憶装置2上に読出した上で、差分データ241を生成し、生成した差分データ241を退避領域24へ書込む。
次に、データ抽出部211は、同じ保持データ231’に対して同様の処理を行わないようにするため、メモリダンプデータ32において処理の対象となっている識別子232をクリアした(S357)後、他の検索コード233の検索を開始し(S358)、データ復旧処理部21は、ステップS352へ処理を戻す。
次に、図9および図10を参照して、本実施形態に係るデータ復旧処理(図3から図8で説明した処理)の各時刻におけるデータの状態を説明する。
図9は、本実施形態に係るデータ復旧処理の流れを示すシーケンス図であり、図10は、各時刻におけるデータの状態を示す表である。
なお、図10において「A」はフラッシュメモリ3に格納されている元データ31を示し、「a」が差分データ241を示す。つまり「A+a」で更新後データを示すこととなる。そして、「b」が識別子232を示す。つまり、「bA+a」で識別子232がついた保持データ231を示す。また、図10において「−」は、データが格納されていないことを示す。そして、図10における時刻は、図9に示す各時刻501〜505に相当するものであり、図10のアプリケーションの項目は、アプリケーション25から見たデータの状態を示している。さらに、図9における各部の符号は、図3に準ずるものとし、説明を省略する。
まず、アプリケーション25によるデータの更新が行われる前、すなわちアプリケーション25が退避処理部222に更新後データの書込み指示を行う前(時刻501)は、図10に示すようにフラッシュメモリ3に元データ31「A」が格納されており、アプリケーション25から見たデータは、元データ「A」である。
そして、アプリケーション25によるデータの更新が行われ、すなわちアプリケーション25が退避処理部222に更新後データの書込み指示が行われ(S401)、データ更新監視部213によるデータ更新の検出が行われた(S402)とき(時刻502)では、図10に示すように、退避領域24に差分データ241「a」が格納され、フラッシュメモリ3に元データ31「A」が格納されている。また、このときアプリケーション25から見たデータは、更新後データ「A+a」である。
そして、データ更新監視部213によるデータ複写部212へのデータ更新検出の通知が行われ(S403)、データ複写部212が退避処理部222へ更新後データの読み込みを指示し(S404)、退避処理部222から読み込んだ(S405)更新後データに識別子232を付加した保持データ231を複写領域23へ書き込んだ(S406)後(時刻503)におけるデータの状態は、以下に記載する通りである。つまり、図10に示すように、複写領域23には保持データ231「bA+a」が格納されており、退避領域24には差分データ241「a」が格納されており、フラッシュメモリ3には、元データ31「A」が格納されている。また、アプリケーション25から見たデータは、更新後データ「A+a」である。
次に、OS22に障害が発生した(S407)後(時刻504)のデータの状態は、メモリダンプ処理が行われているため、複写領域23および退避領域24にはデータが格納されておらず(主記憶装置2の内容がクリアされるため)、フラッシュメモリ3に元データ31「A」と、メモリダンプデータ32内の保持データ231「bA+a」とが格納されている。さらに、図示しないがフラッシュメモリ3にはメモリダンプ内の複写領域23’に格納されている差分データ241’「a」も格納されている。また、アプリケーション25からデータを見ることはできない。
そして、再起動が行われ(S408)、データ抽出部211が退避処理部222へ本体データ236の書込みを指示し(S409)、退避処理部222が差分データ241を生成し、退避領域24に書込んだ後(時刻505)におけるデータの状態は、以下に記載する通りである。すなわち、複写領域23には、データが格納されておらず、退避領域24には差分データ241「a」が格納されている。フラッシュメモリ3には、元データ31「A」と保持データ231とから識別子232が削除された更新後データ「A+a」が格納されている。識別子232の削除は、図8のステップS357の処理によるものである。また、再起動された直後のアプリケーション25は、データを見ることができないが、OS22にアクセスし、業務を再開することにより、アプリケーション25から見たデータは、更新後データ「A+a」となる。
(比較例)
次に、図11から図14を参照して比較例としての一般的なフラッシュメモリ3aに対するデータ復旧処理の説明を行う。
図11は、比較例に係る通常時のシャットダウン(つまり、OS22aの障害発生時ではないシャットダウン)時におけるデータ復旧処理の概略を示す図である。
図11において、データ復旧装置1aは、バスで相互に接続された主記憶装置2aと、補助記憶装置としてのフラッシュメモリ3aと、CPU4aとを有する。主記憶装置2aでは、OS22aおよびアプリケーション25aが実行されており、また差分データ241aを格納するための退避領域24aが設けられている。OS22aは、メモリダンプ処理を行うためのメモリダンプ部221aと、差分データ241aの生成や、フラッシュメモリ3aに格納されている元データ31aおよび差分データ241から更新後データを生成する退避処理部222aを有してなる。
図11のデータ復旧装置1aが、図3のデータ復旧装置1と異なっている点は、データ復旧処理部21およびデータ復旧処理部21の各部を有していない点と、主記憶装置2aに複写領域23が設けられていない点である。
まず、アプリケーション25aがデータの更新を行おうとすると、退避処理部222aが、フラッシュメモリ3の元データ31aを更新することなく、差分データ241aを生成し、生成した差分データ241aを退避領域24aへ格納する(S501)。
アプリケーション25aが、データの読込みを行うときには、退避処理部222aによって退避領域24aの差分データ241aと、補助記憶装置の元データ31aとを結合した更新後データが生成され、この更新後データをアプリケーション25aが読込む(S502)。
そして、シャットダウン時には、退避処理部222aは、退避領域24aに格納してある差分データ241aと、フラッシュメモリ3aの元データ31aとを読み出した上で、これらのデータを結合して更新後データとし、元データ31aと置換することによってフラッシュメモリ3aに格納する(S503)。
次に、図11を参照しつつ、図12に沿って図11の処理の各時刻におけるデータの状態を説明する。
図12は、比較例における通常時のシャットダウン時の処理の流れと、データの状態を示す図であり、(a)は、シーケンス図を示し、(b)は、各時刻におけるデータの状態を示す表である。なお、図12(b)の表における「A」および「a」は、図10に準ずるものとする。また、図12(b)における時刻は、図12(a)の各時刻601〜604に相当し、図12(b)におけるアプリケーションの項目は、アプリケーション25aから見たデータを示している。
まず、アプリケーション25aによる更新が行われる前、すなわちアプリケーション25aが、更新後データの書込み指示を退避処理部222aに送る前(時刻601)、図12(b)に示すように、退避領域24aにはデータが格納されておらず、フラッシュメモリ3aに元データ31a「A」が格納されており、アプリケーション25aから見たデータは、元データ31a「A」である。
アプリケーション25aによる更新が行われた後、すなわちアプリケーション25aが、更新後データの書込み指示を退避処理部222aに送った(S511)後(時刻602)のデータの状態は、図12(b)に示すように、退避領域24aに差分データ241a「a」が格納されており、フラッシュメモリ3aには、元データ31a「A」が格納されている。また、アプリケーション25aから見たデータは、更新後データ「A+a」である。
ここで、OS22aのシャットダウンが行われた(S512)後(時刻603)のデータの状態は、図12(b)に示すように、退避領域24aがクリアされるため、退避領域24aにデータは格納されておらず、シャットダウン直前に退避処理部222aが、退避領域24aの差分データ241a「a」と、フラッシュメモリ3aの元データ31a「A」とを読み込んだ上で、これらを結合させてフラッシュメモリ3aの元データ31a「A」と置換して格納するため、フラッシュメモリ3aには更新後データ「A+a」が格納される。なお、このとき、アプリケーション25aはデータを見ることができない。
そして、OS22aの起動が行われた(S513)後(時刻604)のデータの状態は、図12(b)に示すように退避領域24aには、データが格納されておらず、フラッシュメモリ3aには、更新後データ「A+a」が格納されている。アプリケーション25aは、フラッシュメモリ3aの更新後データ「A+a」を読み取ることによって業務を再開する。このときのアプリケーション25aから見たデータは、更新後データ「A+a」である。
次に、図13および図14を参照して、比較例におけるOS22aの障害発生時の処理を説明する。
図13は、比較例に係るOSの障害発生時の処理を示す概略図である。
図13において、図11と同様の構成要素には同一の符号を付して説明を省略する。また、図6と同様にOS22aの障害によって停止している構成要素を破線で示すこととする。
OS22aの障害発生によってOS22aおよびアプリケーション25aが停止すると、OS22aに備えられているメモリダンプ部221aが退避領域24aのデータをフラッシュメモリ3aへコピーする(S521)メモリダンプ処理を行う。このようにメモリダンプ部221aによってフラッシュメモリ3aへコピーされた退避領域24aのデータ(メモリダンプデータ32a)には、差分データ241a’が格納されている。
図14は、比較例に係るOS障害発生時の処理の流れと、データの状態を示す図であり、(a)は、シーケンス図を示し、(b)は、各時刻におけるデータの状態を示す表である。なお、図14(b)の表における「A」および「a」は、図10に準ずるものとする。また、図14(b)における時刻は、図14(a)の各時刻611〜614に相当し、図14(b)におけるアプリケーションの項目は、アプリケーション25aから見たデータを示している。
アプリケーション25aによる更新が行われる前、すなわちアプリケーション25aが、差分データ241aの退避領域24aへの書込み指示を退避処理部222aに送る前(時刻611)、図14(b)に示すように、退避領域24aにはデータが格納されておらず、フラッシュメモリ3aに元データ31a「A」が格納されており、アプリケーション25aから見たデータは、元データ31a「A」である。
アプリケーション25aによる更新が行われた後、すなわちアプリケーション25aが、データの書込み指示を退避処理部222aに送った(S531)後(時刻612)のデータの状態は、図14(b)に示すように、退避領域24aに差分データ241a「a」が格納されており、フラッシュメモリ3aには、元データ31a「A」が格納されている。また、アプリケーション25aから見たデータは、更新後データ「A+a」である。
OS22aに障害が発生し(S532)、メモリダンプ処理が行われた後(時刻613)におけるデータの状態は、図14(b)に示すように、フラッシュメモリ3aに、元データ31a「A」と、メモリダンプデータ32aの差分データ241a「a」とが格納される。このとき、アプリケーション25aは、データを見ることができない。
そして、OS22aが再起動した(S533)後(時刻614)、図12(b)に示すように、メモリダンプデータ32aから差分データ241aを退避領域24aに戻そうとしても、メモリダンプデータ32a中の差分データ241aを他のデータと区別する手段がないため、退避処理部222aは、差分データ241aを退避領域24aに戻すことができない。
従って、時刻614におけるデータの状態は、時刻613と変わらず、アプリケーション25aは、元データ31a「A」しか読み取ることができない。
このように、書込み回数が有限回であるフラッシュメモリ3aなどにおける書込み回数を制限するため、更新時に差分データ241aを主記憶装置2aの退避領域24aに格納する方法では、OS22aの障害時にメモリダンプを行っても、更新データを復活させることは困難である。
(効果)
本実施形態によれば、更新後のデータ(データ本体236)に検索可能な識別子232を付加した状態で主記憶装置2aの複写領域23に格納し、OS22の障害発生時にメモリダンプ機能を利用してこの複写領域23をフラッシュメモリ3にコピーすることによって、再起動時に識別子232を検索することによって、データを復活させることが可能となる。
本実施形態では、補助記憶装置としてフラッシュメモリ3を用いたが、これに限らず、例えば、SD(Secure Digital)メモリカードなど補助記憶装置として使用可能な不揮発性半導体メモリや、HDDや、FD(Flexible Disk)などの磁気記憶装置や、CD‐R(Compact Disk Recordable)や、DVD(Digital Versatile Disk)などの光学記憶媒体でもよい。
本実施形態に係るデータ復旧装置の構成例を示すブロック図である。 本実施形態に係るデータの構成例を示す図であり、(a)は、更新後データと、差分データと、元データの関係を示す模式図であり、(b)は、保持データの構成例を示す図である。 本実施形態に係るアプリケーションによるデータ更新時の処理の概略を示す図である(その1)。 本実施形態に係るアプリケーションによるデータ更新時の処理の概略を示す図である(その2)。 本実施形態に係るアプリケーションによるデータ更新時の処理の流れを示すフローチャートである。 本実施形態に係るOS障害発生時の処理の概略を示す図である。 本実施形態に係るOSの再起動時における処理の概略を示す図である。 本実施形態に係る再起動時の処理の流れを示すフローチャートである。 本実施形態に係るデータ復旧処理の流れを示すシーケンス図である。 各時刻におけるデータの状態を示す表である。 比較例に係る通常時のシャットダウン時におけるデータ復旧処理の概略を示す図である。 比較例における通常時のシャットダウン時の処理の流れと、データの状態を示す図であり、(a)は、シーケンス図を示し、(b)は、各時刻におけるデータの状態を示す表である。 比較例に係るOSの障害発生時の処理を示す概略図である。 比較例に係るOS障害発生時の処理の流れと、データの状態を示す図であり、(a)は、シーケンス図を示し、(b)は、各時刻におけるデータの状態を示す表である。
符号の説明
1 データ復旧装置
2 主記憶装置
3 フラッシュメモリ(不揮発性半導体メモリ)
4 CPU
21 データ復旧処理部
23,23’ 複写領域
24,24’ 退避領域
25 アプリケーション
31 元データ
32 メモリダンプデータ
211 データ抽出部
212 データ複写部
213 データ更新監視部
214 退避処理部
221 メモリダンプ部
222 退避処理部
231,231’ 保持データ
232,232’ 識別子
233 検索コード
234 データ名
235 サイズ
236 データ本体
241,241’ 差分データ

Claims (9)

  1. 不揮発性半導体メモリが補助記憶装置として接続されており、作業時には、前記不揮発性半導体メモリのデータを主記憶装置へ呼び出し、前記主記憶装置を作業領域とし、作業終了時に、前記主記憶装置のデータを前記不揮発性半導体メモリへ格納することによって、前記不揮発性半導体メモリのデータを更新する機能と、オペレーティングシステムの障害が発生した際に、前記主記憶装置のデータを前記不揮発性半導体メモリにコピーするメモリダンプ機能を有するデータ復旧装置におけるデータ復旧方法であって、
    前記データ復旧装置のデータ復旧処理部は、
    前記作業により生成される更新内容のデータに識別子を付加して、前記主記憶装置の所定の領域へ格納し、
    前記オペレーティングシステムの再起動を検知すると、
    前記識別子を基に、前記メモリダンプ機能において前記不揮発性半導体メモリにコピーした前記更新内容のデータを検出し、前記検出したデータを前記主記憶装置へ格納することを特徴とするデータ復旧方法。
  2. 前記不揮発性半導体メモリは、フラッシュメモリであることを特徴とする請求項1に記載のデータ復旧方法。
  3. 前記主記憶装置には、前記不揮発性半導体メモリに格納されているデータと、作業によって更新されたデータとの差分データが記憶されており、前記識別子が付加されている更新内容のデータは、前記不揮発性半導体メモリのデータと、前記差分データとを合わせた内容のデータであることを特徴とする請求項1に記載のデータ復旧方法。
  4. 前記識別子には、前記メモリダンプ機能によって前記不揮発性半導体メモリにコピーされたデータを検索するための検索コード、データ名およびデータサイズのうち、少なくとも1つが記載されることを特徴とする請求項1に記載のデータ復旧方法。
  5. 補助記憶装置が接続されており、作業時には、前記補助記憶装置のデータを主記憶装置へ呼び出し、前記主記憶装置を作業領域とし、作業終了時に、前記主記憶装置のデータを前記補助記憶装置へ格納することによって、前記補助記憶装置のデータを更新する機能と、オペレーティングシステムの障害が発生した際に、前記主記憶装置のデータを前記補助記憶装置にコピーするメモリダンプ機能を有するデータ復旧装置におけるデータ復旧方法であって、
    前記データ復旧装置のデータ復旧処理部は、
    前記作業により生成される更新内容のデータに識別子を付加して、前記主記憶装置の所定の領域へ格納し、
    前記オペレーティングシステムの再起動を検知すると、
    前記識別子を基に、前記メモリダンプ機能において前記補助記憶装置にコピーした前記更新内容のデータを検出し、前記検出したデータを前記主記憶装置へ格納することを特徴とするデータ復旧方法。
  6. 前記主記憶装置には、前記補助記憶装置に格納されているデータと、作業によって更新されたデータとの差分データが記憶されており、前記識別子が付加されている更新内容のデータは、前記補助記憶装置のデータと、前記差分データとを合わせた内容のデータであることを特徴とする請求項5に記載のデータ復旧方法。
  7. 前記識別子には、前記メモリダンプ機能によって前記補助記憶装置にコピーされたデータを検索するための検索コード、データ名およびデータサイズのうち、少なくとも1つが記載されることを特徴とする請求項5に記載のデータ復旧方法。
  8. 請求項1から請求項7のいずれか一項に記載のデータ復旧方法をコンピュータに実行させることを特徴とするプログラム。
  9. 不揮発性半導体メモリが補助記憶装置として接続されており、作業時には、前記不揮発性半導体メモリのデータを主記憶装置へ呼び出し、前記主記憶装置を作業領域とし、作業終了時に、前記主記憶装置のデータを前記不揮発性半導体メモリへ格納することによって、前記不揮発性半導体メモリのデータを更新する機能と、オペレーティングシステムの障害が発生した際に、前記主記憶装置のデータを前記不揮発性半導体メモリにコピーするメモリダンプ機能を有するデータ復旧装置であって、
    前記作業により生成される更新内容のデータに識別子を付加して、前記主記憶装置の所定の領域へ格納するデータ複写部、
    前記オペレーティングシステムの再起動を検知すると、前記識別子を基に、前記メモリダンプ機能において前記不揮発性半導体メモリにコピーした前記更新内容のデータを検出し、前記検出したデータを前記主記憶装置へ格納するデータ抽出部とを有することを特徴とするデータ復旧装置。
JP2008117605A 2008-04-28 2008-04-28 データ復旧方法、プログラムおよびデータ復旧装置 Pending JP2009266115A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008117605A JP2009266115A (ja) 2008-04-28 2008-04-28 データ復旧方法、プログラムおよびデータ復旧装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008117605A JP2009266115A (ja) 2008-04-28 2008-04-28 データ復旧方法、プログラムおよびデータ復旧装置

Publications (1)

Publication Number Publication Date
JP2009266115A true JP2009266115A (ja) 2009-11-12

Family

ID=41391848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008117605A Pending JP2009266115A (ja) 2008-04-28 2008-04-28 データ復旧方法、プログラムおよびデータ復旧装置

Country Status (1)

Country Link
JP (1) JP2009266115A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0285938A (ja) * 1988-09-22 1990-03-27 Hitachi Ltd メモリダンプ方式
JPH03278247A (ja) * 1990-03-28 1991-12-09 Fuji Xerox Co Ltd ハイパーメディアシステム
JP2002236623A (ja) * 2001-02-07 2002-08-23 Canon Inc 情報処理システム、および、情報処理方法
JP2007323488A (ja) * 2006-06-02 2007-12-13 Seiko Epson Corp データ格納装置及びデータアクセス方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0285938A (ja) * 1988-09-22 1990-03-27 Hitachi Ltd メモリダンプ方式
JPH03278247A (ja) * 1990-03-28 1991-12-09 Fuji Xerox Co Ltd ハイパーメディアシステム
JP2002236623A (ja) * 2001-02-07 2002-08-23 Canon Inc 情報処理システム、および、情報処理方法
JP2007323488A (ja) * 2006-06-02 2007-12-13 Seiko Epson Corp データ格納装置及びデータアクセス方法

Similar Documents

Publication Publication Date Title
KR101636870B1 (ko) 최소 부트 이미지의 생성 방법 및 장치
US7702952B2 (en) Firmware update for consumer electronic device
US20070055969A1 (en) System and method for updating firmware
US20120159078A1 (en) Protecting Data During Different Connectivity States
US7222143B2 (en) Safely restoring previously un-backed up data during system restore of a failing system
JP2005025750A (ja) トランザクションの整合性を保つ書き込み時コピーのデータベース
JP4940599B2 (ja) 情報処理装置、情報処理装置制御プログラム、情報処理装置制御方法
JP2009064263A (ja) メモリ装置
JP2006519444A (ja) フラッシュメモリーのデータ管理方法
JP6281511B2 (ja) バックアップ制御装置、バックアップ制御方法、及び、プログラム
JP2005050073A (ja) データ復旧方法およびデータ記録装置
JP2008191701A (ja) エラー回復処理方法および情報処理装置
JP2009048557A (ja) データ更新装置及びデータ更新方法及びデータ更新プログラム
JP2007052520A (ja) 情報処理装置および方法、並びにプログラム
JP2005352535A (ja) データを保護する方法
JP2009266115A (ja) データ復旧方法、プログラムおよびデータ復旧装置
JP2004362221A (ja) ハードディスクバックアップリカバリーシステム、およびハードディスクバックアップリカバリー方法、および情報処理装置
US20180349227A1 (en) Techniques for performing incremental data backups
JP2010009553A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
CN112269531B (zh) 一种源卷缩容方法、装置、设备及介质
JP2013250603A (ja) メモリ管理装置および方法、並びにプログラム
JP6160688B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2006270514A (ja) 画像処理装置およびクライアント装置
JP5180578B2 (ja) 業務継続システム
JP2007164392A (ja) 計算機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100601

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120731

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121001

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121113