Marking bad blocks

Top  Previous  Next

 

After the device final testing the device manufacturer' programming equipment fills the working memory cells with the FFh value. Blocks that are considered to be invalid are marked by writing a non FFh value (usually 00h) at a certain address in first page (page #0). This address in the NAND Flash Spare Area is the device dependant; it is specified in the manufacturer data sheet.

 

Memory organization

The marker address in the Spare Area

8-bit array, page size - 512 Byte.

5

16-bit (word) array, page size - 512 Words.

0

8-bit array, page size - 2048 Byte.

0 or 5

16-bit (word) array, page size - 1024 Words

0

 

Take in account that the device itself has no special protection against occasional erasing of the Spare Area cells when you intentionally erase a whole memory array. However, these Spare Area cells may store the bad blocks markers written ether by the chip manufacturer or by the chip user after reprogramming. Being lost the bad block map cannot be restored unless you keep the invalid block map as a file, etc. It is important to keep track of the invalid block map changes by storing the markers before the memory erasing and restoring them after the chip erasing. The ChipProg programmers automatically restore the invalid block map unless the Invalid Block Management is not the Do Not Use.

 

The ChipProg creates the invalid block map into the buffer layer Invalid Block Map as a continues bit array. Valid (good) blocks are represented by zeros (0), invalid (bad) - by ones (1). For example:

 

the value 02h at the address 0 means that the blocks #0, 2, 3, 4, 5, 6, 7 are valid while the block #1is invalid;

the value 01h at the address 1 means that all the blocks in the range #9 to #15 are valid while the block #8 is invalid.