The dedicated flash filesystems are designed to run directly (or separated by only a very thin layer of abstraction, e.g. the mtdblock you mentioned) on flash chips, so they take care of wear-leveling and use flash-friendly data structures.
Most modern phones these days run off sd-cards that take care of all these issues, and it looks like the algorithms embedded in these small cards, combined with normal off-the-shelf filesystems deliver better performance and better reliability than what the special-purpose filesystems could.
Although how does this explain the Nexus S, which is using an embedded 16G flash chip instead of an SD card? Are there equivalent wear-leveling algorithms included with modern flash controllers?
I don't know specifically for the Nexus S, but as a manufacturer you can buy flash-chips that have a mmc interface, so that they look like an SD-card to the microprocessor but can be soldered like a "usual" chip.
Comments
The dedicated flash filesystems are designed to run directly (or separated by only a very thin layer of abstraction, e.g. the mtdblock you mentioned) on flash chips, so they take care of wear-leveling and use flash-friendly data structures.
Most modern phones these days run off sd-cards that take care of all these issues, and it looks like the algorithms embedded in these small cards, combined with normal off-the-shelf filesystems deliver better performance and better reliability than what the special-purpose filesystems could.
Although how does this explain the Nexus S, which is using an embedded 16G flash chip instead of an SD card? Are there equivalent wear-leveling algorithms included with modern flash controllers?
I don't know specifically for the Nexus S, but as a manufacturer you can buy flash-chips that have a mmc interface, so that they look like an SD-card to the microprocessor but can be soldered like a "usual" chip.
E.g. look for SanDisk iNAND.