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

技术编号:37983488 阅读:7 留言:0更新日期:2023-06-30 09:58
本申请实施例涉及存储设备应用领域,公开了一种纠错单元管理方法、存储控制芯片及闪存设备,纠错单元管理方法包括:对至少两个用户数据进行压缩,得到每一用户数据一一对应的压缩单元;对至少一个第二压缩单元进行切分,得到至少两个第三压缩单元;将至少一个第三压缩单元与若干个第一压缩单元进行组合,得到若干个基础纠错单元;根据若干个第二压缩单元,得到若干个扩展纠错单元;按照排列顺序,将若干个基础纠错单元和若干个扩展纠错单元进行组合,得到存储数据队列。通过对压缩单元进行切分与组合,得到基础纠错单元与扩展纠错单元,并按照排列顺序组合得到存储数据队列,本申请能够减少冗余数据占据存储空间,提高存储空间的利用率。的利用率。的利用率。

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


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

技术介绍

[0002]闪存设备,例如:固态硬盘(Solid State Drives,SSD),是采用固态电子存储芯片阵列而制成的硬盘,固态硬盘包括控制单元和存储单元(FLASH存储芯片或 DRAM存储芯片)。
[0003]闪存(NAND Flash)是固态硬盘的主要存储介质。由于闪存存储存在误码率,为了数据的正确性,在写入用户数据时加入校验数据以对用户数据进行校验保护。数据在闪存页内以纠错单元的形式存储,纠错单元由有效数据和校验数据组成,其中,有效数据包括压缩单元,压缩单元为压缩后的用户数据。
[0004]目前,当纠错单元内的多个压缩单元的数据长度之和不满足设定的有效数据的长度,且在剩余的压缩单元中没有数据长度适合的压缩单元时,采用写入无效数据的方式或对压缩单元进行切分的方式增加数据长度,以使纠错单元的数据长度满足设定的纠错长度。然而,无效数据作为冗余数据占据存储空间,会造成存储空间的浪费,降低存储空间的利用率,而且在对压缩单元切分后,读取该压缩单元时,需要读取至少两个纠错单元进行解码,会导致读带宽的负载增加。

技术实现思路

[0005]本申请实施例提供一种纠错单元管理方法、存储控制芯片及闪存设备,以减少冗余数据占据闪存设备的存储空间,提高闪存设备的存储空间的利用率,并保证闪存设备的性能不受影响。
[0006]本申请实施例提供以下技术方案:第一方面,本申请实施例提供一种纠错单元管理方法,应用于闪存设备,闪存设备包括纠错单元,纠错单元包括基础纠错单元与扩展纠错单元,纠错单元管理方法包括:对至少两个用户数据进行压缩,得到每一用户数据一一对应的压缩单元,其中,所述压缩单元包括第一压缩单元和第二压缩单元,所述第一压缩单元为压缩后不需被切分的压缩单元,所述第二压缩单元为压缩后需被切分的压缩单元;对至少一个第二压缩单元进行切分,得到至少两个第三压缩单元;将至少一个第三压缩单元与若干个第一压缩单元进行组合,得到若干个基础纠错单元,其中,一个基础纠错单元包括至少一个第三压缩单元和至少一个第一压缩单元;根据若干个第二压缩单元,得到若干个扩展纠错单元;按照排列顺序,将若干个基础纠错单元和若干个扩展纠错单元进行组合,得到存储数据队列。
[0007]第二方面,本申请实施例提供一种存储控制芯片,应用如第一方面的纠错单元管
理方法,存储控制芯片包括:数据压缩单元,连接纠错管理单元与数据纠错引擎单元,用于对至少两个用户数据进行压缩,得到每一用户数据一一对应的压缩单元,其中,所述压缩单元包括第一压缩单元和第二压缩单元,所述第一压缩单元为压缩后不被切分的压缩单元,所述第二压缩单元为压缩后被切分的压缩单元;纠错管理单元,连接数据压缩单元、数据纠错引擎单元与数据存储单元,用于对至少一个第二压缩单元进行切分,得到至少两个第三压缩单元;数据纠错引擎单元,连接数据压缩单元、纠错管理单元与数据存储单元,用于将至少一个第三压缩单元与若干个第一压缩单元进行组合,得到若干个基础纠错单元,或者,根据若干个第二压缩单元,得到若干个扩展纠错单元,其中,一个基础纠错单元包括至少一个第三压缩单元和至少一个第一压缩单元;数据存储单元,连接纠错管理单元与数据纠错引擎单元,用于按照排列顺序,将若干个基础纠错单元和若干个扩展纠错单元进行组合,得到存储数据队列。
[0008]第三方面,本申请实施例提供一种闪存设备,包括:如第二方面的存储控制芯片;至少一个闪存介质,与存储控制芯片通信连接。
[0009]第四方面,本申请实施例还提供了一种非易失性计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使闪存设备能够执行第一方面的纠错单元管理方法。
[0010]本申请实施例的有益效果是:区别于现有技术的情况下,本申请实施例提供的一种纠错单元管理方法,应用于闪存设备,闪存设备包括纠错单元,纠错单元包括基础纠错单元与扩展纠错单元,纠错单元管理方法包括:对至少两个用户数据进行压缩,得到每一用户数据一一对应的压缩单元,其中,压缩单元包括第一压缩单元和第二压缩单元,第一压缩单元为压缩后不需被切分的压缩单元,第二压缩单元为压缩后需被切分的压缩单元;对至少一个第二压缩单元进行切分,得到至少两个第三压缩单元;将至少一个第三压缩单元与若干个第一压缩单元进行组合,得到若干个基础纠错单元,其中,一个基础纠错单元包括至少一个第三压缩单元和至少一个第一压缩单元;根据若干个第二压缩单元,得到若干个扩展纠错单元;按照排列顺序,将若干个基础纠错单元和若干个扩展纠错单元进行组合,得到存储数据队列。
[0011]通过将对第二压缩单元进行切分得到的第三压缩单元与若干个第一压缩单元进行组合,得到若干个基础纠错单元,并根据若干个第二压缩单元,得到若干个扩展纠错单元,然后按照排列顺序,将若干个基础纠错单元和若干个扩展纠错单元进行组合,得到存储数据队列,本申请能够减少冗余数据占据闪存设备的存储空间,提高闪存设备的存储空间的利用率,并保证闪存设备的性能不受影响。
附图说明
[0012]一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
[0013]图1是本申请实施例提供的一种闪存设备的结构示意图;图2是本申请实施例提供的一种闪存封装芯片的结构示意图;图3是本申请实施例提供的一种闪存页与纠错单元的结构示意图;图4是本申请实施例提供的一种根据用户数据得到纠错单元的示意图;图5是本申请实施例提供的一种纠错单元管理方法的流程示意图;图6是图5中的步骤S502的细化流程示意图;图7是本申请实施例提供的一种对若干个第二压缩单元进行切分的细化流程示意图;图8是图5中的步骤S503的细化流程示意图;图9是图5中的步骤S504的细化流程示意图;图10是本申请实施例提供的一种基础纠错单元与扩展纠错单元的对比示意图;图11是本申请实施例提供的一种根据用户数据得到基础纠错单元与扩展纠错单元的示意图;图12是图5中的步骤S505的细化流程示意图;图13是本申请实施例提供的一种将用户数据存储至闪存设备的完整流程示意图;图14是本申请实施例提供的一种将用户数据存储至闪存设备的示意图;图15是本申请实施例提供的一种有效数据与校验数据分别连续排列的示意图;图16是本申请实施例提供的一种读取用户数据的流程示意图;图17是本申请实施例提供的一种读取基础纠错单元内的数据的示意图;图18是本申请实施例提供的一种读取扩展纠错单元内的数据的示意图;图19是本申请实施例提供的一种存储控制芯片的结构示意图;图20是本申请实施例提供的一种纠错管理单元的结构示意图。
具体实施方式
[0014]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种纠错单元管理方法,应用于闪存设备,其特征在于,所述闪存设备包括纠错单元,所述纠错单元包括基础纠错单元与扩展纠错单元,所述方法包括:对至少两个用户数据进行压缩,得到每一用户数据一一对应的压缩单元,其中,所述压缩单元包括第一压缩单元和第二压缩单元,所述第一压缩单元为压缩后不需被切分的压缩单元,所述第二压缩单元为压缩后需被切分的压缩单元;对至少一个所述第二压缩单元进行切分,得到至少两个第三压缩单元;将至少一个所述第三压缩单元与若干个所述第一压缩单元进行组合,得到若干个基础纠错单元,其中,一个所述基础纠错单元包括至少一个所述第三压缩单元和至少一个所述第一压缩单元;根据若干个所述第二压缩单元,得到若干个扩展纠错单元;按照排列顺序,将若干个所述基础纠错单元和若干个所述扩展纠错单元进行组合,得到存储数据队列。2.根据权利要求1所述的方法,其特征在于,所述纠错单元的数据长度大于所述压缩单元的数据长度,每一所述纠错单元内存储至少一个所述压缩单元,若一个所述第二压缩单元被切分为两个所述第三压缩单元,则所述第二压缩单元对应三个所述纠错单元,其中,一个所述第三压缩单元存储于第一基础纠错单元,另一个所述第三压缩单元存储于第二基础纠错单元,所述第二压缩单元整体存储于所述扩展纠错单元。3.根据权利要求1所述的方法,其特征在于,所述对至少一个所述第二压缩单元进行切分,得到至少两个第三压缩单元,包括:对至少两个所述压缩单元进行组合,以得到有效数据;若所述有效数据的数据长度小于预设长度,则根据每一所述压缩单元的数据长度,对所述压缩单元进行递增排序,以得到压缩单元序列;将所述压缩单元序列中序列号最大的压缩单元划分至有效数据集合,并在所述压缩单元序列中删除序列号最大的压缩单元,以更新所述压缩单元序列;若当前的压缩单元序列中序列号最小的压缩单元与有效数据集合中的全部数据的数据长度之和大于预设长度,则确定所述序列号最小的压缩单元为第二压缩单元,对所述第二压缩单元进行切分,得到至少两个第三压缩单元。4.根据权利要求3所述的方法,其特征在于,所述对至少一个所述第二压缩单元进行切分,得到至少两个第三压缩单元,还包括:若当前的压缩单元序列中序列号最小的压缩单元与有效数据集合中的全部数据的数据长度之和小于或等于预设长度,则将所述序列号最小的压缩单元划分至有效数据集合,在当前的压缩单元序列中删除序列号最小的压缩单元,以更新当前的压缩单元序列;若预设长度与有效数据集合中的全部数据的数据长度之差小于切分阈值,且更新后的压缩单元序列中序列号最小的压缩单元的数据长度大于或等于切分阈值,则确定所述更新后的压缩单元序列中序列号最小的压缩单元为第二压缩单元,对所述第二压缩单元进行切分,得到至少两个第三压缩单元。5.根据权利要求3或4所述的方法,其特征在于,所述将至少一个所述第三压缩单元与若干个所述第一压缩单元进行组合,得到若干个基础纠错单元,包括:将至少一个所述第三压缩单元划分至所述有效数据集合,以得到组合数据,其中,所述
有效数据集合包括至少一个第一压缩单元,所述组合数据包括所述有效数据集合中的全部数据,所述组合数据的数据长度之和等于所述预设长度;对每一所述组合数据进行编码,得到与每一所述组合数据一一对应的第一校验数据;将每一所述组合数据与对应的所述第一校验数据组合,得到若干个所述基础纠错单元。6.根据权利要求1所述的方法,其特征在于,所述根据若干个所述第二压缩单元,得到若干个扩展纠错单元,包括:若所述第二压缩单元的数据长度小于预设长度,则在所述第二压缩单元后填充无效数据,以使所述第二压缩单元与所述无效数据的数据长度之和等于预设长度;对所述第二压缩单元与所述无效数...

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

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

1