A hard disk is a memory storage device which looks like this:
The disk is divided into tracks. Each track is further divided into sectors. The point to be noted here is that outer tracks are bigger in size than the inner tracks but they contain the same number of sectors and have equal storage capacity. This is because the storage density is high in sectors of the inner tracks where as the bits are sparsely arranged in sectors of the outer tracks. Some space of every sector is used for formatting. So, the actual capacity of a sector is less than the given capacity.
Read-Write(R-W) head moves over the rotating hard disk. It is this Read-Write head that performs all the read and write operations on the disk and hence, position of the R-W head is a major concern. To perform a read or write operation on a memory location, we need to place the R-W head over that position. Some important terms must be noted here:
- Seek time – The time taken by the R-W head to reach the desired track from it’s current position.
- Rotational latency – Time taken by the sector to come under the R-W head.
- Data transfer time – Time taken to transfer the required amount of data. It depends upon the rotational speed.
- Controller time – The processing time taken by the controller.
- Average Access time – seek time + Average Rotational latency + data transfer time + controller time.
Note:Average Rotational latency is mostly 1/2*(Rotetional latency).
In questions, if the seek time and controller time is not mentioned, take them to be zero.
If the amount of data to be transferred is not given, assume that no data is being transferred. Otherwise, calculate the time taken to transfer the given amount of data.
The average of rotational latency is taken when the current position of R-W head is not given. Because, the R-W may be already present at the desired position or it might take a whole rotation to get the desired sector under the R-W head. But, if the current position of the R-W head is given then the rotational latency must be calculated.
Consider a hard disk with:
- What is the capacity of the hard disk?
Disk capacity = surfaces * tracks/surface * sectors/track * bytes/sector
Disk capacity = 4 * 64 * 128 * 256
Disk capacity = 8 MB
- The disk is rotating at 3600 RPM, what is the data transfer rate?
60 sec -> 3600 rotations
1 sec -> 60 rotations
Data transfer rate = number of rotations per second * track capacity * number of surfaces (since 1 R-W head is used for each surface)
Data transfer rate = 60 * 128 * 256 * 4
Data transfer rate = 7.5 MB/sec
- The disk is rotating at 3600 RPM, what is the average access time?
Since, seek time, controller time and the amount of data to be transferred is not given, we consider all the three terms as 0.
Therefore, Average Access time = Average rotational delay
Rotational latency => 60 sec -> 3600 rotations
1 sec -> 60 rotations
Rotational latency = (1/60) sec = 16.67 msec.
Average Rotational latency = (16.67)/2
= 8.33 msec.
Average Access time = 8.33 msec.
- Another example: GATE IT 2007 | Question 44
GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details
- Difference between Random Access Memory (RAM) and Hard Disk Drive (HDD)
- Difference between Hard Disk Drive (HDD) and Solid State Drive (SSD)
- Difference between Hard Disk and Floppy Disk
- Introduction of Secondary Memory
- Difference between Primary and Secondary Memory
- Magnetic Disk Memory
- Introduction of Compact Disk (CD) optical memory
- Difference between Basic Disk and Dynamic Disk
- Difference between Magnetic Disk and Optical Disk
- Difference between Transfer Time and Disk Access Time in Disk Scheduling
- Difference between Seek Time and Disk Access Time in Disk Scheduling
- Difference between Random Access Memory (RAM) and Content Addressable Memory (CAM)
- Difference between Virtual memory and Cache memory
- Random Access Memory (RAM) and Read Only Memory (ROM)
- Introduction to memory and memory units
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : VaibhavRai3