z/OS DFSMS Using Data Sets
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


DASD Data Sets

z/OS DFSMS Using Data Sets
SC23-6855-00

When you create (allocate space for) a new DASD data set, the system derives the optimum block size and saves it in the data set label if all of the following are true:
  • Block size is not available or specified from any source. BLKSIZE=0 can be specified.
  • You specify LRECL or it is in the data class. The data set does not have to be SMS managed.
  • You specify RECFM or it is in the data class. It must be fixed or variable.
  • You specify DSORG as PS or PO or you omit DSORG and it is PS or PO in the data class.

Your DCB OPEN exit can examine the calculated block size in the DCB or DCBE if no source other than the system supplied the block size.

When a program opens a DASD data set for writing the first time since it was created, OPEN derives the optimum block size again after calling the optional DCB OPEN exit if all the following are true:
  • Either of the following conditions is true:
    • The block size in the DCB (or DCBE with LBI) is zero.
    • The system determined the block size when the data set was created, and RECFM or LRECL in the DCB is different from the data set label.
  • LRECL is in the DCB.
  • RECFM is in the DCB and it is fixed or variable.
  • The access method is BSAM, BPAM, or QSAM.

For sequential or PDSs, the system-determined block size returned is optimal in terms of DASD space utilization. For PDSE's, the system-determined block size is optimal in terms of I/O buffer size because PDSE physical block size on the DASD is a fixed size determined by PDSE.

For a compressed format data set, the system does not consider track length. The access method simulates blocks whose length is independent of the real physical block size. The system-determined block size is optimal in terms of I/O buffer size. The system chooses a value for the BLKSIZE parameter as it would for an IBM standard labeled tape as in Table 1 and always limits it to 32␠760. This value is stored in the DCB or DCBE and DS1BLKL in the DSCB. However, regardless of the block size found in the DCB and DSCB, the actual size of the physical blocks written to DASD is calculated by the system to be optimal for the device.

The system does not determine the block size for the following types of data sets:
  • Unmovable data sets
  • Data sets with a record format of U
  • Existing data sets with DISP=OLD (data sets being opened with the INPUT, OUTPUT, or UPDAT options on the OPEN macro)
  • Direct data sets
  • When extending data sets

Unmovable data sets cannot be system managed. There are exceptions, however, in cases where the checkpoint/restart function has set the unmovable attribute for data sets that are already system managed. This setting prevents data sets opened previously by a checkpointed application from being moved until you no longer want to perform a restart on that application.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014