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)有没有其他的建议来解决此问题?
非常感谢。
leo chen:
TF卡不建议使用,另外频繁读写的内容,建议都搬到内存里面去,能关的log都关了吧
降频改变不了读写TF卡的次数,意义不大
Bruce li:
回复 leo chen:
Hi Leo,
多谢回复。因为一些日志log需要掉电保存,所以不能全部放在内存。也做了优化关了很多的Log,但是还是有文件系统损坏的情况发生。
那您建议用什么方式来操作呢?采用Nand Flash做存储介质吗?
Yaoming Qin:
回复 Bruce li:
可否通过加电池的方式保证系统正常关机,从而确保文件系统以及log信息的完整性。
Bruce li:
回复 Yaoming Qin:
Hi Yaoming,
多谢回复,我会建议客户考虑此方案。
对于经常读写文件放在内存中,客户有尝试过使用tmpfs在内存中,客户上层应用已减少了很多日志,中间组件上的日志,暂时无法关闭,所以还是有文件系统损坏的情况。此外客户也有考虑过TF卡多个分区进行存储,一个区异常后,切换到另一个区。因为TF在日常使用中很难避免读写操作,所以提高系统的可恢复性看起来更有效些。而且由于客户应用软庞大,需要应用上重新规划后才能分区操作,操作也比较复杂。
对于这种应用场景,还有其他的建议吗?比如说更耐擦写并且适合工业场景的存储介质,或者说比较易用的多个备份之间切换的方法。非常感谢
TI中文支持网
