佚名通过本文主要向大家介绍了nandflash,nandflash norflash,nandflash什么意思,nandflash驱动,nandflash 文件系统等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:关于Nandflash的SpareBlcoks的寻址疑惑K9GAG08U0F
描述:
描述:
图片:
由于最近uboot想做ECC检测。(平台是tiny210V2, nand芯片是K9GAG08U0F,2G MLC)
ECC只是初步了解,所以想在裸机程序上先尝试运行起来。
仿造http://www.arm9home.net/read.php?tid-80271.html这篇技术贴在写函数,这时候遇到要读取26byte的ECC校验码。
所以我去翻看芯片手册,发现有个蹊跷。
如附件图:
芯片手册P9页提到了这个SpaceBlocks寻址的方式。貌似ECC校验码区是放在Nand的尾部28Blocks。
但是从结构上来算:
该芯片共有2048Blocks做为MainBlocks,而每个块是由(1M+64K)Bytes组成,也就是64K是做为SpaceBlocks存在。
那么 (2048 * 64K)的空间大小再去除以每个块的大小(1M+64)Bytes,岂不是需要128Blocks 才足够放全部的SpaceBlocks。这不是跟手册上面的28Block有出入了。
或者从1 Page = (8K + 512)Bytes, 理解数据区跟校验区的空间比例应该是8K:512 = 16:1,但是到各自占的Blocks时却是 2048: 28 = 73: 1.
不知道是我对nand的寻址理解错了还是芯片手册错了??望高人给点意见,谢谢