K8P3215UQB
FLASH MEMORY
The device erases all PPBs in parallel. If any PPB requires erasure, the device must be instructed to preprogram all of the block PPBs
prior to PPB erasure. Otherwise, a previously erased block PPBs can potentially be over-erased. The flash device does not have a
built-in means of preventing block PPBs over-erasure.
Persistent Protection Bit Lock (PPB Lock)
The Persistent Protection Bit Lock (PPB Lock) is a global volatile bit. When set to "1", the PPBs cannot be changed. When cleared "0",
the PPBs are changeable. There is only one PPB Lock bit per device. The PPB Lock is cleared after power-up or hardware reset.
There is no command sequence to unlock the PPB Lock.
Dynamic Protection Bit (DYB)
A volatile protection bit is assigned for each block. After power-up or hardware reset, the contents of all DYBs is "0". Each DYB is indi-
vidually modifiable through the DYB Write Command.
When the parts are first shipped, the PPBs are cleared, the DYBs are cleared, and PPB Lock is defaulted to power up in the cleared
state - meaning the PPBs are changeable. When the device is first powered on the DYBs power up cleared (blocks not protected). The
Protection State for each sector is determined by the logical OR of the PPB and the DYB related to that block. For the blocks that have
the PPBs cleared, the DYBs control whether or not the block is protected or unprotected.
By issuing the DYB Write command sequences, the DYBs will be set or cleared, thus placing each block in the protected or unpro-
tected state. These are the so-called Dynamic Locked or Unlocked states. They are called dynamic states because it is very easy to
switch back and forth between the protected and unprotected conditions. This allows software to easily protect blocks against inadvert-
ent changes yet does not prevent the easy removal of protection when changes are needed. The DYBs maybe set or cleared as often
as needed.
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 pro-
gram and erasing commands. The PPBs are also limited to 100 erase cycles.
The PPB 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; for example, to allow new system code to be downloaded. If no changes are needed then the
boot code can set the PPB Lock to disable any further changes to the PPBs during system operation.
The WP#/ACC write protect pin adds a final level of hardware protection to blocks BA141 and BA140, BA0 and BA1. When this pin is
low it is not possible to change the contents of these blocks. These blocks generally hold system boot code. The WP#/ACC pin can
prevent any changes to the boot code that could override the choices made while setting up block protection during system initializa-
tion.
For customers who are concerned about malicious viruses there is another level of security - the persistently locked state. To persis-
tently protect a given block or block group, the PPBs associated with that block need to be set to "1". Once all PPBs are programmed
to the desired settings, the PPB Lock should be set to "1". Setting the PPB Lock automatically disables all program and erase com-
mands to the Non-Volatile PPBs. In effect, the PPB Lock "freezes" the PPBs into their current state. The only way to clear the PPB
Lock is to go through a power cycle.
It is possible to have blocks that have been persistently locked, and blocks that are left in the dynamic state. The blocks in the dynamic
state are all unprotected. If there is a need to protect some of them, a simple DYB Write command sequence is all that is necessary.
The DYB write command for the dynamic blocks switch the DYBs to signify protected and unprotected, respectively. If there is a need
to change the status of the persistently locked blocks, 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.
The best protection is achieved by executing the PPB lock bit set command early in the boot code, and protect the boot code by hold-
ing WP#/ACC = VIL.
Table 8 contains all possible combinations of the DYB, PPB, and PPB lock relating to the status of the block.
In summary, if the PPB is set, and the PPB lock is set, the block is protected and the protection can not be removed until the next
power cycle clears the PPB lock. If the PPB is cleared, the block can be dynamically locked or unlocked. The DYB then controls
whether or not the block is protected or unprotected.
21
Revision 1.1
April 2007