ReveNAND: A fast-drift-aware resilient 3D NAND flash design
ACM Transactions on Architecture and Code Optimization (TACO2018, CCF B; Shihab M M, Zhang J, Jung M, et al.)
What?
本文介绍了一种elastic read reference(VRef)scheme(ERR),用于减少 ReveNAND(快速漂移感知 3D NAND 设计)中的此类错误。为了解决自适应 VRef 的固有局限性,本文引入了一种新的块内页面组织(hitch-hike),可以对容易出错的页面进行更强的纠错。此外,本文还提出了一种新颖的基于强化学习的智能数据填充方案(iRefill),以最小的性能和硬件开销抵消快速漂移的影响。最后,本文提出了第一个分析模型,用于描述快速漂移的特征并评估其系统级影响。
本文提出了一种对Fast-Drift分析模型,该模型基于相关拟合常数和对快速漂移的有影响相关参数
其中相关参数包括:ΔVTh为Fast-Drift程度,t 为写入后的经过时间,VTh,Init 为最初编程的电荷阈值VTh,ΔT 为工作温度,tbuf f -ox 为缓冲氧化物厚度,R 为重新填充的次数。相关拟合常数:α, β, θ 和 δ分别为5,368,2.1 × 10−4,47.5 × 10−3。上述公式是针对2D NAND。
该公式则是针对3D NAND。其中P为每个堆叠层的快速漂移率增加P%,n为堆叠层数,ΔVTh-Cell 是单个 CT 闪存单元的快速漂移。
Why?
Elastic Read Reference:本文观察到,基于 CT 闪存的 3D NAND 单元会在编程后相对较短的时间内丢失一部分存储电荷,从而影响可靠性和性能。其原因是,在注入电子过程中,并非绝大数电子深入Charge Trap Layer(CTL)内部,而是保存在隧道氧化物-CSL 边界。这些浅俘获电子会在程序完成后很快逃离 CSL,并导致阈值电压 (VTh) 发生变化。
Hitch-Hike:本文观察到,因为 ECC 开销会随着错误率的增加而呈超线性增长,其能耗和延迟开销将是巨大的。以页数计算,512 位校正的 ECB 开销约为 62 页,仅占区块容量的 20% 左右。
iRefill:任何重新编程操作都必须先进行擦除操作,而擦除操作的延迟和能耗都很高。然而,ISPP (In-Place Programming)机制允许 NAND 闪存单元从电荷较少的状态编程到电荷较多的状态。作者发现,ISPP 是处理 3D NAND 闪存单元快速漂移问题的绝佳选择,因为 ISPP 允许以受控方式添加电荷,重新填充此类单元。从高层次来看,可以同时地或定期地安排重新填充操作。在同时填充方案中,在写入操作之后,会立即进行规定次数的填充操作。由于无法在写入时预测每个数据所需的保留时间,必须为每次写入执行填充操作,这可能会使同时填充方案的写入开销过高。而周期填充方案中,只有当页面达到丢失数据的时间阈值时,才会周期性地为其安排一次重新填充操作,并根据需要重复此过程。如果一次写入/重新填充可保留 X 个月的数据,而需要保留 Y 个月的数据,那么该页面在初始写入后将需要 ( Y/X - 1) 次重新填充操作。周期填充方案的填充次数是多于同时填充方案,但这两种方案都会产生很高的写开销,并不适合许多现实生活中的应用。
How?
Elastic Read Reference:本文提出了a fast-drift-aware elastic read reference voltage (ERR),该算法是先记录页面最近写请求的时间和最新的读请求时间,做差计算出快速漂移时间。根据快速漂移时间和表格数据,分配一个合适的读参考电压。表格数据是根据作者提出的分析模型得出的。但该算法存在一定缺陷:当快速漂移导致state 2 的 VTh 分布扩大并与state 1 的 VTh 分布重叠时,R2 中的某些数据实际上属于state 1;这些数据被错误读取并产生新的错误。在这种情况下,ERR 越是移动 VRef,state 1 产生的新错误数量就越多。但是,如果限制 VRef 的移动,则state 2 的错误会增加。
Hitch-Hike:本文提出一种hitch-hike 方案,以减少ECC开销。该方案将一个block中页面分为custodian page,client page以及non-crtical page。其中non-crtical page中数据用常规的ECC进行编码;而client page则使用增强型ECC编码,并将ECB存入custodian page(每个页面可存入多个页面的编码)中。此外页面被标记为client page时,memory controller将custodian page id和ECB pointer分配给该页面,client page将通过id和pointer定位ECB进行解码。
iRefill:该算法是基于强化学习SARSA with ɛ-greedy technique。其中State设定为当前重新填充次数,时间间隔以及当前误码率;Action设定为重新填充操作和常规 I/O 操作;
EXPERIMENTS
Hitch-Hike: Sensitivity Study:在快速漂移水平较高的情况下,msnfs4 从增加custodian page数量中获益最大,而 hm0 的改进幅度最小。不过,对于所有三种工作负载,纠错的改进似乎最终都会达到饱和。ECC 的延迟和能耗会迅速上升到不合理的水平,从而降低收益。
iRefill: Feasibility Study:当数据全为冷数据时,写入次数No Refill<iRefill<Concurrent Refill<Periodic Refill;而冷热数据各50%混合,No Refill<iRefill<Concurrent Refill<Periodic Refill;全为热数据,No Refill=iRefill=Periodic Refill<Concurrent Refill
Reliability and Performance Evaluation:
BER Improvement:发现 HitchHike 和 HitchHike+ERR 与 Baseline 和 ERR 相比,误码率没有任何改善。这是因为 HitchHike 方案不是为了减少误差,而是为了纠正更多的误差。
ECC Latency And Energy Analysis:
Notes
Since the mid-1990w, NAND flash has changed the perception of data storage, thanks to its diverse and successful incarnations as the preferred storage medium for most computing domains.
自 20 世纪 90 年代中期以来,NAND 闪存已经改变了人们对数据存储的看法,因为它在大多数计算领域都成功地成为了首选存储介质
However, scalability has become a critical limitation that can impede further progress of the two-dimensional (2D) NAND flash designs.
然而,可扩展性已成为阻碍二维(2D)NAND 闪存设计进一步发展的关键限制因素。
A natural response to such higher error rate could be to employ a stronger error-correcting code (ECC) scheme for 3D NAND.
应对这种较高错误率的一个自然办法就是为 3D NAND 采用更强的纠错码 (ECC) 方案。
- A natural response to A could be to employ B
应对A的一个自然办法就是使用B
Therefore, while 3D NAND can suffer from severe reliability problems without effective measures against fast-drift, a naive, brute-force attempt to correct the errors can instead hurt the system performance.
因此,如果不采取有效措施防止快速漂移,3D NAND 可能会出现严重的可靠性问题,而简单粗暴地纠正错误反而会损害系统性能。
- Therefore, while A can suffer from B without effective measures against C, a naive, brute-force attempt to correct the errors can instead hurt the system performance.
因此,如果不采取有效措施防止C,A可能会出现B,而简单粗暴地纠正错误反而会损害系统性能。
concurrent charge-refill seems attractive in the sense that it require little to no scheduling overheard.
从它几乎不需要过多的调度角度来说,同时性电荷重新填充似乎很有吸引力。
- A in the sense that B
从B的意义上说,A
Figure 12 qualitatively portrays the comparative superiority of iRefill over such naive scheduling schemes.
图 12 定性地描绘了 iRefill 与此类天真调度方案的比较优势。
- A qualitatively portrays the comparative superiority of B over such naive scheduling schemes.
A定性地描绘了 B与此类天真调度方案的比较优势。
FTL can be broadly partitioned into two units:
FTL大致可分为两个单元
We quantitatively validate the advantages of iRefill over the concurrent and periodic refill schemes by comparing their write overheads for 13 real-life workloads.
通过比较 iRefill 在 13 个实际工作负载中的写入开销,我们从数量上验证了 iRefill 相对于并发和定期刷新方案的优势。