C flash文件系统使用fwrite life limit?

C flash file system using fwrite life limit?

我目前正在工业 PC 上编写 C 程序。 操作系统是Ubuntu。 PC 正在使用闪存文件系统。 我对闪存文件系统做了一些研究。事实证明,闪存文件系统在同一个地方重写数据的次数是有限的。 但是,我的程序可能需要一遍又一遍地 fwrite 文件以保留配置数据。 我的程序需要在这台电脑上保存 运行 多年,并且需要每分钟记录一次数据。 我想知道如果我多次fwrite一个文件,系统会在同一个内存点上重写数据吗?这会导致闪存文件系统损坏吗?

首先要看你使用的是NOR flash文件系统还是NAND flash文件系统。因为它们两者在可以可靠完成的擦除周期数方面有所不同。 请参阅 link 以了解两者之间的差异 https://focus.ti.com/pdfs/omap/diskonchipvsnor.pdf

问题还取决于您要写入的数据量。如果它很小,您可以使用 putc 而不是使用 fwrite 编写自定义文件写入函数。

你可以在这里看到一种方法 https://bytes.com/topic/c/answers/876395-fwrite-efficiency-alternative

希望对您有所帮助。