Professional Documents
Culture Documents
M29F400B
4 Mbit (512Kb x8 or 256Kb x16, Boot Block)
Single Supply Flash Memory
NOT FOR NEW DESIGN
Figure 2A. TSOP Pin Connections Figure 2B. TSOP Reverse Pin Connections
2/34
M29F400T, M29F400B
3/34
M29F400T, M29F400B
M29F400T M29F400B
7FFFFh 7FFFFh
16K BOOT BLOCK 64K MAIN BLOCK
7C000h 70000h
7BFFFh 6FFFFh
8K PARAMETER BLOCK 64K MAIN BLOCK
7A000h 60000h
79FFFh 5FFFFh
8K PARAMETER BLOCK 64K MAIN BLOCK
78000h 50000h
77FFFh 4FFFFh
32K MAIN BLOCK 64K MAIN BLOCK
70000h 40000h
6FFFFh 3FFFFh
64K MAIN BLOCK 64K MAIN BLOCK
60000h 30000h
5FFFFh 2FFFFh
64K MAIN BLOCK 64K MAIN BLOCK
50000h 20000h
4FFFFh 1FFFFh
64K MAIN BLOCK 64K MAIN BLOCK
40000h 10000h
3FFFFh 0FFFFh
64K MAIN BLOCK 32K MAIN BLOCK
30000h 08000h
2FFFFh 07FFFh
64K MAIN BLOCK 8K PARAMETER BLOCK
20000h 06000h
1FFFFh 05FFFh
64K MAIN BLOCK 8K PARAMETER BLOCK
10000h 04000h
0FFFFh 03FFFh
64K MAIN BLOCK 16K BOOT BLOCK
00000h 00000h
AI01730
4/34
M29F400T, M29F400B
00000h-0FFFFh 00000h-07FFFh 0 0 0 X X X
10000h-1FFFFh 08000h-0FFFFh 0 0 1 X X X
20000h-2FFFFh 10000h-17FFFh 0 1 0 X X X
30000h-3FFFFh 18000h-1FFFFh 0 1 1 X X X
40000h-4FFFFh 20000h-27FFFh 1 0 0 X X X
50000h-5FFFFh 28000h-2FFFFh 1 0 1 X X X
60000h-6FFFFh 30000h-37FFFh 1 1 0 X X X
70000h-77FFFh 38000h-3BFFFh 1 1 1 0 X X
78000h-79FFFh 3C000h-3CFFFh 1 1 1 1 0 0
7A000h-7BFFFh 3D000h-3DFFFh 1 1 1 1 0 1
7C000h-7FFFFh 3E000h-3FFFFh 1 1 1 1 1 X
00000h-03FFFh 00000h-01FFFh 0 0 0 0 0 X
04000h-05FFFh 02000h-02FFFh 0 0 0 0 1 0
06000h-07FFFh 03000h-03FFFh 0 0 0 0 1 1
08000h-0FFFFh 04000h-07FFFh 0 0 0 1 X X
10000h-1FFFFh 08000h-0FFFFh 0 0 1 X X X
20000h-2FFFFh 10000h-17FFFh 0 1 0 X X X
30000h-3FFFFh 18000h-1FFFFh 0 1 1 X X X
40000h-4FFFFh 20000h-27FFFh 1 0 0 X X X
50000h-5FFFFh 28000h-2FFFFh 1 0 1 X X X
60000h-6FFFFh 30000h-37FFFh 1 1 0 X X X
70000h-7FFFFh 38000h-3FFFFh 1 1 1 X X X
5/34
M29F400T, M29F400B
6/34
M29F400T, M29F400B
7/34
M29F400T, M29F400B
8/34
M29F400T, M29F400B
INSTRUCTIONS AND COMMANDS monitor DQ7 in the Erase Suspend mode an ad-
The Command Interface latches commands writ- dress within a block being erased must be pro-
ten to the memory. Instructions are made up from vided. For a Read Operation in Erase Suspend
one or more commands to perform Read Memory mode, DQ7 will output ’1’ if the read is attempted
Array, Read Electronic Signature, Read Block Pro- on a block being erased and the data value on other
tection, Program, Block Erase, Chip Erase, Erase blocks. During Program operation in Erase Sus-
Suspend and Erase Resume. Commands are pend Mode, DQ7 will have the same behaviour as
made of address and data sequences. The in- in the normal program execution outside of the
structions require from 1 to 6 cycles, the first or first suspend mode.
three of which are always write operations used to Toggle Bit (DQ6). When Programming or Erasing
initiate the instruction. They are followed by either operations are in progress, successive attempts to
further write cycles to confirm the first command or read DQ6 will output complementary data. DQ6 will
execute the command immediately. Command se- toggle following toggling of either G, or E when G
quencing must be followed exactly. Any invalid is low. The operation is completed when two suc-
combination of commands will reset the device to cessive reads yield the same output data. The next
Read Array. The increased number of cycles has read will output the bit last programmed or a ’1’ after
been chosen to assure maximum data security. erasing. The toggle bit DQ6 is valid only during
Instructions are initialised by two initial Coded cy- P/E.C. operations, that is after the fourth W pulse
cles which unlock the Command Interface. In addi- for programming or after the sixth W pulse for
tion, for Erase, instruction confirmation is again Erase. If the blocks selected for erasure are pro-
preceded by the two Coded cycles. tected, DQ6 will toggle for about 100µs and then
return back to Read. DQ6 will be set to ’1’ if a Read
Status Register Bits operation is attempted on an Erase Suspend block.
P/E.C. status is indicated during execution by Data When erase is suspended DQ6 will toggle during
Polling on DQ7, detection of Toggle on DQ6 and programming operations in a block different to the
DQ2, or Error on DQ5 and Erase Timer DQ3 bits. block in Erase Suspend. Either E or G toggling will
Any read attempt during Program or Erase com- cause DQ6 to toggle. See Figure 12 for Toggle Bit
mand execution will automatically output these five flowchart and Figure 13 for Toggle Bit waveforms.
Status Register bits. The P/E.C. automatically sets
bits DQ2, DQ3, DQ5, DQ6 and DQ7. Other bits
(DQ0, DQ1 and DQ4) are reserved for future use
and should be masked. See Tables 9 and 10. Table 7. Commands
Data Polling Bit (DQ7). When Programming op- Hex Code Command
erations are in progress, this bit outputs the com-
plement of the bit being programmed on DQ7. 00h Invalid/Reserved
During Erase operation, it outputs a ’0’. After com-
pletion of the operation, DQ7 will output the bit last 10h Chip Erase Confirm
programmed or a ’1’ after erasing. Data Polling is 20h Reserved
valid and only effective during P/E.C. operation,
that is after the fourth W pulse for programming or 30h Block Erase Resume/Confirm
after the sixth W pulse for erase. It must be per-
formed at the address being programmed or at an 80h Set-up Erase
address within the block being erased. If all the Read Electronic Signature/
blocks selected for erasure are protected, DQ7 will 90h
Block Protection Status
be set to ’0’ for about 100µs, and then return to the
previous addressed memory data value. See Fig- A0h Program
ure 11 for the Data Polling flowchart and Figure 10
B0h Erase Suspend
for the Data Polling waveforms. DQ7 will also flag
the Erase Suspend mode by switching from ’0’ to F0h Read Array/Reset
’1’ at the start of the Erase Suspend. In order to
9/34
M29F400T, M29F400B
10/34
M29F400T, M29F400B
’1’ Program or Erase Error This bit is set to ’1’ in the case of
5 Error Bit
Programming or Erase failure.
’0’ Program or Erase On-going
4 Reserved
P/E.C. Erase operation has started. Only
’1’ Erase Timeout Period Expired possible command entry is Erase Suspend
Erase (ES).
3
Time Bit
Erase Timeout Period An additional block to be erased in parallel
’0’
On-going can be entered to the P/E.C.
Chip Erase, Erase or Erase
Suspend on the currently
addressed block.
’-1-0-1-0-1-0-1-’
Erase Error due to the
currently addressed block
(when DQ5 = ’1’). Indicates the erase status and allows to
2 Toggle Bit
identify the erased block
Program on-going, Erase
1 on-going on another block or
Erase Complete
Erase Suspend read on
DQ
non Erase Suspend block
1 Reserved
0 Reserved
Note: Logic level ’1’ is High, ’0’ is Low. -0-1-0-0-0-1-1-1-0- represent bit value in successive Read operations.
11/34
M29F400T, M29F400B
Table 10. Polling and Toggle Bits the Word-wide configuration during the first cycle.
During the second cycle the Coded cycles consist
Mode DQ7 DQ6 DQ2 of writing the data 55h at address 5555h in the
Program DQ7 Toggle 1 Byte-wide configuration and at address 2AAAh in
the Word-wide configuration. In the Byte-wide con-
Erase 0 Toggle Note 1 figuration the address lines A–1 to A14 are valid, in
Word-wide A0 to A14 are valid, other address lines
Erase Suspend Read
(in Erase Suspend 1 1 Toggle are ’don’t care’. The Coded cycles happen on first
block) and second cycles of the command write or on the
fourth and fifth cycles.
Erase Suspend Read
(outside Erase Suspend DQ7 DQ6 DQ2 Instructions
block) See Table 8.
Erase Suspend Program DQ7 Toggle N/A Read/Reset (RD) Instruction. The Read/Reset
Note: 1. Toggle if the address is within a block being erased.
instruction consists of one write cycle giving the
’1’ if the address is within a block not being erased. command F0h. It can be optionally preceded by the
two Coded cycles. Subsequent read operations will
read the memory array addressed and output the
Toggle Bit (DQ2). This toggle bit, together with data read. A wait state of 10µs is necessary after
DQ6, can be used to determine the device status Read/Reset prior to any valid read if the memory
during the Erase operations. It can also be used to was in an Erase mode when the RD instruction is
identify the block being erased. During Erase or given.
Erase Suspend a read from a block being erased Auto Select (AS) Instruction. This instruction
will cause DQ2 to toggle. A read from a block not uses the two Coded cycles followed by one write
being erased will set DQ2 to ’1’ during erase and cycle giving the command 90h to address AAAAh
to DQ2 during Erase Suspend. During Chip Erase in the Byte-wide configuration or address 5555h in
a read operation will cause DQ2 to toggle as all the Word-wide configuration for command set-up.
blocks are being erased. DQ2 will be set to ’1’ A subsequent read will output the manufacturer
during program operation and when erase is com- code and the device code or the block protection
plete. After erase completion and if the error bit status depending on the levels of A0 and A1. The
DQ5 is set to ’1’, DQ2 will toggle if the faulty block manufacturer code, 20h, is output when the ad-
is addressed. dresses lines A0 and A1 are Low, the device code,
Error Bit (DQ5). This bit is set to ’1’ by the P/E.C. D5h for Top Boot, D6h for Bottom Boot is output
when there is a failure of programming, block when A0 is High with A1 Low.
erase, or chip erase that results in invalid data in The AS instruction also allows access to the block
the memory block. In case of an error in block erase protection status. After giving the AS instruction, A0
or program, the block in which the error occured or is set to VIL with A1 at VIH, while A12-A17 define
to which the programmed data belongs, must be the address of the block to be verified. A read in
discarded. The DQ5 failure condition will also ap- these conditions will output a 01h if the block is
pear if a user tries to program a ’1’ to a location that protected and a 00h if the block is not protected.
is previously programmed to ’0’. Other Blocks may Program (PG) Instruction. This instruction uses
still be used. The error bit resets after a Read/Reset four write cycles. Both for Byte-wide configuration
(RD) instruction. In case of success of Program or and for Word-wide configuration. The Program
Erase, the error bit will be set to ’0’ . command A0h is written to address AAAAh in the
Erase Timer Bit (DQ3). This bit is set to ’0’ by the Byte-wide configuration or to address 5555h in the
P/E.C. when the last block Erase command has Word-wide configuration on the third cycle after two
been entered to the Command Interface and it is Coded cycles. A fourth write operation latches the
awaiting the Erase start. When the erase timeout Address on the falling edge of W or E and the Data
period is finished, after 80µs to 120µs, DQ3 returns to be written on the rising edge and starts the
to ’1’. P/E.C. Read operations output the Status Register
bits after the programming has started. Memory
Coded Cycles programming is made only by writing ’0’ in place of
The two Coded cycles unlock the Command Inter- ’1’. Status bits DQ6 and DQ7 determine if program-
face. They are followed by an input command or a ming is on-going and DQ5 allows verification of any
confirmation command. The Coded cycles consist possible error. Programming at an address not in
of writing the data AAh at address AAAAh in the blocks being erased is also possible during erase
Byte-wide configuration and at address 5555h in suspend. In this case, DQ2 will toggle at the ad-
dress being programmed.
12/34
M29F400T, M29F400B
1.3V
High Speed
3V 1N914
1.5V
0V 3.3kΩ
DEVICE
Standard UNDER OUT
TEST
2.4V CL
2.0V
0.8V
0.45V
CL = 30pF for High Speed
AI01275B
CL = 100pF for Standard
CL includes JIG capacitance AI01276B
Block Erase (BE) Instruction. This instruction other blocks must be given within this delay. The
uses a minimum of six write cycles. The Erase input of a new Erase Confirm command will restart
Set-up command 80h is written to address AAAAh the timeout period. The status of the internal timer
in the Byte-wide configuration or address 5555h in can be monitored through the level of DQ3, if DQ3
the Word-wide configuration on third cycle after the is ’0’ the Block Erase Command has been given
two Coded cycles. The Block Erase Confirm com- and the timeout is running, if DQ3 is ’1’, the timeout
mand 30h is similarly written on the sixth cycle after has expired and the P/E.C. is erasing the Block(s).
another two Coded cycles. During the input of the If the second command given is not an erase
second command an address within the block to be confirm or if the Coded cycles are wrong, the
erased is given and latched into the memory. Addi- instruction aborts, and the device is reset to Read
tional block Erase Confirm commands and block Array. It is not necessary to program the block with
addresses can be written subsequently to erase 00h as the P/E.C. will do this automatically before
other blocks in parallel, without further Coded cy- to erasing to FFh. Read operations after the sixth
cles. The erase will start after the erase timeout rising edge of W or E output the status register
period (see Erase Timer Bit DQ3 description). status bits.
Thus, additional Erase Confirm commands for
13/34
M29F400T, M29F400B
During the execution of the erase by the P/E.C., the configuration on the third cycle after the two Coded
memory accepts only the Erase Suspend ES and cycles. The Chip Erase Confirm command 10h is
Read/Reset RD instructions. Data Polling bit DQ7 similarly written on the sixth cycle after another two
returns ’0’ while the erasure is in progress and ’1’ Coded cycles. If the second command given is not
when it has completed. The Toggle bit DQ2 and an erase confirm or if the Coded cycles are wrong,
DQ6 toggle during the erase operation. They stop the instruction aborts and the device is reset to
when erase is completed. After completion the Read Array. It is not necessary to program the array
Status Register bit DQ5 returns ’1’ if there has been with 00h first as the P/E.C. will automatically do this
an erase failure. In such a situation, the Toggle bit before erasing it to FFh. Read operations after the
DQ2 can be used to determine which block is not sixth rising edge of W or E output the Status
correctly erased. In the case of erase failure, a Register bits. During the execution of the erase by
Read/Reset RD instruction is necessary in order to the P/E.C., Data Polling bit DQ7 returns ’0’, then ’1’
reset the P/E.C. on completion. The Toggle bits DQ2 and DQ6
Chip Erase (CE) Instruction. This instruction uses toggle during erase operation and stop when erase
six write cycles. The Erase Set-up command 80h is completed. After completion the Status Register
is written to address AAAAh in the Byte-wide con- bit DQ5 returns ’1’ if there has been an Erase
figuration or the address 5555h in the Word-wide Failure.
14/34
M29F400T, M29F400B
15/34
M29F400T, M29F400B
16/34
tAVAV
A0-A17/
VALID
A–1
tAVQV tAXQX
tELQV
E
Figure 6. Read Mode AC Waveforms
tEHQZ
tELQX tEHQX
tGLQV tGHQX
tGLQX tGHQZ
DQ0-DQ7/ VALID
DQ8-DQ15
tBHQV
BYTE
tELBL/tELBH tBLQZ
17/34
M29F400T, M29F400B
Erase Suspend (ES) Instruction. The Block execution. Writing this command during Erase
Erase operation may be suspended by this instruc- timeout will, in addition to suspending the erase,
tion which consists of writing the command B0h terminate the timeout. The Toggle bit DQ6 stops
without any specific address. No Coded cycles are toggling when the P/E.C. is suspended. The Toggle
required. It permits reading of data from another bits will stop toggling between 0.1µs and 15µs after
block and programming in another block while an the Erase Suspend (ES) command has been writ-
erase operation is in progress. Erase suspend is ten. The device will then automatically be set to
accepted only during the Block Erase instruction Read Memory Array mode. When erase is sus-
18/34
M29F400T, M29F400B
pended, a Read from blocks being erased will when the data is being programmed. A Read/Reset
output DQ2 toggling and DQ6 at ’1’. A Read from command will definitively abort erasure and result
a block not being erased returns valid data. During in invalid data in the blocks being erased.
suspension the memory will respond only to the Erase Resume (ER) Instruction. If an Erase
Erase Resume ER and the Program PG instruc- Suspend instruction was previously executed, the
tions. A Program operation can be initiated during erase operation may be resumed by giving the
erase suspend in one of the blocks not being command 30h, at any address, and without any
erased. It will result in both DQ2 and DQ6 toggling Coded cycles.
19/34
M29F400T, M29F400B
tAVAV
A0-A17/
VALID
A–1
tWLAX
tAVWL tWHEH
tELWL tWHGL
tGHWL tWLWH
tWHWL
tDVWH tWHDX
DQ0-DQ7/
VALID
DQ8-DQ15
VCC
tVCHEL
RB
tWHRL AI01869C
Note: Address are latched on the falling edge of W, Data is latched on the rising edge of W.
20/34
M29F400T, M29F400B
21/34
M29F400T, M29F400B
22/34
M29F400T, M29F400B
tAVAV
A0-A17/
VALID
A–1
tELAX
tAVEL tEHWH
tWLEL tEHGL
tGHEL tELEH
tEHEL
tDVEH tEHDX
DQ0-DQ7/
VALID
DQ8-DQ15
VCC
tVCHWL
RB
tEHRL AI01870C
Note: Address are latched on the falling edge of E, Data is latched on the rising edge of E.
tPHEL
tPHWL
RB
tPLPX
RP
tPHPHH
tPLYH
AI02091
23/34
M29F400T, M29F400B
24/34
DATA OUTPUT VALID
A0-A17/
ADDRESS (WITHIN BLOCKS)
A–1
tAVQV
tELQV
tEHQ7V
G
Figure 10. Data Polling DQ7 AC Waveforms
tGLQV
W
tWHQ7V
DQ0-DQ6/
IGNORE VALID
DQ8-DQ15
tQ7VQV
25/34
M29F400T, M29F400B
Figure 11. Data Polling Flowchart Figure 12. Data Toggle Flowchart
START
START
READ
READ DQ5 & DQ7 DQ2, DQ5 & DQ6
at VALID ADDRESS
NO YES
NO DQ5 NO DQ5
=1 =1
YES YES
DQ7 YES
= DQ2, DQ6 NO
DATA =
TOGGLE
NO
YES
FAIL PASS
FAIL PASS
AI01369
AI01873
Table 18. Program, Erase Times and Program, Erase Endurance Cycles
(TA = 0 to 70°C; VCC = 5V ± 10% or 5V ± 5%)
M29F400T / M29F400B
Parameter Unit
Typical after
Min Typ
100k W/E Cycles
Chip Erase (Preprogrammed) 1.2 1.7 sec
Chip Erase 4.3 4.4 sec
Boot Block Erase 0.6 sec
Parameter Block Erase 0.5 sec
Main Block (32Kb) Erase 0.9 sec
Main Block (64Kb) Erase 1.0 sec
Chip Program (Byte) 5.5 5.5 sec
Byte Program 11 11 µs
Word Program 20 20 µs
Program/Erase Cycles (per Block) 100,000 cycles
26/34
A0-A17/
A–1 VALID
tEHQV
tAVQV
tELQV
tGLQV
Figure 13. Data Toggle DQ6, DQ2 AC Waveforms
tWHQV
DQ0-DQ1,DQ3-DQ5,DQ7/ VALID
IGNORE
DQ8-DQ15
27/34
M29F400T, M29F400B
START
BLOCK ADDRESS
on A12-A17
W = VIH
Set-up
n=0
G, A9 = VID,
E = VIL
Wait 4µs
W = VIL
W = VIH
E, G = VIH
Verify
E = VIL
Wait 4µs
G = VIL
Wait 60ns
VERIFY BLOCK
PROTECT STATUS
DATA NO
=
01h
YES
A9 = VIH ++n NO
= 25
PASS
YES
A9 = VIH
FAIL
AI01875E
28/34
M29F400T, M29F400B
START
PROTECT
ALL BLOCKS
n=0
Set-up
W = VIH
E, G, A9 = VID
A12, A15 = VIH
Wait 4µs
W = VIL
W = VIH
E, G = VIH Verify
Wait 4µs
G = VIL
Wait 60ns
VERIFY BLOCK
PROTECT STATUS
NO DATA YES
=
00h
NO ++n LAST NO
= 1000 BLK.
YES YES
A9 = VIH A9 = VIH
FAIL PASS
AI01876C
29/34
M29F400T, M29F400B
M29F400T and M29F400B are replaced respectively by the new version M29F400BT and M29F400BB
Devices are shipped from the factory with the memory content erased (to FFh).
For a list of available options (Speed, Package, etc...) or for further information on any aspect of this device,
please contact the STMicroelectronics Sales Office nearest to you.
30/34
M29F400T, M29F400B
mm inches
Symb
Typ Min Max Typ Min Max
A 1.20 0.047
A1 0.05 0.15 0.002 0.006
A2 0.95 1.05 0.037 0.041
B 0.17 0.27 0.007 0.011
C 0.10 0.21 0.004 0.008
D 19.80 20.20 0.780 0.795
D1 18.30 18.50 0.720 0.728
E 11.90 12.10 0.469 0.476
e 0.50 - - 0.020 - -
L 0.50 0.70 0.020 0.028
α 0° 5° 0° 5°
N 48 48
CP 0.10 0.004
A2
1 N
e
B
N/2
D1 A
D CP
DIE
TSOP-a A1 α L
31/34
M29F400T, M29F400B
mm inches
Symb
Typ Min Max Typ Min Max
A 1.20 0.047
A1 0.05 0.15 0.002 0.006
A2 0.95 1.05 0.037 0.041
B 0.17 0.27 0.007 0.011
C 0.10 0.21 0.004 0.008
D 19.80 20.20 0.780 0.795
D1 18.30 18.50 0.720 0.728
E 11.90 12.10 0.469 0.476
e 0.50 – – 0.020 – –
L 0.50 0.70 0.020 0.028
α 0° 5° 0° 5°
N 48 48
CP 0.10 0.004
A2
1 N
e
B
N/2
D1 A
D CP
DIE
TSOP-b A1 α L
32/34
M29F400T, M29F400B
mm inches
Symb
Typ Min Max Typ Min Max
A 2.42 2.62 0.095 0.103
A1 0.22 0.23 0.009 0.010
A2 2.25 2.35 0.089 0.093
B 0.50 0.020
C 0.10 0.25 0.004 0.010
D 28.10 28.30 1.106 1.114
E 13.20 13.40 0.520 0.528
e 1.27 – – 0.050 – –
H 15.90 16.10 0.626 0.634
L 0.80 – – 0.031 – –
α 3° 3°
N 44 44
CP 0.10 0.004
A2 A
C
B
e CP
E H
1
A1 α L
SO-b
33/34
M29F400T, M29F400B
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.
34/34