首页> 中国专利> 提高虚拟存储系统写效率的方法及虚拟存储系统

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

摘要

本发明提供了一种提高虚拟存储系统写效率的方法及虚拟存储系统。该虚拟存储系统包括至少两个互为备份且分离设置的控制器、交换机、存储阵列以及与各控制器一一对应的缓存介质,其中,所述控制器在收到写IO请求后,先将数据写入到所有缓存介质中,然后再将自身对应的缓存介质中的数据写入存储阵列;并且,在其它控制器发生故障时,将故障控制器写入自身对应的缓存介质中的数据刷新到存储阵列中。本发明能够在控制器分离设置的情况下,提高虚拟存储系统的写操作效率。

著录项

  • 公开/公告号CN101354633A

    专利类型发明专利

  • 公开/公告日2009-01-28

    原文格式PDF

  • 申请/专利权人 杭州华三通信技术有限公司;

    申请/专利号CN200810118454.3

  • 发明设计人 胡荣国;

    申请日2008-08-22

  • 分类号G06F3/06(20060101);G06F12/08(20060101);

  • 代理机构11018 北京德琦知识产权代理有限公司;

  • 代理人宋志强;麻海明

  • 地址 310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地

  • 入库时间 2023-12-17 21:23:40

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-03

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F3/06 变更前: 变更后: 申请日:20080822

    专利权人的姓名或者名称、地址的变更

  • 2010-09-22

    授权

    授权

  • 2009-05-06

    实质审查的生效

    实质审查的生效

  • 2009-01-28

    公开

    公开

说明书

技术领域

本发明涉及虚拟存储技术,尤其涉及一种提高虚拟存储系统写效率的方法及虚拟存储系统。

背景技术

随着计算机技术及相关信息处理技术的不断发展,人们对存储的需求越来越高,这种需求刺激了各种新技术的出现,其中较为典型的就是虚拟存储技术。所谓虚拟存储技术,是指将多个存储设备统一管理起来,为使用者提供大容量、高数据传输性能的存储系统的技术。

图1示出了现有技术中的虚拟存储系统结构示意图,包括互为备份的两个控制器A和B、交换机以及存储阵列,其中,控制器A、B通过交换机与各存储阵列互连,运行在主备或者负荷分担模式,它们既可以集成在一个设备上,也可以分离设置,主要用于根据外界的读、写输入输出(IO)请求对后端的存储阵列进行读写操作。本文主要针对两个控制器分离设置情况下的虚拟存储系统写操作过程进行阐述。

当两个控制器集成在一个设备上时,可以通过常用的基于扩展周边元件扩展接口(PCIe)的内存镜像方式实现写缓存,以提高写操作效率。但是,在两个控制器分离设置的情况下,基于PCIe的内存镜像方式很难实现,控制器通常都是直接将数据写入存储阵列,而不具有缓存功能。

图2以控制器A收到写IO请求为例,示出了现有技术中两个控制器分离设置的情况下,虚拟存储系统写IO请求处理过程示意图,包括如下步骤:

步骤201:控制器A收到外界发起的写IO请求后,通过交换机将收到的写IO请求分发给后端的存储阵列。

步骤202:存储阵列接收写IO请求,写入该请求中携带的数据,并在数据写入完成后向控制器A返回写入成功指令。

步骤203:控制器A收到存储阵列返回的写入成功指令后,向写IO请求发起者发送写入成功指令。

这种不经过缓存、直接将数据写入存储阵列的缺点在于,写IO路径较长,写操作效率低。

发明内容

有鉴于此,本发明的目的在于提供一种提高虚拟存储系统写效率的方法及虚拟存储系统,在虚拟存储系统中控制器分离设置的情况下,提高虚拟存储系统的写操作效率。

为达到上述目的,本发明提供的技术方案如下:

一种虚拟存储系统,包括:至少两个互为备份且分离设置的控制器、交换机、存储阵列以及与各控制器一一对应的缓存介质,所述控制器通过交换机与存储阵列相连,所述缓存介质与自身对应的控制器以及与除自身对应的控制器之外的其它控制器相连,其中,

所述控制器,用于在收到写IO请求后,将该请求中携带的数据写入自身对应的缓存介质以及其它控制器对应的缓存介质,在数据成功写入缓存介质后向写IO请求发起者返回写入成功指令,并通过交换机将自身对应的缓存介质中的数据写入存储阵列,接收存储阵列完成数据写入后返回的写入成功指令;并且,进一步用于,在其它控制器发生故障时,将故障控制器写入自身对应的缓存介质中的但尚未写入存储阵列的数据写入存储阵列。

在各个缓存介质中,由不同控制器写入的数据分开保存。

所述控制器在将自身对应的缓存介质中的数据写入存储阵列之后,在所有缓存介质中对该已写入存储阵列的数据打上已写入标记,控制器根据该标记确定缓存介质中的数据是否写入存储阵列。

所述缓存介质为非易失性存储介质,且其访问速度高于所述存储阵列中磁盘的访问速度。

所述缓存介质为固态磁盘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线缆。

另外,虽然以上实施例都是针对包括两个控制器的虚拟存储系统结构进行阐述的,但值得说明的是,本发明所提供的方案也适用于包括多个互为备份的控制器的虚拟存储系统。多个控制器结构下的写操作处理方法与两个控制器结构下的写操作处理方法一致,这里不再赘述。

以上所述对本发明的目的、技术方案和有益效果进行了进一步的详细说明,所应理解的是,以上所述并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号