(57)【要約】【課題】  専用制御プログラムを使用せずともファイル管理により容易に制御可能なＩ／Ｏデバイス機器を提供する。【解決手段】  ホスト機器からファイルなどのアクセス要求により読み書きできる仮想ストレージ領域をもち、これを管理する仮想ストレージ管理手段を有し、デバイス制御／状態情報を示すファイルなどへのアクセスを解釈／変換してＩ／Ｏ制御を行うＩ／Ｏ制御手段からなる。【選択図】  図３
2006031345.tif 000002
【特許請求の範囲】
【請求項１】
ホスト機器からストレージデバイスとしてファイル・ディレクトリの読み書き制御可能なデバイス機器において、さらに制御すべきＩ／Ｏ機器が接続されていることを特徴とするデバイス機器。
【請求項２】
ホスト機器からファイル・ディレクトリへのアクセス要求により読み書きできる領域：仮想ストレージ領域を持ち、この領域を管理するための仮想ストレージ管理手段を有し、Ｉ／Ｏ制御指定・状態情報を明示的なキーワードによるファイル名・ディレクトリ名へのアクセス（読み書き）を解釈・変換してＩ／Ｏ制御を行うＩ／Ｏ制御手段を有することを特徴とする請求項１記載のデバイス機器。
【請求項３】
ホスト機器からは、ファイルの生成・書き込みによりＩ／Ｏ機器への制御指定・起動の制御を行うことを特徴とする請求項２記載のデバイス機器。
【請求項４】
Ｉ／Ｏ機器からの入力結果・状態情報をファイルの生成・書き込みにより行い、ホスト機器は、そのディレクトリ（ファイル名）のみを読むことにより入力結果・情報を得ることを特徴とする請求項３記載のデバイス機器。
【請求項５】
ホスト機器からは、ファイルの書き込みによりＩ／Ｏ機器への制御指定・起動の制御を行い、複数の制御情報をファイルに記述できることを特徴とする請求項２、または請求項３記載のデバイス機器。
【請求項６】
Ｉ／Ｏ機器からの複数の入力結果・状態情報はファイルへの書き込みにより行い、ホスト機器は、そのディレクトリ（ファイル名）のみを読むことにより入力結果・情報を得ることを特徴とする請求項２、または請求項３記載のデバイス機器。
【請求項７】
前記デバイス機器とホスト機器とを接続する手段として、ＵＳＢ、ＳＣＳＩ、ＲＳ２３２ＣまたはＩＥＥ１３９４を用いることを特徴とする請求項１〜６のいずれかに記載のデバイス機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマスストレージクラスプロトコルを利用してI/O制御を行うデバイス機器に関するものである。
【背景技術】
【０００２】
従来、Ｉ／Ｏ制御を行うデバイス機器を制御する場合、それぞれの機器専用のプロトコルを使用して行っていた。そのためユーザが容易な操作で制御できず、デバイス機器のＩ／Ｏ制御を行うための特殊な専用ソフトウェアが必要であった（例えば、特許文献１参照）。
【特許文献１】特開平１１−２９６４６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明では、専用プロトコルを使用せずに、既存のプロトコルを使用し、かつ制御・動作状態を操作・結果を明示的なキーワードによるファイル名やファイル内容といったファイル管理を使用した容易な方法で行え、かつ特殊な専用ソフトウェアを必要としない（場合によってはユーザが直接ファイル管理ＵＩをつかって操作するなど）デバイス機器を提供することにある。
【課題を解決するための手段】
【０００４】
（基本的な動作）
本発明の基本的な動作について、図１、図２をつかって説明する。
【０００５】
図１は、本発明デバイス機器で、ここではデバイス機器を制御可能な温度計として想定している。図１−１は、ホスト機器（たとえばＰＣ）とデバイス機器を接続した様子を示している。マスストレージクラスプロトコルを使用しているので、ドライブＥにＣＴＬ，ＴＥＭＰというディレクトリが存在することをあらわしている。
【０００６】
ここでは、温度計への制御指示はＣＴＬディレクトリへのファイル生成、同じく温度計からの状態情報はファイル参照にて行う。また、ＴＥＭＰディレクトリには、温度計が測定した温度を示すファイルを生成するので、それを参照することにより測定結果を得る。
【０００７】
温度計に対して、測定結果一度読み指定での制御を行った結果を図１−２で示している。すなはち、ＣＴＬディレクトリに測定結果一度読み指定測定指示をあらわす“０”（間隔＝０という明示的なキーワード）というファイルを作成すると、その時点での温度：摂氏２８℃を示す“２８”というファイルが生成された。このようにホスト機器のファイル管理ＵＩを使用しても制御が可能なことを示している。
【０００８】
図２は、図１の例での温度計を使用した、制御を拡張した例である。
【０００９】
図２−１では、CTLディレクトリに“１５秒間隔で測定する”という明示的なキーワードすなはち“15s”ファイルを生成すると、温度測定が開始され１５秒のち、ＴＥＭＰディレクトリには測定結果摂氏28℃を示す“２８”というファイルが生成された。図２−２、図２−３も同様に積算３０秒後、積算４５秒後の状態を示している。
【００１０】
図２−４では、前述正常状態でなく、温度計になんらかのエラーが発生した例である。
【００１１】
たとえば温度計への指示を誤ったため、指示不明をあらわすコード２１を明示的なキーワードすなはち“ＥＲＲ２１”というファイルが生成されたことをあらわしている。
【００１２】
（ブロック図の説明）
図３は本発明の全体構成図である。
【００１３】
ホスト機器からマスストレージクラスプロトコルを使ったデータ（主にSCSIコマンドの書込み・読み込みコマンド）は、３００：仮想ストレージ管理手段により、論理アドレスを使用して３１０：仮想ストレージ領域を対象にデータを管理し、論理アドレスからファイル管理領域への変換・ファイル名・ファイル内容の解析を行ったあと、実際のＩ／Ｏ制御をつかさどる３２０：Ｉ／Ｏ制御手段へわたされる。Ｉ／Ｏ制御手段は、明示的なキーワードによる指示されたコマンド（ファイル名など）から実際のデバイス機器のＩ／Ｏ制御命令に変換されたものを実行する。またデバイスからの状態・結果などを３００：仮想ストレージ管理手段へ伝え、ファイル名などへの変換処理などもゆだねる。
【００１４】
図４は、仮想ストレージ管理で使用するファイル構造例である。これらは、既存のファイル構造を利用することも考えられる。前述マスストレージクラスプロトコルで使用される論理アドレスから、管理領域、ディレクトリ領域、データ領域などへの対象を得て、制御指示・情報返却のファイル生成などに用いる。またデバイス機器によっては、前述の温度計のように、ＣＮＴ，ＴＥＭＰディレクトリエントリと数ファイル分という最小のサイズで構築することができる。
【００１５】
（システム構成例の説明）
本発明のシステム構成図例を図５で示す。
【００１６】
本発明デバイス機器の例では、ＣＰＵ：１００、Ｉ／ＯＤＥＶ：２００制御するＩ／Ｏ機器、ホストと接続されているUSBDEVCTL:300、本発明の制御手続きなどを格納したＦＬＲＯＭ：４００，制御を行うためのワークエリア・スタックなどを含んだＲＡＭ：５００。ＲＡＭ：５００の内部は、仮想ストレージ：５００、Ｉ／Ｏ制御で使用されるＣＴＬ：５０１、ＴＥＭＰ：５０２などが、ＢＬ：８００で接続されている。
【発明の効果】
【００１７】
以上説明したとおり、本発明により、ホストからは制御・指示・結果などを明示的なキーワードによるファイル/ディレクトリを生成、更新することによりＩ／Ｏ機器を制御できる。また、Ｉ／Ｏ機器からの状態・情報を、状態・情報など明示的なキーワードによるファイル/ディレクトリまたは、ファイルの中身を参照することにより容易に判断できるデバイス機器を提供することが可能になった。
【発明を実施するための最良の形態】
【００１８】
本発明実施例を図６、図７、図８の概略フローをつかって説明する。
【００１９】
図６は、ホスト機器から本発明デバイス機器への制御起動／指示（ホスト側からみるとファイル名の書込み）された場合の概略フローである。
【００２０】
まず、マスストレージクラスプロトコルでのSCSIコマンド（この場合はＷＲＩＴＥ）を受け取った後、制御がわたってくる。Ｓ６１０にて論理アドレスから管理領域・ディレクトリ領域を得る（場合によっては、データ領域のファイル名まで）。Ｓ６２０で仮想ストレージ領域にホスト機器からのデータを書き込む。Ｓ６３０でホストからの制御起動／指示を示すファイル名（または、ファイル内容）を得て、実際のＩ／Ｏ制御コマンド・データなどに変換ＲＡＭ（ＣＴＬ）する。これらを使ってＳ６４０にてＩ／Ｏ制御コマンド・データ発行を行う。Ｓ６４０はコマンド発行のトリガになるだけであり、実際は非同期で動作（ここではI/O制御については省略する）している。この後、Ｓ６５０：ホスト側へ正常終了通知を行ってWRITEコマンドは正常終了する。
【００２１】
図７は、デバイス側からの出力におけるＩ／Ｏ制御に関する概略フローである。
【００２２】
図６で非同期に起動されたＩ／Ｏ機器からの出力は割り込み・ポーリングなどにより発生し、ここでトリガがかかる。たとえばＣＴＬがｎの場合間隔ｎでの測定がくりかえされるなど。
【００２３】
Ｓ７１０にてＩ／Ｏ機器からのＲＡＭ（ＴＥＭＰ）へのデータ読取を行い、仮想ストレージ管理をつかってS720出力ファイル名、またはファイル内容にデータ変換を行い、同じくＳ７３０仮想ストレージ領域に書き込む。Ｓ７３０にてホスト側へデータ更新した旨ステータス情報出力通知して終了する。このあと、ホスト側からデータ読み出し要求に備える。
【００２４】
図８は、デバイス機器側からの出力（結果・状態などの返却：すなはちホスト側からみるとファイル名：ディレクトリの読み込み）された場合の概略フローである。
【００２５】
まず、マスストレージクラスプロトコルでのＳＣＳＩコマンド（この場合はＲＥＡＤ）を受け取った後、制御がわたってくる。Ｓ８１０でＳ６１０にて論理アドレスから管理領域・ディレクトリ領域を得る（場合によっては、データ領域のファイル名まで）。Ｓ８２０で既に結果が格納されている仮想ストレージ領域からデータを読み込み、制御がもどる。
【００２６】
（その他の実施例）
複数のＩ／Ｏ機器を示すディレクトリを用意し、それぞれを同様に制御できるデバイス機器。
【図面の簡単な説明】
【００２７】
【図１】本発明動作例。
【図２】本発明動作例。
【図３】本発明全体構成図。
【図４】本発明仮想ストレージイメージ例。
【図５】本発明システム構成例。
【図６】本発明動作例概略フロー。
【図７】本発明動作例概略フロー。
【図８】本発明動作例概略フロー。
【図１】
2006031345.tif 000003
【図２】
2006031345.tif 000004
【図３】
2006031345.tif 000005
【図４】
2006031345.tif 000006
【図５】
2006031345.tif 000007
【図６】
2006031345.tif 000008
【図７】
2006031345.tif 000009
【図８】
2006031345.tif 000010