不论在企业或消费型市场, 固态硬盘(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固态硬盘使用寿命及增强产品可靠度.