|
|
|
|
|
by dfox
3975 days ago
|
|
Flipping single bits from unprogrammed (conventionaly 1) to programmed (0) state is commonly used in both embedded systems and flash filesystems and translation layers. Typical modern flash filesystem or FTL is copy-on-write and only marks old version of the block by either programming one bit (1-valid, 0-invalid) or programming address of new version into the old block. Typical 80's/90's prepaid phone card is simple serial (E)EPROM that decrements count of remaining credit by programming successive bits. Modern smartcards also often have blocks that require separate access rights to be programmed and to be erased (although they also tend to implement normal binary counters that can be only decremented). Features of various programmable devices that relates to code security also tend to depend on this property of Flash/EEPROM (EEPROM and Flash differs mostly in the fact that for EEPROMs the size of write block is same as the size of erase block, typically one byte). The convention that 1-unprogrammed and 0-programmed comes mostly from NMOS and TTL, where for both technologies, 0 is the strongly driven state (output strongly driven into ground) and 1 is essentially undriven. |
|