English
Language : 

MBM29BS12DH15 Datasheet, PDF (29/84 Pages) SPANSION – BURST MODE FLASH MEMORY CMOS 128M (8M X 16) BIT
MBM29BS/FS12DH15
dynamic states because it is very easy to switch back and forth between the protected and unprotected conditions.
This allows software to easily protect sectors against inadvertent changes yet does not prevent the easy removal
of protection when changes are needed. The DPBs maybe set or cleared as often as needed.
PPB vs DPB
The PPBs allow for a more static, and difficult to change, level of protection. The PPBs retain their state across
power cycles because they are Non-Volatile. Individual PPBs are set with a command but must all be cleared
as a group through a complex sequence of program and erasing commands. The PPBs are also limited to 100
erase cycles.
The PBB Lock bit adds an additional level of protection. Once all PPBs are programmed to the desired settings,
the PPB Lock may be set to “1”. Setting the PPB Lock disables all program and erase commands to the Non-
Volatile PPBs. In effect, the PPB Lock Bit locks the PPBs into their current state. The only way to clear the PPB
Lock is to go through a power cycle. System boot code can determine if any changes to the PPB are needed
e.g. to allow new system code to be downloaded. If no changes are needed then the boot code can set the PBB
Lock to disable any further changes to the PBBs during system operation.
It is possible to have sectors that have been persistently locked, and sectors that are left in the dynamic state.
The sectors in the dynamic state are all unprotected. If there is a need to protect some of them, a simple DPB
Write command sequence is all that is necessary. The DPB write/erase command for the dynamic sectors switch
the DPBs to signify protected and unprotected, respectively. If there is a need to change the status of the
persistently locked sectors, a few more steps are required. First, the PPB Lock bit must be disabled by either
putting the device through a power-cycle, or hardware reset. The PPBs can then be changed to reflect the
desired settings. Setting the PPB lock bit once again will lock the PPBs, and the device operates normally again.
Note : to achieve the best protection, it’s recommended to execute the PPB lock bit set command early in the
boot code, and protect the boot code by holding WP = VIL.
DPB
0
1
0
1
0
1
0
1
PPB
0
0
1
1
0
0
1
1
PPB Lock
0
0
0
0
1
1
1
1
Sector State
Unprotected—PPB and DPB are changeable
Protected—PPB and DPB are changeable
Protected—PPB and DPB are changeable
Protected—PPB and DPB are changeable
Unprotected—PPB not changeable, DPB is
changeable
Protected—PPB not changeable, DPB is changeable
Protected—PPB not changeable, DPB is changeable
Protected—PPB not changeable, DPB is changeable
The above table contains all possible combinations of the DPB, PPB, and PPB lock relating to the status of the
sector.
In summary, if the PPB is set, and the PPB lock is set, the sector is protected and the protection can not be
removed until the next power cycle clears the PBB lock. If the PPB is cleared, the sector can be dynamically
locked or unlocked. The DPB then controls whether or not the sector is protected or unprotected.
If the user attempts to program or erase a protected sector, the device ignores the command and returns to read
mode. A program command to a protected sector enables status polling for approximately 1 µs before the device
returns to read mode without having modified the contents of the protected sector. An erase command to a
protected sector enables status polling for approximately 50 µs after which the device returns to read mode
without having erased the protected sector.
The programming of the DPB, PPB, and PPB lock for a given sector can be verified by writing a DPB/PPB lock
verify command to the device.
29