第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的 ...
随机推荐
- C++的一些小的知识点
1.初始化: 对于内置类型 ]; // 10个未初始化int ](); // 10个值初始化为0的int 对于自定义类型: 只要一调用new,那么编译器不仅仅给它分配内存,还调用它的默认构造函数初始化 ...
- laravel(二):laravel基本入门 看到Hello Laravel
1.Hello World 首先,我们来添加一些文字,在页面中显示.为了能访问网页,要启动程序服务器. $ php artisan serve 上述命令会启动 PHP 内建的开发服务器,要查看程序,请 ...
- Android获取时间
java代码: import java.text.SimpleDateFormat;SimpleDateFormat formatter = new SimpleDateFormat ('yyyy年M ...
- 使用SVN时出现的文件缺失问题
使用SVN的童鞋们,可能有三种提交代码的方法: 第一种使用客户端(例如SVNX,CornerStone): 第二种使用Xcode提交(Source Control -> commit): 第三种 ...
- table 排序 添加 删除 等操作
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- python学习之——eclipse+pydev 环境搭建
最终选用 eclipse+pydev,网上相关资料也是极多的~~~ 1.安装python: 2.安装eclipse: 3.eclipse中安装pydev,eclipse中help—>eclipl ...
- js 创建 JSON对象
//定义变量 var Type = [{}]; Type.push({ label: "labelname", value: "value" });
- 使用 hexdump dump 文件内容
名词解释 [dump] dump 是指把文件的内容,每个字节用2位十六进制数来表示的方式. 缘由 最近看矢泽久雄的<How Program Works>,了解到 dump “exe文件”( ...
- spring mvc 工作流程
Spring Web MVC 处理Http请求的大致过程:一旦Http请求到来,DispatcherSevlet将负责将请求分发.DispatcherServlet可以认为是Spring提供的前端控制 ...
- CentOS下搭建SVN
1.安装svn yum -y install subversion 2.创建hydata目录 mkdir -p /var/svn/hydata 3.创建 m 目录 mkdir -p /var/svn/ ...