CN101470587B - 冗余储存虚拟化子系统 - Google Patents
冗余储存虚拟化子系统 Download PDFInfo
- Publication number
- CN101470587B CN101470587B CN2008101894190A CN200810189419A CN101470587B CN 101470587 B CN101470587 B CN 101470587B CN 2008101894190 A CN2008101894190 A CN 2008101894190A CN 200810189419 A CN200810189419 A CN 200810189419A CN 101470587 B CN101470587 B CN 101470587B
- Authority
- CN
- China
- Prior art keywords
- storage virtualization
- redundant
- port
- sas storage
- 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.)
- Active
Links
Images
Landscapes
- Hardware Redundancy (AREA)
- Information Transfer Systems (AREA)
Abstract
一种提供资料储存空间的冗余储存虚拟化子系统其包括:一对冗余外接式储存虚拟化控制器是包括一第一和一第二储存虚拟化控制器用以耦接至一主机单元;一组至少一个实体储存装置,所述的至少一个实体储存装置通过两个埠而分别连接至所述的一对储存虚拟化控制器的串列附接小型计算机系统介面输出入装置连结控制器;以及其中当该对冗余外接式储存虚拟化控制器中的一储存虚拟化控制器不为上线或在上线后为下线时,该对冗余外接式储存虚拟化控制器中的另一储存虚拟化控制器将自动地接管原先由该对冗余外接式储存虚拟化控制器中的该储存虚拟化控制器所执行的功能。
Description
本申请是原申请号200510136977.7,申请日2005年12月21日,发明名称为“储存虚拟化控制器、子系统及系统与方法”的分案申请。
技术领域
本发明涉及一冗余储存虚拟化子系统,特别是涉及一具有使用串列附接小型计算机系统介面(SAS,Serial Attached SCSI)装置端输出入装置连结通道(device-side IO device interconnect channel)以连接于一主机系统与一直接存取储存装置之间的冗余储存虚拟化控制器子系统。
背景技术
储存虚拟化(storage virtualization)是一种将实体储存空间虚拟化的技术,其是将实体储存装置(PSDs)的不同区段结合成可供一主机系统存取使用的逻辑储存体(logical storage entity),在此称为“逻辑媒体单元”(logical media units,LMU)。该技术主要用于磁碟阵列(RAID)储存虚拟化,经由此磁碟阵列技术,可将较小实体储存装置结合成为容量较大、可容错、高效能的逻辑媒体单元。
储存虚拟化控制器(storage virtualization controller,SVC)的主要目的是将实体储存媒体的各区段的组合映射(map)形成一主机系统可见的逻辑媒体单元。由该主机系统发出的输出入(IO)请求于接收之后会先被剖析并解译,且相关的操作及资料会被编译成实体储存装置的输出入请求。这个过程可以是间接地,例如运用快取、延迟(如:回写(write-back))、预期(anticipate)(先读(read-ahead))、群集(group)等操作来加强效能及其他的操作特性,因而一主机输出入请求并不一定是以一对一的方式直接对应于实体储存装置输出入请求。
外接式(或可称为独立式(stand-alone))储存虚拟化控制器是一种经由输出入介面连接于主机系统的储存虚拟化控制器,且其可连接至位于主机系统外部的装置,一般而言,外接式的储存虚拟化控制器通常是独立于主机进行运作。
外接式(或独立式)直接存取磁碟阵列控制器(external direct-accessRAID controller)是外接式储存虚拟化控制器的一个例子。磁碟阵列控制器是将一或多个实体直接存取储存装置(direct access storage devices,DASDs)的区段组合以构成逻辑媒体单元,而它们的构成方式由所采用的特定磁碟阵列型态(RAID level)决定,其所构成的逻辑媒体单元对于可利用其的主机系统而言,为可连续寻址的。典型地,一个单一的磁碟阵列控制器(single RAID controller)可支援多种磁碟阵列型态,因此,不同的逻辑媒体单元可以由直接存取储存装置的各个区段藉由不同的磁碟阵列型态而以不同的方式组合而成,所组合成的各个不同的逻辑媒体单元则具有各该磁碟阵列型态的特性。
另一个外接式储存虚拟化控制器的例子是JBOD(Just a Bunch ofDrives)模拟控制器。JBOD为“仅是一捆碟机”之缩写,是一组实体直接存取储存装置,并经由一或多个多装置输出入装置连结(multiple-device IOdevice interconnect)直接连接于一主机系统上。但使用点对点输出入装置连结连接至该主机系统的直接存取储存装置(如:串列先进技术接取介面(SATA,Serial Advanced Technology Attachment)硬碟、平行先进技术接取介面(PATA,Parallel Advanced Technology Attachment)硬碟等),无法通过直接连结而构成如前述的JBOD系统,因为这些直接存取储存装置并不允许多个装置直接连接至输出入装置通道上。至于智慧型的JBOD模拟器,是藉由将输出入请求映射到实体直接存取储存装置的方式,而用来模拟多个多装置输出入装置连结直接存取储存装置,而其中该实体直接存取储存装置是个别地经由点对点输出入装置连结通道连接至JBOD模拟器。
另一个外接式储存虚拟化控制器(缩写为SVC)的例子为一种用于外接式磁带备份子系统的控制器。
储存虚拟化控制器最主要的功能是管理、结合及操控实体储存装置,并将其以一组逻辑媒体单元的形式呈现于主机端,使各个逻辑媒体单元在主机端看来,都像是直接连接至一个实体储存装置,而该逻辑媒体单元则是该实体储存装置在逻辑上的等效物。为了要达到这个目的,由主机输出且由储存虚拟化控制器处理的输出入请求,若在一等效实体储存装置中通常会产生某些行为,则这些输出入请求会在储存虚拟化控制器关于所定址的逻辑媒体单元的部份上产生逻辑上等效的行为。其结果是,该主机会认为它是直接连接至一实体储存装置且与之通讯,虽然实际上,该主机是连接至一仅是模拟该实体储存装置行为的储存虚拟化控制器上,而其所定址的逻辑媒体单元乃该实体储存装置的逻辑上的等效物。
为了要实现上述的行为模拟,储存虚拟化控制器将自主机接收来的输出入请求映射至逻辑上相等的内部操作,其中有部份的操作不需要产生任何装置端输出入请求至装置端实体储存装置便可以完成;这些操作仅需要在内部进行即可,并不需要对装置端实体储存装置进行存取。这类的输出入请求所产生的操作在此将称为“内部模拟操作(internally emulatedoperation)”。
然而,有些操作是无法单单经由内部模拟而执行的,但也并未直接造成对装置端实体储存装置进行存取。举例来说,此等操作包括快取操作;譬如资料读取操作时,对应于输出入请求所定址的媒体区段(media section)的资料目前刚好完全存在于储存虚拟化控制器的资料快取记忆体中;或是在资料写入操作时,当该储存虚拟化控制器的快取记忆体是操作于回写模式,则使资料仅先写入快取记忆体中,而后才传送至适当的实体储存装置。这些操作都可称为“非同步装置操作(asynchronous device operation)”,亦即为了使所请求的操作发生以达到其原来目的而传至装置端实体储存装置的所有实际的输出入请求都是间接地于所请求的操作之前或之后进行,而不是直接地回应于所请求的操作而进行。
另外还有一类由直接产生装置端输出入请求至实体储存装置来完成的操作所构成的操作,这种操作一般可称做“同步装置操作(synchronousdevice operation)”。
此外,有一些主机端输出入请求可以映射至由多个不同类的子操作所组成的组合操作,这些子操作可以包括内部模拟操作、非同步装置操作及/或同步装置操作。一个映射至非同步装置操作及同步装置操作组合的主机端输出入请求的例子是,一个资料读取请求,其在逻辑媒体单元中所定址的媒体区段所对应的资料,目前一部份存在于快取记忆体当中,一部份不存在于快取记忆体当中,因而必须从实体储存装置当中读取。这些从快取记忆体当中读取资料的子操作是非同步装置操作,因为这种子操作并不需要直接从装置端实体储存装置存取来完成此输出入请求,但是却间接依赖先前所执行的装置端实体储存装置存取的结果而完成;而直接至实体储存装置读取资料的子操作则为同步装置操作,因为它所需要的是直接且立即的对装置端实体储存装置进行资料存取来完成此输出入请求。
一对储存虚拟化控制器可组态设定为一对冗余储存虚拟化控制器,其主要动机在于让一主机(或多个主机)即使在一单一储存虚拟化控制器故障或失效时,可以连续无间断的存取资料。此是藉由将一控制器在另一个控制器发生问题或完全失效时接管该另一个控制器的功能加入该等储存虚拟化控制器中来达成。在其后称具有此种组态设定的一储存虚拟化子系统为一冗余储存虚拟化子系统。
在装置端来说,需要该等控制器两者皆可存取到所有正被该等储存虚拟化控制器管理的该等实体储存装置,不论任一个实体储存装置起先是被指定给哪一个储存虚拟化控制器管理的。在主机端来说,需要各个储存虚拟化控制器具有对该主机呈现所有的可存取资源并使主机可利用所有的可存取资源的能力,包括在其同伴储存虚拟化控制器最初没有上线或在某些时刻下线的情况下(例如:因机能失常/故障、保养操作等)原先指定给另一储存虚拟化控制器管理之可存取资源。
其一典型的装置端实作为一其中的装置端输出入装置连结为多重启动器(multiple-initiator)的多重装置(multiple-device)种类的(如:光纤、平行小型计算机系统介面(Parallel SCSI,P-SCSI)),且全部的装置端输出入装置连结被连接至该等储存虚拟化控制器两者,如此任一储存虚拟化控制器可存取任何被连接在一装置端输出入装置连结上的实体储存装置。当该等储存虚拟化控制器两者皆为上线且为可操作的,各个实体储存装置将被其一或另一储存虚拟化控制器管理,其典型地由使用者设定或组态设定资讯来决定。其一例为由实体储存装置的独立冗余磁碟阵列组合所构成的一逻辑媒体单元的所有实体储存装置成员,将被该逻辑媒体单元自身被指定的该特定储存虚拟化控制器所管理。
一典型的主机端实作包括连接该主机以及该等储存虚拟化控制器两者的多重装置输出入装置连结,且对各个连结来说,各个储存虚拟化控制器将呈现其自身拥有的该等逻辑媒体单元所映射至的独特装置识别码组。假如一特定储存虚拟化控制器不为上线或为下线时,该上线储存虚拟化控制器在该主机端连结上呈现两组的装置识别码,其为其自身拥有的识别码组连同正常情况下指定给其同伴储存虚拟化控制器的识别码组,并且以与逻辑媒体单元在该等储存虚拟化控制器两者皆为上线且完全为可操作的时候被映射的同样映射方式来映射逻辑媒体单元至该等识别码。在此种实作中,在一储存虚拟化控制器不为上线时,就主机的部分来说,从一装置/路径转换至另一装置/路径时不需要特别的功能以维持对所有逻辑媒体单元的存取。此种实作通常被称为“通透”冗余。
冗余储存虚拟化控制器的组态设定典型地被分为两个种类。第一种是“主动-待命”,其中一储存虚拟化控制器对该储存虚拟化子系统中的所有逻辑媒体单元呈现、管理以及处理所的输出入要求,然另一储存虚拟化控制器仅准备好在该作动的储存虚拟化控制器为发生问题或完全失效时接管。第二种是“主动-主动”,其中该等储存虚拟化控制器两者皆对同时呈现在该储存虚拟化子系统中的不同的逻辑媒体单元呈现、管理和处理输出入要求。在主动-主动组态设定中,该等储存虚拟化控制器两者皆为总是准备好在另一个故障使其发生问题或完全失效时接管以取代另一个储存虚拟化控制器。主动-主动组态设定典型地提供较佳程度的效能,因为该等储存虚拟化控制器两者的资源(例如:中央处理单元时间、内部总线带宽等)皆可拿来支持输出入要求服务而不是仅一个储存虚拟化控制器的资源。
一冗余储存虚拟化系统的另一必要元素为各个储存虚拟化控制器监测另一储存虚拟化控制器状态的能力。典型地,此藉由实作一介于两个储存虚拟化控制器间的控制器间通联通道(inter-controller communicationschannel,缩写ICC)而达成,在其上该等储存虚拟化控制器可交换操作状态。此通联通道可为专用的,其单一功能为交换关于该冗余储存虚拟化子系统操作的参数和资料,或者其可为一个或多个主机端或装置端的输出入装置连结,在其上的操作参数和资料的交换是与在该等连结上的主机-储存虚拟化控制器或装置-储存虚拟化控制器的输出入要求相关的资料在一起被多工传输。
然一冗余储存虚拟化系统的另一重要元素为一储存虚拟化控制器使另一储存虚拟化控制器完全无作用以便其可没有阻碍的完全接管该另一储存虚拟化控制器的能力。例如,为了要让该存活的储存虚拟化控制器承接其同伴的识别码,其可需要承接该下线的储存虚拟化控制器原先在该主机端输出入装置连结上呈现的各个装置识别码,如此需要该下线的储存虚拟化控制器交出其对该等识别码的控制。
此种“使完全无作用”典型地藉由在该正被下线的控制器上拉启重设讯号线路而使所有对外连接的讯号线路成为一预先定义状态来排除与该存活的储存虚拟化控制器冲突的可能来达成。一常见的达成方法为,于该等储存虚拟化控制器之间连结重设线路(reset lines),以便在此种情况下其一储存虚拟化控制器可重设另一储存虚拟化控制器。另一达成的方法为,在一储存虚拟化控制器中内建侦测何时其自身可能故障以及藉由拉启其自身拥有的重设讯号来“杀死”自己的能力(例如:在储存虚拟化控制器中包含一“监视器”计时器(“watchdog”timer),而当运作于该储存虚拟化控制器上的一程式在无法于一预先定义时间间隔内轮询(poll)该“监视器”计时器时将拉启其自身的重设讯号来杀死自己,以使所有对外连接的讯号线路设定成一预先定义状态以排除与该存活的储存虚拟化控制器冲突的可能。
请参考图22,其说明一习知冗余外接式储存虚拟化计算机系统的一方块图。请注意主机端输出入装置连结的连结,其是容许一储存虚拟化控制器藉由“接管在正常情形下被其同伴呈现在该连结上的输出入装置连结识别码和以与其同伴相同的方式来映射逻辑媒体单元至该等识别码”来接管替代该同伴。又,请注意,该等装置端输出入装置连结的连接,其是使得该等储存虚拟化控制器两者皆可存取所有连接至该装置端输出入装置连结上的实体储存装置。在此例当中,可用在主机端或装置端的任一的典型输出入装置连结可为平行小型计算机系统介面或光纤通道仲裁回路(Fibre FC-AL),该两者皆为多重启动器(multiple-initiator)的多重装置(multiple-device)输出入装置连结。因此,该等操作在目标模式中(即装置模式)的储存虚拟化控制器两者皆连接至一主机端上的单一连结并容许该等储存虚拟化控制器两者皆可操作于一启动器模式(与复数装置一同)而被连结在装置端上。显示于图22中之组态设定的缺点为,单一实体储存装置的故障潜在地可使整个装置端输出入装置连结下线,而使所有其他连接在相同连结上的实体储存装置不可存取。
图23为此问题的改良方案的图示,其是藉由使用双埠储存实体储存装置以及对各个实体储存装置增加一额外的连结,而有效防止其他连接在相同装置端输出入装置连结上的实体储存装置的存取,可能因造成单一装置端连结失效,故障而被中断的可能性。此方法中,因为该连接至各个实体储存装置的第二连结可用来存取该等实体储存装置而无阻碍,因此该单一装置端输出入装置连结的可能由一实体储存装置上的连结控制器积体电路故障而造成之障碍将不造成其他连接在相同连结上相同的该等实体储存装置的不可存取。
显示于图23中的组态设定所具有的更进一步的优点为,输出入要求负载可被分散在该等冗余装置端连结之间,从而相较于显示于图22中的该每实体储存装置单一连结设定的组态设定,为有效地加倍该装置端输出入装置连结子系统的总带宽。此方法中,因为目前在市场上光纤通道仲裁回路实体储存装置的双埠本质以及光纤协定的元件容许一启动器,例如一储存虚拟化控制器,决定在不同连结上的哪一个连结识别码对应到相同的实体储存装置,该装置端输出入装置连结的选择典型地为光纤通道仲裁回路。
虽然在装置端输出入装置连结失效时,描绘于图23中的组态设定相较于描绘于图22中的组态设定确实极为强固,其仍有当一实体储存装置故障时,可能会使两个连接至其双埠埠对的输出入装置连结皆下线的机率。若其真的发生时,再一次,连接在同一对连结上的其他实体储存装置的存取将被中断。在由实体储存装置的标准单一冗余磁碟阵列组合(例如:磁碟阵列型态5)所构成的一逻辑媒体单元中,此保证会是一场大灾难,因为其可导致在该组合中的复数个实体储存装置下线,因而导致整个逻辑媒体单元下线。
由此可见,上述现有的储存虚拟化系统在结构与使用上,显然仍存在有不便与缺陷,而亟待加以进一步改进。为了解决储存虚拟化系统存在的问题,相关厂商莫不费尽心思来谋求解决之道,但长久以来一直未见适用的设计被发展完成,而一般产品又没有适切的结构能够解决上述问题,此显然是相关业者急欲解决的问题。因此如何能创设一种新的储存虚拟化系统,便成了当前业界急需改进的目标。
有鉴于上述现有的储存虚拟化系统存在的缺陷,本发明人基于从事此类产品设计制造多年丰富的实务经验及专业知识,并配合学理的运用,积极加以研究创新,以期创设一种新的储存虚拟化系统,能够改进一般现有的储存虚拟化系统,使其更具有实用性。经过不断的研究、设计,并经反复试作样品及改进后,终于创设出确具实用价值的本发明。
发明内容
本发明的目的在于,克服现有的储存虚拟化系统存在的缺陷,而提供串列附接小型计算机系统介面(SAS)储存虚拟化控制器(StorageVirtualization Controller)以及使用一对以便在一控制器故障时,另一控制器将接管所有原先由该控制器执行的操作而冗余组态设定的外接式串列附接小型计算机系统介面储存虚拟化控制器对经由标准主机-储存介面,例如连接的主机提供储存虚拟化的子系统。该实体储存装置可为原生的串列附接小型计算机系统介面装置、原生的串列先进技术接取介面(SATA,Serial Advanced Technology Attachment)装置、或者经由一平行先进技术接取介面(PATA,Parallel Advanced Technology Attachment)对串列先进技术接取介面转换电路而连接至该装置端串列先进技术接取介面输出入装置连结的平行先进技术接取介面装置,从而更加适于实用。
本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的一种计算机系统包括:一主机单元以发送输出入要求;一对冗余外接式储存虚拟化控制器以执行输出入操作来回应主机单元所发送的输出入要求,包含耦接至该主机单元的一第一和一第二外接式储存虚拟化控制器;一组至少一个实体储存装置以提供资料储存空间至该计算机系统,该组的至少一个实体储存装置的至少一个成员包含通过一点对点串列讯号连结而耦接至该对冗余储存虚拟化控制器以利用串列附接小型计算机系统介面(SAS,Serial Attached SCSI)协定传送讯号的一实体储存单元;以及其中当该对冗余储存虚拟化控制器中的一储存虚拟化控制器不为上线或在上线后为下线时,该对冗余储存虚拟化控制器中的另一储存虚拟化控制器将自动地接管原先由该对冗余储存虚拟化控制器中的该储存虚拟化控制器所执行的功能。
本发明的目的及解决其技术问题还采用以下技术措施来进一步实现。
前述的计算机系统,其中对该至少一个实体储存装置来说,该计算机系统更包含一耦接于该实体储存装置以及该对冗余储存虚拟化控制器间的存取控制交换器以选择性地在该第一和该第二储存虚拟化控制器之间交换该实体储存装置对该对冗余储存虚拟化控制器的连接。
前述计算机系统,其中在该对冗余储存虚拟化控制器中各个该等储存虚拟化控制器更包含:一中央处理电路以执行输出入操作来回应该主机单元的输出入要求;至少一个耦接至该中央处理电路的输出入装置连结控制器;至少一个主机端输出入装置连结埠被提供于一该至少一个输出入装置连结控制器中以耦接至该主机单元;且至少一个串列附接小型计算机系统介面(SAS,Serial Attached SCSI)装置端输出入装置连结埠被提供于一该至少一个输出入装置连结控制器中并通过一点对点串列讯号连结而耦接至该至少一个实体储存单元之一。
前述的储存虚拟化计算机系统,其中一该主机端输出入装置连结埠和一该装置端输出入装置连结埠被提供于相同的该输出入装置连结控制器中。
前述的储存虚拟化计算机系统,其中一该主机端输出入装置连结埠和一该装置端输出入装置连结埠被提供于不同的该输出入装置连结控制器中。
本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的一种提供资料储存空间的冗余储存虚拟化子系统,包含:一对冗余外接式储存虚拟化控制器用以执行输出入操作来回应一主机单元所发送的输出入要求,是包含一第一和一第二储存虚拟化控制器用以耦接至该主机单元;一组至少一个实体储存装置以提供资料储存空间给该主机单元,该组的至少一个实体储存装置的至少一个成员包含通过一点对点串列讯号连结而耦接至该对冗余储存虚拟化控制器以利用串列附接小型计算机系统介面(SAS,Serial Attached SCSI)协定传送讯号的一实体储存单元;以及其中当该对冗余储存虚拟化控制器中的一储存虚拟化控制器不为上线或在上线之后为下线时,该对冗余储存虚拟化控制器中的另一储存虚拟化控制器将自动地接管原先由该对冗余储存虚拟化控制器中的该储存虚拟化控制器所执行的功能。
本发明的目的及解决其技术问题还采用以下技术措施来进一步实现。
前述的冗余储存虚拟化子系统,其中对各个该至少一个实体储存装置来说,该冗余储存虚拟化子系统更包含一耦接于该实体储存装置以及该对冗余储存虚拟化控制器间的存取控制交换器以选择性地在该第一和该第二储存虚拟化控制器之间交换该实体储存装置对该对冗余储存虚拟化控制器的连接。
前述的冗余储存虚拟化子系统,其中在该存取控制交换器的一第一配接状态时,该耦接于一该实体储存装置和该对冗余储存虚拟化控制器之间的存取控制交换器,容许该实体储存装置的该串列讯号至且自该第一储存虚拟化控制器配接通过,且在该存取控制交换器的一第二通过状态时,该耦接于一该实体储存装置和该对冗余储存虚拟化控制器之间的存取控制交换器容许该实体储存装置的该串列讯号至且自该第二储存虚拟化控制器配接通过。
前述的冗余储存虚拟化子系统,其中在该对冗余储存虚拟化控制器中,该等储存虚拟化控制器的各个储存虚拟化控制器更包含:一中央处理电路以执行输出入操作来回应该主机单元的输出入要求;至少一个输出入装置连结控制器耦接到该中央处理电路;至少一个主机端输出入装置连结埠被提供于一该至少一个输出入装置连结控制器中以耦接至该主机单元;且至少一个串列附接小型计算机系统介面(SAS,Serial Attached SCSI)装置端输出入装置连结埠被提供于一该至少一个输出入装置连结控制器中并通过一点对点串列讯号连结而耦接至该至少一个实体储存单元之一。
前述的冗余储存虚拟化子系统,其中一该主机端输出入装置连结埠以及一该串列附接小型计算机系统介面(SAS,Serial Attached SCSI)装置端输出入装置连结埠被提供于相同的该输出入装置连结控制器中。
前述的冗余储存虚拟化子系统,其中一该主机端输出入装置连结埠以及一该串列附接小型计算机系统介面(SAS,Serial Attached SCSI)装置端输出入装置连结埠被提供于不同的该输出入装置连结控制器中。
前述的冗余储存虚拟化子系统,其中经由一第一该主机端输出入装置连结埠被呈现给该主机单元的一逻辑媒体单元也冗余地经由一第二该主机端输出入装置连结埠被呈现。
前述的冗余储存虚拟化子系统,其中该第一该主机端输出入装置连结埠以及该第二该主机端输出入装置连结埠为该对冗余储存虚拟化控制器中的同样一个储存虚拟化控制器的输出入装置连结埠。
前述的冗余储存虚拟化子系统,其中该第一输出入装置连结埠为该对冗余储存虚拟化控制器中的一储存虚拟化控制器的一输出入装置连结埠以及该第二该主机端输出入装置连结埠为该对冗余储存虚拟化控制器中的另一储存虚拟化控制器的一输出入装置连结埠。
前述的冗余储存虚拟化子系统,其中该第一主机端输出入装置连结埠和该第二主机端输出入装置连结埠为耦接至同样的主机端输出入装置连结。
前述的冗余储存虚拟化子系统,其中该第一主机端输出入装置连结埠以及该第二主机端输出入装置连结埠为经由一交换电路而耦接至该同样的主机端输出入装置连结。
前述的冗余储存虚拟化子系统,其中该第一主机端输出入装置连结埠以及该第二主机端输出入装置连结埠为各个耦接至一不同的主机端输出入装置连结。
前述的冗余储存虚拟化子系统,其中该主机端输出入装置连结埠包含以下形式之一:在目标模式中支援点对点连线的光纤通道(Fibre Channel)、在目标模式中支援公用回路连线的光纤通道(Fibre Channel)、在目标模式中支援私用回路连线的光纤通道(Fibre Channel)、操作在目标模式中的平行小型计算机系统介面(Parallel SCSI,P-SCSI)、操作在目标模式中支援网际网路小型计算机系统介面(iSCSI)协定的乙太网路(ethernet)、操作在目标模式中的串列附接小型计算机系统介面(SAS)、操作在目标模式中的串列先进技术接取介面(SATA,Serial Advanced Technology Attachment)、美国电机电子工程师协会1394A介面(IEEE 1394A)/美国电机电子工程师协会1394B介面(IEEE 1394B)、以及万用串列总线介面(USB)/万用串列总线2.0介面(USB 2.0)。
前述的冗余储存虚拟化子系统,其中一控制器间通联通道被提供于介在该对冗余储存虚拟化控制器中的该等储存虚拟化控制器之间以通联状态同步资讯。
前述的冗余储存虚拟化子系统,其中该控制器间通联通道为一现存的输出入装置连结,藉以多工传输控制器间通联交换的输出入要求与相关资料。
前述的冗余储存虚拟化子系统,其中该控制器间通联通道为一专用的通道,其主要功能为交换该状态同步资讯。
前述的冗余储存虚拟化子系统,其中该控制器间通联通道包含如下型态之一:光纤通道(Fibre Channel)、串列先进技术接取介面(SATA,SerialAdvanced Technology Attachment)、平行小型计算机系统介面(ParallelSCSI,P-SCSI)、乙太网路(ethernet)、串列附接小型计算机系统介面(SAS,Serial Attached SCSI)、晶片间总线(I2C bus)、以及周边周边元件连结快捷介面(PCI-Express)。
前述的冗余储存虚拟化子系统,其中该对冗余储存虚拟化控制器可执行绕送输出入要求的功能。
前述的冗余储存虚拟化子系统,其中该对冗余储存虚拟化控制器的至少一成员储存虚拟化控制器包含至少一个扩展埠用以耦接至一第二组的至少一个实体储存装置。
前述的冗余储存虚拟化子系统,其中一组该至少一个扩展埠的成员为相互耦接在一起的且经由一交换电路耦接至该第二组的至少一个实体储存装置。
前述的冗余储存虚拟化子系统,其中来自一冗余扩展埠组以相互执行绕送输出入要求的功能藉此输出入要求正常地经由该冗余扩展埠组的一第一成员埠被传送至一实体储存装置的一组该至少一个扩展埠可经由该冗余扩展埠组的一第二成员埠被绕送。
前述的冗余储存虚拟化子系统,其中该第二组的至少一个实体储存装置的一成员具有一对冗余埠,该对冗余埠的一成员埠为被耦接至一组的至少一该个扩展埠。
前述的冗余储存虚拟化子系统,其中绕送输出入要求的功能可经由该至少一个实体储存装置的第二组的该成员的该冗余埠而被执行以藉此正常地经由该对冗余埠的一第一成员埠而被传送至一实体储存装置的输出入要求可被绕送为经由该对冗余埠的一第二成员埠至该实体储存装置。
前述的冗余储存虚拟化子系统,其中一组至少二个该扩展埠形成一冗余扩展埠组以互相执行绕送输出入要求的功能,藉此输出入要求正常地经由该冗余扩展埠组的一第一成员埠而被传送至一实体储存装置者,可以被绕送为经由该冗余扩展埠组的一第二成员埠。
前述的冗余储存虚拟化子系统,其中该对实体储存装置冗余埠的各个成员埠为耦接至一不同组的至少一个扩展埠。
前述的冗余储存虚拟化子系统,其中该对实体储存装置冗余埠的该成员埠以及该组的至少一个扩展埠为经由一交换电路而相互耦接在一起的。
前述的冗余储存虚拟化子系统,其中该组的至少一个扩展埠包含一第一和一第二扩展埠子组并形成一对互补子组的且每子组中有至少一个成员扩展埠。
前述的冗余储存虚拟化子系统,其中藉由该交换电路所实施的连结讯号线路交换机制之一为该对互补子组的该第一子组对该对实体储存装置冗余埠的一第一成员埠的耦接以及该互补子组对的该第二子组对该对实体储存装置冗余埠的一第二成员埠的耦接。
前述的冗余储存虚拟化子系统,其中藉由该交换电路所实施的该连结讯号线交换机制之一为该对互补子组的两子组皆对该对实体储存装置冗余埠的一第一成员埠的耦接。
前述的冗余储存虚拟化子系统,其中藉由该交换电路所实施的该连结讯号线交换机制之一为该对互补子组的该第一子组对该对实体储存装置冗余埠的一第一成员埠的耦接。
前述的冗余储存虚拟化子系统,其中该对冗余储存虚拟化控制器的一成员储存虚拟化控制器更包含至少两个形成一冗余扩展埠组的该扩展埠。
前述的冗余储存虚拟化子系统,其中在该冗余扩展埠组中的一第一和一第二成员埠为各个被耦接至该第二组的至少一个实体储存装置的一成员实体储存装置的实体储存装置冗余埠对中的一不同的成员埠。
前述的冗余储存虚拟化子系统,其中在该冗余扩展埠组中的一第一和一第二成员埠为皆被耦接至该第二组的至少一个实体储存装置的一成员实体储存装置的实体储存装置冗余埠对中的一相同的成员埠。
前述的冗余储存虚拟化子系统包含:一第一扩展埠组包含该至少一个扩展埠在该对冗余储存虚拟化控制器中的第一储存虚拟化控制器上;一第二扩展埠组包含该至少一个扩展埠在该对冗余储存虚拟化控制器中的第二储存虚拟化控制器上;其中该第一扩展埠组以及该第二扩展埠组一起形成一对冗余扩展埠组。
前述的冗余储存虚拟化子系统,其中该第一扩展埠组和该第二扩展埠组为各个被耦接至该第二组至少一个实体储存装置的各个实体储存装置的实体储存装置冗余埠对中的一不同的成员埠。
前述的冗余储存虚拟化子系统,其中该第一扩展埠组和该第二扩展埠组为各个被耦接至该第二组至少一个实体储存装置的各个实体储存装置的实体储存装置冗余埠对中的一相同的成员埠。
前述的冗余储存虚拟化子系统,其中该至少一个扩展埠为光纤通道(Fibre Channel)、串列先进技术接取介面(SATA,Serial AdvancedTechnology Attachment)、平行小型计算机系统介面(ParallelSCSI,P-SCSI)、乙太网路(ethernet)、串列附接小型计算机系统介面(SAS,Serial Attached SCSI)、晶片间总线(I2C bus)、以及周边周边元件连结快捷介面(PCI-Express)。
前述的冗余储存虚拟化子系统,其中该至少一个实体储存装置包含如下实体储存装置型态之一:一串列附接小型计算机系统介面(SAS,SerialAttached SCSI)实体储存装置、一串列先进技术接取介面(SATA,SerialAdvanced Technology Attachment)实体储存装置、以及一平行先进技术接取介面(PATA,Parallel Advanced Technology Attachment)实体储存装置。
前述的冗余储存虚拟化子系统,其中该对冗余储存虚拟化控制器中的各个储存虚拟化控制器包含一状态定义电路以迫使该对冗余储存虚拟化控制器中的另一储存虚拟化控制器的对外连接讯号线至一预先决定的状态。
前述的冗余储存虚拟化子系统,其中该对冗余储存虚拟化控制器中的各个储存虚拟化控制器包含一自杀电路以迫使其自身拥有的对外连接讯号线至一预先决定的状态。
本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的一种外接式储存虚拟化控制器,是使用于一对冗余储存虚拟化控制器中,包含:一中央处理电路以执行输出入操作来回应一主机单元的输出入要求;至少一个输出入装置连结控制器被耦接至该中央处理电路;至少一个主机端输出入装置连结埠被提供于一该至少一个输出入装置连结控制器中以耦接至该主机单元;至少一个串列附接小型计算机系统介面(SAS,Serial Attached SCSI)输出入装置连结埠被提供于一该至少一个输出入装置连结控制器中用于以串列附接小型计算机系统介面(SAS,SerialAttached SCSI)协定来执行与至少一个实体储存装置的点对点串列讯号传送;以及其中当该对冗余储存虚拟化控制器中的另一外接式储存虚拟化控制器不为上线或在上线之后为下线时,该外接式储存虚拟化控制器将自动地接管原先由该另一外接式储存虚拟化控制器执行的功能。
本发明的目的及解决其技术问题还采用以下技术措施来进一步实现。
前述的储存虚拟化控制器,其中一该主机端输出入装置连结埠以及一该串列附接小型计算机系统介面(SAS,Serial Attached SCSI)装置端输出入装置连结埠被提供于相同的该输出入装置连结控制器中。
前述的储存虚拟化控制器,其中一该主机端输出入装置连结埠以及一该串列附接小型计算机系统介面(SAS,Serial Attached SCSI)装置端输出入装置连结埠被提供于不同的该输出入装置连结控制器中。
前述的储存虚拟化控制器更包含一侦测机制以侦测该另一储存虚拟化控制器的一下线或失效状态。
前述的储存虚拟化控制器,其中该储存虚拟化控制器包含一状态定义电路以迫使该对冗余储存虚拟化控制器中的另一储存虚拟化控制器的对外连接讯号线路至一预先决定的状态。
前述的储存虚拟化控制器,其中该储存虚拟化控制器包含一自杀电路以迫使其自身拥有的对外连接讯号线路至一预先决定的状态。
前述的储存虚拟化控制器,其中一控制器间通联埠被提供以在该对冗余储存虚拟化控制器中的该储存虚拟化控制器以及另一储存虚拟化控制器间通联状态同步资讯。
前述的储存虚拟化控制器,其中该控制器间通联埠为一现存的输出入装置连结埠,藉以多工传输控制器间通联交换的输出入要求与相关资料。
前述的储存虚拟化控制器,其中该控制器间通联埠为一专用埠,其主要功能为交换该状态同步资讯。
前述的储存虚拟化控制器,其中该控制器间通联埠包含如下型态之其一:光纤通道(Fibre Channel)、串列先进技术接取介面(SATA,SerialAdvanced Technology Attachment)、平行小型计算机系统介面(ParallelSCSI,P-SCSI)、乙大网路(ethernet)、串列附接小型计算机系统介面(SAS,Serial Attached SCSI)、晶片间总线(I2C bus)、以及周边周边元件连结快捷介面(PCI-Express)。
前述的储存虚拟化控制器,其中该储存虚拟化控制器可执行绕送输出入要求的功能。
前述的储存虚拟化控制器,其中该储存虚拟化控制器包含一扩展埠以耦接至一第二组的至少一个实体储存装置。
前述的储存虚拟化控制器,其中该至少一个主机端输出入装置连结埠包含如下型态之一:在目标模式中支援点对点连线的光纤通道(FibreChannel)、在目标模式中支援公用回路连线的光纤通道(Fibre Channel)、在目标模式中支援私用回路连线的光纤通道(Fibre Channel)、操作在目标模式中的平行小型计算机系统介面(Parallel SCSI,P-SCSI)、操作在目标模式中支援网际网路小型计算机系统介面(iSCSI)协定的乙太网路(ethernet)、操作在目标模式中的串列附接小型计算机系统介面(SAS,Serial Attached SCSI)、操作在目标模式中的串列先进技术接取介面(SATA,Serial Advanced Technology Attachment)、美国电机电子工程师协会1394A介面(IEEE 1394A)/美国电机电子工程师协会1394B介面(IEEE1394B)、以及万用串列总线介面(USB)/万用串列总线2.0介面(USB 2.0)。
本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的一种在一具有组态设定为一对冗余储存虚拟化控制器的一第一和第二外接式储存虚拟化控制器的计算机系统中用以执行储存虚拟化的一方法,该方法包括:回应由该计算机系统的一主机单元所发送的输出入要求,由该对冗余储存虚拟化控制器的一储存虚拟化控制器以串列附接小型计算机系统介面(SAS,Serial Attached SCSI)协定使用点对点串列讯号传送来对该计算机系统的至少一个实体储存装置执行输出入操作;当该对冗余储存虚拟化控制器中的该一储存虚拟化控制器不为上线或上线之后为下线时,由该对储存虚拟化控制器中的另一储存虚拟化控制器来执行该输出入操作以回应由该主机单元发送的输出入要求以存取该计算机系统的该至少一个实体储存装置。
本发明的目的及解决其技术问题还采用以下技术措施来进一步实现。
前述的方法,其中当该一储存虚拟化控制器不为上线或上线后为下线时,该另一储存虚拟化控制器将自动地接管原先由该一储存虚拟化控制器所执行的功能。
前述的方法,更包含提供一绕送机制给该对冗余储存虚拟化控制器以执行绕送输出入要求的功能。
前述的方法,更包含提供一存取拥有权转换机制给该对冗余储存虚拟化控制器中的该储存虚拟化控制器以及该另一储存虚拟化控制器以合作地在其中来回转移存取拥有权。
本发明与现有技术相比具有明显的优点和有益效果。
由以上技术方案可知,本发明的主要技术内容如下:本发明是有关于一种储存虚拟化控制器、子系统及系统与方法。一冗余外接式储存虚拟化计算机系统。该冗余储存虚拟化计算机系统包含一发出输出入(IO)要求的主机单元、一对耦接至该主机单元以执行输出入操作来回应由该主机发出的该输出入要求的串列附接小型计算机系统介面(SAS,Serial AttachedSCSI)冗余外接式储存虚拟化控制器、以及为了对该计算机系统提供储存空间的复数个实体储存装置(PSD,physical storage device)。各个实体储存装置皆经由一串列附接小型计算机系统介面连结耦接至该对冗余虚拟化控制器。该对冗余储存虚拟化控制器包含两者皆耦接至该主机单元的一第一和一第二串列附接小型计算机系统介面储存虚拟化控制器。在该对冗余储存虚拟化控制器中,当该第二储存虚拟化控制器不为上线时,该第一储存虚拟化控制器将接管原先由该第二储存虚拟化控制器执行的功能。
借由上述技术方案,本发明储存虚拟化控制器、子系统及系统与方法至少具有下列优点:
本发明的一优点为在使用串列附接小型计算机系统介面(SAS,SerialAttached SCSI)为主要装置端输出入装置的冗余外接式储存虚拟化计算机系统中,各个实体储存装置对该对储存虚拟化控制器来说具有一专用连结。
本发明的另一优点为不仅资讯的有效负载资料部分而且控制资讯也被该串列附接小型计算机系统介面(SAS,Serial Attached SCSI)装置连结保护。
综上所述,本发明特殊的储存虚拟化控制器、子系统及系统与方法,提供串列附接小型计算机系统介面(SAS)储存虚拟化控制器(StorageVirtualization Controller)以及使用一对控制器以便在一控制器故障时,另一控制器将接管所有原先由该控制器执行的操作而冗余组态设定的外接式串列附接小型计算机系统介面储存虚拟化控制器对经由标准主机-储存介面。其具有上述诸多的优点及实用价值,并在同类产品及方法中未见有类似的设计及方法公开发表或使用而确属创新,其不论在产品结构、方法或功能上皆有较大的改进,在技术上有较大的进步,并产生了好用及实用的效果,且较现有的储存虚拟化系统具有增进的多项功效,从而更加适于实用,而具有产业的广泛利用价值,诚为一新颖、进步、实用的新设计。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为一根据本发明包括一系统的实施例的一主要结构的方块图;
图2A为一根据本发明一储存虚拟化控制器200以及其对主机和直接存取储存装置的连接的一第一实施例的方块图;
图2B显示一根据本发明的一储存虚拟化控制器200以及其对主机和直接存取储存装置的连接的一第二实施例的方块图;
图2C显示一根据本发明的一储存虚拟化控制器200以及其对主机和直接存取储存装置的连接的第三实施例的方块图;
图3A至3D显示各个不同的方块图示以示例根据本发明的该介于该(等)主机/一冗余储存虚拟化控制器间、该主机端输出入装置连结控制器、以及该中央处理电路的连接配置;
图4为一描述一根据本发明的该中央处理单元晶片组/同位引擎(CPUchipset/parity engine)的一实施例的方块图;
图5A例示一用于图2B中的该串列附接小型计算机系统介面装置端输出入装置连结控制器的一第一实施例的方块图;
图5B例示一用于图2A中的该串列附接小型计算机系统介面(SAS)输出入连结控制器的一第二实施例的方块图;
图5C例示一用于图2C中的该串列附接小型计算机系统介面输出入连结控制器的一第三实施例的方块图;
图6A为一描述该周边元件连结延伸介面对串列附接小型计算机系统介面控制器(PCI-X to SAS controller)310的一实施例的方块图;
图6B为一描述该周边元件连结延伸介面对串列附接小型计算机系统介面控制器310的一第二实施例的方块图;
图6C为一描述于图6A中的该直接存取储存装置阵列400对该周边元件连结延伸介面对串列附接小型计算机系统介面控制器310的连接配置的一第一实施例的方块图;
图6D为一描述一于图6A/6B/6C中的该串列附接小型计算机系统介面埠的一实施例的方块图;
图6E为一描述一用于图6B/6C中的该串列附接小型计算机系统介面扩展电路340的该串列附接小型计算机系统介面扩展器装置315的一实施例的方块图;
图6F为一描述该周边元件连结延伸介面对串列附接小型计算机系统介面控制器310的一第三实施例的方块图;
图6G为一说明于图6A中的该直接存取储存装置阵列400对该周边元件连结延伸介面对串列附接小型计算机系统介面控制器310的连接配置的一第二实施例的方块图;
图7A至7F显示不同的方块图,其示例该根据本发明的中央处理电路与其对该储存虚拟化控制器的其他功能器方块的连接;
图8A为一更详细描述于图2B中该介于串列附接小型计算机系统介面输出入装置连结控制器300和直接存取储存装置阵列400之间的连接的方块图;
图8B为一更为详细说明图2A中的介于该扩展电路和其他功能方块的连接;
图8C为一更为详细说明图2C中的介于该背板、该扩展电路以及其他功能性方块之间连接配置的方块图;
图9描述一符合于串列附接小型计算机系统介面协定的一传送结构;
图10示例一介于该直接存取储存装置阵列与该储存虚拟化控制器间的连接结构;
图11A至图11B揭示一于图10中的该多工器以及介于储存虚拟化控制器以及直接存取储存装置阵列的桥接器的细节;
图12为一根据本发明的冗余外接式储存虚拟化计算机系统的一方块图;
图13为当该储存虚拟化控制器对中的一储存虚拟化控制器故障时的一强制切换过程的一流程图;
图14为一输出入要求绕送的一流程图;
图15A为实施连结扩展埠的一冗余储存虚拟化控制器的一方块图;
图15B和图15C为又一显示连结扩展埠的冗余储存虚拟化控制器实施的方块图;
图16A为一实施连结冗余扩展埠的冗余储存虚拟化控制器的一方块图;
图16B和图16C为又一显示连结扩展埠的冗余储存虚拟化控制器实施的方块图;
图17A为另一实施连结扩展埠的冗余储存虚拟化控制器的一方块图;
图17B为显示连结扩展埠的冗余储存虚拟化控制器的又一实施例的一方块图;
图18为一实施连结扩展埠的冗余储存虚拟化控制器中的一输出入要求绕送的一流程图;
图19为一包含两个在各个连接至两个完全独立的主机端输出入装置连结和主机埠的储存虚拟化控制器上的独立主机端埠的冗余外接式储存虚拟化计算机系统的一方块图;
图20为一显示一可用以达到图19的该主机端连结的交换电路的一实施例的方块图;
图21为一包含一在各个连接至一主机端输出入装置连结和主机埠的储存虚拟化控制器上的主机端埠的冗余外接式储存虚拟化计算机系统的一方块图;
图22为一习知冗余外接式储存虚拟化计算机系统的一方块图;且
图23为另一习知冗余外接式储存虚拟化计算机系统的一方块图。
10、12:主机 20:储存虚拟化子系统
120:光纤交换器 200:储存虚拟化控制器
220:主机端输出入装置连结控制器 236:冗余控制器通联连结控制器
240:中央处理电路 242:中央处理单元
244:中央处理单元晶片组/同位引擎 246:唯读记忆体
248:非挥发记忆体 250:资料保护引擎
260:同位引擎 280:记忆体
300:装置端输出入装置连结控制器
310:周边元件连结延伸介面对串列附接小型计算机系统介面控制器
312:周边元件连结延伸介面对串列附接小型计算机系统介面介面
315:串列附接小型计算机系统介面边缘扩展装置
316:组态设定电路 318:总线介面
320:背板 340:扩展电路
350:液晶显示模组 360:箱体管理服务电路
400:直接存取储存装置阵列 420:直接存取储存装置
450:可移除容置匣 462、464:主机端实体层
460:串列先进技术接取介面多工电路
466:装置端实体层 470:多工电路控制器
480:串列先进技术接取介面桥接器 482:实体层
484:链结层 486:传输层
487:协定转换器 488:总线介面
600:串列附接小型计算机系统介面埠 690:传输层
700:串列附接小型计算机系统介面埠层
710:串列附接小型计算机系统介面链结层
720:串列附接小型计算机系统介面实体层
730:串列附接小型计算机系统介面物理层
800:第二储存虚拟化控制器 910:中央处理单元介面
920:记忆体介面 930:周边元件连结延伸介面
932:周边元件连结延伸介面 940:X-总线介面
950:内部主要总线 982:仲裁器
980:传输控制协定直接记忆体存取 984:内部暂存器
986:通用非同步收发传输器 990:内部区域总线
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的储存虚拟化控制器、子系统及系统与方法其具体实施方式、结构、方法、步骤、特征及其功效,详细说明如后。
请参阅图1至图11B,是本发明的主要架构。本发明的更详细的操作流程与确切的详细结构将根据图12至图21更进一步说明。
图1显示一根据本发明包含一储存虚拟化子系统以及储存虚拟化控制器的实施例的一主要结构的方块图。根据本发明的系统包含一主机计算机10和一连接其上储存虚拟化子系统(Storage Virtualization Subsystem)20。虽然图1仅例示一个主机10与一储存虚拟化子系统20连接,可有多个储存虚拟化子系统20附接于该主机10;或者,多个主机10可附接于该储存虚拟化子系统20。或者,多个主机10可附接于多个储存虚拟化子系统20。
该主机10可为一伺服系统,一工作站,或者一个人计算机系统,或诸如此类。另,该主机10可为另一储存虚拟化控制器。该储存虚拟化子系统20包含一对储存虚拟化控制器(Storage Virtualization Controller)200,其可为一磁碟阵列控制器或一JBOD模拟器,以及一直接存取储存装置阵列400。虽此处仅描述一直接存取储存装置阵列400,多个直接存取储存装置阵列400可附接于该储存虚拟化控制器200。
该储存虚拟化控制器200是一串列附接小型计算机系统介面(SAS)储存虚拟化控制器,意即一遵照串列附接小型计算机系统介面协定实行的一储存虚拟化控制器。该储存虚拟化控制器200接收来自该主机10的输出入要求与相关资料(控制讯号与资料讯号)并在内部执行该输出入讯号或映射其等至该直接存取储存装置阵列400。以该主机10的观点而言,该储存虚拟化控制器200可用来加强单一逻辑媒体单元(logical media unit)(例如:一逻辑磁碟)的效能及/或增进其资料可用性及/或增加其的储存容量。该直接存取储存装置阵列400包含复数个直接存取储存装置420,例如硬碟,其包含串列附接小型计算机系统介面直接存取储存装置420A或串列先进技术接取介面(SATA)直接存取储存装置420S的其一或两种兼具。
当该储存虚拟化子系统20中的一逻辑媒体单元被设定为型态0或1之外的磁碟阵列型态时,例如型态3至6,该直接存取储存装置420包含至少一个同位直接存取储存装置,亦即一包含同位资料于其中的直接存取储存装置,并且资料可用性可因此而增进。另外,因存取的资料分布在多个直接存取储存装置中,执行一输出入操作的效能亦可增进。更甚,因该逻辑媒体单元为复数个直接存取储存装置的各区段结合,在单一逻辑媒体单元中可存取的储存容量可大为增加。例如,在磁碟阵列型态5的磁碟阵列子系统中,上述的功能皆可达成。在磁碟阵列型态6的磁碟阵列子系统中,其类似于磁碟阵列型态5,但是其包含可保护资料免于因两个或以上失效的直接存取储存装置所造成资料流失的同位资料且因而增加储存系统的资料可用性。
当该储存虚拟化子系统20中的一逻辑媒体单元被设定为磁碟阵列型态1时,相同的资料将储存于两个分别的直接存取储存装置,且在双倍的直接存取储存装置成本之下,资料可用性可因而大幅加强。
当该储存虚拟化子系统20中的一逻辑媒体单元被设定为磁碟阵列型态0时,主要议题是效能增进而非可用性考量,且如此没有提高资料可用性。然而,可大幅增进效能。例如,一磁碟阵列型态0并具有两个硬碟的磁碟阵列子系统,相较于一仅具有一硬碟的储存装置来说,理论上是拥有200%的效能,因其相异资料区段可在储存虚拟化控制器200的控制之下同时储存于两分别的硬碟。
图2A显示一根据本发明储存虚拟化控制器200以及其对主机和直接存取储存装置的连接的一第一实施例的一方块图。本实施例中,该储存虚拟化控制器200A包含一主机端输出入装置连结控制器220、一中央处理电路(CPC)240、一记忆体280、一串列附接小型计算机系统介面(SAS,SerialAttached SCSI)输出入装置连结控制器(或装置端输出入装置连结控制器)300、以及一冗余控制器通联连结控制器(redundant controllercommunicating(RCC)interconnect controller)236。虽然叙述为独立的功能性方块,在实际施行中,两个或多个甚至全部所有的功能性方块可统合为一晶片。
该主机端输出入装置连结控制器220连接到该主机10以及该中央处理电路240。该主机端输出入装置连结控制器220为一介于该储存虚拟化控制器200A与该主机10间的介面与缓冲器,并接收从主机来的输出入要求和相关资料且映射且/或传送其等至该中央处理电路240。
当该中央处理电路240接收该从主机端输出入装置连结控制器220来的主机10的输出入要求时,该中央处理电路240剖析其等并执行若干个操作以回应该输出入要求,且经由该主机端输出入装置连结控制器220发送要求的资料且/或报告且/或该储存虚拟化控制器200A的资讯给该主机10。
在剖析一来自主机10的接收到要求后,当接收到一读取要求且执行一个或多个操作以回应时,该中央处理电路240不是在内部就是从该记忆体280或以两者兼具的方法得到该要求的资料并且传送其等给该主机10。假使在内部无法得到该资料时或是该资料不存在于记忆体中之时,将经由该串列附接小型计算机系统介面输出入装置连结控制器300发送输出入要求给直接存取储存装置阵列400,并且从该直接存取储存装置阵列400传送该要求资料至该记忆体280,然后经由该主机端输出入装置连结控制器220传递给该主机10。
当从该主机10接收到一写入要求时,在剖析该要求且执行一个或多个操作之后,该中央处理电路240经由该主机端输出入装置连结控制器220得到从该主机10而来的资料,储存其等于该记忆体280中然后经由该中央处理电路240移动其等至该直接存取储存装置阵列400。当该写入要求为一回写要求时,该输出入完成报告可先发送至该主机10然后该中央处理电路240才于稍后执行实际的写入操作。除此之外,当该写入要求为一径写要求时,在被要求的资料实际的写入该直接存取储存装置阵列400后,一输出入完成报告才发送至该主机10。
该记忆体280连接到该中央处理电路240并扮演一缓冲器以缓冲经由该中央处理电路240传送于该主机10和该直接存取储存装置阵列400之间的资料。在一实施例中,该记忆体280可为一动态随机存取记忆体(DRAM);特别是该动态随机存取记忆体可为一同步动态随机存取记忆体(SDRAM)。
该串列附接小型计算机系统介面输出入装置连结控制器300为连接至该中央处理电路240与该直接存取储存装置阵列400的装置端输出入装置连结控制器。该串列附接小型计算机系统介面输出入装置连结控制器300为一介于该储存虚拟化控制器200A与该直接存取储存装置阵列400间的介面及缓冲器,并接收从该中央处理电路240发送的输出入要求与相关资料且映射且/或传送其等至该直接存取储存装置阵列400。该串列附接小型计算机系统介面输出入装置连结控制器300从该中央处理电路240接收的资料与控制讯号重新编排格式(re-format)以使其符合串列附接小型计算机系统介面协定并传送其等至该直接存取储存装置阵列400。
当于该直接存取储存装置阵列400中的该直接存取储存装置420经由该串列附接小型计算机系统介面输出入装置连结控制器300接收到该中央处理电路240的输出入要求时,其执行若干个操作以回应该输出入要求且传送该要求的资料及/或报告及/或资讯给该中央处理电路240。该直接存取储存装置阵列400可提供多种的直接存取储存装置420。例如,该直接存取储存装置阵列400包含串列附接小型计算机系统介面直接存取储存装置420A和串列先进技术接取介面直接存取储存装置420S的两者。
该冗余控制器通联连结控制器236是实作于储存虚拟化控制器200A中以使该中央处理电路240连接至一第二储存虚拟化控制器800。此外,该串列附接小型计算机系统介面输出入装置连结控制器300是通过一扩展电路340而连接到该直接存取储存装置阵列400。该扩展电路340也连接至该第二储存虚拟化控制器800。在此配置中,一冗余的第二储存虚拟化控制器800可附加于该储存虚拟化控制器200B。该直接存取储存装置阵列400是通过该扩展电路340而可被该等储存虚拟化控制器200A和800存取。并且,来自该主机10的该控制/资料资讯是可从该中央处理电路240通过该冗余控制器通联连结控制器236而被传送至该储存虚拟化控制器800,且在需要时可更进一步传至一的第二直接存取储存装置阵列(未示)。因有多于一个的储存虚拟化控制器,在该等储存虚拟化控制器和该串列先进技术接取介面直接存取储存装置420S之间是提供一串列先进技术接取介面多工电路460当作在多于一个储存虚拟化控制器连接至该串列先进技术接取介面直接存取储存装置420S时的埠选择器。此将发生于,例如,在一包含该串列先进技术接取介面(SATA)直接存取储存装置420S的储存虚拟化子系统中当该等储存虚拟化控制器200A和800被组态设定为一对冗余储存虚拟化控制器时。
一箱体管理服务电路(EMS,enclosure management service circuitry)360可附接于该中央处理电路240以作为一容纳该直接存取储存装置阵列400箱体上的管理电路。在该储存虚拟化子系统的另一配置中,是可视各式产品功能的实际需求,而省略该箱体管理服务电路360。
图2B为一方块图,其显示一根据本发明的一储存虚拟化控制器200以及其与该主机10和该直接存取储存装置阵列400经由位于该储存虚拟化控制器200外的一扩展电路340的连接配置的一第二实施例。在此实施例中,该储存虚拟化控制器200B包含一主机端输出入装置连结控制器220、一中央处理控制器240、一记忆体280、以及一串列附接小型计算机系统介面输出入装置连结控制器300。虽然以独立的功能性方块描述之,一些或全部这些功能性方块可结合至单一晶片中。
和该储存虚拟化控制器200A相较,此实施例中,在储存虚拟化控制器200B中省略了该冗余控制器通联连结控制器236。因此,该储存虚拟化控制器200B必须利用其他的输出入装置连结控制器以作为该冗余控制器通联连结控制器的功能来与另一个储存虚拟化控制器(未示)通联。
图10示例该直接存取储存装置阵列对该等储存虚拟化控制器200与800的一连接配置,其中有复数类型的直接存取储存装置设置于该直接存取储存装置阵列400中,如:串列先进技术接取介面硬碟420S和串列附接小型计算机系统介面硬碟420A。在本例子中,该直接存取储存装置420包含有一串列附接小型计算机系统介面硬碟420A与一串列先进技术接取介面硬碟420S。因其串列附接小型计算机系统介面协定对一串列先进技术接取介面硬碟的相容性,该单一埠串列先进技术接取介面硬碟420S可经由一串列先进技术接取介面多工电路(SATA MUX)460连接至该等储存虚拟化控制器。该直接存取储存装置420可容置于一可移除容置匣(removable canister)450中。该可移除容置匣使该直接存取储存装置420以及任何相关的电路在一直接存取储存装置420且/或相关电路需要服务时可轻易替换。藉由置放该转换电路于容置匣中,该直接存取储存装置的整个容置匣内容物,例如一平行先进技术接取介面(PATA)硬碟及其相关电路,很容易就可以用另一型态的直接存取储存装置,例如一串列先进技术接取介面(SATA)硬碟,替换之。
图11A揭示一该串列先进技术接取介面多工电路460的范例。来自该储存虚拟化控制器200的串列先进技术接取介面格式的资料是由主机端实体层一(PHY1)462所接收,而来自该储存虚拟化控制器800的串列先进技术接取介面格式的资料是由主机端实体层二(PHY2)464所接收。一多工电路控制器470在分别来自该等储存虚拟化控制器200与800的控制讯号CTRL-1-2与CTRL-2-2的控制之下决定该等储存虚拟化控制器200与800中哪一个可经由该装置端实体层(device-side PHY)466存取该直接存取储存装置420S。然而,根据串列先进技术接取介面2(SATA2)协定,可省略该等控制讯号CTRL-1-2与CTRL-2-2。于又一实施例中,该直接存取储存装置420P可为一平行先进技术接取介面硬碟420P,且在该串列先进技术接取介面多工电路460与该平行先进技术接取介面硬碟420P之间是设置有一桥接器(bridge)480以转换串列先进技术接取介面讯号为可被该平行先进技术接取介面硬碟控制器接受与处理的平行先进技术接取介面讯号。图11B揭露该桥接器480的一范例。来自该串列先进技术接取介面多工电路(SATAMUX)460的资料讯号是为实体层(PHY layer)482所接收,且经由链结层(link layer)484转移至传输层(transport layer)486。该串列先进技术接取介面格式的讯号是由该协定转换器487转换为符合平行先进技术接取介面格式的讯号然后经由一总线介面488传送至该平行先进技术接取介面直接存取储存装置420P。
该冗余控制器通联连结控制器236可与该主机端输出入装置连结控制器220整合为一单一晶片积体电路,其包含复数个输出入埠,该复数个输出入埠包含一个或多个主机端埠以及一个或多个装置端埠。在另一种实施例中,该冗余控制器通联连结控制器236可与该装置端输出入装置连结控制器300整合为一单一晶片积体电路。更有甚者,该主机端输出入装置连结控制器220、该装置端输出入装置连结控制器300、以及该冗余控制器通联连结控制器236全部可整合为一单一晶片积体电路。在此种实施态样中,该单一晶片输出入装置连结控制器可包含输出入埠,其可作为主机端埠、装置端埠与用以连接在该等储存虚拟化控制器200与800间的输出入埠。
图2C为一方块图,其显示一根据本发明的一储存虚拟化控制器200以及其通过一背板320和一扩展电路340与该主机和该直接存取储存装置阵列的连结的第三实施例。于此实施例中,该储存虚拟化控制器200C包含一主机端输出入装置连结控制器220、一中央处理电路240、一记忆体280、一串列附接小型计算机系统介面输出入装置连结控制器300、一箱体管理服务电路360以及一冗余控制器通联连结控制器236。虽其描述为分别的功能性方块,若干个或全部这些功能性方块可整合为一晶片。
与该储存虚拟化控制器200A相较,于该储存虚拟化控制器200C中,该串列附接小型计算机系统介面输出入装置连结控制器300经由该背板(backplane)320连接至该扩展电路(switching circuit)340,然后连至该直接存取储存装置阵列400。该背板320为一具有连接线路提供其中用以连接在该储存虚拟化控制器200C与该扩展电路340之间以使该连接更强固且使该等储存虚拟化控制器及/或该直接存取储存装置的附接与移除容易实行的电路板,例如:一印刷电路板。图2A所示的配置中,该介于该串列附接小型计算机系统介面输出入装置连结控制器300与该扩展电路340间的实体电性连接例如可为一电缆(cable),则其就不若背板电路板320这般强固。另外,该箱体管理服务电路360提供于该储存虚拟化控制器200中而非设于该储存虚拟化控制器200之外。
在此配置中,该介于冗余控制器通联连结控制器236与该第二储存虚拟化控制器800间的实体电性连接提供于该背板320中。
在图2A至2C的该等实施例中,该主机端输出入装置连结控制器220和该装置端输出入装置连结控制器300(串列附接小型计算机系统介面输出入装置连结控制器300)可以相同种类的积体电路晶片来实施,而将该主机端输出入装置连结控制器220中的输出入装置连结埠组态设定为主机端输出入装置连结埠,且将该装置端输出入装置连结控制器300中的输出入装置连结埠组态设定为装置端输出入装置连结埠。在另一种实施例中,一单一晶片可组态设定为包含主机端输出入装置连结埠与装置端输出入装置连结埠的两者以同时分别地耦接至该主机单元10以及该实体储存装置阵列400。再者,一单一晶片可组态设定为同时分别地包含所有该主机端输出入装置连结埠以耦接至该主机单元10、该装置端输出入装置连结埠以耦接至该实体储存装置阵列400、以及用于耦接至虚拟储存化控制器800的埠。
在另一种实施例中,该箱体管理服务电路360可整合至中央处理电路240中。甚且,该箱体管理服务电路360亦可实施在该装置端输出入装置连结控制器300中。
图3A至3D显示各个不同的方块图以示例根据本发明的该介于该主机、该冗余储存虚拟化控制器间、该主机端输出入装置连结控制器220、以及该中央处理电路间的连接配置。在图3A中的第一实施例中,一主机10通过分别的各埠连接至两个主机端输出入装置连结控制器220,其等皆连接至该相同的中央处理电路240。在图示3B的一第二实施例中,两个分别的主机10和12其各个皆连接至一分别的主机端输出入装置连结控制器220,其各个皆连接至相同的该中央处理电路240。在图3C所示的一第三实施例中,一主机10连接至一主机端输出入装置连结控制器220然后连接至该中央处理电路240,然而一第二储存虚拟化控制器800连接至一冗余控制器通联连结控制器236然后连接至相同的该中央处理电路240。在图3D所示的一第四实施例中,揭示一光纤对串列附接小型计算机系统介面(fibre-to-SAS)储存虚拟化控制器结构。两个分别的主机10和12和一储存虚拟化控制器800其各个皆连接至一光纤交换器(fibre switch)120以及一主机端输出入装置连结控制器220且一冗余控制器通联连结控制器236连接至该光纤交换器120。该主机端输出入装置连结控制器220和该冗余控制器通联连结控制器236是连接至相同的该中央处理电路240。该开关可以一多工器为其实施。当该主机端输出入装置连结控制器220实施为其中包含有一串列附接小型计算机系统介面埠以连接该主机单元的主机埠时,其是类似于设置在该装置端输出入装置连结控制器中300的该串列附接小型计算机系统介面埠的情形,但其配组态是被设定为目标模式而非启动者模式。
图4描述根据本发明的该中央处理单元晶片组/同位引擎(CPUchipset/parity engine)244的一实施例的方块图。在本实施例中,该中央处理单元晶片组/同位引擎244A主要包含同位引擎260、中央处理单元介面910、记忆体控制器920、周边元件连结延伸(PCI-X)介面930、932、X-总线(X-BUS)介面940、传输控制协定直接记忆体存取(TCP/IP DMA)980、仲裁器(Arbiter)982、内部主要总线(IM BUS,Internal Main BUS)950、以及内部区域总线(IL Bus,Internal Local Bus)990。举例来说,该内部主要总线950为一128位元、133Mhz总线且使该同位引擎260、中央处理单元介面910、记忆体控制器920、周边元件连结延伸(PCI-X)介面930、932、X-总线(X-BUS)介面940整个连接在一起以使资料讯号与控制讯号通联于其中。
来自主机端输出入装置连结控制器220的资料和控制讯号经由周边元件连结延伸介面930进入中央处理单元晶片组/同位引擎244A。举例来说,对该主机端输出入装置连结控制器220的周边元件连结延伸介面930可为64位元带宽、133MHz。当该周边元件连结延伸介面930拥有该内部主要总线950时,该资料与控制讯号被传送至该记忆体控制器920和该中央处理单元介面910的其一。
来自该该内部主要总线950由中央处理单元介面910接收的该资料与控制讯号被传送至中央处理单元242以进行更进一步处理。例如,该中央处理单元介面910与该中央处理单元242之间的通联可经由一64位元资料线路和一32位元位址线路执行。该资料和控制讯号可传送至该一64位元带宽、133Mhz的记忆体控制器920。
一错误更正码(Error Correction Code)电路也设置于该记忆体介面920中以产生错误更正码。例如,该错误更正码可由将8位元资料互斥或(XOR)运算后产生1位元的错误更正码。然后该记忆体控制器920储存该资料与错误更正码于该记忆体280中,举例来说,一同步动态随机存取记忆体中。该存于该记忆体280中的资料被传送至内部主要总线950。该记忆体控制器920具有一位元自动改正以及多位元错误侦测的功能且当该从该记忆体280传送至内部主要总线950的资料时执行此等功能于该资料上。
该同位引擎260可执行某些磁碟阵列型态的同位功能以回应该中央处理单元242的指示。当然,在某些情况下该同位引擎260可关掉而不执行同位功能,例如,在磁碟阵列型态0的情况下。一内部区域总线990将连接至该中央处理单元介面910以及其他低速元件介面。
一内部暂存器984是设置于其中以暂存中央处理单元晶片组/同位引擎244A的状态且控制该内部主要总线950上的讯号流动。另设置由一对通用非同步收发传输器(UART)功能方块986,因此该中央处理单元晶片组/同位引擎244A可经由RS232介面沟通至外界。
该传输控制协定直接记忆体存取980区块提供核对和(checksum)的运算功能以及直接记忆体存取的操作。该仲裁器982仲裁内部主要总线950的使用权。
在另一实施例当中,周边元件连结快捷介面可代换该周边元件连结延伸介面930、932。在另一实施例当中,周边零件连接介面(PCI)可用来代换该周边元件连结延伸介面930、932。在该技术领域中具有通常知识者可知其等代换可简易达成而无任何困难。
图5A描述一于图2A中的该串列附接小型计算机系统介面(SAS)装置端输出入装置连结控制器300的一第一实施例的一方块图。根据本实施例,该串列附接小型计算机系统介面装置端输出入装置连结控制器中300包含两个周边元件连结延伸介面对串列附接小型计算机系统介面控制器(PCI-X toSAS controller)310。该串列附接小型计算机系统介面(SAS)装置端输出入装置连结控制器300是通过该等周边元件连结延伸介面对串列附接小型计算机系统介面控制器(PCI-X to SAS controller)310而连接至该直接存取储存装置阵列400及/或该储存虚拟化控制器800。
图6A描述于图5A中的该周边元件连结延伸介面对串列附接小型计算机系统介面控制器310的一实施例的方块图。如6A图所示,其各个周边元件连结延伸介面对串列附接小型计算机系统介面控制器310皆包含一连接至该中央处理单元240的周边元件连结延伸介面312以及一连接至该周边元件连结延伸介面312的串列附接小型计算机系统介面埠600。该周边元件连结延伸介面312包含一连接至串列附接小型计算机系统介面埠600的总线介面318以及一储存该周边元件连结延伸介面对串列附接小型计算机系统介面控制器310组态设定的组态设定电路316。该串列附接小型计算机系统介面埠600可连接至该直接存取储存装置阵列400及/或该储存虚拟化控制器800。
图8A为更详细阐明于图2B中该介于串列附接小型计算机系统介面输出入装置连结控制器300和直接存取储存装置阵列400之间的连接的方块图。资料讯号和控制讯号通过该周边元件连结延伸介面对串列附接小型计算机系统介面控制器310的一串列附接小型计算机系统介面埠600传送至该直接存取储存装置420。该串列附接小型计算机系统介面埠600可直接连接至一串列附接小型计算机系统介面直接存取储存装置420A的一串列附接小型计算机系统介面埠以及一串列先进技术接取介面直接存取储存装置420S的一串列先进技术接取介面埠两者的其一上。另外,因在各个串列附接小型计算机系统介面直接存取储存装置420A上有两个分别的埠,埠1和埠2,在该周边元件连结延伸介面对串列附接小型计算机系统介面控制器310上的两个不同串列附接小型计算机系统介面埠(甚或在不同的周边元件连结延伸介面对串列附接小型计算机系统介面控制器310上,其未示于图8A中)可通过两个不同的埠连接至一串列附接小型计算机系统介面直接存取储存装置420A,该二埠对单一串列附接小型计算机系统介面直接存取储存装置420A来说,形成连接至该储存虚拟化控制器200的一具有冗余连结的冗余埠对。
在另一实施例中,一周边元件连结快捷介面对串列先进技术接取介面控制器(PCI-E to SATA controller)(图中未示)可用以代换该周边元件连结延伸介面对串列附接小型计算机系统介面控制器310。在该周边元件连结快捷介面对串列先进技术接取介面控制器中,一周边元件连结快捷介面(图中未示)用以代换该周边元件连结延伸介面312。在更一实施例中,一周边零件连接介面对串列先进技术接取介面控制器(PCI to SATA controller)可用以代替该周边元件连结延伸介面对串列附接小型计算机系统介面控制器310。在该周边零件连接介面对串列先进技术接取介面控制器中,一周边零件连接介面用以代换该周边元件连结延伸介面312。在该技术领域中具有通常知识者可知其等代换可简易达成而无任何困难。
图6B描述5A中的该周边元件连结延伸介面对串列附接小型计算机系统介面控制器310的一第二实施例的方块图,其包含一结合其中的串列附接小型计算机系统介面扩展电路(SAS expanding circuit)340。一串列附接小型计算机系统介面扩展电路340可以一边缘扩展器装置(edge expanderdevice)315为其实施,如图6E所示,其可连接至其他一个或二个边缘扩展器装置且/或多数个末端装置(end device),例如:一个或多个直接存取储存装置420的串列附接小型计算机系统介面埠。且,一串列附接小型计算机系统介面扩展电路340可以包含一个或多个边缘扩展器装置组(edgeexpander device set)为其实施,其中,该等边缘扩展器装置组各个设置为包含复数个串列附接小型计算机系统介面扩展器装置315。另外,一串列附接小型计算机系统介面扩展电路340可以一包含复数个边缘扩展器装置组的扇出扩展器装置(fanout expander device)为其实施,该等边缘扩展器装置组各个包含复数个串列附接小型计算机系统介面扩展器装置315。
该串列附接小型计算机系统介面扩展器装置315包含一扩展连接方块,一管理功能方块,以及复数个实体层(PHY)。该扩展连接方块提供多工功能以连接各个实体层(PHY)以输出输入讯号。该管理功能方块执行扩展装置的串列管理协定操作(SMP(Serial Management Protocol)operation)。通过该扩展器装置315,复数个直接存取储存装置可连接至一串列附接小型计算机系统介面控制器310,其改善该储存虚拟化子系统储存容量的扩充性,当通过该扇出扩展器装置时,大量边缘扩展器装置组可附接其上,此大举加强该虚拟储存化子系统容量的扩充性。
图6D描述一图6A/6B/6C的该串列附接小型计算机系统介面埠600的一实施例的方块图。如6D图中所示,该串列附接小型计算机系统介面埠包含五部分:该传输层(transport layer)690、串列附接小型计算机系统介面埠层(SAS port layer)700、串列附接小型计算机系统介面链结层(SASlink layer)710、串列附接小型计算机系统介面实体层(SAS PHY layer)720、以及串列附接小型计算机系统介面物理层(SAS physical layer)730。该串列附接小型计算机系统介面物理层730包含该串列附接小型计算机系统介面连接器、电缆、以及串列附接小型计算机系统介面传送接收电路。该串列附接小型计算机系统介面实体层720涵盖编码机制(encodingscheme)以及包含带外发讯(OOB signaling)标志和速度协调的实体层重设序列(PHY reset sequence)。该串列附接小型计算机系统介面链结层710控制该串列附接小型计算机系统介面实体层以管理与其他串列附接小型计算机系统介面装置的连接。该串列附接小型计算机系统介面埠层700位在介于一个或多个串列附接小型计算机系统介面链结层和一个或多个串列附接小型计算机系统介面传输层之间以接收并剖析要求且藉由正确的串列附接小型计算机系统介面链结层以建立连接。该串列附接小型计算机系统介面传输层690包含为了串列小型计算机系统介面应用的串列小型计算机系统介面协定传输层(SSP(Serial SCSI Protocol)transport layer)、为了串列先进技术接取介面控制器应用的串列ATA(先进技术接取介面)隧穿协定传输层(STP(Serial ATA Tunneling Protocol)transport layer)以及为了管理应用的串列管理协定传输层(SMP(Serial ManagementProtocol)transport layer)。
一串列附接小型计算机系统介面埠600包含一个或多个实体层。假使在该埠中有多于一个的实体层时,其可为一宽广埠(“wide”port),或其仅有一个实体层时其为一狭窄埠(“narrow”port)。介于串列附接小型计算机系统介面输出入装置连结控制器300和扩展电路340或直接存取储存装置阵列400之间的链结可为狭窄链结或宽广链结。一宽广链结可组态为介于两端为宽广埠的链结以扩大传送的带宽。
该物理层730通过一对差动讯号线(differential signal line),LTX+、LTX-传输线路传送讯号且经由另一对差动讯号线LRX+、LRX-从该直接存取储存装置420中的直接存取储存装置420控制器接收讯号。该任一讯号线对的两讯号线,例如为LTX+/LTX-时,以反相电压同步传送讯号TX+/TX-,举例来说+V/-V或-V/+V,该等电压是分别相对一参考电压Vref因此该电压差将为+2V或-2V且几乎不会为环境因素所影响,因此可加强其讯号品质。此理同样可应用接收线LRX+、LRX-在接收讯号RX+/RX-的传送上。
该实体层720定义8位元/10位元编码以及带外讯号。从该物理层730接收到的所有资料位元将被解码为该8位元/10位元字元并移除SOF、CR、EOF。一串列附接小型计算机系统介面实体层720使用该带外讯号以辨识且开启该连接至另一串列附接小型计算机系统介面实体层720的该操作性链结。在串列附接小型计算机系统介面链结为可操作之后,该串列附接小型计算机系统介面实体层720发送讯号给该串列附接小型计算机系统介面链结层且该串列附接小型计算机系统介面链结层取得该串列附接小型计算机系统介面实体层720的控制以通联讯号,其包含辨识序列、连接管理、以及框架(frame)传输。串列附接小型计算机系统介面链结层是使用两个重要的结构(structure),是为串列附接小型计算机系统介面原素(SAS primitive)与串列附接小型计算机系统介面框架(SAS frame)。
一原素包含单一双字元组(double-word)且其为通联于一主机和一装置之间资讯的最简单位。当一原素中的位元被编码时,其产生的式样(pattern)不容易被误解为其他原素或乱数式样。原素主要用以运送即时状态讯息、控制介于该主机和该装置间的资讯传送以及通联的协调。一原素的第一位元组(byte)为一特别字元(special character)。
一框架包含复数个双字元组(double-words)以及以一开始原素(startprimitive)开始以一结束原素(end primitive)结束。当一连接没有建立时,使用该串列附接小型计算机系统介面位址框架(SAS address frame),且以位址开始框架(SOAF,Start of Address Frame)开始且以位址结束框架(EOAF,End of Address Frame)结束。
该串列附接小型计算机系统介面支援三种类型的连接,其包含用于串列附接小型计算机系统介面装置的串列小型计算机系统介面协定框架(SSPframe)、用于串列先进技术接取介面装置的串列先进技术接取介面隧穿协定框架(STP frame)、以及用于管理的多重处理器框架(SMP frame)。串列小型计算机系统介面协定框架和多重处理器框架以SOF(Start of Frame)开始且以EOF(End of Frame)结束。串列先进技术接取介面隧穿协定框架以SATA_SOF开始且以SATA_EOF结束。这些符合于串列附接小型计算机系统介面协定的框架与传输结构阐示于图9中。
一循环冗余检查码(CRC,Cyclic-Redundancy Check Code)为结束原素紧接在其后的最后的非原素双字元组。循环冗余检查码以整个该框架的内容计算,所有通过该周边元件连结延伸介面对串列附接小型计算机系统介面控制器310通联于中央处理电路240和该直接存取储存装置420之间的输出入要求资讯将执行循环冗余检查码核对。因此,在从该储存虚拟化控制器至实体储存装置的传递中不慎发生的资料毁坏(如:因杂讯)可被侦测出且恢复,防止了潜在的资料写入错误媒体区段的灾难性资料毁坏情形的可能,此种资料写入错误媒体区段的情形可能是因为包含于初始输出入要求资料中的目的地媒体区段基础位址及/或媒体区段长度的毁坏而造成。
图6F描述一图5A中周边元件连结延伸介面对串列附接小型计算机系统介面控制器的一第三实施例的方块图。此实施例中,部份串列附接小型计算机系统介面埠600连接至该扩展电路340以及部份串列附接小型计算机系统介面埠600直接连接至该直接存取储存装置420,且/或部份串列附接小型计算机系统介面埠600连接至该储存虚拟化控制器800。另外,该扩展电路340可更进一步连接至该直接连接至该直接存取储存装置420以及/或储存虚拟化控制器800。
图5B描述一根据本发明的图2A中该串列附接小型计算机系统介面控制器的一第二实施例的方块图,其中该扩展电路340是设置于介于该周边元件连结延伸介面对串列附接小型计算机系统介面控制器310与该直接存取储存装置阵列400之间。
图6C说明于图5B或图6A中的该直接存取储存装置阵列400对该周边元件连结延伸介面对串列附接小型计算机系统介面控制器310的连接配置的一第一实施例的方块图,其中在该周边元件连结延伸介面对串列附接小型计算机系统介面控制器310中不提供该串列附接小型计算机系统介面扩展电路340,但以一可附加于周边元件连结延伸介面对串列附接小型计算机系统介面控制器310的独立装置提供的作为一对于该直接存取储存装置阵列400或另一串列附接小型计算机系统介面扩展电路340的介面/控制。
图6G说明于图5B或图6A中的该直接存取储存装置阵列400对该周边元件连结延伸介面对串列附接小型计算机系统介面控制器310的连接配置的一第二实施例的方块图,其中在该周边元件连结延伸介面对串列附接小型计算机系统介面控制器310中不提供该串列附接小型计算机系统介面扩展电路340,但提供其作为一独立装置。在此实施例中,部份该等串列附接小型计算机系统介面埠600连接至该扩展电路340以及部份该等串列附接小型计算机系统介面埠600用以直接连接至该直接存取储存装置420,且/或部份该等串列附接小型计算机系统介面埠600连接至该储存虚拟化控制器800。另外,该扩展电路340可更进一步连接至该直接存取储存装置420且/或该储存虚拟化控制器800。
图8B为一更为详细阐描述图2A以及图5B、或图6B/6C/6G中的介于该扩展电路340和其他功能方块连接的方块图。该扩展电路340可接收来自该串列附接小型计算机系统介面输出入装置连结控制器300的命令/资料且传送其等至该直接存取储存装置阵列400且/或至该储存虚拟化控制器800。
图5C说明一根据本发明的图2C中该串列附接小型计算机系统介面控制器的一第三实施例的方块图,其中该周边元件连结延伸介面对串列附接小型计算机系统介面控制器310连接至一背板320然后再连接至该扩展电路340并且最终至该直接存取储存装置阵列400。图8C为一更为详细说明图2C和图5C中的介于该背板、该扩展电路以及其他功能性方块之间连接的方块图。在此种配置下,该扩展电路340和其在图5B中的相同,然而该背板320提供一其上电气布线和连接器的强固电路板,以增强介于该串列附接小型计算机系统介面输出入装置连结控制器300和该扩展电路340之间的连接,且使与该串列附接小型计算机系统介面输出入装置连结控制器300有关的附接和分离更为便利。
虽然根据本发明揭露于图5A到5C中的该串列附接小型计算机系统介面控制器300的该等实施例包含有两个周边元件连结延伸介面对串列附接小型计算机系统介面控制器310,根据本发明的该串列附接小型计算机系统介面控制器300也可包含一个或多于两个的控制器310于其中,端赖效能考量、工程考量、及/或成本或市场考量。在该技术领域中具有通常知识者可知其等代换可简易达成而无任何困难。
图7A至7F显示不同的方块图,其示例该根据本发明的中央处理电路与其对该储存虚拟化控制器的其他功能器方块的连接。
在图7A中,该中央处理电路方块的第一实施例是以该中央处理电路240A表示,其包含该中央处理单元晶片组/同位引擎244A、该中央处理单元242、一唯读记忆体(ROM,Read Only Memory)246、一非挥发性记忆体(NVRAM,Non-volatile RAM)248、一液晶显示模组350以及一箱体管理服务电路360。该中央处理单元可以为一PowerPC中央处理单元。该唯读记忆体246可为一快闪记忆体(FLASH)以储存基本输出入系统(BIOS)且/或其他程式,例如:控制器的核心程式(kernel)以及各程式模组,其中核心程式(kernel)用以在开机后执行以控制子系统的操作。该非挥发性记忆体储存若干个关于该磁碟输出入操作执行状态的资讯,其可于一不正常电力中断发生后且同时该输出入操作发生执行尚未结束的情况下被检验。该液晶显示模组350显示该子系统的操作。箱体管理服务电路360可控制该直接存取储存装置阵列的电源且做一些其他的管理。该唯读记忆体246、该非挥发记忆体248、该液晶显示模组350以及该箱体管理服务电路360通过一X-总线连接至该中央处理单元晶片组/同位引擎244A。该中央处理单元晶片组/同位引擎244A已于较早的图4解释过。
图7B中,该中央处理电路方块的一第二实施例是以该中央处理电路240B显示的,其包含一中央处理单元晶片组244B、该同位引擎260、该中央处理单元242、一唯读记忆体246,一非挥发记忆体248,一液晶显示模组350以及一箱体管理服务电路360。该第二实施例的中央处理电路240B与该中央处理电路240A,除了在中央处理电路240B中该中央处理单元晶片组244B和同位引擎260为两个独立晶片外,其余皆相同。
图7C中,该中央处理电路方块的一第三实施例是以该中央处理电路240C显示的,其主要包含该中央处理单元晶片组244C、该中央处理单元242、以及该唯读记忆体246。虽然在图7C中省略了该非挥发记忆体248以及该液晶显示模组350,其各个可为该中央处理电路240C的一部份。在此实施例中省略了该同位引擎。假设该储存虚拟化控制器200或储存虚拟化子系统20不需该种同位引擎功能时,该中央处理电路240可在不需一同位引擎下实行。例如,对一无同位引擎的JBOD模拟控制器或其储存虚拟化子系统、或一磁碟阵列型态1的控制器或其储存虚拟化子系统来说,不需要同位功能,且因此可省略同位功能。在另一情况下,其中该执行若干个同位功能程式或程式码的中央处理单元执行该同位功能,而非由一专用硬体,像是一同位引擎,因此可省略同位引擎。对于该同位功能来说,其可为一低效能但低成本的解决方式。
图7D中,该中央处理电路方块以该中央处理电路240D为一第四实施例的显示,其主要包含该中央处理单元晶片组244D、一资料保护引擎250、该中央处理单元242、以及该唯读记忆体246。虽然于图7D中省略该非挥发性记忆体248与该液晶显示模组350,其各个可为该中央处理电路240D的一部份。与该中央处理电路240C相较,中央处理电路240D更包含有一资料保护引擎250,相较于图7B中所示的该同位引擎,其可执行一较同位功能更强及/或不同的资料保护功能。例如说该资料保护引擎250可具有一错误更正码功能。
图7E中,该中央处理电路方块的一第五实施例是以该中央处理电路240E显示的,其主要包含该中央处理单元晶片组/唯读记忆体244E、该同位引擎260、该中央处理单元242、以及该唯读记忆体246。虽然于图7E中省略该非挥发性记忆体248以及该液晶显示模组350,其各个可为该中央处理电路240E的一部份。与中央处理电路240C相较,中央处理电路240E更包含该同位引擎260。该唯读记忆体嵌入式制造于该中央处理单元晶片组/唯读记忆体244E晶片内。或者,该唯读记忆体整合设置于该中央处理单元晶片组/唯读记忆体244E晶片内。
图7F中,该中央处理电路方块的一第六实施例是以该中央处理电路240F显示的,其主要包含该嵌入式中央处理单元/中央处理单元晶片组242F、该同位引擎260、以及该唯读记忆体246。虽然于图7F中省略该非挥发性记忆体248以及该液晶显示模组350,其各个可为该中央处理电路240F的一部份。和中央处理电路240E相较,该中央处理电路240F更包含该同位引擎260以及该唯读记忆体246,其各个独立于该嵌入式中央处理单元/中央处理单元晶片组242F之外。该中央处理单元嵌入式制造于该嵌入式中央处理单元晶片组/唯读记忆体242F晶片内。
图7A至7F仅显示几个示例该中央处理电路240的方块图,其余可为该技术领域中具有通常知识者变化且/或修改者应视为本发明的一部。例如,根据系统单晶片(SOC,System On Chip)的潮流,所有该功能性方块可整合形成或嵌入在单一晶片中。
本发明的操作流程以及若干个详细结构的更进一步细节于随后的图12至图21中解释。
请参考图12,其为根据本发明的包含一冗余外接式串列附接小型计算机系统介面储存虚拟化子系统20的储存虚拟化计算机系统的一实施例的又一示图。如同显示于图12中,该储存虚拟化计算机系统10包含一主机单元10以及该冗余外接式串列附接小型计算机系统介面储存虚拟化子系统20。该冗余外接式串列附接小型计算机系统介面储存虚拟化子系统20包含一对储存虚拟化控制器,储存虚拟化控制器一和储存虚拟化控制器二,该对储存虚拟化控制器是被组态设定为一对冗余储存虚拟化控制器以便当该等储存虚拟化控制器的一有问题时,例如被阻塞了、故障了或失效时,另一储存虚拟化控制器将自动接管有问题的储存虚拟化控制器的功能。
大部分硬体结构的细节以在先前根据图1到图12B解释过。
在图12中有两种型态的直接存取储存装置连接至该等储存虚拟化控制器。第一种型态是串列附接小型计算机系统介面直接存取储存装置,其藉由原本即有的串列附接小型计算机系统介面双埠而可直接连接至储存虚拟化控制器两者。第二种型态是串列先进技术接取介面直接存取储存装置,其藉由一存取控制交换器342可连接至该等储存虚拟化控制器的两者。
串列附接小型计算机系统介面输出入装置中的存取控制交换器342的设计可为一埠选择器。一储存虚拟化控制器可发送命令至一实体储存装置420且该埠选择器可自动交换自该储存虚拟化控制器至实体储存装置420的正确路径。
一储存虚拟化控制器的存取拥有权是为让该储存虚拟化控制器可存取一实体储存装置的拥有权。一种会使存取拥有权的转换为强制转换的情形是为,当该存取拥有权拥有者(简称“存取权拥有者”)储存虚拟化控制器200的故障情形导致另一储存虚拟化控制器200必须接管其功能的时。图13图示在此状况中该存取拥有权的转换过程。当侦测到该故障的储存虚拟化控制器200故障时,另一储存虚拟化控制器200拉启该故障储存虚拟化控制器200的重设讯号(reset signal)以使其完全无作用且迫使所有的对外连接讯号线路进入预先定义状态。此种对外连接讯号线路之一为该故障的储存虚拟化控制器200的存取控制交换器的控制讯号。当该储存虚拟化控制器重设讯号拉启时,此讯号线路被设为使该存活的储存虚拟化控制器到该实体储存装置420的为配接致能(patching enable)的状态。随着在该故障中的储存虚拟化控制器重设讯号的拉启,该存活的储存虚拟化控制器200是设定其存取控制交换器控制讯号的状态以使其启始通过自身而配接到该实体储存装置420。如此完成该转换过程。
该存取控制交换器342将保持在于此状态中,直至该正在故障中的储存虚拟化控制器200被更换或重为上线并要求拥有权转移给它。对各个在重设、开机、以及在初始化期间的控制器来说,该存取控制交换器讯号线路的状态保持在使其通过自身到该实体储存装置420为配接禁能(patchingdisable)的状态,以确保其不会由于不慎使该存取控制交换器342进入一中断此存取的状态而与该上线储存虚拟化控制器200有可能正在进行的实体储存装置420存取发生冲突。
处理在该等储存虚拟化控制器200并未正常具有该实体储存装置420的存取拥有权的部分的“偶尔的”存取需要的另一方法为,使该存取拥有者扮演为一代理人的角色以发送需要存取的储存虚拟化控制器200(被以存取要求者的辞称呼)的必须执行的输出入要求,一个此处以“输出入要求绕送”的辞来称呼的操作。如此典型地必须传送所有的必需输出入要求资讯至该存取拥有者以让该拥有者为了该存取要求者去建构一输出入要求以发送至该实体储存装置420。除了该输出入要求资讯以外,该存取要求者在输出要求的发送和执行之前或其期间,将传送任何待写入至该实体储存装置的有效负载资料至该存取拥有者。任何从该实体储存装置读取而来的有效负载资料在输出入要求执行期间或之后将被传送回该存取要求者。该操作的完成状态,典型地是为指出是否该操作“成功”或“失败”以及为了甚么原因的资讯,将于该输出入要求执行完成时被传回至该存取要求者。图14描述此一流程图。
输出入要求绕送功能可经由一对冗余输出入装置连结埠来执行。该对输出入装置连结埠的每一成员埠是被设置于在该对冗余储存虚拟化控制器的一单独但通过该输出入装置连结被连接至同样的实体储存装置的储存虚拟化控制器上。该对冗余输出入装置连结埠的一成员埠可为一装置端输出入装置连结埠,或为对某些输出入操作来说作为一装置端输出入装置连结埠且对其他输出入操作来说作为一主机端输出入装置连结埠的一混合输出入装置连结埠(hybrid IO device interconnect port)。就这一点而言,该对冗余输出入装置连结埠的该等成员埠可包含点对点输出入装置连结埠,例如串列附接小型计算机系统介面连结,或者在另一实施例中,可包含多重装置输出入装置连结埠,例如光纤通道或平行小型计算机系统介面的连结。另外,此般输出入要求绕送功能也可适用于通过该对冗余储存虚拟化控制器的互补扩展埠来执行输出入要求的情况。该对冗余储存虚拟化控制器的互补扩展埠将于稍后以图15至图18更为详细的叙述之。
为了增加可连接至该储存虚拟化控制器的实体储存装置数量,本发明选择性地包含一个或多个扩展装置端多装置输出入装置连结,在此被称为装置端扩展埠,例如在该储存虚拟化控制器上的平行小型计算机系统介面或光纤通道仲裁回路。典型地该等连结连的布线方式是使得外部扩展机座的得以于外部连接于其上。该等机座可为直接连接至该连结而无任何介于中间转换电路的简单的”原生”JBODs或可为智慧型JBODs模拟子系统,该智慧型JBODs模拟子系统是以串列附接小型计算机系统介面或串列先进技术接取介面的实体储存装置的组合以及一单一或冗余组的储存虚拟化控制器来模拟原生JBODs,其中该储存虚拟化控制器提供从多装置输出入装置连结到装置端输出入装置连结(串列附接小型计算机系统介面或串列先进技术接取介面)的转换,而该多装置输出入装置连结是提供该JBOD子系统到该主要储存虚拟化子系统的连接,该装置端输出入装置连结(串列附接小型计算机系统介面或串列先进技术接取介面)则提供介于该JBOD储存虚拟化控制器以及其所管理的实体储存装置间的连接。
对该装置端扩展埠的布线,本发明介绍三个可能的选择。在图15A所描述的一实作方案之中,一储存虚拟化控制器上的各个装置端扩展埠被连结到其在另一储存虚拟化控制器上的互补埠,此处称为冗余储存虚拟化控制器连结扩展埠实作方案。实作方案容许该等储存虚拟化控制器两者皆共享该装置端连结及其于正常操作期间所提供的带宽,并且容许该等储存虚拟化控制器两者皆经由连接元件(作用类似于一个集线器(Hub))而完全地存取各个储存单元埠。此实作方案更容许任一储存虚拟化控制器在对全部的储存单元保留完全的存取能力,包含那些原本指定给另一储存虚拟化控制器的储存单元,即便是在另一储存虚拟化控制器故障的情况下。
图15B和图15C显示类似于图15A但其使用一扩展电路以代替该连接元件的实作方案。在图15B所显示的实作方案中,对各对冗余扩展埠(来自于不同储存虚拟化控制器且连接至相同连接元件的该二扩展埠)提供有一扩展电路。在图15C所显示的实作中,所有的冗余扩展埠皆为连接至一相同的扩展电路。
图16A中描述一被加强的此般实作方案,此处称作被连结冗余扩展埠的冗余储存虚拟化控制器实作方案,其具有冗余扩展埠对而非具有独立埠以防止在储存虚拟化控制器的扩展埠的一连结的断裂或故障造成该储存虚拟化控制器对连接在该连接上的储存单元完全丧失其存取。在此组态设定中,在一冗余对中的每一埠将连接至每一连接在该连结上的双埠实体储存装置中的该等埠的一者,或连接至一模拟连接在该连结上的复数实体储存装置的双埠储存虚拟化子系统(例如:JBOD模拟储存虚拟化子系统)中的该等埠的一者。若当在一储存虚拟化控制器上的该等扩展埠或该等被连接的连结的一故障时,输出入要求将被绕送通过其他的扩展埠/连结。
图16B和16C显示类似于图16A但以使用一扩展电路来代替该连接元件的实作方案。在图16B的实作方案中,以一扩展电路来提供各对冗余扩展埠(来自不同的储存虚拟化控制器并且连接至同样的连接元件的该二扩展埠)。在图16C的实作方案中,所有的冗余扩展埠被连接至一相同的扩展电路。
图17A描述又一可能的实作方案,其中在一储存虚拟化控制器上的各个扩展埠具有在另一储存虚拟化控制器上的一冗余互补埠。在一储存虚拟化控制器上的该扩展埠以及其在另一储存虚拟化控制器上的冗余互补埠被连接至各个双埠储存单元的两个埠,其以一储存虚拟化控制器的扩展埠被连接至该双埠对中的一埠且其在另一储存虚拟化控制器上的互补埠被连接至该双埠对中的另一埠的方式连接。该等互补的扩展埠非为连结在一起的但藉由各个储存单元的双埠本质以达成冗余。然而,在面对该等储存虚拟化控制器的一者上的一扩展埠故障,或者把在该等储存虚拟化控制器的一者上的扩展埠连接至储存单元的一者上的连结故障时,单有该储存单元为双埠的特性,是不足以支持该等储存虚拟化控制器两者皆可维持存取的冗余性。为了达到此点,在一储存虚拟化控制器所拥有的扩展埠或连接其至该等储存单元的连结故障时,必需提供某些机制以在连接另一储存虚拟化控制器至该储存单元的连结上绕送输出入要求。
图17B显示一类似于图17A的实作方案,但特别指出一扩展电路的使用。在图17B中所显示的实作方案中,每一个冗余扩展埠为与一扩展电路连接。
描述于图17A和17B的组态设定中的装置扩展埠布线的又一选择为完全不用任何连结。在此实例中,可将输出入要求从一储存虚拟化控制器绕送至另一储存虚拟化控制器且在正常被用于使该二储存虚拟化控制器的相互状态为同步的储存虚拟化控制器间通联连结的上从该存活的互补扩展埠/装置端连结输出以达成冗余。
当一储存虚拟化控制器侦测到连接在一连接至其扩展埠的一的输出入装置连结上的一储存单元为不再可被存取时,不论其是因为在该扩展埠/连结中所侦测到的断裂/故障或某些其他原因,该侦测的储存虚拟化控制器将该输出入要求传给另一储存虚拟化控制器以给另一储存虚拟化控制器通过该互补扩展埠/连结以及另一储存单元埠来发送至同样的储存单元。任何相关于该输出入要求的资料/状态是于该输出入要求执行期间被传送在该二储存虚拟化控制器之间。假设在另一储存虚拟化控制器上的扩展埠/连结显然在工作状态中且功能正常,然而在另一储存虚拟化控制器上对该储存单元的存取却还是失败,该储存单元将被认为是已经失效或已被移除的。假设存取成功,则该存取的失效将被认为是局部性的而仅限于该原先的储存虚拟化控制器,而且相关于将来对该储存单元的存取的输出入要求将自动地被绕送至另一储存虚拟化控制器以在该互补的扩展埠/连结上发送。在此时期,该原先的储存虚拟化控制器典型地藉由周期性地发送确认该连结以及储存单元状态的内部产生的输出入要求来监测该储存单元通过其扩展埠/连结的可存取性。假设在某些时刻,该原先的储存虚拟化控制器发现该储存单元现在可在其扩展埠/连结上被存取,其将停止至另一储存虚拟化控制器的输出入要求绕送且直接在其拥有的扩展埠/连结上再次开始发送该等输出入要求。图18显示此过程的一流程图。
一储存虚拟化控制器典型地可能实用的另一特色为冗余的主机端连结,其中在该储存虚拟化控制器的上包含复数个主机端连结埠且在两个或多个该等连结上呈现给该主机的逻辑媒体单元为完全相同。此种经设计的特色使该主机具有即使在该等连结及/或埠的其一断裂、被阻塞或其他故障时维持对该逻辑媒体单元存取的能力。
对串列附接小型计算机系统介面直接存取储存装置来说,该操作过程非常类似于串列先进技术接取介面直接存取储存装置事例的过程。主要区别为该等储存虚拟化控制器的两者皆可藉由该串列附接小型计算机系统介面直接存取储存装置的串列附接小型计算机系统介面双埠来连接至该串列附接小型计算机系统介面直接存取储存装置。任一得到串列附接小型计算机系统介面直接存取储存装置的存取拥有权的储存虚拟化控制器不需存取控制交换器342。该储存虚拟化控制器仅需具体指定连接至此储存虚拟化控制器的正确串列附接小型计算机系统介面位址以及对该串列附接小型计算机系统介面直接存取储存装置执行操作。然,根据本发明的一另一实施例,该等储存虚拟化控制器在一串列附接小型计算机系统介面直接存取储存装置上的存取拥有权可以经由对一串列附接小型计算机系统介面直接存取储存装置的存取控制交换器为其实施。
对串列附接小型计算机系统介面与串列先进技术接取介面直接存取储存装置两者皆连接至该等储存虚拟化控制器的事例来说,该具有目前存取拥有权的储存虚拟化控制器必须识别该目标直接存取储存装置的类型以为了如上述的对串列附接小型计算机系统介面与串列先进技术接取介面直接存取储存装置的不同的存取过程。
图19描绘在各个连接至两个完全独立的主机端输出入装置连结以及主机埠的储存虚拟化控制器上包含有两个独立主机端埠的一冗余外接式储存虚拟化计算机系统。一储存虚拟化控制器的每一埠在其互相连结的另一储存虚拟化控制器上具有一互补埠。在主机端连结中支持冗余的一典型实施中,各个储存虚拟化控制器将以一完全相同的方式在其埠的两者上呈现同样的逻辑媒体单元组。
在正常操作下,主机的存取一逻辑媒体单元,是可通过一被组态设定为在一主机连结上呈现该逻辑媒体单元的储存虚拟化控制器来进行。此可为在对冗余储存虚拟化控制器中的一储存虚拟化控制器或两者。假设一储存虚拟化控制器为故障时,已经由该等储存虚拟化控制器的两者正被呈现给该主机的逻辑媒体单元将经由该正常作用的储存虚拟化控制器来保持为可存取的,且在主机上的特定目的的“多重冗余路径”功能的帮助的下,在侦测到经由该等储存虚拟化控制器的一者的输出入要求处理为中断时,该输出入要求将被完全地绕送(reroute)至该正常作用的储存虚拟化控制器。
原本仅由现今为故障中的储存虚拟化控制器来呈现至该主机的该等逻辑媒体单元,将马上地被该正常作用的储存虚拟化控制器在连接其至该主机的主机端连结上呈现给该主机。对该等逻辑媒体单元来说,该正常作用的储存虚拟化控制器将可通透地接管主机输出入要求的处理,其仅是藉由在每一个连结上以该故障中的储存虚拟化控制器在其故障前的完全相同的方式,呈现其自身并连同所有的重新指定的逻辑媒体单元。以此种“通透接管”,该主机不需要实施特别的功能以使其察觉储存虚拟化控制器的故障且以绕送其自身的输出入来回应。
除了储存虚拟化控制器的冗余的外,该两组的互补埠也形成一冗余埠互补。一具有两个使用两个独立的输出入装置连结以连接至此两个互补冗余埠组的独立埠的一主机,是具有两个在其上其可发送输出入要求至各个逻辑媒体单元的独立路径。当该主机或一储存虚拟化控制器上的一埠故障时或当该主机装置连结的本身断裂或被阻塞时,该等实施多重冗余路径功能的主机可绕送输出入要求于另一冗余路径上。另外,当该等路径的两者皆正常作用时,该主机可选择在该等路径的两者上皆发送输出入要求以收在该等路径间的负载平衡的效,此处称一技术为“负载平衡”。
为了达到上述的通透接管功能,每一个储存虚拟化控制器上各一个而形成一互补埠对的该对埠的每一个埠是为实体地连结的。对总线型式的多重装置输出入装置连结来说,例如平行小型计算机系统介面,该连结仅由将该等装置用线路直接连接在一起来构成而不用任何居中的电路。对其他型态的连结来说,也许需要特别的交换电路以达到该需求的实体连结。图20显示一可用来达成对其中使用硬体讯号侦测电路(SDC)以致动该交换器状态的转变的光纤/串列附接小型计算机系统介面的此种连结的交换电路的一例。
在其中该等主机实施多重冗余路径功能的配置中,有一另一需求较少连结以达成如显示于图21中的类似程度的冗余的主机端连结配置。请注意连接一储存虚拟化控制器至该等主机的主机端连结没有连结到另一储存虚拟化控制器。在此配置中,藉由使各个逻辑媒体单元对该等主机在一储存虚拟化控制器的一主机端连结上来说为可存取时,在通过另一储存虚拟化控制器上的一另一主机端连结亦为可存取的,而以此达成连结冗余。当该等连结的一断裂、被阻塞,或者其他方式的故障时,该等主机将仍可通过另一储存虚拟化控制器经由另一连结以存取该逻辑媒体单元。同样地,当该等储存虚拟化控制器的一故障时,另一储存虚拟化控制器可接管且,再一次地,该等主机将仍可通过该正常作用的储存虚拟化控制器经由另一连结以存取该逻辑媒体单元。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的方法及技术内容作出些许的更动或修饰为等同变化的等效实施例,但是凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (16)
1.一种提供资料储存空间的冗余储存虚拟化子系统,其特征在于包括:
一对冗余外接式储存虚拟化控制器用以执行输出入操作来回应一主机单元所发送的输出入要求,是包括一第一和一第二储存虚拟化控制器用以耦接至该主机单元;
一组至少一个实体储存装置以提供资料储存空间给该主机单元,该组的至少一个实体储存装置的至少一个成员包括通过一点对点串列讯号连结而耦接至该对冗余外接式储存虚拟化控制器以利用串列附接小型计算机系统介面协定传送讯号的一实体储存装置,所述的至少一个实体储存装置通过两个埠而分别连接至所述的一对冗余外接式储存虚拟化控制器中一储存虚拟化控制器的串列附接小型计算机系统介面输出入装置连结控制器,且也连接至所述的一对冗余外接式储存虚拟化控制器中另一个储存虚拟化控制器的串列附接小型计算机系统介面输出入装置连结控制器;以及
其中当该对冗余外接式储存虚拟化控制器中的一储存虚拟化控制器不为上线或在上线后为下线时,该对冗余外接式储存虚拟化控制器中的另一储存虚拟化控制器将自动地接管原先由该对冗余外接式储存虚拟化控制器中的该储存虚拟化控制器所执行的功能,
其中该对冗余外接式储存虚拟化控制器的至少一成员储存虚拟化控制器包括至少一个扩展埠用以耦接至一第二组的至少一个实体储存装置,
其中一组至少二个该扩展埠形成一冗余扩展埠组以互相执行绕送输出入要求的功能,藉此正常地经由该冗余扩展埠组的一第一成员埠而被传送至该第二组的至少一个实体储存装置的该输出入要求,可以经由该冗余扩展埠组的一第二成员埠而被绕送至该第二组的至少一个实体储存装置。
2.一种提供资料储存空间的冗余储存虚拟化子系统,其特征在于包括:
一对冗余外接式储存虚拟化控制器用以执行输出入操作来回应一主机单元所发送的输出入要求,是包括一第一和一第二储存虚拟化控制器用以耦接至该主机单元;
一组至少一个实体储存装置以提供资料储存空间给该主机单元,该组的至少一个实体储存装置的至少一个成员包括通过一点对点串列讯号连结而耦接至该对冗余外接式储存虚拟化控制器以利用串列附接小型计算机系统介面协定传送讯号的一实体储存装置,所述的至少一个实体储存装置通过两个埠而分别连接至所述的一对冗余外接式储存虚拟化控制器中一储存虚拟化控制器的串列附接小型计算机系统介面输出入装置连结控制器,且也连接至所述的一对冗余外接式储存虚拟化控制器中另一个储存虚拟化控制器的串列附接小型计算机系统介面输出入装置连结控制器;以及
其中当该对冗余外接式储存虚拟化控制器中的一储存虚拟化控制器不为上线或在上线后为下线时,该对冗余外接式储存虚拟化控制器中的另一储存虚拟化控制器将自动地接管原先由该对冗余外接式储存虚拟化控制器中的该储存虚拟化控制器所执行的功能,
其中该对冗余外接式储存虚拟化控制器的至少一成员储存虚拟化控制器包括至少一个扩展埠用以耦接至一第二组的至少一个实体储存装置,
其中该第二组的至少一个实体储存装置的一成员具有一对冗余埠,该对冗余埠的一成员埠为被耦接至一组的扩展埠,该组的扩展埠包含有至少一个扩展埠。
3.根据权利要求2所述的冗余储存虚拟化子系统,其特征在于其中经由该第二组的至少一个实体储存装置的该成员的该对冗余埠以执行绕送输出入要求的功能,藉此正常地经由该对冗余埠的一第一成员埠而被传送至该第二组的至少一个实体储存装置的该输出入要求,可以经由该对冗余埠的一第二成员埠而被绕送至该第二组的至少一个实体储存装置。
4.根据权利要求3所述的冗余储存虚拟化子系统,其特征在于其中一组至少二个该扩展埠形成一冗余扩展埠组以互相执行绕送输出入要求的功能,藉此正常地经由该冗余扩展埠组的一第一成员埠而被传送至该第二组的至少一个实体储存装置的该输出入要求,可以经由该冗余扩展埠组的一第二成员埠而被绕送至该第二组的至少一个实体储存装置。
5.根据权利要求2所述的冗余储存虚拟化子系统,其特征在于其中所述的成员储存虚拟化控制器各具有不同组的扩展埠,每一组扩展埠包含有至少一个扩展埠,该对实体储存装置冗余埠的各个成员埠为分别耦接至该对冗余外接式储存虚拟化控制器中的该第一储存虚拟化控制器中的一第一扩展埠组中至少一个扩展埠以及该第二储存虚拟化控制器中的一第二扩展埠组中至少一个扩展埠。
6.根据权利要求2所述的冗余储存虚拟化子系统,其特征在于其中该对实体储存装置冗余埠的该成员埠以及该组的扩展埠为经由一交换电路而相互耦接在一起的。
7.根据权利要求6所述的冗余储存虚拟化子系统,其特征在于其中该组的扩展埠包括一第一和一第二扩展埠子组并形成一对互补子组,且每子组中有至少一个成员扩展埠。
8.根据权利要求7所述的冗余储存虚拟化子系统,其特征在于其中藉由该交换电路所实施的连结讯号线路交换机制之一为该对互补子组的该第一子组对该对实体储存装置冗余埠的一第一成员埠的耦接以及该对互补子组的该第二子组对该对实体储存装置冗余埠的一第二成员埠的耦接。
9.根据权利要求7所述的冗余储存虚拟化子系统,其特征在于其中藉由该交换电路所实施的一连结讯号线交换机制之一为该对互补子组的两子 组皆对该对实体储存装置冗余埠的一第一成员埠的耦接。
10.根据权利要求7所述的冗余储存虚拟化子系统,其特征在于其中藉由该交换电路所实施的一连结讯号线交换机制之一为该对互补子组的该第一子组对该对实体储存装置冗余埠的一第一成员埠的耦接。
11.根据权利要求2所述的冗余储存虚拟化子系统,其特征在于其中该对冗余外接式储存虚拟化控制器的一成员储存虚拟化控制器更包括至少两个形成一冗余扩展埠组的该扩展埠。
12.根据权利要求11所述的冗余储存虚拟化子系统,其特征在于其中在该冗余扩展埠组中的一第一和一第二成员埠为各个被耦接至该第二组的至少一个实体储存装置的一成员实体储存装置的实体储存装置冗余埠对中的一不同的成员埠。
13.根据权利要求11所述的冗余储存虚拟化子系统,其特征在于其中在该冗余扩展埠组中的一第一和一第二成员埠为皆被耦接至该第二组的至少一个实体储存装置的一成员实体储存装置的实体储存装置冗余埠对中的一相同的成员埠。
14.根据权利要求2所述的冗余储存虚拟化子系统,其特征在于包括:
一第一扩展埠组包括该至少一个扩展埠在该对冗余外接式储存虚拟化控制器中的第一储存虚拟化控制器上;
一第二扩展埠组包括该至少一个扩展埠在该对冗余外接式储存虚拟化控制器中的第二储存虚拟化控制器上;
其中该第一扩展埠组以及该第二扩展埠组一起形成一对冗余扩展埠组。
15.根据权利要求14所述的冗余储存虚拟化子系统,其特征在于其中该第一扩展埠组和该第二扩展埠组为各个被耦接至该第二组至少一个实体储存装置的各个实体储存装置的实体储存装置冗余埠对中的一不同的成员埠。
16.根据权利要求14所述的冗余储存虚拟化子系统,其特征在于其中该第一扩展埠组和该第二扩展埠组为各个被耦接至该第二组至少一个实体储存装置的各个实体储存装置的实体储存装置冗余埠对中的一相同的成员埠。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US59321204P | 2004-12-21 | 2004-12-21 | |
US60/593,212 | 2004-12-21 | ||
US11/246,268 | 2005-10-11 | ||
US11/246,268 US9495263B2 (en) | 2004-12-21 | 2005-10-11 | Redundant SAS storage virtualization subsystem and system using the same, and method therefor |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101369777A Division CN100511118C (zh) | 2004-12-21 | 2005-12-21 | 储存虚拟化控制器、子系统及系统与方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101470587A CN101470587A (zh) | 2009-07-01 |
CN101470587B true CN101470587B (zh) | 2011-08-17 |
Family
ID=36805646
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101894190A Active CN101470587B (zh) | 2004-12-21 | 2005-12-21 | 冗余储存虚拟化子系统 |
CNB2005101323364A Active CN100356310C (zh) | 2004-12-21 | 2005-12-21 | 储存虚拟化控制器、子系统及系统与方法 |
CNB2005101369777A Active CN100511118C (zh) | 2004-12-21 | 2005-12-21 | 储存虚拟化控制器、子系统及系统与方法 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101323364A Active CN100356310C (zh) | 2004-12-21 | 2005-12-21 | 储存虚拟化控制器、子系统及系统与方法 |
CNB2005101369777A Active CN100511118C (zh) | 2004-12-21 | 2005-12-21 | 储存虚拟化控制器、子系统及系统与方法 |
Country Status (1)
Country | Link |
---|---|
CN (3) | CN101470587B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI512493B (zh) * | 2011-12-30 | 2015-12-11 | Intel Corp | 本地代理器多層式非揮發性記憶體(nvm)記憶體架構 |
TWI630483B (zh) * | 2016-04-18 | 2018-07-21 | 美超微電腦股份有限公司 | 儲存箱與其擴充器 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8307128B2 (en) * | 2006-12-08 | 2012-11-06 | International Business Machines Corporation | System and method to improve sequential serial attached small computer system interface storage device performance |
CN101430636B (zh) * | 2007-11-07 | 2011-03-16 | 中兴通讯股份有限公司 | 一种在冗余控制器环境下多路径管理的方法 |
US8566496B2 (en) * | 2010-12-03 | 2013-10-22 | Lsi Corporation | Data prefetch in SAS expanders |
TW201441813A (zh) * | 2013-04-19 | 2014-11-01 | Genesys Logic Inc | 資料存取系統、資料存取裝置及資料存取控制器 |
CN105022588B (zh) * | 2014-04-29 | 2018-06-22 | 晨星半导体股份有限公司 | 嵌入式装置、嵌入式装置的存储器硬盘以及存取嵌入式装置的存储器硬盘的方法 |
CN107765993B (zh) * | 2016-08-23 | 2020-12-08 | 佛山市顺德区顺达电脑厂有限公司 | 硬盘界面装置 |
CN106990920B (zh) * | 2017-03-15 | 2019-11-12 | 杭州宏杉科技股份有限公司 | 存储设备扩容方法及装置 |
CN111324311B (zh) * | 2020-02-28 | 2021-09-14 | 苏州浪潮智能科技有限公司 | 一种lun划分方法和设备 |
TWI745997B (zh) * | 2020-06-09 | 2021-11-11 | 慧榮科技股份有限公司 | 生產固態硬碟的方法及裝置以及電腦程式產品 |
CN113778915B (zh) | 2020-06-09 | 2023-10-10 | 慧荣科技股份有限公司 | 生产固态硬盘的方法及计算机可读取存储介质及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1410894A (zh) * | 2001-09-25 | 2003-04-16 | 微星科技股份有限公司 | 虚拟储存装置 |
CN1553346A (zh) * | 2003-07-02 | 2004-12-08 | 普安科技股份有限公司 | 冗余外部储存虚拟化计算机系统 |
-
2005
- 2005-12-21 CN CN2008101894190A patent/CN101470587B/zh active Active
- 2005-12-21 CN CNB2005101323364A patent/CN100356310C/zh active Active
- 2005-12-21 CN CNB2005101369777A patent/CN100511118C/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1410894A (zh) * | 2001-09-25 | 2003-04-16 | 微星科技股份有限公司 | 虚拟储存装置 |
CN1553346A (zh) * | 2003-07-02 | 2004-12-08 | 普安科技股份有限公司 | 冗余外部储存虚拟化计算机系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI512493B (zh) * | 2011-12-30 | 2015-12-11 | Intel Corp | 本地代理器多層式非揮發性記憶體(nvm)記憶體架構 |
TWI630483B (zh) * | 2016-04-18 | 2018-07-21 | 美超微電腦股份有限公司 | 儲存箱與其擴充器 |
Also Published As
Publication number | Publication date |
---|---|
CN1801073A (zh) | 2006-07-12 |
CN100356310C (zh) | 2007-12-19 |
CN1794162A (zh) | 2006-06-28 |
CN100511118C (zh) | 2009-07-08 |
CN101470587A (zh) | 2009-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101470587B (zh) | 冗余储存虚拟化子系统 | |
US10191669B2 (en) | Redundant SAS storage virtualization subsystem and system using the same and method therefor | |
US9003145B2 (en) | Management server and data migration method | |
CN100334567C (zh) | 冗余外部储存虚拟化计算机系统 | |
KR101455016B1 (ko) | 고가용성 솔리드 스테이트 드라이브를 제공하는 방법 및 장치 | |
CN103189847B (zh) | 用于操作数据处理系统的方法和装置 | |
CN103793271B (zh) | 用于在镜像卷之间进行切换的方法和系统 | |
US9213490B2 (en) | Computer system and data migration method | |
WO2006123416A1 (ja) | ディスク故障復旧方法及びディスクアレイ装置 | |
CN110413205A (zh) | 用于向磁盘阵列进行写入的方法、设备和计算机可读存储介质 | |
JP2005135408A (ja) | 階層記憶システム | |
CN101923444A (zh) | N路直接连接的任一控制器到任一控制器架构 | |
CN107003920A (zh) | 用于处置灾难恢复群集中的多节点故障的系统和方法 | |
JP2015099438A (ja) | ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム | |
CN104333586A (zh) | 一种基于光纤链路的san存储设计方法 | |
CN111045597A (zh) | 计算机系统 | |
US10503440B2 (en) | Computer system, and data migration method in computer system | |
JP2008027312A (ja) | ストレージ装置及び変換ボード | |
US11347414B2 (en) | Using telemetry data from different storage systems to predict response time | |
US20240232102A1 (en) | Providing Access to a Single-Ported Storage Device | |
CN113342258B (zh) | 用以进行全快闪存储器阵列伺服器的数据存取管理的方法与设备 | |
CN100416485C (zh) | 具有资料路径分支功能的冗余储存虚拟化子系统及方法 | |
CN112445652B (zh) | 远程复制系统 | |
TW201234171A (en) | System and method for testing the RAID automatically | |
US11074144B2 (en) | Active firmware replacement in storage system and in storage controller, and computer-readable recording medium having stored therein program for active firmware replacement in controlling storage |
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 |