M29F160BB
M29F160BB
M29F160BB
16 Mbit (2Mb x8 or 1Mb x16, Boot Block)
Single Supply Flash Memory
PRELIMINARY DATA
2/22
M29F160BT, M29F160BB
3/22
M29F160BT, M29F160BB
Table 3. Top Boot Block Addresses Table 4. Bottom Boot Block Addresses
M29F160BT M29F160BB
Size Address Range Address Range Size Address Range Address Range
# #
(Kbytes) (x8) (x16) (Kbytes) (x8) (x16)
34 16 1FC000h-1FFFFFh FE000h-FFFFFh 34 64 1F0000h-1FFFFFh F8000h-FFFFFh
33 8 1FA000h-1FBFFFh FD000h-FDFFFh 33 64 1E0000h-1EFFFFh F0000h-F7FFFh
32 8 1F8000h-1F9FFFh FC000h-FCFFFh 32 64 1D0000h-1DFFFFh E8000h-EFFFFh
31 32 1F0000h-1F7FFFh F8000h-FBFFFh 31 64 1C0000h-1CFFFFh E0000h-E7FFFh
30 64 1E0000h-1EFFFFh F0000h-F7FFFh 30 64 1B0000h-1BFFFFh D8000h-DFFFFh
29 64 1D0000h-1DFFFFh E8000h-EFFFFh 29 64 1A0000h-1AFFFFh D0000h-D7FFFh
28 64 1C0000h-1CFFFFh E0000h-E7FFFh 28 64 190000h-19FFFFh C8000h-CFFFFh
27 64 1B0000h-1BFFFFh D8000h-DFFFFh 27 64 180000h-18FFFFh C0000h-C7FFFh
26 64 1A0000h-1AFFFFh D0000h-D7FFFh 26 64 170000h-17FFFFh B8000h-BFFFFh
25 64 190000h-19FFFFh C8000h-CFFFFh 25 64 160000h-16FFFFh B0000h-B7FFFh
24 64 180000h-18FFFFh C0000h-C7FFFh 24 64 150000h-15FFFFh A8000h-AFFFFh
23 64 170000h-17FFFFh B8000h-BFFFFh 23 64 140000h-14FFFFh A0000h-A7FFFh
22 64 160000h-16FFFFh B0000h-B7FFFh 22 64 130000h-13FFFFh 98000h-9FFFFh
21 64 150000h-15FFFFh A8000h-AFFFFh 21 64 120000h-12FFFFh 90000h-97FFFh
20 64 140000h-14FFFFh A0000h-A7FFFh 20 64 110000h-11FFFFh 88000h-8FFFFh
19 64 130000h-13FFFFh 98000h-9FFFFh 19 64 100000h-10FFFFh 80000h-87FFFh
18 64 120000h-12FFFFh 90000h-97FFFh 18 64 0F0000h-0FFFFFh 78000h-7FFFFh
17 64 110000h-11FFFFh 88000h-8FFFFh 17 64 0E0000h-0EFFFFh 70000h-77FFFh
16 64 100000h-10FFFFh 80000h-87FFFh 16 64 0D0000h-0DFFFFh 68000h-6FFFFh
15 64 0F0000h-0FFFFFh 78000h-7FFFFh 15 64 0C0000h-0CFFFFh 60000h-67FFFh
14 64 0E0000h-0EFFFFh 70000h-77FFFh 14 64 0B0000h-0BFFFFh 58000h-5FFFFh
13 64 0D0000h-0DFFFFh 68000h-6FFFFh 13 64 0A0000h-0AFFFFh 50000h-57FFFh
12 64 0C0000h-0CFFFFh 60000h-67FFFh 12 64 090000h-09FFFFh 48000h-4FFFFh
11 64 0B0000h-0BFFFFh 58000h-5FFFFh 11 64 080000h-08FFFFh 40000h-47FFFh
10 64 0A0000h-0AFFFFh 50000h-57FFFh 10 64 070000h-07FFFFh 38000h-3FFFFh
9 64 090000h-09FFFFh 48000h-4FFFFh 9 64 060000h-06FFFFh 30000h-37FFFh
8 64 080000h-08FFFFh 40000h-47FFFh 8 64 050000h-05FFFFh 28000h-2FFFFh
7 64 070000h-07FFFFh 38000h-3FFFFh 7 64 040000h-04FFFFh 20000h-27FFFh
6 64 060000h-06FFFFh 30000h-37FFFh 6 64 030000h-03FFFFh 18000h-1FFFFh
5 64 050000h-05FFFFh 28000h-2FFFFh 5 64 020000h-02FFFFh 10000h-17FFFh
4 64 040000h-04FFFFh 20000h-27FFFh 4 64 010000h-01FFFFh 08000h-0FFFFh
3 64 030000h-03FFFFh 18000h-1FFFFh 3 32 008000h-00FFFFh 04000h-07FFFh
2 64 020000h-02FFFFh 10000h-17FFFh 2 8 006000h-007FFFh 03000h-03FFFh
1 64 010000h-01FFFFh 08000h-0FFFFh 1 8 004000h-005FFFh 02000h-02FFFh
0 64 000000h-00FFFFh 00000h-07FFFh 0 16 000000h-003FFFh 00000h-01FFFh
4/22
M29F160BT, M29F160BB
5/22
M29F160BT, M29F160BB
Bus Write VIL VIH VIL Command Address Hi-Z Data Input
6/22
M29F160BT, M29F160BB
During program or erase operations the memory be read from the memory. Issuing a Read/Reset
will continue to use the Program/Erase Supply command during a Block Erase operation will
Current, ICC4, for Program or Erase operations un- leave invalid data in the memory.
til the operation completes. Auto Select Command. The Auto Select com-
Automatic Standby. If CMOS levels (VCC ± 0.2V) mand is used to read the Manufacturer Code, the
are used to drive the bus and the bus is inactive for Device Code and the Block Protection Status.
150ns or more the memory enters Automatic Three consecutive Bus Write operations are re-
Standby where the internal Supply Current is re- quired to issue the Auto Select command. Once
duced to the CMOS Standby Supply Current, ICC3. the Auto Select command is issued the memory
The Data Inputs/Outputs will still output data if a remains in Auto Select mode until another com-
Bus Read operation is in progress. mand is issued.
Special Bus Operations From the Auto Select mode the Manufacturer
Additional bus operations can be performed to Code can be read using a Bus Read operation
read the Electronic Signature and also to apply with A0 = V IL and A1 = VIL. The other address bits
and remove Block Protection. These bus opera- may be set to either V IL or VIH. The Manufacturer
tions are intended for use by programming equip- Code for STMicroelectronics is 0020h.
ment and are not usually used in applications. The Device Code can be read using a Bus Read
They require VID to be applied to some pins. operation with A0 = VIH and A1 = VIL. The other
Electronic Signature. The memory has two address bits may be set to either V IL or VIH. The
codes, the manufacturer code and the device Device Code for the M29F160BT is 22CCh and for
code, that can be read to identify the memory. the M29F160BB is 224Bh.
These codes can be read by applying the signals The Block Protection Status of each block can be
listed in Tables 5 and 6, Bus Operations. read using a Bus Read operation with A0 = VIL,
Block Protection and Blocks Unprotection. Each A1 = VIH, and A12-A19 specifying the address of
block can be separately protected against acci- the block. The other address bits may be set to ei-
dental Program or Erase. Protected blocks can be ther VIL or VIH. If the addressed block is protected
unprotected to allow data to be changed. then 01h is output on Data Inputs/Outputs DQ0-
DQ7, otherwise 00h is output.
There are two methods available for protecting
and unprotecting the blocks, one for use on pro- Program Command. The Program command
gramming equipment and the other for in-system can be used to program a value to one address in
use. For further information refer to Application the memory array at a time. The command re-
Note AN1122, Applying Protection and Unprotec- quires four Bus Write operations, the final write op-
tion to M29 Series Flash. eration latches the address and data in the internal
state machine and starts the Program/Erase Con-
COMMAND INTERFACE troller.
All Bus Write operations to the memory are inter- If the address falls in a protected block then the
preted by the Command Interface. Commands Program command is ignored, the data remains
consist of one or more sequential Bus Write oper- unchanged. The Status Register is never read and
ations. Failure to observe a valid sequence of Bus no error condition is given.
Write operations will result in the memory return- During the program operation the memory will ig-
ing to Read mode. The long command sequences nore all commands. It is not possible to issue any
are imposed to maximize data security. command to abort or pause the operation. Typical
The address used for the commands changes de- program times are given in Table 9. Bus Read op-
pending on whether the memory is in 16-bit or 8- erations during the program operation will output
bit mode. See either Table 7, or 8, depending on the Status Register on the Data Inputs/Outputs.
the configuration that is being used, for a summary See the section on the Status Register for more
of the commands. details.
Read/Reset Command. The Read/Reset com- After the program operation has completed the
mand returns the memory to its Read mode where memory will return to the Read mode, unless an
it behaves like a ROM or EPROM. It also resets error has occurred. When an error occurs the
the errors in the Status Register. Either one or memory will continue to output the Status Regis-
three Bus Write operations can be used to issue ter. A Read/Reset command must be issued to re-
the Read/Reset command. set the error condition and return to Read mode.
If the Read/Reset command is issued during a Note that the Program command cannot change a
Block Erase operation or following a Programming bit set at ’0’ back to ’1’. One of the Erase Com-
or Erase error then the memory will take upto 10µs mands must be used to set all the bits in a block or
to abort. During the abort period no valid data can in the whole memory from ’0’ to ’1’.
7/22
M29F160BT, M29F160BB
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
8/22
M29F160BT, M29F160BB
Unlock Bypass Command. The Unlock Bypass ter. A Read/Reset command must be issued to re-
command is used in conjunction with the Unlock set the error condition and return to Read Mode.
Bypass Program command to program the memo- The Chip Erase Command sets all of the bits in un-
ry. When the access time to the device is long (as protected blocks of the memory to ’1’. All previous
with some EPROM programmers) considerable data is lost.
time saving can be made by using these com-
mands. Three Bus Write operations are required Block Erase Command. The Block Erase com-
mand can be used to erase a list of one or more
to issue the Unlock Bypass command.
blocks. Six Bus Write operations are required to
Once the Unlock Bypass command has been is- select the first block in the list. Each additional
sued the memory will only accept the Unlock By- block in the list can be selected by repeating the
pass Program command and the Unlock Bypass sixth Bus Write operation using the address of the
Reset command. The memory can be read as if in additional block. The Block Erase operation starts
Read mode. the Program/Erase Controller about 50µs after the
Unlock Bypass Program Command. The Un- last Bus Write operation. Once the Program/Erase
lock Bypass Program command can be used to Controller starts it is not possible to select any
program one address in memory at a time. The more blocks. Each additional block must therefore
command requires two Bus Write operations, the be selected within 50µs of the last block. The 50µs
final write operation latches the address and data timer restarts when an additional block is selected.
in the internal state machine and starts the Pro- The Status Register can be read after the sixth
gram/Erase Controller. Bus Write operation. See the Status Register for
The Program operation using the Unlock Bypass details on how to identify if the Program/Erase
Program command behaves identically to the Pro- Controller has started the Block Erase operation.
gram operation using the Program command. A If any selected blocks are protected then these are
protected block cannot be programmed; the oper- ignored and all the other selected blocks are
ation cannot be aborted and the Status Register is erased. If all of the selected blocks are protected
read. Errors must be reset using the Read/Reset the Block Erase operation appears to start but will
command, which leaves the device in Unlock By- terminate within about 100µs, leaving the data un-
pass Mode. See the Program command for details changed. No error condition is given when protect-
on the behavior. ed blocks are ignored.
Unlock Bypass Reset Command. The Unlock During the Block Erase operation the memory will
Bypass Reset command can be used to return to ignore all commands except the Erase Suspend
Read/Reset mode from Unlock Bypass Mode. and Read/Reset commands. Typical block erase
Two Bus Write operations are required to issue the times are given in Table 9. All Bus Read opera-
Unlock Bypass Reset command. tions during the Block 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 Block 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 Block Erase Command sets all of the bits in
given when protected blocks are ignored. the unprotected selected blocks to ’1’. All previous
During the erase operation the memory will ignore data in the selected blocks is lost.
all commands. It is not possible to issue any com- Erase Suspend Command. The Erase Suspend
mand to abort the operation. Typical chip erase Command may be used to temporarily suspend a
times are given in Table 9. All Bus Read opera- Block Erase operation and return the memory to
tions during the Chip Erase operation will output Read mode. The command requires one Bus
the Status Register on the Data Inputs/Outputs. Write operation.
See the section on the Status Register for more The Program/Erase Controller will suspend within
details. 15µs of the Erase Suspend Command being is-
After the Chip Erase operation has completed the sued. Once the Program/Erase Controller has
memory will return to the Read Mode, unless an stopped the memory will be set to Read mode and
error has occurred. When an error occurs the the Erase will be suspended. If the Erase Suspend
memory will continue to output the Status Regis- command is issued during the period when the
9/22
M29F160BT, M29F160BB
memory is waiting for an additional block (before are being erased will output the Status Register. It
the Program/Erase Controller starts) then the is also possible to enter the Auto Select mode: the
Erase is suspended immediately and will start im- memory will behave as in the Auto Select mode on
mediately when the Erase Resume Command is all blocks until a Read/Reset command returns the
issued. It will not be possible to select any further memory to Erase Suspend mode.
blocks for erasure after the Erase Resume. Erase Resume Command. The Erase Resume
During Erase Suspend it is possible to Read and command must be used to restart the Program/
Program cells in blocks that are not being erased; Erase Controller from Erase Suspend. An erase
both Read and Program operations behave as can be suspended and resumed more than once.
normal on these blocks. Reading from blocks that
10/22
M29F160BT, M29F160BB
11/22
M29F160BT, M29F160BB
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
YES
READ DQ7
at VALID ADDRESS READ DQ6
TWICE
DQ7 YES
= DQ6 NO
DATA =
TOGGLE
NO
YES
AI01370B
AI03598
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
12/22
M29F160BT, M29F160BB
1.3V
High Speed
1N914
3V
1.5V
0V 3.3kΩ
DEVICE
Standard UNDER OUT
TEST
2.4V CL = 30pF or 100pF
2.0V
0.8V
0.45V
AI01275B
13/22
M29F160BT, M29F160BB
Program/Erase
ICC4 (1) Supply Current (Program/Erase)
Controller active
20 mA
14/22
M29F160BT, M29F160BB
E = VIL,
tAVQV tACC Address Valid to Output Valid Max 55 70 ns
G = VIL
tELQX (1) tLZ Chip Enable Low to Output Transition G = VIL Min 0 0 ns
tGLQX (1) tOLZ Output Enable Low to Output Transition E = VIL Min 0 0 ns
tEHQZ (1) tHZ Chip Enable High to Output Hi-Z G = VIL Max 18 20 ns
tGHQZ (1) tDF Output Enable High to Output Hi-Z E = VIL Max 18 20 ns
tEHQX
Chip Enable, Output Enable or
tGHQX tOH Min 0 0 ns
Address Transition to Output Transition
tAXQX
tELBL tELFL
Chip Enable to BYTE Low or High Max 5 5 ns
tELBH tELFH
tAVAV
A0-A19/
VALID
A–1
tAVQV tAXQX
tELQV tEHQX
tELQX tEHQZ
tGLQX tGHQX
tGLQV tGHQZ
DQ0-DQ7/
VALID
DQ8-DQ15
tBHQV
BYTE
15/22
M29F160BT, M29F160BB
tAVAV
A0-A19/
VALID
A–1
tWLAX
tAVWL tWHEH
tELWL tWHGL
tGHWL tWLWH
tWHWL
tDVWH tWHDX
DQ0-DQ7/
VALID
DQ8-DQ15
VCC
tVCHEL
RB
tWHRL AI02923
16/22
M29F160BT, M29F160BB
tAVAV
A0-A19/
VALID
A–1
tELAX
tAVEL tEHWH
tWLEL tEHGL
tGHEL tELEH
tEHEL
tDVEH tEHDX
DQ0-DQ7/
VALID
DQ8-DQ15
VCC
tVCHWL
RB
tEHRL AI02924
17/22
M29F160BT, M29F160BB
tPHWL (1)
RP High to Write Enable Low, Chip Enable Low,
tPHEL tRH Min 50 50 ns
(1)
Output Enable Low
tPHGL
tRHWL (1)
RB High to Write Enable Low, Chip Enable Low,
tRHEL (1) tRB Min 0 0 ns
Output Enable Low
(1)
tRHGL
W, E, G
RB
tPLPX
RP
tPHPHH
tPLYH
AI02931
18/22
M29F160BT, M29F160BB
Example: M29F160BB 70 N 1 T
Device Type
M29
Operating Voltage
F = VCC = 5V ± 10%
Device Function
160B = 16 Mbit (2Mb x8 or 1Mb x16), Boot Block
Array Matrix
T = Top Boot
B = Bottom Boot
Speed
55 = 55 ns
70 = 70 ns
Package
N = TSOP48: 12 x 20 mm
Temperature Range
1 = 0 to 70 °C
3 = –40 to 125 °C
6 = –40 to 85 °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.
19/22
M29F160BT, M29F160BB
20/22
M29F160BT, M29F160BB
Table 20. TSOP48 - 48 lead Plastic Thin Small Outline, 12 x 20mm, Package Mechanical Data
mm 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.17 0.27 0.0067 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 11.90 12.10 0.4685 0.4764
e 0.50 – – 0.0197 – –
L 0.50 0.70 0.0197 0.0279
α 0° 5° 0° 5°
N 48 48
CP 0.10 0.0039
Figure 11. TSOP48 - 48 lead Plastic Thin Small Outline, 12 x 20mm, Package Outline
A2
1 N
e
B
N/2
D1 A
D CP
DIE
TSOP-a A1 α L
Drawing is not to scale.
21/22
M29F160BT, M29F160BB
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