SQLIO is a great tool for testing your disk subsystem, measuring straight IOPS, MB/sec, etc. Setting it up and getting it working is not that hard. The question is, what is it writing? By default, most tests show how to set up a file filled with '0' and then you point the executable at that file, which should be on the drive you're testing in order to have the test run. The question is, is it reading from the file in order to write to it? Or is it writing what it wants, probably '0'?
Interesting question having played with SQLIO quite a bit. From my understanding/observations the tool pre-fills a file, or uses an existing one. The reads and writes are separate functionality tests and don't match up in a one-to-one relationship. Whatever is read in is discarded, and output is from RAM in the pre-defined slot size. What is being written is not so important as the size and method (sequential or random). The important thing is that bytes are being transferred - the tool doesn't test for bit-flipping and data consistency, it tests for raw data movement. The actual data being 0's lets the file be compressed to almost nothing if need be.