如何把SSD塞進手機?

作者 : 黃燁鋒,EE Times China

眾所周知,「固態儲存」這個詞對應的是很早以前的機械儲存;即在沒有移動機械零件的情況下,只採用電子電路來讀寫數位資訊就可以稱做固態儲存,NAND快閃記憶體是固態儲存中比較常見的一類介質。從常見裝置類型的角度來看,隨身碟、SD卡,還有手機儲存常見的eMMC、UFS都屬於固態儲存…

今年3月,黑鯊4 Pro手機發佈。這款手機當時在宣傳時提到「率先引進了磁碟陣列方案,把PC端的固態硬碟(SSD)帶到手機上來」,或者說「首創」、「UFS+SSD磁碟陣列」。手機採用SSD這個宣傳點乍聽還是頗為奇怪,因為當代行動裝置幾乎都已經在用「固態儲存」了。

眾所周知,「固態儲存」這個詞對應的是很早以前的機械儲存;在沒有移動機械零件的情況下,只採用電子電路來讀寫數位資訊就可以叫固態儲存。NAND快閃記憶體是固態儲存中比較常見的一類介質,從常見裝置類型的角度來看,隨身碟、SD卡,還有手機儲存常見的eMMC、UFS都屬於固態儲存。所以手機採用「固態儲存」究竟有什麼好奇怪的呢?

在科技發展中,有一些約定俗成的習慣仍然被保留至今。比如我們現在說「硬碟」甚至「磁片」,大多就是指電腦內部用於儲存使用者資料的非揮發性存放裝置,典型的比如SSD。但實際上SSD已經不再具有「磁」和「盤」的屬性,只是習慣上還是會這樣說。

另一點則在於,SSD全稱為固態驅動器(solid-state drive/disk)。SSD這個詞現在特指替代了傳統硬碟(HDD)這種機械硬碟的SSD,且以SATA/PCIe介面的形式連接至電腦裝置中。所以SSD並不是固態存放裝置的統稱,而是固態存放裝置形態的其中一種。比如一般的SD卡、隨身碟,雖然通常也用NAND快閃記憶體晶片,但其協定、介面、形態都不同,就不能稱為SSD。不過,這其實也可以被認為是某種約定俗成。

 

 

從直覺來看,SSD現如今存在的形態應該是上圖這樣,至少也得使用M.2介面。這麼大的東西能塞進手機中嗎?這是個很有意思的話題,不僅是黑鯊,iPhone在這方面有獨特的發言權。本文將談談如果手機導入SSD,相比手機儲存常見的UFS和eMMC,究竟有何差異?

手機「硬碟」常見的eMMC和UFS

關注手機的讀者應該知道,手機內部非揮發性儲存常見的裝置類型是eMMC和UFS。瞭解更深入一些的則可能知道,現在的手機普遍都在用UFS,因為它比eMMC在讀寫速度上快了很多。比如三星、小米等手機的旗艦型號普遍都用了UFS 3.1,據聞儲存讀寫速度都快到飛起來了。

要理解eMMC/UFS也不難,先從eMMC說起。MMC全稱為Multi Media Card (多媒體卡),這是一種緣起於1997年的儲存卡,MMC卡隨著SD卡的普及而沒落,但eMMC卻輝煌了很久。eMMC就是嵌入式MMC卡,eMMC晶片現在以BGA的方式焊接在主機板上。很多低階Android手機、平板,甚至小筆電,還能看到eMMC的身影——比如微軟Surface Go現在也還在用eMMC。

MMC作為一種開放標準,背後是名為JEDEC的組織。eMMC的特點就是成本低,2016年以前,它是幾乎智慧型手機內部儲存的絕對主力方案。eMMC 5.1A標準是其最後更新版本。2015年發佈的eMMC 5.1達成的順序讀寫速度分別是250MB/s和125MB/s。

這個速度顯然不夠快,eMMC到後期已經成為制約手機、平板類行動裝置整體性能發揮的瓶頸。因此JEDEC一直在找能夠接替eMMC的高速序列傳輸方案,最後UFS (Universal Flash Storage)誕生,比較具有指標性意義的是2013年9月發佈的UFS 2.0標準。

 

 

UFS相比eMMC有兩個比較主要的變化,首先是改用低電壓差分訊號(LDVS)序列介面,有獨立的讀和寫路徑,實現了全雙工——也就是讀寫能同時進行(eMMC用的是平行介面,每次只能往一個方向發資料)。另外,UFS支援命令佇列(Command Queue,CQ),可對需要執行的指令做分類,多命令可同時處理,任務順序可做變更(早期版本的eMMC沒有該特性)。

UFS要達成的自然就是資料吞吐的加速,2014年發佈的UFS 2.0順序讀寫速度就已經達到了350MB/s和150MB/s。2016年高通Snapdragon 835宣佈對UFS 2.1提供支援後,中高階手機內部儲存也普遍轉往UFS。這兩年逐漸在高階手機上普及的UFS 3.0順序讀取速度已經做到了2,100MB/s,順序寫入和隨機讀寫速度都有了長足的提升。

當年UFS問世之初的宣傳點就是順序讀寫速度可與SSD媲美,與此同時還能保持eMMC的低功耗。

所以和SSD有什麼區別?

如前文所述,無論eMMC、UFS還是SSD,它們在作為裝置類型時皆採用固態儲存,都是NAND介質。那麼手機上的這些標準,和PC上常用的SSD究竟有什麼區別?

從大方向來看,行動裝置要求的無非就是低功耗和緊湊體積。所以很多PC上的標準在行動領域便不再適用。eMMC/UFS與SSD的關係即是如此——從外觀形態、連接方式看來,這兩者似乎很難去直接比較,如果一定要談兩者間的區別,整合度、系統複雜度、協定堆疊等方面都有不同。

 

 

比如說從整合度的角度來看,eMMC將NAND快閃記憶體與控制器整合到一個封裝內,儲存管理動作就在內部進行。因為所有元件都整合在一起,內部控制器負責損耗均衡、糾錯等工作,達成低功耗、小體積的目的。而常見SSD的「主控晶片」一般都是外接的。

從性能層面來看,SSD作為應用於PC或大型電腦的組成部分,對功耗沒有那麼敏感,所以堆砌更多的NAND晶片、以更多的通道數、更激進的介面規格和協定來實現更快的傳送速率。SSD主控的工作方式以多NAND晶片並行來實現加速。另外,SSD的控制韌體往往還具備了更多的功能。

更早期的eMMC則會簡單不少,最初也就是把MMC嵌到主機板上。在成本、功耗、體積的考量上,SSD實現比eMMC/UFS更高的性能、吞吐也是應該的。

 

 

上面這張圖的總結,可能橫向對比關係相對混亂,比如不同協議定義的層級、關係之間無法做到一一對應(比如M-PHY和PCIe,並不能成為完全並列的關係,鑒於篇幅本文不再詳述)。

不過有一點是肯定的,當代電腦上的SSD都走PCIe匯流排標準(PCIe協定本身定義了下面的事務層、資料連結層和實體層),而且對於NVMe的支持也幾乎是標配(NVMe作為指令標準,位於協定堆疊的上層,如下圖)。

 

 

可以說PCIe和NVMe的組合,構成了當代電腦SSD與外部通訊的主流方式。大部分發燒友應該也都知道,單從介面來看PCIe 3.0 x4能夠達成4,000MB/s的理論頻寬,如今PCIe 4.0的SSD也開始上線了,理論傳輸頻寬可再倍數成長。

 

 

看完SSD,再來看看手機常見的UFS。從層級結構來看,UFS包含了三層,最上層應用層將SCSI標準作為基準協定(除了精簡版的SCSI指令集支援,似乎也有其他選擇);中間的傳輸層負責將協定封裝為訊框結構;最下面的互連層其實是來自MIPI,資料連結和實體層分別就是MIPI的UniPro和M-PHY。

值得一提的是M-PHY也是行動版PCIe (M-PCIe)的底層實體層。

iPhone 6s也用過SSD?

從常規意義來看,SSD應用於手機其實很難成功,主要包括體積、功耗方面的限制;這就好像手機不能直接插DDR記憶體條一樣。不過黑鯊4 Pro宣稱自己使用了SSD,這是真的嗎?

 

 

從艾奧科技的拆解來看,黑鯊4 Pro的主機板上還真能看到打著群聯標誌的「BGA SSD」,群聯是SSD主控晶片的主要供應商,雖然這枚SSD和常規SSD看起來在形態上與我們通常的認知差別甚大。群聯在今年3月似乎也確認了這則消息,這枚SSD與右側的SK海力士UFS 3.1組成RAID 0陣列,這種設計在手機裡還真是相當罕見。

有關這款黑鯊手機在儲存方面的具體方案,恐怕很難瞭解其中細節。不過很多人不知道的是,在此之前就隱約有用SSD的先例,那就是iPhone……

蘋果iPhone在儲存方案上一直也都算是業界奇葩。早在2010年,就有消息來源提到iPhone 4在用一種名為PPN (Perfect Page New)標準的NAND記憶體,而非當時相當普及的eMMC。據說蘋果當時的方案可以有效延長記憶體的迴圈壽命——更具體的資料現在已經比較難找到。

而iPhone 6S再次展現了蘋果「奇葩」的一面。當年iPhone 6S的儲存方案被蘋果標注為APPLE SSD AP0128K,跟MacBook上標注的編號還蠻類似。從那時起,iPhone的內部儲存還真是普遍基於PCIe,只不過因為功耗方面的考量,最底層的實體層換成了MIPI M-PHY。

 

 

考慮到一方面PCIe標準下的PHY功耗高,另一方面低功耗狀態遷移延遲太大,M-PCIe就把標準PCIe的實體層換成了M-PHY,上層保持不變,也就能夠實施更激進的電源管理策略。M-PCIe在吞吐方面自然也會低於一般的PCIe,之前Synopsys在IP宣傳中提到,M-PCIe以Gear 1/2/3這種形式來標注訊號速率,Gear M的速率就等於PCIe Gen (M-1)的速率。

其實行動平台採用PCIe不稀罕,不過iPhone 6S基於PCIe的儲存方案再上一層的協定是NVMe。在此之前應該不存在行動儲存方案會用這樣的方案,雖然很早之前似乎就有廠商在不遺餘力宣傳PCIe和NVMe會成為行動儲存的未來(PCI-SIG?)。

而且從先前的資料來看,iPhone 6S在NAND儲存顆粒部分還用了SLC/TCL NAND混合解決方案(AnandTech先前基於寫入時間的資料深度測試)。SLC作為快取(cache)存在,寫入的資料首先會到SLC cache部分,因為SLC還是比TLC更快,這是提升性能和效率的一種方案。

 

iPhone 6S對當時一堆競爭對手在順序讀寫性能上的碾壓。

(來源:AnandTech)

 

蘋果此後歷代iPhone都在走這條路,與其他手機都不同。所以iPhone的儲存性能算是在相當長的時間內保持著對其他手機的碾壓地位,雖然可能其中還有很多細節是我們不瞭解的。

那能不能就此說,iPhone用的是SSD呢?這恐怕取決於SSD如何定義了,與黑鯊4 Pro是否真的採用SSD應該是同類型的問題。只不過PCIe + NVMe這種思路與UFS,其一開始就根本不同(UFS就是針對行動裝置提出的;而SSD則是針對HDD的換代裝置類型),尤其上層部分NVMe (如命令佇列數與深度上的優勢地位)——雖然像手機這樣的行動平台能否發揮NVMe的性能優勢還是相當存疑,把這類案例算作是在手機裡放進SSD,好像也基本符合SSD的設定。

 

(來源:iFixit)

 

高速儲存對遊戲體驗有利嗎?

事實上,從今年普遍開推UFS 3.0/3.1的Android手機和最新iPhone 12的儲存性能測試比較來看,性能差別已經不像過去那麼大了(雖然這種跨平台的對比,可靠性還是相當值得懷疑),而且系統層面還包含更多的影響因素。

去年發佈的UFS 3.1規格, 幾個主要的更新都能夠在當代SSD找到對應的特性,UFS也因此正在功能上向SSD靠攏。比如說SLC cache也是UFS 3.1的更新特性之一,前文也提到iPhone早先就有應用這類特性的傳統。

回到黑鯊4 Pro,這款手機在宣傳中不僅提到了NVMe SSD,而且提到了將SSD與UFS 3.1構成RAID陣列。據說實測其順序讀取速度接近3,000MB/s——已經高於UFS 3.1本身。雖然並不清楚其中的實現細節,不過在技術上對性能的進一步追求總是值得鼓勵的。這類儲存解決方案的投入成本是否真的有價值又是另一個話題,比如方案佔用行動裝置內部空間可能造成其他組成部分的妥協等。

另外,黑鯊4 Pro作為一款針對遊戲愛好者的手機,採用這類提高儲存性能的方案對於遊戲體驗是否有幫助的問題,《SSD對遊戲產業的一場革命》一文對此有少許解讀。這可能很大程度取決於Android本身的遊戲開發生態,是否對高速儲存有足夠的支援——比如Windows開始推DirectStorage API,或者Sony PS5在開發生態上為高速儲存提供了更多的支援。

高速儲存本身理論上並不會提升遊戲影格率,在如今的Android平台上,黑鯊4 Pro的這類方案最大的價值大概限於提升遊戲場景的載入速度(比如進入遊戲的速度、進入某個新場景的過渡畫面停留時間),體驗提升會相對有限。而蘋果對自家生態的全面把控,實際上會更有助於高速儲存得到更充分的利用,就像Sony PS5作為一個相對封閉的遊戲生態那樣。

本文原刊登於EE Times China網站

 

 

 

 

 

加入LINE@,最新消息一手掌握!

發表評論