27 October 2010

Hard Drives, Etc

Been doing some work on my computer, as usual. I have really wanted an SSD (solid state hard drive) for a while now, as I've found that my user experience with Windows 7 is gradually slowing down (or maybe my expectations are just gradually increasing). A recent set of blog posts (Jeff Atwood & Linus Torvalds) suggest that an SSD may be the most cost-effective performance boost right now, and judging by the amount of clicking and grinding my hard drives are going through whenever I try to launch a program or interact with my computer, I think this may be a real issue which I have not previously addressed.

However, having recently spent a considerable amount of money on guitar equipment and a Halloween costume, I'm not really in the position to blow another $200+ on a hard drive that is only 80GB large! As an alternative, I decided that it was time to take a step back and look at the current resources I have to work with. My computer, in terms of hard disk arrangement, was a complete MESS. I have 4 hard drives, about ~2.5 TB worth of storage space, but chunked up into many medium-size partitions. The main reason I've gotten into such a mess when it comes to disks is:

(1) I tend not to really have an "upgrade roadmap" for disks, as I typically do for other components such as CPU/Mobo/RAM, and video card (for these, I have an idea of when they'll become obsolete, when the newer technology hits the price point I'm willing to pay, and what components I can buy knowing they'll last past several iterations of computer upgrades). And I never buy brand new disks when building a new system, nor factor them into the overall cost of a computer.

(2) I tend to buy disks as they come on special sales at SlickDeals (or if I have a BustBuy er.. BestBuy gift card to blow), so they all have mis-matched Manufacturer/Capacity/Performance/Cache Size.

(3) I tend to choose which disks to keep in my system based on their size, not performance. With a limited number of SATA ports (4 - 1 for CD-ROM), I just keep the 3 biggest disks around.

(4) Most of my important data has been historically spread across many different disks, partitions, and file system formats, and I always have too much to fit on one single disk. So when I want to install a new OS, I typically find a disk that has enough free space to throw on a partition and go from there. The result has been that the drive I choose for an install is more based on where data already is than the optimal configuration.

Recently I solved problem #4 by buying a relatively high-performance (WD 'Black' /w 32MB cache) 1TB drive and creating a "dump" of all my most precious data. Another way to go, of course, is to get a NAS or similar external drive enclosure. For the purposes of home computing, I think this is a really bad idea for a number of reasons:

(1) If you use an external hard drive, your performance suffers greatly! Most of these things are still USB or FireWire, and even if its the faster Firewire spec, its still nowhere near as good as a SATA drive. Yes, you can get ones that have eSATA, but there is a significant price penalty. Also, I have found some incompatibilities, such as certain drives only working at SATA-I with certain enclosures.

(2) External enclosures are usually louder than internal ones. You already have a perfectly good "enclosure" sitting at your desk: your computer case! Why add more junk? Yes, they're more portable, but in today's age of network & Internet file sharing, its doubtful you will want to physically lug around several Terabytes of your data (not to mention reliability and security issues!).
(2b) If you buy a pre-configured enclosure, the exact specs of the drives inside are often unclear. Its also often unclear if you can take it apart, put a bigger hard drive, or replace a failed hard drive.
(2c) If you buy a separate enclosure system and hard drives, it can be difficult to determine if the thermal transfer of that enclosure will be sufficient to cool your disks and not shorten their life span. It also adds yet another price overhead that can be completely avoided by sticking the drive in your computer.

(3) Using a NAS at home doesn't make sense: sure its great that you have all of your data easily network-accessible to all computers/devices in your home (and in some cases, on the Internet as well), but then you also have slow (NETWORK) access to all machines. If you have the disks inside your computer, its almost trivially easy to setup a Samba share in Windows that achieves the same level of data sharing AND have it be very FAST on at least one computer!

Coming off my rant on external drives & NAS, I decided to think about something I never did before: Performance. So I ran several HDD benchmarks, and here were the results:

(1) I had my OS installed, for "historical reasons" (i.e. this was the free disk I had laying around at the time) on a 0.5 TB drive which was actually my SLOWEST internal hard drive. I had backups running to a 0.75 TB drive which was significantly faster.

(2) As expected, my data-drive ('Home') was on the fastest drive, a 1TB Western Digital. However, because this was in an eSATA external enclosure, it was only running at SATA-I instead of SATA-II, so that was a significant area for improvement. It also produced a strange resonance with my desk so it made my system significantly louder.

(3) A good fraction (>25%) of my space was in "dead filesystems", i.e. Ext3 and Hfs+ partitions from Linux & OSX installs I had abandoned a while ago and did not care about the data.

So, in conclusion, I was able to streamline my system down to 2 disks, 4 partitions, and greatly improve performance. My OS disk has 2 80 GB partitions: 1 for Windows 7, 1 for Linux, and 1 500GB partition for a Home Backup. My Home disk continues to be 1TB with 1 partition, but now that its an internal drive it operates at a higher performance. For those hackers out there who ignore their file system and disk plans, take a second look before resorting to more expensive technologies.

Next Post: How I was blown away by the quality of both Win7 and Linux after my recent re-configuration.