The primary components of an SSD are the controller and the memory used to store data. Traditionally, early SSDs used volatile
DRAM for storage, but since 2009, most SSDs utilize non-volatile
NAND flash memory, which retains data even when powered off.
Controller Every SSD includes a controller, which manages the data flow between the NAND memory and the host computer. The controller is an embedded processor that runs firmware to optimize performance, managing data, and ensuring data integrity. Some of the primary functions performed by the controller are: •
Bad block mapping •
Read and write caching •
Encryption •
Crypto-shredding •
Error detection and correction using
error-correcting code (ECC), such as
BCH code •
Garbage collection •
Read scrubbing and management of
read disturb •
Wear leveling • Management of
flash memory refresh and data retention The overall performance of an SSD can scale with the number of parallel NAND chips and the efficiency of the controller. For example, controllers that enable parallel processing of NAND flash chips can improve bandwidth and reduce latency. The number of flash memory channel increases, the delay of raw flash memory (such as
ONFI based
NAND flash) decreases, and the bandwidth of raw flash memory increases. Micron and Intel pioneered faster SSDs by implementing techniques such as data striping and interleaving to enhance read/write speeds. More recently, SandForce introduced controllers that incorporate data compression to reduce the amount of data written to the flash memory, potentially increasing both performance and endurance.
Wear leveling Wear leveling is a technique used in SSDs to ensure that write and erase operations are distributed evenly across all blocks of the flash memory. Without this, specific blocks could wear out prematurely due to repeated use, reducing the overall lifespan of the SSD. The process moves data that is infrequently changed (cold data) from heavily used blocks, so that data that changes more frequently (hot data) can be written to those blocks. This helps distribute wear more evenly across the entire SSD. However, this process introduces additional writes, known as write amplification, which must be managed to balance performance and durability.
Memory Flash memory Most SSDs use non-volatile
NAND flash memory for data storage, primarily due to its cost-effectiveness and ability to retain data without a constant power supply. NAND flash-based SSDs store data in semiconductor cells, with the specific architecture influencing performance, endurance, and cost. There are various types of NAND flash memory, categorized by the number of bits stored in each cell: • Single-Level Cell (SLC): Stores 1 bit per cell. SLC provides the highest performance, reliability, and endurance but is more expensive. • Multi-Level Cell (MLC): Stores 2 bits per cell. MLC offers a balance between cost, performance, and endurance. • Triple-Level Cell (TLC): Stores 3 bits per cell. TLC is less expensive but slower and less durable than SLC and MLC. • Quad-Level Cell (QLC): Stores 4 bits per cell. QLC is the most affordable option but has the lowest performance and endurance. Over time, SSD controllers have improved the efficiency of NAND flash, incorporating techniques such as
interleaved memory, advanced error correction, and wear leveling to optimize performance and extend the lifespan of the drive. Lower-end SSDs often use QLC or TLC memory, while higher-end drives for enterprise or performance-critical applications may use MLC or SLC.
DRAM and DIMM Some SSDs use volatile DRAM instead of NAND flash, offering very high-speed data access but requiring a constant power supply to retain data. DRAM-based SSDs are typically used in specialized applications where performance is prioritized over cost or non-volatility. Many SSDs, such as
NVDIMM devices, are equipped with backup power sources such as internal batteries or external AC/DC adapters. These power sources ensure data is transferred to a backup system (usually NAND flash or another storage medium) in the event of power loss, preventing data corruption or loss. Similarly,
ULLtraDIMM devices use components designed for DIMM modules, but only use flash memory, similar to a DRAM SSD. DRAM-based SSDs are often used for tasks where data must be accessed at high speeds with low latency, such as in high-performance computing or certain server environments.
3D XPoint 3D XPoint is a type of non-volatile memory technology developed by Intel and Micron, announced in 2015. It operates by changing the electrical resistance of materials in its cells, offering much faster access times than NAND flash. 3D XPoint-based SSDs, such as Intel's Optane drives, provide lower latency and higher endurance than NAND-based drives, although they are more expensive per gigabyte.
Other Drives known as
hybrid drives or
solid-state hybrid drives (SSHDs) use a hybrid of spinning disks and flash memory. Some SSDs use
magnetoresistive random-access memory (MRAM) for storing data.
Cache and buffer Many flash-based SSDs include a small amount of volatile DRAM as a cache, similar to the
buffers in hard disk drives. This cache can temporarily hold data while it is being written to the flash memory, and it also stores metadata such as the mapping of logical blocks to physical locations on the SSD. Additionally, some SSDs use an
SLC buffer mechanism to temporarily store data in single-level cell (SLC) mode, even on multi-level cell (MLC) or triple-level cell (TLC) SSDs. This improves write performance by allowing data to be written to faster SLC storage before being moved to slower, higher-capacity MLC or TLC storage. On NVMe SSDs, Host Memory Buffer (HMB) technology allows the SSD to use a portion of the system's DRAM instead of relying on a built-in DRAM cache, reducing costs while maintaining a high level of performance.
Battery and supercapacitor Higher-performing SSDs may include capacitors, supercapacitors or batteries, which helps preserve data integrity in the event of an unexpected power loss. The capacitor or battery provides enough power to allow the data in the cache to be written to the non-volatile memory, ensuring no data is lost. In some SSDs that use multi-level cell (MLC) flash memory, a potential issue known as "lower page corruption" can occur if power is lost while programming an upper page. This can result in previously written data becoming corrupted. To address this, some high-end SSDs incorporate
supercapacitors to ensure all data can be safely written during a sudden power loss. Some consumer SSDs have built-in capacitors to save critical data such as the
Flash Translation Layer (FTL) mapping table. Examples include the Crucial M500 and Intel 320 series.
Host Interface SATA (2242) solid-state-drive (SSD) connected into
USB 3.0 adapter and connected to computer (front) and
USB-C (back), specification
3.2 Gen 2 with
data transfer rate 10 Gbit/s, capacity 2
Terabyte The host interface of an SSD refers to the physical connector and the signaling methods used to communicate between the SSD and the host system. This interface is managed by the SSD's controller and is often similar to those found in traditional hard disk drives (HDDs). Common interfaces include: •
Serial ATA: One of the most widely used interfaces in consumer SSDs. SATA 3.0 supports transfer speeds up to 6.0 Gbit/s. •
Serial attached SCSI: Primarily used in enterprise environments, SAS interfaces are faster and more robust than SATA. SAS 3.0 offers speeds of up to 12.0 Gbit/s. •
PCI Express (PCIe): A high-speed interface used in high-performance SSDs. PCIe 3.0 x4 supports transfer speeds of up to 31.5 Gbit/s. •
M.2: A newer interface designed for SSDs that is more compact than SATA or PCIe, often found in laptops and desktops. M.2 supports both SATA (up to 6.0 Gbit/s) and PCIe interfaces. •
U.2: Another interface used for enterprise-grade SSDs, providing PCIe x4 lanes but with a more robust connector suitable for server environments. •
Fibre Channel: Typically used in enterprise systems, Fibre Channel interfaces offer high data transfer speeds, with modern versions supporting up to 128 Gbit/s. •
USB: Many external SSDs use the Universal Serial Bus interface, with modern versions like
USB 3.1 Gen 2 supporting speeds of up to 10 Gbit/s. •
Thunderbolt: Some high-end external SSDs use the Thunderbolt interface. •
Parallel ATA (PATA): An older interface used in early SSDs, with speeds up to 1064 Mbit/s. PATA has largely been replaced by
SATA due to higher data transfer rates and greater reliability. • Parallel
SCSI: An interface primarily used in servers, with speeds ranging from 40 Mbit/s to 2560 Mbit/s. It has mostly been replaced by Serial Attached SCSI. The last
SCSI-based SSD was introduced in 2004. SSDs may support various logical interfaces, which define the command sets used by operating systems to communicate with the SSD. Two common logical interfaces include: •
Advanced Host Controller Interface (AHCI): Initially designed for HDDs, AHCI is commonly used with SATA SSDs but is less efficient for modern SSDs due to its overhead. •
NVM Express (NVMe): A modern interface designed specifically for SSDs, NVMe takes full advantage of the parallelism in SSDs, providing significantly lower latency and higher throughput than AHCI. ==Configurations==