本技术涉及存储,特别是涉及一种固态硬盘大块数据写入方法、装置、设备及计算机可读存储介质。
背景技术:
::1、固态硬盘(solid state drives,ssd)使用闪存(nand flash)作为存储介质,闪存的特性决定了固态硬盘写入数据时,无法在原来位置覆盖写入,无论写入的数据是新数据还是对原有数据的更改,都必须写入新的空闲位置。逻辑块到物理块映射表(logical tophysical table,l2p)记录了固态硬盘逻辑址到物理地址的映射关系,通过逻辑块到物理块映射表能够索引到数据在固态硬盘中存储的位置,单个逻辑块到物理块映射表记录了一个数据块的映射关系,数据块大小由固态硬盘的固件决定,通常为4kb、512b等。2、当固态硬盘遭遇突然断电等异常场景时,其能够保证单个逻辑块到物理块映射表记录的数据块大小的原子性,即该4kb数据块内数据全部是新数据或者全部是旧数据。但是,若主机端要写入的数据是大块数据时,如128kb写入的情况,在突然断电的情况下固态硬盘无法保证该大块数据的原子性,即固态硬盘内存储的该笔数据可能一部分是新数据,而另一部分为旧数据。因此,传统的固态硬盘写入方法当大块数据写入失败时无法回退到本次写入前旧数据,无法满足大块数据的原子性写入。3、综上所述,如何有效地解决传统的固态硬盘写入方法当大块数据写入失败时无法回退到本次写入前旧数据,无法满足大块数据的原子性写入的问题,是目前本领域技术人员急需解决的问题。技术实现思路1、本技术的目的是提供一种固态硬盘大块数据写入方法,该方法实现了当大块数据写入失败时能够快速回退到本次写入前旧数据,保证了大块数据写入失败时的原子性;本技术的另一目的是提供一种固态硬盘大块数据写入装置、设备及计算机可读存储介质。2、为解决上述技术问题,本技术提供如下技术方案:3、一种固态硬盘大块数据写入方法,包括:4、对接收到的数据写入请求进行解析,得到待写入的大块数据和所述大块数据包含的各小块数据分别对应的待写入逻辑地址;5、根据各所述待写入逻辑地址查找各写入前临时文件夹表;其中,所述写入前临时文件夹表存储有所述待写入逻辑地址、写入前旧物理地址、所述写入前旧物理地址的前一次物理地址;6、根据各所述待写入逻辑地址和各所述写入前临时文件夹表生成各写入后逻辑块到物理块映射表;7、根据各所述写入后逻辑块到物理块映射表和各所述写入前临时文件夹表,将所述大块数据写入固态硬盘。8、在本技术的一种具体实施方式中,对接收到的数据写入请求进行解析,得到待写入的大块数据和所述大块数据包含的各小块数据分别对应的待写入逻辑地址,包括:9、对接收到的数据写入请求进行解析,得到所述待写入的大块数据、待写入的起始逻辑地址、起始临时文件夹表编号和写入数据长度;10、根据所述起始逻辑地址和所述写入数据长度计算结束逻辑地址;其中,所述固态硬盘以连续的逻辑地址进行数据写入;11、根据所述起始逻辑地址和所述结束逻辑地址计算所述大块数据分成的小块数据数量;12、根据所述小块数据数量和所述起始临时文件夹表编号计算终止临时文件夹表编号;其中,所述固态硬盘以连续的临时文件夹表编号进行数据写入;13、根据所述小块数据数量、所述起始逻辑地址和所述结束逻辑地址计算各所述小块数据分别对应的待写入逻辑地址;14、相应的,根据各所述待写入逻辑地址查找各写入前临时文件夹表,包括:15、对各所述待写入逻辑地址进行统一加锁;16、根据各所述待写入逻辑地址并行查找各所述写入前临时文件夹表;17、相应的,根据各所述待写入逻辑地址和各所述写入前临时文件夹表生成各写入后逻辑块到物理块映射表,包括:18、根据各所述待写入逻辑地址和各所述写入前临时文件夹表并行生成各所述写入后逻辑块到物理块映射表。19、在本技术的一种具体实施方式中,在将所述大块数据写入固态硬盘之后,还包括:20、对各所述待写入逻辑地址的锁进行释放。21、在本技术的一种具体实施方式中,在将所述大块数据写入固态硬盘之前,还包括:22、对各所述写入前临时文件夹表中的所述写入前旧物理地址进行记录;23、将各所述写入前临时文件夹表清为空状态。24、在本技术的一种具体实施方式中,在将所述大块数据写入固态硬盘之后,还包括:25、获取各写入后物理地址和各写入后临时文件夹表分别对应的写入后临时文件夹表编号;26、获取各所述写入后临时文件夹表编号对应的写入前逻辑地址;27、对各所述写入前逻辑地址进行加锁;28、根据各所述待写入逻辑地址、各所述写入后物理地址和各所述写入前旧物理地址生成各所述写入后临时文件夹表。29、在本技术的一种具体实施方式中,根据各所述待写入逻辑地址和各所述写入前临时文件夹表生成各逻辑块到物理块映射表,包括:30、根据各所述待写入逻辑地址和各所述写入前临时文件夹表的临时文件夹表编号生成各所述写入后逻辑块到物理块映射表。31、在本技术的一种具体实施方式中,根据各所述待写入逻辑地址和各所述写入后临时文件夹表生成各写入前逻辑块到物理块映射表,包括:32、根据各所述待写入逻辑地址和各所述写入前临时文件夹表中的写入前旧物理地址生成各所述写入后逻辑块到物理块映射表。33、一种固态硬盘大块数据写入装置,包括:34、地址获得模块,用于对接收到的数据写入请求进行解析,得到待写入的大块数据和所述大块数据包含的各小块数据分别对应的待写入逻辑地址;35、文件夹表查找模块,用于根据各所述待写入逻辑地址查找各写入前临时文件夹表;其中,所述写入前临时文件夹表存储有所述待写入逻辑地址、写入前旧物理地址、所述写入前旧物理地址的前一次物理地址;36、映射表生成模块,用于根据各所述待写入逻辑地址和各所述写入前临时文件夹表生成各写入后逻辑块到物理块映射表;37、数据写入模块,用于根据各所述写入后逻辑块到物理块映射表和各所述写入前临时文件夹表,将所述大块数据写入固态硬盘。38、一种固态硬盘大块数据写入设备,包括:39、存储器,用于存储计算机程序;40、处理器,用于执行所述计算机程序时实现如前所述固态硬盘大块数据写入方法的步骤。41、一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述固态硬盘大块数据写入方法的步骤。42、本技术所提供的固态硬盘大块数据写入方法,对接收到的数据写入请求进行解析,得到待写入的大块数据和大块数据包含的各小块数据分别对应的待写入逻辑地址;根据各待写入逻辑地址查找各写入前临时文件夹表;其中,写入前临时文件夹表存储有待写入逻辑地址、写入前旧物理地址、写入前旧物理地址的前一次物理地址;根据各待写入逻辑地址和各写入前临时文件夹表生成各写入后逻辑块到物理块映射表;根据各写入后逻辑块到物理块映射表和各写入前临时文件夹表,将大块数据写入固态硬盘。43、由上述技术方案可知,通过在大块数据写入固态硬盘时,针对该大块数据包含的每个小块数据,生成存储有待写入逻辑地址、写入前旧物理地址、写入前旧物理地址的前一次物理地址的各写入前临时文件夹表,并根据各待写入逻辑地址和各写入前临时文件夹表生成各写入后逻辑块到物理块映射表。从而使用写入后逻辑块到物理块映射表和写入前临时文件夹表来索引数据在闪存中的存储位置,实现了在大块数据写入过程中始终能够查找到写入前旧数据所保存的位置,当大块数据写入失败时能够快速回退到本次写入前旧数据,保证了大块数据写入失败时的原子性。44、相应的,本技术还提供了与上述固态硬盘大块数据写入方法相对应的固态硬盘大块数据写入装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。当前第1页12当前第1页12
技术特征:1.一种固态硬盘大块数据写入方法,其特征在于,包括:
2.根据权利要求1所述的固态硬盘大块数据写入方法,其特征在于,对接收到的数据写入请求进行解析,得到待写入的大块数据和所述大块数据包含的各小块数据分别对应的待写入逻辑地址,包括:
3.根据权利要求2所述的固态硬盘大块数据写入方法,其特征在于,在将所述大块数据写入固态硬盘之后,还包括:
4.根据权利要求1所述的固态硬盘大块数据写入方法,其特征在于,在将所述大块数据写入固态硬盘之前,还包括:
5.根据权利要求4所述的固态硬盘大块数据写入方法,其特征在于,在将所述大块数据写入固态硬盘之后,还包括:
6.根据权利要求1所述的固态硬盘大块数据写入方法,其特征在于,根据各所述待写入逻辑地址和各所述写入前临时文件夹表生成各逻辑块到物理块映射表,包括:
7.根据权利要求1所述的固态硬盘大块数据写入方法,其特征在于,根据各所述待写入逻辑地址和各所述写入前临时文件夹表生成各写入后逻辑块到物理块映射表,包括:
8.一种固态硬盘大块数据写入装置,其特征在于,包括:
9.一种固态硬盘大块数据写入设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述固态硬盘大块数据写入方法的步骤。
技术总结本申请公开了一种固态硬盘大块数据写入方法,包括:对接收到的数据写入请求进行解析,得到待写入的大块数据和大块数据包含的各小块数据分别对应的待写入逻辑地址;根据各待写入逻辑地址查找各写入前临时文件夹表;其中,写入前临时文件夹表存储有待写入逻辑地址、写入前旧物理地址、写入前旧物理地址的前一次物理地址;根据各待写入逻辑地址和各写入前临时文件夹表生成各写入后逻辑块到物理块映射表;根据各写入后逻辑块到物理块映射表和各写入前临时文件夹表,将大块数据写入固态硬盘。本申请当大块数据写入失败时能快速回退到本次写入前旧数据,保证了大块数据写入失败时的原子性。本申请还公开了一种装置、设备及存储介质,具有相应技术效果。
技术研发人员:宋志勇,李敬超,秦文政
受保护的技术使用者:苏州元脑智能科技有限公司
技术研发日:技术公布日:2024/5/29