Embodiments of this disclosure provide caching systems and related methods. The cache system includes a first pipeline module, including a first plurality of sequential processing stages capable of performing the first plurality of operations. The first plurality of operations are executed in response to the first plurality of types of input/output I/O requests for persistent storage devices, and each operation in the first plurality of operations is a common operation of at least two types of I/O requests in the first plurality of types of I/O requests. The cache system also includes a control module configured to determine the first type of the first pending I/O request for a persistent storage device and to enable the first pipeline module to be executed to process the first pending I/O request in response to the first type being one of the first multiple types.
【技术实现步骤摘要】
缓存系统及相关方法
本公开的实施例涉及数据存储领域,并且更具体地,涉及缓存系统及其中方法。
技术介绍
数据存储系统可以在客户端(也被称为主机)与持久性存储设备之间设置缓存存储器(cachememory),用于暂时性存储数据。这样的缓存存储器可以被称为用于持久性存储设备的缓存存储器。与被包含在处理器(例如,中央处理单元(CPU))中用于促进CPU的指令执行的缓存不同,用于持久性存储设备的缓存存储器旨在于提高客户端对持久性存储设备的读写速度。具体地,缓存存储器接收来自客户端的针对持久性存储设备的输入/输出(I/O)请求,并且响应于该请求,将要被写入到持久性存储设备的数据的副本暂时性地存储或者将其缓存的持久性存储设备的数据的副本读取给客户端。当缓存存储器已经存储客户端的数据副本或者向客户端提供其缓存的数据副本,可以认为I/O请求被成功处理。由于缓存存储器的访问速度通常高于持久性存储设备,因此这极大地提高了数据存储系统的读写性能。在常规的缓存存储器中实施有许多机制和线程(thread),用于处理不同类型的I/O请求。线程上下文开销、系统复杂度和可扩展性将是影响缓存存储器的性能的因素。因此,需要对缓存存储器的进一步改进以便提升缓存存储器和数据存储系统的总体性能。
技术实现思路
本公开的实施例提供了一种改进的缓存方案。在本公开的第一方面中,提供了一种缓存系统。该缓存系统包括第一流水线模块,包括能够执行第一多个操作的第一多个顺序处理阶段。第一多个操作响应于针对持久性存储设备的第一多个类型的输入/输出I/O请求而被执行,并且第一多个操作中每个操作是第一多个类型的I/O请求中的 ...
【技术保护点】
1.一种缓存系统,所述缓存系统与持久性存储设备相关联并且包括:第一流水线模块,包括能够执行第一多个操作的第一多个顺序处理阶段,所述第一多个操作响应于针对所述持久性存储设备的第一多个类型的输入/输出I/O请求而被执行,所述第一多个操作中每个操作是所述第一多个类型的I/O请求中的至少两个类型的I/O请求的公共操作;以及控制模块,被配置为:确定针对所述持久性存储设备的第一待处理I/O请求的第一类型,以及响应于所述第一类型为所述第一多个类型之一,使得所述第一流水线模块被执行以处理所述第一待处理I/O请求。
【技术特征摘要】
1.一种缓存系统,所述缓存系统与持久性存储设备相关联并且包括:第一流水线模块,包括能够执行第一多个操作的第一多个顺序处理阶段,所述第一多个操作响应于针对所述持久性存储设备的第一多个类型的输入/输出I/O请求而被执行,所述第一多个操作中每个操作是所述第一多个类型的I/O请求中的至少两个类型的I/O请求的公共操作;以及控制模块,被配置为:确定针对所述持久性存储设备的第一待处理I/O请求的第一类型,以及响应于所述第一类型为所述第一多个类型之一,使得所述第一流水线模块被执行以处理所述第一待处理I/O请求。2.根据权利要求1所述的缓存系统,其中所述第一多个操作至少包括与对所述持久性存储设备的访问有关的至少一个操作。3.根据权利要求1所述的缓存系统,其中所述第一多个类型的I/O请求包括以下中的多个请求:读请求、写请求、零填充请求、预取请求和数据移除请求。4.根据权利要求1所述的缓存系统,其中所述控制模块还被配置为:确定针对所述持久性存储设备的第二待处理I/O请求的第二类型;以及响应于确定所述第二类型为所述第一多个类型之一,在所述第一多个顺序处理阶段中的第一顺序处理阶段正在运行的同时,使得所述第一流水线模块被执行以使用所述第一顺序处理阶段之前的第二顺序处理阶段处理所述第二待处理I/O请求。5.根据权利要求1所述的缓存系统,其中所述控制模块被配置为:为所述第一待处理I/O请求选择所述第一多个处理阶段中的至少一个处理阶段;使得所选择的至少一个处理阶段针对所述第一待处理I/O请求而被执行;以及使得所述第一多个处理阶段中的其他处理阶段被跳过。6.根据权利要求1所述的缓存系统,其中所述第一多个顺序处理阶段中的第三顺序处理阶段可操作以响应于所述缓存系统中可用于所述第三顺序处理阶段的缓存资源低于预定阈值而暂停预定时间段,并且响应于所述缓存资源超过预定阈值而被执行。7.根据权利要求1所述的缓存系统,还包括:第二流水线模块,包括够执行第二多个操作的第二多个顺序处理阶段,所述第二多个操作响应于针对所述持久性存储设备的第三类型的I/O请求而被执行,并且其中所述控制模块还被配置为:确定所述缓存系统接收到的第三待处理I/O请求的类型,以及响应于所确定的类型为所述第三类型,使得所述第二流水线模块被执行以处理所述第三待处理I/O请求。8.根据权利要求7所述的缓存系统,其中所述控制模块还被配置为:在所述第一流水线模块正在执行所述第一待处理I/O请求的同时,使得所述第二流水线模块被执行。9.根据权利要求8所述的缓存系统,其中所述控制模块还被配置为:基于所述第一流水线模块和所述第二流水线模块的相应优先级,为所述第一流水线模块和第二流水线模块分配所述缓存系统的缓存资源。10.一种用于缓存系统的方法,所述缓存系统与持久性存储设备相关联,所述方法包括:接收针对所述持久性存储设备的第一待处理输入/输出I/O请求,所述缓存...
【专利技术属性】
技术研发人员:杨利锋,徐鑫磊,高健,李雄成,奉昌玉,
申请(专利权)人:伊姆西IP控股有限责任公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。