用于优化数据缓存的方法和设备技术

技术编号:19320129 阅读:27 留言:0更新日期:2018-11-03 10:47
本公开的实施例提供了一种计算机实施的方法。该方法包括:将持久性存储设备中的数据缓存在缓存中。该方法还包括:将数据在持久性存储设备中的物理地址和逻辑地址缓存在缓存中。该方法进一步包括:响应于接收到针对数据的访问请求,使用物理地址和逻辑地址中的至少一个地址来访问缓存中缓存的数据。本公开的实施例还提供了一种电子装置和计算机程序产品。

Method and device for optimizing data cache

Embodiments of the disclosure provide a method of computer implementation. The method includes caching the data in the persistent storage device in the cache. The method also includes caching the physical and logical addresses of data in a persistent storage device. The method further includes using at least one address in the physical address and logical address to access the cached data in the cache in response to receiving an access request for the data. The embodiment of the disclosure also provides an electronic device and a computer program product.

【技术实现步骤摘要】
用于优化数据缓存的方法和设备
本公开一般性地涉及与计算机系统或存储系统有关的
,并且更特别地,涉及一种计算机实施的方法和电子装置。
技术介绍
在计算机系统或存储系统中,对缓存中缓存的数据条目的管理通常关注通过数据的物理地址来对其进行读写操作,并且通过物理地址的偏移来索引数据。因此,当系统使用数据的逻辑地址或逻辑地址的偏移来提供对数据的读写请求时,缓存将不能确定具有所给定的逻辑地址或逻辑地址偏移的数据是否被缓存在缓存中。在这种情况下,通过数据的逻辑地址提出的对数据的读写请求必须经由映射功能映射到数据的物理地址,而这种映射功能通常要求进行对持久性存储设备的若干访问步骤。为此,传统方案可以进一步提供写缓冲功能,其使得通过逻辑地址提出的读写请求有可能在写缓冲功能中所保留的“写缓冲记录”中直接找到(也称为命中),而无需“立即”进行从逻辑地址到物理地址的映射,而且避免了单独为逻辑地址建立缓存空间所带来的冗余。此后,写缓冲功能将在空闲时在后台进行从逻辑地址到物理地址的映射,这也可以称为后台重命名。
技术实现思路
本公开的实施例提供了一种计算机实施的方法、电子装置和计算机程序产品。在本公开的第一方面,提供了一种计算机实施的方法。该方法包括:将持久性存储设备中的数据缓存在缓存中;将数据在持久性存储设备中的物理地址和逻辑地址缓存在缓存中;以及响应于接收到针对数据的访问请求,使用物理地址和逻辑地址中的至少一个地址来访问缓存中缓存的数据。在一些实施例中,将物理地址和逻辑地址缓存在缓存中可以包括:使用二维散列表来缓存物理地址和逻辑地址。在一些实施例中,二维散列表可以包括:第一维散列表,用于将物理地址用作关键码并且映射到逻辑地址和数据;以及第二维散列表,用于将逻辑地址用作关键码并且映射到物理地址。在一些实施例中,逻辑地址可以对应于一个物理地址或者不对应于任何物理地址;并且物理地址可以对应于至少一个逻辑地址或者不与任何逻辑地址对应。在一些实施例中,该方法可以进一步包括:将指示符缓存在缓存中;以及将指示符设置为肯定状态或否定状态以指示数据在缓存中是否为直接可改写的。在一些实施例中,设置指示符可以包括:如果物理地址仅对应于该逻辑地址,则将指示符设置为肯定状态;以及如果物理地址对应于多个逻辑地址,或者不确定物理地址是否仅对应于该逻辑地址,则将指示符设置为否定状态。在一些实施例中,设置指示符可以进一步包括:响应于在存储设备中对数据进行快照操作或去重操作中的至少一种操作,将指示符设置为否定状态。在一些实施例中,将存储设备中的数据缓存在缓存中可以包括:响应于对数据进行读取操作的请求,确定数据是否已被缓存在缓存中;响应于确定数据未被缓存在缓存中,将数据从存储设备复制到缓存中;以及将指示符设置为否定状态。在一些实施例中,访问缓存中缓存的数据可以包括:响应于访问请求为改写请求,确定指示符的状态;响应于确定指示符为肯定状态,直接在缓存中对数据进行改写操作;以及响应于确定指示符为否定状态,将用于改写的数据缓存在缓存的另一位置;以及将指示用于改写的数据是否为直接可改写的指示符设置为肯定状态。在本公开的第二方面,提供了一种电子装置。该电子装置包括至少一个处理器和包括计算机指令的至少一个存储器。该至少一个存储器和计算机指令被配置为,与处理器一起,使得电子装置:将持久性存储设备中的数据缓存在缓存中;将数据在持久性存储设备中的物理地址和逻辑地址缓存在缓存中;以及响应于接收到针对数据的访问请求,使用物理地址和逻辑地址中的至少一个地址来访问缓存中缓存的数据。在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令。该机器可执行指令在被执行时使得机器执行第一方面的方法的步骤。附图说明通过参考附图阅读下文的详细描述,本公开的实施例的上述以及其他目的、特征和优点将变得容易理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施例,其中:图1示出了根据本公开的实施例的存储系统的示意图。图2示出了根据本公开的实施例的方法的流程图。图3示出了根据本公开的实施例的二维散列表的示意图。图4示出了根据本公开的实施例的缓存中的数据条目的结构示意图。图5示出了根据本公开的实施例的操作过程的状态转换图。图6示出了根据本公开的实施例的装置的框图。图7示出了可以被用来实施本公开内容的实施例的设备的框图。贯穿所有附图,相同或者相似的参考标号被用来表示相同或者相似的元件。具体实施方式下面将参考附图中所示出的若干示例性实施例来描述本公开的原理和精神。应当理解,描述这些具体的实施例仅是为了使本领域的技术人员能够更好地理解并实现本公开,而并非以任何方式限制本公开的范围。应当注意,在本公开的上下文中为了讨论的方便,可能使用某些特定的术语来描述本公开的某些实施例。但是,本领域的技术人员将理解,这样的描述无意将本公开的实施例限制于特定的系统或技术环境。本公开的实施例等同地可应用到其他的计算机系统或存储系统中。如上文所提到的,在传统的方案中,写缓冲功能的写缓冲记录的空间是有限的。这里,写缓冲记录是指写缓冲功能保留的空间,用来暂时存储尚未从逻辑地址映射到物理地址的写请求。因此,建立在具备“快照”、“内联压缩”,“数据冗余消除”,“写缓冲”等高级文件系统特性的基础之上,这种传统方案的一个关键选择在于写缓冲功能应当多频繁地针对写缓冲记录中的那些数据条目进行重命名。事实上,仅写缓冲记录中的数据条目可能是可命中的,但是它们不能过久地保持在数据记录中,而是一旦重命名完成就必须从写缓冲记录移除。为了进一步解释后台重命名而考虑两个假设的情形。一个假设情形是,如果写缓冲功能过久地进行重命名,则它针对近期的读写操作将具有良好的命中率,因为大多数数据条目被保持在写缓冲记录中。然而,在这种情况下,写缓冲记录将会变满,并且此后新到来的写请求难以借助“写缓冲”提升性能。因此,新请求的性能将变得非常差,甚至差于不启用写缓冲功能时。另一假设情形是,写缓冲功能在它空闲时快速地进行重命名。以这种方式,写缓冲记录将包含非常少的数据条目可能被命中,这也导致了差的命中率。在实践中,如下表所示,重命名的频率不管是短还是长,写缓冲功能必须选择其中的一种。在下表中,近期R/W意指满足良好空间局部性的逻辑读写请求,而非近期R/W意指其地址不在近期缓存条目列表中的请求,从而较不可能命中。这里,逻辑读写是指来自客户端侧存储系统的通过逻辑地址的I/O请求,其地址例如由<文件系统号,根索引号,偏移地址>组成。相对应地,物理读写是指在完成从逻辑地址到物理地址的映射之后对物理盘的持久数据的I/O请求,其例如可以由物理地址偏移组成。重命名频率[近期R/W][非近期R/W]短(难以选择)差好长(难以选择)好差表1传统方案之所以存在上述问题的原因在于,缓存中的数据条目是通过物理地址索引的传统的散列表来组织的,所以如果提供物理地址,则它可以被询问而快速地回答它是否包含具有该物理地址的数据。但是,如果通过逻辑地址来访问缓存中的数据条目,则它本身无法确定具有该逻辑地址的数据是否被缓存。为了至少部分地解决上述以及其他潜在问题,本公开的实施例提出了一种算机实施的方法、电子装本文档来自技高网...

【技术保护点】
1.一种计算机实施的方法,包括:将持久性存储设备中的数据缓存在缓存中;将所述数据在所述持久性存储设备中的物理地址和逻辑地址缓存在所述缓存中;以及响应于接收到针对所述数据的访问请求,使用所述物理地址和所述逻辑地址中的至少一个地址来访问所述缓存中缓存的所述数据。

【技术特征摘要】
1.一种计算机实施的方法,包括:将持久性存储设备中的数据缓存在缓存中;将所述数据在所述持久性存储设备中的物理地址和逻辑地址缓存在所述缓存中;以及响应于接收到针对所述数据的访问请求,使用所述物理地址和所述逻辑地址中的至少一个地址来访问所述缓存中缓存的所述数据。2.根据权利要求1所述的方法,其中将所述物理地址和所述逻辑地址缓存在所述缓存中包括:使用二维散列表来缓存所述物理地址和所述逻辑地址。3.根据权利要求2所述的方法,其中所述二维散列表包括:第一维散列表,用于将所述物理地址用作关键码并且映射到所述逻辑地址和所述数据;以及第二维散列表,用于将所述逻辑地址用作关键码并且映射到所述物理地址。4.根据权利要求1所述的方法,其中:所述逻辑地址对应于一个物理地址或者不对应于任何物理地址;并且所述物理地址对应于至少一个逻辑地址或者不与任何逻辑地址对应。5.根据权利要求1所述的方法,进一步包括:将指示符缓存在所述缓存中;以及将所述指示符设置为肯定状态或否定状态以指示所述数据在所述缓存中是否为直接可改写的。6.根据权利要求5所述的方法,其中设置所述指示符包括:如果所述物理地址仅对应于所述逻辑地址,则将所述指示符设置为肯定状态;以及如果所述物理地址对应于多个逻辑地址,或者不确定所述物理地址是否仅对应于所述逻辑地址,则将所述指示符设置为否定状态。7.根据权利要求5所述的方法,其中设置所述指示符进一步包括:响应于在所述存储设备中对所述数据进行快照操作或去重操作中的至少一种操作,将所述指示符设置为否定状态。8.根据权利要求5所述的方法,其中将存储设备中的数据缓存在缓存中包括:响应于对所述数据进行读取操作的请求,确定所述数据是否已被缓存在所述缓存中;响应于确定所述数据未被缓存在所述缓存中,将所述数据从所述存储设备复制到所述缓存中;以及将所述指示符设置为否定状态。9.根据权利要求5所述的方法,其中访问所述缓存中缓存的所述数据包括:响应于所述访问请求为改写请求,确定所述指示符的状态;响应于确定所述指示符为肯定状态,直接在所述缓存中对所述数据进行改写操作;以及响应于确定所述指示符为否定状态,将用于改写的数据缓存在所述缓存的另一位置;以及将指示所述用于改写的数据是否为直接可改写的指示符设置为肯定状态。10.一种电子装置,包括:至少一个处理器;以及包括计算机指令的至少一个存储器,所述至少一个存储器和所述计算机指令被配置为,与所述处理器一起,使得所述电子装置:将持久性存储设备中的数据缓存在缓存中;将所述数据在所述持久性存储设备中的物理地址和逻辑地址缓存在所述缓存中;以及响应于接收到针对所述数据的访问请求,使用所述物理地址和所述逻辑地址中的至少一个地址来访问所...

【专利技术属性】
技术研发人员:崔嵬王登宇高健张明宫晨
申请(专利权)人:伊姆西IP控股有限责任公司
类型:发明
国别省市:美国,US

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

1