第8章 NAND FLASH控制器
8.1 NAND Flash介绍和NAND Flash控制器使用
NAND Flash在嵌入式系统中的地位与PC上的硬盘类似
NAND Flash在掉电后仍可保存
8.1.1 Flash介绍
有NOR Flash和NAND Flash两种


NOR Flash与SDRAM的接口完全相同,可以随机访问任意地址的数据
NOR Flash的块大小是64kb~128kb,NAND的块大小是8kb~64kb
NAND Flash一般以512字节为单位进行读写
Flash存储期间的可靠性主要考虑3点:位翻转、坏块和可擦除次数
使用EDC/ECC进行错误检测与恢复
在NOR上常用jffs2文件系统
NAND上常用yaffs文件系统
8.1.2 NAND Flash的物理结构
K9F1208U0M引脚

分为10个功能部件
(1)X-Buffers Latche&Decoders:用于行地址
(2)Y-Buffers Latche&Decoders:用于列地址
(3)Command Register:用于命令字
(4)Control Logic&High Voltage Generator:控制扩机及产生Flash所需高压
(5)Nand Flash Array:存储部件
(6)Page Register&S/A:页寄存器,当读、写某页时,会将数据先读入/写入此寄存器,大小为528字节
(7)Y-Gating
(8)I/OBuffers&Latches
(9)Global Buffers
(10)Output Driver
Nand Flash存储单元组织结构:

读/页在发出命令后,需要4个地址序列,而擦除快在发出发出擦除命令后仅需要3个地址序列
8.1.3 Nand Flash访问方法
1、硬件连接

2、命令字及操作方法
操作NAND Flash时,先传输命令,然后传输地址,最后读/写数据,需要26位地址


K9F1208U0M将一页分为A、B、C三个区

第8章 NAND FLASH控制器的更多相关文章
- JZ2440 裸机驱动 第8章 NAND Flash控制器
本章目标 了解NAND Flash 芯片的接口 掌握通过NAND Flash控制器访问NAND Flash的方法 8.1 NAND Flash介绍和NAND Flash控制器使用 NAND ...
- 总结NAND FLASH控制器的操作
初始化 NAND FLASH: 1)寄存器 NFCONT,用于开启 NAND FLASH控制器: 2)向寄存器NFCMD写入命令: 3)向寄存器NFADDR写入地址: 4)使用寄存器NFDATA进行数 ...
- NAND FLASH控制器
一.nand flash访问原理 地址空间概念 nand的编址 nand命令 命令,地址,数据 使用S3C2440的nand flash控制器访问nand flash 前几个编译出来的文件都小于4k ...
- 嵌入式Linux学习笔记 NAND Flash控制器
一.NAND Flash介绍和NAND Flash控制器的使用 NAND Flash在嵌入式系统中的作用,相当于PC上的硬盘 常见的Flash有NOR Flash和NAND Flash,NOR Fla ...
- Denali NAND FLASH控制器的验证
NAND FLASH的结构如图所示: Denali NAND FLASH控制器模块提供了从AHB总线到外部NAND FLASH存储器芯片IO管脚的访问功能.主要技术特性包括: 1.标准32位AHB总线 ...
- Nand Flash 控制器中的硬件 ECC 介绍
ECC 产生方法 ECC 是用于对存储器之间传送数据正确进行校验的一种算法,分硬件 ECC 和软件 ECC 算法两种,在 S3C2410 的 Nand Flash 控制器中实现了由硬件电路(ECC 生 ...
- Nand Flash 控制器工作原理
对 Nand Flash 存储芯片进行操作, 必须通过 Nand Flash 控制器的专用寄存器才能完成.所以,不能对 Nand Flash 进行总线操作.而 Nand Flash 的写操作也必须块方 ...
- 四、NAND Flash
4.1 nand flash启动u-boot nand flash 启动的时候,CPU 需要将 nand flash 中前面 4KB 的内容复制到 SRAM 中执行,然后将 NAND Flash 中的 ...
- S5PV210 NAND Flash
NAND Flash 关于NAND FlashS5PV210的NAND Flash控制器有如下特点:1) 支持512byte,2k,4k,8k的页大小2) 通过各种软件模式来进行NAND Flash的 ...
随机推荐
- openstack快速封装镜像
本来是该写对接ceph的,但是临时有事了,必须先弄镜像,因此提前写这个了,我个人不是按官网来封装镜像的,是按自己的习惯,所以觉得信不过的可以用官网的方式,有兴趣的可以看看都知道,openstack创建 ...
- 防止多次领取红包进行ID锁
//controller里面使用锁 ActivityRedPacket ap = customerService.getActivityRedPacket(params); if (synchr ...
- html只给自己
//另外一个 height:400px; weight:400px; border-top-left-radius: 10px; border-top-right-radius: 10px; bord ...
- table 排序 添加 删除 等操作
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 技术英文单词贴--I
I increase 增加,增大 individual 个人的,个别的 instead 代替 integer 整数,整形
- Struts2 验证框架 validation.xml 常用的验证规则
validation.xml 的命名规则和放置路径: 文件名:<ActionClassName>-validation.xml <ActionClassName>就是要验证的A ...
- RPC学习--C#使用Thrift简介,C#客户端和Java服务端相互交互
本文主要介绍两部分内容: C#中使用Thrift简介 用Java创建一个服务端,用C#创建一个客户端通过thrift与其交互. 用纯C#实现Client和Server C#服务端,Java客户端 其中 ...
- 简易购物车 --day2
代码段 f =float(input('输入你的工资')) goods=['1.apple','2.mac','3.ph','4.python','5.php'] price=[35,26.5,14, ...
- get_object_vars($var) vs array($var)
get_object_vars(\(var) vs array(\)var) test case class Test { public function actionGetObjectVarsVsA ...
- 利用windows服务+timer或者windows任务计划程序+控制台进行进行每日邮件推送
1.邮件发送代码 using System.Text; using System.Net; using System.Net.Mail; using System.Reflection; using ...