(57)【要約】【課題】インタフェースを介してホストとデータの読み書きを行う機器において、ホストが要求したデータサイズよりも機器内部で持っているバッファの容量が小さい場合、処理できなかったデータサイズをホストに返してコマンド再送を期待するか、バッファの容量の単位で処理を繰り返すかの方法を取るため、データ転送レートの低下が発生する。【解決手段】内部に有するデータ転送用のバッファメモリ１０５の容量よりもホストコンピュータ１０１が要求したデータサイズの方が大きい場合に、バッファメモリ１０５の代わりに、より容量の大きい汎用のワーク用メモリ１０６を用いてデータ転送を行なう。これにより、コマンド当たりの処理可能なデータ量を増加させることが可能となり、バッファメモリ１０５の容量に依らずデータ転送の高速化を実現することができる。【選択図】  図１
2004178508.tif 000002
【特許請求の範囲】
【請求項１】
ホスト機器とデータ通信を行うインタフェースと、
前記ホスト機器から転送されたデータまたは前記ホスト機器に転送するデータを保存するバッファメモリと、
少なくとも前記ホスト機器との通信に使用可能で、かつ前記バッファメモリよりも容量の大きいワーク用メモリと、
記録媒体にデータの書き込み及び読み出しを行う読み書き手段とを有し、
前記データ通信は、前記ホスト機器からのコマンドの発行及び前記コマンドに対して少なくとも前記コマンドの成功もしくは失敗と実際に処理を行ったデータ長を前記ホスト機器が判断しうるレスポンス応答を前記ホスト機器に対して行う通信プロトコルによって制御されており、前記ホスト機器からのコマンドが発行された結果発生するデータ転送サイズが前記バッファメモリよりも大きい場合は、前記ワーク用メモリを介して前記ホスト機器から転送されたデータの前記記録媒体への書き込みまたは前記記録媒体から読み出したデータの前記ホスト機器への転送を、前記バッファメモリを用いる場合より多いデータ量で行うデータ記録再生装置。
【請求項２】
前記記録媒体の書き込み及び読み出しアクセスには、前記ホスト機器が書き込み及び読み出しコマンドを発行する前に認証コマンドを発行し、認証を完了しておくことを必要とする請求項１記載のデータ記録再生装置。
【請求項３】
コマンドの成功もしくは失敗と実際に処理を行ったデータ長をホスト機器が判断し得るレスポンス応答を前記ホスト機器に対して行うことによってデータ通信を実現する通信プロトコルを制御するステップと、
前記ホスト機器から転送されたデータもしくは前記ホスト機器に転送するデータをバッファメモリにコピーするステップと、
前記ホスト機器から転送されたデータもしくは前記ホスト機器に転送するデータを、少なくとも前記ホスト機器との通信に使用可能で、前記バッファメモリよりも容量の大きいワーク用メモリにコピーするステップと、
前記ホスト機器から前記コマンドを介して要求されたデータサイズと前記バッファメモリの大小を比較するステップと、
前記コマンドの内容に従って記録媒体へのデータの書き込みまたは読み出しを行うステップとを有し、
前記データサイズの方が前記バッファメモリよりも大きい場合は前記ワーク用メモリにデータをコピーして記録媒体へのデータの書き込みまたは読み出しを行うことを特徴とするデータ記録再生方法。
【請求項４】
前記記録媒体の書き込み及び読み出しアクセスには、前記ホスト機器が書き込み及び読み出しコマンドを発行する前に認証コマンドを発行し、認証を完了しておくことを必要とする請求項３記載のデータ記録再生方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホスト機器とインタフェースを介して双方向のデータ通信を行うデータ記録再生装置及びデータ記録再生方法に関する。
【０００２】
【従来の技術】
コンピュータやＡＶ機器を接続するインタフェースの規格として、ユニバーサル・シリアル・バス（ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やＩＥＥＥ１３９４等の規格が知られている。
【０００３】
ＵＳＢ上でストレージ・デバイスを扱うプロトコルは、ＵＳＢインプリメンターズ・フォーラム（ＵＳＢ−ＩＦ：ＵＳＢ  Ｉｍｐｌｅｍｅｎｔｅｒｓ  Ｆｏｒｕｍ，  Ｉｎｃ．）のホームページ（ｈｔｔｐ：／／ｗｗｗ．ｕｓｂ．ｏｒｇ／）で公開されているユニバーサル・シリアル・バス・マス・ストレージ・クラス・バルクオンリー・トランスポート（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓ  Ｂｕｌｋ−Ｏｎｌｙ  Ｔｒａｎｓｐｏｒｔ）等のドキュメントで公知である。
【０００４】
このＵｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓ  Ｂｕｌｋ−Ｏｎｌｙ  Ｔｒａｎｓｐｏｒｔでは、ＣＢＷ（Ｃｏｍｍａｎｄ  ｂｌｏｃｋ  Ｗｒａｐｐｅｒ）、ＣＳＷ（Ｃｏｍｍａｎｄ  Ｓｔａｔｕｓ  Ｗｒａｐｐｅｒ）と呼ばれるパケットで、実際のコマンドとステータスをラッピングして、ＵＳＢバス上でデータ通信を行う。ホストコンピュータがＵＳＢバスを介してデバイスにデータを書き込んだり読み出したりする場合、ホストコンピュータが書き込みもしくは読み出しのデータサイズをコマンドの引数として指定し、デバイスが要求されたデータサイズと実際に処理したデータサイズの差をＣＳＷを使って返す、という手順を踏む。
【０００５】
以上の様なＵＳＢやＩＥＥＥ１３９４等のシリアルバスにおけるデータ転送の方法については、例えば特許文献１に記載されたものが知られている。
【０００６】
【特許文献１】
特開平１０−３２２４１３号公報（段落０１９９〜０２０５および図５７〜図５９を参照。）
【０００７】
【発明が解決しようとする課題】
しかしながら上記のように、ホストコンピュータが要求したデータサイズと実際に処理したデータサイズの差（すなわち処理できなかったデータサイズ）を、デバイスが返す方法において、ホストが１回のコマンドで要求したデータサイズを全て処理できない場合、ホストコンピュータからのコマンド再送を待機するためデータの転送効率が低下するという問題を有していた。
【０００８】
また、デバイス内部のセクタバッファの容量（すなわちデバイスが処理できるデータサイズ）の単位でデータ転送を繰り返す方法も考えられる。しかし、この方法の場合、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ（登録商標））カードのようなセキュリティ機能を有するデバイスに対するデータ転送においては、事前に認証処理が必要となり、例えば認証領域アクセスのように、事前に認証コマンドを発行する必要がある場合は、このような方法を使用できないので、その効率は更に低下することになる。
【０００９】
本発明は、デバイス内部に有するバッファのサイズが、ホストが要求したデータサイズより小さい場合でも、データの転送効率を低下させることのないデータ記録再生装置及びデータ記録再生方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記課題を解決するために、本発明のデータ記録再生装置及びデータ記録再生方法は、内部で有するデータ転送用のバッファサイズよりもホストコンピュータが要求したデータ転送サイズの方が大きい場合に、データ転送用のバッファメモリよりも大きい汎用のワークメモリを用いて記録媒体への読み込み及び書き込みを行うことによってデータ転送の高速化を図るものである。
【００１１】
これによって、ホストコンピュータとの間のデータ転送効率が低下しないので、記録媒体に対するデータの記録再生時間を短縮することができる。
【００１２】
【発明の実施の形態】
本発明の請求項１に係る発明のデータ記録再生装置は、ホスト機器とデータ通信を行うインタフェースと、前記ホスト機器から転送されたデータまたは前記ホスト機器に転送するデータを保存するバッファメモリと、少なくとも前記ホスト機器との通信に使用可能で、かつ前記バッファメモリよりも容量の大きいワーク用メモリと、記録媒体にデータの書き込み及び読み出しを行う読み書き手段とを有し、前記データ通信は、前記ホスト機器からのコマンドの発行及び前記コマンドに対して少なくとも前記コマンドの成功もしくは失敗と実際に処理を行ったデータ長を前記ホスト機器が判断し得るレスポンス応答を前記ホスト機器に対して行う通信プロトコルによって制御されており、前記ホスト機器からのコマンドが発行された結果発生するデータ転送サイズが前記バッファメモリよりも大きい場合は、前記ワーク用メモリを介して前記ホスト機器から転送されたデータの前記記録媒体への書き込みまたは前記記録媒体から読み出したデータの前記ホスト機器への転送を、前記バッファメモリを用いる場合より多いデータ量で行うものである。
【００１３】
また、本発明の請求項２に係る発明は、上記請求項１に係る発明において、前記記録媒体の書き込み及び読み出しアクセスには、前記ホスト機器が書き込み及び読み出しコマンドを発行する前に認証コマンドを発行し、認証を完了しておくことを必要とするものである。
【００１４】
また、本発明の請求項３に係る発明のデータ記録再生方法は、コマンドの成功もしくは失敗と実際に処理を行ったデータ長をホスト機器が判断し得るレスポンス応答を前記ホスト機器に対して行うことによってデータ通信を実現する通信プロトコルを制御するステップと、前記ホスト機器から転送されたデータもしくは前記ホスト機器に転送するデータをバッファメモリにコピーするステップと、前記ホスト機器から転送されたデータもしくは前記ホスト機器に転送するデータを、少なくとも前記ホスト機器との通信に使用可能で、前記バッファメモリよりも容量の大きいワーク用メモリにコピーするステップと、前記ホスト機器から前記コマンドを介して要求されたデータサイズと前記バッファメモリの大小を比較するステップと、前記コマンドの内容に従って記録媒体へのデータの書き込みまたは読み出しを行うステップとを有し、前記データサイズの方が前記バッファメモリよりも大きい場合は前記ワーク用メモリにデータをコピーして記録媒体へのデータの書き込みまたは読み出しを行うことを特徴とする。
【００１５】
また、本発明の請求項４に係る発明は、上記請求項３に係る発明において、前記記録媒体の書き込み及び読み出しアクセスには、前記ホスト機器が書き込み及び読み出しコマンドを発行する前に認証コマンドを発行し、認証を完了しておくことを必要とするものである。
【００１６】
以上の発明によれば、データ転送サイズによって、バッファメモリとワーク用メモリとを適宜使い分けることができるので、ホスト機器とのデータ転送効率を上げることができる。
【００１７】
以下、本実施の形態について、図面を用いて説明する。
【００１８】
（実施の形態１）
図１は、本発明の実施の形態１によるデータ記録再生装置の構成を示すブロック図である。
【００１９】
図１において、１０１はホスト機器としてのホストコンピュータ、１０２はホストコンピュータ１０１とデータ記録再生装置を接続するＵＳＢバス、１０３はＵＳＢバス１０２が接続されるＵＳＢインタフェース回路（ＵＳＢ  Ｉ／Ｆ）、１０４はデータ記録再生装置における各種の処理を制御するための中央処理演算装置（ＣＰＵ）、１０５はデータ通信用のバッファメモリ、１０６はデータ通信にも利用可能でバッファメモリ１０５よりも容量の大きいワーク用メモリ、１０７は記録媒体への書き込み及び読み出しを行う読み書き手段としての記録媒体インタフェース（記録媒体Ｉ／Ｆ）、１０８はメモリカードなどの記録媒体である。なお、ワーク用メモリ１０６は、ホストコンピュータ１０１との通信以外の目的にも使用されるものである。
【００２０】
本実施の形態によるデータ記録再生装置は、ホストコンピュータ１０１とＵＳＢバス１０２を介して接続され、ＵＳＢバス１０２を用いて双方向のデータ通信を行う。また、データ記録再生装置は、ホストコンピュータ１０１とＵＳＢバス１０２を介してデータ通信を行うためのＵＳＢ  Ｉ／Ｆ１０３を有している。ＵＳＢバス１０２上で動作している論理的な通信プロトコルは「ＵＳＢ  Ｍａｓｓ  ＳｔｏｒａｇｅＣｌａｓｓ  Ｂｕｌｋ−Ｏｎｌｙ  Ｔｒａｎｓｐｏｒｔ」である。デバイスへの実際の制御コマンドは、この「ＵＳＢ  Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓ  Ｂｕｌｋ−Ｏｎｌｙ  Ｔｒａｎｓｐｏｒｔ」で定義されたＣＢＷ（Ｃｏｍｍａｎｄ  Ｂｌｏｃｋ  Ｗｒａｐｐｅｒ）パケットを使って転送され、コマンドの成功／失敗、及び書き込み／読み出しコマンドのようにデバイスが実際に処理したデータサイズを返す必要がある場合にはホストコンピュータ１０１がＣＢＷの中の制御コマンドの引数で指定したデータサイズと実際に処理したデータサイズの差をＣＳＷ（Ｃｏｍｍａｎｄ  Ｓｔａｔｕｓ  Ｗｒａｐｐｅｒ）にセットしてホストコンピュータ１０１に返す。
【００２１】
ホストコンピュータ１０１からＣＢＷに続いて転送データが存在する場合、読み出しの場合は記録媒体１０８から記録媒体Ｉ／Ｆ１０７を介して読み出したデータをデータ通信用のバッファメモリ１０５に一旦蓄えた上でＵＳＢ  Ｉ／Ｆ１０３を介してホストコンピュータ１０１に転送する。書き込みの場合はＵＳＢ  Ｉ／Ｆ１０３を介してホストコンピュータ１０１から転送されたデータをデータ通信用のバッファメモリ１０５に一旦蓄えた上で記録媒体Ｉ／Ｆ１０７を介して記録媒体１０８に書き込む。全体の制御はＣＰＵ１０４によって行われる。
【００２２】
今、ホストコンピュータ１０１から要求された転送サイズがバッファメモリ１０５よりも大きい場合を考える。バッファメモリ１０５よりも大きいサイズのデータを扱う場合は、バッファメモリ１０５への転送分だけデータを送受信して、そのデータサイズ分だけ記録媒体Ｉ／Ｆ１０７への書き込み／読み出しコマンドを繰り返すか、あるいはデータサイズ分だけを処理し、処理データサイズの差をＣＳＷでホストコンピュータ１０１に返してホストコンピュータ１０１からの再送を期待するかの２つの手段が考えられる。しかしながら、記録媒体１０８が認証領域を有している媒体であって、認証領域の読み出し／書き込みコマンドのようにコマンド発行毎に認証コマンドによるホストコンピュータ１０１からの認証動作が必要となる場合は、前者の方法は使えない。また、後者の方法は、再送の度に認証コマンドを再発行する必要があり、データの転送レートが低下する。
【００２３】
これを回避するため、本発明のデータ記録再生装置では、ホストコンピュータ１０１から要求された転送サイズがデータ通信用のバッファメモリ１０５よりも大きい場合には、バッファメモリ１０５の代わりにバッファメモリ１０５よりも大きい容量のワークメモリ１０６を用いてデータを処理することによって、コマンド当たりの処理可能なデータ量を増加させ、データの転送レートの低下を回避する。
【００２４】
次に、図２を用いて、図１に示したデータ記録再生装置の主要部をソフトウェアで実現する場合について説明する。
【００２５】
図２は、本実施の形態によるデータ記録再生方法を説明するためのフローチャートである。以下、図２を用いて、本実施の形態によるデータ記録再生方法を説明する。
【００２６】
まず、ホストコンピュータ１０１から制御コマンドがＣＢＷパケットとして発行される。デバイスとしてのデータ記録再生装置は、ＣＢＷの内容を見てホストコンピュータ１０１から発行されたコマンドを解釈する（ステップＳ２０）。コマンドがデータ転送（データステージ）を伴わないコマンドであればコマンドに応じた処理を行ない（ステップＳ２１，Ｓ２５）、実行結果をＣＳＷパケットでホストコンピュータ１０１に返す（ステップＳ３１）。
【００２７】
データステージを伴うコマンドであれば、コマンドの引数で渡されるデータステージのデータサイズがセクタバッファ（バッファメモリ１０５）より大きいかどうかを判定し（ステップ２２）、データサイズの方が大きければセクタバッファの代わりにセクタバッファよりも容量の大きいワーク用メモリ１０６を使用する（ステップＳ２３）。また、データサイズ以下であればセクタバッファを使用する（ステップＳ２４）。
【００２８】
コマンドが記録媒体１０８からの読み出し（Ｒｅａｄ）系のコマンドであれば（ステップＳ２６のＹｅｓ）、記録媒体１０８に読み出しコマンドを発行して読み出したデータをセクタバッファもしくはワーク用メモリ１０６でバッファリングし、ホストコンピュータ１０１にデータ転送を行なう（ステップＳ２７，Ｓ２９）。
【００２９】
逆に記録媒体への書き込み（Ｗｒｉｔｅ）系のコマンドであれば（ステップＳ２６のＮｏ）、ホストコンピュータ１０１から転送されたデータをセクタバッファもしくはワーク用メモリ１０６でバッファリングし、記録媒体１０８に書き込みコマンドを発行してデータを書き込む（ステップＳ２８，Ｓ３０）。
【００３０】
最後に、コマンドの実行結果及びコマンドで指定されたデータステージのデータサイズと実際に処理されたデータサイズとの差をＣＳＷパケットでホストコンピュータ１０１に返し（ステップＳ３１）、次のＣＢＷ受信ループに入る。
【００３１】
以上のように本実施の形態によれば、データ記録再生装置の内部で有するデータ転送用のバッファメモリ１０５の容量よりもホストコンピュータ１０１が要求したデータサイズの方が大きい場合に、バッファメモリ１０５の代わりに、より容量の大きい汎用のワーク用メモリ１０６を用いてデータ転送を行なうので、コマンド当たりの処理可能なデータ量を増加させ、データ転送の高速化、とりわけホストコンピュータ１０１からの認証を必要とする記録媒体のアクセス速度を向上させることができる。また、データ転送専用に充分なメモリ容量を確保できない機器に適用した場合において、データ転送速度とメモリ削減の両立を実現することができる。
【００３２】
なお、本発明におけるデータ記録再生方法を実現するソフトウェアをプログラムコードとして記録媒体（記録媒体１０８であっても、他の記録媒体でもよい）に記録し、これを装置に提供することで実現できることは言うまでもない。
【００３３】
また、記録媒体１０８は、着脱可能なメモリカード、光ディスク、光磁気ディスク、ハードディスクなどであってもよい。
【００３４】
また、ホストコンピュータ１０１と通信を行う手段として、ＵＳＢバス１０２としたが、それ以外のインタフェースであってもよい。
【００３５】
【発明の効果】
以上のように、本発明のデータ記録再生装置及びデータ記録再生方法は、その内部で有するデータ転送用のバッファメモリのサイズよりもホスト機器が要求したデータサイズの方が大きい場合に、データ転送用のバッファメモリよりも大きい汎用のワーク用メモリを用いて記録媒体への読み込み及び書き込みを行うことによって、コマンド当たりの処理可能なデータ量を増加させ、データ転送の高速化を図ることを可能としたものである。また、データ転送専用に充分なメモリを確保できない機器において、本発明を適用すれば、データ転送速度とメモリ削減の両立を実現することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１によるデータ記録再生装置の構成を示すブロック図
【図２】同実施の形態１によるデータ記録再生方法を示すフローチャート
【符号の説明】
１０１  ホストコンピュータ
１０２  ＵＳＢバス
１０３  ＵＳＢ  Ｉ／Ｆ
１０４  ＣＰＵ
１０５  バッファメモリ
１０６  ワーク用メモリ
１０７  記録媒体Ｉ／Ｆ
１０８  記録媒体
【図１】
2004178508.tif 000003
【図２】
2004178508.tif 000004