Tiny6410学习笔记3——Nand Flash Controller

本文介绍了Nand Flash的基本结构和功能,特别关注了S3C6410微处理器如何通过Nand Flash Controller进行数据访问。详细阐述了Nand Flash的硬件连接、访问方式,包括命令的发送、地址的指定和数据的传输,并提到了NFCMMD、NFADDR和NFDATA寄存器的角色。文章以 Tiny6410 的Nand Flash控制器为例,解析了其独特的寻址机制,并预告了后续的代码分析。
摘要由CSDN通过智能技术生成

Nand Flash简介

简介

相当于pc机的硬盘,保存系统运行所必须的操作系统、应用程序、用户数据以及运行过程中产生的一系列数据。掉电后数据仍可保存。
贴上Tiny6410所用的Nand Flash芯片的引脚配置图和信息,以后会用。

引脚

引脚配置图:
引脚配置图
引脚描述:
引脚描述

基本结构图

Array Organization
Array Organization2
由图中可以看到,一页有2KB的空间以及64*8bit的额外空间(韦东山老师的视频教程里称之为OOB,不在Nand Flash的编址范围之内,一般情况下不用)。可以看出,一页有2112*8个cell(一个cell为1bit),一个block有64页,一个Device Register有2K个块(block)。

Nand Flash Controller

硬件连接图

移动电话的功能日益丰富,其对系统中数据存储容量的需求正在快速增长。 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控制系统的设计优化具有普遍适用性,论文研 究的工程实用价值大。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值