一般SSD,大致可以分成2.5″ SATA、mSATA、PCIe、NVMe、M.2、U.2、NF1…等種類,至於工業用的SSD,則還可區分出不同的種類,例如1.8″、PATA、USB DOM…等等,以塞入需要超小空間的電腦系統來當成主要儲存空間。但是上述的SSD的體積還不夠小,你有看過單一IC就是高速SSD的產品嗎? 這就是我們這次要介紹的BGA NVMe SSD。
NVMe BGA SSD簡介
NVMe BGA SSD是採用Ball Grid Array (球柵陣列封裝)的單晶片固態硬碟(Single-chip SSD),以錫球方式焊死在主機板上,一顆晶片就等於一台完整的SSD,且最新版本可支援到PCIe Gen.4 x4的介面,速度能跟一般市售的NVMe SSD媲美。體積小巧,直接通道筆電PCI-E通道,因此很適合一些超小3C、迷你筆電、平板、車用電子、IoT…等裝置。
至於在針腳方面,BGA 291是比較常見的種類,共有291-pin腳,當然也有不同的針腳設計,例如BGA 345等等。由於體積小,發熱量大,因此有些廠商的BGA SSD上面會加焊一塊散熱金屬板 (稱做 Heat-sink BGA,簡稱HSBGA),以達到快速散熱的效果。至於在PCI SIG定義的外型規格方面,則有M.2 Type 1113-X (11.5 x 13 mm)、1620-X (16 x 20 mm)、2024-X (20 x 24 mm)、2228-X (22 x 28 mm)、2828-X (28 x 28 mm)等外型規格,請參考下圖。
▲ M.2 PCB版本規範(上),與M.2 BGA規範 (下),其中以藍色字Type 1113-X (11.5×13 mm)的規格為最小尺寸
▲ BGA 291 SSD (Type 1113)的外型規格視角圖、Ball Map腳位定義圖
在效能方面,由於BGA SSD 一顆IC封裝中要擠入Flash Controller 主控和NAND Flash晶片,以及必要的元件,因此幾乎都採用3D堆疊設計。這些BGA SSD中,大多數Type 1113-X規格的,不一定會再另外lay一顆DRAM IC做為快取空間 (DRAM-less設計),必須借助NVMe 1.3的HMB (Host Memory Buffer)技術再搭配Windows 10 1709以後版本,才能透過系統記憶體來當快取加速之用,使SSD的效能提升。不過,像Samsung PM971那種BGA SSD (Type 1620-X) 的面積比較大,內部就有塞入DRAM IC,讓其讀寫速度可以再加快,不需借助HMB來加速。
▲ BGA 291 SSD (Type 1113)大多採用DRAM-less設計,需開啟HMB功能來加速
以下就列出一些廠商推出的工業用BGA SSD產品,有興趣者可以參考:
● 宇瞻 (Apacer) PV920-μSSD (BGA 291): https://industrial.apacer.com/en-ww/SSD/PV920-%CE%BCSSD
● 宜鼎 (Innodisk) nanoSSD PCIe 3TE7 (BGA 291): https://www.innodisk.com/tw/products/flash-storage/nanossd/nanossd-pcie-3te7
● 慧榮 (SMI) FerriSSD (BGA): https://www.digikey.tw/zh/product-highlight/s/silicon-motion/pcie-nvme-ferrissd
● 群聯 (Phison) PS5013-E13T (BGA 345): https://www.phison.com/images/products_datasheet/Embedded-PCIe_PS5013-E13TI_202005.pdf
● 華泰 (OSE) uSSD (BGA 345): https://www.ose.com.tw/ic-services/memory-product-package/ussd/
● 三星 (Samsung) PM971 (BGA): https://www.samsung.com/semiconductor/global.semi.static/Samsung_PM971_BGA_NVMe_SSD_product_biref_170201-0.pdf
● ATP N700系列NVMe HSBGA SSD (BGA 291): https://www.atpinc.com/products/BGA-SSD-NVMe-industrial
● Swissbit EN-20/26 (BGA 391): https://www.swissbit.com/en/products/nand-flash-products/managed-nand/#article-482
● M-Factor NVMe PCIe 1113 (BGA 345): https://mfactors.com/nvme-pcie-1113-bga-345-ball/
BGA SSD的散熱討論與報價:
● ATP探討BGA SSD在長時間讀寫下的溫度變化: https://www.atpinc.com/blog/BGA-NVMe-SSD-in-291-ball-grid-array-package
● SMI FerriSSD 256GB 一顆參考報價就要NT$5,420._: https://www.digikey.tw/product-detail/zh/silicon-motion-inc/SM689GXE-AEST/1984-1010-ND/9678797
● SMI FerriSSD 120GB 一顆參考報價就要USD$80.73 (NT$2,240._): https://www.arrow.com/en/products/sm689gxd-aes/silicon-motion-technology
▲ BGA SSD 256GB的報價,大約在NT$5,420元
自製BGA SSD治具,嘗試拯救資料
上述簡單介紹NVMe BGA SSD,主要是因為目前已有不少3C產品已採用此技術,比如說Dell XPS、Microsoft Surface Pro 5/6/Laptop 1等筆電,還有2230 NVMeSSD為節省版載大小。而以OSSLab先前收到客戶的Acer Swift 5筆電,裡面就有一顆BGA SSD,直接焊死在主機板上,因此要進行資料救援的話,勢必得將該SSD解焊起來才行。OSSLab擁有各式設備,可以解焊各種BGA顆粒,並擁有各式治具,以及救援設備,讓BGA SSD也可以拿來進行資料救援。
首先就是要確定該BGA SSD在哪裡?發現原來是SK Hynix的HFB1M8MH331A,是一顆512GB的BGA SSD,客戶需要將裡面的資料救援出來,但由於原先筆電完全無法認到該SSD,使用USB開機也認不到。因此,必須得想辦法將SSD拆下。透過我們的技師用熱風槍的方式,將該顆粒吹下來。
▲ 這台Acer Swift 5筆電裡面,有一顆SK Hynix的BGA SSD,容量為512GB,主要用來儲存作業系統與資料
接下來就請出我們的BGA SSD治具,此治具可以支援各種Type的BGA SSD,將顆粒的Pin 1對齊好之後,即可鎖上並固定,該治具可將BGA PCIe SSD轉換成SATA介面,然後連接至電腦或資料救援專用機台,以進行資料救援作業 (我們另有eMMC治具,可以針對手機專用的eMMC記憶體進行救援。)
▲ 就是這個治具,可以將BGA SSD轉換成NVMe/SATA訊號,讓電腦或資料救援工具來嘗試讀取
首次接上去之後,可以認到,但由於BGA SSD溫度頗高,使得讀取效果不彰,研判BGA SSD原本在筆電內,就已經受到嚴重的損壞,使得治具一開始認到之後,接下來又讀取錯誤。
▲ 以PC-3000 portable 3 專業資料救援設備,檢測到該SSD無法順利認到
我們工程師進行了多種嘗試,仍無法認到該SSD,因此只能判定原始資料毀損,以失敗結案。前文有提到一個溫度問題,新款BGA SSD有加裝Heat-sink來降溫,但我們手上這款BGA SSD,是沒有加裝Heat-sink的,再加上輕薄筆電的散熱方面通常比較一般,因此也有可能因為長時間在溫度過高的環境下持續讀寫,用了近3年之後,導致該SSD壽命掛點。雖說這次的案子沒有將資料順利救出來,但至少證明了BGA NVMe SSD 也是可以透過這種方式,來嘗試進行資料救援了。
特別感謝 雷德資料救援 https://www.raid5.com.tw 討論與分享。
NVMe BGA SSD 開源電路板圖
https://oshwhub.com/Axin/bga291-to-nvme