关于linux 文件读写寿命请教
最近在做linux应用开发,需要将一些数据存储到nandflash中,我将要保存的数据定义了一个结构体,每次读写都将此结构体保存到同一个文件中,对于这个做法,我想请教以下问题:1:据我所知,nandflash空间读写次数是有限的,大概是10万次级别,如果像我这样的保存方式(5秒钟保存一次),是不是很快的突破寿命限制,导致文件损坏?
2:有没有什么好的方式来提高使用寿命,保存结构体?谢谢! 5s写一次肯定不行的。我的应用1天写一次我都有点纠结了
查了下资料,据说linux对于nandflash做了写leveling操作,写均衡操作,尽量让写操作均衡分布在所有page上,提高写寿命。哪个大虾知道确切的信息,对于arm cpu板?
至于lz的问题,我感觉至少得用eeprom外挂存储,或铁电存储器 ziruo2002ab 发表于 2017-10-23 17:36
5s写一次肯定不行的。我的应用1天写一次我都有点纠结了
查了下资料,据说linux对于nandflash做了写leveling ...
对啊,我也觉得有问题,对于同一个文件,在创建的时候已经决定了具体的nandflash位置了,不断对它进行写,肯定是有损寿命的!
期待高手出来解惑! emmc是不是有自己的写均衡算法,这点上是不是比nand更加耐写,为此我选的核心板就是emmc的。
另外,我的做法是应用先写到内存做缓存,没到一个节点在存文件,这个节点可以是时间节点,或者缓存满和半满,但这样断电汇丢失缓存中的数据。
期待高手出来! 只有SLC才能有10万次的寿命,现在的Flash基本上没有SLC的了.都是MLC或者TLC.寿命堪忧啊 wx-ta 发表于 2017-10-23 18:15
emmc是不是有自己的写均衡算法,这点上是不是比nand更加耐写,为此我选的核心板就是emmc的。
另外,我的做 ...
当然有啊,不过别太老。你想啊,平板用ntfs文件系统,要是没有均衡,装个系统就坏了。 slc:10万,mlc:1千,tlc:500 wx-ta 发表于 2017-10-23 18:15
emmc是不是有自己的写均衡算法,这点上是不是比nand更加耐写,为此我选的核心板就是emmc的。
另外,我的做 ...
我现在的系统就是没办法做到断电保存,所以需要定期保存:现在数据就是在内存中的,因为没有掉电检测机制就导致了读写次数的频繁。 MLC一般都是5000
linux的话最好用SLC的nand,或者emmc
系统会做均衡处理,所以不必太纠结
对于经常保存的数据,而且数据量不大,可以考虑外挂一个spi的eprom yerrmin 发表于 2017-10-23 20:34
MLC一般都是5000
linux的话最好用SLC的nand,或者emmc
系统会做均衡处理,所以不必太纠结
不知道你说的MLC和SLC是不是指擦写次数的区别,我查了一下,SLC擦写约为10万次,MLC约5000次,TLC约500,你指的应该是这个吧?这个我会查下我的系统是采用哪一个的。
关于系统的均衡处理,我想你指的应该是读写均衡,但我的理解上,读写均衡是指对整个系统内存来说,每一次新建文件都采用使用较少的flash 区来写入,保证各个块之间的读写次数基本一致,我现在的情况是:新建了这个文件之后,一直对这个文件读写,我认为是对同一扇区的同一个block的写入和读取,系统会对这个有什么措施保护吗? 简单理解:1底层会自动把这个文件移到其它块,均衡处理,不会在真实某个块死命的擦写
2操作系统会做缓冲机制,多次写合并一次写入
sinc_mark 发表于 2017-10-23 22:47
不知道你说的MLC和SLC是不是指擦写次数的区别,我查了一下,SLC擦写约为10万次,MLC约5000次,TLC约500, ...
均衡处理 就是为了避免在同一个数据块 反复擦写的。 那就建立新的文件啊。比如2017-10-31 173512.txt 2017-10-31 173517.txt
写够一定数量就将他们全删掉{:lol:}
页:
[1]