一种向固态硬盘写数据的方法、装置、设备及存储介质制造方法及图纸

技术编号:24089261 阅读:39 留言:0更新日期:2020-05-09 07:20
本发明专利技术公开了一种向固态硬盘写数据的方法、装置、设备及存储介质,该方法包括:确定当前需要写入固态硬盘的数据条带中的一组数据为当前组数据,当前组数据中包含校验数据;确定上次写入固态硬盘的数据条带中的一组数据为目标组数据,并确定目标组数据包含的校验数据在固态硬盘中的block为目标block;在将当前组数据写入固态硬盘时,将当前组数据中的校验数据依次写入至在预设的顺序中位于目标block之后的block中;返回执行确定当前需要写入固态硬盘的数据条带中的一组数据为当前组数据的步骤,直至需要写入固态硬盘的数据写完或固态硬盘被写满为止。本申请中增加了数据读取时的并发量,从而提高了垃圾回收的效率。

A method, device, device and storage medium for writing data to SSD

【技术实现步骤摘要】
一种向固态硬盘写数据的方法、装置、设备及存储介质
本专利技术涉及固态硬盘
,更具体地说,涉及一种向固态硬盘写数据的方法、装置、设备及存储介质。
技术介绍
在使用固态硬盘实现数据存储时,通常选择以RAID的方式组织数据条带来提高数据完整性,因此数据条带的组织对于性能有较大影响。固态硬盘中包含lun,lun由block组成,block由page组成;其中,lun是并发单位,也即在实现数据读取时,能够同时读取多个lun中的数据。以RAID5为例对现有技术进行详细说明,每个需要写入到一个数据条带里的数据被划分成15份有效数据,对这15份有效数据进行计算可以得到对应的1份校验数据,从而得到与需要写入的数据对应的一组数据(15份有效数据及1份校验数据均作为子数据组成该组数据),并且该组数据中的16份子数据中每份子数据对应一个page,也即一份子数据对应存储到一个page中;具体来说,可以按照以下方式实现数据到固态硬盘的存储:将第1组数据的校验数据写入固态硬盘的第1个block的第1个page中,将第1组数据的15份有效数据依次写入固态硬盘的第2个至第16个block的第1个page中;将第2组数据的校验数据写入固态硬盘的第1个block的第2个page中,将第2组数据的15份有效数据依次写入固态硬盘的第2个至第16个block的第2个page中,将第3组数据的校验数据写入固态硬盘的第1个block的第3个page中,将第3组数据的15份有效数据依次写入固态硬盘的第2个至第16个block的第3个page中,以此类推,从而使得位于16个block的同样位置的page组成一个数据条带。但是以上述方式向固态硬盘中写入数据完成后,会导致校验数据均位于同一个block中,而在读取每个lun时是依次读取其中包含的每个block的,因此在并发读取多个lun时,会出现某个lun当前被读取的block为仅包含校验数据的block的情况,但是在垃圾回收时是不需要读取校验数据的,因此此时并发读取的并不是需要读取的全部lun中的block,而是全部lun当前读取的block中存储的不均为校验数据的block,明显此时实际并发量是小于全部lun的数量的,因此这种情况下减少了读数据时的并发量,进而导致垃圾回收效率较低。
技术实现思路
本专利技术的目的是提供一种向固态硬盘写数据的方法、装置、设备及存储介质,能够增加读数据时的并发量,提高垃圾回收的效率。为了实现上述目的,本专利技术提供如下技术方案:一种向固态硬盘写数据的方法,包括:确定当前需要写入固态硬盘的数据条带中的一组数据为当前组数据,所述当前组数据中包含校验数据;确定上次写入固态硬盘的数据条带中的一组数据为目标组数据,并确定所述目标组数据包含的校验数据在所述固态硬盘中的block为目标block;在将所述当前组数据写入所述固态硬盘时,将所述当前组数据中的校验数据依次写入至在预设的顺序中位于所述目标block之后的block中;返回执行确定当前需要写入固态硬盘的数据条带中的一组数据为当前组数据的步骤,直至需要写入固态硬盘的数据写完或所述固态硬盘被写满为止。优选的,将所述当前组数据写入所述固态硬盘之前,还包括:如果在预设的顺序中位于所述目标block之后的block中存在坏块,则利用所述固态硬盘中预留的正常的block替换该坏块并提供相应的存储功能。优选的,将所述当前组数据中的校验数据依次写入至在预设的顺序中位于所述目标block之后的block中,包括:如果在预设的顺序中位于所述目标block之后的block中存在坏块,则将所述当前组数据中的校验数据依次写入至在预设的顺序中位于所述目标block之后除所述坏块之外的其他block中。优选的,还包括:如果在预设的顺序中位于所述目标block之后的block中存在坏块,则将所述坏块的位置信息发送至管理员对应的管理终端。优选的,将所述当前组数据写入所述固态硬盘之前,还包括:确定所述当前组数据需要写入的数据条带为目标条带;将所述当前组数据中的校验数据依次写入至在预设的顺序中位于所述目标block之后的block中,包括:将所述当前组数据中的校验数据依次写入至所述目标条带对应的全部block中,在预设的顺序中位于所述目标block之后的block中;所述方法还包括:在将所述当前组数据写入所述固态硬盘时,将所述当前组数据中包含的有效数据写入所述目标条带对应的block中,除所述校验数据写入的block之外其他的block中。一种向固态硬盘写数据的方法装置,包括:第一确定模块,用于:确定当前需要写入固态硬盘的数据条带中的一组数据为当前组数据,所述当前组数据中包含校验数据;第二确定模块,用于:确定上次写入固态硬盘的数据条带中的一组数据为目标组数据,并确定所述目标组数据包含的校验数据在所述固态硬盘中的block为目标block;第一写入模块,用于:在将所述当前组数据写入所述固态硬盘时,将所述当前组数据中的校验数据依次写入至在预设的顺序中位于所述目标block之后的block中;循环模块,用于:返回执行确定当前需要写入固态硬盘的数据条带中的一组数据为当前组数据的步骤,直至需要写入固态硬盘的数据写完或所述固态硬盘被写满为止。优选的,还包括:替换模块,用于:将所述当前组数据写入所述固态硬盘之前,如果在预设的顺序中位于所述目标block之后的block中存在坏块,则利用所述固态硬盘中预留的正常的block替换该坏块并提供相应的存储功能。优选的,所述第一写入模块包括:写入单元,用于:如果在预设的顺序中位于所述目标block之后的block中存在坏块,则将所述当前组数据中的校验数据依次写入至在预设的顺序中位于所述目标block之后除所述坏块之外的其他block中。一种向固态硬盘写数据的方法设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上任一项所述向固态硬盘写数据的方法的步骤。一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述向固态硬盘写数据的方法的步骤。本专利技术公开了一种向固态硬盘写数据的方法、装置、设备及存储介质,该方法包括:确定当前需要写入固态硬盘的数据条带中的一组数据为当前组数据,所述当前组数据中包含校验数据;确定上次写入固态硬盘的数据条带中的一组数据为目标组数据,并确定所述目标组数据包含的校验数据在所述固态硬盘中的block为目标block;在将所述当前组数据写入所述固态硬盘时,将所述当前组数据中的校验数据依次写入至在预设的顺序中位于所述目标block之后的block中;返回执行确定当前需要写入固态硬盘的数据条带中的一组数据为当前组数据的步骤,直至需要写入固态硬盘的数据写完或所述固态硬盘被写满为止。本专利技术公开的技术方案中,每次在向固态硬盘本文档来自技高网
...

【技术保护点】
1.一种向固态硬盘写数据的方法,其特征在于,包括:/n确定当前需要写入固态硬盘的数据条带中的一组数据为当前组数据,所述当前组数据中包含校验数据;/n确定上次写入固态硬盘的数据条带中的一组数据为目标组数据,并确定所述目标组数据包含的校验数据在所述固态硬盘中的block为目标block;/n在将所述当前组数据写入所述固态硬盘时,将所述当前组数据中的校验数据依次写入至在预设的顺序中位于所述目标block之后的block中;/n返回执行确定当前需要写入固态硬盘的数据条带中的一组数据为当前组数据的步骤,直至需要写入固态硬盘的数据写完或所述固态硬盘被写满为止。/n

【技术特征摘要】
1.一种向固态硬盘写数据的方法,其特征在于,包括:
确定当前需要写入固态硬盘的数据条带中的一组数据为当前组数据,所述当前组数据中包含校验数据;
确定上次写入固态硬盘的数据条带中的一组数据为目标组数据,并确定所述目标组数据包含的校验数据在所述固态硬盘中的block为目标block;
在将所述当前组数据写入所述固态硬盘时,将所述当前组数据中的校验数据依次写入至在预设的顺序中位于所述目标block之后的block中;
返回执行确定当前需要写入固态硬盘的数据条带中的一组数据为当前组数据的步骤,直至需要写入固态硬盘的数据写完或所述固态硬盘被写满为止。


2.根据权利要求1所述的方法,其特征在于,将所述当前组数据写入所述固态硬盘之前,还包括:
如果在预设的顺序中位于所述目标block之后的block中存在坏块,则利用所述固态硬盘中预留的正常的block替换该坏块并提供相应的存储功能。


3.根据权利要求1所述的方法,其特征在于,将所述当前组数据中的校验数据依次写入至在预设的顺序中位于所述目标block之后的block中,包括:
如果在预设的顺序中位于所述目标block之后的block中存在坏块,则将所述当前组数据中的校验数据依次写入至在预设的顺序中位于所述目标block之后除所述坏块之外的其他block中。


4.根据权利要求2或3所述的方法,其特征在于,还包括:
如果在预设的顺序中位于所述目标block之后的block中存在坏块,则将所述坏块的位置信息发送至管理员对应的管理终端。


5.根据权利要求4所述的方法,其特征在于,将所述当前组数据写入所述固态硬盘之前,还包括:
确定所述当前组数据需要写入的数据条带为目标条带;
将所述当前组数据中的校验数据依次写入至在预设的顺序中位于所述目标block之后的block中,包括:
将所述当前组数据中的校验数据依次写入至所述目标条带对应的全部block中,在预设的顺序中位于所述目标block之后的block中;
所述方法还包...

【专利技术属性】
技术研发人员:刘哲
申请(专利权)人:北京浪潮数据技术有限公司
类型:发明
国别省市:北京;11

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

1