Professional Documents
Culture Documents
APPLICATION
NOTE
December 1998
Intel may make changes to specifications and product descriptions at any time, without notice.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
Copies of documents which have an ordering number and are referenced in this document, or other Intel literature, may be
obtained from:
Intel Corporation
P.O. Box 5937
Denver, CO 80217-9808
or call 1-800-858-4725
or visit Intel’s Website at http://www.intel.com
PAGE PAGE
3
AP-657 E
REVISION HISTORY
Date of Version Description
Revision
05/12/98 -001 Original version
05/12/98 -002 Section 2.2.5, corrected erroneous reference to Appendix B.
Section 3.1.6, Changed section title from Locking Manufacturing Process
Information to Storing Manufacturing Process Information.
Section 3.2.1, Added reference to datasheets for information regarding
protection register addressing.
Table 6, corrected erroneous reference to Appendix C.
12/01/98 -003 Major wording revision
Added application examples for Instant Individual Block Locking and 128-
bit Protection Register
Added figure, Instant Individual Block Locking State Table.
4
E AP-657
1.0 INTRODUCTION Lock status register, and Z = bit DQ0 of the Block Lock
status register. Figure 1 defines all of these possible
The new Advanced+ Boot Block flash memory family locking states.
(C3/C2) from Intel offers a number of features that
enable applications to integrate security as well as
simplify software and hardware configurations. This 2.1 Taking Advantage of Locking
application note discusses how to take full advantage of
the new Advanced+ Boot Block features. This block locking scheme has two characteristics that
distinguish it from prior locking schemes:
1.1 New Advanced+ Boot Block 1. Locking occurs instantaneously. Immediately upon
Features completion of the two-cycle command, the selected
block lock change is implemented with no latency.
The C3/C2 family adds the following new features to 2. Blocks may be individually locked. Each block
Intel® Advanced Boot Block (B3) architecture:
may be independently locked or unlocked.
• Instant, individual block locking provides
These locking features enable sophisticated applications
software/hardware controlled, independent locking/
that can store updateable code and rich data types in the
unlocking of any block with zero latency to protect flash without compromising system performance or
code and data. integrity.
• A 128-bit Protection Register enables system
security schemes 2.1.1 REAL-TIME CODE/DATA
• Improved 12 V production programming simplifies PROTECTION
the system configuration required to implement 12 V
fast programming The new block locking scheme is optimized to be used
in real-time code/data applications. For example, data
• Common Flash Interface (CFI) provides component blocks may be locked or unlocked, without latency,
information on the chip to allow software- through software commands alone while code blocks
independent device upgrades may be protected via both hardware and software
commands.
The following sections detail each new feature along
with ideas and suggestions for implementing them in In this example application, data blocks are updated
system designs. through the following sequence:
This locking scheme offers two levels of protection. The • Set WP# pin = high
first level allows software-only control of block locking • Command issued to unlock the block
(useful for data blocks that change frequently), while the
second level requires appropriate voltages on WP# to • Data written
control locking (useful for code blocks that change • Command issued to lock the block
infrequently).
• WP# lowered to GND for complete block protection
The following sections will discuss the operation of the
locking system and how to take full advantage of it in
typical system situations. The term “state [XYZ]” will
be used to specify locking states; e.g., “state [001],”
where X = value of WP#, Y = bit DQ1 of the Block
5
AP-657
• After power up the block may be unlocked (state 2.2.2 UNLOCKED STATE (state [000], [100],
[000]), written to, and locked (state [001]) via or [110])
software commands.
Unlocked blocks (states [000], [100], and [110]) can be
• A block may be locked-down (state [011]), in which
programmed or erased. Blocks are unlocked from the
case that block will no longer be able to be unlocked Locked state or the Locked-Lock-Down state via the
and written to via software commands alone. unlock command (60H/D0).
If WP# = 1, Note that all unlocked blocks return to the Locked state
(state [001] if WP# = 0 and state [101] if WP# = 1) when
• After power up the block may be unlocked (state the device is reset or powered down.
[100]), written to and locked (state [101]) via
software commands.
6
E AP-657
UNLOCKED LOCKED
D0 01
[000] [001]
Power-Up/
2F Reset Default
WP = 0
2F
[011]
D0 01
[110] [111]
WP = 1 2F
2F Power-Up/
Reset Default
D0 01
[100] [101]
D0 = Unlock Command
01 = Lock Command
2F = Lock-Down Command
2215otp
7
AP-657
8
E
Since locking changes are performed using a two- 3.1 Taking Advantage of the
AP-657
9
AP-657
Most wireless or networked equipment require a unique In some cases, a single system design may be configured
identifier for each unit. For example, each cellular to be different end-products in order to take advantage
telephone is assigned an Electronic Serial Number of volume mass production yet meet various price points
(ESN) or International Mobile Subscriber Equipment by enabling or disabling features. The OEM segment of
Identifier (IMEI) that it uses to identify itself to the the PR provides an ideal place to store configuration
network. In addition, addressable set-tops and information because it is permanent. This may be used
networking equipment need to store network addresses. in conjunction with a component-linking scheme
(Section 3.1.4) to prevent the flash from being swapped
Currently, this information may be stored in an out.
EEPROM or flash memory, but this allows the
equipment identifier to be fraudulently changed. By
storing this information in the OEM segment of the PR, 3.1.6 STORING MANUFACTURING
which—once programmed and locked—cannot be PROCESS INFORMATION
(Manufacturing Simplification)
changed, the risk of cloning is reduced by making the
number unalterable.
During the lifetime of a system, the contents of the flash
may be updated many times, especially in the
3.1.3 DETECTING IDENTIFIER CHANGES production line. In this usage model, the ability to store
(Security) manufacturing or configuration information in a non-
volatile, unchangeable memory space such as the PR
The PR may also be used to detect if another identifier, becomes very useful.
password, key, or section of code in the equipment has
been modified. Thus, an application may be setup to One usage is to store the time, equipment, and other
disable itself when it recognizes that it has been manufacturing information in the PR, which is useful for
tampered with. failure analysis or the debugging purposes.
10
E
3.2 Using the Protection Register
AP-657
11
AP-657
The Improved 12 V Production Programming feature • When VPP = 12 V fast program/erase is enabled, the
may be used in four suggested power supply diode prevents current from flowing to the VCC
configurations. These configurations offer various supply from V PP.
combinations of low-voltage program/erase, 12 V fast • When the 12 V supply is absent the system supply
program/erase, and full device protection. Each
forward biases the diode bringing VPP = VCC – VF,
suggested configuration will be discussed in the
following subsections. where VF is the forward voltage drop of the diode.
Note that VIHMin for VPP is different than VIHMin
In this discussion, the terminology “low-voltage for other I/O pins. Please refer to the datasheet for
program/erase” refers to program and erase operations details. The requirements for this diode are shown in
when running the device at system supply voltage (not Appendix B.
12 V). The term “12 V fast program/erase” refers to
• If a resistor is used between VCC and VPP, the VCC
temporarily applying 12 V (see the datasheet for details)
on the VPP pin in order to improve program/erase power supply must sink adequate current as
performance. The term “full device protection” refers to determined by the resistor value. The worst case
switching or tying VPP to GND disabling program and current situation is calculated as shown in Appendix
erase operations. B.
The resistor value should be determined such that This configuration is ideal for applications that do not
voltage at VPP <= the VPP lockout voltage (VPPLK) when require 12 V production programming but require the
12 V is removed. VPPLK defines the maximum voltage at flexibility and protection of switchable full device
which program/erase operations will not function. protection.
12
E AP-657
3B System Supply 3D
System Supply
VCC VCC
(Note 1)
VPP VPP
12 V Supply
12 V Fast Programming Low-Voltage Programming Only
Full Array Protection Unavailable Full Array Protection Unavailable
2215_02
NOTE:
1. A resistor can be used if the VCC supply can sink adequate current based on resistor value. See AP-658 Designing for
Upgrade to the Advanced+ Boot Block Flash Memory for details.
13
AP-657
Easy upgrade paths enable system designers to take Additional details on reading, interpreting, and using the
advantage of increased densities (or speeds, etc.) on device information stored in the CFI table are available
memory devices. Hardware compatibility is generally in application note AP-646 Common Flash Interface
accounted for with pin-for-pin compatible hardware (CFI) and Command Sets.
footprints or flexible layouts, but software compatibility
requires that the system software be able to adapt to the
a new device. CFI allows new products to be used in 6.0 CONCLUSION
place of their older versions without software
modifications. The new features of the Advanced+ Boot Block
architecture allow higher levels of memory component
There are several ways the software may take advantage integration. The Instant, Individual Block locking
of the information provided in the CFI query. For scheme enables multiple levels of protection for both
example, density information is stored in the CFI array. code and data. The Protection Register may be used to
If an application upgrades from a 16-Mbit to a 32-Mbit implement security schemes, simplify manufacturing,
density, the software may be configured to take and/or reduce system maintenance. Improved 12 V
advantage of larger density devices; e.g., more e-mails Production Programming offers flexible power supply
stored, longer talk time for voice mails, more phone configurations for fast 12 V factory programming with
numbers, etc. low-voltage in-system updates. Lastly, Common Flash
Interface enables easy upgrades and multi-source
CFI enables new features to be utilized by designing designs.
initial software to adapt to CFI devices.
14
E AP-657
APPENDIX A
ADDITIONAL INFORMATION(1,2)
15
AP-657 E
APPENDIX B
DIODE/RESISTOR REQUIREMENTS FOR
IMPROVED 12 V PRODUCTION PROGRAMMING
CONFIGURATIONS
16
E Table 6. Minimum Requirements for Diode
AP-657
17