As stated in the paper of Jorn Engel's(author of logfs), flash device has some limitations to be a storage device.
1. Flash requires out of place updates of existing data. Before being
able to write to a specific location, that erase block has to be
erased. After being erased, all bits are set to 1. An unclean
unmount at this time will cause data loss, as neither the old nor
the new data can be retrieved.
Notes: which means, transaction writes is a must.
2. Lifetime of flash erase blocks is limited by the number of erase cycles on them. Hardware manufacturers usually guarantee 100.000
erase cycles. This number is per individual erase block.
Notes: in-memory superblock or dynamic superblock? balanced writes.
3. Erase blocks are significantly larger than hard disk sectors or
filesystem blocks. Therefore, erase blocks must be shared by
several filesystem blocks. During operation, erase blocks get par-
tially obsoleted and require garbage collection to free space.
Notes: GC is only one of the ways to solve this problem...