赏梅更吟梅花诗 最美梅花最美诗,七首梅花诗,惊艳了整个冬天

本站作者 2023-10-13 03:03:00

赏梅更吟梅花诗

确实有这种说法,这种说法也大致上是正确的。

日志型的文件系统,如果日志是固定在盘上的某个位置,那么会出现频繁反复擦写几个块的情况,确实容易导致这几个块更容易损坏。

SSD和NVME则不一定有这种问题,因为U盘和SD卡大多数都是主控比较弱、没有缓存的,所以写块的负载均衡能力比较差(有些甚至根本没有),而SSD/NVME的主控都比较强大,能保证即使上层软件反复擦写一个块,在主控的软件逻辑能让底层重新映射这种擦写行为,或者只写到缓存中,并没有真正刷到硬件上。

实际应用场景中,一些高端的U盘实际上也带了比较强大的主控和缓存,所以高端U盘使用NTFS也不存在伤盘的问题,主要是低端的U盘会这样。

但这一切都有一个前提,就是要频繁的写U盘。实际应用中,除非为了硬件测试需要,我很少见到高强度写U盘的情况,所以即使是用NTFS,问题应该也不大。

我个人使用的感觉:因为Windows上使用exFAT对U盘有优化,所以还是推荐用exFAT的,题主可以自行比较一下,复制同样的文件,是NTFS快一些,还是exFAT快,我的个人经验是后者(注意,要掐表自己算,不要看Windows显示的那个剩余时间,不准)。

会缩短寿命;但有多大影响其实难说。

简单说一下什么叫日志式文件系统。日志式文件系统实际上说的是文件系统的一个管理机制,就是它先记录要对文件系统做什么元数据改变,然后再做这个改变,最后记录改变完成。这么做的好处是,万一在这个过程中有什么事情没能正常完成,比如写到一半断电了,那么下次恢复正常运行的时候文件系统一看有未完成操作的日志就知道自己可能出问题了,然后也大概率知道是啥事情没做完。于是该怎么修就怎么修。这样文件系统本身不容易坏,就算丢数据也就丢意外发生时恰好还没写完的数据,但可以避免因为文件系统不一致导致后续发生数据写错位置等问题,防止破坏其他数据。

很多人说这个机制会“极大”缩短有限擦写次数媒体的寿命,实际上是出于一个关键误解。这个关键误解是,很多人认为这意味着文件系统无论干啥,都要先写入一个日志,然后再写数据。

这里有两重错误。

一是,并不是所有写入操作都会导致日志写入。绝大多数时候只有在文件系统发生元数据改变的时候才会需要写入日志。比方说,如果我们要打开一个已有文件,把里面的数据全部覆盖成0,关闭。这个过程只发生一个日志:文件的最后修改时间更新。把数据覆盖0的操作对文件系统本身来说就等于什么都没发生,它是局限于文件内部的操作。甚至在部分设计比较新的文件系统上连这一个日志都没有,因为文件属性可能属于目录节点的内部数据,不是文件系统结构的一部分。

二是,并不是说所有日志都必须早于实际操作发生,所以并不是因为有了日志就一定增加写入次数。我们思考一下这个问题:日志写入是否可以和数据写入同时发生?其实是可以的,可以想象,只要日志写入不晚于数据写入,那发生故障的时候数据丢失,一定不会导致未知的元数据改变。此时无非几种情况,或者文件系统就连元数据要改这件事都不知道;或者是知道需要改变但还没改变;或者是都日志也记得了操作也完成了。无论哪种,都不会破坏文件系统的一致性。

所以实际上,日志式文件系统的额外写入并不多;而且如果有写入缓存,总的写入次数并不一定因为额外的日志写入而增加。

当然,因为总归是需要多一个日志写入的,所以日志式文件系统的写入量必然会比无日志的情况更高;而且大多数时候文件系统的日志都放在相对固定的位置,所以对于没有负载平衡的有限擦写介质来说会导致特定位置写入多于其他位置,于是更早发生损坏。

所以NTFS一定是会缩短闪存卡、U盘等介质的寿命的。但总的来说,影响有限。从个人经验出发,只要不是太差的闪存,还是得有个五年以上的频繁使用才能体现出差距。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权本站发表,未经许可,不得转载。