CN117743038A - 数据访问接口单元及其处理输出入请求的方法 - Google Patents
数据访问接口单元及其处理输出入请求的方法 Download PDFInfo
- Publication number
- CN117743038A CN117743038A CN202311557949.7A CN202311557949A CN117743038A CN 117743038 A CN117743038 A CN 117743038A CN 202311557949 A CN202311557949 A CN 202311557949A CN 117743038 A CN117743038 A CN 117743038A
- Authority
- CN
- China
- Prior art keywords
- controller
- storage device
- storage virtualization
- physical storage
- virtualization controller
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 66
- 238000012545 processing Methods 0.000 title description 20
- 230000008569 process Effects 0.000 claims description 40
- 230000004044 response Effects 0.000 claims description 10
- 230000008878 coupling Effects 0.000 claims description 5
- 238000010168 coupling process Methods 0.000 claims description 5
- 238000005859 coupling reaction Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 239000007787 solid Substances 0.000 description 89
- 238000004891 communication Methods 0.000 description 14
- 101100007538 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) cpc-1 gene Proteins 0.000 description 10
- 101100067989 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) cpc-2 gene Proteins 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000013500 data storage Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 2
- 239000013078 crystal Substances 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 150000003071 polychlorinated biphenyls Chemical class 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开了一种数据访问接口单元,包含:一物理存储装置控制器,接收来自一第一存储控制器的一第一控制信号,据以确认主要控制器为该第一存储控制器,并产生一第一选择信号;一选择器,接收该第一选择信号,并据以选择该第一存储控制器的数据与信号;以及一时钟发生电路,提供一专属时钟信号给该物理存储装置;其中,当该物理存储装置控制器收到来自一第二存储控制器的一重新设置信号时,该物理存储装置控制器以该第二存储控制器为新的主要控制器,并据以产生一第二选择信号控制该选择器选择该第二存储控制器的数据与信号。
Description
技术领域
本发明是有关于一种应用在数据存储领域的数据访问接口单元,尤指一种帮助物理存储装置(physical storage device,PSD)与多个控制器沟通的数据访问接口单元。
背景技术
请参阅图1A,其是为一现有存储系统架构1A(后称「存储系统架构1A」)的框示意图。存储系统架构1A是由一主机(host)15与一独立冗余磁盘阵列子系统(redundant arrayof independent disks subsystem,RAID subsystem)3A(又称为「RAID子系统」3A)所组成,其中该RAID子系统3A包括由两个控制器100,200所组成的一控制器对(controller pair)、与多个固态硬盘(Solid State Disk,SSD)单元301a,301b。
为了能增加数据存储系统的可靠性(reliability),常会见到通过冗余(redundant)的架构,将两个控制器(例如:第一控制器100与第二控制器200)配置成一控制器对(又称「冗余对」(redundant pair)),以因应当一控制器(例如:第一控制器100)发生故障或无法运作时,另一控制器(例如:第二控制器200)可以接管(take over)故障的控制器所负责的工作(例如:接管故障的控制器原先管理的数据存储装置),这样使得主机依然可以连续不中断地对所有数据存储装置继续执行数据访问工作。再者,现今越来越多的数据存储系统采用固态硬盘(Solid State Disk,SSD)作为其数据存储装置。固态硬盘可能提供有单端口(single port)或双端口(dual port),用以与控制器连接。但是,配置双端口(dual port)的固态硬盘不但数量少且价钱贵许多,因此,目前业界在实际应用上,以采用单端口(single port)的固态硬盘为大宗。由此可知,若要兼顾系统的可靠性(reliability)与成本效益,在数据存储系统中配置两个控制器,并采用单端口(singleport)的固态硬盘(Solid State Disk,SSD)作为其数据存储装置,是一常见组合。
以图1A为例,由于RAID子系统3A中的第一固态硬盘(SSD)单元301a与第二固态硬盘(SSD)单元301b所包括的第一固态硬盘(SSD)12与第二固态硬盘(SSD)22皆只有配置单端口(single port),因此两固态硬盘(SSD)单元301a,301b各自更须要一多路复用器(multiplexer)16,26、一固态硬盘(SSD)控制器14,24、与一时钟多路复用器(clockmultiplexer)18,28,用以帮助固态硬盘(SSD)12,22分别与两个控制器100,200连接,以及帮助固态硬盘(SSD)单元301a,301b切换与处理来自控制器(SVC)100,200的数据与信号。其中,第一固态硬盘(SSD)控制器14与第二固态硬盘(SSD)控制器24是用以接收来自主要控制器(primary controller)(例如,第一控制器100或第二控制器200)的控制信号,以控制多路复用器(multiplexer)16,26与时钟多路复用器(clock multiplexer)18,28采用主要控制器(primary controller)的数据与信号,也用以通知主要控制器(primary controller)有关于固态硬盘(SSD)12,22的连接与运作装态;第一多路复用器(multiplexer 1)16与第二多路复用器(multiplexer 2)26是用以接收来自固态硬盘(SSD)控制器14,24的控制信号而导通其所指定路径上的数据与信号;以及,第一时钟多路复用器(clock multiplexer1)18与第二时钟多路复用器(clock multiplexer 2)28是用以接收来自固态硬盘(SSD)控制器14,24的控制信号而采用主要控制器(primary controller)所提供的时钟信号;更具体来说,主要控制器(primary controller)的时钟信号是由其装置端输出入控制器所提供,例如,第一控制器100的第一装置端输出入控制器1007或第二控制器200的第二装置端输出入控制器2007。
举例来说,假设主要控制器(primary controller)是第一控制器100,而次要控制器(secondary controller)是第二控制器200。在系统初始时,主要控制器(第一控制器100)会侦测到来自第一固态硬盘(SSD)单元301a中的第一固态硬盘(SSD)控制器14与第二固态硬盘(SSD)单元301b中的第二固态硬盘(SSD)控制器24的通知信号,以通知主要控制器(第一控制器100)连接有第一固态硬盘(SSD)12与第二固态硬盘(SSD)22。接着,主要控制器(第一控制器100)发出信号通知第一固态硬盘(SSD)控制器14与第二固态硬盘(SSD)控制器24,并通过第一固态硬盘(SSD)控制器14与第二固态硬盘(SSD)控制器24分别控制第一多路复用器(multiplexer 1)16与第二多路复用器(multiplexer 2)26,以导通主要控制器(第一控制器100)与第一固态硬盘(SSD)12、以及主要控制器(第一控制器100)与第二固态硬盘(SSD)22之间的路径。同时,主要控制器(第一控制器100)发出信号通知第一固态硬盘(SSD)控制器14与第二固态硬盘(SSD)控制器24,并通过第一固态硬盘(SSD)控制器14与第二固态硬盘(SSD)控制器24分别控制第一时钟多路复用器(clock multiplexer 1)18与第二时钟多路复用器(clock multiplexer 2)28,以接收主要控制器(具体而言是第一控制器100的第一装置端输出入控制器1007)所提供的一时钟信号,使第一固态硬盘(SSD)12与第二固态硬盘(SSD)22能依据前述时钟信号而运作。
由上述可以得知,当身为主要控制器的第一控制器100故障而无法正常运作、且作为备援的第二控制器200尚未完成接管(take over)作业时,第一固态硬盘(SSD)12与第二固态硬盘(SSD)22势必没有来自控制器100,200的时钟信号可以依循,这样造成固态硬盘(SSD)12,22需要暂停原本执行的作业过程,进而产生访问延迟(latency),影响系统效能。这是现有存储系统架构1A所面临到的第一个问题。
请参阅图1B,其是为另一现有存储系统架构1B(后称「存储系统架构1B」)的框示意图。存储系统架构1B是由一主机(host)15与一独立冗余磁盘阵列子系统(RAID subsystem)3B(又称为「RAID子系统」3B)所组成。其中,RAID子系统3B是由一控制器对(controllerpair)、多个固态硬盘(SSD)单元301、以及多个分配器113,115,117,213,215,217所组成。该控制器对包括一第一控制器100与一第二控制器200;该多个固态硬盘(SSD)单元301包括有一第一固态硬盘(SSD)单元301a、一第二固态硬盘(SSD)单元301b、一第三固态硬盘(SSD)单元301c、一第四固态硬盘(SSD)单元301d、一第五固态硬盘(SSD)单元301e、一第六固态硬盘(SSD)单元301f、一第七固态硬盘(SSD)单元301g、一第八固态硬盘(SSD)单元301h、一第九固态硬盘(SSD)单元301i、一第十固态硬盘(SSD)单元301j、一第十一固态硬盘(SSD)单元301k、一第十二固态硬盘(SSD)单元301l、一第十三固态硬盘(SSD)单元301m、一第十四固态硬盘(SSD)单元301n、一第十五固态硬盘(SSD)单元301o、一第十六固态硬盘(SSD)单元301p、一第十七固态硬盘(SSD)单元301q、一第十八固态硬盘(SSD)单元301r、一第十九固态硬盘(SSD)单元301s、一第二十固态硬盘(SSD)单元301t、一第二十一固态硬盘(SSD)单元301u、一第二十二固态硬盘(SSD)单元301v、一第二十三固态硬盘(SSD)单元301w、与一第二十四固态硬盘(SSD)单元301x。图1B中的RAID子系统3B与图1A中的RAID子系统3A大同小异,两者之间的差别在于RAID子系统3B包括了更多的固态硬盘(SSD)单元301与增加了六个分配器113,115,117,213,215,217。
在图1B的RAID子系统3B的架构中,由于两控制器100,200需要连接更多的固态硬盘(SSD)单元301并提供时钟信号给该些固态硬盘(SSD)单元301,因此须要藉助分配器113,115,117,213,215,217协助布线(routing)复数条时钟信号线路至各个固态硬盘(SSD)单元301。以图1B为例,第一控制器100的第一装置端输出入控制器1007布线(routing)三条时钟信号线路至三个所属分配器113,115,117),再由这三个所属分配器113,115,117)各自布线(routing)八条时钟信号线路至对应的固态硬盘(SSD)单元301,这样总共有24条时钟信号线路,可以涵盖图1B中所有的固态硬盘(SSD)单元301a-301x。更具体的来说,分配器113布线(routing)八条时钟信号线路(时钟信号线路#1~时钟信号线路#8)至第一固态硬盘(SSD)单元301a~第八固态硬盘(SSD)单元301h;分配器115布线(routing)八条时钟信号线路(时钟信号线路#9~时钟信号线路#16)至第九固态硬盘(SSD)单元301i~第十六固态硬盘(SSD)单元301p;以及,分配器117布线(routing)八条时钟信号线路(时钟信号线路#17~时钟信号线路#24)至第十七固态硬盘(SSD)单元301q~第二十四固态硬盘(SSD)单元301x。
同样地,为了提供时钟信号给所有固态硬盘(SSD)单元301a~301x,第二控制器200的第二装置端输出入控制器2007布线(routing)三条时钟信号线路至三个所属分配器213,215,217,再由这三个所属分配器213,215,217各自布线(routing)八条时钟信号线路至对应的固态硬盘(SSD)单元301,这样总共有24条时钟信号线路,可以涵盖图1B中所有的固态硬盘(SSD)单元301a-301x。
由上述可知,在图1B的现有RAID子系统3B的架构中,当多个分配器的其中之一或多个因故障而无法正常运作时,则依赖故障分配器提供时钟信号的多个固态硬盘(SSD)单元301将都会无法接收到来自控制器100,200的装置端输出入控制器1007,2007的时钟信号,这样造成该些固态硬盘(SSD)单元301无法正常运作,进而使得系统的效能低落。举例来说,若分配器113因故障而无法正常运作,将导致第一固态硬盘(SSD)单元301a~第八固态硬盘(SSD)单元301h皆失效而无法正常运作,因而导致整个存储系统架构1B的效能低落。这是现有存储系统架构1B所面临到的第二个问题。
此外,为了实现从控制器100,200的装置端输出入控制器1007,2007提供时钟信号给多个固态硬盘(SSD)单元301,需要使用能够同步提供信号的昂贵精密分配器来达成布线(routing)多条时钟信号线路至不同的固态硬盘(SSD)单元301,这无形中增加了整体制作成本。这是现有存储系统架构1B目前所面临到的第三个问题。再者,分配器本身需要一定的空间来配置,因此分配器与固态硬盘(SSD)单元301之间的布线(routing)必须在分配器占用空间的拥挤情况下、依据布线(routing)规则来设计跟规划,以避免信号衰减跟信号干扰(例如,电磁干扰(EMI,Electromagnetic Interference))。所以,在分配器占用空间且价格较高的因素下,在在都增加了系统的成本与实做的困难度。这是现有存储系统架构1B目前所面临到的第四个问题。
综上可知,如何提供具有低成本、高可靠性及高效能的数据访问接口装置,以协助单端口存储装置与两控制器间的连接,是存储业界亟待解决的问题。
发明内容
本发明的一目的是公开一种数据访问接口单元(8),耦接于一第一存储虚拟化控制器(10)、一第二存储虚拟化控制器(20)、与一物理存储装置(9),用于协助该第一存储虚拟化控制器(10)与该第二存储虚拟化控制器(20)中的其一访问该物理存储装置(9),该数据访问接口单元(8)包括有:一物理存储装置(PSD)控制器(81),是接收来自该第一存储虚拟化控制器(10)的一第一控制信号,据以确认该物理存储装置(9)的主要控制器为该第一存储虚拟化控制器(10),然后产生一第一选择信号;其中,当该物理存储装置(PSD)控制器(81)监测到耦接有该物理存储装置(9)时,传送一通知信号给作为一主要控制器的该第一存储虚拟化控制器(10),以通知该第一存储虚拟化控制器(10)有该物理存储装置(9)可供使用;一选择器(83),用于接收该第一选择信号,并依据该第一选择信号选择来自该第一存储虚拟化控制器(10)的数据与信号;以及一时钟发生电路(85),用以提供一专属时钟信号给该物理存储装置(9);其中,当该物理存储装置(PSD)控制器(81)接收到来自于该第二存储虚拟化控制器(20)所发出的一重新设置信号时,则该物理存储装置(PSD)控制器(81)进行一数据流切换过程,以将该物理存储装置(9)的主要控制器从该第一存储虚拟化控制器(10)变更为该第二存储虚拟化控制器(20),该数据流切换过程包括产生一第二选择信号,用以控制该选择器(83)选择该第二存储虚拟化控制器(20)的数据与信号。
依据本发明的另一实施例,其中该数据访问接口单元(8)是设置在一背板(401)上,且该数据访问接口单元(8)是通过该背板(401)耦接于该第一存储虚拟化控制器(10)、该第二存储虚拟化控制器(20)、与该物理存储装置(9)。
依据本发明的另一实施例,其中该物理存储装置(9)依据该时钟发生电路(85)所提供的该专属时钟信号,处理来自该第一存储虚拟化控制器(10)或该第二存储虚拟化控制器(20)的至少一输出入请求(I/O request)。
依据本发明的另一实施例,其中若该第二存储虚拟化控制器(20)在每经过一第一时间间隔时,没有接收到来自该第一存储虚拟化控制器(10)的一确认信号,则该第二存储虚拟化控制器(20)产生并发送该重新设置信号给该物理存储装置(PSD)控制器(81),用以通知该物理存储装置(PSD)控制器(81)以该第二存储虚拟化控制器(20)作为该物理存储装置(9)的主要控制器,并据以产生该第二选择信号,控制该选择器(83)选择该第二存储虚拟化控制器(20)的数据与信号。
依据本发明的另一实施例,其中若该第二存储虚拟化控制器(20)在发送一询问信号给该第一存储虚拟化控制器(10)后,没有接收到来自该第一存储虚拟化控制器(10)的一回应信号,则该第二存储虚拟化控制器(20)产生并发送该重新设置信号给该物理存储装置(PSD)控制器(81),用以通知该物理存储装置(PSD)控制器(81)以该第二存储虚拟化控制器(20)作为该物理存储装置(9)的主要控制器,并据以产生该第二选择信号,控制该选择器(83)选择该第二存储虚拟化控制器(20)的数据与信号。
依据本发明的另一实施例,其中当该物理存储装置(PSD)控制器(81)进行该数据流切换过程时,该物理存储装置(9)继续依据该时钟发生电路(85)所提供的该专属时钟信号执行来自该第一存储虚拟化控制器(10)的该至少一输出入请求(I/O request)。
依据本发明的另一实施例,其中当该物理存储装置(PSD)控制器(81)进行该数据流切换过程时,该物理存储装置(9)暂停执行来自该第一存储虚拟化控制器(10)的该至少一输出入请求(I/O request)。
依据本发明的另一实施例,其中该时钟发生电路(85)是以一对一的方式提供该专属时钟信号给该物理存储装置(9)。
依据本发明的另一实施例,其中该第一存储虚拟化控制器(10)与该第二存储虚拟化控制器(20)不需要额外的电路元件协助制导自身的时钟信号至该物理存储装置(9)。
本发明的另一目的是公开一种数据访问方法,应用于一RAID子系统(4A,4B,4C),该RAID子系统(4A,4B,4C)包括有一存储虚拟化控制器对(10,20)、一物理存储装置(9)、以及作为该存储虚拟化控制器对与该物理存储装置(9)的中介的一数据访问接口单元(8),该数据访问接口单元(8)包括有一物理存储装置(PSD)控制器(81)、一选择器(83)以及一时钟发生电路(85),该存储虚拟化控制器对(10,20)包括有一第一存储虚拟化控制器(10)与一第二存储虚拟化控制器(20),该数据访问方法包括有:将该数据访问接口单元(8)耦接于该存储虚拟化控制器对(10,20)与该物理存储装置(9)之间;该物理存储装置(PSD)控制器(81)监测到耦接有该物理存储装置(9)后,传送一通知信号给作为主要控制器的该第一存储虚拟化控制器(10),以通知该第一存储虚拟化控制器(10)有该物理存储装置(9)可供使用;该物理存储装置(PSD)控制器(81)接收来自该第一存储虚拟化控制器(10)的一第一控制信号,并据以产生一第一选择信号且传送至该选择器(83);该选择器(83)接收该第一选择信号,并依据该第一选择信号导通该第一存储虚拟化控制器(10)与该物理存储装置(9)之间的路径上的数据与信号,使得该第一存储虚拟化控制器(10)作为该物理存储装置(9)的主要控制器;该时钟发生电路(85)提供一专属时钟信号给该物理存储装置(9);以及该物理存储装置(9)依据该时钟发生电路(85)所提供的该专属时钟信号,处理来自该第一存储虚拟化控制器(10)的至少一输出入请求(I/O request);其中,当该物理存储装置(PSD)控制器(81)接收到来自于该第二存储虚拟化控制器(20)所发出的一重新设置信号时,则该物理存储装置(PSD)控制器(81)进行一数据流切换过程,以将该物理存储装置(9)的主要控制器从该第一存储虚拟化控制器(10)变更为该第二存储虚拟化控制器(20),该数据流切换过程包括产生一第二选择信号,用以控制该选择器(83)导通该第二存储虚拟化控制器(20)与该物理存储装置(9)之间的路径上的数据与信号。
依据本发明的另一实施例,其中该数据访问接口单元(8)是设置在一背板(401)上,且该数据访问接口单元(8)是通过该背板(401)耦接于该存储虚拟化控制器对(10,20)与该物理存储装置(9)之间。
依据本发明的另一实施例,其中若该第二存储虚拟化控制器(20)在每经过一第一时间间隔时,没有接收到来自该第一存储虚拟化控制器(10)的一确认信号,则该第二存储虚拟化控制器(20)产生并发送该重新设置信号给该物理存储装置(PSD)控制器(81),用以通知该物理存储装置(PSD)控制器(81)以该第二存储虚拟化控制器(20)作为该物理存储装置(9)的主要控制器,并据以产生该第二选择信号,控制该选择器(83)选择该第二存储虚拟化控制器(20)的数据与信号。
依据本发明的另一实施例,其中若该第二存储虚拟化控制器(20)在发送一询问信号给该第一存储虚拟化控制器(10)后,没有接收到来自该第一存储虚拟化控制器(10)的一回应信号,则该第二存储虚拟化控制器(20)产生并发送该重新设置信号给该物理存储装置(PSD)控制器(81),用以通知该物理存储装置(PSD)控制器(81)以该第二存储虚拟化控制器(20)作为该物理存储装置(9)的主要控制器,并据以产生该第二选择信号,控制该选择器(83)选择该第二存储虚拟化控制器(20)的数据与信号。
依据本发明的另一实施例,其中当该物理存储装置(PSD)控制器(81)进行该数据流切换过程时,该物理存储装置(9)继续依据该时钟发生电路(85)所提供的该专属时钟信号执行来自该第一存储虚拟化控制器(10)的该至少一输出入请求(I/O request)。
依据本发明的另一实施例,其中当该物理存储装置(PSD)控制器(81)进行该数据流切换过程时,该物理存储装置(9)暂停执行来自该第一存储虚拟化控制器(10)的该至少一输出入请求(I/O request)。
依据本发明的另一实施例,其中该时钟发生电路(85)是以一对一的方式提供该专属时钟信号给该物理存储装置(9)。
依据本发明的另一实施例,其中该第一存储虚拟化控制器(10)与该第二存储虚拟化控制器(20)不需要额外的电路元件协助制导自身的时钟信号至该物理存储装置(9)。
本发明的又一目的是公开一种数据访问方法,应用在一RAID子系统(4A,4B,4C),该RAID子系统(4A,4B,4C)包括有一存储虚拟化控制器对(10,20)、一物理存储装置(9)、以及作为该存储虚拟化控制器对(10,20)与该物理存储装置(9)的中介的一数据访问接口单元(8),该数据访问接口单元(8)包括有一物理存储装置(PSD)控制器(81)、一选择器(83)与一时钟发生电路(85),该存储虚拟化控制器对(10,20)包括有一第一存储虚拟化控制器(10)与一第二存储虚拟化控制器(20),其中该方法包括:将该数据访问接口单元(8)耦接于该存储虚拟化控制器对(10,20)与该物理存储装置(9)之间;设定该物理存储装置(9)的主要控制器是该第一存储虚拟化控制器(10);该物理存储装置(9)依据该时钟发生电路(85)所提供的一专属时钟信号处理来自于该第一存储虚拟化控制器(10)的至少一第一输出入请求;该第二存储虚拟化控制器(20)发出一重新设置信号给该数据访问接口单元(8)中的该物理存储装置(PSD)控制器(81),以设定该第二存储虚拟化控制器(20)为该物理存储装置(9)的主要控制器;该物理存储装置(PSD)控制器(81)依据该重新设置信号产生一选择信号,并将之发送给该选择器(83),使得该选择器(83)依据该选择信号导通该第二存储虚拟化控制器(20)与该物理存储装置(9)之间的路径上的数据与信号;以及该物理存储装置(9)依据该时钟发生电路(85)所提供的专属时钟信号处理来自于该第二存储虚拟化控制器(20)的至少一第二输出入请求;其中,在该物理存储装置(9)的主要控制器从该第一存储虚拟化控制器(10)切换到该第二存储虚拟化控制器(20)的过程中,该物理存储装置(9)依据该时钟发生电路(85)所提供的专属时钟信号处理该至少一第一输出入请求。
依据本发明的另一实施例,其中该数据访问接口单元(8)是设置在一背板(401)上,且该数据访问接口单元(8)是通过该背板(401)耦接于该存储虚拟化控制器对(10,20)与该物理存储装置(9)之间。
依据本发明的另一实施例,其中该第二存储虚拟化控制器(20)发出一重新设置信号给该数据访问接口单元(8)中的该物理存储装置(PSD)控制器(81)的步骤进一步包括:若该第二存储虚拟化控制器(20)在每经过一第一时间间隔时,没有接收到来自该第一存储虚拟化控制器(10)的一确认信号,则该第二存储虚拟化控制器(20)产生并发送该重新设置信号给该物理存储装置(PSD)控制器(81)。
依据本发明的另一实施例,其中该第二存储虚拟化控制器(20)发出一重新设置信号给该数据访问接口单元(8)中的该物理存储装置(PSD)控制器(81)的步骤进一步包括:若该第二存储虚拟化控制器(20)在发送一询问信号给该第一存储虚拟化控制器(10)后,没有接收到来自该第一存储虚拟化控制器(10)的一回应信号,则该第二存储虚拟化控制器(20)产生并发送该重新设置信号给该物理存储装置(PSD)控制器(81)。
依据本发明的另一实施例,其中该时钟发生电路(85)是以一对一的方式提供该专属时钟信号给该物理存储装置(9)。
依据本发明的另一实施例,其中该第一存储虚拟化控制器(10)与该第二存储虚拟化控制器(20)不需要额外的电路元件协助制导自身的时钟信号至该物理存储装置(9)。
附图说明
图1A是为一现有存储系统架构1A的框示意图。
图1B是为另一现有存储系统架构1B的框示意图。
图2是依据本发明的一存储系统架构2A的框示意图。
图3A是依据本发明的一存储系统架构2B的框示意图。
图3B是依据本发明的一存储系统架构2C的框示意图。
图4是依据本发明的一实施例,设定主要控制器的流程图。
图5是依据本发明的一实施例,设定物理存储装置的使用者的流程图。
图6是依据本发明的一实施例,主要控制器在正常运作模式下,物理存储装置运作的流程图。
图7A是依据本发明的一实施例,当原主要控制器没有正常运作时,切换物理存储装置的使用者为新主要控制器的流程图。
图7B是依据本发明的另一实施例,当主要控制器没有正常运作时,切换物理存储装置的使用者为新主要控制器的流程图。
其中,附图标记说明如下:
1A、1B :现有存储系统架构
2A、2B、2C :存储系统架构
3A、3B、4A、4B、4C :独立冗余磁盘阵列子系统(RAID子系统)
7 :冗余控制器通信连结
8 :数据访问接口单元
8a :第一数据访问接口单元
8b :第二数据访问接口单元
9 :物理存储装置(PSD)
9a :第一物理存储装置
9b :第二物理存储装置
10 :第一存储虚拟化控制器
12 :第一固态硬盘
14 :第一固态硬盘(SSD)控制器
15 :主机
16 :第一多路复用器
18 :第一时钟多路复用器
20 :第二存储虚拟化控制器
22 :第二固态硬盘
24 :第二固态硬盘(SSD)控制器
26 :第二多路复用器
28 :第二时钟多路复用器
81 :物理存储装置(PSD)控制器
81a :第一物理存储装置(PSD)控制器
81b :第二物理存储装置(PSD)控制器
83 :选择器
83a :第一选择器
83b :第二选择器
85 :时钟发生电路
85a :第一时钟发生电路
85b :第二时钟发生电路
100 :第一控制器
101 :第一主机端输出入装置连结控制器
103 :第一中央处理电路
105 :第一存储器
107 :第一装置端输出入装置连结控制器
113、115、117、213、215、217 :分配器
200 :第二控制器
201 :第二主机端输出入装置连结控制器
203 :第二中央处理电路
205 :第二存储器
207 :第二装置端输出入装置连结控制器
301 :固态硬盘(SSD)单元
301a~301x :第一固态硬盘(SSD)单元~第二十四固态硬盘(SSD)单元
401 :背板
1007 :第一装置端输出入控制器
2007 :第二装置端输出入控制器
4001~4017 :流程步骤
5001~5007 :本发明的一存储系统架构2B,在第一存储虚拟化控制器10为主要控制器下耦接有物理存储装置(PSD)的设定流程步骤
6001~6005 :本发明的一存储系统架构2A,在第一存储虚拟化控制器10为主要控制器且在主要控制器于正常运作模式下,物理存储装置(PSD)的运作流程步骤
7001~7009 :本发明的一存储系统架构2A、2B、2C,在第一存储虚拟化控制器10为主要控制器且在主要控制器于没有正常运作模式下,物理存储装置(PSD)的运作流程步骤
7101~7111 :本发明的一存储系统架构2A、2B、2C,在第一存储虚拟化控制器10为主要控制器且在主要控制器于没有正常运作模式下,物理存储装置(PSD)的另一种运作流程步骤
具体实施方式
在说明书及后续的申请专利范围当中使用了某些词汇来指称特定的元件。所属领域中具有通常知识者应可理解,硬体制造商可能会用不同的名词来称呼同样的元件。本说明书及后续的申请专利范围并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准则。在通篇说明书及后续的权利要求当中所提及的「包括」是为一开放式的用语,故应解释成「包括但不限定于」。另外,「耦接」一词在这是包括任何直接及间接的电气连接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表该第一装置可直接电气连接于该第二装置,或通过其他装置或连接手段间接地电气连接至该第二装置。
请参阅图2,其是为依据本发明的一实施例的一存储系统架构2A的框示意图。存储系统架构2A是由一主机(host)15与一独立冗余磁盘阵列子系统(redundant array ofindependent disks subsystem,RAID subsystem)4A(又称为「RAID子系统」4A)所组成。其中,该RAID子系统4A包括由两个存储虚拟化控制器(storage virtualizationcontroller,SVC)10,20所组成的一存储虚拟化控制器对(SVC pair)、多个物理存储装置(physical storage device,PSD)9a,9b、与多个数据访问接口单元8a,8b;其中,该数据访问接口单元8a,8b是耦接于该两存储虚拟化控制器(SVC)10,20与该些物理存储装置(PSD)9a,9b之间。
为了增加数据存储系统的可靠性(reliability),常会见到通过冗余(redundant)的架构,将两个存储虚拟化控制器(SVC)(例如:第一存储虚拟化控制器10与第二存储虚拟化控制器20)配置成一存储虚拟化控制器对(SVC pair),以因应当一存储虚拟化控制器(例如:第一存储虚拟化控制器10)发生故障或无法运作时,另一存储虚拟化控制器(例如:第二存储虚拟化控制器20)可以接管(take over)故障的存储虚拟化控制器所负责的工作(例如:接管故障的存储虚拟化控制器原先管理的物理存储装置(PSD)),这样使得主机依然可以连续不中断地对所有物理存储装置(PSD)继续执行数据访问工作。所以,于存储系统架构2A的RAID子系统4A中,将第一存储虚拟化控制器(SVC 1)10与第二存储虚拟化控制器(SVC2)20组成一存储虚拟化控制器对(SVC pair),以作为互相备援。
在本发明的另一实施例,第一存储虚拟化控制器(SVC 1)10与第二存储虚拟化控制器(SVC 2)20所组成的存储虚拟化控制器对(SVC pair)更耦接于一背板(backplane)(图中未绘示),并通过该背板(backplane)与其它元件连接。例如:存储虚拟化控制器(SVC 1,SVC 2)10,20通过背板(backplane)与数据访问接口单元8a,8b连接。
第一存储虚拟化控制器(SVC1)10与第二存储虚拟化控制器(SVC2)20之间具有一冗余控制器通信(redundant controller communicating,RCC)连结7。第一存储虚拟化控制器(SVC1)10与第二存储虚拟化控制器(SVC2)20通过冗余控制器通信(RCC)连结7建立彼此间的控制器间通信通道(inter-controller communications channel,ICC),以互相传送信息或数据。在实作控制器间通信通道(ICC)的常见实施方式是为采用光纤通道仲裁回圈(Fiber Channel-Arbitrated Loop,FC-AL)、操作于目标模式的并列小型计算机系统接口(parallel small computer systeminterface,parallel SCSI)、采用远端存储器直接访问接口(remote direct memory access,RDMA)、采用快速周边元件互连接口(PCIExpress,PCI-E)或操作于目标模式的序列先进技术接取接口(serial advancedtechnology attachment,SATA)等通信连结来实现,但不以此为限。
第一存储虚拟化控制器10包括有一第一主机端输出入装置连结控制器(host-side I/O device interconnect controller 1)101、一第一中央处理电路(centralprocess circuit 1,CPC1)103、一第一存储器(memory 1)105、以及一第一装置端输出入装置连结控制器(device-side I/O device interconnect controller 1)107。
其中,第一存储虚拟化控制器10中的第一主机端输出入装置连结控制器(host-side I/O device interconnect controller 1)101分别耦接至主机15与第一中央处理电路(CPC 1)103,其是用以接收来自主机15的访问要求,并将其转换及/或映射给第一中央处理电路(CPC 1)103。
其中,第一存储虚拟化控制器10中的第一中央处理电路(CPC 1)103是用以处理及/或监控来自于主机15的访问要求。
其中,第一存储虚拟化控制器10中的第一存储器(memory 1)105耦接于第一中央处理电路(CPC 1)103,其是用以作为一缓冲器,用来缓冲传送于主机(host)15与多个物理存储装置(PSD)9a,9b之间通过第一中央处理电路(CPC 1)103的数据。
其中,第一存储虚拟化控制器10中的第一装置端输出入装置连结控制器(device-side I/O device interconnect controller 1)107耦接于第一中央处理电路(CPC 1)103与装置端的多个物理存储装置(PSD)9a,9b,其是用以作为多个物理存储装置(PSD)9a,9b与第一中央处理电路(CPC 1)103之间的接口及缓冲,接收由第一中央处理电路(CPC 1)103传来的输出入请求(I/O request)和相关数据,并且将来自该第一中央处理电路(CPC 1)103的输出入请求(I/O request)和相关数据转换及/或映射给多个物理存储装置(PSD)9a,9b。
同样的,第二存储虚拟化控制器20包括有一第二主机端输出入装置连结控制器(host-side I/O device interconnect controller 2)201、一第二中央处理电路(central process circuit 2,CPC 2)203、一第二存储器(memory 2)205、以及一第二装置端输出入装置连结控制器(device-side I/O device interconnect controller 2)207。
其中,第二存储虚拟化控制器20中的第二主机端输出入装置连结控制器(host-side I/O controller 2)201分别连接至主机15与第二中央处理电路(central processcircuit 2,CPC 2)203,其是用以接收来自主机15的访问要求,并将其转换及/或映射给第二中央处理电路(CPC 2)203。
其中,第二存储虚拟化控制器20中的第二中央处理电路(CPC 2)203是用以处理及/或监控来自于主机15的访问要求。
其中,第二存储虚拟化控制器20中的第二存储器(memory 2)205连接于第二中央处理电路(CPC 2)203,其是用以作为一缓冲器,用来缓冲传送于主机(host)15与多个物理存储装置(PSD)9a,9b之间通过第二中央处理电路(CPC 2)203的数据。
其中,第二存储虚拟化控制器20中的第二装置端输出入装置连结控制器(device-side I/O device interconnect controller 2)207连接第二中央处理电路(CPC 2)203与装置端的多个物理存储装置(PSD)9a,9b,其是用以作为该多个物理存储装置(PSD)9a,9b与第二中央处理电路(CPC 2)203之间的接口及缓冲,接收由第二中央处理电路(CPC 2)203传来的输出入请求(I/O request)和相关数据,并且将来自第二中央处理电路(CPC 2)203传来的输出入请求(I/O request)和相关数据转换及/或映射给该多个物理存储装置(PSD)9a,9b。
在本发明的一实施例,多个数据访问接口单元8包括有一第一数据访问接口单元8a与一第二数据访问接口单元8b。第一数据访问接口单元8a包括有一第一物理存储装置(PSD)控制器81a、一第一选择器(selector 1)83a、与一第一时钟发生电路(clockgeneration circuit 1)85a;第二数据访问接口单元8b包括有一第二物理存储装置(PSD)控制器81b、一第二选择器(selector 2)83b与一第二时钟发生电路(clock generationcircuit 2)85b。
其中,第一物理存储装置(PSD)控制器81a是用以接收来自主要控制器(primarycontroller)(例如,第一存储虚拟化控制器10或第二存储虚拟化控制器20)的控制信号,以控制第一选择器(selector 1)83a采用主要控制器(primary controller)的数据与信号。此外,第一物理存储装置(PSD)控制器81a也用以通知主要控制器(primary controller)有关于第一物理存储装置(PSD)9a的连接与运作状态。同样地,第二物理存储装置(PSD)控制器81b是用以接收来自主要控制器(primary controller)(例如,第一存储虚拟化控制器10或第二存储虚拟化控制器20)的控制信号,以控制第二选择器(selector 2)83b采用主要控制器(primary controller)的数据与信号。此外,第二物理存储装置(PSD)控制器81b也用以通知主要控制器(primary controller)有关于第二物理存储装置(PSD)9b的连接与运作状态。
其中,第一选择器(selector 1)83a是用以接收来自第一物理存储装置(PSD)控制器81a的控制信号而导通其所指定路径上的数据与信号。同样地,第二选择器(selector 2)83b是用以接收来自第二物理存储装置(PSD)控制器81b的控制信号而导通其所指定路径上的数据与信号。根据本发明的一实施例,第一选择器(selector 1)83a与第二选择器(selector 2)83b在实际应用上可能是多路复用器(multiplexer)或是遵循各种不同协议的开关电路(switch circuit),例如:PCIe switch,或是其它任何可以达到同样功能的电路模块或装置。
其中,第一时钟发生电路(clock generation circuit 1)85a是为第一物理存储装置(PSD)9a的专用时钟发生电路,其独立提供一第一时钟信号给第一物理存储装置(PSD)9a,使第一物理存储装置(PSD)9a能依据该第一时钟信号正常运作。同样地,第二时钟发生电路(clock generation circuit 2)85b是为第二物理存储装置(PSD)9b的专用时钟发生电路,其独立提供一第二时钟信号给第二物理存储装置(PSD)9b,使第二物理存储装置(PSD)9b能依据该第二时钟信号正常运作。换言之,第一时钟发生电路(clock generationcircuit 1)85a与第二时钟发生电路(clock generation circuit 2)85b是独立运作的元件,不受存储虚拟化控制器10,20或物理存储装置(PSD)控制器81a,81b所控制。根据本发明的一实施例,第一时钟发生电路85a与第二时钟发生电路85b在实际应用上可能是振荡器(oscillator)、时钟信号发生器(clock generator)、或晶体电路(crystal circuit),或是其它任何可以达到同样功能的电路模块或装置。
依据本发明的一实施例,第一数据访问接口单元8a中的第一物理存储装置(PSD)控制器81a、第一选择器(selector 1)83a、与第一时钟发生电路(clock generationcircuit 1)85a是为各自分离独立的电路模块并耦接至多个物理存储装置(PSD)9中的第一物理存储装置(PSD)9a;第二数据访问接口单元8b中的第二物理存储装置(PSD)控制器81b、第二选择器(selector 2)83a、与第二时钟发生电路(clock generation circuit 2)85b是为各自分离独立的电路模块并耦接至多个物理存储装置(PSD)9中的第二物理存储装置(PSD)9b。
依据本发明的另一实施例,第一数据访问接口单元8a中的第一物理存储装置(PSD)控制器81a、第一选择器(selector 1)83a、与第一时钟发生电路(clock generationcircuit 1)85a是被整合至同一芯片或电路且耦接至多个物理存储装置(PSD)9中的第一物理存储装置(PSD)9a;第二数据访问接口单元8b中的第二物理存储装置(PSD)控制器81b、第二选择器(selector 2)83b、与第二时钟发生电路(clock generation circuit 2)85b是被整合至同一芯片或电路且耦接至多个物理存储装置(PSD)9中的第二物理存储装置(PSD)9b。
举例来说,假设主要控制器(primary controller)是第一存储虚拟化控制器10,而次要控制器(secondary controller)是第二存储虚拟化控制器20。在操作时,主要控制器(也就是说,第一存储虚拟化控制器10)会收到来自物理存储装置(PSD)控制器81a,81b的通知信号,这样便可确认其耦接有哪些物理存储装置(PSD)9(也就是说,第一物理存储装置(PSD)9a与第二物理存储装置(PSD)9b)。至于如何决定两存储虚拟化控制器10,20中何者为主要控制器(primary controller)、何者为次要控制器(secondary controller)的方法,将在下文有关图4的描述中做详细说明。
根据本发明技术,当物理存储装置(PSD)9a,9b被安装在RAID子系统4A时,第一时钟发生电路(clock generation circuit 1)85a会提供专属的第一时钟信号给第一物理存储装置(PSD)9a,而第二时钟发生电路(clock generation circuit2)85b会提供专属的第二时钟信号给第二物理存储装置(PSD)9b,这样第一物理存储装置(PSD)9a与第二物理存储装置(PSD)9b能各别依据前述第一时钟信号与第二时钟信号正常运作。接着,主要控制器(具体来说,是第一存储虚拟化控制器10的第一装置端输出入装置连结控制器107)发出一设定信号至物理存储装置(PSD)控制器81a,81b,根据该设定信号,使得主要控制器(第一存储虚拟化控制器10)可以通过物理存储装置(PSD)控制器81a,81b控制其各别耦接的选择器83a,83b以导通物理存储装置(PSD)9a,9b与主要控制器(第一存储虚拟化控制器10)之间的通信路径。
请注意,根据本发明技术,由于物理存储装置(PSD)9a,9b各自配有专属且独立运作的时钟发生电路85a,85b,因此物理存储装置(PSD)9a,9b不须仰赖存储虚拟化控制器10,20提供运作所需的时钟信号。即便是主要控制器(第一存储虚拟化控制器10)发生故障而无法提供服务,物理存储装置(PSD)9a,9b依然能够依据个别专属的时钟发生电路85a,85b持续产生专属的时钟信号而维持正常运作,进而维持了系统效能,不会因此产生延迟。
请参阅图3A,其是为依据本发明的一实施例的一存储系统架构2B的框示意图。该存储系统架构2B是由一主机(host)15与一独立冗余磁盘阵列子系统(redundant array ofindependent disks subsystem,RAID subsystem)4B(又称为「RAID子系统」4B)所组成。其中,该RAID子系统4B包括由一第一存储虚拟化控制器(SVC 1)10与一第二存储虚拟化控制器(SVC 2)20所组成的一存储虚拟化控制器对(SVC pair)、二十四个物理存储装置(physical storage device,PSD)9、与二十四个数据访问接口单元8;其中,该些数据访问接口单元8是耦接于该两存储虚拟化控制器(SVC)10,20与该些物理存储装置(PSD)9之间。在本发明的另一实施例,第一存储虚拟化控制器(SVC 1)10与第二存储虚拟化控制器(SVC2)20所组成的存储虚拟化控制器对(SVC pair)更耦接于一背板(backplane)(图中未绘示),并通过该背板(backplane)与其它元件连接;例如,存储虚拟化控制器(SVC 1,SVC 2)10,20通过背板(backplane)与数据访问接口单元8连接。
其中,RAID子系统4B所包括的第一存储虚拟化控制器10与第二存储虚拟化控制器20,其架构与功能实质相同于前述图2中RAID子系统4A所包括的第一存储虚拟化控制器10与第二存储虚拟化控制器20。因此,以下不再赘述图3A中RAID子系统4B所包括的第一存储虚拟化控制器10与第二存储虚拟化控制器20的相关细节。
相较于图2中的RAID子系统4A,图3A中的RAID子系统4B连接有更多的物理存储装置(PSD)9,因此须要更多的数据访问接口单元8协助物理存储装置(PSD)9与两存储虚拟化控制器10,20耦接。以图3A中的RAID子系统4B为例,其中进一步包括有二十四个物理存储装置(PSD)9,因此须要搭配二十四个数据访问接口单元8。每一数据访问接口单元8都包括有:一物理存储装置(PSD)控制器81、一选择器(selector)83、与一时钟发生电路(clockgeneration circuit)85。其中,该物理存储装置(PSD)控制器81即是图2中的物理存储装置(PSD)控制器81a,81b,该选择器(selector)83即是图2中的选择器(selector)83a,83b,该时钟发生电路(clock generation circuit)85即是图2中的时钟发生电路(clockgeneration circuit)85a,85b。换句话说,有关数据访问接口单元8内所包括的各个元件(物理存储装置(PSD)控制器81、选择器(selector)83、时钟发生电路(clock generationcircuit)85)已在前文中做了详细说明,因此,在这不再赘述。
根据本发明的一实施例,该些物理存储装置(PSD)9可能是硬盘(Hard DiskDrive,HDD)或固态硬盘(SSD),或是其它可以达到同样功能的物理存储装置。
依据本发明的一实施例,RAID子系统4B中的一或多个数据访问接口单元8,其个别所包括的元件(物理存储装置(PSD)控制器81、选择器(selector)83、时钟发生电路(clockgeneration circuit)85)是全部或部分包括于各自分离独立的一电路载体上。根据本发明的一实施例,该电路载体可能是:印刷电路板(Printed Circuit Board,PCB)、背板(backplane)、多路复用板(Mux Board)、或其它可以达到相同功效的电路模块或装置。根据图3A所绘示的实施例,每一数据访问接口单元8皆以一独立的多路复用板(Mux Board)实现;也就是说,该多路复用板(Mux Board)中包括形成一数据访问接口单元8所需的所有元件(至少包括物理存储装置(PSD)控制器81、选择器(selector)83、与时钟发生电路(clockgeneration circuit)85)。
依据本发明的一实施例,RAID子系统4B中的多个数据访问接口单元8,其个别所包括的元件(物理存储装置(PSD)控制器81、选择器(selector)83、时钟发生电路(clockgeneration circuit)85)是全部或部分被整合在一或多个芯片中并被安装在一独立的电路载体上(图未示),例如:印刷电路板(PCB)、背板(backplane)、多路复用板(Mux Board)、或其它可以达到相同功效的电路模块或装置。请参阅图3B,其中RAID子系统4C所包括的所有数据访问接口单元8皆整合于一背板(backplane)401上;也就是说,该背板(backplane)401中包括了形成多个数据访问接口单元8所需的所有元件(至少包括物理存储装置(PSD)控制器81、选择器(selector)83、与时钟发生电路(clock generation circuit)85)。
依据本发明的一实施例,假设主要控制器(primary controller)是第一存储虚拟化控制器10,而次要控制器(secondary controller)是第二存储虚拟化控制器20。在操作时,主要控制器(第一存储虚拟化控制器10)会收到来自该些数据访问接口单元8中的物理存储装置(PSD)控制器81的通知信号,这样便可确认其耦接有哪些物理存储装置(PSD)9。当该些物理存储装置(PSD)9被安装在RAID子系统4B时,每一物理存储装置(PSD)9所耦接的数据访问接口单元8其中的时钟发生电路(clock generation circuit)会提供一专属的时钟信号给对应的物理存储装置(PSD)9。这样,使得每一物理存储装置(PSD)9能分别依据其专属的时钟信号来正常运作。接着,主要控制器(具体来说,是第一存储虚拟化控制器10的第一装置端输出入装置连结控制器107)会发出一控制信号至各个数据访问接口单元8中的物理存储装置(PSD)控制器81,用以通过该些数据访问接口单元8中的物理存储装置(PSD)控制器81来分别控制其对应的选择器(selector)83,使其对应的选择器(selector)83导通物理存储装置(PSD)9与主要控制器(也就是说,第一存储虚拟化控制器10)之间的通信路径。
在本发明的一实施例,物理存储装置(PSD)控制器81在收到来自第一存储虚拟化控制器10所发出控制信号后,物理存储装置(PSD)控制器81会据之产生一选择信号并将之发送给对应的选择器(selector)83,使得该选择器(selector)83依据该选择信号选择来自第一存储虚拟化控制器(10)的数据与信号。
请注意,本发明所公开的数据访问接口单元8中的时钟发生电路(clockgeneration circuit)85是为一独立运作的电路元件。因此,即便是主要控制器因发生故障而无法提供服务,物理存储装置(PSD)9依然能够从其连接的数据访问接口单元8中的时钟发生电路(clock generation circuit)85接收到其专属的时钟信号。这样物理存储装置(PSD)9便可不受影响继续运作,进而维持系统效能,避免发生运作延迟(latency)。这样,解决了现有技术中,因为主要控制器故障且在另一控制器交接完成前的过渡时期,物理存储装置(PSD)9因为没有时钟信号而需要暂停原本执行的作业过程的第一个问题。
此外,由于本发明中的每一物理存储装置(PSD)9都连接有一数据访问接口单元8,其中的时钟发生电路(clock generation circuit)85直接提供专属时钟信号给对应的物理存储装置(PSD)9,因此,当存储系统架构2B连接较多的物理存储装置(PSD)9时,不再需要额外的电路元件(例如,图1B中的分配器113,115,117)协助存储虚拟化控制器10,20布线以制导时钟信号给多个物理存储装置(PSD)9。这样,解决了现有技术中,因为分配器故障而使得与其连接的多个物理存储装置(PSD)9皆无法正常运作,进而导致系统效能低落的第二个问题。
而且,由于存储系统架构2B不需要额外的电路元件(例如,分配器113,115,117,213,215,217),节省了元件成本,因此避免了现有技术中第三个成本增加的问题。此外,也因为存储系统架构2B不需要额外的电路元件(例如,分配器113,115,117,213,215,217),其电路也相形单纯而得以免除复杂布线(routing)的情形,进而解决了现有技术中第四个布线复杂的问题。
请参阅图3B,其是为依据本发明的一实施例的一存储系统架构2C(后称「存储系统架构2C」)的框示意图。该存储系统架构2C是由一主机(host)15与一独立冗余磁盘阵列子系统(redundant array of independent disks subsystem,RAID subsystem)4C(又称为「RAID子系统」4C)所组成。其中,该RAID子系统4C包括由一第一存储虚拟化控制器(SVC 1)10与一第二存储虚拟化控制器(SVC 2)20所组成的一存储虚拟化控制器对(SVC pair)、二十四个物理存储装置(physical storage device,PSD)9、与二十四个数据访问接口单元8;其中,该些数据访问接口单元8是耦接于该两存储虚拟化控制器(SVC)10,20与该些物理存储装置(PSD)9之间。在本发明的另一实施例,第一存储虚拟化控制器(SVC 1)10与第二存储虚拟化控制器(SVC 2)20所组成的存储虚拟化控制器对(SVC pair)更耦接于一背板(backplane)(图中未绘示),并通过该背板(backplane)与其它元件连接;例如:存储虚拟化控制器(SVC 1,SVC 2)10,20通过背板(backplane)与数据访问接口单元8连接。
由于图3B中的RAID子系统4C所包括的所有元件与元件间的连结关系皆与图3A中的RAID子系统4B相同,因此请参阅前文有关RAID子系统4B的说明,以了解RAID子系统4C中各个元件的功能与连结关系,在这不再赘述。同样地,由于本发明的存储系统架构2C不需要额外的电路元件(例如,分配器113,115,117,213,215,217),节省了元件成本,从而避免了现有技术中第三个成本增加的问题。而且,也因为存储系统架构2B不需要额外的电路元件(例如,分配器113,115,117,213,215,217),其电路也相对单纯而不需要进行复杂的布线(routing),进而解决了现有技术中第四个布线复杂的问题。
其中,图3B中的RAID子系统4C与图3A中的RAID子系统4B相较,其差异处在于:RAID子系统4C中的二十四个数据访问接口单元8都被配置在同一背板(backplane)401上。也就是说,该背板(backplane)401中包括了形成二十四个数据访问接口单元8所需的所有元件(至少包括物理存储装置(PSD)控制器81、选择器(selector)83、与时钟发生电路(clockgeneration circuit)85)。
根据本发明的一实施例,RAID子系统4B,4C中的多个数据访问接口单元8更可以分为两组。第一组中之一或多个数据访问接口单元8,其是个别以一独立的电路载体呈现。例如,每一数据访问接口单元8皆以一独立的多路复用板(Mux Board)实现,该多路复用板(Mux Board)中包括形成一数据访问接口单元8所需的所有元件(至少包括物理存储装置(PSD)控制器81、选择器(selector)83、与时钟发生电路(clock generation circuit)85)。然而,第二组中的多个数据访问接口单元8,是全部被整合在一或多个芯片中并被安装在同一电路载体上。例如,第二组的多个数据访问接口单元8皆被配置在一背板(backplane)401上,该背板(backplane)401中包括了形成第二组的多个数据访问接口单元8所需的所有元件(至少包括物理存储装置(PSD)控制器81、选择器(selector)83、与时钟发生电路(clockgeneration circuit)85)。
根据本发明的一实施例,两存储虚拟化控制器(SVC 1,SVC 2)10,20所组成的存储虚拟化控制器对(SVC pair)更耦接于该背板(backplane)401,并通过做在该背板(backplane)401上的多个数据访问接口单元8耦接多个物理存储装置(PSD)9。
请参阅图4,其是为依据本发明的一实施例的主要控制器设定流程图。以下说明以存储系统架构2A为例,但其技术内容同样适用在本发明中其它存储系统架构2B,2C。依据本发明的一实施例,存储系统架构2A中具一背板(backplane)(图中未绘示),该背板(backplane)上包括有一第一槽位(first slot)与一第二槽位(second slot),是用以安装存储虚拟化控制器(SVC)10,20,并协助存储虚拟化控制器(SVC)10,20与其它连接背板(backplane)的元件形成电性连接。当建立RAID子系统4A时,存储虚拟化控制器(SVC)10,20会先插入在背板(backplane)的槽位(slot)中,待所有元件都就位且连结完成,然后启动RAID子系统4A以进行主要控制器(primary controller)的设定。此时,RAID子系统4A会判断:背板上的槽位(slot)中(第一槽位与第二槽位)是否有安装任何存储虚拟化控制器(SVC)(步骤4001)。若步骤4001的判断结果为「否」,也就是说:没有任何存储虚拟化控制器(SVC)安装在背板的槽位(slot)中,则RAID子系统4A可能会继续(或停在)步骤4001;若步骤4001的判断结果为「是」,也就是说:有存储虚拟化控制器(SVC)安装在背板的槽位(slot)中,则本流程进行至步骤4003以续行主要控制器(primary controller)的设定。
若步骤4001的判断结果为「是」,则RAID子系统4A会进一步判断:是否两个槽位(slot)(第一槽位与第二槽位)都有装设存储虚拟化控制器(SVC)10,20(步骤4003)。若步骤4003的判断结果为「是」,也就是说:第一槽位与第二槽位都有装设存储虚拟化控制器10,20,则本流程接着到步骤4005做进一步的判断,以协助决定应由哪一存储虚拟化控制器(第一存储虚拟化控制器10或第二存储虚拟化控制器20)担任主要控制器(primarycontroller)的角色。相反地,若步骤4003的判断结果为「否」,这样表示:两槽位中只有一槽位有装设存储虚拟化控制器(SVC),则本流程接着到步骤4013判断:是哪一槽位有装设存储虚拟化控制器(SVC),则装设的存储虚拟化控制器(第一存储虚拟化控制器10或第二存储虚拟化控制器20)便是主要控制器(primary controller)。
若步骤4003的判断结果为「是」,则流程来到步骤4005,该两存储虚拟化控制器10,20判断自身配置的闪存(flash)中是否有记录待处理事项(步骤4005)。若步骤4005的判断结果为「否」,也就是说:两存储虚拟化控制器10,20自身配置的闪存(flash)中皆没有记录待处理事项,则RAID子系统4A默认被安装在第一槽位的存储虚拟化控制器(也就是说,第一存储虚拟化控制器(SVC 1)10)为主要控制器(primary controller),而被安装在第二槽位的存储虚拟化控制器(也就是说,第二存储虚拟化控制器(SVC 2)20)是为次要控制器(secondary controller)(步骤4009)。相反地,若步骤4005的判断结果为「是」,则表示至少有一存储虚拟化控制器10,20配置的闪存(flash)中有记录待处理事项,这样则进入步骤4007做进一步判断。
在步骤4007,进一步判断:被安装在第一槽位的第一存储虚拟化控制器(SVC 1)10自身配置的闪存(flash)中,是否有记录待处理事项。若步骤4007的判断结果为「是」,则以被安装在第一槽位的第一存储虚拟化控制器(SVC 1)10为主要控制器(primarycontroller),而被安装在第二槽位的第二存储虚拟化控制器(SVC 2)20为次要控制器(secondary controller)(步骤4009)。若步骤4007的判断结果为「否」,则表示记录待处理事项的闪存(flash)是配置在第二存储虚拟化控制器(SVC 2)20,这样则以被安装在第二槽位的第二存储虚拟化控制器(SVC 2)20为主要控制器(primary controller),而被安装在第一槽位的第一存储虚拟化控制器(SVC 1)10为次要控制器(secondary controller)(步骤4011)。
回头再看步骤4003的另一判断结果。若步骤4003的判断结果为「否」,则进入步骤4013,RAID子系统4A进一步判断第一槽位是否有装设第一存储虚拟化控制器(SVC 1)10(步骤4013)。若步骤4013的判断结果为「是」,表示只有第一存储虚拟化控制器(SVC 1)10装设在第一槽位中,则第一存储虚拟化控制器(SVC 1)10理所当然扮演主要控制器(primarycontroller)的角色(步骤4015)。相反地,若步骤4013的判断结果为「否」,表示只有第二存储虚拟化控制器(SVC 2)20装设在第二槽位中,而第一槽位中没有装设任何存储虚拟化控制器,这样则以装设在第二槽位(second slot)的第二存储虚拟化控制器(SVC 2)20为主要控制器(primary controller)(步骤4017)。
请参阅图5,其是为依据本发明的一实施例的物理存储装置(PSD)的设定流程图。以下说明以图3A中的存储系统架构2B的RAID子系统4B为例、且假设第一存储虚拟化控制器10为主要控制器(primary controller)作说明。同样地,图5所例示的技术内容同样适用在本发明中其它存储系统架构2A,2C。依据本发明的一实施例,在RAID子系统4B中,物理存储装置(PSD)控制器81会负责侦测:是否耦接到未设定使用者的一物理存储装置(PSD)9(步骤5001)。
若步骤5001的判断结果为「否」,也就是说物理存储装置(PSD)控制器81没有侦测到有未设定使用者的物理存储装置(PSD)9,则RAID子系统4B中的物理存储装置(PSD)控制器81会继续执行前述步骤5001的操作,以确保所耦接的每一个物理存储装置(PSD)9皆设定有使用者(步骤5001)。
若步骤5001的判断结果为「是」,也就是说RAID子系统4B中的物理存储装置(PSD)控制器81侦测到有未设定使用者的物理存储装置(PSD)9(例如,图2中的第一物理存储装置(PSD)9a),则依照图4中的说明,物理存储装置(PSD)控制器81知道其对应的物理存储装置(PSD)9的主要控制器(primary controller)是第一存储虚拟化控制器10。因此,该物理存储装置(PSD)控制器81通知主要控制器(primary controller)(也就是说,第一存储虚拟化控制器10),以使得主要控制器(primary controller)(也就是说,第一存储虚拟化控制器10)知道有新耦接的物理存储装置(PSD)9的存在(步骤5003)。
主要控制器(primary controller)(第一存储虚拟化控制器10)在接收到该物理存储装置(PSD)控制器81的通知后,通过本身的第一装置端输出入装置连结控制器(device-side I/O device interconnect controller 1)107发出一信号通知该物理存储装置(PSD)控制器81,以要求该物理存储装置(PSD)控制器81把自己(也就是说,第一存储虚拟化控制器10)设定为新耦接的物理存储装置(PSD)9的使用者(步骤5005)。
该物理存储装置(PSD)控制器81接收到来自第一装置端输出入装置连结控制器(device-side I/O device interconnect controller 1)107的信号后,遵循第一存储虚拟化控制器10的要求,通知其耦接的选择器83导通主要控制器(第一存储虚拟化控制器10)与新耦接的物理存储装置(PSD)9之间的通信路径作为数据流路径(步骤5007)。这样,即完成设定物理存储装置(PSD)9的主要控制器的流程。
请参阅图6,其是为依据本发明的一实施例,在主要控制器于正常运作模式下,物理存储装置9运作的流程图。以下说明以图2中的存储系统架构2A的RAID子系统4A为例、且假设第一存储虚拟化控制器10为主要控制器(primary controller)作说明。同样地,图6所例示的技术内容同样适用在本发明中其它存储系统架构2B,2C。依据本发明的一实施例,物理存储装置(PSD)9(例如,第一物理存储装置(PSD)9a)是通过一数据访问接口单元8(例如,第一数据访问接口单元8a)耦接RAID子系统4A的存储虚拟化控制器对(SVC pair),包括第一存储虚拟化控制器10(也就是说,主要控制器)与第二存储虚拟化控制器20(也就是说,次要控制器)。在这范例中,第一数据访问接口单元8a于耦接第一物理存储装置(PSD)9a后,其中之第一时钟发生电路(clock generation circuit 1)83a即提供专属的第一时钟信号给第一物理存储装置(PSD)9a(步骤6001)。第一物理存储装置(PSD)9a接收该专属的第一时钟信号(步骤6003)。第一物理存储装置(PSD)9a在接收到来自主要控制器(primarycontroller)(也就是说,第一存储虚拟化控制器10)的一或多个输出入请求(I/Orequest)后,依据该专属的第一时钟信号来处理该一或多个输出入请求(I/Orequest)(步骤6005)。
以下请参阅图7A与图7B。图7A与图7B是为依据本发明的不同实施例,在须要做数据流切换时,切换物理存储装置9的使用者为新主要控制器的流程图。依据本发明的一实施例,须要做数据流切换的原因可能是因为主要控制器没有正常运作;在本发明的另一实施例,在两控制器都正常运作时,也可能因为转换物理存储装置9的使用者的缘故而须要做数据流切换。以下以「主要控制器没有正常运作」为例,说明图7A与图7B的流程图。
主要控制器(primary controller)与次要控制器(secondary controller)之间通过冗余控制器通信(RCC)连结7的沟通而建立一监控机制,可以让次要控制器(secondarycontroller)掌握主要控制器(primary controller)的运作状况。依据本发明的一实施例,该监控机制可以是:主要控制器(primary controller)在每经过一第一时间间隔ΔT1就发出一确认信号给次要控制器(secondary controller),以便让次要控制器(secondarycontroller)可以知道主要控制器(primary controller)仍正常运作。意即,若次要控制器(secondary controller)在收到一确认信号后,超过该第一时间间隔ΔT1的时间仍未收到任何来自主要控制器(primary controller)的另一确认信号,则次要控制器(secondarycontroller)就会认定主要控制器(primary controller)没有正常运作,从而开始准备接管(take over)主要控制器(primary controller)所负责的工作。
依据本发明的另一实施例,该监控机制可以是:次要控制器(secondarycontroller)在每经过一第二时间间隔ΔT2就发出一询问信号给主要控制器(primarycontroller),并等待主要控制器(primary controller)的回应信号。若次要控制器(secondary controller)有收来自主要控制器(primary controller)的回应信号,则次要控制器(secondary controller)便知道主要控制器(primary controller)仍正常运作中。在系统运作时,次要控制器(secondary controller)会不断重复前述操作,以确认主要控制器(primary controller)是否正常运作。反之,若次要控制器(secondary controller)没有收来自主要控制器(primary controller)的回应信号,则次要控制器(secondarycontroller)会认定主要控制器(primary controller)没有正常运作,从而开始准备接管(take over)主要控制器(primary controller)所负责的工作。
请再参阅图7A。以下说明适用于图2、图3A、与图3B所绘示的存储系统架构2A、2B、与2C的RAID子系统4A、4B、与4C,其中设定第一存储虚拟化控制器10为主要控制器(primarycontroller),而第二存储虚拟化控制器20为次要控制器(secondary controller)。依据本发明的一实施例,当须要做数据流切换时(步骤7001),例如:当次要控制器(也就是说,第二存储虚拟化控制器20)依据上述的监控机制而认定主要控制器(也就是说,第一存储虚拟化控制器10)没有正常运作时,则次要控制器(也就是说,第二存储虚拟化控制器20)会把自己设定为新的主要控制器(步骤7003)。在此之时,虽然原来的主要控制器没有正常运作而无法提供服务,但由于物理存储装置(PSD)9的时钟信号是由其专属的时钟发生电路85所提供,因此物理存储装置(PSD)9仍能不中断地接收其专属的时钟信号,并据之处理输出入请求(I/O request),包括继续执行其原先所接收到但尚未完成的输出入请求(I/O request)(步骤7005)。
然后,新的主要控制器(也就是说,第二存储虚拟化控制器20)通过本身的第二装置端输出入装置连结控制器(device-side I/O device interconnect controller 2)207发出一重新设置信号给物理存储装置(PSD)控制器81,用以要求物理存储装置(PSD)控制器81控制其对应的选择器83重新设定物理存储装置(PSD)9的使用者为新的主要控制器(也就是说,第二存储虚拟化控制器20)(步骤7007)。以上设定是通过选择器83导通新的主要控制器(也就是说,第二存储虚拟化控制器20)与物理存储装置(PSD)9之间的通信路径而达成。这样即可建立新的主要控制器(也就是说,第二存储虚拟化控制器20)与物理存储装置(PSD)9之间的数据流路径(步骤7009)。
在本发明的一实施例,物理存储装置(PSD)控制器81在收到来自第二存储虚拟化控制器20所发出的重新设置信号后,物理存储装置(PSD)控制器81会据之产生一选择信号并将之发送给对应的选择器(selector)83,使得该选择器(selector)83依据该选择信号选择来自第二存储虚拟化控制器20的数据与信号。
以下举一范例说明,其中采用图2中的存储系统架构2A的RAID子系统4A、且假设第一存储虚拟化控制器10为主要控制器。在时间点T1时,第一存储虚拟化控制器10通过第一数据访问接口单元8a中的第一选择器83a,传送一输出入请求给第一物理存储装置(PSD)9a,要求读取第一物理存储装置(PSD)9a中的读取数据(READ data)。在时间点T2时,第一物理存储装置(PSD)9a接收到该输出入请求后,准备第一存储虚拟化控制器10所需的读取数据(READ data)。在不久后的时间点T3,第一存储虚拟化控制器10因故而无法正常运作,因而必须切换数据流路径改由第二存储虚拟化控制器20提供服务(步骤7001)。第二存储虚拟化控制器20在时间点T4时接管第一存储虚拟化控制器10所负责的工作而成为主要控制器(步骤7003),并在时间点T5时通知第一数据访问接口单元8a中的第一物理存储装置(PSD)控制器81a须改设定第二存储虚拟化控制器20为其新使用者(步骤7007)。在时间点T6时,第一物理存储装置(PSD)控制器81a得知主要控制器为第二存储虚拟化控制器20,因而通知第一选择器83a导通第二存储虚拟化控制器20与第一物理存储装置(PSD)9a间的路径(步骤7009)。在本实施例中,从时间点T3起到时间点T6迄,第一物理存储装置(PSD)9a仍持续进行该输出入请求的相关作业(步骤7005),最后把准备好的读取数据(READ data)传送给主要控制器(也就是说,第二存储虚拟化控制器20),完成这次的输出入请求操作。
请再参阅图7B。以下说明适用于图2、图3A、与图3B所绘示的存储系统架构2A、2B、与2C的RAID子系统4A、4B、与4C,其中设定第一存储虚拟化控制器10为主要控制器(primarycontroller),而第二存储虚拟化控制器20为次要控制器(secondary controller)。依据本发明的一实施例,当须要做数据流切换时(步骤7101),例如:当次要控制器(也就是说,第二存储虚拟化控制器20)依据上述的监控机制而认定主要控制器(也就是说,第一存储虚拟化控制器10)没有正常运作时,则次要控制器(也就是说,第二存储虚拟化控制器20)会把自己设定为新的主要控制器(步骤7103)。在此之时,依据本发明的另一实施例,RAID子系统4A、4B、4C也可选择先让物理存储装置(PSD)9暂停执行其已接收到但尚未完成的输出入请求(I/O request)(步骤7105)。
然后,新的主要控制器(也就是说,第二存储虚拟化控制器20)通过本身的第二装置端输出入装置连结控制器(device-side I/O device interconnect controller 2)207发出一重新设置信号给物理存储装置(PSD)控制器81,用以要求物理存储装置(PSD)控制器81控制其对应的选择器83重新设定物理存储装置(PSD)9的使用者为新的主要控制器(也就是说,第二存储虚拟化控制器20)(步骤7107)。以上设定是通过选择器83导通新的主要控制器(也就是说,第二存储虚拟化控制器20)与物理存储装置(PSD)9之间的通信路径而达成。这样即可建立新的主要控制器(也就是说,第二存储虚拟化控制器20)与物理存储装置(PSD)9之间的数据流路径(步骤7109)。之后,物理存储装置(PSD)9仍然分别从其专属的时钟发生电路85接收时钟信号,并根据其专属的时钟信号处理来自于新的主要控制器(也就是说,第二存储虚拟化控制器20)的一或多个输出入请求(I/O request)(步骤7111)。
以下举一范例说明,其中采用图2中的存储系统架构2A的RAID子系统4A、且假设第一存储虚拟化控制器10为主要控制器。在时间点T1时,第一存储虚拟化控制器10通过第一数据访问接口单元8a中的第一选择器83a,传送一输出入请求给第一物理存储装置(PSD)9a,要求读取第一物理存储装置(PSD)9a中的读取数据(READ data)。在时间点T2时,第一物理存储装置(PSD)9a接收到该输出入请求后,准备第一存储虚拟化控制器10所需的读取数据(READ data)。在不久后的时间点T3,第一存储虚拟化控制器10因故而无法正常运作,因而必须切换数据流路径改由第二存储虚拟化控制器20提供服务(步骤7101)。这时,第一物理存储装置(PSD)9a先暂停执行该输出入请求(步骤7105)。第二存储虚拟化控制器20在时间点T4时接管第一存储虚拟化控制器10所负责的工作而成为主要控制器(步骤7103)。在时间点T5时,第二存储虚拟化控制器20通知第一数据访问接口单元8a中的第一物理存储装置(PSD)控制器81a,新的主要控制器为第二存储虚拟化控制器20(步骤7107)。在时间点T6时,因为第一物理存储装置(PSD)控制器81a得知主要控制器为第二存储虚拟化控制器20,因而通知第一选择器83a导通第二存储虚拟化控制器20与第一物理存储装置(PSD)9a间的数据流路径(步骤7109)。而在时间点T3起到时间点T6迄,第一物理存储装置(PSD)9a暂停执行原本来自第一存储虚拟化控制器10的输出入请求。稍后,在时间点T7时,第二存储虚拟化控制器20发出新的输出入请求给第一物理存储装置(PSD)9a,要求重新从第一物理存储装置(PSD)9a读取所需的读取数据(READ data)(步骤7111)。
综上所述,依据本发明所公开的技术,存储系统架构2A,2B,2C中的每一物理存储装置(PSD)9都配置了一独立运作且专属的时钟发生电路(clock generation circuit),以一对一的方式(也就是说,一物理存储装置(PSD)9配置一专属的时钟发生电路)提供专属的时钟信号。由于本发明是采用独立运作且专用的时钟发生电路,以一对一的方式提供时钟信号给其对应的物理存储装置(PSD)9,因此,不仅无需依赖存储虚拟化控制器10,20来提供时钟信号,也不需要使用额外的电路元件(例如,分配器113,115,117)协助存储虚拟化控制器10,20布线以制导时钟信号给多个与其耦接的物理存储装置(PSD)9。这样,不仅解决了现有技术中,因为存储虚拟化控制器故障无法提供时钟信号,导致与其耦接的物理存储装置(PSD)9无法正常运作的情形,也解决了因为分配器故障无法提供时钟信号,造成多个与之耦接的物理存储装置(PSD)9没有时钟信号而无法正常运作的情形。另外,由于不需要额外的电路元件(例如,分配器113,115,117),进而节省成本与省去复杂布线(routing)的情形。
虽然本发明以前述的较佳实施例公开如上,然其并非用以限定本发明,任何知悉相像技艺者,在不脱离本发明的精神和范围内,当可作些许的等效更动与修饰,皆仍属本发明专利涵盖的范围内,因此本发明的专利保护范围须视本说明书所附的申请专利范围所界定者为准。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (23)
1.一种数据访问接口单元(8),其特征在于,耦接于一第一存储虚拟化控制器(10)、一第二存储虚拟化控制器(20)、与一物理存储装置(9),用于协助该第一存储虚拟化控制器(10)与该第二存储虚拟化控制器(20)中之其一访问该物理存储装置(9),该数据访问接口单元(8)包括有:
一物理存储装置(PSD)控制器(81),是接收来自该第一存储虚拟化控制器(10)的一第一控制信号,据以确认该物理存储装置(9)的主要控制器为该第一存储虚拟化控制器(10),然后产生一第一选择信号;其中,当该物理存储装置(PSD)控制器(81)监测到耦接有该物理存储装置(9)时,传送一通知信号给作为一主要控制器的该第一存储虚拟化控制器(10),以通知该第一存储虚拟化控制器(10)有该物理存储装置(9)可供使用;
一选择器(83),用于接收该第一选择信号,并依据该第一选择信号选择来自该第一存储虚拟化控制器(10)的数据与信号;以及
一时钟发生电路(85),用以提供一专属时钟信号给该物理存储装置(9);
其中,当该物理存储装置(PSD)控制器(81)接收到来自于该第二存储虚拟化控制器(20)所发出的一重新设置信号时,则该物理存储装置(PSD)控制器(81)进行一数据流切换过程,以将该物理存储装置(9)的主要控制器从该第一存储虚拟化控制器(10)变更为该第二存储虚拟化控制器(20),该数据流切换过程包括产生一第二选择信号,用以控制该选择器(83)选择该第二存储虚拟化控制器(20)的数据与信号。
2.如权利要求1的数据访问接口单元(8),其特征在于,其中该数据访问接口单元(8)是设置在一背板(401)上,且该数据访问接口单元(8)是通过该背板(401)耦接于该第一存储虚拟化控制器(10)、该第二存储虚拟化控制器(20)、与该物理存储装置(9)。
3.如权利要求1的数据访问接口单元(8),其特征在于,其中该物理存储装置(9)依据该时钟发生电路(85)所提供的该专属时钟信号,处理来自该第一存储虚拟化控制器(10)或该第二存储虚拟化控制器(20)的至少一输出入请求(I/Orequest)。
4.如权利要求3的数据访问接口单元(8),其特征在于,其中若该第二存储虚拟化控制器(20)在每经过一第一时间间隔时,没有接收到来自该第一存储虚拟化控制器(10)的一确认信号,则该第二存储虚拟化控制器(20)产生并发送该重新设置信号给该物理存储装置(PSD)控制器(81),用以通知该物理存储装置(PSD)控制器(81)以该第二存储虚拟化控制器(20)作为该物理存储装置(9)的主要控制器,并据以产生该第二选择信号,控制该选择器(83)选择该第二存储虚拟化控制器(20)的数据与信号。
5.如权利要求3的数据访问接口单元(8),其特征在于,其中若该第二存储虚拟化控制器(20)在发送一询问信号给该第一存储虚拟化控制器(10)后,没有接收到来自该第一存储虚拟化控制器(10)的一回应信号,则该第二存储虚拟化控制器(20)产生并发送该重新设置信号给该物理存储装置(PSD)控制器(81),用以通知该物理存储装置(PSD)控制器(81)以该第二存储虚拟化控制器(20)作为该物理存储装置(9)的主要控制器,并据以产生该第二选择信号,控制该选择器(83)选择该第二存储虚拟化控制器(20)的数据与信号。
6.如权利要求3的数据访问接口单元(8),其特征在于,其中当该物理存储装置(PSD)控制器(81)进行该数据流切换过程时,该物理存储装置(9)继续依据该时钟发生电路(85)所提供的该专属时钟信号执行来自该第一存储虚拟化控制器(10)的该至少一输出入请求(I/O request)。
7.如权利要求3的数据访问接口单元(8),其特征在于,其中当该物理存储装置(PSD)控制器(81)进行该数据流切换过程时,该物理存储装置(9)暂停执行来自该第一存储虚拟化控制器(10)的该至少一输出入请求(I/O request)。
8.如权利要求1的数据访问接口单元(8),其特征在于,其中该时钟发生电路(85)是以一对一的方式提供该专属时钟信号给该物理存储装置(9)。
9.如权利要求1的数据访问接口单元(8),其特征在于,其中该第一存储虚拟化控制器(10)与该第二存储虚拟化控制器(20)不需要额外的电路元件协助制导自身的时钟信号至该物理存储装置(9)。
10.一种数据访问方法,其特征在于,应用于一RAID子系统(4A,4B,4C),该RAID子系统(4A,4B,4C)包括有一存储虚拟化控制器对(10,20)、一物理存储装置(9)、以及作为该存储虚拟化控制器对与该物理存储装置(9)的中介的一数据访问接口单元(8),该数据访问接口单元(8)包括有一物理存储装置(PSD)控制器(81)、一选择器(83)以及一时钟发生电路(85),该存储虚拟化控制器对(10,20)包括有一第一存储虚拟化控制器(10)与一第二存储虚拟化控制器(20),该数据访问方法包括有:
将该数据访问接口单元(8)耦接于该存储虚拟化控制器对(10,20)与该物理存储装置(9)之间;
该物理存储装置(PSD)控制器(81)监测到耦接有该物理存储装置(9)后,传送一通知信号给作为主要控制器的该第一存储虚拟化控制器(10),以通知该第一存储虚拟化控制器(10)有该物理存储装置(9)可供使用;
该物理存储装置(PSD)控制器(81)接收来自该第一存储虚拟化控制器(10)的一第一控制信号,并据以产生一第一选择信号且传送至该选择器(83);
该选择器(83)接收该第一选择信号,并依据该第一选择信号导通该第一存储虚拟化控制器(10)与该物理存储装置(9)之间的路径上的数据与信号,使得该第一存储虚拟化控制器(10)作为该物理存储装置(9)的主要控制器;
该时钟发生电路(85)提供一专属时钟信号给该物理存储装置(9);以及
该物理存储装置(9)依据该时钟发生电路(85)所提供的该专属时钟信号,处理来自该第一存储虚拟化控制器(10)的至少一输出入请求(I/O request);
其中,当该物理存储装置(PSD)控制器(81)接收到来自于该第二存储虚拟化控制器(20)所发出的一重新设置信号时,则该物理存储装置(PSD)控制器(81)进行一数据流切换过程,以将该物理存储装置(9)的主要控制器从该第一存储虚拟化控制器(10)变更为该第二存储虚拟化控制器(20),该数据流切换过程包括产生一第二选择信号,用以控制该选择器(83)导通该第二存储虚拟化控制器(20)与该物理存储装置(9)之间的路径上的数据与信号。
11.如权利要求10的数据访问方法,其特征在于,其中该数据访问接口单元(8)是设置在一背板(401)上,且该数据访问接口单元(8)是通过该背板(401)耦接于该存储虚拟化控制器对(10,20)与该物理存储装置(9)之间。
12.如权利要求10的数据访问方法,其特征在于,其中若该第二存储虚拟化控制器(20)在每经过一第一时间间隔时,没有接收到来自该第一存储虚拟化控制器(10)之一确认信号,则该第二存储虚拟化控制器(20)产生并发送该重新设置信号给该物理存储装置(PSD)控制器(81),用以通知该物理存储装置(PSD)控制器(81)以该第二存储虚拟化控制器(20)作为该物理存储装置(9)的主要控制器,并据以产生该第二选择信号,控制该选择器(83)选择该第二存储虚拟化控制器(20)的数据与信号。
13.如权利要求10的数据访问方法,其特征在于,其中若该第二存储虚拟化控制器(20)在发送一询问信号给该第一存储虚拟化控制器(10)后,没有接收到来自该第一存储虚拟化控制器(10)的一回应信号,则该第二存储虚拟化控制器(20)产生并发送该重新设置信号给该物理存储装置(PSD)控制器(81),用以通知该物理存储装置(PSD)控制器(81)以该第二存储虚拟化控制器(20)作为该物理存储装置(9)的主要控制器,并据以产生该第二选择信号,控制该选择器(83)选择该第二存储虚拟化控制器(20)的数据与信号。
14.如权利要求10的数据访问方法,其特征在于,其中当该物理存储装置(PSD)控制器(81)进行该数据流切换过程时,该物理存储装置(9)继续依据该时钟发生电路(85)所提供的该专属时钟信号执行来自该第一存储虚拟化控制器(10)的该至少一输出入请求(I/Orequest)。
15.如权利要求10的数据访问方法,其特征在于,其中当该物理存储装置(PSD)控制器(81)进行该数据流切换过程时,该物理存储装置(9)暂停执行来自该第一存储虚拟化控制器(10)的该至少一输出入请求(I/O request)。
16.如权利要求10的数据访问方法,其特征在于,其中该时钟发生电路(85)是以一对一的方式提供该专属时钟信号给该物理存储装置(9)。
17.如权利要求10的数据访问方法,其特征在于,其中该第一存储虚拟化控制器(10)与该第二存储虚拟化控制器(20)不需要额外的电路元件协助制导自身的时钟信号至该物理存储装置(9)。
18.一种数据访问方法,其特征在于,应用于一RAID子系统(4A,4B,4C),该RAID子系统(4A,4B,4C)包括有一存储虚拟化控制器对(10,20)、一物理存储装置(9)、以及作为该存储虚拟化控制器对(10,20)与该物理存储装置(9)的中介的一数据访问接口单元(8),该数据访问接口单元(8)包括有一物理存储装置(PSD)控制器(81)、一选择器(83)与一时钟发生电路(85),该存储虚拟化控制器对(10,20)包括有一第一存储虚拟化控制器(10)与一第二存储虚拟化控制器(20),其中该方法包括:
将该数据访问接口单元(8)耦接于该存储虚拟化控制器对(10,20)与该物理存储装置(9)之间;
设定该物理存储装置(9)的主要控制器是该第一存储虚拟化控制器(10);
该物理存储装置(9)依据该时钟发生电路(85)所提供的一专属时钟信号处理来自于该第一存储虚拟化控制器(10)的至少一第一输出入请求;
该第二存储虚拟化控制器(20)发出一重新设置信号给该数据访问接口单元(8)中的该物理存储装置(PSD)控制器(81),以设定该第二存储虚拟化控制器(20)为该物理存储装置(9)的主要控制器;
该物理存储装置(PSD)控制器(81)依据该重新设置信号产生一选择信号,并将之发送给该选择器(83),使得该选择器(83)依据该选择信号导通该第二存储虚拟化控制器(20)与该物理存储装置(9)之间的路径上的数据与信号;以及
该物理存储装置(9)依据该时钟发生电路(85)所提供的该专属时钟信号处理来自于该第二存储虚拟化控制器(20)的至少一第二输出入请求;
其中,在该物理存储装置(9)的主要控制器从该第一存储虚拟化控制器(10)切换到该第二存储虚拟化控制器(20)的过程中,该物理存储装置(9)依据该时钟发生电路(85)所提供的该专属时钟信号处理该至少一第一输出入请求。
19.如权利要求18的数据访问方法,其特征在于,其中该数据访问接口单元(8)是设置在一背板(401)上,且该数据访问接口单元(8)是通过该背板(401)耦接于该存储虚拟化控制器对(10,20)与该物理存储装置(9)之间。
20.如权利要求18的数据访问方法,其特征在于,其中该第二存储虚拟化控制器(20)发出一重新设置信号给该数据访问接口单元(8)中的该物理存储装置(PSD)控制器(81)的步骤进一步包括:
若该第二存储虚拟化控制器(20)在每经过一第一时间间隔时,没有接收到来自该第一存储虚拟化控制器(10)的一确认信号,则该第二存储虚拟化控制器(20)产生并发送该重新设置信号给该物理存储装置(PSD)控制器(81)。
21.如权利要求18的数据访问方法,其特征在于,其中该第二存储虚拟化控制器(20)发出一重新设置信号给该数据访问接口单元(8)中的该物理存储装置(PSD)控制器(81)的步骤进一步包括:
若该第二存储虚拟化控制器(20)在发送一询问信号给该第一存储虚拟化控制器(10)后,没有接收到来自该第一存储虚拟化控制器(10)的一回应信号,则该第二存储虚拟化控制器(20)产生并发送该重新设置信号给该物理存储装置(PSD)控制器(81)。
22.如权利要求18的数据访问方法,其特征在于,其中该时钟发生电路(85)是以一对一的方式提供该专属时钟信号给该物理存储装置(9)。
23.如权利要求18的数据访问方法,其特征在于,其中该第一存储虚拟化控制器(10)与该第二存储虚拟化控制器(20)不需要额外的电路元件协助制导自身的时钟信号至该物理存储装置(9)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202363447869P | 2023-02-23 | 2023-02-23 | |
US63/447,869 | 2023-02-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117743038A true CN117743038A (zh) | 2024-03-22 |
Family
ID=90258209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311557949.7A Pending CN117743038A (zh) | 2023-02-23 | 2023-11-22 | 数据访问接口单元及其处理输出入请求的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117743038A (zh) |
-
2023
- 2023-11-22 CN CN202311557949.7A patent/CN117743038A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8645746B2 (en) | Cable redundancy and failover for multi-lane PCI express IO interconnections | |
EP1712997B1 (en) | Disk array device and control method therefor | |
US7073022B2 (en) | Serial interface for a data storage array | |
US8060775B1 (en) | Method and apparatus for providing dynamic multi-pathing (DMP) for an asymmetric logical unit access (ALUA) based storage system | |
US8677176B2 (en) | Cable redundancy and failover for multi-lane PCI express IO interconnections | |
US6985983B2 (en) | Translating device adapter having a common command set for interfacing multiple types of redundant storage devices to a host processor | |
US7568119B2 (en) | Storage control device and storage control device path switching method | |
US20070076321A1 (en) | Data storage system, data storage control device, and failure location diagnosis method thereof | |
US20060200634A1 (en) | Data storage system and data storage control apparatus | |
US20140047441A1 (en) | Information processing apparatus, virtual machine control method, and program | |
US6381675B1 (en) | Switching mechanism and disk array apparatus having the switching mechanism | |
US7487293B2 (en) | Data storage system and log data output method upon abnormality of storage control apparatus | |
US7823027B2 (en) | Data processing management apparatus, mode management apparatus and mode management method | |
US20100229050A1 (en) | Apparatus having first bus and second bus connectable to i/o device, information processing apparatus and method of controlling apparatus | |
US7596723B2 (en) | Apparatus, system, and method for selective cross communications between autonomous storage modules | |
CN117743038A (zh) | 数据访问接口单元及其处理输出入请求的方法 | |
US7426658B2 (en) | Data storage system and log data equalization control method for storage control apparatus | |
JP4799273B2 (ja) | ストレージシステム及びループ異常時の自動復旧方法 | |
US8352661B1 (en) | Data storage systems having seamless software upgrades | |
EP2851801B1 (en) | Computer system, control method for computer system and coupling module | |
US7577775B2 (en) | Storage system and configuration-change method thereof | |
US8489826B2 (en) | Storage controller and storage subsystem with added configurable functions | |
KR20110030002A (ko) | 활성-활성 멀티플렉싱 유닛 또는 포트 선택자 유닛을 가지는 네트워크 직접 연결 저장 장치 | |
JP4779948B2 (ja) | サーバシステム | |
CN117992386A (zh) | 基于pcie总线的信号处理模块灵活配置的方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |