CN101218571B - 执行镜像后置写入操作的系统及方法,和总线桥接器 - Google Patents
执行镜像后置写入操作的系统及方法,和总线桥接器 Download PDFInfo
- Publication number
- CN101218571B CN101218571B CN2006800224951A CN200680022495A CN101218571B CN 101218571 B CN101218571 B CN 101218571B CN 2006800224951 A CN2006800224951 A CN 2006800224951A CN 200680022495 A CN200680022495 A CN 200680022495A CN 101218571 B CN101218571 B CN 101218571B
- Authority
- CN
- China
- Prior art keywords
- raid
- array controller
- bridge
- writes
- cache memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
公开一种用于执行有效率镜像后置写入操作的系统,并具有通过快速周边元件扩展接口(PCI-Express)连接来通信第一及第二磁盘阵列控制器,第一总线桥接器传送PCI-Express存储器写入请求交换层数据包(TLP)至第二总线桥接器,TLP包头包含指示是否第一中央处理器请求验证,验证载荷数据写入至该第二写入高速缓冲存储器,若该指示请求该验证,第二总线桥接器在写入载荷数据至第二写入高速缓冲存储器后,自动地传送该验证至独立于第二中央处理器的第一总线桥接器,该经过验证的转送可用于在RAID控制器上的写入高速缓冲存储器目录的有效及/或无效的镜像备份。
Description
技术领域
本申请为以下共同未决的非临时美国专利申请的部分继续申请,在此将其全部通过引用并入本申请中:
申请中的美国专利申请10/946341(CHAP.0113)为以下美国专利的部分继续申请,在此将其全部通过引用并入本申请中:
CHAP.0129-PCT
专利号码 | 公告日 | 名称 |
6,839,788 | 1/4/2005 | 划分频道独立控制器架构的总线 |
申请中的美国专利序10/946341(CHAP.113)为以下共同未决的非临时美国专利申请的部分继续申请,在此将其全部通过引用并入本申请中:
申请中的美国专利申请案10/946341(CHAP.0113)要求以下期满的美国临时申请的权益,在此将其全部通过引用并入本申请中:
申请中的美国专利申请案00/178,727(CHAP.0125)要求以下申请美国临时的权益,在此将其全部通过引用并入本申请中:
本申请主张以下临时美国专利申请案的权益,在此将其全部通过引用并入本申请中:
申请中的美国专利申请11/272,340(CHAP.0126)为申请中的美国专利申请09/967,126(4430-29)、09/967,194(4430-32)、10/368,688(CHAP.0101)、10/946,341(CHAP.0113)、及11/178,727(CHAP.0125)的部分继续申请。
本发明通常涉及镜像磁盘阵列控制器领域,具体涉及在其间有效率的存储器对存储器的数据交换。
背景技术
现今,在大多数计算机系统中,独立冗余磁盘阵列(RAID系统)已成为大量储存系统中的优势形式,并使用在各种需要高效能、大储存容量、及/或高数据利用性的应用装置,例如交易处理、银行、医疗装置、数据库服务器、因特网服务器、电子邮件服务器、科学计算、及其他装置的主机。一个RAID控制器控制一组多重物理磁盘驱动器以单一逻辑磁盘驱动器(或多重逻辑驱动器)的形式来当作计算机操作系统,RAID控制器实现数据分割及数据冗余的技术来增加效能及数据的可用性。
在RAID系统中一种用以提供高数据可用性的技术是在系统中涵盖冗余容错RAID控制器,提供冗余容错RAID控制器代表着提供两个或多个控制器,因此若这些控制器的其中一个失效时,其他冗余控制器之一仍继续执行失效控制器的功能。举例来说,一些RAID控制器包含冗余热插拔字段替换单元(FRU),因此当一个控制器失效时,FRU在许多状况下能快速的替换以回复系统至原来数据可用性等级。
RAID控制器的一个重要的特征特别是在于某些应用装置,例如交易处理或大量数据流的即时数据捕捉方面能提供快速写入效能,更特别地,若写入延迟相当小的时候,计算机系统的整体效能会大幅增加,写入延迟为RAID控制器从计算机系统完成写入请求的时间。
许多RAID控制器包含一个相当大的高速缓冲存储器,用以自磁盘驱动器来高速缓冲存储器用户数据,若请求的数据在高速缓冲存储器中,高速缓冲存储器数据致能RAID控制器来快速地传回数据至计算机系统,这是因为RAID控制器不需要从系统驱动器来执行读取数据的冗长操作,高速缓冲存储器可通过启动常用的后置写入操作或写入高速缓冲存储器操作来实施以减少延迟的请求。在后置写入操作中。RAID控制器接收由计算机系统指定从计算机系统至RAID控制器高速缓冲存储器的数据,然后即使RAID控制器尚未写入数据至磁盘驱动器中,也立刻通知计算机系统该写入请求已完成。因为在一些冗余RAID等级中,对于磁盘驱动器的读取-修改-写入操作必须被执行已完成系统写入请求,后置写入在RAID控制器中便特别有用。此即,不仅仅是被指定的系统数据必须写入磁盘驱动器,同时一些磁盘驱动器也必需在用户数据与冗余数据写入至磁盘前读取,在缺乏后置写入的好处时,会导致RAID控器的写入延迟甚至会比非RAID控制器更长。
然而,在用户数据写入至磁盘驱动器前,在独立冗余磁盘阵列控制器失效的情形下,后置写入操作使得系统对于数据损失变得非常脆弱。在独立冗余磁盘阵列控制系统中,写入高速缓冲存储器RAID控制器为了降低数据损失的可能性,用户数据写入至RAID控制器双方,因此若一个控制器失效时,其他控制器能使后置写入数据挤出至磁盘,把用户数据写入至RAID控制器双方的写入高速缓冲存储器一般称为镜像写入操作,若启动写入告示时,该操作为一镜像后置写入操作。
镜像后置写入操作需要介于两控制器间的通信,以提供介于两控制器的高速缓冲存储器间的同步,来确保正确的用户数据已写入至磁盘驱动器。此高速缓冲存储器同步可能缺乏效率,特别是,通信会在镜像后置写入操作引入额外的延迟,并会在RAID控制器上消耗中央处理器的精确处理带宽,因此,需要有一种更有效率的装置,用来在冗余RAID控制器系统中执行镜像后置写入操作。
发明内容
本发明提供一种用以在PCI-Express连接上执行自主RAID控制器经过验证的存储器对存储器的数据转送至第二RAID控制器,其中在第二RAID控制器上的总线桥接器自动地传回递送授权至主RAID控制器上的总线桥接器,以指示成功地写入数据至第二独立冗余磁盘阵列控制器的高速缓冲存储器,而不需要涉及在第二RAID控制器上的中央处理器,并且,当主总线桥接器接收到递送授权时,终止主中央处理器以指示该数据已成功地写入第二高速缓冲存储器处理器。该经验证的存储器对存储器转送可实施例如在镜像后置写入操作期间,执行写入高速缓冲存储器目录的镜像备份的有效率的有效/失效,因为第二独立冗余磁盘阵列控制器的中央处理器不需要涉及写入高速缓冲存储器目录的有效及/或无效,此操作便更有效率。
本发明的一个目的是提供一种用以执行镜像后置写入操作的系统,包含;第一及第二独立冗余磁盘阵列控制器,该第一及第二独立冗余磁盘阵列控制器通过快速周边元件扩展接口连接来通信,该第一及第二独立冗余磁盘阵列控制器的每一个均包含中央处理器、写入高速缓冲存储器、以及连接至该中央处理器、该写入高速缓冲存储器及该快速周边元件扩展接口连接的总线桥接器;其中该第一独立冗余磁盘阵列控制器中的总线桥接器用以在该快速周边元件扩展接口连接上传送快速周边元件扩展接口存储器写入请求交换层数据包至该第二独立冗余磁盘阵列控制器中的总线桥接器,该交换层数据包包含载荷数据及一包头,该包头包含是否由该第一独立冗余磁盘阵列控制器中的中央处理器来请求验证的指示,该验证用以验证已将该载荷数据写入至该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器;其中若该指示请求该验证时,在写入该载荷数据至该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器后,该第二独立冗余磁盘阵列控制器中的总线桥接器用以自动地传送该验证至独立于该第二独立冗余磁盘阵列控制器中的中央处理器的该第一独立冗余磁盘阵列控制器中的总线桥接器;以及其中该第一独立冗余磁盘阵列控制器中的总线桥接器用以产生中断信号至该第一独立冗余磁盘阵列控制器中的中央处理器,来响应该验证的接收。
本发明的另一目的是提供一种用以在通过快速周边元件扩展接口连接进行通信的第一与第二独立冗余磁盘阵列控制器之间执行经验证的存储器对存储器的转送操作的方法,该第一及第二独立冗余磁盘阵列控制器的每一个均包含中央处理器、写入高速缓冲存储器、以及连接至该中央处理器、该写入高速缓冲存储器及该快速周边元件扩展接口连接的总线桥接器,所述方法包含:该第一独立冗余磁盘阵列控制器中的总线桥接器用以在该快速周边元件扩展接口连接上传送快速周边元件扩展接口存储器写入请求交换层数据包至该第二独立冗余磁盘阵列控制器中的总线桥接器,该快速周边元件扩展接口存储器写入请求交换层数据包包含载荷数据及包头,该包头包含是否由该第一独立冗余磁盘阵列控制器中的中央处理器来请求验证的指示,该验证用以验证该载荷数据已写入至该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器;该第二独立冗余磁盘阵列控制器中的总线桥接器确定该指示是否请求该验证;若该指示请求该验证,则在写入该载荷数据至该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器后,该第二独立冗余磁盘阵列控制器中的总线桥接器用以自动地传送该验证至独立于该第二独立冗余磁盘阵列控制器中的中央处理器的该第一独立冗余磁盘阵列控制器中的总线桥接器;以及该第一独立冗余磁盘阵列控制器中的总线桥接器产生中断信号至该第一独立冗余磁盘阵列控制器中的中央处理器来响应该验证的接收。
本发明的又一目的是提供一种总线桥接器,用于实现各主独立冗余磁盘阵列控制器及从独立冗余磁盘阵列控制器,该主独立冗余磁盘阵列及从独立冗余磁盘阵列控制器通过快速周边元件扩展接口连接来通信,该总线桥接器包含:快速周边元件扩展接口,用以实现该快速周边元件扩展接口连接;第一区域总线接口,用以连接至该主独立冗余磁盘阵列控制器及从独立冗余磁盘阵列控制器的中央处理器;存储器总线接口,用以连接至该主独立冗余磁盘阵列控制器及从独立冗余磁盘阵列控制器的写入高速缓冲存储器;以及主控制逻辑装置及从控制逻辑装置,连接至并用以控制该快速周边元件扩展接口、该第一区域总线接口、及该存储器总线接口;其中该主控制逻辑装置用以控制快速周边元件扩展接口在该快速周边元件扩展接口连接上传送快速周边元件扩展接口存储器写入请求交换层数据包,该交换层数据包包含载荷数据及包头,该包头包含是否由该主独立冗余磁盘阵列控制器中的中央处理器来请求验证的指示,该验证用以验证该载荷数据已写入至该从独立冗余磁盘阵列控制器中的写入高速缓冲存储器;其中该从控制逻辑装置用以决定是否该通过快速周边元件扩展接口接收的指示来请求该验证,并且若该指示请求该验证时,在写入该载荷数据至该从独立冗余磁盘阵列控制器中的写入高速缓冲存储器后,自动地控制该从快速周边元件扩展接口以在该快速周边元件扩展接口连接上传送独立于该从独立冗余磁盘阵列控制器中的中央处理器的该验证;以及其中该主控制逻辑装置用以控制该第一区域总线接口以产生中断信号至该主独立冗余磁盘阵列控制器中的中央处理器来响应该主快速周边元件扩展接口接收该验证。
附图说明
图1示出根据本发明实施例的主动对主动独立冗余磁盘阵列系统的方块图;
图2示出根据本发明实施例有关图1的总线桥接器的进一步细节的方块图;
图3示出现有技术的PCI-Express存储器写入请求交换层数据包(TLP)的方块图;以及
图4A示出根据本发明实施例的经修正的PCI-Express存储器写入请求交换层数据包(TLP)包头用于经过验证的数据转送的方块图。
图4B示出根据本发明实施例的经修正的PCI-Express存储器写入请求交换层数据包(TLP)包头做为递送授权来使用的方块图。
图5示出根据本发明实施例的在图1系统的两RAID控制器内的镜像高速缓冲存储器的配置的方块图。
图6示出根据本发明实施例的图1的写入高速缓冲存储器与目录的配置的方块图。
图7示出根据本发明较佳实施例的系统操作以执行镜像后置写入操作的流程图。
图8示出根据本发明较佳实施例的系统操作以执行经过验证的存储器对存储器转送操作的流程图。
图9示出根据本发明另一较佳实施例的系统操作以执行经过验证的存储器对存储器转送操作的流程图。
具体实施方式
现在请参考图1,该方块图根据本发明示出主动对主动独立冗余磁盘阵列系统100。系统100包括两个RAID控制器,分别表示主RAID控制器102A及从RAID控制器102B,总称为RAID控制器102并统称为RAID控制器102,虽然RAID控制器102分为主控制器和从控制器,若其他控制器102失效时,任一控制器可失效切换而成为对称的,该RAID控制器102通过PCI-Express接口彼此连接。在一个实施例中,PCI-Express连接118RAID控制器所插的底部背板或中板进行信号追踪。在一个实施例中,RAID控制器102可热插拔至背板。
PCI-Express连接(PCI-Express link)118为一个有效率的高速串行连接,并设计以设计在计算机系统内介于元件间转送数据,并如2003年4月15日的PCI Express基本说明书修正版1.0a所描述。PCI-Express规范由PCI特别因特网团体在网站www.pcisig.com所管理及传播,当使用非常低的引脚数时,PCI-Express是一种串行结构且可替换PCI和PCI0X总线规范中的并列总线实施方式,以提供更好效能的平台。PCI-Express的完整讨论属于此规范的范畴,但是完整的背景知识及描述可在下面书籍中来寻获,在此将其全部通过引用并入本申请中:Adam Wilen、Justin Schade、Ron Thornburg的Introduction to PCI-Express;Edward Solari和Brad Congdon的TheComplete PCI-Express Reference,Design Insights for Hardware andSoftware Developers;以及Ravi Budruk、Don Anderson、Tom Shanley的PCI-Express System Architecture;全部书籍皆可在网站www.amazon.com中找到。
在此描述的本发明的系统100的实施例的优点为利用PCI-Express连接118来实现冗余容错DAID控制器102,以通过发送消息及数据来彼此沟通,PCI-Express连接118使用在系统100具有胜过传统RAID系统通信连接例如Fibre Channel及SCSI的以下优点:更高带宽、更低延迟、更低成本、内置错误恢复及多重重试机制以及对服务中断的更佳抗扰性,这是因为该连接专注于内部处理器通信及内部存储器转送而胜过共享其他功能例如储存装置的输入/输出。
PCI-Express凭借着有如区域总线的血统来提供一种载入-储存架构,所以,PCI-Express控制器的编程模型是更低级别来胜过传统提供相当高级别的编程模型的Fibre Channel及SCSI控制器。特别地,PCI-Express在不涉及更高级别软件功能下不提供一个基元来请求经验证的存储器写入,本公开描述系统100及通过PCI-Express连接118的RAID控制器102彼此通信的方法,以自一个RAID控制器的存储器空间自动地转送数据至其他RAID控制器102的存储器空间,而不需涉及目的中央处理器,同时在成功的完成转送下中断请求中央处理器,如以下所详述。
各个如图1的RAID控制器102是相同的且能做普遍地描述,然而,如图1的各元件包含A或B字尾其参考数字来表示该元件分别是主RAID控制器102A或是从RAID控制器102B的一部分。
各个RAID控制器包括中央处理器108或处理器108或复合处理器108,处理器108可为任何能够产生储存程序的处理器,包含但不局限于像是处理器及芯片组,例如x86结构处理器以及通常称为北桥或存储器控制集线器(MCH),与南桥或输入/输出控制集线器(ICH)包括例如ISA总线或PCI系列总线接口的输入/输出总线接口。在一个实施例中,复合处理器108包含AMD Elan SC-520微控制器。在另一个实施例中,处理器108包含Intel Celeron M处理器及MCH与ICH。在一个实施例中,连接至处理器108的随机存取存储器(RAM),其是处理器108会执行其所储存的程序。在一个实施例中,程序码RAM包含一个双重数据速率(DDR)的RAM,同时处理器108通过DDR总线来连接至DDR RAM。
磁盘接口128与RAID控制器102接口至磁盘驱动器或其他大量储存装置,包括但不局限于,磁带驱动器、固态磁盘(SSD)及光学储存装置如CDROM或DVD驱动器。如图1所示的实施例,各个RAID控制器102的磁盘接口128连接至一个或多个磁盘阵列116的两组,标示为主磁盘阵列16A及从磁盘阵列116B。磁盘阵列116储存用户数据,磁盘接口128可包括但不受限于以下装置:Fibre Channe、小系统电脑接口(SCSI)、先进技术附件(ATA)、串行附接SCSI(SAS)、串行先进技术附件(SATA)、乙太网(Ethernet)、Infiniband、HIPPI、ESCON、iSCSI或FICON。RAID控制器102读取及写入数据自/至磁盘驱动器,以响应接收输入/输出请求,该输入/输出请求接收来自如图1连接自各个RAID控制器102的主机接口的元件114的主机计算机。
主机接口126将RAID控制器102接口至主机计算机114。在实施例中,该RAID控制器是一个区域总线为基础的控制器,例如控制器插入至或整合至主机计算机的本地输入/输出总线,该本地输入/输出总线例如PCI、PCI-X、CompactPCI、PCI-Express、PCI-X2、EISA、VESA、RapidIO、AGP、ISA、3GIO、HyperTransport、Futurebus、Multibus及其他区域总线。在此类型的实施例,主机接口126包含区域总线类型的区域总线接口。在另一个实施例中,RAID控制器是来自发出输入/输出请求至RAID控制器102的主机计算机114分开附件内的一个独立控制器,举例而言,RAID控制器102可为储存区域网路(SAN)的一部分,在此类型实施例中,主机接口126可包含多样性的接口例如Fibre Channel、Ethernet、InfiniBand、SCSI、HIPPI、令牌环、Arcnet、FDDI、LocalTalk、ESCON、FICON、ATM、SAS、SATA、iSCSI等等。
总线桥接器124连接至处理器108。在一实施例中,处理器108及总线桥接器124连接自区域总线,例如PCI,PCI-X,PCI-Express或其他PCI系列区域总线。同时,高速缓冲存储器、主机接口126及磁盘接口128也连接至总线桥接器124。在一实施例中,高速缓冲存储器144包含通过DDR总线连接至总线桥接器124的DDA RAM。在一实施例中,主机接口126及磁盘接口128包括通过个别PCI-X或PCI-Express总线连接至总线桥接器124的PCI-X或PCI-Express装置。
高速缓冲存储器144用于通过PCI-Expree连接118缓冲已接收自RAID控制器的消息及数据。特别地,在处理器108上产生的软件分配高速缓冲存储器144的一部分为多个个消息缓冲器,介于RAI控制器102间的消息通信详述于以上引用的美国专利申请11/178,727(文件号是CHAP.0125)。
此外,当用户数据通过主机接口126及磁盘接口128分别在主机计算机及磁盘驱动器间被转送时,高速缓冲存储器144的一部分用以缓冲或高速缓冲存储器用户数据。在RAID控制器102写入或清除数据至磁盘阵列前,高速缓冲存储器144的一部分用来当作写入高速缓冲存储器104A/B-1来保留后置写入数据。高速缓冲存储器144的另一部分用来当作在其他RAID控制器102上的写入高速缓冲存储器104A/B-2的镜像备份。图1示出在主RAID控制器102A高速缓冲存储器144中的主写入高速缓冲存储器104A-1的主写入高速缓冲存储器104A-1、在从RAID控制器102B高速缓冲存储器144中的从写入高速缓冲存储器104B-1、在主RAID控制器102A高速缓冲存储器144中的从写入高速缓冲存储器104A-2的镜像备份、及在从RAID控制器102B高速缓冲存储器144的主写入高速缓冲存储器104B-2的镜像备份,高速缓冲存储器144的一部分也用来当作入口602(之后在图6描述)的目录122A/B-1,用来保留在写入高速缓冲存储器104A/B-1的各个高速缓冲存储器缓冲器604(之后在图6描述)的状态,例如磁盘阵列116逻辑区块地址(LBA)及序号及相关于各写入高速缓冲存储器缓冲器604的有效位。高速缓冲存储器144的另一部分用来当作在其他RAID控制器102上的目录122A/B-2的镜像备份,图1示出在主RAID控制器102A高速缓冲存储器144中的主目录122A-1、在从RAID控制器102B高速缓冲存储器144中的从目录122B-2、在主RAID控制器102A高速缓冲存储器144中的从目录122A-2的镜像备份、以及在第二RAID控制器102B高速缓冲存储器144中的主目录122B-2的镜像备份,高速缓冲存储器144的布局及使用,且特别是在写入高速缓冲存储器104及目录122在之后的图5至图9中详述。
处理器108、主机接125、及磁盘接128通过总线桥接器124读取及写入数据自/至高速缓冲存储器144,处理器108产生程序来控制介于磁盘阵列116与主机114间的数据转送。处理器108接收来自主机114的命令,以转送数据自/至磁盘阵列116。为了响应,处理器108发出命令至磁盘接口128以通过磁盘阵列116来完成数据转送。此外,处理器108通过主机接口126来提供完备命令至主机114,处理器108也执行储存控制器功能例如RAID控制,逻辑区块变换,缓冲器管理及数据高速缓冲存储器。
如图1所示的实施例中,每个RAID控制器102的磁盘接口128连接至一个或更多个磁盘阵列116的两组,分别表示为主磁盘阵列116A及从磁盘阵列116B。一般地,主RAID控制器102A控制主磁盘阵列116A,并且,从RAID控制器102B控制从磁盘阵列116A。然而,在主RAID控制器102A失效的情形下,系统切换到从RAID控制器102B以控制主磁盘阵列116A。相对地,在从RAI控制器102B失效的情形下,系统100切换到主RAID控制器102A以控制从磁盘阵列116B。特别地,在一般操作下,当主机计算机114发送输入/输出请求至主RAID控制器102A以写入数据至主磁盘阵列116A时,主RAID控制器102A也广播用户数据的备分至从RAID控制器102B,以储存至从RAID控制器102B中的高速缓冲存储器114B,所以若主RAID控器102A在挤出用户数据至主磁盘阵列116A前失效时,从RAID控制器102B能随后挤出用户数据至主磁盘阵列116A。相对的,当主机计算机114发送输入/输出请求至从RAID控制器102B也广播用户数据的备份至从RAID控制器102A,来储存至从RAID控制器102A的高速缓冲存储器114A,所以若从RAID控制器102B在挤出用户数据至从磁盘阵列116B时,主RAID控制器102A能随后挤出用户数据至从磁盘阵列116B。
在描述RAID控制器102如何通信以维持写入高速缓冲存储器102及目录122的同步前,对另一个可行同步方法的了解非常有用。如以上所述,在镜像后至写入操作中,用户数据写入至两个RAID的写入高速缓冲存储器,并可适用各种装置来完成。一种是简单地使主机计算机写入数据至各个RAID控制器,然而,这可能是一个相当没效率且低效能的解答。另一种是用于主机计算机来写入数据至仅一个RAID控制器,然后再使接收的RAID控制器写入或广播数据备份至其他RAID控制器。以上引用的美国专利序号10/368,688(文件号CHAP.0101)描述一个系统有效率的执行广播数据转送至冗余RAID控制器。然而,申请号10/368,688未描述两个RAID控制器如何通信以维持介于两个写入高速缓冲存储器间同步的细节。
以下为一种可用于图1的广播镜像后置写入系统100维持写入高速缓冲存储器同步方法,广义来说,当主基本RAID控制器102A自主机计算机114接收输入/输出写入请求时,三步骤的程序可用来实施以使得主目录122B-2的镜像备份同步于主目录122A-1。第一步骤是用于主中央处理器108A以再分配在主写入高速缓冲存储器104A-1中必需的写入高速缓冲存储器缓冲器,并在基本目录122A-1使其失效,并发送消息至从中央处理器108B以下命令使得在主目录122B-2中的镜像的备份内的主写入高速缓冲存储器104B-2写入高速缓冲存储器缓冲器604的相关镜像备份失效。主中央处理器1018A可通过描述在以上所引用的美国专利申请号11/178,727(文件号CHAP.0125)的消息系统发送信息,在许多不具PCI-Express连接118的公知系统中为了支持主中央处理器108A及从中央处理器108B间的通信,主中央处理器108A发送消息经由其他通信连接例如SCSI或FibreChannel。在系统100内实施PCI-Express连接118具有胜过公知RAID系统的以下优点:更高带宽、更低延迟、更低成本、内置错误恢复及多重再试机制以及对服务中断的更良好的抗扰性,这是因为连接专注于内部处理器沟通而胜过分享其他功能,例如在美国专利序号11/178,727的储存装置输入/输出端。
一旦从中央处理器108B执行无效并把执行无效状况通知到主中央处理器108A时,主中央处理器108A执行做主主机接口126A程序规划的第二步骤,来自主机计算机114的用户数据通过主总线桥接器124A转送至主写入高速缓冲存储器104A-1,主总线桥接器124A响应以卸入用户数据至主写入高速缓冲存储器104A-1,并广播用户数据的备份至从RAID控制器102B,该从RAID控制器102B写入用户数据主写入高速缓冲存储器104B-2的镜像备份。
一旦主主机接口126A通知主中央处理器108A已写入用户数据时,主中央处理器108A执行将消息发送至从中央处理器108B的第三步骤,以指示上传主目录122B-2的镜像备份伴随着目的主磁盘阵列116A序号及逻辑区块地址,并使在第二步骤已写入的主目录122B-2的镜像备份中的写入高速缓冲存储器缓冲器成为有效。一旦从中央处理器108B有效且通知这种有效情形至主中央处理器108A时,主中央处理器108A通知该主机计算机114该输入/输出写入请求已成功地完成。
必要地,在写入用户数据至目的写入高速缓冲存储器缓冲器604前,必须执行第一步骤来使目录122无效,否则会发生数据错误。举例来说,假设用户数据在无效步骤前写入,例如,当目录122仍指示目的写入高速缓冲存储器缓冲器604是有效的时,因此,在所有数据广播至主写入高速缓冲存储器104B-2的镜像备份前,主RAID控制器102A即失效。当系统100切换至从RAID控制器102B时,从RAID控制器检测到写入高速缓冲存储器缓冲器604是有效的并挤出该部分数据进入适合的主磁盘阵列116A来引起数据错误。
从先前所观察到的,以上所描述的三步骤程序具有低效率的缺点,特别因为消耗了相当大量的主中央处理器108A及从中央处理器108B的带宽来交换消息并需要从中央处理器108B来使得主目录122B-2的镜像备份失效或有效,此将会降低系统100的效能,比如会发生降低每秒镜像后置写入操作。再者,会增加镜像后置写入操作的延迟,举例来说,从中央处理器108B会发生中断来响应自主中央处理器108A来的失效消息,并使主目录122B-2的镜像备份失效,又相反地发生中断来响应自主中央处理器108A的正确消息并使得主中央处理器108A的镜像备份有效,这也降低系统100的效能,比如会发生降低每秒镜像后置写入操作的最大数目。
为了解决此问题,美国专利申请号11/272,340(文件号CHAP.0126)描述该系统的实施方式可以组合第一及第二步骤,所以第二总线桥接器写入用户数据的广播备分至主写入高速缓冲存储器104B-2的镜像备份,但是在主目录122B-2的镜像备份中预先使目的写入高速缓冲存储器缓冲器604有效,藉以缓和从要中央处理器108B执行无效步骤。然而,描述在美国专利申请号11/272,340的系统需要总线桥接器124以认知目录122的结构及目录122在高速缓冲存储器144的位置。
在此描述的本发明系统100的实施例实现总线桥接器124的优点在于无需认知目录122的结构及位置,并在镜像后置写入操作的效能降低了中央处理器108的涉及程度。特别地,总线桥接器124设置以激活主中央处理器108A,在第一步骤(有效)与第二步骤(无效)期间内来请求目录122的相关部分的经过验证的存储器对存储器转换,藉以缓和在此以任何方式涉及到的从中央处理器108B,并如以下所详述。
图1通过序号的粗黑箭头来示出根据本发明的镜像后置写入操作的数据流的一部分,并在关于图7及图8来描述更多细节及可选择的实施例,粗黑箭头的序号有效地相关于区块的相似序号,特别地粗黑箭头示出了自主高速缓冲存储器144A至从高速缓冲存储器144B的经验证的存储器对存储器转送操作,并有利地无须涉及从中央处理器108B。
在箭头161处,主中央处理器108A命令主总线桥接器124A以执行的经过验证的存储器对存储器转送操作。在箭头162处,主总线桥接器124A读取通过来自主高速缓冲存储器144A的命令(例如一个或多个主目录122A-1的入口602)所指定的数据。在箭头163处,主总线桥接器124A在PCI-Express连接上传送数据,以传送数据至从总线桥接器124A。在箭头164处,从总线桥接器124B写入。数据至从高速缓冲存储器144B。其次,在箭头165处,从总线桥接器124B在不涉及由从中央处理器108B认知下,自动地传送递送授权至主总线桥接器124A,以验证该数据已成功地写入至从高速缓冲存储器。在箭头166处,主总线桥接器124A产生中断请求至主中央处理器108A以指示递送授权的接收。有利地,在写入数据至从高速缓冲存储器144B后,从总线桥接器124自动地传送递送授权,并且独立于从中央处理器108B,藉以有效率的减少以上三步骤程序的缺点。
现在请参考图2,方块图更详细地描述本发明图1的总线桥接器124,总线桥接器包含控制逻辑214来控制总线124的许多部分。控制逻辑214包含可通过中央处理器108编程的直接存储器存取控制器(DMAC)126,使直接存储器数据从高速缓冲存储器144内一个位置转送至高速缓冲存储器144内的第二位置。有利地,中央处理器108可程序规划DMAC238使高速缓冲存储器数据从主RAID控制器102A高速缓冲存储器144内的一个位置转送到从RAID控制器102B高速缓冲存储器144的一个位置,而反之亦然,如以上引用的美国专利申请号11/178,727(文件号CHAP.0125)所描述的通过PCI-Express连接118,除了别的以外,非常有用的,在介于两RAID控制器102之间,用以传送数据并包括传送消息。然而,在美国专利申请号11/178,727所描述的数据转送方法,需要涉及从中央处理器108B。本说明书描述实施例的优点在于其中主及从总线桥接器124从主高速缓冲存储器144A执行经过验证的DMA转送至从高速缓冲存储器144B,以缓和涉及从中央处理器108B的需要。
在一个实施例中,DMAC238能够转换一系列的物理性无接触的通过分散/收集(scatter/gather)表来指定存储器位置的数据定义块,该分散/收集表的基本地址由处理器108在地址暂存器来程序规划。DMAC238使用分散/收集表的地址/长度对来传送包括在PCI-Express连接118上的数据块的多重PCI-Express存储器写入请求交换层数据包(TLP)至其他RAID控制器102的高速缓冲存储器144。
总线桥接器124也包括一个验证计时器236,每次总线桥接器124传送在PCI-Express连接118上的图4A的具有CERTIFY标记406设定的PCI-Express存储器写入请求TLP 400,控制逻辑214便启动验证计时器236来随着预定时间运转。在一个实施例中,预定时间为30秒。在另一个实施例中,预定时间是100微秒。其他实施例则通过适应系统100的应用及需要来预期其他超时值。在PCI-Express连接118上的总线桥接器124从其他总线桥接器124接收相关递送授权(图4B中具有DELIVERED标记408设定的PCI-Express存储器)前,若验证计时器236时间终止,总线桥接器124产生中断请求致中央处理器108。在产生中断请求前,总线桥接器124填充在总线桥接器124的控制与状态暂存器(CSR)202的一个或多个暂存器。CSR 202连接至本地总线接口212及控制逻辑214,CSR 202可通过图1的CPU108来编程以控制总线桥接器124,并可经由中央处理器108藉总线桥接器124来读取以提供状态给中央处理器108。CSR 202也包括用于中央处理器108的暂存器来程序规划DMAC238。
总线桥接器124也包括区域总线接口216(例如PCI-X接口)来接口总线桥接器124至磁盘接口128;另一个区域总线接口218(例如PCI-X接口)用于接口总线桥接器124至主机接口126;一个存储器总线接口204(例如DDR SDRAM接口)用于接口总线桥接器124至高速缓冲存储器124;以及PCI-Express接口208用于接口总线桥接器124至PCI-Express连接118。该区域总线接口216及218、存储器总线接口204、及PCI-Express接口208皆连接至控制214,并连接至在多种接口间缓冲数据转送及在之间提供高速数据路径的平行高速缓冲存储器(例如先进先出(FIFO)缓冲器)。总线桥接器124也包括区域总线接口212,可例如PCI接口,连接至控制逻辑214,用于接口总线桥接器置中央处理器108。中央处理器108经由PCI接口212来存取高速缓冲存储器144、磁盘接口128及主机接口126。
PCI-Express接口208在PCI-Express连接118上执行PCI-Express协定,包括传送及接收PCI-Express包如PCI-Express TLP及数据连接层包(DLLP)及,特别地如图3及图4所详述的存储器写入请求TLP,在一个实施例中,在此所描述的功能修正,PCI-Express接口208实质上地符合在2003年4月15日PCI-Express基本规范修订版1.0a。
现在请参考图3,方块图描述一种公知PCI-Express存储器写入请求交换层数据包(TLP)包头300的技术。如图3的包包头300描述一种4个双字的包头并具有如2003年4月5日的目前PCI-Express基本规范1.0a所指定的数据格式存储器写入请求TLP包头。包头300包括4个32位的双字,第一个双字包括,从左至右的:保留位(R);在格式栏布尔11值表示TLP包头是具有数据格式TLP的4个双字包头;在类型栏的布尔0000值表示包括存储器请求及地址选路的TLP正在使用中;一个3位的处理类别(TC)栏;四个保留位(R);一个TLP摘录位(TD);一个定址数据(EP)位;两个属性(Attr)位;两个保留位(R);以及十个由数据载荷程度所指定的长度位。第二个双位,包括,从左至右为:16位请求ID栏;标签栏;最后双字字节使能(DW BE)栏;以及第一双字位使能(DW BE)栏;以及第一双字字节使能(DW BE)栏。第三个双位包括指定数据承载目的存储器地址位63:32的32位地址字段。第四个双位包括指定数据承载目的存储地址位31:2的30位地址字段,并后附两个保留(R)位。
现在请参考图4A,方块图示出本发明修正的进行经过验证的转送数据的PCI-Express存储器写入请求交换层数据包(TLP)包头400,修正的TLP包包头400类似于图3的标准TLP包300。然而,修正的TLP包包头400包括占有地址字段的位63的CERTIFY标记406,由CERIFY标记406所占有的地址字段并不会由总线124编译为地址字段的一部分。甚者,相对于图3的地址字段是被缩短的。因此,如图4的经修正的TLP包包头400降低了可通过在其他RAID控制器102的RAID控制器102存取的存储器地址空间,以代替自主高速缓冲存储器144A至从高速缓冲存储器在一个不涉及从中央处理器108B以经过验证的方式使用TLP来转送数据。在该接收总线桥接器成功地写入接收器一体请求TLP的载荷数据至高速缓冲存储器144后,设定的CERTIFY标记105命令该接收总线桥接器来传送递送授权(例如具有如图4的包头401的存储器写入请求TLP)至该传送总线桥接器124。
虽然图4A示出使用地址字段的特定位于CERTIFY标记406,本发明并未受限于特定位,甚者,可使用其他位。举例来说,虽然实施例并已经描述其中CERTIFY标记406在TLP包头中的地址字段最高位,但是其地址字段的其他位可用作为CERFIY标记406。并且,虽然实施例描述其中TLP具有4个双字包头的数据格式,但若能被地址化的高速缓冲存储器数量太小以至于通过32位来地址化较小的位来用作CERLIFY标记406时,地址位具有数据格式TLP的3个双字包头可用作CERIFY标记406。重要的是用于CERTIFY标记406的位是在地址字段中所不需要用于在接收RAID控制器中地址化存储器的位,同时,位为预定选出的,所以PCI-Express控制器可配置以解释预定位为CERIFY标记406。
进一步地,其他实施例预计其中在地址字段之外,CERIFY标记406将位于TLP包头的字段中的不需要的位。举例来说,一个或多个在TLP包头中的保留字段,可用作CERTIFY标记406的位。在另外一个例子,系统设计者可决定不支持数据中毒(poisoning)并利用TLP包头中的EP位来当作CERTIFY标记406。类似地,系统设计者可决定不支持TLP摘录并利用在TL包头中的TD位来当作CERIFY标记406。相似地,系统设计者可决定不支持区别的服务类别或支持只有一个次组别并利用在TLP包头中的剩余TC位来当作CERIFY标记406。相似地,系统设计主可决定不支持释放编序及/或硬件一致管理并利用在TLP包头中的位的一个或两者都当作CERIFY标记406。相似地,系统设计者可决定需要数据传输定位于双字边界上,并利用在TLP包头中的字节致能字段的一个或两者的位来当作CERIFU标记406。相似地,系统设计者可决定支持少于未来请求的最大数并利用在TLP包头中的处理ID的标签字段及或功能数目字段的不需要位来当作CERIFY标记406。再次强调,最重要的是用于CERITY标记的位是标准PCI-Express功能所不需要的,并且位被预先选定,所以PCI-Express控制器可建构以解译该预定位为CERIFY标记406。
现在请参考图4B,方块图示出根据本发明的经修正的PCI-Express存储器写入请求交换层数据包(TLP)包头401使用当作一个递送授权。修正的TLP包包头401小于图3的标准TLP包包头300。然而,修正的TLP包包头400包括能占有地址字段位60的DELIVERED标记408。由DELIVERED标记48占有的地址字段位并未通过总线桥接器124编译为地址字段的一部分。甚者,相对于图3的标准PCI-Express TL包头300的地址字段来说是缩短的。因此,如图4B的修正的TLP包包头401降低了在其他RADO控制器102来的RAID控制器102所存取的存储器地址空间,来代替能够自主高速缓冲存储器144A至从高速缓冲存储器144B在不涉及从中央处理器108B以经过验证的方式使用TLP来转送数据。设定的DELIVERED标记408指示该接收总线桥接器,该传送总线桥接器124已成功地写入先前传送的存储器写入请求TLP至它的高速缓冲存储器144至该接收总线桥接器124并终止它的中央处理器108。
虽然,图4B示出使用地址字段的特定位来当作DELIVERED标记108,本发明并未受限于特定位,甚者,其他位可以相对于图4A的TLP包包头400的相似方法来使用。更进一步地,可预期传送授权有多种其他的实施例包含并未受限于PCI-Express厂商定义消息包或消息信令中断(MSI)包。重要的是在此描述的经验证的存储器对存储器转送方法并不需要涉及从中央处理器108B,并无关于递送授权的方式,这是因为从总线桥接器124B自动地传送递送授权,以响应独立于从中央处理器108B的从总线桥接器124B,在此记载图4B的实施例具有需要较少逻辑门的好处,此因在一个实施例中,虽然总线桥接器124实行逻辑门以执行PCI-Express存储器写入请求TLP的传送与接收,此并不需要实现全PCI-Express协定如PCI-Express消息包及/或输入输出请求包。
现在请参考图5,方块图示出根据本发明图1的系统100的两个RAID控制器102中的镜像高速缓冲存储器的配置。图5示出图1内连接至主总线桥接器124A的主高速缓冲存储器144A、及连接至从总线桥接器124B的从高速缓冲存储器、以及经由PCI-Express连接118来连接的主及从总线桥接器。
主存储器144A包括图1的主目录122A-1、从目录的122A-2的镜像备份、主写入高速缓冲存储器104A-1、从写入高速缓冲存储器104A-2的镜像备份,主高速缓冲存储器144A也包括主读取高速缓冲存储器508A,主读取高速缓冲存储器508A用以高速缓冲存储器自磁盘阵列116的数据,是为了当在此请求不需存取磁盘阵列116来获得数据时,快速地提供高速缓冲存储器数据至主机计算机114。从高速缓冲存储器144B包括图1中的主目录的镜像备份、从目录122B-1、主写入高速缓冲存储器的镜像备份、以及从写入高速缓冲存储器104B-1。从高速缓冲存储器144B还包括从读取高速缓冲存储器508B,从读取高速缓冲存储器508B用以高速缓冲存储器自磁盘阵列116所读取的数据,来为了当在此请求不需要存取磁盘阵列116来获得数据时,快速地提供高速缓冲存储器数据至主机计算机114。
直到RAID控制器102写入数据至磁盘阵列116,写入高速缓冲存储器104用以缓冲通过RAID控制器102自主机计算机114所接收的数据。特别地,在写入高速缓冲存储器操作期间,一旦主机计算机114数据已写入至写入高速缓冲存储器104的写入高速缓冲存储器缓冲器604,RAID控制器102发送良好完成状态至主机计算机114以指示数据已成功地写入。
主写入高速缓冲存储器104A-1通过主RAID控制器102A来用以缓冲写入至主磁盘阵列116A的数据,并且,从写入高速缓冲存储器104B-1通过从RAID控制器102B来用以缓冲写入至从磁盘阵列的数据。如以上所述,在正常操作期间(例如当主及从RAID控制器102两者适当地操作,所以并未出现任何失效切换至其他RAID控制器102。)主RAID控制器102A控制只要磁盘阵列116A,且从RAID控制器102B控制从磁盘阵列116B。因此,在正常操作期间,主RAID控制器102A仅接收输入/输出请求以自主机计算机114来存取主磁盘阵列116A,同时,从RAID控制器102B仅接收输入/输出请求以自主机计算机114来存取从磁盘阵列116B。如图5所示,接收自预定给主磁盘阵列116A的主总线桥接器124A的用户数据162写入至主写入高速缓冲存储器104A-1,同时,接收自预定给从磁盘阵列116B的从总线桥接器124B的用户数据162写入至从写入高速缓冲存储器104B-1。
另外地,主写入高速缓冲存储器104A-1位于设计当作主广播地址范围的地址范围内。若主总线桥接器124A自主主机接口126A接收处理来指定在主广播地址范围内的地址时,主总线桥接器124不但写入用户数据162至主写入高速缓冲存储器104A-1,并且通过PCI-Express连接来广播用户数据164的备份至从总线桥接器124B。为了响应,从总线桥接器124B写入用户数据164的备份至主写入高速缓冲存储器104B-2的备份。结果,若主RAID控制器失效时,用户数据的备份可在主写入高速缓冲存储器104B-2的镜像备份得到,所以从RAID控制器102B能在失效切换至并随后挤出用户数据164的备份至适当的主磁盘阵列116A。相反地,从写入高速缓冲存储器104B-1位于设计当作从广播地址范围的地址范围内。若从总线桥接器124B接收来自从主机接口126B的处理来指定在从广播地址范围内的地址时,从总线桥接器124B不但写入用户数据至从写入高速缓冲存储器时,并且经由PCI-Express连接118来广播该用户数据164的备份至主总线桥接器124A。为了响应,主总线桥接器124A写入用户数据至从写入高速缓冲存储器104A-2的镜像备份。结果,若从RAID控制器102B失效时,用户数据,用户数据164的备份可在从写入高速缓冲存储器104A-2找到,所以主RAID控制器102A能在失效切换并随后挤出用户数据164的备份至适当的从磁盘阵列116B。在一实施例中,总线桥接器124包括在CSRs202内的用来指定广播地址范围的控制暂存器。在RAID控制器102的起始时间时,中央处理器108可程序规划在控制暂存器中的广播地址范围。在一实施例中,RAID控制器102在起始时间来交换它们的广播地址范围值来促进写入高速缓冲存储器102的备份。
现在请参考图6,此方块图示出根据本发明图1中的写入高速缓冲存储器104的配置及目录122。虽然在图1及图5中,各RAID控制器102包括两个写入高速缓冲存储器104及两个目录122,图6仅示出一个写入高速缓冲存储器104及一个目录122。写入高速缓冲存储器104配置为如写入高速缓冲存储器缓冲器604的阵列,同时目录122配置为如目录入口602的阵列。各写入高速缓冲存储器缓冲器604具有阵列索引。写入高速缓冲存储器104阵列的索引表示为从0至N。各个目录索引602具有阵列索引,根据写入高速缓冲存储器104阵列索引,目录122阵列索引表示为从0至N。在图6的实施例中,写入高速缓冲存储器104的大小为16KB(千位),能致能写入高速缓冲存储器缓冲器104以储存用于32磁盘扇区的数据(各磁盘扇区是512字节)。在图6的实施例中,目录入口602的大小为32字节。
在图6的实施例中,各个目录入口602包括一个八字节的开始LBA字段、四字节的正确位字段614、八字节的磁盘阵列序号字段616、八字节的时戳或序列号码622、及四字节的保留字段618。磁盘阵列序号字段616储存序号来单独确认磁盘阵列116为数据已写入至写入高速缓冲存储器604中的状态。在一实施例中,磁盘阵列序号字段616储存来单独确认磁盘阵列116的部分为数据已写入至写入高速缓冲存储器604的状态。开始LBA字段612含有相关写入高速缓冲存储器缓冲器604的第一正确区段的逻辑区块磁盘阵列116。在正确位字段614含有32正确位:一个相关于在个别写入高速缓冲存储器缓冲器604的各个32扇区。若正确位设定来用于一扇区时,然后写入高速缓冲存储器缓冲器604的数据为正确或已被改变的,在其他RAID控制器102失效时来失效切换,而需要通过RAID控制器102来挤出至磁盘阵列116。若正确位为清除状态来用于扇区,然后在写入高速缓冲存储器缓冲器604的扇区内的数据为不正确或闲置的。在一实施例中,时戳或序列号码622字段储存一个值来指示当镜像后置写入高速缓冲存储器数据写入至写入高速缓冲存储器104的时间。在一实施例中,时戳或序列号码622字段储存计数器的一个值,在每次主机输入/输出请求的数据写入至写入高速缓冲存储器104时递增。时戳或序列号码622可实施以避免在目录122中复制的正确入口602制在磁盘阵列116的相同逻辑区块地址,此情形会发生是因为在下次写入前,写入高速缓冲存储器缓冲器604并非无效的。
现在请参考图7,此流程图示出本发明实施例系统100的操作以执行镜像后置写入操作,流程在方块702中开始。
在方块702中,主主机接口126A接收来自主机计算机114的输入/输出请求,并中断主中央处理器108A已指示来自主机的输入/输出写入请求,流程进入至方块704。
在方块704中,为了响应中断,主中央处理器108A测试输入/输出请求并判断输入/输出请求为写入请求。图7的流程图假设在RAID控制器102上写入后置可使致能。在响应中,主中央处理器108A分配在主写入高速缓冲存储器104A-1中的写入高速缓冲存储器缓冲器604内的高速缓冲存储器缓冲器,并通过清除在主目录122A-1中的相关目录入口604中的适当的正确位614来使该经分配的高速缓冲存储器缓冲器604的无效。在一实施例中,在清除正确位614后,主中央处理器108A还写入目的主磁盘阵列116A的序号及逻辑区块地址至目录入口602。流程前进至方块706。
在方块706中,主中央处理器108A命令主总线桥接器以执行经验证的存储器对存储器转送,来复制在方块704中的无效的主目录122A-1入口至主目录122B-2的镜像备份中的相关入口602。特别地,在关于图8的方块161的详细描述中,主中央处理器108A程序规划主总线桥接器124A的DMAC 238来执行经验证的存储器对存储器转送。流程进行至方块708。
在方块708中,主总线桥接器124A中断主中央处理器108A,来指示在方块706所请求的验证备份已完成。特别地,在图8的方块166的详细描述中,主总线桥接器124A中断主中央处理器108A。图8更详细的描述系统100的操作来执行经过验证的存储器对存储器的备份是有效的。流程进行至方块712。
在方块712中,主中央处理器108A通过经分配的高速缓冲存储器缓冲器604及写入至写入高速缓冲存储器缓冲器604的在输入/输出接口请求所指定的数据长度,来规划主主机接口。在一实施例中,若在输入/输出请求中指定的数据量大于单一写入高速缓冲存储器缓冲器,同时足够实体地邻近写入高速缓冲存储器缓冲器604不可得时,主中央处理器108A分配多重写入高速缓冲存储器缓冲器604。并提供写入高速缓冲存储器缓冲器604的地址/长度对的分散/收集列表至主主机接口。流程进行至方块714。
在方块714中,主主机接口126A在连接至主主机接口126A的总线上产生例如PCI-X存储器写入处理等的写入处理至主总线桥接器124A,来写入在输入/输出请求中指定的用户数据。写入处理包括在方块704分配的写入高速缓冲存储器缓冲器604的存储器地址,存储器地址位于如图5所示主广播地址范围中,流程进行至方块716。
在方块716中,主总线桥接器124A写入在写入处理中所指定的数据至通过写入处理中在主写入高速缓冲存储器401A-1所指定的地址,也就是名为在方块704中所分配的卸入高速缓冲存储器缓冲器604的地址。另外地,主总线桥接器124A检测地址位于主广播地址范围,并经由PCI-Express连接118来广播该用户数据的备份至第二控制器。主总线桥接器124A通过传送一个具有图3的TLP包头300的PCI-Express存储器写入请求TLP来执行广播。TLP包头300的地址字段包括通过主主机接口126A所产生的存储器写入处理中指定的存储器地址,同时TLP包头300的地址字段包括通过主主机接口126A所产生的存储器写入处理中指定的长度。在一实施例中,若在输入/输出请求中指定的用户数据的长度大于2KB(千位)时,主主机接口126A分解转送至主总线桥接器124A的数据为每个2KB或更小的多重写入处理;结果,主总线桥接器124A转送各包含2KB或更小用户数据的多重PCI-Express存储器写入请求TLP。在此实施例中,主机接口126包括2KB内部FIFO缓冲器以缓冲接收自主机计算机114的用户数据的,来经由总线桥接器124用于转送至写入高速缓冲存储器104。图2的总线桥接器124FIFO缓冲器206还包含2KB缓冲器来用以缓冲接收自主机接口126的用户数据。再者,总线桥接器124包含仲裁器如PCI-X仲裁器,来在连接至主机接口126的PCI-X总线上执行仲裁至总线桥接器124。仲裁器配置以允许主机接口126来一直产生PCI-X写入处理至在PCI-X总线上的总线桥接器124,此为极微的、在最小扇区大小(512字节)、及多个扇区大小。流程进行至方块718。
在方块718中,从总线桥接器124A写入自TLP承载的用户数据至在TLP包头300地址所指定的从高速缓冲存储器114B地址,此地址为在从写入高速缓冲存储器104A-2的镜像备份中的目的写入高速缓冲存储器缓冲器604的地址。在从写入高速缓冲存储器104A-2的镜像备份中的目的写入高速缓冲存储器缓冲器604为分配在方块704的主写入高速缓冲存储器104A-1中所分配的写入高速缓冲存储器缓冲器104的镜像副本。流程进行至方块722。
在方块722中,主主机接口126A当主主机接口126A完成转送所有用户数据至该主总线桥接器124A时,中断主中央处理器108A。流程进行至方块724。
在方块724中,为了响应由方块722所产生的中断,主中央处理器108A写入序号及LBA至在方块704分配及无效的主目录122A-1的目录入口602(若在方块704中序号及LBA未写入时),同时使有效(例如设定)相关于方块716写入的扇区的有效位614,此也为在方块704所清除的有效位614。时序或序号622用于防止挤出在目录122的复制有效入口602至在磁盘阵列166上的相同逻辑区块地址,此会发生的原因为在下次使用前,写入高速缓冲存储器缓冲器604并非无效的。流程进行至方块726。
在方块726中,主中央处理器108A命令主总线桥接器124A来执行经验证的存储器对存储器转送来备份在方块724中有效主目录122A-1至在主目录122B-2的镜像备份中的相关入口602。特别地,主中央处理器108a程序规划主总线桥接器124A的DMAC238,来执行如图8的方块161所描述的经过验证的存储器对存储器转送。在一实施例中,总线桥接器124配置因而经过验证的存储器对存储器转送数据的传输保证能挤出在方块718写入的用户数据。流程进行至方块728。
在方块728中,主总线桥接器124A中断主中央处理器108A以指示已完成在方块726通过主中央处理器108A所请求的经过验证的存储器对存储器备份操作。特别地,如图8的方块166所描述的,主总线桥接器124A中断主中央处理器108A。图8更详细的描述系统100的操作来执行使经过验证的存储器对存储器备份。
在方块732中,为了响应在方块728中产生的验证备份完全中断,主中央处理器108A命令主主机接口126A来传送良好的完成状态至主机来用于输入/输出写入请求。然后,在恰当时机,主RAID控制器102A挤出后置写入数据置适当的磁盘阵列116A。流程结束于方块732。
现在请参考图8,此流程图描述根据本发明实施例的系统100的操作以执行经过验证的存储器对存储器转送操作。如以上所提及,在图1的粗黑箭头的数目有效地相关于图8的相似标号方块。流程前进至方块161。
在方块161中,主中央处理器108A编程该主总线桥接器124A来执行经验证的自主高速缓冲存储器144A转送至从高速缓冲存储器144B的数据。在一实施例中,主中央处理器108A通过分散/收集列表的地址来程序规划DMAC 238的CSA202。在一实施例中,分散/收集列表位于主高速缓冲存储器144A中。在另一个实施例中,分散/收集列表位于用于储存中央处理器108A使用的程序编码及数据的复合中央处理器108A。例如相关于以上图1的编码RAM(随机存取存储器)。分散/收集列表包含元件列表,每个元件指定传送的数据与数据长度的存储器地址,存储器地址指定在主高速缓冲存储器144A的数据的来源地址,并且,因为转送为一镜像转送,也指定在从高速缓冲存储器144B中的数据的目的地址。在一实施例中,分散/收集列表元件包括来源及目的地址双方。分散/收集列表也包括控制数据,例如标记来表示是否元件为列表中的最后元件。控制数据也包括标记来指示是否存储器对存储器转送为经验证的转送来指示总线桥接器124:通过分散/收集列表所描述的存储器对存储器转送需要递送授权以指示已成功传输。流程进行至方块162。
在方块162中,主总线桥接器124A自主高速缓冲存储器144A读取通过在方块161中主中央处理器108A的命令来指定的数据,该数据可为例如图7的方块706或726所描述的目录入口602,或可为主中央处理器108A在经验证的方式及不涉及从中央处理器108B下欲写入至从高速缓冲存储器144B的任何其他数据。
在方块163中,主总线桥接器124A传送在PCI-Express连接上的PCI-Express存储器写入请求TLP至从总线桥接器。特别地,TLP如图4的包头并具有CERTIFY标记设定),如以上所讨论的,由方块161主中央处理器108A发出至主总线桥接器124的命令可包括具多于一个元件的分散/收集列表,能因此描述数据的多重邻近区块。此特别有用在于当经过验证的存储器对存储器转送用于转送至目录602外时(特别近的)例如RAID5同位数据登录。在此情形中,主总线桥接器124A传送多重PCI-Express存储器写入请求TLP例如用通过各个别分散/收集数据元件所指定的各个数据区块,并仅最后PCI-Express存储器写入请求TLP包头400具有CERIFY标记设定。此外,主总线桥接器124A启动图2的验证计时器236运转。流程进行至方块164。
在方块164中,从总线桥接器124B接收在方块163传送的PCI-Express存储器写入请求TLP,为了响应,从总线桥接器124B写入TLP载荷数据(例如目录入口602)至在TLP内指定地址的从高速缓冲存储器,流程进行至方块165。
在方块165中,从总线桥接器124B检测在方块164的TLP包头400内所接收的CERTIFY标记已设定,为了响应,从总线桥接器124B传送递送授权至在PCI-Express连接118上的主总线桥接器124A,。以指示在方块164所接收的存储器写入请求TLP的载荷数据已成功地写入至从高速缓冲存储器。在一实施例中,虽然其他实施例预计如上所述,但根据图示的DELIVERED标记408设定,递送授权包含具有伴随包头401的PCI-Express存储器写入请求TLP。流程进行至决定方块802。
在决定方块802中,主总线桥接器124A决定是否验证计时器时间终止。在一实施例中,CSRs202包含一个主中央处理器108A读取以判断中断原因的中断状态暂存器,若为如此的话,流程前进至方块804,否则,流程前进至方块166。
在方块804中,主总线桥接器124A产生超时错误中断信号至主中央处理器108A。在一个替代的实施例中,主中央处理器108A而非主总线桥接器124A执行监视经过验证的存储器对存储器数据转送请求的功能来用于超时。特别地,在方块161中,在命令主总线桥接器124A来执行经过验证的存储器对存储器数据转送后,主中央处理器108A启动计时器。若在方块802中,主中央处理器108A计时器终止时,主中央处理器108A执行错误恢复操作来响应超时。在一实施例中,主中央处理器108A通过重试该操作来处理错误。在任一情形中,若该操作在预定测试次数失效时,然后主RAID控制器102A执行失效切换操作,例如为了失效的从RAID控制器102B来接管从磁盘阵列的控制,流程前进至方块804。
在方块166中,主总线桥接器124A接收在方块165的从总线桥接器124B所传送的递送授权。为了响应,主总线桥接器124A产生中断至主中央处理器108A,以指示在方块161所请求的经过验证的存储器对存储器转送成功的完成。在一实施例中,CSRs202包括一个主中央处理器108A读取以判断中断原因的中断状态暂存器。流程结束于方块166。
如上所述,虽然如图8所述经过验证的存储器对存储器数据转移可用于转送如图7所述的写入高速缓冲存储器目录602,但是经验证的存储器对存储器转送方法也可使用于转送其他数据。举例来说,经验证的存储器对存储器转送方法的另一个用途是自主高速缓冲存储器144A转送冗余RAID 5同位数据登录制从高速缓冲存储器144B。然而,经验证的存储器对存储器转送方法并未受限于在此转送的数据类型,但可实施以制造任何数据的存储器对存储器转送,用于主中央处理器108A需要保证数据可成功地转送至从高速缓冲存储器144B而不需要从中央处理器涉及或认知数据转送。
如以上所述,PCI-Express凭借着有如区域总线的血统来提供一种载入-储存架构。结果,通过PCI-Express提供的数据转送原始仅包括有区别的存储器、输入/输出、配置、及直接至个别地址空间的消息处理类型。特别地,存储器写入处理类型不包括非后置转送类型。然而,存储器写入处理的请求者未接收完成结果以指示数据转送的成功或失败。此外,虽然输入/输出写入处理类型提供非后置输入/输出写入转送类型,非后置输入/输出转送类型未提供实际解答给位了某接理由的RAID控制器的大量高速数据传送。首先,输入/输出写入请求直接至输入/输出地址空间,而非存储器地址空间。第二,输入/输出写入请求允许仅4字节的最大值。第三,输入/输出写入请求受限于用于将输入/输出空间填址的32地址位。最后,即使非后置输入/输出写入请求提供被传送至存储器数据转送的要求者的完成包,仍然没有装置来用于微自动产生中断信号至接收完成包的请求者,而非一个分开可区别的中断必须通过目标点来产生,如MSI而必须涉及在目标点的中央处理器上的更高等级软件。然而,有利地,在此描述的RAID控制器系统100值型越过PCI-Express连接118的经验证的存储器对存储器转送,其中目标总线桥接器124自动地传送递送授权,而不需涉及目的中央处理器108,并且其中请求中的中央处理器接收验证中断以指示不涉及目的中央处理的108的数据成功写入。
如以上所述,如美国专利申请号11/272,340所描述的系统需要总线桥接器124来认知目录122的结构及在高速缓冲存储器144中的位置。有利地,在此描述的本发明系统100的实施例可无关目录122的结构与位置,且能在镜像后置写入操作的效能上降低中央处理器108的涉及程度。特别地,目录入口602结构可改变而无须修正总线桥接器124。反而,在中央处理器108上产生的软件可改变以适应在目录入口602结构的改变。
现在请参考图9,流程图根据本发明替代实施例描述系统100的操作以执行经验证的存储器对存储器转送操作。图9描述的实施例其中标准PCI-Express存储器写入请求TLP可实施来转送数据而不需如图4A的修正TLP包头400。图9的流程图与图8的流程图类似,然而,图9的方块963取代图8的方块162,并且。图9的方块965取代图8的方块165。
在方块963中,与方块163相似的是,主总线桥接器124A传送在PCI-Express连接118上的PCI-Express存储器写入请求TLP至从总线桥接器124B。然而在图3中TLP具有标准PCI-Express包头300,但是在地址字段中所指派的存储器地址在预定CERTIFY地址范围内。在一实施例中,在开机时通过个别中央处理器108来程序规划CERITIFY地址范围至CSR202。在一实施例中,用于从RAID控制器102B的CERTIFY地址范围为通过主目录122B-2的镜像备份所指派的存储器范围,同时。用于主RAID控制器的CERIFY地址范围为通过从目录122A-2的镜像备份所指派的存储器范围。
在方块965中,从总线桥接器124B设置以识别以下情形,若TLP包头300地址在CERTIFY地址范围时,在方块164中成功地写入载荷数据至从高速缓冲存储器144B后,从总线桥接器124B用以传送在PCI-Express连接118上的递送授权至主总线桥接器124A。。检测位置在CERTIFY地址范围并传送递送授权包至主总线桥接器以指示载荷数据已成功地写入从高速缓冲存储器。
虽然已详细描述本发明及其特征、特征、及优点,其他实施例仍包含于本发明中。举例来说,虽然实施例描述其中经过验证的载荷数据为目录入口602数据,其他可传送的数据也如此所述。
最后,本领域的技术人员能使用所公开的概念及特殊实施例来作为基础,用以设计或修正其他结构来实现本发明的相同目的,皆不脱离如以下所附权利项所定义的本发明精神与范畴。
Claims (44)
1.一种用以执行镜像后置写入操作的系统,包含;
第一及第二独立冗余磁盘阵列控制器,该第一及第二独立冗余磁盘阵列控制器通过快速周边元件扩展接口连接来通信,该第一及第二独立冗余磁盘阵列控制器的每一个均包含中央处理器、写入高速缓冲存储器、以及连接至该中央处理器、该写入高速缓冲存储器及该快速周边元件扩展接口连接的总线桥接器;
其中该第一独立冗余磁盘阵列控制器中的总线桥接器用以在该快速周边元件扩展接口连接上传送快速周边元件扩展接口存储器写入请求交换层数据包至该第二独立冗余磁盘阵列控制器中的总线桥接器,该交换层数据包包含载荷数据及一包头,该包头包含是否由该第一独立冗余磁盘阵列控制器中的中央处理器来请求验证的指示,该验证用以验证已将该载荷数据写入至该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器;
其中若该指示请求该验证时,在写入该载荷数据至该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器后,该第二独立冗余磁盘阵列控制器中的总线桥接器用以自动地传送该验证至独立于该第二独立冗余磁盘阵列控制器中的中央处理器的该第一独立冗余磁盘阵列控制器中的总线桥接器;以及
其中该第一独立冗余磁盘阵列控制器中的总线桥接器用以产生中断信号至该第一独立冗余磁盘阵列控制器中的中央处理器,来响应该验证的接收。
2.如权利要求1所述的系统,其中该指示包含该交换层数据包包头的字段的预定位,该第二独立冗余磁盘阵列控制器中的总线桥接器将该预定位解释为该指示。
3.如权利要求2所述的系统,其中该交换层数据包包头的该字段的该预定位包含该交换层数据包包头的地址字段的预定地址位,该第二独立冗余磁盘阵列控制器中的总线桥接器将该预定地址位解释为该指示。
4.如权利要求3所述的系统,其中该快速周边元件扩展接口存储器写入请求交换层数据包具有4双字包头的数据格式,其中该预定地址位为该地址字段的第63至32位之一。
5.如权利要求3所述的系统,其中该快速周边元件扩展接口存储器写入请求交换层数据包具有3双字包头的数据格式,其中该预定地址位为该地址字段的第31位。
6.如权利要求1所述的系统,其中该第二独立冗余磁盘阵列控制器中的总线桥接器包含用以储存一地址范围的储存元件,其中该指示包含用来指定在该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器内的该载荷数据的目的地的、在该交换层数据包包头内的存储器地址,其中若该存储器地址在该地址范围内时,该指示用以指示来请求该验证。
7.如权利要求6所述的系统,其中该第二独立冗余磁盘阵列控制器中的中央处理器用以在该第二磁盘阵列控制器的起始时间将该地址范围写入至该储存元件中。
8.如权利要求1所述的系统,其中该载荷数据包含该第一独立冗余磁盘阵列控制器中的写入高速缓冲存储器的一个目录的一部分,指示该第一独立冗余磁盘阵列控制器中的写入高速缓冲存储器的一个或多个写入高速缓冲存储器是否有效。
9.如权利要求1所述的系统,其中该第一独立冗余磁盘阵列控制器还包含:
主机接口,连接至该第一独立冗余磁盘阵列控制器中的总线桥接器,该主机接口用以接收自连接至该第一独立冗余磁盘阵列控制器的主机计算机所接收的后置写入数据,并写入该后置写入数据至该第一独立冗余磁盘阵列控制器中的总线桥接器,其中该第一独立冗余磁盘阵列控制器中的总线桥接器写入后置写入数据至该第一独立冗余磁盘阵列控制器中的写入高速缓冲存储器,并且广播该后置写入数据的该备份至该第二独立冗余磁盘阵列控制器中的总线桥接器以响应该主机接口将该后置写入数据写入至该第一独立冗余磁盘阵列控制器中的总线桥接器。
10.如权利要求1所述的系统,其中该第一独立冗余磁盘阵列控制器包含:
主机接口,连接至该第一独立冗余磁盘阵列控制器中的总线桥接器,该主机接口用以接收自连接至该第一独立冗余磁盘阵列控制器的主机计算机所接收的后置写入数据,并写入该后置写入数据至该第一独立冗余磁盘阵列控制器中的总线桥接器,并广播该后置写入数据的该备份至该第二独立冗余磁盘阵列控制器中的总线桥接器以响应该主机接口将该后置写入数据写入至该第一独立冗余磁盘阵列控制器中的总线桥接器。
11.如权利要求1所述的系统,其中该载荷数据包含独立冗余磁盘阵列控制器5奇偶校验数据记录。
12.如权利要求1所述的系统,其中该验证包含另一快速周边元件扩展接口交换层数据包。
13.如权利要求12所述的系统,其中该另一快速周边元件扩展接口交换层数据包的该包头包含另一指示来验证该载荷数据已写入至该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器。
14.如权利要求13所述的系统,其中该另一快速周边元件扩展接口交换层数据包包含快速周边元件扩展接口存储器写入请求交换层数据包。
15.如权利要求14所述的系统,其中该另一指示包含该另一快速周边元件扩展接口交换层数据包的该快速周边元件扩展接口存储器写入请求交换层数据包的该包头的字段的预定位,由该第一独立冗余磁盘阵列控制器中的总线桥接器将该预定位解释为该另一指示,验证该载荷数据已写入至该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器。
16.如权利要求13所述的系统,其中该第一独立冗余磁盘阵列控制器中的总线桥接器包含用以储存一地址范围的储存元件,其中该另一指示包含在该另一快速周边元件扩展接口交换层数据包的该包头内的存储器地址,其中若该存储器地址在该地址范围内时,该另一指示验证该载荷数据已写入至该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器。
17.如权利要求12所述的系统,其中该另一快速周边元件扩展接口交换层数据包包含快速周边元件扩展接口厂商定义消息交换层数据包。
18.如权利要求12所述的系统,其中该另一快速周边元件扩展接口交换层数据包包含快速周边元件扩展接口消息信号中断消息交换层数据包。
19.如权利要求1所述的系统,其中该第一独立冗余磁盘阵列控制器中的总线桥接器包含:
计时器,用以当该第一独立冗余磁盘阵列控制器中的总线桥接器在该快速周边元件扩展接口连接上传送该快速周边元件扩展接口存储器写入请求交换层数据包至该第二独立冗余磁盘阵列控制器中的总线桥接器时开始运转,其中若该第一独立冗余磁盘阵列控制器中的总线桥接器在预定时间内未能自该第二独立冗余磁盘阵列控制器中的总线桥接器接收该验证时,该第一独立冗余磁盘阵列控制器中的总线桥接器用以中断该第一独立冗余磁盘阵列控制器中的中央处理器。
20.一种用以在通过快速周边元件扩展接口连接进行通信的第一与第二独立冗余磁盘阵列控制器之间执行经验证的存储器对存储器的转送操作的方法,该第一及第二独立冗余磁盘阵列控制器的每一个均包含中央处理器、写入高速缓冲存储器、以及连接至该中央处理器、该写入高速缓冲存储器及该快速周边元件扩展接口连接的总线桥接器,所述方法包含:
该第一独立冗余磁盘阵列控制器中的总线桥接器用以在该快速周边元件扩展接口连接上传送快速周边元件扩展接口存储器写入请求交换层数据包至该第二独立冗余磁盘阵列控制器中的总线桥接器,该快速周边元件扩展接口存储器写入请求交换层数据包包含载荷数据及包头,该包头包含是否由该第一独立冗余磁盘阵列控制器中的中央处理器来请求验证的指示,该验证用以验证该载荷数据已写入至该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器;
该第二独立冗余磁盘阵列控制器中的总线桥接器确定该指示是否请求该验证;
若该指示请求该验证,则在写入该载荷数据至该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器后,该第二独立冗余磁盘阵列控制器中的总线桥接器用以自动地传送该验证至独立于该第二独立冗余磁盘阵列控制器中的中央处理器的该第一独立冗余磁盘阵列控制器中的总线桥接器;以及
该第一独立冗余磁盘阵列控制器中的总线桥接器产生中断信号至该第一独立冗余磁盘阵列控制器中的中央处理器来响应该验证的接收。
21.如权利要求20所述的方法,其中该载荷数据包含该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器的目录的一部分来指示该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器的一个或多个写入高速缓冲存储器是否有效。
22.如权利要求21所述的方法,还包含:
该第一独立冗余磁盘阵列控制器中的中央处理器命令该第一独立冗余磁盘阵列控制器中的总线桥接器自该第一独立冗余磁盘阵列控制器中的写入高速缓冲存储器转移该目录的该部分至该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器,并产生该中断信号至该第一独立冗余磁盘阵列控制器中的中央处理器以响应该验证的接收,其中该第一独立冗余磁盘阵列控制器中的总线桥接器用以在该快速周边元件扩展接口连接上传送该快速周边元件扩展接口存储器写入请求交换层数据包及设定为预定值的该指示至该第二独立冗余磁盘阵列控制器中的总线桥接器,以响应来自该第一独立冗余磁盘阵列控制器中的中央处理器的该命令;以及
在该第一独立冗余磁盘阵列控制器中的中央处理器命令该第一独立冗余磁盘阵列控制器中的总线桥接器传送该目录的该部分前,该第一独立冗余磁盘阵列控制器中的中央处理器使在该目录的该部分内的该一个或多个写入高速缓冲存储器无效。
23.如权利要求22所述的方法,还包含:
该第一独立冗余磁盘阵列控制器中的总线桥接器写入后置写入数据至该第一独立冗余磁盘阵列控制器中的写入高速缓冲存储器并广播该后置写入数据的备份至该第二独立冗余磁盘阵列控制器中的总线桥接器,用以于产生该中断信号至该第一独立冗余磁盘阵列控制器中的中央处理器后,写入至该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器。
24.如权利要求23所述的方法,还包含:
在该第一独立冗余磁盘阵列控制器中的总线桥接器广播该后置写入数据的该备份至该第二独立冗余磁盘阵列控制器中的总线桥接器后,该第一独立冗余磁盘阵列控制器中的中央处理器使在该目录的该部分内的该一个或多个写入高速缓冲存储器有效;以及
在该目录的该部份内的该一个或多个写入高速高速缓冲存储器缓冲器有效时,该第一独立冗余磁盘阵列控制器中的中央处理器命令该第一独立冗余磁盘阵列控制器中的总线桥接器传送该目录的被有效部分自该第一独立冗余磁盘阵列控制器中的写入高速缓冲存储器至该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器,并产生另一中断信号至该第一独立冗余磁盘阵列控制器中的中央处理器来响应另一验证的接收。
25.如权利要求24所述的方法,还包括:
在命令该第一独立冗余磁盘阵列控制器中的总线桥接器自该第一独立冗余磁盘阵列控制器中的写入高速缓冲存储器转送该目录的该被有效部分至该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器前,该第一独立冗余磁盘阵列控制器中的中央处理器在该目录的该部分填充信息来指定连接该第一与第二独立冗余磁盘阵列控制器的磁盘驱动器阵列的一个磁盘驱动器及该后置写入数据的该磁盘驱动器上的目的位置。
26.如权利要求24所述的方法,还包括:
该第一独立冗余磁盘阵列控制器中的中央处理器发送相关于镜像后置写入操作的良好状态至连接至该第一独立冗余磁盘阵列控制器的主机计算机,以响应由自该第一独立冗余磁盘阵列控制器中的总线桥接器所接收的该另一中断信号。
27.如权利要求22所述的方法,还包括:
在命令该第一独立冗余磁盘阵列控制器中的总线桥接器转送该目录的该部分后,该第一独立冗余磁盘阵列控制器中的中央处理器开始运转计时器;以及
该第一独立冗余磁盘阵列控制器中的中央处理器决定该第一独立冗余磁盘阵列控制器中的总线桥接器在预定时间内是否不产生该中断信号至该第一独立冗余磁盘阵列控制器中的中央处理器。
28.如权利要求21所述的方法,还包括:
该第一独立冗余磁盘阵列控制器中的中央处理器命令该第一独立冗余磁盘阵列控制器中的总线桥接器将来自该第一独立冗余磁盘阵列控制器中的写入高速缓冲存储器的该目录的该部分转送至该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器,并产生该中断信号至该第一独立冗余磁盘阵列控制器中的中央处理器以响应该验证的接收,其中该第一独立冗余磁盘阵列控制器中的总线桥接器用以转送在该快速周边元件扩展接口连接上的该快速周边元件扩展接口存储器写入请求交换层数据包及设定为预定值的该指示至该第二独立冗余磁盘阵列控制器中的总线桥接器,以响应来自该第一独立冗余磁盘阵列控制器中的中央处理器的该命令;以及
在命令该第一独立冗余磁盘阵列控制器中的总线桥接器传送该目录的该部分前,该第一独立冗余磁盘阵列控制器中的中央处理器使在该目录的该部分内的该一个或多个写入高速缓冲存储器有效。
29.如权利要求28所述的方法,还包括:
在命令该第一独立冗余磁盘阵列控制器中的总线桥接器自该第一独立冗余磁盘阵列控制器中的写入高速缓冲存储器转送该目录的被有效部分至该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器前,该第一独立冗余磁盘阵列控制器中的中央处理器在该目录的该部分填充信息来指定连接该第一与第二独立冗余磁盘阵列控制器的磁盘驱动器阵列的一个磁盘驱动器及后置写入数据的该磁盘驱动器上的目的位置。
30.如权利要求28所述的方法,还包括:
该第一独立冗余磁盘阵列控制器中的中央处理器发送相关于镜像后置写入操作的良好状态至连接至该第一独立冗余磁盘阵列控制器的主机计算机,以响应由自该第一独立冗余磁盘阵列控制器中的总线桥接器所接收的该另一中断信号。
31.如权利要求28所述的方法,还包括:
在第一独立冗余磁盘阵列控制器中的中央处理器命令该第一独立冗余磁盘阵列控制器中的总线桥接器传送该目录的该部分前,该第一独立冗余磁盘阵列控制器中的总线桥接器将后置写入数据写入至该第一独立冗余磁盘阵列控制器中的写入高速缓冲存储器,并广播该后置写入数据的备份至该第二独立冗余磁盘阵列控制器中的总线桥接器,用以写入至该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器。
32.如权利要求31所述的方法,还包括:
在该第一独立冗余磁盘阵列控制器中的总线桥接器广播该后置写入数据的该备份至该第二独立冗余磁盘阵列控制器中的总线桥接器前,该第一独立冗余磁盘阵列控制器中的中央处理器使在该目录的该部分内的该一个或多个写入高速缓冲存储器无效;以及
在该目录的该部分内的该一个或多个写入高速缓冲存储器无效时,该第一独立冗余磁盘阵列控制器中的中央处理器命令该第一独立冗余磁盘阵列控制器中的总线桥接器自该第一独立冗余磁盘阵列控制器中的写入高速缓冲存储器转移该目录的被无效部分至该第二独立冗余磁盘阵列控制器中的写入高速缓冲存储器,并产生另一中断信号至该第一独立冗余磁盘阵列控制器中的中央处理器以响应该验证的接收。
33.如权利要求20所述的方法,其中该载荷数据包含独立冗余磁盘阵列5奇偶校验数据记录。
34.如权利要求20所述的方法,其中该验证包含另一快速周边元件扩展接口交换层数据包。
35.如权利要求20所述的方法,还包括:
当该第一独立冗余磁盘阵列控制器中的总线桥接器在该快速周边元件扩展接口连接上传送该快速周边元件扩展接口存储器写入请求交换层数据包至该第二独立冗余磁盘阵列控制器中的总线桥接器时,该第一独立冗余磁盘阵列控制器中的总线桥接器开始运转计时器;
若该第一独立冗余磁盘阵列控制器中的总线桥接器在预定时间内未能自该第二独立冗余磁盘阵列控制器中的总线桥接器接收该验证时,该第一独立冗余磁盘阵列控制器中的总线桥接器中断该第一独立冗余磁盘阵列控制器中的中央处理器。
36.一种总线桥接器,用于实现各主独立冗余磁盘阵列控制器及从独立冗余磁盘阵列控制器,该主独立冗余磁盘阵列及从独立冗余磁盘阵列控制器通过快速周边元件扩展接口连接来通信,该总线桥接器包含:
快速周边元件扩展接口,用以实现该快速周边元件扩展接口连接;
第一区域总线接口,用以连接至该主独立冗余磁盘阵列控制器及从独立冗余磁盘阵列控制器的中央处理器;
存储器总线接口,用以连接至该主独立冗余磁盘阵列控制器及从独立冗余磁盘阵列控制器的写入高速缓冲存储器;以及
主控制逻辑装置及从控制逻辑装置,连接至并用以控制该快速周边元件扩展接口、该第一区域总线接口、及该存储器总线接口;
其中该主控制逻辑装置用以控制快速周边元件扩展接口在该快速周边元件扩展接口连接上传送快速周边元件扩展接口存储器写入请求交换层数据包,该交换层数据包包含载荷数据及包头,该包头包含是否由该主独立冗余磁盘阵列控制器中的中央处理器来请求验证的指示,该验证用以验证该载荷数据已写入至该从独立冗余磁盘阵列控制器中的写入高速缓冲存储器;
其中该从控制逻辑装置用以决定是否该通过快速周边元件扩展接口接收的指示来请求该验证,并且若该指示请求该验证时,在写入该载荷数据至该从独立冗余磁盘阵列控制器中的写入高速缓冲存储器后,自动地控制该从快速周边元件扩展接口以在该快速周边元件扩展接口连接上传送独立于该从独立冗余磁盘阵列控制器中的中央处理器的该验证;以及
其中该主控制逻辑装置用以控制该第一区域总线接口以产生中断信号至该主独立冗余磁盘阵列控制器中的中央处理器来响应该主快速周边元件扩展接口接收该验证。
37.如权利要求36所述的总线桥接器,其中该载荷数据包含该从独立冗余磁盘阵列控制器中的写入高速缓冲存储器的目录的一部分来指示该从独立冗余磁盘阵列控制器中的写入高速缓冲存储器的一个或多个写入高速缓冲存储器是否有效。
38.如权利要求37所述的总线桥接器,其中该第一区域总线接口设置以接收来自该主独立冗余磁盘阵列控制器中的中央处理器的命令,以供该主独立冗余磁盘阵列控制器中的总线桥接器自该主独立冗余磁盘阵列控制器中的写入高速缓冲存储器转送该目录的被无效部分至该从独立冗余磁盘阵列控制器中的写入高速缓冲存储器,并产生该中断信号至该主独立冗余磁盘阵列控制器中的中央处理器以响应该验证的接收,其中该主控制逻辑装置设置以控制该快速周边元件扩展接口在该快速周边元件扩展接口连接上传送快速周边元件扩展接口存储器写入请求交换层数据包并伴随设定于预定值的该指令以请求该验证,来响应自该主独立冗余磁盘阵列控制器中的中央处理器的该命令。
39.如权利要求38所述的总线桥接器,其中该主控制逻辑装置用以执行:
在连接至该主独立冗余磁盘阵列控制器中的该第一区域总线接口产生该中断信号至该主独立冗余磁盘阵列控制器中的中央处理器后,控制连接至该主独立冗余磁盘阵列控制器的该存储器总线接口写入后置写入数据至该主独立冗余磁盘阵列控制器中的写入高速缓冲存储器,并广播该后置写入数据的备份,用以写入至该从独立冗余磁盘阵列控制器中的写入高速缓冲存储器。
40.如权利要求39所述的总线桥接器,其中该第一区域总线接口用以接收自该主独立冗余磁盘阵列控制器中的中央处理器的用于该主独立冗余磁盘阵列控制器中的总线桥接器的另一命令,以在该快速周边元件扩展接口连接上转送自该主独立冗余磁盘阵列控制器中的写入高速缓冲存储器的该目录的被有效部分至该从独立冗余磁盘阵列控制器中的写入高速缓冲存储器,以写入至该从独立冗余磁盘阵列控制器中的写入高速缓冲存储器,并产生另一中断信号至该主独立冗余磁盘阵列控制器中的中央处理器以响应另一验证的接收。
41.如权利要求39所述的总线桥接器,还包括:
第二区域总线接口,用以连接至该主独立冗余磁盘阵列控制器的主机接口,该第二区域总线接口用以接收通过该主机接口从连接至该主独立冗余磁盘阵列控制器所接收的该后置写入数据。
42.如权利要求41所述的总线桥接器,还包括:
第三区域总线接口,用以连接至该主独立冗余磁盘阵列控制器的磁盘接口,该第三区域总线接口用以写入该后置写入数据至该用于写入至一个或多个连接至该主独立冗余磁盘阵列控制器的磁盘驱动器的磁盘接口。
43.如权利要求39所述的总线桥接器,还包括:
第二区域总线接口,用以连接至该主独立冗余磁盘阵列控制器的磁盘接口,该第二区域总线接口用以写入该后置写入数据至该磁盘接口,以供写入至连接该主独立冗余磁盘阵列控制器的一个或多个磁盘驱动器。
44.如权利要求36所述的总线桥接器,其中该主控制逻辑装置包含:
计时器,用于当该快速周边元件扩展接口在该快速周边元件扩展接口连接上传送该快速周边元件扩展接口存储器写入请求交换层数据包时开始运转,其中若该快速周边元件扩展接口在预定时间内未能接收自该从独立冗余磁盘阵列控制器中的总线桥接器的该验证时,该主控制逻辑用以使该第一区域总线接口中断该主独立冗余磁盘阵列控制器中的中央处理器。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US69444305P | 2005-06-27 | 2005-06-27 | |
US60/694,443 | 2005-06-27 | ||
US11/317,504 | 2005-12-22 | ||
US11/317,504 US7536495B2 (en) | 2001-09-28 | 2005-12-22 | Certified memory-to-memory data transfer between active-active raid controllers |
PCT/US2006/024179 WO2007002219A2 (en) | 2005-06-27 | 2006-06-20 | Certified memory-to-memory data transfer between active-active raid controllers |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101218571A CN101218571A (zh) | 2008-07-09 |
CN101218571B true CN101218571B (zh) | 2012-07-11 |
Family
ID=39624283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800224951A Expired - Fee Related CN101218571B (zh) | 2005-06-27 | 2006-06-20 | 执行镜像后置写入操作的系统及方法,和总线桥接器 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2008544421A (zh) |
CN (1) | CN101218571B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019226250A1 (en) * | 2018-05-23 | 2019-11-28 | Microsemi Storage Solutions, Inc. | Method and apparatus for scatter gather processing engine in a storage controller for caching applications |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010238150A (ja) * | 2009-03-31 | 2010-10-21 | Toshiba Corp | PCIExpress通信システム、及びその通信方法 |
US9571576B2 (en) * | 2010-11-30 | 2017-02-14 | International Business Machines Corporation | Storage appliance, application server and method thereof |
US9037907B2 (en) * | 2011-06-10 | 2015-05-19 | International Business Machines Corporation | Operator message commands for testing a coupling facility |
CN102880430B (zh) * | 2012-09-18 | 2016-05-11 | 北京联创信安科技有限公司 | 一种独立冗余磁盘阵列的管理系统及方法 |
JP6135114B2 (ja) * | 2012-12-13 | 2017-05-31 | 富士通株式会社 | ストレージ装置、エラー処理方法及びエラー処理プログラム |
WO2015025363A1 (ja) * | 2013-08-20 | 2015-02-26 | 株式会社日立製作所 | ストレージ装置及びデータ入出力方法 |
US9904626B2 (en) * | 2014-08-29 | 2018-02-27 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system and system on chip |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0967552A2 (en) * | 1998-06-23 | 1999-12-29 | Hewlett-Packard Company | Disk array controller to provide coherent memory map across hot-plug interface |
-
2006
- 2006-06-20 CN CN2006800224951A patent/CN101218571B/zh not_active Expired - Fee Related
- 2006-06-20 JP JP2008519400A patent/JP2008544421A/ja not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0967552A2 (en) * | 1998-06-23 | 1999-12-29 | Hewlett-Packard Company | Disk array controller to provide coherent memory map across hot-plug interface |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019226250A1 (en) * | 2018-05-23 | 2019-11-28 | Microsemi Storage Solutions, Inc. | Method and apparatus for scatter gather processing engine in a storage controller for caching applications |
Also Published As
Publication number | Publication date |
---|---|
JP2008544421A (ja) | 2008-12-04 |
CN101218571A (zh) | 2008-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101218571B (zh) | 执行镜像后置写入操作的系统及方法,和总线桥接器 | |
EP1902373B1 (en) | Certified memory-to-memory data transfer between active-active raid controllers | |
US7281072B2 (en) | Redundant external storage virtualization computer system | |
US7315911B2 (en) | Method for efficient inter-processor communication in an active-active RAID system using PCI-express links | |
US7908445B2 (en) | Redundant controller dynamic logical media unit reassignment | |
US7340555B2 (en) | RAID system for performing efficient mirrored posted-write operations | |
JP3617632B2 (ja) | Raid制御装置及びその制御方法 | |
CN101965559B (zh) | 包括将处理器与内部存储器连接的交叉切换器的用于闪存的存储控制器 | |
US7730257B2 (en) | Method and computer program product to increase I/O write performance in a redundant array | |
US7558981B2 (en) | Method and apparatus for mirroring customer data and metadata in paired controllers | |
US7925847B2 (en) | Method and apparatus for adjusting timing signal between media controller and storage media | |
US6813688B2 (en) | System and method for efficient data mirroring in a pair of storage devices | |
TWI540436B (zh) | 冗餘緩存數據的彈性緩存 | |
CN101452373B (zh) | 输入输出处理器 | |
JP2002108572A (ja) | バックアップシステム、及び複製装置 | |
JP3617631B2 (ja) | ストレージ制御装置及びその制御方法 | |
WO2014094250A1 (zh) | 数据处理方法和设备 | |
US20070036055A1 (en) | Device, method and program for recovering from media error in disk array device | |
CN101650675B (zh) | 利用异或校验磁盘阵列写数据的方法及装置 | |
JP3004861U (ja) | 密接に結合された二重のコントローラモジュールを用いた欠陥許容式の記憶装置用制御システム | |
KR20050033060A (ko) | 네트워크를 이용한 핫 스페어 구성 시스템 및 방법 | |
US8489826B2 (en) | Storage controller and storage subsystem with added configurable functions | |
JP3069829B2 (ja) | ディスクアレイ装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120711 Termination date: 20200620 |
|
CF01 | Termination of patent right due to non-payment of annual fee |