CN112579000A - 数据集覆盖保护 - Google Patents
数据集覆盖保护 Download PDFInfo
- Publication number
- CN112579000A CN112579000A CN202011016147.1A CN202011016147A CN112579000A CN 112579000 A CN112579000 A CN 112579000A CN 202011016147 A CN202011016147 A CN 202011016147A CN 112579000 A CN112579000 A CN 112579000A
- Authority
- CN
- China
- Prior art keywords
- data
- write operation
- computer
- data set
- storage
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000013500 data storage Methods 0.000 claims abstract description 10
- 238000004590 computer program Methods 0.000 claims abstract description 7
- 230000015654 memory Effects 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 17
- 230000002265 prevention Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000012795 verification Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 239000007787 solid Substances 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 239000000835 fiber Substances 0.000 description 4
- ZGRQPKYPJYNOKX-XUXIUFHCSA-N Cys-Cys-His-His Chemical compound C([C@H](NC(=O)[C@H](CS)NC(=O)[C@H](CS)N)C(=O)N[C@@H](CC=1NC=NC=1)C(O)=O)C1=CN=CN1 ZGRQPKYPJYNOKX-XUXIUFHCSA-N 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000002405 diagnostic procedure Methods 0.000 description 2
- 230000002427 irreversible effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static 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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/004—Error avoidance
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0653—Monitoring storage devices or systems
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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]
-
- 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/0671—In-line storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
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)
- Quality & Reliability (AREA)
- Storage Device Security (AREA)
Abstract
本公开涉及数据集覆盖保护。公开了一种用于防止数据存储系统中的数据覆盖的方法。在一个实施例中,这种方法检测针对数据存储系统的存储区域的写操作。所述写操作包括格式写操作和全磁道写操作中的一个或多个。在检测到所述写操作时,所述方法确定与所述存储区域相关联的数据集。所述方法分析与所述数据集相关联的元数据,以确定所述存储区域是否包含有效数据。如果所述存储区域包含有效数据,则所述方法执行数据保护操作,所述数据保护操作防止执行所述写操作和/或记录所述写操作的详细信息。还公开了相应的系统和计算机程序产品。
Description
技术领域
本发明涉及用于防止数据存储环境中的数据覆盖的系统和方法。
背景技术
计算系统产生的数据通常易受错误影响。例如,在多个用户可能同时访问同一生产数据的网络环境中,生产数据对错误的敏感性很高。在此类环境中可能发生的一种错误是数据集覆盖。由于这种错误,数据被错误地写入先前存储的数据,从而损坏并可能导致先前存储的数据不可逆转地丢失。例如,当将来自第一数据集的数据错误地写在第二数据集的数据上时,可能会发生数据覆盖。这可能是程序错误、恶意活动、人为错误等导致的。在生产数据从主位置镜像到辅助位置的环境中,与数据集覆盖关联的错误也可能被镜像,从而导致辅助位置的数据丢失或损坏。数据集覆盖可能会对数据存储环境产生巨大影响,不仅造成数据丢失,还可能导致系统中断。
不幸的是,在数据存储环境中数据集覆盖可能极难检测和诊断。z/OS环境中当前的检测和诊断方法通常利用通用跟踪工具(GTF)跟踪来检测和诊断数据集覆盖。但是,这种类型的跟踪可能需要大量开销才能执行。通常,它也不会阻止数据集覆盖的发生。此外,除非如果一个数据集覆盖发生后很快被检测并记录,GTF跟踪数据通常包装(即,覆盖它本身)从而消除了需要诊断的数据,并使其无法被服务人员所用。
鉴于前述内容,需要系统和方法来更有效地诊断和防止数据覆盖。理想地,与诸如通用跟踪工具(GTF)或其他实用程序之类的诊断实用程序相比,此类系统和方法将减少开销。
发明内容
响应于当前技术水平,特别是响应于当前可用系统和方法尚未完全解决的现有技术中的问题和需求,开发了本发明。因此,已经开发了本发明的实施例以防止数据存储环境中的数据覆盖。根据以下描述和所附权利要求,本发明的特征和优点将变得更加完全明显,或者可以通过以下所述的本发明的实践而获知。
与前述一致,公开了一种用于防止数据存储系统中的数据覆盖的方法。在一个实施例中,这种方法检测针对数据存储系统的存储区域的写操作。所述写操作包括格式写操作和全磁道写操作中的一个或多个。在检测到所述写操作时,所述方法确定与所述存储区域相关联的数据集。所述方法分析与所述数据集相关联的元数据,以确定所述存储区域是否包含有效数据。如果所述存储区域包含所述有效数据,则所述方法执行数据保护操作,所述操作防止执行所述写操作和/或记录所述写操作的详细信息。
本文还公开并要求保护相应的系统和计算机程序产品。
附图说明
为了容易理解本发明的优点,将通过参考附图中示出的特定实施例来对以上简要描述的本发明进行更具体的描述。理解这些附图仅描述了本发明的典型实施例,因此不应认为是对本发明范围的限制,将通过使用附图以附加的特征和细节来描述和解释本发明,其中:
图1是高层框图,示出了其中可以实现根据本发明的系统和方法的网络环境的示例;
图2是高层框图,示出了在图1的网络环境中使用的存储系统的一个实施例;
图3是高层框图,示出了数据覆盖防止模块,所述模块被配置为防止存储系统中的数据覆盖;
图4是示出了磁盘驱动器内的盘片、磁道和柱面的高级框图;
图5是示出了数据集中的存储空间的高级框图;和
图6是示出用于防止存储系统中的数据覆盖的方法的一个实施例的流程图。
具体实施方式
将容易理解,如本文的附图中一般性描述和示出的,本发明的部件可以以各种不同的配置来布置和设计。因此,如附图所示,对本发明的实施例的以下更详细的描述并非旨在限制所要求保护的本发明的范围,而仅是根据本发明的当前设想的实施例的某些示例的代表。参考附图,将最好地理解当前描述的实施例,其中,相同的部分始终用相同的数字表示。
本发明可以体现为系统、方法和/或计算机程序产品。所述计算机程序产品可以包括其上具有用于使处理器执行本发明的方面的计算机可读程序指令的计算机可读存储介质。
计算机可读存储介质可以是有形设备,其可以保留和存储由指令执行设备使用的指令。计算机可读存储介质可以是例如但不限于电子存储系统、磁存储系统、光存储系统、电磁存储系统、半导体存储系统或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下内容:便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器。仅内存(EPROM或闪存),静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能磁盘(DVD)、记忆棒、软盘、机械编码设备,例如打孔卡或凹槽中的凸起结构,上面记录了指令,以及上述内容的任何合适组合。如本文所使用的,计算机可读存储介质不应被理解为本身是瞬态信号,例如无线电波或其他自由传播的电磁波、通过波导传播的电磁波或其他传输介质(例如,穿过的光脉冲光纤电缆)或通过电线传输的电信号。
本文所述的计算机可读程序指令可以经由网络(例如,因特网、局域网、广域网)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储系统、局域网和/或无线网络。该网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应的计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编程序指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或任一源以一种或多种编程语言(包括面向对象的编程语言,例如Smalltalk、C++等)和常规过程编程语言(例如“C”编程语言或类似编程语言)的任何组合编写的代码或目标代码。
计算机可读程序指令可以完全在用户计算机上、部分在用户计算机上、作为独立软件包执行、部分在用户计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以与外部计算机建立连接(用于例如,通过使用Internet服务提供商的Internet)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令来个性化电子电路,以执行本发明的各个方面。
在此可以参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。将理解的是,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由计算机可读程序指令来实现。
可以将这些计算机可读程序指令提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生机制,使得该指令经由计算机或其他处理器执行可编程数据处理设备,创建用于实现流程图和/或框图方框中指定的功能/动作的装置。这些计算机可读程序指令也可以存储在计算机可读存储介质中,该计算机可读存储介质可以指导计算机、可编程数据处理装置和/或其他设备以特定方式起作用,从而使得其中存储有指令的计算机可读存储介质。包括指令的制品,该制品包括用于实现流程图和/或框图方框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理设备或其他设备上,以使得在计算机、其他可编程设备或其他设备上执行一系列操作步骤以产生计算机实现过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图方框中指定的功能/动作。
参照图1,示出了网络环境100的一个示例。呈现网络环境100以示出其中可以实现根据本发明的系统和方法的环境的一个示例。网络环境100通过示例而非限制的方式呈现。实际上,除了所示的网络环境100之外,本文公开的系统和方法可以适用于多种不同的网络环境。
如图所示,网络环境100包括通过网络104互连的一台或多台计算机102、106。网络104可以包括例如局域网(LAN)104、广域网(WAN)104、Internet104、Intranet104等。在某些实施例中,计算机102、106可以包括客户端计算机102和服务器计算机106(在本文中也称为“主机”106或“主机系统”106)。通常,客户端计算机102发起通信会话,而服务器计算机106等待并响应来自客户端计算机102的请求。在某些实施例中,计算机102和/或服务器106可以连接到一个或多个内部或外部直接连接的附加存储系统109(例如,硬盘驱动器、固态驱动器、磁带驱动器等阵列)。这些计算机102、106和直接连接的存储系统109可以使用诸如ATA、SATA、SCSI、SAS、光纤通道等协议进行通信。
在某些实施例中,网络环境100可以包括服务器106后面的存储网络108,例如存储区域网络(SAN)108或LAN108(例如,当使用网络附加存储时)。该网络108可以将服务器106连接到一个或多个存储系统,例如硬盘驱动器或固态驱动器的阵列110、磁带库112、单个硬盘驱动器114或固态驱动器114、磁带驱动器116、CD-ROM库等。为了访问存储系统110、112、114、116,主机系统106可以通过从主机106上的一个或多个端口到存储系统110、112、114和116上的一个或多个端口的物理连接进行通信。连接可以通过交换机、结构、直接连接等进行。在某些实施例中,服务器106和存储系统110、112、114、116可以使用诸如光纤通道(FC)或iSCSI之类的联网标准或协议进行通信。
参照图2,示出了包含硬盘驱动器204和/或固态驱动器204的阵列的存储系统110的一个示例。示出存储系统110以示出其中可能发生诸如数据覆盖之类的错误的示例性环境。如图所示,存储系统110包括存储控制器200、一个或多个开关202以及一个或多个存储驱动器204,例如硬盘驱动器204和/或固态驱动器204(例如,基于闪存的存储驱动器204)。存储控制器200可以使一个或多个主机系统106(例如,运行诸如z/OS,zVM或者类似的)操作系统的开放系统和/或大型机服务器106访问一个或多个存储驱动器204中的数据。
在选定的实施例中,存储控制器200包括一个或多个服务器206a、206b。存储控制器200还可包括主机适配器208和设备适配器210,以将存储控制器200分别连接到主机系统106和存储驱动器204。多个服务器206a、206b可以提供冗余以确保数据始终可供连接的主机系统106使用。因此,当一个服务器206a发生故障时,另一台服务器206b可以承担发生故障的服务器206a的I/O负载,以确保I/O能够在主机系统106和存储驱动器204之间继续。该过程可以称为“故障转移”。
在选定的实施例中,每个服务器206可以包括一个或多个处理器212和存储器214。存储器214可以包括易失性存储器(例如,RAM)以及非易失性存储器(例如,ROM、EPROM、EEPROM、硬磁盘、闪存等)。在某些实施例中,易失性和非易失性存储器可以存储在处理器212上运行并且用于访问存储驱动器204中的数据的软件模块。这些软件模块可以管理在存储驱动器204上实现的对逻辑卷322的所有读取和写入请求。
具有类似于图2所示架构的存储系统110的一个示例是IBMDS8000TM企业存储系统。DS8000TM是一种高性能、大容量的存储控制器,提供磁盘和固态存储,旨在支持连续操作。然而,本文公开的技术不限于IBMDS8000TM企业存储系统110,而是可以在任何可比较或类似的存储系统110中实现,而与制造商、产品名称或与系统110相关联的组件或组件名称无关。可以从本发明的一个或多个实施例中受益的任何存储系统被认为落入本发明的范围内。因此,仅以示例而非限制的方式介绍了IBMDS8000TM。
参照图3,诸如图1和2所示的环境可以存储并提供对易受错误影响的数据的访问。由于此类环境可能使多个用户(可能同时)访问同一产品,因此产品数据对错误的敏感性很高。在此类环境中可能发生的一种错误是数据集覆盖。由于这种错误,新的或现有的数据被错误地覆盖在先前存储的数据上,从而损坏并可能导致先前存储的数据不可逆转地丢失。在生产数据从主位置镜像到辅助位置的环境中,与数据集覆盖相关的错误和/或损坏也可能被镜像,从而在辅助位置导致数据丢失或损坏。
不幸的是,在诸如图1和2所示的环境中,数据集覆盖可能难以检测和诊断。z/OS环境中的当前检测和诊断方法通常利用广义跟踪工具(GTF)跟踪来检测和诊断数据集覆盖。但是,这种类型的跟踪可能需要大量开销才能执行。通常,它也不会阻止数据集覆盖的发生。此外,除非数据集覆盖发生后很快被检测并记录,GTF追踪数据可能包装,从而消除需要诊断的数据,并使其无法提供给服务人员。因此,需要系统和方法来更有效地诊断和防止数据集覆盖。
在某些实施例中,可以在主机系统106上实现数据覆盖防止模块300用以防止在存储系统110上进行数据覆盖。图3是示出了数据覆盖防止模块300和相关子模块的高级模块框图。数据覆盖防止模块300和相关联的子模块可以以硬件、软件、固件或其组合来实现。数据覆盖防止模块300和相关联的子模块通过示例而非限制的方式呈现。在不同的实施例中,可以提供更多或更少的子模块。例如,一些子模块的功能可以被组合成单个或更少数量的子模块,或者单个子模块的功能可以分布在多个子模块上。
如图所示,数据覆盖防止模块300可以包括检测模块302、确定模块304、识别模块306、分析模块308、数据确定模块310、保护模块312、许可模块318、应用验证模块320和块大小验证模块322中的一个或多个。保护模块312可以包括模块320和块大小验证模块322。保护模块312可以包括预防模块314和日志记录模块316中的一个或多个。如图所示,数据覆盖防止模块300和相关联的子模块在主机系统106内实现。然而,数据覆盖防止模块300和相关的子模块不限于在这样的主机系统106内实施。
如所示,检测模块302可以被配置为检测某些类型的写操作,该写操作可以与数据覆盖相关联或者更可能导致数据覆盖。例如,在某些实施例中,检测模块302可以被配置为检测格式写操作和/或全磁道写操作。当将存储空间分配给数据集336(即,记录的命名集合)时,可以使用格式写操作来格式化数据集336的磁道。这些格式写操作可以尤其建立磁道的块大小。一旦格式化后,通常不会再对磁道进行格式化。如果格式化后的磁道发生任何写操作,如果它不符合与磁道相关的已建立块大小,通常会产生一个I/O错误。因此,数据覆盖防止模块300可以被配置为检查已经被格式化之后对磁道执行的任何格式写操作,以确保不会导致不期望的数据覆盖。
相反,全磁道写操作可以用另一个全磁道图像替换磁道的整个内容,包括与块大小相关联的任何格式。数据覆盖防止模块300还可被配置为检查在磁道上执行的全磁道写操作,以确保它们不会导致不期望的数据覆盖。因此,在某些实施例中,检测模块302可以被配置为检测何时对存储系统110上的数据集336执行诸如格式写操作和/或全磁道写操作(以下称为“写操作”)之类的写操作。。
当检测到格式写操作和/或全磁道写操作时,确定模块304可以被配置为确定什么数据集336是写操作的目标。在某些实施例中,这可以通过分析诸如与写操作相关联的CCHH(柱面和头部编号)和CCW(通道命令字)之类的元数据来实现。作为参考,图4示出了磁盘驱动器204的高级视图,该磁盘驱动器204包括多个盘片402,盘片上的磁道404以及由跨多个盘片402的对应磁道404组成的柱面406。以上讨论的写操作可以针对于磁盘驱动器204中的磁道404和柱面406。在某些实施例中,可以通过分析与VTOC334、目录332和/或VSAM卷数据集(VVDS)中的一个或多个中的与数据集336相关联的元数据来确定托管数据集336的磁道404。
再次参考图3,一旦确定了与写操作相关联的数据集336,则识别模块306可以识别与数据集336相关联的元数据,并且分析模块308可以分析元数据以确定该数据集是否336具有启用的数据保护功能,可以针对可能的数据覆盖问题验证传入的写操作。这可以通过分析可以为数据集336(例如,在目录的体积表或VTOC中)和/或数据集336所驻留的卷330而设置的指示符来实现。因此,可以为数据集336和/或卷330启用数据保护特征,以使得能够验证数据集336和/或卷330级别的写操作。
如果对数据集336启用了验证,则数据确定模块310可以确定写操作是否针对数据集336中的有效数据。也就是说,数据确定模块310可以确定在数据集336的已分配存储空间500中,写操作是指向包含有效数据506的数据集336的部分504,还是指向空或不包含有效数据506的数据集336的部分502,如图5所示。如果数据组336是一个虚拟存储访问方法(VSAM)数据组336,信息在一个目录332可以在某些实施方案中被分析以确定具有高使用相对字节地址(HURBA)值。该值可以被转换为表示已经用有效数据写入的数据集336中的最后磁道的CCHH值。超出此点的任何磁道通常都不包含有效数据。对于非VSAM数据集336,可以检查VTOC334中的DS1LSTAR和DS1TRBAL值以确定有效数据的末尾在数据集336中的位置。
如果写操作(即格式写操作或全磁道写操作)被定向到包含数据集336中有效数据的区域(例如磁道),则保护模块312可以执行操作以保护有效数据并防止数据覆盖。在某些情况下,取决于数据保护特征,保护模块312内的防止模块314可以终止写操作,从而防止写操作的发生。在其他情况下,日志记录模块316可以记录写操作的细节。即,可以允许发生写操作,但是日志记录模块316可以收集关于写操作的附加信息。在某些实施例中,可以将该信息提供给服务人员,以便他们可以分析该信息以确定是否由于写操作而发生了数据覆盖或其他错误。
如果写操作未定向到数据集336中包含有效数据的区域(例如,磁道),则许可模块318可允许发生写操作。即,由于写操作将不会影响或覆盖有效数据,因此许可模块318可以允许格式写操作和/或全磁道写操作发生在数据集336上。在某些实施例中,应用验证模块320可以确定写操作是否源自受信任的应用。如果写操作源自受信任的应用程序,则即使写操作确实影响或覆盖了有效数据,权限模块318也可以允许写操作发生。
在某些实施例中,在数据集336内的存储区域(例如,磁道)不包含有效数据但仍然在数据集336的数据范围内的情况下,块大小验证模块322可以确定与写操作相关联的块大小是否对应于为数据集336的其余部分建立的块大小。这可以帮助确定写操作是有效还是错误。如果写操作的CCW包含与其余数据集336不一致的块大小值,则可以拒绝写操作(即,不发送到主机系统106和存储系统110之间的通道),并且取决于是否为数据集336启用了前面讨论的数据保护功能,可以执行诊断转储和/或创建日志条目。
参照图6,示出了用于防止存储系统110中的数据覆盖的方法600的一个实施例。在某些实施例中,这种方法600可以由先前描述的数据覆盖防止模块300执行。方法600仅是数据覆盖防止模块300如何工作的示例,并且不旨在进行限制。
如所示,方法600最初确定602是否已经接收到格式写操作或全磁道写操作。如果是这样,则方法600确定604该写操作是否源自可信应用。如果是这样,则方法600允许606执行写操作。
如果写操作不是源自受信任的应用程序,则方法600确定608与写操作相关联的数据集336。在某些实施例中,这可以通过分析与写操作相关联的CCHH和CCW值并确定与该值相对应的数据集336来实现。一旦确定608数据集336,方法600就确定610数据集336是否具有启用的数据保护功能。换句话说,方法600确定610是否应该验证写操作。如果未启用数据保护功能,则方法600允许对数据集336执行写操作606。
如果,在另一方面,在数据保护功能被启用,则该方法600识别并分析612与数据设置336相关联的元数据(例如,目录332,VTOC334等)。这可以完成,以确定其中有效数据在数据集336的已分配存储空间500内结束。此时,方法600确定614写操作是否将覆盖数据集336中的有效数据。如果是,则方法600执行616数据保护操作保护有效数据。在某些实施例中,数据保护操作涉及拒绝写操作,以便它不修改数据集336。在其他实施例中,如果以及何时针对数据集336执行数据保护操作,则数据保护操作执行日志记录以收集关于写操作的附加信息。
在该事件的写操作没有重写的有效数据,方法600可以检查618与写操作相关联的符合对其他部分的数据的块大小(例如,磁道)的块大小是否设定336。如果否,方法600通过拒绝写操作和/或记录写操作的细节来执行先前描述的数据保护功能。另一方面,如果与写操作相关联的块大小符合数据集336的其余部分的块大小,则方法600允许606针对数据集336执行写操作。
附图中的流程图和/或框图示出了根据本发明的各个实施例的系统、方法和计算机可用介质的可能实现的架构、功能和操作。就这一点而言,流程图或框图中的每个框可以代表代码的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。还应注意,在一些替代实施方式中,方框中指出的功能可以不按图中指出的顺序发生。例如,取决于所涉及的功能,实际上可以基本上同时执行连续示出的两个框,或者有时可以以相反的顺序执行这些框。还应注意,框图和/或流程图说明的每个方框以及框图和/或流程图说明中的方框的组合可以由执行指定功能或动作的基于专用硬件的系统来实现,或专用硬件和计算机指令的组合。
Claims (10)
1.一种用于防止数据存储系统中的数据覆盖的方法,所述方法包括:
检测针对数据存储系统的存储区域的写操作,所述写操作包括格式写操作和全磁道写操作中的至少一种;
确定与所述存储区域关联的数据集;
分析与所述数据集相关的元数据,以确定所述存储区域是否包含有效数据;并且
在所述存储区域包含有效数据的情况下,执行数据保护操作,所述数据保护操作是防止所述写操作和所述写操作的记录细节中的至少一项。
2.根据权利要求1所述的方法,还包括:如果所述存储区域不包含有效数据,则允许对所述存储区域执行所述写操作。
3.根据权利要求1所述的方法,还包括:如果所述存储区域包含有效数据但是所述写操作源自受信任的应用,则允许对所述存储区域执行写操作。
4.根据权利要求1所述的方法,还包括:如果所述存储区域不包含有效数据但是所述存储区域在所述数据集的分配空间内,则确定与所述写操作相关联的块大小是否符合与数据集相关联的块大小。
5.根据权利要求4所述的方法,还包括:如果与所述写操作相关联的块大小不符合与所述数据集相关联的块大小,则防止对所述存储区域执行所述写操作。
6.根据权利要求4所述的方法,其进一步包含在与所述写操作相关联的所述块大小符合与所述数据集相关联的所述块大小的情况下,允许对所述存储区域执行所述写操作。
7.根据权利要求1所述的方法,其中执行所述数据保护操作包括:允许对所述存储区域执行所述写操作,同时还记录所述写操作的细节。
8.一种计算机程序产品,该计算机程序产品包括:
一个或多个计算机可读存储介质和在所述一个或多个计算机可读存储介质上存储的程序指令,所述程序指令可由一个或多个计算机处理器读取和执行,以实现根据权利要求1至7中的任何一项所述的方法所包含的步骤。
9.一种计算机系统,该计算机系统包括:
一个或多个计算机处理器;
一个或多个计算机可读存储介质;以及
在计算机可读存储介质上存储的程序指令,所述程序指令由所述一个或多个计算机处理器中的至少一个执行,所述程序指令包括用以实现根据权利要求1至7中的任何一项所述的方法所包含的步骤的对应程序代码。
10.一种计算机装置,包括一个或多个逻辑模块,所述一个或多个逻辑模块分别被配置为用来实现根据权利要求1至7中的任何一项所述的方法所包含的对应步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/587,377 US11614868B2 (en) | 2019-09-30 | 2019-09-30 | Data set overlay protection |
US16/587,377 | 2019-09-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112579000A true CN112579000A (zh) | 2021-03-30 |
Family
ID=75120175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011016147.1A Pending CN112579000A (zh) | 2019-09-30 | 2020-09-24 | 数据集覆盖保护 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11614868B2 (zh) |
CN (1) | CN112579000A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6112277A (en) * | 1997-09-25 | 2000-08-29 | International Business Machines Corporation | Method and means for reducing device contention by random accessing and partial track staging of records according to a first DASD format but device mapped according to a second DASD format |
US20030126359A1 (en) * | 2001-12-27 | 2003-07-03 | Jacques Debiez | Virtual worm method and system |
US6715030B1 (en) * | 2000-06-09 | 2004-03-30 | Storage Technology Corporation | Apparatus and method for storing track layout information for performing quick write operations |
CN101354715A (zh) * | 2007-02-13 | 2009-01-28 | 三星电子株式会社 | 用于操作数据处理系统的系统、方法和计算机程序产品 |
CN102651009A (zh) * | 2011-02-28 | 2012-08-29 | 国际商业机器公司 | 一种存储系统中检索数据的方法和设备 |
CN102884502A (zh) * | 2010-05-20 | 2013-01-16 | 国际商业机器公司 | 管理对在存储器件之间迁移的磁道延伸区的写入操作 |
US9471235B1 (en) * | 2015-05-26 | 2016-10-18 | International Business Machines Corporation | Storage device data overlay tracking and prevention |
CN110286853A (zh) * | 2019-06-06 | 2019-09-27 | 大唐微电子技术有限公司 | 一种数据写入方法和装置、计算机可读存储介质 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60107155A (ja) * | 1983-11-16 | 1985-06-12 | Hitachi Ltd | 記憶ボリユ−ムのデ−タ保護方式 |
JPH0279266A (ja) * | 1988-09-16 | 1990-03-19 | Hitachi Ltd | 磁気ディスク装置およびその制御方式 |
JP3583829B2 (ja) * | 1995-04-13 | 2004-11-04 | 株式会社日立製作所 | 外部記憶サブシステムの制御方法および制御装置 |
GB9805325D0 (en) * | 1998-03-13 | 1998-05-06 | Hewlett Packard Co | Tape data storage cartridge with memory |
US7310743B1 (en) * | 2001-06-12 | 2007-12-18 | Emc Corporation | Data recovery method and apparatus |
US20050044548A1 (en) | 2003-08-20 | 2005-02-24 | John Page | Efficient replication of embedded operating system with a write filter and overlay partition |
US8818950B2 (en) * | 2004-01-22 | 2014-08-26 | Symantec Corporation | Method and apparatus for localized protected imaging of a file system |
US20060002246A1 (en) * | 2004-06-30 | 2006-01-05 | International Business Machines Corporation | Sector-based worm implementation on random access memory |
US7469314B2 (en) * | 2005-03-10 | 2008-12-23 | International Business Machines Corporation | Magnetic tape write once overwrite protection |
US7694119B1 (en) * | 2006-03-30 | 2010-04-06 | Emc Corporation | Techniques for device initialization |
US9792348B2 (en) | 2006-04-28 | 2017-10-17 | Bmc Software, Inc. | Overlay dataset |
US7818633B2 (en) | 2007-06-29 | 2010-10-19 | International Business Machines Corporation | Method and apparatus for identification of program check errors indicating code with high potential for storage overlay |
US7962684B2 (en) | 2008-02-14 | 2011-06-14 | Sandisk Corporation | Overlay management in a flash memory storage device |
US8327087B1 (en) | 2008-12-31 | 2012-12-04 | Micron Technology, Inc. | Method and apparatus for an always open write-only register based memory mapped overlay interface for a nonvolatile memory |
US9824095B1 (en) | 2010-05-03 | 2017-11-21 | Panzura, Inc. | Using overlay metadata in a cloud controller to generate incremental snapshots for a distributed filesystem |
KR101996641B1 (ko) | 2012-02-06 | 2019-07-04 | 삼성전자주식회사 | 메모리 오버레이 장치 및 방법 |
US9632700B2 (en) | 2014-07-02 | 2017-04-25 | International Business Machines Corporation | Managing a shared storage system using hardware identifiers to deter data/file corruption |
US10140149B1 (en) * | 2015-05-19 | 2018-11-27 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
US10621101B2 (en) | 2017-02-01 | 2020-04-14 | Wyse Technology L.L.C. | Mechanism to free up the overlay of a file-based write filter |
US10353636B2 (en) | 2017-02-06 | 2019-07-16 | Wyse Technology L.L.C. | Write filter with dynamically expandable overlay |
US10146694B1 (en) | 2017-04-28 | 2018-12-04 | EMC IP Holding Company LLC | Persistent cache layer in a distributed file system |
US10725676B2 (en) * | 2018-05-11 | 2020-07-28 | Seagate Technology, Llc | Write once read many (WORM) drive for security or large storage needs |
US11061750B2 (en) * | 2018-09-06 | 2021-07-13 | International Business Machines Corporation | Corrupted track analyzer |
-
2019
- 2019-09-30 US US16/587,377 patent/US11614868B2/en active Active
-
2020
- 2020-09-24 CN CN202011016147.1A patent/CN112579000A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6112277A (en) * | 1997-09-25 | 2000-08-29 | International Business Machines Corporation | Method and means for reducing device contention by random accessing and partial track staging of records according to a first DASD format but device mapped according to a second DASD format |
US6715030B1 (en) * | 2000-06-09 | 2004-03-30 | Storage Technology Corporation | Apparatus and method for storing track layout information for performing quick write operations |
US20030126359A1 (en) * | 2001-12-27 | 2003-07-03 | Jacques Debiez | Virtual worm method and system |
CN101354715A (zh) * | 2007-02-13 | 2009-01-28 | 三星电子株式会社 | 用于操作数据处理系统的系统、方法和计算机程序产品 |
CN102884502A (zh) * | 2010-05-20 | 2013-01-16 | 国际商业机器公司 | 管理对在存储器件之间迁移的磁道延伸区的写入操作 |
CN102651009A (zh) * | 2011-02-28 | 2012-08-29 | 国际商业机器公司 | 一种存储系统中检索数据的方法和设备 |
US9471235B1 (en) * | 2015-05-26 | 2016-10-18 | International Business Machines Corporation | Storage device data overlay tracking and prevention |
CN110286853A (zh) * | 2019-06-06 | 2019-09-27 | 大唐微电子技术有限公司 | 一种数据写入方法和装置、计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11614868B2 (en) | 2023-03-28 |
US20210096752A1 (en) | 2021-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200394112A1 (en) | Reducing incidents of data loss in raid arrays of differing raid levels | |
US11947413B2 (en) | Dynamic system log preprocessing | |
US20200065198A1 (en) | Deleted data set preservation and recovery | |
US10289476B2 (en) | Asynchronous mirror inconsistency correction | |
US10929037B2 (en) | Converting a RAID to a more robust RAID level | |
US10783042B2 (en) | System and method of assessing and managing storage device degradation | |
US11144409B2 (en) | Recovering from a mistaken point-in-time copy restore | |
US11442826B2 (en) | Reducing incidents of data loss in raid arrays having the same raid level | |
US11221768B2 (en) | Safe shared volume access | |
US10929248B2 (en) | Data corruption source and timeline analysis | |
US11614868B2 (en) | Data set overlay protection | |
US10599508B2 (en) | I/O error diagnostics | |
US11061750B2 (en) | Corrupted track analyzer | |
US10552245B2 (en) | Call home message containing bundled diagnostic data | |
US10795780B2 (en) | Data breach source and timeline analysis | |
US10592349B2 (en) | Storage control device and storage apparatus | |
US9690508B1 (en) | PDSE physical dump anonymizer | |
US10963179B2 (en) | Accidental-volume-removal prevention | |
US11016862B2 (en) | Error-initiated mirror redrive to collect diagnostic information | |
US11087009B2 (en) | Authorization-based messaging | |
US10929249B2 (en) | Optimized data corruption source and timeline analysis | |
US10503417B2 (en) | Data element validation in consistency groups | |
US20170123716A1 (en) | Intelligent data movement prevention in tiered storage environments | |
US10866752B2 (en) | Reclaiming storage space in raids made up of heterogeneous storage drives | |
US10761943B2 (en) | Multi-section full volume backups |
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 |