NAND flash controller -samsung s3c2410 as example

控制器特性:

 - support read/erase/program NAND flash.

 - hardware ECC (Error Correction Code) (硬件生成校验码,软件负责校验)

 - 不能通过DMA访问

 

引脚配置:

 

D[7:0]: data/command/address I/O

CLE    : command latch enable

ALE    : address latch enable

nFCE  : flash chip enable

nFRE  : flash read enable

nFWE : flash write enable

R/nB   : NAND Flash busy/ready (input)

 

Block and Page:

1 block = 32 pages

1 page = 512B(datafiled) + 16B(oob)

 

三类地址:

Column Address: 列地址,地址的低8位

Page Address:     页地址

Block Address:     块地址

 

Operation Feature:

- 擦出操作的最小单元是块

- NAND flash 存储单元只能从1->0, 所以对其进行写入操作前必须擦除。

- OOB的第6字节标示是否坏块, 如果不是坏块为0xff, 否则是坏块。

- OOB前3个字节存放NAND falsh硬件ECC码。

 

寻址方式:

-A[7:0]    column address, which byte

-A[8]       0: 1st half page, 1: 2nd half page

-A[13:9]  page address

 

columnAddr = srcAddr%512; //column address

pageAddr = srcAddr >> 9;    // page address

 

64MB 及以上NAND flash 寻址:

1 NAND_ADDR[7:0]   //[8] 是由硬件决定的

2 NAND_ADDR[16:9]

3 NAND_ADDR[24:17]

4 NAND_ADDR[25]

 

Note: NAND设备存在坏块,为和上层文件系统接口,NAND设备的驱动程序必须给文件系统提供一个可靠的存储空间,这就要求ECC校验、坏块标注、地址映射等一系列手段达到可靠存储的目的。

SSFDC软件规范中,详细定义了如何利用NAND设备每个页中的冗余信息来实现上述功能。这个软件规范中,很重要的一个概念就是块的逻辑地址,它将在物理上可能不连续、不可靠的空间分配编号,为他们在逻辑空间上给系统文件提供一个连续可靠的存储空间

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值