用于在双向同步镜像环境中进行本地锁定的方法和计算机系统的制作方法

文档序号:8395677阅读:411来源:国知局
用于在双向同步镜像环境中进行本地锁定的方法和计算机系统的制作方法
【技术领域】
[0001 ] 本发明的实施例涉及双向同步镜像环境中的本地锁定。
【背景技术】
[0002]计算系统经常包括一个或多个用于处理数据和运行应用程序的主机计算机(主机),用于存储数据的直接访问存储设备(DASD),以及用于对主机和DASD之间的数据传输进行控制的存储控制器。也被称作控制单元或存储导向器的存储控制器管理针对由各种类型的媒体(例如,也被称作直接访问存储设备(DASD)的硬盘驱动器、固态磁盘、闪存等)所组成的存储空间的访问。主机可以通过存储控制器向存储空间传输输入/输出(I/O)请求。
[0003]写入可以更新数据、写入新的数据或者再次写入相同数据。为了帮助数据写入的恢复,可以在远程位置提供数据的拷贝。这样的拷贝也可以被称作双重拷贝或影子拷贝。
[0004]远程镜像系统提供了用于对数据进行镜像以便在系统故障之后促成恢复的技术。这样的数据影子(shadowing)系统还能够出于诸如在远程地点进行本地访问之类的非恢复目的而提供另外的远程拷贝。
[0005]在远程镜像系统中,数据被维护在卷对(volume pair)中。卷对包括主存储设备中的卷以及次存储设备中相对应的卷,该次存储设备包括主卷中所保存的数据的拷贝。
[0006]单向同步镜像技术使得目标卷的写入被无效以确保目标卷与源卷具有相同的数据。允许两个方向的同步镜像意味着源卷和目标卷二者都支持在该卷发起写入。也就是说,两个卷都将是源卷和目标卷二者。因此,两个卷继续成为彼此的镜像。
[0007]应用程序可能尝试同时在两个卷上的在相同位置进行写入。这种情况被称作“冲关”。
[0008]随着对自身进行协调以自行划分卷而防止冲突和/或在内部对写入拒绝进行处理的更新应用的出现,冲突的可能性更小,并且其结果对于被编码为在发生冲突时处理并重新驱动写入的那些应用来说并不太严重。

【发明内容】

[0009]提供了一种用于在双向同步镜像环境中进行本地锁定的计算机程序产品、系统和方法。响应于接收到针对第一卷上的数据块的写操作,获得第二卷上相对应的数据块上的锁以获得对第二卷上的该数据块的独占访问。响应于确定活跃写指示符被设置为指示在第二卷上没有活跃写入,将针对该相对应的数据块的更新数据写入到第二卷的高速缓存,该锁被释放以去除对第二卷上相对应的数据块的独占访问,并且向第一卷发送传输完成消肩、O
【附图说明】
[0010]在附图中,同样的附图标记通篇表示相对应的部分。
[0011]图1在框图中图示了依据本发明某些实施例的计算环境。
[0012]图2图示了依据本发明某些实施例的存储块。
[0013]图3图示了依据某些实施例的其中存储A和存储B同时进行更新的示例。
[0014]图4A、4B和4C在流程图中图示了依据某些实施例的用于检测冲突并且通知向应用程序通知该冲突的操作。
[0015]图5在框图中图示了依据某些实施例的可以使用的计算机架构。
【具体实施方式】
[0016]已经出于说明的目的给出了本发明各种实施例的描述,但是其并非意在是穷举的或者被局限于所公开的实施例。许多修改和变化对于本领域技术人员将是明显的而并不背离所描述实施例的范围和精神。这里所使用的术语被选择以对实施例的原理、实际应用或优于市场中找到的现有技术的技术改进而进行最佳地解释,并且使得本领域技术人员能够理解这里所公开的实施例。
[0017]实施例提供了向应用程序指示相同区域在其它卷上也同时正在被写入的有效方式。当应用程序得到通知时,该应用程序能够以各种方式(例如,拒绝一个或两个写入)对该通知作出响应。
[0018]图1以框图图示了依据本发明某些实施例的计算环境。控制单元100为一个或多个主机计算机114提供对存储A 112和存储B 154的访问。在某些实施例中,存储A 112和存储B 154处于双向同步镜像环境中。因此,存储B 154维护存储A 112的所有卷或卷的子集的备份拷贝,并且存储A 112维护存储B 154的所有卷或卷的子集的备份拷贝。
[0019]主机计算机114均可以执行处于操作系统(未示出)的控制之下并且在中央处理单元(CPU)(未示出)上执行的一个或多个应用程序115。控制单元100(例如,通过网络)从一个或多个主机计算机114处的一个或多个应用程序115接收指向存储A 112和/或存储B 154的输入/输出(I/O)请求。存储A 112被配置为具有卷(例如,逻辑单元编号、逻辑设备等)112&汕,...111,其中111表示可能有任意数量的卷。存储B 154被配置为具有卷(例如,逻辑单元编号、逻辑设备等)154a,b,...n,其中η表示可能有任意数量的卷。
[0020]图2图示了依据本发明某些实施例的存储块。存储A 112和存储B 154均可以被划分为包含数据块的存储块250 (图2),并且存储快250进一步被划分为包含数据子块的存储子块(250a-250p,其中P表示可以有任意数量的子块)。在某些实施例中,数据块是轨道的内容,而数据子块是轨道中的扇区的内容。卷可以是存储的任意逻辑或物理元件。在某些实施例中,数据块是轨道的内容,而数据子块是轨道中的扇区的内容。
[0021]控制单元100包括高速缓存116,其中维护有向存储A 112进行写入之前对存储A112中的数据块的更新(即,数据块被离台)。控制单元100包括高速缓存140,其中维护有向存储B 154进行写入之前的针对存储B 154中的数据块的更新(即,数据块被离台)。系统存储器101可以处于与高速缓存116、140分离的存储器设备中或者与高速缓存116和/或140共享存储器设备。
[0022]此外,控制单元100包括非易失性高速缓存器118。非易失性高速缓存118例如可以是电池备份的易失性存储器以维护数据更新的非易失性拷贝和其它信息。
[0023]控制单元100包括用于读取数据的读处理102和用于写入数据的写处理104处于其中的系统存储器101。系统存储器101包括用于存储A 112的活跃写指示符A 160以及用于存储B的活跃写指示符B 170。
[0024]系统存储器101还可以包括复制处理106。在某些实施例中,复制处理106执行时间点复制。在某些实施例中,该复制处理执行瞬时虚拟复制。
[0025]时间点复制涉及在物理上将所有数据从源卷复制到目标卷而使得目标卷具有如时间点的数据的拷贝。时间点复制也可以通过在逻辑上制作数据的拷贝并且继而仅在必要时将数据复制过去,这实际上延迟了物理复制。该逻辑复制操作被执行而使得目标和源卷在其间无法访问的时间最小化。
[0026]多个直接访问存储设备(DASD)子系统能够执行“瞬时虚拟复制”(IVC)操作,其也被称作“快速复制功能”。瞬时虚拟复制操作通过修改诸如关系表或指针之类的结构中的元数据以将源数据对象视为原件(original)和拷贝。响应于主机的复制请求,存储子系统立即报告拷贝的创建而并不进行数据的任何物理复制。仅是已经创建了“虚拟”拷贝,并且主机完全不知道并不存在另外的物理拷贝。
[0027]随后,当控制单元接收到针对原件和拷贝的更新时,该更新被单独存储并且仅针对所更新的数据对象进行交叉引用。此时,原件和拷贝数据对象开始发生分歧。最初的好处在于IVC几乎立即发生,比正常的物理复制操作明显更快地完成。这释
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1