Disk Access Time and Performance: Formulas, Worked Example and GATE Traps

Learn how seek time, rotational latency and transfer time combine, then apply the formulas to random and contiguous reads without losing track of units.

KnowledgeGate Team

Exam prep & CS education

Updated 10 Sep 20265 min read

Students remember access time = seek + rotation + transfer yet treat RPM as revolutions per second, use half a rotation despite an exact angle, or multiply seek time incorrectly. A random-sector read differs from best, average and worst access, while sequential access reduces repeated positioning.

Disk access time is a sequence of physical delays

A hard disk drive stores data on rotating platters. A surface has concentric tracks, each divided into sectors. Tracks at the same radius across surfaces form a cylinder. A read/write head selects a surface and seeks the required track while the platter rotates.

A logical block may span one or more sectors, so check whether the question asks for a sector, block or file. These mechanical formulas describe rotating disks, not SSDs.

For an HDD, the core sequence is:

disk service time = seek time + rotational latency + transfer time

  • Seek time moves the head to the required track.

  • Rotational latency waits for the required sector to rotate under the head.

  • Transfer time moves the requested bytes after the head is positioned.

Service time is not always end-to-end response time. If queueing delay or controller overhead is supplied, include it explicitly:

response time = queueing delay + controller overhead + disk service time

Include only the terms the question supplies.

Disk access time formulas must keep units visible

Keep units visible to prevent RPM conversion errors.

Quantity

Formula

Unit and meaning

Revolution time

60 / RPM

seconds per revolution

Revolution time

60,000 / RPM

milliseconds per revolution

Average rotational latency

30,000 / RPM

milliseconds, half a revolution

One-sector transfer time

revolution time / sectors per track

milliseconds per sector

Contiguous data transfer time

sectors requested x sector transfer time

milliseconds

Bandwidth-based transfer time

data size / transfer rate

seconds if bytes and bytes/s are used

Average rotational latency is half a revolution only when the target's angular position is uniformly random. The best rotational wait is 0. The worst wait approaches one full revolution.

To convert seconds to milliseconds, multiply by 1,000. Also remember 1 KiB = 1024 bytes and RPM means revolutions per minute. If bandwidth is supplied, use data size / transfer rate. Do not also apply the sector formula unless it is only a cross-check.

Timeline of one 6000 RPM sector access: 5 ms seek plus 5 ms average rotation plus 0.02 ms transfer totals 10.02 ms.

Disk access time worked example for 3,000 random sectors

Q53 of the official archived GATE 2024 CS2 master paper uses 6000 RPM, a 5 ms average seek, 500 sectors per track, 512-byte sectors, and 3,000 randomly located sectors.

Random placement is the decisive assumption. Treat every sector as a separate average access, so every sector pays one seek and one average rotational wait.

  1. One revolution takes 60,000 / 6000 = 10 ms.

  2. Average rotational latency is 10 / 2 = 5 ms.

  3. One-sector transfer time is 10 / 500 = 0.02 ms.

  4. One random-sector access takes 5 + 5 + 0.02 = 10.02 ms.

  5. All 3,000 sectors take 3,000 x 10.02 = 30,060 ms.

  6. Converting to seconds gives 30,060 / 1,000 = 30.06 s.

Seek plus average rotation already costs 10 ms per sector. For 3,000 independent accesses, about 30 seconds is plausible. A 60 ms result counts only transfer and ignores repeated positioning.

Average rotational latency is not every rotational latency

Using the same disk and one sector, the rotational component changes with the target position:

Case

Calculation

Access time

Best

5 + 0 + 0.02

5.02 ms

Average

5 + 5 + 0.02

10.02 ms

Worst, approached

5 + 10 + 0.02

15.02 ms

Now suppose the required sector is exactly 90 degrees ahead after the seek. The rotational wait is known, so half a revolution would be wrong:

rotational wait = 90 / 360 x 10 = 2.5 ms

access time = 5 + 2.5 + 0.02 = 7.52 ms

Use half a revolution only when a question asks for an average or implies a uniformly random angular position. When it gives an angle or sector distance, use that exact position.

Disk performance depends on access pattern, not transfer rate alone

This 10.02 ms random access gives:

IOPS = 1000 / 10.02 = 99.8 accesses/s

useful throughput = 99.8 x 512 = 51,098 bytes/s, approximately 49.9 KiB/s

This is useful-data throughput for the one-sector workload, not the disk's advertised streaming rate.

Now simplify the same 3,000 sectors as one contiguous stream after a single positioning event. Ignore track-change overhead, so this is a teaching model, not a hardware guarantee.

  • Transfer spans 3,000 / 500 = 6 rotations.

  • Transfer time is 6 x 10 = 60 ms.

  • Total time is 5 + 5 + 60 = 70 ms.

  • Data size is 3,000 x 512 = 1,536,000 bytes.

  • Effective throughput is 1,536,000 / 0.07 = 21.94 MB/s, or about 20.93 MiB/s.

Random I/O repeatedly pays positioning cost. A larger contiguous request pays it once and amortises it across the data. File systems and disk scheduling in OS explains how request ordering can reduce head movement, although it does not change the RPM formulas.

Random versus contiguous 3,000-sector read: repeated positioning gives 30.06 s and 49.9 KiB/s versus 70 ms and 20.93 MiB/s.

GATE disk access questions combine a small set of patterns

The archived 2024 CS2 paper demonstrates a random-sector numerical where placement decides how often seek and rotation are paid. Related questions can combine:

  1. Convert RPM to one revolution and then to average latency.

  2. Find a multi-sector or multi-track total after deciding how many positioning events occur.

  3. Work backwards from, or compare, IOPS, throughput, best-case or worst-case time.

For timed application, the GATE Test Series is the direct practice route. For a separate COA revision topic, Addressing Modes and Instruction Formats is a useful next read, but it is not a prerequisite for disk calculations.

Disk access time traps and their repairs

  1. Writing 60 / RPM and labelling the result milliseconds. Use 60,000 / RPM when the required answer is in milliseconds.

  2. Taking half of RPM. First calculate one revolution's time, then halve that time for average latency.

  3. Paying positioning cost the wrong number of times. Mark the access pattern before multiplying. Random sectors pay repeatedly; a simplified contiguous request pays once.

  4. Using a full revolution as one sector's transfer time. Divide revolution time by sectors per track.

  5. Mixing service time, response time, IOPS and bandwidth. List the included delays, align all units, count positioning events, and divide useful data by total elapsed time only after the access total is correct.

Disk access time short version and next step

Use this four-line method:

  1. Find one revolution time.

  2. Select best, average or exact rotational wait.

  3. Compute transfer time only for the requested data.

  4. Decide how many times each delay is paid.

The anchor result is 5 + 5 + 0.02 = 10.02 ms per random sector, so 3,000 x 10.02 ms = 30.06 s.

Use the GATE category to browse the preparation path. For sequenced COA study, GATE Guidance by Sanchit Sir is the focused next step. If you want more practice after the concept is clear, more than 40 practice questions on this subtopic are available.