Solid-state drives (SSD) are the latest memory storage devices in the market and they are ready to replace the hard disk drives (HDD). The SSDs can help you achieve a substantial performance and are more reliable when compared to regular hard disks. This article explains the in-depth technical aspects of SSDs and their superiority to HDDs.
A solid-state drive (SSD) is the latest data storage device to date. In contrast to hard disk drive (HDD), which records data by magnetizing a thin film of ferromagnetic material on a disk, they use integrated circuit assemblies as memory to store data persistently. The electronic interfaces used by the SSDs are compatible with traditional block input/output (I/O) hard disk drive, which gives them lower access time and latency when compared to HDDs.
Solid-state drives consist of either flash-based memory cells or DRAM. Flash-based data storage drives are non-volatile in nature. Hence, constant power supply is not required to retain the data. On the other hand, DRAM is volatile and mostly used as cache memory. Compared to standard HDD, flash memory based drives have higher data transfer rates.
SSD consists of a processor called as controller for executing firmware level codes. In addition to the routine jobs like error correction and garbage collection, controller also distributes the ‘writes’ across the flash known as ‘wear levelling’, which maximises the life of an SSD. The second important component is the memory itself, which is flash based. Finally, interface is the third critical component. SSDs do not have any rotating or moving components like traditional magnetic disks, which makes them more reliable as they are not susceptible to mechanical failures.
Mostly SSD storage is built from NAND-based flash. A NAND gate (Negated AND or NOT AND) produces a false output if all its inputs are true. It is a key logic gate to the SSD architecture. The other NOR-based gate structure can also be used, but it is very rare. Single Level Cell (SLC) and Multi Level Cell (MLC) are two types of NAND flash technologies used. SLC technology stores one bit of information per cell and MLC allows more bits to be stored using the same number of transistors. Usually MLC will have four possible states per cell in-order to store two bits of information per cell. This results in the possibility of more errors, but can be corrected using suitable algorithms.The higher data density makes MLC flash memory more economical.
The storage system in SSDs is in the form of pages grouped together into a block. The pages in NAND flash memory can be written only when they are empty. Hence, if they are not empty they should be erased first. However, the write operation is page level while the erase operation is block level. Therefore, in order to perform a write operation, all pages in the block have to be erased prior to the writing. The contents of the entire block are stored in cache before erasing on the flash medium. The page is modified in the cache itself and then the entire block is written to the flash medium to overcome the drawback. This entire process degrades the performance of drive. They use TRIM command to notify the OS about the data pages that are invalid due to erasure. This notification helps the relocation of exact data blocks from the logical block addresses for garbage data collection. Rewriting of all the memory blocks to the cache and flash memory is avoided by this notification and this increases the drive life.
SSD as cache
SSD cache will have a software package that identifies the frequently used applications and cashes them. Simply attaching an SSD cache to a SATA port and installing cashing software can save you from reinstalling OS along with all the applications from the scratch.