If there is a magnetic disk as following:

Average seek time: 12 ms

Rotation rate: 3600 RPM

Transfer rate: 3.5 MB/second

Number of sectors per track: 64

Sector size: 512 bytes

Controller overhead: 5.5 ms

What's the average time to read a single sector? I'm not sure how/why 2 parts are calculated.

We need to know:

  Seek time: 12 ms
  Average rotational delay: The answer here should be 8.3 but why? 60000/7200 would indeed give me 8.3 but why do I need to double the 3600?
  Transfer time: Not sure what to do here. Sector size is 512 bytes and rate is 3.5 MB/sec -- what do I need to calculate here? 
  Overhead: 5.5ms

Disk Access time: I believe the answer is about 25ms

Resulting from (seek time) 12 ms + (average rotational delay) 8.3 + (transfer time) ? + (overhead) 5.5ms.


We need to know:

Seek time: 12 ms (given in text)

Average rotational delay: 3600 RPM = 60 revs per second, or 16.7 ms/rev. Average is half that, or 8.3 ms.

Transfer time: 512 / 3.5 MB/s = 146 µs -- however, it will take a little longer to actually read the sector, since there are 64 sectors on the disk, and the disk rotates once every 16.7 ms, each sector will take 16.7 ms / 64 = 260 µs to read. Since this is greater than the transfer time, it is the figure to use.

Overhead: 5.5ms (given in text)

Disk Access time:

Seek time (12 ms) + Average rotational delay (8.3 ms) + Sector read time (260 µs) + Overhead (5.5 ms) = 26.1 ms

It is possible, depending on how the disk controller works, the sector may be read into a hardware buffer (260 µs) and then transferred to memory (146 µs) as two separate operations, in which case the answer would be 26.2 ms instead.

  • isn't access time = seek time + rotational delay , transfer time = seek time + sector read time ? – Suraj Jain Jan 28 '17 at 13:34
  • @SurajJain Seek time and rotational delay are separate. Seek time is the time for the head to move from one track or cylinder on the disk's surface to another. But you then have to wait for an average rotational delay (half the disk's rotation) until the desired sector is under the head before you can start reading. – tcrosley Jan 29 '17 at 1:18
  • sir i am saying , that access time = seek time + rotational delay. And trasfer time = access time + sector read time ?? Iknow seek and rotational time are different – Suraj Jain Jan 29 '17 at 5:36
  • "transfer time = access time + sector read time" that's not what you said in the first comment, which was " transfer time = seek time + sector read time" where you were leaving out rotational delay (inspiring my other comment). I don't consider either of those transfer time, I consider transfer time to be the time it takes to read the sector after it has been located, which is the greater of the sector read time or the time based on the maximum transfer rate of the controller. You are essentially equating transfer time to be disk access time. – tcrosley Jan 29 '17 at 10:59
  • then what is read time ,also my understanding that transefer time = read time + access time was inspired by this video youtube.com/watch?v=d0xn68w3KPE 8:43 part. – Suraj Jain Jan 29 '17 at 12:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.