JP2009187079A - 情報処理装置およびデータ復旧方法 - Google Patents

情報処理装置およびデータ復旧方法 Download PDF

Info

Publication number
JP2009187079A
JP2009187079A JP2008023532A JP2008023532A JP2009187079A JP 2009187079 A JP2009187079 A JP 2009187079A JP 2008023532 A JP2008023532 A JP 2008023532A JP 2008023532 A JP2008023532 A JP 2008023532A JP 2009187079 A JP2009187079 A JP 2009187079A
Authority
JP
Japan
Prior art keywords
backup
data
unit
storage unit
nonvolatile
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.)
Granted
Application number
JP2008023532A
Other languages
English (en)
Other versions
JP5161600B2 (ja
Inventor
Kenichiro Yoshii
謙一郎 吉井
Hiroshi Yao
浩 矢尾
Tomohide Jokan
友秀 城勘
Tatsunori Kanai
達徳 金井
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008023532A priority Critical patent/JP5161600B2/ja
Publication of JP2009187079A publication Critical patent/JP2009187079A/ja
Application granted granted Critical
Publication of JP5161600B2 publication Critical patent/JP5161600B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • Y02B60/1225

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】電池のような追加の電源を用いることなく、電源復旧時に不揮発性主記憶部に格納されたデータの状態を復元でき、かつバックアップデータを格納するための記憶領域を確保できるか否かを判断することができる情報処理装置およびデータ復旧方法を提供する。
【解決手段】バックアップ部110は、プロセッサ部160から送出された書込みアクセスを検出した場合に不揮発性主記憶部120から元データを読取り、バックアップデータを生成し、不揮発性バックアップメモリ130の空き容量を算出し、空き容量が閾値以下である場合に、割込み信号をプロセッサ部160に送出し、割込み信号を受信したプロセッサ部160によって不揮発性バックアップメモリ130に空き領域を生成する処理が実行された場合に、バックアップデータを不揮発性バックアップメモリ130に書込み、バックアップデータを書込まれた後に、不揮発性主記憶部120にデータを書込む。
【選択図】図1

Description

本発明は、不揮発性の主記憶部を備える情報処理装置およびデータ復旧方法に関する。
近年、フラッシュメモリ、MRAM(Magnetoresistive Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)やPRAM(Phase change Random Access Memory)といった電源供給を断っても記録した内容が失われない不揮発性メモリの技術開発が進んでいる。将来、それらの不揮発性メモリが、現在コンピュータの主記憶部として広く使われているDRAM等の揮発性メモリにとって代わることが予想される。
このような不揮発性メモリをコンピュータの主記憶部に使用すると、プログラムの処理中に主記憶部への電源供給が途切れた場合でも、その主記憶部に保存されたデータやシステムの状態は主記憶部に残り、失われない。これにより、電源供給復旧時に、電源が切れた瞬間の状態からコンピュータの動作を再開することが容易になり、コンピュータの起動時間が短縮され、操作性が向上する。また、不揮発性メモリは、揮発性メモリと異なり、記憶内容を保持するための電源装置が必要ないため、コンピュータ全体としての消費電力の削減、電池の小型化、電池の長寿命化が期待される。
このような不揮発性メモリを使用したコンピュータで不意の電源断を経てその後電源が復旧した際に、電源が切れた瞬間の状態を保持してかつ復元する方法としては、電源断が生じた場合に電源監視機構によってCPUに割込みが通知され、オペレーティングシステムのような制御ソフトウェアによってCPUの状態を主記憶部に保存する方法が開示されている(特許文献1参照)。
特開2005−107573号公報
しかしながら、上記特許文献1に記載された技術では、不意の電源断後の電源が復旧した時に、プロセッサの状態のような揮発性のシステム状態を復元できるようにするために、不意の電源断が起きたときにシステム状態を不揮発性メモリ(以下、不揮発性主記憶部という)に格納する間の電源を確保する必要がある。そのため、別途キャパシタ等の電池が必要である。すなわち、不揮発性主記憶部に記憶されたシステム状態を保持するための電池は必要としないが、不意の電源断時にシステム状態を記憶するための電池が必要である。一般にコンピュータが書込み処理を完結するために備える電池は、二次電池であることが多く、頻繁な電源断が生じた場合に十分な電力を供給できない可能性がある。
また、上記特許文献1に記載された技術では、不揮発性主記憶部の内容を含むシステムの状態を電源断以前の特定の時点の状態に戻すために、処理のログを取っている。しかし、組込み装置のような限られた資源しか使用できない装置では、物理的な制約等により、ログを書込む領域として少量のメモリしか使用できない場合がある。このような場合、少量のログ領域からログデータが溢れてしまうと、システムの状態を以前のどの状態も復元できなくなってしまい、システム全体として処理を継続することができなくなるという問題があった。
本発明は、上記に鑑みてなされたものであって、不揮発性主記憶部を備えた情報処理装置において、電池のような追加の電源を用いることなく、不意の電源断が起きた場合でも、その後の電源復旧時に不揮発性主記憶部に格納されたデータの状態を復元することができ、かつ復元に必要なバックアップデータを格納するための記憶領域を確保できるか否かを判断することができる情報処理装置およびデータ復旧方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、不揮発性の主記憶部と、前記主記憶部に記憶されているデータの複製を記憶する不揮発性のバックアップ記憶部と、プロセッサ部から送出された、前記主記憶部に対する書込み対象のデータと当該書込み対象のデータの書込み先を指定する書込み先アドレスとを含む書込みアクセスを検出した場合に、前記書込み先アドレスによって指定される記憶領域に既に記憶されているデータを読取る読取手段と、前記読取手段で読取られた前記データと、前記書込みアクセスに含まれる前記書込み先アドレスとを含むバックアップデータを生成する生成手段と、前記バックアップ記憶部の空き容量を算出し、前記空き容量が予め定められた閾値以下である場合に、割込み信号を前記プロセッサ部に送出する閾値チェック手段と、前記割込み信号を受信した前記プロセッサ部によって前記バックアップ記憶部に空き領域を生成する処理が実行された場合、前記バックアップデータを前記バックアップ記憶部へ書込む第1の書込手段と、前記バックアップデータが前記バックアップ記憶部に書込まれた後、前記書込み先アドレスによって指定される前記主記憶部上の記憶領域へ、前記書込み対象のデータを書込む第2の書込手段と、を備えることを特徴とする。
また、本発明は、プロセッサ部と、不揮発性の主記憶部と、前記主記憶部に記憶されているデータの複製を記憶する不揮発性のバックアップ記憶部と、前記プロセッサ部から送出された、前記主記憶部に対する書込み対象のデータと当該書込み対象のデータの書込み先を指定する書込み先アドレスとを含む書込みアクセスを検出した場合に、前記書込み先アドレスによって指定される記憶領域に既に記憶されているデータを読取る読取手段と、前記読取手段で読取られた前記データと、前記書込みアクセスに含まれる前記書込み先アドレスとを含むバックアップデータを生成する生成手段と、前記バックアップ記憶部の空き容量を算出し、前記空き容量が予め定められた閾値以下である場合に、割込み信号を前記プロセッサ部に送出する閾値チェック手段と、前記割込み信号を受信した前記プロセッサ部によって前記バックアップ記憶部に空き領域を生成する処理が実行された場合、前記バックアップデータを前記バックアップ記憶部へ書込む第1の書込手段と、前記バックアップデータが前記バックアップ記憶部に書込まれた後、前記書込み先アドレスによって指定される前記主記憶部上の記憶領域へ、前記書込み対象のデータを書込む第2の書込手段と、を備えることを特徴とする。
また、本発明は、情報処理装置で実行されるデータ復旧方法であって、不揮発性の主記憶部と、前記主記憶部に記憶されているデータの複製を記憶する不揮発性のバックアップ記憶部とを備える情報処理装置のデータ復旧方法であって、プロセッサ部から送出された、前記主記憶部に対する書込み対象のデータと当該書込み対象のデータの書込み先を指定する書込み先アドレスとを含む書込みアクセスを検出した場合に、前記書込み先アドレスによって指定される記憶領域に既に記憶されているデータを読取る読取ステップと、前記読取ステップで読取られた前記データと、前記書込みアクセスに含まれる前記書込み先アドレスとを含むバックアップデータを生成する生成ステップと、前記バックアップ記憶部の空き容量を算出し、前記空き容量が予め定められた閾値以下である場合に、割込み信号を前記プロセッサ部に送出する閾値チェックステップと、前記割込み信号を受信した前記プロセッサ部によって前記バックアップ記憶部に空き領域を生成する処理が実行された場合、前記バックアップデータを前記バックアップ記憶部へ書込む第1の書込ステップと、前記バックアップデータが前記バックアップ記憶部に書込まれた後、前記書込み先アドレスによって指定される前記主記憶部上の記憶領域へ、前記書込み対象のデータを書込む第2の書込ステップと、を含むことを特徴とする。
本発明によれば、不揮発性主記憶部を備える情報処理装置において、追加の電源を用いることなく、不意の電源断が起きても、電源復旧時に、電源断した時点に最も近い安定した不揮発性主記憶の内容を復元することができ、かつ復元に必要なバックアップデータを格納するための記憶領域を確保できるか否かを判断することができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる情報処理装置およびデータ復旧方法の最良な実施の形態を詳細に説明する。本発明にかかる情報処理装置をパーソナルコンピュータ(以下、PCと示す)に適用した例を示すが、これに限定されるものではなく、主記憶部を備える装置であれば、サーバ装置、ゲーム機等の様々な装置に適用することができる。
本実施の形態について、添付図面を参照して説明する。まず、本発明が適用されるPCの構成例について説明する。図1は、本実施の形態にかかるPC100の構成を示すブロック図である。
本実施の形態にかかるPC100は、バックアップ部110と、不揮発性主記憶部120と、不揮発性バックアップメモリ130と、コミット部140と、ロールバック部150と、プロセッサ部160と、制御ソフトウェア170と、バス180と、割込線190とを備えている。また、PC100は、電源線10を介して電源200から電力を供給されている。
不揮発性主記憶部120は、MRAMやFeRAM等の不揮発性メモリである。不揮発性主記憶部120には、プロセッサ部160上で動作するソフトウェアのプログラムやそのソフトウェアが使用するデータが格納される。なお、プロセッサ部160は、不揮発性主記憶部120へ書込みを行う際に、書込みアクセスを主記憶アクセス制御部111へ送出する。主記憶アクセス制御部111は、プロセッサ部160から受信した書込みアクセスに応じて、不揮発性主記憶部120への書込みを行う。ここで、書込みアクセスとは、プロセッサ部160が不揮発性主記憶部120へ書込むデータと、そのデータの書込み先を指定する不揮発性主記憶部120のアドレス(以下、書込み先アドレスという)とを含む情報である。
不揮発性バックアップメモリ130は、不揮発性主記憶部120と同様に不揮発性メモリである。不揮発性バックアップメモリ130は、バックアップデータを記録する。ここで、バックアップデータとは、不揮発性主記憶部120への書込みアクセスを検出した際に、書込みアクセスに含まれる書込み先アドレスが示す不揮発性記憶部120の記憶領域に既に格納されているデータを複製したデータであり、具体的には、不揮発性記憶部120へのデータの復旧を可能にするために少なくとも不揮発性主記憶部120において更新されるデータのアドレスである書込み先アドレスと、そのアドレスに格納されていた更新前のデータ(以下、元データという)とを含む。
バックアップ部110は、不揮発性主記憶部120への書込み時にバックアップデータを作成して不揮発性バックアップメモリ130に書込む。具体的には、バックアップ部110は、不揮発性主記憶部120へのアクセスを監視して、不揮発性主記憶部120への書込みアクセスを検出した場合に、書込みアクセスに含まれた書込み先アドレスによって指定される記憶領域に既に記憶されている元データを不揮発性主記憶部120から読み出す。次に、バックアップ部110は、書込みアクセスに含まれた書込み先アドレスと元データからバックアップデータを生成し、不揮発性バックアップメモリ130に格納する。その後、バックアップ部110は、書込みアクセスで不揮発性主記憶部120への書込みを指示されたデータを実際に不揮発性主記憶部120の書込み先アドレスによって指定された記憶領域に書込む。
バックアップ部110は、さらに主記憶アクセス制御部111と、バックアップ制御部112と、バックアップメモリアクセス制御部113と、バックアップデータ生成部114と、バックアップメモリ先頭アドレス保持部115と、書込ポインタ保持部116と、閾値保持部117と、閾値チェック部118とを備えている。
主記憶アクセス制御部111は、バス180を介して受信した不揮発性主記憶部120への読み書きアクセスに応じ、不揮発性主記憶部120に格納されたデータを読み出し、不揮発性主記憶部120にデータを書込む。ただし、主記憶アクセス制御部111は、バス180を介した不揮発性主記憶部120への書込みアクセスが検出された場合に、すぐに不揮発性主記憶部120にデータを書込まず、一旦バックアップ制御部112に書込み先アドレスを送出する。
また、主記憶アクセス制御部111は、バックアップ制御部112からの不揮発性主記憶部120へのアクセスに応じ、不揮発性主記憶部120に格納されたデータを読み書きする。主記憶アクセス制御部111は、バス180を介した不揮発性バックアップメモリ130へのアクセスをバックアップ制御部112に送出する。また、主記憶アクセス制御部111は、書込ポインタ保持部116へのアクセスをバックアップ制御部112に送出する。なお、主記憶アクセス制御部111は、特許請求の範囲に記載した読取手段および第2の書込手段に対応する。
バックアップ制御部112は、主記憶アクセス制御部111から不揮発性バックアップメモリ130への書込みアクセスを受信した場合、データをバックアップするために、主記憶アクセス制御部111を経由して不揮発性主記憶部120から不揮発性主記憶部120の書込み先アドレスが示す記憶領域に格納されているデータを読み出す。また、バックアップ制御部112は、バックアップデータ生成部114に書込み先アドレスおよび不揮発性主記憶部120から読み出したデータを送出する。
また、バックアップ制御部112は、バックアップメモリアクセス制御部113を経由して不揮発性バックアップメモリ130に格納されたデータを読み書きする。また、バックアップ制御部112は、書込ポインタ保持部116に格納された書込ポインタおよびバックアップメモリ先頭アドレス保持部115に格納されたバックアップメモリ先頭アドレスを読み書きする。なお、バックアップ制御部112は、特許請求の範囲に記載した第1の書込手段に対応する。
バックアップメモリアクセス制御部113は、バックアップ制御部112からのアクセスに応じて不揮発性バックアップメモリ130に格納されたデータを読み書きする。
バックアップデータ生成部114は、バックアップ制御部112から送信された不揮発性主記憶部120の書込み先アドレスおよび不揮発性主記憶部120の書込み先アドレスが示す記憶領域から読み出した元データからバックアップデータを生成する。
バックアップメモリ先頭アドレス保持部115は、不揮発性バックアップメモリ130の先頭アドレスを保持する。バックアップメモリ先頭アドレス保持部115は、バックアップ制御部112からの要求に応じてその内容を更新する、またはその内容をバックアップ制御部112に送出する。
書込ポインタ保持部116は、書込ポインタを保持する。ここで、書込ポインタは、バックアップデータを書込む不揮発性バックアップメモリ130上のアドレスである。書込ポインタ保持部116は、バックアップ制御部112からの要求に応じてその内容を更新し、またはその内容をバックアップ制御部112に送出する。
閾値保持部117は、不揮発性バックアップメモリ130の空き容量に関する閾値を保持する。また、閾値保持部117は、バックアップ制御部112からの要求に応じてその内容を更新したり、後述する閾値チェック部118からの読み出し要求に応じてその内容を送出する。閾値保持部117が保持する閾値は、閾値チェック部118で不揮発性バックアップメモリ130の空き容量チェックにおいて使用できるものであれば、どんなものでもよい。例えば、不揮発性バックアップメモリ130の容量に対する百分率や、絶対的な容量を示す値などである。
閾値チェック部118は、バックアップ制御部112からの指示により、書込ポインタ保持部116が保持している書込ポインタと、バックアップメモリ先頭アドレス保持部115が保持している不揮発性バックアップメモリ130の先頭アドレスから、不揮発性バックアップメモリ130の空き容量を計算する。閾値チェック部118は、計算結果が示す不揮発性バックアップメモリ130の空き容量と、閾値保持部117が保持している閾値から求めたバックアップメモリの空き容量の閾値とを比較することにより、バックアップメモリの空き容量が、あらかじめ設定された閾値以下であるかどうかをチェックする。
閾値チェック部118は、不揮発性バックアップメモリ130の空き容量が閾値以下であった場合は、プロセッサ部160に接続している割込線190を介してプロセッサ部160に割込みを送出する。それにより、不揮発性バックアップメモリ130の空き容量があらかじめ設定された閾値以下であることを制御ソフトウェア170に通知する。
ただし、閾値チェック部118がプロセッサ部160に割込みを送出する方法は、必ずしも図1のように専用の割込線190である必要はなく、バス180を介して送出してもよい。
また、バックアップ部110は、バックアップ処理そのものを行うか否かのスイッチを備え、不揮発性主記憶部120への書込みに対するバックアップ処理全体を有効にしたり無効にしたりする機能もあわせ持つ。なお、不揮発性主記憶部120に対する書込みアクセスを検出した場合にバックアップ処理を行うか否かを示すこのスイッチは、物理的なスイッチでも、メモリ上に保持した情報であってもよい。
コミット部140は、コミット処理を行う。コミット処理とは、突然の電源断を経て電源が復旧した場合であって、不揮発性主記憶部120の状態を復元する必要が生じた場合に、復元目標となる不揮発性主記憶部120の状態(以下、チェックポイントという)を作成する一連の処理のことである。具体的には、コミット部140が、コミット処理を行った時点以降にバックアップ部110によって新たに不揮発性バックアップメモリ130に記憶されたバックアップデータを、不揮発性主記憶部120の記憶内容を書戻す際に用いるバックアップデータとして、読み出し許可と設定し、それ以前に記憶されたバックアップデータを上書き許可と設定することにより実現する。また、このように、コミット部140がコミット処理を指示された時点以前に記憶されたバックアップデータを上書き許可と設定することにより、不揮発性バックアップメモリ120においてコミット処理を指示された時点以前に記憶されたバックアップデータを記憶していた領域が空き領域となる。なお、コミット処理の詳細は、不揮発性バックアップメモリ130のデータの使用方法(スタックかリングバッファか等)に依存する。
ロールバック部150は、不揮発性バックアップメモリ130に格納されているバックアップデータから不揮発性主記憶部120の内容を復元するために必要な、読み出し許可と設定されたバックアップデータを読み出し、読み出された不揮発性主記憶部120にバックアップデータから抽出した元データを書き戻す。この操作により不揮発性主記憶部120を一番最近に作成したチェックポイントの状態を復元する。
このロールバック部150が正しい復元処理を行うためには、不揮発性バックアップメモリ130に格納されているバックアップデータの中から、不揮発性主記憶部120の状態を最新のチェックポイントの状態に復元するために必要なバックアップデータを読み出すことができることが重要である。つまり、不揮発性バックアップメモリ130は、不揮発性主記憶部120の状態を最新のチェックポイントの状態に復元するために必要なバックアップデータを管理する必要がある。したがって、コミット処理では、不揮発性バックアップメモリ130が管理対象としている復元処理に必要な1または複数のバックアップデータとして、当該コミット処理以前に管理していた1または複数のバックアップデータから、新たに不揮発性バックアップメモリ130に記憶するバックアップデータに、読み出し許可を設定する処理を行う。
ここで、あるコミット処理から次のコミット処理までに不揮発性バックアップメモリ130に記録され管理の対象となる一連のバックアップデータのことをシーケンスと呼ぶ。また、最後のコミット処理以降に不揮発性バックアップメモリ130に記録された一連のバックアップデータを、最新シーケンスという。つまり、ある時点で不揮発性バックアップメモリ130が管理しているシーケンスが最新シーケンスであり、最新シーケンスとして新たに不揮発性バックアップメモリ130に記憶するバックアップデータを読み出し許可と設定する処理とは、具体的に言えば、最新シーケンスの切替え処理である。
プロセッサ部160は、制御ソフトウェア170を動作させる。制御ソフトウェア170は、通常の処理においては不揮発性主記憶部120のデータを操作してシステム固有の機能を提供する。
制御ソフトウェア170は、プロセッサ部160上で動作するソフトウェア(プログラム)である。制御ソフトウェア170は、プロセッサ部160をはじめとしたハードウェアの動作を制御する。また、制御ソフトウェア170は、その管理の下で、プロセッサ部160上で他のソフトウェアを動作させる。例えば、制御ソフトウェア170が一般的なオペレーティングシステムである場合、制御ソフトウェア170の管理の下、プロセッサ部160でアプリケーションソフトウェアが動作する。複数のアプリケーションソフトウェアをプロセッサ部160上で動作させる場合は、制御ソフトウェア170は、デバイスが起こす割込みや、制御ソフトウェア170自身が設定したタイマによる一定時間間隔の割込み等によって、アプリケーションソフトウェアを順次切り替えて動作させる。
制御ソフトウェア170は、さらにチェックポイント作成部171と、チェックポイント復元部172を備えている。
チェックポイント作成部171は、コミット部140にコミット要求を出すことにより、ロールバック部150がロールバック可能な不揮発性主記憶部120の状態、つまりチェックポイントを新規に作成する。また、チェックポイント作成部171は、閾値チェック部118から割込み信号を受信した制御ソフトウェア170によって呼び出される。これにより、不揮発性バックアップメモリ130の空き容量がなくなる前にチェックポイントが作成されて最新シーケンスが切り替えられる。これによって、それまで最新シーケンスとして管理していた不揮発性バックアップメモリ130上のバックアップデータが不要になって空き領域となるため、減少した空き容量を回復することができる。
チェックポイント復元部172は、電源200からの電源供給の復旧を検知した場合、ロールバック部150に最新のチェックポイントの内容まで不揮発性主記憶部120の内容をロールバックする要求を送出する。このため、チェックポイント復元部172は、制御ソフトウェア170が起動する際に、不意の電源断から電源供給が復旧して制御ソフトウェア170が再起動したか否かを判断する。ただし、判断手段は、どんな実装でも構わない。
バス180は、コミット部140、ロールバック部150、プロセッサ部160およびバックアップ部110を接続する。不揮発性主記憶部120は、バス180に直接接続されず、バックアップ部110を介してバス180と接続される。これにより、不揮発性主記憶部120へのアクセスは、すべてバックアップ部110を介するため、バックアップ部110において不揮発性主記憶部120へのアクセスに応じたバックアップ処理を行うことができる。なお、バックアップ部110の配置位置は、バス180と不揮発性主記憶部120の間に限らず、不揮発性主記憶部120へのアクセスを不揮発性主記憶部120が受け取る前に受け取ることができる位置であれば、どの位置に配置されていてもよい。また、バックアップ部110には、不揮発性主記憶部120に加え、不揮発性バックアップメモリ130が接続される。
次に、以上のように構成されているPC100のバックアップ部110によるバックアップ処理、コミット部140によるコミット処理およびロールバック部150によるロールバック処理について説明する。
図2−1、図2−2は、バックアップ部110が行うバックアップ処理手順を示すフローチャートである。なお、バックアップ部110は、バス180からのアクセスを受け取って動作する。
まず、主記憶アクセス制御部111は、バス180からのアクセスを検出する(ステップS201)。主記憶アクセス制御部111は、検出したアクセスが不揮発性主記憶部120への読出しアクセスであるか否かを判断する(ステップS202)。具体的には、アクセスに含まれる命令から不揮発性主記憶部120への読出しアクセスであるか否かを判断する。なお、読出しアクセスに限らず、書込みアクセス等の他のアクセスについても同様に、アクセスに含まれる命令からアクセスの種類やアクセスする記憶媒体を判断する。
検出したアクセスが不揮発性主記憶部120への読出しアクセスであると判断した場合は(ステップS202:Yes)、主記憶アクセス制御部111は不揮発性主記憶部120からデータを読み出し(ステップS203)、バス180へ読み出したデータを返す。
検出したアクセスが不揮発性主記憶部120への読出しアクセスでないと判断した場合は(ステップS202:No)、主記憶アクセス制御部111がバックアップ制御部112にアクセスを送出し、バックアップ制御部112がアクセスを受け取る(ステップS204)。バックアップ制御部112は、受け取ったアクセスが不揮発性主記憶部120への書込みアクセスであるか否かを判断する(ステップS205)。
受け取ったアクセスが不揮発性主記憶部120への書込みアクセスであると判断した場合は(ステップS205:Yes)、バックアップ制御部112はバックアップ処理が有効であるか否かを判断する(ステップS206)。バックアップ処理が有効でないと判断した場合は(ステップS206:No)、バックアップ処理は行わず、ステップS219に進む。バックアップ処理が有効であると判断した場合は(ステップS206:Yes)、バックアップ制御部112は主記憶アクセス制御部111に読出し要求を送出し、主記憶アクセス制御部111が不揮発性主記憶部120から書込み先アドレスに格納されている元データを読み出す(ステップS207)。次に、バックアップ制御部112は書込み先アドレスと読み出した元データとをバックアップデータ生成部114に送り、バックアップデータ生成部114は、アドレスおよび元データからバックアップデータを生成する(ステップS208)。
バックアップ制御部112は、生成したバックアップデータを書込む不揮発性バックアップメモリ130上のアドレスを書込ポインタ保持部116から読み出す(ステップS209)。バックアップメモリアクセス制御部113は、読み出した不揮発性バックアップメモリ130上のアドレスに示す記憶領域にバックアップデータを書込む(ステップS210)。バックアップ制御部112は、書込ポインタ保持部116に保持しているポインタの値を更新する(ステップS211)。
バックアップ制御部112は、閾値チェック部118にチェックを指示する(ステップS212)。閾値チェック部118は、閾値保持部117から閾値を読み出す(ステップS213)。閾値チェック部118は、書込ポインタ保持部116から書込みポインタを読み出す(ステップS214)。閾値チェック部118は、バックアップメモリ先頭アドレス保持部115から現在の不揮発性バックアップメモリ130の先頭アドレスを読み出す(ステップS215)。閾値チェック部118は、不揮発性バックアップメモリ130の空き容量を計算する(ステップS216)。閾値チェック部118は、不揮発性バックアップメモリ130の空き容量が閾値以下であるか否かを判断する(ステップS217)。不揮発性バックアップメモリ130の空き容量が閾値以下でないと判断した場合は(ステップS217:No)、ステップS219に進む。不揮発性バックアップメモリ130の空き容量が閾値以下であると判断した場合は(ステップS217:Yes)、プロセッサ部160に割込みをかけて空き容量が閾値以下であることを通知する(ステップS218)。具体的には、割込線190を介して、割込み信号をプロセッサ部160に送出する。主記憶アクセス制御部111は、不揮発性主記憶部120の書込み先アドレスにデータを書込む(ステップS219)。
ステップS205において、受け取ったアクセスが不揮発性主記憶部120への書込みアクセスでないと判断した場合は(ステップS205:No)、バックアップ制御部112は不揮発性バックアップメモリ130へのアクセスであるか否かを判断する(ステップS220)。不揮発性バックアップメモリ130へのアクセスであると判断した場合は(ステップS220:Yes)、バックアップメモリアクセス制御部113は不揮発性バックアップメモリ130のデータを読み出す、または不揮発性バックアップメモリ130にデータを書込む(ステップS221)。
不揮発性バックアップメモリ130へのアクセスでないと判断した場合は(ステップS220:No)、バックアップ制御部112は書込ポインタ保持部116へのアクセスであるか否かを判断する(ステップS223)。書込ポインタ保持部116へのアクセスであると判断した場合は(ステップS223:Yes)、バックアップ制御部112は書込ポインタ保持部116の値を読み出す、または更新する(ステップS224)。
書込ポインタ保持部116へのアクセスでないと判断した場合は(ステップS223:No)、バックアップ制御部112は閾値保持部117へのアクセスであるか否かを判断する(ステップS225)。閾値保持部117へのアクセスであると判断した場合は(ステップS225:Yes)、バックアップ制御部112は閾値保持部117の閾値を読み出す、または更新する(ステップS226)。閾値保持部117へのアクセスでないと判断した場合は(ステップS225:No)、処理を終了する。
次に、ステップS218で、プロセッサ部160が割込み信号を受信した場合の処理について説明する。プロセッサ部160は、割込み信号を受信した場合に不揮発性バックアップメモリ130に空き領域を生成する処理を実行する。具体的に、不揮発性バックアップメモリ130に空き領域を生成する処理とは、プロセッサ部160が割込み信号を受信した場合、制御ソフトウェア170に従って後述するコミット部140にコミット処理を指示する。コミット部140は、プロセッサ部160からの指示を受けてコミット処理を実行し、チェックポイントを生成し、不揮発性バックアップメモリ130上で管理している最新シーケンスを切替える。これにより、コミット処理を指示された時点以前に不揮発性バックアップメモリ130に記憶されたバックアップデータは上書き許可が設定されるため、不揮発性バックアップメモリ130において上書き許可が設定された領域は空き領域となり、新たなバックアップデータを書込むことが可能となる。
また、他の不揮発性バックアップメモリ130に空き領域を生成する処理として、プロセッサ部160は、割込み信号を受信した場合、制御ソフトウェア170に従って後述するロールバック部150にロールバック処理を指示する。ロールバック部150は、プロセッサ部160からの不揮発性主記憶部120の記憶内容を書戻す旨の指示を受けてロールバック処理を実行し、最新のチェックポイントまで不揮発性バックアップメモリ130に格納されたデータを書戻す。この場合、閾値保持部117に格納する閾値は、0(%)としてもよい。すなわち、不揮発性バックアップメモリ130の空き容量がなくなったと判断した時点で、最新のチェックポイントの状態に不揮発性バックアップメモリ130を戻すことにより、バックアップデータを格納できない状態を回避することができる。なお、ここでの閾値は、不揮発性バックアップメモリ130の全体容量におけるバックアップデータが格納されていない容量の割合として求めている。
また、さらに他の不揮発性バックアップメモリ130に空き領域を生成する処理として、プロセッサ部160は、割込み信号を受信した場合、制御ソフトウェア170に従ってPC100自体を再起動する。電源が再投入された場合に、ロールバック部150は、プロセッサ部160からの不揮発性主記憶部120の記憶内容を書戻す旨の指示を受けてロールバック処理が実行し、不揮発性主記憶120の状態が最新のチェックポイントの状態に復元される。このロールバック処理が実行されることにより、復元に使用された不揮発性バックアップメモリ130内のバックアップデータが不要となり、不揮発性バックアップメモリ130内に空き領域が作成される。その後、コミット処理を実行することにより、最新シーケンスの切り替え処理が行われ、不揮発性バックアップメモリ130内に空き領域にバックアップデータを書込むことが可能となる。この場合、閾値保持部117に格納する閾値は、0(%)としてもよい。すなわち、不揮発性バックアップメモリ130の空き容量がなくなったと判断した時点で、電源を再投入することによって不揮発性バックアップメモリ130に空き領域を作成するため、バックアップデータを格納できない状態を回避することができる。
次に、コミット部140によるコミット処理について説明する。図3は、コミット部140が行うコミット処理手順を示すフローチャートである。なお、コミット部140は、プロセッサ部160上で動作する制御ソフトウェア170またはロールバック部150からのバックアップ部110に対するコミット処理の指示で起動する。
コミット部140は、不揮発性バックアップメモリ130上の最新シーケンスを切替える(ステップS301)。このコミット処理により、この時点の不揮発性主記憶部120の状態が新たに不揮発性主記憶部120のチェックポイントとなる。コミット処理の詳細は、バックアップ部110の構成とバックアップデータ形式に依存する。例えば、不揮発性バックアップメモリ130のデータ構造がスタックである場合、書込ポインタ保持部116にバックアップメモリ先頭アドレス保持部115に保持されている値を格納することによって最新シーケンスの切替えを実現する。
次に、ロールバック部150によるロールバック処理について説明する。図4は、ロールバック部150が行うロールバック処理手順を示すフローチャートである。なお、ロールバック部150は、プロセッサ部160上で動作させる制御ソフトウェア170からの指示で起動する。
まず、ロールバック部150は、バックアップ部110へバックアップ処理を無効にする要求を送出する(ステップS401)。バックアップ部110は、バックアップ処理を無効にする(ステップS402)。これは、不揮発性主記憶部120にバックアップデータを書戻す際に、不意の電源断で不定となっている不揮発性主記憶部120のデータを不揮発性バックアップメモリ130にバックアップデータとして格納しないようにするためである。
ロールバック部150は、最新シーケンスを特定する(ステップS403)。なお、最新シーケンスの特定方法は、バックアップ部110の構成とバックアップデータの形式に依存する。次に、ロールバック部150は、読み出された最新シーケンス内の最新バックアップデータをEに格納する(ステップS404)。ロールバック部150は、Eが空であるか否かを判断する(ステップS405)。
Eが空でないと判断した場合は(ステップS405:No)、ロールバック部150はEの読み出し要求をバックアップ部110に送出する(ステップS406)。バックアップ部110は、不揮発性バックアップメモリ130からバックアップデータを読み出す(ステップS407)。読み出したバックアップデータをEに格納する。ロールバック部150は、Eに含まれる書込み先アドレスへ元データを書戻す要求をバックアップ部110に送出する(ステップS408)。バックアップ部110は、不揮発性主記憶部120の指定されたアドレスに元データを書込む(ステップS409)。ロールバック部150は、次の最新シーケンス内の次のバックアップデータをEに格納する(ステップS410)。これにより、最新シーケンス内で記録された時刻の逆順、すなわち新しく格納された順にバックアップデータを読み出すことができる。ステップS405に戻り、最新シーケンス内の全てのバックアップデータに対してこの処理を繰り返す。
ステップS405において、Eが空であると判断した場合は(ステップS405:Yes)、ロールバック部150はバックアップ部110にバックアップ処理を有効にする要求を送出する(ステップS411)。バックアップ部110は、バックアップ処理を有効にする(ステップS412)。ロールバック部150は、コミット部140にコミット要求を送出する(ステップS413)。コミット部140は、コミット処理を行う(ステップS414)。これにより、ロールバック処理が完了した時点でのチェックポイントが生成される。
なお、コミット部140およびロールバック部150は、プロセッサ部160上で動作するソフトウェアとして構成することも可能である。また、バックアップ部110内にコミット部140およびロールバック部150を配置し、制御ソフトウェア170からのコミット要求やロールバック要求を、バックアップ部110を経由して受ける構成としてもよい。
次に、閾値チェック部118における不揮発性バックアップメモリ130の空き容量チェックを具体的な値を用いて説明する。図5は、不揮発性バックアップメモリ130のデータ格納状態の一例を示す説明図である。図5に示す不揮発性バックアップメモリ130は、100個のバックアップデータが格納可能であり、10個のバックアップデータが格納されている。また、閾値保持部117に保持されている閾値は、不揮発性バックアップメモリ130の全体容量の10%であるとする。
このとき、書込ポインタ保持部116が保持しているアドレスは、“11”であり、バックアップメモリ先頭アドレス保持部115が保持しているアドレスは、“1”である。従って、不揮発性バックアップメモリ130の空き容量は、次の計算で求められる。
(100−11+1)=90
この結果で、不揮発性バックアップメモリ130の空き容量は、バックアップデータ90個分、すなわち90%ということがわかり、閾値である10%を下回っていないことがわかる。従って、この場合閾値チェック部118はプロセッサ部160に割込みを通知しない。
このように、不揮発性バックアップメモリ130の空き容量が閾値以下となっているか否かを判断し、空き容量が閾値以下となっていると判断した場合に不揮発性バックアップメモリ130にバックアップデータの格納を行わないことによって、不揮発性バックアップメモリ130の容量を超えて、バックアップデータが格納されることを未然に防ぐことができる。
また、このような不揮発性バックアップメモリ130に容量以上のバックアップデータを格納することを防ぐしくみを備えているため、不揮発性バックアップメモリ130の容量を必要以上に大きくする必要がなくなり、装置全体の小型化が実現できる。
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。
本実施の形態にかかるPCの構成を示すブロック図である。 バックアップ部が行うバックアップ処理手順を示すフローチャートである。 バックアップ部が行うバックアップ処理手順を示すフローチャートである。 コミット部が行うコミット処理手順を示すフローチャートである。 ロールバック部が行うロールバック処理手順を示すフローチャートである。 不揮発性バックアップメモリのデータ格納状態の一例を示す説明図である。
符号の説明
100 パーソナルコンピュータ(PC)
110 バックアップ部
111 主記憶アクセス制御部
112 バックアップ制御部
113 バックアップメモリアクセス制御部
114 バックアップデータ生成部
115 バックアップメモリ先頭アドレス保持部
116 書込ポインタ保持部
117 閾値保持部
118 閾値チェック部
120 不揮発性主記憶部
130 不揮発性バックアップメモリ
140 コミット部
150 ロールバック部
160 プロセッサ部
170 制御ソフトウェア
171 チェックポイント作成部
172 チェックポイント復元部
180 バス
200 電源

Claims (8)

  1. 不揮発性の主記憶部と、
    前記主記憶部に記憶されているデータの複製を記憶する不揮発性のバックアップ記憶部と、
    プロセッサ部から送出された、前記主記憶部に対する書込み対象のデータと当該書込み対象のデータの書込み先を指定する書込み先アドレスとを含む書込みアクセスを検出した場合に、前記書込み先アドレスによって指定される記憶領域に既に記憶されているデータを読取る読取手段と、
    前記読取手段で読取られた前記データと、前記書込みアクセスに含まれる前記書込み先アドレスとを含むバックアップデータを生成する生成手段と、
    前記バックアップ記憶部の空き容量を算出し、前記空き容量が予め定められた閾値以下である場合に、割込み信号を前記プロセッサ部に送出する閾値チェック手段と、
    前記割込み信号を受信した前記プロセッサ部によって前記バックアップ記憶部に空き領域を生成する処理が実行された場合、前記バックアップデータを前記バックアップ記憶部へ書込む第1の書込手段と、
    前記バックアップデータが前記バックアップ記憶部に書込まれた後、前記書込み先アドレスによって指定される前記主記憶部上の記憶領域へ、前記書込み対象のデータを書込む第2の書込手段と、
    を備えることを特徴とする情報処理装置。
  2. 前記プロセッサ部からの指示を受けて、前記第1の書込手段によって現時点以前に前記バックアップ記憶部に書込まれていたバックアップデータを上書き許可と設定するコミット処理を実行するコミット手段、をさらに備えることを特徴とする請求項1に記載の情報処理装置。
  3. 前記バックアップ記憶部に空き領域を生成する処理は、前記プロセッサ部からの指示を受けて実行される前記コミット手段のコミット処理であることを特徴とする請求項2に記載の情報処理装置。
  4. 前記コミット手段は、コミット処理を行った時点以降に前記バックアップ記憶部に書込まれるバックアップデータを読み出し許可と設定し、
    前記第2の書込手段は、前記主記憶部の記憶内容を書戻す旨を指示された場合に、前記バックアップ記憶部に記憶されたバックアップデータのなかから、読み出し許可と設定された前記バックアップデータに含まれる前記データおよび前記書込み先アドレスを抽出し、当該データを当該書込み先アドレスが示す前記主記憶部上の記憶領域へ書込み、
    前記バックアップ記憶部に空き領域を生成する処理は、前記プロセッサ部からの前記主記憶部の記憶内容を書戻す旨の指示を受けて実行される前記第2の書込手段の処理であること、を特徴とする請求項2に記載の情報処理装置。
  5. 前記コミット手段は、コミット処理を行った時点以降に前記バックアップ記憶部に書込まれるバックアップデータを読み出し許可と設定し、
    前記第2の書込手段は、前記主記憶部の記憶内容を書戻す旨を指示された場合に、前記バックアップ記憶部に記憶されたバックアップデータのなかから、読み出し許可と設定された前記バックアップデータに含まれる前記データおよび前記書込み先アドレスを抽出し、当該データを当該書込み先アドレスが示す前記主記憶部上の記憶領域へ書込み、
    前記バックアップ記憶部に空き領域を生成する処理は、当該情報処理装置の再起動処理、および、前記プロセッサ部からの前記主記憶部の記憶内容を書戻す旨の指示を受けて実行される前記第2の書込み手段の処理であることを特徴とする請求項4に記載の情報処理装置。
  6. 前記第1の書込手段は、前記プロセッサ部と前記主記憶部との間に接続され、前記プロセッサ部から前記書込みアクセスを受け、受けた前記書込みアクセスを前記主記憶部へ送出すること、を特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. プロセッサ部と、
    不揮発性の主記憶部と、
    前記主記憶部に記憶されているデータの複製を記憶する不揮発性のバックアップ記憶部と、
    前記プロセッサ部から送出された、前記主記憶部に対する書込み対象のデータと当該書込み対象のデータの書込み先を指定する書込み先アドレスとを含む書込みアクセスを検出した場合に、前記書込み先アドレスによって指定される記憶領域に既に記憶されているデータを読取る読取手段と、
    前記読取手段で読取られた前記データと、前記書込みアクセスに含まれる前記書込み先アドレスとを含むバックアップデータを生成する生成手段と、
    前記バックアップ記憶部の空き容量を算出し、前記空き容量が予め定められた閾値以下である場合に、割込み信号を前記プロセッサ部に送出する閾値チェック手段と、
    前記割込み信号を受信した前記プロセッサ部によって前記バックアップ記憶部に空き領域を生成する処理が実行された場合、前記バックアップデータを前記バックアップ記憶部へ書込む第1の書込手段と、
    前記バックアップデータが前記バックアップ記憶部に書込まれた後、前記書込み先アドレスによって指定される前記主記憶部上の記憶領域へ、前記書込み対象のデータを書込む第2の書込手段と、
    を備えることを特徴とする情報処理装置。
  8. 不揮発性の主記憶部と、前記主記憶部に記憶されているデータの複製を記憶する不揮発性のバックアップ記憶部とを備える情報処理装置のデータ復旧方法であって、
    プロセッサ部から送出された、前記主記憶部に対する書込み対象のデータと当該書込み対象のデータの書込み先を指定する書込み先アドレスとを含む書込みアクセスを検出した場合に、前記書込み先アドレスによって指定される記憶領域に既に記憶されているデータを読取る読取ステップと、
    前記読取ステップで読取られた前記データと、前記書込みアクセスに含まれる前記書込み先アドレスとを含むバックアップデータを生成する生成ステップと、
    前記バックアップ記憶部の空き容量を算出し、前記空き容量が予め定められた閾値以下である場合に、割込み信号を前記プロセッサ部に送出する閾値チェックステップと、
    前記割込み信号を受信した前記プロセッサ部によって前記バックアップ記憶部に空き領域を生成する処理が実行された場合、前記バックアップデータを前記バックアップ記憶部へ書込む第1の書込ステップと、
    前記バックアップデータが前記バックアップ記憶部に書込まれた後、前記書込み先アドレスによって指定される前記主記憶部上の記憶領域へ、前記書込み対象のデータを書込む第2の書込ステップと、
    を含むことを特徴とするデータ復旧方法。
JP2008023532A 2008-02-04 2008-02-04 情報処理装置およびデータ復旧方法 Expired - Fee Related JP5161600B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008023532A JP5161600B2 (ja) 2008-02-04 2008-02-04 情報処理装置およびデータ復旧方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008023532A JP5161600B2 (ja) 2008-02-04 2008-02-04 情報処理装置およびデータ復旧方法

Publications (2)

Publication Number Publication Date
JP2009187079A true JP2009187079A (ja) 2009-08-20
JP5161600B2 JP5161600B2 (ja) 2013-03-13

Family

ID=41070295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008023532A Expired - Fee Related JP5161600B2 (ja) 2008-02-04 2008-02-04 情報処理装置およびデータ復旧方法

Country Status (1)

Country Link
JP (1) JP5161600B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110135203A (zh) * 2019-04-19 2019-08-16 珠海海奇半导体有限公司 一种大容量数据存储设备及其数据销毁方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH103434A (ja) * 1996-06-14 1998-01-06 Nec Corp 半導体ディスク装置及びその書き込み方式
JP2003216511A (ja) * 2002-01-23 2003-07-31 Matsushita Electric Ind Co Ltd 不揮発性メモリ装置、データ更新方法、データ更新プログラム及びそのプログラムが記録されたコンピュータ読み取り可能な記録媒体
JP2006113962A (ja) * 2004-10-18 2006-04-27 Sony Corp 情報処理装置および方法、並びにプログラム
JP2006260330A (ja) * 2005-03-18 2006-09-28 Fujitsu Ltd 計算機システムのファームウェアのバージョン管理方法及び情報処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH103434A (ja) * 1996-06-14 1998-01-06 Nec Corp 半導体ディスク装置及びその書き込み方式
JP2003216511A (ja) * 2002-01-23 2003-07-31 Matsushita Electric Ind Co Ltd 不揮発性メモリ装置、データ更新方法、データ更新プログラム及びそのプログラムが記録されたコンピュータ読み取り可能な記録媒体
JP2006113962A (ja) * 2004-10-18 2006-04-27 Sony Corp 情報処理装置および方法、並びにプログラム
JP2006260330A (ja) * 2005-03-18 2006-09-28 Fujitsu Ltd 計算機システムのファームウェアのバージョン管理方法及び情報処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110135203A (zh) * 2019-04-19 2019-08-16 珠海海奇半导体有限公司 一种大容量数据存储设备及其数据销毁方法

Also Published As

Publication number Publication date
JP5161600B2 (ja) 2013-03-13

Similar Documents

Publication Publication Date Title
US7971014B2 (en) Information processing apparatus and data recovering method
JP2988866B2 (ja) コンピュータシステム
US8078908B2 (en) Data storage device and method
US20150331624A1 (en) Host-controlled flash translation layer snapshot
US8219767B2 (en) Information processing apparatus and data recovering method
CN101901189B (zh) 更新用户数据的方法以及恢复用户数据的方法
JPH077317B2 (ja) システム再起動装置
TW201222554A (en) Handling errors during device bootup from a non-volatile memory
TW201011525A (en) Method and controller for power management
CN111026260A (zh) 用于休眠的存储器映射
JP5981906B2 (ja) 画像形成装置
CN112020843A (zh) 非易失性存储器设备中的临时区
TWI546661B (zh) 使用狀態資訊回復系統之技術
CN111880636B (zh) 一种存储阵列的断电保护方法及相关装置
JP2013257679A (ja) 情報処理装置および方法、並びに、プログラム
JP2002099390A (ja) ディスク制御装置
US20190018475A1 (en) Update memory management information to boot an electronic device from a reduced power mode
JP5161600B2 (ja) 情報処理装置およびデータ復旧方法
US20130166852A1 (en) Method for hibernation mechanism and computer system therefor
JP2007328438A (ja) 情報処理装置、そのデータバックアップ及び復旧方法
JP3427010B2 (ja) コンピュータシステム
KR101104361B1 (ko) Nvram과 휘발성 램을 이용하여 선택적으로 프로세스의 영속성을 구현하는 컴퓨팅 시스템 및 방법
CN112269531A (zh) 一种源卷缩容方法、装置、设备及介质
US10496303B2 (en) Method for reducing power consumption memory, and computer device
JP2009169747A (ja) 情報処理装置およびデータ復旧方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120828

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121026

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: 20121120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121214

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

Free format text: PAYMENT UNTIL: 20151221

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees