説明

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

【課題】復電処理中に停電が発生した場合に、キャッシュデータのロストを精度よく防止する。
【解決手段】復電処理におけるフラッシュメモリのイレース実行中に停電が発生した場合には、イレースを停止させる。イレースを停止した時点で、フラッシュメモリが有するテーブル域(制御情報記憶域)の途中までイレースが進んでいる場合には、テーブル域の全域を消去する。テーブル域の全域の消去が完了した後、テーブル域から消去されたデータをキャッシュメモリからフラッシュメモリへ再退避する。また、イレースを停止した時点で、フラッシュメモリが有するキャッシュ域までイレースが進んでいる場合には、フラッシュメモリからイレースされたデータをキャッシュメモリからフラッシュメモリへ直ぐに再退避する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、記憶装置、データ保存方法およびデータ保存プログラムに関する。
【背景技術】
【0002】
従来より、停電などにより電力の供給が遮断されてしまった記憶装置において、例えば、揮発性のメモリに書き込まれているデータの消失を防止する技術が種々提案されている。例えば、停電による電源供給遮断時であっても、コンデンサの放電作用を利用して、揮発性メモリからデータを退避するための電力を得る技術が提案されている。
【0003】
また、データの消失を防止する技術に関連して、例えば、複数の記憶装置で構成されるRAID(Redundant Arrays of Inexpensive Disks)装置などのコンピュータシステムでは、停電の発生に伴うデータ消失を防止するために、停電処理および復電処理が実行される。
【0004】
停電処理とは、停電の発生に伴って、キャッシュメモリ上のデータをフラッシュメモリなどに退避(バックアップ)する処理をいう。復電処理とは、停電からの復帰に伴って、フラッシュメモリ内のバックアップデータをキャッシュメモリにリストアして、停電発生前の状態にシステムを復旧する処理をいう。
【0005】
ここで、図を参照しつつ、停電処理および復電処理について簡単に説明する。なお、図16〜図22は、従来技術を説明するための図である。図16に示すように、従来のコンピュータシステムは、システム内の動作を制御するモジュール「CM」を搭載した筐体「CE」と、複数のDiskを搭載した筐体「DE」とを有する。
【0006】
まず、停電処理について説明すると、「CM」は、停電を検出すると、「SCU(Super Capacitor Unit)」からの電源供給を受けて、キャッシュメモリ内のキャッシュデータをフラッシュメモリに退避し、電源を切断するという手順で停電処理を実行する。
【0007】
図17に示すように、キャッシュメモリ内はシステム域、テーブル域、キャッシュ域に分かれている。テーブル域には、退避データのうち装置制御情報が書き込まれ、キャッシュ域には退避データのうちユーザデータが書き込まれている。フラッシュメモリは、停電発生時に備えて、装置起動時に初期化を実施し、データが書き込まれていない空の状態である。そして、図18および図19に示すように、上述した停電処理が実行されると、キャッシュメモリ内のテーブル域およびキャッシュ域に書き込まれているデータがフラッシュメモリに退避される。なお、システム域は、プログラムが書き込まれる領域であるので退避は不要となる。
【0008】
次に、復電処理について説明すると、「CM」は、停電からの復帰により電源が投入されると、図20および図21に示すように、フラッシュメモリへ退避したキャッシュデータをキャッシュメモリにコピー(リストア)する。キャッシュデータのコピー完了後、「CM」は、図22に示すように、フラッシュメモリの先頭から全域領域を消去するイレース処理を実行するという手順で復電処理を実行する。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開平6−231053号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
ところで、上記した停電処理および復電処理によりデータ消失を防止する技術は、以下のような問題がある。すなわち、復電処理においてフラッシュメモリ上のテーブル域またはキャッシュ域をイレースしているタイミングで再度停電が発生した場合には、まず、フラッシュメモリ上の全領域のイレースを完了させなくてはならない(図23の(1)および(2)参照)。そして、フラッシュメモリのイレース完了後に、続いて、キャッシュメモリ上のデータをフラッシュメモリに退避させることとなる。
【0011】
しかしながら、フラッシュメモリのイレース完了後では、キャッシュメモリからフラッシュメモリへのデータ退避を完了させるのに十分な電力が「SCU」に蓄えられていないケースが考えられる(図23の(3)参照)。このため、フラッシュメモリへのキャッシュデータの退避を完了させることができず、キャッシュメモリ上の最新データ(テーブル域)が消失してしまう場合がある。
【0012】
また、図24の(1)に示すように、冗長構成された「CM」間で、フラッシュメモリのイレース処理のタイミングをずらすようにシーケンスを組むことで、最新データの消失を防止する技術も提案されている。すなわち、一方の「CM」が制御するフラッシュメモリのイレース処理中に停電が発生しても、他方の「CM」が制御するフラッシュメモリで最新データを保持されるので、最新データの消失を防止できる。しかしながら、この技術では、図24の(2)に示すように、「CM」が単一で構成されている場合には、適用できないという問題がある。図23および図24は、従来技術の問題点を説明するための図である。
【0013】
開示の技術は、上記に鑑みてなされたものであって、復電処理中に停電が発生した場合に、キャッシュデータのロストを精度よく防止することが可能な記憶装置、データ保存方法およびデータ保存プログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
本願の開示する技術は、一つの態様において、停電発生時に、第1の記憶部に記憶されているデータを第2の記憶部に退避する停電処理部と、停電からの復帰に伴って、前記第2の記憶部に退避されたデータを前記第1の記憶部にリストアするとともに、前記第2の記憶部に記憶されたデータを消去する消去処理を実行する復電処理部と、前記復電処理部による前記消去処理の実行中に停電が発生した場合には、前記消去処理を停止させる消去処理停止部と、前記消去処理停止部により前記消去処理が停止された時点で、前記第2の記憶部が有する制御情報記憶域の途中まで前記消去処理が進んでいる場合には、前記制御情報記憶域の全域を消去する制御情報記憶域消去部と、前記制御情報記憶域消去部による前記制御情報記憶域の全域の消去が完了した後、前記制御情報記憶域から消去されたデータを前記第1の記憶部から前記第2の記憶部へ再退避する再退避実行部とを有することを特徴とする。
【発明の効果】
【0015】
本願の開示する技術の一つの態様によれば、復電処理中に停電が発生した場合に、キャッシュデータのロストを精度よく防止できる。
【図面の簡単な説明】
【0016】
【図1】図1は、実施例1に係る記憶装置の構成を示す図である。
【図2】図2は、実施例1に係る制御情報管理テーブルで管理される情報を説明するための図である。
【図3】図3は、実施例1に係る記憶装置による処理の流れを示す図である。
【図4】図4は、実施例1に係る記憶装置による処理の流れを示す図である。
【図5】図5は、実施例1に係る記憶装置による処理の流れを示す図である。
【図6】図6は、実施例1に係る記憶装置による処理を説明するための図である。
【図7】図7は、実施例1に係る記憶装置による処理を説明するための図である。
【図8】図8は、実施例1に係る記憶装置による処理を説明するための図である。
【図9】図9は、実施例1に係る記憶装置による処理を説明するための図である。
【図10】図10は、実施例1に係る記憶装置による処理を説明するための図である。
【図11】図11は、実施例1に係る記憶装置による処理を説明するための図である。
【図12】図12は、実施例1に係る記憶装置による処理を説明するための図である。
【図13】図13は、実施例1に係る記憶装置による処理を説明するための図である。
【図14】図14は、実施例2に係る予備ブロックを説明するための図である。
【図15】図15は、データ保存プログラムを実行するコンピュータを示す図である。
【図16】図16は、従来技術を説明するための図である。
【図17】図17は、従来技術を説明するための図である。
【図18】図18は、従来技術を説明するための図である。
【図19】図19は、従来技術を説明するための図である。
【図20】図20は、従来技術を説明するための図である。
【図21】図21は、従来技術を説明するための図である。
【図22】図22は、従来技術を説明するための図である。
【図23】図23は、従来技術の問題点を説明するための図である。
【図24】図24は、従来技術の問題点を説明するための図である。
【発明を実施するための形態】
【0017】
以下に、図面を参照しつつ、本願の開示する記憶装置、データ保存方法およびデータ保存プログラムの一実施形態について詳細に説明する。なお、記憶装置、データ保存方法およびデータ保存プログラムの一実施形態として後述する実施例により、本願が開示する技術が限定されるものではない。
【実施例1】
【0018】
実施例1に係る記憶装置は、キャッシュメモリ内のキャッシュデータをフラッシュメモリに退避する停電処理を行う。また、停電からの復帰に伴って、フラッシュメモリへ退避したキャッシュデータをキャッシュメモリにコピー(リストア)し、フラッシュメモリの全領域をイレースする復電処理を行う。これらの停電処理および復電処理によって、揮発性のメモリに書き込まれているデータの消失を防止することを概要とする。
【0019】
そして、実施例1に係る記憶装置の骨子は、以下に説明する点にある。すなわち、復電処理におけるフラッシュメモリのイレース実行中に停電が発生した場合には、イレースを停止させる。イレースを停止した時点で、フラッシュメモリが有するテーブル域の途中までイレースが進んでいる場合には、テーブル域の全域を消去する。テーブル域の全域の消去が完了した後、テーブル域から消去されたデータをキャッシュメモリからフラッシュメモリへ再退避する。
【0020】
また、イレースを停止した時点で、フラッシュメモリが有するキャッシュ域までイレースが進んでいる場合には、フラッシュメモリからイレースされたデータをキャッシュメモリからフラッシュメモリへ直ぐに再退避する。以下、実施例1に係る記憶装置について具体的に説明する。
【0021】
[記憶装置の構成(実施例1)]
図1は、実施例1に係る記憶装置の構成を示す図である。同図に示すように、実施例1に係る記憶装置200は、複数のディスク210および管理モジュール部220を有する。
【0022】
管理モジュール部220は、図1に示すように、キャッシュメモリ221と、フラッシュメモリ222と、制御情報管理テーブル223と、制御情報管理部224と、イレース処理管理部225と、FPGA226とを有する。
【0023】
キャッシュメモリ221は、管理モジュール部220の処理において使用される頻度の高いデータを蓄え、高速なデータの読出しを可能とする。フラッシュメモリ222は、キャッシュメモリ221から退避されたキャッシュデータを保持する。
【0024】
制御情報管理テーブル223は、フラッシュメモリ222のイレース処理に必要な情報を管理する。例えば、フラッシュメモリ222が有するテーブル域のサイズ(図2の(1)参照)、キャッシュ域のサイズ(図2の(2)参照)、テーブル域の先頭ブロックのアドレス(図2の(3)参照)を管理する。図2は、実施例1に係る制御情報管理テーブルで管理される情報を説明するための図である。
【0025】
制御情報管理部224は、フラッシュメモリ222のイレース処理時に、フラッシュメモリ222のどの領域までイレースを完了しているか、イレースの進行状況を管理する。
【0026】
イレース処理管理部225は、FPGA226へ指示を送出して、フラッシュメモリ222のイレースを行わせる。また、イレース処理管理部225は、制御情報管理テーブル223に管理されている情報に基づいて、フラッシュメモリ222のイレース処理を実行および停止を制御する。なお、イレース処理管理部225による具体的な処理内容については、以下に説明する記憶装置200による処理の説明で詳述する。
【0027】
FPGA(Field Programmable Gate Array)226は、停電処理におけるフラッシュメモリ222へのキャッシュデータの退避を実行する。また、復電処理におけるフラッシュメモリ222に退避されたデータのキャッシュメモリ221へのコピー(リストア)、フラッシュメモリ222の全域のイレースを実行する。
【0028】
そして、FPGA226は、図1に示すように、アドレス情報管理部226aおよびイレース処理部226bを有する。アドレス情報管理部226aは、フラッシュメモリ222のイレース処理時のアドレスを管理する。
【0029】
イレース処理部226bは、フラッシュメモリ222のイレースを実行する。なお、イレース処理部226bによる具体的な処理内容については、以下に説明する記憶装置200による処理の説明で詳述する。
【0030】
[記憶装置の処理(実施例1)]
以下では、記憶装置200が有する管理モジュール部220(特に、イレース処理管理部225およびFPGA226)による処理の流れを説明する。
【0031】
図3〜図5は、実施例1に係る記憶装置による処理の流れを示す図である。図6〜図13は、実施例1に係る記憶装置による処理を説明するための図である。
【0032】
[イレース処理管理部225による処理]
まず、図3を参照しつつ、イレース処理管理部225による処理の流れを説明する。同図に示すように、イレース処理管理部225は、キャッシュメモリ221へのキャッシュデータのコピー(リストア)を完了すると、イレース処理部226bにイレース処理の実行指示を送出する(ステップS1)。
【0033】
図6および図7に示すように、FPGA226によるイレース処理が停電の発生により停止すると、イレース処理管理部225は、イレース停止時にイレース処理が実行されていたフラッシュメモリのアドレスをFPGA226から取得する(ステップS2)。
【0034】
さらに、イレース処理管理部225は、制御情報管理テーブル223から管理情報(テーブル域の先頭ブロックアドレス、テーブル域のサイズ等)を取得して、FPGA226から取得したアドレスと比較する。そして、イレース処理管理部225は、停電の発生により停止したイレース処理が、全テーブル域について完了しているか否かを判定する(ステップS3)。
【0035】
判定の結果、フラッシュメモリ222の全テーブル域のイレースが完了していない場合には(ステップS3否定)、イレース処理管理部225は、全テーブル域をイレースするように、イレース処理の実行指示をFPGA226へ送出する(ステップS4)。フラッシュメモリ222の全テーブル域のイレースが完了後、イレース処理管理部225は、フラッシュメモリ222からイレースされたデータに対応するデータをキャッシュメモリ221から直ぐに退避させるように、再退避指示をFPGA226へ送出する(ステップS5)。
【0036】
これとは反対にフラッシュメモリ222の全テーブル域のイレースが完了している場合には(ステップS3肯定)、図11および図12に示すように、停電の発生により停止したイレース処理はキャッシュ領域をイレース中であるため、イレース処理管理部225は、上述したステップS5と同様に、フラッシュメモリ222からイレースされたデータに対応するデータをキャッシュメモリ221から直ぐに退避させるように、再退避指示をFPGA226へ送出する(ステップS5)。
【0037】
なお、FPGA226によるキャッシュデータの再退避が完了した後に、停電から復帰した場合には、管理モジュール部220は、通常の復電処理を実行する。すなわち、図10に示すように、フラッシュメモリ222へ退避したキャッシュデータをキャッシュメモリ221にコピー(リストア)し、フラッシュメモリ222の全領域をイレースする。
【0038】
[FPGA226による処理]
次に、図4および図5等を参照しつつ、FPGA226(特に、イレース処理部226b)による処理の流れを説明する。まず、図4を用いて、フラッシュメモリ222の全テーブル域のデータをイレースする場合の処理の流れを説明する。FPGA226は、イレース処理管理部225からイレース処理の実行指示を受け付けると(ステップS1)、フラッシュメモリ222のイレース処理を実行する(ステップS2)。
【0039】
そして、停電が発生すると、FPGA226は、実行中であるフラッシュメモリ222のイレース処理を停止する(ステップS3)。そして、FPGA226は、イレース処理管理部225から、フラッシュメモリ222の全テーブル域についてのイレース処理の実行指示を受け付けると(ステップS4)、図8に示すように、フラッシュメモリ222の全テーブル域のイレース処理を実行する(ステップS5)。全テーブル域のイレースが完了すると、FPGA226は、図9に示すように、フラッシュメモリ222からイレースした全テーブル域のデータに対応するデータを、キャッシュメモリ221から再退避して(ステップS6)、処理を終了する。
【0040】
続いて、図5を用いて、停止したイレース処理がキャッシュ域まで進んでいる場合の処理の流れを説明する。なお、同図に示すステップS1からステップS3までの処理は、上述した図4に示すステップS1からステップS3までの処理と同様であるので、説明を省略する。
【0041】
FPGA226は、フラッシュメモリ222からイレースされたデータをキャッシュメモリ221から再退避するように、イレース処理管理部225から指示を受け付ける(ステップS4)。そして、FPGA226は、図13に示すように、イレース処理管理部225からの指示に応じて、フラッシュメモリ222からイレースされたデータをキャッシュメモリ221から再退避し(ステップS5)、処理を終了する。
【0042】
なお、以降、停電から復帰した場合には、上述した復電処理(図10)が実行される。
【0043】
[実施例1による効果]
上述してきたように、実施例1によれば、復電処理におけるフラッシュメモリのイレース実行中に停電が発生した場合には、イレースを停止させる。イレースを停止した時点で、フラッシュメモリが有するテーブル域の途中までイレースが進んでいる場合には、テーブル域の全域を消去する。テーブル域の全域の消去が完了した後、テーブル域から消去されたデータをキャッシュメモリからフラッシュメモリへ再退避する。
【0044】
すなわち、フラッシュメモリ222におけるテーブル域のブロック先頭アドレスおよびテーブル域のサイズを制御情報管理テーブル223により管理しておく。そして、テーブル域の途中までイレースが進んでいる場合には、全テーブル域を全削除してから、テーブル域のブロック先頭アドレスおよびテーブル域のサイズの情報を利用して、SCUから供給される電力内で、再度テーブル域のデータのみを迅速に再退避する。
【0045】
なお、データを再退避する前に、フラッシュメモリ222が有するテーブル域の全域をイレースするのは、復電処理によって、キャッシュメモリ221を停電が発生する前の最新の状態に復旧するためである。
【0046】
すなわち、フラッシュメモリ222が有するテーブル域に書き込まれる記憶装置200の制御情報は、復電処理中に更新されることがある。このため、復電処理中の停電の発生に伴い、フラッシュメモリ222のテーブル域のイレースが進んだところまで、キャッシュメモリ221からフラッシュメモリ222へデータを再退避すると、復電処理実行中にキャッシュメモリ側で更新された制御情報の全てがフラッシュメモリへ退避されない事態が発生する。そこで、復電処理のイレース実行中の停電が発生した時点で、フラッシュメモリ222のテーブル域の途中までイレースが進んでいる場合には、一旦、テーブル域の全域をイレースした後に、テーブル域に書き込むべきキャッシュデータを再退避する。
【0047】
イレースを停止した時点で、フラッシュメモリが有するキャッシュ域までイレースが進んでいる場合には、フラッシュメモリ222からイレースされたデータをキャッシュメモリ221からフラッシュメモリ222へ直ぐに再退避する。
【0048】
すなわち、テーブル域のブロック先頭アドレスおよびサイズ、イレース停止時のフラッシュメモリのアドレスから、イレースされたキャッシュ領域のサイズを特定する。そして、SCUから供給される電力内で、フラッシュメモリ222からイレースされたデータ(テーブル域のデータおよびキャッシュ域のデータ)をキャッシュメモリ221からフラッシュメモリ222へ直ぐに再退避する。
【0049】
このようなことから、「CM」が単一で構成されていても、復電処理中に停電が発生した場合に、キャッシュデータを最新の状態に復旧できるとともに、キャッシュデータのロストを精度よく防止できる。
【実施例2】
【0050】
以下、本願の開示する記憶装置、データ保存方法およびデータ保存プログラムの他の実施形態を説明する。
【0051】
(1)予備ブロック
図14に示すように、フラッシュメモリ222に予備ブロックを用意しておいて、フラッシュメモリ222において異常が発生したブロックの代わりに使用するようにしてもよい。キャッシュメモリ221からデータを退避する場合に、異常が発生しているブロックのサイズ分だけ、予備ブロックを使用する。これにより、キャッシュデータの退避をより確実に行えるようにする。なお、同図には示されてはいないが、異常が発生したブロックの情報は、フラッシュメモリ222内の用意された情報格納用のブロックに格納されている。図14は、実施例2に係る予備ブロックを説明するための図である。
【0052】
(2)装置構成等
図1に示した記憶装置200の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、記憶装置200の分散・統合の具体的形態は図示のものに限られず、例えば、制御情報管理テーブル223と、制御情報管理部224と、イレース処理管理部225とを機能的あるいは物理的に統合する。
【0053】
このように、記憶装置200の全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、記憶装置200にて行なわれる各処理機能(図3〜5参照)は、その全部または任意の一部が、例えば、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0054】
(3)データ保存方法
上記の実施例1で説明した記憶装置200により、以下のようなデータ保存方法が実現される。
【0055】
すなわち、停電発生時に、第1の記憶部に記憶されているデータを第2の記憶部に退避する停電処理ステップと、停電からの復帰に伴って、第2の記憶部に退避されたデータを第1の記憶部にリストアするとともに、第2の記憶部に記憶されたデータを消去する消去処理を実行する復電処理ステップと、復電処理ステップによる消去処理の実行中に停電が発生した場合には、消去処理を停止させる消去処理停止ステップと(例えば、図4のステップS3参照)、消去処理停止ステップにより消去処理が停止された時点で、第2の記憶部が有するテーブル域(制御情報記憶域)の途中まで消去処理が進んでいる場合には、テーブル域の全域を消去するテーブル域消去ステップと(例えば、図4のステップS4およびS5参照)、テーブル域消去ステップによるテーブル域の全域の消去が完了した後、テーブル域から消去されたデータを第1の記憶部から前記第2の記憶部へ再退避する再退避実行ステップと(例えば、図4のステップS6参照)を含んだデータ保存方法が実現される。
【0056】
(4)データ保存プログラム
また、上記の実施例で説明した記憶装置200の各種の処理(例えば、図3〜図5等参照)は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図15を用いて、上記の実施例で説明した記憶装置200と同様の機能を有するデータ保存プログラムを実行するコンピュータの一例を説明する。図15は、データ保存プログラムを実行するコンピュータを示す図である。
【0057】
同図に示すように、記憶装置200としてコンピュータ300は、入出力制御部310、HDD320、RAM330およびCPU340をバス400で接続して構成される。
【0058】
ここで、入出力制御部310は、各種情報の入出力を制御する。HDD320は、CPU340による各種処理の実行に必要な情報を記憶する。RAM330は、各種情報を一時的に記憶する。CPU340は、各種演算処理を実行する。
【0059】
そして、HDD320には、図15に示すように、図1に示した記憶装置200の各処理部と同様の機能を発揮するデータ保存プログラム321と、データ保存用データ322とがあらかじめ記憶されている。なお、このデータ保存プログラム321を適宜分散させて、ネットワークを介して通信可能に接続された他のコンピュータの記憶部に記憶させておくこともできる。
【0060】
そして、CPU340が、このデータ保存プログラム321をHDD320から読み出してRAM330に展開することにより、図15に示すように、データ保存プログラム321はデータ保存プロセス331として機能するようになる。
【0061】
すなわち、データ保存プロセス331は、データ保存用データ322等をHDD320から読み出して、RAM330において自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種処理を実行する。なお、データ保存プロセス331は、図1に示した記憶装置200の管理モジュール部220(イレース処理管理部225およびFPGA226等)において実行される処理に対応する。
【0062】
なお、上記したデータ保存プログラム321については、必ずしも最初からHDD320に記憶させておく必要はなく、例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶させておき、コンピュータ300がこれらから各プログラムを読み出して実行するようにしてもよい。
【0063】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0064】
(付記1)停電発生時に、第1の記憶部に記憶されているデータを第2の記憶部に退避する停電処理部と、
停電からの復帰に伴って、前記第2の記憶部に退避されたデータを前記第1の記憶部にリストアするとともに、前記第2の記憶部に記憶されたデータを消去する消去処理を実行する復電処理部と、
前記復電処理部による前記消去処理の実行中に停電が発生した場合には、前記消去処理を停止させる消去処理停止部と、
前記消去処理停止部により前記消去処理が停止された時点で、前記第2の記憶部が有する制御情報記憶域の途中まで前記消去処理が進んでいる場合には、前記制御情報記憶域の全域を消去する制御情報記憶域消去部と、
前記制御情報記憶域消去部による前記制御情報記憶域の全域の消去が完了した後、前記制御情報記憶域から消去されたデータを前記第1の記憶部から前記第2の記憶部へ再退避する再退避実行部と
を有することを特徴とする記憶装置。
【0065】
(付記2)前記消去処理停止部により前記消去処理が停止された時点で、前記第2の記憶部が有するキャッシュ域まで前記消去処理が進んでいる場合には、前記再退避実行部は、前記消去処理が停止されるまでの間に前記第2の記憶部から消去されたデータを前記第1の記憶部から前記第2の記憶部へ再退避することを特徴とする付記1に記載の記憶装置。
【0066】
(付記3)前記再退避実行部による前記再退避が完了した後、停電から復帰した場合には、前記第2の記憶部に再退避されたデータを前記第1の記憶部にリストアするとともに、前記第2の記憶部を全領域に渡って消去する消去処理を実行することを特徴とする付記1または2に記載の記憶装置。
【0067】
(付記4)停電発生時に、第1の記憶部に記憶されているデータを第2の記憶部に退避する停電処理ステップと、
停電からの復帰に伴って、前記第2の記憶部に退避されたデータを前記第1の記憶部にリストアするとともに、前記第2の記憶部に記憶されたデータを消去する消去処理を実行する復電処理ステップと、
前記復電処理ステップによる前記消去処理の実行中に停電が発生した場合には、前記消去処理を停止させる消去処理停止ステップと、
前記消去処理停止ステップにより前記消去処理が停止された時点で、前記第2の記憶部が有する制御情報記憶域の途中まで前記消去処理が進んでいる場合には、前記制御情報記憶域の全域を消去する制御情報記憶域消去ステップと、
前記制御情報記憶域消去ステップによる前記制御情報記憶域の全域の消去が完了した後、前記制御情報記憶域から消去されたデータを前記第1の記憶部から前記第2の記憶部へ再退避する再退避実行ステップと
を含んだことを特徴とするデータ保存方法。
【0068】
(付記5)前記消去処理停止ステップにより前記消去処理が停止された時点で、前記第2の記憶部が有するキャッシュ域まで前記消去処理が進んでいる場合には、前記再退避実行ステップは、前記消去処理が停止されるまでの間に前記第2の記憶部から消去されたデータを前記第1の記憶部から前記第2の記憶部へ再退避することを特徴とする付記4に記載のデータ保存方法。
【0069】
(付記6)停電発生時に、第1の記憶部に記憶されているデータを第2の記憶部に退避する停電処理手順と、
停電からの復帰に伴って、前記第2の記憶部に退避されたデータを前記第1の記憶部にリストアするとともに、前記第2の記憶部に記憶されたデータを消去する消去処理を実行する復電処理手順と、
前記復電処理手順による前記消去処理の実行中に停電が発生した場合には、前記消去処理を停止させる消去処理停止手順と、
前記消去処理停止手順により前記消去処理が停止された時点で、前記第2の記憶部が有する制御情報記憶域の途中まで前記消去処理が進んでいる場合には、前記制御情報記憶域の全域を消去する制御情報記憶域消去手順と、
前記制御情報記憶域消去手順による前記制御情報記憶域の全域の消去が完了した後、前記制御情報記憶域から消去されたデータを前記第1の記憶部から前記第2の記憶部へ再退避する再退避実行手順と
をコンピュータに実行させることを特徴とするデータ保存プログラム。
【0070】
(付記7)前記消去処理停止手順により前記消去処理が停止された時点で、前記第2の記憶部が有するキャッシュ域まで前記消去処理が進んでいる場合には、前記再退避実行手順は、前記消去処理が停止されるまでの間に前記第2の記憶部から消去されたデータを前記第1の記憶部から前記第2の記憶部へ再退避することを特徴とする付記6に記載のデータ保存プログラム。
【符号の説明】
【0071】
200 記憶装置
210 ディスク
220 管理モジュール部
221 キャッシュメモリ
222 フラッシュメモリ
223 制御情報管理テーブル
224 制御情報管理部
225 イレース処理管理部
226 FPGA
226a アドレス情報管理部
226b イレース処理部
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】
前記消去処理停止部により前記消去処理が停止された時点で、前記第2の記憶部が有するキャッシュ域まで前記消去処理が進んでいる場合には、前記再退避実行部は、前記消去処理が停止されるまでの間に前記第2の記憶部から消去されたデータを前記第1の記憶部から前記第2の記憶部へ再退避することを特徴とする請求項1に記載の記憶装置。
【請求項3】
前記再退避実行部による前記再退避が完了した後、停電から復帰した場合には、前記第2の記憶部に再退避されたデータを前記第1の記憶部にリストアするとともに、前記第2の記憶部を全領域に渡って消去する消去処理を実行することを特徴とする請求項1または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

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


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