USB Attached SCSI
USB Attached SCSI (UAS) ないしUSB Attached SCSI プロトコル (UASP) は、 ハードディスクドライブ (HDD)、ソリッドステートドライブ (SSD)、USBメモリなどのUSBストレージデバイスを用いてデータ転送を行うために使用されるコンピュータープロトコル。UASはUSBプロトコルに依存し、標準のSCSIコマンドセットを使用する。 UASを使用すると、従来のバルク転送 (BOT) ドライバーと比較して、一般的に高速にデータ転送が行える。
UASはUSB 3.0の一部として導入されたが、従来のUSBに準拠するデバイスでも対応していれば使用可能である。
概要
UASは、「UAS」仕様と呼ばれるT10「USB Attached SCSI」(T10 / 2095-D)と、USB「Universal Serial Bus Mass Storage Class - USB Attached SCSI Protocol (UASP)」仕様の2つの規格にわたって定義されている。UASの仕様は、 国際情報技術標準委員会 (INCITS) のT10技術委員会が開発・保守している。 また、SCSI Trade Association (SCSITA) が、UAS技術を推進している。USBマスストレージデバイスクラス (MSC) ワーキンググループは、UASPの仕様を開発・保守している。 USB Implementers Forum (USB-IF) はUASP技術を推進している。
UASドライバーは通常、従来のバルク転送 (BOT) ドライバーと比較して、一般的に高速にデータ転送が行える[1][2][3]。また、UASはUSB 3.0標準として追加されたが、互換性のあるハードウェアであれば、USB 2.0環境においても使用できる[4]。
SSDで使用する場合、UASはランダムな読み取り・書き込みにおいてはBOTよりもかなり高速だが、ネイティブSATA 3インターフェースの速度 (6 Gbps) を大きく下回っている[5]。
ハードウェアサポート
SemiAccurateによる2010年7月の簡単なハードウェアラウンドアップでは、 Gigabyte TechnologyがNEC/Renesasチップを使用しているボード用のUASドライバーを導入しており、少なくともハードウェアレベルでは、LucidPort USB 300およびUSB302、 Symwave SW6315、 Texas Instruments TUSB9260とVLI VL700コントローラーは完全にUASPをサポートしているが、ASMedia ASM1051とASM1051E、およびFujitsu MB86C30Aはサポートしていない[1]。
2011年8月のVR-Zoneによる比較パフォーマンスレビューでは、NEC/RenesasチップのみがUASドライバーを備えていると結論付けられている[6]。同じルネサスのUASドライバー(Windows用)は、AMDのA70MおよびA75フュージョンコントローラーハブ[7]でも動作する[8]。2011年10月には、ASMediaチップもドライバーのサポートを受けている(以前はハードウェア側でサポートしていた)[9]。富士通は、UASをサポートするMB86C311Aのようなハイエンドチップをいくつかリストアップしている[10]。
インテルプラットフォームコントローラーハブ (PCH) によるサポートについては、MyCEの記事で「ネイティブのIntel USB3 UASPソリューションはWindows 8でのみサポートされている」「すべてのZ77マザーボードでサポートされているわけではない」「UASPの実装にはライセンスが必要であり、全マザーボードメーカーがコストを製品に転嫁している状況ではない」と書かれている[11]。
オペレーティングシステムのサポート
マイクロソフトは、UASのネイティブサポートをWindows 8以降に追加した[12]。UASをサポートするドライブは、従来のUsbstor.sysではなくUaspstor.sysをロードする[13]。Windows 8以降は、USB 2.0を介してのUASもデフォルトでサポートしている[14]。UASのドライバーと製品は、 Windowsハードウェア認定キットを使用してマイクロソフトによって認定されている[15]。
AppleはOS X 10.8 Mountain LionにUASのネイティブサポートを追加した。UASを使用するドライブがシステム情報内に表示される[16]。対応しているのに未ロードとして表示されているドライブは、従来のバルク転送 (BOT) モードで機能している。これは、ドライブのUSBコントローラ、MacのUSBポート、または接続されているUSBハブがUASPモードをサポートしていない場合に発生することがある。
Linuxカーネルでは、バージョン3.15がリリースされた2014年6月8日以降、UASをサポートしている[17] 。ただし、Ubuntu(v11.xx以降)などの一部のLinuxディストリビューションでは、UASプロトコルの実装に関する問題が発生している。一部のUAS非対応USB HDDでは、ドライブがオペレーティングシステムからマウントできない。回避策として modprobeのUASモジュールをブラックリストに登録する必要があるとされている[18]。
達成された事項
- USBマスストレージデバイスクラスのバルク転送 (BOT) の障害に直接対処するように設計
- USBマスストレージデバイスのコマンドキューイングと順不同の完了を有効化
- SCSIコマンドフェーズのソフトウェアオーバーヘッドを排除
- SSDのTRIM (SCSIではUNMAP) 操作を有効化[19]
- 最大64 Kのコマンドをキューに入れることが可能
- SCSI SAM-4に準拠
- USB 3.0 SuperSpeedおよびUSB 2.0 High-Speedバージョンでの定義
- USB 3.0 SuperSpeed –ホストコントローラー (xHCI) ハードウェアサポート、アウトオブオーダーコマンドのソフトウェアオーバーヘッド排除
- USB 2.0 High-speed– USB 2.0ドライブでのコマンドキューイングを大幅に有効化
- UASの順不同の完了をサポートするために、ストリームをUSB 3.0 SuperSpeedプロトコルに追加
- USB 3ホストコントローラー (xHCI) でストリームのハードウェアサポートを提供
参考文献
- ^ a b Lars-Göran Nilsson (2010年7月30日). “Gigabyte adds UASP support to its USB 3.0 motherboards”. SemiAccurate. 2014年1月19日閲覧。
- ^ Andrew Ku (2012年6月19日). “USB Attached SCSI (UAS): Enabling Even Better USB 3.0 Performance - Faster USB 3.0 Performance: Examining UASP And Turbo Mode”. Tomshardware.com. 2014年1月19日閲覧。
- ^ Sandler (2012年3月18日). “What's the Difference Between USB UASP And BOT | Embedded content from”. Electronic Design. 2014年1月20日閲覧。
- ^ Lars-Göran Nilsson (2010年8月11日). “Gigabyte's UASP USB 3.0 driver boosts USB 2.0 performance”. SemiAccurate. 2014年1月19日閲覧。
- ^ “Beyond USB3, with UASP - IOMeter test results”. myce.com. 2014年1月21日閲覧。
- ^ TeamVR (August 23, 2011). “USB 3.0 Speed Tests: 7-Way Host Controllers Roundup - Page 1 of 11”. Vr-zone.com. 2014年1月19日閲覧。
- ^ “USB to SATA3 bridge supports UASP”. Electronics Eetimes. 2014年1月20日閲覧。
- ^ Lars-Göran Nilsson (2011年3月23日). “AMD's A75 and A70M FCH gains USB-IF approval”. SemiAccurate. 2014年1月20日閲覧。
- ^ TeamVR on October 14, 2011 1:23 am (2014年1月10日). “Asus launches USB 3.0 speed booster, UASP support for ASMedia”. Vr-zone.com. 2014年1月20日閲覧。
- ^ “USB 3.0-SATA Bridge ICs : Fujitsu Global”. Fujitsu.com. 2014年1月20日閲覧。
- ^ “Beyond USB3, with UASP”. Myce.com. 2014年1月20日閲覧。
- ^ Jerome Myers (2012年10月25日). “New USB 3.0 Support Built-In to Windows 8”. Plugable. 2014年1月20日閲覧。
- ^ “USB in Windows - FAQ (Windows Drivers)”. Msdn.microsoft.com (2013年11月16日). 2014年1月20日閲覧。
- ^ USB Attached SCSI (UAS) Best Practices for Windows 8, page 6
- ^ “USB 2.0 & 3.0 SCSI Compliance test for UAS on EHCI (LOGO)”. Msdn.microsoft.com (2013年7月26日). 2014年1月20日閲覧。
- ^ fortysomethinggeek (2013年4月3日). “Fortysomething Geek: OSX Mountain Lion 10.8 UAS UASP USB Attach SCSI drivers”. Fortysomethinggeek.blogspot.com. 2014年1月20日閲覧。
- ^ “Phoronix: USB Attached SCSI (UAS) Is Now Working Under Linux”. 2020年7月9日閲覧。
- ^ “UAS Ubuntu Bug-Report”. bugs.launchpad.net (2011年10月5日). 2019年8月17日閲覧。
- ^ New API allows apps to send "TRIM and Unmap" hints to storage media
外部リンク
- USB Attached SCSI Protocol (UASP) v1.0 and Adopters Agreement, 2009-06-24
- USB Mass Storage Class Specification for UASP Bootability v1.0 and Adopters Agreement, 2013-03-04
- USB Attached SCSI (UAS) (data on t10.org)
- USB Attached SCSI Protocol (UASP) (PDF)