View Issue Details

IDProjectCategoryView StatusLast Update
0005981fsimx_LinuxKernelpublic2023-11-06 12:51
Reportergerbach Assigned To 
Status resolvedResolutionfixed 
Product Versionfsimx8mp-Y2023.09 
Target Versionfsimx8m-nextFixed in Versionfsimx8mm-Y2023.10 
Summary0005981: Don't use nand-on-flash-bad block table for fsimx8mm
DescriptionDisable the Bad Block Table (BBT) because the BBT uses the 4 last PEBs
of nand flash, which overwrites UBIFS.
BBT was disabled for fsimx6. There is not so much performance penalty
due to that. There is no impact on the reliability of a flash because
this is just a table of bad blocks which is otherwise recreated in the
ram at every boot.

The MTD layer supplies upper layers (including UBI) with information
about bad PEBs. It keeps so-called bad block table in RAM, which is
usually 1 bit per PEB. When the driver initializes, it has to build this
table by scanning whole flash media, which normally includes reading OOB
area of 1st NAND page of each PEB.
This takes time and may be improved by using on-flash BBT (bad block
table). In this case the bad PEB map is stored on flash and MTD does not
have to do any scanning. See the nand-on-flash-bbt dts flag in the Linux
source codes. But note, bad PEB scanning is usually minor comparing to
the UBI scan time, so
on-flash BBT is not probably going to give much.
Forum Link



2023-11-06 12:51

developer   ~0004604