具有控制器的数据存储系统架构及其数据访问方法技术方案

技术编号:33704657 阅读:13 留言:0更新日期:2022-06-06 08:24
本发明专利技术公开了在具有双存储虚拟化控制器且以主动

【技术实现步骤摘要】
具有控制器的数据存储系统架构及其数据访问方法


[0001]本专利技术是有关于一种数据存储系统架构及其数据访问的方法,尤指一种具有双存储虚拟化控制器的数据存储系统架构及其数据访问方法。

技术介绍

[0002]存储虚拟化(storage virtualization)技术是为一种将物理存储空间虚拟化的技术,亦即,存储虚拟化技术能将物理存储装置(Physical Storage Device,PSD)中的不同区段予以结合,使的成为可供主机使用的「逻辑盘」(logical disk,LD),亦称作为「逻辑介质单元」(logical media unit,LMU)。此存储虚拟化技术主要应用于磁盘阵列(RAID)的存储虚拟化,可将较小物理存储装置结合成为容量较大、可容错、高效能的逻辑盘或逻辑介质单元。
[0003]存储虚拟化控制器(storage virtualization controller,SVC)的主要功用即是为达成上述的效能,其在上述主机与逻辑盘间建立一映像关系,使逻辑盘可为主机所用。此时,逻辑盘是归属存储虚拟化控制器所管辖,亦即,存储虚拟化控制器对逻辑盘具有「管理权限」(ownership)。当存储虚拟化控制器接收到来自于主机的一输出入请求(I/O request)后,存储虚拟化控制器会先剖析及解译所述输出入请求所携带的讯息(例如:目标为访问某一逻辑盘的某一段数据),并将相关的操作及数据转译成与物理存储装置(PSD)相对应的输出入请求。
[0004]为了能增加数据存储系统的可靠性(reliability),常会见到利用冗余(redundandent)的架构,将两个存储虚拟化控制器(例如:第一存储虚拟化控制器与第二存储虚拟化控制器)配置成一冗余对(redundandent pair),称为「存储虚拟化控制器对」(SVC pair),以因应当一存储虚拟化控制器(例如:第一存储虚拟化控制器)发生故障或无法运作时,另一存储虚拟化控制器(例如:第二存储虚拟化控制器)可以接管(take over)故障的存储虚拟化控制器所负责的工作(例如:接管故障的存储虚拟化控制器原先管理的逻辑盘),如此使得主机依然可以连续不中断地对所有逻辑盘继续执行数据访问工作。
[0005]在冗余存储虚拟化系统的装置端,存储虚拟化控制器对(SVC pair)中的两个存储虚拟化控制器(SVC),必须皆有可以对所有物理存储装置(PSD)进行访问的连接,无论此物理存储装置(PSD)原本是否被指定由其管理。在主机端,则必须使存储虚拟化控制器对(SVC pair)中每一存储虚拟化控制器(SVC),在它的同伴SVC(mate SVC)处于原本就没在线或在线后又因故脱机(例如:故障、失效、或维护操作等所造成的脱机)的情形下,具有将所有可供访问的资源呈现于主机且使所述等资源可被主机所利用的能力;这些可访问的资源也包括原来就指定由另一个存储虚拟化控制器(SVC)所管理的资源。
[0006]冗余存储虚拟化系统中的另外一个基本要件就是,每个存储虚拟化控制器需能监视另一个存储虚拟化控制器的状态。此可利用一介于此二存储虚拟化控制器间的「控制器间通信通道(inter

controller communications channel,ICC)」来实现,利用此通道来交换二存储虚拟化控制器的操作状态。此通道可以是专用的,其唯一的作用就是供二存储虚
拟化控制器交换与此冗余存储虚拟化子系统的操作相关的参数与数据。或者此通道是通过一或多个主机端或装置端的输出入装置连接(I/O device interconnect)来实现,经由此种连结,这些操作上的参数、数据交换可连同在这些连接上的主机

存储虚拟化控制器输出入请求或装置

存储虚拟化控制器输出入请求所关联的数据一起被多任务传输。
[0007]当一主机向一冗余对中的一存储虚拟化控制器(例如:第二存储虚拟化控制器)发出一访问要求,而接收主机访问要求的存储虚拟化控制器(例如:第二存储虚拟化控制器)发现,事实上主机是要访问另一存储虚拟化控制器(例如:第一存储虚拟化控制器)所管辖的逻辑盘(logical disk,LD)上的数据时,习知处理方式是,第二存储虚拟化控制器会拒绝主机的访问要求,致使主机须重新向另一存储虚拟化控制器(例如:第一存储虚拟化控制器)发出访问要求,因而使得主机的访问效能不佳。
[0008]此外,当一主机向一冗余对中的一存储虚拟化控制器(例如:第一存储虚拟化控制器)发出一写入要求,用以将写入数据写入至第一存储虚拟化控制器所管辖的一逻辑盘中。第一存储虚拟化控制器在接收到写入数据并先暂存在其存储器的缓冲区(buffer)后,即以一确认信号(例如:ACK信号)通知主机:所述主机写入要求已经成功执行完成。然而,此种习知处理方法存在着风险,例如:当第一存储虚拟化控制器接收到主机的写入数据并以一确认信号(例如:ACK信号)通知主机「写入完成」后,在还来不及将写入数据复制至冗余对中的另一存储虚拟化控制器(例如:第二存储虚拟化控制器)时,第一存储虚拟化控制器却发生故障或毁损,因此造成从主机接收的写入数据遗失。如此一来,即使第二存储虚拟化控制器在第一存储虚拟化控制器发生故障或毁损的后,马上接收(takeover)了第一存储虚拟化控制器的身份且管理其原本管理的逻辑盘(logical disk,LD),这仍然无法挽回数据存储系统已经遗失主机的写入数据的事实,如此对数据存储系统的可靠性(reliability)造成伤害。为了增加数据存储系统保存主机的写入数据的可靠性,一习知作法是:当冗余对中的一存储虚拟化控制器(例如:第一存储虚拟化控制器)从主机接收写入数据后,第一存储虚拟化控制器会先将所接收到的写入数据复制至冗余对中的另一存储虚拟化控制器(例如:第二存储虚拟化控制器),然后第一存储虚拟化控制器才会以一确认信号(例如:ACK信号)通知主机「写入完成」。然而,这样的处理方式依然存在着风险,例如:万一当第一存储虚拟化控制器正在从主机接收写入数据时、或已从主机接收写入数据完毕且正要/正在将所接收到的写入数据复制至第二存储虚拟化控制器时,第一存储虚拟化控制器却突然发生故障,一样会使得第二存储虚拟化控制器无法从第一存储虚拟化控制器取得写入数据,造成写入数据遗失。对此,习知处理方式采用的因应方式为:主机在一定时间内没收到来自于第一存储虚拟化控制器的确认信号(例如:ACK信号),主机会传送一定次数(例如:二次)的询问信号给第一存储虚拟化控制器,以探知第一存储虚拟化控制器的目前状态。而若主机一直未接收到第一存储虚拟化控制器的回复信号,主机即了解第一存储虚拟化控制器无法提供服务且其先前发出的主机写入要求并未完成。如此,主机会转而向第二存储虚拟化控制器再次发出原先的主机写入要求。通过以上繁复的过程,虽然提升了可靠性,但是却付出访问效能低落的代价。综上可知,如何提供具有高可靠性及高效能的数据存储系统架构及其数据访问方法,是存储业界亟待解决的问题。

技术实现思路

[0009]本专利技术的一目的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种于一数据存储系统架构(1)下访问数据的方法,其特征在于,所述数据存储系统架构(1)包括一第一存储虚拟化控制器(SVC1)(10)、一第二存储虚拟化控制器(SVC2)(20)及一存储池(storage pool)(4),其中,所述第一存储虚拟化控制器(SVC1)(10)包括一第一中央处理电路(CPC1)(105)、与一第一存储器(memory 1)(107),所述第二存储虚拟化控制器(SVC2)(20)包括一第二中央处理电路(CPC2)(205)、与一第二存储器(memory 2)(207),所述第一中央处理电路(CPC1)(105)经由一传输接口连接至所述第二中央处理电路(CPC2)(205),所述第一存储器(memory 1)(107)包括复数个第一存储空间,所述第二存储器(memory 2)(207)包括复数个第二存储空间,其中所述方法包括:所述第一存储虚拟化控制器(SVC1)(10)管理所述一存储池(storage pool)(4)中一第一逻辑盘(LD1)(12);所述第二存储虚拟化控制器(SVC2)(20)接收来自一主机(15)的一写入要求(write request),其中所述写入要求(write request)系要求写入数据至所述第一逻辑盘(LD1)(12);所述第二存储虚拟化控制器(SVC2)(20)经由所述传输接口询问所述第一存储虚拟化控制器(SVC1)(10)有关一地址讯息;所述第一存储虚拟化控制器(SVC1)(10)经由所述传输接口回复所述地址讯息给所述第二存储虚拟化控制器(SVC2)(20),其中所述地址讯息包括所述第一存储器(memory 1)(107)的一或多个第一数据存储地址(ADDR1),其位于所述复数个第一存储空间中,用以存储所述写入要求(write request)的写入数据;所述第二存储虚拟化控制器(SVC2)(20)依据接收到的所述地址讯息安排对应于所述一或多个第一数据存储地址(ADDR1)的所述第二存储器(memory2)(207)中的一或多个第二数据存储地址(ADDR2);所述第二存储虚拟化控制器(SVC2)(20)传送一讯息给所述主机(15),以通知所述主机(15)传送所述写入要求(write request)的一写入数据;所述第二存储虚拟化控制器(SVC2)(20)接收来自所述主机(15)的所述写入要求(write request)的所述写入数据;所述第二存储虚拟化控制器(SVC2)(20)将所述写入数据存储于所述第二存储器(memory 2)(207)的所述一或多个第二数据存储地址(ADDR2)处;所述第二存储虚拟化控制器(SVC2)(20)经由所述传输接口将所述写入数据存储于所述第一存储器(memory 1)(107)的所述一或多个第一数据存储地址(ADDR1)处;以及所述第二存储虚拟化控制器(SVC2)(20)通知所述主机(15),所述写入要求(write request)已执行完成。2.根据权利要求1所述的于一数据存储系统架构(1)下访问数据的方法,其特征在于,所述传输接口是经由一冗余控制器通信(RCC)连接控制器(9)所建立的一控制器间通信通道(ICC)而达成。3.根据权利要求1所述的于一数据存储系统架构(1)下访问数据的方法,其特征在于,所述地址讯息还包括所述第二存储器(memory 2)(207)的所述一或多个第二数据存储地址(ADDR2)。4.根据权利要求1所述的于一数据存储系统架构(1)下访问数据的方法,其特征在于,
还包括以下步骤:所述第二存储虚拟化控制器(SVC2)(20)附加所述一或多个第二数据存储地址(ADDR2)于所述写入数据,当所述第二存储虚拟化控制器(SVC2)(20)接收到来自所述主机(15)的所述写入数据后。5.根据权利要求4所述的于一数据存储系统架构(1)下访问数据的方法,其特征在于,接收来自所述主机(15)的所述写入数据的步骤与附加所述一或多个第二数据存储地址(ADDR2)于所述写入数据的步骤,是由所述第二存储虚拟化控制器(SVC2)(20)中的一第二主机端输出入控制器(201)所执行。6.根据权利要求1所述的于一数据存储系统架构(1)下访问数据的方法,其特征在于,所述第一存储虚拟化控制器(SVC1)(10)是通过一第一交换器(switch 1)(103)与所述传输接口连接,所述第二存储虚拟化控制器(SVC2)(20)是通过一第二交换器(switch 2)(203)与所述传输接口连接。7.根据权利要求6所述的于一数据存储系统架构(1)下访问数据的方法,其特征在于,所述第一交换器(switch 1)(103)与所述第二交换器(switch 2)(203)还具有一非透明桥接功能(Non

transparent bridge,NTB)(1033、2033)。8.根据权利要求6所述的于一数据存储系统架构(1)下访问数据的方法,其特征在于,所述第二存储虚拟化控制器(SVC2)(20)系通过所述第二交换器(switch 2)(203)将所述写入数据存储于所述第二存储器(memory 2)(207)的所述一或多个第二数据存储地址(ADDR2)处、以及所述第一存储器(memory 1)(107)的所述一或多个第一数据存储地址(ADDR1)处。9.根据权利要求1所述的于一数据存储系统架构(1)下访问数据的方法,其特征在于,还包括以下步骤:所述第二存储虚拟化控制器(SVC2)20通知所述第一存储虚拟化控制器(SVC1)10,所述写入数据已经成功存储至所述第一存储器(memory 1)(107)的所述一或多个第一数据存储地址(ADDR1)处、与所述第二存储器(memory2)(207)的所述一或多个第二数据存储地址(ADDR2)处;以及所述第一存储虚拟化控制器(SVC1)10发出一确认讯息给所述第二存储虚拟化控制器(SVC2)20,以通知所述第二存储虚拟化控制器(SVC2)20:确认所述写入数据已经成功存储至所述第一存储器(memory 1)(107)的所述一或多个第一数据存储地址(ADDR1)处。10.根据权利要求1所述的于一数据存储系统架构(1)下访问数据的方法,其特征在于,所述第二存储虚拟化控制器(SVC2)(20)还具有一第二群播表(MT2)(2031),所述第二群播表(MT2)(2031)纪录有一或多个虚拟群播地址(virtual multicast ADDR),所述一或多个虚拟群播地址(virtual multicast ADDR)对应于所述第一存储器(memory 1)(107)的所述一或多个第一数据存储地址(ADDR1)、与所述第二存储器(memory 2)(207)的所述一或多个第二数据存储地址(ADDR2)。11.根据权利要求10所述的于一数据存储系统架构(1)下访问数据的方法,其特征在于,还包括以下步骤:所述第二存储虚拟化控制器(SVC2)(20)中的一第二主机端输出入控制器(201)附加所述一或多个虚拟群播地址(virtual multicast ADDR)于所述写入数据,当所述第二存储虚拟化控制器(SVC2)(20)接收到来自所述主机(15)的所述写入数据后。12.根据权利要求11所述的于一数据存储系统架构(1)下访问数据的方法,其特征在
于,所述第二存储虚拟化控制器(SVC2)(20)中的一第二交换器(switch 2)(203)根据所述一或多个虚拟群播地址(virtual multicast ADDR),将所述写入数据同时存储至所述第二存储器(memory 2)(207)的所述一或多个第二数据存储地址(ADDR2)处、以及同时传送至所述第一存储器(memory 1)(107)的所述一或多个第一数据存储地址(ADDR1)处。13.根据权利要求10所述的于一数据存储系统架构(1)下访问数据的方法,其特征在于,所述第二群播表(MT2)(2031)系存放于所述第二存储虚拟化控制器(SVC2)(20)中一第二交换器(switch 2)(203)。14.根据权利要求1所述的于一数据存储系统架构(1)下访问数据的方法,其特征在于,所述一或多个保留的第二存储空间是位于所述第二存储器(memory 2)(207)的一第二缓存缓冲单元(2071)的中。15.根据权利要求1所述的于一数据存储系统架构(1)下访问数据的方法,其特征在于,还包括:所述第二存储虚拟化控制器(SVC2)(20)通知所述第一存储虚拟化控制器(SVC1)(10),所述写入数据已经存储至所述第一存储器(memory 1)(107)的所述一或多个第一数据存储地址(ADDR1)处;其中所述一或多个第一数据存储地址(ADDR1)系位于所述第一存储器(memory 1)(107)的一第一缓存缓冲单元(1071)的中,而所述一或多个第二数据存储地址(ADDR2)系位于所述第二存储器(memory 2)(207)的一第二缓存缓冲单元(2071)的中。16.根据权利要求1所述的于一数据存储系统架构(1)下访问数据的方法,其特征在于,还包括:所述第一存储虚拟化控制器(SVC1)(10)将存储于所述第一存储器(memory 1)(107)的所述一或多个第一数据存储地址(ADDR1)处的所述写入数据存储至所述第一逻辑盘(LD1)(12)的中。17.根据权利要求16所述的于一数据存储系统架构(1)下访问数据的方法,其特征在于,还包括:当第一存储虚拟化控制器(SVC1)(10)将存储于所述第一存储器(memory1)(107)的所述一或多个第一数据存储地址(ADDR1)处的所述写入数据存储至所述第一逻辑盘(LD1)(12)后,所述第一存储虚拟化控制器(SVC1)(10)通知所述第二存储虚拟化控制器(SVC2)(20)所述写入要求(write request)已执行完成。18.根据权利要求12所述的于一数据存储系统架构(1)下访问数据的方法,其特征在于,还包括:所述第一存储虚拟化控制器(SVC1)(10)发出一确认讯息给所述第二存储虚拟化控制器(SVC2)20,以通知所述第二存储虚拟化控制器(SVC2)20:确认所述写入数据已经成功存储至所述第一存储器(memory 1)(107)的所述一或多个第一数据存储地址(ADDR1)处。19.根据权利要求10所述的于一数据存储系统架构(1)下访问数据的方法,其特征在于,所述第二群播表(MT2)(2031)包括复数个字段,包括:一第一字段用以记录所述一或多个虚拟群播地址(virtual multicast ADDR)、一第二字段用以记录所述一或多个第一数据存储地址(ADDR1)、及一第三字段用以记录所述一或多个第二数据存储地址(ADDR2)。20.根据权利要求10所述的于一数据存储系统架构(1)下访问数据的方法,其特征在
于,所述第一存储虚拟化控制器(SVC1)(10)还具有一第一群播表(MT1)(1031),所述第一群播表(MT1)(1031)包括复数个字段,包括:一第一字段用以记录所述一或多个虚拟群播地址(virtual multicast ADDR)、一第二字段用以记录所述一或多个第一数据存储地址(ADDR1)、及一第三字段用以记录所述一或多个第二数据存储地址(ADDR2)。21.一种于一数据存储系统架构(1)下访问数据的方法,其特征在于,所述数据存储系统架构(1)包括一第一存储虚拟化控制器(SVC1)(10)、一第二存储虚拟化控制器(SVC2)(20)及一存储池(storage pool)(4),其中,所述第一存储虚拟化控制器(SVC1)(10)包括一第一中央处理电路(CPC1)(105)、与一第一存储器(memory 1)(107),所述第二存储虚拟化控制器(SVC2)(20)包括一第二中央处理电路(CPC2)(205)、与一第二存储器(memory 2)(207),所述第一中央处理电路(CPC1)(105)经由一传输接口连接至所述第二中央处理电路(CPC2)(205),所述第一存储器(memory 1)(107)包括复数个第一存储空间,所述第二存储器(memory 2)(207)包括复数个第二存储空间,其中所述方法包括:所述第一存储虚拟化控制器(SVC1)(10)管理所述存储池(storage pool)(4)中一第一逻辑盘(LD1)(12);所述第二存储虚拟化控制器(SVC2)(20)接收来自一主机(15)的一读取要求(read request),其中所述读取要求(read request)系要求读取所述第一逻辑盘(LD1)(12)上存储的一读取数据;所述第二存储虚拟化控制器(SVC2)(20)经由所述传输接口询问所述第一存储虚拟化控制器(SVC1)(10)有关一地址讯息;所述第一存储虚拟化控制器(...

【专利技术属性】
技术研发人员:罗匀键
申请(专利权)人:普安科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1