(57)【要約】【課題】  プライマリ側のＰＣＩバスエラー処理によるプライマリシステム停止を回避する。【解決手段】  各々が独立して動作するプライマリ側とセカンダリ側のシステム間のブリッジ回路において、セカンダリ側へのリセットのタイミングに寄らず、プライマリ側のＰＣＩバスのプロトコル違反とはならないようにリセット制御する。【選択図】  図１
2009265979.tif 000002
【特許請求の範囲】
【請求項１】
バスブリッジ回路におけるリセット制御手段であって、
第一のシステムと第二のシステム間でデータ転送する手段と、
第一のシステムと第二のシステム間でデータ転送するデータをバッファに蓄積する手段と、
第一のシステムのプライマリバス上でプライマリバスのプロトコルに則って、前記第二のシステムから受信し、前記バッファに蓄積されたデータ転送する手段と、
第二のシステムのセカンダリバス上でセカンダリバスのプロトコルに則って前記第一のシステムから受信し、前記バッファに蓄積されたデータを転送する手段と、
第二のシステムのリセット信号によって前記バッファに蓄積されたデータをクリアする手段と、
第二のシステムのリセット信号によってプライマリバス上のデータ転送を停止する手段と、
第二のシステムのリセット信号によってプライマリバス上からのデータ要求に対してプライマリバスのプロトコルに則って応答をする手段と、
第二のシステムのリセット復帰信号によって第一のシステムと第二のシステム間でデータ転送を開始させる手段とを備えることを特徴とするバスブリッジ回路におけるリセット制御手段。
【請求項２】
前記第一のシステムのプライマリバスはPCIバスであることを特徴とする請求項１に記載のバスブリッジ回路におけるリセット制御手段。
【請求項３】
前記第二のシステムのセカンダリバスはPCIバスであることを特徴とする請求項１に記載のバスブリッジ回路におけるリセット制御手段。
【請求項４】
前記第二のシステムのリセット信号によってプライマリバス上のデータ転送を停止する手段は、PCIバスプロトコルのディスコネクトをすることを特徴とする請求項１に記載のバスブリッジ回路におけるリセット制御手段。
【請求項５】
前記第二のシステムのリセット信号によってプライマリバス上からのデータ要求に対してプライマリバスのプロトコルに則って応答をする手段は、PCIバスプロトコルのリトライ応答することを特徴とする請求項１に記載のバスブリッジ回路におけるリセット制御手段。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バスブリッジ回路におけるリセット制御手段に関するものである。
【背景技術】
【０００２】
近年の複合機は内部にプリンタ、FAX、ネットワークのコントローラユニットを組み込み、１台で複写機とプリンタ、FAX、ネットワーク送信機能などが利用できるように多機能化が進んでいる。この様な装置の複合化に伴って、装置間の通信データ量が増加し、メインコントローラにおけるCPUのタスク処理の負荷が増大している。そこで機能ユニット毎にプロセッサーを実装してセカンダリシステムを構築することにより負荷分散しパフォーマンスの向上を図っている。
【０００３】
これらの様々なセカンダリシステムが組み込まれた構成において、共通バス（以下プライマリバスと呼ぶこととする）を介してデータ転送を行っている。プライマリバスはそれぞれのシステムが順次バスを専有しシステムとしてのバランスやパフォーマンスを落とすことの無い様に工夫されている。しかし、各ユニットのセカンダリシステムはメインコントローラと接続されているものの独立して動作する仕組みになっているため各セカンダリシステムにおいて内部エラーが発生した場合は、メインコントローラからのリセット以外に、任意にシステムリセットをすることができない。なぜなら例えばメインコントローラとネットワークユニットのプライマリバス間でデータ転送中に、ネットワークユニットと外部ネットワーク間で復帰できない通信エラーが発生した場合にセカンダリシステムがリセットするとタイミングによってプライマリバスではプロトコル違反が発生してしまう。そのためプロトコル違反が発生した場合はプライマリ側のシステムもリセットしなければならないという問題があった。
【０００４】
上記の例として、下記特許文献１をあげることが出来る。
【特許文献１】開2001-166847号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記問題を鑑みて特許文献１によれば機能拡張のためにコンピュータシステム本体と切り離し自在に接続される拡張ユニットの非接続を検知した際、コンピュータ本体と拡張ユニットとを相互接続するためのPCI-PCIブリッジのプライマリPCIブリッジ(コンピュータ本体側)に対する動作用クロックの供給を遮断する手段が発明されている。しかしながら、前記手段ではデータ転送中のセカンダリPCIシステムのリセット動作に対してはプロトコル違反を発生してしまう問題は解決できない。
【０００６】
本発明では、プライマリバスとセカンダリシステムのローカルバス間のブリッジ内にリセット制御装置を持ち、セカンダリ側からブリッジ内にリセット要求が来た場合、プライマリ側がセカンダリ側へのアクセスを実行中であれば、ブリッジ内部のシーケンスをプリイマリ側へのバスエラーを起こさないようにアクセスを正常終了させ、その後にプライマリ側からのアクセス要求にはretryを返すことによりプロトコル違反を起こさないように制御をさせる。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明におけるバスブリッジ回路におけるリセット制御手段は、
バスブリッジ回路におけるリセット制御手段であって、
第一のシステムと第二のシステム間でデータ転送する手段と、
第一のシステムと第二のシステム間でデータ転送するデータをバッファに蓄積する手段と、
第一のシステムのプライマリバス上でプライマリバスのプロトコルに則って前記バッファに蓄積されたデータ転送する手段と、
第一のシステムのセカンダリバス上でセカンダリバスのプロトコルに則って前記バッファに蓄積されたデータ転送する手段と、
第二のシステムのリセット信号によって前記バッファに蓄積されたデータをクリアする手段と、
第二のシステムのリセット信号によってプライマリバス上のデータ転送を停止する手段と、
第二のシステムのリセット信号によってプライマリバス上からのデータ要求に対してリトライ応答をする手段と、
第二のシステムのリセット復帰信号によって第一のシステムと第二のシステム間でデータ転送を開始させる手段とを特徴とする。
【０００８】
前記第一のシステムのプライマリバスはPCIバスであることを特徴とする。
【０００９】
前記第二のシステムのセカンダリバスはPCIバスであることを特徴とする。
【００１０】
前記第二のシステムのリセット信号によってプライマリバス上のデータ転送を停止する手段は、PCIバスプロトコルのディスコネクトをすることを特徴とする。
【発明の効果】
【００１１】
以上詳述したようにネットワークI/F１０２におけるシステムのリセットに対してブリッジ回路４０４２、リセット制御部４０４３、PCI I/F４０４４を制御することによってシステムバス１０４上のプロトコル違反が起きないようにすることが可能となる。
【発明を実施するための最良の形態】
【００１２】
次に、本発明の詳細を実施例の記述に従って説明する。
【００１３】
以下に、添付図面を参照して、本発明の好適な実施例を詳細に説明する。
図１は本発明の実施例におけるシステムの全体構成を示す、複合機の概略ブロック図である。同図において、１０１はページ記述言語で記述されたファイルに基づいて画像メモリにラスタイメージ画像を展開するＰＤＬユニット、１０２は、ネットワーク１１０に接続され、図示はしていないがネットワーク１１０に接続されているホストコンピュータより、各種コマンドやページ記述言語ファイルをやり取りするネットワークI/Fである。１０３はＴＥＬケーブル１１４に接続され、公衆回線１１２より画像をやり取りするＦＡＸユニット、１０５はそれぞれのユニットとスキャナ・プリンタ１０６を接続し制御するマスタ制御ブロックである。それぞれのユニットはシステムバス１０４にて接続されている。システムバス１０４は、ＣＬＫ１１３、ＲＥＱ−Ｐ、ＧＮＴ−Ｐ、ＲＥＱ−Ｎ、ＧＮＴ−Ｎ、ＲＥＱ−Ｆ、ＧＮＴ−Ｆを含む。
【００１４】
ＣＬＫ１１３は、マスタ制御ブロック１０５内のバスアービタ１０７のＣＬＫＥＮ１０８からの制御によって、マスタ制御ブロック１０５内のクロックジェネレータ１０９から発生し、ＰＤＬユニット１０１、ネットワークI/F１０２、ＦＡＸユニット１０３、バスアービタ１０７、マスタ制御ブロック１０５とシステムバス１０４に供給されている。
【００１５】
ＲＥＱ−Ｐ、ＲＥＱ−Ｎ、ＲＥＱ−ＦはそれぞれＰＤＬユニット１０１、ネットワークI/F１０２、ＦＡＸユニット１０３から出力され、バス専有リクエストとして、マスタ制御ブロック１０５内のバスアービタ１０７に入力される。バス専有リクエストを受け取ったバスアービタ１０７は、それぞれのユニットがバスを独占する事がないように、効率よく順次バス専有許可信号、ＧＮＴ−Ｐ、ＧＮＴ−Ｎ、ＧＮＴ−Ｆを、それぞれ、ＰＤＬユニット１０１、ネットワークI/F１０２、ＦＡＸユニット１０３に返している。
【００１６】
１０６はスキャナ・プリンタユニットであり、ビデオI/F１１９を介して、マスタ制御ブロック内のスキャナ・プリンタI/F１１５から、ローカルバス１１７に接続されている。そして、RAM１２３、HDD１２４、圧縮・伸張回路１４０に接続され、あるいはバスI/F１２１を介して、ＰＤＬユニット１０１、ネットワークI/F１０２、ＦＡＸユニット１０３に接続され、スキャナ画像や、プリント画像のやり取りをしている。ビデオI/F１１９内には、スキャナ画像、もしくはプリント画像を転送する信号の他に、図示はしないが、スキャナ・プリンタI/F１１５とコマンドをやり取りするコマンド信号も含まれている。スキャナ・プリンタ１０６は操作部１２０のコピーボタンにより、単独で複写機としての動作も可能である。CPU１１６、ローカルバス１１７および、単独で複写機としての動作の詳細な説明は、発明の主旨ではないので省略する。
【００１７】
１１６はCPUであり、ローカルバス１１７を介してマスタ制御ブロック内の制御を司っている。ローカルバス１１７は、クロックジェネレータ１０９、CPU１１６とバスアービタ１０７、スキャナ・プリンタI/F１１５、操作部１２０、バスI/F１２１、ROM１２２、RAM１２３、HDD１２４、圧縮・伸張回路１４０をそれぞれ接続し、プログラムに基づいてCPUにより制御が行われている。ＲＯＭ１２２は、CPU１１６が実行する制御プログラムを格納している。
【００１８】
１２１はバスI/Fであり、ローカルバス１１７、あるいは圧縮・伸張回路１４０を介して、RAM１２３、HDD１２４に接続され、システムバス１０４を介してＰＤＬユニット１０１、ネットワークI/F１０２、ＦＡＸユニット１０３に接続され、スキャナ画像や、プリント画像のやり取りをしている。バスI/F１２１の内部にはＤＭＡ制御回路２０１があり、CPU１１６を介さず直接RAM１２３、HDD１２４、圧縮・伸張回路１４０から、システムバス１０４にデータを送付したり、受け取ったりできるようになっている。
【００１９】
図２は、ＰＤＬユニット１０１の概略構成図である。CPU５０１はプログラム、あるいはマスタ制御ブロック１０５内部のCPU１１６からの制御コマンドに基づいてローカルバス５０２を介し、ＰＤＬユニット全体の制御を司るものである。ＲＯＭ５０３は、CPU５０１が実行する制御プログラムを格納している。ワークRAM５０５は、各種の情報を格納すると共に、CPU５０１のワークエリアとしても機能する。ＡＳＩＣ５０４は、ページ記述言語で記述されたファイルに基づいて画像メモリ５０６にラスタイメージ画像を展開する機能を有している。なおこのＡＳＩＣ５０４については、後述する。５１１はハードディスクユニットであり、画像を一時待避するのに用いられる。５１２は圧縮・伸張回路でありラスタイメージ画像を圧縮してバスI/F５０７へデータを送る,あるいはバスI/F５０７から圧縮データを受け取り、データを伸張して画像メモリ５０６へ格納するのに用いられる。５０７は、バスI/Fであり、システムバス１０４とローカルバス５０２のインターフェースを行い、またその内部にはＤＭＡ５０９があり、CPU５０１を介さず直接、ワークRAM５０５、および画像メモリ５０６、もしくはハードディスクユニット５１１、圧縮・伸張回路５１４から、システムバス１０４にデータを転送、受信できるようになっている。DMA５０９は、プログラムあるいはCPU１１６から送信されたDMA５０９を起動する制御コマンドに基づいてCPU５０１が起動する。
【００２０】
図３は、ネットワークI/F１０２の内部概略説明図である。４０１はCPUであり、プログラム、あるいはマスタ制御ブロック１０５内部のCPU１１６からの制御コマンドに基づいてPCIバス４０８を介して、ネットワークI/F１０２全体の制御を司っている。４０２はメモリであり、図示はしないが、ネットワーク１１０に接続されるホストコンピュータより、ネットワーク回路４０６を介して転送されるＰＤＬファイルや画像データを一時格納するメモリである。またCPU４０１のワークエリアとしても機能する。４０３はROMであり、CPU４０１が実行する制御プログラムを格納している。４０４は本発明における特徴的な手段を持つブリッジ回路であり、システムバス１０４とPCIバス４０８のインターフェースを行う。内部は以下のブロックに分かれている。４０４１、４０４４は、PCI I/F回路であり、各々ネットワークユニットのローカルバスであるPCIバス４０８とシステムバス１０４と、４０４２ブリッジ回路と４０４３リセット制御部とを接続している。各バスの専有権を得るとバスのプロトコルに則ってデータ通信を行うインターフェース回路である。４０４２はブリッジ回路であり、内部にデータを蓄積するバッファを持ち、CPU４０１からPCIバス４０８、PCI I/F回路４０４１を介して転送されるデータをバッファリングして、システムバス１０４におけるバス専有許可信号ＧＮＴ−Ｎを受信するとPCI I/F回路４０４４、システムバス１０４を介してマスタ制御ブロック１０５へデータを送信する。また逆にマスタ制御ブロック１０５からのデータを受信する際は、システムバス１０４、PCI I/F回路４０４４を介して転送されるデータをバッファリングしてPCI I/F回路４０４１、PCIバス４０８を介してCPU４０１へ転送する。４０４３はリセット制御回路でありCPU４０１からのnetwork_unit_reset信号を受信するとPCI I/F４０４４のバス状況を監視して、ブリッジ回路４０４２に対してリセット信号を送信しモードを変更させて強制的にシーケンスを終了させることによりシステムバス１０４においてプロトコル違反が起こらないように制御を行う。 ４０５はハードディスクユニットであり、図示はしないが、ネットワーク１１０に接続されるホストコンピュータより、ネットワーク回路４０６を介して転送されるＰＤＬファイルや画像データを一時格納する記憶媒体である。また、セカンダリシステムに用いられるプログラムを格納したりするのにも用いられる。４０６はネットワーク回路であり、ネットワーク１１０のプロトコルを自動制御する回路である。
【００２１】
図４にＦＡＸユニット１０３内部を説明するための概略図を示す。３０４はCPUでありプログラム、あるいはマスタ制御ブロック１０５内部のCPU１１６からの制御コマンドに基づいてローカルバス３０２を介しＦＡＸユニット１０３全体の制御を行っている。ＦＡＸ回路３０３は、公衆回線１１２およびＴＥＬケーブル１１４を介し送受信を制御し、受信したデータから、直接メモリ３０５にメモリ制御バス３０６から描画したり、メモリ３０５に送られ格納されるスキャン画像を、圧縮・伸張回路３１０で圧縮し公衆回線１１２に送信したりする回路である。３１０は圧縮・伸張回路であり受信した画像データを圧縮してバスI/F３０８へデータを送る,あるいはバスI/F３０８から圧縮データを受け取り、データを伸張して画像メモリ３０５へ格納するのに用いられる。メモリ３０５に格納されるスキャン画像は、スキャナ・プリンタユニット１０６からスキャナ・プリンタI/F１１５、ローカルバス１１７を介してRAM１２３、HDD１２４の記憶装置に転送される。そしてCPU１１６がDMA２０１を起動させる、あるいはCPU１１６から送信されたDMA３０７を起動する制御コマンドに基づいてCPU３０４がDMA３０７を起動することにより、スキャン画像はローカルバス１１７、圧縮する場合は圧縮・伸張回路１４０を介し、バスI/F１２１、システムバス１０４を経由して、バスI/F３０８へ、伸張する場合には圧縮・伸張回路３１０を介してローカルバス３０２によりメモリ３０５に送られ格納される。３０１はハードディスクであり、メモリ３０５に展開描画された、画像を一時格納するために用いる。３０９は操作部であり、送信先の電話番号の登録や、スタートボタンによりスタートさせるなど、外部から操作ができるようになっている。３０８はバスI/Fであり、システムバス１０４とローカルバス３０２のインターフェースを行い、またその内部にはＤＭＡ制御回路３０７があり、CPU３０４を介さず直接メモリ３０５から、システムバス１０４にデータを送付したり、受け取ったりできるようになっている。
【００２２】
上記のシステム構成において本発明の実施例を下記に述べる。
【実施例１】
【００２３】
例えば、プリントコマンドが発行された場合の動作の概略を説明する。図示はしないが、ネットワーク１１０に接続されるホストコンピュータより、プリントコマンドが発行されると、ネットワークI/F１０２は、コマンドを受け取り、バス専有リクエストＲＥＱ−Ｎをバスアービタ１０７に発行しバス専有を要求する。バスアービタ１０７は前述したように、バスを独占する事がないように、効率よく順次、バス専有許可信号ＧＮＴ−Ｎを発行する。ネットワークI/F１０２は、バス専有許可信号ＧＮＴ−Ｎを受け取ることで、バスを確保し、バスI/F１２１にホストコンピュータより受け取ったコマンドを転送する。
【００２４】
ここでネットワークI/F１０２において復帰できないエラーが発生してCPU４０１がリセット信号であるnetwork_unit_reset信号を各ブロックへ転送する。CPU４０１、RAM４０２、ROM４０３、HDD４０５、ネットワーク回路４０６はリセット信号により初期状態に戻る。
【００２５】
リセット制御部４０４３のnetwork_unit_resetのフローについて図５に沿って説明する。
【００２６】
S0においてCPU４０１が復帰できないエラーを検知するとネットワークI/F１０２の各ブロックに対してnetwork_unit_reset信号を送信する。PCIブリッジ４０４では、リセット制御部４０４３に入力される。リセット制御部はnetwork_unit_resetシーケンスを開始しS1へ遷移する。
【００２７】
S1においてブリッジ回路４０４２の状態を監視してデータ転送中であるか否かを判別する。ここで判別方法は、ブリッジ回路４０４２のバッファにデータが残っているか、さらにPCI I/F４０４１、４０４４がブリッジ回路４０４２に対してデータ転送送信中であるかをbuffer_empty信号から検知する。転送中であればS2へ遷移する。データ転送中でなければS3へ遷移する。
【００２８】
S2においてブリッジ回路４０４２に対してデータ送信シーケンスを強制終了する制御信号buffer_clearを送信する。S1へ遷移する。
【００２９】
S3においてPCI I/F４０４４に対してリセットモードに遷移させる制御信号reset_modeを送信する。ここでリセットモードは、PCI I/F４０４４がマスタ制御ブロックからのデータ転送要求に対してリトライを返しプロトコル違反を起こさないようにするモードである。S4へ遷移する。
【００３０】
S4において図３に図示したセカンダリシステムのリセット復帰完了信号であるinit_doneを監視する。init_done信号を受信するとS5へ遷移する。
【００３１】
S5においてS3でPCI I/F４０４４に対してリセットモードに遷移させるために送信していた制御信号reset_modeを解除する。S６へ遷移する。
【００３２】
S6においてnetwork_unit_resetシーケンスを終了する。
【００３３】
ブリッジ回路４０４２のリセットプロセスのフローについて図６に沿って説明する。
【００３４】
T0においてブリッジ回路４０４２のリセットプロセスを起動する。T1へ遷移する。
【００３５】
T1においてリセット制御部４０４３からのデータ送信シーケンスを強制終了する制御信号buffer_clearを検知した場合はT2へ遷移する。
【００３６】
T2においてデータ転送中であればT3へ遷移する。データ転送中でなければT4へ遷移する。
【００３７】
T3においてデータ転送を終了させるためにシーケンサを強制的にPCI I/F４０４４へのデータ転送完了状態へ遷移させ、且つ内部バッファをクリアする。T4へ遷移する。
【００３８】
T4においてPCI I/F４０４１、４０４４からの書き込み要求があってもバッファへの書き込みを禁止する。T5へ遷移する。
【００３９】
T5においてセカンダリシステムのリセットが終了を通知するリセット制御回路からのinit_doneを受信するとT4で設定したバッファへの書き込み禁止を解除しT1へ遷移する。
【００４０】
PCI I/F４０４１のリセットプロセスのフローについて図６に沿って説明する。
【００４１】
U0でPCI I/F４０４１のリセットプロセスを起動するとU1へ遷移する。
【００４２】
U1においてリセット制御部４０４３からのリセットモードに移行させるための制御信号reset_modeを検知した場合はU2へ遷移する。
【００４３】
U2においてシステムバス１０４のバス状態を検知してデータ転送中か否かを判別する。判別手段としてはPCIバス上の制御信号であるバス専有許可信号ＧＮＴ−Ｎを伴ったデータ転送中であるかを監視して行う。データ転送中であればU３へ、そうでなければU4へ遷移する。
【００４４】
U3においてデータ転送中であればPCIプロトコルに則ってディスコネクトさせることでPCIバスプロトコル違反とならないようにデータ転送を停止する。U２へ遷移する。
【００４５】
U4においてPCIプロトコルに則ってマスタ制御ブロックからのデータ転送要求に対してリトライ応答を返すリトライモードに移行しプロトコル違反を起こさないように制御する。U5に遷移する。
【００４６】
U5においてセカンダリシステムのリセットが終了を通知するリセット制御回路４０４３からのreset_mode信号の解除を検知するとU4でのリトライモードを解除し、通常動作を行う状態になりU1へ遷移する。
【００４７】
実施例では、バスアービタ１０７と、バスI/F１２１は、同一のブロック内にあるため、バス専有リクエストＲＥＱ−Ｍ、バス専有許可信号ＧＮＴ−Ｍは、システムバス１０４に含まれないが、システムバス１０４内に含ませてもかまわない。
【００４８】
以上、本発明についての実施例は、ネットワークI/F１０２からマスタ制御ブロック１０５への転送行う場合にのみ説明したが、マスタ制御ブロック１０５からネットワークI/F１０２への転送を行う場合でも実現可能である。またネットワークI/F１０２だけでなく、PDLユニット１０１、FAXユニット１０３においてもリセット制御を実装すれば本発明は実施可能である。
【００４９】
なお、図７は本発明の実施例におけるネットワークI/FのPCI I/Fのリセット制御手段を示したフローチャートである。
【図面の簡単な説明】
【００５０】
【図１】本発明の実施例におけるリセット制御システムの全体の構成を説明するブロック図である。
【図２】本発明の実施例におけるリセット制御システムのPDLユニットの構成を説明するブロック図である。
【図３】本発明の実施例におけるリセット制御システムのネットワークI/Fの構成を説明するブロック図である。
【図４】本発明の実施例におけるリセット制御システムのFAXユニットの構成を説明するブロック図である。
【図５】本発明の実施例におけるネットワークI/Fのリセット制御部のリセット制御手段を示したフローチャートである。
【図６】本発明の実施例におけるネットワークI/Fのブリッジ回路のリセット制御手段を示したフローチャートである。
【図７】本発明の実施例におけるネットワークI/FのPCI I/Fのリセット制御手段を示したフローチャートである。
【符号の説明】
【００５１】
１０１  PDLユニット
１０２  ネットワークI/F
１０３  FAXユニット
１０５  マスタ制御ブロック
１０６  スキャナ・プリンタ
１０７  バスアービタ
１０９  クロックジェネレータ
１１５  スキャナ・プリンタI/F
１１７  ローカルバス
１１９  ビデオI/F
【図１】
2009265979.tif 000003
【図２】
2009265979.tif 000004
【図３】
2009265979.tif 000005
【図４】
2009265979.tif 000006
【図５】
2009265979.tif 000007
【図６】
2009265979.tif 000008
【図７】
2009265979.tif 000009