I needed a cheap USB to hard drive interface. My requirements are:
During browsing Chinese shops on Ebay, I've found item listed as USB 3.0 2.0 to SATA/IDE 2.5"/3.5" HDD SATA IDE Adapter Converter Cable 5Gbps for $14.98. I have bought this one, because of the price and hoped that it will work in Linux. After several weeks device arrived and there is a brief review.
Fig.: If you wondering if your setup has USB 3.0, it is pretty simple, the USB 3.0 connector has a blue tongue.
Alternatively, if you are lazy to orbit around your box and examine all holes on it, use command lsusb, its output will contain something like this (to have 3.0 root hub is important!):
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
The USB↔SATA/IDE device is identified with Vendor ID 0x1f75 and Product ID 0x0611. The vendor is Innostor Technology Corporation and device is based on IS611 USB3.0 to SATA/PATA Bridge Controller. The device starts to work automatically right after connecting to my linux box with kernel 4.5.7-200.fc23.x86_64 in Fedora 23. The package contains cables for SATA and SATA power, also molex connector for IDE disk power, power supply supports 100-230 V mains.
Note: Buying cheap noname hardware is always risk, because you do not know what are you exactly buying. Even devices looking same and sold as same brand could often contain different chips from different vendors and not all of them are supported in your OS. It is pity that sellers cannot describe proper HW identifications. But good think is, when they are offering any drivers to download. It is usually Windows driver (when provided as self-extract Setup.exe, it can be unpacked by cabextract) and then there will be some human readable file *.inf with device identification, for example USB\VID_1F75&PID_0611 (then you can search for this USB Vendor ID and Product ID and find if the device is supported in Linux).
[519757.034174] usb 3-1: new SuperSpeed USB device number 2 using xhci_hcd [519757.046840] usb 3-1: New USB device found, idVendor=1f75, idProduct=0611 [519757.046844] usb 3-1: New USB device strings: Mfr=4, Product=5, SerialNumber=6 [519757.046846] usb 3-1: SerialNumber: 20160421 [519757.047898] usb-storage 3-1:1.0: USB Mass Storage device detected [519757.047997] scsi host5: usb-storage 3-1:1.0 [519758.051377] scsi host5: scsi scan: INQUIRY result too short (5), using 36 [519758.051392] scsi 5:0:0:0: Direct-Access Generic ATA/ATAPI Device PQ: 0 ANSI: 0 [519758.052632] sd 5:0:0:0: Attached scsi generic sg2 type 0 [519758.056818] sd 5:0:0:0: [sdb] Attached SCSI removable disk [519831.459780] usb 3-1: USB disconnect, device number 2 [519833.077884] usb 3-1: new SuperSpeed USB device number 3 using xhci_hcd [519833.089888] usb 3-1: New USB device found, idVendor=1f75, idProduct=0611 [519833.089891] usb 3-1: New USB device strings: Mfr=4, Product=5, SerialNumber=6 [519833.089893] usb 3-1: SerialNumber: 20160421 [519833.090841] usb-storage 3-1:1.0: USB Mass Storage device detected [519833.091222] scsi host6: usb-storage 3-1:1.0 [519834.092348] scsi host6: scsi scan: INQUIRY result too short (5), using 36 [519834.092355] scsi 6:0:0:0: Direct-Access CT120BX1 00SSD1 PQ: 0 ANSI: 0 [519834.093005] sd 6:0:0:0: Attached scsi generic sg2 type 0 [519834.093028] sd 6:0:0:0: [sdb] 234441648 512-byte logical blocks: (120 GB/112 GiB) [519834.093720] sd 6:0:0:0: [sdb] Write Protect is off [519834.093726] sd 6:0:0:0: [sdb] Mode Sense: 3b 00 00 00 [519834.094411] sd 6:0:0:0: [sdb] No Caching mode page found [519834.094415] sd 6:0:0:0: [sdb] Assuming drive cache: write through [519834.098650] sdb: sdb1 sdb2 [519834.100676] sd 6:0:0:0: [sdb] Attached SCSI disk [519834.491936] EXT4-fs (sdb2): recovery complete [519834.492054] EXT4-fs (sdb2): mounted filesystem with ordered data mode. Opts: (null)
Bus 003 Device 003: ID 1f75:0611 Innostor Technology Corporation Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 3.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 9 idVendor 0x1f75 Innostor Technology Corporation idProduct 0x0611 bcdDevice 0.06 iManufacturer 4 iProduct 5 iSerial 6 20160421 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 44 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 200mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk-Only iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 15 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 15 Binary Object Store Descriptor: bLength 5 bDescriptorType 15 wTotalLength 22 bNumDeviceCaps 2 USB 2.0 Extension Device Capability: bLength 7 bDescriptorType 16 bDevCapabilityType 2 bmAttributes 0x00000002 HIRD Link Power Management (LPM) Supported SuperSpeed USB Device Capability: bLength 10 bDescriptorType 16 bDevCapabilityType 3 bmAttributes 0x00 wSpeedsSupported 0x000e Device can operate at Full Speed (12Mbps) Device can operate at High Speed (480Mbps) Device can operate at SuperSpeed (5Gbps) bFunctionalitySupport 1 Lowest fully-functional device speed is Full Speed (12Mbps) bU1DevExitLat 10 micro seconds bU2DevExitLat 2047 micro seconds Device Status: 0x000c (Bus Powered) U1 Enabled U2 Enabled
With SSD disk CT120BX100SSD1 (Crucial BX100 120GB):
hdparm -tT /dev/sdb:
/dev/sdb: Timing cached reads: 17036 MB in 2.00 seconds = 8524.17 MB/sec Timing buffered disk reads: 572 MB in 3.00 seconds = 190.59 MB/sec
For comparison, the internal magnetic drive in the same notebook:
/dev/sda: Timing cached reads: 15344 MB in 2.00 seconds = 7677.09 MB/sec Timing buffered disk reads: 330 MB in 3.01 seconds = 109.53 MB/sec
SSD over USB 3.0 is faster :) After that, I was quite curious how this disk perform directly on SATA interface, so I put the disk into an older desktop PC:
/dev/sda: Timing cached reads: 3840 MB in 2.00 seconds = 1920.17 MB/sec Timing buffered disk reads: 798 MB in 3.00 seconds = 265.66 MB/sec
The direct connection (buffered disk reads) is faster (almost 27 %), but number for cached reads is very low. From hdparm's manpage: This measurement is essentially an indication of the throughput of the processor, cache, and memory of the system under test.. The slower system has DDR2 800MHz memory and Intel i2 CPU, the faster one is DDR3 1600MHz memory and Intel i7. So this explains that big difference.
I'm using this interface for few days now, with ext4 filesystem and I did not find any problems. Because this price and USB 3.0 support it is a great deal.