JP2014096162A - インタフェース変換装置及びインタフェース変換方法 - Google Patents

インタフェース変換装置及びインタフェース変換方法 Download PDF

Info

Publication number
JP2014096162A
JP2014096162A JP2013265861A JP2013265861A JP2014096162A JP 2014096162 A JP2014096162 A JP 2014096162A JP 2013265861 A JP2013265861 A JP 2013265861A JP 2013265861 A JP2013265861 A JP 2013265861A JP 2014096162 A JP2014096162 A JP 2014096162A
Authority
JP
Japan
Prior art keywords
data
interface
transferred
transfer
conversion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013265861A
Other languages
English (en)
Other versions
JP5715231B2 (ja
Inventor
Tatsuya Maruyama
竜也 丸山
Seiji Kamisaka
成二 上坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
UNITEX KK
Original Assignee
UNITEX KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by UNITEX KK filed Critical UNITEX KK
Priority to JP2013265861A priority Critical patent/JP5715231B2/ja
Publication of JP2014096162A publication Critical patent/JP2014096162A/ja
Application granted granted Critical
Publication of JP5715231B2 publication Critical patent/JP5715231B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】異なる方式のインタフェースを有するハードウェアを接続するためのインタフェース変換装置及びインタフェース変換方法において、一方のハードウェアから他方のハードウェアへのデータ転送にエラーが発生した場合に、適切なデータ再転送を可能とする。
【解決手段】USB2とSAS4との間でインタフェース変換を行うインタフェース変換装置10において、USB2に向けて転送完了済みデータのデータサイズを転送データ情報記憶手段18に記憶しておき、エラー発生時にSAS4からのデータの再送信が行われたとき、転送済みデータ判別及び破棄手段20において、再送信されたデータの累積サイズが転送済みデータのデータサイズに至るまで、再送信データを読み捨てし、再送信データの累積サイズが転送済みデータのデータサイズを超えたら、SAS4からのデータのUSB2への転送処理を再開する。
【選択図】図1

Description

本発明は、異なる方式のインタフェースを有するハードウェアを接続するためのインタフェース変換装置及びインタフェース変換方法に関し、特に、一方のハードウェアから他方のハードウェアへのデータ転送にエラーが発生した場合に、適切なデータ再転送を可能とするインタフェース変換装置及びインタフェース変換方法に関する。
従来から、ハードウェアを他のハードウェアと接続するためのインタフェースとしては、ハードウェアの性質に応じて、様々な処理方式のものが用いられている。例えば、パソコンにおいては、近年、USB(ユニバーサル・シリアル・バス、Universal Serial Bus)が標準装備されるようになり、プリンタや外付けハードディスク等の様々な周辺機器との接続が、USBを介してなされるようになってきている。一方、LTO(リニア・テープ・オープン、Linear Tape-Open)装置等のハイエンド機器では、データ転送の信頼性確保のため、例えばSAS(サス、Serial Attached SCSI)等のUSBとは異なるインタフェースが用いられている。
ところで、異なる通信方式のインタフェースを接続する場合には、両インタフェース間にインタフェース変換装置を介在させて、このインタフェース変換装置においてデータ形式を変換する必要がある。
図4は、このような従来のインタフェース変換装置において、どのようにデータ転送がなされるかを示す図である。図示されるように、ホストコンピュータ1は、インタフェースとしてUSB2を備えている一方、テープデバイス(LTO装置)3は、インタフェースとしてSAS4を備えている。インタフェース変換装置5は、USB2とSAS4の間に接続されている。
このような構成において、テープデバイス3からホストコンピュータ1に向けてデータ転送を行う場合、図4の(a)に示すように、USB2からデータ転送要求であるCBW(Command Block Wrapper)が送信される。インタフェース変換装置5は、CBWをSASに適した形式であるコマンドフレームに変換して、SAS4に向けて送信する。
データ転送要求であるコマンドフレームを受けたSAS4は、送信すべきデータをテープデバイス3から読み込み、図4の(b)に示すように、読み込んだデータを所定のフレームサイズで区切られたデータフレームとして、インタフェース変換装置5に向けて順次送信していく。データフレームの送信を受けたインタフェース変換装置5は、受け取ったデータフレームを、所定のパケットサイズに区切られたデータパケットに変換して、USB2に向けて順次転送していく。
テープデバイス3から転送されるべき全データの転送が終了すると、図4の(f)に示すように、SAS4からデータ転送終了の通知であるレスポンスフレームの送信がなされる。インタフェース変換装置5は、このレスポンスフレームをCSW(Command Status Wrapper)に変換してUSB2へ送信し、転送処理が終了する。
特許第4381036号公報 特開2001‐337911号公報 特開2011‐14124号公報
ところで、異なる方式のインタフェース間でデータ転送を行うためには、様々な技術手法をあらたに講じる必要がある。そして、本発明者らは、各インタフェースのデータ転送速度が異なる場合に、データ転送エラーが生じ得ることに思い至った。例えば、USBとSAS間でデータ転送を行う場合、図4の(c)に示すように、USB2によるデータパケットの受け取りが完了しないまま、所定時間(例えば1ms)以上が経過してしまうことがある。この場合、図4の(d)に示すように、インタフェース変換装置5又はテープデバイス3においてタイムアウト(データ転送失敗)との判断がなされ、図4の(e)に示すように、SAS4からUSB2に向けてのデータ再送信がなされることになる。
このようなエラー発生時のデータ再送信においては、インタフェースによる再送信データの処理方法の違いから、送信されるべきデータと実際に送信されるデータとの間でデータの不整合が生じてしまい得る。例えば、SASにおいてデータの再送信がなされる場合、当初送信されるべきであった全データを最初から再送信するのに対して、再送信データを受信するUSBにおいては、エラー発生前に既に送信完了が確認されているデータについては再送信が予定されておらず、エラー発生時までに送信完了済みのデータから後のデータについてのみ、再送信が予定されている。このため、図4の(e)に示すように、インタフェース変換装置5がエラー発生時の再送信データをそのまま転送してしまうと、SAS4が、送信されるべきであった全データを最初から送信してくるのに対して、USB2では、この最初からの再送信データを、既に送信完了済みのデータよりも後のデータ(すなわち、全データの途中からの再送信データ)として受け取ることになり、この結果、SAS4からの転送データとUSB2で実際に受け取ったデータの間で不一致が生じてしまう。
そして、本発明者らはさらに鋭意探索を行った結果、この各インタフェースのデータ転送速度の差に起因したデータ転送エラーの際に生じる不都合が発生した場合においても、以下の手法を用いることにより、適切なデータ転送を維持することが可能であることを見出した。すなわち、異なる方式のインタフェースを有するハードウェアを接続するためのインタフェース変換装置及びインタフェース変換方法において、一方のハードウェアから他方のハードウェアへのデータ転送にエラーが発生した場合に、適切なデータ再転送を可能とするインタフェース変換装置及びインタフェース変換方法を提供することを目的とする。
第1の発明は、SASインタフェースである第1のインタフェースを有する第1の装置とデータの転送速度が前記SASインタフェースとは異なるUSBインタフェースである第2のインタフェースを有する第2の装置との間でインタフェース変換を行うインタフェース変換装置において、第1の装置からのデータを第1のインタフェースを介して受け取るデータ受信手段と、データ受信手段により受け取ったデータを第2のインタフェースに適合した方式に変換するデータ変換手段と、データ変換手段により変換されたデータを第2のインタフェースを介して第2の装置に転送するデータ転送手段と、データ転送手段により第2の装置に転送されたデータに関する情報を記憶する転送データ情報記憶手段と、第1の装置から第2の装置へのデータ転送におけるエラー発生の判断がなされたときに、第1の装置から再送信されてきたデータのうち、転送データ情報記憶手段に記憶された情報に基づいて、エラー発生前に既に第2の装置に転送されていると判別されたデータ以外のデータについてのみ、データ変換手段とデータ転送手段とデータ記憶手段による処理を再開するデータ転送再開手段とを備えた。
第2の発明は、第1の発明において、第1のインタフェースは、エラー発生時のデータ再送信において、当初送信されるべきであった全データの再送信を行うものである一方、第2のインタフェースは、エラー発生時のデータ再送信において、当初送信されるべきであった全データのうち、エラー発生前に既に転送されたデータ以外の転送を受けつけるものであってもよい。
第3の発明は、第1または第2の発明において、転送データ情報記憶手段に記憶された転送されたデータに関する情報は、第2の装置に転送済みのデータ量の指標となる情報であってもよい。
第4の発明は、第3の発明において、転送済みのデータ量の指標となる情報が、第2の装置に転送済みデータ量であってもよい。
第5の発明は、第3の発明において、第1の装置から転送されるデータが、データフレームの形式で転送されるデータであり、転送済みのデータ量の指標となる情報が、第2の装置に転送済みのデータフレームの数であってもよい。
第6の発明は、第1〜第5の発明において、のいずれかにおいて、エラー発生の判断は、第2の装置におけるデータの受け取りが所定時間以上にわたって停滞した場合になされてもよい。
第7の発明は、第1または第2の発明において、また、転送データ情報記憶手段に記憶された転送されたデータに関する情報は、データ受信手段からデータ変換手段に転送済みのデータ量の指標となる情報であってもよい。
第8の発明は、第7の発明において、また、第1の装置から転送されるデータが、データフレームの形式で転送されるデータであり、転送済みのデータ量の指標となる情報が、データ受信手段からデータ変換手段に転送済みのデータフレームの数であってもよい。
また、第9の発明は、SASインタフェースである第1のインタフェースを有する第1の装置とデータの転送速度が前記SASインタフェースとは異なるUSBインタフェースである第2のインタフェースを有する第2の装置との間でインタフェース変換を行うインタフェース変換方法において、第1の装置からのデータを第1のインタフェースを介して受け取るステップと、第1の装置から受け取ったデータを第2のインタフェースに適合した方式に変換するステップと、第2のインタフェースに適合した方式に変換されたデータを第2のインタフェースを介して第2の装置に転送するステップと、第2の装置に転送されたデータに関する情報を記憶するステップと、第1の装置から第2の装置へのデータ転送におけるエラー発生を判断するステップと、データ転送におけるエラー発生の判断がなされたときに、第1の装置から再送信されてきたデータのうち、転送データ情報記憶手段に記憶された情報に基づいて、エラー発生前に既に第2の装置に転送されていると判別されたデータ以外のデータについてのみ、データの変換と転送及び転送されたデータに関する情報の記憶を再開するステップとを備えた。
また、第10の発明は、SASインタフェースである第1のインタフェースを有する第1の装置とデータの転送速度が前記SASインタフェースとは異なるUSBインタフェースである第2のインタフェースを有する第2の装置との間に接続され、第1の装置からのデータを第2のインタフェースに対応する方式に変換して第2の装置に転送するインタフェース変換装置において、第1の装置から第2の装置へのデータ送信に発生したエラーに起因して、第1の装置から第2の装置へのデータ再送信が行われた場合に、第1の装置から再送信されたデータのうち、エラー発生前に既に第2の装置に転送されているデータ以外のデータのみを第2の装置に転送するようにした。
本発明によれば、第1のインタフェース(例えばSAS)を有する第1の装置(例えばテープデバイス3)と第2のインタフェース(例えばUSB)を有する第2の装置(例えばホストコンピュータ1)との間でインタフェース変換を行うインタフェース変換装置又はインタフェース変換方法において、データ転送エラーの発生に起因してデータの再転送が行われる場合、第1のインタフェースから再送信されてきたデータのうち、エラー発生前に第2の装置に転送完了済みのデータ以外のデータのみを、第2の装置に転送するようにしたので、例えば、データ再転送時に、第1の装置が当初送信されるべきであった全データの転送を行うものであるのに対して、第2の装置が既に送信完了済みのデータ以外のデータを受け付けるものであったとしても、第1の装置から第2の装置に転送されるべきデータと実際に第2の装置に転送されたデータとの間で不一致が生じることがなく、適切なデータ再転送を行うことができる。
また、本発明によれば、適切なデータ再転送は、再送信されてきたデータの一部を読み捨てる(破棄する)単純な処理だけで達成できるので、例えば、データ再転送を適切に行うために、第1又は第2のインタフェースの独自プロトコルを作成し、この独自プロトコルに対応するための変更を第1又は第2の装置に加える等の複雑な処置を必要としない。したがって、インタフェース変換装置だけに必要最小限の変更を加えるだけで、適切なデータ転送が可能となり、コスト削減を達成できるともに、他の機器への影響も最小限とすることができる。
また、転送されたデータに関する情報として、転送完了済みデータのデータサイズを記憶しておき、再送信されてきたデータが既に第2の装置に転送完了したデータであるか否かの判断を転送完了済みデータのデータサイズに基づいて行うようにすれば、第2の装置に再転送すべきデータを判断するために、必要最小限の情報を保持しておくだけで済み、また、データサイズの大小関係の比較だけで、正確な判断を簡単に行うことができる。
本発明の第1の実施形態におけるインタフェース変換装置を示すブロック構成図である。 本発明の第1の実施形態におけるデータ転送を説明するための概略図である。 本発明の第1の実施形態のインタフェース変換装置を用いたインタフェース変換方法の手順を示すフローチャートである。 従来のインタフェース変換装置におけるデータ転送を説明するための概略図である。 本発明の第1の実施形態に係るインタフェース変換装置の構成図である。 本発明の第2の実施形態におけるインタフェース変換装置を示すブロック構成図である。 本発明の第2の実施形態におけるデータ転送を説明するための概略図である。 本発明の第2の実施形態のインタフェース変換装置を用いたインタフェース変換方法の手順を示すフローチャートである。 本発明の第2の実施形態の変形例1のインタフェース変換装置を示すブロック構成図である。 同じく変形例2のインタフェース変換装置を示すブロック構成図である。 同じく変形例3のインタフェース変換装置に係るデータ転送を説明するための概略図である。 同じく変形例4のインタフェース変換装置に係るデータ転送を説明するための概略図である。 同じく変形例5のインタフェース変換装置に係るデータ転送を説明するための概略図である。
(第1の実施形態)
以下、添付図面に基づいて本発明の第1の実施形態について説明する。なお、以下に説明する本実施形態は例示であって、特許請求の範囲に記載された本発明の範囲を不当に制限するものではない。
図1には、本発明の実施形態におけるインタフェース変換装置10を、ブロック構成図で示す。図示されるように、インタフェース変換装置10は、ホストコンピュータ1のインタフェースであるUSB2と、テープデバイス(LTO装置)3のインタフェースであるSAS4との間に配置され、USB2とSAS4とを接続している。インタフェース変換装置10は、例えば、USB2とSAS4との間に介装される変換基板として構成され得る。
インタフェース変換装置10は、方式(プロトコル及びフォーマット)の異なる2つのインタフェース(本実施形態ではUSB及びSAS)の一方からのデータを、他方に適した方式に変換するためのデータ変換手段11を備えている。インタフェース変換装置10は、更に、データ転送要求を受信するデータ転送要求受信手段12と、データ転送要求を送信するデータ転送要求送信手段13と、転送データを受信するデータ受信手段14と、転送データを送信するデータ転送手段15と、データ転送終了を示す通知を受信するデータ転送終了通知受信手段16と、データ転送終了を示す通知を送信するデータ転送終了通知送信手段17とを備えている。
詳しく説明すると、テープデバイス3のデータをホストコンピュータ1に読み込む場合、USB2からのデータ転送要求であるCBW(Command Block Wrapper)が、データ転送要求受信手段12により受信され、データ変換手段11によってSASに適したデータ形式であるコマンドフレームに変換され、データ転送要求送信手段13によりSAS4に向けて送信される。このデータ転送要求に基づいてデータ転送が開始されると、SAS4から転送データとして送信されてきたデータフレームが、データ受信手段14により受信され、データ変換手段11によってUSBに適したデータ形式であるデータパケットに変換されて、データ転送手段15によりUSB2に向けて送信される。更に、データ転送終了時には、SAS4からのデータ転送終了通知であるレスポンスフレームがデータ転送終了通知受信手段16により受信され、データ変換手段11によりCSW(Command Status Wrapper)に変換されて、データ転送終了通知送信手段17によってUSB2に向けて送信されるようになっている。
なお、ホストコンピュータ1のデータをテープデバイス3に書き込む場合には、ホストコンピュータ1より発せられたデータ受信要求としてのCBWがUSB2を介してSAS4に向けて送信される。そして、ホストコンピュータ1からデータ転送が開始されると、データ変換手段11によって適切なデータ形式に変換されて、SAS4に向けてデータが順次送信される。データ転送終了時には、書き込みの終了を通知するCSWが、データ転送終了通知送信手段17によってUSB2に向けて送信されるようになっている。
インタフェース変換装置10は、更に、転送データ情報記憶手段18と、エラー発生判断手段19と、転送済みデータ判別及び破棄手段20と、データ転送再開手段21とを備えている。
転送データ情報記憶手段18は、テープデバイス3からホストコンピュータ1に向けてデータ転送がなされたときに、USB2に転送完了済みとなったデータに関する情報を記憶する手段である。具体的に、転送データ情報記憶手段18は、データ転送要求に応じて転送されるべき全データのうち、その時点までに、USB2において受信が完了したデータのデータサイズを記憶するようになっている。
エラー発生判断手段19は、インタフェース変換装置10によるデータ転送処理において、データの再転送が必要となるようなエラーが発生したか否かを判断する手段である。例えば、エラー発生判断手段19は、転送データのUSB2による受信が停滞して、所定時間(例えば1ms)以上の時間が経過してしまったときに、エラー発生との判断を行うようになっている。具体的には、USB2に対する各データパケットの送信毎に、USB2からの受信確認通知であるACK信号が確認され、ACK信号がデータパケットの送信後に所定時間以上にわたって確認なされなかったときに、エラー発生の判定がなされることになる。
なお、本実施形態では、インタフェース変換装置10内に、エラー発生判断手段19を備えるようにしたが、本発明はこのような形態に限られるものではなく、例えば、テープデバイス3においてデータ転送エラー発生の判断を行うようにして、インタフェース変換装置10は、テープデバイス3から通知されたエラー発生の判断に基づいて処理を行うようにしてもよい。
転送済みデータ判別及び破棄手段20は、転送データの再転送が行われた場合に、SAS4から受信した再転送データについて、転送データ情報記憶手段18に記憶されている情報に基づいて、エラー発生前のデータ転送において既にUSB2での受信が完了しているデータであるか否かについての判別を行い、転送完了済みデータである場合に、そのデータを破棄(読み捨て)することにより、USB2に対して重複した転送がなされないようにする手段である。具体的に、転送済みデータ判別及び破棄手段20は、SAS4から順次再送信されてきたデータの累積サイズを算出し、この累積サイズが、転送データ情報記憶手段18において記憶されている転送完了済みのデータサイズに至るまで、再送信されてきたデータを読み捨てていく。この場合、SAS4から再送信されてくるデータは、エラー発生前のデータ転送と同じ順序で送信されてくるので、転送完了済みのデータサイズに至るまで読み捨てを行えば、既にUSB2に転送が完了しているデータのみが、適切に破棄されることになる。
データ転送再開手段21は、SAS4からのデータ再送信が行われた場合、以前のデータ転送において既にUSB2で受信完了しているデータ以外のデータについて、USB2に対するデータ転送を再開する手段である。具体的に、データ転送再開手段21は、SAS4からの再送信データのデータサイズが、転送データ情報記憶手段18により記憶された転送済みデータのデータサイズを超えたところから、データ変換手段11によるデータ変換、データ転送手段15によるデータ転送、及び転送データ情報記憶手段18による転送済みデータサイズの記憶を再開させるようになっている。この場合、転送データ情報記憶手段18における転送済みデータサイズの値は、エラー発生時点における転送済みデータサイズに、USB2へのデータ転送再開後に転送されたデータのサイズを、順次累積していった値となる。
なお、インタフェース変換装置10を具体的な変換基板とする場合の具体的な構成としては、上記各手段のうち、例えば、データ変換手段11、データ転送要求受信手段12、データ転送要求送信手段13、データ受信手段14、データ転送手段15、データ転送終了通知受信手段16、データ転送終了通知送信手段17、エラー発生判断手段19、転送済みデータ判別及び破棄手段20、及びデータ転送再開手段21の各手段を変換基板内に設けられたCPUにより構成し、転送データ情報記憶手段18等の各手段を変換基板内に設けられたメモリにより構成すればよい。
図2は、本実施形態のインタフェース変換装置10によるデータ転送を説明するための図である。データ転送の開始にあたっては、(a)に示すように、USB2からのデータ転送要求であるCBWが、インタフェース変換装置10においてコマンドフレームに変換されて、SAS4に送信される。このデータ転送要求を受けて、(b)に示すように、SAS4からのデータがデータフレームとして送信され、インタフェース変換装置10においてデータパケットへと変換されて、USB2に送信される。このようにUSB2へのデータ転送が行われると、(c)に示すように、転送完了済みのデータサイズが記憶される。テープデバイス3からホストコンピュータ1に送られるべき全データの送信が、特にエラーが発生することなく終了したら、(i)に示すように、SAS4からのデータ転送終了通知であるレスポンスフレームが、インタフェース変換装置10においてCSWに変換されてUSB2に送信され、転送処理が終了する。
このようなデータ転送において、(d)に示すように、USB2におけるデータパケットの受信が停滞した状態で所定時間(例えば1ms)以上が経過した場合、(e)に示すように、インタフェース変換装置10においてタイムアウト(エラー発生)の判定がなされ、(f)に示すように、SAS4からのデータフレームの再転送が開始される。この場合、SAS4からのデータ送信は、データ転送要求にしたがって転送されるべき全データの最初からなされるが、このように再送信されてきたデータは、(g)に示すように、再送信データの累積サイズが転送完了済みデータサイズに至るまで読み捨てられる。すなわち、再転送データのうち、既にUSB2への転送完了済みのデータは、データ変換及び転送が行われることなく、破棄される。このような転送完了済みデータの読み捨てが終了し、SAS4からの再送信データが、まだUSB2に転送が成功していないデータとなったら、(h)に示すように、USB2へのデータ転送が再開され、SAS4から再送信されてきたデータフレームがデータパケットに変換されて、USB2へと送信される。なお、(e)インタフェース変換装置10においてタイムアウトの判定を行う代わりに、次の方法でもエラーの検出は可能である。すなわち、(e’)テープデバイス等のデータストレージ用デバイスがタイムアウトを発生し、インタフェース変換装置10に対してデータの再転送を要求する。一方、そのタイムアウトを、インタフェース変換装置10内のデータ変換手段11やデータ転送要求送信手段13,データ受信手段14等が検出し、テープデバイス等のデータストレージデバイスからの上記データ再転送要求に対して、再転送を許可し、それを受けたデータストレージデバイスがデータを再転送する。
次に、図3のフローチャートに基づいて、本実施形態のインタフェース変換装置10を用いたインタフェース変換方法について詳細に説明する。
フローチャートのステップS1では、インタフェース変換装置10におけるデータ転送要求受信手段12が、USB2からのデータ転送要求であるCBWを受信する。ステップS2においては、データ変換手段11において、CBWがSASに適したデータ形式であるコマンドフレームに変換される。ステップS3においては、データ転送要求送信手段13が、データ転送要求であるコマンドフレームを、SAS4に向けて送信する。
続いて、ステップS4において、インタフェース変換装置10のデータ受信手段14により、SAS4からのデータの受信がなされる。具体的には、SAS4からのデータは、所定のフレームサイズに区切られた少なくとも1つのデータフレームとして順次送信され、データ受信手段14により順次受信される。ステップS5においては、データフレームとしてSAS4から送信されてきたデータが、データ変換手段11によって、所定のパケットサイズに区切られた少なくとも1つのデータパケットに変換される。ステップS6においては、データ変換手段11により作成されたデータパケットが、データ転送手段15によりUSB2に向けて順次転送される。
ステップS7においては、インタフェース変換装置10のエラー発生判断手段19において、USB2へのデータ転送にエラーが発生したか否かの判断がなされる。例えば、インタフェース変換装置10のデータ転送手段15からUSB2に向けてデータパケットの転送が行われたのに対し、USB2におけるデータ受信の完了が所定時間以上にわたって確認されなかった場合、エラー発生判断手段によるエラー発生の判断がなされる。具体的には、各データパケットの送信後、そのデータパケットがUSB2において正しく受信されたことを通知するACK信号(肯定応答信号)がUSB2から送信されて来ないままで、所定時間(例えば1ms)以上が経過した場合、USB2へのデータ転送にエラーが発生したとの判断がなされる。エラーが発生した際に、エラー発生判断手段19は、データ受信手段14がSAS4からのデータを受信しないように制御する。そのため、テープデバイス3はデータを送信出来ない状態で処理が停滞しタイムアウトが発生する。発生したタイムアウトをエラー発生判断手段19が検出する。
なお、エラー発生判断手段19によるエラー発生の判断は、このようなデータ転送が停滞した場合のエラーに限られるものではなく、USB2に対するデータ転送に何らかの問題が生じて、正しいデータ転送が行われなかったことが確認された場合には、エラー発生との判断がなされることになる。
ステップS7において、データ転送エラー発生との判断がなされなかった場合には、ステップS8に進み、転送データ情報記憶手段18に、転送済みデータに関する情報として、その時点までにUSB2に対してデータ転送が完了したデータ(転送済みデータ)のデータサイズ(データ量)が記憶される。具体的には、各データパケットの送信毎に、そのデータパケットがUSB2において正しく受信されたことを示すACK信号が確認され、ACK信号によりデータ転送の成功が確認されたデータパケットのバイト数を累積して加算していくことにより、その時点での転送完了済みデータのデータ量が算出され、転送データ情報記憶手段18に記憶されることになる。
なお、USB2へのデータ転送は、データパケット毎に行われるので、上記ステップS6、ステップS7及びステップS8における処理は、実際には、一つ一つのデータパケットの転送毎に繰り返されることになる。そこで、上記のようなデータ量の代わりに、転送完了済みのフレーム数をカウントしてそれを転送データ情報記憶手段18に格納したり、あるいは、送信済みのパケットの数をカウントする手法を用いてもよい。
また、本実施形態では、転送データ情報記憶手段18に記憶される転送済みデータに関する情報は、転送完了済みデータのデータサイズとしたが、本発明は、このような形態に限られるものではなく、転送されるべき全データのうち、どのデータがUSB2に転送完了しているものであるかを示す情報であれば、どのような情報であっても構わない。また、転送完了済みデータのデータ量の算出に、ACK信号によりデータ転送の成功が確認されたデータパケットのバイト数を累積して加算していく方法を採用する代わりに、図3には示されない以下の方法も採用可能である。すなわち、インタフェース変換装置10のデータ変換手段11,転送データ情報記憶手段18,データ転送手段15,データ受信手段14,またはデータ転送終了通知受信手段16等の側の所定の場所に、バッファ等の一時的なストレージの手段を有している場合に、例えばデータ受信手段14からデータ変換手段11への転送が完了した段階で、その転送済みデータ量をカウントし、それを読み飛ばしサイズとすることも可能である。
ステップS8で転送済みデータに関する情報の記憶がなされたら、ステップS9において、データ転送終了通知受信手段16が、SAS4からのデータ転送終了通知(レスポンスフレーム)を受信したか否かが確認される。SAS4からのデータ転送終了通知がない場合には、ステップS4に戻って、SAS4からの転送データ受信以下のステップが繰り返される。一方、SAS4からのデータ転送終了通知があった場合には、ステップS10に進み、SAS4からのデータ転送終了通知であるレスポンスフレームが、データ変換手段11によりCSWにデータ変換される。続いて、ステップS11において、データ転送終了通知送信手段17が、データ転送終了通知であるCSWを、USB2に向けて送信することにより、処理が終了する。
一方、ステップS7において、エラー発生判断手段19によるデータ転送エラー発生の判断がなされた場合には、ステップS12に進み、データ再転送要求を許可する。
ステップS13においては、データ受信手段14が、データ再送信許可に従い、インタフェース変換装置10はテープデバイス3が送信したデータ再送信許可要求に対しデータの再送信許可を返す。続いて、ステップS14において、転送済みデータ判別及び破棄手段20が、再送信されてきたデータが既にUSB2に転送が完了したデータであるか否かの判断を行い、転送完了済みデータである場合には、ステップS15に進み、その再送信データを破棄(読み捨て)する。
具体的に、転送済みデータ判別及び破棄手段20は、データ再送信開始後にSAS4から順次送信されてきた再送信データのバイト数を加算していくことにより、累積バイト数を算出し、この再送信データの累積バイト数が、転送データ情報記憶手段18に記憶されている転送完了済みデータのデータサイズ(バイト数)以下である場合は、その時点までに再送信されてきたデータは転送完了済みデータと同一であると判断し、再送信されてきたデータを破棄する。一方、再送信データの累積バイト数が、転送完了済みデータのデータサイズよりも大きくなったら、まだUSB2に転送されていないデータと判断する。
ステップS14において、転送完了済みデータであるとの判断がなされ、ステップS15において、そのデータの破棄がなされたら、ステップS13に戻って、転送済みデータ判別及び破棄手段20による処理が継続される。一方、ステップS14において、再送信データが転送完了済みデータではないデータに至ったとの判断がなされたら、ステップS5に戻り、通常のデータ転送処理が再開される。
なお、転送済みデータ判別及び破棄手段20における処理は、転送完了済みデータがUSB2に対して再転送されてしまうことを適切に禁止し得る処理であればよく、このための転送完了済みデータであるか否かの判定方法も、また転送完了済みであると判断された再送信データの処理方法も、転送完了済みデータの重複転送を禁止し得る限り、任意の方法を採用し得る。
以上のように、本実施形態のインタフェース変換装置10及びインタフェース変換方法によれば、データ転送エラーの発生に起因してデータの再転送が行われる場合、SAS4から、当初送信されるべきであった全データの再送信がなされるのに対して、既にUSB2に対して転送完了済みのデータと同一のデータは破棄され、転送完了していないデータについてのみ、USB2に対する転送が行われる。したがって、USB2は、再転送において受信を予定しているデータ(当初送信されるべきであった全データのうち、まだ転送完了していないデータ)のみを、適切に再受信することになる。よって、エラー発生時のデータ再転送においても、テープデバイス3から送信されるべきデータと、実際にホストコンピュータ1に送信されるデータとの間に、データの不整合が生じることはなく、適切なデータ再転送を行うことができる。
また、このような適切なデータ再転送は、再送信されてきたデータの一部を読み捨てる単純な処理だけで達成されるので、例えば、データ再転送を適切に行うために、USB又はSASの独自プロトコルを作成し、この独自プロトコル対応のための変更をホストコンピュータ1又はテープデバイス3に加える等の複雑な処置を必要としない。したがって、インタフェース変換装置だけに必要最小限の変更を加えるだけで、USBとSAS間の適切なデータ再転送が可能となり、コストを削減できるとともに、他の機器への影響も最小限とすることができる。
また、SAS4から再送信されてきたデータが、USB2に既に転送完了したデータであるか否かの判断は、USB2への転送完了済みデータのデータサイズに基づいてなされるので、この判断のために、必要最小限の情報を保持しておくだけで済み、また、データサイズの大小関係の比較だけで、正確な判断を容易に行うことができる。
なお、上記実施形態では、インタフェース変換装置10を、USBとSAS間でインタフェース変換を行うものとしたが、本発明の適用範囲は、USBとSAS間のインタフェース変換に限られるものではなく、本発明は、USB及びSAS以外の様々な方式のインタフェース間のインタフェース変換に対しても適用され得るものである。
次に、図5に示すように、本発明の第1の実施の形態に係るインタフェース変換装置10は、中央処理制御装置101、ROM(Read Only Memory)102、RAM(Random Access Memory)103及び入出力インタフェース109が、バス110を介して接続されている。入出力インタフェース109には、入力装置104、表示装置105、通信制御装置106、記憶装置107及びリムーバブルディスク108が接続されている。
中央処理制御装置101は、入力装置104からの入力信号に基づいてROM102からインタフェース変換装置10等を起動するためのブートプログラムを読み出して実行し、さらに記憶装置107に記憶されたオペレーティングシステムを読み出す。さらに中央処理制御装置101は、入力装置104や通信制御装置106等の入力信号に基づいて、各種装置の制御を行い、RAM103や記憶装置107等に記憶されたプログラム及びデータを読み出してRAM103にロードするとともに、RAM103から読み出されたプログラムのコマンドに基づいて、データの計算または加工など、前述した一連の処理を実現する処理装置である。
入力装置104は、操作者(ユーザおよびオペレータ等)が各種の操作を入力するキーボード、マウスなどの入力デバイスにより構成されており、操作者が実施する操作に基づいて入力信号を作成し、入出力インタフェース109及びバス110を介して中央処理制御装置101に送信される。表示装置105は、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイ等であり、中央処理制御装置101からバス110及び入出力インタフェース109を介して表示装置105において表示させる出力信号を受信し、例えば中央処理制御装置101の処理結果等を表示する装置である。通信制御装置106は、LANカードやモデム等の装置であり、インタフェース変換装置10等をインターネットやLAN等の通信ネットワークに接続する装置である。通信制御装置106を介して通信ネットワークと送受信したデータは入力信号または出力信号として、入出力インタフェース109及びバス110を介して中央処理制御装置101に送受信される。
記憶装置107は、半導体記憶装置や磁気ディスク装置等であって、中央処理制御装置101で実行されるプログラムやデータが記憶されている。リムーバブルディスク108は、光ディスクやフレキシブルディスクのことであり、ディスクドライブによって読み書きされた信号は、入出力インタフェース109及びバス110を介して中央処理制御装置101に送受信される。本発明の第1の実施の形態に係る記憶装置107は、転送データ情報記憶手段18に該当する。
本発明の第1の実施の形態に係るインタフェース変換装置10の転送データ情報記憶手段18は、記憶装置107が該当し、SAS4からUSB2へのデータ転送の際に一時的に蓄積されるデータと共に、分割されたデータの転送完了時毎に記憶されるデータサイズ等の情報が格納される。また、データ変換手段11、データ転送要求受信手段12、データ転送要求送信手段13、データ受信手段14、データ転送手段15、データ転送終了通知受信手段16、データ転送終了通知送信手段17、エラー発生判断手段19、転送済みデータ判別及び破棄手段20およびデータ転送再開手段21等はインタフェース変換装置10の全体を制御する中央演算処理装置(CPU)の一部として中央処理制御装置101を構成する。さらに、データ転送エラー時のデータ再送信処理に関するプログラムがインタフェース変換装置10の中央処理制御装置101に読み込まれ実行されることによって、転送済みデータ判別及び破棄手段20およびデータ転送再開手段21等に実装される。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
図6に示すように、インタフェース変換装置30は、第1のインタフェース4の通信方式に適合したデータを、第2のインタフェース2の通信方式に適合したデータ形式に変換するデータ変換部33と、第1のインタフェース4から受信したデータをデータ変換部33へ送信する第1のデータ送受信部31と、データ変換部33による変換後のデータを記憶するデータ記憶部34と、データ記憶部34から受信したデータを第2のインタフェース2へ送信する第2のデータ送受信部32とを設ける。
以下、第1の装置3をストレージデバイスの一つであるテープデバイス3、第1のインタフェース4をSerial Attached SCSIであるSAS4、第2の装置1を所定のOS(Operating System)が搭載されたパーソナルコンピュータであるホストコンピュータ1、第2のインタフェース2をUniversal Serial BusであるUSB2と想定して説明する。
従って、例えば、第2の装置1のリードコマンドに基づいて、第2のインタフェース2が送信するコマンドは、後述するCBWであり、第1のインタフェース4が受信するコマンドは、後述するコマンドフレームである。また、第1のインタフェース4が送信するレスポンスは、後述するレスポンスフレームであり、第2のインタフェース2が受信するレスポンスは、例えば、後述するCSWである。
なお、装置やインタフェース等はこれらのものに限定されることはない。
第1の装置3は通信インタフェースとして第1のインタフェース4を設ける。
ここで、第2の装置(ホストコンピュータ)1が処理するデータは、第1の装置(テープデバイス)3の記憶媒体である磁気テープにブロックという形式のデータに複数に分割され記録される。なお、ブロック単位で分割されたデータをデータブロックという。また、第2の装置1において扱われるファイルはそのサイズによって複数のデータブロックに分割される。
また、第2のインタフェース2がCBWを送信してからCSWを受信するまで、あるいは第1のインタフェース4がコマンドフレームを受信してからレスポンスフレームを送信するまでの一連のコマンドに基づいて転送されるデータは1ブロックである。また、当該ブロックは第1のインタフェース4のデータが送信(転送)される経路内において、フレーム単位に分割され転送される。
第1の装置3及びインタフェース変換装置30間、換言すると第1のインタフェース(SAS)4における通信のトランスポート層はSSP(Serial SCSI Protocol)トランスポート層に準拠している。
SSPにおいては、上述のフレームは、複数のフレームのタイプ(型)が規定されている。例えば、フレームのタイプは、所定のフィールドにデータがセットされたデータフレーム、所定のフィールドにコマンドがセットされたコマンドフレーム、所定のフィールドにレスポンスがセットされたレスポンスフレーム等がある。
即ち、第1の装置3とインタフェース変換装置30との間においては、データフレーム、コマンドフレーム(データ転送要求ともいう)、レスポンスフレーム(データ転送終了通知ともいう)が送受信される。
具体的には、第2の装置1のリードコマンドに対応して、第1のインタフェースがコマンドフレームを受信する。また、コマンドフレームに基づいて、第1の装置3がデータを送信する際、第1のインタフェース4がデータフレームを送信する。また、データフレームの送信が終了した結果(応答)であるレスポンスとして、第1のインタフェースがレスポンスフレームを送信する。
なお、データフレーム、コマンドフレーム及びレスポンスフレームは、第1のインタフェース4の通信方式に適合したデータ形式のデータである。
図6に示すように、第2の装置1は通信インタフェースとして第2のインタフェース2を設ける。
ここで、第2のインタフェース(USB)2のデータが転送される経路内において、上述のブロックは、パケット単位に分割され転送される。なお、パケット単位で分割されたデータをデータパケットいう。
第2の装置1及びインタフェース変換装置30間、換言すると第2のインタフェース(USB)2における通信プロトコル(データ転送プロトコル)として、バルクオンリー転送を採用する。
例えば、図6の構成において、第2の装置1がリードコマンドを送信する際、当該コマンドは、第2のインタフェース2によってCBWのフォーマットで送信される(このコマンドを、単にCBW、またはデータ転送要求という)。
CBWは複数の情報等を有しており、例えば、CBWと対応するCSWと結びつけるための情報、データトランスポートの予定データ長に係る情報、バルクイン転送かバルクアウト転送かを決定付ける情報等がある。
そして、第2の装置1のリードコマンドに対応して、第1のインタフェース4が、第1の装置3に記憶された複数のブロックデータの1ブロック分をデータフレームに分割して送信した後、コマンドに対するステータスに係る情報(コマンドを正常に達成できたか、エラーとなったか等の情報)を含むレスポンスがCSWのフォーマットで送信される(このレスポンスを、単にCSWまたはデータ転送終了通知という)。
なお、CBW、CSW、及びデータパケットは、第2のインタフェース2の通信方式に適合したデータ形式のデータである。
(第1のデータ送受信部31)
第1のデータ送受信部31は、第1のインタフェース4、データ変換部33、データ記憶部34に接続される。
また、第1のデータ送受信部31は、データ転送要求送信手段13と、データ受信手段14と、データ転送終了通知受信手段16とを設ける。
第1のデータ送受信部31は、第1のインタフェース4から送信されたデータ(データフレーム、レスポンスフレーム)を受信するとともにデータ変換部33へ送信する。また、データ変換部33から受信したデータ(コマンドフレーム)を第1のインタフェース4へ送信する。
具体的には、データ転送要求送信手段13は、データ変換部33により変換されたコマンドフレームを受信するとともに第1のインタフェース4へ送信する。
データ受信手段14は、第1のインタフェース4から送信(転送)されたデータフレームを受信するとともにデータ変換部33へ送信する。
データ転送終了通知受信手段16は、第1のインタフェース4から送信(転送)されたレスポンスフレームを受信するとともにデータ変換部33へ送信する。
(データ変換部33)
図6に示すように、データ変換部33は、第1のデータ送受信部31、第2のデータ送受信部32及びデータ記憶部34に接続され、第1の実施形態のデータ変換手段11の機能を含む。
即ち、第1のインタフェース4の通信方式に適合したデータを第2のインタフェース2の通信方式に適合したデータ形式に変換する(以下、第1変換処理ともいう)。
また、第2のインタフェース2の通信方式に適合したデータを第1のインタフェース4の通信方式に適合したデータ形式に変換する(以下、第2変換処理ともいう)。
具体的には、データ変換部33は、第1変換処理として、第1のデータ送受信部31から送信されたデータフレームを受信してデータパケットに変換する。また、第1のデータ送受信部31から送信されたレスポンスフレームを受信してCSWに変換する。
また、第2変換処理として、第2のデータ送受信部32から送信されたCBWを受信してコマンドフレームに変換する。
データ変換部33は、変換後のデータをデータ記憶部34へ送信する。
(データ記憶部34)
図6に示すように、データ記憶部34は、第1のデータ送受信部31、第2のデータ送受信部32及びデータ変換部33に接続される。
データ記憶部34は、データ変換部33により変換されたデータまたはレスポンスを受信して記憶する。
具体的には、データ変換部33により、データフレームが変換されたデータパケット、レスポンスフレームが変換されたCSWを記憶する。
データ記憶部34は、データブロックの1ブロックを格納可能な容量を有する。即ち、1つのコマンドで転送されるデータブロックを格納(記憶)することができる。データブロックのサイズは1〜16777215byteに規定されているため、データ記憶部34の記憶域として16777215byte以上の容量を確保すればよい。
また、データ記憶部34は、データの上書き処理を行う。
即ち、第2のインタフェース2が送信した1つのコマンド(CBW)に基づいて、第1のインタフェース4により複数のデータブロックのうち1ブロック(便宜的に第1のブロックという)分のデータフレームが送信(転送)されて、第2のインタフェース2がCSWの受信したことによって、1つのコマンドに対する処理が終了した後、次の1つのコマンド(CBW)に基づいて、第1のブロックに隣接する1ブロック(便宜的に第2のブロックという)が送信(転送)された場合、データ記憶部34は、既に記憶されている第1のブロックに係るデータパケットを第2のブロックに係るデータパケットに順次上書きして記憶する。
データ記憶部34は、記憶済みのデータを第2のデータ送受信部32へ送信する。
(第2のデータ送受信部32)
図6に示すように、第2のデータ送受信部32は、第2のインタフェース2、データ変換部33、データ記憶部34に接続される。
また、データ転送要求受信手段12と、データ転送手段15と、データ転送終了通知送信手段17とを設ける。
第2のデータ送受信部32は、第2のインタフェース2から送信されたデータ(CBW)を受信するとともに、データ変換部33へ送信し、データ記憶部34から送信されたデータ(データパケット、CSW)を受信するとともに、第2のインタフェース2へ送信する。
具体的には、データ転送要求受信手段12は、第2のインタフェース2から送信(転送)されたCBWを受信するとともにデータ変換部33へ送信する。
データ転送手段15は、データ変換部33により変換され、データ記憶部34に記憶されているデータパケットを受信するとともに第2のインタフェース2へ送信する。
データ転送終了通知送信手段17は、データ変換部33により変換され、データ記憶部34に記憶されているCSWを、受信するとともに第2のインタフェース2へ送信する。
また、データ転送終了通知送信手段17がCSWを第2のインタフェース2へ送信するタイミングは、第2のインタフェース2が、コマンドに応じて送信されるべきデータパケットの全てを受信した後である。
これにより、第1のインタフェース(SAS)4の転送速度が第2のインタフェース(USB)2の転送速度よりも早いという転送速度の差によって、データパケット送信中にCSWが第2のインタフェース2へ送信されてしまうという不具合を防止することができる。
第2のデータ送受信部32は、データ記憶部34に記憶されている複数のデータパケットを受信して、FIFOに従って、順次第2のインタフェース2へ送信する。また、第2のデータ送受信部32は、データパケットの送信間隔の大小に依存せずにデータパケットを送信する。換言すると、データの送信間隔が大きくなったとしても、第2のデータ送受信部32は、データパケットの送信を待機させて、所定のタイミングで送信を再開する。
これにより、第2のデータ送受信部32がデータパケットを第2のインタフェース2へ送信する際、第1のインタフェース(SAS)4のデータの転送速度が第2のインタフェース(USB)2の転送速度よりも早いという転送速度の差に起因して、第2のインタフェース2の処理(受信)が間に合わず、送信間隔が所定時間(例えば、1ms)以上の開き(以下、単に、データの転送速度の差によるデータの転送待ちという)が生じてしまった場合であっても、第2のデータ送受信部32はデータの送信を待機し、第2のインタフェース2の処理が完了し次第(所定のタイミングで)、未送信のデータパケットから順次送信する。
これにより、たとえデータの転送速度の差によるデータパケットの転送待ちが発生したとしても、データパケットが前後して送信されるようなことはなく、確実にデータを送信することができ、インタフェース変換装置30の信頼性の向上を図ることができる。
(インタフェース変換装置30によるデータ転送について)
図7を参照して、インタフェース変換装置30によるデータ転送について説明する。なお、本説明において、第1の装置3をテープデバイス3、第1のインタフェース4をSAS4、第2の装置1をホストコンピュータ1、第2のインタフェース2をUSB2、第1及び第2のデータ送受信部31、32をPCI(Peripheral Component Interconnect)バスであるPCIバス31、32、データ変換部33を、データ変換に係る処理機能を有するCPU(Central Processing Unit)であるCPU33、データ記憶部34をRAM(Random Access Memory)であるRAM34として説明する。
また、テープデバイス3からホストコンピュータ1へのデータ転送の契機として、例えば、操作者が、ホストコンピュータ1に対して、磁気テープに記録されているデータをハードディスクへのコピー(以下、単にコピー処理という)をするように指示することを想定する。なお、インタフェース変換装置30の作動や制御等に関係のない処理等については説明を省略する。
操作者の指示により、ホストコンピュータ1はテープデバイス3に対してデータの読み込み命令であるリードコマンドを送信する。その際、図7中(a)に示すように、USB2はCBWをインタフェース変換装置30へ送信(転送)し、PCIバス32は受信したCBWをCPU33へ送信し、CPU33は受信したCBWをコマンドフレームに変換し、PCIバス31は変換されたコマンドフレームを所定のタイミングでSAS4へ送信する。
次いで、テープデバイス3はコマンドフレームに基づくデータ(ブロックデータ)をホストコンピュータ1へ送信する。その際、図中(b)及び(c)に示すように、SAS4はブロックデータを分割したデータフレームをPCIバス31に送信(転送)し、PCIバス31は受信したデータフレームをCPU33へ送信し、CPU33は受信したデータフレームをデータパケットに変換してRAM34へ送信し、RAM34は受信したデータパケットを記憶域に記憶する。このような流れで、リードコマンドに基づいて1ブロック分の全てのデータフレームをデータパケットに変換し、RAM34に記憶することができる。
SAS4は、ブロックデータの1ブロック分の全てのデータフレームをPCIバス31に送信すると、図中(d)に示すように、レスポンスフレームをPCIバス31へ送信(転送)し、PCIバス31は受信したレスポンスフレームをCPU33へ送信し、CPU33は受信したレスポンスフレームをCSWに変換してRAM34へ送信し、RAM34は受信したCSWを記憶する。
このように、全てのデータパケットをUSB2が受信してから送信されるべきであるCSWをRAM34に記憶させるという、時間的な緩衝機能を持たせることによって、後述するように、PCIバス32は適切なタイミングでCSWをUSB2へ送信することができる。
以上の(b)〜(d)までがSAS4側の処理ということができる。
このように、テープデバイス3及びインタフェース変換装置30間で処理を略完結させることができるため、USB2の通信の影響を受けないようにして、データフレームに分割したブロックの全てを送信し続けることが可能となる。従って、USB2及びSAS4間におけるデータの転送速度の差によるデータの転送待ち(タイムアウト)を解消することができ、エラーの発生率を低減させることができる。
次いで、図中(e)に示すように、PCIバス32は、RAM34に記憶されたデータパケットを受信して、USB2へ送信する。
ここで、図中(f)に示すように、何らかの原因で、USB2によるデータパケットの受信ができずに所定時間(例えば1ms)以上が経過してしまうことがある。
その際、PCIバス32は、データパケットの送信を待機する。
そして、USB2の受信に係る処理が完了し次第、図中(g)に示すように、データを途中から、換言すると未送信のデータパケットをUSB2へ送信を開始する。
図中(h)に示すように、PCIバス32は、最後のデータパケットを受信してUSB2へ送信することによって、1ブロック分の全てのデータが送信される。
図中(i)に示すように、PCIバス32は、上記(h)の最後のデータパケットをUSB2へ送信した後、RAM34に記憶されたCSWをUSB2へ送信する。
以上の(e)〜(i)までがUSB2側の処理ということができる。
なお、(a)はSAS4側及びUSB2側の処理を跨いでいる。
(インタフェース変換装置30を用いたインタフェース変換方法の手順に係るフロー)
図8を参照して、インタフェース変換装置30を用いたインタフェース変換方法の手順について説明する。
図8に示すように、ステップS23〜ステップS28(SAS(第1のインタフェース)4側の処理ステップ)及びステップS29〜ステップS33(USB(第2のインタフェース)2側の処理ステップ)は、ステップS22の後に並列処理として実行される。
なお、データ転送の契機として、上述と同様、例えば、操作者が、ホストコンピュータ(第2の装置)1に対してコピー処理を指示することを想定する。なお、インタフェース変換装置30の作動や制御等に関係のない処理等については説明を省略する。
操作者の指示により、ホストコンピュータ1はリードコマンドを送信する。その際、PCIバス(第2のデータ送受信部)32は、USB2から送信されたデータ転送要求であるCBWを受信する(ステップS20)。
CPU(データ変換部)33は、PCIバス32から受信したCBWを同じくデータ転送要求であるコマンドフレームに変換(第2変換処理)する(ステップS21)。
PCIバス(第1のデータ送受信部)31は、第2変換処理されたコマンドフレームをSAS4へ送信する(ステップS22)。
続いて、SAS側の一連の処理方法として、PCIバス31は、SAS4により分割されて送信されたデータフレーム(ブロックデータの1ブロック分)を受信する(ステップS23)。そして、CPU33は、データフレームをデータパケットに変換(第1変換処理)する(ステップS24)。
RAM(データ記憶部)34は、第1変換処理されたデータパケットを記憶域に順次記憶する。(ステップS25)。
ここで、CPU33は、SAS4から送信されたデータ転送終了通知であるレスポンスフレームを、PCIバス31を介して受信した場合(ステップS26でYES)、同じくデータ転送終了通知であるCSWに変換(第1変換処理)する(ステップS27)。
次いで、RAM34は、第1変換処理されたCSWを記憶域に記憶する。(ステップS28)。
一方、ステップS26において、CPU33が、SAS4から送信されたデータ転送終了通知であるレスポンスフレームを受信していない場合(ステップS26でNO)、ステップS23の処理に戻る。
次に、ステップS22の処理に続くUSB2側の処理方法として、まず、RAM34がデータパケットを記憶している場合(ステップS29でYES)、PCIバス32は、RAM34に記憶されているデータパケットを受信してUSB2へ送信する(ステップS30)。
一方、ステップS29において、RAM34がデータパケットを記憶していない場合(ステップS29でNO)、当該条件判断が繰り返し行われる。
PCIバス32によりUSB4に全てのデータパケット(1ブロック分)が送信され(ステップS31でYES)、さらに、RAM34にCSWが記憶されている場合(ステップS32でYES)、PCIバス32は、記憶されているCSWをUSB2へ送信する(ステップS33)。
一方、ステップS31において、PCIバス32によりUSB4に全てのデータパケット(1ブロック分)が送信されていない場合(ステップS31でNO)、ステップS30の処理に戻る。また、ステップS32において、RAM34にCSWが記憶されていない場合(ステップS32でNO)、当該条件判断が繰り返し行われる。
以上、本発明の第1及び第2の実施形態について説明したが、本発明の要旨を逸脱しない範囲内で、本実施形態のインタフェース変換装置10、30に対して、次のような変形や変更を施すことが可能である。なお、上述の本発明の2つの実施形態、及び後述する変形例におけるそれぞれの構成要件、構成部の配置、データの流れ等を適宜組み合わせることが可能である。
(第2の実施形態の変形例1)
図9に示すように、インタフェース変換装置30Aは、データの送受信を行う構成部としてデータ送受信装置40を備える。
データ送受信装置40は、CBW及びコマンドフレームなどのコマンドを送受信するコマンド送受信部41と、データを送受信するデータ送受信部42と、CSW及びレスポンスコマンドなどのレスポンスを送受信するレスポンス送受信部43とを設ける。
即ち、コマンド送受信部41は、データ転送要求受信手段12及びデータ転送要求送信手段13と同様の機能を含み、データ送受信部42は、データ受信手段14及びデータ転送手段15と同様の機能を含み、レスポンス送受信部43は、データ転送終了通知受信手段16及びデータ転送終了通知送信手段17と同様の機能を含む。
例えば、コマンド送受信部41は、第2の装置1のリードコマンドに基づいて第2のインタフェース2が送信するCBWを受信するとともに、データ変換部へ送信する。また、データ変換部33により変換されたコマンドフレームを受信するとともに、第1のインタフェース4へ送信する。
データ送受信部42は、コマンドフレームに基づいて第1のインタフェースにより送信されるデータフレームを受信するとともに、データ変換部33へ送信する。また、データ変換部33により変換された後、データ記憶部34に記憶されたデータパケットを受信するとともに、第2のインタフェース2へ送信する。
レスポンス送受信部43は、第1のインタフェースが全てのデータフレームを送信した後に送信するレスポンスフレームを受信するとともに、データ変換部33へ送信する。また、データ変換部33により変換された後、データ記憶部34に記憶されたCSWを受信するとともに、第1のインタフェース2へ送信する。
(第2の実施形態の変形例2)
図10に示すように、インタフェース変換装置30Bは、データ記憶部34に接続されるデータ削除部39を備える。データ削除部39は、第2の実施形態のデータ記憶部34の上書き処理の代わりに、USB2にCSWが送信されたことに基づいて、データ記憶部34の記憶域に記憶されている不要となったデータを削除する。
即ち、第2のインタフェース2が送信した1つのコマンド(CBW)に基づいて、第1のインタフェース4によりデータブロックの1ブロック(便宜的に第3ブロックという)分のデータフレームが送信(転送)されて、第2のインタフェース2がCSWの受信したことによって、1つのコマンドに対する処理が終了した後、データ削除部39は、第3ブロックに係るデータを削除する。
(第2の実施形態の変形例3)
図11に示すように、CPU(データ変換部)33をUSB2側に設け、RAM(データ記憶部)34をSAS4側に設ける。
図中(b’)及び(c’)に示すように、SAS4はデータブロックを分割したデータフレームをPCIバス31に送信(転送)し、PCIバス31は受信したデータフレームをRAM34へ送信し、RAM34は受信したデータフレームを記憶域に記憶する。
このような流れで、リードコマンドに基づいて1ブロック分の全てのデータフレームを記憶することができる。
SAS4は、1ブロック分の全てのデータフレームをPCIバス31に送信すると、図中(d’)に示すように、レスポンスフレームをPCIバス31へ送信(転送)し、PCIバス31は受信したレスポンスフレームをRAM34へ送信し、RAM34は受信したレスポンスフレームを記憶域に記憶する。
図中(e’)に示すように、CPU33は記憶されているデータフレームを順次受信して、データフレームがRAM34に記憶された順にデータパケットに変換し、PCIバス32は、変換されたデータパケットを受信して、CPU33に変換された順にUSB2へ順次送信する。
ここで、図中(f)に示すように、USB2がデータパケットの受信ができずに所定時間(例えば1ms)以上が経過してしまうことがある。
その際、PCIバス32は、データパケットの送信を一時的に待機する。
そして、USB2の受信に係る処理が完了し次第、図中(g’)に示すように、データを途中から、換言すると未送信のデータパケットをUSB2へ送信を開始する。
そして、USB2の受信に係る処理が完了し次第、図中(g’)に示すように、CPU33はデータパケットへの変換をデータの途中から、換言すると未変換のデータパケットから順次開始し、PCIバス32は変換されたデータパケットを受信して、USB2へ送信する。
図中(h’)に示すように、CPU33は最後のデータフレームを変換し、PCIバス32は変換された最後のデータパケットを受信して、USB2へ送信することによって、1ブロック分の全てのデータが送信される。
図中(i’)に示すように、上記(h’)の最後のデータパケットをUSB2へ送信した後、CPU33は、RAM34に記憶されたレスポンスフレームをCSWに変換し、PCIバス32は、変換されたCSWを受信して、USB2へ送信する。
ここで、CPU33は、データ記憶部34に記憶されたデータフレームを、FIFOに従って順次データパケットに変換する。PCIバス32は、CPU33のデータの変換順にデータパケットを順次USB2へ送信する。また、PCIバス32は、データパケットの送信間隔の大小に依存せずにデータパケットを送信する。
これにより、データの転送速度の差によるデータの転送待ちが生じてしまった場合であっても、PCIバス32はデータパケットの送信を待機し、USB2の処理が完了し次第、PCIバス32はCPU33の変換順にデータパケットをUSB2に順次送信する。
なお、図中(a)は、図7における(a)と同一の処理のため説明を省略する。
(第2の実施形態の変形例4)
図12に示すように、データ記憶部(RAM)34の記憶対象を、コマンド(データ転送要求)であるCBW含むものとする。
図中(a’)に示すように、USB2はCBWをPCIバス32へ送信(転送)し、PCIバス32は受信したCBWをRAM34へ送信し、CPU33は記憶されてCBWをコマンドフレームに変換し、PCIバス31は変換されたコマンドフレームをSAS4へ送信する。
なお、図中(b)〜(i)は、図7における(b)〜(i)と同一の処理のため説明を省略する。
(第2の実施形態の変形例5)
図13に示すように、上記の変形例3及び変形例4を組み合わせることができる。即ち、CPU(データ変換部)33をUSB2側に設け、RAM(データ記憶部)34をSAS4側に設けるとともに、データ記憶部(RAM)34の記憶対象を、コマンド(データ転送要求)であるCBWを含むものとする。
図中(a’’)に示すように、USB2はCBWをPCIバス32へ送信(転送)し、PCIバス32は受信したCBWをCPU33へ送信し、CPU33はCBWをコマンドフレームに変換し、RAM34は、変換されたコマンドフレームを記憶し、PCIバス31は記憶されているコマンドフレームをSAS4へ送信する。
なお、図中(b’)〜(i’)は、図11における(b’)〜(i’)と同一の処理のため説明を省略する。
1 ホストコンピュータ
2 USB
3 テープデバイス
4 SAS
10 インタフェース変換装置
11 データ変換手段
12 データ転送要求受信手段
13 データ転送要求送信手段
14 データ受信手段
15 データ転送手段
16 データ転送終了通知受信手段
17 データ転送終了通知送信手段
18 転送データ情報記憶手段
19 エラー発生判断手段
20 転送済みデータ判別及び破棄手段
21 データ転送再開手段
30 インタフェース変換装置
31 第1のデータ送受信部
32 第2のデータ送受信部
33 データ変換部
34 データ記憶部
39 データ削除部
40 データ送受信装置
41 コマンド送受信部
42 データ送受信部
43 レスポンス送受信部
101 中央処理制御装置
102 RAM
103 ROM
104 入力装置
105 表示装置
106 通信制御装置
107 記憶装置
108 リムーバブルディスク
109 入出力インタフェース

Claims (10)

  1. SASインタフェースである第1のインタフェースを有する第1の装置とデータの転送速度が前記SASインタフェースとは異なるUSBインタフェースである第2のインタフェースを有する第2の装置との間でインタフェース変換を行うインタフェース変換装置において、
    前記第1の装置からのデータを前記第1のインタフェースを介して受け取るデータ受信手段と、
    前記データ受信手段により受け取ったデータを前記第2のインタフェースに適合した方式に変換するデータ変換手段と、
    前記データ変換手段により変換されたデータを前記第2のインタフェースを介して前記第2の装置に転送するデータ転送手段と、
    前記データ転送手段により前記第2の装置に転送されたデータに関する情報を記憶する転送データ情報記憶手段と、
    前記第1の装置から前記第2の装置へのデータ転送におけるエラー発生の判断がなされたときに、前記第1の装置から再送信されてきたデータのうち、前記転送データ情報記憶手段に記憶された情報に基づいて、前記エラー発生前に既に前記第2の装置に転送されていると判別されたデータ以外のデータについてのみ、前記データ変換手段と前記データ転送手段と前記データ記憶手段による処理を再開するデータ転送再開手段と
    を備えることを特徴とするインタフェース変換装置。
  2. 前記第1のインタフェースは、エラー発生時のデータ再送信において、当初送信されるべきであった全データの再送信を行うものである一方、前記第2のインタフェースは、エラー発生時のデータ再送信において、当初送信されるべきであった全データのうち、エラー発生前に既に転送されたデータ以外の転送を受けつけるものであることを特徴とする請求項1に記載のインタフェース変換装置。
  3. 前記転送データ情報記憶手段に記憶された転送されたデータに関する情報は、前記第2の装置に転送済みのデータ量の指標となる情報であることを特徴とする請求項1または2に記載のインタフェース変換装置。
  4. 前記転送済みのデータ量の指標となる情報が、前記第2の装置に転送済みデータ量であることを特徴とする請求項3に記載のインタフェース変換装置。
  5. 前記第1の装置から転送されるデータが、データフレームの形式で転送されるデータであり、
    前記転送済みのデータ量の指標となる情報が、前記第2の装置に転送済みのデータフレームの数であることを特徴とする請求項3に記載のインタフェース変換装置。
  6. 前記エラー発生の判断は、前記第2の装置におけるデータの受け取りが所定時間以上にわたって停滞した場合になされることを特徴とする請求項1〜5のいずれか1項に記載のインタフェース変換装置。
  7. 前記転送データ情報記憶手段に記憶された転送されたデータに関する情報は、前記データ受信手段から前記データ変換手段に転送済みのデータ量の指標となる情報であることを特徴とする請求項1または2に記載のインタフェース変換装置。
  8. 前記第1の装置から転送されるデータが、データフレームの形式で転送されるデータであり、
    前記転送済みのデータ量の指標となる情報が、前記データ受信手段から前記データ変換手段に転送済みのデータフレームの数であることを特徴とする請求項7に記載のインタフェース変換装置。
  9. SASインタフェースである第1のインタフェースを有する第1の装置とデータの転送速度が前記SASインタフェースとは異なるUSBインタフェースである第2のインタフェースを有する第2の装置との間でインタフェース変換を行うインタフェース変換方法において、
    前記第1の装置からのデータを前記第1のインタフェースを介して受け取るステップと、
    前記第1の装置から受け取ったデータを前記第2のインタフェースに適合した方式に変換するステップと、
    前記第2のインタフェースに適合した方式に変換されたデータを前記第2のインタフェースを介して前記第2の装置に転送するステップと、
    前記第2の装置に転送されたデータに関する情報を記憶するステップと、
    前記第1の装置から前記第2の装置へのデータ転送におけるエラー発生を判断するステップと、
    前記データ転送におけるエラー発生の判断がなされたときに、前記第1の装置から再送信されてきたデータのうち、前記転送データ情報記憶手段に記憶された情報に基づいて、前記エラー発生前に既に前記第2の装置に転送されていると判別されたデータ以外のデータについてのみ、データの変換と転送及び転送されたデータに関する情報の記憶を再開するステップと
    を備えたことを特徴とするインタフェース変換方法。
  10. SASインタフェースである第1のインタフェースを有する第1の装置とデータの転送速度が前記SASインタフェースとは異なるUSBインタフェースである第2のインタフェースを有する第2の装置との間に接続され、前記第1の装置からのデータを前記第2のインタフェースに対応する方式に変換して前記第2の装置に転送するインタフェース変換装置において、
    前記第1の装置から前記第2の装置へのデータ送信に発生したエラーに起因して、前記第1の装置から前記第2の装置へのデータ再送信が行われた場合に、前記第1の装置から再送信されたデータのうち、前記エラー発生前に既に前記第2の装置に転送されているデータ以外のデータのみを前記第2の装置に転送することを特徴とするインタフェース変換装置。
JP2013265861A 2012-05-08 2013-12-24 インタフェース変換装置及びインタフェース変換方法 Active JP5715231B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013265861A JP5715231B2 (ja) 2012-05-08 2013-12-24 インタフェース変換装置及びインタフェース変換方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012106931 2012-05-08
JP2012106931 2012-05-08
JP2013265861A JP5715231B2 (ja) 2012-05-08 2013-12-24 インタフェース変換装置及びインタフェース変換方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013013875A Division JP2013254479A (ja) 2012-01-31 2013-01-29 インタフェース変換装置及びインタフェース変換方法

Publications (2)

Publication Number Publication Date
JP2014096162A true JP2014096162A (ja) 2014-05-22
JP5715231B2 JP5715231B2 (ja) 2015-05-07

Family

ID=49951887

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013013875A Pending JP2013254479A (ja) 2012-01-31 2013-01-29 インタフェース変換装置及びインタフェース変換方法
JP2013265861A Active JP5715231B2 (ja) 2012-05-08 2013-12-24 インタフェース変換装置及びインタフェース変換方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013013875A Pending JP2013254479A (ja) 2012-01-31 2013-01-29 インタフェース変換装置及びインタフェース変換方法

Country Status (1)

Country Link
JP (2) JP2013254479A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017054174A (ja) * 2015-09-07 2017-03-16 Necプラットフォームズ株式会社 受信装置、受信方法、及び、転送装置
JP2019526844A (ja) * 2016-06-27 2019-09-19 クアルコム,インコーポレイテッド アイソクロナスデータストリームを制御するためのシステムおよび方法
WO2021038822A1 (ja) * 2019-08-30 2021-03-04 株式会社ユニテックス インタフェース変換装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04247544A (ja) * 1991-02-04 1992-09-03 Nec Corp 単向通信のダウンロード処理装置
JPH05346867A (ja) * 1992-06-16 1993-12-27 Kobe Nippon Denki Software Kk データ転送のリスタート処理装置
JP2001337911A (ja) * 2000-05-25 2001-12-07 Hitachi Ltd Usb−atapiインターフェイスシステムとこれに用いるatapi−usb変換機器
JP2008176362A (ja) * 2007-01-16 2008-07-31 Ricoh Co Ltd データ変換装置とデータ変換方法と電子装置
JP2011209506A (ja) * 2010-03-30 2011-10-20 Yamaha Corp カラオケ端末
JP2012068808A (ja) * 2010-09-22 2012-04-05 Buffalo Inc 可搬記憶装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06348648A (ja) * 1993-06-07 1994-12-22 Fujitsu Ltd バスインターフェース装置
JP2003281087A (ja) * 2002-03-19 2003-10-03 Ricoh Co Ltd メモリターゲット装置及びデータ転送システム
JP2006059201A (ja) * 2004-08-20 2006-03-02 Renesas Technology Corp データ転送システム及びインターフェイス
JP4442523B2 (ja) * 2005-06-30 2010-03-31 セイコーエプソン株式会社 データ転送制御装置及び電子機器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04247544A (ja) * 1991-02-04 1992-09-03 Nec Corp 単向通信のダウンロード処理装置
JPH05346867A (ja) * 1992-06-16 1993-12-27 Kobe Nippon Denki Software Kk データ転送のリスタート処理装置
JP2001337911A (ja) * 2000-05-25 2001-12-07 Hitachi Ltd Usb−atapiインターフェイスシステムとこれに用いるatapi−usb変換機器
JP2008176362A (ja) * 2007-01-16 2008-07-31 Ricoh Co Ltd データ変換装置とデータ変換方法と電子装置
JP2011209506A (ja) * 2010-03-30 2011-10-20 Yamaha Corp カラオケ端末
JP2012068808A (ja) * 2010-09-22 2012-04-05 Buffalo Inc 可搬記憶装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017054174A (ja) * 2015-09-07 2017-03-16 Necプラットフォームズ株式会社 受信装置、受信方法、及び、転送装置
JP2019526844A (ja) * 2016-06-27 2019-09-19 クアルコム,インコーポレイテッド アイソクロナスデータストリームを制御するためのシステムおよび方法
JP7148413B2 (ja) 2016-06-27 2022-10-05 クアルコム,インコーポレイテッド アイソクロナスデータストリームを制御するためのシステムおよび方法
WO2021038822A1 (ja) * 2019-08-30 2021-03-04 株式会社ユニテックス インタフェース変換装置
EP4024224A4 (en) * 2019-08-30 2022-09-28 Unitex Corporation INTERFACE CONVERSION DEVICE
JP7442025B2 (ja) 2019-08-30 2024-03-04 株式会社ユニテックス インタフェース変換装置

Also Published As

Publication number Publication date
JP2013254479A (ja) 2013-12-19
JP5715231B2 (ja) 2015-05-07

Similar Documents

Publication Publication Date Title
US8867344B2 (en) Methods for bus data transmission and systems utilizing the same
US20100142418A1 (en) Data communication system, data communication request device, and data communication response device
US9021147B1 (en) Command queuing in disk drives
CN111448543B (zh) 内存访问技术及计算机系统
US6701373B1 (en) Data transmission apparatus
JP6287451B2 (ja) データ受信装置、データ受信装置の制御方法及びデータ送信装置とデータ受信装置とを有するデータ送受信システム
JP5715231B2 (ja) インタフェース変換装置及びインタフェース変換方法
US20060149866A1 (en) Method and apparatus for transferring data
US20040198223A1 (en) Flow control in a bluetooth wireless communication system
JP2015043237A (ja) メモリシステム
JP5125430B2 (ja) 情報処理装置及び情報処理方法
US7817572B2 (en) Communications apparatus and communication method
WO2024037076A1 (zh) 数据交互方法、装置、系统、电子设备和存储介质
JP2006120115A (ja) 情報機器及びその制御方法
JP4693576B2 (ja) データ転送制御装置、およびデータ転送制御方法
WO2013115282A1 (ja) インタフェース変換装置及びインタフェース変換方法、情報処理装置、情報処理システム、情報処理方法、プログラム及び記録媒体
JP4652315B2 (ja) ディスク装置、データ転送システム及びそれに用いるデータ転送方法
US8412998B1 (en) Restart operation with logical blocks in queued commands
JP2002251260A (ja) データ送受信システム
JP3190895B2 (ja) 通信エラー自動修復システム
US20080104286A1 (en) Data transfer apparatus and data transfer method
JP5677686B2 (ja) Fax送信装置及びfax送信プログラム
JP2008148181A (ja) 通信装置及び通信制御方法
JP2001333134A (ja) 自動再送要求方式における通信制御方法およびその装置
US20150180777A1 (en) Data processing apparatus and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140305

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20140305

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20140404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140603

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141028

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20141226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150312

R150 Certificate of patent or registration of utility model

Ref document number: 5715231

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250