(57)【特許請求の範囲】
【請求項１】
通信イベントの起動決定権を有したホスト装置と、該ホスト装置に接続される該ホスト装置の通信対象となる周辺装置とを含み、前記通信イベントを実行命令するためのコマンドを前記ホスト装置から前記周辺装置に向けて順次発行する一方、発行されたコマンドを受領した前記周辺装置が当該コマンドに対応するデータ処理を逐次実行し、その実行結果に応じた応答情報を前記ホスト装置側に返信するようになっており、かつ、前記コマンドの発行方向が前記ホスト装置側から前記周辺装置側への一方向に規制された主通信プロトコルを有する通信システムにおいて、
前記周辺装置に設けられ、予め定められた内容の対象通信イベントの起動を前記ホスト装置に促すための周辺装置側トリガを、該周辺装置側でのユーザー操作に基づいて発生させる周辺装置側トリガ発生手段と、
前記ホスト装置側に設けられ、前記周辺装置における前記周辺装置側トリガの発生を監視するために、前記周辺装置側トリガの発生の有無を反映したトリガ発生報告情報を前記応答情報として要求するためのトリガ報告要求コマンドを、前記主通信プロトコルに従い前記周辺装置に向けて発行するトリガ報告要求コマンド発行手段と、
前記周辺装置側に設けられ、前記トリガ発生報告情報を前記応答情報として前記ホスト装置に前記主通信プロトコルに従い返信するトリガ発生報告情報返信手段と、
前記ホスト装置側に設けられ、前記トリガ発生報告情報を前記周辺装置から受領する報告情報受領手段と、
当該トリガ発生報告情報の内容に基づいて前記周辺装置側トリガの有無を判定し、該周辺装置側トリガがありと判定された場合に、前記対象通信イベントを起動させる対象通信イベント起動手段とを有し、
前記周辺装置が、少なくともデータの読出しに係るデータアクセスが可能とされた記憶媒体が着脱可能に装着され、前記通信イベントにより該記憶媒体に対してデータアクセスを行なう記憶装置として構成され、さらに、
前記周辺装置に設けられ、前記データアクセスを行うデータファイルのファイル種別を選択するファイル種別選択手段と、
前記ホスト装置側に設けられ、前記ファイル種別選択手段によって選択された前記ファイル種別のファイル種別情報を要求するためのファイル種別要求コマンドを、前記主通信プロトコルに従い、前記周辺装置に向けて発行するファイル種別要求コマンド発行手段と、
前記周辺装置側に設けられ、前記ファイル種別要求コマンドを受領すると、前記ファイル種別情報を前記ホスト装置に前記主通信プロトコルに従い返信するファイル種別報告情報返信手段と、
前記ホスト装置側に設けられ、前記ファイル種別情報を受領し、該ファイル種別情報に従って、前記データアクセスを行う前記ファイル種別を設定するファイル種別設定手段とを有し、
前記周辺装置側トリガとしての前記記憶媒体の前記周辺装置への装着を、前記周辺装置からの前記トリガ発生報告情報により前記ホスト装置側で把握するに伴い前記対象通信イベントとして、前記ファイル種別設定手段によって設定された前記ファイル種別の前記データファイルを前記周辺装置にて前記記憶媒体から読み出し、当該データファイルのデータを前記ホスト装置へ送信するデータアクセス通信処理が実行され、さらに、
前記ホスト装置側に設けられ、前記データファイルの種別に対応したアプリケーションソフトを記憶するアプリ記憶手段と、
前記ファイル種別設定手段が設定したファイル種別に対応する前記アプリケーションソフトを起動して、該アプリケーションソフト上にて前記データファイルを開くアプリ起動手段とを有してなることを特徴とする通信システム。
【請求項２】
前記ファイル種別選択手段は、前記周辺装置に設けられた手動操作部を含む請求項１記載の通信システム。
【請求項３】
前記手動操作部は、ロータリースイッチとして構成されている請求項２記載の通信システム。
【請求項４】
前記トリガ報告要求コマンド発行手段は、前記トリガ報告要求コマンドを前記周辺装置に対し予め定められた時間間隔で繰り返し継続的に発行するものである請求項１ないし３のいずれか１項に記載の通信システム。
【請求項５】
前記周辺装置と前記ホスト装置とは、前記ホスト装置側からの前記周辺装置のポーリングは可能であって、該周辺装置側からの前記ホスト装置の逆ポーリングが不能なシリアル通信機構を介して接続され、前記通信イベントを実行するための前記ホスト装置と前記周辺装置との間における情報転送が、前記ホスト装置が前記周辺装置をポーリングする形式にてシリアル通信により実行されるようになっている請求項１ないし４のいずれか１項に記載の通信システム。
【請求項６】
前記シリアル通信機構は、ＵＳＢプロトコルに従うものである請求項５記載の通信システム。
【請求項７】
前記ホスト装置側に設けられ、前記対象通信イベントにて前記周辺装置から受信した前記データファイルを該ホスト装置側に設けられたホスト装置側記憶装置上の予め定められた保存領域に保存するデータファイル保存手段を有する請求項１ないし６のいずれか１項に記載の通信システム。
【請求項８】
前記記憶媒体は、前記データの読出し、書き込み及び削除に係るデータアクセスが可能とされたものであり、
前記ホスト装置側に設けられ、前記データファイル保存手段による前記保存領域への前記データファイルの格納に対応して、前記周辺装置に対し前記記憶媒体上の送信元のデータファイルを削除させるファイルムーブイベントを起動するファイルムーブ制御手段が設けられている請求項７記載の通信システム。
【請求項９】
前記ホスト装置側に設けられ、前記データファイルの前記保存領域への保存環境を設定する保存環境設定手段が設けられている請求項７又は請求項８に記載の通信システム。
【請求項１０】
前記保存環境設定手段は、前記データファイルの前記保存領域を設定・変更するための保存領域設定変更手段を有する請求項９記載の通信システム。
【請求項１１】
請求項９記載の要件を備え、前記保存環境設定手段は、前記ファイルムーブ制御手段による前記ファイルムーブイベントの起動が禁止されるファイルコピーモードと、前記前記ファイルムーブイベントの起動が許可されるファイルムーブモードとを切り替えるファイル保存モード切替手段を有する請求項９又は請求項１０に記載の通信システム。
【請求項１２】
前記トリガ報告要求コマンドは、前記周辺装置に対し該周辺装置自身に対する調査報告処理を要求する調査要求コマンドであり、
前記ホスト装置は、前記調査要求コマンドの発行に伴い、調査報告指示内容を示す予め定められたフレームフォーマットを有するとともに当該フレームの予め定められたフィールドに、前記周辺装置側トリガの発生報告指示情報が付加情報として書き込まれた調査指示データを作成する調査指示データ作成手段と、作成された前記調査指示データを前記周辺装置に送信する調査指示データ送信手段とを有し、
前記周辺装置は、該調査指示データを受けて、予め定められたフレームフォーマットを有する調査報告データを生成する調査報告データ生成手段と、該調査報告データの予め定められたフィールドに前記トリガ発生報告情報を書き込むトリガ発生報告情報書き込み手段と、当該トリガ発生報告情報が書き込まれた前記調査報告データを応答情報として前記ホスト装置に送信する調査報告データ送信手段とが設けられる請求項１ないし請求項１１のいずれか１項に記載の通信システム。
【請求項１３】
前記調査指示データ作成手段は前記調査指示データにおいて、格納するべき主格納情報として前記発生報告指示情報以外の情報が格納されるよう前記主通信プロトコルに規定されたフィールドに、前記発生報告指示情報を前記主格納情報に兼用させる形で書き込むものである請求項１２記載の通信システム。
【請求項１４】
前記周辺装置が、少なくともデータの読出しに係るデータアクセスが可能とされた記憶媒体が着脱可能に装着され、前記通信イベントにより該記憶媒体に対してデータアクセスを行なう記憶装置として構成され、
前記調査指示データにおいて、前記主通信プロトコルに従い前記記憶媒体に対するデータの読み出し又は書き込みに係る通信イベントを実行する際に、該読み出し処理又は書き込み処理に割り当てられる当該記憶媒体上のメモリ領域のアロケーション長情報を格納するためのフィールドがアロケーション長設定フィールドとして確保されてなり、アロケーション長情報作成手段は、該アロケーション長設定フィールドにおいて前記アロケーション長情報を前記主格納情報とする形で、該アロケーション長情報に兼用される前記発生報告指情報を書き込む請求項１３記載の通信システム。
【請求項１５】
前記主通信プロトコルにおいて、前記アロケーション長設定フィールドのサイズが一定ビット長に定められるとともに、前記アロケーション長として設定可能な最大値をバイト単位にて表わしたときのビット数を、前記アロケーション長設定フィールドの総ビット数未満に設定し、前記最大値を超えるアロケーション長が前記アロケーション長設定フィールドに記述された場合には、記述されたアロケーション長値とは無関係に前記最大値を前記アロケーション長の実設定値として定める一方、該最大値を超える冗長なアロケーション長記述値に一義的に対応付ける形で、前記発生報告指示情報を含む、異なる付加情報内容が定義されてなる請求項１４記載の通信システム。
【請求項１６】
前記周辺装置は、データの読出し及び書込の双方に係るデータアクセスが可能とされた記憶媒体が着脱可能に装着され、前記通信イベントにより該記憶媒体に対してデータアクセスを行なう記憶装置として構成されるとともに、
前記周辺装置には、前記記憶媒体の交換がなされた場合に当該記憶媒体の交換を前記ホスト装置に通知するための交換通知情報を保持する交換通知情報保持手段と、前記ホスト装置から予め定められた第一種コマンドを受信した場合には、該コマンドの実行後に前記交換通知情報保持手段に保持されている前記交換通知情報をクリアし、同じく前記第一種コマンド以外の第二種コマンドを受信した場合は、該コマンドの実行後においても前記交換通知情報保持手段による前記交換通知情報の保持状態を保留する交換通知情報保持制御手段とを有し、
前記トリガ報告要求コマンドとして使用する前記調査要求コマンドとして前記第二種コマンドが使用される請求項１２ないし請求項１５のいずれか１項に記載の通信システム。
【請求項１７】
前記調査要求コマンドが、前記周辺装置に対し該周辺装置自身の構成及び属性を特定する情報である構成／属性特定情報の報告を指示するための、前記第二種コマンドをなす構成／属性調査要求コマンドである請求項１６記載の通信システム。
【請求項１８】
前記主通信プロトコルがＳＣＳＩプロトコルであり、前記調査要求コマンドとしてＩｎｑｕｉｒｙコマンドが使用される請求項１７記載の通信システム。
【請求項１９】
請求項１ないし請求項１８のいずれか１項に記載の通信システムを構成する前記周辺装置であって、予め定められた内容の対象通信イベントの起動を前記ホスト装置に促すための周辺装置側トリガを、該周辺装置側でのユーザー操作に基づいて発生させる前記周辺装置側トリガ発生手段と、
前記周辺装置側に設けられ、前記ホスト装置からの前記トリガ報告要求コマンドに対応する前記トリガ発生報告情報を前記応答情報として前記ホスト装置に前記主通信プロトコルに従い返信するトリガ発生報告情報返信手段と、
を有してなることを特徴とする周辺装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータ（以下「ＰＣ」と略称する）やワークステーション等をホスト装置としてこれに周辺装置が接続された通信システムと、それに使用する周辺装置とに関する。
【背景技術】
【０００２】
【特許文献１】特開２００５−１８６４５号公報
【特許文献２】特開２００５−１０７８７５号公報
【０００３】
近年、フラッシュメモリなどの不揮発性メモリがカード型にパッケージングされたいわゆるメモリーカード（記録メディアの一例）が広く知られている。このメモリーカードは、デジタルカメラや携帯音楽プレーヤーなどのデジタル機器に用いられるデータの記憶媒体として急速に普及している。メモリーカードの仕様は統一されておらず、例えば、コンパクトフラッシュ（登録商標、以下「ＣＦ」と略称する）、スマートメディア（登録商標、以下「ＳＭ」と略称する）、メモリースティック（登録商標、以下「ＭＳ」と略称する）、ＳＤメモリーカード（登録商標、以下「ＳＤ」と略称する）など、種々のものが市場に出回っている。
【０００４】
上記メモリーカードは、ＰＣなどに接続されてメモリーカードの読み書きを行なうメモリーカードリーダライタ（周辺装置の一例、以下「リーダライタ」と略称する）を用いることで、ＰＣから上記メモリーカードへのアクセスが可能となる。これにより、ＰＣとメモリーカードとの間でデータ通信が行なえるようになる。こうしたリーダライタには、メモリーカードを挿入するスロットを一つ備えたシングルスロットタイプと、複数のスロットを備えて複数のメモリーカードに対するデータの読み書きが可能なマルチスロットタイプなどがある（特許文献１〜２）。
【０００５】
ところで、上記のようなリーダライタは、マルチメディアの普及によりデータ転送容量が飛躍的に増大した背景から、ＰＣとの間のデータ伝送をシリアル通信にて行なうことも一般化してきている。しかしながら、データアクセスのための制御には、複数記憶媒体の取り扱いが容易、といった観点から、パラレル通信用周辺機器の調停／アクセス制御にて使用されていた方式を引き継いだ機器も数多く存在する。その典型例として、ＰＣとリーダライタとのデータ通信を、いわゆるＳＣＳＩ規格で定義されたプロトコル（以下、ＳＣＳＩプロトコルともいう）に基づいて行われるように設計されたシステムを例示できる。ＳＣＳＩ規格は、ＡＮＳＩ（American National Standard Institute；米規格協会）によって規格化され、国際的に広く準拠されている通信プロトコルである。該プロトコルは、ＰＣ及びリーダライタの汎用性を高めることができるため広く用いられている。なお、以下の説明において、ＳＣＳＩ規格とは主としてＳＣＳＩ−２を示すものとする。
【０００６】
ＳＣＳＩプロトコルにおいては、ホスト装置となるＰＣは、通信イベントの起動決定権が与えられたイニシエータとして機能し、周辺装置は該ホスト装置の通信対象であるターゲットとして定められる。通信イベントを実行命令するためのコマンドはＰＣから周辺装置に向けて順次発行される一方、発行されたコマンドを受領した周辺装置が当該コマンドに対応する処理（例えば、データの読出しや書き込み、消去、及び種々の付随的な処理）を逐次実行し、その実行結果に応じた応答情報をホスト装置側に返信する。そして、通信イベントの実行を司るコマンドの発行方向は、ホスト装置側から周辺装置側への一方向に規制されている。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記のごとく、ＳＣＳＩ通信はＰＣと周辺装置との間での双方向通信ではあるが、通信イベントの実行を司るコマンドの発行方向が、上記のごとく、ＰＣ側から周辺装置側への一方向に規制されており、通信処理開始の主導権は常にイニシエータとなるＰＣ側が握る形となる。つまり、ＳＣＳＩプロトコルに従う限り、周辺装置側でホスト装置側に通信イベント始動のためのコマンドを逆発行することは不可能であり、周辺装置側で特定の通信イベントを自発的に起動する方法が存在しなかった。例えば、リーダライタに装着したメモリーカードに記憶されたデータファイルをＰＣ側で読み出したり、あるいはハードディスクドライブ（ＨＤＤ）等のＰＣ側の記憶装置に保存したりする場合、ユーザーは必ずＰＣ側でそれら読み書き処理の操作（つまり、コマンド実行入力）を行なわなければならない。このため、ＰＣから離れた場所に配置されたリーダライタにデータファイルが格納されたメモリーカードを装着しても、そのデータファイルをＰＣに保存したい場合、わざわざＰＣ位置まで赴かなければ保存のための操作を行なうことができず、非常に不便であった。
【０００８】
本発明の課題は、通信イベントの実行を司るコマンドの発行方向が、上記のごとく、ＰＣ側から周辺装置側への一方向に規制されているにも拘わらず、周辺装置側でのユーザー操作により特定の通信イベントを自発的に起動することが可能な通信システムと、それに使用する周辺装置とを提供することにある。
【課題を解決するための手段及び発明の効果】
【０００９】
上記課題を解決するための本発明の通信システムは、通信イベントの起動決定権を有したホスト装置と、該ホスト装置に接続される該ホスト装置の通信対象となる周辺装置とを含み、通信イベントを実行命令するためのコマンドをホスト装置から周辺装置に向けて順次発行する一方、発行されたコマンドを受領した周辺装置が当該コマンドに対応するデータ処理を逐次実行し、その実行結果に応じた応答情報をホスト装置側に返信するようになっており、かつ、コマンドの発行方向がホスト装置側から周辺装置側への一方向に規制された主通信プロトコルを有する通信システムにおいて、
周辺装置に設けられ、予め定められた内容の対象通信イベントの起動をホスト装置に促すための周辺装置側トリガを、該周辺装置側でのユーザー操作に基づいて発生させる周辺装置側トリガ発生手段と、
ホスト装置側に設けられ、周辺装置における周辺装置側トリガの発生を監視するために、周辺装置側トリガの発生の有無を反映したトリガ発生報告情報を応答情報として要求するためのトリガ報告要求コマンドを、主通信プロトコルに従い周辺装置に向けて発行するトリガ報告要求コマンド発行手段と、
周辺装置側に設けられ、トリガ発生報告情報を応答情報としてホスト装置に主通信プロトコルに従い返信するトリガ発生報告情報返信手段と、
ホスト装置側に設けられ、トリガ発生報告情報を周辺装置から受領する報告情報受領手段と、
当該トリガ発生報告情報の内容に基づいて周辺装置側トリガの有無を判定し、該周辺装置側トリガがありと判定された場合に、対象通信イベントを起動させる対象通信イベント起動手段とを有し、
周辺装置が、少なくともデータの読出しに係るデータアクセスが可能とされた記憶媒体が着脱可能に装着され、通信イベントにより該記憶媒体に対してデータアクセスを行なう記憶装置として構成され、さらに、
周辺装置に設けられ、データアクセスを行うデータファイルのファイル種別を選択するファイル種別選択手段と、
ホスト装置側に設けられ、ファイル種別選択手段によって選択されたファイル種別のファイル種別情報を要求するためのファイル種別要求コマンドを、主通信プロトコルに従い、周辺装置に向けて発行するファイル種別要求コマンド発行手段と、
周辺装置側に設けられ、ファイル種別要求コマンドを受領すると、ファイル種別情報をホスト装置に主通信プロトコルに従い返信するファイル種別報告情報返信手段と、
ホスト装置側に設けられ、ファイル種別情報を受領し、該ファイル種別情報に従って、データアクセスを行うファイル種別を設定するファイル種別設定手段とを有し、
周辺装置側トリガとしての記憶媒体の周辺装置への装着を、周辺装置からのトリガ発生報告情報によりホスト装置側で把握するに伴い対象通信イベントとして、ファイル種別設定手段によって設定されたファイル種別のデータファイルを周辺装置にて記憶媒体から読み出し、当該データファイルのデータをホスト装置へ送信するデータアクセス通信処理が実行されることを前提とする。
【００１０】
また、本発明の周辺装置は、上記発明の通信システムを構成する周辺装置であって、予め定められた内容の対象通信イベントの起動をホスト装置に促すための周辺装置側トリガを、該周辺装置側でのユーザー操作に基づいて発生させる周辺装置側トリガ発生手段と、
周辺装置側に設けられ、ホスト装置からのトリガ報告要求コマンドに対応するトリガ発生報告情報を応答情報としてホスト装置に主通信プロトコルに従い返信するトリガ発生報告情報返信手段と、
を有してなることを特徴とする。
【００１１】
上記本発明によると、ホスト装置は、ファイル種別要求コマンドを周辺装置に発行して、周辺装置からユーザーが周辺装置にて選択したファイル種別のファイル種別情報を受領し、データアクセスを行うファイル種別を設定することができる。そして対象通信イベントの起動をホスト装置に促すための周辺装置側トリガをユーザーが記憶媒体を周辺機器に装着することにより発生させ、ホスト装置側では、周辺装置における周辺装置側トリガの発生を監視するためのトリガ報告要求コマンドを、主通信プロトコルに従い周辺装置に向けて発行する。これを受けた周辺装置からのトリガ発生報告情報をホスト装置側で受領し、当該トリガ発生報告情報の内容から周辺装置側トリガがありと判定された場合に、対象通信イベントを起動させる。これにより、通信イベントの実行を司るコマンドの発行方向が、ホスト装置側から周辺装置側への一方向に規制されているにも拘わらず、特定の通信イベントを周辺装置側でのユーザー操作により（ホスト装置側にて）自発的に起動することが可能となる。そして通信イベントとして、ファイル種別設定手段によって設定されたファイル種別のデータファイルを周辺装置にて記憶媒体から読み出し、当該データファイルのデータをホスト装置へ送信するデータアクセス通信処理が実行される。つまり、ホスト装置から離れた場所に配置された周辺装置に記憶媒体を装着した場合、周辺機器側でのユーザー操作によりデータファイルのデータをホスト装置へ送信でき、周辺装置がホスト装置から離れて接続されている場合でも、該データファイル送信を周辺装置側からの遠隔操作により行なうことができる。
【００１２】
主通信プロトコルとしては、本発明においてはＳＣＳＩプロトコル（ＳＣＳＩ−１、ＳＣＳＩ−２及びＳＣＳＩ−３のいずれか：特に、現在も多くのＯＳカーネルで使われつづけているＳＣＳＩ−２）を採用することができる。
【００１３】
そして、本発明の通信システムは、上記した前提構成に加えて、さらに、ホスト装置側に設けられ、データファイルの種別に対応したアプリケーションソフトを記憶するアプリ記憶手段と、
ファイル種別設定手段が設定したファイル種別に対応するアプリケーションソフトを起動して、該アプリケーションソフト上にてデータファイルを開くアプリ起動手段とを有してなることを特徴とする。このように構成することにより、記憶媒体からホスト装置へ送信されたデータファイルの種別に対応するアプリケーションソフトが起動され、そのデータを開いて再生したり閲覧したりすることができる。
【００１４】
ファイル種別選択手段は、周辺装置に設けられた手動操作部を含むように構成することができる。これにより、周辺装置にてユーザーが手動操作部を操作してデータアクセス通信処理を実行するファイル種別を選択することができる。具体的には、例えば、手動操作部は、ロータリースイッチとして構成することができる。このようにすれば、ロータリースイッチを回転させることにより、その停止位置に関連付けられたファイル種別をデータアクセス通信処理の対象として選択することができる。
【００１５】
トリガ報告要求コマンド発行手段は、トリガ報告要求コマンドを周辺装置に対し予め定められた時間間隔で繰り返し継続的に発行するものとすることができる。トリガ報告要求コマンドを繰り返し継続的に発行することで、周辺装置側トリガがどのようなタイミングで発生しても、ホスト装置側でこれを確実に取得することができる。
【００１６】
なお、本発明では、周辺装置との間でピア・ツー・ピア通信が可能な別プロトコルに準拠した通信インターフェース（例えば、ＩＥＥＥ１３９４ないし１３９４ｂ）をホスト装置側に組み込み、その通信インターフェースの端子に周辺装置を接続する構成も可能である。このハードウェア構成では、周辺装置側から上記通信インターフェース（すなわち、ホスト装置）に通信処理用のコマンドを発行することができるので、トリガ報告要求コマンド発行手段（ホスト装置側）やトリガ発生報告情報返信手段（周辺装置側）などの主通信プロトコルに従う機能を省略した、本発明に属さない参考技術態様へのシフトが一応可能ではある。ただし、この参考技術態様は、ホスト装置側のシステムに上記ピア・ツー・ピア通信を可能とするための別プロトコルを取り扱うモジュールも組み入れねばならず、通信インターフェースの高コスト化も免れ得ない欠点があるので現実的ではない。
【００１７】
他方、本発明においては、周辺装置とホスト装置とを、ホスト装置側からの周辺装置のポーリングは可能であって、該周辺装置側からのホスト装置の逆ポーリングが不能なシリアル通信機構を介して接続し、通信イベントを実行するためのホスト装置と周辺装置との間における情報転送を、ホスト装置が周辺装置をポーリングする形式にてシリアル通信により実行されるものとして構成できる。この構成では、周辺装置側からホスト装置をポーリングすることができない（つまり、周辺装置側に通信開始の決定権が与えられない）形になるので、本発明の効果がより有効に発揮されるばかりでなく、周辺装置を直接接続するためのホスト装置側の通信インターフェースが大幅に簡略化され、システム構成の軽量・低コスト化を図ることができる。このようなシリアル通信の規格として、ＵＳＢ（Universal Serial Bus）を例示できる。また、本明細書では、主通信プロトコルとしてＳＣＳＩプロトコルが採用され、かつ、ホスト装置とＵＳＢプロトコルに従うシリアル通信バスにより接続される周辺機器のことを、ＵＳＢ／ＳＣＳＩ型周辺機器とも称する。
【００１８】
ＵＳＢを採用する場合、周辺装置は、より具体的には以下のように構成できる。
すなわち、コマンドをホスト装置から受信してコマンド内容を解析するコマンド解析ステップと、該コマンドの解析内容を反映したデータ処理を実行するデータ処理ステップと、データ処理の結果を示す応答情報をホスト装置に返信する応答情報返信ステップとをこの順序で実行する形で周辺機器側の通信処理制御を行なうアクセス制御デバイスと、上記コマンド及び応答情報の相互転送を、前記ホスト装置が複数の前記アクセス制御デバイスをポーリングする形式にてシリアル通信により実行するシリアル通信部とを有するものとして構成する。アクセス制御デバイスは、シリアル通信部との間でコマンド及び応答情報を送受信する送受信部と、コマンドを解釈してその内容に応じたデータ処理を制御実行主体とからなるものとして構成される。なお、送受信部とシリアル通信部とは専用ＩＣに集積することができる。この構成では、ＵＳＢプロトコルに従うシリアル通信にバスを介して、ＳＣＳＩ等の主通信プロトコルに従うコマンドないし応答情報のやり取りを問題なく行なうことができる。
【００１９】
より具体的には、周辺装置側のシリアル通信部が、ホスト装置からのシリアル通信バスを接続する通信バス接続端子と、シリアル通信バスと送受信部との間でコマンド及び応答情報の転送通信処理を実行する通信制御部とを備え、該通信制御部が、通信バス接続端子に接続される通信処理のプロトコルエンジン部と、該プロトコルエンジン部にＦＩＦＯメモリからなる制御用の双方向エンドポイントを介して接続され、転送通信処理の制御を司る制御指令部とを備えたものとして構成できる。そして、送受信部は上記プロトコルエンジン部に対し、ＦＩＦＯメモリからなる該プロトコルエンジン部への入力用エンドポイントと、ＦＩＦＯメモリからなる該プロトコルエンジン部からの出力用エンドポイントとを介して入出力経路が分離された形で接続することができる。また、通信制御部は、ホスト装置側から、データアクセスの対象となる送受信部の特定情報と、該送受信部に対応するエンドポイントの特定情報とを受信して、各送受信部をターゲットデバイスとしてポーリングするものとなるように構成することができる。送受信のデータバッファとなるエンドポイントを送信側と受信側とで独立して設け、ポーリング時にいずれのエンドポイントを指定するかによって、データの転送方向も容易に特定することができる。
【００２０】
また本発明は、ホスト装置側に設けられ、対象通信イベントにて周辺装置から受信したデータファイルを該ホスト装置側に設けられたホスト装置側記憶装置上の予め定められた保存領域に保存するデータファイル保存手段を有するように構成することもできる。これにより、記憶媒体のデータファイルのホスト装置側への送信及び保存処理処理を、周辺機器側でのユーザー操作により実行でき、周辺機器がホスト装置から離れて接続されている場合でも、該データファイルの保存処理を周辺機器側からの遠隔操作により行なうことができる。
【００２１】
記憶媒体は、データの読出し、書き込み及び削除に係るデータアクセスが可能とされたものであり、
ホスト装置側に設けられ、データファイル保存手段による保存領域へのデータファイルの格納に対応して、周辺装置に対し記憶媒体上の送信元のデータファイルを削除させるファイルムーブイベントを起動するファイルムーブ制御手段を設けることができる。これにより、データファイルの移動（ムーブ）処理も、周辺機器側からの遠隔操作により行なうことができる。
【００２２】
ホスト装置側に、データファイルの保存領域への保存環境を設定する保存環境設定手段が設けられているように構成することもできる。これにより、ホスト装置側でデータファイルの保存環境を設定でき、周辺機器側からの遠隔操作により行なう保存処理をユーザーが望む環境（あるいは条件）にて実行することができる。
【００２３】
保存環境設定手段は、データファイルの保存領域を設定・変更するための保存領域設定変更手段を有するものとして構成できる。これにより、周辺機器側からの遠隔操作により、記憶媒体中のデータファイルをホスト装置側記憶装置内の所望の保存領域に保存することができる。
【００２４】
データファイルの移動（ムーブ）処理を可能とする前述の構成では、保存環境設定手段は、ファイルムーブ制御手段によるファイルムーブイベントの起動が禁止されるファイルコピーモードと、ファイルムーブイベントの起動が許可されるファイルムーブモードとを切り替えるファイル保存モード切替手段を有するものとすることができる。これにより、周辺機器側からの遠隔操作により記憶媒体中のデータファイルの保存モードを、コピーとムーブとの間で切り替え設定することができる。なお、コピー制限の付与されたファイルが検出された場合、自動的にムーブモードが選択されるように構成してもよい。
【００２５】
次に、トリガ報告要求コマンドは、周辺装置に対し該周辺装置自身に対する調査報告処理を要求する調査要求コマンドとすることができる。ホスト装置は、調査要求コマンドの発行に伴い、調査報告指示内容を示す予め定められたフレームフォーマットを有するとともに当該フレームの予め定められたフィールドに周辺装置側トリガの発生報告指示が書き込まれた調査指示データを作成する調査指示データ作成手段と、作成された調査指示データを周辺装置に送信する調査指示データ送信手段を有するものとして構成できる。また、周辺装置は、該調査指示データを受けて、予め定められたフレームフォーマットを有する調査報告データを生成する調査報告データ生成手段と、該調査報告データの予め定められたフィールドにトリガ発生報告情報を書き込むトリガ発生報告情報書き込み手段と、当該トリガ発生報告情報が書き込まれた調査報告データを応答情報としてホスト装置に送信する調査報告データ送信手段とを有するものとできる。
【００２６】
上記のように、ホスト装置側で周辺装置に調査要求コマンドを自発的に発行し、さらに、該調査要求コマンドの発行に続いて、所定のフレームフォーマットを有した調査指示データの予め定められたフィールドに周辺装置側トリガの発生報告指示を書き込んで、周辺装置に送り付けるようにする。そして、周辺装置側では、該調査指示データを受けて、予め定められたフレームフォーマットを有する調査報告データを生成するとともに、該調査報告データの予め定められたフィールドにトリガ発生報告情報を書き込んでホスト装置側に送り返す。これにより、種々の報告事項が規定される調査報告処理において、周辺装置側トリガの発生報告指示を周辺装置側に適確に伝えることができ、また、周辺装置側での周辺装置側トリガを調査報告データ中のトリガ発生報告情報により確実に把握することができる。
【００２７】
調査指示データ作成手段は調査指示データにおいて、格納するべき主格納情報として発生報告指示情報以外の情報が格納されるよう主通信プロトコルに規定されたフィールドに、発生報告指示情報を主格納情報に兼用させる形で書き込むものとすることができる。主通信プロトコルがＳＣＳＩプロトコルのごとく既製の通信規格に従う場合などにおいては、本発明において初めて発生する技術概念である（トリガ）発生報告指示情報用の専用フィールドを、調査指示データのフレーム内に新たに設定できる余地が存在しない場合がある。このとき、上記のように本来発生報告指示情報とは全く別の主格納情報用に用意されたフィールドに、発生報告指示情報（を含む付加情報）を当該主格納情報に兼用させる形で書き込むようにすれば、上記のごとく専用フィールドを設ける余裕がない場合でも発生報告指示情報を問題なく書き込むことができる。
【００２８】
例えば、周辺装置が、少なくともデータの読出しに係るデータアクセスが可能とされた記憶媒体が着脱可能に装着され、通信イベントにより該記憶媒体に対してデータアクセスを行なう記憶装置として構成される場合、調査指示データにおいて、主通信プロトコルに従い記憶媒体に対するデータの読み出し又は書き込みに係る通信イベントを実行する際に、該読み出し処理又は書き込み処理に割り当てられる当該記憶媒体上のメモリ領域のアロケーション長を設定するためのフィールドをアロケーション長設定フィールドとして確保することができる。この場合、アロケーション長情報作成手段は、該アロケーション長設定フィールドにおいてアロケーション長情報を主格納情報とする形で、該アロケーション長情報に兼用される発生報告指情報を書き込むものとできる。このようにすると、アロケーション長情報に兼用させる形で、主通信プロトコルに規定されていない固有の付加情報を周辺装置側へ送信することが可能となり、周辺装置側トリガの発生報告指示情報を周辺装置側へ問題なく送信できる。
【００２９】
主通信プロトコルにおいて、アロケーション長設定フィールドのサイズが一定ビット長に定められる場合、アロケーション長設定フィールドに上記付加情報を書き込む空き領域を形成するために、次のような巧妙な方法が存在する。すなわち、アロケーション長として設定可能な最大値をバイト単位にて表わしたときのビット数を、アロケーション長設定フィールドの総ビット数未満に設定する。そして、上記最大値を超えるアロケーション長がアロケーション長設定フィールドに記述された場合には、記述されたアロケーション長値とは無関係に上記最大値をアロケーション長の実設定値として定める。そして、該最大値を超える冗長なアロケーション長記述値に一義的に対応付ける形で、発生報告指示情報を含む、異なる付加情報内容を定義することができる。例えば、ＳＣＳＩプロトコルにおける後述のＩｎｑｕｉｒｙコマンドのＣＤＢを調査指示データとして使用する場合、このＣＤＢはＳＣＳＩプロトコル制御用に割り振られたフィールドばかりからなり、ユーザーが新たなデータを書き込むための余裕は一見全く存在しないように見える。しかし、本来はＳＣＳＩプロトコルの主格納情報であるアロケーション長の設定フィールドにおいて、上記のごとくアロケーション長として設定可能な最大値をアロケーション長設定フィールドの総ビット数未満に設定することで、該最大値を超える冗長なアロケーション長の設定記述値に、発生報告指示情報を含む付加情報としての意味をもたせることができる。
【００３０】
次に、ＳＣＳＩプロトコル等の場合、調査要求コマンドにはいくつかの種別が用意されている場合がある。この場合、どのような種別の調査要求コマンドをトリガ報告要求コマンドとして使用するかが問題になる場合がある。例えば、周辺装置が、データの読出し及び書込の双方に係るデータアクセスが可能とされた記憶媒体が着脱可能に装着され、通信イベントにより該記憶媒体に対してデータアクセスを行なう記憶装置として構成される場合、周辺装置には、記憶媒体の交換がなされた場合に当該記憶媒体の交換をホスト装置に通知するための交換通知情報を保持する交換通知情報保持手段と、ホスト装置から予め定められた第一種コマンドを受信した場合には、該コマンドの実行後に交換通知情報保持手段に保持されている交換通知情報をクリアし、同じく第一種コマンド以外の第二種コマンドを受信した場合は、該コマンドの実行後においても交換通知情報保持手段による交換通知情報の保持状態を保留する交換通知情報保持制御手段とが設けられる場合がある。この場合、トリガ報告要求コマンドとして使用する調査要求コマンドとしては、第二種コマンドの使用が強く推奨される。なぜならば、このような目的に第一種コマンドを使用した場合、交換通知情報を特に必要としないトリガ報告要求イベントであるにも拘わらず、処理終了時には交換通知情報がクリアされてしまい、ホスト装置側でこの交換通知情報を本来必要とするシステムコンポーネント（例えばファイルシステム）が、これを取得できなくなってしまう状況が発生し、記憶媒体の記憶内容が破壊されたりするといったトラブルにつながる場合があるためである。
【００３１】
調査要求コマンドとしては、例えば、周辺装置に対し該周辺装置自身の構成及び属性を特定する情報である構成／属性特定情報の報告を指示する構成／属性調査要求コマンドを採用することができる。このような周辺装置自身の構成及び属性の特定に係る通信イベントは、主通信プロトコル上では、例えばどのような種別の周辺装置（デバイス：ＳＣＳＩの場合、ターゲット）が接続されているのかを、装置立ち上げ時に認識するために実行する目的で使用されることが多いが、これを本発明では、周辺装置における周辺装置側トリガの発生を監視用に、装置立ち上げ後においても所定のタイミングで繰り返し発行する。該構成／属性調査要求コマンドにより規定される通信イベントは、本来的には（装置使用中においては不変となる）周辺装置のいわば「素性」を認識することのみが目的であり、例えば、コマンドの発生の前後で記憶媒体の交換があった場合において、交換通知情報の保持状態等に不要な影響を与えるべきではないので、上記の第二種コマンドして用意することが望ましいのである。これを周辺装置側トリガの発生監視用に流用することで、該コマンドを何度繰り返し発行しても交換通知情報の保持状態には影響が及ばず、前述のトラブルを防ぐことができる。
【００３２】
主通信プロトコルがＳＣＳＩプロトコルである場合、上記の調査要求コマンドとしてＩｎｑｕｉｒｙ（照会）コマンドを使用することが望ましい。この場合、ホスト装置（イニシエータ）から周辺装置（ターゲット）に送られる調査指示データは、Ｉｎｑｕｉｒｙコマンドの詳細内容を記述する、ＣＤＢ（Command Descriptor Block：コマンド記述ブロック、コマンド毎にフレーム形式がＳＣＳＩプロトコルにて詳細に規定されている）であり、周辺装置（ターゲット）からホスト装置（イニシエータ）に返される調査報告データはＩｎｑｕｉｒｙデータ（フレーム形式がＳＣＳＩプロトコルにて詳細に規定されている）である。表１はＩｎｑｕｉｒｙコマンドに対応するＣＤＢの形式を示すものである。
【００３３】
【表１】
0004618559.tif 000002
【００３４】
ＳＣＳＩプロトコルでは、ホスト装置（イニシエータ）側で周辺装置（ターゲット）から返されるＩｎｑｕｉｒｙデータの種別を指定することができる。具体的には、Ｉｎｑｕｉｒｙコマンドに対応するＣＤＢには、ＥＶＰＤ（Enable Vital Product Data）と称されるフィールド（１ビット）と、ページコード（８ビット）と称されるフィールドが形成されている。表２に示すごとくＥＶＰＤフィールドに「０」が記述されているＣＤＢ（以下、ＣＤＢ（０）と略記する）に対しては、Ｉｎｑｕｉｒｙデータとして、表３に示すような、周辺装置の仕様に関係なく形式及び内容が共通に定められたスタンダードＩｎｑｕｉｒｙデータ（以下、Ｓ／Ｉデータと略称する）が返される。Ｓ／Ｉデータのうち、ＳＣＳＩプロトコルによる通信制御に直接使用しない空き領域を、トリガ発生報告情報等、本発明特有の応答情報（以下、特有応答情報という）の記述フィールドとして使用することができる。
【００３５】
【表２】
0004618559.tif 000003
【００３６】
【表３】
0004618559.tif 000004
【００３７】
例えば、Ｓ／Ｉデータでは、デバイスのベンダに固有の情報を記述するための一定長のフィールド（以下、ベンダ固有領域という）が設けられており、このフィールドに空き領域がある場合は、これを本発明特有の応答情報の記述フィールドとして使用することができる。また、ビット数は僅少であるが、次のような空き領域も、本発明特有の応答情報の記述フィールドとして利用することができる。すなわち、８ビットに設定された追加データ長フィールド（Ｓ／Ｉデータのバイト５以降のデータ長）は、Ｓ／Ｉデータにおけるデータフレーム長の上限から、最大データ長が８ビットに満たないことがある。この場合、追加データ長フィールドに上記最大データ長を超えるデータ長が指定されている場合、追加データ長フィールドの記述内容によらず、最大データ長が指定されることとなる。その結果、最大データ長を超えるビット値の範囲は、実質的に特有応答情報を記述するための「空き領域」として活用できる。
【００３８】
一方、表４のごとく、ＥＶＰＤフィールドに「１」が記述されているＣＤＢ（以下、ＣＤＢ（１）と略記する）は、ホスト装置（イニシエータ）により詳細な、あるいはデバイス固有の情報を提供するための、表５のようなＶＰＤ（Vital Product Data）と称される特殊なＩｎｑｕｉｒｙデータが返される。
【００３９】
【表４】
0004618559.tif 000005
【００４０】
【表５】
0004618559.tif 000006
【００４１】
ＶＰＤにはいくつかの種類が規定されており、どの種別のＶＰＤを指定するかをＣＤＢのページコードフィールドに記述する（具体的には、ページコードリスト（ページコード：００ｈ）、ＦＲＵ  ＡＳＣＩＩ情報（ページコード：０１ｈ〜７Ｆｈ）、ユニットシリアル番号（ページコード：８０ｈ）、動作モード定義（ページコード：８１ｈ）、ＡＳＣＩＩ動作モード定義（ページコード：８２ｈ）、及びベンダ固有の形式（ページコード：Ｃ０ｈ〜ＦＦｈ））。周辺装置はページコードフィールドで指定された種類のＶＤＰを作成し、ホスト装置に返信する。特に、ＦＲＵ  ＡＳＣＩＩ情報形式及びＡＳＣＩＩ動作モード定義形式のＶＰＤは、ページ長フィールドに続いて、必要なＡＳＣＩＩ情報を書き込むフィールドのデータ長のフィールドと、そのデータ長で指定されるＡＳＣＩＩ情報フィールドとが形成されるが、以降のフィールドはベンダ固有領域として、特有応答情報を記述するための「空き領域」として活用できる。例えば、ＡＳＣＩＩ動作モード定義形式のＶＰＤにおいて、ＡＳＣＩＩ情報フィールドを、デバイスのバージョン情報などを記述するためのバイト数の小さい（例えば１〜３バイト）のフィールドとして定義すれば、ベンダ固有領域となる残りのフィールドの長さを比較的大きく確保することができ、ある程度サイズの大きい特有応答情報を書き込むことが可能となる。
【００４２】
ＳＣＳＩプロトコルでは、ターゲット（周辺装置）、あるいはこれに含まれる１又は複数のロジカルユニット（周辺装置が記憶装置である場合は、１又は複数の記憶媒体装着スロットである）上で事象や状態の変化が、ホスト装置（イニシエータ）の動作とは非同期に発生した場合、これを該イニシエータに通知するためのユニット・アテンション・コンディションを生成する機能が設けられている。周辺装置にて記憶媒体の交換が発生した場合、その交換通知情報が生成されるユニット・アテンション・コンディションに反映されることとなる。ＳＣＳＩプロトコルでは、そのようなユニット・アテンション・コンディションを保留中の周辺装置に向けてＩｎｑｕｉｒｙコマンドが発行された場合、該周辺装置は保留中のユニット・アテンション・コンディションをクリアせずに（ただし、Ｃｏｐｙ  Ａｂｏｒｄｅｄ（ＣＡ）状態の生成前に限る）、発行されたＩｎｑｕｉｒｙコマンドが実行される（Ｉｎｑｕｉｒｙデータの作成・返信）。従って、トリガ発生報告情報など特有応答情報の返信要求イベントを起動する際にあっては、Ｉｎｑｕｉｒｙコマンドを用いることで、記憶媒体の交換がなされた場合も、その交換通知情報を含むユニット・アテンション・コンディションが保持され、交換通知情報の喪失を防ぐことができる。Ｉｎｑｕｉｒｙコマンドが前述の第二種コマンドに該当するものであることは明らかである。
【００４３】
なお、ＳＣＳＩプロトコルでは、Ｒｅｑｕｅｓｔ  Ｓｅｎｓｅコマンドと称される別の調査要求コマンドも使用が可能である。Ｒｅｑｕｅｓｔ  Ｓｅｎｓｅコマンドは、周辺装置（ターゲット）に例えばエラー原因や種類などを報告するためのセンスデータを要求するコマンドであり、調査報告データとして該センスデータが規定フォーマットのフレームに記述されて返される。本発明においては、このセンスデータの空き領域を利用してトリガ発生報告情報など特有応答情報を書き込み、ホスト装置に返すことも原理的には可能である。しかし、ＳＣＳＩプロトコルでは、ユニット・アテンション・コンディションを保留中の周辺装置に向けてＲｅｑｕｅｓｔ  Ｓｅｎｓｅコマンドが発行された場合、該周辺装置は保留中のユニット・アテンション・コンディションをクリアするように（ただし、Ｃｏｐｙ  Ａｂｏｒｄｅｄ（ＣＡ）状態の生成前に限る）決められており、記憶媒体の交換がなされた場合に、その交換通知情報を含むユニット・アテンション・コンディションがクリアされ、交換通知情報が喪失する惧れがある。つまり、Ｒｅｑｕｅｓｔ  Ｓｅｎｓｅコマンドは前述の第一種コマンドに該当するものである。
【発明を実施するための最良の形態】
【００４４】
以下、適宜図面を参照して本発明の第１の実施形態に係る通信システム１について説明する。図１は通信システム１に適用されるマルチリーダライタ２（記憶装置：周辺装置の一例）の斜視図、図２はマルチリーダライタ２の概略構成を示すブロック図、図３は通信システム１に適用されるＰＣ３（ホスト装置の一例）の概略構成を示すブロック図である。なお、以下に説明する通信システム１の構成は、本発明を具現化するための単なる一例であり、本発明の要旨を変更しない範囲で構成を適宜変更できることは当然である。
【００４５】
図１（ａ）に示すように、マルチリーダライタ２は、その前面に着脱可能な記憶媒体として、第１メモリーカード１１（例えばＣＦ）を挿入するための第１スロット１６と、第２メモリーカード１２（例えばＳＭ）を挿入するための第２スロット１７と、第３メモリーカード１３（例えばＭＳ）を挿入するための第３スロット１８と、第４メモリーカード１４（例えばＳＤ）を挿入するための第４スロット１９とを備えている。また、本体側面部にロータリースイッチ２２を備える。ロータリースイッチ２２は、回転操作可能なダイアル操作部２２ａを有し、ダイアル操作部２の外周面をユーザーが手で回転操作させると、その停止位置に応じた出力をなすものである。なお、本実施形態では、周辺装置としてマルチリーダライタ２を例示して説明するが、シングルスロットタイプのリーダライタにも適用可能である。また、ＣＦやＳＭなどのメモリーカードに代えてＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭあるいはリムーバブルハードディスクなどのディスク記録メディアとする場合は、該ディスク記録メディアを単数あるいは複数着脱可能に挿入可能な挿入部を備えてなる、いわゆるチェンジャー型ドライブ周辺装置となる。該周辺装置を備えて構成された通信システムにも本発明は適用可能である。
【００４６】
マルチリーダライタ２はＵＳＢ／ＳＣＳＩ型周辺機器として構成され、その背面には、図１Ｂ及び図２に示すように、ＵＳＢケーブルを接続するためのＵＳＢ端子２４が設けられている。また、本実施形態では、主通信プロトコルとしてＳＣＳＩ−２のプロトコルが採用されているものとする。図２に示すように、マルチリーダライタ２は、その内部に、各構成部を制御するＣＰＵ２７と、制御プログラムや種々のデータ等を格納するＲＯＭ２８と、ＣＰＵ２７による演算の作業領域となるＲＡＭ２９と、入出力制御ＬＳＩ３１と、ＵＳＢチップ３２とを備え、これらがバス３３を介して相互にデータ転送が可能なように接続されている。マルチリーダライタ２は、該マルチリーダライタ２が接続されるＰＣ３との間で、ＳＣＳＩプロトコルに従うデータ通信を行なう。
【００４７】
具体的には、ＲＯＭ２８には、ＳＣＳＩプロトコルに基づいて作成された通信制御プログラムと、ＰＣ３から送信されたデータ（ＣＤＢ）を解析するために用いられる解析データのテーブルリストが格納され、ＣＰＵ２７は、リーダライタ２がＳＣＳＩ対応機器のターゲットとして機能するための、受信したＳＣＳＩコマンドに対応した通信イベントの実行制御処理を行なう。また、各スロット１６〜１９に着脱可能に装着される各第１〜第４メモリーカード１１〜１４は、例えば、コンパクトフラッシュ（ＣＦ：登録商標）、スマートメディア（ＳＭ：登録商標）、メモリースティック（ＭＳ：登録商標）、ＳＤメモリーカード（ＳＤ：登録商標）など、ＰＣ３によるデータの書き込み、書き換え、消去、読出し、メディア装着確認等のデータアクセスが可能なフラッシュメモリを搭載したカード型記憶メディアである。なお、記憶デバイスとしては、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、リムーバブルハードディスク等の読出し専用の記憶媒体からデータの読出しを行なうドライブ装置を用いることもできる。
【００４８】
マルチリーダライタ２の本体側面部に備えられたロータリースイッチ２２は、入力制御ＬＳＩ３０に接続され、ダイアル操作部２２ａをユーザーが回転操作して、所定の位置で停止させることにより、その停止位置に対応した出力をなすものである。ダイアル操作部２２ａの複数の停止位置が、後述するように、転送するファイル種別の選択に用いられる。
【００４９】
ＳＣＳＩプロトコルに従い、ＰＣ３はホスト装置として通信イベントの起動決定権が与えられ、該ＰＣ３（ホスト装置：イニシエータ）に接続されるマルチリーダライタ２は、ＰＣ３（ホスト装置）の通信対象（ターゲット）となる。そして、通信イベントを実行命令するためのＳＣＳＩコマンドがＰＣ３（ホスト装置）からマルチリーダライタ２（周辺装置）に向けて順次発行される一方、発行されたコマンドを受領したマルチリーダライタ２（周辺装置）が当該ＳＣＳＩコマンドに対応するデータ処理を逐次実行し、その実行結果に応じた応答情報をホスト装置側に返信する。また、ＳＣＳＩコマンドの発行方向は、ＰＣ３（ホスト装置）側からマルチリーダライタ２（周辺装置）側への一方向に規制されている。
【００５０】
次に、マルチリーダライタ２には、予め定められた内容の対象通信イベントの起動をホスト装置に促すための周辺装置側トリガを、該周辺装置側でのユーザー操作に基づいて発生させる周辺装置側トリガ発生手段の機能が具備されている。具体的には、スロット１６〜１９にメモリーカード（記憶媒体）１１〜１４の非装着状態から装着状態への移行を検出し、その検出信号を周辺装置側トリガとして発生させる、周辺装置側トリガ発生手段を構成する記憶媒体装着検出信号発生手段が設けられている。スロット１６〜１９にメモリーカード１１〜１４を装着することで、記憶媒体装着検出信号のレベルが変化する。この記憶媒体装着検出信号を周辺装置側トリガ信号として利用できる。
【００５１】
記憶媒体装着検出信号は外部メモリ入出力制御部５１〜５４に入力され、さらに外部メモリ入出力制御部５１〜５４からデータバス上に出力されたトリガ検出データ信号は、後述のＩｎｑｕｉｒｙコマンド実行時に参照され、トリガ検出データが「トリガあり」の状態を示していれば作成されるＩｎｑｕｉｒｙデータに「トリガあり」の内容で書き込まれる。つまり、スロット１６〜１９にメモリーカード１１〜１４が操作されているか否かの検出は、ＰＣ３からの指示に従って行われる。なお、Ｉｎｑｕｉｒｙデータ作成後は、トリガ検出データ信号はリセットされる。
【００５２】
次に、ＵＳＢチップ３２には、各外部メモリ入出力制御部５１〜５４に共通して設けられたコマンド・データ・ステータス送受信部（以下、単に「送受信部」という；転送要素送受信部）３４１と、ＵＳＢ端子（通信バス接続端子）２４に接続されたＵＳＢプロトコルエンジン（プロトコルエンジン部）３２１と、転送通信処理の制御を司るＵＳＢコントロール部（制御指令部）３３１とが集積されてなる。
【００５３】
ここで、ＵＳＢプロトコルエンジン（プロトコルエンジン部）３２１と、ＵＳＢコントロール部（制御指令部）３３１とで構成される部分が通信制御部に該当し、また、この通信制御部と、ＵＳＢ端子（通信バス接続端子）２４とで構成される部分がシリアル通信部に該当する。
【００５４】
各ＵＳＢコントロール部３３１は、対応するＵＳＢプロトコルエンジン３２１にＦＩＦＯメモリからなる制御用の双方向エンドポイントを介して接続されている。また、送受信部３４１は、ＵＳＢプロトコルエンジン３２１に対し、ＦＩＦＯメモリからなるＵＳＢプロトコルエンジン３２１への入力用エンドポイントと、ＦＩＦＯメモリからなるＵＳＢプロトコルエンジン３２１からの出力用エンドポイントとを介して入出力経路が分離された形で接続されている。
【００５５】
ＵＳＢプロトコルエンジン３２１とＵＳＢコントロール部３３１とで構成される通信制御部は、それぞれ、ＰＣ３側から、対象となる送受信部３４１の特定情報と、該送受信部３４１に対応するエンドポイントの特定情報とを受信して、送受信部３４１をターゲットデバイスとしてポーリングすることにより、データアクセス先となる外部メモリ入出力制御部５１〜５４とデータ送受信の方向とを特定する。なお、当然のことであるが、ターゲットデバイスとなる送受信部３４１側からホスト装置であるＰＣ３を逆ポーリングすることは、ＵＳＢプロトコルでは許されていない。
【００５６】
送受信部（転送要素送受信部）３４１は、ＵＳＢプロトコルエンジン３２１との間でＳＣＳＩプロトコルに従う送受信するものである。ここで、転送要素とは、ＰＣ３との間でＵＳＢバスを介してやり取りされる、通信イベントの内容を特定するコマンド（ＳＣＳＩコマンド）と、通信イベント処理実行に対応して周辺装置側から返信される応答情報（ステータス）とを含む（ＳＣＳＩコマンドに特定された処理内容が、メモリーカードに記憶されたデータの送受信に関係するデータアクセス処理であった場合は、そのデータも転送要素となる）。
【００５７】
また、送受信部３４１は、図３に示すように、コントロールレジスタ８１（図４参照）、ステータスレジスタ８２（図５参照）、コマンドバッファ８３、ＳＣＳＩステータスバッファ８４、ＳＣＳＩデータＤＭＡアドレスレジスタ８５、ＳＣＳＩデータＤＭＡカウントレジスタ８６を有する。これらの詳細については後述する。
【００５８】
ＣＰＵ２７は、対象となる送受信部３４１が受信したＳＣＳＩコマンドを解析するコマンド解析ステップと、該ＳＣＳＩコマンドに特定された内容の通信イベントを、対象となる外部メモリ入出力制御部５１〜５４（つまり、リーダライタ２をターゲットとした場合、それに含まれている複数のロジカルユニット）との間で行なうイベント実行ステップと、ステータスを送受信部３４１に送信させるステータス送信ステップと、をこの順序で実行する。
【００５９】
マルチリーダライタ２では、挿入されたメモリーカードに対してデータの読み書きを行なう場合は、該メモリーカードからデータを読み出すために使用するメモリ領域あるいは該メモリーカードにデータを記憶するために使用するメモリ領域の割り当てが行われる。この割り当てられるメモリ領域のデータ長はアロケーション長と呼ばれている。一般に、該アロケーション長はマルチリーダライタ２にアクセスするＰＣ３からの指定されたデータ長に設定されるが、本実施形態では、マルチリーダライタ２で設定可能なアロケーション長の最大値が、ＰＣ３側から指定し得る最大数値未満に設定されている。
【００６０】
ＰＣ３は、図６に示すように、各構成部を制御するＣＰＵ４１と、ＲＯＭ４２と、ＲＡＭ４３と、各種ソフトウェアプログラムやデータが格納されたＨＤＤ４４と、ビデオコントロールＬＳＩ４５と、ＵＳＢチップ４６と、ビデオ端子４７と、複数の入出力ポートを有するＵＳＢ端子４８などを備え、これらがバス４９を介して相互にデータ転送が可能なように接続されている。これら各部はいわゆるマザーボードと呼ばれるメイン制御基板に一体的に組み込まれている。ビデオ端子４７にはビデオケーブルを介してディスプレイ５６が接続されている。ＵＳＢ端子４８はＵＳＢハブ機能を有する。このＵＳＢ端子４８には、キーボード５７及びマウス５８等の入力手段が接続されており、さらに、マルチリーダライタ２が接続されている。
【００６１】
ＲＯＭ４２には、マルチリーダライタ２へ送信されるデータであって、マルチリーダライタ２のＣＰＵ２７に所定の処理を実行させる指示データが格納されている。該指示データはテーブルリスト化された状態でＨＤＤ４４又はＲＯＭ４２に格納されている。また、ＨＤＤ４４のプログラム格納領域には、ＰＣ３のオペレーションシステムであるＷｉｎｄｏｗｓ２０００（登録商標）のＳＰ３（以下「Ｗｉｎ２０００」と称する）や、マルチリーダライタ２へのデータの書き込み及び読み出しを可能とするためのＲ／Ｗアプリケーションなどのソフトウェアプログラムが格納されている。これらソフトウェアプログラムがＣＰＵ４１によって読み出されて所定の演算処理がなされることにより、各アプリケーションがＰＣ３において動作可能となる。また、上記プログラム格納領域には、マルチリーダライタ２との間でＳＣＳＩプロトコルに従うデータ通信プログラムが格納されている。本実施形態では、Ｗｉｎ２０００が搭載されたＰＣ３を例示して説明するが、Ｌｉｎｕｘシリーズ、ＭａｃＯＳシリーズなどのＯＳが搭載されたものであってもよい。もちろん、Ｗｉｎｄｏｗｓ２０００のＳＰ３をＳＰ４やＷｉｎｄｏｗｓＸＰに代替することも可能である。
【００６２】
さらにＨＤＤ４４のプログラム格納領域には、マルチリーダライタ２から読み出されたデータを開くための各種アプリケーションソフト（例えば、静止画データを閲覧するための画像閲覧ソフト、音楽データを再生する音楽再生ソフト）が格納されている。
【００６３】
上記Ｒ／Ｗアプリケーション、ＰＣ３側のデータ通信プログラム及びリーダライタ２側の制御プログラムは、互いに協働して、以下の各手段を機能的に実現する処理を行なう。
・ファイル種別要求コマンド発行手段：ＰＣ３（ホスト装置）側のＲ／Ｗアプリケーションにより機能実現され、リーダライタ２（周辺装置）におけるロータリースイッチ２２のダイアル操作部２２ａの停止位置を監視するために、ＳＣＳＩプロトコル（主通信プロトコル）に従い、ファイル種別報告情報を応答情報として要求するためのファイル種別要求コマンドを、Ｉｎｑｕｉｒｙコマンド、具体的には前述のＣＤＢ（１）を用いたＩｎｑｕｉｒｙコマンド（以下、Ｉｎｑ（１）コマンドという）として、リーダライタ２（周辺装置）に向けて発行する。
・ファイル種別報告情報返信手段：リーダライタ２側の制御プログラム（ＲＯＭ２８内）により機能実現され、ロータリースイッチ２２のダイアル操作部２２ａの停止位置を反映したファイル種別報告情報を応答情報としてＰＣ３（ホスト装置）にＳＣＳＩプロトコルに従い返信する。
・ファイル種別設定手段：Ｒ／Ｗアプリケーションにより機能実現され、ファイル種別報告情報をリーダライタ２から受領して、選択されたファイル種別を読み出し対称として設定する。
・トリガ報告要求コマンド発行手段：ＰＣ３（ホスト装置）側のＲ／Ｗアプリケーションにより機能実現され、リーダライタ２（周辺装置）においてボタン（手動操作部）３が操作されるに伴い発生する周辺装置側トリガを監視するために、ＳＣＳＩプロトコル（主通信プロトコル）に従い、トリガ発生報告情報を応答情報として要求するためのトリガ報告要求コマンドを、Ｉｎｑｕｉｒｙコマンド、具体的には前述のＣＤＢ（１）を用いたＩｎｑｕｉｒｙコマンド（以下、Ｉｎｑ（１）コマンドという）として、リーダライタ２（周辺装置）に向けて発行する。
・トリガ発生報告情報返信手段：リーダライタ２側の制御プログラム（ＲＯＭ２８内）により機能実現され、周辺装置側トリガの発生の有無を反映したトリガ発生報告情報を応答情報としてＰＣ３（ホスト装置）にＳＣＳＩプロトコルに従い返信する。
【００６４】
・報告情報受領手段：Ｒ／Ｗアプリケーションにより機能実現され、トリガ発生報告情報をリーダライタ２から受領する。
・対象通信イベント起動手段：Ｒ／Ｗアプリケーションにより機能実現され、受け取ったトリガ発生報告情報の内容に基づいて周辺装置側トリガの有無を判定し、該周辺装置側トリガがありと判定された場合に、対象通信イベント、具体的には、リーダライタ２に装着されたメモリーカード１１〜１４に格納されたデータファイルの中から選択されたファイル種別のデータファイルを読み出す。
・アプリ起動手段：メモリーカード１１〜１４から読み出されたデータファイルのデータを開くために、そのデータに対応するアプリケーションソフトを起動する。
【００６５】
まず、図７を用いて、ＳＣＳＩコマンドに基づいて、ＰＣ３と、ＵＳＢ−Ｉ／Ｆ７８を介して該ＰＣ３とＵＳＢ接続されたリーダライタ２との間で行われるデータ通信の概略について説明する。ＯＳ７０は、ＧＵＩ（Graphical User Interface）７１とファイルシステム７２とＯＳカーネル７３を備えてその基幹システムが構成されている。ＧＵＩ７１は、コンピュータグラフィックスとマウスなどのポインティングデバイスを用いてユーザーの入力操作を実現するユーザインターフェースであり、ファイルシステム７２は、コンピュータ内部でファイルやフォルダを用いてデータを管理する方式及びその管理システムである。また、ＯＳカーネル７３はアプリケーションや周辺機器を監視する等の基本機能を実装したソフトウェアである。なお、ＰＣ３には、リーダライタ２へのアクセスが可能なようにドライバソフト７４が予めインストールされており、該ドライバソフト７４はモジュール化された状態でＯＳカーネル７３に実装されている。
【００６６】
例えば、リーダライタ２へアクセスするためのアプリケーションの一例であるエクスプローラ７５とＲ／Ｗアプリケーション７６とがＰＣ３上で起動されたとする。エクスプローラ７５は周知のごとく、ファイルやフォルダを管理するためのものである。エクスプローラ７５はＯＳ７０のシステムに準拠して作成されており、一般には、ＯＳ７０の一機能として認識されている。従って、エクスプローラ７５はファイルシステム７２を介してリーダライタ２と通信する。一方、Ｒ／Ｗアプリケーション７６は、例えばリーダライタ２の製造メーカが開発した独自のアプリケーションソフトであって、リーダライタ２に挿入された記録メディアに対してデータを書き込む処理あるいはデータを読み出す処理を行なうものである。一般に、Ｒ／Ｗアプリケーション７６は、ファイルシステム７２の仕様が公開されていないため、ＯＳ７０には準拠せずに作成される。
【００６７】
まず、エクスプローラ７５からリーダライタ２にアクセスする場合について説明する。ＯＳ７０が起動され、エクスプローラ７５が起動されると、エクスプローラ７５によって、Ｉｎｑｕｉｒｙコマンドがファイルシステム７２を介してＯＳカーネル７３に発行される。なお、Ｉｎｑｕｉｒｙコマンドを含む全てのＳＣＳＩコマンドは、ＯＳカーネル７３において仮想的に設けられたＳＣＳＩコマンド処理入口７９に対して発行されるようになっている。上記Ｉｎｑｕｉｒｙコマンドが発行されると、リーダライタ２へは対応するＣＤＢ（ここではＣＤＢ（０）；表２）が送信され、リーダライタ２は応答情報として、その型式やデバイス名、ＳＣＳＩ−ＩＤ、ＬＵＮ（Logical Unit Number：ロジカルユニット番号）の有無、メモリーカードの種別などの構成情報を含むＩｎｑｕｉｒｙデータ（この場合、Ｓ／Ｉデータ（表３））を作成し、ＰＣ３に返信する。これにより、リーダライタ２が認識される。
【００６８】
リーダライタ２が認識されると、ＧＵＩ７１によってエクスプローラ７５上にリーダライタ２のドライブアイコンが生成される。そして、ユーザーがマウスなどを用いて上記ドライブアイコンにアクセスするなどして、データの読出指示が入力されると、エクスプローラ７５はファイルシステム７２に働きかけて、ＯＳカーネル７３に対してＲｅａｄコマンド（ＳＣＳＩコマンドの一例）を発行させる。一方、同様に、書込指示を入力すると、ＯＳカーネル７３に対してＷｒｉｔｅコマンド（ＳＣＳＩコマンドの一例）を発行させる。これらのコマンドデータがＵＳＢなどのＩ／Ｆを介してリーダライタ２に転送され、該コマンドに従った読み出し若しくは書き込みがリーダライタ２側で実行される。なお、上記ＩｎｑｕｉｒｙコマンドはＰＣ３にリーダライタ２が接続されたときや、リーダライタ２が接続された状態でＰＣ３の電源がリセットされたときにも発行される。
【００６９】
次に、Ｒ／Ｗアプリケーション７６からリーダライタ２にアクセスする場合について説明する。Ｒ／Ｗアプリケーション７６が起動されると、ＯＳカーネル７３に対してＲ／Ｗアプリケーションにのみデータバスを開放する要求が出される。ＯＳカーネル７３はこの要求を受けてＲ／Ｗアプリケーション７６にデータバスを占有させる。換言すれば、ファイル７２からＳＣＳＩコマンド処理入口７９に対して発行されたＳＣＳＩコマンドを該ＳＣＳＩコマンド処理入口７９で受け入れないようにする。従って、Ｒ／Ｗアプリケーション７６の起動中は、ファイルシステム７２はリーダライタ２へアクセスできなくなる。また、Ｒ／Ｗアプリケーション７６が起動されると、ＧＵＩ７１によってＲ／Ｗアプリケーション７６でプログラムされた入力画面（ユーザインターフェース画面）がディスプレイ上に表示される。また、ドライバソフト７４によって、ＩｎｑｕｉｒｙコマンドがＯＳカーネル７３に発行されて、その応答情報であるＩｎｑｕｉｒｙデータ（この場合、表３のＳ／Ｉデータ）の返信により、リーダライタ２の型式やデバイス名などの構成情報が取得される。これにより、リーダライタ２が認識される。その後、ドライバソフト７４によってＯＳカーネル７３に対して出されたＲｅａｄコマンドやＷｒｉｔｅコマンドに従って、リーダライタ２側でデータの読み出し若しくは書き込みが実行される。
【００７０】
なお、リーダライタ２の認識は次のようにして行われる。すなわち、まず、ＯＳカーネル７３に対してＩｎｑｕｉｒｙコマンドを発行した際に生成されるＣＤＢ（０）（表２）をリーダライタ２に送信する。該ＣＤＢ（０）を受信したリーダライタ２側では、ＣＤＢ（０）に含まれる種々の情報を参照して、該情報に従った構成情報を生成し、該構成情報を含むＳ／Ｉデータ（表３）をＰＣ３へ返信する。この返信されたＳ／Ｉデータに基づき、リーダライタ２が認識される。
【００７１】
なお、リーダライタ２（ターゲット：周辺装置）上のいずれかのスロット（あるいは外部メモリ入出力制御部：ロジカルユニット）上で、メモリーカードの交換（つまり、事象や状態の変化）がなされると、ＰＣ３（イニシエータ）に通知するためのユニット・アテンション・コンディションが生成される。ＰＣ３のファイルシステムは、このユニット・アテンション・コンディションを参照してメモリーカードの交換を認識し、ＦＡＴ（ファイル・アロケーション・テーブル）等のファイル情報の更新を行なう。このようなユニット・アテンション・コンディションを保留中のロジカルユニットに向けてＩｎｑｕｉｒｙコマンドが発行された場合、該ロジカルユニットは保留中のユニット・アテンション・コンディションをクリアせずに、Ｉｎｑｕｉｒｙコマンドを実行する。つまり、Ｉｎｑｕｉｒｙコマンドが実行された場合でも、該ユニット・アテンション・コンディションに反映されているメモリーカードの交換通知情報は消去されずに保持されるので、ＰＣ３のファイルシステムは、交換後のメモリーカードに対するアクセスを問題なく行なうことができる。
【００７２】
次に、リーダライタ２のより具体的な動作について、図８のフローチャートを用いて説明する。なお、以下の説明では、１つのスロットに対する処理についてのみ行っている。複数のスロットに対しては、当該処理が割り込み処理により並列して行われる。ＣＰＵ２７は、ＰＣ３からＵＳＢケーブルを介して供給される電源（バスパワー）によりＯＮされると（Ｔ１）、ＵＳＢチップ３２からの割り込みを許可する状態となる（Ｔ２）。ＵＳＢチップ３２では、ＰＣ３側からＵＳＢバス上を伝送してきたコマンドを、ＵＳＢプロトコルエンジン３２１及びＵＳＢコントロール部３３１の動作によって送受信部３４１に転送する。なお、ここではまだ、コマンドを受け取ったことを示すレスポンスを返さない。
【００７３】
送受信部３４１は、コマンドを受け取ると、ステータスレジスタ８２の「コマンド受信完了」ｂｉｔを１にし、ＣＰＵ２７に割り込みを掛ける。この場合、ＣＰＵ２７は、ステータスレジスタ８２を参照することで何のための割り込みなのかを把握することができる。また、受け取ったコマンドは、コマンドバッファ８３に格納される。
【００７４】
ＣＰＵ２７は、割り込みがあり（Ｔ３：ＹＥＳ）、ＳＣＳＩコマンドの受信が完了すると（Ｔ４：ＹＥＳ）、送受信部３４１が受け取ったコマンドの解釈を行なう（Ｔ５）。すなわち、ＣＰＵ２７は、送受信部３４１のステータスレジスタ８２を参照し、送受信部３４１がコマンドを受け取ったことを知ると、コマンドバッファ８３からコマンドを取得して、それを解釈する。これにより、ＣＰＵ２７は、ＳＣＳＩデータの有無や伝送方向、大きさを把握する。
【００７５】
ＣＰＵ２７は、コマンドの解釈によって、ＳＣＳＩデータが無いと把握した場合（例えば、ＩｎｑｕｉｒｙコマンドやＴｅｓｔ  Ｕｎｉｔ  Ｒｅａｄｙコマンドの場合）およびＳＣＳＩデータの伝送方向がデバイス→ＰＣ（送信）であると把握した場合（例えば、Ｒｅａｄコマンドの場合）には（Ｔ６：ＹＥＳ）、送受信部３４１のコントロールレジスタ８１の「コマンド受付完了」ｂｉｔと「ステータスレジスタクリア」ｂｉｔに１を書き込む（Ｔ７）。
【００７６】
送受信部３４１は、Ｔ７で「コマンド受付完了」ｂｉｔに１が書き込まれた時点で、ＰＣ３に対してコマンドを受け取ったことを示すレスポンスを返す。ここで、ＰＣ３側は、レスポンスを受け取ると、ＳＣＳＩデータが無い場合には次がＳＣＳＩステータスの受信で、ＳＣＳＩデータの伝送方向がデバイス→ＰＣである場合には次がＳＣＳＩデータの受信であるので、デバイス待ちの状態に遷移する。
【００７７】
他方、ＣＰＵ２７は、コマンドの解釈によって、ＳＣＳＩデータの伝送方向がＰＣ→デバイス（受信）であると把握した場合（例えば、Ｗｒｉｔｅコマンドの場合）には（Ｔ６：ＮＯ）、ＰＣ３からのＳＣＳＩデータを受信する準備をする（Ｔ８）。具体的には、ＲＡＭ２９上に受信に必要な領域を確保し、その先頭アドレスをＳＣＳＩデータＤＭＡアドレスレジスタ８５に書き込み、受信するバイト数をＳＣＳＩデータＤＭＡカウントレジスタ８６に書き込む。その後、送受信部３４１のコントロールレジスタ８１の「コマンド受付完了」ｂｉｔと「ステータスレジスタクリア」ｂｉｔに１を書き込む（Ｔ９）。
【００７８】
送受信部３４１は、Ｔ９で「コマンド受付完了」ｂｉｔに１が書き込まれた時点で、ＰＣ３に対してコマンドを受け取ったことを示すレスポンスを返す。ここで、ＰＣ３側は、レスポンスを受け取ると、デバイス側でコマンドを解釈してＳＣＳＩデータを受け取る準備が出来たと認識して、ＳＣＳＩデータの送信を開始する。
【００７９】
そして、送受信部３４１は、ＳＣＳＩデータＤＭＡカウントレジスタ８６が０になった時点で、ステータスレジスタ８２の「データ受信完了」ｂｉｔを１にし、ＣＰＵ２７に割り込みを掛ける。
【００８０】
ＣＰＵ２７は、割り込みがあると（Ｔ１０：ＹＥＳ）、送受信部３４１のコントロールレジスタ８１の「データ受取完了」ｂｉｔと「ステータスレジスタクリア」ｂｉｔに１を書き込んで、ＳＣＳＩデータの受信を完了する（Ｔ１１：ＹＥＳ）。ここで、ＰＣ３側は、ＳＣＳＩデータがデバイスに到達されたことが通知され、次がＳＣＳＩステータスの受信であるので、デバイス待ちの状態に遷移する。
【００８１】
Ｔ７およびＴ１１（ＹＥＳ）の後には、ＣＰＵ２７は、コマンドを実行する（Ｔ１２）。例えばＴｅｓｔ  Ｕｎｉｔ  Ｒｅａｄｙコマンドなら、第１〜第４メモリーカード１１〜１４が挿入されているか否かを判断する。例えばＲｅａｄコマンドなら、第１〜第４メモリーカード１１〜１４からデータを読み出す。例えばＷｒｉｔｅコマンドなら、この時点で書き込むべきデータをＰＣ３から受け取っているので（上述のＴ８〜Ｔ１１）、それを第１〜第４メモリーカード１１〜１４に書き込む。
【００８２】
次に、ＣＰＵ２７は、ＳＣＳＩデータの伝送方向がデバイス→ＰＣ（送信）である場合（例えば、Ｒｅａｄコマンドの場合）には（Ｔ１３：ＹＥＳ）、読み出したデータをＰＣ３へ送信する準備をする（Ｔ１４）。具体的には、ＲＡＭ２９上に送信に必要な領域を確保して読み出したデータを格納するとともに、その先頭アドレスをＳＣＳＩデータＤＭＡアドレスレジスタ８５に書き込み、受信するバイト数をＳＣＳＩデータＤＭＡカウントレジスタ８６に書き込む。そして、送受信部３４１のコントロールレジスタ８１の「データ送信開始」ｂｉｔに１を書き込む。
【００８３】
送受信部３４１は、Ｔ１４で「データ送信開始」ｂｉｔに１が書き込まれた時点で、ＰＣ３へＳＣＳＩデータの転送を開始する。そして、送受信部３４１は、ＳＣＳＩデータの転送が終わったら、ステータスレジスタ８２の「データ送信完了」ｂｉｔを１にし、ＣＰＵ２７に割り込みを掛ける。
【００８４】
ＣＰＵ２７は、割り込みがあると（Ｔ１５：ＹＥＳ）、ＳＣＳＩデータの転送が終わったことを把握するので、送受信部３４１のコントロールレジスタ８１の「ステータスレジスタクリア」ｂｉｔに１を書き込んで、ＳＣＳＩデータの送信を完了する（Ｔ１６：ＹＥＳ）。
【００８５】
Ｔ１３（ＮＯ）およびＴ１６（ＹＥＳ）の後には、ＣＰＵ２７は、ＳＣＳＩステータスの送信を開始する（Ｔ１７）。具体的には、ＣＰＵ２７は、上記処理の中で、ＰＣ３に返すべきステータスを既に決定しているので、そのステータスをＳＣＳＩステータスバッファ８４に書き込み、送受信部３４１のコントロールレジスタ８１の「ステータス送信開始」ｂｉｔに１を書き込んで、ＳＣＳＩステータスの送信を開始する。
【００８６】
送受信部３４１は、Ｔ１７で「ステータス送信開始」ｂｉｔに１が書き込まれた時点で、ＰＣ３へＳＣＳＩステータスの送信を開始する。そして、送受信部３４１は、ＰＣ３側からＳＣＳＩステータスを受け取ったレスポンスを受けると、ステータスレジスタ８２の「ステータス送信完了」ｂｉｔを１にし、ＣＰＵ２７に割り込みを掛ける。
【００８７】
ＣＰＵ２７は、割り込みがあると（Ｔ１８：ＹＥＳ）、ＳＣＳＩステータスの送信が終わったことを把握するので、送受信部３４１のコントロールレジスタ８１の「ステータスレジスタクリア」ｂｉｔに１を書き込んで、ＳＣＳＩデータの送信を完了する（Ｔ１９：ＹＥＳ）。これにより、送受信部３４１のステータスレジスタ８２がクリアされて、元の状態に戻る。
【００８８】
次に、本通信システム１において、Ｉｎｑｕｉｒｙデータを用いた本発明の主要機能に係るデータ通信処理の流れの一例について説明する。なお、各ステップにおける処理（請求項に記載した機能実現手段）は、ＰＣ３のＣＰＵ４１あるいはマルチリーダライタ２のＣＰＵ２７によって各構成部が制御されることにより行われる。図９は、主処理の流れを示すフローチャートである。すなわち、ＰＣ３にマルチリーダライタ２が接続され、各装置に電源が投入されると、まず、ＰＣ３に接続されている不明なデバイスに対してドライブを割り当てるドライブ割当処理（Ｓ１）が実行される。本実施形態では、デバイスとしてマルチリーダライタ２だけが接続されているため、これのみにドライブが割り当てられる。
【００８９】
次に、ユーザーによって選択されたドライブを通信相手として設定するドライブ設定処理（Ｓ２）が行われる。ドライブが設定されると、設定されたドライブに対応するデバイス（本実施形態ではマルチリーダライタ２）が通信相手として認識される。そして、マルチリーダライタ２へのメモリーカードの装着状態、つまり、周辺装置側トリガの発生を監視するための周辺装置側トリガ監視処理（Ｓ３）が実施される。該周辺装置側トリガ監視処理（Ｓ３）を含む主処理ルーチンは、起動管理タイマールーチンから定期的に出される起動トリガを用いる等により、一定の時間間隔（例えば１００ｍｓ〜１０００ｍｓ：例えば５００ｍｓ）で繰り返し定常的に実行される。
【００９０】
図１０は、ＰＣ３においてＣＰＵ４１により実行されるドライブ割当処理（Ｓ１）の詳細を示すものである。まず、参照されるドライブ（以下「参照ドライブ」と称する）がＡドライブに初期設定される（Ｓ１０１）。該参照ドライブは、ＰＣ３側で割り当て可能なドライブのことを意味するものであって、該ドライブが複数存在する場合はドライブの割り当て処理時に昇順で参照される。参照ドライブは、ＰＣ３のＯＳ２０００のＯＳカーネルで管理されている。本実施形態では、割り当て可能なドライブ数をＡ〜Ｚの２６個としている。
【００９１】
参照ドライブが設定されると、次に、ＣＰＵ４１によって、ドライブが割り当てられるデバイスからＳ／Ｉデータを返信させるためのＩｎｑｕｉｒｙコマンド（以下「Ｉｎｑ（０）コマンド」と称する）が参照ドライブに対して発行される（Ｓ１０２）。実際には、ＣＰＵ４１によって該Ｉｎｑ（０）コマンドがＯＳカーネルに対して発行され、該ＯＳカーネルにおいて該Ｉｎｑ（０）コマンドが参照ドライブに発行されたものとして取り扱われる。そして、ＯＳカーネルにより、ＥＶＰＤ領域が“０”に設定されたＣＤＢ（０）が生成されて、参照ドライブに関連づけられた不明デバイスに送信される。ＳＣＳＩ規格では、ＥＶＰＤ領域が“０”に設定されている場合はＳ／Ｉデータを返信するよう定義されている。ＣＤＢ（０）の具体例は、前述のごとく表２に示している。なお、表２のデータ欄には、各データが１６進数表記で示されている。本明細書において特に明示しない限り、データ欄はすべて１６進数表記で示すものとする。
【００９２】
参照ドライブに関連づけられたデバイスが存在する場合であって、該デバイスがＳＣＳＩコマンドを処理することができるデバイス（ＳＣＳＩコマンド対応デバイス）である場合は、該デバイスからＳ／Ｉデータが返信される。一方、デバイスが存在しない場合、あるいは存在していても該デバイスがＳＣＳＩコマンドを処理することができない場合（ＳＣＳＩコマンド非対応デバイス）は、該デバイスからＳ／Ｉデータは返信されない。Ｓ１０３では、Ｓ／Ｉデータの返信の有無に基づいてＣＰＵ４１によってエラー判定が行われる（Ｓ１０３）。具体的には、Ｓ／Ｉデータの返信がない場合はエラーと判定される（Ｓ１０３のＹｅｓ側）。この場合、その後の処理はステップＳ１０７に進む。また、Ｓ／Ｉデータの返信がある場合はエラーと判定されない（Ｓ１０３のＮｏ側）。すなわち、当該参照ドライブに関連づけられたデバイスが存在すると判定される。この場合、その後の処理はステップＳ１０４に進む。
【００９３】
Ｓ１０３においてエラーでないと判定されると、返信されたＳ／Ｉデータに基づいて、参照ドライブに関連づけられたデバイスが通信対象となり得るデバイスであるかどうか、すなわち、通信可能なデバイスであるかどうかが判定される。本実施形態では、当該ステップは、参照ドライブに関連付けられたデバイスがマルチリーダライタ２であるかどうかを判定するために行われる。また、本実施形態では、マルチリーダライタ２から、表３に示すＳ／ＩデータがＰＣ３へ返信されるようになっており、当該ステップにおける判定処理は、返信されたＳ／Ｉデータのバイト０の領域やバイト１の領域のデータ、あるいは、バイト８〜１５の領域のベンダＩＤや、バイト１６〜３１の領域のプロダクトＩＤなどが、ＰＣ３側で予め登録しておいたＩＤ情報等と一致しているかどうかによって行われる。当該ステップで、通信可能なデバイスであると判定されると（Ｓ１０４のＹｅｓ側）、処理はステップＳ１０５に進み、通信可能なデバイスではないと判定されると（Ｓ１０４のＮｏ側）、処理はＳ１０７に進む。なお、表３中のバイト０領域のデータ「０ｘ００」はダイレクトアクセスデバイスを示し、バイト１の領域のデータ「０ｘ８０」は可換記憶媒体を示すものである。上述の各バイト領域に記述される内容については、ＳＣＳＩ規格で定義されているため、詳細については、当該規格書を参照されたい。
【００９４】
処理がＳ１０５に進むと、ここでは、返信されたＳ／Ｉデータに基づいて、当該参照ドライブのＬＵＮが“０”であるかどうかがＣＰＵ４１によって判定される。かかる判定は、Ｓ／Ｉデータにおけるベンダ固有領域のバイト５４の領域のデータに基づいて行われる。本実施形態では、上述したように、マルチリーダライタ２から、表３に示すＳ／ＩデータがＰＣ３へ返信されるようになっている。また、表３のバイト５４領域の備考欄にも記載しているように、マルチリーダライタ２では、Ｓ／Ｉデータを返信する際に、バイト５４の領域の上位４ビットに該マルチリーダライタ２の物理的Ｉ／Ｆを示す情報（本実施形態ではＵＳＢであることを示す情報）が格納され、下位４ビットにＬＵＮの番号を格納するようにプログラミングされている。従って、ＣＰＵ４１は、バイト５４の領域のデータを参照すれば、ＬＵＮの情報を取得することができる。これにより、当該ステップの判定処理を行なうことができる。例えば、バイト５４の領域に「０ｘ１０」が格納されている場合は、物理的Ｉ／ＦがＵＳＢ接続コネクタであって、ＬＵＮが０であることが取得され、「０ｘ２３」が格納されている場合は、物理的Ｉ／ＦがＳＣＳＩ接続コネクタであって、ＬＵＮが３であることが取得される。
【００９５】
Ｓ１０５で、ＬＵＮが“０”であると判定されると（Ｓ１０５のＹｅｓ側）処理はＳ１０６に進み、ＬＵＮが“０”でないと判定されると（Ｓ１０５のＮｏ側）処理はＳ１０７に進む。なお、ＯＳ２０００がインストールされたＰＣ３と接続されている場合は、マルチリーダライタ２側でバイト５４の領域に、例えばＬＵＮ＝１の情報を格納したとしても、ＰＣ３側ではＬＵＮ＝０として認識するようになっている。そのため、当該Ｓ１０５の処理は必ずＹｅｓ側に進むことになる。この場合は、Ｓ１０５の判定処理は意味を成さないため省略してもよい。
【００９６】
Ｓ１０６では、現在の参照ドライブを対応ドライブリストに追加する処理が実行される。対応ドライブリストは、最終的にドライブが割り当てられる参照ドライブをリストアップしたものである。詳細には、該対応ドライブリストがＲＡＭ４３の所定の記憶領域に展開されており、該当する参照ドライブが該記憶領域に書き込まれる。その後、処理はＳ１０７に進む。
【００９７】
Ｓ１０７では、参照ドライブがＺドライブであるかどうかがＣＰＵＳ４１によって判定される。例えば、カウンタメモリなどにドライブの参照順をカウントさせておき、そのカウンタ値をＣＰＵ４１が監視することにより、現在の参照ドライブがＺドライブであるかどうかの判定が可能である。かかる判定は、設定された参照ドライブが最後であるかどうかを判定するために行われる。ここで、参照ドライブがＺドライブであると判定されると、参照可能なドライブが存在しないため、続く処理はＳ１０９に進む。参照ドライブがＺドライブではないと判定されると、参照ドライブを次順のドライブに設定した後に（Ｓ１０８）、Ｓ１０２からの処理がＳ１０７においてＹｅｓと判定されるまで繰り返し行われる。
【００９８】
処理がＳ１０９に進むと、ここでは、対応ドライブリストに基づいてドライブの割り当てがなされる。これにより、一連のドライブ割当処理（Ｓ１）が終了する。なお、本実施形態では、外部ストレージデバイスとしてマルチリーダライタ２のみが接続されているため、Ａドライブに対してマルチリーダライタ２が割り当てられ、他のドライブには何ら割り当てられないものとする。
【００９９】
続いて、図１１は、ドライブ設定処理（Ｓ２）の詳細を示すものである。Ｓ２０１では、前記ドライブ割当処理（Ｓ１）によって割り当てられたドライブ（以下「対応ドライブ」と称する）が存在するかどうかが判定される（Ｓ２０１）。すなわち、ＰＣ３で割当可能なドライブのいずれかに所定のデバイスが割り当てられたかどうかが判定される。本実施形態では、マルチリーダライタ２が割り当てられたＡドライブが存在するため、対応ドライブがあると判定される。その後、対応ドライブが１つであるかどうかが判定される（Ｓ２０２）。一方、Ｓ２０１で、対応ドライブが存在しないと判定されると（Ｓ２０１のＮｏ側）、通信対象が存在しないため、処理が終了する。
【０１００】
Ｓ２０２で対応ドライブが１つであると判定されると（Ｓ２０２のＹｅｓ側）、当該対応ドライブが通信対象として設定される（Ｓ２０５）。すなわち、当該対応ドライブに関連付けられたデバイスが通信対象に設定される。なお、本実施形態では、Ａドライブが通信対象として設定される。換言すれば、マルチリーダライタ２が通信対象のデバイスとして設定される。
【０１０１】
一方、対応ドライブが複数存在すると判定された場合は（Ｓ２０２のＮｏ側）、対応ドライブを示すアイコンをダイアログ表示させる（Ｓ２０３）。その後、ユーザーからいずれかのアイコンが選択されることによって所望の対応ドライブが選択されると（Ｓ２０４）、選択された対応ドライブが通信対象として設定される（Ｓ２０５）。なお、いずれのアイコンも選択されない場合であっても、例えば、対応ドライブごとに優先度が設定されている場合は、最も優先度の高い対応ドライブが通信対象に自動的に設定される。これにより、一連のドライブ設定処理（Ｓ２）が終了する。
【０１０２】
次に、図１２は、周辺装置側トリガ監視処理（Ｓ３）の詳細を示すものである。
まず、ＰＣ３側において、ロータリースイッチ２２のダイアル操作部２２ａの停止位置を取得するためマルチリーダライタ２から該マルチリーダライタ２のＶＰＤ（Vital Product Data）を返信させるためのＩｎｑｕｉｒｙコマンド（以下「Ｉｎｑ（１）コマンド」と称する）がＡドライブに対して発行される（Ｓ３０１）。実際には、該Ｉｎｑ（１）コマンドが、ＯＳカーネル７３に対して発行され、該ＯＳカーネル７３によってＡドライブに対して発行されたものとして取り扱われる。上記Ｉｎｑ（１）コマンドが発行されると、ＯＳカーネル７３によって、ＥＶＰＤ領域が“１”に設定されたＣＤＢ（１）が生成されて、Ａドライブに関連づけられたマルチリーダライタ２にＵＳＢケーブル２５を介して送信される。このとき生成されるＣＤＢ（１）を表４に示す。すなわち、該ＣＤＢ（１）のバイト２の領域にはページコード「０ｘＥ０」が記述されている。
【０１０３】
ＣＤＢ（１）のバイト４の領域、すなわちアロケーション長領域には「０ｘ１０」（２進数表記では「０００１００００」）が格納されている。本来、アロケーション長領域には、接続されたデバイスに要求するデータ長が格納される。本実施の形態では、マルチリーダライタ２のアロケーション長の最大値が予め固定長（ここでは、仮に１５バイトとしているが、これに限定されるものではない）に設定されている。この“１５”という数は下位４ビットで表現できる。ＳＣＳＩ規格に従えば、マルチリーダライタ２において設定された上記最大値以上の数値がアロケーション長として指定されたとしても、マルチリーダライタ２のアロケーション長は上記最大値、すなわち、１５バイトに設定される。従って、アロケーション長領域に「０ｘ１０」が記述されていても、また、「０ｘ１１」以上が記述されていても、アロケーション長は１５バイトに設定される。これは、アロケーション長領域のデータのうち、上位４ビットのいずれかのビットが「１」である場合は、該アロケーション長領域のデータを（アロケーション長の設定値に兼用された）任意のデータ（付加情報）として自由に使用することができるということを意味する。すなわち、上位４ビットのいずれかのビットを「１」とすることにより、アロケーション長領域における当該ビット以外のビットを、いわば仮想的な空き領域として確保することができる。このように確保された仮想的な空き領域に任意のデータを付加することで、ＰＣ３とマルチリーダライタ２との間で、上記付加情報に係るデータ通信が可能となるのである。
【０１０４】
なお、上記アロケーション長は常に固定長（ここでは１５バイト）に設定されるのではなく、ＣＤＢ（１）のページコードに応じてその最大値が設定されるようにしてもよい。例えば、ページコード「０ｘＥ０」の場合は、アロケーション長の最大値が１５バイトの固定長に設定され、ページコード「０ｘＥ２」の場合は、９バイトの固定長に設定される。かかる設定処理は、ＣＤＢ（１）を受信したマルチリーダライタ２のＣＰＵ２７によってページコードの内容が読み取られ、読み取られた内容に応じて、予めＲＯＭ２８に格納しておいた固定長対応リストから該当する固定長を選定することにより行われる。もちろん、１５バイトあるいは９バイトと定めた上記アロケーション長は任意に設定することができる。
【０１０５】
表６に、上記アロケーション長領域に確保された空き領域に付加される通信データを類別して示す。各表のデータ内容欄に示すように、各データには、それ自体が何を意味するものであるのかが定義づけられている。具体的には、データ内容欄の記載を参照されたい。なお、表６はページコードが「０ｘＥ０」の場合に送信される通信データであるが、ＣＤＢ（調査指示データ）において、このページコード（調査指示データ種別識別情報）を変更すれば、アロケーション長最大値や付加情報内容の異なる別の調査指示データフォーマットを生成することができる。
【０１０６】
【表６】
0004618559.tif 000007
【０１０７】
表６の左欄には、アロケーション長領域に記述されるデータそのものが、右欄にはそのデータの意味する内容が示されている。ＰＣ３側からマルチリーダライタ２に上記左欄のデータが送信されると、マルチリーダライタ２側では、ＣＰＵ２７により、受信したＣＤＢ（１）からアロケーション長領域のデータが抽出され、抽出されたデータの内容が解析され、そして、解析されたデータの内容に従った処理が実行される。なお、表６に示す内容は、テーブルリスト化されて、ＰＣ３のＨＤＤ４４又はＲＯＭ４２と、マルチリーダライタ２のＲＯＭ２８に予め格納されている。
【０１０８】
上記Ｓ３０１でＩｎｑ（１）コマンドが発行されて生成されたＣＤＢ（１）には、アロケーション長領域に「０ｘ１１」が記述される（表４は、後述するアロケーション長領域に「０ｘ１０」が記述された例を示している）。従って、Ｉｎｑ（１）コマンドは、ＰＣ３からマルチリーダライタ２に対して、ロータリースイッチ２２のダイアル操作部２２ａの停止位置に対応したファイル種別情報を読み出させるための命令であることを意味する。一方、マルチリーダライタ２側では、送信されたＣＤＢ（１）が受信される。その後、ＣＰＵ２７によって、ＣＤＢ（１）内のアロケーション長領域のデータ「０ｘ１１」が抽出され、そして、該データに従って、ロータリースイッチ２２のダイアル操作部２２ａの停止位置を検出する処理が行われる（Ｓ３０２）。
【０１０９】
ロータリースイッチの停止位置の検出が終了すると、その検出結果がＶＰＤにロータリースイッチの位置情報（ファイル種別情報に対応する）として書き込まれ（Ｓ３０３）、ＣＰＵ２７によってＰＣ３へ返信される（Ｓ３０４）。該返信処理は、具体的には、ＣＤＢ（１）の受信後に生成されてＰＣ３へ返信されるＶＰＤ（表７参照）に上記検出結果を書き込むことにより行われる（Ｓ３０４）。より詳細には、表７に示すように、バイト８の領域にロータリースイッチの停止位置が書き込まれる。ロータリースイッチ２２のダイアル操作部２２ａの停止位置とファイル種別との対応関係は、予めＰＣ３上にてユーザーによって設定されており、ロータリースイッチ２２の位置情報は、ファイル種別情報となる。本実施形態では、ダイアル操作部２２ａが静止画を送信する停止位置にセットされている場合は「０ｘ００」が書き込まれ、動画、音楽ファイルを送信する停止位置の場合は「０ｘ０１」が書き込まれ、テキストファイルを送信する停止位置の場合は、「０ｘ０２」が書き込まれる。なお、表７は動画、音楽ファイルの場合のＶＰＤを示す。
【０１１０】
【表７】
0004618559.tif 000008
【０１１１】
続いて、ＰＣ３側では、マルチリーダライタ２から返信されるＶＰＤを受信して、該ＶＰＤのバイト８の領域を参照することにより、ロータリースイッチ２２のダイアル操作部２２ａの停止位置（すなわちファイル種別）が判定される（Ｓ３０５）。
【０１１２】
次に、ＰＣ３側において、メモリーカード１１〜１４装着の有無を取得するためマルチリーダライタ２から該マルチリーダライタ２のＶＰＤ（Vital Product Data）を返信させるためのＩｎｑｕｉｒｙコマンド（以下「Ｉｎｑ（１）コマンド」と称する）がＡドライブに対して発行される（Ｓ３０６）。具体的には、前述のステップと同様の処理が行われる。すなわちＥＶＰＤ領域が“１”に設定されたＣＤＢ（１）が生成されて、Ａドライブに関連づけられたマルチリーダライタ２に送信される。このとき表４に示されたＣＤＢ（１）が生成される。すなわち、該ＣＤＢ（１）のバイト２の領域にはページコード「０ｘＥ０」が記述されている。
【０１１３】
ＣＤＢ（１）のバイト４の領域、すなわちアロケーション長領域には「０ｘ１０」（２進数表記では「０００１００００」）が格納されている。本実施の形態では、マルチリーダライタ２のアロケーション長の最大値が予め固定長（ここでは、仮に１５バイトとしているが、これに限定されるものではない）に設定されており、前述のステップ同様に、上位４ビットのいずれかのビットを「１」とすることにより、アロケーション長領域における当該ビット以外のビットを、いわば仮想的な空き領域として確保することができる。なお、上記アロケーション長は常に固定長（ここでは１５バイト）に設定されるのではなく、ＣＤＢ（１）のページコードに応じてその最大値が設定されるようにしてもよい。
【０１１４】
上記Ｓ３０６でＩｎｑ（１）コマンドが発行されて生成されたＣＤＢ（１）には、表４に示すように、アロケーション長領域に「０ｘ１０」が記述されている。従って、Ｉｎｑ（１）コマンドは、表６に示すようにＰＣ３からマルチリーダライタ２に対してメモリーカード１１〜１４の装着状態に対応したトリガ検出データ信号を読み出させるための命令であることを意味する。一方、マルチリーダライタ２側では、送信されたＣＤＢ（１）が受信される。その後、ＣＰＵ２７によって、ＣＤＢ（１）内のアロケーション長領域のデータ「０ｘ１０」が抽出され、そして、該データに従って、装着状態（トリガ検出データ信号のレベル）を検出する処理が行われる（Ｓ３０７）。
【０１１５】
メモリーカード１１〜１４の装着状態検出が終了すると、その検出結果がＶＰＤに装着発生有無情報として書き込まれ（Ｓ３０８）、ＣＰＵ２７によってＰＣ３へ返信される（Ｓ３０９）。該返信処理は、具体的には、ＣＤＢ（１）の受信後に生成されてＰＣ３へ返信されるＶＰＤ（表７参照）に上記検出結果を書き込むことにより行われる。より詳細には、表７に示すように、バイト７の領域にメモリーカード装着のありなし（トリガ検出データ信号のありなし）が書き込まれる。本実施形態では、操作なしの場合は「０ｘ００」が書き込まれ、操作ありの場合は「０ｘ０１」が書き込まれる。なお、表７は操作ありの場合のＶＰＤを示す。
【０１１６】
続いて、ＰＣ３側では、マルチリーダライタ２から返信されるＶＰＤを受信して、該ＶＰＤのバイト７の領域を参照することにより、メモリーカード１１〜１４の装着状態が判定される（Ｓ３１０）。メモリーカード１１〜１４の装着ありと判定されると（Ｓ３１１のＹｅｓ側）、このあと説明する装着連動ファイル処理ルーチン（図１３）に、マルチリーダライタ２に装着されたメモリーカード（記憶媒体）のデータファイルに対する、該データファイル受信を含む予め定められたファイル処理（通信イベント）を指令する（Ｓ３１２）。
【０１１７】
図１３は、上記装着連動ファイル処理ルーチンを示すフローチャートである（このルーチンは、定期的に繰り返し実行されるものである）。Ｓ４０１では、ユーザー入力による設定カスタマイズコマンドがあるかどうかを調べる。設定カスタマイズコマンドがある場合はＳ４０７の設定カスタマイズ処理に移る。
【０１１８】
図１４は、設定カスタマイズ処理の流れを示すもので、Ｓ５０１ではマルチリーダライタ２からのファイル転送モードを、マウス５３あるいはキーボード５２により入力・選択する。ファイル転送モードには、メモリーカード１１〜１４から転送されたデータファイルを、ＨＤＤ４４（データファイル保存手段）上の予め定められたフォルダ（保存領域）にコピーする（この場合、メモリーカード２からデータファイルは削除されない）コピーモードと、同じくムーブ（移動：メモリーカード１１〜１４からデータファイルが削除される）するムーブモードとがあり、上記の入力内容に従い、Ｓ５０２〜Ｓ５０６で、そのいずれかが選択可能される。また、Ｓ５０７では、データファイルの格納先を指定する入力を行なう。データファイルの格納先の指定は、例えば、周知のごとくディスプレイ５１に、ファイルディレクトリ構造をフォルダツリー形式で表示し、マウス５３によるクリックにより、格納先とするフォルダを選択することができる。Ｓ５０８で選択されたフォルダがファイル格納先として設定される。
【０１１９】
図１３に戻り、Ｓ４０１で設定カスタマイズコマンドのない場合は、上記のように設定された条件に従い、ファイル処理が行なわれる（設定カスタマイズが実施されていない場合は、デフォルト設定に従う）。具体的にはＳ４０２に進み、前述の「装着あり」検出に対応するファイル処理の起動指令を受けたかどうかを確認する。受けた場合はＳ４０３に進み、ＯＳのファイルシステムを用いてメモリーカードのデータファイルを読み出す通信イベントを起動する。そしてＳ４０４で、受信したデータファイルを保存先として指定されているＨＤＤ４２内のフォルダに書き込む。次いでＳ４０５に進み、コピーモードが選択されている場合はここでファイル処理を終了するが、ムーブモードが選択されている場合はさらにＳ４０６に進み、メモリーカードの送信元となるデータファイルを削除する通信イベントを起動し、削除完了のステータスを受領する。そして、Ｓ４０８にてＰＣ３に送信されたデータファイルのファイル種別に対応するＨＤＤ４４（アプリ記憶手段）に記憶されたアプリケーションソフトを起動し、そのアプリケーションソフト上にて送信されたデータファイルを開き、再生、閲覧等が行われる。ロータリースイッチ２２のダイアル操作部２２ａの停止位置と起動されるアプリケーションソフトとの対応関係が予めユーザーによって設定されていることにより、例えば、静止画のデータファイルがメモリーカード１１〜１４からＰＣ３へ送信された場合は、画像閲覧ソフトが起動され、音楽のデータファイルが送信された場合は、音楽再生ソフトが起動される。
【図面の簡単な説明】
【０１２０】
【図１Ａ】本発明の通信システムに適用されるマルチリーダライタの一例を正面側から見た斜視図。
【図１Ｂ】同じく背面側から見た斜視図。
【図２】マルチリーダライタの電気的構成の一例を示すブロック図。
【図３】マルチリーダライタのＳＣＳＩコマンド・データ・ステータス送受信部の説明図。
【図４】コントロールレジスタの説明図。
【図５】ステータスレジスタの説明図。
【図６】本発明の通信システムに適用されるＰＣの概略構成を示すブロック図。
【図７】ＰＣ上で動作するＯＳと、該ＯＳ上で動作するアプリケーションを説明するための概念図。
【図８】マルチリーダライタのＳＣＳＩコマンド・データ・ステータス送受信部が行なう処理の流れを表すフローチャート。
【図９】本発明の通信システムにおいて実行されるデータ通信処理の処理の流れを表すフローチャート。
【図１０】図９のドライブ割当処理の流れを表すフローチャート。
【図１１】図９のドライブ設定処理の流れを表すフローチャート。
【図１２】図９の周辺装置側トリガ監視処理の流れを表すフローチャート。
【図１３】装着連動ファイル処理ルーチンの流れを表すフローチャート。
【図１４】図１３の設定カスタマイズの処理の流れを表すフローチャート。
【符号の説明】
【０１２１】
１  通信システム
２  マルチリーダライタ（周辺装置）
３  ＰＣ（ホスト装置）
１１  第１メモリーカード（記憶媒体）
１２  第２メモリーカード（記憶媒体）
１３  第３メモリーカード（記憶媒体）
１４  第４メモリーカード（記憶媒体）
１６  第１スロット（周辺装置側トリガ発生手段）
１７  第２スロット（周辺装置側トリガ発生手段）
１８  第３スロット（周辺装置側トリガ発生手段）
１９  第４スロット（周辺装置側トリガ発生手段）
２２  ロータリースイッチ（ファイル種別選択手段）
２２ａ  ダイアル操作部（手動操作部）
２７  ＣＰＵ（トリガ発生報告情報返信手段、調査報告データ生成手段、トリガ発生報告情報書き込み手段、調査報告データ送信手段、交換通知情報保持手段、交換通知情報保持制御手段、ファイル種別報告情報返信手段）
４１  ＣＰＵ（トリガ報告要求コマンド発行手段、報告情報受領手段、対象通信イベント起動手段、保存環境設定手段、保存領域設定変更手段、ファイル保存モード切替手段、調査指示データ作成手段、調査指示データ送信手段、ファイル種別要求コマンド発行手段、ファイル種別設定手段、アプリ起動手段）
４４  ＨＤＤ（アプリ記憶手段）
【図１Ａ】
0004618559.tif 000009
【図１Ｂ】
0004618559.tif 000010
【図２】
0004618559.tif 000011
【図３】
0004618559.tif 000012
【図４】
0004618559.tif 000013
【図５】
0004618559.tif 000014
【図６】
0004618559.tif 000015
【図７】
0004618559.tif 000016
【図８】
0004618559.tif 000017
【図９】
0004618559.tif 000018
【図１０】
0004618559.tif 000019
【図１１】
0004618559.tif 000020
【図１２】
0004618559.tif 000021
【図１３】
0004618559.tif 000022
【図１４】
0004618559.tif 000023