Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
Per Westermark
08/25/12 05:26
Read: 497 times

#188163 - File systems
Responding to: Maarten Brock's previous message
It should be noted that it is a common behavior for flash file systems to write many times to the same flash sector - but normally not to the same addresses in the sector - before an erase.

They leave link bytes unprogrammed, and when the contents gets invalidated, they write these link bytes to show where the replaced content can be found. When there is finally too much garbage, they do a garbage collect and copies the current content to a new (but still possibly only partially filled) sector and erases one or more dirty sectors for reuse.

This is a good reference giving a bit of information about wear for flash memories.

Note that some microcontrollers don't allow multiple writes to the same sector. They don't have a method to write to individual sub-blocks of the sector. There is only a method to program the full sector. This is normally because the sector also contains ECC bytes to allow sector reads to repair a limited number of bit errors in the sector. With ECC bytes included in the flash page, it is obviously impossible to just change a single byte in the page without either having the ECC try to "repair" the change, or failing to reprogram the new ECC values.

List of 6 messages in thread
flash endurance      Erik Malund      08/23/12 13:43      
   Write (sic) endurance        Andy Neil      08/23/12 14:16      
      so I thought      Erik Malund      08/23/12 14:37      
   Ageing      Per Westermark      08/23/12 16:07      
      writing zeroes      Maarten Brock      08/25/12 00:28      
         File systems      Per Westermark      08/25/12 05:26      

Back to Subject List