(57)【要約】      （修正有）【課題】異なる方式のインタフェースを有するハードウェアを接続するためのインタフェース変換装置及びインタフェース変換方法において、一方のハードウェアから他方のハードウェアへのデータ転送にエラーが発生した場合に、適切なデータ再転送を可能とする。【解決手段】ＵＳＢ２とＳＡＳ４との間でインタフェース変換を行うインタフェース変換装置１０において、ＵＳＢ２に向けて転送完了済みデータのデータサイズを転送データ情報記憶手段１８に記憶しておき、エラー発生時にＳＡＳ４からのデータの再送信が行われたとき、転送済みデータ判別及び破棄手段２０において、再送信されたデータの累積サイズが転送済みデータのデータサイズに至るまで、再送信データを読み捨てし、再送信データの累積サイズが転送済みデータのデータサイズを超えたら、ＳＡＳ４からのデータのＵＳＢ２への転送処理を再開する。【選択図】図１
2014096162.tif 000002
【特許請求の範囲】
【請求項１】
ＳＡＳインタフェースである第１のインタフェースを有する第１の装置とデータの転送速度が前記ＳＡＳインタフェースとは異なるＵＳＢインタフェースである第２のインタフェースを有する第２の装置との間でインタフェース変換を行うインタフェース変換装置において、
前記第１の装置からのデータを前記第１のインタフェースを介して受け取るデータ受信手段と、
前記データ受信手段により受け取ったデータを前記第２のインタフェースに適合した方式に変換するデータ変換手段と、
前記データ変換手段により変換されたデータを前記第２のインタフェースを介して前記第２の装置に転送するデータ転送手段と、
前記データ転送手段により前記第２の装置に転送されたデータに関する情報を記憶する転送データ情報記憶手段と、
前記第１の装置から前記第２の装置へのデータ転送におけるエラー発生の判断がなされたときに、前記第１の装置から再送信されてきたデータのうち、前記転送データ情報記憶手段に記憶された情報に基づいて、前記エラー発生前に既に前記第２の装置に転送されていると判別されたデータ以外のデータについてのみ、前記データ変換手段と前記データ転送手段と前記データ記憶手段による処理を再開するデータ転送再開手段と
を備えることを特徴とするインタフェース変換装置。
【請求項２】
前記第１のインタフェースは、エラー発生時のデータ再送信において、当初送信されるべきであった全データの再送信を行うものである一方、前記第２のインタフェースは、エラー発生時のデータ再送信において、当初送信されるべきであった全データのうち、エラー発生前に既に転送されたデータ以外の転送を受けつけるものであることを特徴とする請求項１に記載のインタフェース変換装置。
【請求項３】
前記転送データ情報記憶手段に記憶された転送されたデータに関する情報は、前記第２の装置に転送済みのデータ量の指標となる情報であることを特徴とする請求項１または２に記載のインタフェース変換装置。
【請求項４】
前記転送済みのデータ量の指標となる情報が、前記第２の装置に転送済みデータ量であることを特徴とする請求項３に記載のインタフェース変換装置。
【請求項５】
前記第１の装置から転送されるデータが、データフレームの形式で転送されるデータであり、
前記転送済みのデータ量の指標となる情報が、前記第２の装置に転送済みのデータフレームの数であることを特徴とする請求項３に記載のインタフェース変換装置。
【請求項６】
前記エラー発生の判断は、前記第２の装置におけるデータの受け取りが所定時間以上にわたって停滞した場合になされることを特徴とする請求項１〜５のいずれか１項に記載のインタフェース変換装置。
【請求項７】
前記転送データ情報記憶手段に記憶された転送されたデータに関する情報は、前記データ受信手段から前記データ変換手段に転送済みのデータ量の指標となる情報であることを特徴とする請求項１または２に記載のインタフェース変換装置。
【請求項８】
前記第１の装置から転送されるデータが、データフレームの形式で転送されるデータであり、
前記転送済みのデータ量の指標となる情報が、前記データ受信手段から前記データ変換手段に転送済みのデータフレームの数であることを特徴とする請求項７に記載のインタフェース変換装置。
【請求項９】
ＳＡＳインタフェースである第１のインタフェースを有する第１の装置とデータの転送速度が前記ＳＡＳインタフェースとは異なるＵＳＢインタフェースである第２のインタフェースを有する第２の装置との間でインタフェース変換を行うインタフェース変換方法において、
前記第１の装置からのデータを前記第１のインタフェースを介して受け取るステップと、
前記第１の装置から受け取ったデータを前記第２のインタフェースに適合した方式に変換するステップと、
前記第２のインタフェースに適合した方式に変換されたデータを前記第２のインタフェースを介して前記第２の装置に転送するステップと、
前記第２の装置に転送されたデータに関する情報を記憶するステップと、
前記第１の装置から前記第２の装置へのデータ転送におけるエラー発生を判断するステップと、
前記データ転送におけるエラー発生の判断がなされたときに、前記第１の装置から再送信されてきたデータのうち、前記転送データ情報記憶手段に記憶された情報に基づいて、前記エラー発生前に既に前記第２の装置に転送されていると判別されたデータ以外のデータについてのみ、データの変換と転送及び転送されたデータに関する情報の記憶を再開するステップと
を備えたことを特徴とするインタフェース変換方法。
【請求項１０】
ＳＡＳインタフェースである第１のインタフェースを有する第１の装置とデータの転送速度が前記ＳＡＳインタフェースとは異なるＵＳＢインタフェースである第２のインタフェースを有する第２の装置との間に接続され、前記第１の装置からのデータを前記第２のインタフェースに対応する方式に変換して前記第２の装置に転送するインタフェース変換装置において、
前記第１の装置から前記第２の装置へのデータ送信に発生したエラーに起因して、前記第１の装置から前記第２の装置へのデータ再送信が行われた場合に、前記第１の装置から再送信されたデータのうち、前記エラー発生前に既に前記第２の装置に転送されているデータ以外のデータのみを前記第２の装置に転送することを特徴とするインタフェース変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なる方式のインタフェースを有するハードウェアを接続するためのインタフェース変換装置及びインタフェース変換方法に関し、特に、一方のハードウェアから他方のハードウェアへのデータ転送にエラーが発生した場合に、適切なデータ再転送を可能とするインタフェース変換装置及びインタフェース変換方法に関する。
【背景技術】
【０００２】
従来から、ハードウェアを他のハードウェアと接続するためのインタフェースとしては、ハードウェアの性質に応じて、様々な処理方式のものが用いられている。例えば、パソコンにおいては、近年、ＵＳＢ（ユニバーサル・シリアル・バス、Universal Serial Bus）が標準装備されるようになり、プリンタや外付けハードディスク等の様々な周辺機器との接続が、ＵＳＢを介してなされるようになってきている。一方、ＬＴＯ（リニア・テープ・オープン、Linear Tape-Open）装置等のハイエンド機器では、データ転送の信頼性確保のため、例えばＳＡＳ（サス、Serial Attached SCSI）等のＵＳＢとは異なるインタフェースが用いられている。
【０００３】
ところで、異なる通信方式のインタフェースを接続する場合には、両インタフェース間にインタフェース変換装置を介在させて、このインタフェース変換装置においてデータ形式を変換する必要がある。
【０００４】
図４は、このような従来のインタフェース変換装置において、どのようにデータ転送がなされるかを示す図である。図示されるように、ホストコンピュータ１は、インタフェースとしてＵＳＢ２を備えている一方、テープデバイス（ＬＴＯ装置）３は、インタフェースとしてＳＡＳ４を備えている。インタフェース変換装置５は、ＵＳＢ２とＳＡＳ４の間に接続されている。
【０００５】
このような構成において、テープデバイス３からホストコンピュータ１に向けてデータ転送を行う場合、図４の（ａ）に示すように、ＵＳＢ２からデータ転送要求であるＣＢＷ（Command Block Wrapper）が送信される。インタフェース変換装置５は、ＣＢＷをＳＡＳに適した形式であるコマンドフレームに変換して、ＳＡＳ４に向けて送信する。
【０００６】
データ転送要求であるコマンドフレームを受けたＳＡＳ４は、送信すべきデータをテープデバイス３から読み込み、図４の（ｂ）に示すように、読み込んだデータを所定のフレームサイズで区切られたデータフレームとして、インタフェース変換装置５に向けて順次送信していく。データフレームの送信を受けたインタフェース変換装置５は、受け取ったデータフレームを、所定のパケットサイズに区切られたデータパケットに変換して、ＵＳＢ２に向けて順次転送していく。
【０００７】
テープデバイス３から転送されるべき全データの転送が終了すると、図４の（ｆ）に示すように、ＳＡＳ４からデータ転送終了の通知であるレスポンスフレームの送信がなされる。インタフェース変換装置５は、このレスポンスフレームをＣＳＷ（Command Status Wrapper）に変換してＵＳＢ２へ送信し、転送処理が終了する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第４３８１０３６号公報
【特許文献２】特開２００１‐３３７９１１号公報
【特許文献３】特開２０１１‐１４１２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、異なる方式のインタフェース間でデータ転送を行うためには、様々な技術手法をあらたに講じる必要がある。そして、本発明者らは、各インタフェースのデータ転送速度が異なる場合に、データ転送エラーが生じ得ることに思い至った。例えば、ＵＳＢとＳＡＳ間でデータ転送を行う場合、図４の（ｃ）に示すように、ＵＳＢ２によるデータパケットの受け取りが完了しないまま、所定時間（例えば１ｍｓ）以上が経過してしまうことがある。この場合、図４の（ｄ）に示すように、インタフェース変換装置５又はテープデバイス３においてタイムアウト（データ転送失敗）との判断がなされ、図４の（ｅ）に示すように、ＳＡＳ４からＵＳＢ２に向けてのデータ再送信がなされることになる。
【００１０】
このようなエラー発生時のデータ再送信においては、インタフェースによる再送信データの処理方法の違いから、送信されるべきデータと実際に送信されるデータとの間でデータの不整合が生じてしまい得る。例えば、ＳＡＳにおいてデータの再送信がなされる場合、当初送信されるべきであった全データを最初から再送信するのに対して、再送信データを受信するＵＳＢにおいては、エラー発生前に既に送信完了が確認されているデータについては再送信が予定されておらず、エラー発生時までに送信完了済みのデータから後のデータについてのみ、再送信が予定されている。このため、図４の（ｅ）に示すように、インタフェース変換装置５がエラー発生時の再送信データをそのまま転送してしまうと、ＳＡＳ４が、送信されるべきであった全データを最初から送信してくるのに対して、ＵＳＢ２では、この最初からの再送信データを、既に送信完了済みのデータよりも後のデータ（すなわち、全データの途中からの再送信データ）として受け取ることになり、この結果、ＳＡＳ４からの転送データとＵＳＢ２で実際に受け取ったデータの間で不一致が生じてしまう。
【００１１】
そして、本発明者らはさらに鋭意探索を行った結果、この各インタフェースのデータ転送速度の差に起因したデータ転送エラーの際に生じる不都合が発生した場合においても、以下の手法を用いることにより、適切なデータ転送を維持することが可能であることを見出した。すなわち、異なる方式のインタフェースを有するハードウェアを接続するためのインタフェース変換装置及びインタフェース変換方法において、一方のハードウェアから他方のハードウェアへのデータ転送にエラーが発生した場合に、適切なデータ再転送を可能とするインタフェース変換装置及びインタフェース変換方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
第１の発明は、ＳＡＳインタフェースである第１のインタフェースを有する第１の装置とデータの転送速度が前記ＳＡＳインタフェースとは異なるＵＳＢインタフェースである第２のインタフェースを有する第２の装置との間でインタフェース変換を行うインタフェース変換装置において、第１の装置からのデータを第１のインタフェースを介して受け取るデータ受信手段と、データ受信手段により受け取ったデータを第２のインタフェースに適合した方式に変換するデータ変換手段と、データ変換手段により変換されたデータを第２のインタフェースを介して第２の装置に転送するデータ転送手段と、データ転送手段により第２の装置に転送されたデータに関する情報を記憶する転送データ情報記憶手段と、第１の装置から第２の装置へのデータ転送におけるエラー発生の判断がなされたときに、第１の装置から再送信されてきたデータのうち、転送データ情報記憶手段に記憶された情報に基づいて、エラー発生前に既に第２の装置に転送されていると判別されたデータ以外のデータについてのみ、データ変換手段とデータ転送手段とデータ記憶手段による処理を再開するデータ転送再開手段とを備えた。
【００１３】
第２の発明は、第１の発明において、第１のインタフェースは、エラー発生時のデータ再送信において、当初送信されるべきであった全データの再送信を行うものである一方、第２のインタフェースは、エラー発生時のデータ再送信において、当初送信されるべきであった全データのうち、エラー発生前に既に転送されたデータ以外の転送を受けつけるものであってもよい。
【００１４】
第３の発明は、第１または第２の発明において、転送データ情報記憶手段に記憶された転送されたデータに関する情報は、第２の装置に転送済みのデータ量の指標となる情報であってもよい。
【００１５】
第４の発明は、第３の発明において、転送済みのデータ量の指標となる情報が、第２の装置に転送済みデータ量であってもよい。
【００１６】
第５の発明は、第３の発明において、第１の装置から転送されるデータが、データフレームの形式で転送されるデータであり、転送済みのデータ量の指標となる情報が、第２の装置に転送済みのデータフレームの数であってもよい。
【００１７】
第６の発明は、第１〜第５の発明において、のいずれかにおいて、エラー発生の判断は、第２の装置におけるデータの受け取りが所定時間以上にわたって停滞した場合になされてもよい。
【００１８】
第７の発明は、第１または第２の発明において、また、転送データ情報記憶手段に記憶された転送されたデータに関する情報は、データ受信手段からデータ変換手段に転送済みのデータ量の指標となる情報であってもよい。
【００１９】
第８の発明は、第７の発明において、また、第１の装置から転送されるデータが、データフレームの形式で転送されるデータであり、転送済みのデータ量の指標となる情報が、データ受信手段からデータ変換手段に転送済みのデータフレームの数であってもよい。
【００２０】
また、第９の発明は、ＳＡＳインタフェースである第１のインタフェースを有する第１の装置とデータの転送速度が前記ＳＡＳインタフェースとは異なるＵＳＢインタフェースである第２のインタフェースを有する第２の装置との間でインタフェース変換を行うインタフェース変換方法において、第１の装置からのデータを第１のインタフェースを介して受け取るステップと、第１の装置から受け取ったデータを第２のインタフェースに適合した方式に変換するステップと、第２のインタフェースに適合した方式に変換されたデータを第２のインタフェースを介して第２の装置に転送するステップと、第２の装置に転送されたデータに関する情報を記憶するステップと、第１の装置から第２の装置へのデータ転送におけるエラー発生を判断するステップと、データ転送におけるエラー発生の判断がなされたときに、第１の装置から再送信されてきたデータのうち、転送データ情報記憶手段に記憶された情報に基づいて、エラー発生前に既に第２の装置に転送されていると判別されたデータ以外のデータについてのみ、データの変換と転送及び転送されたデータに関する情報の記憶を再開するステップとを備えた。
【００２１】
また、第１０の発明は、ＳＡＳインタフェースである第１のインタフェースを有する第１の装置とデータの転送速度が前記ＳＡＳインタフェースとは異なるＵＳＢインタフェースである第２のインタフェースを有する第２の装置との間に接続され、第１の装置からのデータを第２のインタフェースに対応する方式に変換して第２の装置に転送するインタフェース変換装置において、第１の装置から第２の装置へのデータ送信に発生したエラーに起因して、第１の装置から第２の装置へのデータ再送信が行われた場合に、第１の装置から再送信されたデータのうち、エラー発生前に既に第２の装置に転送されているデータ以外のデータのみを第２の装置に転送するようにした。
【発明の効果】
【００２２】
本発明によれば、第１のインタフェース（例えばＳＡＳ）を有する第１の装置（例えばテープデバイス３）と第２のインタフェース（例えばＵＳＢ）を有する第２の装置（例えばホストコンピュータ１）との間でインタフェース変換を行うインタフェース変換装置又はインタフェース変換方法において、データ転送エラーの発生に起因してデータの再転送が行われる場合、第１のインタフェースから再送信されてきたデータのうち、エラー発生前に第２の装置に転送完了済みのデータ以外のデータのみを、第２の装置に転送するようにしたので、例えば、データ再転送時に、第１の装置が当初送信されるべきであった全データの転送を行うものであるのに対して、第２の装置が既に送信完了済みのデータ以外のデータを受け付けるものであったとしても、第１の装置から第２の装置に転送されるべきデータと実際に第２の装置に転送されたデータとの間で不一致が生じることがなく、適切なデータ再転送を行うことができる。
【００２３】
また、本発明によれば、適切なデータ再転送は、再送信されてきたデータの一部を読み捨てる（破棄する）単純な処理だけで達成できるので、例えば、データ再転送を適切に行うために、第１又は第２のインタフェースの独自プロトコルを作成し、この独自プロトコルに対応するための変更を第１又は第２の装置に加える等の複雑な処置を必要としない。したがって、インタフェース変換装置だけに必要最小限の変更を加えるだけで、適切なデータ転送が可能となり、コスト削減を達成できるともに、他の機器への影響も最小限とすることができる。
【００２４】
また、転送されたデータに関する情報として、転送完了済みデータのデータサイズを記憶しておき、再送信されてきたデータが既に第２の装置に転送完了したデータであるか否かの判断を転送完了済みデータのデータサイズに基づいて行うようにすれば、第２の装置に再転送すべきデータを判断するために、必要最小限の情報を保持しておくだけで済み、また、データサイズの大小関係の比較だけで、正確な判断を簡単に行うことができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１の実施形態におけるインタフェース変換装置を示すブロック構成図である。
【図２】本発明の第１の実施形態におけるデータ転送を説明するための概略図である。
【図３】本発明の第１の実施形態のインタフェース変換装置を用いたインタフェース変換方法の手順を示すフローチャートである。
【図４】従来のインタフェース変換装置におけるデータ転送を説明するための概略図である。
【図５】本発明の第１の実施形態に係るインタフェース変換装置の構成図である。
【図６】本発明の第２の実施形態におけるインタフェース変換装置を示すブロック構成図である。
【図７】本発明の第２の実施形態におけるデータ転送を説明するための概略図である。
【図８】本発明の第２の実施形態のインタフェース変換装置を用いたインタフェース変換方法の手順を示すフローチャートである。
【図９】本発明の第２の実施形態の変形例１のインタフェース変換装置を示すブロック構成図である。
【図１０】同じく変形例２のインタフェース変換装置を示すブロック構成図である。
【図１１】同じく変形例３のインタフェース変換装置に係るデータ転送を説明するための概略図である。
【図１２】同じく変形例４のインタフェース変換装置に係るデータ転送を説明するための概略図である。
【図１３】同じく変形例５のインタフェース変換装置に係るデータ転送を説明するための概略図である。
【発明を実施するための形態】
【００２６】
（第１の実施形態）
以下、添付図面に基づいて本発明の第１の実施形態について説明する。なお、以下に説明する本実施形態は例示であって、特許請求の範囲に記載された本発明の範囲を不当に制限するものではない。
図１には、本発明の実施形態におけるインタフェース変換装置１０を、ブロック構成図で示す。図示されるように、インタフェース変換装置１０は、ホストコンピュータ１のインタフェースであるＵＳＢ２と、テープデバイス（ＬＴＯ装置）３のインタフェースであるＳＡＳ４との間に配置され、ＵＳＢ２とＳＡＳ４とを接続している。インタフェース変換装置１０は、例えば、ＵＳＢ２とＳＡＳ４との間に介装される変換基板として構成され得る。
【００２７】
インタフェース変換装置１０は、方式（プロトコル及びフォーマット）の異なる２つのインタフェース（本実施形態ではＵＳＢ及びＳＡＳ）の一方からのデータを、他方に適した方式に変換するためのデータ変換手段１１を備えている。インタフェース変換装置１０は、更に、データ転送要求を受信するデータ転送要求受信手段１２と、データ転送要求を送信するデータ転送要求送信手段１３と、転送データを受信するデータ受信手段１４と、転送データを送信するデータ転送手段１５と、データ転送終了を示す通知を受信するデータ転送終了通知受信手段１６と、データ転送終了を示す通知を送信するデータ転送終了通知送信手段１７とを備えている。
【００２８】
詳しく説明すると、テープデバイス３のデータをホストコンピュータ１に読み込む場合、ＵＳＢ２からのデータ転送要求であるＣＢＷ（Ｃｏｍｍａｎｄ  Ｂｌｏｃｋ  Ｗｒａｐｐｅｒ）が、データ転送要求受信手段１２により受信され、データ変換手段１１によってＳＡＳに適したデータ形式であるコマンドフレームに変換され、データ転送要求送信手段１３によりＳＡＳ４に向けて送信される。このデータ転送要求に基づいてデータ転送が開始されると、ＳＡＳ４から転送データとして送信されてきたデータフレームが、データ受信手段１４により受信され、データ変換手段１１によってＵＳＢに適したデータ形式であるデータパケットに変換されて、データ転送手段１５によりＵＳＢ２に向けて送信される。更に、データ転送終了時には、ＳＡＳ４からのデータ転送終了通知であるレスポンスフレームがデータ転送終了通知受信手段１６により受信され、データ変換手段１１によりＣＳＷ（Ｃｏｍｍａｎｄ  Ｓｔａｔｕｓ  Ｗｒａｐｐｅｒ）に変換されて、データ転送終了通知送信手段１７によってＵＳＢ２に向けて送信されるようになっている。
【００２９】
なお、ホストコンピュータ１のデータをテープデバイス３に書き込む場合には、ホストコンピュータ１より発せられたデータ受信要求としてのＣＢＷがＵＳＢ２を介してＳＡＳ４に向けて送信される。そして、ホストコンピュータ１からデータ転送が開始されると、データ変換手段１１によって適切なデータ形式に変換されて、ＳＡＳ４に向けてデータが順次送信される。データ転送終了時には、書き込みの終了を通知するＣＳＷが、データ転送終了通知送信手段１７によってＵＳＢ２に向けて送信されるようになっている。
【００３０】
インタフェース変換装置１０は、更に、転送データ情報記憶手段１８と、エラー発生判断手段１９と、転送済みデータ判別及び破棄手段２０と、データ転送再開手段２１とを備えている。
【００３１】
転送データ情報記憶手段１８は、テープデバイス３からホストコンピュータ１に向けてデータ転送がなされたときに、ＵＳＢ２に転送完了済みとなったデータに関する情報を記憶する手段である。具体的に、転送データ情報記憶手段１８は、データ転送要求に応じて転送されるべき全データのうち、その時点までに、ＵＳＢ２において受信が完了したデータのデータサイズを記憶するようになっている。
【００３２】
エラー発生判断手段１９は、インタフェース変換装置１０によるデータ転送処理において、データの再転送が必要となるようなエラーが発生したか否かを判断する手段である。例えば、エラー発生判断手段１９は、転送データのＵＳＢ２による受信が停滞して、所定時間（例えば１ｍｓ）以上の時間が経過してしまったときに、エラー発生との判断を行うようになっている。具体的には、ＵＳＢ２に対する各データパケットの送信毎に、ＵＳＢ２からの受信確認通知であるＡＣＫ信号が確認され、ＡＣＫ信号がデータパケットの送信後に所定時間以上にわたって確認なされなかったときに、エラー発生の判定がなされることになる。
【００３３】
なお、本実施形態では、インタフェース変換装置１０内に、エラー発生判断手段１９を備えるようにしたが、本発明はこのような形態に限られるものではなく、例えば、テープデバイス３においてデータ転送エラー発生の判断を行うようにして、インタフェース変換装置１０は、テープデバイス３から通知されたエラー発生の判断に基づいて処理を行うようにしてもよい。
【００３４】
転送済みデータ判別及び破棄手段２０は、転送データの再転送が行われた場合に、ＳＡＳ４から受信した再転送データについて、転送データ情報記憶手段１８に記憶されている情報に基づいて、エラー発生前のデータ転送において既にＵＳＢ２での受信が完了しているデータであるか否かについての判別を行い、転送完了済みデータである場合に、そのデータを破棄（読み捨て）することにより、ＵＳＢ２に対して重複した転送がなされないようにする手段である。具体的に、転送済みデータ判別及び破棄手段２０は、ＳＡＳ４から順次再送信されてきたデータの累積サイズを算出し、この累積サイズが、転送データ情報記憶手段１８において記憶されている転送完了済みのデータサイズに至るまで、再送信されてきたデータを読み捨てていく。この場合、ＳＡＳ４から再送信されてくるデータは、エラー発生前のデータ転送と同じ順序で送信されてくるので、転送完了済みのデータサイズに至るまで読み捨てを行えば、既にＵＳＢ２に転送が完了しているデータのみが、適切に破棄されることになる。
【００３５】
データ転送再開手段２１は、ＳＡＳ４からのデータ再送信が行われた場合、以前のデータ転送において既にＵＳＢ２で受信完了しているデータ以外のデータについて、ＵＳＢ２に対するデータ転送を再開する手段である。具体的に、データ転送再開手段２１は、ＳＡＳ４からの再送信データのデータサイズが、転送データ情報記憶手段１８により記憶された転送済みデータのデータサイズを超えたところから、データ変換手段１１によるデータ変換、データ転送手段１５によるデータ転送、及び転送データ情報記憶手段１８による転送済みデータサイズの記憶を再開させるようになっている。この場合、転送データ情報記憶手段１８における転送済みデータサイズの値は、エラー発生時点における転送済みデータサイズに、ＵＳＢ２へのデータ転送再開後に転送されたデータのサイズを、順次累積していった値となる。
【００３６】
なお、インタフェース変換装置１０を具体的な変換基板とする場合の具体的な構成としては、上記各手段のうち、例えば、データ変換手段１１、データ転送要求受信手段１２、データ転送要求送信手段１３、データ受信手段１４、データ転送手段１５、データ転送終了通知受信手段１６、データ転送終了通知送信手段１７、エラー発生判断手段１９、転送済みデータ判別及び破棄手段２０、及びデータ転送再開手段２１の各手段を変換基板内に設けられたＣＰＵにより構成し、転送データ情報記憶手段１８等の各手段を変換基板内に設けられたメモリにより構成すればよい。
【００３７】
図２は、本実施形態のインタフェース変換装置１０によるデータ転送を説明するための図である。データ転送の開始にあたっては、（ａ）に示すように、ＵＳＢ２からのデータ転送要求であるＣＢＷが、インタフェース変換装置１０においてコマンドフレームに変換されて、ＳＡＳ４に送信される。このデータ転送要求を受けて、（ｂ）に示すように、ＳＡＳ４からのデータがデータフレームとして送信され、インタフェース変換装置１０においてデータパケットへと変換されて、ＵＳＢ２に送信される。このようにＵＳＢ２へのデータ転送が行われると、（ｃ）に示すように、転送完了済みのデータサイズが記憶される。テープデバイス３からホストコンピュータ１に送られるべき全データの送信が、特にエラーが発生することなく終了したら、（ｉ）に示すように、ＳＡＳ４からのデータ転送終了通知であるレスポンスフレームが、インタフェース変換装置１０においてＣＳＷに変換されてＵＳＢ２に送信され、転送処理が終了する。
【００３８】
このようなデータ転送において、（ｄ）に示すように、ＵＳＢ２におけるデータパケットの受信が停滞した状態で所定時間（例えば１ｍｓ）以上が経過した場合、（ｅ）に示すように、インタフェース変換装置１０においてタイムアウト（エラー発生）の判定がなされ、（ｆ）に示すように、ＳＡＳ４からのデータフレームの再転送が開始される。この場合、ＳＡＳ４からのデータ送信は、データ転送要求にしたがって転送されるべき全データの最初からなされるが、このように再送信されてきたデータは、（ｇ）に示すように、再送信データの累積サイズが転送完了済みデータサイズに至るまで読み捨てられる。すなわち、再転送データのうち、既にＵＳＢ２への転送完了済みのデータは、データ変換及び転送が行われることなく、破棄される。このような転送完了済みデータの読み捨てが終了し、ＳＡＳ４からの再送信データが、まだＵＳＢ２に転送が成功していないデータとなったら、（ｈ）に示すように、ＵＳＢ２へのデータ転送が再開され、ＳＡＳ４から再送信されてきたデータフレームがデータパケットに変換されて、ＵＳＢ２へと送信される。なお、（ｅ）インタフェース変換装置１０においてタイムアウトの判定を行う代わりに、次の方法でもエラーの検出は可能である。すなわち、（ｅ’）テープデバイス等のデータストレージ用デバイスがタイムアウトを発生し、インタフェース変換装置１０に対してデータの再転送を要求する。一方、そのタイムアウトを、インタフェース変換装置１０内のデータ変換手段１１やデータ転送要求送信手段１３，データ受信手段１４等が検出し、テープデバイス等のデータストレージデバイスからの上記データ再転送要求に対して、再転送を許可し、それを受けたデータストレージデバイスがデータを再転送する。
【００３９】
次に、図３のフローチャートに基づいて、本実施形態のインタフェース変換装置１０を用いたインタフェース変換方法について詳細に説明する。
フローチャートのステップＳ１では、インタフェース変換装置１０におけるデータ転送要求受信手段１２が、ＵＳＢ２からのデータ転送要求であるＣＢＷを受信する。ステップＳ２においては、データ変換手段１１において、ＣＢＷがＳＡＳに適したデータ形式であるコマンドフレームに変換される。ステップＳ３においては、データ転送要求送信手段１３が、データ転送要求であるコマンドフレームを、ＳＡＳ４に向けて送信する。
【００４０】
続いて、ステップＳ４において、インタフェース変換装置１０のデータ受信手段１４により、ＳＡＳ４からのデータの受信がなされる。具体的には、ＳＡＳ４からのデータは、所定のフレームサイズに区切られた少なくとも１つのデータフレームとして順次送信され、データ受信手段１４により順次受信される。ステップＳ５においては、データフレームとしてＳＡＳ４から送信されてきたデータが、データ変換手段１１によって、所定のパケットサイズに区切られた少なくとも１つのデータパケットに変換される。ステップＳ６においては、データ変換手段１１により作成されたデータパケットが、データ転送手段１５によりＵＳＢ２に向けて順次転送される。
【００４１】
ステップＳ７においては、インタフェース変換装置１０のエラー発生判断手段１９において、ＵＳＢ２へのデータ転送にエラーが発生したか否かの判断がなされる。例えば、インタフェース変換装置１０のデータ転送手段１５からＵＳＢ２に向けてデータパケットの転送が行われたのに対し、ＵＳＢ２におけるデータ受信の完了が所定時間以上にわたって確認されなかった場合、エラー発生判断手段によるエラー発生の判断がなされる。具体的には、各データパケットの送信後、そのデータパケットがＵＳＢ２において正しく受信されたことを通知するＡＣＫ信号（肯定応答信号）がＵＳＢ２から送信されて来ないままで、所定時間（例えば１ｍｓ）以上が経過した場合、ＵＳＢ２へのデータ転送にエラーが発生したとの判断がなされる。エラーが発生した際に、エラー発生判断手段１９は、データ受信手段１４がＳＡＳ４からのデータを受信しないように制御する。そのため、テープデバイス３はデータを送信出来ない状態で処理が停滞しタイムアウトが発生する。発生したタイムアウトをエラー発生判断手段１９が検出する。
なお、エラー発生判断手段１９によるエラー発生の判断は、このようなデータ転送が停滞した場合のエラーに限られるものではなく、ＵＳＢ２に対するデータ転送に何らかの問題が生じて、正しいデータ転送が行われなかったことが確認された場合には、エラー発生との判断がなされることになる。
【００４２】
ステップＳ７において、データ転送エラー発生との判断がなされなかった場合には、ステップＳ８に進み、転送データ情報記憶手段１８に、転送済みデータに関する情報として、その時点までにＵＳＢ２に対してデータ転送が完了したデータ（転送済みデータ）のデータサイズ（データ量）が記憶される。具体的には、各データパケットの送信毎に、そのデータパケットがＵＳＢ２において正しく受信されたことを示すＡＣＫ信号が確認され、ＡＣＫ信号によりデータ転送の成功が確認されたデータパケットのバイト数を累積して加算していくことにより、その時点での転送完了済みデータのデータ量が算出され、転送データ情報記憶手段１８に記憶されることになる。
【００４３】
なお、ＵＳＢ２へのデータ転送は、データパケット毎に行われるので、上記ステップＳ６、ステップＳ７及びステップＳ８における処理は、実際には、一つ一つのデータパケットの転送毎に繰り返されることになる。そこで、上記のようなデータ量の代わりに、転送完了済みのフレーム数をカウントしてそれを転送データ情報記憶手段１８に格納したり、あるいは、送信済みのパケットの数をカウントする手法を用いてもよい。
【００４４】
また、本実施形態では、転送データ情報記憶手段１８に記憶される転送済みデータに関する情報は、転送完了済みデータのデータサイズとしたが、本発明は、このような形態に限られるものではなく、転送されるべき全データのうち、どのデータがＵＳＢ２に転送完了しているものであるかを示す情報であれば、どのような情報であっても構わない。また、転送完了済みデータのデータ量の算出に、ＡＣＫ信号によりデータ転送の成功が確認されたデータパケットのバイト数を累積して加算していく方法を採用する代わりに、図３には示されない以下の方法も採用可能である。すなわち、インタフェース変換装置１０のデータ変換手段１１，転送データ情報記憶手段１８，データ転送手段１５，データ受信手段１４，またはデータ転送終了通知受信手段１６等の側の所定の場所に、バッファ等の一時的なストレージの手段を有している場合に、例えばデータ受信手段１４からデータ変換手段１１への転送が完了した段階で、その転送済みデータ量をカウントし、それを読み飛ばしサイズとすることも可能である。
【００４５】
ステップＳ８で転送済みデータに関する情報の記憶がなされたら、ステップＳ９において、データ転送終了通知受信手段１６が、ＳＡＳ４からのデータ転送終了通知（レスポンスフレーム）を受信したか否かが確認される。ＳＡＳ４からのデータ転送終了通知がない場合には、ステップＳ４に戻って、ＳＡＳ４からの転送データ受信以下のステップが繰り返される。一方、ＳＡＳ４からのデータ転送終了通知があった場合には、ステップＳ１０に進み、ＳＡＳ４からのデータ転送終了通知であるレスポンスフレームが、データ変換手段１１によりＣＳＷにデータ変換される。続いて、ステップＳ１１において、データ転送終了通知送信手段１７が、データ転送終了通知であるＣＳＷを、ＵＳＢ２に向けて送信することにより、処理が終了する。
【００４６】
一方、ステップＳ７において、エラー発生判断手段１９によるデータ転送エラー発生の判断がなされた場合には、ステップＳ１２に進み、データ再転送要求を許可する。
【００４７】
ステップＳ１３においては、データ受信手段１４が、データ再送信許可に従い、インタフェース変換装置１０はテープデバイス３が送信したデータ再送信許可要求に対しデータの再送信許可を返す。続いて、ステップＳ１４において、転送済みデータ判別及び破棄手段２０が、再送信されてきたデータが既にＵＳＢ２に転送が完了したデータであるか否かの判断を行い、転送完了済みデータである場合には、ステップＳ１５に進み、その再送信データを破棄（読み捨て）する。
【００４８】
具体的に、転送済みデータ判別及び破棄手段２０は、データ再送信開始後にＳＡＳ４から順次送信されてきた再送信データのバイト数を加算していくことにより、累積バイト数を算出し、この再送信データの累積バイト数が、転送データ情報記憶手段１８に記憶されている転送完了済みデータのデータサイズ（バイト数）以下である場合は、その時点までに再送信されてきたデータは転送完了済みデータと同一であると判断し、再送信されてきたデータを破棄する。一方、再送信データの累積バイト数が、転送完了済みデータのデータサイズよりも大きくなったら、まだＵＳＢ２に転送されていないデータと判断する。
【００４９】
ステップＳ１４において、転送完了済みデータであるとの判断がなされ、ステップＳ１５において、そのデータの破棄がなされたら、ステップＳ１３に戻って、転送済みデータ判別及び破棄手段２０による処理が継続される。一方、ステップＳ１４において、再送信データが転送完了済みデータではないデータに至ったとの判断がなされたら、ステップＳ５に戻り、通常のデータ転送処理が再開される。
【００５０】
なお、転送済みデータ判別及び破棄手段２０における処理は、転送完了済みデータがＵＳＢ２に対して再転送されてしまうことを適切に禁止し得る処理であればよく、このための転送完了済みデータであるか否かの判定方法も、また転送完了済みであると判断された再送信データの処理方法も、転送完了済みデータの重複転送を禁止し得る限り、任意の方法を採用し得る。
【００５１】
以上のように、本実施形態のインタフェース変換装置１０及びインタフェース変換方法によれば、データ転送エラーの発生に起因してデータの再転送が行われる場合、ＳＡＳ４から、当初送信されるべきであった全データの再送信がなされるのに対して、既にＵＳＢ２に対して転送完了済みのデータと同一のデータは破棄され、転送完了していないデータについてのみ、ＵＳＢ２に対する転送が行われる。したがって、ＵＳＢ２は、再転送において受信を予定しているデータ（当初送信されるべきであった全データのうち、まだ転送完了していないデータ）のみを、適切に再受信することになる。よって、エラー発生時のデータ再転送においても、テープデバイス３から送信されるべきデータと、実際にホストコンピュータ１に送信されるデータとの間に、データの不整合が生じることはなく、適切なデータ再転送を行うことができる。
【００５２】
また、このような適切なデータ再転送は、再送信されてきたデータの一部を読み捨てる単純な処理だけで達成されるので、例えば、データ再転送を適切に行うために、ＵＳＢ又はＳＡＳの独自プロトコルを作成し、この独自プロトコル対応のための変更をホストコンピュータ１又はテープデバイス３に加える等の複雑な処置を必要としない。したがって、インタフェース変換装置だけに必要最小限の変更を加えるだけで、ＵＳＢとＳＡＳ間の適切なデータ再転送が可能となり、コストを削減できるとともに、他の機器への影響も最小限とすることができる。
【００５３】
また、ＳＡＳ４から再送信されてきたデータが、ＵＳＢ２に既に転送完了したデータであるか否かの判断は、ＵＳＢ２への転送完了済みデータのデータサイズに基づいてなされるので、この判断のために、必要最小限の情報を保持しておくだけで済み、また、データサイズの大小関係の比較だけで、正確な判断を容易に行うことができる。
【００５４】
なお、上記実施形態では、インタフェース変換装置１０を、ＵＳＢとＳＡＳ間でインタフェース変換を行うものとしたが、本発明の適用範囲は、ＵＳＢとＳＡＳ間のインタフェース変換に限られるものではなく、本発明は、ＵＳＢ及びＳＡＳ以外の様々な方式のインタフェース間のインタフェース変換に対しても適用され得るものである。
【００５５】
次に、図５に示すように、本発明の第１の実施の形態に係るインタフェース変換装置１０は、中央処理制御装置１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３及び入出力インタフェース１０９が、バス１１０を介して接続されている。入出力インタフェース１０９には、入力装置１０４、表示装置１０５、通信制御装置１０６、記憶装置１０７及びリムーバブルディスク１０８が接続されている。
【００５６】
中央処理制御装置１０１は、入力装置１０４からの入力信号に基づいてＲＯＭ１０２からインタフェース変換装置１０等を起動するためのブートプログラムを読み出して実行し、さらに記憶装置１０７に記憶されたオペレーティングシステムを読み出す。さらに中央処理制御装置１０１は、入力装置１０４や通信制御装置１０６等の入力信号に基づいて、各種装置の制御を行い、ＲＡＭ１０３や記憶装置１０７等に記憶されたプログラム及びデータを読み出してＲＡＭ１０３にロードするとともに、ＲＡＭ１０３から読み出されたプログラムのコマンドに基づいて、データの計算または加工など、前述した一連の処理を実現する処理装置である。
【００５７】
入力装置１０４は、操作者（ユーザおよびオペレータ等）が各種の操作を入力するキーボード、マウスなどの入力デバイスにより構成されており、操作者が実施する操作に基づいて入力信号を作成し、入出力インタフェース１０９及びバス１１０を介して中央処理制御装置１０１に送信される。表示装置１０５は、ＣＲＴ（Cathode Ray Tube）ディスプレイや液晶ディスプレイ等であり、中央処理制御装置１０１からバス１１０及び入出力インタフェース１０９を介して表示装置１０５において表示させる出力信号を受信し、例えば中央処理制御装置１０１の処理結果等を表示する装置である。通信制御装置１０６は、ＬＡＮカードやモデム等の装置であり、インタフェース変換装置１０等をインターネットやＬＡＮ等の通信ネットワークに接続する装置である。通信制御装置１０６を介して通信ネットワークと送受信したデータは入力信号または出力信号として、入出力インタフェース１０９及びバス１１０を介して中央処理制御装置１０１に送受信される。
【００５８】
記憶装置１０７は、半導体記憶装置や磁気ディスク装置等であって、中央処理制御装置１０１で実行されるプログラムやデータが記憶されている。リムーバブルディスク１０８は、光ディスクやフレキシブルディスクのことであり、ディスクドライブによって読み書きされた信号は、入出力インタフェース１０９及びバス１１０を介して中央処理制御装置１０１に送受信される。本発明の第１の実施の形態に係る記憶装置１０７は、転送データ情報記憶手段１８に該当する。
【００５９】
本発明の第１の実施の形態に係るインタフェース変換装置１０の転送データ情報記憶手段１８は、記憶装置１０７が該当し、ＳＡＳ４からＵＳＢ２へのデータ転送の際に一時的に蓄積されるデータと共に、分割されたデータの転送完了時毎に記憶されるデータサイズ等の情報が格納される。また、データ変換手段１１、データ転送要求受信手段１２、データ転送要求送信手段１３、データ受信手段１４、データ転送手段１５、データ転送終了通知受信手段１６、データ転送終了通知送信手段１７、エラー発生判断手段１９、転送済みデータ判別及び破棄手段２０およびデータ転送再開手段２１等はインタフェース変換装置１０の全体を制御する中央演算処理装置（ＣＰＵ）の一部として中央処理制御装置１０１を構成する。さらに、データ転送エラー時のデータ再送信処理に関するプログラムがインタフェース変換装置１０の中央処理制御装置１０１に読み込まれ実行されることによって、転送済みデータ判別及び破棄手段２０およびデータ転送再開手段２１等に実装される。
【００６０】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。
図６に示すように、インタフェース変換装置３０は、第１のインタフェース４の通信方式に適合したデータを、第２のインタフェース２の通信方式に適合したデータ形式に変換するデータ変換部３３と、第１のインタフェース４から受信したデータをデータ変換部３３へ送信する第１のデータ送受信部３１と、データ変換部３３による変換後のデータを記憶するデータ記憶部３４と、データ記憶部３４から受信したデータを第２のインタフェース２へ送信する第２のデータ送受信部３２とを設ける。
【００６１】
以下、第１の装置３をストレージデバイスの一つであるテープデバイス３、第１のインタフェース４をSerial Attached SCSIであるＳＡＳ４、第２の装置１を所定のＯＳ（Operating System）が搭載されたパーソナルコンピュータであるホストコンピュータ１、第２のインタフェース２をUniversal Serial BusであるＵＳＢ２と想定して説明する。
【００６２】
従って、例えば、第２の装置１のリードコマンドに基づいて、第２のインタフェース２が送信するコマンドは、後述するＣＢＷであり、第１のインタフェース４が受信するコマンドは、後述するコマンドフレームである。また、第１のインタフェース４が送信するレスポンスは、後述するレスポンスフレームであり、第２のインタフェース２が受信するレスポンスは、例えば、後述するＣＳＷである。
なお、装置やインタフェース等はこれらのものに限定されることはない。
【００６３】
第１の装置３は通信インタフェースとして第１のインタフェース４を設ける。
【００６４】
ここで、第２の装置（ホストコンピュータ）１が処理するデータは、第１の装置（テープデバイス）３の記憶媒体である磁気テープにブロックという形式のデータに複数に分割され記録される。なお、ブロック単位で分割されたデータをデータブロックという。また、第２の装置１において扱われるファイルはそのサイズによって複数のデータブロックに分割される。
【００６５】
また、第２のインタフェース２がＣＢＷを送信してからＣＳＷを受信するまで、あるいは第１のインタフェース４がコマンドフレームを受信してからレスポンスフレームを送信するまでの一連のコマンドに基づいて転送されるデータは１ブロックである。また、当該ブロックは第１のインタフェース４のデータが送信（転送）される経路内において、フレーム単位に分割され転送される。
【００６６】
第１の装置３及びインタフェース変換装置３０間、換言すると第１のインタフェース（ＳＡＳ）４における通信のトランスポート層はＳＳＰ（Serial SCSI Protocol）トランスポート層に準拠している。
【００６７】
ＳＳＰにおいては、上述のフレームは、複数のフレームのタイプ（型）が規定されている。例えば、フレームのタイプは、所定のフィールドにデータがセットされたデータフレーム、所定のフィールドにコマンドがセットされたコマンドフレーム、所定のフィールドにレスポンスがセットされたレスポンスフレーム等がある。
【００６８】
即ち、第１の装置３とインタフェース変換装置３０との間においては、データフレーム、コマンドフレーム（データ転送要求ともいう）、レスポンスフレーム（データ転送終了通知ともいう）が送受信される。
具体的には、第２の装置１のリードコマンドに対応して、第１のインタフェースがコマンドフレームを受信する。また、コマンドフレームに基づいて、第１の装置３がデータを送信する際、第１のインタフェース４がデータフレームを送信する。また、データフレームの送信が終了した結果（応答）であるレスポンスとして、第１のインタフェースがレスポンスフレームを送信する。
なお、データフレーム、コマンドフレーム及びレスポンスフレームは、第１のインタフェース４の通信方式に適合したデータ形式のデータである。
【００６９】
図６に示すように、第２の装置１は通信インタフェースとして第２のインタフェース２を設ける。
【００７０】
ここで、第２のインタフェース（ＵＳＢ）２のデータが転送される経路内において、上述のブロックは、パケット単位に分割され転送される。なお、パケット単位で分割されたデータをデータパケットいう。
【００７１】
第２の装置１及びインタフェース変換装置３０間、換言すると第２のインタフェース（ＵＳＢ）２における通信プロトコル（データ転送プロトコル）として、バルクオンリー転送を採用する。
例えば、図６の構成において、第２の装置１がリードコマンドを送信する際、当該コマンドは、第２のインタフェース２によってＣＢＷのフォーマットで送信される（このコマンドを、単にＣＢＷ、またはデータ転送要求という）。
【００７２】
ＣＢＷは複数の情報等を有しており、例えば、ＣＢＷと対応するＣＳＷと結びつけるための情報、データトランスポートの予定データ長に係る情報、バルクイン転送かバルクアウト転送かを決定付ける情報等がある。
【００７３】
そして、第２の装置１のリードコマンドに対応して、第１のインタフェース４が、第１の装置３に記憶された複数のブロックデータの１ブロック分をデータフレームに分割して送信した後、コマンドに対するステータスに係る情報（コマンドを正常に達成できたか、エラーとなったか等の情報）を含むレスポンスがＣＳＷのフォーマットで送信される（このレスポンスを、単にＣＳＷまたはデータ転送終了通知という）。
なお、ＣＢＷ、ＣＳＷ、及びデータパケットは、第２のインタフェース２の通信方式に適合したデータ形式のデータである。
【００７４】
（第１のデータ送受信部３１）
第１のデータ送受信部３１は、第１のインタフェース４、データ変換部３３、データ記憶部３４に接続される。
また、第１のデータ送受信部３１は、データ転送要求送信手段１３と、データ受信手段１４と、データ転送終了通知受信手段１６とを設ける。
第１のデータ送受信部３１は、第１のインタフェース４から送信されたデータ（データフレーム、レスポンスフレーム）を受信するとともにデータ変換部３３へ送信する。また、データ変換部３３から受信したデータ（コマンドフレーム）を第１のインタフェース４へ送信する。
【００７５】
具体的には、データ転送要求送信手段１３は、データ変換部３３により変換されたコマンドフレームを受信するとともに第１のインタフェース４へ送信する。
データ受信手段１４は、第１のインタフェース４から送信（転送）されたデータフレームを受信するとともにデータ変換部３３へ送信する。
データ転送終了通知受信手段１６は、第１のインタフェース４から送信（転送）されたレスポンスフレームを受信するとともにデータ変換部３３へ送信する。
【００７６】
（データ変換部３３）
図６に示すように、データ変換部３３は、第１のデータ送受信部３１、第２のデータ送受信部３２及びデータ記憶部３４に接続され、第１の実施形態のデータ変換手段１１の機能を含む。
即ち、第１のインタフェース４の通信方式に適合したデータを第２のインタフェース２の通信方式に適合したデータ形式に変換する（以下、第１変換処理ともいう）。
また、第２のインタフェース２の通信方式に適合したデータを第１のインタフェース４の通信方式に適合したデータ形式に変換する（以下、第２変換処理ともいう）。
【００７７】
具体的には、データ変換部３３は、第１変換処理として、第１のデータ送受信部３１から送信されたデータフレームを受信してデータパケットに変換する。また、第１のデータ送受信部３１から送信されたレスポンスフレームを受信してＣＳＷに変換する。
また、第２変換処理として、第２のデータ送受信部３２から送信されたＣＢＷを受信してコマンドフレームに変換する。
データ変換部３３は、変換後のデータをデータ記憶部３４へ送信する。
【００７８】
（データ記憶部３４）
図６に示すように、データ記憶部３４は、第１のデータ送受信部３１、第２のデータ送受信部３２及びデータ変換部３３に接続される。
データ記憶部３４は、データ変換部３３により変換されたデータまたはレスポンスを受信して記憶する。
具体的には、データ変換部３３により、データフレームが変換されたデータパケット、レスポンスフレームが変換されたＣＳＷを記憶する。
【００７９】
データ記憶部３４は、データブロックの１ブロックを格納可能な容量を有する。即ち、１つのコマンドで転送されるデータブロックを格納（記憶）することができる。データブロックのサイズは１〜１６７７７２１５ｂｙｔｅに規定されているため、データ記憶部３４の記憶域として１６７７７２１５ｂｙｔｅ以上の容量を確保すればよい。
【００８０】
また、データ記憶部３４は、データの上書き処理を行う。
即ち、第２のインタフェース２が送信した１つのコマンド（ＣＢＷ）に基づいて、第１のインタフェース４により複数のデータブロックのうち１ブロック（便宜的に第１のブロックという）分のデータフレームが送信（転送）されて、第２のインタフェース２がＣＳＷの受信したことによって、１つのコマンドに対する処理が終了した後、次の１つのコマンド（ＣＢＷ）に基づいて、第１のブロックに隣接する１ブロック（便宜的に第２のブロックという）が送信（転送）された場合、データ記憶部３４は、既に記憶されている第１のブロックに係るデータパケットを第２のブロックに係るデータパケットに順次上書きして記憶する。
データ記憶部３４は、記憶済みのデータを第２のデータ送受信部３２へ送信する。
【００８１】
（第２のデータ送受信部３２）
図６に示すように、第２のデータ送受信部３２は、第２のインタフェース２、データ変換部３３、データ記憶部３４に接続される。
また、データ転送要求受信手段１２と、データ転送手段１５と、データ転送終了通知送信手段１７とを設ける。
第２のデータ送受信部３２は、第２のインタフェース２から送信されたデータ（ＣＢＷ）を受信するとともに、データ変換部３３へ送信し、データ記憶部３４から送信されたデータ（データパケット、ＣＳＷ）を受信するとともに、第２のインタフェース２へ送信する。
【００８２】
具体的には、データ転送要求受信手段１２は、第２のインタフェース２から送信（転送）されたＣＢＷを受信するとともにデータ変換部３３へ送信する。
データ転送手段１５は、データ変換部３３により変換され、データ記憶部３４に記憶されているデータパケットを受信するとともに第２のインタフェース２へ送信する。
データ転送終了通知送信手段１７は、データ変換部３３により変換され、データ記憶部３４に記憶されているＣＳＷを、受信するとともに第２のインタフェース２へ送信する。
【００８３】
また、データ転送終了通知送信手段１７がＣＳＷを第２のインタフェース２へ送信するタイミングは、第２のインタフェース２が、コマンドに応じて送信されるべきデータパケットの全てを受信した後である。
これにより、第１のインタフェース（ＳＡＳ）４の転送速度が第２のインタフェース（ＵＳＢ）２の転送速度よりも早いという転送速度の差によって、データパケット送信中にＣＳＷが第２のインタフェース２へ送信されてしまうという不具合を防止することができる。
【００８４】
第２のデータ送受信部３２は、データ記憶部３４に記憶されている複数のデータパケットを受信して、ＦＩＦＯに従って、順次第２のインタフェース２へ送信する。また、第２のデータ送受信部３２は、データパケットの送信間隔の大小に依存せずにデータパケットを送信する。換言すると、データの送信間隔が大きくなったとしても、第２のデータ送受信部３２は、データパケットの送信を待機させて、所定のタイミングで送信を再開する。
これにより、第２のデータ送受信部３２がデータパケットを第２のインタフェース２へ送信する際、第１のインタフェース（ＳＡＳ）４のデータの転送速度が第２のインタフェース（ＵＳＢ）２の転送速度よりも早いという転送速度の差に起因して、第２のインタフェース２の処理（受信）が間に合わず、送信間隔が所定時間（例えば、１ｍｓ）以上の開き（以下、単に、データの転送速度の差によるデータの転送待ちという）が生じてしまった場合であっても、第２のデータ送受信部３２はデータの送信を待機し、第２のインタフェース２の処理が完了し次第（所定のタイミングで）、未送信のデータパケットから順次送信する。
これにより、たとえデータの転送速度の差によるデータパケットの転送待ちが発生したとしても、データパケットが前後して送信されるようなことはなく、確実にデータを送信することができ、インタフェース変換装置３０の信頼性の向上を図ることができる。
【００８５】
（インタフェース変換装置３０によるデータ転送について）
図７を参照して、インタフェース変換装置３０によるデータ転送について説明する。なお、本説明において、第１の装置３をテープデバイス３、第１のインタフェース４をＳＡＳ４、第２の装置１をホストコンピュータ１、第２のインタフェース２をＵＳＢ２、第１及び第２のデータ送受信部３１、３２をＰＣＩ（Peripheral Component Interconnect）バスであるＰＣＩバス３１、３２、データ変換部３３を、データ変換に係る処理機能を有するＣＰＵ（Central Processing Unit）であるＣＰＵ３３、データ記憶部３４をＲＡＭ（Random Access Memory）であるＲＡＭ３４として説明する。
また、テープデバイス３からホストコンピュータ１へのデータ転送の契機として、例えば、操作者が、ホストコンピュータ１に対して、磁気テープに記録されているデータをハードディスクへのコピー（以下、単にコピー処理という）をするように指示することを想定する。なお、インタフェース変換装置３０の作動や制御等に関係のない処理等については説明を省略する。
【００８６】
操作者の指示により、ホストコンピュータ１はテープデバイス３に対してデータの読み込み命令であるリードコマンドを送信する。その際、図７中（ａ）に示すように、ＵＳＢ２はＣＢＷをインタフェース変換装置３０へ送信（転送）し、ＰＣＩバス３２は受信したＣＢＷをＣＰＵ３３へ送信し、ＣＰＵ３３は受信したＣＢＷをコマンドフレームに変換し、ＰＣＩバス３１は変換されたコマンドフレームを所定のタイミングでＳＡＳ４へ送信する。
【００８７】
次いで、テープデバイス３はコマンドフレームに基づくデータ（ブロックデータ）をホストコンピュータ１へ送信する。その際、図中（ｂ）及び（ｃ）に示すように、ＳＡＳ４はブロックデータを分割したデータフレームをＰＣＩバス３１に送信（転送）し、ＰＣＩバス３１は受信したデータフレームをＣＰＵ３３へ送信し、ＣＰＵ３３は受信したデータフレームをデータパケットに変換してＲＡＭ３４へ送信し、ＲＡＭ３４は受信したデータパケットを記憶域に記憶する。このような流れで、リードコマンドに基づいて１ブロック分の全てのデータフレームをデータパケットに変換し、ＲＡＭ３４に記憶することができる。
【００８８】
ＳＡＳ４は、ブロックデータの１ブロック分の全てのデータフレームをＰＣＩバス３１に送信すると、図中（ｄ）に示すように、レスポンスフレームをＰＣＩバス３１へ送信（転送）し、ＰＣＩバス３１は受信したレスポンスフレームをＣＰＵ３３へ送信し、ＣＰＵ３３は受信したレスポンスフレームをＣＳＷに変換してＲＡＭ３４へ送信し、ＲＡＭ３４は受信したＣＳＷを記憶する。
このように、全てのデータパケットをＵＳＢ２が受信してから送信されるべきであるＣＳＷをＲＡＭ３４に記憶させるという、時間的な緩衝機能を持たせることによって、後述するように、ＰＣＩバス３２は適切なタイミングでＣＳＷをＵＳＢ２へ送信することができる。
【００８９】
以上の（ｂ）〜（ｄ）までがＳＡＳ４側の処理ということができる。
このように、テープデバイス３及びインタフェース変換装置３０間で処理を略完結させることができるため、ＵＳＢ２の通信の影響を受けないようにして、データフレームに分割したブロックの全てを送信し続けることが可能となる。従って、ＵＳＢ２及びＳＡＳ４間におけるデータの転送速度の差によるデータの転送待ち（タイムアウト）を解消することができ、エラーの発生率を低減させることができる。
【００９０】
次いで、図中（ｅ）に示すように、ＰＣＩバス３２は、ＲＡＭ３４に記憶されたデータパケットを受信して、ＵＳＢ２へ送信する。
【００９１】
ここで、図中（ｆ）に示すように、何らかの原因で、ＵＳＢ２によるデータパケットの受信ができずに所定時間（例えば１ｍｓ）以上が経過してしまうことがある。
その際、ＰＣＩバス３２は、データパケットの送信を待機する。
【００９２】
そして、ＵＳＢ２の受信に係る処理が完了し次第、図中（ｇ）に示すように、データを途中から、換言すると未送信のデータパケットをＵＳＢ２へ送信を開始する。
【００９３】
図中（ｈ）に示すように、ＰＣＩバス３２は、最後のデータパケットを受信してＵＳＢ２へ送信することによって、１ブロック分の全てのデータが送信される。
図中（ｉ）に示すように、ＰＣＩバス３２は、上記（ｈ）の最後のデータパケットをＵＳＢ２へ送信した後、ＲＡＭ３４に記憶されたＣＳＷをＵＳＢ２へ送信する。
以上の（ｅ）〜（ｉ）までがＵＳＢ２側の処理ということができる。
なお、（ａ）はＳＡＳ４側及びＵＳＢ２側の処理を跨いでいる。
【００９４】
（インタフェース変換装置３０を用いたインタフェース変換方法の手順に係るフロー）
図８を参照して、インタフェース変換装置３０を用いたインタフェース変換方法の手順について説明する。
図８に示すように、ステップＳ２３〜ステップＳ２８（ＳＡＳ（第１のインタフェース）４側の処理ステップ）及びステップＳ２９〜ステップＳ３３（ＵＳＢ（第２のインタフェース）２側の処理ステップ）は、ステップＳ２２の後に並列処理として実行される。
なお、データ転送の契機として、上述と同様、例えば、操作者が、ホストコンピュータ（第２の装置）１に対してコピー処理を指示することを想定する。なお、インタフェース変換装置３０の作動や制御等に関係のない処理等については説明を省略する。
【００９５】
操作者の指示により、ホストコンピュータ１はリードコマンドを送信する。その際、ＰＣＩバス（第２のデータ送受信部）３２は、ＵＳＢ２から送信されたデータ転送要求であるＣＢＷを受信する（ステップＳ２０）。
ＣＰＵ（データ変換部）３３は、ＰＣＩバス３２から受信したＣＢＷを同じくデータ転送要求であるコマンドフレームに変換（第２変換処理）する（ステップＳ２１）。
ＰＣＩバス（第１のデータ送受信部）３１は、第２変換処理されたコマンドフレームをＳＡＳ４へ送信する（ステップＳ２２）。
【００９６】
続いて、ＳＡＳ側の一連の処理方法として、ＰＣＩバス３１は、ＳＡＳ４により分割されて送信されたデータフレーム（ブロックデータの１ブロック分）を受信する（ステップＳ２３）。そして、ＣＰＵ３３は、データフレームをデータパケットに変換（第１変換処理）する（ステップＳ２４）。
【００９７】
ＲＡＭ（データ記憶部）３４は、第１変換処理されたデータパケットを記憶域に順次記憶する。（ステップＳ２５）。
ここで、ＣＰＵ３３は、ＳＡＳ４から送信されたデータ転送終了通知であるレスポンスフレームを、ＰＣＩバス３１を介して受信した場合（ステップＳ２６でＹＥＳ）、同じくデータ転送終了通知であるＣＳＷに変換（第１変換処理）する（ステップＳ２７）。
次いで、ＲＡＭ３４は、第１変換処理されたＣＳＷを記憶域に記憶する。（ステップＳ２８）。
一方、ステップＳ２６において、ＣＰＵ３３が、ＳＡＳ４から送信されたデータ転送終了通知であるレスポンスフレームを受信していない場合（ステップＳ２６でＮＯ）、ステップＳ２３の処理に戻る。
【００９８】
次に、ステップＳ２２の処理に続くＵＳＢ２側の処理方法として、まず、ＲＡＭ３４がデータパケットを記憶している場合（ステップＳ２９でＹＥＳ）、ＰＣＩバス３２は、ＲＡＭ３４に記憶されているデータパケットを受信してＵＳＢ２へ送信する（ステップＳ３０）。
一方、ステップＳ２９において、ＲＡＭ３４がデータパケットを記憶していない場合（ステップＳ２９でＮＯ）、当該条件判断が繰り返し行われる。
【００９９】
ＰＣＩバス３２によりＵＳＢ４に全てのデータパケット（１ブロック分）が送信され（ステップＳ３１でＹＥＳ）、さらに、ＲＡＭ３４にＣＳＷが記憶されている場合（ステップＳ３２でＹＥＳ）、ＰＣＩバス３２は、記憶されているＣＳＷをＵＳＢ２へ送信する（ステップＳ３３）。
一方、ステップＳ３１において、ＰＣＩバス３２によりＵＳＢ４に全てのデータパケット（１ブロック分）が送信されていない場合（ステップＳ３１でＮＯ）、ステップＳ３０の処理に戻る。また、ステップＳ３２において、ＲＡＭ３４にＣＳＷが記憶されていない場合（ステップＳ３２でＮＯ）、当該条件判断が繰り返し行われる。
【０１００】
以上、本発明の第１及び第２の実施形態について説明したが、本発明の要旨を逸脱しない範囲内で、本実施形態のインタフェース変換装置１０、３０に対して、次のような変形や変更を施すことが可能である。なお、上述の本発明の２つの実施形態、及び後述する変形例におけるそれぞれの構成要件、構成部の配置、データの流れ等を適宜組み合わせることが可能である。
【０１０１】
（第２の実施形態の変形例１）
図９に示すように、インタフェース変換装置３０Ａは、データの送受信を行う構成部としてデータ送受信装置４０を備える。
データ送受信装置４０は、ＣＢＷ及びコマンドフレームなどのコマンドを送受信するコマンド送受信部４１と、データを送受信するデータ送受信部４２と、ＣＳＷ及びレスポンスコマンドなどのレスポンスを送受信するレスポンス送受信部４３とを設ける。
【０１０２】
即ち、コマンド送受信部４１は、データ転送要求受信手段１２及びデータ転送要求送信手段１３と同様の機能を含み、データ送受信部４２は、データ受信手段１４及びデータ転送手段１５と同様の機能を含み、レスポンス送受信部４３は、データ転送終了通知受信手段１６及びデータ転送終了通知送信手段１７と同様の機能を含む。
【０１０３】
例えば、コマンド送受信部４１は、第２の装置１のリードコマンドに基づいて第２のインタフェース２が送信するＣＢＷを受信するとともに、データ変換部へ送信する。また、データ変換部３３により変換されたコマンドフレームを受信するとともに、第１のインタフェース４へ送信する。
データ送受信部４２は、コマンドフレームに基づいて第１のインタフェースにより送信されるデータフレームを受信するとともに、データ変換部３３へ送信する。また、データ変換部３３により変換された後、データ記憶部３４に記憶されたデータパケットを受信するとともに、第２のインタフェース２へ送信する。
レスポンス送受信部４３は、第１のインタフェースが全てのデータフレームを送信した後に送信するレスポンスフレームを受信するとともに、データ変換部３３へ送信する。また、データ変換部３３により変換された後、データ記憶部３４に記憶されたＣＳＷを受信するとともに、第１のインタフェース２へ送信する。
【０１０４】
（第２の実施形態の変形例２）
図１０に示すように、インタフェース変換装置３０Ｂは、データ記憶部３４に接続されるデータ削除部３９を備える。データ削除部３９は、第２の実施形態のデータ記憶部３４の上書き処理の代わりに、ＵＳＢ２にＣＳＷが送信されたことに基づいて、データ記憶部３４の記憶域に記憶されている不要となったデータを削除する。
即ち、第２のインタフェース２が送信した１つのコマンド（ＣＢＷ）に基づいて、第１のインタフェース４によりデータブロックの１ブロック（便宜的に第３ブロックという）分のデータフレームが送信（転送）されて、第２のインタフェース２がＣＳＷの受信したことによって、１つのコマンドに対する処理が終了した後、データ削除部３９は、第３ブロックに係るデータを削除する。
【０１０５】
（第２の実施形態の変形例３）
図１１に示すように、ＣＰＵ（データ変換部）３３をＵＳＢ２側に設け、ＲＡＭ（データ記憶部）３４をＳＡＳ４側に設ける。
【０１０６】
図中（ｂ’）及び（ｃ’）に示すように、ＳＡＳ４はデータブロックを分割したデータフレームをＰＣＩバス３１に送信（転送）し、ＰＣＩバス３１は受信したデータフレームをＲＡＭ３４へ送信し、ＲＡＭ３４は受信したデータフレームを記憶域に記憶する。
このような流れで、リードコマンドに基づいて１ブロック分の全てのデータフレームを記憶することができる。
【０１０７】
ＳＡＳ４は、１ブロック分の全てのデータフレームをＰＣＩバス３１に送信すると、図中（ｄ’）に示すように、レスポンスフレームをＰＣＩバス３１へ送信（転送）し、ＰＣＩバス３１は受信したレスポンスフレームをＲＡＭ３４へ送信し、ＲＡＭ３４は受信したレスポンスフレームを記憶域に記憶する。
【０１０８】
図中（ｅ’）に示すように、ＣＰＵ３３は記憶されているデータフレームを順次受信して、データフレームがＲＡＭ３４に記憶された順にデータパケットに変換し、ＰＣＩバス３２は、変換されたデータパケットを受信して、ＣＰＵ３３に変換された順にＵＳＢ２へ順次送信する。
【０１０９】
ここで、図中（ｆ）に示すように、ＵＳＢ２がデータパケットの受信ができずに所定時間（例えば１ｍｓ）以上が経過してしまうことがある。
その際、ＰＣＩバス３２は、データパケットの送信を一時的に待機する。
【０１１０】
そして、ＵＳＢ２の受信に係る処理が完了し次第、図中（ｇ’）に示すように、データを途中から、換言すると未送信のデータパケットをＵＳＢ２へ送信を開始する。
【０１１１】
そして、ＵＳＢ２の受信に係る処理が完了し次第、図中（ｇ’）に示すように、ＣＰＵ３３はデータパケットへの変換をデータの途中から、換言すると未変換のデータパケットから順次開始し、ＰＣＩバス３２は変換されたデータパケットを受信して、ＵＳＢ２へ送信する。
【０１１２】
図中（ｈ’）に示すように、ＣＰＵ３３は最後のデータフレームを変換し、ＰＣＩバス３２は変換された最後のデータパケットを受信して、ＵＳＢ２へ送信することによって、１ブロック分の全てのデータが送信される。
図中（ｉ’）に示すように、上記（ｈ’）の最後のデータパケットをＵＳＢ２へ送信した後、ＣＰＵ３３は、ＲＡＭ３４に記憶されたレスポンスフレームをＣＳＷに変換し、ＰＣＩバス３２は、変換されたＣＳＷを受信して、ＵＳＢ２へ送信する。
【０１１３】
ここで、ＣＰＵ３３は、データ記憶部３４に記憶されたデータフレームを、ＦＩＦＯに従って順次データパケットに変換する。ＰＣＩバス３２は、ＣＰＵ３３のデータの変換順にデータパケットを順次ＵＳＢ２へ送信する。また、ＰＣＩバス３２は、データパケットの送信間隔の大小に依存せずにデータパケットを送信する。
これにより、データの転送速度の差によるデータの転送待ちが生じてしまった場合であっても、ＰＣＩバス３２はデータパケットの送信を待機し、ＵＳＢ２の処理が完了し次第、ＰＣＩバス３２はＣＰＵ３３の変換順にデータパケットをＵＳＢ２に順次送信する。
なお、図中（ａ）は、図７における（ａ）と同一の処理のため説明を省略する。
【０１１４】
（第２の実施形態の変形例４）
図１２に示すように、データ記憶部（ＲＡＭ）３４の記憶対象を、コマンド（データ転送要求）であるＣＢＷ含むものとする。
【０１１５】
図中（ａ’）に示すように、ＵＳＢ２はＣＢＷをＰＣＩバス３２へ送信（転送）し、ＰＣＩバス３２は受信したＣＢＷをＲＡＭ３４へ送信し、ＣＰＵ３３は記憶されてＣＢＷをコマンドフレームに変換し、ＰＣＩバス３１は変換されたコマンドフレームをＳＡＳ４へ送信する。
なお、図中（ｂ）〜（ｉ）は、図７における（ｂ）〜（ｉ）と同一の処理のため説明を省略する。
【０１１６】
（第２の実施形態の変形例５）
図１３に示すように、上記の変形例３及び変形例４を組み合わせることができる。即ち、ＣＰＵ（データ変換部）３３をＵＳＢ２側に設け、ＲＡＭ（データ記憶部）３４をＳＡＳ４側に設けるとともに、データ記憶部（ＲＡＭ）３４の記憶対象を、コマンド（データ転送要求）であるＣＢＷを含むものとする。
【０１１７】
図中（ａ’’）に示すように、ＵＳＢ２はＣＢＷをＰＣＩバス３２へ送信（転送）し、ＰＣＩバス３２は受信したＣＢＷをＣＰＵ３３へ送信し、ＣＰＵ３３はＣＢＷをコマンドフレームに変換し、ＲＡＭ３４は、変換されたコマンドフレームを記憶し、ＰＣＩバス３１は記憶されているコマンドフレームをＳＡＳ４へ送信する。
なお、図中（ｂ’）〜（ｉ’）は、図１１における（ｂ’）〜（ｉ’）と同一の処理のため説明を省略する。
【符号の説明】
【０１１８】
１  ホストコンピュータ
２  ＵＳＢ
３  テープデバイス
４  ＳＡＳ
１０  インタフェース変換装置
１１  データ変換手段
１２  データ転送要求受信手段
１３  データ転送要求送信手段
１４  データ受信手段
１５  データ転送手段
１６  データ転送終了通知受信手段
１７  データ転送終了通知送信手段
１８  転送データ情報記憶手段
１９  エラー発生判断手段
２０  転送済みデータ判別及び破棄手段
２１  データ転送再開手段
３０  インタフェース変換装置
３１  第１のデータ送受信部
３２  第２のデータ送受信部
３３  データ変換部
３４  データ記憶部
３９  データ削除部
４０  データ送受信装置
４１  コマンド送受信部
４２  データ送受信部
４３  レスポンス送受信部
１０１  中央処理制御装置
１０２  ＲＡＭ
１０３  ＲＯＭ
１０４  入力装置
１０５  表示装置
１０６  通信制御装置
１０７  記憶装置
１０８  リムーバブルディスク
１０９  入出力インタフェース 
【図１】
2014096162.tif 000003
【図２】
2014096162.tif 000004
【図３】
2014096162.tif 000005
【図４】
2014096162.tif 000006
【図５】
2014096162.tif 000007
【図６】
2014096162.tif 000008
【図７】
2014096162.tif 000009
【図８】
2014096162.tif 000010
【図９】
2014096162.tif 000011
【図１０】
2014096162.tif 000012
【図１１】
2014096162.tif 000013
【図１２】
2014096162.tif 000014
【図１３】
2014096162.tif 000015