探究 SSD 速度快慢的主因:搞懂顆粒配置與架構, PCI-E 、 RAID 效益評估

ADVERTISEMENT

技術發展有物理限制

要談論顆類配置黃金組合,筆者試想從快閃記憶體基本結構切入,直探最為根本的部分或許會比較容易搞懂。快閃記憶體是由無數電晶體構成,在電路上排列井然有序,屬於矩陣的形式。矩陣(Matrix)是由列(Row)與行(Column)組成,將之想像為擁有眾多格數的書櫃/收納盒,就不難釐清和硬碟圓形碟片之差異。

當前19、20nm製程產品已蔚為主流,直接獲益的是在相同面積內,得以容納更多電晶體,相對而言就是容量提升。話雖如此,單一裸晶圓(Die)最大容量,目前也不過發展至128Gbit而已。換算下來為16GB,相較於3.5吋硬碟單碟片早已達到1TB,這般容量說來相當小。

廠商何不生產更大容量裸晶圓?追高(容量)代表得集結更多電晶體,然而半導體晶圓片(Wafer)為圓形碟片,生產時所有區域不可能完美無瑕。電晶體電氣特性不佳甚至損壞,是隨機散布在任一位置上,這物理限制相當難以人為控制。意味同尺寸晶圓生產不同容量產品時,真實良率會大為不同,將直接影響到成本。

堆疊是積沙成塔之計

基於這點因素考量,晶圓廠廣為採用堆疊(Stack)封裝技術,將2~8或更多個裸晶圓封裝在一起。常見標示方式為裸晶圓數量加上CE(Chip Enable),如2CE即代表是拿2顆相同容量裸晶圓共同封裝。這做法有內部線路布局的難度限制,會相對反應在成本上,因此無法盡情疊疊樂。

實際參考晶圓廠商產品型錄,當前量產最高容量顆粒為1Tbit(128GB),這總算是不小了吧!然而翻開細部資訊可發現,此等級顆粒屬於8CE規格,由8顆16GB裸晶圓堆疊封裝而來。固態硬碟實際常見顆粒是以2~4CE類型居多,單一裸晶圓以至多8GB容量為主,16GB目前只有Crucial、Intel身先士卒採用。

堆疊封裝技術另外有個重點,聯外I/O(CE#與T/B#訊號控制腳位)數量隨顆粒封裝類型而不一,對於寫入速度有莫大影響。過去常見固態硬碟廠商採用TSOP(腳位僅48支)封裝顆粒,其結構只有1組對外I/O,反觀逐漸躍為主流的BGA(腳位可達132個或以上)類型,依內部布線而定可以有2~4組之多。

速度其實比想像中慢

聯外I/O數量何以影響寫入速度呢?如前面提過關鍵字「矩陣」,Die(晶圓)內部電晶體組織規劃,基本為Page(頁)、Block(區塊)、Plane(儲存矩陣)。藉由行與列的排序,將最小儲存單位Page,每數個集合成1個Block,最終構成龐大的資料紀錄矩陣。各層級實際組成數量,視廠商設計規格而定,沒有絕對值。

探究 SSD 速度快慢的主因:搞懂顆粒配置與架構, PCI-E 、 RAID 效益評估

MLC類型快閃記憶體結構功能方塊示意圖。

探究 SSD 速度快慢的主因:搞懂顆粒配置與架構, PCI-E 、 RAID 效益評估

快閃記憶體內部最小儲存單元為Page,各層級排列結構以行、列為原則,組合成偌大的矩陣。

其資料存取動作,是將來自I/O控制器的指令送進位址暫存器(Address Register),然後提供給列、行解碼器(Row、Column Decode)進行解碼,以便在這偌大矩陣內找出目標位置。礙於內部電路控制因素影響,讀取作業時間可小至100µs以內,寫入卻可能達到1000µs以上,動輒至少相差超過10倍。

這時間落差即為訊號延遲,時間短代表在同一時間單位內,可量測、換算出來的速度值比較高。簡而言之,快閃記憶體有讀取快、寫入慢這特性,廠商因應之道,是在Block之上再設計了Plane結構層。其作用和多組I/O堆疊封裝相似,得以讓控制器先將資料拆分,然後再同時寫入到儲存單元內,藉此改善存取效率問題。

資料傳輸速率如頻寬

除了前述關係式外,快閃記憶體的資料吞吐量設計規格,亦會左右效能表現。目前顆粒大致上可區分為ONFi、Toggle這兩大類型,前者支持廠商以Micron與Intel為主,後者則有Toshiba、SanDisk、Samsung等。ONFi當前規格已開至333MTs/,Toggle最高則是達400MT/s,其單位MT/s是表示資料傳輸速率。

不過得留意,快閃記憶體有同步(Synchronous)與異同步(Asynchronous)之別,兩者資料讀寫傳輸差距達數倍。以ONFi類型200MT/s規格顆粒為例,這是指同步模式理論上可達200MT/s,非同步則是只有50MB/s。顆粒所標示速率規格,我們可以視之為通道頻寬,以相對應換算單位MB/s來看。

平行處理以提升速度

行文至此,簡單隨便列舉個範例,來看固態硬碟是如何存取這龐大矩陣。假設某一64Gb顆粒具有4096個Block,結構是每2048個Block組成共2個Plane,而每個Block又有256個Page,意味總共有1048576個Page。假設固態硬碟共配置16顆規格顆粒,那麼Page總數量將達到16777216個之多。

這些為數眾多的Page,固態硬碟到底是如何控制存取呢?其運作模式為平行分散處理。基於損耗平均技術(Wear Leveling)機制考量會將資料拆分,再藉由各個可用資料傳輸通道,同步分散寫入到各顆粒內。這運作模式相似於RAID 0架構,固態硬碟各資料傳輸通道,相當於組建RAID 0使用的儲存裝置數量。

表定通道數量是基本值

當前主流消費性控制器,無論是Marvell或LSI SandForce等品牌,普遍為8通道設計,每個通道最多可以控制2顆1~4CE類型顆粒。我們不用拘泥於真實通道數量這點,簡單將控制器通道、每個通道配置顆粒、聯外I/O等全數相乘,所得結果姑且稱為視在通道數量。

例如8通道控制器、每個通道2顆、2CE顆粒,計算下來即相等於32通道。在平行處理基礎下,意味控制器與快閃記憶體之間,同一時間點內可以利用的資料存取管道多達32個,會有利於提升存取效能。對消費者而言,顆粒配置這關係式用乘法來看,其實並不難理解。

探究 SSD 速度快慢的主因:搞懂顆粒配置與架構, PCI-E 、 RAID 效益評估

固態硬碟電路板基本結構示意圖。以8通道控制器為例,即便配置16顆顆粒,仍無法跳脫傳統通道數量觀念,它就是只有8條通道。

探究 SSD 速度快慢的主因:搞懂顆粒配置與架構, PCI-E 、 RAID 效益評估

固態硬碟電路板基本結構進階示意圖。同樣8通道控制器範例,搭配16顆2CE類型顆粒時,姑且不算計Plane的部分,平行處理結構已相似於32通道。

bisheng
作者

前 PCADV 編輯、現 BenchLife 玩票性質打雜工 https://benchlife.info

使用 Facebook 留言
Mike
1.  Mike (發表於 2015年10月13日 18:12)
Hello bisheng大大:
使否有SSD相關的書籍名稱可以提供給我參考
我需要這些知識

謝謝您
發表回應
謹慎發言,尊重彼此。按此展開留言規則