CN111465920A - 远程复制操作期间通过总线接口被写入存储控制器的数据的管理 - Google Patents
远程复制操作期间通过总线接口被写入存储控制器的数据的管理 Download PDFInfo
- Publication number
- CN111465920A CN111465920A CN201880079152.1A CN201880079152A CN111465920A CN 111465920 A CN111465920 A CN 111465920A CN 201880079152 A CN201880079152 A CN 201880079152A CN 111465920 A CN111465920 A CN 111465920A
- Authority
- CN
- China
- Prior art keywords
- storage controller
- bitmap
- data structure
- syncio
- writes
- 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.)
- Granted
Links
- 238000003860 storage Methods 0.000 claims abstract description 223
- 238000000034 method Methods 0.000 claims description 259
- 230000008569 process Effects 0.000 claims description 217
- 238000004590 computer program Methods 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 11
- 230000010076 replication Effects 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 28
- 238000012545 processing Methods 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000009987 spinning Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
通过远程复制操作来执行从主存储控制器到辅助存储控制器的数据同步,其中当远程复制操作在进行中时,在主存储控制器处通过总线接口和网络接口两者从主机接收输入/输出(I/O)请求。第一数据结构存储通过网络接口写入的、为了所述数据同步而要从主存储器控制器复制到辅助存储器控制器的磁道的标识。第二数据结构存储通过总线接口写入的、为了所述数据同步而要从主存储控制器复制到辅存储控制器的磁道的标识。
Description
技术领域
实施例涉及在远程复制操作期间通过总线接口被写入存储控制器的数据的管理。
背景技术
在某些存储系统环境中,存储控制器(或存储控制器联合体)可以包括彼此耦合的多个存储服务器。存储控制器允许主机计算系统对由存储控制器控制的存储设备执行输入/输出(I/O)操作,其中主机计算系统可以被称为主机。
在许多系统中,数据可以从一个存储控制器复制到另一个存储控制器,并且数据的这种复制可以被称为远程复制。从其复制数据的存储控制器可以被称为主存储控制器,并且数据被复制到的存储控制器可以被称为辅助存储控制器。可以将一个或多个存储卷从主存储控制器复制到辅助存储控制器,其中存储卷可以包括多个磁道。复制可以包括在主存储器控制器和辅助存储器控制器之间镜像存储卷以用于数据复制。
某些镜像机制可控制用于数据一致性的一致性组的形成。一致性组(consistencygroup)是在创建一致性数据副本时被一起管理的跨多个存储单元的卷的集合。相关写入的顺序保存在一致性组中。这些一致性组的形成可以由主存储控制器控制,该主存储控制器通过远程拷贝处理和拷贝卷向辅助存储控制器发送命令。这些一致性组的形成可以由主存储控制器控制,该主存储控制器通过远程复制过程发送命令并将卷复制到辅助存储控制器。
不同步(OOS)位图标识远程拷贝关系涉及的哪些磁道尚未被复制,因此是受保护的磁道。每个磁道由位图中的一个位(bit)表示。一个位在对应的磁道要被复制时被置位(set)。当对应的磁道已从主存储控制器复制到辅助存储控制器时,该位被复位(reset)(即,去置位(unset))。
在要进行主存储控制器与辅存储控制器之间的一致性拷贝,可以保存一个变更记录(CR)位图。CR位图具有针对源存储卷上的每个磁道的位。在已经为当前一致性组建立了远程副本关系之后如果有在源存储卷的一个磁道上的写入时,则将CR位图中的一个位置位,以指示该磁道需要在下一一致性组的后续远程副本中被复制。
美国专利公开2016/0203172讨论了一种用于为位图数据结构提供硬件以用于异构列表的有效存储的方法和系统。美国专利公开2003/0158869A1讨论了一种用于为远程副本提供增量更新控制的方法和系统。美国专利9,483,366讨论了用于为远程复制更新提供位图选择的系统和方法。美国专利9,250,832披露了一种用于提供位图以使固件操作与快速路径硬件输入/输出(I/O)处理同步的方法和系统。美国专利9,026,696讨论了一种利用I/O磁道信息来进行存储设备的具有分离器的连续推送的系统和方法。美国专利8,862,848讨论了用于使用位图来提供数据存储的方法和系统。美国专利8,595,455讨论了用于使用位图写入意图日志记录来维持镜像群集存储系统中的数据一致性的方法和系统。美国专利7,089,385讨论了用于通过使用多列位图来跟踪进行中写入的方法和系统。
另外,美国专利公开2017/0235805A1讨论了一种用于提供用于数据复制同步的跟踪结构的方法和系统。美国专利公开2015/0178201讨论了一种用于提供交换I/O和/或类似的I/O模式的高效缓存的方法和系统。美国专利9,601,151讨论了用于通过一次读取时间点拷贝来减少数据存储系统I/O带宽的方法和系统。美国专利9,535,610讨论了用于使用经修改的扇区位图来优化用于部分写入操作的对等远程副本(PPRC)传输的方法和系统。
发明内容
提供了一种方法、系统和计算机程序产品,其中通过远程复制操作来执行从主存储控制器到辅助存储控制器的数据同步,其中,当所述远程复制操作在进行中时,在所述主存储控制器处通过总线接口和网络接口两者从主机接收输入/输出(I/O)请求。第一数据结构存储通过所述网络接口被写入的、为了所述数据同步而将要从所述主存储控制器复制到所述辅助存储控制器的磁道的标识。第二数据结构存储通过所述总线接口被写入的、为了所述数据同步而将要从所述主存储控制器复制到所述辅助存储控制器的磁道的标识。结果,减少了远程复制操作和通过总线接口写入的过程之间的竞争。
在某些实施例中,第二数据结构标识由用于通过所述总线接口执行写入的syncio过程保留的磁道。结果,减少了由syncio过程引起的与远程复制操作的竞争。
在进一步的实施例中,最初执行用于所述数据同步的操作,以通过使用所述第一数据结构将磁道从所述主存储器控制器复制到所述辅助存储器控制器,而不考虑所述第二数据结构。结果,避免了对现有远程复制机制的改变。
在另外的实施例中,响应于确定所述syncio过程已经释放在第二数据结构中标识的磁道,将第二数据结构复制到第一数据结构,然后通过使用第一数据结构来完成所述数据同步。结果,syncio过程被集成在主存储器控制器中,而不会显著影响现有复制操作的性能。
在某些实施例中,用syncio过程来通过所述总线接口执行写入,其中,所述syncio过程允许所述主机将应用线程保持在自旋循环中,等待写入操作完成,并且其中,所述syncio过程在所述磁道上执行写入之前保留用于执行写入的磁道的持续时间,与通过所述网络接口在所述磁道上执行写入的其他过程相比更长。作为所述实施例的结果,由syncio过程保留的写入不会显著影响现有复制操作的性能。
在进一步的实施例中,第一数据结构是标准不同步位图,并且其中,所述第二数据结构是syncio不同步位图。结果,现有的数据结构被重新使用,并且类似的数据结构被创建用于syncio操作。
在另外的实施例中,syncio过程通过使用所述总线接口写入,其中,在镜像过程中执行所述远程复制操作,其中,所述第一数据结构是标准不同步(OOS)位图,其中,所述第二数据结构是syncioOOS位图。在使用所述标准OOS位图将当前一致性组从所述主存储器控制器复制到所述辅助存储器控制器的同时,syncio变更记录(CR)位图存储通过所述syncio过程的写入的指示。在使用所述标准OOS位图将所述当前一致性组从所述主存储器控制器复制到所述辅助存储器控制器的同时,标准CR位图存储通过非同步过程的写入的指示。结果,syncio过程和镜像过程之间的竞争减少。
在进一步的实施例中,响应于所述syncio过程释放所述syncioCR位图中指示的磁道,将所述syncioCR位图与所述标准CR位图合并以用于下一个一致性组的复制。结果,用于全局镜像的现有机制与syncio集成。
从第一方面来看,本发明提供了一种方法,包括:通过远程复制操作来执行从主存储控制器到辅助存储控制器的数据同步,其中,当所述远程复制操作在进行中时,在所述主存储控制器处通过总线接口和网络接口两者从主机接收输入/输出(I/O)请求;在第一数据结构中存储通过所述网络接口被写入的、为了所述数据同步而将要从所述主存储控制器复制到所述辅助存储控制器的磁道的标识;以及在第二数据结构中存储通过所述总线接口被写入的、为了所述数据同步而将要从所述主存储控制器复制到所述辅助存储控制器的磁道的标识。
优选地,本发明提供一种方法,其中,第二数据结构标识由用于通过所述总线接口执行写入的syncio过程保留的磁道。
优选地,本发明提供一种方法,其中,最初执行用于所述数据同步的操作,以通过使用所述第一数据结构将磁道从所述主存储器控制器复制到所述辅助存储器控制器,而不考虑所述第二数据结构。
优选地,本发明提供一种方法,还包括:响应于确定所述syncio过程已经释放在第二数据结构中标识的磁道,将第二数据结构复制到第一数据结构,然后通过使用第一数据结构来完成所述数据同步。
优选地,本发明提供一种方法,其中,用syncio过程来通过所述总线接口执行写入,其中,所述syncio过程允许所述主机将应用线程保持在自旋循环中,等待写入操作完成,并且其中,所述syncio过程在所述磁道上执行写入之前保留用于执行写入的磁道的持续时间,与通过所述网络接口在所述磁道上执行写入的其他过程相比更长。
优选地,本发明提供一种方法,其中,第一数据结构是标准不同步位图,并且其中,所述第二数据结构是syncio不同步位图。
优选地,本发明提供一种方法,其中,syncio过程通过使用所述总线接口写入,其中,在镜像过程中执行所述远程复制操作,其中,所述第一数据结构是标准不同步(OOS)位图,其中,所述第二数据结构是syncioOOS位图。在使用所述标准OOS位图将当前一致性组从所述主存储器控制器复制到所述辅助存储器控制器的同时,syncio变更记录(CR)位图存储通过所述syncio过程的写入的指示。在使用所述标准OOS位图将所述当前一致性组从所述主存储器控制器复制到所述辅助存储器控制器的同时,标准CR位图存储通过非同步过程的写入的指示。
优选地,本发明提供一种方法,还包括:响应于所述syncio过程释放所述syncioCR位图中指示的磁道,将所述syncioCR位图与所述标准CR位图合并以用于下一个一致性组的复制。
从第二方面来看,本发明提供了一种系统,包括:存储器;以及耦合到所述存储器的处理器,其中所述处理器执行操作,由所述处理器执行的所述操作包括:通过远程复制操作来执行从主存储控制器到辅助存储控制器的数据同步,其中,当所述远程复制操作在进行中时,在所述主存储控制器处通过总线接口和网络接口两者从主机接收输入/输出(I/O)请求;在第一数据结构中存储通过所述网络接口被写入的、为了所述数据同步而将要从所述主存储控制器复制到所述辅助存储控制器的磁道的标识;以及在第二数据结构中存储通过所述总线接口被写入的、为了所述数据同步而将要从所述主存储控制器复制到所述辅助存储控制器的磁道的标识。
优选地,本发明提供一种系统,其中,第二数据结构标识由用于通过所述总线接口执行写入的syncio过程保留的磁道。
优选地,本发明提供一种系统,其中,最初执行用于所述数据同步的操作,以通过使用所述第一数据结构将磁道从所述主存储器控制器复制到所述辅助存储器控制器,而不考虑所述第二数据结构。
优选地,本发明提供一种系统,其中,所述操作还包括:响应于确定所述syncio过程已经释放在第二数据结构中标识的磁道,将第二数据结构复制到第一数据结构,然后通过使用第一数据结构来完成所述数据同步。
优选地,本发明提供一种系统,其中,用syncio过程来通过所述总线接口执行写入,其中,所述syncio过程允许所述主机将应用线程保持在自旋循环中,等待写入操作完成,并且其中,所述syncio过程在所述磁道上执行写入之前保留用于执行写入的磁道的持续时间,与通过所述网络接口在所述磁道上执行写入的其他过程相比更长。
优选地,本发明提供一种系统,其中,第一数据结构是标准不同步位图,并且其中,所述第二数据结构是syncio不同步位图。
优选地,本发明提供一种系统,其中,syncio过程通过使用所述总线接口写入,其中,在镜像过程中执行所述远程复制操作,其中,所述第一数据结构是标准不同步(OOS)位图,其中,所述第二数据结构是syncioOOS位图。在使用所述标准OOS位图将当前一致性组从所述主存储器控制器复制到所述辅助存储器控制器的同时,syncio变更记录(CR)位图存储通过所述syncio过程的写入的指示。在使用所述标准OOS位图将所述当前一致性组从所述主存储器控制器复制到所述辅助存储器控制器的同时,标准CR位图存储通过非同步过程的写入的指示。
优选地,本发明提供一种系统,其中所述操作还包括:响应于所述syncio过程释放所述syncioCR位图中指示的磁道,将所述syncioCR位图与所述标准CR位图合并以用于下一个一致性组的复制。
从第三方面来看,本发明提供了一种计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有随其体现的计算机可读程序代码,所述计算机可读程序代码被配置为执行操作,所述操作包括:通过远程复制操作来执行从主存储控制器到辅助存储控制器的数据同步,其中,当所述远程复制操作在进行中时,在所述主存储控制器处通过总线接口和网络接口两者从主机接收输入/输出(I/O)请求;在第一数据结构中存储通过所述网络接口被写入的、为了所述数据同步而将要从所述主存储控制器复制到所述辅助存储控制器的磁道的标识;以及在第二数据结构中存储通过所述总线接口被写入的、为了所述数据同步而将要从所述主存储控制器复制到所述辅助存储控制器的磁道的标识。
优选地,本发明提供一种计算机程序产品,其中,第二数据结构标识由用于通过所述总线接口执行写入的syncio过程保留的磁道。
优选地,本发明提供一种计算机程序产品,其中,最初执行用于所述数据同步的操作,以通过使用所述第一数据结构将磁道从所述主存储器控制器复制到所述辅助存储器控制器,而不考虑所述第二数据结构。
优选地,本发明提供一种计算机程序产品,其中,所述操作还包括:响应于确定所述syncio过程已经释放在第二数据结构中标识的磁道,将第二数据结构复制到第一数据结构,然后通过使用第一数据结构来完成所述数据同步。
优选地,本发明提供一种计算机程序,其中,用syncio过程来通过所述总线接口执行写入,其中,所述syncio过程允许所述主机将应用线程保持在自旋循环中,等待写入操作完成,并且其中,所述syncio过程在所述磁道上执行写入之前保留用于执行写入的磁道的持续时间,与通过所述网络接口在所述磁道上执行写入的其他过程相比更长。
优选地,本发明提供一种计算机程序产品,其中,第一数据结构是标准不同步位图,并且其中,所述第二数据结构是syncio不同步位图。
优选地,本发明提供一种计算机程序产品,syncio过程通过使用所述总线接口写入,其中,在镜像过程中执行所述远程复制操作,其中,所述第一数据结构是标准不同步(OOS)位图,其中,所述第二数据结构是syncioOOS位图。在使用所述标准OOS位图将当前一致性组从所述主存储器控制器复制到所述辅助存储器控制器的同时,syncio变更记录(CR)位图存储通过所述syncio过程的写入的指示。在使用所述标准OOS位图将所述当前一致性组从所述主存储器控制器复制到所述辅助存储器控制器的同时,标准CR位图存储通过非同步过程的写入的指示。
优选地,本发明提供一种计算机程序产品,其中,所述操作还包括:响应于所述syncio过程释放所述syncioCR位图中指示的磁道,将所述syncioCR位图与所述标准CR位图合并以用于下一个一致性组的复制。
从第四方面来看,本发明提供了一种主存储器控制器,包括:存储器;以及耦合到所述存储器的处理器,其中所述处理器执行操作,由所述处理器执行的所述操作包括:通过远程复制操作来执行从主存储控制器到辅助存储控制器的数据同步,其中,当所述远程复制操作在进行中时,在所述主存储控制器处通过总线接口和网络接口两者从主机接收输入/输出(I/O)请求;在第一数据结构中存储通过所述网络接口被写入的、为了所述数据同步而将要从所述主存储控制器复制到所述辅助存储控制器的磁道的标识;以及在第二数据结构中存储通过所述总线接口被写入的、为了所述数据同步而将要从所述主存储控制器复制到所述辅助存储控制器的磁道的标识。
附图说明
现在参考附图,其中相同的附图标记始终表示相应的部分:
图1示出根据某些实施例的包括耦接到一个或多个主机和一个或多个存储装置的主存储控制器的计算环境的框图,其中发生从一个或多个主机到主存储控制器的基于同步的写入;
图2示出了根据某些实施例的流程图,该流程图示出了当仅使用标准不同步(OOS)位图而不使用syncio OOS位图时,syncio过程对同步(synchronization)过程的干扰;
图3示出了根据某些实施例的流程图,该流程图示出了通过除了标准OOS位图之外还使用syncio OOS位图来避免syncio过程对同步过程的性能影响;
图4示出根据某些实施例的显示由预写入拦截过程执行的操作的流程图;
图5图示出了根据某些实施例的主存储器控制器中支持全局镜像过程的增强的框图,所述增强支持在存在syncio过程的情况下从主存储器控制器到辅助存储器控制器的一致性数据复制;
图6示出了根据某些实施例的流程图,其示出了减少syncio过程与同步过程之间的竞争的操作;
图7示出了根据某些实施例的流程图,其示出了减少syncio过程和全局镜像过程之间的竞争的操作。
图8示出了根据某些实施例的云计算环境的框图;
图9示出了根据某些实施例的图8的云计算环境的进一步细节的框图;并且
图10示出根据某些实施例的计算系统的框图,该计算系统示出可包括在如图1-9中描述的存储控制器或主机中的某些元件。
具体实施方式
在以下描述中,参考了附图,附图构成说明书的一部分并且例示了若干实施例。应当理解,可以使用其他实施例并且可以做出结构和操作上的改变。
Syncio(也被称为同步输入/输出(Sync I/O))包括用于计算设备的附接硬件和协议。Syncio被设计用于极低延迟的随机读取和小块顺序写入。计算设备之间的Syncio连接可以是点对点光学外围组件互连高速(PCIe)接口上的。Syncio操作的行为与传统I/O不同,因为在Syncio中,主机计算设备可以在等待I/O操作完成的同时将应用线程保持在自旋循环中。这避免了对处理器周期执行传统I/O的两个上下文交换的需要,避免了对执行用于使I/O线程进入睡眠、然后重新调度I/O线程的操作的需要,以及避免了对I/O中断的需要。Syncio操作可由Syncio过程执行,并且可对应于从主机到主存储控制器的高速数据传输过程。
由于其严格的性能要求,Syncio过程违反如在用于在存储控制器中执行写入的先前机制中所具有的、每个写入一个预写入拦截调用的标准规则。Syncio过程可以每个磁道的调用预写拦截一次,然后多次写入该磁道。目前的用于预写入拦截的机制在OOS位图(称为标准OOS位图)或CR位图(称为标准CR位图)中设置位。同步机制使用OOS位图来确定哪些磁道要从主存储控制器复制到辅助存储控制器。Syncio过程为由Syncio过程执行的快速写入预留磁道访问权,并且可长时间保持对其磁道组的所预留的磁道访问权。如果Syncio过程到达为这些磁道中的一个磁道设置OOS位的点,则对应于所设置的OOS位的存储卷的复制被保持,直到Syncio过程释放该磁道访问权,这可能花费相对长的时间。这影响了及时将卷同步到辅助存储控制器的能力。
在某些实施例中,由存储控制器提供一种特殊数据结构(称为syncioOOS位图)来标识由syncio过程预留的用于写入的磁道,并且同步操作使用标准OOS位图来执行数据的同步,而不考虑syncioOOS位图中标识的磁道,直到同步操作完成。这提供了同步过程用以完成其操作的时间。随后,随着syncio过程释放所预留的磁道,将位从syncio OOS位图复制到标准OOS位图,并用标准OOS位图来完成数据的同步。
示范性实施例
图1示出根据某些实施例的包括耦合到一个或多个主机104和一个或多个存储设备106、108的主存储器控制器102的计算环境100的框图,其中基于syncio的写入从一个或多个主机104到主存储器控制器102发生。
主存储器控制器102允许一个或多个主机104对由主存储器控制器102维护的逻辑存储器进行输入/输出(I/O)操作。对应于逻辑存储器的物理存储器,可以在主存储器控制器102的存储设备106、108和/或高速缓存110的一个或多个中找到。
在主存储控制器102中执行的同步过程112可以执行复制操作,以将存储卷的磁道从主存储控制器102复制到辅助存储控制器114。同步过程112可以被称为在执行远程复制操作,即,将存储卷的磁道从一个存储控制器复制到另一个存储控制器的复制操作。在某些实施例中,同步过程112可以在软件、固件、硬件或其任何组合中实现。同步过程112使用标准OOS位图116,该标准OOS位图116指示要从主存储控制器102复制到辅助存储控制器114的磁道。标准OOS位图的每个位对应于存储卷的一个磁道。如果某位被设置(即,被分配给1),则为了数据同步要将相应的磁道从主存储控制器102复制到辅助存储控制器114以用于数据同步。如果某位未被设置(即,未置位或复位并且分配给0),则不必为了数据同步而将对应的磁道从主存储控制器102复制到辅助存储控制器114。
主存储控制器102、辅助存储控制器114和一个或多个主机104可以包括任何合适的计算设备,包括本领域目前已知的那些计算设备,诸如个人计算机、工作站、服务器、主机、手持计算机、掌上计算机、电话设备、网络设备、刀片式计算机、处理设备、控制器等。主存储控制器102、辅助存储控制器114和一个或多个主机104可以是诸如存储区域网络、广域网、互联网、内联网的任何合适的网络中的成分。在某些实施例中,主存储控制器102、辅助存储控制器114和一个或多个主机104可以是云计算环境中的成分。
在某些实施例中,主机104可以通过总线接口[例如,点对点光学外围组件互连高速(PCIe)接口]118和网络接口120耦合到主存储控制器102。来自主机104的syncio操作可以通过总线接口118来执行。来自主机104的传统I/O操作可以通过网络接口120来执行。总线接口118可包括比网络接口120更快的I/O访问通道。可以利用包括诸如分布式PCIe交换机的PCIe扩展器电缆或组件的附加的总线接口技术来扩展总线接口118,以允许诸如利用ExpEther技术的以太网上的PCIe。网络接口120可以通过网络适配器将主机104耦接到包括主存储控制器102的网络122。
主存储器控制器102包括一个syncio过程124,其允许执行从主机104到主存储器控制器102的基于syncio的写入。在某些实施例中,syncio过程124可在软件、固件、硬件或其任意组合中实现。
在某些实施例中,在主存储控制器102中执行一个写前拦截过程126,后者在软件、固件、硬件或其任意组合中实现。为了执行对磁道的写入,过程调用写前拦截过程126,然后对该磁道进行写入。当写前拦截过程116被一个过程调用时,为该过程保留(reserve)该磁道。
Syncio过程124之外的过程调用写前拦截过程126,然后仅一次性地快速写入磁道,然后释放磁道。然而,syncio过程124可在syncio过程124对磁道的第一次写入之前很久就调用写前拦截过程126。此外,在调用写前拦截过程126之后,syncio过程124可对磁道执行多次写入。因此,syncio过程124可在不写入磁道的情况下将磁道保留相当长的时间,或者可通过执行多次写入磁道而将磁道保留相当长的时间。因此,syncio过程124可以在预期要向磁道写入时保留磁道,但在保留磁道之后实际上不立即进行向磁道的写入。
在以前的机制中,当syncio过程124通过调用写前拦截过程126来保留磁道时,同步过程112不能复制所保留的磁道所在的存储卷的任何磁道,直到所保留的磁道被syncio过程124释放。因此,由syncio过程124执行的写入,干扰同步过程112的有效操作。
在某些实施例中,为了避免由syncio过程124执行的写入对同步过程112的有效操作造成的干扰,在主存储控制器102中维持一个syncio OOS位图128。syncio OOS位图128具有针对每个磁道的位,被syncio过程124写入的磁道被置位(即,分配给1),而这些磁道的对应位在标准OOS位图116中则被复位(即,分配给0)。
一旦syncio过程124释放syncio OOS位图128中的某磁道,则在syncio OOS位图128中将对应的位复位,并且在标准OOS位图116中将对应于该磁道的位置位。然后,同步过程112将该磁道从主存储控制器102复制到辅助存储控制器114。
因此,图1示出了某些实施例,其中通过维持一个指示syncio过程124可以写入的存储卷的磁道的syncio OOS位图128,同步过程112可以有效地操作并且能够将存储卷的磁道从主存储控制器102同步到辅助存储控制器114。
图2示出了根据某些实施例的流程图200,其示出了当仅使用标准OOS位图116而不使用syncio OOS位图128时,syncio过程对同步过程的干扰。图2的流程图中所示的操作可以在主存储控制器102中执行。
控制开始于框202,其中syncio过程124保留N个磁道,其中N可以是数字1或更大的数字。例如,在某些实施例中,N可以是10。syncio过程124(在框204)确保对该N个磁道的磁道访问权,并为该N个磁道的集合中的每个磁道调用写前拦截过程126。写前拦截过程126(在框206)将标准OOS位图116中(或标准CR位图中)与该N个磁道中的每个磁道对应的位置位。
控制从框206进行到框208,其中syncio过程124写入该N个磁道。这种写入可能在相当长的时间段之后发生或者可以持续进行相当长的时间段,其中在某些实施例中,该相当长的时间段可能超过10秒并且甚至可能延长到几分钟或几小时。在完成对该N个磁道的写入之后,syncio过程124(在框210)释放该N个磁道并且将标准OOS位图116中的对应位复位。
在图2中,附图标记212表示:如果syncio过程124在框202取得对存储卷的N个磁道的磁道访问权,则同步过程112将整个存储卷的所有磁道从主存储控制器102向辅存储控制器114的传送被停止。直到syncio过程124释放该N个磁道(在框210),存储卷的该N个磁道或任何其他磁道都不被传送到辅助存储控制器114。在syncio过程124释放该N个磁道之后,才可以将存储卷的磁道传送到辅助存储控制器(如附图标记214所示)。由此,在syncio过程124保留该N个磁道和释放该N个磁道之间的这段时间,同步过程112不能对该N个磁道所位于的存储卷的任何磁道执行远程复制操作。
图3示出了根据某些实施例的流程图300,其示出了通过除了使用标准OOS位图116之外还使用syncio OOS位图128来避免syncio过程124对同步过程112的性能影响。图3的流程图中所示的操作可以在主存储控制器102中执行。
控制开始于框302,其中syncio过程124保留N个磁道,其中N是数字1或大于1的数字。例如,在某些实施例中,N可以是10。syncio过程124(在框304)确保对该N个磁道的磁道访问权,并针对该N个磁道的集合中的每个磁道调用写前拦截过程126。写前拦截过程126(在框306)将syncio OOS位图128中与该N个磁道中的每一个磁道对应的位置位,并且将标准OOS位图116中与该N个磁道中的每一个磁道对应的位复位。
控制从框306进行到框308,其中syncio过程124写入N个磁道。这种写入可能在相当长的时间段之后发生或者可能持续进行相当长的时间段,其中在某些实施例中,该相当长的时间段可能超过10秒并且甚至可能延长到几分钟或几小时。在完成对该N个磁道的写入之后,syncio过程124(在框310)释放该N个磁道,并且syncio OOS位图中与该N个磁道的每个磁道对应的位被置位,标准OOS位图中与该N个磁道的每个磁道对应的位被复位。
在图3中,附图标记312表示:如果syncio过程124在框302取得对存储卷的N个磁道的磁道访问权,同步过程112将整个存储卷的磁道从主存储控制器102向辅存储控制器114的传送不被停止。除了该N个磁道之外的其他磁道可由同步过程处理,因为对应于该N个磁道的位在标准OOS位图116中未被置位。然而,直到syncio过程124释放该N个磁道(在框310),该N个磁道才被传送到辅助存储控制器114(如附图标记314所示的那样)。因此,在syncio过程124保留该N个磁道和释放该N个磁道之间的时间,同步过程112能够对该N个磁道所位于的存储卷的任何磁道(除了该N个磁道之外)执行远程复制操作。
图4示出根据某些实施例的显示由写前拦截过程126执行的操作的流程图400。图4的流程图中所示的操作可以在主存储控制器102中执行。
控制在框402开始,其中写前拦截过程126执行并且被另一过程调用。写前拦截过程126(在框404处)确定哪个过程进行了该调用。如果写前拦截过程126已经被syncio过程126调用(如分支406所示的那样),则写前拦截过程126更新syncio OOS位图128和标准OOS位图116,如附图标记408所示的那样,其中按照图3的框306中所示的操作进行更新。
如果写前拦截过程126被同步过程112调用(如分支410所示的那样),则写前拦截过程126更新标准OOS位图116,如附图标记412所示的那样,其中所述更新将标准OOS位图116中的磁道对应的位置位,所述标准OOS位图116中的磁道对应于由非syncio过程请求的在所述磁道上执行的写入。
因此,图1-4示出了某些实施例,其中通过除了标准OOS位图116之外还使用对应于syncio过程124的syncio OOS位图128,从而使同步过程112的性能优于现有机制。
图5示出了某些实施例的框图500,其示出了在存在syncio过程124的情况下,主存储控制器102中支持全局镜像过程(镜像过程)504的增强,所述全局镜像过程504支持数据从主存储器控制器102到辅助存储控制器114的一致性拷贝。图5中所示的操作可以在主存储控制器102中执行。
在图5中,主存储器控制器102包括在主存储器控制器102中执行的全局镜像过程504。在没有syncio过程的现有机制中,全局镜像过程504将数据从主存储控制器102一致性地复制到辅助存储控制器114。为了执行数据的一致性复制,除了标准OOS位图116之外,在主存储控制器102中还维持一个标准变更记录(CR)位图506。在现有机制中,标准OOS位图116指示针对当前一致性组要被复制的磁道,而标准CR位图506则指示针对下一个一致性组要被复制的磁道。在现有机制中,当通过使用标准OOS位图116复制当前一致性组时接收到对磁道的新写入时,将标准CR位图506中对应于这些磁道的位置位,因为这些磁道将在要被复制到辅助存储控制器114的下一个一致性组中。当当前一致性组复制完毕时,将标准CR位图506切换到标准OOS位图116,以复制存储在标准CR位图506中的下一个一致性组。
然而,在存在syncio过程124的情况下,现有机制产生问题,因为基于syncio的写入可能由于在图1-4所示的实施例中同步过程受到影响的相同原因而导致性能影响。为了避免这种性能影响,维持指示syncio过程124为下一个一致性组写入的磁道的syncioCR位图508。标准CR位图506继续指示由非syncio过程写入的磁道。
在某些实施例中,当syncio过程124释放在syncioCR位图508中被指示为由syncio过程124写入的磁道时,将syncioCR位图508与标准CR位图506合并,用于由全局镜像过程504复制下一个一致性组的数据。
因此,图5示出了某些实施例,其中为了在存在syncio过程124的情况下全局镜像过程的高效操作,维持一个syncioCR位图508以指示当复制当前一致性组时由syncio过程124写入的磁道。
图6示出根据某些实施例的、示出用于减少syncio过程与同步过程之间的竞争的操作的流程图600。图6所示的操作可以在主存储控制器102中执行。
控制开始于框602,其中通过远程复制操作来执行从主存储控制器102到辅助存储控制器114的数据同步,其中在进行远程复制操作时通过总线接口118和网络接口120在主存储控制器102处从主机104接收输入/输出(I/O)请求。第一数据结构116(例如OOS位图116)存储(在框604)通过网络接口120被写入的、为了数据同步而要被从主存储控制器102复制到辅助存储控制器114的磁道的标识。第二数据结构128(例如syncio OOS位图128)存储(在框606)通过总线接口118被写入的、为了数据同步而要被从主存储控制器102复制到辅助存储控制器114的磁道的标识。在某些实施例中,第二数据结构128标识由syncio过程124保留的用于通过总线接口118执行写入的磁道。
控制从框606前进到框610,其中最初执行用于数据同步的操作,以通过使用第一数据结构116而不考虑第二数据结构128,将磁道从主存储控制器102复制到辅存储控制器114。响应于确定syncio过程124已经释放在第二数据结构128中标识的磁道,将第二数据结构复制到第一数据结构,然后通过使用第一数据结构来完成所述数据同步。
图7示出根据某些实施例的流程图700,其示出了减少syncio过程124和全局镜像过程504之间的竞争的操作。图6所示的操作可以在主存储控制器102中执行。
控制开始于框702,其中syncio过程124通过使用总线接口118进行写入,其中在全局镜像过程504中执行远程复制操作,其中第一数据结构116是标准不同步(OOS)位图,并且其中第二数据结构128是syncioOOS位图。syncio变更记录(CR)位图508存储(在框704)在使用标准OOS位图116将当前一致性组从主存储控制器102复制到辅助存储控制器114时,通过syncio过程124的写入的指示。标准CR位图506存储(在框706)在使用标准OOS位图116将当前一致性组从主存储控制器102复制到辅助存储控制器114时通过非syncio过程的写入的指示。
控制从框706进行到框708,其中响应于syncio过程124释放syncioCR位图508中指示的磁道,将syncioCR位图508与标准CR位图506合并,以用于下一个一致性组的复制。
因此,图1-7示出了某些实施例,其中通过使用syncio不同步位图128和/或syncio变更记录位图508,当syncio过程124在执行主存储控制器102和辅助存储控制器114之间的复制操作的过程期间执行时,竞争减少。
云计算环境
云计算是一种用于使得能够对可配置计算资源(例如,网络、服务器、存储装置、应用程序和服务)的共享池的方便、按需的网络访问的模型,所述可配置计算资源可以用最小的管理努力或服务提供商交互来快速配置和释放。
现在参见图8,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图9,其中显示了云计算环境50(图8)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括大型机,在一个示例中是IBM zSeries*系统;基于RISC(精简指令集计算机)架构的服务器,在一个示例中为IBMpSeries*系统;IBM xSeries*系统;IBM BladeCenter*系统;存储装置;网络和联网组件。软件组件的示例包括网络应用服务器软件,在一个示例中是IBM WebSphere*应用服务器软件;以及数据库软件,在一个示例中是IBM DB2*数据库软件。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere和DB2是国际商业机器公司在全世界许多管辖区域注册的商标。)
虚拟化层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理;以及图1-8所示的syncio和复制过程之间的竞争减少68。
附加实施例细节
所描述的操作可以被实现为使用标准编程和/或工程技术来产生软件、固件、硬件或其任何组合的方法、装置或计算机程序产品。相应地,实施例的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合软件和硬件方面的实施例的形式,这些实施例在此可以全部统称为“电路”、“模块”或“系统。”此外,实施例的各方面可以采取计算机程序产品的形式。计算机程序产品可包括其上具有用于使处理器执行实施例的各个方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明实施例的操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明实施例的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明实施例的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
图10图示了示出根据某些实施例的可以包括在主存储控制器102、辅助存储控制器114、主机104或其他计算设备中的某些元件的框图。系统1000可以包括电路1002,在某些实施例中,电路1002可以至少包括处理器1004。系统1000还可以包括存储器1006(例如,易失性存储器设备)和存储装置1008。存储装置1008可以包括非易失性存储器设备(例如,EEPROM、ROM、PROM、闪存、固件、可编程逻辑等)、磁盘驱动器、光盘驱动器、磁带驱动器等。存储器1008可包括内部存储装置、附接存储装置和/或网络可存取存储装置。系统1000可以包括程序逻辑1010,其包括可以被加载到存储器1006中并且由处理器1004或电路1002执行的代码1012。在某些实施例中,包括代码1012的程序逻辑1010可以存储在存储装置1008中。在某些其他实施例中,程序逻辑1010可以在电路1002中实现。系统1000中的一个或多个组件可以通过总线或通过其它耦合或连接1014进行通信。因此,虽然图10示出了与其他元件分离的程序逻辑1010,但是程序逻辑1010可以在存储器1006和/或电路1002中实现。
某些实施例可针对一种用于由人部署计算指令或将计算机可读代码集成到计算系统中的自动处理的方法,其中所述代码与计算系统组合能够执行所描述的实施例的操作。
术语“某实施例”、“实施例”、“一个或多个实施例”、“一些实施例”、“一个实施例”意指“本发明的一个或多个(但非全部)实施例”,除非另有明确说明。
除非另有明确说明,否则,术语“包括”、“包含”、“具有”及其变体意指“包括但不限于”。
项目的枚举列表不暗示任何或所有项目是互斥的,除非另有明确规定。
除非另有明确规定,否则,“一个”、“某个”、“该”意指“一个或多个”。
除非另有明确规定,否则彼此通信的装置不需要彼此连续通信。此外,彼此通信的设备可通过一个或多个中介直接或间接通信。
具有彼此通信的若干组件的实施例的描述不暗示需要所有此类组件。相反,所描述的各种可选部件用以例示本发明的各种可能实施例。
进一步,尽管过程步骤、方法步骤、算法等可能是可按顺序次序描述的,但可以将此类过程、方法和算法配置得按替代的次序工作。换言之,所描述的步骤的任何顺序或次序并不一定指示要求这些步骤按该次序执行。在此描述的过程的步骤可以按任何实际的顺序进行。此外,可以同时执行一些步骤。
当在本文中描述的是单个设备或物品时,显而易见的是,可以使用多于一个设备/物品(无论它们是否协作)来代替单个设备/物品。类似地,当在本文中描述的是多于一个设备或物品(无论它们是否协作)时,显而易见的是,可以使用单个设备/物品代替多于一个设备或物品,或者可以使用不同数量的设备/物品代替所示数量的设备或程序。设备的功能和/或特征可以可替代地由未明确描述为具有这样的功能/特征的一个或多个其他设备来体现。因此,本发明的其他实施例不需要包括该设备本身。
在图中可能已经示出的至少某些操作示出以特定顺序发生的某些事件。在替代实施例中,可以按不同的顺序执行某些操作、修改某些操作或移除某些操作。此外,可以将步骤添加到上述逻辑中并且仍然符合所描述的实施例。进一步,本文描述的操作可以顺序地发生,或者某些操作可以被并行地处理。再进一步,操作可由单个处理单元或由分布式处理单元执行。
已经出于说明和描述的目的,呈现了本发明的不同实施例的前述描述。所述描述不旨在是详尽的或将本发明限制在所披露的精确形式。鉴于以上教导,许多修改和变化都是可能的。本发明的范围旨在不受该详细描述的限制,而是受所附权利要求的限制。以上说明、实例以及数据提供了本发明的组合的制造和用途的完整说明。因为在不脱离本发明的范围的情况下可以做出本发明的许多实施例,所以本发明在于后附的权利要求书。
Claims (25)
1.一种方法,包括:
通过远程复制操作来执行从主存储控制器到辅助存储控制器的数据同步,其中,当所述远程复制操作在进行中时,在所述主存储控制器处通过总线接口和网络接口两者从主机接收输入/输出(I/O)请求;
在第一数据结构中存储通过所述网络接口被写入的、为了所述数据同步而将要从所述主存储控制器复制到所述辅助存储控制器的磁道的标识;以及
在第二数据结构中存储通过所述总线接口被写入的、为了所述数据同步而将要从所述主存储控制器复制到所述辅助存储控制器的磁道的标识。
2.根据权利要求1所述的方法,其中,所述第二数据结构标识由用于通过所述总线接口执行写入的syncio过程保留的磁道。
3.根据权利要求2所述的方法,其中,最初执行用于所述数据同步的操作,以通过使用所述第一数据结构将磁道从所述主存储器控制器复制到所述辅助存储器控制器,而不考虑所述第二数据结构。
4.根据权利要求3所述的方法,所述方法进一步包括:
响应于确定所述syncio过程已经释放在第二数据结构中标识的磁道,将第二数据结构复制到第一数据结构,然后通过使用第一数据结构来完成所述数据同步。
5.根据权利要求1所述的方法,其中,用syncio过程来通过所述总线接口执行写入,其中,所述syncio过程允许所述主机将应用线程保持在自旋循环中,等待写入操作完成,并且其中,所述syncio过程在所述磁道上执行写入之前保留用于执行写入的磁道的持续时间,与通过所述网络接口在所述磁道上执行写入的其他过程相比更长。
6.根据权利要求1所述的方法,其中,所述第一数据结构是标准不同步位图,并且其中,所述第二数据结构是syncio不同步位图。
7.根据权利要求1所述的方法,其中,syncio过程通过使用所述总线接口写入,其中,在镜像过程中执行所述远程复制操作,其中,所述第一数据结构是标准不同步(OOS)位图,其中,所述第二数据结构是syncioOOS位图,所述方法进一步包括:
在使用所述标准OOS位图将当前一致性组从所述主存储器控制器复制到所述辅助存储器控制器的同时,将通过所述syncio过程的写入的指示存储在syncio变更记录(CR)位图中;并且
在使用所述标准OOS位图将所述当前一致性组从所述主存储器控制器复制到所述辅助存储器控制器的同时,将通过非同步过程的写入的指示存储在标准CR位图中。
8.根据权利要求7所述的方法,所述方法进一步包括:
响应于所述syncio过程释放所述syncioCR位图中指示的磁道,将所述syncioCR位图与所述标准CR位图合并以用于下一个一致性组的复制。
9.一种系统,包括:
存储器;和
耦合到所述存储器的处理器,其中所述处理器执行操作,由所述处理器执行的操作包括:
通过远程复制操作来执行从主存储控制器到辅助存储控制器的数据同步,其中,当所述远程复制操作在进行中时,在所述主存储控制器处通过总线接口和网络接口两者从主机接收输入/输出(I/O)请求;
在第一数据结构中存储通过所述网络接口被写入的、为了所述数据同步而将要从所述主存储控制器复制到所述辅助存储控制器的磁道的标识;以及
在第二数据结构中存储通过所述总线接口被写入的、为了所述数据同步而将要从所述主存储控制器复制到所述辅助存储控制器的磁道的标识。
10.根据权利要求9所述的系统,其中,所述第二数据结构标识由用于通过所述总线接口执行写入的syncio过程保留的磁道。
11.根据权利要求10所述的系统,其中,最初执行用于所述数据同步的操作,以通过使用所述第一数据结构将磁道从所述主存储器控制器复制到所述辅助存储器控制器,而不考虑所述第二数据结构。
12.根据权利要求11所述的系统,所述操作进一步包括:
响应于确定所述syncio过程已经释放在第二数据结构中标识的磁道,将第二数据结构复制到第一数据结构,然后通过使用第一数据结构来完成所述数据同步。
13.根据权利要求9所述的系统,其中,用syncio过程来通过所述总线接口执行写入,其中,所述syncio过程允许所述主机将应用线程保持在自旋循环中,等待写入操作完成,并且其中,所述syncio过程在所述磁道上执行写入之前保留用于执行写入的磁道的持续时间,与通过所述网络接口在所述磁道上执行写入的其他过程相比更长。
14.根据权利要求9所述的系统,其中,所述第一数据结构是标准不同步位图,并且其中,所述第二数据结构是syncio不同步位图。
15.根据权利要求9所述的系统,其中,syncio过程通过使用所述总线接口写入,其中,在镜像过程中执行所述远程复制操作,其中,所述第一数据结构是标准不同步(OOS)位图,其中,所述第二数据结构是syncioOOS位图,所述方法进一步包括:
在使用所述标准OOS位图将当前一致性组从所述主存储器控制器复制到所述辅助存储器控制器的同时,将通过所述syncio过程的写入的指示存储在syncio变更记录(CR)位图中;以及
在使用所述标准OOS位图将所述当前一致性组从所述主存储器控制器复制到所述辅助存储器控制器的同时,将通过非同步过程的写入的指示存储在标准CR位图中。
16.根据权利要求15所述的系统,所述操作进一步包括:
响应于所述syncio过程释放所述syncioCR位图中指示的磁道,将所述syncioCR位图与所述标准CR位图合并以用于下一个一致性组的复制。
17.一种计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有随其包含的计算机可读程序代码,所述计算机可读程序代码被配置为执行操作,所述操作包括:
通过远程复制操作来执行从主存储控制器到辅助存储控制器的数据同步,其中,当所述远程复制操作在进行中时,在所述主存储控制器处通过总线接口和网络接口两者从主机接收输入/输出(I/O)请求;
在第一数据结构中存储通过所述网络接口被写入的、为了所述数据同步而将要从所述主存储控制器复制到所述辅助存储控制器的磁道的标识;并且
在第二数据结构中存储通过所述总线接口被写入的、为了所述数据同步而将要从所述主存储控制器复制到所述辅助存储控制器的磁道的标识。
18.根据权利要求17所述的计算机程序产品,所述第二数据结构标识由用于通过所述总线接口执行写入的syncio过程保留的磁道。
19.根据权利要求18所述的的计算机程序产品,其中,最初执行用于所述数据同步的操作,以通过使用所述第一数据结构将磁道从所述主存储器控制器复制到所述辅助存储器控制器,而不考虑所述第二数据结构。
20.根据权利要求19所述的计算机程序产品,所述操作进一步包括:
响应于确定所述syncio过程已经释放在第二数据结构中标识的磁道,将第二数据结构复制到第一数据结构,然后通过使用第一数据结构来完成所述数据同步。
21.根据权利要求17所述的计算机程序产品,其中,用syncio过程来通过所述总线接口执行写入,其中,所述syncio过程允许所述主机将应用线程保持在自旋循环中,等待写入操作完成,并且其中,所述syncio过程在所述磁道上执行写入之前保留用于执行写入的磁道的持续时间,与通过所述网络接口在所述磁道上执行写入的其他过程相比更长。
22.根据权利要求17所述的计算机程序产品,其中,所述第一数据结构是标准不同步位图,并且其中,所述第二数据结构是syncio不同步位图。
23.根据权利要求17所述的计算机程序产品,其中,syncio过程通过使用所述总线接口写入,其中,在镜像过程中执行所述远程复制操作,其中,所述第一数据结构是标准不同步(OOS)位图,其中,所述第二数据结构是syncioOOS位图,所述方法进一步包括:
在使用所述标准OOS位图将当前一致性组从所述主存储器控制器复制到所述辅助存储器控制器的同时,将通过所述syncio过程的写入的指示存储在syncio变更记录(CR)位图中;以及
在使用所述标准OOS位图将所述当前一致性组从所述主存储器控制器复制到所述辅助存储器控制器的同时,将通过非同步过程的写入的指示存储在标准CR位图中。
24.根据权利要求23的计算机程序产品,所述操作进一步包括:
响应于所述syncio过程释放所述syncioCR位图中指示的磁道,将所述syncioCR位图与所述标准CR位图合并以用于下一个一致性组的复制。
25.一种主存储控制器,包括:
存储器;和
耦合到所述存储器的处理器,其中所述处理器执行操作,由所述处理器执行的操作包括:
通过远程复制操作来执行从主存储控制器到辅助存储控制器的数据同步,其中,当所述远程复制操作在进行中时,在所述主存储控制器处通过总线接口和网络接口两者从主机接收输入/输出(I/O)请求;
在第一数据结构中存储通过所述网络接口被写入的、为了所述数据同步而将要从所述主存储控制器复制到所述辅助存储控制器的磁道的标识;以及
在第二数据结构中存储通过所述总线接口被写入的、为了所述数据同步而将要从所述主存储控制器复制到所述辅助存储控制器的磁道的标识。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/840,160 | 2017-12-13 | ||
US15/840,160 US10712953B2 (en) | 2017-12-13 | 2017-12-13 | Management of a data written via a bus interface to a storage controller during remote copy operations |
PCT/IB2018/059926 WO2019116251A1 (en) | 2017-12-13 | 2018-12-12 | Management of data written via a bus interface to a storage controller during remote copy operations |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111465920A true CN111465920A (zh) | 2020-07-28 |
CN111465920B CN111465920B (zh) | 2024-02-06 |
Family
ID=66696782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880079152.1A Active CN111465920B (zh) | 2017-12-13 | 2018-12-12 | 远程复制操作期间通过总线接口被写入存储控制器的数据的管理 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10712953B2 (zh) |
JP (1) | JP7091457B2 (zh) |
CN (1) | CN111465920B (zh) |
DE (1) | DE112018006357T5 (zh) |
GB (1) | GB2581947B (zh) |
WO (1) | WO2019116251A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11726913B2 (en) | 2021-09-03 | 2023-08-15 | International Business Machines Corporation | Using track status information on active or inactive status of track to determine whether to process a host request on a fast access channel |
US11720500B2 (en) | 2021-09-03 | 2023-08-08 | International Business Machines Corporation | Providing availability status on tracks for a host to access from a storage controller cache |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7103796B1 (en) * | 2002-09-03 | 2006-09-05 | Veritas Operating Corporation | Parallel data change tracking for maintaining mirrored data consistency |
CN101038565A (zh) * | 2006-03-17 | 2007-09-19 | 国际商业机器公司 | 用于管理存储系统之间的数据拷贝的系统和方法 |
US20140108349A1 (en) * | 2012-10-17 | 2014-04-17 | International Business Machines Corporation | Merging an out of synchronization indicator and a change recording indicator in response to a failure in consistency group formation |
CN103777897A (zh) * | 2012-10-17 | 2014-05-07 | 国际商业机器公司 | 用于在主要存储位置和辅助存储位置之间复制数据的方法和系统 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3563541B2 (ja) * | 1996-09-13 | 2004-09-08 | 株式会社東芝 | データ格納装置及びデータ格納方法 |
US6748502B2 (en) * | 2001-01-12 | 2004-06-08 | Hitachi, Ltd. | Virtual volume storage |
US7747576B2 (en) | 2002-02-20 | 2010-06-29 | International Business Machines Corporation | Incremental update control for remote copy |
US6907507B1 (en) | 2002-12-19 | 2005-06-14 | Veritas Operating Corporation | Tracking in-progress writes through use of multi-column bitmaps |
US7627729B2 (en) * | 2006-09-07 | 2009-12-01 | International Business Machines Corporation | Apparatus, system, and method for an improved synchronous mirror swap |
US8046548B1 (en) | 2007-01-30 | 2011-10-25 | American Megatrends, Inc. | Maintaining data consistency in mirrored cluster storage systems using bitmap write-intent logging |
US8250323B2 (en) * | 2007-12-06 | 2012-08-21 | International Business Machines Corporation | Determining whether to use a repository to store data updated during a resynchronization |
WO2011036015A1 (en) | 2009-09-24 | 2011-03-31 | International Business Machines Corporation | Data storage using bitmaps |
US8694700B1 (en) | 2010-09-29 | 2014-04-08 | Emc Corporation | Using I/O track information for continuous push with splitter for storage device |
US9389799B2 (en) | 2013-05-22 | 2016-07-12 | International Business Machines Corporation | Parallel processes for performing multiple incremental copies |
US9250832B2 (en) | 2013-06-03 | 2016-02-02 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Confirmed divert bitmap to synchronize raid firmware operations with fast-path hardware I/O processing |
US9239679B2 (en) | 2013-12-19 | 2016-01-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System for efficient caching of swap I/O and/or similar I/O pattern(s) |
US9535610B2 (en) | 2014-02-21 | 2017-01-03 | International Business Machines Corporation | Optimizing peer-to-peer remote copy (PPRC) transfers for partial write operations using a modified sectors bitmap |
US10133760B2 (en) | 2015-01-12 | 2018-11-20 | International Business Machines Corporation | Hardware for a bitmap data structure for efficient storage of heterogeneous lists |
US9601151B1 (en) | 2015-10-26 | 2017-03-21 | International Business Machines Corporation | Reducing data storage system I/O bandwidth via read-once point in time copy |
US10353870B2 (en) | 2016-02-17 | 2019-07-16 | Netapp Inc. | Tracking structure for data replication synchronization |
-
2017
- 2017-12-13 US US15/840,160 patent/US10712953B2/en active Active
-
2018
- 2018-12-12 GB GB2010560.7A patent/GB2581947B/en active Active
- 2018-12-12 DE DE112018006357.7T patent/DE112018006357T5/de active Pending
- 2018-12-12 WO PCT/IB2018/059926 patent/WO2019116251A1/en active Application Filing
- 2018-12-12 CN CN201880079152.1A patent/CN111465920B/zh active Active
- 2018-12-12 JP JP2020531531A patent/JP7091457B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7103796B1 (en) * | 2002-09-03 | 2006-09-05 | Veritas Operating Corporation | Parallel data change tracking for maintaining mirrored data consistency |
CN101038565A (zh) * | 2006-03-17 | 2007-09-19 | 国际商业机器公司 | 用于管理存储系统之间的数据拷贝的系统和方法 |
US20140108349A1 (en) * | 2012-10-17 | 2014-04-17 | International Business Machines Corporation | Merging an out of synchronization indicator and a change recording indicator in response to a failure in consistency group formation |
CN103777897A (zh) * | 2012-10-17 | 2014-05-07 | 国际商业机器公司 | 用于在主要存储位置和辅助存储位置之间复制数据的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111465920B (zh) | 2024-02-06 |
GB2581947A (en) | 2020-09-02 |
US20190179545A1 (en) | 2019-06-13 |
US10712953B2 (en) | 2020-07-14 |
GB2581947B (en) | 2021-01-20 |
GB202010560D0 (en) | 2020-08-26 |
DE112018006357T5 (de) | 2020-10-01 |
JP2021507351A (ja) | 2021-02-22 |
WO2019116251A1 (en) | 2019-06-20 |
JP7091457B2 (ja) | 2022-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11079966B2 (en) | Enhanced soft fence of devices | |
US10073747B2 (en) | Reducing recovery time in disaster recovery/replication setup with multitier backend storage | |
US10936423B2 (en) | Enhanced application write performance | |
US10606489B2 (en) | Sidefiles for management of data written via a bus interface to a storage controller during consistent copying of data | |
CN111066005B (zh) | 响应于经由总线接口上的i/o操作产生的高速缓存命中对元数据道的异步更新 | |
US9886349B2 (en) | Point-in-time copy on write for golden image | |
US10656852B2 (en) | Performing preprocessing operations in anticipation of log file writes | |
US11281380B2 (en) | Management of data written via a bus interface to a storage controller during consistent copying of data | |
CN111465920B (zh) | 远程复制操作期间通过总线接口被写入存储控制器的数据的管理 | |
US10976941B2 (en) | Validation of storage volumes that are in a peer to peer remote copy relationship | |
US10789008B2 (en) | Reducing write collisions in data copy | |
US20150134617A1 (en) | Volume snapshot in a shared environment | |
US20170351440A1 (en) | Data loss recovery in a secondary storage controller from a primary storage controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |