SSD儲存的資料.jpg 

  如大家所知,三星第一家以2D TLC製造推出TLC SSD的工廠,當時還沒發展3D TLC,因此SSD容量發展一直依靠縮小面積,例如Toshiba NAND 19nm -> A19 -> 15nm,而A19是把Width縮小,其實這是不利於Floating gate儲存電荷,這層不管面積大小,電荷存滿後電位都是一樣(材料物理特性無法突破),所以縮小面積即表示用更少電子分佈有限電位,例如舊製程(25nm)用100顆電子切8等位(TLC 8階),而新製程(14nm)只能存10顆電子卻一樣切8等位(8階),製程愈小的NAND對SSD壽命和保存期限都是變相傷害,例如Intel 25nm造出MLC P/E可以到10K,後來1x nm做的MLC了不起3K,所以後來就沒再繼續做下去,改向3D垂直發展,這條路再做下去,做的東西不能用啊,3D TLC的Floating Gate面積大很多、所以不用擔心。

  那三星2D TLC會發生什麼事?如上面所說,因為有限電子存量,隨便一顆電子跑掉就會造成資料判讀錯誤,例如原本存110,因為電子跑掉被判斷成111,到這裏也都沒關係,因為SSD有強大的ECC做備份(Backup),ECC又可分為兩種,早期MLC時代,大多數只有設計BCH電路的方式硬解,速度快,就是糾錯能力差,1個Page錯幾個Bit都還沒問題,但超出他的糾錯能力時就有問題,糾錯原理以不是0就是1的概念完成。

  TLC把電位分的太細了(MLC只有4階),出錯比例大幅提升,所以BCH(BCH糾錯代碼,意指糾錯能力)很容易遇到無法搞定的案子,
因此三星率先採用LDPC ECC(BCH ECC糾錯演算法,意指糾錯能力),它與BCH的差別,在於它是演算法糾錯,他也沒辦法100%完全分析,但分析成功機率很高,它的缺點是要花很多時間來糾錯,就會衍生出SSD速度變慢。

  後來大家也都瞭解LDPC(BCH ECC糾錯演算法,意指糾錯能力)的速度是慢到無法忍受的,後來廠商就從SSD的韌體設計上來彌補,電子會跑掉是必然,只要你的要求不那麼高是可以用,就不保證電子不會熱穿隧(SSD資料遺失),所以廠商開始在NAND上面每個Block標註時間,在電子流失到要啟用LDPC(糾錯演算法)之前趕緊把資料重寫(搬到另一個Block),這樣消費者就不會那麼快遇到LDPC的慢速解碼(花很多時間來糾錯讓SSD速度變慢),多數都靠BCH搞定。

如上所解釋、這也只是延遲時間而已,當NAND P/E快用完時,LDPC還是躲不掉資料遺失。

 

來源
謝謝收看

arrow
arrow
    創作者介紹

    john pan 發表在 痞客邦 留言(0) 人氣()