(57)【要約】【課題】ホストバスのデータにて間欠的な誤りが発生してもシステムを停止させることなく対処することのできるデータ誤り検出方法を提供する。【解決手段】プロセッサ、メモリが接続されるホストバス、Ｉ／Ｏが接続されるＩ／Ｏバス、ホストバスとＩ／Ｏバスを接続するバスブリッジを有するシステムにおいて、バスブリッジ内に、データ記憶手段と、データ誤り検出手段と、データ転送の開始・終了・中断制御を行い、さらにデータ誤り検出手段にてデータ誤りを検出したときは、データ転送の中止を前記Ｉ／Ｏに通知するＩ／Ｏバスインタフェース制御手段とを設け、Ｉ／Ｏからプロセッサに障害検出通知を行わせる。【選択図】　　　図１
2004094694.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサ及びメモリが接続されるホストバスと、Ｉ／Ｏが接続されるＩ／Ｏバスと、当該ホストバスとＩ／Ｏバスとを接続するバスブリッジを備えるシステムにおいて、
前記バスブリッジは、前記ホストバスからの転送データを一時格納するデータ記憶手段と、当該転送データの誤りを検出するデータ誤り検出手段と、前記データ記憶手段から前記Ｉ／Ｏへのデータ転送の開始、終了及び中断制御を行い、前記データ誤り検出手段がデータ誤りを検出すると、データ転送を中止し、前記Ｉ／Ｏにデータ転送の中止を通知するＩ／Ｏバスインタフェース制御手段とを備え、
前記Ｉ／Ｏは、前記Ｉ／Ｏバスインタフェース制御手段からデータ転送の中止の通知を受けると、前記プロセッサに障害検出通知を行うことを特徴とするデータ誤り検出方式。
【請求項２】
前記プロセッサは、前記Ｉ／Ｏから障害検出通知を受けると、当該Ｉ／Ｏに対する障害復旧処理を行うことを特徴とする請求項１記載のデータ誤り検出方式。
【請求項３】
前記プロセッサは、前記Ｉ／Ｏから所定回数障害検出通知を受けると、前記ホストバスに対する障害復旧処理を行うことを特徴とする請求項２記載のデータ誤り検出方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プロセッサ及びメモリが接続されるホストバスと、Ｉ／Ｏが接続されるＩ／Ｏバスと、前記ホストバスと前記Ｉ／Ｏバスとを接続するバスブリッジを有するシステムにおけるデータ誤り検出方式に関する。
【０００２】
【従来の技術】
従来、この種のデータ誤り検出方式として図４に示すようなものがある。プロセッサ１１及びメモリ１２が接続されるホストバス１３と、Ｉ／Ｏ１４が接続されるＩ／Ｏバス１５と、ホストバス１３とＩ／Ｏバス１５とが接続されるバスブリッジ１６を有するシステムにおいて、バスブリッジ１６は、ホストバス１３から受け取ったデータを一時格納するデータ記憶手段１７と、当該データの誤りを検出するデータ誤り検出手段１９と、データ記憶手段１７からＩ／Ｏ１４へのデータ転送の開始、終了及び中断制御を行うＩ／Ｏバスインタフェース制御手段１８と、データ誤り検出手段１９がデータ誤りを検出すると、プロセッサ１１に対してデータ誤りを通知するデータ誤り通知手段２０を備えている。
【０００３】
なお、プロセッサ１１とバスブリッジ１６間には障害検出通知専用の信号線が設けられており、データ誤り通知手段２０はその信号線によりプロセッサ１１に通知する。
【０００４】
プロセッサ１１は、データ誤り通知手段２０からデータ誤りが通知されると、ホストバス１３の障害と判断し、システムの停止を行わせる。
【０００５】
【発明が解決しようとする課題】
しかし、従来の技術では、プロセッサはデータの誤り原因、及び障害箇所を認識できないため、ホストバス上のデータ誤りが外乱ノイズ等による間欠的なものであっても即座にシステムを停止させてしまい、システムの稼働率を低下させる要因となっていた。
【０００６】
そこで本発明は、ホストバス上のデータにて間欠的な誤り等が発生しても即座にシステムを停止させることなく対処することのできるデータ誤り検出方式を提供することを目的とする。
【０００７】
【課題を解決するための手段】
かかる目的を達成するため、本発明にかかるデータ誤り検出方式は、プロセッサ及びメモリが接続されるホストバスと、Ｉ／Ｏが接続されるＩ／Ｏバスと、当該ホストバスとＩ／Ｏバスとを接続するバスブリッジを備えるシステムにおいて、前記バスブリッジは、前記ホストバスからの転送データを一時格納するデータ記憶手段と、当該転送データの誤りを検出するデータ誤り検出手段と、前記データ記憶手段から前記Ｉ／Ｏへのデータ転送の開始、終了及び中断制御を行い、前記データ誤り検出手段がデータ誤りを検出すると、データ転送を中止し、前記Ｉ／Ｏにデータ転送の中止を通知するＩ／Ｏバスインタフェース制御手段とを備え、前記Ｉ／Ｏは、前記Ｉ／Ｏバスインタフェース制御手段からデータ転送の中止の通知を受けると、前記プロセッサに障害検出通知を行うこととする。
【０００８】
この場合、前記プロセッサは、前記Ｉ／Ｏから障害検出通知を受けると、当該Ｉ／Ｏに対する障害復旧処理を行うことが望ましく、更に、前記プロセッサは、前記Ｉ／Ｏから所定回数障害検出通知を受けると、前記ホストバスに対する障害復旧処理を行うことが望ましい。
【０００９】
【発明の実施の形態】
次に、本発明にかかる実施の形態について図面を参照して説明する。
【００１０】
図１は本発明のデータ誤り検出方式を用いたシステムのブロック図を示す。本システムは、プロセッサ１と、メモリ２と、プロセッサ１及びメモリ２が接続されるホストバス３と、Ｉ／Ｏ４と、Ｉ／Ｏ４が接続されるＩ／Ｏバス５と、ホストバス３とＩ／Ｏバス５を接続するバスブリッジ６とを有しており、バスブリッジ６は、メモリ２からＩ／Ｏ４への転送データを格納するデータ記憶手段７と、データ記憶手段７から出力されるデータの誤り検出を行うデータ誤り検出手段９と、データ記憶手段７からＩ／Ｏ４へのデータ転送の開始、終了及び中断制御を行い、データ誤り検出手段９がデータ誤りを検出すると、データ転送を中止し、Ｉ／Ｏ４にデータ転送の中止を通知するＩ／Ｏバスインタフェース制御手段８とを備えている。
【００１１】
次に、本発明の動作について説明する。
【００１２】
まず、メモリ２に格納されたデータをＩ／Ｏ４に転送する動作について説明する。メモリ２から出力された転送データは、ホストバス３を介し、バスブリッジ６に入力され、データ記憶手段７に格納される。
【００１３】
そして、Ｉ／Ｏバスインタフェース制御手段８のデータ転送開始指示により、データ記憶手段７に格納された転送データはＩ／Ｏ４に転送される。その際、データ誤り検出手段９は、データ記憶手段７から出力される転送データに誤りがないかのチェックを行い、誤りを検出したときは、Ｉ／Ｏバスインタフェース制御手段８に誤り検出を通知する。
【００１４】
誤り検出通知を受けたＩ／Ｏバスインタフェース制御手段８は、データ転送処理を中断して、Ｉ／Ｏ４に対しその旨を通知する。Ｉ／Ｏ４はこの中止通知を受けると、データ転送時の障害として障害検出通知信号１０をプロセッサ１に通知する。
【００１５】
ここで、具体例１として、Ｉ／Ｏバス５がＣｏｎｖｅｎｔｉｏｎａｌ　ＰＣＩバスである場合の動作について、図２を参照して説明する。
【００１６】
Ｉ／Ｏ４からのデータ読み出し要求があると、バスブリッジ６内のＩ／Ｏバスインタフェース制御手段８で受け付ける（Ｓ１）。
【００１７】
そして、Ｉ／Ｏバスインタフェース制御手段８はデータ記憶手段７に格納されたデータをチェックし（Ｓ２）、有効なデータがない場合は、転送データがデータ記憶手段７に格納されるまでＩ／Ｏ４からのデータ読み出し要求はリトライさせる。
【００１８】
一方、データ記憶手段７に有効なデータがある場合は、転送データをＩ／Ｏ４に転送するが、その際、データ誤り検出手段９はデータ記憶手段７から出力される転送データの誤りをチェックし（Ｓ５）、結果をＩ／Ｏバスインタフェース制御手段８に通知する。
【００１９】
転送データに誤りがなければＩ／Ｏ４に転送を行う（Ｓ９）。
【００２０】
誤りが検出されると、Ｉ／Ｏバスインタフェース制御手段８はデータ誤り通知を受けて、当該転送データが転送開始か転送中かを確認し（Ｓ６）、転送開始のデータにて誤りを検出した場合は、Ｉ／Ｏ４に対してターゲットアボートを発行する（Ｓ７）。転送途中のデータにて誤りを検出した場合は、誤っているデータの直前でデータ転送のディスコネクト処理を行う（Ｓ８）。ターゲットアボートを受け取ったＩ／Ｏ４はデータ転送時の障害として障害検出通知信号１０をプロセッサ１に通知する。
【００２１】
次に、具体例２として、Ｉ／Ｏバス５がＰＣＩ−Ｘである場合の動作について図３を参照して説明する。
【００２２】
Ｉ／Ｏ４からのデータ読み出し要求があると、バスブリッジ６内のＩ／Ｏバスインタフェース制御手段８で受け付け（Ｓ１１）、バスブリッジ６はメモリ２から転送データを読み出してデータ記憶手段７に格納する（Ｓ１２）。
【００２３】
そして、Ｉ／Ｏバスインタフェース制御手段８はデータ記憶手段７に格納されたデータをチェックし（Ｓ１３）、有効なデータがない場合は、転送データがデータ記憶手段７に格納されるまでＩ／Ｏ４からのデータ読み出しを継続する。
【００２４】
データ記憶手段７に有効なデータがある場合は、転送データをＩ／Ｏ４に転送するが、その際、データ誤り検出手段９はデータ記憶手段７から出力される転送データの誤りをチェックし（Ｓ１４）、結果をＩ／Ｏバスインタフェース制御手段８に通知する。
【００２５】
転送データに誤りがなければＩ／Ｏ４に転送を行う（Ｓ１５）。
【００２６】
誤りが検出されると、Ｉ／Ｏバスインタフェース制御手段８はデータ誤り通知を受けて、当該転送データが転送開始か転送中かを確認し（Ｓ１６）、転送途中のデータにて誤りを検出した場合は、誤っているデータの前にあるＡＤＢ（Ａｌｌｏｗａｂｌｅ　Ｄｉｓｃｏｎｎｅｃｔ　Ｂｏｕｎｄａｒｙ）でデータ転送処理を中断して、データを送信せずにＳｐｌｉｔ　Ｃｏｍｐｌｅｔｉｏｎ　ＭｅｓｓａｇｅをＩ／Ｏ４に送信し、Ｉ／Ｏ４に対してデータ誤りの通知を行う。
【００２７】
Ｓｐｌｉｔ　Ｃｏｍｐｌｅｔｉｏｎ　Ｍｅｓｓａｇｅを受け取ったＩ／Ｏ４はデータ転送時の障害として障害検出通知信号１０をプロセッサ１に通知する。
【００２８】
これら具体例１及び２のように障害検出通知信号１０を受け取ったプロセッサ１は、Ｉ／Ｏバス５の障害であると判断し、通知発行元のＩ／Ｏ４に対して初期化、再組み込み又は切り離し処理等の障害対応処理を行う。
【００２９】
なお、プロセッサ１はＩ／Ｏ４から所定回数障害検出通知信号１０を受け取ると、ホストバス３の障害であると判断し、システムの停止又は初期化を行う。
【００３０】
【発明の効果】
以上説明したように、本発明によれば、障害検出をＩ／Ｏからプロセッサに通知することで、ホストバスからＩ／Ｏへ転送するデータにて誤りが発生した場合の障害処理を局所化することができ、これによりシステム全体を停止させる必要がなくなるため、システムの稼働率低下を防ぐことができる。
【図面の簡単な説明】
【図１】本発明の全体構成を示すブロック構成図。
【図２】本発明の具体例１におけるバスブリッジ動作フロー。
【図３】本発明の具体例２におけるバスブリッジ動作フロー。
【図４】従来技術の全体構成を示すブロック構成図。
【符号の説明】
１　プロセッサ
２　メモリ
３　ホストバス
４　Ｉ／Ｏ
５　Ｉ／Ｏバス
６　バスブリッジ
７　データ記憶手段
８　Ｉ／Ｏバスインタフェース制御装置
９　データ誤り検出手段
１０　障害検出通知信号
【図１】
2004094694.tif 000003
【図２】
2004094694.tif 000004
【図３】
2004094694.tif 000005
【図４】
2004094694.tif 000006