StrataFlash P30-T Data Sheet
StrataFlash P30-T Data Sheet
StrataFlash P30-T Data Sheet
(P30) Family
Datasheet
Product Features
■ High performance ■ Security
— 85 ns initial access — One-Time Programmable Registers:
— 52 MHz with zero wait states, 17ns clock-to- • 64 unique factory device identifier bits
data output synchronous-burst read mode • 64 user-programmable OTP bits
— 25 ns asynchronous-page read mode • Additional 2048 user-programmable OTP bits
— 4-, 8-, 16-, and continuous-word burst mode — Selectable OTP Space in Main Array:
— Buffered Enhanced Factory Programming • Four pre-defined 128-KByte blocks (top or
(BEFP) at 5 μs/byte (Typ) bottom configuration)
— 1.8 V buffered programming at 7 μs/byte (Typ) • Full Chip (top or bottom configuration)
— Absolute write protection: V PP = VSS
■ Architecture
— Power-transition erase/program lockout
— Multi-Level Cell Technology: Highest Density
at Lowest Cost — Individual zero-latency block locking
— Asymmetrically-blocked architecture — Individual block lock-down
— Four 32-KByte parameter blocks: top or ■ Software
bottom configuration — 20 μs (Typ) program suspend
— 128-KByte main blocks — 20 μs (Typ) erase suspend
■ Voltage and Power — Intel® Flash Data Integrator optimized
— VCC (core) voltage: 1.7 V – 2.0 V — Basic Command Set and Extended Command
— VCCQ (I/O) voltage: 1.7 V – 3.6 V Set compatible
— Standby current: 55 μA (Typ) for 256-Mbit — Common Flash Interface capable
— 4-Word synchronous read current: ■ Density and Packaging
13 mA (Typ) at 40 MHz — 56- Lead TSOP package (64, 128, 256, 512-
■ Quality and Reliability Mbit)
— Operating temperature: –40 °C to +85 °C — 64- Ball Intel® Easy BGA package (64, 128,
— Minimum 100,000 erase cycles per block 256, 512- Mbit)
— ETOX™ VIII process technology (130 nm) — Intel® QUAD+ SCSP (64, 128, 256, 512-
Mbit)
— 16-bit wide data bus
The Intel StrataFlash® Embedded Memory (P30) product is the latest generation of Intel
StrataFlash® memory devices. Offered in 64-Mbit up through 512-Mbit densities, the P30 device
brings reliable, two-bit-per-cell storage technology to the embedded flash market segment.
Benefits include more density in less space, high-speed interface, lowest cost-per-bit NOR
device, and support for code and data storage. Features include high-performance synchronous-
burst read mode, fast asynchronous access times, low power, flexible security options, and three
industry standard package choices. The P30 product family is manufactured using Intel® 130 nm
ETOX™ VIII process technology.
ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN
INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS
ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES
RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER
INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life saving, life sustaining, critical control or safety systems, or
in nuclear facility applications.
Intel may make changes to specifications and product descriptions at any time, without notice.
Intel Corporation may have patents or pending patent applications, trademarks, copyrights, or other intellectual property rights that relate to the
presented subject matter. The furnishing of documents and other materials and information does not provide any license, express or implied, by
estoppel or otherwise, to any such patents, trademarks, copyrights, or other intellectual property rights.
The Intel StrataFlash® Embedded Memory (P30) Family may contain design defects or errors known as errata which may cause the product to deviate
from published specifications. Current characterized errata are available on request.
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 order number and are referenced in this document, or other Intel literature may be obtained by calling
1-800-548-4725 or by visiting Intel's website at http://www.intel.com.
Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
*Other names and brands may be claimed as the property of others.
Copyright © 2006, Intel Corporation. All Rights Reserved.
Contents
1.0 Introduction ...............................................................................................................................7
1.1 Nomenclature ....................................................................................................................... 7
1.2 Acronyms.............................................................................................................................. 7
1.3 Conventions.......................................................................................................................... 8
2.0 Functional Overview ..............................................................................................................9
2.1 Virtual Chip Enable Description ............................................................................................ 9
3.0 Package Information ............................................................................................................11
3.1 56-Lead TSOP Package..................................................................................................... 11
3.2 64-Ball Easy BGA Package ................................................................................................ 13
3.3 QUAD+ SCSP Packages.................................................................................................... 15
4.0 Ballout and Signal Descriptions...................................................................................... 18
4.1 Signal Ballout......................................................................................................................18
4.2 Signal Descriptions .............................................................................................................21
4.3 Dual-Die Configurations......................................................................................................24
4.4 Memory Maps ..................................................................................................................... 25
5.0 Maximum Ratings and Operating Conditions ...........................................................28
5.1 Absolute Maximum Ratings ................................................................................................ 28
5.2 Operating Conditions .......................................................................................................... 29
6.0 Electrical Specifications ..................................................................................................... 30
6.1 DC Current Characteristics................................................................................................. 30
6.2 DC Voltage Characteristics................................................................................................. 32
7.0 AC Characteristics ................................................................................................................33
7.1 AC Test Conditions.............................................................................................................33
7.2 Capacitance........................................................................................................................ 34
7.3 AC Read Specifications ......................................................................................................35
7.4 AC Write Specifications ......................................................................................................41
7.5 Program and Erase Characteristics.................................................................................... 45
8.0 Power and Reset Specifications .....................................................................................46
8.1 Power Up and Down...........................................................................................................46
8.2 Reset Specifications ........................................................................................................... 46
8.3 Power Supply Decoupling...................................................................................................47
9.0 Device Operations ................................................................................................................. 48
9.1 Bus Operations ...................................................................................................................48
9.1.1 Reads .................................................................................................................... 48
9.1.2 Writes..................................................................................................................... 49
9.1.3 Output Disable ....................................................................................................... 49
9.1.4 Standby.................................................................................................................. 49
9.1.5 Reset .....................................................................................................................49
9.2 Device Commands .............................................................................................................50
Revision History
Revision Date Revision Description
1.0 Introduction
This document provides information about the Intel StrataFlash® Embedded Memory (P30) device
and describes its features, operation, and specifications.
1.1 Nomenclature
Block: A group of bits, bytes, or words within the flash memory array that
erase simultaneously when the Erase command is issued to the
device. The Intel StrataFlash® Embedded Memory (P30) Family
has two block sizes: 32-KByte and 128-KByte.
Main block: An array block that is usually used to store code and/or data. Main
blocks are larger than parameter blocks.
Parameter block: An array block that is usually used to store frequently changing
data or small system parameters that traditionally would be stored
in EEPROM.
Top parameter device: A device with its parameter blocks located at the highest physical
address of its memory map.
Bottom parameter device: A device with its parameter blocks located at the lowest physical
address of its memory map.
1.2 Acronyms
1.3 Conventions
This section provides an overview of the features and capabilities of the Intel StrataFlash®
Embedded Memory (P30) Family.
The P30 family provides density upgrades from 64-Mbit through 512-Mbit. This family of devices
provides high performance at low voltage on a 16-bit data bus. Individually erasable memory
blocks are sized for optimum code and data storage.
Upon initial power up or return from reset, the device defaults to asynchronous page-mode read.
Configuring the Read Configuration Register enables synchronous burst-mode reads. In
synchronous burst mode, output data is synchronized with a user-supplied clock signal. A WAIT
signal provides an easy CPU-to-flash memory synchronization.
In addition to the enhanced architecture and interface, the device incorporates technology that
enables fast factory program and erase operations. Designed for low-voltage systems, the
Intel StrataFlash® Embedded Memory (P30) Family supports read operations with VCC at 1.8 V,
and erase and program operations with VPP at 1.8 V or 9.0 V. Buffered Enhanced Factory
Programming (BEFP) provides the fastest flash array programming performance with VPP at 9.0 V,
which increases factory throughput. With VPP at 1.8 V, VCC and VPP can be tied together for a
simple, ultra low power design. In addition to voltage flexibility, a dedicated VPP connection
provides complete data protection when VPP ≤ VPPLK.
A Command User Interface (CUI) is the interface between the system processor and all internal
operations of the device. An internal Write State Machine (WSM) automatically executes the
algorithms and timings necessary for block erase and program. A Status Register indicates erase or
program completion and any errors that may have occurred.
An industry-standard command sequence invokes program and erase automation. Each erase
operation erases one block. The Erase Suspend feature allows system software to pause an erase
cycle to read or program data in another block. Program Suspend allows system software to pause
programming to read other locations. Data is programmed in word increments (16 bits).
The Intel StrataFlash® Embedded Memory (P30) Family protection register allows unique flash
device identification that can be used to increase system security. The individual Block Lock
feature provides zero-latency block locking and unlocking. In addition, the P30 device also has
four pre-defined spaces in the main array that can be configured as One-Time Programmable
(OTP).
Table 1. Virtual Chip Enable Truth Table for 512Mb (Quad+ Package)
Die Selected F1-CE# A24
Table 2. Virtual Chip Enable Truth Table for 512Mb (EasyBGA & TSOP packages)
Die Selected CE# A25
Z
See Note 2 A2
See Notes 1 and 3
Pin 1
e
E See Detail B
D1 A1
D Seating
Plane
See Detail A
Detail A
Detail B
0 b
L
[231369-90]
Lead Count N - 56 - - 56 -
Notes:
1. One dimple on package denotes Pin 1.
2. If two dimples, then the larger dimple denotes Pin 1.
3. Pin 1 will always be in the upper left corner of the package, in reference to the product mark.
4. Daisy Chain Evaluation Unit information is at Intel® Flash Memory Packaging Technology
http://developer.intel.com/design/flash/packtech.
Ball A1 Ball A1
Corner Corner
D S1
1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1 S2
A A
B B
C C
D D b
E
E E
F F
G G
e
H H
A1
A2
A
Seating
Plane
Y
Note: Drawing not to scale
Corner to Ball A1 Distance Along D S1 1.400 1.500 1.600 0.0551 0.0591 0.0630 1
Corner to Ball A1 Distance Along E S2 2.900 3.000 3.100 0.1142 0.1181 0.1220 1
Notes:
1. Daisy Chain Evaluation Unit information is at Intel® Flash Memory Packaging Technology
http://developer.intel.com/design/flash/packtech.
Figure 3. 64/128-Mbit, 88-ball (80 active) QUAD+ SCSP Specifications (8x10x1.2 mm)
A1 Index S1
Mark
1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1
S2
A A
B B
C C
D D
E E
F F
D
e
G G
H H
J J
K K
L L
M M
b
E
Millimeters Inches
Dimensions Symbol Min Nom Max Min Nom Max
Package Height A - - 1.200 - - 0.0472
Ball Height A1 0.200 - - 0.0079 - -
Package Body Thickness A2 - 0.860 - - 0.0339 -
Ball (Lead) Width b 0.325 0.375 0.425 0.0128 0.0148 0.0167
Package Body Width D 9.900 10.000 10.100 0.3898 0.3937 0.3976
Package Body Length E 7.900 8.000 8.100 0.3110 0.3150 0.3189
Pitch e - 0.800 - - 0.0315 -
Ball (Lead) Count N - 88 - - 88 -
Seating Plane Coplanarity Y - - 0.100 - - 0.0039
Corner to Ball A1 Distance Along E S1 1.100 1.200 1.300 0.0433 0.0472 0.0512
Corner to Ball A1 Distance Along D S2 0.500 0.600 0.700 0.0197 0.0236 0.0276
Figure 4. 256-Mbit, 88-ball (80 active) QUAD+ SCSP Specifications (8x11x1.0 mm)
A 1 Index S1
Mark
1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1
S2
A A
B B
C C
D D
E E
F F
D e
G G
H H
J J
K K
L L
M M
b
E
Figure 5. 512-Mbit, 88-ball (80 active) QUAD+ SCSP Specifications (8x11x1.2 mm)
A 1 Index S1
Mark
1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1
S2
A A
B B
C C
D D
E E
F F
D e
G G
H H
J J
K K
L L
M M
b
E
Millimeters Inches
Dimensions Symbol Min Nom Max Min Nom Max
Package Height A - - 1.200 - - 0.0472
Ball Height A1 0.200 - - 0.0079 - -
Package Body Thickness A2 - 0.860 - - 0.0339 -
Ball (Lead) Width b 0.325 0.375 0.425 0.0128 0.0148 0.0167
Package Body Length D 10.900 11.000 11.100 0.4291 0.4331 0.4370
Package Body Width E 7.900 8.000 8.100 0.3110 0.3150 0.3189
Pitch e - 0.800 - - 0.0315 -
Ball (Lead) Count N - 88 - - 88 -
Seating Plane Coplanarity Y - - 0.100 - - 0.0039
Corner to Ball A1 Distance Along E S1 1.100 1.200 1.300 0.0433 0.0472 0.0512
Corner to Ball A1 Distance Along D S2 1.000 1.100 1.200 0.0394 0.0433 0.0472
A16 1 56 WAIT
A15 2 55 A17
A14 3 54 DQ15
A13 4 53 DQ7
A12 5 52 DQ14
A11 6 51 DQ6
A10 7 50 DQ13
A9 8 49 DQ5
A23 9 48 DQ12
A22 10 47 DQ4
A21 11 46 ADV#
Intel StrataFlash®
VSS 12 45 CLK
Embedded Memory (P30)
VCC 13 44 RST#
WE# 14 43 VPP
56-Lead TSOP Pinout 42 DQ11
WP# 15
16 14 mm x 20 mm 41 DQ3
A20
A19 17 40 DQ10
18 Top View 39 DQ2
A18
A8 19 38 VCCQ
A7 20 37 DQ9
A6 21 36 DQ1
A5 22 35 DQ8
A4 23 34 DQ0
A3 24 33 VCC
A2 25 32 OE#
A24 26 31 VSS
A25 27 30 CE#
VSS 28 29 A1
Notes:
1. A1 is the least significant address bit.
2. A23 is valid for 128-Mbit densities and above; otherwise, it is a no connect (NC).
3. A24 is valid for 256-Mbit densities; otherwise, it is a no connect (NC).
4. A25 is valid for 512-Mbit densities; otherwise, it is a no connect (NC).
5. Synchronous burst read operation is currently not supported for the TSOP package. The synchronous
read input signals (i.e. ADV# and CLK) should be tied off to support asynchronous reads. See Section
4.2, “Signal Descriptions” on page 21.
1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1
A A
A1 A6 A8 VPP A13 VCC A18 A22 A22 A18 VCC A13 VPP A8 A6 A1
B B
A2 VSS A9 CE# A14 A25 A19 RFU RFU A19 A25 A14 CE# A9 VSS A2
C C
A3 A7 A10 A12 A15 WP# A20 A21 A21 A20 WP# A15 A12 A10 A7 A3
D D
A4 A5 A11 RST# VCCQ VCCQ A16 A17 A17 A16 VCCQ VCCQ RST# A11 A5 A4
E E
DQ8 DQ1 DQ9 DQ3 DQ4 CLK DQ15 RFU RFU DQ15 CLK DQ4 DQ3 DQ9 DQ1 DQ8
F F
RFU DQ0 DQ10 DQ11 DQ12 ADV# WAIT OE# OE# WAIT ADV# DQ12 DQ11 DQ10 DQ0 RFU
G G
A23 RFU DQ2 VCCQ DQ5 DQ6 DQ14 WE# WE# DQ14 DQ6 DQ5 VCCQ DQ2 RFU A23
H H
RFU VSS VCC VSS DQ13 VSS DQ7 A24 A24 DQ7 VSS DQ13 VSS VCC VSS RFU
Notes:
1. A1 is the least significant address bit.
2. A23 is valid for 128-Mbit densities and above; otherwise, it is a no connect (NC).
3. A24 is valid for 256-Mbit densities and above; otherwise, it is a no connect (NC).
4. A25 is valid for 512-Mbit densities; otherwise, it is a no connect (NC).
Pin 1
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
Notes:
1. A22 is valid for 128-Mbit densities and above; otherwise, it is a no connect (NC).
2. A23 is valid for 256-Mbit densities and above; otherwise, it is a no connect (NC).
3. A24 is valid for 512-Mbit densities and above; otherwise, it is a no connect (NC).
4. F2-CE# and F2-OE# are no connect (NC) for all densities.
ADDRESS INPUTS: Device address inputs. 64-Mbit: A[22:1]; 128-Mbit: A[23:1]; 256-Mbit: A[24:1];
A[MAX:1] Input 512-Mbit: A[25:1]. Note: The virtual selection of the 256-Mbit “Top parameter” die in the dual-die 512-
Mbit configuration is accomplished by setting A[25] high (VIH).
DATA INPUT/OUTPUTS: Inputs data and commands during write cycles; outputs data during
Input/
DQ[15:0] memory, Status Register, Protection Register, and Read Configuration Register reads. Data balls
Output
float when the CE# or OE# are deasserted. Data is internally latched during writes.
ADDRESS VALID: Active low input. During synchronous read operations, addresses are latched on
the rising edge of ADV#, or on the next valid CLK edge with ADV# low, whichever occurs first.
ADV# Input In asynchronous mode, the address is latched when ADV# going high or continuously flows through
if ADV# is held low.
WARNING: Designs not using ADV# must tie it to VSS to allow addresses to flow through.
FLASH CHIP ENABLE: Active low input. CE# low selects the associated flash memory die. When
asserted, flash internal control logic, input buffers, decoders, and sense amplifiers are active. When
CE# Input deasserted, the associated flash die is deselected, power is reduced to standby levels, data and
WAIT outputs are placed in high-Z state.
WARNING: All chip enables must be high when device is not in use.
CLOCK: Synchronizes the device with the system’s bus frequency in synchronous-read mode.
During synchronous read operations, addresses are latched on the rising edge of ADV#, or on the
CLK Input next valid CLK edge with ADV# low, whichever occurs first.
WARNING: Designs not using CLK for synchronous read mode must tie it to VCCQ or VSS.
OUTPUT ENABLE: Active low input. OE# low enables the device’s output data buffers during read
OE# Input
cycles. OE# high places the data outputs and WAIT in High-Z.
RESET: Active low input. RST# resets internal automation and inhibits write operations. This
RST# Input provides data protection during power transitions. RST# high enables normal operation. Exit from
reset places the device in asynchronous read array mode.
WAIT: Indicates data valid in synchronous array or non-array burst reads. Read Configuration
Register bit 10 (RCR[10], WT) determines its polarity when asserted. WAIT’s active output is VOL or
VOH when CE# and OE# are VIL. WAIT is high-Z if CE# or OE# is VIH.
WAIT Output
• In synchronous array or non-array read modes, WAIT indicates invalid data when asserted and
valid data when deasserted.
• In asynchronous page mode, and all write modes, WAIT is deasserted.
WRITE ENABLE: Active low input. WE# controls writes to the device. Address and data are latched
WE# Input
on the rising edge of WE#.
WRITE PROTECT: Active low input. WP# low enables the lock-down mechanism. Blocks in lock-
WP# Input down cannot be unlocked with the Unlock command. WP# high overrides the lock-down function
enabling blocks to be erased or programmed using software commands.
Erase and Program Power: A valid voltage on this pin allows erasing or programming. Memory
contents cannot be altered when VPP ≤ VPPLK. Block erase and program at invalid VPP voltages
should not be attempted.
Set VPP = VPPL for in-system program and erase operations. To accommodate resistor or diode
Power/
VPP drops from the system supply, the VIH level of VPP can be as low as VPPL min. VPP must remain
Input
above VPPL min to perform in-system flash modification. VPP may be 0 V during read operations.
VPPH can be applied to main blocks for 1000 cycles maximum and to parameter blocks for 2500
cycles. VPP can be connected to 9 V for a cumulative total not to exceed 80 hours. Extended use of
this pin at 9 V may reduce block cycling capability.
Device Core Power Supply: Core (logic) source voltage. Writes to the flash array are inhibited when
VCC Power
VCC ≤ VLKO. Operations at invalid VCC voltages should not be attempted.
ADDRESS INPUTS: Device address inputs. 64-Mbit: A[21:0]; 128-Mbit: A[22:0]; 256-Mbit: A[23:0];
A[MAX:0] Input 512-Mbit: A[24:0]. Note: The virtual selection of the 256-Mbit “Top parameter” die in the dual-die 512-
Mbit configuration is accomplished by setting A[25] high (VIH).
DATA INPUT/OUTPUTS: Inputs data and commands during write cycles; outputs data during
Input/
DQ[15:0] memory, Status Register, Protection Register, and Read Configuration Register reads. Data balls
Output
float when the CE# or OE# are deasserted. Data is internally latched during writes.
ADDRESS VALID: Active low input. During synchronous read operations, addresses are latched on
the rising edge of ADV#, or on the next valid CLK edge with ADV# low, whichever occurs first.
ADV# Input In asynchronous mode, the address is latched when ADV# going high or continuously flows through
if ADV# is held low.
WARNING: Designs not using ADV# must tie it to VSS to allow addresses to flow through.
FLASH CHIP ENABLE: Active low input. CE# low selects the associated flash memory die. When
asserted, flash internal control logic, input buffers, decoders, and sense amplifiers are active. When
F1-CE# Input deasserted, the associated flash die is deselected, power is reduced to standby levels, data and
WAIT outputs are placed in high-Z state.
WARNING: All chip enables must be high when device is not in use.
CLOCK: Synchronizes the device with the system’s bus frequency in synchronous-read mode.
During synchronous read operations, addresses are latched on the rising edge of ADV#, or on the
CLK Input next valid CLK edge with ADV# low, whichever occurs first.
WARNING: Designs not using CLK for synchronous read mode must tie it to VCCQ or VSS.
OUTPUT ENABLE: Active low input. OE# low enables the device’s output data buffers during read
F1-OE#
Input cycles. OE# high places the data outputs and WAIT in High-Z.
F2-OE#
F1-OE# and F2-OE# should be tied together for all densities.
RESET: Active low input. RST# resets internal automation and inhibits write operations. This
RST# Input provides data protection during power transitions. RST# high enables normal operation. Exit from
reset places the device in asynchronous read array mode.
WAIT: Indicates data valid in synchronous array or non-array burst reads. Read Configuration
Register bit 10 (RCR[10], WT) determines its polarity when asserted. WAIT’s active output is VOL or
VOH when CE# and OE# are VIL. WAIT is high-Z if CE# or OE# is VIH .
WAIT Output
• In synchronous array or non-array read modes, WAIT indicates invalid data when asserted and
valid data when deasserted.
• In asynchronous page mode, and all write modes, WAIT is deasserted.
WRITE ENABLE: Active low input. WE# controls writes to the device. Address and data are latched
WE# Input
on the rising edge of WE#.
WRITE PROTECT: Active low input. WP# low enables the lock-down mechanism. Blocks in lock-
WP# Input down cannot be unlocked with the Unlock command. WP# high overrides the lock-down function
enabling blocks to be erased or programmed using software commands.
Erase and Program Power: A valid voltage on this pin allows erasing or programming. Memory
contents cannot be altered when VPP ≤ VPPLK. Block erase and program at invalid VPP voltages
should not be attempted.
Set VPP = VPPL for in-system program and erase operations. To accommodate resistor or diode
Power/
VPP drops from the system supply, the VIH level of VPP can be as low as VPPL min. VPP must remain
lnput
above VPPL min to perform in-system flash modification. VPP may be 0 V during read operations.
VPPH can be applied to main blocks for 1000 cycles maximum and to parameter blocks for 2500
cycles. VPP can be connected to 9 V for a cumulative total not to exceed 80 hours. Extended use of
this pin at 9 V may reduce block cycling capability.
Device Core Power Supply: Core (logic) source voltage. Writes to the flash array are inhibited when
VCC Power
VCC ≤ VLKO. Operations at invalid VCC voltages should not be attempted.
VCCQ Power Output Power Supply: Output-driver source voltage.
VSS Power Ground: Connect to system ground. Do not float any VSS connection.
Reserved for Future Use: Reserved by Intel for future device functionality and enhancement. These
RFU —
should be treated in the same way as a Do Not Use (DU) signal.
DU — Do Not Use: Do not connect to any other signal, or power supply; must be left floating.
NC — No Connect: No internal connection; can be driven or floated.
Figure 9. 512-Mbit Easy BGA and TSOP Top or Bottom Parameter Block
Diagram
CE#
Top Param Die
RST#
WP# (256-Mbit)
VCC
OE#
VPP
WE#
CLK VCCQ
ADV# VSS
Figure 10. 512-Mbit QUAD+ SCSP Top or Bottom Parameter Block Diagram
F1-CE#
Top Param Die
RST#
WP# (256-Mbit)
VCC
OE#
VPP
WE#
CLK VCCQ
ADV# VSS
Programming
...
...
...
...
...
...
Region
Region
32 63 3F0000 - 3F3FFF 32 127 7F0000 - 7F3FFF
One
One
128 62 3E0000 - 3EFFFF 128 126 7E0000 - 7EFFFF
...
...
...
...
...
...
128 56 380000 - 38FFFF 128 120 780000 - 78FFFF
128 55 370000 - 37FFFF 128 119 770000 - 77FFFF
Programming
Programming
128 54 360000 - 36FFFF 128 118 760000 - 76FFFF
Regions
Regions
Fifteen
Seven
...
...
...
...
...
...
128 1 010000 - 01FFFF 128 1 010000 - 01FFFF
128 0 000000 - 00FFFF 128 0 000000 - 00FFFF
Size
Blk 256-Mbit
(KB)
...
...
...
Region
...
...
...
...
...
Programming
128 65 3E0000 - 3EFFFF 128 129 7E0000 - 7EFFFF
Regions
Regions
Fifteen
Seven
...
...
...
...
...
...
128 12 090000 - 09FFFF 128 12 090000 - 09FFFF
128 11 080000 - 08FFFF 128 11 080000 - 08FFFF
128 10 070000 - 07FFFF 128 10 070000 - 07FFFF
Programming
Programming
...
...
...
...
...
...
Region
Region
128 4 010000 - 01FFFF 128 4 010000 - 01FFFF
One
One
32 3 00C000 - 00FFFF 32 3 00C000 - 00FFFF
...
...
...
...
...
...
32 0 000000 - 003FFF 32 0 000000 - 003FFF
Size
Blk 256-Mbit
(KB)
...
...
...
...
...
...
Region
32 3 00C000 - 00FFFF
...
...
...
32 0 000000 - 003FFF
Note: The Dual- Die P30 memory maps are the same for both parameter options because the devices
employ virtual chip enable (Refer to Section 2.1). The parameter option only defines the placement
of bottom parameter die.
Table 9. 512-Mbit Top and Bottom Parameter Memory Map (Easy BGA and QUAD+ SCSP)
512-Mbit Flash (2x256-Mbit w/ 1CE)
Size
Die Stack Config Blk Address Range
(KB)
...
...
...
256-Mbit 32 514 1FF0000 - 1FF3FFF
Top Parameter Die 128 513 1FE0000 - 1FEFFFF
...
...
...
128 259 1000000 - 100FFFF
...
...
256-Mbit 128 4 010000 - 01FFFF
Bottom Parameter Die 32 3 00C000 - 00FFFF
...
...
...
32 0 000000 - 003FFF
Note: Refer to 256-Mbit Memory Map (Table 7 and Table 8) for Programming Region
information.
VCC = VCCMax
ILI Input Load Current - ±1 - ±2 μA VCCQ = VCCQMax
VIN = VCCQ or VSS
1
Output VCC = VCCMax
ILO Leakage DQ[15:0], WAIT - ±1 - ±10 μA VCCQ = VCCQMax
Current VIN = VCCQ or VSS
64-Mbit 20 35 20 35 VCC = VCCMax
VCCQ = VCCQMax
ICCS , VCC Standby, 128-Mbit 30 75 30 75 CE# = VCCQ
μA 1,2
ICCD Power Down 256-Mbit 55 115 55 200 RST# = VCCQ (for ICCS)
RST# = VSS (for ICCD)
512-Mbit 110 230 110 400 WP# = VIH
Asynchronous Single-
1-Word
Word f = 5 MHz (1 14 16 14 16 mA
Read
CLK)
Page-Mode Read 4-Word
9 10 9 10 mA
f = 13 MHz (5 CLK) Read
13 17 n/a n/a mA BL = 4W
Average VCC = VCC Max
VCC 15 19 n/a n/a mA BL = 8W
ICCR Synchronous Burst CE# = VIL
Read 1
f = 40 MHz 17 21 n/a n/a mA BL = 16W OE# = VIH
Current
21 26 n/a n/a mA BL = Cont. Inputs: VIL or VIH
16 19 n/a n/a mA BL = 4W
7.0 AC Characteristics
VCCQ
0V
IO_REF.WMF
Note: AC test inputs are driven at VCCQ for Logic "1" and 0 V for Logic "0." Input/output timing begins/ends at
VCCQ/2. Input rise and fall times (10% to 90%) < 5 ns. Worst case speed occurs at VCC = VCCMin.
Device
Out
Under Test
CL
NOTES:
1. See the following table for component values.
2. Test configuration component value for worst case speed conditions.
3. CL includes jig capacitance
.
Table 13. Test Configuration Component Value For Worst Case Speed Conditions
Test Configuration CL (pF)
VCCQMin Standard Test 30
R201
VIH
CLK [C]
VIL
R202 R203
7.2 Capacitance
Asynchronous Specifications
R1 tAVAV Read cycle time 85 - ns
R10 tOH Output hold from first occurring address, CE#, or OE# change 0 - ns
Latching Specifications
R101 tAVVH Address setup to ADV# high 10 - ns
Clock Specifications
R200 fCLK CLK frequency - 52 MHz
NOTES:
1. See Figure 11, “AC Input/Output Reference Waveform” on page 33 for timing measurements and max allowable input
slew rate.
2. OE# may be delayed by up to tELQV – tGLQV after CE#’s falling edge without impact to tELQV.
3. Sampled, not 100% tested.
4. Address hold in synchronous burst mode is tCHAX or tVHAX , whichever timing specification is satisfied first.
5. Synchronous burst read operation is currently not supported for the TSOP package.
6. Synchronous read mode is not supported with TTL level inputs.
7. Applies only to subsequent synchronous reads.
Asynchronous Specifications
VCC = 1.8 V – 2.0 V 85 -
R10 tOH Output hold from first occurring address, CE#, or OE# change 0 - ns
Latching Specifications
R101 tAVVH Address setup to ADV# high 10 - ns
Clock Specifications
R200 fCLK CLK frequency - 52 MHz
NOTES:
1. See Figure 11, “AC Input/Output Reference Waveform” on page 33 for timing measurements and max allowable input
slew rate.
2. OE# may be delayed by up to tELQV – tGLQV after CE#’s falling edge without impact to tELQV.
3. Sampled, not 100% tested.
4. Address hold in synchronous burst mode is tCHAX or tVHAX, whichever timing specification is satisfied first.
5. Synchronous burst read operation is currently not supported for the TSOP package.
6. Synchronous read mode is not supported with TTL level inputs.
7. Applies only to subsequent synchronous reads.
R1
R2
Address [A]
ADV#
R3 R8
CE# [E}
R4 R9
OE# [G]
R15 R17
WAIT [T]
R7
R6
Data [D/Q]
R5
RST# [P]
Note: WAIT shown deasserted during asynchronous read mode (RCR[10]=0, Wait asserted low).
R1
R2
Address [A]
A[1:0][A]
R101
R105 R106
ADV#
R3 R8
CE# [E}
R4 R9
OE# [G]
R15 R17
WAIT [T]
R7
R6 R10
Data [D/Q]
Note: WAIT shown deasserted during asynchronous read mode (RCR[10]=0, Wait asserted low).
R1
R2
A[Max:2] [A]
A[1:0]
R101
R105 R106
ADV#
R3 R8
CE# [E]
R4 R10
OE# [G]
R15 R17
WAIT [T]
R7 R108 R9
DATA [D/Q]
Note: WAIT shown deasserted during asynchronous read mode (RCR[10]=0, Wait asserted low).
R301 R306
CLK [C]
R2
Address [A]
R101 R106
R105
R104
ADV# [V]
R303
R102
R3 R8
CE# [E]
R7 R9
OE# [G]
R4
R304 R305
Data [D/Q]
1. WAIT is driven per OE# assertion during synchronous array or non-array read, and can be configured to
assert either during or one data cycle before valid data.
2. This diagram illustrates the case in which an n-word burst is initiated to the flash memory array and it is
terminated by CE# deassertion after the first word in the burst.
R301
R302
R306 R304 R304 R304
CLK [C]
R2
R101
Address [A]
R106
R105
ADV# [V]
R303
R102
R3
CE# [E]
OE# [G]
R304
R4
R7 R305 R305 R305 R305
Data [D/Q]
Notes:
1. WAIT is driven per OE# assertion during synchronous array or non-array read, and can be configured to
assert either during or one data cycle before valid data.
2. At the end of Word Line; the delay incurred when a burst access crosses a 16-word boundary and the
starting address is not 4-word boundary aligned.
R2
R101
Address [A] A
R105 R106
R102
ADV# [V]
R303
R3 R8
CE# [E]
R9
OE# [G]
R4 R304
R7 R304 R305 R10
Data [D/Q] Q0 Q1 Q2 Q3
Note: WAIT is driven per OE# assertion during synchronous array or non-array read. WAIT asserted during
initial latency and deasserted during valid data (RCR[10] = 0, Wait asserted low).
W5 W8 W5 W8
Address [A]
W2 W6 W2 W6
CE# [E}
W3 W9 W3
WE# [W]
OE# [G]
W4 W7 W4 W7
Data [D/Q]
W1
RST# [P]
R1
R2 W5 W8
Address [A]
R3 R8
CE# [E}
R4 R9
OE# [G]
W2 W3 W6
WE# [W]
R15 R17
WAIT [T]
R7 W7
R6 R10 W4
Data [D/Q] Q D
R5
RST# [P]
Note: WAIT deasserted during asynchronous read and during write. WAIT High-Z during write per OE#
deasserted.
W5 W8 R1
Address [A]
ADV# [V]
W2 W6 R10
CE# [E}
W3 W18
WE# [W]
W14
OE# [G]
R15 R17
WAIT [T]
R4
R2 R8
W4 W7 R3 R9
Data [D/Q] D Q
W1
RST# [P]
Latency Count
R301
R302
R306
CLK [C]
R2 W5
R101 W18
Address [ A]
R105 R106
R102 R104
ADV# [ V]
R303
R11
R3 R13 W6
CE# [E]
R4
R8
OE# [G]
W21
W21 W22
W 22 W8 W15
W2 W3 W9
WE#
R304
R7 R305 W7
Dat a [D/Q] Q D D
Note: WAIT shown deasserted and High-Z per OE# deassertion during write operation (RCR[10]=0, Wait asserted low). Clock is
ignored during write operation.
R302
R301
R2
CLK
W5 W8 R306
Address [A]
R106
R104
ADV#
W6 R303
W2 R11
CE# [E}
W18
W19
W3 W20
WE# [W]
R4
OE# [G]
R15 R307
WAIT [T]
W7 R304 R305
W4 R3 R304
Data [D/Q] D Q Q
W1
RST# [P]
Note: WAIT shown deasserted and High-Z per OE# deassertion during write operation (RCR[10]=0, Wait asserted low).
VPPL VPPH
Num Symbol Parameter Units Notes
Min Typ Max Min Typ Max
Conventional Word Programming
Program Single word - 90 200 - 85 190
W200 tPROG/W μs 1
Time Single cell - 30 60 - 30 60
Buffered Programming
W200 tPROG/W Program Single word - 90 200 - 85 190
μs 1
W251 tBUFF Time 32-word buffer - 440 880 - 340 680
Buffered Enhanced Factory Programming
W451 tBEFP/W Single word n/a n/a n/a - 10 - 1,2
tBEFP/ Program μs
W452 BEFP Setup n/a n/a n/a 5 - - 1
Setup
Erasing and Suspending
W500 tERS/PB 32-KByte Parameter - 0.4 2.5 - 0.4 2.5
Erase Time s
W501 tERS/MB 128-KByte Main - 1.2 4.0 - 1.0 4.0
1
W600 tSUSP/P Suspend Program suspend - 20 25 - 20 25
μs
W601 tSUSP/E Latency Erase suspend - 20 25 - 20 25
Notes:
1. Typical values measured at TC = +25 °C and nominal voltages. Performance numbers are valid for all
speed versions. Excludes system overhead. Sampled, but not 100% tested.
2. Averaged over entire device.
Power supply transitions should only occur when RST# is low. This protects the device from
accidental programming or erasure during power transitions.
Also, because the device is disabled when RST# is asserted, it ignores its control inputs during
power-up/down. Invalid bus conditions are masked, providing a level of memory protection.
P1 R5
Abort
P2 R5
Complete
(B) Reset during VIH
program or block erase RST# [P]
VIL
P1 ≤ P2
Abort
P2 R5
Complete
(C) Reset during VIH
program or block erase RST# [P]
VIL
P1 ≥ P2
P3
When the device is accessed, many internal conditions change. Circuits within the device enable
charge-pumps, and internal logic states change at high speed. All of these internal activities
produce transient signals. Transient current magnitudes depend on the device outputs’ capacitive
and inductive loading. Two-line control and correct de-coupling capacitor selection suppress
transient voltage peaks.
Because Intel® Multi-Level Cell (MLC) flash memory devices draw their power from VCC, VPP,
and VCCQ, each power connection should have a 0.1 μF ceramic capacitor to ground. High-
frequency, inherently low-inductance capacitors should be placed as close as possible to package
leads.
Additionally, for every eight devices used in the system, a 4.7 μF electrolytic capacitor should be
placed between power and ground close to the devices. The bulk capacitor is meant to overcome
voltage droop caused by PCB trace inductance.
This section provides an overview of device operations. The system CPU provides control of all in-
system read, write, and erase operations of the device via the system bus. The on-chip Write State
Machine (WSM) manages all block-erase and word-program algorithms.
Device commands are written to the Command User Interface (CUI) to control all flash memory
device operations. The CUI does not occupy an addressable memory location; it is the mechanism
through which the flash device is controlled.
In asynchronous mode, the address is latched when ADV# goes high or continuously flows through
if ADV# is held low. In synchronous mode, the address is latched by the first of either the rising
ADV# edge or the next valid CLK edge with ADV# low (WE# and RST# must be VIH; CE# must
be VIL).
Bus cycles to/from the P30 device conform to standard microprocessor bus operations. Table 18
summarizes the bus operations and the logic levels that must be applied to the device control signal
inputs.
9.1.1 Reads
To perform a read operation, RST# and WE# must be deasserted while CE# and OE# are asserted.
CE# is the device-select control. When asserted, it enables the flash memory device. OE# is the
data-output control. When asserted, the addressed flash memory data is driven onto the I/O bus.
See Section 10.0, “Read Operations” on page 53 for details on the available read modes, and see
Section 14.0, “Special Read States” on page 74 for details regarding the available read states.
9.1.2 Writes
To perform a write operation, both CE# and WE# are asserted while RST# and OE# are deasserted.
During a write operation, address and data are latched on the rising edge of WE# or CE#,
whichever occurs first. Table 19, “Command Bus Cycles” on page 50 shows the bus cycle
sequence for each of the supported device commands, while Table 20, “Command Codes and
Definitions” on page 51 describes each command. See Section 7.0, “AC Characteristics” on
page 33 for signal-timing details.
Note: Write operations with invalid VCC and/or VPP voltages can produce spurious results and should not
be attempted.
9.1.4 Standby
When CE# is deasserted the device is deselected and placed in standby, substantially reducing
power consumption. In standby, the data outputs are placed in High-Z, independent of the level
placed on OE#. Standby current, ICCS, is the average current measured over any 5 ms time interval,
5 μs after CE# is deasserted. During standby, average current is measured over the same time
interval 5 μs after CE# is deasserted.
When the device is deselected (while CE# is deasserted) during a program or erase operation, it
continues to consume active power until the program or erase operation is completed.
9.1.5 Reset
As with any automated device, it is important to assert RST# when the system is reset. When the
system comes out of reset, the system processor attempts to read from the flash memory if it is the
system boot device. If a CPU reset occurs with no flash memory reset, improper CPU initialization
may occur because the flash memory may be providing status information rather than array data.
Flash memory devices from Intel allow proper CPU initialization following a system reset through
the use of the RST# input. RST# should be controlled by the same low-true reset signal that resets
the system CPU.
After initial power-up or reset, the device defaults to asynchronous Read Array, and the Status
Register is set to 0x80. Asserting RST# de-energizes all internal circuits, and places the output
drivers in High-Z. When RST# is asserted, the device shuts down the operation in progress, a
process which takes a minimum amount of time to complete. When RST# has been deasserted, the
device is reset to asynchronous Read Array state.
Note: If RST# is asserted during a program or erase operation, the operation is terminated and the
memory contents at the aborted location (for a program) or block (for an erase) are no longer valid,
because the data may have been only partially written or erased.
When returning from a reset (RST# deasserted), a minimum wait is required before the initial read
access outputs valid data. Also, a minimum delay is required after a reset before a write cycle can
be initiated. After this wake-up interval passes, normal operation is restored. See Section 7.0, “AC
Characteristics” on page 33 for details about signal-timing.
The device supports two read modes: asynchronous page mode and synchronous burst mode.
Asynchronous page mode is the default read mode after device power-up or a reset. The Read
Configuration Register must be configured to enable synchronous burst reads of the flash memory
array (see Section 10.3, “Read Configuration Register” on page 54).
The device can be in any of four read states: Read Array, Read Identifier, Read Status or Read
Query. Upon power-up, or after a reset, the device defaults to Read Array. To change the read state,
the appropriate read command must be written to the device (see Section 9.2, “Device Commands”
on page 50). See Section 14.0, “Special Read States” on page 74 for details regarding Read Status,
Read ID, and CFI Query modes.
Note: Asynchronous page-mode reads can only be performed when Read Configuration Register bit
RCR[15] is set (see Section 10.3, “Read Configuration Register” on page 54).
To perform an asynchronous page-mode read, an address is driven onto the Address bus, and CE#
and ADV# are asserted. WE# and RST# must already have been deasserted. WAIT is deasserted
during asynchronous page mode. ADV# can be driven high to latch the address, or it must be held
low throughout the read cycle. CLK is not used for asynchronous page-mode reads, and is ignored.
If only asynchronous reads are to be performed, CLK should be tied to a valid VIH level, WAIT
signal can be floated and ADV# must be tied to ground. Array data is driven onto DQ[15:0] after
an initial access time tAVQV delay. (see Section 7.0, “AC Characteristics” on page 33).
In asynchronous page mode, four data words are “sensed” simultaneously from the flash memory
array and loaded into an internal page buffer. The buffer word corresponding to the initial address
on the Address bus is driven onto DQ[15:0] after the initial access delay. The lowest two address
bits determine which word of the 4-word page is output from the data buffer at any given time.
During synchronous array and non-array read modes, the first word is output from the data buffer
on the next valid CLK edge after the initial access latency delay (see Section 10.3.2, “Latency
Count” on page 55). Subsequent data is output on valid CLK edges following a minimum delay.
However, for a synchronous non-array read, the same word of data will be output on successive
clock edges until the burst length requirements are satisfied. Refer to the following waveforms for
more detailed information:
• Figure 17, “Synchronous Single-Word Array or Non-array Read Timing” on page 39
• Figure 18, “Continuous Burst Read, Showing An Output Delay Timing” on page 40
• Figure 19, “Synchronous Burst-Mode Four-Word Read Timing” on page 40
RCR contents can be examined using the Read Device Identifier command, and then reading from
offset 0x05 (see Section 14.2, “Read Device Identifier” on page 75).
The RCR is shown in Table 21. The following sections describe each RCR bit.
RM R LC[2:0] WP DH WD BS CE R R BW BL[2:0]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Bit Name Description
15 Read Mode (RM) 0 = Synchronous burst-mode read
1 = Asynchronous page-mode read (default)
14 Reserved (R) Reserved bits should be cleared (0)
13:11 Latency Count (LC[2:0]) 010 =Code 2
011 =Code 3
100 =Code 4
101 =Code 5
110 =Code 6
111 =Code 7 (default)
(Other bit settings are reserved)
10 Wait Polarity (WP) 0 =WAIT signal is active low
1 =WAIT signal is active high (default)
9 Data Hold (DH) 0 =Data held for a 1-clock data cycle
1 =Data held for a 2-clock data cycle (default)
8 Wait Delay (WD) 0 =WAIT deasserted with valid data
1 =WAIT deasserted one data cycle before valid data (default)
7 Burst Sequence (BS) 0 =Reserved
1 =Linear (default)
6 Clock Edge (CE) 0 = Falling edge
1 = Rising edge (default)
5:4 Reserved (R) Reserved bits should be cleared (0)
Synchronous burst at 40 MHz with a Latency Count setting of Code 3 will result in zero WAIT
states; however, a Latency Count setting of Code 4 will cause 1 WAIT state (Code 5 will cause 2
WAIT states, and so on) after every four words, regardless of whether a 16-word boundary is
crossed. If RCR[9] (Data Hold) bit is set (data hold of two clocks) this WAIT condition will not
occur because enough clocks elapse during each burst cycle to eliminate subsequent WAIT states.
Refer to Table 22, “Latency Count (LC) and Frequency Support” on page 56 for Latency Code
Settings.
CLK [C]
ADV# [V]
Code 0 (Reserved)
Valid Valid Valid Valid Valid Valid Valid Valid
DQ15-0 [D/Q] Output Output Output Output Output Output Output Output
Code 1
DQ15-0 [D/Q] (Reserved Valid Valid Valid Valid Valid Valid Valid
Output Output Output Output Output Output Output
Code 6
DQ15-0 [D/Q] Valid
Output
Valid
Output
Code 7 Valid
DQ15-0 [D/Q] Output
2 ≤ 27
3 ≤ 40
4 ≤ 52
Note: Synchronous burst read operation is currently not supported for the TSOP
package.
tData
0 1 2 3 4
CLK
CE#
ADV#
A[MAX:0] Address
Code 3
High-Z
D[15:0] Data
R103
When the device is operating in synchronous non-array read mode, such as read status, read ID, or
read query. The WAIT signal is also “deasserted” when data is valid on the bus.
WAIT behavior during synchronous non-array reads at the end of word line works correctly only
on the first data access.
When the device is operating in asynchronous page mode, asynchronous single word read mode,
and all write operations, WAIT is set to a deasserted state as determined by RCR[10]. See Figure
15, “Asynchronous Single-Word Read (ADV# Latch)” on page 38, and Figure 16, “Asynchronous
Page-Mode Read Timing” on page 39.
To set the device at one clock data hold for subsequent reads, the following condition must be
satisfied:
tCHQV (ns) + tDATA (ns) ≤ One CLK Period (ns)
tDATA = Data set up to Clock (defined by CPU)
For example, with a clock frequency of 40 MHz, the clock period is 25 ns. Assuming
tCHQV = 20 ns and tDATA = 4 ns. Applying these values to the formula above:
20 ns + 4 ns ≤ 25 ns
The equation is satisfied and data will be available at every clock period with data hold setting at
one clock. If tCHQV (ns) + tDATA (ns) > One CLK Period (ns), data hold setting of 2 clock periods
must be used.
Figure 28. Data Hold Timing
CLK [C]
…
14 0 14-15-0-1-2…12-13 14-15-16-17-18-19-20-…
15 0 15-0-1-2-3…13-14 15-16-17-18-19-20-21-…
…
…
0 1 0-1-2-3 0-1-2-3-4-5-6-7 0-1-2-3-4…14-15 0-1-2-3-4-5-6-…
1 1 1-2-3-4 1-2-3-4-5-6-7-8 1-2-3-4-5…15-16 1-2-3-4-5-6-7-…
2 1 2-3-4-5 2-3-4-5-6-7-8-9 2-3-4-5-6…16-17 2-3-4-5-6-7-8-…
3 1 3-4-5-6 3-4-5-6-7-8-9-10 3-4-5-6-7…17-18 3-4-5-6-7-8-9-…
4 1 4-5-6-7-8-9-10-11 4-5-6-7-8…18-19 4-5-6-7-8-9-10…
5 1 5-6-7-8-9-10-11-12 5-6-7-8-9…19-20 5-6-7-8-9-10-11…
6 1 6-7-8-9-10-11-12-13 6-7-8-9-10…20-21 6-7-8-9-10-11-12-…
7 1 7-8-9-10-11-12-13-14 7-8-9-10-11…21-22 7-8-9-10-11-12-13…
…
14 1 14-15-16-17-18…28-29 14-15-16-17-18-19-20-…
15 1 15-16-17-18-19…29-30 15-16-17-18-19-20-21-…
When performing synchronous burst reads with BW set (no wrap), an output delay may occur
when the burst sequence crosses its first device-row (16-word) boundary. If the burst sequence’s
start address is 4-word aligned, then no delay occurs. If the start address is at the end of a 4-word
boundary, the worst case output delay is one clock cycle less than the first access Latency Count.
This delay can take place only once, and doesn’t occur if the burst sequence does not cross a
device-row boundary. WAIT informs the system of this delay when it occurs.
Continuous-burst accesses are linear only, and do not wrap within any word length boundaries (see
Table 24, “Burst Sequence Word Ordering” on page 59). When a burst cycle begins, the device
outputs synchronous burst data until it reaches the end of the “burstable” address space.
The device supports three programming methods: Word Programming (40h/10h), Buffered
Programming (E8h, D0h), and Buffered Enhanced Factory Programming (80h, D0h). See
Section 9.0, “Device Operations” on page 48 for details on the various programming commands
issued to the device. The following sections describe device programming in detail.
Successful programming requires the addressed block to be unlocked. If the block is locked down,
WP# must be deasserted and the block must be unlocked before attempting to program the block.
Attempting to program a locked block causes a program error (SR[4] and SR[1] set) and
termination of the operation. See Section 13.0, “Security Modes” on page 69 for details on locking
and unlocking blocks.
The Intel StrataFlash® Embedded Memory (P30) is segmented into multiple 8-Mbit Programming
Regions. See Section 4.4, “Memory Maps” on page 25 for complete addressing. Execute in Place
(XIP) applications must partition the memory such that code and data are in separate programming
regions. XIP is executing code directly from flash memory. Each Programming Region should
contain only code or data but not both. The following terms define the difference between code and
data. System designs must use these definitions when partitioning their code and data for the P30
device.
Code: Execution code ran out of the flash device on a continuous basis in the system.
Information periodically programmed into the flash device and read back (e.g.
Data:
execution code shadowed and executed in RAM, pictures, log files, etc.).
During programming, the Write State Machine (WSM) executes a sequence of internally-timed
events that program the desired data bits at the addressed location, and verifies that the bits are
sufficiently programmed. Programming the flash memory array changes “ones” to “zeros”.
Memory array bits that are zeros can be changed to ones only by erasing the block (see Section
12.0, “Erase Operations” on page 67).
The Status Register can be examined for programming progress and errors by reading at any
address. The device remains in the Read Status Register state until another command is written to
the device.
Status Register bit SR[7] indicates the programming status while the sequence executes.
Commands that can be issued to the device during programming are Program Suspend, Read Status
Register, Read Device Identifier, CFI Query, and Read Array (this returns unknown data).
When programming has finished, Status Register bit SR[4] (when set) indicates a programming
failure. If SR[3] is set, the WSM could not perform the word programming operation because VPP
was outside of its acceptable limits. If SR[1] is set, the word programming operation attempted to
program a locked block, causing the operation to abort.
Before issuing a new command, the Status Register contents should be examined and then cleared
using the Clear Status Register command. Any valid command can follow, when word
programming has completed.
Note: When VPP = VPPL, the device draws programming current from the VCC supply. If VPP is driven
by a logic signal, VPPL must remain above VPPL MIN to program the device. When VPP = VPPH,
the device draws programming current from the VPP supply. Figure 29, “Example VPP Supply
Connections” on page 66 shows examples of device power supply configurations.
When the Buffered Programming Setup command is issued (see Section 9.2, “Device Commands”
on page 50), Status Register information is updated and reflects the availability of the buffer. SR[7]
indicates buffer availability: if set, the buffer is available; if cleared, the buffer is not available. To
retry, issue the Buffered Programming Setup command again, and re-check SR[7]. When SR[7] is
set, the buffer is ready for loading. (see Figure 40, “Buffer Program Flowchart” on page 86).
On the next write, a word count is written to the device at the buffer address. This tells the device
how many data words will be written to the buffer, up to the maximum size of the buffer.
On the next write, a device start address is given along with the first data to be written to the flash
memory array. Subsequent writes provide additional device addresses and data. All data addresses
must lie within the start address plus the word count. Optimum programming performance and
lower power usage are obtained by aligning the starting address at the beginning of a 32-word
boundary (A[4:0] = 0x00). Crossing a 32-word boundary during programming will double the total
programming time.
After the last data is written to the buffer, the Buffered Programming Confirm command must be
issued to the original block address. The WSM begins to program buffer contents to the flash
memory array. If a command other than the Buffered Programming Confirm command is written to
the device, a command sequence error occurs and Status Register bits SR[7,5,4] are set. If an error
occurs while writing to the array, the device stops programming, and Status Register bits SR[7,4]
are set, indicating a programming failure.
When Buffered Programming has completed, additional buffer writes can be initiated by issuing
another Buffered Programming Setup command and repeating the buffered program sequence.
Buffered programming may be performed with VPP = VPPL or VPPH (see Section 5.2, “Operating
Conditions” on page 29 for limitations when operating the device with VPP = VPPH).
If an attempt is made to program past an erase-block boundary using the Buffered Program
command, the device aborts the operation. This generates a command sequence error, and Status
Register bits SR[5,4] are set.
If Buffered programming is attempted while VPP is below VPPLK, Status Register bits SR[4,3] are
set. If any errors are detected that have set Status Register bits, the Status Register should be
cleared using the Clear Status Register command.
BEFP consists of three phases: Setup, Program/Verify, and Exit (see Figure 41, “BEFP Flowchart”
on page 87). It uses a write buffer to spread MLC program performance across 32 data words.
Verification occurs in the same phase as programming to accurately program the flash memory cell
to the correct bit state.
A single two-cycle command sequence programs the entire block of data. This enhancement
eliminates three write cycles per buffer: two commands and the word count for each set of 32 data
words. Host programmer bus cycles fill the device’s write buffer followed by a status check. SR[0]
indicates when data from the buffer has been programmed into sequential flash memory array
locations.
Following the buffer-to-flash array programming sequence, the Write State Machine (WSM)
increments internal addressing to automatically select the next 32-word array boundary. This
aspect of BEFP saves host programming equipment the address-bus setup overhead.
With adequate continuity testing, programming equipment can rely on the WSM’s internal
verification to ensure that the device has programmed properly. This eliminates the external post-
program verification and its associated overhead.
Note: Reading from the device after the BEFP Setup and Confirm command sequence outputs Status
Register data. Do not issue the Read Status Register command; it will be interpreted as data to be
loaded into the buffer.
Two basic sequences repeat in this phase: loading of the write buffer, followed by buffer data
programming to the array. For BEFP, the count value for buffer loading is always the maximum
buffer size of 32 words. During the buffer-loading sequence, data is stored to sequential buffer
locations starting at address 0x00. Programming of the buffer contents to the flash memory array
starts as soon as the buffer is full. If the number of words is less than 32, the remaining buffer
locations must be filled with 0xFFFF.
Caution: The buffer must be completely filled for programming to occur. Supplying an address outside of the
current block's range during a buffer-fill sequence causes the algorithm to exit immediately. Any
data previously loaded into the buffer during the fill cycle is not programmed into the array.
The starting address for data entry must be buffer size aligned, if not the BEFP algorithm will be
aborted and the program fails and (SR[4]) flag will be set.
Data words from the write buffer are directed to sequential memory locations in the flash memory
array; programming continues from where the previous buffer sequence ended. The host
programming system must poll SR[0] to determine when the buffer program sequence completes.
SR[0] cleared indicates that all buffer data has been transferred to the flash array; SR[0] set
indicates that the buffer is not available yet for the next fill cycle. The host system may check full
status for errors at any time, but it is only necessary on a block basis after BEFP exit. After the
buffer fill cycle, no write cycles should be issued to the device until SR[0] = 0 and the device is
ready for the next buffer fill.
Note: Any spurious writes are ignored after a buffer fill operation and when internal program is
proceeding.
The host programming system continues the BEFP algorithm by providing the next group of data
words to be written to the buffer. Alternatively, it can terminate this phase by changing the block
address to one outside of the current block’s range.
The Program/Verify phase concludes when the programmer writes to a different block address;
data supplied must be 0xFFFF. Upon Program/Verify phase completion, the device enters the
BEFP Exit phase.
When a programming operation is executing, issuing the Program Suspend command requests the
WSM to suspend the programming algorithm at predetermined points. The device continues to
output Status Register data after the Program Suspend command is issued. Programming is
suspended when Status Register bits SR[7,2] are set. Suspend latency is specified in Section 7.5,
“Program and Erase Characteristics” on page 45.
To read data from the device, the Read Array command must be issued. Read Array, Read Status
Register, Read Device Identifier, CFI Query, and Program Resume are valid commands during a
program suspend.
During a program suspend, deasserting CE# places the device in standby, reducing active current.
VPP must remain at its programming level, and WP# must remain unchanged while in program
suspend. If RST# is asserted, the device is reset.
Flash erasing is performed on a block basis. An entire block is erased each time an erase command
sequence is issued, and only one block is erased at a time. When a block is erased, all bits within
that block read as logical ones. The following sections describe block erase operations in detail.
During a block erase, the Write State Machine (WSM) executes a sequence of internally-timed
events that conditions, erases, and verifies all bits within the block. Erasing the flash memory array
changes “zeros” to “ones”. Memory array bits that are ones can be changed to zeros only by
programming the block (see Section 11.0, “Programming Operations” on page 61).
The Status Register can be examined for block erase progress and errors by reading any address.
The device remains in the Read Status Register state until another command is written. SR[0]
indicates whether the addressed block is erasing. Status Register bit SR[7] is set upon erase
completion.
Status Register bit SR[7] indicates block erase status while the sequence executes. When the erase
operation has finished, Status Register bit SR[5] indicates an erase failure if set. SR[3] set would
indicate that the WSM could not perform the erase operation because VPP was outside of its
acceptable limits. SR[1] set indicates that the erase operation attempted to erase a locked block,
causing the operation to abort.
Before issuing a new command, the Status Register contents should be examined and then cleared
using the Clear Status Register command. Any valid command can follow once the block erase
operation has completed.
When a block erase operation is executing, issuing the Erase Suspend command requests the WSM
to suspend the erase algorithm at predetermined points. The device continues to output Status
Register data after the Erase Suspend command is issued. Block erase is suspended when Status
Register bits SR[7,6] are set. Suspend latency is specified in Section 7.5, “Program and Erase
Characteristics” on page 45.
To read data from the device (other than an erase-suspended block), the Read Array command must
be issued. During Erase Suspend, a Program command can be issued to any block other than the
erase-suspended block. Block erase cannot resume until program operations initiated during erase
suspend complete. Read Array, Read Status Register, Read Device Identifier, CFI Query, and Erase
Resume are valid commands during Erase Suspend. Additionally, Clear Status Register, Program,
Program Suspend, Block Lock, Block Unlock, and Block Lock-Down are valid commands during
Erase Suspend.
During an erase suspend, deasserting CE# places the device in standby, reducing active current.
VPP must remain at a valid level, and WP# must remain unchanged while in erase suspend. If
RST# is asserted, the device is reset.
The device features security modes used to protect the information stored in the flash memory
array. The following sections describe each security mode in detail.
Software-controlled security is implemented using the Block Lock and Block Unlock commands.
Hardware-controlled security can be implemented using the Block Lock-Down command along
with asserting WP#. Also, VPP data security can be used to inhibit program and erase operations
(see Section 11.6, “Program Protection” on page 66 and Section 12.4, “Erase Protection” on
page 68).
The P30 device also offers four pre-defined areas in the main array that can be configured as One-
Time Programmable (OTP) for the highest level of security. These include the four 32 KB
parameter blocks together as one and the three adjacent 128 KB main blocks. This is available for
top or bottom parameter devices.
Block lock and unlock operations are not affected by the voltage level on VPP. The block lock bits
may be modified and/or read even if VPP is at or below VPPLK.
down state, a Lock-Down command must be issued prior to changing WP# to VIL. Locked-down
blocks revert to the locked state upon reset or power up the device (see Figure 30, “Block Locking
State Diagram” on page 70).
Locked- Hardware
Power-Up/Reset Locked Down 4,5 Locked 5
[X01] [011] [011]
Software
Unlocked Locked Unlocked
[X00] [111] [110]
W P# hardware control
Next, write the desired lock command sequence to a block, which changes the lock state of that
block. After completing block lock or unlock operations, resume the erase operation using the
Erase Resume command.
Note: A Lock Block Setup command followed by any command other than Lock Block, Unlock Block,
or Lock-Down Block produces a command sequence error and set Status Register bits SR[4] and
SR[5]. If a command sequence error occurs during an erase suspend, SR[4] and SR[5] remains set,
even after the erase operation is resumed. Unless the Status Register is cleared using the Clear
Status Register command before resuming the erase operation, possible erase errors may be
masked by the command sequence error.
If a block is locked or locked-down during an erase suspend of the same block, the lock status bits
change immediately. However, the erase operation completes when it is resumed. Block lock
operations cannot occur during a program suspend. See Appendix A, “Write State Machine” on
page 77, which shows valid commands during an erase suspend.
Please see your local Intel representative for details about the Selectable OTP implementation.
The first 128-bit Protection Register is comprised of two 64-bit (8-word) segments. The lower 64-
bit segment is pre-programmed at the Intel factory with a unique 64-bit number. The other 64-bit
segment, as well as the other sixteen 128-bit Protection Registers, are blank. Users can program
these registers as needed. When programmed, users can then lock the Protection Register(s) to
prevent additional bit programming (see Figure 31, “Protection Register Map” on page 72).
The user-programmable Protection Registers contain one-time programmable (OTP) bits; when
programmed, register bits cannot be erased. Each Protection Register can be accessed multiple
times to program individual bits, as long as the register remains unlocked.
Each Protection Register has an associated Lock Register bit. When a Lock Register bit is
programmed, the associated Protection Register can only be read; it can no longer be programmed.
Additionally, because the Lock Register bits themselves are OTP, when programmed, Lock
Register bits cannot be erased. Therefore, when a Protection Register is locked, it cannot be
unlocked.
.
0x109
0x102
0x91
0x8A
Lock Register 1
0x89 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0x88
64-bit Segment
(User-Programmable)
0x85
128-Bit Protection Register 0
0x84
64-bit Segment
(Factory-Programmed)
0x81
Lock Register 0
0x80 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
The device programs the 64-bit and 128-bit user-programmable Protection Register data 16 bits at
a time (see Figure 45, “Protection Register Programming Flowchart” on page 91). Issuing the
Program Protection Register command outside of the Protection Register’s address space causes a
program error (SR[4] set). Attempting to program a locked Protection Register causes a program
error (SR[4] set) and a lock error (SR[1] set).
Bit 0 of Lock Register 0 is already programmed at the factory, locking the lower, pre-programmed
64-bit region of the first 128-bit Protection Register containing the unique identification number of
the device. Bit 1 of Lock Register 0 can be programmed by the user to lock the user-programmable,
64-bit region of the first 128-bit Protection Register. When programming Bit 1 of Lock Register 0,
all other bits need to be left as ‘1’ such that the data programmed is 0xFFFD.
Lock Register 1 controls the locking of the upper sixteen 128-bit Protection Registers. Each of the
16 bits of Lock Register 1 correspond to each of the upper sixteen 128-bit Protection Registers.
Programming a bit in Lock Register 1 locks the corresponding 128-bit Protection Register.
The following sections describe non-array read states. Non-array reads can be performed in
asynchronous read or synchronous burst mode. A non-array read operation occurs as asynchronous
single-word mode. When non-array reads are performed in asynchronous page mode only the first
data is valid and all subsequent data are undefined. When a non-array read operation occurs as
synchronous burst mode, the same word of data requested will be output on successive clock edges
until the burst length requirements are satisfied.
The Status Register is read using single asynchronous-mode or synchronous burst mode reads.
Status Register data is output on DQ[7:0], while 0x00 is output on DQ[15:8]. In asynchronous
mode the falling edge of OE#, or CE# (whichever occurs first) updates and latches the Status
Register contents. However, reading the Status Register in synchronous burst mode, CE# or ADV#
must be toggled to update status data.
The Device Write Status bit (SR[7]) provides overall status of the device. Status register bits
SR[6:1] present status and error information about the program, erase, suspend, VPP, and block-
locked operations.
0 = Erase successful.
5 Erase Status (ES)
1 = Erase fail or program sequence error when set with SR[4,7].
0 = Program successful.
4 Program Status (PS)
1 = Program fail or program sequence error when set with SR[5,7]
0 = VPP within acceptable limits during program or erase operation.
3 VPP Status (VPPS)
1 = VPP < VPPLK during program or erase operation.
Program Suspend Status 0 = Program suspend not in effect.
2
(PSS) 1 = Program suspend in effect.
Block-Locked Status 0 = Block not locked during program or erase.
1
(BLS) 1 = Block locked during program or erase; operation aborted.
After Buffered Enhanced Factory Programming (BEFP) data is
loaded into the buffer:
0 BEFP Status (BWS)
0 = BEFP complete.
1 = BEFP in-progress.
Note: Always clear the Status Register prior to resuming erase operations. It avoids Status Register
ambiguity when issuing commands during Erase Suspend. If a command sequence error occurs
during an erase-suspend state, the Status Register contains the command sequence error status
(SR[7,5,4] set). When the erase operation resumes and finishes, possible errors during the erase
operation cannot be detected via the Status Register because it contains the previous error status.
(FFH) (10H/40H) (E8H) (20H) (80H) (D0H) (B0H) (70H) (50H) (90H, 98H) (60H)
Setup BP Load 1
BP Load 1 BP Load 2
BP Load 2 BP Confirm if Data load into Program Buffer is complete; Else BP Load 2
BP
BP
Ready (Error) BP Busy Ready (Error)
Confirm
BP
BP Suspend BP Busy BP Suspend
Suspend
Erase
Busy Erase Busy Erase Busy
Suspend
Erase Word
Lock/CR
Program BP Setup in
Erase Setup in
Suspend Setup in Erase Erase Suspend Erase Busy Erase Suspend
Suspend Erase
Erase Suspend
Suspend
Suspend
(FFH) (10H/40H) (E8H) (20H) (80H) (D0H) (B0H) (70H) (50H) (90H, 98H) (60H)
Setup BP Load 1
BP Load 1 BP Load 2
BP Load 2 BP Confirm if Data load into Program Buffer is complete; Else BP Load 2
BP in Erase BP Busy in
BP
Suspend Erase Suspend (Error) Erase Ready (Error in Erase Suspend)
Confirm
Suspend
BP Suspend
BP Busy BP Busy in Erase Suspend in Erase BP Busy in Erase Suspend
Suspend
BP Busy in
BP
BP Suspend in Erase Suspend Erase BP Suspend in Erase Suspend
Suspend
Suspend
Erase
Lock/CR Setup in Erase Suspend
Erase Suspend (Lock Error) Erase Suspend (Lock Error [Botch])
Suspend (Unlock
Block)
BEFP
Buffered Setup Ready (Error) Loading Ready (Error)
Enhanced Data (X=32)
Factory
Program
BEFP
Mode BEFP Program and Verify Busy (if Block Address given matches address given on BEFP Setup command). Commands treated as data. (7)
Busy
Lock Lock-Down
OTP Write RCR Block Address Illegal Cmds or
Current Chip Block Block WSM
Setup (4) Confirm (8)
(?WA0) 9
BEFP Data (1)
(7) Confirm (8) Confirm (8) Operation
State Completes
Ready OTP
Ready
Setup
Ready Ready Ready
Ready N/A
Lock/CR Setup (Lock (Lock (Lock Down Ready (Lock Error)
(Set CR)
Error) Block) Blk)
Setup
OTP OTP Busy
Busy Ready
Setup Word Program Busy N/A
Setup BP Load 1
BP Confirm if
N/A
Data load into
BP Load 2 BP Confirm if Data load into Program Buffer is
Ready Program Buffer is
complete; ELSE BP load 2
complete; ELSE
BP BP Load 2
BP Ready (Error)
Confirm (Proceed if
Ready (Error) Ready (Error)
unlocked or lock
error)
BP Busy
BP Busy Ready
BP
Suspend BP Suspend
N/A
Setup
Ready (Error)
Busy
Erase Busy Ready
Erase
Suspend
Erase Suspend N/A
Lock Lock-Down
OTP Write RCR Block Address Illegal Cmds or
Block Block WSM
Current Chip Setup (4) (8) (8) Confirm (8)
(?WA0) 9
BEFP Data (1)
(7) Confirm Confirm Operation
State Completes
Setup BP Load 1
BP Confirm if
Data load into
BP Confirm if Data load into Program Buffer is
BP Load 2 Ready Program Buffer is N/A
complete; Else BP Load 2
complete; Else
BP Load 2
BP in Erase Ready (Error)
Suspend BP (Proceed if
Ready (Error in Erase Suspend) Ready (Error)
Confirm unlocked or lock
error)
BP
BP Suspend in Erase Suspend
Suspend
Ready (BEFP
Buffered Setup Ready (Error) Ready (Error)
Loading Data)
Enhanced
Factory
Program BEFP Program and Verify Busy (if Block Address
BEFP
Mode given matches address given on BEFP Setup Ready BEFP Busy Ready
Busy
command). Commands treated as data. (7)
BE Confirm,
Buffered
Word P/E Program/ Clear Lock, Unlock,
Read Erase Enhanced Read Read
Program BP Setup Resume, Erase Status Lock-down,
Array (2) Setup (3,4) Factory Pgm ULB Confirm Status (5) ID/Query
Current chip state Setup (3,4) Suspend Register CR setup (4)
Setup (3, 4) (8)
(FFH) (10H/40H) (E8H) (20H) (30H) (D0H) (B0H) (70H) (50H) (90H, 98H) (60H)
BEFP Setup,
BEFP Pgm & Verify
Busy,
Erase Setup,
OTP Setup,
BP: Setup, Load 1,
Load 2, Confirm, Status Read
Word Pgm Setup,
Word Pgm Setup in
Erase Susp,
BP Setup, Load1,
Load 2, Confirm in
Erase Suspend
Lock/CR Setup,
Lock/CR Setup in Status Read
Erase Susp
Status
OTP Busy Read
Ready,
Erase Suspend,
BP Suspend
BP Busy,
Word Program
Busy,
Output mux
Erase Busy, Read Array Status Read Output does not change. Status Read does not Status Read
BP Busy change. ID Read
BP Busy in Erase
Suspend
Word Pgm
Suspend,
Word Pgm Busy in
Erase Suspend,
Pgm Suspend In
Erase Suspend
Lock Lock-Down
OTP Write CR Block Address Illegal Cmds or
Block Block WSM
Setup (4) (8) (8) Confirm (8)
(?WA0) BEFP Data (1)
Current chip state Confirm Confirm Operation
Completes
BEFP Setup,
BEFP Pgm & Verify
Busy,
Erase Setup,
OTP Setup,
BP: Setup, Load 1,
Load 2, Confirm, Status Read
Word Pgm Setup,
Word Pgm Setup in
Erase Susp,
BP Setup, Load1,
Load 2, Confirm in
Erase Suspend
Lock/CR Setup,
Array
Lock/CR Setup in Status Read
Read
Status Read
Erase Susp
Output does
OTP Busy not change.
Ready,
Erase Suspend,
BP Suspend
BP Busy,
Word Program
Busy,
Erase Busy, Status Output does not
Output does not change. Array Read
BP Busy Read change.
BP Busy in Erase
Suspend
Word Pgm
Suspend,
Word Pgm Busy in
Erase Suspend,
Pgm Suspend In
Erase Suspend
Notes:
1. "Illegal commands" include commands outside of the allowed command set (allowed commands: 40H [pgm], 20H [erase],
etc.)
2. If a "Read Array" is attempted from a busy partition, the result will be invalid data. The ID and Query data are located at
different locations in the address map.
3. 1st and 2nd cycles of "2 cycles write commands" must be given to the same partition address, or unexpected results will
occur.
4. To protect memory contents against erroneous command sequences, there are specific instances in a multi-cycle
command sequence in which the second cycle will be ignored. For example, when the device is program suspended and
an erase setup command (0x20) is given followed by a confirm/resume command (0xD0), the second command will be
ignored because it is unclear whether the user intends to erase the block or resume the program operation.
5. The Clear Status command only clears the error bits in the status register if the device is not in the following modes: WSM
running (Pgm Busy, Erase Busy, Pgm Busy In Erase Suspend, OTP Busy, BEFP modes).
6. BEFP writes are only allowed when the status register bit #0 = 0, or else the data is ignored.
7. The "current state" is that of the "chip" and not of the "partition"; Each partition "remembers" which output (Array, ID/CFI or
Status) it was last pointed to on the last instruction to the "chip", but the next state of the chip does not depend on where
the partition's output mux is presently pointing to.
8. Confirm commands (Lock Block, Unlock Block, Lock-Down Block, Configuration Register) perform the operation and then
move to the Ready State.
9. WA0 refers to the block address latched during the first write cycle of the current operation.
Appendix B Flowcharts
Figure 38. Word Program Flowchart
Bus
Start Operation Command Comments
Program
Complete
Program
Successful
Start
Check SR.7
0 Standby 1 = WSM ready
SR.7 =
0 = WSM busy
1
Check SR.2
Standby 1 = Program suspended
0 Program 0 = Program completed
SR.2 =
Completed
1 Data = FFh
Read
Read Array Write Addr = Any address within the
Array
Write FFh suspended partition
Susp Partition
Read array data from block other than
Read the one being programmed
Read Array
Data Program Data = D0h
Write
Resume Addr = Suspended block (BA)
If the suspended partition was placed in Read Array mode:
Done No
Reading Return partition to Status mode:
Read
Yes
Write Data = 70h
Status Addr = Same partition
Program Resume Read Array
Write D0h Write FFh
Any Address Pgm'd Partition
Read Status
Write 70h
Same Partition PGM_SUS.WMF
Start
Bus
Command Comments
Operation
Device
Use Single Word Buffer Prog. Data = 0xE8
Supports Buffer Write
No Programming Setup Addr = Word Address
Writes?
SR[7] = Valid
Yes Read None
Addr = Word Address
Set Timeout or
Loop Counter Check SR[7]:
Idle None 1 = Write Buffer available
0 = No Write Buffer available
Get Next
Target Address Data = N-1 = Word Count
Write
None N = 0 corresponds to count = 1
(Notes 1, 2)
Addr = Word Address
Issue Buffer Prog. Cmd.
0xE8, Write Data = Write Buffer Data
None
Word Address (Notes 3, 4) Addr = Start Word Address
Other partitions of the device can be read by addressing those partitions
Status Register
Command
Full Status
Check if Desired
Program Complete
Read Read
Start
Status Reg . Status Reg .
V P P applied
No (SR[0]=1) Data Stream No (SR[7]=0) BEFP
Block Unlocked
Ready? Exited ?
Write D0h @
1 st W ord Address Write Data @ 1st Program
Word Address Complete
Read
Status Reg .
N Check
X = 32?
N Last
Data?
W rite 0xFFFF,
Address Not within
Current Block
NOTES:
1. First-word address to be programmed within the target block must be aligned on a write -buffer boundary.
2. W rite-buffer contents are programmed sequentially to the flash array starting at the first word address (W SM internally increments addressing ).
Bus
Start Operation Command Comments
Block
Data = 0x20
Write Erase
Write 0x20, Addr = Block to be erased (BA)
(Block Erase) Setup
Block Address
Erase Data = 0xD0
Write Confirm Addr = Block to be erased (BA)
Write 0xD0,
(Erase Confirm)
Block Address
Read None Status Register data.
Suspend
Read Status Erase
Register Check SR[7]:
Loop
Idle None 1 = WSM ready
No
0 = WSM busy
0 Suspend Yes
SR[7] =
Erase Repeat for subsequent block erasures.
1 Full Status register check can be done after each block erase
or after a sequence of block erasures.
Full Erase
Status Check Write 0xFF after the last operation to enter read array mode.
(if desired)
Block Erase
Complete
FULL ERASE STATUS CHECK PROCEDURE
Block Erase
Successful
Start
Bus
Command Comments
Operation
Data = 0xB0
Erase
Write 0xB0, Write Addr = Same partition address as
(Erase Suspend) Suspend
Any Address above
1 Check SR[6]:
Idle None 1 = Erase suspended
0 = Erase completed
0 Erase
SR[6] =
Completed
Read Array Data = 0xFF or 0x40
Write Addr = Any address within the
1 or Program
suspended partition
Read Program
Read or Read array or program data from/to
Read or None
Write block other than the one being erased
Program?
Read Array Program Program Data = 0xD0
No Write
Data Loop Resume Addr = Any address
Read Block
(Optional) Status Addr = Block address + offset 2
Lock Status
Lock Change
Complete
Bus
Start Command Comments
Operation
Program Data = 0xC0
Write
Write 0xC0, PR Setup Addr = First Location to Program
(Program Setup)
PR Address
Protection Data = Data to Program
Write Program Addr = Location to Program
Write PR
(Confirm Data)
Address & Data
Read None Status Register Data.
1 Check SR[1]:
SR[4] = Program Error Idle None
1 =Block locked; operation aborted
0 Only the Clear Staus Register command clears SR[1, 3, 4].
If an error is detected, clear the Status register before
SR[1] = 1 Register Locked;
Program Aborted attempting a program retry or other error recovery.
Program
Successful
Query data are presented on the lowest-order data outputs (DQ7-0) only. The numerical offset value
is the address relative to the maximum bus width supported by the device. On this family of
devices, the Query table device starting address is a 10h, which is a word address for x16 devices.
For a word-wide (x16) device, the first two Query-structure bytes, ASCII “Q” and “R,” appear on
the low byte at word addresses 10h and 11h. This CFI-compliant device outputs 00h data on upper
bytes. The device outputs ASCII “Q” in the low byte (DQ7-0) and 00h in the high byte (DQ15-8).
At Query addresses containing two or more bytes of information, the least significant data byte is
presented at the lower address, and the most significant data byte is presented at the higher address.
In all of the following tables, addresses and data are represented in hexadecimal notation, so the
“h” suffix has been dropped. In addition, since the upper byte of word-wide devices is always
“00h,” the leading “00” has been dropped from the table notation and only the lower byte value is
shown. Any x16 device outputs can be assumed to have 00h on the upper byte in this mode.
Table 29. Summary of Query Structure Output as a Function of Device and Mode
Hex
Offset Length Description
Add. Code Value
1Bh 1 VCC logic supply minimum program/erase voltage 1B: --17 1.7V
bits 0–3 BCD 100 mV
bits 4–7 BCD volts
1Ch 1 VCC logic supply maximum program/erase voltage 1C: --20 2.0V
bits 0–3 BCD 100 mV
bits 4–7 BCD volts
1Dh 1 VPP [programming] supply minimum program/erase voltage 1D: --85 8.5V
bits 0–3 BCD 100 mV
bits 4–7 HEX volts
1Eh 1 VPP [programming] supply maximum program/erase voltage 1E: --95 9.5V
bits 0–3 BCD 100 mV
bits 4–7 HEX volts
1Fh 1 “n” such that typical single word program time-out = 2n μ-sec 1F: --08 256μs
20h 1 “n” such that typical max. buffer write time-out = 2n μ-sec 20: --09 512μs
21h 1 “n” such that typical block erase time-out = 2n m-sec 21: --0A 1s
22h 1 “n” such that typical full chip erase time-out = 2n m-sec 22: --00 NA
23h 1 “n” such that maximum word program time-out = 2n times typical 23: --01 512μs
24h 1 “n” such that maximum buffer write time-out = 2n times typical 24: --01 1024μs
25h 1 “n” such that maximum block erase time-out = 2n times typical 25: --02 4s
26h 1 “n” such that maximum chip erase time-out = 2n times typical 26: --00 NA
(1)
Offset Length Description Hex
P = 10Ah (Optional flash features and commands) Add. Code Value
(P+E)h 1 Number of Protection register fields in JEDEC ID space. 118: --02 2
“00h,” indicates that 256 protection fields are available
(P+F)h 4 Protection Field 1: Protection Description 119: --80 80h
(P+10)h This field describes user-available One Time Programmable 11A: --00 00h
(P+11)h (OTP) Protection register bytes. Some are pre-programmed 11B: --03 8 byte
(P+12)h with device-unique serial numbers. Others are user 11C: --03 8 byte
programmable. Bits 0–15 point to the Protection register Lock
byte, the section’s first byte. The following bytes are factory
pre-programmed and user-programmable.
Order/Document
Document/Tool
Number
T E 2 8 F 6 4 0 P 3 0 B 8 5
Figure 47. Decoder for SCSP Intel StrataFlash® Embedded Memory (P30)
Flash #2
Flash #3
Flash #4
R D 4 8 F 4 0 0 0 P 0 Z B Q 0
Package Designator
RD = Intel ® SCSP, leaded Device Details
P F = Intel® SCSP, lead-free 0 = O riginal version of the product
RC = 64-Ball Easy BG A, leaded (refer to the latest version of the
P C = 64-Ball Easy BG A, lead-free datasheet for details)
T E = 56-Lead TSO P , leaded
JS = 56-Lead T SO P, lead-free
Ballout Designator
Group Designator Q = Q UAD+ ballout
48F = Flash Memory only 0 = Discrete ballout