High-Performance SSD for Home Use - Part 3

Please see part 1 and part 2.

So, here's what it comes down to: performance!  I knew the crappy Marvell 9128 controller on my motherboard would be a limiting factor, but I was still hoping for decent performance.  The Bobulator is now two years old and SATA 6GB was a brand new technology in December 2010.  It wasn't supported by Intel's ICH10R chipset, so Asus added SATA 6GB to their high-end motherboards using a third-party chip.  These "tack-on" solutions always suck, but it's what I've got.  I'll build a new Bobulator in about 12 months, so I'll be able to unlock the total performance of this SSD when that happens.

I used a few different tools to test performance.  Most of the testing was done with a tool called IOMeter.  IOMeter is freeware and it's the industry-accepted tool for storage performance benchmarking.  It's the same tool I use for performance testing on multimillion dollar storage appliances, and it works just as well for standalone disks on gaming/work PCs!


Random IO
The first test was for random IO.  Random IO occurs when you have a whole bunch of files being accessed simultaneously, causing the drive to hop all over the place grabbing chunks of data.  A good example is the launching of an operating system which requires a bunch of files to be accessed at the same time.  SSDs are insanely good at random IO because they can access non-sequential sectors just as quickly as sequential sectors.  It takes the same amount of time to access sectors 1, 324, and 179 as sectors 1, 2, and 3.  This isn't the case with spinning disks which can only read or write to a given sector once the correct portion of the platter is aligned underneath the head.

My existing hard drive was able to provide 380 IOPS (input/output operations per second, e.g. a single read or write operation) for random reads and 366 IOPS for random writes.  That's actually not bad for a 7,200RPM spinning disk.  They max out at approximately 80 IOPS natively and the rest is all caching, hence the value of a large cache (64MB or higher) on a spinning disk.  The SSD absolutely blew it out of the water, though, with nearly 57,000 IOPS for random reads and just over 46,000 IOPS write.  These lead to mind-boggling improvements of 14,945% and 12,593%, respectively.

...




Sequential IO
IOPS can be misleading, though, as the number of operations you can perform is meaningless if those operations don't reflect real-world usage.  Sequential IO is a much better test of true performance.  Unlike random IO, sequential IO is a measure of performance when sectors are read in order (e.g. 1/2/3 instead of 17/5/32).  A good example of sequential IO would be a straight reading of a file like an HD movie file.  Large numbers of sectors are read in ascending numerical order to allow the media player to stream your movie from the disk drive.

My existing drive provided 46MBps for sequential reads and 59MBps for sequential writes.  These numbers are a bit backward, as read operations should always outpace write operations.  I chalk this up to an overtaxed drive.  I had three volumes on a single physical disk (C: for OS, D: for applications, and E: for mass storage), so I was splitting the paltry IO across three different volumes.  For instance, any IO used by the OS on drive C: would be unavailable for applications on drive D:.  By moving the C: drive to the SSD, I was not only accelerating the C: drive substantially but also reducing the IO constraints on the D: and E: drives. 

The SSD provided 383MBps for sequential reads and 238MBps for sequential writes.  That's an improvement of 832.61% and 403.39%, respectively.  Sadly, this is where the weakness of the Marvell chip really shows up.  I should be seeing another 140-160MBps for reads and nearly 280MBps for sequential writes, but the Marvel 9128 just can't handle it.  I'm considering purchasing a high-end RAID adapter just to get the performance I'm paying for, but that money would can probably be put to better use by saving up for the next Bobulator.

...




Launch Times

For me, launch time isn't a huge concern as I very rarely reboot my system.  Like most of you, my PC runs 24/7.  Screw the environment, right?  With that said, I understand that many people use OS launch times as their benchmark of SSDs.  Keep in mind that I have a very "heavy" OS that loads a lot of extremely resource-intensive applications (e.g. Visual Studio, SQL Server, etc), so my load times won't be anywhere near as low as a system that is specifically engineered for fast boots.  For those interested, the OS is Windows 7 Ultimate SP1 64-Bit.

Since my system is on an Active Directory domain, I have to provide credentials to log into the system.  As such, I'm breaking my results into two categories.  The first, Windows Launch, measures the time from hitting the power button to seeing the "Press Ctrl+Alt+Delete to Log On".  The second, Desktop Ready, measures the time from me hitting "enter" after entering my credentials to the point where everything is completely loaded and my primary disk backs down from 100% utilization.

The launch time for Windows was 65 seconds with the spinning disk.  This dropped to a mere 18 seconds after migrating to the SSD for a 361% improvement in boot time.  The desktop ready time was a very substantial 386 seconds on the spinning disk, or nearly six and a half minutes.  This is why you should never, ever put your applications and operating system on the same spinning disk!  The queue lengths were absolutely astronomical for that poor disk.  By improving the IO of the operating system and removing that burden from the disk containing my applications, I now have a ridiculously fast desktop ready time of 15 seconds.  That's a 2,526% improvement!

...




Final Thoughts

Overall, I'm incredibly satisfied with the Samsung 840 Pro series, and I would recommend it to any enthusiast that's looking to improve the performance of their system.  Honestly, I can't think of a single component I've ever replaced that had even half the impact of this SSD.  Just look at these numbers!

...