USB 记忆棒是否有板载控制器和磁盘缓存?

Har*_*rry 5 windows linux usb sync cache

我很清楚旋转盘式硬盘有一个板载控制器和一个板载磁盘缓存。

现在,“磁盘”缓存是否也存在于(4 GB 或 8 GB)USB 记忆棒上?顺便问一下,固态硬盘怎么样?

(我的猜测是,因为固态硬盘比它所连接的计算机的 RAM 慢,所以在固态硬盘上安装板载磁盘缓存是有意义的。但是因为 USB 记忆棒的字节数要小得多,相对于固态硬盘的容量和物理尺寸,前者可能没有板载磁盘缓存。)

背景:我想找出:

  1. 如果/bin/sync操作系统报告写入操作完成后不久发生电源故障,Linux 上是否有必要绝对保证不会发生数据丢失?

  2. 是否/bin/mount -o sync ...会“有效”禁用这样的板载缓存(如果存在的话)?

  3. 最后,如果操作系统是 Windows 而不是 Linux,上述所有问题的答案会如何?

Dav*_*rtz 2

是的,USB 闪存驱动器确实有一个控制器和一些板载缓存。没有其他方法可以匹配以不同速度运行的设备。没有其他方法可以完成磨损均衡和管道传输等操作。

如果操作系统报告写入操作完成后不久发生电源故障,Linux 上是否需要 /bin/sync 才能绝对保证不会发生数据丢失?

是的,但这与设备中的缓存无关。这与操作系统实现的软件缓存有关。

if /bin/mount -osync ... 会“有效”禁用这样的板载缓存(如果它存在的话)?

不,它会禁用操作系统缓存。您无法禁用板载缓存,否则设备将停止工作。在操作系统准备好之前,它会在哪里保存从闪存读取的数据?在闪存写入完成之前,它将在哪里保存操作系统写入的数据?

最后,如果操作系统是 Windows 而不是 Linux,上述所有问题的答案会如何?

同样的答案。就像硬盘驱动器一样,其他与硬盘驱动器类似的设备也具有板载控制器和缓存。