*Mass-Storage Class [#title]
Mass-Storage Class は、USB 上で様々な Storage (FDD, HDD, CD-R,...)
を制御するために定義された仕様です。

-''OS 標準マスストレージドライバの存在''~
最近、流行っている USB メモリーは、Storage Class に基づいて作成されています。Mass Storage Class に従うことにより独自にドライバをインストールすることなく、多くの OS で自動的に認識・動作させることが可能です。USB Mass Storage Class に従ってハードウェアを作成する限り、ドライバを独自に新規作成することなく多くの動作実績を積んだ OS 標準ドライバが使用出来るのは大きなメリットです。
-''ATAPI/SCSI のラッパー(埋め込み)''~
USB Mass Storage Class の仕様の殆どは従来から存在する ATA/ATAPI/SCSI コマンドのラッパーとして動作します。ハードウェア側は ATAPI-USB Bridge や SCSI-USB Bridge チップを咬ますことで従来の Storage 機器を容易に USB 対応機器にすることが可能です。ソフトウェア側は、USB Mass Storage Class でラッピングされたコマンドを ATA/ATAPI/SCSI コマンドに復元することで従来から実績のある ATA/ATAPI/SCSI ドライバをそのまま使用することが可能です。 
-''転送方式は 2 通り''~
Bulk-Only 転送と CBI (Control/Bulk/Interrupt) 転送の 2 通り存在します。話によると Bulk-Only 転送は SCSI コマンドのラッパーとして考案され、CBI は ATAPI コマンドのラッパーとして考案されたそうです。この辺の事情については BSD Magazine No.07 の記事「USB デバイスドライバプログラミング 第6回 umass」が詳しいです。 
Bulk-Only 転送と CBI (Control/Bulk/Interrupt) 転送の 2 通り存在します。話によると Bulk-Only 転送は SCSI コマンドのラッパーとして考案され、CBI は ATAPI コマンドのラッパーとして考案されたそうです。この辺の事情については BSD Magazine No.07 の記事「USB デバイスドライバプログラミング 第6回 umass」が詳しいです。
--[[USB/関連書籍#bsd]]

詳細については [[[USB]: USB Mass Storage Class:http://mcn.oops.jp/usb/class/storage.htm]] で纏めています。

**Class Information [#sa39134f]
[[各 Device Class 仕様書:http://www.usb.org/developers/devclass_docs]] ([[USB.org:http://usb.org/]]) で公開されている Mass Storage Overview 1.2((www.usb.org/developers/devclass_docs/usb_msc_overview_1.2.pdf))を参考にしました。


|Descriptor|値(16)|詳細|
|bInterfaceClass|0x8|''Mass-Storage Class''|
|bInterfaceSubClass|0x1|Reduced Block Commands (RBC) T10 Project 1240-D((お目に掛かったことがない。仕様は「ftp://ftp.t10.org/t10/drafts/rbc/」にある。))|
|~|0x2|SFF-8020i,MMC-2 (ATAPI)|
|~|0x3|QIC-157((テープ?))|
|~|0x4|UFI((USB Floppy))|
|~|0x5|SFF-8070i((ATAPI リムーバブル書き換え型メディア?仕様は「ftp://ftp.seagate.com/sff/INF-8070.PDF」にある。))|
|~|0x6|''SCSI transparent command set''|
|bInterfaceProtocol|0x0|CBI (with command completion interrupt)|
|~|0x1|CBI (with no command completion interrupt)|
|~|0x50|''Bulk-Only Transport''|

**Tips [#s84b9362]

-[[USB Storage - FAQ for Driver and Hardware Developers:http://www.microsoft.com/whdc/device/storage/usbfaq.mspx]] (WHDC)~
RBC(0x1) の問題点について「Q: Windows では、RBC プロトコル (USB 記憶装置仕様サブクラス 0x01) を使用する USB 記憶装置をサポートしていますか。」で言及されています。MEDIA SENSE が異なるらしい。

**複数 LUN (Multiple Logical Unit Number) [#o1f96301]

複数 LUN は、1台の USB 機器で同時に複数のメディアをサポートする場合に用いられています。

-[[[M.D.L. 今機器] MCR-6U/U2:http://mcn.oops.jp/lab/machines/mcr-6u-u2/index.htm]]~
複数 LUN の使用例。


*関連情報 [#infor]

-http://www.usb.org/developers/devclass_docs~
Mass-Storage Class の仕様書が置いてあります。


**用語 [#words]

-[[Insider's Computer Dictionary [USBストレージクラス]:http://www.atmarkit.co.jp/icd/root/20/27382620.html]] (@IT)
-[[ケータイ用語 第187回:USBマスストレージ とは:http://k-tai.impress.co.jp/cda/article/keyword/19711.html]] (ケータイWatch)
-[[USBマスストレージクラス:http://www.watch.impress.co.jp/pc/docs/2002/0322/key201.htm#USB]] (鈴木直美の「PC Watch先週のキーワード」)
-[[e-Words:USB Mass Storage Class]]


-[[wikipedia:USBメモリ]]
-[[e-Words:USBメモリ]]

**特集記事 [#special]

-[[USBメモリー - USB接続で使用する棒状のフラッシュメモリ。メモリキー。:http://databackup.hp.infoseek.co.jp/cgi-bin/wiki/wiki.cgi?USB%A5%E1%A5%E2%A5%EA%A1%BC]] ([[Data Backup memo:http://databackup.hp.infoseek.co.jp/]])


-[[高速USBフラッシュメモリ実力テスト:http://pc.watch.impress.co.jp/docs/2005/0216/usb.htm]] (PC Watch, 05.02.16)~
[[超高速USBフラッシュメモリ「PureMaster」レポート:http://pc.watch.impress.co.jp/docs/2005/0224/usb.htm]] (PC Watch)~
こういうの、一度見てみたかったですよ。結果はどうでもいいですが =)。欲を言えば、もっと新旧を織り交ぜつつ搭載されているチップはことごとく確認して欲しかったのだが。
-[[Hi-speed USB2 Flash Drive Round-Up:http://hardware.slashdot.org/article.pl?sid=04/06/03/1552230]] (Slashdot.org, 04.06.03)~
Flash drive のレビュー記事って日本でもどこかやらないかしら。面白いと思うな。


**OS 対応 [#os]

-http://www.microsoft.com/whdc/device/storage/usbfaq.mspx~
MS のハードウェア開発者用の page。
-[[MSKB:257751]] [SAMPLE] 2 つのドライバを使用して Windows 98 用 USB 大容量記憶ドライバをサポートする Umss.exe サンプル~
Windows 9x 系で Mass Storage Class driver を作成するのに役立つはずです。
-[[USB Mass Storage Driver for Linux:http://www2.one-eyed-alien.net/~mdharm/linux-usb/]]~
Linux の USB Mass Storage Driver の本拠地?
-[[USBマスストレージドライバ:http://euc.jp/beos/usb_mass.ja.html]] (euc.jp)~
BeOS の USB Mass Storage Driver を公開しています。

**Firmware [#firmware]
-[[Q.マス・ストレージ・デバイスクラスについて教えてください:http://www.technocollage.co.jp/products/jobcab/usb_faq/answer/usb.html#NO14]] (沖テクノコラージュ)
-[[Q.USBでのSCSIクラスはどうなっていますか? また、SCSIの命令コマンドは何バイトになりますか?:http://www.technocollage.co.jp/products/jobcab/usb_faq/answer/usb.html#NO15]] (沖テクノコラージュ)


**Tips [#tips]

-[[USBメモリによる情報窃取を防止する(USBメモリを読み出し専用にする):http://www.atmarkit.co.jp/fwin2k/win2ktips/620controlusb/controlusb.html]] (@IT)~
[[USBメモリーへの書き込みを禁止する:http://arena.nikkeibp.co.jp/tec/winxp/20050304/111655/]] (デジタルARENA)~
StorageDevicePolicies の値を変更することで USB メモリからの書き込みが禁止できるとのこと。ただし XPSP2 限定。
-[[USBメモリーの使用を無効にする:http://arena.nikkeibp.co.jp/tec/winxp/20040526/108663/]] (デジタルARENA)~
[[MSKB:823732]] USB 記憶装置を使用できないようにする方法~
USBSTOR(USB Storage Class のデバイスドライバ)の起動を禁止することで USB メモリを使用できなくする Tip です。

*関連情報 [#infor]
-[[USBメモリーを洗濯した時の救済方法:http://slashdot.jp/articles/03/12/17/0445247.shtml]] (Slashdot.jp, 03.12.17)

**特集記事 [#special]
-[[USBメモリー - USB接続で使用する棒状のフラッシュメモリ。メモリキー。:http://databackup.hp.infoseek.co.jp/cgi-bin/wiki/wiki.cgi?USB%A5%E1%A5%E2%A5%EA%A1%BC]] ([[Data Backup memo:http://databackup.hp.infoseek.co.jp/]])

*News [#news]

-[[ティアック、3.5インチUSB FDDの海賊版を警告:http://pc.watch.impress.co.jp/docs/2005/0901/teac.htm]] (PC Watch, 05.09.01)

//*お勧め
//**用語
//*News
//-----
//*[[フィードバック]]
//アナタからのフィードバックをお待ちしています。書き込む前に[[フィードバック]]の注意書きをお読みください。
//#comment







-[[ワイ・イー・データとティアックが、USBを使ったFDD規格を発表:http://www.watch.impress.co.jp/pc/docs/article/980224/usbfdd.htm]] (PC Watch, 98.02.24)~
UFI(USB Floppy Disk Interface) は Y-E DATA と TEAC が中心となって規格したものだったのですよ。仕様書にも記載があります。しばらく USB FDD は Y-E DATA 製 OEM が続くことになります。~
実際の所、UFI は SCSI FDD のラッパーのようです。




// EOF