(57)【要約】【課題】障害時のシステムの状態情報の収集を可能とするバウンダリスキャン機能を有するデジタルシステムを提供する。【解決手段】データバスにより接続された少なくともＣＰＵを含む複数の機能素子と、前記複数の機能素子の一つにより読み出し制御される揮発性メモリと、前記複数の機能素子の他の一つにより書込み制御される不揮発性メモリを有し、更に前記複数の機能素子に備えたバウンダリスキャンラインにより前記複数の機能素子に接続された情報収集回路を備え、前記情報収集回路は、運用時における障害発生時に、前記複数の機能素子の一つのバウンダリスキャンラインに前記揮発性メモリに保存された履歴情報を読み出し、前記複数の機能素子の他の一つのバウンダリスキャンラインから前記読み出した履歴情報を前記不揮発性メモリに複写保存する制御を行う。【選択図】図７
2005284549.tif 000002
【特許請求の範囲】
【請求項１】
データバスにより接続された少なくともＣＰＵを含む複数の機能素子と、
前記複数の機能素子の一つにより読み出し制御される揮発性メモリと、
前記複数の機能素子の他の一つにより書込み制御される不揮発性メモリを有し、
更に前記複数の機能素子に備えたバウンダリスキャンラインにより前記複数の機能素子に接続された情報収集回路を備え、
前記情報収集回路は、運用時における障害発生時に、前記複数の機能素子の一つのバウンダリスキャンラインに前記揮発性メモリに保存された履歴情報を読み出し、
前記複数の機能素子の他の一つのバウンダリスキャンラインから前記読み出した履歴情報を前記不揮発性メモリに複写保存する制御を行う
ことを特徴とするバウンダリスキャン機能を有するデジタルシステム。
【請求項２】
請求項１において、
前記複数の機能素子の各々は、入出力端子に対応して、前記バウンダリスキャンライン上にスキャンセルを有し、
前記情報収集回路は、読み出し制御するリードビットパターンを含むリードデータストリームを生成する回路と、書込み制御するライトビットパターンを含むライトデータストリームを生成する回路を有し、
生成された前記リードデータストリームを前記バウンダリスキャンラインに送り、前記揮発性メモリに接続する機能素子のスキャンセルから前記揮発性メモリに記憶された履歴情報データを読み出し、
該読み出された履歴情報データを含むリードデータストリームを、前記ライトデータストリームを生成する回路により前記読み出された履歴情報データを含むライトデータストリームに変換し、
前記バウンダリスキャンラインを通して前記不揮発性メモリに送り、前記履歴情報データを前記不揮発性メモリに書込み保存する
ことを特徴とするバウンダリスキャン機能を有するデジタルシステム。
【請求項３】
請求項１または２において、
前記不揮発性メモリは、複数面の格納領域を有し、前記複数面の格納領域の各々を切り替えて、障害発生時毎に、前記揮発性メモリの履歴情報データが複写保存されることを特徴とするバウンダリスキャン機能を有するデジタルシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バウンダリスキャン機能を有するデジタルシステムに関し、特に特殊イベント発生時（例えばソフトウエア、ソフトウエア障害等）においても履歴情報の収集を可能とするバウンダリスキャン機能を有するデジタルシステムに関する。
【背景技術】
【０００２】
ソフトウエアを実行するＣＰＵを搭載したデジタルシステムにおいて、ソフトウエア／ソフトウエアデバッグ時の装置状態、ソフトウエア走行状態や、運用時における問題発生時の情報等の履歴情報の収集においては、これまで各種方法が提案され、ソフトウエアやソフトウエアにその機能が搭載されてきた。
【０００３】
かかる履歴情報収集において、デジタルシステムの規模が大きくなり、ソフトウエアが複雑になるほど収集すべき情報量が多くなる。またソフトウエア／ソフトウエアにおける問題の早期解決の点でリアルタイムに情報を収集、解析し、その結果を反映させなければならないという使命がある。
【０００４】
ここで、ソフトウエアを実行するＣＰＵを搭載したデジタルシステムにおいて、ソフトウエアあるいはソフトウエアの障害時は、障害検出回路が働き、ＣＰＵにマスク不可の割り込みを掛けて、障害処理を行わせているものが多い。
【０００５】
この場合、障害時にどのような動作をしていたかの情報解析は、定期的に履歴（ログ）情報を収集し、あるいはメモリ、ＬＳＩ内レジスタ等の情報の収集をしておき、収集した情報を後に解析することによって行われるのが一般的である。
【０００６】
しかしながら、これらの収集した情報は、通常のメモリでは電源断時や、システムの再開時に行われるリセット等で消えてしまうため、外部の記憶装置に保存したり、最近では安価な不揮発性メモリに保存したりするのが一般的となっている。
【０００７】
しかし、これらの情報収集は、きっかけとなるソフトウエアあるいはソフトウエアの障害が発生し、割り込みがかかった後の障害処理が適切に動作できることが条件となる。ソフトウエアの障害にはソフトウエアの正常な走行を保証できないものもあり、またソフトウエアの障害では既に、その前の段階でメモリ上のソフトウエアが破壊されている可能性もある。これでは正常な障害処理を期待できず、その情報収集が正確に行われる保証がない。
【０００８】
他方、ＬＳＩの高集積化、省面積化はそのパッケージにＢＧＡ（Ball Grid Array:プリント配線基板の裏面に並べた球形半田アレイをリードの代わりとするパッケージの実装構造）を始めとする目視だけでは製造正常性の確認が不可能なデバイスを生み出している。
【０００９】
これに対応するべく、デジタルシステムの製造における正常性（ＬＳＩがプリント基板に正常に搭載されているか否か）をチェックするために、バウンダリスキャンと呼ばれる標準機能のシステムが考えられた。これは、ＬＳＩの中にその機能果たす、複数の入出力端子対応に備えられるセルが繋がったバウンダリスキャンラインが組み込まれ、バウンダリスキャンラインが組み込まれたＬＳＩ同士で内部回路とは無関係に信号の送受信が可能なように構成されている。
【００１０】
かかるバウンダリスキャン構成により、結果としてＬＳＩの内部情報やＬＳＩ間のパターンチェックが行えるようになったシステムである。
【００１１】
このバウンダリスキャンは通常ＪＴＡＧ（Joint Test Action Group:バウンダリスキャン規格を決めた団体）の標準規格５端子のコネクタにケーブルを接続し、それを外部に置かれたＢＳＴ（バウンダリスキャンテスト）制御コンソールから制御することで、上記した機能を用いることができるようになっている。
【００１２】
また、外部からの制御として、制御信号に適当な制御データパターンを送ることによってバウンダリスキャンラインを具備したＬＳＩの内部情報やそのＬＳＩに接続されたメモリなどの情報を読むことが可能である。
【００１３】
このバウンダリスキャン機能は、システム本体の機能とは有機的には繋がっておらず、これらを動作させるためには別クロックで動作させる必要がある。したがって、前述したシステムの障害処理が正常に走行しないような場合であっても、このシステム本体の機能と有機的には繋がっているルートを使用すれば情報を収集できる可能性がある。
【００１４】
かかるバウンダリスキャン機能を用いる従来技術として、ＣＰＵが動作不能となる場合に、スキャン機能により選択したモジュールの情報を引き出す発明（特許文献１）、デジタルシステムの障害発生を監視し、障害発生直後、バウンダリスキャンを用いて所定のＡＳＩＣ内部レジスタをよみとり、記憶部に記憶する手段を設ける発明（特許文献２）、また、バウンダリスキャン機能によって、内蔵する配線の導通状態を検査する機能において、期待値を検査結果を比較して判断結果を表示する機能を有する発明（特許文献３）等が提示されている。
【特許文献１】特開２０００−１３１３８９号公報
【特許文献２】特開２０００−１４８５３２号公報
【特許文献３】特開２０００−８８９２７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、単純に例えば障害発生時に、デジタルシステムを止めてバウンダリスキャンによる障害情報収集を図ろうとしても、保守者が駆けつけＪＴＡＧコネクタを接続し、情報収集していたのでは、それまでにシステムが継続して停止することになるので、運用サービスに大きな影響を与えてしまう。
【００１６】
また、システムを止めずに収集を図ろうとする（保守者が駆けつけて準備ができてから収集を図る）のでは、システムは動作しつづけているので状態が変わってしまい、本来欲しい情報を収集できない。すなわち、通常、障害処理が行われた後はソフトウエアで再開処理によりリセットがかかり、情報は全て消えてしまう。障害処理ができない場合はタイムアウトによりリセットがかかりやはり、情報は消えてしまう。
【００１７】
また、特許文献２に記載の発明では、障害発生直後にバウンダリスキャンを用いて所定のＡＳＩＣ内部レジスタを読み取り、記憶部に記憶することが示されているが、前記ＡＳＩＣのコア部分に障害が生じる場合は、ＡＳＩＣ内部レジスタの内容を読み取るという動作自体が不能であり、制限がある。
【００１８】
ここで、ソフトウエアが走行不可能な障害であっても、バウンダリスキャンが動作可能であれば収集できるような情報を障害発生時にリアルタイムに収集できる構成を得れば、これらの問題は解決することになる。
【００１９】
したがって、本発明の目的は、かかる認識に基づき、特に情報収集が不可能であったり、リアルタイムの収集が困難である従来システムにおける条件においても、障害時のシステムの状態情報の収集を可能とするバウンダリスキャン機能を有するデジタルシステムを提供することにある。
【課題を解決するための手段】
【００２０】
上記の目的を達成する本発明に従うバウンダリスキャン機能を有するデジタルシステムの第１の態様は、データバスにより接続された少なくともＣＰＵを含む複数の機能素子と、前記複数の機能素子の一つにより読み出し制御される揮発性メモリと、前記複数の機能素子の他の一つにより書込み制御される不揮発性メモリを有し、更に前記複数の機能素子に備えたバウンダリスキャンラインにより前記複数の機能素子に接続された情報収集回路を備え、前記情報収集回路は、運用時における障害発生時に、前記複数の機能素子の一つのバウンダリスキャンラインに前記揮発性メモリに保存された履歴情報を読み出し、前記複数の機能素子の他の一つのバウンダリスキャンラインから前記読み出した履歴情報を前記不揮発性メモリに複写保存する制御を行うことを特徴とする。
【００２１】
上記の目的を達成する本発明に従うバウンダリスキャン機能を有するデジタルシステムの第２の態様は、第１の態様において、前記複数の機能素子の各々は、入出力端子に対応して、前記バウンダリスキャンライン上にスキャンセルを有し、前記情報収集回路は、読み出し制御するリードビットパターンを含むリードデータストリームを生成する回路と、書込み制御するライトビットパターンを含むライトデータストリームを生成する回路を有し、生成された前記リードデータストリームを前記バウンダリスキャンラインに送り、前記揮発性メモリに接続する機能素子のスキャンセルから前記揮発性メモリに記憶された履歴情報データを読み出し、読み出された履歴情報データを含むリードデータストリームを、前記ライトデータストリームを生成する回路により前記読み出された履歴情報データを含むライトデータストリームに変換し、前記バウンダリスキャンラインを通して前記不揮発性メモリに送り、前記履歴情報データを前記不揮発性メモリに書込み保存することを特徴とする。
【００２２】
さらに、上記の目的を達成する本発明に従うバウンダリスキャン機能を有するデジタルシステムの第３の態様は、第１または、第２の態様において、前記不揮発性メモリは、複数面の格納領域を有し、前記複数面の格納領域の各々を切り替えて、障害発生時毎に、前記揮発性メモリの履歴情報データが複写保存されることを特徴とする。
【００２３】
本発明の特徴は、以下に図面に従い説明される発明の実施の形態例から更に明らかになる。
【発明の効果】
【００２４】
本発明によれば、比較的簡単なソフトウエア回路の追加で、障害発生時の情報収集をただちに行うことが可能となり、またその情報収集条件としてＣＰＵが動作不可の状態であっても、情報の収集が可能となる。これにより、本発明を実現したデジタルシステムにおいて問題解析、修復の短期間の解決を実現し、ソフトウエア／ソフトウエアのバグの早期発見に威力を発揮することができる。
【発明を実施するための最良の形態】
【００２５】
以下に図面に従い、本発明の実施例を説明するが、本発明の保護の範囲はかかる実施例に限定されるものではない。
【００２６】
ここで、本発明の理解のために、本発明の前提となるバウンダリスキャンの内容について、実施の形態例の説明に先立って以下に説明する。
【００２７】
図１は、バウンダリスキャンによる、ボード（回路基板）の製造時に性能調査が行える構成を有する従来のデジタルシステムの概念構成図である。ここで、デジタルシステムは、本発明において、少なくともＳＤＲＡＭ５等に格納されたプログラムを実行するＣＰＵを有し、関連するメモリ及び、ＬＳＩ化された機能素子とともにボードに搭載された装置と定義される。
【００２８】
図１に示す例では、バウンダリスキャン機能を持ったＬＳＩ１やＦＰＧＡ（Field Programmable Gate Array）２及びＣＰＵ３等は回路基板（以下、ボードという）１００に搭載され、バウンダリスキャンルート１１０で結合されている。ＢＳＴインタフェース１０２を通してＢＳＴ制御コンソール１０１に接続されている。
【００２９】
さらに、機能素子としてのＬＳＩ１、ＦＰＧＡ２及びＣＰＵ３と図示しない外部回路（装置）との間でデータ送受を行うためのバッファ回路１０３を有している。
【００３０】
図２は、バウンダリスキャンルート１１０のイメージを示す図である。図２において、上記図１におけるＬＳＩ１，ＦＰＧＡ２、ＣＰＵ３等の複数の機能素子（ＩＣ回路）１Ａ，１Ｂ，１Ｃ，１Ｄ，１Ｅ，１Ｆ（以下、１Ａ〜１Ｆと略記する）は、ボード１００上に搭載され、テストデータ入力信号（ＴＤＩ）−テストデータ出力信号（ＴＤＯ）が複数のデバイス１Ａ〜１Ｆにいもづる式に接続される。ＢＳＴインタフェース１０２を通して、ＢＳＴ制御コンソール１０１から供給される、各種クロック（ＴＭＳ，ＴＲＳＴ，ＴＣＫ）が各デバイス１Ａ〜１Ｆに並列に供給される。
【００３１】
さらに、デバイス１Ａ〜１Ｆの入出力端子の全てにバウンダリスキャンテストセル（以下、単にセルという）と呼ばれるセル回路１０が付加されている。
【００３２】
図３は、１つのデバイスの内部構造を示す図である。図３において、１つのデバイス１Ａに注目した図でセルとその内部構造を示しているが、他のデバイスも同様構成である。デバイス１Ａの全体が図３Ａに示され、複数の入出力端子対応にセル１０が設けられている。
【００３３】
図３Ｂに一つのセル１０の構成ブロック図が示され、図３Ｃにその詳細構成ブロック図が示されている。各セル１０はラッチ回路１２により１ビットの情報を保存可能である。図３Ｂに示されるようにセル１０が、デバイス１Ａの入力端子に置かれる場合は、外部からの信号入力の状態をセル内のラッチ回路１２に保存可能であり、デバイス内部へ出力が可能でもある。
【００３４】
逆にデバイス１Ａの出力端子に置かれる場合は、デバイス内部の情報をラッチ回路１２にラッチ可能であり、この情報は外部端子へ出力が可能である。
【００３５】
また、このラッチデータはＴＤＩ信号によりバウンダリスキャンルートから入力が可能で、複数のセル１０が連なって接続され、シフトレジスタとして構成されている。図３Ｃに示すように、シフトクロック（ＴＣＫ）を１クロック分送るとシフトレジスタとして１ビット隣のセル情報が入力され、そのセルの状態を変えることができる。
【００３６】
ＴＣＫを順に送るとＴＤＩからＴＤＯに向けて各セル１０の状態が移動していき、最終段のセル１０のＴＤＯからデータが順に１ビットずつ出力されるように構成されている。
【００３７】
このセル１０の状態はこれまで説明したように結局３つの値をとることができる。それを示したのが図４である。補足−データレジスタ状態（Capture−DRステート:図４Ａ）により外部端子状態を、シフト−データレジスタ状態（Shift−DRステート：図４Ｂ）により順にシフトし、更新−データレジスタ状態（Update−DRステート：図４Ｃ）によりセルの状態を外部端子へ出力することができる。
【００３８】
図５は、更に上記３つの状態をバウンダリスキャンテスト対象ボードにおけるデバイスの状態として示す図である。
【００３９】
図５Ａは、デバイスの入力ピン１３の状態（並列ビット “１０１１”）をＴＣＫの立ち上がりエッジで対応するセル１０のバウンダリスキャンレジスタ１１に取り込む状態（Capture-DRステート）を示している。図５Ｂは、１ビット隣のセル情報が入力されるようにセル１０を接続して、バウンダリスキャンレジスタ１１の内容を１ビットシフトし、ＴＤＯから１ビット出力する。同時にＴＤＩから新しいデータを１ビット入力する状態を示す（Shift-DRステート）。複数ビットをシフトする場合には、この状態を繰り返すことにより可能である。図に示す例では、・・・００１１０１０１・・・の様に複数ビットが１ビットずつＴＤＩから入力され、ＴＤＯに出力される状態を示している。
【００４０】
図５Ｃは、ＴＣＫの立ち上がりエッジで、バウンダリスキャンレジスタ１１の内容（並列ビット “０１０１”）をデバイスの出力ピン１４に出力する状態（Update-DRステート）を示している。
【００４１】
製造性能の確認（デバイス間の接続確認）は、上記のバウウダリスキャン機能を用いてデバイス間の接続をチェックする方法を示す図６のように行われる。すなわち、バウンダリスキャンテスト（ＢＳＴ）制御コンソール１０１を用い、バウンダリスキャン機能を持ったデバイス同士がボード１００上のパターンで接続されていることを確認する。このために、ＢＳＴ制御コンソール１０１からあるデバイス１ＡのＴＤＩを通してデータパターン（例えば、・・・１１０１・・・）をバウンダリスキャン回路を用いてShift-DRステートで入力する。
【００４２】
デバイス１Ａは、次いでUpdate-DRステートでデータパターンを出力ピン１２から出力する。これに対応してデバイス１Ａに接続する別のデバイス１Ｂでは、Capture-DRステートでデバイス１Ａから出力されたデータパターンを入力ピン１３を通してラッチする。
【００４３】
デバイス１ＢでラッチしたデータパターンをShift-DRステートでシフトしてデバイス１ＢのＴＤＯから１ビットづつ出力する。
【００４４】
デバイス１ＢのＴＤＯからの出力データパターンを、デバイス間の接続チェック結果としてＢＳＴ制御コンソール１０１により取り込み、先にデバイス１Ａに出力したデータと比較する。比較の結果、一致すれば、デバイス１Ａ，１Ｂ同士の接続パターンが正しく接続されている、即ち、デバイス１Ａ，１Ｂは正常に基板に装着されていることを確認することができる。
【００４５】
次に、従来の技術である、ＬＳＩ１に接続されたメモリの情報収集方法について説明する。
【００４６】
図１に戻って説明すると、従来のボード１００ではＣＰＵ３によって、ＳＲＡＭ６に格納された情報を収集するしかなかった。例えば、障害が発生し、これを障害検出回路４で検出する（ステップＳ１）と、ＣＰＵ３がその通知を受けて障害処理モードに入る（ステップＳ２）。
【００４７】
そこでＬＳＩ１を通じて揮発性メモリであるＳＲＡＭ６にアクセスする（ステップＳ３）。そして、ＳＲＡＭ６から障害解析のための履歴データの情報を読み出し、不揮発性メモリ７に書き込む（ステップＳ４）ことで障害に対応する履歴データのバックアップ処理の目的を達成していた。図１にはその工程順ステップＳＳ１〜Ｓ４が示されている。
【００４８】
しかし、かかる従来方法ではＦＰＧＡ２，ＬＳＩ１，ＣＰＵ３が正常に動作する必要があるだけでなく、それらを繋ぐバスが正常であることが必要である。また障害処理のソフトウエアが破壊されていないことが条件である。これらの条件が満たされない場合はＳＲＡＭ６に保持された履歴情報を不揮発性メモリ７に保存できず、従って、障害解析ができないという問題を有していた。
【００４９】
通常障害ではバススタックなどによりＣＰＵ動作不能やソフトウエアバグによるプログラム破壊の可能性が高く、先に説明した特許文献１〜３に記載の発明を含む従来の方法では肝心の障害解析データを取得することができない場合が多く、障害解析に困難をきたしていた。
【００５０】
したがって、本発明はかかる従来方法の問題を回避する情報収集装置を提供するものである。
【００５１】
すなわち、本発明によって、プログラム破壊やＬＳＩ自体の故障、バススタック時でもバウンダリスキャン回路には影響がないことを利用して、従来方法では収集できなかった障害解析のためのデータ収集を可能とするものである。
【００５２】
図７に本発明の実施の形態例を示す。本発明の特徴はバウンダリスキャン回路をハード自律で動作させることを可能とする情報収集回路８を新たに追加した点にある。
【００５３】
図１におけると同様に、図７において、構成と併せて処理工程手順が示されている。障害が発生し、これを障害検出回路４で検出する（ステップＳ１）と、ＣＰＵ３がその通知を受けて障害処理モードに入る（ステップＳ２）。ここで、ＣＰＵ３が、正常に動作する場合は、ＣＰＵ３によりＳＲＡＭ６から履歴情報を読み出し、不揮発メモリ７に障害情報を複写保存する。
【００５４】
本発明の特徴として、ＣＰＵ３及びソフトウエアが障害であるときは、情報収集回路８は、障害検出回路４から障害通知信号を受けて（ステップＳ１１）、自律的に情報収集モード動作を開始する（ステップＳ１２）。障害通知を受けた情報収集回路８は、情報収集モードによりＬＳＩ１にＳＲＡＭ６のリード動作を行うようなビットバターンを、バウンダリスキャンルートを通して送り出し（ステップＳ１３）、ＳＲＡＭ６に対してリード動作を実施する。
【００５５】
ＳＲＡＭ６がリード動作によって出力したデータをバウンダリスキャン回路に取り込み、シフトさせて情報収集回路８に取り込む（ステップＳ１４）。次に情報収集回路８は、このＳＲＡＭ６から読み出したデータを不揮発性メモリ７のライト動作ビットパターンとともにＦＰＧＡ２へバウンダリスキャンルートを通して送り込む（ステップＳ１５）。ライト動作により不揮発性メモリ７にＳＲＡＭ６のデータが格納されることで１ワードのＳＲＡＭ６から不揮発性メモリ７のコピー動作が完了する（ステップＳ１６）。
【００５６】
情報収集回路８内にはＳＲＡＭ６のどのワードを読み出すかのアドレスカウンタがあり、これをインクリメントしていき、１ワードずつコピーしていけば、ＳＲＡＭ６の全データを不揮発性メモリ７にコピーすることが可能になる。これが情報収集回路８の動作原理である。
【００５７】
図８は上記の動作を行う情報収集回路８内のブロック構成を示した全体図で、図９は、データの流れるイメージを示した図である。図８において、情報収集回路８内のメモリコピー制御部８０からメモリコピー開始信号が動作モード切替え部８１に送られ（i）、上記ステップＳ１３に対応して、メモリリード実行ビット列がＬＳＩ１のバウンダリスキャンルートに入り、ステップＳ１４に対応して、ＳＲＡＭ６のリードを実行する様に動作モード切替え部８１が切り替えられる（ii）。
【００５８】
さらに、ステップＳ１５に対応して、ＳＲＡＭ６のリード実行によりリードデータが付加されたビットストリームは、上記ステップＳ１５に対応してメモリコピー制御部８０により動作モード切替え部８１を切り替えて（iii）、ＦＰＧＡ２に送られ、バウンダ
リスキャンルートで不揮発性メモリ７に書き込まれ、その不揮発性メモリ７への書き込み結果が、メモリコピー制御部８０に戻る（iv）。
【００５９】
メモリコピー制御部８０は、メモリコピーの実行の開始／終了と各部にバウンダリスキャン用クロックを送信する制御機能部であって、このメモリコピー制御部８０の動作開始トリガは、障害検出回路４からの障害検出信号である（図７：ステップＳ１１参照）。
【００６０】
上記処理により図９に示すように、ＳＲＡＭ６内のデータが、不揮発性メモリ７に複写格納される。
【００６１】
図１０は先に説明した従来装置による処理と、本発明による処理を比較して示す処理フロー図である。
【００６２】
図１０Ａは、従来処理における正常動作時の動作フローである。障害が発生すると（ステップＳＳ１）、ソフトウエア処理（換言すると、ＣＰＵ３によるプログラム処理）により障害データを収集する（ステップＳＳ２）。
【００６３】
かかるソフトウエア処理により、揮発性メモリ６内の情報を不揮発性メモリ７に保存する（ステップＳＳ３）。次いで、障害となったカード（ボード）をリセットして（ステップＳＳ４）、システムから切り離す（ステップＳＳ５）。そして、保存された不揮発性メモリ７のデータを吸い上げ（ステップＳＳ６）、収集データから問題発生の原因を解析する（ステップＳＳ７）。
【００６４】
かかる従来の処理において、図１０Ｂのフローに示すように、障害発生時（ステップＳＳ１）に、ソフトウエア処理が動作不可となった場合、ステップＳＳ２，ＳＳ３の処理が不能、即ち、各種情報を不揮発性メモリ７に格納保存できないことになる。
【００６５】
これに対し、本発明に従うと、図１０Ｃに示すように、ソフトウエア動作不可の場合、揮発性メモリ６内の情報を不揮発性メモリ７にソフトウエア（情報収集回路８）自律でコピーする（ステップＳＳ２３）ことができるので情報収集が可能となる。
【００６６】
図１１は不揮発性メモリ７にデータを保存する処理についての詳細な説明図である。不揮発性メモリ７に実際にライトするためにはチップセレクト（ＣＳ）、ライトイネーブル（ＷＥ）、アドレス、データが必要となる。それらをどのように出力すればライトされるかはメモリによって定まっている。この実施例図の場合は、ＣＳ，ＷＥ＝０，の時にアドレスＡで示したメモリ番地にデータＢが書き込まれることになる。
【００６７】
したがって、ＬＳＩ１又はＦＰＧＡ２でそれらを並べたビットパターンを用意し、これをバウンダリスキャンラインによりシフトさせて出力させるべき位置と合致したところで、バウンダリスキャンライン上の各セルデータを出力するモードにする。
【００６８】
したがって、各セルデータはデバイス（ＬＳＩ１又はＦＰＧＡ２）から出力され、不揮発性メモリ７に信号として送られて、ライト動作が行われることになる。図１１ではライト動作前、ライト動作時、ライト動作後の３パターンで一つのデータを書き込む構成である。ＷＥが１０１と変化し、ＷＥ＝０の時に書き込みが行われる。
【００６９】
各パターンの移行はシフト動作により行う必要があるが、その間はセル内ラッチ回路１２で前のパターンのデータを維持した出力が取り出せるようになっている。（図３：テストセル構造参照）
図１２は情報収集回路８のメモリコピー制御部８０の詳細構成であって、特徴としてリードとライトを同時に動作させる一連の仕組みを示したものである。ＳＲＡＭ６に対し、リード動作を行うためのリードデータストリームを生成するリードデータストリーム生成回路８０１と、不揮発性メモリ７に対し、ライト動作を行うためのライトデータストリームを生成するライトデータストリーム生成回路８０２を有する。
【００７０】
リードデータストリーム生成回路８０１は、読み出しを指示するリードビット（リード信号）パターンとアドレスカウンタ８１４の出力を合わせてリードアクセスのためのデータグループＩを作る。これをクロック生成部８０３から出力されるクロックに従いシフト動作（図５Ｂ参照）によりバウンダリスキャンラインに送り出す。
【００７１】
バウンダリスキャンラインにおいて、ＳＲＡＭ６に出力できるタイミングでモードを更新−データレジスタステート（図５Ｃ参照）に切り替えてデータを各セル１０からＳＲＡＭ６に出力する。
【００７２】
そしてＳＲＡＭ６内のデータをバウンダリスキャンセル１０にラッチする。シフト動作をさらに続け、このデータを一旦メモリコピー制御部８０のタイミング調整バッファ８０４に取り込み、ライトデータストリーム生成回路８０２において先頭に付いていたリード信号パターンを書込みを指示するライト信号パターンに置き換える。
【００７３】
これはライトデータストリーム生成回路８０２のライトセレクタ制御部８１０により、セレクタ８１１をライト信号パターン生成部８１２からのライト信号パターンを出力する様に切換ることで可能である。
【００７４】
セレクタ８１１からのデータグループIIは、図１２の上方左のようなアドレスカウン
タ８１３から指定されるライトアドレスの付されたライトデータストリームとなる。
【００７５】
このライトデータストリームが同様に、バウンダリスキャンにおいてシフト動作により送られ、不揮発性メモリ７にライトできるタイミングで、モードを更新ステートに切り替えてデータを不揮発性メモリ７に出力する。
【００７６】
なお、モード切替信号はバウンダリスキャン回路の別信号で動作するが、これは通常全デバイスで共通信号である。したがって不揮発性メモリ７が１ワードデータをライトするタイミングで揮発性メモリ６が１ワードデータをリードするように各データパターンの出力タイミングを調整する必要がある。
【００７７】
例えば、不揮発性メモリ７がアドレス０に書き込むとき、揮発性メモリ６はアドレス１をリードする。これを揮発性メモリ６のアドレス分繰り返すために、リードデータストリーム生成回路８０１及びライトデータストリーム生成回路８０２のそれぞれのアドレスカウンタ８１３，８１４はこの動作ごとにインクリメントするように動作される。
【００７８】
さらに、図１２において、メモリコピー制御部８０のポーリング確認回路８０５により、リード動作の終了及びライト動作の終了をそれぞれ検知して１ワード期間タイマ８０６の開始を起動させる。したがって、１ワード期間タイマ８０６からコピー開始信号とコピー完了通知信号が生成される。
【００７９】
また、コピー領域制御部８０７は、障害検出信号と同期して、１ワード期間タイマ８０６の開始、終了タイミングに基づきバウンダリスキャンルートを選択する信号を出力する。このルート選択信号により、揮発性メモリ６のリード動作のためのバウンダリスキャンルート８２又は、不揮発性メモリ7のライト動作のためのバウンダリスキャンルート８３を選択する。
【００８０】
図１３は、ライトデータストリーム生成回路８０２の面構成カウンタ８１５と揮発性メモリ６のメモリ容量との関係を説明する図である。
図１３において、アドレス（００００）〜（ＦＦＦＦ）領域を有する揮発性メモリ６のメモリマップイメージIに対して、不揮発性メモリ７は、それぞれアドレス（００００
）〜（ＦＦＦＦ）領域を有する４面構成を有している。この４面構成は、電源ＯＮ以降、障害検出信号を検出する度に面構成カウンタ２１５において、アドレス上位２ビットに１づつカウントアップされて切り替えられる。したがって、連続する障害発生毎の障害情報の収集が、それぞれの面から取得可能である。
【００８１】
図１４は、本発明の適用例であり、携帯電話通信網における障害発生時の障害ログ情報を取得する例である。
【００８２】
基地局装置に障害が発生すると（ステップＳ１００）、基地局装置に異常が発生したことが保守センターに通知される（ステップＳ１０１）。保守者は、異常通知を受けると、現局に移動し（ステップＳ１０２）、保守者が現局に到着する（ステップＳ１０３）。
【００８３】
保守者は、基地局障害装置より障害カードを交換し、持ち帰る（ステップＳ１０４）。持ち帰った障害カードより不揮発性メモリ７に保存格納されている障害ログ情報を読み出し（ステップＳ１０５）、障害ログの収集解析が行われる。
【００８４】
上記の障害時の作業手銃において、ステップＳ１０１〜Ｓ１０３に期間に更なる障害が発生しても、本発明の上記不揮発性メモリ７の面構成により、上書きされて障害ログ情報が消失してしまうことが回避される。仮に連続して障害が発生したとしても、時系列での情報管理が可能である。
【００８５】
図１５は、バウンダリスキャンの各モードの制御を行うＴＡＰ（Test Access Port）コントローラ１４（図３参照）の状態遷移を説明する図である。図１１に示したメモリライト動作を例にとり、図１５にＴＡＰ（Test Access Port）コントローラ１４の状態遷移を示し、これに対応するアクセスタイムチャートを図１６示す。
【００８６】
ＴＡＰコントローラ１４の状態は、クロック信号（ＴＣＫ）とモード信号（ＴＭＳ）により１６の状態に遷移する。図１５において、数値０／１は、ＴＭＳの値であり、例えば、ＴＭＳを'１'に保持してＴＣＫを５回入力すると（図１６：Ａ参照）、ＴＡＰコントローラのどの状態にあっても'ＴＥＳＴ-ＬＯＧＩＣ ＲＥＳＥＴ'（図１５：ＳＴ１）に遷移し、ＴＥＳＴロジックのリセットが可能である。
【００８７】
最初に行う'ＴＥＳＴ-ＬＯＧＩＣ ＲＥＳＥＴステート'（ＳＴ１）からＴＭＳを'01100'と動作させると（図１６：Ｂ）、'ＳＨＩＦＴ-ＩＲステート'（ＳＴ２）に遷移し、'ＳＨＩＦＴ-ＩＲステート'はＴＤＩをＩＲ用シフトレジスタに入力する状態となる。
【００８８】
その状態でＴＤＩを変化させてＩＲのビット（bit）数分シフトさせることによりＩＲにコマンドを送る。'ＳＨＩＦＴ-ＩＲステート'からＴＭＳを'１１'と変化させると（図１６：Ｃ）'ＵＰＤＡＴＥ-ＩＲステート'（ＳＴ３）に状態遷移し、ＳＨＩＦＴ動作で送ったコマンドがＩＲにセットされる。
【００８９】
同様にバウンダリスキャンレジスタは、'ＩＤＬＥステート'（ＳＴ４）からＴＭＳを'１００'と変化させることにより（図１６：Ｄ）、'ＳＨＩＦＴ-ＤＲステート'（ＳＴ５）に遷移し、ＴＤＩをバウンダリスキャンシフトレジスタに入力するステートとなる。
【００９０】
'ＳＨＩＦＴ-ＤＲステート'においてＴＤＩを必要ビット数分シフト入力し、その後、ＴＭＳを'１１'と変化させることにより、'ＵＰＤＡＴＥ-ＤＲステート'（ＳＴ６）に状態遷移し、シフト入力した値を出力ピン（pin）用のレジスタに設定し、出力信号を確定させる。以降、'ＳＨＩＦＴ-ＤＲステート'と'ＵＰＤＡＴＥ-ＤＲステート'を繰り返すことにより、出力信号を制御し、メモリのアドレス/データ/ＣＳ/ＷＲ/ＯＥ信号を変化させて、データ書込み等ができる。
【００９１】
また、本情報収集動作が終わったあと、保守者はこのボードについて再度動作をさせようと試みるかもしれない。もし、回復できない障害であった場合は再びそれで障害が発生し、同じ障害情報収集動作が行われる。このため、もし不揮発性メモリ７容量がＳバウンダリスキャンにおいて揮発性メモリ６と同じであると、最初の障害情報は上書きされてしまう。それでは本当の原因を突き止めることが難しくなる。
【００９２】
そこで、先に図１３により説明したように、不揮発性メモリ７は揮発性メモリ６より容量を大きくし、ＳＲＡＭデータを複数グループ分格納可能なようにする。
【００９３】
同時に図１３で示した情報収集回路８のライトビットパターン発生部に面構成カウンタ２１５の上位ビット分を加えられる（不揮発性メモリ７の方が、容量が大きいのでアドレスビットは揮発性メモリ６より多く存在するはずである。）ように構成し、そのビットデータは電源が落ちない限り消えないようにする（パワーオンリセットのみで０クリア）。
【００９４】
そして、この上位アドレスカウンタは障害発生時に１回インクリメントするように構成する。これにより障害発生ごとに不揮発性メモリ７の違うエリアに情報が保存されるようになり、複数回の障害発生に対して履歴が保存できる。
【００９５】
図１３はその不揮発性メモリのイメージを示したもので、○数字が障害発生回数に対応する。
【００９６】
図１７は動作モード切替え部８１の構成例ブロック図を示したものである。図示のようにセレクター回路ＳＬ１〜ＳＬ５とマルチプレクサー回路８２０、８２１を組み合わせ、従来の一筆書きが通常とされてきたＴＤＩ、ＴＤＯのバウンダリスキャンルートを各ポート毎に接続する。図１８は、セレクタ回路ＳＬ１〜ＳＬ５における入力の論理値とこれに対する出力の関係を示す図である。
【００９７】
セレクタ回路ＳＬ１〜ＳＬ５の入力Ａ，Ｂ，Ｇはポートセレクト回路８２０から論理が与えられ、入力Ｃ0，Ｃ1，Ｃ2，Ｃ3にはマルチプレクサ回路８２０、バッファＩＦ入力及び、バウンダリスキャン回路８２,８３に接続されるポート入力が接続される。
【００９８】
かかるセレクタ回路ＳＬ１〜ＳＬ５の入力のロジックを変えることで、デバイスの接続順序の変更、バイパスさせたいデバイスの選択がリアルタイムに可能となる。
【００９９】
必要のないデバイスをバイパスさせることで、正常性試験時間、情報コピー時間の短縮が可能となる。
【０１００】
図１９は、動作モード切替え部８１内で各ルートを構成する時のセレクター回路ＳＬ１〜ＳＬ５のロジック例を示す。バウンダリスキャンの本来の目的である、工場での正常性試験を実施するルートは、全デバイスを選択するDin→PORT1→PORT2→PORT3→Doutのロジックを入力することで試験可能である。図８に示した本発明実施例において、バッファＩＦ→PORT1→バッファＩＦ→PORT2→バッファＩＦのバウンダリスキャンルートは、図１９の最下段のロジックであるDin→PORT1→バッファＩＦ→PORT2→Doutを入力することで揮発メモリ６から不揮発メモリ７へのコピーが可能となる。
【０１０１】
図２０は、ＬＳＩ１、ＦＰＧＡ２などの入出力ピン１３，１４のバウンダリスキャン対応デバイスの内部セル構造を示す。先に図３において、一般的な理解のためにセル構造を説明したが、そこでは、デバイスの専ら入力ピンに接続されるセル構造を示した。
【０１０２】
これに対し、図２０の構造は、入出力ピン１３，１４に共通に対応可能なセル構造である。すなわち、図２０に示されるバウンダリスキャンセル構造は、制御（コントロール）セル１３１、出力セル１３２及び、入力セル１３３の３つのセルから構成される。制御セル１３１は、入出力の方向性を制御する機能を有し、その構成が図２１に示される。
【０１０３】
データの出力は、制御セル１３１から出力制御バッファ１３４をＯＮにすることで出力セル１３２が保持しているデータを入出力ピンに出力する。データを取り込む時は、制御セル１３１により出力制御バッファ１３４をＯＦＦにすることで入出力ピンから入力セル１３３にデータを取り込む。つまり入出力１ピンあたりに３回のビットシフトが必要となる。
【０１０４】
図２２は、図２０に示すセル構造を用いたバウンダリスキャンデバイスの内部セルとメモリ間のデータシフト、入出力イメージを示す。図２２Ａは、リード時の動作であり、図２２Ｂは、ライト時の動作である。
【０１０５】
図２２Ａにおいて、制御値とアドレス値をＴＤＩよりシリアルに入力し、シフトレジスタに目的の数値がシフトされたところで、更新（Update：図４Ｃ）を行いバウンダリスキャンデバイスから値を出力させる。データ線には値を入力するように制御セル１３１（図２２では、ＣＮＴと表示）に、更新（Update）を行い、現在、メモリが出力している値を保持し、シフト動作を行うことで、ＴＤＯよりデータの値がシリアル出力される。図２２Ｂにおいて、ライト時は、ライトアドレス、データ及び制御値をシリアルに入力する。
【産業上の利用可能性】
【０１０６】
上記に図面に従い説明したように、本発明により、障害発生時の情報収集をただちに行うことが可能となる。また情報収集条件としてＣＰＵが動作不可の状態であっても、情報の収集が可能となる。これにより、本発明を実現したデジタルシステムにおいて問題解析、修復の短期間の解決を実現し、ソフトウエア／ソフトウエアのバグの早期発見に威力を発揮することができ、システムの信頼性を高めることができ、産業上に寄与することが大である。
【図面の簡単な説明】
【０１０７】
【図１】バウンダリスキャンによる、ボード（回路基板）の製造時に性能調査が行える構成を有する従来のデジタルシステムの概念構成図である。
【図２】バウンダリスキャンルート１１０のイメージを示す図である。
【図３】１つのデバイス１Ａに注目した図でセルとその内部構造を示す図である。
【図４】セルの取り得る３つの状態を説明する図である。
【図５】セルの３つの状態をバウンダリスキャンテスト対象ボードにおけるデバイスの状態として示す図である。
【図６】バウンダリスキャン機能を用いてデバイス間の接続をチェックする方法を示す図である。
【図７】本発明の実施の形態例を示す図である。
【図８】本発明の動作を行う情報収集回路８内のブロック構成を示した全体図である。
【図９】図８におけるデータの流れるイメージを示した図である。
【図１０】従来装置による処理と、本発明による処理を比較して示す処理フロー図である。
【図１１】不揮発性メモリ７にデータを保存する処理についての詳細な説明図である。
【図１２】情報収集回路８のメモリコピー制御部８０の詳細構成を示す図である。
【図１３】ライトデータストリーム生成回路８０２の面構成カウンタ８１５と揮発性メモリ６のメモリ容量との関係を説明する図である。
【図１４】本発明の適用例であり、携帯電話通信網における障害発生時の障害ログ情報を取得する例を示すフロー図である。
【図１５】バウンダリスキャンの各モードの制御を行うＴＡＰ（Test Access Port）コントローラの状態遷移を説明する図である。
【図１６】図１５に示すＴＡＰコントローラの状態遷移に対応するアクセスタイムチャートを図１６示す。
【図１７】動作モード切替え部の構成例ブロック図を示したものである。
【図１８】セレクタ回路ＳＬ１〜ＳＬ５における入力の論理値とこれに対する出力の関係を示す図である。
【図１９】動作モード切替え部８１内で各ルートを構成する時のセレクター回路ＳＬ１〜ＳＬ５のロジック例を示す図である。
【図２０】ＬＳＩ１、ＦＰＧＡ２などの入出力ピン１３，１４のバウンダリスキャン対応デバイスの内部セル構造を示すずである。
【図２１】入出力の方向性を制御する機能を有する制御セル１３１の構成を示す図である。
【図２２】図２０に示すセル構造を用いたバウンダリスキャンデバイスの内部セルとメモリ間のデータシフト、入出力イメージを示す図である。
【符号の説明】
【０１０８】
１  ＬＳＩ
２  ＦＰＧＡ
３  ＣＰＵ
４  障害検出回路
５  ＳＤＲＡＭ
６  揮発性メモリ
７  不揮発性メモリ
８  情報収集回路
１０  セル
１００  回路基板
１０１  ＢＳＴ制御コンソール
１０２  ＢＳＴインタフェース
１０３  バッファ
１１０  バウンダリスキャンルート
【図１】
2005284549.tif 000003
【図２】
2005284549.tif 000004
【図３】
2005284549.tif 000005
【図４】
2005284549.tif 000006
【図５】
2005284549.tif 000007
【図６】
2005284549.tif 000008
【図７】
2005284549.tif 000009
【図８】
2005284549.tif 000010
【図９】
2005284549.tif 000011
【図１０】
2005284549.tif 000012
【図１１】
2005284549.tif 000013
【図１２】
2005284549.tif 000014
【図１３】
2005284549.tif 000015
【図１４】
2005284549.tif 000016
【図１５】
2005284549.tif 000017
【図１６】
2005284549.tif 000018
【図１７】
2005284549.tif 000019
【図１８】
2005284549.tif 000020
【図１９】
2005284549.tif 000021
【図２０】
2005284549.tif 000022
【図２１】
2005284549.tif 000023
【図２２】
2005284549.tif 000024