説明

記憶装置、データ処理方法およびデータ処理プログラム

【課題】復電処理中に停電が発生した場合に、キャッシュデータのロストを精度よく防止することを課題とする。
【解決手段】復電処理内のイレース実行中に停電が発生した場合には、イレースを中断させる。そして、イレースが中断されるまでの間にフラッシュメモリ230から消去されたバックアップデータに対応するキャッシュメモリ220内のデータを、イレースにより消去されなかったバックアップデータが書き込まれているフラッシュメモリ230内の最終ブロックの次ブロックからリード転送(再バックアップ)する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、記憶装置、データ処理方法およびデータ処理プログラムに関する。
【背景技術】
【0002】
従来より、記憶装置において、電力の供給が絶たれている状態のときに、データをバックアップする技術が提案されている(例えば、特許文献1参照)。
【0003】
また、複数の記憶装置で構成されるRAID装置(Redundant Arrays of Inexpensive (もしくはIndependent) Disks)には、停電発生時のデータ保全を目的とした停電処理および復電処理というものが存在する。停電処理は、停電発生時にキャッシュデータをフラッシュメモリへバックアップする処理である。復電処理は、フラッシュメモリにバックアップしたデータをキャッシュにリストアする処理である。
【0004】
停電処理および復電処理について、以下に簡単に説明する。停電が発生すると、RAID装置の制御部は、コンデンサ(スーパーキャパシタ)に充電される電力によって、キャッシュデータをフラッシュメモリへバックアップする停電処理を実行する(停電処理)。そして、停電が復旧して復電されると、RAID装置の制御部は、フラッシュメモリにバックアップしたデータをキャッシュにリストアする(復電処理)。さらに、電力が豊富にある復電処理の中で、フラッシュメモリ内の全データブロックについてデータを消去する処理(イレース処理)を実行する。
【0005】
また、復電処理中に、停電が発生した場合には、イレース処理後に停電処理を実施する必要があるが、コンデンサで充電されている電力だけでは、イレース処理完了後に停電処理を実施することは難しく、キャッシュデータのロストに繋がってしまう。そこで、例えば、図8に示すように、RAID装置を二つの制御部(CPU)が分散配置された冗長構成として、一方のコントローラによる復電処理の完了後に、もう一方のコントローラにより復電処理を実施することで対応する技術も提案されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第4131116号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、RAID装置内に二つの制御部を用意して、復電処理中に発生した停電に対処する技術では、単一の制御部を備えたRAID装置には適用できないので、キャッシュデータのロストを防止できない。
【0008】
また、RAID装置内の制御部を冗長化しても、コンデンサ(スーパーキャパシタ)に充電される電力が、イレース処理完了後に停電処理を実施するのに必ずしも十分であるとはいえない。このようなことから、キャッシュデータのロストを防止できない場合が考えられる。
【0009】
開示の技術は、上記に鑑みてなされたものであって、復電処理中に停電が発生した場合に、キャッシュデータのロストを精度よく防止することが可能な記憶装置、データ処理方法およびデータ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本願の開示する技術は、一つの態様において、停電発生時に、第1の記憶部に記憶されているデータを第2の記憶部が有するデータブロックに書き込んでバックアップする停電処理部と、停電からの復帰に伴って、前記第2の記憶部内のバックアップデータを前記第1の記憶部にリストアするとともに、前記第2の記憶部が有するデータブロックの先頭から最後までに渡って消去処理を実行する復電処理部と、前記復電処理部による前記消去処理の実行中に停電が発生した場合に、前記消去処理を中断させる消去処理中断部と、前記消去処理中断部により前記消去処理が中断されるまでの間に前記第2の記憶部から消去されたバックアップデータに対応する第1の記憶部内のデータを、前記消去処理により消去されなかったバックアップデータが書き込まれている前記第2の記憶部内の最終ブロックの次ブロックから書き込んで再バックアップする再バックアップ処理部とを有する。
【発明の効果】
【0011】
本願の開示する技術の一つの態様によれば、復電処理中に停電が発生した場合に、キャッシュデータのロストを精度よく防止できる。
【図面の簡単な説明】
【0012】
【図1】図1は、実施例1に係る記憶装置の構成を示す図である。
【図2】図2は、実施例1に係る記憶装置による処理の流れを示す図である。
【図3】図3は、実施例1に係る記憶装置による処理を説明するための図である。
【図4】図4は、実施例1に係る記憶装置による処理の流れを示す図である。
【図5】図5は、実施例1に係る記憶装置による処理を説明するための図である。
【図6】図6は、実施例2に係る記憶装置による処理を説明するための図である。
【図7】図7は、実施例2に係るデータ処理プログラムを実行するコンピュータを示す図である。
【図8】図8は、従来技術を説明するための図である。
【発明を実施するための形態】
【0013】
以下に、図面を参照しつつ、本願の開示する記憶装置、データ処理方法およびデータ処理プログラムの一実施形態について詳細に説明する。なお、記憶装置、データ処理方法およびデータ処理プログラムの一実施形態として後述する実施例1により、本願が開示する技術が限定されるものではない。
【実施例1】
【0014】
実施例1に係る記憶装置は、停電発生時に、キャッシュメモリに記憶されているデータをフラッシュメモリが有するデータブロックに書き込んでバックアップする停電処理を実行する。さらに、停電からの復帰に伴って、フラッシュメモリ内のバックアップデータをキャッシュメモリにリストアするとともに、フラッシュメモリが有するデータブロックの先頭から最後までに渡ってイレースする復電処理を実行する。実施例1に係る記憶装置は、停電処理および復電処理により、電力の供給が絶たれている状態のときに、装置内のデータをバックアップすることを概要とする。
【0015】
そして、実施例1に係る記憶装置の骨子は、以下に説明する点にある。すなわち、復電処理内のイレース実行中に停電が発生した場合には、イレースを中断させる。そして、イレースが中断されるまでの間にフラッシュメモリから消去されたバックアップデータに対応するキャッシュメモリ内のデータを、イレースにより消去されなかったバックアップデータが書き込まれているフラッシュメモリ内の最終ブロックの次ブロックから書き込んで再バックアップする。以下、実施例1に係る記憶装置について具体的に説明する。
【0016】
[記憶装置の構成(実施例1)]
図1は、実施例1に係る記憶装置の構成を示す図である。なお、同図には、実施例1に係る記憶装置を説明する上で必要となる処理機能部のみを図示している。
【0017】
同図に示すように、実施例1に係る記憶装置200は、ホストコンピュータ100と通信可能な状態に接続される。そして、記憶装置200は、入出力制御部210と、キャッシュメモリ220と、フラッシュメモリ230と、制御部240とを有する。
【0018】
入出力制御部210は、ホストコンピュータ100との間でやり取りされる各種情報の入出力を制御する。例えば、入出力制御部210は、ホストコンピュータ100から送信されたデータ処理要求の入力を制御する。
【0019】
キャッシュメモリ220は、制御部240による処理において使用される頻度の高いデータを蓄え、制御部240からの高速なデータの読出しを可能とする。フラッシュメモリ230は、キャッシュメモリ220に蓄えられているデータをバックアップする。
【0020】
制御部240は、所定の制御プログラム、各種の処理手順などを規定したプログラムおよび所要データをキャッシュメモリ220から読込んで、記憶装置200の制御やデータの演算、加工等の種々の処理を実行する。そして、制御部240は、図1に示すように、レジスタ241、停電処理部242、復電処理部243およびライト転送処理部244を有する。
【0021】
レジスタ241は、停電処理部242、復電処理部243およびライト転送処理部244による処理に必要なデータを記憶する。例えば、レジスタ241は、フラッシュメモリ230内のリード転送(リストア)完了アドレス(RD#_PNT)の設定を復電処理部243から受け付けて記憶する。
【0022】
また、レジスタ241は、復電処理部243によるイレース処理中に停電が発生した場合に、イレース処理を中断させるためのビット情報の設定を復電処理部243から受け付けて記憶する。
【0023】
また、レジスタ241は、復電処理部243によるイレース処理中が中断された場合に、フラッシュメモリ230内のイレース処理完了位置を示すイレース完了アドレス(ERS#_PNT)の設定を復電処理部243から受け付けて記憶する。
【0024】
また、レジスタ241は、フラッシュメモリ230からイレースされてしまったデータを再バックアップするライト転送処理用のディスクリプタの設定を復電処理部243から受け付けて記憶する。例えば、ライト転送処理用のディスクリプタは、フラッシュメモリ230内のライト転送開始アドレス(WT#_FLA)と、フラッシュメモリ230への転送サイズ(イレースされてしまったデータブロック分)とを含む。
【0025】
また、レジスタ241は、ライト転送処理開始時に、ライト転送処理部244から設定されるビット情報(例えば、「1」)を記憶する。
【0026】
停電処理部242は、停電発生時に、キャッシュメモリに記憶されているデータをフラッシュメモリが有するデータブロックに書き込んでバックアップする停電処理を実行する。
【0027】
復電処理部243は、停電からの復帰に伴って、フラッシュメモリ230内のバックアップデータをキャッシュメモリ220にリストアするとともに、フラッシュメモリ230が有するデータブロックの先頭から最後までに渡ってイレースする復電処理を実行する。
【0028】
また、復電処理部243は、復電処理内のイレース処理実行中に停電が発生した場合に、イレース処理を中断して、イレース処理により消去されたデータを再度バックアップ(ライト転送)するためのディスクリプタを生成して、レジスタ241に設定する。
【0029】
そして、復電処理部243は、ライト転送処理部244によるライト転送が完了すると、再復電処理を実行する。なお、復電処理部243による具体的な処理内容については、後述する記憶装置200の処理の流れ(図2〜図5等)の中で説明する。
【0030】
ライト転送処理部244は、復電処理部243によりレジスタ241に設定されたライト転送用のディスクリプタに基づいて、イレース処理で消去されたデータをキャッシュメモリ220からフラッシュメモリ230に再度バックアップ(ライト転送)する。
【0031】
また、プログラムAおよびプログラムBは、非特権モードで動作し、互いに異なる物理アドレス領域に対応付けられた仮想アドレス空間を有する。共有メモリは、プログラムAおよびプログラムBが有する各仮想アドレス空間の一部が対応付けられた同一の物理アドレス領域である。
【0032】
[記憶装置の処理(実施例1)]
以下、図を参照しつつ、実施例1に係る記憶装置による処理を説明する。図2は、実施例1に係る記憶装置による処理の流れを示す図である。図3は、実施例1に係る記憶装置による処理を説明するための図である。図4は、実施例1に係る記憶装置による処理を説明するための図である。図5は、実施例1に係る記憶装置による処理を説明するための図である。
【0033】
[イレース処理中断、ライト転送処理]
まず、図2および図3を用いて、実施例1に係るイレース中断、ライト転送処理の流れを説明する。図2に示すように、停電からの復帰に伴い、フラッシュメモリ230からキャッシュメモリ220へのバックアップデータのリストア(リード転送)が完了すると(ステップS1肯定)、復電処理部243は、フラッシュメモリ230のイレース処理を開始する(ステップS2)。
【0034】
そして、復電処理部243は、イレース処理中における停電の発生を監視する(ステップS3)。停電の発生を確認すると(ステップS3肯定)、復電処理部243は、イレース処理を中断させるためのビット情報をレジスタ241に設定して、イレース処理を中断する(ステップS4)。この時、復電処理部243は、停電発生中にイレース処理中であったフラッシュメモリ230内のデータブロックのイレースを完了させる。そして、図3に示すように、フラッシュメモリ230内のイレース処理完了位置を示すイレース完了アドレス(ERS#_PNT)をレジスタ241に設定する。
【0035】
イレース処理の中断後、復電処理部243は、ライト転送用のディスクリプタを生成する(ステップS5)。例えば、図3に示すように、復電処理部243は、リード転送(リストア)完了アドレス(RD#_PNT)をライト転送開始アドレス(WT#_FLA)とする。すなわち、イレースにより消去されなかったバックアップデータが書き込まれているフラッシュメモリ230内の最終ブロックの次ブロックからライト転送を開始させる。
【0036】
さらに、復電処理部243は、図3に示すように、イレース完了アドレス(ERS#_PNT)に基づいて、フラッシュメモリ230からイレースされたデータブロック分に相当する転送サイズを算出する。なお、データの読み書きに不具合を及ぼす不良ブロックがある場合には、不良ブロック分を加味して転送サイズを算出してもよい。不良ブロックの情報は、図3に示す「BLKL」に格納されている。
【0037】
そして、復電処理部243は、フラッシュメモリ230内のライト転送開始アドレス(WT#_FLA)と、フラッシュメモリ230への転送サイズ(イレースされてしまったデータブロック分)とを含むライト転送用のディスクリプタを生成する。
【0038】
復電処理部243は、生成したライト転送用のディスクリプタをレジスタ241に設定する(ステップS6)。
【0039】
ライト転送処理部244は、復電処理部243によりレジスタ241に設定されたライト転送用のディスクリプタに基づいて、イレース処理で消去されたデータをキャッシュメモリ220からフラッシュメモリ230に再度バックアップするためのライト転送を実行する(ステップS7)。
【0040】
ここで、ステップS3の説明に戻ると、イレース処理中に停電の発生を確認できなかった場合には(ステップS3否定)、復電処理部243は、イレース処理の完了とともに処理を終了する。
【0041】
復電処理部243は、ライト転送処理部244によるライト転送が完了すると、再復電処理(図4および図5参照)を実行して(ステップS8)、処理を終了する。
【0042】
[再復電処理]
続いて、図4および図5を用いて、ライト転送処理完了後の再復電処理の流れを説明する。図4に示すように、復電処理部243は、ライト転送処理部244によるライト転送が完了すると、イレース処理に伴ってライト転送された領域a(図5参照)のバックアップデータからリード転送処理を実行する(ステップS1)。なお、復電処理部243は、ライト転送処理部244によるライト転送によって、キャッシュメモリ220から領域aにバックアップされたデータの先頭ブロックのアドレス(RCV#_FLA(1度目))を記憶しており、この領域aの先頭ブロックのアドレスおよび領域aのサイズに従ってリード転送処理を実行する。
【0043】
そして、復電処理部243は、領域aのリード転送完了を待機して(ステップS2)、領域aのリード転送が完了すると(ステップS2肯定)、続いて、復電処理部243は、領域bのバックアップデータについてリード転送処理を実行する(ステップS3)。領域bのバックアップデータは、イレース処理が停電に伴って中断されることにより、消去されずに残存したフラッシュメモリ230内のバックアップデータである。なお、復電処理部243は、イレース処理の中断によりフラッシュメモリ230の領域bに残存したデータの先頭ブロックのアドレス(RCV#_FLA(2度目))を記憶しており、この領域bの先頭ブロックのアドレスおよび領域bのサイズに従ってリード転送処理を実行する。
【0044】
そして、復電処理部243は、領域bのリード転送完了を待機して(ステップS4)、領域bのリード転送が完了すると(ステップS4肯定)、フラッシュメモリ230のイレース処理を実行して(ステップS5)、処理を終了する。具体的には、停電発生によりイレースが中断されたフラッシュメモリ230のアドレス(ERS_PNT、図5参照)から、引き続いて、フラッシュメモリ230の全域をイレースする。
【0045】
再復電処理は、領域aの先頭ブロックのアドレス(RCV#_FLA(1度目))および領域aのサイズ、領域bの先頭ブロックのアドレス(RCV#_FLA(2度目))および領域bのサイズに従って、イレース処理に伴ってキャッシュメモリ220からライト転送された領域a、イレース処理が停電に伴って中断されることにより消去されずにフラッシュメモリ230に残存した領域bの順にバックアップデータをリード転送する。このような順序で処理を実行することで、イレース処理中に停電が発生しない場合と同様に、フラッシュメモリ230からキャッシュメモリ220へのリストアを実現する。
【0046】
[実施例1による効果]
上述してきたように、実施例1によれば、復電処理内のイレース実行中に停電が発生した場合には、イレースを中断させる。そして、イレースが中断されるまでの間にフラッシュメモリ230から消去されたバックアップデータに対応するキャッシュメモリ220内のデータを、イレース処理により消去されなかったバックアップデータが書き込まれているフラッシュメモリ230内の最終ブロックの次ブロックからライト転送(再バックアップ)する。
【0047】
このようなことから、単一のコントローラを備えたRAID装置等の記憶装置において、復電処理中に停電が発生した場合に、キャッシュデータのロストを精度よく防止できる。
【0048】
また、イレース処理により消去されなかったバックアップデータが書き込まれているフラッシュメモリ230内の最終ブロックの次ブロックから書き込んで再バックアップするので、フラッシュメモリ230内のライト回数やイレース回数をデータブロック間で平準化できる。このようなことから、フラッシュメモリ230として「NAND FLASH」を採用した場合に、「NAND FLASH」の特性であるライトおよびイレースの回数制限を平準化でき、フラッシュメモリ230を最大限に効率的に利用できる。
【0049】
また、実施例1によれば、イレース処理中に停電が発生しない場合と同様に、フラッシュメモリ230からキャッシュメモリ220へのリストアを実現する。
【実施例2】
【0050】
以下、再復電処理内のイレース処理実行中に停電が発生した場合の処理を説明する。図6は、実施例2に係る記憶装置による処理を説明するための図である。
【0051】
停電からの復帰(復電)に伴い、フラッシュメモリ230からキャッシュメモリ220へバックアップデータのリストア(リード転送)を実行する(図4および図5参照)。リストア(リード転送)が完了すると、復電処理部243は、図6に示す「UCE_FLA」からイレース処理を実行する。「UCE_FLA」は、図5に示す「ERS_PNT」に対応し、レジスタ241に設定される。
【0052】
そして、再復電後のイレース処理中に再び停電が発生した場合は、上記の実施例1と同様に、復電処理部243は、ライト転送処理のディスクリプタを生成し、ライト転送処理部244は、図6に示す「WT#_FLA(2度目)」からライト転送処理を実行する。「WT#_FLA(2度目)」は、図5に示す「バックアップ完了時のWT#_PNT」に対応し、レジスタ241に設定される。
【0053】
ライト転送処理中にフラッシュメモリ230の最終領域まで到達した場合は、復電処理部243は、「BLKL」領域をスキップしてラップアラウンドし、フラッシュメモリ230の先頭領域から継続する。なお、復電処理部243は、「BLKL」領域に書き込まれた領域コード(不良ブロックを格納するデータブロックであることを示す領域コード)に基づいて、「BLKL」領域であることを認識し、ラウンドアップする。
【0054】
ライト転送処理が完了すると、以降は、再復電後の再々復電処理となるが、実施例1と同様である(図4参照)。すなわち、領域a→領域b→領域b−cの順にリード転送(リスト)を実行し、リード転送が完了すると、フラッシュメモリ230のイレース処理を実行して、イレース処理中に停電が発生しなければ、イレース処理の完了をもって処理を終了する。
【0055】
上述してきたように、再復電処理内のイレース処理実行中に停電が発生した場合であっても、キャッシュデータのロストを精度よく防止し、ライトおよびイレースの回数制限を平準化して、フラッシュメモリを最大限に効率的に利用できる。
【実施例3】
【0056】
以下、本願の開示する記憶装置、データ処理方法およびデータ処理プログラムの他の実施形態を説明する。
【0057】
(1)装置構成等
図1に示した記憶装置200の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、記憶装置200の分散・統合の具体的形態は図示のものに限られず、例えば、復電処理部243およびライト転送処理部244を機能的あるいは物理的に統合する。
【0058】
このように、記憶装置200の全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、記憶装置200にて行なわれる各処理機能(図2、図4等参照)は、その全部または任意の一部が、CPU210および当該CPU210にて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0059】
(2)データ処理方法
上記の実施例1で説明した記憶装置200により、以下のようなデータ処理方法が実現される。
【0060】
すなわち、停電発生時に、第1の記憶部に記憶されているデータを第2の記憶部が有するデータブロックに書き込んでバックアップする停電処理ステップと、停電からの復帰に伴って、第2の記憶部内のバックアップデータを第1の記憶部にリストアするとともに、第2の記憶部が有するデータブロックの先頭から最後までに渡って消去処理を実行する復電処理ステップと、復電処理ステップによる消去処理の実行中に停電が発生した場合に、消去処理を中断させる消去処理中断ステップと(例えば、図2のステップS3およびステップS4参照)、消去処理中断ステップにより消去処理が中断されるまでの間に第2の記憶部から消去されたバックアップデータに対応する第1の記憶部内のデータを、消去処理により消去されなかったバックアップデータが書き込まれている第2の記憶部内の最終ブロックの次ブロックから書き込んで再バックアップする再バックアップ処理ステップと(例えば、図2のステップS5〜S7参照)を含んだデータ処理方法が実現される。
【0061】
(3)データ処理プログラム
また、上記の実施例で説明した記憶装置200の各種の処理(例えば、図2、4等参照)は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図7を用いて、上記の実施例で説明した記憶装置200と同様の機能を有するデータ処理プログラムを実行するコンピュータの一例を説明する。図7は、実施例2に係るデータ処理プログラムを実行するコンピュータを示す図である。
【0062】
同図に示すように、記憶装置200としてコンピュータ300は、入出力制御部310、HDD320、RAM330およびCPU340をバス400で接続して構成される。
【0063】
ここで、入出力制御部310は、各種情報の入出力を制御する。HDD320は、CPU340による各種処理の実行に必要な情報を記憶する。RAM330は、各種情報を一時的に記憶する。CPU340は、各種演算処理を実行する。
【0064】
そして、HDD320には、図7に示すように、図1に示した記憶装置200の各処理部と同様の機能を発揮するデータ処理プログラム321と、データ処理用データ322とがあらかじめ記憶されている。なお、このデータ処理プログラム321を適宜分散させて、ネットワークを介して通信可能に接続された他のコンピュータの記憶部に記憶させておくこともできる。
【0065】
そして、CPU340が、このデータ処理プログラム321をHDD320から読み出してRAM330に展開することにより、図7に示すように、データ処理プログラム321はデータ処理プロセス331として機能するようになる。すなわち、データ処理プロセス331は、データ処理用データ322等をHDD320から読み出して、RAM330において自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種処理を実行する。なお、データ処理プロセス331は、図1に示した記憶装置200の制御部240(停電処理部242、復電処理部243およびライト転送処理部244等)において実行される処理に対応する。
【0066】
なお、上記したデータ処理プログラム321については、必ずしも最初からHDD320に記憶させておく必要はなく、例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶させておき、コンピュータ300がこれらから各プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【0067】
200 記憶装置
210 入出力制御部
220 キャッシュメモリ
230 フラッシュメモリ
240 制御部
241 レジスタ
242 停電処理部
243 復電処理部
244 ライト転送処理部
300 コンピュータ
310 入出力制御部
320 HDD(Hard Disk Drive)
321 データ処理プログラム
322 データ処理用データ
330 RAM(Random Access Memory)
331 データ処理プロセス
340 CPU(Central Processing Unit)
400 バス

【特許請求の範囲】
【請求項1】
停電発生時に、第1の記憶部に記憶されているデータを第2の記憶部が有するデータブロックに書き込んでバックアップする停電処理部と、
停電からの復帰に伴って、前記第2の記憶部内のバックアップデータを前記第1の記憶部にリストアするとともに、前記第2の記憶部が有するデータブロックの先頭から最後までに渡って消去処理を実行する復電処理部と、
前記復電処理部による前記消去処理の実行中に停電が発生した場合に、前記消去処理を中断させる消去処理中断部と、
前記消去処理中断部により前記消去処理が中断されるまでの間に前記第2の記憶部から消去されたバックアップデータに対応する第1の記憶部内のデータを、前記消去処理により消去されなかったバックアップデータが書き込まれている前記第2の記憶部内の最終ブロックの次ブロックから書き込んで再バックアップする再バックアップ処理部と
を有することを特徴とする記憶装置。
【請求項2】
前記復電処理部は、前記再バックアップ処理部による再バックアップが完了した後、前記再バックアップ処理部により再バックアップされたバックアップデータから、前記第1の記憶部に順次リストアすることを特徴とする請求項1に記載の記憶装置。
【請求項3】
前記再バックアップされたバックアップデータを含むバックアップデータのリストア後、前記復電処理部による消去処理実行中に停電が発生した場合には、前記消去処理中断部は前記消去処理を中断させ、
前記再バックアップ処理部は、前記消去処理中断部により前記消去処理が中断されるまでの間に前記第2の記憶部から消去されたバックアップデータに対応する第1の記憶部内のデータを、前記消去処理により消去されなかった再バックアップデータが書き込まれている前記第2の記憶部内の最終ブロックの次ブロックから書き込んで再バックアップすることを特徴とする請求項2に記載の記憶装置。
【請求項4】
停電発生時に、第1の記憶部に記憶されているデータを第2の記憶部が有するデータブロックに書き込んでバックアップする停電処理ステップと、
停電からの復帰に伴って、前記第2の記憶部内のバックアップデータを前記第1の記憶部にリストアするとともに、前記第2の記憶部が有するデータブロックの先頭から最後までに渡って消去処理を実行する復電処理ステップと、
前記復電処理ステップによる前記消去処理の実行中に停電が発生した場合に、前記消去処理を中断させる消去処理中断ステップと、
前記消去処理中断ステップにより前記消去処理が中断されるまでの間に前記第2の記憶部から消去されたバックアップデータに対応する第1の記憶部内のデータを、前記消去処理により消去されなかったバックアップデータが書き込まれている前記第2の記憶部内の最終ブロックの次ブロックから書き込んで再バックアップする再バックアップ処理ステップと
を含んだことを特徴とするデータ処理方法。
【請求項5】
停電発生時に、第1の記憶部に記憶されているデータを第2の記憶部が有するデータブロックに書き込んでバックアップする停電処理手順と、
停電からの復帰に伴って、前記第2の記憶部内のバックアップデータを前記第1の記憶部にリストアするとともに、前記第2の記憶部が有するデータブロックの先頭から最後までに渡って消去処理を実行する復電処理手順と、
前記復電処理手順による前記消去処理の実行中に停電が発生した場合に、前記消去処理を中断させる消去処理中断手順と、
前記消去処理中断手順により前記消去処理が中断されるまでの間に前記第2の記憶部から消去されたバックアップデータに対応する第1の記憶部内のデータを、前記消去処理により消去されなかったバックアップデータが書き込まれている前記第2の記憶部内の最終ブロックの次ブロックから書き込んで再バックアップする再バックアップ処理手順と
をコンピュータに実行させることを特徴とするデータ処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2010−277194(P2010−277194A)
【公開日】平成22年12月9日(2010.12.9)
【国際特許分類】
【出願番号】特願2009−126944(P2009−126944)
【出願日】平成21年5月26日(2009.5.26)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】