转自: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. js数组去重方法包括Es6(方法有很多,但是需要考虑兼容性和数据类型场景)

    1.Es6提供的方法 <script type="text/javascript"> //ES6里新添加了两个方法,set(set是一种新的数据结构,它可以接收一个数组 ...

  2. codevs 1097 校门外的树 2005年NOIP全国联赛普及组 (线段树)

    时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题目描述 Description 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可 ...

  3. codevs 5462 HYY迎亲I

    时间限制: 1 s 空间限制: 256000 KB 题目等级 : 青铜 Bronze 题目描述 Description HYY要娶山那头的JCH,可毕竟是山路,十分崎岖,他又十分的单(bai)纯(ch ...

  4. springmvc+maven搭建web项目

    1.创建一个maven project 为spring1 2.进行项目的配置:默认的java 1.5 在properties中选择project facts项目进行配置,反选web之后修改java环境 ...

  5. cgi_and_fastcgi

    CGI 来自维基百科 In computing, Common Gateway Interface (CGI) offers a standard protocol for web servers t ...

  6. C++类构造函数、析构函数运行机理

    http://blog.sina.com.cn/s/blog_6fd68d5f0100n60h.html 前言--构造函数.析构函数的简单理解:1)构造函数---对象被创建时候调用的函数:2)析构函数 ...

  7. 使用Google Colab训练神经网络(二)

    Colaboratory 是一个 Google 研究项目,旨在帮助传播机器学习培训和研究成果.它是一个 Jupyter 笔记本环境,不需要进行任何设置就可以使用,并且完全在云端运行.Colaborat ...

  8. 讲课笔记3——浮动、margin失效的问题、默认样式重置

    EO:搜索引擎优化,一般在网页里面只写一个h1标签,搜索引擎可以通过该h1标签里面的内容搜索你所写的网页(a标签和img标签最好写上title属性)标准写法: .logo { text-decorat ...

  9. 利用python进行数据分析2_数据采集与操作

    txt_filename = './files/python_baidu.txt' # 打开文件 file_obj = open(txt_filename, 'r', encoding='utf-8' ...

  10. CeontOS6.5安装php环境

    港湾云主机重装操作系统之后xshell无法连接:重启ssh:# service sshd restart -bash: vim: command not found:输入 rpm -qa|grep v ...