网站搜索

我在设备管理器中更改了一个 USB 策略设置,我的文件传输速度翻了一番


我在将大文件传输到外部硬盘时注意到一个奇怪的现象。复制速度起初非常快,有时超过300MB/s,但最终会降到非常慢。我看到的进度图非常混乱,本应几分钟完成的传输反而用了更长时间。我浪费了时间更换外壳、数据线,甚至归咎于温度问题,但真正的原因竟然是自2018年以来默认的USB策略。

在设备管理器中只需进行一次切换,我的文件传输速度就减半了。它们变得更可预测了。

Windows 出于充分的理由更改了此默认设置

大多数人从未安全弹出驱动器——微软不再假设他们会这样做

在 Windows 10 版本 1809 之前——当微软引入导致此问题的策略更新时——可移动驱动器依赖写入缓存。这允许操作系统暂时保留传入内存的写入操作,并以高效的批量方式将其刷新到驱动器上。这是一种更快的方法,但也意味着如果驱动器意外断开,内存中未写入的数据可能会丢失。

然而,几位用户在拔出驱动器之前并未安全弹出它,因此微软引入了“快速移除”功能——它完全禁用写入缓存——作为新的默认设置。写入现在直接进入驱动器,不经过内存缓冲。这对于不弹出即可拔出更安全。

如果你只是移动少量数据项,这是一个完全合理的权衡,但在大文件上,取消写入缓存的性能成本是显而易见的。这两种策略存在于设备管理器中,它们的比较如下:

快速移除

更好表现

写入缓存

已禁用

已启用

未弹出即拔出

较低风险

风险较高——先弹出

持续写入速度

显著更低

显著更高

最适合

闪存驱动器,偶尔的小型传输

外部 SSD,大量或频繁传输

如今,快速 SSD 已成为常见的存储选项。然而,快速删除策略并不是特别为它们设计的。

最严重的放缓不是在一开始发生的

我的固态硬盘只有在其高速缓存填满后才开始变慢

这对我来说真的很困惑,因为我在传输开始时就达到了最高速度。速度后来才在没有任何警告的情况下骤降。这种情况有两个原因,如果你想理解解决办法,了解这两个原因都是值得的。

我上面已经讲过了 Windows 策略,这是第一个。然而,第二个是 SSD 对持续写入的处理。大多数消费级 SSD 都有一个 SLC 缓存,这是 NAND 闪存的一部分,用作高速临时缓冲区。数据在传输过程中最初会进入这个缓存,这就是最初速度高的原因。驱动器随后开始直接写入较慢的 TLC 或 QLC NAND闪存,这就是你看到速度急剧下降的原因。

快速移除使这一机制的缺点更加明显。一旦驱动器的缓存被填满,速度就会下降,并且由于没有写入缓存,这种影响很容易被注意到。SLC 缓存耗尽是硬件限制,切换到“更好性能”并不能消除;然而,这一切换会立即重新定义缓存填满后的情况。在我的测试中,我注意到的是:

公制

快速移除

更好表现

峰值速度

~300 兆字节/秒

~350 兆字节/秒

缓存填充后的持续速度

30-60 兆字节/秒

80-180 MB/秒

平均持续速度

60-120 MB/秒

150-280 MB/秒

50 GB 混合文件夹传输时间

7-14 分钟

3-6 分钟

峰值速度非常接近,因为初始突发——无论采用何种策略——都是由 SLC 缓存处理的。在那一行之下,真正的差异才开始显现。

我使用 CrystalDiskMark 进行了确认,结果类似。使用这两种策略时,在运行 1 GiB 顺序写入测试时,我得到了类似的结果,因为 SSD 缓存吸收了负载。然而,在 8 GiB 测试中,我注意到当配置为更好性能时,速度更高。

这个设置被隐藏在大多数人绝不会检查的地方

它位于磁盘驱动器下,而不是 USB 控制器下






更改政策是一个简单的过程:

  1. 右键点击开始菜单,然后点击设备管理器。
  2. 展开 磁盘驱动器,然后右键点击你的 SSD 并选择 属性。
  3. 点击 策略 标签。默认是 快速移除;将其更改为 更好性能。
  4. 在 写入缓存策略 部分,选择 在设备上启用写入缓存,然后点击 确定。

这个设置似乎被埋在了错误的地方,因为从逻辑上讲,你可能会想在通用串行总线控制器下查看,尤其是如果你正在向USB设备传输文件。但这是驱动器本身的设置,而不是端口的设置。

一旦你更改了策略,请安全地弹出驱动器或 USB,然后重新插入,并继续进行传输。你也可以在更改后重启系统以确保其生效。

这只消除了一个瓶颈——不是每个瓶颈

我展示的结果来自一块通过 USB 3.2 Gen 2 接口连接的高速 SSD。你不能期望每个设置都能达到相同的速度,因为你的 USB 接口会限制写缓存的性能。虽然更改策略有助于处理大型视频或 RAW 照片库、大型混合文件夹以及其他大文件传输,但对于日常使用来说,坚持使用“快速删除”即可,因为更改它实际上没有真正的好处。

最重要的是,请注意,更改策略并不会让你的慢速驱动器变快;它只是确保操作系统没有限制你的传输速度。这个策略是我希望能早点发现的一个功能。

相关文章