Rotating Memory (Disk) Organisation

Serial access memories can be accessed in a number of ways. Let us assume that each word is stored along a single track in consecutive cells and that each access results in the transfer of a block consisting of n words, where n > 1. Now, the address of the information to be accessed is issued, and it is composed of track address which determines a particular track, and the block address which indicates the targeted block within the accessed track. This entire address is then applied to the address decoder to generate the respective track address and block address. The track address is then used to place the head on to the right track, but the targeted block cannot be accessed until it comes under the head. To determine its arrival, some type of track position indicator mechanism is required which constantly generates the address of the block that is currently passing the read-write head. The generated address is compared with the block address as produced by the address decoder. When the match occurs, the head is enabled, and data transfer begins between the storage track (or buffer) and the memory buffer register (MBR). When a complete block of information is totally transferred, the head is disabled.

Serial memories are constructed with various types of storage media and different types of access mechanisms, and special techniques are used to store all information only in tracks on the surface. Hence, all of them similar to magnetic disk, magnetic tape, optical disk, etc. follow this common strategy of organisation, but, of course, each is implemented differently as found to be deemed fit.

A brief detail of this topic with the respective figure is given in the following web site: http://routledge.com/9780367255732.

Read–Write Mechanism

In magnetic surface memories (or CDs), the tracks in a disk are in the form of concentric rings on a platter. The tracks in the tape are horizontal parallel lines along the length of the tape. Whatever be the formation of track, the read-write mechanism is identical in the disk and tape, irrespective of the type of storage media and the access mechanism being used. Each track has a number of cells, and each cell has two stable magnetic states defined by the direction or magnitude of magnetic flux (or magnetic intensity) in the cell that represents the logical 0 and 1 values. Electric currents are used for altering (writing) and sensing (reading) the magnetic state of the cell. An external read-write head formed with a ring of soft magnetic material around which there is a coil is used for this purpose. The read and write currents pass through the coils and produce a magnetic field. There is a gap between the two ends of the ring that permits the magnetic flux to pass into the space between the head and the cell to induce the respective fields in the cell on the track of the magnetic surface.

A brief detail of this topic with the respective figure is given in the following web site: http://routledge.com/9780367255732.

Device Controller: Rotating Memory

Operation of a rotating device, be it a disk or a magnetic tape, is controlled by a device controller circuit (as a part of the I/O module, see Chapter 5) which also provides an interface between the device and the bus that connects it to the rest of the computer system. The device controller uses suitable mechanisms including the DMA scheme to transfer data between the devices and the main memory. A device controller may be used to control more than one device of the same type, and is initiated by the operating system (OS) to access any device attached with it. The OS initiates the data transfers by issuing Read/ Write requests to the controller with the necessary address information, such as main memory address, disk address (containing sector/track address and block address), word count (the number of words in the block to be transferred), and control information, such as, seek, read, write, and error checking. If the disk drive is connected to a bus that uses pack- etized transfers, then the controller must be equally equipped to handle such transfers. For example, a controller for a SCSI drive conforms to the SCSI bus protocol (described in Chapter 5, SCSI bus).

A brief detail of this topic with the respective figure is given in the following web site: http://routledge.com/9780367255732.

Magnetic Disk

Magnetic disks are the primary devices that build up the foundation of an external memory system virtually on all present-day computers. A magnetic disk is essentially a flat circular platter constructed of nonmagnetic metal or plastic with a thin coating of magnetizable material on both sides of its surface. More recently, glass has been introduced to make the platter that, by virtue, accrues a number of notable advantages. Each platter has two surfaces, and each surface has up to several thousand tracks of the same width in the form of concentric rings. Data are recorded on the track, and later retrieved from it. Adjacent tracks are separated by gaps which prevent the interference of magnetic fields and serve some other purposes as well. The number of bits stored on each track are, however, the same. Hence, the density measured in bits per linear unit increases as one moves to the innermost track. Typically, each track is divided into several sectors (in the range of a few hundred sectors). Data are transferred to and from the disk in sectors/blocks. These sectors may be of either fixed or variable length. Adjacent sectors on each track are separated by intra-track gaps. Data in the form of a record is stored in sectors. Typical sector size may be 512 bytes. Each sector may contain more than one record or a record (large record size) may take more than one sector.

A disk drive is commonly referred to as a direct-access device. This means that to get to the desired sectors, it need not read all the sectors in between sequentially. It can access any track directly (randomly), and wait for the targeted sectors to come under the head, and then the action is carried out sequentially within the sector thus arrived at.

Most disks accommodate multiple platters stacked vertically one above the other separated by an inch or even less apart, and fixed to a common spindle (already described). This unit is known as a disk pack or commonly, nowadays called a hard disk. For example, a disk may contain five platters, i.e. 5 x 2 = 10 recording surface. In practice, the top-most and the bottom-most surface of a removable disk are not used for data-storing (recording) purpose. Hence, the available recording surface for removable disk here is (10 - 2 = 8) 8 surface, and not 10. The disk capacity can be then computed as:

A typical disk configuration may be as follows:

Disk manufacturers (vendors) often express the capacity of disk in units of gigabytes (GB), where 1 GB = 104 bytes.

A brief detail of this topic with the respective figure and a number of solved problems based on these characteristics is given in the following web site: http://routledge. com/9780367255732.

Disk Format: Each track on the disk has one starting point, and each sector on the track is identified by its start and end mark. These requirements are satisfied by using some control data (system's own data) recorded on the disk before the insertion of the user's data. These activities are performed at the time of formatting the disk carried by the operating system (OS), and hence, without formatting, the disk cannot be used. These extra data which are solely used by the disk drive (disk controller) and not accessible to the user, are written on the disk when it is formatted, and consume some amount of disk space. That is why, after formatting, the disk space available to the user is always less than the actual disk space declared by the vendor. Since the formatting of the disk is carried out by the OS, different OS thus creates sectors of different sizes, and different fields of different sizes in a sector to hold user data, and other control data needed for the disk controller to handle user's information. Thus, a disk formatted by an OS cannot be run under different OS. Windows uses FAT 32 format.

Representative disk formats with the respective figures, together with solved problems based on formatted disks are given in the following web site: http://routledge. com/9780367255732.

Commodity Disk Considerations

The cost and performance of a disk unit, apart from its storage capacity, mostly depend on its internal structure, and the interface attached with it being used to connect the disk to the rest of the system.

ATA/EIDE Disks: Standard disk interfaces employed in today's most widely used personal computers and their variants have, however, passed through numerous modifications from its very inception to match with the constantly emerging innovative technologies. Eventually an enhanced version was arrived at, which has become the standard known as EIDE (Enhanced Integrated Drive Electronics) or as AT A (Advanced Technology Attachment). Many disk manufacturers have introduced a range of disks with EIDE/ ATA interfaces that can be directly connected to the most common PCI bus (discussed in Chapter 5). In fact, Intel's Pentium chip sets include a controller that allows EIDE/ATA disks to be connected directly to the motherboard. One of the distinct advantages of EIDE/ ATA drives is their low price, mostly due to their use in the PC domain. One of their main drawbacks is that a separate controller is needed for each drive if two or more drives are to be used concurrently to improve performance.

SCSI Disks: Small Computer System Interface (SCSI) disks have a specific interface designed for the connection to a standard SCSI bus (discussed in detail in Chapter 5). This is a fast communication bus having its own specified protocol standard that allows the computer to connect to multiple devices that include CD-ROM/RW drives, tape drives, pen drives, printers, and scanners, apart from hard disk drives. These disks tend to be more expensive, but they yield better performance, mainly made possible by the advantages inherent to the SCSI bus in comparison with those of the PCI bus. That is why, these disks are found in extensive use in high-end servers. Concurrent accesses can be made to multiple disk drives because the drive's interface is actively connected to the SCSI bus, only when the drive is ready for a data-transfer operation. This is especially useful in applications where there is a large number of requests for small files, which is often the case in computers used as file servers.

RAID: Redundant Array of Inexpensive Disks

During the past decade, while processor speeds have enormously increased, main memory speeds have also improved but comparatively modestly, and the speed of disk storage devices have by far exhibited the smallest relative improvement in this regard as such. Of course, a spectacular improvement in the storage capacity of these devices has been observed. Still, the magnetic disks, the primary secondary devices, have several inherent drawbacks. The most important of them are: [1]

Computer users thus constantly clamour for disks that can provide larger capacity, faster access to data, high data-transfer rate, and of course, higher reliability. Although high-performance devices tend to be normally expensive, yet it is possible to achieve a considerably high performance at a reasonable cost by using a number of relatively low- cost devices to be operated in parallel, as is found in a multiprocessor system. Multiple magnetic disk drives, thus similarly can be used to provide a high-performance secondary storage unit. This approach led to the development of arrangements of disks in an array that would operate independently and also in parallel. With multiple disks, separate I/O requests can be handled in parallel, as long as the data reside on separate disks. On the other hand, a single I/O request can also be executed in parallel if the block of data to be accessed is distributed across multiple disks.

The presence of multiple disks in the configuration opens a wide variety of ways of organisation of data as well as ways in which redundancy can also be added to improve reliability. At the same time, it is difficult to develop schemes for a multiple-disk database design that can be equally useable on a number of different hardware platforms and operating systems. Fortunately, industry has agreed on a standardized scheme to overcome this difficulty using redundant array of independent disks (RAID), which consists of universally accepted seven levels; from level zero through six, besides a few additional levels that have been proposed by some researchers. These levels do not indicate any hierarchical relationship, rather designate different architectures in a design that exhibits the following common characteristics:

  • 1. RAID although consists of a set of physical disk drives, but when being driven by the operating system, it is recognized as a single logical disk drive.
  • 2. Data are distributed in different fashion across multiple physical disk drives present in the array.
  • 3. Redundant disk capacity is used to store parity information which enables recovery of data at the time of any transient or catastrophic failures of a disk.

The RAID technology distributes the data involved in an I/O operation across several disks, and performs the needed I/O operations on these disks in parallel. This feature consequently can provide fast access or a higher data-transfer rate, but it depends on the arrangement of the disks employed. The performance of any of the RAID levels, however, critically depends on the request patterns of the host system and on the layout of the data. High reliability is achieved by recording redundant information; however, the redundancy employed in the RAID arrangement is different by nature from that employed in conventional disk usage. A conventional disk uses a cyclic redundancy checksum (CRC) written at the end of each record for the sake of providing reliability, whereas redundancy techniques in a RAID employ extra disks to store redundant information so that original data can be recovered even when some disks fail. Recording of, and access to redundant information, however, does not consume any such extra I/O time, because both data and redundant information are recorded/accessed in parallel. Different RAID levels, however, essentially differ in the details of the characteristics as mentioned in (2) and (3) above, and the characteristic in (3) only is not supported by RAID 0 and RAID 1.

Seven different RAID schemes have been proposed that mainly differ in their implementations of redundancy techniques, and the disk striping arrangements have been employed. However, RAID level 0+1, and RAID level 1+0 are hybrid organisations based on RAID 0 and RAID 1 levels, but the RAID level 5 is the most popular RAID organisation.

However, the two main metrics, namely, (i) data-transfer capacity (rate), or the ability to move data, and (ii) I/O request rate or ability to satisfy I/O requests, mostly determine the performance differences among these levels.

A brief detail of seven different RAID schemes with their respective figures, and an example have been explained individually in the web site: http://routledge.com/9780367255732.

Disk Cache

The objective in the use of smaller and faster cache memory, also known as memory cache, interposed between main memory and processor, is to effectively minimize repeated relatively slower memory visits, and thereby to reduce the average access time by means of exploiting the principle of locality.

The same principle can be applied to disk devices to improve effective disk access time that consequently speeds up many operations related to disk memory, thereby improving the performance of the entire system as a whole. A disk cache is essentially a buffer (a dedicated area) in relatively faster main memory for some specified disk sectors. This disk cache usually contains a copy of some of the most recently used sectors of the file data and meta-data, like file map tables stored on the disk. When an I/O request is initiated on a file, the file system converts the offset of a data byte in the file into an address of a disk block along with an offset within that block. It then uses the generated address of this disk block to check whether the target block exists in the disk cache. If so, the request results in a cache hit, and is responded to via the disk cache. The net effect is an elimination of delays and the overhead associated with disk accessing, and a quick response via memory to the requesting process. Alternatively, if the requested block is not in the disk cache, a disk- cache miss occurs, and an I/O operation then involves in two copy operations; one copy is from the requested disk block to the disk cache in the disk, and the other is from the disk cache to the target memory location in the address space of the process that initiated the I/O operation. As a result, the entire I/O operation becomes expensive to complete. But, because of the principle of locality of reference, it is expected that when a block of data is fetched into the disk cache to meet any single I/O request, it is highly probable that the same block may be referenced in the near future once again. However, the design considerations of disk cache and its management are entirely software approaches which fall in the domain of operating system principles and design, and hence lie outside the scope of this discussion. Readers interested in this area, however, can consult the book by the same author [Operating Systems: R Chakraborty].

Magnetic Tape

Magnetic tape was historically the first kind of most popular secondary memory in use for regular processing of data. Magnetic-tape memory, tape, and tape drive units are very similar to our domestic audio/video tape recorders but store binary digital information. The storage medium is a flexible mylar tape (plastic tape) coated with magnetic oxide. Information is generally stored in 9 parallel longitudinal tracks. A read-write head is used that can access 9 tracks simultaneously. Data are stored on tape one basic character (9-bit) at a time across the width of the head, and each character comprises 8 bits (one byte) and the remaining one bit is used as the parity-check bit. As with the disk, data are read and written in the tape in contiguous blocks called physical records. Adjacent blocks are separated by relatively large gaps, called inter-block gaps. Similarly, adjacent records within a block are separated by gaps, called inter-record gaps (IRGs). A tape drive is essentially a

secjuential-access device. This means that if the tape head is currently positioned at record 1, then to read or write physical record k, all the physical records, record 1 through к - 1 should be passed through one at a time. If the head is presently positioned beyond the target record, the tape must be rewound to bring it to the beginning of the desired record, and then start operating forward. Magnetic tapes are stored on reels of about 2,400 ft in length, and more so today as it provides a compact, inexpensive, and portable medium of storing large information of files. These tapes are also packaged in cartridges or cassettes which are analogous to audio-tape cassettes. It is still in wide use in spite of having the slowest speed but equally of lowest cost, and are generally used as back-up of large files apart from its frequent use to store regularly operated active files.

A brief detail of the magnetic tape with respective figures and its operation, along with their different generations, is given in the following web site: http://routledge. com/9780367255732.

  • [1] They have relatively slow data-transfer rates • Their electromechanical construction is such that it essentially makes them proneto both transient and catastrophic failures.
 
Source
< Prev   CONTENTS   Source   Next >