CrystalDiskMark is a piece of software that allows you to benchmark your hard drive or solid state drive, the purpose of benchmarking is to make sure that your HDD or SSD is performing optimally. CrystalDiskMark is only available on Windows, and can be all major Windows Releases, it even works on Windows 10 Tech Preview.
CrystalDiskMark lets you select any drive that you want and perform a number of tests on them to measure performance for reading and writing. It will run sequential read and write tests as well as random read and write tests, and will display the results in MB/s and IOPS.
You can download the latest version of CrystalDiskMark by visiting this link - http://crystalmark.info/software/CrystalDiskMark/index-e.html
As you can see, there are 5 green buttons on the left hand side. There are also 3 boxes on the top of the UI that allow you to choose the number of runs (3 is the default), the file size to use for the tests (1000MB by default) and the drive to run the tests on. Running the tests 3 times is usually enough to get an accurate result. A file size of 1GB is also a good starting point, so I don't really recommend messing with them too much if you just want a quick idea of your HDD or SSD performance.
- 4K QD 32
If you click on "All" then all of the tests will be ran. You can also just run a single test by clicking on a specific button. For example if you just want to test out random 4K read and write you can click on "4K" and skip the other tests. Running All tests can take up to 15 minutes or so if you have really slow disks.
CrystalDiskMark is in some ways a stress test, so if you have a drive that is failing already and you run a ton of I/O tests on that drive it could die on you in a hurry. Otherwise CrystalDiskMark is safe to run in most cases. I use it every time I get a new SSD to test out performance and compare results online to make sure the drive is on par for performance.
An I/O operation (IOP) takes some amount of CPU time to let the Operating System and the Hard Drive send or retrieve data from one another. Because there is a performance cost for every I/O operation that occurs, the idea is to send more data every trip, which reduces the amount of interactions that need to happen. Every Operating system has it's own default block size / allocation size which determines the amount of data can fit into one block, or chunk, or whatever you want to call it. Often times the block size is 4KB to prevent massive storage space waste. If you set the block size to 1MB you would have to use up 1MB to store a singe 1KB text file, which is obviously a waste of empty space.
Larger block sizes produce higher transfer rates and are usually measured in MB/s (MegaBytes per second). Smaller block sizes produce lower rates and are usually measured in IOPS (I/O Operations Per Second).
CrystalDiskMark Sequential Tests (Seq)
The Sequential read and write tests are always the ones with the highest results, but are not always representative of real world performance. An example of a streaming read would be when you watch a video on your PC, all of the data is located in one file, so it's easy to quickly read it. When you copy a file, you are performing sequential reads and writes. I believe that CrystalMark is using 1MB file block size for this test.
For this example I'm using a PNY 240GB SSD (XLR8 SSD9SC240GMDA-RB 2.5) on Windows 8.1 Pro and CrystalDiskMark 3.0.3 x64. The PNY 240GB SSD gets about 336 MB/s for reads and 223 MB/s for writes. Not too bad really, especially considering the price, and it's lasted over 2 years for me.
You may notice these numbers are not as high as NewEgg or Amazon display, but that's normal for an SSD. The more it fills up, the "slower" it gets.
CrystalDiskMark 512K Tests
CrystalDiskMark's 512K I/O test seems kind of redundant to me. The results were pretty close to the sequential tests and I feel that the 4K test is the most useful test to run. For whatever reason, IOPS is not displayed at all, even if you hover over the results. Oh well, pay no attention to this test, the 4K tests below are waaaaay cooler.
CrystalDiskMark 4K Tests
The CrystalDiskMark 4K tests are using 4KB file sizes which are more demanding on the CPU and storage than the sequential tests. If you hover over the MB/S bubbles in the middle you can view the IOPS result, which should be shown by default really. This test is not as demanding as the QD 32 test, and only uses a single thread, or queue to access data from your drive. SSDs will perform much better than HDDs because SSDs don't have to physically move stuff around to access data. This movement causes a massive amount of latency to each IO operation, so lots of small accesses located all over the place will cripple a normal HDD.
Honestly, if you don't have an SSD, you really need to get one.
CrystalDiskMark 4K QD32 Tests
The 4K QD 32 tests are using 4KB file sizes, and accessing them at a Queue Depth of 32. Your PC can do a lot of stuff in a hurry, but it can't do 32 things at the exact same point in time, so it uses queues and buffers to keep track of requests that still need to take place. Each of these queued requests only takes a very small fraction of a second to complete so you can perform many operations in a second of time, hence IOPS (I/O operations per second). If you can perform a write operation in say, 0.10 seconds, you could say that you can perform 10 IOPS for random writes.
If each one of those 10 write operations were 1MB in size then the storage device could write 10MB per second (10 x 1MB per operation x 1 second = 10MB per second)
Anyway, the CrystalDiskMark 4K QD 32 test is much more demanding on your HDD or SSD and CPU. It starts up 32 threads that each try and read or write as much random shit as they can on your drive in a given amount of time. The previous 4K test only uses a single thread to read or write randomly, so the SSD in this example is being under utilized because demand is not high enough.
When you multiply demand by 32 times, the story is different. Now the SSD is getting fully utilized, so the amount of IOPS rises. If you want to measure the absolute IOPS your drive can push then you should use the QD 32 test instead of the normal 4K test.
As you can see, my PNY 240GB SSD gets about 43,337 Random Read IOPS