对于搞电子设计的工程师而言,NAND Flash是再熟悉不过的东西了。在电子设计的时候,NAND Flash通常作为大容量存储介质,可以类比为PC系统中的磁盘。在电子设计领域,对于小容量存储,还可以采用EEPROM之类的芯片;对于程序存储,可以选择NOR Flash。NOR Flash和NAND Flash之间的差别网上有过很多的讨论,在此不一一列数。

NAND Flash作为大容量存储,替代磁盘存储是从消费电子和军工领域开始的。消费电子领域追求小型化和便携,容量普遍较小,因此非常适合采用NAND Flash作为持久化存储介质。军工领域追求高可靠性,机械硬盘无法满足要求,因此只能采用NAND Flash替代机械硬盘。机械硬盘在企业级存储领域一直占据着主导地位,其最主要原因有如下几个方面:

1、容量大。自从巨磁阻效应被应用到磁盘之后,磁盘容量一直在不断增长,在不久的将来,4TB/6TB盘将会被大量使用。此外,磁盘容量还有增长空间,充氦磁盘亦可以在现有基础上增加盘片数量,从而提升单盘容量。

2、价格便宜。虽然磁盘容量在不断增加,但是单盘的价格没有提升。因此,每GB容量的价格在不断下降,磁盘在这几年还有很大的价格优势。

3、应用支持。基本上企业级的存储软件都是针对磁盘进行优化设计的,而这种软件又不能直接简单移植到NAND Flash存储上。

正因为上述几个原因,导致在企业级存储领域,磁盘一直处于领导地位,以NAND Flash为核心的存储盘无法撼动磁盘的地位。但是,从长远来看,NAND Flash有望替代磁盘,其最主要的原因是NAND Flash属于半导体存储,具有很好的性能优势。其容量的增长将符合摩尔定律。半导体工艺的进步,封装技术的进步都将促使NAND Flash单芯片容量不断快速增长。截止到2013年底,Samsung公司已经推出了V-NAND芯片,即将NAND Flash晶圆进行垂直3D封装,从而使得单芯片的NAND Flash容量成倍增长。目前,很多NAND Flash厂商已经可以提供单芯片128GB的Flash芯片。如此高的单芯片容量,很容易将2.5寸SSD做到TB级以上。半导体芯片的价格决定于产量,因此,一旦产量上去之后,NAND Flash芯片将可以做到非常廉价,因此,磁盘的价格在可见的未来不再具有优势。到那时,大容量的NAND Flash还不能替代机械磁盘吗?

答案当然是肯定可以替代机械磁盘。现在的问题是如何在NAND Flash基础上做好存储设备。基于NAND Flash设计存储系统的挑战到底在哪里?

要回答这个问题,其实就是要了解NAND Flash的内部结构和特征。首先来看一下NAND Flash的内部结构:

NAND Flash内部可以分成无数的Page页,这些Page页是读写的最小单元。多个连续的Page页构成一个Block,这些Block块是擦除的最小单元。在写一个Page页的时候,首先需要将这个Page页所在的Block擦除,否则无法对这个Page进行写入(编程)操作。对于NAND Flash而言,读操作最快,在20us左右;写操作慢于读操作,在200us左右;而擦除操作非常耗时,在1ms左右的数量级。因此,如果在写入数据的时候进行擦除操作,将会引入两大问题:第一,写性能受到擦除操作的影响变得很差;第二,由于擦除操作的基本单元是block块,因此,一个page页的写入操作将会引起整个块数据的迁移,这就是典型的写放大问题。更为严重的也是大家一直讨论和关心的寿命问题,NAND Flash内部的块是有擦写次数的,即每个块都有一定的寿命。通常SLC的NAND Flash有10万次的擦写寿命,MLC的Flash有1万次的寿命,而TLC的Flash只有几千次的擦除寿命。这些限制似乎使得NAND Flash看起来不可用,数据存在NAND Flash中是否可靠?综上归纳起来,NAND Flash主要有以下几个方面的问题:

1、不对称的性能。读的性能最好;写性能次之;擦除性能最差。

2、读写基本单元是Page页,而擦除基本单元是block块。

3、Block块内部只能采用顺序方式进行写入。

4、每次page页写的时候都需要进行擦除操作。

5、块擦除有寿命限制。

NAND Flash的问题的确很多,不像Memory一样可以在任意地址进行随意的读写操作,而且还有寿命问题。因此在采用NAND Flash设计存储设备时需要进行合理设计才能发挥Flash的优势,避免Flash的问题。例如,擦除操作比较耗时,那么可以采用虚拟化的技术,将擦除操作在后台完成,而不是在写入操作的时候进行擦除操作。Page页写操作时,需要首先进行块擦除操作,因此,不能对Flash进行in-place-update的操作,只能采用out-of-place的写方式。块擦除的寿命问题可以通过wear-leveling算法均衡所有块的寿命,从而使得整个存储系统的寿命不低于当前磁盘系统的寿命。写擦除操作可能会引起bit-error等问题,因此,可以采用多级编码、动态编码的方式增强数据可靠性。不管怎么样,虽然,NAND Flash存在很多问题,但是她的优势更加的迷人,因此,聪明的工程师一定能够想出很多方法克服问题,基于NAND Flash研制出性能卓越、可靠的存储系统。

NAND Flash凭借着性能优势、密度优势、能耗优势即将登上企业存储的舞台,您准备好了吗?

转载于:https://blog.51cto.com/alanwu/1425566

采用NAND Flash设计存储设备的挑战在哪里?相关推荐

  1. IBM蓝色基因/Q将采用NAND闪存存储

    IBM将在计划中的高性能"怪兽"--蓝色基因/Q中采用NAND闪存存储.       这是一款采用水冷方式的高性能计算系统,IBM在近日的SC10大会上展示了其原型机的组件.    ...

  2. linux用户空间flash驱动,全面掌握Linux驱动框架——字符设备驱动、I2C驱动、总线设备驱动、NAND FLASH驱动...

    原标题:全面掌握Linux驱动框架--字符设备驱动.I2C驱动.总线设备驱动.NAND FLASH驱动 字符设备驱动 哈~ 这几天都在发图,通过这种方式,我们希望能帮大家梳理学过的知识,全局的掌握Li ...

  3. 块设备驱动之NAND FLASH驱动程序

    转载请注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/25240909 一.框架总结 二.硬件原理 相比于nor flash.我们能够清 ...

  4. 闪存Nand Flash存储结构浅析

    NandFlash存储器由多个Block组成,每一个Block又由多个Page组成,Page的大小一般为2K+64Bytes或512+16Bytes.Page是读取和编程的基本单位,而擦除的基本单位是 ...

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

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

  6. 嵌入式存储设备学习笔记

    更多内容可关注微信公众号 ##各种非易失性存储设备 ###ROM/PROM/EPROM/EEPROM 在NOR/NAND flash出现之前,主要的非易失性存储设备是EPROM和EEPROM. ROM ...

  7. NAND FLASH 读写操作 简介

    NAND FLASH 内存详解与读写寻址方式 一.内存详解 NAND闪存阵列分为一系列128kB的区块(block),这些区块是 NAND器件中最小的可擦除实体.擦除一个区块就是把所有的位(bit)设 ...

  8. 闪存,ROM,Nor Flash,NAND Flash

    物理结构分类 ROM 固定ROM 可编程ROM 可擦除可编程ROM EPROM EEPROM Flash Memory NOR Flash NAND Flash 3D NAND Flash 固定ROM ...

  9. nand flash 的oob 及坏块管理

    转载出处:http://blog.csdn.net/liukun321/article/details/6598921#comments 0.NAND的操作管理方式      NAND FLASH的管 ...

最新文章

  1. kail安装和vmtools安装
  2. Ubuntu16.04更新软件源
  3. python英语单词 扇贝英语安卓下载_扇贝单词app下载-扇贝单词英语版 安卓版v3.6.503-pc6手机下载...
  4. ******中最常用的网络命令
  5. python ioc di_Sping(一)——IOC/DI
  6. Activity的启动流程
  7. Scylla——开源免费的优秀代理 IP 池:自动验证、JSON API、基于 React 的 Web UI、Docker 支持...
  8. uwp post php,window_Win10开发系列专题五 UWP应用添加画布及语音输入支持,这是微软Win10十个开发系列专 - phpStudy...
  9. 【操作系统/OS笔记05】非连续内存分配:分段、分页、页表
  10. 头发mod_《巫师3》:新MOD为三个大妹子,4K超清贴图看过来
  11. Eclipse-project 重命名问题(如何彻底修改Eclipse工程名),4种解法
  12. 基于情感词典的文本情感分析(一个最简单的举例能直接运行)
  13. 关于近期卡巴斯基6.0授权文件被封的解决方案
  14. 我的Android进阶之旅------gt;Android【设置】-【语言和输入法】-【语言】列表中找到相应语言所对应的列表项...
  15. ubuntu护眼软件——Redshift
  16. 电脑硬盘就一个c盘怎么分区,新电脑买回来只有一个c盘怎么分区
  17. RabbitMQ消息确认机制-可靠抵达
  18. 思维模型 黄金圈法则
  19. 第十三章 RISC精简指令计算机
  20. 列位置CDays列位置

热门文章

  1. 从CCNA到CCIE的网工认证道路规划
  2. JavaScript Table排序
  3. yl335b分拣站单元流程图_选择单元化物流容器的必要性
  4. Tungsten Fabric SDN — SmartNIC vRouter 软件架构设计
  5. 互联网协议 — HTTPS 安全的超文本传输协议
  6. Openstack 中的消息总线 AMQP
  7. 同步 异步 阻塞 非阻塞概念区分
  8. hibernate主键详细介绍
  9. 【jQuery Demo】图片瀑布流实现
  10. NSTimer 小记