NAND FLash基础概念介绍

一、引脚介绍


引脚名称


引脚功能


CLE


命令锁存功能


ALE


地址锁存功能


/CE


芯片使能


/RE


读使能


/WE


写使能


/WP


写保护


R/B


就绪/忙输出信号


Vcc


电源


Vss



N.C


不接


IO0~IO7


传输数据、命令、地址

1. 命令、地址、数据都通过8个I/O口传输

2. 写命令、地址、数据时,都需要将WE、CE信号同时拉低

3. 数据在WE信号的上升沿被NAND Flash锁存

4. 命令锁存信号CLE和地址锁存信号ALE用来分辨、锁存命令或地址

5. 在CLE上升沿,命令被锁存

6. 在ALE上升沿,地址被锁存

二、存储组织形式

1. NAND芯片内部分为die, plane,block, page

2. chip是指芯片,一个封装好的芯片就是一个chip

3. die是晶圆上的小方块,一个芯片里可能封装若干个die,由于flash的工艺不一样,技术不一样,由此产生了die

的概念,常见的有Mono Die,a Die, b die等,一个chip包含N个die

4. plane是NAND能够根据读、写、擦除等命令进行操作的最小单位

一个plane就是一个存储矩阵,包含若干个Block

5.  Block是NANDFlash的最小擦除单位,一个Block包含了若干个Page

6.  Page是NANDFlash的最小读写单位,一个Page包含若干个Byte

OOB/Spare Area

每一个页,对应还有一块区域,叫做空闲区域(SpareArea)。在Linux系统中,一般叫做OOB(Out of Band)。

数据在读写的时候相对容易错误,所以为了保证数据的正确性,必须要有对应的检测和纠正机制,此机制叫做ECC/EDC,所以设计了多余的区域,用于存放数据的校验值。

OOB的读写是随着随着页的操作一起完成的。

OOB的具体用途包括以下几个方面:

? 标记所处的block是否为坏块

? 存储ECC数据

? 存储一些和文件系统相关的数据。如jaffs2就会用到这些空间存储一些特定信息,而yaffs2文件系统,会在                    oob中存放很多和自己文件系统相关的信息

一个16G的NAND的存储结构大致如下:

一个16G的NANDFlash需要34位地址,而传输地址的IO口是8位的,因此需要5个循环来传输地址信息。

NAND Flash中的坏块

Nand Flash 中,一个块中含有1 个或多个位是坏的,就称为其为坏块Bad Block。坏块的稳定性是无法保证

的,也就是说,不能保证你写入的数据是对的,或者写入对了,读出来也不一定对的。与此对应的正常的块,肯定

是写入读出都是正常的。

坏块有两种:

(1)出厂时就有存在的坏块:

一种是出厂的时候,也就是,你买到的新的,还没用过的Nand Flash,就可以包含了坏块。此类出厂时就             有的坏块,被称作factory (masked) bad block 或initial bad/invalid block,在出厂之前,就会做对应的标记,

标为坏块。

(2) 使用过程中产生的坏块:

第二类叫做在使用过程中产生的,由于使用过程时间长了,在擦块除的时候,出错了,说明此块坏了,也

要在程序运行过程中,发现,并且标记成坏块的。具体标记的位置,和上面一样。这类块叫做worn-out

bad block。即用坏了的块。

SLC和MLC的实现机制

NANDFlash按照内部存储数据单元的电压的不同层次,也就是单个内存单元中,是存储1位数据,还是多位数        据,可以分为SLC和MLC。

? SLC(Single Level Cell)

单个存储单元只存储1位,表示1或0。

对于Nand Flash写入1,就是控制ExternalGate去充电,使得存储的电荷够多,超过阈值Vth,就表示1了。

而对于写入0,就是将其放电,电荷减少到小于Vth,就表示0了

? MLC(Multi Level Cell)

与SLC对应的,就是单个存储单元可以存储多个位,比如2位、4位等。其实现机制就是,通过控制内部电荷

的多少,分成多个阈值,从而储存为不同的数据。

单个存储单元可以存储2位数据的,称作2的2次方 = 4 LevelCell

时间: 2024-12-20 13:49:52

NAND FLash基础概念介绍的相关文章

足彩基础知识入门(4)赛事数据库与预测平台基础概念介绍(一)

在足球赛事数据库以及统计分析预测平台中,有很多概念,如果不搞懂,很难进行下一步的工作.所以为了配合团队人员的学习和任务进行,特意编写这篇文章.如果有其他问题和不懂的,请留言,将根据情况进行更新. 本文原文地址:足彩基础知识入门(4)赛事数据库与预测平台基础概念介绍(一) 1.指数1/2/3.... 我在 足彩基础知识入门(3)足彩赔率的本质 一文中介绍了赔率的概念,那么指数的概念和赔率以及结果是相关的.我们举个例子: 如上图的比赛,前面是竞彩非让球的赔率:1.74-3.25-4.15,也就是说

rabbitmq 基础概念介绍

[引言] 你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼.挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题. 消息服务擅长于解决多系统.异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用(RPC).本文将要介绍的RabbitMQ就是当前最主流的消息中间件之一. [RabbitMQ简介] AMQP,即Advanced Message Queuing Protocol,高级消息队列协议

Nand Flash 基础

1. 根据物理结构上的区别,Nand Flash主要分为: SLC(Single Level Cell): 单层式存储 MLC(Multi Level Cell): 多层式存储 TLC(Triple Level Cell): 三层式存储 注:SLC在存储格上只存一位数据(2个状态),MLC存放两位数据(4个状态),TLC存放三位数据(8个状态). 2. Nand Flash 地址结构 注: ①Row Address即页地址,Column Address即页内偏移 ②正常页内容读取用Column

【转载】NAND Flash的续介绍

NAND-Flash 的存储原理 固态硬盘最小单元的基本架构如下: 我们知道计算机中所有的信息储存最终都必须回归到 0与1,就像电影<黑客任务>中母体不停跑动连串的 0与1一样,原则上,只要存储单元能提供两种或两种以上可供辨识的状态,便可以拿来纪录数据.在 NAND-Flash 中,当我们需要写入数据时,会在图中的控制闸(Control Gate)施加高电压,然后允许源极(Source)与汲极(Drain)间的 N信道(N-Channel)流入电子,等到电流够强,电子获得足够能量时,便会越过浮

编译原理基础概念介绍

关于编译原理 语法树 句柄 简单短语 短语 的区分,通过两个例子来理解概念以及方法: 例子1——语法树 S -> a|b|(T)  T -> TdS|S Vt={a,b,d,(,)}.Vn={S,T},S是开始符 句型(Sd(T)db)是S的一个推导,其中___是句柄;____是最左素短语:____是该句型的直接短语,_____是短语.     素短语的概念:它是一个递归的定义,至少含有一个终结符,并且除它自身之外不再含任何更小的素短语,所谓最左素短语就是处于句型最左边的素短语的短语.而一个算

MQTT基础概念介绍

https://blog.csdn.net/pipinet123/article/details/60866901 源博客地址:http://blog.csdn.net/pipinet123 MQTT交流群:221405150在MQTT群里有很多群友经常会把MQTT.MQTT Broker.MQTT Client这些概念搞混淆. 也有很多群友不知道MQTT相关产品去哪里找 还有群友将MQTT和某db.某MQ.TCP协议进行对比 鉴于部分初识MQTT朋友的疑惑,所以讲这些概念以及相关推荐写此博文,

Cocos2dx学习笔记3:基础概念介绍

从小到大我们玩了许许多多的游戏,从任天堂的红白机到最火的英雄联盟游戏,游戏已经越来越深入我们生活中.通过这些游戏的的解析,我们可以发现每一款游戏有着不同的游戏场景,不论是游戏机的关卡场景,还是网络游戏的地图场景,都可以算是不同的游戏场景. 一款游戏里每一个时刻都有一个场景在独立运行,通过切换不同的场景来完成一个游戏流程.而游戏流程的管理由导演(Director)来控制和执行,整个游戏一般只有一个导演,负责创建和处理主窗口,以及管理场景执行. 在游戏里,一个游戏可以由多个场景组成(菜单界面.游戏界

基础概念介绍——导演、场景、层、精灵

在Cocos2d-x-3.x引擎中,采用节点树形结构来管理游戏对象,一个游戏可以划分为不同的场景,一个场景又可以分为不同的层,一个层又可以拥有任意个可见的游戏节点(即对象,游戏中基本上所有的类都派生于节点类Node).可以执行Action来修改游戏节点的属性,使其移动.旋转.放大.缩小等等. 每一个时刻都有一个场景在独立运行,通过切换不同的场景来完成一个游戏流程,游戏流程的管理由Director来执行,其基本框架类图如下: 导演(Director) 一款游戏好比一部电影,只是游戏具有更强的交互性

【详解】如何编写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的相关知识,最后介绍了