We often discuss the difference between different types of structures NAND- – NAND vertical and planar, multi-level cell (MLC) and three-level cell (TLC). But we’ve never sat down and talked about a simpler and fundamentally pertinent question: how, in the first instance, works SSD?
To understand the differences between SSD from the rotating disks, we need to talk a little bit about the hard drives. The hard drive stores data on rotating magnetic disks, called platters. There is a handle on the drive attached to the read / write heads. This directs the head arm above the desired portion of the disk to read or write information.
Due to the fact that the head must be snapped over a particular area of the disc for reading or writing information (a disk constantly rotates) has non-zero latency before the data becomes available. Disks sometimes have to read from different parts of the disk to run some program or open a file, which means that the plate-scrolls have to repeatedly read from a certain area, before the team can perform. If the drive is in sleep mode or low-power, acceleration to the set maximum speed and power to read can take a few seconds.
From the outset it was clear that the hard disk will not be able to provide the necessary speed for instantaneous speed of your computer. HDD delay is measured in milliseconds, while a delay operation of the processor is measured in nanoseconds. One millisecond is 1,000,000 nanoseconds, while the hard drive takes about 10-15 milliseconds is to find the data and start to read them. The hard drive industry has introduced a small plate, disk space, the higher the speed of rotation to somehow speed up the work of the disk, but there is a limit speed of these discs. A family from Western Digital VelociRaptor spins at 10,000 revolutions per second, and is the fastest drive in the history of the consumer market (some corporate may accelerate up to 15,000). The problem is that regardless of the speed of rotation, the drive is still much slower than the processor.
What is the difference SSD
“If I had asked people what they wanted, they would say that the faster horses.” Henry Ford.
Solid-state drives are so named because they do not rely on moving parts of rotating disks. Instead, data is stored in the NAND memory pool. Memory NAND itself is made up of so-called floating gate transistors. Unlike the transistor structures are used in DRAM, need to be updated several times per second NAND memory is designed to hold the previous charge even when power is not. This makes the NAND memory, independent of the energy.
The graph above shows the design of a simple flash cell. Electrons stored on the floating gate time, which subsequently charged the transistor reads as “1” and not charged as “0”. And yes, in the NAND flash memory 0 is the availability of information, as opposed to the classical binary system. NAND memory forms a grid. The entire grid layout is called a block, and individual lines that make up the grid, called pages. Typically, such page sizes are: 2K, 4K, 8K and 16K, and each block 128 or 256 pages. The block size ranges from 256KB to 2MB.
One of the advantages of this system should be immediately evident. Due to the fact that the SSD has no moving parts, they can operate at speeds that are inaccessible to conventional HDD. On the table is a delay in access to the conventional media in milliseconds.
NAND not even close to the main memory, but it is several orders of magnitude faster than conventional hard disk. At that time, as the delays in the NAND flash memory write significantly more delays in reading, they are still ahead of the normal disk.
In the table above you will notice two things. First, pay attention to how adding more bits per cell, NAND has a significant effect on memory performance. Writes, however, is worse than reading – a typical three-level cell (TLC) is 4 times worse in comparison with single-level cell (SLC) NAND reading, and 6 times worse than when writing. Delay wiping also greatly reduced. Exposure is not proportional, TLC NAND almost two times slower than MLC NAND, despite the retention is only 50% more data (three bits per cell instead of two).
The reason for such a low speed TLC NAND compared to SLC or MLC is how data is moved from / to cell NAND. C SLC NAND, the controller only needs to know what is bits – 0 or 1. With MLC NAND, the cell may have four values – 00, 01, 10, or 11. TLC NAND, the cell may have eight values. Read the correct value from the cell requires the memory controller using a very precise voltage to ensure charging of the cell.
Reading, writing, Erasing
One of the functional limitations SSD is that reading and writing from / to a blank disc is very fast, but the rewriting of information in times slower. This is due to the fact that when SSD reads the information on the page level (in the sense of individual rows in a memory type NAND) and can also record the page level, assuming that the surrounding cells are empty, they can be removed only data at the block level. This is because the act of erasing NAND flash memory requires a lot of stress. While in theory you can erase the NAND memory page level, the amount of the required voltage is set query individual cells around the cell that corresponds. Erasing a block-level data helps to alleviate this problem.
The only way for the SSD update existing pages – just copy the contents of an entire block of memory, block erase, and then write the contents of the unit back + updated pages. If the disk is full and there is no available empty pages, SSD must first scan the blocks that are marked for deletion, but has not yet been removed, dry them, and write in their place new data. That is why the SSD over time becomes slower – in fact, full of empty disk blocks that can be instantly copied and nearly full disc is more likely to be forced to go through the whole sequence of the program “wipe-Write”.
If you have used SSD, you probably have heard of something called “the accumulation of debris.” Rubbish – a background process that allows the drive to mitigate the impact on the performance of the cycle “wipe-Write” by performing certain tasks in the background. The image shows the process nakomleniya debris.
Note that in this example, the drive uses the fact that he can write very quickly, emptying the page and writing new values for the first four units (AD). He also recorded two new blocks – Blocks E and H. AD is now marked as obsolete, which means that they store information that is listed in the memory of the disc as “outdated”. During the inactive period, SSD will move the new page in a new block, wiping the old block, and marking it as empty space. This means that the next time the SSD will need to record, it may be written directly to have an empty block X, rather than to produce a series of “wipe-Write”.
The next concept that should be mentioned is the TRIM. When you delete a file from Windows to simply drive, the file is not deleted immediately. Instead, the operating system reports a disc that he can re-record a physical location on the disk where the file was the next time he needs a place. That’s why you can restore files (and delete files because it does not release the disk space until you empty the Recycle Bin). With a traditional HDD, the OS does not need to keep track of where the information is recorded, or a relative state of blocks and pages. With the SSD, it’s important.
TRIM command allows an operating system to talk SSD, that he may miss some data to overwrite the next time will be to clean the unit. This reduces the total number of data disk records and improves durability SSD. Reading and writing damage NAND memory, but the record gets a lot more harm than reading. Fortunately, the durability at the block level was not a problem for today’s NAND media. More information about the durability of SSD courtesy here.
The last two concepts are worth mentioning – wear leveling and write amplification. Because SSD write data on the page but the blocks are removed, the amount of data recorded on the medium is always greater than the actual update. If you make changes to the 4KB file, for example, the entire unit, which takes the file will be wiped and rewritten to update. Depending on the number of pages in the block and the size of each of them, you can wipe the entire 4MB of data to a 4K upgrade unhappy. Garbage collection reduces the impact on the increase in the recording, as does the team TRIM. Retaining a significant portion of the disk-free and / or factory excess allocation of resources can also reduce the impact on the increase in the recording.
Wear leveling refers to the practice of ensuring that certain blocks of the NAND memory not written / erased more often than others. During wear leveling equally increases lifetime and reliability recording memory NAND, that may actually increase the gain of volume entry. In another case, the recording operation at distribution uniformly across the disk, is sometimes necessary to program and wiping blocks even if their contents are never updated. Good wear leveling algorithm aims to find this balance.
SSD Controller
It should be obvious that the SSD require a more sophisticated control mechanisms than hard drives. This is not just prejudice, in fact, HDD deserve more respect than they now have. Mechanical problems that are associated with balancing multiple read-write heads of all on a nanometer from the plate at a speed of 5,000-10,000 revolutions per second – it will not coat themselves know where to refuel. The fact that the HDD the difficult task of introducing new methods of recording on magnetic media while selling gigabytes of memory just 3-5 cents – just incredible.
SDD controllers, whatever it was, we represent the class. They are often equipped with a pool of DDR3 memory, NAND to help deal with itself. Many drives also include single-level cell cache, which acts as a buffer, increasing disk performance by allocating a fast NAND-memory read / write cycles. Due to the fact that the NAND memory in the SSD is very often associated with the controller through a series of parallel channels of memory, you may think that the disk controller performs the functions of the balance in high-performance memory array. SSD RAID internally are not deployed, but wear leveling technology, the accumulation of debris and cache management SLC have analogues in the world of big iron.
Some drives also use data compression algorithms to reduce the overall number of write operations and improve the longevity of the drive. SSD controller handles error correction and control algorithms for single-bit error, the passage of time, becoming more complex.
Unfortunately, we can not go into the details of the controller SSD, as the different companies in their own hide their secrets. Most of the performance NAND memory is determined by the base controller and the companies are not ready too to tear the veil of mystery with his equipment, so as not to give a competitor an advantage directly in the hands.
The road ahead
Memory NAND offers a huge performance increase compared with hard drives, but not without its own drawbacks and problems. Capacity drives and the price per gigabyte are expected to rise and fall, respectively, but the probability that the SSD HDD will catch up to these parameters is extremely small. Shrinkage units is a serious problem for the memory NAND, while the majority of the hardware is improved with reduction unit, NAND becomes increasingly fragile. Time saving data and recording performance for inseparably below 20nm NAND, compared to 40nm NAND, even if the total power density and significantly improved.
To date, manufacturers have achieved the best performance SSD, taking faster standards of information, high capacity, and more channels on each controller, plus the use of SLC cache, which was mentioned earlier. However, in the long run, it is assumed that NAND will be replaced by something completely different.
And what is “other” would be like until what remains a topic of discussion. And magnetic RAM and phase-change memory, both established themselves as possible candidates, though both technologies are at an early stage of development and the need to overcome many difficulties to compete as a replacement for NAND-memory. Whether the consumer will notice the difference – an open question. If you upgraded from NAND for SSD, and then bought a faster SSD, you know that the gap between HDD and SSD is much greater than between the SSD and SSD, even during the transition from a relatively more modest vehicle. Improving access time with milliseconds to microseconds is important, but the jump from milliseconds to nanoseconds hardly possible to detect the human mind.
Now NAND-memory is the king of the mountains, and will remain so for another five years at least.