Prashanth L.A.
2023-11-07
How do modern hard-disk drives store data? What is the interface? How is the data actually laid out and accessed? How does disk scheduling improve performance?
operation | description |
---|---|
seek. | move arm to correct track |
rotate. | wait for correct block to come by |
transfer | do read/write of the sector |
\[T_{I/O} = T_{seek} + T_{rotate} + T_{transfer}\]
\(T_{seek} + T_{rotate}\): Aim to minimize
\(T_{seek} = 10ms\), Rate of transfer \(= 100MB/s\)
Sequential I/O | Random I/O | |
---|---|---|
Size | 10MB | 10KB |
\(T_{I/O}\) | \(10ms+ \frac{10MB}{100MB/s} = 110ms\) | \(10ms+ \frac{10kB}{100MB/s} \sim 10ms\) |
Rate of I/O | \(\frac{10MB}{110ms} = 90.9MB/s\) | \(\sim 1MB/s\) |
How can we implement SSTF-like scheduling but avoid starvation?