(57)【特許請求の範囲】
【請求項１】
ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格に対応した第１の装置とＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）規格に対応した第２の装置との間の通信路上に設けられる変換装置であって、
前記ＵＳＢ規格に準拠し、前記第１の装置との通信を制御する第１の通信制御部と、
前記ＳＡＳ規格に準拠し、前記第２の装置との通信を制御する第２の通信制御部と、
所定のシーケンスフラグを設定することにより、複数の通信シーケンスから１つの通信シーケンスを設定可能であって、前記第２の通信制御部を介して入力された前記第２の装置から受信したフレームがデータフレームであるかレスポンスフレームであるかを判断するフレーム判断処理を実行し、前記レスポンスフレームに含まれるセンスデータを保存するためのセンスデータ格納領域を設ける処理装置とを備え、
前記処理装置は、前記シーケンスフラグに第１フラグを設定して前記通信シーケンスを第１シーケンス状態とした場合おいて、前記フレーム判断処理の結果、前記第２の装置から受信したフレームがレスポンスフレームと判断した場合、前記レスポンスフレームにおける前記センスデータの有無を判断し、さらに前記レスポンスフレームに前記センスデータが有ると判断した場合は、前記センスデータを前記センスデータ格納領域に保存するとともに、異常発生フラグをセット状態として、ダミーデータを前記第１の通信制御部を介して前記第１の装置へ送信し、続いてコマンド失敗を意味するＣＳＷ（Ｃｏｍａｎｄ  Ｓｔａｔｕｓ  Ｗｒａｐｐｅｒ）を前記第１の通信制御部を介して前記第１の装置に出力した後、前記シーケンスフラグを前記第１フラグから第２フラグに変更して前記通信シーケンスを第２シーケンス状態とし、前記通信シーケンスが第２シーケンス状態において、前記異常発生フラグがセット状態で前記第１の通信制御部を介して前記第１の装置から前記ＣＳＷに対するリクエストセンスコマンドであるＣＢＷ（Ｃｏｍａｎｄ  Ｂｌｏｃｋ  Ｗｒａｐｐｅｒ）が入力されると、前記センスデータ格納領域に保存された前記センスデータを前記第１の通信制御部を介して前記第１の装置に出力し、前記通信シーケンスが前記第１シーケンス状態において、前記フレーム判断処理の結果、前記第２の装置から受信したフレームがデータフレームと判断した場合は、受信した前記データフレームをＵＳＢ規格に対応したデータに変換し、当該変換後のデータを前記第１の通信制御部を介して前記第１の装置に出力することを特徴とする変換装置。
【請求項２】
前記処理装置は、前記コマンド失敗を意味するＣＳＷを前記第１の通信制御部を介して前記第１の装置に出力した後に、前記第１の通信制御部を介して前記第１の装置から前記リクエストセンスコマンドであるＣＢＷを受け取ると、前記異常発生フラグをリセット状態にすることを特徴とする請求項１に記載の変換装置。
【請求項３】
前記処理装置は、前記保存されたセンスデータを前記第１の通信制御部を介して前記第１の装置に出力すると、前記保存されたセンスデータを消去することを特徴とする請求項１または２に記載の変換装置。
【請求項４】
前記ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格に対応した第１の装置と接続される請求項１〜３のいずれか一項に記載の変換装置と、
前記変換装置の第２の通信制御部に接続され、ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）規格に対応した第２の装置と、を備える情報処理システム。
【請求項５】
請求項１〜３のいずれか一項に記載の変換装置と、
前記変換装置の第１の通信制御部に接続され、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格に対応した第１の装置と、
前記変換装置の第２の通信制御部に接続され、ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）規格に対応した第２の装置と、を備える情報処理システム。
【請求項６】
ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格に対応した第１の装置とＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）規格に対応した第２の装置との間の通信路上に設けられ、所定のシーケンスフラグを設定することにより、複数の通信シーケンスから１つの通信シーケンスを設定可能な変換装置における変換方法であって、
前記シーケンスフラグに第１フラグを設定して前記通信シーケンスを第１シーケンス状態とする第１の工程と、
前記第２の装置から受信したフレームがデータフレームであるかレスポンスフレームであるかを判断する第２の工程と、
前記第２の工程において、前記第２の装置から受信したフレームがレスポンスフレームと判断した場合、前記レスポンスフレームにおけるセンスデータの有無を判断する第３の工程と、
前記第３の工程において、前記レスポンスフレームに前記センスデータが有ると判断した場合、前記センスデータを前記第１の装置に出力することなく一時的に保存する第４の工程と、
異常発生フラグをセット状態として、ダミーデータを前記第１の通信制御部を介して前記第１の装置へ送信する第５の工程と、
コマンド失敗を意味するＣＳＷ（Ｃｏｍａｎｄ  Ｓｔａｔｕｓ  Ｗｒａｐｐｅｒ）を前記第１の装置に出力する第６の工程と、
前記第６の工程後に、前記シーケンスフラグを前記第１フラグから第２フラグに変更して前記通信シーケンスを第２シーケンス状態とする第７の工程と、
前記通信シーケンスが第２シーケンス状態において、前記異常発生フラグがセット状態で、前記第１の装置から前記ＣＳＷに対するリクエストセンスコマンドであるＣＢＷ（Ｃｏｍａｎｄ  Ｂｌｏｃｋ  Ｗｒａｐｐｅｒ）が入力されたときに、一時的に保存されている前記センスデータを前記第１の装置に出力する第８の工程と、
前記通信シーケンスが前記第１シーケンス状態における前記第２の工程において、前記第２の装置から受信したフレームがデータフレームと判断した場合、受信した前記データフレームをＵＳＢ規格に対応したデータに変換する第９の工程と、
前記第９の工程において、変換した前記データを前記第１の通信制御部を介して前記第１の装置に出力する第１０の工程とを含む変換方法。
【請求項７】
前記第６の工程後に、前記第１の装置から前記リクエストセンスコマンドであるＣＢＷが入力されると、前記異常発生フラグをリセット状態とする第１１の工程を更に含むことを特徴とする請求項６に記載の変換方法。
【請求項８】
前記第６の工程に続いて、
一時的に保存されている前記センスデータを消去する第１２の工程を更に含むことを特徴とする請求項６または７に記載の変換方法。
【請求項９】
ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格に対応した第１の装置とＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）規格に対応した第２の装置との間の通信路上に設けられ、所定のシーケンスフラグを設定することにより、複数の通信シーケンスから１つの通信シーケンスを設定可能な変換装置における変換方法であって、
前記シーケンスフラグに第１フラグを設定して前記通信シーケンスを第１シーケンス状態とする第１の手順と、
前記第２の装置から受信したフレームがデータフレームであるかレスポンスフレームであるかを判断する第２の手順と、
前記第２の手順において、前記第２の装置から受信したフレームがレスポンスフレームと判断した場合、前記レスポンスフレームにおけるセンスデータの有無を判断する第３の手順と、
前記第３の手順において、前記レスポンスフレームに前記センスデータが有ると判断した場合、前記センスデータを前記第１の装置に出力することなく一時的に保存する第４の手順と、
異常発生フラグをセット状態として、ダミーデータを前記第１の通信制御部を介して前記第１の装置へ送信する第５の手順と、
コマンド失敗を意味するＣＳＷ（Ｃｏｍａｎｄ  Ｓｔａｔｕｓ  Ｗｒａｐｐｅｒ）を前記第１の装置に出力する第６の手順と、
前記第６の手順後に、前記シーケンスフラグを前記第１フラグから第２フラグに変更して前記通信シーケンスを第２シーケンス状態とする第７の手順と、
前記通信シーケンスが第２シーケンス状態において、前記異常発生フラグがセット状態で、前記第１の装置から前記ＣＳＷに対するリクエストセンスコマンドであるＣＢＷ（Ｃｏｍａｎｄ  Ｂｌｏｃｋ  Ｗｒａｐｐｅｒ）が入力されたときに、一時的に保存されている前記センスデータを前記第１の装置に出力する第８の手順と、
前記通信シーケンスが前記第１シーケンス状態における前記第２の手順において、前記第２の装置から受信したフレームがデータフレームと判断した場合、受信した前記データフレームをＵＳＢ規格に対応したデータに変換する第９の手順と、
前記第９の手順において、変換した前記データを前記第１の通信制御部を介して前記第１の装置に出力する第１０の手順と、を前記変換装置の制御用コンピュータに実行させるプログラム。
【請求項１０】
前記第６の手順後に、前記第１の装置から前記リクエストセンスコマンドであるＣＢＷを受け取ると、前記異常発生フラグをリセット状態とする第１１の手順を前記制御用コンピュータに更に実行させることを特徴とする請求項９に記載のプログラム。
【請求項１１】
前記第６の手順に続いて、
一時的に保存されている前記センスデータを消去する第１２の手順を前記制御用コンピュータに更に実行させることを特徴とする請求項９または１０に記載のプログラム。
【請求項１２】
請求項９〜１１のいずれか一項に記載のプログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、変換装置、情報処理システム、変換方法、プログラム及び記録媒体に係り、更に詳しくは、互いにインターフェース規格が異なる２つの装置間の通信路上に設けられる変換装置、該変換装置を備える情報処理システム、互いにインターフェース規格が異なる２つの装置間の通信路上に設けられる変換装置における変換方法、互いにインターフェース規格が異なる２つの装置間の通信路上に設けられた装置に用いられるプログラム、及び該プログラムが記録された記録媒体に関する。
【背景技術】
【０００２】
パーソナルコンピュータなどの情報処理装置は、外部機器を付加することによって、機能を拡張することが可能であり、様々なシステムの中核となる装置として用いられている。
【０００３】
そこで、情報処理装置と外部機器とを接続するためのインターフェースとして種々のものが提案された。
【０００４】
例えば、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）が、ＡＮＳＩ（米国規格協会）によって１９８６年に規格化された。
【０００５】
また、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格が、１９９６年に発表された。
【０００６】
これらの規格は、その後、転送性能の向上等を目的として拡張が行われた。例えば、ＳＣＳＩについては、シリアル化されたＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）が２００３年に標準化された。
【０００７】
例えば、特許文献１には、ＵＳＢストレージ機器が開示されている。
【０００８】
特許文献２には、ＵＳＢ−ＡＴＡＰＩインターフェイスシステムとこれに用いるＡＴＡＰＩ−ＵＳＢ変換機器が開示されている。
【０００９】
また、特許文献３には、センスデータの保持に必要なメモリ容量を低減することを目的としたセンスデータ保持方法が開示されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特許第４３８１０３６号公報
【特許文献２】特開２００１−３３７９１１号公報
【特許文献３】特開平５−２８９９５５号公報
【発明の概要】
【課題を解決するための手段】
【００１１】
発明者らは、ＵＳＢ規格に対応した第１の装置とＳＡＳ規格に対応した第２の装置との間の通信路上に設けられる変換装置を開発している。
【００１２】
そして、発明者らは、第１の装置からのＵＳＢ規格に対応した形式の情報を、ＳＡＳ規格に対応した形式に変換して第２の装置に出力するとともに、第２の装置からのＳＡＳ規格に対応した形式の情報を、ＵＳＢ規格に対応した形式の情報に変換して第１の装置に出力する変換装置を試作した。
【００１３】
この試作した変換装置（以下では、便宜上、「試作変換装置」ともいう）を介して、第１の装置としての情報処理装置と第２の装置としてのテープ装置とを接続したとき、該テープ装置に磁気テープが装着されていない等の異常があっても、その異常に関する情報が情報処理装置に通知されないという不都合があった。
【００１４】
発明者らは、種々検討を行い、上記不都合の原因を見出した。この原因について図２２を用いて説明する。
【００１５】
例えば、情報処理装置からリードコマンドが発行されると、試作変換装置は、該リードコマンドを所定のコマンドフレームに変換してテープ装置に出力する。
【００１６】
このとき、テープ装置に磁気テープが装着されていないと、テープ装置は異常の内容に関する情報が含まれるセンスデータを作成し、該センスデータが含まれる所定のレスポンスフレームを試作変換装置に出力する。なお、テープ装置では、該レスポンスフレームの出力後、センスデータはクリアされる。
【００１７】
試作変換装置は、テープ装置から上記レスポンスフレームを受け取ると、ダミーデータ及びコマンドの失敗を意味するステータス情報を情報処理装置に出力する。
【００１８】
情報処理装置は、上記ステータス情報を受け取ると、センス情報を要求するリクエストセンスコマンドを発行する。
【００１９】
試作変換装置は、該リクエストセンスコマンドを所定のコマンドフレームに変換してテープ装置に出力する。
【００２０】
テープ装置は、センス情報が含まれる所定のデータフレームを試作変換装置に出力する。但し、このとき、テープ装置では、すでにセンスデータはクリアされているため、該センス情報にはセンスデータはセットされていない。
【００２１】
試作変換装置は、テープ装置からデータフレームを受け取ると、所定の形式に変換して情報処理装置に出力する。
【００２２】
情報処理装置は、センス情報を受け取っても、センスデータがないため、テープ装置での異常内容を知ることができない。
【００２３】
本発明は、上述した発明者等の得た新規知見に基づいてなされたものであり、以下の構成を有する。
【００２４】
本発明は、第１の観点からすると、ＵＳＢ規格に対応した第１の装置とＳＡＳ規格に対応した第２の装置との間の通信路上に設けられる変換装置であって、前記ＵＳＢ規格に準拠し、前記第１の装置との通信を制御する第１の通信制御部と、前記ＳＡＳ規格に準拠し、前記第２の装置との通信を制御する第２の通信制御部と、所定のシーケンスフラグを設定することにより、複数の通信シーケンスから１つの通信シーケンスを設定可能であって、前記第２の通信制御部を介して入力された前記第２の装置から受信したフレームがデータフレームであるかレスポンスフレームであるかを判断するフレーム判断処理を実行し、前記レスポンスフレームに含まれるセンスデータを保存するためのセンスデータ格納領域を設ける処理装置とを備え、前記処理装置は、前記シーケンスフラグに第１フラグを設定して前記通信シーケンスを第１シーケンス状態とした場合おいて、前記フレーム判断処理の結果、前記第２の装置から受信したフレームがレスポンスフレームと判断した場合、前記レスポンスフレームにおける前記センスデータの有無を判断し、さらに前記レスポンスフレームに前記センスデータが有ると判断した場合は、前記センスデータを前記センスデータ格納領域に保存するとともに、異常発生フラグをセット状態として、ダミーデータを前記第１の通信制御部を介して前記第１の装置へ送信し、続いてコマンド失敗を意味するＣＳＷを前記第１の通信制御部を介して前記第１の装置に出力した後、前記シーケンスフラグを前記第１フラグから第２フラグに変更して前記通信シーケンスを第２シーケンス状態とし、前記通信シーケンスが第２シーケンス状態において、前記異常発生フラグがセット状態で前記第１の通信制御部を介して前記第１の装置から前記ＣＳＷに対するリクエストセンスコマンドであるＣＢＷが入力されると、前記センスデータ格納領域に保存された前記センスデータを前記第１の通信制御部を介して前記第１の装置に出力し、前記通信シーケンスが前記第１シーケンス状態において、前記フレーム判断処理の結果、前記第２の装置から受信したフレームがデータフレームと判断した場合は、受信した前記データフレームをＵＳＢ規格に対応したデータに変換し、当該変換後のデータを前記第１の通信制御部を介して前記第１の装置に出力することを特徴とする変換装置である。
【００２５】
これによれば、コストアップを招くことなく、ＵＳＢ規格に対応した第１の装置とＳＡＳ規格に対応した第２の装置との間の通信を正常に行うことができる。
【００２６】
本発明は、第２の観点からすると、ＵＳＢ規格に対応した第１の装置と接続される本発明の変換装置と、前記変換装置の第２の通信制御部に接続され、ＳＡＳ規格に対応した第２の装置と、を備える情報処理システムである。
【００２７】
これによれば、コストアップを招くことなく、目的に応じたシステムを構築することができる。
【００２８】
本発明は、第３の観点からすると、本発明の変換装置と、前記変換装置の第１の通信制御部に接続され、ＵＳＢ規格に対応した第１の装置と、前記変換装置の第２の通信制御部に接続され、ＳＡＳ規格に対応した第２の装置と、を備える情報処理システムである。
【００２９】
これによれば、コストアップを招くことなく、目的に応じたシステムを構築することができる。
【００３０】
本発明は、第４の観点からすると、ＵＳＢ規格に対応した第１の装置とＳＡＳ規格に対応した第２の装置との間の通信路上に設けられ、所定のシーケンスフラグを設定することにより、複数の通信シーケンスから１つの通信シーケンスを設定可能な変換装置における変換方法であって、
前記シーケンスフラグに第１フラグを設定して前記通信シーケンスを第１シーケンス状態とする第１の工程と、
前記第２の装置から受信したフレームがデータフレームであるかレスポンスフレームであるかを判断する第２の工程と、
前記第２の工程において、前記第２の装置から受信したフレームがレスポンスフレームと判断した場合、前記レスポンスフレームにおけるセンスデータの有無を判断する第３の工程と、
前記第３の工程において、前記レスポンスフレームに前記センスデータが有ると判断した場合、前記センスデータを前記第１の装置に出力することなく一時的に保存する第４の工程と、
異常発生フラグをセット状態として、ダミーデータを前記第１の通信制御部を介して前記第１の装置へ送信する第５の工程と、
コマンド失敗を意味するＣＳＷを前記第１の装置に出力する第６の工程と、
前記第６の工程後に、前記シーケンスフラグを前記第１フラグから第２フラグに変更して前記通信シーケンスを第２シーケンス状態とする第７の工程と、
前記通信シーケンスが第２シーケンス状態において、前記異常発生フラグがセット状態で、前記第１の装置から前記ＣＳＷに対するリクエストセンスコマンドであるＣＢＷが入力されたときに、一時的に保存されている前記センスデータを前記第１の装置に出力する第８の工程と、
前記通信シーケンスが前記第１シーケンス状態における前記第２の工程において、前記第２の装置から受信したフレームがデータフレームと判断した場合、受信した前記データフレームをＵＳＢ規格に対応したデータに変換する第９の工程と、
前記第９の工程において、変換した前記データを前記第１の通信制御部を介して前記第１の装置に出力する第１０の工程とを含む変換方法である。
【００３１】
これによれば、コストアップを招くことなく、ＵＳＢ規格に対応した第１の装置とＳＡＳ規格に対応した第２の装置との間の通信を正常に行うことができる。
【００３２】
本発明は、第５の観点からすると、ＵＳＢ規格に対応した第１の装置とＳＡＳ規格に対応した第２の装置との間の通信路上に設けられ、所定のシーケンスフラグを設定することにより、複数の通信シーケンスから１つの通信シーケンスを設定可能な変換装置における変換方法であって、前記シーケンスフラグに第１フラグを設定して前記通信シーケンスを第１シーケンス状態とする第１の手順と、前記第２の装置から受信したフレームがデータフレームであるかレスポンスフレームであるかを判断する第２の手順と、前記第２の手順において、前記第２の装置から受信したフレームがレスポンスフレームと判断した場合、前記レスポンスフレームにおけるセンスデータの有無を判断する第３の手順と、前記第３の手順において、前記レスポンスフレームに前記センスデータが有ると判断した場合、前記センスデータを前記第１の装置に出力することなく一時的に保存する第４の手順と、異常発生フラグをセット状態として、ダミーデータを前記第１の通信制御部を介して前記第１の装置へ送信する第５の手順と、コマンド失敗を意味するＣＳＷ（Ｃｏｍａｎｄ  Ｓｔａｔｕｓ  Ｗｒａｐｐｅｒ）を前記第１の装置に出力する第６の手順と、前記第６の手順後に、前記シーケンスフラグを前記第１フラグから第２フラグに変更して前記通信シーケンスを第２シーケンス状態とする第７の手順と、前記通信シーケンスが第２シーケンス状態において、前記異常発生フラグがセット状態で、前記第１の装置から前記ＣＳＷに対するリクエストセンスコマンドであるＣＢＷ（Ｃｏｍａｎｄ  Ｂｌｏｃｋ  Ｗｒａｐｐｅｒ）が入力されたときに、一時的に保存されている前記センスデータを前記第１の装置に出力する第８の手順と、前記通信シーケンスが前記第１シーケンス状態における前記第２の手順において、前記第２の装置から受信したフレームがデータフレームと判断した場合、受信した前記データフレームをＵＳＢ規格に対応したデータに変換する第９の手順と、前記第９の手順において、変換した前記データを前記第１の通信制御部を介して前記第１の装置に出力する第１０の手順と、を前記変換装置の制御用コンピュータに実行させるプログラムである。
【００３３】
これによれば、コストアップを招くことなく、ＵＳＢ規格に対応した第１の装置とＳＡＳ規格に対応した第２の装置との間の通信を正常に行わせることができる。
【００３４】
本発明は、第６の観点からすると、本発明のプログラムが記録されたコンピュータ読み取り可能な記録媒体である。
【００３５】
これによれば、コストアップを招くことなく、ＵＳＢ規格に対応した第１の装置とＳＡＳ規格に対応した第２の装置との間の通信を正常に行わせることができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の一実施形態に係る情報処理システムの構成を説明するための図である。
【図２】図１における情報処理装置を説明するための図である。
【図３】ＳＳＰフレームフォーマットを説明するための図である。
【図４】図３における「ＦＲＡＭＥ  ＴＹＰＥ」フィールドを説明するための図である。
【図５】図３における「ＩＮＦＯＲＭＡＴＩＯＮ  ＵＮＩＴ」フィールドにセットされるデータ（ＤＡＴＡ  ｉｎｆｏｒｍａｔｉｏｎ  ｕｎｉｔ）を説明するための図である。
【図６】図３における「ＩＮＦＯＲＭＡＴＩＯＮ  ＵＮＩＴ」フィールドにセットされるコマンド（ＣＯＭＭＡＮＤ  ｉｎｆｏｒｍａｔｉｏｎ  ｕｎｉｔ）を説明するための図である。
【図７】図３における「ＩＮＦＯＲＭＡＴＩＯＮ  ＵＮＩＴ」フィールドにセットされるレスポンス（ＲＥＳＰＯＮＳＥ  ｉｎｆｏｒｍａｔｉｏｎ  ｕｎｉｔ）を説明するための図である。
【図８】図７における「ＤＡＴＡＰＲＥＳ」フィールドを説明するための図である。
【図９】図１における変換装置を説明するための図である。
【図１０】リード（ＲＥＡＤ）コマンドを説明するための図である。
【図１１】ＣＢＷ（Ｃｏｍｍａｎｄ  Ｂｌｏｃｋ  Ｗｒａｐｐｅｒ）を説明するための図である。
【図１２】変換装置におけるＣＰＵの動作を説明するためのフローチャート（その１）である。
【図１３】ステータス情報を説明するための図である。
【図１４】センスデータのフォーマット（Ｓｅｎｓｅ  Ｄａｔａ  Ｆｏｒｍａｔ）を説明するための図である。
【図１５】変換装置におけるＣＰＵの動作を説明するためのフローチャート（その２）である。
【図１６】変換装置におけるＣＰＵの動作を説明するためのフローチャート（その３）である。
【図１７】ＣＳＷ（Ｃｏｍｍａｎｄ  Ｓｔａｔｕｓ  Ｗｒａｐｐｅｒ）を説明するための図である。
【図１８】リクエストセンス（ＲＥＱＵＥＳＴ  ＳＥＮＳＥ）コマンドを説明するための図である。
【図１９】変換装置におけるＣＰＵの動作を説明するためのフローチャート（その４）である。
【図２０】テープ装置に異常がある場合の、情報処理装置と変換装置とテープ装置との間の主なやりとりを説明するための図である。
【図２１】テープ装置に異常がない場合の、情報処理装置と変換装置とテープ装置との間の主なやりとりを説明するための図である。
【図２２】試作した変換装置の不都合を説明するための図である。
【発明を実施するための形態】
【００３７】
以下、本発明の一実施形態を図１〜図２１に基づいて説明する。図１には、一実施形態に係る情報処理システム１０の概略構成が示されている。
【００３８】
この情報処理システム１０は、情報処理装置１００と、変換装置３００と、テープ装置５００などを備えている。
【００３９】
情報処理装置１００は、一例として図２に示されるように、ＣＰＵ１１０、ＲＡＭ１２０、ＲＯＭ１３０、表示装置１４０、入力装置１５０、ＨＤＤ装置１６０、光ディスク装置１７０、ＵＳＢインターフェース（ＵＳＢ  Ｉ／Ｆ）１８０、及びＵＳＢポートＰｕなどを有している。
【００４０】
表示装置１４０は、表示器として液晶ディスプレイを含み、ＣＰＵ１１０から指示された各種情報を表示する。
【００４１】
入力装置１５０は、入力媒体としてキーボードを含み、操作者から入力された各種情報をＣＰＵ１１０に通知する。
【００４２】
ＨＤＤ装置１６０は、記録媒体であるハードディスクと、該ハードディスクに対してデータの読み書きを行うためのＲＷ装置と、ＣＰＵ１１０の指示に応じて前記ＲＷ装置を制御する制御装置などから構成されている。そして、ハードディスクには、ＯＳを含む複数のプログラム、該複数のプログラムで用いられる各種データなどが記録されている。
【００４３】
光ディスク装置１７０は、記録媒体である光ディスクに対してデータの読み書きを行うためのＲＷ装置と、ＣＰＵ１１０の指示に応じて該ＲＷ装置を制御する制御装置などから構成されている。
【００４４】
ＣＰＵ１１０は、ＲＯＭ１３０及びＲＡＭ１２０に格納されているプログラムを実行することができる。
【００４５】
ＲＯＭ１３０には、電源投入時にＣＰＵ１１０によって実行されるプログラム、いわゆるブートプログラムが格納されている。このブートプログラムが実行されると、ハードディスクに記録されているＯＳがＲＡＭ１２０に転送される。
【００４６】
ＣＰＵ１１０は、ブートプログラムの実行が完了すると、ＲＡＭ１２０に転送されたＯＳを起動する。
【００４７】
ＵＳＢポートＰｕは、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格に準拠した通信ポートである。
【００４８】
ＵＳＢインターフェース１８０は、ＵＳＢポートＰｕを介した情報の入出力を制御する。
【００４９】
ここでは、情報処理装置１００として、パーソナルコンピュータが用いられている。そして、ＯＳ（オペレーティングシステム）として、マイクロソフト社製のＷｉｎｄｏｗｓ（登録商標）が用いられている。
【００５０】
テープ装置５００は、記録媒体である磁気テープと、該磁気テープに対してデータの読み書きを行うためのＲＷ装置と、情報処理装置１００からの指示に応じて該ＲＷ装置を制御する制御装置などから構成されている。なお、磁気テープはカートリッジ化されており、取り替えることが可能である。
【００５１】
テープ装置５００は、可変長のブロックに対応しており、磁気テープには、サイズの異なる複数のブロックにそれぞれデータが記録されている。
【００５２】
テープ装置５００は、ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）規格に対応している。そして、テープ装置５００と変換装置３００との間の情報の通信におけるトランスポート層（Ｔｒａｎｓｐｏｒｔ  ｌａｙｅｒ）は、ＳＳＰ（Ｓｅｒｉａｌ  ＳＣＳＩ  Ｐｒｏｔｏｃｏｌ）トランスポート層に準拠している（例えば、「Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ  （ＳＡＳ）  Ｉｎｔｅｒｆａｃｅ  Ｍａｎｕａｌ」参照）。
【００５３】
図３には、ＳＳＰにおけるフレームのフォーマット（ＳＳＰ  ｆｒａｍｅ  ｆｏｒｍａｔ）が示されている。図３において、「ＦＲＡＭＥ  ＴＹＰＥ」フィールドに「０１ｈ」がセットされていると、該フレームは「データフレーム」であり、「ＩＮＦＯＲＭＡＴＩＯＮ  ＵＮＩＴ」フィールドにデータがセットされている（図４参照）。また、「ＦＲＡＭＥ  ＴＹＰＥ」フィールドに「０６ｈ」がセットされていると、該フレームは「コマンドフレーム」であり、「ＩＮＦＯＲＭＡＴＩＯＮ  ＵＮＩＴ」フィールドにコマンドがセットされている（図４参照）。さらに、「ＦＲＡＭＥ  ＴＹＰＥ」フィールドに「０７ｈ」がセットされていると、該フレームは「レスポンスフレーム」であり、「ＩＮＦＯＲＭＡＴＩＯＮ  ＵＮＩＴ」フィールドにレスポンスがセットされている（図４参照）。
【００５４】
図５には、上記データフレームの「ＩＮＦＯＲＭＡＴＩＯＮ  ＵＮＩＴ」フィールドにセットされるデータ（ＤＡＴＡ  ｉｎｆｏｒｍａｔｉｏｎ  ｕｎｉｔ）が示されている。
【００５５】
図６には、上記コマンドフレームの「ＩＮＦＯＲＭＡＴＩＯＮ  ＵＮＩＴ」フィールドにセットされるコマンド（ＣＯＭＭＡＮＤ  ｉｎｆｏｒｍａｔｉｏｎ  ｕｎｉｔ）が示されている。
【００５６】
図７には、上記レスポンスフレームの「ＩＮＦＯＲＭＡＴＩＯＮ  ＵＮＩＴ」フィールドにセットされるレスポンス（ＲＥＳＰＯＮＳＥ  ｉｎｆｏｒｍａｔｉｏｎ  ｕｎｉｔ）が示されている。図７において、「ＤＡＴＡＰＲＥＳ」フィールドに「００ｂ」がセットされていると、データがないことを意味している（図８参照）。また、「ＤＡＴＡＰＲＥＳ」フィールドに「０１ｂ」がセットされていると、レスポンスデータがあることを意味している（図８参照）。さらに、「ＤＡＴＡＰＲＥＳ」フィールドに「１０ｂ」がセットされていると、センスデータがあることを意味している（図８参照）。
【００５７】
変換装置３００は、一例として図９に示されるように、第１の通信制御部３１０、処理部３２０、及び第２の通信制御部３３０などを有している。
【００５８】
そして、第１の通信制御部３１０は、ＵＳＢポート３１１、ＵＳＢインターフェース３１２、ＵＳＢ送受信部３１３を有している。
【００５９】
また、第２の通信制御部３３０は、ＳＡＳポート３３１、ＳＡＳインターフェース３３２、ＳＡＳ送受信部３３３を有している。
【００６０】
ＵＳＢポート３１１は、ＵＳＢ規格に準拠した通信ポートであり、ＵＳＢケーブルを介して情報処理装置１００のＵＳＢポートＰｕに接続されている。
【００６１】
ＵＳＢインターフェース３１２は、ＵＳＢポート３１１を制御する。
【００６２】
ＵＳＢ送受信部３１３は、ＵＳＢポート３１１及びＵＳＢインターフェース３１２を介した情報処理装置１００との双方向の通信を制御する。ＵＳＢ送受信部３０５は、情報処理装置１００からの受信があると、処理部３２０に通知する。また、ＵＳＢ送受信部３１３は、処理部３２０から送信要求があると、指示された情報を、情報処理装置１００に出力する。
【００６３】
ＳＡＳポート３３１は、ＳＡＳ規格に準拠した通信ポートであり、ＳＡＳケーブルを介してテープ装置５００が接続されている。
【００６４】
ＳＡＳインターフェース３３２は、ＳＡＳポート３３１を制御する。
【００６５】
ＳＡＳ送受信部３３３は、ＳＡＳポート３３１及びＳＡＳインターフェース３３２を介したテープ装置５００との双方向の通信を制御する。ＳＡＳ送受信部３３３は、テープ装置５００からの受信があると、処理部３２０に通知する。また、ＳＡＳ送受信部３３３は、処理部３２０から送信要求があると、指示された情報をテープ装置５００に出力する。
【００６６】
処理部３２０は、ＣＰＵ３２１、ＲＯＭ３２２、及びＲＡＭ３２３を有している。
【００６７】
ＣＰＵ３２１は、ＲＯＭ３２２に格納されているプログラムを実行する。
【００６８】
ＲＯＭ３２２には、ＣＰＵ３２１にて解読可能なコードで記述された複数のプログラム、及び各プログラムの実行に用いられる複数のデータ等が格納されている。
【００６９】
ＲＡＭ３２３は、作業用のメモリである。このＲＡＭ３２３には、センスデータ（図１４及び図１５参照）が一時的に格納されるセンスデータ格納領域が設けられている。ここでは、該センスデータ格納領域の大きさは９６バイトである。なお、第２の通信制御部３３０にてセンスデータのデータ長を検知し、該センスデータ格納領域の大きさを９６バイト以下で使用することもできる。
【００７０】
次に、テープ装置５００にセットされている磁気テープに記録されているデータを、情報処理装置１００のハードディスクにコピーする場合について説明する。なお、ここでは、情報処理装置１００と変換装置３００との間のデータ転送プロトコルとして、ＵＳＢ  Ｍａｓｓ  Ｓｔｒａｇｅ  Ｃｌａｓｓ  Ｂｕｌｋ−Ｏｎｌｙ  Ｔｒａｎｓｐｏｒｔ（例えば、”Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓ  Ｂｕｌｋ−Ｏｎｌｙ  Ｔｒａｎｓｐｏｒｔ  Ｒｅｖｉｓｉｏｎ１．０”、ＵＳＢ  Ｉｍｐｌｅｍｅｎｔｅｒｓ  Ｆｏｒｕｍ、Ｓｅｐｔｅｍｂｅｒ  ３１、１９９９．参照）を使用する。
【００７１】
操作者は、入力装置１５０を介して、ＵＳＢ規格に対応したテープ装置用に作成され、テープ装置に対してデータの読み書きを行うためのアプリケーションソフトウェアであるテープＲＷソフトウェア（以下では、「テープＲＷソフトウェア６００」という）を起動させる。なお、該テープＲＷソフトウェア６００は、前記ハードディスクに記録されており、操作者の起動要求があると、ＯＳによってＲＡＭ１２０に転送され、起動される。
【００７２】
テープＲＷソフトウェア６００は、起動すると、初期メニュー画面を表示装置５１０に表示させる。
【００７３】
操作者は、磁気テープに記録されているデータのハードディスクへのコピー（以下では、便宜上、単に「コピー処理」ともいう）をテープＲＷソフトウェア６００に指示する。これにより、テープ装置５００に対するリードコマンド（図１０参照）が、情報処理装置１００から変換装置３００に出力される。なお、該リードコマンドは、図１１に示されるＣＢＷ（Ｃｏｍｍａｎｄ  Ｂｌｏｃｋ  Ｗｒａｐｐｅｒ）のフォーマットで、情報処理装置１００から出力される。
【００７４】
ここで、該ＣＢＷのフォーマットについて簡単に説明する。図１１における「ｄＣＢＷＳｉｇｎａｔｕｒｅ」は、データパケットがＣＢＷであると認知するためのフィールドである。「ｄＣＢＷＴａｇ」は、コマンドブロックタグであり、ＣＢＷと対応するＣＳＷ（Ｃｏｍｍａｎｄ  Ｓｔａｔｕｓ  Ｗｒａｐｐｅｒ）とを結びつけるために存在し、情報処理装置１００が指定する。
【００７５】
また、図１１における「ｄＣＢＷＤａｔａＴｒａｎｓｆｅｒＬｅｎｇｔｈ」は、データトランスポートの予定データ長であり、ここが０の場合、データトランスポートは存在しない。「ｂｍＣＢＷＦｌａｇｓ」は、ビット７が０の場合、データトランスポートはバルクアウト転送で行われ、ビット７が１の場合、データトランスポートはバルクイン転送で行われる。ビット６〜０は０固定である。ここでは、テープ装置５００からデータを受け取るので、上記ビット７は１である。
【００７６】
また、図１１における「ｂＣＢＷＬＵＮ」は、コマンドブロックが送られている装置の論理ユニット番号（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）である。「ｂＣＢＷＣＢＬｅｎｇｔｈ」は、次の「ＣＢＷＣＢ」フィールドの有効バイト数を表す。
【００７７】
さらに、図１１における「ＣＢＷＣＢ」は、テープ装置５００によって実行されるコマンドブロックが格納されるフィールドである。このフィールドに情報処理装置１００が実行したいコマンドがセットされる。ここでは、コマンドフォーマットとして、「ＳＣＳＩ  Ｐｒｉｍａｒｙ  Ｃｏｍｍａｎｄｓ」が用いられるように設定されている。
【００７８】
変換装置３００では、該ＣＢＷを受信すると、情報処理装置１００から受信があった旨の通知が、ＵＳＢ送受信部３１３から処理部３２０のＣＰＵ３２１になされる。
【００７９】
このときの、ＣＰＵ３２１の動作について、図１２のフローチャートを用いて説明する。図１２のフローチャートは、通信シーケンスが「アイドル状態」（シーケンスフラグ＝０）にあるときの、ＣＰＵ３２１によって実行される一連の処理アルゴリズムに対応している。
【００８０】
最初のステップＳ４０１では、情報処理装置１００からのＣＢＷを、コマンドフレームに変換する。
【００８１】
次のステップＳ４０３では、上記コマンドフレームの送信をＳＡＳ送受信部３３３に指示する。これにより、該コマンドフレームは、ＳＡＳインターフェース３３２及びＳＡＳポート３３１を介して、テープ装置５００に出力される。
【００８２】
次のステップＳ４０５では、通信シーケンスを「アイドル状態」から「テープ装置からのデータ待ち状態（第１シーケンス状態）」（第１フラグ：シーケンスフラグ＝１）に変更する。そして、通信シーケンスが「アイドル状態」にあるときの処理を終了する。
【００８３】
テープ装置５００は、変換装置３００からコマンドフレームを受信すると、ここでは、該コマンドフレームのコマンドがリードコマンドであるため、磁気テープからのデータの読み出し操作を行う。そして、テープ装置５００は、データが正常に読み出されると、該データが含まれるデータフレームを変換装置３００に出力する。
【００８４】
また、テープ装置５００は、上記データフレームを出力すると、続けて、センスデータを含まないレスポンスフレームを変換装置３００に出力する。このとき、該レスポンスフレームの「ＳＴＡＴＵＳ」フィールドには、「Ｓｔａｔｕｓ  Ｃｏｄｅ」が「ＧＯＯＤ」を意味する「００ｈ」であるステータス情報（図１３参照）がセットされている。
【００８５】
一方、テープ装置５００は、磁気テープからのデータの読み出しが正常に行われなかった場合には、データフレームを出力せずに、異常の内容を示すセンスデータ（図１４及び図１５参照）を作成し、該センスデータが含まれるレスポンスフレームを変換装置３００に出力する。このとき、該レスポンスフレームの「ＳＴＡＴＵＳ」フィールドには、「Ｓｔａｔｕｓ  Ｃｏｄｅ」が「ＣＨＥＣＫ  ＣＯＮＤＩＴＩＯＮ」を意味する「０２ｈ」であるステータス情報がセットされている。なお、テープ装置５００は、該レスポンスフレームを出力すると、ここで作成されたセンスデータを消去（クリア）する。
【００８６】
そこで、テープ装置５００に異常がない場合には、レスポンスフレームにセンスデータはなく、テープ装置５００に異常がある場合には、レスポンスフレームにセンスデータが存在することとなる。
【００８７】
変換装置３００では、テープ装置５００からのフレームを受信すると、テープ装置５００から受信があった旨の通知が、ＳＡＳ送受信部３３３から処理部３２０のＣＰＵ３２１になされる。
【００８８】
このときの、ＣＰＵ３２１の動作について、図１５及び図１６のフローチャートを用いて説明する。図１５及び図１６のフローチャートは、通信シーケンスが「テープ装置からのデータ待ち状態」にあるときに、ＣＰＵ３２１によって実行される一連の処理アルゴリズムに対応している。
【００８９】
最初のステップＳ５０１では、前記「ＦＲＡＭＥ  ＴＹＰＥ」フィールドを参照し、受信したフレームがデータフレームであるかレスポンスフレームであるかを判断するフレーム判断処理を実行する。「ＦＲＡＭＥ  ＴＹＰＥ」フィールドにセットされている値が「０１ｈ」であれば、受信したフレームがデータフレームであると判断し、ステップＳ５０３に移行する。
【００９０】
このステップＳ５０３では、受信したデータフレームを、ＵＳＢ規格に対応したデータに変換する。
【００９１】
次のステップＳ５０５では、上記データの送信をＵＳＢ送受信部３１３に指示する。これにより、該データは、ＵＳＢインターフェース３１２及びＵＳＢポート３１１を介して、情報処理装置１００に出力される。ここでは、上記「ｄＣＢＷＤａｔａＴｒａｎｓｆｅｒＬｅｎｇｔｈ」で予定された長さのデータが、データトランスポートとして出力される。そして、通信シーケンスが「テープ装置からのデータ待ち状態」にあるときの処理を終了する。
【００９２】
一方、上記ステップＳ５０１において、「ＦＲＡＭＥ  ＴＹＰＥ」フィールドにセットされている値が「０７ｈ」であれば、受信したフレームがレスポンスフレームであると判断し、図１６のステップＳ６０１に移行する。
【００９３】
このステップＳ６０１では、受信したレスポンスフレームの前記「ＤＡＴＡＰＲＥＳ」フィールドを参照し、該レスポンスフレームにセンスデータが有るか否かを判断する。「ＤＡＴＡＰＲＥＳ」フィールドにセットされている値が「１０ｂ」であれば、ここでの判断は肯定され、ステップＳ６０３に移行する。
【００９４】
このステップＳ６０３では、レスポンスフレームに含まれるセンスデータをＲＡＭ３２３のセンスデータ格納領域に保存する。
【００９５】
次のステップＳ６０５では、異常発生フラグに、テープ装置５００に異常があったことを示す１をセットする。すなわち、異常発生フラグをセット状態とする。
【００９６】
次のステップＳ６０７では、ダミーデータを作成する。
【００９７】
次のステップＳ６０９では、該ダミーデータの送信をＵＳＢ送受信部３１３に指示する。これにより、該ダミーデータは、ＵＳＢインターフェース３１２及びＵＳＢポート３１１を介して、情報処理装置１００に出力される。
【００９８】
次のステップＳ６１１では、ステータス情報として、図１７に示されるＣＳＷ（Ｃｏｍｍａｎｄ  Ｓｔａｔｕｓ  Ｗｒａｐｐｅｒ）を作成する。
【００９９】
ここで、ＣＳＷについて簡単に説明する。図１７における「ｄＣＳＷＳｉｇｎａｔｕｒｅ」フィールドは、データパケットがＣＳＷであると認知するためのフィールドである。「ｄＣＳＷＴａｇ」フィールドは、コマンドブロックタグであり、ＣＢＷにＣＳＷを結びつけるために存在し、上記ＣＢＷの「ｄＣＢＷＴａｇ」フィールドと同じ値が入る。
【０１００】
また、図１７における「ＣＳＷＤａｔａＲｅｓｉｄｕｅ」フィールドは、上記ＣＢＷの「ｄＣＢＷＤａｔａＴｒａｎｓｆｅｒＬｅｎｇｔｈ」フィールドの値と実際にテープ装置５００が処理したデータ量の相違がセットされる。「ｂＣＳＷＳｔａｔｕｓ」フィールドは、コマンドの成功あるいは失敗を意味する値がセットされる。例えば、コマンドが正常に終了した場合は「Ｃｏｍｍａｎｄ  Ｐａｓｓｅｄ」を意味する「００ｈ」がセットされ、コマンドが失敗した場合は「Ｃｏｍｍａｎｄ  Ｆａｉｌｅｄ」を意味する「０１ｈ」がセットされる。ここでは、「ｂＣＳＷＳｔａｔｕｓ」フィールドに「０１ｈ」がセットされる。
【０１０１】
次のステップＳ６１３では、該ＣＳＷの送信をＵＳＢ送受信部３１３に指示する。これにより、該ＣＳＷは、ＵＳＢインターフェース３１２及びＵＳＢポート３１１を介して、情報処理装置１００に出力される。
【０１０２】
次のステップＳ６１５では、通信シーケンスを、「テープ装置からのデータ待ち状態」から「情報処理装置からのリクエストセンス待ち状態（第２シーケンス状態）」（第２フラグ：シーケンスフラグ＝２）に変更する。そして、通信シーケンスが「テープ装置からのデータ待ち状態」にあるときの処理を終了する。
【０１０３】
一方、上記ステップＳ６０１において、「ＤＡＴＡＰＲＥＳ」フィールドにセットされている値が「１０ｂ」でなければ、ステップＳ６０１での判断は否定され、ステップＳ６２１に移行する。
【０１０４】
このステップＳ６２１では、前記「ｂＣＳＷＳｔａｔｕｓ」フィールドに正常終了を意味する「００ｈ」がセットされたＣＳＷを作成する。
【０１０５】
次のステップＳ６２３では、該ＣＳＷの送信をＵＳＢ送受信部３１３に指示する。これにより、該ＣＳＷは、ＵＳＢインターフェース３１２及びＵＳＢポート３１１を介して、情報処理装置１００に出力される。
【０１０６】
次のステップＳ６２５では、通信シーケンスを、「テープ装置からのデータ待ち状態」から「アイドル状態」（シーケンスフラグ＝０）に変更する。
【０１０７】
次のステップＳ６２７では、異常発生フラグに０をセットし、異常発生フラグをリセット状態にする。そして、通信シーケンスが「テープ装置からのデータ待ち状態」にあるときの処理を終了する。
【０１０８】
情報処理装置１００では、変換装置３００からデータ（ダミーデータを含む）を受信すると、ＣＰＵ１１０は、該データをＲＡＭ１２０に格納する。
【０１０９】
そして、情報処理装置１００では、「ｂＣＳＷＳｔａｔｕｓ」フィールドに正常終了を意味する「００ｈ」がセットされたＣＳＷを受信すると、ＣＰＵ１１０は、ＲＡＭ１２０に格納されている該データのハードディスクへの書き込みをＨＤＤ装置１６０の制御装置に指示する。これにより、磁気テープに記録されているデータは、情報処理装置１００のハードディスクにコピーされ、テープＲＷソフトウェア６００でのコピー処理が終了する。
【０１１０】
一方、情報処理装置１００は、「ｂＣＳＷＳｔａｔｕｓ」フィールドにコマンド失敗を意味する「０１ｈ」がセットされたＣＳＷを受信すると、センスデータを要求するコマンドであるリクエストセンス（ＲＥＱＵＥＳＴ  ＳＥＮＳＥ）コマンド（図１８参照）のＣＢＷを変換装置３００に出力する。
【０１１１】
変換装置３００では、該ＣＢＷを受信すると、情報処理装置１００から受信があった旨の通知が、ＵＳＢ送受信部３１３から処理部３２０のＣＰＵ３２１になされる。
【０１１２】
このときの、ＣＰＵ３２１の動作について、図１９のフローチャートを用いて説明する。図１９のフローチャートは、通信シーケンスが「情報処理装置からのリクエストセンス待ち状態」にあるときのＣＰＵ３２１によって実行される一連の処理アルゴリズムに対応している。
【０１１３】
最初のステップＳ７０１では、異常発生フラグの値が１であるか否かを判断する。異常発生フラグの値が１であれば、ここでの判断は肯定され、ステップＳ７０３に移行する。
【０１１４】
このステップＳ７０３では、異常発生フラグをクリア状態にするため、異常発生フラグに０をセットする。
【０１１５】
次のステップＳ７０５では、受信したＣＢＷのコマンドがリクエストセンスコマンドであるか否かを判断する。受信したＣＢＷのコマンドがリクエストセンスコマンドであれば、ここでの判断は肯定され、ステップＳ７０７に移行する。
【０１１６】
このステップＳ７０７では、ＲＡＭ３２３のセンスデータ格納領域に保存されているセンスデータの送信をＵＳＢ送受信部３１３に指示する。これにより、該センスデータは、ＵＳＢインターフェース３１２及びＵＳＢポート３１１を介して、情報処理装置１００に出力される。
【０１１７】
次のステップＳ７０９では、センスデータの送信を確認した後、センスデータ格納領域に保存されているセンスデータを削除する。
【０１１８】
次のステップＳ７１１では、「ｂＣＳＷＳｔａｔｕｓ」フィールドに正常終了を意味する「００ｈ」がセットされたＣＳＷを作成する。
【０１１９】
次のステップＳ７１３では、該ＣＳＷの送信をＵＳＢ送受信部３１３に指示する。これにより、該ＣＳＷは、ＵＳＢインターフェース３１２及びＵＳＢポート３１１を介して、情報処理装置１００に出力される。
【０１２０】
次のステップＳ７１５では、通信シーケンスを「情報処理装置からのリクエストセンス待ち状態」から「アイドル状態」（シーケンスフラグ＝０）に変更する。そして、通信シーケンスが「情報処理装置からのリクエストセンス待ち状態」にあるときの処理を終了する。
【０１２１】
情報処理装置１００では、上記センスデータ及び上記ＣＳＷを受信すると、テープＲＷソフトウェア６００は、テープ装置５００での異常の内容を表示装置５１０に表示させるとともに、コピー処理を中止し、操作者の指示を待つ。
【０１２２】
一方、上記ステップＳ７０５において、受信したＣＢＷのコマンドがリクエストセンスコマンドでなければ、ステップＳ７０５での判断は否定され、ステップＳ７３１に移行する。
【０１２３】
このステップＳ７３１では、該ＣＢＷをコマンドフレームに変換する。
【０１２４】
次のステップＳ７３３では、該コマンドフレームの送信をＳＡＳ送受信部３３３に指示する。これにより、該コマンドフレームは、ＳＡＳインターフェース３３２及びＳＡＳポート３３１を介して、テープ装置５００に出力される。
【０１２５】
次のステップＳ７３５では、コマンドに応じて通信シーケンスを変更する。例えば、該コマンドがリードコマンドであれば、通信シーケンスを「テープ装置からのデータ待ち状態」（シーケンスフラグ＝１）に変更する。また、該コマンドがライトコマンドであれば、通信シーケンスを「情報処理装置からのデータ待ち状態」（シーケンスフラグ＝３）に変更する。そして、通信シーケンスが「情報処理装置からのリクエストセンス待ち状態」にあるときの処理を終了する。
【０１２６】
また、上記ステップＳ７０１において、異常発生フラグの値が１でなければ、ステップＳ７０１での判断は否定され、上記ステップＳ７３１に移行する。
【０１２７】
図２０及び図２１は、前述した情報処理装置１００と変換装置３００とテープ装置５００との間の主なやりとりをわかりやすく図示したものである。なお、図２０は、テープ装置５００に異常がある場合であり、図２１は、テープ装置５００に異常がない場合である。
【０１２８】
以上の説明から明らかなように、変換装置３００のＣＰＵ３２１によって行われる処理において、本発明の変換方法が実施されている。なお、ＣＰＵ３２１によるプログラムに従う処理の少なくとも一部をハードウェアによって構成することとしても良いし、あるいは全てをハードウェアによって構成することとしても良い。
【０１２９】
また、変換装置３００のＣＰＵ３２１によって、本発明における制御用コンピュータが構成され、変換装置３００のＲＯＭ３２２によって、本発明の記録媒体が構成されている。
【０１３０】
以上説明したように、本実施形態に係る変換装置３００によると、ＵＳＢ規格に対応した情報処理装置１００とＳＡＳ規格に対応したテープ装置５００との間の通信路上に設けられ、第１の通信制御部、処理部３２０、及び第２の通信制御部３３０などを有している。
【０１３１】
そして、第１の通信制御部３１０は、ＵＳＢポート３１１、ＵＳＢインターフェース３１２、ＵＳＢ送受信部３１３を有している。また、第２の通信制御部３３０は、ＳＡＳポート３３１、ＳＡＳインターフェース３３２、ＳＡＳ送受信部３３３を有している。そして、処理部３２０は、ＣＰＵ３２１、ＲＯＭ３２２、及びＲＡＭ３２３などを有している。
【０１３２】
ＣＰＵ３２１は、情報処理装置１００からのＣＢＷをコマンドフレームに変換し、テープ装置５００に出力する。また、ＣＰＵ３２１は、テープ装置５００からのデータフレームをＵＳＢ規格に対応したデータに変換し、情報処理装置１００に出力する。
【０１３３】
また、ＣＰＵ３２１は、テープ装置５００からセンスデータを含むレスポンスフレームを受信すると、該センスデータを情報処理装置１００に転送せずに、ＲＡＭ３２３のセンスデータ格納領域に一時的に保存するとともに、コマンド失敗を意味するＣＳＷを情報処理装置１００に出力する。このとき、ＣＰＵ３２１は、異常発生フラグに、テープ装置５００に異常があったことを示す１をセットする。
【０１３４】
さらに、ＣＰＵ３２１は、異常発生フラグの値が１のときに、情報処理装置１００からリクエストセンスコマンドのＣＢＷを受信すると、ＲＡＭ３２３のセンスデータ格納領域に保存されているセンスデータを情報処理装置１００に出力する。
【０１３５】
この場合、テープ装置５００に磁気テープが装着されていない等の異常があれば、情報処理装置１００は該異常の内容を正しく知ることができる。
【０１３６】
そこで、ＵＳＢ規格に対応した情報処理装置１００とＳＡＳ規格に対応したテープ装置５００との間の通信路上に変換装置３００を配置することにより、コストアップを招くことなく、ＵＳＢ規格に対応した情報処理装置１００とＳＡＳ規格に対応したテープ装置５００との間の通信を正常に行うことが可能となる。
【０１３７】
そして、情報処理システム１０は、変換装置３００を備えているため、結果として、コストアップを招くことなく、目的に応じたシステムを構築することができる。
【０１３８】
また、上記実施形態において、磁気テープに記録されているデータを光ディスクにコピーする場合であっても、上記実施形態と同様な効果を得ることができる。
【０１３９】
また、上記実施形態において、操作者は、テープＲＷソフトウェア６００に指示して、前記ハードディスク及び光ディスクに記録されているデータをテープ装置５００にセットされている磁気テープにコピーすることができる。この場合であっても、テープ装置５００に磁気テープが装着されていない等の異常があれば、情報処理装置１００は該異常の内容を正しく知ることができる。
【０１４０】
ところで、特許文献１には、ＵＳＢストレージ機器から転送されるデータを、ＵＳＢとは異なる他のインタフェース（例えば、ＩＤＥ、ＳＣＳＩ）に変換することが記載されている。しかしながら、ＵＳＢとＳＡＳとの変換に伴う課題を解決する技術は記載されていない。
【０１４１】
また、特許文献２は、デバイスにステータス情報を書き込むステータスレジスタ、第２の機器（ＰＣ）にステータスレジスタの内容を取得するためのＵＳＢリクエストを発行する手段が記載されいる。しかしながら、ＵＳＢとＳＡＳとの変換に伴う課題を解決する技術は記載されていない。
【０１４２】
また、特許文献３には、デバイスのセンスデータ保持方法について記載されている。しかしながら、ＵＳＢとＳＡＳとの変換に伴う課題を解決する技術は記載されていない。
【０１４３】
なお、上記実施形態では、情報処理装置１００と変換装置３００との間のデータ転送プロトコルとして、ＵＳＢ  Ｍａｓｓ  Ｓｔｒａｇｅ  Ｃｌａｓｓ  Ｂｕｌｋ−Ｏｎｌｙ  Ｔｒａｎｓｐｏｒｔが使用される場合について説明したが、これに限定されるものではなく、ＵＳＢ  Ｍａｓｓ  Ｓｔｒａｇｅ  Ｃｌａｓｓ  Ｃｏｎｔｒｏｌ／Ｂｕｌｋ／Ｉｎｔｅｒｒｕｐｔ（ＣＢＩ）  Ｔｒａｎｓｐｏｒｔが使用されても良い。
【０１４４】
また、上記実施形態において、前記テープ装置５００に代えて、ＳＡＳ規格に対応した他のストレージデバイスが用いられても良い。この場合は、前記テープＲＷソフトウェア６００に代えて、該ストレージデバイスに対応したソフトウェアが用いられる。
【０１４５】
また、上記実施形態では、表示装置１４０の表示器が液晶ディスプレイの場合について説明したが、これに限定されるものではない。例えば、液晶ディスプレイに代えて、ＣＲＴディスプレイ、プラズマディスプレイ、有機ＥＬディスプレイなどを用いても良い。
【０１４６】
また、上記実施形態では、情報処理装置１００として、パーソナルコンピュータが用いられる場合について説明したが、これに限定されるものではない。
【０１４７】
また、上記実施形態では、ＯＳ（オペレーティングシステム）として、マイクロソフト社製のＷｉｎｄｏｗｓ（登録商標）が用いられる場合について説明したが、これに限定されるものではない。
【０１４８】
また、第１の通信制御部３１０の構成は、上記実施形態に限定されるものではない。
【０１４９】
また、処理部３２０の構成は、上記実施形態に限定されるものではない。
【０１５０】
また、第２の通信制御部３３０の構成は、上記実施形態に限定されるものではない。
【産業上の利用可能性】
【０１５１】
以上説明したように、本発明の変換装置は、ＵＳＢ規格に対応した装置とＳＡＳ規格に対応した装置との間の通信を正常に行うのに適している。また、本発明の情報処理システムは、目的に応じたシステムを構築するのに適している。また、本発明の変換方法は、ＵＳＢ規格に対応した装置とＳＡＳ規格に対応した装置との間の通信を正常に行うのに適している。また、本発明のプログラム及び記憶媒体は、ＵＳＢ規格に対応した装置とＳＡＳ規格に対応した装置との間の通信を正常に行わせるのに適している。
【符号の説明】
【０１５２】
１０…情報処理システム、１００…情報処理装置（第１の装置）、１１０…ＣＰＵ、１２０…ＲＡＭ、１３０…ＲＯＭ、１４０…表示装置、１５０…入力装置、１６０…ＨＤＤ装置、１７０…光ディスク装置、１８０…ＵＳＢ  Ｉ／Ｆ、３００…変換装置、３１０…第１の通信制御部、３１１…ＵＳＢポート、３１２…ＵＳＢインターフェース、３１３…ＵＳＢ送受信部、３２０…処理部（処理装置）、３２１…ＣＰＵ、３２２…ＲＯＭ（記録媒体）、３２３…ＲＡＭ、３３０…第２の通信制御部、３３１…ＳＡＳポート、３３２…ＳＡＳインターフェース、３３３…ＳＡＳ送受信部、５００…テープ装置（第２の装置）、Ｐｕ…ＵＳＢポート。
【図１】
0005491549.tif 000002
【図２】
0005491549.tif 000003
【図３】
0005491549.tif 000004
【図４】
0005491549.tif 000005
【図５】
0005491549.tif 000006
【図６】
0005491549.tif 000007
【図７】
0005491549.tif 000008
【図８】
0005491549.tif 000009
【図９】
0005491549.tif 000010
【図１０】
0005491549.tif 000011
【図１１】
0005491549.tif 000012
【図１２】
0005491549.tif 000013
【図１３】
0005491549.tif 000014
【図１４】
0005491549.tif 000015
【図１５】
0005491549.tif 000016
【図１６】
0005491549.tif 000017
【図１７】
0005491549.tif 000018
【図１８】
0005491549.tif 000019
【図１９】
0005491549.tif 000020
【図２０】
0005491549.tif 000021
【図２１】
0005491549.tif 000022
【図２２】
0005491549.tif 000023