存储系统、其存储装置及其操作方法与流程

文档序号:26942859发布日期:2021-10-12 17:15阅读:98来源:国知局
存储系统、其存储装置及其操作方法与流程

1.各种实施例总体上可涉及一种数据处理系统,更具体地,涉及一种存储系统、用于其的存储装置及其操作方法。


背景技术:

2.非易失性存储器快连(nvme)是一种nvm专用协议,其使用外围组件互连快速(pcie)的物理接口。
3.nvme-over fabric(nvme of)是可通过诸如以太网、光纤通道、无限带宽(infiniband)的结构网络将数百或数千个nvme标准存储装置相互连接的技术。
4.随着以存储器为中心的计算装置和用于处理大数据的系统的需求的增加,对更多或附加计算资源、高带宽网络以及高性能和大容量存储装置的需求也在增加。
5.已经进行了各种研究来寻求主机上负担的最小化,诸如通过将操作处理从以存储器为中心的计算装置中的主机转移到存储装置来使存储装置和主机之间的数据移动最小化。


技术实现要素:

6.在本公开的一个实施例中,一种存储系统可包括多个存储装置,它们通过网络耦合至至少一个主机,并且被配置为形成在多个存储装置耦合至网络时生成的虚拟机的虚拟网络,其中多个存储装置中的每一个将存储器资源分配给虚拟机并通过虚拟机共享多个存储装置的装置信息,并且其中主机:从多个存储装置中选择主存储装置,并且将存储池生成条件发送给主存储装置,存储池生成条件标识存储池的数目和每个存储池的容量,其中主存储装置使用分配给每个虚拟机的存储器资源生成满足存储池生成条件的至少一个存储池。
7.在本公开的一个实施例中,通过网络耦合至至少一个主机的存储装置可包括:数据存储装置,被配置为根据控制器的控制来写入和读取数据。其中,控制器包括:网络接口,被配置为将存储装置耦合至网络并与至少一个主机通信;转换器,被配置为在网络接口的通信协议和存储装置的通信协议之间执行转换;存储接口,被配置为在控制器和数据存储装置之间提供通信通道;以及存储虚拟器。存储虚拟器被配置为:将存储器资源分配给在存储装置耦合至网络时生成的至少一个虚拟机;通过至少一个虚拟机共享多个存储装置的装置信息;以及使用分配给至少一个虚拟机的存储器资源,生成由至少一个主机请求的满足存储池的数目和每个存储池的容量的至少一个存储池。
8.在本公开的一个实施例中,一种用于操作包括通过网络耦合至至少一个主机的多个存储装置的存储系统的方法包括:当多个存储装置经由多个存储装置中的每一个耦合至网络时生成至少一个虚拟机,其中多个存储装置形成虚拟机的虚拟网络;经由多个存储装置中的每一个将存储器资源分配给至少一个虚拟机;经由多个存储装置中的每一个,通过虚拟机共享其他存储装置的装置信息;经由主机从多个存储装置中选择主存储装置;以及
of协议可允许在主机110中或由主机110驱动的应用程序以远程直接连接存储(rdas)方式转移(offload)到多个存储装置200-1至200-n中并在其中被处理。
30.参照图2,根据一个实施例的存储系统10可包括至少一个主机110以及通过网络130耦合至至少一个主机110的存储机箱120。
31.网络130可以是结构网络,诸如以太网、光纤通道、无限带宽等。
32.存储机箱120可包括多个存储装置(sd1至sdn)200-1至200-n。在一个实施例中,存储装置200-1至200-n可以是固态驱动器(ssd),例如以太网ssd(essd)。
33.至少一个主机110可设置与存储机箱120中的存储装置200-1至200-n的nvme-of连接。
34.存储机箱120还可以包括网络交换机121、基板管理控制器(bmc)123、bmc交换机125以及耦合或安装到母板或基板的多个存储装置200-1至200-n。
35.网络交换机121可提供多个存储装置200-1至200-n可通过网络130耦合至至少一个主机110的环境。网络交换机121可在内部存储器(未示出)中存储用于标识每个存储装置200-1至200-n的标识符(id)或地址,并且允许每个主机110执行与存储装置200-1至200-n中的特定存储装置的数据交换。
36.网络交换机121可通过上行链路端口以第一速度与主机110通信,并且通过下行链路端口以第二速度与多个存储装置200-1至200-n通信。
37.bmc 123可耦合至网络交换机121,并且被配置为管理存储机箱120中的内部元件。例如,bmc 123可管理多个存储装置200-1至200-n和网络交换机121。在一个实施例中,bmc 123可根据由系统管理员提供的命令,通过设置多个存储装置200-1至200-n和网络交换机121来设置引导和控制路径。bmc 123可检查硬件健康信息(诸如多个存储装置200-1至200-n的连接状态、寿命、温度和日志信息)和/或功耗信息。
38.bmc交换机125可提供多个存储装置200-1至200-n和bmc 123可彼此连接的环境。在一个实施例中,bmc交换机125可包括外围组件互连快连(pcie)交换机。
39.多个存储装置200-1至200-n、将多个存储装置200-1至200-n与主机110耦合的网络交换机121、以及管理多个存储装置200-1至200-n和网络交换机121的bmc 123可一起安装在组成存储机箱120的机箱或壳体中。
40.多个存储装置200-1至200-n可提供高性能和大容量的数据存储解决方案。nvme-of协议可允许在主机110中驱动的应用以远程直接连接存储(rdas)方式转移到多个存储装置200-1至200-n中并在其中进行处理。
41.参照图3,根据一个实施例的存储系统100可包括至少一个主机110以及通过网络130耦合至至少一个主机110的存储机架1200。
42.存储机架1200可包括机架交换机1210和多个存储机箱120-1至120-m。
43.机架交换机1210可被配置为在多个存储机箱120-1至120-m之间提供连接。
44.每个存储机箱120-1至120-m都可具有多个存储装置(诸如essd)利用网络交换机和bmc耦合至或安装在母板上的配置。
45.在一个实施例中,多个存储机箱120-1至120-m中的每一个都可类似于图2所示的存储机箱120来配置。
46.图1至图3的存储系统1、10和/或100的存储装置200-1至200-n可被配置为将多个
存储装置200-1至200-n的装置信息彼此共享,和/或可以是独立于主机110并且不需要来自主机110的干预的存储池的一部分。
47.在一个实施例中,当多个存储装置200-1至200-n被用于存储系统1、10和/或100时,多个存储装置200-1至200-n中的每一个可通过各种方法广播其装置信息。装置信息可以是通过监控存储装置200-1至200-n的硬件信息(例如,物理信息)和软件信息(例如,逻辑信息)由存储装置200-1至200-n收集的信息。硬件信息可包括总存储容量信息、剩余存储容量信息、标识坏块数目的信息、温度信息、寿命信息等中的一个或多个。软件信息可包括忙度(busy degree)、正在处理或处于待机状态的请求的数目、频繁请求的请求模式、读取请求的数据模式等中的一个或多个。
48.在一个实施例中,可使用或经由广播和查询方法来共享装置信息。
49.在广播和查询方法中,当存储装置200-1至200-n被用于存储系统1、10和/或100时,存储装置200-1至200-n中的每一个可发送(例如,广播)相关的装置信息到存储装置200-1至200-n的其他存储装置。存储装置200-1至200-n中接收其他存储装置的装置信息的每一个存储装置可随后将接收到的装置信息存储在该装置内。
50.在一个实施例中,当存储装置200-1至200-n被用于存储系统10或100时,存储装置200-1至200-n可向bmc 123发送(例如,广播)装置信息,并且bmc 123可内部地存储用于存储装置200-1至200-n的装置信息。基于存储在bmc 123中的装置信息和由主机110要求或请求的存储池生成条件,主存储装置可以是存储池的一部分。
51.存储装置200-1至200-n中的每一个可向其他存储装置或bmc123发送与装置相关联的变化装置信息,使得当存储装置的装置信息的变化等于或大于设置阈值时,存储在其他存储装置或bmc 123中的共享装置信息被更新。主存储装置可通过反映存储装置200-1至200-n的最新状态来改变存储池的配置。
52.主机110可选择多个存储装置200-1至200-n中的至少一个作为主存储装置,由此多个存储装置200-1至200-n可包括至少一个主存储装置和其他子存储装置。
53.基于从主机110发送的存储池生成条件、相关联的装置信息以及子存储装置的装置信息,主存储装置可包括用于存储系统1、10或100的多个存储装置200-1至200-n的存储器资源来作为至少一个存储池。在一个实施例中,存储池生成条件可包括存储池的数目和/或存储池的容量。
54.存储装置200-1至200-n可通过存储池内的虚拟网络彼此通信,并且主存储装置和子存储装置可在虚拟网络上相互协作和/或通信以处理从主机110接收的请求。
55.虚拟网络可以是硬件资源到软件的抽象。短语“网络的虚拟或抽象”可包括软件的执行,其执行与直接访问硬件上的实际网络的物理硬件相类似的仿真。虚拟网络可包括通过虚拟网络交换机连接至至少一个物理网络交换机121的至少一个虚拟系统。虚拟网络交换机可以是软件网络交换机,其操作方式与物理网络交换机121相同。
56.主存储装置可构成包括至少一个存储池的虚拟系统,其中抽象出多个存储装置200-1至200-n中包括的硬件资源。因此,主机110可通过主存储装置与至少一个存储池通信,并且存储池的多个存储装置200-1至200-n可以通过虚拟网络彼此通信。
57.在一个实施例中,主机110可发送请求以向主存储装置写入数据和/或从主存储装置读取数据,并且响应于从主机接收到的请求,主存储装置可向主存储装置写入数据或者
从主存储装置读取数据,或者可以通过虚拟网络与子存储装置相互协作来写入或读取数据。
58.在一个实施例中,多个存储装置200-1至200-n可在装置之间分发数据。在多个存储装置200-1至200-n中,需要或请求数据分发的存储装置可被称为“源存储装置”,而从源存储装置接收和存储分发目标数据的存储装置可被称为“目标存储装置”。
59.多个存储装置200-1至200-n中的任何存储装置都可以是源存储装置,以及源存储装置可基于用于除源存储装置之外的剩余存储装置的装置信息选择至少一个目标存储装置,并且可将分发目标数据分发给所选的目标存储装置。
60.在一个实施例中,源存储装置可向目标存储装置发送分发目标数据(其是根据设置标准选择的数据),并且目标存储装置可存储从源存储装置发送的分发目标数据。因此,源存储装置的分发目标数据可被分发给目标存储装置并存储在目标存储装置中。在一个实施例中,源存储装置可将分发目标数据划分为多条分发目标数据或多个分发目标数据部分,并将多条分发目标数据或多个分发目标数据部分分发和存储至多个目标存储装置。
61.图4是示出根据一个实施例的存储装置的配置的示图。
62.参照图4,根据一个实施例的存储装置200可包括控制器2100、数据存储装置2200、缓冲存储器2300和电源2400。数据存储装置2200可包括多个非易失性存储装置(nvm)2200-0至2200-l,l是正整数。
63.控制器2100可分析和处理从主机110或其他存储装置输入的信号。控制器2100可根据用于驱动数据存储装置2200的固件或软件来操作。在一个实施例中,控制器2100是管理进出数据存储装置2200的数据流的数字电路。控制器可独立地形成在芯片上,或者与一个或多个其他电路集成。
64.在一个实施例中,控制器2100可执行闪存转换层(ftl)的功能(执行用于管理数据存储装置2200的垃圾收集、地址映射、损耗均衡等)、检测和校正从数据存储装置2200读取的数据的错误的功能等。
65.缓冲存储器2300可临时存储要被存储在数据存储装置2200中的数据。缓冲存储器2300还可以临时存储从数据存储装置2200读出的数据。根据控制器2100的控制,可将临时存储在缓冲存储器2300中的数据发送给主机110、数据存储装置2200或另一存储装置。缓冲存储器2300可包括在控制器2100内。
66.非易失性存储装置2200-0至2200-l可用作存储装置200的存储介质。非易失性存储器装置2200-0至2200-l可通过多个通道ch0至chk耦合至控制器2100。一个或多个非易失性存储器装置可耦合至一个通道。耦合至同一通道的非易失性存储器装置可耦合至相同的信号总线或相同的数据总线或二者。
67.电源2400可通过电源连接器向控制器2100、非易失性存储器装置2200-0至2200-l和缓冲存储器2300提供电源输入。电源2400还可以包括被配置为向存储装置200供电的辅助电源,使得当发生突然断电(spo)时,存储装置200以正常方式终止。
68.在一个实施例中,控制器2100可包括处理器2101、网络接口(if)2103、转换器2105、存储接口(if)2107、bmc接口(if)2109和缓冲存储器(bm)管理器2111。根据存储系统1、10和/或100的不同实施类型,可省略bmc接口2109。
69.处理器2101可被配置为硬件和在硬件上执行的软件的组合,并且被配置为驱动加
载的软件或固件以操作存储装置200。
70.网络接口2103可通过网络交换机121在存储装置200和网络130之间提供通信通道以与主机110通信。
71.转换器2105可被配置为在将存储装置200耦合至网络130的网络接口2103的通信协议与存储装置200内部的通信协议之间执行转换。
72.存储接口2107可提供用于控制器2100和数据存储装置2200之间的信号交换的通信通道。存储接口2107可根据处理器2101的控制将临时存储在缓冲存储器2300中的数据写入数据存储装置2200。存储接口2107可将从数据存储装置2200读出的数据发送给缓冲存储器2300,使得将读取的数据被临时存储在缓冲存储器2300中。
73.bmc接口2109可通过bmc交换机125在存储装置200和bmc123之间提供通信通道。在一个实施例中,bmc接口2109可以是pcie接口。
74.bm管理器2111可被配置为管理缓冲存储器2300的使用状态。在一个实施例中,bm管理器2111可将缓冲存储器2300划分为多个区域(插槽),并且分配或释放这些区域以便临时存储数据。
75.处理器2101可包括存储虚拟器2500。
76.在一个实施例中,当存储装置200被用于存储系统1、10或100时,存储虚拟器2500可在网络交换机121和主机110中注册包括存储虚拟器2500的存储装置200的id和物理地址。
77.此外,存储虚拟器2500可执行至少一个虚拟机,并且通过至少一个虚拟机作为虚拟网络的一部分,其中存储装置200-1至200-n用于存储系统1、10或100中。
78.可将虚拟地址分配给虚拟机,使得存储装置200可通过由存储装置200形成的虚拟网络上的虚拟地址来标识。存储装置200可通过虚拟网络广播装置信息,使得存储装置200可彼此共享装置信息。
79.此外,非易失性存储器装置2200-0至2200-l的部分区域可作为一个或多个存储器资源分配给虚拟机。
80.在一个实施例中,虚拟机的执行、虚拟地址的分配等可由称为超级监督者的虚拟机管理器来执行。
81.当通过主机110将存储装置200指定为主存储装置时,基于从主机110发送的存储池生成条件和共享装置信息,存储虚拟器2500可以是存储池的一部分。存储池可包括存储装置200-1至200-n的至少一个存储装置或者至少一个存储装置2200-1至2200-n中的至少一个数据存储装置2200。
82.在一个实施例中,根据主存储装置的控制,可在存储装置200中生成与主机110要求或请求的存储池的数目相对应的虚拟机的数目或量。相同的id可分配给相同存储池的虚拟机,并且虚拟机可通过由超级监督者分配的唯一虚拟地址来标识。非易失性存储器装置2200-0至2200-l的至少部分区域可被分配给每个虚拟机作为存储器资源。因此,可通过虚拟机信息来管理每个虚拟机,其中虚拟机信息包括虚拟机id、唯一虚拟地址和分配给虚拟机的存储器资源(例如,非易失性存储器装置2200-0至2200-l)的id的容量。
83.当建立存储池时,主存储装置可向主机110发送存储池生成信息。在一个实施例中,存储池生成信息可包括存储池id、用于存储池的虚拟机id、存储池中包括的虚拟机的虚
拟地址以及存储器资源(例如,非易失性存储装置2200-0至2200-l)的id和容量。
84.主存储装置的id和物理地址可映射到存储池id、表示存储池的虚拟机id以及在主存储装置中生成并随后在网络交换机121中注册的虚拟机的虚拟地址。
85.主机110可基于存储池id和在主存储装置中生成的虚拟机的虚拟地址来识别存储池。此外,主机110可基于主存储装置的物理地址,通过网络交换机121发送访问期望存储池的请求。在一个实施例中,存储池id和虚拟机id可彼此相同或不同。
86.在一个实施例中,可以向存储系统1、10或100添加新的存储装置。主存储装置可请求添加的存储装置生成至少一个虚拟机(例如,大于存储池数目的虚拟机),使得可改变存储池的配置。在一个实施例中,所添加的存储装置可以不并入存储池中,并且可以在待机状态下进行管理。
87.图5是示出根据一个实施例的存储虚拟器的配置的示图。
88.参照图5,根据一个实施例的存储虚拟器2500可包括超级监督者2501、至少一个虚拟机2503、共享信息处理器2505和映射表2507。
89.超级监督者2501可响应于从主机110或主存储装置接收到的请求来生成至少一个虚拟机vm1-vmi,并将虚拟地址分配给虚拟机vm1-vmi。非易失性存储器装置2200-0至2200-l的至少部分区域可作为存储器资源分配到生成的虚拟机vm1-vmi中。存储装置200可以是基于虚拟机vm1-vmi以及分配给虚拟机vm1-vmi的虚拟地址的虚拟网络的一部分。
90.由于存储装置200通过至少一个虚拟机耦合至虚拟网络,所以共享信息处理器2505可广播相关联的装置信息,并且接收和存储其中的其他存储装置的装置信息。
91.装置信息可包括存储装置200的硬件信息(例如,物理信息)和软件信息(例如,逻辑信息)。
92.映射表2507可存储分配给虚拟机vm1-vmi的非易失性存储装置2200-0至2200-l的id和物理地址。
93.当存储装置200被指定为主存储装置时,超级监督者2501可基于从主机110发送的存储池生成条件、虚拟机vm1-vmi的信息以及通过共享信息处理器2505管理的装置信息来生成或建立存储池,并将存储池生成信息发送给主机110。
94.因此,响应于从主机接收到的请求,与存储在存储池中的数据的逻辑地址相对应的物理访问信息可存储在主存储装置的映射表2507中。例如,物理访问信息可包括其中存储数据的非易失性存储装置2200-0至2200-l的物理地址、包括作为存储器资源的非易失性存储器装置2200-0至2200-l的虚拟机的虚拟地址、包括相应虚拟机的存储池id或者其他访问信息。
95.超级监督者2501可响应于从主机110或主存储装置接收请求来通过参考映射表2507向数据存储装置2200或另一存储装置200发送读取或写入请求。
96.图6是示出根据一个实施例的超级监督者2501的配置的示图。
97.参考图6,根据一个实施例的超级监督者2501可包括虚拟机(vm)生成器2511、虚拟地址分配器2531、存储池管理器2551、请求处理器2571和映射表管理器2591。
98.vm生成器2511可响应于从主机110或主存储装置接收到的请求来生成至少一个虚拟机vm1-vmi,并且将非易失性存储装置2200-0至2200-l的至少部分区域分配给生成的虚拟机vm1-vmi作为存储器资源。分配给虚拟机vm1-vmi的存储器资源的容量可由主存储装置
来确定或者可由其他部件来确定。
99.虚拟地址分配器2531可向由vm生成器2511生成的每个虚拟机vm1-vmi分配唯一的虚拟地址。
100.因此,存储系统1、10或100所使用的多个存储装置可通过其中执行的虚拟机形成虚拟网络,并且可通过相关联的虚拟地址相互标识。
101.存储池管理器2551可基于从主机110发送的存储池生成条件、虚拟机vm1-vmi的信息以及从共享信息处理器2505接收到的装置信息来建立或生成存储池。在一个实施例中,存储池生成条件可包括存储池的数目和存储池的容量。虚拟机vm1-vmi的信息可包括虚拟机id、虚拟地址以及分配给虚拟机vm1-vmi的非易失性存储装置2200-0至2200-l的容量和物理地址。
102.当生成或建立存储池时,存储池管理器2551可向主机110发送存储池生成信息。在一个实施例中,存储池生成信息可包括存储池id、存储池的虚拟机id、存储池中包括的虚拟机的虚拟地址以及生成存储池的非易失性存储装置2200-0至2200-l的id、容量和物理地址。主存储装置的id和物理地址可映射到存储池id、生成存储池的虚拟机id以及在主存储装置中生成并随后在网络交换机121中注册的虚拟机的虚拟地址。主机110可基于存储池id和在主存储装置中生成的虚拟机的虚拟地址来识别存储池,并通过网络交换机121与存储池通信。
103.响应于从主机110或主存储装置发送的请求,请求处理器2571可通过参照映射表2507访问非易失性存储装置2200-0至2200-l或代表存储池的存储装置200来写入或读取数据。
104.映射表管理器2591可存储分配给虚拟机vm1-vmi的非易失性存储装置2200-0至2200-l的id和物理地址。由于存储装置通过主机110被确定为主存储装置,所以映射表管理器2591可在映射表2507中存储与主机请求的数据写入的逻辑地址相对应的物理访问信息。例如,物理访问信息可包括其中存储数据的非易失性存储装置2200-0至2200-l的物理地址、包括作为存储器资源的非易失性存储装置2200-0至2200-l的虚拟机的虚拟地址以及包括相应虚拟机的存储池id。
105.图7是示出根据一个实施例的包括存储池的网络系统1000的配置的示图。
106.参考图7,当根据存储虚拟器2500的控制在存储装置sd-a、sd-b和sd-c中的网络系统1000中生成虚拟机时,可以向每个虚拟机分配虚拟地址和存储器资源。
107.例如,存储器块1、2、3和4可作为资源分配给存储装置sd-a的第一虚拟机vm1,并且存储器块a、b、c和d可作为资源分配给存储装置sd-a的第二虚拟机vm2。存储块5、6、7和8可作为资源分配给存储装置sd-b的第一虚拟机vm1,并且存储器块e和f可作为资源分配给存储装置sd-c的第二虚拟机vm2。
108.当存储装置sd-a被确定为主存储装置时,主存储装置sd-a可基于存储池生成条件使用分配给主存储装置sd-a的第一虚拟机vm1的存储器块1、2、3和4以及分配给存储装置sd-b的第一虚拟机vm1的存储器块5、6、7和8来建立或生成第一存储池sp1。主存储装置sd-a还可以基于存储池生成条件,使用分配给主存储装置sd-a的第二虚拟机vm2的存储器块a、b、c和d以及分配给存储装置sd-c的第二虚拟机vm2的存储器块e和f来建立第二存储池sp2。
109.第一存储池sp1可通过分配给主存储装置sd-a的第一虚拟机vm1的虚拟地址和虚
拟端口vport1耦合至虚拟交换机v121,并且第二存储池sp2可通过分配给主存储装置sd-a的第二虚拟机vm2的虚拟地址和虚拟端口vport2耦合至虚拟交换机v121。
110.第一和第二存储池sp1和sp2的生成信息可发送给主机110。第一和第二存储池sp1和sp2中的每一个的生成信息可包括存储池id、用于对应存储池的虚拟机id、包括在相应存储池中的虚拟机的虚拟地址以及形成相应存储池的非易失性存储器装置2200-0至2200-l的id、容量和物理地址。
111.主存储装置sd-a的id和物理地址可映射到存储池sp1和sp2的id、形成存储池sp1和sp2的虚拟机vm1和vm2的id以及在主存储装置sd-a中生成并在网络交换机121中注册的虚拟机vm1和vm2的虚拟地址。
112.主机110的请求可通过网络交换机121发送给主存储装置sd-a。在一个实施例中,主机110的请求可以是包括头部(包括目的地信息)和体部(包括命令)的数据包。头部的目的地信息可包括存储池id和在主存储装置中生成的虚拟机中的任一个的虚拟地址。体部的命令可包括命令id、逻辑地址和数据。
113.当主机110通过网络交换机121向主存储装置发送请求数据包时,主存储装置的网络接口2103可从请求数据包的头部提取存储池id和虚拟地址,并将体部中包括的内容发送给作为所提取存储池的一部分的虚拟机。接收内容的存储池的超级监督者2501可解释包括在体部中的命令,并通过利用与虚拟交换机v121耦合的虚拟网络访问与由主机110的逻辑地址指示的存储装置sd-a、sd-b或sd-c的物理地址相对应的物理区域来执行该命令。
114.在一个实施例中,随着存储池生成条件的改变,存储装置sd-b的备用存储器块sd-r可并入第一或第二存储池sp1或sp2中,或者可以是独立存储池的一部分。
115.图8是示出根据一个实施例的操作存储装置的方法的流程图。
116.参考图8,当存储装置200被用于存储系统1、10或100时,存储装置200的id和物理地址可通过网络接口2103发送给网络交换机121,然后在网络交换机121中注册(s101)。网络交换机121可向主机110发送存储装置200的id和物理地址(s103)。
117.存储装置200的存储虚拟器2500可生成至少一个虚拟机,并将虚拟地址和资源分配给至少一个虚拟机(s105)。在一个实施例中,分配给虚拟机的资源可以是非易失性存储器装置2200-0至2200-l的至少一个或多个部分区域。
118.因此,存储装置200(例如,在存储系统1、10或100中使用的多个存储装置200-1至200-n)可形成虚拟网络。虚拟网络中包括的每个虚拟机可通过虚拟机信息进行管理。虚拟机信息可包括虚拟机id、虚拟机的虚拟地址以及分配给虚拟机的非易失性存储器装置2200-0至2200-l的id的容量。
119.存储装置200的存储虚拟器2500可通过虚拟网络广播装置信息,使得存储装置200(例如,多个存储装置200-1至200-n)可彼此共享装置信息(s107)。
120.主机110可确定、选择或指定存储装置200-1至200-n中的任一个作为主存储装置,并向主存储装置发送存储池生成条件(s109)。因此,主存储装置的存储虚拟器2500可基于从主机110发送的存储池生成条件和共享装置信息来生成或建立存储池(s111)。存储池可包括至少一个存储装置200-1至200-n或者至少一个存储装置200-1至200-n的至少一个数据存储装置2200。
121.当生成或建立存储池时,主存储装置可向主机110发送存储池生成信息(s113)。在
一个实施例中,存储池生成信息可包括存储池id、用于存储池的虚拟机id、用于虚拟机的虚拟地址以及提供存储器资源的非易失性存储装置2200-0至2200-l的id和容量。
122.主存储装置的id和物理地址可映射到存储池id、用于形成存储池的虚拟机的id以及在主存储装置中生成并随后在网络交换机121中注册的虚拟机的虚拟地址。
123.主机110可基于存储池id识别存储池。当主机110通过网络交换机121向主存储装置发送请求时,主存储装置可与子存储装置协作处理该请求(s115)。
124.在一个实施例中,存储系统1、10或100可监控是否添加了新的存储装置(s117)。当添加新存储装置时(s117:是或y),存储系统1、10或100可在主机110中注册新存储装置,并且通过共享装置信息来执行用于生成或建立存储池的一系列处理s101-s113。当没有添加新的存储装置时(s117:否或n),存储系统1、10或100可监控是否从主机110发送请求并处理该请求(s115)。
125.在一个实施例中,添加的存储装置可以不并入存储池中,并且可以在待机状态下进行管理。
126.在一个实施例中,存储装置200可通过监控存储装置200的状态来确定是否需要数据分发。当需要数据分发时,存储装置200可用作源存储装置,以基于其他存储装置的装置信息来选择至少一个目标存储装置。源存储装置可选择要被分发的数据(例如,分发目标数据),将分发目标数据发送给目标存储装置,并将分发数据的位置存储在分发数据管理表中。
127.图9是示出根据一个实施例的在存储系统中处理请求的方法的示图。
128.当主机110向主存储装置sd-a中生成的虚拟机的任一个虚拟地址发送请求数据包req时(

),主存储装置sd-a的超级监督者2501可从请求数据包的头部提取目的地信息,诸如存储池id和虚拟地址。
129.主存储装置sd-a的超级监督者2501可从请求数据包的体部提取逻辑地址和命令,并基于提取的逻辑地址通过参照映射表2507来获取物理访问信息(

)。在一个实施例中,提取的命令可以是写命令。从映射表2507获取的物理访问信息可以是被设置为目的地的存储池中包括的虚拟机的虚拟地址以及分配给该虚拟机的非易失性存储器装置的物理地址。此外,超级监督者2501可将从体部提取的写入数据临时存储在缓冲存储器中(

)。
130.在一个实施例中,当物理访问信息是分配给接收请求数据包的主存储装置sd-a的第一虚拟机vm1的非易失性存储器装置的物理地址时,主存储装置sd-a的第一虚拟机vm1可将缓冲的写入数据存储在相应存储池的存储器块1中。
131.在一个实施例中,当包括在物理访问信息中的虚拟地址是分配给子存储装置sd-b的第一虚拟机vm1的非易失性存储器装置的物理地址时,主存储装置sd-a的第一虚拟机vm1可将缓冲的写入数据发送给子存储装置sd-b的超级监督者2501(

),并且子存储装置sd-b的第一虚拟机vm1可将发送的数据存储在存储块5(

)中。
132.在一个实施例中,当包括在物理访问信息中的虚拟地址是分配给子存储装置sd-c的第二虚拟机vm2的非易失性存储器装置的物理地址时,主存储装置sd-a的第一虚拟机vm1可通过在主存储装置中生成的第二虚拟机vm2(

)将缓冲的写入数据发送给子存储装置sd-c的超级监督者2501(

)。子存储装置sd-c的第二虚拟机vm2可将发送的数据存储在存储块f(

)中。
133.图10是示出根据一个实施例在存储系统中处理请求的方法的示图。
134.当主机110向主存储装置sd-a中生成的虚拟机的任一个虚拟地址发送请求数据包req时主存储装置sd-a的超级监督者2501可从请求数据包的头部提取目的地信息,例如存储池id和虚拟地址。主存储装置sd-a的超级监督者2501可从请求数据包的体部提取逻辑地址和命令,并通过基于提取的逻辑地址参照映射表2507来获取物理访问信息在一个实施例中,提取的命令可以是读取命令。
135.从映射表2507获取的物理访问信息可以是存储池中包括的虚拟机(被设置为目的地)的虚拟地址和分配给虚拟机的非易失性存储器装置的物理地址。
136.在一个实施例中,当物理访问信息是分配给接收请求数据包的主存储装置sd-a的第一虚拟机vm1的非易失性存储装置的物理地址时,主存储装置sd-a的第一虚拟机vm1可将从存储器块1读出的数据临时存储在缓冲存储器中然后将临时存储的数据发送给主机
137.在一个实施例中,当包括在物理访问信息中的虚拟地址是分配给子存储装置sd-b的第一虚拟机vm1的非易失性存储装置的物理地址时,主存储装置sd-a的第一虚拟机vm1可以向子存储装置sd-b的超级监督者2501发送读取请求并且子存储装置sd-b的第一虚拟机vm1可将从存储块5读出的数据通过超级监督者2501存储在主存储装置sd-a的缓冲存储器中因此,主存储装置sd-a的第一虚拟机vm1可向主机提供缓冲的读取数据
138.在一个实施例中,当包括在物理访问信息中的虚拟地址是分配给子存储装置sd-c的第二虚拟机vm2的非易失性存储装置的物理地址时,主存储装置sd-a的第一虚拟机vm1可通过主存储装置sd-a的第二虚拟机vm2将读取请求发送给子存储装置sd-c的超级监督者
139.子存储装置sd-c的超级监督者2501可将基于物理访问信息从存储块f中读出的数据存储在主存储装置的缓冲存储器中因此,主存储装置sd-a可以向主机提供缓冲的读取数据。
140.图11是示出根据一个实施例的包括数据存储装置的网络系统5000的示图。参考图11,网络系统5000可包括服务器系统5300以及通过网络5500耦合的多个客户端系统5410、5420和5430。
141.服务器系统5300可响应于来自多个客户端系统5410-5430的请求来服务数据。例如,服务器系统5300可存储由多个客户端系统5410-5430提供的数据。作为另一示例,服务器系统5300可向多个客户机系统5410-5430提供数据。
142.服务器系统5300可包括主机装置5100和存储器系统5200。存储器系统5200可如图1所示的存储器系统10进行配置。
143.本发明的上述实施例旨在说明而不是限制本发明。各种替换和等效是可能的。本发明不受本文所述实施例的限制。本发明也不限于任何特定类型的半导体装置。根据本公
开,其它添加、减法或修改是显而易见的,并且意在落入所附权利要求的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1