WO2011069772A1 - Logical data object reuse in a virtual server - Google Patents

Logical data object reuse in a virtual server Download PDF

Info

Publication number
WO2011069772A1
WO2011069772A1 PCT/EP2010/067287 EP2010067287W WO2011069772A1 WO 2011069772 A1 WO2011069772 A1 WO 2011069772A1 EP 2010067287 W EP2010067287 W EP 2010067287W WO 2011069772 A1 WO2011069772 A1 WO 2011069772A1
Authority
WO
WIPO (PCT)
Prior art keywords
data object
logical data
worm
write
logical
Prior art date
Application number
PCT/EP2010/067287
Other languages
English (en)
French (fr)
Inventor
Joseph Swingler
Jonathan Wayne Peake
Thomas William Bish
Erika Marianna Dawson
Michael William Wood
Original Assignee
International Business Machines Corporation
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corporation filed Critical International Business Machines Corporation
Priority to CN201080055634.7A priority Critical patent/CN102713851B/zh
Priority to DE112010004076T priority patent/DE112010004076T5/de
Priority to GB1208997.5A priority patent/GB2488072B/en
Publication of WO2011069772A1 publication Critical patent/WO2011069772A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0686Libraries, e.g. tape libraries, jukebox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Definitions

  • the invention relates to data storage with respect to data storage systems, and more particularly to a system for dynamic reuse of logical data objects.
  • WORM write once read many
  • media type itself, so that a single physical data object cannot be both a standard read- write data object and a WORM enforced data object.
  • These two media types are made mutually exclusive at manufacturing time. While it would be advantageous to have a common pool of physical media used for both WORM and read- write data object, it has not been physically possible based on the attributes bound to the media at manufacturing time.
  • One WORM attribute required of WORM media is a 12 byte World Wide Identifier (WWID) that is unique per each media cartridge created.
  • the WWID is used by software to tie written content on the media to a world unique instance of that media independent of any potential labeling changes of the data object. This allows software to detect anomalies or malicious behavior that may result in one data object being mistaken for another different physical media instance.
  • volume is often used to describe a single accessible data storage area with a single file system that is resident on a media, such as a tape of a tape drive.
  • data object logical object
  • logical data object and “object” are used to refer to a volume, such as a tape volume or virtual tape volume.
  • volume is used interchangeably with “tape volume”, “virtual tape volume”, tape VOLSER (Volume Serial number), tape file volume, file volume, and file system.
  • a logical WORM environment has the same requirement for the WWID.
  • the logical data objects may be inserted/created in a virtual library using an emulated media type.
  • Software must know the independent media pools to direct appropriate input and/or output to the intended media pool. It would be advantageous if the virtual library could manage one common media pool and not need separate media pools for standard read- write and logical WORM data objects.
  • different logical WORM media data objects with the same data object serial number must be detectable.
  • each tape cartridge has the WWID generated and embedded into the cartridge at the time of manufacture independent of its data object serial number or VOLSER.
  • Application software honoring WORM media may use the WWID in order to detect when the physical media has been replaced, thus detecting potential malicious behavior.
  • a physical media object may not be directly associated with a virtual object.
  • the virtual object may be a simple file stored in a disk subsystem.
  • the file then has meta-data associated with it that can be stored in a database independent of the file.
  • the chain of custody patterns of the file may complicate things since the virtual object may be replicated and/or offloaded to multiple physical data objects.
  • the overall lifecycle of the virtual object may introduce numerous events where its contents may be compromised.
  • an independent server may write the same data object serial number that may be stacked to a physical cartridge. If that physical cartridge were to be relabeled and inserted falsely into the original server, its contents, including the stacked logical data object, may not be detected as different or having changed.
  • a data object is mistakenly returned to a common pool in a 'scratch' state.
  • a data object either WORM or read- write, in a scratch state indicates that any data on the data object as expired, or is invalid, and can be deleted, or overwritten, and the data object reused as a new data object.
  • this represents a data loss condition that is particularly undesirable. If such a mistake occurs, a previously written WORM data object could be overwritten with non-WORM type data or different WORM data.
  • the system includes a virtual tape server supporting at least one Write Once Read Many (WORM) logical data object and at least one read- write logical data object.
  • the virtual server comprises a processor configured to initialize a logical data object from a common pool of at least two logical data objects.
  • the logical data object is bound with a member of a media type group in response to a write command to beginning of logical data object to replace any information previously associated with the logical data object.
  • the media type group members comprise a WORM logical data object and a read- write logical data object.
  • the processor is configured to reuse one of the logical data objects as the member of the media type group without ejection and reinsertion by mounting the logical data object with a write from beginning of logical data object to bind at least one data attribute to the member of the media type group to replace any previous attribute and data associated with the logical data object.
  • a virtual server comprises a processor configured to select one of the WORM logical data objects for reuse as a new WORM logical data object.
  • the processor maintains data attributes bound to the selected WORM logical data object until it is determined that the selected WORM logical data object is available for reuse.
  • the processor assigns at least one temporary data attribute to the selected WORM logical data object while maintaining the data attributes bound to the selected WORM logical data object.
  • the temporary data attribute enables the processor to validate, by determining that the data stored on the WORM logical data object has expired, or is no longer valid, that the selected WORM logical data object can be reused as a new WORM logical data object or a non-WORM logical data object.
  • the processor mounts the selected WORM logical data object and if validated by the server, receives a write command from beginning of logical data object to bind at least one data attribute to the selected WORM logical data object to replace data attributes and data associated with the selected WORM logical data object to reuse the selected WORM logical data object as the new WORM logical data object.
  • a method for operating a virtual server supporting at least one Write Once Read Many (WORM) logical data object and at least one read- write logical object comprises initializing a logical data object from a common pool of the logical data objects, the logical data object bound with a member of a media type group in response to a write command to beginning of logical data object to replace the any information previously associated with the logical data object.
  • the member of the media type group comprises a WORM logical data object and a read- write logical data object.
  • Reusing one of the logical data objects as the member of the media type group without ejection and reinsertion by mounting the logical data object with a write from beginning of logical data object to bind at least one data attribute to the member of the media type group to replace any previous attribute and data associated with the logical data object.
  • a computer program product that comprises a computer usable medium having computer usable program code embodied therewith.
  • the computer usable program code is configured to operate a processor to operate a virtual server configured to support at least one Write Once Read Many (WORM) logical data object and at least one read- write logical data object.
  • the computer usable program code is further configured to initialize the logical data object from the common pool of the logical data objects, with the logical data object bound with a member of a media type group in response to the write to the beginning of the logical data object to replace the any
  • the member of the media type group consisting of a WORM data object and a read- write data object.
  • the computer usable program code is further configured to reuse one of the logical data objects as the member of the media type group without ejection and reinsertion by mounting the logical data object with a write from beginning of the logical data object to bind at least one data attribute to the member of the media type group to replace any previous attribute and data associated with the logical data object.
  • Figure 1 is a diagrammatic illustration of a virtual server that may be embodied in the systems of Figures 7 to 8;
  • Figure 2 is a diagrammatic illustration of media type group members
  • Figures 3 to 5 are flowcharts of various operations of the virtual server
  • Figure 6 is an isometric view of a removable data storage cartridge with a media, such as magnetic tape, and with a cartridge memory shown in phantom;
  • Figure 7 is a diagrammatic illustration of information of a logical data object
  • Figure 8 is a diagrammatic illustration of a data storage system which may implement the invention.
  • Figure 9 is a diagrammatic illustration of a server of the data storage system of Figure 8.
  • the system includes a virtual tape server supporting at least one Write Once Read Many (WORM) logical data object and at least one read- write logical data object.
  • the virtual server comprises a processor configured to initialize a logical data object from a common pool of at least two logical data objects.
  • the logical data object is bound with a member of a media type group in response to a write command to beginning of logical data object to replace any information previously associated with the logical data object.
  • the media type group members comprise a WORM logical data object and a read- write logical data object.
  • the processor is configured to reuse one of the logical data objects as the member of the media type group without ejection and reinsertion by mounting the logical data object with a write from beginning of logical data object to bind at least one data attribute to the member of the media type group to replace any previous attribute and data associated with the logical data object.
  • the virtual server may include a management interface where policy based construct definitions can be configured.
  • mounts logical data objects constructs are provided stating how the system should manage data of the logical data objects.
  • Rules are defined, through indirection for example, via the management interface. The rules determine if the mounted logical data object should be treated as Write Once Read Many (WORM) or read-write.
  • WORM Write Once Read Many
  • a temporary data attribute such as temporary World Wide Identifier (WWID)
  • WWID World Wide Identifier
  • the server accepts the selected logical data object, a first write command to beginning of logical data object will occur. At this time, the WWID is bound to the logical data object and retains its WORM attributes. If the logical data object was previously a WORM logical data object, its data and previous WWID is atomically overwritten at this time, which simulates an eject and re-insertion of different media with the same VOLSER (Volume Serial number). While the logical data object is mounted, the virtual server will move the logical data object out of a scratch pool and into a private pool to prevent circular reuse of the logical data object.
  • VOLSER Volume Serial number
  • the virtual server When a read- write or WORM logical data object is believed to no longer have valid content with respect to the host, all data stored on the logical data object has expired, the virtual server will move the logical data object from the private pool to a common scratch pool comprising both WORM and read-write logical data objects. This allows the logical data object to again be a candidate for future mounts and reuse. Future mounts can then re-bind the logical data object as either read-write or WORM.
  • a logical data object may have inadvertently been moved into a scratch pool, then selected for a scratch mount.
  • the virtual server determines that the selected logical data object was inadvertently moved into a scratch pool and the selected logical data object contains valid or unexpired data.
  • the virtual server then fails the mount operation and the unexpired or valid data, along with the media type, either WORM or read-write, is maintained. Simultaneously, the virtual server moves the selected logical data object back into a protected private pool, which prevents any of the existing WORM protected data on the selected logical data object from being lost.
  • the virtual server may inadvertently move a selected logical data object into a scratch pool and then move it back to a private pool before it is reused. This moving of a logical data object from a private pool to a scratch pool, and then back to the private pool does not cause any loss of the WORM protected data on the selected logical data object. Only when a reuse of a selected logical data object occurs, where a write command from beginning of logical data object is issued, will any existing data and data attributes associated with the selected logical data object overwritten and any previous data be truncated.
  • embodiments of the virtual server are configured to protect previous WORM objects even though they have been made available for reuse, such as by indicating that the data on the logical data object is invalid, and placing them in a state which allows reversal of the decision by the processor.
  • WORM data objects there are requirements that must be met to protect the data object against being modified or overwritten. There is no requirement to protect the previous WORM object from destruction. Whether the object is to be made a new WORM or whether it is to be made a read/write, the reuse is held until the host indicates it is ready to write at Beginning of Logical data object, referred to in the art as "Beginning of Tape" (BOT), which indicates that the host agrees with the reuse. At that point, all the data of the WORM, and associated information such as the previous WWID, are deleted, and the logical object is assigned a new WWID and bound as a WORM or is made a read/write object.
  • BOT Beginning of Tape
  • a virtual server 100 may include a processor 102, which may include a hierarchical storage node 60 and a virtualization node 40 (both shown in Figure 8) that may be configured to operate in the virtual server 100, based upon the following description.
  • the virtual server 100 supports at least one Write Once Read Many (WORM) logical data objects 108 and at least one read- write logical data object 109 that reside in a common pool 106.
  • a processor 102 is configured to initialize a new logical data object 104 from the common pool 106 of at least two logical data objects 108 and 109.
  • the new logical data object 104 is bound with a media type group member 110 in response to a write command to beginning of the logical data object 114, i.e. a write beginning of tape (BOT) command, to replace any information previously associated with the logical data object 107.
  • BOT write beginning of tape
  • the information previously associated with the logical data object 107 may include a previous World Wide Identifier (WWID) 115, media type (such as WORM or read- write) 116, write mount count 118 and attributed content 113.
  • WWID World Wide Identifier
  • the new logical data object is bound with a member of a media type group comprising a WORM data object 120 and a read- write data object 122 as shown in Figure 2.
  • the processor 102 is configured to reuse one of the logical data objects 107 as the media type group member 110 without ejection and reinsertion by mounting the logical data object with a write from beginning of the logical data object to bind at least one data attribute 112 to the media type group member 110 to replace any previous attribute 112, 115, 116, 118 and data 113 associated with the logical data object 107.
  • the processor 102 may further be configured to utilize a logical data object 107 from the common pool 106 as the new logical data object 104 with its previous data object serial number 114, a previous data object logical media type 116 and a previous write mount count 118.
  • the processor 102 generates a new World Wide Identifier (WWID) 119 for the new logical data object 104 that is probabilistically non-repeatable.
  • the processor 102 may be configured to bind the new WWID 119 and the media type group member 110 to a logical data object 107 to create the new logical data object 104, thereby replacing a previous WWID 115, a previous media type 116 and a previous write mount count 118 in response to a write from the beginning of the object 114.
  • the previous write mount count 118 may be reset when the new WWID 119 and the media group type member 110 are bound to the logical data object 107 to create the new logical data object 104.
  • the new WWID 119 is bound at first write from beginning of the object command 114 replaces any previous media type 116 while removing any previously associated data 113. Until the new WWID 119 and media type group member 110 have been bound to the new logical data object 107, the previous WWID 115, the previous media type 116, the previous write mount count 118 and any previous associated data 113 may still be retrieved from the logical data object 107.
  • the processor 102 may be configured to respond to mounting a data object 103 with an anticipated write from load point to use the data object as the logical data object 107 to create the new logical data object 104.
  • the processor 102 operates the virtual server 100 by responding to a mount of the data object 103 with an anticipated write from load point by using the data object 103 as the logical data object 107 to create the new logical data object 104.
  • the processor 102 may be configured to reset the write mount count 118 when the new WWID 119 and the media type group member 110 are bound to the new logical data object 104.
  • the processor 102 cycles the WORM logical data object 108 through the common pool 106 as a selected scratch logical data object 107 with the common pool comprising scratch logical data objects that may include a WORM logical data object 108 and a read- write logical data object 109. Reuse of the selected scratch logical data object 107 occurs only upon the processor cycling the selected scratch logical data object through the scratch pool 106.
  • the invention includes an exemplary method for operating a virtual server 100 supporting at least one Write Once Read Many (WORM) logical data objects 108 and at least one read- write logical objects 109.
  • the method includes the steps of initializing a new logical data object 104 from a common pool 106 of at least two logical data objects 108 and 109.
  • the new logical data object 104 bound with the media type group member 110 in response to a write to beginning of the logical data object 114 to replace any information 112, 113, 115, 116 and 118 previously associated with the logical data object 107.
  • One of the logical data objects 104 is reused as the media type group member 110, without ejection and reinsertion by mounting the logical data object 107 with a write from beginning of the logical data object 114 to bind at least one data attribute 112 to the media type group member 110 to replace any previous attribute 115, 116 and 118 and data 113 associated with the logical data object 107.
  • the invention comprises a computer program product that comprises a computer usable medium having computer usable program code embodied therewith.
  • the program code is configured to operate the processor 102 to operate the virtual server 100 to support at least one WORM logical data object 108 and at least one read-write logical data object 109, to initialize the new logical data object 104 from the common pool 106 of at least two logical data objects 108 and 109, the new logical data object 104 bound with the media type group member 110 in response to a write to beginning of the logical data object 114 to replace any information 113, 115, 116 and 118 previously associated with the logical data object 107.
  • the logical data object is bound with the media type group 110 and to reuse one of the logical data objects 107 as the media type group member 110 without ejection and reinsertion by mounting the logical data object 107 with a write from beginning of the logical data object 114 to bind at least one data attribute 112 to the media type group member 110 to replace any previous attribute 112, 115, 116, 118 and data 113 associated with the logical data object 117.
  • FIGS 3 to 5 show exemplary flowcharts of the operations of the processor 102 as steps that may be implemented as program instructions.
  • an exemplary flowchart of program instructions for operating the processor 102 to operate the virtual server 100 is shown.
  • Step 130 operates the processor 102 to operate as the virtual server 100 supporting at least one WORM logical data object 108 and at least one read- write data object 109.
  • Step 132 initializes the new logical data object 104 from the common pool 106 with the new logical data object bound with the medium type group member 110.
  • Step 134 reuses one of the logical data objects 104 as the media type group member 110.
  • Step 136 mounts the logical data object 104 with a write from beginning of object command 114 to bind the at least one data attribute 112 to the media type group member 110.
  • FIG. 4 shows a flowchart refining the example of program instructions 130 and in particular 132 of Figure 3 for operating the processor 102 to operate the virtual server 100 as follows:
  • Step 138 utilizes a logical data object 107 from the common pool 106 as the new logical data object 104 with its previous data object WWID 115, a previous data object logical media type 116 and a previous write mount count 118.
  • Step 140 generates a new World Wide Identifier (WWID) 119 for the new logical data object 104 that is
  • Step 142 binds the new WWID 119 and the media type group member 110 to the logical data object 107 to create the new logical data object 104, thereby replacing the previous WWID 115, the previous media type 116 and the previous write mount count 118.
  • FIG. 5 shows a flowchart refining the example of program instructions 130 and in particular 134 of Figure 3 for operating the processor 102 to operate the virtual server 100 as follows: Step 150 responds to a mount of the data object 103 with an anticipated write from load point by using the data object as the logical data object 107 to create the new logical data object 104. Step 152 resets the write mount count 118 when the new WWID 119 and the media type group member 110 are bound to the new logical data object 104. Step 154 cycling the WORM logical data object 108 through the common pool 106 as a selected scratch logical data object 107 with the common pool comprising scratch logical data objects that may be a WORM logical data object 108 or a read- write logical data object 109. Reuse of the selected scratch logical data object 107 occurs only upon the processor cycling the selected scratch logical data object through the scratch pool 106.
  • the implementations may involve software, firmware, micro-code, hardware and any combination thereof.
  • the implementation may take the form of code or logic implemented in a medium, such as memory, storage and circuitry of hierarchical storage node 60, where the medium may comprise hardware logic (e.g. an integrated circuit chip, Programmable Gate Array [PGA], Application Specific Integrated Circuit [ASIC], or other circuit, logic or device), or a computer readable storage medium, such as a magnetic storage medium (e.g.
  • an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system semiconductor or solid state memory, magnetic tape, a removable computer diskette, and random access memory [RAM], a read-only memory [ROM], a rigid magnetic disk and an optical disk, compact disk - read only memory [CD-ROM], compact disk - read/write [CD-R/W] and DVD).
  • RAM random access memory
  • ROM read-only memory
  • CD-ROM compact disk - read only memory
  • CD-R/W compact disk - read/write
  • a data storage cartridge 10 such as a magnetic tape cartridge
  • a magnetic tape cartridge comprises a cartridge based on LTO (Linear Tape Open) technology.
  • the cartridge memory (CM) 14 for example, comprises a transponder having a contactless interface, which is retained in the cartridge 10, for example, by being encapsulated by the cartridge when it is assembled, as is understood by those of skill in the art.
  • the illustrated magnetic tape cartridge is a single reel cartridge. Magnetic tape cartridges may also comprise dual reel cartridges in which the tape is fed between reels of the cartridge.
  • the magnetic tape 11 is typically arranged to store a large number of data objects of data.
  • WORM media One requirement of WORM media is that different instances of media with the same data object serial number must be detectable to protect the integrity of the data against possible malicious behavior. Where the WORM media or media treated as though it were WORM is in a physical media object, a world wide name embedded in the media cartridge 10 may be employed to detect when the physical media has been replaced, thus detecting potential malicious behavior.
  • Data is not always stored on a physical media 11 whose replacement in a physical cartridge 10 can be detected. Rather, data storage systems may store data in different forms, such as logical or virtual data, and an example of such a system is illustrated in the data storage system 20 of Figure 8.
  • data may be organized in any of various forms, called “data objects” or “objects”, the terms chosen without reference to any particular size or arrangement of data.
  • the data storage system 20 provides storage for a plurality of host systems 18, 19.
  • the data storage system 20 employs four (4) virtual tape server clusters 30 interconnected by a network 80 with each cluster 30 including a virtualization node (“VN”) 40 and a disk storage (“DK”) 50 for emulating a tape drive or tape library to hosts 18, 19.
  • Each cluster further comprises a hierarchical storage node (“HSN”) 60 for locally moving data between disk storage 50 and an automated tape library (“ATL”) 70 as well as remotely moving data between a local disk storage 50 and a remote disk storage.
  • HSN hierarchical storage node
  • ATL automated tape library
  • disk storage comprises one or more disk drives, for example, arranged as a redundant array of independent disks (RAID) or just a bunch of disks (JBOD), or solid state disk (SSD), etc.
  • RAID redundant array of independent disks
  • JBOD just a bunch of disks
  • SSD solid state disk
  • the disk storage 50 may serve as a virtual data object cache containing logical data objects that emulate data objects that may be stored on the magnetic tape 11 of Figure 6.
  • the logical data objects may stored by disk storage 50 for local and remote access thereto
  • library 70 comprises at least one robotic accessor 72 for mounting physical tape cartridges 10 in physical tape drives 73 for access to data objects stored in the physical tape cartridges 10.
  • virtualization node 40 may employ a pair of tape daemons 41 and 42 for operating on virtual data object files residing in either local cache disk storage 50 or a remote cache disk storage as directed by a host system 18, 19, and a hierarchical storage node 60 may employ a cluster manager 61, a remote file access server 62, a data mover 63, a physical tape manager 64, a cache manager 65, a recall manager 66, a database 67, a management interface 68 and a media manager 69.
  • Cluster manager 61 may coordinate operations between clusters 30 via intercluster tokens that are stored in each cluster's database 67 to determine which cluster 30 has a current copy of data and coordinates copying of data between clusters.
  • Remote file access server 62 may provide a link to cache disk storage 50 by a remote cluster.
  • Data mover 63 may control the actual data transfer operations for copies performed between clusters 30 and transfers of data between cache disk storage 50 and library 70.
  • Physical tape manager 64 may manage physical tape data objects in library 70 in multiple physical data object pools, controls reclamation, borrows/returns data objects from a scratch pool, and controls movement of physical tape cartridges 10 and the data objects between pools.
  • Cache manager 65 may control a copying of data objects between cache disk storage 50 to library 70 and any subsequent removal of a redundant copy of data in cache 50, and may provide control signals to balance data flow between cache disk storage 50 and other node 60 components.
  • Recall manager 66 may queue and control recalls of data into cache data storage 50 from library 70 on behalf of virtualization node 40 and cluster manager 61.
  • Management interface 68 may provide information about virtual tape server cluster 30 and may allow a user control and configuration of cluster 30.
  • Media manager 69 may manage the handling of physical tape cartridges 10 and error recovery, and diagnoses errors and determines if the errors were caused by a physical tape drive 73 of library 70 or a physical tape media 11 to thereby take appropriate action.
  • An example of a data storage system 20 that may implement the present invention is discussed in US Patent Application Publication 2008/0250197, and another example includes the IBM® TS7700 Virtual Tape Server.
  • a logical data object or data object 80 comprises data arranged to emulate a data object or data object physically recorded on a magnetic tape 11.
  • a magnetic tape 11 may be organized in many ways. Typically, a magnetic tape is arranged with parallel tracks, and may also be arranged with several parallel wraps of groups of parallel tracks. In one example, the magnetic tape is moved longitudinally in a first direction while a tape head system reads and writes data with respect to one wrap, and is reversed to be moved in the opposite direction and the tape head system is shifted to another wrap.
  • a disk drive typically comprises data that is recorded in a serial fashion and is read and written by a single head on the surface of a rotating disk. Thus, the data of a disk drive is typically rearranged to a format that matches that of a magnetic tape, and adds information related to the magnetic tape, in order to emulate the data of the magnetic tape.
  • Typical constructs include a header 81 at the beginning of the data object or object, followed by user data 83.
  • a trailer 88 such as at the end of the data object or object, may indicate the end of a file within the data object or object and, for example, comprises a filemark 89, and the end of the data object or object may comprise a number of additional filemarks 90 and an end of data marker 91.
  • Operations involving access to logical data objects that are emulating magnetic tape require that the data first be "mounted", to emulate loading and mounting of a magnetic tape in a magnetic tape drive, called herein a logical mount.
  • a cryptography checksum hash is difficult to reproduce when it derives from a modified payload of data. If a payload is maliciously modified, it will be near impossible for the resulting checksum hash that is regenerated to match the originally generated checksum hash.
  • the goal of the present invention is to produce a checksum value that is just as unlikely to be reproduced.
  • the payload is not being protected, but, by using nonce fields, the payload is being manipulated to produce a value that is highly unlikely to ever be reproduced. For example, the use of a field that is never likely to occur a 2nd time in the payload, such as the timestamp, makes the resulting checksum hash even more unlikely to be produced a second time.
  • Such a resulting checksum can be used as a unique WORM identifier.
  • a checksum can result in a 12 byte World Wide Identifier (WWID) that is unique for an instance of a WORM logical data object as previously described.
  • WWID World Wide Identifier
  • the unique WORM identifier is one that is probabilistically insignificantly unlikely to be regenerated for the some VOLSER within the same server or library, or any server or library in the world.
  • Additional protection comprises maintaining a write-mount count with respect to the logical data object in the header 81, for example as a token, and maintaining the write-mount count in the persistent database 67.
  • the control 60 in order to allow the logical data object 80 to be accessed externally to the control, additionally requires the write-mount count of the header to be either equal to or greater by a value of one than the write-mount count of the persistent database.
  • control 60 is configured to increment the write-mount count each time the logical data object is logically mounted and data is correctly appended to the logical data object. Attempts at incorrect appending of the WORM data will likely cause WORM handling errors to occur. An example of a method to append data to existing WORM data is discussed in the incorporated '810 patent. Further, where the logical object is characterized by the control as a magnetic tape object, emulating a magnetic tape data object or object, the write-mount and the external access each comprises a logical mount of a logical magnetic tape cartridge, as discussed above.
  • the reason for having the write-mount count of the header to be either equal to or greater by a value of one than the write-mount count of the persistent database, is to account for any append failure where the device/server/system experiences a failure after the write-mount count is updated for the database 67, but before the header 81 is updated.
  • the mount operation for the logical data object is failed, for example, with a mount completion error code.
  • the mount operation will also fail with an error code.
  • An override may be provided to account for an unexpected and non-malicious situation, such as during a data restoration procedure.
  • the database 67 is maintained to be persistent by preventing unintentional overwrite of at least the portion of the database containing the unique WORM identifiers and write-mount counts associated with the logical identifiers of the integrity protected logical data objects.
  • the unique WORM identifiers and write-mount counts are synchronized between each of databases 67 for each of the clusters 30, for example, via network 80.
  • WORM logical data object is transferred from one disk storage 50 or library 70 in one cluster, to a disk storage 50 or library 70 in another cluster, either via the network 80 or by transfer of a physical tape 10, the database 67 for that cluster will also provide data integrity with respect to the WORM logical data object, thereby providing data integrity for the entire storage system 20.
  • the overall lifecycle of a logical data object 80 both as stored in a server and on a physical media, may introduce non-protected places where its contents can be compromised. For example, another independent server may write data with the same data object serial number that can get stacked to a different physical tape cartridge.
  • a control such as hierarchical storage node 60, is configured to protect the integrity of data, such as a WORM logical data object, against possible malicious behavior by assigning an unique WORM identifier to a logical data object, and to store the unique WORM identifier as associated with the logical identifier, in a database, such as database 67, maintained by the control so as to be persistent.
  • Data storage such as virtualization node 40, disk data storage 50, or library 70, is configured to write the logical data object 80, identified by the logical identifier, together with a header 81 with the unique WORM identifier.
  • the control 60 in order to allow the logical data object to be accessed externally to the control, requires matching the unique WORM identifier in the header 81 of a logical data object 80 to the unique WORM identifier of the persistent database 67 for the logical object.
  • the database 67 may comprise the metadata with respect to the logical data object, and the unique WORM identifier for a logical data object is stored with the metadata for the logical data object.
  • the logical identifier of the logical data object is a data object serial number or "VOLSER”.
  • the unique WORM identifier is the same length as a WWN (World Wide Name), for example, of 12 bytes.
  • the unique WORM identifier WWN is generated so as to be probabilistically unlikely to be generated twice for the same VOLSER.
  • the unique WORM identifier is formed of a checksum hash value related to nonce (numbers used once) fields comprising at least the logical identifier (VOLSER) of the logical data object, an incrementing token, and a time stamp.
  • the checksum hash value may, for example, comprise a cryptography checksum hash of greater than 12 bytes, of which the least significant bits are truncated to leave the leftmost significant bits.
  • a specific example comprises a "Message-Digest 5 (MD5)" cryptography checksum 128 bit hash, which is truncated to 96 bits.
  • the unique WORM identifier is one that is probabilistically insignificantly unlikely to be regenerated for the some VOLSER within the same server or library, or any server or library in the world.
  • U.S. Patents 6,982,846 and 7,193,803 describe data storage cartridges having rewritable media, but tamper resistant cartridge controlled write once recording thereof.
  • U.S. Patent 6,339,810 describes treating rewritable data storage media as write once by automatically advancing a write append limiter and operating the data storage drive to prevent changes to the data occurring before the write append limiter.

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)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
PCT/EP2010/067287 2009-12-10 2010-11-11 Logical data object reuse in a virtual server WO2011069772A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201080055634.7A CN102713851B (zh) 2009-12-10 2010-11-11 虚拟服务器及其中的逻辑数据对象重用方法
DE112010004076T DE112010004076T5 (de) 2009-12-10 2010-11-11 Wiederverwendung Logischer Datenobjekte in einem Virtuellen Server
GB1208997.5A GB2488072B (en) 2009-12-10 2010-11-11 Logical data object reuse in a virtual server

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/635,627 US20110145517A1 (en) 2009-12-10 2009-12-10 Dynamic reuse and reconfiguration of logical data objects in a virtual tape system
US12/635,627 2009-12-10

Publications (1)

Publication Number Publication Date
WO2011069772A1 true WO2011069772A1 (en) 2011-06-16

Family

ID=43530668

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2010/067287 WO2011069772A1 (en) 2009-12-10 2010-11-11 Logical data object reuse in a virtual server

Country Status (5)

Country Link
US (3) US20110145517A1 (de)
CN (1) CN102713851B (de)
DE (1) DE112010004076T5 (de)
GB (1) GB2488072B (de)
WO (1) WO2011069772A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110145517A1 (en) * 2009-12-10 2011-06-16 International Business Machines Corporation Dynamic reuse and reconfiguration of logical data objects in a virtual tape system
US8473587B1 (en) * 2010-05-20 2013-06-25 Gogrid, LLC System and method for caching server images in a hosting system
CN103973634B (zh) * 2013-01-24 2015-03-18 腾讯科技(深圳)有限公司 应用数据创建方法和相关装置及网络系统
JP6399382B2 (ja) * 2014-01-08 2018-10-03 パナソニックIpマネジメント株式会社 認証システム
US9336815B1 (en) * 2015-04-07 2016-05-10 Spectra Logic, Corporation Dynamic write once read many tape cartridge designation
US9917896B2 (en) * 2015-11-27 2018-03-13 Netapp Inc. Synchronous replication for storage area network protocol storage
CN106817399A (zh) * 2015-12-02 2017-06-09 中兴通讯股份有限公司 虚拟网络硬盘挂载方法、局域网服务器、用户终端和系统
US11200207B1 (en) * 2016-09-29 2021-12-14 EMC IP Holding Company LLC Compliance namespace separation to achieve snapshot based consistency across failover-failback while maintaining data retention regulation compliance
US10430602B2 (en) 2016-12-16 2019-10-01 International Business Machines Corporation Tape processing offload to object storage
US11290532B2 (en) 2016-12-16 2022-03-29 International Business Machines Corporation Tape reconstruction from object storage
US10795760B2 (en) * 2017-03-20 2020-10-06 Samsung Electronics Co., Ltd. Key value SSD
CN109284621B (zh) * 2017-07-19 2022-10-25 阿里巴巴集团控股有限公司 数据保护/恢复方法和装置以及数据存储/保护方法
CN107766000A (zh) * 2017-10-16 2018-03-06 北京易讯通信息技术股份有限公司 一种云计算中基于分布式存储的数据安全擦除方法
CN111522645B (zh) * 2020-04-29 2023-09-12 抖音视界有限公司 对象的处理方法、装置、电子设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6339810B1 (en) 2000-01-11 2002-01-15 International Business Machines Corporation Serial data storage system with automatically adjusted data protection to implement worm media with limited overwrite allowing write appending
US20050235095A1 (en) * 2004-04-14 2005-10-20 Winarski Daniel J Write-once read-many hard disk drive using a WORM LBA indicator
US6982846B2 (en) 2003-05-19 2006-01-03 International Business Machines Corporation Tamper resistant write once recording of a data storage cartridge having rewritable media
US20060031651A1 (en) * 2004-08-03 2006-02-09 Yusuke Nonaka Data migration with worm guarantee
US20080250197A1 (en) 2007-04-05 2008-10-09 International Business Machines Corporation Physical Tape Interchange Format

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7558839B1 (en) * 2004-12-14 2009-07-07 Netapp, Inc. Read-after-write verification for improved write-once-read-many data storage
US7558930B2 (en) * 2005-07-25 2009-07-07 Hitachi, Ltd. Write protection in a storage system allowing both file-level access and volume-level access
JP4766954B2 (ja) * 2005-08-22 2011-09-07 株式会社日立製作所 ストレージ装置、データ復旧方法及びデータアクセス方法
US7694096B2 (en) * 2005-10-21 2010-04-06 International Business Machines Corporation Apparatus, system, and method for implementing protected partitions in storage media
JP2007280096A (ja) * 2006-04-07 2007-10-25 Hitachi Ltd ログ保全方法、プログラムおよびシステム
US8280855B2 (en) * 2009-11-04 2012-10-02 International Business Machines Corporation Extended logical worm data integrity protection with unique worm identifier in header and database
US20110145517A1 (en) 2009-12-10 2011-06-16 International Business Machines Corporation Dynamic reuse and reconfiguration of logical data objects in a virtual tape system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6339810B1 (en) 2000-01-11 2002-01-15 International Business Machines Corporation Serial data storage system with automatically adjusted data protection to implement worm media with limited overwrite allowing write appending
US6982846B2 (en) 2003-05-19 2006-01-03 International Business Machines Corporation Tamper resistant write once recording of a data storage cartridge having rewritable media
US7193803B2 (en) 2003-05-19 2007-03-20 International Business Machines Corporation Tamper resistant write once recording of a data storage cartridge having rewritable media
US20050235095A1 (en) * 2004-04-14 2005-10-20 Winarski Daniel J Write-once read-many hard disk drive using a WORM LBA indicator
US20060031651A1 (en) * 2004-08-03 2006-02-09 Yusuke Nonaka Data migration with worm guarantee
US20080250197A1 (en) 2007-04-05 2008-10-09 International Business Machines Corporation Physical Tape Interchange Format

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Introduction and Planning Guide. IBM Virtualization Engine TS7700, TS7700 Cache Controller, and TS7700 Cache Drawer", 2009, pages I - iii,143-156, XP002621856, Retrieved from the Internet <URL:http://publib.boulder.ibm.com/infocenter/ts7700/serv/topic/com.ibm.storage.ts7740.service.doc/ts7740_ipg.pdf> [retrieved on 20110208] *

Also Published As

Publication number Publication date
GB2488072B (en) 2017-08-16
US20150089169A1 (en) 2015-03-26
US20110145517A1 (en) 2011-06-16
CN102713851B (zh) 2015-07-29
US20120239891A1 (en) 2012-09-20
GB201208997D0 (en) 2012-07-04
US8924673B2 (en) 2014-12-30
CN102713851A (zh) 2012-10-03
US9164921B2 (en) 2015-10-20
DE112010004076T5 (de) 2012-10-25
GB2488072A (en) 2012-08-15

Similar Documents

Publication Publication Date Title
US9164921B2 (en) Dynamic reuse and reconfiguration of logical data objects in a virtual tape system
US8538932B2 (en) Extended logical worm data integrity protection with unique worm identifier in header and database
US7519767B2 (en) Emulated tape-based storage media
US7444465B2 (en) Tape emulating disk based storage system and method
KR100890573B1 (ko) 에뮬레이팅된 저장 시스템
US8938595B2 (en) Emulated storage system
JP4416914B2 (ja) データ記憶媒体によりドライブに制御情報を提供する方法
US8782360B2 (en) Preserving an existing volume map in re-initializing a data storage volume
US8555025B2 (en) Selective device access control
US8069317B2 (en) Providing and utilizing high performance block storage metadata
CN101292219B (zh) 用于在存储介质中实现保护分区的装置、系统及方法
US7864478B2 (en) Verification of a tape data storage cartridge
US9098210B2 (en) Automatically linking partitions on a tape media device
US20130268492A1 (en) Method and System for Efficient Write Journal Entry Management for a Distributed File System
US7356622B2 (en) Method and apparatus for managing and formatting metadata in an autonomous operation conducted by a third party
US8037361B2 (en) Selective write protect for disaster recovery testing
EP2687974A1 (de) Speicherungsvorrichtung, steuervorrichtung und steuerverfahren
JP2002373099A (ja) ディスク管理方法
US7925680B1 (en) System and method for processing data management files in a virtual storage environment

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080055634.7

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10778997

Country of ref document: EP

Kind code of ref document: A1

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10778997

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 1208997

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20101111

WWE Wipo information: entry into national phase

Ref document number: 1208997.5

Country of ref document: GB

WWE Wipo information: entry into national phase

Ref document number: 1120100040761

Country of ref document: DE

Ref document number: 112010004076

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10778997

Country of ref document: EP

Kind code of ref document: A1