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