我想知道这一点,因为有一项预防措施是不要对使用闪存的驱动器进行碎片整理,因为这会缩短它们的使用寿命。如果我错了,请纠正我的理解:
机械驱动器:硬盘驱动器、外部 USB 磁盘驱动器
非机械驱动器:NVMe M.2 驱动器、SSD(固态驱动器)、SATA M.2 驱动器、USB 闪存驱动器/拇指驱动器
您还可以在所有非机械驱动器上安全地运行 chkdsk (Windows)/fsck (Linux) 吗?
我想知道这一点,因为有一项预防措施是不要对使用闪存的驱动器进行碎片整理,因为这会缩短它们的使用寿命。如果我错了,请纠正我的理解:
机械驱动器:硬盘驱动器、外部 USB 磁盘驱动器
非机械驱动器:NVMe M.2 驱动器、SSD(固态驱动器)、SATA M.2 驱动器、USB 闪存驱动器/拇指驱动器
您还可以在所有非机械驱动器上安全地运行 chkdsk (Windows)/fsck (Linux) 吗?
没有。有许多不同的非机械存储技术,例如 ReRAM、MRAM、FeRAM、PRAM 等。虽然其中大多数仍处于开发阶段和/或降级到诸如抗辐射军事/太空硬件等利基市场,但至少是一种进入主流的非机械存储技术,它不基于 (NAND-)Flash-EEPROM:美光和英特尔的 3D XPoint 技术,以英特尔的营销名称Optane更为人所知。
英特尔在主板上提供了用作非易失性缓存并需要芯片组和操作系统的特殊支持的 Optane 芯片,以及更标准的存储设备,例如 SAS、SATA 或 NVMe 协议 SSD PCIe、SAS、SATA、U.2 或 M.2 连接器。
这特别适用于闪存,不一定适用于其他类型的非机械/固态存储。NAND Flash 的擦除/写入周期数有限,因此不必要地写入 Flash 确实会缩短其使用寿命。
这也没有任何意义,因为基于闪存的存储设备在其控制器固件中执行磨损均衡,这意味着它们故意将写入分散到物理介质中。换句话说,是否对文件系统进行碎片整理并不重要,因为无论如何数据都会散布在整个物理介质上。
碎片整理的目的是最小化机械存储设备中读/写头的机械运动。它在非机械设备中没有用。
这是不正确的。例如,可以使用基于闪存的 SSD 轻松构建外部 USB 磁盘驱动器。
这是困难的一个。M.2 仅规定了扩展设备的物理和电气接口。我认为可以构建一个机械 M.2 驱动器。
此外,如上所述,虽然 SSD 始终是非机械的,但它们并不总是闪存。
是的。
但是碎片整理还需要读取和写入块才能将它们放在一起,并且每次写入都会磨损闪存,所以是的,通过对此类驱动器进行碎片整理,您会缩短其使用寿命,而没有收益。
这并不完全正确,因为这不是碎片整理可以引入的单一改进,但其他改进是微妙的。例如,如果问题的磁盘是某个VM中的虚拟磁盘,则如果碎片较少,您可能会获得更好的I/O效率。或者,如果您的可用空间碎片较少,您的操作系统内核文件系统驱动程序可能会更快地分配空间。但如果有的话,这种收益是非常微妙的。
几乎所有主流文件系统(NTFS、EXT4)在设计时都考虑到了旋转驱动器。他们甚至在 SSD 上继续进行“HDD 友好”分配,这可能效率低下。世界可能需要新的文件系统,在设计时考虑到 SSD,这将更高效,同时考虑 SSD 功能以减少它们的磨损。
chkdsk
并且fsck
是检查文件系统一致性的软件。无论打开哪个设备文件系统,都可能需要这样做。如果文件系统以某种方式损坏,您必须修复它,否则您将无法使用它。因此,即使它可能会产生一些磨损,但数据更为重要,无论如何您都会运行它。但是,如果文件系统干净且完整,则几乎不会进行任何写入,只会读取,因此不会磨损。它可能做的最大工作是将当前时间(发生检查时)记录到超级块中。可以说,如果设备本身有问题,修复可能会更多地破坏文件系统。但这不取决于设备类型。
所有非机械驱动器肯定不是所有闪存驱动器(意思是传统的 USB 密钥)。如果“闪存”是指固态,那么是的。SSD 驱动器正在无情地取代计算机中的硬盘驱动器。我的两台主电脑都只有 SSD。
在任何 SSD(外部或内部)上运行碎片整理毫无意义,因为 SSD 上没有真正的“碎片整理”。数据进入存储单元。
安排 TRIM 在内部驱动器上自动运行,以清除以前使用和删除的内容。我从不在闪存驱动器(一次性)上使用 TRIM,但您可以在外部 USB 驱动器上运行它。
您可以在 SSD 驱动器上使用 CHKDSK,因为 CHKDSK 正在检查损坏的内容。所以这会奏效。
尝试对未碎片化的东西进行碎片整理没有任何实际意义,因此不要尝试这样做。
然而,一个非常好的 SSD 驱动器将在其使用寿命结束之前持续写入(不再具有写入能力),远远超过普通计算机的使用寿命。
我在我的 SSD 驱动器上使用虚拟机(现在已经是第 5 年了)没有问题,即使虚拟机和主机一样做了很多写入。