4

We need to do random reads (seeks) on 5 KB blocks from a huge file (150 gigabyte). What hard drive is the best suited for this type? What is the expected performance from an SSD in this scenario?

I heard that SSD excel in random reads, but perhaps not when the block sizes are this small.

4 Answers 4

8

Dave Cheney gave a great answer, with emphasis on the write penalties of SSDs.

If the drive is almost exclusively used for reads then SSDs rule absolutely. The "best" drives on balance, with a look at controller & firmware maturity, consistent performance, and price, are the Intel X25-M(ainstream) G2 and X25-E(xtreme).

The X25-E uses SLC flash, and is intended for server use. However, if the write load is very light, you could also consider the X25-M for heavier use. The main benefit of the E's SLC flash is much improved write endurance.

You can see the random 4kb block read performance of both drives here. Note the 10k RPM mechanical drive at the bottom of the chart. I'll quickly summarize Anantech's results:

  • Random 4 KB reads aggregate transfer rate: Western Digital Raptor mechanical HD ~0.7 MByte/s, Intel SATA SSD ~50+ MByte/s.
  • Random 4 kb reads average latency: WD Raptor ~17.3 milliseconds, Intel SSD ~0.21 milliseconds.

There are several interesting SSD drives on the way to market, but they're not quite ready yet. Intel isn't going to really update its SSDs before Q4 this year. So I'd go for the current Intel lineup, possibly attached to a (fast, modern) RAID controller.

Fusion I/O are the very fastest drives available right now. In the future I think performance SSDs will all use the PCI-Express bus, as Fusion I/O already does. Right now Fusion I/O is bloody expensive, but absolutely worth considering if your workload is transactional with a lot of writes.

2
  • Link broken. Update please?
    – cottsak
    Mar 30, 2010 at 5:25
  • @jimmygee: Anandtech is in process of redesigning their site, the current URL seems to be anandtech.com/show/2808/4
    – user2874
    Mar 30, 2010 at 12:32
4

I'd be tempted to use a FusionIO drive (CLICKY), we've tested these and they are STUNNING even in comparison to the fastest SSDs but they're not cheap, that said other than a RAM drive they're about as fast as you can get (>600MB/sec) irrelevant of block size.

3
  • For random IO ?
    – ripper234
    Feb 24, 2010 at 11:51
  • Oh their stats aren't that conclusive but they'll certainly be way quicker than anything but a RAM drive.
    – Chopper3
    Feb 24, 2010 at 11:56
  • If you google around they seem to get ~200k IOPs for 4k random reads if that's any help.
    – Chopper3
    Feb 24, 2010 at 12:00
2

SSD's are fine reading random blocks of any (reasonable size), where they fall down is writing data. Traditional spinning rust harddrives allow you to rewrite data at a sector level (traditionally 512 bytes, although larger sector sizes are available now), that is the minimum data you can write to a drive, physically, is 512 bytes. Even if you change 1 byte of a file, the OS will rewrite the whole sector (possibly even the whole block which is 4096 bytes).

SSD's have the idea of pages, which are larger (somewhere upwards of hundreds of kilobytes). A page can be written at a sector size, but it can only erase at a page size. Therefore, if you want to change data already written to an SSD, the drive needs to read the whole page, erase it (very slow operation), and then write the entire page back.

SSD's do overcome this using additional capacity of pages not exposed directly to the OS, and using wear levelling, but these only delay the inevitable page erase operation, not obviate it.

2
  • Although new SSD have TRIM, which should help this problem, by (AFAIK) allowing a background operation to clear up the pages. Feb 24, 2010 at 11:36
  • The operating system needs have support for TRIM for this to have any effect. That being said, Windows 7 RTM with a SSD (intel 2g) and TRIM = pure gold.
    – pauska
    Feb 24, 2010 at 12:24
0

A ram drive may actually be more appropriate and cost effective than SSD if your file is only several gigs.

1
  • Well, actually it's more like 150 gigs :)
    – ripper234
    Feb 26, 2010 at 8:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .