DASD is an acronym for Direct Access Storage Device.  It is a storage
device in which the blocks can be accessed randomly, in any order,
without reading the blocks in between.  In the history of mainframes,
a DASD device was not necessarily a disk device.  At one time, there
were drum devices too, for example.  But all modern DASD devices are
disk devices or emulations thereof.  Mainframers pronounce the acronym
as "daz-dee".  If you hear a mainframer talk about "daz-dee", mentally
translate that in your head to "disk".

Mainframe DASD comes in two basic types: FBA and CKD.  FBA stands for
Fixed Block Architecture.  FBA DASD is similar to the type used in a
typical PC.  All the blocks on disk are of a fixed length.  In theory,
different block sizes can be used, but in practice I believe every actual
device ever made used 512-byte blocks.  You may see the term FB-512
used in some mainframe literature.  That refers to FBA DASD with 512-byte
blocks.  The blocks on FBA DASD are generally referenced by block number,
rather than by cylinder, head, and record.  VM and VSE still support
both FBA DASD and CKD DASD.  I don't know if MVS ever did support FBA
DASD; but if it did, it dropped support for it a long time ago.  VM was
on the verge of dropping support for FBA DASD until a decision was made
to support access to SCSI disks using the FCP.  As it turns
out, support for FBA DASD in VM was useful for using these SCSI disks.
A quick and dirty way to use these disks was to emulate FBA DASD on these
SCSI disks.  So support for FBA DASD in VM was not dropped after all.
IBM (or any clone maker) hasn't made any real mainframe FBA DASD in a long
time.

The other type of DASD is CKD DASD.  This is the only type that MVS
supports.  CKD stands for Count-Key-Data and is a reference to how the
data blocks are recorded.  On CKD DASD, the blocks recorded on DASD can
be of varying lengths.  Thus a special "count" block in front of the
data block is used to record the length of the following block.  Some
types of blocks, such as directory blocks for partitioned datasets on
MVS, also have a "key" block between the "count" block and the "data"
block.  The key block contains the "key" for the record.  In the case of
a partitioned dataset, the key, which is eight bytes long, is the member
name of the last member described in this directory block.  Thus, in the
general case, a logical "block" on DASD actually consists of three blocks:
a count block, a key block, and a data block.  For most blocks,
the key block is omitted and there is only a count block and a
data block.  But in the general case all three can be present.  And that
is how CKD DASD got its name.

Blocks on CKD DASD are generally referenced by cylinder, head, and record,
since the number of blocks on each track varies (in the general case).
In the case of CMS minidisks, none of the blocks have keys and all the
blocks have the same length.  Therefore, the number of blocks per track
is always the same.  You may also see the term ECKD, which stands for
Extended Count-Key-Data.  ECKD appears to be a channel programming
technique to read or write all of the blocks on a track at once, thus
improving performance.  The underlying DASD structure is still CKD.
For more information, see http://en.wikipedia.org/wiki/ECKD.

The structure I sent to you maps the CMS label record.  For FBA devices,
the label record is the second 512-byte block of the minidisk.  For CKD 
devices, the label record is cylinder 0, track 0, record 3, which would
be the third block of the minidisk.  The first four bytes of the CMS label
record are always "CMS1" in EBCDIC.  That would be X'C3D4E2F1'.




      



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to