·Fusion Drive到底是如何工作的
那么Fusion Drive到底是如何工作的呢?它的原理究竟是怎样的?固态硬盘与机械硬盘之间存在着怎样的关系呢?下面我们通过小实验来了解这一点。
测试所选用的是一台27英寸iMac,首先,使用128KB的顺序执行写入操作,队列深度为1,使用iStat Menus 4来监测两个硬盘的状态,可以从下面左侧图片中看出,只有Fusion Drive中的固态硬盘部分接收了最初的写入操作,而机械硬盘没有动静。固态硬盘的写入速度是233.7MB/s。不过在写入117GB数据之后,我们可以从下面右侧图中看出,机械硬盘接管了写入操作,速度在146.6MB/s左右,而且较为稳定。


Fusion Drive写入数据时的工作状态(图片来自anandtech)
从上面的测试中可以初步看出,Fusion Drive确实使用到了两个硬盘,并且其机制很有可能是先将固态硬盘部分的空间填满,之后再使用机械硬盘部分接受剩余的数据,固态硬盘的优先级更高一些。


移动了一番数据和重映射LBA之后几乎所有的随机写入都到了SSD上,
速度也快了很多(图片来自anandtech)
固态硬盘是一种由闪存作为存储介质的数据库存储设备。由于闪存和磁盘之间物理特性的巨大差异,现有的各种软件系统无法直接使用闪存芯片。因此,为了提供对现有软件系统的支持,往往会在闪存之上添加一个闪存转换层来实现此目的。固态硬盘就是在闪存上附加了闪存转换层从而提供和磁盘相同的访问接口的存储设备。
接下来进行的IO测试,也就是固态硬盘在性能方面超过机械硬盘的地方,通常也是SSD缓存或用作混合方案功亏一篑的地方。首先我们尝试了最糟糕的情况,进行涵盖所有逻辑块地址的随机写入测试。从这个测试,我们可以了解苹果如何在Fusion Drive两个硬盘之间映射LBA(逻辑块地址)的。
从测试结果来看,SSD和HDD都有写入活动,但HDD更多一些(消耗了更大比例的可用LBA)。普通的4KB(QD16)随机写入测试结果大约是0.51MB/s,它受到了Fusion Drive中机械硬盘部分的限制。
但在随机写入任务结束之后,HDD和SSD之间出现了直接的数据移动。因为LBA是随机选择的,一些(相同或只是空间上相似的)地址可能被挑选了不止一次,这些逻辑块立即被标记为提升到SSD。
对于消费级SSD来说,进行全覆盖的随机写入测试可能有点不公平,对SSD/HDD混合方案来说就更不公平了。要了解Fusion Drive处理随机IO的能力有多强,把随机写入测试限制在LBA的第一个8GB之内无疑是很合适的做法。
测试结果有很大的不同。在第一轮中,平均速度大约是7MB到9MB/s,IO绝大部分都发生在SSD上,一小部分在HDD上。3分钟的测试后,Fusion Drive进行移动数据,之后又重复了一遍测试。在第二轮中,速度跳升到了21.9MB/s,更多的IO也发生在了SSD上。

碎片增多之后速度明显下降(图片来自anandtech)
在第三次测试中,几乎所有随机写入都发生在SSD上,峰值速度达到98MB/s,而碎片增多时,速度下降到最低35MB/s。由此可以猜测,苹果似乎依据访问频率,把LBA动态的映射到了SSD上,这是一个非常积极的性能提升方法。
这是也是普通的SSD缓存方案和Fusion Drive之间的最大区别。大多数SSD缓存方案似乎都以读取频率为基础,而并非访问频率,而Fusion Drive至少是考虑了哪些LBA被频繁写入,同时把它们映射到SSD上。也正是因为这样,Fusion Drive对于性能的提升效果要好很多。
此外,需要注意的一点是,如果用更多的数据和应用程序填充Fusion Drive(用真实的数据和应用程序填充到大约80%)时,随机写入性能能无法再次达到这样高的水平。在每次运行中,数据移动时间变短,随机IO发生在HDD和SDD的比例约为7:1。
鉴于Fusion Drive中两种硬盘之间的容量差异,这个比例具有很大意义。如果你的工作负载包含大量随机写入,并且涵盖所有可用空间,那么Fusion Drive可能就不太适合你。不过这样的工作负载大多出现在企业级用户中,所以对于绝大多数家庭用户而言,以及普通办公用户而言,这应该不是问题。
相关报道:
- 岁末最具特色 2013年内存/硬盘大盘点2013-12-18
- PCI-E SSD成“航母”?点评最火4大类硬盘2013-10-16
- 1TB王者对决 希捷混合硬盘PK西数黑盘2013-10-08
- 《2K Drive》强势出击 iOS平台本周新游推荐!2013-09-07
- iOS飙车《2K Drive》上架:大量真实车型2013-09-05
本类最新
科技视界
要闻推荐
今日视点
热点专题
- 新闻排行
- 评测排行