本文整理自网络:
1、简介 固态硬盘(Solid State Disk、IDE FLASH DISK、Serial ATA Flash Disk)是由控制单元和存储单元(FLASH芯片)组成,简单的说就是用固态电子存储芯片阵列而制成的硬盘(目前最大容量为416GB)。固态硬盘的接口规范和定义、功能及使用方法上与普通硬盘的完全相同,.在产品外形和尺寸上也完全与普通硬盘一致,包括3.5",2.5",1.8"多种类型。由于固态硬盘没有普通硬盘的旋转介质,因而抗震性极佳,同时工作温度很宽,扩展温度的电子硬盘可工作在-45℃~+85℃。广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空等、导航设备等领域。 通俗点讲:目前的硬盘(ATA 或 SATA)都是磁碟型的,数据就储存在磁碟扇区里。而固态硬盘是使用闪存颗粒(flash disk)(即目前mp3、U盘等存储介质)制作而成,因而其外观和传统硬盘有很大区别。固态硬盘是未来硬盘发展的趋势。目前,三星等厂商已经发布过多款固态硬盘,其中宇瞻公司最新发布的新产品,使用单一控制芯片开发的高速SATA固态硬盘,其连续存取速度最高达200MB/sec,容量可达128GB,相较于目前市面上连续存取速度约50~60MB/sec的SATA接口的SSD,Apacer目前可是足足快了2~3倍!不过目前固态硬盘价格还高高在上,尚未普及到DIY市场。 分类 1.基于闪存的SSD,采用FLASH芯片作为存储介质,这也是我们通常所说的SSD。它的外观可以被制作成多种模样,例如:笔记本硬盘、微硬盘、存储卡、优盘等样式。这种SSD固态硬盘最大的优点就是可以移动,而且数据保护不受电源控制,能适应于各种环境,但是使用年限不高,适合于个人用户使用。在基于闪存的固态硬盘中,存储单元的不同,又分为两类:SLC(Single Layer Cell 单层单元)和MLC(Multi-Level Cell多层单元)。SLC的缺点是成本高、容量小、速度快,而MLC的特点是容量大成本低,但是速度慢。MLC的每个单元是2bit的,相对SLC来说整整多了一倍。不过,由于每个MLC存储单元中存放的资料较多,结构相对复杂,出错的几率会增加,必须进行错误修正,这个动作导致其性能大幅落后于结构简单的SLC闪存。此外,SLC闪存的优点是复写次数高达100000次,比MLC闪存高10倍。此外,为了保证MLC的寿命,控制芯片都校验和智能磨损平衡技术算法,使得每个存储单元的写入次数可以平均分摊,达到100万小时故障间隔时间(MTBF)。
2.基于DRAM的SSD:采用DRAM作为存储介质,目前应用范围较窄。它仿效传统硬盘的设计、可被绝大部分操作系统的文件系统工具进行卷设置和管理,并提供工业标准的PCI和FC接口用于连接主机或者服务器。应用方式可分为SSD硬盘和SSD硬盘阵列两种。它是一种高性能的存储器,而且使用寿命很长,美中不足的是需要独立电源来保护数据安全。
SSD固态存储器的不足 鱼和熊掌不能兼得,固态存储器不足之处在于数据的可恢复性,一旦在硬件上发生损坏,如果是传统的磁盘或者磁带存储方式,通过数据恢复也许还能挽救一部分数据。但是如果是固态存储,一但芯片发生损坏,要想在碎成几瓣或者被电流击穿的芯片中找回数据那几乎就是不可能的。当然这种不足也是可以牺牲存储空间来弥补的,主要用RAID 1来实现的备份,和传统的存储的备份原理相同。由于目前SSD的成本较高,采用这种方式备份还是价格不菲。 转自
如果你对SSD存储还不够了解的话,那SSD的诸多术语会让你不知所措。 下面就SSD高频术语分别进行详细解释,也许有些你已经知道,可能有些你还不明白,但对于更多地了解SSD异常关键。 1.SSD超额配置 顾名思义,超额配置就是闪存固态存储容量超额。实际上超额的存储容量并没有占用主机可用的存储空间。SSD超额配置有很大优势,它可以通过对大量NAND数据块超时写入和擦除总数据量进行分配,以提高耐用性。 2.PCIe固态存储 PCIe是直接在服务器上安装的高速扩展卡。由于其直接连接,所有基于PCIe的固态存储的性能要高于基于服务器的SATA、SAS和光纤通道(FC)固态存储器。它是有频繁读写要求的应用的最佳选择,诸如在线事务处理和数据仓库。 3.Tier 0存储层 作为目前速度最快、成本最高的存储层,Tier 0可以视为有快速访问应用需求的企业的理想选择。同时,它的出现也改变了存储层格局。在Tier 0存储层中采用固态存储技术,实现了从仅仅把不常用数据移动到低速、低成本的存储层,到把常用数据移动到高速、高成本的存储层的转变。 4.阻变式存储器(RRAM) 阻变式存储器(RRAM)是以非导性材料的电阻在外加电场作用下,在高阻态和低阻态之间实现可逆转换为基础的非易失性存储器。作为阻变式存储器芯片一个重要的电子元件,忆阻器(memristor)的电阻会随外加电压的高低而改变。相比其它非易失性存储技术,RRAM是高速存储器。工程师在对忆阻器(memristor)技术进行潜心研发的道路上遇到的拦路虎,恰恰是阻变式存储器(RRAM)的潜路通。 5.IOPS(每秒进行读写操作的次数) IOPS(每秒进行读写操作的次数) 是单位时间内对非连续存储空间进行读写操作的请求数量。 6.固态存储的擦除周期(P/E cycle) 固态存储的擦除周期(P/E cycle)是指从写入数据到固态NAND闪存,然后在写入新的数据前擦除所经过的时间。闪存的使用寿命是以擦除周期来衡量的。闪存的擦除次数是有限的,因为每个擦除周期介质都会不同程度的磨损。随着磨损的不断加剧,最终导致闪存寿终正寝。由于供应商采用的技术不同,闪存的磨损和擦除周期也不尽相同。 7.TRIM指令 TRIM是告诉NAND闪存固态存储设备要擦除哪些数据的SATA接口指令。当相关页面的数据可以被覆盖时,操作系统会发给SSD一个TRIM指令。SSD控制器等到主机开始删除和再次写入操作的时候,执行安全擦除操作。因为在写入操作过程中不用花时间去擦除原本的数据,写入速度要快得多。 8.混合式硬盘 混合式硬盘是加入NAND闪存的机械硬盘。其中NAND闪存作为非易失性缓存,可以实现更快的数据访问。 9.多层单元(MLC) 多层单元(MLC)闪存是在每个单元可以存储两位数据。相比于单层单元(SLC)闪存,其成本要低,这使得它是消费级固态存储的可取选择。MLC的缺点是比特误差率比SLC要高,那是因为它误读单元状态的机率大。 10.Flash控制器 Flash控制器在闪存中可以实现与主机的通信和管理文档目录工作。不仅如此,它还可以实现数据存储和存储器使用的耗损均衡、数据纠错和垃圾回收
NOR和NAND 非易失性闪存技术对比:
NOR Flash 生产厂商有 Intel和ST, Nand Flash厂商有Hynix,micon,Samsung,Toshiba和Fujitsu等。
2006年NAND将占据59%的闪存市场份额,NOR的市场份额将下降到41%。而到2009年时,NAND的市场份额将上升到65%,NOR的市场份额将进一步下滑到35%。Nand 主要应用:Compacflash,Secure Digi-tal,Smartmedia,SD,MMC,Xd,PC Card,USB Sticks等。
NOR的传输效率很高,在小容量时具有很高的成本效益,更加安全,不容易出现数据故障,因此,主要应用以代码存储为主,多与运算相关。 目前,NAND闪存主要用在数码相机闪存卡和MP3播放机中,这两个市场的增长非常迅速。而NOR芯片主要用在手机和机顶盒中,这两个市场的增长速度相对较慢。下面是一个关于NAND闪盘的原理图。从下图我们可以看到,每一个“单元”就是由一个这样的晶体管组成的:
我早在去年(2012年)就已经发现了这款速度极高的Sandisk Extreme闪迪至尊极速U盘。又称为CZ80。据称,读取速度可达190MB/s,写入速度可达110MB/s。今年2月,实在忍不住,买了一个32GB的。刚买来时速度的确非常快,无论是从硬盘拷文件上去还是从上面拷文件下来,瓶颈基本上都在硬盘。硬盘成为瓶颈的情况下,80~90MB/s传输速度已经达到硬盘性能的极限了。随机写入速度我也作了测试,感觉由于杀毒软件、USB的延迟等因素叠加起来,和移动硬盘差不多,但和主机上的硬盘相比还是有差距。但是,即使是这个减慢了许多倍的速度,也已经是普通U盘的3倍以上了。
使用了近三个月,没被我少折腾。在上面拷大量文件,在上面装虚拟机,装完虚拟机又删掉重装,有时又在虚拟机里面跑磁盘碎片整理,反反复复好几次——注意,这个U盘使用的是SSD即固态硬盘主控(可以百度一下,有网友分析过的,我体验下来也是这个感觉),所以,它可以(并且是很适合)用来装虚拟机!我之前试过的所有U盘,随机写入每秒不到20次就封顶了,用来跑虚拟机是会被拖死的!这个U盘让我非常高兴!但是,不乐观的是,被我折腾许久以后,写入速度下降到只有3~7MB/s了。这让我很头大,本来是极速U盘的,这样下去还不如普通的金士顿了。
后来仔细想了一想,它的SSD特性正是发生这种情况的原因。在对它进行超过它容量的写入(即写入数据超过了32GB)后性能下降。以下作一下原理分析,然后我再讲如何恢复。首先想说明一点,CZ80采用的主控芯片是SSD主控,也就是固态硬盘主控,采用固态硬盘的算法。这意味着,它的连续读写性能是依赖并发性来加强的。
另一方面,它的随机写入将会因为被转换为连续写而性能较高。这与一般的U盘是很不一样的。不过,这也带来了超容量写入后性能显著下降的问题。
要解释这个问题,首先要从固态硬盘的原理说起。最简单的U盘,都是直接对闪存进行读取或写入的(外加一定的损耗平衡处理,但这里忽略此效应)。当读取时,可以只读取一个页,比如说,4KB大小的页,甚至更小。而写入的时候,必须以块为单位进行写入。一个块通常是512KB。每次写入都要操作整个块的数据,因此普通U盘随机写入的速度是很慢的,因为会写入多个块。并且,写入通常要对块作一次读,一次擦除和一次写,因此速度往往只有读取的1/3。
这也就是为什么有的U盘在读取时可以有20MB每秒而写入时只有7MB每秒的原因。
而固态硬盘的算法不同。一是为了解决连续读写的速度限制,它采用并发读写的方式来加以改善。二是为了解决随机(零碎)写的性能问题,它采用了一个映射表。在每个块内的每个页的物理地址都不再和文件系统看见的页对应,而是分别映射到不同的以页为粒度的文件系统逻辑地址。这样一来,随机写就被转换成了连续写——每次写入时都写入后续页,同时更新映射,以建立逻辑地址与物理页面之前的关联。
但是,这种转换不是没有代价的。最明显的代价就是,当新买来的空的固态硬盘中的每个块,都被按顺序全部写过一遍后,继续写入遇到的下一个块就可能包含数据。此时,不能直接写入整个块的数据了,而是要获取这个块的信息,看里面有多少个页是空闲的,把要写入的数据与块里面的有效数据合并,然后再写入整个块(还记得吗?写入的最小单位是一个块)。
这样一来,无论是连续写入还是随机写入,性能都要打折扣。而且,需要写入的数据量只是实际写入量的一部分,这个效应叫做写放大(英文write amplification)。为了解决连续写入的性能问题,固态硬盘还应用了两个技术。一是over provisioning,超规容量,它能改善最坏情况下的写放大和性能下降。二是后台垃圾回收,它能利用盘的空闲时间,把空闲空间整理成连续的,从而为后续的写入性能提供保障。
超规容量的表现方式通常比较隐蔽。比如,128G的固态硬盘可能有7%左右的额外空间,它对于用户是不可见的,这部分空间被用来解决满载情况下的写放大问题。注意,满载的情况并不一定表现为磁盘满。这个问题后面讨论。先说一下这个超规容量能保证多少性能。假设它就是7%,那么,写入时,就会有0.07/1.07的概率能写入有效数据,这也就是写入的平均效率。假设新买来时的写入速度是150MB/s,那么此时就是约9.8MB/s。
而后台垃圾回收的原理是,当电源插着,并且没有读写请求时,固态硬盘就把那些有效数据没有放满的块(也就是里面有些页是空闲的)合并,从而使空闲页变得连续。这样做了之后,一旦写入,速度就会很快,直到所有连续的块都写过了,并且此间没有空闲时间来做后台垃圾回收之后,速度才会降低。
之后,就要讲到除了超规容量之外的另一个优化手段了:TRIM指令。在业界还没有标准化这个指令之前,盘上所有被写入过的空间都被认为是有数据的空间。这样的话,一旦超容量写入后,就会发生前面讲到的满载情况,经常会发生写放大,其效率就像刚才所说的,超规容量除以总容量。TRIM指令的用途,即是让操作系统标记出文件系统中的哪些部分所对应的固态硬盘页面是可以释放的,从而增加块中包含的空闲页面的量,降低写放大效应。
比如说,实际文件系统中被占用的空间只有50%,有了TRIM指令(并且操作系统适时地发出了这个指令)之后,平均写效率可达(0.50 + 0.07)/(1.00 + 0.07)。所以,不要小看TRIM的作用。事实上,有了TRIM指令后,不但性能能随着空闲空间的增多而提高,连固态硬盘的寿命也会被延长。
现在回到我的第一个问题上来。我的Sandisk Extreme至尊极速 CZ80 U盘显然不是一个SSD,而是一个采用SSD主控的U盘。因为TRIM指令通常只是在SATA接口上传输,不支持USB接口,所以,它就好比是一个不支持TRIM指令的固态硬盘。因此,使用久了,写入的数据量超过它的容量了以后,由于没有TRIM通知它哪些页是有数据的,它就认为所有页都有数据(空闲的页只有超规容量那么多),于是根据前面的计算,性能明显下降,无论是连续写还是随机写都不理想。
那么,解决办法呢?说实话我起先并不确信我一定能摸索出解决办法。Sandisk并没有提供这样一个官方工具来解决。我所能想到的几个办法中,比较靠谱的是快速格式化,格式化成FAT32,这是它出厂时的规格。但是试了以后,好似乎是好点了,从2MB/s提升到了3~7MB/s(不稳定),但还是只有出厂速度的1/10不到。
但是,幸运的是,我咨询了闪迪的客服。问下来,客服说尝试下完全格式化。抱着死马当活马医的心态,我尝试了一下。
完全格式化后,速度有了明显的提高,在有杀毒软件、小文件复制等不利因素影响的情况下,从硬盘上复制文件到U盘的平均速度还是达到了14~15MB/s(峰值达到过50MB/s,偶尔遇到硬盘性能瓶颈了)。虽然和刚买来时的80MB/s有差距,但是我想了想,可能是软件和硬盘因素比较大。而且还有一个细节要分享下:第一次完全格式化时,在性能监视器中能看见U盘的写入,平均速度只有14MB/s(虽然峰值是60MB/s的样子)。做完后我尝试第二次完全格式化,此时基本上都有102MB/s的速度这个样子了。所以,格式化的确能恢复它的性能,也就能继续用了,但要尽量避免大数据量的写入(包括ReadyBoost)。还是用来跑虚拟机是最合适的,或者用来在电脑间传文件。
在此非常感谢闪迪的客户支持。用一句给中国医生的话,真是妙手回春,哈哈!当然这是开玩笑的啦。有勇气尝试第一个SSD主控的U盘,也必然要能经得起考验,是指我自己啦。
做个总结吧:本文从“使用固态硬盘主控的闪迪至尊极速U盘”说起,将固态硬盘的几个性能特性作了简介,并提供了Extreme至尊极速U盘的性能恢复手段。希望对于好奇的您来说,这篇文章有助于理解固态硬盘的性能特性。最后,感叹一句:SSD主控的U盘伤不起啊!