微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > SSD和HDD完美结合 Fusion Drive混合磁盘解析

SSD和HDD完美结合 Fusion Drive混合磁盘解析

时间:02-23 来源:腾讯数码 点击:

sion Drive时,在SSD和HDD之间移动的数据量就大幅收缩了。事情本来就应该是这样。不常访问的数据应该放置在HDD 上,真正重要的东西会留在SSD上。当Fusion Drive在写入时,苹果就不会那么积极地释放SSD上的数据。

数据迁移过程本身是非常简单的,数据被标志为promotion和demotion,它被物理复制到新的存储设备上,然后它才移走。在迁移过程中,如果出现电源故障,Fusion Drive不会造成任何数据丢失,只有当一个128KB文件块的两个副本就位之后,源块才会被移除。苹果去年就告诉过我这件事了,但我现在才亲眼看到。

用128KB的文件块在HDD和SSD之间移动数据,苹果可以在写入SSD的时候进行部分碎片整理。尽管Fusion Drive 的所有写入首选目的地都是SSD(可以包括小于128KB的文件块,随机和伪随机写入),任何从HDD到SSD的迁移却都是大块顺序写入的,如果驱动器中有大量碎片,这就会触发垃圾块回收过程。SSD的性能肯定会随着时间的推移降低,但是这个过程有助于保持它的性能,因为SSD几乎一直都是在充满的状况下运行的,而且它会接收各种不相关的写入。我前面提到过,我希望苹果把更多的PM830 NAND空间预留为备用区。我怀疑苹果没有预留更大的备用区是出于成本方面的考虑。

应用体验

在现实使用中,Fusion Drive能给我们带来怎样的体验呢?简单说来,它的效果出乎意料的好。我之前使用过的SSD缓存方案全部都更像是HDD而不是SSD,不过苹果公司的Fusion Drive体验则是几乎处于HDD和SSD的正中间。

它在安装几乎所有程序时,都是先用SSD,因此Fusion Drive感觉真的像SSD。不仅是在安装应用程序的时候,复制任何东西时,一般也是先去SSD。似乎到了4GB之后,它才开始用HDD。不过稍加努力,你可以让Fusion Drive仅在1 到 2GB之后就开始写入到HDD。我用Iometer创建了一个顺序测试文件,监测Fusion Drive什么时候停止将文件写入到SSD,在这时停止这个进程,重新命名这个文件,并再次开始创建文件。结果如下图:

可以看到,如果你的速度够快,你可以在低于2GB的时候就让HDD接管写操作。我不知道这是不是SSD上的可用空间量,但很有可能就是这样,因为显示121GB的SSD又不充分使用它实在说不通。

在大多数时候,当你不那么积极地写入SSD时,Fusion Drive可以保持至少4GB的SSD可用空间。需要注意的是:当你第一次使用它时,Fusion Drive大部分都是空的,你写入的几乎任何东西,无论大小,都会直接进入SSD。然而,当容量承受一定压力时,苹果就会改变方法:让任何文件最多写入4GB到SSD,其余部分则放到HDD上。

通过安装苹果的OS X开发者工具以及Xcode本身,我证实了这一点。后者接近于4GB大,但默认状况下,它的很大部分都到了SSD上。

应用程序生成的数据也是如此。我用Xcode创建Adium,一个682MB的项目,整个编译过程都发生在SSD ——机械硬盘一直都没有活动。我试图创建一个更大的项目,近2GB的Firefox。这时出现了短暂的HDD活动,但绝大多数活动都是在SSD上。

我复制了一个很大的视频文件(》10GB)到这台iMac上,现在我把它复制到一个新的位置上,并密切注意Fusion Drive的动向。最初的2GB是从SSD传输到SSD,接下来的2GB是从HDD读取,写入SSD。大约4GB被复制之后,源驱动器和目标驱动器都变成了HDD。在我看来,正确的做法应该是默认情况下把所有的大文件都放入HDD ,除非它们被频繁访问。苹果的做法似乎是一个合理的妥协,但它把文件块放入SSD的方式比我以为的更加积极。

我重复了这个测试,用另一个我从来没有访问过的视频文件,得到的结果完全不同。整个文件都存在HDD 上。我又重复一次这个测试,用我访问了好几次的iPhoto图库,令我惊讶的是,这个iPhoto图库的大部分都在HDD上,但也有一些少许读取来自SSD。但在这两种情况下,复制的目标驱动器当然都是SSD。

我Anandtech文件夹的大小超过32GB,含有文字、照片、演示文稿、基准测试结果,以及我做过的几乎所有评测。虽然这个文件夹非常重要,但它其中大部分都没有经常被访问。我在复制这个文件夹时,发现几乎全在HDD上。38GB的"我的文档"文件夹也是如此,这个文件夹中的大部分也是未读过的。

另一方面,应用程序几乎总是放在SSD上。

之前我经常手动把操作系统和应用程序放在SSD,大的媒体文件放在HDD上,Fusion Drive把这个过程自动化了,而且效果还相当不错。我手动整理资料和Fusion Drive自动化之间唯一的区别就是,我把"我的文档"和Anandtech文件夹默认放在SSD。这样做不只存在性能方

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top