(57)【要約】【課題】  プロセッサから発行されるレジスタライトトランザクションの抜けを検出して誤動作を防止することが可能なインタフェース制御カードを提供する。【解決手段】  汎用バス５に接続されメモリ３のデータを外部へ送信するインタフェース制御部１８を有するインタフェース制御カード１において、データ送信のための制御レジスタ１２，１３への書き込み回数と、プロセッサ２が制御レジスタ１２，１３へ実際に書き込みを行った回数（送信起動レジスタ１４に、送信起動を契機としてセットされる）とを比較器１６で比較し、この比較結果が一致したときに、転送処理部１７はデータ送信をなすよう構成する。これにより、制御レジスタへのライトトランザクション回数が、プロセッサから発行された実際のライトトランザクション回数と一致したかどうかがチェック可能となり、ライトトランザクションの抜けが検出できる。【選択図】      図１
2008204207.tif 000002
【特許請求の範囲】
【請求項１】
汎用バスに接続され、メモリデータを外部へ送信するインタフェースを有するインタフェース制御装置であって、
データ送信のための制御レジスタへの書き込み回数と前記プロセッサが前記制御レジスタへ実際に書き込みを行った回数とを比較して、この比較結果が一致したときに前記データ送信をなす手段を含むことを特徴とするインタフェース制御装置。
【請求項２】
前記手段は、前記制御レジスタへの書き込み回数をカウントするカウンタと、前記プロセッサから報告された実際の書き込み回数がセットされるレジスタとを含み、このレジスタの内容と前記カウンタの内容とを比較することを特徴とする請求項１記載のインタフェース制御装置。
【請求項３】
前記書き込み回数がセットされるレジスタは、前記データ送信の起動を契機としてセットされることを特徴とする請求項２記載のインタフェース制御装置。
【請求項４】
汎用バスに接続され、メモリデータを外部へ送信するインタフェースを有するインタフェース制御装置における動作制御方法であって、
データ送信のための制御レジスタへの書き込み回数と前記プロセッサが前記制御レジスタへ実際に書き込みを行った回数とを比較するステップと、
この比較結果が一致したときに前記データ送信をなすステップとを含むことを特徴とする方法。
【請求項５】
前記比較するステップは、前記制御レジスタへの書き込み回数をカウントするカウンタの内容と、前記プロセッサから報告された実際の書き込み回数がセットされるレジスタの内容とを比較することを特徴とする請求項４記載の方法。
【請求項６】
前記データ送信の起動を契機として、前記書き込み回数が前記レジスタにセットされることを特徴とする請求項５記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はインタフェーヘス制御装置及びその動作制御方法に関し、特にコンピュータシステムにおいてＰＣＩ（Peripheral component Interconnect ）バスなどの汎用バスに実装されるインタフェース制御カード及びその動作制御方法に関するものである。
【背景技術】
【０００２】
コンピュータシステムにおけるＰＣＩバスなどの汎用バスに実装されるカードへ動作の設定や起動を行うために、プロセッサからレジスタライトトランザクションが発行されるが、途中の経路にあるＬＳＩ等の故障により、このレジスタライトトランザクションの一部が消失してしまう場合がある。例えば、ライトデータのパリティエラーを検出して、そのトランザクションを破棄し、後続するトランザクションはそのまま実行する場合である。この時、動作設定が正しく更新されないで古い設定のまま動作していまい、データ化けなどの誤動作が発生してしまう。
【０００３】
なお、関連する技術として、特許文献１，２がある。
【特許文献１】特開昭６４−５４５６３号公報
【特許文献２】特開２００５−１３５０８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述したように、プロセッサから発行されるレジスタライトトランザクションが、途中の経路にあるＬＳＩ、例えば、バスブリッジなどの故障により、データパリティエラーなどのエラーが検出された場合、該トランザクションは破棄されて、プロセッサへエラー検出の割り込みを発生し障害処理をプロセッサに委ねるようになっている。この時、後続のレジスタライトトランザクションがあって、エラー等が検出されない場合には、処理が継続される場合がある。すると、レジスタライトトランザクションの対象に対して、一部のレジスタライトが抜けた状況となり、場合によっては誤動作を引き起こすことがある。
【０００５】
ここで、特許文献１，２を参照すると、ＤＭＡ（Direct Memory Access）制御部内において、データ転送回数をカウンタによりチェックして、自身が起動した転送で、転送回数が誤っていないかどうかを判定するようになっている。すなわち、ＤＭＡ制御部内で誤動作が起きていないかを、ＤＭＡ制御部の中でチェックする技術が開示されている。
【０００６】
このような特許文献１，２の技術では、あくまでも、ＤＭＡ制御部の中で、自身が起動したデータ転送の回数が誤っていないかどうかをチェックするものであるから、上述したように、プロセッサから発行されるレジスタライトトランザクションが、途中の経路にあるＬＳＩの故障によって、消失したかどうかを判断することはできない。
【０００７】
本発明の目的は、簡単な論理を追加することにより、プロセッサから発行されるレジスタライトトランザクションの抜けを検出して誤動作を防止することが可能なインタフェース制御装置及びその動作制御方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明によるインタフェース制御装置は、汎用バスに接続され、メモリデータを外部へ送信するインタフェースを有するインタフェース制御装置であって、データ送信のための制御レジスタへの書き込み回数と前記プロセッサが前記制御レジスタへ実際に書き込みを行った回数とを比較して、この比較結果が一致したときに前記データ送信をなす手段を含むことを特徴とする。
【０００９】
本発明によるインタフェース制御装置の動作制御方法は、汎用バスに接続され、メモリデータを外部へ送信するインタフェースを有するインタフェース制御装置における動作制御方法であって、データ送信のための制御レジスタへの書き込み回数と前記プロセッサが前記制御レジスタへ実際に書き込みを行った回数とを比較するステップと、この比較結果が一致したときに前記データ送信をなすステップとを含むことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、プロセッサ（ファームウェア）が発行したレジスタライトトランザクションの回数と、カードが実際に受け取ったレジスタライトトランザクションの回数とを比較することにより、レジスタへのライトトランザクション消失を検出することでき、制御レジスタが更新されないまま起動をかけてデータ化け等の誤動作を防止することができるという効果がある。
【００１１】
また、そのチェック方式はＣＲＣ（Cyclic Redundancy Check ）やチェックコードを付加する様なものに比べて、ファームウェアの処理ステップやハードウェアの回路規模が小さなもので実現できるという効果もある。
【発明を実施するための最良の形態】
【００１２】
以下に、図面を参照しつつ本発明の実施の形態について説明する。図１は汎用バスをＰＣＩバスとし、外部インタフェースをもったインタフェース制御カードに、本発明を適用したものであり、特にデータ送信処理に適用した場合の実施の形態である。
【００１３】
図１を参照すると、コンピュータシステムの例であり、プロセッサ２と、メモリ３と、ブリッジ４とを含んでおり、このブリッジ４の配下には、ＰＣＩバス（汎用バス）５により各種制御カードが実装されるものであり、本発明によるインタフェース制御カード１が実装されている。
【００１４】
このインタフェース制御カード１は外部インタフェースを有する制御カードであり、このインタフェースはインタフェース制御部１８で制御されている。転送処理部１７は当該インタフェースでの送受信データをメモリ３との間で転送処理を行うものである。
【００１５】
インタフェース制御カード１は、転送アドレスレジスタ１２と、転送長レジスタ１３と、送信起動レジスタ１４と、書き込み回数カウンタ１５と、比較器１６と、転送処理部１７と、インタフェース制御部１８とを有している。
【００１６】
転送アドレスレジスタ１２は、データ送信時にメモリ３から読み出すアドレスを格納するレジスタである。転送長レジスタ１３は、データ送信時のデータ長を格納するレジスタである。書き込み回数カウント１５は、これら転送アドレスレジスタ１２及び転送長レジスタ１３へのライトトランザクション回数をカウントするレジスタであり、送信起動レジスタ１４へのレジスタライトでリセットされる。
【００１７】
送信起動レジスタ１４は、データ送信の起動をかけるレジスタであり、送信起動レジスタ１４へレジスタライトを行うことによりデータ送信の契機となる。比較器１６は、送信起動レジスタ１４のレジスタライトを契機に書き込み回数カウント１５と送信起動レジスタ１４との値を比較し、等しい場合には、転送処理部１７へデータ送信要求を発行する機能を有する。
【００１８】
次に、本発明の実施の形態の動作を説明する。図１において、インタフェース制御カード１に対してデータ送信を行う場合についての動作を説明する。メモリ３上に用意された送信データのアドレスは、転送元アドレスレジスタ１２にレジスタライトで書き込まれ、送信データの転送長は転送長レジスタ１３にレジスタライトで書き込まれる。
【００１９】
実際のデータ送信起動は、転送元アドレスレジスタ１２及び転送長レジスタ１３に対してレジスタライトを行った回数を、プロセッサ２から送信起動レジスタ１４にレジスタライトすることで行われる。例えば、ＤＭＡ転送の起動を契機として、プロセッサ２から、レジスタライトを行った回数がインタフェース制御カード１へ知らされ、これが送信起動レジスタ１４へライトされることで、実際のデータ転送が起動されることになる。
【００２０】
このとき、書き込み回数カウント１５でカウントされた転送元アドレスレジスタ１２及び転送長レジスタ１３へのレジスタライト回数と、送信起動レジスタ１４の値とが等しいと、比較器１６で判断された場合には、転送処理部１７にデータ送信起動が発行される。
【００２１】
送信起動レジスタ１４にレジスタライトした値と書き込み回数カウント１５の値が異なる場合には、ブリッジ４等の故障でレジスタライトトランザクションが破棄された可能性があるために、比較器１６による転送処理部１７へのデータ送信起動は発行されないようになっている。
【００２２】
このように、プロセッサ２が汎用バスカードであるインタフェース制御カード１に行った制御レジスタへの書き込み回数をチェックする機構を設けることにより、途中経路でのレジスタライトトランザクションの消失を検出することが可能となる。また、ＣＲＣなどのチェックコードを付加するなどの方法よりも、より簡単に、目的とするライトトランザクションの消失を検出することができることになる。
【００２３】
よって、コンピュータシステムにおけるＰＣＩバスなどの汎用バスに実装されるカードにおいて、プロセッサから汎用バスカードへのデータ書き込みを保証して、誤動作を防止するものであり、制御レジスタへの書き込み回数をチェックすることにより、プロセッサからのレジスタライトが経路の途中、例えばブリッジの故障で消失した場合でも、レジスタライト前の古い情報で誤動作することを防止できるのである。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施の形態を示すブロック図である。
【符号の説明】
【００２５】
１  インタフェース制御カード
２  プロセッサ
３  メモリ
４  ブリッジ
５  ＰＣＩバス
１２  転送元レジスタ
１３  転送長レジスタ
１４  送信起動レジスタ
１５  書き込み回数カウンタ
１６  比較器
１７  転送処理部
１８  インタフェース制御部
【図１】
2008204207.tif 000003