tq210 nand8位HWECC与YAFFS2的OOB布局
2014-02-20 15:34
387 查看
最近又重新调试了下8位的HWECC,最后发现S5PV210的8位HWECC的确是可以用的,但是,使用yaffs2文件系统的时候的时候仍然会出问题,这是由于yaffs2文件系统与mtd层的oob布局冲突导致的。
当我们使用8位HWECC时,会生成52字节的ECC校验数据并写入oob,而yaffs2自身也有28字节的数据写日oob,也就是说,至少需要28+52=80字节的oob空间,而对于我们的nand flash,页大小为2048字节,oob空间为64字节,明显空间不足,进而导致了我们前面看到的问题,所以,采用8位HWECC时应该选用不使用oob空间的文件系统,如jffs2,但是jffs2文件系统在挂载时比较慢,感觉上不如yaffs2轻巧。
yaffs2文件系统的oob布局如下:
[plain] view
plaincopy
字节0: 坏块标记
字节1: 保留
2-0x27: 给上层使用(yaffs)
0x28-0x3F: ECC
有了上面这个布局,编写nand驱动时候就可以确定一个最佳ECC方案了,只要ECC校验数据存储在0x28~0x3F内就可以。
当我们使用8位HWECC时,会生成52字节的ECC校验数据并写入oob,而yaffs2自身也有28字节的数据写日oob,也就是说,至少需要28+52=80字节的oob空间,而对于我们的nand flash,页大小为2048字节,oob空间为64字节,明显空间不足,进而导致了我们前面看到的问题,所以,采用8位HWECC时应该选用不使用oob空间的文件系统,如jffs2,但是jffs2文件系统在挂载时比较慢,感觉上不如yaffs2轻巧。
yaffs2文件系统的oob布局如下:
[plain] view
plaincopy
字节0: 坏块标记
字节1: 保留
2-0x27: 给上层使用(yaffs)
0x28-0x3F: ECC
有了上面这个布局,编写nand驱动时候就可以确定一个最佳ECC方案了,只要ECC校验数据存储在0x28~0x3F内就可以。
相关文章推荐
- CakePHP的blog教程三
- php 读取 word
- EditPlus 中user tool 操作远程文件技巧-php语法检测
- 广州传智PHP课程,5800元优惠只有几天欲报从速啦
- Chtml中三级联动实例(Yii框架)
- php100视频里的一个会员登录系统超时和权限实例
- DedeCMS安全设置 目录执行php脚本限制方法
- PHP调试
- PHP Simple HTML DOM 使用
- editplus快捷键大全
- 【转】送给和我一样曾经浮躁过的PHP程序猿
- Mifare UltraLight
- PHP XML笔记汇总
- yii修改assets目录位置
- thinkphp 模版引用
- PHP操作FTP类 (上传下载移动创建等)
- PHPExcel 导出时乱码
- php笔试题
- JMeter压力测试案例大全之(ftp服务器和sftp)
- thinkphp之自动生成目录安全文件