Home > About > What is flash data recovery
What is it - Flash recovery?
Similar with hard disk drive data recovery, generally, flash data recovery can be classified into two levels: logical-level flash data recovery, which deals with logical damages of flash devices, where the devices are physically detected in the system, but the data are not able to accessed by regular operation because of the damages; and physical-level flash data recovery, handling with physical damages of flash devices or service area damages, which cause impossible access to the contents of flash-memory microchips (This type of damages is more popular than the first type). SalvationDATA Flash Doctor is not invented to solve the first type of flash data recovery challenges, since there are so many mature products able to do that. SalvationDATA Flash Doctor is a professional Hardware-software complex specially designed for flash data recovery from the physically damaged flash storage devices.
As the advancement of technology, more and more manufacturers are able to manufacture flash storage devices; naturally, there is a sea of controllers emerging in the flash storage devices market. Therefore if we performed the same as the hard disk data recovery done, there would no room to prepare an adequate database to meet the need of the flash data recovery.
Before launching of SalvationDATA Flash Doctor, customers were required to seek for identical or matching controller to replace the damaged controller, regarding less of either physical replacement or logical replacement, when performing flash data recovery.
Physical Controller Replacement
This approach requires a solder station. Customers have to find a perfect match flash device with identical controller chip, controller content and flash memory chip. Finally it’s necessary to move the target flash memory chips to the donor device by soldering.
The limitation of this approach:
1. It is extremely difficult to identify whether the target flash devices are completely identical with donor ones or not.
2. It solely solves these problems in which user’s data is stored in the damaged controller chip. (Usually the controller content is stored in two locations, the controller chip and the flash memory chip)
Logical Controller Replacement
This solution requires a flash reader and a controller emulator. In fact this is first step for flash data recovery. The flash chip reader is used to read and save a raw image of the flash memory chip. And the emulator with a built in controller database will emulate the actions of the controller. This kind of Logical Replacement does not require finding an identical flash device. As long as a target controller is provided in the controller database, customers are able to remove the “data mix” and rebuild the data.
The limitation of this solution:
1. It is impossible for the manufacturers of flash data recovery tool to add all the controllers needed into a database. Therefore once a target controller is not included on the database, it is possible for customers to give up flash data recovery in this way.
2. The controller emulator is able to match the controller, mainly determined by the controller model. Consequently there are much false match results: some controller chips with the same model number may contain different contents, especially when they are manufactured in different factories and/or at different times.
Not anymore, SalvationDATA Flash Doctor can read your data straight from flash storage devices and automatically or manually reconstructs the data without a matching controller replacement. Therefore SalvationDATA Flash Doctor supports nearly all NAND-based flash storage devices. by SalvationDATA Flash Doctor, the flash data recovery is realized by a unique “Jigsaw Method”, which recomposes the data to a readable format by finding and linking the different Key Points among the random data; just like playing a puzzle game, we rebuild the valid image by re-arranging those disordered tiles by matching the shape or image of the tiles (here tiles can be regarded as data blocks, and the shape or image of the tile can be regarded as the Key Points we are talking about).
The challenges of flash data recovery without rebuilding the controller (through “Jigsaw Method”):
Like hard disk drive, flash devices also require bad block management by the device driver software, or by a separate controller chip. SD cards, for example, include controller circuitry to perform bad block management and wear leveling. When a logical block is accessed by high-level software, it is mapped to a physical block by the device driver or controller. A number of blocks on the flash chip may be set aside for storing mapping tables to deal with bad blocks, or the system may simply check each block at power-up to create a bad block map in RAM; but unlike hard disk drive, in flash-based storage devices, files are not stored linearly but in a dynamic unknown order decided by the “wear-leveling” algorithm running in the controller chip.
The “wear-leveling” algorithm was invented to extend the service life of the devices. We know flash memory has a very limited read-write cycles because flash uses transistors as data storage devices, and the transistors within flash memory use electrical current to change their state (from a '1' value to a '0' value and vice-versa); if it uses the same data storage method as hard disk drive does, we can imagine that the front part transistors of the flash memory will be used very frequently and get damaged very quickly, while the latter part will seldom be used. The “wear-leveling” algorithm was introduced to solve such kind of problem: “wear leveling” will change the write position each time, for example, if one block has been used in a last write operation, the “wear-leveling” will use a new block for the next write operation, so that to make sure each of the blocks to be used equally, and to ensure a maximal service life of the device.
The “wear-leveling” algorithm plays a key role in extending the life of flash devices, but as for flash data recovery, it becomes an annoying barrier: the data is totally out-of-order, and they are meaningless. SalvationDATA Flash Doctor gets rid of this barrier by using the “Jigsaw Method” mentioned above; but since the “wear-leveling” algorithm is very complicated, most of the time we can’t get 100% data back. The success rate will be affected greatly by the complicacy of the data organization, for example, if there is regular ID code, and what is the state of the key parameters like channel swap, block swap, page swap and so on.
Flash data recovery using “Jigsaw Method” asks for a deep-enough knowledge background, users are required to have a deep understanding on the storage structure of flash memory; based on the result of our beta test, which includes 100 cases of flash data recovery from USB pen drive, SD cards, CF card and so on, the successful rate of SalvationDATA Flash Doctoris around 70% (please note this success rate was achieved by our R&D engineers, users might not be able to receive such a success rate in the beginning.
