尽管 USB 2.0 支持 480Mb/秒(或 60MB/秒)的传输速度,但我的计算机和 USB 驱动器之间的传输速度仅为 30MB/秒。
(因此,我只得到了额定速度的一半)USB 标准中是否存在某种东西,导致这种视在速度只有一半?
答案1
USB 2 使用 1 毫秒帧,在高速 (480 Mb/s) 模式下,它们被分为 8 个微帧。批量数据包(用于 USB 大容量存储设备)的最大大小为 512 字节。根据这份信息量很大的文件理论上的最大值为每微帧 13 个数据包。因此理论USB 2 驱动器的最大速度为:
1000 * 8 * 512 * 13 = 53248000 ~=53 MB/秒
Cypress 的另一份文件说他们实际上实现了43 MB/秒。
实际上,限制通常是闪光灯本身。
编辑:此信息实际上也在USB 2 规格。
答案2
你的闪存驱动器是瓶颈。它们无法达到 60 MB/s 的理论最大值。以下是摘录自维基百科:
现代闪存驱动器具有 USB 2.0 连接。但是,由于 NAND 闪存固有的技术限制,它们目前无法使用 USB 2.0 高速规范支持的完整 480 Mbit/s (60MB/s)。目前可用的最快驱动器使用双通道控制器,但它们仍远远低于当前一代硬盘的传输速率或最大高速 USB 吞吐量。(...)
典型的快速驱动器声称读取速度高达 30 兆字节/秒 (MB/s),写入速度约为该速度的一半。这比 USB 1.1“全速”设备快约 20 倍,后者的最大速度限制为 12 Mbit/s (1.5 MB/s)。
答案3
大约 30 MB/秒是相当典型的最大传输速度。
USB 1.0 和 USB 2.0 连接是半双工的,这意味着数据每次只能在一个方向上流动。双向共享连接可能是传输速度低于预期的最大原因。
相比之下,USB 3 和以太网是全双工的,确实更好地满足了预期的传输速度。
在我的计算机上,USB2 闪存驱动器的速度在测试应用程序中从未超过 33 MB/s,即使 Windows 报告的速度为 33-37 MB/s。我做了一些测试,启用了磁盘缓存(设备属性),并将 USB 最大传输大小增加到 2 MB(KB2581464),但无法使其更快。
答案4
使用 2007 年中期的 iMac 和 Verbatim USB2 磁盘将数据传输到 FW800 驱动器,我获得了 36-37 MB/s。对于 USB2 来说,这已经非常好了。
如果我添加从连接到同一 USB2 集线器的另一个 USB2 磁盘 (Packard Bell) 到同一 FW800 驱动器的第二次传输,则组合传输速率将增加到 42 MB/s。这非常出色,是我在 USB2 上见过的最高传输速率。
在 USB2.0 上超过 35-40 MB/s 实际上是不可能的,而且我已经为这些磁盘专门配备了一个 USB2 控制器,没有鼠标或其他设备干扰。