存储块的自适应构造方法及存储设备与流程

文档序号:37472899发布日期:2024-03-28 18:55阅读:29来源:国知局
存储块的自适应构造方法及存储设备与流程

本公开涉及数据存储,尤其涉及一种存储块的自适应构造方法及存储设备。


背景技术:

1、固态硬盘(solid state drive,ssd)中的垃圾回收(garbage collection)技术是通过识别和清除无效数据,以回收被占用的存储空间,以便将其重新分配给新的数据写入。

2、nvme 2.0协议中规定的灵活数据放置(flexible data placement,fdp)技术提出一种回收单元(reclaim unit,ru)的概念,主要用于数据回收,fdp技术中的回收单元类似传统方案中的存储大块,即将若干非易失性物理块的集合构成的存储大块直接作为回收单元。

3、在fdp场景下,固态硬盘使用fdp技术,垃圾回收的对象单元为回收单元,一个回收单元可以在不干扰其他回收单元的情况下被擦除、重用或重新配置。fdp方案中回收单元的容量越小,主机设备应用层管理数据越灵活。而在非fdp场景下,固态硬盘不使用fdp技术,垃圾回收的对象是存储大块,为了实现随机写性能的优化和减小写放大,存储大块的容量需要尽可能大。存储大块由位于不同通道上的闪存芯片中的多个非易失性物理存储块组成。

4、使用fdp技术时希望减小垃圾回收的对象单元的容量,而不使用fdp技术时希望增大垃圾回收的对象单元的容量,两者对垃圾回收的对象单元的容量要求相反,如果固态硬盘需要同时兼容fdp技术和非fdp技术的应用场景,而当固态硬盘中垃圾回收的对象单元的容量满足fdp技术的要求时,那么势必会导致固态硬盘无法满足非fdp技术对垃圾回收的对象单元的容量要求,增加数据写入操作的延迟,降低固态硬盘的响应速度。反之亦然。因此,现有技术下的固态硬盘无法同时兼容fdp技术和非fdp技术的应用场景。


技术实现思路

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、本公开通过存储设备响应于接收到主机设备的数据写入指令,识别数据写入指令中是否带有灵活数据放置的使能信息;响应于数据写入指令中带有灵活数据放置的使能信息,基于第一数量的存储块构建回收单元,回收单元用于数据回收;响应于数据写入指令中不带有灵活数据放置的使能信息,基于第二数量的存储块构建回收单元;其中第二数量大于第一数量。本公开可以根据灵活数据放置的使能信息确定存储设备是否处于fdp应用场景,分别在fdp应用场景和非fdp应用场景下构建不同容量的回收单元用于垃圾回收,fdp应用场景中的回收单元容量小于非fdp应用场景中的回收单元容量,满足fdp应用场景中减小回收单元容量的要求以及满足非fdp应用场景中增大回收单元容量的要求,可以使存储设备同时兼容fdp技术和非fdp技术的应用场景,扩大了存储设备的应用场景,并且可以根据所处的应用场景合理分配存储空间,可以提高存储空间的利用率。

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