CN102651009B - 一种存储系统中检索数据的方法和设备 - Google Patents

一种存储系统中检索数据的方法和设备 Download PDF

Info

Publication number
CN102651009B
CN102651009B CN201110051630.8A CN201110051630A CN102651009B CN 102651009 B CN102651009 B CN 102651009B CN 201110051630 A CN201110051630 A CN 201110051630A CN 102651009 B CN102651009 B CN 102651009B
Authority
CN
China
Prior art keywords
metadata
mapping table
storage
data structure
tree data
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.)
Active
Application number
CN201110051630.8A
Other languages
English (en)
Other versions
CN102651009A (zh
Inventor
李小燕
方敏
顾慧翔
曾凡钢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Priority to CN201110051630.8A priority Critical patent/CN102651009B/zh
Priority to US13/407,121 priority patent/US9058112B2/en
Publication of CN102651009A publication Critical patent/CN102651009A/zh
Application granted granted Critical
Publication of CN102651009B publication Critical patent/CN102651009B/zh
Priority to US14/739,153 priority patent/US9747318B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • 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/0643Management of files
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/152Virtualized environment, e.g. logically partitioned system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation

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)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种存储系统中检索数据的方法和设备,该方法包括:接收一写操作请求;建立所述写操作的逻辑块地址与物理块地址的对应关系;判断在存储的元数据中加入上述对应关系后,使用映射表计算的有效数据比例是否大于预设阈值;响应于使用映射表计算的有效数据比例不大于所述预设阈值,在所述存储的元数据的B-tree数据结构中加入所述对应关系;响应于使用映射表计算的有效数据比例大于所述预设阈值,判断所述存储的元数据是否以B-tree数据结构存储,响应于所述存储的元数据以B-tree数据结构存储,将该以B-tree数据结构存储的元数据存储为包含上述对应关系的元数据的映射表;以及在上述物理块地址写入该写操作请求要求写入的数据。

Description

一种存储系统中检索数据的方法和设备
技术领域
本发明一般涉及存储系统,更具体地,涉及一种存储系统中检索数据的方法和设备。
背景技术
目前,数据已经成为企业最重要的资源之一。1998年图灵奖获得者JimGray曾断言:现在每18个月新增的存储量等于有史以来存储量之和。根据预测,2020年数据宇宙将达到35.2ZB(1ZB=1百万PB),比2009的0.8ZB增加44倍(本发明中全部数据量或者存储空间单位的B为字节)。数据量的几乎指数型的增长,使得企业需要不断购置大量的存储设备来应对不断增长的存储需求。但是研究发现,企业的存储利用率往往不足50%,存储投资回报率水平较低。
为了满足数据存储高增长的要求,提出了高效存储(Space Efficient)理念,旨在缓解存储系统的空间增长问题,缩减数据占用空间,简化存储管理,最大程度地利用已有资源,降低成本。高效存储的基本策略主要有存储资源整合、动态存储容量配置、缩减存储容量、信息生命周期管理和降低能耗,高效存储技术基于这五种基本策略来实现高效的存储。
高效存储策略的一个重要技术就是自动精简配置(Thin Provisioning),是一种全新的存储空间管理技术,它的核心原理是“欺骗”操作系统,让其认为存储系统中有很大的存储空间,而实际上的物理存储空间并没有那么大。传统的存储系统中,为确保存储容量在一定的时间内足够使用,用户往往会部署多于实际需求的充足物理存储空间。但在实际使用过程中,尤其是初始阶段,部署的存储容量通常都未充分利用。例如,一个中小企业计划5年内计划使用的存储容量为2TB,第一年使用50GB,第二年达到200GB,第三年达到900GB,第4年为1.2TB,第5年达到2TB,则传统的存储系统中需要一次部署2TB的存储空间,需要很高的投资,但是存储空间的利用率很低。而使用自动精简配置技术的存储系统,不会一次性的划分过大的空间给某项应用,而是根据该项应用实际所需要的容量,多次的少量的分配给应用程序,当该项应用所产生的数据增长,分配的容量空间已不够的时候,系统会再次从后端存储池中补充分配一部分存储空间。这样,用户可以第一年只配置50GB的实际物理存储空间,在第二年再增加150GB的物理存储空间,以此类推。使用这样的技术,无须改变用户存储系统的体系结构,还能够减少超量配置,大幅提高存储空间利用效率,降低初始投资成本,降低总功耗,从而降低企业运营成本。目前,IBM、HDS、EMC、3PAR的高端磁盘阵列均支持该项技术。
使用自动精简配置的存储系统与传统的存储系统数据的组织方式不同,导致二者的数据索引方式不同,从而支持上述功能。使用自动精简配置的存储系统检索数据耗时更长,性能会变差,实际上是一种以时间换空间的技术方案。因此,有必要提出新的技术方案,来减少应用自动精简配置技术的存储系统的检索数据时间。
发明内容
本发明提出了一种存储系统中检索数据的方法和设备,该存储系统应用自动精简配置技术,本发明的方法和系统能够进一步减少现有的高效存储系统的IO访问时间,提高IO访问效率。
根据本发明的一个方面,提供了一种存储系统中检索数据的方法,该方法包括:
接收一写操作请求;
建立所述写操作的逻辑块地址与物理块地址的对应关系;
判断在存储的元数据中加入上述对应关系后,使用映射表计算的有效数据比例是否大于预设阈值;
响应于使用映射表计算的有效数据比例不大于所述预设阈值,在所述存储的元数据的B-tree数据结构中加入所述对应关系;
响应于使用映射表计算的有效数据比例大于所述预设阈值,判断所述存储的元数据是否以B-tree数据结构存储,响应于所述存储的元数据以B-tree数据结构存储,将该以B-tree数据结构存储的元数据存储为包含上述对应关系的元数据的映射表;以及
在上述物理块地址写入该写操作请求要求写入的数据。
根据本发明的另一个方面提供了一种存储系统中检索数据的设备,该设备包括:
接收装置,被配置为接收一写操作请求;
对应关系建立装置,被配置为对所述写操作请求,建立所述写操作的逻辑块地址与物理块地址的对应关系;
第一判断装置,被配置为判断在存储的元数据加入上述对应关系后,使用映射表计算的有效数据比例是否大于预设阈值;
B-tree索引对应关系加入装置,被配置为响应于使用映射表计算的有效数据比例不大于所述预设阈值,在所述存储的元数据的B-tree数据结构中加入所述对应关系;
第二判断装置,被配置为响应于使用映射表计算的有效数据比例大于所述预设阈值,判断所述存储的元数据是否以B-tree数据结构存储;
转换装置,被配置为响应于所述存储的元数据以B-tree数据结构存储,将该以B-tree数据结构存储的元数据存储为包含上述对应关系的元数据的映射表;以及
写入装置,被配置为在上述物理块地址写入该写操作请求要求写入的数据。。
附图说明
通过对附图中本发明示例实施例方式的更详细描述,本发明的上述、以及其它目的、特征和优势将变得更加明显,其中,相同的参考标号通常代表本发明示例实施例方式中的相同部件。
图1示出了现有的自动精简配置存储技术中的体系结构;
图2示出了一个映射表的结构及其中数据表达的含义;
图3示出了根据本发明的一种实施方式的一种存储系统中检索数据的方法流程;以及
图4示出了根据本发明的一种实施方式的一种存储系统中检索数据的设备结构。
具体实施方式
将参照附图更加详细地描述本发明的优选实施方式,在附图中显示了本发明的优选实施例。然而,本发明可以以各种形式实现而不应该理解为被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且,完全将本发明的范围传达给本领域的技术人员。
目前常用的存储系统一般都是采用虚拟存储结构,即将实际的物理硬盘虚拟成为多个卷,可以认为这多个卷就是多个虚拟盘。例如两个3G的物理硬盘可能被主机虚拟成为3个2G的虚拟盘,使用3个盘符标记来给主机使用;每个虚拟盘都可以支持自动精简配置存储技术。存储系统分配存储空间时,分配的单位为粒(Grain),粒的单位可以为32K,64K,128K或者256K等等。从技术上来看,无论是虚拟化存储系统还是实际的物理存储系统,都可以支持自动精简配置存储技术。
图1示出了现有的自动精简配置存储技术中的体系结构,来自CPU100的输入输出(IO)操作,包括写操作和读操作,被高速缓存模块102中的缓存代理1021获得,高速缓存模块102中的缓存代理1021主要是用于提高IO速度的,可以将一些常用的客户数据放置到高速缓存中,当需要访问数据时,首先访问高速缓存,如果高速缓存中存在该数据,称为高速缓存命中,就无需到低速存储器(例如硬盘,磁带等存储系统中用于存储用户数据的设备)中访问该数据,来提高访问速度;如果高速缓存未命中,就通过自动精简配置模块103,对高速缓存模块102要进行IO操作的数据的地址进行重新映射,得到数据的物理地址,访问低速存储器(或者虚拟盘)104的该地址。
具体来说,对于写操作,根据图1,首先CPU的写操作通过高速缓存模块102中的缓存代理1021进入自动精简配置模块103的空间分配器1031,空间分配器根据写操作的逻辑块地址,为其分配一个物理块地址,然后对低速存储器104中的元数据的映射表1041进行修改,在元数据中建立起上述分配的物理块地址与写操作的逻辑块地址的映射关系;最后将写操作相关的数据写入到上述分配的物理块地址,一次写操作分配的地址空间大小为一个粒。而对于读操作,根据图1,首先CPU的读操作通过高速缓存模块102中的缓存代理1021进入自动精简配置模块103的空间分配器1031,空间分配器根据读操作的逻辑块地址,查询元数据的映射表中该逻辑块地址对应的物理块地址,然后从低速存储器104的物理块地址读出该数据。
可见每一次的IO操作都要至少访问低速存储器两次,一次是获得元数据的映射表中的地址映射关系,另外一次是访问客户数据,造成IO操作时间较长的问题。配置有自动精简配置存储技术的虚拟盘对于随机读操作在高速缓存未命中时,性能大约是配置传统存储技术磁盘的1/2;配置有自动精简配置存储技术的虚拟盘对于随机写操作在高速缓存未命中时,性能大约是配置传统存储技术磁盘的1/3。因此,有必要提高配置有自动精简配置存储技术的存储系统的I/O性能。
由于在自动精简配置存储技术中,实际的物理存储空间一般小于等于CPU分配的存储空间式,因此,在这种存储技术中,数据的组织方式与通常的存储技术不同,导致自动精简配置存储技术数据的索引方式也与通常的存储索引不同。通常的存储技术中,由于实际的物理存储空间等于CPU分配的存储空间式,因此,CPU进行读写操作时,逻辑空间与物理存储空间可以认为是一一对应的,不需要存储其映射关系。而在自动精简配置存储技术数据中,在低速存储器上存储了元数据,用于将CPU的IO操作的逻辑地址映射到对应的物理存储地址。因此,支持自动精简配置存储技术的低速存储器(或虚拟盘)中通常包含了元数据和用户数据。元数据采用B-tree数据结构存储。
本发明提出了一种元数据的新的数据结映射表,该映射表数据结构含义更清楚,如图2所示。图2示出了一个元数据的映射表结构及其中数据表达的含义。该映射表看起来像是一个矩阵,实际上,是以第一行、第二行......,第五行的形式存储来表达的从逻辑块地址到物理块地址的映射,例如图1的映射表中表达了25个逻辑块地址和物理块地址的映射关系,具体来说,映射表中数据0表示第0(从第一行开始数为第0个数据)个逻辑块对应着第0个物理块,映射表中数据1表示第4(从第一行开始数为第4个数据)个逻辑块对应着第1个物理块,映射表中数据2表示第5(从第一行开始数为第5个数据)个逻辑块对应着第2个物理块。
使用上述元数据的映射表的数据结构存储元数据,所使用的存储空间满足下式:
元数据的映射表所占的存储空间=虚拟存储能力/粒的空间*8
举例来说,对于一个2T字节(Bytes)的虚拟存储能力而言,元数据的映射表需要512M字节的存储空间,因此,使用映射表存储元数据,映射表所占用的存储空间对于整个预定的数据存储空间而言是固定的。
但是,元数据的映射表在低速存储器(例如磁盘,磁带等)初始使用阶段,由于大部分映射表中的元素还没有被填入数据,映射表中有效数据较少,数据是稀疏的。随着低速存储器空间的使用,映射表中有效数据会越来越稠密。但是映射表本身占用的存储空间无论在数据稀疏还是稠密时,都是一样的,并且映射表中地址的映射关系一旦建立后就不会删除,因此,映射表中的有效数据是持续增长的。但是映射表本身占用的存储空间是不变的。
而在现有支持自动精简配置存储技术的存储系统中,低速存储器上存储的元数据的B-Tree数据结构,在低速存储器初始使用阶段,是一个较小的树,占用的存储空间少;随着低速存储器空间的使用,B-tree越来越大,占用的存储空间也越来越大。
表1给出元数据中不同的有效数据比例对应的映射表及B-Tree所需的存储空间。其中B-tree的每个节点有512个条目。其中有效数据的比例为映射表中非空数据占映射表全部数据的百分比。
可见,当使用映射表,元数据中有效数据比例为50%时,B-tree数据结构所需的存储空间与映射表数据结构所需的存储空间相同。显然,这种情况下,如果有效数据继续增长,B-tree数据结构占用的存储空间将大于映射表数据结构占用的存储空间。当然,这里50%的比例只是针对上述特定实例,在不同的情况下,这个比例可能不同,但是可以知道,存在着这样的阈值,当使用映射表,有效数据的比例小于该阈值时,存储元数据的B-tree数据结构更节约存储空间,当使用映射表,有效数据的比例大于该阈值时,存储映射表更节约存储空间。
表1不同的有效数据比例对应的映射表及B-Tree所需的存储空间
本发明考虑到,在支持自动精简配置存储技术的存储系统的IO访问性能影响因素中,主要是元数据的访问,如果能加速元数据的访问,则就能提高IO访问性能。低速存储器的访问速度众所周知,与高速缓存器(cache)相比太慢,因此一个直观的想法就是在运行时将元数据存储在高速缓存中,因为高速缓存是挥发性存储,即断电后存储内容消失,因此在运行结束后需要将高速缓存中的元数据存储到低速存储器中。但是,通常的高速缓存空间较小,还要存储用户数据,所以只能在高速缓存中放入很少量的元数据,现有的在支持自动精简配置存储技术的存储系统中,就在高速缓存中存储全部(B-tree需要的存储空间小时)或部分的元数据的B-tree数据结构(B-tree需要的存储空间大时),来加速性能。在元数据的B-tree数据结构占用的存储空间大时,对于在高速缓存中无法检索到的元数据,需要去访问低速存储器中的元数据,降低了存储系统的IO访问效率。
既然低速存储器的访问时间较长,而高速缓存的空间有很有限,直接利用高速缓存的方案有不可行,可以考虑采用高速存储器来存储元数据,来提高访问效率。在一种实施方式中,存储元数据的高速存储器可以采用固态硬盘(SSD,solid state disk)。固态硬盘是目前倍受存储界广泛关注的存储新技术,它被看作是一种革命性的存储技术,已经给存储行业甚至计算机体系结构带来深刻变革。SSD与传统低速存储器不同,它是一种电子器件而非物理机械装置,它具有体积小、能耗小、搞干扰能力强、寻址时间极小(甚至可以忽略不计)、lOPS高、I/O性能高等特点。一种简单的实施方式就是直接利用SSD替代低速存储器来存储元数据的B-tree数据结构。
但是SSD是一种相对较贵的资源,在存储系统中还经常被其它模块用于提高性能,因此,SSD的使用过程中,通常是要节约利用的,节约下来的资源可以被其它模块用于提高其它的访问性能。考虑到元数据在初始数据稀疏时,可以使用B-tree数据结构来存储,这样可以减少存储空间。但是,当元数据中数据变得稠密,达到一定的程度时,也就是说,如果使用映射表结构,有效数据的比例达到设定的阈值时,存储B-tree所需的空间将大于存储映射表所需的存储空间。本发明公开了一种存储系统中检索数据的方法,该方法能够减少所述存储系统检索访问数据的时间,所述存储系统支持自动精简配置存储技术,并且在所述存储系统中,使用高速存储器存储元数据,元数据映射表的建立过程主要和IO中的写操作相关,图3示出了该方法的流程,根据图3,该方法包括:在步骤S301,接收一写操作请求;在步骤S302,建立所述写操作的逻辑块地址与物理块地址的对应关系;在步骤S303,判断在存储的元数据中加入上述对应关系后,使用映射表计算的有效数据比例是否大于预设阈值;响应于使用映射表计算的有效数据比例不大于所述预设阈值,在步骤S304,在所述存储的元数据的B-tree数据结构中加入所述对应关系,然后到步骤S308,在上述对应关系的物理块地址写入该写操作请求要求写入的数据;响应于使用映射表计算的有效数据比例大于所述预设阈值,在步骤S305,判断所述存储的元数据是否以B-tree数据结构存储;响应于所述存储的元数据以B-tree数据结构存储,在步骤S306,将该以B-tree数据结构存储的元数据存储为包含上述对应关系的元数据的映射表,然后到步骤S308。响应于使用映射表计算的有效数据比例大于所述预设阈值,并且所述存储的元数据不以B-tree数据结构存储而,在步骤S307,判断所述存储的元数以映射表方式存储,并在元数据的映射表中加入所述对应关系,然后到步骤S308。
在一种实施方式中,响应于元数据的映射表很大,可以将元数据分成若干个部分,每个部分可以占用相同大小的存储空间,也可以占用不同大小的存储空间。对于元数据的每一部分,执行如图3所示的方法,在计算有效数据比例时,可以将元数据的一部分当成一个独立的元数据处理,这样有效数据比例是该一部分元数据内的使用映射表计算的有效数据比例。
在一种实施方式中,存储元数据的高速存储器为SSD。当映射表中有效数据稀疏,既有效数据比例小于预设阈值时,可以在SSD存储元数据的B-tree数据结构,这样节省的空间可以被其它模块用于加速性能,对应每次的写操作,将新建立的映射关系插入到元数据的B-tree数据结构中,B-tree数据结构的插入操作对于本领域技术人员是公知的,这里不再赘述;当有效数据变得稠密,既有效数据比例大于预设阈值时,将元数据的B-tree数据结构展开成为映射表,并且将新建立的映射关系加入到映射表中,再存储到该SSD中。B-tree的展开方式有很多种算法,可以在数据结构的教科书或算法集中获得,是本领域技术人员公知的方法,在此不再赘述。
并且在上述实施方式下,如果元数据被分成多个部分,可能在SSD中,存储该元数据若干部分的映射表,以及一部分元数据的B-tree数据结构。存储的该元数据若干部分的映射表是经过图3的方法逐步建立的。这时,由于高速缓存器的速度一般还要高于SSD接近10倍,高速缓存器可以被用作SSD中元数据的高速缓存,如果高速缓存命中,还可以提高IO速度。优选的方式中,高速缓存用于缓存一部分元数据的B-tree数据结构,如果还有多余的高速缓存空间,再缓存该元数据若干部分的映射表,或者,如果有更足够的高速缓存空间,还可以在高速缓存中建立该元数据若干部分的映射表的B-tree数据结构。但是要注意,需要给客户数据的高速缓存留下足够的空间,否则,就失去了高速缓存器的本质作用,反而降低访问效率。
在另外一种实施方式中,用于存储元数据的B-tree数据结构的高速存储器为高速缓存器,用于存储元数据的映射表的高速存储器为SSD,由于高速缓存器为易失性存储器,掉电后存储信息丢失,所以还要在低速存储器中存储元数据的B-tree数据结构,而且保持与高速缓存器中的元数据的B-tree数据结构同步。这里的同步目的,是为了在高速缓存器掉电时,仍然保留相关的元数据,因此,这种同步的要求并不严格,可以在高速缓存更新后若干时间后进行,甚至,如果电源足够可靠,可以在电源关闭前做一次同步即可。具体如何保持同步,可以采用现有数据同步的任何方式,或者独立编程。在另外的实施方式中,也可以采用其它非易失性存储器件来存储B-tree数据结构,并与高速缓存器中的B-tree数据结构保持上述意义上的同步。
在上述实施方式中,当映射表中有效数据稀疏,即有效数据比例小于预设阈值时,可以在高速缓存中存储元数据的B-tree数据结构,这样不仅提高访问效率,节省的SSD空间可以被其它模块用于加速性能,由于此时B-tree所占的存储空间小,可以在高速缓存中存储当前元数据的整个B-tree数据结构,对应每次的写操作,将新建立的映射关系插入到高速缓存元数据的B-tree数据结构中,并且同步低速存储器中存储的元数据的B-tree数据结构,这里的同步与前文的同步为同一含义;当映射表中有效数据变得稠密,即如果使用映射表结构的有效数据比例首次大于预设阈值时,这时还是在高速缓存中将元数据以B-tree数据结构存储,将同步后的低速存储器中的元数据的B-tree数据结构展开为包含上述对应关系的元数据的映射表,并迁移到SSD中存储;如果不是首次有效数据比例大于预设阈值,则此时元数据的映射表已经存储在SSD中,只要在SSD存储的映射表中加入映射关系即可。后续高速缓存的应用可以根据高速缓存能提供给元数据使用的空间来确定,如果空间很大,可以存放元数据的B-tree数据结构,如果不是很大,可以存放元数据的部分映射表,或者部分B-tree数据结构,等等。
并且在上述实施方式下,如果元数据被分成多个部分,可能在SSD中,存储该元数据若干部分的映射表,在高速缓存中,存储一部分元数据的B-tree数据结构,同时在低速存储器中存储与高速缓存中的B-tree数据结构同步的B-tree数据结构,同步的含义与前文相同。存储的该元数据若干部分的映射表是经过图3的方法逐步建立的。这时,如果高速缓存还有多余空间可以用于存储元数据,还可以缓存该元数据若干部分的映射表,或者,如果有更足够的高速缓存空间,还可以在高速缓存中建立该元数据若干部分的映射表的B-tree数据结构。但是同样要注意,需要给客户数据的高速缓存留下足够的空间,否则,就失去了高速缓存器的本质作用,反而降低访问效率。
在上述实施方式中,如果低速存储器的读时间为SSD读时间的100倍,SSD的写时间是读时间的3倍,对2TB的虚拟存储能力,粒的大小为32K,SSD上的元数据为358MB,SSD中的元数据占全部元数据的70%,高速缓存中的元数据占全部元数据的30%时,高速缓存中的元数据的命中率为50%,对于包含70%读操作,30%写操作的存储系统,IO访问的平均效率能够提高50%。
在上述各种实施方式中,如果存储系统接收到读请求时,可以从元数据中获得读请求的逻辑块地址映射的物理块地址,从而从该物理块地址读取该数据。
在一种优选的实施方式中,为了提高图3中步骤S303和步骤S305的效率,可以使用标记记录当前元数据的是以B-tree数据结构的存储方式存储还是以映射表数据结构的存储方式存储,并且响应于当前元数据的存储方式改变,更新该标记。而且还可以使用标记记录元数据的每个部分的存储位置,并且响应于该元数据的每个部分的存储位置改变,更新该标记。甚至,还可以记录当前元数据中有效数据的个数以及当前元数据的映射表中全部数据的个数,这样可以迅速计算出元数据的映射表中加入上述对应关系后,新的有效数据比例。
在同一个发明构思下,本发明还公开了一种存储系统中检索数据的设备,图4示出了其设备结构,所述存储系统支持自动精简配置存储技术,并且使用高速存储器存储元数据,根据图4,该设备包括:接收装置401,被配置为接收一写操作请求;对应关系建立装置402,被配置为对所述写操作请求,建立所述写操作的逻辑块地址与物理块地址的对应关系;第一判断装置403,被配置为判断在存储的元数据加入上述对应关系后,使用映射表计算的有效数据比例是否大于预设阈值;B-tree索引对应关系加入装置404,被配置为响应于使用映射表计算的有效数据比例不大于所述预设阈值,在所述存储的元数据的B-tree数据结构中加入所述对应关系;第二判断装置405,被配置为响应于使用映射表计算的有效数据比例大于所述预设阈值,判断所述存储的元数据是否以B-tree数据结构存储;转换装置406,被配置为响应于所述存储的元数据以B-tree数据结构存储,将该以B-tree数据结构存储的元数据存储为包含上述对应关系的元数据的映射表;映射表对应关系加入装置407,被配置为被配置为响应于使用映射表计算的有效数据比例大于所述预设阈值,并且所述存储的元数据不以B-tree数据结构存储而,则确定所述存储的元数据以映射表方式存储,并在存储的元数据的映射表中加入所述对应关系;以及写入装置408,被配置为在上述对应关系的物理块地址写入该写操作请求要求写入的数据。
在一种实施方式中,如果元数据的映射表很大,可以将元数据分成若干个部分,每个部分可以占用相同大小的存储空间,也可以占用不同大小的存储空间。对于元数据的每一部分,第一判断装置判断其中的有效数据比例是否大于预设阈值,使用映射表计算的有效数据比例是该一部分元数据内的使用映射表计算的有效数据比例。
图4所示的设备可以加入图1的自动精简配置模块103中,成为该模块内部一个单独的设备,也可以在图1的外部成为独立的设备,或者,还可以将其中的部分模块加入到图1的某些模块,将另外一些模块加入到图1的其它模块中,本领域技术人员可以知道,有各种加入形式,都在本发明的保护范围之中。
在一种实施方式中,存储元数据的高速存储器为SSD。在这种实施方式下,转换装置可以包括:展开装置,被配置为将SSD中元数据的B-tree数据结构展开成为映射表的数据结构;矩阵数据对应关系加入装置,被配置为将新建立的映射关系加入到映射表的数据结构中。
在另外一种实施方式中,用于存储元数据的B-tree数据结构的高速存储器为高速缓存器,用于存储元数据的映射表的高速存储器为SSD,并且在低速存储器中存储元数据的B-tree数据结构,该设备还包括:同步装置,被配置为将所述低速存储器中存储元数据的B-tree数据结构与所述高速缓存器中存储的元数据的B-tree数据结构同步。在这种实施方式下,转换装置可以包括:展开装置,被配置为将低速存储器中元数据的B-tree数据结构展开成为映射表的数据结构;映射表对应关系加入装置,被配置为将新建立的映射关系加入到映射表的数据结构中;以及迁移装置,被配置为将映射表对应关系加入装置得到的映射表迁移到该SSD中存储。
同样,为了提高第一判断装置和第二判断装置的效率,在优选的实施方式中,使用标记记录当前元数据是以B-tree数据结构的存储方式存储还是以映射表的存储方式存储,并且响应于当前元数据的存储方式改变,更新该标记。还可以使用标记记录所述元数据的每个部分的存储位置,并且响应于该元数据的每个部分的存储位置改变,更新该标记。
虽然这里参照附图描述了本发明的示例性实施例,但是应该理解本发明不限于这些精确的实施例,并且在不背离本发明的范围和宗旨的情况下,本领域普通技术人员能对实施例进行各种变化的修改。所有这些变化和修改意欲包含在所附权利要求中限定的本发明的范围中。
并且根据上述描述,所属技术领域的技术人员知道,本发明可以体现为装置、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本发明还可以采取体现在任何有形的表达介质(medium of expression)中的计算机程序产品的形式,该介质中包含计算机可读的程序码。
可以使用一个或多个计算机可读的或计算机可读的介质的任何组合。计算机可读的或计算机可读的介质例如可以是——但不限于——电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或传播介质。计算机可读介质的更具体的例子(非穷举的列表)包括以下:有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、诸如支持因特网或内部网的传输介质、或者磁存储器件。注意计算机可读的或计算机可读的介质甚至可以是上面印有程序的纸张或者其它合适的介质,这是因为,例如可以通过电扫描这种纸张或其它介质,以电子方式获得程序,然后以适当的方式加以编译、解释或处理,并且必要的话在计算机存储器中存储。在本文件的语境中,计算机可读的或计算机可读的介质可以是任何含有、存储、传达、传播、或传输供指令执行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程序的介质。计算机可读的介质可包括在基带中或者作为载波一部分传播的、由其体现计算机可读的程序码的数据信号。计算机可读的程序码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等。
用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk、C++之类,还包括常规的过程式程序设计语言——诸如”C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。
此外,本发明的流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置(means)。
也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品,
也可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

Claims (10)

1.一种存储系统中检索数据的方法,该方法包括:
接收一写操作请求;
建立所述写操作的逻辑块地址与物理块地址的对应关系;
判断在存储的元数据中加入上述对应关系后,使用映射表计算的有效数据比例是否大于预设阈值;
响应于使用映射表计算的有效数据比例不大于所述预设阈值,在所述存储的元数据的B-tree数据结构中加入所述对应关系;
响应于使用映射表计算的有效数据比例大于所述预设阈值,判断所述存储的元数据是否以B-tree数据结构存储,响应于所述存储的元数据以B-tree数据结构存储,将元数据的B-tree数据结构展开成为映射表,并且将所述对应关系加入到映射表中存储;
响应于使用映射表计算的有效数据比例大于所述预设阈值,并且所述存储的元数据不以B-tree数据结构存储,则确定所述存储的元数据以映射表存储,并在元数据的映射表中加入所述对应关系;以及
在上述物理块地址写入该写操作请求要求写入的数据;
响应于接收到的读请求,从元数据中获得读请求的逻辑块地址映射的物理块地址,从而从该物理块地址读取该数据;
其中所述存储系统支持自动精简配置存储技术,所述存储系统使用高速存储器存储元数据,所述高速存储器为SSD。
2.根据权利要求1所述的方法,其中用于存储元数据的B-tree数据结构的高速存储器为高速缓存器,用于存储元数据的映射表的高速存储器为SSD,并且在低速存储器中存储元数据的B-tree数据结构,将所述低速存储器中存储元数据的B-tree数据结构与所述高速缓存器中存储的元数据的B-tree数据结构同步。
3.根据权利要求2所述的方法,其中响应于存储的元数据中加入上述对应关系后,使用映射表计算的有效数据比例大于预设阈值,并且所述存储的元数据以B-tree数据结构存储,则所述将该以B-tree数据结构存储的元数据存储为包含上述对应关系的元数据的映射表还包括:将低速存储器中的元数据的B-tree数据结构展开为映射表,将新建立的映射关系加入到映射表中,并将得到的映射表迁移到SSD中存储。
4.根据权利要求1所述的方法,其中使用标记记录当前元数据是以B-tree数据结构的存储方式存储还是以映射表的存储方式存储,并且响应于当前元数据的存储方式改变,更新该标记。
5.根据权利要求1所述的方法,其中使用标记记录元数据的每个部分的存储位置,并且响应于该元数据的每个部分的存储位置改变,更新该标记。
6.一种存储系统中检索数据的设备,该设备包括:
接收装置,被配置为接收一写操作请求;
对应关系建立装置,被配置为建立所述写操作的逻辑块地址与物理块地址的对应关系;
第一判断装置,被配置为判断在存储的元数据加入上述对应关系后,使用映射表计算的有效数据比例是否大于预设阈值;
B-tree索引对应关系加入装置,被配置为响应于使用映射表计算的有效数据比例不大于所述预设阈值,在所述存储的元数据的B-tree数据结构中加入所述对应关系;
第二判断装置,被配置为响应于使用映射表计算的有效数据比例大于所述预设阈值,判断所述存储的元数据是否以B-tree数据结构存储;
转换装置,被配置为响应于所述存储的元数据以B-tree数据结构存储,将该以B-tree数据结构存储的元数据存储为包含上述对应关系的元数据的映射表,所述转换装置包括:展开装置,被配置为将元数据的B-tree数据结构展开成为映射表;以及矩阵数据对应关系加入装置,被配置为将所述对应关系加入到映射表中存储;
映射表对应关系加入装置,被配置为响应于使用映射表计算的有效数据比例大于所述预设阈值,并且所述存储的元数据不以B-tree数据结构存储,则确定所述存储的元数据以映射表存储,并在存储的元数据的映射表中加入所述对应关系;以及
写入装置,被配置为在上述物理块地址写入该写操作请求要求写入的数据;
用于响应于接收到的读请求,从元数据中获得读请求的逻辑块地址映射的物理块地址,从而从该物理块地址读取该数据的装置;
其中所述存储系统支持自动精简配置存储技术,所述存储系统使用高速存储器存储元数据,所述高速存储器为SSD。
7.根据权利要求6所述的设备,其中用于存储元数据的B-tree数据结构的高速存储器为高速缓存器,用于存储元数据的映射表的高速存储器为SSD,并且在低速存储器中存储元数据的B-tree数据结构,该设备还包括:
同步装置,被配置为将所述低速存储器中存储元数据的B-tree数据结构与所述高速缓存器中存储的元数据的B-tree数据结构同步。
8.根据权利要求7所述的设备,其中所述转换装置包括:
展开装置,被配置为将低速存储器中元数据的B-tree数据结构展开成为映射表;
映射表对应关系加入装置,被配置为将新建立的映射关系加入到映射表中;
迁移装置,被配置为将映射表对应关系加入装置得到的映射表迁移到该SSD中存储。
9.根据权利要求6所述的设备,其中使用标记记录当前元数据是以B-tree数据结构的存储方式存储还是以映射表的存储方式存储,并且响应于当前元数据的存储方式改变,更新该标记。
10.根据权利要求6所述的设备,其中使用标记记录所述元数据的每个部分的存储位置,并且响应于该元数据的每个部分的存储位置改变,更新该标记。
CN201110051630.8A 2011-02-28 2011-02-28 一种存储系统中检索数据的方法和设备 Active CN102651009B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201110051630.8A CN102651009B (zh) 2011-02-28 2011-02-28 一种存储系统中检索数据的方法和设备
US13/407,121 US9058112B2 (en) 2011-02-28 2012-02-28 Retrieving data in a storage system using thin provisioning
US14/739,153 US9747318B2 (en) 2011-02-28 2015-06-15 Retrieving data in a storage system using thin provisioning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110051630.8A CN102651009B (zh) 2011-02-28 2011-02-28 一种存储系统中检索数据的方法和设备

Publications (2)

Publication Number Publication Date
CN102651009A CN102651009A (zh) 2012-08-29
CN102651009B true CN102651009B (zh) 2014-09-24

Family

ID=46693017

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110051630.8A Active CN102651009B (zh) 2011-02-28 2011-02-28 一种存储系统中检索数据的方法和设备

Country Status (2)

Country Link
US (2) US9058112B2 (zh)
CN (1) CN102651009B (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9208082B1 (en) * 2012-03-23 2015-12-08 David R. Cheriton Hardware-supported per-process metadata tags
TWI492051B (zh) * 2012-09-05 2015-07-11 Silicon Motion Inc 資料儲存裝置與快閃記憶體控制方法
US9189509B1 (en) * 2012-09-21 2015-11-17 Comindware Ltd. Storing graph data representing workflow management
CN103020201B (zh) * 2012-12-06 2016-09-07 浪潮电子信息产业股份有限公司 一种存储系统自动精简配置存储池及组织管理的方法
CN103049390B (zh) * 2012-12-14 2016-03-09 华为技术有限公司 应用元数据的数据处理方法及存储系统
CN103019953B (zh) * 2012-12-28 2015-06-03 华为技术有限公司 一种元数据的构建系统及其方法
US9268502B2 (en) * 2013-09-16 2016-02-23 Netapp, Inc. Dense tree volume metadata organization
US9864527B1 (en) * 2014-05-05 2018-01-09 EMC IP Holding Company LLC Distributed data storage management
US9798728B2 (en) 2014-07-24 2017-10-24 Netapp, Inc. System performing data deduplication using a dense tree data structure
US9454327B2 (en) 2014-08-29 2016-09-27 International Business Machines Corporation Analytics based control of thin provisioning environment
US10133511B2 (en) 2014-09-12 2018-11-20 Netapp, Inc Optimized segment cleaning technique
US9671960B2 (en) 2014-09-12 2017-06-06 Netapp, Inc. Rate matching technique for balancing segment cleaning and I/O workload
US9836229B2 (en) * 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
US9720601B2 (en) 2015-02-11 2017-08-01 Netapp, Inc. Load balancing technique for a storage array
US9762460B2 (en) 2015-03-24 2017-09-12 Netapp, Inc. Providing continuous context for operational information of a storage system
US9710317B2 (en) 2015-03-30 2017-07-18 Netapp, Inc. Methods to identify, handle and recover from suspect SSDS in a clustered flash array
US9740566B2 (en) 2015-07-31 2017-08-22 Netapp, Inc. Snapshot creation workflow
KR20170073944A (ko) * 2015-12-21 2017-06-29 에스케이하이닉스 주식회사 데이터 처리 시스템 및 데이터 처리 시스템의 동작방법
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
US9842060B1 (en) * 2016-07-13 2017-12-12 Seagate Technology Llc Cache over-provisioning in a data storage device
CN107885456B (zh) * 2016-09-29 2022-09-16 北京忆恒创源科技股份有限公司 减少io命令访问nvm的冲突
US10248320B2 (en) 2016-10-28 2019-04-02 International Business Machines Corporation Workload-aware thin-provisioning storage-allocation system
CN108664523B (zh) * 2017-03-31 2021-08-13 华为技术有限公司 一种虚拟磁盘文件格式转换方法和装置
JP6840013B2 (ja) * 2017-03-31 2021-03-10 アズビル株式会社 時系列データ記録方法および装置
US10489301B1 (en) * 2017-04-10 2019-11-26 EMC IP Holding Company LLC Method and system for metadata churn absorption
CN108121670B (zh) * 2017-08-07 2021-09-28 鸿秦(北京)科技有限公司 一种减少固态硬盘元数据回刷频率的映射方法
CN109558335B (zh) * 2018-10-17 2020-05-12 上海移芯通信科技有限公司 一种基于Nor Flash存储器的嵌入式系统的文件存储格式
US11614868B2 (en) * 2019-09-30 2023-03-28 International Business Machines Corporation Data set overlay protection
CN111104405A (zh) * 2019-12-06 2020-05-05 苏州浪潮智能科技有限公司 一种元数据的处理方法、装置及计算机可读存储介质
CN111007990B (zh) * 2019-12-24 2023-09-19 曙光信息产业(北京)有限公司 一种对快照系统中数据块引用进行快速定位的定位方法
KR20210120240A (ko) * 2020-03-26 2021-10-07 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
CN112015341B (zh) * 2020-08-26 2024-03-22 合肥康芯威存储技术有限公司 一种数据存储方法、存储系统及存储介质
KR20220037638A (ko) * 2020-09-18 2022-03-25 에스케이하이닉스 주식회사 맵 캐시를 포함하는 컨트롤러 및 이를 포함하는 메모리 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2153332A1 (en) * 2007-04-27 2010-02-17 Network Appliance, Inc. A system and method for efficient updates of sequential block storage
CN101809551A (zh) * 2007-10-01 2010-08-18 国际商业机器公司 自动精简配置迁移和清理

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7711897B1 (en) 2005-06-10 2010-05-04 American Megatrends, Inc. Method, system, apparatus, and computer-readable medium for improving disk array performance
US8260831B2 (en) 2006-03-31 2012-09-04 Netapp, Inc. System and method for implementing a flexible storage manager with threshold control
US8533158B1 (en) * 2006-09-28 2013-09-10 Emc Corporation Reclaiming data space by rewriting metadata
US8719501B2 (en) * 2009-09-08 2014-05-06 Fusion-Io Apparatus, system, and method for caching data on a solid-state storage device
US7593938B2 (en) * 2006-12-22 2009-09-22 Isilon Systems, Inc. Systems and methods of directory entry encodings
US7743203B2 (en) * 2007-05-11 2010-06-22 Spansion Llc Managing flash memory based upon usage history
US8326897B2 (en) * 2007-12-19 2012-12-04 International Business Machines Corporation Apparatus and method for managing data storage
JP2010049502A (ja) 2008-08-21 2010-03-04 Hitachi Ltd ストレージサブシステム、及びこれを有するストレージシステム
US8612668B2 (en) 2008-11-24 2013-12-17 Juniper Networks, Inc. Storage optimization system based on object size
US8407436B2 (en) 2009-02-11 2013-03-26 Hitachi, Ltd. Methods and apparatus for migrating thin provisioning volumes between storage systems
US8321614B2 (en) * 2009-04-24 2012-11-27 Empire Technology Development Llc Dynamic scheduling interrupt controller for multiprocessors
US9165086B2 (en) * 2010-01-20 2015-10-20 Oracle International Corporation Hybrid binary XML storage model for efficient XML processing
US9251164B2 (en) * 2010-02-26 2016-02-02 Salesforce.Com, Inc. System, method and computer program product for using a database to access content stored outside of the database

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2153332A1 (en) * 2007-04-27 2010-02-17 Network Appliance, Inc. A system and method for efficient updates of sequential block storage
CN101809551A (zh) * 2007-10-01 2010-08-18 国际商业机器公司 自动精简配置迁移和清理

Also Published As

Publication number Publication date
US20150278274A1 (en) 2015-10-01
US9747318B2 (en) 2017-08-29
US20120221828A1 (en) 2012-08-30
US9058112B2 (en) 2015-06-16
CN102651009A (zh) 2012-08-29

Similar Documents

Publication Publication Date Title
CN102651009B (zh) 一种存储系统中检索数据的方法和设备
CN110134514B (zh) 基于异构内存的可扩展内存对象存储系统
CN103425602B (zh) 一种闪存存储设备数据读写的方法、装置及主机系统
CN103186350B (zh) 混合存储系统及热点数据块的迁移方法
CN107526546B (zh) 一种Spark分布式计算数据处理方法及系统
CN109582593B (zh) 一种基于计算的ftl地址映射读、写方法
JPH0778768B2 (ja) 優先順位付けキャッシュ管理方法
CN104850358A (zh) 一种磁光电混合存储系统及其数据获取和存储方法
CN104503703B (zh) 缓存的处理方法和装置
CN104798063A (zh) 存储设备和主机设备
CN103514249A (zh) 一种数据自精简方法和系统及存储装置
US9569381B2 (en) Scheduler for memory
CN104866428A (zh) 数据存取方法和数据存取装置
CN103838853A (zh) 一种基于不同存储介质的混合文件系统
CN103218305B (zh) 存储空间的分配方法
CN102063386B (zh) 一种单载体多目标的缓存系统的缓存管理方法
CN103513956B (zh) 一种处理器处理数据的方法以及装置
CN107562851A (zh) 一种数据的更新方法、装置及电子设备
CN104778100A (zh) 一种安全备份数据的方法
CN102763070B (zh) 磁盘缓存的管理方法及装置
CN110286859B (zh) 基于fat文件系统的数据存储方法及装置
CN115079957B (zh) 请求处理方法、装置、控制器、设备及存储介质
CN102722448A (zh) 管理高速存储器的方法和装置
US10331385B2 (en) Cooperative write-back cache flushing for storage devices
JP2010191672A (ja) データ記憶システム

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