首页> 中国专利> 将数据净荷从第一扇区格式转换成第二扇区格式的装置和方法

将数据净荷从第一扇区格式转换成第二扇区格式的装置和方法

摘要

该方法形成多个DMA数据净荷,其中每个DMA数据净荷包括多个第一扇区,并且该方法将一个或多个那些DMA数据净荷发送到扇区格式转换设备。然后,该方法将第i个DMA数据净荷覆盖在部分或全部多个第二扇区上以便形成第i个转换后的DMA数据净荷,在数据队列中排队第i个转换后的DMA数据净荷,将第i个转换后的DMA数据净荷传送到数据存储设备,以及将第i个转换后的DMA数据净荷写入信息存储介质。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-08-25

    未缴年费专利权终止 IPC(主分类):G06F3/06 授权公告日:20070711 终止日期:20160712 申请日:20050712

    专利权的终止

  • 2007-07-11

    授权

    授权

  • 2006-04-05

    实质审查的生效

    实质审查的生效

  • 2006-02-08

    公开

    公开

说明书

技术领域

本发明涉及将数据净荷从第一扇区格式转换成第二扇区格式同时在电源损失期间保持数据完整性的装置和方法。

背景技术

使用数据存储和检索系统来存储由一个或多个主机系统提供的信息。这些数据存储和检索系统接收将信息写入一个或多个辅助存储设备的请求,以及从那些一个或多个辅助存储设备检索信息的请求。在接收写入请求后,系统将从主机检索的信息存储在数据超高速缓存中。在某些实现中,还将那一信息的拷贝存储在非易失性存储设备中。在接收读取请求时,系统从一个或多个辅助存储设备检索信息并将那一信息移动到数据超高速缓存。因此,该系统连续地向和从存储设备以及向和从数据超高速缓存移动信息。

然而,如果以第一扇区格式写入位于数据超高速缓存中的数据,以及如果以第二扇区格式写入位于一个或多个存储设备中的数据,那么在数据超高速缓存和一个或多个存储设备间,需要扇区格式转换设备。申请人已经发现所需要的是将数据净荷从第一扇区格式转换成第二扇区格式同时在电源损失事件期间保持数据完整性的扇区格式转换设备,以及使用那个设备的方法。申请人的装置和方法将数据净荷从第一扇区格式转换成第二扇区格式,同时在电源损失事件期间保持数据完整性。在某些实施例中,申请人的装置和方法符合SFF-8045规范下的电源故障告警协议。

发明内容

申请人的发明包括将数据净荷从第一扇区格式转换成第二扇区格式同时在电源损失期间保持数据完整性的装置和方法。该方法提供信息存储和检索系统,它包括:由以第一扇区格式写入的多个第一扇区组成的信息;设备控制器;数据存储设备,其中,数据存储设备包括由多个第二扇区组成的信息存储介质,每个第二扇区包括第二扇区格式;包括数据队列、缓冲器和非易失性存储器的扇区格式转换设备;互连扇区格式转换设备和设备控制器的通信链路;其中,扇区格式转换设备与数据存储设备互连。

该方法进一步设置电源故障告警时间间隔;以及形成多个DMA数据净荷,每个DMA数据净荷包括多个第一扇区,其中,多个DMA数据净荷的每一个都包括开始逻辑块地址和结束逻辑块地址;以及将DMA数据净荷的一个或多个发送到扇区格式转换设备。

然后,该方法将第i个DMA数据净荷覆盖在部分或全部多个第二扇区上以便形成第i个转换后的DMA数据净荷,在数据队列中排队第i个转换后的DMA数据净荷,将第i个转换后的DMA数据净荷传送到数据存储设备,以及将第i个转换后的DMA数据净荷写入信息存储介质。

附图说明

通过阅读下述结合附图的详细描述,将更好地理解本发明,在附图中类似的标记用来表示类似的元件,以及其中:

图1是示出了申请人的数据存储和检索系统的一个实施例的框图;

图2是示出了将多个数据存储设备互连到控制器的多个扇区格式转换设备的框图;

图3是概括申请人的方法的第一实施例的流程图;

图4是概述申请人的方法的第二实施例的流程图;

图5是表示将包括以第一扇区格式写入的多个扇区的DMA数据净荷映射到具有第二扇区格式的多个扇区的框图;

图6是概述申请人的电源告警故障算法的步骤的流程图;以及

图7是描述图6的电源告警故障算法的一部分的框图。

具体实施方式

参考附图,在下述说明书的优选实施例中描述了本发明,在附图中类似的标记表示相同或类似的元件。本发明将描述为实现在包括两个集群、多个主机适配器、多个设备适配器和数据超高速缓存的信息存储和检索系统中。然而,对申请人的在电源损失期间保持数据完整性的方法的下述描述,不意味着将申请人的发明限定于数据处理应用,因为总的来说本发明能应用于扇区格式转换。

现在参考图1,信息存储和检索系统100能经由通信链路395,与主机390进行通信。图1所示的实施例显示了单个主机。在其他实施例中,申请人的信息存储和检索系统能与多个主机进行通信。

主机390包括计算机系统,诸如大型机、个人计算机、工作站及其组合,计算机系统包括操作系统,诸如Windows、AIX、Unix、MVS、LINUX等(Windows是微软公司的注册商标,AIX是IBM公司的注册商标以及MVS是IBM公司的商标,以及UNIX是在美国和通过Open Group排他许可的其他国家的注册商标)。在某些实施例中,主机390进一步包括存储管理程序。主机390中的存储管理程序可以包括现有技术中已知的存储管理型程序(诸如在IBM MVS操作系统中实现的IBM DFSMS)的功能,该程序管理向数据存储和检索系统传送数据。

在某些实施例中,申请人的信息存储和检索系统100包括位于四个主机架(bay)101、106、111和116中的多个主机适配器102-105、107-110、112-115和117-120。在其他实施例中,申请人的信息存储和检索系统包括少于16个的主机适配器。与申请人的系统的任何实施例中设置的主机适配器的数量无关,那些主机适配器的每一个都包括同样有权访问中央处理/超高速缓存元件130和140的共享资源。每个主机适配器可以包括一个或多个光纤信道端口、一个或多个FICON端口、一个或多个ESCON端口或一个或多个SCSI端口。每个主机适配器通过互连总线121连接到两个集群,以便每一集群都能处理来自任何主机适配器的I/O。

处理器部分130包括处理器132和超高速缓存134。在某些实施例中,处理器部分130进一步包括存储器133。在某些实施例中,存储器设备133包括随机存取存储器。在某些实施例中,存储器设备133包括非易失性存储器。

处理器部分140包括处理器142和超高速缓存144。在某些实施例中,处理器部分140进一步包括存储器143。在某些实施例中,存储器设备143包括随机存取存储器。在某些实施例中,存储器设备143包括非易失性存储器。

I/O部分160包括多个设备适配器,诸如设备适配器165、166、167和168。I/O部分170进一步包括多个设备适配器,诸如设备适配器175、176、177和178。

在申请人的系统的某些实施例中,在位于申请人的信息存储和检索系统中的单个卡上,将一个或多个主机适配器、处理器部分130和一个或多个设备适配器封装在一起。类似地,在某些实施例中,一个或多个主机适配器、处理器部分160和一个或多个设备适配器位于申请人的信息存储和检索系统中设置的另一个卡上。在这些实施例中,申请人的系统100包括与多个数据存储设备互连的两个卡。

在图1所示的实施例中,将十六个数据存储设备组织成两个阵列,即阵列“A”和阵列“B”。图1所示的实施例显示了两个存储设备阵列。在其他实施例中,申请人的信息存储和检索系统包括两个以上的存储设备阵列。每个存储阵列对于主机来说看起来象是一个或多个逻辑设备。

在某些实施例中,一个或多个数据存储设备包括多个硬盘驱动单元。在图1所示的实施例中,盘阵列“A”包括盘驱动器181、182、183、191、192、193和194。盘阵列“B”包括盘驱动器185、186、187、188、196、197和198。在某些实施例中,阵列“A”和“B”利用RAID协议。在某些实施例中,阵列“A”和“B”包括有时称为JBOD阵列(即“正好一串盘(Just a Bunch of Disks)”)的阵列,其中,阵列不是根据RAID配置的。如本领域的技术人员将意识到的那样,RAID(独立盘冗余阵列)阵列(rank)包括以盘驱动器阵列形状构造的独立的盘驱动器以便获得超出单个大驱动器的性能、容量和/或可靠性。

图1所示的实施例示出了两个存储设备阵列。在其他实施例中,申请人的系统包括单个存储设备阵列。在其他实施例中,申请人的系统包括两个以上的存储设备阵列。

现在,参考图2,与用在申请人的信息存储和检索系统中的数据存储介质、例如多个硬盘无关,包括一个或多个那些存储介质的每个数据存储设备通过通信链路215互连到设备控制器210。在某些实施例中,控制器210包括处理器212和存储器214。在某些实施例中,存储器214包括非易失性存储器。

在某些实施例中,设备控制器210包括设备适配器,诸如例如设备适配器165(图1)。在某些实施例中,设备控制器210包括RAID控制器。在某些实施例中,通信链路215包括光纤信道判优环路(FibreChannel Arbitrated Loop)。在图2所示的实施例中,通信链路215包括链路段225、245、265和285。

图2所示的环路结构包括申请人的系统的一个实施例。在其他实施例中,链路215包括开关光纤或开关和环路拓扑结构的组合。在其他实施例中,链路215包括开关的双FC-AL环路,其中设备控制器210连接到两个FC-AL环路。每个环路包括一个或多个光纤信道开关。转换设备220、240等点对点地连接到每个环路上的开关。在其他实施例中,每个环路包含执行在每个环路上面向(surface)多个点对点设备的切换功能的单个转换设备。

在一些实施例中,转换设备包括执行从第一扇区格式到第二扇区格式(“扇区大小转换”)的扇区大小转换的元件,其中,通信协议对第一扇区格式和第二扇区格式是相同的。在其他实施例中,转换设备包括执行“扇区大小转换”和从第一通信协议到第二通信协议的转换(“协议转换”)的元件。在一些实施例中,第一通信协议是光纤信道协议,第二通信协议是串行ATA或ATA。在其他实施例中,第一通信协议是串行附加SCSI,第二通信协议是串行ATA或ATA。

在所有实施例中,申请人的扇区格式转换设备能够进行扇区大小转换。在某些实施例中,申请人的扇区格式转换设备还能够进行协议转换。在此提到的扇区格式转换设备包括能够进行扇区格式转换的设备以及能够进行扇区格式转换和协议转换的设备。

每个存储设备通过分别将存储设备230、250、270和290互连到通信环路215的格式转换设备,诸如设备220、240、260和280,互连到通信链路215。扇区格式转换设备220通过通信链路232将存储设备230互连到环路215。

通信链路225互连扇区格式转换设备220和扇区格式转换设备240。扇区格式转换设备240通过通信链路252,互连存储设备250与环路215。通信链路245互连扇区格式转换设备240和扇区格式转换设备260。扇区格式转换设备260通过通信链路272,互连存储设备270和环路215。

通信链路265互连扇区格式转换设备260和扇区格式转换设备280。扇区格式转换设备280通过通信链路292,互连存储设备290和环路215。通信链路285互连扇区格式转换设备280和通信环路215。单独地从本地驱动线路、诸如ATA或S-ATA选择通信链路232、252、272和292。

每个扇区格式转换设备包括数据缓冲器,诸如数据缓冲器222、242、262和282。每个扇区格式转换设备进一步包括处理器,诸如处理器224、244、264和284。每个扇区格式转换设备进一步包括永久存储器,诸如永久存储器226、246、266和286。就永久存储器来说,申请人是指非易失性存储器,即经受得住市电(utility power)损失的存储器。在某些实施例中,分别单独地从包括一个或多个EEPROMs(电可擦可编程只读存储器)、一个或多个闪存、电池备用RAM、硬盘驱动器、它们的组合等的组选择非易失性存储器设备226、246、266和286。在某些实施例中,每个扇区格式转换设备进一步包括数据队列,诸如数据队列228、248、268和288。

在某些实施例中,将从一个或多个主机接收的数据初始地写入位于申请人的信息存储和检索系统、诸如系统100(图1)中的数据超高速缓存、诸如例如数据超高速缓存134(图1)。在某些实施例中,使用第一扇区格式,将那一数据写入数据超高速缓存。在某些实施例中,主机使用不同于盘的固有扇区大小(native sector size)的扇区大小,使用链路395上的块存储协议,将数据写入存储子系统。在其他实施例中,存储子系统将其自己的数据增加到由主机所写的数据上以便生成其自己的扇区大小。对于主机正使用基于分块的协议、诸如SCSI的情形,通过预先挂起和/或将数据追加到扇区,或通过将由zSeries系统使用的诸如ECKD数据格式的基于记录的数据分成固定块扇区,来完成上述操作。

在某些实施例中,第一扇区格式包括每扇区520个字节数据。在某些实施例中,第一扇区格式包括每扇区524个字节数据。在某些实施例中,第一扇区格式包括每扇区528字节数据。在申请人的方法的某些实施例中,在将数据提供到一个或多个附加存储设备前,将数据从上述第一扇区格式转换成第二扇区格式。在某些实施例中,第二扇区格式包括每扇区512个字节数据。

图3概述申请人的将数据从第一扇区格式转换成第二扇区格式的方法的步骤。在步骤310中,申请人的方法提供包括(N)个第一扇区的直接存储器存取(“DMA”)数据净荷。就“第一扇区”来说,申请人是指包括以第一扇区格式写入的数据的扇区。在某些实施例中,第一扇区格式包括520个字节扇区。在其他实施例中,第一扇区格式包括524个字节扇区。在其他实施例中,第一扇区格式包括528个字节扇区。

在某些实施例中,通过一个或多个主机、诸如例如主机390(图1),将包括(N)个第一扇区的DMA数据净荷提供给位于信息存储和检索系统、诸如例如系统100(图1)中的扇区格式转换设备、诸如设备220(图2)。在某些实施例中,将包括(N)个第一扇区的DMA数据净荷从位于信息存储和检索系统、诸如例如系统100(图1)中的数据超高速缓存、诸如例如数据超高速缓存134(图1,2)提供给位于相同信息存储和检索系统中的扇区格式转换设备、诸如设备220(图2)。

在步骤320,申请人的方法将包括(N)个第一扇区的DMA数据净荷转换成包括(M)个第二扇区的转换后的DMA数据净荷。关于“第二扇区”,申请人是指包括以第二扇区格式写入的数据的扇区。在某些实施例中,第二扇区格式包括512个字节扇区。在某些实施例中,通过扇区格式转换设备、诸如设备220(图2)执行步骤320。如本领域的技术人员将意识到的那样,如果第一扇区格式包括每扇区(X)个字节,以及如果第二扇区格式包括每扇区(Y)个字节,其中(X)大于(Y),那么(N)小于(M)。另外,如果(X)小于(Y),那么(N)大于(M)。

在某些实施例中,在步骤320,申请人的方法将步骤310中提供的DMA数据净荷从第一扇区格式转换成包括以第二扇区格式写入的数据的转换后的DMA数据净荷。在某些实施例中,步骤320使用覆盖操作,形成所转换后的DMA数据净荷。

现在参考图3和5,在步骤310中,申请人的方法提供父DMA数据净荷,即DMA数据净荷510,它包括写入到总共A+1个连续第一扇区的数据。提供连续的第一扇区进一步提供顺序相关数据以便正确地构造父DMA数据净荷。包括父DMA净荷的数据可以驻留在主机中的数据超高速缓存上,或者可以在先前的操作中生成。

在步骤320,申请人的方法将在步骤310中接收的父DAM数据净荷覆盖在多个连续第二扇区上以便形成转换后的DMA数据净荷540。在步骤320,在将DMA数据净荷510覆盖在多个连续第二扇区上以便形成转换后的DMA数据净荷540之前,申请人的方法仅预取和读取开始的第二扇区、即扇区550以及末尾的第二扇区、即扇区560。在某些实施例中,通过扇区格式转换设备,诸如设备220(图2),执行步骤320。

提供下述例子I来进一步示例说明本领域的技术人员如何构成和使用本发明以及如何识别目前提供的优选实施例。然而,该例子不视为对仅由附加权利要求限定的本发明的范围的限制。

例子I

在该例子I中,DMA净荷510包括约8.4千字节的数据。另外在该例子中,第一扇区格式包括每扇区约524字节。在该例子I中,DMA净荷510包括约16个第一扇区,即图5中的“A”等于15。DAM数据净荷510从以第一扇区格式写入的第(i)个第一扇区、即扇区520开始,并且用以第一扇区格式写入的第(i)+15个第一扇区、即扇区530结束。

在该例子I中,第二扇区格式包括512字节扇区。另外,在该例子中,转换后的DMA数据净荷540包括约8.4千字节数据。,因此,在该例子I中,转换后的DMA数据净荷540包括约16.4个连续第二扇区。因此,在该例子I中,转换后的DMA数据净荷540从以第二扇区格式写入的第(j)个扇区、即扇区550开始,并且扩展到第17个连续第二扇区、即第二扇区560中。

使用该例子,并再次参考图5所示的实施例,开始转换后的DMA数据净荷540的第(j)个第二扇区、即扇区550包括两个数据部分,即数据部分552和数据部分554。数据部分552包括“旧”数据,即先前写入到扇区550的数据。数据部分554包括写入到扇区550、作为DMA数据净荷540的开始部分的“新”数据。

类似地,再次参考图5所示的实施例,结束转换后的DMA净荷540的第(j)+16个第二扇区、即扇区560包括两个数据部分,即数据部分562和数据部分564。数据部分562包括写入到扇区560的“新”数据,以及数据部分564包括“旧”数据,即先前写入到扇区550作为DMA数据净荷540的结束部分的数据。

象利用任何数据存储和检索系统那样,要求维持所存储的数据与操作的主机的视图一致。必须将操作的排序维持成以由主机将数据写入数据存储和检索系统的顺序,将数据施加到存储设备。因此,在形成DMA数据净荷中使用的“旧”数据必须考虑通过先前形成的排队操作何种数据将被写入存储设备,以及使用适当的数据(来自先前排队操作的数据或从存储设备取出的数据)来从主机的角度维持数据的一致性。

再次参考图3,在步骤330中,申请人的方法将在步骤320中形成的转换后的DMA数据净荷提供给目标存储设备,诸如存储设备230(图2)。在步骤340中,目标存储设备以第二扇区格式将所转换后的DMA数据净荷写入位于数据存储设备中的存储介质。

在某些实施例中,通过扇区格式转换设备、诸如设备220,接收步骤310的DMA数据净荷,并将其存储在位于那一扇区格式转换设备内的缓冲器、诸如缓冲器222中。在某些实施例中,在步骤330中,基本上与步骤320的扇区转换同步地将所转换后的DMA数据净荷提供到存储设备。在其他实施例中,排队所转换的DAM数据净荷,以便稍后传送到存储设备。

在某些实施例中,使用图4所示的步骤,实现图3的方法。在步骤410,申请人的方法提供DMA数据净荷,诸如例如DMA数据净荷510(图5),它包括多个连续第一扇区。

在某些实施例中,在步骤410中,控制器,诸如控制器210(图2)经由通信链路205从数据超高速缓存134(图1,2)检索第i至第i+A个第一扇区(包括第i+A个第一扇区)。如本领域的技术人员将意识到的,多个第一扇区的每一个都具有在那个数据超高速缓存上的开始和结束逻辑块地址。另外,在步骤410,控制器、诸如控制器210(图2)将多个第一扇区提供给扇区格式转换设备。在某些实施例中,接收扇区格式转换设备将DMA数据净荷存储在缓冲器、诸如例如缓冲器222(图2)中。

在步骤420,申请人的方法将步骤410的DMA数据净荷覆盖在多个连续第二扇区上,如以上结合步骤320(图3)所述的那样,以便形成第k个转换后的DMA数据净荷。在某些实施例中,通过扇区格式转换设备、诸如设备220(图2)执行步骤420。

在步骤430,申请人的方法排队步骤420的第k个转换后的DMA数据净荷。在某些实施例中,步骤430包括在位于扇区格式转换设备、诸如设备220中的队列、诸如队列228中排队第k个转换后的DMA数据净荷。在某些实施例中,通过扇区格式转换设备、诸如设备220执行步骤430。

在步骤440,申请人的方法将在步骤420中形成的第k个转换后的DMA数据净荷从队列、诸如队列228提供到目标数据存储设备、诸如数据存储设备230。在某些实施例中,通过扇区格式转换设备、诸如设备220执行步骤440。

在步骤450,申请人的方法提供和设置第k个Inflight指示符来表示第k个转换后的DMA数据净荷处于正在飞行中(In Flight)。为本申请的目的,“正在飞行中”的DMA数据净荷是提供给还没有接收到写入完成信号的目标数据存储设备的转换后的DMA数据净荷。

在某些实施例中,申请人的方法为提供给数据存储设备的每个转换后的DMA数据净荷创建离散的Inflight指示符。在某些实施例中,申请人的Inflight指示符包括能被打开或关闭的标志。在某些实施例中,这种标志设置在位于扇区格式转换设备中的设备微码中。在某些实施例中,申请人的Inflight指示符包括能设置成“0 ”或“1”的位。在某些实施例中,这一位能设置在位于扇区格式转换设备中的设备微码中。另外,在步骤450,申请人的方法设置第k个Inflight指示符,即与第k个转换后的DMA数据净荷有关的Inflight指示符,以表示第k个转换后的DMA数据净荷为“正在飞行中”。在某些实施例中,通过扇区格式转换设备、诸如设备220执行步骤450。

在某些实施例中,基本上同步地执行步骤440和450。在某些实施例中,步骤440先于步骤450。而在其他实施例中,步骤450先于步骤440。

在步骤460中,目标数据存储设备、诸如数据存储设备230接收第k个转换后的DMA数据净荷,以及将该第k个转换后的DMA数据净荷写入位于其中的数据存储介质、诸如数据存储介质236中。

在步骤470,目标数据存储设备报告第k个转换后的DMA数据净荷已经被写入介质中。该报告能包括本领域的技术人员已知的任何信令方法。例如,目标数据存储驱动器可以通过通信接口连接到发布(issuing)扇区格式转换设备。在某些实施例中,目标数据存储设备向发布扇区格式转换设备提供写入完成信号。另外,在某些实施例中,发布扇区格式转换设备轮询目标数据存储设备以断定第k个转换后的DMA数据净荷的状态。

在步骤480,申请人的扇区格式转换设备从目标数据存储设备接收已经将第k个转换后的DMA数据净荷写入介质的报告。在某些实施例中,步骤470和480基本上同步地进行。

在步骤490,申请人的方法复位第k个Inflight指示符来表示已经将第k个DMA数据净荷写入介质。在某些实施例中,步骤490包括删除第k个Inflight指示符。在其他实施例中,步骤490包括将第k个Inflight位从“1”设置成“0”。在其他实施例中,步骤490包括关闭第k个Inflight指示符标志。

图4的申请人方法同步地执行多个步骤。例如,在步骤420,第一扇区格式的DMA数据净荷正被转换成具有第二扇区格式的DMA数据净荷,同时,在步骤430,排队先前转换后的DMA数据净荷,同时,在步骤440,正在将所转换后的DMA数据净荷提供给一个或多个数据存储设备,同时,在步骤460,通过一个或多个数据存储设备,正在将排队的DMA数据净荷写入一个或多个存储介质,同时,在步骤470,一个或多个数据存储设备正提供写入完成信号。

申请人的将DMA数据净荷从第一扇区格式转换成包括第二扇区的转换后的DMA数据净荷的方法符合SFF规范SFF-8045中的名为“Power Failure Warning”的章节6.4.8.2(在下文中称为“PFW规范,在此引入以供参考)。本领域的技术人员将意识到,SFF委员会是以即时(prompt)的方式为解决盘工业需要而形成的特定组。当在1990成立时,最初目标限制于定义用于盘驱动器的事实上的机械外壳以便它们能装配到膝上型计算机和其他小型产品中。在1992年11月,SFF委员会目标拓宽到包含需要即时工业行为的其他区域。SFF规范在范围上是窄的,以便降低开发时间。在其他需要中,PFW规范批准当写超高速缓存时,数据存储设备必须停止在块边界上向非易失性存储器写入数据。

在某些实施例中,一个或多个申请人的数据存储设备,诸如例如数据存储设备230,包括有时称为“S-ATA”的设备。如本领域的技术人员将意识到的,S-ATA设备采用串行ATA盘接口技术。

S-ATA基于串行信令技术。串行ATA是点对点连接,并且允许多个端口聚集在单个控制器、诸如例如控制器210(图2)中。SATA存储设备不一定支持PFW规范。即使当使用一个或多个S-ATA存储设备时,申请人的方法也是符合PFW规范的。

在由申请人的装置接收PFW信号同时形成转换后的DMA数据净荷和/或处理那些转换后的DMA数据净荷的情况下,申请人的方法变成PFW算法。使用该PFW算法,在接收PFW信号后,申请人的方法启动PFW时间间隔,完成已经转换后的DMA数据净荷的传输,同时尽可能地在PFW时间间隔期间继续将先前转换后的DMA数据净荷发送到数据存储设备。在PFW时间间隔到期时,申请人的方法保存用于在PFW时间间隔到期时仍然在飞行中的每个DMA数据净荷的DMA净荷元数据。

在申请人的装置产生和/或接收PFW信号同时执行图4的方法的情况下,申请人的方法变成申请人的PFW算法。申请人的PFW算法在图6中进行了概述。现在,参考图4和6,在检测PFW信号时,申请人的方法转到步骤610。步骤620包括接收那一PFW信号。

图4示出了申请人的从步骤420转到步骤610的方法。如上所述,申请人的方法可以同步地执行步骤410、420、430、440、450、460、470、480和/或490。如果正执行步骤410、420、430、440、450、460、470、480和/或490的任何一个或多个以及接收PFW信号,则申请人的方法转到步骤610。

在步骤610,申请人的方法设置电源故障告警时间间隔。PFW规范尤其要求在断言PFW信号后,将全部电源提供给一个或多个数据存储设备达至少4毫秒。在申请人的方法的某些实施例中,PFW时间间隔被设置成小于4毫秒。在某些实施例中,申请人的方法将PFW时间间隔设置成约3毫秒。在该PFW时间间隔期间,申请人的方法完成已经转换后的DMA净荷的正在进行中的传输同时向一个或多个数据存储设备提供即可能多的转换后的DMA数据净荷。

在图6所示的实施例中,在步骤620中接收PFW信号前,示出了步骤610。在某些实施例中,可以在接收PFW信号前的任何时间执行步骤610。在某些实施例中,将PFW时间间隔被编码在位于申请人的扇区格式转换设备中的固件中。在某些实施例中,在系统启动期间设置PFW时间间隔。在某些实施例中,PFW时间间隔可由系统所有者/操作者进行调整。

在某些实施例中,基本上与在步骤620中接收PFW信号同步地执行步骤610。在这些实施例中,在接收FPW信号时,申请人的方法立即确定排队的转换后的DMA数据净荷的数量以及确定系统性能,诸如设备适配器带宽。基于这些确定,申请人的方法设置适当的PFW时间间隔。在这些同步实施例中,通过扇区格式转换设备、诸如设备220(图2)执行步骤610。

在步骤620中接收PFW信号后,申请人的方法转到步骤625和步骤630。在步骤630,申请人的方法开始在步骤610中设置的PFW时间间隔。在某些实施例中,由扇区格式转换设备、诸如设备220(图2)执行步骤630。申请人的方法从步骤630转到步骤640。

在步骤625,申请人的方法完成已经转换后的DMA数据净荷的传输。在某些实施例中,由扇区格式转换设备、诸如设备220(图2)执行步骤625。申请人的方法从步骤625转到步骤635,其中,该方法设置用于步骤625的DMA数据净荷的Inflight指示符。在某些实施例中,由扇区格式转换设备、诸如设备220(图2)执行步骤635。申请人的方法从步骤635转到步骤640。

在步骤640,申请人的方法继续将转换后的DMA数据净荷从数据队列、诸如队列228(图2)提供到一个或多个目标数据存储设备、诸如数据存储设备230(图2)。在某些实施例中,步骤640进一步包括当在步骤620中接收PFW信号时确定排队的转换后的DMA数据净荷的数量(P)。在某些实施例中,由扇区格式转换设备、诸如设备220(图2)执行步骤640。

提供下述例子以便向本领域的技术人员进一步示例说明如何构成和使用本发明以及如何识别目前的优选实施例。然而,该例子不视为对仅由附加权利要求限定的本发明的范围的限制。

例子II

现在参考图7,包括第k、第k+1和第k+2个转换后的DMA数据净荷的转换后的DMA数据净荷710、720和730正在飞行中,并且在飞行队列中仍然是未完成的。在时间T0传送第k个转换后的DMA数据净荷。在时间T1传送第k+1个转换后的DMA数据净荷。在时间T2传送第k+2个转换后的DMA数据净荷。

在时间T3,申请人的方法开始向存储设备传送第k+3个转换后的DMA数据净荷,即转换的净荷740。当传送所转换后的DMA数据净荷740时,在完成传输所转换的净荷740前,在时间T4,接收PFW信号。

使用图6的申请人的电源故障告警算法,在步骤625,申请人的方法完成转换后的DMA数据净荷740的传输,以及在步骤635,申请人的方法使转换后的DMA数据净荷740处于正在飞行中的状态。

在申请人的方法正执行步骤625和635时,在步骤640中,申请人的方法同时正在跟踪到一个或多个目标数据存储设备的正在飞行的转换后的DMA数据净荷710、720和730的状态。

再次参考图6,在步骤650,申请人的方法确定PFW时间间隔是否到期。在某些实施例中,由扇区格式转换设备、诸如设备220(图2)执行步骤650。如果申请人的方法在步骤650确定PFW时间间隔尚未到期,那么该方法从步骤650转到步骤640并继续。

或者,如果申请人的方法在步骤650确定PFW时间间隔已经到期,那么该方法从步骤650转到步骤660,其中该方法保存在PFW时间间隔到期时仍然在飞行中的每个转换后的DMA净荷。

在某些实施例中,由扇区格式转换设备、诸如设备220(图2)执行步骤660。在某些实施例中,将在步骤660存储的飞行中的转换后的DMA数据净荷写入位于扇区格式转换设备、诸如设备220中的非易失性存储器、诸如存储器226。在某些实施例中,将在步骤660中存储的飞行的转换后的DMA数据净荷写入位于设备控制器、诸如设备控制器210中的非易失性存储器、诸如存储器214。

在步骤670,使市电恢复到申请人的信息存储和检索系统。关于“市电”,申请人是指由申请人的信息存储和检索系统外的商业和/或本发电机生产工厂连续提供的电源。

在步骤680,申请人的方法检索在步骤660中保存的飞行中的转换后的DMA数据净荷。在某些实施例中,由与数据超高速缓存、诸如数据超高速缓存134互连以及与一个或多个扇区格式转换设备、诸如设备220互连的控制器、诸如控制器210执行步骤680。在其他实施例中,由一个或多个扇区格式转换设备执行步骤680。

申请人的方法从步骤680转到步骤690,其中,该方法将在步骤680中检索的转换后的DMA数据净荷提供给数据存储设备。申请人的方法从步骤690转到步骤430,并且如上所述那样继续。

在图3、4和/或6中所述的申请人的方法的实施例可以单独地实现。此外,在某些实施例中,可以组合、删除或重排序在图3、4和/或6所述的各个步骤。

在某些实施例中,申请人的发明包括驻留在存储器、诸如例如存储器214(图2)、存储器226(图2)、存储器246(图2)、存储器266(图2)和/或存储器286(图2)中的指令,其中,分别由处理器212(图2)、224(图2)、244(图2)、264(图2)和284(图2)执行那些指令,以便执行在图3中所述的步骤310、320、330和340、在图4中所述的步骤410、420、430、440、450、460、470、480和/或490、和/或在图6中所述的步骤610、620、630、640、650、660、670、680和/或690。

在其他实施例中,申请人的发明包括驻留在任何其他计算机程序产品中的指令,其中由系统100外部或内部的计算机执行那些指令,以便执行在图3中所述的步骤310、320、330和340、在图4中所述的步骤410、420、430、440、450、460、470、480和/或490、和/或在图6中所述的步骤610、620、630、640、650、660、670、680和/或690。在任一情况下,可以将指令编码在信息存储介质、包括例如磁性信息存储介质、光学信息存储介质、电子信息存储介质等中。关于“电子存储介质”,申请人是指例如诸如PROM、EPROM、EEPROM、闪速PROM、小型闪存、智能介质等的设备。

尽管已经详细地示例说明了本发明的优选实施例,但是显然在不背离如在下述权利要求中阐述的本发明的范围的情况下,本领域的技术人员会想到对那些实施例的改进和修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献