Solid State Drives (SSDs) are becoming much more ubiquitous and the technology is now rivalling mechanical hard drives using the same form factor. Clearly there are advantages over traditional hard drives such as no moving parts, less power consumption and faster access times.
Advanced controller technology and multi channel flash micro-controllers ensure reliability and speed, but the architecture would put a typical RAID system to shame. The NAND memory chips that SSDs rely upon are relatively slow, so these much be used in parallel to boost performance and bandwidth. Data striping and interleaving increases performance even more.
But what are these NAND memory chips that we see in all types of flash media? Well, there are two types – single level cell and multi level cell. The single level holds 1 bit of data per cell, whilst the multi level allows 2 bits. NAND memory is divided into blocks and each block consists of 512, 2048 or 4096 bytes. The controller maps these blocks using a technique called ‘wear levelling’ to ensure even use of write and erase cycles. Errors that appear during operation can be found and fixed using error correction.
These management algorithms extend the life of the SSD, but complicate the data recovery process. This is because there is no consistent algorithm between manufacturers and algorithms are closely guarded! However we can get around this with proprietary software that we have developed ourselves. We can read the raw information on each NAND chip before reverse engineering the management algorithms. Often this is a process on unscrambling a small amount of raw data to calculate data parameters and then applying these to the full data image.
This lack of standards for solid state drives has prompted a new development group within the ‘Storage Networking Industry Association’ to lobby manufacturers, data recovery companies and distributors. The main purpose at this stage is to create an open forum and begin collective collaboration to standardise technology.