用于数据拷贝避免的方法和装置的制造方法

文档序号:8415663阅读:255来源:国知局
用于数据拷贝避免的方法和装置的制造方法
【技术领域】
[0001]本发明总体上涉及存储管理,更具体地,涉及用于跨存储节点的数据拷贝避免的方法和装置。
【背景技术】
[0002]为了避免存储阵列的不同层次之间的不必要的内部数据拷贝,已经提出了数据拷贝避免(Data Copy Avoidance, DCA)协议。根据DCA协议,当主机或分层结构中的驱动器发出数据读取或者数据写入命令时,请求将直接被向下传递至设备堆栈(device stack)而无需经过任何缓冲区。当数据访问命令达到高速缓存(cache)层之后,高速缓存层提供相应的缓冲区(或称为高速缓冲页面),数据可以在访问命令发起方与高速缓存之间直接传送,而无需进行额外的数据拷贝。DCA协议有助于提高数据存取的效率。
[0003]然而,目前的DCA方案仅仅适用于单个存储节点(storage node),而无法跨不同的物理存储节点有效地实施。对于由两个或者更多的物理存储节点组成的存储系统而言,在特定的条件下,需要将数据输出/输出(I/O)操作从一个存储节点重定向到另一个存储节点。例如,当向主机展现的逻辑单元号(LUN)是虚拟LUN时,可能需要将I/O操作从本地存储节点重定向至另一分离的存储节点。在已知的DCA方案中,以数据写入作为示例,数据将首先被传输到发起方存储节点的内部缓冲区中。数据继而从该内部缓冲区被传送到目的地存储节点中的镜像高速缓存(mirrored cache)中。此时,如已知的,DCA协议要求目的地存储节点的镜像高速缓存将这些数据再次镜像回发起方存储节点的镜像高速缓存。由此,在一次数据写入操作中,数据要在不同存储节点之间被传输两次,这浪费了资源并且降低了操作效率。类似地,目前基于DCA的跨存储节点数据读取同样受制于上述问题。
[0004]因此,本领域中需要一种更为有效的跨存储节点的数据拷贝避免的技术方案。

【发明内容】

[0005]为了解决上述问题,本发明提出一种更为有效的跨存储节点的数据拷贝避免的技术方案。
[0006]在本发明的一个方面,提供一种用于跨存储节点的数据拷贝避免的方法。所述方法包括:从第一存储节点向第二存储节点发送数据访问请求,所述数据访问请求指示与所述第二存储节点相关联的地址;从所述第二存储节点接收所述第一存储节点处的第一镜像高速缓存中的第一存储空间的地址,所述第一存储空间与所述第二存储节点处的第二镜像高速缓存中的第二存储空间相关联地被分配,所述第二存储空间由所述第二存储节点响应于所述数据访问请求而分配;以及基于接收到的所述地址,使用所述第一存储空间来执行所述数据访问。
[0007]在本发明的另一方面,提供一种用于跨存储节点的数据拷贝避免的方法。所述方法包括:在第二存储节点处接收来自第一存储节点的数据访问请求,所述数据访问请求指示与所述第二存储节点相关联的地址;基于所述数据访问请求,在所述第二存储节点处的第二镜像高速缓存中分配第二存储空间;以及向所述第一存储节点发送所述第一存储节点处的第一镜像高速缓存中的第一存储空间的地址,所述第一存储空间与所述第二存储空间相关联地被分配。
[0008]在本发明的又一方面,提供一种用于跨存储节点的数据拷贝避免的装置。所述装置包括:请求发送单元,被配置为从第一存储节点向第二存储节点发送数据访问请求,所述数据访问请求指示与所述第二存储节点相关联的地址;地址接收单元,被配置为从所述第二存储节点接收所述第一存储节点处的第一镜像高速缓存中的第一存储空间的地址,所述第一存储空间与所述第二存储节点处的第二镜像高速缓存中的第二存储空间相关联地被分配,所述第二存储空间由所述第二存储节点响应于所述数据访问请求而分配;以及数据访问单元,被配置为基于接收到的所述地址,使用所述第一存储空间来执行所述数据访问。
[0009]在本发明的再一方面,提供一种用于跨存储节点的数据拷贝避免的装置。所述装置包括:请求接收单元,被配置为在第二存储节点处接收来自第一存储节点的数据访问请求,所述数据访问请求指示与所述第二存储节点相关联的地址;高速缓存分配单元,被配置为基于所述数据访问请求,在所述第二存储节点处的第二镜像高速缓存中分配第二存储空间;以及地址发送单元,被配置为向所述第一存储节点发送所述第一存储节点处的第一镜像高速缓存中的第一存储空间的地址,所述第一存储空间与所述第二存储空间相关联地被分配。
[0010]通过下文描述将会理解,根据本发明的实施例,目的地存储节点发送给第一存储节点的不再是第二镜像高速缓存中的第二存储空间的地址。相反,第二存储节点将对应于第二存储空间的、第一高速缓存中的第一存储空间的地址发送给第一高速缓存。DCA协议确保这是可行的。由此,数据访问可以直接关于第一存储节点上的第一高速缓存来完成。与现有技术相比,本发明的实施例显著降低了跨不同存储节点的数据通信,消除了潜在的系统性能瓶颈,从而提高了数据访问的性能。本发明的实施例所能实现的其他益处将通过下文描述而清楚。
【附图说明】
[0011]通过参考附图阅读下文的详细描述,本发明实施例的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例而非限制性的方式示出了本发明的若干实施例,其中:
[0012]图1示出了两个示例性的层级式存储节点的框图;
[0013]图2示出了根据本发明的示例性实施例的用于跨存储节点的数据拷贝避免的方法的流程图;
[0014]图3示出了根据本发明的示例性实施例的用于跨存储节点的数据拷贝避免的装置的框图;
[0015]图4示出了根据本发明的示例性实施例的用于跨存储节点的数据拷贝避免的装置的框图;以及
[0016]图5示出了适于实现本发明的示例实施例的计算机系统的框图。
[0017]在各个附图中,相同或对应的标号表不相同或对应的部分。
【具体实施方式】
[0018]下面将参考附图中示出的若干示例实施例来描述本发明的原理。应当理解,描述这些实施例仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。
[0019]图1示出了两个示例性的层级式存储节点,即第一存储节点101和第二存储节点102。如图所示,第一存储节点101包括第一 I/O重定向器(I/O redirector) 103、第一映射LUN层104和第一镜像高速缓存105。注意,第一存储节点101还可以包括任何其他适当的组件,例如小型端口(miniport)、底层的独立磁盘冗余阵列(RAID)等等。为了避免混淆,图中没有示出这些组件。类似地,第二存储节点102包括第二 I/O重定向器106、第二映射LUN层107和第二镜像高速缓存108。
[0020]首先参考图1来描述传统的DCA方案。作为示例,假设第一存储节点101接收到的数据访问指令是数据写入指令。例如,第一存储节点101可以经由适当的端口从主机(host)接收数据写入命令。第一存储节点101确定与该数据写入命令相关联的地址(例如,虚拟LUN)是由第二存储节点102拥有。此时,第一存储节点101的第一 I/O重定向器103将该数据写入请求发送给第二存储节点102的第二 I/O重定向器106。
[0021]基于该数据访问请求,第二存储节点102处的第二映射LUN层107确定目标地址(例如,目标虚拟LUN),并且将其映射为底层硬件设备(例如,RAID)所提供的LUN。此后,根据数据写入请求,在第二存储节点102处的第二镜像高速缓存108中分配适当的存储空间,例如一组高速缓存页面。所分配存储空间的地址从第二镜像高速缓存108被逐级向上传递给第二映射LUN层107和第二 I/O重定向器106。第二存储节点102的第二 I/O重定向器106将所分配存储空间的地址返回给第一存储节点101的第一 I/O重定向器103。
[0022]第一 I/O重定向器103通知上层发起数据传输,并且数据被写入第一 I/O重定向器103处的缓冲区中。根据接收到的地址,
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1