第16卷第6期 智能系统学报 Vol.16 No.6 2021年11月 CAAI Transactions on Intelligent Systems Now.2021 D0:10.11992/tis.202010029 网络出版地址:https:/kns.cnki.net/kcms/detail/23.1538.TP.20210901.1055.002.html 基于卷积神经网络的闪存信道检测技术研究 胡海华,韩国军,张孝谊 (广东工业大学信息工程学院,广东广州510000) 摘要:NAND闪存信道检测技术直接影响数据存储的可靠性,本文针对NAND闪存信道检测过程中因缺乏信 道先验信息而导致检测性能显著降低的问题,提出了一种基于卷积神经网络(convolutional neural networks, CNN)的信道检测器。该检测器通过学习存储单元阈值电压随应用场景的变化特性,来初始化网络参数,并通 过在系统空闲时间段优化网络参数来实现与信道的匹配。仿真实验结果表明:在信道先验信息未知的情况下, CNN检测器可获得比最优阈值检测器更好的检测性能;与现有的循环神经网络检测器相比,CNN检测器具有 更低的复杂度,从而能获得更低的检测延时。 关键词:NAND闪存;信道检测;卷积神经网络;单元间干扰;信道先验信息;复杂度;可靠性;阈值检测 中图分类号:TN919.5文献标志码:A文章编号:1673-4785(2021)06-1090-08 中文引用格式:胡海华,韩国军,张孝谊.基于卷积神经网络的闪存信道检测技术研究J.智能系统学报,2021,16(6): 1090-1097. 英文引用格式:HU Haihua,HAN Guojun,.ZHANG Xiaoyi..Research on flash memory channel detection technology based on con-- volutional neural network J.CAAI transactions on intelligent systems,2021,16(6):1090-1097. Research on flash memory channel detection technology based on convolutional neural network HU Haihua,HAN Guojun,ZHANG Xiaoyi (School of Information Engineering,Guangdong University of Technology,Guangzhou 510000,China) Abstract:Channel detection technology for NAND flash memory directly affects the reliability of data storage.Lack of prior information of channel states can lead to significant reduction of detection performances.Aiming at addressing this issue,this paper proposes a channel detector based on convolutional neural networks(CNN).The detector initializes net- work parameters by learning the varying characteristics with application scenarios of the threshold voltages of the stor- age cells,and realizes channel matching through optimization of the network parameters during the idle time of the sys- tem.The simulation results show that when the channel prior information is unavailable,the CNN detector can achieve better detection performance than the optimal threshold detector.Compared with the existing cyclic neural network de- tector,CNN detector has lower complexity and therefore reduced detection delay. Keywords:NAND flash memory:channel detection;convolutional neural network:cell to cell interference:channel pri- or information:complexity:reliability:threshold detection 近年来,NAND闪存已成为主流存储介质,在 ference,CCD增强,导致数据存储可靠性降低-。 智能手机、个人电脑和大型数据中心中得到广泛 与此同时,编程次数和保持时间的增加引发随机 应用。随着制造工艺的进步,闪存单元的封装 电报噪声(random telegraph noise)和可持久性噪 尺寸逐渐缩小。一方面,闪存单元中存储的比特 声(retention noise),降低了闪存的使用寿命。 数成倍增加;另一方面,闪存内部相邻单元寄生 关于以上噪声带来的信道检测可靠性下降问 耦合电容效应变大,单元间干扰(cell-to-cell inter- 题,国内外学者提出了一些解决方案6。针对单 收稿日期:2020-10-24.网络出版日期:2021-09-01. 基金项目:国家自然科学基金项目(61871136). 元间干扰,Peng等提出CSAD和NIA-CSAD检 通信作者:韩国军.E-mail:ghan@gdut.edu.cn. 测策略;Dong等分析了单元间干扰信道模型
DOI: 10.11992/tis.202010029 网络出版地址: https://kns.cnki.net/kcms/detail/23.1538.TP.20210901.1055.002.html 基于卷积神经网络的闪存信道检测技术研究 胡海华,韩国军,张孝谊 (广东工业大学 信息工程学院,广东 广州 510000) 摘 要:NAND 闪存信道检测技术直接影响数据存储的可靠性,本文针对 NAND 闪存信道检测过程中因缺乏信 道先验信息而导致检测性能显著降低的问题,提出了一种基于卷积神经网络 (convolutional neural networks, CNN) 的信道检测器。该检测器通过学习存储单元阈值电压随应用场景的变化特性,来初始化网络参数,并通 过在系统空闲时间段优化网络参数来实现与信道的匹配。仿真实验结果表明:在信道先验信息未知的情况下, CNN 检测器可获得比最优阈值检测器更好的检测性能;与现有的循环神经网络检测器相比,CNN 检测器具有 更低的复杂度,从而能获得更低的检测延时。 关键词:NAND 闪存;信道检测;卷积神经网络;单元间干扰;信道先验信息;复杂度;可靠性;阈值检测 中图分类号:TN919.5 文献标志码:A 文章编号:1673−4785(2021)06−1090−08 中文引用格式:胡海华, 韩国军, 张孝谊. 基于卷积神经网络的闪存信道检测技术研究 [J]. 智能系统学报, 2021, 16(6): 1090–1097. 英文引用格式:HU Haihua, HAN Guojun, ZHANG Xiaoyi. Research on flash memory channel detection technology based on convolutional neural network[J]. CAAI transactions on intelligent systems, 2021, 16(6): 1090–1097. Research on flash memory channel detection technology based on convolutional neural network HU Haihua,HAN Guojun,ZHANG Xiaoyi (School of Information Engineering, Guangdong University of Technology, Guangzhou 510000, China) Abstract: Channel detection technology for NAND flash memory directly affects the reliability of data storage. Lack of prior information of channel states can lead to significant reduction of detection performances. Aiming at addressing this issue, this paper proposes a channel detector based on convolutional neural networks (CNN). The detector initializes network parameters by learning the varying characteristics with application scenarios of the threshold voltages of the storage cells, and realizes channel matching through optimization of the network parameters during the idle time of the system. The simulation results show that when the channel prior information is unavailable, the CNN detector can achieve better detection performance than the optimal threshold detector. Compared with the existing cyclic neural network detector, CNN detector has lower complexity and therefore reduced detection delay. Keywords: NAND flash memory; channel detection; convolutional neural network; cell to cell interference; channel prior information; complexity; reliability; threshold detection 近年来,NAND 闪存已成为主流存储介质,在 智能手机、个人电脑和大型数据中心中得到广泛 应用[1-4]。随着制造工艺的进步,闪存单元的封装 尺寸逐渐缩小。一方面,闪存单元中存储的比特 数成倍增加;另一方面,闪存内部相邻单元寄生 耦合电容效应变大,单元间干扰 (cell-to-cell interference, CCI) 增强,导致数据存储可靠性降低[5-6]。 与此同时,编程次数和保持时间的增加引发随机 电报噪声 (random telegraph noise) 和可持久性噪 声 (retention noise),降低了闪存的使用寿命。 关于以上噪声带来的信道检测可靠性下降问 题,国内外学者提出了一些解决方案[6-8]。针对单 元间干扰,Peng 等 [5] 提出 CSAD 和 NIA-CSAD 检 测策略;Dong 等 [7] 分析了单元间干扰信道模型, 收稿日期:2020−10−24. 网络出版日期:2021−09−01. 基金项目:国家自然科学基金项目 (61871136). 通信作者:韩国军. E-mail:gjhan@gdut.edu.cn. 第 16 卷第 6 期 智 能 系 统 学 报 Vol.16 No.6 2021 年 11 月 CAAI Transactions on Intelligent Systems Nov. 2021
第6期 胡海华,等:基于卷积神经网络的闪存信道检测技术研究 ·1091· 并用嫡函数来近似求出两种状态分布重叠区的读 3)与现有的RNN检测器⑧相比,分析了两者 取参考电压。上述工作需要估计出最优读取参考 的浮点运算数(floating-point operations,FLOPs),单 电压,该方法依赖闪存信道精准的先验信息(相 层CNN网络复杂度显著小于单层RNN网络。因 邻单元先验信息、编程和擦除次数、保持时间等 此,CNN检测器被激活所需的系统空闲时间比 相关参数)。为减少对信道先验信息的依赖,文 RNN要少得多。 献[8]提出了循环神经网络(recurrent neural net-. wok,RNN)检测器。该检测器在未知信道先验信 1闪存信道系统 息下能减少噪声对信道可靠性的影响,但是该实 闪存信道系统模型如图1所示,数据先通过 验只分析了持久性噪声,没有考虑单元间干扰的 擦除与编程操作写入闪存中,随后经过的干扰包 影响,并且RNN检测器复杂度较高,被激活会占 括随机电报噪声、可持久性噪声和单元间干扰。 用大量的系统空闲时间。在实际场景中,闪存信 (4,o) (4m0e 道会同时存在随机电报噪声、可持久性噪声和单 元间干扰。信道噪声随保持时间变化,对阈值电 压分布扭曲的影响是很难预测的。当前,深度学 存储擦除 理想编程状态 随机电报噪声 习技术迅速发展,在信道检测与估计中都表现出 优越的性能1a。本文提出的卷积神经网络(con- volutional neural networks,CNN)可以从良好的数 (4no) 据集中学习闪存信道难以预测的变化,并能有效 单元间干找 可持久性噪声 检测闪存单元状态。与现有的大多数检测技术相 比,该方法不依赖于精确的信道模型。本文的贡 图1MLC闪存信道模型 献主要分为3个方面: Fig.1 MLC flash channel model 1)通过相关文献对闪存信道特征的测试,可 1.1 编程操作 知相邻单元会受到编程单元的干扰”。基于闪 在NAND闪存中,字线(word-line)由擦除状 存相邻单元间特征,本文先在二维坐标下分析了 态单元和编程状态单元组成。对于MLC型的 相邻单元编程后阈值电压的相关性,这种相关性 闪存单元,可以存储2比特位,并将存储类型表示 表现为相邻单元阈值电压和受干扰单元阈值电压 为4个不同的状态:11、10、01和00.11是擦除 越大,受干扰单元阈值电压越往右偏移。文献[13] 状态,其余的是编程状态。 揭示了CNN在相关噪声信道中表现出较好的特 在编程之前,必须擦除闪存单元中的数据。 征提取效果,所以本文挑选CNN网络来检测NAND 擦除单元的阈值电压符合高斯分布图,该分布为 闪存单元状态。 p(x)= x-4)2 exp (1) 2)实验采用以随机电报噪声、可持久性噪声 o.V2 2r2 和单元间干扰为主要噪声源的闪存信道,生成 式中:σ。和4。分别是被擦除单元阈值电压分布的 受干扰单元和相邻单元的阈值电压序列,组成二 标准差和平均值。 维训练数据集。低密度奇偶校验(Iow-density par- 在编程操作中,闪存控制器会向浮栅注入一 ity-check,LDPC)解码的单元状态通过独热编码数 定量的电荷。编程状态的阈值电压也服从高斯 据预处理作为数据集标签。已训练好的CNN检 分布: 测器在没有任何信道先验信息下可以直接输出闪 1 Pp(x)=- r-4n)2 pV2 exp 22 (2) 存信道的硬判决信息(单元存储状态)和软判决 信息(闪存单元属于某种状态的后验概率)。假设 式中:0。和4,分别是被编程单元阈值电压分布的 信道模型已知,熵函数求解出电压分布相邻状态 标准差和平均值。 分布的重叠区间。在重叠区间中用穷举搜索法找 1.2随机电报噪声 到的最优阈值作为性能对比标杆,下面称之为最 编程和擦除次数会损坏浮栅品体管隧道的氧 优阈值检测器(optimal threshold detector)。计算机 化物,引起闪存单元阈值电压随机波动。因此, 仿真结果显示:本文提出的CNN检测器与最优阈 随机电报噪声采用类高斯分布建模为 值检测器对比,在信道先验信息未知时,能有效 1 p,x= 提升闪存信道的检测性能。 2 exp _ (3)
并用熵函数来近似求出两种状态分布重叠区的读 取参考电压。上述工作需要估计出最优读取参考 电压,该方法依赖闪存信道精准的先验信息 (相 邻单元先验信息、编程和擦除次数、保持时间等 相关参数)。为减少对信道先验信息的依赖,文 献 [8] 提出了循环神经网络 (recurrent neural network, RNN) 检测器。该检测器在未知信道先验信 息下能减少噪声对信道可靠性的影响,但是该实 验只分析了持久性噪声,没有考虑单元间干扰的 影响,并且 RNN 检测器复杂度较高,被激活会占 用大量的系统空闲时间。在实际场景中,闪存信 道会同时存在随机电报噪声、可持久性噪声和单 元间干扰。信道噪声随保持时间变化,对阈值电 压分布扭曲的影响是很难预测的。当前,深度学 习技术迅速发展,在信道检测与估计中都表现出 优越的性能[7-12]。本文提出的卷积神经网络 (convolutional neural networks, CNN) 可以从良好的数 据集中学习闪存信道难以预测的变化,并能有效 检测闪存单元状态。与现有的大多数检测技术相 比,该方法不依赖于精确的信道模型。本文的贡 献主要分为 3 个方面: 1) 通过相关文献对闪存信道特征的测试,可 知相邻单元会受到编程单元的干扰[7-9]。基于闪 存相邻单元间特征,本文先在二维坐标下分析了 相邻单元编程后阈值电压的相关性,这种相关性 表现为相邻单元阈值电压和受干扰单元阈值电压 越大,受干扰单元阈值电压越往右偏移。文献 [13] 揭示了 CNN 在相关噪声信道中表现出较好的特 征提取效果,所以本文挑选 CNN 网络来检测 NAND 闪存单元状态。 2) 实验采用以随机电报噪声、可持久性噪声 和单元间干扰为主要噪声源的闪存信道[9] ,生成 受干扰单元和相邻单元的阈值电压序列,组成二 维训练数据集。低密度奇偶校验 (low-density parity-check, LDPC) 解码的单元状态通过独热编码数 据预处理作为数据集标签。已训练好的 CNN 检 测器在没有任何信道先验信息下可以直接输出闪 存信道的硬判决信息 (单元存储状态) 和软判决 信息 (闪存单元属于某种状态的后验概率)。假设 信道模型已知,熵函数求解出电压分布相邻状态 分布的重叠区间。在重叠区间中用穷举搜索法找 到的最优阈值作为性能对比标杆,下面称之为最 优阈值检测器 (optimal threshold detector)。计算机 仿真结果显示:本文提出的 CNN 检测器与最优阈 值检测器对比,在信道先验信息未知时,能有效 提升闪存信道的检测性能。 3) 与现有的 RNN 检测器[8] 相比,分析了两者 的浮点运算数 (floating-point operations, FLOPs),单 层 CNN 网络复杂度显著小于单层 RNN 网络。因 此 ,CNN 检测器被激活所需的系统空闲时间比 RNN 要少得多。 1 闪存信道系统 闪存信道系统模型如图 1 所示,数据先通过 擦除与编程操作写入闪存中,随后经过的干扰包 括随机电报噪声、可持久性噪声和单元间干扰。 存储擦除 理想编程状态 随机电报噪声 单元间干扰 可持久性噪声 (μe , σe ) (μp , σp ) (μt , σt ) λe γ 图 1 MLC 闪存信道模型 Fig. 1 MLC flash channel model 1.1 编程操作 在 NAND 闪存中,字线 (word-line) 由擦除状 态单元和编程状态单元组成[14]。对于 MLC 型的 闪存单元,可以存储 2 比特位,并将存储类型表示 为 4 个不同的状态:11、10、01 和 00。11 是擦除 状态,其余的是编程状态。 在编程之前,必须擦除闪存单元中的数据。 擦除单元的阈值电压符合高斯分布[8] ,该分布为 pe(x) = 1 σe √ 2π exp( − (x−µe) 2 2σ2 e ) (1) 式中:σe 和 μe 分别是被擦除单元阈值电压分布的 标准差和平均值。 在编程操作中,闪存控制器会向浮栅注入一 定量的电荷。编程状态的阈值电压也服从高斯 分布[14] : pp(x) = 1 σp √ 2π exp( − (x−µp) 2 2σ2 p ) (2) 式中:σp 和 μp 分别是被编程单元阈值电压分布的 标准差和平均值。 1.2 随机电报噪声 编程和擦除次数会损坏浮栅晶体管隧道的氧 化物,引起闪存单元阈值电压随机波动。因此, 随机电报噪声采用类高斯分布建模为 pr(x) = 1 2λe exp( − |x| λe ) (3) 第 6 期 胡海华,等:基于卷积神经网络的闪存信道检测技术研究 ·1091·
·1092· 智能系统学报 第16卷 式中:=K,PE,PE是编程和擦除循环次数,K 强度。 为常数 1.3可持久性噪声 2CNN检测器的设计 可持久性噪声是由编程单元中电荷泄漏引起 2.1相关性 的阈值电压分布偏移。可持久性噪声遵循高斯 闪存信道参数设置为:PE次数为1000,保持 分布: 时间1年,电容耦合强度s分别为0、14、2.5。由图3 _r-)2 exp2 (4) 可以发现不同状态的受干扰单元不是交错呈现, o,V2元 而是与干扰单元的阈值电压具有正相关关系,随 平均值4,和标准差a,由式(⑤)、(6)给出: 着耦合强度增大,受干扰单元的阈值电压向右偏 AV,[A,(PE)@+B:(PE)"M]-log(1+T) (5) 移越明显。这现象显示了单元间的阈值电压具有 σ=0.54 (6) 相关性。当观测的干扰单元越多,这种相关性越 式中:△,为编程前后的闪存单元阈值电压变化; 明显,但是这种现象难以精确建立数学模型。 T为保持时间;PE为编程和擦除循环次数;ao、a、 A,、B,均为常数。 1.4单元间干扰 康◆8源oo00 单元间干扰是闪存信道中主要噪声之一」 08.068%高 9e3w8%0 编程单元阈值电压的变化会影响相邻单元的阈值 电压。由单元间干扰引起的受干扰单元的总阈值 °8。 o 电压影响强度计算公式为网 1状 。。。 F=∑a*y) 状态10。e°。。 (7) 状态00 。状态01 式中:△V为第k个干扰单元的编程前后阈值电 0.5 1.01.52.02.53.0 3.5 4.0 压偏移。如图2所示,y为受干扰单元与干扰单 受干扰单元的阀值电压V (a)s=0 元的耦合比系数,”,表示垂直方向电容耦合系数, 表示对角线方向的电容耦合系数。对于不同 的位线结构,用于计算F的干扰单元数目是不同 8 的。为了简单起见,本文只考虑全位线结构,这种 。的 结构会降低被干扰单元受到的干扰强度。 1 状态10。 状态00 。状态01 WL 0.5 1.01.52.02.53.0 3.54.0 受干扰单元的圆值电压N BL BL (b)s=1.4 图2多电平闪存的阵列结构 4[状态11 0 0 Fig.2 MLC flash memory array structure 状态10.8 状态00 g3。0. 根据文献[17刀],P(x)为单元间干扰的阈值电 3 状态01g。 。 压分布。在随机电报噪声、单元间干扰和可持久性 0 噪声的干扰下,阈值电压的条件概率分布函数为图: p(x)=p(x)*P(x)*p()*p(x)(8) oo 式中:p(x)表示k个状态的阈值电压分布,k∈{I1, 10,00,01}。为了统计出p(x),需要知道式(5)中 保持时间T的大小,然而在实际场景中闪存控制 0.5 1.01.52.02.53.0 3.5 4.0 器没有额外的存储空间来记录保持时间920。 受干扰单元的阀值电压N (c)s=2.5 参照文献[8-14,MLC闪存信道仿真参数的设 图3闪存内部阈值电压相关性分析 置如下:4=0.14,0=0.25,4,=0.62,a6=0.3,A=0.000035, Fig.3 Schematic of the correlation analysis of the internal B=0.000235,,=0.08s,m=0.006s。s表示电容耦合 threshold voltage of flash memory
λe = Kr √ 式中: PE,PE 是编程和擦除循环次数,Kr 为常数[15]。 1.3 可持久性噪声 可持久性噪声是由编程单元中电荷泄漏引起 的阈值电压分布偏移。可持久性噪声遵循高斯 分布[15] : pt(x) = 1 σt √ 2π exp( − (x−µt) 2 2σ 2 t ) (4) 平均值 μt 和标准差 σt 由式 (5)、(6) 给出[16] : µt = ∆Vt [At(PE)ai + Bt(PE)a0 ]·log(1+T) (5) σt = 0.5|µt | (6) 式中: ∆ Vt 为编程前后的闪存单元阈值电压变化; T 为保持时间;PE 为编程和擦除循环次数;a0、at、 At、Bt 均为常数。 1.4 单元间干扰 单元间干扰是闪存信道中主要噪声之一[17]。 编程单元阈值电压的变化会影响相邻单元的阈值 电压。由单元间干扰引起的受干扰单元的总阈值 电压影响强度计算公式为[17] F = ∑ k ( ∆V (k) ∗ γ (k) ) (7) ∆V (k) γ (k) 式中: 为第 k 个干扰单元的编程前后阈值电 压偏移。如图 2 所示, 为受干扰单元与干扰单 元的耦合比系数,γy 表示垂直方向电容耦合系数, γxy 表示对角线方向的电容耦合系数。对于不同 的位线结构,用于计算 F 的干扰单元数目是不同 的。为了简单起见,本文只考虑全位线结构,这种 结构会降低被干扰单元受到的干扰强度。 WLi+1 WLi BLj BLj+1 BLj+2 BLj+3 γxy γxy γy 图 2 多电平闪存的阵列结构 Fig. 2 MLC flash memory array structure 根据文献 [17],pc (k)(x) 为单元间干扰的阈值电 压分布。在随机电报噪声、单元间干扰和可持久性 噪声的干扰下,阈值电压的条件概率分布函数为[18] : p (k) (x) = p (k) p (x) ∗ p (k) c (x) ∗ p (k) r (x) ∗ p (k) t (x) (8) 式中:p (k) (x) 表示 k 个状态的阈值电压分布,k∈{11, 10,00,01}。为了统计出 p (k) (x),需要知道式 (5) 中 保持时间 T 的大小,然而在实际场景中闪存控制 器没有额外的存储空间来记录保持时间[19-20]。 参照文献 [8-14],MLC 闪存信道仿真参数的设 置如下:μe=0.14,σe=0.25,at =0.62,a0 =0.3,At=0.000035, Bt=0.000 235,γy=0.08s,γxy=0.006s。s 表示电容耦合 强度。 2 CNN 检测器的设计 2.1 相关性 闪存信道参数设置为:PE 次数为 1 000,保持 时间 1 年,电容耦合强度 s 分别为 0、1.4、2.5。由图 3 可以发现不同状态的受干扰单元不是交错呈现, 而是与干扰单元的阈值电压具有正相关关系,随 着耦合强度增大,受干扰单元的阈值电压向右偏 移越明显。这现象显示了单元间的阈值电压具有 相关性。当观测的干扰单元越多,这种相关性越 明显,但是这种现象难以精确建立数学模型。 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 受干扰单元的阈值电压/V 1 2 3 4 干扰单元的阈值电压/V 状态 11 状态 10 状态 00 状态 01 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 受干扰单元的阈值电压/V 0 1 2 3 4 干扰单元的阈值电压/V 状态 11 状态 10 状态 00 状态 01 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 受干扰单元的阈值电压/V 0 1 2 3 4 干扰单元的阈值电压/V 状态 11 状态 10 状态 00 状态 01 (a) s=0 (b) s=1.4 (c) s=2.5 图 3 闪存内部阈值电压相关性分析 Fig. 3 Schematic of the correlation analysis of the internal threshold voltage of flash memory ·1092· 智 能 系 统 学 报 第 16 卷
第6期 胡海华,等:基于卷积神经网络的闪存信道检测技术研究 ·1093· 2.2CNN用于单元状态检测 训练,则需要从本地获得训练数据。本文采用均 本文的主要工作是将受干扰单元字线和干扰 匀量化策略获得闪存单元中的阈值电压数据。量 单元字线的阈值电压组成序列,输人到CNN中进 化数量越多检测越精确,但是也会带来读取延 行提取特征,再输出闪存单元用于硬判决信息 迟。如表1,为了权衡闪存单元电压读取延迟和 (单元存储状态)和软判决信息(闪存单元属于某 可靠性,选择64-level均匀感知量化,在闪存单元 种状态的后验概率)。 状态的符号错误率(symbol error rate,SER)为0.0033 假设每个输入序列个数为M(字线长度),每 时,读取延迟和可靠性折中。闪存控制器最小的 个向量为2维,序列所有阈值电压向量在矩阵 读取单位是字线,则需要设置输入网络的序列长 V∈R2xM中。 度与字线长度相当。 卷积层:本文挑选是一维卷积神经网络,输入 表1不同量化区间的SER结果 序列表示为[YV2…V矩阵,然后使用卷积核做 Table 1 Simulation of SER in different quantization 卷积运算: intervals I)RELU(k(n *V+b(.n) (9) 区间 SER 区间 SER 式中:In是第一层CNN第j个特征映射;ku)为 4-level 0.1400 64-level 0.0033 第j个卷积核;b)为网络偏置值,挑选的激活函 8-level 0.2500 128-level 0.0033 数为整流线性函数(rectified linear unit,RELU)。 16-level 0.0067 256-level 0.0033 下一层的卷积操作的输出为 32-level 0.0045 1024-level 0.0032 Id.)RELU(kin V+b(n) (10) 式中:Iu是第i层CNN网络第j个特征映射; 实验需要采集闪存控制器中读出闪存块中每 k)是第i层CNN网络第j个卷积核。在本工作 个单元的量化阈值电压和LDPC解码得到的每个 中卷积网络池化层会丢弃一些重要的特征信息, 单元状态信息。首先,感应和解码出若干组闪存 所以本文的卷积网由过滤器和全连接组成,并 块。其次,获得阈值电压V和状态标签x。其中, 且CNN输出长度也为M。 闪存单元的阈值电压在区间['er,'er门中被惑 假设有N个数据样本,对于输入样本i,经过 知,'是第i个参考电压,则闪存单元的量化阈 CNN网络提取特征后,形成序列Z=[Z,Z,2… 值电压V表示为 Z,],希望输出每个序列节点所属某种类型的概 v=+出 2 (13) 率,即P,"=)。以MLC为例,其有4种状态, 对于MLC闪存单元有4种不同的状态{Vs1, 即j∈{'s1,'s1o,'soo,'01},m∈{1,2,…,M。Soft- Vso,Vo,Vo},用独热编码预处理后为 max函数可以适用于多分类,其输出为 0 0 0 P6y=11Z,)…P0“=11Z,01 0 P6y=10Z,0…P0,4=10Z,0 0 0 ho(Zi)= 0 P6y=00Z',0)…PG4=00Z, 0 0 0 1 P6y=01Z,,0…P0yM=01Z,0 对于字线上的闪存单元k,简单来说,当So Z}…ZM (11) max函数输出的硬信息y=[1000]'时,单元k对 0gZ…0gZ 应V1;以此类推,当输出y=[0001,对应V0 ∑ep0zh gZ}…gZ 当输出软信息时,Softmax函数输出每个单元属于 0z.…dzw 各状态的概率,CNN检测器能自适应地估计出字 式中:k=4;01、02、03、0,是Softmax函数的权重参 线中闪存单元状态概率,然后式(14)计算出对数 数;0=[010,030]。对于样本i中输入序列元素m, 似然比。闪存单元中的比特位ba对应的对数似 属于状态标签类型j的概率为 然比Qog--likelihood ratio,.LLR)值可以被计算为 exp(0Z) p0"=1Z)= (12) exp(0Z) L(bia)=log 2= 20=)-2=g写 (14) kES 3数据预处理 式中:Sa代表第i个闪存单元中第d比特位为 1的状态集。其中,S={'s1,Vo,Vo,V0},S= 设计好CNN检测器结构后,要对CNN网络 (VsI,VsIo,S2=(Vsn,Vsoo
2.2 CNN 用于单元状态检测 本文的主要工作是将受干扰单元字线和干扰 单元字线的阈值电压组成序列,输入到 CNN 中进 行提取特征,再输出闪存单元用于硬判决信息 (单元存储状态) 和软判决信息 (闪存单元属于某 种状态的后验概率)。 R 2×M 假设每个输入序列个数为 M(字线长度),每 个向量为 2 维,序列所有阈值电压向量在矩阵 V∈ 中。 卷积层:本文挑选是一维卷积神经网络,输入 序列表示为 [V1V2 … VM] 矩阵,然后使用卷积核做 卷积运算: I(1, j) = RELU( k(1, j) ∗V + b(1, j) ) (9) 式中:I(1,j) 是第一层 CNN 第 j 个特征映射;k(1,j) 为 第 j 个卷积核;b(1,j) 为网络偏置值,挑选的激活函 数为整流线性函数 (rectified linear unit, RELU)。 下一层的卷积操作的输出为 I(i, j) = RELU( k(i, j) ∗V +b(i, j) ) (10) 式中:I(i,j) 是第 i 层 CNN 网络第 j 个特征映射; k(i,j) 是第 i 层 CNN 网络第 j 个卷积核。在本工作 中卷积网络池化层会丢弃一些重要的特征信息, 所以本文的卷积网络由过滤器和全连接组成,并 且 CNN 输出长度也为 M。 假设有 N 个数据样本,对于输入样本 i,经过 CNN 网络提取特征后,形成序列 Zi=[Zi 1 Zi 2 … Zi M ],希望输出每个序列节点所属某种类型的概 率,即 P(yi m =j|Vi m )。以 MLC 为例,其有 4 种状态, 即 j∈{VS11,VS10,VS00,VS01},m∈{1,2,…,M}。Softmax 函数可以适用于多分类,其输出为 hθ(Zi) = P(y 1 i = 11|Z 1 i ,θ)···P(yi M = 11|Zi M ,θ) P(y 1 i = 10|Zi 1 ,θ)···P(yi M = 10|Zi M ,θ) P(y 1 i = 00|Zi 1 ,θ)···P(yi M = 00|Zi M ,θ) P(y 1 i = 01|Zi 1 ,θ)···P(yi M = 01|Zi M ,θ) = 1 ∑k j=1 exp(θ T j Z j i ) θ T 1 Z 1 i ···θ T 1 Zi M θ T 2 Z 1 i ···θ T 2 Z M i θ T 3 Z 1 i ···θ T 3 Z M i θ T 4 Z 1 i ···θ T 4 Z M i (11) 式中:k = 4;θ1、θ2、θ3、θ4 是 Softmax 函数的权重参 数;θ = [θ1 θ2 θ3 θ4 ]。对于样本 i 中输入序列元素 Vi m , 属于状态标签类型 j 的概率为 p(y m i = j|Z m i ) = exp(θ T j Z m i ) ∑M m=1 exp(θ T j Z m i ) (12) 3 数据预处理 设计好 CNN 检测器结构后,要对 CNN 网络 训练,则需要从本地获得训练数据。本文采用均 匀量化策略获得闪存单元中的阈值电压数据。量 化数量越多检测越精确,但是也会带来读取延 迟。如表 1,为了权衡闪存单元电压读取延迟和 可靠性,选择 64-level 均匀感知量化,在闪存单元 状态的符号错误率 (symbol error rate, SER) 为 0.0033 时,读取延迟和可靠性折中。闪存控制器最小的 读取单位是字线,则需要设置输入网络的序列长 度与字线长度相当。 表 1 不同量化区间的 SER 结果 Table 1 Simulation of SER in different quantization intervals 区间 SER 区间 SER 4-level 0.1400 64-level 0.0033 8-level 0.2500 128-level 0.0033 16-level 0.0067 256-level 0.0033 32-level 0.0045 1024-level 0.0032 V 实验需要采集闪存控制器中读出闪存块中每 个单元的量化阈值电压和 LDPC 解码得到的每个 单元状态信息。首先,感应和解码出若干组闪存 块。其次,获得阈值电压 V 和状态标签 x。其中, 闪存单元的阈值电压在区间 [Vref i , Vref i+1]中被惑 知,Vref i 是第 i 个参考电压,则闪存单元的量化阈 值电压 表示为 V = V i ref +V i+1 ref 2 (13) 对于 MLC 闪存单元有 4 种不同的状态{VS11, VS10, VS00, VS01},用独热编码预处理后为 {VS 11,VS 10,VS 00,VS 01} = 1 0 0 0 , 0 1 0 0 , 0 0 1 0 , 0 0 0 1 对于字线上的闪存单元 k,简单来说,当 Softmax 函数输出的硬信息 y k =[1 0 0 0]T 时,单元 k 对 应 VS11;以此类推,当输出 y k =[0 0 0 1]T ,对应 VS01。 当输出软信息时,Softmax 函数输出每个单元属于 各状态的概率,CNN 检测器能自适应地估计出字 线中闪存单元状态概率,然后式 (14) 计算出对数 似然比。闪存单元中的比特位 bid 对应的对数似 然比 (log-likelihood ratio, LLR) 值可以被计算为 L(bid) = log ∑ k∈S id p(y m i = k|Z m i ) ∑ k∈S p(y m i = k|Z m i )− ∑ k∈S id p(y m i = k|Z m i ) (14) 式中:Si d 代表第 i 个闪存单元中第 d 比特位为 1 的状态集。其中,S = { VS11, VS10, VS00, VS01},S1 = {VS11, VS10},S2 = {VS11, VS01}。 第 6 期 胡海华,等:基于卷积神经网络的闪存信道检测技术研究 ·1093·
·1094· 智能系统学报 第16卷 4实验仿真及分析 的训练过程中会占用大量的时间,计算复杂度 高。在理想条件下,通过设置CNN和RNN超参 实验仿真在Window 10操作系统下进行,采 数使两者的复杂度相当,然后对比它们的性能。 用Keras深度学习框架。在训练网络之前,假设 可是RNN网络要比CNN网络复杂多,在CNN网 在实验中信道的保持时间未知,就需要生成失配 络中有加法和乘法等线性运算,而RNN网络中有 的验证集来测试已训练好CNN检测器的鲁棒 许多的tanh和exp等复杂的非线性运算。为了方 性。定义失配时间公式为△T=Tet一Turains,Tuain和 便比较,通过统计FLOPs来衡量网络模型的复杂 Ta分别代表训练集和验证集的保持时间。定义 度。FLOPs计算网络模型所有的加法和乘法次 失配编程和擦除循环次数公式为△PE=PEtest- 数。GRU是RNN网络模型中复杂度最低的网络 PEain,PEuain和PEet分代表训练集和验证集的编 模型。若设置一个层GRU网铬的神经元个数为 程和擦除循环次数。训练CNN检测器步骤: L,输入数据的维度为D,N表示层数,序列为T。 1)闪存控制器找到第i和第+1字线位置,即 根据文献21],GRU模型复杂度为 图2中的WL,和WL1o 2)式(13)量化WL,和WL#1中每个单元的感 02L60+6L+ (15) 应电压。 3)LDPC解码WL,中的信息,若解码成功,将 根据文献[22],CNN网络模型复杂度为 独热编码预处理解码后的状态作为标签。若解码 (16) 不成功,跳到下一个字线。返回1),直到获取数 据集数量满足实验要求。 式中:C,表示第i层输出数据的通道数;K表示 4)获取的数据集将用于训练CNN检测器。 第i层的卷积核大小;T:为第i层输出的序列。在 为了提升训练效率,将数据集分成小批量数据, 本文中C。=1,采用的二维阈值电压数据作为输 分批训练CNN检测器。 入,则D,=2,K=(D,k):用一层CNN网络与一层 CNN结构由卷积核和特征图组成,可以表示 GRU网络对比复杂度,则C,=1,k为第一层卷积 为{L,,…,:k1,k2,…,k}。这里的L表示 核尺寸。Softmax函数复杂度可以忽略不计。此 CNN网络层数,∫表示卷积核大小,k表示特征图 时,GRU网络模型复杂度为O(6L1+17L)T), 数量。在实验中,通过比较误比特率(bit error rate, CNN网络模型复杂度为O(4kT)。如图4,设置实 BER)和误帧率(frame error rate,.FER)来评估系统 验环境s∈{1.4,1.6},Tram=1年,PEam=1000。图4 性能。先进行单层CNN和RNN的复杂度分析, 展示了训练周期对误比特率的影响。CNN detect- 然后用表2设置CNN结构来测试在原始数据和 or-l、CNN detector-2、RNN detector-l和RNN de- 编码数据下的系统性能。 tector--2所标记的曲线对应参数k=1、k=2和L,=1、 误比特率= 读取的错误比特数 读取的总比特数 L=2时的模型。随着训练周期变化,CNN检测器 读取的错误帧数 和RNN检测器趋于稳定。RNN检测器性能亦可 误帧率= 读取的总帧数 接近于CNN检测器,式(I5)中得到RNN检测器 复杂度与L,平方成正比。式(16)中CNN检测器 表2CNN实验设置 Table 2 CNN experimental setup 复杂度与K成正比。如果在有单元间干扰情况下 名称 参数 要达到相同性能,CNN检测器复杂度小于RNN CNN结构 {2,2,2,2,1} 检测器。 训练数据 3000个码字 10 e-CNN detector-1 验证数据 CNN detector-2 3000个码字 e-RNN detector-1 RNN detector-2 总比特数 13824000 初始方法 10 Xavier initialization 优化方法 Adam optimization 10- 晋名“二8每署晋 序列长度 1152 10 50 100150200250300 4.1复杂度分析 训练周期 对于文献[8]所提出的RNN检测器,在实际 (a)s=1.4
4 实验仿真及分析 ∆ ∆ 实验仿真在 Window 10 操作系统下进行,采 用 Keras 深度学习框架。在训练网络之前,假设 在实验中信道的保持时间未知,就需要生成失配 的验证集来测试已训练好 CNN 检测器的鲁棒 性。定义失配时间公式为 T=Ttest−Ttrain,Ttrain 和 Ttest 分别代表训练集和验证集的保持时间。定义 失配编程和擦除循环次数公式为 PE = PEtest − PEtrain,PEtrain 和 PEtest 分代表训练集和验证集的编 程和擦除循环次数。训练 CNN 检测器步骤: 1) 闪存控制器找到第 i 和第 i+1 字线位置,即 图 2 中的 WLi 和 WLi+1。 2) 式 (13) 量化 WLi 和 WLi+1 中每个单元的感 应电压。 3)LDPC 解码 WLi 中的信息,若解码成功,将 独热编码预处理解码后的状态作为标签。若解码 不成功,跳到下一个字线。返回 1),直到获取数 据集数量满足实验要求。 4) 获取的数据集将用于训练 CNN 检测器。 为了提升训练效率,将数据集分成小批量数据, 分批训练 CNN 检测器。 CNN 结构由卷积核和特征图组成,可以表示 为{L; f1 , f2 , …, fL ; k1 , k2 , …, kL}。这里的 L 表示 CNN 网络层数,f 表示卷积核大小,k 表示特征图 数量。在实验中,通过比较误比特率 (bit error rate, BER) 和误帧率 (frame error rate, FER) 来评估系统 性能。先进行单层 CNN 和 RNN 的复杂度分析, 然后用表 2 设置 CNN 结构来测试在原始数据和 编码数据下的系统性能。 误比特率 = 读取的错误比特数 读取的总比特数 误帧率 = 读取的错误帧数 读取的总帧数 表 2 CNN 实验设置 Table 2 CNN experimental setup 名称 参数 CNN结构 {2; 2, 2; 2, 1} 训练数据 3 000个码字 验证数据 3 000个码字 总比特数 13 824 000 初始方法 优化方法 Xavier initialization Adam optimization 序列长度 1 152 4.1 复杂度分析 对于文献 [8] 所提出的 RNN 检测器,在实际 的训练过程中会占用大量的时间,计算复杂度 高。在理想条件下,通过设置 CNN 和 RNN 超参 数使两者的复杂度相当,然后对比它们的性能。 可是 RNN 网络要比 CNN 网络复杂多,在 CNN 网 络中有加法和乘法等线性运算,而 RNN 网络中有 许多的 tanh 和 exp 等复杂的非线性运算。为了方 便比较,通过统计 FLOPs 来衡量网络模型的复杂 度。FLOPs 计算网络模型所有的加法和乘法次 数。GRU 是 RNN 网络模型中复杂度最低的网络 模型。若设置一个层 GRU 网络的神经元个数为 L,输入数据的维度为 D,N 表示层数,序列为 T。 根据文献 [21],GRU 模型复杂度为 O ∑N i=1 TiLi(6Di +6Li +5) (15) 根据文献 [22],CNN 网络模型复杂度为 O ∑N i=1 2Ci−1K 2 i TiCi (16) L 2 1 式中:Ci 表示第 i 层输出数据的通道数;Ki 表示 第 i 层的卷积核大小;Ti 为第 i 层输出的序列。在 本文中 C0=1,采用的二维阈值电压数据作为输 入,则 D1=2,K1=(D1 ,k);用一层 CNN 网络与一层 GRU 网络对比复杂度,则 C1=1,k 为第一层卷积 核尺寸。Softmax 函数复杂度可以忽略不计。此 时 ,GRU 网络模型复杂度为 O((6L1+17 )T1 ), CNN 网络模型复杂度为 O(4kT1 )。如图 4,设置实 验环境 s∈{1.4,1.6},Ttrain=1 年,PEtrain=1 000。图 4 展示了训练周期对误比特率的影响。CNN detector-1、CNN detector-2、RNN detector-1 和 RNN detector-2 所标记的曲线对应参数 k=1、k=2 和 L1=1、 L2=2 时的模型。随着训练周期变化,CNN 检测器 和 RNN 检测器趋于稳定。RNN 检测器性能亦可 接近于 CNN 检测器,式 (15) 中得到 RNN 检测器 复杂度与 L1 平方成正比。式 (16) 中 CNN 检测器 复杂度与 K 成正比。如果在有单元间干扰情况下 要达到相同性能,CNN 检测器复杂度小于 RNN 检测器。 0 50 100 150 200 250 300 训练周期 10−1 10−2 10−3 10−4 100 误比特率 CNN detector-1 CNN detector-2 RNN detector-1 RNN detector-2 (a) s=1.4 ·1094· 智 能 系 统 学 报 第 16 卷
第6期 胡海华,等:基于卷积神经网络的闪存信道检测技术研究 ·1095· 10 o-CNN detector- 了闪存使用寿命。例如,在误比特率约为0.01, -CNN detector-2 o-RNN detector-1 CNN检测器可以将闪存编程和擦除循环次数提 10 4 RNN detector-2 升大约11000次,而最优阈值检测器仅在3000次 10- 左右。在没有单元间干扰下,采用CNN检测器性 驱 10 能增益较小,这时的噪声分布是标准AWGN闪存 信道,也是理想条件下的信道。此时,CNN检测 10-4 50 100 150 200 250 300 器与最优阈值检测器性能相似。由此,可以得出 训练周期 在有单元间干扰下,CNN检测器能有效地提取出 (b)s=1.6 单元间干扰的特征来检测闪存单元状态,并且提 图4不同训练周期下RNN检测器和CNN检测器比特 升了闪存使用寿命。此外,当用到失配的测试集 错误率比较 Fig.4 Comparison of the BERs of the RNN and CNN de- 时,仿真性能对比结果显示,在失配编程和擦除 tectors under different training periods 循环次数小于5000情况下,本文CNN检测器检 为了避免GPU等硬件带来的功耗等问题例 测性能也好于最优阈值检测器。 实验在无GPU环境中进行。表3是在无GPU下 10 最优阀值检测器=0 参数FLOPs和每个训练周期的耗时统计。随着 最优阀值检测器=1.4 参数的增加,RNN检测器的FLOPs接近倍数增 加,带来的计算消耗和复杂度特别大。从耗时上 10- 可以看出,CNN检测器训练周期相当于RNN检 测器训练周期的四分之一。MEI提出在系统空闲 时间时激活RNN检测器,但是RNN检测器训练 10 耗时长⑧。与RNN检测器相比,CNN检测器被激 g0-CNN检测器AT=0,APE=0,=0 -◇-CNN检测器△T=0,△PE=0,s=1.4 活占用的系统空闲时间较短。 --CNN检测器△7=0,△PE=2500,s=1.4 -×-CNN检测器△7=0,△PE=5000,=1.4 表3CNN检测器和RNN检测器参数个数及FLOPs 9 11 Table 3 Parameters and FLOPs of the CNN and RNN de- 读写擦除次数/10的 tectors 图5失配编程和擦除循环次数比较 模型 参数/个 FLOPs/次 周期/s Fig.5 Programming and erase cycles by mismatching data CNN detector-1 11 192 0.44 传统保持低误比特率的方法是动态更新读取 CNN detector-2 13 222 0.48 参考电压。然而在未知信道信息时,闪存控制器 RNN detector-1 20 361 1.68 很难记录保持时间T。这时就很难通过传统方法 RNN detector-2 42 721 1.71 获得新读取参考电压。前面的实验结果证明有单 元干扰下,CNN检测器优于最优阈值检测器,接 4.2原始数据分析 下来实验通过对失配编程和擦除循环次数固定为 为了更好验证模型检测有效性,LDPC译码 △PE=1000,PEmm=5000,测试CNN检测器在失配 器尽可能收集解码后综合值为0的码字数据。实 保持时间下的性能。如图6,当时间不匹配到 验中选择最优阈值为性能对比标杆。最优阈值检 1个月时,CNN检测器还是优于最优阈值检测器 测器通过熵函数得到两种状态分布的重叠区间, 的性能并且与保持时间匹配的数据接近。当保持 然后在重叠区间中找到最优读取参考电压。本文 时间失配增加到1年时,初期CNN检测器与匹配 的CNN检测器使用2维数据输入网络。然后,测 数据的性能略有下降。初期需要短周期更新CNN 试了有无单元间干扰下两种检测器误码率对比, 检测器适应信道变化,后期则可以数年更新一次 s=0时,表示没有单元间干扰的信道;s=1.4时,表 CNN检测器,就可以接近匹配数据的CNN检测 示3种噪声同时存在下的信道,并且单元干扰强 器误比特率性能,也证明了CNN检测器鲁棒性强。 度为1.4。 4.3编码数据分析 如图5所示,在实验环境中有单元间干扰情 为了分析CNN检测器输出的软信息,实验选 况下匹配和失配的测试集(△PE=2500、5000), 择了码率约0.889(2048,2304)的LDPC码写人到 Ttain=1年,CNN检测器都取得很好的性能。当 闪存单元中。在数据集中设置耦合强度因子为 s=1.4时,CNN检测器跟最优阈值检测器比提升 s=1.4,保持时间Tam=1年和读写次数PEam=2000
300 10−1 10−2 10−3 10−4 100 50 100 150 200 250 训练周期 误比特率 CNN detector-1 CNN detector-2 RNN detector-1 RNN detector-2 (b) s=1.6 图 4 不同训练周期下 RNN 检测器和 CNN 检测器比特 错误率比较 Fig. 4 Comparison of the BERs of the RNN and CNN detectors under different training periods 为了避免 GPU 等硬件带来的功耗等问题[8] , 实验在无 GPU 环境中进行。表 3 是在无 GPU 下 参数 FLOPs 和每个训练周期的耗时统计。随着 参数的增加,RNN 检测器的 FLOPs 接近倍数增 加,带来的计算消耗和复杂度特别大。从耗时上 可以看出,CNN 检测器训练周期相当于 RNN 检 测器训练周期的四分之一。MEI 提出在系统空闲 时间时激活 RNN 检测器,但是 RNN 检测器训练 耗时长[8]。与 RNN 检测器相比,CNN 检测器被激 活占用的系统空闲时间较短。 表 3 CNN 检测器和 RNN 检测器参数个数及 FLOPs Table 3 Parameters and FLOPs of the CNN and RNN detectors 模型 参数/个 FLOPs/次 周期/s CNN detector-1 11 192 0.44 CNN detector-2 13 222 0.48 RNN detector-1 20 361 1.68 RNN detector-2 42 721 1.71 4.2 原始数据分析 为了更好验证模型检测有效性,LDPC 译码 器尽可能收集解码后综合值为 0 的码字数据。实 验中选择最优阈值为性能对比标杆。最优阈值检 测器通过熵函数得到两种状态分布的重叠区间, 然后在重叠区间中找到最优读取参考电压。本文 的 CNN 检测器使用 2 维数据输入网络。然后,测 试了有无单元间干扰下两种检测器误码率对比, s=0 时,表示没有单元间干扰的信道;s=1.4 时,表 示 3 种噪声同时存在下的信道,并且单元干扰强 度为 1.4。 ∆ 如图 5 所示,在实验环境中有单元间干扰情 况下匹配和失配的测试集 ( PE=2 500、5 000), Ttrain=1 年,CNN 检测器都取得很好的性能。当 s=1.4 时,CNN 检测器跟最优阈值检测器比提升 了闪存使用寿命。例如,在误比特率约为 0.01, CNN 检测器可以将闪存编程和擦除循环次数提 升大约 11 000 次,而最优阈值检测器仅在 3 000 次 左右。在没有单元间干扰下,采用 CNN 检测器性 能增益较小,这时的噪声分布是标准 AWGN 闪存 信道,也是理想条件下的信道。此时,CNN 检测 器与最优阈值检测器性能相似。由此,可以得出 在有单元间干扰下,CNN 检测器能有效地提取出 单元间干扰的特征来检测闪存单元状态,并且提 升了闪存使用寿命。此外,当用到失配的测试集 时,仿真性能对比结果显示,在失配编程和擦除 循环次数小于 5 000 情况下,本文 CNN 检测器检 测性能也好于最优阈值检测器。 3 5 7 9 11 读写擦除次数/103 10−2 10−1 10−3 10−4 误比特率 最优阈值检测器 s=0 最优阈值检测器 s=1.4 CNN 检测器 ΔT=0, ΔPE=0, s=0 CNN 检测器 ΔT=0, ΔPE=0, s=1.4 CNN 检测器 ΔT=0, ΔPE=2 500, s=1.4 CNN 检测器 ΔT=0, ΔPE=5 000, s=1.4 图 5 失配编程和擦除循环次数比较 Fig. 5 Programming and erase cycles by mismatching data ∆ 传统保持低误比特率的方法是动态更新读取 参考电压。然而在未知信道信息时,闪存控制器 很难记录保持时间 T。这时就很难通过传统方法 获得新读取参考电压。前面的实验结果证明有单 元干扰下,CNN 检测器优于最优阈值检测器,接 下来实验通过对失配编程和擦除循环次数固定为 PE=1 000,PEtrain=5 000,测试 CNN 检测器在失配 保持时间下的性能。如图 6,当时间不匹配到 1 个月时,CNN 检测器还是优于最优阈值检测器 的性能并且与保持时间匹配的数据接近。当保持 时间失配增加到 1 年时,初期 CNN 检测器与匹配 数据的性能略有下降。初期需要短周期更新 CNN 检测器适应信道变化,后期则可以数年更新一次 CNN 检测器,就可以接近匹配数据的 CNN 检测 器误比特率性能,也证明了 CNN 检测器鲁棒性强。 4.3 编码数据分析 为了分析 CNN 检测器输出的软信息,实验选 择了码率约 0.889(2 048, 2 304) 的 LDPC 码写入到 闪存单元中。在数据集中设置耦合强度因子为 s=1.4,保持时间 Ttrain=1 年和读写次数 PEtrain=2000。 第 6 期 胡海华,等:基于卷积神经网络的闪存信道检测技术研究 ·1095·
·1096· 智能系统学报 第16卷 为了避免验证数产生的读取延迟,实验减少了量 测器还能输出更准确的LLR信息,提升BP译码 化电压的数量,采用16-level和32-level两种均匀 算法的纠错性能。闪存信道检测在深度学习中可 量化读取方法。CNN检测器评估出闪存单元软 以看作分类问题,因此本文提出的方法也可以应 信息,然后通过式(14)计算出LLR值。图7给出 用到TLC、QLC闪存信道中。 了本文提出方法与传统方法计算LLR的系统性能 参考文献: 比较。首先,设置0~20最大迭代次数不等。其 次,将CNN检测器测试的失配保持时间△T=5 [1]范正勤,韩国军.多电平闪存信道下阈值电压高效检测 月,失配编程和擦除循环次数△PE=2000。本文 算法).应用科技,2019,46(5)57-62 提出方法比5月之前的传统方法计算LLR收敛快。 FAN Zhengqin,HAN Guojun.High-efficiency detection 也就是说,CNN检测器评估的LLR更可靠,有助 algorithm for threshold voltage in multi-level cell NAND 于置信传播(belief propagation,.BP)算法P3-2纠错 flash memory [J].Applied science and technology,2019, 性能的提升。 46(5):57-62. [2] 张旋,慕建君,焦晓鹏.面向MLC闪存的比特翻转译码 ⊙-最优圆值检测器 +-CNN检测器△PE=0,△7=0 算法研究[J].哈尔滨工程大学学报,2019,40(2) 0.020r-6 CNN检测器△PE=1000,△T=1月 331-337 CNN检测器△PE=1000,△7=2月 CNN检测器△PE=1000,△T=3月 ZHANG Xuan,MU Jianjun,JIAO Xiaopeng.Improved ×-CNN检测器△PE=1000,△T=4月 0.015 -CNN检测器△PE=1000,△T=5月 bit-flipping decoding algorithm for MLC flash --CNN检测器△PE=1000.△T=1年 0 memory[J].Journal of Harbin Engineering University, 2019,40(2):331-337. 0.010 e [3]郑敏华,韩国军.融合相邻单元高低页存储可靠性的闪 存译码算法).应用科技,2020,473):17-23. 0.005 -。面缘4s◆ ZHENG Minhua,HAN Guojun.An improved decoding algorithm for NAND flash memory fusing the storage re- 6121824303642485460667278849096 保持时间月 liability of upper and lower pages of adjacent cells[J].Ap- plied science and technology,2020,47(3):17-23. 图6失配保持时间比较 [4]LIU Xingcheng.YANG Guojun.CHEN Xuechen.Vari- Fig.6 Retention time through mismatching data able-node-based belief-propagation decoding with mes- o32-level本文提出的LLR计算方式 sage pre-processing for NAND flash memory[J].IEEE 10 △T=5月,△PE=3000 o-l6-level本文提出的LLR计算方式 access,.2019,7:58638-58653. △7=5月.△PE=3000 [5] PENG Zishuai,HE Ruiquan,HAN Guojun,et al.Neigh- 10- -32-level基于信道模型的LLR计算 方式,△T=0,△PE=0 bor-a-posteriori information assisted cell-state adaptive -o-I6-level基于信道模型的LLR计算 detector for NAND flash memory[J].IEEE communica- 方式,△T=0,△PE=0 - tions letters.2019.23(11):1967-1971 000-00一0 [6]KIM T,KONG G,XI Weiya,et al.Cell-to-cell interfer- 103 8二名=888二888 6-0-0-…◇一0◇一0 ence compensation schemes using reduced symbol pat- tern of interfering cells for MLC NAND flash memory[J]. 10- 2 6 8101214161820 IEEE transactions on magnetics,2013,49(6):2569-2573. 迭代次数 [7] DONG Guiqiang,XIE Ningde,ZHANG Tong.On the use 图7最大迭代次数比较 of soft-decision error-correction codes in NAND flash Fig.7 Comparison of maximum iterations memory[J].IEEE transactions on circuits and systems I:regular papers,2011,58(2):429-439. 5结束语 [8]MEI Zhen,CAI Kui,HE Xuan.Deep learning-aided dy- namic read thresholds design for multi-level-cell flash 针对NAND闪存存储数据可靠性下降的问 memories[J].IEEE transactions on communications, 题,本文提出CNN检测器,该检测器不依赖于信 2020,68(5):2850-2862 道先验信息,通过学习相邻单元阈值电压的相关 [9]FAN Zhengqin,CAI Guofa,HAN Guojun,et al.Cell- 特征,能有效检测NAND闪存单元状态。CNN检 state-distribution-assisted threshold voltage detector for 测器具有训练周期短、鲁棒性强等特点,能占用 NAND flash memory[J].IEEE communications letters, 较少的系统空闲时间来适应信道变化。CNN检 2019,23(4):576-579
∆ ∆ 为了避免验证数产生的读取延迟,实验减少了量 化电压的数量,采用 16-level 和 32-level 两种均匀 量化读取方法。CNN 检测器评估出闪存单元软 信息,然后通过式 (14) 计算出 LLR 值。图 7 给出 了本文提出方法与传统方法计算 LLR 的系统性能 比较。首先,设置 0~20 最大迭代次数不等。其 次 ,将 CNN 检测器测试的失配保持时间 T=5 月,失配编程和擦除循环次数 PE=2 000。本文 提出方法比 5 月之前的传统方法计算 LLR 收敛快。 也就是说,CNN 检测器评估的 LLR 更可靠,有助 于置信传播 (belief propagation, BP) 算法[23-24] 纠错 性能的提升。 6 12 18 24 30 36 42 48 54 60 66 72 78 84 90 96 保持时间/月 0.005 0.010 0.015 0.020 误比特率 最优阈值检测器 CNN 检测器 ΔPE=0, ΔT=0 CNN 检测器 ΔPE=1 000, ΔT=1 月 CNN 检测器 ΔPE=1 000, ΔT=2 月 CNN 检测器 ΔPE=1 000, ΔT=3 月 CNN 检测器 ΔPE=1 000, ΔT=4 月 CNN 检测器 ΔPE=1 000, ΔT=5 月 CNN 检测器 ΔPE=1 000, ΔT=1 年 图 6 失配保持时间比较 Fig. 6 Retention time through mismatching data 2 4 6 8 10 12 14 16 18 20 迭代次数 误帧率 32-level 本文提出的 LLR 计算方式, ΔT=5 月, ΔPE=3 000 16-level 本文提出的 LLR 计算方式, ΔT=5 月, ΔPE=3 000 32-level 基于信道模型的 LLR 计算 方式, ΔT=0, ΔPE=0 16-level 基于信道模型的 LLR 计算 方式, ΔT=0, ΔPE=0 10−2 10−1 100 10−4 10−3 图 7 最大迭代次数比较 Fig. 7 Comparison of maximum iterations 5 结束语 针对 NAND 闪存存储数据可靠性下降的问 题,本文提出 CNN 检测器,该检测器不依赖于信 道先验信息,通过学习相邻单元阈值电压的相关 特征,能有效检测 NAND 闪存单元状态。CNN 检 测器具有训练周期短、鲁棒性强等特点,能占用 较少的系统空闲时间来适应信道变化。CNN 检 测器还能输出更准确的 LLR 信息,提升 BP 译码 算法的纠错性能。闪存信道检测在深度学习中可 以看作分类问题,因此本文提出的方法也可以应 用到 TLC、QLC 闪存信道中。 参考文献: 范正勤, 韩国军. 多电平闪存信道下阈值电压高效检测 算法 [J]. 应用科技, 2019, 46(5): 57–62. FAN Zhengqin, HAN Guojun. High-efficiency detection algorithm for threshold voltage in multi-level cell NAND flash memory[J]. Applied science and technology, 2019, 46(5): 57–62. [1] 张旋, 慕建君, 焦晓鹏. 面向 MLC 闪存的比特翻转译码 算法研究 [J]. 哈尔滨工程大学学报, 2019, 40(2): 331–337. ZHANG Xuan, MU Jianjun, JIAO Xiaopeng. Improved bit-flipping decoding algorithm for MLC flash memory[J]. Journal of Harbin Engineering University, 2019, 40(2): 331–337. [2] 郑敏华, 韩国军. 融合相邻单元高低页存储可靠性的闪 存译码算法 [J]. 应用科技, 2020, 47(3): 17–23. ZHENG Minhua, HAN Guojun. An improved decoding algorithm for NAND flash memory fusing the storage reliability of upper and lower pages of adjacent cells[J]. Applied science and technology, 2020, 47(3): 17–23. [3] LIU Xingcheng, YANG Guojun, CHEN Xuechen. Variable-node-based belief-propagation decoding with message pre-processing for NAND flash memory[J]. IEEE access, 2019, 7: 58638–58653. [4] PENG Zishuai, HE Ruiquan, HAN Guojun, et al. Neighbor-a-posteriori information assisted cell-state adaptive detector for NAND flash memory[J]. IEEE communications letters, 2019, 23(11): 1967–1971. [5] KIM T, KONG G, XI Weiya, et al. Cell-to-cell interference compensation schemes using reduced symbol pattern of interfering cells for MLC NAND flash memory[J]. IEEE transactions on magnetics, 2013, 49(6): 2569–2573. [6] DONG Guiqiang, XIE Ningde, ZHANG Tong. On the use of soft-decision error-correction codes in NAND flash memory[J]. IEEE transactions on circuits and systems I:regular papers, 2011, 58(2): 429–439. [7] MEI Zhen, CAI Kui, HE Xuan. Deep learning-aided dynamic read thresholds design for multi-level-cell flash memories[J]. IEEE transactions on communications, 2020, 68(5): 2850–2862. [8] FAN Zhengqin, CAI Guofa, HAN Guojun, et al. Cellstate-distribution-assisted threshold voltage detector for NAND flash memory[J]. IEEE communications letters, 2019, 23(4): 576–579. [9] ·1096· 智 能 系 统 学 报 第 16 卷
第6期 胡海华,等:基于卷积神经网络的闪存信道检测技术研究 ·1097· [10]SANDELL M.ISMAIL A.Machine learning for LLR cial neural network assisted error correction for MLC estimation in flash memory with LDPC codes[J].IEEE NAND flash memory[J].Micromachines,2021,12(8): transactions on circuits and systems II:express briefs, 879. 2021,68(2):792-796. [21]ZHANG Pengfei,XUE Jianru,LAN Cuiling,et al. [11]CHOE H,JEE J,LIM S C,et al.Machine-learning-based EleAtt-RNN:adding attentiveness to neurons in recur- read reference voltage estimation for NAND flash rent neural networks[J].IEEE transactions on image pro- memory systems without knowledge of retention time[J]. cessing,2020,29:1061-1073. IEEE access,2020,8:176416-176429 [22]CAO Congzhe,LI Duanshun,FAIR I.Deep learning- [12]NAKAMURA T,DEGUCHI Y,TAKEUCHI K.Adapt- based decoding of constrained sequence codes[J].IEEE ive artificial neural network-coupled LDPC ECC as uni- journal on selected areas in communications,2019. versal solution for 3-D and 2-D,charge-trap and float- 3711:2532-2543. ing-gate NAND flash memories[J].IEEE journal of sol- [23]张旋,慕建君,焦晓鹏.基于错误特征的MLC闪存最 id-state circuits,2019,54(3):745-754. 小和译码算法川.系统工程与电子技术,2019,41(8): [13]LIANG Fei,SHEN Cong,WU Feng.An iterative BP- 1887-1895 CNN architecture for channel decoding[J].IEEE journal ZHANG Xuan,MU Jianjun,JIAO Xiaopeng.Min-sum of selected topics in signal processing,2018,12(1): decoding algorithm based on error characteristics for 144-159. [14]ASLAM CA,GUAN Yongliang,CAI Kui.Decision- MLC flash memory[J].Systems engineering and elec- tronics,.2019,41(8):1887-1895 directed retention-failure recovery with channel update for MLC NAND flash memory[J].IEEE transactions on [24]张旋,周乐,侯爱华.一种适用于MLC闪存的CCI噪 circuits and systems I:regular papers,2018,65(1): 声均衡化算法U.计算机科学,2018,45(S1):541-544. 353-365 ZHANG Xuan,ZHOU Le,HOU Aihua.CCI noise [15]DONG Guigiang,XIE Ningde,ZHANG Tong.En- equalization algorithm for MLC flash memory[J].Com- abling NAND flash memory use soft-decision error cor- puter science,2018,45(S1):541-544. rection codes at minimal read latency overhead[J].IEEE 作者简介: transactions on circuits and systems I:regular papers, 胡海华,博士研究生,主要研究方 2013,60(9):2412-2421 向为面向数据存储的信号处理技术。 [16]ASLAM C A,GUAN Yongliang,CAI Kui.Read and 差错控制编码技术、机器学习。 write voltage signal optimization for multi-level-cell (MLC)NAND flash memory[J].IEEE transactions on communications.2016.64(4):1613-1623. [17]DONG Guiqiang,LI Shu,ZHANG Tong.Using data postcompensation and predistortion to tolerate cell-to- 韩国军,教授,博士生导师,主要 cell interference in MLC NAND flash memory[J].IEEE 研究方向为面向数据存储的信号处理 transactions on circuits and systems I:regular papers, 与差错控制编码技术、车联网及先进 辅助驾驶技术。获广东省自然科学二 2010,5710):2718-2728. 等奖1项,广州市科技进步一等奖 [18]OUYANG Shijie,HAN Guojun,FANG Yi,et al.LLR- 1项。主持国家自然科学基金面上项 distribution-based non-uniform quantization for RBI- 目3项。获发明专利授权4项,发表 MSD algorithm in MLC flash memory[J].IEEE commu- 学术论文50余篇。 nications letters,2018,22(1):45-48. [19]CAI Yu,LUO Yixin,HARATSCH E F,et al.Data re- 张孝谊,硕士研究生,主要研究方 tention in MLC NAND flash memory:characterization, 向为面向数据存储的信号处理技术、 差错控制编码技术、机器学习。 optimization,and recovery[C]//2015 IEEE 21st Interna- tional Symposium on High Performance Computer Ar- chitecture(HPCA).Burlingame,USA,2015:551-563. [20]HE Ruiquan,HU Haihua,XIONG Chunru,et al.Artifi-
SANDELL M, ISMAIL A. Machine learning for LLR estimation in flash memory with LDPC codes[J]. IEEE transactions on circuits and systems II:express briefs, 2021, 68(2): 792–796. [10] CHOE H, JEE J, LIM S C, et al. Machine-learning-based read reference voltage estimation for NAND flash memory systems without knowledge of retention time[J]. IEEE access, 2020, 8: 176416–176429. [11] NAKAMURA T, DEGUCHI Y, TAKEUCHI K. Adaptive artificial neural network-coupled LDPC ECC as universal solution for 3-D and 2-D, charge-trap and floating-gate NAND flash memories[J]. IEEE journal of solid-state circuits, 2019, 54(3): 745–754. [12] LIANG Fei, SHEN Cong, WU Feng. An iterative BPCNN architecture for channel decoding[J]. IEEE journal of selected topics in signal processing, 2018, 12(1): 144–159. [13] ASLAM C A, GUAN Yongliang, CAI Kui. Decisiondirected retention-failure recovery with channel update for MLC NAND flash memory[J]. IEEE transactions on circuits and systems I:regular papers, 2018, 65(1): 353–365. [14] DONG Guiqiang, XIE Ningde, ZHANG Tong. Enabling NAND flash memory use soft-decision error correction codes at minimal read latency overhead[J]. IEEE transactions on circuits and systems I:regular papers, 2013, 60(9): 2412–2421. [15] ASLAM C A, GUAN Yongliang, CAI Kui. Read and write voltage signal optimization for multi-level-cell (MLC) NAND flash memory[J]. IEEE transactions on communications, 2016, 64(4): 1613–1623. [16] DONG Guiqiang, LI Shu, ZHANG Tong. Using data postcompensation and predistortion to tolerate cell-tocell interference in MLC NAND flash memory[J]. IEEE transactions on circuits and systems I:regular papers, 2010, 57(10): 2718–2728. [17] OUYANG Shijie, HAN Guojun, FANG Yi, et al. LLRdistribution-based non-uniform quantization for RBIMSD algorithm in MLC flash memory[J]. IEEE communications letters, 2018, 22(1): 45–48. [18] CAI Yu, LUO Yixin, HARATSCH E F, et al. Data retention in MLC NAND flash memory: characterization, optimization, and recovery[C]//2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA). Burlingame, USA, 2015: 551−563. [19] [20] HE Ruiquan, HU Haihua, XIONG Chunru, et al. Artificial neural network assisted error correction for MLC NAND flash memory[J]. Micromachines, 2021, 12(8): 879. ZHANG Pengfei, XUE Jianru, LAN Cuiling, et al. EleAtt-RNN: adding attentiveness to neurons in recurrent neural networks[J]. IEEE transactions on image processing, 2020, 29: 1061–1073. [21] CAO Congzhe, LI Duanshun, FAIR I. Deep learningbased decoding of constrained sequence codes[J]. IEEE journal on selected areas in communications, 2019, 37(11): 2532–2543. [22] 张旋, 慕建君, 焦晓鹏. 基于错误特征的 MLC 闪存最 小和译码算法 [J]. 系统工程与电子技术, 2019, 41(8): 1887–1895. ZHANG Xuan, MU Jianjun, JIAO Xiaopeng. Min-sum decoding algorithm based on error characteristics for MLC flash memory[J]. Systems engineering and electronics, 2019, 41(8): 1887–1895. [23] 张旋, 周乐, 侯爱华. 一种适用于 MLC 闪存的 CCI 噪 声均衡化算法 [J]. 计算机科学, 2018, 45(S1): 541–544. ZHANG Xuan, ZHOU Le, HOU Aihua. CCI noise equalization algorithm for MLC flash memory[J]. Computer science, 2018, 45(S1): 541–544. [24] 作者简介: 胡海华,博士研究生,主要研究方 向为面向数据存储的信号处理技术、 差错控制编码技术、机器学习。 韩国军,教授,博士生导师,主要 研究方向为面向数据存储的信号处理 与差错控制编码技术、车联网及先进 辅助驾驶技术。获广东省自然科学二 等奖 1 项,广州市科技进步一等奖 1 项。主持国家自然科学基金面上项 目 3 项。获发明专利授权 4 项,发表 学术论文 50 余篇。 张孝谊,硕士研究生,主要研究方 向为面向数据存储的信号处理技术、 差错控制编码技术、机器学习。 第 6 期 胡海华,等:基于卷积神经网络的闪存信道检测技术研究 ·1097·