> leave the unused space at the end of a block is left as all '1's
> rather than all '0's so that additional data could be appended
> without needing to erase a block first.
> change it's 'nothing more to point to' from a pointer containing
> all 0s to a pointer containing all 1s so that adding an additional
> block to a chain (or extent..) would not require re-writing the
> prior block as well
Would simply inverting the raw data from/to the flash device
before/after doing any block device or filesystem processing
be a useful optimization?
Posted Aug 22, 2009 20:27 UTC (Sat) by dlang (✭ supporter ✭, #313)
[Link]
two things
it would only help if the device is smart enough to not allocate a new block on the flash (requiring a erase of a block eventually) if the data changes are only 1->0
inverting all the data will thrash your cpu cache, and most things don't benefit from the change, so I think it would be smarter to modify the filesystem