不論在企業或消費型市場, 固態硬碟(SSD)滲透率與採用率明顯快速增加. 固態硬碟較傳統硬碟優勢包含傳輸速度快數倍, 以及容量更大及兼具備低耗電, 低噪音的特性. 近幾年來, 固態硬碟單位儲存成本價格持續下降, 與傳統硬碟的價差日愈拉近, 此市場已經走向逐步汰換傳統硬碟的趨勢.
固態硬碟的市場特性需求走向高效能, 更大容量, 成本愈低的趨勢, 而固態硬碟的主要組件-NAND Flash也因應這樣的市場需求, 需要具備這樣的產品特性.
隨著市場需求, 為了進一步提高固態硬碟容量且降低每位成本, 傳統2D NAND Flash製程不斷向下微縮, IC單位面積所需要的晶體管則是不斷提升.
如同Intel公司創始人之一的Gordon E. Moore在1965年提出所謂的摩爾定律(Moore' s Law)-單一矽晶片的晶體管數目, 每隔十八到二十四個月將會增加一倍.
傳統2D NAND Flash面臨製程挑戰
2D NAND Flash結構主要是在晶體管中增加一層由多晶矽作為材料的浮動閘級(Floating Gate), 浮動閘極主要用來作為儲存電荷, 利用儲存電荷的多寡可用來判別各個記憶體儲存單元(Cell)的儲存狀態為1或是0(圖1 ).
製程的微縮造成各個儲存單元的浮動閘極之間的距離越來越近, 當距離小於20nm, Cell-to-Cell耦合幹擾(Coupling)的問題會愈加嚴重(圖2). 耦合幹擾會造成記憶體儲存單元儲存狀態出錯, 因而造成儲存數據發生錯誤.
圖2 製程微縮衍生出Cell-to-Cell coupling.
製程微縮有一定的物理極限, 且製程持續的微縮, 由於技術上的困難, 也會逐漸提高成本. 但是, 消費性市場卻仍需要更高容量, 更低成本的解決方案. 有鑒於此, 各記憶體大廠開始積極研發3D NAND Flash.
3D NAND Flash技術主要由堆棧更多的層數以取代2D NAND Flash製程的微縮. 也就是說不再藉由製程微縮技術, 而是藉由垂直堆棧儲存單元來提高容量, 藉此解決因為記憶體儲存單元之間浮動閘極的接近, 而導致耦合幹擾愈益嚴重的問題; 同時達到產品更高容量, 更低成本的市場需求.
3D NAND Flash產品特性雖然可符合目前市場所需, 但仍有先天上製程的問題, 而需要搭配的NAND Flash控制器有更高的糾錯能力.
3D NAND Flash的結構為由多晶矽(Silicon), 氧化矽(Oxide), 氮化矽(Nitride), 氧化矽(Oxide), 以及單晶矽(Silicon)的堆棧所組成, 可以稱作SONOS.
由於SONOS物理特性的問題, 電荷泄漏(Charge Loss)的機率會較傳統浮動閘級更大, 再加上TLC讀取界線(Read M argin)較MLC更小, 因此3D TLC Flash數據出錯的機率會更高, 因此搭配3D TLC Flash, NAND Flash控制器需要具備更高的糾錯能力.
為此, NAND Flash供貨商便研發三階段高效糾錯保護機制, 包含LDPC(Low-Density Parity-Check) Hardbit Decode, LDPC Softbit Decode, SmartECC Engine, 可有效延長3D TLC NAND使用壽命, 增強固態硬碟產品可靠度.
以4K位元組糾錯 LDPC先把關
在LDPC的糾錯保護階段, 是以4K位元組(Byte)為單位來糾錯. 在對NAND Flash做頁面寫入(Page Program)之時, 會在相對應的冗餘區域(Spare Area)寫入校驗數據碼(Codeword). 校驗數據碼為透過生成矩陣(Generator Matrix)編碼而產生, 此校驗數據碼以每4K位元組數據為單位來產生.
當讀取NAND Flash數據的時候, 奇偶校正矩陣(Parity Check Matrix)便用以檢查讀取進來的Codeword是否有發生錯誤(圖3).
圖3 LDPC Encode/Decode
如果確認發生了讀取錯誤, 會做第一階段Hardbit Decode的糾錯. Hardbit Decode的糾錯能力近似於傳統BCH, 在此階段為透過位檢查糾正發生錯誤的數據, 若是在Hardbit Decode階段仍無法將錯誤糾正, 便會進入第二階段Softbit Decode.
在Softbit Decode階段, 主要是透過LLR(Log-likelihood Ratio)對應表進行糾錯. LLR對應表為透過機率統計的方式記錄每個位發生錯誤的機率. 藉由LLR對應表可對發生錯誤的數據進行糾錯. 以NAND Flash供貨商群聯電子為例, 該公司針對3D TLC Flash, 具相對應的LLR對應表並搭配數字訊號處理(DSP)模組, 可根據累積的糾錯經驗, 動態產生更新的LLR對應表以得到最佳解碼結果與錯誤糾正能力, 以提高糾錯效能.
LDPC流程中奇偶校正矩陣的設計會影響LDPC的糾錯效率. 未設計優化的奇偶校正矩陣可能會有ECC錯誤數目發生較少, 卻無法更正的現象, 也可能出現在ECC錯誤數目較多, 更正能力卻轉弱的現象.
在進入SmartECC的糾錯階段, 是以NAND Flash頁面(Page)為單位來糾錯. 在每個頁面在寫進NAND Flash時, 寫入頁面數據也會同時送入SmartECC engine做編碼, 編碼後會產生相對應的校正碼(ECC Parity), 校正碼會與寫入數據一起寫入NAND Flash. 當數據所發生的錯誤無法透過LDPC Hardbit/Softbit Decode流程重建時, 在此階段可透過SmartECC engine所產生的校正碼, 來做數據複原.
三階段糾錯確保NAND Flash效能
現今NAND Flash大廠皆已陸續導入3D NAND Flash, 3D NAND Flash出貨量已於2017年超越2D NAND Flash, 成為市場主流製程. NAND Flash控制器需能夠具備更穩定的管理方式以及更周全的糾錯能力, 才能完整發揮3D NAND Flash產品特性與優點.
3D TLC Flash由於製程結構的關係, 仰賴NAND Flash控制器有更高的糾錯能力; 而三階段糾錯保護機制, 提供NAND Flash發生數據錯誤時, 高效率且低耗電的數據糾錯解決方案, 有效延長3D TLC Flash固態硬碟使用壽命及增強產品可靠度.