Description
A Solid-State Drive [SSD] is a data storage device that uses solid-state memory to
store persistent data. A SSD emulates a hard disk drive interface (Data in and out)
easily replacing it in most applications. A SSD using SRAM or DRAM (instead of flash
memory) is often called a RAM-drive.
SSD’s have begun to appear in laptop computers although still more costly (2009)
per unit of capacity than hard drives. The size (form factor) of the SSD (as illustrated
above) is designed as a direct plug-in replacement for a similar sized 2.5” Hard
Disk Drive [HHD]. SSD’s are more rugged and reliable than most standard hard disk
drives.
Architecture and function
An SSD is commonly composed of DRAM volatile memory or primarily NAND flash non-volatile
memory.
Flash based
Most SSD manufacturers use non-volatile Flash memory to create more rugged and compact
devices for the consumer market. These Flash memory-based SSD’s, also known as Flash
drives, do not require batteries. They are often packaged in standard disk drive
form factors (1.8-inch, 2.5-inch - as shown above, and 3.5-inches). In addition,
non-volatility allows Flash SSD’s to retain memory even during sudden power outages,
ensuring data persistence. SSD’s are slower than DRAM (and can be even slower than
traditional HDD’s on big files), but mostly perform better than hard drives, because
of negligible seek time (Flash SSD’s have no moving parts, and thus eliminate spin-up
time, and greatly reduce seek time, latency, and other delays inherent in conventional
electro-mechanical disks).
Components:
- Cache: A flash based SSD uses a small amount of DRAM as a cache, similar to the cache
in Hard disk drives. A directory of block placement and wear levelling data is also
kept in the cache while the drive is operating.
- Energy storage: Another component in higher performing SSD’s is a capacitor or battery.
These are necessary to maintain data integrity such that the data in the cache can
be flushed to the drive when power is dropped; some may even hold power long enough
to maintain data in the cache until power is resumed.
The performance of the SSD can scale with the number of parallel NAND flash chips
used in the device. A single NAND chip is relatively slow, due to narrow (8/16 bit)
asynchronous IO interface, and additional high latency of basic IO operations (typical
for SLC NAND - ~25µs to fetch a 4K page from the array to the IO buffer on a read,
~250µs to commit a 4K page from the IO buffer to the array on a write, ~2ms to erase
a 256 KB block). When multiple NAND devices operate in parallel inside an SSD, the
bandwidth scales, and the high latencies can be hidden, as long as enough outstanding
operations are pending and the load is evenly distributed between devices.
Recently, SSD’s have been made substantially faster by implementing data striping
(similar to RAID 0) and interleaving. This allowed creation of ultra-fast SSD’s with
250 MB/s effective read/write, the maximum the SATA interface can manage.