数据管理方法、装置及硬盘与流程

文档序号:37672542发布日期:2024-04-18 20:45阅读:21来源:国知局
数据管理方法、装置及硬盘与流程

本技术涉及数据存储领域,尤其涉及数据管理方法、装置及硬盘。


背景技术:

1、在使用闪存等存储介质存储数据时,需要先将数据擦除后才能重新写入数据。因此,当存储介质中的数据需要更新时,使用新的闪存页来存储更新后的逻辑数据块,并将更新前的逻辑数据块标识为无效逻辑数据块。在选择哪个块进行回收时,根据块(block)中有效数据的多少,优先选择有效数据最少的块进行回收。

2、在一般的回收过程中,可以计算块中的有效逻辑数据块实现较为精细的管理。但是,由于压缩技术的应用,逻辑数据块占用的物理空间可能不同,块中的逻辑数据块的数量也不再恒定,通过有效逻辑数据块或无效逻辑数据块数量,不能准确的跟踪块中的空间占用情况,不利于准确的确定回收的目标,容易引起写放大,导致存储设备性能下降。


技术实现思路

1、有鉴于此,本技术实施例提供了一种数据管理方法、装置及硬盘,以解决现有技术中通过有效逻辑数据块或无效逻辑数据块数量,不能准确的跟踪块中的空间占用情况,不利于准确的确定回收的源目标,容易引起写放大增大,导致存储设备性能下降的问题。

2、本技术实施例的第一方面提供了一种数据管理方法,所述方法包括:获取待回收单元中各映射单元是否有效的标识信息,以及确定各所述映射单元包括的压缩单元的数量,所述映射单元是压缩后的逻辑数据块的映射管理单元,所述压缩单元为压缩后的数据长度的基本长度单位;根据各所述映射单元包括的压缩单元的数量,结合所述映射单元的标识信息,确定所述待回收单元的有效数据长度,所述有效数据长度通过所述压缩单元度量。

3、通过压缩后的数据长度的基本单位—压缩单元对映射单元进行度量,结合映射是否有效的标识信息,可以有效的确定待回收单元中包括的映射单元的有效数据长度,从而确定待回收单元的有效数据长度。由于压缩单元的长度恒定,相对于直接通过逻辑数据块确定有效数据长度的方式,可以提高待回收单元的有效数据长度的精度,从而能够更为准确的跟踪待回收单元(比如块)中的空间占用情况,确定回收的目标,有利于减小写放大,提升存储设备性能。

4、结合第一方面,在第一方面的第一种可能实现方式中,在根据各所述映射单元包括的压缩单元的数量,结合所述映射单元的标识信息,确定所述待回收单元的有效数据长度之后,所述方法还包括:维护所述待回收单元与有效的所述压缩单元数量的对应关系表。

5、通过维护待回收单元与有效的压缩单元数量的对应关系表,当待回收单元中的映射单元的状态发生变化,包括新增映射单元或者映射单元无效时,可以将映射单元的变化更新至对应关系表中的有效数据长度中。通过维护回收单元的有效数据长度(即有效的压缩单元数量)的对应关系表,可以快速的查询各个待回收单元的有效数据长度,从而便于快速的选择所需要的待回收单元进行回收处理。

6、结合第一方面或第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,获取待回收单元中各映射单元是否有效的标识信息,包括:接收数据更新指令;确定所述数据更新指令对应的逻辑数据块的逻辑映射地址,根据所述逻辑映射地址确定所述数据更新指令处理的映射单元;根据所述数据更新指令的类型确定所述映射单元的标识信息是否有效。

7、其中,逻辑数据块的逻辑映射地址,即逻辑数据块压缩后得到的映射单元的存储地址。根据该逻辑映射地址可以查找得到数据更新指令所要处理的映射单元。根据数据更新指令的具体类型,对映射单元的标识信息执行相应的处理,从而便于使用逻辑映射地址和映射单元对待回收单元中的有效数据长度进行追踪。

8、结合第一方面的第二种可能实现方式,在第一方面的第三种可能实现方式中,根据所述数据更新指令的类型确定所述映射单元的标识信息是否有效,包括:当所述数据更新指令为新增数据指令时,确定所述新增数据指令处理的映射单元的标识信息为有效的标识信息;当所述数据更新指令为数据删除指令时,确定所述数据删除指令处理的映射单元的标识信息为无效的标识信息。

9、根据数据更新指令的类型,对映射单元的标识信息执行相应的更新。比如,对于新增数据指令,则为新增的映射单元设定有效的标识信息,对于数据删除指令,则将删除的映射单元设定为无效的标识信息,从而实现对待回收单元中的映射单元的状态管理,以便于根据所管理的状态更新待回收单元的有效数据长度。

10、结合第一方面的第二种可能实现方式,在第一方面的第四种可能实现方式中,根据所述数据更新指令的类型确定所述映射单元的标识信息是否有效,包括:当所述数据更新指令为修改数据指令时,确定所述数据更新指令处理的映射单元包括修改前的逻辑数据块对应的映射单元,以及修改后的逻辑数据块对应的映射单元;确定修改前的逻辑数据块对应的映射单元的标识信息为无效的标识信息,确定修改后的逻辑数据块对应的映射单元的标识信息为有效的标识信息。

11、对于数据修改指令,需要更新的映射单元的标识信息,包括更新前的映射单元的标识信息和更新后的映射单元的标识信息。可以根据逻辑映射地址确定更新前的映射单元,以及更新后的映射单元,将更新前的映射单元设定为无效的标识信息,将更新后的映射单元设定为有效的标识信息,实时维护管理映射单元的状态,便于根据所管理的状态更新待回收单元的有效数据长度。

12、结合第一方面,在第一方面的第五种可能实现方式中,确定各映射单元包括的压缩单元的数量,包括:根据所述映射单元与所述压缩单元的比值,确定所述映射单元包括的压缩单元的数量。

13、通过计算映射单元与压缩单元的比值,可以得到映射单元中包括的压缩单元的数量,从而可以根据压缩单元的数量来描述映射单元的大小。比如,映射单元包括3个压缩单元或4个压缩单元等描述方式来描述映射单元的大小。

14、结合第一方面的第五种可能实现方式,在第一方面的第六种可能实现方式中,在确定所述映射单元包括的压缩单元的数量之后,所述方法还包括:确定所述映射单元与所述压缩单元的对应关系表;通过易失性存储介质和/或非易失性存储介质,存储所述映射单元与压缩单元的数量的对应关系表。

15、通过建立映射单元与压缩单元的对应关系表,可以快速的查找到映射单元所包括的压缩单元的数量,从而在对待回收单元中的映射单元进行更新时,快速的确定待回收单元中的有效数据长度。可以将该对应关系表存储至易失性存储介质中,方便调用。另外,为了应对异常掉电等原因导致对应关系表中的数据丢失,可以将该对应关系表更新至非易失性存储介质中,比如存入元信息中持久化存储,在出现异常掉电时,能够有效的恢复对应关系表中的数据。

16、结合第一方面的第五种可能实现方式,在第一方面的第七种可能实现方式中,根据所述映射单元与所述压缩单元的比值,确定所述映射单元包括的压缩单元的数量,包括:根据所述映射单元与所述压缩单元的比值向上取整,确定所述映射单元包括的压缩单元的数量。

17、映射单元的大小可能为整数,也可能为小数。不同数据压缩后的大小可能不尽相同。为了能够方便确定不同长度的映射单元需要的压缩单元的数量,可以计算映射单元与压缩单元的比值。为了得到整数的比值,可以将比值向上取整,得到映射单元包括的压缩单元的数量。比如,映射单元的大小为1.9kb,设定的压缩单元大小为512b,那么,该映射单元包括的压缩单元的数量为1.9kb/512b=3.8,向上取整为4,即该映射单元包括的压缩单元的数量为4个。

18、结合第一方面,在第一方面的第八种可能实现方式中,根据所述所有映射单元包括的压缩单元的数量,结合所述映射单元的标识信息,确定所述待回收单元的有效数据长度,包括:根据所述映射单元与所述压缩单元的数量的对应关系表,查找所述待回收单元中的所述各映射单元包括的所述压缩单元的数量;根据标识信息为有效的所述映射单元所包括的所述压缩单元的第一数量,确定所述待回收单元的有效数据长度。

19、在确定待回收单元的有效数据长度时,可以根据映射单元与压缩单元的数量的对应关系表,快速的查找待回收单元中的标识信息为有效状态的映射单元所包括的压缩单元的数量,将所有的有效映射单元的压缩单元的数量求和,即可得到待回收单元的有效数据长度。

20、结合第一方面的第八种可能实现方式,在第一方面的第九种可能实现方式中,根据所述标识信息为有效的所述映射单元所包括的所述压缩单元的数量,确定所述待回收单元的有效数据长度,包括:获取所述标识信息为无效的所述映射单元所包括的所述压缩单元的第二数量,以及获取所述待回收单元中写入的所有映射单元所包括的所述压缩单元的第三数量;根据所述第三数量与所述第二数量的差值,确定所述待回收单元的有效数据长度。

21、在确定待回收单元的有效数据长度时,可以将写入待回收单元的所有映射单元确定的压缩单元的第三数量,与被标识为无效状态的映射单元所确定的压缩单元的第二数量作差,确定待回收单元中的有效数据长度。

22、本技术实施例的第二方面提供了一种数据管理装置,所述装置包括:数据获取单元,用于获取待回收单元中各映射单元是否有效的标识信息,以及确定各所述映射单元包括的压缩单元的数量,所述映射单元是压缩后的逻辑数据块的映射管理单元,所述压缩单元为压缩后的数据长度的基本长度单位;有效数据长度确定单元,用于根据各所述映射单元包括的压缩单元的数量,结合所述映射单元的标识信息,确定所述待回收单元的有效数据长度,所述有效数据长度通过所述压缩单元度量。

23、结合第二方面,在第二方面的第一种可能实现方式中,所述装置还包括:对应关系表维护单元,用于维护所述待回收单元与有效的所述压缩单元数量的对应关系表。

24、结合第二方面或第二方面的第一种可能实现方式,在第二方面的第二种可能实现方式中,数据获取单元包括:指令接收子单元,用于接收数据更新指令;逻辑映射地址确定子单元,用于确定所述数据更新指令对应的逻辑数据块的逻辑映射地址,根据所述逻辑映射地址确定所述数据更新指令处理的映射单元;标识信息确定子单元,用于根据所述数据更新指令的类型确定所述映射单元的标识信息是否有效。

25、结合第二方面的第二种可能实现方式,在第二方面的第三种可能实现方式中,所述标识信息确定子单元用于:当所述数据更新指令为新增数据指令时,确定所述新增数据指令处理的映射单元的标识信息为有效的标识信息;当所述数据更新指令为数据删除指令时,确定所述数据删除指令处理的映射单元的标识信息为无效的标识信息。

26、结合第二方面的第二种可能实现方式,在第二方面的第四种可能实现方式中,所述标识信息确定子单元用于:当所述数据更新指令为修改数据指令时,确定所述数据更新指令处理的映射单元包括修改前的逻辑数据块对应的映射单元,以及修改后的逻辑数据块对应的映射单元;确定修改前的逻辑数据块对应的映射单元的标识信息为无效的标识信息,确定修改后的逻辑数据块对应的映射单元的标识信息为有效的标识信息。

27、结合第二方面,在第二方面的第五种可能实现方式中,所述数据获取单元用于根据所述映射单元与所述压缩单元的比值,确定所述映射单元包括的压缩单元的数量。

28、结合第二方面的第五种可能实现方式,在第二方面的第六种可能实现方式中,所述装置还包括:对应关系表确定单元,用于确定所映射单元与所述压缩单元的对应关系表;对应关系表存储单元,用于通过易失性存储介质和/或非易失性存储介质,存储所述映射单元与压缩单元的数量的对应关系表。

29、结合第二方面的第五种可能实现方式,在第二方面的第七种可能实现方式中,所述对应关系表确定单元用于根据所述映射单元与所述压缩单元的比值向上取整,确定所述映射单元包括的压缩单元的数量。

30、结合第二方面,在第二方面的第八种可能实现方式中,所述有效数据长度确定单元包括:查找子单元,用于根据所述映射单元与所述压缩单元的数量的对应关系表,查找所述待回收单元中的所述各映射单元包括的所述压缩单元的数量;有效数据长度确定子单元,用于根据标识信息为有效的所述映射单元所包括的所述压缩单元的第一数量,确定所述待回收单元的有效数据长度。

31、结合第二方面的第八种可能实现方式,在第二方面的第九种可能实现方式中,所述有效数据长度确定子单元包括:压缩单元获取模块,用于获取所述标识信息为无效的所述映射单元所包括的所述压缩单元的第二数量,以及获取所述待回收单元中写入的所有映射单元所包括的所述压缩单元的第三数量;作差模块,用于根据所述第三数量与所述第二数量的差值,确定所述待回收单元的有效数据长度。

32、本技术实施例的第三方面提供了硬盘,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述方法的步骤。

33、本技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述方法的步骤。

34、可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面的相关描述,在此不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1