CN104487952A - 用于闪存存储的i/o访问模式专用 - Google Patents
用于闪存存储的i/o访问模式专用 Download PDFInfo
- Publication number
- CN104487952A CN104487952A CN201380038857.6A CN201380038857A CN104487952A CN 104487952 A CN104487952 A CN 104487952A CN 201380038857 A CN201380038857 A CN 201380038857A CN 104487952 A CN104487952 A CN 104487952A
- Authority
- CN
- China
- Prior art keywords
- volatile solid
- memory devices
- state memory
- sector
- write
- 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.)
- Pending
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
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/222—Non-volatile memory
-
- 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/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供高效使用固态设备的系统和方法。一些实施例为使用非易失性固态设备作为循环记录的数据处理系统,提供了对准到底层、隐藏设备实现的数据访问模式的目标,以最大限度地提高性能。此外,元数据可穿插数据,以使数据访问模式与底层设备实现对准。还可使用多个输入/输出(I/O)缓冲器,来将元数据和数据的插入成线性日志。观察到的多个I/O缓冲器的排队行为可被用于确定存储设备的利用率何时接近饱和(例如,为了预测过长的响应时间)。然后,当利用接近饱和时,存储设备上的I/O负载可被卸除。其结果是该系统的总响应时间得到改善。
Description
相关申请的交叉引用
本申请要求2012年5月22日提交的美国专利申请号13/477,966的优先权,其全部内容通过引用方式被合并于此。
技术领域
本文所公开的各种实施例通常涉及固态存储设备。更具体地,一些实施例涉及用于优化固态存储设备写入的系统和方法。
背景技术
可使用各种类型的非易失性存储介质,例如,相对高延时(即,更长的访问时间)的硬盘驱动器设备(HDD)和相对低延时(即,更短的访问时间)的固态设备(SSD),诸如闪存或DRAM来存储信息。HDD通常提供良好的数据流性能(例如,大型顺序的块的读取或“磁道读取”),但在随机存取(即,单个磁盘扇区的读与写)方面由于缓慢的访问时间表现并不出色。另一方面,SSD则因为它的相对低的延时更适合于随机和频繁的存储器访问。由于没有移动部件,SSD没有HDD体验的机械延迟导致的高延时,并且寻道时间显著降低,使得SSD非常快。
闪存通常被接受为存储器层次结构中的DRAM和磁盘之间的新层。就每千兆字节(GB)的成本而言,DRAM的容量比闪存的容量更昂贵,闪存的容量比硬盘的容量更昂贵。与此同时,DRAM的延时小于闪存,而闪存的延时小于硬盘。其结果是,闪存存储器的每次输入/输出(I/O)操作的成本介于DRAM和磁介质之间。在存储器层次结构中的这种位置常使闪存存储器成为缓存的理想介质。
尽管闪存和其它固态存储器有时会为提供与SCSI或SATA驱动器相同的接口,但固态存储器和SCSI或SATA驱动器之间的底层的操作,实现和性能上可能大不相同。例如,其中一个主要差别是,SSD中的存储位置需要在信息可被写入到它们之前被擦除。设备通常在比传统的写入单元(扇区)大的擦除单元(擦除块)中被擦除。即使有了这些操作差异,SSD经常使用为HDD开发的输入/输出接口。其结果是,基于为HDD开发的算法的SSD存储器的集成和实现可能无法获得SSD存储器的全部益处,因为算法并未对基于SSD的存储的特性进行优化。因此,需要改进的技术以更有效地使用闪存和其它固态设备。
概述
这里介绍各种实施例通常涉及用于为闪存或其它非易失性固态存储设备定制输入/输出(I/O)的访问模式的系统和方法。一些实施例使用此定制创建对闪存友好的缓存算法。这些技术连同各种相关的组件和操作,能够更高效地利用非易失性固态设备(例如,闪存设备,电池供电的RAM,以及其它)。例如,与硬盘驱动器不同,从固态驱动器擦除数据相比写操作通常需要更多的时间。其结果是,执行擦除以回收空闲扇区与执行擦除以回收全擦除扇区块相比价值较低。因此,在这里描述的一些实施例中,仅在为擦除块的整数倍时,对固态存储设备执行写操作。此外,硬盘驱动器通常将元数据与数据分离以最小化寻道时间。然而,由于寻道时间与固态设备无关,在许多实施例中,元数据可以与数据混合。
在某些实施例中,非易失性的固态驱动器具有相关的转换层来映射逻辑扇区地址到非易失性固态驱动器中的物理地址,非易失性固态驱动器被视为循环日志用于(例如,在主机端缓存中)存储数据,而数据以写入单元被写入非易失性固态驱动器,这些写入单元的大小是非易失性固态驱动器的擦除块的大小的整数倍。由于至少一些非易失性固态驱动器必须在写入之前以擦除块被擦除,技术的组合,以及其上的变化,将数据访问模式对齐到底层、隐藏设备实现以提高性能。
本发明的实施例还包括其它的方法、具有各种组件的系统,以及包含指令集以使一个或多个处理器执行所述方法、所述方法的变型,以及本文描述的其它操作的计算机可读存储介质。虽然多个实施例已被公开,本发明的其它实施例对于本领域技术人员从下面的详细描述中仍将变得明显,其中显示并描述了本发明的说明性实施例。将要被认识到的是,本发明能够在各个方面进行修改,所有这些都不脱离本发明的范围。因此,附图和具体实施例应被认为是说明性的而不是限制性的。
附图说明
本发明的实施例将通过附图的使用被描述并说明,其中:
图1示出了处理系统的框图,其中这里介绍的技术的一些实施例可被实现或利用;
图2是示出非易失性固态存储器设备的组件的框图;
图3是示出非易失性固态存储器设备的扇区、页面和擦除块的示例的框图;
图4是示出用于处理提交到非易失性固态存储设备的写请求的过程的流程图;
图5是示出用于操作基于页面替换策略的非易失性固态存储器设备的过程的流程图;
图6是示出用于卸除来自与非易失性固态存储器设备相关的队列的写请求和/或读取请求的过程的流程图;
图7是示出通过旁路非易失性固态存储设备来改善主机端的非易失性固态设备缓存的性能的过程的流程图。
附图并不必然按比例绘制。例如,附图中一些元件的尺寸可以扩大或缩小,以帮助改善对本发明的实施例的理解。同样,出于对本发明的一些实施例的讨论的目的,一些组件和/或操作可被分成不同的块或组合成单个的块。此外,虽然本发明可修改为各种修改和替换形式,具体的实施例已通过附图中的示例的方式示出,并在之后被详细描述。然而,这并不旨在将本发明限制于所描述的特定实施例。与此相反,本发明意在涵盖由所附权利要求限定的落入本发明的范围之内的所有修改、等价物和替代。
具体实施例
基于闪存的固态存储设备(SSD)和其它SSD提供了随机存取接口,并且有时伪装成SCSI或SATA磁盘驱动器。然而,底层实现和性能配置与磁盘驱动器大不相同。在通常情况下,磁盘驱动器在磁盘上具有物理扇区,这些物理扇区以与由随机存取接口导出的逻辑扇区相同的顺序被布置。例如,扇区n与扇区n+1物理上相邻,写扇区n..(n+m)将大约占写扇区n..(n+2m)的时间的一半。执行一个磁盘写操作所需要的时间是有效确定的,并且由写入的大小,磁盘的物理特性和状态(即,被写入扇区的数目、盘头的起始位置,以及盘片的转速)诱导。一旦盘头被适当地定位,到写扇区n..(n+m)的时间由驱动器的物理特性来确定。
尽管闪存驱动器通常提供了与磁盘驱动器相同的接口,但实现是非常不同的。其中一个主要的差别是,闪存存储器需要在写入之前被擦除,并且在大于传统写单元(扇区)的单元(擦除块)中被擦除。为了有效地伪装成磁盘驱动器,常规的闪存驱动器使用闪存转换层(FTL)软件。FTL映射一组逻辑扇区地址到大的多的物理存储池,通常并不试图映射逻辑扇区n到物理扇区n。当数据写入到闪存驱动器时,FTL在当前未分配的物理存储器中存储该数据,保持来自与该数据相关的逻辑扇区号到保存该数据的物理扇区的映射。当逻辑扇区被重写时,FTL并不试图在相同的物理扇区中存储新的数据;相反,它将旧的逻辑到物理的映射标志为无效,将旧的物理扇区标记为可重新使用,并且将新的数据写入到不同的物理扇区。如果这个过程继续下去,这将最终导致所有的物理存储被填满。
为了防止闪存驱动器被完全填满,并使存储可用,SSD通常提供比逻辑存储更多的物理存储。此外,FTL执行清理(有时被称为“垃圾收集”)。清理过程通常包括选择一个或多个擦除块的物理存储的区域,确定区域中哪一个扇区仍然是有效的,复制扇区到存储的可用区域,更新这些扇区的逻辑到物理的映射,然后执行区域的批量擦除。区域中的无效扇区将导致可用物理扇区的净增长。
不幸的是,擦除操作耗费相当多的时间,比写操作多得多。其结果是,写入闪存驱动器的时间取决于驱动器有多“脏”(有多少空闲空间是当前可用的),空间如何分布在驱动器中,在执行清理工作的背景下FTL有怎样的侵略性,驱动器有多少空闲时间,以及许多其它因素。
这里提出的技术的各种实施例减少必需整理的量。在一些实施例中,被公开的技术用于从设备中(例如,招致低时间开销或低延迟),写入元数据和数据到闪存存储设备以提供高性能。这些技术的一个应用是在缓存中(例如,主机端闪存缓存,或诸如在网络中的其它类型的闪存缓存,服务器上的虚拟机管理程序等)。
一些实施例提供了使用非易失性固态设备(例如,闪存存储设备)作为循环记录的数据处理系统,其目标是对准到底层、隐藏设备实现,以最大限度地提高性能。例如,写入块可以是该装置的擦除块的整数倍。此外,元数据(描述性数据)可穿插数据成为线性日志,以使数据访问模式与底层设备对准。一些实施例也使用清理线性日志条目的技术,通过使用预读或根据替代算法的规避。也可使用多个输入/输出(I/O)缓冲器传输元数据和数据的插入成线性日志。观察到的多个I/O缓冲器的排队行为可被用于确定存储设备的利用率何时接近饱和(例如,为了预测过长的响应时间)。然后,当利用接近饱和时,存储设备上的I/O负载可被卸除至包含完全相同的数据备份的后备存储。其结果是该系统的总响应时间得到改善。
图1示出了处理系统100的框图,其中这里介绍的技术的一些实施例中可被利用。在图1所示的实施例中,处理系统100包括主机100,其具有使用管理程序115与存储服务器120进行交互的虚拟机112。如图1所示,存储服务器120包括通过系统总线125互连的一个或多个处理器122、具有缓冲缓存138的存储器124、网络适配器126,以及存储适配器128。
管理程序115是虚拟机管理器(VMM),它允许多个操作系统在一台主计算机上同时运行。管理程序115为操作系统提供了虚拟操作平台。在许多情况下,各种操作系统的多个实例可共享虚拟化硬件资源。在本发明的各种实施例中,管理程序115可使用连接到主机110的SSD 117A(例如,PCIe闪存卡)的非易失性固态缓存,以通过虚拟磁盘上的实时虚拟机迁移和数据管理操作使缓存能够一致。用于写入元数据和数据的公开的技术可以同固态缓存被使用以提高性能(例如,降低开销时间或延时)。
每个主机110和虚拟机112可根据信息传输的客户端/服务器模型与存储服务器120进行交互。也就是说,例如通过在网络160上交换数据包,主机110可以请求存储服务器120的服务,系统可以返回由主机110请求的服务的结果。当访问文件形式的信息时,虚拟主机110可发出数据包,其包括基于文件的访问协议,如通用互联网文件系统(CIFS)协议或利用TCP/IP的网络文件系统(NFS)协议。或者,当访问LUNs或块的形式的信息时,主机110可发出数据包,其包括基于块的访问协议,如利用TCP封装的小型计算机系统接口(SCSI)(iSCSI)和利用光纤通道协议(FCP)封装的SCSI。
存储服务器120可以是计算机,其提供可写的,持久性的存储介质,诸如SSD和HDD上与信息组织有关的存储服务。存储服务器120还包括存储操作系统200,其实现文件系统在逻辑上组织存储的数据作为电子存储介质140和磁存储介质150上逻辑数据容器(例如,卷,逻辑单元,目录和/或文件)的分层结构。
本领域的技术人员可以理解的是,这里介绍的技术可以适用于实施为或具有包括独立计算机的存储服务器或其部分的任何类型的专用计算机(例如,文件服务器或存储服务设备)或通用计算机。尽管图1示出了单片的,非分布式存储服务器120,但各个实施例适用于其它类型的存储配置(例如,存储配置集群)。此外,本说明书的教导可以适用于多种存储服务器架构,包括但不限于,网络附加存储(NAS)、存储区域网络(SAN),或者直接连到客户端或主机计算机的存储设备组合。因此,术语“存储服务器”,应广义理解以包括这些安排,这些安排包括提供对数据基于文件的访问,对数据基于块的访问,或两者的存储服务器。
存储器124包括可由处理器122和适配器寻址的并且可以存储软件程序和数据结构的存储位置,以执行本文描述的技术。处理器122和适配器又可以包括配置用于执行软件程序和操控数据结构的处理元件和/或逻辑电路。存储操作系统,它的各部分可以驻留在存储器124中,并且可以由处理器122执行,在功能上通过调用存储操作组织存储服务器,以支持服务器120上执行的软件处理。其它存储器机制,如各种计算机可读介质,可以替代地用于存储和执行涉及这里描述的实施例,这对本领域技术人员是显而易见的。电子存储介质140和磁存储介质150被配置用于提供持久的、可写的存储空间,其能够在存储服务器120断电或的其它故障的情况下保持数据。因此,电子存储介质140和磁存储介质150可被实施为大容积存储器阵列。
网络适配器126包括通过网络160连接存储服务器120到主机110所需要的电路和机械组件,其可包括点对点(P2P)连接,或共享介质。网络160可以是任何一组能够交换信息的互连设备。在一些实施例中,网络160可以少到局域网(LAN)中的若干个人计算机、专用计算机,和/或通用计算机或大到因特网。在一些情况下,网络160可以包括多个(私人和/或公共)网络,即使多个异构网络,例如一个或多个边界网络、宽带网络、服务提供者网络,因特网服务提供商(ISP)网络,和/或公共交换电话网(PSTN),经由网关操作以促进不同网络之间的通信互连。
存储适配器128配合存储服务器120上执行的存储操作系统200访问由主机110请求的信息。信息可被存储在电子存储介质140和磁存储介质150上,它们说明性地被实施为SSD和HDD。存储适配器包括I/O接口电路,其通过I/O互连布置,诸如常规的高性能光纤通道串行链路拓扑结构,耦接到SSD 140和HDD 150。信息可由存储适配器128获取,并且如果有必要,可在通过系统总线125被转发到网络适配器126之前,由处理器122(或适配器128)处理,在网络适配器126信息被格式化成数据包,并且返回到主机110。
在图示的实施例中,缓冲缓存138是存储器124的一部分。然而,这是通过举例的方式,并不旨在限制因为缓冲缓存138也可以通过例如,点对点连接,与存储器耦接。另外,缓冲缓存138可以与存储器124分开、是存储器124的一部分,或是处理器122的一部分。一般情况下,缓冲缓存存储器,诸如缓冲缓存138中,包括较小的,低延时(更快)的存储器,诸如RAM(例如,DRAM),其可操作以降低执行存储器访问的平均时间。缓冲缓存通常存储来自存储器124中最经常使用的位置的数据的副本,以便当存储器访问被执行时,缓冲缓存可以首先被检查,以确定是否请求的数据位于其中,并且,如果是这样,数据可以从缓冲缓存138中而不是从持久性存储介质,诸如SSD或HDD中被访问。缓冲缓存,诸如缓冲缓存138可以这种方式,通过避免访问持久性存储器获取数据,减少存储器访问时间。
图2是示出非易失性固态存储器设备200的组件的框图。非易失性固态存储器设备200可以在任何不同场所,出于任何不同目的,在存储环境中被使用。例如,非易失性固态存储设备200可以是主机端缓存或处理系统100中用于磁盘后备存储的缓存。如图2中所示的非易失性固态存储器设备200的实施例包括运行FTL软件的FTL220的控制器210、临时存储设备230,以及均具有多个用于存储数据单元的闪存存储器芯片240A-240H。控制器210接受并响应经由总线(例如,PCIe、SATA、SAS、FC或其它总线)而来的请求,并且与闪存存储器芯片240A-240H交互。这样,控制器210通常包括电子设备(例如,嵌入式处理器),其桥接闪存芯片240A-240H(例如,NAND存储器组件)到主机/客户端计算机、总线,或服务器。
控制器210可以执行多种功能,包括但不限于垃圾收集、加密、缓存(读取和写入)、纠错及其它。通常,FTL软件220可包括在控制器上(例如,在嵌入式处理器上)运行的软件。FTL 220映射逻辑(客户端)扇区和页面地址到物理(内部)页面地址。当新的数据被发送到闪存驱动器时,FTL 220在驱动器的闪存存储器芯片240A-240H上找到合适的未使用的空间,并且在那里存储数据。在许多实施例中,FTL 220使用内部数据结构以跟踪逻辑和物理地址之间通信。
在闪存芯片240A-240H中的每个存储器单元可以处于空闲状态、使用状态,或无效状态。空闲状态表示该存储单元未存储任何数据。使用状态表示存储单元正在存储一些数据。无效状态表示存储在存储器单元中的数据不再有效。标记为无效的单元必须在新的数据可以被写入到这个单元之前被擦出。然而,如图3中的更多细节所示,大多数非易失性固态存储器设备只能以块的形式被擦除。
图3是示出与非易失性固态存储器设备相关的扇区、页面和擦除块的示例的框图。典型的传统的SSD,诸如闪存设备,允许客户端读/写512字节的扇区310,但其以页面320(通常为2KB,4KB或8KB)来实现。大多数固态硬盘必须在任何写操作可以发生在这些位置之前,擦除目标存储位置以产生空闲空间。其中一个示例是NAND闪存。擦除的最小单位被称为擦除块330。擦除块可以是32,64,128,或其它数字的页数。
由于从SSD擦除数据通常比写入数据到SSD需要更多时间,提高驱动花费在执行擦除操作上的时间的效率可导致显著的性能改进。例如,执行擦除以回收一个空闲扇区比执行擦除以回收扇区的全擦除块价值较低。这里介绍的技术的各种实施例将被写入的块对准无效的块。在一些实施例中,一次可写出扇区的擦除块的i整数倍。i倍擦除块的大小的区域可以大致同时被无效并被分配。这将导致在具有充分价值的擦除操作。
存储器设备的擦除块的大小最初可能并非已知。一些实施例通过使用各种信息和因素,诸如设备的类型,制造商等估计擦除块的大小。估计从2j扇区大小的j的擦除块开始。然后,2k扇区的写入块可以被写入设备,其中k被选择为足够大,至少与j一样大。这将导致该驱动器在每一个操作无效,擦除,以及写入2k-j的擦除块。这是与擦除可发生以回收一个写入扇区或扇区数小于擦除块的大小的操作非易失性固态存储器的常规方法是形成对比的。
传统地,元数据(描述性数据)被写入并与它描述的数据是分开存储的。对于磁盘存储,元数据可以被存储在连续的区域,使得元数据可以在少量I/O被读取,需要少量磁盘寻道操作的情况下。然而,SSD并不表现寻道时间延迟,所以动机并不适用。在一些实施例中,元数据可以与数据混合。
各种实施例可延迟特定的数据项或元数据项到非易失性固态存储设备的写入一段时间并缓冲写入直到数据和元数据的2k扇区已累积后。在某些情况下,这可能不是所希望的。一个示例是存储系统,其使用闪存作为缓存用于磁盘后备存储,并且其需要在经历不定期的中断,诸如电源故障或系统崩溃时,保持缓存状态有效。在这种情况下,在确认完成存储系统发起缓存的状态的修改的读或写操作之前,以待存储在闪存存储上的数据和元数据所反映的缓存的状态的变化必须立即提交闪存存储。
一些非易失性固态存储设备包含电源保护RAM写缓冲器。这个缓冲器允许闪存设备快速完成一个写请求,而不实际将数据写入闪存。非易失性固态存储设备中的控制电力保护RAM写缓冲器的逻辑,在缓冲器被写入闪存存储器(刷新)时具有控制策略。通常,当写请求不按顺序跟随前面的写操作被接收到,或以其它方式不写入当前缓冲的写入的临近地址时,缓冲器被刷新。如果缓冲器在含有少于一个完整的擦除块时被刷新,以上讨论的性能优势可能会丢失。
在一些实施例中,当2K扇区的部分填充的区域必须提交到闪存存储,并且闪存存储设备包括电保护的RAM写缓冲器时,附加的技术可以被使用。例如,部分填充的区域的整体可被写入到非易失性固态存储设备。写入可以开始于通常被用于完全填充区域的地址。当部分填充区域填充,随后的提交继续写入部分填充区域的整体到非易失性固态存储设备。每个后续写入可以开始于通常被用于完整填充区域的下一个地址,即使整个区域将不被完全填充。这导致在覆盖部分填充区域的起始扇区,但具有兼容电力保护缓冲器刷新策略的非易失性固态存储设备将不刷新它们的缓冲器,直到整个擦除块已被写入。
在一些实施例中,仅该部分填充的区域的新修改的扇区被写入到非易失性固态存储设备。它们被写入相同的地址好像整个区域已被写入。这导致仅最后写入的最后扇区的覆盖,但有具有兼容电源保护缓冲器刷新策略的非易失性固态存储设备将不刷新它们的缓冲器,直至整个擦除块已被写入。
在其它实施例中,粗粒度技术可以被用于提供耐久性。非易失性固态存储设备上公知的扇区可被选择以包含“异常关闭”指示器指示存储设备的不受控制的关机(例如,停电)。异常关闭的指示器可以小至一个位。当存储设备初始化,通过同步写含有它的扇区异常关闭指示器持续地被设置为正确状态。当有序的关闭时,对非易失性固态存储设备的I/O停顿。一旦所有未完成的对非易失性固态存储设备的I/O已经完成,异常关闭指示器被设置为错误。如果计划外的中断意外地关闭存储设备,异常关闭指示器将在正确状态。可以使用该异常关闭器指示器以确定非易失性固态存储设备中的内容是否可以被信任。错误的值将指示非易失性固态存储设备的内容可以被信任。正确的值将指示非易失性固态存储设备的内容是可能不一致,因此应被忽略。
仅对整数个擦除块写入的技术在许多其它应用中也可以是有利的。一个示例是当非易失性固态存储设备被用作循环日志。图4是流程图,其示出了过程400,用于处理提交到被用作循环记录的非易失性固态存储设备的写请求,以允许用于利用存储资源的高效,可预测的过程。根据本发明的各种实施例,过程400中的一个或多个操作可以通过各种系统组件,诸如图2中的控制器210实现。接收操作410接收写请求,以写入数据到非易失性固态存储设备(例如,闪存驱动器)。确定操作420确定将数据写入到存储设备所需要的扇区数量。例如,扇区数可以通过向上舍入数据的大小除以扇区的大小的结果到最接近的整数来确定。
在一些实施例中,多个写入块的扇区已在逻辑上(例如,由扇区管理器或控制器)划分为对应于非易失性固态存储设备的擦除块的大小的整数倍的大小。与循环日志相关的扇区可以被排序以便定位操作430将每个连续的写操作定位到存储设备上的下一顺序的扇区的范围。一旦到达设备的终点,定位操作430可在扇区的起始重新开始。例如,如果w是2k,则扇区0..(w-1)的第一个被写入,接着是扇区w..(2w-1),再接着是2w..(3w-1),直到到达驱动器的逻辑终点。在这一点上,定位操作430可绕回来并且将写操作对准写入块0..(w-1)。
一旦扇区已被确定,分配操作440写出当前存储在下一顺序的扇区的数据条目,将相关的单元的状态改为无效,以及分配单元以允许数据被写入。然后,写操作450写入来自对扇区的请求的数据。
一旦非易失性固态存储设备满时,循环日志环绕到逻辑扇区的起始。在这一点,在通过使用分配操作440将日志中旧的元数据和数据条目覆盖之前,必须先将它们擦除(因为固态设备不允许写入到当前正在使用而不首先擦除它们的位置)。术语“页面替换策略”指用于清理这些旧的日志条目的策略或对策。一些通常已知的页面替换策略,诸如CLOCK,可以保存旧的元数据和数据条目的子集。其它页面替换策略,诸如先进先出(FIFO),将在先逐出所有条目。如图5中更详细的描述,一些实施例适应性地发出基于页面替换策略的日志清理操作。
如现参照图5所描述的,一些实施例发出基于页面替换策略的日志清理操作。图5是示出用于操作基于页面替换策略的非易失性固态存储器设备的过程500的流程图。根据页面替换策略的类型,旧的条目可能需要在它们被逐出之前被读取。过程500中操作可以由非易失性固态存储设备内的控制器或与存储设备或存储系统相关联的处理器来执行。页面替换确定操作510确定存储系统的页面替换策略。然后,基于页面替换策略类型,判定操作520确定页面替换策略是否保存数据(而不是逐出所有数据)。
如果页面替换策略可能保存旧的元数据和数据条目的子集,那么判定操作520分支到读操作530。读操作530读取的旧条目到存储器(例如,图2中的DRAM 230),并评估它们是否抵触页面替换策略。评估操作540确定读入内存的旧的条目是否应该被保存。在一些实施例中,在它们需要被进行处理前,读操作530可以读取来自闪存存储设备的旧的条目到存储器。在一些实施例中,日志被顺序地写入,这些条目可以提前被读取,因此,包含这些条目的日志块将不被写入,直到条目已被评估为抵触页面替换策略。发布到闪存存储设备的提前读操作的次数可由系统管理员或智能管理软件动态地控制。
如果页面替换策略不保存旧的元数据和数据项(即逐出所有条目),那么判定操作520分支到逐出操作550。逐出操作550自动逐出旧的数据条目而不读取数据。其结果是,所有的日志清理读操作被消除,由于它们是不必要的。页面替换策略从存储器中的数据结构逐出旧的条目,而不是评估旧的条目。通过消除这些读操作,闪存存储设备的性能通过避免不必要的操作得到提高。
在一些实施例中,写和/或读操作到/从非易失性固态存储器设备进行排队。存储器设备的利用率可以作为队列的性质(例如,深度,队列深度的变化率等)的函数被估计。如果,例如,存储器设备被用作缓存,并且使用率太高,则绕过缓存可能是有利的,这个过程被称为“卸除”读或写操作。图6是示出用于重新定向(卸除)来自与非易失性固态存储器设备相关的队列的写请求和/或读取请求的过程的流程图。与处理600相关的一个或多个操作可以由处理器、存储操作系统、FTL,或其它硬件组件执行。当多个写操作排队到非易失性固态存储设备时,存储设备的利用率可以通过观察或监测由监测操作610执行的写入(或读取)的队列深度来推断。
估计操作620生成非易失固态存储器设备的利用率的估计。估计可以至少部分地基于监测操作610确定的队列深度。例如,如果写缓冲器的有限池接近空时(即,队列深度是大),非易失性固态存储器可以被推断为运行在接近100%的利用率。如果写缓冲器的有限池接近满时(即,队列深度是小),非易失性固态存储器设备可以被推断为运行在接近0%的利用率。当运行在接近100%的利用率时,新提交的I/O请求由于等待队列中在它之前的I/O的完成而导致的排队延迟,将经历很长的反应时间。
一旦估计已经被生成,第一阈值判定操作630确定利用率的估计是否超过第一阈值。如果不是,则判定操作630分支回到监测操作610以继续对写队列深度监测。如果判定操作630确定第一阈值已被超过,则操作630分支到第二阈值判定操作640,以确定利用率的估计是否超过第二阈值。如果第二阈值未被超过,则判定操作640分支到写卸除操作650。第一和第二阈值可以基于被监测的系统执行由系统管理员,由存储操作系统,或其它部件或与存储系统相关的子系统适应性地设置。
写卸除操作650重新定向(卸除)写队列中的写请求(例如,由读未命中导致的非必要的写操作)到第二存储设备。例如,对于使用闪存存储设备的存储系统作为用于一些后备存储的缓存,或其中的数据在一些其它后备存储和闪存存储中可用的一些其它的组织,后备存储的总的I/O容量(吞吐量)可能超过闪存存储设备的。除了闪存存储设备的之外,后备存储至少提供了一些I/O容量。如果I/O的需求超过了闪存设备的I/O容量(也就是,I/O的需求将超过闪存存储设备的100%利用率),存储系统可以通过卸除来自闪存存储设备的负载提高系统的整体性能,并在必要时,通过使用后备存储满足I/O请求。
具体地,使用非易失性固态设备(例如,闪存)的缓存存储系统的范围内,当到存储设备的写队列的大小超过某个阈值时,系统可以通过丢弃到缓存存储设备的非必要写操作,来选择卸除负载。非必要的写操作的一个示例是作为缓存中的读未命中或写入到缓存的结果,进入缓存储存设备中的新数据的写操作。如果对某位置的写操作已经进入缓存中,而数据可能不被写入到缓存存储设备中,使旧的缓存条目无效的元数据仍必须被写入闪存存储设备。然而,这个元数据比数据小得多,所以最终结果是仍然在闪存存储设备上I/O负载的减少。未进入缓存的写请求必须通过直接将数据写入到后备存储器来处理。未进入缓存的读未命中可以简单地被丢弃。
如果第二阈值判定操作640确定到闪存存储设备的写队列的大小超过更大的第二阈值,则系统可以通过使用卸除操作660丢弃非必要的读操作(除了非必要写的操作)选择卸除来自缓存存储设备额外负载。非必要的读操作一个示例是满足缓存读取命中的闪存读操作。读请求可以通过从后备存储器,而不是闪存存储设备的读取来处理,只要该数据请求不唯一地驻留在缓存中(例如,缓存使用直写或绕回写策略,或缓存使用回写策略,但请求的数据没有被标记为仅在缓存可用)。卸除操作660然后分支到监测写队列深度的监测操作610。
除了卸除(或重定向)写请求,在本发明的一些实施例可以针对非必要的操作绕过缓存存储。在计算机的存储系统中,存储缓存经常具有比后备存储更短的服务时间,但也具有较低的总I/O容量(最大吞吐量)。在这种系统中,在某些高级别的I/O需求,用于访问缓存的响应时间将超过用于直接访问后备存储的响应时间,由于在访问缓存的底层存储中的大的排队延迟。在这一级别的I/O的需求,系统可以通过针对非必要的操作绕过缓存存储来提供更好的性能。例如,系统可以通过直接自后备存储服务读I/O请求,而不是自缓存服务读I/O请求,来提供更好的性能。
现有的缓存旁路机制聚焦于CPU缓存,在CPU缓存在缓存存储和后备存储的服务时间和最大吞吐量之间没有不对称。在这样的缓存中,缓存旁路机制的目的是为了识别将不被再次引用的数据的地址,并避免缓存这样的数据,因为缓存它会使无用的数据污染缓存,从而降低缓存命中率。与此相反,这里讨论的各种实施例适用的是缓存存储和后备存储的服务时间和最大吞吐量之间有不对称的情形。这并不试图识别不应通过它的地址被缓存的数据,而是基于缓存上的I/O总需求相对于缓存存储设备的可用的I/O容量的当前的比,做出机会判定。
图7是当设备上的负载过高,获取来自后备存储的数据更快速时,示出了用于通过绕过非易失性固态存储设备改善主机端的非易失性固态设备(例如,闪存)缓存的性能的过程的流程图。与过程700相关的一个或多个操作可以由处理器、存储操作系统或旁路逻辑执行。在一些实施例中,旁路逻辑不需要将缓存逻辑耦接到存储设备的I/O响应时间的直接测量;它自包含在缓存算法内。
如图7所示,访问估计操作710估计预期响应时间,访问给定的I/O需求的当前级别的缓存。访问估计操作可以连续地、周期性地、以预先确定的时间表地,和/或在检测到一个或多个事件时执行。旁路估计操作720估计绕过缓存的预期响应时间,并且直接访问后备存储。估计这些数值的技术如下描述。如果比较操作730确定访问缓存的预期响应时间是小于或等于直接访问后备存储预期响应时间,那么比较操作730分支到缓存被访问的缓存访问操作750。如果比较操作730确定访问缓存的预期响应时间大于直接访问后备存储的预期响应时间,这时,比较操作730分支到判定操作760,以确定缓存的访问是否必要。
缓存的访问对缓存的正确操作可能是必要的,在这种情况下,它不会绕过缓存。必要操作的一个示例是当数据将被覆盖时,使缓存中现有数据无效。必要操作的另一示例是当缓存包含数据唯一的当前的副本时,读取来自回写缓存的数据。非必要操作的一个示例是当数据被写入时,在缓存中插入数据。非必要操作的另一示例是当后备存储中存在数据的当前副本时,读取来自回写或直写缓存的数据。如果缓存访问不是必要的,则判定操作760分支到旁路操作770,其中系统绕过缓存并直接访问后备存储。对于读和写操作,如果缓存访问是必要的,判定操作760分支到缓存访问操作750,其中缓存被访问。
在各种实施例中,缓存存储和后备存储的预期响应时间可使用基于排队理论的模型来估计,由缓存逻辑做出的测量作为对模型的输入。例如,缓存逻辑可以维持缓存和后备存储的平均响应时间和当前平均队列深度的测量。给定测量的平均响应时间为tr和测量的平均队列深度为N,我们可以使用Little定律表达平均服务时间ts为:
ts=tr/N
预期的瞬时响应时间tri可以简化当前瞬时队列深度Ni乘以平均服务时间ts:
tri=Nits
如果操作对缓存是非必要的,并且后备存储的预期响应时间小于缓存存储的预期响应时间,则缓存逻辑可以计算这些预期响应时间并引导I/O绕过缓存。
在一些实施例中,预期响应时间可以通过使用缓存存储和/或后备存储的响应时间的抽样模型和测量而不是完整的统计被估计。例如,缓存逻辑仅提交写操作,而不是提交所有缓存存储上的操作。这减少了旁路算法的CPU开销成本,因为仅有操作的一小部分引起性能测量代码的开销成本。
在其它实施例中,预期响应时间可以通过使用缓存存储和/或后备存储的响应时间的抽样的模型和测量被定性地估计,而不是定量地估计。当操作的采样集的当前瞬时队列深度大时(即,当存在大量未解决的采样操作时),预期的响应时间大。当缓存存储的预期响应时间大,而后备存储的预期响应时间小,那么如果操作对缓存是非必要的,则缓存逻辑引导I/O绕过缓存。
缓存存储的预期响应时间可以通过使用上述的方法之一来估计,但后备存储的预期响应时间可以被估计为常数,该常数基于实验室中使用代表性的I/O工作负载获得的性能测量结果。
缓存命中率的缓存旁路效果可以通过优先选择非必要的操作的类型以绕过。当缓存存储的预期响应时间接近后备存储的预期响应时间时,旁路逻辑首先选择绕过不太优选的操作,诸如插入到缓存的新写数据,但不绕过更优选的操作,诸如服务来自缓存的读命中。当缓存存储的预期响应时间超过了后备存储的预期相应时间时,旁路逻辑绕过所有非必要的操作,只留下对缓存的正确操作必要的操作。
在各个实施例中,缓存管理所有到缓存存储设备的写操作,附加到循环记录。它维护的空闲缓冲器的固定大小的池来填充,然后异步写入在缓存存储设备上的日志。在缓存存储设备上进展中的写操作的数目可以通过从池的大小减去池中的空闲缓冲器的当前数量来推断,并且如上所述,可被用于定性估计缓存存储的响应时间。当空闲缓冲器的数目变得小于(通过建模,或者通过实验测量试探性地决定的)某一阈值,缓存逻辑开始绕过在缓存中插入新写数据,以及插入来自缓存读未命中的数据。如果新写数据覆盖已在缓存中的数据,它必须仍然进入无效状态。当空闲缓冲器的数量变得小于较低的第二阈值时,除了继续绕过在缓存中插入新写入的数据以及插入来自缓存的读未命中之外,缓存逻辑开始绕过命中缓存的读操作,只要缓存不包含数据仅有的最新副本。这些实施例的优点是,它们不需要收集关于每个I/O响应时间统计的开销,并且具有仅访问缓存日志记录代码本地的数据结构的软件结构优点,从而避免缓存软件模块和其它外部模块的耦接,例如用于缓存存储和后备存储的设备驱动。
这里介绍的技术可以被实施为专用硬件(例如,电路),或者作为可编程电路适当地用软件和/或固件编程,或者作为专用和可编程电路的组合。因此,实施例可以包括其上存储有可用于对计算机(或其它电子设备)编程以执行处理的指令的机器可读介质。机器可读介质可以包括,但不限于软盘、光盘、光盘只读存储器(CD-ROM),以及磁光盘、ROM、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存,或其它类型的适于存储电子指令的介质/机器可读介质。
在本说明书中,短语“在一些实施例中”、“根据各种实施例”、“实施例中所示”、“在其它实施例中”,以及类似物通常表示以下短语之后的特定的特征、结构或特性被包括在本发明的至少一个实施例中,并且可被包括在本发明的一个以上实施例中。此外,这些短语并不必然涉及相同的实施例。
尽管本发明的一个或多个实施例的详细描述已在上文给出,各种替代、修改和等同物在不脱离本发明的精神的情况下,对本领域的技术人员将是显而易见的。例如,尽管上文描述的实施例涉及具体的特征,但本发明的范围还包括具有不同的特征的组合的实施例,以及不包括所有的描述的特征的实施例。因此,本发明的范围旨在涵盖在本权利要求书的范围之内的所有这样的替代、修改,以及变化,以及所有的等同物。因此,以上描述不应被视为对由本发明的权利要求限定的范围的限制。
Claims (24)
1.一种方法,包括:
在处理系统中,识别以待被写入非易失性固态存储设备的数据,所述非易失性固态存储设备,包括多个擦除块,每个擦除块包括多个写扇区,所述非易失性固态存储设备具有相关联的转换层以将逻辑扇区地址映射到所述非易失性固态存储设备中的物理地址;以及
使用所述非易失性固态存储设备作为用于存储所述数据的循环记录,包括以写入单元将所述数据写入所述非易失性固态存储设备中,其所述写入单元的大小是所述非易失性固态存储设备的擦除块的大小的整数倍。
2.根据权利要求1所述的方法,其中所述非易失性固态存储设备运行作为后备存储的缓存,所述方法进一步包括:
通过
估计访问所述非易失性固态存储设备的第一预期响应时间;
估计访问后备存储的第二预期响应时间;以及
当所述第二预期响应时间小于所述第一预计的响应时间时,访问所述后备存储以满足所述请求;
来响应访问存储设备是必需的条件,确定目标存储设备以引导所述访问,其中所述访问可通过访问所述缓存被满足。
3.根据权利要求1所述的方法,进一步包括:
在所述非易失性固态存储设备中接收多个写操作,所述写操作包含以待写入的所述数据;以及
将所述多个写操作定位至所述非易失性固态存储设备上的顺序的写扇区。
4.根据权利要求1所述的方法,进一步包括
在缓冲器中存储所述以待写入的数据直到所述缓冲器包含写单元的数据;以及
将所述写单元数据自所述缓冲器写入所述非易失性固态存储设备。
5.根据权利要求1所述的方法,其中将所述数据写入所述非易失性固态存储设备包括将关于所述数据的元数据散置到的所述写入到所述写单元的数据中。
6.根据权利要求1所述的方法,进一步包括:
估计所述非易失性固态存储设备的所述擦除块的所述大小;以及
设定所述写单元的大小为所述擦除块大小的所述估计的整数倍。
7.一种处理系统,包括:
处理器;
与所述处理器耦接的存储器;以及
与所述处理器耦接的非易失性固态存储设备,所述非易失性固态存储设备包括:
扇区管理器,其将非易失性固态存储设备的多个单元逻辑分组成具有对应于所述非易失性固态存储设备的擦除块的大小的整数倍的大小的扇区;以及
控制器,其接收来自所述处理器的写请求并确定所述非易失性固态存储设备的扇区以在将与所述写请求相关联的数据与写入到所述扇区之前,对所述扇区进行写出,无效,以及分配。
8.根据权利要求7所述的处理系统,其中所述非易失性固态存储设备包括用于处理所述写请求的多个通道,并且所述存储系统进一步包括用于对所述写请求进行排队的多个缓冲器。
9.根据权利要求7所述的处理系统,其中由所述控制器确定的所述扇区是顺序地跟随由所述控制器写入的前一个扇区的扇区。
10.根据权利要求7所述的处理系统,其中所述非易失性固态存储设备包括具有记录清理处理的管理模块,其采用页面替换策略逐出旧的元数据条目和旧的数据条目以为与所述写请求相关联的所述数据制造空间。
11.根据权利要求10所述的处理系统,其中,当所述页面替换策略保存所述旧的元数据条目和旧的数据条目的子集时,所述管理模块在所述旧的数据条目需要被处理前,自动地将所述旧的数据条目自所述非易失性固态存储设备读取到所述存储器。
12.根据权利要求10所述的处理系统,其中当所述页面替换策略将永远不会保存任何所述旧的数据条目时,所述管理模块避免从所述非易失性固态存储设备读取。
13.根据权利要求7所述的处理系统,其中所述控制器包括映射客户端页地址到内部页面地址的闪存转换层。
14.根据权利要求7所述的处理系统,其中所述非易失性固态存储设备是NAND闪存存储设备。
15.一种系统,包括:
非易失性固态存储设备,其将多个单元逻辑分组成具有对应于所述非易失性固态存储设备的擦除块的大小的整数倍的大小的扇区;以及
控制器,其从所述非易失性固态存储设备的顺序的扇区写出数据条目,并在几乎同时使所述扇区无效和分配扇区。
16.根据权利要求15所述的系统,其中元数据在所述非易失性固态存储设备的所述扇区中的所述数据条目中被分散。
17.根据权利要求16所述的系统,其中所述元数据被存储在所述数据条目的开头。
18.根据权利要求15所述的系统,其中所述控制器通过定位所述非易失性固态存储设备的顺序的扇区处理连续的写操作。
19.根据权利要求15所述的系统,其中所述顺序的扇区是物理上相邻的扇区。
20.一种方法,包括:
监测非易失性固态存储设备的写队列,所述非易失性固态存储设备拥有具有对应于所述非易失性固态存储设备的擦除块的大小的整数倍的大小的扇区;
通过使用处理器,基于所述写队列,生成对所述非易失性固态存储设备的利用率的估计;
确定所述对利用率的估计是否超过第一利用率阈值;以及
在确定所述对利用率的估计超过所述利用率阈值后,将所述写队列中的写请求卸除到第二存储设备。
21.根据权利要求20所述的方法,其中卸除至所述第二存储设备的所述写请求包括非必要的写操作。
22.根据权利要求21所述的方法,其中所述非必要的写操作包括由读取未命中导致的写请求。
23.根据权利要求20所述的方法,进一步包括:
确定所述对利用率的估计是否超过第二利用率阈值;以及
丢弃来自所述非易失性固态存储设备的非必要读取。
24.根据权利要求23所述的方法,其中所述非必要的读取包括满足缓存读取命中的闪存读取。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/477,966 | 2012-05-22 | ||
US13/477,966 US9645917B2 (en) | 2012-05-22 | 2012-05-22 | Specializing I/O access patterns for flash storage |
PCT/US2013/042289 WO2013177320A1 (en) | 2012-05-22 | 2013-05-22 | Specializing i/o access patterns for flash storage |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104487952A true CN104487952A (zh) | 2015-04-01 |
Family
ID=49622487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380038857.6A Pending CN104487952A (zh) | 2012-05-22 | 2013-05-22 | 用于闪存存储的i/o访问模式专用 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9645917B2 (zh) |
JP (1) | JP2015518987A (zh) |
CN (1) | CN104487952A (zh) |
WO (1) | WO2013177320A1 (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293505A (zh) * | 2015-06-26 | 2017-01-04 | 爱思开海力士有限公司 | 存储系统和操作其的方法 |
CN107622023A (zh) * | 2016-07-13 | 2018-01-23 | 希捷科技有限公司 | 限制数据存储设备中的访问操作 |
CN108027710A (zh) * | 2015-12-03 | 2018-05-11 | 株式会社日立制作所 | 在软件定义的存储系统中进行高速缓存的方法和装置 |
WO2018094708A1 (zh) * | 2016-11-26 | 2018-05-31 | 华为技术有限公司 | 数据迁移的方法、主机、及固态存储设备 |
CN108431789A (zh) * | 2015-12-17 | 2018-08-21 | Sk电信有限公司 | 存储器控制设备及其操作方法 |
CN108932105A (zh) * | 2017-05-25 | 2018-12-04 | 中兴通讯股份有限公司 | 一种存储网关分级存储的配置方法及系统 |
CN108984429A (zh) * | 2017-05-30 | 2018-12-11 | 希捷科技有限公司 | 具有缓冲器占有期管理的数据存储设备 |
CN108984126A (zh) * | 2018-07-17 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种数据读取方法、系统、装置及计算机可读存储介质 |
CN110389904A (zh) * | 2018-04-20 | 2019-10-29 | 北京忆恒创源科技有限公司 | 具有压缩的ftl表的存储设备 |
CN110727398A (zh) * | 2018-07-16 | 2020-01-24 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110968528A (zh) * | 2018-09-30 | 2020-04-07 | 北京忆恒创源科技有限公司 | 应用统一缓存架构为非易失存储介质组装数据 |
CN112130769A (zh) * | 2020-09-18 | 2020-12-25 | 苏州浪潮智能科技有限公司 | 一种机械硬盘数据处理方法、装置、设备及介质 |
CN113168293A (zh) * | 2019-01-31 | 2021-07-23 | 华为技术有限公司 | 用于访问集群存储系统中的缓存的方法和装置 |
Families Citing this family (117)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9195598B2 (en) | 2012-06-08 | 2015-11-24 | International Business Machines Corporation | Synchronous and asynchronous discard scans based on the type of cache memory |
US9336150B2 (en) * | 2012-06-08 | 2016-05-10 | International Business Machines Corporation | Performing asynchronous discard scans with staging and destaging operations |
US9612966B2 (en) | 2012-07-03 | 2017-04-04 | Sandisk Technologies Llc | Systems, methods and apparatus for a virtual machine cache |
US10339056B2 (en) | 2012-07-03 | 2019-07-02 | Sandisk Technologies Llc | Systems, methods and apparatus for cache transfers |
US9208099B2 (en) | 2012-08-08 | 2015-12-08 | International Business Machines Corporation | Adjustment of the number of task control blocks allocated for discard scans |
US8972645B2 (en) * | 2012-09-19 | 2015-03-03 | Hewlett-Packard Development Company, L.P. | Request sent to storage device based on moving average |
US9112649B2 (en) * | 2012-10-11 | 2015-08-18 | Qualcomm Incorporated | Method and apparatus for predicting signal characteristics for a nonlinear power amplifier |
CN103793181B (zh) * | 2012-11-05 | 2019-05-24 | 腾讯科技(深圳)有限公司 | 一种多层关联存储架构的数据同步方法及数据同步系统 |
US9176892B2 (en) | 2013-01-22 | 2015-11-03 | International Business Machines Corporation | Performing staging or destaging based on the number of waiting discard scans |
US9842053B2 (en) * | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
US9201799B2 (en) * | 2013-06-03 | 2015-12-01 | Samsung Electronics Co., Ltd. | Method for disk defrag handling in solid state drive caching environment |
US9330055B2 (en) * | 2013-06-04 | 2016-05-03 | International Business Machines Corporation | Modular architecture for extreme-scale distributed processing applications |
US9785545B2 (en) * | 2013-07-15 | 2017-10-10 | Cnex Labs, Inc. | Method and apparatus for providing dual memory access to non-volatile memory |
US9412455B2 (en) * | 2013-09-11 | 2016-08-09 | Kabushiki Kaisha Toshiba | Data write control device and data storage device |
WO2015061921A1 (zh) * | 2013-10-29 | 2015-05-07 | 上海宝存信息科技有限公司 | 用于数据存储系统的动态缓存方法和系统 |
US9699032B2 (en) * | 2013-10-29 | 2017-07-04 | Virtual Instruments Corporation | Storage area network queue depth profiler |
US9239679B2 (en) | 2013-12-19 | 2016-01-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System for efficient caching of swap I/O and/or similar I/O pattern(s) |
US9537740B2 (en) | 2014-07-31 | 2017-01-03 | International Business Machines Corporation | Monitoring device usage |
US10169182B2 (en) | 2014-07-31 | 2019-01-01 | International Business Machines Corporation | Monitoring levels of utilization of device |
US9998347B2 (en) | 2014-07-31 | 2018-06-12 | International Business Machines Corporation | Monitoring device usage |
CN105446653B (zh) | 2014-08-27 | 2018-12-14 | 阿里巴巴集团控股有限公司 | 一种数据合并方法和设备 |
US9600205B1 (en) * | 2014-09-22 | 2017-03-21 | Western Digital Technologies, Inc. | Power aware power safe write buffer |
US10503445B2 (en) | 2015-03-23 | 2019-12-10 | Netapp, Inc. | Data structure store and data management |
WO2016174744A1 (ja) * | 2015-04-28 | 2016-11-03 | 株式会社日立製作所 | 不揮発性メモリの制御方法、制御装置、および半導体記憶装置 |
US9678869B1 (en) * | 2015-09-29 | 2017-06-13 | EMC IP Holding Company LLC | Optimized read processing |
US10102103B2 (en) | 2015-11-11 | 2018-10-16 | International Business Machines Corporation | System resource component utilization |
CN106897022B (zh) * | 2015-12-17 | 2019-05-31 | 腾讯科技(深圳)有限公司 | 一种管理存储设备的方法及装置 |
KR102505855B1 (ko) * | 2016-01-11 | 2023-03-03 | 삼성전자 주식회사 | 가중치 기반 멀티-큐 가능 리소스 공유 방법 |
US9779026B2 (en) | 2016-01-14 | 2017-10-03 | Seagate Technology Llc | Cache bypass utilizing a binary tree |
US10235198B2 (en) | 2016-02-24 | 2019-03-19 | Samsung Electronics Co., Ltd. | VM-aware FTL design for SR-IOV NVME SSD |
US20170249080A1 (en) * | 2016-02-29 | 2017-08-31 | Itu Business Development A/S | Solid-state storage device with programmable physical storage access |
CN107797756B (zh) * | 2016-09-05 | 2021-01-12 | 上海宝存信息科技有限公司 | 固态硬盘系统的优先写入方法以及使用该方法的装置 |
US10621096B2 (en) | 2016-09-08 | 2020-04-14 | Seagate Technology Llc | Read ahead management in a multi-stream workload |
US10078591B2 (en) * | 2016-09-27 | 2018-09-18 | International Business Machines Corporation | Data storage cache management |
KR20180044635A (ko) | 2016-10-24 | 2018-05-03 | 삼성전자주식회사 | 저장 시스템 및 그것의 동작 방법 |
US10261876B2 (en) * | 2016-11-08 | 2019-04-16 | Micron Technology, Inc. | Memory management |
US10318175B2 (en) | 2017-03-07 | 2019-06-11 | Samsung Electronics Co., Ltd. | SSD with heterogeneous NVM types |
US10649876B2 (en) | 2017-04-20 | 2020-05-12 | International Business Machines Corporation | Maintaining manageable utilization in a system to prevent excessive queuing of system requests |
US10359954B2 (en) | 2017-05-31 | 2019-07-23 | Alibaba Group Holding Limited | Method and system for implementing byte-alterable write cache |
US10884926B2 (en) | 2017-06-16 | 2021-01-05 | Alibaba Group Holding Limited | Method and system for distributed storage using client-side global persistent cache |
US10303241B2 (en) | 2017-06-19 | 2019-05-28 | Alibaba Group Holding Limited | System and method for fine-grained power control management in a high capacity computer cluster |
US10678443B2 (en) | 2017-07-06 | 2020-06-09 | Alibaba Group Holding Limited | Method and system for high-density converged storage via memory bus |
US10564856B2 (en) | 2017-07-06 | 2020-02-18 | Alibaba Group Holding Limited | Method and system for mitigating write amplification in a phase change memory-based storage device |
US10303601B2 (en) | 2017-08-11 | 2019-05-28 | Alibaba Group Holding Limited | Method and system for rearranging a write operation in a shingled magnetic recording device |
US10423508B2 (en) | 2017-08-11 | 2019-09-24 | Alibaba Group Holding Limited | Method and system for a high-priority read based on an in-place suspend/resume write |
US10496829B2 (en) | 2017-09-15 | 2019-12-03 | Alibaba Group Holding Limited | Method and system for data destruction in a phase change memory-based storage device |
US10642522B2 (en) | 2017-09-15 | 2020-05-05 | Alibaba Group Holding Limited | Method and system for in-line deduplication in a storage drive based on a non-collision hash |
US10789011B2 (en) * | 2017-09-27 | 2020-09-29 | Alibaba Group Holding Limited | Performance enhancement of a storage device using an integrated controller-buffer |
US10503409B2 (en) | 2017-09-27 | 2019-12-10 | Alibaba Group Holding Limited | Low-latency lightweight distributed storage system |
US10860334B2 (en) | 2017-10-25 | 2020-12-08 | Alibaba Group Holding Limited | System and method for centralized boot storage in an access switch shared by multiple servers |
US10445190B2 (en) | 2017-11-08 | 2019-10-15 | Alibaba Group Holding Limited | Method and system for enhancing backup efficiency by bypassing encoding and decoding |
US10877898B2 (en) | 2017-11-16 | 2020-12-29 | Alibaba Group Holding Limited | Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements |
US10496548B2 (en) | 2018-02-07 | 2019-12-03 | Alibaba Group Holding Limited | Method and system for user-space storage I/O stack with user-space flash translation layer |
US10891239B2 (en) | 2018-02-07 | 2021-01-12 | Alibaba Group Holding Limited | Method and system for operating NAND flash physical space to extend memory capacity |
US10831404B2 (en) | 2018-02-08 | 2020-11-10 | Alibaba Group Holding Limited | Method and system for facilitating high-capacity shared memory using DIMM from retired servers |
US10402112B1 (en) | 2018-02-14 | 2019-09-03 | Alibaba Group Holding Limited | Method and system for chunk-wide data organization and placement with real-time calculation |
WO2019222958A1 (en) | 2018-05-24 | 2019-11-28 | Alibaba Group Holding Limited | System and method for flash storage management using multiple open page stripes |
US10921992B2 (en) | 2018-06-25 | 2021-02-16 | Alibaba Group Holding Limited | Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency |
WO2020000136A1 (en) | 2018-06-25 | 2020-01-02 | Alibaba Group Holding Limited | System and method for managing resources of a storage device and quantifying the cost of i/o requests |
US10725941B2 (en) * | 2018-06-30 | 2020-07-28 | Western Digital Technologies, Inc. | Multi-device storage system with hosted services on peer storage devices |
US10871921B2 (en) | 2018-07-30 | 2020-12-22 | Alibaba Group Holding Limited | Method and system for facilitating atomicity assurance on metadata and data bundled storage |
US10996886B2 (en) | 2018-08-02 | 2021-05-04 | Alibaba Group Holding Limited | Method and system for facilitating atomicity and latency assurance on variable sized I/O |
US10747673B2 (en) | 2018-08-02 | 2020-08-18 | Alibaba Group Holding Limited | System and method for facilitating cluster-level cache and memory space |
US11327929B2 (en) | 2018-09-17 | 2022-05-10 | Alibaba Group Holding Limited | Method and system for reduced data movement compression using in-storage computing and a customized file system |
CN110968253B (zh) * | 2018-09-29 | 2023-06-06 | 阿里巴巴集团控股有限公司 | 一种数据存储方法、装置及系统 |
US10852948B2 (en) | 2018-10-19 | 2020-12-01 | Alibaba Group Holding | System and method for data organization in shingled magnetic recording drive |
US10795586B2 (en) | 2018-11-19 | 2020-10-06 | Alibaba Group Holding Limited | System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash |
US10769018B2 (en) | 2018-12-04 | 2020-09-08 | Alibaba Group Holding Limited | System and method for handling uncorrectable data errors in high-capacity storage |
JP2020095548A (ja) | 2018-12-13 | 2020-06-18 | 株式会社日立製作所 | 不揮発性メモリドライブを備えたシステム |
US10977122B2 (en) | 2018-12-31 | 2021-04-13 | Alibaba Group Holding Limited | System and method for facilitating differentiated error correction in high-density flash devices |
US10884654B2 (en) | 2018-12-31 | 2021-01-05 | Alibaba Group Holding Limited | System and method for quality of service assurance of multi-stream scenarios in a hard disk drive |
US11061735B2 (en) | 2019-01-02 | 2021-07-13 | Alibaba Group Holding Limited | System and method for offloading computation to storage nodes in distributed system |
US11132291B2 (en) | 2019-01-04 | 2021-09-28 | Alibaba Group Holding Limited | System and method of FPGA-executed flash translation layer in multiple solid state drives |
US11200337B2 (en) | 2019-02-11 | 2021-12-14 | Alibaba Group Holding Limited | System and method for user data isolation |
CN111722785B (zh) * | 2019-03-21 | 2024-09-20 | 阿里巴巴集团控股有限公司 | 一种缓存更新方法和装置 |
US10922234B2 (en) | 2019-04-11 | 2021-02-16 | Alibaba Group Holding Limited | Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive |
US10908960B2 (en) | 2019-04-16 | 2021-02-02 | Alibaba Group Holding Limited | Resource allocation based on comprehensive I/O monitoring in a distributed storage system |
CN111857546B (zh) * | 2019-04-28 | 2024-08-02 | 伊姆西Ip控股有限责任公司 | 用于处理数据的方法、网络适配器和计算机程序产品 |
US11169873B2 (en) | 2019-05-21 | 2021-11-09 | Alibaba Group Holding Limited | Method and system for extending lifespan and enhancing throughput in a high-density solid state drive |
KR20210006102A (ko) | 2019-07-08 | 2021-01-18 | 에스케이하이닉스 주식회사 | 데이터 입출력 속도에 따라 버퍼의 사용을 결정할 수 있는 메모리 시스템 및 그의 동작 방법 |
US10977181B2 (en) * | 2019-07-10 | 2021-04-13 | International Business Machines Corporation | Data placement in write cache architecture supporting read heat data separation |
US10860223B1 (en) | 2019-07-18 | 2020-12-08 | Alibaba Group Holding Limited | Method and system for enhancing a distributed storage system by decoupling computation and network tasks |
US11126561B2 (en) | 2019-10-01 | 2021-09-21 | Alibaba Group Holding Limited | Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive |
US11093404B2 (en) * | 2019-10-14 | 2021-08-17 | EMC IP Holding Company LLC | Efficient pre-fetching on a storage system |
US11042307B1 (en) | 2020-01-13 | 2021-06-22 | Alibaba Group Holding Limited | System and method for facilitating improved utilization of NAND flash based on page-wise operation |
US11449455B2 (en) | 2020-01-15 | 2022-09-20 | Alibaba Group Holding Limited | Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility |
US10923156B1 (en) | 2020-02-19 | 2021-02-16 | Alibaba Group Holding Limited | Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive |
US10872622B1 (en) | 2020-02-19 | 2020-12-22 | Alibaba Group Holding Limited | Method and system for deploying mixed storage products on a uniform storage infrastructure |
US11150986B2 (en) | 2020-02-26 | 2021-10-19 | Alibaba Group Holding Limited | Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction |
US11144250B2 (en) | 2020-03-13 | 2021-10-12 | Alibaba Group Holding Limited | Method and system for facilitating a persistent memory-centric system |
US11200114B2 (en) | 2020-03-17 | 2021-12-14 | Alibaba Group Holding Limited | System and method for facilitating elastic error correction code in memory |
US11385833B2 (en) | 2020-04-20 | 2022-07-12 | Alibaba Group Holding Limited | Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources |
US11281575B2 (en) | 2020-05-11 | 2022-03-22 | Alibaba Group Holding Limited | Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks |
US11494115B2 (en) | 2020-05-13 | 2022-11-08 | Alibaba Group Holding Limited | System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC) |
US11461262B2 (en) | 2020-05-13 | 2022-10-04 | Alibaba Group Holding Limited | Method and system for facilitating a converged computation and storage node in a distributed storage system |
US11218165B2 (en) | 2020-05-15 | 2022-01-04 | Alibaba Group Holding Limited | Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM |
US11507499B2 (en) | 2020-05-19 | 2022-11-22 | Alibaba Group Holding Limited | System and method for facilitating mitigation of read/write amplification in data compression |
US11556277B2 (en) | 2020-05-19 | 2023-01-17 | Alibaba Group Holding Limited | System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification |
US11263132B2 (en) | 2020-06-11 | 2022-03-01 | Alibaba Group Holding Limited | Method and system for facilitating log-structure data organization |
US11354200B2 (en) | 2020-06-17 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating data recovery and version rollback in a storage device |
US11422931B2 (en) | 2020-06-17 | 2022-08-23 | Alibaba Group Holding Limited | Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization |
US11941287B2 (en) * | 2020-06-17 | 2024-03-26 | EMC IP Holding Company, LLC | System and method for near-instant unmapping and write-same in a log-structured storage cluster |
US11354233B2 (en) | 2020-07-27 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating fast crash recovery in a storage device |
US11372774B2 (en) | 2020-08-24 | 2022-06-28 | Alibaba Group Holding Limited | Method and system for a solid state drive with on-chip memory integration |
US11487465B2 (en) | 2020-12-11 | 2022-11-01 | Alibaba Group Holding Limited | Method and system for a local storage engine collaborating with a solid state drive controller |
US11734115B2 (en) | 2020-12-28 | 2023-08-22 | Alibaba Group Holding Limited | Method and system for facilitating write latency reduction in a queue depth of one scenario |
CN112612424B (zh) * | 2020-12-29 | 2024-08-06 | 江苏国科微电子有限公司 | 一种NVMe提交队列控制装置及方法 |
US11416365B2 (en) | 2020-12-30 | 2022-08-16 | Alibaba Group Holding Limited | Method and system for open NAND block detection and correction in an open-channel SSD |
US12093545B2 (en) | 2020-12-31 | 2024-09-17 | Pure Storage, Inc. | Storage system with selectable write modes |
US11847324B2 (en) | 2020-12-31 | 2023-12-19 | Pure Storage, Inc. | Optimizing resiliency groups for data regions of a storage system |
US12067282B2 (en) | 2020-12-31 | 2024-08-20 | Pure Storage, Inc. | Write path selection |
US11614880B2 (en) * | 2020-12-31 | 2023-03-28 | Pure Storage, Inc. | Storage system with selectable write paths |
US11726699B2 (en) | 2021-03-30 | 2023-08-15 | Alibaba Singapore Holding Private Limited | Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification |
US11461173B1 (en) | 2021-04-21 | 2022-10-04 | Alibaba Singapore Holding Private Limited | Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement |
US11476874B1 (en) | 2021-05-14 | 2022-10-18 | Alibaba Singapore Holding Private Limited | Method and system for facilitating a storage server with hybrid memory for journaling and data storage |
US11709631B2 (en) | 2021-08-30 | 2023-07-25 | Micron Technology, Inc. | Read-modify-write data consistency management |
US11775216B2 (en) * | 2021-08-30 | 2023-10-03 | Micron Technology, Inc. | Media access operation command management using media buffers |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7020758B2 (en) * | 2002-09-18 | 2006-03-28 | Ortera Inc. | Context sensitive storage management |
US7093101B2 (en) * | 2002-11-21 | 2006-08-15 | Microsoft Corporation | Dynamic data structures for tracking file system free space in a flash memory device |
US20050286855A1 (en) * | 2003-04-25 | 2005-12-29 | Matsushita Electric Industrial Co., Ltd. | Data recording apparatus |
US7363420B2 (en) * | 2003-12-15 | 2008-04-22 | Nortel Networks Limited | Method and file structures for managing data on a flash disk |
US7634585B2 (en) * | 2005-11-04 | 2009-12-15 | Sandisk Corporation | In-line cache using nonvolatile memory between host and disk device |
JP4749255B2 (ja) * | 2006-07-03 | 2011-08-17 | 株式会社日立製作所 | 複数種類の記憶デバイスを備えたストレージシステムの制御装置 |
US7739470B1 (en) * | 2006-10-20 | 2010-06-15 | Emc Corporation | Limit algorithm using queue depth to control application performance |
US8683139B2 (en) * | 2006-10-31 | 2014-03-25 | Hewlett-Packard Development Company, L.P. | Cache and method for cache bypass functionality |
US9104599B2 (en) * | 2007-12-06 | 2015-08-11 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for destaging cached data |
JP4498426B2 (ja) * | 2008-03-01 | 2010-07-07 | 株式会社東芝 | メモリシステム |
US8392687B2 (en) * | 2009-01-21 | 2013-03-05 | Micron Technology, Inc. | Solid state memory formatting |
KR101056560B1 (ko) * | 2009-02-11 | 2011-08-11 | (주)인디링스 | 고체 상태 디스크 시스템에서 버퍼 캐시의 프로그래밍 방법및 장치 |
US8364924B2 (en) * | 2009-10-21 | 2013-01-29 | International Business Machines Corporation | Achieving a high throughput in a storage cache application using a flash solid state disk |
US8352685B2 (en) * | 2010-08-20 | 2013-01-08 | Apple Inc. | Combining write buffer with dynamically adjustable flush metrics |
US9467505B2 (en) * | 2010-08-27 | 2016-10-11 | Vmware, Inc. | Saturation detection and admission control for storage devices |
US8463991B2 (en) * | 2010-09-28 | 2013-06-11 | Pure Storage Inc. | Intra-device data protection in a raid array |
-
2012
- 2012-05-22 US US13/477,966 patent/US9645917B2/en active Active
-
2013
- 2013-05-22 WO PCT/US2013/042289 patent/WO2013177320A1/en active Application Filing
- 2013-05-22 JP JP2015514161A patent/JP2015518987A/ja active Pending
- 2013-05-22 CN CN201380038857.6A patent/CN104487952A/zh active Pending
-
2017
- 2017-03-13 US US15/457,814 patent/US20170185512A1/en not_active Abandoned
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293505A (zh) * | 2015-06-26 | 2017-01-04 | 爱思开海力士有限公司 | 存储系统和操作其的方法 |
CN108027710A (zh) * | 2015-12-03 | 2018-05-11 | 株式会社日立制作所 | 在软件定义的存储系统中进行高速缓存的方法和装置 |
CN108027710B (zh) * | 2015-12-03 | 2020-11-06 | 株式会社日立制作所 | 在软件定义的存储系统中进行高速缓存的方法和装置 |
CN108431789A (zh) * | 2015-12-17 | 2018-08-21 | Sk电信有限公司 | 存储器控制设备及其操作方法 |
CN108431789B (zh) * | 2015-12-17 | 2021-12-03 | Sk电信有限公司 | 存储器控制设备及其操作方法 |
CN107622023A (zh) * | 2016-07-13 | 2018-01-23 | 希捷科技有限公司 | 限制数据存储设备中的访问操作 |
US10795599B2 (en) | 2016-11-26 | 2020-10-06 | Huawei Technologies Co., Ltd. | Data migration method, host and solid state disk |
WO2018094708A1 (zh) * | 2016-11-26 | 2018-05-31 | 华为技术有限公司 | 数据迁移的方法、主机、及固态存储设备 |
CN108475229A (zh) * | 2016-11-26 | 2018-08-31 | 华为技术有限公司 | 数据迁移的方法、主机、及固态存储设备 |
US11644994B2 (en) | 2016-11-26 | 2023-05-09 | Huawei Technologies Co., Ltd. | Data migration method, host, and solid state disk |
US11960749B2 (en) | 2016-11-26 | 2024-04-16 | Huawei Technologies Co., Ltd. | Data migration method, host, and solid state disk |
CN108932105A (zh) * | 2017-05-25 | 2018-12-04 | 中兴通讯股份有限公司 | 一种存储网关分级存储的配置方法及系统 |
CN108984429B (zh) * | 2017-05-30 | 2023-07-28 | 希捷科技有限公司 | 具有缓冲器占有期管理的数据存储设备 |
CN108984429A (zh) * | 2017-05-30 | 2018-12-11 | 希捷科技有限公司 | 具有缓冲器占有期管理的数据存储设备 |
CN110389904A (zh) * | 2018-04-20 | 2019-10-29 | 北京忆恒创源科技有限公司 | 具有压缩的ftl表的存储设备 |
CN110727398A (zh) * | 2018-07-16 | 2020-01-24 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110727398B (zh) * | 2018-07-16 | 2023-02-21 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN108984126A (zh) * | 2018-07-17 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种数据读取方法、系统、装置及计算机可读存储介质 |
CN110968528A (zh) * | 2018-09-30 | 2020-04-07 | 北京忆恒创源科技有限公司 | 应用统一缓存架构为非易失存储介质组装数据 |
CN110968528B (zh) * | 2018-09-30 | 2024-05-28 | 北京忆恒创源科技股份有限公司 | 应用统一缓存架构为非易失存储介质组装数据 |
CN113168293A (zh) * | 2019-01-31 | 2021-07-23 | 华为技术有限公司 | 用于访问集群存储系统中的缓存的方法和装置 |
CN112130769B (zh) * | 2020-09-18 | 2022-10-28 | 苏州浪潮智能科技有限公司 | 一种机械硬盘数据处理方法、装置、设备及介质 |
CN112130769A (zh) * | 2020-09-18 | 2020-12-25 | 苏州浪潮智能科技有限公司 | 一种机械硬盘数据处理方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
US20130318283A1 (en) | 2013-11-28 |
US20170185512A1 (en) | 2017-06-29 |
WO2013177320A1 (en) | 2013-11-28 |
JP2015518987A (ja) | 2015-07-06 |
US9645917B2 (en) | 2017-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104487952A (zh) | 用于闪存存储的i/o访问模式专用 | |
US11138124B2 (en) | Migrating data between block pools in a storage system | |
KR102556431B1 (ko) | 이종 불휘발성 메모리 형태를 갖는 솔리드 스테이트 드라이브 | |
US8190832B2 (en) | Data storage performance enhancement through a write activity level metric recorded in high performance block storage metadata | |
US9632927B2 (en) | Reducing write amplification in solid-state drives by separating allocation of relocate writes from user writes | |
US8195878B2 (en) | Hard disk drive with attached solid state drive cache | |
US8806165B2 (en) | Mass-storage system utilizing auxiliary solid-state storage subsystem | |
US20030212865A1 (en) | Method and apparatus for flushing write cache data | |
US8762995B2 (en) | Computing system, method of controlling the same, and system management unit which plan a data migration according to a computation job execution schedule | |
US20070067559A1 (en) | Storage control apparatus, data management system and data management method | |
US20210124488A1 (en) | Workload based relief valve activation for hybrid controller architectures | |
WO2016046911A1 (ja) | ストレージシステム及びストレージシステムの管理方法 | |
US11436159B2 (en) | Using multi-tiered cache to satisfy input/output requests | |
US8862819B2 (en) | Log structure array | |
US11620218B2 (en) | Using multi-tiered cache to satisfy input/output requests | |
US11797448B2 (en) | Using multi-tiered cache to satisfy input/output requests | |
Wu et al. | LDM: Log disk mirroring with improved performance and reliability for SSD-based disk arrays | |
WO2014147786A1 (ja) | ストレージシステム及びデータ管理方法 | |
EP4307129A1 (en) | Method for writing data into solid-state hard disk | |
US9542326B1 (en) | Managing tiering in cache-based systems | |
Yang | Flash-based storage management in cloud computing datacenter infrastructures | |
JP6867586B2 (ja) | ストレージ装置、ストレージ装置の制御プログラムおよびストレージ装置の制御方法 | |
Bitar | Deploying Hybrid Storage Pools |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150401 |