Cache的数据处理方法、装置、计算机设备和介质与流程

文档序号:36173907发布日期:2023-11-24 18:18阅读:53来源:国知局
Cache的制作方法

本技术涉及数据存储,特别是涉及一种cache的数据处理方法、装置、计算机设备和介质。


背景技术:

1、 随着数据存储技术的发展,出现了raid(redundant array of independentdisks,磁盘冗余阵列)技术,raid是将多个独立的磁盘设备按照不同的方式组合起来,形成存储阵列组,能够提供比单个磁盘更高的存储性能,并增加冗余实现不同级别的数据保护。为了能进一步提升raid系统的io性能,采用raid cache技术。raid controller通常外挂的dram(动态随机存储器)作为i/o数据的缓存空间。

2、 传统技术中,对于写cache,主机io数据写到dram就完成当前io写操作,即可向主机反馈完成标志。然而传统技术中,只能做到简单的写cache流程,无法支持更加复杂的写cache的流程,无法满足raid controller更加复杂的应用场景下对raid cache的需求。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种cache的数据处理方法、装置、计算机设备和介质。

2、一种cache的数据处理方法,上述的方法包括:

3、接收cache命令;

4、根据cache命令执行cache查找,得到查找结果;

5、根据cache命令以及查找结果确定预先配置的cache操作模式;

6、当cache操作模式为写cache并回收cache资源的模式,且查找结果为cache命令对应的数据在cache中命中时,根据查找结果回收cache资源,将cache命令对应的数据写入磁盘,并执行cache更新。

7、在其中一个实施例中,上述的根据cache命令以及查找结果确定cache操作模式,包括:

8、根据cache命令、查找结果以及预先创建的配置数据,确定cache操作模式,配置数据包括各cache操作模式与各cache命令的命令信息以及各查找结果的映射关系。

9、在其中一个实施例中,上述的根据cache命令执行cache查找,得到查找结果,包括:

10、根据cache命令进行哈希计算,得到哈希值;

11、读取预先创建的哈希表中哈希值对应的目标哈希表项,所目标哈希表项中包括cache的状态信息;

12、当cache的状态信息指示磁盘数据在cache中时,确定查找结果为cache命令对应的数据在cache中命中。

13、在其中一个实施例中,上述的cache的状态信息包括多个状态信息位以及对应的取值,上述的根据查找结果回收cache资源,包括:

14、将各状态信息位的取值都更新为无效,以进行回收cache资源。

15、在其中一个实施例中,上述的状态信息位包括写锁定状态和修改状态,将cache命令对应的数据写入cache中之前,上述的方法还包括:

16、当cache操作模式为写cache并不回收cache资源的模式,且查找结果为cache命令对应的数据在cache中命中时,将目标哈希表项中的写锁定状态和修改状态更新为有效;

17、当cache操作模式为写cache并不回收cache资源的模式,且查找结果为cache命令对应的数据在cache中未命中时,将写锁定状态更新为有效。

18、在其中一个实施例中,上述的状态信息位还包括磁盘数据是否在cache的状态,当磁盘数据是否在cache的状态为有效时,上述的执行cache更新,包括:

19、当cache操作模式为写cache并不回收cache资源的模式,且目标哈希表项中的磁盘数据是否在cache的状态、写锁定状态以及修改状态均为有效时,将写锁定状态更新为无效,以执行cache更新;

20、当cache操作模式为写cache并不回收cache资源的模式,且磁盘数据是否在cache的状态以及修改状态均为无效,写锁定状态为有效时,将的磁盘数据是否在cache的状态更新为有效,写锁定更新为无效,以执行所述cache更新。

21、在其中一个实施例中,上述的状态信息位还包括cache存储地址,当cache操作模式为写cache并不回收cache资源的模式,且查找结果为cache命令对应的数据在cache中命中时,上述的将cache命令对应的数据写入cache中,包括:

22、将cache命令对应的数据写入cache存储地址对应的空间;

23、上述的写cache并不回收cache资源的模式中包括写cache并分配的模式,当cache操作模式为写cache并分配的模式,且查找结果为cache命令对应的数据在cache中未命中时,上述的方法还包括:

24、根据查找结果分配新的cache存储地址;

25、将cache命令对应的数据写入cache中,包括:

26、将cache命令对应的数据写入新的cache存储地址对应的空间。

27、在其中一个实施例中,上述的方法还包括:

28、当cache操作模式为读cache并不分配cache存储地址的模式,且查找结果为cache命令对应的数据在cache中命中时,读取cache存储地址指定空间的数据写回主机,并执行cache更新;

29、当cache操作模式为读cache并不分配cache存储地址的模式,且查找结果为cache命令对应的数据在cache中未命中时,读取磁盘中cache命令对应的数据返回主机,并执行cache更新。

30、在其中一个实施例中,上述的方法还包括:

31、当cache操作模式为读cache并分配cache存储地址的模式,且查找结果为cache命令对应的数据在cache中未命中时,从磁盘中读取cache命令对应的数据返回主机,并分配新的cache存储地址,将cache命令对应的数据写入新的cache存储地址,并执行cache更新。

32、在其中一个实施例中,上述的状态信息为还包括读不分配锁定状态,上述的读取cache存储地址指定空间的数据写回主机之前,上述的方法还包括:

33、将读不分配锁定状态置为有效。

34、当cache操作模式为读cache并不分配cache存储地址的模式,且查找结果为cache命令对应的数据在cache中命中时,上述的执行cache更新,包括:

35、将读不分配锁定状态置为无效。

36、在其中一个实施例中,上述的状态信息位还包括读分配锁定状态,上述的从磁盘中读取cache命令对应的数据返回主机之前,上述的方法还包括:

37、将读分配锁定状态置为有效;

38、当cache操作模式为读cache并分配cache存储地址的模式,且查找结果为cache命令对应的数据在cache中未命中时,上述的执行cache更新,包括:

39、将读分配锁定状态置为无效。

40、在其中一个实施例中,上述的方法还包括:

41、当cache操作模式为落盘操作,且查找结果为cache命令对应的数据在cache中未命中时,将cache存储地址对应空间的数据写入磁盘,并将各状态信息位的取值都更新为无效,以进行回收cache资源。

42、一种磁盘阵列cache的数据处理系统,上述的系统包括磁盘阵列控制器和磁盘,上述的磁盘阵列控制器与磁盘连接,上述的磁盘阵列控制器包括cache处理装置以及读写装置,cache处理装置与读写装置连接,其中,

43、cache处理装置用于接收cache命令,根据cache命令执行cache查找,得到查找结果,根据cache命令以及查找结果确定cache操作模式,当cache操作模式为写cache并回收cache资源的模式,且查找结果为cache命令对应的数据在cache中命中时,根据查找结果回收cache资源;

44、读写装置用于将cache命令对应的数据写入磁盘;

45、cache处理装置还用于执行cache更新。

46、在其中一个实施例中,上述的cache命令包括多个,cache处理装置包括命令队列、hash管理单元以及cache处理单元,命令队列与hash管理单元连接,hash管理单元与cache处理单元连接,其中,

47、命令队列用于保存多个cache命令,确定各cache命令的cache操作模式,并将各cache命令派发到hash管理单元;

48、hash管理单元用于根据cache命令进行哈希计算,并根据计算得到的哈希值将cache命令派发到cache处理单元;

49、cache处理单元用于根据各cache命令执行cache查找,得到查找结果,当目标cache命令的cache操作模式为写cache并回收cache资源的模式,且目标cache命令的查找结果为cache命令对应的数据在cache中命中时,根据查找结果回收cache资源。

50、在其中一个实施例中,上述的hash管理单元包括互斥锁、多个缓冲器以及各缓冲器对应的哈希计算单元,cache处理单元包括cache查找子单元、cache更新子单元以及cache回收子单元其中,

51、命令队列还用于根据各cache命令确定各cache命令对应的cache操作类型,并根据各cache命令对应的cache操作类型以及预先创建的各缓冲器与cache操作类型的关联关系,将各cache命令派发给对应的缓冲器,操作类型包括cache查找操作、cache更新操作以及cache回收操作;

52、哈希计算单元用于从对应的缓冲器中读取各cache命令,并计算各cache命令的哈希值;

53、互斥锁用于根据各cache命令对应的哈希值进行锁定,当目标cache命令被锁定时,将目标cache命令根据目标cache命令对应的cache操作类型派发到cache处理单元中的对应子单元;

54、cache查找子单元用于根据各cache命令执行cache查找,得到查找结果;

55、cache更新子单元用于处理的操作类型为cache更新操作;

56、cache回收子单元用于当目标cache命令的cache操作模式为写cache并回收cache资源的模式,且目标cache命令的查找结果为cache命令对应的数据在cache中命中时,根据查找结果回收cache资源。

57、在其中一个实施例中,上述的cache查找子单元中至少一个子单元的个数包括多个。

58、一种磁盘阵列cache的数据处理装置,上述的装置应用于磁盘阵列控制器,磁盘阵列控制器与主机连接,磁盘阵列控制器还与磁盘连接,磁盘阵列控制器包括cache,上述的装置包括:

59、接收模块,用于接收cache命令;

60、查找模块,用于根据cache命令执行cache查找,得到查找结果;

61、确定模块,用于根据cache命令以及查找结果确定预先配置的cache操作模式;

62、读写模块,用于当cache操作模式为写cache并回收cache资源的模式,且查找结果为cache命令对应的数据在cache中命中时,根据查找结果回收cache资源,将cache命令对应的数据写入磁盘,并执行cache更新。

63、一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

64、收主机发送的cache命令;

65、根据cache命令执行cache查找,得到查找结果;

66、根据cache命令以及查找结果确定预先配置的cache操作模式;

67、当cache操作模式为写cache并回收cache资源的模式,且查找结果为cache命令对应的数据在cache中命中时,根据查找结果回收cache资源,将cache命令对应的数据写入磁盘,并执行cache更新。

68、一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

69、收主机发送的cache命令;

70、根据cache命令执行cache查找,得到查找结果;

71、根据cache命令以及查找结果确定预先配置的cache操作模式;

72、当cache操作模式为写cache并回收cache资源的模式,且查找结果为cache命令对应的数据在cache中命中时,根据查找结果回收cache资源,将cache命令对应的数据写入磁盘,并执行cache更新。

73、上述cache的数据处理方法、装置、计算机设备和介质,通过磁盘阵列控制器根据主机发送的cache命令进行cache,根据查找结果确定cache操作模式,本技术的cache操作模式有别于传统技术中简单的读写模式,本技术的cache操作模式可以为复杂的写cache操作模式,例如,写cache并回收cache资源的模式,当cache操作模式为写cache并回收cache资源的模式,且查找结果为cache命令对应的数据在cache中命中时,根据查找结果回收cache资源,并将cache命令对应的数据写入磁盘,并执行cache更新。采用本技术能够处理更加复杂的写cache流程,能够支持更加复杂的应用场景。

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