Channels ▼
RSS

Parallel

Solid-State Drives From a Developer's Perspective


Mike Riley is a Dr. Dobb's senior contributing editor and advanced technologist specializing in open source and mobile platforms. You can follow Mike on Twitter @mriley.


This is not a hardware review with a lot of hard statistics, benchmark numbers, and performance graphs. Those approaches have been written and posted on the web ad nauseam. Rather, this is a personal and somewhat subjective account of switching from 20th-century hard-drive spindle-based storage technology to thin, quiet, and energy-efficient 34nm NAND flash memory-based storage. Specifically, I swapped out a 500-GB Seagate Barracuda ES.2 hard drive with an Intel X25-M 160-GB Solid-State Drive (SSD).

The first thing that struck me upon receiving and opening the box that contained the drive that Intel sent for review was just how compact the X25-M really is (see Figure 1). For old timers like me who remember their first spindle-based hard drive (the first hard drive I owned clocked in at a whopping 5 MB) held within a metal container the size of a large metal shoebox, the X25's size and weight is striking. Beyond the question of how I was going to securely mount this 2.5-inch device within a standard 3.5-inch drive bay, it occurred to me that you could stack three X25s on top of one another and approach the storage capacity of the 500-GB hard drive I removed. No doubt as NAND densities improve and SSD sandwiches become more cost-effective, the storage capacities of this technology is bound to exceed older hard drive capacities over time.

[Click image to view at full size]
Figure 1: The X25-M is small and light. It's hard to believe its storage capacity is 160 Gigabytes.

The OS Installation and Boot Experience

I use a 2.66-GHz Xeon processor system with 4-GB RAM as my primary system and, while not bleeding edge, it continues to perform well for the coding and compiling services I use it for. It is also a chip that Intel's X25-M documentation states is well-suited to work with.

After locking down the X25-M in my computer's drive bay chassis, I turned on the computer with an expectation that something different should happen. Of course, nothing out of the ordinary occurred beyond the BIOS recognizing that my primary hard-drive capacity had changed and the fact that no operating system booted. As such, I proceeded with a fresh install of Ubuntu 9.10 64-bit desktop edition and was once again stunned how quickly the installation occurred compared to my older hard drive install experiences. This result greatly raised my expectation for OS boot times and I was not disappointed. Because the X25-M has virtually no access time and significantly faster read and write times, what normally took nearly a half hour was completed in roughly two-thirds the time.

To compare boot times more accurately, I formatted a fresh 7200 rpm Seagate Barracuda 500-GB drive and installed the exact same Ubuntu 64-bit configuration as was installed on the X25-M (Figure 2). Booting Ubuntu from the Seagate took 54 seconds to get to the login screen. For the X25-M, the same process only took 42 seconds. Successive cold boots consistently reported these results.

[Click image to view at full size]
Figure 2: The X25-M SSD is to the left of the spindle-based Seagate drive.

Application Launches and Code Compilations

I use the Eclipse IDE for a large percentage of my coding projects and even though its a fine IDE, it's slow loading times and sluggish performance has always annoyed me, especially when compared to snappy text editing alternatives like Vim, Emacs, or even full-featured commercial GUI-based programs like SlickEdit or even TextMate on the Mac. While I realize a majority of the slowdown is inherently due to Eclipse running within the Java VM, my boot time results elevated my expectations for a speed boost. To minimize variability, I configured Eclipse on each drive with no features or additional plug-ins beyond the standard set installed by the "Eclipse IDE for Java Developers" package provides. On the Seagate, load time from launch to workspace was 6 seconds. Using the X25-M, the same process took 5 seconds. While the speed increase wasn't as notable compared to a fresh boot, it was still a healthy improvement.

Where the SSD drive obviously shines is reducing the time for any intensive disk I/O, and this is especially obvious in large coding projects with dozens of source code files. The same performance boosts were experienced with large makecompiles and spin ups to program execution. Plus, with the added bonus of no moving parts, the durability of this drive is assured.

Conclusion

After getting used to the speed increase with the X25-M, going back to slower spindle-based SATA drives feels like downshifting from a Ferrari to a Chevette. The size, speed and stability that this SSD brings to developers is seriously worth the extra expense. Treat yourself to a faster coding experience and strongly consider obtaining Intel's X25-M so that this amazing piece of storage technology will be a part of your current and future developer laptops and workstations.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video