The VTOC Index

The VTOC index enhances the performance of VTOC access. The VTOC index is a physical-sequential data set on the same volume as the related VTOC. It consists of an index of data set names in DSCBs contained in the VTOC and volume free space information. The data set names are in format-1 and format-8 DSCBs. The free space information describes available tracks on the volume, available DSCBs in the VTOC and available records in the index.

An SMS-managed volume requires an indexed VTOC; otherwise, the VTOC index is highly recommended. For additional information about SMS-managed volumes, see z/OS DFSMS Implementing System-Managed Storage.

Note: You can use the ICKDSF REFORMAT REFVTOC command to rebuild a VTOC index to reclaim any no longer needed index space and to possibly improve access times.

z/OS® does support sharing a non-SMS-managed volume that contains a VTOC index with a non-z/OS system. If the other system updates the VTOC and turns on the DS4DOSBT, then later when z/OS is used to modify the VTOC, DADSM can detect that the index is no longer valid. The z/VSE® operating system sets this bit on.

Device Support Facilities (ICKDSF) initializes a VTOC index into 2048-byte physical blocks, or 8192-byte physical blocks on an extended address volume, named VTOC index records (VIRs). The DEVTYPE INFO=DASD macro can be used to return the actual block size or it can be determined from examining the format-1 DSCB of the index data set. VIRs are used in several ways. A VTOC index contains the following kinds of VIRs:
  • VTOC index entry record (VIER) identifies the location of format-1 and format-8 DSCBs and the format-4 DSCB.
  • VTOC pack space map (VPSM) identifies the free and allocated space on a volume.
  • VTOC index map (VIXM) identifies the VIRs that have been allocated in the VTOC index.
  • VTOC map of DSCBs (VMDS) identifies the DSCBs that have been allocated in the VTOC.
A format-1 DSCB in the VTOC contains the name and extent information of the VTOC index. The name of the index must be 'SYS1.VTOCIX.volser', where 'volser' is the serial number of the volume containing the VTOC and its index. The name must be unique within the system to avoid ENQ contention and must conform to standard data set naming conventions.
Note:
  1. If first character of volser is numeric, you must either precede or replace the first character with the letter "V" (for example, if volser is 12345, then you should use either V12345 or V2345).
  2. RMF statistics on the VTOC index will always show the data set name as SYS1.VTOCIX.Vvolser regardless of what the actual name is on the volume.

You can only create (allocate) one data set whose name begins with 'SYS1.VTOCIX.' on a volume. To rename a VTOC index data set when the VTOC index is active, use a name beginning with 'SYS1.VTOCIX.'. If a 'SYS1.VTOCIX.' data set already exists on a volume, you cannot rename another data set on the volume to a name with those qualifiers. If the VTOC index is active, you cannot scratch the VTOC index data set.

The relationship of a VTOC to its index is shown in Figure 1.

Figure 1. Example of the Relationship of a VTOC to Its Index
 
                 VTOC                                 VTOC Index
     ┌────────────────────────────┐     ┌────→┌─────────────────────────┐
     ³       Format─4 DSCB        ³     ³     ³           VIXM          ³
     ├────────────────────────────┤     ³     ├─────────────────────────┤
     ³       Format─5 DSCB        ³     ³     ³           VPSM          ³
     ├────────────────────────────┤     ³     ├─────────────────────────┤
     ³                            ³     ³     ³           VMDS          ³
     ³       Other DSCBs          ³     ³     ├─────────────────────────┤
     ³                            ³     ³     ³           VIER          ³
     ³                            ³     ³     ├─────────────────────────┤
     ├────────────────────────────┤     ³     ³           VIER          ³
     ³ Format─1 DSCB for the VTOC ├─────┘     ├─────────────────────────┤
     ³ Index: SYS1.VTOCIX.nnn     ³           ³           VIER          ³
     ├────────────────────────────┤           ├─────────────────────────┤
     ³                            ³           ³            .            ³
     ³       Other DSCBs          ³           ³            .            ³
     ³                            ³           ³            .            ³
     ⋘────────────────────────────┘           ⋘─────────────────────────┘