固态硬盘SSD与闪存(Flash Memory)

转自:http://qiaodahai.com/solid-state-drives-ssd-and-flash-memory.html

固态硬盘SSD(Solid State Drive)泛指使用NAND Flash组成的固态硬盘,其特别之处在于没有机械结构,利用传统的NAND Flash特性,以区块写入和抹除的方式作读写的功能,因此在读写的效率上,非常依赖读写技术上的设计,与目前的传统硬盘相较,具有低耗电、耐震、稳定性高、耐低温等优点。
世界上第一款固态硬盘出现于1989年,不过由于其价格过于高昂因此在当时只限应用于非常特别的市场比如医疗、工作以及军用市场。实际上虽然当时其1M大小的闪存换算下来的价格已经达到了3500美元,但是其性能却要远低于当时的普通硬盘产品,不过凭借其独有的特性却使得闪存硬盘在军用、航空以及医疗领域获得了长足的发展。
相比而言,固态硬盘首先功耗很低,发热量小,工作噪音低。而现在随着控制器以及闪存发展的不断成熟在一些特别的应用领域其性能已经接近甚至超过了普通硬盘。 之后,随着三星、SONY等一大批国外实力厂家的不断开发研究,SSD市场已经全面开花了。
每一个新生事物的出现总会遇到价格偏高的问题,SSD也因其研发成本、技术含量等问题,价格相对于其他存储设备来说要高,但其优势也还是非常明显的。

固态硬盘的优点
固态硬盘与普通硬盘比较,拥有以下优点:
1. 启动快,没有电机加速旋转的过程。
2. 不用磁头,快速随机读取,读延迟极小。根据相关测试:两台电脑在同样配置的电脑下,搭载固态硬盘的笔记本从开机到出现桌面一共只用了18秒,而搭载传统硬盘的笔记本总共用了31秒,两者几乎有将近一半的差距。
3. 相对固定的读取时间。由于寻址时间与数据存储位置无关,因此磁盘碎片不会影响读取时间。
4. 基于DRAM的固态硬盘写入速度极快。
5. 无噪音。因为没有机械马达和风扇,工作时噪音值为0分贝。某些高端或大容量产品装有风扇,因此仍会产生噪音。
6. 低容量的基于闪存的固态硬盘在工作状态下能耗和发热量较低,但高端或大容量产品能耗会较高。
7. 内部不存在任何机械活动部件,不会发生机械故障,也不怕碰撞、冲击、振动。这样即使在高速移动甚至伴随翻转倾斜的情况下也不会影响到正常使用,而且在笔记本电脑发生意外掉落或与硬物碰撞时能够将数据丢失的可能性降到最小。
8. 工作温度范围更大。典型的硬盘驱动器只能在5到55℃范围内工作。而大多数固态硬盘可在-10~70℃工作,一些工业级的固态硬盘还可在-40~85℃,甚至更大的温度范围下工作。
9. 低容量的固态硬盘比同容量硬盘体积小、重量轻。但这一优势随容量增大而逐渐减弱。直至256GB,固态硬盘仍比相同容量的普通硬盘轻。
固态存储技术(简称为SSD),一般可以分为二种,一种是基于闪存的SSD,采用FLASH MEMORY 作为存储介质,这也是我们通常比较常见的SSD,象我们经常使用的U盘,数码相机等一些电子存储器及另外一些ATA、SCSI、FC接口的Flash Disk,统称为闪存盘;SSD的另一种是DDRRAM Base SSD,采用DDRRAM作为存储介质、仿效传统磁盘驱动器的设计、可被各种操作系统的文件系统工具进行卷设置和管理,并提供工业标准的PCI和FC接口用于连接主机/服务器或存储网络的存储设备,可分为SSD驱动器和SSD盘阵列二大块,是一种真正高性能的存储,而且它的使用寿命非常长,几乎包含所有闪存盘所拥有的优点或它所欠缺的部分,美中不足的它却需要电源保护数据安全。
基于FLASH 的SSD最大的优点就是可以移动,而且数据保护不受电源控制,能适应于各种环境,但是使用年限不高。所以闪存盘的容量一般都非常小,上G的已经算大了,目前最大的有64G的Flash Disk。适合于个人PC用户使用,但应用到企业的存储系统就无能为力了。采用FLASH内存的SSD具备相当高的数据安全性,并且在噪音、便携性等方面都有硬盘所无法媲美的优势,在航空航天、军事、金融、电信、电子商务等部门中都有广泛的使用。
而DDRRAM Base SSD相对普通HDD硬盘的最显著优势就是速度,例如一个每分钟15000转的硬盘转一圈需要200毫秒的时间,而在SSD上由于是数据是存放在半导体内存上,能够在低于一毫秒的时间内对任意位置的存储单元完成I/O(输入/输出)操作,因此在对许多应用程序来说最为关键的I/O性能指标——IOPs(即每秒多少次IO动作)上,SSD可以达到硬盘的50~800倍。

【闪存的概念】
闪存(Flash Memory)是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位(注意:NOR Flash 为字节存储。),区块大小一般为256KB到20MB。闪存是电子可擦除只读存储器(EEPROM)的变种,EEPROM与闪存不同的是,它能在字节水平上进行删除和重写而不是整个芯片擦写,这样闪存就比EEPROM的更新速度快。由于其断电时仍能保存数据,闪存通常被用来保存设置信息,如在电脑的BIOS(基本输入输出程序)、PDA(个人数字助理)、数码相机中保存资料等。另一方面,闪存不像RAM(随机存取存储器)一样以字节为单位改写数据,因此不能取代RAM。
闪存卡(Flash Card)是利用闪存(Flash Memory)技术达到存储电子信息的存储器,一般应用在数码相机,掌上电脑,MP3等小型数码产品中作为存储介质,所以样子小巧,有如一张卡片,所以称之为闪存卡。根据不同的生产厂商和不同的应用,闪存卡大概有SmartMedia(SM卡)、Compact Flash(CF卡)、 MultiMediaCard(MMC卡)、Secure Digital(SD卡)、Memory Stick(记忆棒)、 XD-Picture Card(XD卡)和微硬盘(MICRODRIVE)这些闪存卡虽然外观、规格不同,但是技术原理都是相同的。

【技术及特点】
NOR型与NAND型闪存的区别很大,打个比方说,NOR型闪存更像内存,有独立的地址线和数据线,但价格比较贵,容量比较小;而NAND型更像硬盘,地址线和数据线是共用的I/O线,类似硬盘的所有信息都通过一条硬盘线传送一般,而且NAND型与NOR型闪存相比,成本要低一些,而容量大得多。因此,NOR型闪存比较适合频繁随机读写的场合,通常用于存储程序代码并直接在闪存内运行,手机就是使用NOR型闪存的大户,所以手机的“内存”容量通常不大;NAND型闪存主要用来存储资料,我们常用的闪存产品,如闪存盘、数码存储卡都是用NAND型闪存。

这里我们还需要端正一个概念,那就是闪存的速度其实很有限,它本身操作速度、频率就比内存低得多,而且NAND型闪存类似硬盘的操作方式效率也比内存的直接访问方式慢得多。因此,不要以为闪存盘的性能瓶颈是在接口,甚至想当然地认为闪存盘采用 USB2.0接口之后会获得巨大的性能提升。
前面提到NAND型闪存的操作方式效率低,这和它的架构设计和接口设计有关,它操作起来确实挺像硬盘(其实NAND型闪存在设计之初确实考虑了与硬盘的兼容性),它的性能特点也很像硬盘:小数据块操作速度很慢,而大数据块速度就很快,这种差异远比其他存储介质大的多。这种性能特点非常值得我们留意。
闪存存取比较快速,无噪音,散热小。你买的话其实可以不考虑那么多,同样存储空间买闪存。如果硬盘空间大就买硬盘,也可以满足你应用的需求。

【闪存的分类】
·目前市场上常见的存储按种类可分:
U盘
CF卡
SM卡
SD/MMC卡
记忆棒
XD卡
MS卡
TF卡
国内市场常见的品牌有:
金士顿、索尼、晟碟、Kingmax、创见、威刚,联想、台电等。
【NAND型闪存】
内存和NOR型闪存的基本存储单元是bit,用户可以随机访问任何一个bit的信息。而NAND型闪存的基本存储单元是页(Page)(可以看到,NAND型闪存的页就类似硬盘的扇区,硬盘的一个扇区也为512字节)。每一页的有效容量是512字节的倍数。所谓的有效容量是指用于数据存储的部分,实际上还要加上16字节的校验信息,因此我们可以在闪存厂商的技术资料当中看到“(512+16)Byte”的表示方式。目前2Gb以下容量的NAND型闪存绝大多数是(512+16)字节的页面容量,2Gb以上容量的 NAND型闪存则将页容量扩大到(2048+64)字节。
NAND型闪存以块为单位进行擦除操作。闪存的写入操作必须在空白区域进行,如果目标区域已经有数据,必须先擦除后写入,因此擦除操作是闪存的基本操作。一般每个块包含32个512字节的页,容量16KB;而大容量闪存采用2KB页时,则每个块包含64个页,容量128KB。
每颗NAND型闪存的I/O接口一般是8条,每条数据线每次传输(512+16)bit信息,8条就是(512+16)×8bit,也就是前面说的512字节。但较大容量的NAND型闪存也越来越多地采用16条I/O线的设计,如三星编号 K9K1G16U0A的芯片就是64M×16bit的NAND型闪存,容量1Gb,基本数据单位是(256+8)×16bit,还是512字节。
寻址时,NAND型闪存通过8条I/O接口数据线传输地址信息包,每包传送8位地址信息。由于闪存芯片容量比较大,一组8位地址只够寻址256个页,显然是不够的,因此通常一次地址传送需要分若干组,占用若干个时钟周期。NAND的地址信息包括列地址(页面中的起始操作地址)、块地址和相应的页面地址,传送时分别分组,至少需要三次,占用三个周期。随着容量的增大,地址信息会更多,需要占用更多的时钟周期传输,因此NAND型闪存的一个重要特点就是容量越大,寻址时间越长。而且,由于传送地址周期比其他存储介质长,因此NAND型闪存比其他存储介质更不适合大量的小容量读写请求。

决定NAND型闪存的因素有哪些?
1.页数量
前面已经提到,越大容量闪存的页越多、页越大,寻址时间越长。但这个时间的延长不是线性关系,而是一个一个的台阶变化的。譬如128、256Mb的芯片需要3个周期传送地址信号,512Mb、1Gb的需要4个周期,而2、4Gb的需要5个周期。
2.页容量
每一页的容量决定了一次可以传输的数据量,因此大容量的页有更好的性能。前面提到大容量闪存(4Gb)提高了页的容量,从512字节提高到2KB。页容量的提高不但易于提高容量,更可以提高传输性能。我们可以举例子说明。以三星K9K1G08U0M和K9K4G08U0M为例,前者为1Gb,512字节页容量,随机读(稳定)时间 12μs,写时间为200μs;后者为4Gb,2KB页容量,随机读(稳定)时间25μs,写时间为300μs。假设它们工作在20MHz。
读取性能:NAND型闪存的读取步骤分为:发送命令和寻址信息→将数据传向页面寄存器(随机读稳定时间)→数据传出(每周期8bit,需要传送512+16或2K+64次)。
K9K1G08U0M读一个页需要:5个命令、寻址周期×50ns+12μs+ (512+16)×50ns=38.7μs;K9K1G08U0M实际读传输率:512字节÷38.7μs=13.2MB/s;K9K4G08U0M读一个页需要:6个命令、寻址周期×50ns+25μs+(2K+64)×50ns=131.1μs;K9K4G08U0M实际读传输率:2KB字节÷131.1μs=15.6MB/s。因此,采用2KB页容量比512字节也容量约提高读性能20%。
写入性能:NAND型闪存的写步骤分为:发送寻址信息→将数据传向页面寄存器→ 发送命令信息→数据从寄存器写入页面。其中命令周期也是一个,我们下面将其和寻址周期合并,但这两个部分并非连续的。
K9K1G08U0M写一个页需要:5个命令、寻址周期×50ns+ (512+16)×50ns+200μs=226.7μs。K9K1G08U0M实际写传输率:512字节÷226.7μs=2.2MB/s。 K9K4G08U0M写一个页需要:6个命令、寻址周期×50ns+(2K+64)×50ns+300μs=405.9μs。K9K4G08U0M实际写传输率:2112字节/405.9μs=5MB/s。因此,采用2KB页容量比512字节页容量提高写性能两倍以上。
3.块容量
块是擦除操作的基本单位,由于每个块的擦除时间几乎相同(擦除操作一般需要2ms,而之前若干周期的命令和地址信息占用的时间可以忽略不计),块的容量将直接决定擦除性能。大容量NAND型闪存的页容量提高,而每个块的页数量也有所提高,一般 4Gb芯片的块容量为2KB×64个页=128KB,1Gb芯片的为512字节×32个页=16KB。可以看出,在相同时间之内,前者的擦速度为后者8 倍!
4.I/O位宽
以往NAND型闪存的数据线一般为8条,不过从256Mb产品开始,就有16条数据线的产品出现了。但由于控制器等方面的原因,x16芯片实际应用的相对比较少,但将来数量上还是会呈上升趋势的。虽然x16的芯片在传送数据和地址信息时仍采用8位一组,占用的周期也不变,但传送数据时就以16位为一组,带宽增加一倍。K9K4G16U0M就是典型的64M×16芯片,它每页仍为2KB,但结构为(1K+32)×16bit。
模仿上面的计算,我们得到如下。K9K4G16U0M读一个页需要:6个命令、寻址周期 ×50ns+25μs+(1K+32)×50ns=78.1μs。K9K4G16U0M实际读传输率:2KB字节÷78.1μs=26.2MB/s。 K9K4G16U0M写一个页需要:6个命令、寻址周期×50ns+(1K+32)×50ns+300μs=353.1μs。K9K4G16U0M实际写传输率:2KB字节÷353.1μs=5.8MB/s
可以看到,相同容量的芯片,将数据线增加到16条后,读性能提高近70%,写性能也提高 16%。
5.频率
工作频率的影响很容易理解。NAND型闪存的工作频率在20~33MHz,频率越高性能越好。前面以K9K4G08U0M为例时,我们假设频率为20MHz,如果我们将频率提高一倍,达到40MHz,则K9K4G08U0M读一个页需要:6个命令、寻址周期×25ns+25μs+(2K+64)×25ns=78μs。K9K4G08U0M实际读传输率:2KB字节÷78μs=26.3MB/s。可以看到,如果K9K4G08U0M的工作频率从20MHz提高到40MHz,读性能可以提高近70%!当然,上面的例子只是为了方便计算而已。在三星实际的产品线中,可工作在较高频率下的应是K9XXG08UXM,而不是K9XXG08U0M,前者的频率目前可达33MHz。
6.制造工艺
制造工艺可以影响晶体管的密度,也对一些操作的时间有影响。譬如前面提到的写稳定和读稳定时间,它们在我们的计算当中占去了时间的重要部分,尤其是写入时。如果能够降低这些时间,就可以进一步提高性能。90nm的制造工艺能够改进性能吗?答案恐怕是否!目前的实际情况是,随着存储密度的提高,需要的读、写稳定时间是呈现上升趋势的。前面的计算所举的例子中就体现了这种趋势,否则4Gb芯片的性能提升更加明显。
综合来看,大容量的NAND型闪存芯片虽然寻址、操作时间会略长,但随着页容量的提高,有效传输率还是会大一些,大容量的芯片符合市场对容量、成本和性能的需求趋势。而增加数据线和提高频率,则是提高性能的最有效途径,但由于命令、地址信息占用操作周期,以及一些固定操作时间(如信号稳定时间等)等工艺、物理因素的影响,它们不会带来同比的性能提升。
1Page=(2K+64)Bytes;1Block=(2K+64)B×64Pages= (128K+4K)Bytes;1Device=(2K+64)B×64Pages×4096Blocks=4224Mbits
其中:A0~11对页内进行寻址,可以被理解为“列地址”。
A12~29对页进行寻址,可以被理解为“行地址”。为了方便,“列地址”和“行地址”分为两组传输,而不是将它们直接组合起来一个大组。因此每组在最后一个周期会有若干数据线无信息传输。没有利用的数据线保持低电平。NAND型闪存所谓的“行地址”和“列地址”不是我们在DRAM、SRAM中所熟悉的定义,只是一种相对方便的表达方式而已。为了便于理解,我们可以将上面三维的NAND型闪存芯片架构图在垂直方向做一个剖面,在这个剖面中套用二维的“行”、“列”概念就比较直观了。

【闪存发展过程】
·闪存的发展历史
在1984年,东芝公司的发明人Fujio Masuoka 首先提出了快速闪存存储器(此处简称闪存)的概念。与传统电脑内存不同,闪存的特点是非易失性(也就是所存储的数据在主机掉电後不会丢失),其记录速度也非常快。
Intel是世界上第一个生产闪存并将其投放市场的公司。1988年,公司推出了一款256K bit闪存芯片。它如同鞋盒一样大小,并被内嵌于一个录音机里。後来,Intel发明的这类闪存被统称为NOR闪存。它结合EPROM(可擦除可编程只读存储器)和EEPROM(电可擦除可编程只读存储器)两项技术,并拥有一个SRAM接口。
第二种闪存称为NAND闪存。它由日立公司于1989年研制,并被认为是NOR闪存的理想替代者。NAND闪存的写周期比NOR闪存短90%,它的保存与删除处理的速度也相对较快。NAND的存储单元只有NOR的一半,在更小的存储空间中NAND 获得了更好的性能。鉴于NAND出色的表现,它常常被应用于诸如CompactFlash、SmartMedia、 SD、 MMC、 xD、 and PC cards、USB sticks等存储卡上。
·闪存的市场现状分析
目前的闪存市场仍属于群雄争霸的末成熟时期。三星、日立、Spansion和Intel是这个市场的四大生产商。
由于战略上的一些错误,Intel在第一次让出了它的榜首座椅,下落至三星、日立和 Spansion之後。
AMD闪存业务部门Spansion同时生产NAND和NOR闪存。它上半年的NOR闪存产量几乎与Intel持平,成为NOR闪存的最大制造商。该公司在上半年赢利为13亿美元,几乎是它整个公司利润额(25亿美元)的一半以上。
总体而言,Intel和AMD在上半年成绩喜人,但三星和日立却遭受挫折。
据市场调研公司iSuppli所做的估计,今年全球的闪存收益将达到166亿美元,比2003 年(116.4亿美元)上涨46%。消息者对数码相机、USB sticks和压缩式MP3播放器内存的需求将极大推动闪存的销售。据预测,2005年闪存的销售额将达到175亿美元。不过,iSuppli估计,2005年至2008年闪存的利润增涨将有所回落,最高将达224亿美元。

·新的替代品是否可能?
与许多寿命短小的信息技术相比,闪存以其16年的发展历程,充分显示了其“老前辈”的作风。九十年代初,闪存才初入市场;至2000年,利益额已突破十亿美元。
尽管对闪存替代品的讨论越来越激励,闪存仍然受到市场的重视。未来的替代品不仅必须是类似闪存一样的非易失性存储器,而且在速度和写周期上略胜一筹。此外,生产成本也应该相对低廉。由于现在制造技术还不成熟,新的替代品不会对闪存构成绝对的威胁。下面就让我们来认识一下几种能的替代产品:
·Nanocrystals(纳米晶体)
摩托罗拉的半导体部门Freescale正在研制一种增加闪存生命周期的产品。这种产品以硅纳米晶体(Silicon Nanocrystals)为介质,用硅原子栅格代替了半导体内部的固态层。纳米晶体不是一个全新的存储技术。它只是对闪存的一种改进,使它更易扩展。它的生产成本可以比原来低大约10-15%,生产过程更加简单。它的性能与可靠性都能够与目前的闪存相媲美。
摩托罗拉花了十年时间研发这种技术,并打算大规模生产此类产品。去年六月,该公司已经成功地使用此技术推出了一款此类芯片。硅纳米晶体芯片预计会在2006年全面投放市场。
·MRAM(Magnetic RAM磁荷随机存储器)
MRAM磁荷随机存储器是由英飞凌与Freescale两家公司研发的一种利用磁荷来储存数据的存介质。MRAM的写次数很高,访问速度也比闪存大大增强。根据计算,写MRAM芯片上1bit的时间要比写闪存的时间短一百万倍。
·磁荷随机存储器
两家公司都认为,MRAM不仅将是闪存的理想替代品,也是DRAM与SRAM的强有力竞争者。今年六月,英飞凌已将自己的第一款产品投放市场。与此同时,Freescale也正在加紧研发,力争在明年推出4M bit芯片。
但是,一些评论者担心MRAM是否能达到闪存存储单元的尺寸。另外,MRAM的生产成本也是个不小的问题。
·OUM(Ovonic Unified Memory Ovonyx标准化内存)
OUM是由Intel研发的,利用Ge、Sb与Te等化合物为材料制成的薄膜。 OUM。OUM的写、删除和读的功能与CD-RW与DVD-RW相似。但CD/DVD使用激光来加热和改变称为硫系化合物(chalcogenides) 的材料;而OUM则通过电晶体控制电源,使其产生相变方式来储存资料。
OUM的擦写次数为10的12次方,100次数据访问时间平均为200纳秒。OUM的速度比闪存要快。尽管OUM比MRAM的数据访问时间要慢,但是低廉的成本却是OUM的致胜法宝。
与MRAM不同,OUM的发展仍处于初期。尽管已制成测试芯片,它们仅仅能用来确认概念而不是说明该技术的可行性。Intel在过去四年一直致力于OUM的研发,并正在努力扩大该市场。
闪存在使用过程中的一些问题

1、闪存可擦写多少次?闪存里的数据能保存多久?
闪存可擦写1,000,000次,闪存里数据可保存10年
2、一台电脑可同时接几个闪存?
理论上一台电脑可同时接127个闪存,但由于驱动器英文字母的排序原因, 以及现有的驱动器需占用几个英文字母,故闪存盘最多只可以接23个(除开 A、B、C), 且需要USB HUB的协助。

总结
除了上文提到的MRAM和OUM,其它可替代的产品还有MRAM (FeRAM)、 Polymer memory (PFRAM)、 PCRAM、 Conductive Bridge RAM (CBRAM)、 Organic RAM (ORAM)以及最近的Nanotube RAM (NRAM)。目前替代闪存的产品有许多,但是哪条路能够成功,以及何时成功仍然值得怀疑。

上一篇:Java获取系统时间的四种方法


下一篇:ROM, RAM, Flash Memory