SSD和HDD完美结合 Fusion Drive混合磁盘解析
会知道有多少空间被用作了备用区:
这个128GiB NAND中约11.7%被预留作为备用区,标准Mac中的128GiB SSD也是一样,但这个比例比通常的6.7%要高。增加备用区比例有助于提升性能的一致性,我个人希望三星SSD能有25%的备用区。
你可以在Fusion Drive上创建Boot Camp或其他额外的分区,不过这些分区都是在HDD上。
Fusion Drive揭秘
我测试用的是一台新的27英寸iMac。最开始,我用了一个128KB的顺序写入操作(队列深度为1),并使用iStat Menus 4来监测两个驱动器的状态,我发现只有SSD接收了最初的写入操作,HDD上没有活动。 SSD的写入速度是322MB / s。但在写入117GB之后,HDD接管了写入活动,最初速度大约为133 到175MB / s。
初步测试证实,Fusion Drive确实使用了两个驱动器。最初117GB写入到了SSD,接下来的1TB直接写入到HDD。我觉得它排定优先级的方式是:Fusion Drive假设SSD上有足够的可用空间(后面将详细讨论),首先尝试写入SSD。
接下来,我想进行随机IO测试,因为这才是SSD在性能方面超过HDD的地方,通常也是SSD缓存或混合方案功亏一篑的地方。我首先尝试了最糟糕的情况:涵盖所有的逻辑块地址的随机写入测试。鉴于Fusion Drive的总容量是1.1TB,从这个测试中,我们可以了解苹果如何在这两个驱动器之间映射LBA(逻辑块地址)。
结果很有趣的,不过也不算意外。 SSD和HDD都有写入活动,但HDD更多一些(消耗了更大比例的可用LBA)。普通的4KB(QD16)随机写入测试结果大约是0.51MB / s,它受到了Fusion Drive中HDD部分的限制。
但在随机写入任务结束之后,HDD和SSD之间出现了直接的数据移动。因为LBA是随机选择的,一些(相同或只是空间上相似的)地址可能被挑选了不止一次,这些逻辑块立即被标记为提升到SSD。这是我第一次看到Fusion Drive主动在驱动器之间移动数据。
对于消费级SSD来说,进行全覆盖的随机写入测试可能有点不公平,对SSD / HDD混合方案来说就更不公平了。要了解Fusion Drive处理随机IO的能力有多强,我把随机写入测试限制在LBA的第一个8GB之内。
结果有很大的不同。在第一轮中,平均速度大约是7 到9MB /s,IO绝大部分都发生在SSD上,一小部分在HDD上。 3分钟的测试后,我等着Fusion Drive移动数据,然后又重复了一遍。在第二轮中,速度跳升到了21.9MB / s,更多的IO发生在SSD上,尽管HDD上仍然看得到写入活动。
图:大部分的随机写入都发生在SSD上,但仍然有部分到了HDD,移动了一番数据和重映射LBA之后,几乎所有的随机写入都到了SSD上,速度也快了很多
在第三次尝试中,几乎所有的随机写入发生在SSD上,速度达到98MB / s的峰值,碎片增多时,速度下降到最低35MB / s。我认为,苹果似乎依据访问频率,把LBA动态地映射到了SSD上,这是一个非常积极的性能提升方法。归根结底,这是通常的SSD缓存方案和Fusion Drive之间存在的重大区别。大多数SSD缓存方案似乎都以读取频率为基础,而Fusion Drive看似(至少部分是)考虑了哪些LBA被频繁写入,并把它们映射到SSD上。
要注意的是,随后的随机写入测试产生的结果大不一样。当我用更多的数据和应用程序填充Fusion Drive(用真实的数据和应用程序填充到80%)时,我没有见到随机写入性能能再次达到这样高的水平。在每次运行中,我看到有很短的时间数据到处移动,但随机IO发生在HDD和SDD的比例约为7:1。鉴于这两种驱动器之间的容量差异,这个比例具有很大意义。如果你的工作负载包含大量的随机写入,涵盖所有可用空间,Fusion Drive可能就不太适合你。不过这样的工作负载大多出现在企业用户中,所以对你来说这应该不是问题。
数据精细度探究
苹果公司在宣传Fusion Drive时,谈到了文件和应用程序级别的数据移动,但在现实使用中,数据可以以128KB的文件块在SSD和HDD之间移动。
使用fs_usage工具,你可以看到苹果Fusion Drive的内部工作原理。 文件以128KB的文件块在驱动器之间移动,这也是由文件块的使用频率来决定的。由于客户工作负载往往是顺序的(在最糟的情况下也是伪随机),我们可以比较有把握地说,如果你在一个 128KB的文件块中访问一个LBA,你实际上会访问同一空间中更多的LBA。数据迁移过程似乎主要是发生在闲置期间,虽然我也看到,在IO负载较轻的时候,驱动器之间也有迁移活动进行。
迁移的快速触发机制十分有趣。一旦文件被复制或者创建出来,应用程序启动,或者其他IO活动完成时,SSD和HDD之间立刻开始进行数据迁移。当你填充Fu
混合磁盘 Fusion Drive HDD SSD 相关文章:
- 智能电网的核心--GreenFire系统(02-12)
- iPhone7有“嘶嘶声”声 从学角度看缺陷原因(08-20)
- 解析:SSD使用六“大忌”(05-26)
- 下一代Flash存储器在工业控制领域技术与应用(02-05)
- 详解如何选择合适的SSD驱动器(02-23)
- 直连存储是否过时?看DAS存储重装上阵(05-24)