码迷,mamicode.com
首页 > 其他好文 > 详细

learning yaffs2 filesystem notes

时间:2020-01-07 17:59:37      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:nbsp   nand   hunk   区域   number   pack   它的   file   tag   

技术图片

参数inband_tags就表示tags存放的位置,tags的大小为16字节,其定义如下所示。

 

struct yaffs_packed_tags2_tags_only {
    unsigned     seq_number;
    unsigned     obj_id;
    unsigned     chunk_id;
    unsigned     n_bytes;
};

inband_tags参数的值为0时,表示tags存放在Flash页的OOB区域内,

值为1时,表示tags存放在Flash页的数据区域内,

值得注意的是,对于页大小为512字节的Nand Flash,

它的OOB区域大小只有16字节,并且这些字节需要用于记录坏块、ECC校验等信息,不足以保存YAFFS的tags信息,

因此页大小为512字节的Nand Flash需要将inband_tags参数设置为1。

另外,对于页大小非512字节的Nand Flash,如果由于控制器需要记录额外信息等原因导致OOB区不足,

理论上也可以将tags存放到数据区域内,但在使用时会出现错误,原因未知,可能是YAFFS版本过低导致的,因为低版本YAFFS确实存在这个问题。

learning yaffs2 filesystem notes

标签:nbsp   nand   hunk   区域   number   pack   它的   file   tag   

原文地址:https://www.cnblogs.com/lianghong881018/p/12162829.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!