数据写入的方法、设备和计算机程序产品技术

技术编号:24089200 阅读:33 留言:0更新日期:2020-05-09 07:19
本公开的实施例涉及数据写入的方法、设备和计算机程序产品。该方法包括:响应于接收到第一写入请求,在高速缓存中查找与第一写入请求相关联的目标地址;响应于在高速缓存中未命中目标地址,确定高速缓存中的页面使用率;以及响应于确定页面使用率高于上限阈值,利用高速缓存中的第一可用页面来执行第一写入请求,其中第一可用页面响应于对第一写入请求的执行完成而被回收,而不受限于高速缓存的刷新周期。

Data writing methods, devices and computer program products

【技术实现步骤摘要】
数据写入的方法、设备和计算机程序产品
本公开的实施例涉及数据处理领域,并且更具体地,涉及数据写入的方法、设备和计算机程序产品。
技术介绍
随着数据存储技术的发展,各种数据存储设备已经能够向用户提供越来越高的数据存储能力,并且数据访问速度也有了很大程度的提高。在提高数据存储能力的同时,用户对于数据可靠性和存储系统的响应时间也提出了越来越高的需求。目前,已经开发出了基于具有不同访问速度的多级存储介质来建立存储系统的技术方案。例如,可以将被频繁使用的数据从具有较低访问速度的存储设备加载至具有较高访问速度的缓存设备中,进而由该缓存设备来响应于来自存储系统外部的访问请求。此技术方案可以一定程度上提高对于访问请求的响应效率。因而,如何有效管理缓存设备以提高效率成为一个关注焦点。
技术实现思路
本公开的实施例提供一种数据写入的方案。根据本公开的第一方面,提出了一种数据写入的方法。该方法包括:响应于接收到第一写入请求,在高速缓存中查找与第一写入请求相关联的目标地址;响应于在高速缓存中未命中目标地址,确定高速缓存中的页面使用率;以及响应于确定页面使用率高于上限阈值,利用高速缓存中的第一可用页面来执行第一写入请求,其中第一可用页面响应于对第一写入请求的执行完成而被回收,而不受限于高速缓存的刷新周期。根据本公开的第二方面,提出了一种用于数据写入的设备。该设备包括:至少一个处理单元;至少一个存储器,该至少一个存储器被耦合到该至少一个处理单元并且存储用于由该至少一个处理单元执行的指令,该指令当由该至少一个处理单元执行时,使得该设备执行动作,该动作包括:响应于接收到第一写入请求,在高速缓存中查找与第一写入请求相关联的目标地址;响应于在高速缓存中未命中目标地址,确定高速缓存中的页面使用率;以及响应于确定页面使用率高于上限阈值,利用高速缓存中的第一可用页面来执行第一写入请求,其中第一可用页面响应于对第一写入请求的执行完成而被回收,而不受限于高速缓存的刷新周期。在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被存储在非瞬态计算机存储介质中并且包括机器可执行指令,该机器可执行指令在设备中运行时使该设备执行根据本公开的第一方面所描述的方法的任意步骤。提供
技术实现思路
部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。
技术实现思路
部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。附图说明通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。图1图示了本公开实施例可以在其中执行的存储系统的架构图;图2图示了根据本公开实施例的数据写入的方法的流程图;图3图示了根据本公开实施例的执行写入请求的方法的流程图;以及图4图示了可以用来实施本公开内容的实施例的示例设备的示意性框图。具体实施方式下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。如上文所述,已经开发出了基于具有不同访问速度的多级存储介质来建立存储系统的技术方案。图1示出了本公开实施例可以在其中执行的存储系统100。如图1所示,存储系统100可以包括高速缓存110和存储设备池130,其中存储设备池130中可以包括多个独立的物理存储设备,例如存储设备140-1至140-3(统称为或单独称为存储设备140)。在一些实施例中,存储设备140可以为硬盘驱动器(HDD)、固态硬盘(SSD)或闪速存储器等。如图1所示,高速缓存110可以包括多个高速缓存页面120-1至120-10(统称为或单独成为高速缓存页面120)。传统地,当存储系统100接收到写入请求102时,存储系统100可以确定高速缓存110是否命中写入请求100所针对的目标地址。当高速缓存110未命中目标地址时,存储系统100将利用高速缓存110中的可用的高速缓存页面(例如,页面120-10)来写入与写入请求102相关联的数据,并将该页面120-10标记为脏。此时,存储系统100将报告该写入请求102已经执行完成,并定时地将高速缓存110中的脏数据(如图1中右斜线所示出的)冲刷到对应的存储设备140。在传统的方案中,一旦存储设备140的I/O性能受到某些因素影响而变得较慢时,存储系统100会抑制针对存储设备140的新的写入请求。例如,存储系统100可以将新的写入请求挂起,此时上层的文件系统在未接受到先前请求的执行完成指示,通常不会再发送新的写入请求。然而,文件系统无法知晓存储系统100的状况,并且可能在短时间内突然发送大量的写入请求,这些写入请求将被全部挂起,并且可能需要等待很长的时间才能够完成执行,进而极大地影响存储系统100的性能。此外,这些未完成的写入请求还将占据高速缓存110中大量的高速缓存页面,进而影响存储系统100对其他写入请求的响应。根据本公开的实施例,提供了一种数据写入的方案。在该方案中,当存储系统判断高速缓存中未命中所接收的写入请求所针对的地址时,存储系统将判断高速缓存页面的使用率,并在页面使用率高于上限阈值时,利用高速缓存中的可用页面来执行该写入请求,并在完成该写入请求的执行时回收该可用页面,而不受限于高速缓存的刷新周期。基于这样的方式,存储系统可以保证总是有一定量的可用高速缓存页面来对写入请求进行响应,并且保证这些可用高速缓存页面不会被消耗光,从而提高了存储系统的性能。图2示出了根据本公开实施例的数据写入方法200的流程图。方法200可以被由存储系统100中的高速缓存110实施。以下将结合图1所示的存储系统100来描述方法200中所涉及的动作。在框202,高速缓存110接收写入请求(为了方便描述,下文称为第一写入请求)。例如,以图1中的写入请求102作为示例,高速缓存110可以从相关联的文件系统(图1中未示出)接收写入请求102,以将与该写入请求102相关联的目标数据写入到目标地址中。在框204,响应于接收到第一写入请求102,高速缓存110在高速缓存110中查找与第一写入请求102相关联的目标地址。在框206,高速缓存110确定高速缓存110中是否命中该目标地址。具体地,高速缓存110中可以包括多个缓存页面120,每个缓存页面120可以与特定的文件系统地址相关联。本文档来自技高网
...

【技术保护点】
1.一种数据写入的方法,包括:/n响应于接收到第一写入请求,在高速缓存中查找与所述第一写入请求相关联的目标地址;/n响应于在所述高速缓存中未命中所述目标地址,确定所述高速缓存中的页面使用率;以及/n响应于确定所述页面使用率高于上限阈值,利用所述高速缓存中的第一可用页面来执行所述第一写入请求,其中所述第一可用页面响应于对所述第一写入请求的所述执行完成而被回收,而不受限于所述高速缓存的刷新周期。/n

【技术特征摘要】
1.一种数据写入的方法,包括:
响应于接收到第一写入请求,在高速缓存中查找与所述第一写入请求相关联的目标地址;
响应于在所述高速缓存中未命中所述目标地址,确定所述高速缓存中的页面使用率;以及
响应于确定所述页面使用率高于上限阈值,利用所述高速缓存中的第一可用页面来执行所述第一写入请求,其中所述第一可用页面响应于对所述第一写入请求的所述执行完成而被回收,而不受限于所述高速缓存的刷新周期。


2.根据权利要求1所述的方法,其中执行所述第一写入请求包括:
在所述第一可用页面中写入与所述第一写入请求相关联的数据;
向与所述目标地址相关联的存储设备发送请求,以将所述数据写入到所述存储设备中;以及
响应于从所述存储设备接收到完成对所述数据的写入的指示,将所述第一可用页面标记为干净。


3.根据权利要求1或2所述的方法,还包括:
定时地从被挂起的写入请求集合中确定第二写入请求,所述第二写入请求被挂起的时间超于预定的时间阈值;以及
利用所述高速缓存中的第二可用页面执行所述第二写入请求。


4.根据权利要求1所述的方法,还包括:
响应于确定所述页面使用率低于或等于所述上限阈值,确定所述页面使用率是否高于下限阈值,所述上限阈值大于所述下限阈值;
响应于确定所述页面使用率高于所述下限阈值,确定与所述目标地址相关联的存储设备的当前访问速度是否小于速度阈值;以及
响应于所述当前访问速度小于所述速度阈值,确定所述存储设备当前的并发冲刷请求的数目是否大于并发数阈值;以及
响应于所述数目大于所述并发数阈值,挂起所述第一写入请求。


5.根据权利要求4所述的方法,还包括:
响应于所述数目低于或等于所述并发数阈值,执行所述第一写入请求;以及
响应于完成所述第一写入请求,唤醒被挂起的与所述存储设备相关联的第三写入请求。


6.根据权利要求1所述的方法,还包括:
响应于确定页面使用率低于或等于所述第三阈值,在所述高速缓存中的第三可用页面中写入与所述第一写入请求相关联的数据;
将所述第三可用页面标记为脏;以及
报告完成执行所述第一写入请求。


7.一种用于数据写入的设备,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述设备执行动作,所述动作包括:
响应于接收到第一写入请求,在高速缓存中查找与所述第一写入请求相关联的目标地址;
响应于在所述高速缓存中未命中所述目标地址,确定所述高速缓存中的页面使用率;以及
响应于确定所述页面使用率高于上限阈值,利用所述高速缓存中的第一可用页面来执行所述第一写入请求,其中所述第一可用页面响应于对所述第一写入请求的所述执行完成而被回收,而不受限于所述高速缓存的刷新周期。


8.根据权利要求7所述的设备,其中执行所述第一写入请求包括:
在所述第一可用页面中写入与所述第一写入请求相关联的数据;
向与所述目标地址相关联的存储设备发送请求,以将所述数据写入到所述存储设备中;以及
响应于从所述存储设备接收到完成对所述数据的写入的指示,将所述第一可用页面标记为干净。


9.根据权利要求7或8所述的设备,所述动作还包括:
定时地从被挂起的写入请求集合中确定第二写入请求,所述第二写入请求被挂起的时间超于预定的时间阈值;以及
利用所述高速缓存中的第二可用页面执行所述第二写入请求。

【专利技术属性】
技术研发人员:贾瑞勇龚绍钦马春
申请(专利权)人:伊姆西IP控股有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1