Nand Flash 控制器工作原理

对 Nand Flash 存储芯片进行操作, 必须通过 Nand Flash 控制器的专用寄存器才能完成。所以,不能对 Nand Flash 进行总线操作。而 Nand Flash 的写操作也必须块方式进行。对 Nand Flash 的读操作可以按字节读取。

  Nand Flash 控制器特性

1. 支持对 Nand Flash 芯片的读、检验、编程控制

2. 如果支持从 Nand Flash 启动, 在每次重启后自动将前 Nand Flash 的前 4KB 数据搬运到 ARM 的内部 RAM 中

3. 支持 ECC 校验

 Nand Flash 控制器工作原理

Nand Flash 控制器在其专用寄存器区(SFR)地址空间中映射有属于自己的特殊功能寄存器,就是通过将 Nand Flash 芯片的内设命令写到其特殊功能寄存器中,从而实现对 Nand flash 芯片读、检验和编程控制的。特殊功能 寄存器有:NFCONF、NFCMD、NFADDR、NFDATA、NFSTAT、NFECC。寄存详细说明见下一节。

 Nand flash 控制器中特殊功能寄存器详细介绍

1. 配置寄存器(NFCONF)

功能:用于对 Nand Flash 控制器的配置状态进行控制。

在地址空间中地址:0x4E000000,其中:

Bit15:Nand Flash 控制器使能位,置 0 代表禁止 Nand Flash 控制器,置 1 代表激活 Nand Flash 控制器; 要想访问 Nand Flash 芯片上存储空间,必须激活 Nand Flash 控制器。在复位后该位自动置 0,因此在初始化时
必须将该位置为 1。

Bit12:初始化 ECC 位,置 1 为初始化 ECC;置 0 为不初始化 ECC。

Bit11:Nand Flash 芯片存储空间使能位,置 0 代表可以对存储空间进行操作;置 1 代表禁止对存储空
间进行操作。在复位后,该位自动为 1。

Bit10-8:TACLS 位。根据此设定 CLE&ALE 的周期。TACLS 的值范围在 0-7 之间。 Bit6-4、2-0 分别为:TWRPH0、TWRPH1 位。设定写操作的访问周期。其值在 0-7 之间。

2. 命令寄存器(NFCMD)

功能:用于存放 Nand flash 芯片内设的操作命令。

在地址空间中地址:0x4E000004,其中:

Bit0-7:存放具体 Nand flash 芯片内设的命令值。其余位保留以后用。

3. 地址寄存器(NFADDR)

功能:用于存放用于对 Nand flash 芯片存储单元寻址的地址值。

在地址空间中地址:0x4E000008,其中:

Bit0-7:用于存放地址值。因为本款 Nand flash 芯片只有 I/O0-7 的地址/数据复用引脚且地址是四周

期每次 8 位送入的,所以这里只用到 8 位。其余位保留待用。

4. 数据寄存器(NFDATA)

功能:Nand flash 芯片所有内设命令执行后都会将其值放到该寄存器中。同时,读出、写入 Nand flash

存储空间的值也是放到该寄存器。
在地址空间中地址:0x4E00000C,其中: Bit0-7:用于存放需要读出和写入的数据。其余位保留代用。

5. 状态寄存器(NFSTAT)

功能:用于检测 Nand flash 芯片上次对其存储空间的操作是否完成。

在地址空间中地址:0x4E000010,其中:

Bit0:置
0 表示
Nand flash 芯片正忙于上次对存储空间的操作;置 1 表示 Nand flash 芯片准备好接收新
的对存储空间操作的请求。

6. ECC 校验寄存器(NFECC)

功能:ECC 校验寄存器 在地址空间中地址:0x4E000014,其中: Bit0­Bit7: ECC0

Bit8­Bit15: ECC1 Bit16­Bit23: ECC2

原文地址:https://www.cnblogs.com/fanweisheng/p/11105689.html

时间: 2024-10-15 01:10:02

Nand Flash 控制器工作原理的相关文章

Nand flash 芯片工作原理

Nand flash 芯片型号为 Samsung K9F1208U0B,数据存储容量为 64MB,采用块页式存储管理.8 个 I/O 引脚充当数据.地址.命令的复用端口. 芯片内部存储布局及存储操作特点 一片 Nand flash 为一个设备(device), 其数据存储分层为: 1 设备(Device) = 4096 块(Blocks) 1 块(Block) = 32 页/行(Pages/rows)  ;页与行是相同的意思,叫法不一样 1 块(Page) = 528 字节(Bytes) = 数

NAND FLASH控制器

一.nand flash访问原理 地址空间概念 nand的编址 nand命令  命令,地址,数据 使用S3C2440的nand flash控制器访问nand flash 前几个编译出来的文件都小于4k,读出来放到SDRAM中去 SDRAM.dm9000地址-->2440地址 nand 没有地址总线 片内内存:SDRAM:网卡:寄存器  都是CPU统一编址 写地址,读数据   连续读一页                           只进行了读操作,擦除,oob访问都没有 二.源码分析

Nand Flash 控制器中的硬件 ECC 介绍

ECC 产生方法 ECC 是用于对存储器之间传送数据正确进行校验的一种算法,分硬件 ECC 和软件 ECC 算法两种,在 S3C2410 的 Nand Flash 控制器中实现了由硬件电路(ECC 生成器)实现的硬件 ECC. ECC 生成器工作过程 当写入数据到 Nand flash 存储空间时, ECC 生成器会在写入数据完毕后自动生成 ECC 码,将其放入到 ECC0-ECC2.当读出数据时 Nand Flash 同样会在读数据完毕后,自动生成 ECC 码将其放到 ECC0-ECC2 当

第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点:位翻转.

NAND Flash 控制器

目标: 了解 NAND Flash 芯片的接口 掌握通过 NAND Flash 控制器访问 NAND Flash 的方法 NAND Flash 介绍和 NAND Flash 控制器使用 NAND Flash 在嵌入式系统中的地位与 PC 上的硬盘类似,用于保存: 系统运行所必须的操作系统 应用程序 用户数据 运行过程中产生的各类数据 Flash 介绍 常用的 Flash 类型有 NOR Flash 和 NAND Flash 两种. 两者的差别如下: NOR Flash 支持 XIP,即代码可以直

NAND FLASH 原理

NAND FLASH 原理 http://www.360doc.com/content/12/0522/21/21412_212888167.shtml 闪存保存数据的原理: 与DRAM以电容作为存储元件不同,闪存的存储单元为三端器件,与场效应管有相同的名称:源极.漏极和栅极.栅极与硅衬底之间有二氧化硅绝缘层,用 来保护浮置栅极中的电荷不会泄漏.采用这种结构,使得存储单元具有了电荷保持能力,就像是装进瓶子里的水,当你倒入水后,水位就一直保持在那里,直到你再 次倒入或倒出,所以闪存具有记忆能力.

【详解】如何编写Linux下Nand Flash驱动

From: http://www.crifan.com/files/doc/docbook/linux_nand_driver/release/html/linux_nand_driver.html 版本:v2.2 Crifan Li 摘要 本文先解释了Nand Flash相关的一些名词,再从Flash硬件机制开始,介绍到Nand Flash的常见的物理特性,且深入介绍了Nand Flash的一些高级功能,然后开始介绍Linux下面和Nand Flash相关的软件架构MTD的相关知识,最后介绍了

Nand Flash原理(二)

K9F2G08U0B的存储阵列 图 2-1 K9F2G08U0B的存储阵列 由图2-1,我们可以知道:K9F2G08U0B的一页为(2K+64)字节(2K 表示的是 main 区容量,64表示的是 spare 区容量),它的一块为 64 页,而整个设备包括了2048个块.这样算下来一共有 2112M 位容量,如果只算 main 区容量则有256M 字节(即 256M×8 位). 要实现用 8 个 IO 口来要访问这么大的容量,如图 2-1 所示:K9F2G08U0A 规定了用 5 个周期来实现.

ECC校验原理以及在Nand Flash中的应用

     本篇文章主要介绍ECC基本原理以及在Nand Flash中的应用,本文记录自己对ECC校验原理的理解和学习. ECC介绍      ECC,全称为Error Correcting Code,错误纠正码,这是一种编码方式,用于在于可以在一定程度上自行发现和纠正传输过程中发生的错误.      香农在1948年发表的<通信的数学理论>中的信道编码定理指出:主要采取适当的纠错码,就可以在多类信道上传输消息,其误码率可以任意小.经过历代人们的持续努力,找出了许多好的信道编码方法,满足许多实用