我们正在开发一款可以执行大量文件覆盖的软件。为了简单起见/提高性能,我们目前不会将旧文件内容与将在磁盘上覆盖的新内容进行比较。因此,即使文件内容相同,我们也会覆盖它们。
我们每天在 SSD 上运行这些操作几次。这会对 SSD 磨损产生负面影响吗?
或者现代操作系统/NAND 控制器是否足够智能,能够确定我们写入的数据与旧数据相同?(我们的目标是基于 Windows 的系统)
答案1
简短回答。不,控制器在覆盖之前不会检查当前文件内容。这会给 99% 的时间都在写入新数据的写入操作增加大量开销。
好消息是,SSD 在报废之前实际上可以承受大量写入。有关一些有趣的实验数据,请参阅以下 Tech Report 文章:
此外,SSD 上的磨损均衡机制试图确保擦除和重写均匀分布在介质上(见维基百科了解更多信息)。因此,写入操作很可能甚至不会进入内存中的相同物理位置。
但是,如果您可以确定内容相同,我建议避免写入。最终还是要考虑性能与写入数据大小的问题。