Linux MTD bad block table
Posted: 10 Mar 2016 20:06
Hi,
We're using a Dataman Pro 2 to program a Spansion NAND device, which is organised in 2k pages with 64 bytes of spare area per page.
Were using the BCH ECC scheme, which uses the spare area for both data and ECC, meaning that the standard bad block markers are overwritten during the programming process. As such, we need the programmer to create a Linux MTD compatible bad block table.
We're using the MTD Compatible bad block scheme, and are trying to get the settings for the bad block table correct. We've found that the Dataman software seems to put the bad block tables in the OOB area of the first page of a block, with the bad block table signatures occurring 8 bytes into the OOB area. Our software (standard linux and u-boot) is expecting the bad block table signature to be in the data area of the last page of the block, with the signature starting at the first byte of the data area of a page.
Can you please assist us in getting the Dataman 48Pro2 to place the bad block table in the correct location? Unless we can do this, we lose all record of any manufacturer provided bad blocks, which is obviously far from ideal. Is there any documentation on the various bad block table placement options, including details of the format of the table that is written? I haven't been able to find anything beyond an application note that details the basic NAND programming options.
Any assistance appreciated.
Thanks
Andy
We're using a Dataman Pro 2 to program a Spansion NAND device, which is organised in 2k pages with 64 bytes of spare area per page.
Were using the BCH ECC scheme, which uses the spare area for both data and ECC, meaning that the standard bad block markers are overwritten during the programming process. As such, we need the programmer to create a Linux MTD compatible bad block table.
We're using the MTD Compatible bad block scheme, and are trying to get the settings for the bad block table correct. We've found that the Dataman software seems to put the bad block tables in the OOB area of the first page of a block, with the bad block table signatures occurring 8 bytes into the OOB area. Our software (standard linux and u-boot) is expecting the bad block table signature to be in the data area of the last page of the block, with the signature starting at the first byte of the data area of a page.
Can you please assist us in getting the Dataman 48Pro2 to place the bad block table in the correct location? Unless we can do this, we lose all record of any manufacturer provided bad blocks, which is obviously far from ideal. Is there any documentation on the various bad block table placement options, including details of the format of the table that is written? I haven't been able to find anything beyond an application note that details the basic NAND programming options.
Any assistance appreciated.
Thanks
Andy