Logical WORM
Logical WORM (LWORM) is a software-emulated, virtual equivalent of the Write-Once, Read-Many (WORM) capability available on physical tape media.
The LWORM attribute emulates physical WORM to leverage host software support of WORM
physical media. With LWORM, an attached host recognizes the TS7700 as an LWORM-compliant library,
able to contain WORM-compliant virtual drives.
The LWORM attribute provides the
following functions:
- Assigns a data class construct property to volumes assigned as LWORM-compliant, either upon the first mount or during reuse from scratch
- Generates a temporary World Wide Identifier (WWID) during WORM type assignment that is sent to the host, then bound (persistently saved) to the volume
- Generates and maintains a persistent write-mount count for each LWORM volume synchronized to the host software
- Permits appends to LWORM volumes by using only physical WORM append guidelines
- Permits host software to access LWORM attributes for a given, mounted volume
Data Class LWORM assignment (binding)
Virtual volumes are configured as LWORM volumes in the Data Class record, modifiable on the Data Class panel of the TS7700 Management Interface. Binding refers to the process of persistently saving a type or attribute property of a volume. Before binding of the property, any derived or assigned properties can be utilized but they are not permanent until the binding event occurs. Once the binding succeeds, the type and or attributes are said to be “bound” to the volume. LWORM can be set for a new or existing Data Class, however the
WWID for the volume can only be bound or cleared upon one of the following:
- The first use of the volume after insert
- The first reuse of the volume after scratch
Mount with expected WORM binding or clearing
During a mount, the TS7700 creates a new WWID for the volume if both of the following are true:- The pending Data Class assignment states the volume is treated as an LWORM
- The volume has never accepted a write operation (is newly inserted) or the mount sequence is scratch
- The host software is expected to write from load point (BOT)
Once a WWID is
bound to a volume, all future non-scratch mounts treat the volume as an
LWORM volume independent of any currently configured Data Class settings. Once a WWID is already
bound, changes to the Data Class name or attributes for the volume do not affect the binding of the
LWORM volume type. A bound LWORM volume is composite in scope, which means that when it is bound
with a WWID, all clusters within a grid honor all LWORM rules associated with that volume. Binding
(to a new WWID or clearing of an existing WWID) can only occur at first use or reuse of a
volume.
Important: A non-LWORM volume with existing data cannot be bound to a WWID by
configuring a Data Class then performing a mount or demount sequence unless the mount is a scratch mount and a write operation occurs at BOT. Any previously bound WWID can
be cleared (NULL WWID) through the binding process only if a scratch mount
operation has a pending non-LWORM Data Class setting and a first write occurs at BOT. This is the
means of which an LWORM volume can legally be reused as a standard read and write
volume.
WWID and write-mount count z/OS® DFSMS synchronization
The write-mount count is a host software synchronized value that mimics tape media WORM behavior. Each time a volume is assigned a new WWID, a write-mount count (initially set to zero) must be associated with and bound to the volume during the first write from BOT. Each time a volume is mounted thereafter and at least one write operation of any kind is issued during that mount, the write-mount count for the volume is increased by one. The write-mount count can be used to count the total number of times a volume was mounted with modifications. When the write-mount count is bound for the first time it has a value of 1, which represents the initial value of 0 increased by one due to the first write from BOT.To keep the host and the TS7700 data
facility system managed storage (DFSMS) synchronized, WWID and write-mount
count are handled as follows:
If | Then | Result |
---|---|---|
The host has previously expired and reused a volume and the user designates the volume can be reused. | The Removal Media Manager (RMM) resets the explicit WORM identifier, the WWID, and write-mount count within the host catalogue. | The host is informed that the current reset assignment represents a standard read and write volume without any WORM obligations. Host software can mark the volume for scratch and it can be returned to scratch during the next scratch processing phase. |
During host software mount processing, a mount with expected WORM binding or clearing occurs. | A WWID is temporarily generated and eventually bound or cleared at first write from BOT. | If a first write from BOT does not occur, this temporary WWID is discarded leaving any previously bound WWID value intact. |
A new WWID is temporarily assigned. | The TS7700 resets the write-mount count for the volume to 0 (within memory). | During the first write from BOT, this write-mount
count is increased to a value of 1 and bound when the temporary WWID
is bound. If a first write from BOT does not occur, this write-mount count is discarded, leaving any previously bound write-mount count value intact. If a NULL-WWID is to be bound (for example, standard read and write volume), the write-mount count is not increased with each first write operation. |
Logical WORM volume usage restrictions
Logical WORM volumes must have Non-Rewriteable concepts implied by the LWORM type of the volume. Once a WWID is bound to a volume, only WORM-supported appends are allowed. Retention concepts that prevent early expiration by using fixed durations or DFSMS HDR1 expiration dates was introduced in 8.51.1.X release. For details, refer to white paper.However, any attempt to overwrite previously written data on an LWORM bound volume
(independent of write-mount count) fails if it does not meet the Append Only Rules, as follows:
- Appending restrictions are the same as those for physical WORM.
- If a volume has previously accepted a completed EOV construct sequence followed by one or two tape marks, the volume can no longer be written to.
- Writing is not allowed at any location prior to the start of a construct sequence, where both of
the following are true:
- The sequences are those explicitly enumerated below
- At least one non-construct record has been written to the tape (rule 6 is an exception)
- Writing is not allowed over or before any construct sequence that is followed by another
construct sequence or data virtual block that have been explicitly or implicitly synchronized. The
synchronization event should, at a minimum, progress the legal append point to the block following
the last completed construct sequence. Explicit synchronization results from the acceptance of one
of the following commands:
- SYNC
- WTM
- RUN
- Synchronize Buffer
- Forward Space Block, Forward Space File, Backward Space Block, Backward Space File, Rewind, Rewind Unload, Write Tape Mark, Erase Gap, Data Security Erase or Locate Block
- Read Forward, Read Previous or Read Backward and there is buffered write data
- A Write command is issued in a command chain following either a Mode Set command that specifies tape write immediate mode or a Set Tape Write Immediate command
- The virtual end of volume point is reached or exceeded
- Overwriting of any data virtual block that has been explicitly or implicitly synchronized is not allowed. The synchronization event, at a minimum, advances the legal append point to the block following the last completed non-construct data virtual block.
- Full overwrite of the entire tape and any constructs is permitted so long as no data virtual blocks (non-constructs) have been written.
- All or partial overwrite of the last construct sequence is permitted when the construct sequence is either incomplete, or is not followed by additional data or tape marks.
- Writing is not allowed at points other than following the last complete volume record of any type when a volume is loaded and its ending disposition cannot be definitively determined. This can occur after an outage or after a volume corruption where the last known persistent append point is either unknown or no longer valid.