Hard disk Drives (HDD) completely dominated the Data Storage Industry for several Decades but the Ever increasing Demand for high Speed storage media ushered in a New Era of Solid-State Drives (SSD).
If you missed my previous post You can read about how HDDs make use of magnetism to Store information. However Just like i promised Today’s Topic would be about the operation of a Solid-State Drive (SSD)
Solid State Drives (SSD) came on board as a suitable replacement to the various drawbacks experienced from the decades of using the traditional rotating hard disk drive that had dominated the scene. Unlike a Hard Disk Drive (HDD) that is quite sensitive due to the spinning platters and the various intricate moving parts that make up the construction, SSD make use of NAND chips which is a series of semiconductors memory chips which are more reliable. Hence the name “solid state”, a name reserved for devices that make use of semiconductor properties.
Initially SSDs made use of a volatile memory known as DRAM which offered faster access and very low latency but due to its inability to retain data in the absence of power supply it was not widely accepted. However, when SSDs that was designed to make use of NAND flash came on board SSDs became widely accepted majorly because it was a non-volatile memory which could retain data in the absence of power and they were much faster than a hard disk drive.
The time required to access data such as opening files, reading and writing data, booting up system software and overall performance improvement offered by a Solid State Drive cannot be matched by an Hard Disk Drive and due to their design they are faster, more reliable and they consume less power. An Average SSD can boast of about 500MB per second read/write operation compared to the 150MB per second of a hard drive disk. Due to the major boast in speed and the time that would be saved by using a SSD, it makes it a better choice for people that make use of really large software and files such as Gamers, graphics designers, animators, video editors. They get more done in a shorter time with less power consumption.
The design of an SSD makes them capable of handling shock since they do not have any moving parts unlike an HDD that have several intricate parts that can fail and lead to loss of data in the process. If a hard disk drive accidentally drops to the ground, the read write heads can accidentally make contact with the spinning platter and this might result in major data loss but in the case of SSD they can accidentally fall and data would not be affected.
An ordinary casual computer user would easily notice a significant difference in the performance of a computer that makes use of a Solid state drive and another similar computer that makes use of a Hard disk drive. If you have ever used a hard disk drive, you would notice the very annoying sounds it makes whenever its performing a task. But Unlike the HDD when you are using an SSD you would not even notice they are in action because they are super quiet.
Let's take a closer look at the operation of a Solid State Drive
I like to define a Solid State Drive or an SSD as they are popularly called as a device that uses NAND flash to provide non-volatile, rewritable memory.
Solid-state drive image from Wikimedia under the creative commons Attribution Share Alike 4.0 international License
Manufacturers produce SSDs with similar shapes, sizes and footprints that is similar to an HDD so they can both be used interchangeably. In your laptop you can easily install an SSD in the exact same slot of your old hard disk drive without affecting any other essential part. Inside an SSD is an integrated circuit used to store data and upon closer look you would realize that the electronic interface is quite compatible with the block input or output interface of an HDD.
If you take a look inside an SSD you would find an array of chips connected on a board. NAND cells are mostly used in SSD because they can read and write data rapidly and they require fewer wires so they can be packed on a chip in large densities. The transistors in a NAND flash are arranged sequentially in a grid with columns and rows. Wherever an intersection of rows and columns occur a cell is formed. This cell is made up of two transistors and each of them have different functions, the first transistor function as the control gate while the second transistor function as the floating gate.
Initially the transistors are set to a value of 1, but due to the arrangement of the transistors, as soon as a save operation begins in the SSD some transistors are changed to a value of “0” as current flows through the chain of transistors as data is stored on them. When a chain of transistors doesn’t conduct current it has a value of 0 but when they conduct current it has a value of 1.
During save operations the current would flow straight into the floating gate while electrons would flow directly into the control gate, when this occurs a net positive charge is created and this charge interrupts current flow. Also when correct voltages values are applied a unique pattern of 1s and 0s can be derived in the SSD.
For data to still remain intact in the NAND memory in the absence of power supply, they are made up of floating gate transistors cells (this contains the electrons) that retain their charge state when there is no power. The discharged and charged state are represented by binary bits “0 and 1”: binary bit 1 represents the discharged state, while binary bit 0 represents the charged state. the data stored in the NAND Flash is depicted by the binary bit “0”
A NAND flash can either be a Single Level Cell or a Multi-Level Cell. When NAND flash stores only one binary bit in one floating gate transistor, they are known as Single Level Cell (SLC) and this bit could either be a “1” or a “0 “per cell. However, when NAND flash stores two bits in one floating gate they are called Multi level Cell (MLC). An MLC is mostly used for all consumer level SSD because it delivers higher capacity than an SLC.
Within the Solid state drive is an embedded processor known as the Controller which acts as a medium of communication between the computer and storage medium. The controller is solely responsible for the performance of the SSD as well as how data is stored in a flash memory. The flash controller takes necessary action when the computer needs to access the flash memory to perform an operation which could either be a Read or Write operation.
For cases where the drive gets corrupted the controller is responsible for introducing a bit sequence of data stored known as Error Correcting Code (ECC), which helps in data recovery. For recovery to take place the controller simply maps out bad sector of the flash memory that is responsible for the damage in the SSD, these mapped sectors could either be a physical or logical bad sector. In the case where the damage is physical it means a part of the flash memory is permanently broken and can’t be fixed but if the damage is logical the damaged sector can be repaired by the controller using The error correcting code which would scan all the locations on the memory, locate the damages and repair all the corrupt data.
For a single bit of information to be written by an SSD, it erases and then rewrites very large blocks of data at one time, so the NAND flash can ONLY be used for a finite number of writes. Whenever a cell is erased some charges are left in the floating cycle gate transistor, so after each erase cycle the resistance of the cell is increased and subsequently the amount of current that would be needed to charge the gate increases. As this occurs continuously the gate becomes useless since it cannot be flipped any more.
The controller is responsible for managing the memory flash cells and it is programmed in such a way that it utilizes all the cells efficiently to ensure that over time as the flash memory is consistently used degradation occurs uniformly not that some cells would become inoperable due to over use while some cells might not be used at all throughout the usage of the SSD, hence the need for uniformity to preserve the lifespan of the flash media.
This process is known as wear-leveling and it is a very paramount feature in the operation of an SSD to improve its performance. A cache (which is a small amount of DRAM memory) is required to store wear leveling data as well as maintain a block placement. This would distribute data writes across data blocks
Solid state drives may have some major advantages over a spinning hard disk drive but it doesn’t come as a surprise that HDDs are still very much in use due to the fact that they offer larger storage capacities for cheaper prices. Although HDDs completely revolutionized computing but with the ever increasing demand for high speed storage media SSD is potentially the future of storage.
Like every other technology SSDs are not perfect, but if you intend buying a new computer system it would be a superb idea to have a computer with a Solid State Drive to enjoy the speed, reliability, quiet operation and overall superb performance which requires less power consumption.
If you write STEM (Science, Technology, Engineering, and Mathematics) related posts, consider joining #steemSTEM on steemit chat or discord here. If you are from Nigeria, you may want to include the #stemng tag in your post. You can visit this blog by @stemng for more details.
You can also join us at Promo-Mentors, to improve your blogging skills. Join our discord channel and meet awesome mentors who are willing and ready to shape your writing skills.