JP5291311B2 - Usbストレージシステムおよびデータ転送制御用のプログラム - Google Patents
Usbストレージシステムおよびデータ転送制御用のプログラム Download PDFInfo
- Publication number
- JP5291311B2 JP5291311B2 JP2007226722A JP2007226722A JP5291311B2 JP 5291311 B2 JP5291311 B2 JP 5291311B2 JP 2007226722 A JP2007226722 A JP 2007226722A JP 2007226722 A JP2007226722 A JP 2007226722A JP 5291311 B2 JP5291311 B2 JP 5291311B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- write
- storage device
- usb
- determined
- 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.)
- Active
Links
- 238000012546 transfer Methods 0.000 title claims description 92
- 230000003139 buffering effect Effects 0.000 claims abstract description 52
- 238000012545 processing Methods 0.000 claims abstract description 49
- 238000000034 method Methods 0.000 claims description 49
- 230000004044 response Effects 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 abstract 4
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 1
Images
Landscapes
- Information Transfer Systems (AREA)
Description
このため、先読みキャッシュを用いて読み出し速度の改善をはかるとともに、上位デバイスドライバと物理デバイスドライバの中間に位置するフィルタドライバでデータ転送長を最大1MB(0x100000)に拡大する処理を行い、1回のデータ転送のコマンドおよびステイタス応答にかかる時間を最大で1/16に縮小する技術が知られている。
ここで、USBホストコントローラ12は、EHCI(Enhanced Host Controller Interface)の仕様に準拠したものとし、不図示のUSBポートに接続されるストレージ機器2との間で上位装置1との通信を制御する。なお、主記憶装置11には、OS(Operating System)、アプリケーションプログラムの他に、デバイスドライバとして後記するフローチャートにその処理手順が示されるフィルタドライバがあらかじめインストールされてあるものとする。
DVDドライブ24と上位装置1との間の通信は、USB−ATAPI変換部20を介して行われる。すなわち、USB−ATAPI変換部20は、ATAPIインタフェース23を介して取得される情報(DVD読出しデータ)をUSBプロトコルに則した情報に変換し、USBインタフェース21、USBケーブル3を介して上位装置1に転送し、USBケーブル3、USBインタフェース21経由で到来する上位装置1からの情報(書込みデータ)をATAPIプロトコルに則した情報に変換し、ATAPIインタフェース23を介してDVDドライブ24に転送する。なお、USB−ATAPI変換部20には、ストレージ機器2のパフォーマンスの悪さを吸収するためにキャッシュが内蔵されてもよい
そして、メディア25は、記憶媒体であり、例えば、DVD−Rなどである。
ここでは、ファイルシステム等の上位デバイスドライバとホストコントローラドライバとの中間に位置する中間デバイスドライバ(フィルタドライバ)のうち、本発明と関係する機能ブロックのみ抽出して示してある。
上位装置1から書込み指令を受信した場合、その書込み指令が、ストレージ機器2の前回書込み領域と連続した領域への書込みであるか否かを判定してデータ転送制御部113によるデータ転送処理を制御する機能も有する。
これらフラグ113、114は、コマンド・ステイタス処理部111により参照され、更新される。
また、コマンド・ステイタス処理部111は、常にコマンド監視を行っており(ステップS302)、メディア挿入確認コマンドの到来を待って(ステップS303“Yes”)、DVDドライブ24にメディア25(DVD−R)が挿入されたか否かを判定する(ステップS304)。ここで、メディア25が挿入されたことを検知すると、次のコマンド監視(ステップS305)のタイミングにおいて、更に、メディアタイプ識別コマンドの到来を待つ(ステップS306)。
なお、メディア挿入確認コマンドが到来していない場合(ステップS303“No”)およびメディア25が挿入されていない場合(ステップS304“No”)には、ステップS302の処理に戻って、コマンド監視を続ける。
ステップS306からステップS307の流れにおいて、具体的には、DVDドライブ24は、フィルタドライバから発行される「GET CONFIGURATION」コマンドに対する応答として、「FEATURE HEADER」と、「FEATURE DISCRIPTER」を返送する。コマンド・スタイテス処理部111は、この「FEATURE HEADER」の「Current Profile」フィールドの値をチェックすることにより、DVDドライブ24に現在挿入されているメディア25の種類を判別することができる。
ステップS310からステップS311への流れにおいて、具体的には、書込み対象トラックの情報を取得するために発行されるトラック情報取得コマンド「READ TRACK INFORMATION」に対し、DVDドライブ24は、「Track Information」を返送する。
コマンド・ステイタス処理部111が、不連続なランダム領域に対するアクセスであると判定した場合(ステップS311“No”)には、バッファリング無効フラグ114をセットして(ステップS312)、本メディアチェック処理を終了する。また、ステップS311の処理においてシーケンシャルアクセストラックである場合(ステップS311“Yes”)には、本メディアチェック処理を終了する。
なお、
動作説明に先立ち、図4に示すフローチャートには図示していないが、フィルタドライバは、OSの管理下で主記憶装置11の所定の領域に、所定の転送単位分のデータが蓄積される、例えば、1Mバイト容量のバッファメモリ部110のデータ領域を事前に確保してあるものとする。
ここで、バッファリング非対象メディアフラグ113とバッファリング無効フラグ114とのいずれかがONとなっておりバッファリング対象メディアでないと判定された場合(ステップS401“No”)には、その転送データを下位のホストコントローラドライバにそのまま転送して処理を委ねる(ステップS402)。そして、本WRITEコマンド処理を終了する。
一方、バッファリング非対象メディアフラグ113およびバッファリング無効フラグ114がともにOFFになっており、バッファリング対象メディアであると判定された場合(ステップS401“Yes”)、コマンド・ステイタス処理部111は、受信したWRITEコマンドに添付されたパラメータの書込み先アドレスを参照し、そのアドレスが、現在バッファメモリ部110にバッファリングされているデータの書込み先アドレス領域の直後のアドレスであるか否か(すなわち、メディア25の前回書き込み領域に連続した領域への書き込みであるか)、もしくは初回の書込みであるか否か(すなわち、バッファメモリ部110が空か)を判定する(ステップS403)。
なお、シーケンシャルアクセス時には、書込み時、連続した領域への転送データをバッファリングし、纏めてストレージ機器2へ転送することによりパフォーマンスが向上し、また、読込みについては先読みによりパフォーマンスが向上することはいうまでもない。
また、前記した本発明の実施の形態に係るプログラム(上位装置1の主記憶装置11にインストールされCPU10により実行されるフィルタドライバ)は、フィルタドライブにおいて、上位装置1において実行されるアプリケーションプログラムによって発行される書き込み指令が、連続した領域への書き込みでないと判定された場合(ステップS403“No”)には、即座にバッファフラッシュ制御を行う(ステップS405)。
なお、シーケンシャルアクセス時には、書込み時、連続した領域への書込みをバッファリングし、纏めてストレージ機器2へ転送することによりパフォーマンスが向上し、読込みについては先読みによりパフォーマンスが向上することはいうまでもない。
また、図2に示すフィルタドライバが有する各構成ブロックの機能は、全てをソフトウェアによって実現しても、あるいはその少なくとも一部をハードウェアで実現してもよい。例えば、コマンド・ステイタス処理部111、連続領域アクセス判定部112、データ転送制御部113におけるデータ処理は、1または複数のプログラムによりコンピュータ上で実現してもよく、また、その少なくとも一部をハードウェアで実現してもよい。
2 ストレージ機器
3 USBケーブル(USB転送路)
10 CPU
11 主記憶装置
12 USBホストコントローラ
13 システムバス
14 PCIバス
20 USB−ATAPI変換部
21 USBインタフェース
22 ATAPIバス
23 ATAPIインタフェース
24 DVDドライブ
25 メディア(DVD−R)
110 バッファメモリ部
111 コマンド・ステイタス処理部
112 データ転送制御部
113 バッファリング非対象メディアフラグ
114 バッファリング無効フラグ
Claims (4)
- 上位装置と、前記上位装置とUSB接続可能なストレージ機器とがUSB転送路を介して接続され、前記上位装置と前記ストレージ機器との間でUSBデータ転送を行うUSBストレージシステムであって、
前記ストレージ機器に対する転送データがバッファリングされるバッファメモリ部と、
前記USBデータ転送に先立ち、前記ストレージ機器に挿入された記憶媒体の種別に基づいて、その記憶媒体がバッファリングの対象であるか否かを判定するとともに、前記記憶媒体がバッファリングの対象であると判定された場合、前記上位装置から書込み指令を受信したとき、前記書込み指令が前記ストレージ機器の前回書込み領域と連続した領域への書込みであるか否かを判定するコマンド・ステイタス処理部と、
前記コマンド・ステイタス処理部で前記記憶媒体がバッファリングの対象でないと判定された場合、前記転送データを前記ストレージ機器に転送し、
前記コマンド・ステイタス処理部で前記書込み指令が前回書込み領域とは連続しない領域への書込みであると判定された場合、前記バッファメモリ部にバッファリングされた転送データを前記ストレージ機器へ転送し、前回書き込み領域と連続する領域への書込みであると判定された場合、前記バッファメモリ部の空き領域を判定し、空き領域があると判定されたときに前記転送データを前記バッファメモリ部にバッファリングし、空き領域が無いと判定されたときに前記バッファメモリ部にバッファリングされた転送データを前記ストレージ機器へ転送するデータ転送制御部と、
を備えたことを特徴とするUSBストレージシステム。 - 前記コマンド・ステイタス処理部は、
前記上位装置から発行される構成情報取得要求に対して前記ストレージ機器から応答される応答メッセージに含まれる特定のフィールドの値を参照して、前記ストレージ機器に挿入される記憶媒体の種別を判定し、前記記憶媒体の書き込み対象領域に対するトラックの情報を取得する要求への応答に含まれるトラック情報の特定のフィールドが示す値を参照して、前記記憶媒体がバッファリングの対象であるか否かを判定することを特徴とする請求項1に記載のUSBストレージシステム。 - 前記コマンド・ステイタス処理部は、
前記書込み指令に付属の書込み先アドレスを参照することにより、前記書込み指令が、前記ストレージ機器の前回書き込み領域に連続した領域への書き込みであるか否かを判定することを特徴とする請求項1または2に記載のUSBストレージシステム。 - 上位装置と、前記上位装置とUSB接続可能なストレージ機器とがUSB転送路を介して接続され、前記上位装置とストレージ機器との間でUSBデータ転送を行うUSBストレージシステムに用いられるデータ転送制御用のプログラムであって、
前記USBデータ転送に先立ち、前記ストレージ機器に挿入された記憶媒体の種別に基づいて、その記憶媒体がバッファリングの対象であるか否かを判定するバッファリング対象判定手順と、
前記バッファリング対象判定手順で前記記憶媒体がバッファリングの対象でないと判定された場合、転送データを前記ストレージ機器に転送する手順と、
前記バッファリング対象判定手順で前記記憶媒体がバッファリングの対象であると判定された場合、
前記上位装置から書込み指令が発行されると、前記書込み指令が前記ストレージ機器の前回書込み領域と連続した領域への書込みであるか否かを判定するアクセス領域判定手順と、
前記アクセス領域判定手順で前回書込み領域とは連続しない領域への書込みであると判定された場合、バッファメモリ部にバッファリングされた転送データを前記ストレージ機器へ転送するデータ転送手順と、
前記アクセス領域判定手順で前回書き込み領域と連続する領域への書込みであると判定された場合に前記記憶装置に割当てられた前記バッファメモリ部の空き領域を判定する空き領域判定手順と、
前記空き領域判定手順で前記バッファメモリ部に空き領域があると判定されたときに前記転送データを前記バッファメモリ部にバッファリングし、空き領域が無いと判定されたときに前記バッファメモリ部にバッファリングされた転送データを前記ストレージ機器へ転送するテータ転送手順と、
を前記上位装置のコンピュータに実行させるためのデータ転送制御用のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007226722A JP5291311B2 (ja) | 2007-08-31 | 2007-08-31 | Usbストレージシステムおよびデータ転送制御用のプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007226722A JP5291311B2 (ja) | 2007-08-31 | 2007-08-31 | Usbストレージシステムおよびデータ転送制御用のプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009059219A JP2009059219A (ja) | 2009-03-19 |
JP5291311B2 true JP5291311B2 (ja) | 2013-09-18 |
Family
ID=40554885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007226722A Active JP5291311B2 (ja) | 2007-08-31 | 2007-08-31 | Usbストレージシステムおよびデータ転送制御用のプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5291311B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021522579A (ja) * | 2018-04-23 | 2021-08-30 | マイクロン テクノロジー,インク. | ホストの論理対物理情報の更新 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH022782A (ja) * | 1988-06-17 | 1990-01-08 | Canon Inc | 端末エミユレータ |
JPH0354941A (ja) * | 1989-07-24 | 1991-03-08 | Canon Inc | 通信データ管理方式 |
JPH10161813A (ja) * | 1996-11-29 | 1998-06-19 | Ricoh Co Ltd | 電子情報保管装置および電子情報管理装置 |
JP2000181798A (ja) * | 1998-12-18 | 2000-06-30 | Sanyo Electric Co Ltd | ディスク装置のキャッシュ制御方式 |
JP4646636B2 (ja) * | 2004-02-20 | 2011-03-09 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JPWO2006022155A1 (ja) * | 2004-08-24 | 2008-07-31 | パイオニア株式会社 | エラー訂正装置 |
JP4281680B2 (ja) * | 2004-11-10 | 2009-06-17 | ティアック株式会社 | 光ディスク装置 |
JP2006269073A (ja) * | 2006-05-31 | 2006-10-05 | Toshiba Corp | 多目的情報記憶媒体及び記憶方法及び再生方法及び再生装置 |
-
2007
- 2007-08-31 JP JP2007226722A patent/JP5291311B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2009059219A (ja) | 2009-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7555599B2 (en) | System and method of mirrored RAID array write management | |
US7069350B2 (en) | Data transfer control system, electronic instrument, and data transfer control method | |
US6647438B1 (en) | Direct memory access transfer reduction method and apparatus to overlay data on to scatter gather descriptors for bus-mastering I/O controllers | |
US8099529B1 (en) | Software based native command queuing utilizing direct memory access transfer context information | |
KR101035225B1 (ko) | 개량 데이터 전송을 위한 제어기 장치 및 방법 | |
JP2007233800A (ja) | インタフェース回路における転送方式切換回路 | |
JP2006113689A (ja) | バスブリッジ装置およびデータ転送方法 | |
US8527667B2 (en) | Apparatuses and methods for transferring data | |
JP2007501473A (ja) | メインメモリとストレージ装置との間のデータ転送を行うための方法及び装置 | |
JP5291311B2 (ja) | Usbストレージシステムおよびデータ転送制御用のプログラム | |
JP2008210226A (ja) | ホストとusbストレージデバイス間のデータ転送方法 | |
JP4391200B2 (ja) | ディスクアレイ装置及びディスクアレイ装置の制御方法 | |
US20060277326A1 (en) | Data transfer system and method | |
JP4576082B2 (ja) | メモリカードコントローラ及びメモリカードコントロール方法 | |
US20040230734A1 (en) | Data transfer control system, electronic instrument, and data transfer control method | |
CN113253911B (zh) | 存储系统和输入输出控制方法 | |
CN112732166B (zh) | 访问固态硬盘的方法及装置 | |
JP4408840B2 (ja) | Hddコントローラ及びそれを搭載したシステム | |
US20070168839A1 (en) | Interface apparatus for connecting a device and a host system, and method of controlling the interface apparatus | |
KR100950356B1 (ko) | 다중 코히런시 단위들을 지원하는 데이터 전송 유닛 | |
CN101241478A (zh) | 数据传送方法 | |
TWI736092B (zh) | 通用串列匯流排裝置以及存取方法 | |
JP2008299747A (ja) | Usbホストシステム及び転送データの転送方法 | |
CN110489359B (zh) | 一种数据传输控制方法及系统 | |
KR100633120B1 (ko) | 저장 매체의 데이터 대역폭 향상 방법 및 이를 위한 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100818 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120626 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120824 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130415 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20130418 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20130513 |
|
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: 20130528 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130607 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5291311 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |