(57)【要約】コンピュータシステムでは、周辺装置は、メインプロセッサにより発行されたコマンドを実行する。周辺装置は、当該コマンドを実行し、コマンド実行中にエラーが発生したか検出する。そうである場合、周辺装置は、当該周辺装置からプロセッサにエラーレスポンスプログラムを転送し、プロセッサにエラーレスポンスプログラムを実行させる。周辺装置が交換可能なデータキャリアへのアクセスをプロセッサに提供するよう構成されるとき、エラーの検出に応答して、周辺装置はデータキャリアが周辺装置に挿入されることをプロセッサにシミュレートする信号を生成する。この場合、周辺装置は、シミュレートされたデータキャリアからプログラムを読み込むためのプロセッサからのリードコマンドに応答して、周辺装置のプログラムメモリからエラーレスポンスプログラムを返す。
2008511050.tif 000002
【特許請求の範囲】
【請求項１】
周辺処理を実行するためのコマンドを当該周辺装置に発行するコンピュータシステムにおいて使用される周辺装置であって、
前記コンピュータシステムとの接続のためのインタフェースと、
エラーレスポンスプログラムが格納されるプログラムメモリと、
前記コマンドの実行においてエラーが検出されると、前記インタフェースを介し前記コンピュータシステムのプログラム可能なプロセッサに前記エラーレスポンスプログラムを転送し、前記プログラム可能なプロセッサに前記エラーレスポンスプログラムを実行させるよう構成されるエラーレスポンス回路と、
を有する周辺装置。
【請求項２】
当該周辺装置は、前記プログラムに交換可能なデータキャリアへのアクセスを提供するよう構成され、
前記エラーレスポンス回路は、前記エラーの検出に応答して、前記プロセッサに対してデータキャリアの挿入を通常示すタイプの信号を生成し、前記データキャリアからプログラムを読み込むための前記プロセッサからのリードコマンドに応答して、前記データキャリアからのデータの読み込みをシミュレートする前記プログラムメモリからのエラーレスポンスプログラムを返すよう構成される、請求項１記載の周辺装置。
【請求項３】
前記エラーレスポンスプログラムは、前記プロセッサにネットワークを介しベンダーシステムにエラー報告を送信させるよう構成される、請求項１記載の周辺装置。
【請求項４】
前記エラーレスポンス回路は、前記エラーレスポンスプログラムの転送の際に前記エラーレスポンスプログラムにより前記エラーが発生したときの当該周辺装置の状態に関する情報及び／又は前記エラーを特定する情報を有するよう構成される、請求項１記載の周辺装置。
【請求項５】
前記エラーレスポンス回路は、当該周辺装置に前記エラーが発生したときの当該周辺装置の状態に関する情報及び／又は前記エラーを特定する情報を格納し続けるよう構成され、
前記エラーレスポンスプログラムは、前記プロセッサにより実行されると、前記プロセッサに当該周辺装置から前記情報を読み込ませるよう構成される、請求項１記載の周辺装置。
【請求項６】
請求項１乃至５何れか一項記載の少なくとも１つの周辺装置と、プログラム可能なデータプロセッサとを有するデータ処理システムであって、
前記周辺装置は、前記プログラム可能なプロセッサに接続され、該プログラム可能なプロセッサからのコマンドに応答して周辺処理を実行する、データ処理システム。
【請求項７】
コンピュータシステムにおいて周辺装置を動作させる方法であって、
前記コンピュータシステムにおけるコマンドを周辺装置に送信するステップと、
前記コマンドを前記周辺装置において実行するステップと、
前記コマンドの実行中にエラーが発生したか検出するステップと、
検出された場合、前記エラーの検出に応答して、前記周辺装置のレスポンスプログラムを前記コンピュータシステムのプログラム可能なプロセッサに転送するステップと、
前記プログラム可能なプロセッサに前記エラーレスポンスプログラムを実行させるステップと、
を有する方法。
【請求項８】
前記周辺装置は、前記プロセッサに交換可能なデータキャリアへのアクセスを提供するよう構成され、当該方法は、
前記エラーの検出に応答して、前記周辺装置へのシミュレートされたデータキャリの挿入を示すタイプの前記周辺装置からの信号を前記プロセッサに対して生成するステップと、
前記シミュレートされたデータキャリアからプログラムを読み込むための前記プロセッサからのリードコマンドに応答して、前記周辺装置のプログラムメモリから前記エラーレスポンスプログラムを返すステップと、
を有する、請求項７記載の方法。
【請求項９】
前記エラーレスポンスプログラムを使用して、前記プロセッサにネットワークを介しベンダーシステムにエラー報告を送信させるステップを有する、請求項７記載の方法。
【請求項１０】
前記エラーレスポンスプログラムの転送の際、前記エラーレスポンスプログラムにより前記エラーが発生したときの前記周辺装置の状態に関する情報及び／又は前記エラーを特定する情報を有するステップを有する、請求項７記載の方法。
【請求項１１】
前記周辺装置において前記エラーが発生したときの前記周辺装置の状態に関する情報及び／又は前記エラーを特定する情報を保持するステップと、
前記エラーレスポンスプログラムを使用して、前記プロセッサに前記周辺装置から前記情報を読み込ませるステップと、
を有する、請求項７記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺装置に接続されるプログラム可能なデータプロセッサを有するデータ処理システムに関する。より詳細には、本発明は、このようなデータ処理システムにおけるエラー処理に関する。
【背景技術】
【０００２】
米国特許出願第２００２／００９９９８３号は、携帯電話による自動化されたエラー報告について記載している。この携帯電話は、プログラムを実行するプロセッサを有する。プログラムの実行中にエラーが検出されると、エラー報告が生成され、当該報告がメーカーに送信される。
【０００３】
米国特許第６，６８７，７４９号は、自動データ収集を利用して、エラー報告をサポートセンターに送信するコンピュータについて記載している。当該エラー報告方法は、ユーザがサポートセンターへの報告に必要なエラーデータを収集するため、自分のＰＣを調べる必要がある処理を置換するよう提案されている。当該特許は、コンピュータがデバイスドライバプログラムを使用して、ＩＯデバイスにコンピュータがエラー報告に含める状態情報を通知させることを記載している。コンピュータの異なるアプリケーションプログラムに対して、異なるエラー報告が生成されるかもしれない。このため、当該特許は、各アプリケーションプログラムに対して、「サポートチャネル」と呼ばれる複数のソフトウェア構造を提案する。アプリケーションプログラム及び関連する情報ファイルに対するサポートチャネルが、「キャビネットファイル」の形式によりアプリケーションプログラムのベンダーによって供給される。当該特許は、「キャビネットファイル」がどのようにロードされるかについて明示的に記載しないが、ここでの文脈から、インターネットを介したダウンロード処理やインストレーションディスクからのロード処理などの従来技術が利用されることは明らかである。
【０００４】
エラーは、アプリケーションプログラムだけでなく、典型的には、ディスクドライブ、メモリカード、ビデオインタフェースなどのＩＯデバイスである周辺装置においても発生しうる。このようなエラーの報告は、引用文献では解決されず、アプリケーションプログラムにおけるエラー報告と同様に、すなわち、エラーが発生すると、ＩＯ周辺装置からエラーデータを収集するエラー報告プログラムをプロセッサに実行させることによって実現可能である。エラーの性質は、典型的には、周辺装置が実現される方法に固有なものとなるため、当該エラー報告プログラムは、インストールされる周辺装置のバージョンを認識する必要がある。特に、多数の異なるベンダーからの周辺装置が利用可能であるＰＣなどのオープン環境では、固有のエラー報告プログラムが必要とされる。
【０００５】
当該アプローチの問題点は、プロセッサによる実行のため、デバイス固有のエラー報告プログラムが設けられている必要があるということである。このプログラムは、典型的には周辺装置がインストールされるとき、予めインストールされる必要がある。これは、周辺装置の配布及びインストールを複雑化する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の課題は、個別のエラー報告プログラムがエラー発生前にインストールされる必要なく、コンピュータシステムの周辺装置におけるエラーに応答することを可能にすることである。より詳細には、本発明の課題は、当該エラー報告プログラムをエラー発生前にインストールする必要なく、エラー報告プログラムを実行させることである。
【課題を解決するための手段】
【０００７】
本発明による周辺装置が、請求項１に記載される。本発明によると、周辺装置自体には、エラーレスポンスプログラムを有するメモリが設けられている。周辺装置は、エラーレスポンスプログラムをプログラム可能なプロセッサに供給し、当該プログラム可能なプロセッサに、周辺装置がエラーを検出したとき、エラーレスポンスプログラムを実行させる。このように、例えば、エラー発生における状況に関する報告を送信することによって、エラーに応答するイニシアチブが、エラー報告装置自体によってとられ、エラー報告プログラムの個別のインストールは不要である。
【０００８】
一実施例では、「バーチャルディスク」技術が、エラーレスポンスプログラムをスタートするのに利用される。「バーチャルディスク」技術は、同一譲受人による同時係属中の特許出願に記載され、本願の優先日には刊行されていない（出願リファレンスＰＨＮＬ０４０１７４ＥＰＰ）。
【０００９】
当該技術は、ディスクがコンピュータシステムに挿入されると、ディスクからの具体的に指定されたファイルからのプログラムを実行させる「オートラン」機能を有するコンピュータシステムに適用される。バーチャルディスク技術によると、ディスクドライブはディスクの挿入をシミュレートし、ディスクドライブがコンピュータシステムに具体的アクションを起動することを所望すると、ローカルメモリからのオートランファイルを供給する。効果的には、これは、エラー報告プログラムを実行させるのに利用可能である。
【００１０】
本発明の上記及び他の課題及び効果的特徴が、以下の図面を用いて説明される非限定的な具体例により示される。
【発明を実施するための最良の形態】
【００１１】
図１は、ネットワーク１２により相互接続されるユーザコンピュータシステム１０とベンダーシステム１４とを有するネットワーク環境を示す。ユーザコンピュータシステム１０は、システム記憶装置１０２、周辺装置１０４及びユーザインタフェース１０６に接続されるプロセッサ１００を有する。
【００１２】
ここで使用される「周辺装置」という用語は、プロセッサ１００によるプログラム実行中にプロセッサ１００が発行するコマンドを実行し、少なくともこれらのコマンドの一部に応答して、データを受付又は返す装置を表す。このようなレスポンスデータ以外では、周辺装置は、典型的にはせいぜいプロセッサ１００にリクエストを通知する中断及び／又は注意信号などのリクエスト信号を生成することによってプロセッサ１００と通信するが、リクエストに応答する時期及び方法の決定はプロセッサ１００に任せる。典型的には、周辺装置は、プロセッサのスレーブ装置として動作し、実質的にすべてのアクションの後、周辺装置は、プロセッサからコマンドを受け付ける準備ができている「コマンド待機」状態に戻る。典型的には、周辺装置は、プロセッサからの所定のコマンドセットをサポートする。
【００１３】
プロセッサからスレーブ周辺装置へのコマンドは、プロセッサ１００が周辺装置に係るアドレスにコマンドデータを書き込むなど、任意の形式をとりうる。データを読み書きするため、プロセッサ１００は、典型的には周辺装置に係る同一又は他のアドレスにおいてデータを読み書きするが、あるいは、周辺装置１０４がコマンドに応答してプロセッサメモリに対して直接データを読み書きするＤＭＡ技術が利用されてもよい。
【００１４】
図２は、周辺装置１０４の一例としてディスクドライブ装置を示す。ディスクドライブ装置は、ファームウェアメモリ２２、ドライブアクチュエータ及びセンサ２４、並びにプロセッサ１００（図示せず）とのインタフェース２８に接続される埋め込みプロセッサ２０を有する。ディスク２６は、ディスクドライブに挿入されて図式的に示されている。
【００１５】
動作について、プロセッサ１００は、例えば、ハードディスクドライブや半導体メモリなどの記憶装置１０２などからロードされる命令プログラムを実行する。これは、例えば、ユーザインタフェース１０６の制御の下で実行される。当該命令の結果、プロセッサ１００は、Ｉ／Ｏコマンドを周辺装置１０４に送信し、周辺装置１０４からデータを受け取り、及び／又はデータを周辺装置１０４に送信する。
【００１６】
通常の動作について、埋め込みプロセッサ２０は、プロセッサ１００からコマンドを受け取り、当該コマンドに従ってドライブアクチュエータ及びセンサ２４を制御する。典型的には、コマンドの実行は、ファームウェアメモリ２２からのコマンドに係る命令をロードし、ドライブアクチュエータ及びセンサ２４により具体的アクションを実行するため、これらの命令を実行することに関する。当該処理の結果、ディスク２６から情報が読み込まれ、埋め込みプロセッサ２０は、当該情報から求められるデータをプロセッサ１００に返す。他のコマンドは、埋め込みプロセッサ２０がレスポンスを生成するクエリ、状態更新命令又はライト処理に関するものであるかもしれない。コマンドに応答するのに加えて、埋め込みプロセッサ２０はまた、ディスクトレイの押下又はドライブ上の制御ボタン（図示せず）の起動などの外部イベントに応答して、選択された命令を実行するよう構成されてもよい。
【００１７】
埋め込みプロセッサ２０が、コマンド実行中にエラーを検出すると、埋め込みプロセッサ２０は、当該エラーに関する情報を格納する、好ましくは、埋め込みプロセッサはまた、例えば、外部イベントに応答したプログラム実行中などの他の時点に発生したエラー、及び／又はプログラム実行とは独立に検出されたエラーに関する情報を格納するよう構成される。
【００１８】
任意的には、埋め込みプロセッサは、エラー報告状態にスイッチする。エラー報告状態に入ると、埋め込みプロセッサ２０は、エラー報告プログラムの命令をプロセッサ１００に送信し、埋め込みプロセッサ２０は、プロセッサ１００にエラー報告プログラムを実行させる（任意の順序により：プログラムを実行するための信号は、プログラムの送信に先行してもよい）。
【００１９】
エラー報告状態に入ると、埋め込みプロセッサ２０は、新たなディスク２６の挿入を通知する信号をプロセッサ１００に送信する埋め込みプログラムを実行する（実際、物理的に新たなディスク２６は挿入されていないかもしれないが）。これに応答して、プロセッサ１００は、ディスク２６から所定のファイル名を有するオートランファイルを読み込むコマンドを送信する。埋め込みプロセッサ２０が、エラー報告状態にあるとき、それは、オートランファイルのコンテンツをロードするコマンドを検出するため、プロセッサ１００からのコマンドをモニタする。当該コマンドに応答して、埋め込みプロセッサは、ファームウェアメモリ２２の部分２２ａからのファイルデータを返す。プロセッサ１００にとって、それは、あたかも当該ファイルがディスク２６から抽出されたように見える。プロセッサ１００は、当該ファイルからの命令を実行する。この実行は、プロセッサ１００にエラーに関する情報を有するエラー報告をネットワーク１２を介しベンダーシステム１４に送信させる。
【００２０】
これは、例えば、埋め込みプロセッサ２０がファイルにアクセスするためプロセッサ１００により発行された第１コマンドに応答して、又は、このようなオートランファイルが格納されると予想される所定のディスクアドレスにアクセスするコマンドに応答して、オートランファイルのシミュレートされたコンテンツを返す。他の実施例では、埋め込みプロセッサ２０は、プロセッサ１００からのコマンドが、オートランのための具体的名前を有するファイルのブロックのディスクアドレスを検出するため、ファイルアクセステーブルにアクセスしようとするかモニタするよう実現され、埋め込みプロセッサ２０はシミュレートされたアドレスを返し、その後、当該アドレスからの読み出しを行うためのコマンドが受付されると、ファームウェアメモリからファイルのブロックを返す。
【００２１】
上記目的のため、オートランファイルを利用することは、固有のエラー報告機能を有する必要がないプロセッサと協調することを可能にする単なる効果的な実施例であると理解されるべきである。他の機構が、周辺装置１０４からプロセッサ１００のエラー報告プログラムを供給し、プロセッサ１００に当該エラー報告プログラムを実行させるのに利用可能である。例えば、周辺装置は、ユーザインタフェース１０６、ネットワーク１２又は記憶装置１０２など、プロセッサ１００が通常プログラムを読み出すプロセッサ１００の入力においてプログラムを提供するため、プロセッサ１００との接続を有するようにしてもよい。この場合、周辺装置１０４は、当該入力においてエラー報告プログラムを提供するかもしれない。他の例では、プロセッサ１００は、それが周辺装置１０４からプログラムをロード及び実行し、周辺装置１０４がエラーを検出すると、エラーモードにスイッチする信号をプロセッサ１００に送信する特別なエラーモードをサポートするよう構成されてもよい。
【００２２】
各種方法が、エラー情報を収集し、それをベンダーシステム１４に送信するのに利用可能である。一例では、埋め込みプロセッサ２０は、エラー報告情報のためのエラーメモリエリアに、エラーの性質に関する情報をコピーする。さらに、ローカルな埋め込みプロセッサ２０は、それがコマンド実行中に使用する状態情報をエラーメモリエリアにコピーするようにしてもよい。さらに、埋め込みプロセッサ２０は、センサデータをエラーメモリエリアにコピーするようにしてもよい。また、このタイプの情報は、通常実行中に自動的に書き込まれてもよく、埋め込みプロセッサ２０は、単に当該情報が上書き不可であるというフラグを設定することによって、当該エラーに応答する。あるいは、専用のエラー処理回路（図示せず）が、エラーの検出に応答して、上記又は他のアクションを実行するため周辺装置１０４に含まれるようにしてもよい。
【００２３】
埋め込みプロセッサ２０は、エラーを検出すると即座に、エラー報告プログラムの実行を開始するようプロセッサ１００をトリガーするようにしてもよい。しかしながら、これは不要である。一実施例では、埋め込みプロセッサはまず、エラーを処理する（例えば、Ｉ／Ｏアクションを中断することによって、ローカル状態情報をリセットすることによって、及び／又はプロセッサ１００に通常のエラー信号を返すことによって）。この場合、エラー報告プログラムの供給及び／又はそれの実行のスタートは、エラーが処理され、プロセッサ１００が通常処理に戻るまで遅延される。エラー報告プログラムの供給及び／又はそれの実行のスタートは、プロセッサ１００がそれの現在の処理を完了するまで遅延されてもよい。
【００２４】
周辺装置１０４がプロセッサ１００に供給するエラー報告プログラムは、周辺装置１０４のための標準的なエラー報告プログラム（エラーから独立した）であるかもしれない。この場合、エラー報告プログラムは、エラー情報が書き込まれたエラーメモリエリアなど周辺装置からエラーデータを読み込むため、周辺装置に固有のコマンドを生成するための命令を含む。情報が読み出されると、当該情報の上書きを禁止するフラグはクリアされてもよい。一実施例では、埋め込みプロセッサ１００は、シミュレートされたディスクファイルとしてエラーメモリエリアからエラー情報を供給する。この場合、エラー情報を読み込むのに特別なコマンドは必要とされない。エラー報告プログラムは単に、プロセッサ１００に指定したファイルを読み込むためのコマンドを発行させるだけである。埋め込みプロセッサ２０は、当該コマンドは発行されたかモニタし、発行された場合には、ディスクからの代わりにエラーメモリエリアからのエラー情報を供給する。これにより、バーチャルディスクがシミュレートされる。
【００２５】
あるいは、周辺装置１０４は、専用のエラー報告プログラムをプロセッサ１００に供給するようにしてもよく、周辺装置１０４は、それがプロセッサ１００に供給するエラー報告プログラムにエラーに関する情報を挿入する（例えば、エラーメモリエリアにおける情報のコピーなど）。この場合、プロセッサ１００は、エラー報告プログラムの実行中に周辺装置１０４にアクセスする必要はなく、このことはエラー報告処理をかなり簡単化し、周辺装置１０４からエラーデータを読み込むための専用のコマンドの必要を回避する。
【００２６】
プロセッサ１００がエラー報告プログラムを実行すると、プロセッサ１００は、エラー報告をベンダーシステム１４に自動送信するが、あるいは、エラー報告プログラムは、プロセッサ１００にユーザインタフェース１０６を介し許可についてユーザを促すようにさせる。
【００２７】
本発明が具体的な実施例に対して説明されたが、本発明は当該実施例に限定されるものでないということが理解されるべきである。例えば、エラー報告プログラムの代わりに、例えば、ファームウェアエラーによるエラーであると判明した場合、ネットワーク１２から周辺装置１０４に新たなファームウェアをダウンロードするプログラムなど、他の何れかのタイプのエラー処理プログラムが利用されてもよい。しかしながら、もちろんファームウェア更新は、それらがベンダーシステムから利用可能にされたとき、すなわち、ベンダーシステムからの信号又はユーザインタフェースからであって、周辺装置のイニシアチブにない信号に応答して、ダウンロードすることも可能である。本発明は、エラーがもとんど容易に周辺装置において検出され、当該方法が外部サポートなしにエラーを報告することが可能であるため、エラー報告に特に効果的であるということが理解されるべきである。
【００２８】
さらに、異なるハードウェア構成が利用可能であるということが理解されるべきである。例えば、複数のプロセッサ１００がコンピュータシステム１０において利用可能である。この場合、周辺装置は、必ずしもエラーを導くコマンドを発行したプロセッサでなく、任意のプロセッサにエラーレスポンスプログラムを実行させるようにしてもよい。同様に、好ましくは、ファームウェアメモリ２２からのプログラムを実行する埋め込みプロセッサ２０は、エラーレスポンス回路として機能するが、もちろん、それ自体はプログラム可能である必要はない独立したエラーレスポンス回路が、設けられてもよい。実際、周辺装置は、プログラム可能な埋め込みプロセッサ２０を全く含む必要はなく、又は当該プロセッサは、がネットワーク１２との直接的なアクセスを有したとしても、エラー報告プログラムを実行することが可能でない大変シンプルなタイプものであってもよい。さらに、ネットワーク１２の使用が示されているが、他の通信手段も利用可能であるということが理解されるべきである。典型的には、周辺装置は、これらの通信手段に直接的なアクセスを有しないシンプルな性質を有する。ベンダーシステム１４は、エラー報告を受信及び登録するよう構成される任意のシステムにより置換可能である。
【図面の簡単な説明】
【００２９】
【図１】図１は、ネットワーク環境を示す。
【図２】図２は、ディスクドライブ装置を示す。
【図１】
2008511050.tif 000003
【図２】
2008511050.tif 000004
【国際調査報告】
2008511050.tif 000005
2008511050.tif 000006
2008511050.tif 000007