缩短pprc写入操作的响应时间的制作方法

文档序号:7609045阅读:129来源:国知局
专利名称:缩短pprc写入操作的响应时间的制作方法
技术领域
一般而言,本发明涉及对等远程复制(PPRC)存储系统,具体来说,涉及缩小完成主存储控制单元和辅助存储控制单元之间的写入操作所需的往返次数。
背景技术
数据完整性是大型计算机数据系统中的关键因素。因此,已经开发了备份数据存储系统,以防止在发生各种故障的情况下丢失数据。一个这样的备份系统叫做“对等远程复制”(PPRC)。如图1所示,在PPRC系统100中,由主机设备110生成的数据存储在主存储器单元120中。还通过诸如光纤通道网络130之类的网络传输数据的副本,并将其存储在辅助存储器单元140上。由于网络互连的灵活性,因此,主要和辅助单元120和140可以在物理上远离主机110。此外,为保证数据安全性,主要和辅助单元120和140物理上彼此之间相距较远,从而降低一次灾难同时损害主要和辅助单元120和140两者的可能性。
主要和辅助单元120和140之间的间隔距离取决于许多因素。一个重要因素是每一个I/O操作(如写入操作)的总响应时间;即,数据块从主存储器单元120传输到辅助存储器单元140所需的时间量,包括所有信号交换(handshaking)。通常,响应时间越长,在实践中两个单元的间隔距离越短。此外,在判断响应时间时的一个重要因素是,完成数据传输必须进行的命令和数据往返次数。正如大家所理解的,需要的往返次数越多,有效的传输速率就越慢。
当在写入操作之前主要和辅助单元120和140交换“准备好传输”信号时,发生了一次这样的往返。主单元120(也称为“启动器”)向辅助单元140(也称为“目标”)传输一条表示数据已作好传输准备的消息。在主单元120从辅助单元140接收到适当的确认之前,数据传输还不能开始。除其他项目之外,确认指出辅助单元已经准备好所需要的缓冲区并准备好接收数据。这样的准备可能需要某些延迟,信号交换本身也会产生某些延迟。如此,这样的传输需要两次往返(传输准备好交换和带有随后的接收确认的数据传输),并产生对应的延迟。
当在传输数据本身之前额外的控制信息从主单元120传输到辅助单元140时,发生了另一次往返。这样的额外的控制信息可能不能在诸如命令描述符块(CDB)之类的常规写入命令范围内。如此,需要另一次往返来单独地传输控制信息。
其他因素可能需要更多的往返。在常规光纤通道网络上传输数据可能需要三次到四次往返,如此,主存储器单元120和辅助存储器单元140之间的距离可能只限于大约100公里。
因此,为了增大主要和辅助单元之间的距离,仍需要缩短数据传输的响应时间。

发明内容
本发明提供了提高PPRC环境中的数据传输的效率的方法、系统和计算机程序产品。可以实现所有三个功能,其中每一个功能都可以减少进行信号交换、数据和控制信息交换所需的往返次数。第一个功能包括禁用通常在主存储控制器和辅助存储控制器之间发生的“准备好传输”确认。禁用这样的确认省去了一次往返。
第二个功能包括预先分配辅助存储控制器中的有效负载和数据缓冲区。预先分配缓冲区可使得缓冲区在接收到有效负载信息和数据块时立即可用,从而缩短了响应时间。第三个功能包括用扩展命令描述符块(CDB)中的写入命令封装写入控制信息。有了这样的步骤,就不必单独进行写入控制信息的传输。CDB与数据块一起,从主存储控制器传输到辅助存储控制器,并放在相应的预先分配的缓冲区中。
数据可以通过管道输送到辅助单元;即,数据块可以从主要单元传输到辅助单元,而不必等待辅助单元发出已经接收到前面的数据块的确认。
通过减少???数据传输的响应时间,也可以增大主要和辅助存储控制器之间的间隔距离。


图1是示例PPRC数据存储系统的方框图;图2是可以在其中实现本发明的数据存储系统的方框图;图3是说明本发明的方法的流程图;图4显示了示例命令描述符块;图5A显示了示例扩展命令描述符块;以及图5B显示了示例数据块。
具体实施例方式
图2是可以在其中实现本发明的数据存储系统200的方框图。系统200可以是PPRC系统,在该系统中,主机设备210向主存储控制器220传输数据,以便存储在存储设备(如磁盘驱动器阵列)228上。另外,主存储控制器220通过网络230将数据的副本传输到远程辅助存储控制器240上,以便存储在存储设备248中。主存储控制器220进一步包括处理器222,用于执行涉及将数据的副本传输到辅助存储控制器240的指令。辅助存储控制器还包括存储器,可以将该存储器分配给有效负载缓冲区244,以保存传入的命令和控制信息,并分配给数据缓冲区246,以保存传入的数据。辅助存储控制器240中的处理器242执行涉及将存储空间分配给缓冲区以及接收并最终存储数据的指令。
请参看图3的流程图,在操作中,在登录过程中(步骤300),主要和辅助存储控制器220和240中的处理器222和242可选地禁用“准备好传输”确认要求(步骤302)并为此交换确认(步骤304)。如果执行此步骤,就消除了两个单元之间的一次信号交换的往返。然后,指示辅助控制器240将其存储器的一部分预先分配给有效负载缓冲区244(步骤306)。每一个有效负载缓冲区足够大,以保存包含写入控制信息的PPRC光纤通道协议(FCP)命令以及写入命令本身。正如下文所描述的,两个数据结构可以“封装”在扩展命令描述符块(CDB)以消除另一次往返,该往返没有专用于实际数据向辅助存储控制器240的传输。还指示辅助控制器240将一部分存储器预先分配给数据缓冲区246(步骤308),每一个缓冲区都足够大,以保存PPRC写入数据块。预先分配的每一种类型的缓冲区的数量(即,在数据块实际被控制器接收之前留出的)不是关键的,而是可以通过针对成本和可用存储器(导致预先分配较少的缓冲区)平衡性能(导致预先分配更多的缓冲区)确定。
主要和辅助控制器220和240还确定可以在一次写入操作中传输的数据的大小(步骤310)。这里,要传输的数据的单位将简称为“块”。
当主存储控制器220发出PPRC写入命令以开始写入操作(步骤312)时,主存储控制器220使用扩展CDB 500(图5A)(步骤314)以包含要传输到辅助存储控制器240的写入控制指令502以及写入命令504。常规CDB 400(图4)被用来只传输写入命令404,其大小大致为16个字节。为了缩短写入操作的响应时间并提高数据传输的效率,使用其大小大致为80到96字节的扩展CDB 500。扩展CDB 500位于由主存储控制器220传输到辅助存储控制器240的FCP命令内部(步骤316)。随后,在没有从辅助存储控制器240接收到任何“准备好”信号的情况下,主存储控制器220将数据块510(图5B)传输到辅助存储控制器240(步骤318)。
在从主存储控制器220接收到FCP命令时(步骤320),辅助存储控制器240的处理器242指示将FCP命令放置在其中一个有效负载缓冲区244(步骤322)。接收数据块510(步骤324),并放在其中一个数据缓冲区246(步骤326)。然后,由在辅助存储控制器240内部执行的PPRC应用程序处理有效负载缓冲区244和数据缓冲区246的内容(步骤328)。数据块510最后存储在存储设备248中(步骤330),从而完成写入操作。当完成写入操作之后,辅助存储控制器240将状态信号传输回主存储控制器220(步骤332)并关闭交换(步骤334)。然后,辅助存储控制器240释放有效负载和数据缓冲区(步骤336),以供以后重复使用。当主存储控制器220接收到状态信号(步骤338)时,它也关闭交换(步骤340)。
由于本发明支持数据的“管道传送”,在主控制器220接收到状态信号之前,主控制器220可以准备第二FCP命令,写入控制信息和写入命令被封装在第二扩展CDB中(步骤342)。然后,第二FCP命令和关联的数据块可以传输到辅助控制器340(步骤344)。在由辅助控制器240接收到时(步骤346),第二FCP命令被放置在有效负载缓冲区(步骤348),第二数据块被放置在数据缓冲区中(步骤350)。其中放置了第二FCP命令的缓冲区可以是第二有效负载缓冲区(不同于第一有效负载缓冲区),也可以是第一有效负载缓冲区(如果第一有效负载缓冲区已经被释放)。此外,如果还没有释放第一有效负载缓冲区,也没有其他有效负载缓冲区可用(即,没有预先分配),处理器242可以分配附加存储器空间作为附加有效负载缓冲区,可用于接收第二FCP命令。同样,将第二数据块接收到数据缓冲区中,该数据缓冲区可以是第一数据缓冲区(在释放之后),另一个预先分配的数据缓冲区或新分配的数据缓冲区。
三个步骤中的每一个步骤,禁用“准备好传输”确认,预先分配缓冲区,以及将写入控制信息与写入命令一起封装在扩展CDB,都减少了数据传输所需的往返次数。同时,往返所需的次数可以减少到一次,从而大大地缩短写入操作的响应时间,从而提高总吞吐量和/或提高主要和辅助存储控制器220和240可以分隔的可能的距离。事实上,间隔距离可以大致增大到400km。
通过这里所说明的实施例,完全实现了本发明的目标。本领域普通技术人员将理解,在不背离本发明的基本功能的情况下,可以通过不同的实施例来实现本发明的各个方面。特定实施例是说明性的,而不对如下面的权利要求所说明的本发明的范围作出限制。
权利要求
1.一种用于在PPRC环境中传输数据的方法,包括在辅助存储控制单元中预先分配至少第一有效负载缓冲区;在辅助存储控制单元中预先分配至少第一数据缓冲区;发出将第一数据块从主存储控制单元传输到辅助存储控制单元的第一写入命令;将写入控制信息与光纤通道协议(FCP)命令一起封装在第一扩展命令描述符块(CDB)内;将第一扩展CDB从主存储控制单元传输到辅助存储控制单元;以及将第一数据块从主存储控制单元传输到辅助存储控制单元。
2.根据权利要求1所述的方法,进一步包括在发出第一写入命令之前禁用“准备好传输”命令。
3.根据前述任何一项权利要求中的方法,进一步包括接收第一有效负载缓冲区中的第一扩展CDB;接收第一数据缓冲区中的第一数据块;完成第一写入操作;以及将第一状态指示符从辅助存储控制单元传输到主存储控制单元,确认第一写入操作完成。
4.根据前述任何一项权利要求中的方法,进一步包括发出将第二数据块从主存储控制单元传输到辅助存储控制单元的第二写入命令;将写入控制信息与FCP命令一起封装在第二扩展CDB内;将第二扩展CDB从主存储控制单元传输到辅助存储控制单元;以及将第二数据块从主存储控制单元传输到辅助存储控制单元。
5.根据权利要求4所述的方法,进一步包括接收第二有效负载缓冲区中的第二扩展CDB;接收第二数据缓冲区中的第二数据块;完成第二写入操作;以及将第二状态指示符从辅助存储控制单元传输到主存储控制单元,确认第二写入操作完成。
6.根据权利要求5所述的方法,其中,第二有效负载缓冲区和第二数据缓冲区是预先分配的。
7.根据权利要求5所述的方法,其中,在由辅助存储控制单元接收第一扩展CDB和第一数据块之后,分配第二有效负载缓冲区和第二数据缓冲区。
8.根据权利要求4所述的方法,其中,在由主存储控制单元接收第一状态指示符之前,传输第二扩展CDB的步骤和传输第二数据块的步骤开始。
9.根据前述任何一项权利要求中的方法,进一步包括将第一数据块传输到存储驱动器中;以及释放第一有效负载缓冲区和第一数据缓冲区,从而随后的扩展CDB和数据块可分别在第一有效负载缓冲区和第一数据缓冲区中接收。
10.一种对等远程复制存储系统,包括主存储控制单元;辅助存储控制单元;辅助存储控制单元中的第一预先分配的有效负载缓冲区;辅助存储控制单元中的第一预先分配的数据缓冲区;用于发出将第一数据块从主存储控制单元传输到辅助存储控制单元的第一写入命令的装置;用于将写入控制信息与光纤通道协议(FCP)命令一起封装在第一扩展命令描述符块(CDB)内的装置;用于将第一扩展CDB从主存储控制单元传输到辅助存储控制单元的装置;以及用于将第一数据块从主存储控制单元传输到辅助存储控制单元的装置。
11.根据权利要求10所述的系统,进一步包括用于在发出第一写入命令之前禁用“准备好传输”命令的装置。
12.根据权利要求10到11中的任何一个权利要求所述的系统,进一步包括用于接收第一有效负载缓冲区中的第一扩展CDB的装置;用于接收第一数据缓冲区中的第一数据块的装置;用于完成第一写入操作的装置;以及用于将第一状态指示符从辅助存储控制单元传输到主存储控制单元以确认第一写入操作完成的装置。
13.根据权利要求10到12中的任何一个权利要求所述的系统,其中用于发出第一写入命令的装置包括用于发出将第二数据块从主存储控制单元传输到辅助存储控制单元的第二写入命令的装置;用于封装写入控制信息的装置包括用于将写入控制信息与FCP命令一起封装在第二扩展CDB内的装置;用于传输第一扩展CDB的装置包括用于将第二扩展CDB从主存储控制单元传输到辅助存储控制单元的装置;以及用于传输第一数据块的装置包括将第二数据块从主存储控制单元传输到辅助存储控制单元的装置。
14.根据权利要求13所述的系统,进一步包括用于接收第二扩展CDB的第二有效负载缓冲区;以及用于接收第二数据块的第二数据缓冲区。
15.根据权利要求14所述的系统,其中用于完成第一写入操作的装置包括用于完成第二写入操作的装置;以及用于传输第二状态指示符的装置包括用于将第二状态指示符从辅助存储控制单元传输到主存储控制单元以确认第二写入操作完成的装置。
16.根据权利要求15所述的系统,其中,第二有效负载缓冲区和第二数据缓冲区是预先分配的。
17.根据权利要求15所述的系统,其中,在由辅助存储控制单元接收第一扩展CDB和第一数据块之后,分配第二有效负载缓冲区和第二数据缓冲区。
18.根据权利要求13到17中的任何一个权利要求所述的系统,其中,在由主存储控制单元接收第一状态指示符之前,传输第二扩展CDB的步骤和传输第二数据块的步骤开始。
19.一种对等远程复制主存储控制单元,包括用于指示在辅助存储控制单元中预先分配第一有效负载缓冲区的装置;用于指示在辅助存储控制单元中预先分配第一数据缓冲区的装置;用于发出将第一数据块传输到辅助存储控制单元的第一写入命令的装置;用于将写入控制信息与光纤通道协议(FCP)命令一起封装在第一扩展命令描述符块(CDB)内的装置;用于将第一扩展CDB传输到第一有效负载缓冲区的装置;以及用于将第一数据块传输到第一数据缓冲区的装置。
20.根据权利要求19所述的主存储控制单元,进一步包括用于在发出第一写入命令之前禁用“准备好传输”命令的装置。
21.根据权利要求19到20中的任何一个权利要求所述的主存储控制单元,进一步包括用于从辅助存储控制单元接收第一状态指示符以确认第一写入操作完成的装置。
22.根据权利要求19到21中的任何一个权利要求所述的主存储控制单元,其中用于发出第一写入命令的装置包括用于发出将第二数据块传输到辅助存储控制单元的第二写入命令的装置;用于封装写入控制信息的装置包括用于将写入控制信息与FCP命令一起封装在第二扩展CDB内的装置;用于传输第一扩展CDB的装置包括用于将第二扩展CDB传输到辅助存储控制单元的装置;以及用于传输第一数据块的装置包括将第二数据块传输到辅助存储控制单元的装置。
23.根据权利要求22所述的主存储控制单元,其中用于完成第一写入操作的装置包括用于完成第二写入操作的装置;以及用于传输第二状态指示符的装置包括用于将第二状态指示符从辅助存储控制单元传输到主存储控制单元以确认第二写入操作的完成的装置。
24.根据权利要求23所述的主存储控制单元,其中,第二有效负载缓冲区和第二数据缓冲区是预先分配的。
25.根据权利要求15所述的主存储控制单元,其中,在由辅助存储控制单元接收第一扩展CDB和第一数据块之后,分配第二有效负载缓冲区和第二数据缓冲区。
26.根据权利要求22到25中的任何一个权利要求所述的主存储控制单元,其中,在由主存储控制单元接收第一状态指示符之前,传输第二扩展CDB的步骤和传输第二数据块的步骤开始。
27.一种与可编程计算机一起使用的计算机可读取的介质的计算机程序产品,所述计算机程序产品中包含用于在PPRC环境中传输数据的计算机可读的代码,所述计算机可读的代码包括执行下列操作的指令在辅助存储控制单元中预先分配至少第一有效负载缓冲区;在辅助存储控制单元中预先分配至少第一数据缓冲区;发出将第一数据块从主存储控制单元传输到辅助存储控制单元的第一写入命令;将写入控制信息与光纤通道协议(FCP)命令一起封装在第一扩展命令描述符块(CDB)内;将第一扩展CDB从主存储控制单元传输到辅助存储控制单元;以及将第一数据块从主存储控制单元传输到辅助存储控制单元。
28.根据权利要求27所述的计算机程序产品,进一步包括用于在发出第一写入命令之前禁用“准备好传输”命令的指令。
29.根据权利要求27到28中的任何一个权利要求的计算机程序产品,进一步包括用于执行下列操作的指令接收第一有效负载缓冲区中的第一扩展CDB;接收第一数据缓冲区中的第一数据块;完成第一写入操作;以及将第一状态指示符从辅助存储控制单元传输到主存储控制单元,确认第一写入操作完成。
30.根据权利要求27到29中的任何一个权利要求的计算机程序产品,进一步包括用于执行下列操作的指令发出将第二数据块从主存储控制单元传输到辅助存储控制单元的第二写入命令;将写入控制信息与FCP命令一起封装在第二扩展CDB内;将第二扩展CDB从主存储控制单元传输到辅助存储控制单元;以及将第二数据块从主存储控制单元传输到辅助存储控制单元。
31.根据权利要求30所述的计算机程序产品,进一步包括用于执行下列操作的指令接收第二有效负载缓冲区中的第二扩展CDB;接收第二数据缓冲区中的第二数据块;完成第二写入操作;以及将第二状态指示符从辅助存储控制单元传输到主存储控制单元,确认第二写入操作完成。
32.根据权利要求31所述的计算机程序产品,其中,第二有效负载缓冲区和第二数据缓冲区是预先分配的。
33.根据权利要求31所述的计算机程序产品,其中,在由辅助存储控制单元接收第一扩展CDB和第一数据块之后,分配第二有效负载缓冲区和第二数据缓冲区。
34.根据权利要求30到33中的任何一个权利要求所述的计算机程序产品,其中,在由主存储控制单元接收第一状态指示符之前,传输第二扩展CDB的步骤和传输第二数据块的步骤开始。
35.根据权利要求27到34中的任何一个权利要求的计算机程序产品,进一步包括用于执行下列操作的指令将第一数据块传输到存储驱动器中;以及释放第一有效负载缓冲区和第一数据缓冲区,从而随后的扩展CDB和数据块可分别在第一有效负载缓冲区和第一数据缓冲区中接收。
全文摘要
提供了提高PPRC环境中的数据传输的效率的方法、系统和计算机程序产品。可以实现所有三个功能,其中每一个功能都可以减少进行信号交换、数据和控制信息交换所需的往返次数。第一个功能包括禁用通常在主存储控制器和辅助存储控制器之间发生的“准备好传输”确认。第二个功能包括预先分配辅助存储控制器中的有效负载和数据缓冲区。第三个功能包括用扩展命令描述符块(CDB)中的写入命令封装写入控制信息。有了这样的步骤,就不必单独进行写入控制信息的传输。CDB与数据块一起,从主存储控制器传输到辅助存储控制器,并放在相应的预先分配的缓冲区中。数据也可以通过管道传输到辅助存储单元中。通过缩短数据传输的响应时间,也可以增大主要和辅助存储控制器之间的间隔距离。
文档编号H04L12/56GK1882908SQ200480034248
公开日2006年12月20日 申请日期2004年11月4日 优先权日2003年11月20日
发明者程建群, 梨明玉, 马修·J.·卡洛斯, 冯颂民 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1