NAND Flash的容量
 
一直到2006年,MLC芯片的容量每年都成倍数增长;由于NAND Flash的制程升级的挑战越来越大,所以NAND Flash之后的容量成倍增长所需要的时间也在不断增加,从06年以前的一年到18个月再到2年。由于MLC已经成为主流产品,SLC开始在制程和容量方面逐渐落后。例如SLC的NAND Flash从8Gb到16Gb的转移的花了3年的时间。
8LC和16LC的优点在于可以将更大容量的数据存储于一块芯片上面,而这些是SLC和MLC不能够做到的。例如,第一块16LC就是64Gb,而这就是当时第一块单芯片的64Gb的NAND Flash。所以8LC和16LC被寄予期望在以后更高容量
的存储器上面继续引领。

 
NAND Flash的特性
    一个存储单元存多bit的这种存储技术能够有更好的成本优势,但也是有代价的。这个低成本的代价就是降低了产品的读写性能和寿命。我们分别比较SLC,MLC,8LC,16LC的特性我们就能发现,如下图所示:在数据的保存
时间、产品寿命及写速度方面都会随着每一个存储单元存储的bit的增加而有很大的降低。读速度和操作电压则
也有一定程度的减少。

    更高的容量和更低的成本之间是有一个平衡的。而擦除数据的速度实际上是随着块大小的增加而增加的。
当然,对于不同特性的产品也有各自对应的不同的应用场合。

    下图就列出了一个基于两个关键特性(写速度和寿命)的简单的应用概括图。在对寿命和速度要求更低的
应用产品上更适合使用一个存储单元多bit的产品。现在的存储和一些应用可能可以使用16LC产品;而消费类的应用产品比如MP3/MP4、存储卡、个人导航设备等则大量的使用8LC;MLC产品则在很多的消费电子产品和笔记本电脑的SSD中被应用到;而SLC则被使用在一些对寿命和耐久性要求较高的产品上,比如企业级的SSD还有高清电视产品上。然而,对于某一种企业级的应用,特别是在较小的时钟周期内需要大量读的场合,MLC也是基本能够胜任的。
    
市场和应用
可拔插存储
    电子相册和数码存储等应用是使用NAND Flash的上升沿来进行触发的。世界上第一款flash memory card
始于1994年,当时使用的NOR Flash。而第一块使用NAND Flash作为存储介质的可拔插存储卡SmartMedia卡则是
在1995年问世的,紧接着MultiMedia 卡在1997年问世,Memory Stick在1998年问世;Secure Digital在1999年
问世;xD-Picture卡在2002年问世。这些新出现的可拔插存储介质的小型化版本“mini”和“micro”在接下来
的时间里也紧跟着问世了。
    下图12展示了存储卡能够取代以前的模拟电影的一些基本因素。事实上Flash存储卡存储不仅仅只是图片而且还有对应的音频和视频,这些都方便我们可以将这样的数据从一个设备传输到另外一个设备。Trek和IBM在2000年发布的U盘直接导致了软盘的寿命的终结。
 
嵌入式存储
    NAND Flash被用作代码和数据的存储或者是将数据存储于不同的分区内,例如我们使用的手机就是使用NAND
Flash来存储代码和数据的。MP3/PMP 播放器,数字录像机和个人导航仪器等等也是使用NAND Flash来存储的。NAND Flash能够被用于多种嵌入式设备当中。

    Raw NAND-NAND Flash芯片是直接被焊接到PCB上的,然后由主芯片那边(FTL:Flash Translation Layer)来控制Flash上的数据传输、坏块管理和错误校验(ECC)。例如MP3/PMP播放器就使用一个Flash控制器来管理Raw NAND芯片。
    将NAND和控制器合装在一个chip上面——NAND Flash设备被用作代码和数据存储器而主芯片那边则只有Flash Translation Layer(FTL)来对NAND进行管理。有的时候,一些设备(比如三星、东芝和Numonyx的ONENAND、Sandisk的mDOC(mobile Disk-on-Chip)等)会有一个和NOR Flash相同的接口用以代替NOR Flash;
    Multi-chip Package(MCP)- 将NAND Flash和一个NOR Flash还有低功耗的DRAM的芯片装在一颗芯片里面
(或者只有NAND Flash和低功耗的DRAM)。MCP一开始的时候是用于手机里面。
    图13展示了不同手机的存储器架构。这些架构也是依赖于手机的功能的。入门级的手机一开始只有语音通
话功能,一般的手机会有短信还有上网功能。这样的结果就是,手机其实并不需要一个大容量的存储器。而入门级的手机需要XIP(execute in place)架构,这样的架构既可以存储代码又可以直接从NOR Flash里面执行,而
pseudo-SRAM被用作工作的存储器。这样的存储系统是一个成本优化方案,特别是对于只需要小容量的存储器和
和低功耗的情况。
    feature phone提供了语音、MMS、照相机、音频、视频和上网等多项功能,所以这就需要更大容量的存储器,feature phone一般会有三种存储器:NOR Flash用来执行代码,NAND Flash用来存储数据,RAM用作工作
存储器。这样的架构也是基于一个XIP的架构并增加了NAND Flash作为数据存储。智能手机已经变成了一个集多项功能为一体的综合性设备。除了feature phone所具有的所有功能之外,他还被设计为多任务(同时运行多个应用)、e-mailing和各种娱乐功能。
    智能手机的这种存储和下载结构使得他更像是一台PC,没有将代码存储于NOR Flash中而是将代码存于NAND
Flash中,当要运行的时候从NAND中将代码拷出来并放入DRAM中来执行。在这个过程中,代码要在DRAM中执行就
必须要在DRAM中进行数据交换。因为RAM既要作为一个代码执行的场所还要作为一个工作存储器,所以RAM的容量
就必须比以前feature phone那种NOR/NAND/RAM存储系统中的RAM要大。而由于NAND Flash每个bit的低成本优势,这种架构对于中端手机和大容量存储手机来说就是成本最优化的选择,与此同时带来的问题就是相对于XIP存储系统有着更高的功耗和更长的启动时间。

 
    图14对比了SnD和XIP架构系统。
    NAND Flash的管理方式——NAND Flash设备ECC 校验要求和在某些情况下页大小和block大小需要随着新的
制程技术的改变而改变。相对于持续不断地升级主芯片那边的软件来管理这些详细信息,还可以通过将NAND Flash和控制器封装在一起通过控制器来进行管理。所有的FTL、坏块管理和ECC等都可以通过控制器和他相应的软件来进行管理;这样主芯片就只需要对这个器件执行一个简单的读写操作即可。而主芯片那边需要一个基本的对这个器件接口的驱动,典型的这样的设备就有eMMC和eSD卡。raw NAND和嵌入式的存储器的区别见图15。

 
 
 
 
 

NAND FLASH的容量、特性、市场和应用的更多相关文章

  1. nand flash详解及驱动编写

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

  2. NAND FLASH 原理

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

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

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

  4. JZ2440 裸机驱动 第8章 NAND Flash控制器

    本章目标  了解NAND Flash 芯片的接口 掌握通过NAND Flash控制器访问NAND Flash的方法 8.1 NAND Flash介绍和NAND Flash控制器使用     NAND ...

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

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

  6. NAND FLASH 物理结构分析

    转自:http://blog.51cto.com/hardywang/2053915 NAND Flash是一种非易失性随机访问存储介质,基于浮栅(Floating Gate)晶体管设计,通过浮栅来锁 ...

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

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

  8. SAM4E单片机之旅——16、NAND Flash读写

    这次大概介绍了一下NAND Flash,以及在ASF中使用它的方法. 一. 接线 这个开发板搭载了一个256 MB,8位的NAND Flash(MT29F2G08ABAEA).引脚接线如下: 偷个懒, ...

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

    转载请注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/25240909 一.框架总结 watermark/2/text/aHR0cDov ...

随机推荐

  1. MVC小系列(四)【向RouteData里扔数据】

    向RouteData里扔数据 当Url做路由之后,QueryString里当然是不可能再存你的信息了,而信息包括控制器,action,参数都会存储在RouteData里,而一般这里的信息都是通过前一个 ...

  2. job还是job

    declare jobno binary_integer;rm_days number;rm_hour number;  --传入的hourmy_hour number;    --取出当前时间的ho ...

  3. OC中的字符串常用方法

    OC中的字符串常用方法 OC中对字符串进行操作使用了Foundation框架中的NSString类(不可变).NSMutableString类(可变). NSString 1.创建字符串 [objc] ...

  4. oc文件基本读写及操作

    代码: #import <Foundation/Foundation.h> //NSString 写文件 void stringWriteToFile(){ NSString *path ...

  5. python的一个表达式的计算(超简单)

    运行的过程如下: 输入计算表达式:3+5 计算结果:8 然后再次显示计算表达式,等待输入完成后,再次显示结果,依此循环.   作为初学者再适合不过,代码也简单,如下所示: #!/usr/bin/env ...

  6. wap开发之滑动事件(swipe、tap、swipeleft、swiperight)等

    最近一直找在wap端可以实现的swipe等滑动事件的方法,开始研究了jquery-mobile,zepto,结果由于jqm太大.zepto有不少缺陷.为此研究了zepto,想把里面的swipe事件独立 ...

  7. Swift语言 1小时速学教程

    本文由 张渊杰 (网名寂静)编写 Swift语言 1小时速学教程 写在前面的话 有些人可能想, 呵呵, 1小时学一门语言, 你不是搞笑吧, 我想说, 是的, 完全可以, 就要看你怎么学了 要想在1小时 ...

  8. MySQL - “Timeout error occurred trying to start MySQL Daemon”解决方法

    前几天,网站出现Many connections的问题,进入mysql,show full processlist发现有154个进程,晕....直接service mysqld restart 但是不 ...

  9. [转]CentOS Yum 命令详解

    总所周知,Redhat和Fedora的软件安装命令是rpm,但是用rpm安 装软件最大的麻烦就是需要手动寻找安装该软件所需要的一系列依赖关系,超级麻烦不说,要是软件不用了需要卸载的话由于卸载掉了某个依 ...

  10. php实现手机拍照上传头像功能

    现在手机拍照很火,那么如何使用手机拍照并上传头像呢?原因很简单,就是数据传递,首先手机传递照片信息,这个就不是post传递 也不是get函数传递, 这个另外一种数据格式传递,使用的是$GLOBALS ...