用于存储即服务的角色强制执行的制作方法

文档序号:36511215发布日期:2023-12-29 11:45阅读:56来源:国知局
用于存储即服务的角色强制执行的制作方法
用于存储即服务的角色强制执行
附图说明
1.图
1a示出根据一些实施方案的用于数据存储的第一示例系统。
2.图
1b示出根据一些实施方案的用于数据存储的第二示例系统。
3.图
1c示出根据一些实施方案的用于数据存储的第三示例系统。
4.图
1d示出根据一些实施方案的用于数据存储的第四示例系统。
5.图
2a是根据一些实施例的具有多个存储节点及耦合到每一存储节点以提供网络附接存储装置的内部存储装置的存储集群的透视图。
6.图
2b是展示根据一些实施例的耦合多个存储节点的互连交换机的框图。
7.图
2c是展示根据一些实施例的存储节点的内容及非易失性固态存储单元中的一者的内容的多层级框图。
8.图
2d展示根据一些实施例的使用一些先前图的存储节点及存储单元的实施例的存储服务器环境。
9.图
2e是展示根据一些实施例的与底层物理资源交互的控制平面、计算及存储平面以及权限的刀片(blade)硬件框图。
10.图
2f描绘根据一些实施例的存储集群的刀片中的弹性软件层。
11.图
2g描绘根据一些实施例的存储集群的刀片中的权限及存储资源。
12.图
3a陈述根据本公开的一些实施例的经耦合用于与云服务提供商进行数据通信的存储系统的图。
13.图
3b陈述根据本公开的一些实施例的存储系统的图。
14.图
3c陈述根据本公开的一些实施例的基于云的存储系统的示例。
15.图
3d示出可特定地经配置以执行本文中描述的过程中的一或多者的示范性计算装置。
16.图
3e示出根据本公开的一些实施例的用于提供存储服务的存储系统队的示例。
17.图4陈述根据本公开的一些实施例的包含用于交付存储服务的边缘管理服务的框图。
18.图5陈述示出根据本公开的一些实施例的提供数据管理即服务的示例方法的流程图。
19.图6陈述根据本公开的一些实施例的包含用于存储即服务的角色强制执行的系统的框图。
20.图7陈述示出根据本公开的一些实施例的用于存储即服务的角色强制执行的示例方法的流程图。
21.图8陈述示出根据本公开的一些实施例的用于存储即服务的角色强制执行的额外示例方法的流程图。
22.图9陈述示出根据本公开的一些实施例的用于存储即服务的角色强制执行的额外示例方法的流程图。
23.图
10陈述示出根据本公开的一些实施例的用于存储即服务的角色强制执行的额
外示例方法的流程图。
24.图
11陈述示出根据本公开的一些实施例的用于存储即服务的角色强制执行的额外示例方法的流程图。
25.图
12陈述示出根据本公开的一些实施例的用于存储即服务的角色强制执行的额外示例方法的流程图。
26.图
13陈述示出根据本公开的一些实施例的用于存储即服务的角色强制执行的额外示例方法的流程图。
具体实施方式
27.从图
1a开始,参考附图描述根据本公开的实施例的用于存储即服务的角色强制执行的示例方法、设备及产品。

1a示出根据一些实施方案的用于数据存储的示例系统。
出于说明而非限制目的,系统
100(本文中还称为“存储系统”)包含众多元件。
可以注意到,在其它实施方案中,系统
100
可包含以相同或不同方式配置的相同、更多或更少元件。
28.系统
100
包含数个计算装置
164a到b。
计算装置(本文中还称为“客户端装置”)可体现为例如数据中心中的服务器、工作站、个人计算机、笔记本或类似物。
计算装置
164a到b可经耦合用于通过存储区域网络(‘san’)158或局域网(‘
lan’)160
与一或多个存储阵列
102a到b进行数据通信。
29.san 158可用各种数据通信架构、装置及协议实施。
举例来说,用于san 158的架构可包含光纤通道、以太网、无限带宽、串行附接小型计算机系统接口(‘sas’)或类似物。
与san 158一起使用的数据通信协议可包含高级技术附接(‘ata’)、光纤通道协议、小型计算机系统接口(‘scsi’)、因特网小型计算机系统接口(‘iscsi’)、超scsi、基于架构的快速非易失性存储器(‘nvme’)或类似物。
可以注意到,提供san 158是出于说明而非限制。
可在计算装置
164a到b与存储阵列
102a到b之间实施其它数据通信耦合。
30.lan 160
也可用各种架构、装置及协议实施。
举例来说,用于
lan 160
的架构可包含以太网(802.3)、无线(802.11)或类似物。
用于
lan 160
中的数据通信协议可包含传输控制协议(‘tcp’)、用户数据报协议(‘udp’)、因特网协议(‘ip’)、超文本传送协议(‘http’)、无线接入协议(‘wap’)、手持式装置传输协议(‘hdtp’)、会话发起协议(‘sip’)、实时协议(‘rtp’)或类似物。lan 160
还可连接到因特网
162。
31.存储阵列
102a到b可为计算装置
164a到b提供持久数据存储。
在实施方案中,存储阵列
102a可装纳于机箱(未展示)中,且存储阵列
102b可装纳于另一机箱(未展示)中。
存储阵列
102a及
102b可包含一或多个存储阵列控制器
110a到d(本文中还称为“控制器”)。
存储阵列控制器
110a到d可体现为包括计算机硬件、计算机软件或计算机硬件与软件的组合的自动化计算机械的模块。
在一些实施方案中,存储阵列控制器
110a到d可经配置以实行各种存储任务。
存储任务可包含将从计算装置
164a到b接收的数据写入到存储阵列
102a到b、从存储阵列
102a到b擦除数据、从存储阵列
102a到b检索数据并将数据提供到计算装置
164a到b、监测及报告磁盘利用率及性能、执行冗余操作(例如独立驱动器冗余阵列(‘raid’)或类raid的数据冗余操作)、压缩数据、加密数据等等。
32.存储阵列控制器
110a到d可以各种方式实施,包含作为现场可编程门阵列(‘fpga’)、可编程逻辑芯片(‘plc’)、专用集成电路(‘asic’)、单片系统(‘soc’),或包含离
散组件(例如处理装置、中央处理单元、计算机存储器或各种适配器)的任何计算装置。
存储阵列控制器
110a到d可包含例如经配置以支持经由san 158或
lan 160
的通信的数据通信适配器。
在一些实施方案中,存储阵列控制器
110a到d可独立地耦合到
lan 160。
在实施方案中,存储阵列控制器
110a到d可包含通过中平面(未展示)将用于数据通信的存储阵列控制器
110a到d耦合到持久存储资源
170a到b(本文中还称为“存储资源”)的i/o控制器或类似物。
持久存储资源
170a到b主要包含任何数目的存储驱动器
171a到f(本文中还称为“存储装置”)及任何数目的非易失性随机存取存储器(‘nvram’)装置(未展示)。
33.在一些实施方案中,持久存储资源
170a到b的nvram装置可经配置以从存储阵列控制器
110a到d接收将存储于存储驱动器
171a到f中的数据。
在一些示例中,数据可源于计算装置
164a到b。
在一些示例中,将数据写入到nvram装置可比将数据直接写入到存储驱动器
171a到f更快地实行。
在实施方案中,存储阵列控制器
110a到d可经配置以利用nvram装置作为用于目的是被写入到存储驱动器
171a到f的数据的快速可存取缓冲器。
相对于其中存储阵列控制器
110a到d将数据直接写入到存储驱动器
171a到f的系统,使用nvram装置作为缓冲器的写入请求的延时可得到改进。
在一些实施方案中,nvram装置可用呈高带宽低延时ram形式的计算机存储器实施。nvram装置称为“非易失性”,这是因为nvram装置可接收或包含在nvram装置失去主电力之后维持ram的状态的唯一电源。
此电源可为电池、一或多个电容器或类似物。
响应于失去电力,nvram装置可经配置以将ram的内容写入到持久存储装置,例如存储驱动器
171a到f。
34.在实施方案中,存储驱动器
171a到f可指经配置以持久地记录数据的任何装置,其中“持久地”或“持久”是指装置在失去电力之后维持所记录数据的能力。
在一些实施方案中,存储驱动器
171a到f可对应于非磁盘存储媒体。
举例来说,存储驱动器
171a到f可为一或多个固态驱动器(‘ssd’)、基于快闪存储器的存储装置、任何类型的固态非易失性存储器或任何其它类型的非机械存储装置。
在其它实施方案中,存储驱动器
171a到f可包含机械或旋转硬盘,例如硬盘驱动器(‘hdd’)。
35.在一些实施方案中,存储阵列控制器
110a到d可经配置用于从存储阵列
102a到b中的存储驱动器
171a到f卸载装置管理职责。
举例来说,存储阵列控制器
110a到d可管理可描述存储驱动器
171a到f中的一或多个存储器块的状态的控制信息。
控制信息可指示例如特定存储器块已经发生故障且不应再被写入、特定存储器块含有存储阵列控制器
110a到d的启动代码、已对特定存储器块执行的编程-擦除(‘p/e’)循环的数目、存储于特定存储器块中的数据的年限、存储于特定存储器块中的数据的类型等等。
在一些实施方案中,控制信息可与相关联存储器块一起存储为元数据。
在其它实施方案中,存储驱动器
171a到f的控制信息可存储于由存储阵列控制器
110a到d选择的存储驱动器
171a到f的一或多个特定存储器块中。
选定存储器块可用指示选定存储器块含有控制信息的标识符标记。
标识符可由存储阵列控制器
110a到d连同存储驱动器
171a到f一起用于快速识别含有控制信息的存储器块。
举例来说,存储控制器
110a到d可发出定位含有控制信息的存储器块的命令。
可以注意到,控制信息可能如此大使得控制信息的部分可存储于多个位置中、使得控制信息可例如为了冗余目的存储于多个位置中,或使得控制信息可以其它方式分布在存储驱动器
171a到f中的多个存储器块上。
36.在实施方案中,存储阵列控制器
110a到d可通过从存储驱动器
171a到f检索描述存
储驱动器
171a到f中的一或多个存储器块的状态的控制信息来从存储阵列
102a到b的存储驱动器
171a到f卸载装置管理职责。
从存储驱动器
171a到f检索控制信息可例如通过存储阵列控制器
110a到d向存储驱动器
171a到f查询特定存储驱动器
171a到f的控制信息的位置来实行。
存储驱动器
171a到f可经配置以执行使存储驱动器
171a到f能识别控制信息的位置的指令。
指令可由与存储驱动器
171a到f相关联或以其它方式定位于存储驱动器
171a到f上的控制器(未展示)执行,且可致使存储驱动器
171a到f扫描每一存储器块的一部分以识别存储存储驱动器
171a到f的控制信息的存储器块。
存储驱动器
171a到f可通过向存储阵列控制器
110a到d发送包含存储驱动器
171a到f的控制信息的位置的响应消息来做出响应。
响应于接收到响应消息,存储阵列控制器
110a到d可发出读取存储于与存储驱动器
171a到f的控制信息的位置相关联的地址处的数据的请求。
37.在其它实施方案中,存储阵列控制器
110a到d可通过响应于接收到控制信息而执行存储驱动管理操作来从存储驱动器
171a到f进一步卸载装置管理职责。
存储驱动管理操作可包含例如通常由存储驱动器
171a到f(例如,与特定存储驱动器
171a到f相关联的控制器(未展示))执行的操作。
存储驱动管理操作可包含例如确保数据未被写入到存储驱动器
171a到f内发生故障的存储器块、确保数据以使得实现足够损耗均衡的方式被写入到存储驱动器
171a到f内的存储器块等等。
38.在实施方案中,存储阵列
102a到b可实施两个或更多个存储阵列控制器
110a到d。
举例来说,存储阵列
102a可包含存储阵列控制器
110a及存储阵列控制器
110b。
在给定实例下,存储系统
100
的单个存储阵列控制器
110a到d(例如存储阵列控制器
110a)可经指定为具有主要状态(本文中还称为“主要控制器”),且其它存储阵列控制器
110a到d(例如存储阵列控制器
110a)可经指定为具有次要状态(本文中还称为“次要控制器”)。
主要控制器可具有特定权利,例如更改持久存储资源
170a到b中的数据(例如,将数据写入到持久存储资源
170a到b)的许可。
主要控制器的至少一些权利可代替次要控制器的权利。
例如,当主要控制器具有更改持久存储资源
170a到b中的数据的许可时,次要控制器可能不具有此权利。
存储阵列控制器
110a到d的状态可改变。
举例来说,存储阵列控制器
110a可经指定为具有次要状态,且存储阵列控制器
110b可经指定为具有主要状态。
39.在一些实施方案中,主要控制器(例如存储阵列控制器
110a)可用作一或多个存储阵列
102a到b的主要控制器,且第二控制器(例如存储阵列控制器
110b)可用作一或多个存储阵列
102a到b的次要控制器。
举例来说,存储阵列控制器
110a可为存储阵列
102a及存储阵列
102b的主要控制器,且存储阵列控制器
110b可为存储阵列
102a及
102b的次要控制器。
在一些实施方案中,存储阵列控制器
110c及
110d(还称为“存储处理模块”)可不具有主要或次要状态。
实施为存储处理模块的存储阵列控制器
110c及
110d可用作主要及次要控制器(例如,分别为存储阵列控制器
110a及
110b)与存储阵列
102b之间的通信接口。
举例来说,存储阵列
102a的存储阵列控制器
110a可经由san 158向存储阵列
102b发送写入请求。
写入请求可由存储阵列
102b的存储阵列控制器
110c及
110d两者接收。
存储阵列控制器
110c及
110d促进通信,例如,向适当存储驱动器
171a到f发送写入请求。
可以注意到,在一些实施方案中,存储处理模块可用于增加由主要及次要控制器控制的存储驱动器的数目。
40.在实施方案中,存储阵列控制器
110a到d经由中平面(未展示)通信地耦合到一或多个存储驱动器
171a到f及耦合到被包含作为存储阵列
102a到b的部分的一或多个nvram装
置(未展示)。
存储阵列控制器
110a到d可经由一或多个数据通信链路耦合到中平面,且中平面可经由一或多个数据通信链路耦合到存储驱动器
171a到f及nvram装置。
例如,本文中描述的一或多个数据通信链路由数据通信链路
108a到d共同示出且可包含快速外围组件互连(‘pcie’)总线。
41.图
1b示出根据一些实施方案的用于数据存储的示例系统。

1b中示出的存储阵列控制器
101可类似于关于图
1a描述的存储阵列控制器
110a到d。
在一个示例中,存储阵列控制器
101可类似于存储阵列控制器
110a或存储阵列控制器
110b。
出于说明而非限制目的,存储阵列控制器
101包含众多元件。
可以注意到,在其它实施方案中,存储阵列控制器
101可包含以相同或不同方式配置的相同、更多或更少元件。
可以注意到,下文可包含图
1a的元件以帮助说明存储阵列控制器
101的特征。
42.存储阵列控制器
101可包含一或多个处理装置
104及随机存取存储器(‘ram’)111。
处理装置
104(控制器
101)表示一或多个通用处理装置,例如微处理器、中央处理单元或类似物。
更特定来说,处理装置
104(或控制器
101)可为复杂指令集计算(‘cisc’)微处理器、精简指令集计算(‘risc’)微处理器、超长指令字(‘vliw’)微处理器,或实施其它指令集的处理器或实施指令集组合的若干处理器。
处理装置
104(控制器
101)还可为一或多个专用处理装置,例如asic、fpga、数字信号处理器(‘dsp’)、网络处理器或类似物。
43.处理装置
104可经由数据通信链路
106连接到ram 111,数据通信链路
106可体现为高速存储器总线,例如双倍数据速率
4(‘ddr4’)总线。
存储于ram 111中的是操作系统
112。
在一些实施方案中,指令
113存储于ram 111中。
指令
113可包含用于在直接映射的快闪存储系统中执行操作的计算机程序指令。
在一个实施例中,直接映射的快闪存储系统是直接寻址快闪驱动器内的数据块且无需由快闪驱动器的存储控制器执行的地址转译的系统。
44.在实施方案中,存储阵列控制器
101包含经由数据通信链路
105a到c耦合到处理装置
104的一或多个主机总线适配器
103a到c。
在实施方案中,主机总线适配器
103a到c可为将主机系统(例如存储阵列控制器)连接到其它网络及存储阵列的计算机硬件。
在一些示例中,主机总线适配器
103a到c可为使存储阵列控制器
101能连接到san的光纤通道适配器、使存储阵列控制器
101能连接到
lan的以太网适配器或类似物。
主机总线适配器
103a到c可经由数据通信链路
105a到c(举例来说,例如pcie总线)耦合到处理装置
104。
45.在实施方案中,存储阵列控制器
101可包含耦合到扩展器
115的主机总线适配器
114。
扩展器
115可用于将主机系统附接到更大量的存储驱动器。
在其中主机总线适配器
114体现为sas控制器的实施方案中,扩展器
115可例如为用于使主机总线适配器
114能附接到存储驱动器的sas扩展器。
46.在实施方案中,存储阵列控制器
101可包含经由数据通信链路
109耦合到处理装置
104的交换机
116。
交换机
116可为计算机硬件装置,其可从单个端点创建多个端点,借此使多个装置能共享单个端点。
交换机
116可例如为耦合到pcie总线(例如数据通信链路
109)并向中平面呈现多个pcie连接点的pcie交换机。
47.在实施方案中,存储阵列控制器
101包含数据通信链路
107用于将存储阵列控制器
101耦合到其它存储阵列控制器。
在一些示例中,数据通信链路
107可为快速路径互连(qpi)互连。
48.使用传统快闪驱动器的传统存储系统可跨作为传统存储系统的部分的快闪驱动
器实施过程。
举例来说,存储系统的较高级过程可跨快闪驱动器发起及控制过程。
然而,传统存储系统的快闪驱动器可包含也执行所述过程的其自身存储控制器。
因此,针对传统存储系统,可执行较高级过程(例如,由存储系统发起)及较低级过程(例如,由存储系统的存储控制器发起)两者。
49.为了解决传统存储系统的各种缺点,操作可由较高级过程而非由较低级过程执行。
举例来说,快闪存储系统可包含不包括提供过程的存储控制器的快闪驱动器。
因此,快闪存储系统本身的操作系统可发起及控制过程。
这可由直接寻址快闪驱动器内的数据块且无需由快闪驱动器的存储控制器执行的地址转译的直接映射的快闪存储系统完成。
50.在实施方案中,存储驱动器
171a到f可为一或多个分区存储装置。
在一些实施方案中,一或多个分区存储装置可为叠瓦式hdd。
在实施方案中,一或多个存储装置可为基于快闪的ssd。
在分区存储装置中,分区存储装置上的分区命名空间可由块群组寻址,所述块群组按自然大小分组及对准,从而形成数个可寻址区。
在利用ssd的实施方案中,自然大小可基于ssd的擦除块大小。
在一些实施方案中,分区存储装置的区可在分区存储装置的初始化期间界定。
在实施方案中,区可随着数据被写入到分区存储装置而被动态地界定。
51.在一些实施方案中,区可为异构的,其中一些区各是一页面群组且其它区是多个页面群组。
在实施方案中,一些区可对应于一擦除块,且其它区可对应于多个擦除块。
在实施方案中,针对如适于异构组装、更新、分布式存储等的存储装置的编程模式、制造商、产品类型及/或产品代的异构混合,区可为以页面群组及/或擦除块为单位的不同数目的页面的任何组合。
在一些实施方案中,区可被定义为具有使用特性,例如支持具有特定种类的耐久性(例如,极短寿命或极长寿命)的数据的性质。
这些性质可由分区存储装置用于确定在区的预期生命期内将如何管理所述区。
52.应了解,区是虚拟构造。
任何特定区在存储装置处可以不具有固定位置。
在分配之前,区在存储装置处可能不具有任何位置。
区可对应于数目,其表示虚拟可分配空间的分块,其为擦除块的大小或在各个实施方案中为其它块大小。
当系统分配或打开区时,区被分配给快闪或其它固态存储存储器,且随着系统写入到区,页面被写入到分区存储装置的那个经映射快闪或其它固态存储存储器。
当系统关闭区时,完成相关联擦除块或其它大小的块。
在未来的某个时刻,系统可删除区,这将释放区的经分配空间。
在其生命期期间,例如,当分区存储装置进行内部维护时,区可移动到分区存储装置的不同位置。
53.在实施方案中,分区存储装置的区可处于不同状态。
区可处于空状态,其中数据尚未被存储于所述区处。
空区可通过将数据写入到区来显式地打开或隐式地打开。
这是新近分区存储装置上的区的初始状态,但也可为区复位的结果。
在一些实施方案中,空区在分区存储装置的快闪存储器内可具有指定位置。
在实施方案中,可在空区第一次被打开或第一次被写入时(或如果写入被缓冲到存储器中,那么稍后)选择所述区的位置。
区可显式地或隐式地处于打开状态,其中处于打开状态的区可用写入或附加命令写入以存储数据。
在实施方案中,处于打开状态的区还可使用复制来自不同区的数据的复制命令来写入。
在一些实施方案中,分区存储装置在特定时间对打开区的数目可具有限制。
54.处于关闭状态的区是已被部分写入但在发出显式关闭操作之后已进入关闭状态的区。
处于关闭状态的区可被留下可用于未来写入,但可降低通过保持区处于打开状态消耗的部分运行时开销。
在实施方案中,分区存储装置在特定时间对关闭区的数目可具有限
制。
处于满状态的区是正存储数据且无法再被写入的区。
区可在写入已将数据写入到整个区之后或由于区完成操作而处于满状态。
在完成操作之前,区可能已经或可能尚未被完全写入。
然而,在完成操作之后,在没有首先执行区复位操作的情况下,可能无法打开区以进行进一步写入。
55.从区到擦除块(或到hdd中的叠瓦式磁道)的映射可为任意的、动态的且隐藏而看不见的。
打开区的过程可为允许将新区动态地映射到分区存储装置的底层存储且接着允许通过附加写入到区中来写入数据直到区达到容量的操作。
区可在任何时刻完成,在此之后,另外的数据可能无法被写入到区中。
当不再需要存储于区处的数据时,区可被复位,这有效地从分区存储装置删除区的内容,从而使由那个区保持的物理存储可用于后续数据存储。
一旦区已被写入且完成,分区存储装置就确保存储于区处的数据在区被复位之前都不会丢失。
在将数据写入到区与区复位之间的时间中,区可在叠瓦磁道或擦除块之间移动,作为分区存储装置内的维护操作的部分,例如通过复制数据以保持数据被刷新或处置ssd中的存储器胞元老化。
56.在利用hdd的实施方案中,区的复位可允许将叠瓦磁道分配给可在未来某个时刻打开的新的打开区。
在利用ssd的实施方案中,区的复位可致使区的相关联物理擦除块被擦除且随后重用于数据的存储。
在一些实施方案中,分区存储装置在某一时间点对打开区的数目可具有限制以减小专用于保持区打开的开销量。
57.快闪存储系统的操作系统可跨快闪存储系统的多个快闪驱动器识别及维持分配单元列表。
分配单元可为全部擦除块或多个擦除块。
操作系统可维持将地址直接映射到快闪存储系统的快闪驱动器的擦除块的映射或地址范围。
58.直接映射到快闪驱动器的擦除块可用于重写数据及擦除数据。
举例来说,可对包含第一数据及第二数据的一或多个分配单元执行操作,其中第一数据将被保留且第二数据不再被快闪存储系统使用。
操作系统可发起过程以将第一数据写入到其它分配单元内的新位置并擦除第二数据且将分配单元标记为可用于后续数据。
因此,过程可仅由快闪存储系统的较高级操作系统执行,额外较低级过程无需被快闪驱动器的控制器执行。
59.过程仅由快闪存储系统的操作系统执行的优点包含提高快闪存储系统的快闪驱动器的可靠性,因为在过程期间没有执行不必要的或冗余的写入操作。
一个可能新颖点是在快闪存储系统的操作系统处发起及控制过程的概念。
另外,过程可由操作系统跨多个快闪驱动器控制。
这与由快闪驱动器的存储控制器执行的过程相反。
60.存储系统可由出于故障转移目的共享一组驱动器的两个存储阵列控制器组成,或其可由提供利用多个驱动器的存储服务的单个存储阵列控制器组成,或其可由各具有某个数目的驱动器或某个量的快闪存储的存储阵列控制器的分布式网络组成,其中网络中的存储阵列控制器合作以提供完整的存储服务且在包含存储分配及废弃项目收集的存储服务的各个方面进行合作。
61.图
1c示出根据一些实施方案的用于数据存储的第三示例系统
117。
出于说明而非限制目的,系统
117(本文中还称为“存储系统”)包含众多元件。
可以注意到,在其它实施方案中,系统
117可包含以相同或不同方式配置的相同、更多或更少元件。
62.在一个实施例中,系统
117包含具有单独可寻址快速写入存储装置的双外围组件互连(‘pci’)快闪存储装置
118。
系统
117可包含存储装置控制器
119。
在一个实施例中,存储
装置控制器
119a到d可为可实施根据本公开的必要控制结构的cpu、asic、fpga或任何其它电路系统。
在一个实施例中,系统
117包含可操作地耦合到存储装置控制器
119的各个通道的快闪存储器装置(例如,包含快闪存储器装置
120a到n)。
快闪存储器装置
120a到n可被呈现给控制器
119a到d作为足以允许存储装置控制器
119a到d编程及检索快闪的各个方面的快闪页面、擦除块及/或控制元件的可寻址集合。
在一个实施例中,存储装置控制器
119a到d可对快闪存储器装置
120a到n执行操作,包含:存储及检索页面的数据内容;布置及擦除任何块;跟踪与快闪存储器页面、擦除块及胞元的使用及重用有关的统计;跟踪及预测快闪存储器内的错误代码及故障;控制与编程及检索快闪胞元的内容相关联的电压电平;等。
63.在一个实施例中,系统
117可包含ram 121以存储单独可寻址快速写入数据。
在一个实施例中,ram 121可为一或多个单独离散装置。
在另一实施例中,ram 121可集成到存储装置控制器
119a到d或多个存储装置控制器中。ram 121也可用于其它目的,例如用于存储装置控制器
119中的处理装置(例如cpu)的临时编程存储器。
64.在一个实施例中,系统
117可包含储能装置
122,例如可再充电电池或电容器。
储能装置
122可存储足以对存储装置控制器
119、某个量的ram(例如ram 121)及某个量的快闪存储器(例如快闪存储器
120a到
120n)供电达充足时间以将ram的内容写入到快闪存储器的能量。
在一个实施例中,如果存储装置控制器检测到外部电力丢失,那么存储装置控制器
119a到d可将ram的内容写入到快闪存储器。
65.在一个实施例中,系统
117包含两个数据通信链路
123a、123b。
在一个实施例中,数据通信链路
123a、123b可为pci接口。
在另一实施例中,数据通信链路
123a、123b可基于其它通信标准(例如超传输、无限带宽等)。
数据通信链路
123a、123b可基于快速非易失性存储器(‘nvme’)或基于架构的nvme(‘nvmf’)规范,其允许从存储系统
117中的其它组件到存储装置控制器
119a到d的外部连接。
应注意,为了方便,数据通信链路可在本文中可互换地称为pci总线。
66.系统
117还可包含外部电源(未展示),其可经由一个或两个数据通信链路
123a、123b提供,或可被单独提供。
替代性实施例包含专用于存储ram 121的内容的单独快闪存储器(未展示)。
存储装置控制器
119a到d可经由pci总线呈现逻辑装置(其可包含可寻址快速写入逻辑装置)或存储装置
118的逻辑地址空间的相异部分(其可被呈现为pci存储器或呈现为持久存储装置)。
在一个实施例中,存储到装置中的操作被引导到ram 121中。
在电源发生故障时,存储装置控制器
119a到d可将与可寻址快速写入逻辑存储相关联的经存储内容写入到快闪存储器(例如快闪存储器
120a到n)以进行长期持久存储。
67.在一个实施例中,逻辑装置可包含快闪存储器装置
120a到n的内容的一些或全部的某呈现,其中所述呈现允许包含存储装置
118的存储系统(例如存储系统
117)直接寻址快闪存储器页面且通过pci总线对来自存储装置外部的存储系统组件的擦除块直接进行重新编程。
所述呈现还可允许外部组件中的一或多者控制及检索快闪存储器的其它方面,包含以下中的一些或全部:跟踪与跨所有快闪存储器装置的快闪存储器页面、擦除块及胞元的使用及重用有关的统计;跟踪及预测快闪存储器装置内及跨快闪存储器装置的错误代码及故障;控制与编程及检索快闪胞元的内容相关联的电压电平;等。
68.在一个实施例中,储能装置
122可足以确保完成对快闪存储器装置
120a到
120n的进行中操作,储能装置
122可对存储装置控制器
119a到d及相关联快闪存储器装置(例如
120a到n)供电以用于那些操作,以及用于将快速写入ram存储到快闪存储器。
储能装置
122可用于存储累积统计及由快闪存储器装置
120a到n及/或存储装置控制器
119保持及跟踪的其它参数。
单独电容器或储能装置(例如在快闪存储器装置本身附近或嵌入于快闪存储器装置本身内的更小电容器)可用于本文中描述的操作中的一些或全部。
69.各种方案可用于跟踪及优化储能组件的使用期限,例如随时间调整电压电平、将储能装置
122部分放电以测量对应放电特性等。
如果可用能量随时间减少,那么可减小可寻址快速写入存储装置的有效可用容量以确保其可基于当前可用的经存储能量而被安全写入。
70.图
1d示出根据一些实施方案的用于数据存储的第三示例存储系统
124。
在一个实施例中,存储系统
124包含存储控制器
125a、125b。
在一个实施例中,存储控制器
125a、125b可操作地耦合到双pci存储装置。
存储控制器
125a、125b可操作地耦合(例如,经由存储网络
130)到某一数目的主机计算机
127a到n。
71.在一个实施例中,两个存储控制器(例如
125a及
125b)提供存储服务,例如scs块存储阵列、文件服务器、对象服务器、数据库或数据分析服务等。
存储控制器
125a、125b可通过某一数目的网络接口(例如
126a到d)向存储系统
124外部的主机计算机
127a到n提供服务。
存储控制器
125a、125b可提供完全在存储系统
124内的集成服务或应用程序,从而形成融合存储及计算系统。
存储控制器
125a、125b可利用存储装置
119a到d内或跨存储装置
119a到d的快速写入存储器以记录(journal)进行中操作以确保在电源发生故障、存储控制器移除、存储控制器或存储系统关机或存储系统
124内的一或多个软件或硬件组件出现某故障时不会丢失操作。
72.在一个实施例中,存储控制器
125a、125b操作为一个或另一pci总线
128a、128b的pci主控器。
在另一实施例中,
128a及
128b可基于其它通信标准(例如超传输、无限带宽等)。
其它存储系统实施例可将存储控制器
125a、125b操作为pci总线
128a、128b两者的多主控器。
替代地,pci/nvme/nvmf交换基础设施或架构可连接多个存储控制器。
一些存储系统实施例可允许存储装置彼此直接通信,而非仅与存储控制器通信。
在一个实施例中,存储装置控制器
119a可在来自存储控制器
125a的引导下操作以从已被存储于ram(例如图
1c的ram 121)中的数据合成并传送将存储到快闪存储器装置中的数据。
举例来说,重新计算版本的ram内容可在存储控制器已确定操作已跨存储系统完全提交之后或当装置上的快速写入存储器已达到特定使用容量时或在特定时间量之后被传送,以确保改进数据的安全性或释放可寻址快速写入容量以供重用。
此机制可用于例如避免经由总线(例如
128a、128b)从存储控制器
125a、125b进行第二次传送。
在一个实施例中,重新计算可包含压缩数据、附加索引或其它元数据、将多个数据段组合在一起、执行纠删码计算等。
73.在一个实施例中,在来自存储控制器
125a、125b的引导下,存储装置控制器
119a、119b可操作以从存储于ram(例如图
1c的ram 121)中的数据计算数据并将数据传送到其它存储装置,而不涉及存储控制器
125a、125b。
此操作可用于将存储于一个存储控制器
125a中的数据镜像到另一存储控制器
125b,或其可用于将压缩、数据聚合及/或纠删编码计算及传送卸载到存储装置以减小存储控制器或到pci总线
128a、128b的存储控制器接口
129a、129b上的负载。
74.存储装置控制器
119a到d可包含用于实施高可用性原语以供双pci存储装置
118外
部的存储系统的其它部件使用的机构。
举例来说,可提供保留或排除原语,使得在具有提供高度可用存储服务的两个存储控制器的存储系统中,一个存储控制器可防止另一存储控制器存取或继续存取存储装置。
例如,这可在其中一个控制器检测到另一控制器没有正确地起作用或其中两个存储控制器之间的互连本身可能没有正确地起作用的情况中使用。
75.在一个实施例中,与具有单独可寻址快速写入存储装置的双pci直接映射的存储装置一起使用的存储系统包含管理擦除块或擦除块群组作为分配单元用于代表存储服务存储数据或用于存储与存储服务相关联的元数据(例如索引、日志等)或用于存储系统本身的正确管理的系统。
大小可为几千字节的快闪页面可在数据到达时或在存储系统将保持数据达长时间间隔(例如,超过界定的时间阈值)时被写入。
为了更快地提交数据,或为了减小对快闪存储器装置的写入次数,存储控制器可首先将数据写入到一个多个存储装置上的单独可寻址快速写入存储装置中。
76.在一个实施例中,存储控制器
125a、125b可根据存储装置的年限及预期剩余使用期限或基于其它统计来发起存储装置(例如
118)内及跨所述存储装置的擦除块的使用。
存储控制器
125a、125b可根据不再需要的页面以及为了管理快闪页面及擦除块使用期限且为了管理整体系统性能而在存储装置之间发起废弃项目收集及数据迁移数据。
77.在一个实施例中,存储系统
124可利用镜像及/或纠删编码方案作为将数据存储到可寻址快速写入存储装置中的部分及/或作为将数据写入到与擦除块相关联的分配单元中的部分。
纠删码可跨存储装置以及在擦除块或分配单元内或在单个存储装置上的快闪存储器装置内及跨所述快闪存储器装置使用,以提供针对单个或多个存储装置故障的冗余或使免受由快闪存储器操作或由快闪存储器胞元降级造成的快闪存储器页面内部损坏。
各个层级处的镜像及纠删编码可用于从单独或组合发生的多种类型的故障恢复。
78.参考图
2a到g描绘的实施例示出存储用户数据的存储集群,例如源自一或多个用户或客户端系统或存储集群外部的其它源的用户数据。
存储集群使用元数据的纠删编码及冗余副本跨容置于一机箱内或跨多个机箱的存储节点分布用户数据。
纠删编码是指一种数据保护或重构的方法,其中数据跨一组不同位置(例如磁盘、存储节点或地理位置)存储。
快闪存储器是可与实施例集成的一种类型的固态存储器,但实施例可扩展到其它类型的固态存储器或其它存储媒体,包含非固态存储器。
存储位置及工作负载的控制跨集群对等系统中的存储位置分布。
例如调解各个存储节点之间的通信、检测存储节点何时变成不可用及平衡跨各个存储节点的i/o(输入及输出)的任务全都是在分布式基础上处置的。
在一些实施例中,数据以支持数据恢复的数据片段或条带跨多个存储节点布局或分布。
数据的所有权可在集群内重新指派,独立于输入及输出型式。
下文更详细描述的这种体系结构允许集群中的存储节点发生故障,而系统保持操作,这是因为数据可从其它存储节点重构且因此保持可用于输入及输出操作。
在各个实施例中,存储节点可称为集群节点、刀片或服务器。
79.存储集群可装纳于机箱(即,容置一或多个存储节点的壳体)内。
向每一存储节点提供电力的机构(例如配电总线)及通信机构(例如实现存储节点之间的通信的通信总线)包含于机箱内。
根据一些实施例,存储集群可在一个位置中作为独立系统运行。
在一个实施例中,机箱装纳可被单独启用或停用的配电及通信总线两者的至少两个实例。
内部通信总线可为以太网总线,然而,例如pcie、无限带宽及其它者的其它技术同样适合。
机箱为外部通信总线提供端口用于直接或通过交换机实现多个机箱之间以及与客户端系统的通信。

部通信可使用例如以太网、无限带宽、光纤通道等的技术。
在一些实施例中,外部通信总线针对机箱间及客户端通信使用不同通信总线技术。
如果交换机被部署于机箱内或机箱之间,那么交换机可用作多个协议或技术之间的转译。
当多个机箱经连接以界定存储集群时,存储集群可由客户端使用专属接口或标准接口(例如网络文件系统(‘nfs’)、通用因特网文件系统(‘cifs’)、小型计算机系统接口(‘scsi’)或超文本传送协议(‘http’))存取。
从客户端协议转译可在交换机、机箱外部通信总线处或在每一存储节点内发生。
在一些实施例中,多个机箱可通过聚合器交换机彼此耦合或连接。
经耦合或经连接机箱的一部分及/或全部可被指定为存储集群。
如上文论述,每一机箱可具有多个刀片,每一刀片具有媒体存取控制(‘mac’)地址,但在一些实施例中,存储集群向外部网络呈现为具有单个集群ip地址及单个mac地址。
80.每一存储节点可为一或多个存储服务器,且每一存储服务器连接到一或多个非易失性固态存储器单元,其可称为存储单元或存储装置。
一个实施例在每一存储节点中及在1到8个非易失性固态存储器单元之间包含单个存储服务器,然而,此一个示例不意味着具限制性。
存储服务器可包含用于电力总线中的每一者的内部通信总线及配电的处理器、dram及接口。
在一些实施例中,在存储节点内部,接口及存储单元共享通信总线,例如快速pci。
非易失性固态存储器单元可通过存储节点通信总线直接接入内部通信总线接口,或请求存储节点接入总线接口。
非易失性固态存储器单元含有嵌入式cpu、固态存储控制器及一定数量的固态大容量存储装置,例如,在一些实施例中,在2到
32太字节(‘tb’)之间。
嵌入式易失性存储媒体(例如dram)及能量储备设备包含于非易失性固态存储器单元中。
在一些实施例中,能量储备设备是在失去电力的情况下实现将dram内容的子集传送到稳定存储媒体的电容器、超电容器或电池。
在一些实施例中,非易失性固态存储器单元经构造为具有存储类存储器,例如代替dram且启用降低功率的保持设备的相变或磁阻随机存取存储器(‘mram’)。
81.存储节点及非易失性固态存储装置的许多特征之一是在存储集群中主动重建数据的能力。
存储节点及非易失性固态存储装置可确定存储集群中的存储节点或非易失性固态存储装置何时是无法达到的,独立于是否尝试读取涉及那个存储节点或非易失性固态存储装置的数据。
接着,存储节点及非易失性固态存储装置合作以在至少部分新位置中恢复及重建数据。
这构成主动重建,这是因为系统无需等待直到从采用存储集群的客户端系统发起的读取存取需要数据才重建数据。
存储存储器及其操作的这些及另外细节在下文论述。
82.图
2a是根据一些实施例的存储集群
161的透视图,其具有多个存储节点
150
及耦合到每一存储节点以提供网络附接存储装置或存储区域网络的内部固态存储器。
网络附接存储装置、存储区域网络或存储集群或其它存储存储器可包含一或多个存储集群
161,每一存储集群具有一或多个存储节点
150,以灵活及可重新配置的方式布置物理组件及由此提供的存储存储器的量两者。
存储集群
161经设计以装配在机架中,且一或多个机架可根据需要经设置及装填用于存储存储器。
存储集群
161具有具多个槽
142的机箱
138。
应了解,机箱
138可称为外壳、壳体或机架单元。
在一个实施例中,机箱
138具有十四个槽
142,但可容易地设计其它数目的槽。
举例来说,一些实施例具有4个槽、8个槽、16个槽、32个槽或其它合适数目的槽。
在一些实施例中,每一槽
142可容纳一个存储节点
150。
机箱
138包含可用于将机箱
138安装于机架上的翼片
148。
风扇
144提供空气循环用于冷却存储节点
150
及其组件,但可使用
其它冷却组件,或可设计没有冷却组件的实施例。
交换机架构
146将机箱
138内的存储节点
150
耦合在一起且耦合到网络以用于与存储器通信。
在本文中描绘的实施例中,出于说明性目的,交换机架构
146及风扇
144左侧的槽
142被展示为被存储节点
150
占用,而交换机架构
146及风扇
144右侧的槽
142为空且可用于插入存储节点
150。
此配置是一个示例,且在各种另外的布置中,一或多个存储节点
150
可占用槽
142。
在一些实施例中,存储节点布置无需是顺序的或邻近的。
存储节点
150
是可热插拔的,这意味着在无需停止系统或使系统断电的情况下,存储节点
150
可被插入到机箱
138中的槽
142中或从槽
142移除。
在从槽
142插入或移除存储节点
150
后,系统就自动重新配置以便辨识及适应改变。
在一些实施例中,重新配置包含重新存储冗余及/或重新平衡数据或负载。
83.每一存储节点
150
可具有多个组件。
在此处展示的实施例中,存储节点
150
包含印刷电路板
159,所述印刷电路板由cpu 156(即处理器)、耦合到cpu 156的存储器
154及耦合到cpu 156的非易失性固态存储装置
152装填,但在另外实施例中,可使用其它安装件及/或组件。
存储器
154具有由cpu 156执行的指令及/或由cpu 156操作的数据。
如下文进一步解释,非易失性固态存储装置
152包含快闪,或在另外实施例中,包含其它类型的固态存储器。
84.参考图
2a,存储集群
161是可扩展的,这意味着可容易地添加具有非均一存储大小的存储容量,如上文描述。
一或多个存储节点
150
可插入到每一机箱中或从每一机箱移除,且在一些实施例中,存储集群自配置。
插入式存储节点
150
无论是在交付时被安装于机箱中还是稍后添加都可具有不同大小。
举例来说,在一个实施例中,存储节点
150
可具有
4tb的任何倍数,例如
8tb、12tb、16tb、32tb等。
在另外实施例中,存储节点
150
可具有其它存储量或容量的任何倍数。
每一存储节点
150
的存储容量被广播,且影响如何条带化数据的决策。
针对最大存储效率,实施例可在条带中自配置得尽可能宽,受制于预定连续操作要求,其中在机箱内损失多达一个或多达两个非易失性固态存储装置
152单元或存储节点
150。
85.图
2b是展示耦合多个存储节点
150
的通信互连
173及配电总线
172的框图。
返回参考图
2a,在一些实施例中,通信互连
173可包含于交换机架构
146中或与交换机架构
146一起实施。
在多个存储集群
161占用机架的情况下,在一些实施例中,通信互连
173可包含于机架交换机的顶部中或与所述顶部一起实施。
如图
2b中示出,存储集群
161被围封于单个机箱
138内。
外部端口
176通过通信互连
173耦合到存储节点
150,而外部端口
174直接耦合到存储节点。
外部电源端口
178耦合到配电总线
172。
存储节点
150
可包含不同量及不同容量的非易失性固态存储装置
152,如参考图
2a描述。
另外,一或多个存储节点
150
可为仅计算存储节点,如图
2b中示出。
权限
168实施于非易失性固态存储装置
152上,例如作为存储于存储器中的列表或其它数据结构。
在一些实施例中,权限存储于非易失性固态存储装置
152内且由在非易失性固态存储装置
152的控制器或其它处理器上执行的软件支持。
在另一实施例中,权限
168实施于存储节点
150
上,例如作为存储于存储器
154中的列表或其它数据结构且由在存储节点
150
的cpu 156上执行的软件支持。
在一些实施例中,权限
168控制数据如何被存储于非易失性固态存储装置
152中及数据被存储于非易失性固态存储装置
152中的位置。
此控制帮助确定哪一类型的纠删编码方案被应用于数据及哪些存储节点
150
具有数据的哪些部分。
每一权限
168可经指派给非易失性固态存储装置
152。
在各个实施例中,每一权限可控制由文件系统、由存储节点
150
或由非易失性固态存储装置
152指派给数据的索引节点(inode)号、段号或其它数据标识符的范围。
86.在一些实施例中,每一条数据及每一条元数据在系统中具有冗余。
另外,每一条数据及每一条元数据具有所有者,其可称为权限。
如果那个权限是无法达到的,例如通过存储节点的故障,那么针对如何查找那个数据或那个元数据有继任计划。
在各个实施例中,存在权限
168的冗余副本。
在一些实施例中,权限
168与存储节点
150
及非易失性固态存储装置
152具有关系。
覆盖数据的数据段号或其它标识符的范围的每一权限
168可被指派给特定非易失性固态存储装置
152。
在一些实施例中,针对全部此类范围的权限
168分布于存储集群的非易失性固态存储装置
152上。
每一存储节点
150
具有提供对那个存储节点
150
的非易失性固态存储装置
152的存取的网络端口。
数据可以段存储,在一些实施例中,段与段号相关联且那个段号是raid(独立磁盘冗余阵列)条带的配置的间接性。
权限
168的指派及使用因此建立对数据的间接性。
根据一些实施例,间接性可称为间接(在此情况中,经由权限
168)引用数据的能力。
段识别一组非易失性固态存储装置
152及到可含有数据的所述一组非易失性固态存储装置
152中的本地标识符。
在一些实施例中,本地标识符是到装置中的偏移且可被多个段循序地重用。
在其它实施例中,本地标识符针对特定段是唯一的且从不被重用。
非易失性固态存储装置
152中的偏移经应用以定位数据用于写入到非易失性固态存储装置
152或从非易失性固态存储装置
152读取(以raid条带的形式)。
数据跨非易失性固态存储装置
152的多个单元被条带化,非易失性固态存储装置
152可包含具有针对特定数据段的权限
168的非易失性固态存储装置
152或不同于所述非易失性固态存储装置
152。
87.如果特定数据段所定位的位置有改变,例如,在数据移动或数据重构期间,那么针对那个数据段的权限
168应在具有那个权限
168的那个非易失性固态存储装置
152或存储节点
150
处被查阅。
为了定位一条特定数据,实施例计算数据段的散列值或应用索引节点号或数据段号。
此操作的输出指向具有针对那条特定数据的权限
168的非易失性固态存储装置
152。
在一些实施例中,对于此操作存在两个阶段。
第一阶段将实体标识符(id)(例如段号、索引节点号或目录号)映射到权限标识符。
此映射可包含例如散列或位掩码的计算。
第二阶段是将权限标识符映射到特定非易失性固态存储装置
152,这可通过显式映射完成。
操作是可重复的,使得当计算被执行时,计算的结果可重复地且可靠地指向具有那个权限
168的特定非易失性固态存储装置
152。
操作可包含可达到存储节点集作为输入。
如果可达到非易失性固态存储单元集改变,那么最佳集改变。
在一些实施例中,所保持值是当前指派(其总是为真)且计算得到的值是集群将尝试重新配置的目标指派。
此计算可用于在存在可达到且构成同一集群的一组非易失性固态存储装置
152时确定权限的最佳非易失性固态存储装置
152。
计算还确定对等非易失性固态存储装置
152的有序集,其还将记录对非易失性固态存储装置映射的权限,使得即使当经指派非易失性固态存储装置是无法达到的时也可确定权限。
在一些实施例中,如果特定权限
168不可用,那么可查阅重复或替代权限
168。
88.参考图
2a及
2b,存储节点
150
上的cpu 156的许多任务中的两者是分解写入数据及重组读取数据。
当系统已确定数据将被写入时,针对那个数据的权限
168如上所述般定位。
当数据的段id已被确定时,写入请求被转发到当前被确定为从所述段确定的权限
168的主机的非易失性固态存储装置
152。
接着,非易失性固态存储装置
152及对应权限
168驻留于其上的存储节点
150
的主机cpu 156将数据分解或切分并将所述数据传输出去到各种非易失性固态存储装置
152。
所传输数据根据纠删编码方案被作为数据条带写入。
在一些实施例中,请求拉取数据,且在其它实施例中,推送数据。
相反,当数据被读取时,针对含有所述数
据的段id的权限
168如上所述般定位。
非易失性固态存储装置
152及对应权限
168驻留于其上的存储节点
150
的主机cpu 156向非易失性固态存储装置及由权限指向的对应存储节点请求数据。
在一些实施例中,数据作为数据条带从快闪存储装置读取。
接着,存储节点
150
的cpu 156重组读取的数据,从而根据适当纠删编码方案校正任何错误(如果有的话)并将经重组数据转发到网络。
在另外实施例中,这些任务中的一些或全部可在非易失性固态存储装置
152中处置。
在一些实施例中,段主机通过向存储装置请求页面且接着将数据发送到发出原始请求的存储节点来请求要发送到存储节点
150
的数据。
89.在实施例中,权限
168操作以确定操作将如何针对特定逻辑元素进行。
可通过跨存储系统的多个存储控制器的特定权限对逻辑元素中的每一者进行操作。
权限
168可与多个存储控制器通信使得多个存储控制器针对那些特定逻辑元素共同执行操作。
90.在实施例中,逻辑元素可为例如文件、目录、对象桶、个别对象、文件或对象的描述部分、其它形式的键值对数据库或表。
在实施例中,执行操作可涉及例如确保针对同一逻辑元素的其它操作的一致性、结构完整性及/或可恢复性、读取与那个逻辑元素相关联的元数据及数据、确定什么数据应被持久地写入到存储系统中以保持操作的任何改变,或元数据及数据可被确定跨附接到存储系统中的多个存储控制器的模块化存储装置将存储的位置。
91.在一些实施例中,操作是在分布式系统内有效地传递的基于令牌的事务。
每一事务可伴随有令牌或与令牌相关联,令牌给出执行事务的许可。
在一些实施例中,权限
168能够维持系统的事务前状态直到操作完成。
基于令牌的通信可在没有跨系统的全局锁定的情况下完成,且还能在损坏或其它故障的情况下重新开始操作。
92.在一些系统中,例如在unix样式文件系统中,数据用指定表示文件系统中的对象的数据结构的索引节点(index node或inode)处置。
举例来说,对象可为文件或目录。
元数据可伴随对象,作为属性,例如许可数据及创建时间戳以及其它属性。
段号可被指派给文件系统中的此对象的全部或一部分。
在其它系统中,数据段用其它地方指派的段号处置。
出于论述目的,分布单元是实体,且实体可为文件、目录或段。
即,实体是由存储系统存储的数据或元数据的单元。
实体被分组为称为权限的集。
每一权限具有权限所有者,其是具有更新权限中的实体的独占权的存储节点。
换句话说,存储节点含有权限,且权限又含有实体。
93.根据一些实施例,段是数据的逻辑容器。
段是媒体地址空间与物理快闪位置之间的地址空间,即,数据段号在此地址空间中。
段还可含有元数据,其使数据冗余能恢复(重写到不同快闪位置或装置),而不涉及较高级软件。
在一个实施例中,段的内部格式含有客户端数据及媒体映射以确定那个数据的位置。
在适用的情况下,通过将每一数据段分解成数个数据及奇偶校验碎片来保护所述段,例如防止存储器及其它故障的影响。
数据及奇偶校验碎片根据纠删编码方案跨耦合到主机cpu 156的非易失性固态存储装置
152分布(即,条带化)(参阅图
2e及
2g)。
在一些实施例中,术语段的使用是指容器及其在段的地址空间中的位置。
根据一些实施例,术语条带的使用是指与段相同的碎片集且包含碎片以及冗余或奇偶校验信息如何分布。
94.一系列地址空间变换跨整个存储系统发生。
顶部处是链接到索引节点的目录条目(文件名)。
索引节点指向媒体地址空间,其中数据被逻辑存储。
媒体地址可通过一系列间接媒体映射以扩展大文件的负载或实施如去重复或快照的数据服务。
媒体地址可通过一系列间接媒体映射以扩展大文件的负载或实施如去重复或快照的数据服务。
接着,段地址经转
译成物理快闪位置。
根据一些实施例,物理快闪位置具有由系统中的快闪的量限定的地址范围。
媒体地址及段地址是逻辑容器,且在一些实施例中使用
128位或更大标识符以便在实际上是无限的,其中重用的可能性被计算为比系统的预期寿命更长。
在一些实施例中,来自逻辑容器的地址以阶层方式分配。
最初,每一非易失性固态存储装置
152单元可被指派一地址空间范围。
在此经指派范围内,非易失性固态存储装置
152能够分配地址,而无需与其它非易失性固态存储装置
152同步。
95.数据及元数据由经优化用于不同工作负载型式及存储装置的一组底层存储布局存储。
这些布局并入多种冗余方案、压缩格式及索引算法。
这些布局中的一些布局存储关于权限及权限主控器的信息,而其它布局存储文件元数据及文件数据。
冗余方案包含容忍单个存储装置(例如nand快闪芯片)内的损坏位的错误校正码、容忍多个存储节点故障的纠删码及容忍数据中心或区域故障的复制方案。
在一些实施例中,在单个存储单元内使用低密度奇偶校验(‘
ldpc’)码。
在一些实施例中,在存储集群内使用里德-所罗门(reed-solomon)编码,且在存储网格内使用镜像。
元数据可使用有序日志结构索引(例如日志结构合并树)存储,且大数据可不存储于日志结构布局中。
96.为了维持跨实体的多个副本的一致性,存储节点通过计算隐式地同意两件事:(1)含有实体的权限及(2)含有权限的存储节点。
实体到权限的指派可通过伪随机地向权限指派实体、通过基于外部产生的密钥将实体拆分为范围或通过将单个实体放置到每一权限中来完成。
伪随机方案的示例是线性散列及可扩展散列下的复制(‘rush’)系列的散列,包含可扩展散列下的受控复制(‘crush’)。
在一些实施例中,伪随机指派仅用于向节点指派权限,这是因为节点集可改变。
权限集无法改变,因此在这些实施例中可应用任何主观函数。
一些放置方案自动将权限放置于存储节点上,而其它放置方案依赖于权限到存储节点的显式映射。
在一些实施例中,伪随机方案用于从每一权限映射到一组候选权限所有者。
与crush有关的伪随机数据分布函数可向存储节点指派权限且创建在哪里指派权限的列表。
每一存储节点具有伪随机数据分布函数的副本,且可得出相同计算以进行分布,及稍后查找或定位权限。
在一些实施例中,伪随机方案中的每一者需要可达到存储节点集作为输入以便得出相同目标节点。
一旦实体已被放置于权限中,实体就可被存储于物理装置上使得预期故障将不会导致非预期数据丢失。
在一些实施例中,重新平衡算法尝试将权限内的所有实体的副本都存储于同一布局中及同一组机器上。
97.预期故障的示例包含装置故障、机器被盗、数据中心火灾及区域性灾难,例如核事件或地质事件。
不同故障导致不同程度的可接受数据丢失。
在一些实施例中,存储节点被盗既不影响系统的安全性也不影响可靠性,而取决于系统配置,区域性事件可能导致数据不会丢失、几秒钟或几分钟的更新丢失或甚至数据完全丢失。
98.在实施例中,存储冗余的数据的放置与数据一致性的权限的放置无关。
在一些实施例中,含有权限的存储节点不含任何持久存储装置。
代替地,存储节点连接到不含权限的非易失性固态存储单元。
存储节点与非易失性固态存储单元之间的通信互连由多种通信技术组成且具有非均一性能及容错特性。
在一些实施例中,如上文提及,非易失性固态存储单元经由快速pci连接到存储节点,存储节点使用以太网背板一起连接于单个机箱内,且机箱连接在一起以形成存储集群。
在一些实施例中,存储集群使用以太网或光纤通道连接到客户端。
如果多个存储集群经配置成存储网格,那么多个存储集群使用因特网或其它长距离
联网链路(例如不会横穿因特网的“城域规模(metro scale)”链路或私密链路)连接。
99.权限所有者具有修改实体、将实体从一个非易失性固态存储单元迁移到另一非易失性固态存储单元并添加及移除实体的副本的独占权。
这允许维持底层数据的冗余。
当权限所有者发生故障、将被正式停止使用或过载时,权限被转移给新存储节点。
瞬时故障使确保所有无故障机器就新权限位置达成一致变得非常重要。
由于瞬时故障而产生的歧义可由例如paxos等共识协议、由热暖故障转移方案、经由远程系统管理员进行的手动干预或由本地硬件管理员(例如通过从集群物理移除故障机器,或按下故障机器上的按钮)自动实现。
在一些实施例中,使用共识协议,且故障转移是自动的。
根据一些实施例,如果在过短时间段内发生过多故障或复制事件,那么系统进入自我保护模式且停止复制及数据移动活动直到管理员干预。
100.当权限在存储节点与权限所有者之间转移更新实体的权限时,系统在存储节点与非易失性固态存储单元之间传送消息。
关于持久消息,具有不同目的的消息具有不同类型。
取决于消息的类型,系统维持不同排序及耐用性保证。
在处理持久消息时,消息以多个持久及非持久存储硬件技术临时存储。
在一些实施例中,消息被存储于ram、nvram中及nand快闪装置上,且使用各种协议以便有效地使用每一存储媒体。
延时敏感客户端请求可被保持在复制nvram中,且接着,稍后保持在nand中,而后台重新平衡操作被直接保持到nand。
101.持久消息在被传输之前被持久地存储。
这允许系统继续服务于客户端请求,而不管发生故障及组件更换。
尽管许多硬件组件含有对系统管理员、制造商、硬件供应链及正在进行的监测质量控制基础设施可见的唯一标识符,但在基础设施地址上运行的应用程序寻址虚拟化地址。
这些虚拟化地址在存储系统的生命期内不会改变,无论组件故障及更换如何。
这允许随时间更换存储系统的每一组件,而无需重新配置或中断客户端请求处理,即,系统支持非破坏性升级。
102.在一些实施例中,虚拟化地址以足够的冗余存储。
连续监测系统使硬件及软件状态与硬件标识符相关。
这允许检测及预测由于有故障的组件及制造细节引起的故障。
在一些实施例中,监测系统还能够通过从关键路径移除组件而在发生故障之前主动将权限及实体转移远离受影响的装置。
103.图
2c是展示存储节点
150
的内容及存储节点
150
的非易失性固态存储装置
152的内容的多层级框图。
在一些实施例中,数据由网络接口控制器(‘nic’)202传递到存储节点
150
及从存储节点
150
传递。
每一存储节点
150
具有cpu 156及一或多个非易失性固态存储装置
152,如上文论述。
在图
2c中向下移动一个层级,每一非易失性固态存储装置
152具有相对快速非易失性固态存储器,例如非易失性随机存取存储器(‘nvram’)204及快闪存储器
206。
在一些实施例中,nvram 204可为不需要编程/擦除循环的组件(dram、mram、pcm),且可为能够支持写入比从存储器读取频繁得多的存储器。
在图
2c中向下移动另一层级,在一个实施例中,nvram 204实施为由能量储备
218备份的高速易失性存储器,例如动态随机存取存储器(dram)216。
能量储备
218提供充足的电力来保持dram 216被通电足够长的时间以在电源故障事件中将内容传送到快闪存储器
206。
在一些实施例中,能量储备
218是供应足以在失去电力的情况中使dram 216的内容能传送到稳定存储媒体的合适能量供应的电容器、超电容器、电池或其它装置。
快闪存储器
206经实施为多个快闪裸片
222,其可称为快闪裸片
222封装或快闪裸片
222阵列。
应了解,快闪裸片
222可以任何数目种方式封装,其中每封装单个裸
片、每封装多个裸片(即,多芯片封装),呈混合封装,作为印刷电路板或其它衬底上的裸露裸片、作为经囊封裸片等。
在所展示的实施例中,非易失性固态存储装置
152具有控制器
212或其它处理器及耦合到控制器
212的输入输出(i/o)端口
210。i/o端口
210耦合到快闪存储节点
150
的cpu 156及/或网络接口控制器
202。
快闪输入输出(i/o)端口
220
耦合到快闪裸片
222,且直接存储器存取单元(dma)214耦合到控制器
212、dram 216及快闪裸片
222。
在所展示的实施例中,i/o端口
210、控制器
212、dma单元
214及快闪i/o端口
220
实施于可编程逻辑装置(‘pld’)208(例如fpga)上。
在此实施例中,每一快闪裸片
222具有组织为
16kb(千字节)页面
224的页面及寄存器
226,数据可通过寄存器
226被写入到快闪裸片
222或从快闪裸片
222读取。
在另外实施例中,使用其它类型的固态存储器代替或补充快闪裸片
222内示出的快闪存储器。
104.在如本文中公开的各个实施例中,存储集群
161通常可与存储阵列形成对比。
存储节点
150
是创建存储集群
161的集合的部分。
每一存储节点
150
拥有数据切片及提供所述数据所需的计算。
多个存储节点
150
合作以存储及检索数据。
如通常在存储阵列中使用,存储存储器或存储装置较少涉及处理及操纵数据。
存储阵列中的存储存储器或存储装置接收读取、写入或擦除数据的命令。
存储阵列中的存储存储器或存储装置不知道其被嵌入于其中的较大系统,或数据意味着什么。
存储阵列中的存储存储器或存储装置可包含各种类型的存储存储器,例如ram、固态驱动器、硬盘驱动器等。
本文中描述的非易失性固态存储装置
152单元具有同时有效且服务于多种目的的多个接口。
在一些实施例中,存储节点
150
的某功能性经移位到存储单元
152中,从而将存储单元
152变换成存储单元
152与存储节点
150
的组合。
将计算(相对于存储数据)放置到存储单元
152中会将此计算放置成离数据本身更近。
各个系统实施例具有具不同能力的存储节点层的阶层。
与此对比,在存储阵列中,控制器拥有且了解关于控制器在架子(shelf)或存储装置中管理的所有数据的每件事。
在存储集群
161中,如本文中描述,多个非易失性固态存储装置
152单元及/或存储节点
150
中的多个控制器以各种方式合作(例如,用于纠删编码、数据切分、元数据通信及冗余、存储容量扩展或收缩、数据恢复等等)。
105.图
2d展示使用图
2a到c的存储节点
150
及存储装置
152单元的实施例的存储服务器环境。
在此版本中,每一非易失性固态存储装置
152单元具有在机箱
138(参阅图
2a)中的pcie(快速外围组件互连)板上的例如控制器
212(参阅图
2c)的处理器、fpga、快闪存储器
206及nvram 204(其是超电容器支持的dram 216,参阅图
2b及
2c)。
非易失性固态存储装置
152单元可经实施为含有存储装置的单个板,且可为机箱内部的最大可容忍故障域。
在一些实施例中,多达两个非易失性固态存储装置
152单元可能发生故障且装置将继续,而没有数据丢失。
106.在一些实施例中,物理存储装置基于应用使用被划分成命名区域。nvram 204是非易失性固态存储装置
152dram 216中保留的存储器的连续块且由nand快闪提供支持。nvram 204在逻辑上被划分成多个存储器区域,编写两个作为卷轴(spool)(例如spool_region)。nvram 204卷轴内的空间由每一权限
168独立管理。
每一装置向每一权限
168提供一定量的存储空间。
那个权限
168进一步管理那个空间内的生命期及分配。
卷轴的示例包含分布式事务或概念。
当到非易失性固态存储装置
152单元的主电力发生故障时,板载超电容器提供较短持续时间的电力保持。
在此保持间隔期间,nvram 204的内容被刷新到快闪存储器
206。

下一次通电时,nvram 204的内容从快闪存储器
206恢复。
107.关于存储单元控制器,逻辑“控制器”的职责跨含有权限
168的刀片中的每一者分布。
此逻辑控制分布在图
2d中展示为主机控制器
242、中间层阶控制器
244及存储单元控制器
246。
独立地对待控制平面及存储平面的管理,但部件可物理地共同定位于同一刀片上。
每一权限
168有效地用作独立控制器。
每一权限
168提供其自身数据及元数据结构、其自身后台工作者并维持其自身生命循环。
108.图
2e是展示在图
2d的存储服务器环境中使用图
2a到c的存储节点
150
及存储单元
152的实施例与底层物理资源交互的控制平面
254、计算及存储平面
256、258及权限
168的刀片
252硬件框图。
控制平面
254经分割成可使用计算平面
256中的计算资源在刀片
252中的任何者上运行的数个权限
168。
存储平面
258经分割成一组装置,其中的每一者提供对快闪
206及nvram 204资源的存取。
在一个实施例中,计算平面
256可对存储平面
258(例如存储阵列)的一或多个装置执行存储阵列控制器的操作,如本文中描述。
109.在图
2e的计算及存储平面
256、258中,权限
168与底层物理资源(即装置)交互。
从权限
168的观点看,其资源经条带化于全部物理装置上。
从装置的观点看,其向所有权限
168提供资源,无论权限碰巧在哪里运行。
每一权限
168已分配或已被分配存储单元
152中的存储存储器的一或多个分区
260,例如,快闪存储器
206及nvram 204中的分区
260。
每一权限
168使用属于其的那些经分配分区
260
用于写入或读取用户数据。
权限可与系统的不同物理存储量相关联。
举例来说,一个权限
168可在一或多个存储单元
152中具有比一或多个其它权限
168更大量的分区
260
或更大大小的分区
260。
110.图
2f描绘根据一些实施例的存储集群的刀片
252中的弹性软件层。
在弹性结构中,弹性软件是对称的,即,每一刀片的计算模块
270
运行图
2f中描绘的过程的三个相同层。
存储管理器
274执行来自其它刀片
252的针对存储于本地存储单元
152nvram 204及快闪
206中的数据及元数据的读取及写入请求。
权限
168通过向对应数据或元数据驻留于其存储单元
152上的刀片
252发出必要读取及写入来实现客户端请求。
端点
272解析从交换机架构
146监控软件接收的客户端连接请求、将客户端连接请求中继到负责实现的权限
168并将权限
168的响应中继到客户端。
对称三层结构实现存储系统的高度并发性。
在这些实施例中,弹性高效且可靠地横向扩展。
另外,弹性实施唯一横向扩展技术,其均匀地平衡跨所有资源的工作,无论客户端存取型式为何,且通过消除通常对常规分布式锁定发生的刀片间协调的大部分需求来最大化并发性。
111.仍参考图
2f,在刀片
252的计算模块
270
中运行的权限
168执行完成客户端请求所需的内部操作。
弹性的一个特征是,权限
168是无状态的,即,其将有效数据及元数据高速缓存于其自身刀片
252的dram中以供快速存取,但权限将每个更新存储于三个单独刀片
252上的其nvram 204的分区中直到更新已被写入到快闪
206。
在一些实施例中,到nvram 204的所有存储系统写入对三个单独刀片
252上的分区都是一式三份。
利用受奇偶校验及里德-所罗门raid校验和保护的三镜像nvram 204及持久存储装置,存储系统可以承受两个刀片
252的并发故障,而不会丢失数据、元数据或对任一者的存取。
112.因为权限
168是无状态的,因此其可在刀片
252之间迁移。
每一权限
168具有唯一标识符。nvram 204及快闪
206的分区与权限
168的标识符相关联,而不与在一些中其运行所在的刀片
252相关联。
因此,当权限
168迁移时,权限
168继续从其新位置管理相同存储分区。

新刀片
252被安装于存储集群的实施例中时,系统通过以下操作自动重新平衡负载:将新刀片
252的存储装置分区以供系统的权限
168使用、将选定权限
168迁移到新刀片
252、开启新刀片
252上的端点
272及将其包含于交换机架构
146的客户端连接分布算法中。
113.经迁移权限
168从其新位置将其nvram 204分区的内容保持于快闪
206上、处理来自其它权限
168的读取及写入请求,及完成端点
272引导到其的客户端请求。
类似地,如果刀片
252发生故障或被移除,那么系统将其权限
168重新分布于系统的剩余刀片
252当中。
经重新分布权限
168继续从其新位置执行其原始功能。
114.图
2g描绘根据一些实施例的存储集群的刀片
252中的权限
168及存储资源。
每一权限
168专门负责每一刀片
252上的快闪
206及nvram 204的分区。
权限
168管理其分区的内容及完整性,与其它权限
168无关。
权限
168压缩传入数据且将其临时保存于其nvram 204的分区中,且接着,将数据合并、raid保护及保持于其快闪
206分区中的存储装置的段中。
在权限
168将数据写入到快闪
206时,存储管理器
274执行必要快闪转译以优化写入性能并最大化媒体寿命。
在后台中,权限
168“进行废弃项目收集”或回收被客户端通过盖写数据而使其过时的数据占用的空间。
应了解,因为权限
168的分区是不相交的,因此无需分布式锁定来执行客户端及写入或执行后台功能。
115.本文中描述的实施例可利用各种软件、通信及/或联网协议。
另外,硬件及/或软件的配置可经调整以适应各种协议。
举例来说,实施例可利用活动目录,其是在windowstm环境中提供认证、目录、策略及其它服务的基于数据库的系统。
在这些实施例中,
ldap(轻量目录存取协议)是一种用于查询及修改目录服务提供商中的项目(例如活动目录)的示例应用协议。
在一些实施例中,网络锁定管理器(‘nlm’)用作与网络文件系统(‘nfs’)合作工作以经由网络提供系统v样式的咨询文件及记录锁定的设施。
服务器消息块(‘smb’)协议(其一个版本还称为通用因特网文件系统(‘cifs’))可与本文中论述的存储系统集成。smp操作为通常用于提供对文件、打印机及串行端口的共享存取以及网络上的节点之间的杂项通信的应用层网络协议。smb还提供经认证进程间通信机制。amazontm s3(简单存储服务)是由亚马逊网络服务(amazon web services)提供的网络服务,且本文中描述的系统可通过网络服务接口(rest(代表性状态转移)、soap(简单对象存取协议)及bittorrent)与amazon s3介接。restful api(应用编程接口)分解事务以创建一系列小模块。
每一模块解决事务的特定底层部分。
用这些实施例提供的控制或许可,尤其是针对对象数据,可包含存取控制列表(‘acl’)的利用。acl
是附加到对象的许可列表,且acl
指定哪些用户或系统进程被授予存取对象以及给定对象上允许什么操作。
系统可利用因特网协议版本
6(‘ipv6’)以及ipv4,用于为网络上的计算机提供识别及定位系统及跨因特网路由业务的通信协议。
联网系统之间的分组路由可包含等价多路径路由(‘ecmp’),其是一种路由策略,其中到单个目的地的下一跳分组转发可经由在路由度量计算中处于顶端的多个“最佳路径”发生。
多径路由可连同大多数路由协议一起使用,这是因为其是限于单个路由器的每跳决策。
软件可支持多租户,其是其中软件应用程序的单个实例服务于多个客户的体系结构。
每一客户可称为租户。
在一些实施例中,可给予租户定制应用程序的一些部分的能力,但可能无法定制应用程序的代码。
实施例可维持审计日志。
审计日志是记录计算系统中的事件的文档。
除了记载什么资源被存取之外,审计日志条目通常还包含目的地及源地址、时间戳及用户登录信息以符合各种法规。
实施例可支持各种密钥管理策略,例如加密密钥轮换。
另外,系统可支持动态根密
码或动态改变密码的某个变动。
116.图
3a陈述根据本公开的一些实施例的经耦合用于与云服务提供商
302进行数据通信的存储系统
306的图。
尽管描绘得不太详细,但图
3a中描绘的存储系统
306可类似于上文参考图
1a到
1d及图
2a到
2g描述的存储系统。
在一些实施例中,图
3a中描绘的存储系统
306可体现为包含不平衡主动/主动控制器的存储系统、包含平衡主动/主动控制器的存储系统、包含主动/主动控制器的存储系统(其中每一控制器的并非全部资源被利用,使得每一控制器都具有可用于支持故障转移的保留资源)、包含完全主动/主动控制器的存储系统、包含数据集隔离控制器的存储系统、包含具有前端控制器及后端集成存储控制器的双层体系结构的存储系统、包含双控制器阵列的横向扩展集群的存储系统,以及此类实施例的组合。
117.在图
3a中描绘的示例中,存储系统
306经由数据通信链路
304耦合到云服务提供商
302。
数据通信链路
304可体现为专用数据通信链路、通过使用一或数据通信网络(例如广域网(‘wan’)或
lan)提供的数据通信路径,或能够在存储系统
306与云服务提供商
302之间传输数字信息的某其它机构。
此数据通信链路
304可为完全有线、完全无线或有线与无线数据通信路径的某聚合。
在此示例中,数字信息可使用一或多个数据通信协议经由数据通信链路
304在存储系统
306与云服务提供商
302之间交换。
举例来说,数字信息可使用手持式装置传送协议(‘hdtp’)、超文本传送协议(‘http’)、因特网协议(‘ip’)、实时传送协议(‘rtp’)、传输控制协议(‘tcp’)、用户数据报协议(‘udp’)、无线应用协议(‘wap’)或其它协议经由数据通信链路
304在存储系统
306与云服务提供商
302之间交换。
118.例如,图
3a中描绘的云服务提供商
302可体现为通过经由数据通信链路
304共享计算资源而向云服务提供商
302的用户提供大量服务的系统及计算环境。
云服务提供商
302可对共享可配置计算资源(例如计算机网络、服务器、存储装置、应用程序及服务等等)池提供按需存取。
共享可配置资源池可以最小的管理工作量被迅速预置且被释放给云服务提供商
302的用户。
一般来说,云服务提供商
302的用户不知道由云服务提供商
302用于提供服务的精确计算资源。
尽管在许多情况中此云服务提供商
302可经由因特网存取,但所属领域的读者将认识到,抽象化共享资源的使用以通过任何数据通信链路向用户提供服务的任何系统可被视为云服务提供商
302。
119.在图
3a中描绘的示例中,云服务提供商
302可经配置以通过实施各种服务模型向存储系统
306及存储系统
306的用户提供各种服务。
举例来说,云服务提供商
302可经配置以通过实施基础设施即服务(‘iaas’)服务模型、通过实施平台即服务(‘paas’)服务模型、通过实施软件即服务(‘saas’)服务模型、通过实施认证即服务(‘aaas’)服务模型、通过实施存储即服务模型(其中云服务提供商
302提供对其存储基础设施的存取以供存储系统
306及存储系统
306的用户使用)等等来提供服务。
读者将了解,云服务提供商
302可经配置以通过实施额外服务模型向存储系统
306及存储系统
306的用户提供额外服务,这是因为上文描述的服务模型仅为了解释目的而包含且决不表示对可由云服务提供商
302提供的服务的限制或关于可由云服务提供商
302实施的服务模型的限制。
120.在图
3a中描绘的示例中,云服务提供商
302可体现为例如私密云、公共云或私密云与公共云的组合。
在其中云服务提供商
302体现为私密云的实施例中,云服务提供商
302可专用于向单个组织提供服务,而非向多个组织提供服务。
在其中云服务提供商
302体现为公共云的实施例中,云服务提供商
302可向多个组织提供服务。
在又替代性实施例中,云服务
提供商
302可用混合云部署体现为私密与公共云服务的混合。
121.尽管图
3a中未明确描绘,但读者将了解,可能需要大量额外硬件组件及额外软件组件来促进向存储系统
306及存储系统
306的用户交付云服务。
举例来说,存储系统
306可耦合到(或甚至包含)云存储网关。
例如,此云存储网关可体现为与存储系统
306一起本地部署(on premise)定位的基于硬件或基于软件的设备。
此云存储网关可操作为在存储系统
306上执行的本地应用程序与由存储系统
306利用的远程基于云的存储装置之间的桥。
通过使用云存储网关,组织可将主要iscsi或nas移动到云服务提供商
302,借此使组织能节省其本地部署存储系统上的空间。
此云存储网关可经配置以模拟磁盘阵列、基于块的装置、文件服务器或可将scsi命令、文件服务器命令或其它适当命令转译成促进与云服务提供商
302的通信的rest空间协议的其它存储系统。
122.为了使存储系统
306及存储系统
306的用户能使用由云服务提供商
302提供的服务,云迁移过程可在来自组织的本地系统(或甚至来自另一云环境)的哪些数据、应用程序或其它元素被移动到云服务提供商
302期间发生。
为了将数据、应用程序或其它元素成功迁移到云服务提供商
302的环境,例如云迁移工具的中间件可用于桥接云服务提供商
302的环境与组织的环境之间的间隙。
此类云迁移工具还可经配置以解决与将大量数据迁移到云服务提供商
302相关联的潜在高网络成本及长传送时间,以及解决与经由数据通信网络到云服务提供商
302的敏感数据相关联的安全问题。
为了使存储系统
306及存储系统
306的用户能进一步使用由云服务提供商
302提供的服务,还可使用云编排器来布置及协调自动化任务以创建经合并过程或工作流。
此云编排器可执行任务,例如配置各种组件,无论那些组件是云组件还是本地部署组件,以及管理此类组件之间的互连。
云编排器可简化组件间通信及连接以确保链路被正确配置及维持。
123.在图
3a中描绘的示例中,且如上文简要描述,云服务提供商
302可经配置以通过使用saas服务模型向存储系统
306及存储系统
306的用户提供服务,从而消除对在本地计算机上安装并运行应用程序的需求,这可简化应用程序的维护及支持。
根据本公开的各个实施例,此类应用程序可采取许多形式。
举例来说,云服务提供商
302可经配置以向存储系统
306及存储系统
306的用户提供对数据分析应用程序的存取。
此类数据分析应用程序可经配置例如以接收由存储系统
306传回(phoned home)的大量遥测数据。
此类遥测数据可描述存储系统
306的各种操作特性且可经分析用于大量目的,包含例如确定存储系统
306的健康、识别在存储系统
306上执行的工作负载、预测存储系统
306何时将用完各种资源、推荐配置改变、硬件或软件升级、工作流迁移,或可改进存储系统
306的操作的其它动作。
124.云服务提供商
302还可经配置以向存储系统
306及存储系统
306的用户提供对虚拟化计算环境的存取。
例如,此类虚拟化计算环境可体现为虚拟机或其它虚拟化计算机硬件平台、虚拟存储装置、虚拟化计算机网络资源等等。
此类虚拟化环境的示例可包含经创建以模拟实际计算机的虚拟机、将逻辑桌面与物理机器分离的虚拟化桌面环境、允许统一存取不同类型的具体文件系统的虚拟化文件系统,及许多其它者。
125.尽管图
3a中描绘的示例示出存储系统
306经耦合用于与云服务提供商
302进行数据通信,但在其它实施例中,存储系统
306可为混合云部署的部分,其中私密云元素(例如私密云服务、本地部署基础设施等等)及公共云元素(例如可由一或多个云服务提供商提供的公共云服务、基础设施等等)经组合以形成单个解决方案,在各个平台当中进行编排。
此混
合云部署可利用混合云管理软件,例如(举例来说)来自microsofttm的azuretm arc,其使混合云部署的管理集中到任何基础设施且在任何地方实现服务的部署。
在此示例中,混合云管理软件可经配置以:创建、更新及删除形成混合云部署的资源(物理及虚拟两者);将计算及存储分配到特定工作负载;监测工作负载及资源的性能、策略遵循、更新及补丁、安全状态;或执行各种其它任务。
126.读者将了解,通过将本文中描述的存储系统与一或多个云服务提供商配对,可实现各种产品包。
举例来说,在云资源用于保护应用程序及数据使其免受由灾难引起的损坏的情况下,包含在其中存储系统可用作主要数据存储的实施例中,可提供灾难恢复即服务(‘draas’)。
在此类实施例中,可进行全面系统备份,这允许在系统故障事件中保持业务连续性。
在此类实施例中,云数据备份技术(独立地或作为较大draas解决方案的部分)也可集成到包含本文中描述的存储系统及云服务提供商的整个解决方案中。
127.本文中描述的存储系统以及云服务提供商可用于提供大量安全特征。
举例来说,存储系统可加密静止数据(且数据可被发送到被加密的存储系统及从被加密的存储系统发送)且可使用密钥管理即服务(‘kmaas’)管理加密密钥、用于锁定及解锁存储装置的密钥等等。
同样地,云数据安全网关或类似机构可用于确保存储于存储系统内的数据不会最终被不正确地存储于云中,作为云数据备份操作的部分。
此外,微分段或基于标识的分段可在包含存储系统的数据中心中或在云服务提供商内用于在数据中心及云部署中创建安全区,这使工作负载能彼此隔离。
128.为了进一步解释,图
3b陈述根据本公开的一些实施例的存储系统
306的图。
尽管描绘得不太详细,但图
3b中描绘的存储系统
306可类似于上文参考图
1a到
1d及图
2a到
2g描述的存储系统,这是因为存储系统可包含上文描述的许多组件。
129.图
3b中描绘的存储系统
306可包含大量存储资源
308,其可以许多形式体现。
举例来说,存储资源
308可包含纳米ram或利用沉积于衬底上的碳纳米管的另一形式的非易失性随机存取存储器、3d交叉点非易失性存储器、快闪存储器(包含单电平胞元(‘slc’)nand快闪、多电平胞元(‘mlc’)nand快闪、三电平胞元(‘tlc’)nand快闪、四电平胞元(‘qlc’)nand快闪)或其它。
同样地,存储资源
308可包含非易失性磁阻随机存取存储器(‘mram’),包含自旋转移力矩(‘stt’)mram。
示例存储资源
308可替代地包含非易失性相变存储器(‘pcm’)、允许存储及检索光子量子信息的量子存储器、电阻随机存取存储器(‘reram’)、存储类存储器(‘scm’)或其它形式的存储资源,包含本文中描述的资源的任何组合。
读者将了解,其它形式的计算机存储器及存储装置可由上文描述的存储系统利用,包含dram、sram、eeprom、通用存储器及许多其它者。

3a中描绘的存储资源
308可以各种形状因子体现,包含但不限于双列直插式存储器模块(‘dimm’)、非易失性双列直插式存储器模块(‘nvdimm’)、m.2、u.2及其它者。
130.图
3b中描绘的存储资源
308可包含各种形式的scm。scm可有效地将快速非易失性存储器(例如nand快闪)看作dram的扩展,使得整个数据集可被看作完全驻留于dram中的存储器中数据集。scm可包含非易失性媒体,例如(举例来说)nand快闪。
此nand快闪可利用可将pcie总线用作其传输的nvme存取,从而提供相较于较旧协议来说相对低的存取延时。
实际上,用于全快闪阵列中的ssd的网络协议可包含使用以太网(roce、nvme tcp)的nvme、光纤通道(nvme fc)、无限带宽(iwarp)及使其有可能将快速非易失性存储器看作dram的扩展
的其它者。
鉴于dram通常是字节可寻址的且快速非易失性存储器(例如nand快闪)是块可寻址的事实,可能需要控制器软件/硬件堆叠来将块数据转换成存储于媒体中的字节。
可用作scm的媒体及软件的示例可包含例如
3d xpoint、英特尔(intel)存储器驱动技术、三星(samsung)的z-ssd及其它者。
131.图
3b中描绘的存储资源
308还可包含赛道存储器(还称为磁畴壁(domain-wall)存储器)。
此赛道存储器可体现为非易失性固态存储器的形式,其除了电子的电荷之外还依赖于固态装置中由电子在其自旋时创建的磁场的本征强度及定向。
通过使用自旋相干电流沿着纳米级坡莫合金线移动磁畴,磁畴可随着电流传递通过线而由定位在线附近的磁读取/写入头传递,这更改磁畴以记录位型式。
为了创建赛道存储器装置,可将许多此类线及读取/写入元件封装在一起。
132.图
3b中描绘的示例存储系统
306可实施各种存储体系结构。
举例来说,根据本公开的一些实施例的存储系统可利用块存储装置,其中数据以块存储,且每一块基本上用作个别硬盘驱动器。
根据本公开的一些实施例的存储系统可利用对象存储装置,其中数据作为对象被管理。
每一对象可包含数据本身、可变量的元数据及全局唯一标识符,其中对象存储可在多个层级(例如装置层级、系统层级、接口层级)实施。
根据本公开的一些实施例的存储系统利用文件存储,其中数据以阶层式结构存储。
此数据可保存在文件及文件夹中,并呈现给存储其的系统及以相同格式检索其的系统两者。
133.图
3b中描绘的示例存储系统
306可体现为这样的存储系统:其中额外存储资源可通过使用纵向扩展模型来添加,额外存储资源可通过使用横向扩展模型来添加,或通过其某组合来添加。
在纵向扩展模型中,额外存储可通过添加额外存储装置来添加。
然而,在横向扩展模型中,额外存储节点可被添加到存储节点集群,其中此类存储节点可包含额外处理资源、额外联网资源等等。
134.图
3b中描绘的示例存储系统
306可以各种不同方式利用上文描述的存储资源。
举例来说,存储资源的某部分可用于用作写入高速缓存,存储系统内的存储资源可用作读取高速缓存,或可通过根据一或多种分层策略将数据放置于存储系统内来在存储系统内实现分层。
135.图
3b中描绘的存储系统
306还包含通信资源
310,其可用于促进存储系统
306内的组件之间的数据通信以及存储系统
306与存储系统
306外部的计算装置之间的数据通信,包含其中那些资源被相对广阔的区域分离的实施例。
通信资源
310可经配置以利用各种不同协议及数据通信架构以促进存储系统内的组件以及存储系统外部的计算装置之间的数据通信。
举例来说,通信资源
310可包含:光纤通道(‘fc’)技术,例如可经由fc网络传输scsi命令的fc架构及fc协议;基于以太网的fc(‘fcoe’)技术,fc帧通过其经由以太网网络被囊封及传输;无限带宽(‘ib’)技术,其中交换机架构拓扑用于促进通道适配器之间的传输;快速nvm(‘nvme’)技术及基于架构的nvme(‘nvmeof’)技术,可通过其存取经由快速pci(‘pcie’)总线附接的非易失性存储媒体;及其它者。
实际上,上文描述的存储系统可直接或间接使用中微子通信技术及装置,通过所述技术及装置,使用中微子束传输信息(包含二进制信息)。
136.通信资源
310还可包含用于利用串行附接scsi(‘sas’)存取存储系统
306内的存储资源
308的机构、用于将存储系统
306内的存储资源
308连接到存储系统
306内的主机总线适配器的串行ata(‘sata’)总线接口、用于提供对存储系统
306内的存储资源
308的块级存取
的因特网小型计算机系统接口(‘iscsi’)技术,及可用于促进存储系统
306内的组件之间的数据通信以及存储系统
306与存储系统
306外部的计算装置之间的数据通信的其它通信资源。
137.图
3b中描绘的存储系统
306还包含可用于执行计算机程序指令及执行存储系统
306内的其它计算任务的处理资源
312。
处理资源
312可包含经定制用于某特定目的的一或多个asic以及一或多个cpu。
处理资源
312还可包含一或多个dsp、一或多个fpga、一或多个单片系统(‘soc’),或其它形式的处理资源
312。
存储系统
306可利用存储资源
312执行各种任务,包含但不限于支持执行软件资源
314,这将在下文更详细描述。
138.图
3b中描绘的存储系统
306还包含软件资源
314,其在由存储系统
306内的处理资源
312执行时可执行大量任务。
软件资源
314可包含例如一或多个计算机程序指令模块,其在由存储系统
306内的处理资源
312执行时用于实行各种数据保护技术。
此类数据保护技术可例如由在存储系统内的计算机硬件上执行的系统软件实行、由云服务提供商实行或以其它方式实行。
此类数据保护技术可包含数据归档、数据备份、数据复制、数据快照、数据及数据库克隆及其它数据保护技术。
139.软件资源
314还可包含用于实施软件定义存储(‘sds’)的软件。
在此示例中,软件资源
314可包含一或多个计算机程序指令模块,其在执行时用于数据存储的基于策略的预置及管理,与底层硬件无关。
此类软件资源
314可用于实施存储虚拟化以将存储硬件与管理存储硬件的软件分离。
140.软件资源
314还可包含用于促进及优化被引导到存储系统
306的i/o操作的软件。
举例来说,软件资源
314可包含执行各种数据缩减技术(例如(举例来说)数据压缩、数据去重复及其它者)的软件模块。
软件资源
314可包含智能地将i/o操作分组在一起以促进更好地使用底层存储资源
308的软件模块、执行数据迁移操作以从存储系统内迁移的软件模块,以及执行其它功能的软件模块。
此类软件资源
314可体现为一或多个软件容器或以许多其它方式体现。
141.为了进一步解释,图
3c陈述根据本公开的一些实施例的基于云的存储系统
318的示例。
在图
3c中描绘的示例中,基于云的存储系统
318完全创建于云计算环境
316中,例如(举例来说)amazon web services(‘aws’)tm、microsoft azuretm、google cloud platformtm、ibm cloudtm、oracle cloudtm及其它者。
基于云的存储系统
318可用于提供类似于可由上文描述的存储系统提供的服务的服务。
142.图
3c中描绘的基于云的存储系统
318包含两个云计算实例
320、322,其各用于支持存储控制器应用程序
324、326的执行。
例如,云计算实例
320、322可体现为云计算资源的实例(例如虚拟机),其可由云计算环境
316提供以支持软件应用程序(例如存储控制器应用程序
324、326)的执行。
举例来说,云计算实例
320、322中的每一者可在azure vm上执行,其中每一azure vm可包含高速临时存储装置,其可用作高速缓存(例如,作为读取高速缓存)。
在一个实施例中,云计算实例
320、322可体现为亚马逊弹性计算云(‘ec2’)实例。
在此示例中,包含存储控制器应用程序
324、326的亚马逊机器图像(‘ami’)可经启动以创建及配置可执行存储控制器应用程序
324、326的虚拟机。
143.在图
3c中描绘的示例方法中,存储控制器应用程序
324、326可体现为计算机程序指令模块,其在执行时实行各种存储任务。
举例来说,存储控制器应用程序
324、326可体现
为计算机程序指令模块,其在执行时实行与上文描述的图
1a中的控制器
110a、110b相同的任务,例如将数据写入到基于云的存储系统
318、从基于云的存储系统
318擦除数据、从基于云的存储系统
318检索数据、监测及报告磁盘利用率及性能、执行冗余操作(例如raid或类raid的数据冗余操作)、压缩数据、加密数据、去重复数据等等。
读者将了解,因为存在各包含存储控制器应用程序
324、326的两个云计算实例
320、322,因此在一些实施例中,一个云计算实例
320
可操作为如上文描述的主要控制器,而另一云计算实例
322可操作为如上文描述的次要控制器。
读者将了解,图
3c中描绘的存储控制器应用程序
324、326可包含在不同云计算实例
320、322(例如相异ec2实例)内执行的相同源代码。
144.读者将了解,不包含主要及次要控制器的其它实施例在本公开的范围内。
举例来说,每一云计算实例
320、322可操作为主要控制器用于受基于云的存储系统
318支持的地址空间的某部分,每一云计算实例
320、322可操作为其中引导到基于云的存储系统
318的i/o操作的服务以某其它方式划分的主要控制器,等等。
实际上,在其中成本节省可能优先于性能需求的其它实施例中,可存在含有存储控制器应用程序的仅单个云计算实例。
145.图
3c中描绘的基于云的存储系统
318包含具有本地存储装置
330、334、338的云计算实例
340a、340b、340n。
例如,云计算实例
340a、340b、340n可体现为云计算资源的实例,其可由云计算环境
316提供以支持软件应用程序的执行。

3c的云计算实例
340a、340b、340n可不同于上文描述的云计算实例
320、322,这是因为图
3c的云计算实例
340a、340b、340n具有本地存储装置
330、334、338资源,而支持存储控制器应用程序
324、326的执行的云计算实例
320、322无需具有本地存储资源。
例如,具有本地存储装置
330、334、338的云计算实例
340a、340b、340n可体现为包含一或多个ssd的ec2 m5实例、包含一或多个ssd的ec2 r5实例、包含一或多个ssd的ec2 i3实例,等等。
在一些实施例中,本地存储装置
330、334、338必须体现为固态存储装置(例如ssd),而非使用硬盘驱动器的存储装置。
146.在图
3c中描绘的示例中,具有本地存储装置
330、334、338的云计算实例
340a、340b、340n中的每一者可包含软件守护进程
328、332、336,其在由云计算实例
340a、340b、340n执行时可将其本身呈现给存储控制器应用程序
324、326,就像云计算实例
340a、340b、340n是物理存储装置(例如一或多个ssd)一样。
在此示例中,软件守护进程
328、332、336可包含类似于通常包含于存储装置上的计算机程序指令的计算机程序指令,使得存储控制器应用程序
324、326可发送及接收存储控制器将向存储装置发送的相同命令。
以此方式,存储控制器应用程序
324、326可包含与将由上文描述的存储系统中的控制器执行的代码相同(或基本上相同)的代码。
在这些及类似实施例中,存储控制器应用程序
324、326与具有本地存储装置
330、334、338的云计算实例
340a、340b、340n之间的通信可利用iscsi、基于tcp的nvme、消息传递、自定义协议,或以某其它机制。
147.在图
3c中描绘的示例中,具有本地存储装置
330、334、338的云计算实例
340a、340b、340n还可耦合到由云计算环境
316提供的块存储装置
342、344、346,例如(举例来说)作为亚马逊弹性块存储(‘ebs’)卷。
在此示例中,可以类似于如何利用上文描述的nvram装置的方式利用由云计算环境
316提供的块存储装置
342、344、346,这是因为在特定云计算实例
340a、340b、340n内执行的软件守护进程
328、332、336(或某个其它模块)可在接收到写入数据的请求后就发起将数据写入到其附接的ebs卷以及将数据写入到其本地存储装置
330、334、338资源。
在一些替代性实施例中,数据仅可被写入到特定云计算实例
340a、340b、340n内的本地存储装置
330、334、338资源。
在替代性实施例中,不是使用由云计算环境
316提供的块存储装置
342、344、346作为nvram,而是可使用具有本地存储装置
330、334、338的云计算实例
340a、340b、340n中的每一者上的实际ram作为nvram,借此降低与使用ebs卷作为nvram相关联的网络利用成本。
在又一实施例中,例如一或多个azure超磁盘的高性能块存储资源可用作nvram。
148.存储控制器应用程序
324、326可用于在最终发送将数据的去重复、经加密或以其它方式可能经更新的版本写入到具有本地存储装置
330、334、338的云计算实例
340a、340b、340n中的一或多者的请求之前执行各种任务,例如对请求中所含的数据去重复、压缩请求中所含的数据、确定将请求中所含的数据写入到哪里等等。
在一些实施例中,任一云计算实例
320、322可接收从基于云的存储系统
318读取数据的请求且可最终发送读取数据的请求到具有本地存储装置
330、334、338的云计算实例
340a、340b、340n中的一或多者。
149.当写入数据的请求被具有本地存储装置
330、334、338的特定云计算实例
340a、340b、340n接收时,软件守护进程
328、332、336可经配置以不仅将数据写入到其自身本地存储装置
330、334、338资源及任何适当块存储装置
342、344、346资源,而且软件守护进程
328、332、336还可经配置以将数据写入到附接到特定云计算实例
340a、340b、340n的基于云的对象存储装置
348。
例如,附接到特定云计算实例
340a、340b、340n的基于云的对象存储装置
348可体现为亚马逊简单存储服务(‘s3’)。
在其它实施例中,各包含存储控制器应用程序
324、326的云计算实例
320、322可发起将数据存储于云计算实例
340a、340b、340n的本地存储装置
330、334、338及基于云的对象存储装置
348中。
在其它实施例中,不是使用具有本地存储装置
330、334、338(本文中还称为

虚拟驱动器’)的云计算实例
340a、340b、340n及基于云的对象存储装置
348来存储数据,而是可以其它方式实施持久存储层。
举例来说,一或多个azure超磁盘可用于持久地存储数据(例如,在数据已被写入到nvram层之后)。
150.虽然由云计算实例
340a、340b、340n利用的本地存储装置
330、334、338资源及块存储装置
342、344、346资源可支持块级存取,但附接到特定云计算实例
340a、340b、340n的基于云的对象存储装置
348仅支持基于对象的存取。
软件守护进程
328、332、336可因此经配置以采用数据块、将那些块封装成对象及将对象写入到附接到特定云计算实例
340a、340b、340n的基于云的对象存储装置
348。
151.考虑其中数据以
1mb块被写入到由云计算实例
340a、340b、340n利用的本地存储装置
330、334、338资源及块存储装置
342、344、346资源的示例。
在此示例中,假定基于云的存储系统
318的用户发出写入数据的请求,数据在被存储控制器应用程序
324、326压缩及去重复之后会导致需要写入
5mb的数据。
在此示例中,将数据写入到由云计算实例
340a、340b、340n利用的本地存储装置
330、334、338资源及块存储装置
342、344、346资源是相对直接的,这是因为大小是
1mb的5个块被写入到由云计算实例
340a、340b、340n利用的本地存储装置
330、334、338资源及块存储装置
342、344、346资源。
在此示例中,软件守护进程
328、332、336还可经配置以创建含有数据的相异
1mb分块的五个对象。
因而,在一些实施例中,被写入到基于云的对象存储装置
348的每一对象的大小可相同(或几乎相同)。
读者将了解,在此示例中,与数据本身相关联的元数据可包含于每一对象中(例如,对象的前
1mb是数据,且剩余部分是与数据相关联的元数据)。
读者将了解,基于云的对象存储装置
348可经并入到基于云的存储系统
318中以提高基于云的存储系统
318的耐用性。
152.在一些实施例中,由基于云的存储系统
318存储的所有数据都可被存储于以下两者中:
1)基于云的对象存储装置
348;及
2)由云计算实例
340a、340b、340n利用的本地存储装置
330、334、338资源或块存储装置
342、344、346资源中的至少一者。
在此类实施例中,由云计算实例
340a、340b、340n利用的本地存储装置
330、334、338资源及块存储装置
342、344、346资源可有效地操作为通常包含还存储于s3中的所有数据的高速缓存,使得数据的所有读取都可由云计算实例
340a、340b、340n提供服务,而无需云计算实例
340a、340b、340n存取基于云的对象存储装置
348。
然而,读者将了解,在其它实施例中,由基于云的存储系统
318存储的所有数据都可存储于基于云的对象存储装置
348中,但由基于云的存储系统
318存储的并非所有数据可存储于由云计算实例
340a、340b、340n利用的本地存储装置
330、334、338资源或块存储装置
342、344、346资源中的至少一者中。
在此示例中,可使用各种策略来确定由基于云的存储系统
318存储的数据的哪一子集应驻留于以下两者中:
1)基于云的对象存储装置
348;及
2)由云计算实例
340a、340b、340n利用的本地存储装置
330、334、338资源或块存储装置
342、344、346资源中的至少一者。
153.在基于云的存储系统
318内执行的一或多个计算机程序指令模块(例如,在其自身ec2实例上执行的监测模块)可经设计以处置具有本地存储装置
330、334、338的云计算实例
340a、340b、340n中的一或多者的故障。
在此示例中,监测模块可通过创建具有本地存储装置的一或多个新云计算实例、从基于云的对象存储装置
348检索存储于发生故障的云计算实例
340a、340b、340n上的数据及将从基于云的对象存储装置
348检索的数据存储于新创建的云计算实例上的本地存储装置中来处置具有本地存储装置
330、334、338的云计算实例
340a、340b、340n中的一或多者的故障。
读者将了解,可实施此过程的许多变体。
154.读者将了解,可监测基于云的存储系统
318的各个性能方面(例如,由在ec2实例中执行的监测模块),使得基于云的存储系统
318可根据需要纵向扩展或横向扩展。
举例来说,如果用于支持存储控制器应用程序
324、326的执行的云计算实例
320、322的大小过小且不足以服务于由基于云的存储系统
318的用户发出的i/o请求,那么监测模块可创建新的更强大云计算实例(例如,包含更多处理能力、更多存储器等的类型的云计算实例),其包含存储控制器应用程序使得新的更强大云计算实例可开始作为主要控制器操作。
同样地,如果监测模块确定用于支持存储控制器应用程序
324、326的执行的云计算实例
320、322的大小过大且可通过切换到较小不太强大的云计算实例来获得成本节省,那么监测模块可创建新的不太强大的(且更便宜的)云计算实例,其包含存储控制器应用程序使得新的不太强大云计算实例可开始作为主要控制器操作。
155.上文描述的存储系统可实行智能数据备份技术,通过所述技术可复制存储于存储系统中的数据并将所述数据存储于相异位置中以避免数据在装备故障事件或某其它形式的灾难中丢失。
举例来说,上文描述的存储系统可经配置以检查每一备份以避免将存储系统恢复到非预期状态。
考虑其中恶意软件感染存储系统的示例。
在此示例中,存储系统可包含软件资源
314,其可扫描每一备份以识别在恶意软件感染存储系统之前捕获的备份及在恶意软件感染存储系统之后捕获的那些备份。
在此示例中,存储系统可从不包含恶意软件的备份恢复其本身-或至少不恢复含有恶意软件的备份的部分。
在此示例中,存储系统可包含软件资源
314,其可扫描每一备份以例如通过识别由存储系统提供服务且源自被怀疑已交付恶意软件的网络子网的写入操作、通过识别由存储系统提供服务且源自被怀疑已交付
恶意软件的用户的写入操作、通过识别由存储系统提供服务的写入操作并对照恶意软件的指纹检查写入操作的内容及以许多其它方式来识别恶意软件(或病毒或某其它非预期的事物)的存在。
156.读者将进一步了解,备份(通常呈一或多个快照的形式)还可用于执行存储系统的快速恢复。
考虑其中存储系统被将用户锁定在存储系统之外的勒索软件感染的示例。
在此示例中,存储系统内的软件资源
314可经配置以检测勒索软件的存在且可进一步经配置以使用经留存备份将存储系统恢复到勒索软件感染存储系统的时间点之前的时间点。
在此示例中,勒索软件的存在可通过使用由系统利用的软件工具、通过使用插入到存储系统中的密钥(例如usb驱动器)或以类似方式显式地检测。
同样地,可响应于系统活动满足预定指纹(例如(举例来说)在预定时间段内没有读取或写入进入系统)推断存在勒索软件。
157.读者将了解,上文描述的各个组件可被分组为一或多个经优化计算包作为融合基础设施。
此融合基础设施可包含可由多个应用程序共享且使用策略驱动的过程以集体方式管理的计算机、存储及联网资源的池。
此类融合基础设施可用融合基础设施参考体系结构、用独立设备、用软件驱动的超融合方法(例如超融合基础设施)或以其它方式实施。
158.读者将了解,本公开中描述的存储系统可用于支持各种类型的软件应用程序。
实际上,在存储系统可获得、维持或以其它方式存取描述经连接应用程序(例如,利用存储系统的应用程序)的信息以基于有关应用程序及其利用型式的智能来优化存储系统的操作的意义上,存储系统可为

应用程序感知的’。
举例来说,存储系统可优化数据布局、优化高速缓存行为、优化
‘qos’层级或执行经设计以改进由应用程序体验的存储性能的某其它优化。
159.作为可由本文中描述的存储系统支持的一种类型的应用程序的示例,存储系统
306可用于通过向人工智能(‘ai’)应用程序、数据库应用程序、xops项目(例如devops项目、dataops项目、mlops项目、modelops项目、platformops项目)、电子设计自动化工具、事件驱动的软件应用程序、高性能计算应用程序、模拟应用程序、高速数据捕获及分析应用程序、机器学习应用程序、媒体制作应用程序、媒体服务应用程序、图片归档及通信系统(‘pacs’)应用程序、软件开发应用程序、虚拟现实应用程序、增强现实应用程序及许多其它类型的应用程序提供存储资源来支持此类应用程序。
160.鉴于存储系统包含计算资源、存储资源及各种各样的其它资源的事实,存储系统可能非常适合于支持资源密集型的应用程序,例如(举例来说)ai应用程序。ai应用程序可部署于各种领域中,包含:制造业及相关领域中的预测性维护;医疗保健应用程序,例如患者数据及风险分析;零售及营销部署(例如搜索通告、社交媒体通告);供应链解决方案;金融科技解决方案,例如业务分析及报告工具;运营部署,例如实时分析工具、应用程序性能管理工具、it基础设施管理工具;及许多其它者。
161.此类ai应用程序可使装置能察觉其环境且采取最大化其在某目标上成功的机会的动作。
此类ai应用程序的示例可包含ibm watsontm、微软oxfordtm、谷歌deepmindtm、百度minwatm及其它者。
162.上文描述的存储系统还可能非常适合于支持资源密集型的其它类型的应用程序,例如(举例来说)机器学习应用程序。
机器学习应用程序可执行各种类型的数据分析以使分析模型构建自动化。
使用从数据迭代地学习的算法,机器学习应用程序可使计算机能学习,而无需被显式地编程。
机器学习的一个特定领域称为强化学习,其涉及在特定情况中采取
适当动作以最大化回报。
163.除了已经描述的资源之外,上文描述的存储系统还可包含图形处理单元(‘gpu’),有时称为视觉处理单元(‘vpu’)。
此类gpu可体现为专用电子电路,其快速操纵及更改存储器以加速帧缓冲器中希望用于输出到显示器装置的图像的创建。
此类gpu可包含于作为上文描述的存储系统的部分的计算装置中的任何者内,包含作为存储系统的许多个别可扩展组件中的一者,其中此存储系统的个别可扩展组件的其它示例可包含存储组件、存储器组件、计算组件(例如cpu、fpga、asic)、联网组件、软件组件及其它者。
除了gpu之外,上文描述的存储系统还可包含神经网络处理器(‘nnp’)以用于神经网络处理的各个方面中。
此类nnp可代替gpu(或除了gpu之外)使用,且其也可为独立可扩展的。
164.如上文描述,本文中描述的存储系统可经配置以支持人工智能应用程序、机器学习应用程序、大数据分析应用程序及许多其它类型的应用程序。
这类应用程序的快速增长是由三种技术驱动的:深度学习(dl)、gpu处理器及大数据。
深度学习是使用由人脑启发的大规模并行神经网络的计算模型。
代替专家手工制作软件,深度学习模型通过从大量示例学习来编写其自身软件。
此类gpu可包含数千个核心,其非常适合于运行松散地表示人脑的并行性质的算法。
165.深度神经网络的进步,包含多层神经网络的发展,已经激发一波新的算法及工具以供数据科学家用人工智能(ai)挖掘其数据。
使用经改进算法、更大数据集及各种框架(包含用于跨一系列任务进行机器学习的开源软件库),数据科学家正在解决新的用例,如自主驾驶车辆、自然语言处理及理解、计算机视觉、机器推理、强ai及许多其它者。
此类技术的应用可包含:机器及车辆对象检测、识别及避让;视觉辨识、分类及标记;算法金融交易策略绩效管理;同时定位及映射;高价值机械的预测性维护;防范网络安全威胁、专业知识自动化;图像辨识及分类;问答;机器人;文本分析(提取、分类)及文本生成及转译;及许多其它者。ai技术的应用已在各种各样的产品中实现,包含例如:亚马逊回声(amazon echo)的语音辨识技术,其允许用户与他们的机器交谈;google translatetm,其允许基于机器的语言翻译;spotify的每周发现(discover weekly),其基于用户的使用情况及流量分析提供用户可能喜欢的新歌曲及歌手的推荐;quill
的文本生成产品,其采用结构化数据并将其转化为叙事性故事;聊天机器人(chatbot),其以对话格式提供对问题的实时上下文特定的回答;及许多其它者。
166.数据是现代ai及深度学习算法的核心。
在训练可以开始之前,必须解决的一个问题是围绕收集对训练准确的ai模型至关重要的标记数据。
可能需要完整规模的ai部署来连续收集、清除、变换、标记及存储大量数据。
添加额外高质量数据点直接转化成更准确模型及更好的见解。
数据样本可经历一系列处理步骤,包含但不限于:
1)将来自外部源的数据摄取到训练系统中并以原始形式存储数据;
2)以方便于训练的格式清理及变换数据,包含将数据样本链接到适当标记;
3)探索参数及模型、用较小数据集快速测试,及迭代以收敛最有希望的模型以推进到产生集群中;
4)执行训练阶段以选择若干批随机输入数据,包含新及较旧样本两者,并将那些馈送到产生gpu服务器中用于计算以更新模型参数;及
5)评估包含使用未用于训练中的数据的保留部分,以便评估保持数据的模型准确度。
此生命循环可适用于任何类型的并行化机器学习,而非仅神经网络或深度学习。
举例来说,标准机器学习框架可依赖于cpu(而非gpu),但数据摄取及训练工作流可相同。
读者将了解,单个共享存储数
据集中点(data hub)在整个生命循环内创建协调点,而在摄取、预处理及训练阶段当中无需额外数据副本。
摄取的数据很少仅用于一个目的,且共享存储给予训练多个不同模型或对数据应用传统分析的灵活性。
167.读者将了解,ai数据流水线中的每一阶段可能具有来自数据集中点(例如存储系统或存储系统集合)的不同要求。
横向扩展存储系统必须为所有方式的存取类型及型式(从小的元数据繁重到大的文件、从随机到循序存取型式及从低到高并发性)提供不受损的性能。
上文描述的存储系统可用作理想ai数据集中点,这是因为系统可服务于非结构化工作负载。
在第一阶段中,数据被理想地摄取且存储到后续阶段将使用的同一数据集中点上,以便避免额外数据复制。
接下来的两个步骤可在任选地包含gpu的标准计算服务器上完成,且接着,在第四及最后阶段中,完整的训练生产作业在强大的gpu加速服务器上运行。
通常,在对同一数据集操作的实验流水线旁边有生产流水线。
此外,gpu加速服务器可独立地用于不同模型或结合在一起以在一个较大模型上训练,甚至横跨多个系统进行分布式训练。
如果共享存储层阶缓慢,那么针对每一阶段,数据必须被复制到本地存储装置,从而导致浪费时间在将数据暂存到不同服务器上。ai训练流水线的理想数据集中点提供类似于本地存储于服务器节点上的数据的性能,同时还具有使所有流水线阶段都能并发地操作的简单性及性能。
168.为了使上文描述的存储系统用作数据集中点或用作ai部署的部分,在一些实施例中,存储系统可经配置以在包含于存储系统中的存储装置与用于ai或大数据分析流水线中的一或多个gpu之间提供dma。
一或多个gpu可例如经由基于架构的nvme(‘nvme-of’)耦合到存储系统,使得可绕过例如主机cpu的瓶颈且存储系统(或其中所含的组件中的一者)可直接存取gpu存储器。
在此示例中,存储系统可利用到gpu的api挂钩来将数据直接传送到gpu。
举例来说,gpu可体现为nvidiatm gpu,且存储系统可支持gpudirect存储(‘gds’)软件或具有使存储系统能经由rdma或类似机制将数据传送到gpu的类似专属软件。
169.尽管前面的段落论述深度学习应用程序,但读者将了解,本文中描述的存储系统还可为分布式深度学习(‘ddl’)平台的部分以支持ddl
算法的执行。
上文描述的存储系统还可与其它技术(例如tensorflow、用于跨可用于机器学习应用程序(例如神经网络)的一系列任务进行数据流编程的开源软件库)配对,以促进此类机器学习模型、应用程序等等的开发。
170.上文描述的存储系统还可用于神经形态计算环境中。
神经形态计算是模拟脑细胞的计算形式。
为了支持神经形态计算,经互连“神经元”的体系结构用直接在神经元之间传递的低功率信号替换传统计算模型,以实现更高效计算。
神经形态计算可使用含有用于模拟神经系统中存在的神经生物学体系结构的电子模拟电路的超大规模集成(vlsi)系统,以及模拟数字混合模式的模拟/数字vlsi,及实施神经系统的模型用于感知、电动机控制或多感知集成的软件系统。
171.读者将了解,上文描述的存储系统可经配置以支持存储或使用(以及其它类型的数据)区块链及衍生项,例如(举例来说)作为ibmtm超级账本项目的部分的开源区块链及相关工具、其中特定数目的受信任方被允许存取区块链的许可区块链、使开发者能构建其自身分布式账本项目的区块链产品及其它者。
本文中描述的区块链及存储系统可用于支持数据的链上存储以及数据的链外存储。
172.数据的链外存储可以各种方式实施,且可在数据本身未存储于区块链内时发生。
举例来说,在一个实施例中,可利用散列函数,且数据本身可被馈送到散列函数中以产生散列值。
在此示例中,大量条数据的散列可嵌入于事务内,而非数据本身。
读者将了解,在其它实施例中,区块链的替代物可用于促进信息的分散存储。
举例来说,可使用的区块链的一个替代物是区块纺(blockweave)。
当常规区块链存储每个事务以实现确认时,区块纺准许安全分散,而不使用整个链,借此实现数据的低成本链上存储。
此类区块纺可利用是基于存取证明(poa)及工作证明(pow)的共识机制。
173.上文描述的存储系统可单独或与其它计算装置组合用于支持存储器中计算应用程序。
存储器中计算涉及将信息存储于跨计算机集群分布的ram中。
读者将了解,上文描述的存储系统,尤其是可配置有可定制量的处理资源、存储资源及存储器资源的存储系统(例如,其中刀片含有可配置量的每一类型的资源的那些系统),可以提供能够支持存储器中计算的基础设施的方式来配置。
同样地,上文描述的存储系统可包含组件部件(例如,提供持久型快速随机存取存储器的nvdimm、3d交叉点存储装置),其实际上可提供相较于依赖于跨专用服务器分布的ram的存储器中计算环境来说改进的存储器中计算环境。
174.在一些实施例中,上文描述的存储系统可经配置以操作为包含到所有存储媒体(例如ram、快闪存储装置、3d交叉点存储装置)的通用接口的混合存储器中计算环境。
在此类实施例中,用户可能不知道有关他们的数据被存储在哪里的细节,但他们仍可使用相同的完整统一的api来寻址数据。
在此类实施例中,存储系统可(在后台中)将数据移动到可用的最快层-包含依赖于数据的各种特性或依赖于某其它试探法来智能地放置数据。
在此示例中,存储系统甚至可使用现存产品(例如apache ignite及gridgain)以在各个存储层之间移动数据,或存储系统可使用定制软件以在各个存储层之间移动数据。
本文中描述的存储系统可实施各种优化以改进存储器中计算的性能,例如(举例来说)使计算尽可能地接近数据发生。
175.读者将进一步了解,在一些实施例中,上文描述的存储系统可与其它资源配对以支持上文描述的应用程序。
举例来说,一种基础设施可包含呈服务器及工作站形式的主要计算,服务器及工作站专门在图形处理单元(‘gpgpu’)上使用通用计算以加速互连到计算引擎中以训练深度神经网络的参数的深度学习应用程序。
每一系统可具有以太网外部连接性、无限带宽外部连接性、某其它形式的外部连接性或其某组合。
在此示例中,gpu可经分组用于单次大训练或独立地用于训练多个模型。
基础设施还可包含存储系统(例如上文描述的存储系统)以提供例如横向扩展全快闪文件或对象存储区,数据可通过其经由高性能协议(例如nfs、s3等等)而存取。
基础设施还可包含例如经由mlag端口通道中的端口连接到存储及计算的冗余架顶式以太网交换机,以实现冗余。
基础设施还可包含呈白盒服务器形式、任选地具有gpu的额外计算,以用于数据摄取、预处理及模型调试。
读者将了解,额外基础设施也是可能的。
176.读者将了解,上文描述的存储系统单独或与其它计算机械协调可经配置以支持其它ai相关工具。
举例来说,存储系统可使用如onxx或使其更易于传送以不同ai框架编写的模型的其它开放神经网络交换格式的工具。
同样地,存储系统可经配置以支持如允许开发者制作原型、构建及训练深度学习模型的亚马逊的gluon的工具。
实际上,上文描述的存储系统可为较大平台的部分,例如ibmtm私密云数据,其包含集成数据科学、数据工程及应用程
序构建服务。
177.读者将进一步了解,上文描述的存储系统还可经部署为边缘解决方案。
此边缘解决方案可处于适当位置中以通过在网络的边缘处、在数据的源附近执行数据处理来优化云计算系统。
边缘计算可将应用程序、数据及计算能力(即服务)从集中点推向网络的逻辑极端。
通过使用边缘解决方案,例如上文描述的存储系统,计算任务可使用由此类存储系统提供的计算资源执行,数据可使用存储系统的存储资源存储,且基于云的服务可通过使用存储系统的各种资源(包含联网资源)存取。
通过在边缘解决方案上执行计算任务、将数据存储于边缘解决方案上及大体上使用边缘解决方案,可避免消耗昂贵的基于云的资源,且实际上,相对于对基于云的资源的较重依赖,可体验到性能改进。
178.虽然许多任务都可从利用边缘解决方案获益,但一些特定使用可尤其适合于部署于此环境中。
举例来说,如无人机、自动驾驶汽车、机器人及其它者的装置可能需要极快处理

实际上,快得以至于将数据向上发送到云环境且返回接收数据处理支持可能简直是太慢了。
作为额外示例,一些iot装置(例如经连接摄像机)可能无法很好适合于利用基于云的资源,这是因为由于所涉及的纯数据卷而仅仅将数据发送到云可能是不切实际的(不仅仅是从隐私角度、安全角度或财务角度看)。
因而,许多真正涉及数据处理、存储或通信的任务可能更适合于包含边缘解决方案的平台,例如上文描述的存储系统。
179.上文描述的存储系统可单独或与其它计算资源组合用作组合计算资源、存储资源、联网资源、云技术及网络虚拟化技术等等的网络边缘平台。
作为网络的部分,边缘可具有类似于从客户驻地及回程聚合设施到接入点(pop)及区域数据中心的其它网络设施的特性。
读者将了解,网络工作负载(例如虚拟网络功能(vnf)及其它者)将驻留于网络边缘平台上。
通过容器与虚拟机的组合实现,网络边缘平台可依赖于在地理上不再与数据处理资源共同定位的控制器及调度器。
功能可作为微服务拆分到控制平面、用户及数据平面或甚至状态机中,从而允许应用独立优化及扩展技术。
此类用户及数据平面可通过增加的加速器实现,加速器驻留于服务器平台(例如fpga及智能nic)中,且通过sdn启用的商用硅及可编程asic实现。
180.上文描述的存储系统还可经优化用于大数据分析,包含被用作可组合数据分析流水线的部分,其中容器化分析体系结构例如使分析能力更具可组合性。
大数据分析可被大体上描述为检查大且不同数据集以发现隐藏的型式、未知相关性、市场趋势、客户偏好及可帮助组织做出更明智的商业决策的其它有用的信息的过程。
作为那个过程的部分,半结构化及非结构化数据(例如(举例来说)因特网点击流数据、网络服务器日志、社交媒体内容、来自客户电子邮件及调查回复的文本、移动电话呼叫细节记录、iot传感器数据及其它数据)可被转换成结构化形式。
181.上文描述的存储系统还可支持(包含实施为系统接口)响应于人类语音执行任务的应用程序。
举例来说,存储系统可支持执行智能个人助理应用程序,例如(举例来说)亚马逊的alexatm、苹果siritm、谷歌voicetm、三星bixbytm、微软cortanatm及其它者。
虽然先前句子中描述的示例使用语音作为输入,但上文描述的存储系统还可支持聊天机器人(chatbot)、谈话机器人、聊天机器人(chatterbot)或人工对话实体或经配置以经由听觉或文本方法进行对话的其它应用程序。
同样地,存储系统实际上可执行此应用程序以使用户(例如系统管理员)能经由语音与存储系统交互。
此类应用程序通常能够进行语音交互、音
乐播放、制作待办事项列表、设置警报、流式传输播客、播放有声读物及提供天气、交通及其它实时信息,例如新闻,但在根据本公开的实施例中,此类应用程序可用作各种系统管理操作的接口。
182.上文描述的存储系统还可实施ai平台以实现自动驾驶存储的愿景。
此类ai平台可经配置以通过收集及分析大量存储系统遥测数据点来提供全球预测智能,以实现轻松管理、分析及支持。
实际上,此类存储系统可能能够预测容量及性能两者,以及产生关于工作负载部署、交互及优化的智能建议。
此类ai平台可经配置以对照问题指纹库扫描所有传入存储系统遥测数据,以在事故影响客户环境之前实时预测并解决事故,并捕获用于预测性能负载的与性能有关的数百个变量。
183.上文描述的存储系统可支持人工智能应用程序、机器学习应用程序、数据分析应用程序、数据转换及可共同形成ai阶梯的其它任务的串行或同时执行。
通过组合此类元素以形成完整的数据科学流水线,可有效地形成此ai阶梯,其中ai阶梯的元素之间存在相依性。
举例来说,ai可能需要进行某形式的机器学习,机器学习可能需要进行某形式的分析,分析可能需要进行某形式的数据及信息体系结构化,等等。
因而,每一元素都可被视为ai阶梯中的梯级,其可共同形成完整且复杂的ai解决方案。
184.上文描述的存储系统还可单独或与其它计算环境组合用于提供ai无处不在的体验,其中ai渗透到商业及生活的广泛及广阔方面。
举例来说,ai可能在提供深度学习解决方案、深度强化学习解决方案、人工通用智能解决方案、自动驾驶车辆、认知计算解决方案、商用uav或无人机、对话式用户接口、企业分类、本体管理解决方案、机器学习解决方案、智能微尘、智能机器人、智能工作场所及许多其它者方面扮演着重要角色。
185.上文描述的存储系统还可单独或与其它计算环境组合用于提供广泛的透明沉浸式体验(包括使用各种“事物”(例如人、场所、过程、系统,等等)的数字孪生(digital twin)的体验),其中技术可在人、企业及事物之间引入透明度。
此透明的沉浸式体验可被提供为增强现实技术、经连接家庭、虚拟现实技术、脑机接口、人类增强技术、纳米管电子器件、体积显示器、4d打印技术或其它者。
186.上文描述的存储系统还可单独或与其它计算环境组合用于支持各种各样的数字平台。
此类数字平台可包含例如
5g无线系统及平台、数字孪生平台、边缘计算平台、iot平台、量子计算平台、无服务器paas、软件定义安全、神经形态计算平台,等等。
187.上文描述的存储系统还可为多云环境的部分,其中多个云计算及存储服务部署于单个异构体系结构中。
为了促进此多云环境的操作,可部署devops工具以实现跨云的编排。
同样地,可部署持续开发及持续集成工具,以标准化围绕持续集成及交付、新特征推出及预置云工作负载的过程。
通过标准化这些过程,可实施多云策略,其使得对每一工作负载能够利用最佳提供商。
188.上文描述的存储系统可用作平台的一部分以使得能够使用加密锚,其可用于认证产品的来源及内容以确保其与和产品相关联的区块链记录匹配。
类似地,作为保护存储于存储系统上的数据的工具套件的部分,上文描述的存储系统可实施各种加密技术及方案,包括网格密码学。
网格密码学可牵涉到涉及网格的密码原语的构造,无论是在构造本身还是在安全证明中。
不同于容易被量子计算机攻击的例如rsa、迪菲-赫尔曼(diffie-hellman)或椭圆曲线密码系统的公钥方案,一些基于网格的构造似乎可以抵抗经典及量子
计算机两者的攻击。
189.量子计算机是执行量子计算的装置。
量子计算使用量子力学现象进行计算,例如叠加及纠缠。
量子计算机不同于基于晶体管的传统计算机,这是因为此类传统计算机要求将数据编码为二进制数字(位),其中的每一二进制数字总是处于两种确定状态(0

1)中的一者。
与传统计算机不同,量子计算机使用可处于状态的叠加中的量子位。
量子计算机维持量子位序列,其中单个量子位可表示那两种量子位状态的一、零或任何量子叠加。
一对量子位可处于4种状态的任何量子叠加中,且三个量子位处于8种状态的任何叠加中。
具有n个量子位的量子计算机通常可同时处于多达
2^n种不同状态的任意叠加,而传统计算机在任一时间只能处于这些状态中的一者。
量子图灵机是此计算机的理论模型。
190.上文描述的存储系统还可与fpga加速服务器配对作为较大ai或ml
基础设施的部分。
此类fpga加速服务器可驻留于上文描述的存储系统附近(例如,在同一数据中心中)或甚至并入到包含一或多个存储系统、一或多个fpga加速服务器、支持一或多个存储系统与一或多个fpga加速服务器之间的通信的联网基础设施以及其它硬件及软件组件的设备中。
替代地,fpga加速服务器可驻留于可用于执行ai及ml
作业的计算相关任务的云计算环境内。
上文描述的实施例中的任何者可用于共同用作基于fpga的ai或ml
平台。
读者将了解,在基于fpga的ai或ml
平台的一些实施例中,包含于fpga加速服务器内的fpga可针对不同类型的ml
模型(例如
lstm、cnn、gru)进行重新配置。
重新配置包含于fpga加速服务器内的fpga的能力可基于所使用的最佳数值精度及存储器模型来实现ml
或ai应用程序的加速。
读者将了解,通过将fpga加速服务器的集合看作fpga池,数据中心中的任何cpu都可将fpga池用作共享硬件微服务,而非将服务器限制为插入到其中的专用加速器。
191.上文描述的fpga加速服务器及gpu加速服务器可实施计算模型,其中不同于在更多传统计算模型中发生般在cpu中保持少量数据及经由其运行长指令流,机器学习模型及参数被固定到高带宽单片存储器中,其中有大量数据流通过高带宽单片存储器。
针对此计算模型,fpga甚至可比gpu更有效,这是因为fpga可仅用运行此种计算模型所需的指令来编程。
192.上文描述的存储系统可经配置以提供并行存储,例如,通过使用例如beegfs的并行文件系统。
此类并行文件系统可包含分布式元数据体系结构。
举例来说,并行文件系统可包含跨其分布元数据的多个元数据服务器,以及包含用于客户端及存储服务器的服务的组件。
193.上文描述的系统可支持大量软件应用程序的执行。
此类软件应用程序可以各种方式部署,包含基于容器的部署模型。
可使用各种工具管理容器化应用程序。
举例来说,可使用docker swarm、kubernetes及其它者管理容器化应用程序。
容器化应用程序可用于促进软件应用程序的无服务器、云本地计算部署及管理模型。
为了支持软件应用程序的无服务器、云本地计算部署及管理模型,容器可用作事件处置机构(例如aws lambdas)的部分,使得各种事件致使容器化应用程序被启动以作为事件处置程序操作。
194.上文描述的系统可以各种方式部署,包含以支持第五代(‘
5g’)网络的方式部署。5g网络可支持比前几代移动通信网络基本上快得多的数据通信,且因此可导致数据及计算资源分解,这是因为现代大规模数据中心可能变得不那么突出,且可能例如被靠近移动网络塔的更多本地微型数据中心所替换。
上文描述的系统可包含于此类本地微数据中心中,
且可为多存取边缘计算(‘mec’)系统的部分或与其配对。
此类mec系统可以在蜂窝网络的边缘处实现云计算能力及it服务环境。
通过离蜂窝客户更近地运行应用程序及执行相关处理任务,可减少网络拥塞,且应用程序可更好地执行。
195.上文描述的存储系统还可经配置以实施nvme分区命名空间。
通过使用nvme分区命名空间,命名空间的逻辑地址空间被划分为区。
每一区提供逻辑块地址范围,所述逻辑块地址范围必须被循序写入并在重写之前被显式地复位,借此使得能够创建暴露装置的自然边界并将内部映射表的管理卸载到主机的命名空间。
为了实施nvme分区命名空间(‘zns’),可利用zns ssd或某其它形式的分区块装置,其使用区来暴露命名空间逻辑地址空间。
在将区对准到装置的内部物理性质的情况下,可消除数据放置方面的若干低效率。
在此类实施例中,例如,可将每一区映射到单独应用程序,使得可在每个区或每个应用程序的基础上(而非跨整个装置)执行如损耗均衡及废弃项目收集的功能。
为了支持zns,本文中描述的存储控制器可经配置以通过使用例如
linuxtm内核分区块装置接口或其它工具来与分区块装置交互。
196.上文描述的存储系统还可经配置以依其它方式实施分区存储,例如(举例来说),通过使用叠瓦式磁记录(smr)存储装置。
在其中使用分区存储的示例中,可部署装置管理的实施例,其中存储装置通过在固件中管理其来隐藏此复杂性,从而呈现如任何其它存储装置的接口。
替代地,分区存储可经由主机管理的实施例来实施,所述实施例取决于操作系统知道如何处置驱动器,且仅循序地写入到驱动器的某些区域。
分区存储可类似地使用主机感知实施例来实施,其中部署驱动器管理与主机管理实施方案的组合。
197.本文中描述的存储系统可用于形成数据湖。
数据湖可操作为组织的数据流所到的第一个地方,其中此类数据可呈原始格式。
元数据标记可经实施以促进对数据湖中的数据元素的搜索,尤其是在数据湖含有呈可能不容易存取或读取的格式(例如,非结构化数据、半结构化数据、结构化数据)的多个数据存储的实施例中。
数据可从数据湖下行到数据仓库,在那里数据可以更多处理、封装及可消费格式存储。
上文描述的存储系统还可用于实施此数据仓库。
另外,数据集市或数据集中点可允许甚至更容易消费的数据,其中上文描述的存储系统还可用于提供数据集市或者数据集中点所需的底层存储资源。
在实施例中,查询数据湖可能需要读时模式(schema-on-read)方法,其中当数据从存储位置拉出时,而非当数据进入存储位置中时,将数据应用于计划或模式。
198.本文中描述的存储系统还可经配置以实施恢复点目标(‘rpo’),其可由用户建立、由管理员建立、作为系统默认值建立、作为存储系统参与交付的存储类或服务的部分建立或以某其它方式建立。“恢复点目标”是指源数据集的最后更新与最后可恢复的经复制数据集更新之间的最大时间差的目标,给出一定的理由,所述最后可恢复的经复制数据集更新可从源数据集连续或频繁更新的副本正确恢复。
如果正确考虑了最后可恢复的经复制数据集更新之前在源数据集上处理的所有更新,那么更新可正确恢复。
199.在同步复制中,rpo将为零,这意味着在正常操作下,源数据集上的所有已完成更新都应存在,且可在副本数据集上正确恢复。
在尽可能几乎同步复制中,rpo可低到几秒钟。
在基于快照的复制中,rpo可被大致计算为快照之间的间隔加在先前已传送的快照与最近要复制的快照之间传送修改的时间。
200.如果更新累积得比其被复制更快,那么可能会错过rpo。
如果要复制的数据在两个
快照之间累积(针对基于快照的复制)比可在拍摄快照与将那个快照的累计更新复制到副本之间可复制的多,那么可能会错过rpo。
再次在基于快照的复制中,如果要复制的数据以比在后续快照之间的时间中传送更快的速率累积,那么复制可能会开始进一步落后,这可能会延长预期恢复点目标与由最后正确复制的更新表示的实际恢复点之间的未命中。
201.上文描述的存储系统还可为无共享存储集群的部分。
在无共享存储集群中,集群的每一节点都具有本地存储,并通过网络与集群中的其它节点通信,其中由集群使用的存储(通常)仅由连接到每一个别节点的存储提供。
同步复制数据集的节点集合可为无共享存储集群的一个示例,这是因为每一存储系统都具有本地存储,并通过网络与其它存储系统通信,其中那些存储系统(通常)不使用来自其通过某互连共享存取的其它地方的存储。
相比之下,上文描述的一些存储系统本身构建为共享存储集群,因为存在由配对的控制器共享的驱动器架。
然而,上文描述的其它存储系统被构建为无共享存储集群,因为所有存储对于特定节点(例如刀片)都是在本地的,且所有通信都是通过将计算节点链接在一起的网络。
202.在其它实施例中,无共享存储集群的其它形式可包含实施例:其中集群中的任何节点都具有其所需的所有存储的本地副本,且其中通过同步复制方式将数据镜像到集群中的其它节点,以确保数据不会丢失或因为其它节点也在使用那个存储。
在此实施例中,如果新集群节点需要一些数据,那么可将那些数据从具有数据副本的其它节点复制到新节点。
203.在一些实施例中,基于镜像复制的共享存储集群可存储所有集群存储的数据的多个副本,其中数据的每一子集复制到一组特定节点,且数据的不同子集复制到若干组不同节点。
在一些变动中,实施例可将集群存储的所有数据都存储于所有节点中,而在其它变动中,节点可被划分,使得第一组节点将全部存储同一组数据,而不同组节点将全部存储一组不同数据。
204.读者将了解,基于raft的数据库(例如etcd)可如无共享存储集群般操作,其中所有raft节点存储所有数据。
然而,raft集群中存储的数据量可能会受到限制,使得额外副本不会消耗过多存储。
容器服务器集群还可能能够将所有数据复制到所有集群节点,前提是容器不会太大,且其大量数据(由在容器中运行的应用程序操纵的数据)存储在其它地方,例如在s3集群或外部文件服务器中。
在此示例中,容器存储可由集群直接通过其无共享存储模型提供,其中那些容器提供形成应用程序或服务的部分的执行环境的映像。
205.为了进一步解释,图
3d示出可特定地经配置以执行本文中描述的过程中的一或多者的示范性计算装置
350。
如图
3d中展示,计算装置
350
可包含经由通信基础设施
360
彼此通信地连接的通信接口
352、处理器
354、存储装置
356及输入/输出(“i/o”)模块
358。
虽然示范性计算装置
350
在图
3d中展示,但图
3d中示出的组件不希望具限制性。
在其它实施例中,可使用额外或替代性组件。
现在将更详细地描述图
3d中展示的计算装置
350
的组件。
206.通信接口
352可经配置以与一或多个计算装置通信。
通信接口
352的示例包含但不限于有线网络接口(例如网络接口卡)、无线网络接口(例如无线网络接口卡)、调制解调器、音频/视频连接及任何其它合适接口。
207.处理器
354大体上表示能够处理数据及/或解译、执行本文中描述的指令、过程及/或操作中的一或多者及/或引导其执行的任何类型或形式的处理单元。
处理器
354可通过执行存储于存储装置
356中的计算机可执行指令
362(例如应用程序、软件、代码及/或其它可
执行数据实例)来执行操作。
208.存储装置
356可包含一或多个数据存储媒体、装置或配置且可采用任何类型、形式的数据存储媒体及/或装置及其组合。
举例来说,存储装置
356可包含但不限于本文中描述的非易失性媒体及/或易失性媒体的任何组合。
电子数据,包含本文中描述的数据,可被临时及/或永久存储于存储装置
356中。
举例来说,表示经配置以引导处理器
354执行本文中描述的操作中的任何者的计算机可执行指令
362的数据可存储于存储装置
356内。
在一些示例中,数据可布置于驻留于存储装置
356内的一或多个数据库中。
209.i/o模块
358可包含经配置以接收用户输入及提供用户输出的一或多个i/o模块。i/o模块
358可包含支持输入及输出能力的任何硬件、固件、软件或其组合。
举例来说,i/o模块
358可包含用于捕获用户输入的硬件及/或软件,包含但不限于键盘或小键盘、触摸屏组件(例如触摸屏显示器)、接收器(例如rf或红外接收器)、运动传感器及/或一或多个输入按钮。
210.i/o模块
358可包含用于向用户呈现输出的一或多个装置,包含但不限于图形引擎、显示器(例如显示器屏)、一或多个输出驱动器(例如显示器驱动器)、一或多个音频扬声器及一或多个音频驱动器。
在某些实施例中,i/o模块
358经配置以将图形数据提供到显示器以呈现给用户。
图形数据可表示一或多个图形用户接口及/或可服务于特定实施方案的任何其它图形内容。
在一些示例中,本文中描述的系统、计算装置及/或其它组件中的任何者可由计算装置
350
实施。
211.为了进一步解释,图
3e示出用于提供存储服务(本文中还称为

数据服务’)的存储系统队
376的示例。
图3中描绘的存储系统队
376包含可各类似于本文中描述的存储系统的多个存储系统
374a、374b、374c、374d、374n。
存储系统队
376中的存储系统
374a、374b、374c、374d、374n可体现为同一存储系统或不同类型的存储系统。
举例来说,图
3e中描绘的两个存储系统
374a、374n被描绘为基于云的存储系统,这是因为共同形成存储系统
374a、374n中的每一者的资源由相异云服务提供商
370、372提供。
举例来说,第一云服务提供商
370
可为亚马逊awstm,而第二云服务提供商
372是微软azuretm,但在其它实施例中,一或多个公共云、私密云或其组合可用于提供底层资源,所述底层资源用于形成存储系统队
376中的特定存储系统。
212.根据本公开的一些实施例,图
3e中描绘的示例包含用于交付存储服务的边缘管理服务
382。
被交付的存储服务(本文中还称为

数据服务’)可包含例如向消费者提供特定量的存储的服务、根据预定服务水平协议向消费者提供存储的服务、根据预定法规要求向消费者提供存储的服务及许多其它者。
213.图
3e中描绘的边缘管理服务
382可体现为例如在计算机硬件(例如一或多个计算机资源)上执行的一或多个计算机程序指令模块。
替代地,边缘管理服务
382可体现为在虚拟化执行环境(例如一或多个虚拟机)上、在一或多个容器中或以某其它方式执行的一或多个计算机程序指令模块。
在其它实施例中,边缘管理服务
382可体现为上文描述的实施例的组合,包含其中包含于边缘管理服务
382中的一或多个计算机程序指令模块跨多个物理或虚拟执行环境分布的实施例。
214.边缘管理服务
382可操作为网关用于向存储消费者提供存储服务,其中存储服务利用由一或多个存储系统
374a、374b、374c、374d、374n提供的存储。
举例来说,边缘管理服

382可经配置以向执行消费存储服务的一或多个应用程序的主机装置
378a、378b、378c、378d、378n提供存储服务。
在此示例中,边缘管理服务
382可操作为主机装置
378a、378b、378c、378d、378n与存储系统
374a、374b、374c、374d、374n之间的网关,而不需要主机装置
378a、378b、378c、378d、378n直接存取存储系统
374a、374b、374c、374d、374n。
215.图
3e的边缘管理服务
382将存储服务模块
380
暴露给图
3e的主机装置
378a、378b、378c、378d、378n,但在其它实施例中,边缘管理服务
382可将存储服务模块
380
暴露给各个存储服务的其它消费者。
各个存储服务可经由一或多个用户接口、经由一或多个api或通过由存储服务模块
380
提供的某其它机构呈现给消费者。
因而,图
3e中描绘的存储服务模块
380
可体现为在物理硬件上、在虚拟化执行环境上或其组合上执行的一或多个计算机程序指令模块,其中执行此类模块致使使得存储服务的消费者能被提供各种存储服务、能选择及存取各种存储服务。
216.图
3e的边缘管理服务
382还包含系统管理服务模块
384。

3e的系统管理服务模块
384包含一或多个计算机程序指令模块,其在执行时与存储系统
374a、374b、374c、374d、374n协调执行各种操作以向主机装置
378a、378b、378c、378d、378n提供存储服务。
系统管理服务模块
384可经配置例如以执行任务,例如经由被存储系统
374a、374b、374c、374d、374n暴露的一或多个api从存储系统
374a、374b、374c、374d、374n预置存储资源、经由被存储系统
374a、374b、374c、374d、374n暴露的一或多个api在存储系统
374a、374b、374c、374d、374n当中迁移数据集或工作负载、经由被存储系统
374a、374b、374c、374d、374n暴露的一或多个api设置存储系统
374a、374b、374c、374d、374n上的一或多个可调谐参数(即,一或多个可配置设置),等等。
举例来说,下文描述的许多服务都与其中存储系统
374a、374b、374c、374d、374n经配置以依某方式操作的实施例有关。
在此类示例中,系统管理服务模块
384可负责使用由存储系统
374a、374b、374c、374d、374n提供的api(或某其它机构)来配置存储系统
374a、374b、374c、374d、374n以依下文描述的方式操作。
217.除了配置存储系统
374a、374b、374c、374d、374n之外,边缘管理服务
382本身还可经配置以执行提供各种存储服务所需的各种任务。
考虑其中存储服务包含当被选择及应用时致使数据集中所含的个人可识别信息(‘pii’)在数据集被存取时混淆的服务的示例。
在此示例中,存储系统
374a、374b、374c、374d、374n可经配置以在服务于引导到数据集的读取请求时混淆pii。
替代地,存储系统
374a、374b、374c、374d、374n可通过回传包含pii的数据来服务于读取,但边缘管理服务
382本身可在数据在其从存储系统
374a、374b、374c、374d、374n到主机装置
378a、378b、378c、378d、378n的路上传递通过边缘管理服务
382时混淆pii。
218.图
3e中描绘的存储系统
374a、374b、374c、374d、374n可体现为上文参考图
1a到
3d描述的存储系统中的一或多者,包含其变动。
实际上,存储系统
374a、374b、374c、374d、374n可用作存储资源池,其中那个池中的个别组件具有不同性能特性、不同存储特性,等等。
举例来说,存储系统
374a中的一者可为基于云的存储系统,另一存储系统
374b可为提供块存储的存储系统,另一存储系统
374c可为提供文件存储的存储系统,另一存储系统
374d可为相对高性能存储系统,而另一存储系统
374n可为相对低性能存储系统,等等。
在替代性实施例中,可仅存在单个存储系统。
219.图
3e中描绘的存储系统
374a、374b、374c、374d、374n还可被组织到不同故障域中,使得一个存储系统
374a的故障应完全与另一存储系统
374b的故障无关。
举例来说,存储系
统中的每一者可从独立电源系统接收电力,存储系统中的每一者可经耦合用于经由独立数据通信网络的数据通信,等等。
此外,第一故障域中的存储系统可经由第一网关存取,而第二故障域中的存储系统可经由第二网关存取。
举例来说,第一网关可为边缘管理服务
382的第一实例,且第二网关可为边缘管理服务
382的第二实例,包含其中每一实例是相异的或每一实例是分布式边缘管理服务
382的部分的实施例。
220.作为可用存储服务的说明性示例,存储服务可被呈现给与不同级别的数据保护相关联的用户。
举例来说,存储服务可被呈现给用户,当被选择及强制执行时,向用户保证与那个用户相关联的数据将受到保护使得可保证各个恢复点目标(‘rpo’)。
第一可用存储服务可确保例如与用户相关联的某个数据集将受到保护,使得超过5秒的任何数据都可在主要数据存储发生故障的事件中恢复,而第二可用存储服务可确保与用户相关联的数据集将受到保护,使得超过5分钟的任何数据都可在主要数据存储发生故障的事件中恢复。
221.可呈现给用户、由用户选择且最终应用于与用户相关联的数据集的存储服务的额外示例可包含一或多个数据合规服务。
此类数据合规服务可体现为例如可向消费者(即用户)提供数据合规服务以确保用户的数据集以一方式管理以符合各种法规要求的服务。
举例来说,可向用户提供一或多个数据合规服务以确保用户的数据集以一方式管理以便符合通用数据保护法规(‘gdpr’),可向用户提供一个或数据合规服务以确保用户的数据集以一方式管理以便符合
2002年萨班斯-奥克斯利法案(sarbanes–oxley act of 2002),可向用户提供一或多个数据合规服务以确保用户的数据集以一方式管理以便符合某个其它规范法案。
另外,可向用户提供一或多个数据合规服务以确保用户的数据集以一方式管理以便符合某非政府指导(例如,符合审计目的的最佳实践),可向用户提供一或多个数据合规服务以确保用户的数据集以一方式管理以便符合特定客户端或组织要求,等等。
222.考虑其中特定数据合规服务经设计以确保用户的数据集以符合gdpr中陈述的要求的方式进行管理的示例。
虽然gdpr的所有要求的列表可在法规本身中找到,但出于说明目的,gdpr中陈述的示例要求规定必须对经存储数据应用假名化过程,以便以方式变换个人数据,使得在不使用额外信息的情况下,无法将所得数据归于特定数据主体。
举例来说,可应用数据加密技术来使原始数据不可理解,且在没有存取正确解密密钥的情况下,不能反转此类数据加密技术。
因而,gdpr可能要求解密密钥与假名数据分离保存。
可提供一种特定数据合规服务,以确保符合此段中陈述的要求。
223.为了提供此特定数据合规服务,数据合规服务可呈现给用户(例如,经由gui)并由用户选择。
响应于接收到对特定数据合规服务的选择,可将一或多个存储服务策略应用于与用户相关联的数据集以实行特定数据合规服务。
举例来说,可应用存储服务策略,要求数据集在存储于存储系统中之前、在存储于云环境中之前或在存储于其它地方之前被加密。
为了强制执行此策略,可强制执行规定,不仅要求在存储数据集时对数据集进行加密,而且还可提出规定,要求在传输数据集(例如,将数据集发送给另一方)之前对数据集加密。
在此示例中,还可设置存储服务策略,要求用于加密数据集的任何加密密钥不存储于存储数据集本身的同一系统上。
读者将了解,根据本公开的实施例,可提供及实施许多其它形式的数据合规服务。
224.可呈现给用户、由用户选择且最终应用于与用户相关联的数据集的存储服务的另一示例可包含一或多个高可用性存储服务。
例如,此类高可用性存储服务可体现为可提供
给高可用性存储服务的消费者(即,用户)以确保用户的数据集被保证具有特定级别的正常运行时间(即,在预定时间量内可用)的服务。
举例来说,第一高可用性存储服务可被提供给用户以确保用户的数据集具有三个九的可用性,这意味着数据集
99.9%的时间是可用的。
然而,第二高可用性存储服务可被提供给用户以确保用户的数据集具有五个九的可用性,这意味着数据集
99.999%的时间是可用的。
可提供确保其它级别的可用性的其它高可用性存储服务。
同样地,高可用性存储服务还可以此方式交付以便确保除数据集外实体的各种级别的正常运行时间。
举例来说,特定高可用性存储服务可确保一或多个虚拟机、一或多个容器、一或多个数据存取端点或某其它实体在特定时间量内是可用的。
225.考虑其中特定高可用性存储服务经设计以确保用户的数据集具有五个九的可用性的示例,这意味着数据集
99.999%的时间是可用的。
在此示例中且为了交付此正常运行时间保证,与此高可用性存储服务相关联的一或多个存储服务策略可被应用且被强制执行。
举例来说,可应用要求数据集跨预定数目的存储系统进行镜像的存储服务策略,可应用要求数据集跨云环境中的预定数目的可用性区进行镜像的存储服务策略,可应用要求数据集以特定方式进行复制(例如,同步复制使得存在数据集的多个最新副本)的存储服务策略,等等。
226.读者将了解,许多其它形式的高可用性存储服务可根据本公开的实施例被提供及实施。
举例来说,此类高可用性存储服务可与不仅保证了存在数据集的特定数目的副本以便使免受存储基础设施的故障(例如,存储系统本身的故障)的存储服务策略相关联,而且高可用性存储服务还可与经设计以防止数据集因其它原因而变成不可用的存储服务策略相关联。
举例来说,高可用性存储服务可与一或多个存储服务策略相关联,所述一或多个存储服务策略在联网路径中需要特定级别的冗余度使得满足与数据集相关联的正常运行时间要求的可用性不包括缺少用以存取含有数据集的存储资源的数据通信路径。
在本公开的其它实施例中,额外形式的高可用性存储服务可被提供及实施。
227.可呈现给用户、由用户选择且最终应用于与用户相关联的数据集的存储服务的另一示例可包含一或多个灾难恢复服务。
例如,此类灾难恢复服务可体现为可提供给灾难恢复服务的消费者(即,用户)以确保用户的数据集可在灾难事件中根据某些参数进行恢复的服务。
举例来说,第一灾难恢复服务可被提供给用户以确保用户的数据集可在存储数据集的存储系统发生故障或致使数据集变成不可用的某其它形式的灾难发生的事件中根据第一rpo及第一恢复时间目标(‘rto’)进行恢复。
然而,第二灾难恢复服务可被提供给用户以确保用户的数据集可在存储数据集的存储系统发生故障或致使数据集变成不可用的某其它形式的灾难发生的事件中根据第二rpo及第二rto进行恢复。
可提供确保超出rpo及rto范围的其它级别的可恢复性的其它灾难恢复服务。
同样地,灾难恢复服务还可以此方式交付以便确保除数据集外实体的各种级别的可恢复性。
举例来说,特定灾难恢复服务可确保一或多个虚拟机、一或多个容器、一或多个数据存取端点或某其它实体可在特定时间量内或根据某其它度量进行恢复。
在此示例中,可向用户呈现灾难恢复服务,可接收对一或多个选定灾难恢复服务的选择及可将选定灾难恢复服务应用于与用户相关联的数据集(或其它实体)。
228.考虑其中特定灾难恢复服务经设计以确保用户的数据集具有零rpo及rto的示例,这意味着数据集在存储数据集的特定存储系统发生故障或某其它形式的灾难发生的事件
中必须立即可用,没有数据丢失。
在此示例中且为了交付这些rpo/rto保证,与此灾难恢复服务相关联的一或多个存储服务策略可被应用且被强制执行。
举例来说,可应用要求数据集跨预定数目的存储系统被同步复制的存储服务策略,这意味着修改数据集的请求仅可在包含数据集的副本的所有存储系统都根据所述请求修改了数据集时才被承认为完成。
换句话说,修改操作(例如写入)被应用于驻留于存储系统上的数据集的所有副本或不应用于驻留于存储系统上的数据集的副本中的任何者,使得存储系统的故障不会防止用户存取数据集的同一最新副本。
229.读者将了解,根据本公开的实施例,可提供及实施许多其它形式的灾难恢复服务。
举例来说,此类灾难恢复服务可与不仅保证灾难可从根据特定rpo或rto要求恢复的存储服务策略相关联,而且灾难恢复服务还可与经设计以确保数据集(或其它实体)可恢复到预定位置或系统的存储服务策略相关联,灾难恢复服务还可与经设计以确保数据集(或其它实体)可以不大于预定最大成本进行恢复的存储服务策略相关联,灾难恢复服务还可与经设计以确保特定动作响应于检测到灾难(例如,加速故障系统的克隆)而实行的存储服务策略相关联,等等。
在本公开的其它实施例中,额外形式的灾难恢复服务可被提供及实施。
230.可呈现给用户、由用户选择且最终应用于与用户相关联的数据集的存储服务的另一示例可包含一或多个数据归档服务(包含数据迁移服务)。
例如,此类数据归档服务可体现为可提供给数据归档服务的消费者(即,用户)以确保用户的数据集例如根据一组特定偏好、参数及类似物以某方式进行归档的服务。
举例来说,可向用户提供一或多个数据归档服务以确保用户的数据集在数据在预定时间段内未被存取时、在数据无效达某时间段时、在数据集达到某大小之后、在存储数据集的存储系统已达到预定利用级别时等等进行归档。
231.考虑其中特定数据归档服务经设计以确保用户数据集已作废的一部分(例如,用经更新部分取代的部分、已删除的部分)在数据作废的
24小时内进行归档的示例。
为了提供此特定数据归档服务,数据归档服务可被呈现给用户(例如,经由gui)且由用户选择。
响应于接收到对特定数据归档服务的选择,可将一或多个存储服务策略应用于与用户相关联的数据集,以实行特定数据归档服务。
举例来说,可应用要求对可能导致数据无效的任何操作(例如,盖写、删除)进行编目且每
12小时过程检查编目的操作并将无效数据迁移到归档的存储服务策略。
同样地,存储服务策略可能会对例如废弃项目收集的过程施加限制,以防止此类过程删除尚未归档的数据(如果适用)。
读者将了解,在此示例中,数据归档服务可与一或多个数据合规服务协同操作,因为归档数据的要求可由一或多个法规创建。
举例来说,用户选择要求将某些数据保留预定时间段的特定数据合规服务可自动触发可交付所需级别的数据归档及保留的特定数据归档服务。
同样地,一些数据归档服务可能与一些数据合规服务不兼容,使得可能防止用户选择两个冲突或以其它方式不兼容的服务。
232.可呈现给用户、由用户选择并最终应用于与用户相关联的数据集的存储服务的另一示例可包含一或多个服务质量(“qos”)存储服务。
例如,此类qos存储服务可体现为可提供给数据合规服务的消费者(即,用户)以确保可根据预定义的性能度量来存取用户的数据集的服务。
举例来说,特定qos存储服务可保证定向到用户的数据集的读取可在特定时间量内得到服务、定向到用户数据集的写入可在特定时间量内获得服务、可保证用户可获得定向到用户数据集的预定数目的iops,等等。
233.考虑其中特定qos存储服务经设计以确保用户的数据集可以一方式存取使得保证
读取延时及写入延时低于预定的时间量。
为了提供此特定qos存储服务,qos存储服务可被呈现给用户(例如,经由gui)并由用户选择。
响应于接收到对特定qos存储服务的选择,可将一或多个存储服务策略应用于与用户相关联的数据集以实行特定qos存储服务。
举例来说,可应用要求将数据集保留在可用于提供所需读取延时及写入延时的存储器中的存储服务策略。
举例来说,如果特定qos存储服务需要相对低的读取延时及写入延时,那么与此特定qos存储服务相关联的存储服务策略可能要求将用户的数据集存储在经定位相对接近于发出针对数据集的i/o操作的任何主机的相对高性能的存储装置中。
234.读者将了解,根据本公开的实施例,可提供及实施许多其它形式的qos存储服务。
实际上,qos存储服务可与一或多个其它存储服务协同操作。
举例来说,特定qos存储服务可与特定高可用性存储服务协同操作,因为qos存储服务可与可通过特定高可用性存储服务的应用来实施的特定可用性要求相关联。
同样地,特定qos存储服务可与特定数据复制服务协同操作,因为qos存储服务可与只能通过将数据集复制(经由特定数据复制服务)到相对靠近针对数据集的i/o操作源的存储装置来实现的特定性能保证相关联。
同样地,一些qos存储服务可能与其它存储服务不兼容,使得可防止用户选择两个冲突或以其它方式不兼容的服务。
235.可呈现给用户、由用户选择并最终应用于与用户相关联的数据集的存储服务的另一示例可包含一或多个数据保护服务。
例如,此类数据保护服务可体现为可提供给数据保护服务的消费者(即,用户)的服务,以确保用户的数据集以特定方式受到保护及传播。
举例来说,可向用户提供一或多个数据保护服务,以确保以一方式管理用户的数据集,以便限制个人数据的使用或传播方式。
236.考虑其中特定的数据保护服务经设计以确保用户的数据集不会在与用户相关的特定组织之外传播的示例。
为了提供此特定数据保护服务,数据保护服务可被呈现给用户(例如,经由gui)并由用户选择。
响应于接收到对特定数据保护服务的选择,可将一或多个存储服务策略应用于与用户相关联的数据集,以实行特定数据保护服务。
举例来说,可应用要求数据集不被复制、备份或以其它方式存储于公共云中,如亚马逊awstm的存储服务策略。
同样地,可应用要求提供某些凭证以便存取数据集的存储服务策略,例如(举例来说),可用于验证请求者是与用户相关联的特定组织的授权成员的凭证。
237.读者将了解,根据本公开的实施例,可提供及实施许多其它形式的数据保护服务。
实际上,数据保护服务可与一或多个其它存储服务协同操作。
举例来说,特定数据保护服务可与一或多个数据合规服务协同操作,因为限制对数据的存取或共享的要求可由一或多个法规创建。
举例来说,用户选择要求某些数据不能共享的特定数据合规服务可自动触发可提供所需级别的数据隐私的特定数据保护服务。
同样地,一些数据保护服务可能与一些其它存储服务不兼容,使得可防止用户选择两个冲突或以其它方式不兼容的服务。
238.可呈现给用户、由用户选择并最终应用于与用户相关联的数据集的存储服务的另一示例可包含一或多个虚拟化管理服务(包括容器编排)。
例如,此类虚拟化管理服务可体现为可提供给虚拟化管理服务的消费者(即,用户)以确保根据预定义的策略来管理用户的虚拟化资源的服务。
举例来说,可向用户提供一或多个虚拟化管理服务,以确保用户的数据集可以一方式呈现,使得与用户相关联的一或多个虚拟机或容器可存取数据集,即使当底层数据集驻留于通常可能对虚拟机或容器不可用的存储装置内时。
举例来说,虚拟化管理
服务可经配置以将数据集呈现为可用于虚拟机、容器或某其它形式的虚拟化执行环境的虚拟卷的部分。
另外,可向用户提供一或多个虚拟化管理服务,以确保用户的虚拟化执行环境得到备份,且可在故障事件中进行恢复。
举例来说,虚拟化管理服务可致使虚拟机的图像被恢复,且可捕获与虚拟机相关联的状态信息,使得如果虚拟机发生故障,那么虚拟机可被恢复到其先前状态。
在其它实施例中,虚拟化管理服务可用于管理与用户相关联的虚拟化执行环境,向此类虚拟化执行环境提供存储资源。
239.考虑特定虚拟化管理服务经设计以为容器化应用程序提供持久存储的示例,否则所述应用程序将无法在容器本身的使用寿命之外保留数据,且与特定容器相关的数据将在容器销毁之后保留
24小时。
为了提供此特定虚拟化管理服务,可将一或多个存储服务策略应用于与用户相关联的数据集或虚拟化环境,以实行特定虚化管理服务。
举例来说,可应用存储服务策略来创建及配置容器可存取的虚拟卷,其中虚拟卷由物理存储系统上的物理存储支持。
在此示例中,一旦容器被销毁,存储服务策略就还可包含防止废弃项目收集过程或某其它过程删除物理存储系统上用于备份虚拟卷至少
24小时的物理存储的内容的规则。
240.读者将了解,根据本公开的实施例,可提供及实施许多其它形式的虚拟化管理服务。
实际上,虚拟化管理服务可与一或多个其它存储服务协同操作。
举例来说,特定虚拟化管理服务可与一或多个qos存储服务协同操作,因为经由虚拟化管理服务被给予对持久存储的存取的虚拟化环境(例如虚拟机、容器)也可具有可通过强制执行特定qos存储服务来满足的性能需求。
举例来说,当特定实体是虚拟化实体时,选择要求所述实体接收对可满足特定性能要求的存储资源的存取的特定qos存储服务的用户可触发特定虚拟化管理服务。
同样地,一些虚拟化管理服务可能与一些其它存储服务不兼容,使得可能防止用户选择两个冲突或以其它方式不兼容的服务。
241.可呈现给用户、由用户选择并最终应用于与用户相关联的数据集的存储服务的另一示例可包含一或多个队管理服务。
例如,此类队管理服务可体现为可提供给队管理服务的消费者(即,用户)确保以特定方式管理用户的存储资源(物理的、基于云的以及其组合)及甚至相关资源的服务。
举例来说,可向用户提供一或多个队管理服务,以确保用户的数据集以最适合与数据集相关联的性能需求的方式分布在存储系统队中。
举例来说,数据集的生产版本可放置于相对高性能存储系统上,以确保可使用相对低延时操作(例如读取、写入)来存取数据集,其中数据集的测试/开发版本可放置于相对低性能存储系统上,因为在测试/开发环境中可准许使用相对高延时操作(例如读取、写入)存取数据集。
在其它示例中,可向用户提供一或多个队管理服务,以确保用户的数据集以此方式分布,以便实现负载平衡目标,其中一些存储系统没有负担过重,而其它者未被充分利用,以确保数据集以此方式分布,以便实现高级别的数据缩减(例如,将类似数据集分组在一起,希望实现数据集随机分布时会发生的更好的数据去重复),以确保数据集中以此方式分布,以便遵守数据合规法规,等等。
242.考虑其中特定队管理服务经设计以确保用户的数据集以此方式分布,以便将数据集放置于物理上最接近最频繁存取数据集的主机的存储系统上的示例。
为了提供此特定队管理服务,可应用要求在放置数据集时考虑最频繁存取特定数据集的主机的位置的一或多个存储服务策略。
此外,可应用的一或多个存储服务策略可能进一步要求,如果不同主机成为最频繁存取特定数据集的主机,那么应将特定数据集复制到物理上最接近不同主机的存
储系统。
243.读者将了解,根据本公开的实施例,可提供及实施许多其它形式的队管理服务。
实际上,队管理服务可与一或多个其它存储服务协同操作。
举例来说,特定队管理服务可与一或多个数据合规服务协同操作,因为以此方式移动数据集的能力可能受到由一或多个数据合规服务强制执行的监管要求的限制。
举例来说,用户选择限制数据集移动能力的特定数据合规服务可导致特定队管理服务在队管理系统评估位于源存储系统应该转移到以追求某些队管理目标。
同样地,一些队管理服务可能与一些其它存储服务不兼容,使得用户可能被阻止选择两个冲突或以其它方式不兼容的服务。
244.可呈现给用户、由用户选择并最终应用于与用户相关联的数据集的存储服务的另一示例可包含一或多个成本优化服务。
例如,此类成本优化服务可体现为可提供给成本优化服务的消费者(即,用户)以确保以最小化用户成本的方式管理用户的数据集、存储系统及其它资源。
举例来说,可向用户提供一或多个成本优化服务,以确保以最小化与将数据从源存储系统复制到多个可用目标存储系统中的任何者相关联的成本(例如,以美元测量)的方式来复制用户的数据集、确保以最小化与存储数据集相关联的成本的方式管理用户的数据集、确保以减少与操作存储系统或其它资源相关联的功耗成本的方式来管理用户的存储系统或其它资源,或以其它方式,包含确保用户的数据集、存储系统或正在管理的其它资源以最小化或减少与数据集、存储系统或其它资源相关联的多个费用的累计成本。
另外,一或多个成本优化服务甚至可考虑合同成本,例如(举例来说),与违反与特定用户相关联的服务级别协协议定相关联的经济处罚。
实际上,还可考虑与执行升级或执行某其它动作相关联的成本,以及与向客户提供存储服务及数据解决方案相关联的许多其它形式的成本。
245.考虑其中特定成本优化服务经设计以确保用户的数据集以存储数据集的成本最小化的方式进行管理的示例,不管用户有单独要求数据集存储在本地、本地部署存储系统内而且还镜像到至少另一存储资源的事实。
举例来说,数据集可镜像到云或镜像到场外存储系统。
为了提供此特定成本优化服务,可应用存储服务策略,策略要求针对每一可能的复制目标,必须考虑与将数据集传输到复制目标相关联的成本以及与在复制目标上存储数据集相关联的成本。
在此示例中,强制执行此存储服务策略可能导致数据集以最低的预期成本镜像到复制目标。
246.读者将了解,根据本公开的实施例,可提供及实施许多其它形式的成本优化服务。
实际上,成本优化服务可与一或多个其它存储服务协同操作。
举例来说,特定成本优化服务可与一或多个qos存储服务协同操作,因为在特定存储资源内存储数据集的能力可能受到与qos存储服务相关联的性能要求的限制。
举例来说,用户选择创建数据集必须在特定延时最大值内可存取的要求的特定qos存储服务可能限制成本优化服务将所有可能的存储资源视为可存储数据集的可能位置的能力,因为一些存储资源(或存取存储资源所需的存储资源及例如联网资源的其它资源的组合)可能无法提供qos存储服务所需的性能级别。
因而,特定成本优化服务可仅考虑数据集可驻留在其内的目标存储系统,且仍然可根据已经为数据集选择的qos存储服务的要求来存取。
同样地,一些成本优化服务可能与一些其它存储服务不兼容,使得可防止用户选择两个冲突的或以其它方式不兼容的服务。
247.可呈现给用户、由用户选择并最终应用于与用户相关联的数据集的存储服务的另一示例可包含一或多个工作负载放置服务。
例如,此类工作负载放置服务可体现为可提供
给工作负载放置服务的消费者(即,用户)的服务,以确保用户的数据集以符合与数据存储在包含不同存储资源的系统内的位置相关的各种要求的方式来管理。
举例来说,可向用户提供一或多个工作负载放置服务,以确保用户的数据集以负载平衡对不同存储资源的数据存取的方式进行管理,以确保以优化选定数据集的特定性能度量(例如读取延时、写入延时、数据减少)的方式来管理用户的数据集,以确保以任务关键型数据集不太可能不可用或存取时间相对较长的方式管理用户的数据集,等等。
248.考虑其中特定工作负载放置服务经设计以在与特定用户相关联的三个本地部署存储系统中实现预定负载平衡目标的示例。
为了提供此特定工作负载放置服务,可应用要求定期监测三个存储系统以确保每一存储系统服务于相对相似数量的iops,且还存储相对相似量的数据的存储服务策略。
在此示例中,如果第一存储系统存储相对大量的数据但是相对于第三存储系统提供相对少量的iops,那么强制实施与特定工作负载放置服务相关联的存储服务策略可能导致将第一存储系统上相对较大(例如以gb为单位)但不常存取的数据集移动到第三存储系统,以及将存储在第三存储系统上的相对较小(以gb为单位)但经常存取的数据集移动到第一存储系统,所有这些都是为了确保每一存储系统都能服务于相对相似数目的iops,并存储相对相似的数据量。
249.读者将了解,根据本公开的实施例,可提供及实施许多其它形式的工作负载放置服务。
实际上,工作负载放置服务可与一或多个其它存储服务协同操作。
举例来说,特定工作负载放置服务可与一或多个qos存储服务协同操作,因为在特定存储资源内存储数据集的能力可能受到与qos存储服务相关联的性能要求的限制。
举例来说,用户选择创建数据集必须在特定延时最大值内可存取的要求的特定qos存储服务可能会限制工作负载放置服务跨存储资源进行负载平衡的能力,因为一些存储资源(或存储资源与存取存储资源所需的例如联网资源的其它资源的组合)可能无法提供qos存储服务所需的性能级别。
因而,特定的工作负载放置服务可仅考虑数据集可驻留在其内的目标存储系统,且仍可根据已经为数据集选择的qos存储服务的要求来存取。
同样地,一些工作负载放置服务可能与一些其它存储服务不兼容,使得可能阻止用户选择两个冲突或以其它方式不兼容的服务。
250.可呈现给用户、由用户选择并最终应用于与用户相关联的数据集的存储服务的另一示例可包含一或多个动态扩展服务。
例如,此类动态扩展服务可体现为可提供给动态扩展服务的消费者(即,用户)以确保根据需要扩展及缩减与用户的数据集相关联的存储资源的服务。
举例来说,可向用户提供一或多个动态扩展服务,以确保以一方式管理用户的数据集及存储资源,以便满足可通过扩展措施实现的各种目标。
251.考虑其中特定动态扩展服务经设计以确保用户的任务关键型数据集以一方式进行管理使得数据集不会驻留在存储容量或iops容量利用率超过
85%的任何存储资源上的示例。
为了提供此特定动态扩展服务,可应用存储服务策略,其要求:
1)一旦达到此利用率阈值,就对存储资源进行扩展(如果可能的话),或
2)一旦达到此阈值,就重新布置工作负载,以使存储关键任务数据集的存储资源在存储容量及iops容量方面低于
75%。
举例来说,如果数据集位于如上所述的基于云的存储系统中,那么可通过添加额外虚拟驱动器(即,具有本地存储的云计算实例)来扩展基于云的存储系统,可通过使用更高性能的云计算实例来执行存储控制器应用程序来扩展基于云的存储系统等等。
替代地,如果数据集驻留在无法立即扩展的物理存储系统上,那么一些数据集可能会从物理存储系统中迁移出来,直到
使用率级别可以接受为止。
252.读者将了解,根据本公开的实施例,可提供及实施许多其它形式的动态扩展服务。
实际上,动态扩展服务可与一或多个其它存储服务协同操作。
举例来说,特定动态扩展服务可与一或多个qos存储服务协同操作,因为提供qos存储服务所需的某些级别的性能的能力可能取决于具有适当扩展的存储资源(或其它资源)。
举例来说,用户选择创建数据集必须在特定延时最大值内可存取的要求的特定qos存储服务可立即触发以能够满足延时目标的方式扩展资源所需的一或多个动态扩展服务。
同样地,一些动态扩展服务可能与一些其它存储服务不兼容,使得可防止用户选择两个冲突的或以其它方式不兼容的服务。
253.可呈现给用户、由用户选择并最终应用于与用户相关联的数据集的存储服务的另一示例可包含一或多个性能优化服务。
例如,此类性能优化服务可体现为可提供给性能优化服务的消费者(即,用户)以确保用户的数据集、存储资源及其它资源以通过各种可能度量来最大化性能的方式进行管理的服务。
举例来说,可向用户提供一或多个性能优化服务,以确保用户的存储资源在可能提供服务的iops的总量方面最大化,以确保通过应用损耗均衡策略来最大化不同存储资源的寿命,通过确保管理用户存储资源以最小化总功耗,通过确保对用户存储资源进行管理以确保资源的正常运行时间或以其它方式。
同样地,可向用户提供一或多个性能优化服务,以确保根据各种性能目标可存取用户的数据集。
举例来说,可对用户的数据集进行管理,以便在特定数据集的iops方面提供最佳性能,可对用户的数据集中进行管理,以在特定数据集中的数据缩减方面提供最佳的性能,可管理用户的数据集,以便在对特定数据集可用性方面或以某其它方式提供最佳性能。
254.考虑其中特定性能优化服务经设计以确保用户的存储资源以共同最大化可共同存储在存储资源上的数据量的方式得到管理的示例。
举例来说,可应用要求将某些类型的数据存储在实施可能实现最佳数据压缩结果的压缩方法的存储资源上的存储服务策略。
举例来说,如果一个存储系统使用在压缩文本数据方面更有效的压缩算法,且第二存储系统使用对压缩视频数据更有效的压缩算法,那么实施存储服务策略可导致视频数据被存储在第二存储系统上且文本数据被存储到第一存储系统上。
同样地,可应用要求将来自类似主机应用程序的数据存储在相同存储资源中,以便改进可实现的数据去重复的级别的存储服务策略。
举例来说,如果当对来自其它数据库应用程序的数据进行去重复时,可更有效地对来自数据库应用程序的数据进行去重复,且当对来自其它图像处理应用程序的数据进行去重复时,可更有效地对来自图像处理应用的数据进行去重复,那么实施存储服务策略可导致来自数据库应用程序的所有数据存储在第一存储系统上且来自图像处理应用程序的全部数据存储在第二存储系统上,以追求比通过将来自每一类型的应用程序的数据存储在同一存储系统上实现的去重率更好的去重率。
通过在后端存储系统中实现更好的数据缩减率,从用户的角度来看,可在存储资源中存储更多数据。
255.举例来说,使用上文描述的压缩示例,如果第一存储系统可将一些数据从
1tb的未压缩大小压缩到
300gb的压缩大小,而第二存储系统只能将相同的
1tb数据压缩到
600gb的压缩大小(因为存储系统使用不同的压缩算法),那么从用户的角度来看,可用的存储量看起来是不同的,因为在第二存储系统上存储数据需要从物理容量固定的存储系统的后端池消耗额外的
300gb存储(而其逻辑容量可通过智能放置数据来改进)。
256.读者将了解,根据本公开的实施例,可提供及实施许多其它形式的性能优化服务。
实际上,性能优化服务可与一或多个其它存储服务协同操作。
举例来说,特定性能优化服务可与一或多个qos存储服务协同操作,因为提供qos存储服务所需的特定级别的性能的能力可能限制将数据集放置在特定存储资源上的能力。
举例来说,如果用户选择创建了数据集必须在特定延时最大值内可存取的要求的特定qos存储服务,但也选择了经设计以最大化逻辑存储容量的特定性能优化服务,那么只有那些能够满足这两个要求的存储资源可为接收数据集的候选者,即使其它存储资源可相对于一个服务提供更好的结果(而不能满足另一服务的要求)。
举例来说,数据集可能无法放置在只能提供相对较高i/o延时的特定存储系统上(因为以此方式放置数据集会导致违反qos策略),即使特定存储系统能够借助于支持对所述数据集来说高效的压缩算法来执行数据集的出色数据压缩。
因而,一些性能优化服务可能与一些其它存储服务不兼容,使得可能防止用户选择两个冲突或以其它方式不兼容的服务。
257.可呈现给用户、由用户选择并最终应用于与用户相关联的数据集的存储服务的另一示例可包含一或多个网络连接服务。
例如,此类网络连接服务可体现为可提供给网络连接服务的消费者(即,用户)以确保用户的数据集、存储资源、联网资源及其它资源以符合各种连接要求的方式进行管理的服务。
举例来说,可向用户提供一或多个网络连接服务,以确保用户的数据集可经由不依赖任何共享硬件或软件组件的预定数目的联网路径到达。
同样地,可向用户提供一或多个网络连接服务,以确保用户的数据集以仅可经由安全数据通信通道存取的方式进行管理,通过确保以向主机应用程序通知用于存取数据集的最佳数据通信路径的方式来管理用户的数据,以确保存储用户数据集的存储资源能够通过满足某些要求的数据通信路径进行通信,以及许多其它者。
258.考虑其中特定网络连接服务经设计以确保用户的数据集可经由不依赖任何共享硬件或软件组件的预定数目的联网路径到达的示例。
举例来说,可应用要求数据集驻留于至少两个相异存储资源(例如两个相异存储系统)上的存储服务策略,所述存储资源可从应用主机或经由相异数据通信网络存取数据集的其它装置达到。
为此,应用存储服务策略可能会导致数据集从一个存储资源复制到另一者,应用存储服务策略可能会致使激活镜像机制以确保数据集驻留于两个存储资源上,或可使用某其它机制来强制执行策略。
259.读者将了解,根据本公开的实施例,可提供及实施许多其它形式的网络连接服务。
实际上,网络连接服务可与一或多个其它存储服务协同操作。
举例来说,特定网络连接服务可与一或多个复制服务、qos服务、数据合规服务及其它服务协同操作,因为以此方式放置数据集以便遵守特定网络连接服务的能力可能基于根据复制服务复制数据集的能力且进一步基于满足qos服务所保证的性能要求的能力且还进一步基于放置数据集以便遵守一或多个数据合规服务的能力而受到限制。
举例来说,在上文陈述的其中网络连接服务要求数据集驻留在可从应用主机或经由相异数据通信网络存取数据集的其它装置达到的至少两个相异存储资源(例如两个相异存储系统)上的示例中,这些存储资源,只有在还可提供其它服务的情况下才能选择存储资源的组合。
在一些实施例中,如果不能在所有选定服务上交付的两个存储资源不可用,那么可提示用户移除一些选定服务,可使用最佳匹配算法来选择最接近于能够交付选定服务的两个存储系统,或可采取某其它动作。
因而,一些网络连接服务可能与一些其它存储服务不兼容,使得可能防止用户选择两个冲突或以其它方式不兼容的服务。
260.可呈现给用户、由用户选择并最终应用于与用户相关联的数据集的存储服务的另一示例可包含一或多个数据分析服务。
例如,此类数据分析服务可体现为可提供给数据分析服务的消费者(即,用户)以向用户的数据集、存储资源及其它资源提供数据分析能力的服务。
举例来说,可提供一或多个数据分析服务,其分析用户数据集的内容,净化用户数据集的内容,执行数据收集操作以创建或扩充用户的数据集,等等。
261.读者将了解,根据本公开的实施例,可提供及实施许多其它形式的数据分析服务。
实际上,数据分析服务可与一或多个其它存储服务协同操作。
举例来说,特定数据分析服务可与一或多个qos存储服务协同操作,使得为了执行数据分析目的而对数据集的存取可被给予比更传统的数据存取(例如用户发起的读取及写入)更低的优先级以避免违反qos存储服务中陈述的性能保证。
因而,一些数据分析服务可能与一些其它存储服务不兼容,使得可能防止用户选择两个冲突或以其它方式不兼容的服务。
262.可呈现给用户、由用户选择并最终应用于与用户相关联的数据集的存储服务的另一示例可包含一或多个数据可移植性服务。
例如,此类数据可移植性服务可体现为可提供给数据可移植服务的消费者(即,用户)以允许用户对用户数据集执行各种数据移动、数据转换及类似过程的服务。
举例来说,可向用户提供一或多个数据可移植性服务,以允许用户将其数据集从一个存储资源迁移到另一存储资源,允许用户将其数据集从一种格式(例如块数据)转换为另一格式(例如对象数据),允许用户合并数据,允许用户将其数据集从一个数据控制器(例如第一云服务供应商)转移到另一个数据控制装置(例如第二云服务供应商),允许用户将其数据集从符合第一组法规转换为符合第二组法规,等等。
263.考虑其中特定数据可移植性服务经设计以允许用户将其数据集从第一数据控制器(例如第一云服务供应商)转移到第二数据控制器(例如第二云服务供应商)的示例。
为了提供此特定数据可移植性服务,可应用致使数据集周期性地被转换为与第二数据控制器的基础设施兼容的存储服务策略。
读者将了解,根据本公开的实施例,可提供及实施许多其它形式的数据可移植性服务。
实际上,数据可移植性服务可与一或多个其它存储服务协同操作。
举例来说,特定数据可移植性服务可与一或多个数据合规服务协同操作,使得数据集从第一数据控制器到第二数据控制器的迁移可能受到限制,以便不会导致用户违反在一或多个数据合规服务中陈述的法规遵从。
因而,一些数据可移植性服务可能与一些其它存储服务不兼容,使得可能阻止用户选择两个冲突或以其它方式不兼容的服务。
264.可呈现给用户、由用户选择并最终应用于与用户相关联的数据集的存储服务的另一示例可包含一或多个升级管理服务。
例如,此类升级管理服务可体现为可提供给数据合规服务的消费者(即,用户)以确保用户的数据集、存储资源及其它资源可在各种更新变得可用时升级或保持最新的服务。
举例来说,可向用户提供一或多个升级管理服务,以确保用户的存储资源在出现某些阈值(例如,年龄、利用率)后就升级,以确保系统软件在补丁及新版本可用时升级,在新的云服务提供可用时升级云组件,以确保存储相关资源(例如文件系统)在升级或更新可用时进行升级,等等。
265.考虑其中特定升级管理服务经设计以确保以一方式管理用户的存储资源以保证在新软件更新可用时对用户的存储系统应用新软件更新的示例。
为了提供此特定升级管理服务,可应用要求存储系统在更新可用的
24小时内定期检查更新、下载任何更新并安装更新的存储服务策略。
读者将了解,根据本公开的实施例,可提供及实施许多其它形式的升级
管理服务。
实际上,升级管理服务可与一或多个其它存储服务协同操作。
举例来说,特定升级管理服务可与一或多个qos服务协同操作,使得更新或升级仅在qos要求可由正在升级的资源或某其它资源维持的时候应用。
因而,一些升级管理服务可能与一些其它存储服务不兼容,使得可能防止用户选择两个冲突或以其它方式不兼容的服务。
266.可呈现给用户、由用户选择并最终应用于与用户相关联的数据集的存储服务的另一示例可包含一或多个数据安全服务。
例如,此类数据安全服务可体现为可提供给数据安全服务的消费者(即,用户)以确保用户的数据集、存储资源及其它资源以符合各种安全要求的方式进行管理的服务。
举例来说,可向用户提供一或多个数据安全服务,以确保用户的数据集既在静止时(当存储在存储资源上时)又在传输中都根据某些标准进行加密,使得实现端到端加密。
实际上,一或多个数据安全服务可包含描述如何在静止时保护数据的保证、描述如何在传输中保护数据的保证、描述将使用的私密/公共密钥系统的保证、以及描述如何限制对数据集或资源的存取的保证,等等。
267.考虑其中特定数据安全服务经设计以保证存储在特定存储资源上的数据集将使用在存储资源以外的资源(例如(举例来说)密钥服务器)上维护的密钥进行加密的示例。
为了提供此特定数据安全服务,可应用要求存储资源向密钥服务器请求密钥、加密数据集(或其任何未加密部分)及并在每次修改数据集时删除加密密钥(例如,经由写入)的存储服务策略。
同样地,为了服务于读取,存储资源可能需要向密钥服务器请求密钥,解密数据集,并删除加密密钥。
读者将了解,根据本公开的实施例,可提供及实施许多其它形式的数据安全服务。
实际上,数据安全服务可与一或多个其它存储服务协同操作。
举例来说,特定数据安全服务可与一或多个qos服务协同操作,使得当选择特定数据安全服务时,只有某些qos服务可以可用,因为执行各种安全功能的要求可能限制可进行高性能保证的程度。
因而,一些数据安全服务可能与一些其它存储服务不兼容,使得可能防止用户选择两个冲突或以其它方式不兼容的服务。
268.可呈现给用户、由用户选择并最终应用于与用户相关联的数据集的存储服务的另一示例可包含一或多个融合系统管理服务。
例如,此类融合系统管理服务可体现为可提供给融合系统管理服务的消费者(即,用户)以确保以遵守一些策略的方式管理融合系统中的用户的数据集、存储资源及其它资源的服务。
举例来说,可向用户提供一或多个融合系统管理服务,以确保可以特定方式管理包含存储资源及为ai/ml
应用程序设计的一或多个gpu服务器的融合基础设施。
同样地,可向用户提供一或多个融合系统管理服务,以确保可以特定方式管理包含存储资源及本地部署云基础设施(例如,亚马逊前哨)的融合基础设施。
举例来说,一或多个融合系统管理服务可保证,针对存储资源且由上文描述的融合基础设施中的gpu服务器发起的i/o操作将优先于由融合基础设施外部的装置发起的i/o操作。
读者将了解,根据本公开的实施例,可提供及实施许多其它形式的融合系统管理服务。
实际上,融合系统管理服务可与一或多个其它存储服务协同操作。
因而,一些融合系统管理服务可能与一些其它存储服务不兼容,使得可能阻止用户选择两个冲突或以其它方式不兼容的服务。
269.可呈现给用户、由用户选择并最终应用于与用户相关联的数据集的存储服务的另一示例可包含一或多个应用程序开发服务。
例如,此类应用程序开发服务可体现为可提供给数据合规服务的消费者(即,用户)以促进应用程序的开发及测试,以及实行应用程序开
发及测试循环的任何其它方面的服务。
举例来说,可向用户提供一或多个应用程序开发服务,以使用户能够快速创建用于开发目的的生产数据集的克隆,创建已经混淆了个人识别信息的生产数据集的克隆,启动用于测试的额外虚拟机或容器,管理测试执行环境与此类环境使用的数据集之间所需的所有连接,等等。
为了提供此类应用程序开发服务,可将一或多个存储服务策略应用于与用户相关联的数据集,以实行特定应用程序开发服务。
举例来说,可应用在用户请求后就创建生产数据集的克隆(其中数据集中的个人可识别信息在克隆中被混淆)且随后将克隆存储在可用于开发及测试操作的存储资源上的存储服务策略。
270.读者将了解,根据本公开的实施例,可提供及实施许多其它形式的应用程序开发服务。
实际上,应用程序开发服务可与一或多个其它存储服务协同操作。
举例来说,特定应用程序开发服务可与一或多个复制策略协同操作,使得生产数据集的克隆只能发送到非生产环境(例如,到开发及测试环境)。
因而,一些应用程序开发服务可能与一些其它存储服务不兼容,使得可能防止用户选择两个冲突或以其它方式不兼容的服务。
271.读者将了解,虽然上文给出了其中用户可选择多个服务的示例,且可能需要在选定服务之间建立兼容性,但也有可呈现给用户、由用户选择(其中此选择由一或多个边缘管理服务
406或类似机构接收)并最终应用于数据集、存储资源或与用户相关联的某其它资源的许多其它服务组合(以及个别服务)。
读者将进一步了解,上文描述的许多示例存储服务(以及其它服务)可包含某程度的重叠,且还可与类似的、相关的或甚至相同的存储服务策略相关联。
272.读者将进一步了解,可使用各种机制将一或多个存储服务策略附加到特定数据集。
举例来说,识别数据集所受的特定存储服务策略的元数据可附加到数据集。
替代地,可维持将每一数据集的标识符与数据集所受的存储服务策略相关联的集中式存储库。
同样地,各种装置可维持描述其所处理的数据集的信息。
举例来说,存储系统可维持描述存储在存储系统内的每一数据集所受的存储服务策略的信息,联网设备可维持描述传递通过联网设备的每一数据集所受的存储服务策略的信息,等等。
替代地,此类信息可被维持于其它地方且可为各种装置可存取的。
在其它实施例中,可使用其它机制将一或多个存储服务策略附加到特定数据集。
273.存储系统队
376中的存储系统
374a、374b、374c、374d、374n可例如由一或多个队管理模块共同管理。
队管理模块可为图
3e中描绘的系统管理服务模块
384的部分或与其分离。
队管理模块可执行任务,例如监测队中每一存储系统的健康、在队中的一或多个存储系统上发起更新或升级、为负载平衡或其它性能目的迁移工作负载及许多其它任务。
因而,且出于许多其它原因,存储系统
374a、374b、374c、374d、374n可经由一或多个数据通信链路彼此耦合,以便在存储系统
374a、374b、374c、374d、374n之间交换数据。
274.本文中描述的存储系统可支持各种形式的数据复制。
举例来说,两个或更多个存储系统可在彼此之间同步复制数据集。
在同步复制中,特定数据集的相异副本可由多个存储系统维持,但无论存取被引导到哪一存储系统,数据集的所有存取(例如读取)都应产生一致结果。
举例来说,引导到正在同步复制数据集的存储系统中的任何者的读取应回传相同结果。
因而,虽然数据集版本的更新无需完全同时发生,但必须采取预防措施以确保对数据集的一致存取。
举例来说,如果由第一存储系统接收引导到数据集的更新(例如写入),那么仅在正同步复制数据集的所有存储系统都已将更新应用于其数据集副本的情况下才可
确认更新已完成。
在此示例中,可通过使用i/o转发(例如,在第一存储系统处接收的写入被转发到第二存储系统)、存储系统之间的通信(例如,每一存储系统指示其已完成更新)或以其它方式实行同步复制。
275.在其它实施例中,可通过使用检查点来复制数据集。
在基于检查点的复制(也称为

几乎同步复制’)中,数据集的一组更新(例如,引导到数据集的一或多个写入操作)可发生于不同检查点之间,使得仅在特定检查点之前对数据集的所有更新都已完成时,数据集才被更新到特定检查点。
考虑其中第一存储系统存储数据集用户正存取的数据集的实时副本的示例。
在此示例中,假定使用基于检查点的复制将数据集从第一存储系统复制到第二存储系统。
举例来说,第一存储系统可向第二存储系统发送第一检查点(在时间t=
0),接着是对数据集的第一组更新,接着是第二检查点(时间t=
1),接着是对数据集的第二组更新,接着是第三检查点(时间t=
2)。
在此示例中,如果第二存储系统已执行第一组更新中的所有更新但尚未执行第二组更新中所有更新,那么存储于第二存储系统上的数据集的副本可为最新直到第二检查点。
替代地,如果第二存储系统已执行第一组更新及第二组更新中的所有更新,那么存储于第二存储系统上的数据集的副本可为最新直到第三检查点。
读者将认识到,可使用各种类型的检查点(例如仅元数据检查点),检查点可基于各种因素(例如时间、操作的数目、rpo设置)分布,等等。
276.在其它实施例中,可通过基于快照的复制(也称为

异步复制’)来复制数据集。
在基于快照的复制中,数据集的快照可从复制源(例如第一存储系统)发送到复制目标(例如第二存储系统)。
在此实施例中,每一快照可包含整个数据集或数据集的子集,例如(举例来说)仅数据集的自最后快照从复制源发送到复制目标以来已经改变的部分。
读者将了解,快照可基于将各种因素(例如时间、操作的数目、rpo设置)考虑在内的策略或以某其种它方式按需发送。
277.上文描述的存储系统可单独或以组合经配置为用作连续数据保护存储。
连续数据保护存储是存储系统的特征,其以一方式记录数据集的更新,使得可以低时间粒度(通常近似几秒或甚至更少)存取数据集的先前内容的一致映像,并将其向后延伸合理的时间段(通常是数小时或数天)。
这些允许存取数据集的最近一致时间点,且还允许存取可能刚刚发生了某事件(例如,致使数据集的部分损坏或以其它方式丢失)的数据集的时间点,同时保持接近于那个事件之前的最大数目的更新。
在概念上,它们就像非常频繁地拍摄且被保持很长时间段的数据集的快照序列,但连续数据保护存储通常实施为与快照相当不同。
实施数据连续数据保护存储的存储系统还可进一步提供存取这些时间点、将这些时间点中的一或多者作为快照或克隆副本存取或将数据集恢复回到这些记录的时间点中的一者的手段。
278.随着时间的推移,为了减少开销,连续数据保护存储中保持的一些时间点可与附近其它时间点合并,从而基本上从存储删除这些时间点中的一些。
这可减少存储更新所需的容量。
还可将有限数目的这些时间点转换成更长持续时间的快照。
举例来说,此存储可保持从目前追溯几小时的低粒度的时间点序列,其中合并或删除一些时间点以减少额外一天的开销。
追溯到更久远的过去,这些时间点中的一些可经转换为表示来自仅每几小时的一致时间点映像的快照。
279.尽管一些实施例主要在存储系统的上下文中描述,但所属领域的技术人员将认识到,本公开的实施例还可采取安置于计算机可读存储媒体上以与任何合适处理系统一起使
用的计算机程序产品的形式。
此类计算机可读存储媒体可为用于机器可读信息的任何存储媒体,包含磁性媒体、光学媒体、固态媒体或其它合适媒体。
此类媒体的示例包含硬盘驱动器或软磁盘中的磁盘、光学驱动器的光盘、磁带及如所属领域的技术人员将想到的其它者。
所属领域的技术人员将立即认识到,具有合适编程构件的任何计算机系统将能够执行本文中描述的如体现于计算机程序产品中的步骤。
所属领域的技术人员还将认识到,尽管本说明书中描述的一些实施例面向安装且执行于计算机硬件上的软件,然而,实施为固件或硬件的替代性实施例也在本公开的范围内。
280.在一些示例中,可根据本文中描述的原理提供存储计算机可读指令的非暂时性计算机可读媒体。
指令在由计算装置的处理器执行时可引导处理器及/或计算装置执行一或多个操作,包含本文中描述的操作中的一或多者。
可使用各种已知计算机可读媒体中的任何者来存储及/或传输此类指令。
281.本文中所涉及的非暂时性计算机可读媒体可包含参与提供可由计算装置(例如,由计算装置的处理器)读取及/或执行的数据(例如指令)的任何非暂时性存储媒体。
举例来说,非暂时性计算机可读媒体可包含但不限于非易失性存储媒体及/或易失性存储器媒体的任何组合。
示范性非易失性存储媒体包含但不限于只读存储器、快闪存储器、固态驱动器、磁性存储装置(例如硬盘、软盘、磁带等)、铁电随机存取存储器(“ram”)及光盘(例如光盘、数字视频光盘、蓝光光盘等)。
示范性易失性存储媒体包含但不限于ram(例如动态ram)。
282.为了进一步解释,图4陈述根据本公开的一些实施例的包含用于交付存储服务的边缘管理服务
382的框图。
图4中描绘的示例类似于图4中描绘的示例,因为图4中描绘的示例也包含一或多个存储系统
374a、374n以及一或多个主机装置
378a、378n。
283.图4中描绘的示例还包含可经由管理员接口
402存取边缘管理服务
382的管理员
404。
管理员接口
402可体现例如为允许管理员
404选择将由边缘管理服务
382及底层存储系统
374a、374n提供的某些服务的用户接口。
在此示例中,管理员
404可经由管理员接口
402与边缘管理服务
382之间的网关
406(例如虚拟私密网络)通过管理员接口
402向边缘管理服务
382请求服务。
在此特定示例中,管理员接口
402由云
408计算环境(例如公共云、私密云)中的资源提供,而边缘管理服务
382及存储系统
374a、374b本地部署
410定位例如于特定客户的数据中心中。
284.为了进一步解释,图5陈述示出根据本公开的一些实施例的交付存储服务的示例方法的流程图。
图5中示出的方法可至少部分由边缘管理服务
382实行。
例如,边缘管理服务
382可体现为在例如虚拟机的虚拟化计算机硬件上执行的计算机程序指令、用容器执行的计算机程序指令或以某其它方式体现。
在此示例中,一或多个数据服务模块可在例如亚马逊awstm、微软azuretm等等的公共云环境中执行。
替代地,边缘管理服务
382可在私密云环境中、在混合云环境中、在如将在数据中心中找到的专用硬件及软件上或在某其它环境中执行。
285.边缘管理服务
382可经配置以向用户呈现一或多个可用数据服务、接收对一或多个选定数据服务的选择及至少辅助进行取决于一或多个选定数据服务将一或多个数据服务策略应用于与用户相关联的数据集的过程,如下文将更详细描述。
此外,边缘管理服务
382可经配置以执行其它步骤,如下文将更详细描述。
以此方式,边缘管理服务
382可基本上充当例如一或多个存储系统(包含例如上文描述的存储系统以及其变体)的物理装置的网
关、一或多个联网装置、一或多个处理装置及可驱动此类装置的操作以便交付大量存储服务的其它装置。
286.图5中描绘的示例方法包含向用户呈现
502一或多个可用数据服务。
一或多个可用数据服务可体现为可被提供给数据服务的消费者(即用户)以管理与数据服务的消费者相关联的数据的服务。
数据服务可应用于各种形式的数据,包含例如应用于文件系统中的一或多个文件、一或多个对象、共同形成数据集的一或多个数据块、共同形成卷的一或多个数据块、多个卷等等。
数据服务可应用于用户选择的数据集,或替代地,可应用于基于一或多个策略或启发法选择的一些数据。
举例来说,数据集中的一些数据(例如,具有个人可识别信息的数据)可具有应用于其的一组数据服务,而同一数据集中的其它数据(例如,不具有个人可识别信息的数据)可具有应用于其的不同组的数据服务。
287.作为可呈现
502给用户的可用数据服务的说明性示例,数据服务可被呈现
502给与不同级别的数据保护相关联的用户。
举例来说,数据服务可被呈现给用户,当被选择及强制执行时,向用户保证与那个用户相关联的数据将受到保护使得可保证各个恢复点目标(‘rpo’)。
第一可用数据服务可确保例如与用户相关联的某个数据集将受到保护,使得超过5秒的任何数据都可在主要数据存储发生故障的事件中恢复,而第二可用数据服务可确保与用户相关联的数据集将受到保护,使得超过5分钟的任何数据都可在主要数据存储发生故障的事件中恢复。
读者将了解,这仅仅是可呈现
502给用户的可用数据服务的一个示例。
可呈现
502给用户的额外可用数据服务将在下文更详细描述。
288.图5中描绘的示例方法还包含接收
504对一或多个选定数据服务的选择。
一或多个选定数据服务可表示选自所有可用数据服务组的用户想要应用于与用户相关联的特定数据集的数据服务。
继续上文描述的其中在主要数据存储发生故障的事件中,第一可用数据服务可确保与用户相关联的某个数据集将受到保护,使得超过5秒的任何数据都可在主要数据存储发生故障的事件中恢复,而第二可用数据服务可确保与用户相关联的数据集将受到保护,使得超过5分钟的任何数据都可在主要数据存储发生故障的事件中恢复的示例,用户可在主要数据存储发生故障的事件中选择第一可用数据服务来最小化数据丢失。
然而,读者将了解,第一可用数据服务的货币成本可高于第二可用数据服务的货币成本,使得用户可权衡这些成本差异并选定最适合其应用程序、数据等等的数据服务。
可例如作为由用户选择的性能层阶的部分经由gui或以某其它方式接收
504被呈现给用户的用户对一或多个选定数据服务的选择。
289.图5中描绘的示例方法还包含取决于一或多个选定数据服务将一或多个数据服务策略应用
506于与用户相关联的数据集。
例如,一或多个数据服务策略可体现为在被强制执行或实施时会致使相关联数据服务被提供的一或多个规则。
继续上文描述的其中用户选择第一可用数据服务来确保与用户相关联的某数据集将受到保护使得超过5秒的任何数据可在主要数据存储发生故障的事件中进行恢复的示例,可应用
506的一或多个数据服务策略可包含例如致使用户数据集的快照每5秒被拍摄一次且被发送到一或多个备份存储系统的策略。
以此方式,即使主要数据存储发生故障或以其它方式变得不可用,快照将在故障发生前不超过5秒被拍摄,且此快照可从一或多个备份存储系统进行恢复。
在其它示例中,可应用
506其它数据服务策略以重放致使数据集被修改的i/o事件以便提供相关联的选定数据服务,或可应用
506致使相关联的选定数据服务被提供的一些其它数据服务策略。
290.读者将了解,在一些实施例中,在一或多个数据服务模块可经配置以向用户呈现
502一或多个可用数据服务及接收
504对一或多个选定数据服务的选择的情况下,一或多个数据服务模块可不负责将一或多个数据服务策略应用
506于与用户相关联的数据集。
代替地,一或多个数据服务模块可指示(经由一或多个api、经由一或多个消息或以某其它方式)某其它实体将一或多个数据服务策略应用
506于与用户相关联的数据集。
举例来说,一或多个数据服务模块可利用由存储系统提供的api致使存储系统实行上文所描述的备份操作以便提供上文描述的第一可用数据服务,其中与用户相关联的数据集将受到保护使得超过5秒的任何数据可在主要数据存储发生故障的事件中进行恢复。
291.读者将了解,由用户选择的许多数据服务可被呈现
502给用户,且最终导致一或多个数据服务策略被应用
506于与用户相关联的数据集,取决于由用户选择的一或多个数据服务。
上文包含可使其可用的数据服务的非详尽列表,但读者将了解,可使根据本公开的一些实施例的额外数据服务可用。
292.在图5中描绘的示例方法中,将一或多个数据服务策略应用
506于与用户相关联的数据集可包含识别
508数据集的初始放置。
例如,数据集的初始放置可体现为最初被识别为数据集应被存储于其上的存储系统的一或多个存储系统。
识别
508数据集的初始放置可例如通过识别具有支持数据集所需的必要资源的所有存储系统(或其组合)来实行。
举例来说,仅那些具有足够的容量(例如,用mb、gb、tb等来表示)来存储数据集的存储系统可被选择为用于存储数据集的候选者,仅那些具有足够的性能容量(例如,对于可支持的数据集来说,用iops来表示)来服务于数据集的存储系统可被选择为用于存储数据集的候选者,或仅那些具有某其它形式的足够的能力(例如,加密数据的能力、文件系统支持、块存储支持、满足某些可用性要求的能力)来存储数据集的存储系统可被选择为用于存储数据集的候选者。
实际上,许多准则可包含到关于特定存储系统是否是用于存储数据集的候选者的确定中。
在此类实施例中,每一数据集可与描述与数据集相关联的可用于评估特定存储系统(或存储系统的特定组合)是否是用于存储数据集的候选者的各种要求的元数据成对。
293.在此示例中,一旦一或多个存储系统已被识别为用于存储数据集的候选者,就可评估候选者中的每一者以基于一些准则识别最佳拟合。
举例来说,可将可以最低成本存储数据集的存储系统识别
508为用以存储数据集的存储系统。
实际上,关于哪一存储系统应被识别
508为用以存储数据集的存储系统的确定可基于多个准则。
此类准则可包含例如成本、每一候选存储系统中可用的资源量、将由存取数据集的实体经历的性能(例如,读取延时、写入延时)及许多其它者。
在一些实施例中,可产生每一候选存储系统的分数,其识别候选存储系统可满足与存储数据集相关联的所有需求或要求的程度,使得最佳拟合存储系统可被识别
508为用以存储数据集的存储系统。
294.在图5中描绘的示例方法中,将一或多个数据服务策略应用
506于与用户相关联的数据集可包含迁移
510数据集。
相对于上述其中数据集的初始放置被识别
508的示例,迁移
510数据集可响应于检测到整个存储环境的某改变已导致数据集的当前放置不再是数据集的足够或最优放置而实行。
举例来说,由于新工作负载被添加到存储环境(例如,额外数据集已被存储于存储系统中)、由于现存工作负载的增长或收缩、由于存储资源出现故障、由于存储资源被添加到存储环境、由于一或多个存储资源升级、由于用于存取存储环境发生改变的联网资源(例如,添加交换机、移除交换机)且因许多其它原因,整个存储环境可能已
经发生改变。
一般来说,由于底层硬件的改变或利用存储环境的方式的改变,整个存储环境可能已经发生改变。
295.在此示例中,可通过确定数据集的当前放置不再足够或最优来实行迁移
510数据集。
此确定可例如通过定期识别用于存储数据集的一或多个候选存储系统及评估每一候选者以识别候选者当中的最佳拟合来进行。
在此示例中,确定可因此以经调度方式定期进行。
在替代实施例中,某事件的发生可触发此过程。
举例来说,如果对存储数据集的特定存储系统的容量利用达到阈值,那么用于存储数据集的一或多个候选存储系统可被识别且经评估以识别候选者当中的最佳拟合。
同样地,如果从整个存储环境添加或移除一或多个存储资源,那么用于存储数据集的一或多个候选存储系统可被识别且经评估以识别候选者当中的最佳拟合。
296.在此处描述的示例中,当确定是否迁移
510数据集时,可将与迁移数据集相关联的成本或影响考虑在内。
举例来说,如果迁移
510特定数据集将导致相对较次的好处但与迁移
510数据集相关联的成本是实质的,那么可能不允许迁移发生。
同样地,如果迁移
510特定数据集将导致数据集的较佳拟合,但将对服务于其它数据集的能力产生实质伤害,那么可能不允许迁移发生。
297.在图5中描绘的示例方法中,将一或多个数据服务策略应用
506于与用户相关联的数据集可包含在一或多个存储系统上预置
512资源。
在一或多个存储系统上预置
512资源可例如通过发起创建一或多个卷来存储通过由存储资源中的一或多者暴露的api设置的数据集、发起创建一或多个文件系统来存储通过由存储资源中的一或多者暴露的api设置的数据集等等来实行。
在此示例中,在一或多个存储系统上预置
512资源还可包含保留存储系统的资源的容量、i/o带宽或某其它方面以便能够强制执行服务级协议或类似性能要求。
298.尽管上述示例涉及其中资源从一或多个存储系统预置
512(或保留)的实施例,但在其它实施例中,也可预置或保留用户存取其数据所需的其它形式的资源。
举例来说,可预置或保留联网资源,可预置或保留监测资源,可预置或保留计算资源,可预置或保留管理资源等等。
299.在图5中描绘的示例方法中,将一或多个数据服务策略应用
506于与用户相关联的数据集可包含为一或多个存储系统设置
514一或多个可调项。
例如,每一可调项可体现为配置参数、操作参数或影响一或多个存储系统的操作的其它参数。
举例来说,如果可调参数用于确定特定数据集的快照被拍摄的频率,那么所述可调参数可经设置
514以强制执行数据集的所期望rpo。
同样地,如果可调参数用于确定端到端加密是否应被强制执行以用于存取特定数据集,那么所述可调参数可经设置
514以启用或停用对数据集的端到端加密(其中端到端加密意味着数据在存储于存储系统中时被加密且数据经由网络加密传送作为数据集存取的部分,通常在静止及传输时用不同的加密密钥)。
在此示例中,为一或多个存储系统设置
514一或多个可调项可通过使用从存储系统暴露且暴露给边缘管理服务
382的一或多个api来实行。
300.在图5中描绘的示例方法中,将一或多个数据服务策略应用
506于与用户相关联的数据集可包含修改
516一或多个存储系统的一或多个可调项。
虽然上文描述的示例涉及其中一或多个可调项被设置
514的实施例,但在一些实施例中,可发生使修改
516可调项成为必要的改变。
此类改变可包含例如整个存储环境的改变(例如,硬件改变、工作负载改变)、与特定数据集相关联的要求的改变、用户已选择的服务组的改变等等。
在此示例中,修改
516可调项可通过边缘管理服务
382确定某可调项应被调整及通过可用于边缘管理服务
382的一或多个api改变此可调项来实行。
301.在图5中描绘的示例方法中,将一或多个数据服务策略应用
506于与用户相关联的数据集可包含对一或多个存储系统执行
516一或多个队管理操作。
队管理操作可包含例如重新平衡存储系统当中的数据集及工作负载、更新或声级存储系统中的一或多者上的软件等等。
举例来说,可评估工作负载可被如何分布的排列以找到将以整体优化的方式满足与每一数据集相关联的不同要求的不同排列(例如,数据集1存储于存储系统1上及数据集2存储于存储系统2上对数据集1存储于存储系统2上及数据集2存储于存储系统1上)。
举例来说,如果数据集的第一布置将导致少于数据集的第二布置的容量消耗(例如,通过改进的数据去重复),那么在其中分布经优化以节省容量的实施例中,执行
516队管理操作可包含根据第一布置放置数据集。
在其它实施例中,数据集可以针对其它(包含多个)考虑优化的方式进行放置。
302.在图5中描绘的示例方法中,将一或多个数据服务策略应用
506于与用户相关联的数据集可包含响应于存取数据集的请求修改
518将发送到主机装置的数据。
响应于存取数据集的请求修改
518将发送到主机装置的数据可例如通过边缘管理服务
382遮蔽或移除pii以遵守pii不与数据集的存取器共享的要求、通过加密/解密数据以强制执行数据集使用端到端解密进行存取及存储的要求等等来实行。
在此示例中,响应于存取数据集的请求修改
518将发送到主机装置的数据可由边缘管理服务
382执行以将一些要求从底层存储系统卸载及代替地利用边缘管理服务
382执行交付特定服务所需的任务中的一些。
303.在图5中描绘的示例方法中,将一或多个数据服务策略应用
506于与用户相关联的数据集可包含将一或多个策略附加
520
到数据集。
在此示例中,将一或多个策略附加
520
到数据集可通过边缘管理服务
382添加或修改与数据集相关联的元数据来实行,其中此元数据由存储系统用于确定哪些策略将应用于数据集。
举例来说,特定元数据字段中的第一值可指示数据集是应被同步复制还是被异步复制。
304.在图5中描绘的示例方法中,将一或多个数据服务策略应用
506于与用户相关联的数据集可包含强制执行
522与数据集相关联的一或多个策略。
虽然上文描述的实施例涉及其中边缘管理服务
382仅向存储系统(或其它资源)通知应被附加
520
到数据集的策略的实施方案,但在此示例中,边缘管理服务
382本身可(至少部分)负责强制执行
522与数据集相关联的一或多个策略。
举例来说,如果策略规定当存取数据集时仅加密数据才应从存储系统传递到主机装置,那么边缘管理服务
382实际上可加密数据以便强制执行
522此策略。
305.读者将了解,尽管上文描述的实施例涉及其中一或多个可用存储服务被呈现给用户、对一或多个选定存储服务的选择被接收及与用户相关联的数据集的一或多个存储服务策略取决于一或多个选定存储服务进行应用的实施例,但在其它实施例中,存储类(而非服务)可以类似方式被呈现且最终被应用。
举例来说,可呈现

高性能’存储类,其最终通过应用与

高性能’存储类相关联的一组预定服务来交付。
同样地,可呈现

高度弹性’存储类,其最终通过应用与

高度弹性’存储类相关联的一组预定服务来交付。
在额外实施例中,被

呈现’且使可用于由用户选择的内容的确切性质可采用其它形式,其全部都可如本文中描述般进行实施及交付。
306.为了进一步解释,图6陈述根据本公开的一些实施例的包含用于存储即服务的角色强制执行的边缘管理服务
382的框图。
图6中描绘的示例类似于图4中描绘的示例,因为图6中描绘的示例也包含网关
406及一或多个存储系统
374a、374n。
图4的主机装置在图6中称为客户端装置
678a、678n。
图6还包含经由网关
406通信地耦合到边缘管理服务
382的额外客户端装置
602。
307.每一客户端装置(经由网关
406,耦合到边缘管理服务
382的客户端装置
678a、678n及耦合到边缘管理服务
382的客户端装置
602)是由存储系统客户端使用的计算系统。
每一客户端装置
678a、678n、602可由指派给存储消费者角色或存储提供商角色的客户端使用或以其它方式在所述客户端的控制下使用。
存储消费者是利用(即,消费)存储系统
374a、374n上的数据存储的客户端。
存储提供商是为存储消费者管理(即,提供)存储及存储服务的客户端。
图6中的边缘管理服务
382在存储即服务系统上强制执行存储消费者及存储提供商角色。
明确来说,图6中的边缘管理服务
382管理存储消费者角色及存储提供商角色、服务于来自存储消费者客户端的数据管理指令且服务于来自存储提供商客户端的存储管理指令。
如上文描述,边缘管理服务
382将存储服务从通信地耦合到边缘管理服务
382的存储系统
374a、374n提供到利用客户端装置
678a、678n、602的客户端。
308.在此特定示例中,边缘管理服务
382及存储系统
374a、374b队
376本地部署
410定位例如于特定客户的数据中心中。
在另一示例中,边缘管理服务
382及网关
406可由在存储系统远程处的云计算环境提供。
如本文中使用,术语“基于云”是指经由数据通信链路(例如上文在图
3a中描述的数据通信链路)远程提供服务的系统或系统集合。
309.网关
406(也称为网络网关)是客户端装置
602通过其与边缘管理服务
382交换信息的硬件、软件或硬件与软件的聚合。
网关
406可向客户端装置
602提供对边缘管理服务
382及存储系统
374a、374n队
376的安全存取。
网关
406可能需要在授予对边缘管理服务
382及存储系统
374a、374n的安全存取之前对客户端装置
602进行授权及认证。
网关
406的示例可包含vpn、网络节点、服务器、网络桥及网络家电。
310.被指派不同角色的客户端可经由不同通信路径与边缘管理服务
382通信。
举例来说,如图6中展示,客户端装置
678a、678n直接与边缘管理服务
382通信。
利用客户端装置
678a、678n的客户端可被指派存储消费者角色且可经由图
3e中展示的存储服务模块与边缘管理服务
382通信。
也如图6中展示,客户端装置
602经由网关
406与边缘管理服务
382通信。
利用客户端装置
602的客户端可被指派存储提供商角色且经由网关存取边缘管理服务
382,从而使客户端
602能执行存储管理指令。
311.如本文中使用,术语“在本地”是指彼此物理接近的实体,例如在同一数据中心内的实体。
边缘管理服务
382及网关
406可在存储系统
374a、374b本地,因为边缘管理服务
382可被代管于与存储系统
374a、374b的硬件组件位于同一物理建筑物内的系统上。
类似地,术语“在远程”及“远程地”是指彼此不物理接近的实体,例如通过广域网(例如因特网)通信的实体。
边缘管理服务
382及网关
406可由在存储系统
374a、374b远程的云环境提供,因为边缘管理服务
382及网关
406可被代管于在容置存储系统
374a、374b的硬件组件的物理建筑物之外的一系统或若干系统上且处于与控制存储系统
374a、374b的硬件组件的实体分离且相异的实体的控制下。
312.尽管下述示例方法被描绘为由边缘管理服务
382执行,但存储即服务方法的角色
强制执行可由系统内的与边缘管理服务
382分离且相异的其它实体执行。
举例来说,提供存储即服务的强制执行的系统可基于云且在存储系统
374a、374b远程处。
替代地,提供存储即服务的强制执行的系统可本地部署且在存储系统
374a、374b本地。
313.为了进一步解释,图7陈述示出根据本公开的一些实施例的用于存储即服务的角色强制执行的示例方法的流程图。
图7的方法包含管理
702存储系统
374的多个角色,包含存储消费者角色及存储提供商角色,其中所述存储消费者角色与针对所述存储消费者角色启用且针对所述存储提供商角色停用的数据管理指令相关联,且其中所述存储提供商角色与针对所述存储提供商角色启用且针对所述存储消费者角色停用的存储管理指令相关联。
指派给存储消费者角色的客户端能够成功执行指派给存储提供商角色的客户端不可用的一些指令。
类似地,指派给存储提供商角色的客户端能够成功执行指派给存储消费者角色的客户端不可用的一些指令。
边缘管理服务
382强制执行存储消费者及存储提供商角色的这些限制及能力。
与特定角色相关联的客户端是指已被管理实体指派所述角色的客户端。
此外,角色可为互斥的,这意味着在任何给定时间客户端可仅被指派单个角色。
314.管理
702存储系统
374的包含存储消费者角色及存储提供商角色的多个角色可通过强制执行指派给每一客户端的角色及禁止或防止与一个角色相关联的客户端成功执行专属于不同角色的指令来实行。
举例来说,边缘管理服务
382可禁止或防止指派了存储提供商角色的客户端成功执行数据管理指令,例如用以删除数据的指令。
类似地,边缘管理服务
382可禁止或防止指派了存储消费者角色的客户端成功执行存储管理指令,例如用以更改存储系统上的保护策略的指令。
315.图7的方法进一步包含服务于
704来自与存储消费者角色相关联的第一客户端的数据管理指令,其中数据管理指令是用以操纵存储系统
374上的数据的指令。
服务于
704来自与存储消费者角色相关联的第一客户端的数据管理指令,其中数据管理指令是用以操纵存储系统
374上的数据的指令可通过接收数据管理指令、验证指派给发送数据管理指令的客户端的角色是存储消费者角色及使用存储系统
374执行数据管理指令来实行。
如本文中使用,术语“服务于”可指执行指令或引导系统内的其它实体执行接收到的指令。
所述数据管理指令的示例包含数据写入指令、数据读取指令、数据删除指令及存储类实例化指令。
316.图7的方法进一步包含服务于
706来自与存储提供商角色相关联的第二客户端的存储管理指令,其中存储管理指令是用以管理存储系统
374的指令。
服务于
706来自与存储提供商角色相关联的第二客户端的存储管理指令,其中存储管理指令是用以管理存储系统
374的指令可通过接收存储管理指令、验证指派给发送存储管理指令的客户端的角色是存储提供商角色及使用存储系统
374执行存储管理指令来实行。
所述存储管理指令的示例包含区域创建指令、可用性区创建指令、存储类定义指令及保护策略指令。
317.为了进一步解释,图8陈述示出根据本公开的一些实施例的用于存储即服务的角色强制执行的额外示例方法的流程图。
图8中描绘的示例方法类似于图7中描绘的示例方法,因为图8中描绘的示例方法也包含:管理
702存储系统
374的多个角色,包含存储消费者角色及存储提供商角色,其中所述存储消费者角色与针对所述存储消费者角色启用且针对所述存储提供商角色停用的数据管理指令相关联,且其中所述存储提供商角色与针对所述存储提供商角色启用且针对所述存储消费者角色停用的存储管理指令相关联;服务于
704来自与存储消费者角色相关联的第一客户端的数据管理指令,其中所述数据管理指令是用
以操纵所述存储系统
374上的数据的指令;及服务于
706来自与所述存储提供商角色相关联的第二客户端的存储管理指令,其中所述存储管理指令是用以管理所述存储系统
374的指令。
318.在图8中描绘的示例方法中,服务于
704来自与存储消费者角色相关联的第一客户端的数据管理指令,其中所述数据管理指令是用以操纵所述存储系统
374上的数据的指令包含服务于
802来自与存储消费者角色相关联的第一客户端的删除指令。
明确来说,用以操纵数据的指令可为用以将数据从存储系统
374删除的指令。
服务于
802来自与存储消费者角色相关联的第一客户端的删除指令可通过定位以删除指令为目标的数据及标记那些数据用于废弃项目收集来实行。
可防止或禁止指派给存储提供商角色的客户端将数据从存储系统删除。
319.为了进一步解释,图9陈述示出根据本公开的一些实施例的用于存储即服务的角色强制执行的额外示例方法的流程图。
图9中描绘的示例方法类似于图7中描绘的示例方法,因为图9中描绘的示例方法也包含:管理
702存储系统
374的多个角色,包含存储消费者角色及存储提供商角色,其中所述存储消费者角色与针对所述存储消费者角色启用且针对所述存储提供商角色停用的数据管理指令相关联,且其中所述存储提供商角色与针对所述存储提供商角色启用且针对所述存储消费者角色停用的存储管理指令相关联;服务于
704来自与存储消费者角色相关联的第一客户端的数据管理指令,其中所述数据管理指令是用以操纵所述存储系统
374上的数据的指令;及服务于
706来自与所述存储提供商角色相关联的第二客户端的存储管理指令,其中所述存储管理指令是用以管理所述存储系统
374的指令。
320.在图9中描绘的示例方法中,服务于
706来自与所述存储提供商角色相关联的第二客户端的存储管理指令,其中所述存储管理指令是用以管理所述存储系统
374的指令包含服务于
902来自与存储提供商角色相关联的第二客户端的用以更改存储系统
374上的保护策略的指令。
明确来说,用以管理存储系统
374的指令可为用以更改存储系统
374上的保护策略的指令。
服务于
902来自与存储提供商角色相关联的第二客户端的用以更改存储系统
374上的保护策略的指令可通过存取存储系统上保护策略的元素(例如数据集)及基于所述指令调整保护策略来实行。
可防止或禁止指派给存储消费者角色的客户端更改存储系统
374上的保护策略。
321.为了进一步解释,图
10陈述示出根据本公开的一些实施例的用于存储即服务的角色强制执行的额外示例方法的流程图。

10中描绘的示例方法类似于图7中描绘的示例方法,因为图
10中描绘的示例方法也包含:管理
702存储系统
374的多个角色,包含存储消费者角色及存储提供商角色,其中所述存储消费者角色与针对所述存储消费者角色启用且针对所述存储提供商角色停用的数据管理指令相关联,且其中所述存储提供商角色与针对所述存储提供商角色启用且针对所述存储消费者角色停用的存储管理指令相关联;服务于
704来自与存储消费者角色相关联的第一客户端的数据管理指令,其中所述数据管理指令是用以操纵所述存储系统
374上的数据的指令;及服务于
706来自与所述存储提供商角色相关联的第二客户端的存储管理指令,其中所述存储管理指令是用以管理所述存储系统
374的指令。
322.在图
10中描绘的示例方法中,服务于
704来自与存储消费者角色相关联的第一客
户端的数据管理指令,其中所述数据管理指令是用以操纵存储系统
374上的数据的指令包含:由边缘管理服务
382从所述第一客户端接收
1002所述数据管理指令,其中所述边缘管理服务
382将存储服务从所述存储系统
374提供到客户端;及由所述边缘管理服务
382验证
1004与所述第一客户端相关联的所述角色是所述存储消费者角色。
由边缘管理服务
382从第一客户端接收
1002数据管理指令,其中所述边缘管理服务
382将存储服务从所述存储系统
374提供到客户端可通过第一客户端经由存储服务模块存取边缘管理服务
382及将所述数据管理指令提交给边缘管理服务
382来实行。
指派给客户端的角色可规定客户端以其存取存储系统及/或边缘管理服务
382的方式。
被指派存储消费者角色的客户端可经由边缘管理服务
382及存储服务模块存取存储系统。
指派给存储消费者角色的第一客户端在将指令提交给存储系统
374及/或边缘管理服务
382时可绕过网关。
323.由边缘管理服务
382验证
1004与第一客户端相关联的角色是存储消费者角色可通过确定指派给第一客户端的角色及将指派给第一客户端的角色与成功执行接收到的数据管理指令必需的角色作比较来实行。
如果指派给第一客户端的角色与成功执行接收到的数据管理指令必须的角色匹配,那么边缘管理服务
382可执行数据管理指令。
324.为了进一步解释,图
11陈述示出根据本公开的一些实施例的用于存储即服务的角色强制执行的额外示例方法的流程图。

11中描绘的示例方法类似于图7中描绘的示例方法,因为图
11中描绘的示例方法也包含:管理
702存储系统
374的多个角色,包含存储消费者角色及存储提供商角色,其中所述存储消费者角色与针对所述存储消费者角色启用且针对所述存储提供商角色停用的数据管理指令相关联,且其中所述存储提供商角色与针对所述存储提供商角色启用且针对所述存储消费者角色停用的存储管理指令相关联;服务于
704来自与存储消费者角色相关联的第一客户端的数据管理指令,其中所述数据管理指令是用以操纵所述存储系统
374上的数据的指令;及服务于
706来自与所述存储提供商角色相关联的第二客户端的存储管理指令,其中所述存储管理指令是用以管理所述存储系统
374的指令。
325.在图
11中描绘的示例方法中,服务于
706来自与所述存储提供商角色相关联的第二客户端的存储管理指令,其中所述存储管理指令是用以管理所述存储系统
374的指令包含:由边缘管理服务
382经由网关
406从所述第二客户端接收
1102所述存储管理指令,其中所述边缘管理服务
382将存储服务从所述存储系统
374提供到客户端,且其中所述网关
406向所述第二客户端提供对所述边缘管理服务
382的存取;及由所述边缘管理服务
382验证
1104与所述第二客户端相关联的所述角色是所述存储提供商角色。
由边缘管理服务
382经由网关
406从所述第二客户端接收
1102所述存储管理指令,其中所述边缘管理服务
382将存储服务从所述存储系统
374提供到客户端,且其中所述网关
406向所述第二客户端提供对所述边缘管理服务
382的存取可通过第二客户端通过提交凭据获得对网关的存取或依赖将被授予对包含边缘管理服务
382的通信网络的存取的某其它认证技术来实行。
第二客户端可接着将存储管理指令提交给边缘管理服务
382。
如上文论述,指派给客户端的角色可规定客户端以其存取存储系统及/或边缘管理服务
382的方式。
被指派存储提供商角色的客户端可经由网关存取存储系统及/或边缘管理服务
382。
明确来说,客户端装置
602可获得对网关的授权存取及经由耦合到网关
406的通信网络存取边缘管理服务
382及存储系统队。
326.由边缘管理服务
382验证
1104与第二客户端相关联的角色是存储提供商角色可通
过确定指派给第二客户端的角色及将指派给第二客户端的角色与成功执行接收到的存储管理指令必需的角色作比较来实行。
如果指派给第二客户端的角色与成功执行接收到的数据管理指令必须的角色匹配,那么边缘管理服务
382可执行存储管理指令。
327.为了进一步解释,图
12陈述示出根据本公开的一些实施例的用于存储即服务的角色强制执行的额外示例方法的流程图。

12中描绘的示例方法类似于图7中描绘的示例方法,因为图
12中描绘的示例方法也包含:管理
702存储系统
374的多个角色,包含存储消费者角色及存储提供商角色,其中所述存储消费者角色与针对所述存储消费者角色启用且针对所述存储提供商角色停用的数据管理指令相关联,且其中所述存储提供商角色与针对所述存储提供商角色启用且针对所述存储消费者角色停用的存储管理指令相关联;服务于
704来自与存储消费者角色相关联的第一客户端的数据管理指令,其中所述数据管理指令是用以操纵所述存储系统
374上的数据的指令;及服务于
706来自与所述存储提供商角色相关联的第二客户端的存储管理指令,其中所述存储管理指令是用以管理所述存储系统
374的指令。
328.在图
12中描绘的示例方法中,服务于
706来自与所述存储提供商角色相关联的第二客户端的存储管理指令,其中所述存储管理指令是用以管理所述存储系统
374的指令包含服务于
1202来自与存储提供商角色相关联的第二客户端的用以实施应用于存储系统
374上的数据集的存储服务的指令。
服务于
1202来自与存储提供商角色相关联的第二客户端的用以实施应用于存储系统
374上的数据集的存储服务的指令可通过边缘管理服务
382从被指派被授权请求及实施一或多个存储服务的角色的客户端接收指令来实行,如上文关于图
3e描述。
明确来说,指派给存储提供商角色的客户端可选择不同级别的数据保护服务、数据合规服务、高可用性存储服务、灾难恢复服务、数据归档服务、qos存储服务、数据保护服务、虚拟化管理服务、队管理服务、成本优化服务、工作负载放置服务、动态扩展服务、性能优化服务、网络连接服务、数据分析服务、数据可移植性服务、升级管理服务、数据安全服务、融合系统管理服务及应用程序开发服务。
可防止或禁止指派给存储消费者角色的客户端实施上文描述的存储服务中的一或多者。
329.为了进一步解释,图
13陈述示出根据本公开的一些实施例的用于存储即服务的角色强制执行的额外示例方法的流程图。

13中描绘的示例方法类似于图7中描绘的示例方法,因为图
13中描绘的示例方法也包含:管理
702存储系统
374的多个角色,包含存储消费者角色及存储提供商角色,其中所述存储消费者角色与针对所述存储消费者角色启用且针对所述存储提供商角色停用的数据管理指令相关联,且其中所述存储提供商角色与针对所述存储提供商角色启用且针对所述存储消费者角色停用的存储管理指令相关联;服务于
704来自与存储消费者角色相关联的第一客户端的数据管理指令,其中所述数据管理指令是用以操纵所述存储系统
374上的数据的指令;及服务于
706来自与所述存储提供商角色相关联的第二客户端的存储管理指令,其中所述存储管理指令是用以管理所述存储系统
374的指令。
330.在图
13中描绘的示例方法中,服务于
706来自与所述存储提供商角色相关联的第二客户端的存储管理指令,其中所述存储管理指令是用以管理所述存储系统
374的指令包含服务于
1302来自与存储提供商角色相关联的第二客户端的对描述存储系统性能的度量的请求。
服务于
1302来自与存储提供商角色相关联的第二客户端的对描述存储系统性能的
度量的请求可通过配置存储系统
374及/或边缘管理服务
382以将所述度量及描述存储系统性能的其它日志传输到一或多个外部评估系统来实行。
指派给存储提供商角色(或另一角色)的客户端可请求由存储系统
374、边缘管理服务
382或队内其它元件产生的日志及其它度量或被提供对所述日志及其它度量的存取。
日志及其它度量可为引导到另一本地部署或基于云的评估系统用于监测、评估及组织的数据流。
此评估系统可经专门配置以解析由存储系统
374、边缘管理服务
382或队内其它元件产生的特定数据流。
数据流可通过暴露可由评估系统用于从存储系统
374、边缘管理服务
382或队内其它元件检索数据流的一组api来提供。
客户端可接着使用评估系统检视组织的数据流。
一旦数据流被评估系统捕获,客户端就可接着创建数据的各种组织以及基于传入数据流的警报。
客户端可接着创建从其监测存储系统
374的操作的仪表盘。
331.本公开的优点及特征可由以下陈述进一步描述:
332.1.一种方法、设备或产品,其用于针对存储系统管理多个角色,包含存储消费者角色及存储提供商角色,其中所述存储消费者角色与针对所述存储消费者角色启用且针对所述存储提供商角色停用的数据管理指令相关联,且其中所述存储提供商角色与针对所述存储提供商角色启用且针对所述存储消费者角色停用的存储管理指令相关联;服务于来自与存储消费者角色相关联的第一客户端的数据管理指令,其中所述数据管理指令是用以操纵所述存储系统上的数据的指令;及服务于来自与所述存储提供商角色相关联的第二客户端的存储管理指令,其中所述存储管理指令是用以管理所述存储系统的指令。
333.2.根据陈述1所述的方法、设备或产品,其中服务于来自与存储消费者角色相关联的所述第一客户端的所述数据管理指令,其中所述数据管理指令是用以操纵所述存储系统上的数据的指令包括服务于来自与所述存储消费者角色相关联的所述第一客户端的删除指令。
334.3.根据陈述2或陈述1所述的方法、设备或产品,其中服务于来自与所述存储提供商角色相关联的所述第二客户端的所述存储管理指令,其中所述存储管理指令是用以管理所述存储系统的指令包括服务于来自与所述存储提供商角色相关联的所述第二客户端的用以更改所述存储系统上的保护策略的指令。
335.4.根据陈述
3、陈述2或陈述1所述的方法、设备或产品,其中所述存储系统通信地耦合到将存储服务从所述存储系统提供到客户端的边缘管理服务。
336.5.根据陈述
4、陈述
3、陈述2或陈述1所述的方法、设备或产品,其中服务于来自与存储消费者角色相关联的所述第一客户端的所述数据管理指令,其中所述数据管理指令是用以操纵所述存储系统上的数据的指令包括:由边缘管理服务从所述第一客户端接收所述数据管理指令,其中所述边缘管理服务将存储服务从所述存储系统提供到客户端;及由所述边缘管理服务验证与所述第一客户端相关联的所述角色是所述存储消费者角色。
337.6.根据陈述
5、陈述
4、陈述
3、陈述2或陈述1所述的方法、设备或产品,其中服务于来自与所述存储提供商角色相关联的所述第二客户端的所述存储管理指令,其中所述存储管理指令是用以管理所述存储系统的指令包括:由边缘管理服务经由网关从所述第二客户端接收所述存储管理指令,其中所述边缘管理服务将存储服务从所述存储系统提供到客户端,且其中所述网关向所述第二客户端提供对所述边缘管理服务的存取;及由所述边缘管理服务验证与所述第二客户端相关联的所述角色是所述存储提供商角色。
338.7.根据陈述
6、陈述
5、陈述
4、陈述
3、陈述2或陈述1所述的方法、设备或产品,其中所述数据管理指令包括数据写入指令、数据读取指令、数据删除指令及存储类实例化指令。
339.8.根据陈述
7、陈述
6、陈述
5、陈述
4、陈述
3、陈述2或陈述1所述的方法、设备或产品,其中所述存储管理指令包括区域创建指令、可用性区创建指令、存储类定义指令及保护策略指令。
340.9.根据陈述
8、陈述
7、陈述
6、陈述
5、陈述
4、陈述
3、陈述2或陈述1所述的方法、设备或产品,其中服务于来自与所述存储提供商角色相关联的所述第二客户端的所述存储管理指令,其中所述存储管理指令是用以管理所述存储系统的指令包括服务于来自与所述存储提供商角色相关联的所述第二客户端的用以实施应用于所述存储系统上的数据集的存储服务的指令。
341.10.根据陈述
9、陈述
8、陈述
7、陈述
6、陈述
5、陈述
4、陈述
3、陈述2或陈述1所述的方法、设备或产品,其中服务于来自与所述存储提供商角色相关联的所述第二客户端的所述存储管理指令,其中所述存储管理指令是用以管理所述存储系统的指令包括服务于来自与所述存储提供商角色相关联的所述第二客户端的对描述存储系统性能的度量的请求。
342.在本文中可在说明指定功能的性能及其关系的方法步骤的帮助下描述一或多个实施例。
本文中为了便于描述,任意地界定了这些功能构建块及方法步骤的边界及序列。
只要指定功能及关系被适当执行,就可界定交替边界及序列。
任何此类交替边界或序列因此在权利要求书的范围及精神内。
此外,为了便于描述,任意地界定了这些功能构建块的边界。
只要某些显著功能被适当执行,就可界定交替边界。
类似地,在本文中也任意地界定了流程图框来示出某显著功能性。
343.在所使用的程度上,可以其它方式界定流程图框边界及序列且其仍执行某显著功能性。
功能构建块及流程图框两者的此类交替界定因此在权利要求书的范围及精神内。
所属领域的技术人员也将认识到,功能构建块及其它说明性框、模块及其中的组件可如示出般或由离散组件、专用集成电路、执行适当软件及类似物的处理器或其任何组合实施。
344.虽然在本文中明确描述了一或多个实施例的各种功能及特征的特定组合,但这些特征及功能的其它组合同样也是可能的。
本公开不受本文中公开的特定示例的限制且明确并入这些其它组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1