Hacker News new | past | comments | ask | show | jobs | submit login

  > For example a typical SATA disk control (prior to the 
  > popularity of SSDs) would do about 25,000 IOPs, and if 
  > you had 512 byte (.5K) block reads and writes, you 
  > could read and write 25,000 * .5 or 12,500K or 12 MBps 
  > (which was much lower than the theoretical bandwidth 
  > of 200MBps on 2Gbps SATA II channels.
That doesn't seem to jive with reality. What am I missing here? SATA HDDs would regularly hit 100MBps in sequential transfers.

To pick a 2009-era HDD review/benchmark at random that illustrates this: http://www.storagereview.com/western_digital_scorpio_black_5...




Oh you can get faster throughput with longer reads, to get 100MBps on a 2Gbps channel you simply increase the read size until you've maxed out the bandwidth you can get.

So when characterizing a typical SATA drive you would start with 4K sequential reads and work up until your bandwidth hit either the channel bandwidth or stopped going up (which would be the disk bandwidth). Unless you ran across a reallocated sector many SATA drives could return data at a rate of 100MBps with 1MB reads. Or even smaller read sizes if you had command caching available. Random r/w was an issue of course because of head movement (burns your IOPs rate while waiting for the heads to change tracks)

You can do these experiments with iometer[1], there was a great paper out of CMU which talked about illuminating the inner workings of a drive by varying the workload[2]. Well worth playing with if you're ever trying to get the absolute most I/O out of a disk drive.

[1] http://www.iometer.org/

[2] http://repository.cmu.edu/cgi/viewcontent.cgi?article=1136&c...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: