为什么 USB 闪存盘比 SSD 慢这么多?

为什么 USB 闪存盘比 SSD 慢这么多?

据我了解,USB 闪存驱动器固态硬盘(SSD)基于类似的技术,NAND 闪存

但是,USB 闪存盘通常比较慢,读写速度为每秒 10-25 MB,而 SSD 通常非常快,大约每秒 200-600 MB。

为什么 SSD 比 USB 闪存盘快这么多?为什么 USB 闪存盘的速度不超过每秒 10-25 MB?

这仅仅是因为 SSD 使用并行访问 NAND 闪存还是有其他原因?

答案1

并行性以及控制器如何利用并行性是主要因素。通常没有空间容纳 SSD 中的 8-16 个离散 NAND 芯片。USB 棒中的控制器通常也没有那么复杂,可以有效利用可用的并行性。

其他重要因素是闪存的质量。许多 USB 闪存使用较便宜的闪存,为了避免错误,您必须以较慢的速度读写。USB 驱动器没有大量的超额配置来帮助保持干净的块。而且 USB 2.0 的速度限制在 35 MB/s 左右。许多 SSD 都带有大 RAM 缓存。

造成这些差异的主要原因是价格。有些 SSD 采用 USB 棒外形,例如 LaCie FastKey。

答案2

我看到的一些因素:

  • 并行性:SSD 使用大量闪存设备并以并行、流水线和交叉的方式大量访问它们。

  • SLC 与 MLC:多层单元在每个单元中存储两位,但访问时间更长,而单层单元在每个单元中存储一位。此外,SLC 比 MLC 承受更多的写入/擦除周期。所有 USB 拇指闪存驱动器和 SD 卡都是 MLC,因为它更便宜。请注意,一些“消费者”SSD(如英特尔的 X25-M)也使用 MLC,将 SLC 保留给“企业”驱动器,如 X25-E。

  • 复杂的分配算法。 它们不仅具有磨损均衡功能(但这也很重要),还将擦除与写入分离,因此当您必须写入时,驱动器已经有几个预擦除的单元可供写入。

  • 接口:SATA2 和现在的 SATA3 是很多比 USB 更快。不仅在原始比特率上,而且效率也更高。您永远无法达到 USB 理论速度的 100%,但在 SATA、SAS 和 IEE1394 上,您可以始终获得该速度。

  • 一些额外的硬件技巧;就像一个小型的电池供电的写回缓存。你写入这个小型 RAM,驱动器本身写入闪存确认写作。

答案3

USB 接口是一个巨大的瓶颈。我恰好拥有一款非常酷的 Kanguru eFlash 驱动器,它带来了巨大的改变。

此设备有一个 USB 和一个 eSata 连接器。它在 USB 端的传输速度为 45 MB/s,在 eSata 端的传输速度为 90 MB/s。来自同一设备!这确实表明 USB 是限制因素。不过,正如其他人所说,有些驱动器的制造成本太低,甚至不受 USB 的限制。

答案4

多种因素都会限制 USB 闪存驱动器的性能,包括物理尺寸限制和 NAND 性能以及 USB 协议开销。

  • 最重要的限制可能是尺寸。USB 闪存驱动器需要合理的尺寸,因此制造商不能在驱动器中装入太多的 NAND 芯片。SSD 通常使用 2.5 英寸硬盘驱动器尺寸,这为 NAND 提供了充足的空间。(即使是 mSATA 尺寸也比合理尺寸的闪存驱动器提供更多的空间。)一般来说,驱动器中的 NAND 芯片越多,速度就越快,因为控制器可以同时(并行)写入更多芯片。

    • 三星通过制造采用全功能 SSD 技术的“便携式 SSD”彻底解决了这个问题,该技术具有与“真正的”内置 SSD 相同的优质 NAND 和高性能控制器。这些驱动器通过 USB 电缆连接到计算机,而不是直接连接到 USB 端口。

    • 传统棒状外形的闪存驱动器采用全固态硬盘技术。但是,大多数消费者并不需要或不期望闪存驱动器具有全固态硬盘性能,因此只能购买昂贵的产品。此类驱动器通常也足够大,会阻塞大多数系统上的相邻 USB 端口。

  • 为了降低成本,USB 闪存驱动器通常使用低级 NAND,其速度不如 SSD 中使用的芯片,并且控制器的功能也较弱。此外,由于闪存驱动器的容量通常低于 SSD,因此相对于驱动器外壳、电路板和控制器等其他部件,NAND 较少,这也往往会增加每 GB 的成本。

  • 此外,USB 协议的开销相对较高。为了获得最佳性能,驱动器需要支持联合服务计划,它允许系统向 USB 驱动器发送 SCSI 命令。较便宜的驱动器通常仅支持批量传输,这进一步限制了性能。请参阅这个答案了解更多信息。

相关内容