16,384 views
Consider a disk pack with a seek time of $4$ milliseconds and rotational speed of $10000$ rotations per minute (RPM). It has $600$ sectors per track and each sector can store $512$ bytes of data. Consider a file stored in the disk. The file contains $2000$ sectors. Assume that every sector access necessitates a seek, and the average rotational latency for accessing each sector is half of the time for one complete rotation. The total time (in milliseconds) needed to read the entire file is__________________

So is it assumed that the sectors of the file are stored randomly in various tracks? otherwise if they were contiguously stored only four tracks were required to access and then only four times we would multiply avg rotational latency. Am I understanding it correctly?
No,It is not assumed, It is given in question. THe word "necessitates " is the key here.Means mandatory for each sector seek+latency means randomly stored.

* Seek time $= 4ms$

* Avg latency:

$60sec\leftarrow10,000\ rot$

$?\leftarrow 1\ rot$

$1\ rot\rightarrow 6ms$

$\dfrac{1}{2}\ rot\rightarrow 3ms$

*Data transfer time:

$1\ rot\rightarrow 6ms$

$6ms\rightarrow 600\times 512B\ data$

$?\leftarrow 512B$

$0.01ms$

$Ans: 2000\times (4+3+0.01)=14020ms$

Since each sector requires a seek,

Total time $= 2000$  (seek time $+$ avg. rotational latency $+$ data transfer time)

Since data transfer rate is not given, we can take that in $1$ rotation, all data in a track is read. i.e., in $60/10000 = 6\;\text{ms}, 600 \times 512$ bytes are read. So, time to read $512\;\text{bytes} = 6/600\;\text{ms} = 0.01\;\text{ms}$

$= 2000 \times (4 \; \text{ms} + 60 \times 1000 /2 \times 10000 + 0.01)$

$= 2000 \times (7.01 \ \text{ms})$

$= 14020 \ \text{ms}.$

http://www.csee.umbc.edu/~olano/611s06/storage-io.pdf

by

What is the use of information 512B here?
@o 512B is used to calculate data transfer rate

@Arjun Sir

why are we considering data transfer time in the answer . I know that when we need to transfer data then we need to add data transfer time but in the question we are only reading the file ..

Seek time (given) = 4ms

RPM = 10000 rotation in 1 min [60 sec]

So, 1 rotation will be =60/10000 =6ms [rotation speed]

Rotation latency= 1/2 * 6ms=3ms

# To access a file, total time includes =seek time + rot. latency +transfer time

TO calc. transfer time, find transfer rate Transfer rate = bytes on track /rotation speed

so, transfer rate = 600*512/6ms =51200 B/ms

transfer time= total bytes to be transferred/ transfer rate

so, Transfer time =2000*512/51200 = 20ms

Given as each sector requires seek tim + rot. latency = 4ms+3ms =7ms

Total 2000 sector takes = 2000*7 ms =14000 ms To read entire file ,total time = 14000 + 20(transfer time) = 14020 ms
by

This ans is provided by geeksquiz..is it correct approach?
each sector will hav its own transfer time... correct me if i am wrong....

Here each sector has 512 Bytes. So either you calculate time total transfer time = time for one sector * No. of sectors.

OR

You can calculate the total number of Bytes present in all sector and then get the total transfer time = total Bytes across all sectors / Data transfer rate.

### 1 comment

got it

Seek time = 4ms
60s        →   10000 rotations
Rotation Time :-            (60 / 10000) = 6 ms    (in 1- rotation)
Rotational latency  :-     (1 / 2 )6ms = 3ms
1track    →   600 sectors

6ms←600 sectors (1 rotation means 600 sectors (or) 1 t
2000 sector         →   (2000) 0.01 =  20 ms
∴total time needed to read the entire file is:
= 2000 (4+3) +20
=8000+6000+20 = 14020

by