The best technical description of JFFS2 is the original article .
JFFS2 is written sequentially from the very beginning of the device to the end and then starts again from the beginning. On this and subsequent passes, the blocks that were written on previous passes are erased. It erases all dirty blocks and some of them clean (to even out wear). Before erasing them, he writes new copies of everything in those blocks that are still needed. The rest of the contents of the block, which is no longer required (garbage), disappears upon erasing.
source share