This type of write-protection called

flashflash-memories

Upon powering up, flash memory is read/write. At some point during the startup phase, the firmware, the bootloader, or maybe even the kernel triggers some mechanism built into the flash chip that write-protects parts or all of flash memory at the hardware level. This write-protection cannot be reversed by software running on the device and can only be reset by removing power to the flash chip. Variations of this mechanism are used in certain Archos devices running the SDE firmware and in some older Android phones. What is this kind of write-protection called? I'm trying to search for chips and devices/SBCs/boards that have it, but my search terms don't turn up many results.

I am not talking specifically about the S-ON/S-OFF thing. That is a variation of the mechanism, but it is more involved with special designs involving the Qualcomm modem.

Best Answer

  • AVR calls this feature "Protection Modes". You boot into a "protection mode" that does allow rewriting some or all of flash, or into a "protection mode" that does not allow rewriting flash.

When you set a "protection mode" that allows writing some flash, you can boot into or jump into an address where flash-writing is allowed, and you can boot into or jump into an address where flash-writing is not allowed: on these processors you can't write the flash region you are currently executing.

One use of this feature on the AVR processors is to boot into a mode and address that allows writing flash, update the flash, then jump into the updated flash: that allows updates at boot time, but no updates after the jump into the non-boot code region.