USB不会取代SATA或者PCI-e,因为定位不同。
USB的定位是传输+设备管理,准确的说USB是一个协议族,并且具备类似网络协议的物理层、链路层、传输层、协议层等分层次的通信,整体上看USB协议复杂程度较高,协议开销很大。
而SATA则相对更简单,目标单一并且明确。USB翻译过来是通用串行总线,“通用”是一个重要的特点。同样是串行信号的SATA则更重视“专用”。所以对于硬盘来说SATA的优势是简单,而USB不管是软件还是硬件,都过于庞大且复杂。
PCI-e,PCI-e是可以并行通信的(注:单个通道为串行,但PCI-e可以多通道并行),PCI-e x16 v3.x速度差不多是16GB/s了,而USB3.1才刚突破1GB/s,想要超越还不太可能。USB无法实现一个设备使用不同的传输通道传输数据。
根据评论补充,USB的响应时间也是一个问题,因为USB请求是要层层封装,然后一点点下发给设备,这种方式的开销很大,相比之下,PCI-e的响应时间要快的多。
USB设计之初,目标是要尽可能多的连接各种不同的设备(键盘、鼠标、U盘、打印机、网卡……),所以协议必须要有足够的冗余度能兼容各种不同的设备。而PCI-e/SATA目标只是做高速传输,对设备本身有很高的要求。
计算机接口技术方面:复杂度、兼容性、速度往往是互相矛盾的,所以才有了各种不同特性的接口技术。