CN106687910A - 优化分段清除技术 - Google Patents
优化分段清除技术 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, 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而发生。
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)
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)
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)
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)
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 |
-
2014
- 2014-09-12 US US14/484,820 patent/US10133511B2/en active Active
-
2015
- 2015-09-08 EP EP15766989.6A patent/EP3191931A1/en not_active Withdrawn
- 2015-09-08 WO PCT/US2015/048833 patent/WO2016040251A1/en active Application Filing
- 2015-09-08 CN CN201580049234.8A patent/CN106687910A/zh active Pending
Patent Citations (5)
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)
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 |