Block size
How much data is moved between disk and memory in one go, written as BLKSIZE.
Also written BLKSIZE
Block size, written BLKSIZE, is the amount of data transferred between storage and memory in a single operation. Several logical records are grouped into one physical block, so the system reads many records per disk access rather than one.
It exists for efficiency. Reading one 80-character record at a time would waste enormous amounts of time; reading a block containing hundreds of them costs almost the same as reading one.
Historically, working out a good block size was part of the job, and getting it wrong wasted a lot of disk. Now you generally leave it to the system. Specifying a block size of zero asks z/OS to calculate the optimal value for the device, and that is the normal practice today.
You will still see explicit block sizes in older JCL, and you will still see the parameter in dataset attributes. Knowing that it is a physical grouping, and not something your program sees, is enough for most work. Programs deal in logical records.
Related terms
- Record formatWhether the records in a dataset are all the same length or vary, and how they are blocked. Written as RECFM.
- Logical record lengthHow long each record in a dataset is, in characters, written as LRECL.
- DatasetWhat a mainframe calls a file: a named collection of records with a defined structure, rather than a loose stream of bytes.
- Space allocationReserving disk space for a dataset up front, in tracks, cylinders or blocks, with room to grow.