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

#contents

特徴については以下の通り。

-''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」が詳しいです。
--[[USB/関連書籍#bsd]]
-''複数 LUN (Multiple Logical Unit Number)''~
複数 LUN は、1台の USB 機器で同時に複数のメディアをサポートする場合に用いられています。
--[[[M.D.L. 今機器] MCR-6U/U2:http://mcn.oops.jp/lab/machines/mcr-6u-u2/index.htm]]~
複数 LUN の使用例。



**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''|


-[[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 が異なるらしい。


**Practice [#practice]
USB Storage 関連機器の殆どは Class = 0x08 (Mass Storage) / SubClass = 0x06 (SCSI) / Protocol = 0x50 (Bulk only) のケースのようです。Microsoft もこの組み合わせを推奨しているようです。


-''0x08 (Mass Storage) / 0x06 (SCSI) / 0x50 (Bulk only) の場合''
--[[[M.D.L. 今機器] MCR-6U/U2:http://mcn.oops.jp/lab/machines/mcr-6u-u2/index.htm]] - USB Card Reader
--[[[M.D.L. 今機器] FlashGO!-Lite2:http://mcn.oops.jp/lab/machines/flashgo!-lite2/index.htm]] - USB Card Reader
--[[[M.D.L. 今機器] ImageMate SDDR-31:http://mcn.oops.jp/lab/machines/sddr-31/index.htm]] - USB CF Card Reader
--[[[M.D.L. 今機器] RUF-C256M/U2:http://mcn.oops.jp/lab/machines/usb-memory/index.htm]] - USB Memory
--[[[M.D.L. 今機器] HDA-iE80SET:http://mcn.oops.jp/lab/machines/hda-ie80set/index.htm]] - USB HDD
-''0x08 (Mass Storage) / 0x04 (UFI) / 0x0 (Control/Bulk/Interrupt) の場合''
--[[[M.D.L. 今機器] USB Floppy:http://mcn.oops.jp/lab/machines/usb-fdd/index.htm]]
-''Vendor Specific Class (Mass Storage Class (CB)?) の場合''
--[[[M.D.L. 今機器] ImageMate SDDR-12:http://mcn.oops.jp/lab/machines/sddr-12/index.htm]]

-[[USB動作レポート :http://www.geocities.co.jp/SiliconValley-Bay/3897/usb/reports.html]] ([[PC UNIX 使ってます:http://www.geocities.co.jp/SiliconValley-Bay/3897/index.html]])~
このサイトのレポートは興味深いです。8/6/50 のコンボ以外の USB Mass Storage 機器が数多く試されています。
--BUFFALOのCD-RW: CRW-24U2~
Storage(8)/ATAPI(2)/Bulk(50)
--yanoのMOドライブ: U640MO-02~
Vendor Specification で認識されるも UNUSUAL_DEV にて 8/2/0 で動作させる patch を当てて動作させています。どうも TEST_UNIT_READY が動作しないようです。
--FUJITSUのMOドライブ~
Storage(8)/SFF-8070i(5)/Bulk(50)
-[[FinePix4900Z:目玉の親父:http://park2.wakwak.com/~tsuruzoh/Computer/Fp4900z/fp4900z01.html]] ([[TsuruZoh Tachibanaya:http://park2.wakwak.com/~tsuruzoh/index.html]])~
FinePix4900Z は SFF-8070i を採用しているらしい。欲しい。





*関連情報 [#infor]

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


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


**用語 [#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]

***Windows [#windows]
-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メモリによる情報窃取を防止する(USBメモリを読み出し専用にする):http://www.atmarkit.co.jp/fwin2k/win2ktips/620controlusb/controlusb.html]] (@IT)~
[[USBメモリーへの書き込みを禁止する:http://arena.nikkeibp.co.jp/tec/winxp/20050304/111655/]] (デジタルARENA)~
[[【コラム】Windows XPスマートチューニング 第150回 USBストレージデバイスをリードオンリーにする:http://journal.mycom.co.jp/column/winxp/150/]] (MYCOMジャーナル)~
StorageDevicePolicies の値を変更することで USB メモリからの書き込みが禁止できるとのこと。ただし XPSP2 限定。
-[[USBメモリーの使用を無効にする:http://arena.nikkeibp.co.jp/tec/winxp/20040526/108663/]] (デジタルARENA)~
[[【コラム】Windows XPスマートチューニング 第117回 USBメモリデバイスを無効にする:http://journal.mycom.co.jp/column/winxp/117/]] (MYCOMジャーナル)~
[[MSKB:823732]] USB 記憶装置を使用できないようにする方法~
USBSTOR(USB Storage Class のデバイスドライバ)の起動を禁止することで USB メモリを使用できなくする Tip です。




***Linux [#linux]
-[[USB Mass Storage Driver for Linux:http://www2.one-eyed-alien.net/~mdharm/linux-usb/]]~
Linux の USB Mass Storage Driver の本拠地?

-[[USB接続 2.5インチHDDケース:http://pantora.net/linux/usb-hdd.html]] (Pantora Networks)
-http://freshmeat.net/projects/hdparm/~
hdparm の紹介 page。
-[[USB接続のメモリカードリーダ/ライタを使うには:http://www.atmarkit.co.jp/flinux/rensai/linuxtips/609usememrw.html]] (@IT)~
[[Fedora Core 2でカーネルを再構築するには:http://www.atmarkit.co.jp/flinux/rensai/linuxtips/608kernelrbfc2.html]] (@IT)~
複数 LUN 対応するには Kernel の再構築を行う必要が多いようです。


***BeOS [#beos]
-[[USBマスストレージドライバ:http://euc.jp/beos/usb_mass.ja.html]] (euc.jp)~
BeOS の USB Mass Storage Driver を公開しています。

//
// Firmware
//
**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]] (沖テクノコラージュ)

***USS-720/USS-725/ISD-200/ISD-300 [#uce384f9]
In-System(現Cypress)の USB Bridge chip。USB-IEEE1284 や USB-ATAPI でも動作するらしい。Chip の詳細について知りたかったのですが仕様書はありませんでした。

-[[ISD-200 driver for linux:http://bjorn.haxx.se/isd200/]]
-[[USS-725 storage driver for linux:http://bjorn.haxx.se/uss725/]]
-[[USS-725:http://www.kernelconcepts.de/~nils/uss725.html]]


***USAT-1/2/3 [#nb3b98c7]
Workbit 社等が OEM している USB-ATA Bridge chip。チップ表面に「優」のマークが入っていたらこの会社の OEM だと思って間違いないでしょう。

I-O DATA 社の USB-iCN がこのチップを使用しているようです。チップ内にマイクロカーネルを update することで ATAPI、IDE、SCSI モードで動作が可能のようです。アイディアは好きなんですが他の OS への対応を考えると融通が利きにくいですね。

-[[USAT-1:http://www.workbit.co.jp/products/past/z_usat1.html]] (ワークビット)
-[[USAT-2:http://www.workbit.co.jp/products/past/z_usat2.html]] (ワークビット)
-[[USAT-3:http://www.workbit.co.jp/products/usat3.html]] (ワークビット)

-[[元麻布春男の週刊PCホットライン - ICH4のUSB 2.0性能を試す:http://www.watch.impress.co.jp/pc/docs/2002/0627/hot207.htm]] (PC Watch, 02.06.27)~
ICH4 の USB2.0 機能についての記事。USB-ATA Bridge の ISD-300 とUSAT-2 のベンチマークがありました。USAT-2 の方が幾分早かったようです。
-[[ATAPI接続ドライブをUSB2.0に変換するアダプタが発売、その名も“変換マニア”!:http://akiba.ascii24.com/akiba/news/2002/06/07/636361-000.html]] (Akiba2GO!, 02.06.07)~
USB-ATA/ATAPI Bridge チップには「USAT-2」が使用されているようです。Workbit 社が OEM をしている DOS 用 Device Driver も付属してくるようです。
--http://www.henkan-mania.jp/
-http://web.archive.org/web/*/http://www.mlb.co.jp/linux/mini/usat1.html~
デフォルトだと ATAPI モードで動作するらしく、Linux では工夫しないと動作しないようです。Driver の diff を見る限り、マイクロカーネルを流し込む動作しかしていないようです。惜しむべきかな CBI 転送方式が不安定によりCB 転送方式だそうな。

***Prolific PL-2506/PL-2507/PL-3507/PL-2571 [#prolific]

-http://www.prolific.com.tw/eng/Download-2.asp?ID=18~
Driver と仕様書が入手できます。
-[[Cliffのリストフィルタ:2004年8月31日〜9月6日:http://opentechpress.jp/desktop/04/09/14/0139230.shtml]] (OTP, 04.09.14)~
各所でかなり不評なチップらしい。


***USB-SCSI Converter [#e6786c60]
-[["USB機器いて":http://www.turbolinux.co.jp/dcforum/DCForumID11/3653.html]] (Turbolinux User's Board)
-[["USB-SCSI変換ケーブル Logitec LUB-SC の認識":http://www.turbolinux.co.jp/dcforum/DCForumID11/3658.html]] (Turbolinux User's Board)





//
// News
//
*News [#news]

-[[【やじうまPC Watch】PCに繋がる黒猫メイド服「コスプレUSBドライブ」発売:http://pc.watch.impress.co.jp/docs/2005/0929/yajiuma.htm]] (PC Watch, 05.09.29)~
[[USBメモリ内蔵の「黒猫メイド服」:http://slashdot.jp/articles/05/10/01/0150221.shtml]] (Slashdot.jp)~
「HAND MAID メイ」でインスパイアされちゃいましたかね :-P。
-[[ソリッドアライアンス、「SushiDisk-まぐろ」の新色モデル:http://pc.watch.impress.co.jp/docs/2005/0915/solid.htm]] (PC Watch, 05.09.15)~
[[もはや寿司には見えない「SushiDisk-未来マグロ」:http://slashdot.jp/articles/05/09/15/116223.shtml?topic=107]] (Slashdot.jp)
-[[ティアック、3.5インチUSB FDDの海賊版を警告:http://pc.watch.impress.co.jp/docs/2005/0901/teac.htm]] (PC Watch, 05.09.01)
-[[Oxford Semiconductor、初のUSB 2.0 to SATAブリッジ:http://pc.watch.impress.co.jp/docs/2005/0217/oxsemi.htm]] (PC Watch, 05.02.17)
-[[Seagateの5GBポータブルHDDミニレビュー:http://pc.watch.impress.co.jp/docs/2005/0216/seagate.htm]] (PC Watch, 05.02.16)
-[[気になる! itemズ - 自動実行機能や多彩なユーティリティを内蔵したUSBメモリ:http://bb.watch.impress.co.jp/cda/items/8430.html]] (Broadband Watch, 05.02.09)
-[[社内情報の持ち出し対策を施したUSBメモリ製品「Safety Disclosure USB」:http://internet.watch.impress.co.jp/cda/news/2005/01/14/6064.html]] (INTERNET Watch, 05.01.14)~
これ、便利か?怪しげなソフトウェアをインストールする方が危うい感じを受けるのだが、、、
-[[米SanDisk、USB端子付きのSDメモリーカード:http://dc.watch.impress.co.jp/cda/accessories/2005/01/07/720.html]] (デジカメWatch, 05.01.07)~
[[USB端子を装備したSDメモリカード:http://slashdot.jp/mobile/05/01/07/0616256.shtml]] (Slashdot.jp)~
とても面白いアイディアで脱帽ですが、あれじゃ USB-IF の認証を通すことは出来そうもないように見えます。特にコネクター部分。まあ、世の中には認証の通っていないナンチャッテ USB がゴマンとあるんで今更って気もしますが。
-[[アイ・オー、ネーム印一体型のUSBメモリなど:http://pc.watch.impress.co.jp/docs/2004/1215/iodata1.htm]] (PC Watch, 04.12.15)
-[[小型USBメモリ規格をLexarが発表 - 将来はデジカメにもUSBメモリの時代!?:http://journal.mycom.co.jp/news/2004/12/14/007.html]] (MYCOMジャーナル, 04.12.14)
-[[バーテックス、マイクロプロセッサ搭載の指紋認証機能付きUSBメモリ:http://internet.watch.impress.co.jp/cda/news/2004/11/09/5324.html]] (INTERNET Watch, 04.11.09)~
[[「指紋認証機能」付きのUSBメモリ:http://slashdot.jp/articles/04/11/09/1638202.shtml?topic=107]] (Slashdot.jp)~
http://www.vertexlink.co.jp/press/2004110901.html~
http://www.bioslimdisk.com/~
-[[ソリッドアライアンス、寿司型のUSBメモリ:http://pc.watch.impress.co.jp/docs/2004/1018/solid.htm]] (PC Watch, 04.10.18)~
[[本日の一品 - 本物より旨そうに見える? 「お寿司型USBメモリ」:http://k-tai.impress.co.jp/cda/article/todays_goods/21400.html]] (ケータイWatch)~
[[寿司型USBメモリ「SushiDisk」:http://slashdot.jp/articles/04/10/18/1055215.shtml?topic=107]] (Slashdot.jp)~
木刀型や熊の木彫り型やペナント型の USB メモリが発売される日も近い。
-[[エレコムとソースネクストがフラッシュメモリ分野で提携 USBメモリにソフトバンドル:http://japan.cnet.com/news/tech/story/0,2000056025,20074962,00.htm]] (CNET Japan, 04.10.05)~
[[エレコム、「いきなりPDF」などソフトをバンドルしたUSBメモリを発売:http://internet.watch.impress.co.jp/cda/news/2004/10/04/4837.html]] (INTERNET Watch)
-[[クオリティ、小型記憶メディアによる社外への情報漏えいを防止するソフト - CNET Japan:http://japan.cnet.com/news/sec/story/0,2000056024,20073523,00.htm]] (CNET Japan, 04.09.14)~
[[クオリティ、PCからUSBメモリへのファイル書き出しを禁止するソフト:http://internet.watch.impress.co.jp/cda/news/2004/09/10/4589.html]] (INTERNET Watch)
-[[LonghornでUSBメモリなどの利用に制限か--企業向けのセキュリティ対策で:http://japan.cnet.com/news/sec/story/0,2000056024,20073263,00.htm]] (CNET Japan, 04.09.13)
-[[アイ・オー、USB機器間のデータバックアップアダプタ:http://pc.watch.impress.co.jp/docs/2004/0804/iodata1.htm]] (PC Watch, 04.08.04)~
[[USBストレージリンクアダプター使用記:http://pc.watch.impress.co.jp/docs/2004/0907/iodata.htm]] (PC Watch)~
[[USB接続同士でのデータ受け渡しを簡単に:http://slashdot.jp/articles/04/08/05/0356201.shtml?topic=38]] (Slashdot.jp)
-[[USBキーによる暗号化ネットワークドライブ「MyDearDrive Pro」:http://internet.watch.impress.co.jp/cda/news/2004/09/07/4533.html]] (INTERNET Watch, 04.09.07)
-[[“ニャ〜オ”と鳴くネコ型USBメモリ発売中:http://slashdot.jp/articles/04/07/04/0650256.shtml?topic=42]] (Slashdot.jp, 04.07.04)
-[[ティアック、世界最速クラスのUSBフラッシュメモリ「Flash Drive SmartII」:http://pc.watch.impress.co.jp/docs/2004/0623/teac.htm]] (PC Watch, 04.06.23)
-[[ソニー、高速データ転送・高セキュリティのUSB2.0指紋認証付POCKET BIT:http://journal.mycom.co.jp/news/2004/06/18/004.html]] (MYCOMジャーナル, 04.06.18)
-[[アイ・オー、エラー防止機構搭載のUSB 2.0対応フラッシュメモリ:http://pc.watch.impress.co.jp/docs/2004/0407/iodata.htm]] (PC Watch, 04.04.07)
-[[USB Swiss Army Knife:http://slashdot.org/articles/04/03/11/139207.shtml]] (Slashdot.org, 04.03.11)~
[[アーミーナイフ付きUSBメモリー:http://slashdot.jp/articles/04/04/09/079207.shtml?topic=107]] (Slashdot.jp)~
アホっぽくていいな。
-[[新日エレクトロニクス、指紋認証機能搭載のUSBメモリ発売:http://journal.mycom.co.jp/news/2003/11/04/23.html]] (MYCOMジャーナル, 03.11.04)
-[[ソニー、64MBのストレージ付き指紋認証USBトークンを展示:http://internet.watch.impress.co.jp/cda/event/2003/10/22/844.html]] (INTERNET Watch, 03.10.22)
-[[ソリッドアライアンス、超小型USBストレージ「iDiskTINY」:http://pc.watch.impress.co.jp/docs/2003/0709/solid.htm]] (PC Watch, 03.07.09)~
何処まで小さくなるんでしょうかね。
-[[腕時計型のUSBメモリが発売に、容量128MBでbootも可能?:http://www.watch.impress.co.jp/akiba/hotline/20030621/etc_usbwatch.html]] (AKIBA PC Hotline!, 03.06.21)~
[[腕時計型USBメモリ:http://slashdot.jp/mobile/03/06/03/1759230.shtml]] (Slashdot.jp)





-[[ワイ・イー・データとティアックが、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