Did a little bit of reasearch and found some info about how bad blocks are managed (so called bad block management)
QUOTE
Bad Blocks are blocks that contain one or more invalid bits whose reliability is not guaranteed. Bad Blocks
may be present when the device is shipped, or may develop during the lifetime of the device.
Devices with Bad Blocks have the same quality level and the same AC and DC characteristics as devices
where all the blocks are valid. A Bad Block does not affect the performance of valid blocks because it is
isolated from the bit line and common source line by a select transistor.
[...]
QUOTE
[...]
During the lifetime of the NAND device additional Bad Blocks may develop. The NAND devices have a
Status Register that indicates whether an operation is successful or not. If attempts to program or erase
a block give errors in the Status Register, the block is marked as bad.
A block can also be marked as bad when the Error Correction Code (EEC) algorithm detects two or more
errors and can correct only one. In this case, the ECC marks the block as bad and the Bad Block Management
software re-maps the block address by allocating a new block.
As the failure of a page program operation does not affect the data in other pages in the same block, the
block can be replaced by re-programming the current data and copying the rest of the replaced block to
an available valid block.
[...]
Now there are two methods to replace the block.
1. Skip Block Method
2. Reserve Block Method
Like i saw on several other Post and tutorials the bad blocks recognized wir remap software were moved to the end of the nand (thats where the reserved block area is)
QUOTE
Reserve Block Method
In this method Bad Blocks are not skipped but replaced by good blocks by “re-directing” the Flash
Translation Layer to a known good block. For that purpose, the Bad Block Management software creates
two areas in the NAND Flash: the User Addressable Block Area and the Reserved Block Area.
The Flash Translation Layer can use the User Addressable Block Area to store data whereas the Reserved
Block Area is only used for Bad Block replacement and to save the Bad Block Table that also
keeps track of the re-mapped “developed Bad Blocks”.
[...]
So i would say that the method where you manualy read the blocks from the immage that would be written to a badblock and instead write them to the end of the nand should be right.
Post mentioned Above:
Press Me HardFor more info take a look at these files:
CODE
http://www.xeltek.com/software/nandflash/nand_flash_guide.pdf
http://www.samsung.com/global/business/semiconductor/products/flash/downloads/xsr_v15_badblockmgmt_application_note.pdf
http://www.eetasia.com/ART_8800354680_499486_AN_126bb8ac.HTM