Skip to main content

Hello Community,

Here is my first update on my topic, at this time you will find an explanation regarding Disk Access Time.

 

Where dealing with real disk I/O operations it is necessary to understand that the disk drive is a mechanical device and consequently has certain characteristics. For a mechanical device, modern disk drives are very fast, but when compared with the solid state components of the rest of the system they take forever to do anything. An average random I/O requests will take about 8,000,000 CPU cycles worth of time.

When talking to a disk drive there are three phases that must be gone through.

  1. The disk head must be positioned onto the correct track. For a modern 15,000RPM disk drive, the average seek time is in the order of 3ms. This is only an average. Remember this is a mechanical device, the further it moves the longer it will take to get there. Where data objects have been nicely grouped so that they are close together on the disk surface, then much smaller head movements will be required and the time needed will be much less. Where data items are badly scattered then much longer head movements can be needed. For ultimate seek time performance using only a small part of the drive will yield significant decreases in the seek times and a consequent improvement in the IO transaction rate. This improvement will come at the cost of wasting a lot of the available space. However, if the data can be organized in such a way that data likely to be accessed at a similar time is localized, then pretty much the same performance improvements can be achieved without the wastage of space.
  2. It is then necessary to wait until the data comes around under the disk head. On average you will wait half a revolution. For a 15,000RPM disk, this wait will take 2ms (3,200,000 CPU cycles at 1.6GHz). Where data is being transferred sequentially and the request arrives fast enough, there need be no delay. However if sequential I/O is being performed but the second request does not arrive in time it will be necessary to wait one complete revolution which takes 4ms. Another consequence of the data being spread around the tracks of the drive is that the outer most tracks are longer than the inner most tracks. It is therefore possible to store more data on these outer most tracks. Since it takes the same time for each track to pass under the disk head the data stored on the outer most tracks can be transferred at a higher speed. It is normal practice for disk drives to start at the outside and work inwards*. So, data stored at the start of a disk drive will have a higher peak transfer speed than the data stored further into the drive.

  3. The data then needs to be transferred. The time to transfer the data will be a product of the transfer speed and the amount of the data being transferred. Modern 15,000RPM disks might have a peak transfer speed in excess of 100MB/s. A typical 8K transfer can therefore be achieved in one 8th of a millisecond. Since the other times of interest were average approximations measured in whole milliseconds, this transfer time can largely be ignored for small random I/O operations. Conversely for large sequential transfers, where head movements and wait times are kept to a minimum, it is really just the transfer time that is of consequence.

 

You need to know the I/O requirements of your application to know which behavior is required. 15k RPM disks are more expensive for any given capacity than 10K RPM disks. Where high random I/O performance is required, this extra cost is justified. Where the disks are used for large sequential single threaded** transfers the cheaper 10K RPM disks are likely to offer the same performance***

 

*Whereas CDs and DVDs start on the inside and then work outside. This was done since not all such disks are full and when they are being handled they are more likely to be touched towards the edge.

 

**If several threads of sequential IO are being performed at the same time on the same drive, the disk head must jump around between them and the effect is more like random I/O.


 ***10K RPM disks tend to have a higher sector per track count. The transfer speed of the disks is actually governed by the speed the analogue circuits can interpret the signals stored  on the media. If the disk is spinning faster, the sectors must be longer to compensate.

 

 

you can open the mind map using the link https://www.unsoft.jp/sakuramind, I rename the file to .txt, before upload, rename it back to .json. 

 

Great article Andre.  Like seeing this technical stuff as it helps to better understand the requirements.