JP4902427B2 - 履歴情報管理方法及び履歴情報管理システム - Google Patents

履歴情報管理方法及び履歴情報管理システム Download PDF

Info

Publication number
JP4902427B2
JP4902427B2 JP2007141262A JP2007141262A JP4902427B2 JP 4902427 B2 JP4902427 B2 JP 4902427B2 JP 2007141262 A JP2007141262 A JP 2007141262A JP 2007141262 A JP2007141262 A JP 2007141262A JP 4902427 B2 JP4902427 B2 JP 4902427B2
Authority
JP
Japan
Prior art keywords
history information
read
storage unit
reading
trace
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
JP2007141262A
Other languages
English (en)
Other versions
JP2008299360A (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.)
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 JP2007141262A priority Critical patent/JP4902427B2/ja
Publication of JP2008299360A publication Critical patent/JP2008299360A/ja
Application granted granted Critical
Publication of JP4902427B2 publication Critical patent/JP4902427B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、履歴情報管理方法及び履歴情報管理装置に係り、特に、ログやトレース等の履歴情報の書込み,読出しについて安全性の向上が可能な履歴情報管理方法及び履歴情報管理システムに関する。
計算機システムにおいて、システム自身の動きを表すログやトレースを記録することが行われる。システムに予期せぬ障害が発生したとき、その直前に記録されたログやトレースを読むことで、障害に至るまでのシステムの動きがわかり、障害の原因を特定しやすくなる。システムの記憶領域の大きさには限りがあるため、通常、ログやトレースを記録するためのバッファを用意し、バッファの末尾までログやトレースを記録し終えると、再び先頭から、既に記録されたデータを上書きして記録を続ける方法をとる。
特に、処理を実行する能力を持つプロセッサを複数持ち、複数の処理を並行して行うことができるマルチプロセッサシステムでは、記憶領域上の同一箇所に対して複数のプロセッサが同時に読出しや書込みを行う可能性があり、書き込まれている最中に読み出すと、正しいデータを読み出すことができないので、問題が大きい。
マルチプロセッサを用いた制御の例は例えば特開2006−259869号に記載されている。
特開2006−259869号公報
前述のように、ログやトレースの書込みは既に記録されたデータを上書きして行うため、記録されたログやトレースを読み出すときに、例えば、他のプロセッサによって上書きされないようにする必要がある。
これを解決する最も単純な方法は、読出しを行う間、ログやトレースの書込みを停止することである。しかし、ログやトレースを記録せずにシステムを動かし続けると、その間に発生する障害の解析が困難になる。
本発明の目的は、システム全体の動作の低下を避けつつ、なお、ログやトレース等の履歴情報を安全な取得が可能な履歴情報管理方法及び履歴情報管理システムを提供することにある。
上記目的を達成するために、本発明では、トレース及びログ等の履歴情報を読出す動作を行い、読み出しに係る記憶エリアに書き込む動作が行われるのを検知し、書き込み動作が検知されると読み出しに係る情報を他の記憶エリアに書き込むように構成した。
本発明によれば、システム全体の動作の低下を抑制しつつ、ログやトレース等の履歴情報の取得が安全におこなえるという効果が得られる。
以下、本発明を実施する形態の例について、図面を用いて説明する。まず、本実施の形態の概略を参考例と対比して説明する。
参考例の概要を図15(1)に示す。ログやトレース(以下、本明細書では、ログ及びトレースを総称して履歴情報と称する)の記録を停止させずにバッファを読み出すための技術として、ロックを用いて排他制御を行う方法を適用することが考えられる。この方法では、読出処理はまず最初に、バッファを使用することをロックというデータ構造に書込む。そして、読出しを終えると、バッファの使用を終えたことをロックに書き込む。一方、他のプロセッサで実行を開始した書込手段は、ロックに書き込まれた内容をチェックし、読出しが行われていることを知ると、読出しを終えるまでバッファヘの書込みを遅延する。そして、読出手段によってロックが書き換えられ、読出しを終えたことを確認できた時点で、遅延していたバッファヘの書込みを行う。この方法を用いれば、読出処理と書込処理がバッファの同じ領域を同時にアクセスすることを防げる。この方法の問題点は、読出手段がバッファを読み出している間、バッファヘの書込みを行う処理に遅延が発生することである。書込みを行う処理が長期にわたって遅延し、システム全体の性能が低下する。
他の参考例を図15(2)に示す。データを記録するバッファを複数に分けて管理し、データを読み出すときは、バッファの一部だけを上書き禁止にし、残りは他のプロセッサがデータを書き込むための領域として書込み可能とすることも行われている。この方法によれば、ログやトレースの記録を停止せずに、記録されたログやトレースが記録されたバッファの一部を安全に読み出すことが可能となる。この方法の問題点は記録されている全てのデータを読み出せないことである。バッファの一部を書込み処理で使用するため、その部分を読出すことはできない。従って、障害解析の有力な手がかりとなるデータの一部を読み出せないまま、上書きによって消失してしまう。
これに対して、実施例におけるログ及びトレース採取方法は、図1のような構成をとる。
システムは複数のプロセッサ1を備え、各プロセッサ1は独立してタスク2を実行する。従って、システム上では、プロセッサ1と同数のタスク2は同時に動作する。また、システムは全てのプロセッサ1がアクセスできる共有の記憶領域3を備え、任意のプロセッサ1が実行する任意のタスク2は自由にこの記憶領域3を読み書きする。
ログ及びトレースを記録するためのバッファ4は記憶領域3上に存在する。このバッファは単一でも良いし、複数あっても良い。
バッファ4からログ及びトレースを読み出すために、任意のプロセッサ1は読出手段5を実行する。読出手段5は、まず、保護条件データ6を設定して、読み出そうとするログ及びトレース全ての上書きによる消去を禁止する。
書込手段8は、任意のプロセッサ1上で任意のタスク2によって実行され、ログ及びトレースをバッファ4に書き込む。このとき、ログ及びトレースを書き込もうとする位置に既にある過去のログ及びトレースが、保護条件データ6によって上書きによる消去を禁止されているか否かを判定する。もし、上書きしようとするログ及びトレースが上書き消去禁止であれば、上書きを行う前に読出しを行う。一方、上書きしようとするログ及びトレースが上書き消去を禁止されていなければ、既に記録されているログ及びトレースをそのまま上書きする。
読出手段5は保護条件データ6を設定したあと、保護条件データ6に合致するログ及びトレースを全て読み出す。
このとき、書込手段8が別のプロセッサ1で並列に実行され、書込みを行うため、読出手段5は上書きされたログ及びトレースを読み出す可能性がある。上書きされたログ及びトレースを読み出すことを回避するため、読出しの前後に、ログ及びトレースが上書きされているかどうかを判定する。上書きされていることを検出した場合、そのログ及びトレースを書き込んだ書込手段8によって読み出されたログ及びトレースを読み出すことによって、上書き前のログ及びトレースを読み出す。この方法によれば、書込手段8を実行するプロセッサ1の動作を停止することなく、読み出そうとするログ及びトレースを全て読み出すことが可能となる。
上記構成によるログ及びトレースの採取の流れを、図2を参照しながら、システムの動作状態によって場合分けして説明する。
まず、読出し要求がなく、断続的にログ及びトレースの書込みが行われている状態での動作を説明する(図2(1))。書込手段8は、まず、保護条件データ6を参照し、書込みを行う位置に既にあるログ及びトレースが上書きによる消去を禁止されていないか確認する。禁止されていないことを確認すると、その位置にログ及びトレースを書き込む。このとき、書込み位置に既にあったログ及びトレースをそのまま上書きする。
次に、あるタスク2がログ及びトレースの読出しを始めるときの動作を説明する(図2(2))。タスク2は読出手段5を実行し、保護条件データ6に条件を設定する。条件を設定することによって、バッファ4に記録されたログ及びトレースの上書きによる消去は禁止される。
次に、保護条件データ6が設定された状態で、任意のタスク2がログ及びトレースの書込みを行う場合の動作を説明する(図2(3))。タスク2によって書込手段8が実行されると、まず、保護条件データ6を参照し、書込みを行う位置に既に存在するログ及びトレースが上書きによる消去を禁止されていないか確認する。禁止されていなければ、書込手段8はそのまま上書きを行う。一方、上書きによる消去を禁止されている場合は、上書きしようとしているログ及びトレースを含む領域に存在するデータを読み出してから、上書きする。従って、保護されたログ及びトレースを上書きするときは、上書き前にあるログ及びトレースは消去されず、任意の領域に読み出される。
次に、保護条件データ6が設定された状態で、読出手段5を実行したタスク2がそのまま読出手段5を用いて読み出すべきログ及びトレースを全て読み出す場合の動作を説明する(図2(4))。一般のタスクは前述のように、既に記録されたログ及びトレースを必要に応じて読み出しながらログ及びトレースを上書きしていく。一方、読出手段5を実行したタスクは、引き続き、読み出そうとするログ及びトレースが上書きされることを検証しながら、既に書き込まれたログ及びトレースを読み出していく。もし上書きされていれば、バッファ4から読み出したログ及びトレースではなく、そのログ及びトレースを上書きした書込手段8が上書きの直前に読み出したログ及びトレースを識別し、これを読み出す。これによって、全てのログ及びトレースを読み出すことができる。
本実施例では、マルチプロセッサシステムにおいても上書き前のデータを正しく読出すため読出し後に上書きの検証を行う。ログ及びトレース採取方法の動作を表す図を図16に示す。図16動作パターン(1)及び動作パターン(2)は、上書きを検証してからログ及びトレースを読み出すまでの間に、そのログ及びトレースの上書きが発生しない場合の動作を表す。上書き前のログ及びトレースを正しく読み出すことができる。図16動作パターン(3)は、読出手段が上書きの検証を終えてから、そのログ及びトレースを読み出すまでの間に、書込手段がデータを上書きする場合の動作を表す。読出後の上書き検証によって、書込手段が上書きを開始したことを検知し、書込手段によって読み出されたログ及びトレースを読み出すことで、上書き前のログ及びトレースを正しく読み出すことができる。上書きの検証は読出し後に一度行うだけで良いが、読出し前の検証を行わない場合、既に上書きされたログ及びトレースを読み出してしまい効率が低下するため、読出し前の検証を行う方が望ましい。
上記の構成によれば、マルチプロセッサシステムにおいて、ログやトレースを記憶するバッファヘの書込みを停止させずに、読出し要求を受けた時点でバッファに記録されている全てのログ及びトレースを読み出すことが可能となる。
次に、本発明の具体的な例としての実施形態を、図面を参照して説明する。
図3は、複数のプロセッサ1とそれらのどのプロセッサも任意の位置に読み書きが可能な共有の記憶領域3を備え、プロセッサ1がそれぞれ任意のタスク2を独立して実行することができるマルチプロセッサシステムにおいて、本発明の一実施形態によるログ及びトレースデータ採取方法が適用される、タスクの動作トレース採取機能の構成図である。
本実施例に係るシステムにおける動作トレース採取機能の目的は、システム上で動作するあるタスク2がエラーを起こして異常終了するとき、その原因究明を容易にするため、エラー検出直前に各プロセッサがどのような処理を実行していたかを示す情報を異常終了処理の中で自動的に記録することである。
本実施例に係るマルチプロセッサシステムの構成を述べる。
システムはn個のプロセッサ1と、全てのプロセッサ1がアクセス可能な共有の記憶領域3とを有し、プロセッサ1はそれぞれ独立に、任意のタスク2を実行できる。また、各プロセッサ1と対になるように、トレースバッファ4が記憶領域3に配置される。タスク2は、所定の処理を実行したこと表す一定のサイズのトレースをトレースバッファ4に書き込むため、書込手段8を実行する。書込手段8は、書込手段8自身を実行しているプロセッサ1を知り、そのプロセッサ1と対になるトレースバッファ4に、トレースを書き込む。一方、あるプロセッサ1で実行されているタスク2がプログラムエラーを起こすと、そのエラー処理の一部として読出手段5を実行し、読出要求を全てのプロセッサ1に伝える。このとき、各プロセッサ1に読出要求を伝える手段として、読出手段5は保護条件データ6にデータを書き込む。保護条件データ6にデータを書き込んだ時点で、バッファに存在する全てのトレースを上書きによって消去することは禁止される。各プロセッサ1が実行する書込手段8は、トレースの上書きが禁止されていることを検知して、トレースを読み出してエラー情報記録エリア10に記録する処理を上書き前に行う。
以下、上記マルチプロセッサシステムにおいて、本発明のログ及びトレースデータ採取方法に係るタスクの動作トレース採取機能に関するデータ構造を図4を用いて詳述する。
図4(1)は、トレースを記録するトレースバッファ4のデータ構造の詳細を表す。トレースバッファ4に記録されるトレースは、全て等しいサイズであり、そのサイズをsとする。トレースバッファはサイズsの区画がN個並ぶ列とする。従って、トレースバッファにはN個のトレースを同時に記録できる。区画には、先頭から順に0,1,…,(N−1)の区画番号を与える。任意の整数iをNで除算し、その剰余を区画番号とみなすことで、任意の整数iで区画を一意に示すことができる。このような整数iをインデックスと呼ぶこととする。インデックスをi、トレースバッファの先頭アドレスをhとすると、インデックスiが表す区画の先頭アドレスw(i)は式1で示される。
(式1)
w(i)=h+(i%N)×s
(但し、%は第1項を第2項で除算したときの剰余を表す演算子とする)
式1によって、インデックスからトレースバッファ内のアドレスを得ることができる。書込インデックス41は、次にトレースを書き込む区画を表すインデックスであり、トレースを書き込むたびに単調に1ずつ増加する。従って、トレースバッファ4の末尾の区画にトレースを書き込むと、次にトレースが書き込まれる区画はトレースバッファの先頭となる。
図4(2)は、保護条件データ6のデータ構造の詳細を表す。保護条件データ6はプロセッサ1ごとに割り当てられる。保護条件データ6はテーブルであり、あるプロセッサ1から要求された読出要求についての情報を保存するカラム90の集合として構成される。従って、カラム数はシステムが備えるプロセッサ数nに等しい。各カラム90は、読出先アドレス91と、読出インデックス92と、読出カウンタ93と、の3個のデータから成る。読出先アドレス91は、読み出したトレースの出力先を表す。読出インデックス92と読出カウンタ93の組は、ある区画にあるトレースが上書きによる消去から保護されているか否かを判定するための情報である。読出インデックス92は、保護されたトレースのうち、最初に読み出すべきトレースが記録されているトレースバッファ4の区画を表す。読出カウンタ93は、保護されたトレースのうち、既に読出しを終えたトレースの数を表す。
図4(3)は、エラー情報記録エリア10のデータ構造の詳細を表す。エラー情報記録エリア10は所定の個数のエラー情報11を保存することができる。エラー情報11の先頭には、一般的なエラーの情報が記録される。この部分をエラー情報ヘッダ111と呼び、全てのエラー情報ヘッダ111のサイズは固定値Hとする。エラー情報ヘッダ111の後には、エラー発生直前に各プロセッサ1が実行した処理を表すトレースを記録する。従って、この部分には、エラー発生時点で各トレースバッファ4に存在するトレースを記録する。各トレースバッファ4の内容を記録するそれぞれの区画をトレースバッファスナップショット112と呼ぶこととする。そのサイズはトレースバッファ4のサイズ(N×s)に等しい。コピーするトレースバッファ4と対になるプロセッサ1のプロセッサ番号をp(プロセッサ番号の最小値は1、最大値はプロセッサ個数とする)、コピー先のエラー情報11の先頭アドレスeとすると、各トレースバッファのコピー先アドレスr(p,e,c)は、以下の式2で求められる。
(式2)
r(p,e,c)=e+H+(p−1)×(N×s)+(c×s)
エラー情報先頭アドレスeは、読出手段5による読出要求の際、前述の読出先アドレス91に記録される。
次に、本実施例における書込手段8について、図5に示すフローチャートを交え、詳述する。
プロセッサ番号pのプロセッサ1で実行されるタスク2が書込手段8を実行すると、書込手段8は、そのプロセッサ1と対となるトレースバッファ4を書込先のバッファとして選択し、書込みを試みる。トレースバッファ4や保護条件データ6はプロセッサ1ごとに存在するが、説明文を平易とするため、以降の書込手段8に関する説明において、これらの名詞は、書込手段8を実行するプロセッサ1と対となるものを指すこととする。
書込手段8の処理手順は、大きく分けて、書込みを行う区画の選択(ステップsw1)、書込みを行う区画に既にあるトレースに対する保護条件データ6の判定(ステップsw2)、保護条件データ6に合致するトレースの読出し(ステップsw3)、そして、選択した区画へのトレースの書込み(ステップsw4)の4つとなる。
ステップsw1では、今回トレースを書き込む区画と、次回トレースを書き込む区画とを決定するため、現在の書込インデックス41を記憶し、同時に書込インデックス41を1増加させる。記憶した値は今回トレースを書き込む区画を表し、書込インデックス41は次回トレースを書き込む区画を表す値となる。
次に、ステップsw2,ステップsw3の一連の処理を、保護条件データ6の各カラム90に対して実行する。
ステップsw2では、今回トレースを書き込む区画に既にあるトレースが保護されているか判定するため、後述の保護条件判定処理Aを実行し、保護されていればステップsw3に進み、保護されていなければ、判定するカラム90をかえて、再度ステップsw2を実行する。保護条件データ6の設定有無を表す読出インデックス92が全く設定されていなければ(0が設定されていれば)、読出し処理は行わず、ステップsw4を実行する。
ステップsw3では、今回トレースを書き込む区画に既にあるトレースをエラー情報記録エリア10に保存するため、読出処理A7aを実行し、今回の書込区画にあるトレースをエラー情報記録エリア10に保存する。その位置は、式2を用いて導出される。その後、未判定のカラム90があれば、それを判定対象にかえてステップsw2に戻る。全てのカラム90に対して上記処理を終えたら、ステップsw5に進む。
ステップsw5では、ステップsw1にて決定した区画にトレースを書込み、書込手段8の実行を完了する。
上記ステップsw2の保護条件判定処理のフローチャートを図6に示す。この処理では保護条件データ6に含まれるカラム90のひとつを対象に判定を行う。この処理の実行を始める際、書込手段8によって判定を行うカラム90のひとつが選択されている。
まず、ステップsw21にて選択されたカラム90の読出インデックス92の値が0であるか判定する。この値が0であれば、それは保護条件データ6が設定されていないことを表すため、上書きされるトレースは保護対象外と判定し、保護条件判定処理を終了する。さもなくば、次にステップsw22を実行し、読出カウンタの値を一時領域cに記憶して、ステップsw23に進む。ステップsw23では、これから上書きしようとする区画に既に存在するトレースが保護対象であるかを調べる。読出インデックス92と読出カウンタ93との和が、ステップsw1で記憶した書込インデックス41の値と異なれば、その区画は保護対象外と判定して処理を終了する。続いて、ステップsw24にて、読出カウンタ93の値がトレースバッファ4の総区画数N以上であるか調べる。読出カウンタ93がNに達していれば、読出要求が設定した保護条件データ6に合致するトレース全ては既に読み出され、保護が完了しているため、記憶した書込インデックス41が表す区画は保護対象外と判定して処理を終了する。ステップsw25では、ステップsw22からここまでの判定をする間に、他のプロセッサ1によって読出しが行われたかを判定するため、現在の読出カウンタ93の値と、ステップsw22で記憶した読出カウンタの値cを比較する。これらの値が異なっていれば、他のプロセッサ1によって読出しが行われたため、読出しを行う必要はないとして、保護対象外と判定し、この処理を終える。さもなくば、読出カウンタ93の値を1加算し、書込インデックス41が示す区画にあるトレースは保護対象であり読出しが必要と判定して処理を終える。
以上の手順によって、保護条件データ6に合致し、かつ、まだ読み出されていないトレースを、上書きする前に確実に読み出す方法が実現される。
次に、本実施例の読出手段5の動作手順を詳述する。
図7は、読出手段5のフローチャートである。
読出手段5では、全てのトレースバッファ4の読出しを要求するため、保護条件データ6に値を設定することによって、保護条件を設定すると同時に読出に必要な情報を設定する。また、読出しを要求した後、読出処理B7bを実行することによって、トレースバッファ4の各区画を読み出すことも行う。
保護条件データ6にアクセスするとき、読出手段5を実行しているプロセッサ1に対応するカラムのみを扱う(例えば、読出手段5をプロセッサA1aで実行するときにアクセスする各保護条件データ6のカラム90は、プロセッサA1a読出情報カラム90aだけである)。このことを前提とし、以降、読出手段5に関する説明では、カラム90と表現した場合、読出手段5を実行するプロセッサに対応するカラム90を指すこととする。
読出手段5は、まず、各保護条件データ6に対して、ステツプsr1,ステップsr2を繰り返す。これにより、全ての保護条件データ6のカラム90に値が設定され、読出要求が完了する。ステップsr1では、カラム90の読出先アドレス91に、エラー情報11の先頭アドレスを設定する。これにより、読出処理A7a,読出処理B7bによって読み出したトレースを出力する先が決定する。次にステップsr2にて、読出インデックス92が書き込まれる。読出インデックス92の値は、その時点での書込インデックス41の値となる。保護条件データ6の設定有無は読出インデックス92が設定されているかどうかで判断されるため、以上の処理を各保護条件データ6に行うことで、各トレースバッファ4に対して読出要求が完了したことになる。
全てのトレースバッファ4に対して読出要求が完了したら、続いて、全てのトレースバッファ4を読み出す処理を行う。後述の読出処理B7bを実行するステップsr3を各トレースバッファ4に対し、繰り返す。
読出処理B7bは、読出手段5によって、トレースバッファ4ごとに実行される。まず、ステップsr31において、現在の読出カウンタ93を一時領域cに記憶する。そして、ステップsr32,ステップsr33を、cがN以上となるまで繰り返す。ステップsr32では、後述の判定・読出処理を実行し、(読出インデックス92+読出カウンタ93)をインデックスとする区画のトレースを読み出すべきかどうか判定して、必要であれば読出処理を行う。ステップsr33では、他の区画を読み出すため、再度、その時点の読出カウンタ93の値を読み出して、一時領域cに記憶する。読出カウンタ93の値がN以上となったら、読出要求によって設定された保護条件データ6に合致するトレースはすべて読み出したと判定でき、保護条件データ6を初期化するため、ステップsr34,ステップsr35を実行する。ステップsr34では、読出インデックス92を0に設定する。これによって、保護条件データ6は未設定の状態となり、以降に実行される書込手段8は、判定処理を行わずに上書きを実行するようになる。ステップsr35では、次回の読出要求に備えて、読出カウンタ93を0に設定する。
次に、前述の読出処理B7bのステップsr32にて実行される判定・読出処理について説明する。判定・読出処理の最初のステップsr321は、読出インデックス92と読出カウンタ93を記憶した値cとの和をインデックスとみなして得られる区画にあるトレースを、一時領域(本実施例ではスタック)に保存する。続いて、ステップsr322にて、読出カウンタ93が更新されているか、すなわち、この時点での読出カウンタ93の値と、先に記憶した値cが等しいかを調べる。もし異なれば、読出カウンタ93は書込手段8の過程で実行されるステップsw25によって更新されており、読み出すべき上書き前のトレースはその後実行されるステップsw3によって読み出されることが決定しているか、または既に読み出されているため、これを上書き前のトレースと識別し、読出手段は一時領域に記憶したトレースを破棄することだけを行い、ステップsr324に進む。さもなくば、ステップsr323にて、一時領域に記憶したトレースをエラー情報記録エリア10に出力する。続いて、ステップsr324では、ステップsr322と同様にして、再度読出カウンタ93の値が更新されていないかを調べ、もし更新されていなければ読出カウンタ93の値を1加算して処理を終了する。
読出手段5は、以上の手順によって、バッファ4のトレースに保護条件を設定し、バッファ4への書込みを継続したままトレースを順次保存する方法を実現する。
次に、本実施例において、複数のプロセッサ1がそれぞれ並列にタスク2を実行するときの動作を図10から図14に示すタイミングチャートを交えて説明する。
図10から図14までの各図は、本実施例のシステムにおいて、プロセッサ番号1を持つプロセッサA1aが書込手段8を実行し、それに並行して、プロセッサ番号2を持つプロセッサB1bが読出手段5を実行する場合についての動作例を表すタイミングチャートである。ここでは動作の具体例を示すため、トレースバッファ4に記録できる最大トレース数Nを32とする。横軸は時間を表す。縦軸は、トレースバッファ4aに含まれる書込インデックス41の値の変化、及び、保護条件データ6aに含まれるカラム90のうち、プロセッサ番号2番のプロセッサB1bの読出要求に対応するカラム90bの読出インデックス92,読出カウンタ93の値の変化を表す。垂直の点線は、引き出し線によって明示したステップの実行が開始されたタイミングを表す。横に伸びる二本の平行線とその間に記された数値は、その左に記載した項目が持つ値を示す。平行線が途中で交差する部分は、値が変化したことを示し、その左に変化前の値を、その右に変化後の値を記す。
図10(1)は、読出要求がない状態で書込手段8が実行されたときのタイミングチャートである。書込インデックス41の値は初期値83とする(これは区画19を表す)。また、読出インデックス92の値は初期値0とする(これは保護条件データ6が設定されていないことを表す)。まず、書込手段8の実行過程におけるステップsw1によって、書込インデックス41の値83が記憶され、区画19を上書きすることを決定し、同時に書込インデックス41の値を1増加させて、次の書込区画を設定する。次に書込手段8は、ステップsw21によって、読出インデックス92の値が0であることから、保護条件データ6が設定されていないことを確認し、続いてステップsw4にて、区画19の位置にトレースを書き込む。読出要求がないとき、このようにして、トレースバッファ4に記録されているトレースは読み出されることなく上書きされる。
図10(2)は、読出要求がある状態で書込手段8が実行されたときの2つのタイミングチャートである。書込手段8を実行する直前、上のタイミングチャートでは、書込インデックス41は83を示している。また、読出インデックス92は80を、読出カウンタ93は5を示しており、読出しはインデックス80(区画16)から始まり、インデックス84(区画20)までを終えていることを表している。書込手段8はステップsw21にて、読出インデックス92が0でないため、保護条件データ6が設定されていると判定して、ステップsw22に進む。ステップsw22にて読出カウンタ93の値5を読み出すと、続いてsw23にて、読出インデックス92と読出カウンタ93の値を加算し、次に読み出すべき区画のインデックスが85であること、すなわち、区画21であることを知る。今回上書きしようとしている区画はインデックス83、すなわち区画19であり、読出の必要はないと判断して、ステップsw4に進み、区画19のトレースを読み出さずに上書きする。
一方、図10(2)下のタイミングチャートは、上のタイミングチャートと比較して、読出カウンタ93の初期値だけが異なっている。従って、ステップsw23に進んだところで、読み出すべき区画のインデックス83と、上書きしようとしている区画のインデックス83が一致していることを確認して、ステップsw24に進む。ステップsw24では、読出カウンタ93の値がトレースバッファ4のサイズN(32)を超えていないことを確認し、区画19のトレースを上書き前に読み出すことを決める。読み出す直前にステップsw25にて読出カウンタ93の値を1増加させ、ステップsw3にて区画19のトレースを読み出す。その後、ステップsw4にて区画19を上書きする。
図11(3)のタイミングチャートは、書込手段8を実行するのに並行して、他のプロセッサで読出手段5が実行され、書込手段8によって上書きする区画が決定した直後に、読出手段5によって保護条件データ6が設定されたときの動作例を表す。書込手段8のステップsw1とステップsw21を実行する手順の間に、読出手段5のステップsr2が実行され、読出インデックス92が設定された動作例である。ステップsr2によって、書込インデックス41の値が読出インデックス92にコピーされる。この時点で書込手段8はインデックス83が示す区画19への上書きを決定しており、保護条件データ6はその定義により、インデックス84の示す区画20から保護を開始する。従って、書込手段8による区画19の上書きは影響せず、読出手段5によって保護された32個の区画は全て保護される。
図11(4)のタイミングチャートは、読出手段5によって保護条件データ6が設定された直後に、書込手段8によって上書きする区画が決定したときの動作例を表す。書込手段8によってステップsw1が実行される直前に読出手段5のsr2が実行され、保護条件データ6が設定されると、読出インデックス92の値は、ステップsw1が実行される前の書込インデックス41の値83が記録される。これによって、書込手段8は、上書きしようとしている区画19が保護条件データ6に合致していることを知ることができ、所定のステップを実行して、上書き前に区画19を読み出すことができる。
図12(5)は、書込手段8がもつ読出カウンタ93増減前後の手順と、読出手段5がもつ読出カウンタ93増減前後の手順が並行して実行されるときの動作例のひとつである。書込手段8によって、区画19が保護条件データ6に合致し、読み出すべきであるかを判定する一連の処理が実行されるなか、判定処理の最後のステップsw25を実行する直前に、読出手段5がいち早く読出しを終え、ステップsr324にて読出カウンタ93を1増加させるというケースを表している。書込手段8は、読出カウンタ93が変更されたことをステップsw25の実行によって検知し、区画19のトレース読出しを行わず、ステップsw4にて上書きを行う。
図12(6)は、前述の図12(5)に示した動作例の類似例であり、書込手段8のステップsw25が読出手段5のステップsr324の直前に実行されたケースを表すタイミングチャートである。書込手段8は読出手段5による区画19の読出しに並行して、ステップsw3にてトレースの読出しを行うが、同じトレースを上書きするため、読み出したトレースのデータ破壊は起こらない。また、読出手段5がステップsr324にて読出カウンタ93を増加させることもなく、トレースの読出しは不整合を起こすことなく進む。
図13(7)は、書込手段8と読出手段5によって同時に同じ区画の読出しが試みられ、読出手段5がステップsr321によって区画19の読出しを行っている最中に、書込手段8がステップsw4によって区画19に新しいトレースを上書きする動作例である。読出し中のデータを他のプロセッサによって上書きすると、読み出したデータは破壊される。このため、読出手段5がステップsr321によって読み出したトレースは破壊されている。しかし、読出手段5は、その後に実行されるステップsr322によって、読み出したトレースが破壊されていることを確認して、一時領域に記録されているそのトレースを破棄するため、トレースの読出は不整合を起こすことなく進む。
図14(8)は、書込手段8がステップsw25までを実行し、区画19の読出しを決定したとき、読出手段5はステップsr322までの実行を完了しており、書込手段8のステップsw3実行による、読み出したトレースの出力と、読出手段5のステップsr323実行による、読み出したトレースの出力がともに実行されるケースのタイミングチャートである。図13(7)で示したように、読出手段5による読出しと、書込手段8による上書きが衝突して、読み出すトレースが破壊されることを避けねばならないが、読出手段5のステップsr323で出力するトレースは、既に保存したトレースであるため、ステップsw4による破壊は起こらない。
以上のタイミングチャートで示したように、書込手段8と読出手段5による並列処理は正しく動作し、トレースを記憶するトレースバッファ4への書込みを停止させずに、読出し要求を受けた時点でバッファに記録されている全てのデータを、安全に読み出すことが可能となる。
本実施例では、保護条件としてインデックスを使用し、トレースバッファ上の位置を条件とする保護条件データを設定しているが、任意の条件を設定することもできる。例えば、トレースの中にタスク番号を記録し、保護条件にタスク番号を指定できるデータ構造を追加し、読出手段で保護条件にタスク番号を設定できるようにすることで、あるタスクのトレースのみを記録する方法を実現することができる。また、判定処理をモジュール化することで、任意の判定処理を切り替えて使用する方法をとってもよい。
トレースバッファに書き込まれる各トレースのデータの内容の一部に、そのトレースを記録する際にその位置を知るために使用した書込インデックスの値を含めることによって、本実施例とは異なる上書き検証方法を実現することもできる。この方法を実現するためには、書込手段及び読出手段で次の処理を行う。書込手段はトレースバッファにトレースを書き込むにあたり、はじめに書込インデックスの値を書き込む。読出手段は、読出しを終えたあと、読出した領域にあるトレースに記録されている書込インデックスの値を調べ、保護条件データに設定した先頭インデックスよりも大きいかどうかを調べる。大きければ、読み出したログ及びトレースは上書きされていると判定する。この方法によれば、書込手段が読出カウンタを更新しなくても、読出手段はトレースの上書きを検知することが可能となる。
上書き検証方法を実現するまた別の手段として、トレースデータの一部に、読出要求があるときに書き込まれたことを表すフラグを記録する領域を設ける方法もある。この方法を実現するためには、書込み手段及び読出し手段で次の処理を行う。書込手段はトレースバッファにトレースを書き込むにあたり、最初に読出し要求の有無を表すフラグとしてのデータを書き込む。読出要求があり、上書き前の読出しを行った場合、このフラグ領域に読出し要求があったことを示すデータを書込み、一方、読出要求がなく、上書き前の読出しを行わずにトレースを上書きする場合は、このフラグ領域に読出し要求が無かったことを示すデータを書き込む。読出し手段は、トレースの読出しを終えたあと、読み出した領域にあるトレースに記録されているフラグを調べ、もしこのフラグに読出要求があったことを示すデータが書き込まれていれば、読み出したログ及びトレースは上書きされていると判定する。この方法によれば、書込手段が読出カウンタを更新しなくても、読出手段はトレースの上書きを検知することが可能となる。
本実施例では、トレースバッファの区画を単位として読出処理を行い、それを繰り返すことで読出対象領域全域を読み出しているが、一度に読み出す領域の大きさは任意である。計算機システムの機能として、一定の大きさの領域を一度に効率よく読み出す機能がある場合は、これを一度に読み出す方法をとってもよい。
以上の説明の実施例では好ましくは、履歴情報(トレース及びログ)はバッファに記憶され、保護条件データは、上書きによる消去を禁止する情報であると共に、履歴情報を読出す要求を表すデータであり、履歴情報を前記バッファに書き込むにあたり、保護条件データを参照し、書込位置が上書き消去禁止位置と重複しているかどうかを検証し、重複を検知した場合に任意の読出先領域に履歴情報を先に読み出してから上書きをおこない、履歴情報を読出した後に、読出した領域内で上書きされていることを検証し、上書きを検知した場合に、履歴情報を上書きするときに任意の領域に読み出した上書き前の履歴情報を識別し、識別した該履歴情報を、バッファに記録した順序に従い、任意の領域に格納する。
また、任意の読出先領域に履歴情報を読み出す前に、履歴情報が上書きされていることを検証し、検知時に履歴情報の読出しを中止し、履歴情報を上書きする前に、任意の読出先領域に読み出した履歴情報を、読み出した履歴情報として扱う。
また、保護条件データに、次に読み出すべき履歴情報の位置を表す読出位置情報を設け、読出位置情報を更新後、更新前の読出位置情報が示していた位置の履歴情報を読み出し、読出位置情報を記憶し、読出位置情報が示す位置の履歴情報を読出し後に、記憶した読出位置情報と現在の読出位置情報とが異なっていることを検知し、読み出した該履歴情報が上書きされていると判定する。
また、各履歴情報はユニークな番号を記録する番号領域を備え、履歴情報の書込みの最初に、番号領域に番号を書き込み、履歴情報読出し後に、読出しを終えた位置にある履歴情報の番号領域を調べ、読出しを要求した時点でバッファに書き込まれている履歴情報に未割り当ての番号が番号領域に記録されているかどうかを検証し、番号領域に未割り当ての番号が記録されていることを検知した場合、読出した履歴情報が上書きされていると判定する。
また、履歴情報は読出し要求があるときに書き込まれたことを記録するフラグ領域を備え、履歴情報書込みの最初に、前記フラグ領域に書き込み、履歴情報読出し後に、読み出した履歴情報前記フラグを調べ、フラグが設定されていることを検知し、読出した該履歴情報が上書きされていると判定する。
また、前記プロセッサの個数と同数の、前記保護条件データを設定する保護条件データ記憶領域を備え、前記保護条件データの設定を開始してから、履歴情報の読出を全て完了するまでの間、該読出に係る前記プロセッサの使用権を明け渡すことなく実行されることをおこない、前記保護条件データを設定するにあたり、その時点で未使用の前記保護条件データ記憶領域のひとつを選択し、該保護条件データ記憶領域に保護条件データを設定する。
また、前記保護条件データ記憶領域に記憶されている複数の前記保護条件データ全てを参照し、それぞれの該保護条件データが表す上書き消去禁止位置と書込位置が重複しているかどうかを検証する。
また、読出対象領域に含まれる履歴情報のうち1個を読出し、読み出した履歴情報が前記バッファ上で上書きされていることを検証する手順を、該読出対象領域に含まれる履歴情報の個数と同じ回数繰り返す。
また、読出対象領域の少なくとも一部を含む領域を読出し、読み出した領域に含まれる履歴情報が前記バッファ上で上書きされていることを検証する手順を、読出対象領域全域を読み出すまで繰り返す。
本発明に係るログ及びトレースデータ採取方法の構成図である。 図1に係るログ及びトレースデータ採取方法の動作説明図である。 実施例における本発明の一実施形態に係るマルチプロセッサシステムの構成図である。 図3におけるデータ構造の詳細を示す図である。 図3に示す書込手段のフローチャートである。 図5に示す保護条件判定処理のフローチャートである。 図3に示す読出手段のフローチャートである。 図7に示す読出処理Bのフローチャートである。 図8に示す判定・読出処理のフローチャートである。 実施例における動作例を表すタイミングチャートである。 実施例における動作例を表すタイミングチャートである。 実施例における動作例を表すタイミングチャートである。 実施例における動作例を表すタイミングチャートである。 実施例における動作例を表すタイミングチャートである。 参考例と本発明の構成と動作の概略を示す図である。 本発明に係るログ及びトレースデータ採取方法の動作を表す図である。
符号の説明
1 プロセッサ
2 タスク
3 記憶領域
4 バッファ(トレースバッファ)
5 読出手段
6 保護条件データ
8 書込手段
10 エラー情報記録エリア
41 書込インデックス
90 カラム(読出情報カラム)
91 読出先アドレス
92 読出インデックス
93 読出カウンタ

Claims (6)

  1. 履歴情報の記憶および上書きをするための記憶領域である読出対象記憶部と、前記読出対象記憶部において前記履歴情報を上書きするときに当該上書きの前の履歴情報を一時的に記憶するための記憶領域である読出先記憶部と、並列処理可能な複数のプロセッサと、を用いて前記履歴情報を管理する履歴情報管理方法であって、
    それぞれの前記プロセッサは、
    前記読出対象記憶部に記憶されている履歴情報を読み出す場合、当該履歴情報についての保護条件データを設定してから、当該履歴情報を読み出し、
    前記読出対象記憶部に記憶されている履歴情報に上書きを行う場合、当該履歴情報について前記保護条件データが設定されているか否かを判定し、設定されていなければ当該履歴情報の上書きを行い、設定されていれば当該履歴情報を前記読出先記憶部にコピーしてから当該履歴情報の上書きを行い、
    前記読出対象記憶部から履歴情報を読み出し終えた場合、前記読出対象記憶部において当該履歴情報についての上書きがなされている最中か否かを判定し、当該上書きがなされている最中でなければ前記読み出した履歴情報を使用し、当該上書きがなされている最中であれば前記読み出した履歴情報に対応する前記読出先記憶部に記憶されている当該上書きの前の履歴情報を読み出して使用する
    ことを特徴とする履歴情報管理方法。
  2. それぞれの前記プロセッサは、
    前記読出対象記憶部に記憶されている履歴情報を読み出す場合、当該読み出しの前に、前記読出対象記憶部において当該履歴情報についての上書きがなされている最中か否かを判定し、当該上書きがなされている最中であれば当該履歴情報に対応する前記読出先記憶部に記憶されている当該上書きの前の履歴情報を読み出して使用する
    ことを特徴とする請求項1に記載の履歴情報管理方法。
  3. 前記保護条件データには、対応する前記履歴情報の前記読出対象記憶部における位置を表す位置情報が含まれており、対応する前記履歴情報が上書きされる場合は前記位置情報が更新され、
    それぞれの前記プロセッサは、
    前記読出対象記憶部から履歴情報を読み出し終えた場合、当該履歴情報に対応する保護条件データ中の前記位置情報を参照することで、前記読出対象記憶部において当該履歴情報についての上書きがなされている最中か否かを判定する
    ことを特徴とする請求項2に記載の履歴情報管理方法。
  4. 前記履歴情報はユニークな番号の記憶領域である番号記憶部を備え、
    それぞれの前記プロセッサは、
    前記読出対象記憶部に記憶されている履歴情報に上書きを行う場合、最初に前記番号記憶部に所定の番号を書き込み、
    前記読出対象記憶部から履歴情報を読み出した場合、当該履歴情報における前記番号記憶部を参照することで、前記読出対象記憶部において当該履歴情報についての上書きがなされている最中か否かを判定する
    ことを特徴とする請求項1に記載の履歴情報管理方法。
  5. 前記履歴情報は、上書きされている最中であることを示すフラグを記憶するフラグ記憶部を備え、
    それぞれの前記プロセッサは、
    前記読出対象記憶部に記憶されている履歴情報に上書きを行う場合、最初に前記フラグ記憶部に所定のフラグを記憶させ、
    前記読出対象記憶部から履歴情報を読み出した場合、当該履歴情報における前記フラグ記憶部を参照することで、前記読出対象記憶部において当該履歴情報についての上書きがなされている最中か否かを判定する
    ことを特徴とする請求項1に記載の履歴情報管理方法。
  6. 履歴情報の記憶および上書きをするための記憶領域である読出対象記憶部と、前記読出対象記憶部において前記履歴情報を上書きするときに当該上書きの前の履歴情報を一時的に記憶するための記憶領域である読出先記憶部と、並列処理可能な複数のプロセッサと、を備える履歴情報管理システムであって、
    それぞれの前記プロセッサは、
    前記読出対象記憶部に記憶されている履歴情報を読み出す場合、当該履歴情報についての保護条件データを設定してから、当該履歴情報を読み出し、
    前記読出対象記憶部に記憶されている履歴情報に上書きを行う場合、当該履歴情報について前記保護条件データが設定されているか否かを判定し、設定されていなければ当該履歴情報の上書きを行い、設定されていれば当該履歴情報を前記読出先記憶部にコピーしてから当該履歴情報の上書きを行い、
    前記読出対象記憶部から履歴情報を読み出し終えた場合、前記読出対象記憶部において当該履歴情報についての上書きがなされている最中か否かを判定し、当該上書きがなされている最中でなければ前記読み出した履歴情報を使用し、当該上書きがなされている最中であれば前記読み出した履歴情報に対応する前記読出先記憶部に記憶されている当該上書きの前の履歴情報を読み出して使用する
    ことを特徴とする履歴情報管理システム。
JP2007141262A 2007-05-29 2007-05-29 履歴情報管理方法及び履歴情報管理システム Expired - Fee Related JP4902427B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007141262A JP4902427B2 (ja) 2007-05-29 2007-05-29 履歴情報管理方法及び履歴情報管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007141262A JP4902427B2 (ja) 2007-05-29 2007-05-29 履歴情報管理方法及び履歴情報管理システム

Publications (2)

Publication Number Publication Date
JP2008299360A JP2008299360A (ja) 2008-12-11
JP4902427B2 true JP4902427B2 (ja) 2012-03-21

Family

ID=40172873

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007141262A Expired - Fee Related JP4902427B2 (ja) 2007-05-29 2007-05-29 履歴情報管理方法及び履歴情報管理システム

Country Status (1)

Country Link
JP (1) JP4902427B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011018116A (ja) * 2009-07-07 2011-01-27 Ihi Aerospace Co Ltd 分散型データ処理装置、これを用いた自律型移動ロボット及びデータ処理方法
JP4829367B1 (ja) * 2010-06-09 2011-12-07 株式会社東芝 状態表示制御装置、方法、及び状態表示制御システム
US9928157B2 (en) 2014-11-25 2018-03-27 International Business Machines Corporation Filtering multiple in-memory trace buffers for event ranges before dumping from memory
DE102019214324A1 (de) * 2019-09-20 2021-03-25 Robert Bosch Gmbh Verfahren und Vorrichtung zum Verarbeiten von Daten

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04148439A (ja) * 1990-10-12 1992-05-21 Nec Corp 情報処理装置のトレース方式
JPH0772981A (ja) * 1993-07-07 1995-03-17 Hitachi Ltd 記憶制御装置及びその制御方法
JPH08286950A (ja) * 1995-04-11 1996-11-01 Fuji Xerox Co Ltd 情報処理装置及びトレース情報格納方法
JPH10154087A (ja) * 1996-11-25 1998-06-09 Mitsubishi Electric Corp メモリ内容ダンプ処理方法
JP3104685B2 (ja) * 1998-07-31 2000-10-30 日本電気株式会社 システムログ記録装置、システムログ記録方法および記録媒体

Also Published As

Publication number Publication date
JP2008299360A (ja) 2008-12-11

Similar Documents

Publication Publication Date Title
US7421624B2 (en) Data recovery apparatus and method used for flash memory
US9323660B2 (en) Memory access control apparatus and memory access control method
CN113778822B (zh) 纠错能力测试方法、装置、可读存储介质及电子设备
JP4712102B2 (ja) 記憶装置、データ処理方法およびデータ処理プログラム
JP4902427B2 (ja) 履歴情報管理方法及び履歴情報管理システム
US20150220394A1 (en) Memory system and method of controlling memory system
WO2024055611A1 (zh) 基于固件仿真的故障现场回溯方法、设备及可读存储介质
US5822513A (en) Method and apparatus for detecting stale write data
KR101475993B1 (ko) 테이프 기록 장치에 있어서 데이터의 덮어쓰기 제어 방법, 덮어쓰기 제어 프로그램, 및 테이프 기록 장치
JP5504604B2 (ja) Ram診断装置
WO2014126263A1 (en) Storage controlling device, storage controlling method, storage system and program
JP2006072435A (ja) ストレージシステムおよびデータ記録方法
JP6052288B2 (ja) ディスクアレイ制御装置、ディスクアレイ制御方法及びディスクアレイ制御プログラム
CN110348245B (zh) 基于nvm的数据完整性保护方法、系统、装置及存储介质
JP2006107720A (ja) データ記憶装置およびデータ記憶方法
CN110826114B (zh) 基于ssd安全擦除后的用户数据测试方法和装置
CN113470725A (zh) 一种动态随机存储器的测试方法及装置
US20070174739A1 (en) Disk device, method of writing data in disk device, and computer product
JP2010176201A (ja) フラッシュメモリのデータ消失防止装置及びフラッシュメモリのデータ消失防止方法
US20170200503A1 (en) Storage apparatus, flash memory control apparatus, and program
CN117472292B (zh) 独立磁盘冗余阵列的数据重构方法及存储系统、控制器
CN116932275B (zh) 一种数据刷洗控制方法、ddr控制器和片上系统
CN114047880B (zh) 多Pass编程的NAND写入功耗优化方法、装置及计算机设备
CN114327007B (zh) Nvm子系统复位的实现方法、装置、计算机设备及存储介质
JP2003099333A (ja) フラッシュメモリ管理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090729

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20111020

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111109

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20111121

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees