kuniaki wrote:
是這樣嗎?LDPC的...(恕刪)
1.LDPC的gate count 比BCH ECC大很多, 目前的TLC 60bits/1KB也還用不到LDPC (某牌TLC 除外). 如果硬要用LDPC, 只是讓成本上升罷了. 舉個例子, USB 目前幾乎都是用TLC了, 但USB 控制晶片的ECC engine絕大部分還是在用BCH. 為什麼呢?
你對LDPC用法有錯誤理解,其實你的問題我在其他篇有寫過,我就幫你解釋一下,LDPC是一種遞回修正機制,他的ECC能力不是只有60bits這樣而已,LDPC的cost本來就比較高,不然你以為用TLC沒有代價嗎? 再來因為MLC跟TLC的錯誤增加曲線不同,可能在前70bits的時候,TLC錯誤增加速度會比MLC快,但是過了70bits之後,MLC的錯誤增加速度有可能就比TLC來的快,也就是說要看的是,你到底能修正多少error bits,所有的TLC spec.你可以去看看,全部都是建議使用LDPC當作ecc engine,你知道為什麼嗎? 因為LDPC修正的能力可以超過150 bits,而你說的USB那種東西只是cost down的產品,毛利才幾%,連NAND 都是down grade,你覺得為什麼會用BCH呢?有空你可以搜尋我回過的文章,有更詳細的解釋.
2.data retention確實會是問題, TLC 的PE就是幾百次, 接近PE極限的時候, data retention就會是問題了.
這個你認為的問題是多大? 你用哪家的NAND測試? 根據我們自己測試,data retention並沒有你說得這麼不堪,如果你用down grade的NAND那我就不敢說了,但mobile用的nand是 1st 篩選出來的,和你認為或是你聽說的差很多
3. 這種做法, 先寫入SLC block, 資料來的時候可以衝很快, 因為tprog跟SLC 的tprog差不多, 但是當資料一直進來, 總有一天, 你的SLC block會飽和, 也就是說, 這時候控制晶片就非得去把資料搬到TLC block去. 這種做法會看到問題就是大量資料持續灌進來時, 前面很快, 但是中間速度就掉下來了, 而且掉的非常多, 因為SLC block 不可能無限多.
你知道你講完這個我就知道你們公司技術很差嗎? 因為在copy-back的時候,SLC依然可以寫資料,然後做完copy-back完之後,SLC就釋放出來了....
4.要先寫入SLC block再copy back. 那WAI 就不會很好看了, 因為每次資料進來至少就要寫再copy. 這還不算garbage collection 時還要再merge 資料. 而這對TLC SSD會很致命是因為TLC 的PE也就是幾百次. 光是controller 就那裡搬來搬去, 就把TLC 的PE搞完了.
再來, 有cache 也不表示無敵. 當有資料queue 在cache 裡, SPOR就會是很頭痛的問題. 不是每一個application 都可以加super cap去解決這個問題.
WAI不是這樣算的,你的理解是因為你用了錯誤的演算法,所以你才會覺得差,以目前主流eMMC來說,WAI大概都在3上下,而且你說的merge想法是因為你覺得是用TLC merge,其實在SLC的時候你應該就要處理完了,SPOR的問題是這樣,如果你開cache mode,本來就會lose最後的幾筆data,這個是看host自己的做法,也有很多是不開cache operation,那基本上data只有最後一筆才會lose
你應該是只有做過USB或是SSD,因為mobile的演算法跟你想的差很大喔~