System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据存储方法、装置、存储设备及计算机可读存储介质制造方法及图纸_技高网

数据存储方法、装置、存储设备及计算机可读存储介质制造方法及图纸

技术编号:40416233 阅读:7 留言:0更新日期:2024-02-20 22:33
本申请公开了一种数据存储方法、装置、存储设备及计算机可读存储介质。所述数据存储方法包括:将存储设备中多个逻辑单元的每个平面中所对应的存储块绑定为一个超级块;根据所述超级块的类型和待写入数据的数据类型,利用对应的磁盘冗余阵列保护机制进行数据存储操作。上述方案,使得用户可用预留空间损失较小。

【技术实现步骤摘要】

本申请涉及存储,特别是涉及一种数据存储方法、装置、存储设备及计算机可读存储介质


技术介绍

1、nand flash作为非易失性存储介质,由于它成本低、速度快、功耗低等优点,给用户带来了更好的体验,目前nand flash在各种存储设备中得到了广泛的应用。但是随着时间的增长,nand flash可靠性不高的问题会更加凸显。由nand flash的结构决定,nandflash存储的数据容易出现bit翻转,当bit翻转数超过了ecc(error checking andcorrection,错误检查和纠正)的纠错能力就需要另一种纠错算法。对于固态硬盘而言通常由多个lun(逻辑单元)组成,其中只要一个逻辑单元的数据出错都会影响数据的完整性,从而增大了数据出错的概率。以往类似磁盘冗余阵列(磁盘冗余阵列)的纠错算法存在用户可用op(over provisioning,预留空间)空间降低、wa(write amplification,写放大)变大、降低性能等缺陷。


技术实现思路

1、本申请主要解决的技术问题是提供一种数据存储方法、装置、存储设备及计算机可读存储介质,能够使用户可用预留空间损失较小。

2、为了解决上述问题,本申请第一方面提供了一种数据存储方法,所述数据存储方法包括:将存储设备中多个逻辑单元的每个平面中所对应的存储块绑定为一个超级块;根据所述超级块的类型和待写入数据的数据类型,利用对应的磁盘冗余阵列保护机制进行数据存储操作。

3、其中,所述超级块为第一类私有数据slc块、第二类私有数据slc块、用户数据slc块以及用户数据xlc块中的至少一种。

4、其中,所述超级块为第一类私有数据slc块;所述根据所述超级块的类型和待写入数据的数据类型,利用对应的磁盘冗余阵列保护机制进行数据存储操作,包括:收到写入所述待写入数据的请求时,将所述待写入数据同时写入所述超级块的第一逻辑单元以及与所述第一逻辑单元互为镜像的第二逻辑单元中;当所述第一逻辑单元中的数据出现错误时,通过所述第二逻辑单元中的数据进行镜像还原。

5、其中,所述超级块为第二类私有数据slc块;所述根据所述超级块的类型和待写入数据的数据类型,利用对应的磁盘冗余阵列保护机制进行数据存储操作,包括:收到写入所述待写入数据的请求时,将所述待写入数据依次写入所述超级块的若干个逻辑单元中,并对所述待写入数据进行异或操作,得到奇偶校验数据;将所述奇偶校验数据写入所述若干个逻辑单元中的最后一个逻辑单元的最后一个平面中;当所述若干个逻辑单元中的任意一个逻辑单元的任意一个平面中的数据出现错误时,通过所述若干个逻辑单元中的数据进行异或操作进行恢复。

6、其中,所述超级块为用户数据slc块或用户数据xlc块;所述根据所述超级块的类型和待写入数据的数据类型,利用对应的磁盘冗余阵列保护机制进行数据存储操作,包括:根据所述存储块中预设数量个字线所包含的页面数,将所述超级块划分为对应数量个磁盘冗余阵列组;收到写入所述待写入数据的请求时,将所述待写入数据写入若干组所述磁盘冗余阵列组中;获取每组所述磁盘冗余阵列组对应的奇偶校验数据;将每组所述磁盘冗余阵列组对应的奇偶校验数据写入对应的所述磁盘冗余阵列组中的最后一个逻辑单元的最后一个平面中;当某个平面中的数据出现错误时,通过与该平面处于同一个磁盘冗余阵列组的数据进行异或操作进行恢复。

7、其中,所述获取每组所述磁盘冗余阵列组对应的奇偶校验数据,包括:对每组所述磁盘冗余阵列组的数据进行异或操作,得到每组所述磁盘冗余阵列组对应的奇偶校验数据;或,通过内存交换机制获取每组所述磁盘冗余阵列组对应的奇偶校验数据。

8、其中,所述通过内存交换机制获取每组所述磁盘冗余阵列组对应的奇偶校验数据,包括:解析所述待写入数据的写入请求,确定所述待写入数据对应的磁盘冗余阵列组;搜索在磁盘冗余阵列内存中是否存在所述待写入数据对应的磁盘冗余阵列组的奇偶校验数据;若存在,则对每组所述磁盘冗余阵列组的数据进行异或操作,得到每组所述磁盘冗余阵列组对应的奇偶校验数据;若不存在,则将其它磁盘冗余阵列组的奇偶校验数据写入交换块,并将所述待写入数据对应的磁盘冗余阵列组的奇偶校验数据从所述交换块中读取出来。

9、为了解决上述问题,本申请第二方面提供了一种数据存储装置,所述数据存储装置包括:划分模块,所述划分模块用于将存储设备中多个逻辑单元的每个平面中所对应的存储块绑定为一个超级块;处理模块,所述处理模块用于根据所述超级块的类型和待写入数据的数据类型,利用对应的磁盘冗余阵列保护机制进行数据存储操作。

10、为解决上述问题,本申请第三方面提供了一种存储设备,所述存储设备包括相互连接的处理器和存储器;所述存储器用于存储程序指令,所述处理器用于执行所述程序指令以实现上述第一方面的数据存储方法。

11、为解决上述问题,本申请第四方面提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令被处理器执行时实现上述第一方面的数据存储方法。

12、本专利技术的有益效果是:区别于现有技术的情况,本申请通过将存储设备中多个逻辑单元的每个平面中所对应的存储块绑定为一个超级块,然后可以根据超级块的类型和待写入数据的数据类型,利用对应的磁盘冗余阵列保护机制进行数据存储操作。通过将存储设备中多个逻辑单元的每个平面中所对应的存储块绑定为一个超级块,并根据超级块的不同用途设置对应的磁盘冗余阵列保护机制,加强了整体的保护能力,减少了用户可用op的损失。

本文档来自技高网...

【技术保护点】

1.一种数据存储方法,其特征在于,所述数据存储方法包括:

2.根据权利要求1所述的数据存储方法,其特征在于,所述超级块为第一类私有数据SLC块、第二类私有数据SLC块、用户数据SLC块以及用户数据XLC块中的至少一种。

3.根据权利要求1所述的数据存储方法,其特征在于,所述超级块为第一类私有数据SLC块;

4.根据权利要求1所述的数据存储方法,其特征在于,所述超级块为第二类私有数据SLC块;

5.根据权利要求1所述的数据存储方法,其特征在于,所述超级块为用户数据SLC块或用户数据XLC块;

6.根据权利要求5所述的数据存储方法,其特征在于,所述获取每组所述磁盘冗余阵列组对应的奇偶校验数据,包括:

7.根据权利要求6所述的数据存储方法,其特征在于,所述通过内存交换机制获取每组所述磁盘冗余阵列组对应的奇偶校验数据,包括:

8.一种数据存储装置,其特征在于,所述数据存储装置包括:

9.一种存储设备,其特征在于,所述存储设备包括相互连接的处理器和存储器;

10.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至7任一项所述的数据存储方法。

...

【技术特征摘要】

1.一种数据存储方法,其特征在于,所述数据存储方法包括:

2.根据权利要求1所述的数据存储方法,其特征在于,所述超级块为第一类私有数据slc块、第二类私有数据slc块、用户数据slc块以及用户数据xlc块中的至少一种。

3.根据权利要求1所述的数据存储方法,其特征在于,所述超级块为第一类私有数据slc块;

4.根据权利要求1所述的数据存储方法,其特征在于,所述超级块为第二类私有数据slc块;

5.根据权利要求1所述的数据存储方法,其特征在于,所述超级块为用户数据slc块或用户数据xlc块;

...

【专利技术属性】
技术研发人员:包启明尹慧
申请(专利权)人:中山市江波龙电子有限公司
类型:发明
国别省市:

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

1