转自:http://blog.51cto.com/hardywang/2053915

NAND Flash是一种非易失性随机访问存储介质,基于浮栅(Floating Gate)晶体管设计,通过浮栅来锁存电荷,电荷被储存在浮栅中,它们在无电源供应的情况下仍然可以保持。关于NAND Flash技术基本原理之前有过讲解,大家可以参考文章闪存技术最全面解析。今天主要讨论下NAND Flash生产过程、架构和关键指标。

NAND Flash是从原始的硅材料加工出来的,硅材料被加工成晶圆(Wafer),一片晶圆上可以做出几百颗NAND FLASH芯片。芯片未封装前的晶粒成为Die,它是从Wafer上用激光切割而成的小片,每个Die就是一个独立的功能芯片,它由无数个晶体管电路组成,但最终可被作为一个单位封装起来成为闪存颗粒芯片。下面是NAND Flash芯片的详细加工过程。

NAND Flash的容量结构从大到小可以分为Device、Target、LUN、Plane、Block、Page、Cell。一个Device有若干个Die(或者叫LUN),每个Die有若干个Plane,每个Plane有若干个Block,每个Block有若干个Page,每个Page对应着一个Wordline。

Die/LUN是接收和执行FLASH命令的基本单元。不同的LUN可以同时接收和执行不同的命令。但在一个LUN当中,一次只能执行一个命令,不能对其中的某个Page写的同时又对其他Page进行读访问。下面详解介绍下这些结构单元和之间的联系。

  • Device就是指单片NAND Flash,对外提供Package封装的芯片,通常包含1个或多个Target;

  • Target拥有独立片选的单元,可以单独寻址,通常包含1或多个LUN;LUN也就是Die,能够独立封装的最新物理单元,通常包含多个plane。

  • Plane拥有独立的Page寄存器,通常LUN包含1K或2K个奇数Block或偶数Block;

  • Block是能够执行擦除操作的最小单元,通常由多个Page组成;Page是能够执行编程和读操作的最小单元,通常大小为4KB/8KB/16KB/32KB等。

  • Cell是Page中的最小操作擦写读单元,对应一个浮栅晶体管,可以存储1bit或多bit数据,主要可颗粒类型。

下图是一个FLASH Block的组织架构,每个Cell的漏极对应BL(Bitline),栅极对应WL(Wordline),源极都连在一起。每个Page对应着一个Wordline,通过Wordline加不同电压和不同时间长度进行各种操作。

一个WordLine对应着一个或若干个Page,对SLC来说一个WordLine对应一个Page;而对MLC来说则对应2个Page(Lower Page 和Upper Page);Page的大小与WordLine上存储单元(Cell)数量对应。

Data Retention(数据保存力)是用于衡量写入NAND Flash的数据能够不失真保时间的可靠性指标,一般定义为在一定的温度条件下,数据在使用ECC纠错之后不失真保存在NAND Flash中的时间;影响Data Retention 最大的两个因素是擦写次数和存储温度。通常情况下企业级SSD盘的Data Retention都是遵循JEDEC的JESD218标准,即40℃室温下,100%的PE Cycle之后,在下电的情况Data Retention时间要求达到3个月。

NAND Flash写入前必须擦除, Block擦除1次后再写入1次称为1次PE Cycle,Endurance (耐久性)用于衡量NAND Flash的擦写寿命的可靠性指标;Endurance指的是在一定的测试条件下NAND Flash能够反复擦写数据的能力,即对应NAND Flash的PE (Program/Erase) Cycle。

Bit Error Rate(BER)指由于NAND Flash颗粒概率发生Bit位翻转导致的错误,其中,RBER (Raw Bit Error Rate)指没有经过ECC纠错时出现一个Bit位发生错误的几率,RBER也是衡量NAND品质的一项指标。RBER是NAND自身品质的一个特性,随着PE次数的增加会变差,出错趋势呈指数分布,其主要原因是擦写造成了浮栅氧化层的磨损。

UBER(Uncorrectable Bit Error Rate)指发生不可纠正ECC错误的几率,即一个纠错单元Codeword内发生bit位翻转的位数超出ECC算法可纠能力范围的几率。

DWPD(Diskful Writes Per Day)指每日写入量。SSD的成本($/GB)随DWPD增加会变高,未来SSD的趋势预测读密集型当前已占50%,未来的占比会逐渐变大。

NAND Flash的寿命不等于SSD的寿命;SSD盘可以通过多种技术手段从整体上提升SSD的寿命,通过不同的技术手段,SSD盘的寿命可以比NAND Flash宣称寿命提升20%~2000%不等。

SSD的寿命不等于NAND Flash的寿命。NAND Flash的寿命主要通过P/E cycle来表征。SSD由多个Flash颗粒组成,通过盘片算法,可有效发挥颗粒寿命。影响SSD盘使用寿命关键因素主要包括下面因素。

  • 每年写入数据量,和客户的业务场景强相关;

  • 单个Flash颗粒寿命, 不同颗粒的P/E Cycle不同

  • 数据纠错算法,更强纠错能力延长颗粒可用寿命

  • 磨损均衡算法,避免擦写不均衡导致擦写次数超过颗粒寿命

  • Over Provisioning占比,随着OP(预留空间)的增加SSD磁盘的寿命会得到提高。

NAND FLASH 物理结构分析的更多相关文章

  1. Nand Flash基础知识与坏块管理机制的研究

    概述 Flash名称的由来,Flash的擦除操作是以block块为单位的,与此相对应的是其他很多存储设备,是以bit位为最小读取/写入的单位,Flash是一次性地擦除整个块:在发送一个擦除命令后,一次 ...

  2. 说说NAND FLASH以及相关ECC校验方法

    Flash名称的由来,Flash的擦除操作是以block块为单位的,与此相对应的是其他很多存储设备,是以bit位为最小读取/写入的单位,Flash是一次性地擦除整个块:在发送一个擦除命令后,一次性地将 ...

  3. nand flash详解及驱动编写

    https://www.crifan.com/files/doc/docbook/linux_nand_driver/release/html/linux_nand_driver.html#nand_ ...

  4. 如何编写linux下nand flash驱动-1

    1.       硬件特性: [Flash的硬件实现机制] Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失 ...

  5. nor flash和nand flash的区别

    NOR和NAND是现在市场上两种主要的非易失闪存技术.Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面.紧接着,1989年,东芝公司发表了 ...

  6. NAND FLASH均衡算法笔记(转)

    转来一篇关于NAND FLASH均衡算法的文章,加上一点思考和笔记,认为这种思考有助于更深刻的理解,更好的记忆,所以也算半原创了吧,最起码笔记是原创的.有意思的是,帖子提起这个算法并不是因为嵌入式开发 ...

  7. NAND Flash【转】

    转自:http://www.cnblogs.com/lifan3a/articles/4958224.html 以Micron公司的MT29F2G08为例介绍NAND Flash原理和使用. 1. 概 ...

  8. NAND FLASH 原理

    NAND FLASH 原理 http://www.360doc.com/content/12/0522/21/21412_212888167.shtml 闪存保存数据的原理: 与DRAM以电容作为存储 ...

  9. NAND Flash的基本操作——读、写、擦除

    基本操作 这里将会简要介绍一下NAND Flash的基本操作在NAND Flash内部是如何进行的,基本操作包括:读.写和擦除.   读:     当我们读取一个存储单元中的数据时(如图2.4),是使 ...

随机推荐

  1. mysql IF语句使用

    类似于三元运算符 1)  IF(where,result1,result2) = where?result1:result2 例如 SELECT IF(1=1,1,2)    =>  1 2)  ...

  2. codevs 1277 生活大爆炸 2012年CCC加拿大高中生信息学奥赛

     时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题目描述 Description Sheldon and Leonard are physicists wh ...

  3. 将从SQL2008 r2里备份的数据库还原到SQL2008中

    从标题可以看出这是未解决上一篇遗留问题写的,现在我也不知道这个可不可以成功,方法似乎查到了一种,具体怎样还不清楚:而且,我想说的是“我踩雷了”. 这篇的主角是“Database Publishing ...

  4. 在Ubuntu16.04安装YouCompleteMe

    作为从事了4年多嵌入式Linux工作的软件工程师,最近决定完全在ubuntu上工作,使用vim进行代码的阅读和编辑,然后尝试去安装vim相关的各种插件.从来没用过代码补全的我,在网上找到了插件omni ...

  5. 1991: C语言实验——大小写转换

    1991: C语言实验——大小写转换 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 183  Solved: 109[Submit][Status][We ...

  6. Vue的elementUI实现自定义主题

    使用vue开发项目,用到elementUI,根据官网的写法,我们可以自定义主题来适应我们的项目要求,下面来介绍一下两种方法实现的具体步骤,(可以参考官方文档自定义主题官方文档),先说项目中没有使用sc ...

  7. python Object-Oriented Programming

    Python 类的成员.成员修饰符.类的特殊成员. Python 类的成员 类的成员可以分为三大类: 字段.方法和属性. #注:所有成员中,只有普通字段的内容保存对象中,即: #根据此类创建了多少对象 ...

  8. Ubuntu12.04安装Chrome浏览器,并添加到左侧的启动栏

    在google官网下载google chrome deb包,有32位和64位之分: 怎么判断系统是32位还是64位的,可以用以下代码: ; int *p = &a; printf(" ...

  9. java 一个对象多少大,占用多少内存

    1.instrumentation这种方法还是靠谱的 一个对象占用多少字节? 2.sizeof库 <!-- https://mvnrepository.com/artifact/com.carr ...

  10. 《c++编程思想》关于虚函数在构造函数行为的理解,理解有误,望告知!

    <c++编程思想>书上有一段话:在任何构造函数中,可能只是部分形成对象——我们只能知道基类已被初始化,但并不知道哪个类是从这个基类继承来的.然而,虚函数在继承层次上是“向前”和“向外”进行 ...