How does NAND memory works?

The first NAND – memory in the world was developed by Toshiba.

They  introduced it in 1989 at the International Solid-State Circuits Conference. Prior to the first presentation of this memory, there were only some of the development NOR, which work very slowly, and also had a relatively very large dimensions of the chip.

The main difference was the NAND-memory static addressing, and not arbitrary, as with the NOR-Flash.

Nowdays NAND – memory become very popular and is widely used in different media: solid state drives SSD, MMC, RS-MMC, MMCmicro, SD, miniSD, MicroSD, SDHC, CF, xD, SmartMedia, Memory Stick, etc.

What is Nand flasher?

In general, the carrier nand memory is a microcontroller, which is able to adjust work with memory chips, as well as work towards establishing a standard interface. Most often, the device is a small fee, which housed several chip NAND Flash memory and microcontroller.

Disadvantages of nand memory:

1. Not a very high speed. However, manufacturers have learned to circumvent these problems by applying post in multiple threads to reduce the time. Still, this problem is solved by the organization of Banks divided into fairly large blocks and organization of a complex system of broadcasting.

2. Limiting the number of write cycles. In order to evenly wear out the chip, all controllers address space is divided into logical banks which in turn are divided into blocks. Controller allows for recording in each block. Inside the bank, each user can freely move their data, and for this specially created logical numbering blocks.

flash nand memory

Parallelization record, which is often used by manufacturers, used to increase the read / write operations. We can say that it creates a direct analogy with RAID level 0 (stripe), but is more complex its implementation.

If you work for this principle, the compiler will drive the table, which will be constantly changing with each entry in the NAND Flash. Since NAND Flash works on the principle of block read into the buffer, changes and recording unit in place, the most dangerous for data write operation will be incomplete. This can happen when there is a record of changes translator. If drives handle rashly, for example, take them out of the USB connector or very sharply output card from a card reader when it is written, it will destroy the service data, in particular the translation table.

And in this case, the drive will not be able to function normally or even stop working. If that happens, then extract the data using identify programs no longer work. Alternatively, you can unsolder NAND Flash chips, followed by reading at some reader (the programmer).

There should be taken into account if the original translator is missing or damaged, you will need to parse dump dredged from the chip NAND Flash.

Just a lot of people surprised by the size of memory pages in the NAND Flash. But there is a logical explanation – each page has overhead.

Typically, this is represented in the form of 512/16; 2048/64; 4096/128; 4096/208, but there are much more complex options for data / system area.

Ancillary data have different marker (logical block number in the bank; marker block rotation; ECC; etc.). To restore user data, it is necessary to eliminate the parallelization of data within the blocks between banks and between the memory chips to get solid blocks.

Sometimes it may be necessary to eliminate inside rotation renumeration etc. Then it will be necessary to collect it in blocks.

nand-flash-memory

In order to realize it is necessary to understand clearly the number of logical banks, the number of blocks in each logical bank, the number of used blocks in each bank (do not use all) the location of the marker in the official data, the algorithm numbering. And only then to collect blocks in the final image file from which you can make reading user data. The process of collecting pitfalls lurk in the form of several blocks, applicants for one position in the final image file. After the decision of the range of tasks, get an image file with user information.

If the resumption of the data is not particularly important, and you want to recover the most storage, the best option correcting problems with service data – a proprietary utility to format the device, which can be downloaded from producer.

Most utilities are able to rewrite the whole service information to create a clean compiler, and perform formatting procedure with the creation of a new file system.

If the manufacturer is no recovery-tool, then you can use the format utility storage on NAND Flash «on the controller.”

It is very easy, only difficulty may be an abundance of manufacturers of controllers and the complexity of his identity.