纠错单元管理方法、存储控制芯片及闪存设备技术

技术编号:38197251 阅读:8 留言:0更新日期:2023-07-21 16:34
本申请实施例涉及存储设备应用领域,公开了一种纠错单元管理方法、存储控制芯片及闪存设备,纠错单元管理方法包括:根据有效数据的数据长度,对有效数据进行分类,确定多种有效数据类型,并得到每一有效数据类型对应的子集;从不同的子集中选择至少两种不同类型的有效数据,以生成不同类型的纠错单元;组合至少两个不同类型的纠错单元,得到一个纠错单元混集,并将纠错单元混集存储至最小编程单元。通过选择至少两种不同类型的有效数据,生成不同类型的纠错单元,并将组合纠错单元得到的纠错单元混集存储至最小编程单元,本申请能够使得各个最小编程单元之间以及最小编程单元内的各个纠错单元之间的纠错强度均衡,从而提升闪存设备的整体可靠性。存设备的整体可靠性。存设备的整体可靠性。

【技术实现步骤摘要】
纠错单元管理方法、存储控制芯片及闪存设备


[0001]本申请涉及存储设备应用领域,特别是涉及一种纠错单元管理方法、存储控制芯片及闪存设备。

技术介绍

[0002]闪存设备,例如:固态硬盘(Solid State Drives,SSD),是采用固态电子存储芯片阵列而制成的硬盘,固态硬盘包括控制单元和存储单元(FLASH存储芯片或 DRAM存储芯片)。闪存(NAND Flash)是固态硬盘的主要存储介质。数据在闪存的最小编程单元(例如:闪存页)内以纠错单元的形式存储,纠错单元由有效数据和校验数据组成,其中,有效数据包括主机数据块。
[0003]目前,闪存采用的纠错单元管理方法为:将同一类型的主机数据块存储至同一个最小编程单元(例如:闪存页)内,并且同一个最小编程单元内的每个纠错单元的码长相同。
[0004]然而,当有多命名空间需求时,主机数据块的类型增加,从而使得不同类型的主机数据块对应的有效数据长度不一样,导致形成的纠错单元的纠错强度存在差异。如果仍然采用上述纠错单元管理方法,那么不同的最小编程单元的数据可靠性会有所差异,即纠错强度存在差异,同一个最小编程单元内的各个纠错单元的纠错强度也会不同。当不同类型的主机数据块的数据长度差异越大,纠错强度差异也越明显。

技术实现思路

[0005]本申请实施例提供一种纠错单元管理方法、存储控制芯片及闪存设备,以使闪存的最小编程单元内的各个纠错单元的纠错强度均衡,以及闪存的各个最小编程单元的纠错强度均衡,从而提升闪存设备的整体可靠性。
[0006]本申请实施例提供以下技术方案:第一方面,本申请实施例提供一种纠错单元管理方法,应用于闪存设备,闪存设备包括纠错单元和最小编程单元,纠错单元包括有效数据,纠错单元管理方法包括:根据有效数据的数据长度,对有效数据进行分类,确定多种有效数据类型,并得到每一有效数据类型对应的子集;从不同的子集中选择至少两种不同类型的有效数据,以生成不同类型的纠错单元;组合至少两个不同类型的所述纠错单元,得到一个纠错单元混集,并将纠错单元混集存储至最小编程单元。
[0007]第二方面,本申请实施例提供一种存储控制芯片,存储控制芯片包括纠错管理单元,纠错管理单元应用如第一方面的纠错单元管理方法,纠错管理单元包括有效数据分类管理模块、纠错单元生成管理模块和纠错单元分类管理模块,其中,有效数据分类管理模块,连接纠错单元生成管理模块,用于对有效数据进行分类,得到每一有效数据类型对应的子集;
纠错单元生成管理模块,连接有效数据分类管理模块与纠错单元分类管理模块,用于从不同的子集中选择至少两种不同类型的有效数据,以生成不同类型的纠错单元;纠错单元分类管理模块,连接纠错单元生成管理模块,用于将纠错单元组合,得到组合数据,并基于纠错单元的类型,对若干个组合数据进行分类,以得到若干个纠错单元混集。
[0008]在一些实施例中,存储控制芯片还包括数据缓存单元、数据纠错引擎与数据存储单元,其中,数据缓存单元,连接纠错管理单元与数据纠错引擎,用于缓存每一有效数据类型对应的子集;数据纠错引擎,连接数据缓存单元、纠错管理单元与数据存储单元,用于在数据写入时对数据进行编码以生成纠错单元,和/或,在读取数据时对纠错单元进行解码;数据存储单元,连接纠错管理单元与数据纠错引擎,用于将数据存储至闪存或者从闪存中读取数据。
[0009]第三方面,本申请实施例提供一种闪存设备,包括:如第二方面的存储控制芯片;至少一个闪存介质,与存储控制芯片通信连接。
[0010]第四方面,本申请实施例还提供了一种非易失性计算机可读存储介质,非易失性计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使闪存设备能够执行第一方面的纠错单元管理方法。
[0011]本申请实施例的有益效果是:区别于现有技术的情况下,本申请实施例提供一种纠错单元管理方法,该纠错单元管理方法应用于闪存设备,闪存设备包括纠错单元和最小编程单元,纠错单元包括有效数据,纠错单元管理方法包括:根据有效数据的数据长度,对有效数据进行分类,确定多种有效数据类型,并得到每一有效数据类型对应的子集;从不同的子集中选择至少两种不同类型的有效数据,以生成不同类型的纠错单元;组合至少两个不同类型的纠错单元,得到一个纠错单元混集,并将纠错单元混集存储至最小编程单元。
[0012]通过选择至少两种不同类型的有效数据,生成不同类型的纠错单元,并将组合纠错单元得到的纠错单元混集存储至最小编程单元,本申请能够使得闪存的最小编程单元内的各个纠错单元的纠错强度均衡,并使得闪存的各个最小编程单元的纠错强度均衡,从而提升闪存设备的整体可靠性。
附图说明
[0013]一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
[0014]图1是本申请实施例提供的一种闪存设备的结构示意图;图2是本申请实施例提供的一种闪存封装芯片的结构示意图;图3是本申请实施例提供的一种闪存页内存储的纠错单元的类型示意图;图4是本申请实施例提供的一种纠错单元的结构示意图;图5是本申请实施例提供的一种纠错单元管理方法的流程示意图;
图6是本申请实施例提供的不同有效数据类型对应的有效数据的示意图;图7是本申请实施例提供的一种有效数据类型集合的示意图;图8是图5中的步骤S502的细化流程示意图;图9是图8中的步骤S521的细化流程示意图;图10是本申请实施例提供的一种不同类型的有效数据对应的校验数据的数据长度的分布图;图11是图8中的步骤S523的细化流程示意图;图12是图5中的步骤S503的细化流程示意图;图13是本申请实施例提供的不同的纠错单元混集的示意图;图14是本申请实施例提供的另一种闪存页内存储的纠错单元的类型示意图;图15是本申请实施例提供的两种不同的纠错单元管理方法对应的编程单元的示意图;图16是本申请实施例提供的一种纠错单元管理方法的总体流程示意图;图17是本申请实施例提供的一种存储控制芯片的结构示意图;图18是本申请实施例提供的一种纠错管理单元的结构示意图。
具体实施方式
[0015]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0016]此外,下面所描述的本申请各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0017]下面结合说明书附图具体地阐述本申请的技术方案。
[0018]请参阅图1,图1是本申请实施例提供的一种闪存设备的结构示意图;如图1所示,闪存设备100包括连接器101、存储控制芯片102、其他外围单元103、缓存单元104和闪存介质1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种纠错单元管理方法,应用于闪存设备,其特征在于,所述闪存设备包括纠错单元和最小编程单元,所述纠错单元包括有效数据,所述方法包括:根据所述有效数据的数据长度,对所述有效数据进行分类,确定多种有效数据类型,并得到每一有效数据类型对应的子集;从不同的子集中选择至少两种不同类型的有效数据,以生成不同类型的纠错单元;组合至少两个不同类型的所述纠错单元,得到一个纠错单元混集,并将所述纠错单元混集存储至所述最小编程单元。2.根据权利要求1所述的方法,其特征在于,所述纠错单元的数据长度小于所述最小编程单元的数据长度,所述不同类型的纠错单元的码长不同,不同有效数据类型对应的有效数据的数据长度不同,若干个所述子集构成一个有效数据类型集合。3.根据权利要求2所述的方法,其特征在于,所述从不同的子集中选择至少两种不同类型的有效数据,以生成不同类型的纠错单元,包括:根据每一子集内的有效数据的数据长度,从所述有效数据类型集合中选择N个子集,其中,N为一个最小编程单元对应的有效数据的种类数, N为正整数且N2;分别从每一个被选择的子集中获取一个有效数据,得到N个不同类型的有效数据,其中,每一子集内的有效数据的数据长度相同,不同子集的有效数据的数据长度不同;根据N个不同类型的有效数据的数据长度,确定每一有效数据对应的校验数据的数据长度,以生成不同类型的纠错单元,其中,每一所述纠错单元均包括有效数据和校验数据。4.根据权利要求3所述的方法,其特征在于,所述根据每一子集内的有效数据的数据长度,从所述有效数据类型集合中选择N个子集,包括:按照每一子集内的有效数据的数据长度从大到小的顺序,对所述子集进行序号递增排列,得到子集序列;从所述子集序列中选择一个序列号最小的子集和一个序列号最大的子集,并在所述子集序列中删除已选择的子集,以更新所述子集序列;从更新后的子集序列中依次选择一个序列号最小的子集和一个序列号最大的子集,直至得到N个子集。5.根据权利要求3所述的方法,其特征在于,所述根据N个不同类型的有效数据的数据长度,确定每一有效数据对应的校验数据的数据长度,以生成不同类型的纠错单元,包括:对N个不同类型的有效数据的数据长度取平均值,得到平均有效数据长度;根据所述平均有效数据长度,计算得到平均校验数据长度;计算预设值与所述平均校验数据长度的差值,其中,所述差值=预设的平均校验数据长度

平均校验数据长度;若所述差值小于或等于偏差阈值,则确定每一有效数据对应的校验数据的数据长度均为所述平均校验数据长度,其中,所述校验数据的数据长度大于或等于最小校验数据长度。6.根据权利要求3

5任一项所述的方法,其特征在于,所述根据N个不同类型的有效数据的数据长度,确定每一有效数据对应的校验数据的数据长度,以生成不同类型的纠错单元,还包括:若所述差...

【专利技术属性】
技术研发人员:方浩俊黄运新葛鸿民陆洲
申请(专利权)人:深圳大普微电子科技有限公司
类型:发明
国别省市:

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

1