Overview of SSD Structure and Basic Working Principle(1)
As technology continuing to advance, hard disk is developing rapidly in the aspect of capacity, speed and interfaces. There are changes in interface from PATA to SATA, SCSI to SAS and breakthrough of vertical recording technique in capacity, while these advances don’t changed the way disks recorded. As the demand for data increases, the storage system meets increasingly obvious bottlenecks. Aim the harsh environment of embedded in the field of mobile devices and industrial automation control, traditional hard disk mechanical structure can not meet the requirements for data increases. The advent of solid state storage (SSD) witness this changed.
Traditional mechanical hard disk (HDD) runs mainly by mechanical drive head, including Motor, disk, magnetic head rocker arm and other necessary mechanical components. It must be moved to the access position on a rapidly rotating disk so at least 95% of the time is spent on the movement of mechanical parts. While Solid State Drive (SSD) different from mechanical structures do not require moving components.SSD consisting mostly of the control chip and flash chip can access to anywhere in the drive faster and accurately. Traditional mechanical hard disks have to rely on the main shaft, magnetic head and magnetic head arm to locate, while SSD replace physical spinning disk with Integrated circuit, which leads in the time and latency of accessing data far exceeds that of mechanical hard disks. The reason why SSD are so fast is that its internal component of main control chip, flash memory and firmware algorithm.
Relationship among master control, flash memory and firmware algorithm:
The three most important components of SSD are NAND flash, controller and firmware. NAND flash is responsible for important storage tasks, in the same time controllers and firmware work together to accomplish complex and equally important tasks such as managing data storage, maintaining performance and longevity of SSD.
The controller of SSD is an embedded microchip (such as CPU in computer) with the function of issuing all operation requests ranging from reading and writing data to collecting garbage and depletion equalization algorithm to ensure the speed and cleanliness of SSD. So the controller is the brain center of SSD. There are major controllers available today such as Marvell, SandForce, Samsung, Indilinx. For example, Marvell is powerful in all directions and the Marvell 88ss9187/89/90 controller is used on the SSD of the Plextone, SanDisk, Crucial and other brands.
The performance of SandForce is also good with the feature of compressing data. For example, a 10M compressible data could be pressed into 5M written to disk. Although it still occupies the space of 10M, speed can be improved. The biggest feature is that it extends the life of SSD. But the occupation of CPU is bigger and the speed decreases slightly as the hard disk is used. The representative model is SF-2281, which is used on SSD of Intel, Kingston, A-Data and other brands.
The Samsung controller is typically only available on its SSD. The performance of it is strong and not much worse than Marvell. At present, Samsung’s controller has developed to the fifth-generation MEX, which is mainly used in Samsung 850EVO and 850PRO.
The firmware of SSD used to drive the controller is the most important component to ensure SSD performance. Master control chip use control program in the firmware algorithm of SSD to carry out tasks such as automatic signal processing, error-correcting code (ECC), bad block management, communication with host equipment(such as a computer) and data encryption. Because firmware redundancy is stored in NAND flash memory, SSD manufacturers need to manually update the firmware to improve and expand SSD functionality when they update it.
Developing high-quality firmware requires not only sophisticated engineering, but also perfect integration among NAND flash, controllers and other SSD components. In addition, the most advanced technology regarding NADN characteristics, semiconductor process and controller characteristics must be mastered. The better the quality of the firmware is , the more accurate and efficient the overall SSD will be. Currently, there are not many SSD manufacturers having the ability to research and development firmware independently, except for Intel/ Crucial/ Plextone /OCZ/ Samsung and other manufacturers.
The data of SSD Users is all stored in NAND flash, which is SSD's storage medium. The primary cost of SSDs is NAND flash. NAND flash not only determines the lifetime of SSD but also have big impact on SSD performance. We have launched a series of articles to focus on the introduction of NAND flash before. Here we introduce SLC, MLC and TLC flash.
The recent years have witnessed the significant progress of NAND flash technology, from enterprise-level standard SLC flash memory to MLC flash memory which is widely used in consumer level SSD to emerging TLC flash memory.
How to understand SLC, MLC and TLC flash? To be Simple, the data in NAND flash is stored in each storage cell. SLC, MLC, and TLC are different bits of storage.
The difference between single-tier and multi-tier storage is the number of "bits" each NAND storage cell can store at a time. SLC (single-level Cell) stores only 1bit of data per Cell, while MLC (multi-level Cell) stores 2 bits and TLC (Trinary-Level) stores 3 bits. A storage cell stored the more bits at a time and will has more capacity, which can save the cost of flash memory and increase NAND production. However, the state is difficult to discern when adding more data to each cell. In the same time, reliability, durability and performance will reduce.
SSD are solid-state electronic components that do not need to be moved and read data directly. To be specific, a laptop using a traditional hard drive might have to wait 36 seconds for the operating system to boot while the wait time is less than nine seconds with SSD. Based on the collaboration of such high-performance hard disks, the efficiency of the CPU can also be improved, resulting in the energy savings are enough to extend the battery's life by 15%. Besides, it's more quake-resistant and lightweight. While a traditional hard drive reads and writes data, the disk head takes time to rotate and locate the data.
SSD working principle overview
SSD controller operate multiple FLASH particles in parallel through several channels, similar to RAID0, greatly improving the underlying bandwidth. For example, suppose that there are 8 channels between the HOST and the FLASH particle. Each channel is loaded with a FLASH particle. The data transfer rate between HOST and FLASH is 200MB/s. The Page size of FLASH particle is 8KB, the reading time of FLASH Page is Tr=50us, the average writing time is Tp=800us, and the 8KB data transmission time is Tx=40us. Then the bottom maximum read bandwidth is (8KB/(50us+40us))*8 = 711MB/s, and the maximum write bandwidth is (8KB/(800us+40us))*8 = 76MB/s. As can be seen from the above, in order to improve the underlying bandwidth, we can increase the number of parallel particles at the bottom or choose fast FLASH particles (or make slow particles faster, such as replaces MLC with SLC). The controller connects 8 FLASH dies via 8 channels. For illustration purposes, only one Block is drawn in each DIE, where each small square represents a Page (assuming a size of 4KB).
When HOST write 4KB of data:
HOST continues to write 16KB of data
HOST continues to write until the entire Block is filled.
When all the blocks on the Channel are full, the SSD controller will pick the next Block to continue writing in the same way.