CN101354633B - 提高虚拟存储系统写效率的方法及虚拟存储系统 - Google Patents

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

Info

Publication number
CN101354633B
CN101354633B CN2008101184543A CN200810118454A CN101354633B CN 101354633 B CN101354633 B CN 101354633B CN 2008101184543 A CN2008101184543 A CN 2008101184543A CN 200810118454 A CN200810118454 A CN 200810118454A CN 101354633 B CN101354633 B CN 101354633B
Authority
CN
China
Prior art keywords
write
controller
data
storage array
buffer memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2008101184543A
Other languages
English (en)
Other versions
CN101354633A (zh
Inventor
胡荣国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2008101184543A priority Critical patent/CN101354633B/zh
Publication of CN101354633A publication Critical patent/CN101354633A/zh
Application granted granted Critical
Publication of CN101354633B publication Critical patent/CN101354633B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

提高虚拟存储系统写效率的方法及虚拟存储系统
技术领域
本发明涉及虚拟存储技术,尤其涉及一种提高虚拟存储系统写效率的方法及虚拟存储系统。
背景技术
随着计算机技术及相关信息处理技术的不断发展,人们对存储的需求越来越高,这种需求刺激了各种新技术的出现,其中较为典型的就是虚拟存储技术。所谓虚拟存储技术,是指将多个存储设备统一管理起来,为使用者提供大容量、高数据传输性能的存储系统的技术。
图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线缆。
另外,虽然以上实施例都是针对包括两个控制器的虚拟存储系统结构进行阐述的,但值得说明的是,本发明所提供的方案也适用于包括多个互为备份的控制器的虚拟存储系统。多个控制器结构下的写操作处理方法与两个控制器结构下的写操作处理方法一致,这里不再赘述。
以上所述对本发明的目的、技术方案和有益效果进行了进一步的详细说明,所应理解的是,以上所述并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

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线缆与控制器相连。
CN2008101184543A 2008-08-22 2008-08-22 提高虚拟存储系统写效率的方法及虚拟存储系统 Active CN101354633B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101184543A CN101354633B (zh) 2008-08-22 2008-08-22 提高虚拟存储系统写效率的方法及虚拟存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101184543A CN101354633B (zh) 2008-08-22 2008-08-22 提高虚拟存储系统写效率的方法及虚拟存储系统

Publications (2)

Publication Number Publication Date
CN101354633A CN101354633A (zh) 2009-01-28
CN101354633B true CN101354633B (zh) 2010-09-22

Family

ID=40307459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101184543A Active CN101354633B (zh) 2008-08-22 2008-08-22 提高虚拟存储系统写效率的方法及虚拟存储系统

Country Status (1)

Country Link
CN (1) CN101354633B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101710298B (zh) * 2009-12-17 2012-05-30 成都市华为赛门铁克科技有限公司 存储系统及系统中磁盘链路的数据处理方法和控制器
CN102073561A (zh) * 2011-01-26 2011-05-25 浪潮电子信息产业股份有限公司 一种固态硬盘写操作纠错的方法
CN102681791B (zh) * 2012-04-13 2015-04-15 华中科技大学 一种集群存储系统的节能存储方法
CN103049218B (zh) * 2012-12-11 2016-11-16 华为技术有限公司 数据存储方法和控制器
CN103049407B (zh) * 2012-12-27 2016-07-13 华为技术有限公司 数据存储方法、装置及系统
CN104461936B (zh) * 2014-11-28 2017-10-17 华为技术有限公司 缓存数据的刷盘方法及装置
CN105743731B (zh) 2014-12-11 2019-03-29 国际商业机器公司 用于存储系统中的故障检测的方法和装置
CN106445840B (zh) * 2015-08-07 2019-03-01 华为技术有限公司 数据存储方法以及存储系统
CN105205017A (zh) * 2015-08-31 2015-12-30 浪潮(北京)电子信息产业有限公司 一种基于pcie ssd的存储控制器
CN106484310B (zh) * 2015-08-31 2020-01-10 华为数字技术(成都)有限公司 一种存储阵列操作方法和装置
CN106802774A (zh) * 2017-01-18 2017-06-06 广东睿江云计算股份有限公司 写请求处理方法和装置、读请求处理方法和装置
CN107229573B (zh) * 2017-05-22 2020-04-28 上海天玑数据技术有限公司 一种基于固态硬盘的弹性高可用缓存方法
CN107301021B (zh) * 2017-06-22 2021-03-09 苏州浪潮智能科技有限公司 一种利用ssd缓存对lun进行加速的方法和装置
CN109213702B (zh) * 2017-06-30 2022-08-30 伊姆西Ip控股有限责任公司 虚拟机环境中的虚拟双控制模块之间的通信
CN107977280B (zh) * 2017-12-08 2020-07-24 苏州浪潮智能科技有限公司 一种故障转移时验证ssd cache加速有效性的方法
CN109358812A (zh) * 2018-10-09 2019-02-19 郑州云海信息技术有限公司 一种集群系统中io请求的处理方法、装置及相关设备
CN111858222A (zh) * 2019-04-30 2020-10-30 伊姆西Ip控股有限责任公司 错误注入的方法、设备、数据存储系统和程序产品

Also Published As

Publication number Publication date
CN101354633A (zh) 2009-01-28

Similar Documents

Publication Publication Date Title
CN101354633B (zh) 提高虚拟存储系统写效率的方法及虚拟存储系统
CN102436419B (zh) 非易失性存储器系统及管理其电源的方法
CN102012793B (zh) 镜像实现方法和装置
KR101363766B1 (ko) 논리 유닛 동작
WO2008066605B1 (en) System for optimizing the performance and reliability of a storage controller cache offload circuit
CN101510223B (zh) 一种数据处理方法和系统
US20120102268A1 (en) Methods and systems using solid-state drives as storage controller cache memory
CN103049220B (zh) 存储控制方法、存储控制装置和固态存储系统
US8850128B2 (en) Implementing data storage and dual port, dual-element storage device
US20110161569A1 (en) Memory module and method for exchanging data in memory module
CN107077882B (zh) 一种dram刷新方法、装置和系统
CN106066890B (zh) 一种分布式高性能数据库一体机系统
CN102541458B (zh) 一种提高电子硬盘数据写入速度的方法
CN101604226A (zh) 一种基于虚拟raid构建动态缓存池提高存储系统性能的方法
CN102945207A (zh) 一种块级数据的缓存管理方法及系统
EP2565772A1 (en) Storage array, storage system, and data access method
CN103150128A (zh) 基于ssd和磁盘的可靠混合存储系统实现方法
CN105608016B (zh) Dram与mram结合的固态硬盘及使用mram的存储卡
DE69930307D1 (de) Datenspeichersystem
CN103019623A (zh) 存储盘处理方法及装置
CN102314321B (zh) 存储系统、运用存储系统进行数据访问的方法和装置
CN101354636A (zh) 一种向磁盘阵列中写入数据的方法及系统
CN111309646A (zh) 存储装置及其数据写入、读取、备份和恢复方法
US6671751B1 (en) Raid device for establishing a direct passage between a host computer and a hard disk by a data hub selectively passing only data to be accessed
CN101794246B (zh) 备份存储系统、备份系统及数据备份方法和恢复方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address