有没有充分的理由不在 USB 拇指驱动器上设置物理“卸载”按钮?

有没有充分的理由不在 USB 拇指驱动器上设置物理“卸载”按钮?

总是有一些奇怪的情况,由于人们拔下 USB 驱动器而不卸载它们,从而发生文件丢失。

有些用户觉得卸载过程(至少在 Windows 上)繁琐或神秘,而硬件卸载按钮可能简单直观。但我从未见过或听说过 U 盘上有这样的按钮。

这些按钮似乎不存在,是否有技术原因?或者这根本不是当务之急,而且在众多软件和硬件公司之间进行协调和标准化需要大量工作?

答案1

这并非不可能,但可能不可靠。

实际的“卸载”过程并不是 USB 拇指驱动器真正控制的。它主要由操作系统计算机上正在运行的 – 卸载不会对闪存介质进行任何物理上的处理,但操作系统必须刷新所有待处理的写入(不仅仅是当前正在进行的写入,还包括已经延迟到以后的写入1)。

由于待处理数据仍在主机的 RAM 中,尚未到达 USB 拇指驱动器,因此拇指驱动器除了向操作系统发送某种“弹出请求”信号外,无法执行其他操作。

据我所知,这样的“弹出请求”信号是可能的,因为实际的可移动媒体驱动器(例如 CD 驱动器)在您要求移除 CD 时已经执行这种操作。

但是,卸载/刷新需要一些时间才能完成(有时需要几秒钟,有时需要一分钟,如果你只是我怀疑,如果使用物理按钮,人们会像对待机械锁定按钮(例如 DisplayPort 连接器上的挤压按钮)一样对待它,并在按下按钮后立即拔出 USB 棒,这实际上会增加在执行写入操作时发生这种情况的可能性。

(而且不仅仅是数据丢失——我听说如果在写入扇区时断电,闪存可能会受到物理损坏,例如 SSD 有电容器可以避免这种情况。)

但当你确定有需要刷新的待处理写入。如果我没记错的话,所有最近的 Windows 版本都对可移动媒体上的文件系统使用非常短的刷新计时器,大约 2 秒 - 因此,一旦您保存了文件,只需等待几秒钟即可稳定下来,然后您就可以拔下它。

1(SSD 和 HDD 可能具有磁盘上的 DRAM 缓冲区,在这种情况下磁盘本身需要刷新这些缓冲区,但 USB 太便宜了,因此写入通常会在主机 OS RAM 中缓冲几秒钟,因为同步执行这些操作会慢得多。

在旧版 Windows 中,我认为 USB 存储设备的默认设置是根本不执行缓冲,因为启用它会导致为内部媒体调整较长的间隔 - 因此您必须在快速拔出和性能之间做出选择。较新的 Windows 版本确实启用了缓冲,但会根据设备类型自动调整刷新超时。)

答案2

我希望你的假设是正确的,即这需要做大量工作但不需要花费 $$$。

虽然这在技术上无疑是可行的,但我还认为,从可靠性的角度来看,您可能不希望人们在写入时对磁盘施加压力,因为如果接口松动,这可能会导致更严重的损坏。

此外,这意味着更高的成本、更高的复杂性和额外的标准,同时给不知道是否需要通过硬件弹出驱动器的用户带来困惑。重要的是,即使在硬件中完成,操作系统仍需要时间来写入文件(并通知用户)

看一下https://www.usbmemorydirect.com/blog/write-caching-explained/- TIL 表示,默认情况下,Windows 会禁用 USB 设备上的写入缓存 - 这意味着如果您的设备带有活动指示器 (led) 并且处于关闭状态,则只需拔出驱动器即可。如果可行的话,我还会将磁盘格式化为 ntfs,以防万一利用日志功能。

相关内容