28F800C2, 28F160C2
E
18
PRELIMINARY
3.3
Flexible Block Locking
The Intel
offer an instant, individual block locking scheme
that allows any block to be locked or unlocked with
no latency, enabling instant code and data
protection.
2.4 Volt Advanced+ Boot Block products
This locking scheme offers two levels of protection.
The first level allows software-only control of block
locking (useful for data blocks that change
frequently), while the second level requires
hardware interaction before locking can be changed
(useful for code blocks that change infrequently).
The following sections will discuss the operation of
the locking system. The term
“state [XYZ]” will be
used to specify locking states; e.g., “state [001],”
where X = value of WP#, Y = bit DQ
1
of the Block
Lock status register, and Z = bit DQ
0
of the Block
Lock status register. Table 9 defines all of these
possible locking states.
3.3.1
LOCKING OPERATION
The following concisely summarizes the locking
functionality.
All blocks power-up locked, then can be
unlocked or locked with the Unlock and Lock
commands.
The Lock-Down command locks a block and
prevents it from being unlocked when WP# = 0.
When WP# = 1, Lock-Down is overridden
and commands can unlock/lock locked-
down blocks.
When WP# returns to 0, locked-down
blocks return to Lock-Down.
Lock-Down is cleared only when the device
is reset or powered-down.
The locking status of each block can set to Locked,
Unlocked, and Lock-Down, each of which will be
described
in
the
following
comprehensive state table for the locking functions
is shown in Table 9, and a flowchart for locking
operations is shown in Figure 14.
sections.
A
3.3.2
LOCKED STATE
The default status of all blocks upon power-up or
reset is locked (states [001] or [101]). Locked
blocks are fully protected from alteration. Any
program or erase operations attempted on a locked
block will return an error on bit SR.1 of the status
register. The status of a locked block can be
changed to Unlocked or Lock-Down using the
appropriate software commands. An Unlocked
block can be locked by writing the Lock command
sequence, 60H followed by 01H.
3.3.3
UNLOCKED STATE
Unlocked blocks (states [000], [100], [110]) can be
programmed or erased. All unlocked blocks return
to the Locked state when the device is reset or
powered down. The status of an unlocked block can
be changed to Locked or Locked-Down using the
appropriate software commands. A Locked block
can be unlocked by writing the Unlock command
sequence, 60H followed by D0H.
3.3.4
LOCK-DOWN STATE
Blocks that are Locked-Down (state [011]) are
protected from program and erase operations (just
like Locked blocks), but their protection status
cannot be changed using software commands
alone. A Locked or Unlocked block can be Locked-
down
by
writing
the
sequence, 60H followed by 2FH. Locked-Down
blocks revert to the Locked state when the device is
reset or powered down.
Lock-Down
command
The Lock-Down function is dependent on the WP#
input pin. When WP# = 0, blocks in Lock-Down
[011] are protected from program, erase, and lock
status changes. When WP# = 1, the Lock-Down
function is disabled ([111]) and locked-down blocks
can be individually unlocked by software command
to the [110] state, where they can be erased and
programmed. These blocks can then be relocked
[111] and unlocked [110] as desired while WP#
remains high. When WP# goes low, blocks that
were
previously
locked-down
Lock-Down state [011] regardless of any changes
made while WP# was high. Device reset or power-
down resets all blocks, including those in Lock-
Down, to Locked state.
return
to
the