USB Attached SCSI ( UAS ) またはUSB Attached SCSI Protocol ( UASP ) は、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、サムドライブなどのUSBストレージデバイスとの間でデータを転送するために使用されるコンピュータプロトコルです。UAS は USB プロトコルに依存し、標準のSCSIコマンドセットを使用します。UAS を使用すると、従来のUSB Mass Storage Bulk-Only Transport (BOT) ドライバと比較して、一般的に高速な転送が可能になります。
UASはUSB 3.0規格の一部として導入されましたが、互換性のあるハードウェア、ファームウェア、ドライバを使用すれば、より低速なUSB 2.0規格に準拠したデバイスでも使用できます 。UASは、元のUSB Mass Storage Bulk-Only Transportプロトコルの欠点、つまりコマンドキューイングや順不同のコマンド完了を実行できないという問題を解決するために開発されました。これらの機能をサポートするために、USB3仕様にBulk Streaming Protocolが追加され、USBホストコントローラインターフェイス(拡張可能なホストコントローラインターフェイス)にStreamsサポートが追加されました。

UASは、T10「USB Attached SCSI」(T10/2095-D)規格(「UAS」仕様とも呼ばれる)とUSB「Universal Serial Bus Mass Storage Class – USB Attached SCSI Protocol(UASP)」規格という2つの規格で定義されています。国際情報技術標準化委員会(INCITS)のT10技術委員会がUAS仕様の開発と維持管理を行い、SCSI貿易協会(SCSITA)がUAS技術の普及を推進しています。USBマスストレージデバイスクラス(MSC)ワーキンググループがUASP仕様の開発と維持管理を行い、USB実装者フォーラム(USB-IF)がUASP技術の普及を推進しています。
UASドライバは、従来のUSB Mass Storage Bulk-Only Transport (BOT)プロトコルドライバと比較して、一般的に高速な転送を実現します。[ 1 ] [ 2 ] [ 3 ] UASはUSB 3.0規格で追加されましたが、互換性のあるハードウェアがあればUSB 2.0の速度でも使用できます。[ 4 ]
SSD と併用した場合、UAS は同じ USB 転送速度であれば、ランダム読み取りと書き込みにおいて BOT よりかなり高速です。ネイティブSATA 3インターフェースの速度は 6.0 Gbit/s です。SA TA 3 リンクより遅い USB 3.0 リンク (5.0 Gbit/s) を使用する場合、パフォーマンスは USB リンクによって制限されます。ただし、後継の USB プロトコルでは転送速度が向上しており、USB4 では 80 Gbit/s が可能です。UAS ドライブは、SATA-UAS ブリッジを介して接続された SATA 3 ドライブを使用して実装できますが、その場合、スループットは SATA 転送速度によって制限されます。一方、ネイティブ UAS SSD は、より高い USB 転送速度を最大限に活用できます。
オリジナルの UAS 規格 (ANSI INCITS 471-2010 および ISO/IEC 14776-251:2014) はUAS-1と呼ばれます。T10 は UAS-2 プロジェクトを開始しましたが、中止されました。その取り組みはUAS-3として復活し、現在は公開規格 (INCITS 572-2021) となっています。他の SCSI 規格の最新バージョン (SAM-6 および SPC-6、いずれも開発中) に基づいていることに加えて、技術著者は UAS-1 と UAS-3 の変更点を次のように説明しています。「デバイスが現在のコマンドが完了する前に、あるコマンドから別のコマンドにデータ転送を切り替えることができるようにした」。
2010年7月、SemiAccurateは、 Gigabyte TechnologyがNEC / Renesasチップを使用したハードウェア用の動作するUASドライバを発表したと報じた。[ 1 ]
VR-Zoneによる2011年8月の比較性能レビューでは、NEC/ルネサスのチップのみがUASドライバを動作させていると結論付けられました。[ 5 ]同じルネサスのUASドライバ(Windows用)は、AMDのA70MおよびA75 Fusionコントローラハブでも動作します。[ 6 ]そのUSB部分はAMDとルネサスが共同開発しました。[ 7 ] 2011年10月には、ASMediaのUSBコントローラチップもドライバのサポートを獲得しました(ハードウェア側では以前からサポートされていました)。[ 8 ]
Intel Platform Controller Hub (PCH)によるサポートについては、MyCE の記事に次のように記載されています。「ネイティブの Intel USB3 UASP ソリューションは Windows 8 でのみサポートされています。さらに問題を複雑にしているのは、すべてのZ77マザーボードが USB3 UASP をサポートしているわけではないことです。UASP を実装するにはライセンスが必要ですが、すべてのマザーボードメーカーがこのライセンスの追加コストをエンドユーザーに転嫁する準備ができているわけではありません。」[ 9 ]
Allwinner Technologyの一部のSoCは、Linux上でUSB 2.0経由のUASをサポートしています。[ 10 ]
USB-SATAブリッジのうち、「LucidPort USB300およびUSB302、Symwave SW6315、Texas Instruments TUSB9261 、 VLI VL700コントローラはすべてUASPをサポートしていますが、ASMedia ASM1051およびASM1051E、Fujitsu MB86C30Aはサポートしていません。」[ 1 ]
富士通は、MB86C311Aのようなハイエンドチップの中にはUASをサポートするものがあるとリストしている。[ 11 ] ASMedia 1053-sと1153はUASをサポートしている。[ 10 ]
Silicon MotionのSM232xファミリーのUSBフラッシュドライブ(UFD)コントローラ[ 12 ]は、USB 3.2 UASの性能を完全に備え、最大2 Gbyte/sのデータ転送速度を実現します。
Microsoft はWindows 8に UAS のネイティブサポートを追加しました。[ 13 ] UAS をサポートするドライブは、古い Usbstor.sys の代わりに Uaspstor.sys をロードします。[ 14 ] Windows 8 は、USB 2.0 経由でもデフォルトで UAS をサポートしています。[ 15 ] UAS ドライバーと製品は、 Windows ハードウェア認証キットを使用して Microsoft によって認証されています。[ 16 ]
Apple はOS X 10.8 Mountain Lionに UAS のネイティブ サポートを追加しました。UAS を使用するドライブは、システム情報→ ソフトウェア → 拡張機能で IOUSBAttachedSCSI (または OS X のバージョンによっては IOUSBMassStorageUASDriver) として「ロード済み: はい」と表示されます。[ 17 ]「ロード済み: いいえ」と表示されるドライブは、古い低速な Bulk Only Transport (BOT) モードにデフォルト設定されます。これは、ドライブの USB コントローラ、Mac の USB ポート、または接続されている USB ハブが UASP モードをサポートしていない場合に発生する可能性があります。
Linuxカーネルは、バージョン3.15がリリースされた2014年6月8日からUASをサポートしています。[ 18 ]ただし、 Ubuntu(v11.xx以降)などのLinux ディストリビューションでは、一部のハードウェアの動作不良に関する問題が報告されています。 [ 19 ]カーネルには、で定義された「quirks」を持つデバイスの組み込みブロックリストがあります。[ 20 ]一時的な追加のquirksは、procfsまたはカーネルコマンドライン()を介して追加できます。[ 21 ]unusual_uas.husb-storage.quirks
FreeBSDは2018年8月現在、UASをサポートしていません。[ 22 ]
UASクラスをサポートしていない旧型のオペレーティングシステムでは、互換性を確保するために、UASデバイスをUSBマスストレージバルク専用トランスポートモードで動作させることができます。
{{cite web}}: CS1 maint: 数値名: 著者リスト (リンク)