CN109213693A - 存储管理方法、存储系统和计算机程序产品 - Google Patents
存储管理方法、存储系统和计算机程序产品 Download PDFInfo
- Publication number
- CN109213693A CN109213693A CN201710523421.6A CN201710523421A CN109213693A CN 109213693 A CN109213693 A CN 109213693A CN 201710523421 A CN201710523421 A CN 201710523421A CN 109213693 A CN109213693 A CN 109213693A
- Authority
- CN
- China
- Prior art keywords
- cache
- page
- ssd
- storage system
- cached
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/224—Disk storage
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本公开的实施例提供了一种存储管理方法、存储系统和计算机程序产品。该存储管理方法包括确定针对存储系统的硬盘中的第一页面的I/O请求的数目是否超出第一阈值。该存储管理方法还包括响应于确定所述数目超过所述第一阈值,将第一页面中的数据缓存至存储系统的第一高速缓存,以及将与所述第一页面相关联的元数据存储在存储系统的非易失性双列直插存储器模块(NVDIMM)中。
Description
技术领域
本公开的实施例涉及数据存储领域,并且更具体地,涉及在一种存储管理方法、存储系统以及计算机程序产品。
背景技术
高速缓存是一种特殊的存储器子系统,其存储了频繁使用的数据以利于CPU快速访问,因此高速缓存保证了计算机的运行速度。动态随机存取存储器(DRAM)高速缓存通过将数据透明地存储在DRAM中来改善计算机的性能,使得针对数据的请求能够被快速处理,通常大约为60微秒。但是DRAM高速缓存的成本是非常昂贵的,并且对DRAM高速缓存的容量也存在着硬件限制,例如存储器插槽限制和电池持续时间限制。
固态盘(SSD)高速缓存通过将数据透明地存储在SSD中来改善计算机的性能,使得针对数据的请求也能够被快速处理,通常大约小于1毫秒。与DRAM高速缓存相比,SSD高速缓存的成本较低并且容量较高。然而,在已有的SSD高速缓存的方案中,存在着浪费SSD磁盘的问题,从而在一定程度上增加了用户的成本。
发明内容
本公开的实施例提供一种存储管理方案。
根据本公开的第一方面,提供了一种存储管理方法。该存储管理方法可以包括确定针对存储系统的硬盘中的第一页面的I/O请求的数目是否超出第一阈值。该存储管理方法还可以包括响应于确定所述数目超过所述第一阈值,将第一页面中的数据缓存至存储系统的第一高速缓存,以及将与所述第一页面相关联的元数据存储在存储系统的非易失性双列直插存储器模块(NVDIMM)中。
根据本公开的第二方面,提供了一种存储系统。该存储系统可以包括非易失性双列直插存储器模块(NVDIMM)、硬盘、第一高速缓存以及控制器。控制器可以被配置为确定针对硬盘中的第一页面的I/O请求的数目是否超出第一阈值。控制器还可以被配置为响应于确定所述数目超过所述第一阈值,将第一页面中的数据缓存至第一高速缓存,以及将与第一页面相关联的元数据存储在NVDIMM中。
根据本公开的第三方面,提供了一种计算机程序产品,该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行时使机器执行上面所述的存储管理方法的步骤。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了常规的包括高速缓存的存储环境的示意图。
图2示出了已有的SSD高速缓存的示意图。
图3示出了在已有的SSD高速缓存中处理高速缓存命中的过程的示意图。
图4示出了具有闪速芯片的非易失性双列直插存储模块(NVDIMM)设备的示意图。
图5示出了根据本公开示例性实施例的存储系统的示意图。
图6示出了根据本公开示例性实施例的SSD高速缓存的示意图。
图7示出了根据本公开示例性实施例的存储管理方法的流程图。
图8示出了根据本公开示例性实施例的存储管理方法的流程图。
图9示出了根据本公开示例性实施例的将硬盘上的页面所存储的数据缓存至SSD高速缓存的方法的流程图。
图10示出了图9所示的方法中所使用的循环赛方法的示意图。
图11示出了根据本公开示例性实施例的将低耐久性SSD上缓存的数据缓存至相对较高耐久性SSD上的方法的流程图。
图12示出了可以用来实施本公开的实施例的示例设备的框图。
具体实施方式
下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的示例实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
图1示出了常规的包括高速缓存的存储环境100的示意图。环境100包括动态随机存取存储器(DRAM)高速缓存110、固态盘(SDD)高速缓存120以及硬盘(HDD)矩阵130。通常,DRAM高速缓存110处于IO数据路径的顶部,SSD高速缓存120处于DRAM高速缓存110之下,而HDD矩阵在SSD高速缓存120之下。
DRAM高速缓存110通过将数据透明地存储在DRAM中来改善性能,使得针对数据的请求能够被快速处理,通常大约为60微秒。通常,DRAM高速缓存110对最频繁访问的数据(最热数据)进行缓存。但是DRAM高速缓存的成本是非常昂贵的,每GB大概8-10美元。而且对DRAM高速缓存的容量也存在着硬件限制,例如存储器插槽限制和电池持续时间限制。通常DRAM高速缓存的容量大约是数十GB。
SSD高速缓存120通过将数据透明地存储在SSD中来改善性能,使得针对数据的请求能够也能够被较快地处理,通常大约小于1毫秒。SSD高速缓存120通常对次频繁访问的数据进行缓存。与DRAM高速缓存相比,SSD高速缓存的成本较低并且容量较高。对于SSD高速缓存而言,每GB的成本从小于1美元到若干美元不等,取决于所采用的技术。通常SSD高速缓存的容量大约为几百GB或TB。
SSD具有不同的技术,例如利用单级单元(SLC)技术实现的高耐久性(HE)SSD、利用多级单元(MLC)技术实现的中耐久性(ME)SSD以及利用三级单元(TLC)技术实现的低耐久性SSD。这些不同的技术具有不同的特性。例如,HE SSD每天能够承受30次的全盘写,ME SSD每天仅仅能够承受10次的全盘写,LE SSD每天能承受小于5次的全盘写。
HDD矩阵130由HDD组成,其用于存储所有的用户数据,并且服务于未被DRAM高速缓存110和SSD高速缓存120处理的I/O请求,其提供最慢的响应时间。多个HDD被组成磁盘阵列,以提供开放的容量和冗余。一些磁盘阵列可以提供几百TB甚至PB的容量。
在图1所示的环境100中,存在两种类型的高速缓存命中,即DRAM高速缓存命和SSD高速缓存命中。对于进入的I/O请求,DRAM高速缓存110先搜索其所缓存的数据,如果DRAM高速缓存110发现命中,则DRAM高速缓存110利用所缓存的数据对I/O请求进行响应。否则,如果DRAM高速缓存110发现未命中,则将该I/O请求转发给SSD高速缓存120。
响应于接收到DRAM高速缓存110转发的I/O请求,SSD高速缓存120将搜索其所缓存的数据。如果SSD高速缓存120发现命中,则利用所缓存的数据对I/O请求进行响应。否则,如果SSD高速缓存120发现未命中,则将I/O请求转发给HDD矩阵130。之后,从HDD矩阵130读取数据或向HDD矩阵130写入数据。
图2示出了已有的SSD高速缓存200的示意图。SSD高速缓存200可以用作图1中所示的环境100中的SSD高速缓存120。SSD高速缓存200是读写高速缓存。如果对SSD高速缓存200进行写操作,则会存在脏页(即,数据已经被写入高速缓存,但是尚未被回写到硬盘)。因此,为了确保不存在数据丢失,已有的SSD高速缓存200使用独立磁盘冗余阵列(RAID)技术来保护数据。两个SSD被组合成一个RAID-1组,SSD高速缓存200将由两个SSD组成的RAID-1组看作是一个设备。在图2中,示出了RAID-1组210、220、230和240,高速缓存200将它们视为设备0、设备1、设备2和设备3。在每一个SSD中都存储有频繁访问的数据以及与所存储的数据相关联的元数据。
由于已有的SSD高速缓存200是读写高速缓存,所以存在着耐久性(即SSD能够承受的写入的次数)的要求,需要支持每天多于25次的全盘写。因此,为了支持这一要求,需要在SSD高速缓存200中使用昂贵的HE SSD,并且需要多提供50%的空间。这浪费了昂贵的MESSD,并增加了用户的成本。
下面结合图3来详细描述发明人经过研究发现的已有SSD高速缓存所存在的问题。具体而言,图3示出了在图2中所示的已有SSD高速缓存中处理缓存命中的过程的示意图。在已有SSD高速缓存设计300中,与缓存页面相关联的元数据被存储在SSD 322中。如果存在写入请求,并且命中了SSD高速缓存310所缓存的页面,那么所缓存的页面先变为脏页,然后再由后台服务进程将其变为干净页。具体的过程如下:
动作1.SSD高速缓存310发现命中了其所缓存的页面,跳到动作2。
动作2.将与所缓存的页面相关联的元数据从干净页修改为脏页。由于在已有的SSD高速缓存设计300中,与所缓存的页面相关联的元数据是存储在SSD 322中的,所以,在修改元数据期间,存在着对SSD 322的一次写入。
动作3.将写请求所涉及的数据写入SSD 322。在该过程期间,存在着对SSD 322的一次写入。
动作4.对写入请求进行响应。
动作5.后台服务进程发现在SSD高速缓存中存在脏页,后台服务进程开始将脏页冲刷到HHD。在该过程期间,后台服务进程先从SSD读取数据(存在对SSD的一次读取)。
动作6.后台服务进程将动作5中从SSD 322读取的数据写入到HDD 324中,从而存在对HDD 324的一次写入。
动作7.将与SSD 322中的所缓存的页面相关联的元数据从脏页修改为干净页。在该步骤中,存在着对SSD 322的一次写入。
如图3所示的,一个SSD高速缓存命中将导致5次内部的I/O操作,其中有3次对SSD322的写入,一次对SSD 322的读取,而在3次对SSD 322的写入中,有2次是对与缓存页面相关联的元数据进行操作。可见,在已有的SSD高速缓存设计300中,由于对SSD 322的写入次数过多,所以为了满足耐久性的要求,可能不得不使用昂贵的HE SSD。而且,过多的写入次数也会影响对I/O请求的响应速度,从而影响单位时间内能够处理的I/O请求的数目。
本公开的示例性实施例提供了一种利用非易失性双列直插存储器模块(NVDIMM)来实现混合的SSD高速缓存的方案。在该方案中,使用NVDIMM设备来存储与SSD高速缓存所缓存的页面相关联的元数据。由于将与缓存页面相关联的元数据存储在NVDIMM上,而不是存储在SSD上,所以对于命中SSD高速缓存的一个写入请求而言,对元数据的修改将发生在NVDIMM上,而不是发生在SSD上,从而减少了对SSD的写入的次数。这样,可以使用相对比较便宜的ME SSD和LE SSD来建立SSD高速缓存,而无须全部使用昂贵的HE SSD。
进一步地,根据本公开的实施例,可以将HE SSD或ME SSD组合成RAID组,例如RAID-1组,以提供写高速缓存。在RAID-1组中存在至少两个SSD,使得如果一个SSD发生故障,可以避免数据丢失。单个的LE SSD可以作为读高速缓存。由于LE SSD仅仅是读高速缓存,所以LE SSD中的数据都是干净数据,从而在LE SSD发生故障时不存在数据丢失。这样,无须将LE SSD组织为RAID的形式。以这种方式,本公开充分利用了不同SSD技术的不同特性,利用各种耐久性的SSD实现了混合的SSD高速缓存。在降低用户成本的同时,提供了较大的容量,改善了SSD高速缓存的性能。
现在结合图4来描述在本公开中用于存储与缓存页面相关联的元数据的NVDIMM。图4示出了具有闪速芯片的非易失性双列直插存储模块(NVDIMM)设备400的示意图。NVDIMM是一种用于计算机的随机存取存储器。“非易失性”是指即使在由于非预期的电力损失、系统崩溃或正常关机而导致电力中断的情况下,存储器仍然能够保留其内容。“双列直插”表示其使用DIMM封装。NVDIMM改善了应用的性能、数据安全性以及系统崩溃恢复时间。如图4所示的,NVDIMM模块420经由直接媒体接口DMI利用DIMM协议与CPU410进行通信。NVDIMM模块420可以被实现为闪速芯片的形式。在本公开的实施例中,利用NVDIMM 420存储与缓存在SSD高速缓存中的页面相关联的元数据,这增强了SSD的耐久性和可靠性。
图5示出了根据本公开示例性实施例的存储系统500的示意图。应当理解,图5中所示的某些部件是可以省略的,而且在其他实施例中存储系统500还可以包括没有在此示出的其他部件。也即,图5所述的框图仅仅是为了在一个示例环境中描述本公开的实施例,以便帮助本领域技术人员理解在此描述的机制和原理,而无意以任何方式限制本公开的范围。
存储系统500包括存储处理器510和磁盘阵列520。存储处理器510包括中央处理单元(CPU)512、DRAM 514和NVDIMM 516。DRAM 514和NVDIMM 516均经由DMI接口与CPU 512进行通信。在存储处理器510内部,存在两个存储空间,即DRAM 514提供的存储空间和NVDIMM516提供的存储空间。如上文所描述的,NVDIMM516用于存储与缓存在SSD设备522中的页面相关联的元数据。
磁盘阵列520包括SSD设备522和HDD设备524。磁盘阵列520通过小型计算机系统接口(SCSI)与存储处理器510进行通信。在本公开示例性实施例中,SSD设备522用于缓存被频繁访问的页面。HDD设备524用于存储所有的用户数据。存储处理器510可以被配置为确定针对HDD设备524中的页面的I/O请求的数目是否超出阈值。存储处理器510还可以被配置为响应于确定该数目超过阈值,将该页面中的数据缓存至SSD设备522,以及将与该页面相关联的元数据存储在NVDIMM 516中。
由于与SSD设备522所缓存的页面相关联的元数据被存储在NVDIMM 516中,而不是存储在SSD设备522本身,所以在本公开的示例性实施例中,可以利用不同耐久性的SSD来构造混合SSD高速缓存。下面结合图6来详细描述本公开实施例所实现的混合SSD高速缓存。
图6示出了根据本公开实施例的混合SSD高速缓存600的示意图。混合SSD高速缓存600可以包括第一SSD高速缓存230、240、250(即,设备2、设备3、设备4)和第二SSD高速缓存210、220(即,设备0、设备1)。为了简洁起见,仅仅示出了三个第一SSD高速缓存和两个第二SSD高速缓存,但是本领域技术人员应当理解的是,在不脱离本公开的范围的情况下,可以包括任意数量的第一SSD高速缓存和第二SSD高速缓存。
在本公开的示例性实施例中,与存储在第一SSD高速缓存230、240和250中的缓存页面相关联的元数据被存储在NVDIMM模块中。由于元数据没有被存储在第一SSD高速缓存230、240和250,所以第一SSD高速缓存230、240和250可以是读高速缓存,使得第一SSD高速缓存230、240和250中只存储干净页。第一SSD高速缓存230、240和250中的每一个都可以只包括单个的LE SSD,而不需要利用RAID技术来实现冗余。进一步地,由于第一SSD高速缓存230、240和250只存储干净页,所以即使单个LE SSD发生故障,也不会导致数据丢失(因为该干净页还存储在硬盘上)。
第二SSD高速缓存210和220可以是写高速缓存。为了防止数据丢失,第二SSD高速缓存210和220每一个都可以包括至少两个SSD,例如HE SSD或ME SSD。所述至少两个SSD被设计为RAID-1组,以防止数据丢失。如上面所描述的,与缓存在第二SSD高速缓存210和220中的页面相关联的元数据被存储在NVDIMM模块中,能够减少对第二SSD高速缓存210和220写入次数,从而第二SSD高速缓存210和220不必采用昂贵的HE SSD来满足耐久性的要求,而是可以采用相对便宜的ME SSD。
在图6中所示的混合高速缓存600中,通过将与缓存页面相关联的元数据存储在NVDIMM中,而不是存储在SSD中,能够将廉价的、但是能够承受的写入次数较少(即耐久性较差)的LE SSD用作读高速缓存以只存储干净页,并能够将相对昂贵的、但是耐久性较强的MESSD或HE SSD用作RAID-1形式的写高速缓存以存储脏页,从而充分地利用了各种SSD的特性,在相同的硬件成本的情况下,能够提供更大容量的SSD高速缓存系统。另一方面,由于元数据大小通常比较小,所以更新NVDIMM中的元数据会快速地完成,从而改善了I/O的响应时间。简而言之,本公开的方案利用NVDIMM增强了整个SSD高速缓存系统的耐久性并改善了系统的性能。
图7示出了根据本公开示例性实施例的存储管理方法700的流程图。在框702,可以确定针对存储系统的硬盘的第一页面的I/O请求的数目是否超出第一阈值。例如,可以通过在预定的时间段内对针对第一页面的I/O请求进行计数来确定该数目。
在框704,可以响应于确定该数目超出第一阈值,而将第一页面中的数据缓存至存储系统的第一高速缓存。在示例性实施例中,第一高速缓存可以包括低耐久性的SSD,例如LE SSD,用于存储干净页。在框706,可以将与第一页面相关联的元数据存储在存储系统的NVDIMM中。与第一页面相关联的元数据可以包括第一页面的状态(干净页或脏页)、与第一页面相关联的映射信息等。在示例性实施例中,可以将表示第一页面是干净页的元数据存储在NVDIMM中。
在方法700中,由于与缓存页面相关联的元数据被存储在NVDIMM中,而不是存储在第一高速缓存上,所以针对元数据的操作发生在NVDIMM上,而不是发生在第一高速缓存上,从而与已有方案相比可以减少与I/O请求相关联的对第一高速缓存的写入。这样,就可以使用耐久性较低的SSD来实现第一高速缓存,从而降低用户的成本。另外,由于NVDIMM位于存储处理器内部,并且元数据的大小通常较小,所以可以快速地完成对元数据的更新,进而可以改善I/O请求的响应时间,从而使得单位时间内能够处理的I/O请求的数目更多。
图8示出了根据本公开示例性实施例的存储管理方法800的流程图。方法800是对图7中所示方法700的进一步改进。在框802,可以确定针对存储系统的硬盘的第一页面的I/O请求的数目是否超出第一阈值。在框804,可以响应于确定该数目超出第一阈值,而将第一页面中的数据缓存至存储系统的第一高速缓存。在框806,可以将与第一页面相关联的元数据存储在存储系统的NVDIMM中。框802、804和806分别类似于图7中的框702、704和706。
在框808,响应于接收到针对已缓存的第一页面的写请求,将第一页面中的数据缓存至第二高速缓存。在示例性实施例中,第一高速缓存可以是读优先高速缓存,第二高速缓存可以是写高速缓存。第一高速缓存可以包括耐久性比较低的SSD,例如LE SSD。第二高速缓存可以包括被组织成RAID的至少两个耐久性较高的SSD,例如ME SSD或HE SSD。
在框810,可以将写请求所涉及的数据写入第二高速缓存。例如,可以在第二高速缓存中给该数据分配存储空间,然后将该数据写入所分配的存储空间。在框812,可以释放第一页面中的数据在第一高速缓存上所占用的存储空间。
在框814,可以更新NVDIMM中的与第一页面相关联的元数据。在示例性实施例中,可以将第一页面的状态修改为脏页。可以将与第一页面相关联的映射信息修改为指示第一页面被映射到第二高速缓存。
在方法800中,将与缓存页面相关联的元数据存储在NVDIMM中,将干净页缓存在第一高速缓存(例如LE SDD),将脏页缓存在第二高速缓存(例如ME SSD或HE SSD)。从而对元数据进行修改将发生在NVDIMM中,而不是发生在高速缓存中,这样可以减少对SSD的写入次数,使得可以在高速缓存中使用耐久性较低但相对便宜的SSD,而无须全部使用昂贵的高耐久性的SSD。并且,由于存储脏页的第二高速缓存被组织成RAID的形式,所以可以防止脏数据丢失。
在示例性实施例中,为了减少在高速缓存与硬盘之间移动数据的开销,以及减少对NVDIMM的元数据更新,可以使用按需的冲刷策略,即对于第二高速缓存,设置一个冲刷阈值和一个限制阈值。只有在第二高速缓存中的已缓存页面的数目超过冲刷阈值,才将第二高速缓存中的这些已缓存页面冲刷到硬盘。如果第二高速缓存中的已缓存页面的数目超过限制阈值,则对进入第二高速缓存的写I/O请求的数目进行限制。为此,方法800还可以包括可选框816、818和820。
在可选的框816,可以响应于第二高速缓存上的已缓存页面的数目超过第二阈值(即冲刷阈值),将已缓存页面冲刷到硬盘。例如,如果已缓存的脏页在第二高速缓存中占据的存储空间超过了第二高速缓存的整个存储空间的80%,则可以开始将这些脏页冲刷到硬盘。在可选框818,可以将已被冲刷到硬盘的已缓存页面的状态修改为干净页。
在可选框818,可以响应于第二高速缓存上的已缓存页面的数目超过第三阈值(即限制阈值),限制进入第二高速缓存的写请求的数目。可以向上层驱动程序发送限制进入第二高速缓存的写请求的数目的指示,来使得上层驱动程序向第二高速缓存发送较少的写请求。也可以通过延迟对进入第二高速缓存的写请求的响应,来限制进入第二高速缓存的写请求的数目。
图9示出了根据本公开示例性实施例的将HDD上的页面缓存至SSD高速缓存的方法900的流程图。方法900是图7中所示方法700的一种具体实现方式。应该了解的是,方法700不仅仅局限于这一种实现方式。在方法900中,如果SSD高速缓存发现某些数据满足被提升到SSD高速缓存的条件,则可以先将该数据提升到LE SSD。具体过程如下所示。
在框902,可以接收针对一个页面的I/O请求。在框904,可以确定该I/O请求是否命中SSD高速缓存。如果在框904确定该I/O请求命中了SSD高速缓存,则方法900可以前进到框906。在框906,可以从SSD高速缓存读取I/O请求所针对的数据或者将I/O请求所涉及的数据写入SSD高速缓存。
如果在框904确定该I/O请求没有命中SSD高速缓存,则方法900可以前进到框908。在框908,可以对I/O请求的信息进行记录,例如记录该I/O请求所针对的页面、该页面的访问频率等。在框910,可以从HDD读取数据或者将数据写入HHD。在框912,可以基于该页面的访问频率来确定该页面是否达到提升阈值,该提升阈值表示需要将该页面提升到SSD高速缓存。如果在框912确定没有达到提升阈值,则方法900可以前进到框902,以继续接收下一I/O请求。
如果在框912确定已经达到提升阈值,则方法可以前进到框916。在框916,可以例如利用循环赛方法从SSD高速缓存的多个LE SDD中选择一个LE SDD。图10示出了循环赛方法1000的示意图。在图10中,假设在SSD高速缓存中存在三个LE SSD,即第一SSD 1001、第二SSD 1002和第三SSD 1003。循环赛方法为:第①次选择第一SSD1001,第②次选择第二SSD1002,第③次选择第三SSD 1003,第④次选择第一SSD 1001,第⑤次选择第二SSD 1002,第⑥次选择第三SSD1003,第⑦次选择第一SSD 1001,第⑧次选择第二SSD 1002,第⑨次选择第三SSD 1003,以此类推。
在框918,可以在所选择的LE SDD中选择一个空闲的页面。在框920,可以将该I/O请求所针对的HDD上的数据缓存在所选择的空闲的页面上。在框920,可以在NVDIMM模块中更新与所缓存数据相关联的元数据。
在图9所示的方法900中,将页面提升至LE SSD只需要对LE SSD进行一次写入,元数据将经由DMI通过DMI协议直接被更新到NVDIMM中。从而,使得低耐久性的LE SSD也能够用于SSD高速缓存。
图11示出了根据本公开示例性实施例的将低耐久性SSD上缓存的页面缓存至相对较高耐久性SSD上的方法1100的流程图。方法1100是图8中所示方法800的框808-框814的一种具体实现方式。应该理解的是,方法800的框808-框814不仅仅局限于这一种实现方式。
在框1102,可以接收针对一个页面的写请求。在框1104,可以确定该写请求是否命中SSD高速缓存。如果在框1104确定没有命中SSD高速缓存,则方法1100可以前进到框1118。在框1118,可以记录该写请求的信息,例如该写请求所针对的页面、该页面被访问的频率等等。在框1112,可以将写请求所涉及的数据写入HDD。
如果在框1104确定命中了SSD高速缓存,则方法1100可以前进到框1106。在框1106,可以确定命中的页面是否是缓存在LE SDD中的干净页。如果在框1106确定命中的页面是缓存在LE SSD中的干净页,则方法1100可以前进到框1108,否则方法1100可以前进到框1110。
在框1108,可以设置重新映射标志,重新映射标志用于表示需要重新映射命中的页面。在框1110,将写请求所涉及的数据写入RAID-1组形式的较高耐久性SSD中。在框1112,可以通过确定是否设置了重新映射标志,来确定是否需要重新映射命中的页面。如果在框1112确定不需要重新映射,则方法1100可以前进到框1102,以接收下一写请求。
如果在框1112确定需要重新映射,则方法1100可以前进到框1114。在框1114,可以在NVDIMM中更新与该写请求所针对的页面相关联的元数据。在框1116,可以释放该页面在LE SSD上所占用的空间。通过方法1100,可以将脏页存储在RAID-1组形式的较高耐久性的SDD中,从而确保了在一个SSD发生故障的情况下脏数据不会丢失。
图12示出了可以用来实施本公开的实施例的示例设备1300的示意性框图。如图所示,设备1200包括中央处理单元(CPU)1201,其可以根据存储在只读存储器(ROM)1202中的计算机程序指令或者从存储单元1208加载到随机访问存储器(RAM)1203中的计算机程序指令,来执行各种适当的动作和处理。在RAM 1203中,还可存储设备1200操作所需的各种程序和数据。CPU 1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(I/O)接口1205也连接至总线1204。
设备1200中的多个部件连接至I/O接口1205,包括:输入单元1206,例如键盘、鼠标等;输出单元1207,例如各种类型的显示器、扬声器等;存储单元1208,例如磁盘、光盘等;以及通信单元1209,例如网卡、调制解调器、无线通信收发机等。通信单元1209允许设备1200通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元1201执行上文所描述的各个方法和处理,例如方法700、方法800、方法900或方法1100。例如,在一些实施例中,方法700、方法800、方法900或方法1100可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1208。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1202和/或通信单元1209而被载入和/或安装到设备1200上。当计算机程序加载到RAM1203并由CPU 1201执行时,可以执行上文描述的方法700、方法800、方法900或方法1100的一个或多个步骤。备选地,在其他实施例中,CPU 1201可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法700、方法800、方法900或方法1100。
本领域的技术人员应当理解,上述本公开的方法的各个步骤可以通过通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
应当理解,尽管在上文的详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
以上所述仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。
Claims (17)
1.一种存储管理方法,包括:
确定针对存储系统的硬盘中的第一页面的I/O请求的数目是否超出第一阈值;
响应于确定所述数目超过所述第一阈值,
将所述第一页面中的数据缓存至所述存储系统的第一高速缓存;以及
将与所述第一页面相关联的元数据存储在所述存储系统的非易失性双列直插存储器模块(NVDIMM)中。
2.根据权利要求1所述的方法,还包括:
响应于接收到针对已缓存的所述第一页面的写请求,
将所述第一页面中的所述数据缓存至所述存储系统的第二高速缓存;
释放所述第一页面中的所述数据在所述第一高速缓存上的空间;
将所述写请求所涉及的数据写入所述第二高速缓存;以及
更新所述NVDIM中的与所述第一页面相关联的所述元数据。
3.根据权利要求2所述的方法,其中所述第一高速缓存包括第一耐久性的固态盘,所述第二高速缓存包括被组织为磁盘冗余阵列(RAID)的至少两个第二耐久性的固态盘,其中所述第二耐久性比所述第一耐久性高。
4.根据权利要求3所述的方法,其中所述第一高速缓存是读优先高速缓存,并且所述第二高速缓存是写高速缓存。
5.根据权利要求2所述的方法,其中更新与所述第一页面相关联的所述元数据包括:
将所述第一页面的状态修改为脏页;以及
将与所述第一页面相关联的映射信息修改为指示所述第一页面被映射至所述第二高速缓存。
6.根据权利要求2所述的方法,还包括:
响应于所述第二高速缓存上的已缓存页面的数目超过第二阈值,将所述已缓存页面冲刷到所述硬盘;以及
将所述已缓存页面的状态修改为干净页。
7.根据权利要求2所述的方法,还包括:
响应于所述第二高速缓存上的已缓存页面的数目超过第三阈值,限制进入所述第二高速缓存的写请求的数目。
8.根据权利要求7所述的方法,其中限制进入所述第二高速缓存的写请求的数目包括以下之一:
向上层驱动程序发送限制进入所述第二高速缓存的写请求的数目的指示;以及
延迟针对进入所述第二高速缓存的写请求的响应。
9.一种存储系统,包括:
非易失性双列直插存储器模块(NVDIMM);
硬盘;
第一高速缓存;以及
控制器,所述控制器被配置为:
确定针对所述硬盘中的第一页面的I/O请求的数目是否超出第一阈值;
响应于确定所述数目超过所述第一阈值,
将所述第一页面中的数据缓存至所述第一高速缓存;以及
将与所述第一页面相关联的元数据存储在所述NVDIMM中。
10.根据权利要求9所述的存储系统,还包括第二高速缓存,所述控制器还被配置为:
响应于接收到针对已缓存的所述第一页面的写请求,
将所述第一页面中的所述数据缓存至所述第二高速缓存;
释放所述第一页面中的所述数据在所述第一高速缓存上的空间;
将所述写请求所涉及的数据写入所述第二高速缓存;以及
更新所述NVDIM中的与所述第一页面相关联的所述元数据。
11.根据权利要求10所述的存储系统,其中所述第一高速缓存包括第一耐久性的固态盘,所述第二高速缓存包括被组织为磁盘冗余阵列(RAID)的至少两个第二耐久性的固态盘,其中所述第二耐久性比所述第一耐久性高。
12.根据权利要求11所述的存储系统,其中所述第一高速缓存是读优先高速缓存,并且所述第二高速缓存是写高速缓存。
13.根据权利要求10所述的存储系统,其中更新与所述第一页面相关联的所述元数据包括:
将所述第一页面的状态修改为脏页;以及
将与所述第一页面相关联的映射信息修改为指示所述第一页面被映射至所述第二高速缓存。
14.根据权利要求10所述的存储系统,所述控制器还被配置为:
响应于所述第二高速缓存上的已缓存页面的数目超过第二阈值,将所述已缓存页面冲刷到所述硬盘;以及
将所述已缓存页面的状态修改为干净页。
15.根据权利要求10所述的存储系统,所述控制器还被配置为:
响应于所述第二高速缓存上的已缓存页面的数目超过第三阈值,限制进入所述第二高速缓存的写请求的数目。
16.根据权利要求15所述的存储系统,其中限制进入所述第二高速缓存的写请求的数目包括以下之一:
向上层驱动程序发送限制进入所述第二高速缓存的写请求的数目的指示;以及
延迟针对进入所述第二高速缓存的写请求的响应。
17.一种计算机程序产品,所述计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至8中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710523421.6A CN109213693B (zh) | 2017-06-30 | 2017-06-30 | 存储管理方法、存储系统和计算机程序产品 |
US16/021,286 US10761989B2 (en) | 2017-06-30 | 2018-06-28 | Method of storage management, storage system and computer program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710523421.6A CN109213693B (zh) | 2017-06-30 | 2017-06-30 | 存储管理方法、存储系统和计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109213693A true CN109213693A (zh) | 2019-01-15 |
CN109213693B CN109213693B (zh) | 2023-05-05 |
Family
ID=64961068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710523421.6A Active CN109213693B (zh) | 2017-06-30 | 2017-06-30 | 存储管理方法、存储系统和计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10761989B2 (zh) |
CN (1) | CN109213693B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110058786A (zh) * | 2018-01-18 | 2019-07-26 | 伊姆西Ip控股有限责任公司 | 用于控制存储系统中的写请求的方法、装置和计算机程序产品 |
CN111694507A (zh) * | 2019-03-13 | 2020-09-22 | 三星电子株式会社 | 计算环境中的存储缓存/分层期间加速任务的装置和方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110058964B (zh) * | 2018-01-18 | 2023-05-02 | 伊姆西Ip控股有限责任公司 | 数据恢复方法、数据恢复系统和计算机可读介质 |
CN111124951B (zh) | 2018-10-31 | 2023-09-15 | 伊姆西Ip控股有限责任公司 | 管理数据访问的方法、设备和计算机程序产品 |
US11016909B2 (en) * | 2019-08-26 | 2021-05-25 | International Business Machines Corporation | Cache page retention based on page cost |
US11340900B2 (en) | 2020-05-01 | 2022-05-24 | EMC IP Holding Company LLC | Flushing dirty pages from page buffers indicated by non-sequential page descriptors |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136118A (zh) * | 2011-11-21 | 2013-06-05 | 西部数据技术公司 | 使用多层存储器的磁盘驱动数据缓存 |
CN103207836A (zh) * | 2012-01-16 | 2013-07-17 | 百度在线网络技术(北京)有限公司 | 一种用于固态存储硬盘的写方法及写装置 |
CN103473185A (zh) * | 2013-09-06 | 2013-12-25 | 华为数字技术(苏州)有限公司 | 缓存写入的方法、缓存装置和存储系统 |
CN103631528A (zh) * | 2012-08-21 | 2014-03-12 | 苏州捷泰科信息技术有限公司 | 用固态硬盘作为缓存器的读写方法、系统及读写控制器 |
CN103631536A (zh) * | 2013-11-26 | 2014-03-12 | 华中科技大学 | 一种利用ssd的无效数据优化raid5/6写性能的方法 |
CN103885728A (zh) * | 2014-04-04 | 2014-06-25 | 华中科技大学 | 一种基于固态盘的磁盘缓存系统 |
US8959284B1 (en) * | 2010-06-28 | 2015-02-17 | Western Digital Technologies, Inc. | Disk drive steering write data to write cache based on workload |
US20150067258A1 (en) * | 2013-08-28 | 2015-03-05 | Samsung Electronics Co., Ltd. | Cache management apparatus of hybrid cache-based memory system and the hybrid cache-based memory system |
WO2015054897A1 (zh) * | 2013-10-18 | 2015-04-23 | 华为技术有限公司 | 数据存储方法、数据存储装置和存储设备 |
US9026737B1 (en) * | 2011-06-29 | 2015-05-05 | Emc Corporation | Enhancing memory buffering by using secondary storage |
US9104582B1 (en) * | 2011-12-29 | 2015-08-11 | Juniper Networks, Inc. | Optimized data storage |
CN105138292A (zh) * | 2015-09-07 | 2015-12-09 | 四川神琥科技有限公司 | 磁盘数据读取方法 |
US20160103764A1 (en) * | 2014-10-09 | 2016-04-14 | Netapp, Inc. | Methods and systems for cache management in storage systems |
CN105917318A (zh) * | 2012-07-24 | 2016-08-31 | 英特尔公司 | 用于实现基于ssd的i/o高速缓存的系统和方法 |
CN106170773A (zh) * | 2014-01-09 | 2016-11-30 | 桑迪士克科技有限责任公司 | 用于裸芯上缓冲式非易失性存储器的选择性回拷 |
US9575686B2 (en) * | 2014-06-26 | 2017-02-21 | Rambus Inc. | Memory controller system with non-volatile backup storage |
CN106547477A (zh) * | 2015-09-22 | 2017-03-29 | 伊姆西公司 | 用于在线地减少缓存设备的方法和装置 |
US20170185645A1 (en) * | 2015-12-23 | 2017-06-29 | Sybase, Inc. | Database caching in a database system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9229864B1 (en) | 2013-03-15 | 2016-01-05 | Emc Corporation | Managing metadata synchronization for reducing host system latency in a storage system |
US9280467B1 (en) | 2013-03-15 | 2016-03-08 | Emc Corporation | Metadata flushing using additive increase and multiplicitive decrease to determine a number of IO processes used |
CN106933493B (zh) | 2015-12-30 | 2020-04-24 | 伊姆西Ip控股有限责任公司 | 用于缓存盘阵列扩容的方法及设备 |
CN106933494B (zh) | 2015-12-31 | 2019-10-18 | 伊姆西公司 | 混合存储设备的操作方法和装置 |
US9959058B1 (en) | 2016-03-31 | 2018-05-01 | EMC IP Holding Company LLC | Utilizing flash optimized layouts which minimize wear of internal flash memory of solid state drives |
US10409778B1 (en) | 2016-08-19 | 2019-09-10 | EMC IP Holding Company LLC | Data services for software defined storage system |
CN107870732B (zh) | 2016-09-23 | 2020-12-25 | 伊姆西Ip控股有限责任公司 | 从固态存储设备冲刷页面的方法和设备 |
US9959074B1 (en) | 2016-11-29 | 2018-05-01 | EMC IP Holding Company LLC | Asynchronous in-memory data backup system |
CN108228082B (zh) | 2016-12-21 | 2021-04-02 | 伊姆西Ip控股有限责任公司 | 存储系统和用于存储控制的方法 |
-
2017
- 2017-06-30 CN CN201710523421.6A patent/CN109213693B/zh active Active
-
2018
- 2018-06-28 US US16/021,286 patent/US10761989B2/en active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8959284B1 (en) * | 2010-06-28 | 2015-02-17 | Western Digital Technologies, Inc. | Disk drive steering write data to write cache based on workload |
US9026737B1 (en) * | 2011-06-29 | 2015-05-05 | Emc Corporation | Enhancing memory buffering by using secondary storage |
CN103136118A (zh) * | 2011-11-21 | 2013-06-05 | 西部数据技术公司 | 使用多层存储器的磁盘驱动数据缓存 |
US9104582B1 (en) * | 2011-12-29 | 2015-08-11 | Juniper Networks, Inc. | Optimized data storage |
CN103207836A (zh) * | 2012-01-16 | 2013-07-17 | 百度在线网络技术(北京)有限公司 | 一种用于固态存储硬盘的写方法及写装置 |
CN105917318A (zh) * | 2012-07-24 | 2016-08-31 | 英特尔公司 | 用于实现基于ssd的i/o高速缓存的系统和方法 |
CN103631528A (zh) * | 2012-08-21 | 2014-03-12 | 苏州捷泰科信息技术有限公司 | 用固态硬盘作为缓存器的读写方法、系统及读写控制器 |
US20150067258A1 (en) * | 2013-08-28 | 2015-03-05 | Samsung Electronics Co., Ltd. | Cache management apparatus of hybrid cache-based memory system and the hybrid cache-based memory system |
CN103473185A (zh) * | 2013-09-06 | 2013-12-25 | 华为数字技术(苏州)有限公司 | 缓存写入的方法、缓存装置和存储系统 |
WO2015054897A1 (zh) * | 2013-10-18 | 2015-04-23 | 华为技术有限公司 | 数据存储方法、数据存储装置和存储设备 |
CN103631536A (zh) * | 2013-11-26 | 2014-03-12 | 华中科技大学 | 一种利用ssd的无效数据优化raid5/6写性能的方法 |
CN106170773A (zh) * | 2014-01-09 | 2016-11-30 | 桑迪士克科技有限责任公司 | 用于裸芯上缓冲式非易失性存储器的选择性回拷 |
CN103885728A (zh) * | 2014-04-04 | 2014-06-25 | 华中科技大学 | 一种基于固态盘的磁盘缓存系统 |
US9575686B2 (en) * | 2014-06-26 | 2017-02-21 | Rambus Inc. | Memory controller system with non-volatile backup storage |
US20160103764A1 (en) * | 2014-10-09 | 2016-04-14 | Netapp, Inc. | Methods and systems for cache management in storage systems |
CN105138292A (zh) * | 2015-09-07 | 2015-12-09 | 四川神琥科技有限公司 | 磁盘数据读取方法 |
CN106547477A (zh) * | 2015-09-22 | 2017-03-29 | 伊姆西公司 | 用于在线地减少缓存设备的方法和装置 |
US20170185645A1 (en) * | 2015-12-23 | 2017-06-29 | Sybase, Inc. | Database caching in a database system |
Non-Patent Citations (1)
Title |
---|
杨小琴: "闪存数据库:现状、技术与展望", 《科技展望》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110058786A (zh) * | 2018-01-18 | 2019-07-26 | 伊姆西Ip控股有限责任公司 | 用于控制存储系统中的写请求的方法、装置和计算机程序产品 |
CN110058786B (zh) * | 2018-01-18 | 2022-12-02 | 伊姆西Ip控股有限责任公司 | 用于控制存储系统中的写请求的方法、装置和计算机程序产品 |
CN111694507A (zh) * | 2019-03-13 | 2020-09-22 | 三星电子株式会社 | 计算环境中的存储缓存/分层期间加速任务的装置和方法 |
CN111694507B (zh) * | 2019-03-13 | 2024-05-10 | 三星电子株式会社 | 计算环境中的存储缓存/分层期间加速任务的装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20190057035A1 (en) | 2019-02-21 |
US10761989B2 (en) | 2020-09-01 |
CN109213693B (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109213693A (zh) | 存储管理方法、存储系统和计算机程序产品 | |
US9798472B1 (en) | Extent level cache destaging | |
CN102449607B (zh) | 具有多个闪存封装的存储系统 | |
KR102152238B1 (ko) | 단편화를 해결하는 메모리 세그먼트 재매핑 | |
EP2685384B1 (en) | Elastic cache of redundant cache data | |
US11093410B2 (en) | Cache management method, storage system and computer program product | |
CN102150147A (zh) | 存储器服务器 | |
CN104115109A (zh) | 具有多个非易失性半导体存储单元的存储装置及其用于在具有较高残留寿命长度的存储单元中放置热数据而在具有较低残留寿命长度的存储单元中放置冷数据的控制方法 | |
CN105095116A (zh) | 缓存替换的方法、缓存控制器和处理器 | |
CN107241913A (zh) | 信息处理装置 | |
CN105917318A (zh) | 用于实现基于ssd的i/o高速缓存的系统和方法 | |
CN103092766A (zh) | 一种用于nand flash的均衡损耗实现方法 | |
CN102945207A (zh) | 一种块级数据的缓存管理方法及系统 | |
CN104854554A (zh) | 储存转换层 | |
CN103198020B (zh) | 一种提高闪存使用寿命的方法 | |
CN101714065A (zh) | 一种闪存控制器的映射信息管理方法 | |
CN104375954A (zh) | 基于工作负载实施动态的高速缓存启用和禁用 | |
CN109164976A (zh) | 利用写缓存优化存储设备性能 | |
US11379326B2 (en) | Data access method, apparatus and computer program product | |
CN105786721A (zh) | 一种内存地址映射管理方法及处理器 | |
CN110537172A (zh) | 混合存储器模块 | |
CN106919342A (zh) | 基于自动精简配置的存储资源分配方法和装置 | |
CN203191967U (zh) | 计算机系统 | |
KR20220162605A (ko) | 메모리 시스템에서 페이지 마이그레이션을 위한 시스템, 방법 및 장치 | |
JP2014026589A (ja) | 情報処理装置、情報処理プログラム、及び情報処理方法 |
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 |