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 つのデバイスが最大 2 TB (512 バイト) までしか使用できないのは、USB 大容量ストレージ (usb-storage) プロトコル固有の制限でしょうか。それとも、Fantec 外部エンクロージャの制限でしょうか。それとも、Linux カーネルの問題でしょうか。
- これは、セクターが常に 512 バイトの大きさであり、ハード ドライブの最小 I/O サイズ (この場合は 4096 バイト) が無視されるという、USB マス ストレージ (usb-storage) プロトコルの固有の制限ですか。それとも、Fantec 外部エンクロージャの制限ですか。それとも、Linux カーネルの問題ですか。
- USB 3.0 では動作が改善されますか?
答え1
- USB マス ストレージ プロトコルにはそのような制限はないと思います。市場には、単一ボリュームで問題なく動作する USB インターフェイスを備えた 2TB を超える外付けドライブがあります。
- USB インターフェースを備えた Seagate 外付け 3TB ドライブが 4K 論理セクターを報告することが知られているため、USB マス ストレージ プロトコルにはセクター サイズの制限はないと思います。
- USB 3.0の方が優れているとは思えない
問題は、エンクロージャ内の USB<--->SATA ブリッジ チップにあると思います。このチップは、SATA ドライブが使用している ATA 派生コマンドを、USB が使用している SCSI 派生コマンドにブリッジする必要があります。なぜ物理ドライブが 2 つの論理ドライブに分割されているのかはわかりません。別のエンクロージャを試してください。