我有两个 USB 存储设备:
- SanDisk Extreme 便携式 SSD SDSSDE60-500G:根据规格,它支持 USB 3.1。
- SanDisk Ultra Flair USB 3.0 闪存盘 SDCZ73:根据规格,它支持 USB 3.0。
我决定在仅有 USB 3.0 端口的旧主板(Gigabyte GA-AM1M-S2H (rev. 1.1) )上对两者进行基准测试。
基准测试结果有点令人惊讶。虽然 Ultra Flair 的读取速度符合我对 USB 3.0 的期望,但 Extreme Portable 的速度却快了两倍。
此设备支持 3.1 是否意味着它运行 3.0 时会更快?或者这只是设计人员使其内部读取速度更快的副产品,从而使得它运行 3.0 和 3.1 时都更快?
超凡天赋:
sudo hdparm -t --direct /dev/sdc
/dev/sdc: Timing O_DIRECT disk reads: 408 MB in 3.01 seconds = 135.64 MB/sec
极其便携:
sudo hdparm -t --direct /dev/sdc
/dev/sdc: Timing O_DIRECT disk reads: 984 MB in 3.00 seconds = 327.79 MB/sec
USB 接口设置了驱动器运行速度的上限,实际的闪存和控制器设置了驱动器运行的实际速度。
来自维基百科的速度是:
您的两个驱动器实际上都没有达到 USB 3.0 的速度,尽管由于开销,Extreme Portable 的速度已经很接近了。
请注意,从协议开销来看,USB 3.0 的可用速度约为 400MB/s。摘自 Wikipedia USB 3 页面:
这些只是驱动器和计算机之间接口的理论最大速度。您会注意到 USB 3.0 应该适合您的两个驱动器。使用更快接口的原因在于经济性、零件可用性、面向未来性和消除性能瓶颈,可能是闪存控制器和闪存本身之间的瓶颈,因为较新的控制器可能会更好地处理闪存。
更高速的接口还允许控制器更快地通过 USB 总线“突发”数据,并在等待闪存返回下一个要发送的数据块时将该端置于低功耗模式。控制器 USB 发射器短暂休眠可能可以防止其过热。
您的实际速度将受到设备本身的实际闪存的限制。
这取决于闪存的各种特性。控制器有多少个并行数据通道,闪存是否有某种块请求队列,它提前读取了多少数据,闪存的排列方式是怎样的。
不过一般来说,花费越多或购买越新,闪存和控制器就会越好、越快。