Solid State Drive Limitations.
Latency in a Hard Disk Drive is measured in milliseconds, compared with nanoseconds for a typical Solid State Drive (SSD). SSD’s do however have their limitations.
Solid State Drives are different.
“If I had asked people what they wanted, they would have said faster horses.” — Henry Ford
Solid-state drives don’t rely on moving parts or spinning disks. Instead, data is saved to arrays of floating gate transistors termed NAND flash. Unlike the transistor designs used in DRAM, which must be refreshed multiple times per second, NAND flash retains its charge state even when not powered up. This makes NAND flash a type of non-volatile memory. In a hard drive NAND flash is organized in a grid. The entire grid layout is referred to as a block, while the individual rows that make up the grid are called a page. Common page sizes are 2K, 4K, 8K, or 16K, with 128 to 256 pages per block. Block size therefore typically varies between 256KB and 4MB. One of the functional limitations of SSDs is that whilst they can read and write data very quickly, overwriting data is much slower. This is because SSDs read data at the page level (meaning from individual rows within the NAND memory grid) and can write at the page level, assuming that surrounding cells are empty, they can only erase data at the block level. This is because the act of erasing NAND flash requires a high amount of voltage.
Whilst you can theoretically erase NAND at the page level, the amount of voltage required stresses the individual cells around the cells that are being re-written. Erasing data at the block level helps mitigate this problem. The only way for an SSD to update an existing page is to copy the contents of the entire block into memory, erase the block, and then write the contents of the old block + the updated page. If the drive is full and there are no empty pages available, the SSD must first scan for blocks that are marked for deletion but that haven’t been deleted yet, erase them, and then write the data to the now-erased page. This is why SSDs can become slower as they age — a mostly-empty drive is full of blocks that can be written immediately, a mostly-full drive is more likely to be forced through the entire program/erase sequence.