2014年固態硬碟控制器的演進 - 2014下半年SSD評測專題

16228人瀏覽

在去年,我們和各位讀者們分享了目前市場上快閃記憶體(Flash Memory)的陣營、技術、以及先進制程下,固態硬碟可能會面臨的風險外,也約略地提及控制器對於各家固態硬碟效能的影響之重。今年,我們將把重點,放於介紹控制器在年今度的革新,以及它們對未來固態硬碟產品的演進所占的重要角色。

PCI-Express介面的風潮

常在觀察固態硬碟市場發展的讀者,或許會覺得這個主題一點也不新鮮,早在2010年,少數的廠商都已推出使用PCI-Express介面的產品,效能表現也不俗,但賣的量本來就不多,可以找到的持有者更少,其原因當然還是卡在價格上。至於它為什麼要這種價錢,其實還是可以從過去的架構上看出些問題點,在討論這個風潮前,我們還是花點篇幅和讀者們說明。

首先,不論是Sandforce、Marvell,還是其他控制器的廠商,都很清楚一個現象--如果我們只單論固態硬碟的線性讀取速度,效能的瓶頸早就不再是我們認為的硬體零件,或是控制器的演算法,而是我們已認識好多年,而且再熟悉不過的東西--Serial ATA 6.0的介面,不論你選用多好的控制器、配多好的記憶體,花了多少個晚上去改韌體版本,從來2012年以後,固態硬碟線性的寫入速度始終停在550MB/s。這是介面的極限所造成的,所以有的廠商就開始思考如可以不同的介面來解決此一問題。在目前的系統平臺上,最現成、又是最開放的解決方案,就是PCI-Express。但是這個答案也同時顯露了兩個問題,有待技術上的解決。

第一個問題就是--這樣的裝置是需要驅動程式來進行優化的。和本來就是用於儲存裝置的ATA介面不同,不論我們加裝的是顯示卡、無線網路,還是其他的擴充裝置,相信大家對安裝對應的驅動軟體還記憶猶新,但作為I/O用品,我們都希望它可以從開機開始就能以全速進行運作。但在一開始,誰也沒想到我們會這麼快地走到這一步,是以,所有的固態硬碟控制器在2013年以前,都是以Serial ATA介面來進行設計的,要以PCI-Express介面來使用,它勢必要在裝置上多加上一個橋接晶片,來轉換Serial ATA與PCI-Express的訊號。這樣的裝置是會比以往的SATA to SATA來得快,效能也會有明顯提升,可是不管再怎麼聰明的晶片設計,效能始終不會比少一道轉換來得快。但多一顆晶片,就是多一分成本,而且作這種非常規的晶片本來就不便宜,是以這些裝置在2013年以前,價格也難免水漲船高。是以有勇氣作這種突破性產品的廠商,小編要先為他們的勇於嘗試至上一份敬意。

另一個問題就在於規格,在固態硬碟開始銷售的前幾年,大部分的廠商都努力地在筆記型電腦上的應用著墨,理由很簡單,因為2.5吋的規格在PC上還不一定可以找到固定安裝的位置。所以那幾年,作2.5吋轉3.5吋轉接架,以及反應快的機殼廠商多多少少也在這方面賺了一點錢,因為讓使用者可以在他們自組的主機上加裝固態硬碟。好,現在這個裝置必須是一片插在擴充槽上的板子,一開始行動運算的市場就不存在,簡而言之,這種裝置就是要專攻PC與高效能電腦的應用。這下子本身就有限的市場空間就變得更小,在無法大量量產的前提下,這種需要另制PCB的裝置,價格自然也難下修,所以在去年以前,這種裝置非常少。

在2008年,Intel開放了NVMe的開放規格,讓廠商們可以依照這個架構,製作直接以PCI-Express的開機啟動裝置。到了2014年的控制器廠商的產品資料中,會發現各家廠商們都不約而同地在新一代晶片的規格上,看到一句原生支援PCI-Express介面的規格字樣。在這樣的規格下,使用者可以在維持系統輕薄的原則下,製作薄型、高效能的PCI-Express裝置,但未來的問題在於這些板子目前還沒有公定的規格,若我們期望這些PCI-Express固態硬碟可以有更平民的發展,嚴格說來還有一年左右的觀察期。

Sandforce的新應用技術

新一代的3000系列除了前述原生支援PCI-Express的介面外,最需要使用者注意的應用其實不外乎OP〈Over-Provisioning〉的管理,以及ECC技術的應用,就是動態的OP應用。在解說前,我們以表格來作個簡單的表示:

Over-Provisioning 的使用模式

標示OP百分比

0%

7%

16%

28%

實體OP百分比

7%

15%

25%

37%

SSD 容量

最後使用者可用的容量值

64GB

64GB

60GB

55GB

50GB

128GB

128GB

120GB

110GB

100GB

256GB

256GB

240GB

220GB

200GB

 

首先,我們要讚揚LSI SanForce的誠實〈笑〉,在LSI SandForce的邏輯中,SSD本來保留的Spare空間是應該由控制器廠商自行定義的,這是一個負責任的作法,當然也可以解釋成「醜話說前頭」的處理方式。理由很簡單,一顆SSD的Spare越高,意味著可替換的Block也越多,相對的可用的容量也變少了,這是在Flash memory先天的狀態下無法改變的事實,是以從2200系列開始,LSI SandForce其實就已經開出了這樣的規則,只是到了3000系列,更是進一步的要求。

另一個功能就是ECC,3000系列中,LSI SandForce放出了很有趣的一招:我連ECC的比例也可以動態調整!在他們的名稱中稱之為「LSI Shield」〈哇……神盾耶,設計者該不會叫美國隊長吧………〉,這項功能其實是為了因應控制器廠商一直很想打進的企業級應用市場,透過ECC的調整,可以將一顆SSD在寫入資料時所產生的ECC校驗碼透過檢驗密度與數位信號處理〈DSP;Digital Signal processing〉的搭配,讓合作廠商自行與LSI決定一顆SSD可以擁有的ECC功能強度。強度越高,表示校驗碼的密度也越高,花費在演算與比對資料的儲存容量和演算時間也會越多,這個部分也會影響到一顆SSD可以使用的總容量空間總值。

想想為什麼要搞得這麼複雜呢?理由很簡單,未來SSD的Flash memory難免就是會搭載使用壽命更短的TLC,如果沒有更強的保護機制,相信沒什麼人敢把資料儲在裡面,若是企業應用的產品,即使使用MLC的款式,使用者還是會希望有高一點的可靠層級。這兩項變通的功能,都是可以有效提高固態硬碟的可靠性,但同時也會犧牲掉部分容量與效能的應用。正如LSI誠實的白皮書所說:「沒有完美的儲存媒體」,效能與可靠性,永遠都是在天枰的兩端,端看使用者的需求來調配。

另一項其實已經不算新技術的消息就是LSI RAISE〈獨立矽元素冗餘陣列;Redundant Array of Independent Silicon Elements〉,這個功能的設計理念,在於當一顆SSD「很自然地」或是「一不小心」掛掉的時候,可以自動進入唯獨模式,並確保裡面的資料「還可以被讀出來」,只是不能再寫東西進去而已,使用者可以透過這項技術以另一個正常的固態硬碟將資料Clone到新硬碟上以延續資料的壽命。當然,我個人是沒有實際使用過這項功能,我也希望用戶不會使用到,但若真有示範,也希望能有機會看到使用者的範例。

在此也附上LSI SandForce 3700系列的規格表,供大家參考

SF3700 Flash Controller Family

SF3719

SF3729

SF3739

SF3759

核心

SF3000

支援介面

SATA 6 Gb/s

PCIe Gen2 x2 (AHCI and NVMe)

SATA 6 Gb/s

PCIe Gen2 x2/x4 (AHCI and NVMe)

支援記憶體與通道數

MLC

9 channels up to 400MT/s

ONFI 2/3, Toggle 1/2

MLC, TLC

9 channels up to 400MT/s

ONFI 2/3, Toggle 1/2

SLC, eMLC, MLC, TLC,

9 channels up to 400MT/s

ONFI 2/3, Toggle 1/2

封裝與大小

624-ball FCBGA - 17 x 17 mm, 0.65 mm pitch

最高支援容量

128 GB

2 TB

 

Marvell的新應用技術

相對於LSI SandForce落落長的技術白皮書,Marvell倒是乾淨俐落地以新聞稿與現場展示處理了新晶片的訊息。兩顆最受注見的Marvell新一代SSD控制器,當推88SS9293與新一代的88SS1083這兩個小朋友。有趣的是,這兩個晶片的完整資料很隱密,在Marvell的網站上一直沒有詳細的官方訊息透露,只有幾篇新聞在網站上呢喃。倒是在年初的CES展場上,Marvell開心地展示了以PCI Express Gen2 X2為介面的88SS9293在幾顆Flash memory的陪伴下,開心的跑出了超過1GB/s的頻寬,想想現在1GB/s有一種越來越不值錢的感覺。

不過Marvell大動作的地方,倒是在力推SATA Express的新型介面,希望透過新介面的推廣,來突破Serial ATA 6.0Gb/s的限制。這個新介面說穿了,就是在既有的SATA插槽外側,新加一組以PCI Express Gen2接出來的X1通道,透過通道的整合,SSD可以在原有的介面下,同時以Serial ATA與PCI Express的訊號和主機板傳輸訊號,自然也就能突破原有的瓶頸。這顆控制器就是88SS1083,第一顆成功整合了SATA與PCI Express訊號奇葩,相對於以往選A或選B的思維,這顆晶片倒是以讓使用者在儘量在原有的模式下,同時使用兩種介面來逹成高頻寬的目標。也就是說,使用者仍然可以在原有的2.5吋裝置中,使用到新型的應用,當然,這個功能必預要你的主機板和SSD同時都擁有SATA Express新介面才行。換句話說,Marvell是定睛在Intel 9系列平臺來決定這樣的策略的。

至於其他安全性的設計,其實Marvell本來在ECC技術和資料保護技術上都有完整的功課,所以在這次的介紹中我們就不作多餘的贅述。不過我們還是花點功夫,把今年Marvell殺出來的新控制器約略地整理一下:

晶片名稱

主要特點

88SS1083

  • 整合Serail ATA 6.0Gb/s與PCI Express Gen 2 兩組通道的控制器,頻寬可以超越1GB/s〈在資料中說Replace SATA 6.0Gb/s,不確定是否可以僅支援SATA 6.0Gb/s〉
  • 支援28nm或更新制程的Flash記憶體
  • 支援Toggle 2 / ONFI 3

88SS1074

  • 搭載LDPC〈低密度校驗碼檢測;Low-Density Parity Check〉功能,主要搭配TLC Flash memory的應用。
  • 支援15nm TLC/MLC/SLC and 3D NAND。

88SS9485

  • 用於網路雲端應用儲存與網路影像錄製的系統。
  • 標榜低耗電、高容量,與高成本效益的搭配。

88SE9235

88SM9705

88SS9293

  • 已知可支援PCI Express Gen2 X2的介面〈未能確認是否支援SATA 6.0Gb/s〉

88SE9235/9215

  • 仍以以往的Serial ATA 6.0介面為主。

 

發表新的回覆

訂閱評論選填: 在下方登入.

顯示0回應