NAND Bad Columns analysis and removal

NAND Bad Columns analysis and removal

Every crystal of modern NAND chip consists of several planes. Typically, it consists of 2 or 4 planes. The plane consists of an array of memory cells grouped into pages and blocks. Planes are connected so that Plane 0 is composed of even physical blocks (0,2,4,6, …), and Plane 1 comprises odd blocks (1,3,5,7, …). Because of the relatively poor quality, TLC NAND chips have factory defects. The defects for each crystal and plane are unique. Within all the pages of each block from one plane defects are identical. These defects called Bad Columns. The Bad Columns presented only in chips with a WL triple address / WL triple address with DDR data transfer protocols.



These vertical stripes are Bad Columns. Number of Bad columns within one page can be any, on practice 1…80 defects/columns (2…160 bytes per page). Typical size of bad columns is 2 bytes, rarely 1 byte, sometimes they are grouped together as 4,6 and more bytes. A distribution of bad columns across the page is unique for each plane. The Bad Columns usually filled by 00/FF or any other binary patterns. When extracting physical image of chip, the physical blocks read sequentially, so the image consists of alternating blocks from Plane 0 and Plane 1 (Plane 2, Plane 3). Since pages and blocks of different planes have different defects, in the physical image (dump) the Bad Columns will repeat with period (area size) of 2 or 4 blocks. Physical image with 2 planes and Bad Columns presented on the illustration below.



When writing and reading data into NAND, the controller skips Bad Columns, since it knows their location in the chip. Bad Columns do not store any user data. Before analysis and logical image reconstruction, it’s necessary to remove Bad Columns out of physical image, as they shift all data.



It’s necessary to determine the location, size and number of Bad columns within one page of each plane. Location is offset of bad column from the beginning of page. Bad Column size expressed in bytes. Number determines number of offsets from the beginning of page, that must be added in order to cut Bad Column defects.



Practice

Case  #1
  1. Watch or download the video tutorial
  2. Download the case and examine BCR element
  3. Delete BCR element and try it yourself


Case  #2
  1. Watch or download the video tutorial
  2. Download the case and examine BCR element
  3. Delete BCR element and try it yourself

    • Related Articles

    • NAND Bad Columns. Bad Column Remover

      Each time during the chip-off data recovery, after the physical image extraction, and before any further step, it's necessary to check the quality of the dump. Due that memory chips are being read physically, the extracted dump may contain defects. ...
    • ECC in NAND flash memory

      All modern flash storage devices have a problem with data integrity caused by a poor quality of the NAND chips. This problem is well known as “Bit errors”. When bit errors appear within the area where file is stored, it gets corrupted and unreadable. ...
    • Binary patterns in NAND flash memory

      Analysis and recognition of binary patterns in NAND flash memory is the key step in chip-off data recovery and digital forensic analysis of broken flash devices. This analysis is carried out in the Bitmap mode since the classic HEX view does not ...
    • Analysis of bit errors in NAND and power adjustment

      During the NAND chip reading process, there are internal noise and interference occur, which results in bit errors and data corruption. This problem is particularly critical for TLC flash chips. If a physical image extracted with a high number of bit ...
    • Page structure analysis

      The user’s data is written into NAND memory page by page. The page size is a physical constant parameter of particular memory chip that can’t be changed (usually ~0.5-16kb). The user’s data is usually sliced into small chunks (512;1024;2048 bytes) ...