一种用于闪存胞元不可靠状态消除的等长编解码方法技术

技术编号:29934676 阅读:11 留言:0更新日期:2021-09-04 19:08
本发明专利技术提出了一种用于闪存胞元不可靠状态消除的等长编解码方法,通过编码器对胞元数据预处理,再将多级胞元所有状态等分为4组,然后根据码段中的状态组合得到重映射编码方法;将重映射编码后的信息存储到闪存的不同块中:解码器根据标志位将经过步骤三的3胞元码段反映射为原始数据;本发明专利技术基于等长编码的特性保证了所有码字的码长都相等,即原始数据流不会因为存储的调制数据中的比特翻转而发生窜动,实现一种以消除目标状态的数据形式对多级胞元闪存进行数据存储的编解码方法。对于MLC型闪存可消除一种状态,对于TLC型闪存可消除两种状态。种状态。种状态。

【技术实现步骤摘要】
一种用于闪存胞元不可靠状态消除的等长编解码方法


[0001]本专利技术属于固态存储领域,具体地,涉及一种用于闪存胞元不可靠状态消除的等长编解码方法。

技术介绍

[0002]目前的固态存储以MLC(Multi

Level Cell,每个胞元中存储2位信息)、TLC(Trinary

Level Cell,每个胞元中存储3位信息)这两种多级胞元NAND闪存为主,其可靠性与其写入数据后的胞元阈值电压分布特征密切相关,本专利技术专利涉及对写入NAND闪存的数据形式进行调制,通过优化阈值电压分布在相同的写入面积内尽可能将胞元编程到更可靠的状态,可以在多种存储应用场景中明显提高NAND闪存数据存储的可靠性。
[0003]随着数据中心、物联网、移动设备等技术的发展,人们对数据存储的需求呈现出爆炸式的增长,其中NAND闪存因其低位成本和高集成度等优势成为实现非易失性存储的主流介质。近年来,闪存制造商采取了3D堆叠技术、多级胞元技术等集成工艺创新来维持存储介质容量的发展,然而,这也对NAND闪存可靠性提出了新的挑战。
[0004]大量研究表明,多级闪存的各胞元状态可靠性之间存在明显差异,因而可以通过优化闪存阈值电压分布来实现闪存可靠性的提升,即在相同的写入面积将闪存胞元尽可能编程到更可靠的状态从而降低整体的错误率。现有的实现状态消除的数据调制方法是基于变长编码的,其缺陷是,发生在闪存中的比特翻转在解码后可能会导致码长的变化,进而导致存储数据中关键位的位置发生窜动。
专利技术内容
[0005]本专利技术提出了一种用于闪存胞元不可靠状态消除的等长编解码方法,提出的编解码方法实现了基于等长编码的状态消除数据调制,即所有的码长都相同,其保证了发生在闪存中比特翻转翻映射后不会导致码长的变化,进而保证了存储数据中关键位的位置不会发生窜动,从而抑制多种主要的状态转换类型引入的错误。
[0006]本专利技术是通过以下方案实现的:
[0007]一种用于闪存胞元不可靠状态消除的等长编解码方法,
[0008]所述方法包括以下步骤:
[0009]步骤一:通过编码器对胞元数据预处理;
[0010]步骤二:将多级胞元所有状态等分为4组,记为G
i
,其中i=1,2,3,4;设其中一组中的状态为目标消除的状态Y,用2

bit的标志位Flag(i)分别标记这4组,即Flag(i)分别取00,01,10和11;根据码段中的状态组合得到重映射编码信息;
[0011]步骤三:将重映射编码后的信息存储到闪存的不同块中;
[0012]步骤四:解码器根据标志位将经过步骤三的3胞元码段反映射为原始数据。
[0013]进一步地,
[0014]编码器向闪存中写入一个块的数据后,根据闪存实际应用场景向存储的数据施加
错误应力,并在全测试周期中统计各种状态转换数量,进而确定目标消除的不可靠状态。
[0015]进一步地,
[0016]将原始数据流按字线长度进行划分后,取3胞元作为一个编码的码段,
[0017]从i=1开始逐次递增检索,所述3胞元的码段中至少有1组状态没有出现,设最先检索到的组为第k组,X是第k组中的状态,则对编码的3胞元码段进行重映射Y

X后,再与2

bit标志位Flag(k)一起写入NAND闪存。
[0018]进一步地,
[0019]待将1个字线以3胞元为一个码段进行重映射后,可以得到1个字线的调制后的数据和2

bit标志位组成的阵列,将其分别存储在闪存中的不同块上。
[0020]进一步地,
[0021]解码器的工作流程为:
[0022]S1:从NAND闪存中读取出一个字线的数据;
[0023]S2:读取出所述字线对应的2

bit标志位序列;
[0024]S3:将用户区数据按照3胞元为一个码段进行拆分并和相应的2

bit标志位配对;
[0025]S4:判断一个字线的数据是否均已反映射,如未反映射进行步骤S6,如已经反映射则进行步骤S7;
[0026]S5:针对拆分的每3胞元调制数据,依据其对应的2

bit标志位序列反映射回原始的3胞元数据;
[0027]S6:将反映射的3胞元数据整合成一个字线的原始数据流输出。
[0028]本专利技术有益效果
[0029](1)本专利技术的编解码方法实现一种以消除目标状态的数据形式对多级胞元闪存进行数据存储的编解码方法。对于MLC型闪存可消除一种状态,对于TLC型闪存可消除两种状态;
[0030](2)本专利技术的编解码方法基于等长编码的特性保证了所有码字的码长都相等,即原始数据流不会因为存储的调制数据中的比特翻转而发生窜动,特别适用于关键位敏感的存储应用场景误;
[0031](3)本专利技术闪存胞元状态间的可靠性差异普遍存在于多种存储应用场景中,因而该编解码方法的闪存可靠性提升效果具备广泛的适用面。
附图说明
[0032]图1为本专利技术写入崭新闪存新块的图片;
[0033]图2为本专利技术写入后立即读出的图片;
[0034]图3为通过数据调对多级胞元闪存进行状态消除示意图,其中(a)为MLC型NAND闪存的状态消除示意图,(b)为TLC型NAND闪存的状态消除示意图;
[0035]图4为TLC型NAND闪存状态转换示例;
[0036]图5为TLC型NAND闪存中消除B状态和C状态的重映射方法示例;
[0037]图6为从闪存读出数据后的反映射流程图;
[0038]图7为编解码方法提升降低TLC型NAND闪存整体错误率的示例。
具体实施方式
[0039]下面将结合本专利技术实施例中的附图对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例;基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0040]下面以图片数据为例说明关键位敏感数据类型对保证关键位位置不发生窜动的重要性。图1是写入闪存崭新块(写入/擦除循环为0)的一张图片,图2是写入后立即读出的数据恢复出的图片,二者的误差在10
‑5量级,尽管该错误率非常低,但是可以看出恢复的图片数据存在严重的失真,这是因为在关键位上发生了比特翻转,因而可以看出,保证存储数据中的关键位的位置在原始数据流中不发生窜动,对存储数据的进一步纠错工作具有重要意义。
[0041]本专利技术的方法可以实现在MLC闪存中消除一个状态或在TLC闪存中消除两个状态的编解码方法,主要分为编码器和解码器两个部分。其中,编码器用于向闪存写入数据前对原始数据的预处理环节,解码器用于从闪存中读取数据后将其恢复成原始数据的环节。
[0042本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于闪存胞元不可靠状态消除的等长编解码方法,其特征在于:所述方法包括以下步骤:步骤一:通过编码器对胞元数据预处理;步骤二:将多级胞元所有状态等分为4组,记为G
i
,其中i=1,2,3,4;设其中一组中的状态为目标消除的状态Y,用2

bit的标志位Flag(i)分别标记这4组,即Flag(i)分别取00,01,10和11;根据码段中的状态组合得到重映射编码信息;步骤三:将重映射编码后的信息存储到闪存的不同块中;步骤四:解码器根据标志位将经过步骤三的3胞元码段反映射为原始数据。2.根据权利要求1所述方法,其特征在于:编码器向闪存中写入一个块的数据后,根据闪存实际应用场景向存储的数据施加错误应力,并在全测试周期中统计各种状态转换数量,进而确定目标消除的不可靠状态。3.根据权利要求2所述方法,其特征在于:将原始数据流按字线长度进行划分后,取3胞元作为一个编码的码段,从i=1开始逐次递增检索,所述3胞元的码段中至少有1组状态没有出现,设最先检索到的组为第k组,X是第k组...

【专利技术属性】
技术研发人员:魏德宝张京超朴哲龙冯骅乔立岩彭喜元
申请(专利权)人:哈尔滨工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1