A direct-access storage device (DASD) (pronounced ) is a secondary storage device in which "each physical record has a discrete location and a unique address". The term was coined by IBM to describe devices that allowed random access to data, the main examples being drum memory and hard disk drives. Later, optical disc drives and flash memory units are also classified as DASD.
The term DASD contrasts with sequential access storage device such as a magnetic tape drive, and unit record equipment such as a punched card device. A record on a DASD can be accessed without having to read through intervening records from the current location, whereas reading anything other than the "next" record on tape or deck of cards requires skipping over intervening records, and requires a proportionally long time to access a distant point in a medium. Access methods for DASD include sequential, partitioned, indexed, and direct.
The DASD storage class includes both fixed and removable media.
Architecture
IBM mainframes access I/O devices including DASD through channels, a type of subordinate mini-processor. Channel programs write to, read from, and control the given device.
CTR (CHR) The operating system uses a four byte relative track and record (TTR) for some access methods and for others an eight-byte extent-bin-cylinder-track-record block address, or MBBCCHHR, Channel programs address DASD using a six byte seek address (BBCCHH) and a five byte record identifier (CCHHR). M represents the extent number within the allocation BB representing the Bin (from 2321 data cells), CC representing the Cylinder, HH representing the Head (or track), and R representing the Record (block) number. When the 2321 data cell was discontinued in January 1975, the addressing scheme and the device itself was referred to as CHR or CTR for cylinder-track-record, as the bin number was always 0.
IBM refers to the data records programmers work with as logical records, and the format on DASD as blocks or physical records. One block might contain several logical (or user) records or, in some schemes, called spanned records, partial logical records.
Physical records can have any size up to the limit of a track, but some devices have a track overflow feature that allows breaking a large block into track-size segments within the same cylinder.
The queued access methods, such as QSAM, are responsible for blocking and deblocking logical records as they are written to or read from external media. The basic access methods, such as BSAM, require the user program to do it.
CKD
CKD is an acronym for Count Key Data, the physical layout of a block on a DASD device, and should not be confused with BBCCH and CCHHR, which are the addresses used by the channel program. CTR in this context may refer to either type of address, depending on the channel command.
FBA
In 1979 IBM introduced fixed block architecture (FBA) for mainframes. At the programming level, these devices do not use the traditional CHR addressing, but reference fixed-length blocks by number, much like sectors in mini-computers. More correctly, the application programmer remains unaware of the underlying storage arrangement, which stores the data in fixed physical block lengths of 512, 1024, 2048, or 4096, depending on the device type. As part of the FBA interface IBM introduced new channel commands for asynchronous operation that are very similar to those introduced for ECKD.
For some applications, FBA not only offers simplicity, but an increase in throughput.
FBA is supported by VM/370 and DOS/VSE, but not MVS or successor operating systems in the OS/360 line.
FCP attached SCSI
Processors with FICON channels can access SCSI drives using Fibre Channel Protocol (FCP). While z/VM and z/VSE fully support FCP, z/OS provides only limited support through IOSFBA.
Access
Some programming interface macros and routines are collectively referred to as access methods with names ending in Access Method.
DOS/360 and successors
DOS/360 through z/VSE support datasets on DASD with the following access methods: Logical IOCS (LIOCS) sequential access method (SAM) direct access method (DAM) indexed sequential access method (ISAM) virtual storage access method (VSAM) Physical IOCS (PIOCS) Execute channel program (EXCP)