求助FATFS文件系统中正点原子提供FTL转化层算法

2019-07-21 01:04发布

最近在学习正点原子提供的FATFS文件系统,在针对NAND FLASH设备,正点原子提供了FTL层使它能兼容FAT文件系统,但正点原子没有提供关于FTL较为详细的资料!大家有关于FTL详细的文档或自己的见解吗?正点原子提供的FTL用的算法均衡摩擦算法是什么?有没有垃圾回收?坏块管理?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
26条回答
正点原子
1楼-- · 2019-07-21 06:47
 精彩回答 2  元偷偷看……
fskofcpu
2楼-- · 2019-07-21 11:30
正点原子 发表于 2018-12-7 01:46
我们算法比较简单,分析源码吧

FTL中包含了均衡摩擦和垃圾回收及坏块管理等功能了吗?您能简单说一下均衡摩擦和坏块管理是怎么实现的吗?
fskofcpu
3楼-- · 2019-07-21 16:24
正点原子 发表于 2018-12-7 01:46
我们算法比较简单,分析源码吧

  学习过程还遇到一个问题是:每当读文件的时候总是出现ecc出错>2bit,无论文件>512还是<512字节。但数据都是正确的。(现象是每f_read()一次都返回一个ecc>2bit的校验错误)。
另外我看具体代码,无论我们读写大于512字节还是小于512字节,每次FTL_ReadSectors(buff,sector,512,count);FTL_WriteSectors((u8*)buff,sector,512,count);还是以512字节为单位啊。这样<512字节的岂不也需要ecc校验,但内容却没有512个字节啊。
fskofcpu
4楼-- · 2019-07-21 16:31
正点原子 发表于 2018-12-7 01:46
我们算法比较简单,分析源码吧

在FTL_ReadSectors()函数中有这么一句,不太明白。
if(flag==NSTA_ECC2BITERR)flag=0;        //2bit ecc错误,不处理(可能是初次写入数据导致的)
fskofcpu
5楼-- · 2019-07-21 19:03
 精彩回答 2  元偷偷看……
正点原子
6楼-- · 2019-07-21 19:19
 精彩回答 2  元偷偷看……

一周热门 更多>