Solid-state storage (SSS) is non-volatile computer storage that has no moving parts; it uses only electronic circuits. This solid-state design dramatically differs from the commonly-used competing technology of electromechanical magnetic storage which uses moving media coated with magnetic material.[1] [2] Generally, SSS is much faster but more expensive for the same amount of storage.[3] [4] [5]
SSS devices typically use flash memory, but some use battery-backed random-access memory (RAM). Devices come in various types, form factors, storage sizes, and interfacing options to satisfy application requirements for many computer systems and appliances.
Historically, computer system secondary storage has been implemented to leverage magnetic properties of surface coatings applied to rotating platters (in hard disk drives and floppy disks) or linearly moving strips of plastic film (in tape drives). Pairing such magnetic media with read/write heads allows data to be written by separately magnetizing small sections of the ferromagnetic coating, and read later by detecting the transitions in magnetization. For the data to be read or written, exact sections of the magnetic media need to pass under the read/write heads that flow closely to the media surface; as a result, reading or writing data imposes delays required for the positioning of magnetic media and heads, with the delays differing depending on the actual technology.[6]
Over time, advancements in central processing unit (CPU) speed has driven innovation in secondary storage technology.[7] One such innovation, flash memory, is a non-volatile storage medium that can be electrically erased and reprogrammed.
Solid-state storage typically uses the NAND type of flash memory, which can be accessed in chunks smaller than the entire capacity of the device. The minimal chunk size (page) for a read operation is much smaller than the minimal chunk size (block) for a write/erase operation, resulting in an undesirable phenomenon called write amplification that limits the random write performance and write endurance of a flash-based storage device.
Some solid-state storage devices use (volatile) RAM and a battery that preserves the contents of the RAM without system power as long as the battery continues to provide power. Flash-based storage does not suffer the limitation of a battery, but RAM-backed storage is faster and does not experience write amplification.[8] [9]
As a result of having no moving mechanical parts, solid-state storage has no data access latency required to move the media as in an electromechanical storage device. This allows for significantly higher I/O operation rates (IOPS). Additionally, solid-state storage consumes less power, has better physical shock resistance, and produces less heat and no vibration.
Compared to electromechanical, solid-state devices tend to cost more for the same capacity, and generally are not available in the larger capacities available for electromechanical.
Also, flash-based devices experience memory wear that reduces service life resulting from limitations of flash memory that impose a finite number of program - erase cycles used to write data. Due to this, solid-state storage is frequently used for hybrid drives, in which solid-state storage serves as a cache for frequently accessed data instead of being a complete substitute for traditional secondary storage.[10]
A solid-state drive (SSD) provides secondary storage for relatively complex systems including personal computers, embedded systems, portable devices, large servers and network-attached storage (NAS). To satisfy such a wide range of uses, SSDs are produced with various features, capacities, interfaces and physical sizes and layouts.
Solid-state storage is also available as removable media. A memory card, such as MMC and SD, is shaped to fit into a special port for the card. A USB flash drive connects via USB and is not constrained by shape and size as a card is.[11]
In general, an SSD uses a relatively fast interface such as Serial ATA (SATA) or PCI Express (PCIe) paired with a logical device interface such as AHCI or NVM Express (NVMe). Removable devices use simpler, slower interfaces such as the one-bit SD interface or SPI.[12] [13]