Chinaunix首页 | 论坛 | 博客
  • 博客访问: 332697
  • 博文数量: 97
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 636
  • 用 户 组: 普通用户
  • 注册时间: 2014-10-12 22:41
文章分类

全部博文(97)

文章存档

2017年(8)

2015年(87)

2014年(2)

我的朋友

分类: 嵌入式

2015-06-13 11:47:20

NAND Flash 的数据是以bit的方式保存在memory cell,一般来说,一个cell 中只能存储一个bit。这些cell 以8个或者16个为单位,连成bit line,形成所谓的byte(x8)/word(x16),这就是NAND Device的位宽。这些Line会再组成Page,(NAND Flash 有多种结构,我使用的NAND Flash 是K9F1208,下面内容针对三星的K9F1208U0M),每页528Bytes(512byte(Main Area)+16byte(Spare Area)),每32个page形成一个Block(32*528B)。具体一片上有多少个Block视需要所定。我所使用的三星k9f1208U0M具有4096个block,故总容量为4096*(32*528B)=66MB,但是其中的2MB是用来保存ECC校验码等额外数据的,故实际中可使用的为64MB。


NandFlash特性
  • 存储位:只能将1写成0,不能将0改成1
  • 写入单位为山区,一个山区通常为512字节过着2048字节
  • 擦出单位为块,一个块一般为64山区或更高
  • 要改写:读出一块到RAM->改写RAM的内容->擦出该块->将RAM内容写入该块;
  • 必须进行坏块管理写平衡管理
坏块管理:一定不能对坏块进行擦除操作,擦除操作失败的块一定要标记为坏块(在附加扇区有信息标识为坏块)
写平衡管理: NandFlash可擦写次数为1W或者10W次,对块的平均擦写,可大大增加NandFlash使用寿命
阅读(2618) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~