Greetings, I've got two embedded boards (IMX6 using gpmi-nand driver) that are identical except for the NAND FLASH and am trying to understand why I'm seeing a massive performance difference when it comes to ubi and ubifs (in particular ubi scanning and UBIFS resizing). Micron MT29F16G08ADACAH4: - page size: 4320 bytes (4096 + 224 bytes) - block size: 64 pages (256K + 14K bytes) - device size: 16Gb - 30ns per-block read - 300us per-block program - 2.0ms per-block erase Cypress S34ML16G202BHI000 - page size: 2176 bytes (2048+128) - block size: 64 pages (128K + 8K) - device size: 16Gb - 25ns per-block read - 300us per-block program - 3.5ms per-block erase The parts are relatively close in per-block performance but because the Micron has twice the block size I think of it being twice as fast on a per-byte basis compared to the Cypress and I do see this relative performance when testing read/write/erase both in modern U-Boot and latest Linux. What doesn't add up is that the Cypress part takes about 7x longer to complete the ubi attach (between 'attaching mtd' and 'scanning is finished' and about 100x longer to complete the UBIFS free space fixup (between 'start fixing up free space' and 'free space fixup complete') performed on the first mount of a ubifs filesystem that was created with auto-resize enabled. Both parts are 2GiB and the ubi scanning on attach in the kernel goes from ~4s on Micron to ~28s on Cypress and the UBIFS free space fixup goes from 0.5s on Micron to a whopping 56s on Cypress. Any ideas why would I be seeing this kind of performance difference when the raw erase/read/write performance is (both datasheet and Linux tests) only 2x slower? Anywhere I can look to improve performance of the Cypress part? Best Regards, Tim ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/