USB UASPプロトコル vs BOT:マスストレージのリセットループ、タイムアウト、転送速度低下を直す
USB UASPプロトコルの失敗とBOTフォールバックを修正。マスストレージのリセットループ、SCSIコマンドタイムアウト、外部ドライブの遅延、エンクロージャファームウェアのバグ、UASP vs BOTの転送速度差を診断します。
USBストレージの問題はドライブのせいにされがちですが、実際の失敗はUSBトランスポート/ブリッジチップ/エンクロージャファームウェア/ケーブル/ハブ/電源/UASP対応/BOTフォールバック/SCSIコマンド処理のいずれかにあることが多いです。ディスクがマウントしてから止まる、消える、極端に遅くなる、そんなときに USB UASP timeout、USB mass storage reset loop、external drive disconnects under load、USB BOT CBW CSW error、UASP vs BOT troubleshooting、SCSI command failed USB で検索されます。
Bus Scopeが効くのは、USBストレージが単なるファイルシステムI/Oではないからです。ファイルコピーダイアログの下では、ホストがSCSIコマンドをUSBトランスポート上で送っています。
BOTとUASP
USB Mass Storage Bulk-Only Transport(BOT)は古くから広くサポートされている方式で、Command Block Wrapper、転送、Command Status Wrapperを使います。
UASP(USB Attached SCSI Protocol)はより新しく、USB上でより効率的なコマンドキューイングをサポートします。性能を伸ばせる反面、ブリッジファームウェア/ホストコントローラ挙動/ドライバ対応/ケーブル品質に依存します。
症状の出方はさまざま:
- BOTは動くが遅い
- UASPは速いが突然リセットする
- UASPがあるマシンで失敗し、別マシンではBOTが動く
- 大規模書き込みでエンクロージャがリセットする
- 大容量転送中にドライブが消える
負荷時のリセットループ
ドライブが列挙・マウントしても書き込み中にリセットするなら、最初の失敗ワークロード周辺を見ます。
- 大容量シーケンシャル書き込み
- ランダムI/Oバースト
- SMARTクエリ
- キャッシュフラッシュ
- SCSIリセット
- USBバルクタイムアウト
- デバイス切断
OS側の表に出るエラーは「I/O error」「device not ready」「disk removed」など。バストレースを見れば、USBブリッジが応答を止めたのか、ホストがリセットしたのかが分かります。
BOTの証拠
BOTでは次を確認:
- Command Block Wrapper
- データフェーズ
- Command Status Wrapper
- SCSIコマンドオペコード
- 転送residue
- STALL復旧
- Bulk-only Mass Storageリセット
CSWが欠落/無効なら、ホストはデバイスをリセットするかもしれません。
UASPの証拠
UASPはストリームとSCSIタスク管理を使います。失敗はコマンドタイムアウト、タスクの中止、リセットとして現れます。UASPトレースはBOTより複雑になりがちですが、根本の問いは同じです。「デバイスが応答を止めたとき、どのコマンドが進行中だったか?」
エンクロージャのブリッジファームウェアバグはよくある原因。別のエンクロージャで同じディスクをテストすると、ドライブ健全性とUSBブリッジ挙動を切り分けられます。
電源とケーブル
ストレージデバイスは実際に電力を消費します。とくにスピンディスクや高性能SSD。品質の微妙なケーブルやバスパワーハブは、書き込み負荷時にだけリセットを起こすことがあります。
リセットが大きなI/Oと相関するなら、次を試してください。
- 短いケーブル
- ポート直結
- 給電ハブ
- 別のエンクロージャ
- 別のホストコントローラ
キャプチャは残しておいてください。パケット証拠と組み合わせると、トポロジテストの説得力が増します。
デバッグチェックリスト
次の流れで作業します。
- 列挙をキャプチャし、BOT/UASPを判別する
- マウントと最初の大きなI/Oをキャプチャする
- 最後に成功したSCSIコマンドを特定する
- バルクタイムアウト/STALL/リセット/切断を探す
- BOTならCBW/CSWを確認する
- UASPならコマンド/タスク挙動を確認する
- ポート直結とハブ経由を比較する
- 可能ならUASPとBOTフォールバックを比較する
- 同じドライブを別エンクロージャでテストする
- 最初のリセット周辺のタイミングを保全する
最終的な診断
USBマスストレージの失敗は、単なるディスク問題でなくトランスポート/ブリッジ問題であることが多いです。UASP、BOT、SCSIコマンド、ブリッジファームウェア、電源、ケーブル、ホストコントローラ挙動、すべてが関係します。
Bus ScopeはUSBストレージの会話を可視化するので、リセットループや「遅いドライブ」症状を実際のバスレベルの証拠まで辿れます。