(57)【要約】  効率的にログを記録するために、ログ記録装置に、ログ記録メモリ１０と、ＣＰＵ１からメモリ空間へのアクセス内容を取得するアクセス制御部６と、ログ記録条件１１を記憶するログ記録条件記憶部７と、前記アクセス制御部６が前記アクセス内容を取得する毎に当該取得したアクセス内容が前記ログ記録条件記憶部７が記憶するログ記録条件１１を満たすか否かを判定するログ記録条件判定部８と、を備え、前記アクセス制御部６は、前記ログ記録条件判定部８が前記ログ記録条件１１を満たすと判定したアクセス内容を前記ログ記録メモリ１０に格納し、前記ログ記録条件判定部８が前記ログ記録条件１１を満たさないと判定したアクセス内容を前記ログ記録メモリ１０に格納しないように構成する。
2012108020.tif 000002
【特許請求の範囲】
【請求項１】
ログ記録メモリと、
ＣＰＵからメモリ空間へのアクセス内容を取得するアクセス制御部と、
ログ記録条件を記憶するログ記録条件記憶部と、
前記アクセス制御部が前記アクセス内容を取得する毎に当該取得したアクセス内容が前記ログ記録条件記憶部が記憶するログ記録条件を満たすか否かを判定するログ記録条件判定部と、
を備え、
前記アクセス制御部は、前記ログ記録条件判定部が前記ログ記録条件を満たすと判定したアクセス内容を前記ログ記録メモリに格納し、前記ログ記録条件判定部が前記ログ記録条件を満たさないと判定したアクセス内容を前記ログ記録メモリに格納しない、
ことを特徴とするログ記録装置。
【請求項２】
前記ログ記録条件は、アクセス先のアドレス、データの値もしくはアクセス種別またはこれらの組み合わせを用いて規定される、
ことを特徴とする請求項１に記載のログ記録装置。
【請求項３】
前記ログ記録メモリは着脱可能なメモリ装置である、
ことを特徴とする請求項１または２に記載のログ記録装置。
【請求項４】
前記アクセス制御部は、バスを介して前記ＣＰＵと接続され、前記ＣＰＵから前記バスに送信されるアドレス、データおよびアクセス種別を取得対象とする、
ことを特徴とする請求項１または２に記載のログ記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組み込みコントローラに具備されるログ記録装置に関する。
【背景技術】
【０００２】
組込みコントローラを用いた開発においては、障害解析や性能測定のため、Ｉ／Ｏアクセスのログを取得することが広く行われている。ログの取得は、一般的にはソフトウェアにログ取得用の記述を追加することにより行われるが、本来実行すべき処理に対して余分な処理を追加することになるため、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の処理性能を低下させてしまう。このため、製品化時にはＣＰＵの処理性能を確保するためログ取得用の記述を無効にするのが普通である。【０００３】
しかしながら、ログ取得用の記述を無効にすると、障害解析が行えなくなってしまうため、製品出荷後の障害解析が困難となる。一方、ログ取得用の記述を有効にすると、ＣＰＵの処理性能が低下してしまうため、処理性能に余裕があるＣＰＵを使用する必要があるなど不合理となっていた。このため、ＣＰＵの処理性能を低下させることなく障害解析を行うためのログ取得を行うことができるログ記録装置が必要となる。【０００４】
例えば特許文献１に開示されている技術によれば、メインメモリとは別にＩ／Ｏログ記録メモリを設けて当該Ｉ／Ｏ格納メモリをＩ／Ｏ・メモリ制御回路に接続し、Ｉ／Ｏ・メモリ制御回路は、ＣＰＵからＩ／Ｏアクセスサイクルが発生すると、そのアクセスに対する応答を行うと同時にアクセスの発生日時とアドレスとデータをＩ／Ｏログ記録メモリに格納する。これにより、メインメモリを消費せず、かつ、ＣＰＵの性能低下を防ぐことができるようになる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−６６９６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１の技術によれば、発生したアクセスがＩ／ＯアクセスであればすべてＩ／Ｏログの記録を行うようになっていることから、Ｉ／Ｏアクセスが頻発する場合や長期間に渡ってログ記録を行う場合にはＩ／Ｏログ記録メモリの容量が不足して必要なログが取得できないという問題がある。一方で、Ｉ／Ｏログ記録メモリの容量を大きくすると、Ｉ／Ｏログの量も膨大となるため、障害解析の際に原因となったＩ／Ｏログを探し出すのが困難になるという問題がある。また、Ｉ／Ｏログ記録メモリを大きくするのはメモリのコスト増大につながり不合理となることから、Ｉ／Ｏログ記録メモリをいたずらに大きくすることはできず、取得できるＩ／Ｏログの量は制約されてしまうという問題がある。【０００７】
本発明は、上記に鑑みてなされたものであって、効率よくログを記録することができるログ記録装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、ログ記録メモリと、ＣＰＵからメモリ空間へのアクセス内容を取得するアクセス制御部と、ログ記録条件を記憶するログ記録条件記憶部と、前記アクセス制御部が前記アクセス内容を取得する毎に当該取得したアクセス内容が前記ログ記録条件記憶部が記憶するログ記録条件を満たすか否かを判定するログ記録条件判定部と、を備え、前記アクセス制御部は、前記ログ記録条件判定部が前記ログ記録条件を満たすと判定したアクセス内容を前記ログ記録メモリに格納し、前記ログ記録条件判定部が前記ログ記録条件を満たさないと判定したアクセス内容を前記ログ記録メモリに格納しない、ことを特徴とする。
【発明の効果】
【０００９】
本発明にかかるログ記録装置は、ＣＰＵにオーバヘッドを生じせしめることなく、かつログ記録メモリを効率的に使用することができるので、効率よくログを記録することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の実施の形態のログ記録装置を適用した組み込みコントローラの構成例を示す図である。
【図２】図２は、ログ記録条件のデータ構造の例を説明する図である。
【図３】図３は、本発明の実施の形態のログ記録装置を適用した組み込みコントローラの動作を説明するフローチャートである。
【図４】図４は、プログラムの一例を示す図である。
【図５】図５は、プログラムを用いてログ記録を行う場合のプログラムの一例を示す図である。
【図６】図６は、本発明の実施の形態を適用することによりログ記録メモリに記録されるログを示す図である。
【図７】図７は、アクセスにかかるログを全て記録した場合のログを示す図である。
【図８】図８は、本発明の実施の形態のログ記録装置を適用した組み込みコントローラの別の構成例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本発明にかかるログ記録装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態．
図１は、本発明の実施の形態のログ記録装置を適用した組み込みコントローラの構成を示す図である。図示するように、組み込みコントローラ１００は、ＣＰＵ１、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）２、内部回路４、外部回路５、アクセス制御部６、ログ記録条件記憶部７、ログ記録条件判定部８、計時部９およびログ記録メモリ１０を備えている。
【００１３】
ＣＰＵ１は、組み込みコントローラ１００を制御するためのプログラム３を実行する演算装置である。ＣＰＵ１は、プログラム３に基づいてＡＳＩＣ２の内部に備える内部回路４、またはＡＳＩＣ２を介した外部回路５へのアクセスを実行する。
【００１４】
ＡＳＩＣ２は、ＣＰＵ１からアクセスされ、組み込みコントローラ１００の目的を実現するために設計された種々の処理を行う集積回路であるとともに、ＣＰＵ１からのアクセスにかかるログを記録する実施の形態のログ記録装置として機能する。
【００１５】
内部回路４および外部回路５は、ＣＰＵ１からアクセスされ、前記組み込みコントローラ１００の目的を実現するための機能の一部を実現する回路である。内部回路４はＡＳＩＣ２の内部でアクセス制御部６に接続されており、外部回路５はＡＳＩＣ２の外部でアクセス制御部６に接続されている。
【００１６】
アクセス制御部６は、ＣＰＵ１からのアクセスに対して応答するとともに、ログ記録条件判定部８での判定結果に基づいて、前記アクセスの内容をログとしてログ記録メモリ１０に格納する制御を行う。
【００１７】
ログ記録条件記憶部７は、ＣＰＵ１からのアクセスをログとして記録するか否かを判定するために使用される条件（ログ記録条件１１）を保持する記憶装置であって、例えばレジスタや小規模なメモリで構成される。
【００１８】
なお、内部回路４や外部回路５は、レジスタやメモリなどの記憶装置を備えており、当該記憶装置はＣＰＵ１が認識可能なメモリアドレス空間にマップされている。ＣＰＵ１は、メモリアドレス空間にマップされている当該記憶装置にデータをリード／ライトすることによって内部回路４や外部回路５との間のアクセスを実行する。すなわち、ＣＰＵ１がＡＳＩＣ２を介して行うアクセスの内容は、アクセス先のアドレス、アクセス対象のデータ、およびリードアクセスであるかライトアクセスであるかを示すアクセス種別を含んでいる。ログ記録条件１１は、アクセス先のアドレス、アクセス対象のデータ、もしくはアクセス種別、またはこれらの組み合わせを用いてログ記録のための条件を規定する。
【００１９】
図２は、ログ記録条件記憶部７に保持されるログ記録条件１１のデータ構造の例を説明する図である。図２に示すように、ログ記録条件１１は、アクセス対象のアドレスの範囲の先頭および末尾を指定するためのフィールドと、アクセス対象のデータの範囲の最小値および最大値を指定するためのフィールドと、アクセス種別を指定するためのフィールドとを備えている。アドレス範囲が記述されるフィールドおよびデータの範囲が記述されるフィールドには、各フィールドに設定された夫々の値を有効とするか無効とするかを指定するフラグが夫々付されている。また、アクセス種別を指定するフィールドには、リード時のログ記録を有効とするか無効とするかを指定するフラグと、ライト時のログ記録を有効とするか無効とするかを指定するフラグとが格納される。
【００２０】
ログ記録条件１１にこのようなデータ構造を持たせることにより、ユーザは、アクセス対象のアドレス範囲、データの範囲、アクセス種別の夫々に設定した条件またはこれらを組み合わせた条件でログを記録させることができるようになる。例えば、アクセス対象のアドレス範囲の先頭を１００番地、末尾を２００番地として当該アドレス範囲の先頭および末尾を有効とし、アクセス種別にライトを設定することによって、前記アドレス範囲に対するライトアクセスが発生したときに当該ライトアクセスの内容をログ記録させることができる。上記アドレス範囲およびアクセス種別の設定のほかに最小値を１、最大値を１０とするデータ範囲を設定して当該データ範囲の最小値および最大値を有効とすることによって、前記アドレス範囲に当該設定したデータ範囲のデータを書き込むライトアクセスが発生したときに、当該ライトアクセスの内容をログ記録させることができる。ユーザは、プログラム３の実行中に発生しうるアクセスのうち、障害検出や性能測定のため特に注目するアドレス範囲やデータ範囲、アクセス種別を設定すればよい。なお、ログ記録条件１１は複数設定できるようにしてもよい。
【００２１】
なお、ログとして記録される内容は、例えばアクセス先のアドレスおよびアクセス種別を含む。また、アクセス種別がライトの場合には、書き込み対象のデータを含めるようにしてもよい。また、アクセス種別がリードの場合には、読み出されたデータを含めるようにしてもよい。
【００２２】
ログ記録条件判定部８は、ＣＰＵ１からのアクセスが、ログとして記録すべきアクセスか否かを、ログ記録条件記憶部７に設定されたログ記録条件１１に基づいて判定する回路である。
【００２３】
計時部９は、時刻をカウントするカウンタであって、アクセス制御部６は、ＣＰＵ１からアクセスを受けた際に計時部９からアクセス時刻を取得する。
【００２４】
ログ記録メモリ１０は、ＣＰＵ１からのアクセスの内容がログ（ログ１２）として格納されるメモリ装置である。
【００２５】
図３は、本発明の実施の形態のログ記録装置を適用した組み込みコントローラ１００の動作を説明するフローチャートである。
【００２６】
まず、動作開始時には、ＣＰＵ１は、プログラム３を実行することにより、ログ記録条件記憶部７に対してログ記録条件１１を設定する（ステップＳ１）。ログ記録条件１１が設定された後、アクセス制御部６は、ＣＰＵ１から内部回路４または外部回路５へのアクセスを監視しており（ステップＳ２、Ｎｏ）、アクセスが発生すると（ステップＳ２、Ｙｅｓ）、アクセス制御部６は、当該アクセスを受けたことに対する応答をＣＰＵ１に対して行う（ステップＳ３）。一方、ログ記録条件判定部８は、当該アクセスがログ記録条件記憶部７に設定されているログ記録条件１１に合致するか否かを判定する（ステップＳ４）。具体的には、ログ記録条件判定部８は、当該アクセスのアクセス先アドレスがログ記録条件１１に設定されているアドレス範囲に含まれているか否か、当該アクセスで読み出されたデータまたは書き込まれるデータが、ログ記録条件１１に設定されているデータ範囲内にあるか否か、当該アクセスの種別がログ記録条件１１に設定されているアクセス種別に該当するか否かを判定する。なお、ログ記録条件１１が複数設定されている場合には、ログ記録条件判定部８は、ＣＰＵ１からのアクセスが当該設定されているログ記録条件１１のうちの何れか一つに合致するか否かを判定する。ＣＰＵ１からのアクセスが条件に合致しなかった場合（ステップＳ４、Ｎｏ）、ステップＳ２の処理に移行する。
【００２７】
ＣＰＵ１からのアクセスがログ記録条件１１に合致した場合（ステップＳ４、Ｙｅｓ）、アクセス制御部６は、計時部９からアクセス時の時刻を取得して（ステップＳ５）、アクセスの内容を、当該取得した時刻を付してログ記録メモリ１０に格納する（ステップＳ６）し、ステップＳ２の処理に移行する。
【００２８】
次に、図４〜図７を用いて本発明の実施の形態の効果を説明する。図４は、プログラム３の一例を示す図であり、図５は、本発明の実施の形態の比較としてプログラムを用いてログ記録を行う場合のプログラムの一例を示す図である。
【００２９】
図５に示すように、プログラムを用いてログ記録を行う場合、ログ出力用の記述がプログラム中に埋め込まれる。ＣＰＵは、プログラムにおける通常動作にかかる記述のほかにログ出力用の記述を実行する必要があるため、余計な記述を実行する分のオーバヘッドを発生させてしまう。これに対して、図４に示すように、本発明の実施の形態によれば、ログ記録用の記述をプログラム３中に記述することなくログ記録を行うことができる。つまり、ＣＰＵ１にログ記録に伴うオーバヘッドを生じせしめることがない。したがって、製品出荷以降にもログ記録を実行するようにして、ログ記録メモリ１０に蓄積されたログ１２を製品出荷後に障害が発生した場合の障害の解析に供することもできるようになる。
【００３０】
図６は、本発明の実施の形態を適用することによりログ記録メモリ１０に記録されるログ１２を示す図であり、図７は、本発明の実施の形態の比較としてアクセスにかかるログを全て記録した場合のログを示す図である。
【００３１】
図７に示すように、アクセスにかかるログを全て記録した場合、アクセスが５つ発生した場合に夫々のアクセスに対応する５つのログが全て記録される。これに対して、図６に示すように、本発明の実施の形態によれば、ログ記録条件１１の設定内容に合致するログ（ここではアクセス１およびアクセス４にかかるログ）のみがログ記録メモリ１０に格納される。つまり、本発明の実施の形態によれば、必要なログを絞って記録することができるので、ログ記録メモリ１０を効率的に使用することが可能となる。したがって、製品出荷後にもログ記録を実行させるようにする場合、全アクセスにかかるログを記録する場合に比べて小さい容量のログ記録メモリ１０でログ記録を行うことができるようになる。
【００３２】
このように、本発明の実施の形態によれば、ログ記録メモリ１０と、ＣＰＵ１からメモリ空間へのアクセス内容を取得するアクセス制御部６と、ログ記録条件１１を記憶するログ記録条件記憶部７と、前記アクセス制御部６が前記アクセス内容を取得する毎に当該取得したアクセス内容が前記ログ記録条件記憶部７が記憶するログ記録条件１１を満たすか否かを判定するログ記録条件判定部８と、を備え、前記アクセス制御部６は、前記ログ記録条件判定部８が前記ログ記録条件１１を満たすと判定したアクセス内容を前記ログ記録メモリ１０に格納し、前記ログ記録条件判定部８が前記ログ記録条件１１を満たさないと判定したアクセス内容を前記ログ記録メモリ１０に格納しない、ように構成したので、ＣＰＵ１にオーバヘッドを生じせしめることなく、かつログ記録メモリ１０を効率的に使用することができる。すなわち、効率よくログを記録することができる。
【００３３】
また、ログ記録条件１１は、アクセス先のアドレス、データの値もしくはアクセス種別またはこれらの組み合わせを用いて規定されるようにしたので、ユーザは柔軟にログ記録のための条件を設定することができるようになる。
【００３４】
なお、以上の説明においては、内部回路４および外部回路５はアクセス制御部６を介して接続されているとして説明したが、図８に示す組み込みコントローラ２００のように、内部回路４、外部回路５に対応する機能を有する周辺回路１３、１４がＣＰＵ１とバス接続され、ログ記録装置としてのＡＳＩＣ２は当該バスからアドレス、データ、アクセス種別を読み出して、当該読み出した内容をログ記録するように構成してもよい。
【００３５】
また、ＡＳＩＣ２を用いてログ記録装置を実現するものとして説明したが、ＡＳＩＣ２に対応する機能をＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）やＣＰＬＤ（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）を用いて実現するようにしても構わない。
【００３６】
また、ログ記録メモリ１０をフラッシュメモリカードなどの着脱可能なメモリ装置で構成するようにしてもよい。このようにすることによって、ユーザは、ログを解析する際にログ記録メモリ１０を取り外し、取り外したログ記録メモリ１０からログをパーソナルコンピュータなどに読み出して解析することができるため、ユーザにとっての利便性が向上する。
【符号の説明】
【００３７】
１  ＣＰＵ
２  ＡＳＩＣ
３  プログラム
４  内部回路
５  外部回路
６  アクセス制御部
７  ログ記録条件記憶部
８  ログ記録条件判定部
９  計時部
１０  ログ記録メモリ
１１  ログ記録条件
１２  ログ
１３、１４  周辺回路
１００、２００  組み込みコントローラ
【図１】
2012108020.tif 000003
【図２】
2012108020.tif 000004
【図３】
2012108020.tif 000005
【図４】
2012108020.tif 000006
【図５】
2012108020.tif 000007
【図６】
2012108020.tif 000008
【図７】
2012108020.tif 000009
【図８】
2012108020.tif 000010
【国際調査報告】
2012108020.tif 000011
2012108020.tif 000012
2012108020.tif 000013
2012108020.tif 000014
2012108020.tif 000015
2012108020.tif 000016
2012108020.tif 000017