diff --git a/arch/arm/src/sama5/sam_pmecc.c b/arch/arm/src/sama5/sam_pmecc.c index b42278bcc2..627cb6cce0 100644 --- a/arch/arm/src/sama5/sam_pmecc.c +++ b/arch/arm/src/sama5/sam_pmecc.c @@ -1153,7 +1153,9 @@ int pmecc_configure(struct sam_nandcs_s *priv, bool protected) } /* Save the size of the spare area. - * REVISIT: Could we save a bit by setting this to eccend? + * + * REVISIT: Could we save a bit by setting this to eccend since there is + * no need to read beyond that? */ g_pmecc.desc.sparesize = priv->raw.model.sparesize; diff --git a/configs/sama5d3x-ek/README.txt b/configs/sama5d3x-ek/README.txt index 8350efc23d..7904a6c915 100644 --- a/configs/sama5d3x-ek/README.txt +++ b/configs/sama5d3x-ek/README.txt @@ -1466,7 +1466,8 @@ NAND Support Another option is Smart FS. Smart FS is another small file system designed to work with FLASH. Properties: It does support some wear- - leveling, but like FAT, cannot handle bad blocks. + leveling like NXFFS, but like FAT, cannot handle bad blocks and like + NXFFS, it will try to re-write erased bits. Using NAND with NXFFS --------------------- diff --git a/drivers/mtd/README.txt b/drivers/mtd/README.txt index ea7bcfbdee..76498096b1 100644 --- a/drivers/mtd/README.txt +++ b/drivers/mtd/README.txt @@ -123,11 +123,12 @@ NAND MEMORY SMART FS -------- - I have not yet tried SmartFS. But I know that it does not perform bad - block checking (like FAT). I do not know if it assumes that it can write - into erased regions of a sector multiple times (like NXFFS). + I have not yet tried SmartFS. It does support some wear-leveling + similar to NXFFS, but like FAT, cannot handle bad blocks and like NXFFS, + it will try to re-write erased bits. So SmartFS is not really an + option either. - What is Needed + What is Needed -------------- What is needed to work with FAT properly would be another MTD layer @@ -136,3 +137,5 @@ NAND MEMORY on top of the NAND. Another, less general, option would be support bad blocks within FAT. + Such a solution migh be possible for SLC NAND, but would not be + sufficiently general for all NAND types.