USB 大容量ストレージデバイスを 2 つのデバイスに分割

USB 大容量ストレージデバイスを 2 つのデバイスに分割

USB 2.0 ポートを使用して、Fantec DB-ALUE2e 外付け SATA エンクロージャ内の Hitachi Deskstar 7K4000 4TB ハード ドライブを Lenovo T400 ラップトップに接続すると、ハード ドライブが 2 つのデバイスに分割されます。

[ 1537.560160] usb 1-1: new high speed USB device using ehci_hcd and address 4
[ 1537.714687] usb 1-1: configuration #1 chosen from 1 choice
[ 1537.814573] Initializing USB Mass Storage driver...
[ 1537.814847] scsi4 : SCSI emulation for USB Mass Storage devices
[ 1537.815088] usbcore: registered new interface driver usb-storage
[ 1537.815094] USB Mass Storage support registered.
[ 1537.815818] usb-storage: device found at 4
[ 1537.815823] usb-storage: waiting for device to settle before scanning
[ 1542.810488] usb-storage: device scan complete
[ 1542.812251] scsi 4:0:0:0: Direct-Access     Generic  External         0200 PQ: 0 ANSI: 4
[ 1542.813976] scsi 4:0:0:1: Direct-Access     Generic  External         0200 PQ: 0 ANSI: 4
[ 1542.818156] sd 4:0:0:0: Attached scsi generic sg2 type 0
[ 1542.820658] sd 4:0:0:1: Attached scsi generic sg3 type 0
[ 1542.822331] sd 4:0:0:0: [sdb] 4294967295 512-byte logical blocks: (2.19 TB/1.99 TiB)
[ 1542.829215] sd 4:0:0:0: [sdb] Write Protect is off
[ 1542.829224] sd 4:0:0:0: [sdb] Mode Sense: 38 00 00 00   
[ 1542.829229] sd 4:0:0:0: [sdb] Assuming drive cache: write through
[ 1542.830485] sd 4:0:0:1: [sdc] 3519069872 512-byte logical blocks: (1.80 TB/1.63 TiB)
[ 1542.838112] sd 4:0:0:1: [sdc] Write Protect is off
[ 1542.838120] sd 4:0:0:1: [sdc] Mode Sense: 38 00 00 00   
[ 1542.838125] sd 4:0:0:1: [sdc] Assuming drive cache: write through
[ 1542.844988] sd 4:0:0:0: [sdb] Assuming drive cache: write through
[ 1542.844997]  sdb:
[ 1542.876247] sd 4:0:0:1: [sdc] Assuming drive cache: write through
[ 1542.876255]  sdc: unknown partition table
[ 1542.901098]  unknown partition table
[ 1542.907979] sd 4:0:0:0: [sdb] Assuming drive cache: write through
[ 1542.907988] sd 4:0:0:0: [sdb] Attached SCSI disk
[ 1542.916738] sd 4:0:0:1: [sdc] Assuming drive cache: write through
[ 1542.916746] sd 4:0:0:1: [sdc] Attached SCSI disk

私はこれを Linux カーネル 2.6.32、2.6.35、3.6.6 で試しました。

eSATA 経由で接続すると、デバイス全体が認識されます。

[3867153.075703] sd 9:0:0:0: [sdd] 7814037168 512-byte logical blocks: (4.00 TB/3.63 TiB)
[3867153.075708] sd 9:0:0:0: [sdd] 4096-byte physical blocks
[3867153.075862] sd 9:0:0:0: [sdd] Write Protect is off
[3867153.075868] sd 9:0:0:0: [sdd] Mode Sense: 00 3a 00 00
[3867153.075906] sd 9:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[3867153.082355]  sdd: unknown partition table  
[3867153.098386] sd 9:0:0:0: [sdd] Attached SCSI disk 

奇妙なことに、1 つのセクターが欠落しています: 7814037168 - 4294967295 - 3519069872 == 1。

私の質問:

  1. 1 つのデバイスが最大 2 TB (512 バイト) までしか使用できないのは、USB 大容量ストレージ (usb-storage) プロトコル固有の制限でしょうか。それとも、Fantec 外部エンクロージャの制限でしょうか。それとも、Linux カーネルの問題でしょうか。
  2. これは、セクターが常に 512 バイトの大きさであり、ハード ドライブの最小 I/O サイズ (この場合は 4096 バイト) が無視されるという、USB マス ストレージ (usb-storage) プロトコルの固有の制限ですか。それとも、Fantec 外部エンクロージャの制限ですか。それとも、Linux カーネルの問題ですか。
  3. USB 3.0 では動作が改善されますか?

答え1

  1. USB マス ストレージ プロトコルにはそのような制限はないと思います。市場には、単一ボリュームで問題なく動作する USB インターフェイスを備えた 2TB を超える外付けドライブがあります。
  2. USB インターフェースを備えた Seagate 外付け 3TB ドライブが 4K 論理セクターを報告することが知られているため、USB マス ストレージ プロトコルにはセクター サイズの制限はないと思います。
  3. USB 3.0の方が優れているとは思えない

問題は、エンクロージャ内の USB<--->SATA ブリッジ チップにあると思います。このチップは、SATA ドライブが使用している ATA 派生コマンドを、USB が使用している SCSI 派生コマンドにブリッジする必要があります。なぜ物理ドライブが 2 つの論理ドライブに分割されているのかはわかりません。別のエンクロージャを試してください。

関連情報