通过定期磁盘碎片整理来提高 RAID SSD(无 TRIM)的性能?缺少 TRIM 是否重要?

通过定期磁盘碎片整理来提高 RAID SSD(无 TRIM)的性能?缺少 TRIM 是否重要?

我对设置 RAID 或使用 SSD 毫无经验,但我正在考虑购买 SSD RAID 设置(可能是 RAID 10,但也可能 RAID 0),并且我已经做了很多研究。很多人说,由于必须反复重写半写入块,缺乏 TRIM 意味着性能会随着时间的推移而严重下降。

从我对该问题的非常模糊的理解来看,我认为运行磁盘碎片整理也许能够将一组老化驱动器的所有分散数据推送到集中的块中,留下大量可供快速写入的可用块,也许可以解决整个问题。

我只是想知道是否有人对 SSD 和 RAID 设置的工作原理有更好的了解,可以告诉我偶尔进行碎片整理是否可以解决“缺少 TRIM”问题?

此外,由于现代 SSD 可以进行一些自己的垃圾收集,因此缺少 TRIM 是否还会成为问题?

提前致谢

答案1

对 SSD 进行碎片整理不会提高性能,实际上它可能会降低性能,因为会进行大量文件复制,从而向 SSD 垃圾收集器填充更多垃圾:

对 SSD 进行碎片整理不是一个好主意,原因如下:

SSD 的主要优势在于它们几乎无需寻道时间。读取相邻的数据块并不比读取分散在驱动器上的块更快。碎片不会影响 SSD 驱动器速度。

正如我在 SSD 剩余使用寿命文章中所讨论的那样,SSD 驱动器在写入时会物理磨损。碎片整理软件会移动驱动器上的所有文件。因此,对 SSD 进行碎片整理会缩短其使用寿命,而不会给您带来任何好处。

SSD 驱动器使用磨损均衡算法来处理其内存单元的有限使用寿命。这些算法利用了碎片化不会影响驱动器速度的事实。它们故意将驱动器碎片化,以便其单元磨损均匀,即使您不断覆盖一小部分文件(例如数据库文件)而从不覆盖其他文件(例如操作系统文件)。

现代 SSD 甚至会欺骗操作系统。如果操作系统告诉驱动器将文件保存在块 728、729 和 730 中,驱动器可能会决定将其写入块 17、7829 和 78918,如果它确定这些块还没有磨损得那么厉害的话。驱动器会保留所有块的查找表,这样当操作系统想要读取块 728 到 730 时,驱动器就会读取块 17、7829 和 78918。对于这样的驱动器,碎片整理软件不可能工作。软件会思考并告诉用户文件 X 已很好地碎片整理并存储在块 728、729 和 730 中,而它实际上并不知道数据在驱动器上的物理存储位置。

结论:不要浪费时间和 SSD 的使用寿命来进行碎片整理。Windows 7 中的自动碎片整理会自动跳过 SSD。在 Vista 中,您可以通过控制面板中的“性能信息和工具”项禁用它。如果您有 SSD,我强烈建议您升级到 Windows 7,这样您就可以获得 TRIM 支持。

相关内容