This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TF卡中文件系统损坏问题---AM335x

Other Parts Discussed in Thread: AM3352

Dear TI Engineers,

我的客户在使用AM335x时,遇到如下问题,

1)AM3352, 配套TF卡做存储单元,有两个分区Boot和rootfs,其中Boot存放Uboot和kernel,使用FAT格式;而rootfs作为文件系统,用Ext4格式,文件使用Yocto工具构建产生。上层应用中有使用一些第三方组件,如mysql, redis, openstack, MessageQueue, webserver等

2)TF卡连接至MMC0控制器上,速率为48Mhz

3)产品在现场使用2,3个月后,大量设备出现文件系统损坏,导致系统应用无法正常运行,或重新启动后挂载的文件系统无法访问;客户的应用程序主要存放在/opt目录下,损坏较严重。经过测试发现,应用软件和第三方组件中有大量读写操作,长时间后导致TF上的Ext4文件系统损坏,经过优化减少日志读写操作后,有所缓解,但是仍然存在文件系统损坏的情况

请问:

1)这种应用场景是否推荐使用TF卡?

2)能否通过降频的方法解决此问题?比如降频至24M或者更低。

3)有没有其他的建议来解决此问题?

非常感谢。

  • TF卡不建议使用,另外频繁读写的内容,建议都搬到内存里面去,能关的log都关了吧

    降频改变不了读写TF卡的次数,意义不大

  • Hi Leo,

    多谢回复。因为一些日志log需要掉电保存,所以不能全部放在内存。也做了优化关了很多的Log,但是还是有文件系统损坏的情况发生。

    那您建议用什么方式来操作呢?采用Nand Flash做存储介质吗?

  • 可否通过加电池的方式保证系统正常关机,从而确保文件系统以及log信息的完整性。

  • Hi Yaoming,

    多谢回复,我会建议客户考虑此方案。

    对于经常读写文件放在内存中,客户有尝试过使用tmpfs在内存中,客户上层应用已减少了很多日志,中间组件上的日志,暂时无法关闭,所以还是有文件系统损坏的情况。此外客户也有考虑过TF卡多个分区进行存储,一个区异常后,切换到另一个区。因为TF在日常使用中很难避免读写操作,所以提高系统的可恢复性看起来更有效些。而且由于客户应用软庞大,需要应用上重新规划后才能分区操作,操作也比较复杂。

    对于这种应用场景,还有其他的建议吗?比如说更耐擦写并且适合工业场景的存储介质,或者说比较易用的多个备份之间切换的方法。非常感谢