CN102667704B - 混合存储子系统及其管理方法 - Google Patents

混合存储子系统及其管理方法 Download PDF

Info

Publication number
CN102667704B
CN102667704B CN201080058063.2A CN201080058063A CN102667704B CN 102667704 B CN102667704 B CN 102667704B CN 201080058063 A CN201080058063 A CN 201080058063A CN 102667704 B CN102667704 B CN 102667704B
Authority
CN
China
Prior art keywords
disk drive
given piece
present
hard disk
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.)
Expired - Fee Related
Application number
CN201080058063.2A
Other languages
English (en)
Other versions
CN102667704A (zh
Inventor
M-C.蒋
H.L.华
小罗伯特.贝尔
M.S.斯里尼瓦斯
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN102667704A publication Critical patent/CN102667704A/zh
Application granted granted Critical
Publication of CN102667704B publication Critical patent/CN102667704B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

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)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

组合了固态驱动器(SSD)和硬盘驱动器(HDD)技术的存储子系统提供低访问等待时间和低复杂性。为SSD和HDD维持单独的空闲列表,且文件系统数据的块唯一地存储在SSD或HDD上。当对该子系统进行读取访问时,如果该数据存在于SSD上,则返回该数据,但如果该块存在于HDD上,则将其迁移到SSD上,且将HDD上的块返回到HDD空闲列表。在写入访问时,如果该块存在于SSD或HDD中,则盖写该块,但如果该块不存在于该子系统中,则将该块写到HDD。

Description

混合存储子系统及其管理方法
技术领域
本发明涉及计算机系统内的存储系统,且更具体地,涉及包括多个设备类型的混合存储子系统,在该混合存储子系统中,文件内容散布在这些设备类型之间。
背景技术
在计算机存储子系统中,由于存储设备本身的等待时间(latency)不同,通常提供多个级别的存储层次。缓存存储器为处理器提供对数据的快速访问,而主系统存储器通常提供以较长等待时间的更大存储。通常使用磁存储技术实现的硬盘驱动器(HDD)系统提供了具有甚至更长的等待时间且通常较大容量的用于主系统存储器的后备(backing)存储。但是,在HDD级指导对HDD驱动系统的文件访问。HDD级可以具有缓存文件的一部分的其自己的缓存,但整个文件位于HDD上,并且当在发生了第一访问之后频繁访问时,缓存该文件的所有或一部分。
近来,从非易失性半导体存储器中创建的固态驱动器(SSD)已经达到可靠性级别、容量和成本,以便其作为对HDD的替代的使用正变得实际。已经提出且实现了混合SSD/HDD存储系统,其中,在SSD上存储频繁访问的文件,而在HDD上存储其访问需求较不频繁的文件。但是,这种策略不考虑由于在任何给定的时间段中可能正使用存储系统的各种应用和操作系统而导致的文件系统访问频率的动态特性。
已经采用了其他技术,涉及基于确定文件和表的相对访问频率的最近最少使用(LRU)或其他机制的盘内容的动态迁移,以便将最近最少使用的文件在层次中向下、即从盘/阵列的SSD部分向HDD部分迁移。这种机制改进了效率,但是如果实际上保留在SSD上的文件的仅一小部分被频繁访问,则可能在SSD中浪费大量空间。例如,大数据库文件可能是在系统中最频繁访问的文件,但是实际上在很大的时间间隔期间,可能该数据库的仅一小部分经历访问。
可以避免上述问题的技术是使用盘/阵列的SSD部分作为软件缓存。但是,这种实施方式向操作系统软件引入了另一层复杂性且向该系统中引入了另一级别的访问等待时间。
因此,将期望提供一种提供低平均访问等待时间以及低复杂性的管理方法和混合盘存储系统。
发明内容
本发明被实现为管理包括较低等待时间块存储设备和较高等待时间块存储设备的混合存储子系统的计算机进行的方法、计算机程序产品和计算机系统。该计算机系统是执行用于实行该方法的程序的计算机系统,且该计算机程序产品是用于实行该方法的程序。
该方法对较低等待时间存储设备和较高等待时间存储设备维持单独的空闲列表,且文件的块唯一地存储在较低等待时间设备或较高等待时间设备上。当对该子系统进行读取访问时,如果数据存在于较低等待时间设备上,则返回该数据,但如果块存在于较高等待时间设备上,将其迁移到较低等待时间设备,且将较高等待时间设备上的块返回到较高等待时间设备空闲列表。在写入访问时,如果块存在于较低等待时间设备或较高等待时间设备中,则盖写该块,但如果该块不存在于该子系统中,则将该块写到较高等待时间设备。
附图说明
现在参考附图仅通过例子来描述本发明的实施例,附图中:
图1是图示包括其中实现根据本发明的实施例的技术的存储子系统的联网计算机系统的方框图。
图2是根据本发明的实施例的存储设备的方框图。
图3是描绘根据本发明的实施例的程序中的数据结构的组织的图。
图4是根据本发明的实施例在存储子系统中进行的写入访问操作的流程图。
图5是根据本发明的实施例在存储子系统中进行的读取访问操作的流程图。
图6是根据本发明的实施例在存储子系统中进行的迁移操作的流程图。
具体实施方式
本发明包括混合存储子系统和设备,具体地包括由不同等待时间的多个块存储设备构成的存储子系统。具体地,根据在此描述的本发明的实施例,诸如硬盘驱动器(HDD)的较长等待时间块存储设备与诸如固态驱动器(SSD)的较短等待时间块存储设备结合使用,以形成混合存储子系统。较长等待时间块存储设备和较短等待时间块存储设备可以在相同外壳中集合,以提供具有本发明的优点的混合存储设备。
现在参考图1,在方框图中描述其中实现本发明的实施例的联网计算机系统。工作站计算机系统10包括耦合于包含由CPU执行的程序指令的存储器MEM的处理器CPU,该存储器MEM包括存储设备驱动器11A,该存储设备驱动器11A包括根据本发明的技术且还向由CPU执行的本地操作系统提供一般的存储功能性。还绘出工作站计算机10为包括图形显示器Display和输入设备InputDevice,比如鼠标和键盘,用于与用户接口相交互,该用户接口包括用于交互在工作站计算机系统10内本地执行的应用以及由连接到网络的其他计算机执行的应用的用户接口。工作站计算机系统10还包括将处理器CPU与本地硬盘驱动器(HDD)存储设备17A和固态驱动器(SSD)SSD1相接口的存储控制器STC14。设备驱动器11A操作STC14来提供工作站计算机系统10内的盘存储功能性,且具体地,结合地使用SSDSSD1和HDD17A来形成根据本发明的实施例的混合存储子系统。设备驱动器11A包括形成根据本发明的实施例的计算机程序产品的在存储器MEM中存储的程序指令。工作站计算机系统10还包括将工作站计算机系统10耦接到网络15的网络接口NWI,该网络15可以是完全无线、完全有线或任何类型的混合网络。网络存储可经由网络接口NWI访问,且通过网络盘控制器(NWDC)18提供。NWDC18将诸如HDD17B和17C以及SSDSSD2的远程存储耦合于网络15,且包括耦合于存储器MEM1的CPUCPUl,该MEM1以程序指令的形式存储根据本发明的实施例的计算机程序产品,用于以设备驱动器11C的形式实行本发明的技术。设备驱动器11C通过将HDD17B和17C与SSDSSD1结合操作以形成根据本发明的实施例的另一混合存储子系统来实现根据本发明的实施例的技术。
还示出具有至少一个服务器存储器SMEM和服务器处理器SCPU的服务器架计算机系统12耦合于网络15,且其还可以访问由NWDC18提供的混合存储阵列,并且在一些情况下,如果由混合存储子系统通过设备驱动器11A实现的存储空间在网络15上共享,则其还可以访问由SSDSSD1和HDD17A在工作站计算机系统10内提供的混合存储子系统。通常与本发明一起使用的系统配置可以包括大量诸如工作站10的工作站计算机系统和大量诸如服务器架12的服务器架。在这种计算机系统内的存储器可能通常还包括存储设备的大阵列。但是,本发明的技术不依赖于规模,且因此也可以在较小的系统配置内实践。
网络15可以包括无线局域网(WLAN)、有线局域网(LAN)、广域网(WAN)或提供在工作站计算机系统10和服务器架12、存储设备17A-17C、SSDSSD1和SSD2以及耦合于网络15的任何其他系统和设备之间的通信的任何其他适当互连。另外,本发明关注不限于特定计算机系统或网络配置的备份和恢复功能性。最后,工作站计算机系统10、服务器架12、NWDC18的规格和其具体存储器MEM、MEM1、SMEM和设备驱动器11A和11C的定位不暗示特定的客户端-服务器关系或层次组织,因为可以在分布式系统中采用本发明的技术,在该分布式系统中,不将具体机器标识为服务器,但至少一个机器提供根据本发明的实施例的诸如实现混合存储子系统或设备的设备驱动器的程序或对象的实例和功能。
现在参考图2,示出根据本发明的一个实施例的混合存储设备20。混合存储设备20包括根据本发明的混合存储子系统的所有功能,因此可以用在图1中描述的系统中而不需要专门的设备驱动器或单独的SSD和HDD驱动器。微控制器24执行存储器26中存储的程序指令。这些程序指令通常存储在诸如闪存的存储器26的非易失性部分中。诸如小计算机系统接口(SCSI)或串行AT附件(SATA)接口的存储器接口28提供与诸如图1中的工作站计算机系统10的STC14的计算机系统的存储控制器的连接。混合存储设备20包括较低等待时间块设备、例如SSD存储器阵列21和较高等待时间存储设备、例如经由HDD读/写电子装置22而接口的一组HDD盘片(platter)/头23。HDD读/写电子装置22不同于诸如图1的HDD17A-17C的HDD之处在于,在HDD读/写电子装置22和微控制器24之间不需要通常用于将HDD17A-17C的内部存储器连接到STC14的存储接口,因此与混合存储设备20的HDD和SSD部分共同共享存储接口28。另外,通过微控制器24来实现在典型的SSD中实现存储设备模拟的算法,因此,SSD存储器阵列21仅表示为SSD实现而提供的存储器,且不需要完全实现的单独SSD驱动器将包含的其他逻辑和控制器。
如所示,微控制器24在存储在存储器26内的根据本发明的实施例的计算机程序产品的控制下,经由存储接口28接收访问请求和其他命令。微控制器24经由HDD读/写电子装置22访问SSD存储器阵列21或HDD盘片/头23内的半导体存储设备,以提供具有很高吞吐量的混合盘阵列的功能。以下更详细地描述基本上是由图1的设备驱动器11A和11C使用的相同方法的在存储器26中的混合盘控制程序的操作。
现在参考图3,示出了由图1的系统和图2的存储设备中的混合盘控制程序使用的数据结构。维持两个空闲列表(freelist):HDD空闲列表30和SSD空闲列表32。在空闲列表30、32中的条目至少包含诸如存储子系统内的设备的盘标识符(ID)或逻辑单元号(LUN)的设备标识符和诸如逻辑块地址(LBA)的由该条目表示的块在存储设备上的位置。可以在其中仅存在一个SSD和一个HDD设备的实施方式中省略盘ID。通过包括对于SSD和HDD设备两者的在块级别的单独的空闲列表,可以在不同类型的设备之间容易地迁移块,且可以在不同类型的设备之间混合文件的内容的位置,同时在设备之一上唯一地存储每个块。因此,本发明的存储子系统不是一个全部包含的层次(inclusivehierarchy),而是设法将更频繁访问的数据定位于诸如SSD的较低等待时间(且通常成本更高的)存储设备中、同时为了经济目的通常提供诸如HDD的较高等待时间存储设备中的大量存储的子系统。可以理解,上述的系统和机制将通常适用于不同等待时间的存储设备,且SSD和HDD设备/存储阵列的使用、除了当关注具体要求保护的实施例时之外都是示例的,且应该被理解为包括使用以下描述的本发明的技术的其他混合存储子系统和设备。在示例实施例中使用最近最少使用(LRU)列表34来存储在SSD中的当前分配的块的列表。这些条目通过其最后的访问时间、或通过如通常用于实现逐出(cast-out)机制的诸如LRU的另一机制来排序。随着块被访问,该列表被更新,且随着数据块从SSD移除且传输到HDD,该列表缩短。或者,条目在该列表中的位置可以维持固定,且使用每个条目中存储的值来提供该条目的LUR等级(ranking)的指示。可以使用诸如最近最多使用(MRU)的其他机制,且预期它们落在本发明的范围内。
现在参考图4,在流程图中示出根据本发明的一个实施例的读取访问方法。接收盘读取访问请求(步骤40),且如果被请求的块位于SSD中(决定41),则响应于读取访问请求从SSD中取得并返回该块(步骤42)。更新SSDLRU列表来反映该读取访问(步骤47),且不采用进一步的动作。如果被请求的块不位于SSD中(决定41),则进行检查以确定该块是否存在于HDD中(决定43),且如果不是,则读取访问操作失败(步骤48)。否则,如果该块存在于HDD中(决定43),则响应于读取访问请求从HDD中取得并返回该块(步骤44)。来自SSD空闲列表的块被分配,且将该块从HDD复制到SSD(步骤45),最后,一旦复制完成,该HDD块就被添加到HDD空闲列表。然后,更新SSDLRU列表来反映该读取访问(步骤47)。可以在读取请求器的背景下进行上述SSD分配和复制,或可以在已返回块之后调度上述SSD分配和复制。具体地,由于在复制期间该块的内容正被传输到SSD,因此可能期望从SSD空闲列表预分配该块,且同时将该块的数据从HDD传输到接口输出缓冲器或直接存储器访问(DMA)目标和SSD存储设备两者。
现在参考图5,在流程图中示出根据本发明的一个实施例的写入访问方法。接收盘写入访问请求(步骤50),且如果指定的块位于SSD中(决定51),则通过盖写(over-write)SSD块内容来在SSD中更新该块(步骤52),且不采取进一步的动作。如果指定的块不位于SSD中(决定51),则进行检查以确定该块是否存在于HDD中(决定53),且如果不存在,则从HDD空闲列表中分配HDD块(步骤55),且将该块复制到HDD中的新分配的块(步骤56)。否则,如果该块存在于HDD中(决定53),则通过盖写HDD块内容来在HDD中更新该块(步骤54)。上述方法与读取访问方法不同之处在于,对于写入访问不进行块从HDD向SSD的迁移。由于SSD设备通常具有比读取等待时间更长的平均写入等待时间,尤其是当写入大量数据时,因此当在相同时间段期间这些块同时未被读取时,向HDD进行写入操作将改善性能。
因为图4中描述的方法将趋于用最新近(most-recently)读取的块来填充该SSD,且因为从HDD的读取访问需要空闲的SSD块来进行步骤45中的复制操作,因此期望具有用于在SSD上维持某个程度的空闲空间的机制。现在参考图6,在流程图中示出根据本发明的实施例的用于释放SSD上的块的方法。当例如通过图4的步骤44触发,接收到从SSD空闲列表分配块的请求(步骤60)时,如在图4的步骤45中,分配该块并从空闲列表中移除该块(步骤61)。如果SSD空闲列表中的块的数量小于临界阈值(决定62),则立即将来自SSD的LRU块迁移到HDD(步骤63)。临界阈值是该系统试图在所有情况下在SSD中维持的空闲块的最最小数量。如果在SSD空闲列表中的块的数量大于或等于临界阈值(决定62),则如果在SSD空闲列表中的块的数量大于或等于常规(regular)阈值(决定64),则不进行迁移。如果在HDD空闲列表中的块的数量小于常规阈值(决定64),则在后台调度LRU块从SSD的迁移。
虽然本发明已经具体示出并参考其优选实施例进行描述,但是,本领域技术人员将理解,不脱离所附权利要求限定的本发明的范围,可以在其中进行形式和细节上的以上和其他改变。

Claims (12)

1.一种管理包括较低等待时间块存储设备和较高等待时间块存储设备的存储子系统的计算机进行的方法,所述方法包括:
接收涉及多个块的文件访问操作请求,其中,所述多个块中的各个块被存储在较低等待时间块存储设备或较高等待时间块存储设备上;
将该请求所涉及的文件中的下一块指定为给定块;
确定所述给定块是否存在于较低等待时间块存储设备中;
响应于确定所述给定块存在于较低等待时间块存储设备中,访问在较低等待时间块存储设备处的该给定块;
响应于确定所述给定块不存在于较低等待时间块存储设备中,访问在较高等待时间块存储设备处的该给定块,如果在较高等待时间块存储设备处存在该给定块,则把该给定块复制到较低等待时间块存储设备中,并将该给定块添加到较高等待时间块存储设备的空闲列表中;以及
对于所述文件访问操作请求涉及的后续块重复所述指定、确定和访问,直到已经访问了所述文件访问操作请求所涉及的最后块。
2.根据权利要求1的计算机进行的方法,其中,所述较低等待时间块存储设备是固态盘驱动器,且其中所述较高等待时间块存储设备是硬盘驱动器。
3.根据权利要求2的方法,其中,所述文件访问操作是读取操作,且其中,所述方法还包括:
对于每个给定块,响应于确定所述给定块不存在于固态盘驱动器中,确定所述给定块是否存在于硬盘驱动器中;
响应于确定所述给定块存在于所述硬盘驱动器中,从固态盘驱动器的空闲列表中分配所述固态盘驱动器中的块;
还响应于确定所述给定块存在于所述硬盘驱动器中,将所述给定块的内容从所述硬盘驱动器复制到所述固态盘驱动器;
响应于完成所述复制,将给定块添加到所述硬盘驱动器的空闲列表;以及
响应于所述读取操作,返回所述给定块的内容。
4.根据权利要求3的方法,还包括响应于确定所述给定块存在于所述固态盘驱动器中或者存在于所述硬盘驱动器中,更新所述固态盘驱动器的最近最少使用列表。
5.根据权利要求2的方法,其中,所述文件访问操作是写入操作,且其中,所述方法还包括:
对于每个给定块,响应于确定所述给定块不存在于所述固态盘驱动器中,确定所述块是否存在于所述硬盘驱动器中;
响应于确定所述给定块存在于所述硬盘驱动器中,将写入操作提供的数据写到所述给定块;以及
响应于确定所述给定块不存在于所述硬盘驱动器中,从硬盘驱动器空闲列表中分配所述硬盘驱动器上的新块;以及
还响应于确定所述给定块不存在于所述硬盘驱动器中,将写入操作提供的数据写到所述新块。
6.根据权利要求2的方法,其中,所述文件访问操作是读取操作,且其中,所述方法还包括:
对于每个给定块,响应于确定所述给定块不存在于所述固态盘驱动器中,确定所述给定块是否存在于硬盘驱动器中;
响应于确定所述给定块存在于所述硬盘驱动器中,从所述固态盘驱动器的空闲列表中分配所述固态盘驱动器中的块;
还响应于确定所述给定块存在于所述硬盘驱动器中,将给定块的内容从所述硬盘驱动器复制到所述固态盘驱动器;
响应于完成所述复制,将所述给定块添加到所述硬盘驱动器的空闲列表;以及
响应于所述读取操作,返回所述给定块的内容。
7.一种用于管理包括较低等待时间块存储设备和较高等待时间块存储设备的存储子系统的计算机系统,包含:
用于接收涉及多个块的文件访问操作请求的装置,其中,所述多个块中的各个块被存储在较低等待时间块存储设备或较高等待时间块存储设备上;
用于将该请求所涉及的文件中的下一块指定为给定块的装置;
用于确定所述给定块是否存在于较低等待时间块存储设备中的装置;
用于响应于确定所述给定块存在于较低等待时间块存储设备中,访问在较低等待时间块存储设备处的该给定块的装置;
用于响应于确定所述给定块不存在于较低等待时间块存储设备中,访问在较高等待时间块存储设备处的该给定块,如果在较高等待时间块存储设备处存在该给定块,则把该给定块复制到较低等待时间块存储设备中,并将该给定块添加到较高等待时间块存储设备的空闲列表中的装置;以及
用于对于所述文件访问操作请求涉及的后续块重复所述指定、确定和访问,直到已经访问了所述文件访问操作请求所涉及的最后块的装置。
8.根据权利要求7的计算机系统,其中,所述较低等待时间块存储设备是固态盘驱动器,且其中所述较高等待时间块存储设备是硬盘驱动器。
9.根据权利要求8的计算机系统,其中,所述文件访问操作是读取操作,且其中,所述计算机系统还包括:
用于对于每个给定块,响应于确定所述给定块不存在于固态盘驱动器中,确定所述给定块是否存在于硬盘驱动器中的装置;
用于响应于确定所述给定块存在于所述硬盘驱动器中,从固态盘驱动器的空闲列表中分配所述固态盘驱动器中的块的装置;
用于还响应于确定所述给定块存在于所述硬盘驱动器中,将所述给定块的内容从所述硬盘驱动器复制到所述固态盘驱动器的装置;
用于响应于完成所述复制,将给定块添加到所述硬盘驱动器的空闲列表的装置;以及
用于响应于所述读取操作,返回所述给定块的内容的装置。
10.根据权利要求9的计算机系统,还包括:用于响应于确定所述给定块存在于所述固态盘驱动器中或者存在于所述硬盘驱动器中,更新所述固态盘驱动器的最近最少使用列表的装置。
11.根据权利要求8的计算机系统,其中,所述文件访问操作是写入操作,且其中,所述计算机系统还包括:
用于对于每个给定块,响应于确定所述给定块不存在于所述固态盘驱动器中,确定所述块是否存在于所述硬盘驱动器中的装置;
用于响应于确定所述给定块存在于所述硬盘驱动器中,将写入操作提供的数据写到所述给定块的装置;以及
用于响应于确定所述给定块不存在于所述硬盘驱动器中,从硬盘驱动器空闲列表中分配所述硬盘驱动器上的新块的装置;以及
用于还响应于确定所述给定块不存在于所述硬盘驱动器中,将写入操作提供的数据写到所述新块的装置。
12.根据权利要求8的计算机系统,其中,所述文件访问操作是读取操作,且其中,所述计算机系统还包括:
用于对于每个给定块,响应于确定所述给定块不存在于所述固态盘驱动器中,确定所述给定块是否存在于硬盘驱动器中的装置;
用于响应于确定所述给定块存在于所述硬盘驱动器中,从所述固态盘驱动器的空闲列表中分配所述固态盘驱动器中的块的装置;
用于还响应于确定所述给定块存在于所述硬盘驱动器中,将给定块的内容从所述硬盘驱动器复制到所述固态盘驱动器的装置;
用于响应于完成所述复制,将所述给定块添加到所述硬盘驱动器的空闲列表的装置;以及
用于响应于所述读取操作,返回所述给定块的内容的装置。
CN201080058063.2A 2009-12-22 2010-12-08 混合存储子系统及其管理方法 Expired - Fee Related CN102667704B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/644,721 US8438334B2 (en) 2009-12-22 2009-12-22 Hybrid storage subsystem with mixed placement of file contents
US12/644,721 2009-12-22
PCT/EP2010/069140 WO2011076565A1 (en) 2009-12-22 2010-12-08 Hybrid storage subsystem

Publications (2)

Publication Number Publication Date
CN102667704A CN102667704A (zh) 2012-09-12
CN102667704B true CN102667704B (zh) 2016-01-06

Family

ID=43530850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080058063.2A Expired - Fee Related CN102667704B (zh) 2009-12-22 2010-12-08 混合存储子系统及其管理方法

Country Status (5)

Country Link
US (2) US8438334B2 (zh)
CN (1) CN102667704B (zh)
DE (1) DE112010004969B4 (zh)
GB (1) GB2489343B (zh)
WO (1) WO2011076565A1 (zh)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700949B2 (en) 2010-03-30 2014-04-15 International Business Machines Corporation Reliability scheme using hybrid SSD/HDD replication with log structured management
US9471240B2 (en) * 2010-06-24 2016-10-18 International Business Machines Corporation Performing read and write operations with respect to at least one solid state disk and at least one non-solid state disk
US8560759B1 (en) * 2010-10-25 2013-10-15 Western Digital Technologies, Inc. Hybrid drive storing redundant copies of data on disk and in non-volatile semiconductor memory based on read frequency
WO2012103245A2 (en) 2011-01-27 2012-08-02 Soft Machines Inc. Guest instruction block with near branching and far branching sequence construction to native instruction block
WO2012103367A2 (en) 2011-01-27 2012-08-02 Soft Machines, Inc. Guest to native block address mappings and management of native code storage
KR101612594B1 (ko) 2011-01-27 2016-04-14 소프트 머신즈, 인크. 프로세서의 변환 룩 어사이드 버퍼를 이용하는 게스트 명령-네이티브 명령 레인지 기반 매핑
WO2012103359A2 (en) 2011-01-27 2012-08-02 Soft Machines, Inc. Hardware acceleration components for translating guest instructions to native instructions
WO2012103253A2 (en) 2011-01-27 2012-08-02 Soft Machines, Inc. Multilevel conversion table cache for translating guest instructions to native instructions
US11099982B2 (en) 2011-03-31 2021-08-24 Oracle International Corporation NUMA-aware garbage collection
US10140208B2 (en) * 2011-03-31 2018-11-27 Oracle International Corporation NUMA-aware garbage collection
US9792218B2 (en) * 2011-05-20 2017-10-17 Arris Enterprises Llc Data storage methods and apparatuses for reducing the number of writes to flash-based storage
EP2715510B1 (en) * 2011-05-24 2018-05-02 Marvell World Trade Ltd. Method for storage devices to achieve low write amplification with low over provision
US9639792B2 (en) * 2011-07-18 2017-05-02 Ricoh Company, Ltd. Resolution of out of memory conditions for shared memory in a print controller
WO2013038442A1 (en) * 2011-09-13 2013-03-21 Hitachi, Ltd. Storage system comprising flash memory, and storage control method
US8977799B2 (en) * 2011-09-26 2015-03-10 Lsi Corporation Storage caching/tiering acceleration through staggered asymmetric caching
CN102541466A (zh) * 2011-10-27 2012-07-04 忆正存储技术(武汉)有限公司 一种混合存储控制系统和方法
KR20130064521A (ko) * 2011-12-08 2013-06-18 삼성전자주식회사 데이터 저장 장치 및 그것의 데이터 관리 방법
US20130219116A1 (en) * 2012-02-16 2013-08-22 Wenguang Wang Data migration for composite non-volatile storage device
US20130242425A1 (en) * 2012-03-16 2013-09-19 Toshiba America Electronics Components, Inc. Write reordering in a hybrid disk drive
US8984267B2 (en) * 2012-09-30 2015-03-17 Apple Inc. Pinning boot data for faster boot
CN103049349B (zh) * 2012-11-29 2016-02-24 记忆科技(深圳)有限公司 基于分层存储的快照方法及系统
US10073851B2 (en) * 2013-01-08 2018-09-11 Apple Inc. Fast new file creation cache
US10467010B2 (en) 2013-03-15 2019-11-05 Intel Corporation Method and apparatus for nearest potential store tagging
WO2014151652A1 (en) 2013-03-15 2014-09-25 Soft Machines Inc Method and apparatus to allow early dependency resolution and data forwarding in a microprocessor
CN109358948B (zh) 2013-03-15 2022-03-25 英特尔公司 用于支持推测的访客返回地址栈仿真的方法和装置
US9606935B2 (en) * 2013-03-15 2017-03-28 Intel Corporation Method and apparatus for preventing non-temporal entries from polluting small structures using a transient buffer
US10198265B2 (en) 2013-03-15 2019-02-05 Intel Corporation Microprocessor for gating a load operation based on entries of a prediction table
CN103150128A (zh) * 2013-03-25 2013-06-12 中国人民解放军国防科学技术大学 基于ssd和磁盘的可靠混合存储系统实现方法
JP5362145B1 (ja) * 2013-03-29 2013-12-11 株式会社東芝 論理アドレスと物理アドレスとの間のマッピングを管理するストレージシステム、ストレージコントローラ及び方法
JP2014235677A (ja) * 2013-06-05 2014-12-15 株式会社東芝 データ記憶装置およびデータ記憶制御方法
US9070379B2 (en) * 2013-08-28 2015-06-30 Western Digital Technologies, Inc. Data migration for data storage device
CN103455390A (zh) * 2013-08-29 2013-12-18 上海铁路通信有限公司 适用于车辆使用环境的双介质冗余存储系统及其应用
WO2015072925A1 (en) * 2013-11-14 2015-05-21 Agency For Science, Technology And Research Method for hot i/o selective placement and metadata replacement for non-volatile memory cache on hybrid drive or system
CN103942159A (zh) * 2014-03-19 2014-07-23 华中科技大学 一种基于混合存储设备的数据读写方法与装置
WO2016016989A1 (ja) 2014-07-31 2016-02-04 株式会社 東芝 階層化ストレージシステム、ストレージコントローラ及びプログラム
CN104216988A (zh) * 2014-09-04 2014-12-17 天津大学 分布式大数据的ssd磁盘和hdd磁盘混合存储方法
CN104391807A (zh) * 2014-10-23 2015-03-04 浪潮电子信息产业股份有限公司 一种提升存储服务器性能的方法及系统
CN104363175A (zh) * 2014-11-21 2015-02-18 迈普通信技术股份有限公司 一种资源表构建方法和装置
EP3062210B1 (en) * 2015-02-24 2019-11-06 Alcatel-Lucent España, S.A. Method and server for the storage of multimedia content and its delivery in adaptive streaming systems
US9965181B2 (en) * 2015-04-08 2018-05-08 Kabushiki Kaisha Toshiba Hybrid-HDD with multiple caching modes
US9703485B2 (en) 2015-07-15 2017-07-11 Western Digital Technologies, Inc. Storage management in hybrid drives
CN106933494B (zh) * 2015-12-31 2019-10-18 伊姆西公司 混合存储设备的操作方法和装置
TW201725476A (zh) * 2016-01-12 2017-07-16 智微科技股份有限公司 依據電源狀態決定其混合存儲單元運作模式的電子系統以及用於電子系統之操作的方法
CN107340970A (zh) * 2016-01-19 2017-11-10 联芸科技(杭州)有限公司 依据电源状态决定其混合存储单元运作模式的电子系统以及用于电子系统的操作的方法
US9583182B1 (en) * 2016-03-22 2017-02-28 Intel Corporation Multi-level memory management
US10942844B2 (en) 2016-06-10 2021-03-09 Apple Inc. Reserved memory in memory management system
CN106681665B (zh) * 2016-12-29 2020-04-24 北京奇虎科技有限公司 缓存数据的持久化存储方法及装置
US10474397B2 (en) 2017-06-13 2019-11-12 Western Digital Technologies, Inc Unified indirection in a multi-device hybrid storage unit
US10572407B2 (en) * 2017-08-11 2020-02-25 Western Digital Technologies, Inc. Hybrid data storage array
US11461287B2 (en) * 2017-10-26 2022-10-04 EMC IP Holding Company LLC Managing a file system within multiple LUNS while different LUN level policies are applied to the LUNS
US11204705B2 (en) 2019-03-05 2021-12-21 Western Digital Technologies, Inc. Retention-aware data tiering algorithm for hybrid storage arrays
US11789632B1 (en) * 2020-07-12 2023-10-17 Lightbits Labs Ltd. System and method for data placement in multiple tier storage systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369451A (zh) * 2007-08-14 2009-02-18 三星电子株式会社 固态存储器、包含其的计算机系统和操作其的方法
CN101403975A (zh) * 2007-10-02 2009-04-08 三星电子株式会社 使用非易失性存储介质再现媒体内容的方法和设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10154101A (ja) * 1996-11-26 1998-06-09 Toshiba Corp データ記憶システム及び同システムに適用するキャッシュ制御方法
US7814128B2 (en) * 2003-05-30 2010-10-12 Symantec Operating Corporation Multi-volume file support
KR100699893B1 (ko) * 2006-01-23 2007-03-28 삼성전자주식회사 하이브리드 디스크 드라이브 및 하이브리드 디스크드라이브의 데이터 제어방법
KR100675010B1 (ko) * 2006-02-03 2007-01-29 삼성전자주식회사 하이브리드 하드디스크 드라이브의 캐시 제어 방법, 이에적합한 기록 매체 그리고 이에 적합한 장치
US7870128B2 (en) * 2006-07-28 2011-01-11 Diskeeper Corporation Assigning data for storage based on speed with which data may be retrieved
US7899987B2 (en) * 2007-05-15 2011-03-01 Sandisk Il Ltd. File storage in a computer system with diverse storage media
US20090043831A1 (en) * 2007-08-11 2009-02-12 Mcm Portfolio Llc Smart Solid State Drive And Method For Handling Critical Files
US7792882B2 (en) * 2007-09-27 2010-09-07 Oracle America, Inc. Method and system for block allocation for hybrid drives
EP2263145B1 (en) * 2008-02-12 2020-02-05 NetApp, Inc. Hybrid media storage system architecture
KR101449524B1 (ko) * 2008-03-12 2014-10-14 삼성전자주식회사 스토리지 장치 및 컴퓨팅 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369451A (zh) * 2007-08-14 2009-02-18 三星电子株式会社 固态存储器、包含其的计算机系统和操作其的方法
CN101403975A (zh) * 2007-10-02 2009-04-08 三星电子株式会社 使用非易失性存储介质再现媒体内容的方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SSD-HDD-Hybrid Virtual Disk in Consolidated Environments;Heeseung Jo et al.;《Euro-Par 2009 Parallel Processing Workshops》;20090825;375-384 *

Also Published As

Publication number Publication date
DE112010004969T5 (de) 2013-01-17
US8959286B2 (en) 2015-02-17
GB201209219D0 (en) 2012-07-04
CN102667704A (zh) 2012-09-12
GB2489343B (en) 2016-08-31
US8438334B2 (en) 2013-05-07
US20110153931A1 (en) 2011-06-23
WO2011076565A1 (en) 2011-06-30
GB2489343A (en) 2012-09-26
US20130218892A1 (en) 2013-08-22
DE112010004969B4 (de) 2021-06-02

Similar Documents

Publication Publication Date Title
CN102667704B (zh) 混合存储子系统及其管理方法
US8447918B2 (en) Garbage collection for failure prediction and repartitioning
DE112013004250B4 (de) Vorrichtung, Verfahren und Computerprogrammprodukt für adaptive Persistenz
US8909887B1 (en) Selective defragmentation based on IO hot spots
US9996542B2 (en) Cache management in a computerized system
US10248322B2 (en) Memory system
US20100287217A1 (en) Host control of background garbage collection in a data storage device
Kadekodi et al. WineFS: a hugepage-aware file system for persistent memory that ages gracefully
US8131969B2 (en) Updating system configuration information
US20080016121A1 (en) Method, an apparatus and a system for managing a snapshot storage pool
Kateja et al. Viyojit: Decoupling battery and DRAM capacities for battery-backed DRAM
US20130124794A1 (en) Logical to physical address mapping in storage systems comprising solid state memory devices
CN105917318A (zh) 用于实现基于ssd的i/o高速缓存的系统和方法
JP2008152807A (ja) 計算機システム
US20180107601A1 (en) Cache architecture and algorithms for hybrid object storage devices
JP2002082775A (ja) 計算機システム
US8862819B2 (en) Log structure array
US8954666B2 (en) Storage subsystem
WO2016056104A1 (ja) ストレージ装置、及び、記憶制御方法
WO2020016649A2 (en) Pushing a point in time to a backend object storage for a distributed storage system
Na et al. Dynamic In-Page Logging for B⁺-tree Index
US9699254B2 (en) Computer system, cache management method, and computer
US11995329B1 (en) Techniques for improving write performance using zone sharing in log structured systems
JP6860722B2 (ja) メモリシステムの制御方法
EP4120090A1 (en) Storage design for host controlled logically addressed flexible data layout

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160106