CN108733313A - 利用预备盘建立多级闪速缓存的方法、设备和计算机可读介质 - Google Patents

利用预备盘建立多级闪速缓存的方法、设备和计算机可读介质 Download PDF

Info

Publication number
CN108733313A
CN108733313A CN201710250534.3A CN201710250534A CN108733313A CN 108733313 A CN108733313 A CN 108733313A CN 201710250534 A CN201710250534 A CN 201710250534A CN 108733313 A CN108733313 A CN 108733313A
Authority
CN
China
Prior art keywords
disk
caching
page
auxiliary
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710250534.3A
Other languages
English (en)
Other versions
CN108733313B (zh
Inventor
李雄成
徐鑫磊
高健
杨利锋
贾瑞勇
刘友生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201710250534.3A priority Critical patent/CN108733313B/zh
Priority to US15/954,720 priority patent/US10860496B2/en
Publication of CN108733313A publication Critical patent/CN108733313A/zh
Application granted granted Critical
Publication of CN108733313B publication Critical patent/CN108733313B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/225Hybrid cache memory, e.g. having both volatile and non-volatile portions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • G06F2212/262Storage comprising a plurality of storage devices configured as RAID

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开的实施例提供了一种利用预备盘建立多级闪速缓存的方法、设备和计算机可读介质。在一些实施例中,提供了一种由计算机实现的方法。该方法包括:响应于接收到I/O请求,确定缓存中的主缓存中是否存在空闲页面.响应于确定在所述主缓存中不存在空闲页面,通过从存储池中的预备盘中选择至少一个预备盘来建立辅缓存。将所述主缓存中访问频度低于预定阈值的冷页面中的数据冲刷到所述辅缓存。将所述I/O请求所涉及的数据从持久性存储设备写入所述冷页面。

Description

利用预备盘建立多级闪速缓存的方法、设备和计算机可读 介质
技术领域
本公开的实施例总体涉及数据存储,更具体地,涉及利用预备盘建立多级闪速缓存的方法、设备和计算机可读介质。
背景技术
在磁盘阵列中,在块层中一般存在两种类型的缓存,也就是动态随机存取存储器(DRAM)缓存和固态磁盘(SSD)缓存。DRAM缓存对于数据请求具有最快的响应速度,然而在成本和缓存容量方面受限。SSD缓存对于数据请求的响应速度仅次于DRAM缓存并且SSD缓存相较于DRAM具有不同程度的相对较低的成本和更高的缓存容量。HDD盘通常被用于存储所有用户数据并且其对不能由DRAM缓存以及SSD缓存响应的I/O请求进行响应。HDD盘具有最慢的响应时间,开放的容量以及每GB最低的成本。
在现有产品中,依据RAID组的RAID类型,硬盘管理器将预留一个或多个盘作为预备盘。这些预备盘准备在RAID组中的盘出现故障时替换故障盘。在大多数时间下,这些预备盘不被使用。对于价格昂贵的一些类型的SSD盘来说,这种情况是非常浪费的。
发明内容
本公开的实施例旨在提供一种利用预备盘建立多级闪速缓存的方法、设备和计算机可读介质,以解决现有技术中存在的问题。
在本公开的第一方面,提供一种计算机实施的方法。该方法包括:响应于接收到I/O请求,确定缓存中的主缓存中是否存在空闲页面;响应于确定在主缓存中不存在空闲页面,通过从缓存中的预备盘中选择至少一个预备盘来建立辅缓存;将主缓存中访问频度低于预定阈值的冷页面中的数据冲刷到辅缓存;以及将I/O请求所涉及的数据从持久性存储设备写入冷页面。
在本公开的第二方面,提供一种电子设备。该设备包括:至少一个处理器;以及与至少一个处理器耦合的存储器。存储器中存储有指令,该指令在被至少一个处理单元执行时,使得所述设备执行动作。该动作包括:响应于接收到I/O请求,确定缓存中的主缓存中是否存在空闲页面;响应于确定在主缓存中不存在空闲页面,通过从缓存中的预备盘中选择至少一个预备盘来建立辅缓存;将主缓存中访问频度低于预定阈值的冷页面中的数据冲刷到辅缓存;以及将I/O请求所涉及的数据从持久性存储设备写入冷页面。
在本公开的第三方面,提供一种计算机可读介质。在该计算机可读介质上存储有指令,当所述指令在被至少一个处理单元执行时,使得至少一个处理单元被配置为执行一种方法。该方法包括:响应于接收到I/O请求,确定缓存中的主缓存中是否存在空闲页面;响应于确定在主缓存中不存在空闲页面,通过从缓存中的预备盘中选择至少一个预备盘来建立辅缓存;将主缓存中访问频度低于预定阈值的冷页面中的数据冲刷到辅缓存;以及将I/O请求所涉及的数据从持久性存储设备写入冷页面。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开内容的关键特征或主要特征,也无意限制本公开内容的范围。
附图说明
通过参考附图阅读下文的详细描述,本公开的实施例的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例而非限制性的方式示出了本公开的若干实施例,其中:
图1示出了磁盘阵列中的传统缓存层的示意图;
图2示出了传统的闪速缓存的实施例的示意图;
图3示出了根据本发明的实施例的缓存整体架构的示意图;
图4示出了根据本公开的实施例的建立多级闪速缓存的方法400的流程图;
图5示出了根据本公开的实施例的建立辅缓存中的第一层级的示意图;
图6示出了根据本发明的实施例的建立多级闪速缓存的缓存架构的示意图;
图7示出了根据本公开的实施例的在辅缓存上的写入缓存命中的示意图;
图8示出了根据本公开的实施例的从辅缓存移除一个缓存设备的示意图;
图9图示了根据本公开的实施例的用于建立多级闪速缓存的装置900的框图;
图10示出了适于用来实施本公开的实施例的设备1000的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
在下文中,将参考附图详细描述本公开的各个示例性实施例。应当注意,这些附图和描述涉及的仅仅是作为示例性的实施例。应该指出的是,根据随后描述,很容易设想出此处公开的结构和方法的替换实施例,并且可以在不脱离本公开要求保护的原理的情况下使用这些替代实施例。
应当理解,给出这些示例性实施例仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
在此使用的术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
在磁盘阵列中,在块层中一般存在两种类型的缓存,也就是动态随机存取存储器(DRAM)缓存和固态磁盘(SSD)缓存。DRAM的优势在于,对于数据的请求能够被快速地响应,例如一般大约为60μs。然而,DRAM缓存成本较高,并且在DRAM的缓存容量方面存在一定的硬件限制。SSD缓存具有在速度上仅次于DRAM缓存的对于数据的请求响应速度,例如一般为1ms。而取决于SLC/MLC/TLC技术,SSD缓存相较于DRAM具有不同程度的相对较低的成本。同时,在缓存容量方面,SSD缓存通常要高于DRAM缓存。SSD根据不同技术能够具有例如以下类型:HE SSD、ME SSD以及LE SSD,不同技术的SSD具有不同的特性,例如HE SSD具有上至30次写/天的最高的写次数/天,而LE SSD仅具有小于5次写/天的写次数/天。
此外,HDD盘通常被用于存储所有用户数据并且其对不能由DRAM缓存以及SSD缓存响应的I/O请求进行响应。HDD盘具有最慢的响应时间,开放的容量以及每GB最低的成本。
图1示出了磁盘阵列中的传统缓存层的示意图。传统的缓存一般包括DRAM缓存、SSD缓存以及硬盘驱动器(HDD)。如图1所示,DRAM缓存110处于IO数据路径的最顶端,SSD缓存120在DRAM缓存110之下,而在SSD缓存120之下为HDD矩阵130。当磁盘阵列接收到主机I/O请求时,存在以下两种方式的缓存命中:第一种为DRAM缓存110命中,即DRAM缓存110首先搜索其缓存的数据,如果DRAM缓存110搜索命中,DRAM缓存110将例如该数据响应主机请求。第二种为SSD缓存120命中,即在DRAM缓存110中没有搜索到相应的数据,则由DRAM缓存110向SSD缓存120转发该I/O请求。SSD缓存120接收到该转发的I/O请求I/O请求之后搜索自身的缓存数据。如果SSD缓存120搜索命中,SSD缓存120将例如该数据响应主机请求。如果在SSD缓存120中没有搜索到相应的数据,则由SSD缓存120向HDD矩阵130转发该I/O请求。
图2示出了传统的SSD缓存的实施例的示意图。在现在的产品中,SSD缓存被设计为读/写缓存。为了提供较高的可靠性,SSD缓存由一对SSD盘组成,其被称作缓存设备。为了方便描述,在图2中仍沿用图1中表示缓存SSD的附图标记120。如图2所示,SSD缓存120包括设备2100,设备2101,设备2102,以及设备2103。这些设备中的每一个均由一对SSD盘组成。其中每一对SSD盘被形成为RAID1组,这保证了在一个SSD盘下线或损坏的时候没有数据丢失。每个缓存设备被分成元数据逻辑单元和用户数据逻辑单元。在图2中,每对SSD中的用户数据逻辑单元的部分以斜线示意性地表示,每对SSD中未以斜线标识的部分为元数据逻辑单元。
SSD磁盘技术需要支持超过25次写/天,因此如果在快速缓存使用ME SSD,则需要预留50%的空间来满足此要求。这种结构浪费闪存盘的使用并且在大多数主机I/O为读I/O的时候增加用户成本。
此外,在现有技术中,依据RAID组的RAID类型,硬盘管理器将预留一个或多个盘作为预备盘。这些预备盘准备在RAID组中的盘出现故障时替换故障盘。在大多数时间下,这些预备盘不被使用。对于价格昂贵的ME/LE/RI类型的SSD盘来说,这种情况是非常浪费的。
因此,需要实现一种能够行之有效的提高预备盘利用率和系统效率的方案。
图3示出了根据本发明的实施例的缓存整体架构的示意图。如图3所示,在RAID管理器340中包括SSD缓存350和HDD 360。在HDD 360中还包括HDD预备盘370。在SSD缓存350中,示出了两种不同类型的SSD盘。一种为HE/ME类型的SSD盘,另一种为LE类型的SSD盘。在图3中,以菱形格填充的圆柱体表示HE/ME类型的SSD盘,以竖线填充的圆柱体表示LE类型的SSD盘。尽管在图中未示出,在SSD缓存中还可以包括RI(read intensive)类型的SSD缓存。HE/ME类型的SSD盘具有高于LE和RI类型的SSD盘的可写入次数,而LE类型的SSD盘具有高于RI类型的SSD盘的可写入次数。
如上文所述,SSD缓存通常由一对SSD盘组成,其被称作缓存设备。例如在图3中的SSD对3502,其由两个单个的SSD盘3501组成。可以看出,在HE/ME类型的SSD盘中,存在两对SSD对,它们分别形成了闪速缓存320中的设备3100和设备3101。在本公开的一个实施例中,分别由SSD对形成的设备3100和设备3101称作主缓存。
应当理解,尽管在图3中仅仅示出了两个主缓存设备,其仅仅是出于示例性的目的而不是对于主缓存设备的数量的限定,在不违背本公开的构想下的任意数量的主缓存设备均是可能存在的。在HE/ME和LE类型的SSD盘中,分别存在其相应类型的预备盘。该HE/ME和LE类型的SSD盘的预备盘在图3中以虚线方框标识出。可以看出,HE/ME类型的预备盘3503形成了闪速缓存320中的设备3102,以及LE类型的预备盘3504形成了闪速缓存320中的设备3103。在本公开的一个实施例中,分别由HE/ME和LE类型的SSD盘的预备盘形成的缓存设备,也就是设备3102和设备3103称作辅缓存。
需要指出,尽管设备3102和设备3103均为辅缓存,由于形成设备3102和设备3103的SSD盘的类型不同,设备3102和设备3103并不是同时建立的。在主缓存的容量不足的情况下,具有最高可写入次数的类型的SSD盘的预备盘被用作建立辅缓存的第一层级,具有次高可写入次数的类型的SSD盘的预备盘被用作建立辅缓存的第二层级,以此类推。也就是说,辅缓存是逐层级地建立的。
需要指出,主缓存是支持读/写的缓存。为了使得这些用作辅缓存的预备盘在任何时间被下层的硬盘管理层需要时可用,由预备盘组成的辅缓存仅具备读的功能。因此,辅缓存能够缓存干净(clean)的用户数据,在这些数据被清除时无需将它们冲刷到硬盘。因此预备盘能够在下层硬盘管理层需要它们的时候被快速地释放。例如在图3中,如果在资源池330中的SSD盘出现故障的时候,与故障盘相同类型的预备盘将立即被释放来替换故障盘。不同于主缓存一般为R1RAID组,辅缓存是将ME/LE/RI组成R0RAID组,这为热用户数据提供了相较于主缓存的更大的缓存容量。
除了在缓存组成方面与主缓存不同之外,为辅缓存分配的内存管理也不同。为了能够快速释放被分配给辅缓存的资源,资源被单独地分配给辅缓存中的每个设备,并且为辅缓存中每个设备建立哈希索引。
图4示出了根据本公开的实施例的建立多级闪速缓存的方法400的流程图。图5示出了根据本公开的实施例的建立辅缓存中的第一层级的示意图。图6示出了根据本发明的实施例的建立多级闪速缓存的缓存架构的示意图。以下结合图5至图6进一步详细描述图4示出的根据本公开的实施例的建立多级闪速缓存的方法400。
根据一般的准则,热(hot)用户数据(最经常被访问的用户数据)将从HDD被提升(promote)到读写缓存中。例如在图5和图6中,HDD 510中的热用户数据被提升至主缓存设备5200中。在图5和图6中,主缓存设备5200示例性地由一对的SSD盘530组成。应当理解,主缓存可以包括多对SSD盘。对于缓存命中的情况,用户数据将被写入主缓存设备5200的空闲页面。
如图4所示,在410,如果接收到主机的I/O请求,确定缓存中的主缓存设备5200中是否存在空闲页面。随着系统运行,新的用户数据不断地写入主缓存设备5200,主缓存设备5200中的空闲页面变得越来越少。在现有技术中,一般将读写缓存中的访问频度低于预定阈值的页面(冷页面)驱逐(evict)至HDD。反复的提升和驱逐动作减小了读写缓存的使用寿命。
因此,根据本公开的一个实施例,在420,如果确定了在主缓存设备5200中不存在空闲页面,选择至少一个预备盘来建立辅缓存。可以理解,此处的预备盘可以是图3中的HE/ME类型的SSD的预备盘3503以及LE类型的SSD的预备盘3504以及没有示出的RI类型的SSD的预备盘中的任意一种。考虑到SSD盘的耐久性,在选择预备盘建立辅缓存的时候,首先选择单位时间内的可写入次数超过预定阈值,例如具有最高的可写入次数的类型的SSD预备盘中的至少一个来建立辅缓存的第一层级。应当理解,单位时间内的可写入次数例如可以是每天的可写入次数(WPD)。例如,可以选择图3中的HE/ME类型的SSD的预备盘3503来建立图5的辅缓存设备5201,辅缓存设备5201包括一个HE/ME类型的SSD盘540。尽管在图3中仅仅示例性地示出了一个HE/ME类型的SSD的预备盘3503,应当理解,如果具有多个同样类型的SSD预备盘,也可以选择多个预备盘来建立辅缓存,相同类型的SSD预备盘所建立的辅缓存设备处于同一层级。例如在图6中,辅缓存的第一层级包括两个辅缓存设备5201和5202
需要指出,不同于主缓存仅具有一个总元数据索引,辅缓存中的设备被分别分配有各自的存储空间,这些存储空间被用于建立其各自的元数据索引。例如在图5的盘540中,未以斜线标识的部分表示元数据逻辑单元,以斜线标识的部分表示用户数据逻辑单元。需要说明,将以图5中的盘540的上述标识方式标识在图5的闪速缓存层中的其他盘以及接下来将会描述的图6至图8中的各个盘的元数据逻辑单元部分和用户数据逻辑单元部分,为了简明的原因,在本文的其他描述中不再赘述。
一旦辅缓存被建立,在430,从主缓存设备5200中驱逐的冷页面中的数据就被冲刷到辅缓存设备5201。在440,将I/O请求所涉及的数据,也就是上文中的热用户数据,从持久性存储设备,例如HDD写入上述主缓存中的冷页面。
随后,如果在存储池中不存在同一类型的SSD预备盘,例如在图3中,HE/ME类型的SSD的预备盘3503已经用于建立了辅缓存设备中的第一层级而在存储池中并无其他同一类型的预备盘存在,并且在已经建立的这一层级的缓存盘中没有可用容量的情况下,选择单位时间内的可写入次数等于预定阈值,例如具有次高的可写入次数的类型的SSD预备盘中的至少一个来建立辅缓存的下一层级。例如,可以选择图3中的LE类型的SSD的预备盘3504来建立图6的辅缓存设备5202,辅缓存设备5202包括一个LE类型的SSD盘550。除了与建立辅缓存设备的第一层级的SSD预备盘的类型不同之外,其他建立过程与辅缓存设备第一层级的各设备的建立过程一致,故在此不再赘述。应当理解,辅缓存设备5202也被分配有单独的存储空间,以用于建立其元数据索引。
以上述方式,利用不同类型的SSD预备盘逐层地建立多层级的辅缓存设备。当在图5和图6中的闪速缓存层560接收到I/O请求后,先在主缓存设备的总元数据索引中搜索涉及所请求的数据的页面,如果没有搜索到相应的页面,则按照层级逐个地在搜索辅缓存设备中的元数据索引。图7示出了根据本公开的实施例的在辅缓存上的写入缓存命中的示意图。根据本公开的一个实施例,一旦在辅缓存设备中的缓存页面被命中,闪速缓存层将在主缓存设备中分配新页面,以将上述I/O请求所涉及的数据写入到主缓存设备中所分配的新页面中。而在辅缓存设备中的原页面将被释放。如图7所示,当辅缓存设备5201中的缓存页面(用以竖线标识的方框表示)被命中,该被命中的页面的数据被写入到主缓存设备5200的一对SSD盘530中。而辅缓存设备辅缓存设备5201的盘540中的原页面被释放(被释放的页面以符号“X”来标识)。
当在下层硬盘管理层需要预备盘来替换在存储池中发生故障的SSD盘而不存在可用的预备盘时(也就是相应类型的预备盘均用于建立辅缓存设备),应通知闪速缓存层以释放所需类型的辅缓存设备。图8示出了根据本公开的实施例的从辅缓存移除一个缓存设备的示意图。根据图8所示,根据一个实施例,首先,下层硬盘管理层将辅缓存设备5203的元数据逻辑单元标记为不可用。一旦闪速缓存层360注意到辅缓存设备5203的元数据逻辑单元不可用,则将该不可用的辅缓存设备5203从辅缓存设备中移除。根据本公开的一个实施例,首先将释放分配给辅缓存设备5203的存储空间,接着将清除建立在辅缓存设备5203上的用户数据逻辑单元。当下层硬盘管理层发现所有建立在该缓存设备上的逻辑单元均已被清除,则将该被释放的缓存设备用于替换发生故障的SSD盘。因为根据本公开的方案,辅缓存仅能够缓存干净(clean)的用户数据,在这些数据被清除时无需将它们冲刷到硬盘。因此该缓存设备能够在下层硬盘管理层需要它们的时候被快速地释放。
在由于故障造成的系统重启期间,缓存层将加载被记录在缓存配置中的数据库以设定缓存。该数据库记录了元数据逻辑单元、用户数据逻辑单元、主缓存的缓存设备以及辅缓存的缓存设备。主缓存和辅缓存的区别在于它们的缓存设备所包括的盘的个数。主缓存中的一个缓存设备包括两个盘,而辅缓存中的一个缓存设备仅包括一个盘。当缓存层试图设定在辅缓存上的一个缓存设备时,如果该缓存设备的盘不可用,缓存层将忽略该缓存设备。之后,缓存层将从数据库上移除关于该缓存设备的相应记录。
在系统处于正常工作状态期间,缓存中缓存设备也可能出现故障。首先由硬件管理层发现这一点并告知缓存层。当缓存层接收到从属于该缓存层的缓存设备出现故障的指示,如果指示了辅缓存中的设备出现故障,则立即将该故障的缓存设备移除出辅缓存。首先将释放分配给该故障的缓存设备中的存储空间,接着将清除建立在该缓存设备上的用户数据逻辑单元和元数据逻辑单元。最后,缓存层将从数据库上移除关于该缓存设备的相应记录。当该故障的盘被恢复时,硬盘管理层将其重新用作热备盘。
图9图示了根据本公开的实施例的用于建立多级闪速缓存的装置900的框图。该装置900例如能够用于执行图4中示出的方法400。如图9所示,装置900可以包括第一确定单元910,被配置为响应于接收到I/O请求,确定缓存中的主缓存中是否存在空闲页面。装置900还可以包括第一建立单元920,被配置为响应于确定在主缓存中不存在空闲页面,通过从存储池中的预备盘中选择至少一个预备盘来建立辅缓存。装置900还可以包括第一冲刷单元930,被配置为将主缓存中访问频度低于预定阈值的冷页面中的数据冲刷到辅缓存。此外,装置900可以包括第一写入单元940,被配置为将所述I/O请求所涉及的数据从持久性存储设备写入所述冷页面。
出于清楚的目的,在图9中没有示出装置900的某些可选模块。然而,应当理解,上文参考图3-8所描述的各个特征同样适用于装置900。而且,装置900的各个模块可以是硬件模块,也可以是软件模块。例如,在某些实施例中,装置900可以部分或者全部利用软件和/或固件来实现,例如被实现为包含在计算机可读介质上的计算机程序产品。备选地或附加地,装置900可以部分或者全部基于硬件来实现,例如被实现为集成电路(IC)、专用集成电路(ASIC)、片上系统(SOC)、现场可编程门阵列(FPGA)等。本公开的范围在此方面不受限制。
图10示出了可以用来实施本公开的实施例的设备1000的示意性框图。如图10所示,设备1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序指令或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序指令,来执行各种适当的动作和处理。在RAM 1003中,还可存储设备1000操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法400,可由处理单元1001执行。例如,在一些实施例中,方法400可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序被加载到RAM 1003并由CPU1001执行时,可以执行上文描述的方法400的一个或多个步骤。
综上所述,本公开的实施例提供了一种利用预备盘建立多级闪速缓存的方法。与现有技术相比,本公开的实施例能够将所有类型的预备盘用于建立辅缓存,其使得预备盘被更加有效地利用。以此方式,能够为缓存提供更多的缓存容量。此外,能够减少由于将冲刷到硬盘的页面再次提升到闪存盘导致的写I/O请求,因此能够延长主缓存总的闪存盘的使用寿命。
本公开内容可以是方法、设备和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开内容的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开内容操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开内容的各个方面。
这里参照根据本公开内容实施例的方法、装置(设备)和计算机程序产品的流程图和/或框图描述了本公开内容的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开内容的多个实施例的方法、设备和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开内容的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文公开的各实施例。

Claims (24)

1.一种计算机实施的方法,包括:
响应于接收到I/O请求,确定缓存中的主缓存中是否存在空闲页面;
响应于确定在所述主缓存中不存在空闲页面,通过从存储池中的预备盘中选择至少一个预备盘来建立辅缓存;
将所述主缓存中访问频度低于预定阈值的冷页面中的数据冲刷到所述辅缓存;以及
将所述I/O请求所涉及的数据从持久性存储设备写入所述冷页面。
2.根据权利要求1所述的方法,其中建立辅缓存包括:
从所述预备盘中选择第一类型的至少一个盘,使得所述至少一个盘的单位时间内的可写入次数超过预定阈值。
3.根据权利要求2所述的方法,其中建立辅缓存包括:
响应于所述第一类型的至少一个盘的可用容量降低到阈值容量以下,从所述预备盘中选择第二类型的至少一个盘,使得所述至少一个盘的单位时间内的可写入次数等于预定阈值。
4.根据权利要求3所述的方法,其中建立辅缓存包括:
响应于所述第二类型的至少一个盘的可用容量降低到阈值容量以下,从所述预备盘中选择第三类型的至少一个盘,使得所述至少一个盘的单位时间内的可写入次数小于预定阈值。
5.根据权利要求1所述的方法,其中建立辅缓存包括:
为所述辅缓存中的盘分配存储空间以用于存储相应的元数据。
6.根据权利要求1所述的方法,还包括:
响应于在所述辅缓存的页面被所接收的I/O请求命中,在所述主缓存中为所命中的页面分配空闲页面;
将所命中的页面所涉及的数据写入所分配的所述主缓存中的空闲页面;以及
释放所述辅缓存的所命中的页面。
7.根据权利要求1所述的方法,还包括:
接收替换所述存储池中的故障盘的请求;以及
响应于在所述存储池中不存在可用的预备盘可用于所述替换,释放所述辅缓存中的至少一个盘,所述至少一个盘具有与要被替换所述故障盘相同的类型。
8.根据权利要求7所述的方法,其中释放所述辅缓存中的至少一个盘包括:
释放为所述至少一个盘所分配的存储空间;以及
清除所述至少一个盘的用户数据逻辑单元。
9.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器耦合的存储器,所述存储器包含有存储于其中的指令,所述指令在被所述至少一个处理单元执行时,使得所述设备执行动作,所述动作包括:
响应于接收到I/O请求,确定缓存中的主缓存中是否存在空闲页面;
响应于确定在所述主缓存中不存在空闲页面,通过从存储池中的预备盘中选择至少一个预备盘来建立辅缓存;
将所述主缓存中访问频度低于预定阈值的冷页面中的数据冲刷到所述辅缓存;以及
将所述I/O请求所涉及的数据从持久性存储设备写入所述冷页面。
10.根据权利要求9所述的设备,其中所述建立辅缓存包括:
从所述预备盘中选择第一类型的至少一个盘,使得所述至少一个盘的单位时间内的可写入次数超过预定阈值。
11.根据权利要求10所述的设备,其中所述建立辅缓存包括:
响应于所述第一类型的至少一个盘的可用容量降低到阈值容量以下,从所述预备盘中选择第二类型的至少一个盘,使得所述至少一个盘的单位时间内的可写入次数等于预定阈值。
12.根据权利要求11所述的设备,其中所述建立辅缓存包括:
响应于所述第二类型的至少一个盘的可用容量降低到阈值容量以下,从所述预备盘中选择第三类型的至少一个盘,使得所述至少一个盘的单位时间内的可写入次数小于预定阈值。
13.根据权利要求9所述的设备,其中所述建立辅缓存包括:
为所述辅缓存中的盘分配存储空间以用于存储相应的元数据。
14.根据权利要求9所述的设备,所述动作还包括:
响应于在所述辅缓存的页面被所接收的I/O请求命中,在所述主缓存中为所命中的页面分配空闲页面;
将所命中的页面所涉及的数据写入所分配的所述主缓存中的空闲页面;以及
释放所述辅缓存的所命中的页面。
15.根据权利要求9所述的设备,所述动作还包括:
接收替换所述存储池中的故障盘的请求;以及
响应于在所述存储池中不存在可用的预备盘可用于所述替换,释放所述辅缓存中的至少一个盘,所述至少一个盘具有与要被替换所述故障盘相同的类型。
16.根据权利要求15所述的设备,其中释放所述辅缓存中的至少一个盘包括:
释放为所述至少一个盘所分配的存储空间;以及
清除所述至少一个盘的元数据逻辑单元和用户数据逻辑单元。
17.一种计算机可读介质,所述计算机可读介质上存储有指令,当所述指令在被至少一个处理单元执行时,使得至少一个处理单元被配置为执行一种方法,所述方法包括:
响应于接收到I/O请求,确定缓存中的主缓存中是否存在空闲页面;
响应于确定在所述主缓存中不存在空闲页面,通过从存储池中的预备盘中选择至少一个预备盘来建立辅缓存;
将所述主缓存中访问频度低于预定阈值的冷页面中的数据冲刷到所述辅缓存;以及
将所述I/O请求所涉及的数据从持久性存储设备写入所述冷页面。
18.根据权利要求17所述的介质,其中建立辅缓存包括:
从所述预备盘中选择第一类型的至少一个盘,使得所述至少一个盘的单位时间内的可写入次数超过预定阈值。
19.根据权利要求18所述的介质,其中建立辅缓存包括:
响应于所述第一类型的至少一个盘的可用容量降低到阈值容量以下,从所述预备盘中选择第二类型的至少一个盘,使得所述至少一个盘的单位时间内的可写入次数等于预定阈值。
20.根据权利要求19所述的介质,其中建立辅缓存包括:
响应于所述第二类型的至少一个盘的可用容量降低到阈值容量以下,从所述预备盘中选择第三类型的至少一个盘,使得所述至少一个盘的单位时间内的可写入次数小于预定阈值。
21.根据权利要求17所述的介质,其中建立辅缓存包括:
为所述辅缓存中的盘分配存储空间以用于存储相应的元数据。
22.根据权利要求17所述的介质,所述方法还包括:
响应于在所述辅缓存的页面被所接收的I/O请求命中,在所述主缓存中为所命中的页面分配空闲页面;
将所命中的页面所涉及的数据写入所分配的所述主缓存中的空闲页面;以及
释放所述辅缓存的所命中的页面。
23.根据权利要求17所述的介质,其中所述方法还包括:
接收替换所述存储池中的故障盘的请求;以及
响应于在所述存储池中不存在可用的预备盘可用于所述替换,释放所述辅缓存中的至少一个盘,所述至少一个盘具有与要被替换所述故障盘相同的类型。
24.根据权利要求23所述的介质,其中释放所述辅缓存中的至少一个盘包括:
释放为所述至少一个盘所分配的存储空间;以及
清除所述至少一个盘的用户数据逻辑单元。
CN201710250534.3A 2017-04-17 2017-04-17 利用预备盘建立多级闪速缓存的方法、设备和计算机可读介质 Active CN108733313B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710250534.3A CN108733313B (zh) 2017-04-17 2017-04-17 利用预备盘建立多级闪速缓存的方法、设备和计算机可读介质
US15/954,720 US10860496B2 (en) 2017-04-17 2018-04-17 Method, apparatus and computer readable medium for building multi-tier flash cache by using spare flash drives and clean user data is flushed from main flash cache to one of the spare flash drives that only stores the clean user data, wherein the main flash cache is configured as one or more pairs of flash drives and the one of the spare flash drives is allocated as single drive to secondary flash cache

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710250534.3A CN108733313B (zh) 2017-04-17 2017-04-17 利用预备盘建立多级闪速缓存的方法、设备和计算机可读介质

Publications (2)

Publication Number Publication Date
CN108733313A true CN108733313A (zh) 2018-11-02
CN108733313B CN108733313B (zh) 2021-07-23

Family

ID=63790600

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710250534.3A Active CN108733313B (zh) 2017-04-17 2017-04-17 利用预备盘建立多级闪速缓存的方法、设备和计算机可读介质

Country Status (2)

Country Link
US (1) US10860496B2 (zh)
CN (1) CN108733313B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110968266A (zh) * 2019-11-07 2020-04-07 华中科技大学 一种基于热度的存储管理方法及系统
WO2020198913A1 (en) * 2019-03-29 2020-10-08 Intel Corporation Apparatus, method, and system for collecting cold pages
CN114281269A (zh) * 2021-12-31 2022-04-05 中企云链(北京)金融信息服务有限公司 数据缓存方法以及装置、存储介质、电子装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10983918B2 (en) * 2018-12-31 2021-04-20 Micron Technology, Inc. Hybrid logical to physical caching scheme
CN111857535A (zh) 2019-04-24 2020-10-30 伊姆西Ip控股有限责任公司 用于存储管理的方法、电子设备和计算机可读存储介质
SG11202002027TA (en) * 2019-09-12 2020-04-29 Alibaba Group Holding Ltd Log-structured storage systems
US10942852B1 (en) 2019-09-12 2021-03-09 Advanced New Technologies Co., Ltd. Log-structured storage systems
CN111886591A (zh) 2019-09-12 2020-11-03 创新先进技术有限公司 日志结构存储系统
WO2019228575A2 (en) 2019-09-12 2019-12-05 Alibaba Group Holding Limited Log-structured storage systems
EP3695586A4 (en) 2019-09-12 2020-12-09 Alibaba Group Holding Limited NEWSPAPER STRUCTURE STORAGE SYSTEMS
EP3682344A4 (en) 2019-09-12 2020-12-02 Advanced New Technologies Co., Ltd. ENERGY STORAGE SYSTEMS
CN111837113A (zh) 2019-09-12 2020-10-27 创新先进技术有限公司 日志结构存储系统
WO2019228568A2 (en) 2019-09-12 2019-12-05 Alibaba Group Holding Limited Log-structured storage systems
WO2019228574A2 (en) 2019-09-12 2019-12-05 Alibaba Group Holding Limited Log-structured storage systems
CN112764660A (zh) 2019-10-21 2021-05-07 伊姆西Ip控股有限责任公司 用于数据搬移的方法、设备和计算机可读存储介质
US11275687B2 (en) * 2020-07-07 2022-03-15 Micron Technology, Inc. Memory cache management based on storage capacity for parallel independent threads
CN112817520B (zh) * 2020-12-31 2022-08-09 杭州宏杉科技股份有限公司 数据刷盘方法及装置
KR20220107392A (ko) * 2021-01-25 2022-08-02 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606714B1 (en) * 2000-04-17 2003-08-12 Western Digital Technologies, Inc. Disk drive using defect list to perform uninterrupted writing of non-relocated data blocks and caching of relocated data blocks for deferred writing
CN101006431A (zh) * 2004-08-04 2007-07-25 达西系统股份有限公司 执行容错磁盘阵列的预先重建
US20110107031A1 (en) * 2009-11-05 2011-05-05 International Business Machines Corporation Extended Cache Capacity
US20120272005A1 (en) * 2010-12-13 2012-10-25 International Business Machines Corporation Saving log data using a disk system as primary cache and a tape library as secondary cache
CN102799390A (zh) * 2012-06-14 2012-11-28 国家超级计算深圳中心(深圳云计算中心) 能耗感知的协同式自适应预取方法和中间件
US8370597B1 (en) * 2007-04-13 2013-02-05 American Megatrends, Inc. Data migration between multiple tiers in a storage system using age and frequency statistics
CN103136118A (zh) * 2011-11-21 2013-06-05 西部数据技术公司 使用多层存储器的磁盘驱动数据缓存
US20140019681A1 (en) * 2012-07-16 2014-01-16 Lsi Corporation High density disk drive performance enhancement system

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6015700B2 (ja) * 1977-07-19 1985-04-20 富士通株式会社 スパツタ装置
US6148368A (en) * 1997-07-31 2000-11-14 Lsi Logic Corporation Method for accelerating disk array write operations using segmented cache memory and data logging
US6081802A (en) * 1997-08-12 2000-06-27 Microsoft Corporation System and method for accessing compactly stored map element information from memory
US6243795B1 (en) * 1998-08-04 2001-06-05 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Redundant, asymmetrically parallel disk cache for a data storage system
US7502886B1 (en) 2001-10-23 2009-03-10 Emc Corporation Data storage device with two-tier raid control circuitry
US7174422B1 (en) 2001-10-23 2007-02-06 Emc Corporation Data storage device with two-tier raid control circuitry
US7024586B2 (en) * 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
JP2005539309A (ja) * 2002-09-16 2005-12-22 ティギ・コーポレイション 記憶システムアーキテクチャおよび多重キャッシュ装置
US7594080B2 (en) * 2003-09-12 2009-09-22 International Business Machines Corporation Temporary storage of memory line while waiting for cache eviction
EP1707039A4 (en) * 2003-12-29 2009-07-15 Sherwood Information Partners SYSTEM AND METHOD FOR STORING MASS BY MEANS OF AN ENCLOSURE WITH SEVERAL HARD DISK DRIVERS
JP2009026240A (ja) * 2007-07-23 2009-02-05 Hitachi Ltd 記憶制御システムおよび記憶制御方法
TWI385516B (zh) * 2008-08-12 2013-02-11 Phison Electronics Corp 快閃記憶體儲存系統及其資料寫入方法
US8315995B1 (en) * 2008-09-09 2012-11-20 Peer Fusion, Inc. Hybrid storage system
US8117235B1 (en) 2008-09-29 2012-02-14 Emc Corporation Techniques for binding resources for use by a consumer tier
TW201111986A (en) * 2009-09-29 2011-04-01 Silicon Motion Inc Memory apparatus and data access method for memories
TWI497293B (zh) * 2009-12-17 2015-08-21 Ibm 固態儲存裝置內之資料管理
JP5434738B2 (ja) * 2010-03-26 2014-03-05 日本電気株式会社 ディスク装置
US9063862B2 (en) * 2011-05-17 2015-06-23 Sandisk Technologies Inc. Expandable data cache
WO2013018128A1 (en) * 2011-08-01 2013-02-07 Hitachi, Ltd. Storage apparatus and method for allocating an internal logical volume associated with an external logical volume to an internal tiered pool by assessing or inferring, the performance of said external logical volume
US8769196B1 (en) * 2011-09-30 2014-07-01 Lenovo (Singapore) Pte. Ltd. Configuring I/O cache
CN103123528A (zh) * 2011-11-18 2013-05-29 环旭电子股份有限公司 即插式模块、电子系统以及相应的判断方法与查询方法
US9201804B1 (en) * 2012-02-06 2015-12-01 Google Inc. Dynamically adapting the configuration of a multi-queue cache based on access patterns
US20130238851A1 (en) * 2012-03-07 2013-09-12 Netapp, Inc. Hybrid storage aggregate block tracking
US8838891B2 (en) * 2012-04-13 2014-09-16 Lsi Corporation SSD cache expansion using overprovisioned space
US9110813B2 (en) * 2013-02-14 2015-08-18 Avago Technologies General Ip (Singapore) Pte Ltd Cache load balancing in storage controllers
US9760293B2 (en) * 2013-03-07 2017-09-12 Seagate Technology Llc Mirrored data storage with improved data reliability
JP6015700B2 (ja) * 2014-03-26 2016-10-26 日本電気株式会社 情報記憶装置および情報記憶方法
US9478274B1 (en) 2014-05-28 2016-10-25 Emc Corporation Methods and apparatus for multiple memory maps and multiple page caches in tiered memory
CN105224475B (zh) * 2014-05-30 2018-03-09 国际商业机器公司 用于调整存储装置的分配的方法和装置
JP6331773B2 (ja) * 2014-06-30 2018-05-30 富士通株式会社 ストレージ制御装置、およびストレージ制御プログラム
US9858185B1 (en) 2014-12-23 2018-01-02 Emc Corporation Multi-tier data storage using inclusive/exclusive burst buffer caching based on reference counts
US9747177B2 (en) * 2014-12-30 2017-08-29 International Business Machines Corporation Data storage system employing a hot spare to store and service accesses to data having lower associated wear
US9946471B1 (en) * 2015-03-31 2018-04-17 EMC IP Holding Company LLC RAID groups based on endurance sets
US10255180B2 (en) * 2015-12-11 2019-04-09 Netapp, Inc. Server-based persistence management in user space

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606714B1 (en) * 2000-04-17 2003-08-12 Western Digital Technologies, Inc. Disk drive using defect list to perform uninterrupted writing of non-relocated data blocks and caching of relocated data blocks for deferred writing
CN101006431A (zh) * 2004-08-04 2007-07-25 达西系统股份有限公司 执行容错磁盘阵列的预先重建
US8370597B1 (en) * 2007-04-13 2013-02-05 American Megatrends, Inc. Data migration between multiple tiers in a storage system using age and frequency statistics
US20110107031A1 (en) * 2009-11-05 2011-05-05 International Business Machines Corporation Extended Cache Capacity
US20120272005A1 (en) * 2010-12-13 2012-10-25 International Business Machines Corporation Saving log data using a disk system as primary cache and a tape library as secondary cache
CN103136118A (zh) * 2011-11-21 2013-06-05 西部数据技术公司 使用多层存储器的磁盘驱动数据缓存
CN102799390A (zh) * 2012-06-14 2012-11-28 国家超级计算深圳中心(深圳云计算中心) 能耗感知的协同式自适应预取方法和中间件
US20140019681A1 (en) * 2012-07-16 2014-01-16 Lsi Corporation High density disk drive performance enhancement system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020198913A1 (en) * 2019-03-29 2020-10-08 Intel Corporation Apparatus, method, and system for collecting cold pages
US11954356B2 (en) 2019-03-29 2024-04-09 Intel Corporation Apparatus, method, and system for collecting cold pages
CN110968266A (zh) * 2019-11-07 2020-04-07 华中科技大学 一种基于热度的存储管理方法及系统
CN114281269A (zh) * 2021-12-31 2022-04-05 中企云链(北京)金融信息服务有限公司 数据缓存方法以及装置、存储介质、电子装置
CN114281269B (zh) * 2021-12-31 2023-08-15 中企云链(北京)金融信息服务有限公司 数据缓存方法以及装置、存储介质、电子装置

Also Published As

Publication number Publication date
US20180300240A1 (en) 2018-10-18
CN108733313B (zh) 2021-07-23
US10860496B2 (en) 2020-12-08

Similar Documents

Publication Publication Date Title
CN108733313A (zh) 利用预备盘建立多级闪速缓存的方法、设备和计算机可读介质
CN105144142B (zh) 使用对象多个维度的信息存储对象
CN105786401A (zh) 服务器集群系统中的数据管理方法及装置
CN106843773A (zh) 存储方法和分布式存储系统
CN106547476A (zh) 用于数据存储系统的方法和装置
CN106610903A (zh) 层级化存储器系统、存储器控制器和去重及存储器层级化方法
CN108604165A (zh) 存储装置
CN104503703B (zh) 缓存的处理方法和装置
CN103080909A (zh) 计算机系统及其管理方法以及程序
JP2018084864A (ja) 情報処理装置、情報処理方法およびプログラム
CN101976181A (zh) 一种存储资源的管理方法及管理装置
CN109213696A (zh) 用于缓存管理的方法和设备
US11263080B2 (en) Method, apparatus and computer program product for managing cache
CN115576505B (zh) 一种数据存储方法、装置、设备及可读存储介质
US11347414B2 (en) Using telemetry data from different storage systems to predict response time
JP5447523B2 (ja) データ処理装置、データ記録方法、データ記録プログラム
CN108984566A (zh) 用于文件系统日志的方法和设备
CN101997919B (zh) 一种存储资源的管理方法及管理装置
CN109960662A (zh) 一种内存回收方法及设备
CN108733307A (zh) 存储管理方法、设备以及计算机可读介质
US20200133514A1 (en) Proactive copy in a storage environment
CN103699681A (zh) 数据回滚的处理方法和装置
CN109582235A (zh) 管理元数据存储方法及装置
JP2020177274A (ja) ストレージ装置、ストレージシステムおよびプログラム
US10359948B2 (en) I/O performance in heterogeneous storage environments

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant