當前位置:
首頁 > 科技 > 為什麼快閃記憶體品質很關鍵?它影響的不僅是SSD寫入壽命

為什麼快閃記憶體品質很關鍵?它影響的不僅是SSD寫入壽命

今天我們來談談快閃記憶體品質如何影響固態硬碟,今天的討論將不再局限於寫入壽命或可以擦寫多少次這樣簡單的層面。

快閃記憶體的品質

過去我們經常談原片和白片。這種非此即彼的二分法比較容易被大家理解,原片的高品質被所有人認同,而對於白片的爭論就比較多。其實白片和原片一樣,都有等級之分。

並不是所有白片都是原廠篩剩下的次品,有些情況下原廠可能會直接出售晶圓。這些晶圓在出廠時就包含了一張map,將晶圓上每個晶粒的情況做出了標記。

第三方的封測廠根據Map摘取晶元進行封裝,快閃記憶體晶元的分級篩選還需要結合主控一起進行,最終製造出符合特定使用條件的合格快閃記憶體顆粒。

跟晶圓製造階段是相比,晶元封裝相對簡單的工藝流程,相關技術已經被很多第三方企業掌握,還能根據需要實現MCP多晶元封裝。下圖是江波龍將Marvell 88NV1140主控與美光3D TLC快閃記憶體融合封裝的單顆粒NVMe固態硬碟——FORESEE P900。

快閃記憶體原廠數量畢竟有限,採購晶圓後摘取合格晶粒(Good Die)自行封裝,可以發揮封裝階段的成本優勢,起到了豐富市場選擇的作用,同時也促使固態硬碟價格能夠覆蓋到各種人群的偏好範圍。

針尖上跳舞:一步都不允許出錯

雖然公版方案使得製造固態硬碟的入門門檻降低了需多,但固態硬碟對快閃記憶體品質的要求並沒有降低。由於快閃記憶體自身的工作特點,固態硬碟主控對快閃記憶體的使用受到種種制約。從最簡單的來說,快閃記憶體必須先擦除才能進行寫入,所以固態硬碟中沒有真正的覆蓋寫入,所有針對原有數據的修改都將被重定向到新的快閃記憶體位置上。由FTL管理邏輯地址與快閃記憶體物理地址的對應關係。

這就像酒店房間管理,下午2點之前就到達酒店辦理入住,這時給你預留的房間還沒有打掃,所以前台給你安排新的房間,並在系統中做了記錄。

原有數據因為發生變化而成為無效的「垃圾」內容,但主控卻不能命令快閃記憶體直接將這個存儲單元擦除掉——快閃記憶體的最小擦除單位Block塊要比最小寫入單位Page頁大數千倍。隨著已使用和已變成垃圾的位置越來越多,主控所能輾轉騰挪的空間變得越來越小,所以必須要有垃圾回收來整理出足夠數量的、可用於直接寫入的空白塊。

在讀取原來block中有效塊、寫入新位置、擦除原來Block的垃圾回收過程中,不能有一絲一毫的錯誤發生。

機械盤異常斷電丟失的可能僅僅是未保存的文件,而固態硬碟遇到異常斷電或運行異常,丟失的還可能包括到恰好跟正寫入的數據處於同個page或block的老數據——即便那些老數據早就正常寫入進去,依然有可能在這次異常中被破壞。

通過篩選的快閃記憶體顆粒在製成SSD之後,對於成品還需要進行高溫老化測試。下圖是浦科特介紹的老化測試。使用Flexstar專用設備能夠對SSD進行溫度、電源循環、數據讀寫、極限電壓等方面的測試,驗證SSD在磨損均衡、數據錯誤率、組件失效率、寫入耐久與數據保持時間等方面的表現。

並非萬能的LDPC糾錯

固態硬碟對可靠性的要求極高,快閃記憶體寫入和讀出數據的過程,都有糾錯引擎的參與來確保數據無誤。LDPC糾錯近幾年才應用都固態硬碟當中,被稱為拯救TLC快閃記憶體的功臣。藉此機會簡單聊聊大家眼中神秘的LDPC。

LDPC是一種迭代演算法。如果你不明白迭代的含義,推薦看一部名為「明日邊緣」的電影,它講述的是男主有機會一次次回到前一天,通過反覆嘗試各種可能,試圖救下必將死在明天的女主。小編覺得這部2014年的電影很有意思,即便不是為了理解迭代的含義,如果有沒看過的朋友也可以回去看一看。

好了扯遠了,言歸正傳,LDPC是通過迭代的方式反覆嘗試解碼,在這個過程中通過軟數據(Soft Data,SD)的幫助一步步接近正確的讀取結果。

這裡又出現一個叫「軟數據「的名詞。所謂軟數據,可以理解成瞎子摸象——手感。得到的信息量很大,但並不直觀,需要經過進一步綜合判斷才能分析出結果。

快閃記憶體單元內存儲的是電子,根據電子的多寡來表達不同的數據。現在還做不到直接數快閃記憶體單元中電子的數目,只能通過位線上的電流來感知和判斷,並將它們轉換為0和1的二進位數據。下圖是最簡單的SLC快閃記憶體模型:

SLC快閃記憶體的一個單元只需要表達0或1兩種狀態,到了MLC之後要表達的狀態數量就增加到了4個(00,01,10,11),TLC時代更是增加到8個狀態。後邊還要16種狀態的QLC快閃記憶體。沒有LDPC這種強大的糾錯演算法是萬萬不行的。

LDPC糾錯在軟糾錯階段可以通過不同的讀取參數去獲得關於快閃記憶體的更多數據,根據自己的經驗去嘗試判讀,如果ECC驗證不通過,就換個「姿勢」進行更多的嘗試。這裡判讀所依據的經驗是「Log-likelihood ratio(LLR)」,中文名叫對數似然比。

對數似然比是一個經驗豐富的老司機,能夠僅憑一個模糊的畫面就能把車牌號猜個八九不離十。當然經驗再豐富也有翻車的時候,不要緊,LDPC糾錯可以繼續迭代,接著嘗試,直到得出正確答案,或者因迭代次數達到限制而糾錯失敗。

SSD的快閃記憶體品質不好會容易翻車:壞就壞在對數似然比這個老司機身上。對數似然比與快閃記憶體的特性有關,可以想像只開美系車的老司機,讓他猜日本的車牌號是很難猜對的。

對數似然比這些經驗性的信息,是在主控及固件的設計階段就預設好的,需要根據快閃記憶體的不同進行適配。這是一個經驗活兒。天下快閃記憶體製造商雖然只有寥寥數家,但即便是同一家快閃記憶體廠的產品,不同品質等級的脾氣秉性也很難料。這裡邊的問題就複雜了,我就放張龍生九子的圖片吧。

現在我們知道,快閃記憶體的品質不是簡單的PE次數,它會影響到LDPC糾錯的效果,反過來影響到快閃記憶體能夠用多久。即便神如LDPC,如果快閃記憶體品質不佳,也可能因偏離固件的設計而失控。

快閃記憶體出錯的累加效應

通常的情況下,每一筆寫入和讀取的數據都會經過糾錯引擎的檢查。

但某些時候為了更好的性能也會有無主控糾錯引擎參與的數據遷移發生,譬如說使用到Copy Back(閃迪稱為On Chip Copy)的磨損均衡或者SLC緩存釋放過程。

因為Copy Back的數據遷移過程只局限在晶元內部,不需要主控的過多參與,所以釋放了主控壓力,提升了SSD的效能表現,但也因此失去了檢查錯誤的機會,有可能導致快閃記憶體錯誤的逐漸累加,直到下次主控要求讀取時才發現已經超出了糾錯能力範圍。

為了兼顧性能與數據安全,一些固態硬碟會採用適時切換的方式,在快閃記憶體較新的時候採用Copy Back模式提升性能表現,當快閃記憶體磨損達到一定程度後改回傳統模式保護數據安全。PCEVA之前在飢餓鯊TR150固態硬碟的耐久度測試中就發現,該固態硬碟在主機寫入量超過標定TBW之後,就會關閉Copy Back模式。

如果快閃記憶體品質不確定,沒有辦法找到一個合理的均衡點,就有可能無法發揮出快閃記憶體的全部壽命潛力。

總結:

因為NAND塊擦除的特性,必須要有很多複雜的演算法與糾錯輔助來保證運行時的效能與穩定性。NAND快閃記憶體雖然是非易失性存儲器,但在記錄數據的過程中依然充滿風險,除了用戶直接請求的寫入之外,SSD內部的磨損均衡、垃圾回收以及基於數據保持目的的刷新都會產生背景寫入。SSD作為一個精密的整體,主控的先進糾錯技術只是一個輔助,關鍵還是要看快閃記憶體品質以及固件的成熟度。

打個比方,師太親身經歷的事情:朋友開了個烤串店,大家都去捧場,但越吃越咸,老闆解釋說:肉不新鮮,多放點鹽遮遮味……大家以為就是個玩笑沒當真,但回家全都拉了肚子……劣質的NAND就像這個不新鮮的肉串,雖然有各種演算法與糾錯輔助能一定程度遮蓋不新鮮的味道,但你吃下去還是要拉肚子的。

以上是小編多年測試SSD後的心得。水平有限,文中若有錯誤歡迎大牛指正。那麼結尾部分再說些大白話吧,目的是讓沒有專業知識的人也都能看懂:

我們還能得到幾個延伸的結論:

1、SSD跑分其實很扯淡,跑的不過是緩存在極短時間內的爆發力,無法真實體現SSD在實際工作中的狀態。這也是AS SSD的測試結果不靠譜的原因之一。

2、家用固態硬碟沒事別瞎折騰,一邊刪除一邊寫入的事盡量少干,如果寫入時候有卡頓,千萬不要著急的按重啟,多等會,因為塊擦除延遲是比較高的。想騙保的同學看到這裡會有所領悟吧,不過這僅針對使用劣質NAND的SSD,優質NAND+健壯度高的固件,這麼做也很難搞壞。

3、如果非要買低端的SSD,也盡量選有晶元sorting能力的工廠出的產品。已知大陸工廠有這個能力的包括江波龍,台灣的華泰電子等也給很多品牌提供封測服務。我們把這個能力當做一個最基本的及格線,凡是及格線之下的都是不推薦的,比如那些使用拆板、降級顆粒不做sorting卻成天自稱一線原廠顆粒的品牌……


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 PCEVA 的精彩文章:

固態硬碟用劃線片不會懷孕?大S快閃記憶體的安全期沒那麼容易摸透
10元1GB 這塊固態硬碟賣這麼貴的底氣何在?

TAG:PCEVA |