The M28W640EC is a 64 Mbit (4 Mbit x 16) nonvolatile Flash memory that can b e erased electrically at block level and programmed in-s ystem on
a Word-by-Word basis using a 2.7V to 3.6V V
supply for the circuitry and a 1.65V to 3.6V V
DD
DDQ
supply for the Input/Output pins. An optional 12V
V
power supply is provided to speed up custom-
PP
er programming.
The device features an asymmetrical blocked ar-
chitecture. The M28W640EC ha s an array of 135
blocks: 8 Parameter Blocks of 4 KWord and 127
Main Blocks of 32 KWord. M28W640ECT has the
Parameter Blocks at the top of the memory address space while the M28W640ECB locates the
Parameter Blocks starting from the bottom. The
memory maps are shown in Figure 5, Block Addresses.
The M28W640EC features an instant, individual
block locking scheme that allo ws any block to be
locked or unlocked with no latency, enabling instant code and data protection. All blocks have
three levels of protection. They can be locked and
locked-down individually preventing any accidental programming or erasure. There is an additional
hardware protection against program and erase.
When V
PP
≤ V
all blocks are protected against
PPLK
program or erase. All blocks are locked at Power
Up.
Each block can be erased separately. Erase can
be suspended in order to perform either read or
program in any other block and then resumed.
Program can be s uspended to read data in any
other block and then resumed. Each block can be
programmed and erased over 100,000 cycles.
The device includes a 192 b it Protection Register
to increase th e pr o tection of a system design. The
Protection Register is divided into a 64 bit segment
and a 128 bit segment. The 64 bi t segment contains a unique device number written by ST, while
the second one is one-time-programmable by the
user. The user programmable segment can be
permanently protected. Figure 6, shows the Protection Register Memory Map.
Program and Erase command s are written to the
Command Interface of the memory. An on-chip
Program/Erase Controller takes care of the timings necessary for program and erase operations.
The end of a program or erase operation can be
detected and any error conditions identified. The
command set required to control the memory is
consistent with JEDEC standards.
M28W640ECT, M28W640ECB
The memory is of fered in TSOP48 (12 X 20mm)
and TFBGA48 (6.39 x 10.5mm, 0.75mm pitch)
packages and is supplied with all the bits erased
(set to ’1’).
Figure 2. Logic Diagram
V
V
DD
DDQVPP
22
A0-A21
W
E
G
RP
WP
M28W640ECT
M28W640ECB
V
SS
Table 1. Signal Names
A0-A21Address Inputs
DQ0-DQ15Data Input/Output
E
G
W
RP
WP
V
DD
V
DDQ
V
PP
V
SS
NCNot Connected Internally
Chip Enable
Output Enable
Write Enable
Reset
Write Protect
Core Power Supply
Power Supply for
Input/Output
Optional Supply Voltage for
Fast Program & Erase
Ground
16
DQ0-DQ15
AI04378b
5/55
M28W640ECT, M28W640ECB
Figure 3. TSOP Connections
A15
A14
A13
A12
A11
1
48
A16
V
DDQ
V
SS
DQ15
DQ7
A10DQ14
37
36
DQ6
DQ13
DQ5
DQ12
DQ4
V
DD
DQ11
DQ3
DQ10
DQ2
DQ9
DQ1
DQ8
DQ0
G
V
SS
E
A0
A21
A20
RP
V
PP
WP
A19
A18
A17
A9
A8
W
A7
A6
A5
A4
A3
A2
A1
12
M28W640ECT
M28W640ECB
13
2425
AI04379b
6/55
Figure 4. TFBGA Connections (Top view through package)
M28W640ECT, M28W640ECB
87654321
A
B
C
D
E
F
DDQ
SS
DQ7V
A8A11A13
DQ13
PP
RPA18
A21
DQ11
DQ12
DQ4
WPA19
A20
DQ2
DD
A7V
A5A17WA10A14
DQ0DQ9DQ3DQ6DQ15V
DQ1DQ10V
A4
A2
A1A3A6A9A12A15
A0EDQ8DQ5DQ14A16
V
SS
G
AI04380
7/55
M28W640ECT, M28W640ECB
Figure 5. Block Addresses
M28W640ECT
Top Boot Block Addresses
3FFFFF
3FF000
3F8FFF
3F8000
3F7FFF
3F0000
00FFFF
008000
007FFF
000000
Note: A l so see Appe ndi x A, Tables 24 and 25 for a full l isting of the Bl ock Address es.
4 KWords
Total of 8
4 KWord Blocks
4 KWords
32 KWords
Total of 127
32 KWord Blocks
32 KWords
32 KWords
Bottom Boot Block Addresses
3FFFFF
3F8000
3F7FFF
3F0000
00FFFF
008000
007FFF
007000
000FFF
000000
M28W640ECB
32 KWords
32 KWords
Total of 127
32 KWord Blocks
32 KWords
4 KWords
Total of 8
4 KWord Blocks
4 KWords
AI04386b
Figure 6. Prot ect i on Register Me m o ry Map
PROTECTION REGISTER
8Ch
User Programmable OTP
85h
84h
81h
80h
Unique device number
Protection Register Lock10
AI05520b
8/55
SIGNAL DESCRIPTIONS
See Figure 2 Logic Diagram and Table 1,Signal
Names, for a brief overview of the signals connected to this device.
Address Inputs (A0-A21). The Address Inputs
select the cells i n the memory array to a ccess during Bus Read operations. During Bus Write operations they control the commands sent to the
Command Interface of the internal state machine.
Data Input/Output (DQ0-DQ15). The Data I/O
outputs the data stored at the selected address
during a Bus Read operation or inputs a command
or the data to be programmed durin g a Write Bus
operation.
Chip Enable (E
). The Chip Enable input acti-
vates the memory control logic, input buffers, decoders and sense amplifiers. When Chip Enable is
and Reset is at VIH the device is in active
at V
IL
mode. When Chi p E nable i s at V
the memory is
IH
deselected, the outputs are high impedan ce and
the power consumption is reduced to the stand-by
level.
Output Enable (G
). The Output Enable controls
data outputs during the Bus Read operation of the
memory.
Write Enable (W
). The Write Enable controls the
Bus Write operation of the memory’s Command
Interface. The data and address inputs are latched
on the rising edge of Chip Enable, E, or Write Enable, W
Write Protect (WP
, whichever occurs first.
). Write Protect is an input
that gives an additional hardware protection for
each block. When Write Protect is at V
, the Loc k-
IL
Down is enabled and the prote ction status of t he
block cannot be changed. When Write Protect is at
, the Lock-Down is disabled and the block can
V
IH
be locked or unlocked. (refer to Table 7, Read Protection Register and Protection Register Lock).
Reset (RP
ware reset of the memory. W hen Reset is at V
). The Reset input provides a hard-
IL
the memory is in reset mode: the outputs are high
impedance and the current consumption is minimized. After Reset all blocks are in the Locked
M28W640ECT, M28W640ECB
state. When Reset is at V
operation. Exiting reset mode the device enters
read array mode, but a negative transition of Chip
Enable or a change of the addres s is required t o
ensure valid data outputs.
Supply Voltage. VDD provides the power
V
DD
supply to the internal core of the memory device.
It is the main power supply for all operations
(Read, Program and Erase).
Su pp ly V olt ag e . V
V
DDQ
power supply to the I/O pins a nd ena bles all Ou tputs to be powered independently from V
can be tied to VDD or can use a separate supply.
Program Supply Voltage. VPP is both a
V
PP
control input and a power supply pin. The two
functions are selected by the voltage range applied to the pin. The Supply Voltage V
Program Supply Voltage V
any order.
If V
is kept in a low voltage range (0V to 3.6V)
PP
V
is seen as a control input. In this case a volt-
PP
age lower than V
PPLK
against program or erase, whi le V
ables these functions (see Table 15, DC Characteristics for the relevant values). V
sampled at the beginning of a program or erase; a
change in its value after the operation has started
does not have any effect on Program or Erase,
however for Double or Q uadruple Word Program
the results are uncertain.
If V
is in the range 11.4V to 12.6V it acts as a
PP
power supply pin. In this condition V
stable until the Program/Erase algorit hm is completed (see Table 17 and 18).
Ground. VSS is the reference for all voltage
V
SS
measurements.
Note: Each device in a system should have
V
DD, VDDQ
pacitor close to the pin. See Figure 8, AC Mea-
,
and VPP decoupled wi th a 0.1 µF ca-
surement Load Circu it. The PCB trace widths
should be sufficient to carry the required V
program and erase currents.
, the device is in normal
IH
provides the
DDQ
can be applied in
PP
gives an absolute protection
PP
DD
and the
DD
> V
is only
PP
must be
PP
. V
PP1
DDQ
en-
PP
9/55
M28W640ECT, M28W640ECB
BUS OPERATIONS
There are six standard bus operations that control
the device. These are Bus Read, Bus Wri te, Output Disable, Standby, Automatic Standby and Reset. See Table 2, Bus Operations, for a summary.
Typically glitches of less than 5ns on Chip Enable
or Write Enable are ignored by the memory and do
not affect bus operations.
Read. Read Bus operations are used to output
the contents of the Memory Array, the Electronic
Signature, the Status Register and the Common
Flash Interface. Both Chip Enable and Output Enable must be at V
eration. The Chip Enable in put should be us ed to
enable the device. Out put E nable shoul d be used
to gate data onto the output. The data read depends on the previous command written to the
memory (see Command Interface section). See
Figure 9, Read Mode AC Wa veforms, and Table
16, Read AC Characteristics, for details of when
the output becomes valid.
Read mode is the default state of the device when
exiting Reset or after power-up.
Write. Bus Write operations write Commands to
the memory or latch Input Data to be programmed.
A write operation is initiated when Chip Enable
and Write Enable are at V
V
. Commands, Input Data and Addresses are
IH
latched on the rising edge of Write Enable or Chip
Enable, whichever occurs first.
in order to perform a read op-
IL
with Output Enable at
IL
See Figures 10 and 11, Write AC Waveforms, and
Tables 17 and 18, Write AC Characteristics, for
details of the timing requirements.
Output Disa bl e . The data outputs are high impedance when the Output Enable is at V
.
IH
Standby. Stan dby disables most of the inte rnal
circuitry allowing a substantial reduction of the current consumption. The memory is in stand-by
when Chip Enable is at V
and the device is in
IH
read mode. The power consumption is reduced to
the stand-by level and the o utputs are set to high
impedance, independently from the Output Enable
or Write Enable inputs. If Chip Enable switches to
V
vides a low power consumption state during Read
mode. Following a read operation, the device enters Automatic Standby after 150ns of bus inactivity even if Chip Enable is Low, V
current is reduced to I
. The data I nputs/Out-
DD1
, and the supply
IL
puts will still output data if a bus Read operation is
in progress.
Reset. During Reset mode when Output Enable
is Low, V
, the memory is deselected and the out-
IL
puts are high impedance. The memory is in Reset
mode when Reset is at V
. The power consump-
IL
tion is reduced to the Standby level, independently
from the Chip Enable, Output Enable or Write Enable inputs. If Reset is pulled to V
during a Pro-
SS
gram or Erase, this operation is aborted and the
memory content is no longer valid.
Table 2. Bus Operations
OperationEGWRPWP
Bus Read
Bus Write
Output Disable
Standby
ResetXXX
Note: X = VIL or VIH, V
10/55
V
V
V
V
= 12V ± 5%.
PPH
IL
IL
IL
IH
V
IL
V
IH
V
IH
XX
V
IH
V
IL
V
IH
V
IH
V
IH
V
IH
V
IH
V
IL
V
PP
XDon’t CareData Output
V
X
XDon’t CareHi-Z
XDon’t CareHi-Z
XDon’t CareHi-Z
DD
or V
PPH
DQ0-DQ15
Data Input
COMMAND INTERFACE
All Bus Write operations t o the me mory are in terpreted by the Command Interface. Commands
consist of one or more sequential Bus Write operations. An internal Program/Erase Controller handles all timings and verifies the correct execution
of the Program and Erase commands. The Program/Erase Controller provides a S tatus Register
whose output may be read at any time during, to
monitor the progress of the operation, or the P rogram/Erase states. See Table 3, Command
Codes, for a summary o f the c ommands and see
Appendix 22, Table 32, Write State Machine Current/Next, for a summa ry of the Command Interface.
The Command Interface is reset to Read mode
when power is first applied, when exiting from Reset or whenever V
is lower than V
DD
LKO
. Command sequences must be followed exactly. Any
invalid combination of commands will reset the device to Read mode. Refer to Table 4, Commands,
in conjunction with the text descriptions below.
Read Memory Array Command
The Read command returns the memory to its
Read mode. One Bus Write cycle is required to issue the Read Memory Array command and return
the memory to Read mode. Subsequ ent read operations will read the addressed locat ion and output the data. When a device Reset occurs, the
memory defaults to Read mode.
Read Status Register Command
The Status Register indicates when a program or
erase operation is complete and the success or
failure of the operation itself. Issue a Read Status
Register command to rea d the Status Register’s
contents. Subsequent Bus Read op erations read
the Status Register at any address, u ntil another
command is issued. See Table 11, Status Register
Bits, for details on the definitions of the bits.
The Read Status Register command m ay be issued at any time, even during a Program/Erase
operation. Any Read attempt during a Program/
Erase operation will automatically output the content of the Status Register.
Read Electronic Signature Command
The Read Electronic Signature command reads
the Manufacturer and Device Codes and the Block
Locking Status, or the Protection Register.
The Read Electronic Signature command consists
of one write cycle, a subsequent read will output
the Manufacturer Code, the Device Code, the
Block Lock and Lock-Down Status, or the Protection and Lock Register. See Tables 5, 6 and 7 for
the valid address.
The Read Query Command is used to read dat a
from the Common Flash Interface (CFI) Me mory
Area, allowing programming equi pment or applications to automatically match their interface to
the characteristics of the device. One Bus Write
cycle is required to issue the Read Query Command. Once the command is issued subsequent
Bus Read operations read from the Common
Flash Interface Memory Area. See Appendix B,
Common Flash Inte rface, Tables 26, 27, 28, 29,
30 and 31 for details on the information contained
in the Common Flash Interface memory area.
Block Erase Command
The Block Erase com mand can be used to erase
a block. It sets all the bits within the selected block
to ’1’. All previous d ata in th e block is lost. If th e
block is protected then the Erase operation will
abort, the data in the block will not be changed and
the Status Register will output the error.
Two Bus Write cycles are required to issue the
command.
■ The first bus cycle sets up the Erase command.
Double Word Program
Quadruple Word Program
Block Lock, Block Unlock, Block Lock-
Down
Program/Erase Resume, Block Unlock
confirm
11/55
M28W640ECT, M28W640ECB
■ The second latches the block address in the
internal state machine and starts the Program/
Erase Controller.
If the second bus cycle is not Write Erase Confirm
(D0h), Status Register bits b4 and b5 a re s et and
the command aborts.
Erase aborts if Reset turns to V
. As data integrity
IL
cannot be guaranteed when the Erase operation is
aborted, the block must be erased again.
During Erase operations the memory will accept
the Read Status Re gister com mand and the P rogram/Erase Suspend command, all other commands will be ignored. Typical Erase times are
given in Table 8, Program, Erase Times and P rogram/Erase Endurance Cycles.
See Appendix C, Figure 21 , Erase Flowchart and
Pseudo Code, for a suggested flowchart for using
the Erase command.
Program Command
The memory array can be programmed word-byword. Two bus write cycles are required to issue
the Program Command.
■ The first bus cycle sets up the Program
command.
■ The second latches the Address and the Data to
be written and starts the Program/Erase
Controller.
During Program operations the memory will accept the Read Status Register command and the
Program/Erase Suspend command. Typical Program times are g iven in Tab le 8, P rogram, E rase
Times and Program/Erase Endurance Cycles.
Programming aborts if Reset goe s to V
. As data
IL
integrity cannot be guaranteed when the program
operation is aborted, the block containing the
memory location must be erased and reprogrammed.
See Appendix C, Figure 17, Program Flowchart
and Pseudo Code, for the f lowchart for using the
Program command.
Double Word Program Command
This feature is offered to improve the programming
throughput, writing a page of two adjacent words
in parallel.The two words m ust differ only for the
address A0. Programm ing should not be at t emp ted when V
is not at V
PP
PPH
.
Three bus write cycles are necessary to issue the
Double Word Program command.
■ The first bus cycle sets up the Double Word
Program Command.
■ The second bus cycle latches the Address and
the Data of the first word to be written.
■ The third bus cycle latches the Address and the
Data of the second word to be written and starts
the Program/Erase Controller.
Read operations output the Status Register content after the programming has s tarted. Programming aborts if Reset goes to V
. As data integrity
IL
cannot be guaranteed when the program operation is aborted, the block containing the memory
location must be erased and reprogrammed.
See Appendix C, Figure 18, Double Word Program Flowchart and Pseudo Code, for the flowchart for using the Double Word Program
command.
Quadruple Word Program Command
This feature is offered to improve the programming
throughput, writing a page of four adjacent words
in parallel.The four words must differ only for the
addresses A0 and A1. Programming should not be
attempted when V
is not at V
PP
PPH
.
Five bus write cycles are necessary to issue the
Quadruple Word Program command.
■ The first bus cycle sets up the Quadruple Word
Program Command.
■ The second bus cycle latches the Address and
the Data of the first word to be written.
■ The third bus cycle latches the Address and the
Data of the second word to be written.
■ The fourth bus cycle latches the Address and
the Data of the third word to be written.
■ The fifth bus cycl e latches the Addres s and th e
Data of the fourth word to be written and starts
the Program/Erase Controller.
Read operations output the Status Register content after the programming has s tarted. Programming aborts if Reset goes to V
. As data integrity
IL
cannot be guaranteed when the program operation is aborted, the block containing the memory
location must be erased and reprogrammed.
See Appendix C, Figure 19, Quadruple Word Program Flowchart and Pseudo Code, for the flowchart for using the Quadruple Word Program
command.
Clear Status Register Command
The Clear Status Register comm and c an b e us ed
to reset bits 1, 3, 4 and 5 in the Status Register to
‘0’. One bus write cycle is required to issue the
Clear Status Register command.
The bits in the Status Register do not automatically return to ‘0’ when a new Program or Erase command is issued. The error bits in the Status
Register should be cleared before attempting a
new Program or Erase command.
Program/Erase Suspend Command
The Program/Erase Suspend command is used to
pause a Program or Erase operation. One bus
write cycle is required to issue the Program/Erase
command and pau se the Prog ram/Erase controller.
12/55
M28W640ECT, M28W640ECB
During Program/Erase Suspend the Command Interface will accept the Program/Erase Resume,
Read Array, Read Status Register, Read Electronic Signature and Read CFI Query commands. Additionally, if the suspend operation was Erase then
the Program, Double Word Program, Quadruple
Word Program, Block Lock, Block Lock -Down or
Protection Program commands will also be accepted. The block being erased may be protected
by issuing the Block Protect, Block Lock or Protection Program commands. When the Program/
Erase Resume com mand is issued the operation
will complete. Only the blocks not being erased
may be read or programmed correctly.
During a Program/Erase Suspend, the device can
be placed in a pseudo-standby mode by taking
Chip Ena ble to V
Reset turns to V
. Program/Erase is aborted if
IH
.
IL
See Appendix C, Figure 20 , Program Suspend &
Resume Flowchart and Pseudo Code, and Figure
22, Erase Suspend & Resume Flowchart and
Pseudo Code for flowcharts for using the Program/
Erase Suspend command.
Program/Erase Resume Command
The Program/Erase Resume command can be
used to restart the Program/Erase Controller after
a Program/Erase Suspend o peration has paused
it. One Bus Write cycle is required to issue the
command. Once the command is issued subsequent Bus Read operations read the Status Register.
See Appendix C, Figure 20 , Program Suspend &
Resume Flowchart and Pseudo Code, and Figure
22, Erase Suspend & Resume Flowchart and
Pseudo Code for flowcharts for using the Program/
Erase Resume command.
Protectio n Register Program Command
The Protection Register Program command is
used to Program the 128 bit user O ne-Time-Programmable (OTP) segment of the Protection Register. The segment is programmed 16 bits at a
time. When shipped all bits in the segment are set
to ‘1’. The user can only program the bits to ‘0’.
Two write cycles are required to issue the Protec-
tion Register Program command.
■ The first bus cycle sets up the Protection
Register Program command.
■ The second latches the Address and the Data to
be written to the Protection Register and starts
the Program/Erase Controller.
Read operations output the Status Register content after the programming has started.
The segment can be protected by programming bit
1 of the Protection Lock Register (see F igure 6,
Protection Register Memory Map). Attempting to
program a previously prot ected Protection Regis-
ter will result in a Status Register error. The protection of the Protection Register is not reversible.
The Protection Register Program cannot be suspended.
Block Lock Command
The Block Lock command is used to lock a block
and prevent Program or Erase operations from
changing the data in it. All blocks are locked at
power-up or reset.
Two Bus Write cycles are required to issue the
Block Lock command.
■ The first bus cycle sets up the Block Lock
command.
■ The second Bus Write cycle latc hes the block
address.
The lock status can be monitored for each block
using the Read Electronic Signature command.
Table. 10 shows the protection status after issuing
a Block Lock command.
The Block Lock bits are vo latile, once set they remain set until a hardware reset or power-down/
power-up. They are cleared by a Blocks Unlock
command. Refer to the section, Block Locking, for
a detailed explanation.
Block Unlock Command
The Blocks Unlock command i s used to unlock a
block, allowing the block to be programmed or
erased. Two Bus Write cycles are requ ired to issue the Blocks Unlock command.
■ The first bus cycle sets up the Block Unlock
command.
■ The second Bus Write cycle latc hes the block
address.
The lock status can be monitored for each block
using the Read Electronic Signature command.
Table. 10 shows the protection status after issuing
a Block Unlock command. Refer to the section,
Block Locking, for a detailed explanation.
Block Lock-Down Command
A locked block cannot be Programmed or Erased,
or have its protection status changed when WP
low, V
. When WP is high, V
IL
the Lock-Down
IH,
is
function is disabled and the locked blocks can be
individually unlocked by the Block Unlock command.
Two Bus Write cycles are required to issue the
Block Lock-Down command.
■ The first bus cycle sets up the Block Lock
command.
■ The second Bus Write cycle latc hes the block
address.
The lock status can be monitored for each block
using the Read Electronic Signature command.
Locked-Down blocks revert to the locked (and not
13/55
M28W640ECT, M28W640ECB
locked-down) state when the device is reset on
power-down. Table. 10 sho ws the protection sta-
Refer to the section, Block Locking, for a detailed
explanation.
Note: 1. A Locked-Down Blo ck can be lock ed "DQ0 = 1" or unlocked "DQ0 = 0" ; s ee B l ock Locking section.
Table 7. Read Protection Register and Lock Register
WordE
Lock
Unique ID 0
Unique ID 1
Unique ID 2
Unique ID 3
OTP 0
OTP 1
OTP 2
OTP 3
OTP 4
OTP 5
OTP 6
OTP 7
V
ILVILVIHVILVIH
V
ILVILVIHVILVIH
V
ILVILVIHVILVIH
0Don’t Care Block Address1000h
0Don’t Care Block Address0000h
0Don’t Care Block Address
X
(1)
100h
GWA0-A7A8-A21DQ0DQ1DQ2DQ3-DQ7 DQ8-DQ15
V
ILVILVIH
V
ILVILVIH
V
ILVILVIH
V
ILVILVIH
V
ILVILVIH
V
ILVILVIH
V
ILVILVIH
V
ILVILVIH
V
ILVILVIH
V
ILVILVIH
V
ILVILVIH
V
ILVILVIH
V
ILVILVIH
80hDon’t Care0
81hDon’t CareID dataID dataID dataID dataID data
82hDon’t CareID dataID dataID dataID dataID data
83hDon’t CareID dataID dataID dataID dataID data
84hDon’t CareID dataID dataID dataID dataID data
85hDon’t CareOTP dataOTP dataOTP dataOTP data OTP data
86hDon’t CareOTP dataOTP dataOTP dataOTP data OTP data
87hDon’t CareOTP dataOTP dataOTP dataOTP data OTP data
88hDon’t CareOTP dataOTP dataOTP dataOTP data OTP data
89hDon’t CareOTP dataOTP dataOTP dataOTP data OTP data
8AhDon’t CareOTP dataOTP dataOTP dataOTP data OTP data
8BhDon’t CareOTP dataOTP dataOTP dataOTP data OTP data
8ChDon’t CareOTP dataOTP dataOTP dataOTP data OTP data
OTP Prot.
data
000h00h
15/55
M28W640ECT, M28W640ECB
Table 8. Program , Erase Times and Program/Erase Endurance Cycl es
ParameterTest Conditions
V
Word Program
Double Word Program
Quadruple Word Program
Main Block Program
Parameter Block Program
Main Block Erase
Parameter Block Erase
Program/Erase Cycles (per Block)100,000cycles
Note: 1. Typical time to program a Main or Parameter Block using the Double Word Program and the Quadruple Word Program commands
respectively.
= V
PP
V
= 12V ±5%
PP
V
= 12V ±5%
PP
V
= 12V ±5%
PP
= V
V
PP
= 12V ±5%
V
PP
= V
V
PP
= 12V ±5%
V
PP
= V
V
PP
V
= 12V ±5%
PP
V
= V
PP
DD
DD
DD
DD
DD
MinTyp Max
M28W640EC
10200µs
10200µs
10200µs
0.16/0.08
0.02/0.01
(1)
0.325s
(1)
0.044s
110s
110s
0.410s
0.410s
5s
4s
Unit
BLOCK LOCKING
The M28W640EC features an instant, individual
block locking scheme that allo ws any block to be
locked or unlocked with no latency. This locking
scheme has three levels of protection.
■ Lock/Unlock - this first level allows software-
only control of block locking.
■ Lock-Down - this second level requires
hardware interaction before locking can be
changed.
■ V
PP
≤ V
- the third level offers a complete
PPLK
hardware protection against program and erase
on all blocks.
The protection status of each block can be set to
Locked, Unlocked, and Lock-Down. Table 10, defines all of the possible protection states (WP
DQ1, DQ0), and Appendi x C, Figure 23, shows a
flowchart for the locking operations.
Reading a Block’s Lock Status
The lock status of every block can be read in the
Read Electronic Signature mode of the device. To
enter this mode write 90h t o the device. Subsequent reads at the addres s specified in Table 6,
will output the pr otection sta tus of that bloc k. The
lock status is represented by DQ0 and DQ 1. DQ0
indicates the Block Lock/Unlock status and i s set
by the Lock comm and and cleared by the Unlock
command. It is also automatically set when entering Lock-Down. DQ1 indicates the Lock-Down status and is set by the Lock-Down command. It
cannot be cleared by software, only by a hardware
reset or power-down.
The following sections explain the operation of the
locking system.
Locked State
The default status of all blocks on power-up or after a hardware reset is L ocked (states (0,0,1) or
(1,0,1)). Locked blocks are fully protected from
any program or erase. Any program or erase operations attempted on a locked block will return an
error in the Status Register. The Status of a
Locked block can be changed to Unlocked or
Lock-Down using the appropriate software com-
,
mands. An Unlocked block can be Locked by issuing the Lock command.
Unlocked State
Unlocked blocks (states (0,0,0), (1,0,0) (1,1,0)),
can be programmed or erased. All unlocked
blocks return to the Locked state after a hardware
reset or when the device is powered-down. The
status of an unlocked block can be changed to
Locked or Locked-Down using the appropriate
software commands. A locked block can be unlocked by issuing the Unlock command.
16/55
M28W640ECT, M28W640ECB
Lock-Down State
Blocks that are Locked-Down (state (0,1,x))are
protected from program and erase operations (as
for Locked blocks) but th eir protect ion status cannot be changed using software comma nds alone.
A Locked or Unlocked block can be Locked-Down
by issuing the Lock-Down command. LockedDown blocks revert to the Locked state when the
device is reset or powered-down.
The Lock-Down function is depen dent on the WP
input pin. When WP=0 (VIL), the blocks in the
Lock-Down state (0,1,x) are protected from program, erase and protection status changes. When
=1 (VIH) the Lock-Down function is disabled
WP
(1,1,1) and Locked-Down blocks can be ind ividually unlocked to the (1,1,0) state by issuing the
software command, where they can be erased and
programmed. These blocks can then be relocked
(1,1,1) and unlocked (1,1,0) as desired while WP
remains high. When WP is low , blocks that were
previously Locked-Down return to the Lock-Down
state (0,1,x) regardless of any changes made
while WP
was high. Device reset or power-down
resets all blocks , including those in Lock-Down, to
the Locked state.
Locking Operations During Erase Suspend
Changes to block lock status can be performed
during an erase suspend by using the standard
locking command sequences to unlock, lock or
lock-down a block. This is useful in the case when
another block needs to be updated while an erase
operation is in progress.
To change block locking during an erase operation, first write the Erase Suspend command, then
check the status register until it indicates that the
erase operation has been suspended. Next write
the desired Lock com mand sequence to a block
and the lock status will be changed. After completing any desired lock, read, or program operations,
resume the erase operation with the Erase Resume command.
If a block is locked or locked-down during an erase
suspend of the same block, the locking status bits
will be changed immediately, b ut when the erase
is resumed, the erase operation will complete.
Locking operations cannot be performed du ring a
program suspend. Refer to Appendix D, Command Interface and Program/Erase Controller
State, for detailed information on which commands are valid during erase suspend.
Note: 1. The lock status is defined by the write protect pin and by DQ1 (‘1’ for a locked-down block) and DQ0 (‘1’ for a locked block) as read
in the Read El ectronic Si gnature comm and with A1 = V
2. All blocks are locked at power -up, so the default config uration is 00 1 or 101 accor di ng to WP
3. A WP
transition to VIH on a locked block will restore the previous DQ0 value, giving a 111 or 110.
and A0 = VIL.
IH
(1)
After Block
Lock-Down
Command
status.
After
transition
WP
1,1,1 or 1,1,0
(3)
18/55
STATUS REGISTER
The Status Register provides information on the
current or previous Program or Erase operation.
The various bits convey information and errors on
the operation. To read the Status register the
Read Status Register command can be issued, refer to Read Status Register Command section. To
output the contents, the Status Register is latched
on the falling edge of the Chip Enable or Output
Enable signals, and can be read until Chip Enable
or Output Enable returns to V
. Either Chip En-
IH
able or Output Enable must be toggled to updat e
the latched data.
Bus Read operations from any address always
read the Status Register during Program and
Erase operations.
The bits in the Status Register are summarized in
Table 11, Status Register Bits. Refer to Table 11
in conjunction with the following text descriptions.
Program/Erase Controller Status (Bit 7). The Progra m/Erase Controller Status bit indicates whether
the Program/Erase Controller is active or inactive.
When the Program/Erase Controller Status bit is
Low (set to ‘0’), the Program/Erase Controller is
active; when the bit is High (set to ‘1’), the Program/Erase Controller is inactive, and the device
is ready to process a new command.
The Program/Erase Controller Status is Low immediately after a Program/Erase Suspend command is issued until the Program/Erase Controller
pauses. After the Program/Erase Controller pauses the bit is High .
During Program, Erase, o perations the Program/
Erase Controller Status bit can be polled to find the
end of the operation. Other bits in the Status Register should not be tested until the Program/Erase
Controller completes the operation and the bit is
High.
After the Program/Erase Cont roller completes its
operation the Erase Status, Prog ram Status, V
PP
Status and Block Lock Status bits should be tested
for errors.
Erase Suspend Status (Bit 6). The Erase Suspend Status bit indicates that an Erase o peration
has been suspended or is going to be suspended.
When the Erase Suspend Status bit is High (set to
‘1’), a Program/Erase Suspend command has
been issued and the memory is waiting for a Program/Erase Resume command.
The Erase Suspend Status should only be considered valid when the Program/Erase Controller Status bit is High (Program/Erase Controller inactive).
Bit 7 is set within 30µs of the Program/Erase Suspend command being issued therefore the memory may still complete the operation rather than
entering the Suspend mode.
M28W640ECT, M28W640ECB
When a Program/Erase Re sume command is issued the Erase Suspend Status bit returns Low.
Erase Status (Bit 5). The Erase Status bit can be
used to identify if the memory has failed to verify
that the block has erased correctly. When the
Erase Status bit is High (set to ‘1’), the Program/
Erase Controller has applied the m aximum number of pulses to the block and still failed to verify
that the block has erased correctly. The Erase Status bit should be read once the Program/Erase
Controller Status bit is High (Program/Erase Controller inactive).
Once set High, the Erase Status bit can only be reset Low by a Clear Status Register command or a
hardware reset. If set High it should be reset before a new Program or Erase command is issued,
otherwise the new command will appear to fail.
Program Status (Bit 4). The Program Status bit
is used to identify a Program failure. When the
Program Status bit is High (set to ‘1’), the Program/Erase Controller has applied the maximum
number of pulses to the byte and still failed to verify that it has programmed correctly. The Program
Status bit should be read once the Program/Erase
Controller Status bit is High (Program/Erase Controller inactive).
Once set High, the Program Status bit can only be
reset Low by a Clear Status Register command or
a hardware reset. If set High it should be reset before a new command is issued, otherwise the new
command will appear to fail.
Status (Bit 3). The VPP Status bit can be
V
PP
used to identify an invalid v oltage on the V
during Program and Erase operations. The V
pin is only sampled at the beginning of a Program
or Erase operation. Indeterminate results can occur if V
When the V
age on the V
when the V
becomes invalid during an operation.
PP
Status bit is Low (set to ‘0’), the volt-
PP
pin was sampled at a valid voltage;
PP
Status bit is High (set to ‘1’), the V
PP
pin has a voltage that is below the VPP Lockout
Voltage, V
, the memory is protected and Pro-
PPLK
gram and Erase operations cannot be performed.
Once set High, the V
Status bit can only be reset
PP
Low by a Clear Status Register command or a
hardware reset. If set High it should be reset before a new Program or Erase command is issued,
otherwise the new command will appear to fail.
Program Suspend Status (Bit 2). The Program
Suspend Status bit indicates that a Program operation has been suspended. When the Program
Suspend Status bit is High (set to ‘1’), a Program/
Erase Suspend command has been issued and
the memory is waiting for a Program/Erase Resume command. The Program Suspend Status
should only be considered valid when the Pro-
PP
pin
PP
PP
19/55
M28W640ECT, M28W640ECB
gram/Erase Controller Status bit is High (Program/
Erase Controller inactive). Bit 2 is set wi thin 5µs of
the Program/Erase Suspend comm and being issued therefore the memory may still complete t he
operation rather than entering the Suspend mode.
When a Program/Erase Re sume command is issued the Program Suspend Status bit returns Low.
Block Protection Status (Bit 1). The Block Protection Status bit can be used to identify if a Program or Erase operation has tried to modify the
contents of a locked block.
When the Block Protection Status bit is High (set
to ‘1’), a Program or Erase operation has been attempted on a locked block.
Once set High, the Block Protection Status bit can
only be reset Low by a Clear Status Register command or a hardware reset. If set High it should be
reset before a new command is issued, otherwise
the new command will appear to fail.
Reserved (Bit 0). Bit 0 of the Status Register is
reserved. Its value must be masked.
Note: Refer to Appendix C, Flowcharts and
Pseudo Codes, for using the Status Register.
’1’
’0’
’1’Suspended
’0’In Progress or Completed
’1’Program/Erase on protected Block, Abort
’0’No operation to protected blocks
Invalid, Abort
PP
V
OK
PP
20/55
MAXIMUM RATIN G
Stressing the device ab ove the rating listed in t he
Absolute Maximum Ratings table m ay cause permanent damage to the device. These are stress
ratings only and operation of the device at these or
any other conditions ab ove those i ndicated in t he
Operating sections of this specificat ion is not im-
Table 12. Absolute Maximum Ratings
SymbolParameter
T
A
T
BIAS
T
STG
V
IO
V
, V
DD
DDQ
V
PP
Note: 1. Depends on range.
Ambient Operating Temperature
Temperature Under Bias– 40 125°C
Storage Temperature– 55 155°C
Input or Output Voltage– 0.6
Supply Voltage– 0.6 4.1V
Program Voltage– 0.613V
(1)
M28W640ECT, M28W640ECB
plied. Exposure to Absolute Maximum Rating conditions for extended periods may affect device
reliability. Refer also to the STMicroelectronics
SURE Program and ot her relevant quality documents.
Value
MinMax
– 40 85°C
V
+0.6
DDQ
Unit
V
21/55
M28W640ECT, M28W640ECB
DC AND AC PARAMETERS
This section summarizes the operat ing and measurement conditions, and the DC and AC characteristics of the device. The parameters in t he DC
and AC characteristics Tables that follow, are derived from tests performed under the Measure-
Table 13. Operating and AC Measurement Conditions
(1)
70
MinMaxMinMaxMinMaxMinMax
3.0 3.63.0 3.62.7 3.62.7 3.6V
V
Supply Voltage
DD
Parameter
ment Conditions summarized in Table 13,
Operating and AC Measurem ent Conditions. Designers should check that the operating conditions
in their circuit match the measurement conditions
when relying on the quoted parameters.
50505050pF
Input Rise and Fall Times5555ns
Input Pulse Voltages
Input and Output Timing Ref.
Voltages
Note: 1. To be characterized.
0 to V
V
DDQ
DDQ
/2V
0 to V
DDQ
DDQ
/2V
0 to V
DDQ
DDQ
/2V
0 to V
DDQ
DDQ
/2
Figure 7. AC Measurement I/O WaveformFigure 8. AC Measurement Load Circuit
V
DDQ
V
DDQ
V
/2
DDQ
0V
AI00610
V
DDQ
V
DD
25kΩ
DEVICE
UNDER
TEST
V
V
0.1µF
0.1µF
CL includes JIG capacitance
CL
Table 14. Capacitance
SymbolParameterTest ConditionMinMaxUnit
V
V
IN
OUT
= 0V
= 0V
6pF
12pF
C
IN
C
OUT
Note: Sampled only, not 10 0% tested.
Input Capacitance
Output Capacitance
22/55
25kΩ
AI00609C
M28W640ECT, M28W640ECB
Table 15. DC Characteristics
SymbolParameterTest ConditionMinTypMaxUnit
I
LI
I
LO
I
DD
I
DD1
I
DD2
I
DD3
I
DD4
I
DD5
I
PP
I
PP1
I
PP2
I
PP3
I
PP4
V
IL
V
IH
V
OL
V
OH
V
PP1
V
PPH
V
PPLK
V
LKO
Input Leakage Current
Output Leakage Current
Supply Current (Read)
Supply Current (Stand-by or
Automatic Stand-by)
Supply Current
(Reset)
Supply Current (Program)
Supply Current (Erase)
Supply Current
(Program/Erase Suspend)
Program Current
(Read or Stand-by)
Program Current
(Read or Stand-by)
Program Current (Reset)
Program Current (Program)
Program Current (Erase)
Input Low Voltage
Input High Voltage
Output Low Voltage
Output High Voltage
Program Voltage (Program or
Erase operations)
Program Voltage
(Program or Erase
operations)
Program Voltage
(Program and Erase lock-out)
VDD Supply Voltage (Program
and Erase lock-out)
0V≤ V
0V
E
= VSS, G = VIH, f = 5MHz
E
RP
RP
Program in progress
V
Program in progress
Erase in progress
V
Erase in progress
E
Erase suspended
RP
Program in progress
V
Program in progress
Erase in progress
V
Erase in progress
I
= 100µA, VDD = V
OL
V
I
= –100µA, VDD = V
OH
V
≤ V
IN
DDQ
V
≤
≤V
OUT
DDQ
= V
= V
DDQ
DDQ
± 0.2V,
± 0.2V
= VSS ± 0.2V
= 12V ± 5%
PP
V
= V
PP
DD
= 12V ± 5%
PP
V
= V
PP
DD
= V
V
V
DDQ
PP
PP
> V
≤ V
± 0.2V,
DD
DD
= VSS ± 0.2V
= 12V ± 5%
PP
= V
V
PP
DD
= 12V ± 5%
PP
= V
V
PP
DD
≥ 2.7V
V
DDQ
≥ 2.7V0.7 V
V
DDQ
DDQ
DDQ
= V
= V
DDQ
DDQ
DD
min
DD
min
min,
min,
±1µA
±10µA
918mA
1550µA
1550µA
510mA
1020mA
520mA
1020mA
1550µA
400µA
15µA
15µA
110mA
15µA
310mA
15µA
–0.50.4V
–0.50.8V
V
–0.4V
DDQ
DDQ
V
DDQ
DDQ
+0.4
+0.4
0.1V
–0.1
V
DDQ
1.653.6V
11.412.6V
1V
2V
V
V
V
23/55
M28W640ECT, M28W640ECB
Figure 9. Read AC Waveforms
tAVAV
A0-A21
tAVQV
E
tELQX
G
tGLQX
DQ0-DQ15
ADDR. VALID
CHIP ENABLE
Table 16. Read AC Characteristics
SymbolAltParameter
t
AVAV
t
AVQV
t
AXQX
t
EHQX
t
EHQZ
t
ELQV
t
ELQX
t
GHQX
t
GHQZ
t
GLQV
t
GLQX
Note: 1. Sampled only, not 100% tested.
2. G
3. To be c haracteriz ed.
t
Address Valid to Next Address ValidMin
RC
t
Address Valid to Output ValidMax
ACC
(1)
t
(1)
(1)
(2)
(1)
(1)
(1)
(2)
(1)
may be delayed by up to t
Address Transition to Output TransitionMin0000ns
OH
t
Chip Enable High to Output TransitionMin0000ns
OH
t
Chip Enable High to Output Hi-ZMax20202525ns
HZ
t
Chip Enable Low to Output ValidMax
CE
t
Chip Enable Low to Output TransitionMin0000ns
LZ
t
Output Enable High to Output TransitionMin0000ns
OH
t
Output Enable High to Output Hi-ZMax20202525ns
DF
t
Output Enable Low to Output ValidMax20203030ns
OE
t
Output Enable Low to Output TransitionMin0000ns
OLZ
ELQV
- t
after the fal ling edge of E without increasi ng t
GLQV
tELQV
tGLQV
OUTPUTS
ENABLED
VALID
VALID
DATA VALIDSTANDBY
M28W640EC
70859010
70
70
70
(3)
(3)
(3)
85 90 100ns
8590100ns
8590100ns
ELQV
tAXQX
tEHQX
tEHQZ
tGHQX
tGHQZ
AI04387
Unit
.
24/55
Figure 10. Write AC Waveforms, Write Enable Controlled
M28W640ECT, M28W640ECB
AI04388
tWHAX
PROGRAM OR ERASE
tAVAV
VALIDA0-A21
tAVWH
tWHGL
tELQV
tWHEL
tQVWPL
STATUS REGISTER
tQVVPL
READ
1st POLLING
STATUS REGISTER
OR DATA INPUT
E
tELWLtWHEH
WP
tVPHWH
PP
V
SET-UP COMMANDCONFIRM COMMAND
tWPHWH
tWHWL
G
W
tWHDXtDVWH
tWLWH
DQ0-DQ15COMMANDCMD or DATA
25/55
M28W640ECT, M28W640ECB
Table 17. Write AC Characteristics, Write Enable Controlled
SymbolA ltParameter
t
AVAV
t
Write Cycle TimeMin
WC
M28W640E C
70859010
70
(3)
8590100ns
Unit
t
AVWH
t
DVWH
t
ELWL
t
ELQV
t
QVVPL
t
QVWPL
t
VPHWH
t
WHAX
t
WHDX
t
WHEH
t
WHEL
t
WHGL
t
WHWL
t
WLWH
t
WPHWH
Note: 1. Sampled only, not 100% tested.
2. Applicable if V
3. To be c haracteriz ed.
(1,2)
(1)
t
Address Valid to Write Enable HighMin45455050ns
AS
t
Data Valid to Write Enable HighMin45455050ns
DS
t
Chip Enable Low to Write Enable LowMin0000ns
CS
Chip Enable Low to Output ValidMin
Output Valid to VPP Low
Output Valid to Write Protect LowMin0000ns
t
VPSVPP
t
AH
t
DH
t
CH
High to Write Enable High
Write Enable High to Address TransitionMin0000ns
Write Enable High to Data TransitionMin0000ns
Write Enable High to Chip Enable HighMin0000ns
Write Enable High to Chip Enable LowMin25253030ns
Write Enable High to Output Enable LowMin20203030ns
t
Write Enable High to Write Enable LowMin25253030ns
WPH
t
Write Enable Low to Write Enable HighMin45455050ns
WP
Write Protect High to Write Enable HighMin45455050ns
is seen as a logic i nput (VPP < 3.6V ).
PP
70
(3)
8590100ns
Min0000ns
Min2002 00200200ns
26/55
Figure 11. Write AC Waveforms, Chip Enable Controlled
M28W640ECT, M28W640ECB
AI04389
tEHAX
PROGRAM OR ERASE
tAVAV
VALIDA0-A21
tAVEH
tEHGL
tELQV
tQVWPL
CMD or DATASTATUS REGISTER
tQVVPL
READ
1st POLLING
STATUS REGISTER
OR DATA INPUT
CONFIRM COMMAND
W
tWLELtEHWH
WP
tVPHEH
PP
V
POWER-UP AND
SET-UP COMMAND
tWPHEH
tEHEL
G
E
tEHDX
tELEH
tDVEH
DQ0-DQ15COMMAND
27/55
M28W640ECT, M28W640ECB
Table 18. Write AC Characteristics, Chip Enable Controlled
SymbolAltParameter
t
AVAV
t
Write Cycle TimeMin
WC
M28W640EC
70859010
70
(3)
8590100ns
Unit
t
AVEH
t
DVEH
t
EHAX
t
EHDX
t
EHEL
t
EHGL
t
EHWH
t
ELEH
t
ELQV
(1,2)
t
QVVPL
t
QVWPL
t
VPHEH
t
WLEL
t
WPHEH
Note: 1. Sampled only, not 100% tested.
2. Applicable if V
3. To be c haracteriz ed.
(1)
t
Address Valid to Chip Enable HighMin45455050ns
AS
t
Data Valid to Chip Enable HighMin45455050ns
DS
Chip Enable High to Address
t
AH
Transition
t
Chip Enable High to Data TransitionMin0000ns
DH
t
Chip Enable High to Chip Enable LowMin25253030ns
CPH
Chip Enable High to Output Enable
Low
t
Chip Enable High to Write Enable HighMin0000ns
WH
t
Chip Enable Low to Chip Enable HighMin45455050ns
CP
Chip Enable Low to Output ValidMin
Output Valid to VPP Low
Data Valid to Write Protect LowMin0000ns
t
VPSVPP
t
CS
High to Chip Enable High
Write Enable Low to Chip Enable LowMin0000ns
Write Protect High to Chip Enable HighMin45455050ns
is seen as a logic i nput (VPP < 3.6V ).
PP
Min0000ns
Min25253030ns
70
(3)
8590100ns
Min0000ns
Min200200200200ns
28/55
Figure 12. Power-Up and Reset AC Waveforms
E, G
W,
RP
tPHWL
tPHEL
tPHGL
M28W640ECT, M28W640ECB
tPHWL
tPHEL
tPHGL
tVDHPH
VDD, VDDQ
Power-UpReset
Table 19. Power-Up and Reset AC Characteristics
SymbolParameterTest Condition
t
PHWL
t
PHEL
t
PHGL
t
PLPH
t
VDHPH
Note: 1. The de vice Reset is po ssible but not guarant eed if t
Reset High to Write Enable Low, Chip
Enable Low, Output Enable Low
(1,2)
Reset Low to Reset HighMin100100100100ns
(3)
Supply Voltages High to Reset HighMin50505050µs
2. Sampled only, not 100% tested.
3. It is im portant to ass ert RP
in order to all ow proper CP U i ni tializat i on during pow er up or reset .
During Program
and Erase
othersMin30303030ns
< 100ns.
PLPH
tPLPH
AI03537b
M28W640EC
Unit
70859010
Min50505050µs
29/55
M28W640ECT, M28W640ECB
PACKAGE MECHANICAL
Figure 13. TSOP48 - 48 lead Plastic Thin Small Outline, 12 x 20mm, Package Outline
A2
1N
e
E
B
N/2
D1
D
DIE
A
CP
C
TSOP-a
Note: Drawing is not to scale.
LA1α
Table 20. TSOP48 - 48 lead Plastic Thin Small Outline, 12 x 20mm, Package Mechanical Data
The Common Flash Interface is a JEDEC approved, standardized data structure that can be
read from the Flash memory device. It allows a
system software to query the device to det ermine
various electrical and t iming parameters, density
information and functions supported by the memory. The system can interface easily with the device, enabling the software to upgrade itself when
necessary.
When the CFI Query Co mmand (RCFI) is issued
the device enters CFI Query mode and the data
Table 26. Query Structure Overview
OffsetSub-section NameDescription
00hReservedReserved for algorithm-specific information
10hCFI Query Identification StringCommand set ID and algorithm data offset
1BhSystem Interface InformationDevice timing & voltage information
27hDevice Geometry DefinitionFlash device layout
Note: Query data are always presented on the lowest order data outputs.
structure is read from the memory. Tables 26 , 27,
28, 29, 30 and 31 show the addresses used to retrieve the data.
The CFI data structure also contains a security
area where a 64 bit unique security number is written (see Table 31, Security Code area). This area
can be accessed only in Read mode by the final
user. It is impossible to change t he secu rity number after it has been written by ST. Issue a Read
command to return to Read mode.
Additional information specific to the Primary
Algorithm (optional)
Additional information specific to the Alternate
Algorithm (optional)
bit 7 to 4BCD value in volts
bit 3 to 0BCD value in 100 mV
Logic Supply Maximum Program/Erase or Write voltage
V
DD
bit 7 to 4BCD value in volts
bit 3 to 0BCD value in 100 mV
V
[Programming] Supply Minimum Program/Erase voltage
PP
bit 7 to 4HEX value in volts
bit 3 to 0BCD value in 100 mV
[Programming] Supply Maximum Program/Erase voltage
V
PP
bit 7 to 4HEX value in volts
bit 3 to 0BCD value in 100 mV
n
ms
n
times typical
n
µs
n
n
ms
Typical time-out per single word program = 2
Typical time-out for Double/Quadruple Word Program = 2
Typical time-out per individual block erase = 2
Typical time-out for full chip erase = 2
Maximum time-out for Word program = 2
Maximum time-out for Double/Quadruple Word Program = 2
Maximum time-out per individual block erase = 2
Maximum time-out for chip erase = 2
n
times typical
n
times typical
µs
n
times typical
2.7V
3.6V
11.4V
12.6V
16µs
16µs
1s
NA
512µs
512µs
8s
NA
40/55
Table 29. Device Geometry Definition
Offset Word
Mode
27h0017h
28h
29h
2Ah
2Bh
2Ch0002h
DataDescriptionValue
Device Size = 2
0001h
0000h
0003h
0000h
Flash Device Interface Code description
Maximum number of bytes in multi-byte program or page = 2
Number of Erase Block Regions within the device.
It specifies the number of regions within the device containing contiguous
Erase Blocks of the same size.
n
in number of bytes
M28W640ECT, M28W640ECB
8 MByte
x16
Async.
n
8
2
2Dh
2Eh
2Fh
30h
31h
32h
M28W640ECT
33h
34h
2Dh
2Eh
2Fh
30h
31h
32h
M28W640ECB
33h
34h
007Eh
0000h
0000h
0001h
0007h
0000h
0020h
0000h
0007h
0000h
0020h
0000h
007Eh
0000h
0000h
0001h
Region 1 Information
Number of identical-size erase block = 007Eh+1
Region 1 Information
Block size in Region 1 = 0100h * 256 byte
Region 2 Information
Number of identical-size erase block = 0007h+1
Region 2 Information
Block size in Region 2 = 0020h * 256 byte
Region 1 Information
Number of identical-size erase block = 0007h+1
Region 1 Information
Block size in Region 1 = 0020h * 256 byte
Region 2 Information
Number of identical-size erase block = 007Eh=1
Region 2 Information
Block size in Region 2 = 0100h * 256 byte
127
64 KByte
8
8 KByte
8
8 KByte
127
64 KByte
41/55
M28W640ECT, M28W640ECB
Table 30. Primary Algorithm-Specific Extended Qu ery Ta bl e
This field describes user-available One Time Programmable (OTP)
Protection register bytes. Some are pre-programmed with device unique
serial numbers. Others are user 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.
80h
bit 0 to 7 Lock/bytes JEDEC-plane physical low address
bit 8 to 15Lock/bytes JEDEC-plane physical high address
bit 16 to 23 " n " such that 2n = factory pre-programmed bytes
n
bit 24 to 31 " n " such that 2
= user programmable bytes
(P+13)h = 48hReserved
Note: 1. See Table 27, offset 15 for P pointer defin i tion.
writeToFlash (addressToProgram1, dataToProgram1) ;
/*see note (3) */
writeToFlash (addressToProgram2, dataToProgram2) ;
/*see note (3) */
/*Memory enters read status state after
the Program command*/
do {
status_register=readFlash (any_address) ;
/* E or G must be toggled*/
} while (status_register.b7== 0) ;
if (status_register.b3==1) /*VPP invalid error */
error_handler ( ) ;
if (status_register.b4==1) /*program error */
error_handler ( ) ;
YES
NO
b1 = 0
YES
End
Note: 1. Status check of b1 (Protected Blo ck), b3 (VPP Invalid) and b4 (P rogram Error) can be made af t er each program ope ration or afte r
a sequence.
2. If an er ror is found, the Status Register m ust be cleared before fu rt her Program / Erase operations.
3. Address 1 and Address 2 must be consecuti ve addresse s differing only for bit A0.
Program to Protected
Block Error (1, 2)
if (status_register.b1==1) /*program to protect block error */
error_handler ( ) ;
}
AI03539b
45/55
M28W640ECT, M28W640ECB
Figure 19. Qua dr upl e Word Program Fl owchart and Pse ud o C ode
/* read status register to check if
program has already completed */
do {
status_register=readFlash (any_address) ;
/* E or G must be toggled*/
b7 = 1
YES
b2 = 1
YES
Write FFh
Read data from
another address
Write D0h
Program Continues
NO
NO
Program Complete
Write FFh
Read Data
} while (status_register.b7== 0) ;
if (status_register.b2==0) /*program completed */
{ writeToFlash (any_address, 0xFF) ;
read_data ( ) ; /*read data from another block*/
/*The device returns to Read Array
(as if program/erase suspend was not issued).*/
}
else
{ writeToFlash (any_address, 0xFF) ;
read_data ( ); /*read data from another address*/
writeToFlash (any_address, 0xD0) ;
/*write 0xD0 to resume program*/
}
}
writeToFlash (any_address, 0x70) ;
/* read status register to check if
erase has already completed */
do {
status_register=readFlash (any_address) ;
/* E or G must be toggled*/
} while (status_register.b7== 0) ;
if (status_register.b6==0) /*erase completed */
{ writeToFlash (any_address, 0xFF) ;
read_data ( ) ;
/*read data from another block*/
/*The device returns to Read Array
(as if program/erase suspend was not issued).*/
}
else
{ writeToFlash (any_address, 0xFF) ;
read_program_data ( );
/*read or program data from another address*/
writeToFlash (any_address, 0xD0) ;
/*write 0xD0 to resume erase*/
}
}
AI03542b
49/55
M28W640ECT, M28W640ECB
Figure 23. Lo ck i ng Ope rations Flowchart an d Pseudo Cod e
Note: Cmd = Command, Elect.Sg. = Electronic Signature, Pro g. = Program, Pro t = P rot ection.
Read Elect.Sg.
(90h)
Read Elec t. S g. Read CFI QueryLo ck S et up
Prog. Suspend
Read Elec t.Sg.
Prog. Suspend
Read Elec t.Sg.
Prog. Suspend
Read Elec t.Sg.
Prog. Suspend
Read Elec t.Sg.
Read Elect.Sg. Read CFIQueryLock Setup
Read Elec t. S g. Read CFI QueryLo ck S et up
Erase Suspend
Read Elec t.Sg.
Erase Suspend
Read Elec t.Sg.
Erase Suspend
Read Elec t.Sg.
Erase Suspend
Read Elec t.Sg.
Read Elec t.Sg. Read CFI QueryLock Setup
Read CFI
Query
(98h)
Prog. Suspend
Read CFI Query
Prog. Suspend
Read CFI Query
Prog. Suspend
Read CFI Query
Prog. Suspend
Read CFI Query
Erase Suspend
Read CFI Query
Erase Suspend
Read CFI Query
Erase Suspend
Read CFI Query
Erase Suspend
Read CFI Query
Lock Setup
(60h)
Protectio n Register Program
Protection Register Program (continue)
Lock SetupErase Suspe nd Read Array
Lock SetupErase Suspe nd Read Array
Lock SetupErase Suspe nd Read Array
Lock SetupErase Suspe nd Read Array
Prot. Prog.
Setup (C0h)
Prot. Prog.
Setup
Prot. Prog.
Setup
Prot. Prog.
Setup
Prot. Prog.
Setup
Prot. Prog.
Setup
Prot. Prog.
Setup
Prot. Prog.
Setup
Program (c ontinue)
Program Suspend Read Array
Program Suspend Read Array
Program Suspend Read Array
Program Suspend Read Array
Prot. Prog.
Setup
Prot. Prog.
Setup
Prot. Prog.
Setup
Lock Confirm
(01h)
Confirm (2Fh)
Lock Down
Read Array
Read Array
Read Array
Read Array
Read Array
Read Array
Read Array
Read Array
Read Array
Read Array
Unlock
Confirm
(D0h)
Program
(continue)
Program
(continue)
Program
(continue)
Program
(continue)
Erase
(continue)
Erase
(continue)
Erase
(continue)
Erase
(continue)
Erase
(continue)
53/55
M28W640ECT, M28W640ECB
REVISION HIST ORY
Table 34. Document Revision History
DateVersionRevision Details
17-Jun-2002-01First Issue
Revision numbering modified: a minor revision will be indicated by incrementing the
digit after the dot, and a major revision, by incrementing the digit before the dot
(revision version 01 equals 1.0).
Document Revision History moved to end of document.
03-Oct-20021.1
Minimum V
Protection Register Memory Map. Note removed from Table 7, Read Protection
Register and Lock Register, and DQ2 value changed.
“Double Word Program Command” and “Quadruple Word Program Command”
paragraphs clarified.
Part numbers corrected in Figures 2, 3 and 5.
voltage changed from 2.7V to 1.65V. Note removed from Figure 6,
DDQ
29-Apr-20031.2
Lead-Free Package options added (see Table 22, Ordering Information Scheme and
Table 23, Daisy Chain Ordering Scheme.)
54/55
M28W640ECT, M28W640ECB
Information furnished is believed to be ac curate and reli able. Howev er, STMicroel ectronics assumes no responsibilit y for the consequence s
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 implic ation or otherwise under any patent or patent rights of STMi croelectr onics. Specifications mentioned in thi s publicati on are subject
to change without notice. This publication supersedes and replaces all information previously supplied. STMicroelectronics products are not
authorized for use as cri tical comp onents in life support dev i ces or systems wi t hout express written ap proval of STMi croelect ro nics.
The ST log o i s registered trademark of STMicroelectronics
All other names are the property of their respective owners.
2003 ST Microelectronics - All Rights Reserved
Australia - Brazil - Canada - China - Fi nl and - France - Germany - H ong Kong - India - Israel - Ital y - Japan - Mal aysia - Malta -
Morocc o - Singapor e - S pai n - Sweden - S wi tzerland - United Kingdom - Unit ed States
STMicroelect ro n ics GRO UP OF COMPANI ES
www.st.com
55/55
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.