You're missing the point/role of the internal controller in the mix.
Imagine 8 blocks of memory in the device. Blocks 1, 2 and 3 (no special
significance) contain highly static code/data. They get written *once*
when the device is manufactured. So, each has seen *1* program/erase/write
Meanwhile, blocks 4-8 are constantly hammered on. The code is constantly
updating the "files" that occupy those blocks (the files don't TOUCH the
first 3 blocks, by definition).
After 1,000 updates, blocks 4-8 have seen 1,000 program/erase/write cycles.
The underlying FLASH device will have a MAXCYCLES specified, based on the
technology used (SLC, MLC, TLC, QLC, etc.), process geometry, etc.
For consumer devices, this number tends to be lower -- because consumers
tend to want to purchase "big" instead of "durable" (so, MLC/TLC/etc.
Assume the MAXCYCLES is 1,002 (actual numbers are unimportant -- if Dave feels
he will be taxing the medium over the life of his design).
So, after two more updates, the device is *broken*. Because blocks 4-8 will
each have hit their 1,002 cycle limit and stopped working (yeah, I know it's
not a brick wall; but there is *some* number at which ECC errors prove
unmanageable and the controller marks those blocks (4-8) as bad.
Meanwhile, 1,2 and 3 each have 1,001 cycles of wear available -- that they
aren't (and WON'T!) be using. Had those 3,003 cycles been "shared" among
all of the blocks, then the files being stored in 4-8 would still be
writable (even though the next write might be into blocks 1, 3, 5, 6 and 8).
So, the controller has to deliberately *move* a copy of the data in blocks
1, 2 and/or 3 into 4-8 -- consuming one cycle of 4-8. But, freeing up
1001 cycles in 1, 2, 3!
You, on the outside, can't tell how it is doing this, when it is doing this
or even *if* it is doing this! So, you can't predict what parts of the flash
will be corrupted as power goes away. Maybe the VTOC gets hosed (so you can't
even FIND the files). Or, some bookkeeping metadata used by the controller.
The logging idea works for magnetic media where what's there, stays there,
and all you have to worry about is whether or not the *new* stuff made it in
"under the wire", or not.
As an analogy, next time your RAID array is rebuilding, cycle power.
See how easily it sorts out WHERE it was, in the process (and think
about the resources that it spent to make that possible -- all in a $5