System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据存储方法、装置及存储系统制造方法及图纸_技高网

一种数据存储方法、装置及存储系统制造方法及图纸

技术编号:44615063 阅读:2 留言:0更新日期:2025-03-17 18:16
提供一种数据存储方法、装置及存储系统,涉及存储技术领域,能够自适应地选择合适的数据写入模式,从而减小写数据过程的开销。该方法应用于存储系统中的存储控制器,存储系统包括多个存储器,该方法包括:获取目标数据;并从存储系统所支持的多种写入模式中,确定将目标数据写入存储池时的写入模式;存储池是由存储系统中的多个存储器映射成的存储空间,数据的写入模式包括覆盖写模式或追加写模式,存储池支持覆盖写模式和追加写模式,且支持切换写入模式;以及按照确定出的写入模式,将目标数据写入存储池。

【技术实现步骤摘要】

本申请涉及存储,尤其涉及一种数据存储方法、装置及存储系统


技术介绍

1、在存储
,将硬盘的存储空间映射为存储池(pool),有助于存储空间的管理。

2、向存储池写数据的过程中,存储设备接收到数据写请求之后,将该写请求中的逻辑地址(逻辑地址指示逻辑单元的标识、偏移地址以及长度)映射为存储池对应的存储空间中的地址(可以简称为存储空间地址),进而将数据写入存储空间地址对应的存储空间。

3、目前,现有技术中,向存储池写入数据的过程中均存在因读写放大而产生额外开销的问题。


技术实现思路

1、本申请提供一种数据存储方法、装置及存储系统,能够自适应地选择合适的数据写入模式,从而减小写数据过程的开销。

2、本申请采用如下技术方案:

3、第一方面,本申请提供一种数据存储方法,应用于存储系统中的存储控制器,存储系统包括多个存储器,该方法包括:获取目标数据;并且从存储系统所支持的多种写入模式中,确定将目标数据写入存储池时的写入模式;存储池是由存储系统中的多个存储器映射成的存储空间,数据的写入模式包括覆盖写模式或追加写模式,该存储池支持覆盖写模式和追加写模式,且支持切换写入模式;以及按照确定出的写入模式,将目标数据写入存储池。

4、本申请提供的数据存储方法可以支持覆盖写模式也可以支持追加写模式,能够兼容覆盖写模式的优点和追加写模式的优点,自适应地、灵活地为目标数据选择性能更优的数据写入模式,可以减小读写放大,从而减小写数据过程的开销。p>

5、一种可能的实现方式中,上述确定将目标数据写入存储池时的写入模式,包括:在目标数据的覆盖写放大程度小于追加写放大程度的情况下,确定写入模式为覆盖写模式;在目标数据的覆盖写放大程度大于追加写放大程度的情况下,确定写入模式为追加写模式,其中,覆盖写放大程度是采用覆盖写模式写入目标数据的情况下产生的读写放大的大小,追加写放大程度是采用追加写模式写入目标数据的情况下产生的读写放大的大小。

6、本申请中,写数据的过程中产生的读写放大越大(即放大程度越大),则写数据所需的开销越大。因此,在确定采用何种写入模式将目标数据写入存储池的过程中,可以根据目标数据的覆盖写放大程度和追加写放大程度确定目标数据的写入模式,具体的,将覆盖写放大程度和追加写放大程度中放大程度最小的写入模式确定为目标数据的写入模式,这样可以减小写入目标数据的过程中带来的额外开销。

7、一种可能的实现方式中,上述确定将目标数据写入存储池时的写入模式,包括:当存储池的冗余级别为无校验信息的冗余级别时,确定将目标数据写入存储池时的写入模式为覆盖写模式。

8、本申请中,冗余级别为无校验信息的冗余级别时,指示目标数据无校验信息(无需计算校验信息),这种情况下,采用追加写模式写入目标数据时,需申请新的存储空间,在存储空间中写入目标数据之后,还需要更新地址索引表(逻辑地址与存储空间地址的对应关系),也需要回收原存储空间;而采用覆盖写模式写入目标数据时,无需申请新的存储空间,将数据写入原存储空间即可。可见,采用追加写模式与采用覆盖写模式相比,追加写模式需要更新地址索引表、回收垃圾,会产生读写放大和额外的开销,因此选择覆盖写模式。

9、由于目标数据无校验信息,采用覆盖写方式存储目标数据的过程中,即使在不能满分条写的情况下,也无需计算校验信息,在一定程度上能够减小读写放大,减小写数据过程的额外开销。

10、一种可能的实现方式中,上述确定将目标数据写入存储池时的写入模式,包括:当目标数据的大小等于整数个存储池的分条大小的情况下,确定将目标数据写入存储池时的写入模式为覆盖写模式。

11、本申请中,目标数据的大小等于存储池的整数个分条大小的情况下,采用追加写模式写入目标数据时,需申请新的存储空间,在存储空间中写入目标数据以及计算的校验信息(有检验信息的情况下)之后,还需要更新地址索引表,也需要回收原存储空间;而采用覆盖写模式写入目标数据时,无需申请新的存储空间,将目标数据以及计算的校验信息写入原存储空间即可。可见,采用追加写模式与采用覆盖写模式相比,追加写模式需要更新地址索引表、回收垃圾,会产生读写放大和额外的开销,因此选择覆盖写模式。

12、由于目标数据的大小与整数个分条大小相等,可以达到满分条写,无需多次从缓存中批量地发送大量的写请求,也可以避免因解决write hole的问题而带来读写放大和额外开销(因读取其他数据以及进行数据和/或校验信息备份导致的),如此,能够在一定程度上能够减小读写放大,减小写数据过程的额外开销。

13、一种可能的实现方式中,指示目标数据无校验信息的冗余级别包括下述至少一种:raid0、raid1、raid10或多副本。

14、一种可能的实现方式中,写入模式为覆盖写模式时,上述按照确定出的写入模式,将目标数据写入存储池具体包括:基于存储系统中的地址索引表,将目标数据的逻辑地址映射为第一存储空间地址;将目标数据写入第一存储空间。其中,第一存储空间地址指示存储池中的第一存储空间,地址索引表包括多个逻辑地址和多个逻辑地址对应的存储空间地址。

15、一种可能的实现方式中,写入模式为追加写模式时,上述按照确定出的写入模式和目标数据的逻辑地址,将目标数据写入存储池具体包括:将目标数据写入存储池中的第二存储空间;并将存储系统中的地址索引表中,目标数据的逻辑地址对应的第一存储空间地址更新为第二存储空间地址。其中,第二存储空间地址指示存储池中的第二存储空间,地址索引表包括多个逻辑地址和多个逻辑地址对应的存储空间地址。

16、第二方面,本申请提供一种存储装置,包括获取模块、确定模块以及写数据模块。其中,获取模块用于获取目标数据,确定模块用于从存储系统所支持的多种写入模式中,确定将目标数据写入存储池时的的写入模式,存储池是由存储系统中的多个存储器映射成的存储空间,写入模式包括覆盖写模式或追加写模式,存储池支持覆盖写模式和追加写模式,且支持切换写入模式;写数据模块用于按照确定出的写入模式,将目标数据写入存储池。

17、一种可能的实现方式中,确定模块具体用于在目标数据的覆盖写放大程度小于追加写放大程度的情况下,确定写入模式为覆盖写模式;在目标数据的覆盖写放大程度大于追加写放大程度的情况下,确定写入模式为追加写模式。其中,覆盖写放大程度是采用覆盖写模式写入目标数据的情况下产生的读写放大的大小,追加写放大程度是采用追加写模式写入目标数据的情况下产生的读写放大的大小。

18、一种可能的实现方式中,确定模块具体用于当存储池的冗余级别为无校验信息的冗余级别时,确定将目标数据写入存储池时的写入模式为覆盖写模式。

19、一种可能的实现方式中,确定模块具体用于当目标数据的大小等于整数个存储池的分条大小的情况下,确定将目标数据写入存储池时的写入模式为覆盖写模式。

20、一种可能的实现方式中,无校验信息的冗余级别包括下述至少一种:ra本文档来自技高网...

【技术保护点】

1.一种数据存储方法,其特征在于,应用于存储系统中的存储控制器,所述存储系统包括多个存储器,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述确定将所述目标数据写入存储池时的写入模式,包括:

3.根据权利要求1或2所述的方法,其特征在于,所述确定将所述目标数据写入存储池时的写入模式,包括:

4.根据权利要求1或2所述的方法,其特征在于,所述确定将所述目标数据写入存储池时的写入模式,包括:

5.根据权利要求1至4任一项所述的方法,其特征在于,

6.根据权利要求1至5任一项所述的方法,其特征在于,所述写入模式为覆盖写模式时,所述按照确定出的写入模式,将所述目标数据写入所述存储池,包括:

7.根据权利要求1至5任一项所述的方法,其特征在于,所述写入模式为追加写模式时,所述按照确定出的写入模式,将所述目标数据写入所述存储池,包括:

8.一种存储装置,其特征在于,包括获取模块、确定模块以及写数据模块;

9.根据权利要求8所述的存储装置,其特征在于,

10.根据权利要求8或9所述的存储装置,其特征在于,

11.根据权利要求8或9所述的存储装置,其特征在于,

12.根据权利要求8至11任一项所述的存储装置,其特征在于,

13.根据权利要求8至12任一项所述的存储装置,其特征在于,所述写入模式为覆盖写模式时,

14.根据权利要求8至12任一项所述的存储装置,其特征在于,所述写入模式为追加写模式时,

15.一种存储设备,其特征在于,包括存储器和与所述存储器连接的至少一个处理器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被所述至少一个处理器执行时,使得所述存储设备执行如权利要求1至7任一项所述的方法。

16.一种存储系统,其特征在于,包括存储控制器和多个存储器;所述存储控制器用于执行如权利要求1至7任一项所述的方法以将目标数据写入由所述多个存储器映射成的存储池。

17.一种计算机可读存储介质,其特征在于,存储有计算机指令,所述计算机指令在计算机上运行时,执行如权利要求1至7任一项所述的方法。

...

【技术特征摘要】

1.一种数据存储方法,其特征在于,应用于存储系统中的存储控制器,所述存储系统包括多个存储器,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述确定将所述目标数据写入存储池时的写入模式,包括:

3.根据权利要求1或2所述的方法,其特征在于,所述确定将所述目标数据写入存储池时的写入模式,包括:

4.根据权利要求1或2所述的方法,其特征在于,所述确定将所述目标数据写入存储池时的写入模式,包括:

5.根据权利要求1至4任一项所述的方法,其特征在于,

6.根据权利要求1至5任一项所述的方法,其特征在于,所述写入模式为覆盖写模式时,所述按照确定出的写入模式,将所述目标数据写入所述存储池,包括:

7.根据权利要求1至5任一项所述的方法,其特征在于,所述写入模式为追加写模式时,所述按照确定出的写入模式,将所述目标数据写入所述存储池,包括:

8.一种存储装置,其特征在于,包括获取模块、确定模块以及写数据模块;

9.根据权利要求8所述的存储装置,其特征在于,

1...

【专利技术属性】
技术研发人员:谭春华
申请(专利权)人:成都华为技术有限公司
类型:发明
国别省市:

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

1