如今,處理器性能早已不再是PC的瓶頸,而致使機器運行緩慢的原因,很大一部分來自於硬碟。傳統機械硬碟(HDD)數據存儲在不同的扇區,讀寫時又需要磁頭不停的移動去尋找相應數據,而當數據量加大之後,尋道時間又會加長,因此才讓我們感覺到比較緩慢。
而我們時下所熟知的固態硬碟(SSD)之所以快的原因,是因為它在讀寫過程中並不需要磁頭與碟片來完成,而是通過電路來傳輸信號,也就是說,用戶在向固態硬碟發出搜索數據指令時,其工作方式與機械硬碟大為不同,並且效率更高。
不過,固態硬碟目前容量較小,大容量產品價格過高,而機械硬碟目前2TB容量也僅僅在600元上下,相當於一塊兒128GB固態硬碟的價格,因此,如何將兩種產品結合起來應用,就是一些廠商需要考慮的問題。因此我們也看到,時下很多筆記本、超極本都採用了混合硬碟的方式,一塊兒小容量的硬碟做系統盤,或者做數據緩存空間,而搭配一塊大容量機械硬碟來獲得更多的數據存儲空間。可以說,在固態硬碟成本依舊較高的今天,這種混合式的解決方案,無疑在機器運行速度與數據存儲空間之間找到了平衡。
蘋果Fusion Drive詳解
但是,它們中的大多數採用的是便宜的、小容量、效果不佳的mSATA SSD,雖然速度上有明顯提升,但是依然不能反映出固態硬碟的真正實力,相信這一點很多朋友也有體會。此外,還有一些廠商的做法是將NAND添加到到機械硬碟中。這通常會讓HDD的速度變得更快,但跟SSD還是相去甚遠。
說了這麼多硬碟的事兒,下面就回到我們今天的主角身上。蘋果可以說是最早意識到上述問題的廠商之一,比如iPhone、iPad、MacBook產品都使用到了NAND來提升運行速度,這也是為什麼我們使用蘋果產品的時候,通常很少會遇到卡頓的情況。而當固態硬碟出現之後,蘋果也在第一時間引入了固態硬碟到其設備中,最典型的就是MacBook Air,完全採用了固態硬碟的解決方案,而像MBP、Macmini、iMac等也採用了固態硬碟加機械硬碟的方案。
不過,對於iMac這樣的一體電腦而言,使用純固態硬碟的方案就比較困難了,一方面成本太高,另一方面也難以提供更為龐大的數據存儲空間,正是因為如此,蘋果才在iMac上推出了Fusion Drive方案,這與其它廠商的SSD/HDD混合方案有何不同呢?接下來,我們就詳細來了解一下。
·蘋果Fusion Drive究竟是什麼
如果關注蘋果官網的話會發現,在購買Macmini、iMac的時候,用戶可以選擇Fusion Drive,有1TB和3TB兩種解決方案,分別需要多加1940元和3104元。其中,1TB僅適用於iMac和升級的Mac mini(799美元),3TB只適用於27英寸的iMac。
蘋果官網購機時會提示選配Fusion Drive
那麼到底什麼是Fusion Drive呢?它與其它混合硬碟解決方案有哪些不同呢?
首先,Fusion Drive其實是一塊1TB或3TB機械硬碟跟一塊128GB三星830固態硬碟的組合。我們都知道,很多超極本同樣採用了混合型硬碟,但是固態硬碟部分的容量大都只有8GB到32GB之間,這個區間無法作為系統盤來使用,只能作為數據緩存空間,Fusion Drive與其它方案相比容量更大。
其次,Fusion Drive與其它方案最大的不同在於軟體方面。一般大都採用英特爾的Smart Response技術,這是英特爾6系列晶片組提供的混合硬碟解決方案,而Fusion Drive與其不同,它涉及到OS X邏輯卷管理器Core Storage的虛擬化存儲問題。Core Storage最早是在獅子版本中出現,它可以讓作業系統把多個物理磁碟當做一個邏輯捲來對待。
英特爾的Smart Response技術
蘋果最初使用Core Storage來加密整個磁碟,但現在,Core Storage的使用已擴大到美洲獅的Fusion Drive中。創建Fusion Drive十分簡單。如果你有多個硬碟,你就可以使用一些簡單命令來創建一個Fusion Drive。如果你購買了一臺帶有Fusion Drive的iMac或Macmini,那麼就不需要自己動手去組建。
與傳統固態硬碟緩存架構不同,Fusion Drive並非真正的緩存,它會根據訪問頻率和可用空間,在固態硬碟與機械硬碟之間智能的進行數據移動。一個Fusion Drive的容量,實際上是其組成部分的總和。也就是說,一個1TB的Fusion Drive容量實際上是1TB加上128GB,一個3TB的Fusion Drive容量則是3TB加上128GB的總和,並沒有將固態硬碟與機械硬碟完全分離開來。
Fusion Driveb顯示為一個磁碟硬碟(圖片來自anandtech)
從最新版本的磁碟工具Disk Utility可以看到,它把Fusion Drive顯示為一個硬碟,標籤為Macintosh HD。但蘋果並沒有隱藏它的Fusion Drive屬性,在系統報告中,或者使用像iStat Menus這樣的第三方工具,你可以看到兩個硬碟的狀況:
系統報告中依然是兩個硬碟(圖片來自anandtech)
值得注意的是,Fusion Drive中128GB固態硬碟容量被顯示為121.33GB,這是因為自Mac OS X 10.6之後,蘋果開始以10為基數顯示容量,從這一點出發,只需要計算一下就可以知道這128GB容量有多少被用作了系統預留區域,而預留區域也有助於提升性能的一致性,從而獲得更好的體驗。
此外,你也可以在Fusion Drive中創建Boot Camp或其他分區,不過這些分區都會被智能的分配到HDD上。
由此可見,如果把其它大多數混合硬碟方案描述為「拼湊」的話,那麼蘋果的Fusion Drive則充分體現了「Fusion」的含義,具備智能化的融合方案在對於性能提升有著更大的助益。
·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可能就不太適合你。不過這樣的工作負載大多出現在企業級用戶中,所以對於絕大多數家庭用戶而言,以及普通辦公用戶而言,這應該不是問題。
了解了Fusion Drive的工作方式之後,其實際性能表現也就成為下一個需要了解的地方。一般的混合型硬碟之所以使用小容量SSD,原因就在於節約成本,但正如我們之前說過的,小容量SSD只能用作數據緩存空間,一般是無法把系統、軟體安裝在其中的。而Fusion Drive大容量固態硬碟的優勢則非常明顯。
·iPhoto導出TIFF格式圖片測試
其實想要測試出Fusion Drive的性能面臨著一定的困難,因為它總是默認先寫入到SSD。如果不把Fusion Drive填滿,那麼你寫入的大量數據可能全部都會到SSD上。但是如果你完全將其填滿,那麼測試的數據集小於4GB,測試結果依然是SSD方面的性能。簡而言之就是,常規測試方法難以對整個Fusion Drive性能給出測試結果。
那麼該如何解決這一問題,使測試結果表現出來覆蓋兩個硬碟呢?。首先,我們把Fusion Drive填充70%容量,這就意味著除去4GB緩存空間之外,SSD的容量快要滿了。之後把含有703張照片的iPhoto圖庫導出為TIFF格式的照片。
導出生成的文件相當大,當達到297張照片時,4GB的SSD寫入緩衝區已經滿了,所有後續導出的照片都會轉到HDD上。我們為這個過程進行計時,然後把它跟iMac上的一個HDD分區做對比,也跟通過USB 3.0連接的一個三星830 SSD對比。下面我們來看看測試結果:
在三種硬碟方案中使用iPhoto導出TIFF格式圖片
上圖比較準確地給出了Fusion Drive的實際性能表現,它的性能要高於HDD且小於SSD。整個測試中,其速度提升不是很大,但這主要是因為我們使用了相對低的隊列深度順序傳輸。對於比較隨機的工作負載,Fusion Drive和HDD差距會不斷拉大。
值得注意的是,如果我們一直對Fusion Drive進行非常大的順序寫操作(一個文件就高達260GB),最後它就不會再遷移數據到SSD了,除非你重新啟動機器。
·Photoshop CS6啟動速度對比
固態硬碟與機械硬碟以及混合型硬碟相比,在實際使用時的最直接感受就是軟體的啟動速度,相信用過這三種方案的朋友對此感受更加深刻。一般來說,把軟體安裝在固態硬碟之後,啟動速度非常快,尤其是像Photoshop、AutoCAD這種需要加載很多插件的軟體,表現更為明顯。那麼接下來,我們就來看看Photoshop CS6在三種硬碟方案下的啟動速度有何不同?
iMac預裝的應用程式,很多都默認在SSD上,但是一些後來安裝的程序卻不是這樣。特別是Photoshop CS6,它有一部分在SSD上,而另一部分則在HDD上。對於工作負載太大,SSD無法單獨處理時的Fusion Drive偽隨機讀取性能,這是一個很好的基準測試。下面我們看看Photoshop CS6在Fusion Drive上的啟動時間,與在純HDD分區上以及通過USB 3.0連接的三星830固態硬碟上的情況有何差異:
Photoshop CS6啟動速度對比
相對於純機械硬碟而言 ,Fusion Drive啟動速度有明顯改善,大約快了40%。然而,Fusion Drive的性能依然不及純SSD。不過Fusion Drive的機制,如果Photoshop是你最常用的應用程式的話,那麼它會被智能化的完全移動到SSD上。啟動速度與在純SSD上就會相差不大。這也是Fusion Drive相對於普通混合型硬碟方案的最大優勢所在。
說了這麼多,雖然Fusion Drive性能不及純SSD,但似乎沒有什麼明顯的缺點。但在實際體驗過程中發現,Fusion Drive是有一定限制和缺點的。
·Fusion Drive有哪些不足
比如,Fusion Drive寫入SSD是非常積極的,但你的數據越多,它的算法似乎就變得越保守。這倒並不是很讓人震驚,但需要指出的是,在硬碟總使用量較低時,幾乎一切都是在使用的SSD,這種過分的智能化使得用戶本身失去了自由度。
但是當應用程式的需要超過了Fusion Drive可以輕鬆應付的範圍時,Fusion Drive對於「什麼東西可以被移動到SSD」就變得更加挑剔。如果128GB的存儲空間不夠存儲你所有的常用應用程式、數據和作業系統,那麼你的Fusion Drive體驗就與單純的HDD相差不大了。
在實際體驗過程中,筆者使用Spotlight搜索花費的時間比純SSD多,同時,並非所有的應用程式都是瞬間啟動的,將照片從Safari添加到iPhoto需要的時間也更長一些,Fusion Drive雖然還不錯,但如果你確實需要超過128GB以上的SSD,Fusion Drive可能並不適合你。
·結語
Fusion Drive雖然還存在著一些缺陷,但是相對於普通的SSD+HDD混合方案而言,其實際體驗還是要更加優秀一些,畢竟其SSD部分擁有128GB的容量,這就使得固態硬碟的區域能夠幹更多的事情,遠非幾個GB到20多GB容量可比。
再者,Fusion Drive除了在硬體方面擁有優勢之外,與之相配合的Core Storager軟體賦予了其更高的智能化,雖然這種智能化在特定情況下有些過分,但這也可以說是蘋果歷來的特點。
Fusion Drive更適合沒有極大量數據、應用程式需求的普通用戶,經常使用的程序會自動放到SSD上,而不經常動用的一些數據資源,比如電影片源、音樂文件、圖片文件等都會保存在HDD上。就筆者個人而言,目前在使用的80GB SSD空間已經足夠,128GB會更加充裕,但是如果你真的需要更大的空間的話,Fusion Drive的體驗並不那麼好。
再一個就是,Fusion Drive到底值不值。蘋果官網給出的方案是1TB+128GB為1940元,我們從天貓可以看到,128GB三星830硬碟的售價大致在800元左右,如果從普通商家處購買大約為600元左右,而一塊兒1TB機械硬碟的價格為600元左右,兩者單買的話大致為1200元左右,多出的700多元作為Fusion Drive的「技術費用」,這個到底值不值,就看大家的不同理解了。
隨著固態硬碟的價格不斷下降,容量不斷加大,未來機械硬碟很可能只作為數據存儲媒介而存在,甚至會完全被淘汰,而且可以預見的是,作為一體電腦領域裡的高端產品,iMac肯定會率先走上這樣的道路。
現在混合硬碟技術有很多種,包括存儲廠商本身所推出的混合硬碟或者OEM自行研發的SSD HDD方案等,相比之下對於普通用戶來說蘋果Fusion Drive還是一個陌生的概念,本文著重對Fusion Drive進行了專項的介紹,是一篇非常不錯的科普性文章。
王力