認真的小明 wrote:
LDPC的Contr...(恕刪)
沒有耶,PE低不是NAND回報fail(很多人以為PE數是次數到了,就不能用,其實不然,通常都是controller太弱,沒辦法conver,而不是NAND return earase/progream/read fail),而是你的ECC engine太弱,資料已經UECC所導致,實務上跟NAND比較無關,你用TLC 跟MLC 同時burn in,TLC 會先掛掉,只能表示你用的是同樣的ECC converage,因為PE cycle本來就不是這樣判斷,而且重點是,MLC會用的應該是BCH或是 strong BCH,現在大部分用TLC的很少有用LDPC,所以同樣的情況下去burn本來就是TLC會先掛,但是TLC本來就不能用BCH,這就像柴油車你硬要加95,就不是這樣用咪~~~
另外,TLC的 PE是有可以超過15K的,我想應該比很多公司 MLC+BCH 還強,所以重點不在TLC或是MLC,而是你有沒有辦法有夠quality的NAND 還有足夠的ECC engine conver,因為TLC跟MLC 他的error bits增加的速度取線並不相同,所以不能這樣直接比較,大概就像MLC可能在前面有一段時間都維持在72 error bits以內好了,可是過了這段時間後,他可能就會開始急速爆增到200error bits, 而TLC可能在前面同樣時間,他只能維持在100 error bits,可是過了這段時間後,他增加的速度可能比MLC還要慢很多,所以你說TLC跟MLC的比較,你如果用BCH,你得到的結論當然會是TLC先掛,但是換成LDPC 可以cover 180error bits的時候,那就會變成MLC先掛,所以是ECC engine太爛,不是NAND太爛
還有一點,SLC to TLC並不能增加它的PE,會用SLC to TLC最主要是因為performance考量,如果你可以直接寫進去TLC,都是一次寫入,何必要多浪費一次SLC的PE? 觀念不對,也表示你不是資歷還淺就是不是業內的.
cell01 wrote:
Rayco大,我有問...(恕刪)
其實記憶體的用途在把Table攤開,因為就像file system一樣,外面host看到的位置假設可能有0~1000,但是他並不是真的就是NAND上面的0~1000,因為NAND需要做wear leveling, read reclaim等等等,所以controller一定會讓他以目前它記錄當中最適合的位置去做寫入,然後建立一個表(Table)來管理,而一般來說,隨著容量變大,你需要的表就會越大,特別是當TLC的NAND,如果你要查到一個位置的實際位置,無論讀取或寫入,它有可能需要讀取好幾次來查表,查看看到底檔案在哪邊,而有記憶體其實有兩個作用,一個是把你的表全部存在記憶體上,讓你在查表的時候不用先去讀NAND就可以知道你要寫的檔案位置在哪邊,特別是TLC超大的容量,這個步驟可以省去很多讀取NAND的時間,當然成本也會變得比較高,讀寫都一樣,所以真正加速的地方,並不是MLC跟TLC速度上的差別,其實我認為差別沒有很多,真正的差別是在查表的階段,這個地方有沒有特別使用記憶體,那就真的會有很大的差別,而且小chunck size的因為要一直查表,所以速度就會很明顯的有差異了,很多人以為有記憶體是把檔案先吃下來,或快取在上面,這其實並不是效能的瓶頸,查表才是問題所在
至於價格差別,首先NAND國際報價你可以看一下
http://www.insye.com/dp/NANDFlashContractPrice.aspx
同容量的MLC大約比TLC貴28%,但是LDPC跟BCH的controller價差大概差了快一倍(LDPC面積非常大),還有加上需要快取的RAM,不過因為controller並不貴,LDPC加上去頂多1.x美金,不過多出來的快取就貴了,所以整體來說,128GB的容量要八顆的情況下價差約在15~20%,其實....我認為以業界的標準,我認為算滿合理的,希望有解答到你的疑惑
內文搜尋

X