I am approaching that time where my main PC has slowed enough due to Windows rot that I should probably reinstall. Instead of spending a week arm-wrestling, reinstalling and configuring only to find that I forgot to back up my Visual Studio settings yet again, I'm going to upgrade. I've already purchased all the parts and am in the process of benchmarking to find the best configuration.
RAID 0 via Intel Z77 chipset controller:
These benchmarks are obviously not exhaustive, but I think they give me a good idea of what to expect between various configurations.
My understanding is that for most common usage patterns, namely development with Visual Studio (my primary usage),
4K reads and writes are far more common, even during builds. Between
RAID 0 and not, there's little difference. But with
Sequential R/W, the differences are enough to merit attention.
The thing is, in order to avoid future rot issues - and, quite frankly, because I can - I'm going to be relying a lot more on virtualization. My plan is to segment different parts of my development environment into virtual machines using VMware Workstation: Visual Studio and accompanying tools on one, SQL Server on another, Adobe Design Suite on yet another, etc. By taking advantage of VM snapshots and the easy by which it is to create or clone new ones, I believe I'll see an improvement in long-term reliability (and only ever see Adobe update pop-ups when I want to).
So, my question is, does virtualization merit the usage of a
RAID 0 SSD configuration over a traditional setup (in my case, OS and bare-metal apps on one SSD, VM's on the other)? Will virtualization take advantage of the
Sequential R/W strengths of
I've read that some modern SSDs are capable of managing garbage collection on their own, so not having
TRIM is less of an issue. I don't know how to enable this on my SSDs or even see if they support it, however.
Regarding disaster recovery, this system also has large standard platter drives for file storage and a secondary RAID controller that I'll eventually use in a mirrored array. Combined with nightly local backups, constant off-site backup via Carbonite and consistent off-site source control check-ins, I've got a sufficient means of preventing data loss.