JP2004178508A - データ記録再生装置及びデータ記録再生方法 - Google Patents
データ記録再生装置及びデータ記録再生方法 Download PDFInfo
- Publication number
- JP2004178508A JP2004178508A JP2002347175A JP2002347175A JP2004178508A JP 2004178508 A JP2004178508 A JP 2004178508A JP 2002347175 A JP2002347175 A JP 2002347175A JP 2002347175 A JP2002347175 A JP 2002347175A JP 2004178508 A JP2004178508 A JP 2004178508A
- Authority
- JP
- Japan
- Prior art keywords
- data
- host device
- command
- buffer memory
- recording medium
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Systems (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【課題】インタフェースを介してホストとデータの読み書きを行う機器において、ホストが要求したデータサイズよりも機器内部で持っているバッファの容量が小さい場合、処理できなかったデータサイズをホストに返してコマンド再送を期待するか、バッファの容量の単位で処理を繰り返すかの方法を取るため、データ転送レートの低下が発生する。
【解決手段】内部に有するデータ転送用のバッファメモリ105の容量よりもホストコンピュータ101が要求したデータサイズの方が大きい場合に、バッファメモリ105の代わりに、より容量の大きい汎用のワーク用メモリ106を用いてデータ転送を行なう。これにより、コマンド当たりの処理可能なデータ量を増加させることが可能となり、バッファメモリ105の容量に依らずデータ転送の高速化を実現することができる。
【選択図】 図1
【解決手段】内部に有するデータ転送用のバッファメモリ105の容量よりもホストコンピュータ101が要求したデータサイズの方が大きい場合に、バッファメモリ105の代わりに、より容量の大きい汎用のワーク用メモリ106を用いてデータ転送を行なう。これにより、コマンド当たりの処理可能なデータ量を増加させることが可能となり、バッファメモリ105の容量に依らずデータ転送の高速化を実現することができる。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、ホスト機器とインタフェースを介して双方向のデータ通信を行うデータ記録再生装置及びデータ記録再生方法に関する。
【0002】
【従来の技術】
コンピュータやAV機器を接続するインタフェースの規格として、ユニバーサル・シリアル・バス(USB:Universal Serial Bus)やIEEE1394等の規格が知られている。
【0003】
USB上でストレージ・デバイスを扱うプロトコルは、USBインプリメンターズ・フォーラム(USB−IF:USB Implementers Forum, Inc.)のホームページ(http://www.usb.org/)で公開されているユニバーサル・シリアル・バス・マス・ストレージ・クラス・バルクオンリー・トランスポート(Universal Serial Bus Mass Storage Class Bulk−Only Transport)等のドキュメントで公知である。
【0004】
このUniversal Serial Bus Mass Storage Class Bulk−Only Transportでは、CBW(Command block Wrapper)、CSW(Command Status Wrapper)と呼ばれるパケットで、実際のコマンドとステータスをラッピングして、USBバス上でデータ通信を行う。ホストコンピュータがUSBバスを介してデバイスにデータを書き込んだり読み出したりする場合、ホストコンピュータが書き込みもしくは読み出しのデータサイズをコマンドの引数として指定し、デバイスが要求されたデータサイズと実際に処理したデータサイズの差をCSWを使って返す、という手順を踏む。
【0005】
以上の様なUSBやIEEE1394等のシリアルバスにおけるデータ転送の方法については、例えば特許文献1に記載されたものが知られている。
【0006】
【特許文献1】
特開平10−322413号公報(段落0199〜0205および図57〜図59を参照。)
【0007】
【発明が解決しようとする課題】
しかしながら上記のように、ホストコンピュータが要求したデータサイズと実際に処理したデータサイズの差(すなわち処理できなかったデータサイズ)を、デバイスが返す方法において、ホストが1回のコマンドで要求したデータサイズを全て処理できない場合、ホストコンピュータからのコマンド再送を待機するためデータの転送効率が低下するという問題を有していた。
【0008】
また、デバイス内部のセクタバッファの容量(すなわちデバイスが処理できるデータサイズ)の単位でデータ転送を繰り返す方法も考えられる。しかし、この方法の場合、SD(Secure Digital(登録商標))カードのようなセキュリティ機能を有するデバイスに対するデータ転送においては、事前に認証処理が必要となり、例えば認証領域アクセスのように、事前に認証コマンドを発行する必要がある場合は、このような方法を使用できないので、その効率は更に低下することになる。
【0009】
本発明は、デバイス内部に有するバッファのサイズが、ホストが要求したデータサイズより小さい場合でも、データの転送効率を低下させることのないデータ記録再生装置及びデータ記録再生方法を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記課題を解決するために、本発明のデータ記録再生装置及びデータ記録再生方法は、内部で有するデータ転送用のバッファサイズよりもホストコンピュータが要求したデータ転送サイズの方が大きい場合に、データ転送用のバッファメモリよりも大きい汎用のワークメモリを用いて記録媒体への読み込み及び書き込みを行うことによってデータ転送の高速化を図るものである。
【0011】
これによって、ホストコンピュータとの間のデータ転送効率が低下しないので、記録媒体に対するデータの記録再生時間を短縮することができる。
【0012】
【発明の実施の形態】
本発明の請求項1に係る発明のデータ記録再生装置は、ホスト機器とデータ通信を行うインタフェースと、前記ホスト機器から転送されたデータまたは前記ホスト機器に転送するデータを保存するバッファメモリと、少なくとも前記ホスト機器との通信に使用可能で、かつ前記バッファメモリよりも容量の大きいワーク用メモリと、記録媒体にデータの書き込み及び読み出しを行う読み書き手段とを有し、前記データ通信は、前記ホスト機器からのコマンドの発行及び前記コマンドに対して少なくとも前記コマンドの成功もしくは失敗と実際に処理を行ったデータ長を前記ホスト機器が判断し得るレスポンス応答を前記ホスト機器に対して行う通信プロトコルによって制御されており、前記ホスト機器からのコマンドが発行された結果発生するデータ転送サイズが前記バッファメモリよりも大きい場合は、前記ワーク用メモリを介して前記ホスト機器から転送されたデータの前記記録媒体への書き込みまたは前記記録媒体から読み出したデータの前記ホスト機器への転送を、前記バッファメモリを用いる場合より多いデータ量で行うものである。
【0013】
また、本発明の請求項2に係る発明は、上記請求項1に係る発明において、前記記録媒体の書き込み及び読み出しアクセスには、前記ホスト機器が書き込み及び読み出しコマンドを発行する前に認証コマンドを発行し、認証を完了しておくことを必要とするものである。
【0014】
また、本発明の請求項3に係る発明のデータ記録再生方法は、コマンドの成功もしくは失敗と実際に処理を行ったデータ長をホスト機器が判断し得るレスポンス応答を前記ホスト機器に対して行うことによってデータ通信を実現する通信プロトコルを制御するステップと、前記ホスト機器から転送されたデータもしくは前記ホスト機器に転送するデータをバッファメモリにコピーするステップと、前記ホスト機器から転送されたデータもしくは前記ホスト機器に転送するデータを、少なくとも前記ホスト機器との通信に使用可能で、前記バッファメモリよりも容量の大きいワーク用メモリにコピーするステップと、前記ホスト機器から前記コマンドを介して要求されたデータサイズと前記バッファメモリの大小を比較するステップと、前記コマンドの内容に従って記録媒体へのデータの書き込みまたは読み出しを行うステップとを有し、前記データサイズの方が前記バッファメモリよりも大きい場合は前記ワーク用メモリにデータをコピーして記録媒体へのデータの書き込みまたは読み出しを行うことを特徴とする。
【0015】
また、本発明の請求項4に係る発明は、上記請求項3に係る発明において、前記記録媒体の書き込み及び読み出しアクセスには、前記ホスト機器が書き込み及び読み出しコマンドを発行する前に認証コマンドを発行し、認証を完了しておくことを必要とするものである。
【0016】
以上の発明によれば、データ転送サイズによって、バッファメモリとワーク用メモリとを適宜使い分けることができるので、ホスト機器とのデータ転送効率を上げることができる。
【0017】
以下、本実施の形態について、図面を用いて説明する。
【0018】
(実施の形態1)
図1は、本発明の実施の形態1によるデータ記録再生装置の構成を示すブロック図である。
【0019】
図1において、101はホスト機器としてのホストコンピュータ、102はホストコンピュータ101とデータ記録再生装置を接続するUSBバス、103はUSBバス102が接続されるUSBインタフェース回路(USB I/F)、104はデータ記録再生装置における各種の処理を制御するための中央処理演算装置(CPU)、105はデータ通信用のバッファメモリ、106はデータ通信にも利用可能でバッファメモリ105よりも容量の大きいワーク用メモリ、107は記録媒体への書き込み及び読み出しを行う読み書き手段としての記録媒体インタフェース(記録媒体I/F)、108はメモリカードなどの記録媒体である。なお、ワーク用メモリ106は、ホストコンピュータ101との通信以外の目的にも使用されるものである。
【0020】
本実施の形態によるデータ記録再生装置は、ホストコンピュータ101とUSBバス102を介して接続され、USBバス102を用いて双方向のデータ通信を行う。また、データ記録再生装置は、ホストコンピュータ101とUSBバス102を介してデータ通信を行うためのUSB I/F103を有している。USBバス102上で動作している論理的な通信プロトコルは「USB Mass StorageClass Bulk−Only Transport」である。デバイスへの実際の制御コマンドは、この「USB Mass Storage Class Bulk−Only Transport」で定義されたCBW(Command Block Wrapper)パケットを使って転送され、コマンドの成功/失敗、及び書き込み/読み出しコマンドのようにデバイスが実際に処理したデータサイズを返す必要がある場合にはホストコンピュータ101がCBWの中の制御コマンドの引数で指定したデータサイズと実際に処理したデータサイズの差をCSW(Command Status Wrapper)にセットしてホストコンピュータ101に返す。
【0021】
ホストコンピュータ101からCBWに続いて転送データが存在する場合、読み出しの場合は記録媒体108から記録媒体I/F107を介して読み出したデータをデータ通信用のバッファメモリ105に一旦蓄えた上でUSB I/F103を介してホストコンピュータ101に転送する。書き込みの場合はUSB I/F103を介してホストコンピュータ101から転送されたデータをデータ通信用のバッファメモリ105に一旦蓄えた上で記録媒体I/F107を介して記録媒体108に書き込む。全体の制御はCPU104によって行われる。
【0022】
今、ホストコンピュータ101から要求された転送サイズがバッファメモリ105よりも大きい場合を考える。バッファメモリ105よりも大きいサイズのデータを扱う場合は、バッファメモリ105への転送分だけデータを送受信して、そのデータサイズ分だけ記録媒体I/F107への書き込み/読み出しコマンドを繰り返すか、あるいはデータサイズ分だけを処理し、処理データサイズの差をCSWでホストコンピュータ101に返してホストコンピュータ101からの再送を期待するかの2つの手段が考えられる。しかしながら、記録媒体108が認証領域を有している媒体であって、認証領域の読み出し/書き込みコマンドのようにコマンド発行毎に認証コマンドによるホストコンピュータ101からの認証動作が必要となる場合は、前者の方法は使えない。また、後者の方法は、再送の度に認証コマンドを再発行する必要があり、データの転送レートが低下する。
【0023】
これを回避するため、本発明のデータ記録再生装置では、ホストコンピュータ101から要求された転送サイズがデータ通信用のバッファメモリ105よりも大きい場合には、バッファメモリ105の代わりにバッファメモリ105よりも大きい容量のワークメモリ106を用いてデータを処理することによって、コマンド当たりの処理可能なデータ量を増加させ、データの転送レートの低下を回避する。
【0024】
次に、図2を用いて、図1に示したデータ記録再生装置の主要部をソフトウェアで実現する場合について説明する。
【0025】
図2は、本実施の形態によるデータ記録再生方法を説明するためのフローチャートである。以下、図2を用いて、本実施の形態によるデータ記録再生方法を説明する。
【0026】
まず、ホストコンピュータ101から制御コマンドがCBWパケットとして発行される。デバイスとしてのデータ記録再生装置は、CBWの内容を見てホストコンピュータ101から発行されたコマンドを解釈する(ステップS20)。コマンドがデータ転送(データステージ)を伴わないコマンドであればコマンドに応じた処理を行ない(ステップS21,S25)、実行結果をCSWパケットでホストコンピュータ101に返す(ステップS31)。
【0027】
データステージを伴うコマンドであれば、コマンドの引数で渡されるデータステージのデータサイズがセクタバッファ(バッファメモリ105)より大きいかどうかを判定し(ステップ22)、データサイズの方が大きければセクタバッファの代わりにセクタバッファよりも容量の大きいワーク用メモリ106を使用する(ステップS23)。また、データサイズ以下であればセクタバッファを使用する(ステップS24)。
【0028】
コマンドが記録媒体108からの読み出し(Read)系のコマンドであれば(ステップS26のYes)、記録媒体108に読み出しコマンドを発行して読み出したデータをセクタバッファもしくはワーク用メモリ106でバッファリングし、ホストコンピュータ101にデータ転送を行なう(ステップS27,S29)。
【0029】
逆に記録媒体への書き込み(Write)系のコマンドであれば(ステップS26のNo)、ホストコンピュータ101から転送されたデータをセクタバッファもしくはワーク用メモリ106でバッファリングし、記録媒体108に書き込みコマンドを発行してデータを書き込む(ステップS28,S30)。
【0030】
最後に、コマンドの実行結果及びコマンドで指定されたデータステージのデータサイズと実際に処理されたデータサイズとの差をCSWパケットでホストコンピュータ101に返し(ステップS31)、次のCBW受信ループに入る。
【0031】
以上のように本実施の形態によれば、データ記録再生装置の内部で有するデータ転送用のバッファメモリ105の容量よりもホストコンピュータ101が要求したデータサイズの方が大きい場合に、バッファメモリ105の代わりに、より容量の大きい汎用のワーク用メモリ106を用いてデータ転送を行なうので、コマンド当たりの処理可能なデータ量を増加させ、データ転送の高速化、とりわけホストコンピュータ101からの認証を必要とする記録媒体のアクセス速度を向上させることができる。また、データ転送専用に充分なメモリ容量を確保できない機器に適用した場合において、データ転送速度とメモリ削減の両立を実現することができる。
【0032】
なお、本発明におけるデータ記録再生方法を実現するソフトウェアをプログラムコードとして記録媒体(記録媒体108であっても、他の記録媒体でもよい)に記録し、これを装置に提供することで実現できることは言うまでもない。
【0033】
また、記録媒体108は、着脱可能なメモリカード、光ディスク、光磁気ディスク、ハードディスクなどであってもよい。
【0034】
また、ホストコンピュータ101と通信を行う手段として、USBバス102としたが、それ以外のインタフェースであってもよい。
【0035】
【発明の効果】
以上のように、本発明のデータ記録再生装置及びデータ記録再生方法は、その内部で有するデータ転送用のバッファメモリのサイズよりもホスト機器が要求したデータサイズの方が大きい場合に、データ転送用のバッファメモリよりも大きい汎用のワーク用メモリを用いて記録媒体への読み込み及び書き込みを行うことによって、コマンド当たりの処理可能なデータ量を増加させ、データ転送の高速化を図ることを可能としたものである。また、データ転送専用に充分なメモリを確保できない機器において、本発明を適用すれば、データ転送速度とメモリ削減の両立を実現することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1によるデータ記録再生装置の構成を示すブロック図
【図2】同実施の形態1によるデータ記録再生方法を示すフローチャート
【符号の説明】
101 ホストコンピュータ
102 USBバス
103 USB I/F
104 CPU
105 バッファメモリ
106 ワーク用メモリ
107 記録媒体I/F
108 記録媒体
【発明の属する技術分野】
本発明は、ホスト機器とインタフェースを介して双方向のデータ通信を行うデータ記録再生装置及びデータ記録再生方法に関する。
【0002】
【従来の技術】
コンピュータやAV機器を接続するインタフェースの規格として、ユニバーサル・シリアル・バス(USB:Universal Serial Bus)やIEEE1394等の規格が知られている。
【0003】
USB上でストレージ・デバイスを扱うプロトコルは、USBインプリメンターズ・フォーラム(USB−IF:USB Implementers Forum, Inc.)のホームページ(http://www.usb.org/)で公開されているユニバーサル・シリアル・バス・マス・ストレージ・クラス・バルクオンリー・トランスポート(Universal Serial Bus Mass Storage Class Bulk−Only Transport)等のドキュメントで公知である。
【0004】
このUniversal Serial Bus Mass Storage Class Bulk−Only Transportでは、CBW(Command block Wrapper)、CSW(Command Status Wrapper)と呼ばれるパケットで、実際のコマンドとステータスをラッピングして、USBバス上でデータ通信を行う。ホストコンピュータがUSBバスを介してデバイスにデータを書き込んだり読み出したりする場合、ホストコンピュータが書き込みもしくは読み出しのデータサイズをコマンドの引数として指定し、デバイスが要求されたデータサイズと実際に処理したデータサイズの差をCSWを使って返す、という手順を踏む。
【0005】
以上の様なUSBやIEEE1394等のシリアルバスにおけるデータ転送の方法については、例えば特許文献1に記載されたものが知られている。
【0006】
【特許文献1】
特開平10−322413号公報(段落0199〜0205および図57〜図59を参照。)
【0007】
【発明が解決しようとする課題】
しかしながら上記のように、ホストコンピュータが要求したデータサイズと実際に処理したデータサイズの差(すなわち処理できなかったデータサイズ)を、デバイスが返す方法において、ホストが1回のコマンドで要求したデータサイズを全て処理できない場合、ホストコンピュータからのコマンド再送を待機するためデータの転送効率が低下するという問題を有していた。
【0008】
また、デバイス内部のセクタバッファの容量(すなわちデバイスが処理できるデータサイズ)の単位でデータ転送を繰り返す方法も考えられる。しかし、この方法の場合、SD(Secure Digital(登録商標))カードのようなセキュリティ機能を有するデバイスに対するデータ転送においては、事前に認証処理が必要となり、例えば認証領域アクセスのように、事前に認証コマンドを発行する必要がある場合は、このような方法を使用できないので、その効率は更に低下することになる。
【0009】
本発明は、デバイス内部に有するバッファのサイズが、ホストが要求したデータサイズより小さい場合でも、データの転送効率を低下させることのないデータ記録再生装置及びデータ記録再生方法を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記課題を解決するために、本発明のデータ記録再生装置及びデータ記録再生方法は、内部で有するデータ転送用のバッファサイズよりもホストコンピュータが要求したデータ転送サイズの方が大きい場合に、データ転送用のバッファメモリよりも大きい汎用のワークメモリを用いて記録媒体への読み込み及び書き込みを行うことによってデータ転送の高速化を図るものである。
【0011】
これによって、ホストコンピュータとの間のデータ転送効率が低下しないので、記録媒体に対するデータの記録再生時間を短縮することができる。
【0012】
【発明の実施の形態】
本発明の請求項1に係る発明のデータ記録再生装置は、ホスト機器とデータ通信を行うインタフェースと、前記ホスト機器から転送されたデータまたは前記ホスト機器に転送するデータを保存するバッファメモリと、少なくとも前記ホスト機器との通信に使用可能で、かつ前記バッファメモリよりも容量の大きいワーク用メモリと、記録媒体にデータの書き込み及び読み出しを行う読み書き手段とを有し、前記データ通信は、前記ホスト機器からのコマンドの発行及び前記コマンドに対して少なくとも前記コマンドの成功もしくは失敗と実際に処理を行ったデータ長を前記ホスト機器が判断し得るレスポンス応答を前記ホスト機器に対して行う通信プロトコルによって制御されており、前記ホスト機器からのコマンドが発行された結果発生するデータ転送サイズが前記バッファメモリよりも大きい場合は、前記ワーク用メモリを介して前記ホスト機器から転送されたデータの前記記録媒体への書き込みまたは前記記録媒体から読み出したデータの前記ホスト機器への転送を、前記バッファメモリを用いる場合より多いデータ量で行うものである。
【0013】
また、本発明の請求項2に係る発明は、上記請求項1に係る発明において、前記記録媒体の書き込み及び読み出しアクセスには、前記ホスト機器が書き込み及び読み出しコマンドを発行する前に認証コマンドを発行し、認証を完了しておくことを必要とするものである。
【0014】
また、本発明の請求項3に係る発明のデータ記録再生方法は、コマンドの成功もしくは失敗と実際に処理を行ったデータ長をホスト機器が判断し得るレスポンス応答を前記ホスト機器に対して行うことによってデータ通信を実現する通信プロトコルを制御するステップと、前記ホスト機器から転送されたデータもしくは前記ホスト機器に転送するデータをバッファメモリにコピーするステップと、前記ホスト機器から転送されたデータもしくは前記ホスト機器に転送するデータを、少なくとも前記ホスト機器との通信に使用可能で、前記バッファメモリよりも容量の大きいワーク用メモリにコピーするステップと、前記ホスト機器から前記コマンドを介して要求されたデータサイズと前記バッファメモリの大小を比較するステップと、前記コマンドの内容に従って記録媒体へのデータの書き込みまたは読み出しを行うステップとを有し、前記データサイズの方が前記バッファメモリよりも大きい場合は前記ワーク用メモリにデータをコピーして記録媒体へのデータの書き込みまたは読み出しを行うことを特徴とする。
【0015】
また、本発明の請求項4に係る発明は、上記請求項3に係る発明において、前記記録媒体の書き込み及び読み出しアクセスには、前記ホスト機器が書き込み及び読み出しコマンドを発行する前に認証コマンドを発行し、認証を完了しておくことを必要とするものである。
【0016】
以上の発明によれば、データ転送サイズによって、バッファメモリとワーク用メモリとを適宜使い分けることができるので、ホスト機器とのデータ転送効率を上げることができる。
【0017】
以下、本実施の形態について、図面を用いて説明する。
【0018】
(実施の形態1)
図1は、本発明の実施の形態1によるデータ記録再生装置の構成を示すブロック図である。
【0019】
図1において、101はホスト機器としてのホストコンピュータ、102はホストコンピュータ101とデータ記録再生装置を接続するUSBバス、103はUSBバス102が接続されるUSBインタフェース回路(USB I/F)、104はデータ記録再生装置における各種の処理を制御するための中央処理演算装置(CPU)、105はデータ通信用のバッファメモリ、106はデータ通信にも利用可能でバッファメモリ105よりも容量の大きいワーク用メモリ、107は記録媒体への書き込み及び読み出しを行う読み書き手段としての記録媒体インタフェース(記録媒体I/F)、108はメモリカードなどの記録媒体である。なお、ワーク用メモリ106は、ホストコンピュータ101との通信以外の目的にも使用されるものである。
【0020】
本実施の形態によるデータ記録再生装置は、ホストコンピュータ101とUSBバス102を介して接続され、USBバス102を用いて双方向のデータ通信を行う。また、データ記録再生装置は、ホストコンピュータ101とUSBバス102を介してデータ通信を行うためのUSB I/F103を有している。USBバス102上で動作している論理的な通信プロトコルは「USB Mass StorageClass Bulk−Only Transport」である。デバイスへの実際の制御コマンドは、この「USB Mass Storage Class Bulk−Only Transport」で定義されたCBW(Command Block Wrapper)パケットを使って転送され、コマンドの成功/失敗、及び書き込み/読み出しコマンドのようにデバイスが実際に処理したデータサイズを返す必要がある場合にはホストコンピュータ101がCBWの中の制御コマンドの引数で指定したデータサイズと実際に処理したデータサイズの差をCSW(Command Status Wrapper)にセットしてホストコンピュータ101に返す。
【0021】
ホストコンピュータ101からCBWに続いて転送データが存在する場合、読み出しの場合は記録媒体108から記録媒体I/F107を介して読み出したデータをデータ通信用のバッファメモリ105に一旦蓄えた上でUSB I/F103を介してホストコンピュータ101に転送する。書き込みの場合はUSB I/F103を介してホストコンピュータ101から転送されたデータをデータ通信用のバッファメモリ105に一旦蓄えた上で記録媒体I/F107を介して記録媒体108に書き込む。全体の制御はCPU104によって行われる。
【0022】
今、ホストコンピュータ101から要求された転送サイズがバッファメモリ105よりも大きい場合を考える。バッファメモリ105よりも大きいサイズのデータを扱う場合は、バッファメモリ105への転送分だけデータを送受信して、そのデータサイズ分だけ記録媒体I/F107への書き込み/読み出しコマンドを繰り返すか、あるいはデータサイズ分だけを処理し、処理データサイズの差をCSWでホストコンピュータ101に返してホストコンピュータ101からの再送を期待するかの2つの手段が考えられる。しかしながら、記録媒体108が認証領域を有している媒体であって、認証領域の読み出し/書き込みコマンドのようにコマンド発行毎に認証コマンドによるホストコンピュータ101からの認証動作が必要となる場合は、前者の方法は使えない。また、後者の方法は、再送の度に認証コマンドを再発行する必要があり、データの転送レートが低下する。
【0023】
これを回避するため、本発明のデータ記録再生装置では、ホストコンピュータ101から要求された転送サイズがデータ通信用のバッファメモリ105よりも大きい場合には、バッファメモリ105の代わりにバッファメモリ105よりも大きい容量のワークメモリ106を用いてデータを処理することによって、コマンド当たりの処理可能なデータ量を増加させ、データの転送レートの低下を回避する。
【0024】
次に、図2を用いて、図1に示したデータ記録再生装置の主要部をソフトウェアで実現する場合について説明する。
【0025】
図2は、本実施の形態によるデータ記録再生方法を説明するためのフローチャートである。以下、図2を用いて、本実施の形態によるデータ記録再生方法を説明する。
【0026】
まず、ホストコンピュータ101から制御コマンドがCBWパケットとして発行される。デバイスとしてのデータ記録再生装置は、CBWの内容を見てホストコンピュータ101から発行されたコマンドを解釈する(ステップS20)。コマンドがデータ転送(データステージ)を伴わないコマンドであればコマンドに応じた処理を行ない(ステップS21,S25)、実行結果をCSWパケットでホストコンピュータ101に返す(ステップS31)。
【0027】
データステージを伴うコマンドであれば、コマンドの引数で渡されるデータステージのデータサイズがセクタバッファ(バッファメモリ105)より大きいかどうかを判定し(ステップ22)、データサイズの方が大きければセクタバッファの代わりにセクタバッファよりも容量の大きいワーク用メモリ106を使用する(ステップS23)。また、データサイズ以下であればセクタバッファを使用する(ステップS24)。
【0028】
コマンドが記録媒体108からの読み出し(Read)系のコマンドであれば(ステップS26のYes)、記録媒体108に読み出しコマンドを発行して読み出したデータをセクタバッファもしくはワーク用メモリ106でバッファリングし、ホストコンピュータ101にデータ転送を行なう(ステップS27,S29)。
【0029】
逆に記録媒体への書き込み(Write)系のコマンドであれば(ステップS26のNo)、ホストコンピュータ101から転送されたデータをセクタバッファもしくはワーク用メモリ106でバッファリングし、記録媒体108に書き込みコマンドを発行してデータを書き込む(ステップS28,S30)。
【0030】
最後に、コマンドの実行結果及びコマンドで指定されたデータステージのデータサイズと実際に処理されたデータサイズとの差をCSWパケットでホストコンピュータ101に返し(ステップS31)、次のCBW受信ループに入る。
【0031】
以上のように本実施の形態によれば、データ記録再生装置の内部で有するデータ転送用のバッファメモリ105の容量よりもホストコンピュータ101が要求したデータサイズの方が大きい場合に、バッファメモリ105の代わりに、より容量の大きい汎用のワーク用メモリ106を用いてデータ転送を行なうので、コマンド当たりの処理可能なデータ量を増加させ、データ転送の高速化、とりわけホストコンピュータ101からの認証を必要とする記録媒体のアクセス速度を向上させることができる。また、データ転送専用に充分なメモリ容量を確保できない機器に適用した場合において、データ転送速度とメモリ削減の両立を実現することができる。
【0032】
なお、本発明におけるデータ記録再生方法を実現するソフトウェアをプログラムコードとして記録媒体(記録媒体108であっても、他の記録媒体でもよい)に記録し、これを装置に提供することで実現できることは言うまでもない。
【0033】
また、記録媒体108は、着脱可能なメモリカード、光ディスク、光磁気ディスク、ハードディスクなどであってもよい。
【0034】
また、ホストコンピュータ101と通信を行う手段として、USBバス102としたが、それ以外のインタフェースであってもよい。
【0035】
【発明の効果】
以上のように、本発明のデータ記録再生装置及びデータ記録再生方法は、その内部で有するデータ転送用のバッファメモリのサイズよりもホスト機器が要求したデータサイズの方が大きい場合に、データ転送用のバッファメモリよりも大きい汎用のワーク用メモリを用いて記録媒体への読み込み及び書き込みを行うことによって、コマンド当たりの処理可能なデータ量を増加させ、データ転送の高速化を図ることを可能としたものである。また、データ転送専用に充分なメモリを確保できない機器において、本発明を適用すれば、データ転送速度とメモリ削減の両立を実現することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1によるデータ記録再生装置の構成を示すブロック図
【図2】同実施の形態1によるデータ記録再生方法を示すフローチャート
【符号の説明】
101 ホストコンピュータ
102 USBバス
103 USB I/F
104 CPU
105 バッファメモリ
106 ワーク用メモリ
107 記録媒体I/F
108 記録媒体
Claims (4)
- ホスト機器とデータ通信を行うインタフェースと、
前記ホスト機器から転送されたデータまたは前記ホスト機器に転送するデータを保存するバッファメモリと、
少なくとも前記ホスト機器との通信に使用可能で、かつ前記バッファメモリよりも容量の大きいワーク用メモリと、
記録媒体にデータの書き込み及び読み出しを行う読み書き手段とを有し、
前記データ通信は、前記ホスト機器からのコマンドの発行及び前記コマンドに対して少なくとも前記コマンドの成功もしくは失敗と実際に処理を行ったデータ長を前記ホスト機器が判断しうるレスポンス応答を前記ホスト機器に対して行う通信プロトコルによって制御されており、前記ホスト機器からのコマンドが発行された結果発生するデータ転送サイズが前記バッファメモリよりも大きい場合は、前記ワーク用メモリを介して前記ホスト機器から転送されたデータの前記記録媒体への書き込みまたは前記記録媒体から読み出したデータの前記ホスト機器への転送を、前記バッファメモリを用いる場合より多いデータ量で行うデータ記録再生装置。 - 前記記録媒体の書き込み及び読み出しアクセスには、前記ホスト機器が書き込み及び読み出しコマンドを発行する前に認証コマンドを発行し、認証を完了しておくことを必要とする請求項1記載のデータ記録再生装置。
- コマンドの成功もしくは失敗と実際に処理を行ったデータ長をホスト機器が判断し得るレスポンス応答を前記ホスト機器に対して行うことによってデータ通信を実現する通信プロトコルを制御するステップと、
前記ホスト機器から転送されたデータもしくは前記ホスト機器に転送するデータをバッファメモリにコピーするステップと、
前記ホスト機器から転送されたデータもしくは前記ホスト機器に転送するデータを、少なくとも前記ホスト機器との通信に使用可能で、前記バッファメモリよりも容量の大きいワーク用メモリにコピーするステップと、
前記ホスト機器から前記コマンドを介して要求されたデータサイズと前記バッファメモリの大小を比較するステップと、
前記コマンドの内容に従って記録媒体へのデータの書き込みまたは読み出しを行うステップとを有し、
前記データサイズの方が前記バッファメモリよりも大きい場合は前記ワーク用メモリにデータをコピーして記録媒体へのデータの書き込みまたは読み出しを行うことを特徴とするデータ記録再生方法。 - 前記記録媒体の書き込み及び読み出しアクセスには、前記ホスト機器が書き込み及び読み出しコマンドを発行する前に認証コマンドを発行し、認証を完了しておくことを必要とする請求項3記載のデータ記録再生方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002347175A JP2004178508A (ja) | 2002-11-29 | 2002-11-29 | データ記録再生装置及びデータ記録再生方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002347175A JP2004178508A (ja) | 2002-11-29 | 2002-11-29 | データ記録再生装置及びデータ記録再生方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004178508A true JP2004178508A (ja) | 2004-06-24 |
Family
ID=32707861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002347175A Pending JP2004178508A (ja) | 2002-11-29 | 2002-11-29 | データ記録再生装置及びデータ記録再生方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004178508A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102461A (zh) * | 2014-07-25 | 2014-10-15 | 吉林大学 | 一种sd卡及其工作方法 |
-
2002
- 2002-11-29 JP JP2002347175A patent/JP2004178508A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102461A (zh) * | 2014-07-25 | 2014-10-15 | 吉林大学 | 一种sd卡及其工作方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7346754B2 (en) | Control method for storage device controller system, and storage device controller system | |
US20060218324A1 (en) | Systems and methods for flexible data transfers in SDIO and/or MMC | |
US6886083B2 (en) | Apparatus and method for controlling a card device | |
US6105076A (en) | Method, system, and program for performing data transfer operations on user data | |
US7409477B2 (en) | Memory card having a processor coupled between host interface and second interface wherein internal storage code provides a generic interface between host interface and processor | |
US7127530B2 (en) | Command issuing apparatus for high-speed serial interface | |
JP2013030145A (ja) | メモリカードコントローラ、メモリカードアダプタおよびメモリカードドライブ | |
JP4461089B2 (ja) | ストレージ制御装置およびストレージ制御方法 | |
JP3641239B2 (ja) | メモリカードを制御するための装置および方法 | |
KR100843199B1 (ko) | 고속 아이.디.이. 인터페이스 장치 및 그 방법 | |
JP2003288317A (ja) | 端数ブロックデータ転送を検出し補償するシステムおよび方法 | |
US7984236B2 (en) | Data transfer | |
JP2000123472A (ja) | テ―プ・ドライブのデ―タ処理方法および装置 | |
US7596639B2 (en) | Skip mask table automated context generation | |
JP2004178508A (ja) | データ記録再生装置及びデータ記録再生方法 | |
JP2006113882A (ja) | データ管理装置 | |
TWI312240B (en) | Data compressed/decompressed device and associated application system | |
JP7179489B2 (ja) | ストレージシステム及びその制御方法、プログラム、並びに記憶制御システム | |
CN208077160U (zh) | 基于spi模式的sd卡驱动器 | |
JP2007079942A (ja) | データ記録再生装置 | |
JPH11149455A (ja) | メモリディスク共有方法及びその実施装置 | |
JP2502896B2 (ja) | Scsiバス使用方法 | |
JP2006301810A (ja) | データ転送処理方法、データ転送処理装置およびデータ転送処理制御プログラム | |
JP3599099B2 (ja) | 電子ディスク装置用シーズ制御回路 | |
CN110489359A (zh) | 一种数据传输控制方法及系统 |