Firmware malfunctions can manifest in several ways. The most common one is SSD coming to a full stop, does not give ID to the system, and the only indication it is still alive is a glowing or blinking light on it. Another one is that it gives a so called factory ID to the system, for example, the name of the controller used in it (Sandforce, Intel…). Yet third one is that it gives normal ID, but without capacity (a common malfunction in USB flash devices, too).
It can be very difficult to establish is it the malfunction of SSD electronic components of a firmware malfunction, because, unlike a traditional HDD, there are no moving parts or sounds to give an indication that something is happening.
As we can see on the picture above, controller is responsible for huge majority, that is to say, all the operations inside SSD, as well as all additional functions that the SSD is capable of (wear leveling, RAISE, garbage collection, reading, writing, etc.). That means the firmware malfunction is actually a term which covers a broad specter of malfunctions inside the controller itself.
Data recovery from SSD can be done in two ways. First and easier one in case of the firmware problem, to simulate working of the microcode of the controller using the special tools, and gain access to client data.
The other method is to unsoldier every single memory chip on the SSD, read their dumps, and go forward into data reconstruction. The first thing to be done is to discover the page organisation of the memory (which part of the page is the data, and which is the ECC and headers) Then find the FTL, that is the way the data is stored on chips. That process is somewhat analog to RAID systems. In both cases, more than one physical component is combined into a logical whole, and parts of every single file are stored onto several components. In case of RAID – several disks, in case of SSD – several chips. However, as opposed to RAID, logical location of a block in NAND chip is not in direct correlation with the location in the logical whole. The firmware in SSD contains a constantly changing table, which is remembering the the mapping from logical to physical location inside the chips. That table is called FTL. Then a transformation of the memory dumps is done to form a compact whole, and the a search for the headers of the OS and the identification of the files. Needles to say, this is a time consuming, long lasting and very complicated process.
Data Solutions Laboratory technicians are constantly in a search for new solutions in order to optimize the process and maximize SSD data recovery success rate.