您现在的位置:e-works > 智造书屋 > 书籍列表 > 大话存储Ⅱ——存储系统架构与底层原理极限剖析 > 固态存储介质和固态硬盘

第三章 磁盘大挪移——磁盘原理与技术 详解

第一十零节 固态存储介质和固态硬盘


 

 

3.10.7  SSD如何处理Cell损坏

    以上一切缓解SSD效率问题的方法,都是治标不治本。随着Cell的不断损坏,最后的救命稻草——SSD私自保留的空间也将被耗尽,没了救命稻草,加之文件系统空间已满的话,那么SSD效率就会大大降低。

    但是,我们在这里讨论的SSD写效率降低,不是与机械硬盘相比的。瘦死的骆驼比马大,SSD比起机械硬盘来讲其优势还是不在一个数量级上的。

    可以将多块SSD组成Raid阵列来达到更高的性能。但是可惜的是,Raid卡目前尚未支持TRIM。
为了适应Flash的存储方式,有多种Flash Aware FS被开发出来,这些Flash FS包括TrueFFS、ExtremeFFS等。这些能够感知Flash存储方式的FS,可以将大部分SSD内部所执行的逻辑拿到FS层来实现,这样就可以直接在上层解决很多问题。

    SSD看似风光无限,但是其技术壁垒比较大,为了解决所产生的多个问题,设计了多种补救措施,需要靠TRIM维持,而且数据不能占空间太满,否则无药可救。基于目前NAND Flash的SSD很有可能是昙花一现。目前市场上已经出现SRAM、RRAM等更快的永久存储介质,随着科技的发展,更多更优良的存储介质和存储方式必将替代机械硬盘的磁碟,SSD数据存储次世代即将到来。

    此外,SSD在使用的时候也比较尴尬,SSD的成本还是太高,比如用户需要一个10TB的存储系统,不可能都用SSD,此时怎么规划?对某个Raid组专门使用SSD来构建,比如8个256GB的SSD组成某Raid组,有效容量1TB,再在其上划分若干Lun。用户使用一段时间后发现原来人工预测的热点数据已经冷了,而原来的冷数据热了,那么此时需要数据迁移,这就要兴师动众了。或者用户发现某个应用所需的数据量庞大,但是又不可能将其分割开一部分放到SSD中一部分放到传统磁盘中。这些尴尬的境况都限制了SSD的应用,也是多个厂商相继开发了Automatically Storage Tiering技术的原因(见后面章节)。

    针对传统SSD使用时候的尴尬境况,Seagate等厂商也相继推出了SSD+HDD混合式存储硬盘。这种硬盘其实是将Flash芯片用于磁盘的二级缓存,一级缓存是Ram,二级是Flash,三级则是磁盘片。利用这种多级缓存更大程度地降低了磁头寻道的影响。有人质疑说,传统磁盘自身已经有了多达64MB的RAM缓存,还需要Flash再作为下一级的缓存么?是的,64MB的容量还是太小,虽然速度高,但是很快就被充满,同时没有掉电保护机制,所以盘阵控制器不会让磁盘以WriteBack模式操作,充满了则一定要连续地刷到盘片中,这样就不可避免地直接导致可见的性能骤降;而使用Flash芯片再加入一级缓存,比如用8GB甚至16GB的Flash芯片,数据从RAM缓存出来后先被存入Flash,不用寻道,同时可以掉电保护,Write Back之后,磁盘驱动器再在后台将数据从Flash中写入磁盘片保存并清空Flash中的内容。这样的做法,既比传统纯SSD便宜,还保证了性能,有效屏蔽了磁头寻道带来的高延迟,同时又保证了容量(数据后台被刷入磁盘片),传统SSD在容量方面的问题就这么被解决了。这种磁盘短期内尚无法取代传统纯SSD,因为其读取操作依然需要从磁盘片中读取几乎所有数据而不是从Flash中,无法与纯SSD抗衡。但是其取代传统磁盘的趋势是存在的,今后的磁盘如果都这么做,会大大增加单个磁盘的随机写性能,对磁盘阵列控制器的更新与设计也是一个挑战。试想一下,磁盘阵列控制器作为一个嵌在主机与后端物理磁盘之间的角色,其一个本质作用就是提升性能,其性能提升的原理就是让众多磁盘同时工作以屏蔽磁头寻道所浪费的时隙,而现在,每块磁盘自身就能够利用Flash芯片来屏蔽寻道的时隙,如何办?充分地想象吧。