数据预读处理方法及存储设备与流程

文档序号:36094519发布日期:2023-11-18 14:16阅读:37来源:国知局
数据预读处理方法及存储设备与流程

本公开涉及数据处理,尤其涉及一种数据预读处理方法及存储设备。


背景技术:

1、固态硬盘(solid state drives,ssd)又称固态驱动器,是用固态电子存储芯片阵列制成的硬盘,固态硬盘作为新一代的数据存储设备,被广泛应用于各种领域。

2、当主机设备访问固态硬盘中的数据时,固态硬盘的处理策略是先将数据从非易失性存储空间(nand)读到内存空间,再从内存空间读到主机设备,但是,该方法的数据处理速度慢,效率较低,严重影响了固态硬盘的响应速度。


技术实现思路

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、检测读命令是否命中顺序流;

45、响应于读命令命中顺序流,将读命令命中的顺序流确定为目标顺序流,将目标顺序流之后的预设范围顺序流对应的数据预读至内存空间,得到第二预读缓存。

46、可选的,上述还包括:

47、响应于内存空间中不存在直接预读缓存,识别读命令是否构成顺序流;

48、响应于读命令构成顺序流,将读命令作为目标顺序流进行保存;

49、将目标顺序流之后的预设范围顺序流对应的数据预读至内存空间,得到第三预读缓存。

50、本公开的第三方面提供了一种存储设备,该存储设备包括处理器和存储器,其中,存储器中存储有计算机程序,当该计算机程序被该处理器执行时,可以实现上述第一方面或第二方面的数据预读处理方法。

51、本公开提供的技术方案与现有技术相比具有如下优点:

52、本公开通过响应于接收到来自主机设备的读命令,检测读命令是否命中顺序流;响应于读命令命中顺序流,将读命令命中的顺序流确定为目标顺序流,判断内存空间中是否存在目标顺序流对应的目标预读缓存;响应于内存空间中存在目标预读缓存,将目标预读缓存中的目标数据确定为读命令的响应数据,可以提前在存储设备的内存空间中缓存读命令请求的数据,在接收到读命令时,直接在内存空间缓存的预读数据中获取读命令请求的数据,无需从非易失性存储空间读取读命令请求的数据,简化数据响应流程,提高存储设备的响应速度和数据处理效率。



技术特征:

1.一种数据预读处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述读命令是否命顺序流之后,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述识别所述读命令是否构成顺序流,包括:

4.根据权利要求2所述的方法,其特征在于,所述将所述目标顺序流之后的预设范围顺序流对应的数据预读至所述内存空间,得到第一预读缓存,包括:

5.根据权利要求1-4中任一项所述的方法,其特征在于,还包括:

6.根据权利要求1-4中任一项所述的方法,其特征在于,还包括:

7.根据权利要求1-4中任一项所述的方法,其特征在于,所述响应于接收到来自主机设备的读命令之后,所述方法还包括:

8.根据权利要求2-4中任一项所述的方法,其特征在于,所述将所述目标顺序流之后的预设范围顺序流对应的数据读取至内存空间进行缓存,得到第一预读缓存之后,所述方法还包括:

9.根据权利要求1所述的方法,其特征在于,所述响应于所述内存空间中存在所述目标预读缓存,将所述目标预读缓存中的目标数据确定为所述读命令的响应数据,包括:

10.根据权利要求9所述的方法,其特征在于,所述预读单元按照预设数量的多平面大小对数据进行读取。

11.一种数据预读处理方法,其特征在于,包括:

12.根据权利要求11所述的方法,其特征在于,还包括:

13.一种存储设备,其特征在于,包括:


技术总结
本公开涉及一种数据预读处理方法及存储设备,涉及数据处理技术领域。本公开通过响应于接收到来自主机设备的读命令,检测读命令是否命中顺序流;响应于读命令命中顺序流,将读命令命中的顺序流确定为目标顺序流,判断内存空间中是否存在目标顺序流对应的目标预读缓存;响应于内存空间中存在目标预读缓存,将目标预读缓存中的目标数据确定为读命令的响应数据,可以提前在存储设备的内存空间中缓存读命令请求的数据,在接收到读命令时,直接在内存空间缓存的预读数据中获取读命令请求的数据,无需从非易失性存储空间读取读命令请求的数据,简化数据响应流程,提高存储设备的响应速度和数据处理效率。

技术研发人员:蔡述楠,孙清涛
受保护的技术使用者:北京忆恒创源科技股份有限公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1