M29F002BB, M29F002BNB
VSS
AI02957B
A11 1 32 G
A9 A10
VCC
A12
A15
A16
A17
RP A8 E
W
A13 DQ7
1 32
A7 A14 A14 DQ6
A6 A13 A17 DQ5
A5 A8 W DQ4
A4 A9 VCC 8 M29F002BT 25 DQ3
M29F002BT
A3 9 25 A11 RP 9 M29F002BB 24 VSS
M29F002BB
A2 M29F002BNB G A16 DQ2
A1 A10 A15 DQ1
A0 E A12 DQ0
DQ0 DQ7 A7 A0
17 A6 A1
A5 A2
DQ1
DQ2
VSS
DQ3
DQ4
DQ5
DQ6
A4 16 17 A3
AI02959B AI02958
2/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
Table 3. Top Boot Block Addresses, Table 4. Bottom Boot Block Addresses,
M29F002BT, M29F002BNT M29F002BB
Size Size
# Address Range # Address Range
(Kbytes) (Kbytes)
6 16 3C000h-3FFFFh 6 64 30000h-3FFFFh
5 8 3A000h-3BFFFh 5 64 20000h-2FFFFh
4 8 38000h-39FFFh 4 64 10000h-1FFFFh
3 32 30000h-37FFFh 3 32 08000h-0FFFFh
2 64 20000h-2FFFFh 2 8 06000h-07FFFh
1 64 10000h-1FFFFh 1 8 04000h-05FFFh
0 64 00000h-0FFFFh 0 16 00000h-03FFFh
3/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
4/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
B0h (M29F002BT)
A0 = VIH, A1 = VIL, A9 = VID,
Read Device Code VIL VIL VIH B0h (M29F002BNT)
Others VIL or VIH
34h (M29F002BB)
Note: X = VIL or VIH.
5/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
6/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
Table 6. Commands
Bus Write Operations
Length
Command 1st 2nd 3rd 4th 5th 6th
Addr Data Addr Data Addr Data Addr Data Addr Data Addr Data
1 X F0
Read/Reset
3 555 AA 2AA 55 X F0
Auto Select 3 555 AA 2AA 55 555 90
Program 4 555 AA 2AA 55 555 A0 PA PD
Unlock Bypass 3 555 AA 2AA 55 555 20
Unlock Bypass
2 X A0 PA PD
Program
Unlock Bypass Reset 2 X 90 X 00
Chip Erase 6 555 AA 2AA 55 555 80 555 AA 2AA 55 555 10
Block Erase 6+ 555 AA 2AA 55 555 80 555 AA 2AA 55 BA 30
Erase Suspend 1 X B0
Erase Resume 1 X 30
Note: X Don’t Care, PA Program Address, PD Program Data, BA Any address in the Block.
All values in the table are in hexadecimal.
The Command Interface only uses address bits A0-A10 to verify the commands, the upper address bits are Don’t Care.
Read/Reset. After a Read/Reset command, read the memory as normal until another command is issued.
Auto Select. After an Auto Select command, read Manufacturer ID, Device ID or Block Protection Status.
Program, Unlock Bypass Program, Chip Erase, Block Erase. After these commands read the Status Register until the Program/Erase
Controller completes and the memory returns to Read Mode. Add additional Blocks during Block Erase Command with additional Bus Write
Operations until the Timeout Bit is set.
Unlock Bypass. After the Unlock Bypass command issue Unlock Bypass Program or Unlock Bypass Reset commands.
Unlock Bypass Reset. After the Unlock Bypass Reset command read the memory as normal until another command is issued.
Erase Suspend. After the Erase Suspend command read non-erasing memory blocks as normal, issue Auto Select and Program commands
on non-erasing blocks as normal.
Erase Resume. After the Erase Resume command the suspended Erase operation resumes, read the Status Register until the Program/
Erase Controller completes and the memory returns to Read Mode.
Unlock Bypass Reset Command. The Unlock During the erase operation the memory will ignore
Bypass Reset command can be used to return to all commands. It is not possible to issue any com-
Read/Reset mode from Unlock Bypass Mode. mand to abort the operation. Typical chip erase
Two Bus Write operations are required to issue the times are given in Table 7. All Bus Read opera-
Unlock Bypass Reset command. tions during the Chip Erase operation will output
Chip Erase Command. The Chip Erase com- the Status Register on the Data Inputs/Outputs.
mand can be used to erase the entire chip. Six Bus See the section on the Status Register for more
Write operations are required to issue the Chip details.
Erase Command and start the Program/Erase After the Chip Erase operation has completed the
Controller. memory will return to the Read Mode, unless an
If any blocks are protected then these are ignored error has occurred. When an error occurs the
and all the other blocks are erased. If all of the memory will continue to output the Status Regis-
blocks are protected the Chip Erase operation ap- ter. A Read/Reset command must be issued to re-
pears to start but will terminate within about 100µs, set the error condition and return to Read Mode.
leaving the data unchanged. No error condition is The Chip Erase Command sets all of the bits in un-
given when protected blocks are ignored. protected blocks of the memory to ’1’. All previous
data is lost.
7/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
Block Erase Command. The Block Erase com- ter. A Read/Reset command must be issued to re-
mand can be used to erase a list of one or more set the error condition and return to Read mode.
blocks. Six Bus Write operations are required to The Block Erase Command sets all of the bits in
select the first block in the list. Each additional the unprotected selected blocks to ’1’. All previous
block in the list can be selected by repeating the data in the selected blocks is lost.
sixth Bus Write operation using the address of the
additional block. The Block Erase operation starts Erase Suspend Command. The Erase Suspend
Command may be used to temporarily suspend a
the Program/Erase Controller about 50µs after the
Block Erase operation and return the memory to
last Bus Write operation. Once the Program/Erase
Controller starts it is not possible to select any Read mode. The command requires one Bus
more blocks. Each additional block must therefore Write operation.
be selected within 50µs of the last block. The 50µs The Program/Erase Controller will suspend within
timer restarts when an additional block is selected. 15µs of the Erase Suspend Command being is-
The Status Register can be read after the sixth sued. Once the Program/Erase Controller has
Bus Write operation. See the Status Register for stopped the memory will be set to Read mode and
details on how to identify if the Program/Erase the Erase will be suspended. If the Erase Suspend
Controller has started the Block Erase operation. command is issued during the period when the
If any selected blocks are protected then these are memory is waiting for an additional block (before
ignored and all the other selected blocks are the Program/Erase Controller starts) then the
Erase is suspended immediately and will start im-
erased. If all of the selected blocks are protected
mediately when the Erase Resume Command is
the Block Erase operation appears to start but will
terminate within about 100µs, leaving the data un- issued. It will not be possible to select any further
blocks for erasure after the Erase Resume.
changed. No error condition is given when protect-
ed blocks are ignored. During Erase Suspend it is possible to Read and
Program cells in blocks that are not being erased;
During the Block Erase operation the memory will
ignore all commands except the Erase Suspend both Read and Program operations behave as
and Read/Reset commands. Typical block erase normal on these blocks. Reading from blocks that
are being erased will output the Status Register. It
times are given in Table 7. All Bus Read opera-
is also possible to enter the Auto Select mode: the
tions during the Block Erase operation will output
the Status Register on the Data Inputs/Outputs. memory will behave as in the Auto Select mode on
all blocks until a Read/Reset command returns the
See the section on the Status Register for more
memory to Erase Suspend mode.
details.
Erase Resume Command. The Erase Resume
After the Block Erase operation has completed the
command must be used to restart the Program/
memory will return to the Read Mode, unless an
error has occurred. When an error occurs the Erase Controller from Erase Suspend. An erase
can be suspended and resumed more than once.
memory will continue to output the Status Regis-
8/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
STATUS REGISTER Toggle Bit (DQ6). The Toggle Bit can be used to
Bus Read operations from any address always identify whether the Program/Erase Controller has
read the Status Register during Program and successfully completed its operation or if it has re-
Erase operations. It is also read during Erase Sus- sponded to an Erase Suspend. The Toggle Bit is
pend when an address within a block being erased output on DQ6 when the Status Register is read.
is accessed. During Program and Erase operations the Toggle
The bits in the Status Register are summarized in Bit changes from ’0’ to ’1’ to ’0’, etc., with succes-
Table 8, Status Register Bits. sive Bus Read operations at any address. After
successful completion of the operation the memo-
Data Polling Bit (DQ7). The Data Polling Bit can
ry returns to Read mode.
be used to identify whether the Program/Erase
Controller has successfully completed its opera- During Erase Suspend mode the Toggle Bit will
tion or if it has responded to an Erase Suspend. output when addressing a cell within a block being
The Data Polling Bit is output on DQ7 when the erased. The Toggle Bit will stop toggling when the
Status Register is read. Program/Erase Controller has suspended the
Erase operation.
During Program operations the Data Polling Bit
outputs the complement of the bit being pro- Figure 6, Data Toggle Flowchart, gives an exam-
grammed to DQ7. After successful completion of ple of how to use the Data Toggle Bit.
the Program operation the memory returns to Error Bit (DQ5). The Error Bit can be used to
Read mode and Bus Read operations from the ad- identify errors detected by the Program/Erase
dress just programmed output DQ7, not its com- Controller. The Error Bit is set to ’1’ when a Pro-
plement. gram, Block Erase or Chip Erase operation fails to
During Erase operations the Data Polling Bit out- write the correct data to the memory. If the Error
puts ’0’, the complement of the erased state of Bit is set a Read/Reset command must be issued
DQ7. After successful completion of the Erase op- before other commands are issued. The Error bit
eration the memory returns to Read Mode. is output on DQ5 when the Status Register is read.
In Erase Suspend mode the Data Polling Bit will Note that the Program command cannot change a
output a ’1’ during a Bus Read operation within a bit set at ’0’ back to ’1’ and attempting to do so may
block being erased. The Data Polling Bit will or may not set DQ5 at ’1’. In both cases, a succes-
change from a ’0’ to a ’1’ when the Program/Erase sive Bus Read operation will show the bit is still ’0’.
Controller has suspended the Erase operation. One of the Erase commands must be used to set
all the bits in a block or in the whole memory from
Figure 5, Data Polling Flowchart, gives an exam- ’0’ to ’1’.
ple of how to use the Data Polling Bit. A Valid Ad-
dress is the address being programmed or an
address within the block being erased.
9/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
START START
READ
READ DQ5 & DQ7 DQ5 & DQ6
at VALID ADDRESS
READ DQ6
DQ7 YES
=
DATA
DQ6 NO
NO =
TOGGLE
YES
NO DQ5
=1
NO DQ5
YES =1
DQ7 YES
=
DATA DQ6 NO
=
TOGGLE
NO
YES
FAIL PASS
FAIL PASS
AI03598 AI01370B
Erase Timer Bit (DQ3). The Erase Timer Bit can within the blocks being erased. Once the operation
be used to identify the start of Program/Erase completes the memory returns to Read mode.
Controller operation during a Block Erase com- During Erase Suspend the Alternative Toggle Bit
mand. Once the Program/Erase Controller starts changes from ’0’ to ’1’ to ’0’, etc. with successive
erasing the Erase Timer Bit is set to ’1’. Before the Bus Read operations from addresses within the
Program/Erase Controller starts the Erase Timer blocks being erased. Bus Read operations to ad-
Bit is set to ’0’ and additional blocks to be erased dresses within blocks not being erased will output
may be written to the Command Interface. The the memory cell data as if in Read mode.
Erase Timer Bit is output on DQ3 when the Status
After an Erase operation that causes the Error Bit
Register is read.
to be set the Alternative Toggle Bit can be used to
Alternative Toggle Bit (DQ2). The Alternative identify which block or blocks have caused the er-
Toggle Bit can be used to monitor the Program/ ror. The Alternative Toggle Bit changes from ’0’ to
Erase controller during Erase operations. The Al- ’1’ to ’0’, etc. with successive Bus Read Opera-
ternative Toggle Bit is output on DQ2 when the tions from addresses within blocks that have not
Status Register is read. erased correctly. The Alternative Toggle Bit does
During Chip Erase and Block Erase operations the not change if the addressed block has erased cor-
Toggle Bit changes from ’0’ to ’1’ to ’0’, etc., with rectly.
successive Bus Read operations from addresses
10/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
1.3V
High Speed
3V 1N914
1.5V
0V 3.3kΩ
DEVICE
Standard UNDER OUT
TEST
2.4V CL = 30pF or 100pF
2.0V
0.8V
0.45V
AI01275B
11/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
Program/Erase
ICC4 (2) Supply Current (Program/Erase) 20 mA
Controller active
VIL Input Low Voltage –0.5 0.8 V
12/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
E = VIL,
tAVQV tACC Address Valid to Output Valid Max 45 55 70 ns
G = VIL
tEHQZ (1) tHZ Chip Enable High to Output Hi-Z G = VIL Max 15 18 20 ns
tGHQZ (1) tDF Output Enable High to Output Hi-Z E = VIL Max 15 18 20 ns
tAVAV
A0-A17 VALID
tAVQV tAXQX
tELQV tEHQX
tELQX tEHQZ
tGLQX tGHQX
tGLQV tGHQZ
DQ0-DQ7 VALID
AI02961
13/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
tAVAV
A0-A17 VALID
tWLAX
tAVWL tWHEH
tELWL tWHGL
tGHWL tWLWH
tWHWL
tDVWH tWHDX
DQ0-DQ7 VALID
VCC
tVCHEL
AI02083
14/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
tAVAV
A0-A17 VALID
tELAX
tAVEL tEHWH
tWLEL tEHGL
tGHEL tELEH
tEHEL
tDVEH tEHDX
DQ0-DQ7 VALID
VCC
tVCHWL
AI02084
15/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
tPHWL (1)
RP High to Write Enable Low, Chip Enable
tPHEL tRH Min 50 50 50 ns
(1)
Low, Output Enable Low
tPHGL
tPHPHH (1) tVIDR RP Rise Time to VID Min 500 500 500 ns
Note: 1. Sampled only, not 100% tested.
W, E, G
tPLPX
RP
tPHPHH
tPLYH
AI02943
16/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
Example: M29F002BB 45 N 1 T
Device Type
M29
Operating Voltage
F = VCC = 5V ± 10%
Device Function
002B = 2 Mbit (256Kb x8), Boot Block
Array Matrix
T = Top Boot
B = Bottom Boot
NT = Top Boot, No Reset/Block Temporary Unprotect pin
NB = Bottom Boot, No Reset/Block Temporary Unprotect pin
Speed
45 = 45 ns
55 = 55 ns
70 = 70 ns
90 = 90 ns
120 = 120 ns
Package
K = PLCC32
N = TSOP32: 8 x 20 mm
P = PDIP32
Temperature Range
1 = 0 to 70 °C
6 = –40 to 85 °C
3 = –40 to 125 °C
Option
T = Tape & Reel Packing
Note: The last two characters of the ordering code may be replaced by a letter code for preprogrammed
parts, otherwise devices are shipped from the factory with the memory content bits erased to ’1’.
For a list of available options (Speed, Package, etc...) or for further information on any aspect of this de-
vice, please contact the ST Sales Office nearest to you.
17/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
18/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
1 N
B1
E2
e
E3 E1 E F
B
0.51 (.020) E2
1.14 (.045)
D3 A
R CP
D2 D2
PLCC-A
19/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
A2
1 N
e
B
N/2
D1 A
D CP
DIE
TSOP-a A1 α L
TSOP32 – 32 lead Plastic Thin Small Outline, 8 x 20mm, Package Mechanical Data
millimeters inches
Symbol
Typ Min Max Typ Min Max
A 1.20 0.0472
A1 0.05 0.15 0.0020 0.0059
A2 0.95 1.05 0.0374 0.0413
B 0.15 0.27 0.0059 0.0106
C 0.10 0.21 0.0039 0.0083
D 19.80 20.20 0.7795 0.7953
D1 18.30 18.50 0.7205 0.7283
E 7.90 8.10 0.3110 0.3189
e 0.50 – – 0.0197 – –
L 0.50 0.70 0.0197 0.0276
α 0° 5° 0° 5°
N 32 32
CP 0.10 0.0039
20/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
A2 A
A1 L α
B1 B e1 C
eA
D2 eB
D
S
N
E1 E
1
PDIP
PDIP32 - 32 lead Plastic DIP, 600 mils width, Package Mechanical Data
mm inches
Symb.
Typ. Min. Max. Typ. Min. Max.
A – 5.08 – 0.2000
A1 0.38 – 0.0150 –
A2 3.56 4.06 0.1402 0.1598
B 0.38 0.51 0.0150 0.0201
B1 1.52 – – 0.0598 – –
C 0.20 0.30 0.0079 0.0118
D 41.78 42.04 1.6449 1.6551
D2 38.10 – – 1.5000 – –
E 15.24 – – 0.6000 – –
E1 13.59 13.84 0.5350 0.5449
e1 2.54 – – 0.1000 – –
eA 15.24 – – 0.6000 – –
eB 15.24 17.78 0.6000 0.7000
L 3.18 3.43 0.1252 0.1350
S 1.78 2.03 0.0701 0.0799
α 0° 10° 0° 10°
N 32 32
21/22
M29F002BT, M29F002BB, M29F002BNT, M29F002BNB
Information furnished is believed to be accurate and reliable. However, STMicroelectronics assumes no responsibility for the consequences
of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. No license is granted
by implication or otherwise under any patent or patent rights of STMicroelectronics. Specifications mentioned in this publication are subject
to change without notice. This publication supersedes and replaces all information previously supplied. STMicroelectronics products are not
authorized for use as critical components in life support devices or systems without express written approval of STMicroelectronics.
22/22