JP3705848B2 - バス制御モジュール - Google Patents
バス制御モジュール Download PDFInfo
- Publication number
- JP3705848B2 JP3705848B2 JP23260095A JP23260095A JP3705848B2 JP 3705848 B2 JP3705848 B2 JP 3705848B2 JP 23260095 A JP23260095 A JP 23260095A JP 23260095 A JP23260095 A JP 23260095A JP 3705848 B2 JP3705848 B2 JP 3705848B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- firmware
- unit
- control module
- error log
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
【発明の属する技術分野】
本発明は、バス制御モジュールが故障したときにエラーログをフラッシュメモリやEEPROMなどの不揮発性書換え可能なメモリに格納するエラーログ装置に関する。
【0002】
【従来の技術】
バス制御システムにおいては、1つのシステムバスに複数のバス制御モジュールが接続され、システムバスを制御することによりバス制御モジュール間でデータ処理を実行する。このようなバス制御モジュールにおいて、他のバス制御モジュールに障害を与えるような重大な故障が発生することがある。
【0003】
また、近年の半導体技術の発展に伴い、バス制御モジュールの種類や数が増加してきた。このため、バス制御モジュールが故障した場合にエラー情報を収集して記録するエラーログも複雑でかつ大規模化してきた。
【0004】
この場合、あるバス制御モジュールが故障すると、そのバス制御モジュールはHALTまたはOFFLINE状態で停止する。その後、システムバス上の別のバス制御モジュールからの指示で発行されるIPLリセットによって障害バス制御モジュール上でファームウェアが再起動される。
【0005】
そして、そのファームウェアによって障害バス制御モジュール内各部から収集されたエラー要因をシステムバスを介して外部記憶装置に格納していた。その後に、障害バス制御モジュールは、再び別のバス制御モジュールの指示によってディスコネクト状態(切り離し状態)とされ、活性抜き出し/挿入により代替品と交換される。
【0006】
さらに、外部記憶装置に格納されたエラーログを別途回収した後、交換された障害バス制御モジュールの障害調査を行っていた。
【0007】
【発明が解決しようとする課題】
しかしながら、バス制御モジュールの種類が多くなると、外部記憶装置に格納されるエラーログが複雑/大量となる。このため、障害調査を行うために外部記憶装置からエラーログを回収すると、システムの負荷が増大する。また、回収されたエラーログと障害バス制御モジュールとを対応付けるテーブルを別途用意する必要があった。
【0008】
さらに、システムバス、またはシステムバスを介して他のバス制御モジュールに対して悪影響を与えるような重大な障害が発生した場合等、外部記憶装置にエラー情報をロギングする前に障害モジュールがディスコネクトされた場合には、どこにもエラーログが残らない。
【0009】
一方、この種の公知技術として、特開平1−237739がある。特開平1−237739の技術は、被診断回路にエラーが発生したとき、格納制御手段が被診断回路内のエラー情報をスキャンアウトして収集し外部に設けられたEEPROMに格納されるものである。
【0010】
しかし、この公知技術にあっては、EEPROMが外部にあるため、EEPROMからのエラーログの回収作業により、システムの負荷が増大する等の問題があった。
【0011】
本発明の目的はエラーログを確実に保存し、かつ、外部記憶装置に格納されたエラーログ回収作業をなくすことのできるエラーログ装置を提供する。
【0012】
【課題を解決するための手段】
本発明のエラーログ装置は、前記課題を解決するため、以下の手段を採用した。
【0013】
<本発明のエラーログ装置の要旨>
本発明のエラーログ装置は図1に示したように1つのバスに接続されるとともにバスを介して相互間でデータ処理を行う複数のバス制御モジュールを備える。
【0014】
前記各々のバス制御モジュールは、情報を書換え可能な不揮発性メモリと、障害が発生した自己のバス制御モジュールをバスから切り離すための状態遷移命令を他のバス制御モジュールから入力したとき自己のバス制御モジュールを切り離し状態に遷移させ自己の制御モジュールのエラー要因を不揮発性メモリに記録させることを示すエラーログフラグを設定する状態制御部と、前記障害を検出したとき障害が発生した自己のバス制御モジュールのエラー要因を保持する保持部と、前記エラーログフラグを検出した場合に前記保持部に保持されたエラー要因を読み出して前記不揮発性メモリにエラーログ情報として書き込むエラーログ制御部とを備える(請求項1に対応)。
【0015】
この発明によれば、自己のバス制御モジュールに障害が発生すると、他のバス制御モジュールはその障害を検出し状態遷移命令を障害バス制御モジュールに出す。状態制御部が、状態遷移命令を他のバス制御モジュールから入力すると、自己の障害バス制御モジュールを切り離し状態に遷移させる。状態制御部は自己の制御モジュールのエラー要因を不揮発性メモリにエラーログフラグを設定する。
【0016】
次に、保持部が障害を検出したとき障害バス制御モジュールのエラー要因を保持し、エラーログ制御部はエラーログフラグを検出した場合に保持部に保持されたエラー要因を読み出して不揮発性メモリにエラーログ情報として書き込む。その結果、エラーログをバス制御モジュール内の不揮発性メモリに格納することになる。
【0017】
ここで、不揮発性メモリは、フラッシュメモリ、EEPROMなどである。状態制御部は、例えば、中央処理装置(CPU)がメモリに格納されたプログラムやシステムバス経由で他のバス制御モジュールの発行するコマンドによって制御される機能部である。保持部は、半導体メモリ、レジスタなどの記憶媒体である。エラーログ制御部は、後述するように、例えばファームウェアなどである。なお、エラーログフラグはエラーログ未完了フラグとして設定されてもよい。
【0018】
また、本発明は以下の付加的構成要素を付加することによっても成立する。
その付加的構成要素とは、前記不揮発性メモリは、エラーログ情報と中央処理部によって実行されるファームウェアとを格納し、前記エラーログ制御部は、前記ファームウェアからなる。前記状態制御部は、バスからの状態遷移命令を解析してバス制御モジュールを切り離し状態に遷移させる状態遷移部と、前記状態遷移部による切り離し状態と同時に中央処理部を初期化するためのリセットを発行するリセット発行部と、前記リセットを発行した後にモジュールが切り離し状態である場合にエラーログフラグを設定するフラグセット部とを備える。
【0019】
前記ファームウェアは、前記障害を発生したバス制御モジュールが切り離し状態であってかつエラーログフラグが設定されている場合に前記リセット発行後のバス制御モジュール内の初期化処理から分岐し前記保持部に保持されたエラー要因を読み出して不揮発性メモリへ書き込みエラーログフラグをリセットした後に停止する(請求項2に対応)。
【0020】
この付加的構成要素によれば、状態遷移部が、バスからの状態遷移命令を解析してバス制御モジュールを切り離し状態に遷移させると、リセット発行部が前記切り離し状態と同時に中央処理部を初期化するためのリセットを発行する。フラグセット部が、リセットを発行した後にモジュールが切り離し状態である場合にエラーログフラグを設定する。そして、ファームウェアは、障害バス制御モジュールが切り離し状態でかつエラーログフラグが設定されている場合にバス制御モジュールの初期化処理から分岐し保持されたエラー要因を読み出して不揮発性メモリへ書き込みエラーログフラグをリセットした後に停止する。その結果、ディスコネクト状態でエラーログ情報を不揮発性メモリへの書き込みが完了することになる。
【0021】
その他の付加的構成要素とは、前記不揮発性メモリに格納されているエラーロギングファームウエアのコピーを格納するメモリで構成された一時退避部を備え、前記状態遷移部による切り離し状態を検出した後に発行されるリセット後、前記不揮発性メモリ内のエラーロギングファームウエアを前記一時退避部へコピーし、コピーの完了時に不揮発性メモリに記述されているファームウエアから一時退避部に記述されているファームウエアへプログラムをブランチさせ、不揮発性メモリへエラーログを書き込む(請求項3に対応)。
【0022】
この発明によれば、例えば、複数のコマンドシーケンスによってエラーログを書き込む場合、一旦、エラーログ情報を全て一時退避部に書き込み、その後に、コピーファームウェアによってそのエラーログ情報を不揮発性メモリに書き込む。その結果、一連のコマンドシーケンスを命令フェッチなどによって中断されることなく実行できる。
【0023】
その他の付加的構成要素とは、前記不揮発性メモリに格納されているエラーロギングファームウエアを格納しておく第1の不揮発性メモリと、エラーログを格納する第2の不揮発性メモリとを備え、前記状態遷移部による切り離し状態を検出した後に発行されるリセット後、前記第1の不揮発性メモリ内のエラーロギングファームウエアを走行させて、前記保持部に格納されているエラーログを第2の不揮発性メモリに書き込みエラーログフラグをクリアして停止する(請求項4に対応)。
【0024】
この発明によれば、ファームウェアと、エラーログとを別々の第1の不揮発性メモリと第2の不揮発性メモリに格納し、ファームウェアは第1の不揮発性メモリで動作する。例えば、一連のコマンドによってエラーログを第2の不揮発性メモリに書き込む。その結果、一連のコマンドが命令フェッチなどにより壊れることがなくなる。
【0025】
その他の付加的構成要素とは、前記不揮発性メモリへのエラーログの書き込み及び読み出しを制御するメモリ制御部を備え、前記メモリ制御部は、不揮発性メモリへのエラーログの書き込みに必要な一連のコマンド、書き込みアドレス及び書き込みデータを順次発行するための書き込みシーケンサと、書き込みアドレス及び書き込みデータを記憶する記憶部と、ファームウェアから書き込みシーケンサを起動するための起動部と、ファームウェアから起動部への書き込みアクセスを起動した後に書き込みシーケンサの発行が完了するまで不揮発性メモリへの次のアクセスを待ち合わせる待合せ部とを備える(請求項5に対応)。
【0026】
この発明によれば、ファームウェアが書き込みアドレス及び書き込みデータのセット命令を発行すると、記憶部はそのアドレス及びデータを記憶する。次に、ファームウェアが起動部に対して書き込み開始命令を発行すると、起動部が書き込みシーケンサを起動する。
【0027】
書き込みシーケンサは起動されると、予め決められた一連のコマンドと、記憶部に格納されている書き込みアドレスと、書き込みデータとを、順次不揮発性メモリに対して発行する。
【0028】
そして、待合せ部はファームウェアから起動部への書き込みアクセスを起動した後に書き込みシーケンサの発行が完了するまで次の不揮発性メモリへのアクセスを待ち合わせる。その結果、コマンドシーケンスを崩すような不揮発性メモリへのアクセスの抑止を保障できる。
【0029】
本発明は上記のバス制御モジュールを備えるバスシステムとしても特定できる。
【0032】
その他の付加的構成要素とは、エラーログ装置が、前記バス制御モジュールに接続され障害バス制御モジュールがバスから切り離し状態にある場合に前記エラーログフラグを外部に出力するバスインターフェイスを備えることである(請求項7に対応)。
【0033】
この発明によれば、障害バス制御モジュールがバスから切り離し状態でも、バスインターフェイスは障害バス制御モジュールに接続され、エラーログフラグを障害バス制御モジュールから外部に読み出す。その結果、エラーログフラグのセット、クリアによってエラーログの格納が完了したか否かがわかる。
【0034】
【発明の実施の形態】
以下、本発明のエラーログ装置の実施例を図面を参照して説明する。
<発明の実施の形態1>
図2は本発明の実施の形態1のエラーログ装置を示す構成ブロック図である。図2において、1つのシステムバス3には、障害対象のバス制御モジュール1a−1と、他のバス制御モジュール1b−1が接続されている。この場合、バス制御モジュール1a−1,1b−1は図示しないバックパネルコネクタを介してシステムバス3に接続され、活性挿入/抜き出し可能になっている。システムバス3を介してバス制御モジュール1a−1,1b−1の相互間でデータ処理が行えるようになっている。
【0035】
バス制御モジュール1a−1は、チップバス10に接続される中央処理部PU11、不揮発性メモリFM12、PU11及びFM12に接続されるメモリ制御部MU13、チップバス10に接続される一時退避部LS14、チップバス10に接続される状態制御部SU15、複数の保持部CU16とを備える。
【0036】
不揮発性メモリFM12はエラーログ制御部としてのファームウェアFW21、エラーログ22を格納するフラッシュメモリ、あるいはEEPROMなどの不揮発性書換え可能なメモリである。
【0037】
前記中央処理部PU11は前記不揮発性メモリFM12に格納されたファームウェアFW21を実行する。メモリ制御部MU13は、ファームウェアFW21からの指示によって不揮発性メモリFM12に対する書き込み/読み出しを実行する。
【0038】
一時退避部LS14は一時退避エラーログ41を記憶する図示しない主記憶メモリと、主記憶メモリを制御する図示しない記憶制御部とを備える。状態制御部SU15はシステムバス3からの状態遷移命令を解析して動作する。
【0039】
状態制御部SU15は、状態遷移部51、リセット発行部52、フラグセット部53、読み出し部54とを備える。
状態遷移部51は、システムバス3からの命令を解析してバス制御モジュールの状態をディスコネクト状態に遷移させる。リセット発行部52は、前記状態遷移部51によるディスコネクト状態と同時にバス制御モジュール全体に対してエラー要因を保持し中央処理部PU11を初期化するためのIPLリセットを発行する。
【0040】
フラグセット部53は、ディスコネクト状態への遷移に伴うIPLリセット後にモジュールがディスコネクト状態である場合に中央処理部PU11に対して割り込み要求を発行するか、またはエラーロギング未完了フラグを図示しないレジスタにセットする。読み出し部54は、ファームウェアFW21の指示により自己のバス制御モジュールのディスコネクト状態の読み出し、エラーロギング未完了フラグの読み出し/クリアを行う。
【0041】
前記ファームウェアFW21は、状態制御部SU15から発行されるディスコネクト状態遷移に伴うIPLリセット後のエラーロギング割り込み、またはディスコネクト状態におけるエラーログ未完了フラグのセットを認識した場合にモジュール内の初期化処理から分岐してモジュール内の各機能部に保持されているエラー要因を読み出し、不揮発性メモリFM12へ書き込む。
【0042】
複数の保持部CU16a−16nは、内部チップバスや制御線を介して中央処理部PU11、状態制御部SU15に接続され、異常を検出した際にその内部にエラー要因を保持する。
【0043】
なお、エラー要因は前記一時退避部14に格納するようにしてもよい。
なお、バス制御モジュール1bもバス制御モジュール1aの構成と同一構成となっているが、ここでは、その詳細は図示していない。
【0044】
次に、エラーログ装置の動作を説明する。まず、バス制御モジュールBM1a−1において、システムバス3及びシステムバス3を介して他のバス制御モジュールBM1b−1に悪影響を与えるような重大な障害が発生したとする。
【0045】
このとき、システムバス3上の他のバス制御モジュール1b−1が、前記障害を検出すると、他のバス制御モジュール1b−1はその障害バス制御モジュール1a−1に対してシステムバス3から障害バス制御モジュール1a−1をディスコネクトするための状態遷移命令を発行する。
【0046】
すると、障害バス制御モジュール1a−1内の状態制御部SU15において、状態遷移部51は、システムバス3からディスコネクトするための状態遷移命令を取り込み、ファームウェアFWの介在なしにモジュールの状態をディスコネクト状態に遷移させてシステムバス3に対する全ての信号線のドライバをクローズさせる。
【0047】
さらに、リセット発行部52は、前記状態遷移部51の動作と同時に、モジュール内保持部CU16a〜16n内に存在するエラー要因レジスタ(図示しない)の内容を消去せずにモジュールの状態をディスコネクトに保持しつつ、中央処理部PU11を初期化するめたのIPLリセットをファームウェアFWの介在なしに発行する。
【0048】
このとき、フラグセット部53は、エラーロギング未完了を示すフラグをセットする。また、前記IPLリセット後に、フラグセット部53は、状態制御部SUから再起動されたファームウェアFWに対して、エラーロギングを開始させるための割り込み要求を発行するか、または、アドレスマップされたレジスタとして読み出させることによって通知する。
【0049】
ファームウェアFWは、図3に示すフローチャートに従って処理が行われる。ファームウェアFWは、モジュール内のハードウェア資源の初期化を行う(ステップ101)。このとき、バス制御モジュール内の図示しない制御レジスタのセット、LSのMMUテーブルのマッピング、割り込み要因レジスタのクリアを行う。
【0050】
次に、ファームウェアは各CU内に存在するエラー要因を収集して一時退避部LS14内の主記憶部へ格納する(ステップ102)。そして、ファームウェアは、自己のモジュールのディスコネクト状態とエラーロギング未完了フラグを監視してディスコネクト状態とエラーロギング未完了フラグがどうようになっているのかを判定する(ステップ103)。
【0051】
ここで、障害バス制御モジュールがディスコネクト状態であって、かつエラーロギング未完了フラグがセットされている場合には、後述する通常のファームウェア処理から分岐し、ファームウェアは不揮発性メモリ12に一時退避部14に格納されたエラーログを書き込む(ステップ104)。
【0052】
さらに、エラーロギング未完了フラグをクリアし(ステップ105)、SELF HALTによってファームウェアは停止する(ステップ106)。以上の処理によりファームウェアの処理が終了すると、障害バス制御モジュールを図示しないコネクタから活性抜き出して、そのモジュールを工場に持ち返って調査、修理を行う。
【0053】
一方、障害バス制御モジュールがコネクト状態か、またはエラーロギング未完了フラグがセットされていない場合には、通常のファームウェアプロセスに進む。すなわち、リセット要因の判定が行われ(ステップ107)、ハードウェア初期診断を行い(ステップ108)、あるいは、ハードウェア初期診断を行わずに、ソフトウェアローディングを行う(ステップ109)。
【0054】
このように、外部記憶装置に対してエラーログを格納できないような重大障害が発生しても、バス制御モジュール内の不揮発性メモリ内にエラーログを保持することができる。この不揮発性メモリはバス制御モジュールとともに持ち運びできるので、従来のように外部記憶装置に格納されたエラーログを改めて回収したり、あるいは、エラーログを障害バス制御モジュールに対応付けるテーブルを設ける必要もなくなり、容易に障害解析を行うことができる。
<発明の実施の形態2>
次に、本発明の実施の形態2を説明する。不揮発性メモリ12がフラッシュメモリである場合には、複数の連続したコマンドシーケンスによって1つのデータをフラッシッメモリに書き込む。この一連のコマンドシーケンスは、例えば、アドレスセット、入力データ、書き込み開始などのシーケンスである。
【0055】
ここでは、保持部16a〜16nに記憶されたエラー要因をフラッシュメモリに書き込むために、フラッシュメモリに一連のコマンドを順番に送る。この場合、エラー要因をフラッシュメモリに書き込む命令を実行するためには、その命令をフラッシュメモリから中央処理部11にフェッチする必要がある。
【0056】
しかし、フラッシュメモリの場合、一連のコマンドの間にメモリフェッチがはいると、一連のコマンドがくずれてしまい、エラー要因の書き込みができなくなる。
【0057】
このため、実施の形態2では、ファームウェア21の内容をコピーしたコピーファームウェア42を一時退避部14に設ける。記憶媒体が主記憶メモリであるため、フラッシュメモリなどのように一連のコマンドはファームウェアの書き込みに必要でない。
【0058】
コピーファームウェア42は、動作して一時退避部14に格納された一時退避エラーログ41をフラッシュメモリである不揮発性メモリ12に対して一連のコマンドシーケンスを命令フェッチなどによって中断することなく実行してエラーログ22として書き込む。
【0059】
なお、その他の構成は実施の形態1と同一構成であるので、その詳細は省略する。 まず、他のバス制御モジュール1b−2が、障害を検出すると、障害バス制御モジュール1a−2内の状態遷移部51は、システムバス3からディスコネクトするための状態遷移命令を取り込み、モジュールの状態をディスコネクト状態に遷移させる。
【0060】
さらに、リセット発行部52は、中央処理部PU11を初期化するIPLリセットを発行する。このとき、フラグセット部53は、エラーロギング未完了を示すフラグをセットする。
【0061】
ファームウェアFWは、図5に示すフローチャートに従って処理が行われる。ファームウェアFWは、モジュール内のハードウェア資源の初期化を行う(ステップ201)。このとき、バス制御モジュール内の図示しない制御レジスタのセット、LSのMMUテーブルのマッピング、割り込み要因レジスタのクリアを行う。
【0062】
次に、ファームウェアは各CU内に存在するエラー要因を収集して一時退避部LS14内の主記憶部へ格納する(ステップ202)。そして、ファームウェアは、自己のモジュールのディスコネクト状態とエラーロギング未完了フラグを監視してディスコネクト状態とエラーロギング未完了フラグがどうようになっているのかを判定する(ステップ203)。
【0063】
ここで、障害バス制御モジュールがディスコネクト状態であって、かつエラーロギング未完了フラグがセットされている場合には、コピーファームウェア42は動作してファームウェア21の処理とはブランチする(ステップ204)。そして、このコピーファームウェア42は一時退避部14に格納された一時退避エラーログ41をフラッシュメモリ12に対して一連のコマンドシーケンスを命令フェッチなどによって中断することなく実行してエラーログ22として書き込む(ステップ205)。
【0064】
このとき、図6を参照してコピーファームウェア42のFMへのエラーログ情報書き込みを詳細に説明する。まず、一時退避部14からの一時退避エラーログ41を読み出す(ステップ211)。この場合、エラーログの読み出しは例えば、4バイト単位とする。
【0065】
次に、読み出されたデータから1バイト単位で書き込みデータの切り出しを行う(ステップ212)。図7に示すように、FMに対するコマンドシーケンス#1相当のストア命令を発行する(ステップ213)。
【0066】
図7において、コマンドシーケンスは入力アドレスが19ビット、入力データが8ビット、制御線が−チップイネーブルCE、−ライトイネーブルWE、−アウトイネーブルOEで構成される。コマンドシーケンス#1は、入力アドレスがx’05555’、入力データがx’aa’、−CE及び−WEが0、−OEが1である。
【0067】
次に、図7に示すFMに対するコマンドシーケンス#2相当のストア命令を発行する(ステップ214)。FMに対するコマンドシーケンス#3相当のストア命令を発行する(ステップ215)。
【0068】
さらに、FMに対する書き込みアドレスと切り出した書き込みデータを用いたFMに対するコマンドシーケンス#4相当のストア命令を発行する(ステップ216)。
【0069】
判定回数が、1個のエラーログデータにおけるバイト数分の繰り返し回数に一致したかを判定する(ステップ217)。判定回数が、繰り返し回数に一致しない場合には、ステップ212に戻り、ステップ212以降の処理を繰り返し行うことになる。
【0070】
判定回数が、繰り返し回数に一致した場合に、次に、判定回数が、エラーログデータ個数分の繰り返し回数に一致したかを判定する(ステップ218)。判定回数が、繰り返し回数に一致しない場合には、ステップ211に戻り、ステップ211以降の処理を繰り返し行うことになる。
【0071】
判定回数が、繰り返し回数に一致した場合には、エラーロギングを完了する。
さらに、エラーロギング未完了フラグをクリアし(ステップ206)、SELF HALTによってファームウェアは停止する(ステップ207)。以上の処理によりファームウェアの処理が終了すると、障害バス制御モジュールを図示しないコネクタから活性抜き出して、そのモジュールを工場に持ち返って調査、修理を行う。
【0072】
一方、障害バス制御モジュールがコネクト状態か、またはエラーロギング未完了フラグがセットされていない場合には、通常のファームウェアプロセスに進む。すなわち、リセット要因の判定が行われ(ステップ208)、ハードウェア初期診断を行い(ステップ209)、あるいは、ハードウェア初期診断を行わずに、ソフトウェアローディングを行う(ステップ210)。
【0073】
このように、実施の形態1と同様な効果が得られる。また、不揮発性メモリ12がフラッシュメモリであり、複数のコマンドシーケンスによってエラーログを書き込む場合であっても、一旦、エラー要因を全て一時退避部14の主記憶メモリに書き込み、その後に、コピーファームウェア42によってそのエラー要因をフラッシュメモリに書き込むので、一連のコマンドシーケンスを命令フェッチなどによって中断されることなく実行できる。
<発明の実施の形態3>
次に、本発明の実施の形態3を説明する。不揮発性メモリがフラッシュメモリである場合、そのフラッシュメモリに1つのデータを書き込むとき複数の連続したコマンドシーケンスが必要である。
【0074】
実施の形態3はファームウェアFW21を格納する不揮発性メモリ12aと、エラーログ22を格納する不揮発性メモリ12bとを設ける。ファームウェアFW21は不揮発性メモリ12aで動作させたまま、中央処理部11は不揮発性メモリ12aからメモリ制御部13を介してメモリフェッチをもってくる。
【0075】
また、ファームウェアFW21は、一連のコマンドシーケンスを中断することなく実行することによりモジュール各部から収集され一時退避部14に格納されている一時退避エラーログを不揮発性メモリ12bに書き込み、エラーロギング未完了フラグをクリアした上でSELF HALTによって停止する。
【0076】
このように、ファームウェアFW21と、エラーログ22とを別々の不揮発性メモリに格納し、ファームウェア21に対して1つのバスで命令フェッチし、もう1つのバスで一連のコマンドによってエラーログを書き込む。その結果、一連のコマンドが命令フェッチにより壊れることがなくなり、確実にエラーログがフラッシュメモリに書き込まれる。
<発明の実施の形態4>
本発明の実施の形態4を説明する。不揮発性メモリ12がフラッシュメモリである場合には、そのフラッシュメモリに1つのデータを書き込むとき、複数の連続したコマンドシーケンスが必要である。
【0077】
実施の形態4はメモリ制御部MU13−4の構成が他の実施の形態と異なる。メモリ制御部MU13−4は、フラッシュメモリ12へのエラーログ22の書き込みに必要な一連のコマンドCD、書き込みアドレスWA及び書き込みデータWDを順次発行するためのFM書き込みシーケンサSQと、ファームウェア21から予めセットされた書き込みアドレスWA及び書き込みデータWDをエラーログ22の書き込み完了まで保持するアドレスレジスタ31及びデータレジスタ32と、ファームウェア21からFM書き込みシーケンサSQを起動するためのSQ起動レジスタ33とを備える。
【0078】
メモリ制御部はファームウェア21からSQ起動レジスタ33への書き込みアクセスをFM書き込みシーケンサSQの発行が完了までインターロックする。または、メモリ制御部はファームウェア21からSQ起動レジスタ33への書き込みアクセスを起動した後にFM書き込みシーケンサSQの発行が完了するまで次のフラッシュメモリ12へのアクセスを待ち合わせる待合せ部35を設ける。
【0079】
これによって、コマンドシーケンスを崩すようなフラッシュメモリ12へのアクセスの抑止を保障する。
メモリ制御部13−4は、ディスコネクト状態でIPLリセット後にエラーロギング未完了フラグがセットされている場合に、ファームウェアの指示によってモジュール各部から収集され一時退避部14に格納されているエラー要因をデータレジスタ32(WDバッファ)へストアする命令と、フラッシュメモリのロギング対象アドレスをアドレスレジスタ31(WAバッファ)へストアする命令と、フラッシュメモリへの書き込みを起動するSQ起動レジスタ33へのストア命令と、を連続して実行することによって、ファームウェア21をフラッシュメモリ12で動作させたまま、書き込みに必要な一連のコマンドシーケンスを中断することなく実行し、エラーログ22をフラッシュメモリ12に書き込む。
【0080】
なお、その他の構成は実施の形態1の構成と同一であるので、その詳細は省略する。
次に、図10を参照してメモリ制御部13−4のフラッシュメモリ12へのエラーログ情報書き込みを詳細に説明する。まず、一時退避部14からの一時退避エラーログ41を図示しない汎用レジスタに読み出す(ステップ411)。この場合、エラーログの読み出しは例えば、4バイト単位とする。
【0081】
次に、ファームウェアはエラーログ41によりフラッシュメモリ12への書き込みアドレスWAをセット、すなわち、アドレスレジスタ31(WAバッファ)にストアする(ステップ412)。
【0082】
次に、ファームウェアはエラーログ41により書き込みデータWDのセット、すなわち、データレジスタ32(WDバッファ)にストアする(ステップ413)。
【0083】
次に、ファームウェアはエラーログ41によりSQ起動レジスタ33のセットを行う(ステップ414)。この場合、MU内のCRレジスタにストアする。次に、待合せ部35はハードウェア処理待ち時間を設定する(ステップ415)。すなわち、待合せ部35は、ファームウェア21からSQ起動レジスタ33への書き込みアクセスを起動した後にFM書き込みシーケンサSQの発行が完了するまで次のフラッシュメモリ12へのアクセスを待ち合わせる。
【0084】
さらに、判定回数が、エラーログデータ個数分の繰り返し回数に一致したかを判定する(ステップ416)。判定回数が、繰り返し回数に一致しない場合には、ステップ411に戻り、ステップ411以降の処理を繰り返し行うことになる。
【0085】
判定回数が、繰り返し回数に一致した場合には、エラーロギングを完了する。
このように、待合せ部35はファームウェア21からSQ起動レジスタ33への書き込みアクセスを起動した後にFM書き込みシーケンサSQの発行が完了するまで次のフラッシュメモリ12へのアクセスを待ち合わせるので、コマンドシーケンスを崩すようなフラッシュメモリ12へのアクセスの抑止を保障できる。
【0086】
また、メモリ制御部13−4は、各ストア命令を連続して実行することによって、ファームウェア21をフラッシュメモリ12で動作させたまま、書き込みに必要な一連のコマンドシーケンスを中断することなく実行し、エラーログ22をフラッシュメモリ12に書き込むことができる。
<発明の実施の形態5>
次に、本発明の実施の形態5を説明する。実施の形態5においては、状態制御部15は、障害バス制御モジュールをディスコネクト状態に遷移させると同時にIPLリセットを発行した後に、セットされたエラーロギング未完了フラグによって中央処理部11に対して割り込み要求線を介してエラーロギング割り込み要求を発行する割り込み発行部55と、割り込み発行部55で発行された割り込み要求をマスクする割り込みマスク部56とを設ける。
【0087】
この割り込みレベルを中央処理部11にとってマスク可能な最優先レベルに割当てる。
再起動されたファームウェア21はエラー要因の収集完了後にエラーロギング割り込みのマスクを解除してエラーロギング割り込みを認識した場合に、一時退避部14に格納されているエラー要因をフラッシュメモリ12に書き込む。
【0088】
ファームウェア21はエラーロギング未完了フラグをクリアすることによってエラーロギング割り込み要求を解除した後にSELF HALTによって停止する。なお、その他の構成は実施の形態1の構成と同一であるので、その詳細は省略する。
【0089】
次に、実施の形態5の動作を説明する。まず、他のバス制御モジュール1b−5が、障害を検出すると、障害バス制御モジュール1a−5内の状態遷移部51は、システムバス3からディスコネクトするための状態遷移命令を取り込み、モジュールの状態をディスコネクト状態に遷移させる。
【0090】
さらに、リセット発行部52は、中央処理部PU11を初期化するIPLリセットを発行する。このとき、フラグセット部53は、エラーロギング未完了を示すフラグをセットする。
【0091】
なお、このとき、割り込みマスク部56によって、状態制御部15から中央処理部11へのエラーロギング割り込み要求がマスクされている。
次に、ファームウェアFWは、図12に示すフローチャートに従って処理が行われる。ファームウェアFWは、モジュール内のハードウェア資源の初期化を行う(ステップ501)。このとき、バス制御モジュール内の図示しない制御レジスタのセット、LSのMMUテーブルのマッピング、割り込み要因レジスタのクリアを行う。
次に、ファームウェアは各CU内に存在するエラー要因を収集して一時退避部LS14内の主記憶部へ格納する(ステップ502)。そして、割り込み発行部55はエラーロギング割り込み要求のマスクを解除する(ステップ503)。
【0092】
ファームウェアは、自己のモジュールのディスコネクト状態とエラーロギング割り込み要求を監視してディスコネクト状態とエラーロギング割り込み要求がどうようになっているのかを判定する(ステップ504)。
【0093】
ここで、障害バス制御モジュールがディスコネクト状態であって、かつエラーロギング割り込み要求があった場合には、ファームウェア21は一時退避部14に格納されたエラーログ41をフラッシュメモリ12にエラーログ22として書き込む(ステップ505)。
【0094】
さらに、エラーロギング未完了フラグをクリアし(ステップ506)、SELF HALTによってファームウェアは停止する(ステップ507)。以上の処理によりファームウェアの処理が終了すると、障害バス制御モジュールを図示しないコネクタから活性抜き出して、そのモジュールを工場に持ち返って調査、修理を行う。
【0095】
一方、エラーロギング割り込み要求がない場合には、通常のファームウェアプロセスに進む。すなわち、リセット要因の判定が行われ(ステップ508)、ハードウェア初期診断を行い(ステップ509)、あるいは、ハードウェア初期診断を行わずに、ソフトウェアローディングを行う(ステップ510)。
【0096】
このように、エラーロギング割り込み要求を発行またはその要求のマスクによっても、不揮発性メモリ12へのエラーログを書き込むことができる。
<発明の実施の形態6>
次に、本発明の実施の形態6を説明する。バス制御モジュール1a−6には、メンテナンス用バス73を介してメンテナンス用バスインターフェイス71,72(MI)が接続されている。さらに、MI71と一時退避部14とはMI72により接続されている。
【0097】
メンテナンス用バスインタフェイス71,72は、障害バス制御モジュール1a−6がシステムバス3からディスコネクト状態でも接続されており、クローズされないようになっている。メンテナンス用バスを介してディスコネクト状態においてファームウェア21の介在なしにバス制御モジュール1a−6内のエラーロギング未完了フラグを読み出す。
【0098】
なお、その他の構成は実施の形態1の構成と同一であるので、その詳細は省略する。
次に、実施の形態6の動作を説明する。まず、他のバス制御モジュール1b−6が、障害を検出すると、障害バス制御モジュール1a−6内の状態遷移部51は、システムバス3からディスコネクトするための状態遷移命令を取り込み、モジュールの状態をディスコネクト状態に遷移させる。
【0099】
さらに、リセット発行部52は、中央処理部PU11を初期化するIPLリセットを発行する。このとき、フラグセット部53は、エラーロギング未完了を示すフラグをセットする。
【0100】
次に、ファームウェアFWは、図14に示すフローチャートに従って処理が行われる。ファームウェアFWは、モジュール内のハードウェア資源の初期化を行う(ステップ601)。このとき、バス制御モジュール内の図示しない制御レジスタのセット、LSのMMUテーブルのマッピング、割り込み要因レジスタのクリアを行う。
【0101】
次に、ファームウェアは各CU内に存在するエラー要因を収集して一時退避部LS14内の主記憶部へ格納する(ステップ602)。
ファームウェアは、自己のモジュールのディスコネクト状態とエラーロギング未完了フラグを監視してディスコネクト状態とエラーロギング未完了フラグがどうようになっているのかを判定する(ステップ603)。
【0102】
ここで、障害バス制御モジュールがディスコネクト状態であって、かつエラーロギング未完了フラグがあった場合には、ファームウェア21は一時退避部14に格納されたエラーログ41をフラッシュメモリ12にエラーログ22として書き込む(ステップ604)。
【0103】
このとき、メンテナンスバス73とバスインターフェイス71,72を介してエラーロギング未完了フラグのバス制御モジュール1a−6から図示しないコンソールへのポーリングを行う。エラーロギング未完了フラグのクリア確認を行う((1))。((1)),((2))のタイミングでは、エラーロギング未完了フラグのクリア未完了が確認できる。
【0104】
さらに、エラーロギング未完了フラグをクリアする(ステップ605)。このとき、((3))では、クリア完了がコンソールで確認できる。従って、クリア完了確認前では、バス制御モジュールの活性抜き出しは行えない。また、クリア完了確認後では、バス制御モジュールの活性抜き出しが行える。
【0105】
SELF HALTによってファームウェアは停止する(ステップ606)。以上の処理によりファームウェアの処理が終了すると、障害バス制御モジュールを図示しないコネクタから活性抜き出して、そのモジュールを工場に持ち返って調査、修理を行う。
【0106】
一方、エラーロギング割り込み要求がない場合には、通常のファームウェアプロセスに進む。すなわち、リセット要因の判定が行われ(ステップ607)、ハードウェア初期診断を行い(ステップ608)、あるいは、ハードウェア初期診断を行わずに、ソフトウェアローディングを行う(ステップ609)。
【0107】
このように、エラーロギング模完了フラグのセット、クリアをバスインターフェイス71,72を介して外部のコンソールで見る。すなわち、バス制御モジュールの活性抜き出し可能なタイミングを外部から知ることができる。その結果、ディスコネクト状態におけるエラーロギングが完了したか否かをモジュール抜き出し前に判定できる。
<産業上の利用可能性>
前記エラーログ装置は、バス制御装置などに適用される。
【0108】
【発明の効果】
本発明によれば、外部記憶装置に対してエラーログを格納できないような重大障害が発生しても、バス制御モジュール内の不揮発性メモリ内にエラーログを保持することができる。この不揮発性メモリはバス制御モジュールとともに持ち運びできるので、従来のように外部記憶装置に格納されたエラーログを改めて回収したり、あるいは、エラーログを障害バス制御モジュールに対応付けるテーブルを設ける必要もなくなり、容易に障害解析を行うことができる。
【0109】
また、ファームウェアは、障害バス制御モジュールが切り離し状態でかつエラーログフラグが設定されている場合にバス制御モジュールの初期化処理から分岐し保持されたエラー要因を読み出して不揮発性メモリへ書き込みエラーログフラグをリセットした後に停止する。その結果、ディスコネクト状態でエラーログ情報を不揮発性メモリへの書き込みが完了することになる。
【0110】
さらに、複数のコマンドシーケンスによってエラーログを書き込む場合、一旦、エラーログ情報を全て一時退避部に書き込み、コピーファームウェアによってそのエラーログ情報を不揮発性メモリに書き込む。その結果、一連のコマンドシーケンスを命令フェッチなどによって中断されることなく実行できる。
【0111】
また、ファームウェアは第1の不揮発性メモリで動作し、一連のコマンドによってエラーログを第2の不揮発性メモリに書き込む。その結果、一連のコマンドが命令フェッチなどにより壊れることがなくなる。
【0112】
さらに、待合せ部はファームウェアから起動部への書き込みアクセスを起動した後に書き込みシーケンサの発行が完了するまで次の不揮発性メモリへのアクセスを待ち合わせる。その結果、コマンドシーケンスを崩すような不揮発性メモリへのアクセスの抑止を保障できる。
【0113】
また、エラーロギング割り込み要求の発行、マスクによっても不揮発性メモリにエラーログを書き込むことができることになる。
また、障害バス制御モジュールがバスから切り離し状態でも、バスインターフェイスは障害バス制御モジュールに接続され、エラーログフラグを障害バス制御モジュールから外部に読み出す。その結果、エラーログフラグのセット、クリアによってエラーログの格納が完了したか否かがわかる。
【図面の簡単な説明】
【図1】本発明のエラーログ装置を示す原理図である。
【図2】エラーログ装置の発明の実施の形態1を示す構成ブロック図である。
【図3】発明の実施の形態1のファームウェアの処理の流れを示すフローチャートである。
【図4】エラーログ装置の発明の実施の形態2を示す構成ブロック図である。
【図5】発明の実施の形態2のファームウェアの処理の流れを示すフローチャートである。
【図6】発明の実施の形態2のフラッシュメモリにおける書き込みファームウェアシーケンスを示す図である。
【図7】フラッシュメモリ書き込みシーケンスの一例を示す図である。
【図8】エラーログ装置の発明の実施の形態3を示す構成ブロック図である。
【図9】エラーログ装置の発明の実施の形態4を示す構成ブロック図である。
【図10】発明の実施の形態4のメモリ制御部がフラッシュメモリ書き込みコマンドシーケンスを自動的に実行する機能を有しない場合のエラーロギング処理を示す図である。
【図11】エラーログ装置の発明の実施の形態5を示す構成ブロック図である。
【図12】発明の実施の形態5のファームウェアの処理の流れを示すフローチャートである。
【図13】エラーログ装置の発明の実施の形態6を示す構成ブロック図である。
【図14】発明の実施の形態6のファームウェアの処理の流れを示すフローチャートである。
【符号の説明】
1a,1b・・バス制御モジュールBM
3・・システムバス
10・・チップバス
11・・中央処理部PU
12・・不揮発性メモリFM
13・・メモリ制御部MU
14・・一時退避部LS
15・・状態制御部SU
16a〜16n・・保持部CU
21・・ファームウェア
22・・エラーログ
41・・一時退避エラーログ
Claims (2)
- 複数のバス制御モジュールを接続できるバスシステムにおいて使用されるバス制御モジュールであって、
情報の書換え可能な不揮発性メモリと、
自モジュール内で障害を検出したとき、エラー要因を保持する保持部と、
バスから切り離すことを指示する状態遷移命令を他のバス制御モジュールから受けると、自モジュールをバスから切り離し状態に遷移させ、エラーログフラグを設定する状態制御部と、
前記エラーログフラグが設定されていることを検出すると、前記保持部に保持されているエラー要因を読み出して前記不揮発性メモリにエラーログ情報として書き込むエラーログ制御部と、
を有することを特徴とするバス制御モジュール。 - 請求項1に記載のバス制御モジュールを備えるバスシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23260095A JP3705848B2 (ja) | 1995-09-11 | 1995-09-11 | バス制御モジュール |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23260095A JP3705848B2 (ja) | 1995-09-11 | 1995-09-11 | バス制御モジュール |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0981420A JPH0981420A (ja) | 1997-03-28 |
JP3705848B2 true JP3705848B2 (ja) | 2005-10-12 |
Family
ID=16941906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23260095A Expired - Fee Related JP3705848B2 (ja) | 1995-09-11 | 1995-09-11 | バス制御モジュール |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3705848B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4644720B2 (ja) * | 2008-03-10 | 2011-03-02 | 富士通株式会社 | 制御方法、情報処理装置及びストレージシステム |
-
1995
- 1995-09-11 JP JP23260095A patent/JP3705848B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0981420A (ja) | 1997-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7890812B2 (en) | Computer system which controls closing of bus | |
US5819108A (en) | Programming of software into programmable memory within a peripheral device | |
US10108469B2 (en) | Microcomputer and microcomputer system | |
US6862645B2 (en) | Computer system | |
JP3705848B2 (ja) | バス制御モジュール | |
CN1329839C (zh) | 一种计算机cpu抗干扰的设计方法 | |
JPH02294739A (ja) | 障害検出方式 | |
JP3723243B2 (ja) | プロセッサ装置及びその制御方法 | |
CN115292077A (zh) | 内核异常处理方法及系统 | |
JPS60159951A (ja) | 情報処理装置におけるトレ−ス方式 | |
CN101311909A (zh) | 诊断系统异样的方法 | |
JPH0519171B2 (ja) | ||
JPH10228395A (ja) | 制御用コントローラの異常診断装置 | |
KR101716866B1 (ko) | 주변장치 통합 초기화가 가능한 영속 부팅 장치 및 방법 | |
CN108415788B (zh) | 用于对无响应处理电路作出响应的数据处理设备和方法 | |
CA1316608C (en) | Arrangement for error recovery in a self-guarding data processing system | |
JPH11119992A (ja) | ファームウェアのトレース制御装置 | |
JP2003337758A (ja) | 二重化メモリシステム | |
JPH04125753A (ja) | メモリのオンライン診断方式 | |
JP2005122337A (ja) | バスシステム、ホストブリッジ、バスシステムのオンライン再立ち上げ方法及びプログラム | |
JPH0934795A (ja) | Cpuプログラムのコピープロテクト法 | |
JP2000276631A (ja) | 自動取引装置 | |
JP3036449B2 (ja) | メモリ診断装置 | |
EP0725343B1 (en) | Error prevention in computer systems | |
JP3340284B2 (ja) | 冗長システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040527 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040622 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040820 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050419 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050616 |
|
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: 20050712 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050727 |
|
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: 20090805 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090805 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100805 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110805 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120805 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120805 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130805 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |