(57)【要約】【課題】パーソナルコンピュータ（ＰＣ）が、ＳＣＳＩベンダコマンドを発行するアプリケーションプログラムにより、専用デバイスドライバを使用せずに周辺機器の汎用入出力端子（ＧＰＩＯ）のレジスタ値を一定間隔で読み出し、その値により、データのバックアップや周辺機器の取り外しといった処理を行う。【解決手段】  パーソナルコンピュータ（ＰＣ）のアプリケーションプログラムは、周辺機器の汎用入出力端子（ＧＰＩＯ）のレジスタ値を読み出すためのＳＣＳＩベンダコマンドを発行し、予め搭載されている標準デバイスドライバがＳＣＳＩベンダコマンドをＣＢＷに組み込んで周辺機器に送信する。周辺機器の処理プログラムは、ＣＢＷにＳＣＳＩベンダコマンドが組み込まれているか否か判定し、組み込まれていればＧＰＩＯのレジスタ値を読み出してＰＣに送信する。ＰＣはレジスタ値に応じてデータのバックアップや周辺機器の取り外しといった処理を行う。【選択図】        図１
2006235994.tif 000002
【特許請求の範囲】
【請求項１】
ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）コマンドを発行し、前記ＳＣＳＩコマンドをＣＢＷ（Ｃｏｍｍａｎｄ  Ｂｌｏｃｋ  Ｗｒａｐｐｅｒ）に組み込み、前記ＣＢＷをＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）マスストレージクラスの規格に準拠して送信する情報処理機器と、
前記情報処理機器から送信された前記ＣＢＷを受信する周辺機器と
を具備し、
前記周辺機器は、前記ＳＣＳＩコマンドが所定のＳＣＳＩコマンドであれば、前記周辺機器が備える汎用入出力端子の状態を示すレジスタの値を前記情報処理機器に送信し、前記ＳＣＳＩコマンドが前記所定のＳＣＳＩコマンドでなければ、前記ＳＣＳＩコマンドに応じた処理を行う
ブリッジシステム。
【請求項２】
請求項１に記載のブリッジシステムにおいて、
前記情報処理機器は、前記周辺機器から送信されたレジスタ値が所定の値であれば、前記情報処理機器から前記周辺機器へデータのバックアップを行う
ブリッジシステム。
【請求項３】
請求項１に記載のブリッジシステムにおいて、
前記情報処理機器は、前記周辺機器から送信されたレジスタ値が所定の値であれば、前記情報処理機器から前記周辺機器を取り外す処理を行う
ブリッジシステム。
【請求項４】
請求項１乃至３のいずれか一項に記載のブリッジシステムにおいて、
前記情報処理機器は、前記レジスタ値が前記所定の値でない場合、所定の時間経過した後、前記所定のＳＣＳＩコマンドを発行する
ブリッジシステム。
【請求項５】
請求項１乃至４のいずれか一項に記載のブリッジシステムにおいて、
入力装置を更に具備し、
前記入力装置は、前記レジスタ値を前記所定の値に設定する
ブリッジシステム。
【請求項６】
請求項１乃至５のいずれか一項に記載のブリッジシステムにおいて、
前記情報処理機器は、前記所定のＳＣＳＩコマンドを発行するためのアプリケーションプログラムを有する
ブリッジシステム。
【請求項７】
請求項１乃至６のいずれか一項に記載のブリッジシステムにおいて、
前記所定のＳＣＳＩコマンドは、前記周辺機器が備える汎用入出力端子のレジスタ値を読み出すためにベンダが定義したＳＣＳＩコマンドである
ブリッジシステム。
【請求項８】
周辺機器が備える汎用入出力端子のレジスタ値を読み出すためのＳＣＳＩコマンドを発行するアプリケーションプログラムを実行する処理部と、
前記ＳＣＳＩコマンドをＣＢＷに組み込むデバイスドライバと、
ＵＳＢマスストレージクラスの規格に準拠して前記周辺機器に前記ＣＢＷを送信し、前記レジスタ値を受信するＵＳＢインタフェースと
を具備し、
前記アプリケーションプログラムは、前記レジスタ値が所定の値であれば、前記所定の値に応じた処理を行う
情報処理機器。
【請求項９】
請求項８に記載の情報処理機器において、
前記アプリケーションプログラムは、前記レジスタ値が前記所定の値でない場合、所定の時間経過した後、前記ＳＣＳＩコマンドを発行する
情報処理機器。
【請求項１０】
請求項８又は９に記載の情報処理機器において、
前記アプリケーションプログラムは、前記所定のＳＣＳＩコマンドに、前記レジスタ値を読み出すためのＳＣＳＩコマンドであることを示す値を設定する
情報処理機器。
【請求項１１】
請求項８乃至１０のいずれか一項に記載の情報処理機器において、
前記アプリケーションプログラムは、前記所定のＳＣＳＩコマンドに、アクセスするレジスタを示す値を設定する
情報処理機器。
【請求項１２】
ＵＳＢマスストレージクラスの規格に準拠して、情報処理機器からＳＣＳＩコマンドが組み込まれたＣＢＷを受信するＵＳＢインタフェースと、
前記ＳＣＳＩコマンドが汎用入出力端子のレジスタ値を読み出すためのＳＣＳＩコマンドか否かを判定する処理プログラムを実行する処理部と
を具備し、
前記ＳＣＳＩコマンドが前記レジスタ値を読み出すためのＳＣＳＩコマンドであれば、前記処理部が前記レジスタ値を読み出して前記ＵＳＢインタフェースに送り、前記ＵＳＢインタフェースが前記レジスタ値を前記情報処理機器に送信する
周辺機器。
【請求項１３】
請求項１２に記載の周辺機器において、
前記ＳＣＳＩコマンドが前記レジスタ値を読み出すためのＳＣＳＩコマンドでなければ、前記処理部が前記ＳＣＳＩコマンドに応じた処理を実行する
周辺機器。
【請求項１４】
請求項１２又は１３に記載の周辺機器において、
前記レジスタ値として所定の値を設定する入力装置を具備する
周辺機器。
【請求項１５】
情報処理機器が、ＳＣＳＩコマンドを発行し、前記ＳＣＳＩコマンドをＣＢＷに組み込み、前記ＣＢＷをＵＳＢマスストレージクラスの規格に準拠して送信するステップと、
周辺機器が、前記情報処理機器から送信された前記ＣＢＷを受信するステップと、
前記周辺機器が、前記ＳＣＳＩコマンドが所定のＳＣＳＩコマンドであれば、前記周辺機器が備える汎用入出力端子の状態を示すレジスタの値を前記情報処理機器に送信し、前記ＳＣＳＩコマンドが前記所定のＳＣＳＩコマンドでなければ、前記ＳＣＳＩコマンドに応じた処理を行うステップと
を具備する
ブリッジシステム制御方法。
【請求項１６】
請求項１５に記載のブリッジシステム制御方法において、
前記情報処理機器が、前記周辺機器から送信されたレジスタ値が所定の値であれば、前記情報処理機器から前記周辺機器へデータのバックアップを行うステップを具備する
ブリッジシステム制御方法。
【請求項１７】
請求項１５に記載のブリッジシステム制御方法において、
前記情報処理機器が、前記周辺機器から送信されたレジスタ値が所定の値であれば、前記情報処理機器から前記周辺機器を取り外す処理を行うステップを具備する
ブリッジシステム制御方法。
【請求項１８】
請求項１５乃至１７のいずれか一項に記載のブリッジシステム制御方法において、
前記情報処理機器が、所定の処理実行後、所定の時間経過した後、前記所定のＳＣＳＩコマンドを発行するステップを具備する
ブリッジシステム制御方法。
【請求項１９】
請求項１５乃至１８のいずれか一項に記載のブリッジシステム制御方法において、
入力装置が、前記レジスタ値を前記所定の値に設定するステップを具備する
ブリッジシステム制御方法。
【請求項２０】
請求項１５乃至１９のいずれか一項に記載のブリッジシステム制御方法において、
前記情報処理機器は、前記所定のＳＣＳＩコマンドを発行するためのアプリケーションプログラムを有する
ブリッジシステム制御方法。
【請求項２１】
請求項１５乃至２０のいずれか一項に記載のブリッジシステム制御方法において、
前記所定のＳＣＳＩコマンドは、前記周辺機器が備える汎用入出力端子のレジスタ値を読み出すためにベンダが定義したＳＣＳＩコマンドである
ブリッジシステム制御方法。
【請求項２２】
周辺機器が備える汎用入出力端子のレジスタ値を読み出すためのＳＣＳＩコマンドを発行するステップと、
前記ＳＣＳＩコマンドをＣＢＷに組み込むデバイスドライバを介して、ＵＳＢマスストレージクラスの規格に準拠して前記周辺機器に前記ＣＢＷを送信し、前記レジスタ値を読み出すステップと、
前記レジスタ値が所定の値であれば、前記所定の値に応じた処理を行い、所定
の処理終了後、所定の時間経過した後、前記ＳＣＳＩコマンドを発行するステップと
を具備する
情報処理機器のプログラム。
【請求項２３】
請求項２２に記載の情報処理機器のプログラムにおいて、
前記レジスタ値が前記所定の値でない場合、所定の時間経過した後、前記ＳＣＳＩコマンドを発行するステップを具備する
情報処理機器のプログラム。
【請求項２４】
ＵＳＢマスストレージクラスの規格に準拠して、周辺機器が情報処理機器から受信したＣＢＷに組み込まれたＳＣＳＩコマンドが、汎用入出力端子のレジスタ値を読み出すためのＳＣＳＩコマンドか否かを判定するステップと、
前記ＳＣＳＩコマンドが前記レジスタ値を読み出すためのＳＣＳＩコマンドであれば、前記処理部が前記レジスタ値を読み出して前記ＵＳＢインタフェースに送り、前記ＵＳＢインタフェースが前記レジスタ値を前記情報処理機器に送信するステップと
を具備する
周辺機器のプログラム。
【請求項２５】
請求項２４に記載の周辺機器のプログラムにおいて、
前記ＳＣＳＩコマンドが前記レジスタ値を読み出すためのＳＣＳＩコマンドでなければ、前記処理部が前記ＳＣＳＩコマンドに応じた処理を実行するステップを具備する
周辺機器のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブリッジシステム、ブリッジシステム制御方法、情報処理機器、周辺機器及びこれらに用いられるプログラムに関する。
【背景技術】
【０００２】
従来、パーソナルコンピュータ（ＰＣ）からＵＳＢインタフェースによりPCに接続された外付周辺機器へバックアップを実行する際、ＰＣは、ＵＳＢプロトコルのインタラプト転送を使用し、周期的なＰＣのポーリングによって外付周辺機器の汎用入出力端子（ＧＰＩＯ：Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）の値を一定間隔で読み出している。
【０００３】
しかし、ＰＣを変更した場合やオペレーティングシステムを変更した場合に再度デバイスドライバをインストールしなければならず、バックアップの機能を速やかに実行できないエンドユーザにとっては複雑な処理となる。また、開発時には、アプリケーションプログラムだけでなく、デバイスドライバの開発も必要となる。
【０００４】
従来技術として、可搬型ストレージデバイスにバスインタフェースを介して接続されると共に、その可搬型ストレージデバイスとは別のストレージデバイスを内蔵するバックアップ装置が知られている（特許文献１参照）。
このバックアップ装置は、第１のバックアップ制御手段と、第２のバックアップ制御手段とを備える。第１のバックアップ制御手段は、外部からバックアップ設定要求を受信してバックアップフォルダを作成し、そのバックアップフォルダをバックアップ先の前記可搬型ストレージデバイスに記録する。第２のバックアップ制御手段は、前記バックアップフォルダを作成する際に、前記バックアップ元のストレージデバイス及びバックアップ先の可搬型ストレージデバイスを特定するユニークな識別番号を含む識別ファイルを作成し、その識別ファイルを前記バックアップ元のストレージデバイス及びバックアップ先の可搬型ストレージデバイスに記録する。
【０００５】
また、接続される機器に対して標準インタフェースドライバを用いてマスストレージクラスの汎用コマンドを送りＵＳＢを介してそのコマンドに応答する動作を実行させるベンダ固有情報の送受信方法がある（特許文献２参照）。
この送受信方法では、送信側機器においてインタフェース（Ｉ／Ｆ）汎用情報及びクラス固有情報のうち少なくとも一方に、予め定めた規則に従ってベンダ固有情報を挿入し、当該ベンダ固有情報が内包された結合情報をＩ／Ｆ汎用情報又はクラス固有情報として受信側機器へと送信する一方、前記ベンダ固有情報が内包された結合情報を受信した前記受信側機器は、当該受信により得た結合情報からベンダ固有情報を分離して取り出すことにより、ベンダ固有情報の受け渡しを行うようにする。
【０００６】
【特許文献１】特開２００４−１６４３６２号公報
【特許文献２】特開２００１−３４４１９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、ユーザによるボタンの押下といった簡単な操作で所定の処理が実行されるブリッジシステムを、専用デバイスドライバではなく標準デバイスドライバを使用して実現するブリッジシステム、ブリッジシステム制御方法、情報処理機器、周辺機器及びプログラムを提供することである。
【課題を解決するための手段】
【０００８】
以下に、［発明を実施するための最良の形態］で使用される番号を括弧付きで用いて、課題を解決するための手段を説明する。これらの番号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために付加されたものである。但し、それらの番号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【０００９】
ＳＣＳＩコマンドを発行し、前記ＳＣＳＩコマンドをＣＢＷに組み込み、前記ＣＢＷをＵＳＢマスストレージクラスの規格に準拠して送信する情報処理機器（１０）と、
前記情報処理機器（１０）から送信された前記ＣＢＷを受信する周辺機器（２０）と
を具備し、
前記周辺機器（２０）は、前記ＳＣＳＩコマンドが所定のＳＣＳＩコマンドであれば、前記周辺機器（２０）が備える汎用入出力端子（２５）のレジスタ値を前記情報処理機器（１０）に送信し、前記ＳＣＳＩコマンドが前記所定のＳＣＳＩコマンドでなければ、前記ＳＣＳＩコマンドに応じた処理を行う
ブリッジシステム。
【００１０】
周辺機器（２０）が備える汎用入出力端子（２５）のレジスタ値を読み出すためのＳＣＳＩコマンドを発行するアプリケーションプログラム（１４）を実行する処理部（１２）と、
前記ＳＣＳＩコマンドをＣＢＷに組み込むデバイスドライバ（１５）と、
ＵＳＢマスストレージクラスの規格に準拠して前記周辺機器（２０）に前記ＣＢＷを送信し、前記レジスタ値を受信するＵＳＢインタフェース（１３）と
を具備し、
前記アプリケーションプログラム（１４）は、前記レジスタ値が所定の値であれば、前記所定の値に応じた処理を行う
情報処理機器（１０）。
【００１１】
ＵＳＢマスストレージクラスの規格に準拠して、情報処理機器（１０）からＳＣＳＩコマンドが組み込まれたＣＢＷを受信するＵＳＢインタフェース（２１）と、
前記ＳＣＳＩコマンドが汎用入出力端子（２５）のレジスタ値を読み出すためのＳＣＳＩコマンドか否かを判定する処理プログラム（２７）を実行する処理部（２２）と
を具備し、
前記ＳＣＳＩコマンドが前記レジスタ値を読み出すためのＳＣＳＩコマンドであれば、前記処理部（２２）が前記レジスタ値を読み出して前記ＵＳＢインタフェース（２１）に送り、前記ＵＳＢインタフェース（２１）が前記レジスタ値を前記情報処理機器（１０）に送信する
周辺機器（２０）。
【発明の効果】
【００１２】
本発明では、汎用入出力端子（ＧＰＩＯ）の値を読み出すのに予め搭載されている標準デバイスドライバを使用するため、専用デバイスドライバが不要で、開発工数削減によるコストダウンが図れる。
【発明を実施するための最良の形態】
【００１３】
以下に本発明の第１実施形態について添付図面を参照して説明する。
本発明のＵＳＢ−ＩＤＥブリッジシステムは、図１に示すように、情報処理機器１０、外付周辺機器２０を具備する。情報処理機器１０と外付周辺機器２０とは、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）を用いて通信する。なお、ＵＳＢは、周辺機器と情報処理機器を結ぶデータ伝送路の規格の１つである。ここでは、例として、情報処理機器１０はＰＣ（パーソナルコンピュータ）、外付周辺機器２０はＵＳＢ−ＩＤＥブリッジとして説明する。但し、実際には、前記の例に限定されるものではない。
【００１４】
情報処理機器１０は外付周辺機器２０の汎用入出力端子（ＧＰＩＯ）のレジスタ値を読み出すためのＳＣＳＩコマンド（ベンダ固有ＳＣＳＩコマンド）をＣＢＷ（Ｃｏｍｍａｎｄ  Ｂｌｏｃｋ  Ｗｒａｐｐｅｒ）の形式に変換して外付周辺機器２０にＵＳＢ通信を介して送信する。なお、ＧＰＩＯ（Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）は、様々なカスタム接続を可能にするフレキシブルなパラレルインタフェースである。また、ＣＢＷは、ＳＣＳＩコマンドに他のデータが付加されたものである。
外付周辺機器２０は前記のＳＣＳＩコマンドに応じて汎用入出力端子（ＧＰＩＯ）のレジスタ値を情報処理機器１０にＵＳＢ通信を介して送信する。情報処理機器１０は送信されたレジスタ値に応じた所定の処理を実行する。
【００１５】
図２に、本発明のＵＳＢ−ＩＤＥブリッジシステムの構成を示す。
情報処理機器１０は、メモリ１１、ＣＰＵ１２、ＵＳＢインタフェース１３を備える。
外付周辺機器２０は、ＵＳＢインタフェース２１、ＣＰＵ２２、メモリ２３、レジスタ２４、汎用入出力端子（ＧＰＩＯ）２５、ＩＤＥインタフェース２６を備える。
【００１６】
メモリ１１は、アプリケーションプログラム１４、標準デバイスドライバ１５を格納する。ＣＰＵ１２は、アプリケーションプログラム１４及び標準デバイスドライバ１５をメモリ１１から読み出して実行する。ＵＳＢインタフェース１３は、他のＵＳＢインタフェースとＵＳＢ通信網を介して通信する。なお、ＵＳＢ通信網は有線、無線を問わない。アプリケーションプログラム１４は、ベンダが独自に定義したＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）コマンドであるＳＣＳＩベンダコマンド（ベンダ固有ＳＣＳＩコマンド）を発行するためのプログラムである。なお、アプリケーションプログラム１４において、ＳＣＳＩベンダコマンドの他、通常の規格のＳＣＳＩコマンドを発行できるようにしても良い。また、アプリケーションプログラム１４は、所定の値を受け取った時、その値に応じた処理を行うためのプログラムである。ＳＣＳＩコマンドを発行するためのアプリケーションプログラムと所定の値に応じた処理を行うためのアプリケーションプログラムは別個のプログラムでも良い。標準デバイスドライバ１５は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）に搭載されているデバイスドライバであり、ＳＣＳＩコマンドをＣＢＷの形式に変換する。
【００１７】
図３を参照して、ＳＣＳＩベンダコマンドのフォーマットの一例について説明する。
ＳＣＳＩベンダコマンドは、０−５バイトの領域から成り、全データ長６バイトである。前記のＳＣＳＩベンダコマンドの０バイト目は「Ｏｐｅｒａｔｉｏｎ  Ｃｏｄｅ」、１バイト目は「Ｒｅｓｅｒｖｅｄ」、２バイト目は「Ｆｅａｔｕｒｅ」、３バイト目は「Ｓｅｔ  Ｖａｌｕｅ」、４バイト目は「Ｌｅｎｇｔｈ」、５バイト目は「Ｒｅｓｅｒｖｅｄ」と、値が格納される領域が定義されている。
本発明では、このＳＣＳＩベンダコマンドを使用することで、いくつかあるＧＰＩＯ関連のレジスタへのアクセスが可能になる。ここでは、汎用入出力端子（ＧＰＩＯ）の入力値（１又は０）が格納されているレジスタへ定期的にアクセスし、そのレジスタの値を読み出している。
外付周辺機器２０には、「Ｏｐｅｒａｔｉｏｎ  Ｃｏｄｅ」によりどのようなＳＣＳＩコマンドが来たかを判断できるプログラムが実装されている。例えば、Ｏｐｅｒａｔｉｏｎ  ＣｏｄｅがＦ６の時、外付周辺機器２０はそのＳＣＳＩコマンドが汎用入出力端子（ＧＰＩＯ）へアクセスできるＳＣＳＩベンダコマンドであると認識する。
ＧＰＩＯのどのレジスタへアクセスするかは、「Ｆｅａｔｕｒｅ」の値で判断する。
【００１８】
図４，５を参照して、ＣＢＷのフォーマットについて説明する。
ＣＢＷは、０−３０バイトの領域の全データ長３１バイトに固定されている。
３１バイトのうち、０−１４バイトの領域は他のデータの部分である。
０−３バイトの領域はＣＢＷ  Ｓｉｇｎａｔｕｒｅであり、どのＣＢＷも同じ値に固定されている。４−７バイトの領域はＣＢＷ  Ｔａｇである。８−１１バイトの領域はＤａｔａ  Ｔｒａｎｓｆｅｒ  Ｌｅｎｇｔｈであり、転送するデータの長さを示す。１２バイト目はＤａｔａ  Ｔｒａｎｓｆｅｒ  Ｄｉｒｅｃｔｉｏｎであり、データ転送方向を指定する。１３バイト目にはＣＢＷＬＵＮが含まれ、１４バイト目にはＳＣＳＩコマンドの長さを示すＣＢＷＣＢ  Ｌｅｎｇｔｈが含まれる。
１５−３０バイトの領域はＣＢＷＣＢであり、ここにＳＣＳＩコマンドが挿入される。なお、ここでは１６バイトの領域が取られているが、全てのＳＣＳＩコマンドが１６バイトあるわけではない。
【００１９】
図２に示すように、情報処理機器１０と外付周辺機器２０との間で通信を行う場合、ＵＳＢインタフェース１３は、外付周辺機器２０のＵＳＢインタフェース２１とＵＳＢ通信網を用いて通信する。ここでは、ＵＳＢインタフェース１３は標準デバイスドライバ１５から送られたＣＢＷをＵＳＢの通信規格に従ってＵＳＢインタフェース２１に送信する。ＵＳＢの通信規格には、ＵＳＢマスストレージクラス（ＵＳＢ  ｍａｓｓ  ｓｔｏｒａｇｅ  ｃｌａｓｓ）準拠のプロトコルを使用する。なお、ＵＳＢマスストレージクラス準拠のプロトコルでは、ＣＢＷの形式でＳＣＳＩコマンドがＵＳＢパケットに組み込まれる。また、インタラプト転送は含まれない。
【００２０】
なお、ＵＳＢマスストレージクラスはＵＳＢのクラスの１つであり、大容量記憶装置として分類されるＵＳＢの機器を扱うためのクラスである。一般的には略してＵＳＢストレージクラス（ＵＳＢ  ｓｔｏｒａｇｅ  ｃｌａｓｓ）と呼ばれることもある。
ＵＳＢは高速シリアル通信でさまざまな周辺機器を接続するためのインタフェースであるが、ハードディスクやＣＤドライブのような大容量の記憶装置を接続することもできる。これらのデバイスを、ＵＳＢ規格ではＵＳＢマスストレージクラスと呼び、プロトコル、ＣＢＷ、ＣＳＷ及びＵＳＢマスストレージクラス固有のリクエストが定義されている。
【００２１】
ＵＳＢインタフェース２１は、情報処理機器１０のＵＳＢインタフェース１３とＵＳＢプロトコルを用いて通信する。ここでは、ＵＳＢインタフェース１３からＣＢＷを受信する。ＣＰＵ２２は、ＵＳＢインタフェース２１からＣＢＷを受け、メモリ２３に格納されたＳＣＳＩ処理プログラム２７を実行する。メモリ２３はＳＣＳＩ処理プログラム２７を格納する。ＳＣＳＩ処理プログラム２７は、ＵＳＢインタフェース２１から送られたＣＢＷに含まれるＳＣＳＩコマンドが通常の規格のＳＣＳＩコマンドであるか、ベンダが独自に定義したＳＣＳＩベンダコマンドであるかを判断するためのプログラムである。また、ＳＣＳＩ処理プログラム２７は、ＳＣＳＩベンダコマンドに従って汎用入出力端子（ＧＰＩＯ）２５に対応するレジスタ２４に格納されたレジスタ値（以下、レジスタ２４の値）を読み出すためのプログラムである。ＳＣＳＩベンダコマンドであるかを判断するためのＳＣＳＩ処理プログラムとレジスタ２４の値を読み出すためのＳＣＳＩ処理プログラムは別個のプログラムでも良い。汎用入出力端子（ＧＰＩＯ）２５は、ボタンスイッチ２８を始めとする入力装置からの信号を受信し、レジスタ２４に受信した信号を示す値を格納する。ボタンスイッチ２８は外付周辺機器２０が備えていても良い。なお、ボタンスイッチ２８は外付周辺機器２０と通信する外部装置でも良い。ボタンスイッチ２８の代わりに、レジスタ２４に書き込み可能な値を信号として送信する通信機器を使用しても良い。この時、レジスタ２４に書き込み可能な値を信号として送信する装置をボタンスイッチ２８とみなす。ＩＤＥインタフェース２６は、ＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）の通信規格に従ってＩＤＥ機器３０を接続する。ＩＤＥは、機器と記憶装置を接続する方式の１つである。ＩＤＥ機器３０の例としては、ハードディスク、ＣＤ−ＲＯＭドライブ、ＭＯドライブ又はＤＶＤドライブがある。但し、実際には前記の例に限定されるものではない。なお、ＩＤＥ機器３０は外付周辺機器２０に内蔵されていても良い。外付周辺機器２０とＩＤＥ機器３０を組み合わせた例として、ＵＳＢ−ＩＤＥブリッジ付きのＩＤＥインタフェースＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）がある。また、外付周辺機器２０にＩＤＥ機器３０を複数接続可能にしても良い。
【００２２】
図６に、情報処理機器１０と外付周辺機器２０との通信に関する動作を示す。この動作はＵＳＢマスストレージクラスのプロトコルに準拠している。なお、ここでは、通常の規格のＳＣＳＩコマンドを使用している。
情報処理機器１０がＳＣＳＩコマンドを含むＣＢＷを外付周辺機器２０へ送信する（ステップＳ１０１）。
外付周辺機器２０がＣＢＷを受信したら、外付周辺機器２０はＳＣＳＩコマンドの内容を解読する（ステップＳ１０２）。
ＳＣＳＩコマンドの内容によって、以下の３つの処理のいずれかが実行される（ステップＳ１０３）。第１に、情報処理機器１０から外付周辺機器２０にデータを送信する場合、第２に、外付周辺機器２０から情報処理機器１０にデータを送信する場合、第３に、データの転送がない場合である。例えば、外付周辺機器２０にデータを書き込みたい場合は、情報処理機器１０から外付周辺機器２０へデータが送られる。ここでは、ＳＣＳＩベンダコマンドに従って、外付周辺機器２０はレジスタ２４の値を情報処理機器１０へ送信する。
そして、外付周辺機器２０から情報処理機器１０へＣＳＷ（Ｃｏｍｍａｎｄ  Ｓｔａｔｕｓ  Ｗｒａｐｐｅｒ）を送信する（ステップＳ１０４）。ＣＳＷには、データの転送までのシーケンス（データの転送がない場合もある）が正常に終了したか否かを情報処理機器１０へ通知するためのステータス情報が含まれている。
【００２３】
図７を参照して、ＣＳＷのフォーマットについて説明する。
ＣＳＷは、０−１２バイトの領域の全データ長１３バイトに固定されている。
０−３バイトの領域はＣＳＷ  Ｓｉｇｎａｔｕｒｅであり、どのＣＳＷも同じ値に固定されている。４−７バイトの領域はＣＳＷ  Ｔａｇである。これはＣＢＷのＴａｇの値と同じであり、ＣＢＷと対を成している。８−１１バイトの領域はＣＳＷ  Ｄａｔａ  Ｒｅｓｉｄｕｅであり、データ転送フェーズで送信されたデータと、ＣＢＷの８−１１バイトの領域に示されたデータの長さとの差分の値が格納される。１２バイト目はＣＳＷ  Ｓｔａｔｕｓであり、正常終了したか否かを示すステータス情報である。例えば、正常終了した場合は１０Ｈ、異常の場合は１１Ｈと表される。
【００２４】
図８に、本発明のブリッジシステム全体の動作を示す。
情報処理機器１０（ＰＣ）のメモリ１１に格納されたアプリケーションプログラム１４をＣＰＵ１２が読み出して実行し、レジスタ２４の値を読み出すように定義したＳＣＳＩベンダコマンドを標準デバイスドライバ１５に発行する（ステップＳ２０１）。
標準デバイスドライバ１５がＳＣＳＩベンダコマンド又はＳＣＳＩコマンドをＣＢＷ（Ｃｏｍｍａｎｄ  Ｂｌｏｃｋ  Ｗｒａｐｐｅｒ）の形式に変換してＵＳＢインタフェース１３に送る（ステップＳ２０２）。
ＵＳＢインタフェース１３がＣＢＷを通信規格（ＵＳＢマスストレージクラス準拠のプロトコル）に従って外付周辺機器２０のＵＳＢインタフェース２１に送信する（ステップＳ２０３）。
外付周辺機器２０のＵＳＢインタフェース２１がＣＢＷを受信し、ＣＰＵ２２に送る（ステップＳ２０４）。
ＣＰＵ２２が、メモリ２３に格納されたＳＣＳＩ処理プログラム２７を読み出して実行する（ステップＳ２０５）。
ＳＣＳＩ処理プログラム２７は、ＣＢＷに含まれているＳＣＳＩコマンドがＳＣＳＩベンダコマンドか否か判定する（ステップＳ２０６）。
この時、ＣＢＷにＳＣＳＩベンダコマンド以外のＳＣＳＩコマンドが含まれている場合、ＣＰＵ２２はＳＣＳＩコマンドの内容に従い、例えば、ＩＤＥ機器３０に対するデータの読み出し又は書き込みといった所定の処理を行う。アプリケーションプログラム１４は、所定の処理終了後、所定の時間カウントしてから、再度レジスタ２４の内容を読み出すように定義したＳＣＳＩベンダコマンドを標準デバイスドライバ１５に発行し、レジスタ２４から読み出した内容が所定の値である時には所定の処理を実行する（ステップＳ２０７）。所定の時間のカウントにはタイマー（Ｔｉｍｅｒ）を用いる。例えば、所定の時間カウントした後の処理はタイマー割り込みにより行う。
ＣＢＷにＳＣＳＩベンダコマンドが含まれている場合、ＳＣＳＩ処理プログラム２７が汎用入出力端子（ＧＰＩＯ）２５のレジスタ２４の値のデータ読み出し処理を行い、読み出したデータを外付周辺機器２０のＵＳＢインタフェース２１に送る（ステップＳ２０８）。
外付周辺機器２０のＵＳＢインタフェース２１は読み出したデータを情報処理機器１０のＵＳＢインタフェース１３に送信する（ステップＳ２０９）。
情報処理機器１０のＵＳＢインタフェース１３は読み出したデータを受信し、読み出したデータをＣＰＵ１２に送る（ステップＳ２１０）。この時、ＣＰＵ１２は標準デバイスドライバ１５を使用しても良い。
ＣＰＵ１２はメモリ１１に格納されたアプリケーションプログラム１４を読み出して実行する（ステップＳ２１１）。
アプリケーションプログラム１４は、レジスタ２４から読み出したデータが所定の値か否か判定する（ステップＳ２１２）。
アプリケーションプログラム１４はレジスタ２４から読み出したデータが所定の値でない時は、所定の時間カウントしてから再度レジスタ２４の内容を読み出すように定義したＳＣＳＩベンダコマンドを標準デバイスドライバ１５に発行し、レジスタ２４から読み出した内容が所定の値である時には所定の処理を実行する（ステップＳ２０７）。
アプリケーションプログラム１４は、レジスタ２４から読み出したデータが所定の値であれば、前記の所定の値に応じた処理を行う（ステップＳ２１３）。例えば、レジスタ２４の値が一定の値以上であれば、アプリケーションプログラム１４がデータのバックアップ、又は情報処理機器１０から外付周辺機器２０を安全に取り外す。この時、レジスタ２４の値により行う処理を特定するようにしても良い。また、上限及び下限の閾値を設定して、レジスタ２４の値が前記の閾値の範囲内であればそれに応じた所定の処理を行うようにしても良い。アプリケーションプログラム１４は、前記の所定の値に応じた処理を行った後、所定の時間カウントしてから再度レジスタ２４の内容を読み出すように定義したＳＣＳＩベンダコマンドを標準デバイスドライバ１５に発行し、レジスタ２４から読み出した内容が所定の値である時には所定の処理を実行する（ステップＳ２０７）。
【００２５】
図９に、アプリケーションプログラム１４が実行する処理の例を示す。
アプリケーションプログラム１４はタイマーにより周期的にＳＣＳＩベンダコマンドを発行し、前記の通り、標準デバイスドライバ１５を介してレジスタ２４の値を読み出し、プッシュボタン（ボタンスイッチ２８）が押下されたかを監視する（ステップＳ３０１）。この時、プッシュボタンが押下されるとレジスタ２４に所定の値が格納される。
アプリケーションプログラム１４は、レジスタ２４の値が所定の値になったことを検出すると、予め設定された処理を実行する。ここでは、ＰＣ（情報処理機器１０）内蔵のＨＤＤといった記憶装置からバックアップ先の外付け記憶装置（ＩＤＥ機器３０）にデータをバックアップする（ステップＳ３０２）。前記の外付け記憶装置は、ＵＳＢ−ＩＤＥブリッジ（外付周辺機器２０）のＩＤＥ機器インタフェース（ＩＤＥインタフェース２６）に接続されている。その後、再びステップＳ３０１の処理に戻る。
なお、デバイスの安全な取り外しについてもバックアップの場合と同様に、ボタンが押されるとレジスタ２４の値が所定の値になり、アプリケーションプログラム１４は、ＵＳＢ−ＩＤＥブリッジとＩＤＥ機器インタフェースから成るＵＳＢデバイスを安全に取り外せるように所定の処理をする。データのバックアップやデバイスの取り外し以外の処理を行う場合についても同様である。
【００２６】
以上のように、本発明のＵＳＢ−ＩＤＥブリッジシステムは、上位プロトコルにＳＣＳＩコマンドを使用する通信手段とＩＤＥ機器とのブリッジチップが汎用入出力ポートを備えている場合、ＳＣＳＩベンダコマンドを利用してパーソナルコンピュータ（ＰＣ）から汎用入出力端子（ＧＰＩＯ）へのアクセスを可能にする手段を備える。
また、本発明のプログラムを用いると、ＰＣが、ＳＣＳＩベンダコマンドを利用したアプリケーションプログラム１４によりＧＰＩＯの値を一定間隔で読み出し、その値により内蔵ＨＤＤから外付け記憶装置へのデータバックアップ又は外付け記憶装置をＰＣから安全に取り外すことを可能にする。
【００２７】
本発明では、汎用入出力端子（ＧＰＩＯ）の値を読み出すのに予め搭載されている標準デバイスドライバを使用するため、専用デバイスドライバが不要で、開発工数削減によるコストダウンが図れる。
エンドユーザに対しては、デバイスドライバのインストール作業がなくなるので、アプリケーションプログラムの導入が容易になる。更に、ボタンによる外付けデバイスを容易に取り外す処理において、従来の方法であるマウスでポインタを「ハードウェアの安全な取り外し」にポイントを持っていき、クリックして取り外すという煩雑な処理が不必要になる。
【００２８】
また、本発明では、専用のデバイスドライバを必要としないため、ＵＳＢマスストレージクラスの通信方法に対応し、且つ、ＣＢＷに含まれるＳＣＳＩコマンドによる制御が可能な電子機器であれば、前記の外付周辺機器２０として用いることが可能である。また、前記の電子機器を用いる時にデバイスドライバを新たにインストールする必要がない。
【図面の簡単な説明】
【００２９】
【図１】図１は、本発明の概要を示す図である。
【図２】図２は、本発明のシステムの構成を示す図である。
【図３】図３は、ＳＣＳＩベンダコマンドのフォーマットを示す図である。
【図４】図４は、ＣＢＷのフォーマットを示す図である。
【図５】図５は、実際のＣＢＷの例を示す図である。
【図６】図６は、情報処理機器と外付周辺機器との通信に関する動作を示すフローチャートである。
【図７】図７は、ＣＳＷのフォーマットを示す図である。
【図８】図８は、本発明のブリッジシステム全体の動作を示すフローチャートである
【図９】図９は、アプリケーションプログラム１４が実行する処理の例を示すフローチャートである
【符号の説明】
【００３０】
１０…  情報処理機器（ＰＣ）
１１…  メモリ
１２…  ＣＰＵ
１３…  ＵＳＢインタフェース
１４…  アプリケーションプログラム
１５…  標準デバイスドライバ
２０…  外付周辺機器（ＵＳＢ−ＩＤＥブリッジ）
２１…  ＵＳＢインタフェース
２２…  ＣＰＵ
２３…  メモリ
２４…  レジスタ
２５…  汎用入出力端子（ＧＰＩＯ）
２６…  ＩＤＥインタフェース
２７…  ＳＣＳＩ処理プログラム
２８…  ボタンスイッチ
３０…  ＩＤＥ機器
【図１】
2006235994.tif 000003
【図２】
2006235994.tif 000004
【図３】
2006235994.tif 000005
【図４】
2006235994.tif 000006
【図５】
2006235994.tif 000007
【図６】
2006235994.tif 000008
【図７】
2006235994.tif 000009
【図８】
2006235994.tif 000010
【図９】
2006235994.tif 000011