From mboxrd@z Thu Jan 1 00:00:00 1970 From: Scott Wood Date: Fri, 18 Mar 2011 14:25:41 -0500 Subject: [U-Boot] NAND Bad Blocks and OOB In-Reply-To: <1988045005.3710687.1300448586258.JavaMail.fmail@mwmweb008> References: <1988045005.3710687.1300448586258.JavaMail.fmail@mwmweb008> Message-ID: <20110318142541.44f35f71@schlenkerla> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Fri, 18 Mar 2011 12:43:06 +0100 wrote: > > Hi all, > I have some questions about the bad block management in the NAND-driver, I hope this is the right place to ask this: > > The things I believe to know, please correct me, if its wrong: > If > I have a new NAND-Flash, the manufacturer marked the bad block in the > spare area/OOB (normaly good blocks are marked as 0xFF in the first 2 > bytes?). > The u-boot scans for these bad blocks and saves the information in the bbt. > > What > happens, if a block gets worn out? Would this block only be markes as > bad in the bbt, or would this information would be also stored in the > spare area (the driver write another value, not 0xFF in the firts 2 > bytes?). As long as you have an in-flash bbt, it only gets marked in the bbt. If you don't have an in-flash bbt, an OOB bad block marker is written. > Is it possible to restore the bad block informations, if the > whole nand-flash would be erased (for example by writing 0 in all block > and after this by erasing the blocks and check the error status bit of > the NAND-flash device)? It's possible to do your own testing and mark blocks bad as a result, but you're not really restoring the original information. The manufacturer may have used a more rigorous test. > If yes, is such a function implemented in u-boot? No. You should avoid clearing manufacturer-set bad block markers. -Scott