JP4897359B2 - メモリ管理装置及びメモリ管理方法及びプログラム - Google Patents

メモリ管理装置及びメモリ管理方法及びプログラム Download PDF

Info

Publication number
JP4897359B2
JP4897359B2 JP2006153080A JP2006153080A JP4897359B2 JP 4897359 B2 JP4897359 B2 JP 4897359B2 JP 2006153080 A JP2006153080 A JP 2006153080A JP 2006153080 A JP2006153080 A JP 2006153080A JP 4897359 B2 JP4897359 B2 JP 4897359B2
Authority
JP
Japan
Prior art keywords
data
memory
overwrite
overwriting
memory storage
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.)
Expired - Fee Related
Application number
JP2006153080A
Other languages
English (en)
Other versions
JP2007323380A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006153080A priority Critical patent/JP4897359B2/ja
Publication of JP2007323380A publication Critical patent/JP2007323380A/ja
Application granted granted Critical
Publication of JP4897359B2 publication Critical patent/JP4897359B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理装置、例えば、組込み装置におけるメモリ情報保存技術に関する。
コンピューターシステムにおいて、障害発生時にそのメモリの内容を二次記憶装置にダンプして保存しておき、障害のデバッグに活用する手法が一般的に行われている。
これを、二次記憶装置容量の限られた機器に適用する場合に、メモリダンプ取得のための領域を十分に確保することが難しい。
そこで、特許文献1のように、他の用途で使用されている領域のうちで空いている部分を、メモリダンプやログといったデバッグ用途で使用する領域を兼用することで、資源の有効活用を図る技術がある。
また、特許文献2のように、取得するメモリ領域を優先度に従って間引くことにより、限られた記憶領域に有効な情報を含むメモリダンプを出来る限り多く残そうとする方式が開示されている。
特開昭62−211747号公報 特開平3−147147号公報
特許文献1では、仮想記憶で使用しているメモリ領域を一時的に待避するための連続領域であるスワップ領域のうち再起動時には使用されない部分、つまり一時的に空いているとみなすことができる部分を、メモリダンプの保存先として兼用することで、資源の有効活用を図っている。しかしながら、特許文献1の方式は、一時的な空き領域を確保できないような、資源制約の厳しい組込み装置に適用することはできない。
また、特許文献2は、取得するメモリ領域に優先度を割り当て、その優先度の高いメモリ領域から順に保存していくことで、限られた容量のメモリダンプの中に、出来る限り有用な情報を残そうとするものである。これは、保存元の情報を絞り込むことによって調整する技術であるが、保存先の領域が十分に確保できない場合に、障害の種類によっては解析に必要な重要な情報を取得できない可能性がある。
本発明は、上記のような問題を解決することを主な目的としており、メモリダンプのような実動作に使用されないデバッグ目的の機能のために空き領域を確保できない、資源制約の厳しい組込み機器などにおいて、他の用途で使用されているファイルの中から、後から復旧可能なものを一時的に破壊することにより、メモリダンプを保存するための領域を、障害発生時点において積極的に作り出し、メモリダンプを保存することを主な目的としている。
本発明に係るメモリ管理装置は、
メモリ装置と二次記憶装置とを管理し、前記メモリ装置に記憶されているメモリ記憶データを前記メモリ装置から退避させるメモリ管理装置であって、
前記二次記憶装置に記憶されているデータの中から、前記メモリ記憶データの退避による上書きによって消去される上書き消去対象データを選択する上書き消去対象データ選択部と、
前記上書き消去対象データ選択部により選択された上書き消去対象データに上書きして前記メモリ記憶データを前記二次記憶装置に書き込むメモリ記憶データ書き込み部とを有することを特徴とする。
本発明によれば、二次記憶装置に記憶されているデータを上書き消去対象データとして選択し、選択した上書き消去対象データに上書きしてメモリ記憶データを二次記憶装置に書き込むため、二次記憶装置の容量が非常に限られており、メモリダンプのための領域を確保するのが難しい場合においても、柔軟にメモリダンプのための領域を確保することが可能となり、メモリダンプによる解析を可能とする。
実施の形態1.
図1はこの発明の実施の形態1におけるメモリダンプ保存方式を備える組込み装置1(情報処理装置)の構成図である。
図1において、メインメモリ2(メモリ装置)は、ソフトウェアの実行時状態を保持する。
メモリダンプ部3は、メインメモリ2の内容を二次記憶装置7に書き出す。メモリダンプ部3は、後述する破壊ファイル選択部6により選択された破壊ファイル(上書き消去対象データ)に上書きしてメインメモリ2に記憶されているデータ(メモリ記憶データ)を二次記憶装置7に書き込む。メモリダンプ部3は、メモリ記憶データ書き込み部の例である。
ヒント情報4は、メモリダンプのサイズや障害の種類を含む情報である。
破壊可能なファイルのリスト5は、メモリダンプ時にメインメモリ2のデータの上書きにより破壊されてもよい破壊可能なファイルを示す。
破壊可能なファイルのリスト5は、破壊ファイル(上書き消去対象データ)として選択可能な複数の破壊可能なファイル(上書き消去候補データ)と各々の破壊可能なファイルのデータサイズ等が示されたリストであり、上書き消去候補データリストの例である。
破壊ファイル選択部6は、ヒント情報4をもとに破壊可能なファイルのリスト5から破壊の対象となる破壊ファイルを選択する。破壊ファイル選択部6は、二次記憶装置7に記憶されているファイル8の中から、メインメモリ2に記憶されているデータ(メモリ記憶データ)の退避による上書きによって消去される破壊ファイル(上書き消去対象データ)を選択する。破壊ファイル選択部6は、上書き消去対象データ選択部の例である。
二次記憶装置7は、ファイル8とファイルシステム管理情報9を格納している。
ファイル8は、二次記憶装置7上にあるファイル群であり、破壊可能なファイルが含まれる。
ファイルシステム管理情報9は、ファイル8が二次記憶装置7上でどのセクタを使用して構成されているかを管理している情報である。
メモリダンプ出力部10は、破壊されたファイルからメモリダンプ12と破壊されたファイルのリスト13を組込み装置1の外部に取り出す。メモリダンプ出力部10は、破壊可能なファイルのリスト5を参照し、各々の破壊可能なファイル(上書き消去候補データ)の記憶領域を特定するとともに各々の破壊可能なファイルの記憶領域を解析し、各々の破壊可能なファイルの記憶領域に後述する管理ヘッダ情報が書き込まれているか否かを判断し、管理ヘッダ情報が書き込まれている場合に管理ヘッダ情報に後続して書き込まれているデータ(メモリ記憶データ)を抽出し、抽出したデータ(メモリ記憶データ)をメモリダンプ12として出力する。また、メモリダンプ出力部10は、各々の破壊可能なファイルの記憶領域を解析した結果、管理ヘッダ情報が書き込まれている記憶領域が存在する場合に、管理ヘッダ情報が書き込まれている記憶領域に記憶されていた破壊可能なファイルを破壊されたファイル(上書き消去済みデータ)として示す破壊されたファイルのリスト13(上書き消去済みデータリスト)を生成し、生成した破壊されたファイルのリスト13を出力する。メモリダンプ出力部10は、メモリ記憶データ出力部の例である。
ファイル復旧部11は、破壊されたファイルのリスト13をもとに破壊されたファイルの元データ14を組込み装置1に入力して破壊されたファイルを復旧する。ファイル復旧部11は、メモリダンプ出力部10により出力された破壊されたファイルのリスト13に示されている破壊されたファイルと同一内容のファイルの元データ14(復元データ)を、破壊されたファイルが記憶されていた元の記憶領域に書き込む。ファイル復旧部11は、データ復旧部の例である。
また、図1の構成において、メモリダンプ部3、破壊ファイル選択部6、メモリダンプ出力部10、ファイル復旧部11がメモリ管理装置100を構成し、ヒント情報4、破壊可能なファイルのリスト5を用いてメモリダンプのための二次記憶装置7の格納領域が決定される。
ここで、破壊可能なファイルというのは、例えば、組込み装置1の初期状態から二次記憶装置上に存在しているファイルのうち、組込み装置の正常稼働中に書き換えられることがなく、かつ組込み装置外部から元データを与えることで復旧することが可能なもののことを言う。例えば、画像や動画のプリインストールデータなどが該当する。
そして、破壊可能なファイルのリスト5にこれら破壊可能なファイルが示される。
破壊可能なファイルのリスト5は、例えば、図6のような構成をとる。図6においては、ファイル名に対して、そのファイルのデータサイズと、後述する障害重要度と、そのファイルのパスが示される。
なお、障害重要度は必ずしも必要ではなく、最低限、データサイズとパスが示されていればよい。
一時的な空き領域を確保できないような、資源制約の厳しい組込み装置1においてメモリダンプを実現するために、図1に示す各要素は、次のように動作する。
ソフトウェアの障害が発生すると、例外ハンドラ等によってソフトウェアのメインメモリ上での実行を停止した後、メモリダンプ部3が起動される。
メモリダンプ部3は、メモリダンプの保存先領域を獲得するために、破壊ファイル選択部6に対しヒント情報4とともに問い合わせる。
そして、破壊ファイル選択部6は、破壊可能なファイルのリスト5とヒント情報4をもとに、適宜二次記憶装置7上のファイルのパスを返却する。メモリダンプ部3は、得られたパスに基づいて、破壊可能なファイルの内容を、メインメモリ2の内容で上書きする。
メモリダンプ出力部10は、破壊可能なファイルのリスト5をもとに、二次記憶装置7にある破壊されたファイルを識別し、メモリダンプ12と破壊されたファイルのリスト13を組込み装置1の外部に取り出す。このとき、破壊されたファイルそのものを組込み装置の外部に取り出した後、そこからメモリダンプを抽出、および結合してもよく、もしくは組込み装置1内でメモリダンプの抽出、および結合を行った結果を取り出してもよい。また、取り出す手段としては、組込み装置が備える外部インタフェースを利用する。例えば、USB(Universal Serial Bus)などの有線通信、近距離無線や赤外線などの無線通信、挿抜可能な外部メモリ装置などが考えられるが、実施形態によりこの限りではなく、その手段は問わない。
メモリダンプ12を組込み装置1の外部に取り出した後、組込み装置1の外部にあるファイルの元データ14を使い、ファイル復旧部11によって破壊されたファイルが元の内容に復旧される。
図7は、本実施の形態に示す組込み装置1のハードウェア資源の一例を示す図である。
図7において、組込み装置1は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、二次記憶装置920と接続され、これらのハードウェアデバイスを制御する。更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)と接続していてもよい。また、二次記憶装置920としては、磁気ディスク装置、光ディスク装置、メモリカード読み書き装置などの記憶装置が考えられる。
メインメモリ2の例としてRAM914が考えられる。RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、二次記憶装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915、キーボード902、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901などは、出力部、出力装置の一例である。
例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などのネットワークに接続されていてもよい。
二次記憶装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
上記プログラム群923には、本実施の形態の説明において「〜部」、「〜手段」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」、「〜の評価結果」等として説明される情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、以下で説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、本実施の形態の説明において「〜部」、「〜手段」として説明しているものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、本実施の形態の「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、本実施の形態の「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
このように、本実施の形態に示す組込み装置1は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」、「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
次に、本実施の形態に係る動作(メモリ管理方法)の詳細を説明する。
先ず、メモリダンプ部3の動作(メモリ記憶データ書き込みステップ)について、図2を用いて説明する。
メモリダンプ部3は、実施の形態1の組込み装置1において、OS(Operating System)などによって障害が検出された際に、実行が開始される。
メモリダンプ部3は、最初に破壊ファイル選択部6を呼び出し、二次記憶装置7上にある上書きが可能なファイルのパスを得る(S1)。破壊ファイル選択部6を呼び出す際には、障害の種類、実行モード、保存するメインメモリの領域サイズなどをヒント情報4として与える。
そして、メモリダンプ部3は、破壊ファイル選択部6から得られた結果を確認し(S2)、上書き可能なファイルのパスが得られなければ(NOの場合)終了する。
上書き可能なファイルのパスが得られた場合(YESの場合)には、そのパスについて二次記憶装置7内部で管理しているファイルシステム管理情報9を調べ、ファイルの実体が格納されているセクタ(記憶領域)を特定する。そしてその先頭セクタ(先頭領域)を、管理ヘッダ情報で上書きする(S3)。
管理ヘッダ情報の中には、識別コード、状態フラグ、含まれるメモリダンプのデータサイズ、メモリダンプの順番、チェックサムコードを設ける。
識別コードは、後でファイルのこの部分を見たときに、このファイルがメモリダンプで上書きされていることをわかるようにするための、一意なデータパターンである。
状態フラグは、ファイルが上書き中か、上書きが完了しているかどうかを識別するためのデータである。
含まれるメモリダンプのデータサイズは、このファイルの上書きによってメモリダンプが記録されたバイト数の結果を保持する。
メモリダンプの順番は、メモリダンプのサイズが大きくて、複数のファイルに渡る場合に、その順序を記録しておくものである。すなわち、複数の記憶領域に分散して書き込まれる場合に分散して書き込まれた部分データの連結のための連番である。
チェックサムコードは、管理ヘッダ情報のデータの正当性を検証するための計算結果である。ステップS3では、状態フラグを上書き中とした管理ヘッダ情報を書き込む。
次に、管理ヘッダ情報を書き込んだ後、メモリダンプ部3は、そこに続くファイルの領域に、メインメモリの内容を順次書き込んでいく(S4)。このとき、限られた領域内に出来る限り多くの情報を記録するために、メインメモリの内容の冗長な部分を圧縮して書き込む。
そして、必要なメモリ内容を全て書き込み終えた場合は(S5)、メモリダンプ部3は、上書き完了の状態フラグと、含まれるメモリダンプのデータサイズ、メモリダンプの順番、およびチェックサムコードを管理ヘッダ情報に書き込み(S8)、終了する。
また、必要なメモリ内容を全て書き込む前にファイルの領域の末尾に到達してしまった場合にも同様に上書き完了の状態フラグと、含まれるメモリダンプのデータサイズ、メモリダンプの順番、およびチェックサムコードを管理ヘッダ情報に書き込むが(S7)、メモリ内容の残余部分を書き込むための領域を得るために、ステップS1に戻り再度破壊ファイル選択部6に問い合わせる。以降、全てのメモリ内容の書き込みを完了するか、上書きが可能なファイルパスが得られなくなるまで、上記処理を繰り返す。
次に、破壊ファイル選択部6の動作(上書き消去対象データ選択ステップ)について、図3を用いて説明する。
破壊ファイル選択部6は、メモリダンプ部3からの問合せに応じて実行を開始する。
そして、メモリダンプ部3から渡されるヒント情報4をもとに、破壊可能なファイルのリスト5の中から、1つのファイルのパスを選び出す(S101)。破壊可能なファイルのリスト5には、ファイルのパスに加え、ヒント情報を活用するために必要な付加情報(データサイズや障害重要度など)も組で記録しておく。
ここで、ヒント情報4として何も渡されなければ、破壊ファイル選択部6はリストの最初から順番にファイルが選択する。
ヒント情報4として書き込みたいデータのサイズが渡された場合には、破壊ファイル選択部6はリストに含まれる全てのファイルを調べ、その中からデータを保存するのに必要十分なファイルサイズを持つものを選択する。もし必要十分なファイルサイズを持つファイルがない場合には、ファイルサイズが最も大きいものを選択する。これは、破壊するファイルの数を最小に抑えることで、ダンプデータ取得後の破壊されたファイルの復旧を容易にすることや、もしくは必要以上に大きなファイルを破壊しないことで、ダンプデータを組込み装置1外部に取り出すための時間を短縮するためである。
また、ヒント情報4として、障害の重要度を与える場合について述べる。
障害の重要度とは、システムが障害を検出した際に、その障害の種別に応じて割り当てるレベル値で、CPU例外などシステムにとって致命的なものであったり、障害の影響が広範囲にわたるものが高く設定される。ここでは、重度:3、中度:2、軽度:1のように割り当てる。そして、破壊可能なファイルのリスト5にも、障害の重要度に応じて、ファイルの付加情報として重要度を大:3、中:2、小:1のように割り当てておく。破壊ファイル選択部6では、ヒント情報の障害の重要度と、破壊可能なファイルのリスト5におけるファイルの付加情報の重要度とを比較し、軽度の障害であれば重要度が小のファイル、重度の障害であれば重要度が大〜小のファイルの中から適宜選択する。このようにすることで、重大な障害の場合には多くの情報を収集し、軽度の障害の場合には必要最小限の情報を収集するといった運用が可能となる。
上記により選択されたファイルのパスは、破壊可能なファイルのリスト5から外され、問合せのあったメモリダンプ部3に返却される(S102)。もし、ルールの条件に適合するファイルがリストからなくなった場合には、破壊ファイル選択部6は、エラーまたは空のパスなどによって、上書き可能なファイルが見つからなかったことを、メモリダンプ部3に伝える。
次に、メモリダンプ出力部10の動作について、図4を用いて説明する。
メモリダンプ出力部10は、メモリダンプ部3によるメモリダンプの保存が完了した後、再起動によって組込み装置1が正常な動作状態に復帰した後、人為的な操作によって実行を開始する。
メモリダンプ出力部10は、最初に破壊可能なファイルのリスト5を読み込み、そして得られたファイルリストからファイルを1つ取り出し(S201)、更に、ファイルシステム管理情報9も参照してそのファイルに対応する二次記憶装置7のセクタ(記憶領域)を特定し、特定したセクタ(記憶領域)を解析し、そのファイルの中身を参照して先頭部分が管理ヘッダ情報であるか検査する(S202)。このとき、管理ヘッダ情報に埋め込まれた特定パターンのデータ(識別コード)、およびチェックサムが管理ヘッダ情報として想定するデータ構造と合致すれば、対象ファイルはメモリダンプで中身が破壊されているということが識別される(S203)。
ステップS203でYESと判断され、破壊されていると識別されたファイルは、破壊されたファイルのリスト13に追加される(S204)。その際、管理ヘッダ情報に含まれるメモリダンプの順番を参照し、ソートが行われる。
1つのファイルの検査が完了すると、まだ検査が行われていないファイルが残っていないか、ファイルリストを調べる(S205)。まだ検査していないファイルが残っているのであればステップS201に戻り、次のファイルを取り出して検査する処理を繰り返す。
全てのファイルに対し検査を終えているのであれば、破壊されたファイルのリストの順番でファイルに上書きされたメモリダンプ12を切り出し、組込み装置1が備えるなんらかの外部インタフェースに出力する(S206)。このとき、併せて破壊されたファイルのリスト13も出力しておく。
外部インタフェースとしては、例えば、シリアルやUSB(Universal Serial Bus)、Ethernet(登録商標)、無線LAN、Bluetooth(登録商標)、IrDA、外部メモリカードなどが挙げられるが、この限りではなく、組込み装置1の形態に応じて様々な手段が用いられる。このようにして組込み装置の外部に取り出されたメモリダンプを、障害解析のために利用する。
本実施の形態では、メモリダンプ出力部10が複数のファイルに渡って記録されたメモリダンプを結合しながら出力しているが、この結合処理を組込み装置1外部で実現してもよい。
例えば、組込み装置1の外部にファイルそのままの形で取り出し、そして取り出されたファイル群に対し、結合用プログラムを用いて単一ファイルのメモリダンプを生成してもよい。または、これに相当する処理を、メモリダンプの解析ツールが備えていてもよい。
次に、ファイル復旧部11の動作について、図5を用いて説明する。
ファイル復旧部11は、外部インタフェースからのデータ入力要求、または組込み装置1の利用者による人為的な操作によって実行を開始する。
ファイル復旧部11は、破壊されたファイルのリスト13をもとに破壊されたファイルの元データ14が入力される(S301)と、ファイルシステム管理情報9を参照して、組込み装置1内の二次記憶装置7にある、破壊されたファイルが格納されていたセクタのデータを上書きして、破壊されたファイルを二次記憶装置7上の元の記憶領域に復帰させ、元の状態に復旧する(S302)。これを、破壊された全てのファイルに対して実行する。
(a)このように、本実施の形態に係るメモリ情報保存方式は、メモリダンプを保存するための専用の領域を用意することなく、一時的に破壊可能なファイルの領域を使うことで、破壊可能なファイルの合計サイズまでのメモリダンプを保存できる。
(b)また、破壊可能なファイルのリストと、ヒント情報を参照し、どのファイルを破壊するのか選択する破壊ファイル選択手段を備える。ヒント情報とは、メモリダンプのサイズや発生した障害の種類など、破壊するファイルを決定する上で参考とすべき情報である。
(c)そして、本実施の形態に係るメモリ情報保存方式は、障害発生時に、破壊ファイル選択手段に問い合わせた結果をもとに、二次記憶上にある指定されたファイルを上書きすることによって、メモリの内容を保存するメモリダンプ手段を備える。
(d)また、本実施の形態に係るメモリ情報保存方式は、メモリダンプ手段によって上書きされたファイルを識別し、そのファイルに記録されたメモリダンプを組込み装置の外部に取り出すためのメモリダンプ出力手段を備える。
(e)また、本実施の形態に係るメモリ情報保存方式は、装置の外部に保管されている、メモリダンプ手段によって上書きされたファイルの元ファイルを、組込み装置内部に入力し元の内容に書き戻すファイル復旧手段を備える。
(a)また、本実施の形態に係るメモリ情報保存方式において、メモリダンプ手段は、ダンプするメモリの内容が、破壊ファイル選択手段から得られたファイルに納まりきらなかった場合には、再度破壊ファイル選択手段に問い合わせることによって、次に破壊するファイルを得る。これを繰り返すことによって必要なメモリの内容を順次保存する。
(b)そして、本実施の形態に係るメモリ情報保存方式では、破壊するファイルの先頭に管理ヘッダ情報の領域を設けることにより、上書きされていることを認識可能にする。管理ヘッダ情報には、上書きされたことを識別するための特定のパターンを持ったデータ構造の他、複数ファイルに分割保存されたメモリダンプの順番、含まれるメモリダンプのサイズ等が記録される。
(c)また、本実施の形態に係るメモリ情報保存方式のメモリダンプ出力手段は、管理ヘッダ情報を参照することにより、破壊されたファイルを識別する。
また、本実施の形態に係るメモリ情報保存方式では、メモリダンプ手段が破壊可能なファイルを上書きする際に、メモリの内容を圧縮することによって、破壊されるファイルの数を最小にする。
(a)また、本実施の形態に係るメモリ情報保存方式では、メモリダンプ手段が破壊ファイル選択手段に問い合わせる際に、ヒント情報として保存したいサイズを渡すことによって、破壊可能なファイルのリストの中から最適なサイズのファイルが、破壊ファイル選択手段によって選択される。
(b)そして、最適なサイズのファイルとは、保存したいサイズのデータを格納可能な破壊可能ファイルがあればその中で最小のサイズのもの、なければその中で最大のサイズのものである。
(a)また、本実施の形態に係るメモリ情報保存方式では、メモリダンプ手段が破壊ファイル選択手段に問い合わせる際に、ヒント情報として障害の重要度を渡すことによって、破壊ファイル選択手段は障害の重要度に応じて、破壊可能なファイルのリストから所定の重要度以下のファイルを選択する。
(b)更に、破壊可能なファイルのリストには、ファイル毎に重要度が割り振られる。
(c)そして、重要度の高い障害が発生したときは、重要度の低い障害に比べて多くのメモリ情報を保存することができる。
(a)また、本実施の形態に係るメモリ情報保存方式では、メモリダンプ手段がファイルを上書きする際に、二次記憶装置のファイルシステム管理情報を参照してファイルの内容を格納しているセクタを特定し、そのセクタを直接上書きすることにより、ファイルシステム管理情報を書き換えることなくメモリダンプを保存する。
(b)そして、保存されたメモリダンプは、ファイルシステムから後刻ファイルとして取り出し可能である。
(c)また、ファイルサーバーやディスクドライバなどの、ファイルシステムに関わる部分で発生した障害も解析可能とする効果がある。
本実施の形態に係るメモリ管理装置の効果としては、二次記憶装置の容量が非常に限られており、メモリダンプのための専用領域を確保するのが難しい組込み装置においても、必要に応じて柔軟に保存領域を確保することが可能となる。
組込み装置は一般的に、ソフトウェアの内部状態の視覚化が難しいため、メモリダンプによる解析は非常に有効なデバッグ手法であるが、その適用範囲を拡大できる点において、本実施の形態は有効である。
また、ヒント情報に応じてメモリダンプの領域を調整することにより、障害の重要度に応じてメモリダンプの取得量を変更可能とした。これは、外部インタフェースを介してメモリダンプを組込み装置の外部に取り出す際に転送時間がかかる場合において、重度障害発生時のデータは時間がかかってでもできるだけ多くの情報を確実に入手したいが、軽度障害の場合は必要最小限のデータ量に絞り込むことによって運用効率を上げたい、というトレードオフを実現できる点において有効である。
つまり、本実施の形態では、障害の重要度に応じて保存先の領域サイズを調整することにより、必要に応じて、解析範囲を広げることを目的にメモリダンプを多く残すことを可能にしている。これにより、重要度の高い障害の場合には広い範囲の情報解析を可能とし、軽度の障害であれば必要最小限のメモリダンプを残すのみにとどめることで、保存されたメモリダンプの組込み装置外部への取出しや復旧の手間を軽減するという運用を可能にする。
なお、以上の説明では、メインメモリ2のデータを二次記憶装置7に格納する際の動作を説明したが、ROMやフラッシュメモリ等の他の記憶装置のデータを二次記憶装置7に格納する場合にも本実施の形態に示した手法を用いることができる。
また、以上の説明では、組込み装置1においてメモリダンプを行う際の動作を説明したが、本実施の形態に示した手法は他の種類の情報処理装置でも適用可能である。
以上、本実施の形態では、メモリ装置と二次記憶装置とを管理し、メモリ装置に記憶されているメモリ記憶データをメモリ装置から退避させるメモリ管理装置であって、上書き消去対象データ選択部が、二次記憶装置に記憶されているデータの中から、メモリ記憶データの退避による上書きによって消去される上書き消去対象データを選択し、メモリ記憶データ書き込み部が、上書き消去対象データ選択部により選択された上書き消去対象データに上書きしてメモリ記憶データを二次記憶装置に書き込むことを説明した。
そして、メモリ記憶データ書き込み部は、上書き消去対象データ選択部にメモリ記憶データのデータサイズを通知し、上書き消去対象データ選択部は、メモリ記憶データ書き込み部よりメモリ記憶データのデータサイズを通知された場合に、上書き消去対象データとして選択可能な複数の上書き消去候補データと各々の上書き消去候補データのデータサイズとが示された上書き消去候補データリストを参照し、上書き消去候補データリストに示された複数の上書き消去候補データの中からメモリ記憶データのデータサイズ以上の上書き消去候補データであって最もデータサイズが小さい上書き消去候補データを上書き消去対象データとして選択することを説明した。
また、メインメモリと二次記憶装置は、所定の情報処理装置内に配置されており、メモリ記憶データ書き込み部は、情報処理装置において障害が発生した場合に、発生した障害の障害重要度を上書き消去対象データ選択部に通知し、上書き消去対象データ選択部は、メモリ記憶データ書き込み部より障害重要度を通知された場合に、上書き消去対象データとして選択可能な複数の上書き消去候補データと各々の上書き消去候補データに対応する障害重要度とが示された上書き消去候補データリストを参照し、上書き消去候補データリストに示された複数の上書き消去候補データの中からメモリ記憶データ書き込み部より通知された障害重要度に対応する上書き消去候補データを上書き消去対象データとして選択することを説明した。
また、上書き消去対象データ選択部は、データサイズが大きい上書き消去候補データほど高い障害重要度が設定されている上書き消去候補データリストを参照し、メモリ記憶データ書き込み部より通知された障害重要度が高いほどデータサイズが大きい上書き消去候補データを選択することを説明した。
また、メモリ記憶データ書き込み部は、二次記憶装置のファイルシステム管理情報を参照して、上書き消去対象データ選択部により選択された上書き消去対象データが記憶されている記憶領域を特定し、二次記憶装置のファイルシステム管理情報を書き換えることなく、特定した記憶領域にメモリ記憶データを書き込むことを説明した。
また、メモリ記憶データ書き込み部が、メモリ記憶データを圧縮して二次記憶装置に書き込むことを説明した。
メモリ記憶データ書き込み部が、上書き消去対象データ選択部により選択された上書き消去対象データが記憶されている記憶領域の先頭領域にメモリ記憶データが上書きされていることを示す管理ヘッダ情報を書き込み、管理ヘッダ情報に後続してメモリ記憶データを書き込むことを説明した。
メモリ記憶データ書き込み部が、上書き消去対象データ選択部により選択された上書き消去対象データへの上書きではメモリ記憶データの全てを書き込むことができず、メモリ記憶データの一部が残余した場合に、上書き消去対象データ選択部にメモリ記憶データの残余部分を上書きするための上書き消去対象データの選択を要求し、上書き消去対象データ選択部により新たに選択された上書き消去対象データに上書きしてメモリ記憶データの残余部分を書き込むことを説明した。
メモリ記憶データ書き込み部が、上書き消去対象データ選択部により新たに選択された上書き消去対象データが記憶されている記憶領域の先頭領域にメモリ記憶データが上書きされていることを示す管理ヘッダ情報を書き込み、管理ヘッダ情報の書き込み領域に後続する領域からメモリ記憶データの残余部分を書き込むことを説明した。
メモリ記憶データ書き込み部が、メモリ記憶データのデータサイズ、メモリ記憶データが複数の記憶領域に分散して書き込まれる場合に分散して書き込まれた部分データの連結のための連番、及びチェックサムコードの少なくともいずれかが含まれる管理ヘッダ情報を書き込むことを説明した。
メモリ記憶データ出力部が、メモリ記憶データ書き込み部によりメモリ記憶データが二次記憶装置に書き込まれた後に、上書き消去対象データ選択部が上書き消去対象データとして選択可能な複数の上書き消去候補データが示された上書き消去候補データリストを参照し、各々の上書き消去候補データの記憶領域を特定するとともに各々の上書き消去候補データの記憶領域を解析し、各々の上書き消去候補データの記憶領域に管理ヘッダ情報が書き込まれているか否かを判断し、管理ヘッダ情報が書き込まれている場合に管理ヘッダ情報に後続して書き込まれているメモリ記憶データを抽出し、抽出したメモリ記憶データを出力することを説明した。
また、メモリ記憶データ出力部が、各々の上書き消去候補データの記憶領域を解析した結果、管理ヘッダ情報が書き込まれている記憶領域が存在する場合に、管理ヘッダ情報が書き込まれている記憶領域に記憶されていた上書き消去候補データを上書き消去済みデータとして示す上書き消去済みデータリストを生成し、生成した上書き消去済みデータリストを出力することを説明した。
データ復旧部が、メモリ記憶データ出力部により出力された上書き消去済みデータリストに示されている上書き消去済みデータと同一内容の復元データを、上書き消去済みデータが記憶されていた記憶領域に書き込むことを説明した。
実施の形態1に係る組込み装置の構成例を示す図。 実施の形態1に係るメモリダンプ部の動作例を示すフローチャート図。 実施の形態1に係る破壊ファイル選択部の動作例を示すフローチャート図。 実施の形態1に係るメモリダンプ出力部の動作例を示すフローチャート図。 実施の形態1に係るファイル復旧部の動作例を示すフローチャート図。 実施の形態1に係る破壊可能なファイルのリストの例を示す図。 実施の形態1に係る組込み装置のハードウェア構成例を示す図。
符号の説明
1 組込み装置、2 メインメモリ、3 メモリダンプ部、4 ヒント情報、5 破壊可能なファイルのリスト、6 破壊ファイル選択部、7 二次記憶装置、8 ファイル、9 ファイルシステム管理情報、10 メモリダンプ出力部、11 ファイル復旧部、12 メモリダンプ、13 破壊されたファイルのリスト、14 ファイルの元データ、100 メモリ管理装置。

Claims (14)

  1. メモリ装置と二次記憶装置とを管理し、メモリダンプ時に、前記メモリ装置に記憶されているメモリ記憶データを前記二次記憶装置に記憶されているデータに上書きするメモリ管理装置であって、
    前記二次記憶装置に記憶されているデータの中から、前記メモリ記憶データの上書きによって消去される上書き消去対象データを選択する上書き消去対象データ選択部と、
    前記二次記憶装置の記憶領域のうち、前記上書き消去対象データ選択部により選択された上書き消去対象データが記憶されている記憶領域の先頭領域に前記メモリ記憶データが上書きされていることを示す管理ヘッダ情報を書き込み、前記管理ヘッダ情報に後続させて、前記メモリ記憶データを前記上書き消去対象データに上書きして前記二次記憶装置に書き込むメモリ記憶データ書き込み部とを有することを特徴とするメモリ管理装置。
  2. 前記メモリ記憶データ書き込み部は、
    前記上書き消去対象データ選択部に前記メモリ記憶データのデータサイズを通知し、
    前記上書き消去対象データ選択部は、
    前記メモリ記憶データ書き込み部より前記メモリ記憶データのデータサイズを通知された場合に、前記上書き消去対象データとして選択可能な複数の上書き消去候補データと各々の上書き消去候補データのデータサイズとが示された上書き消去候補データリストを参照し、上書き消去候補データリストに示された複数の上書き消去候補データの中から前記メモリ記憶データのデータサイズ以上の上書き消去候補データであって最もデータサイズが小さい上書き消去候補データを前記上書き消去対象データとして選択することを特徴とする請求項1に記載のメモリ管理装置。
  3. 前記メインメモリと前記二次記憶装置は、所定の情報処理装置内に配置されており、
    前記メモリ記憶データ書き込み部は、
    前記情報処理装置において障害が発生した場合に、発生した障害の障害重要度を前記上書き消去対象データ選択部に通知し、
    前記上書き消去対象データ選択部は、
    前記メモリ記憶データ書き込み部より障害重要度を通知された場合に、前記上書き消去対象データとして選択可能な複数の上書き消去候補データと各々の上書き消去候補データに対応する障害重要度とが示された上書き消去候補データリストを参照し、上書き消去候補データリストに示された複数の上書き消去候補データの中から前記メモリ記憶データ書き込み部より通知された障害重要度に対応する上書き消去候補データを前記上書き消去対象データとして選択することを特徴とする請求項1に記載のメモリ管理装置。
  4. 前記上書き消去対象データ選択部は、
    データサイズが大きい上書き消去候補データほど高い障害重要度が設定されている上書き消去候補データリストを参照し、前記メモリ記憶データ書き込み部より通知された障害重要度が高いほどデータサイズが大きい上書き消去候補データを選択することを特徴とする請求項3に記載のメモリ管理装置。
  5. 前記メモリ記憶データ書き込み部は、
    前記二次記憶装置のファイルシステム管理情報を参照して、前記上書き消去対象データ選択部により選択された上書き消去対象データが記憶されている記憶領域を特定し、前記二次記憶装置のファイルシステム管理情報を書き換えることなく、特定した記憶領域に前記メモリ記憶データを書き込むことを特徴とする請求項1に記載のメモリ管理装置。
  6. 前記メモリ記憶データ書き込み部は、
    前記メモリ記憶データを圧縮して前記二次記憶装置に書き込むことを特徴とする請求項1に記載のメモリ管理装置。
  7. 前記メモリ記憶データ書き込み部は、
    前記上書き消去対象データ選択部により選択された上書き消去対象データへの上書きでは前記メモリ記憶データの全てを書き込むことができず、前記メモリ記憶データの一部が残余した場合に、前記上書き消去対象データ選択部に前記メモリ記憶データの残余部分を上書きするための上書き消去対象データの選択を要求し、前記上書き消去対象データ選択部により新たに選択された上書き消去対象データに上書きして前記メモリ記憶データの残余部分を書き込むことを特徴とする請求項1に記載のメモリ管理装置。
  8. 前記メモリ記憶データ書き込み部は、
    前記上書き消去対象データ選択部により新たに選択された上書き消去対象データが記憶されている記憶領域の先頭領域に前記メモリ記憶データが上書きされていることを示す管理ヘッダ情報を書き込み、前記管理ヘッダ情報の書き込み領域に後続する領域から前記メモリ記憶データの残余部分を書き込むことを特徴とする請求項に記載のメモリ管理装置。
  9. 前記メモリ記憶データ書き込み部は、
    前記メモリ記憶データのデータサイズ、前記メモリ記憶データが複数の記憶領域に分散して書き込まれる場合に分散して書き込まれた部分データの連結のための連番、及びチェックサムコードの少なくともいずれかが含まれる管理ヘッダ情報を書き込むことを特徴とする請求項1又はに記載のメモリ管理装置。
  10. 前記メモリ管理装置は、更に、
    前記メモリ記憶データ書き込み部によりメモリ記憶データが前記二次記憶装置に書き込まれた後に、前記上書き消去対象データ選択部が前記上書き消去対象データとして選択可能な複数の上書き消去候補データが示された上書き消去候補データリストを参照し、各々の上書き消去候補データの記憶領域を特定するとともに各々の上書き消去候補データの記憶領域を解析し、各々の上書き消去候補データの記憶領域に前記管理ヘッダ情報が書き込まれているか否かを判断し、前記管理ヘッダ情報が書き込まれている場合に前記管理ヘッダ情報に後続して書き込まれているメモリ記憶データを抽出し、抽出したメモリ記憶データを出力するメモリ記憶データ出力部を有することを特徴とする請求項又は9に記載のメモリ管理装置。
  11. 前記メモリ記憶データ出力部は、
    各々の上書き消去候補データの記憶領域を解析した結果、前記管理ヘッダ情報が書き込まれている記憶領域が存在する場合に、前記管理ヘッダ情報が書き込まれている記憶領域に記憶されていた上書き消去候補データを上書き消去済みデータとして示す上書き消去済みデータリストを生成し、生成した上書き消去済みデータリストを出力することを特徴とする請求項10に記載のメモリ管理装置。
  12. 前記メモリ管理装置は、更に、
    前記メモリ記憶データ出力部により出力された上書き消去済みデータリストに示されている上書き消去済みデータと同一内容の復元データを、前記上書き消去済みデータが記憶されていた記憶領域に書き込むデータ復旧部を有することを特徴とする請求項11に記載のメモリ管理装置。
  13. 上書き消去対象データ選択部とメモリ記憶データ書き込み部とを有し、メモリ装置と二次記憶装置とを管理し、メモリダンプ時に、前記メモリ装置に記憶されているメモリ記憶データを前記二次記憶装置に記憶されているデータに上書きするコンピュータ
    で実行されるメモリ管理方法であって、
    上書き消去対象データ選択部が、前記二次記憶装置に記憶されているデータの中から、前記メモリ記憶データの上書きによって消去される上書き消去対象データを選択する上書き消去対象データ選択ステップと、
    メモリ記憶データ書き込み部が、前記二次記憶装置の記憶領域のうち、前記上書き消去対象データ選択ステップにより選択された上書き消去対象データが記憶されている記憶領域の先頭領域に前記メモリ記憶データが上書きされていることを示す管理ヘッダ情報を書き込み、前記管理ヘッダ情報に後続させて、前記メモリ記憶データを前記上書き消去対象データに上書きして前記二次記憶装置に書き込むメモリ記憶データ書き込みステップとを有することを特徴とするメモリ管理方法。
  14. メモリ装置と二次記憶装置とを管理するCPU(Central Processing Unit)に、メモリダンプ時に、前記メモリ装置に記憶されているメモリ記憶データを前記二次記憶装置に記憶されているデータに上書きさせるプログラムであって、
    前記二次記憶装置に記憶されているデータの中から、前記メモリ記憶データの上書きによって消去される上書き消去対象データを選択する上書き消去対象データ選択処理と、
    前記二次記憶装置の記憶領域のうち、前記上書き消去対象データ選択処理により選択された上書き消去対象データが記憶されている記憶領域の先頭領域に前記メモリ記憶データが上書きされていることを示す管理ヘッダ情報を書き込み、前記管理ヘッダ情報に後続させて、前記メモリ記憶データを前記上書き消去対象データに上書きして前記二次記憶装置に書き込むメモリ記憶データ書き込み処理とをCPUに実行させることを特徴とするプログラム。
JP2006153080A 2006-06-01 2006-06-01 メモリ管理装置及びメモリ管理方法及びプログラム Expired - Fee Related JP4897359B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006153080A JP4897359B2 (ja) 2006-06-01 2006-06-01 メモリ管理装置及びメモリ管理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006153080A JP4897359B2 (ja) 2006-06-01 2006-06-01 メモリ管理装置及びメモリ管理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2007323380A JP2007323380A (ja) 2007-12-13
JP4897359B2 true JP4897359B2 (ja) 2012-03-14

Family

ID=38856125

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006153080A Expired - Fee Related JP4897359B2 (ja) 2006-06-01 2006-06-01 メモリ管理装置及びメモリ管理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP4897359B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5195207B2 (ja) * 2008-09-17 2013-05-08 株式会社リコー 電子装置の制御部、電子装置、画像形成装置、電子装置の制御方法、プログラムおよび記録媒体
JP6221702B2 (ja) * 2013-12-05 2017-11-01 富士通株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
JP7135403B2 (ja) * 2018-04-23 2022-09-13 株式会社リコー ダンプ処理装置及び画像形成装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02230341A (ja) * 1989-03-02 1990-09-12 Nec Eng Ltd ダンプ情報出力方式

Also Published As

Publication number Publication date
JP2007323380A (ja) 2007-12-13

Similar Documents

Publication Publication Date Title
JP4965210B2 (ja) ファイル・システムの稠密診断データを取得および送信するためにコンピュータに実施させる方法
US20090265403A1 (en) File system
US7496794B1 (en) Creating lightweight fault analysis records
JP2006065845A (ja) 最適化された復元プランの生成
TWI506429B (zh) 用於非依電性容錯寫入作業之方法、運算系統及相關電腦程式產品
US9176813B2 (en) Information processing apparatus, control method
JP2008059228A (ja) ファイルシステム
JP4944033B2 (ja) 情報処理システム、情報処理方法、実行バイナリイメージ作成装置、実行バイナリイメージ作成方法、実行バイナリイメージ作成プログラム、実行バイナリイメージ作成プログラムを記録したコンピュータ読み取り可能な記録媒体、実行バイナリイメージ実行装置、実行バイナリイメージ実行方法、実行バイナリイメージ実行プログラム及び実行バイナリイメージ実行プログラムを記録したコンピュータ読み取り可能な記録媒体
JP5217155B2 (ja) ファイル圧縮自動判定方式および方法、並びに、プログラム
CN111382126B (zh) 删除文件及阻碍文件恢复的系统和方法
JPWO2007026484A6 (ja) 実行バイナリイメージの作成及び実行を行う装置、方法、プログラム、該プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4897359B2 (ja) メモリ管理装置及びメモリ管理方法及びプログラム
JP2008033527A (ja) ストレージ装置、ディスク装置及びデータ復元方法
WO2015198600A1 (ja) 解析装置、解析方法、および、解析プログラムが記録された記憶媒体
Reddy et al. Solid state device (SSD) forensics
JP4476021B2 (ja) ディスクアレイシステム
US6675317B2 (en) Method and system for determining erase procedures run on a hard drive
JP2008262574A (ja) 高信頼性ファイルシステム
Guo et al. Data recovery function testing for digital forensic tools
JP2007148536A (ja) Ram診断装置および方法
CN103678478A (zh) 信息处理装置、信息处理方法和程序
JP4838226B2 (ja) ネットワークロギング処理プログラム,情報処理システムおよびネットワークロギング情報自動退避方法
JP4157575B2 (ja) ウエアレベリング可能なファイルシステム
JP2006309536A (ja) ファイル管理プログラム、及びファイル管理装置
JP2005235110A (ja) 電子機器及び同機器に用いるプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111101

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111202

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees