提高虚拟存储系统写效率的方法及虚拟存储系统的制作方法

文档序号:6464720阅读:196来源:国知局
专利名称:提高虚拟存储系统写效率的方法及虚拟存储系统的制作方法
技术领域
本发明涉及虚拟存储技术,尤其涉及一种提高虛拟存储系统写效率的方 法及虚拟存储系统。
背景技术
随着计算机技术及相关信息处理技术的不断发展,人们对存储的需求越 来越高,这种需求刺激了各种新技术的出现,其中较为典型的就是虚拟存储 技术。所谓虚拟存储技术,是指将多个存储设备统一管理起来,为使用者提 供大容量、高数据传输性能的存储系统的技术。
图1示出了现有技术中的虚拟存储系统结构示意图,包括互为备份的两
个控制器A和B、交换机以及存储阵列,其中,控制器A、 B通过交换机与 各存储阵列互连,运行在主备或者负荷分担模式,它们既可以集成在一个设 备上,也可以分离设置,主要用于根据外界的读、写输入输出(IO)请求对 后端的存储阵列进行读写操作。本文主要针对两个控制器分离设置情况下的 虚拟存储系统写操作过程进行阐述。
当两个控制器集成在一个设备上时,可以通过常用的基于扩展周边元件 扩展接口 (PCIe)的内存镜像方式实现写緩存,以提高写操作效率。但是, 在两个控制器分离设置的情况下,基于PCIe的内存镜像方式很难实现,控 制器通常都是直接将数据写入存储阵列,而不具有缓存功能。
图2以控制器A收到写10请求为例,示出了现有技术中两个控制器分 离设置的情况下,虚拟存储系统写IO请求处理过程示意图,包括如下步骤
步骤201:控制器A收到外界发起的写10请求后,通过交换机将收到 的写IO请求分发给后端的存储阵列。
步骤202:存储阵列接收写IO请求,写入该请求中携带的数据,并在 数据写入完成后向控制器A返回写入成功指令。
步骤203:控制器A收到存储阵列返回的写入成功指令后,向写IO请 求发起者发送写入成功指令。
这种不经过緩存、直接将数据写入存储阵列的缺点在于,写IO路径较 长,写操作效率低。

发明内容
有鉴于此,本发明的目的在于提供一种提高虚拟存储系统写效率的方法 及虛拟存储系统,在虚拟存储系统中控制器分离设置的情况下,提高虚拟存 储系统的写操作效率。
为达到上述目的,本发明提供的技术方案如下
一种虚拟存储系统,包括至少两个互为备份且分离设置的控制器、交 换机、存储阵列以及与各控制器一一对应的緩存介质,所述控制器通过交换
控制器之外的其它控制器相连,其中,
所述控制器,用于在收到写IO请求后,将该请求中携带的数据写入自 身对应的緩存介质以及其它控制器对应的缓存介质,在数据成功写入緩存介 质后向写10请求发起者返回写入成功指令,并通过交换机将自身对应的緩 存介质中的数据写入存储阵列,接收存储阵列完成数据写入后返回的写入成 功指令;并且,进一步用于,在其它控制器发生故障时,将故障控制器写入
在各个緩存介质中,由不同控制器写入的数据分开保存。
所述控制器在将自身对应的緩存介质中的数据写入存储阵列之后,在所
有緩存介质中对该已写入存储阵列的数据打上已写入标记,控制器根据该标
记确定緩存介质中的数据是否写入存储阵列。
所述緩存介质为非易失性存储介质,且其访问速度高于所述存储阵列中
》兹盘的访问速度。
所述緩存介质为固态磁盘SSD或带电池的同步动态随机存储器 SDRAM 。
所述緩存介质为固态》兹盘SSD,并通过串行小型计算机系统接口 SAS 线缆与控制器相连。
一种提高虚拟存储系统写效率的方法,所述虛拟存储系统包含至少两个 互为备份且分离设置的控制器、交换机以及存储阵列,该方法包括
为各控制器分别设置一个对应的緩存介质,控制器收到写IO请求后, 将该请求中携带的数据写入自身对应的緩存介质以及其它控制器对应的緩 存介质,在数据成功写入緩存介质后向写IO请求发起者返回写入成功指令, 并通过交换机将自身对应的緩存介质中的数据写入存储阵列,接收存储阵列 完成数据写入后返回的写入成功指令;并且,进一步用于,在其它控制器发
的数据写入存储阵列。
在各个緩存介质中,由不同控制器写入的数据分开保存。
控制器将自身对应的緩存介质中的数据写入存储阵列之后进一 步包括
控制器在所有緩存介质中对该已写入存储阵列的数据打上已写入标记,控制
器根据该标记确定緩存介质中的数据是否写入存储阵列。
所述緩存介质为非易失性存储介质,且其访问速度高于所述存储阵列中
》兹盘的访问速度。
所述緩存介质为SSD或带电池的SDRAM。
所述緩存介质为SSD且通过SAS线缆与控制器相连。
由此可见,本发明通过为各个分离设置的控制器分别增加緩存介质实现
了控制器的写緩存功能,从而缩短了写IO路径,提高了虚拟存储系统的写
操作效率;并且,控制器在收到写IO请求后,将写数据同时写到本地緩存
介质和其它控制器的緩存介质中,使得在控制器发生故障时,可以由其它正
常控制器将故障控制器写入緩存介质中的数据刷新到存储阵列中,从而避免
了因控制器出现故障而造成的数据丢失,保证了虛拟存储系统的可靠性。


图1为现有技术中的虚拟存储系统结构示意图2为现有技术中虚拟存储系统的写IO请求处理过程示意图3为本发明实施例中的虚拟存储系统结构示意图4为本发明实施例中虚拟存储系统的写IO请求处理过程示意图。
具体实施例方式
为使本发明的目的、技术方案及优点更加清楚明白,下面参照附图并举 实施例,对本发明作进一步详细"^兌明。
针对现有技术中控制器分离设置的情况下,因控制器没有写緩存功能而 造成的写操作效率低下问题, 一种可行的方案是,为各控制器分别配置一个 緩存介质,控制器收到写IO请求后,先将数据写入到緩存介质中,然后再 将緩存介质中的数据写入存储阵列。但是,这种做法的可靠性较低,容易造 成数据丢失,因为在控制器出现故障时,其对应的緩存介质也会关闭,缓存 介质中緩存的数据就会随之消失。
为了提高虚拟存储系统的写操作效率,并保证虚拟存储系统的可靠性, 本发明提供了一种改进的虚拟存储系统。图3示出了本发明中虛拟存储系统 的示例性结构示意图,该系统除了包括互为备份的分离设置的两个控制器、 交换机以及存储阵列之外,还包括与各个控制器——对应的用于緩存数据的 固态磁盘(SSD),其中,各SSD除了与自身对应的控制器相连外,还与虚 拟存储系统中的其它控制器相连,SSD与控制器之间的连接可通过串行小型 计算机系统接口 (SAS)线缆实现。图3中,两个控制器分别用A、 B表示, 它们对应的SSD分别用SSD—A和SSD_B来区分。
图4以控制器A收到写IO请求为例,示出了图3所示虚拟存储系统的 写IO请求处理过程示意图,包括以下步骤
步骤401:控制器A收到外界发起的写IO请求后,通过SAS线缆将该 请求中携带的数据写入本地SSD即SSD—A,并通过SAS线缆将该数据写入 与虛拟存储系统中其它控制器相对应的SSD即SSD—B。
在各个SSD中,由不同控制器写入的数据分开保存。
步骤402:控制器A将数据成功写入SSD—A和SSD—B之后,向写IO 请求发起者返回写入成功指令,并通过后台进程不断将SSD—A中緩存的数 据经由交换机写到后端存储阵列中。
控制器A将SSD—A中緩存的数据成功写入到存储阵列后,在SSD—A 中对已成功写入存储阵列的数据打上已写入标记,同时对SSD—B中的镜像 数据打上同样的已写入标记。这样,控制器A、 B就都可获知由控制器A写 入SSD—A和SSD—B中的数据哪些已经刷新到存储阵列中,哪些尚未刷新到 存储阵列中。
步骤403:后端存储阵列完成数据写入后,向控制器A返回写入成功指令。
在步骤401中,控制器A之所以将数据写入SSD一B,是为了防止在控 制器A出现故障时发生数据丢失,因为一旦控制器A出现故障,其对应的 SSD—A就会关闭,SSD—A中保存的数据也会随之丢失。而采用步骤401后, 由于SSD—B中也有SSD—A的镜像数据,因此,当控制器A发生故障、控 制器B接管控制器A的业务时,可以由控制器B将控制器A写入SSD—B 中的尚未刷新到后端存储阵列中的镜像数据继续刷新到存储阵列中,从而避 免了数据丟失。
可见,以上实施例通过在虛拟存储系统中增加SSD便实现了控制器的 写緩存功能,从而缩短了写IO路径,提高了虛拟存储系统的写操作效率; 并且,通过SAS线缆将写数据镜像到备份控制器,在控制器出现故障时, 由备份控制器及时将写数据刷新到存储阵列中,能够避免数据丟失,保证虚 拟存储系统的可靠性;另外,采用SSD作为緩存介质的成本较低,不需要 额外的电池或者不间断电源(UPS)来维持SSD中的数据。
在以上实施例中,之所以选择SSD作为控制器的写緩存存储介质,选 择SAS线缆作为SSD与控制器连接的部件,是因为SSD具有顺序写性能高 和随机读性能高的特点,SAS线缆具有传输速率高和传输距离相对比较长的 特点。但值得说明的是,除了 SSD和SAS线缆之外,也可以采用其它访问 速度高于存储阵列中磁盘的非易失性存储介质来代替SSD,如带电池的同步 动态随机存储器(SDRAM),或者用与SAS线缆具有相同特性的其它连接 部件来代替SAS线缆。
另外,虽然以上实施例都是针对包括两个控制器的虛拟存储系统结构进 行阐述的,但值得说明的是,本发明所提供的方案也适用于包括多个互为备 份的控制器的虚拟存储系统。多个控制器结构下的写操作处理方法与两个控 制器结构下的写操作处理方法一致,这里不再赘述。
以上所述对本发明的目的、技术方案和有益效果进行了进一步的详细说 明,所应理解的是,以上所述并不用以限制本发明,凡在本发明的精神和原 则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范 围之内。
权利要求
1、一种虚拟存储系统,其特征在于,包括至少两个互为备份且分离设置的控制器、交换机、存储阵列以及与各控制器一一对应的缓存介质,所述控制器通过交换机与存储阵列相连,所述缓存介质与自身对应的控制器以及与除自身对应的控制器之外的其它控制器相连,其中,所述控制器,用于在收到写IO请求后,将该请求中携带的数据写入自身对应的缓存介质以及其它控制器对应的缓存介质,在数据成功写入缓存介质后向写IO请求发起者返回写入成功指令,并通过交换机将自身对应的缓存介质中的数据写入存储阵列,接收存储阵列完成数据写入后返回的写入成功指令;并且,进一步用于,在其它控制器发生故障时,将故障控制器写入自身对应的缓存介质中的但尚未写入存储阵列的数据写入存储阵列。
2、 根据权利要求1所述的系统,其特征在于,在各个緩存介质中,由不同 控制器写入的数据分开保存。
3、 根据权利要求1所述的系统,其特征在于,所述控制器在将自身对应的 缓存介质中的数据写入存储阵列之后,在所有緩存介质中对该已写入存储阵列 的数据打上已写入标记,控制器根据该标记确定緩存介质中的数据是否写入存 储阵列。
4、 根据权利要求1至3任一项所述的系统,其特征在于,所述緩存介质为 非易失性存储介质,且其访问速度高于所述存储阵列中磁盘的访问速度。
5、 根据权利要求4所述的系统,其特征在于,所述緩存介质为固态磁盘 SSD或带电池的同步动态随机存储器SDRAM。
6、 根据权利要求1至3任一项所述的系统,其特征在于,所述緩存介质为 固态磁盘SSD,并通过串行小型计算机系统接口 SAS线缆与控制器相连。
7、 一种提高虚拟存储系统写效率的方法,所述虚拟存储系统包含至少两个 互为备份且分离设置的控制器、交换机以及存储阵列,其特征在于,该方法包 括 为各控制器分别设置一个对应的緩存介质,控制器收到写IO请求后,将该请求中携带的数据写入自身对应的緩存介质以及其它控制器对应的緩存介质,在数据成功写入緩存介质后向写IO请求发起者返回写入成功指令,并通过交换机将自身对应的緩存介质中的数据写入存储阵列,接收存储阵列完成数据写入后返回的写入成功指令;并且,进一步用于,在其它控制器发生故障时,将故 障控制器写入自身对应的緩存介质中的但尚未写入存储阵列的数据写入存储阵 列。
8、 根据权利要求7所述的方法,其特征在于,在各个緩存介质中,由不同 控制器写入的数据分开保存。
9、 根据权利要求7所述的方法,其特征在于,控制器将自身对应的緩存介 质中的数据写入存储阵列之后进一步包括控制器在所有緩存介质中对该已写 入存储阵列的数据打上已写入标记,控制器根据该标记确定緩存介质中的数据 是否写入存储阵列。
10、 根据权利要求7至9任一项所述的方法,其特征在于,所述緩存介质 为非易失性存储介质,且其访问速度高于所述存储阵列中磁盘的访问速度。
11、 根据权利要求10所述的方法,其特征在于,所述緩存介质为SSD或 带电池的SDRAM。
12、 根据权利要求7至9任一项所述的方法,其特征在于,所述緩存介质 为SSD且通过SAS线缆与控制器相连。
全文摘要
本发明提供了一种提高虚拟存储系统写效率的方法及虚拟存储系统。该虚拟存储系统包括至少两个互为备份且分离设置的控制器、交换机、存储阵列以及与各控制器一一对应的缓存介质,其中,所述控制器在收到写IO请求后,先将数据写入到所有缓存介质中,然后再将自身对应的缓存介质中的数据写入存储阵列;并且,在其它控制器发生故障时,将故障控制器写入自身对应的缓存介质中的数据刷新到存储阵列中。本发明能够在控制器分离设置的情况下,提高虚拟存储系统的写操作效率。
文档编号G06F3/06GK101354633SQ20081011845
公开日2009年1月28日 申请日期2008年8月22日 优先权日2008年8月22日
发明者胡荣国 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1