CN103348326B - Ssd环境中的适配raid - Google Patents
Ssd环境中的适配raid Download PDFInfo
- Publication number
- CN103348326B CN103348326B CN201180053519.0A CN201180053519A CN103348326B CN 103348326 B CN103348326 B CN 103348326B CN 201180053519 A CN201180053519 A CN 201180053519A CN 103348326 B CN103348326 B CN 103348326B
- Authority
- CN
- China
- Prior art keywords
- data
- raid
- memory storage
- layout
- 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.)
- Active
Links
- 230000003044 adaptive effect Effects 0.000 title abstract description 3
- 238000013500 data storage Methods 0.000 claims abstract description 44
- 238000000034 method Methods 0.000 claims abstract description 44
- 230000004044 response Effects 0.000 claims abstract description 8
- 230000005055 memory storage Effects 0.000 claims description 259
- 230000008569 process Effects 0.000 claims description 19
- 230000008859 change Effects 0.000 claims description 18
- 238000009826 distribution Methods 0.000 claims description 16
- 239000012634 fragment Substances 0.000 description 66
- 238000003860 storage Methods 0.000 description 57
- 238000010586 diagram Methods 0.000 description 27
- 238000004422 calculation algorithm Methods 0.000 description 25
- 238000005516 engineering process Methods 0.000 description 22
- 230000006399 behavior Effects 0.000 description 12
- 238000011084 recovery Methods 0.000 description 11
- 238000012937 correction Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 230000008672 reprogramming Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000007667 floating Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000032683 aging Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000003607 modifier Substances 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000004087 circulation Effects 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000006984 memory degeneration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000000746 purification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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
-
- 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/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- 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
- 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/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种用于适配RAID几何的系统和方法。计算机系统包括通过网络相互耦合的客户机计算机和数据存储阵列。数据存储阵列利用用于数据存储的固态驱动和快擦写存储器单元。数据存储阵列中的存储控制器被配置为确定用于存储数据的第一RAID布局并根据第一RAID布局将第一RAID条带写入到装置组。响应检测第一条件,控制器配置为确定与第一RAID布局不同的第二RAID布局,和根据第二布局将第二RAID条带写入到装置组,由此,装置组根据第一RAID布局和第二RAID布局两者同时存储数据。
Description
技术领域
本发明涉及计算机网络,更特别地,涉及在多个固态存储装置之间有效地分布数据。
背景技术
随着计算机存储器存储和数据带宽的增加,商业日常管理的数据的量和复杂性增加。诸如数据中心的大规模分布式存储系统一般运行许多商业运算。分布式存储系统可与通过一个或多个网络互连的客户机计算机耦合。如果分布式存储系统的任意部分具有不良的性能或者变得不可用,那么公司运算会受损或者完全停止。因此,期望分布式存储系统对于数据可用性保持高的标准并保持高性能功能。如这里使用的那样,由于存储技术中的一些类型不包含盘,因此,存储盘可被称为存储装置。
为了防止数据损失,存储装置常常包含错误检测和校正机制。这些机制常采取由装置产生并存储于装置自身内的错误校正代码的形式。另外,分布式存储系统还可利用分散算法,以在存储装置的集合之间分布数据。这些算法一般在不依赖于中心目录的情况下将数据映射到存储装置。这种算法的例子包括可缩放散列(RUSH)和受控可缩放散列复制(CRUSH)。当没有中心目录时,分布式存储系统中的多个客户机可同时访问多个服务器上的数据对象。另外,存储的元数据的量会减少。但是,在具有改变的容量、输入输出(I/O)特性和可靠性问题的多个存储盘之间分布数据仍然存在困难的任务。与存储装置自身类似,这些算法也可包括诸如RAID类型算法(例如,RAID5和RAID6)或Reed-Solomon代码的错误检测和校正算法。
与选择的存储装置相关的技术和机制确定用于在可动态添加和去除的多个存储装置之间分布数据的方法。例如,以上描述的算法是针对利用硬盘驱动(HDD)的系统开发的。HDD包括一个或多个旋转的盘,每个盘涂有磁介质。这些盘日常以每分钟几千转的速度旋转几个小时。另外,电磁致动器负责在旋转的盘上定位磁读取/写入装置。这些致动器经受摩擦、磨损、振动和机械不对准,这导致可靠性问题。上述的数据分布算法基于HDD的特性和行为。
另一种类型的存储介质的一个例子是固态盘(SSD)。固态盘也可称为固态驱动器。SSD可模仿HDD接口,但SSD利用用于存储永久数据的固态存储器而不是在HDD中见到的电气机械装置。例如,SSD可包含快擦写存储器的组。SSD可在没有移动部分或机械延迟的情况下具有比HDD低的访问时间和等待时间。但是,SSD一般具有明显的写入等待时间。除了不同的输入/输出(I/O)特性以外,SSD经受与HDD不同的失效模式。因此,不能在包含用于存储的SSD、同时利用对于HDD开发的分布数据旋转算法的系统中实现高的性能和高的可靠性。
鉴于以上的情况,希望用于有效地分布数据并在多个固态存储装置之间检测和校正错误的系统和方法。
发明内容
公开了用于有效地在多个固态存储装置之间分布和管理数据的计算机系统和方法的各种实施例。
在一个实施例中,计算机系统包括被配置为在网络上向通过网络耦合为接收读取和写入请求的一个或多个数据存储阵列传输读取和写入请求的多个客户机计算机。设想包括多个存储装置上的多个存储位置的数据存储阵列。在各种实施例中,在用于数据存储和保护的独立驱动配置的冗余阵列(RAID)中配置存储装置。数据存储装置可包含用于数据存储的固态存储器技术,诸如快擦写存储器单元。数据存储子系统还包括存储控制器,该存储控制器被配置为:确定用于存储数据的第一RAID布局;和根据第一RAID布局将第一RAID条带写入到装置组。响应检测第一条件,控制器被配置为:确定与第一RAID布局不同的第二RAID布局;和根据第二布局将第二RAID条带写入到装置组,由此,装置组根据第一RAID布局和第二RAID布局同时存储数据。在各种实施例中,第一条件包含检测要分配用于在装置组中存储数据的空间。另外,设想控制器至少部分地基于多个存储装置中的一个或多个的特性确定使用的RAID布局的类型的实施例。
考虑以下的描述和附图,这些和其它的实施例将变得十分明显。
附图说明
图1是示出网络结构的一个实施例的一般化框图。
图2是动态装置内冗余方案的一个实施例的一般化框图。
图3是示出用于调整数据存储子系统中的装置内保护的方法的一个实施例的一般化流程图。
图4是存储子系统的一个实施例的一般化框图。
图5是装置单元的一个实施例的一般化框图。
图6是示出状态表的一个实施例的一般化框图。
图7是示出柔性RAID数据布局结构的一个实施例的一般化框图。
图8是示出柔性RAID数据布局结构的另一实施例的一般化框图。
图9是示出用于动态确定数据存储子系统中的布局的方法的一个实施例的一般化流程图。
图10是柔性RAID数据布局结构的又一实施例的一般化框图。
图11A示出装置布局的一个实施例。
图11B示出段的一个实施例。
图11C是示出不同的页类型内的数据存储配置的一个实施例的一般化框图。
图12是示出混合RAID数据布局的一个实施例的一般化框图。
图13是示出用于选择数据存储子系统中的交替的RAID几何关系的方法的一个实施例的一般化流程图。
虽然能够对于本发明提出各种修改和替代形式,但在附图中作为例子表示并且在这里详细描述特定的实施例。但应理解,其附图和详细的描述不是要将本发明限于特定的公开的形式,相反,本发明要覆盖落入由所附的权利要求限定的本发明的精神和范围内的所有的变更方案、等同方案和替代方案。
具体实施方式
在以下的描述中,阐述大量的特定的细节以使得能够彻底理解本发明。但是,本领域技术人员可以想到,可以在没有这些特定的细节的情况下实现本发明。在一些情况下,为了避免混淆本发明,没有详细表示公知的电路、结构、信号、计算机程序指令和技术。
参照图1,表示网络结构100的一个实施例的一般化框图。如后面进一步描述的那样,网络结构100的一个实施例包含通过网络180相互连接并与数据存储阵列120a~120b连接的客户机计算机系统110a~110b。网络180可通过交换机140与第二网络190耦合。客户机计算机系统110c通过网络190与客户机计算机系统110a~110b和数据存储阵列120a~120b耦合。另外,网络190可通过交换机150与因特网160或其它的外部网络耦合。
注意,在替代性实施例中,客户机计算机和服务器、交换机、网络、数据存储阵列和数据存储装置的数量和类型不限于图1所示的那些。在各种时间,一个或多个客户机可离线操作。另外,在操作中,当用户连接、断开和重新连接网络结构100时,各单个客户机计算机连接类型可改变。简要提供图1所示的部件中的每一个的进一步的描述。首先,描述由数据存储阵列120a~120b提供的特征中的一些的概要。
在网络结构100中,数据存储阵列120a~120b中的每一个可用于在诸如客户机计算机系统110a~110c的不同的服务器和计算机之间共享数据。另外,数据存储阵列120a~120b可被用于盘镜像、备份和恢复、存档和存档数据的检索和从一个存储装置到另一个的数据迁移。在替代性实施例中,为了形成群,一个或多个客户机计算机系统110a~110c可通过快速局域网络(LAN)相互链接。相互链接的一个或多个节点形成群,该群可共享诸如驻留于数据存储阵列120a~120b中的一个内的群共享容量的存储资源。
数据存储阵列120a~120b中的每一个包含用于数据存储的存储子系统170。存储子系统170可包含多个存储装置176a~176m。这些存储装置176a~176m可向客户机计算机系统110a~110b提供数据存储服务。存储装置176a~176m中的每一个可被配置为接收读取和写入请求,并包含多个数据存储位置,每个数据存储位置可作为阵列中的行和列被寻址。在一个实施例中,存储装置176a~176m内的数据存储位置可被配置成逻辑、冗余存储容器或RAID阵列(便宜/独立盘的冗余阵列)。但是,存储装置176a-176m可以不包括磁盘。在一个实施例中,存储装置176a~176m中的每一个可利用与常规的硬盘驱动(HDD)不同的数据存储的技术。例如,存储装置176a~176m中的一个或多个可包含由固态存储器构成的存储装置或者进一步与其耦合以存储永久数据。在其它的实施例中,存储装置176a~176m中的一个或多个可包含使用旋转扭矩传输技术、磁阻随机存取存储器(MRAM)技术或其它存储技术的存储器,或者进一步与其耦合。这些不同的存储技术可导致存储装置之间的不同的可靠性特性。
在存储装置176a~176m中的每一个中使用的技术和机构的类型可确定用于数据对象映射和错误检测和校正的算法。在这些算法中使用的逻辑可包含于基本操作系统(OS)116、文件系统140、存储子系统控制器174内的一个或多个全局I/O调度器178和存储装置176a~176m中的每一个内的控制逻辑中的一个或多个中。
在一个实施例中,包含的固态存储器包含固态驱动(SSD)技术。一般地,SSD技术利用快擦写存储器单元。在本领域中,众所周知,快擦写存储器单元基于在浮动门中捕获和存储的电子的范围保持二进制值。完全擦除快擦写存储器单元在浮动门中不存储或者存在最少量的电子。特定的二进制值,诸如用于单级单元(SLC)快擦写的二进制值1,与擦除的快擦写存储器单元相关。多级单元(MLC)快擦写具有与擦除的快擦写存储器单元相关的二进制值11。在向快擦写存储器单元内的控制门施加比给定的阈值电压高的电压之后,快擦写存储器单元在浮动门中捕获给定范围的电子。因此,另一特定的二进制值,诸如用于SLC快擦写的二进制0,与编程(写入)快擦写存储器单元相关。MLC快擦写单元可根据向控制门施加的电压具有与编程的存储器单元相关的多个二进制值中的一个。
一般而言,SSD技术提供的读取访问等待时间比HDD技术低。但是,SSD的写入性能明显受SSD内的自由可编程块的可用性影响。由于SSD的写入性能与SSD的读取性能相比明显较慢,因此,期望类似的等待时间的某些功能或操作会出现问题。另外,HDD技术和SSD技术之间的技术和机构的不同导致数据存储装置176a~176m的可靠性特性的不同。
在各种实施例中,SSD内的快擦写单元一般在写入新数据之前被擦除。另外,各种快擦写技术中的擦除操作也必须在块的基础上被执行。因此,块(擦除段或擦除块)内的所有快擦写存储器单元被一起擦除。快擦写擦除块可包含多个页。例如,页可具有4千字节(KB)的大小,并且,块可包含64页或256KB。与快擦写装置中的读取操作相比,擦除操作可具有相对较高的等待时间-这又会增加相应的写入操作的等待时间。可在比擦除块尺寸低的粒度水平上执行快擦写技术的编程或读取。例如,可在字节、字或其它的尺寸上编程或读取快擦写单元。
快擦写单元在重复的擦除和编程操作之后出现磨损。这种情况下的磨损是由于在基板与MLC快擦写单元的浮动门之间的电介质氧化物层中注入和捕获的电荷。在一个例子中,MLC快擦写单元会具有有限的经受擦除和编程操作的次数,该次数诸如处于从10000到100000循环的范围中。另外,SSD可经历导致相邻或相近的快擦写单元在另一快擦写单元被擦除或编程时经历偶然的状态变化的程序干扰错误。并且,SSD包含读取干扰错误,其中,当另一快擦写单元被读取时,出现附近的快擦写单元的偶然的状态变化。
已知一个或多个存储装置176a~176m中的每一个的特性会导致更有效的数据对象映射和错误检测和校正。在一个实施例中,存储控制器174内的全局RAID引擎178可对于存储装置176a~176m检测以下方面中的至少一个或多个:对于I/O请求的不一致响应时间、用于相应的访问的不正确的数据、错误率和存取速率。至少响应这些特性,全局RAID引擎178可确定哪个RAID数据布局结构要利用存储装置176a~176m内的相应的一组存储装置。另外,全局RAID引擎178可基于存储装置176a~176m的特性动态地改变装置内冗余方案和装置间RAID数据布局。
图1示出根据一个实施例的能够描述特征的系统的一个例子。以下提供更多的细节。参照图1,提供网络结构100的部件的进一步的描述。
网络结构的部件
并且,如图所示,网络结构100包含通过网络180和190互连并与数据存储阵列120a~120b连接的客户机计算机系统110a~110c。网络180和190可包括包含无线连接、直接局域网络(LAN)连接、存储区域网(SAN)、广域网络(WAN)连接的各种技术,诸如因特网和路由器等。网络180和190可包含一个或多个LAN,这些LAN也可以是无线的。网络180和190还可包含远程直接存储器存取(RDMA)硬件和/或软件、传输控制协议/内部协议(TCP/IP)硬件和/或软件、路由器、中继器、交换机和/或网格等。可以在网络180和190中使用诸如以太网、光纤通道、以太网光纤通道(FCoE)和iSCSI等的协议。交换机140可利用与网络180和190相关的协议。网络190可与用于因特网160的诸如传送控制协议(TCP)和因特网协议(IP)或TCP/IP的一组通信协议连接。交换机150可以是TCP/IP交换机。
客户机计算机系统110a~110b可代表任意数量的静止或移动计算机,诸如桌面个人计算机(PC)、工作站、膝上型计算机、手持计算机、服务器、服务器农场、个人数字助理(PDA)和智能电话等。一般而言,客户机计算机系统110a~110b包括包含一个或多个处理器芯的一个或多个处理器。各处理器芯包含用于根据预定的通用指令集执行指令的电路。例如,可以选择x86指令集构架。作为替代方案,可以选择或任何其它通用指令集构架。处理器芯可对于数据和计算机程序指令访问高速缓存存储器子系统。高速缓存子系统可与包含随机存取存储器(RAM)和存储装置的存储器层次耦合。
客户机计算机系统内的各处理器芯和存储器层次可与网络接口连接。除了硬件部件以外,客户机计算机系统110a~110c中的每一个可包含存储于计算机层次内的基本操作系统(OS)。基本OS可代表各种特定操作系统中的任一种,诸如,例如, 或其它已知的操作系统。因而,基本OS可操作为向最终用户提供各种服务,并提供可操作为支持各种程序的执行的软件框架。另外,客户机计算机系统110a~110c中的每一个可包含用于支持高级虚拟机(VM)的管理程序。本领域技术人员公知,可在桌面和服务器中使用虚拟化,以完全或部分地从系统的硬件将诸如OS的软件去耦合。虚拟化可向最终用户提供多个OS在同一机器上运行的假象,每个OS具有其自身的资源,这种逻辑存储实体(例如,逻辑单元数量,LUN)与数据存储阵列120a~120b中的每一个内的存储装置176a~176m对应。
数据存储阵列120a~120b中的每一个可被用于在诸如客户机计算机系统110a~110c的不同的服务器之间共享数据。数据存储阵列120a~120b中的每一个包含用于数据存储的存储子系统170。存储子系统170可包含多个存储装置176a~176m。这些存储装置176a~176m中的每一个可以是SSD。控制器174可包含用于操作接收的读取/写入请求的逻辑。例如,可至少在控制器174中执行以上简要描述的算法。随机存取存储器(RAM)712可被用于批处理操作,诸如接收的写入请求。
基本OS132、文件系统134、任何OS驱动程序(未示出)和存储于存储器介质130中的其它软件可提供访问文件的功能和这些功能的管理。基本OS134和OS驱动程序可包含存储于计算机介质130上并且可通过处理器122执行以在与接收的请求对应中的存储子系统170中执行一个或多个存储器访问操作的程序指令。
数据存储阵列120a~120b中的每一个可使用网络接口124以与网络180连接。与客户机计算机系统110a~110c类似,在一个实施例中,可在网络适配器卡上包含网络接口124的功能。可通过使用硬件和软件实现网络接口124的功能。可在网络接口124的网络卡实现上包含随机存取存储器(RAM)和只读存储器(ROM)。可以使用一个或多个应用特定集成电路(ASIC)以提供网络接口124的功能。
在一个实施例中,可以开发寻求对于用户数据和相应的错误校正代码(ECC)信息最优化数据布局的数据存储模型。在一个实施例中,模型至少部分地基于存储系统内的存储装置的特性。例如,在利用固态存储技术的存储系统中,可以利用特定的装置的特性以开发用于存储系统的模型,这些模型又用于通知相应的数据存储配置算法。例如,如果使用的特定的存储装置表现随时间的可靠性的变化,那么可在动态改变数据存储配置时考虑这种特性。
一般而言,对于计算系统开发的任何模型是不完整的。在真实世界中经常存在太多的需要应对的变量以完全将给定的系统模型化。在一些情况下,可能能够开发不完整但仍然有价值的模型。如下面更完整地讨论的那样,描述基于下面的装置的特性将存储系统模型化的实施例。在各种实施例中,关于系统会如何表现基于某些预测执行数据存储配置的选择。基于装置的特性的理解,某些装置行为比其它行为更容易预测。但是,装置行为会随时间改变,并且,作为响应,选择的数据布局也会改变。如这里使用的那样,装置的特性可指的是装置的总体特性、诸如芯片或其它部件的装置的子部分的特性、擦除块的特性或者与装置有关的任何其它特性。
装置内冗余
现在转到图2,表示示出动态装置内冗余方案的一个实施例的一般化框图。本领域技术人员公知,几个装置内冗余方案中的一个可被选择,以减少存储装置中的潜在扇区错误的影响。术语“扇区”一般指的是HDD上的存储的基本单元,诸如盘上的给定轨道内的区段。这里,术语“扇区”也可指的是SSD上的分配的基本单元。
SSD内的分配单元可包含SSD内的一个或多个擦除块。参照图2,用户数据210可指的是由最终用户修改和访问的存储数据和装置间错误校正代码(ECC)数据。装置间ECC数据可以是从保持用户数据的其它存储装置上的一个或多个页产生的奇偶信息。例如,装置间ECC数据可以是在RAID数据布局结构中使用的奇偶信息。用户数据210可被存储于包含于存储装置176a~176k中的一个或多个内的一个或多个页内。在一个实施例中,存储装置176a~176k中的每一个是SSD。
SSD内的擦除块可包含几个页。如上所述,在一个实施例中,页可包含4KB的数据存储空间。擦除块可包含64页或256KB。在其它的实施例中,擦除块可大到1兆字节(MB),并包含256页。可以以提供足够大尺寸单元和相对较少的单元的方式选择分配单元尺寸,以减少分配单元的经费跟踪。在一个实施例中,一个或多个状态表可保持分配单元的状态(分配、空闲、擦除、错误)、磨损水平和在分配单元内出现的错误(可校正和/或不可校正)的数量的计数。在各种实施例中,分配单元的尺寸可被选择,以平衡给定装置可用的分配单元的数量与分配单元的维护经费。例如,在一个实施例中,分配单元的尺寸可被选择为SSD的总存储容量的百分之一的约1/100。页、擦除块和其它单元配置的数据存储空间的其它量是可能的,并且被设想。
当不可访问存储装置内的给定扇区或其它存储单元时,出现潜在扇区错误(LSE)。对于给定的扇区,可能不能完成读取或写入操作。另外,可存在不可校正错误校正代码(ECC)错误。LSE是在访问给定的扇区之前未被检测的错误。因此,事先存储于给定的扇区中的任何数据会丢失。在存储装置失效之后,当在RAID重构中遇到时,单个LSE可导致数据丢失。对于SSD,另一LSE的出现的可能性的增加可能源自以下统计中的至少一个:装置年龄、装置尺寸、访问速率、存储致密性和先前的可校正和不可校正错误的出现。为了防止给定存储装置内的LSE和数据丢失,可以在给定的存储装置内使用多个装置内冗余方案中的一个。
装置内冗余方案利用给定存储装置内的ECC信息,诸如奇偶信息。该装置内冗余方案及其ECC信息与给定装置对应,并且,可保持于给定装置内,但与可在内部由装置自身产生和保持的ECC相异。一般而言,装置的在内部产生和保持的ECC对于包含装置的系统是不可见的。包含于给定存储装置内的装置内ECC信息可被用于增加给定存储装置内的数据存储可靠性。该装置内ECC信息被添加到可包含于另一存储装置内的其它ECC信息,诸如在RAID数据布局结构中利用的奇偶信息。
高度有效的装置内冗余方案可充分地增强给定RAID数据布局的可靠性,以导致用于保持奇偶信息的装置的数量的减少。例如,如果存在附加的装置内冗余以保护各装置上的数据,那么双重奇偶RAID布局可被单个奇偶RAID布局替代。对于固定程度的存储效率,增加装置内冗余方案的冗余性会增加给定存储装置的可靠性。但是,以这种方式增加冗余性也可增加给定存储装置的输入/输出(I/O)性能的损失。
在一个实施例中,装置内冗余方案将装置分成用于存储用户数据的多组位置。例如,分割可以是与由条带250a~250c表示的RAID布局内的条带对应的装置内的一组位置。如数据210所示,用户数据或装置间RAID冗余信息可被存储于存储装置176a~176k中的每一个内的一个或多个页内。在各存储装置内,装置内错误恢复数据220可被存储于一个或多个页内。如这里使用的那样,装置内错误恢复数据220可被称为装置内冗余数据220。本领域技术人员公知,可通过在数据210内的信息的选择的位上执行功能,获得装置内冗余数据220。也可使用基于XOR的操作以导出奇偶信息以存储于装置内冗余数据中。装置内冗余方案的其它例子包含单奇偶检查(SPC)、最大距离可分离(MDS)擦除代码、交错奇偶检查代码(IPC)、混合SPC和MDS代码(MDS+SPC)和列对角奇偶(CDP)。方案根据计算数据220的方式关于传输可靠性和经费改变。除了上述的冗余信息以外,系统可被配置为计算装置上的区域的校验和值。例如,可在信息被写入到装置时计算校验和。该校验和被系统存储。当从装置读回信息时,系统可重新计算校验和并将其与原存储的值相比较。如果两个校验和不同,那么信息不被适当地读取,并且,系统可使用其它的方案以恢复数据。校验和功能的例子包括循环冗余检查(CRC)、MD5和SHA-1。
如条带250a~250c所示,在存储装置176a~176k中的每一个中,用于存储给定条带内的数据210的页的宽度或数量可以相同。但是,如条带250b~250c所示,在存储装置176a~176k中的每一个中,用于存储给定条带内的装置内冗余数据220的页的宽度或数量可以不相同。在一个实施例中,改变给定存储装置的特性或行为可至少部分地确定用于存储相应的装置内冗余数据220的宽度。例如,如上所述,快擦写单元经历程序干扰错误和读取干扰错误,其中,编程或读取页可干扰附近的页并在这些附近页附近导致错误。当存储装置老化并产生更多的错误时,相应的装置内冗余数据220的量会增加。例如,在用于条带250b的写入操作之前,存储装置176a~176k中的每一个的特性可被监视并被用于预测增加的错误比率。预测的存储装置176c和176j的错误的增加可被检测。作为响应,装置内冗余数据220的量对于存储装置176c和176j会增加。在图2的条带250a和250b的例子中,可对于条带250a和250b的存储装置176c和176j看到存储的保护数据的量。例如,现在,不是用单一奇偶保护存储装置176c和176j,而是可用双重奇偶或三重奇偶保护这些装置。注意,增加装置176c和176j的装置内保护的量不必需相应地增加同一条带的其它装置。而是,条带的数据可如希望的那样在各装置中具有不同的保护水平。
在各种实施例中,在选择的基础上,可出现给定的数据保护的水平的增加或减小。例如,在一个实施例中,保护的增加可仅对于被检测为产生更多的错误的存储装置,诸如以上的例子中的存储装置176c和176j出现。在另一实施例中,当存储装置176c和176j被检测为产生更多的错误时,保护的增加可对于存储装置176a~176k中的每一个出现。在一个实施例中,诸如装置176k的奇偶装置上的装置内保护的量的增加可能需要减少在条带内保护的数据的量。例如,增加存储于给定条带的奇偶装置上的装置内数据的量必须对于由条带内的数据减少由该装置存储的奇偶数据的量。如果该奇偶数据的量减少到小于保护条带内的所有数据所需要的量,那么,如果希望连续的奇偶保护,则必须减少带内的数据。作为减少存储于条带内的数据的量的替代方案,可对于存储奇偶数据选择不同的装置。各种选项是可能的,并且被设想。还应注意,虽然这里描述的图2和其它的示图可示出相异的奇偶装置(例如,176k),但是,在各种实施例中,奇偶可跨着多个装置分布,而不是存储于单个装置内。因此,为了便于讨论,图中的单独的奇偶装置的示图一般可被视为逻辑示图。
现在参照图3,表示用于调整数据存储子系统内的装置内保护的方法300的一个实施例。在上述的网络结构100和数据存储阵列120a~120b中体现的部件可一般根据方法300操作。本实施例中的步骤以依次的方式被表示。但是,一些步骤可以以与所示的次序不同的次序出现,一些步骤可同时被执行,一些步骤可与其它的步骤组合,并且,在另一实施例中可缺少一些步骤。
在块302中,确定用于在存储装置中存储用户数据的第一空间量。如上面关于数据210描述的那样,该用户数据可以是在最终用户应用中使用的数据或在RAID结构中使用的装置间奇偶信息。该第一空间量可包含上述的存储装置内的一个或多个页。在一个实施例中,存储控制器174内的全局RAID引擎178从存储装置176a~176m中的每一个接收行为统计。对于包含存储装置176a~176m中的两个或更多个的给定装置组,全局RAID引擎178可确定RAID数据布局和装置内冗余的初始量,以在两个或更多个存储装置中的每一个内保持。在块304中,RAID引擎178可确定用于在存储装置内存储相应的装置内保护数据的第二空间量。该第二空间量可包含存储装置内的一个或多个页。装置内保护数据可与上述的装置内冗余数据220对应。
在块306中,数据被写入包含于给定装置组内的各存储装置内的第一空间量中。在一个实施例中,用户数据和装置间奇偶信息作为单个RAID条带跨着包含于给定装置内的多个存储装置被写入。重新参照图2,用于被写入的相应的数据的宽度在各存储装置内相同。在块308中,通过ECC算法、基于XOR的算法或任何其它适当的算法产生装置内保护数据。另外,系统可产生校验和以帮助识别还没有适当地检索的数据。在块310中,产生的装置内保护数据被写入存储装置中的第二空间量中。
在块312中,RAID引擎178可监视一个或多个存储装置的行为。在一个实施例中,RAID引擎178可包含相应的存储装置的模型,并且从存储装置接收行为统计以输入到模型。模型可通过利用存储装置的已知的特性预测存储装置的行为。例如,模型可预测给定的存储装置的即将到来的增加的错误率。如果RAID引擎178检测影响可靠性的给定的存储装置的特性(条件块314),那么在块316中,RAID引擎可调整用于存储数据和相应装置内冗余数据的第一空间和第二空间量。例如,RAID引擎可监视上述的统计,诸如至少装置年龄、存取速率和错误率。重新参照图2,RAID引擎178可检测存储装置176c和176j具有错误数量的增加。作为替代方案,RAID引擎可预测存储装置176c和176j的错误的数量的增加。因此,在写入第二条带250b之前,RAID引擎178可调整用于在存储装置176a~176k中的每一个中存储数据210和数据220的页的数量。类似地,RAID引擎178可检测存储装置176b具有更低的可靠性。因此,在写入第三条带250c之前,RAID引擎178可重新调整用于在存储装置176a~176k中的每一个中存储数据210和数据220的页的数量。
监视存储装置特性
现在参照图4,表示存储子系统的一个实施例的一般化框图。一个或多个存储装置176a~176m中的每一个可在一个或多个装置组173a~173m中的一个中被分割。也可存在具有其它装置的其它装置组。用于各存储装置的一个或多个相应的操作队列和状态表可包含于装置单元400a~400w中的一个中。这些装置单元可存储于RAM172中。可对于装置组173a~173m中的每一个包括相应的RAID引擎178a~178m。各RAID引擎178可包含跟踪包含于相应装置组内的存储装置中的每一个的统计的监视器410。数据布局逻辑420可确定在相应的存储装置内对于用户数据、装置间冗余数据和装置内冗余数据分配的空间量。存储控制器174可包含用于执行以下的任务中的至少一个的其它控制逻辑430:磨损水准测量、废物收集、I/O调度、用于到来和外出的信息包的去复制和协议转换。
现在转到图5,表示装置单元的一个实施例的一般化框图。装置单元可包含装置队列510和表520。装置队列510可包含读取队列512、写入队列514和诸如其它操作队列516的一个或多个其它队列。各队列可包含用于存储一个或多个相应的请求530a~530d的多个条目。例如,用于相应的SSD的装置单元可包含用于至少存储读取请求、写入请求、修整请求和擦除请求等的队列。表520可包含一个或多个状态表522a~522b,每个包含用于存储状态数据或统计的多个条目530。还应注意,虽然队列和表在该图和其它的图中被示为包括特定数量的条目,但是,条目本身未必相互对应。另外,队列、表和条目的数量可能与图所示的情况不同并且可相互不同。
现在转到图6,表示示出与给定装置对应的状态表的一个实施例的一般化框图。在一个实施例中,这种表可包含与诸如SSD的给定存储装置的状态、错误和磨损水平信息对应的数据。相应的RAID引擎能够访问该信息,这允许RAID引擎动态地改变对于数据存储分配的空间和用于装置间保护和装置内保护的方案。在一个实施例中,信息可至少包含装置年龄602、错误率604、在装置606上检测的错误的总数、可恢复错误的数量608、不可恢复错误的数量610、装置的访问速率612、存储的数据的年龄614和用于分配空间的一个或多个分配状态616a~616n。分配状态可包含填充、空置和错误等。
灵活RAID布局
现在转到图7,表示示出灵活RAID数据布局结构的一个实施例的一般化框图。RAID引擎可确定用于存储装置176a~176k的保护水平。例如,RAID引擎可确定对于存储装置176a~176k利用RAID双重奇偶。装置间冗余数据240可代表从相应的用户数据产生的RAID双重奇偶值。在一个实施例中,存储装置176j和176k可存储双重奇偶信息。应当注意,RAID奇偶保护的其它水平是可能的并被设想。另外,在其它的实施例中,双重奇偶信息的存储可在存储装置之间旋转,而不是存储于各RAID条带的存储装置176j和176k内。为了便于解释和描述,双重奇偶信息的存储被示为存储于存储装置176j和176k内。
现在参照图8,表示示出灵活RAID数据布局结构的另一实施例的一般化框图。与图7所示的例子类似,可对于存储装置176a~176k使用双重奇偶。虽然在本例子中描述RAID双重奇偶,但是,可以选择RAID数据布局结构中的任意冗余量。
在操作中,RAID引擎178可监视存储装置176a~176k的特性并确定装置表现比初始或其它给定可靠性水平高的可靠性水平。作为响应,RAID引擎178可将RAID保护从RAID双重奇偶变为RAID单一奇偶。在其它的RAID数据布局结构中,可以使用支持的冗余量的另一种减少。在其它的实施例中,可由存储控制器174内的其它的逻辑执行存储装置176a~176k的监视和保护水平的改变。
继续以上的例子,可以只产生单一奇偶信息,并对于在给定的RAID条带上执行的随后的写入操作存储它。例如,在改变支持冗余量的变化之后,可以不在用于写入操作的随后的RAID条带中使用存储装置176k。另外,存储于存储装置176k中的数据可被无效化,由此释放存储。然后可对于其它的用途重新分配与存储装置176k中的释放数据对应的页。减少奇偶保护的量并释放以前对于存储奇偶保护数据信号的空间可被称为“奇偶击碎”。另外,在存储装置176k是SSD的实施例中,可在在条带250a内重新写入页之前在存储装置176k内出现一个或多个擦除操作。
继续奇偶击碎的以上的例子,在奇偶击碎之后存储于条带250a内的存储装置176k的重新分配页内的数据可保持用户数据或不与条带250a对应的其它RAID条带的相应的RAID单一奇偶信息。例如,存储于条带250a内的存储装置176a~176j中的数据可与在奇偶击碎之前执行的一个或多个写入操作对应。存储于条带250a中的存储装置176k中的数据可与在奇偶击碎之后执行的一个或多个写入操作对应。类似地,存储于条带250b内的存储装置176a~176j中的数据可与在奇偶击碎之前执行的一个或多个写入操作对应。条带250b内的存储装置176k中的页可被释放,在以后被擦除,并且在以后通过与在改变支持冗余量之后执行的一个或多个写入操作对应的数据被重新写入。应当注意,当跨着存储装置旋转冗余信息时,该方案期望甚至会更有效。在这种实施例中,通过击碎释放的空间类似地跨着存储装置分布。
重新参照图8,在条带250c内的存储装置176k中表示的去分配的页代表在奇偶击碎之前事先存储了RAID双重奇偶信息的存储位置。但是,现在,这些页是无效的,并且还没有被重新分配。在以上的例子中,SSD的特定的特性确定在存储装置176k中释放和重新分配页的方式和定时。这些特性的例子至少包括在重新编程(重新写入)一个或多个页之前擦除整个擦除块。从图8可以看出,当奇偶被击碎时,不必击碎整个装置。而是,可以如希望的那样对于各单个条带击碎奇偶。类似地,可通过向条带添加存储于附加的装置上的保护数据增加条带的奇偶保护。
现在参照图9,表示用于动态确定RAID布局的方法的一个实施例。在上述的网络结构100和数据存储阵列120a~120b中体现的部件可一般根据方法900操作。在图9中,表示两个处理910和920。处理中的每一个可同时或者以给定的次序操作。并且,本实施例中的步骤以依次的方式被表示。但是,一些步骤可以以与所示的次序不同的次序出现,一些步骤可同时被执行,一些步骤可与其它的步骤组合,并且,在另一实施例中可缺少一些步骤。块910示出存储控制系统监视系统内的存储装置的特性和行为的处理(块912)。例如,可以观察和/或记录诸如图6描述的特性。如果检测特定的条件,诸如可靠性的变化(决定块914),那么可改变用于存储数据的保护的量(块916)。例如,当给定的装置的年龄相对年轻时,装置的可靠性可能是未知的(例如,装置可能在相对年轻的年龄上遭受“夭折”和失败)。因此,可以对于每个RAID条带使用一个或多个额外存储装置,以存储奇偶信息。在以后,当时间证明装置可靠时,该额外保护可被去除。在各种实施例中,可对于装置保持关于错误率的特性。例如,关于可校正和/或不可校正错误的特性可被保持和使用,以关于给定装置的可靠性做出决定。基于该信息,存储控制器可动态改变装置或条带的各种保护水平。
图9的块920一般示出在要分配存储的条带或其它部分时(决定块922)时可进行关于用于数据的布局和保护水平的决定(块924)的处理。注意,可在此时执行块910的处理。作为替代方案,保护水平可能由处理910确定并被存储。块924的确定可然后基于存储的数据。在一个实施例中,一旦确定了给定的布局,就可从一组装置选择用于布局的特定的装置(块925)。例如,在一个实施例中,一组20个装置可用。如果确定5+2的布局,那么可从20的组选择使用任何七个装置。另外,注意,具有选择的5+2布局的随后的写入不需要使用相同的7个装置。在确定布局、保护水平和用于条带的装置之后,条带被写入(块926)。
在各种实施例中,可以利用RUSH算法以确定给定条带的数据和冗余信息驻留于哪些装置上。例如,RUSH算法可被用于选择特定的装置,以对于存储装置176a~176k中的给定的条带利用8+2RAID布局。一般而言,如这里使用的那样,对于给定的数据条带,M+N布局可一般描述包括M个数据装置和N个奇偶装置的布局。另外,如上所述,奇偶可跨着装置分布而不是完全位于特定的装置内。因此,8+2布局可包含跨着10个装置条带化的数据和奇偶-其中的8个装置存储数据,2个装置存储奇偶。在随后的情况下,可以选择12+2布局。以这种方式,可在要写入写入(例如,条带)时动态确定希望的布局和保护特性。在一个实施例中,存储装置176a~176k可包含多于10的存储装置,诸如30、50或更多个存储装置。但是,对于具有8+2布局的条带,只使用存储装置中的10个。注意,可以选择装置中的任意的10个,并且,可对于选择用于存储条带的10个装置使用任何适当的算法。例如,可以使用CRUSH算法,以选择对于给定的8+2个RAID布局利用存储装置176a~176k中的哪10个。
在存储装置176a~176k的选择的8+2RAID布局的一个例子中,可以使用存储装置中的2个以存储诸如奇偶信息的错误校正代码(ECC)信息。该信息可被用于执行重构读取请求。重新参照图8,在本例子中,可以选择存储装置176j和176k以存储RAID双重奇偶信息。并且,奇偶信息可以以旋转的方式存储于包含于RAID阵列中的存储装置176a~176k中的每一个之间而不是一致地存储于相同的存储装置中。为了便于解释和描述,存储装置176j和176k被描述为存储RAID双重奇偶。
在块926中,在执行写入操作时,可以跨着包含于RAID阵列中的多个存储装置中将元数据、用户数据、装置内奇偶信息和装置间奇偶信息写入为RAID条带。在块912中,RAID引擎178可监视RAID阵列中的一个或多个存储装置的行为。在一个实施例中,如图4所示,RAID引擎178可包含监视器410和数据布局逻辑420。RAID引擎178可至少监视给定的存储装置的年龄、错误的数量和类型、自数据的最后的分配的检测配置变化、给定数据的年龄和RAID阵列中的存储空间的当前使用等。
由RAID引擎178监视的数据可被存储于RAM172中,诸如存储于图4所示的装置单元400a~400w中的一个中。诸如图5和图6所示的例子,可以使用表以存储该数据。包含于相应的RAID引擎中的逻辑可通过监视存储装置的更新的统计检测和预测存储装置的行为。例如,模型可预测给定的存储装置的即将到来的增加的错误率。
如果检测到存储装置的增加的可靠性(条件块908),那么在块910中,RAID引擎可降低系统内的数据保护水平。例如,在一个实施例中,可以减少存储于存储子系统中的奇偶信息的量。关于以上的例子,RAID引擎可对于相应的8+2RAID阵列将RAID双重奇偶减少到RAID单一奇偶,从而将其转换成8+1RAID阵列。在另一例子中,给定的RAID阵列可在块916之前在RAID结构中利用N级冗余量或奇偶。在块916中,RAID引擎可确定利用(N-m)级冗余量,其中,N>1且1≤m≤N。因此,在给定的RAID条带的随后的写入操作中,将存在少m个的存储装置被写入到给定的RAID条带中。
为了减少系统内的数据保护的水平,RAID引擎(或另一部件)可执行上述的奇偶击碎。随后,存储控制器174可重新分配作为击碎操作的结果释放的那些页以将其用于随后的写入操作中。
当存储装置176a~176k中的每一个均老化并且填充数据时,如上所述,可以从RAID阵列去除额外的奇偶信息。保持元数据、用户数据、相应的装置内冗余信息和装置间冗余信息中的一些。关于以上具有8+2RAID阵列的例子,保持存储于存储装置176a~176j中的信息。但是,可从RAID阵列去除额外的装置间冗余信息或额外奇偶信息。例如,可从RAID条带去除存储于存储装置176k中的额外奇偶信息。
保持的信息,诸如以上的例子中的存储于存储装置176a~176j中的信息,可保持在适当的位置。可对于随后的写入操作重新使用和重新分配存储额外奇偶信息的存储空间,诸如以上的例子中的存储装置176k中的相应的页。在一个实施例中,各新的分配接收新的虚拟地址。各新分配可具有任意给定的尺寸、任意给定的对准或几何形式,并且可配合于任何给定的存储空间(虚拟或物理)中。在一个实施例中,存储装置176a~176k中的每一个和存储装置内的各分配页具有包含识别信息的标题。该识别信息可允许在不改变给定的配置的情况下对于释放的额外奇偶信息重新用户存储空间。
在存储装置176a~176k中的一个或多个是SSD的实施例中,擦除块在将擦除块内的一个或多个页重新编程之前被擦除。因此,在存储装置176k是SSD的实施例中,相应的擦除块在将存储装置176k中的释放页重新编程之前被擦除。关于以上的具有原8+2RAID阵列的例子,一个或多个擦除块在用数据210将页重新编程之前在条带250a~250b内的存储装置176k中被擦除。原8+2RAID阵列现在是8+1RAID阵列,使得存储装置176j对于在奇偶击碎之前写入的RAID条带提供单一奇偶信息。
本领域技术人员公知,在给定存储装置的读取或写入失效的过程中,可从相应的RAID条带中的支持的装置间奇偶信息重构数据。重构的数据可被写入到存储装置。但是,如果重构的数据无法被写入到存储装置,那么所有的存储于存储装置上的数据会从相应的奇偶信息重建。重建数据可被重新定位于另一位置。通过快擦写存储器,快擦写翻译层(FTL)重新映射数据的存储位置。另外,通过快擦写存储器,数据的重新定位包含在将擦除块内的相应的页重新编程之前擦除整个擦除块。相对于页以擦除块的粒度保持映射表允许重新映射表更紧凑。并且,在重新定位过程中,可以使用在奇偶击碎中释放的额外页。
偏移奇偶
现在转到图10,表示示出灵活RAID数据布局结构的又一实施例的一般化框图。与图8所示的一般化框图类似,可以使用灵活RAID数据布局结构。存储装置176a~176k包含跨着多个存储装置布局的多个RAID条带。虽然存储装置176a~176k中的每一个包含多个页,但是,为了便于解释,只标注页1010和页1020。在表示的例子中,选择双重奇偶RAID数据布局,其中,存储装置176j和176k存储双重奇偶信息。
存储装置176a~176k中的页中的每一个存储特定类型的数据。一些页存储用户数据210和相应的产生的装置间奇偶信息240。其它的页存储相应的产生的装置内奇偶信息220。又一些页存储元数据242。元数据242可包含页标题信息、RAID条带识别信息和一个或多个RAID条带的记录数据等。除了装置间奇偶保护和装置内奇偶保护以外,存储装置176a~176k中的页中的每一个可包含诸如存储于各给定页内的校验和的附加的保护。在各种实施例中,各条带开始时的单个元数据页可源自其它的条带标题。作为替代方案,该页可以在奇偶碎片中处于不同的偏移上,因此,可以通过装置间奇偶保护该数据。“碎片”代表装置的一部分。因此,奇偶碎片指的是装置的存储奇偶数据的部分。
物理层
在各种实施例中,这里描述的系统可包括使得系统的其它元件与存储装置通信的物理层。例如,调度逻辑、RAID逻辑和其它逻辑可通过包含软件和/或硬件的任意适当的组合的物理层与存储装置通信。一般地,物理层执行包括提供对于永久存储的访问和执行与数据存储的完整性有关的功能的各种功能。
图11A示出500GB装置的假定装置布局的一个实施例。在各种实施例中,这里描述的存储装置可通过装置的开始处的分区表1101和装置终了处的分区表的复制被格式化。另外,装置标题1103可被存储第一块和最后的块中。例如,在基于快擦写的存储装置中,装置标题可被存储于第一擦除块和最后的擦除块中。如上所述,擦除块是一般处于256KB~1MB的范围中的快擦写结构。第一擦除块中的附加的未使用空间可被保留(填充1105)。可对于写入记录和诊断信息1107保留各装置中的第二擦除块。其间的擦除块的剩余部分被分成多个擦除块的分配单元(AU)1109。AU尺寸可被选择,因此,为了得到良好的分配粒度,对于每个装置可存在合理数量的AU。在一个实施例中,在装置上可大概存在10000个AU,以允许在足够大的单元中分配以避免间接费用,但为了便于跟踪,单元的数量不能太多。可在AU状态表中保持AU的状态(分配/释放/擦除/坏)的跟踪。可在磨损水平表中保持AU的磨损水平,并且,可在AU错误表中保持错误的计数。
在各种实施例中,物理层跨着一组装置(可处于不同的节点上)在每个装置包含一个片段碎片的片段中分配空间。图11B示出片段和一个可能的片段布局中的该片段的各种可识别部分的一个实施例。还包括了描述存储在装置中的数据类型的图例。在表示的实施例中,单个片段被示为存储于多个器件中。示出的是数据装置Data0~DataN和奇偶装置ParityP和ParityQ。在一个实施例中,各片段碎片在装置上包含一个或多个分配单元,使得碎片的尺寸在各装置上相等。片段碎片1123被调出,以示出片段碎片。在图11B中还示出在一个实施例中与页对应的I/O读取尺寸1127。还示出可包含用于I/O碎片的页奇偶的一个或多个页的I/O奇偶大块1129。
在一个实施例中,各片段将具有其自身的可包含以下参数中的一个或多个的几何:
(1)RAID水平-用于与片段中的装置保护相交的RAID水平。它可确定镜像、奇偶或ECCRAID以及片段碎片包含多少奇偶。
(2)装置布局I/O碎片尺寸-它代表用于在写入中跨着各装置条带的尺寸。它一般处于256KB~1MB的范围中,并且可能是各装置上的擦除块尺寸的倍数。出于解释的目的,图11B调出I/O碎片尺寸1125。
(3)I/O读取尺寸-这是逻辑读取尺寸。各I/O碎片可格式化为一系列的逻辑页。各页又可包含标题和页中的数据的校验和。当读取被发出时,它将用于一个或多个逻辑页,并且,可通过校验和确证各页中的数据。
(4)I/O碎片RAID水平-I/O碎片具有碎片内奇偶,以处理在重建中发现的潜在错误。该参数确定对于碎片内保护使用什么类型的奇偶并由此确定保持碎片内奇偶的多少复制。
(5)I/O奇偶大块-在各种实施例中,存储装置可在页的基础上完成ECC。因此,如果看到错误,那么可能指示整个物理页的失败。I/O奇偶大块是片段中的各装置上的物理页尺寸的最小公倍数,并且,通过剥掉I/O奇偶大块或I/O读取尺寸中的较大者中的I/O碎片,计算碎片内奇偶。可包括页奇偶的一个或多个页。在各种实施例中,在失败的校验和确证的情况下,该奇偶可被用于重建数据。
在各种实施例中,当写入各新片段时,选择片段的RAID几何。RAID几何的选择可基于诸如当前的活动节点和装置的组和片段中的数据的类型的因素。例如,如果10个节点或装置是可用的,那么可选择(8+2)RAID6几何,并且,跨着节点剥离以耐受两个装置或节点的片段失败。如果节点失败,那么下一片段可切换到(7+2)RAID6几何。在该片段内,片段碎片中的一些片段将包含数据并且一些包含ECC(例如,奇偶)。
在一个实施例中,存在五种类型的片段。这些片段中的三种与AU状态表、AU错误表和磨损水平表对应。在一些实施例中,出于附加的保护,这三种片段可被镜像化。除了这三种片段,存在也可通过镜像另外保护的元数据片段。最后,存在保持客户机块和记录信息的数据片段。记录信息包含与片段中的客户机块相关的更新信息。如具有奇偶P和奇偶Q碎片的图11B所示,数据片段可能通过RAID6被保护。此外,片段表保持为处于在开始被来自所有片段碎片的标题的信息占据的存储器数据结构中。在一些实施例中,表可在所有节点上被完全高速缓冲,因此,任何节点可将存储访问翻译成物理地址。但是,在其它的实施例中,可以使用对象存储模型,这里,各节点可具有可取得逻辑基准并识别存储数据的片段布局节点的片段表。然后,请求会被转送到节点以识别节点上的确切的存储位置。图11B还示出识别占据片段中的明显的量的空间的任何(体积、快照)组合的片段尾部数据。当快照被去除时,数据净化器可帮助基于该数据识别用于废物收集的片段。
在一个实施例中,在片段中,写入的基本单元是作为装置中的每一个上的一个I/O碎片的segio。segio中的各逻辑页通过包含页的校验和(可被称为“中间”校验和)的页标题被格式化,因此,数据的实际页尺寸比一个页稍大。对于片段的奇偶碎片中的页,页标题较小,使得数据页中的页校验和被奇偶页保护。各I/O碎片的最后的页是重新具有较小的标题并且针对页失败保护擦除块中的所有校验和和页数据的奇偶页。页尺寸在这里被称为可以是一个或多个物理快擦写页的I/O读取尺寸。对于一些片段,可以使用比物理页小的读取尺寸。对于查找表信息的读取可被指数驱动并且数据的较小的部分可被读取同时仍获得希望的数据的元数据,可能出现这一点。在这种情况下,读取物理页的一半意味着用更少的数据完全占用I/O总线(和网络)并确证(例如,校验和)更少的数据。为了支持比物理页小的读取尺寸,实施例可包括擦除块终了处的多个奇偶页,使得所有奇偶页的总尺寸等于快擦写页尺寸。
随着擦除块的磨损水平增加,错误的可能性增加。除了跟踪磨损水平,可关于以识别的错误的较高概率在擦除块上看到错误的频率保持观察数据。对于一些擦除块,可决定保持擦除块终了处的双重或三重错误校正奇偶而不是单个RAID5奇偶。在这种情况下,segio的数据负载可因此减少。仅需要减少segio内的不良擦除块而不是所有的擦除块。擦除块中的页标题可被用于识别哪些页是奇偶以及哪些是数据。
不管什么时候从存储器读取页,都可通过使用页校验和确证内容。如果确证失败,那么可尝试使用内部装置奇偶的数据的重建。如果失败,那么可使用用于片段的交叉装置ECC以重建数据。
在数据片段中,负载区域可被分成两个区域。存在格式化为可包含与存储的客户机块有关的更新的记录数据的页。负载区域的剩余部分可包含格式化为客户机块的页。客户机块数据可以以压缩的形式被存储。大量的压缩算法是可能的,并且被设想。另外,在各种实施例中,可对于产生校验和使用高级加密标准指令。另外,可存在用于驻留于数据的同一页中并包含读取客户机块所需要的信息的客户机块的标题,包括用于压缩数据的算法的识别。废物收集可利用客户机块标题和segio中的记录条目。另外,客户机块可具有可以是用于去复制并用于检查解压缩数据的正确性的未压缩数据的校验和的数据散列。
在一些实施例中,片段和segio可具有用于它们排序的单调增加的ID序号。作为写入segio的一部分,逻辑层可记录对于先前的刷新的依赖性。在开始,物理层可构建片段和segio的排序列表,并且,如果segio依赖于另一未完全segio,那么它可被退回并且不被视为被写入。
磨损水平表
各装置的磨损水平表(WLT)可被存储于各装置本地的片段中。该信息也可被存储于各片段碎片的标题中。在一个实施例中,磨损信息是代表擦除和重新使用分配单元的次数的整数。由于磨损信息可能不准确,因此,当存在一定量的活动时或者当系统空闲合理的周期时,可以执行对于装置的表的刷新。WLT在分配新WLT片段时可也负责清洗旧的WLT片段。为了增加保护的额外层,旧的复制可在释放之前被保持。例如,表管理器可确保随时保持WLT目录的先前的擦除块和当前的擦除块。当它分配新的片段时,在它被写入到新的片段的第二擦除块中之前,它不会释放旧的片段。
AU状态表
AU状态表(AST)跟踪各AU的状态。这些状态包含释放、分配、擦除和不良。AST可被存储于装置上的片段中。将状态变为分配或释放可以是同步的更新,而将状态变为不良或擦除可以是异步的更新。该表一般可足够小,并具有可在NVRAM中记录更新的足够的更新。AST在分配新的AST段时可负责清洗旧的AST段。由于可通过扫描驱动上的各AU的第一块完全恢复AST,因此,不需要保持AST的旧的复制。
AU错误表
AU错误表(AET)可被用于跟踪各AU内的可恢复错误和不可恢复错误的数量。AET被存储于装置上的片段上,并且,各字段可以是二字节整数。通过每AU四个字节,整个表可相对较小。
现在参照图11C,表示示出具有不同的页类型的数据存储配置的一个实施例的一般化框图。在表示的实施例中,虽然其它的类型是可能的并且被设想,但表示三个页类型。表示的页类型包括包含元数据1150的页1110、包含用户数据1160的页1120和包含奇偶信息1170(装置间或装置内)的页1130。页1110~1130中的每一个包含可包含标题和识别信息的元数据1140。另外,页1110~1130中的每一个可包含页内错误恢复数据1142,诸如相应的校验和或其它错误检测和/或校正代码。该校验和值可对于存储于给定装置组中的存储装置176a~176k中的数据提供更多的保护。
并且,页1130可包含页间错误恢复数据1144。数据1144可以是从存储于其它存储装置中的页内数据1142得出的ECC信息。例如,重新参照图10,存储装置间奇偶信息240的存储装置176j内的各页也可存储页间错误恢复数据1144。数据1144可以是从存储于存储装置176a~176i中的一个或多个中的页内错误恢复数据1142产生的奇偶、校验和或其它值。在一个实施例中,数据1144是从存储于其它的存储装置中的一个或多个其它校验和值1142产生的校验和值。为了使存储装置176j中的给定页中的数据1144与存储装置176a~176i中的一个或多个中的相应的页中的数据1142对准,可以向相应的页添加填充1146。
在一个实施例中,最终用户应用在扇区边界上执行I/O操作,其中,扇区是用于HDD的512字节。为了增加额外的保护,可以增加8字节校验和以形成520字节扇区。在各种实施例中,可在基于快擦写存储器的系统中使用压缩和重新映射,以允许在字节边界上而不是扇区边界上配置最终用户数据。另外,校验和(8字节、4字节或其它)可在标题之后或者在用户数据之前被放在页内,它可被压缩。在页1110~1130中的每一个中表示该放置。
当最终用户应用读取512字节扇区时,在一个实施例中尺寸可以为2KB~8KB的相应的页通过页开始处的8字节校验和具有额外的保护。在各种实施例中,页可能对于2扇区尺寸的非通电不能被格式化。如页1110~1120所示,校验和可以偏移几个字节进入页中。该偏移允许诸如页1130的奇偶页存储覆盖奇偶页的校验和和用于保护其它页的校验和的ECC。
对于另一保护水平,当计算校验和值时,可以包括数据位置信息。页1110~1130中的每一个中的数据1142可包含该信息。该信息可包含逻辑地址和物理地址。也可在该信息中包括扇区号码、数据大块和偏移号码、轨道号码和面数量等。
替代性几何
现在转到图12,表示示出混合RAID数据布局1200的一个实施例的一般化框图。虽然可以选择任何数量的分区,但是,表示三个分区。各分区与诸如图1所示的装置组713a~173b的单独的装置组对应。各分区包含多个存储装置。在一个实施例中,诸如CRUSH算法的算法可被利用,以选择在RAID数据布局结构中使用哪些装置以用于数据存储。
在表示的例子中,表示L+1RAID阵列、M+1RAID阵列和N+1RAID阵列。在各种实施例中,L、M和N可以不同、相同或者为两者的组合。例如,在分区1中表示RAID阵列1210。其它的存储装置1212是分区1中的其它RAID阵列的候选。类似地,RAID阵列1220示出分区2中的给定RAID阵列。其它的存储装置1222是分区2中的其它RAID阵列的候选。RAID阵列1230示出分区3中的给定RAID阵列。其它的存储装置1232是分区3中的其它RAID阵列的候选。
在RAID阵列1210、1220和1230中的每一个内,存储装置P1在各RAID阵列内提供RAID单一奇偶保护。存储装置D1~DN在各RAID阵列内存储用户数据。并且,用户数据和RAID单个奇偶信息的存储可在存储D1~DN与P1之间旋转。但是,用户数据的存储被描述为存储于装置D1~DN中。类似地,为了便于解释和描述,RAID单一奇偶信息的存储被描述为存储于装置P1中。
三个分区中的每一个之中的一个或多个存储装置可被选择,以对于一个或多个给定的RAID阵列提供附加的支持的冗余量。例如,分区3中的存储装置Q1可与RAID阵列1210、1220和1230中的每一个组合。存储装置Q1可对于RAID阵列1210、1220和1230中的每一个提供RAID双重奇偶信息。当条带被写入RAID阵列1210、1220或1230中的一个时,产生并存储该附加的奇偶信息。并且,该附加奇偶信息可覆盖阵列1210、1220和1230中的每一个中的条带。因此,存储RAID奇偶信息的存储装置的数量与存储装置的总数的比较低。例如,如果分区的每一个使用N+2个RAID阵列,那么存储RAID奇偶信息的存储装置的数量与存储装置的总数的比为3(2)/3(N+2))或2/(N+2)。相反,混合RAID布局1200的比为(3+1)/3(N+1))或4/(3(N+1))。
能够通过增加用于存储用户数据的存储装置的数量减小以上的比率。例如,不是利用存储装置Q1,而是分区中的每一个可利用3N+2RAID阵列。在这种情况下,存储RAID奇偶信息的存储装置的数量与存储装置的总数的比为2/(3N+2)。但是,在重构读取操作中,(3N+1)存储装置对于单一装置失败接收重构读取请求。相反,对于混合RAID布局1200,只有N个存储装置对于单一装置失败接收重构读取请求。
注意,三个分区中的每一个可利用不同的RAID数据布局结构。给定RAID数据布局结构的选择可基于存储RAID奇偶信息的存储装置的数量与存储装置的总数的给定比值。另外,选择可基于可在重构中接收重构读取请求的存储装置的给定数量。例如,RAID阵列1210、1220和1230可分别包含诸如L+a、M+b和N+c的几何。
另外,可基于以上的条件选择诸如存储装置Q1的一个或多个存储装置,以对于分区内的RAID阵列中的一个或多个提供附加的支持冗余量。在三个分区包含以上的RAID阵列并且数量Q的存储装置对于RAID阵列中的每一个提供额外的保护的例子中,存储RAID奇偶信息的存储装置的数量与存储装置的总数的比是(a+b+c+Q)/(L+a+M+b+N+c+Q)。对于单一装置失败,对于以上的例子中的分区1~3,用于接收重构读取请求的存储装置的数量是分别是L、M和N。注意,以上的讨论一般描述图12中的3个相异的分区。在这种实施例中,这种将给定的布局限于特定的装置组的“硬”分区的类型可保证一个分区中的重构读取不与另一分区中冲突。但是,在其它的实施例中,分区可没有上面描述的那样硬。而是,给定装置的池,可从装置的任一个选择布局。例如,将装置视为一个大的池,能够配置诸如(L+1、M+1、N+1)+1的布局。因此,存在几何重叠并且重构读取会冲突的机会。如果L、M和N相对于池的尺寸较小,那么重构读取相对于正常读取的百分比可保持较低。
现在参照图13,表示用于在数据存储子系统中选择替代性RAID几何的方法1300的一个实施例中。在上述的网络结构100和数据存储阵列120a~120b中体现的部件可一般根据方法1300操作。本实施例中的步骤以依次的方式被表示。但是,一些步骤可以以与所示的次序不同的次序出现,一些步骤可同时被执行,一些步骤可与其它的步骤组合,并且,在另一实施例中可缺少一些步骤。
在块1302中,RAID引擎178或存储控制器174中的其它逻辑确定使用给定数量的装置以在存储子系统的各分区内的RAID阵列中储存用户数据。然后可使用RUSH或其它算法以选择使用哪些装置。在一个实施例中,各分区利用相同数量的存储装置。在其它的实施例中,各分区可利用不同的唯一数量的存储装置以存储用户数据。在块1304中,存储控制器174可确定支持用于存储子系统的各分区内的相应的装置间错误恢复(奇偶)数据的存储装置的数量。并且,各分区可利用相同数量或不同唯一数量的用于存储RAID奇偶信息的存储装置。
在块1306中,存储控制器可确定支持数量Q的存储装置跨着子系统的分区存储额外装置间错误恢复(奇偶)数据。在块1308中,可在选择的存储装置中写入用户数据和相应的RAID奇偶数据。重新参照图12,当写入诸如分区1中的RAID阵列1210的给定的RAID阵列时,可产生并在分区3中的存储装置Q1中存储奇偶信息的一个或多个位。
如果存储控制器174检测用于在给定的分区中执行读取重构的条件(条件块1310),并且如果给定的分区具有足够数量的保持RAID奇偶信息的存储装置以处理大量的不可用的存储装置(条件块1312),那么在块1314中,通过给定的分区内的一个或多个相应的存储装置执行重构读取操作。条件可包括:由于装置失败或者装置在低于给定的性能水平下操作,给定的RAID阵列内的存储装置不可用。给定的RAID阵列能够用给定分区内的存储RAID奇偶信息的存储装置的数量处理最大数量的不可用存储装置。例如,如果以上的例子中的分区1中的RAID阵列1210是L+aRAID阵列,那么,当k个存储装置不可用时,RAID阵列1210能够仅通过使用分区1内的存储装置执行读取重构,这里,1<=k<=a。
如果给定的分区不具有足够的保持RAID阵列信息的数量的存储以处理大量的不可用的存储装置(条件块1312),并且,如果存在足够的数量的Q存储装置以处理大量的不可用的存储装置(条件块1316),那么在块1318中,通过一个或多个相应的Q存储装置执行重构读取操作。可在读取重构中访问存储用户数据的其它分区中的一个或多个存储装置。这些存储装置的选择可基于存储于一个或多个Q存储装置中的奇偶信息的导出的方式。例如,重新参照图12,可在读取重构中访问分区2中的存储装置D2,原因是可以使用该存储装置以产生存储于存储装置Q1中的相应的RAID奇偶信息。如果不存在足够的数量的Q存储装置以处理大量的不可用的存储装置(条件块1316),那么在块1320中,相应的用户数据可从另一来源被读取或者被视为丢失。
注意,上述的实施例可包含软件。在这种实施例中,实现方法和/或机构的程序指令可被传输或者被存储于计算机可读介质上。被配置为存储程序指令的大量的类型的介质是可用的,并且包含硬盘、软盘、CD-ROM、DVD、快擦写存储器、可编程ROM(PROM)、随机存取存储器(RAM)和各种其它形式的易失性或非易失性存储器。
在各种实施例中,这里描述的方法和机构的一个或多个部分可形成云计算环境的一部分。在这种实施例中,可根据一个或多个各种模型作为服务在因特网上提供资源。这种模型可包含基础构架即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。在IaaS中,计算机基础构架作为服务被传输。在这种情况下,计算设备一般被服务提供商拥有和操作。在PaaS模型中,开发人员使用以用于开发软件方案的软件工具和下层的设备可作为服务被提供,并被服务提供商托管。SaaS一般包含服务提供商许可服务作为按需服务。服务提供商可托管软件,或者可对于给定的时间周期将软件部署到顾客。以上的模型的大量的组合是可能的,并且被设想。
虽然以大量的细节描述了以上的实施例,但是,对于本领域技术人员来说,一旦完全理解以上的公开,大量的变更和修改将变得十分明显。以下的权利要求应被解释为包含所有这些变更和修改。
Claims (17)
1.一种计算机系统,包括:
被配置为在网络上发送读取和写入请求的客户机计算机;
被配置为接收读取和写入请求的与网络耦合的数据存储子系统,其中,该子系统在包含多个存储装置的装置组上包含多个数据存储位置;
其中,数据存储子系统还包含被配置为完成以下的过程的存储控制器:
确定用于存储数据的第一RAID布局和第二RAID布局,其中第二RAID布局不同于第一RAID布局;
根据第一RAID布局将第一RAID条带写入到所述多个存储装置中的第一子组装置;
根据第二RAID布局将第二RAID条带写入到所述多个存储装置中的第二子组装置;和
根据第二RAID布局将第三RAID条带写入到所述多个存储装置中的第三子组装置,其中第三子组装置包括未包含在第二子组中的一个或多个装置;
由此,装置组根据第一RAID布局和第二RAID布局两者同时存储数据;
其中,响应于检测到第一子组装置中的给定装置的可靠性的变化,所述存储控制器被配置为:
为给定RAID条带在给定装置中保持第一量的空间,用于存储装置内冗余数据;以及
同时为所述给定RAID条带在不同于所述给定装置的装置中保持第二量的空间,用于存储装置内冗余数据,其中所述第二量不同于所述第一量。
2.如权利要求1所述的计算机系统,其中,存储控制器被配置为基于多个存储装置中的一个或多个的特性确定第一RAID布局和第二RAID布局。
3.如权利要求2所述的计算机系统,其中,所述特性包含对于多个装置中的一个或多个的访问的数量或速率、存储于多个装置中的一个或多个中的数据的年龄、多个存储装置中的一个或多个中的空闲空间的量、写入到分配的空间中的数据的期望寿命、当前存储于多个存储装置中的一个或多个中的数据的期望寿命、装置年龄、错误率、错误的数量、可恢复错误的数量、不可恢复错误的数量和分配状态中的一个或多个。
4.如权利要求1所述的计算机系统,其中,存储控制器进一步被配置为击碎多个存储装置中的保护数据,由此,存储控制器被配置为至少完成以下的过程:
确定给定数据的保护水平要改变;
识别存储与给定数据对应的保护数据的特定的存储位置;和
去分配特定的存储位置。
5.如权利要求4所述的计算机系统,其中,存储控制器进一步被配置为重新分配特定的存储位置中的一个或多个,以用于在随后的写入中存储非保护数据。
6.如权利要求5所述的计算机系统,其中,重新分配的特定的存储位置不需要对于非保护数据使用与保护数据使用的相同的尺寸或对准。
7.如权利要求1所述的计算机系统,其中,多个存储装置中的存储装置被配置为擦除擦除块尺寸单元中的数据,并且其中,响应检测对于尺寸比擦除块小的数据的一部分的访问失败,存储控制器被配置为:
识别包含失败的数据的部分的数据的特定的擦除块尺寸部分;
重建无法形成数据的重建部分的数据的部分;和
使得存储装置写入包含数据的重建部分的数据的特定的擦除块尺寸部分。
8.如权利要求1所述的计算机系统,其中,响应检测对于数据的一部分的访问失败,存储控制器被配置为:
重建无法形成数据的重建部分的数据的部分;
击碎多个存储装置中的特定的存储装置中的保护数据;和
在特定的存储位置中存储数据的重建部分。
9.如权利要求1所述的计算机系统,其中,存储控制器进一步被配置为向多个存储装置中的存储装置发出使得存储装置重新映射和重写存储于存储装置中的数据的一部分的命令。
10.一种用于计算机系统的方法,该方法包括:
在数据存储子系统上接收读取和写入请求,其中,子系统在包含多个存储装置的装置组上包含多个数据存储位置;
确定用于存储数据的第一RAID布局和第二RAID布局,其中第二RAID布局不同于第一RAID布局;
根据第一RAID布局将第一RAID条带写入到所述多个存储装置中的第一子组装置;
根据第二RAID布局将第二RAID条带写入到所述多个存储装置中的第二子组装置;和
根据第二RAID布局将第三RAID条带写入到所述多个存储装置中的第三子组装置,其中第三子组装置包括未包含在第二子组中的一个或多个装置;
由此,装置组根据第一RAID布局和第二RAID布局两者同时存储数据;
将第四RAID条带写入到所述多个存储装置,其中为所述第四RAID条带在第一装置上保持的装置内冗余数据的量不同于为第四RAID条带同时在第二装置上保持的装置内冗余数据的量。
11.如权利要求10所述的方法,还包括基于多个存储装置中的一个或多个的特性确定第一RAID布局和第二RAID布局。
12.如权利要求11所述的方法,其中,所述特性包含对于多个装置中的一个或多个的访问的数量或速率、存储于多个装置中的一个或多个中的数据的年龄、多个存储装置中的一个或多个中的空闲空间的量、要被写入到分配的空间中的数据的期望寿命、当前存储于多个存储装置中的一个或多个中的数据的期望寿命、装置年龄、错误率、错误的数量、可恢复错误的数量、不可恢复错误的数量和分配状态中的一个或多个。
13.如权利要求10所述的方法,还包括击碎多个存储装置中的保护数据,由此,方法包括:
确定给定数据的保护水平要改变;
识别存储与给定数据对应的保护数据的特定的存储位置;和
去分配特定的存储位置。
14.如权利要求13所述的方法,还包括重新分配特定的存储位置中的一个或多个,以用于在随后的写入中存储非保护数据。
15.如权利要求14所述的方法,其中,重新分配的特定的存储位置不需要对于非保护数据使用与保护数据使用的相同的尺寸或对准。
16.如权利要求10所述的方法,其中,多个存储装置中的存储装置被配置为擦除擦除块尺寸单元中的数据,并且其中,响应检测对于尺寸比擦除块小的数据的一部分的访问失败,方法还包括:
识别包含失败的数据的部分的数据的特定的擦除块尺寸部分;
重建无法形成数据的重建部分的数据的部分;和
使得存储装置写入包含数据的重建部分的数据的特定的擦除块尺寸部分。
17.一种用于计算机系统的装置,包括:
用于在数据存储子系统上接收读取和写入请求的装置,其中,该子系统在包含多个存储装置的装置组上包含多个数据存储位置;
用于确定用于存储数据的第一RAID布局和第二RAID布局的装置,其中第二RAID布局不同于第一RAID布局;
用于根据第一RAID布局将第一RAID条带写入到所述多个存储装置中的第一子组装置的装置;
用于根据第二RAID布局将第二RAID条带写入到所述多个存储装置中的第二子组装置的装置;和
用于根据第二RAID布局将第三RAID条带写入到所述多个存储装置中的第三子组装置的装置,其中第三子组装置包括未包含在第二子组中的一个或多个装置;
由此,装置组根据第一RAID布局和第二RAID布局两者同时存储数据;
所述用于计算机系统的装置还包括响应于检测到第一子组装置的给定装置的可靠性的变化而将存储控制器配置为完成以下操作的装置:
为给定RAID条带在给定装置中保持第一量的空间,用于存储装置内冗余数据;以及
同时为所述给定RAID条带在不同于所述给定装置的装置中保持第二量的空间,用于存储装置内冗余数据,其中所述第二量不同于所述第一量。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/892,894 US8775868B2 (en) | 2010-09-28 | 2010-09-28 | Adaptive RAID for an SSD environment |
US12/892,894 | 2010-09-28 | ||
PCT/US2011/052222 WO2012044488A1 (en) | 2010-09-28 | 2011-09-19 | Adaptive raid for an ssd environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103348326A CN103348326A (zh) | 2013-10-09 |
CN103348326B true CN103348326B (zh) | 2016-03-30 |
Family
ID=44720158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180053519.0A Active CN103348326B (zh) | 2010-09-28 | 2011-09-19 | Ssd环境中的适配raid |
Country Status (6)
Country | Link |
---|---|
US (6) | US8775868B2 (zh) |
EP (2) | EP2622475A1 (zh) |
JP (2) | JP5894167B2 (zh) |
KR (1) | KR20130118876A (zh) |
CN (1) | CN103348326B (zh) |
WO (1) | WO2012044488A1 (zh) |
Families Citing this family (616)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8671265B2 (en) | 2010-03-05 | 2014-03-11 | Solidfire, Inc. | Distributed data storage system providing de-duplication of data using block identifiers |
US8589655B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of I/O in an SSD environment |
US11275509B1 (en) | 2010-09-15 | 2022-03-15 | Pure Storage, Inc. | Intelligently sizing high latency I/O requests in a storage environment |
US8468318B2 (en) | 2010-09-15 | 2013-06-18 | Pure Storage Inc. | Scheduling of I/O writes in a storage environment |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US8589625B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of reconstructive I/O read operations in a storage environment |
US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
US8732426B2 (en) | 2010-09-15 | 2014-05-20 | Pure Storage, Inc. | Scheduling of reactive I/O operations in a storage environment |
US8775868B2 (en) | 2010-09-28 | 2014-07-08 | Pure Storage, Inc. | Adaptive RAID for an SSD environment |
US9244769B2 (en) | 2010-09-28 | 2016-01-26 | Pure Storage, Inc. | Offset protection data in a RAID array |
US20220398156A1 (en) * | 2010-10-01 | 2022-12-15 | Pure Storage, Inc. | Distributed multi-level protection in a hyper-converged infrastructure |
US20120150793A1 (en) * | 2010-12-08 | 2012-06-14 | Christopher Paul Carroll | Systems and methods for file loading |
US8601313B1 (en) * | 2010-12-13 | 2013-12-03 | Western Digital Technologies, Inc. | System and method for a data reliability scheme in a solid state memory |
US8601311B2 (en) | 2010-12-14 | 2013-12-03 | Western Digital Technologies, Inc. | System and method for using over-provisioned data capacity to maintain a data redundancy scheme in a solid state memory |
US8615681B2 (en) * | 2010-12-14 | 2013-12-24 | Western Digital Technologies, Inc. | System and method for maintaining a data redundancy scheme in a solid state memory in the event of a power loss |
US8700950B1 (en) | 2011-02-11 | 2014-04-15 | Western Digital Technologies, Inc. | System and method for data error recovery in a solid state subsystem |
US8700951B1 (en) | 2011-03-09 | 2014-04-15 | Western Digital Technologies, Inc. | System and method for improving a data redundancy scheme in a solid state subsystem with additional metadata |
US8850104B2 (en) * | 2011-03-21 | 2014-09-30 | Apple Inc. | Independent management of data and parity logical block addresses |
GB2492981B (en) * | 2011-07-18 | 2014-03-26 | Qando Service Inc | Data reconstruction |
US11636031B2 (en) | 2011-08-11 | 2023-04-25 | Pure Storage, Inc. | Optimized inline deduplication |
US8589640B2 (en) | 2011-10-14 | 2013-11-19 | Pure Storage, Inc. | Method for maintaining multiple fingerprint tables in a deduplicating storage system |
KR101801147B1 (ko) * | 2011-08-30 | 2017-11-27 | 삼성전자주식회사 | 데이터 신뢰성을 개선하는 데이터 관리 방법 및 그에 따른 데이터 저장 장치 |
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 |
CN106469029B (zh) | 2011-12-31 | 2019-07-23 | 华为数字技术(成都)有限公司 | 数据分层存储处理方法、装置和存储设备 |
US8966170B2 (en) * | 2012-01-31 | 2015-02-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Elastic cache of redundant cache data |
US8719540B1 (en) | 2012-03-15 | 2014-05-06 | Pure Storage, Inc. | Fractal layout of data blocks across multiple devices |
US8327185B1 (en) * | 2012-03-23 | 2012-12-04 | DSSD, Inc. | Method and system for multi-dimensional raid |
US8341342B1 (en) | 2012-03-23 | 2012-12-25 | DSSD, Inc. | Storage system with incremental multi-dimensional RAID |
KR20130111821A (ko) * | 2012-04-02 | 2013-10-11 | 삼성전자주식회사 | Raid 메모리 시스템 |
KR101684045B1 (ko) | 2012-05-31 | 2016-12-07 | 휴렛 팩커드 엔터프라이즈 디벨롭먼트 엘피 | 로컬 에러 검출 및 글로벌 에러 정정 |
US11032259B1 (en) | 2012-09-26 | 2021-06-08 | Pure Storage, Inc. | Data protection in a storage system |
US8745415B2 (en) | 2012-09-26 | 2014-06-03 | Pure Storage, Inc. | Multi-drive cooperation to generate an encryption key |
US10623386B1 (en) | 2012-09-26 | 2020-04-14 | Pure Storage, Inc. | Secret sharing data protection in a storage system |
US9411717B2 (en) * | 2012-10-23 | 2016-08-09 | Seagate Technology Llc | Metadata journaling with error correction redundancy |
US8925098B2 (en) | 2012-11-15 | 2014-12-30 | Elwha Llc | Data security and access tracking in memory |
US9582465B2 (en) * | 2012-11-15 | 2017-02-28 | Elwha Llc | Flexible processors and flexible memory |
US9026719B2 (en) | 2012-11-15 | 2015-05-05 | Elwha, Llc | Intelligent monitoring for computation in memory |
US8966310B2 (en) | 2012-11-15 | 2015-02-24 | Elwha Llc | Redundancy for loss-tolerant data in non-volatile memory |
US9442854B2 (en) | 2012-11-15 | 2016-09-13 | Elwha Llc | Memory circuitry including computational circuitry for performing supplemental functions |
US8464095B1 (en) | 2012-11-15 | 2013-06-11 | DSSD, Inc. | Method and system for multi-dimensional raid reconstruction and defect avoidance |
US8996951B2 (en) | 2012-11-15 | 2015-03-31 | Elwha, Llc | Error correction with non-volatile memory on an integrated circuit |
US9323499B2 (en) | 2012-11-15 | 2016-04-26 | Elwha Llc | Random number generator functions in memory |
US9059736B2 (en) * | 2012-12-03 | 2015-06-16 | Western Digital Technologies, Inc. | Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme |
US9448883B1 (en) * | 2012-12-04 | 2016-09-20 | Cadence Design Systems, Inc. | System and method for allocating data in memory array having regions of varying storage reliability |
US9372726B2 (en) | 2013-01-09 | 2016-06-21 | The Research Foundation For The State University Of New York | Gang migration of virtual machines using cluster-wide deduplication |
US11733908B2 (en) | 2013-01-10 | 2023-08-22 | Pure Storage, Inc. | Delaying deletion of a dataset |
US9646039B2 (en) | 2013-01-10 | 2017-05-09 | Pure Storage, Inc. | Snapshots in a storage system |
US10908835B1 (en) | 2013-01-10 | 2021-02-02 | Pure Storage, Inc. | Reversing deletion of a virtual machine |
US11768623B2 (en) | 2013-01-10 | 2023-09-26 | Pure Storage, Inc. | Optimizing generalized transfers between storage systems |
US8554997B1 (en) | 2013-01-18 | 2013-10-08 | DSSD, Inc. | Method and system for mirrored multi-dimensional raid |
EP3014448A4 (en) | 2013-06-28 | 2017-03-08 | Hewlett-Packard Enterprise Development LP | Fault tolerance for persistent main memory |
CN104347122B (zh) | 2013-07-31 | 2017-08-04 | 华为技术有限公司 | 一种消息式内存模组的访存方法和装置 |
WO2015023259A1 (en) | 2013-08-13 | 2015-02-19 | Empire Technology Development Llc. | Memory systems |
KR101748717B1 (ko) * | 2013-09-27 | 2017-06-19 | 인하대학교 산학협력단 | Ssd 기반 raid 시스템에서 패리티 데이터의 중복제거 |
KR101532283B1 (ko) * | 2013-11-04 | 2015-06-30 | 인하대학교 산학협력단 | Ssd 기반 raid 스토리지에서 데이터 및 패리티 디스크의 복합적 중복제거 방법 |
US10263770B2 (en) | 2013-11-06 | 2019-04-16 | Pure Storage, Inc. | Data protection in a storage system using external secrets |
US11630585B1 (en) | 2016-08-25 | 2023-04-18 | Pure Storage, Inc. | Processing evacuation events in a storage array that includes a plurality of storage devices |
US10365858B2 (en) | 2013-11-06 | 2019-07-30 | Pure Storage, Inc. | Thin provisioning in a storage device |
US11128448B1 (en) | 2013-11-06 | 2021-09-21 | Pure Storage, Inc. | Quorum-aware secret sharing |
US8924776B1 (en) | 2013-12-04 | 2014-12-30 | DSSD, Inc. | Method and system for calculating parity values for multi-dimensional raid |
US10235096B2 (en) | 2013-12-06 | 2019-03-19 | Concurrent Ventures, LLC | System and method for dynamically load balancing storage media devices based on an average or discounted average sustained performance level |
US10048895B2 (en) | 2013-12-06 | 2018-08-14 | Concurrent Ventures, LLC | System and method for dynamically load balancing storage media devices based on a mid-range performance level |
US9436404B2 (en) | 2013-12-06 | 2016-09-06 | Concurrent Ventures, LLC | System and method for dynamically load balancing across storage media devices having fast access rates |
EP3078184A4 (en) * | 2013-12-06 | 2017-07-26 | Concurrent Ventures LLC | System and method for dynamically load balancing storage media devices based on a mid-range performance level |
US9274722B2 (en) | 2013-12-06 | 2016-03-01 | Concurrent Ventures, LLP | System, method and article of manufacture for monitoring, controlling and improving storage media system performance |
US9898195B2 (en) | 2013-12-09 | 2018-02-20 | Empire Technglogy Development Llc | Hardware interconnect based communication between solid state drive controllers |
US9170746B2 (en) | 2014-01-07 | 2015-10-27 | Netapp, Inc. | Clustered raid assimilation management |
US9208086B1 (en) | 2014-01-09 | 2015-12-08 | Pure Storage, Inc. | Using frequency domain to prioritize storage of metadata in a cache |
US8874835B1 (en) | 2014-01-16 | 2014-10-28 | Pure Storage, Inc. | Data placement based on data properties in a tiered storage device system |
US9454434B2 (en) | 2014-01-17 | 2016-09-27 | Netapp, Inc. | File system driven raid rebuild technique |
US9483349B2 (en) | 2014-01-17 | 2016-11-01 | Netapp, Inc. | Clustered raid data organization |
US8949692B1 (en) | 2014-01-23 | 2015-02-03 | DSSD, Inc. | Method and system for service-aware parity placement in a storage system |
US20150205667A1 (en) * | 2014-01-23 | 2015-07-23 | DSSD, Inc. | Method and system for service-aware data placement in a storage system |
US20150244795A1 (en) | 2014-02-21 | 2015-08-27 | Solidfire, Inc. | Data syncing in a distributed system |
US10656864B2 (en) | 2014-03-20 | 2020-05-19 | Pure Storage, Inc. | Data replication within a flash storage array |
US9348695B2 (en) | 2014-05-21 | 2016-05-24 | Sandisk Technologies Inc. | System and method of storing redundancy data |
US9478274B1 (en) | 2014-05-28 | 2016-10-25 | Emc Corporation | Methods and apparatus for multiple memory maps and multiple page caches in tiered memory |
US9543988B2 (en) * | 2014-05-29 | 2017-01-10 | Netapp, Inc. | Adaptively strengthening ECC for solid state cache |
US9779268B1 (en) | 2014-06-03 | 2017-10-03 | Pure Storage, Inc. | Utilizing a non-repeating identifier to encrypt data |
US9367243B1 (en) | 2014-06-04 | 2016-06-14 | Pure Storage, Inc. | Scalable non-uniform storage sizes |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US11652884B2 (en) | 2014-06-04 | 2023-05-16 | Pure Storage, Inc. | Customized hash algorithms |
US9003144B1 (en) | 2014-06-04 | 2015-04-07 | Pure Storage, Inc. | Mechanism for persisting messages in a storage system |
US10574754B1 (en) | 2014-06-04 | 2020-02-25 | Pure Storage, Inc. | Multi-chassis array with multi-level load balancing |
US9836234B2 (en) | 2014-06-04 | 2017-12-05 | Pure Storage, Inc. | Storage cluster |
US11068363B1 (en) | 2014-06-04 | 2021-07-20 | Pure Storage, Inc. | Proactively rebuilding data in a storage cluster |
US11399063B2 (en) | 2014-06-04 | 2022-07-26 | Pure Storage, Inc. | Network authentication for a storage system |
US9213485B1 (en) | 2014-06-04 | 2015-12-15 | Pure Storage, Inc. | Storage system architecture |
US8850108B1 (en) | 2014-06-04 | 2014-09-30 | Pure Storage, Inc. | Storage cluster |
CN106471461B (zh) * | 2014-06-04 | 2020-10-30 | 净睿存储股份有限公司 | 自动重新配置存储装置存储器拓扑 |
US9612952B2 (en) * | 2014-06-04 | 2017-04-04 | Pure Storage, Inc. | Automatically reconfiguring a storage memory topology |
US11960371B2 (en) | 2014-06-04 | 2024-04-16 | Pure Storage, Inc. | Message persistence in a zoned system |
US9218407B1 (en) | 2014-06-25 | 2015-12-22 | Pure Storage, Inc. | Replication and intermediate read-write state for mediums |
US10496556B1 (en) | 2014-06-25 | 2019-12-03 | Pure Storage, Inc. | Dynamic data protection within a flash storage system |
US11604598B2 (en) | 2014-07-02 | 2023-03-14 | Pure Storage, Inc. | Storage cluster with zoned drives |
US9021297B1 (en) | 2014-07-02 | 2015-04-28 | Pure Storage, Inc. | Redundant, fault-tolerant, distributed remote procedure call cache in a storage system |
US10114757B2 (en) | 2014-07-02 | 2018-10-30 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US9836245B2 (en) | 2014-07-02 | 2017-12-05 | Pure Storage, Inc. | Non-volatile RAM and flash memory in a non-volatile solid-state storage |
US11886308B2 (en) | 2014-07-02 | 2024-01-30 | Pure Storage, Inc. | Dual class of service for unified file and object messaging |
US8868825B1 (en) | 2014-07-02 | 2014-10-21 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US9747229B1 (en) | 2014-07-03 | 2017-08-29 | Pure Storage, Inc. | Self-describing data format for DMA in a non-volatile solid-state storage |
US8874836B1 (en) | 2014-07-03 | 2014-10-28 | Pure Storage, Inc. | Scheduling policy for queues in a non-volatile solid-state storage |
US9811677B2 (en) | 2014-07-03 | 2017-11-07 | Pure Storage, Inc. | Secure data replication in a storage grid |
US10853311B1 (en) | 2014-07-03 | 2020-12-01 | Pure Storage, Inc. | Administration through files in a storage system |
US9563509B2 (en) | 2014-07-15 | 2017-02-07 | Nimble Storage, Inc. | Methods and systems for storing data in a redundant manner on a plurality of storage units of a storage system |
US9798728B2 (en) | 2014-07-24 | 2017-10-24 | Netapp, Inc. | System performing data deduplication using a dense tree data structure |
US10296469B1 (en) | 2014-07-24 | 2019-05-21 | Pure Storage, Inc. | Access control in a flash storage system |
US9483346B2 (en) | 2014-08-07 | 2016-11-01 | Pure Storage, Inc. | Data rebuild on feedback from a queue in a non-volatile solid-state storage |
US9558069B2 (en) | 2014-08-07 | 2017-01-31 | Pure Storage, Inc. | Failure mapping in a storage array |
US9082512B1 (en) | 2014-08-07 | 2015-07-14 | Pure Storage, Inc. | Die-level monitoring in a storage cluster |
US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
US10983859B2 (en) | 2014-08-07 | 2021-04-20 | Pure Storage, Inc. | Adjustable error correction based on memory health in a storage unit |
US9766972B2 (en) | 2014-08-07 | 2017-09-19 | Pure Storage, Inc. | Masking defective bits in a storage array |
US9864761B1 (en) | 2014-08-08 | 2018-01-09 | Pure Storage, Inc. | Read optimization operations in a storage system |
US9112890B1 (en) | 2014-08-20 | 2015-08-18 | E8 Storage Systems Ltd. | Distributed storage over shared multi-queued storage device |
US10079711B1 (en) | 2014-08-20 | 2018-09-18 | Pure Storage, Inc. | Virtual file server with preserved MAC address |
US10430079B2 (en) | 2014-09-08 | 2019-10-01 | Pure Storage, Inc. | Adjusting storage capacity in a computing system |
US10133511B2 (en) | 2014-09-12 | 2018-11-20 | Netapp, Inc | Optimized segment cleaning technique |
US9671960B2 (en) | 2014-09-12 | 2017-06-06 | Netapp, Inc. | Rate matching technique for balancing segment cleaning and I/O workload |
US9274720B1 (en) | 2014-09-15 | 2016-03-01 | E8 Storage Systems Ltd. | Distributed RAID over shared multi-queued storage devices |
US10275171B2 (en) | 2014-09-16 | 2019-04-30 | Kove Ip, Llc | Paging of external memory |
US9626108B2 (en) | 2014-09-16 | 2017-04-18 | Kove Ip, Llc | Dynamically provisionable and allocatable external memory |
WO2016051512A1 (ja) | 2014-09-30 | 2016-04-07 | 株式会社日立製作所 | 分散型ストレージシステム |
US10164841B2 (en) | 2014-10-02 | 2018-12-25 | Pure Storage, Inc. | Cloud assist for storage systems |
US9489132B2 (en) | 2014-10-07 | 2016-11-08 | Pure Storage, Inc. | Utilizing unmapped and unknown states in a replicated storage system |
US10430282B2 (en) | 2014-10-07 | 2019-10-01 | Pure Storage, Inc. | Optimizing replication by distinguishing user and system write activity |
KR102177421B1 (ko) | 2014-10-15 | 2020-11-11 | 삼성전자주식회사 | 데이터 저장 시스템, 데이터 저장 장치 및 raid 컨트롤러 |
US9535619B2 (en) | 2014-11-10 | 2017-01-03 | Dell Products, Lp | Enhanced reconstruction in an array of information storage devices by physical disk reduction without losing data |
US9836229B2 (en) | 2014-11-18 | 2017-12-05 | Netapp, Inc. | N-way merge technique for updating volume metadata in a storage I/O stack |
US9727485B1 (en) | 2014-11-24 | 2017-08-08 | Pure Storage, Inc. | Metadata rewrite and flatten optimization |
US9519666B2 (en) | 2014-11-27 | 2016-12-13 | E8 Storage Systems Ltd. | Snapshots and thin-provisioning in distributed storage over shared storage devices |
US9773007B1 (en) | 2014-12-01 | 2017-09-26 | Pure Storage, Inc. | Performance improvements in a storage system |
US10346245B2 (en) * | 2014-12-09 | 2019-07-09 | Tsinghua University | Data storage system and data storage method |
US10404409B2 (en) | 2014-12-11 | 2019-09-03 | Kabushiki Kaisha Toshiba | Reconfigurable encoding arrays for reduced outage probability sensor networks |
US9588842B1 (en) | 2014-12-11 | 2017-03-07 | Pure Storage, Inc. | Drive rebuild |
US9552248B2 (en) | 2014-12-11 | 2017-01-24 | Pure Storage, Inc. | Cloud alert to replica |
US9864769B2 (en) | 2014-12-12 | 2018-01-09 | Pure Storage, Inc. | Storing data utilizing repeating pattern detection |
US10545987B2 (en) | 2014-12-19 | 2020-01-28 | Pure Storage, Inc. | Replication to the cloud |
US10296354B1 (en) | 2015-01-21 | 2019-05-21 | Pure Storage, Inc. | Optimized boot operations within a flash storage array |
US11947968B2 (en) | 2015-01-21 | 2024-04-02 | Pure Storage, Inc. | Efficient use of zone in a storage device |
US9720601B2 (en) | 2015-02-11 | 2017-08-01 | Netapp, Inc. | Load balancing technique for a storage array |
US9710165B1 (en) | 2015-02-18 | 2017-07-18 | Pure Storage, Inc. | Identifying volume candidates for space reclamation |
US9948615B1 (en) | 2015-03-16 | 2018-04-17 | Pure Storage, Inc. | Increased storage unit encryption based on loss of trust |
US11294893B2 (en) | 2015-03-20 | 2022-04-05 | Pure Storage, Inc. | Aggregation of queries |
US9762460B2 (en) | 2015-03-24 | 2017-09-12 | Netapp, Inc. | Providing continuous context for operational information of a storage system |
US9940234B2 (en) | 2015-03-26 | 2018-04-10 | Pure Storage, Inc. | Aggressive data deduplication using lazy garbage collection |
US10082985B2 (en) * | 2015-03-27 | 2018-09-25 | Pure Storage, Inc. | Data striping across storage nodes that are assigned to multiple logical arrays |
US9710317B2 (en) | 2015-03-30 | 2017-07-18 | Netapp, Inc. | Methods to identify, handle and recover from suspect SSDS in a clustered flash array |
US9946471B1 (en) * | 2015-03-31 | 2018-04-17 | EMC IP Holding Company LLC | RAID groups based on endurance sets |
US10178169B2 (en) | 2015-04-09 | 2019-01-08 | Pure Storage, Inc. | Point to point based backend communication layer for storage processing |
US9672125B2 (en) | 2015-04-10 | 2017-06-06 | Pure Storage, Inc. | Ability to partition an array into two or more logical arrays with independently running software |
US9529542B2 (en) | 2015-04-14 | 2016-12-27 | E8 Storage Systems Ltd. | Lockless distributed redundant storage and NVRAM caching of compressed data in a highly-distributed shared topology with direct memory access capable interconnect |
US9525737B2 (en) * | 2015-04-14 | 2016-12-20 | E8 Storage Systems Ltd. | Lockless distributed redundant storage and NVRAM cache in a highly-distributed shared topology with direct memory access capable interconnect |
US10466913B2 (en) | 2015-04-29 | 2019-11-05 | EMC IP Holding Company LLC | Method and system for replicating and using grid level metadata in a storage system |
US10140149B1 (en) | 2015-05-19 | 2018-11-27 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
US9716755B2 (en) | 2015-05-26 | 2017-07-25 | Pure Storage, Inc. | Providing cloud storage array services by a local storage array in a data center |
US11102298B1 (en) | 2015-05-26 | 2021-08-24 | Pure Storage, Inc. | Locally providing cloud storage services for fleet management |
US9594678B1 (en) | 2015-05-27 | 2017-03-14 | Pure Storage, Inc. | Preventing duplicate entries of identical data in a storage device |
US9817576B2 (en) | 2015-05-27 | 2017-11-14 | Pure Storage, Inc. | Parallel update to NVRAM |
US10021170B2 (en) | 2015-05-29 | 2018-07-10 | Pure Storage, Inc. | Managing a storage array using client-side services |
US9444822B1 (en) | 2015-05-29 | 2016-09-13 | Pure Storage, Inc. | Storage array access control from cloud-based user authorization and authentication |
US9300660B1 (en) | 2015-05-29 | 2016-03-29 | Pure Storage, Inc. | Providing authorization and authentication in a cloud for a user of a storage array |
US11503031B1 (en) | 2015-05-29 | 2022-11-15 | Pure Storage, Inc. | Storage array access control from cloud-based user authorization and authentication |
US9588691B2 (en) | 2015-06-10 | 2017-03-07 | Pure Storage, Inc. | Dynamically managing control information in a storage device |
US9766837B2 (en) | 2015-06-10 | 2017-09-19 | Micron Technology, Inc. | Stripe mapping in memory |
US10496626B2 (en) | 2015-06-11 | 2019-12-03 | EB Storage Systems Ltd. | Deduplication in a highly-distributed shared topology with direct-memory-access capable interconnect |
US9594512B1 (en) | 2015-06-19 | 2017-03-14 | Pure Storage, Inc. | Attributing consumed storage capacity among entities storing data in a storage array |
US10310740B2 (en) * | 2015-06-23 | 2019-06-04 | Pure Storage, Inc. | Aligning memory access operations to a geometry of a storage device |
US9547441B1 (en) | 2015-06-23 | 2017-01-17 | Pure Storage, Inc. | Exposing a geometry of a storage device |
US10846275B2 (en) | 2015-06-26 | 2020-11-24 | Pure Storage, Inc. | Key management in a storage device |
US10296236B2 (en) | 2015-07-01 | 2019-05-21 | Pure Storage, Inc. | Offloading device management responsibilities from a storage device in an array of storage devices |
US10191841B2 (en) | 2015-07-06 | 2019-01-29 | Shannon Systems Ltd. | Host device, access system, and access method |
CN106339179B (zh) * | 2015-07-06 | 2020-11-17 | 上海宝存信息科技有限公司 | 主机装置、存取系统、以及存取方法 |
US10983732B2 (en) | 2015-07-13 | 2021-04-20 | Pure Storage, Inc. | Method and system for accessing a file |
US9697079B2 (en) | 2015-07-13 | 2017-07-04 | International Business Machines Corporation | Protecting data integrity in de-duplicated storage environments in combination with software defined native raid |
US11232079B2 (en) | 2015-07-16 | 2022-01-25 | Pure Storage, Inc. | Efficient distribution of large directories |
US9760432B2 (en) * | 2015-07-28 | 2017-09-12 | Futurewei Technologies, Inc. | Intelligent code apparatus, method, and computer program for memory |
US10180803B2 (en) | 2015-07-28 | 2019-01-15 | Futurewei Technologies, Inc. | Intelligent memory architecture for increased efficiency |
US9740566B2 (en) | 2015-07-31 | 2017-08-22 | Netapp, Inc. | Snapshot creation workflow |
US9892071B2 (en) | 2015-08-03 | 2018-02-13 | Pure Storage, Inc. | Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array |
US9851762B1 (en) | 2015-08-06 | 2017-12-26 | Pure Storage, Inc. | Compliant printed circuit board (‘PCB’) within an enclosure |
US11294588B1 (en) | 2015-08-24 | 2022-04-05 | Pure Storage, Inc. | Placing data within a storage device |
US11625181B1 (en) | 2015-08-24 | 2023-04-11 | Pure Storage, Inc. | Data tiering using snapshots |
US10198194B2 (en) | 2015-08-24 | 2019-02-05 | Pure Storage, Inc. | Placing data within a storage device of a flash array |
US10108355B2 (en) | 2015-09-01 | 2018-10-23 | Pure Storage, Inc. | Erase block state detection |
US11341136B2 (en) | 2015-09-04 | 2022-05-24 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
KR20170028825A (ko) | 2015-09-04 | 2017-03-14 | 퓨어 스토리지, 아이앤씨. | 압축된 인덱스들을 사용한 해시 테이블들에서의 메모리 효율적인 스토리지 및 탐색 |
US11269884B2 (en) | 2015-09-04 | 2022-03-08 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US9785525B2 (en) | 2015-09-24 | 2017-10-10 | Netapp, Inc. | High availability failover manager |
US10853266B2 (en) | 2015-09-30 | 2020-12-01 | Pure Storage, Inc. | Hardware assisted data lookup methods |
US10762069B2 (en) | 2015-09-30 | 2020-09-01 | Pure Storage, Inc. | Mechanism for a system where data and metadata are located closely together |
US9768953B2 (en) | 2015-09-30 | 2017-09-19 | Pure Storage, Inc. | Resharing of a split secret |
US10360119B2 (en) | 2015-10-06 | 2019-07-23 | Netapp, Inc. | Data recovery in a distributed storage system |
US9886203B2 (en) | 2015-10-22 | 2018-02-06 | International Business Machines Corporation | Shifting wearout of storage disks |
US9384082B1 (en) | 2015-10-23 | 2016-07-05 | Pure Storage, Inc. | Proactively providing corrective measures for storage arrays |
US9843453B2 (en) | 2015-10-23 | 2017-12-12 | Pure Storage, Inc. | Authorizing I/O commands with I/O tokens |
US10514978B1 (en) | 2015-10-23 | 2019-12-24 | Pure Storage, Inc. | Automatic deployment of corrective measures for storage arrays |
US11360844B1 (en) | 2015-10-23 | 2022-06-14 | Pure Storage, Inc. | Recovery of a container storage provider |
US9836366B2 (en) | 2015-10-27 | 2017-12-05 | Netapp, Inc. | Third vote consensus in a cluster using shared storage devices |
US10284232B2 (en) | 2015-10-28 | 2019-05-07 | Pure Storage, Inc. | Dynamic error processing in a storage device |
US9740414B2 (en) | 2015-10-29 | 2017-08-22 | Pure Storage, Inc. | Optimizing copy operations |
US10374868B2 (en) | 2015-10-29 | 2019-08-06 | Pure Storage, Inc. | Distributed command processing in a flash storage system |
US10353777B2 (en) | 2015-10-30 | 2019-07-16 | Pure Storage, Inc. | Ensuring crash-safe forward progress of a system configuration update |
US10437480B2 (en) | 2015-12-01 | 2019-10-08 | Futurewei Technologies, Inc. | Intelligent coded memory architecture with enhanced access scheduler |
US10235059B2 (en) | 2015-12-01 | 2019-03-19 | Netapp, Inc. | Technique for maintaining consistent I/O processing throughput in a storage system |
US9760479B2 (en) | 2015-12-02 | 2017-09-12 | Pure Storage, Inc. | Writing data in a storage system that includes a first type of storage device and a second type of storage device |
US11762764B1 (en) | 2015-12-02 | 2023-09-19 | Pure Storage, Inc. | Writing data in a storage system that includes a first type of storage device and a second type of storage device |
US9846538B2 (en) | 2015-12-07 | 2017-12-19 | International Business Machines Corporation | Data integrity and acceleration in compressed storage environments in combination with software defined native RAID |
US11616834B2 (en) | 2015-12-08 | 2023-03-28 | Pure Storage, Inc. | Efficient replication of a dataset to the cloud |
US10326836B2 (en) | 2015-12-08 | 2019-06-18 | Pure Storage, Inc. | Partially replicating a snapshot between storage systems |
US11347697B1 (en) | 2015-12-15 | 2022-05-31 | Pure Storage, Inc. | Proactively optimizing a storage system |
US10162835B2 (en) | 2015-12-15 | 2018-12-25 | Pure Storage, Inc. | Proactive management of a plurality of storage arrays in a multi-array system |
US10229009B2 (en) | 2015-12-16 | 2019-03-12 | Netapp, Inc. | Optimized file system layout for distributed consensus protocol |
US10007457B2 (en) | 2015-12-22 | 2018-06-26 | Pure Storage, Inc. | Distributed transactions with token-associated execution |
US10346043B2 (en) | 2015-12-28 | 2019-07-09 | Pure Storage, Inc. | Adaptive computing for data compression |
US10146618B2 (en) * | 2016-01-04 | 2018-12-04 | Western Digital Technologies, Inc. | Distributed data storage with reduced storage overhead using reduced-dependency erasure codes |
US9886314B2 (en) | 2016-01-28 | 2018-02-06 | Pure Storage, Inc. | Placing workloads in a multi-array system |
US10572460B2 (en) | 2016-02-11 | 2020-02-25 | Pure Storage, Inc. | Compressing data in dependence upon characteristics of a storage system |
US9760297B2 (en) | 2016-02-12 | 2017-09-12 | Pure Storage, Inc. | Managing input/output (‘I/O’) queues in a data storage system |
KR102533389B1 (ko) | 2016-02-24 | 2023-05-17 | 삼성전자주식회사 | 장치 수명을 향상시키는 데이터 저장 장치 및 이를 포함하는 raid 시스템 |
US10318378B2 (en) * | 2016-02-25 | 2019-06-11 | Micron Technology, Inc | Redundant array of independent NAND for a three-dimensional memory array |
US10198313B2 (en) | 2016-03-11 | 2019-02-05 | Western Digital Technologies, Inc. | Redundancy of error correction encoded data in a storage system |
US9959043B2 (en) | 2016-03-16 | 2018-05-01 | Pure Storage, Inc. | Performing a non-disruptive upgrade of data in a storage system |
US11995315B2 (en) | 2016-03-16 | 2024-05-28 | Pure Storage, Inc. | Converting data formats in a storage system |
US10127113B1 (en) | 2016-03-31 | 2018-11-13 | EMC IP Holding Company LLC | Method and system for checkerboard RAID |
US9842084B2 (en) | 2016-04-05 | 2017-12-12 | E8 Storage Systems Ltd. | Write cache and write-hole recovery in distributed raid over shared multi-queue storage devices |
US10929022B2 (en) | 2016-04-25 | 2021-02-23 | Netapp. Inc. | Space savings reporting for storage system supporting snapshot and clones |
US9841921B2 (en) | 2016-04-27 | 2017-12-12 | Pure Storage, Inc. | Migrating data in a storage array that includes a plurality of storage devices |
US11112990B1 (en) | 2016-04-27 | 2021-09-07 | Pure Storage, Inc. | Managing storage device evacuation |
US11809727B1 (en) | 2016-04-27 | 2023-11-07 | Pure Storage, Inc. | Predicting failures in a storage system that includes a plurality of storage devices |
US9811264B1 (en) | 2016-04-28 | 2017-11-07 | Pure Storage, Inc. | Deploying client-specific applications in a storage system utilizing redundant system resources |
US9952767B2 (en) | 2016-04-29 | 2018-04-24 | Netapp, Inc. | Consistency group management |
US10133503B1 (en) | 2016-05-02 | 2018-11-20 | Pure Storage, Inc. | Selecting a deduplication process based on a difference between performance metrics |
US10452297B1 (en) | 2016-05-02 | 2019-10-22 | Pure Storage, Inc. | Generating and optimizing summary index levels in a deduplication storage system |
US10303390B1 (en) | 2016-05-02 | 2019-05-28 | Pure Storage, Inc. | Resolving fingerprint collisions in flash storage system |
US10261690B1 (en) | 2016-05-03 | 2019-04-16 | Pure Storage, Inc. | Systems and methods for operating a storage system |
US11231858B2 (en) | 2016-05-19 | 2022-01-25 | Pure Storage, Inc. | Dynamically configuring a storage system to facilitate independent scaling of resources |
US9507532B1 (en) | 2016-05-20 | 2016-11-29 | Pure Storage, Inc. | Migrating data in a storage array that includes a plurality of storage devices and a plurality of write buffer devices |
US10691567B2 (en) | 2016-06-03 | 2020-06-23 | Pure Storage, Inc. | Dynamically forming a failure domain in a storage system that includes a plurality of blades |
TWI634418B (zh) * | 2016-07-13 | 2018-09-01 | 大陸商深圳衡宇芯片科技有限公司 | 用於程式化失敗時回復資料的方法與控制器及使用該方法與控制器的系統 |
US10452310B1 (en) | 2016-07-13 | 2019-10-22 | Pure Storage, Inc. | Validating cabling for storage component admission to a storage array |
US11861188B2 (en) | 2016-07-19 | 2024-01-02 | Pure Storage, Inc. | System having modular accelerators |
US11706895B2 (en) | 2016-07-19 | 2023-07-18 | Pure Storage, Inc. | Independent scaling of compute resources and storage resources in a storage system |
US9672905B1 (en) | 2016-07-22 | 2017-06-06 | Pure Storage, Inc. | Optimize data protection layouts based on distributed flash wear leveling |
US10768819B2 (en) | 2016-07-22 | 2020-09-08 | Pure Storage, Inc. | Hardware support for non-disruptive upgrades |
US11449232B1 (en) | 2016-07-22 | 2022-09-20 | Pure Storage, Inc. | Optimal scheduling of flash operations |
US10216420B1 (en) | 2016-07-24 | 2019-02-26 | Pure Storage, Inc. | Calibration of flash channels in SSD |
US11080155B2 (en) | 2016-07-24 | 2021-08-03 | Pure Storage, Inc. | Identifying error types among flash memory |
US11604690B2 (en) | 2016-07-24 | 2023-03-14 | Pure Storage, Inc. | Online failure span determination |
US11797212B2 (en) | 2016-07-26 | 2023-10-24 | Pure Storage, Inc. | Data migration for zoned drives |
US10203903B2 (en) | 2016-07-26 | 2019-02-12 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
US10366004B2 (en) | 2016-07-26 | 2019-07-30 | Pure Storage, Inc. | Storage system with elective garbage collection to reduce flash contention |
US10459652B2 (en) | 2016-07-27 | 2019-10-29 | Pure Storage, Inc. | Evacuating blades in a storage array that includes a plurality of blades |
US11734169B2 (en) | 2016-07-26 | 2023-08-22 | Pure Storage, Inc. | Optimizing spool and memory space management |
US11886334B2 (en) | 2016-07-26 | 2024-01-30 | Pure Storage, Inc. | Optimizing spool and memory space management |
US10474363B1 (en) | 2016-07-29 | 2019-11-12 | Pure Storage, Inc. | Space reporting in a storage system |
US10290353B2 (en) * | 2016-09-06 | 2019-05-14 | Western Digital Technologies, Inc. | Error mitigation for 3D NAND flash memory |
US11960348B2 (en) | 2016-09-07 | 2024-04-16 | Pure Storage, Inc. | Cloud-based monitoring of hardware components in a fleet of storage systems |
US10146585B2 (en) | 2016-09-07 | 2018-12-04 | Pure Storage, Inc. | Ensuring the fair utilization of system resources using workload based, time-independent scheduling |
US10671439B1 (en) | 2016-09-07 | 2020-06-02 | Pure Storage, Inc. | Workload planning with quality-of-service (‘QOS’) integration |
US10331588B2 (en) | 2016-09-07 | 2019-06-25 | Pure Storage, Inc. | Ensuring the appropriate utilization of system resources using weighted workload based, time-independent scheduling |
US11531577B1 (en) | 2016-09-07 | 2022-12-20 | Pure Storage, Inc. | Temporarily limiting access to a storage device |
US10235229B1 (en) | 2016-09-07 | 2019-03-19 | Pure Storage, Inc. | Rehabilitating storage devices in a storage array that includes a plurality of storage devices |
US10908966B1 (en) | 2016-09-07 | 2021-02-02 | Pure Storage, Inc. | Adapting target service times in a storage system |
US11481261B1 (en) | 2016-09-07 | 2022-10-25 | Pure Storage, Inc. | Preventing extended latency in a storage system |
US11886922B2 (en) | 2016-09-07 | 2024-01-30 | Pure Storage, Inc. | Scheduling input/output operations for a storage system |
US11422719B2 (en) | 2016-09-15 | 2022-08-23 | Pure Storage, Inc. | Distributed file deletion and truncation |
US10642763B2 (en) | 2016-09-20 | 2020-05-05 | Netapp, Inc. | Quality of service policy sets |
WO2018061068A1 (ja) * | 2016-09-27 | 2018-04-05 | 株式会社日立製作所 | ストレージシステム及びストレージシステム管理方法 |
KR102545698B1 (ko) | 2016-09-27 | 2023-06-19 | 삼성전자주식회사 | 데이터 저장 시스템 |
US9747039B1 (en) | 2016-10-04 | 2017-08-29 | Pure Storage, Inc. | Reservations over multiple paths on NVMe over fabrics |
US10756816B1 (en) | 2016-10-04 | 2020-08-25 | Pure Storage, Inc. | Optimized fibre channel and non-volatile memory express access |
US10162523B2 (en) | 2016-10-04 | 2018-12-25 | Pure Storage, Inc. | Migrating data between volumes using virtual copy operation |
US12039165B2 (en) | 2016-10-04 | 2024-07-16 | Pure Storage, Inc. | Utilizing allocation shares to improve parallelism in a zoned drive storage system |
US10545861B2 (en) | 2016-10-04 | 2020-01-28 | Pure Storage, Inc. | Distributed integrated high-speed solid-state non-volatile random-access memory |
US10191662B2 (en) | 2016-10-04 | 2019-01-29 | Pure Storage, Inc. | Dynamic allocation of segments in a flash storage system |
US10372541B2 (en) | 2016-10-12 | 2019-08-06 | Samsung Electronics Co., Ltd. | Storage device storing data using raid |
US10372368B2 (en) | 2016-10-13 | 2019-08-06 | International Business Machines Corporation | Operating a RAID array with unequal stripes |
US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US10007459B2 (en) | 2016-10-20 | 2018-06-26 | Pure Storage, Inc. | Performance tuning in a storage system that includes one or more storage devices |
US11379132B1 (en) | 2016-10-20 | 2022-07-05 | Pure Storage, Inc. | Correlating medical sensor data |
US10185505B1 (en) | 2016-10-28 | 2019-01-22 | Pure Storage, Inc. | Reading a portion of data to replicate a volume based on sequence numbers |
US10359942B2 (en) | 2016-10-31 | 2019-07-23 | Pure Storage, Inc. | Deduplication aware scalable content placement |
US10162566B2 (en) | 2016-11-22 | 2018-12-25 | Pure Storage, Inc. | Accumulating application-level statistics in a storage system |
US11620075B2 (en) | 2016-11-22 | 2023-04-04 | Pure Storage, Inc. | Providing application aware storage |
US11550481B2 (en) | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US10452290B2 (en) | 2016-12-19 | 2019-10-22 | Pure Storage, Inc. | Block consolidation in a direct-mapped flash storage system |
US10198205B1 (en) | 2016-12-19 | 2019-02-05 | Pure Storage, Inc. | Dynamically adjusting a number of storage devices utilized to simultaneously service write operations |
US11461273B1 (en) | 2016-12-20 | 2022-10-04 | Pure Storage, Inc. | Modifying storage distribution in a storage system that includes one or more storage devices |
US10489307B2 (en) | 2017-01-05 | 2019-11-26 | Pure Storage, Inc. | Periodically re-encrypting user data stored on a storage device |
US11307998B2 (en) | 2017-01-09 | 2022-04-19 | Pure Storage, Inc. | Storage efficiency of encrypted host system data |
US11093146B2 (en) | 2017-01-12 | 2021-08-17 | Pure Storage, Inc. | Automatic load rebalancing of a write group |
US11955187B2 (en) | 2017-01-13 | 2024-04-09 | Pure Storage, Inc. | Refresh of differing capacity NAND |
US9747158B1 (en) | 2017-01-13 | 2017-08-29 | Pure Storage, Inc. | Intelligent refresh of 3D NAND |
US10503700B1 (en) | 2017-01-19 | 2019-12-10 | Pure Storage, Inc. | On-demand content filtering of snapshots within a storage system |
US11340800B1 (en) | 2017-01-19 | 2022-05-24 | Pure Storage, Inc. | Content masking in a storage system |
US10031872B1 (en) | 2017-01-23 | 2018-07-24 | E8 Storage Systems Ltd. | Storage in multi-queue storage devices using queue multiplexing and access control |
US11163624B2 (en) * | 2017-01-27 | 2021-11-02 | Pure Storage, Inc. | Dynamically adjusting an amount of log data generated for a storage system |
US10979223B2 (en) | 2017-01-31 | 2021-04-13 | Pure Storage, Inc. | Separate encryption for a solid-state drive |
US11169727B1 (en) | 2017-03-10 | 2021-11-09 | Pure Storage, Inc. | Synchronous replication between storage systems with virtualized storage |
US11675520B2 (en) | 2017-03-10 | 2023-06-13 | Pure Storage, Inc. | Application replication among storage systems synchronously replicating a dataset |
US11941279B2 (en) | 2017-03-10 | 2024-03-26 | Pure Storage, Inc. | Data path virtualization |
US11089105B1 (en) | 2017-12-14 | 2021-08-10 | Pure Storage, Inc. | Synchronously replicating datasets in cloud-based storage systems |
US10521344B1 (en) | 2017-03-10 | 2019-12-31 | Pure Storage, Inc. | Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems |
US10866912B2 (en) | 2017-03-10 | 2020-12-15 | Toshiba Memory Corporation | Integrated heterogeneous solid state storage drive |
US11442825B2 (en) | 2017-03-10 | 2022-09-13 | Pure Storage, Inc. | Establishing a synchronous replication relationship between two or more storage systems |
US10454810B1 (en) | 2017-03-10 | 2019-10-22 | Pure Storage, Inc. | Managing host definitions across a plurality of storage systems |
US10503427B2 (en) | 2017-03-10 | 2019-12-10 | Pure Storage, Inc. | Synchronously replicating datasets and other managed objects to cloud-based storage systems |
US12056383B2 (en) | 2017-03-10 | 2024-08-06 | Pure Storage, Inc. | Edge management service |
US11803453B1 (en) | 2017-03-10 | 2023-10-31 | Pure Storage, Inc. | Using host connectivity states to avoid queuing I/O requests |
WO2018165958A1 (en) | 2017-03-16 | 2018-09-20 | Microsoft Technology Licensing, Llc. | Storage system control |
US11275762B2 (en) | 2017-03-20 | 2022-03-15 | Samsung Electronics Co., Ltd. | System and method for hybrid data reliability for object storage devices |
US10552062B2 (en) | 2017-03-20 | 2020-02-04 | Samsung Electronics Co., Ltd. | System and method for storing very large key value objects |
US10795760B2 (en) | 2017-03-20 | 2020-10-06 | Samsung Electronics Co., Ltd. | Key value SSD |
JP2018163450A (ja) * | 2017-03-24 | 2018-10-18 | 日本電気株式会社 | データ記憶制御装置、データ記憶システム、データ記憶方法およびプログラム |
US10528488B1 (en) | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
US11016667B1 (en) | 2017-04-05 | 2021-05-25 | Pure Storage, Inc. | Efficient mapping for LUNs in storage memory with holes in address space |
US10459664B1 (en) | 2017-04-10 | 2019-10-29 | Pure Storage, Inc. | Virtualized copy-by-reference |
US9910618B1 (en) | 2017-04-10 | 2018-03-06 | Pure Storage, Inc. | Migrating applications executing on a storage system |
US12045487B2 (en) | 2017-04-21 | 2024-07-23 | Pure Storage, Inc. | Preserving data deduplication in a multi-tenant storage system |
US11403019B2 (en) | 2017-04-21 | 2022-08-02 | Pure Storage, Inc. | Deduplication-aware per-tenant encryption |
US10944671B2 (en) | 2017-04-27 | 2021-03-09 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US10516645B1 (en) | 2017-04-27 | 2019-12-24 | Pure Storage, Inc. | Address resolution broadcasting in a networked device |
US10141050B1 (en) | 2017-04-27 | 2018-11-27 | Pure Storage, Inc. | Page writes for triple level cell flash memory |
US10339062B2 (en) | 2017-04-28 | 2019-07-02 | EMC IP Holding Company LLC | Method and system for writing data to and read data from persistent storage |
US10614019B2 (en) | 2017-04-28 | 2020-04-07 | EMC IP Holding Company LLC | Method and system for fast ordered writes with target collaboration |
US10289491B1 (en) * | 2017-04-28 | 2019-05-14 | EMC IP Holding Company LLC | Method and system for implementing multi-dimensional raid in an extensible storage array to optimize performance |
US10466930B2 (en) | 2017-04-28 | 2019-11-05 | EMC IP Holding Company LLC | Method and system for fast ordered writes with atomic multicast |
US10524022B2 (en) | 2017-05-02 | 2019-12-31 | Seagate Technology Llc | Data storage system with adaptive data path routing |
US11868629B1 (en) | 2017-05-05 | 2024-01-09 | Pure Storage, Inc. | Storage system sizing service |
US11467913B1 (en) | 2017-06-07 | 2022-10-11 | Pure Storage, Inc. | Snapshots with crash consistency in a storage system |
US11947814B2 (en) | 2017-06-11 | 2024-04-02 | Pure Storage, Inc. | Optimizing resiliency group formation stability |
US11782625B2 (en) | 2017-06-11 | 2023-10-10 | Pure Storage, Inc. | Heterogeneity supportive resiliency groups |
US11138103B1 (en) | 2017-06-11 | 2021-10-05 | Pure Storage, Inc. | Resiliency groups |
US10884636B1 (en) | 2017-06-12 | 2021-01-05 | Pure Storage, Inc. | Presenting workload performance in a storage system |
US10417092B2 (en) | 2017-09-07 | 2019-09-17 | Pure Storage, Inc. | Incremental RAID stripe update parity calculation |
US11442669B1 (en) | 2018-03-15 | 2022-09-13 | Pure Storage, Inc. | Orchestrating a virtual storage system |
US10613791B2 (en) | 2017-06-12 | 2020-04-07 | Pure Storage, Inc. | Portable snapshot replication between storage systems |
US11593036B2 (en) | 2017-06-12 | 2023-02-28 | Pure Storage, Inc. | Staging data within a unified storage element |
US10552090B2 (en) * | 2017-09-07 | 2020-02-04 | Pure Storage, Inc. | Solid state drives with multiple types of addressable memory |
US11609718B1 (en) | 2017-06-12 | 2023-03-21 | Pure Storage, Inc. | Identifying valid data after a storage system recovery |
US11016824B1 (en) | 2017-06-12 | 2021-05-25 | Pure Storage, Inc. | Event identification with out-of-order reporting in a cloud-based environment |
US12086650B2 (en) | 2017-06-12 | 2024-09-10 | Pure Storage, Inc. | Workload placement based on carbon emissions |
US10976962B2 (en) | 2018-03-15 | 2021-04-13 | Pure Storage, Inc. | Servicing I/O operations in a cloud-based storage system |
US12061822B1 (en) | 2017-06-12 | 2024-08-13 | Pure Storage, Inc. | Utilizing volume-level policies in a storage system |
US11592991B2 (en) | 2017-09-07 | 2023-02-28 | Pure Storage, Inc. | Converting raid data between persistent storage types |
US11340939B1 (en) | 2017-06-12 | 2022-05-24 | Pure Storage, Inc. | Application-aware analytics for storage systems |
US10853148B1 (en) | 2017-06-12 | 2020-12-01 | Pure Storage, Inc. | Migrating workloads between a plurality of execution environments |
US12086651B2 (en) | 2017-06-12 | 2024-09-10 | Pure Storage, Inc. | Migrating workloads using active disaster recovery |
US11422731B1 (en) | 2017-06-12 | 2022-08-23 | Pure Storage, Inc. | Metadata-based replication of a dataset |
US11989429B1 (en) | 2017-06-12 | 2024-05-21 | Pure Storage, Inc. | Recommending changes to a storage system |
US11210133B1 (en) | 2017-06-12 | 2021-12-28 | Pure Storage, Inc. | Workload mobility between disparate execution environments |
EP3612922A1 (en) | 2017-06-12 | 2020-02-26 | Pure Storage, Inc. | Accessible fast durable storage integrated into a bulk storage device |
US10425473B1 (en) | 2017-07-03 | 2019-09-24 | Pure Storage, Inc. | Stateful connection reset in a storage cluster with a stateless load balancer |
US11561714B1 (en) | 2017-07-05 | 2023-01-24 | Pure Storage, Inc. | Storage efficiency driven migration |
US10795583B2 (en) | 2017-07-19 | 2020-10-06 | Samsung Electronics Co., Ltd. | Automatic data placement manager in multi-tier all-flash datacenter |
US11477280B1 (en) | 2017-07-26 | 2022-10-18 | Pure Storage, Inc. | Integrating cloud storage services |
US10402266B1 (en) | 2017-07-31 | 2019-09-03 | Pure Storage, Inc. | Redundant array of independent disks in a direct-mapped flash storage system |
US11086525B2 (en) * | 2017-08-02 | 2021-08-10 | Kove Ip, Llc | Resilient external memory |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US10685010B2 (en) | 2017-09-11 | 2020-06-16 | Amazon Technologies, Inc. | Shared volumes in distributed RAID over shared multi-queue storage devices |
US10877827B2 (en) | 2017-09-15 | 2020-12-29 | Pure Storage, Inc. | Read voltage optimization |
US10210926B1 (en) | 2017-09-15 | 2019-02-19 | Pure Storage, Inc. | Tracking of optimum read voltage thresholds in nand flash devices |
US10776202B1 (en) | 2017-09-22 | 2020-09-15 | Pure Storage, Inc. | Drive, blade, or data shard decommission via RAID geometry shrinkage |
US10789211B1 (en) | 2017-10-04 | 2020-09-29 | Pure Storage, Inc. | Feature-based deduplication |
US10452444B1 (en) | 2017-10-19 | 2019-10-22 | Pure Storage, Inc. | Storage system with compute resources and shared storage resources |
US11455168B1 (en) | 2017-10-19 | 2022-09-27 | Pure Storage, Inc. | Batch building for deep learning training workloads |
US12067466B2 (en) | 2017-10-19 | 2024-08-20 | Pure Storage, Inc. | Artificial intelligence and machine learning hyperscale infrastructure |
US10671435B1 (en) | 2017-10-19 | 2020-06-02 | Pure Storage, Inc. | Data transformation caching in an artificial intelligence infrastructure |
US11861423B1 (en) | 2017-10-19 | 2024-01-02 | Pure Storage, Inc. | Accelerating artificial intelligence (‘AI’) workflows |
US10360214B2 (en) | 2017-10-19 | 2019-07-23 | Pure Storage, Inc. | Ensuring reproducibility in an artificial intelligence infrastructure |
US11494692B1 (en) | 2018-03-26 | 2022-11-08 | Pure Storage, Inc. | Hyperscale artificial intelligence and machine learning infrastructure |
CN107870744A (zh) * | 2017-10-27 | 2018-04-03 | 上海新储集成电路有限公司 | 一种非同步镜像的混合硬盘阵列存储系统及方法 |
US10496330B1 (en) | 2017-10-31 | 2019-12-03 | Pure Storage, Inc. | Using flash storage devices with different sized erase blocks |
US10515701B1 (en) | 2017-10-31 | 2019-12-24 | Pure Storage, Inc. | Overlapping raid groups |
US10884919B2 (en) | 2017-10-31 | 2021-01-05 | Pure Storage, Inc. | Memory management in a storage system |
US12032848B2 (en) | 2021-06-21 | 2024-07-09 | Pure Storage, Inc. | Intelligent block allocation in a heterogeneous storage system |
US11520514B2 (en) | 2018-09-06 | 2022-12-06 | Pure Storage, Inc. | Optimized relocation of data based on data characteristics |
US10545687B1 (en) | 2017-10-31 | 2020-01-28 | Pure Storage, Inc. | Data rebuild when changing erase block sizes during drive replacement |
US12067274B2 (en) | 2018-09-06 | 2024-08-20 | Pure Storage, Inc. | Writing segments and erase blocks based on ordering |
US11024390B1 (en) | 2017-10-31 | 2021-06-01 | Pure Storage, Inc. | Overlapping RAID groups |
US11354058B2 (en) | 2018-09-06 | 2022-06-07 | Pure Storage, Inc. | Local relocation of data stored at a storage device of a storage system |
US10817392B1 (en) | 2017-11-01 | 2020-10-27 | Pure Storage, Inc. | Ensuring resiliency to storage device failures in a storage system that includes a plurality of storage devices |
US10484174B1 (en) | 2017-11-01 | 2019-11-19 | Pure Storage, Inc. | Protecting an encryption key for data stored in a storage system that includes a plurality of storage devices |
US10671494B1 (en) | 2017-11-01 | 2020-06-02 | Pure Storage, Inc. | Consistent selection of replicated datasets during storage system recovery |
US10467107B1 (en) | 2017-11-01 | 2019-11-05 | Pure Storage, Inc. | Maintaining metadata resiliency among storage device failures |
US10509581B1 (en) | 2017-11-01 | 2019-12-17 | Pure Storage, Inc. | Maintaining write consistency in a multi-threaded storage system |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
US10990566B1 (en) | 2017-11-20 | 2021-04-27 | Pure Storage, Inc. | Persistent file locks in a storage system |
US10929226B1 (en) | 2017-11-21 | 2021-02-23 | Pure Storage, Inc. | Providing for increased flexibility for large scale parity |
US10936238B2 (en) | 2017-11-28 | 2021-03-02 | Pure Storage, Inc. | Hybrid data tiering |
US10990282B1 (en) | 2017-11-28 | 2021-04-27 | Pure Storage, Inc. | Hybrid data tiering with cloud storage |
US10496541B2 (en) | 2017-11-29 | 2019-12-03 | Samsung Electronics Co., Ltd. | Dynamic cache partition manager in heterogeneous virtualization cloud cache environment |
US10795598B1 (en) | 2017-12-07 | 2020-10-06 | Pure Storage, Inc. | Volume migration for storage systems synchronously replicating a dataset |
US10929053B2 (en) | 2017-12-08 | 2021-02-23 | Pure Storage, Inc. | Safe destructive actions on drives |
US10719265B1 (en) | 2017-12-08 | 2020-07-21 | Pure Storage, Inc. | Centralized, quorum-aware handling of device reservation requests in a storage system |
US11036677B1 (en) | 2017-12-14 | 2021-06-15 | Pure Storage, Inc. | Replicated data integrity |
US10929031B2 (en) | 2017-12-21 | 2021-02-23 | Pure Storage, Inc. | Maximizing data reduction in a partially encrypted volume |
US10901634B2 (en) | 2018-01-12 | 2021-01-26 | Seagate Technology Llc | Self-healing in a storage system where critical storage group is rebuilt with different raid geometry using remaining functioning drives (in the critical storage group) that have not failed, and not all data, drained from the critical storage group, is stopped in the critical storage group that is rebuilt |
US10970395B1 (en) | 2018-01-18 | 2021-04-06 | Pure Storage, Inc | Security threat monitoring for a storage system |
CN110058785B (zh) * | 2018-01-18 | 2022-07-05 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法和设备 |
US11010233B1 (en) | 2018-01-18 | 2021-05-18 | Pure Storage, Inc | Hardware-based system monitoring |
US11144638B1 (en) | 2018-01-18 | 2021-10-12 | Pure Storage, Inc. | Method for storage system detection and alerting on potential malicious action |
US10992533B1 (en) | 2018-01-30 | 2021-04-27 | Pure Storage, Inc. | Policy based path management |
US10976948B1 (en) | 2018-01-31 | 2021-04-13 | Pure Storage, Inc. | Cluster expansion mechanism |
US10733053B1 (en) | 2018-01-31 | 2020-08-04 | Pure Storage, Inc. | Disaster recovery for high-bandwidth distributed archives |
US10467527B1 (en) | 2018-01-31 | 2019-11-05 | Pure Storage, Inc. | Method and apparatus for artificial intelligence acceleration |
US11036596B1 (en) | 2018-02-18 | 2021-06-15 | Pure Storage, Inc. | System for delaying acknowledgements on open NAND locations until durability has been confirmed |
US11494109B1 (en) | 2018-02-22 | 2022-11-08 | Pure Storage, Inc. | Erase block trimming for heterogenous flash memory storage devices |
US10942650B1 (en) | 2018-03-05 | 2021-03-09 | Pure Storage, Inc. | Reporting capacity utilization in a storage system |
US11972134B2 (en) | 2018-03-05 | 2024-04-30 | Pure Storage, Inc. | Resource utilization using normalized input/output (‘I/O’) operations |
US11150834B1 (en) | 2018-03-05 | 2021-10-19 | Pure Storage, Inc. | Determining storage consumption in a storage system |
US10521151B1 (en) | 2018-03-05 | 2019-12-31 | Pure Storage, Inc. | Determining effective space utilization in a storage system |
US11861170B2 (en) | 2018-03-05 | 2024-01-02 | Pure Storage, Inc. | Sizing resources for a replication target |
US10296258B1 (en) | 2018-03-09 | 2019-05-21 | Pure Storage, Inc. | Offloading data storage to a decentralized storage network |
US12066900B2 (en) | 2018-03-15 | 2024-08-20 | Pure Storage, Inc. | Managing disaster recovery to cloud computing environment |
US11210009B1 (en) | 2018-03-15 | 2021-12-28 | Pure Storage, Inc. | Staging data in a cloud-based storage system |
US10917471B1 (en) | 2018-03-15 | 2021-02-09 | Pure Storage, Inc. | Active membership in a cloud-based storage system |
US11048590B1 (en) | 2018-03-15 | 2021-06-29 | Pure Storage, Inc. | Data consistency during recovery in a cloud-based storage system |
US10924548B1 (en) | 2018-03-15 | 2021-02-16 | Pure Storage, Inc. | Symmetric storage using a cloud-based storage system |
US11288138B1 (en) | 2018-03-15 | 2022-03-29 | Pure Storage, Inc. | Recovery from a system fault in a cloud-based storage system |
US11171950B1 (en) | 2018-03-21 | 2021-11-09 | Pure Storage, Inc. | Secure cloud-based storage system management |
US11095706B1 (en) | 2018-03-21 | 2021-08-17 | Pure Storage, Inc. | Secure cloud-based storage system management |
US10838833B1 (en) | 2018-03-26 | 2020-11-17 | Pure Storage, Inc. | Providing for high availability in a data analytics pipeline without replicas |
US11934322B1 (en) | 2018-04-05 | 2024-03-19 | Pure Storage, Inc. | Multiple encryption keys on storage drives |
US10832728B2 (en) * | 2018-04-05 | 2020-11-10 | International Business Machines Corporation | Location selection based on adjacent location errors |
US11436344B1 (en) | 2018-04-24 | 2022-09-06 | Pure Storage, Inc. | Secure encryption in deduplication cluster |
US11392553B1 (en) | 2018-04-24 | 2022-07-19 | Pure Storage, Inc. | Remote data management |
US11995336B2 (en) | 2018-04-25 | 2024-05-28 | Pure Storage, Inc. | Bucket views |
US12001688B2 (en) | 2019-04-29 | 2024-06-04 | Pure Storage, Inc. | Utilizing data views to optimize secure data access in a storage system |
US12079494B2 (en) | 2018-04-27 | 2024-09-03 | Pure Storage, Inc. | Optimizing storage system upgrades to preserve resources |
US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
US10678433B1 (en) | 2018-04-27 | 2020-06-09 | Pure Storage, Inc. | Resource-preserving system upgrade |
US10853146B1 (en) | 2018-04-27 | 2020-12-01 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US10931450B1 (en) | 2018-04-27 | 2021-02-23 | Pure Storage, Inc. | Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers |
TWI650763B (zh) * | 2018-05-14 | 2019-02-11 | 慧榮科技股份有限公司 | 用來進行記憶裝置的頁可用性管理之方法、記憶裝置及電子裝置以及頁可用性管理系統 |
US11455409B2 (en) | 2018-05-21 | 2022-09-27 | Pure Storage, Inc. | Storage layer data obfuscation |
US12086431B1 (en) | 2018-05-21 | 2024-09-10 | Pure Storage, Inc. | Selective communication protocol layering for synchronous replication |
US10992598B2 (en) | 2018-05-21 | 2021-04-27 | Pure Storage, Inc. | Synchronously replicating when a mediation service becomes unavailable |
US11954220B2 (en) | 2018-05-21 | 2024-04-09 | Pure Storage, Inc. | Data protection for container storage |
US11675503B1 (en) | 2018-05-21 | 2023-06-13 | Pure Storage, Inc. | Role-based data access |
US10871922B2 (en) | 2018-05-22 | 2020-12-22 | Pure Storage, Inc. | Integrated storage management between storage systems and container orchestrators |
US10678436B1 (en) | 2018-05-29 | 2020-06-09 | Pure Storage, Inc. | Using a PID controller to opportunistically compress more data during garbage collection |
US11436023B2 (en) | 2018-05-31 | 2022-09-06 | Pure Storage, Inc. | Mechanism for updating host file system and flash translation layer based on underlying NAND technology |
US10776046B1 (en) | 2018-06-08 | 2020-09-15 | Pure Storage, Inc. | Optimized non-uniform memory access |
US11281577B1 (en) | 2018-06-19 | 2022-03-22 | Pure Storage, Inc. | Garbage collection tuning for low drive wear |
US10929229B2 (en) | 2018-06-21 | 2021-02-23 | International Business Machines Corporation | Decentralized RAID scheme having distributed parity computation and recovery |
US10884889B2 (en) * | 2018-06-22 | 2021-01-05 | Seagate Technology Llc | Allocating part of a raid stripe to repair a second raid stripe |
US11157361B2 (en) | 2018-06-29 | 2021-10-26 | International Business Machines Corporation | Efficient utilization of storage space in arrays of storage drives |
US11748196B2 (en) | 2018-06-29 | 2023-09-05 | International Business Machines Corporation | Adaptive parity rotation for redundant arrays of independent disks |
US11869586B2 (en) | 2018-07-11 | 2024-01-09 | Pure Storage, Inc. | Increased data protection by recovering data from partially-failed solid-state devices |
US11416298B1 (en) | 2018-07-20 | 2022-08-16 | Pure Storage, Inc. | Providing application-specific storage by a storage system |
US11403000B1 (en) | 2018-07-20 | 2022-08-02 | Pure Storage, Inc. | Resiliency in a cloud-based storage system |
US11438279B2 (en) | 2018-07-23 | 2022-09-06 | Pure Storage, Inc. | Non-disruptive conversion of a clustered service from single-chassis to multi-chassis |
US11954238B1 (en) | 2018-07-24 | 2024-04-09 | Pure Storage, Inc. | Role-based access control for a storage system |
US11146564B1 (en) | 2018-07-24 | 2021-10-12 | Pure Storage, Inc. | Login authentication in a cloud storage platform |
US11632360B1 (en) | 2018-07-24 | 2023-04-18 | Pure Storage, Inc. | Remote access to a storage device |
CN112513804B (zh) | 2018-07-26 | 2022-08-19 | 华为技术有限公司 | 一种数据处理方法及装置 |
US10996886B2 (en) * | 2018-08-02 | 2021-05-04 | Alibaba Group Holding Limited | Method and system for facilitating atomicity and latency assurance on variable sized I/O |
US11055008B2 (en) * | 2018-08-02 | 2021-07-06 | EMC IP Holding Company LLC | Managing wear balancing in mapped RAID storage systems |
US11133076B2 (en) | 2018-09-06 | 2021-09-28 | Pure Storage, Inc. | Efficient relocation of data between storage devices of a storage system |
US11500570B2 (en) | 2018-09-06 | 2022-11-15 | Pure Storage, Inc. | Efficient relocation of data utilizing different programming modes |
US11868309B2 (en) | 2018-09-06 | 2024-01-09 | Pure Storage, Inc. | Queue management for data relocation |
US11194759B2 (en) | 2018-09-06 | 2021-12-07 | Pure Storage, Inc. | Optimizing local data relocation operations of a storage device of a storage system |
TWI703438B (zh) * | 2018-09-11 | 2020-09-01 | 慧榮科技股份有限公司 | 映射表更新方法 |
US11860820B1 (en) | 2018-09-11 | 2024-01-02 | Pure Storage, Inc. | Processing data through a storage system in a data pipeline |
US10454498B1 (en) | 2018-10-18 | 2019-10-22 | Pure Storage, Inc. | Fully pipelined hardware engine design for fast and efficient inline lossless data compression |
US10846216B2 (en) | 2018-10-25 | 2020-11-24 | Pure Storage, Inc. | Scalable garbage collection |
US11113409B2 (en) | 2018-10-26 | 2021-09-07 | Pure Storage, Inc. | Efficient rekey in a transparent decrypting storage array |
US12026381B2 (en) | 2018-10-26 | 2024-07-02 | Pure Storage, Inc. | Preserving identities and policies across replication |
US10671302B1 (en) | 2018-10-26 | 2020-06-02 | Pure Storage, Inc. | Applying a rate limit across a plurality of storage systems |
US10976947B2 (en) | 2018-10-26 | 2021-04-13 | Pure Storage, Inc. | Dynamically selecting segment heights in a heterogeneous RAID group |
US10922178B2 (en) * | 2018-10-31 | 2021-02-16 | Hewlett Packard Enterprise Development Lp | Masterless raid for byte-addressable non-volatile memory |
US10963189B1 (en) | 2018-11-18 | 2021-03-30 | Pure Storage, Inc. | Coalescing write operations in a cloud-based storage system |
US11340837B1 (en) | 2018-11-18 | 2022-05-24 | Pure Storage, Inc. | Storage system management via a remote console |
US12026061B1 (en) | 2018-11-18 | 2024-07-02 | Pure Storage, Inc. | Restoring a cloud-based storage system to a selected state |
US11526405B1 (en) | 2018-11-18 | 2022-12-13 | Pure Storage, Inc. | Cloud-based disaster recovery |
US11023179B2 (en) | 2018-11-18 | 2021-06-01 | Pure Storage, Inc. | Cloud-based storage system storage management |
US12026060B1 (en) | 2018-11-18 | 2024-07-02 | Pure Storage, Inc. | Reverting between codified states in a cloud-based storage system |
US11650749B1 (en) | 2018-12-17 | 2023-05-16 | Pure Storage, Inc. | Controlling access to sensitive data in a shared dataset |
US11003369B1 (en) | 2019-01-14 | 2021-05-11 | Pure Storage, Inc. | Performing a tune-up procedure on a storage device during a boot process |
US11194473B1 (en) | 2019-01-23 | 2021-12-07 | Pure Storage, Inc. | Programming frequently read data to low latency portions of a solid-state storage array |
US11588633B1 (en) | 2019-03-15 | 2023-02-21 | Pure Storage, Inc. | Decommissioning keys in a decryption storage system |
US11042452B1 (en) | 2019-03-20 | 2021-06-22 | Pure Storage, Inc. | Storage system data recovery using data recovery as a service |
US11334254B2 (en) | 2019-03-29 | 2022-05-17 | Pure Storage, Inc. | Reliability based flash page sizing |
US11221778B1 (en) | 2019-04-02 | 2022-01-11 | Pure Storage, Inc. | Preparing data for deduplication |
US11397674B1 (en) | 2019-04-03 | 2022-07-26 | Pure Storage, Inc. | Optimizing garbage collection across heterogeneous flash devices |
US11775189B2 (en) | 2019-04-03 | 2023-10-03 | Pure Storage, Inc. | Segment level heterogeneity |
US10990480B1 (en) | 2019-04-05 | 2021-04-27 | Pure Storage, Inc. | Performance of RAID rebuild operations by a storage group controller of a storage system |
US11068162B1 (en) | 2019-04-09 | 2021-07-20 | Pure Storage, Inc. | Storage management in a cloud data store |
US12087382B2 (en) | 2019-04-11 | 2024-09-10 | Pure Storage, Inc. | Adaptive threshold for bad flash memory blocks |
US11099986B2 (en) | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
US11853266B2 (en) | 2019-05-15 | 2023-12-26 | Pure Storage, Inc. | Providing a file system in a cloud environment |
US11327676B1 (en) | 2019-07-18 | 2022-05-10 | Pure Storage, Inc. | Predictive data streaming in a virtual storage system |
US11126364B2 (en) | 2019-07-18 | 2021-09-21 | Pure Storage, Inc. | Virtual storage system architecture |
US11392555B2 (en) | 2019-05-15 | 2022-07-19 | Pure Storage, Inc. | Cloud-based file services |
US12001355B1 (en) | 2019-05-24 | 2024-06-04 | Pure Storage, Inc. | Chunked memory efficient storage data transfers |
US11487665B2 (en) | 2019-06-05 | 2022-11-01 | Pure Storage, Inc. | Tiered caching of data in a storage system |
US11714572B2 (en) | 2019-06-19 | 2023-08-01 | Pure Storage, Inc. | Optimized data resiliency in a modular storage system |
US11281394B2 (en) | 2019-06-24 | 2022-03-22 | Pure Storage, Inc. | Replication across partitioning schemes in a distributed storage system |
US11106370B2 (en) | 2019-07-02 | 2021-08-31 | Micron Technology, Inc. | Changing of memory components to be used for a stripe based on an endurance condition |
US10929046B2 (en) | 2019-07-09 | 2021-02-23 | Pure Storage, Inc. | Identifying and relocating hot data to a cache determined with read velocity based on a threshold stored at a storage device |
US11861221B1 (en) | 2019-07-18 | 2024-01-02 | Pure Storage, Inc. | Providing scalable and reliable container-based storage services |
US11093139B1 (en) | 2019-07-18 | 2021-08-17 | Pure Storage, Inc. | Durably storing data within a virtual storage system |
US11797197B1 (en) | 2019-07-18 | 2023-10-24 | Pure Storage, Inc. | Dynamic scaling of a virtual storage system |
US11422751B2 (en) | 2019-07-18 | 2022-08-23 | Pure Storage, Inc. | Creating a virtual storage system |
US11526408B2 (en) | 2019-07-18 | 2022-12-13 | Pure Storage, Inc. | Data recovery in a virtual storage system |
US11487715B1 (en) * | 2019-07-18 | 2022-11-01 | Pure Storage, Inc. | Resiliency in a cloud-based storage system |
US11086713B1 (en) | 2019-07-23 | 2021-08-10 | Pure Storage, Inc. | Optimized end-to-end integrity storage system |
JP6942163B2 (ja) * | 2019-08-06 | 2021-09-29 | 株式会社日立製作所 | ドライブボックス、ストレージシステム及びデータ転送方法 |
US11086553B1 (en) | 2019-08-28 | 2021-08-10 | Pure Storage, Inc. | Tiering duplicated objects in a cloud-based object store |
US11693713B1 (en) | 2019-09-04 | 2023-07-04 | Pure Storage, Inc. | Self-tuning clusters for resilient microservices |
US11963321B2 (en) | 2019-09-11 | 2024-04-16 | Pure Storage, Inc. | Low profile latching mechanism |
US12045252B2 (en) | 2019-09-13 | 2024-07-23 | Pure Storage, Inc. | Providing quality of service (QoS) for replicating datasets |
US11360689B1 (en) | 2019-09-13 | 2022-06-14 | Pure Storage, Inc. | Cloning a tracking copy of replica data |
US11797569B2 (en) | 2019-09-13 | 2023-10-24 | Pure Storage, Inc. | Configurable data replication |
US11573864B1 (en) | 2019-09-16 | 2023-02-07 | Pure Storage, Inc. | Automating database management in a storage system |
US11669386B1 (en) | 2019-10-08 | 2023-06-06 | Pure Storage, Inc. | Managing an application's resource stack |
US11893126B2 (en) | 2019-10-14 | 2024-02-06 | Pure Storage, Inc. | Data deletion for a multi-tenant environment |
US11403043B2 (en) | 2019-10-15 | 2022-08-02 | Pure Storage, Inc. | Efficient data compression by grouping similar data within a data segment |
RU2019134842A (ru) * | 2019-10-30 | 2021-04-30 | ИЭмСи АйПи ХОЛДИНГ КОМПАНИ, ЛЛС | Система и способ выбора уровня избыточного массива независимых дисков (raid) для экстента сегмента запоминающего устройства |
US12079502B2 (en) | 2019-11-22 | 2024-09-03 | Pure Storage, Inc. | Storage element attribute-based determination of a data protection policy for use within a storage system |
US11645162B2 (en) | 2019-11-22 | 2023-05-09 | Pure Storage, Inc. | Recovery point determination for data restoration in a storage system |
US11625481B2 (en) | 2019-11-22 | 2023-04-11 | Pure Storage, Inc. | Selective throttling of operations potentially related to a security threat to a storage system |
US12067118B2 (en) | 2019-11-22 | 2024-08-20 | Pure Storage, Inc. | Detection of writing to a non-header portion of a file as an indicator of a possible ransomware attack against a storage system |
US11657155B2 (en) | 2019-11-22 | 2023-05-23 | Pure Storage, Inc | Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system |
US11720714B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Inter-I/O relationship based detection of a security threat to a storage system |
US11941116B2 (en) | 2019-11-22 | 2024-03-26 | Pure Storage, Inc. | Ransomware-based data protection parameter modification |
US11520907B1 (en) | 2019-11-22 | 2022-12-06 | Pure Storage, Inc. | Storage system snapshot retention based on encrypted data |
US12050683B2 (en) | 2019-11-22 | 2024-07-30 | Pure Storage, Inc. | Selective control of a data synchronization setting of a storage system based on a possible ransomware attack against the storage system |
US11615185B2 (en) | 2019-11-22 | 2023-03-28 | Pure Storage, Inc. | Multi-layer security threat detection for a storage system |
US12050689B2 (en) | 2019-11-22 | 2024-07-30 | Pure Storage, Inc. | Host anomaly-based generation of snapshots |
US11500788B2 (en) | 2019-11-22 | 2022-11-15 | Pure Storage, Inc. | Logical address based authorization of operations with respect to a storage system |
US11755751B2 (en) | 2019-11-22 | 2023-09-12 | Pure Storage, Inc. | Modify access restrictions in response to a possible attack against data stored by a storage system |
US11341236B2 (en) | 2019-11-22 | 2022-05-24 | Pure Storage, Inc. | Traffic-based detection of a security threat to a storage system |
US11651075B2 (en) | 2019-11-22 | 2023-05-16 | Pure Storage, Inc. | Extensible attack monitoring by a storage system |
US12079356B2 (en) | 2019-11-22 | 2024-09-03 | Pure Storage, Inc. | Measurement interval anomaly detection-based generation of snapshots |
US11687418B2 (en) | 2019-11-22 | 2023-06-27 | Pure Storage, Inc. | Automatic generation of recovery plans specific to individual storage elements |
US11720692B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Hardware token based management of recovery datasets for a storage system |
US11675898B2 (en) | 2019-11-22 | 2023-06-13 | Pure Storage, Inc. | Recovery dataset management for security threat monitoring |
US12079333B2 (en) | 2019-11-22 | 2024-09-03 | Pure Storage, Inc. | Independent security threat detection and remediation by storage systems in a synchronous replication arrangement |
US11943293B1 (en) | 2019-12-06 | 2024-03-26 | Pure Storage, Inc. | Restoring a storage system from a replication target |
US11416144B2 (en) | 2019-12-12 | 2022-08-16 | Pure Storage, Inc. | Dynamic use of segment or zone power loss protection in a flash device |
US12001684B2 (en) | 2019-12-12 | 2024-06-04 | Pure Storage, Inc. | Optimizing dynamic power loss protection adjustment in a storage system |
US11704192B2 (en) | 2019-12-12 | 2023-07-18 | Pure Storage, Inc. | Budgeting open blocks based on power loss protection |
US11847331B2 (en) | 2019-12-12 | 2023-12-19 | Pure Storage, Inc. | Budgeting open blocks of a storage unit based on power loss prevention |
US11733901B1 (en) | 2020-01-13 | 2023-08-22 | Pure Storage, Inc. | Providing persistent storage to transient cloud computing services |
US11720497B1 (en) | 2020-01-13 | 2023-08-08 | Pure Storage, Inc. | Inferred nonsequential prefetch based on data access patterns |
US11709636B1 (en) | 2020-01-13 | 2023-07-25 | Pure Storage, Inc. | Non-sequential readahead for deep learning training |
US12014065B2 (en) | 2020-02-11 | 2024-06-18 | Pure Storage, Inc. | Multi-cloud orchestration as-a-service |
US11868622B2 (en) | 2020-02-25 | 2024-01-09 | Pure Storage, Inc. | Application recovery across storage systems |
US11637896B1 (en) | 2020-02-25 | 2023-04-25 | Pure Storage, Inc. | Migrating applications to a cloud-computing environment |
US11188432B2 (en) | 2020-02-28 | 2021-11-30 | Pure Storage, Inc. | Data resiliency by partially deallocating data blocks of a storage device |
US10990474B1 (en) * | 2020-03-06 | 2021-04-27 | Seagate Technology Llc | Cost-benefit aware read-amplification in RAID scrubbing |
US12038881B2 (en) | 2020-03-25 | 2024-07-16 | Pure Storage, Inc. | Replica transitions for file storage |
US11321006B1 (en) | 2020-03-25 | 2022-05-03 | Pure Storage, Inc. | Data loss prevention during transitions from a replication source |
US11630598B1 (en) | 2020-04-06 | 2023-04-18 | Pure Storage, Inc. | Scheduling data replication operations |
US11301152B1 (en) | 2020-04-06 | 2022-04-12 | Pure Storage, Inc. | Intelligently moving data between storage systems |
US11494267B2 (en) | 2020-04-14 | 2022-11-08 | Pure Storage, Inc. | Continuous value data redundancy |
US11507297B2 (en) | 2020-04-15 | 2022-11-22 | Pure Storage, Inc. | Efficient management of optimal read levels for flash storage systems |
US11256587B2 (en) | 2020-04-17 | 2022-02-22 | Pure Storage, Inc. | Intelligent access to a storage device |
US11921670B1 (en) | 2020-04-20 | 2024-03-05 | Pure Storage, Inc. | Multivariate data backup retention policies |
US11416338B2 (en) | 2020-04-24 | 2022-08-16 | Pure Storage, Inc. | Resiliency scheme to enhance storage performance |
US11789611B2 (en) | 2020-04-24 | 2023-10-17 | Netapp, Inc. | Methods for handling input-output operations in zoned storage systems and devices thereof |
US12056365B2 (en) | 2020-04-24 | 2024-08-06 | Pure Storage, Inc. | Resiliency for a storage system |
US11474986B2 (en) | 2020-04-24 | 2022-10-18 | Pure Storage, Inc. | Utilizing machine learning to streamline telemetry processing of storage media |
WO2021232024A1 (en) * | 2020-05-15 | 2021-11-18 | Rey Bruce | Artificial intelligence-based hybrid raid controller device |
US11431488B1 (en) | 2020-06-08 | 2022-08-30 | Pure Storage, Inc. | Protecting local key generation using a remote key management service |
CN111767165B (zh) * | 2020-06-30 | 2024-06-14 | 杭州海康存储科技有限公司 | 数据处理方法、装置及控制设备 |
US11768763B2 (en) | 2020-07-08 | 2023-09-26 | Pure Storage, Inc. | Flash secure erase |
US11442652B1 (en) | 2020-07-23 | 2022-09-13 | Pure Storage, Inc. | Replication handling during storage system transportation |
US11349917B2 (en) | 2020-07-23 | 2022-05-31 | Pure Storage, Inc. | Replication handling among distinct networks |
US12056625B2 (en) | 2020-08-03 | 2024-08-06 | Dell Products L.P. | Determination of storage configuration for enterprise distributed environment |
US11507298B2 (en) * | 2020-08-18 | 2022-11-22 | PetaIO Inc. | Computational storage systems and methods |
US11275652B1 (en) * | 2020-09-01 | 2022-03-15 | EMC IP Holding Company LLC | Storing erasure coded data based on reliability of storage devices |
US12079222B1 (en) | 2020-09-04 | 2024-09-03 | Pure Storage, Inc. | Enabling data portability between systems |
US11513974B2 (en) | 2020-09-08 | 2022-11-29 | Pure Storage, Inc. | Using nonce to control erasure of data blocks of a multi-controller storage system |
US11681448B2 (en) | 2020-09-08 | 2023-06-20 | Pure Storage, Inc. | Multiple device IDs in a multi-fabric module storage system |
US11934675B2 (en) * | 2020-09-12 | 2024-03-19 | Western Digital Technologies, Inc. | Mixed mode block cycling for intermediate data |
US11487455B2 (en) | 2020-12-17 | 2022-11-01 | Pure Storage, Inc. | Dynamic block allocation to optimize storage system performance |
US11847324B2 (en) | 2020-12-31 | 2023-12-19 | Pure Storage, Inc. | Optimizing resiliency groups for data regions of a storage system |
US12093545B2 (en) | 2020-12-31 | 2024-09-17 | Pure Storage, Inc. | Storage system with selectable write modes |
US11614880B2 (en) | 2020-12-31 | 2023-03-28 | Pure Storage, Inc. | Storage system with selectable write paths |
US12067282B2 (en) | 2020-12-31 | 2024-08-20 | Pure Storage, Inc. | Write path selection |
US11397545B1 (en) | 2021-01-20 | 2022-07-26 | Pure Storage, Inc. | Emulating persistent reservations in a cloud-based storage system |
US11853285B1 (en) | 2021-01-22 | 2023-12-26 | Pure Storage, Inc. | Blockchain logging of volume-level events in a storage system |
US12061814B2 (en) | 2021-01-25 | 2024-08-13 | Pure Storage, Inc. | Using data similarity to select segments for garbage collection |
KR20230132529A (ko) | 2021-01-25 | 2023-09-15 | 볼루메즈 테크놀로지스 엘티디. | 운영 시스템 기반 스토리지 방법 및 시스템 |
US11340987B1 (en) | 2021-03-04 | 2022-05-24 | Netapp, Inc. | Methods and systems for raid protection in zoned solid-state drives |
US11630593B2 (en) | 2021-03-12 | 2023-04-18 | Pure Storage, Inc. | Inline flash memory qualification in a storage system |
US12099742B2 (en) | 2021-03-15 | 2024-09-24 | Pure Storage, Inc. | Utilizing programming page size granularity to optimize data segment storage in a storage system |
US11507597B2 (en) | 2021-03-31 | 2022-11-22 | Pure Storage, Inc. | Data replication to meet a recovery point objective |
CN115220646A (zh) * | 2021-04-21 | 2022-10-21 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
US12086649B2 (en) | 2021-05-12 | 2024-09-10 | Pure Storage, Inc. | Rebalancing in a fleet of storage systems using data science |
US11816129B2 (en) | 2021-06-22 | 2023-11-14 | Pure Storage, Inc. | Generating datasets using approximate baselines |
US11832410B2 (en) | 2021-09-14 | 2023-11-28 | Pure Storage, Inc. | Mechanical energy absorbing bracket apparatus |
JP2023044168A (ja) | 2021-09-17 | 2023-03-30 | キオクシア株式会社 | メモリコントローラ、メモリシステム、及び情報処理システム |
US11797377B2 (en) | 2021-10-05 | 2023-10-24 | Netapp, Inc. | Efficient parity determination in zoned solid-state drives of a storage system |
US11714723B2 (en) | 2021-10-29 | 2023-08-01 | Pure Storage, Inc. | Coordinated snapshots for data stored across distinct storage environments |
US11893263B2 (en) | 2021-10-29 | 2024-02-06 | Pure Storage, Inc. | Coordinated checkpoints among storage systems implementing checkpoint-based replication |
US11914867B2 (en) | 2021-10-29 | 2024-02-27 | Pure Storage, Inc. | Coordinated snapshots among storage systems implementing a promotion/demotion model |
KR102493864B1 (ko) | 2021-11-16 | 2023-01-31 | 삼성전자주식회사 | 스토리지 장치의 동작 방법 및 호스트 및 스토리지 장치를 포함하는 스토리지 시스템의 동작 방법 |
US11803329B2 (en) | 2021-11-22 | 2023-10-31 | Netapp, Inc. | Methods and systems for processing write requests in a storage system |
US11922052B2 (en) | 2021-12-15 | 2024-03-05 | Pure Storage, Inc. | Managing links between storage objects |
US11816359B2 (en) | 2021-12-16 | 2023-11-14 | Netapp, Inc. | Scalable solid-state storage system and methods thereof |
US11940911B2 (en) | 2021-12-17 | 2024-03-26 | Netapp, Inc. | Persistent key-value store and journaling system |
US11847071B2 (en) | 2021-12-30 | 2023-12-19 | Pure Storage, Inc. | Enabling communication between a single-port device and multiple storage system controllers |
US11994723B2 (en) | 2021-12-30 | 2024-05-28 | Pure Storage, Inc. | Ribbon cable alignment apparatus |
US12001300B2 (en) | 2022-01-04 | 2024-06-04 | Pure Storage, Inc. | Assessing protection for storage resources |
CN114442950B (zh) * | 2022-01-21 | 2024-01-23 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据恢复方法、系统、装置及计算机可读存储介质 |
US11860780B2 (en) | 2022-01-28 | 2024-01-02 | Pure Storage, Inc. | Storage cache management |
US11886295B2 (en) | 2022-01-31 | 2024-01-30 | Pure Storage, Inc. | Intra-block error correction |
WO2023162465A1 (ja) * | 2022-02-24 | 2023-08-31 | ソニーセミコンダクタソリューションズ株式会社 | ライトバッファ制御回路 |
CN116027991B (zh) * | 2023-03-29 | 2023-09-19 | 苏州浪潮智能科技有限公司 | Raid阵列管理方法、装置、raid卡及存储介质 |
CN117908804B (zh) * | 2024-03-19 | 2024-05-28 | 中国空气动力研究与发展中心计算空气动力研究所 | 基于作业感知的文件条带化方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6275898B1 (en) * | 1999-05-13 | 2001-08-14 | Lsi Logic Corporation | Methods and structure for RAID level migration within a logical unit |
CN101576833A (zh) * | 2009-06-26 | 2009-11-11 | 杭州华三通信技术有限公司 | 一种独立磁盘冗余阵列raid数据重建方法和装置 |
Family Cites Families (362)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5208813A (en) | 1990-10-23 | 1993-05-04 | Array Technology Corporation | On-line reconstruction of a failed redundant array system |
EP0485110B1 (en) * | 1990-11-09 | 1999-08-25 | Emc Corporation | Logical partitioning of a redundant array storage system |
US5379305A (en) * | 1992-07-20 | 1995-01-03 | Digital Equipment Corporation | Error correction system with selectable error correction capabilities |
US5403639A (en) | 1992-09-02 | 1995-04-04 | Storage Technology Corporation | File server having snapshot application data groups |
DE9310582U1 (de) | 1993-07-15 | 1993-09-23 | Paul Hettich GmbH & Co, 32278 Kirchlengern | Rasteinrichtung fuer schubkaesten o.dgl. |
JP2905368B2 (ja) * | 1993-08-10 | 1999-06-14 | 富士通株式会社 | 誤り検出・訂正方法 |
US5479653A (en) * | 1994-07-14 | 1995-12-26 | Dellusa, L.P. | Disk array apparatus and method which supports compound raid configurations and spareless hot sparing |
JPH08137627A (ja) * | 1994-11-07 | 1996-05-31 | Fujitsu Ltd | ディスクアレイ装置 |
US5651133A (en) | 1995-02-01 | 1997-07-22 | Hewlett-Packard Company | Methods for avoiding over-commitment of virtual capacity in a redundant hierarchic data storage system |
JPH08242229A (ja) | 1995-03-01 | 1996-09-17 | Fujitsu Ltd | ネットワーク監視における状態整合処理システム |
US6412045B1 (en) | 1995-05-23 | 2002-06-25 | Lsi Logic Corporation | Method for transferring data from a host computer to a storage media using selectable caching strategies |
JP3062050B2 (ja) | 1995-07-21 | 2000-07-10 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | ディスク駆動制御方法及び装置 |
US5799200A (en) | 1995-09-28 | 1998-08-25 | Emc Corporation | Power failure responsive apparatus and method having a shadow dram, a flash ROM, an auxiliary battery, and a controller |
US5822782A (en) | 1995-10-27 | 1998-10-13 | Symbios, Inc. | Methods and structure to maintain raid configuration information on disks of the array |
US6012032A (en) | 1995-11-30 | 2000-01-04 | Electronic Data Systems Corporation | System and method for accounting of computer data storage utilization |
JP3648311B2 (ja) | 1995-12-12 | 2005-05-18 | 富士通株式会社 | ディスクアレイ装置 |
JPH09244931A (ja) | 1996-03-06 | 1997-09-19 | Mitsubishi Electric Corp | リアルタイムファイルシステム |
US5933598A (en) | 1996-07-17 | 1999-08-03 | Digital Equipment Corporation | Method for sharing variable-grained memory of workstations by sending particular block including line and size of the block to exchange shared data structures |
US5832529A (en) | 1996-10-11 | 1998-11-03 | Sun Microsystems, Inc. | Methods, apparatus, and product for distributed garbage collection |
JP3595099B2 (ja) * | 1997-03-17 | 2004-12-02 | 富士通株式会社 | デバイスアレイ・システム |
US5940838A (en) | 1997-07-11 | 1999-08-17 | International Business Machines Corporation | Parallel file system and method anticipating cache usage patterns |
US6038639A (en) | 1997-09-09 | 2000-03-14 | Storage Technology Corporation | Data file storage management system for snapshot copy operations |
US6085333A (en) | 1997-12-19 | 2000-07-04 | Lsi Logic Corporation | Method and apparatus for synchronization of code in redundant controllers in a swappable environment |
JPH11305954A (ja) | 1998-04-27 | 1999-11-05 | Oki Electric Ind Co Ltd | 半導体記憶装置及び半導体記憶装置の書き換え制御方法 |
US6530035B1 (en) * | 1998-10-23 | 2003-03-04 | Oracle Corporation | Method and system for managing storage systems containing redundancy data |
US6799283B1 (en) | 1998-12-04 | 2004-09-28 | Matsushita Electric Industrial Co., Ltd. | Disk array device |
JP2000181803A (ja) | 1998-12-18 | 2000-06-30 | Fujitsu Ltd | 鍵管理機能付電子データ保管装置および電子データ保管方法 |
US6834298B1 (en) | 1999-09-21 | 2004-12-21 | Siemens Information And Communication Networks, Inc. | System and method for network auto-discovery and configuration |
US6516425B1 (en) * | 1999-10-29 | 2003-02-04 | Hewlett-Packard Co. | Raid rebuild using most vulnerable data redundancy scheme first |
US6826711B2 (en) * | 2000-02-18 | 2004-11-30 | Avamar Technologies, Inc. | System and method for data protection with multidimensional parity |
US6647514B1 (en) | 2000-03-23 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Host I/O performance and availability of a storage array during rebuild by prioritizing I/O request |
US6643641B1 (en) | 2000-04-27 | 2003-11-04 | Russell Snyder | Web search engine with graphic snapshots |
US6804755B2 (en) | 2000-06-19 | 2004-10-12 | Storage Technology Corporation | Apparatus and method for performing an instant copy of data based on a dynamically changeable virtual mapping scheme |
US6912537B2 (en) | 2000-06-20 | 2005-06-28 | Storage Technology Corporation | Dynamically changeable virtual mapping scheme |
JP2002041305A (ja) | 2000-07-26 | 2002-02-08 | Hitachi Ltd | 仮想計算機システムにおける計算機資源の割当て方法および仮想計算機システム |
JP2002108573A (ja) | 2000-09-28 | 2002-04-12 | Nec Corp | ディスクアレイ装置、そのエラー制御方法、ならびにその制御プログラムを記録した記録媒体 |
US6789162B1 (en) | 2000-10-17 | 2004-09-07 | Sun Microsystems, Inc. | Storage controller configured to select unused regions of a storage device for data storage according to head position |
US6718448B1 (en) | 2000-11-28 | 2004-04-06 | Emc Corporation | Queued locking of a shared resource using multimodal lock types |
US6757769B1 (en) | 2000-11-28 | 2004-06-29 | Emc Corporation | Cooperative lock override procedure |
KR100388498B1 (ko) * | 2000-12-30 | 2003-06-25 | 한국전자통신연구원 | 복수 개의 레이드를 구비한 계층적 레이드 시스템 |
US6681290B2 (en) | 2001-01-29 | 2004-01-20 | International Business Machines Corporation | Physical data layout to reduce seeks in a raid system |
US6850938B1 (en) | 2001-02-08 | 2005-02-01 | Cisco Technology, Inc. | Method and apparatus providing optimistic locking of shared computer resources |
EP1370950B1 (en) | 2001-02-13 | 2017-12-27 | NetApp, Inc. | System and method for policy based storage provisioning and management |
US6854071B2 (en) | 2001-05-14 | 2005-02-08 | International Business Machines Corporation | Method and apparatus for providing write recovery of faulty data in a non-redundant raid system |
US6981171B2 (en) * | 2001-06-05 | 2005-12-27 | Sun Microsystems, Inc. | Data storage array employing block verification information to invoke initialization procedures |
US7075874B2 (en) * | 2001-07-17 | 2006-07-11 | Hewlett-Packard Development Company, L.P. | Data storage device monitoring system, method and removable data carrier use with data storage systems |
US6961890B2 (en) * | 2001-08-16 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | Dynamic variable-length error correction code |
JP2003122508A (ja) * | 2001-10-15 | 2003-04-25 | Hitachi Ltd | ボリューム管理方法及び装置 |
US6973549B1 (en) | 2001-12-10 | 2005-12-06 | Incipient, Inc. | Locking technique for control and synchronization |
US6986015B2 (en) | 2001-12-10 | 2006-01-10 | Incipient, Inc. | Fast path caching |
US7111117B2 (en) * | 2001-12-19 | 2006-09-19 | Broadcom Corporation | Expansion of RAID subsystems using spare space with immediate access to new space |
US6857045B2 (en) | 2002-01-25 | 2005-02-15 | International Business Machines Corporation | Method and system for updating data in a compressed read cache |
US7200715B2 (en) | 2002-03-21 | 2007-04-03 | Network Appliance, Inc. | Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes |
US6985995B2 (en) * | 2002-03-29 | 2006-01-10 | Panasas, Inc. | Data file migration from a mirrored RAID to a non-mirrored XOR-based RAID without rewriting the data |
US6728738B2 (en) | 2002-04-03 | 2004-04-27 | Sun Microsystems, Inc. | Fast lifetime analysis of objects in a garbage-collected system |
US6895464B2 (en) | 2002-06-03 | 2005-05-17 | Honeywell International Inc. | Flash memory management system and method utilizing multiple block list windows |
US6938123B2 (en) | 2002-07-19 | 2005-08-30 | Storage Technology Corporation | System and method for raid striping |
US7334124B2 (en) | 2002-07-22 | 2008-02-19 | Vormetric, Inc. | Logical access block processing protocol for transparent secure file storage |
US7146521B1 (en) | 2002-08-21 | 2006-12-05 | 3Pardata, Inc. | Preventing damage of storage devices and data loss in a data storage system |
WO2004021191A1 (ja) | 2002-08-29 | 2004-03-11 | Matsushita Electric Industrial Co., Ltd. | 半導体メモリ装置、及び、フラッシュメモリへのデータ書き込み方法 |
US7260628B2 (en) | 2002-09-06 | 2007-08-21 | Hitachi, Ltd. | Event notification in storage networks |
US7216164B1 (en) | 2002-10-09 | 2007-05-08 | Cisco Technology, Inc. | Methods and apparatus for determining the performance of a server |
US6952794B2 (en) * | 2002-10-10 | 2005-10-04 | Ching-Hung Lu | Method, system and apparatus for scanning newly added disk drives and automatically updating RAID configuration and rebuilding RAID data |
US20040153844A1 (en) | 2002-10-28 | 2004-08-05 | Gautam Ghose | Failure analysis method and system for storage area networks |
US6831865B2 (en) | 2002-10-28 | 2004-12-14 | Sandisk Corporation | Maintaining erase counts in non-volatile storage systems |
US7028218B2 (en) | 2002-12-02 | 2006-04-11 | Emc Corporation | Redundant multi-processor and logical processor configuration for a file server |
US7072905B2 (en) | 2002-12-06 | 2006-07-04 | Sun Microsystems, Inc. | Better placement of objects reachable from outside a generation managed by the train algorithm |
JP2004213064A (ja) * | 2002-12-26 | 2004-07-29 | Fujitsu Ltd | Raid装置及びその論理デバイス拡張方法 |
US7181580B2 (en) | 2003-03-27 | 2007-02-20 | International Business Machines Corporation | Secure pointers |
US20070162954A1 (en) | 2003-04-07 | 2007-07-12 | Pela Peter L | Network security system based on physical location |
WO2004095201A2 (en) | 2003-04-09 | 2004-11-04 | Intervideo Inc. | Systems and methods for caching multimedia data |
US7437530B1 (en) | 2003-04-24 | 2008-10-14 | Network Appliance, Inc. | System and method for mapping file block numbers to logical block addresses |
US7434097B2 (en) | 2003-06-05 | 2008-10-07 | Copan System, Inc. | Method and apparatus for efficient fault-tolerant disk drive replacement in raid storage systems |
US7089272B1 (en) | 2003-06-18 | 2006-08-08 | Sun Microsystems, Inc. | Specializing write-barriers for objects in a garbage collected heap |
US7424498B1 (en) | 2003-06-30 | 2008-09-09 | Data Domain, Inc. | Probabilistic summary data structure based encoding for garbage collection |
GB0320494D0 (en) | 2003-09-02 | 2003-10-01 | Ibm | Methods apparatus and controllers for a raid storage system |
US7865485B2 (en) | 2003-09-23 | 2011-01-04 | Emc Corporation | Multi-threaded write interface and methods for increasing the single file read and write throughput of a file server |
US7206991B2 (en) * | 2003-10-15 | 2007-04-17 | Lsi Logic Corporation | Method, apparatus and program for migrating between striped storage and parity striped storage |
US8062849B2 (en) | 2003-10-28 | 2011-11-22 | The Johns Hopkins University | Quantitative multiplex methylation-specific PCR |
JP4426262B2 (ja) | 2003-11-26 | 2010-03-03 | 株式会社日立製作所 | ディスクアレイ装置及びディスクアレイ装置の障害回避方法 |
US7434214B2 (en) | 2004-01-21 | 2008-10-07 | International Business Machines Corporation | Method for determining a close approximate benefit of reducing memory footprint of a Java application |
US8560747B1 (en) | 2007-02-16 | 2013-10-15 | Vmware, Inc. | Associating heartbeat data with access to shared resources of a computer system |
US20050188246A1 (en) | 2004-02-25 | 2005-08-25 | Emberty Robert G. | Persistent worldwide names assigned to removable media storage |
US7526684B2 (en) | 2004-03-24 | 2009-04-28 | Seagate Technology Llc | Deterministic preventive recovery from a predicted failure in a distributed storage system |
JP4456909B2 (ja) | 2004-03-29 | 2010-04-28 | 株式会社日立製作所 | バックアップ方法、ストレージシステム及びそのプログラム |
JP2005293774A (ja) | 2004-04-02 | 2005-10-20 | Hitachi Global Storage Technologies Netherlands Bv | ディスク装置の制御方法 |
US7424482B2 (en) | 2004-04-26 | 2008-09-09 | Storwize Inc. | Method and system for compression of data for block mode access storage |
US7493424B1 (en) | 2004-04-30 | 2009-02-17 | Netapp, Inc. | Network storage system with shared software stack for LDMA and RDMA |
JP4392601B2 (ja) | 2004-05-07 | 2010-01-06 | パナソニック株式会社 | データアクセス装置および記録媒体 |
US8042163B1 (en) | 2004-05-20 | 2011-10-18 | Symatec Operating Corporation | Secure storage access using third party capability tokens |
US7533292B2 (en) | 2004-07-15 | 2009-05-12 | International Business Machines Corporation | Management method for spare disk drives in a raid system |
US8402325B2 (en) * | 2004-08-02 | 2013-03-19 | St-Ericsson Sa | Data storage and replay apparatus |
US7681072B1 (en) | 2004-08-13 | 2010-03-16 | Panasas, Inc. | Systems and methods for facilitating file reconstruction and restoration in data storage systems where a RAID-X format is implemented at a file level within a plurality of storage devices |
JP4555029B2 (ja) * | 2004-09-01 | 2010-09-29 | 株式会社日立製作所 | ディスクアレイ装置 |
US7330998B2 (en) * | 2004-09-20 | 2008-02-12 | Intel Corporation | Data integrity verification |
US20060074940A1 (en) | 2004-10-05 | 2006-04-06 | International Business Machines Corporation | Dynamic management of node clusters to enable data sharing |
US7769975B2 (en) * | 2004-11-15 | 2010-08-03 | International Business Machines Corporation | Method for configuring volumes in a storage system |
WO2006065973A2 (en) | 2004-12-15 | 2006-06-22 | Exostar Corporation | Enabling trust in a federated collaboration of networks |
JP4324088B2 (ja) * | 2004-12-17 | 2009-09-02 | 富士通株式会社 | データ複製制御装置 |
US7363444B2 (en) | 2005-01-10 | 2008-04-22 | Hewlett-Packard Development Company, L.P. | Method for taking snapshots of data |
US7426623B2 (en) | 2005-01-14 | 2008-09-16 | Sandisk Il Ltd | System and method for configuring flash memory partitions as super-units |
US7398460B1 (en) * | 2005-01-31 | 2008-07-08 | Network Appliance, Inc. | Technique for efficiently organizing and distributing parity blocks among storage devices of a storage array |
US7484137B2 (en) | 2005-03-31 | 2009-01-27 | Hitachi Global Storage Technologies Netherlands B.V. | RAID system using regional error statistics for redundancy grouping |
US7913300B1 (en) | 2005-04-08 | 2011-03-22 | Netapp, Inc. | Centralized role-based access control for storage servers |
US20060230245A1 (en) | 2005-04-08 | 2006-10-12 | Microsoft Corporation | Data storage safety indicator and expander |
US8200887B2 (en) | 2007-03-29 | 2012-06-12 | Violin Memory, Inc. | Memory management system and method |
WO2006116183A1 (en) | 2005-04-25 | 2006-11-02 | Network Appliance, Inc. | Architecture for supporting sparse volumes |
US7366825B2 (en) | 2005-04-26 | 2008-04-29 | Microsoft Corporation | NAND flash memory management |
WO2006123416A1 (ja) | 2005-05-19 | 2006-11-23 | Fujitsu Limited | ディスク故障復旧方法及びディスクアレイ装置 |
US8364845B2 (en) | 2005-05-19 | 2013-01-29 | Wyse Technology Inc. | Method and system for thin client configuration |
JP4347265B2 (ja) * | 2005-05-31 | 2009-10-21 | Necシステムテクノロジー株式会社 | Raid制御装置、およびraid制御方法 |
JP4690783B2 (ja) * | 2005-06-08 | 2011-06-01 | 株式会社日立製作所 | ボリューム管理システムおよびその方法 |
US7933936B2 (en) | 2005-06-10 | 2011-04-26 | Network Appliance, Inc. | Method and system for automatic management of storage space |
US7979613B2 (en) | 2005-07-15 | 2011-07-12 | International Business Machines Corporation | Performance of a storage system |
JP4506594B2 (ja) | 2005-07-22 | 2010-07-21 | 日本電気株式会社 | 冗長パス制御方法 |
US7694082B2 (en) | 2005-07-29 | 2010-04-06 | International Business Machines Corporation | Computer program and method for managing resources in a distributed storage system |
US7617216B2 (en) | 2005-09-07 | 2009-11-10 | Emc Corporation | Metadata offload for a file server cluster |
JP2007087036A (ja) | 2005-09-21 | 2007-04-05 | Hitachi Ltd | スナップショット維持装置及び方法 |
JP4662548B2 (ja) | 2005-09-27 | 2011-03-30 | 株式会社日立製作所 | スナップショット管理装置及び方法並びにストレージシステム |
US20070124648A1 (en) * | 2005-10-31 | 2007-05-31 | Ajay Dholakia | Data protection method |
ITVA20050061A1 (it) | 2005-11-08 | 2007-05-09 | St Microelectronics Srl | Metodo di gestione di un dispositivo di memoria non volatile e relativa memoria |
US7831783B2 (en) | 2005-12-22 | 2010-11-09 | Honeywell International Inc. | Effective wear-leveling and concurrent reclamation method for embedded linear flash file systems |
JP4927408B2 (ja) | 2006-01-25 | 2012-05-09 | 株式会社日立製作所 | 記憶システム及びそのデータ復元方法 |
JP2007199953A (ja) | 2006-01-25 | 2007-08-09 | Fujitsu Ltd | ディスクアレイ装置およびディスクアレイ制御方法 |
US7743197B2 (en) | 2006-05-11 | 2010-06-22 | Emulex Design & Manufacturing Corporation | System and method for virtualizing PCIe devices |
JP2007233903A (ja) | 2006-03-03 | 2007-09-13 | Hitachi Ltd | 記憶制御装置及び記憶制御装置のデータ回復方法 |
US7421552B2 (en) | 2006-03-17 | 2008-09-02 | Emc Corporation | Techniques for managing data within a data storage system utilizing a flash-based memory vault |
US8832247B2 (en) | 2006-03-24 | 2014-09-09 | Blue Coat Systems, Inc. | Methods and systems for caching content at multiple levels |
US7899780B1 (en) | 2006-03-30 | 2011-03-01 | Emc Corporation | Methods and apparatus for structured partitioning of management information |
US20070294564A1 (en) | 2006-04-27 | 2007-12-20 | Tim Reddin | High availability storage system |
US8266472B2 (en) | 2006-05-03 | 2012-09-11 | Cisco Technology, Inc. | Method and system to provide high availability of shared data |
US7580956B1 (en) * | 2006-05-04 | 2009-08-25 | Symantec Operating Corporation | System and method for rating reliability of storage devices |
US9455955B2 (en) | 2006-05-17 | 2016-09-27 | Richard Fetik | Customizable storage controller with integrated F+ storage firewall protection |
US7743239B2 (en) | 2006-06-30 | 2010-06-22 | Intel Corporation | Accelerating integrity checks of code and data stored in non-volatile memory |
US7987438B2 (en) | 2006-08-10 | 2011-07-26 | International Business Machines Corporation | Structure for initializing expansion adapters installed in a computer system having similar expansion adapters |
US7739576B2 (en) * | 2006-08-31 | 2010-06-15 | Micron Technology, Inc. | Variable strength ECC |
US7555599B2 (en) | 2006-09-06 | 2009-06-30 | International Business Machines Corporation | System and method of mirrored RAID array write management |
US7475215B2 (en) | 2006-09-08 | 2009-01-06 | Lsi Corporation | Identification of uncommitted memory blocks during an initialization procedure |
US7627786B2 (en) | 2006-09-26 | 2009-12-01 | International Business Machines Corporation | Tracking error events relating to data storage drives and/or media of automated data storage library subsystems |
US8620970B2 (en) | 2006-10-03 | 2013-12-31 | Network Appliance, Inc. | Methods and apparatus for changing versions of a filesystem |
US7669029B1 (en) | 2006-11-15 | 2010-02-23 | Network Appliance, Inc. | Load balancing a data storage system |
WO2008065695A1 (fr) | 2006-11-27 | 2008-06-05 | Fujitsu Limited | Programme de gestion de serveur, programme de gestion de serveur de messagerie, système de gestion de serveur et procédé de gestion de serveur |
US8694712B2 (en) | 2006-12-05 | 2014-04-08 | Microsoft Corporation | Reduction of operational costs of virtual TLBs |
US20080140724A1 (en) | 2006-12-06 | 2008-06-12 | David Flynn | Apparatus, system, and method for servicing object requests within a storage controller |
US7710777B1 (en) | 2006-12-20 | 2010-05-04 | Marvell International Ltd. | Semi-volatile NAND flash memory |
US20080155191A1 (en) | 2006-12-21 | 2008-06-26 | Anderson Robert J | Systems and methods for providing heterogeneous storage systems |
US7640332B2 (en) | 2006-12-27 | 2009-12-29 | Hewlett-Packard Development Company, L.P. | System and method for hot deployment/redeployment in grid computing environment |
KR100923990B1 (ko) | 2007-02-13 | 2009-10-28 | 삼성전자주식회사 | 플래시 저장 장치의 특성을 기반으로 한 컴퓨팅 시스템 |
US8370562B2 (en) | 2007-02-25 | 2013-02-05 | Sandisk Il Ltd. | Interruptible cache flushing in flash memory systems |
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 |
JP4900811B2 (ja) | 2007-03-30 | 2012-03-21 | 株式会社日立製作所 | 記憶システムおよび記憶制御方法 |
JP4529990B2 (ja) | 2007-03-30 | 2010-08-25 | ブラザー工業株式会社 | 画像処理プログラム及び画像処理装置 |
US7975115B2 (en) | 2007-04-11 | 2011-07-05 | Dot Hill Systems Corporation | Method and apparatus for separating snapshot preserved and write data |
US8706914B2 (en) | 2007-04-23 | 2014-04-22 | David D. Duchesneau | Computing infrastructure |
US7996599B2 (en) | 2007-04-25 | 2011-08-09 | Apple Inc. | Command resequencing in memory operations |
US8086652B1 (en) | 2007-04-27 | 2011-12-27 | Netapp, Inc. | Storage system-based hole punching for reclaiming unused space from a data container |
US7958303B2 (en) | 2007-04-27 | 2011-06-07 | Gary Stephen Shuster | Flexible data storage system |
US7991942B2 (en) | 2007-05-09 | 2011-08-02 | Stmicroelectronics S.R.L. | Memory block compaction method, circuit, and system in storage devices based on flash memories |
EP2154815A4 (en) | 2007-05-30 | 2012-11-14 | Fujitsu Ltd | IMAGE ENCRYPTION DEVICE, IMAGE KEYING DEVICE, METHOD AND PROGRAM |
US7765426B2 (en) | 2007-06-07 | 2010-07-27 | Micron Technology, Inc. | Emerging bad block detection |
JP4894922B2 (ja) * | 2007-06-13 | 2012-03-14 | 富士通株式会社 | Raidグループ変換装置、raidグループ変換方法およびraidグループ変換プログラム |
US8874854B2 (en) | 2007-07-30 | 2014-10-28 | International Business Machines Corporation | Method for selectively enabling and disabling read caching in a storage subsystem |
JP2009037304A (ja) * | 2007-07-31 | 2009-02-19 | Hitachi Ltd | Raidレベルを変更する機能を有したストレージシステム |
US7870360B2 (en) | 2007-09-14 | 2011-01-11 | International Business Machines Corporation | Storage area network (SAN) forecasting in a heterogeneous environment |
CN101402501A (zh) | 2007-10-02 | 2009-04-08 | 周述均 | 医院污水无害化处理工艺及其全自动控制装置 |
KR101433859B1 (ko) | 2007-10-12 | 2014-08-27 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 파일 데이터 관리 방법 |
US8271700B1 (en) | 2007-11-23 | 2012-09-18 | Pmc-Sierra Us, Inc. | Logical address direct memory access with multiple concurrent physical ports and internal switching |
US7743191B1 (en) | 2007-12-20 | 2010-06-22 | Pmc-Sierra, Inc. | On-chip shared memory based device architecture |
JP4471007B2 (ja) | 2008-02-05 | 2010-06-02 | ソニー株式会社 | 記録装置、記録装置の制御方法、記録装置の制御方法のプログラム及び記録装置の制御方法のプログラムを記録した記録媒体 |
JP2009211202A (ja) * | 2008-02-29 | 2009-09-17 | Toshiba Corp | メモリシステム |
US7970994B2 (en) | 2008-03-04 | 2011-06-28 | International Business Machines Corporation | High performance disk array rebuild |
US8352540B2 (en) | 2008-03-06 | 2013-01-08 | International Business Machines Corporation | Distinguishing data streams to enhance data storage efficiency |
JP4862847B2 (ja) * | 2008-03-07 | 2012-01-25 | 日本電気株式会社 | ディスクアレイのデータ復旧方法、ディスクアレイシステム及び制御プログラム |
US7873619B1 (en) | 2008-03-31 | 2011-01-18 | Emc Corporation | Managing metadata |
US8621241B1 (en) | 2008-04-25 | 2013-12-31 | Netapp, Inc. | Storage and recovery of cryptographic key identifiers |
US8949863B1 (en) | 2008-04-30 | 2015-02-03 | Netapp, Inc. | Creating environmental snapshots of storage device failure events |
US8117464B1 (en) | 2008-04-30 | 2012-02-14 | Netapp, Inc. | Sub-volume level security for deduplicated data |
US7958304B1 (en) * | 2008-04-30 | 2011-06-07 | Network Appliance, Inc. | Dynamically adapting the fault tolerance and performance characteristics of a raid-based storage system by merging and splitting raid groups |
US20090300283A1 (en) * | 2008-05-29 | 2009-12-03 | Yutaka Kudo | Method and apparatus for dissolving hot spots in storage systems |
US9678879B2 (en) | 2008-05-29 | 2017-06-13 | Red Hat, Inc. | Set partitioning for encoding file system allocation metadata |
JP2010015197A (ja) * | 2008-06-30 | 2010-01-21 | Toshiba Corp | ストレージ制御装置、データ復元装置およびストレージシステム |
US8296547B2 (en) | 2008-08-27 | 2012-10-23 | International Business Machines Corporation | Loading entries into a TLB in hardware via indirect TLB entries |
US20100057673A1 (en) | 2008-09-04 | 2010-03-04 | Boris Savov | Reusable mapping rules for data to data transformation |
US8093868B2 (en) | 2008-09-04 | 2012-01-10 | International Business Machines Corporation | In situ verification of capacitive power support |
JP4792490B2 (ja) * | 2008-09-08 | 2011-10-12 | 株式会社日立製作所 | 記憶制御装置及びraidグループの拡張方法 |
US20100077205A1 (en) | 2008-09-19 | 2010-03-25 | Ekstrom Joseph J | System and Method for Cipher E-Mail Protection |
US8756369B2 (en) | 2008-09-26 | 2014-06-17 | Netapp, Inc. | Priority command queues for low latency solid state drives |
US8086585B1 (en) | 2008-09-30 | 2011-12-27 | Emc Corporation | Access control to block storage devices for a shared disk based file system |
US8239734B1 (en) * | 2008-10-15 | 2012-08-07 | Apple Inc. | Efficient data storage in storage device arrays |
JP4399021B1 (ja) | 2008-10-29 | 2010-01-13 | 株式会社東芝 | ディスクアレイ制御装置および記憶装置 |
US7945733B2 (en) | 2008-12-12 | 2011-05-17 | Lsi Corporation | Hierarchical storage management (HSM) for redundant array of independent disks (RAID) |
US8200922B2 (en) | 2008-12-17 | 2012-06-12 | Netapp, Inc. | Storage system snapshot assisted by SSD technology |
WO2010071655A1 (en) | 2008-12-19 | 2010-06-24 | Hewlett-Packard Development Company, L.P. | Redundant data storage for uniform read latency |
US9473419B2 (en) | 2008-12-22 | 2016-10-18 | Ctera Networks, Ltd. | Multi-tenant cloud storage system |
US8312204B2 (en) | 2009-01-23 | 2012-11-13 | Seagate Technology Llc | System and method for wear leveling in a data storage device |
US8762642B2 (en) | 2009-01-30 | 2014-06-24 | Twinstrata Inc | System and method for secure and reliable multi-cloud data replication |
JP4844639B2 (ja) | 2009-02-19 | 2011-12-28 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP4869368B2 (ja) | 2009-03-12 | 2012-02-08 | 株式会社東芝 | ストレージ装置及び仮想化装置 |
US9134922B2 (en) | 2009-03-12 | 2015-09-15 | Vmware, Inc. | System and method for allocating datastores for virtual machines |
KR101586047B1 (ko) | 2009-03-25 | 2016-01-18 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
US7941584B2 (en) | 2009-03-26 | 2011-05-10 | Arm Limited | Data processing apparatus and method for performing hazard detection |
US8560787B2 (en) | 2009-03-30 | 2013-10-15 | International Business Machines Corporation | Incremental backup of source to target storage volume |
US8205065B2 (en) | 2009-03-30 | 2012-06-19 | Exar Corporation | System and method for data deduplication |
US8805953B2 (en) | 2009-04-03 | 2014-08-12 | Microsoft Corporation | Differential file and system restores from peers and the cloud |
TWI408689B (zh) | 2009-04-14 | 2013-09-11 | Jmicron Technology Corp | 存取儲存裝置的方法及相關控制電路 |
TWI397009B (zh) | 2009-04-30 | 2013-05-21 | Inventec Corp | 基本輸入輸出系統的資料處理裝置 |
US8180955B2 (en) | 2009-05-06 | 2012-05-15 | Via Telecom, Inc. | Computing systems and methods for managing flash memory device |
US8037391B1 (en) | 2009-05-22 | 2011-10-11 | Nvidia Corporation | Raid-6 computation system and method |
US8504797B2 (en) | 2009-06-02 | 2013-08-06 | Hitachi, Ltd. | Method and apparatus for managing thin provisioning volume by using file storage system |
JP4874368B2 (ja) | 2009-06-22 | 2012-02-15 | 株式会社日立製作所 | フラッシュメモリを用いたストレージシステムの管理方法及び計算機 |
US7948798B1 (en) | 2009-07-22 | 2011-05-24 | Marvell International Ltd. | Mixed multi-level cell and single level cell storage device |
US8402242B2 (en) | 2009-07-29 | 2013-03-19 | International Business Machines Corporation | Write-erase endurance lifetime of memory storage devices |
US20110035540A1 (en) | 2009-08-10 | 2011-02-10 | Adtron, Inc. | Flash blade system architecture and method |
EP2299363B1 (fr) | 2009-09-21 | 2013-01-09 | STMicroelectronics (Rousset) SAS | Procédé de nivellement de l'usure dans une mémoire non volatile |
US8868957B2 (en) | 2009-09-24 | 2014-10-21 | Xyratex Technology Limited | Auxiliary power supply, a method of providing power to a data storage system and a back-up power supply charging circuit |
US8688906B2 (en) * | 2009-11-16 | 2014-04-01 | Lenovo (Singapore) Pte. Ltd. | Apparatus and method for distributing writes asymmetrically among drives |
TWI428917B (zh) | 2009-11-25 | 2014-03-01 | Silicon Motion Inc | 快閃記憶裝置、資料儲存系統、以及資料儲存系統之運作方法 |
US8250324B2 (en) | 2009-11-30 | 2012-08-21 | International Business Machines Corporation | Method to efficiently locate meta-data structures on a flash-based storage device |
US8510569B2 (en) | 2009-12-16 | 2013-08-13 | Intel Corporation | Providing integrity verification and attestation in a hidden execution environment |
US9134918B2 (en) | 2009-12-31 | 2015-09-15 | Sandisk Technologies Inc. | Physical compression of data with flat or systematic pattern |
US8387136B2 (en) | 2010-01-05 | 2013-02-26 | Red Hat, Inc. | Role-based access control utilizing token profiles |
US8452932B2 (en) | 2010-01-06 | 2013-05-28 | Storsimple, Inc. | System and method for efficiently creating off-site data volume back-ups |
US9059851B2 (en) | 2010-02-23 | 2015-06-16 | Salesforce.Com, Inc. | Method and computer program product for order preserving symbol based encryption |
JP4892072B2 (ja) | 2010-03-24 | 2012-03-07 | 株式会社東芝 | ホスト装置と連携して重複データを排除するストレージ装置、同ストレージ装置を備えたストレージシステム、及び同システムにおける重複排除方法 |
US20110252289A1 (en) * | 2010-04-08 | 2011-10-13 | Seagate Technology Llc | Adjusting storage device parameters based on reliability sensing |
US8799747B2 (en) * | 2010-06-03 | 2014-08-05 | Seagate Technology Llc | Data hardening to compensate for loss of data retention characteristics in a non-volatile memory |
WO2011156746A2 (en) | 2010-06-11 | 2011-12-15 | California Institute Of Technology | Systems and methods for rapid processing and storage of data |
US20120023144A1 (en) | 2010-07-21 | 2012-01-26 | Seagate Technology Llc | Managing Wear in Flash Memory |
US8738970B2 (en) | 2010-07-23 | 2014-05-27 | Salesforce.Com, Inc. | Generating performance alerts |
US8713268B2 (en) | 2010-08-05 | 2014-04-29 | Ut-Battelle, Llc | Coordinated garbage collection for raid array of solid state disks |
US20120054264A1 (en) | 2010-08-31 | 2012-03-01 | International Business Machines Corporation | Techniques for Migrating Active I/O Connections with Migrating Servers and Clients |
US8589625B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of reconstructive I/O read operations in a storage environment |
US8468318B2 (en) | 2010-09-15 | 2013-06-18 | Pure Storage Inc. | Scheduling of I/O writes in a storage environment |
US8566546B1 (en) | 2010-09-27 | 2013-10-22 | Emc Corporation | Techniques for enforcing capacity restrictions of an allocation policy |
US8775868B2 (en) * | 2010-09-28 | 2014-07-08 | Pure Storage, Inc. | Adaptive RAID for an SSD environment |
US8463991B2 (en) * | 2010-09-28 | 2013-06-11 | Pure Storage Inc. | Intra-device data protection in a raid array |
US9229808B2 (en) * | 2010-10-01 | 2016-01-05 | Pure Storage, Inc. | Reconstruct reads in a raid array with dynamic geometries |
US20120117029A1 (en) | 2010-11-08 | 2012-05-10 | Stephen Gold | Backup policies for using different storage tiers |
US8949502B2 (en) | 2010-11-18 | 2015-02-03 | Nimble Storage, Inc. | PCIe NVRAM card based on NVDIMM |
US8812860B1 (en) | 2010-12-03 | 2014-08-19 | Symantec Corporation | Systems and methods for protecting data stored on removable storage devices by requiring external user authentication |
US9208071B2 (en) | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
US8589723B2 (en) | 2010-12-22 | 2013-11-19 | Intel Corporation | Method and apparatus to provide a high availability solid state drive |
US8465332B2 (en) | 2011-01-13 | 2013-06-18 | Tyco Electronics Corporation | Contact assembly for an electrical connector |
WO2012106362A2 (en) | 2011-01-31 | 2012-08-09 | Fusion-Io, Inc. | Apparatus, system, and method for managing eviction of data |
US8578442B1 (en) | 2011-03-11 | 2013-11-05 | Symantec Corporation | Enforcing consistent enterprise and cloud security profiles |
US9563555B2 (en) | 2011-03-18 | 2017-02-07 | Sandisk Technologies Llc | Systems and methods for storage allocation |
US8738882B2 (en) | 2011-06-03 | 2014-05-27 | Apple Inc. | Pre-organization of data |
US8595267B2 (en) | 2011-06-27 | 2013-11-26 | Amazon Technologies, Inc. | System and method for implementing a scalable data storage service |
US8769622B2 (en) | 2011-06-30 | 2014-07-01 | International Business Machines Corporation | Authentication and authorization methods for cloud computing security |
US8751463B1 (en) | 2011-06-30 | 2014-06-10 | Emc Corporation | Capacity forecasting for a deduplicating storage system |
US9170868B2 (en) | 2011-07-27 | 2015-10-27 | Cleversafe, Inc. | Identifying an error cause within a dispersed storage network |
US8931041B1 (en) | 2011-07-29 | 2015-01-06 | Symantec Corporation | Method and system for visibility and control over access transactions between clouds using resource authorization messages |
US20130036272A1 (en) | 2011-08-02 | 2013-02-07 | Microsoft Corporation | Storage engine node for cloud-based storage |
US8527544B1 (en) | 2011-08-11 | 2013-09-03 | Pure Storage Inc. | Garbage collection in a storage system |
US8788788B2 (en) | 2011-08-11 | 2014-07-22 | Pure Storage, Inc. | Logical sector mapping in a flash storage array |
US8793467B2 (en) | 2011-09-30 | 2014-07-29 | Pure Storage, Inc. | Variable length encoding in a storage system |
US8806160B2 (en) | 2011-08-16 | 2014-08-12 | Pure Storage, Inc. | Mapping in a storage system |
JP5768587B2 (ja) | 2011-08-17 | 2015-08-26 | 富士通株式会社 | ストレージシステム、ストレージ制御装置およびストレージ制御方法 |
US9525900B2 (en) | 2011-09-15 | 2016-12-20 | Google Inc. | Video management system |
JP2013077278A (ja) | 2011-09-16 | 2013-04-25 | Toshiba Corp | メモリ・デバイス |
US8700875B1 (en) | 2011-09-20 | 2014-04-15 | Netapp, Inc. | Cluster view for storage devices |
US9374356B2 (en) | 2011-09-29 | 2016-06-21 | Oracle International Corporation | Mobile oauth service |
WO2013051129A1 (ja) | 2011-10-06 | 2013-04-11 | 株式会社 日立製作所 | 格納データの重複排除方法、格納データの重複排除装置、及び重複排除プログラム |
US8825605B2 (en) | 2011-10-11 | 2014-09-02 | Netapp, Inc. | Deduplication aware scheduling of requests to access data blocks |
EP2771802A4 (en) | 2011-10-24 | 2016-05-25 | Schneider Electric Ind Sas | SYSTEM AND METHOD FOR MANAGING INDUSTRIAL PROCESSES |
WO2013071087A1 (en) | 2011-11-09 | 2013-05-16 | Unisys Corporation | Single sign on for cloud |
WO2013074106A1 (en) | 2011-11-17 | 2013-05-23 | Intel Corporation | Method, apparatus and system for data deduplication |
US9330245B2 (en) | 2011-12-01 | 2016-05-03 | Dashlane SAS | Cloud-based data backup and sync with secure local storage of access keys |
US20130219164A1 (en) | 2011-12-29 | 2013-08-22 | Imation Corp. | Cloud-based hardware security modules |
US8800009B1 (en) | 2011-12-30 | 2014-08-05 | Google Inc. | Virtual machine service access |
US8613066B1 (en) | 2011-12-30 | 2013-12-17 | Amazon Technologies, Inc. | Techniques for user authentication |
US9423983B2 (en) | 2012-01-19 | 2016-08-23 | Syncsort Incorporated | Intelligent storage controller |
US9116812B2 (en) | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
JP2013161235A (ja) | 2012-02-03 | 2013-08-19 | Fujitsu Ltd | ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム |
US8918579B2 (en) | 2012-02-06 | 2014-12-23 | Sandisk Technologies Inc. | Storage device and method for selective data compression |
US9075710B2 (en) | 2012-04-17 | 2015-07-07 | SanDisk Technologies, Inc. | Non-volatile key-value store |
US9519647B2 (en) | 2012-04-17 | 2016-12-13 | Sandisk Technologies Llc | Data expiry in a non-volatile device |
US8996881B2 (en) | 2012-04-23 | 2015-03-31 | International Business Machines Corporation | Preserving redundancy in data deduplication systems by encryption |
US8793466B2 (en) | 2012-04-27 | 2014-07-29 | Netapp, Inc. | Efficient data object storage and retrieval |
US10474584B2 (en) | 2012-04-30 | 2019-11-12 | Hewlett Packard Enterprise Development Lp | Storing cache metadata separately from integrated circuit containing cache controller |
US9645177B2 (en) | 2012-05-04 | 2017-05-09 | Seagate Technology Llc | Retention-drift-history-based non-volatile memory read threshold optimization |
US8874850B1 (en) | 2012-05-10 | 2014-10-28 | Netapp, Inc. | Hierarchically tagged cache |
US8832372B2 (en) | 2012-05-24 | 2014-09-09 | Netapp, Inc. | Network storage systems having clustered raids for improved redundancy and load balancing |
US20130318314A1 (en) | 2012-05-25 | 2013-11-28 | Red Hat, Inc. | Managing copies of data on multiple nodes using a data controller node to avoid transaction deadlock |
US10341435B2 (en) | 2012-06-12 | 2019-07-02 | Centurylink Intellectual Property Llc | High performance cloud storage |
KR20150021117A (ko) | 2012-06-18 | 2015-02-27 | 액티피오 인크. | 강화형 데이터 관리 가상화 시스템 |
US8959305B1 (en) | 2012-06-29 | 2015-02-17 | Emc Corporation | Space reclamation with virtually provisioned devices |
US9130927B2 (en) | 2012-07-02 | 2015-09-08 | Sk Planet Co., Ltd. | Single certificate service system and operational method thereof |
US9489293B2 (en) | 2012-08-17 | 2016-11-08 | Netapp, Inc. | Techniques for opportunistic data storage |
US9154298B2 (en) | 2012-08-31 | 2015-10-06 | Cleversafe, Inc. | Securely storing data in a dispersed storage network |
US9047181B2 (en) | 2012-09-07 | 2015-06-02 | Splunk Inc. | Visualization of data from clusters |
US8769651B2 (en) | 2012-09-19 | 2014-07-01 | Secureauth Corporation | Mobile multifactor single-sign-on authentication |
WO2014051552A1 (en) | 2012-09-25 | 2014-04-03 | Empire Technology Development Llc | Limiting data usage of a device connected to the internet via tethering |
JP5954081B2 (ja) | 2012-09-26 | 2016-07-20 | 富士通株式会社 | ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム |
US9245144B2 (en) | 2012-09-27 | 2016-01-26 | Intel Corporation | Secure data container for web applications |
US8990914B2 (en) | 2012-09-28 | 2015-03-24 | Intel Corporation | Device, method, and system for augmented reality security |
US8990905B1 (en) | 2012-09-28 | 2015-03-24 | Emc Corporation | Protected resource access control utilizing intermediate values of a hash chain |
US8850546B1 (en) | 2012-09-30 | 2014-09-30 | Emc Corporation | Privacy-preserving user attribute release and session management |
US20140101434A1 (en) | 2012-10-04 | 2014-04-10 | Msi Security, Ltd. | Cloud-based file distribution and management using real identity authentication |
US9348757B2 (en) | 2012-10-08 | 2016-05-24 | International Business Machines Corporation | System supporting multiple partitions with differing translation formats |
US9176858B2 (en) | 2012-11-19 | 2015-11-03 | Hitachi, Ltd. | Storage system configured to selectively utilize data compression based on real pool usage rates |
US9209973B2 (en) | 2012-11-20 | 2015-12-08 | Google Inc. | Delegate authorization in cloud-based storage system |
US8997197B2 (en) | 2012-12-12 | 2015-03-31 | Citrix Systems, Inc. | Encryption-based data access management |
US9348840B2 (en) | 2012-12-14 | 2016-05-24 | Intel Corporation | Adaptive data striping and replication across multiple storage clouds for high availability and performance |
US9317223B2 (en) | 2012-12-17 | 2016-04-19 | International Business Machines Corporation | Method and apparatus for automated migration of data among storage centers |
US9075529B2 (en) | 2013-01-04 | 2015-07-07 | International Business Machines Corporation | Cloud based data migration and replication |
US9646039B2 (en) | 2013-01-10 | 2017-05-09 | Pure Storage, Inc. | Snapshots in a storage system |
US9886346B2 (en) | 2013-01-11 | 2018-02-06 | Commvault Systems, Inc. | Single snapshot for multiple agents |
US9483657B2 (en) | 2013-01-14 | 2016-11-01 | Accenture Global Services Limited | Secure online distributed data storage services |
US9052917B2 (en) | 2013-01-14 | 2015-06-09 | Lenovo (Singapore) Pte. Ltd. | Data storage for remote environment |
US9009526B2 (en) | 2013-01-24 | 2015-04-14 | Hewlett-Packard Development Company, L.P. | Rebuilding drive data |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US20140229654A1 (en) | 2013-02-08 | 2014-08-14 | Seagate Technology Llc | Garbage Collection with Demotion of Valid Data to a Lower Memory Tier |
US20140230017A1 (en) | 2013-02-12 | 2014-08-14 | Appsense Limited | Programmable security token |
US9335932B2 (en) | 2013-03-15 | 2016-05-10 | Bracket Computing, Inc. | Storage unit selection for virtualized storage units |
US8902532B2 (en) | 2013-03-20 | 2014-12-02 | International Business Machines Corporation | Write avoidance areas around bad blocks on a hard disk drive platter |
GB2513377A (en) | 2013-04-25 | 2014-10-29 | Ibm | Controlling data storage in an array of storage devices |
US9519575B2 (en) | 2013-04-25 | 2016-12-13 | Sandisk Technologies Llc | Conditional iteration for a non-volatile device |
US9317382B2 (en) | 2013-05-21 | 2016-04-19 | International Business Machines Corporation | Storage device with error recovery indication |
US10038726B2 (en) | 2013-06-12 | 2018-07-31 | Visa International Service Association | Data sensitivity based authentication and authorization |
US9124569B2 (en) | 2013-06-14 | 2015-09-01 | Microsoft Technology Licensing, Llc | User authentication in a cloud environment |
US8898346B1 (en) | 2013-06-20 | 2014-11-25 | Qlogic, Corporation | Method and system for configuring network devices |
US8984602B1 (en) | 2013-06-28 | 2015-03-17 | Emc Corporation | Protected resource access control utilizing credentials based on message authentication codes and hash chain values |
US9454423B2 (en) | 2013-09-11 | 2016-09-27 | Dell Products, Lp | SAN performance analysis tool |
CA2931098A1 (en) | 2013-09-27 | 2015-04-02 | Intel Corporation | Determination of a suitable target for an initiator by a control plane processor |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US10263770B2 (en) | 2013-11-06 | 2019-04-16 | Pure Storage, Inc. | Data protection in a storage system using external secrets |
US9519580B2 (en) | 2013-11-11 | 2016-12-13 | Globalfoundries Inc. | Load balancing logical units in an active/passive storage system |
US9516016B2 (en) | 2013-11-11 | 2016-12-06 | Pure Storage, Inc. | Storage array password management |
US9619311B2 (en) | 2013-11-26 | 2017-04-11 | International Business Machines Corporation | Error identification and handling in storage area networks |
US9280678B2 (en) | 2013-12-02 | 2016-03-08 | Fortinet, Inc. | Secure cloud storage distribution and aggregation |
US9529546B2 (en) | 2014-01-08 | 2016-12-27 | Netapp, Inc. | Global in-line extent-based deduplication |
WO2015104833A1 (ja) | 2014-01-10 | 2015-07-16 | 株式会社日立製作所 | 情報システム及びi/o処理方法 |
JP6233086B2 (ja) | 2014-02-20 | 2017-11-22 | 富士通株式会社 | ストレージ制御装置,ストレージシステム及び制御プログラム |
US10169121B2 (en) | 2014-02-27 | 2019-01-01 | Commvault Systems, Inc. | Work flow management for an information management system |
US10656864B2 (en) | 2014-03-20 | 2020-05-19 | Pure Storage, Inc. | Data replication within a flash storage array |
US9361469B2 (en) | 2014-03-26 | 2016-06-07 | Amazon Technologies, Inc. | Electronic communication with secure screen sharing of sensitive information |
US9513820B1 (en) | 2014-04-07 | 2016-12-06 | Pure Storage, Inc. | Dynamically controlling temporary compromise on data redundancy |
US9250823B1 (en) | 2014-05-20 | 2016-02-02 | Emc Corporation | Online replacement of physical storage in a virtual storage system |
EP3260985B1 (en) | 2014-06-27 | 2019-02-27 | Huawei Technologies Co., Ltd. | Controller, flash memory apparatus, and method for writing data into flash memory apparatus |
US9563509B2 (en) | 2014-07-15 | 2017-02-07 | Nimble Storage, Inc. | Methods and systems for storing data in a redundant manner on a plurality of storage units of a storage system |
US9516167B2 (en) | 2014-07-24 | 2016-12-06 | Genesys Telecommunications Laboratories, Inc. | Media channel management apparatus for network communications sessions |
US10204010B2 (en) | 2014-10-03 | 2019-02-12 | Commvault Systems, Inc. | Intelligent protection of off-line mail data |
US10430282B2 (en) | 2014-10-07 | 2019-10-01 | Pure Storage, Inc. | Optimizing replication by distinguishing user and system write activity |
US9489132B2 (en) | 2014-10-07 | 2016-11-08 | Pure Storage, Inc. | Utilizing unmapped and unknown states in a replicated storage system |
US9552248B2 (en) | 2014-12-11 | 2017-01-24 | Pure Storage, Inc. | Cloud alert to replica |
US20160182542A1 (en) | 2014-12-18 | 2016-06-23 | Stuart Staniford | Denial of service and other resource exhaustion defense and mitigation using transition tracking |
US9716755B2 (en) | 2015-05-26 | 2017-07-25 | Pure Storage, Inc. | Providing cloud storage array services by a local storage array in a data center |
US9521200B1 (en) | 2015-05-26 | 2016-12-13 | Pure Storage, Inc. | Locally providing cloud storage array services |
US20160350009A1 (en) | 2015-05-29 | 2016-12-01 | Pure Storage, Inc. | Buffering data to be written to an array of non-volatile storage devices |
US10021170B2 (en) | 2015-05-29 | 2018-07-10 | Pure Storage, Inc. | Managing a storage array using client-side services |
US9300660B1 (en) | 2015-05-29 | 2016-03-29 | Pure Storage, Inc. | Providing authorization and authentication in a cloud for a user of a storage array |
US9444822B1 (en) | 2015-05-29 | 2016-09-13 | Pure Storage, Inc. | Storage array access control from cloud-based user authorization and authentication |
KR102527992B1 (ko) | 2016-03-14 | 2023-05-03 | 삼성전자주식회사 | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
US9507532B1 (en) | 2016-05-20 | 2016-11-29 | Pure Storage, Inc. | Migrating data in a storage array that includes a plurality of storage devices and a plurality of write buffer devices |
US10567406B2 (en) | 2016-08-16 | 2020-02-18 | International Business Machines Corporation | Cloud computing environment activity monitoring |
US10459657B2 (en) | 2016-09-16 | 2019-10-29 | Hewlett Packard Enterprise Development Lp | Storage system with read cache-on-write buffer |
US11076509B2 (en) | 2017-01-24 | 2021-07-27 | The Research Foundation for the State University | Control systems and prediction methods for it cooling performance in containment |
US10402266B1 (en) * | 2017-07-31 | 2019-09-03 | Pure Storage, Inc. | Redundant array of independent disks in a direct-mapped flash storage system |
US10846137B2 (en) | 2018-01-12 | 2020-11-24 | Robin Systems, Inc. | Dynamic adjustment of application resources in a distributed computing system |
US11106810B2 (en) | 2018-07-30 | 2021-08-31 | EMC IP Holding Company LLC | Multi-tenant deduplication with non-trusted storage system |
US10877683B2 (en) | 2019-04-09 | 2020-12-29 | International Business Machines Corporation | Tiered storage optimization and migration |
-
2010
- 2010-09-28 US US12/892,894 patent/US8775868B2/en active Active
-
2011
- 2011-09-19 EP EP11761770.4A patent/EP2622475A1/en not_active Withdrawn
- 2011-09-19 EP EP16151734.7A patent/EP3082047B1/en active Active
- 2011-09-19 CN CN201180053519.0A patent/CN103348326B/zh active Active
- 2011-09-19 WO PCT/US2011/052222 patent/WO2012044488A1/en active Application Filing
- 2011-09-19 JP JP2013531644A patent/JP5894167B2/ja active Active
- 2011-09-19 KR KR1020137010801A patent/KR20130118876A/ko not_active Application Discontinuation
-
2014
- 2014-05-21 US US14/283,628 patent/US9594633B2/en active Active
-
2016
- 2016-02-25 JP JP2016034148A patent/JP6307537B2/ja active Active
-
2017
- 2017-01-27 US US15/417,912 patent/US10452289B1/en active Active
-
2019
- 2019-08-29 US US16/555,274 patent/US11435904B1/en active Active
-
2022
- 2022-09-02 US US17/902,720 patent/US11797386B2/en active Active
-
2023
- 2023-10-18 US US18/489,496 patent/US12111729B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6275898B1 (en) * | 1999-05-13 | 2001-08-14 | Lsi Logic Corporation | Methods and structure for RAID level migration within a logical unit |
CN101576833A (zh) * | 2009-06-26 | 2009-11-11 | 杭州华三通信技术有限公司 | 一种独立磁盘冗余阵列raid数据重建方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US11797386B2 (en) | 2023-10-24 |
EP3082047B1 (en) | 2020-07-08 |
US8775868B2 (en) | 2014-07-08 |
JP2016105320A (ja) | 2016-06-09 |
US20140317447A1 (en) | 2014-10-23 |
US9594633B2 (en) | 2017-03-14 |
KR20130118876A (ko) | 2013-10-30 |
US11435904B1 (en) | 2022-09-06 |
JP6307537B2 (ja) | 2018-04-04 |
US20240152425A1 (en) | 2024-05-09 |
US20120079318A1 (en) | 2012-03-29 |
EP2622475A1 (en) | 2013-08-07 |
US12111729B2 (en) | 2024-10-08 |
JP2013539132A (ja) | 2013-10-17 |
JP5894167B2 (ja) | 2016-03-23 |
US10452289B1 (en) | 2019-10-22 |
WO2012044488A1 (en) | 2012-04-05 |
EP3082047A1 (en) | 2016-10-19 |
CN103348326A (zh) | 2013-10-09 |
US20220413958A1 (en) | 2022-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103348326B (zh) | Ssd环境中的适配raid | |
CN103339609B (zh) | Raid阵列中的装置内数据保护 | |
CN103314361B (zh) | 具有动态几何的raid阵列中的重构读取 | |
US12086030B2 (en) | Data protection using distributed intra-device parity and inter-device parity | |
US20210173741A1 (en) | Distributed multi-level protection in a hyper-converged infrastructure | |
US20120084504A1 (en) | Dynamic raid geometries in an ssd environment | |
US20120084507A1 (en) | Multi-level protection with intra-device protection in a raid array based storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1188855 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1188855 Country of ref document: HK |