Asymmetric Multi-Plane Page Allocation – Rebuilding the Logical Image

Asymmetric Multi-Plane Page Allocation – Rebuilding the Logical Image

Many modern NAND flash controllers, including those made by Phison, Silicon Motion, and others, use a method called asymmetric multi-plane page allocation.
In most cases, logical blocks are built in the standard way. However, some blocks are created differently. These unusual blocks often contain important file system metadata. Because of that, rebuilding them correctly is very important during data recovery.

This article explains, in a simple way, how asymmetric multi-plane allocation works and how to rebuild the logical image using the Divide tool.

Standard Multi-Plane Allocation

Before discussing asymmetric allocation, it is helpful to understand the standard method.

In a standard multi-plane configuration, one logical block is created from physical blocks located at the same block number in each plane. The pages from these planes are then combined in order to form one logical block.

This is the most common method used in NAND flash devices, and it is supported by the standard logical image rebuilding process.




Figure 1. Standard multi-plane allocation in a NAND chip.

Figure 2. Standard logical block reconstruction.

Asymmetric Multi-Plane Allocation

Asymmetric multi-plane allocation works in a similar way, because one logical block is still created from all available planes. The difference is that some physical blocks come from different block positions in different planes.

Usually, about 80-90% of blocks are written with the standard method, while the remaining blocks are written asymmetrically.




Figure 3. A block allocated using asymmetric multi-plane allocation in the NAND chip.


If such blocks are rebuilt with the standard method, the logical image will be incorrect. In many cases, these blocks contain file system metadata. As a result, user data may still be present, but the folder structure and file names may not be recovered correctly.

Figure 4. Incorrect logical reconstruction after applying the standard rebuilding algorithm.

Rebuilding the Logical Image

To rebuild the logical image, the asymmetrically allocated blocks must first be aligned. In other words, the matching parts of each logical block need to be moved into the same positions in separate plane images. Once this is done, the planes can be merged in the normal way, just like in a standard multi-plane reconstruction. This process has three main steps: first, extract each plane into a separate image; next, sort the blocks in each plane so that matching logical blocks appear at the same offsets; finally, merge the planes page by page to rebuild the correct logical image.

Determining the Number of Planes

The easiest way to determine the number of planes is to examine the bitmap.

To see block boundaries more clearly in the Bitmap Viewer, enable Highlight Blocks.

Then check the Service Area (SA):

If the same LBN appears in two consecutive physical blocks, the device most likely uses 2-plane allocation.
If the same LBN appears in four consecutive physical blocks, the device uses 4-plane allocation.

It is a good idea to check several places, because some blocks may already be allocated asymmetrically.


Figure 5. Determining the number of planes.



Dividing the Planes

Once you know how many planes are used inside a CE, each plane should be exported as a separate element.

This can be done with the Divide function.

When opening the tool:

Chunk Size should remain equal to the block size, which is the default value.
Output Count should match the number of planes.
Use 2 for dual-plane devices.
Use 4 for quad-plane devices.

After the operation, each output element will represent a separate NAND plane.


Figure 6. Divide function.


Sorting and Rebuilding

The next step is to sort the blocks separately in each exported plane.

The most important rule is that every Block Manager must contain exactly the same set of blocks in the same logical order.


Figure 7. Separate Block Managers for each plane.


Figure 8. All Block Managers contain the same block set.


After sorting is finished, the exported data areas must be merged back together.

The Unite element size depends on how much user data is stored in one NAND page.

For example:

If one page contains 8 x 1024 bytes of data, the Unite size should be 8192 bytes.
If one page contains 16 x 1024 bytes of data, the Unite size should be 16384 bytes.

When all planes are merged with the correct Unite size, the logical image is rebuilt correctly.


Figure 9. The page size is 18432 bytes, while the data area contains 16 x 1024 bytes. Therefore, the Unite size is 16384 bytes.



Figure 10. Successfully reconstructed file system.


Conclusion

Asymmetric multi-plane page allocation is common in many modern NAND flash controllers and can make logical image reconstruction more difficult.
The main problem is that important file system metadata is often stored in asymmetrically allocated blocks. If these blocks are rebuilt with the standard method, the final logical image may be incomplete or corrupted.

By separating the planes with the Divide tool, sorting each plane separately, and then merging them again with the correct Unite size, it is possible to rebuild the logical image correctly and recover the full file system.

Although this method requires more work than the standard multi-plane process, it is a reliable way to recover data from devices that use asymmetric page allocation.


    • Related Articles

    • Asymmetric Multi-Plane page allocation

      Standard Multi-Plane page allocation To understand how the asymmetric multi-plane page allocation works it is necessary to know how the standard one works. This is an important topic because many devices are using it, and almost all of them are ...
    • SM Controllers and Different Page Layouts Between Planes

      During our research into data recovery methods for devices using Silicon Motion (SM) controllers, we identified an unusual behavior that appears under certain conditions. The issue involves different page layouts between planes. Why Does This Happen? ...
    • Silicon Motion(SM) controllers - Data recovery

      We can find plenty of NAND controllers on the market and without any doubt one of the most popular is SiliconMotion.  These controllers found their use in all kinds of flash devices, starting from USB flash drives, SD cards, monolithic devices, and ...
    • New Features in Rusolut Platform 11: Improved eMMC NAND Reconstruction

      In Rusolut Platform 11, the eMMC NAND RECONSTRUCTOR includes several new features and improvements. Modern devices use eMMC NAND with built-in controllers handling ECC and data management. When the controller fails, access to the translation layer is ...
    • Multi Plane Page Allocation

      The base element of a NAND memory chip is a crystal and each crystal consist of several physical components: there are peripheral devices which provide I/O operation, page decoding and overall communication between NAND crystal and memory controller. ...