固态存储技术原理及数据恢复 The technical principle and data recovery of solid-state storage(txt+pdf+epub+mobi电子书下载)


发布时间:2020-05-22 05:54:53

点击下载

作者:刘永刚,张曦,等

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

固态存储技术原理及数据恢复   The technical principle and data recovery of solid-state storage

固态存储技术原理及数据恢复 The technical principle and data recovery of solid-state storage试读:

前言

数据恢复技术就是通过各种手段把存储设备中丢失或遭到破坏的数据还原为正常数据的一门技术。

随着电子存储设备的广泛应用,误删、病毒破坏、硬件故障等问题也接踵而至,诸多事件说明我们在享受数据信息带来便利的同时,也不得不面对数据丢失带来的巨大损失。

相对于有价的存储介质,无价的数据更显得弥足珍贵。面对越来越多因为存储介质本身的软硬件故障、或人为因素造成的数据丢失问题,数据恢复技术同时也应运而生。

传统机械硬盘数据恢复过程主要是将保存在存储介质上的资料重新拼接整理,即使资料被误删或者硬盘驱动器出现故障,只要在存储介质的存储区域没有严重受损的情况下,还是可以通过数据恢复技术将资料恢复出来的。

固态存储的数据恢复解决方案尚处于起步阶段。固态存储技术异军突起、方兴未艾,它代表未来存储技术发展的方向,虽然厂商在开发时已经设计ECC校验,维修时可能通过更换内部部件、软件等方式,但实际应用中还是具有很多局限性。当负责储存数据的闪存颗粒有毁损,现时的数据修复技术是不可能在损坏的芯片中救回数据的,就好像不可能从严重破损的盘片中恢复数据一样,所以,固态存储设备的数据恢复技术仍有很大的发展潜力。

本书从最基本的固态存储器的内部结构等的基础知识入手,系统介绍了固态存储器的数据存储原理及数据恢复思路,并列举了一些故障案例,使读者由浅入深地了解固态存储器故障处理方法以及相关工具的使用。

全书分为三大部分,第一部分是第1章~第5章,介绍了固态存储器的由来以及存储卡、U盘、固态硬盘的相关基础知识;第二部分是第6章~第11章,介绍了固态存储器所使用的文件系统的相关原理;第三部分是第12章~第15章分别讲述了固态存储器数据恢复的一般原则、软件级数据恢复、元件级数据恢复、芯片级数据恢复的原理、思路以及案例分析。

本书适合从事数据恢复的工作人员和数据恢复的爱好者。希望经过我们的努力,帮助大家能够系统的了解固态存储的相关知识,数据恢复的基本思路,以便更好地保护好固态存储设备中的数据,在发生数据丢失时能够找到合理的解决方法予以挽救。

本书由刘永刚、张曦、袁建国主编,参加本书编写的还有蒋铭、林晨、王凯旋、白红军、管乐乐、王芳、刘泽辰、李桂梅、户媛媛、付佳欣、王攀、张永胜等。在此,编者对以上人员致以诚挚的谢意!

本书在编写过程中力求精益求精,但书中肯定有不少不足之处,恳请广大读者不吝批评指正。

编者

2017年9月基础篇第1章 固态存储技术概述

固态存储器是相对于磁盘、光盘一类的,不需要读写磁头的移动及盘片的转动来读写数据的存储器。

固态存储器是通过存储芯片内部晶体管的开关状态来存储数据的,由于固态存储器没有读写头,不需要转动,所以固态存储器拥有耗电少、抗震性强的优点,在超高速、小体积的电子设备中,固态存储器拥有非常大的优势。

在电子设备中,固态存储器的应用非常广泛。比如,计算机主板的 BIOS 就是存储在固态存储器中的。

在高速数据交换设备中,由于固态存储器使用晶体管来存储数据,所以在高频率下,固态存储器可以进行非常快速的数据交换。比如,内存和CPU中的高速缓存。

在超小体积的设备中,固态存储器扮演着举足轻重的地位。因为有固态存储器,我们的电子设备才能做得更小。橡皮大的MP3播放器、小到只有指甲盖大的U盘和内存卡,这些都在方便我们的生活。

随着制作工艺的提高,单位面积内的晶体管数量不断增加,单位面积的数据容量也在不断提高。由固态存储器制成的固态硬盘已经逐步克服了早期低容量的缺点,开始大量使用。

航天领域是从20世纪90年代初开始研制固态大容量数据存储器的,1996年开始投入商业应用。以美国TRW卫星研制公司(现为美国VCI公司)和欧洲ASTRIUM公司为代表,生产出了第一代大容量固态存储器。如TRW公司为美国NASA的CASSINI航天器设计的大容量固态存储器的存储容量为2Gbits,每个存储模块为4Mbits,结构为DRAM器件,输入或输出数据速率分别为2Mbps。欧空局CLUSTERI卫星也采用了相关产品,技术指标均优于当时同类航天器,如伽利略和哈勃望远镜等使用的磁带机。随着半导体存储芯片集成密度的不断增加及相关技术的发展,在功耗、体积、重量一定的情况下,固态大容量存储器的存储容量、寿命及输入、输出速率得到了迅速的发展。21世纪初,第二代大容量固态存储器问世,其结构为SDRAM器件,每个存储模块可达2Gbits,输入或输出数据速率可达20Mbps。受集成度及价格的约束,如今大容量固态存储器已经很少采用SRAM芯片作为主存储介质,而基于闪存技术的Flash芯片已经占据了主流地位。1.1 Flash存储器的发展

随着手机、数码相机、U盘、MP3、固态硬盘等电子产品的广泛使用,Flash存储器与人们生活已变得密不可分。其实,Flash存储器技术发展到今天,按用途分大致经历了四个阶段:内部存储器阶段、存储卡阶段、U盘阶段、固态硬盘阶段。当然,这四个阶段在时间点上不可能是界线分明的,而是互相交错的,只是在某一个时期,某种产品在市场占有率相对较高一些而已。1.1.1 内部存储器的发展

1984 年,东芝公司的舛冈博士在加州旧金山 IEEE 国际电子组件大会(International Electron Devices Meeting,IEDM)上首次提出Flash存储器发明构想,Intel看到了这项发明的巨大潜力,并于1988年推出第一款商业性的NOR Flash芯片。紧接着,1989年东芝公司发布了Nand Flash技术(后将该技术无偿转让给韩国Samsung公司),此后十年间,Flash存储器技术主要用于计算机主板上的内部存储器,如BIOS、硬盘驱动器的控制存储器等,并部分替代了EPROM和EEPROM其他功能。1.1.2 各类存储卡的发展

随着Nand flash技术的不断改进和完善,各类电子数码产品的flash存储卡应运而生。

1994年美国的SanDisk公司推出了CF卡,即Compact Flash,该卡的体积为43mm×36mm×3.3mm,该卡的工作电压为3.3V和5V两种,适用于PDA,数码相机,IBM、HP、佳能、东芝的部分数码产品都支持该卡的使用。

1995年东芝公司推出了SM卡,即Smart Media(智能卡),一度广泛应用于MP3播放器,该卡体积为45mm×37mm×0.76mm,具有较强的擦写功能,并具有3.3V和5V两种工作电压,但不可同时支持两种电压,所以,采用该卡的数码产品已在逐渐减少。

1997年,SanDisk公司、西门子公司共同推出了MMC卡,即Multi Media Card(多媒体卡),该卡的发展目标主要是针对数码影像、音乐、手机、PDA、电子书等产品,其体积为32mm×24mm×1.4mm,该卡把存储单元和控制器一同做到了卡上,其操作电压为2.7V到3.6V,写/读电流只有27mA和23mA,功耗很低。

1997年,索尼公司也推出了自己的Flash存储器产品MS,即SONY Memory Stick(记忆棒),其体积为 50mm×21.5mm×0.28mm,设计有写保护开关。该记忆棒的一个特别之处在于其规范是不公开的,也不符合国际标准化组织的要求,所以该产品也只适用于索尼自己的产品,其电压范围:2.7V~3.6V。它用在索尼自己的PMP、PSX系列游戏机,数码相机,笔记本,索爱的手机上。

1999年,东芝、松下、SanDisk共同推出了SD卡,即Secure Digital Card(安全数码卡),SD 卡数据传输和物理规范由 MMC 发展而来,体积为 32mm×24mm×0.7mm。比MMC薄了0.7mm,以容纳更大存储容量的存储单元,SD卡与MMC卡保持着向上兼容,也就是说,MMC可以被新的SD设备存取,平均数据传输速率可达2MB/s。

2004年,美国SanDisk公司推出TF卡,即Trans Flash Card,是目前最小的闪存卡,体积为15mm×11mm×1mm,约为SD卡1/4,该卡主要是为照相手机拍摄大幅图像以及下载较大的视频片断而开发研制的。

随着存储卡技术的发展以及市场需求的推动,内嵌式存储卡应运而生,2006年MMCA与JEDEC组织宣布eMMC(embedded MultiMedia Card)商标与规范定义,2008年公布eMMCv4.3规格,该年MMCA并入JEDEC组织,2009年eMMCv4.4追加DDR50、BGA封装与编码防护,2010年eMMCv4.41追加了HPI界面与背景操作;2011年UFS1.0与eMMC v4.5出现,后者追加HS200等多线功能;2012年eMMC v4.51仅有少许改动,同年推出UFS1.1规格。在2013年9月,JEDEC发布了UFS 2.0的新一代闪存存储标准,UFS 2.0闪存读写速度可以高达1400MB/s,不仅比eMMC有更巨大的优势,而且它甚至能够让电脑上使用的闪存存储介质固态硬盘也相形见绌。1.1.3 U盘的发展

自1998年至2000年,有很多公司声称自己是第一个发明了USB闪存盘,包括中国朗科科技,以色列M-Systems,新加坡Trek公司。但是真正获得U盘基础性发明专利的却是中国朗科公司。2002年7月,朗科公司“用于数据处理系统的快闪电子式外存储方法及其装置”(专利号:ZL 99 1 17225.6)获得国家知识产权局正式授权。该专利填补了中国计算机存储领域20年来发明专利的空白。该专利权的获得引起了整个存储界的极大震动,包括以色列M-Systems立即向中国国家知识产权局提出了无效复审,一度成为全球闪存领域震惊中外的专利权之争。但是2004年12月7日,朗科获得美国国家专利局正式授权的闪存盘基础发明专利,美国专利号US6829672。这一专利权的获得,最终结束了这场争夺。中国朗科公司成为U盘的全球第一个发明者。

美国时间2006年2月10日,朗科委托美国摩根路易斯律师向美国德克萨斯州东区联邦法院递交诉状,控告美国 PNY 公司侵犯了朗科的美国专利(美国专利号 US6829672)。2008年2月,朗科与PNY达成庭外和解。朗科向PNY签订专利许可协议,PNY向朗科公司缴纳专利许可费用1000万美元。这是中国企业第一次在美国本土收到巨额专利许可费用,也进一步证明了朗科是U盘的全球发明者。1.1.4 固态硬盘的发展

世界上第一款固态硬盘出现于1989年,由于其价格过于高昂,推广难度较大,不过凭借固态硬盘独有的特性,使得它在军用、航空及医疗领域获得了一席之地。

2000年之后,随着Intel、三星、现代、东芝、SanDisk、宇瞻、Micron等存储界的巨头高调进入固态硬盘行业,各大芯片公司加速开发固态硬盘主控,短短的近几年就冒出了SMI、PHISON、LinkVast、JMICRON、Intel、Marvell、SAMSUNG、INDILIX TDK、Hyperstoner近十家的固态硬盘方案,甚至大名鼎鼎的“苹果”也推出了自己的固态硬盘。

2006年3月,三星率先发布一款32GB容量的固态硬盘笔记本电脑。

2007年3月,英特尔也发布了其首款固态硬盘。

2007年6月,东芝推出了其第一款固态硬盘笔记本电脑,并为其Nand芯片扩展了全新的出货渠道。

2008年在CES开幕的当天,韩国三星公司现场发布了2.5英寸128GB固态硬盘,读/写速率分别达到100MB/s和70MB/s;SanDisk也紧随其后推出了一款1.8英寸72GB固态硬盘,并特别注明该款产品将应用于笔记本电脑产品;英特尔公司作为全球闪存领域的另外一个巨头,在这次的CES展上,令人惊讶地推出了只有手指头大小的微型固态硬盘。

2014年,三星率先开启3D-NAND时代,这种3D-NAND闪存可提供两倍于传统20nm平面NAND闪存的存储密度,轻松实现SSD的容量翻倍,以前4颗闪存才能实现256GB容量,现在2颗即可。随着3D-NAND的不断技术革新,从32层向48层,再向64层堆叠,实现TB级别存储容量轻而易举。

2016年,整个半导体行业呈现井喷的状态,但是供应链的应接不暇,导致成品价格的上涨,值得欣喜的是,越来越多的厂商开始使用3D TLC NAND解决方案,可以进一步降低SSD的价格。

2017年的固态硬盘行业,技术上,更高堆叠层数的3D NAND技术继续成为各大存储大厂的竞争焦点;产品上,基于NVMe协议的PCIe固态硬盘,在闪存造价降低、量产提高的背景下,将成为固态市场的主流级产品,而传统的基于SATA接口的固态硬盘则成为了入门级和普及型主力产,U.2接口固态产品在2017年也有了长足的发展和进步。

尽管当前固态硬盘的昂贵售价等问题是阻碍固态硬盘市场普及的重要障碍,但随着NAND 闪存价格的走低,各项技术的成熟。以及 IT 巨头们加强对固态硬盘的应用。机械硬盘将被电子固态硬盘所替代的大势不可逆转。1.2 计算机内部存储器基础知识

Flash作为计算机内部存储器的一分子,它在计算机内部存储系统中的作用,以及和其他不同类型内部存储器之间关系是怎样的?为了弄清此问题,本节就计算机内部存储器的知识回顾如下。1.2.1 计算机存储系统概述

大家普遍会问一个有关台式计算机的常见问题:“为什么一台计算机需要这么多存储系统”?

快速而强大的CPU需要快速轻松地存取大量数据才能实现最优性能。如果CPU无法获得所需要的数据,则只能停下来等待这些数据。运行速度约为1GHz的现代CPU可以处理大量的数据——每秒处理的数据有望达到数十亿字节。然而,计算机设计者所面临的难题是能够匹配1GHz的CPU的存储器非常昂贵——而这些大量昂贵存储器的费用远非人们可以负担。

聪明的计算机设计者采用“分级”存储器的方法解决了这一成本问题——使用少量的昂贵存储器并辅以大量较便宜的存储器。

在图1-1 中,计算机存储系统大致分两个区域,即:临时性存储区域和永久性存储区域。在永久性存储区域中,有一个 BIOS,即计算机的基本输入/输出系统,它是将计算机主要硬件组件连接到操作系统的专用软件,BIOS 通常存储在主板的 Flash 芯片上。BIOS的作用为确保计算机中所有芯片、硬盘驱动器、端口和CPU等能够共同运作。

一台计算机正常运行需要以下三种软件。(1) 操作系统——操作系统为计算机上运行的应用程序提供一系列服务,并且还为计算机提供基本的用户界面。各类版本的Windows和Linux都属于操作系统之列。(2) 应用程序——应用程序是经过编程,用以执行特定任务的软件,如浏览器应用程序、文字处理应用程序、电子邮件应用程序等。图1-1 计算机存储系统(3) BIOS软件——该软件的最重要的功能是加载操作系统。当您打开计算机时,微处理器将试图执行第一个指令,在没有具体指令的情况下,微处理器无法访问硬盘,这时BIOS将提供指令。

BIOS功能还包括以下四点。

① 对系统中的所有硬件组件执行开机自检(POST),确保所有硬件正常工作。

② 激活计算机上安装的不同插卡上的BIOS芯片——例如,SCSI和视频卡通常都自带BIOS芯片。

③ 提供操作系统连接不同硬件设备所使用的一系列低端例行程序,这些例行程序管理的硬件设备包括键盘、屏幕、串口和并口等(特别是当计算机正在执行引导程序时)。

④ 管理硬盘、时钟等硬件的设置集合。

由于篇幅所限,计算机存储系统中其他不涉及Flash的模块不再一一赘述。1.2.2 计算机存储器工作流程(1) 启动计算机。计算机从只读存储器(ROM)中加载数据,然后执行通电自检(POST),确认所有主要的部件都运行正常。作为自检的一部分,存储器控制器会通过一个快速的读/写操作来检查所有的存储器地址,以确保存储器芯片中没有错误。读/写操作意味着将数据写到一个位上,然后再从该位上读取出来。(2) 计算机从ROM加载基本输入/输出系统(BIOS)。BIOS提供有关存储设备、启动顺序、安全性、即插即用(自动设备识别)功能和其他一些项目的最基本的信息。(3) 计算机将操作系统从硬盘加载到系统的 RAM 中。通常来说,只要计算机处于开启状态,就会在RAM中维护操作系统的关键内容。这样有助于CPU立即访问操作系统,从而提高整个系统的性能和功能。(4) 打开某个应用程序时,就会将其加载到RAM中。为了节省RAM,很多应用程序最初只加载程序最基本的部分,再根据需要加载程序的其他部分。(5) 在某个应用程序加载完之后,在该应用程序中打开使用的任何文件将会加载到RAM中。(6) 保存某个文件或关闭应用程序时,该文件会被写入到指定的存储设备,然后从RAM中清除该文件和应用程序。1.3 Flash存储器简述

Flash存储器的英文名称是“Flash Memory”,一般简称为“Flash”或“闪存”。它属于内存器件的一种,是一种非易失性(Non-Volatile)内存,即数据不会因掉电而丢失。Flash存储器是电可擦除存储器(EEPROM)的变种,其数据的删除不是以单个字节为单位,而是以固定的区块为单位,区块大小一般为256KB到20MB。Flash与EEPROM不同的是,EEPROM能够在字节水平上进行删除和重写,而不是对区块的擦写。这样闪存较EEPROM有较高的更新速度。

由于闪存在没有电流供应的条件下也能够长久地保持数据,所以闪存通常在计算机中用来保存设置信息,如BIOS。它也是各类便携型数字设备的存储介质的基础。

现在市场上主要的非易失性闪存技术分为两种:NOR和Nand。1.3.1 Flash的制造

为了了解Flash技术特性,首先我们看看Flash是怎么制造的。

1.3.1.1 晶圆的提炼与加工

制造Flash和CPU等处理器制造过程类似,使用的一个重要材料之一就是晶圆,晶圆是硅元素高度纯化(99.999%)的结果,而硅又是由沙子精炼出来的,把精炼出的高纯度硅制成长硅晶棒,然后再经过照相制版、研磨抛光、切片等程序,将多晶硅棒制成单晶硅棒,然后切割成一片一片薄薄的晶圆,切割成晶圆之后使用光刻机和化学溶剂将设计好的电路蚀刻上去,然后用金属材料“镶嵌”制作而成的。这样做出来的是一个布满 Flash 芯片的晶圆。将晶圆切开,然后对切割后的芯片精心挑选测试,封装后就可以出厂了。整个工艺虽然和制造CPU类似,但是电路等方面还是简单不少的。

1.3.1.2 封装方式

芯片封装是指包裹于硅晶外层的物质,目前最常见的封装方式有 BGA、COB、TSOP等,早期的芯片设计以DIP(DualIn line Packaging)、SOJ(Small Outline J-lead),CSP(Chip Scale Package)、QFP(Quad Flat Pockage)的方式封装为主,以下对不同封装方式的介绍能了解它们的不同点,早期的封装方式也很少使用,本节将不再赘述。

1.封装方式一

BGA(Ball Grid Array)球栅阵列封装。

随着集成电路技术的进步、硅单芯片集成度不断提高,芯片的I/O引脚数急剧增加,功耗也随着加大,传统的封装方式已经出现了所谓的“CrossTalk”现象,而且当集成电路的管脚大于208pin时,传统封装已经力不从心。BGA一出现,便成为CPU等高密度、高性能、多引脚封装的最佳选择,BGA封装方式外观如图1-2所示。图1-2 BGA 封装方式

BGA特点如下:

① I/O的引脚数增多,但引脚之间的距离远大于QFP封装方式,提高了成品率。

② 虽然BGP的功耗增加,但由于采用的是可控塌陷芯片法(将芯片待焊区上用蒸发或者溅射等方法形成焊料的凸点连接到相应的基板焊区)焊接,从而可以改善电热性能。

③ 厚度比QFP减少1/2,重量减轻3/4以上。

④ 信号传输延迟小,适应频率大大提高。

2.封装方式二

COB(Chip On Board)工艺,就是将裸芯片用导电或非导电胶黏附在互联基板上然后进行引线键合实现其电气特性,它是指厂商为节省成本,没有采取标准的闪存芯片+控制芯片独立封装的形式,而是将闪存芯片和控制芯片直接连接,封装在一体,并固定于印刷线路板上的生产方式。如图1-3所示。图1-3 COB封装方式

3.封装方式三

TSOP(Thin Small Outline Package)薄型小尺寸封装。

TSOP封装外形尺寸时,寄生参数(电流大幅度变化时,引起的输出电压扰动)减小,适合高频应用,操作比较方便,可靠性比较高。TSOP 封装方式中,内存芯片是通过芯片引脚焊接在PCB板上,焊点和PCB 板接触面积较小,使得芯片向PCB 板传热相对困难。如图1-4所示。图1-4 TSOP封装方式

近年来,随着TSOP封装技术的发展,叠层芯片封装逐渐成为技术发展的主流。叠层芯片封装技术,简称 3D 封装,是指在不改变封装体尺寸的前提下,在同一个封装体内垂直方向叠放两个以上芯片的封装技术,它起源于Flash及SDRAM 的叠层封装。叠层封装符合了封装技术发展趋势:大容量、高密度、多功能、低成本。1.3.2 Flash数据存储简介

1.3.2.1 相关概念

在讲述 Flash 数据存储原理时,要涉及到一些基本概念,为了使读者对相关内容有一个清晰的了解,特阐述如下。

1.势垒

势垒(Potential Energy Barrier)就是势能比附近的势能都高的空间区域,基本上就是极值点附近的一小片区域。

2.隧道效应

由微观粒子波动性所确定的量子效应,又称势垒贯穿。考虑粒子运动遇到一个高于粒子能量的势垒,按照经典力学,粒子是不可能越过势垒的;按照量子力学可以得出除了在势垒处的反射外,还有透过势垒的波函数,这表明在势垒的另一边,粒子具有一定的概率,粒子贯穿势垒。

具体而言,譬如在两层金属导体之间夹一薄绝缘层,按常识会认为,一边金属导体上的电子不可能通过绝缘层到另一边的金属导体上。实验发现,在一定条件下电子可以通过绝缘层,即电子可以穿过绝缘层,这便是隧道效应。

具体到生活中,就好比骑自行车走山路,目的地是山的另一边,如果山坡较陡,蹬车的力度达不到一定值,车肯定过不去,并且被退回来。如果通往山的另一边有一条隧道,那么即使不用那么大的力,也可以到山的另一边,这就是隧道效应。

量子力学则认为,即使粒子能量小于阈值能量,很多粒子冲向势垒,一部分粒子反弹,还会有一些粒子能过去,好像有一个隧道,故名隧道效应(quantum tunneling)。

3.热电子

半导体中的电子可以吸收一定能量(如光子、外电场等)而被激发,处于激发态的电子称为热电子(hot electron),处于激发态的电子可以向较低的能级跃迁。

4.热电子效应

由于在器件尺寸缩小的过程中,电源电压不可能和器件尺寸按同样比例缩小,这样导致MOS器件内部电场增强。当MOS器件沟道中的电场强度超过100kV/cm时,电子在两次散射间获得的能量将可能超过它在散射中失去的能量,从而使一部分电子的能量显著高于热平衡时的平均动能而成为热电子。高能量的热电子将严重影响 MOS 器件和电路的可靠性。热电子效应主要表现在以下三个方面:

① 热电子向栅氧化层中发射;

② 热电子效应引起衬底电流;

③ 热电子效应引起栅电流。

1.3.2.2 Flash数据存储原理

计算机存储器所存放的各类丰富多彩的信息,归根结底不过是一些不同的二进制编码数,是0和1的不同组合。人们常将两种相反的物理现象表示为数据的0和1,如:磁化和未磁化、导通和不导通。场效应管具备导通和不导通两种状态,因此利用场效应管作为存储单元的场效应管阵列可作为存储设备。

Flash技术是采用特殊的浮栅场效应管作为存储单元,如图1-5所示。图1-5 浮栅场效应管

普通的场效应管为三端器件,它的三个极分别为:源极、漏极和栅极。而浮栅场效应管的结构与普通的场效应管有很大区别。它具有两个栅极,一个如普通场效应管栅极一样,用导线引出,称为“控制栅极”,也叫“选择栅”;另一个则处于二氧化硅的包围之中不与任何部分相连,这个不与任何部分相连的栅极称为“浮置栅极”,也简称“浮栅”。在数据存储原理上,Nand Flash和NOR Flash稍有不同,为了使读者对Nand Flash的存储原理有一个清晰的了解,下面对这两种Flash分别介绍如下。

1.NOR Flash存储原理

对NOR Flash而言,在通常情况下,其浮栅不带电荷,则该浮栅场效应管处于不导通状态。浮栅场效应管的漏极电平为高,则表示数据1。

写入数据时,浮栅场效应管的漏极和控制栅极都会加上较高的写入电压,源极则接地。这样大量的电子从源极流向漏极,形成相当大的电流,产生大量热电子,形成热电子效应,由于电子的密度大,有的电子就到达了衬底与浮置栅极之间的二氧化硅层,这是由于控制栅极加有高电压,在电场的作用下,这些电子又通过二氧化硅层到达浮置栅极,并在浮置栅极形成电子团。即使在掉电的情况下,浮置栅极上的电子团,仍然会长期保留,所以信息能够长期保存(通常来说,这个时间可达10年)。由于浮置栅极为负,所以控制栅极为正,在存储器电路中,源极接地,所以相当于场效应管导通,漏极电平为低,即数据0被写入。

擦除时,源极加上较高的编程电压,控制栅极接地,漏极开路。根据隧道效应和量子力学的原理,浮置栅极上的电子将穿过势垒到达源极,浮置栅极上没有电子后,就意味着信息被删除了。

由于热电子的速度快,所以写入时间短,并且数据保存的效果好,但是耗电量比较大。

每个浮栅场效应管为一个独立的存储单元。一组浮栅场效应管的漏极连接在一起组成位线,场效应管的控制栅极连接在一起组成选择线,可以访问每一个存储单元,也就是说可以以字节或字为单位进行寻址,属于并行方式。因此可以实现快速的随机访问,但是这种方式使得存储密度减低,相同容量时,耗费的硅片面积比较大,因而NOR Flash芯片的价格比较高。

2.Nand Flash存储原理

Nand Flash存储原理与NOR Flash稍有不同,写入数据时,它不是利用热电子效应,而是利用了量子的隧道效应。在控制栅极加上较高的写入电压,源极和漏极接地,使电子穿过势垒到达浮置栅极,并聚集在浮置栅极上,存储信息。擦除时仍利用隧道效应,不过是把电压反过来,从而消除浮置栅极上的电子,达到消除信息的结果。

利用隧道效应,编程速度比较慢,数据保存效果差,但是很省电。

一组浮栅场效应管为一个基本的存储单元(通常为8位、16位)。一组浮栅场效应管串行连接在一起,一组场效应管只有一根位线,属于串行方式,随机访问速度比较慢。但是存储密度很高。

特点:读写操作是以页为单位的,擦除是以块为单位的,因此编程和擦除的速度都非常快;数据线和地址线公用,采用串行方式,随机速度慢,不能按字节随机编程。体积小,价格低。芯片内存失效快,需要查错和校验功能。1.3.3 Flash技术特性

由于Flash分为NOR Flash和Nand Flash,其特性有明显差异,所以下文将对它们分别予以阐述。

1.3.3.1 NOR Flash技术特性

NOR Flash是一种常见的存储芯片,其特点是芯片内执行(XIP,Execute In Place),程序和数据可存放在同一个芯片上,这样应用程序可以直接在NOR Flash闪存内运行,不必把代码读到系统RAM中,因此,在嵌入式系统中,NOR Flash很合适作为启动程序的存储介质。NOR Flash的传输速率很高,在1~4MB的小容量时,具有很高的成本效益,其擦写速度很低,擦写次数为十万次。

NOR Flash带有SRAM接口,有足够的、独立的地址线,可以被CPU直接寻址,能够很容易地读取其内部的每一个字节,所以其数据读取速度较快,缺点也是因为引脚数目过多,更改Flash型号需要修改电路设计。

NOR Flash不可以直接进行写操作,对NOR Flash写操作需要遵循特定的命令序列,最终由芯片内部的控制单元完成写操作。从最小的访问单元来看,NOR Flash 一般分为 8位的和16位的,也有很多NOR Flash芯片同时支持8位模式和16位模式,具体的工作模式通过特定的管脚进行选择。

NOR Flash要求在进行擦除前先将目标块内的所有位都写为0,其目标块的大小为64~128KB,执行一个写入/擦除操作的时间约为5s。

NOR Flash闪存容量为1~16MB,主要用于存储代码介质中,并且在NOR Flash上运行代码不需要任何软件支持。

NOR Flash没有本地坏区管理功能,所以一旦存储区块发生损坏,软件和驱动程序必须接手处理这个问题,否则就可能导致设备发生异常。

1.3.3.2 Nand Flash技术特性

Nand Flash的单元尺寸几乎是NOR器件的一半,在可以给定的模具尺寸提供更高的容量,相应地降低了价格。

Nand 闪存的存储单元采用串行结构,其读写的基本单元是页,擦除的基本单元是块(一页包含若干字节,若干页则组成存储块),这种结构最大的优点在于容量可以做得很大,缺点是不可按字节寻址,必须按顺序存取,读取速度略慢。

在Nand闪存中,每个块的最大擦写次数是一百万次。

Nand器件使用复杂的I/O口来串行地存取数据,8个引脚用来传送控制、地址和数据信息,优点是保持统一的接口,随着容量增加,电路不需要修改,缺点则是不能被CPU直接寻址,速度稍慢。

在使用Nand器件时,必须先启动内存技术驱动程序(MTD),才能继续执行其他操作。为了避免向坏块写入数据,在Nand器件上必须进行虚拟映射。1.3.4 NOR Flash与Nand Flash区别

NOR Flash与Nand Flash区别大致有以下几点。

1.接口

NOR Flash 拥有完整的存取-映射访问接口,它拥有专门的地址线和数据线,类似于EPROM,可以很容易地存取其内部的每一个字节。而在 Nand Flash 中,没有专门的地址线,它发送指令,地址和数据都通过8/16位宽的总线(I/O接口)到内部寄存器。

2.速度

读速度:Nand Flash的读速度和NOR Flash的读速度相比较慢,读速度的快慢与Flash接口有关,由于NOR Flash拥有专门的地址线和数据线,数据是并行模式传输;而Nand Flash 没有专门的地址线,其 I/O 接口是处于地址/数据复用状态,信号只能以轮流传送的方式完成读操作;显然,Nand Flash这种串行读取模式要和NOR Flash相比,其读速度要慢得多。

写速度:由于任何 Flash 存储器的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先进行擦除,NOR Flash的擦除要求将目标块内的所有位都写为0,其目标块的大小为64~128KB,执行一个写入/擦除操作的时间为5s;而Nand Flash擦除的块大小为8~32KB,执行相同的操作最多只需要4ms。

Nand Flash存储器有其自身的特点,它只能将存储单元的数据从“1”写为“0”,而不能从“0”写为“1”,若想实现“0”→“1”操作,只能把操作的物理块数据擦除,擦除操作的作用是把操作的物理块的所有比特恢复成1,而擦除操作需要花大量的时间。

3.容量和成本

Nand Flash的单元尺寸约为NOR Flash的一半,如图1-6和图1-7所示,Nand Flash结构可以在给定的模具尺寸内提供更高的容量,从而也相应地降低了价格。图1-6 Nand类型图1-7 NOR类型

4.可靠性

在可靠性方面,Nand Flash和NOR Flash相比,其优势比较明显,原因有三:

● Nand Flash每个存储单元(以块为单位)的可擦写次数远大于NOR Flash,Nand Flash每块的最大擦写次数是一百万次,而NOR Flash每块的最大擦写次数是十万次。

● Nand Flash 可使用 EDC/ECC(错误探测/错误纠正)来纠正比特位的反转问题,虽然比特位的反转问题多见于Nand Flash,但由于Nand Flash可使用这种纠错机制,其可靠性较NOR Flash有所增强。

● Nand Flash具备坏块处理功能,即首先对介质进行初始化扫描,并将扫描中发现的坏块记为不可用。其次建立一个坏块列表,并将坏块列表存放在芯片中的好块上,也可以存储在同一系统中的另外一颗芯片上。而NOR Flash不具备坏块处理功能。

5.访问方法

在访问方法方面和Nand Flash相比,对NOR Flash的访问显得便捷得多,优势比较明显,其原因有三:

● 由于NOR Flash芯片具备内执行(XIP,eXecute In Place)功能,程序和数据可存放在同一个芯片上,这样应用程序可以直接在NOR Flash闪存内运行,不需要任何的软件支持,而在使用Nand Flash时,还须先写入驱动程序,才能继续执行其他操作。

● 由于NOR Flash拥有完备的地址线和数据线,可以像其他存储器那样连接,存取相对便捷,由于对Nand Flash需要I/O接口,其存取要复杂得多。

● 由于Nand Flash具有坏块处理功能,为防止向坏块写入数据,Nand Flash自始至终都必须进行虚拟映射。存取操作相对复杂。第2章 Nand Flash存储器基础知识

自1989年东芝公司发表了Nand Flash结构以来,Nand Flash以其相对于NOR Flash具有更小的体积,更快的写入和擦除速度,更多次的擦除次数,以及更低廉的每比特价格得到了迅速发展。2.1 Nand Flash种类

根据Nand Flash存储数据原理不同,Nand Flash可分为SLC、MLC、TLC、QLC四种,其相关内容如下。2.1.1 SLC、MLC、TLC及QLC的含义

1.SLC

SLC的含义为单阶存储单元(Single-Level Cell,SLC)。也称为单阶存储单元闪存(SLC flash memory),或简称SLC闪存,即每个存储单元内存储1个信息比特。

SLC闪存的优点是传输速度更快,功率消耗更低和存储单元的寿命更长;缺点是每个存储单元包含的信息较少,成本高,SLC闪存技术常用在高性能的存储卡。

2.MLC

MLC的含义为多阶存储单元(Multi-Level Cell,MLC)。可以在每个存储单元内存储2个信息比特,MLC闪存优点是存储密度高,生产成本低。缺点是传输速度慢,功率消耗高和存储单元的寿命低,因此MLC闪存技术会用在标准型的存储卡中。

3.TLC

TLC 即 Triple-Level Cell,三层存储单元,每个存储单元内存储 3 个信息比特,TLC也被某些厂商称作 3-bit MLC,由于采用三层存储,因此可以以较低的成本实现更大的容量,同容量下TLC的die的尺寸比MLC小33%,因此价格也便宜了33%,当然良品率等因素也会对价格产生影响。

由于TLC拥有多达8个电平状态,因此在电位控制上更加复杂,特别是写入速度会大受影响,延迟增加。加之如此多的电平状态,电子一旦溢出,非常容易出错,难以控制,这就是为什么需要更强ECC纠错能力的原因,否则TLC闪存的寿命将会不堪一击。

4.QLC

目前,QLC(Quad-Level Cell)架构以及出现,即每个存储单元内存储4个信息比特,支持 16 充电值,速度最慢寿命最短,目前其技术尚在研发阶段,但是 intel、三星电子等厂商都已经取得了不错的进展。2.1.2 SLC、MLC、TLC及QLC的存储原理

根据前文的内容我们知道,Flash数据存储原理,实际上是通过在浮栅场效应管的浮置栅极中存放电荷的有无来表示数据的0和1的,有电荷表示数据为0,无电荷就是1,这就是所说的Single Layer Cell(SLC)。其实,这时浮置栅极就相当于一个电容器。这样,一个浮栅场效应管仅对应一个数据位,也就是说存储1个字节需要8个场效应管。

1997年9月Intel公司开发出了MLC(Multi-Level Cell),用几个电压比较器来比较浮置栅极上的电压,根据U=Q/C可知,在栅电容一定时,上面的电荷越多电压越高,因此 Intel利用这一点,通过在栅极上存储不同数量的电荷代表数据,最初的MLC有4个电荷状态,分别表示 00、01、10、11,这样相当于两个 bit,也就是 1/4 字节,也就是最初的MLC。

TLC架构在2009年问世,代表1个存储器存储单元可存放3个信息比特,即8个电荷状态,分别表示 000、001、010、011、100、101、110、111,相当于 3bit,这也就是所谓的TLC(Triple-Level Cell)。

QLC是2014年进入人们的视野,代表1个存储器存储单元可存放4个信息比特,即16个电荷状态,分别表示0000、0001、0010、0011、0100、0101、0110、0111、1000、1001、1010、1011、1100、1101、1110、1111。

简单地说,Nand可以看作是由很多很多个电容器组成的集成电路。Nand分为SLC、MLC、TLC、QLC等等。从名字就可以看出区别:SLC是“单层”,MLC是“双层”,TLC是“三层”,QLC是“四层”。事实上可以这样理解:SLC是指分别将电容器的充电状态(有电荷)和放电状态(无电荷)视为0和1;MLC则是电荷全满、电荷2/3、电荷1/3、无电荷这四种状态,定义成00、01、10、11;TLC则是又增加了几个中间值,有000至111这八种定义,而QLC则有0000~1111之间的16种状态。那么SLC的一个Cell(一个“电容器”)只能存储1bit,MLC是2bit,TLC则是3bit,QLC则是4bit。同时也很自然地可以明白,SLC可以很清楚地判断一个cell里面到底是0还是1;但是MLC就不太容易判断了,因为不同量的电荷表示不同的数据,电荷稍有流失就会导致出错;TLC出错的几率更大。所以从稳定性而言,SLC最佳,MLC次之,TLC更差,QLC目前最差。另外这些Cell都是有“惰性”的,连续充电放电若干次之后就无法保存电荷了,造成数据出错。从这个方面而言,SLC也是最耐充放电的,MLC次之,TLC较差、QLC目前最差。所以SLC使用寿命最长,MLC次之,TLC更差、QLC目前最差。就充放电速度而言,SLC最简单,速度也最快;结构越复杂速度也越慢,所以MLC次之,TLC更慢、QLC目前最慢。

不同的电荷数量和不同的数据位相对应,那么就需要对场管的栅极电荷数量的控制要精准,这就需要一个电路去判断各种状态里面电荷量,需要判断的状态越多电路就越复杂,如果给每一个场效应管都做一个判断电路,显然会明显地增加电路的体积和成本,多路公用当然成为商家的必然选择,但写入速度会变慢,尤其是为了精确的控制写入电流和时间(I=Q/t),写入速度更加慢。即使是这样,随着写入次数增加,以及某些场管的浮置栅极特性的逐渐改变,其电荷状态也会有所变化,它所代表的数据位也遭到破坏。对于SLC来讲,坏一位就是坏一个 bit,MLC坏一位就是坏 2个 bit;TLC坏一位就是坏 3个 bit;QLC坏一位就是坏4个bit,其校验方式将变得更复杂。所以,MLC、TLC、QLC的寿命相对变短了。2.1.3 MLC技术的改进

从上述内容我们可以看出,和SLC 相比,MLC 虽然具有存储密度高,生产成本低的优势,但其缺点也非常明显:误码率高、读写机构复杂、读写速度慢、耗电量增大、寿命短。这些问题不克服,MLC的推广使用将会遇到难以逾越的障碍。于是MLC的生产厂商进行针对性的技术研发。

1.采用损耗均衡(Wear Leveling)技术,克服MLC寿命短的问题

所谓的损耗均衡,简单来说,就是用映射的方法,把将要写入的地址映射到写入次数最少的区块上面去,其目的就是尽量让 Flash 芯片上各处的单元擦写次数保持尽量相似。这是因为,每个存储单元的最大读写次数是一定的,如果不使用损耗均衡技术对存储单元的读写操作进行控制,少数单元被频繁读写的情况必然会发生,从而使这些单元读写次数很快达最大值,并遭到损坏。损耗均衡技术的使用,使读写操作被平均分布到了整个MLC存储介质上,MLC Flash芯片的局部老化现象得到了缓解,很大程度上延长了MLC Flash的使用寿命,一定程度上维护了MLC Flash芯片数据安全。

2.采用多通道技术,提高MLC读写速度

MLC另外一个缺点就是明显低下的读写速度。为此,MLC采用了多通道技术。

MLC的多通道技术,就是使多块芯片同时工作,性能加倍。即使同一块芯片内部也可以集成2片晶元(堆叠技术),甚至一片晶元上可以集成2个甚至更多的读写单位同步运作,提升速度。

通过采用多通道技术,MLC芯片的读写速度明显提高,通过测评,一些MLC技术的SD卡的读写速度已经超过了SLC芯片的高速卡。现在,MLC已经不是读写速度低下的代名词。

此外,由于MLC通常需要ECC来保证数据的安全可靠,为此很多MLC芯片通过在其内部建立专门处理ECC的硬件运算单元,从而使其ECC运算速度得到了明显提高,这也是MLC的读写速度提高不可或缺的因素之一。

3.提高制程工艺,逐渐降低功耗

随着MLC Flash的生产工艺不断进步,60nm甚至20nm都进入了实用阶段,制程工艺的进步,使 MLC Flash 功耗得以降低。相对于功耗较大的主控芯片以及需要动态刷新的DRAM芯片,Flash芯片的功耗在随身设备中所占比重已经不大,采用MLC芯片所造成的待机时间的缩短已经达到了难以感知的程度。2.1.4 3D V-Nand技术

TLC、QLC的Nand闪存出现,大大提升了数据存储的密度。也大大降低成本和相关产品价格,这对厂商和用户来讲,都是一个不小的诱惑。但TLC、QLC等传统闪存容量的扩增依赖于在二维平面芯片上安放更多的存储单元。也就是通过缩小Nand cell单元拉近cell 之间、的距离来提高数据的存储密度,这样就造成一个困境:容量要想提高,制程就越先进,可靠性和性能越低。这是因为:在相同的空间内,更多单元做充放电的动作时,电荷之间相互干扰很严重,从而完成数据读写的延时就变大,数据处理时的错误率也较高而芯片的可擦写次数从50nm的1万次降到了34nm的5千次,2Xnm则是3千次,所以TLC、QLC闪存的寿命非常让人担心。

随着3D V-Nand技术的登场,过去一直让人担心的问题就是随着工艺的进步,得到了较好的解决,那3D V-Nand是个什么样的技术呢?形象通俗的解释是这样的:

将CELL(存储单元)比做一户人家,随着工艺的进步,CELL的居住密度越来越大,蜗居之间的公摊面积越来越小,很容易出现纠纷,闹得鸡犬不宁,那么既然传统的平房无法解决CELL之间公摊面积太小的问题,何不兴建高楼大厦呢?其3D V-Nand技术中的3 D是指立体存储,V指的是垂直存储。3D V-Nand不再贸然使用新工艺来缩小CELL单元,而是选择了堆叠更多层数,这就和高楼大厦一个道理,可以居住更多户人家,而且可以保证足够的公摊面积。所以可以说这个技术破解了传统闪存存储技术的弊端。

现在垂直堆叠结构的3D V-Nand Flash比重正迅速扩大,据估计2016年3D V-Nand市场规模已扩大了10倍,而除目前独占市场的三星电子外,也将有更多半导体厂加速生产V-Nand。在业界,根据在垂直方向堆叠的颗粒层数不同,和选用的颗粒种类不同,3D V-Nand颗粒又可以分为32层、48层甚至64层、72层。2.2 Nand Flash逻辑结构

数据在 Nand 中不能没有组织,否则无论什么设备都不能识别这些数据究竟表达什么意思。那么Nand Flash芯片中,数据是怎么组织的呢?通常情况下,一片Nand Flash芯片可分为1或2个Dump,一个Dump可分为若干个Block(块)(以扇区为单位),一个Block又可分为若干个Page(页),Page类似于机械硬盘的扇区,机械硬盘上的文件必须占用整数个扇区;Nand Flash也类似,任何文件占用的空间必须是整数个Page。也就是说Nand Flash存储设备的最小的文件存储单位是Page(页),这个与文件系统无关,属于硬件层面。

Page上面的一层组织是Block。如图2-1所示,通常情况下,每一个块由16,32、64、128、256 个 Page(页)组成,Page 的大小并不一致,但是也只有两种:4KB 或者 8KB (1KB=1024字节)。Page(页)由若干个Data area(数据区域)和若干个Service area(服务区域)组成,数据区为512Byte,服务区字节数量不定,需要由Page页计算,如16、23、24……图2-1 Nand Flash芯片的逻辑结构

其中,Page(页)结构有以下三种形式,如图2-2所示。图2-2 页结构2.3 Nand Flash操作特点

Nand Flash可支持的操作类型有三种:读操作、写操作和擦除操作。其特点表现如下:

● 读操作和写操作的基本单位是Page(页);

● 擦除操作的基本单位是Block(块);

● 写操作只能在尚未写入的Flash空闲页上进行,其操作顺序只能是从低地址页到高地址页。

● 若对已经写过的页进行写操作,须先对该页所在的整个物理块进行擦除操作,然后才能进行正确的写操作,在擦除过程中,为了避免其他页数据的丢失,就得先把这些页中的数据暂存到其他地方备份起来,再和新数据一起重新写回到该块中,整个过程比较复杂,而且会造成速度的严重降低。

● Flash 在使用过程中,难免会产生坏块,导致某些地址空间不可用,而且随着使用的时间延长,还会出现新的坏块。

用一张图来说明Nand的擦除操作特点,如图2-3所示,图中的这个Nand的Block由256个Page组成,所以一个Block是1024KB:图2-3 Nand的擦除操作

Nand 有个特性:你要读取 Nand 中的信息,那么速度会很快;但是如果你要给 Nand写入信息,尤其是 Nand 原有的信息需要覆盖的时候,速度会非常非常慢。但是无论是读还是写,操作系统本身甚至于计算机本身都是无法控制Nand芯片的。操作Nand芯片需要借助于主控制器芯片。主控芯片也是影响SSD性能的最重要因素之一。第3章 Flash存储卡基础知识

Flash存储卡,是一种利用Flash技术用于存储电子信息的存储器,由于以卡片的形态存在,故统称为“存储卡”,又称为“数码存储卡”、“数字存储卡”等。它是手机、数码相机、便携式电脑、MP3和其他数码产品上的独立存储介质。存储卡具有体积小巧、功耗低、速度快、无噪声、无机械部件抗震性能强等优点。同时,由于大多数存储卡都具有良好的兼容性,便于在不同的数码产品之间交换数据。近年来,随着数码产品的不断发展,存储卡的存储容量不断得到提升,应用也快速普及。3.1 Flash存储卡综述

存储卡是一种采用闪存(flash)技术的固态产品,也就是工作时没有机械运动部件,也不需要电池来维持其中存储的数据,它是一种稳定的存储解决方案。对所保存的数据来说,存储卡比传统的磁盘驱动器安全性要高;比传统的磁盘驱动器的可靠性高5到10倍,而且存储卡的用电量仅为小型磁盘驱动器的 5%左右。存储卡工作时一般采用逻辑寻址方式,它没有磁头和磁道的转换操作,因此在访问连续扇区时,操作速度比磁盘的物理寻址方式速度快。

1.存储卡的发展现状

眼花缭乱、种类繁多的的存储卡经过多年市场大潮的自然选择,发展趋势已明朗化:过去常见的SM(Smart Media)卡、CF TYPE II型卡、CFⅡ规格的微型硬盘(Micro Drive)、索尼记忆棒长棒(Memory Stick)早已彻底淘汰;目前还存在的XD卡(eXtreme Digital)和索尼Memory Stick Duo、Memory Stick Duo PRO短记忆棒等,也仅仅是奥林巴斯和索尼两家仍在使用,前者的同盟军富士已经

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载