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设备每个页中的冗余信息来实现上述功能。这个软件规范中,很重要的一个概念就是块的逻辑地址,它将在物理上可能不连续、不可靠的空间分配编号,为他们在逻辑空间上给系统文件提供一个连续可靠的存储空间

 

移动电话的功能日益丰富,其对系统中数据存储容量的需求正在快速增长。 NAND Flash具有速度快、密度大、成本低等特点,在各种数码产品中得到了广泛 应用,在各种片上系统芯片中(SOC)集成NAND Flash控制器正成为一种趋势。 本文讨论了Flash Memory的两种主流实现技术即NAND Flash和NOR Flash 的特点和区别,分析了市场上存在的NAND Flash的典型规格及其存储结构特点, 阐述了不同NAND Flash器件一些通用的存取操作方式,近一步分析了进行这些 存取操作所必须满足的时序规范,在此基础上,结合某公司手机SOC芯片的设计 需求,提出了一种基于AMBA总线的NAND Flash控制器实现方案,对该实现方 案进行了充分的验证工作。 本文所提出的控制器的实现方式,可以支持市场上存在的两种典型规格的 NAND Flash器件,可同时外接1至4个Flash芯片,通过可配置的控制方式可灵 活的对不同存取速度的器件予以支持,具备良好的可扩展性。在控制器的主控逻 辑设计中,采取了“块读’’和“块写”方式实现对大页器件的读页和写页操作, 这种方式有效减小了控制器中用做数据缓存的buffer大小,降低了芯片面积。针 对NAND Flash在使用过程中可能出现的位反转现象,在控制器的设计中加入了错 误检测和纠错功能。论文深入分析了ECC(Error Checking and Correcting)算法,讨 论了ECC算法的硬件实现和优化方法。在不影响对存储器读写效率的前提下,实 现对数据的存取进行实时的高速检错和纠错,为提高NAND Flash的可靠性提供了 硬件上的支持。 对控制器的验证采用了模拟验证和FPGA验证两种方式。在模拟验证阶段对 控制器的所有功能点进行全面验证,结果正确后,在Xilinx公司的Vertex4开发板 上对控制器进行了FPGA验证。结果表明控制器能正确控制对于NAND Flash的各 种存取操作,工作完全正常。 本文设计验证的NAND Flash控制器即将应用于某公司的SOC手机芯片,提 出的控制器实现方案对NAND Flash控制系统的设计优化具有普遍适用性,论文研 究的工程实用价值大。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值