CN102667704B - 混合存储子系统及其管理方法 - Google Patents
混合存储子系统及其管理方法 Download PDFInfo
- 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
Links
- 238000003860 storage Methods 0.000 title claims abstract description 43
- 238000007726 management method Methods 0.000 title description 4
- 230000004044 response Effects 0.000 claims description 32
- 238000000034 method Methods 0.000 claims description 24
- 238000005516 engineering process Methods 0.000 abstract description 12
- 239000007787 solid Substances 0.000 abstract 1
- 230000007246 mechanism Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000009434 installation Methods 0.000 description 4
- 230000005012 migration Effects 0.000 description 4
- 238000013508 migration Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 101100045541 Homo sapiens TBCD gene Proteins 0.000 description 1
- 101150093640 SSD1 gene Proteins 0.000 description 1
- 101100111629 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR2 gene Proteins 0.000 description 1
- 102100030290 Tubulin-specific chaperone D Human genes 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- G06F3/0647—Migration mechanisms
-
- 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/0683—Plurality of storage devices
- G06F3/0685—Hybrid 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的计算机系统,其中,所述文件访问操作是读取操作,且其中,所述计算机系统还包括:
用于对于每个给定块,响应于确定所述给定块不存在于所述固态盘驱动器中,确定所述给定块是否存在于硬盘驱动器中的装置;
用于响应于确定所述给定块存在于所述硬盘驱动器中,从所述固态盘驱动器的空闲列表中分配所述固态盘驱动器中的块的装置;
用于还响应于确定所述给定块存在于所述硬盘驱动器中,将给定块的内容从所述硬盘驱动器复制到所述固态盘驱动器的装置;
用于响应于完成所述复制,将所述给定块添加到所述硬盘驱动器的空闲列表的装置;以及
用于响应于所述读取操作,返回所述给定块的内容的装置。
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)
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)
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)
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 | 삼성전자주식회사 | 스토리지 장치 및 컴퓨팅 시스템 |
-
2009
- 2009-12-22 US US12/644,721 patent/US8438334B2/en not_active Expired - Fee Related
-
2010
- 2010-12-08 GB GB1209219.3A patent/GB2489343B/en active Active
- 2010-12-08 WO PCT/EP2010/069140 patent/WO2011076565A1/en active Application Filing
- 2010-12-08 DE DE112010004969.6T patent/DE112010004969B4/de active Active
- 2010-12-08 CN CN201080058063.2A patent/CN102667704B/zh not_active Expired - Fee Related
-
2013
- 2013-04-01 US US13/854,484 patent/US8959286B2/en not_active Expired - Fee Related
Patent Citations (2)
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)
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 |