VSAM Control Interval and Control Area
In this Mainframe tutorial, you will learn about VSAM Control Interval, What is a Control Interval in VSAM? and Control Area, what is VSAM control area, attributes in the control area index component.
What is a Control Interval in VSAM?
Control Interval in VSAM is a unit of data that is transferred when an I/O request is made between auxiliary storage and virtual storage. It contains records, free space and control information. The data records are grouped into control intervals. That is in other words in non-VSAM method the unit of data that is transferred between memory and the storage device is defined by the block which in contrast in VSAM is referred as Control Interval.
The records in the Control Interval are all placed in the beginning of the Control Interval with key of each record followed by the actual record. The end portion of the Control Interval is occupied by control interval descriptor this also has space for specifying the record length of each record in the Control Interval. The space between this beginning part which is occupied by records and the end part of control interval which has descriptor followed by length of record denotes the free space. This is shown diagrammatically below:
|
The Control information also called as CI in short consists of the following information:
- RDF called as Record Descriptor Field
- CIDF called as Control Interval Descriptor Field
The maximum size that is allowed for a Control Interval is 32K. Let us now see about the information stored on the above RDF and CIDF.
A CIDF is present for each Control Interval. The CIDF is a field which has the last 4 bytes of a Control Interval. This has information about the offset and the length of free space in the Control Interval. Having seen about the information in CIDF let us now see the information present in RDF. If the records are of fixed size then each Control Interval has two RDF’s with each RDF of length 3 bytes. If the records are of variable size then a separate RDF is available for each record in the Control Interval. The Control Interval in VSAM is created as soon as VSAM dataset is loaded after which records are placed inside it. Having got an idea about Control Interval in VSAM from above explanation and idea about KSDS clusters, RRDS clusters and ESDS clusters from our previous section let us now see how the records are filled in the control interval by each of these different clusters.
In case of Entry Sequenced Data Set clusters also called as ESDS clusters which follows sequential data set, records are fully placed in a control interval and only after completing this control interval say the current control interval, the records are written into the next control interval in sequence.
In case of Key Sequenced Data Set clusters also called as KSDS which has room for free space as we have seen in our previous section the records are placed in a control interval but not with a condition that it is fully filled which means that some amount of free space is provided for future additions. In case of Relative Record Data Set clusters the control interval is filled with records of fixed length which can be two types say either a active record or a dummy record. Active record refers the original record and the dummy record helps in providing space for future record addition to the dataset as and when needed.
VSAM Control Area – What is VSAM Control Area? A group of control intervals makes up a control area. Since the control intervals are grouped to form control area the way of filling the control area is similar to the way of filling records in control interval as discussed in detail in our previous paragraph. The number of control intervals per control area depends on how much space is reserved when the dataset is created. This is shown diagrammatically below:
Control interval A |
Control interval B |
Control interval C |
Control interval D |
Control interval E |
Control interval F |
Control interval G |
Control interval H |
Control interval I |
Control interval J |
Attributes in the index component
The index component has the following attributes as given below:
- index set
- sequence set
The index set lists the largest index within each control area and the sequence set lists the largest index within each control interval.
The records get allocated in Control Interval and Control area in the following manner:
• Check for enough free space within a control interval is made and if such a space is present then the new records gets added in that position.
• If the Check for enough free space within a control interval returns no enough free space within a control interval then a check for the presence of empty control interval within the same control area is made and if such a empty control interval within the same control area occurs the control interval split is made with the record from the control interval which is filled with records being moved to the empty control interval space.
• If in case of Check for enough free space within a control interval returns no enough free space within a control interval and also there is no empty control interval within the same control area then control area split is made and records gets moved to the new control area.