CN106687910A - 优化分段清除技术 - Google Patents

优化分段清除技术 Download PDF

Info

Publication number
CN106687910A
CN106687910A CN201580049234.8A CN201580049234A CN106687910A CN 106687910 A CN106687910 A CN 106687910A CN 201580049234 A CN201580049234 A CN 201580049234A CN 106687910 A CN106687910 A CN 106687910A
Authority
CN
China
Prior art keywords
panel
segmentation
entry
ssd
storage
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
Application number
CN201580049234.8A
Other languages
English (en)
Inventor
J·穆斯
E·D·麦克拉纳汉
D·帕特尔
M·斯瓦米纳坦
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.)
NetApp Inc
Original Assignee
NetApp Inc
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 NetApp Inc filed Critical NetApp Inc
Publication of CN106687910A publication Critical patent/CN106687910A/zh
Pending legal-status Critical Current

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/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/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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
    • 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
    • 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/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0673Single storage device
    • 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/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种优化分段清除技术被配置为有效清除耦合至群集的一个或多个节点的存储阵列的一个或多个选定部分或分段。分段清除技术的自下而上法被配置为读取将要清除的分段(“旧”分段)的所有块以定位该旧分段的SSD上存储的盘区并且检查盘区元数据以确定盘区是否有效,并且如果有效,则将有效盘区重定位到正被写入的分段(“新”分段)。分段清除技术的自上而下法排除对旧分段的块进行读取来定位盘区,相反检查盘区元数据以确定旧分段的有效盘区。混合方法可以扩展自上而下法以仅包括针对块重定位和重建以及从条带检索有效盘区所需的全条带读取操作,同时还避免自下而上法的任何不必要的读取操作。

Description

优化分段清除技术
技术领域
本公开涉及存储***,并且更具体地涉及群集的一个或多个存储***中的优化分段清除。
背景技术
存储***通常包括可以根据需要向其录入信息以及从其获得信息的一个或多个存储设备,诸如体现为存储阵列的快闪存储设备的固态驱动器(SSD)。存储***可以实现高层级模块(诸如文件***)以在逻辑上将存储在阵列的存储设备上的信息组织为存储容器,诸如文件或逻辑单元(LUN)。每个存储容器可以被实现为一组数据结构,诸如为存储容器存储数据的数据块以及描述存储容器中的数据的元数据块。例如,元数据可以描述(例如,标识)数据在设备上的存储位置。另外,元数据可以包含对数据的存储位置的引用的拷贝(即,多对一),由此在数据的位置改变时需要对引用的每个拷贝进行更新。这显著有助于写入放大以及***复杂度(即,跟踪将要更新的引用)。
某些类型的SSD(尤其是具有NAND快闪部件的那些SSD)可以包括或者可以不包括内部控制器(即,对于SSD的用户不可访问),该内部控制器在以页面粒度(例如,8Kbyte)的那些部件之间将有效数据从旧的位置移动到新的位置,继而仅移动到先前擦除的页面。此后,页面被存储的旧的位置被释放,即,页面被标记用于删除(或无效)。通常,页面以32或更多页面的块(即,256KB或更多)被排他地擦除。将有效数据从旧的位置移动到新的位置(即,垃圾收集)有助于***中的写入放大。因此,期望尽可能不频繁地移动有效数据,以便不放大数据被写入的次数,即,减少写入放大。
发明内容
本文所述各实施例涉及优化分段清除技术,该优化分段清除技术被配置为有效清除耦合至群集的一个或多个节点的存储阵列的一个或多个选定部分或分段。在一个或多个节点上执行的存储输入/输出(I/O)栈的文件***的盘区存储层在存储阵列的固态驱动(SSD)上提供数据和元数据的顺序存储。数据(和元数据)可以被组织为由节点提供服务的一个或多个主机可见LUN的任意数目的可变长度盘区。元数据可以包括从LUN的主机可见逻辑块地址范围(即,偏移范围)到盘区键值的映射,以及盘区键值到盘区在SSD上存储的位置的映射。盘区键值到盘区的位置的映射示例性为组织为哈希表的条目的盘区元数据以及一个或多个节点的存储器(内核)中存储的其他元数据数据结构。盘区的位置示例性包括包含最近版本盘区的分段的分段标识符(ID)以及包含该盘区的分段块的偏移(即,分段偏移)。
在一个实施例中,盘区存储层保持计数结构(例如,指示分段空闲空间量的空闲分段图)以及具有关于试探法和策略的信息的其他数据结构,其由分段清除过程示例性用于确定将要清除的分段(即,旧分段)的分段ID。分段清除处理可以使用分段ID扫描内核哈希表和元数据数据结构的条目以找到与分段ID的匹配。注意,条目的盘区元数据(例如,位置)包括对最近版本盘区的引用;因此,旧分段中需要被重定位的任意有效盘区可以被标识并且被拷贝到新分段。
在一个实施例中,分段清除技术的自下而上法被配置为读取将要清除的分段(即,“旧”分段)的所有块以定位分段的SSD上存储的盘区并且检查盘区元数据以确定盘区是否有效。SSD上存储的每个盘区是自描述的;即,盘区包括包含描述该盘区的信息(例如,盘区键值)的报头。盘区存储层的分段清除过程使用每个盘区的盘区键值来找到内核哈希表和元数据数据结构的盘区元数据条目,以确定包含最近版本盘区的分段的分段ID。如果条目的分段ID(和其他位置信息)匹配旧分段的分段ID(和其他位置信息),则由盘区键值引用的盘区被确定为有效(即,最近版本)并且由分段清除过程拷贝(重定位)到正被写入的分段(即,“新”分段)。如果条目的分段ID不匹配旧分段的分段ID,则由盘区键值引用的盘区不是最近版本(即,被确定为无效)并且可以被复写。
在一个实施例中,优化分段清除技术的自上而下法排除对旧分段的块进行读取来定位盘区,相反检查内核盘区元数据以确定旧分段的有效盘区。分段清除技术的此方法考虑到旧分段可能曾经具有相对满的有效盘区,但在清除之前,那些盘区中的某些盘区可能已经被逻辑复写(即,相同LBA范围),从而将复写盘区留作分段上的过期数据。因此,逻辑复写盘区(即,无效盘区)不需要被拷贝(重定位)。
在一个实施例中,分段清除技术的混合方法被配置为进一步减少旧分段块的读取,尤其是共享盘区的压缩块。混合方法可以执行合并全条带读取操作,尤其是在从丢失或不可访问SSD中重建丢失块(数据/元数据)的情况。为此,混合方法使用自上而下法确定旧分段的分段ID,扫描内核哈希表和元数据表的条目以找到与分段ID的匹配,并且标识旧分段中需要被重定位到新分段的有效盘区。重定位列表可以例如由分段清除过程创建,该重定位列表标识旧分段中需要被读取(和重定位)的有效盘区的块以及需要在可访问SSD上被读取以满足丢失SSD的丢失块的重建的任意块。分段清除过程继而可以根据将要重定位盘区的块所需的读取操作通过SSD位置对块(盘区)进行排序,继而i)将一个或多个邻近位置组合成单个更大读取操作;以及ii)将任意冗余位置引用合并到块,例如重定位在SSD上共享共同块的两个有效盘区所需的两个读取操作可以被合并到共同块的一个读取操作。在对列表排序和合并之后,减少数目的读取操作可以被确定以重定位块并且优化分段清除。
优势在于,自下而上法可以在旧分段(即,将要清除)的SSD具有相对满(即,超过容量阈值)的有效盘区(块)时被采用,以利用全条带读取操作来减少针对存储I/O栈的读取路径的SSD访问。相反,在i)SSD不可访问(即,丢失或故障)时;以及ii)分段的SSD相对空(即,针对有效盘区低于容量阈值)时可以采用自上而下法,因为该自上而下法仅需要读取旧分段中块的一部分以访问那些有效盘区,与读取分段的所有块相反。混合方法可以被用于扩展自上而下法以仅包括针对块重定位和重建所需的全条带读取操作,同时还避免自下而上法的任何不必要的读取操作。注意,在执行全条带读取操作之后,混合方法可以使用例如从扫描哈希表获得的分段偏移从条带中直接检索任意有效盘区。
附图说明
通过参考下面结合附图所做出的描述,可以更好地理解本文实施例中的上述优点和其他优点,在这些附图中,相同的附图标记表示相同的或功能上相似的元件,在附图中:
图1是相互连接为群集的多个节点的框图;
图2是节点的框图;
图3是节点的存储输入/输出(I/O)栈的框图;
图4示出了输入/输出(I/O)栈的写入路径;
图5示出了输入/输出(I/O)栈的读取路径;
图6示出了通过存储I/O栈的分层文件***的分段清除;
图7示出了由分层文件***执行的RAID条带;
图8示出了优化分段清除技术的自下而上法和盘区位置元数据;以及
图9a示出了优化分段清除技术的自上而下法;以及
图9b示出了在存储设备故障期间优化分段清除技术的方法。
具体实施方式
存储群集
图1是多个节点200的框图,这些节点相互连接为群集100并且被配置成提供与存储设备上信息的组织相关的存储服务。节点200可以通过群集互连结构110相互连接,并且包括多个功能部件,这些功能部件协作以提供群集100的分布式存储架构,该分布式存储架构可以被部署到存储区域网络(SAN)中。如本文所描述的,每个节点200的各部件包括硬件和软件功能,该硬件和软件功能使得该节点能够通过计算机网络130连接到一个或多个主机120、以及通过存储互连140连接到存储设备的一个或多个存储阵列150,从而按照分布式存储架构提供存储服务。
每个主机120可以被体现为通用计算机,该通用计算机被配置成按照信息递送的客户端/服务器模型与任意节点200交互。即,客户端(主机)可以请求节点的服务,并且节点可以通过经由网络130交换分组的方式返回主机所请求的服务的结果。当主机访问节点上的形式为存储容器(诸如文件和目录)的信息时,该主机可以发出包括基于文件的访问协议(诸如,传输控制协议/互联网协议(TCP/IP)上的网络文件***(NFS)协议)的分组。然而,在一种实施例中,当主机120访问形式为存储容器(诸如逻辑单元(LUN))的信息时,该主机120示例性地发出包括基于块的访问协议(诸如,在TCP上封装的小型计算机***接口(SCSI)协议(iSCSI)和在FC上封装的SCSI)的分组。注意,任意节点200可以为针对群集100上所存储的存储容器的请求提供服务。
图2是节点200的框图,该节点200被示例性地体现为存储***,该存储***具有经由存储总线215耦接至存储器220的一个或多个中央处理单元(CPU)210。CPU 210还经由***互连270耦接至网络适配器230、存储控制器240、群集互连接口250和非易失性随机访问存储器(NVRAM 280)。网络适配器230可以包括被适配成通过计算机网络130将节点200耦接至主机120的一个或多个端口,计算机网络130可以包括点对点链路、广域网、通过公共网络(互联网)或局域网实现的虚拟专用网络。因此,网络适配器230包括需要将节点连接至网络130的机械的、电气的和信令电路,该网络130示例性地体现了以太网或光纤通道(FC)网络。
存储器220可以包括CPU 210可寻址的存储器位置,该存储器位置用于存储软件程序以及与本文所描述的实施例相关联的数据结构。CPU 210则可以包括处理元件和/或逻辑电路,该处理元件和/或逻辑电路被配置成执行软件程序(诸如,存储输入/输出(I/O)栈300)以及操作数据结构。示例性地,存储输入/输出(I/O)栈300可以被实现为一组用户模式进程,该用户模式进程可以被分解为多个线程。操作***内核224在功能上尤其是通过调用受节点(尤其是存储器I/O栈300)所实现的存储服务支持的操作来组织节点,操作***内核224的一部分通常保留在存储器220(内核)并且由处理元件(即,CPU 210)执行。合适的操作***内核224可以包括通用操作***(诸如,操作***的系列或Microsoft系列),或者具有可配置功能的操作***(诸如,微内核和嵌入式内核)。然而,在本文中的一种实施例中,操作***内核示例性地为操作***。本领域技术人员应当理解,包括各种计算机可读介质的其他处理和存储器装置也可以用于存储并执行与本文的实施例有关的程序指令。
每个存储控制器240与节点200上执行的存储I/O栈300协作以获取主机120所请求的信息。该信息被优选地存储在存储设备(诸如,固态磁盘(SSD)260)上,该SSD被示例性地体现为存储阵列150的闪存存储设备。在一种实施例中,尽管本领域技术人员理解其他非易失性、固态电子设备(例如,基于存储类的存储器组件的驱动器)可以有利地结合本文所描述的实施例使用,但是闪存存储设备也可以是基于NAND的闪存组件(例如,单层单元(SLC)闪存、多层单元(MLC)闪存或三层单元(TLC)闪存)。因此,存储设备可以是或可以不是面向块的(即,作为块进行访问)。存储控制器240包括一个或多个具有I/O接口电路的端口,该I/O接口电路通过存储互连140耦接至SSD 260,存储互连140示例性地体现为串行连接SCSI(SAS)拓扑结构。备选地,可以使用其他的点对点I/O互连装置,诸如,常规串行ATA(SATA)拓扑结构或PCI拓扑结构。***互连270还可以将节点200耦接至本地服务存储设备248(诸如,SSD),本地服务存储设备248被配置成将群集相关的配置信息本地存储为例如群集数据库(DB)244,群集数据库(DB)244可以被复制到群集100中的其他节点200。
群集互连接口250可以包括一个或多个端口,这些端口被适配成将节点200耦接至群集100的其他节点。在一种实施例中,可以使用以太网作为群集协议和互连结构介质,但是本领域技术人员应当理解,本文所描述的实施例中可以使用其他类型的协议和互连(诸如,无线带宽)。NVRAM 280可以包括能够根据节点的故障和群集环境来维护数据的后备电池或其他内建的最后状态保持能力(例如,非易失性半导体存储器,诸如,存储类存储器)。示例性地,NVRAM 280的一部分可以被配置为一个或多个非易失性日志(NVLog 285),这些非易失性日志被配置成临时地记录(“记入(log)”)I/O接收自主机120的请求(诸如写入请求)。
存储I/O栈
图3是存储I/O栈300的框图,该存储I/O栈300可以有利地结合本文所描述的一个或更多个实施例使用。存储I/O栈300包括多个软件模块或层,这些软件模块或层与节点200的其他功能组件协作以提供群集100的分布式存储架构。在一种实施例中,分布式存储架构表示单个存储容器的抽象化,即,所有关于整个群集100的节点200的存储阵列150被组织为一个大存储池。换句话说,该架构整合(consolidate)整个群集(通过群集范围键值可检索的)的存储(即,阵列150的SSD 260)以实现LUN的存储。随后,可以通过将节点200添加至群集100来缩放(scale)存储容量和性能。
示例性地,存储I/O栈300包括管理层310、协议层320、持久层330、卷层340、盘区存储层350、独立磁盘冗余阵列(RAID)层360、存储层365,以及与消息传送内核370互连的NVRAM(用于存储NVLog)层。该消息收发内核370可以提供基于消息(或基于事件)的调度模型(例如,异步调度),基于消息(或基于事件)的调度模型采用消息作为上述层之间交换(即,传递)的基本的工作单元。消息收发内核提供了一些合适的消息传递机制来在存储I/O栈300的上述层之间传送信息,这些消息传递机制可以包括:例如,针对节点内通信:i)在线程池上执行的消息传送;ii)通过存储I/O栈作为一种操作进行的在单线程上执行的消息传送;iii)使用进程间通信(IRC)机制的消息传送,以及例如,针对节点间通信:根据功能传送实现方式使用远程过程调用(PRC)机制的消息传送。备选地,I/O栈可以使用基于线程或基于栈的执行模型来实现。在一种或多种实施例中,消息传送内核370对来自操作***内核224的处理资源进行分配以执行消息传送。每个存储I/O栈层可以被实现为执行一个或多个线程(例如,在内核或用户空间中)的一个或多个实例(即,进程),这些实例对上述层之间传递的消息进行处理使得消息能够针对上述层的阻断或非阻断操作提供同步化。
在一种实施例中,协议层320可以根据预定义的协议(诸如iSCSI和FCP)通过交换被配置为I/O请求的离散帧或分组的方式经由网络130与主机120通信。I/O请求(例如,读取或写入请求)可以针对LUN,并且可以包括I/O参数(诸如,尤其是LUN标识符(ID)、LUN的逻辑块地址(LBA)、长度(即,数据量),以及写数据(在写入请求的情况下)。协议层320接收I/O请求并且将I/O请求转发给持久层330,该持久层330将该请求记录到持久回写高速缓存380中并且经由协议层320向主机120返回确认通知,该持久回写高速缓存380示例性地体现为日志;例如,在一些随机访问替换策略,而不只是串行方式的情况下,日志的内容可以进行随机替换。在一种实施例中,仅记录了修改LUN的I/O请求(例如,写入请求)。注意,可以将I/O请求记录到接收I/O请求的节点处,或者,在备选实施例中,可以根据功能传送实现方式将I/O请求记录在其他节点处。
示例性地,专用日志可以通过存储I/O栈300的各个层维护。例如,专用日志335可以通过持久层330维护以内部等效地记录I/O请求的I/O参数(即,存储I/O栈、参数(例如,卷ID、偏移量和长度))。在写入请求的情况下,持久层330还可以与NVRAM 280协作以实现回写高速缓存380,该回写高速缓存380被配置成存储与写入请求相关联的写数据。在一种实施例中,回写高速缓存可以被构造为日志。注意,关于写入请求的写数据可以被物理地存储在高速缓存380中使得日志335包括对相关联的写数据的引用。本领域技术人员应当理解,可以使用数据结构的其他变型来存储或维护NVRAM中的写数据,包括使用没有日志的数据结构。在一种实施例中,还可以将回写高速缓存的副本维护在存储器220中以促进对存储控制器的直接存储器访问。在其他实施例中,可以按照维护数据被存储在高速缓存与群集之间的相关性的协议在主机120处或接收节点处执行高速缓存。
在一种实施例中,管理层310可以将LUN分成多个卷,每个卷可以被分区成多个区域(例如,根据不相交块地址范围进行分配),每个区域具有一个或多个分段,这些分段作为多个带被存储在阵列150上。因此,节点200中分布的多个卷可以为单个LUN提供服务,即,LUN内的每个卷为LUN内的、不同的LBA范围(即,偏移量范围和长度,以下称为偏移量范围)或一组范围提供服务。因此,该协议层320可以实施卷映射技术来对I/O请求所针对的卷(即,为I/O请求的参数所指示的偏移量范围提供服务的卷)进行识别。示例性地,群集数据库244可以被配置成针对多个卷中的每个卷维护一个或多个关联(例如,键值对),例如,LUNID与卷之间的关联以及卷与用于管理该卷的节点的节点ID之间的关联。管理层310还可以与数据库244协作以创建(或删除)与LUN相关联的一个或多个卷(例如,在数据库244中创建卷ID/LUN键值对)。通过使用LUN ID和LBA(或LBA范围),卷映射技术可以提供卷ID(例如,使用群集数据库244中的适当关联)以及将LBA(或LBA范围)转化成卷内的偏移量和长度,该卷ID用于识别卷和为该卷提供服务的节点,该卷是所述请求的目的地。具体地,卷ID用于确定卷层实例,该卷层实例管理与LBA或LBA范围相关联的卷元数据。如前所述,协议层320可以将I/O请求(即,卷ID,偏移量和长度)传递至持久层330,持久层330基于卷ID可以使用功能传送(例如,节点间)实现方式将I/O请求转发至群集中的节点上执行的合适的卷层实例。
在一种实施例中,卷层340可以通过以下方式管理卷元数据,例如:维护主机可见容器的状态(诸如,LUN的范围),以及对与管理层310协作的LUN执行数据管理功能(诸如,创建快照和克隆)。卷元数据被示例性地体现为LUN地址(即,偏移量)到持久性盘区键值的内核映射,持久性盘区键值是群集范围内的存储容器的盘区键值空间内的、与盘区的SSD存储位置相关联的唯一的群集范围内的ID。也就是说,盘区键值可以用于检索位于SSD存储位置处的盘区中、与该盘区键值相关联的数据。备选地,群集中可以具有多个存储容器,其中每个容器具有其自身的盘区键值空间,例如,在该盘区键值空间中管理层310将盘区分布在存储容器中。盘区是可变长度的数据块,该数据块提供位于SSD上的存储单元并且不需要与任何特定边界对齐,即,可以是字节对齐。因此,为了维持这样的对齐,盘区可以是来自多个写入请求的写数据的聚集体。示例性地,卷层340可以将所转发的请求(例如,表征该请求的信息或参数)以及卷元数据的变化记录到卷层340所维护的专用日志345中。随后,可以按照核查点(例如,同步)操作将卷层日志345的内容写入存储阵列150,所述核查点操作将内核元数据存储到阵列150上。也就是说,核查点操作(核查点)确保内核所处理的元数据的一致状态被提交(即,存储)至存储阵列150;而日志条目的引退通过例如在核查点操作之前引退累积的日志条目的方式来确保卷层日志345中所累积的条目与提交到存储阵列150的元数据核查点同步。在一个或多个实施例中,核查点和日志条目的引退可以是数据驱动的、周期的、或以上二者。
在一种实施例中,盘区存储层350负责将盘区存储到SSD 260上(即,在存储阵列150上),并且(例如,响应于所转发的写入请求)将盘区键值提供给卷层340。盘区存储层350还负责(例如,响应于所转发的读取请求)使用盘区键值检索数据(例如,现有的盘区)。盘区存储层350可以负责在对盘区进行存储之前对该盘区进行解重复和压缩。盘区存储层350可以对盘区键值到SSD存储位置(即,阵列150的SSD 260上的偏移量)的内核映射(例如,体现为哈希表)进行维护。盘区存储层350还可以对条目的专用日志355进行维护,所述条目累积所请求的“放入”和“删除”操作(即,从其他层向盘区存储层350发出的针对盘区的写入请求和删除请求),而这些操作会改变内核映射(即,哈希表条目)。随后,可以根据“模糊”核查点390(即,记录在一个或多个日志文件中的具有增量变化的核查点)将内核映射和盘区存储层日志355的内容写入存储阵列150,其中将所选择的内核映射(少于总量的内核映射)按照不同的时间间隔(例如,通过大量内核映射的变化驱动、通过日志355的大小阈值驱动的或定期地驱动)提交到阵列150。注意,一旦所有的已经提交的内核映射包括日志355中的所累积的条目所记录的变化时,则可以将这些条目引退。
在一种实施例中,RAID层360可以将存储阵列150内的SSD 260组织为一个或多个RAID组(例如,SSD集合),该一个或多个RAID组通过在每个RAID组的给定数量的SSD 260上写入具有冗余信息(即,关于分条数据的适当的奇偶校验信息)的数据“条带”来提高阵列上的盘区存储的可靠性和完整性。RAID层360还可以例如根据多个连续范围的写操作来存储多个条带(例如,具有足够深度的条带),从而减少了SSD内可能发生的作为上述操作的结果的数据再定位(即,内部闪存块管理)。在一种实施例中,存储层365实现存储I/O驱动器,该存储I/O驱动器(诸如,Linux虚拟功能的I/O(VFIO)驱动器)可以通过与操作***内核224共同操作来直接地与硬件(例如,存储控制器和群集接口)通信。
写入路径
图4示出了存储I/O栈300的用于处理I/O请求(例如,SCSI写入请求410)的I/O(例如,写入)路径400。该写入请求410可以由主机120发出并且针对群集100的存储阵列150上所存储的LUN。示例性地,协议层320接收该写入请求并通过对该请求的字段(例如,LUN ID、LBA和长度(在413处示出))以及写数据414进行解码420(例如,解析和提取)来对该写入请求进行处理。协议层320还可以使用针对卷映射技术430(如上所述)解码420的结果422以将写入请求中的LUN ID和LBA范围(即,相当于偏移量和长度)转化为群集100中适当的卷层实例(即,卷ID(卷445)),该适当的卷层实例负责针对LBA范围来管理卷元数据。在一种备选实施例中,持久层330可以实现上述卷映射技术430。然后,协议层将结果432(例如,卷ID、偏移量、长度(以及写数据)传递给持久层330,持久层330将请求记录到持久层日志335中并且将确认信息经由协议层320返回至主机120。持久层330可以将来自一个或多个写入请求的写数据414聚集并组织到新盘区610中,并且根据盘区哈希技术450对该新盘区执行哈希计算(即,哈希函数)以生成哈希值472。
然后,持久层330可以将具有所聚集的写数据的写入请求(包括,例如卷ID、偏移量和长度)作为参数434传递至适当的卷层实例。在一种实施例中,(由持久层接收的)参数434的消息传递可以经由功能传送机制(例如,PRC)重定向至其他节点以用于节点间通信。备选地,参数434的消息传递可以经由IPC机制(例如,消息线程)进行以用于节点内通信。
在一种或更多种实施例中,桶(bucket)映射技术476被提供来将哈希值472转化为适当的盘区存储层的实例(即,盘区存储实例470),该适当的盘区存储层负责存储新盘区610。注意,桶映射技术可以在存储I/O栈的位于盘区存储层上方的任意层中执行。例如,在一种实施例中,桶映射技术可以在持久层330、卷层340、或管理群集范围内的信息的层(诸如,群集层(未示出))中执行。因此,持久层330、卷层340或群集层可以包括CPU 210执行的计算机可执行指令,以进行用于执行本文所描述的桶映射技术476的操作。然后,持久层330可以将哈希值472和新盘区610传递至适当的卷层实例,并且通过盘区存储放入操作将哈希值472和新盘区610传递至适当的盘区存储实例。盘区哈希技术450可以体现近似一致的哈希函数,以确保任意待写入的盘区可以具有近似相同的机会进入任意盘区存储实例470,即,基于可用资源将哈希桶分布到群集100的盘区存储实例中。因此,桶映射技术476在群集的节点200上提供负载均衡的写入操作(以及,出于对称性,读取操作),同时平衡了群集中的SSD 260的闪存磨损。
响应于放入操作,盘区存储实例可以对哈希值472进行处理以执行盘区元数据选择技术460:(i)从盘区存储实例470内的一组哈希表(示例性地,内核)中选择适当的哈希表480(例如,哈希表480a),以及(ii)从哈希值472中提取哈希表索引462以索引所选择的哈希表,并且针对盘区查找具有盘区键值475的表条目,该盘区键值475用于识别SSD 260上的存储位置490。因此,盘区存储层350包括计算机可执行指令,CPU 210执行这些计算机可执行指令以进行用于实现本文所描述的盘区元数据选择技术460的操作。如果找到具有匹配盘区键值的表条目,则使用盘区键值475所映射的SSD位置490来从SSD中检索出现有的盘区(未示出)。然后,将现有的盘区与新盘区610进行比较以确定它们的数据是否相同。如果数据是相同的,则新盘区610本来存储在SSD 260上并且存在解重复机会(表示为解重复452)从而没有必要写入数据的另一副本。因此,表条目中对于现有盘区的引用计数增大,并且现有盘区的盘区键值475被传递至适当的卷层实例用于存储在密集树元数据结构444(例如,密集树444a)的条目(表示为卷元数据条目446)中,使得盘区键值475与卷445的偏移量范围440(例如,偏移量范围440a)相关联。
然而,如果现有盘区的数据与新盘区610的数据不同,则会发生冲突并且确定性算法被调用来按照需要连续地生成许多映射至同一桶的新候选盘区键值(未示出)以提供解重复452或产生尚未在盘区存储实例中存储的盘区键值。注意,另一哈希表(例如,哈希表480n)可以根据盘区元数据选择技术460来通过所述新候选盘区键值来选出。在不存在解重复机会的情况下(即,尚未存储该盘区),根据压缩技术454对新盘区610进行压缩并且将新盘区610传递至RAID层360,RAID层360对新盘区610进行处理用于存储在SSD 260上的、RAID组466的一个或多个条带710内。盘区存储实例可以与RAID层360协作以识别存储分段650(即,存储阵列150的一部分)以及SSD 260上、用于存储新盘区610的分段650内的位置。示例性地,所识别的存储分段是具有较大的连续空闲空间的分段,该空闲空间具有例如在SSD260上用于存储盘区610的位置490。
在一种实施例中,RAID层360继而跨RAID组466写入条带710,示例性地为一个或多个全条带写入(full stripe write)458。该RAID层360可以写入一系列足够深度的条带710,以减少在基于闪存的SSD 260(即,闪存块管理)中可能出现的数据重定位。然后,盘区存储实例(i)将新盘区610的SSD位置490加载到所选择的哈希表480n(即,根据新的候选盘区键值进行选择的哈希表);(ii)将新盘区键值(表示为盘区键值475)传递至适当的卷层实例用于将该新盘区键值存储到由卷层实例所管理的密集树444的条目(还表示卷元数据条目446)内;以及(iii)将所选择的哈希表的盘区元数据的变化记录到盘区存储层日志355中。示例性地,卷层实例选择跨越卷445的偏移量范围440a的密集树444a,偏移量范围440a包括写入请求的偏移量范围。如前所述,卷445(例如,卷的偏移量空间)被分区为多个区域(例如,根据不相交的偏移量范围进行分配的多个区域);在一种实施例中,每个区域由密集树444表示。然后,卷层实例将卷元数据条目446***到密集树444a中并且将与卷元数据条目相对应的变化记录到卷层日志345中。因此,在I/O(写入)请求被充分地存储在群集的SSD260上。
读取路径
图5示出了用于处理I/O请求(例如,SCSI读取请求510)的存储I/O栈300的I/O(例如,读取)路径500。该读取请求510可以由主机120发出并且在群集100的节点200的协议层320处接收。示例性地,协议层320通过对该请求的字段(例如,LUN ID、LBA和长度(在513处示出))进行解码420(例如,解析和提取)来对该读取请求进行处理,并且针对卷映射技术430使用所解码的结果522(例如,LUN ID、偏移量和长度)。也就是说,协议层320可以实现卷映射技术430(上面描述的)以将读取请求中的LUN ID和LBA的范围(相当于偏移量和长度)转化为群集100中的适当的卷层实例(即,卷ID(卷445)),该适当的卷层实例负责针对LBA(即偏移量)范围来管理卷元数据。协议层然后将结果532传递到持久层330,持久层330可以搜索写入高速缓存380来根据其所高速缓存的数据确定是否可以为一些读取请求或全部读取请求提供服务。如果根据所高速缓存的数据不能对整个请求提供服务,则持久层330可以按照功能传送机制(例如,用于节点间通信的RPC)或IPC机制(例如,用于节点内通信的消息线程)将请求的剩余部分(包括,卷ID、偏移量和长度)作为参数534传递到适当的卷层实例。
卷层实例可以对该读取请求进行处理以访问与卷445的区域(例如,偏移量范围440a)相关联的密集树元数据结构444(例如,密集树444a),卷445的区域包括所请求的偏移量范围(由参数534指定的)。卷层实例可以进一步地对读取请求进行处理,以搜索(查找)密集树444a的一个或多个卷的元数据条目446从而获得所请求的偏移量范围内的、与一个或多个盘区610(或盘区的各部分)相关联的一个或多个盘区键值475。在一种实施例中,每个密树444可以被体现为多级搜索结构,该搜索结构能够在每一级处重叠偏移量范围条目。该多级密集树可以针对同一偏移量具有卷元数据条目446,在这种情况下,较高的级别具有较新的条目并且用来为读取请求提供服务。密集树444的顶级示例性地保留在内核中并且页面高速缓存448可以被用来访问树的较低级。如果顶级中不存在所请求的范围或者其一部分,则可以访问与下一较低树级别(未示出)处的索引条目相关联的元数据页面。然后,对下一级处的元数据页面(例如,在页面高速缓存448中)进行搜索以找到任意重叠的条目。然后,迭代地执行该过程,直到发现一个级的一个或多个卷元数据条目446为止,以确保能够找到对于整个所请求的读取范围的盘区键值475。如果整个或部分所请求的读取范围不存在元数据条目,则未缺失部分被零填充。
一旦找到,则卷层340对每个盘区键值475进行处理以实现例如桶映射技术476,从而将该盘区键值转化为负责存储所请求的盘区610的适当的盘区存储实例470。需要注意的是,在一种实施例中,每个盘区键值475可以基本上等同于与盘区610相关联的哈希值472(即,针对盘区进行写入请求期间所计算的哈希值),使得桶映射技术476和盘区元数据选择技术460可以用于写入路径操作和读取路径操作二者。还需要注意的是,可以根据哈希值472推导出盘区键值475。然后,该卷层340可以将盘区键值475(即,来自先前的针对盘区的写入请求的哈希值)传递(经由盘区存储获取操作)至适当的盘区存储实例470,该盘区存储实例470实现盘区键值至SSD的映射以确定盘区在SSD 226上的位置。
响应于该获取操作,盘区存储实例可以对盘区键值475(即,哈希值472)进行处理以执行元数据选择技术460:(i)从盘区存储实例470内的一组哈希表中选择适当的哈希表480(例如,哈希表480a),以及(ii)从盘区键值475(哈希值472)中提取哈希表索引462以索引到所选择的哈希表,并且针对盘区610查找具有匹配盘区键值475的表条目,该匹配盘区键值475用于标识SSD 260上的存储位置490。也就是说,映射到盘区键值475的SSD位置490可以用于从SSD 260(例如,SSD 260b)中检索现有的盘区(表示为范围610)。然后,盘区存储实例与RAID层360协作以访问在SSD 260b上的盘区并且根据读取请求来检索数据内容。示例性地,RAID层360可以根据盘区读取操作468对盘区进行读取并且将盘区610传递至盘区存储实例。然后,盘区存储实例可以根据解压缩技术456对盘区610进行解压,然而应本领域技术人员应当理解可以在存储I/O栈300的任一层来执行解压。盘区610可以被存储在存储器220的缓冲器(未示出)中,并且对该缓冲区的引用可以通过存储I/O栈的各层被传回。然后,持久层可以将盘区加载到读取式高速缓存580(或其他分级机制),并且可以针对读取请求510的LBA范围从读取式高速缓存580中提取适当的读数据512。此后,协议层320可以创建SCSI读取响应514(包括读数据512)并且将该读取响应返回至主机120。
分层文件***
本文所述实施例示例性采用了存储I/O栈的分层文件***。该分层文件***包括文件***的闪存优选、日志结构层(即,盘区存储层),该闪存优选、日志结构层被配置为提供群集的SSD 260上的数据和元数据的连续存储(即,日志结构布局)。数据可以被组织为由节点提供服务的一个或多个主机可见LUN的任意数目的可变长度盘区。元数据可以包括从LUN的主机可见逻辑块地址范围(即,偏移范围)到盘区键值的映射,以及盘区键值到盘区在SSD上存储的位置的映射。示例性地,分层文件***的卷层与盘区存储层协作以提供间接层,该间接层通过盘区存储层促进SSD上盘区的高效日志结构布局。
在一个实施例中,文件***的日志结构层的功能(诸如写入分配和闪存设备(即,SSD)管理)由盘区存储层350执行并管理。写入分配可以包括收集可变长度盘区,以形成可以被写入以跨一个或多个RAID组的SSD释放分段的全条带。即,文件***的日志结构层将盘区写到最初空闲(即,干净)分段作为全条带,而不是部分条带。闪存设备管理可以包括分段清除以创建经由RAID组间接映射到SSD的这种空闲分段。因此,部分RAID条带写入被避免,这产生减少的RAID相关写入放大。
代替依赖于SSD中的垃圾收集,存储I/O栈可以在盘区存储层中实现分段清除(即,垃圾收集),以绕开SSD中闪存转换层(FTL)功能(包括垃圾收集)的性能影响。换言之,存储I/O栈允许文件***的日志结构层使用分段清除操作为数据布局引擎,以有效代替SSD的FTL功能的实质部分。盘区存储层因此可以按照分段清除(即,垃圾收集)来处理随机写入请求以预测其FTL功能内的闪存行为。因此,针对存储I/O栈的写入放大的日志结构等效源可以在盘区存储层合并和管理。另外,文件***的日志结构层可以被部分采用以改进存储阵列的闪存设备的写入性能。
注意,SSD的日志结构布局通过顺序写入盘区以清除分段来实现。因此,由盘区存储层采用的日志结构布局(即,顺序存储)固有地支持可变长度盘区,由此允许SSD上的存储之前盘区的不严格压缩并且不具有来自SSD的明确块级(即,SSD块)元数据支持,诸如支持512字节数据和8字节元数据(例如,对于包含压缩数据的末端的另一块的指针)的520字节扇区。通常,消费者级别SSD支持为2的幂(例如,512字节)的扇区,而更昂贵的企业级别SSD可以支持增强大小的扇区(例如,520字节)。因此,盘区存储层可以利用较低成本的消费者级别SSD进行操作,同时利用其相伴的无约束压缩来支持可变长度盘区。
分段清除
图6示出了通过分层文件***的分段清除。在一个实施例中,分层文件***的盘区存储层350可以将盘区写到空或空闲区域或“分段”。在再次重写入该分段之前,盘区存储层350可以按照分段清除将段进行清除,如图所示该分段清除可以被体现为分段清除过程。该分段清除过程可以从旧分段650a读取所有有效盘区610并且将那些有效盘区(即,未被删除或复写612的盘区)写到一个或多个新分段650b-c,由此释放(即,“清除”)旧分段650a。新盘区继而可以被顺序写到旧(现在干净)分段。分层文件***可以保持特定量的保留空间(即,空闲分段)以支持分段清除的高效表现。例如,分层文件***可以如图所示保持等同于近似7%存储容量的空闲分段的保留空间。新盘区的顺序写入可以表现为全条带写入458,使得对存储的单个写入操作跨越RAID组466中的所有SSD。写数据可以被累积直到最小深度的条带写入操作可以被执行。
示例性地,分段清除可以被执行以释放间接映射到SSD的一个或多个选定分段。如本文所使用的,SSD可以包括多个分段块620,其中每个块的大小示例为近似2GB。分段可以包括来自RAID组466中多个SSD的每个SSD的分段块620a-c。因此,针对具有24个SSD的RAID组,其中22个SSD的等效存储空间存储数据(数据SSD)并且2个SSD的等效存储空间存储奇偶校验(奇偶校验SSD),每个分段可以包括44GB的数据和4GB的奇偶校验。RAID层可以进一步按照一个或多个RAID实现方式(例如,RAID1、RAID 4、RAID 5和/或RAID 6)来配置RAID组,由此在例如一个或多个SSD故障的情况下提供对SSD的保护。注意,每个分段可以与不同的RAID组相关联,并且因此可以具有不同的RAID配置,即,每个RAID组可以按照不同的RAID实现方式进行配置。为了释放或清除选定的分段,分段中包含有效数据的盘区被移动到不同的干净分段并且选定的分段(现在干净)被释放用于后续重用。分段清除合并分散的空闲空间以改进写入有效性,例如,通过减少RAID相关的放大率来改进对条带的写入有效性以及通过减少FTL的性能影响来改进对基础闪存块的写入有效性。一旦分段被清除并指定释放,数据就可以被顺序写到该分段。由盘区存储层为写入分配保持的计数结构(例如,指示分段空闲空间的量的空闲分段映射)可以由分段清除过程采用。注意,选择干净分段以从正被清除的分段接收数据(即,写入)可以基于该干净分段中剩余的空闲空间的量和/或该干净分段被使用的最后时间。还应当注意,来自正被清除的分段的数据的不同部分可以被移动至不同“目标”分段。即,多个相关干净分段650b、650c可以从正被清除的分段650a接收数据的不同部分。
示例性地,分段清除可能造成存储阵列(SSD)中的某种程度的写入放大。然而,文件***可以通过向SSD顺序写入盘区作为日志设备来减少这种写入放大。例如,假设SSD具有近似2MB的擦除块大小,通过向空闲分段顺序写入至少2MB的数据(盘区),整个擦除块可以被复写并且SSD级的存储残片可以被消除(即,减少SSD中的垃圾收集)。然而,SSD通常跨多个闪存部件和跨多个通道(即,存储控制器240)分条数据以便实现性能。因此,对空闲(即,干净)分段的相对大(例如,2GB)写入粒度可能对避免SSD级写入放大(即,覆盖内部SSD分条)而言是必要的。
具体地,因为SSD中的擦除块边界可能是未知的,所以写入粒度应当足够大,以便针对大的连续范围上的盘区的一系列写入可以复写SSD上先前写入的盘区并且有效地覆盖SSD中的垃圾收集。换言之,这种垃圾收集可以被抢占,因为新数据在与先前数据相同的范围上被写入,使得该新数据完全复写先前写入的数据。此方法还避免了新写入数据消耗保留的空间容量。因此,存储I/O栈的日志结构特征(即,文件***的日志结构层)的优势在于仅利用SSD中最小量的保留空间来减少SSD的写入放大的能力。该日志结构特征将保留空间的闪存设备管理从SSD有效地“移动”到盘区存储层,该盘区存储层使用该保留空间来管理写入放大。因此,仅存在写入放大的一个源(即,盘区存储层)而不是具有写入放大的两个源(即,盘区存储层和SSD FTL,两者进行相乘)。
写入分配
在一个实施例中,每个分段可以有多个RAID条带。每次分段被分配(即,在清除分段之后),该分段内各SSD的块可以包括一系列RAID条带。各块可以位于SSD内的相同或不同偏移。盘区存储层可以出于清除的目的顺序读取块并且将所有有效数据重定位到另一分段。此后,经清除的分组的块620可以被释放并且可以提出如何构成使用该块的下一分段的决策。例如,如果SSD从RAID组被移除,则容量的一部分(即,一组块620)可以从下一分段中省略(即,RAID条带配置中的改变),以便从多个块620中构成较窄的一个块的RAID组,即,使得RAID宽度少一个块宽度。因此,通过使用分段清除,每次新分段被分配,构成分段的块620的RAID组就可以被有效创建,即,当新分段被分配时,RAID组就从可用SSD动态创建。通常不需要在新分段中包括存储阵列150中的所有SSD 260。备选地,来自新引入的SSD的块620可以被添加至在新分段650被分配时创建的RAID组。
图7示出了由分层文件***形成的RAID条带。注意,写入分配可以包括收集可变长度盘区以形成跨一个或多个RAID组的SSD的一个或多个条带。在一个实施例中,RAID层360可以管理用于RAID组466的SSD 260a-n上盘区610的替换的拓扑信息和奇偶校验计算。为此,RAID层可以与盘区存储层协作以将盘区组织为RAID组内的条带710。示例性地,盘区存储层可以收集盘区610以形成可以被写到空闲分段650a的一个或多个全条带710,使得单个条带写入操作458可以跨越该RAID组中的所有SSD。盘区存储层还可以与RAID层协作以将每个条带710包装为可变长度盘区610的全条带。一旦条带被完成,RAID层可以将盘区的全条带710作为一组块620d-f传递到存储I/O栈的存储层365,用于在SSD 260上存储。通过向空闲分段写入全条带(即,数据和奇偶校验),分层文件***避免了奇偶校验更新的成本并且跨SSD展开任意请求的读取操作负载。注意,对SSD 260挂起写入操作的盘区610可以被累加至块620d,e,该块作为一个或多个临时近似写入操作被写到SSD(例如,2Gbyte),由此减少了SSD中FTL的性能影响。
在一个实施例中,盘区存储可以被视为群集的存储阵列150上存储的全局盘区池,其中每个盘区可以被保持在盘区存储实例的RAID组466内。假设一个或多个可变长度(即,小和/或大)盘区被写入分段。盘区存储层可以收集可变长度盘区以形成跨RAID组的SSD的一个或多个条带。虽然每个条带可以包括多个盘区610并且盘区610可以跨越不止一个条带710a,b,每个盘区被完整地存储在一个SSD上。在一个实施例中,条带可以具有深度16KB并且盘区可以具有大小4KB,但是此后盘区可以被向下压缩到1KB或2KB或者更小,从而允许可能超过条带深度(即,块620g深度)的更大盘区被包装。因此,条带可以仅构成盘区的一部分,条带710的深度(即,构成该条带的一组块620d-f)可以独立于被写入任意一个SSD的盘区。因为盘区存储层可以将盘区作为全条带跨SSD的一个或多个空闲分段写入,所以与条带的处理信息相关联的写入放大可以被减少。
优化分段清除技术
本文所述各实施例涉及优化分段清除技术,该优化分段清除技术被配置为有效清除耦合至群集的一个或多个节点的存储阵列的一个或多个选定部分或分段。注意,盘区存储层350在存储阵列150的SSD 260上提供数据和元数据的顺序存储。元数据可以包括盘区键值到SSD上存储的盘区的位置的映射,该映射示例性为组织为内核哈希表480的条目的盘区元数据以及一个或多个节点的其他元数据数据结构。例如,58GB的盘区元数据可以被用于描述在10TB可用存储上存储的盘区的位置(例如,22个数据SSD和2个奇偶校验SSD)。这种盘区元数据可以被组织为内核哈希表480,例如,布谷鸟(cuckoo)哈希表。另外,可能存在与没有被哈希表描述的哈希表自身的元数据(例如,核查点)有关的盘区;这些盘区的位置可以由其他内核元数据数据结构(即,元数据表)的条目描述,并且记录在SSD上。例如,哈希表的盘区元数据自身体现为页面并且写为SSD上的盘区(例如,作为核查点),而哈希表(即,盘区元数据)的变化也在盘区存储层日志355中累积并且被写为SSD上的盘区。
图8示出了优化分段清除技术的自下而上法和盘区位置元数据。示例性地,哈希表480的每个条目810和元数据表850的每个条目852描述了盘区键值到SSD上最近版本的对应盘区的位置490的映射。因此,表中描述的每个盘区是有效盘区(即,使用中)。注意,位置提供了足够信息用于从SSD检索(即,读取)盘区。优化分段清除技术可以被配置为搜索哈希表480的条目810以及元数据表850的条目852以标识将要清除的一个或多个分段内盘区的位置,所述条目存储了针对哈希表的核查点和日志的盘区元数据。每个盘区的位置490示例性包括包含最近版本盘区的分段的分段标识符(ID)824。在一个实施例中,最近版本盘区的位置490可以特别包括(i)1位,用于标识包含该盘区的RAID组(即,RAID ID822),(ii)13位,用于标识包含该盘区的分段(即,分段ID824),(iii)5位,用于标识包含该盘区的RAID组内的数据SSD(即,盘ID 826),(iv)21位,用于标识包含该盘区(例如,盘区报头的第一字节)的一块分段的偏移(即,分段偏移828),以及(v)8位,标识由该盘区(即,盘区大小829)消耗的若干标准大小块(例如,512字节)。
在一个实施例中,盘区存储层保持计数结构(例如,指示分段空闲空间量的空闲分段图)以及具有关于试探法和策略的信息的其他数据结构,其由分段清除过程示例性用于确定将要清除的分段(即,旧分段)的分段ID。因此,基于策略(例如,超过空闲空间阈值诸如25%)选择用于清除的分段并且根据分段清除技术进行清除,示例性为:(i)自下而上法,(ii)自上而下法,或(iii)混合法。示例性地,分段清除技术的选择可以基于检查与选定用于清除的分段相关联的计数结构来确定。
在一个实施例中,分段清除技术的自下而上法被配置为读取将要清除的分段650(即,“旧”分段)的所有块以定位分段的SSD上存储的盘区610并且检查盘区元数据以确定盘区是否有效。示例性地,分段清除技术可以与RAID层360协作以在旧分段开始起并行进到其结束执行连续全条带读取操作。SSD上存储的每个盘区是自描述的;即,盘区包括包含描述该盘区的信息(例如,由SSD上盘区消耗的盘区键值和长度(以字节)(未示出))的盘区报头860。盘区存储层的分段清除过程使用每个盘区的盘区键值来分别找到(例如,索引)内核哈希表480和元数据表850a-n中对应于针对每个盘区的盘区键值的盘区元数据条目810、852,以确定包含最近版本盘区610a的分段的分段ID。注意,盘区元数据选择技术460可以用于快速找到(即,索引)对应于盘区的哈希表条目810a。如果条目810a中位置490a的分段ID 824a(例如,“1”)匹配旧分段650a的分段ID(例如,“1”),则由盘区键值475a引用的盘区被确定为有效(即,最近版本)并且被拷贝(重定位)到正被写入的分段650b(即,“新”分段)。分段清除过程继而可以更新哈希表(或元数据表)条目810a中的位置490a以参考盘区610a在新分段650b中的新位置。然而,如果条目的分段ID 824b(例如,“2”)不匹配旧分段650a的分段ID(例如,“1”)(或者不存在针对盘区键值的哈希表条目810),则由盘区键值475b引用的盘区不是最近版本(即,被确定为无效)并且可以被复写。注意,匹配位置的任意其他部分(即,RAID ID 822、盘ID 826和分段偏移828)的失败指示该盘区无效。因此,条目位置的各部分(即,RAID ID、盘ID和分段偏移)可以被匹配到与该盘区相关联的对应信息,以确定该盘区是否有效。因此,自下而上法被配置为读取旧分段650a上每个盘区610的盘区报头860以确定该盘区是否有效(即,数据/元数据处于使用中),并且如果有效,则将该盘区重定位(拷贝)到新分段以保护有效数据/元数据同时合并由无效盘区612(例如,被删除的盘区)占用的空间。一旦所有有效数据/元数据被重定位,整个旧分段继而可以被安全重用。
在一个实施例中,优化分段清除技术的自上而下法排除对旧分段的块进行读取来定位盘区,相反检查内核盘区元数据(即,哈希表和元数据表条目)以确定将要清除的旧分段的有效盘区。分段清除技术的此方法考虑到旧分段可能曾经具有相对满的有效盘区,但在清除之前,那些盘区中的某些盘区可能已经被逻辑复写(即,相同LBA范围),从而将复写盘区留作分段上的过期数据。因此,逻辑复写盘区(即,无效盘区)不需要被拷贝(重定位)。因此,针对具有频繁复写数据的访问模式的I/O工作负载,自上而下法可以是高效的,因为其仅读取和重定位分段中块的有效盘区。相反,自下而上法从旧分段读取有效和无效盘区,然后验证所读取的盘区是否有效。
图9a示出了优化分段清除技术的自上而下法。示例性地,分段清除过程扫描内核哈希表480和元数据表820的条目以找到匹配选定用于清除的分段的分段ID的相应条目810a,b和852。注意,条目的盘区元数据(例如,位置490)包括对最近版本盘区的引用;因此,旧分段650a中需要被重定位的任意有效盘区610a可以被标识并且被拷贝到新分段650b。换言之,无效(例如,被删除)盘区612不被读取,因为其不需要被重定位。分段清除过程继而可以更新条目810a的位置490a以参考盘区610a在新分段650b中的新位置。与可以读取分段中有效(即,使用中)和无效(例如,被删除)盘区两者,然后验证所读取盘区的有效性的自下而上法不同,自上而下法避免了从分段中读取无效盘区。即,自下而上法由SSD上的盘区驱动,而自上而下法由与内核哈希表和元数据表中的条目相关联的有效盘区驱动。通常,自下而上法针对相对满(即,超过容量阈值)的分段更有效,而自上而下法针对相对空(即,低于容量阈值)的分段更有效。
图9b示出了在存储设备故障期间优化分段清除技术的方法。假设响应于RAID组的丢失(例如,故障、不可访问或者其他原因不可用)SSD 260a,新SSD 260n+1被添加到RAID组并且不可访问SSD的数据(例如,有效盘区610a和无效盘区612)被重建并且其有效性在存储在新分段650c之前被验证。使用自下而上法,RAID组的每个条带710可以被读取(经由全条带读取操作),并且丢失数据(例如,不可访问SSD 260a上的有效盘区610a和无效盘区612)可以被重建并且在被写到新分段650c上对应位置之前被验证。使用自上而下法,内核哈希表和元数据表可以被扫描,以通过将要清除的分段(包括丢失SSD)的位置搜索有效盘区。此后,仅在扫描中找到的那些盘区(即,有效盘区610a)需要被重建;注意,不需要对丢失SSD上被复写或删除的数据(例如,无效盘区612)进行重建。注意,多个数据重建可以在丢失SSD上的多个盘区需要重定位时发生。
在一个实施例中,分段清除技术的混合方法被配置为进一步减少旧分段块的读取,尤其是共享盘区的压缩块,使得每个块仅被读取一次。如先前所述,盘区存储层采用的日志结构布局允许在SSD存储之前盘区的非严格压缩。例如,4KB盘区数据可以被压缩到2KB盘区,使得SSD上不是全部4KB块被消耗;相反,另外2KB盘区可以紧邻(例如,同一4KB块上)被压缩的2KB盘区被包装。但是,如果两个盘区被单独读取,则SSD上的同一块可能被读取两次,即,每个盘区使用分段清除的自上而下法或自下而上法一次。然而,混合方法被配置为避免这种冗余,因为读取块两次以从共享相同块的不同盘区重定位信息增加了读取放大率和写入放大两者。为此,混合方法可以被配置为执行合并全条带读取操作,尤其是在从丢失或不可访问SSD中重建丢失块(数据/元数据)的情况。
因此,混合方法使用自上而下法确定旧分段的分段ID,扫描内核哈希表和元数据表的条目以找到与分段ID的匹配,并且标识旧分段中需要被重定位到新分段的有效盘区。重定位列表可以例如由分段清除过程创建,该重定位列表标识旧分段中需要被读取(和重定位)的有效盘区的块以及需要在可访问(丢失)SSD上被读取以满足丢失SSD的丢失块的重建的任意块。分段清除过程继而可以根据将要重定位盘区的块所需的读取操作通过SSD位置(例如,通过存储设备偏移的阶梯排序)对块(盘区)进行排序,继而i)将一个或多个邻近位置组合成单个更大读取操作;以及ii)将任意冗余位置引用合并到块,例如重定位在SSD上共享共同块的两个有效盘区所需的两个读取操作可以被合并到共同块的一个读取操作。在对列表排序和合并之后,减少(理想是最小)数目的读取操作可以被确定以重定位块并且优化分段清除。
在一个实施例中,存在若干类型(例如,5类)的盘区,其中每类盘区指定内核表类型(即,哈希表或元数据表)来扫描以确定旧分段的盘区是否有效,即,旧分段是否存储了最近版本的盘区。当将要清除的旧分段的盘区使用自下而上法被找到时,盘区的盘区报头被读取以确定盘区的类型,从而在那里(即,哪种类型的表)查找描述该盘区的元数据(即,位置元数据)。相反,自上而下和混合方法扫描每个内核表。注意,当一次扫描不止一个分段时,内核表可以针对每个正被清除的分段逐条目进行扫描,以搜索所有正被清除的分段中的有效盘区。
优势在于,自下而上法可以在旧分段(即,将要清除)的SSD具有相对满(即,超过容量阈值)的有效盘区(块)时被采用,以利用全条带读取操作来减少针对存储I/O栈的读取路径的SSD访问。注意,分段清除过程与RAID层协作来使用全条带读取操作示例性读取整个旧分段,以将有效盘区从旧分段重定位到正被写入的新分段。全条带读取操作的表现还排除对在重建数据时响应于RAID组的丢失SSD额外读取操作的需求,例如,丢失SSD的丢失数据可以由RAID层每读取操作使用一次XOR操作来构建,而不考虑正被读取盘区的数目。
相反,在i)SSD不可访问(即,丢失或故障)时;以及ii)分段的SSD相对空(即,针对有效盘区低于容量阈值)时可以采用自上而下法,因为该自上而下法仅需要读取旧分段中块的一部分以访问那些有效盘区,与读取分段的所有块相反,由此减少了读取和写入放大。与自下而上法不同,自上而下法通常不执行全条带读取操作除非重建丢失SSD中的数据。混合方法可以被用于扩展自上而下法以仅包括针对块重定位和重建所需的全条带读取操作,同时还避免自下而上法中实施的无效盘区的任何不必要的读取操作以及针对自上而下法中实施的重建的冗余读取。注意,在执行全条带读取操作之后,混合方法可以使用例如从扫描哈希表获得的分段偏移从条带中直接检索任意有效盘区。
前面的描述针对的是具体的实施例,然而,明显的是,可以对所描述的实施例进行其他变型和修改,这些变型和修改获得了所述实施例的部分或全部优点。例如,明确预期的是,本文所描述的组件和/或元件可以实施为在有形(非临时性)的计算机可读介质(例如,磁盘和/或CD)上进行编码的软件,该有形(非临时性)的计算机可读介质具有执行在计算机、硬件、固件或上述项的组合的程序指令。因此,本说明书仅意在举例说明而并非意在对本文的实施例的范围进行限制。因此,所附权利要求的目的在于覆盖本文的实施例的真正主旨和范围之内所有的这些变型和修改。

Claims (20)

1.一种方法,包括:
接收针对逻辑单元(LUN)的写入请求,所述写入请求具有数据并且在群集的节点处被处理,所述节点具有存储器并且被连结至固态驱动(SSD)的存储阵列;
将所述数据与第一键值相关联;
将所述数据作为第一盘区存储在第一分段中,所述第一分段具有日志结构的布局并且跨越一组SSD,所述第一分段与第一分段标识符(ID)相关联,所述第一盘区包括所述第一键值;
通过将所述第一盘区从所述第一分段拷贝到第二分段来清除所述第一分段,所述第一盘区的所述数据是有效的,所述第二分段具有所述日志结构的布局、并且与不同于所述第一分段ID的第二分段ID相关联;以及
更新内核元数据表的条目以包括所述第二分段ID,所述条目包括与所述第一盘区相关联的所述第一键值。
2.根据权利要求1所述的方法,进一步包括:
确定所述第一盘区是否有效;以及
响应于确定所述第一盘区有效,将所述第一盘区从所述第一分段的第一位置拷贝到所述第二分段的第二位置。
3.根据权利要求2所述的方法,进一步包括:
使用所述第一键值找到所述内核元数据表的所述条目;以及
使用所述条目来确定所述第一盘区是否有效。
4.根据权利要求3所述的方法,进一步包括:
响应于确定所述第一盘区有效,更新所述条目以包括所述第二位置。
5.根据权利要求1所述的方法,进一步包括:
从所述第一分段读取所述第一盘区;
使用所述第一盘区的所述第一键值找到所述内核元数据表的所述条目,所述条目具有条目分段ID;
将所述条目分段ID匹配到所述第一分段的所述第一分段ID;以及
响应于将所述条目分段ID匹配到所述第一分段的第一分段ID,将所述第一盘区拷贝到所述第二分段。
6.根据权利要求1所述的方法,进一步包括:
使用所述第一分段ID扫描所述内核元数据表以找到所述条目,所述条目具有所述第一分段ID和所述第一键值;
将第一盘区从所述第一分段的第一位置拷贝到所述第二分段的第二位置;以及
更新所述条目以包括所述第二位置。
7.根据权利要求1所述的方法,其中当所述一组SSD中的SSD不可访问时,使用分段清除的第一方式,其中当所述第一分段在容量阈值以下时,使用分段清除的第二方式,其中所述分段清除的第一方式读取所述第一分段中包括的所有盘区,并且其中所述分段清除的第二方式仅读取所述第一分段中包括的有效盘区。
8.根据权利要求1所述的方法,进一步包括:
依照跨越所述第一分段的所述一组SSD的条带读取操作,读取一块所述第一分段,其中所述第一盘区和第二盘区被包括在所述一块所述第一分段中,其中所述第一盘区被压缩,并且其中所述第一盘区的第一位置等同所述第二盘区的第二位置。
9.根据权利要求2所述的方法,进一步包括:
将所述第一盘区的第一位置与第二盘区的第三位置合并读取,其中所述第一盘区和所述第二盘区被包括在一块所述第一分段中。
10.一种方法,包括:
接收针对逻辑单元(LUN)的写入请求,所述写入请求具有数据并且在群集的节点处被处理,所述节点具有存储器并且被连结至固态驱动(SSD)的存储阵列;
将所述数据与第一键值相关联;
将所述数据作为第一盘区存储在第一分段中,所述第一分段具有日志结构的布局并且跨越一组SSD,所述第一分段与第一分段标识符(ID)相关联,所述第一盘区包括所述第一键值;
使用所述第一分段ID扫描内核元数据表以找到条目,所述条目具有所述第一分段ID和所述第一键值;
将所述第一盘区从所述第一分段拷贝到第二分段上的位置,所述第二分段具有所述日志结构的布局并且与不同于所述第一分段ID的第二分段ID相关联;以及
更新所述内核元数据表的所述条目以包括所述第二分段ID和所述位置。
11.一种***,包括:
存储***,所述存储***具有经由总线被连接到处理器的存储器;
存储阵列,所述存储阵列被耦合至所述存储***并且具有一个或多个固态驱动(SSD);
存储I/O栈,所述存储I/O栈在所述存储***的所述处理器上执行,所述存储I/O栈在执行时可操作用于:
接收针对逻辑单元(LUN)的写入请求,所述写入请求具有数据并且在群集的节点处被处理,所述节点具有存储器并且被连结至固态驱动(SSD)的存储阵列;
将所述数据与第一键值相关联;
将所述数据作为第一盘区存储在第一分段中,所述第一分段具有日志结构的布局并且跨越一组SSD,所述第一分段与第一分段标识符(ID)相关联,所述第一盘区包括所述第一键值;
通过将所述第一盘区从所述第一分段拷贝到第二分段来清除所述第一分段,所述第一盘区的所述数据是有效的,所述第二分段具有所述日志结构的布局并且与不同于所述第一分段ID的第二分段ID相关联;以及
更新内核元数据表的条目以包括所述第二分段ID,所述条目包括与所述第一盘区相关联的所述第一键值。
12.根据权利要求11所述的***,其中所述存储I/O进一步被配置为:
确定所述第一盘区是否有效;以及
响应于确定所述第一盘区有效,将所述第一盘区从第一位置拷贝到第二位置。
13.根据权利要求12所述的***,其中所述存储I/O进一步被配置为:
使用所述第一键值找到所述内核元数据表的所述条目;以及
使用所述条目来确定所述第一盘区是否有效。
14.根据权利要求13所述的***,其中所述存储I/O进一步被配置为:
响应于确定所述第一盘区有效,更新所述条目以包括所述第二位置。
15.根据权利要求11所述的***,其中所述存储I/O进一步被配置为:
从所述第一分段读取所述第一盘区;
使用所述第一盘区的所述第一键值找到所述内核元数据表的所述条目,所述条目具有条目分段ID;
将所述条目分段ID匹配到所述第一分段的所述第一分段ID;以及
响应于将所述条目分段ID匹配到所述第一分段的第一分段ID,将所述第一盘区拷贝到所述第二分段。
16.根据权利要求11所述的***,其中所述存储I/O进一步被配置为:
使用所述第一分段ID扫描所述内核元数据表以找到所述条目,所述条目具有所述第一分段ID和所述第一键值;
将第一盘区从第一位置拷贝到第二位置;以及
更新所述条目以包括所述第二位置。
17.根据权利要求11所述的***,其中当所述一组SSD中的SSD不可访问时,使用分段清除的第一方式,其中当所述第一分段在容量阈值以下时,使用分段清除的第二方式,其中所述分段清除的第一方式读取所述第一分段中包括的所有盘区,并且其中所述分段清除的第二方式仅读取所述第一分段中包括的有效盘区。
18.根据权利要求11所述的***,其中所述存储I/O进一步被配置为:
依照跨越所述第一分段的所述一组SSD的全条带读取操作,读取一块所述第一分段,其中所述第一盘区和第二盘区被包括在所述一块所述第一分段中,其中所述第一盘区被压缩,并且其中所述第一盘区的第一位置等同所述第二盘区的第三位置。
19.根据权利要求11所述的***,其中所述存储I/O进一步被配置为:
将所述第一盘区的第一位置与第二盘区的第二位置合并读取,其中所述第一盘区和所述第二盘区被包括在一块所述第一分段中。
20.根据权利要求18所述的***,其中所述全条带读取响应于所述第一分段的所述一组SSD中的故障SSD而发生。
CN201580049234.8A 2014-09-12 2015-09-08 优化分段清除技术 Pending CN106687910A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/484,820 US10133511B2 (en) 2014-09-12 2014-09-12 Optimized segment cleaning technique
US14/484,820 2014-09-12
PCT/US2015/048833 WO2016040251A1 (en) 2014-09-12 2015-09-08 Optimized segment cleaning technique

Publications (1)

Publication Number Publication Date
CN106687910A true CN106687910A (zh) 2017-05-17

Family

ID=54150685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580049234.8A Pending CN106687910A (zh) 2014-09-12 2015-09-08 优化分段清除技术

Country Status (4)

Country Link
US (1) US10133511B2 (zh)
EP (1) EP3191931A1 (zh)
CN (1) CN106687910A (zh)
WO (1) WO2016040251A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108646981A (zh) * 2018-04-28 2018-10-12 深圳市茁壮网络股份有限公司 一种数据缓存节点管理方法、数据缓存方法和缓存管理节点
CN110096216A (zh) * 2018-01-30 2019-08-06 伊姆西Ip控股有限责任公司 用于管理数据存储***中的数据存储的方法、装置以及计算机程序产品
CN112912851A (zh) * 2018-10-31 2021-06-04 慧与发展有限责任合伙企业 用于可字节寻址的非易失性存储器的无主raid

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9626121B2 (en) * 2014-12-19 2017-04-18 International Business Machines Corporation De-duplication as part of other routinely performed processes
US9965201B1 (en) * 2015-03-31 2018-05-08 EMC IP Holding Company LLC Coalescing file system free space to promote full-stripe writes
US20170024140A1 (en) * 2015-07-20 2017-01-26 Samsung Electronics Co., Ltd. Storage system and method for metadata management in non-volatile memory
EP3350703A1 (en) * 2015-10-19 2018-07-25 Huawei Technologies Co., Ltd. Method and device for determination of garbage collector thread number and activity management in log-structured file systems
US9401959B1 (en) 2015-12-18 2016-07-26 Dropbox, Inc. Network folder resynchronization
US20170220464A1 (en) * 2016-01-28 2017-08-03 Pure Storage, Inc. Efficiently managing encrypted data on a remote backup server
US10108637B2 (en) * 2016-03-08 2018-10-23 International Business Machines Corporation Spatial-temporal storage system, method, and recording medium
US10802740B2 (en) 2016-04-21 2020-10-13 Netapp, Inc. Systems, methods, and computer readable media providing arbitrary sizing of data extents
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
US10248495B2 (en) 2017-02-17 2019-04-02 International Business Machines Corporation Eventual consistency intent cleanup in a dispersed storage network
US10545826B2 (en) * 2017-05-25 2020-01-28 Scality, S.A. Layered error correction encoding for large scale distributed object storage system
US10852966B1 (en) * 2017-10-18 2020-12-01 EMC IP Holding Company, LLC System and method for creating mapped RAID group during expansion of extent pool
US10852951B1 (en) * 2017-10-18 2020-12-01 EMC IP Holding Company, LLC System and method for improving I/O performance by introducing extent pool level I/O credits and user I/O credits throttling on Mapped RAID
WO2019118356A1 (en) * 2017-12-11 2019-06-20 Fungible, Inc. Durable block storage in data center access nodes with inline erasure coding
US10678461B2 (en) 2018-06-07 2020-06-09 Vast Data Ltd. Distributed scalable storage
US10656857B2 (en) * 2018-06-07 2020-05-19 Vast Data Ltd. Storage system indexed using persistent metadata structures
US11671029B2 (en) 2018-07-07 2023-06-06 Intelesol, Llc AC to DC converters
US11581725B2 (en) 2018-07-07 2023-02-14 Intelesol, Llc Solid-state power interrupters
US11056981B2 (en) 2018-07-07 2021-07-06 Intelesol, Llc Method and apparatus for signal extraction with sample and hold and release
US11205011B2 (en) 2018-09-27 2021-12-21 Amber Solutions, Inc. Privacy and the management of permissions
US11334388B2 (en) 2018-09-27 2022-05-17 Amber Solutions, Inc. Infrastructure support to enhance resource-constrained device capabilities
US10985548B2 (en) 2018-10-01 2021-04-20 Intelesol, Llc Circuit interrupter with optical connection
US11349296B2 (en) 2018-10-01 2022-05-31 Intelesol, Llc Solid-state circuit interrupters
US10795768B2 (en) * 2018-10-22 2020-10-06 Seagate Technology Llc Memory reallocation during raid rebuild
US10990478B2 (en) 2019-02-01 2021-04-27 Fungible, Inc. Flexible reliability coding for storage on a network
US10761931B2 (en) 2018-10-24 2020-09-01 Fungible, Inc. Inline reliability coding for storage on a network
EP3900487A4 (en) 2018-12-17 2022-09-21 Intelesol, LLC ALTERNATELY DRIVEN LIGHT EMITTING DIODE SYSTEMS
US11068199B2 (en) * 2019-01-29 2021-07-20 EMC IP Holding Company, LLC System and method for aggregating metadata changes in a storage system
US11170964B2 (en) 2019-05-18 2021-11-09 Amber Solutions, Inc. Intelligent circuit breakers with detection circuitry configured to detect fault conditions
US10908997B1 (en) * 2019-07-30 2021-02-02 EMC IP Holding Company LLC Simple and efficient technique to support disk extents of different sizes for mapped RAID
EP4088125A4 (en) 2020-01-21 2024-03-06 Amber Semiconductor, Inc. SMART CIRCUIT INTERRUPTION
US11227016B2 (en) 2020-03-12 2022-01-18 Vast Data Ltd. Scalable locking techniques
US11625370B2 (en) 2020-04-07 2023-04-11 Vmware, Inc. Techniques for reducing data log recovery time and metadata write amplification
US11467746B2 (en) 2020-04-07 2022-10-11 Vmware, Inc. Issuing efficient writes to erasure coded objects in a distributed storage system via adaptive logging
US11334277B2 (en) * 2020-04-07 2022-05-17 Vmware Inc. Issuing efficient writes to erasure coded objects in a distributed storage system with two tiers of storage
US11334276B2 (en) * 2020-04-07 2022-05-17 Vmware Inc. Using segment pre-allocation to support large segments
US11630729B2 (en) 2020-04-27 2023-04-18 Fungible, Inc. Reliability coding with reduced network traffic
US11281374B2 (en) * 2020-04-28 2022-03-22 EMC IP Holding Company LLC Automated storage network reconfiguration for heterogeneous storage clusters
US11210230B2 (en) 2020-04-30 2021-12-28 EMC IP Holding Company LLC Cache retention for inline deduplication based on number of physical blocks with common fingerprints among multiple cache entries
US11256577B2 (en) 2020-05-30 2022-02-22 EMC IP Holding Company LLC Selective snapshot creation using source tagging of input-output operations
US11436123B2 (en) 2020-06-30 2022-09-06 EMC IP Holding Company LLC Application execution path tracing for inline performance analysis
US11670946B2 (en) 2020-08-11 2023-06-06 Amber Semiconductor, Inc. Intelligent energy source monitoring and selection control system
US11494090B2 (en) * 2020-09-25 2022-11-08 Vmware, Inc. Systems and methods of maintaining fault tolerance for new writes in degraded erasure coded distributed storage
US11397706B2 (en) * 2020-12-22 2022-07-26 Vmware, Inc. System and method for reducing read amplification of archival storage using proactive consolidation
US11474719B1 (en) 2021-05-13 2022-10-18 Vmware, Inc. Combining the metadata and data address spaces of a distributed storage object via a composite object configuration tree
US11513720B1 (en) * 2021-06-11 2022-11-29 Western Digital Technologies, Inc. Data storage device having predictive analytics
US11797525B2 (en) * 2021-06-23 2023-10-24 EMC IP Holding Company LLC One path metadata page reconstruction with no dynamical memory allocation for delta-log based storage
US11983080B2 (en) 2021-11-16 2024-05-14 Netapp, Inc. Use of cluster-level redundancy within a cluster of a distributed storage management system to address node-level errors
US12007842B2 (en) * 2022-10-06 2024-06-11 Salesforce, Inc. Database node soft restart

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719050A (zh) * 2009-11-25 2010-06-02 成都市华为赛门铁克科技有限公司 一种数据存储方法及设备
US20110035548A1 (en) * 2008-02-12 2011-02-10 Kimmel Jeffrey S Hybrid media storage system architecture
CN102577278A (zh) * 2009-10-19 2012-07-11 国际商业机器公司 用于分布式集群存储网络的动态资源分配
US20140101115A1 (en) * 2012-10-05 2014-04-10 Samsung Electronics Co., Ltd. Segment group-based segment cleaning apparatus and methods for storage units
US8832363B1 (en) * 2014-01-17 2014-09-09 Netapp, Inc. Clustered RAID data organization

Family Cites Families (605)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01175671A (ja) 1987-12-29 1989-07-12 Nippon Steel Corp 図面データの変換方法
US5375216A (en) 1992-02-28 1994-12-20 Motorola, Inc. Apparatus and method for optimizing performance of a cache memory in a data processing system
US5459857A (en) 1992-05-15 1995-10-17 Storage Technology Corporation Fault tolerant disk array data storage subsystem
US5603001A (en) 1994-05-09 1997-02-11 Kabushiki Kaisha Toshiba Semiconductor disk system having a plurality of flash memories
JP2507235B2 (ja) 1994-06-24 1996-06-12 インターナショナル・ビジネス・マシーンズ・コーポレイション クライアント・サ―バ・コンピュ―タ・システム、及びそのクライアント・コンピュ―タ、サ―バ・コンピュ―タ、並びにオブジェクト更新方法
US5511190A (en) 1995-01-20 1996-04-23 Tandem Computers, Inc. Hash-based database grouping system and method
US5666512A (en) 1995-02-10 1997-09-09 Hewlett-Packard Company Disk array having hot spare resources and methods for using hot spare resources to store user data
US5860082A (en) 1996-03-28 1999-01-12 Datalight, Inc. Method and apparatus for allocating storage in a flash memory
US5991862A (en) 1996-12-30 1999-11-23 Sun Microsystems, Inc. Modified indirect addressing for file system
US6862602B2 (en) 1997-03-07 2005-03-01 Apple Computer, Inc. System and method for rapidly identifying the existence and location of an item in a file
US6257756B1 (en) 1997-07-16 2001-07-10 Motorola, Inc. Apparatus and method for implementing viterbi butterflies
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
US5890161A (en) 1997-10-28 1999-03-30 Microsoft Corporation Automatic transaction processing of component-based server applications
US6493811B1 (en) 1998-01-26 2002-12-10 Computer Associated Think, Inc. Intelligent controller accessed through addressable virtual space
US6219800B1 (en) 1998-06-19 2001-04-17 At&T Corp. Fault-tolerant storage system
US6560196B1 (en) 1998-11-19 2003-05-06 Cisco Technology, Inc. Method and apparatus for controlling the transmission of cells across a network
US7194554B1 (en) 1998-12-08 2007-03-20 Nomadix, Inc. Systems and methods for providing dynamic network authorization authentication and accounting
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US6347337B1 (en) 1999-01-08 2002-02-12 Intel Corporation Credit based flow control scheme over virtual interface architecture for system area networks
US6397307B2 (en) 1999-02-23 2002-05-28 Legato Systems, Inc. Method and system for mirroring and archiving mass storage
US6081900A (en) 1999-03-16 2000-06-27 Novell, Inc. Secure intranet access
US6275898B1 (en) 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit
US6876668B1 (en) 1999-05-24 2005-04-05 Cisco Technology, Inc. Apparatus and methods for dynamic bandwidth allocation
US6553384B1 (en) 1999-06-14 2003-04-22 International Business Machines Corporation Transactional name service
US6363385B1 (en) 1999-06-29 2002-03-26 Emc Corporation Method and apparatus for making independent data copies in a data processing system
AU6104800A (en) 1999-07-16 2001-02-05 Intertrust Technologies Corp. Trusted storage systems and methods
US6721789B1 (en) 1999-10-06 2004-04-13 Sun Microsystems, Inc. Scheduling storage accesses for rate-guaranteed and non-rate-guaranteed requests
US6578158B1 (en) 1999-10-28 2003-06-10 International Business Machines Corporation Method and apparatus for providing a raid controller having transparent failover and failback
US6434662B1 (en) 1999-11-02 2002-08-13 Juniper Networks, Inc. System and method for searching an associative memory utilizing first and second hash functions
US6604155B1 (en) 1999-11-09 2003-08-05 Sun Microsystems, Inc. Storage architecture employing a transfer node to achieve scalable performance
US6728843B1 (en) 1999-11-30 2004-04-27 Hewlett-Packard Development Company L.P. System and method for tracking and processing parallel coherent memory accesses
US6779003B1 (en) 1999-12-16 2004-08-17 Livevault Corporation Systems and methods for backing up data files
US6609176B1 (en) 1999-12-27 2003-08-19 Kabushiki Kaisha Toshiba Disk control system and data rearrangement method
US6434555B1 (en) 2000-01-24 2002-08-13 Hewlett Packard Company Method for transaction recovery in three-tier applications
US6741698B1 (en) 2000-01-27 2004-05-25 Avaya Technology Corp. Call management system using dynamic threshold adjustment
US6526478B1 (en) 2000-02-02 2003-02-25 Lsi Logic Corporation Raid LUN creation using proportional disk mapping
WO2001082678A2 (en) 2000-05-02 2001-11-08 Sun Microsystems, Inc. Cluster membership monitor
US7219260B1 (en) 2000-05-26 2007-05-15 Emc Corporation Fault tolerant system shared system resource with state machine logging
US6990606B2 (en) 2000-07-28 2006-01-24 International Business Machines Corporation Cascading failover of a data management application for shared disk file systems in loosely coupled node clusters
US6928521B1 (en) 2000-08-01 2005-08-09 International Business Machines Corporation Method, system, and data structures for using metadata in updating data in a storage device
US6886020B1 (en) 2000-08-17 2005-04-26 Emc Corporation Method and apparatus for storage system metrics management and archive
WO2003107219A1 (en) 2000-09-11 2003-12-24 Zambeel, Inc. Storage system having partitioned migratable metadata
GB0025226D0 (en) 2000-10-14 2000-11-29 Ibm Data storage system and method of storing data
KR100365725B1 (ko) 2000-12-27 2002-12-26 한국전자통신연구원 플래시 메모리를 이용한 파일 시스템에서 등급별 지움정책 및 오류 복구 방법
US6950901B2 (en) 2001-01-05 2005-09-27 International Business Machines Corporation Method and apparatus for supporting parity protection in a RAID clustered environment
US6799258B1 (en) 2001-01-10 2004-09-28 Datacore Software Corporation Methods and apparatus for point-in-time volumes
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US6862692B2 (en) 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
DE60237583D1 (de) 2001-02-13 2010-10-21 Candera Inc Failover-verarbeitung in einem speicherungssystem
JP4700204B2 (ja) 2001-03-07 2011-06-15 株式会社日立製作所 ストレージ管理データ制御システム
US7542419B2 (en) 2001-04-02 2009-06-02 International Business Machines Corporation Method and apparatus for managing aggregate bandwidth at a server
US7003565B2 (en) 2001-04-03 2006-02-21 International Business Machines Corporation Clickstream data collection technique
US7167965B2 (en) 2001-04-30 2007-01-23 Hewlett-Packard Development Company, L.P. Method and system for online data migration on storage systems with performance guarantees
US7739614B1 (en) 2001-05-22 2010-06-15 Netapp, Inc. System and method for consolidated reporting of characteristics for a group of directories
US7133876B2 (en) 2001-06-12 2006-11-07 The University Of Maryland College Park Dwarf cube architecture for reducing storage sizes of multidimensional data
US7543100B2 (en) 2001-06-18 2009-06-02 3Par, Inc. Node controller for a data storage system
US20030005147A1 (en) 2001-06-29 2003-01-02 Enns Daniel Albert IP/HDLC addressing system for replacing frame relay based systems and method therefor
US7249150B1 (en) 2001-07-03 2007-07-24 Network Appliance, Inc. System and method for parallelized replay of an NVRAM log in a storage appliance
US7805266B1 (en) 2001-07-17 2010-09-28 At&T Corp. Method for automated detection of data glitches in large data sets
US6912645B2 (en) 2001-07-19 2005-06-28 Lucent Technologies Inc. Method and apparatus for archival data storage
US7174379B2 (en) 2001-08-03 2007-02-06 International Business Machines Corporation Managing server resources for hosted applications
US7366134B2 (en) 2001-08-17 2008-04-29 Comsat Corporation Dynamic allocation of network resources in a multiple-user communication system
US20040054656A1 (en) 2001-08-31 2004-03-18 Arkivio, Inc. Techniques for balancing capacity utilization in a storage environment
US7113980B2 (en) 2001-09-06 2006-09-26 Bea Systems, Inc. Exactly once JMS communication
US7028225B2 (en) 2001-09-25 2006-04-11 Path Communications, Inc. Application manager for monitoring and recovery of software based application processes
US6895500B1 (en) 2001-10-31 2005-05-17 Western Digital Technologies, Inc. Disk drive for receiving setup data in a self monitoring analysis and reporting technology (SMART) command
US7437472B2 (en) 2001-11-28 2008-10-14 Interactive Content Engines, Llc. Interactive broadband server system
US6785771B2 (en) 2001-12-04 2004-08-31 International Business Machines Corporation Method, system, and program for destaging data in cache
US7730153B1 (en) 2001-12-04 2010-06-01 Netapp, Inc. Efficient use of NVRAM during takeover in a node cluster
US20030135729A1 (en) 2001-12-14 2003-07-17 I/O Integrity, Inc. Apparatus and meta data caching method for optimizing server startup performance
US20030115204A1 (en) 2001-12-14 2003-06-19 Arkivio, Inc. Structure of policy information for storage, network and data management applications
US7047358B2 (en) 2001-12-26 2006-05-16 Boon Storage Technologies, Inc. High-performance log-structured RAID
US7055058B2 (en) 2001-12-26 2006-05-30 Boon Storage Technologies, Inc. Self-healing log-structured RAID
US20030120869A1 (en) 2001-12-26 2003-06-26 Lee Edward K. Write-back disk cache management
US7177868B2 (en) 2002-01-02 2007-02-13 International Business Machines Corporation Method, system and program for direct client file access in a data management system
US7096328B2 (en) 2002-01-25 2006-08-22 University Of Southern California Pseudorandom data storage
US6748504B2 (en) 2002-02-15 2004-06-08 International Business Machines Corporation Deferred copy-on-write of a snapshot
TW564349B (en) 2002-02-27 2003-12-01 Acer Labs Inc Method and related apparatus for controlling transmission interface of external device of computer system
US6801905B2 (en) 2002-03-06 2004-10-05 Sybase, Inc. Database system providing methodology for property enforcement
US6993539B2 (en) 2002-03-19 2006-01-31 Network Appliance, Inc. System and method for determining changes in two snapshots and for transmitting changes to destination snapshot
US7093086B1 (en) 2002-03-28 2006-08-15 Veritas Operating Corporation Disaster recovery and backup using virtual machines
US7191357B2 (en) 2002-03-29 2007-03-13 Panasas, Inc. Hybrid quorum/primary-backup fault-tolerance model
US6820180B2 (en) 2002-04-04 2004-11-16 International Business Machines Corporation Apparatus and method of cascading backup logical volume mirrors
US7464125B1 (en) 2002-04-15 2008-12-09 Ibrix Inc. Checking the validity of blocks and backup duplicates of blocks during block reads
US7149846B2 (en) 2002-04-17 2006-12-12 Lsi Logic Corporation RAID protected external secondary memory
US6912635B2 (en) 2002-05-08 2005-06-28 Hewlett-Packard Development Company, L.P. Distributing workload evenly across storage media in a storage array
US7330430B2 (en) 2002-06-04 2008-02-12 Lucent Technologies Inc. Packet-based traffic shaping
US7096277B2 (en) 2002-08-07 2006-08-22 Intel Corporation Distributed lookup based on packet contents
US20040133590A1 (en) 2002-08-08 2004-07-08 Henderson Alex E. Tree data structure with range-specifying keys and associated methods and apparatuses
US7107385B2 (en) 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US7076508B2 (en) 2002-08-12 2006-07-11 International Business Machines Corporation Method, system, and program for merging log entries from multiple recovery log files
EP1546884A4 (en) 2002-09-16 2007-08-01 Tigi Corp STORAGE SYSTEM ARCHITECTURES AND MULTI-CACHE ARRANGEMENTS
US7343524B2 (en) 2002-09-16 2008-03-11 Finisar Corporation Network analysis omniscent loop state machine
US7668885B2 (en) 2002-09-25 2010-02-23 MindAgent, LLC System for timely delivery of personalized aggregations of, including currently-generated, knowledge
US8489742B2 (en) 2002-10-10 2013-07-16 Convergys Information Management Group, Inc. System and method for work management
US7152142B1 (en) 2002-10-25 2006-12-19 Copan Systems, Inc. Method for a workload-adaptive high performance storage system with data protection
US7457864B2 (en) 2002-11-27 2008-11-25 International Business Machines Corporation System and method for managing the performance of a computer system based on operational characteristics of the system components
US6928526B1 (en) 2002-12-20 2005-08-09 Datadomain, Inc. Efficient data storage system
US7065619B1 (en) 2002-12-20 2006-06-20 Data Domain, Inc. Efficient data storage system
US7110913B2 (en) 2002-12-23 2006-09-19 United Services Automobile Association (Usaa) Apparatus and method for managing the performance of an electronic device
US7263582B2 (en) 2003-01-07 2007-08-28 Dell Products L.P. System and method for raid configuration
US8499086B2 (en) 2003-01-21 2013-07-30 Dell Products L.P. Client load distribution
US7254648B2 (en) 2003-01-30 2007-08-07 Utstarcom, Inc. Universal broadband server system and method
WO2004072816A2 (en) 2003-02-07 2004-08-26 Lammina Systems Corporation Method and apparatus for online transaction processing
US7373345B2 (en) 2003-02-21 2008-05-13 Caringo, Inc. Additional hash functions in content-based addressing
US7155460B2 (en) 2003-03-18 2006-12-26 Network Appliance, Inc. Write-once-read-many storage system and method for implementing the same
US6904470B1 (en) 2003-03-26 2005-06-07 Emc Corporation Device selection by a disk adapter scheduler
US7624112B2 (en) 2003-04-03 2009-11-24 Oracle International Corporation Asynchronously storing transaction information from memory to a persistent storage
EP1467294A3 (en) 2003-04-04 2005-06-01 Interuniversitair Microelektronica Centrum Vzw Design method for electronic systems using library of hardware components with performance parameters and cost functions
US7394944B2 (en) 2003-04-11 2008-07-01 Seiko Epson Corporation Method and system for finding spatial medians in a sliding window environment
US7805583B1 (en) 2003-04-23 2010-09-28 Emc Corporation Method and apparatus for migrating data in a clustered computer system environment
US7325059B2 (en) 2003-05-15 2008-01-29 Cisco Technology, Inc. Bounded index extensible hash-based IPv6 address lookup method
US7519725B2 (en) 2003-05-23 2009-04-14 International Business Machines Corporation System and method for utilizing informed throttling to guarantee quality of service to I/O streams
US7698115B2 (en) 2003-06-30 2010-04-13 Microsoft Corporation System and method for dynamically allocating resources in a client/server environment
US7451168B1 (en) 2003-06-30 2008-11-11 Data Domain, Inc. Incremental garbage collection of data in a secondary storage
US7401103B2 (en) 2003-07-31 2008-07-15 Microsoft Corporation Replication protocol for data stores
US7181296B2 (en) 2003-08-06 2007-02-20 Asml Netherlands B.V. Method of adaptive interactive learning control and a lithographic manufacturing process and apparatus employing such a method
US8239552B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Providing client access to devices over a network
US8321955B2 (en) 2003-08-26 2012-11-27 Wu-Chang Feng Systems and methods for protecting against denial of service attacks
US8285881B2 (en) 2003-09-10 2012-10-09 Broadcom Corporation System and method for load balancing and fail over
US20050076113A1 (en) 2003-09-12 2005-04-07 Finisar Corporation Network analysis sample management process
US7487235B2 (en) 2003-09-24 2009-02-03 Dell Products L.P. Dynamically varying a raid cache policy in order to optimize throughput
US6917898B1 (en) 2003-09-30 2005-07-12 Nortel Networks Limited Generation and processing of statistical information
US7315866B2 (en) 2003-10-02 2008-01-01 Agency For Science, Technology And Research Method for incremental authentication of documents
US7451167B2 (en) 2003-10-24 2008-11-11 Network Appliance, Inc. Verification of file system log data using per-entry checksums
CN1871810B (zh) 2003-10-28 2010-09-08 财团法人生产技术研究奖励会 认证***和远隔分散保存***
US7395283B1 (en) 2003-11-10 2008-07-01 Emc Corporation Method and apparatus for making independent data copies in a data processing system
JP2005149082A (ja) 2003-11-14 2005-06-09 Hitachi Ltd ストレージ制御装置、及びストレージ制御装置の制御方法
JP4712558B2 (ja) 2003-11-17 2011-06-29 テレコム・イタリア・エッセ・ピー・アー サービス品質監視アーキテクチャー、関連の方法、ネットワーク及びコンピュータプログラムプロダクト
JP4516306B2 (ja) 2003-11-28 2010-08-04 株式会社日立製作所 ストレージネットワークの性能情報を収集する方法
US7350192B2 (en) 2003-12-08 2008-03-25 Ebay Inc. Method and system to automatically generate software code
US8140860B2 (en) 2003-12-15 2012-03-20 International Business Machines Corporation Policy-driven file system with integrated RAID functionality
US7542812B2 (en) 2004-01-20 2009-06-02 Bae Systems Information And Electronic Systems Integration Inc. Multifunction receiver-on-chip for electronic warfare applications
US7701948B2 (en) 2004-01-20 2010-04-20 Nortel Networks Limited Metro ethernet service enhancements
US7321982B2 (en) 2004-01-26 2008-01-22 Network Appliance, Inc. System and method for takeover of partner resources in conjunction with coredump
US7849098B1 (en) 2004-02-06 2010-12-07 Vmware, Inc. Providing multiple concurrent access to a file system
US7373473B2 (en) 2004-03-10 2008-05-13 Leica Geosystems Hds Llc System and method for efficient storage and manipulation of extremely large amounts of scan data
US7395352B1 (en) 2004-03-12 2008-07-01 Netapp, Inc. Managing data replication relationships
US7555548B2 (en) 2004-04-07 2009-06-30 Verizon Business Global Llc Method and apparatus for efficient data collection
US7415653B1 (en) 2004-04-21 2008-08-19 Sun Microsystems, Inc. Method and apparatus for vectored block-level checksum for file system data integrity
US7334095B1 (en) 2004-04-30 2008-02-19 Network Appliance, Inc. Writable clone of read-only volume
US7251663B1 (en) 2004-04-30 2007-07-31 Network Appliance, Inc. Method and apparatus for determining if stored memory range overlaps key memory ranges where the memory address space is organized in a tree form and partition elements for storing key memory ranges
US7334094B2 (en) 2004-04-30 2008-02-19 Network Appliance, Inc. Online clone volume splitting technique
US7536424B2 (en) 2004-05-02 2009-05-19 Yoram Barzilai System and methods for efficiently managing incremental data backup revisions
US20050246362A1 (en) 2004-05-03 2005-11-03 Borland Devin P System and method for dynamci log compression in a file system
US7409582B2 (en) 2004-05-06 2008-08-05 International Business Machines Corporation Low cost raid with seamless disk failure recovery
US7814064B2 (en) 2004-05-12 2010-10-12 Oracle International Corporation Dynamic distributed consensus algorithm
US7562101B1 (en) 2004-05-28 2009-07-14 Network Appliance, Inc. Block allocation testing
US8949395B2 (en) 2004-06-01 2015-02-03 Inmage Systems, Inc. Systems and methods of event driven recovery management
US8055745B2 (en) 2004-06-01 2011-11-08 Inmage Systems, Inc. Methods and apparatus for accessing data from a primary data storage system for secondary storage
US7366865B2 (en) 2004-09-08 2008-04-29 Intel Corporation Enqueueing entries in a packet queue referencing packets
US7490084B2 (en) 2004-09-24 2009-02-10 Oracle Corporation Deferred incorporation of updates for spatial indexes
US20060075281A1 (en) 2004-09-27 2006-04-06 Kimmel Jeffrey S Use of application-level context information to detect corrupted data in a storage system
US7602710B2 (en) 2004-09-29 2009-10-13 Sonus Networks, Inc. Controlling time-sensitive data in a packet-based network
JP4560367B2 (ja) 2004-10-05 2010-10-13 株式会社日立製作所 ストレージネットワーク性能情報の収集・保存方法及び計算機システム並びにプログラム
US7257690B1 (en) 2004-10-15 2007-08-14 Veritas Operating Corporation Log-structured temporal shadow store
US8131926B2 (en) 2004-10-20 2012-03-06 Seagate Technology, Llc Generic storage container for allocating multiple data formats
US7376866B1 (en) 2004-10-22 2008-05-20 Network Appliance, Inc. Method and an apparatus to perform fast log replay
US20060101091A1 (en) 2004-10-22 2006-05-11 International Business Machines Corporation Recovering references in an extended model
US7310704B1 (en) 2004-11-02 2007-12-18 Symantec Operating Corporation System and method for performing online backup and restore of volume configuration information
US7873782B2 (en) 2004-11-05 2011-01-18 Data Robotics, Inc. Filesystem-aware block storage system, apparatus, and method
US7814273B2 (en) 2004-11-05 2010-10-12 Data Robotics, Inc. Dynamically expandable and contractible fault-tolerant storage system permitting variously sized storage devices and method
US20060112155A1 (en) 2004-11-24 2006-05-25 Agami Systems, Inc. System and method for managing quality of service for a storage system
US8984140B2 (en) 2004-12-14 2015-03-17 Hewlett-Packard Development Company, L.P. Managing connections through an aggregation of network resources providing offloaded connections between applications over a network
US7403535B2 (en) 2004-12-14 2008-07-22 Hewlett-Packard Development Company, L.P. Aggregation of network resources providing offloaded connections between applications over a network
EP1672831A1 (fr) 2004-12-16 2006-06-21 Nagravision S.A. Méthode de transmission de données numériques dans un réseau local
US7386758B2 (en) 2005-01-13 2008-06-10 Hitachi, Ltd. Method and apparatus for reconstructing data in object-based storage arrays
US8180855B2 (en) 2005-01-27 2012-05-15 Netapp, Inc. Coordinated shared storage architecture
EP1851662A2 (en) 2005-02-24 2007-11-07 Xeround Systems Ltd. Method and apparatus for distributed data management in a switching network
US7757056B1 (en) 2005-03-16 2010-07-13 Netapp, Inc. System and method for efficiently calculating storage required to split a clone volume
US7305579B2 (en) 2005-03-22 2007-12-04 Xiotech Corporation Method, apparatus and program storage device for providing intelligent rebuild order selection
WO2006109307A2 (en) 2005-04-13 2006-10-19 Discretix Technologies Ltd. Method, device, and system of selectively accessing data
US8849767B1 (en) 2005-04-13 2014-09-30 Netapp, Inc. Method and apparatus for identifying and eliminating duplicate data blocks and sharing data blocks in a storage system
US8452929B2 (en) 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
US8200887B2 (en) 2007-03-29 2012-06-12 Violin Memory, Inc. Memory management system and method
US7370048B2 (en) 2005-05-27 2008-05-06 International Business Machines Corporation File storage method and apparatus
US8028329B2 (en) 2005-06-13 2011-09-27 Iamsecureonline, Inc. Proxy authentication network
US7447868B2 (en) 2005-06-15 2008-11-04 International Business Machines Corporation Using vector processors to accelerate cache lookups
US7720820B2 (en) 2005-07-12 2010-05-18 Microsoft Corporation Logless persistent components for enterprise applications
US8504521B2 (en) 2005-07-28 2013-08-06 Gopivotal, Inc. Distributed data management system
US7451348B2 (en) 2005-08-04 2008-11-11 Dot Hill Systems Corporation Dynamic write cache size adjustment in raid controller with capacitor backup energy source
CN103744790B (zh) 2005-08-25 2017-05-10 美国莱迪思半导体公司 智能可缩放存储切换架构
US8259566B2 (en) 2005-09-20 2012-09-04 Qualcomm Incorporated Adaptive quality of service policy for dynamic networks
WO2007034826A1 (ja) 2005-09-20 2007-03-29 Nec Corporation 資源量計算システム、方法およびプログラム
US20070088702A1 (en) 2005-10-03 2007-04-19 Fridella Stephen A Intelligent network client for multi-protocol namespace redirection
US7366859B2 (en) 2005-10-06 2008-04-29 Acronis Inc. Fast incremental backup method and system
US20070083482A1 (en) 2005-10-08 2007-04-12 Unmesh Rathi Multiple quality of service file system
US7386675B2 (en) 2005-10-21 2008-06-10 Isilon Systems, Inc. Systems and methods for using excitement values to predict future access to resources
CN100370732C (zh) 2005-11-04 2008-02-20 华为技术有限公司 一种计费方法和***
JP4766240B2 (ja) 2005-11-08 2011-09-07 日本電気株式会社 ファイル管理方法、装置、およびプログラム
US7562140B2 (en) 2005-11-15 2009-07-14 Cisco Technology, Inc. Method and apparatus for providing trend information from network devices
US7640231B2 (en) 2005-11-16 2009-12-29 International Business Machines Corporation Approach based on self-evolving models for performance guarantees in a shared storage system
JP4738144B2 (ja) 2005-11-28 2011-08-03 株式会社日立製作所 情報監視方法、システム及びプログラム
EP1793606A1 (en) 2005-12-05 2007-06-06 Microsoft Corporation Distribution of keys for encryption/decryption
US7752173B1 (en) 2005-12-16 2010-07-06 Network Appliance, Inc. Method and apparatus for improving data processing system performance by reducing wasted disk writes
US7962709B2 (en) 2005-12-19 2011-06-14 Commvault Systems, Inc. Network redirector systems and methods for performing data replication
US7546321B2 (en) 2005-12-19 2009-06-09 Yahoo! Inc. System and method for recovery from failure of a storage server in a distributed column chunk data store
US7716180B2 (en) 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
US7529780B1 (en) 2005-12-30 2009-05-05 Google Inc. Conflict management during data object synchronization between client and server
US7673116B2 (en) 2006-01-17 2010-03-02 Advanced Micro Devices, Inc. Input/output memory management unit that implements memory attributes based on translation data
US20140108797A1 (en) 2006-01-26 2014-04-17 Unisys Corporation Storage communities of interest using cryptographic splitting
US8015441B2 (en) 2006-02-03 2011-09-06 Emc Corporation Verification of computer backup data
US7421551B2 (en) 2006-02-03 2008-09-02 Emc Corporation Fast verification of computer backup data
US7454592B1 (en) 2006-02-16 2008-11-18 Symantec Operating Corporation Block-level and hash-based single-instance storage
US20070208918A1 (en) 2006-03-01 2007-09-06 Kenneth Harbin Method and apparatus for providing virtual machine backup
US7593833B2 (en) 2006-03-03 2009-09-22 At&T Intellectual Property I, L.P. System and method for determining performance of network lines
CN100423491C (zh) 2006-03-08 2008-10-01 杭州华三通信技术有限公司 虚拟化网络存储***及其网络存储设备
US7739422B2 (en) 2006-03-21 2010-06-15 International Business Machines Corporation Method to improve system DMA mapping while substantially reducing memory fragmentation
US7603529B1 (en) 2006-03-22 2009-10-13 Emc Corporation Methods, systems, and computer program products for mapped logical unit (MLU) replications, storage, and retrieval in a redundant array of inexpensive disks (RAID) environment
US7647525B2 (en) 2006-03-31 2010-01-12 Emc Corporation Resumption of operations following failover in connection with triangular asynchronous replication
US8832045B2 (en) 2006-04-07 2014-09-09 Data Storage Group, Inc. Data compression and storage techniques
US7809685B2 (en) 2006-04-21 2010-10-05 Ricoh Co., Ltd. Secure and efficient methods for logging and synchronizing data exchanges
US8214868B2 (en) 2006-04-21 2012-07-03 Agere Systems Inc. Flexible traffic management and shaping processing for multimedia distribution
US8090908B1 (en) 2006-04-26 2012-01-03 Netapp, Inc. Single nodename cluster system for fibre channel
JP2007310772A (ja) 2006-05-22 2007-11-29 Hitachi Ltd ストレージシステム及び通信制御方法
GB0610335D0 (en) 2006-05-24 2006-07-05 Oxford Semiconductor Ltd Redundant storage of data on an array of storage devices
EP2021904A2 (en) 2006-05-24 2009-02-11 Compellent Technologies System and method for raid management, reallocation, and restriping
US9009199B2 (en) 2006-06-06 2015-04-14 Haskolinn I Reykjavik Data mining using an index tree created by recursive projection of data points on random lines
US20070300013A1 (en) 2006-06-21 2007-12-27 Manabu Kitamura Storage system having transaction monitoring capability
US8037319B1 (en) 2006-06-30 2011-10-11 Symantec Operating Corporation System and method for securely storing cryptographic keys with encrypted data
US7987167B1 (en) 2006-08-04 2011-07-26 Netapp, Inc. Enabling a clustered namespace with redirection
US20080065639A1 (en) 2006-08-25 2008-03-13 Netfortis, Inc. String matching engine
JP4839164B2 (ja) 2006-09-15 2011-12-21 株式会社日立製作所 ハードウェアモニタを用いた性能評価システム及び再構築可能な計算機システム
US7562203B2 (en) 2006-09-27 2009-07-14 Network Appliance, Inc. Storage defragmentation based on modified physical address and unmodified logical address
US7817562B1 (en) 2006-09-29 2010-10-19 Emc Corporation Methods and systems for back end characterization using I/O sampling
US8447872B2 (en) 2006-11-01 2013-05-21 Intel Corporation Load balancing in a storage system
US8719844B2 (en) 2006-11-27 2014-05-06 Morgan Stanley Merging realtime data flows
US7624231B2 (en) 2006-11-29 2009-11-24 International Business Machines Corporation Map based striping of data in a distributed volatile memory environment
US8161353B2 (en) 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
US7620669B1 (en) 2006-12-15 2009-11-17 Netapp, Inc. System and method for enhancing log performance
US7996609B2 (en) 2006-12-20 2011-08-09 International Business Machines Corporation System and method of dynamic allocation of non-volatile memory
WO2008078334A2 (en) 2006-12-22 2008-07-03 Hewlett-Packard Development Company, L.P. Computer system and method of control thereof
US7802136B2 (en) 2006-12-28 2010-09-21 Intel Corporation Compiler technique for efficient register checkpointing to support transaction roll-back
US8489811B1 (en) 2006-12-29 2013-07-16 Netapp, Inc. System and method for addressing data containers using data set identifiers
US8655939B2 (en) 2007-01-05 2014-02-18 Digital Doors, Inc. Electromagnetic pulse (EMP) hardened information infrastructure with extractor, cloud dispersal, secure storage, content analysis and classification and method therefor
US7912437B2 (en) 2007-01-09 2011-03-22 Freescale Semiconductor, Inc. Radio frequency receiver having dynamic bandwidth control and method of operation
KR101338409B1 (ko) 2007-01-25 2013-12-10 삼성전자주식회사 애드-혹 네트워크에서 분산 rsa서명을 생성하는 방법 및상기 애드-혹 네트워크의 노드
US7594138B2 (en) 2007-01-31 2009-09-22 International Business Machines Corporation System and method of error recovery for backup applications
US8380880B2 (en) 2007-02-02 2013-02-19 The Mathworks, Inc. Scalable architecture
US20080201535A1 (en) 2007-02-21 2008-08-21 Hitachi, Ltd. Method and Apparatus for Provisioning Storage Volumes
US8266116B2 (en) 2007-03-12 2012-09-11 Broadcom Corporation Method and apparatus for dual-hashing tables
US8135900B2 (en) 2007-03-28 2012-03-13 Kabushiki Kaisha Toshiba Integrated memory management and memory management method
US20080244354A1 (en) 2007-03-28 2008-10-02 Gansha Wu Apparatus and method for redundant multi-threading with recovery
US9632870B2 (en) 2007-03-29 2017-04-25 Violin Memory, Inc. Memory system with multiple striping of raid groups and method for performing the same
US8510524B1 (en) 2007-03-29 2013-08-13 Netapp, Inc. File system capable of generating snapshots and providing fast sequential read access
JP4448866B2 (ja) 2007-03-30 2010-04-14 日立ビアメカニクス株式会社 描画装置
US8209587B1 (en) 2007-04-12 2012-06-26 Netapp, Inc. System and method for eliminating zeroing of disk drives in RAID arrays
US8824686B1 (en) 2007-04-27 2014-09-02 Netapp, Inc. Cluster key synchronization
US20080270719A1 (en) 2007-04-30 2008-10-30 Cochran Robert A Method and system for efficient snapshot operations in mass-storage arrays
US7975109B2 (en) 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
JP4316636B2 (ja) 2007-06-06 2009-08-19 株式会社東芝 コンテンツ配信・閲覧システム、コンテンツ配信装置、コンテンツ閲覧装置及びプログラム
US8082390B1 (en) 2007-06-20 2011-12-20 Emc Corporation Techniques for representing and storing RAID group consistency information
KR20090005921A (ko) 2007-07-10 2009-01-14 삼성전자주식회사 대칭적 다중 프로세서 시스템에서의 로드 밸런싱 방법 및장치
US9298417B1 (en) 2007-07-25 2016-03-29 Emc Corporation Systems and methods for facilitating management of data
US8024525B2 (en) 2007-07-25 2011-09-20 Digi-Data Corporation Storage control unit with memory cache protection via recorded log
US9336387B2 (en) 2007-07-30 2016-05-10 Stroz Friedberg, Inc. System, method, and computer program product for detecting access to a memory device
US7856437B2 (en) 2007-07-31 2010-12-21 Hewlett-Packard Development Company, L.P. Storing nodes representing respective chunks of files in a data store
US7949693B1 (en) 2007-08-23 2011-05-24 Osr Open Systems Resources, Inc. Log-structured host data storage
KR20100083766A (ko) 2007-09-18 2010-07-22 코와 가부시키가이샤 시리얼데이터통신시스템 및 시리얼데이터통신방법
US8185614B2 (en) 2007-10-09 2012-05-22 Cleversafe, Inc. Systems, methods, and apparatus for identifying accessible dispersed digital storage vaults utilizing a centralized registry
US7809701B2 (en) 2007-10-15 2010-10-05 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for performing exact match searches using multiple hash tables
US7996636B1 (en) 2007-11-06 2011-08-09 Netapp, Inc. Uniquely identifying block context signatures in a storage volume hierarchy
US8074019B2 (en) 2007-11-13 2011-12-06 Network Appliance, Inc. Preventing data loss in a storage system
US7814276B2 (en) 2007-11-20 2010-10-12 Solid State System Co., Ltd. Data cache architecture and cache algorithm used therein
US20090150537A1 (en) 2007-12-10 2009-06-11 John Fanson Data communication method for a set of hard-real time applications within a network
US9292567B2 (en) 2007-12-12 2016-03-22 Oracle International Corporation Bulk matching with update
US8583865B1 (en) 2007-12-21 2013-11-12 Emc Corporation Caching with flash-based memory
US7797279B1 (en) 2007-12-31 2010-09-14 Emc Corporation Merging of incremental data streams with prior backed-up data
US8099554B1 (en) 2007-12-31 2012-01-17 Emc Corporation System and method for flash-based data caching
US8805949B2 (en) 2008-01-16 2014-08-12 Netapp, Inc. System and method for populating a cache using behavioral adaptive policies
US8078918B2 (en) 2008-02-07 2011-12-13 Siliconsystems, Inc. Solid state storage subsystem that maintains and provides access to data reflective of a failure risk
US7979635B2 (en) 2008-02-14 2011-07-12 International Business Machines Corporation Apparatus and method to allocate resources in a data storage library
JP2009199199A (ja) 2008-02-20 2009-09-03 Hitachi Ltd ストレージシステム及びそのデータライト方法
JP4489127B2 (ja) 2008-02-29 2010-06-23 株式会社東芝 半導体記憶装置
US8234444B2 (en) 2008-03-11 2012-07-31 International Business Machines Corporation Apparatus and method to select a deduplication protocol for a data storage library
US7873619B1 (en) 2008-03-31 2011-01-18 Emc Corporation Managing metadata
US8855318B1 (en) 2008-04-02 2014-10-07 Cisco Technology, Inc. Master key generation and distribution for storage area network devices
TWI476610B (zh) 2008-04-29 2015-03-11 Maxiscale Inc 同級間冗餘檔案伺服器系統及方法
US7971013B2 (en) * 2008-04-30 2011-06-28 Xiotech Corporation Compensating for write speed differences between mirroring storage devices by striping
US8266114B2 (en) 2008-09-22 2012-09-11 Riverbed Technology, Inc. Log structured content addressable deduplicating storage
KR20090120159A (ko) 2008-05-19 2009-11-24 삼성전자주식회사 영상합성장치 및 영상합성방법
US7979399B2 (en) 2008-06-10 2011-07-12 International Business Machines Corporation Database journaling in a multi-node environment
US9547589B2 (en) 2008-06-18 2017-01-17 Super Talent Technology, Corp. Endurance translation layer (ETL) and diversion of temp files for reduced flash wear of a super-endurance solid-state drive
US8762654B1 (en) 2008-07-02 2014-06-24 Marvell International Ltd. Selectively scheduling memory accesses in parallel based on access speeds of memory
US8214404B2 (en) 2008-07-11 2012-07-03 Avere Systems, Inc. Media aware distributed data layout
US7979671B2 (en) 2008-07-28 2011-07-12 CacheIQ, Inc. Dual hash indexing system and methodology
US8250310B2 (en) 2008-07-31 2012-08-21 International Business Machines Corporation Assigning data to NVRAM of shared access hybrid hard drives
US8086799B2 (en) 2008-08-12 2011-12-27 Netapp, Inc. Scalable deduplication of stored data
US7987214B2 (en) 2008-08-29 2011-07-26 Tatu Ylonen Oy Determining the address range of a subtree of a linearized tree
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US9098519B2 (en) 2008-09-16 2015-08-04 File System Labs Llc Methods and apparatus for distributed data storage
US8127182B2 (en) 2008-09-16 2012-02-28 Lsi Corporation Storage utilization to improve reliability using impending failure triggers
US8145806B2 (en) 2008-09-19 2012-03-27 Oracle International Corporation Storage-side storage request management
US8321834B2 (en) 2008-09-25 2012-11-27 International Business Machines Corporation Framework for automatically merging customizations to structured code that has been refactored
US8799571B1 (en) 2008-09-26 2014-08-05 Emc Corporation System and method for configuring a device array upon detecting addition of a storage device
US7873729B2 (en) 2008-09-29 2011-01-18 Verizon Patent And Licensing Inc. Server scanning system and method
US9330172B2 (en) 2008-09-29 2016-05-03 Echostar Technologies Llc Audio/video archiving system and method
US8086585B1 (en) 2008-09-30 2011-12-27 Emc Corporation Access control to block storage devices for a shared disk based file system
US20100088296A1 (en) 2008-10-03 2010-04-08 Netapp, Inc. System and method for organizing data to facilitate data deduplication
US8312231B1 (en) 2008-11-04 2012-11-13 Netapp, Inc. Method and system for mounting logical unit numbers (LUNS) of snapshots
KR20110086725A (ko) 2008-11-10 2011-07-29 퓨전-아이오, 인크. 솔리드-스테이트 저장장치의 고장을 예측하는 장치, 시스템 및 방법
US9015209B2 (en) 2008-12-16 2015-04-21 Sandisk Il Ltd. Download management of discardable files
US8732139B2 (en) 2008-12-18 2014-05-20 Sap Ag Method and system for dynamically partitioning very large database indices on write-once tables
JP4766498B2 (ja) 2008-12-24 2011-09-07 株式会社ソニー・コンピュータエンタテインメント ユーザレベルdmaとメモリアクセス管理を提供する方法と装置
US8250116B2 (en) 2008-12-31 2012-08-21 Unisys Corporation KStore data simulator directives and values processor process and files
US8495417B2 (en) 2009-01-09 2013-07-23 Netapp, Inc. System and method for redundancy-protected aggregates
US8510508B2 (en) 2009-01-23 2013-08-13 Infortrend Technology, Inc. Storage subsystem and storage system architecture performing storage virtualization and method thereof
US8170997B2 (en) 2009-01-29 2012-05-01 Microsoft Corporation Unbundled storage transaction services
US8407436B2 (en) 2009-02-11 2013-03-26 Hitachi, Ltd. Methods and apparatus for migrating thin provisioning volumes between storage systems
JP5376983B2 (ja) 2009-02-12 2013-12-25 株式会社東芝 メモリシステム
US8520855B1 (en) 2009-03-05 2013-08-27 University Of Washington Encapsulation and decapsulation for data disintegration
WO2010110191A1 (ja) 2009-03-25 2010-09-30 日本電気株式会社 通信装置、通信装置の制御プログラムの記録媒体、通信システム及び通信方法
US8205065B2 (en) 2009-03-30 2012-06-19 Exar Corporation System and method for data deduplication
US8271615B2 (en) 2009-03-31 2012-09-18 Cloud Connex, Llc Centrally managing and monitoring software as a service (SaaS) applications
US9940138B2 (en) 2009-04-08 2018-04-10 Intel Corporation Utilization of register checkpointing mechanism with pointer swapping to resolve multithreading mis-speculations
US8996468B1 (en) 2009-04-17 2015-03-31 Dell Software Inc. Block status mapping system for reducing virtual machine backup storage
US8560879B1 (en) 2009-04-22 2013-10-15 Netapp Inc. Data recovery for failed memory device of memory device array
US8156290B1 (en) 2009-04-23 2012-04-10 Network Appliance, Inc. Just-in-time continuous segment cleaning
US9037541B2 (en) 2009-04-30 2015-05-19 Microsoft Technology Licensing, Llc Metadata for data storage array
US8402069B2 (en) 2009-05-04 2013-03-19 Microsoft Corporation Use of delete notifications by file systems and applications to release storage space
US8122213B2 (en) 2009-05-05 2012-02-21 Dell Products L.P. System and method for migration of data
US8166233B2 (en) 2009-07-24 2012-04-24 Lsi Corporation Garbage collection for solid state disks
US20100293147A1 (en) 2009-05-12 2010-11-18 Harvey Snow System and method for providing automated electronic information backup, storage and recovery
JP2010282281A (ja) 2009-06-02 2010-12-16 Hitachi Ltd ディスクアレイ装置、及びその制御方法、並びにプログラム
US8345707B2 (en) 2009-06-03 2013-01-01 Voxer Ip Llc Method for synchronizing data maintained at a plurality of nodes
US8478799B2 (en) 2009-06-26 2013-07-02 Simplivity Corporation Namespace file system accessing an object store
US8219562B1 (en) 2009-06-29 2012-07-10 Facebook, Inc. Efficient storage and retrieval for large number of data objects
US8615615B2 (en) 2009-07-01 2013-12-24 Lsi Corporation Load balancing with SCSI I/O referrals
US9377960B2 (en) 2009-07-29 2016-06-28 Hgst Technologies Santa Ana, Inc. System and method of using stripes for recovering data in a flash storage system
US8255620B2 (en) 2009-08-11 2012-08-28 Texas Memory Systems, Inc. Secure Flash-based memory system with fast wipe feature
US7818525B1 (en) 2009-08-12 2010-10-19 Texas Memory Systems, Inc. Efficient reduction of read disturb errors in NAND FLASH memory
EP2476055B1 (en) 2009-09-08 2020-01-22 SanDisk Technologies LLC Apparatus, system, and method for caching data on a solid-state storage device
US20120166749A1 (en) * 2009-09-08 2012-06-28 International Business Machines Corporation Data management in solid-state storage devices and tiered storage systems
US9280609B2 (en) 2009-09-08 2016-03-08 Brocade Communications Systems, Inc. Exact match lookup scheme
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
US8712972B2 (en) 2009-09-22 2014-04-29 Sybase, Inc. Query optimization with awareness of limited resource usage
US8266501B2 (en) 2009-09-29 2012-09-11 Micron Technology, Inc. Stripe based memory operation
JP5170055B2 (ja) 2009-10-09 2013-03-27 富士通株式会社 処理方法,ストレージシステム,情報処理装置およびプログラム
US8285955B2 (en) 2009-10-16 2012-10-09 Lenovo (Singapore) Pte. Ltd. Method and apparatus for automatic solid state drive performance recovery
US8285956B2 (en) 2009-10-22 2012-10-09 Symantec Corporation Efficient logging for asynchronously replicating volume groups
US7954021B2 (en) 2009-10-23 2011-05-31 International Business Machines Corporation Solid state drive with flash sparing
US8321648B2 (en) 2009-10-26 2012-11-27 Netapp, Inc Use of similarity hash to route data for improved deduplication in a storage server cluster
US8918897B2 (en) 2009-11-24 2014-12-23 Cleversafe, Inc. Dispersed storage network data slice integrity verification
US8417987B1 (en) 2009-12-01 2013-04-09 Netapp, Inc. Mechanism for correcting errors beyond the fault tolerant level of a raid array in a storage system
US20110153603A1 (en) 2009-12-17 2011-06-23 Yahoo! Inc. Time series storage for large-scale monitoring system
US8140821B1 (en) 2009-12-18 2012-03-20 Emc Corporation Efficient read/write algorithms and associated mapping for block-level data reduction processes
US8156306B1 (en) 2009-12-18 2012-04-10 Emc Corporation Systems and methods for using thin provisioning to reclaim space identified by data reduction processes
US8090977B2 (en) 2009-12-21 2012-01-03 Intel Corporation Performing redundant memory hopping
US8560598B2 (en) 2009-12-22 2013-10-15 At&T Intellectual Property I, L.P. Integrated adaptive anycast for content distribution
US20110153972A1 (en) 2009-12-23 2011-06-23 Quantum Corporation Free space defragmention in extent based file system
US8086896B2 (en) 2009-12-28 2011-12-27 International Business Machines Corporation Dynamically tracking virtual logical storage units
US8468368B2 (en) 2009-12-29 2013-06-18 Cleversafe, Inc. Data encryption parameter dispersal
US8555022B1 (en) 2010-01-06 2013-10-08 Netapp, Inc. Assimilation of foreign LUNS into a network storage system
US9058119B1 (en) 2010-01-11 2015-06-16 Netapp, Inc. Efficient data migration
WO2011090500A1 (en) 2010-01-19 2011-07-28 Rether Networks Inc. Random write optimization techniques for flash disks
US20110191522A1 (en) 2010-02-02 2011-08-04 Condict Michael N Managing Metadata and Page Replacement in a Persistent Cache in Flash Memory
US8244978B2 (en) 2010-02-17 2012-08-14 Advanced Micro Devices, Inc. IOMMU architected TLB support
US8725940B2 (en) 2010-02-27 2014-05-13 Cleversafe, Inc. Distributedly storing raid data in a raid memory and a dispersed storage network memory
US8819208B2 (en) 2010-03-05 2014-08-26 Solidfire, Inc. Data deletion in a distributed data storage system
US8341457B2 (en) 2010-03-11 2012-12-25 Lsi Corporation System and method for optimizing redundancy restoration in distributed data layout environments
US20110238857A1 (en) 2010-03-29 2011-09-29 Amazon Technologies, Inc. Committed processing rates for shared resources
US8700949B2 (en) * 2010-03-30 2014-04-15 International Business Machines Corporation Reliability scheme using hybrid SSD/HDD replication with log structured management
US8793447B2 (en) 2010-03-30 2014-07-29 Netapp, Inc. Restoration of a parent LUN through modification of a read-write clone LUN as the parent LUN
US8856593B2 (en) 2010-04-12 2014-10-07 Sandisk Enterprise Ip Llc Failure recovery using consensus replication in a distributed flash memory system
US8463825B1 (en) 2010-04-27 2013-06-11 Tintri Inc. Hybrid file system for virtual machine storage
US20110283048A1 (en) 2010-05-11 2011-11-17 Seagate Technology Llc Structured mapping system for a memory device
US8224935B1 (en) 2010-05-12 2012-07-17 Symantec Corporation Systems and methods for efficiently synchronizing configuration data within distributed computing systems
WO2011143628A2 (en) 2010-05-13 2011-11-17 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
US8621580B2 (en) 2010-05-19 2013-12-31 Cleversafe, Inc. Retrieving access information in a dispersed storage network
US9355109B2 (en) 2010-06-11 2016-05-31 The Research Foundation For The State University Of New York Multi-tier caching
US9231768B2 (en) 2010-06-22 2016-01-05 International Business Machines Corporation Utilizing a deterministic all or nothing transformation in a dispersed storage network
US8327103B1 (en) 2010-06-28 2012-12-04 Emc Corporation Scheduling data relocation activities using configurable fairness criteria
US20120011176A1 (en) 2010-07-07 2012-01-12 Nexenta Systems, Inc. Location independent scalable file and block storage
US10162722B2 (en) 2010-07-15 2018-12-25 Veritas Technologies Llc Virtual machine aware replication method and system
US8543611B1 (en) 2010-07-16 2013-09-24 Brian Mirtich Managing dynamic state of a physical system
US8195619B2 (en) 2010-08-17 2012-06-05 Symantec Corporation Extent reference count update system and method
JP5316723B2 (ja) 2010-08-23 2013-10-16 富士通株式会社 データ記憶装置およびデータ記憶装置制御方法
US9411517B2 (en) 2010-08-30 2016-08-09 Vmware, Inc. System software interfaces for space-optimized block devices
US8555019B2 (en) 2010-09-08 2013-10-08 International Business Machines Corporation Using a migration cache to cache tracks during migration
US8837281B2 (en) 2010-09-10 2014-09-16 Futurewei Technologies, Inc. Use of partitions to reduce flooding and filtering database size requirements in large layer two networks
US8589625B2 (en) 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of reconstructive I/O read operations in a storage environment
US8732426B2 (en) 2010-09-15 2014-05-20 Pure Storage, Inc. Scheduling of reactive I/O operations in a storage environment
JP5388976B2 (ja) 2010-09-22 2014-01-15 株式会社東芝 半導体記憶制御装置
US8463991B2 (en) 2010-09-28 2013-06-11 Pure Storage Inc. Intra-device data protection in a raid array
US8775868B2 (en) 2010-09-28 2014-07-08 Pure Storage, Inc. Adaptive RAID for an SSD environment
US9348696B2 (en) 2010-10-01 2016-05-24 Pure Storage, Inc. Distributed multi-level protection in a raid array based storage system
US10430298B2 (en) 2010-10-28 2019-10-01 Microsoft Technology Licensing, Llc Versatile in-memory database recovery using logical log records
US9104326B2 (en) 2010-11-15 2015-08-11 Emc Corporation Scalable block data storage using content addressing
US8706701B1 (en) 2010-11-18 2014-04-22 Emc Corporation Scalable cloud file system with efficient integrity checks
CN102073462B (zh) 2010-11-29 2013-04-17 华为技术有限公司 虚拟存储迁移方法、***和虚拟机监控器
US8583599B2 (en) 2010-11-29 2013-11-12 Ca, Inc. Reducing data duplication in cloud storage
US8880554B2 (en) 2010-12-03 2014-11-04 Futurewei Technologies, Inc. Method and apparatus for high performance, updatable, and deterministic hash table for network equipment
KR101638436B1 (ko) 2010-12-10 2016-07-12 한국전자통신연구원 클라우드 스토리지 및 그의 관리 방법
US8271462B2 (en) 2010-12-10 2012-09-18 Inventec Corporation Method for creating a index of the data blocks
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
WO2012082792A2 (en) 2010-12-13 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for auto-commit memory
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US9805108B2 (en) 2010-12-23 2017-10-31 Mongodb, Inc. Large distributed database clustering systems and methods
US8595595B1 (en) 2010-12-27 2013-11-26 Netapp, Inc. Identifying lost write errors in a raid array
US8732134B2 (en) 2011-01-25 2014-05-20 Netapp, Inc. Collection of data associated with storage systems
US8924354B2 (en) 2011-02-01 2014-12-30 Ca, Inc. Block level data replication
CN102651009B (zh) 2011-02-28 2014-09-24 国际商业机器公司 一种存储***中检索数据的方法和设备
US8775699B2 (en) 2011-03-01 2014-07-08 Freescale Semiconductor, Inc. Read stacking for data processor interface
WO2012124100A1 (ja) 2011-03-17 2012-09-20 富士通株式会社 情報処理装置、ストレージシステムおよび書き込み制御方法
US9563555B2 (en) 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
US8966191B2 (en) 2011-03-18 2015-02-24 Fusion-Io, Inc. Logical interface for contextual storage
US8429282B1 (en) 2011-03-22 2013-04-23 Amazon Technologies, Inc. System and method for avoiding system overload by maintaining an ideal request rate
KR101717081B1 (ko) 2011-03-23 2017-03-28 삼성전자주식회사 비휘발성 램과 휘발성 램을 버퍼 메모리로 사용하는 저장 장치
US8538029B2 (en) 2011-03-24 2013-09-17 Hewlett-Packard Development Company, L.P. Encryption key fragment distribution
JP4996757B1 (ja) 2011-03-29 2012-08-08 株式会社東芝 秘密分散システム、装置及びプログラム
WO2012143976A1 (en) 2011-04-22 2012-10-26 Hitachi, Ltd. Information apparatus and method of controlling the same
US9201742B2 (en) 2011-04-26 2015-12-01 Brian J. Bulkowski Method and system of self-managing nodes of a distributed database cluster with a consensus algorithm
US8812450B1 (en) 2011-04-29 2014-08-19 Netapp, Inc. Systems and methods for instantaneous cloning
US8539008B2 (en) 2011-04-29 2013-09-17 Netapp, Inc. Extent-based storage architecture
US8745338B1 (en) 2011-05-02 2014-06-03 Netapp, Inc. Overwriting part of compressed data without decompressing on-disk compressed data
US8904137B1 (en) 2011-05-12 2014-12-02 Symantec Corporation Deduplication system space recycling through inode manipulation
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US8346810B2 (en) 2011-05-13 2013-01-01 Simplivity Corporation Reference count propagation
US8850216B1 (en) 2011-05-19 2014-09-30 Telefonaktiebolaget Lm Ericsson (Publ) Client device and media client authentication mechanism
US8806122B2 (en) 2011-05-23 2014-08-12 International Business Machines Corporation Caching data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device
US8949568B2 (en) 2011-05-24 2015-02-03 Agency For Science, Technology And Research Memory storage device, and a related zone-based block management and mapping method
US9104460B2 (en) 2011-05-31 2015-08-11 Red Hat, Inc. Inter-cloud live migration of virtualization systems
US8990536B2 (en) 2011-06-01 2015-03-24 Schneider Electric It Corporation Systems and methods for journaling and executing device control instructions
US8782439B2 (en) 2011-06-06 2014-07-15 Cleversafe, Inc. Securing a data segment for storage
US8838895B2 (en) 2011-06-09 2014-09-16 21Vianet Group, Inc. Solid-state disk caching the top-K hard-disk blocks selected as a function of access frequency and a logarithmic system time
US9383928B2 (en) 2011-06-13 2016-07-05 Emc Corporation Replication techniques with content addressable storage
US9639591B2 (en) 2011-06-13 2017-05-02 EMC IP Holding Company LLC Low latency replication techniques with content addressable storage
US20120317084A1 (en) 2011-06-13 2012-12-13 Beijing Z&W Technology Consulting Co., Ltd. Method and system for achieving data de-duplication on a block-level storage virtualization device
US9292530B2 (en) 2011-06-14 2016-03-22 Netapp, Inc. Object-level identification of duplicate data in a storage system
US8600949B2 (en) 2011-06-21 2013-12-03 Netapp, Inc. Deduplication in an extent-based architecture
US8261085B1 (en) 2011-06-22 2012-09-04 Media Patents, S.L. Methods, apparatus and systems to improve security in computer systems
US20120331471A1 (en) 2011-06-27 2012-12-27 Microsoft Corporation Executing molecular transactions
US8572164B2 (en) 2011-06-30 2013-10-29 Hitachi, Ltd. Server system and method for controlling information system
US8917872B2 (en) 2011-07-06 2014-12-23 Hewlett-Packard Development Company, L.P. Encryption key storage with key fragment stores
US9363339B2 (en) 2011-07-12 2016-06-07 Hughes Network Systems, Llc Staged data compression, including block level long range compression, for data streams in a communications system
US20130018722A1 (en) 2011-07-13 2013-01-17 Bradd Elden Libby System and method for generating a keyword bid
US20130019057A1 (en) 2011-07-15 2013-01-17 Violin Memory, Inc. Flash disk array and controller
US8806160B2 (en) 2011-08-16 2014-08-12 Pure Storage, Inc. Mapping in a storage system
US8930307B2 (en) 2011-09-30 2015-01-06 Pure Storage, Inc. Method for removing duplicate data from a storage array
US8788788B2 (en) 2011-08-11 2014-07-22 Pure Storage, Inc. Logical sector mapping in a flash storage array
US8527544B1 (en) 2011-08-11 2013-09-03 Pure Storage Inc. Garbage collection in a storage system
KR20130027253A (ko) 2011-09-07 2013-03-15 삼성전자주식회사 데이터의 압축 방법
US10031646B2 (en) 2011-09-07 2018-07-24 Mcafee, Llc Computer system security dashboard
US8549154B2 (en) 2011-09-09 2013-10-01 Oracle International Corporation Recovering stateful read-only database sessions
US10223375B2 (en) 2011-09-20 2019-03-05 Netapp, Inc. Handling data extent size asymmetry during logical replication in a storage system
US8839008B2 (en) 2011-09-23 2014-09-16 Broadcom Corporation System and method for detecting configuration of a power sourcing equipment device connected to a powered device by simultaneously measuring voltage at two terminals of a resistor disposed within the powered device
US10311027B2 (en) 2011-09-23 2019-06-04 Open Invention Network, Llc System for live-migration and automated recovery of applications in a distributed system
US20130080679A1 (en) 2011-09-26 2013-03-28 Lsi Corporation System and method for optimizing thermal management for a storage controller cache
US8943032B1 (en) 2011-09-30 2015-01-27 Emc Corporation System and method for data migration using hybrid modes
US8751657B2 (en) 2011-10-04 2014-06-10 Hitachi, Ltd. Multi-client storage system and storage system management method
US8839113B2 (en) 2011-10-26 2014-09-16 Brocade Communications Systems, Inc. Method for bridging multiple network views
US8949197B2 (en) 2011-10-31 2015-02-03 Oracle International Corporation Virtual full backups
US9009449B2 (en) 2011-11-10 2015-04-14 Oracle International Corporation Reducing power consumption and resource utilization during miss lookahead
US8990495B2 (en) 2011-11-15 2015-03-24 Emc Corporation Method and system for storing data in raid memory devices
CN102364474B (zh) 2011-11-17 2014-08-20 中国科学院计算技术研究所 用于机群文件***的元数据存储***和管理方法
US9584326B2 (en) 2011-11-28 2017-02-28 International Business Machines Corporation Creating a new file for a dispersed storage network
US20130138615A1 (en) 2011-11-29 2013-05-30 International Business Machines Corporation Synchronizing updates across cluster filesystems
US8824296B2 (en) 2011-12-13 2014-09-02 Telefonaktiebolaget L M Ericsson (Publ) Handling congestion in a queue without discarding new messages received from a message sender
US9274838B2 (en) 2011-12-22 2016-03-01 Netapp, Inc. Dynamic instantiation and management of virtual caching appliances
US8712963B1 (en) 2011-12-22 2014-04-29 Emc Corporation Method and apparatus for content-aware resizing of data chunks for replication
US9003021B2 (en) 2011-12-27 2015-04-07 Solidfire, Inc. Management of storage system access based on client performance and cluser health
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US8843711B1 (en) 2011-12-28 2014-09-23 Netapp, Inc. Partial write without read-modify
US8799705B2 (en) 2012-01-04 2014-08-05 Emc Corporation Data protection in a random access disk array
US9223607B2 (en) 2012-01-17 2015-12-29 Microsoft Technology Licensing, Llc System for replicating or migrating virtual machine operations log by throttling guest write iOS based on destination throughput
WO2013112634A1 (en) 2012-01-23 2013-08-01 The Regents Of The University Of California System and method for implementing transactions using storage device support for atomic updates and flexible interface for managing data logging
US9053140B2 (en) 2012-02-03 2015-06-09 Apple Inc. Enhanced B-trees with record merging
US8977893B2 (en) 2012-02-17 2015-03-10 Lsi Corporation Accelerated rebuild and zero time rebuild in raid systems
US8972568B2 (en) 2012-02-21 2015-03-03 Telefonaktiebolaget L M Ericsson (Publ) Quantifying user quality of experience by passive monitoring
US9165005B2 (en) 2012-02-24 2015-10-20 Simplivity Corporation Method and apparatus utilizing non-uniform hash functions for placing records in non-uniform access memory
JP5670598B2 (ja) 2012-02-24 2015-02-18 株式会社日立製作所 コンピュータプログラムおよび管理計算機
US20130238832A1 (en) 2012-03-07 2013-09-12 Netapp, Inc. Deduplicating hybrid storage aggregate
US9417811B2 (en) 2012-03-07 2016-08-16 International Business Machines Corporation Efficient inline data de-duplication on a storage system
US8706971B1 (en) 2012-03-14 2014-04-22 Netapp, Inc. Caching and deduplication of data blocks in cache memory
US8732403B1 (en) 2012-03-14 2014-05-20 Netapp, Inc. Deduplication of data blocks on storage devices
US9460009B1 (en) 2012-03-26 2016-10-04 Emc Corporation Logical unit creation in data storage system
US8943282B1 (en) 2012-03-29 2015-01-27 Emc Corporation Managing snapshots in cache-based storage systems
US8918581B2 (en) 2012-04-02 2014-12-23 Microsoft Corporation Enhancing the lifetime and performance of flash-based storage
US8688652B2 (en) 2012-04-05 2014-04-01 International Business Machines Corporation Increased in-line deduplication efficiency
US9075710B2 (en) 2012-04-17 2015-07-07 SanDisk Technologies, Inc. Non-volatile key-value store
US9141290B2 (en) 2012-05-13 2015-09-22 Emc Corporation Snapshot mechanism
WO2013171794A1 (en) 2012-05-17 2013-11-21 Hitachi, Ltd. Method of data migration and information storage system
US8868868B1 (en) 2012-05-31 2014-10-21 Netapp, Inc. Method and system for responding to client requests for information maintained by storage systems
US10467116B2 (en) 2012-06-08 2019-11-05 Hewlett Packard Enterprise Development Lp Checkpointing using FPGA
US9262320B2 (en) 2012-06-15 2016-02-16 International Business Machines Corporation Tracking transactional execution footprint
US9003162B2 (en) 2012-06-20 2015-04-07 Microsoft Technology Licensing, Llc Structuring storage based on latch-free B-trees
US20130346700A1 (en) 2012-06-21 2013-12-26 Alexander I. Tomlinson Systems and methods for managing memory
US9092142B2 (en) 2012-06-26 2015-07-28 Hitachi, Ltd. Storage system and method of controlling the same
CN103514064B (zh) 2012-06-28 2016-03-16 国际商业机器公司 记录备份信息的方法和装置
US8904231B2 (en) 2012-08-08 2014-12-02 Netapp, Inc. Synchronous local and cross-site failover in clustered storage systems
US8903876B2 (en) 2012-08-15 2014-12-02 Facebook, Inc. File storage system based on coordinated exhaustible and non-exhaustible storage
US9218255B2 (en) 2012-08-27 2015-12-22 International Business Machines Corporation Multi-volume instant virtual copy freeze
US9009402B2 (en) 2012-09-20 2015-04-14 Emc Corporation Content addressable storage in legacy systems
US8922928B2 (en) 2012-09-20 2014-12-30 Dell Products L.P. Method and system for preventing unreliable data operations at cold temperatures
US9318154B2 (en) 2012-09-20 2016-04-19 Dell Products L.P. Method and system for preventing unreliable data operations at cold temperatures
US9021303B1 (en) 2012-09-24 2015-04-28 Emc Corporation Multi-threaded in-memory processing of a transaction log for concurrent access to data during log replay
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US9413680B1 (en) 2012-09-26 2016-08-09 Amazon Technologies, Inc. Multi-tenant throttling approaches
US8745415B2 (en) 2012-09-26 2014-06-03 Pure Storage, Inc. Multi-drive cooperation to generate an encryption key
KR102002830B1 (ko) 2012-09-28 2019-07-23 삼성전자 주식회사 세그먼트 클리닝 장치 및 방법
US9146684B2 (en) 2012-09-28 2015-09-29 Netapp, Inc. Storage architecture for server flash and storage array operation
US20140101298A1 (en) 2012-10-05 2014-04-10 Microsoft Corporation Service level agreements for a configurable distributed storage system
IN2015DN03823A (zh) 2012-11-02 2015-10-02 Silverlake Mobility Ecosystem Sdn Bhd
US8930778B2 (en) 2012-11-15 2015-01-06 Seagate Technology Llc Read disturb effect determination
US8898113B2 (en) 2012-11-21 2014-11-25 International Business Machines Corporation Managing replicated data
US9449039B2 (en) 2012-11-26 2016-09-20 Amazon Technologies, Inc. Automatic repair of corrupted blocks in a database
US9342243B2 (en) 2012-11-28 2016-05-17 Lenovo (Beijing) Co., Ltd. Method and electronic apparatus for implementing multi-operating system
US9363187B2 (en) 2012-11-28 2016-06-07 Nvidia Corporation Jitter buffering system and method of jitter buffering
US9251201B2 (en) 2012-12-14 2016-02-02 Microsoft Technology Licensing, Llc Compatibly extending offload token size
US9727598B2 (en) 2012-12-19 2017-08-08 Salesforce.Com, Inc. Systems, methods, and apparatuses for fixing logical or physical corruption in databases using LSM trees
US9411718B2 (en) 2012-12-21 2016-08-09 Seagate Technology Llc Method to apply fine grain wear leveling and garbage collection
US9331936B2 (en) 2012-12-30 2016-05-03 Mellanox Technologies Ltd. Switch fabric support for overlay network features
US9459856B2 (en) 2013-01-02 2016-10-04 International Business Machines Corporation Effective migration and upgrade of virtual machines in cloud environments
US9702346B2 (en) 2013-01-09 2017-07-11 Honeywell International Inc. Synchronizing data from irregularly sampled sensors
US9141554B1 (en) * 2013-01-18 2015-09-22 Cisco Technology, Inc. Methods and apparatus for data processing using data compression, linked lists and de-duplication techniques
US9495288B2 (en) 2013-01-22 2016-11-15 Seagate Technology Llc Variable-size flash translation layer
US20140215147A1 (en) 2013-01-25 2014-07-31 Hewlett-Packard Development Company, L.P. Raid storage rebuild processing
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
CN103970481B (zh) 2013-01-29 2017-03-01 国际商业机器公司 重建存储器阵列的方法和装置
WO2014117298A1 (en) 2013-01-31 2014-08-07 Hewlett-Packard Development Company, L.P. Event log system
US20140215170A1 (en) 2013-01-31 2014-07-31 Futurewei Technologies, Inc. Block Compression in a Key/Value Store
US9852055B2 (en) 2013-02-25 2017-12-26 International Business Machines Corporation Multi-level memory compression
US20140250440A1 (en) 2013-03-01 2014-09-04 Adaptive Computing Enterprises, Inc. System and method for managing storage input/output for a compute environment
US9792120B2 (en) 2013-03-05 2017-10-17 International Business Machines Corporation Anticipated prefetching for a parent core in a multi-core chip
US8751763B1 (en) 2013-03-13 2014-06-10 Nimbus Data Systems, Inc. Low-overhead deduplication within a block-based data storage
US10706009B2 (en) 2013-03-14 2020-07-07 Oracle International Corporation Techniques to parallelize CPU and IO work of log writes
US9195939B1 (en) 2013-03-15 2015-11-24 Cavium, Inc. Scope in decision trees
US9317444B2 (en) 2013-03-15 2016-04-19 Vmware, Inc. Latency reduction for direct memory access operations involving address translation
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US9047211B2 (en) 2013-03-15 2015-06-02 SanDisk Technologies, Inc. Managing data reliability
US9672237B2 (en) 2013-03-15 2017-06-06 Amazon Technologies, Inc. System-wide checkpoint avoidance for distributed database systems
US20150095555A1 (en) 2013-09-27 2015-04-02 Avalanche Technology, Inc. Method of thin provisioning in a solid state disk array
JP5444506B1 (ja) 2013-03-29 2014-03-19 株式会社東芝 データの重複をハッシュテーブルに基づいて排除するためのストレージシステム
US20140304548A1 (en) 2013-04-03 2014-10-09 International Business Machines Corporation Intelligent and efficient raid rebuild technique
US9519695B2 (en) 2013-04-16 2016-12-13 Cognizant Technology Solutions India Pvt. Ltd. System and method for automating data warehousing processes
US9213633B2 (en) 2013-04-30 2015-12-15 Seagate Technology Llc Flash translation layer with lower write amplification
US10311028B2 (en) 2013-05-16 2019-06-04 Oracle International Corporation Method and apparatus for replication size estimation and progress monitoring
US9665286B2 (en) 2013-05-17 2017-05-30 Hitachi, Ltd. Storage device
US9645920B2 (en) 2013-06-25 2017-05-09 Marvell World Trade Ltd. Adaptive cache memory controller
US9411764B2 (en) 2013-07-23 2016-08-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Optimized redundant high availability SAS topology
US9244724B2 (en) 2013-08-15 2016-01-26 Globalfoundries Inc. Management of transactional memory access requests by a cache memory
US9582198B2 (en) 2013-08-26 2017-02-28 Vmware, Inc. Compressed block map of densely-populated data structures
US9311331B2 (en) 2013-08-27 2016-04-12 Netapp, Inc. Detecting out-of-band (OOB) changes when replicating a source file system using an in-line system
WO2015030758A1 (en) 2013-08-29 2015-03-05 Hewlett-Packard Development Company, L.P. Separating storage transaction logs
US9268502B2 (en) 2013-09-16 2016-02-23 Netapp, Inc. Dense tree volume metadata organization
US9430383B2 (en) 2013-09-20 2016-08-30 Oracle International Corporation Fast data initialization
EP2852097B1 (en) 2013-09-20 2016-08-10 CoScale NV Efficient data center monitoring
US9385959B2 (en) 2013-09-26 2016-07-05 Acelio, Inc. System and method for improving TCP performance in virtualized environments
US9405783B2 (en) 2013-10-02 2016-08-02 Netapp, Inc. Extent hashing technique for distributed storage architecture
US9372757B2 (en) 2013-10-18 2016-06-21 Netapp, Inc. Incremental block level backup
JP6255893B2 (ja) 2013-10-24 2018-01-10 富士通株式会社 ストレージ制御装置、およびストレージ制御プログラム
US10503716B2 (en) 2013-10-31 2019-12-10 Oracle International Corporation Systems and methods for generating bit matrices for hash functions using fast filtering
US9400745B2 (en) 2013-11-06 2016-07-26 International Business Machines Corporation Physical address management in solid state memory
WO2015068239A1 (ja) 2013-11-07 2015-05-14 株式会社日立製作所 計算機システムおよびデータ制御方法
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
US9152684B2 (en) 2013-11-12 2015-10-06 Netapp, Inc. Snapshots and clones of volumes in a storage system
US9201918B2 (en) 2013-11-19 2015-12-01 Netapp, Inc. Dense tree volume metadata update logging and checkpointing
US20160149763A1 (en) 2013-11-27 2016-05-26 Carl B Ingram Systems and Methods for Providing an Administrative Framework in a Cloud Architecture
US9367421B2 (en) 2013-12-20 2016-06-14 Netapp, Inc. Systems, methods, and computer programs products providing relevant correlation of data source performance
US9170746B2 (en) 2014-01-07 2015-10-27 Netapp, Inc. Clustered raid assimilation management
US9448924B2 (en) 2014-01-08 2016-09-20 Netapp, Inc. Flash optimized, log-structured layer of a file system
US9152330B2 (en) 2014-01-09 2015-10-06 Netapp, Inc. NVRAM data organization using self-describing entities for predictable recovery after power-loss
US9727625B2 (en) 2014-01-16 2017-08-08 International Business Machines Corporation Parallel transaction messages for database replication
US9268653B2 (en) 2014-01-17 2016-02-23 Netapp, Inc. Extent metadata update logging and checkpointing
WO2015107666A1 (ja) 2014-01-17 2015-07-23 株式会社日立製作所 ストレージ装置及びストレージ装置のキャッシュ制御方法
US9454434B2 (en) 2014-01-17 2016-09-27 Netapp, Inc. File system driven raid rebuild technique
US9256549B2 (en) 2014-01-17 2016-02-09 Netapp, Inc. Set-associative hash table organization for efficient storage and retrieval of data in a storage system
JP6233086B2 (ja) 2014-02-20 2017-11-22 富士通株式会社 ストレージ制御装置,ストレージシステム及び制御プログラム
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
WO2015135574A1 (en) 2014-03-11 2015-09-17 Hitachi Data Systems Engineering UK Limited Computer program product, method, apparatus and data storage system for controlling write operations in the data storage system
US20150261446A1 (en) 2014-03-12 2015-09-17 Futurewei Technologies, Inc. Ddr4-onfi ssd 1-to-n bus adaptation and expansion controller
US9633056B2 (en) 2014-03-17 2017-04-25 Commvault Systems, Inc. Maintaining a deduplication database
CN104934066B (zh) 2014-03-19 2018-03-27 安华高科技通用Ip(新加坡)公司 Nand闪存中的读取干扰处理
US10140194B2 (en) 2014-03-20 2018-11-27 Hewlett Packard Enterprise Development Lp Storage system transactions
US9996549B2 (en) 2014-03-21 2018-06-12 Entangled Media Corp. Method to construct a file system based on aggregated metadata from disparate sources
US9274713B2 (en) 2014-04-03 2016-03-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Device driver, method and computer-readable medium for dynamically configuring a storage controller based on RAID type, data alignment with a characteristic of storage elements and queue depth in a cache
US9697228B2 (en) 2014-04-14 2017-07-04 Vembu Technologies Private Limited Secure relational file system with version control, deduplication, and error correction
US9471428B2 (en) 2014-05-06 2016-10-18 International Business Machines Corporation Using spare capacity in solid state drives
US9823842B2 (en) 2014-05-12 2017-11-21 The Research Foundation For The State University Of New York Gang migration of virtual machines using cluster-wide deduplication
US9891993B2 (en) 2014-05-23 2018-02-13 International Business Machines Corporation Managing raid parity stripe contention
US9639546B1 (en) 2014-05-23 2017-05-02 Amazon Technologies, Inc. Object-backed block-based distributed storage
US8850108B1 (en) 2014-06-04 2014-09-30 Pure Storage, Inc. Storage cluster
US9524201B2 (en) 2014-06-19 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Safe and efficient dirty data flush for dynamic logical capacity based cache in storage systems
JP2016057795A (ja) 2014-09-09 2016-04-21 富士通株式会社 ストレージ制御装置,ストレージシステム及びストレージ制御プログラム
US9501359B2 (en) 2014-09-10 2016-11-22 Netapp, Inc. Reconstruction of dense tree volume metadata state across crash recovery
US20160070644A1 (en) 2014-09-10 2016-03-10 Netapp, Inc. Offset range operation striping to improve concurrency of execution and reduce contention among resources
US9524103B2 (en) 2014-09-10 2016-12-20 Netapp, Inc. Technique for quantifying logical space trapped in an extent store
US20160070714A1 (en) 2014-09-10 2016-03-10 Netapp, Inc. Low-overhead restartable merge operation with efficient crash recovery
US20160077744A1 (en) 2014-09-11 2016-03-17 Netapp, Inc. Deferred reference count update technique for low overhead volume metadata
US10530880B2 (en) 2014-10-31 2020-01-07 Netapp, Inc. Scalable multiple VLAN multi-tenant networking
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
US9619158B2 (en) 2014-12-17 2017-04-11 International Business Machines Corporation Two-level hierarchical log structured array architecture with minimized write amplification
US10216966B2 (en) 2015-02-25 2019-02-26 Netapp, Inc. Perturb key technique
US9378043B1 (en) 2015-05-28 2016-06-28 Altera Corporation Multilayer quality of service (QOS) for network functions virtualization platforms
US9678681B2 (en) 2015-06-17 2017-06-13 International Business Machines Corporation Secured multi-tenancy data in cloud-based storage environments
US9652405B1 (en) 2015-06-30 2017-05-16 EMC IP Holding Company LLC Persistence of page access heuristics in a memory centric architecture
US9740566B2 (en) 2015-07-31 2017-08-22 Netapp, Inc. Snapshot creation workflow
US10394660B2 (en) 2015-07-31 2019-08-27 Netapp, Inc. Snapshot restore workflow
US10565230B2 (en) 2015-07-31 2020-02-18 Netapp, Inc. Technique for preserving efficiency for replication between clusters of a network
US10331625B2 (en) 2015-09-22 2019-06-25 Facebook, Inc. Managing sequential data store
US9785525B2 (en) 2015-09-24 2017-10-10 Netapp, Inc. High availability failover manager
US10120613B2 (en) 2015-10-30 2018-11-06 Sandisk Technologies Llc System and method for rescheduling host and maintenance operations in a non-volatile memory
US9537827B1 (en) 2015-12-21 2017-01-03 Netapp, Inc. Secure mode VLANs systems and methods

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110035548A1 (en) * 2008-02-12 2011-02-10 Kimmel Jeffrey S Hybrid media storage system architecture
CN102577278A (zh) * 2009-10-19 2012-07-11 国际商业机器公司 用于分布式集群存储网络的动态资源分配
CN101719050A (zh) * 2009-11-25 2010-06-02 成都市华为赛门铁克科技有限公司 一种数据存储方法及设备
US20140101115A1 (en) * 2012-10-05 2014-04-10 Samsung Electronics Co., Ltd. Segment group-based segment cleaning apparatus and methods for storage units
US8832363B1 (en) * 2014-01-17 2014-09-09 Netapp, Inc. Clustered RAID data organization

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096216A (zh) * 2018-01-30 2019-08-06 伊姆西Ip控股有限责任公司 用于管理数据存储***中的数据存储的方法、装置以及计算机程序产品
CN110096216B (zh) * 2018-01-30 2022-06-14 伊姆西Ip控股有限责任公司 用于管理数据存储***中的数据存储的方法、装置以及计算机程序产品
CN108646981A (zh) * 2018-04-28 2018-10-12 深圳市茁壮网络股份有限公司 一种数据缓存节点管理方法、数据缓存方法和缓存管理节点
CN112912851A (zh) * 2018-10-31 2021-06-04 慧与发展有限责任合伙企业 用于可字节寻址的非易失性存储器的无主raid
CN112912851B (zh) * 2018-10-31 2022-03-29 慧与发展有限责任合伙企业 用于寻址的***和方法、以及媒体控制器

Also Published As

Publication number Publication date
EP3191931A1 (en) 2017-07-19
WO2016040251A1 (en) 2016-03-17
US20160077746A1 (en) 2016-03-17
US10133511B2 (en) 2018-11-20

Similar Documents

Publication Publication Date Title
CN106687910A (zh) 优化分段清除技术
US10761758B2 (en) Data aware deduplication object storage (DADOS)
US10042853B2 (en) Flash optimized, log-structured layer of a file system
CN106708425B (zh) 分布式多模存储管理
US9483349B2 (en) Clustered raid data organization
US11461015B2 (en) Available storage space in a system with varying data redundancy schemes
US9619351B2 (en) Clustered RAID assimilation management
US9529546B2 (en) Global in-line extent-based deduplication
US9268653B2 (en) Extent metadata update logging and checkpointing
US9201918B2 (en) Dense tree volume metadata update logging and checkpointing
CN107077300A (zh) 用于平衡分段清除与i/o工作负载的速率匹配技术
US7882304B2 (en) System and method for efficient updates of sequential block storage
CN110023896A (zh) 直接映射的闪存存储***中的块合并
JP2019071100A (ja) 分散型ストレージシステム
US20200117362A1 (en) Erasure coding content driven distribution of data blocks
Li et al. SPOPB: Reducing solid state drive write traffic for flash‐based key‐value caching
Feng Rewriting Algorithms

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170517