Sunday, 4 August 2013

VSAM Control Interval




Control Interval 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 controls information. The data records are grouped into control intervals.

That is in other words in the 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 to as Control Interval.

The records in the Control Interval are all placed at the beginning of the Control Interval with the 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 the control interval which has descriptor followed by the length of record denotes the free space.

This is shown diagrammatically below:

Key 1Record 1
Key 2Record 2
Key 3Record 3

Free Space

Length of Record 1
Length of Record 2
Length of Record 3

Descriptor (End Part of control interval)

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 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 the case of Relative Record Data Set clusters, the control interval is filled with records of fixed length which can be two types say either an active record or a dummy record. The active record refers to the original record and the dummy record helps in providing space for future record added to the dataset as and when needed.

Control Areas

A group of control intervals makes up a control area. Since the control intervals are grouped to form a control area the way of filling the control area is similar to the way of filling records in the 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 Area 1 
 Control interval A 
 Control interval B 
 Control interval C 
 Control interval D

 Control Area 2 
 Control interval F 
 Control interval G 

Attributes in the index component have 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 the 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 when the new records get 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 an 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 get moved to the new control area.


Created with Artisteer

No comments:

Post a comment