The M28W800C isa 8Mbit (512Kbit x16) non-volatileFlashmemorythatcanbeerasedelectrically
at the block level and programmed in-system on a
Word-by-Word basis. These operations can be
performed using a single low voltage (2.7 to 3.6V)
supply. V
1.65V. An optional 12V V
allows to drive the I/O pin down t o
DDQ
power supply is pro-
PP
vided to speed up customer programming.
The device features an asymmetrical blocked ar-
chitecture. The M 28W800C has an array of 23
blocks: 8 Parameter Blocks of 4 KWord and 15
Main Blocks of 32 KWord. M28W800CT has the
Parameter Blocks at the top of the memory address space while the M28W800CB locates the
Parameter Blocks starting from the bottom. The
memory maps are shown in Figure 5, Block Addresses.
The M28W800C features an instant, individual
block locking scheme that allows 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 addi tional
hardware protection against program and erase.
When V
PP
≤ V
all blocks are protected against
PPLK
program or erase. All blocks are l oc k ed at powerup.
Each block can be erased separately. Erase can
be suspended in order to perform ei the r read or
program in any other block and then resumed.
Program can be suspended to read data in any
other block and then resumed. Each block can be
programmed and erased over 100,000 cy cles.
The device includ es a 128 bit Protection Register
and a Security Block to increase the protection of
a system desi gn. The Protection Register is divided into two 64 bit segments, the first one contains
a unique device number writte n by ST, while the
second one is one-time-programmable by the user. The user programmable segment can be permanentlyprotected.TheSecurityBlock,
parameter bl oc k 0, can be permanently protected
by the user. Figure 6, shows the Security Block
and Protection Register Memory Map.
Program and Erase c omm ands are written to the
Command Interface of the memory. An on-chip
Program/Erase Control ler 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.
M28W800CT, M28W800CB
ThememoryisofferedinTSOP48(10X20mm)
and TFBGA46 (6.39 x 6.37mm , 0.75mm pitch)
packages and is supplied with all the bits erased
(set to ’1’).
Figure 2. Logic Diagram
V
V
DDQVPP
DD
19
A0-A18
W
E
G
RP
WP
M28W800CT
M28W800CB
V
SS
Table 1. Signal Names
A0-A18Address 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
AI03806
5/49
M28W800CT, M28W800CB
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
NC
NC
RP
V
PP
WP
NC
A18
A17
A9
A8
W
A7
A6
A5
A4
A3
A2
A1
12
M28W800CT
M28W800CB
13
2425
6/49
AI03807
Figure 4. TFBGA Connections (Top view through package)
M28W800CT, M28W800CB
87654321
A
B
C
D
E
F
V
DDQ
SS
DQ15
DQ7V
A8A11A13
DQ13
PP
RPA18
DQ11
DQ12
DQ4
WP
DQ2
DD
NC
A7V
DQ0DQ9DQ3DQ6
DQ1DQ10V
A4
A2A5A17WA10A14
A1A3A6A9A12A15
A0EDQ8DQ5DQ14A16
V
SS
G
AI03805
7/49
M28W800CT, M28W800CB
Figure 5. Block Addresses
M28W800CT
Top Boot Block Addresses
7FFFF
7F000
78FFF
78000
77FFF
70000
0FFFF
08000
07FFF
00000
4 KWords
4 KWords
32 KWords
32 KWords
32 KWords
Total of 8
4 KWord Blocks
Total of 15
32 KWord Blocks
M28W800CB
Bottom Boot Block Addresses
7FFFF
78000
77FFF
70000
0FFFF
08000
07FFF
07000
00FFF
00000
32 KWords
32 KWords
32 KWords
4 KWords
4 KWords
Total of 15
32 KWord Blocks
Total of 8
4 KWord Blocks
AI04385
Note: Also see Appendix A, Tables 24 and 25 for a full listing of the Block Addresses.
Figure 6. Security Block and Protection Reg ister Memory Map
PROTECTION REGISTER
SECURITY BLOCK
Parameter Block # 0
88h
85h
84h
81h
80h
User Programmable OTP
Unique device number
Protection Register Lock210
AI03523
8/49
SIGNAL DESCRIPTIONS
See Fig ure 2 Logic Diagram and T able 1,Signal
Names, f or a briefoverview of thesignals connected to this device.
Address Inputs (A0-A18). The Address Inputs
select the cells in the memory array to access 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 t he s elected address
during aBus Read operation or inputsa command
orthedatatobeprogrammedduringaWriteBus
operation.
Chip Enable (E
). The Chip Enable input acti-
vates the memory co ntrol logic, input buffers, decoders andsense amplifiers. When ChipEnable is
and Reset is at VIHthe device is in active
at V
IL
mode. When Chip Enable is 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 Ena ble controls
data outputs during the Bus Read operation of the
memory.
WriteEnable(W
). Th e Write Enable controls the
Bus Write operation of the memory’s Command
Interface. Thedata and address inputs are latched
ontherisingedgeofChipEnable,E,orWriteEnable, W
Write Protect (W P
, whichever occurs f irst.
). Write Protect i s an input
that gives an additional ha rdware protection for
each block. When Write Protect is at V
, the Lock-
IL
Down is enabled and the protection status of the
block cannot bechanged. When WriteProtect isat
V
, the Loc k -Down is disabled and the block can
IH
be locked or unlocked. (referto Table 6, Read Protection Register and Protection Register Lock).
Reset (RP
wareresetofthememory.WhenResetisatV
). The Reset input provides a hard-
IL
the memory is in reset mode: the outputs are high
impedance and the current consum pti on is minimized. After Reset all blocks are in the Locked
M28W800CT, M28W800CB
state. WhenReset isat V
operation. Exiting reset mode the device enters
read array mode, but a negative trans ition of Chip
Enable or a change of the address is required to
ensure valid data outputs.
Supply Voltage. VDDprovides 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 Eras e).
Supply Voltage. V
V
DDQ
power supply to the I/O pins and enables al l Outputs tobe powered independentlyfrom V
canbetiedtoVDDor can use a s eparate supply.
Program Supply Voltage. VPPis both a
V
PP
control input and a power supply pin. The two
functions are selected by the voltage range applied t o the pin. The Supply V olt age V
Program Supply Voltage V
anyorder.
is kept in a low voltage range (0V to 3.6V)
If V
PP
V
is seen as a control input. In this case a volt-
PP
age lowerthan V
PPLK
against program or erase, while V
ables these functions (see Table 14, DC Charac teristics 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 effectand program or eraseoperations continue.
is in the range 11.4V to 12.6V it acts as a
If V
PP
power supply pin. In this cond ition V
stable until the Program/Erase al gorithm is completed (see Table 16 and 17).
V
Ground. VSSis the reference for all voltage
SS
measurements.
Note: Each device in a system should have
V
DD,VDDQ
and VPPdecoupled with a 0.1µF capacitor close to the pin. See Figure 8, AC M easurement Load Circu it. Th e PCB trace widths
,
should be sufficient to carry the required V
program and erase currents.
, thedevice isin normal
IH
DDQ
PP
providesthe
canbeappliedin
gives an absolute protection
PP
DD.VDDQ
and the
DD
>V
PP1
is only
PP
must be
PP
en-
PP
9/49
M28W800CT, M28W800CB
BUS OPERATIONS
There are six standard bus operations that control
the device. These are Bus Read, Bus Write, Output Disable, Standby, Aut omatic Standby and Reset. See Table 2, Bus Operations, for a summary.
Typically glitches of less than 5ns on Chip Enable
or Write Enable are ignoredby the memory and do
not affect bus operations.
Read. Read B us opera tions 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 E nablemustbeatV
eration. The Chip Enable input sh ould be used to
enable the device. Output Enable should be used
to gat e data onto the output. The data r ead depends on the previous command written to the
memory (see Command Interface section). See
Figure 9, Read Mode AC Waveforms, and Table
15, 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. B us Write ope rations write Commands to
the mem ory or latchInput Data tobe programmed.
A write operation is initiated when Chip Enable
and Write Enable are at V
. Commands, Input Data and Addresses are
V
IH
latched on the rising edge of Write Enable or Chip
Enable, whichever occurs first.
in order t o perform a read op-
IL
with Output Enable at
IL
See Figures 10 and 11, Write AC Waveforms, and
Tables 16 and 17, Write AC Characteristics, for
details of the timing requirements.
Output Disable. The data outputs are high impedance when t he Output Enable is at V
.
IH
Standby. Standby disables most of the internal
circuitryallowing a substantialreduction of the c urrent consumption. The memory is in st and-by
when Chip Enable is at V
andthedeviceisin
IH
read mode. The power consumption is reduced to
the stand-by level and the outputs are set to high
impedance, independently f rom the OutputEnable
or Write Enable inputs. If Chip Enable switches to
V
during a program or erase operation, the de-
IH
vice enters Standby mode when finished.
Automatic Standby. Autom aticStandbypro-
vides a low power consumpt ion 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 Inputs/Out-
DD1
, and the supply
IL
puts will still output data if a bus Read operation is
in progress.
Reset. Durin g Reset mode when Output Ena ble
is Low, V
, the m emory is deselected and the out-
IL
puts are high impedance. The memory is in Reset
mode when Reset is at V
. The power cons ump-
IL
tion is reduced to theStan dby level, independently
from the Chip Enable, Output Enable or Write Enable inputs. If Reset is pulled to V
during a Pro-
SS
gram or Eras e, 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 = VILor VIH,V
10/49
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 to the memory are interpreted by the Command Interface. Com mands
consist of one or more sequential Bus Write operations. An internal Program/Erase Controller handles all t imings and verifies the correct execution
of the Program and Erase c ommands. The Program/Erase Cont roll er provides a Status Register
whose output may be r ead at any time during, to
monitor the progress of the operation, or the Program/Erase states. See Appendix 21, Table 32,
Write State Machine Current/Next, for a summary
of the Command Interface.
The Command Interface is res et 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 c ombination ofcommands willreset the device to Read mode. Refer to Table 3, Commands,
in conjunction with the text descriptions below.
Read Memory Array Command
TheReadcommandreturnsthememorytoits
Read mode. One Bus Write cycle is required to issue the Read Memory Array command and return
the memory to Read mode. Subsequent read operations will read the addressed location and output the data. When a device Reset oc c urs, the
memory defaults to Read mode.
Read Status Register Co m m and
The Status Register indi cates when a program or
erase operation is complete and the success or
failure of the operation itself. Issue a Read Status
Register comma nd to rea d the Stat us Register’s
contents. Subsequent Bus Read operations read
the Status Register at any address, until another
command isissued. See Tabl e 10, Status Register
Bits, for details on the definitions of the bits.
The Read Status Regi ster command may be issued at any time, ev en during a Program /Erase
operation. Any Read atte mpt during a Program/
Erase op eration will automatically output the content of the Stat us Register.
Read Electronic Signature Command
The Read Electronic Signature command reads
the Manufacturer and DeviceCodes and theBlock
Locking Status, or the Protection Register.
The Read Electronic Signat ure 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 Ta bles 4, 5 and 6 for
the valid address.
Read CFI Query Command
The Read Query Comm and is used to read data
from the Com mo n Flash Interface (CFI) Memory
Area, allowing programming equi pment or ap pli-
M28W800CT, M28W800CB
cations to automatically match their interface to
the characteristics of the device. One Bus Write
cycle is required to issue the Read Query C ommand. Once the command is issued subsequent
Bus Read operations read from the Common
Flash Interface Memory Area. See Appendix B,
Common Fl as h Interface, Tables 26, 27, 28, 29,
30 and 31 for details on the information contained
in the Common Flash Interface memory area.
Block Erase Command
TheBlockErasecommandcanbeusedtoerase
a block. It setsall the bits within the selected block
to ’1’. All previous data in the block is lost. If the
block is protected then the Erase operation w ill
abort, the data inthe block willnot be changed and
the Status Register will output the error.
Two Bus Write cycles are required to issue the
command.
■ Th e first bus cyclesets up the Erase c ommand.
■ Th e s econd latches the block address in the
internal state machine and starts the P ro gram/
Erase Controller.
If the second bus cycle is not Write Erase Confirm
(D0h), Status Register bits b4 and b5 are set and
the command aborts.
Erase aborts if Reset turns to V
cannot beguaranteed when theErase operation is
aborted, the block must be erased again.
During Erase operations the memory will accept
the Read Status Register command and the Program/Erase Suspend command, all other commands will be ignored. Typical Erase times are
given in Table 7, Program, E ras e Times and Program/Erase Endurance Cycles.
See Appendix C , Figure 20, 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.
■ Th e first bus cycle s ets up the Program
command.
■ Th e secondlatches theAddress andthe Datato
be written and star ts the Program/Erase
Controller.
During Program operations the memory will accept the Read S tatus Register command and the
Program/Erase Suspend c ommand. Typical Program t im es are given in Table 7, Program, Erase
Times and Program/E r as e E ndurance Cycles.
Programming aborts if Reset goes to V
integrity cannot be guaranteed when the program
operation is aborted, the block containing the
. As dat a integ rity
IL
. As data
IL
11/49
M28W800CT, M28W800CB
memory location must be erased and reprogrammed.
See Appendix C, Figure 17 , Program Flowchart
and Pseudo Code, for the flowchart for using the
Program comman d.
Double Word Program Command
Thisfeat ure isoffered toimprove the programming
throughput, writing a page of two adjacent words
in parallel.The two words must differ only for the
address A0. Programming should not be attempted when V
executed if V
isnot atV
PP
PP
is below V
PPH
. The c ommand can be
but the result is not
PPH
guaranteed.
Three bus write cycles are neces sary to issue the
Double Word Program c ommand.
■ Th e f irst bus cycle sets up the Double Word
Program Command.
■ The second bus cycle latches the Address and
theDataofthefirstwordtobewritten.
■ The third bus cyclelatches the Address and the
Data of the second word to bewritten and st arts
the Program/Erase Controlle r.
Read operations out put the Status Register content after the programming has started. 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.
Clear Status Register Command
The Clear Status Register command can be used
to reset bits 1, 3, 4 and 5 i n the Status R egister 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 t o ‘0’ when a new Program or Erase command is issued. Th e 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 Pr ogram or Erase operation. One bus
write cycle is required to issue the Program/Erase
command and pause the Program/Erase cont roller.
During Program/Erase Suspend theCommand Interface will accept the Program/Erase Resume,
Read A rray , Read StatusRegister, Read Electronic Signature and Read CFI Query commands. Additionally, if the suspend operation was Erase then
the Program, Block Lock, Block Lock-Down or
Protection Program commands will also be ac-
cepted. The block being erased may be protected
by issuing the Block Protect, BlockL oc k or Protection Program commands. When the Program/
Erase Resume command is issued the operation
will complete. Only the blocks not being erased
may be read or programmed correctly.
During a Program/Erase Su sp end, the device can
be placed in a pseudo-standby mode by taking
Chip Enable to V
Reset turns to V
. P rogram/Erase is abort ed if
IH
.
IL
See A ppendix C, Figure 19, Program or Double
Word Program Suspend & Resume Flowchart and
Pseudo Code, and Figure 21, Erase Suspend &
Resume Flowchart and Pseudo Code for flowcharts forusing the Program/Erase Suspend command.
Program/Erase Resume Command
The Program/Erase Resume command can be
used to restart the Program/Eras e Controller after
a Program/Erase Suspend operation has paused
it. One Bus W rite cycle is required to issue the
command. Once the command is issued subsequent Bus Read operations read the Status Register.
See A ppendix C, Figure 19, Program or Double
Word Program Suspend & Resume Flowchart and
Pseudo Code, and Figure 21, Erase Suspend &
Resume Flowchart and Pseudo Code for flowcharts for using the Program/Erase Resume command.
Protection Register Program Command
The Protection Register P rogram command is
used to P rogram the 64 bit user One-Time-Programmable (OTP) segment of the Protection Register. The segment is program med 16 bits at a
time. When shipped all bits in the segm ent are set
to ‘1’. The user can onlyprogram the bits to ‘0’.
Two write cycles are required to issue the Protection Register Program command.
■ Th e first bus cycle s ets up the Prot ec ti on
Register Program command.
■ Th e secondlatches theAddress andthe Datato
be written to the Protection Register and starts
the Program/Erase Controlle r.
Read operations out put the Status Register content after the programming has started.
The segment can be protected by program mi ng bit
1 of the Protection Loc k Register. Bit 1 of the Protection Lock Register protects bit 2 of the Protection Lock Register. Programming bit 2 of the
Protection Lock Register wi ll result in a permanent
protection of the Security Block (see Figure 6 , Security Block and Protection Register Memory
Map). Attempting to program a previously protected Protection Register will result in a Status Register error. The protection of the Protection
12/49
M28W800CT, M28W800CB
Register and/or the Security Block is not reversible.
The Protection Register Program cannot be suspended. See Appendix C, Figure 23, Protection
Register Program Flowchart and P s eudo Code,
for the flowchart for using the Protection Register
Program comman d.
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 lock ed at
power-up or reset.
Two Bus Write cycles are required to issue the
Block Lock comm and.
■ Th e first bus cycle s ets up the Block Lock
command.
■ The second Bus Write cycle latches the block
address.
The lock status c an be monitored f or each block
using the Read E lectronic Signature command.
Table. 9 shows the protection statu s after issuing
a Block Lock command.
The Block Lock bits are volatile, 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 Lo cking, for
a detailed explanatio n.
Block Unlock Command
The Blocks Unlock command is used to u nlock a
block, allowing the block to be programmed or
erased. Two Bus Write cy cles are required to issue the Blocks Unl ock command.
■ Th e first bus cycle s ets up the Block Unlock
command.
■ The second Bus Write cycle latches the block
address.
The lock status c an be monitored f or each block
using the Read E lectronic Signature command.
Table. 9 shows the protection statu s 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
.WhenWPis high, V
IL
the Lock-Down
IH,
function is disabled and the locked blocks can be
individually unlocked by the Block Unlo ck command.
Two Bus Write cycles are required to issue the
Block Lock-Down com mand.
■ Th e first bus cycle s ets up the Block Lock
command.
■ The second Bus Write cycle latches the block
address.
The lock status c an be monitored f or each block
using the Read E lectronic Signature command.
Locked-Down blocks revert to the locked (and not
locked-down) state when the device is reset on
power-down. Table. 9 shows the protection status
after issuing a Block Lock-Down command. Refer
to the section, Block Locking, for a detai led explanation.
Note: 1. A Locked-Down Block can be locked "DQ0 = 1" or unlocked "DQ0 = 0"; see Block Locking section.
V
ILVILVIHVILVIH
VILVILVIHVILV
V
ILVILVIHVILVIH
0Don't Care Block Address1000h
0Don't Care Block Address0000h
IH
0Don't Care Block Address
Table 6. Read Pr otecti on 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
GWA0-A7A8-A18DQ0DQ1DQ2DQ3-DQ7 DQ8-DQ15
V
ILVILVIH
V
ILVILVIH
VILVILV
V
ILVILVIH
V
ILVILVIH
V
ILVILVIH
V
ILVILVIH
V
ILVILVIH
V
ILVILVIH
80hDon'tCare0
OTP Prot.
data
81hDon't CareID dataID dataID dataID dataID data
82hDon't CareID dataID dataID dataID dataID data
IH
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
Security
prot. data
(1)
X
00h00h
100h
Table 7. Pro gram, Erase Times and Program/Erase Endurance Cycles
ParameterTest Conditions
Word Program
Double Word Program
Main Block Program
Parameter Block Program
Main Block Erase
Parameter Block Erase
V
PP=VDD
V
=12V±5%
PP
=12V±5%
V
PP
V
PP=VDD
=12V±5%
V
PP
V
PP=VDD
=12V±5%
V
PP
V
PP=VDD
=12V±5%
V
PP
V
PP=VDD
Program/Erase Cycles (per Block)100,000cycles
M28W800C
Unit
MinTypMax
10200µs
10200µs
0.165s
0.325s
0.024s
0.044s
110 s
110 s
0.810s
0.810s
15/49
M28W800CT, M28W800CB
BLOCK LOCKING
The M28W800C features an instant, individual
block locking scheme that allows any block to be
lockedorunlockedwithnolatency.Thislocking
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
Thelockstatusofeachblockcanbesetto
Locked, Unlocked, and Lock-Down. Table 9, defines all of the possible protection states (W P
DQ1, DQ0), an d Appendix C, Figure 22, shows a
flowchart for the loc k ing operations.
ReadingaBlock’sLockStatus
The lock status of every block can be read in the
Read Electronic Signature mode of the device. To
enter this mode write 90h to the device. Subsequent reads at the address specified in Table 5,
will output the lock status of that block. The lock
status is represented by DQ0 and DQ1. DQ0 indicates the Block Lock/Unlock status and is set by
the Lock command and cleared by the Unlock
command. It is also automatically set w hen enteringLock-Down.DQ 1 indicates theLock-Down status and is set by the Lock-Down command. It
cannot becle ared by software, only by a hardware
reset or power-down.
The following sections explain the operat ion of the
locking system.
Locked State
The default status of all blocks on power-up or a fter a hardware reset is Locked (states (0,0,1) or
(1,0,1)). L oc ked block s are fully protected from
any program orerase. Any program orerase 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 commands.An Unlocked block can beLocked byissuing the Lock c ommand.
Unlocked State
Unlocked b lock s (states (0,0,0), (1,0,0) (1,1, 0)),
can be programmed or erased. All unlocked
blocks returnto the Locked state after a hardware
reset or when the device is powered-down. The
status of an unlocked bloc k can be changed to
Locked or Locked-Down using the appropriate
PP
≤ V
- the third level offers a complete
PPLK
hardware protec tion against programand erase
on all blocks.
,
software commands. A locked block can be unlocked by issuing the Unlock command.
Lock-Down State
Blocks that are Locked-Down (state (0,1,x))are
protected from program and erase operations (as
for Locked blocks) but their lock status cannot be
changed using software commands alone. A
Lockedor U nlocked blockcanbe Locked-Downby
issuing the Lock-Dow n command. L ocke d-Down
blocks revert to the Locked state when the device
is reset or powered-down.
The Loc k-Do wn function is dependent on t he 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 Loc k ed-Down blocks can be individually unlocked to the (1,1,0) state by issuing the
software command, w here they canbe erasedand
programmed. These blocks can then be relocked
(1,1,1) and unlocked (1,1,0) as desired wh ile WP
remains hig h. 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 allblocks , including those in Lock-Down, to
the Locked state.
Locking Operation s 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 indic ates that the
erase operation has been suspended. Next write
the desired Lock command sequence to a block
and the protection 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 duringan erase
suspend of the same block, the locking status bits
will be changed immediately, but w hen the erase
is resumed, the erase operation will complete.
Locking operations cannot be performed during a
program su sp end. 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 protection 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 Electronic Signature command with A1 = V
2. All blocks are locked at power-up, so the default configuration is 001 or 101 according to WP
3. A WP
transition to VIHon a locked block will restore the previous DQ0 value, giving a 111 or 110.
andA0=VIL.
IH
(1)
After Block
Lock-Down
Command
status.
After
transition
WP
1,1,1 or 1,1,0
(3)
17/49
M28W800CT, M28W800CB
STATUS REGISTER
The Stat us Register provides information on t he
current or previous Program or Erase operation.
The various bits convey information and errors on
the operation. To read the Status register the
Read S t atu s Register commandcan 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
able or Output Enable must be toggled to update
the latched data.
Bus R ead operations from any address always
read the Status Register during Program and
Erase operations.
The bits in the Status Register are summarized in
Table 10, Status Regist er Bits. Refer to Table 10
in conjunction with the following text descriptions.
Program/Erase Controller Status (Bit 7). The Program/Erase Controller Status bit indi cates 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 i s 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 Cont roller
pauses. After the Program/Erase Controller pauses the bit is High .
During Program, Erase, operations the Program/
EraseControllerStatusbitcanbepolledtofindthe
end of the operation. Other bit s 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 Controller completes its
operation the Erase Status, Program Status, V
Status andBlock Lock Status bitsshould be tested
for errors.
Erase Suspend Status (Bit 6). T he Erase Suspend Status bit indicates that an Erase operation
has been suspended or is going to be suspended.
When the Erase Suspend Status bit isH igh (set to
‘1’), a Program /Erase Suspend comman d 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 ControllerStatus bitis High (Program/Erase Controller inactive).
Bit 7 is set within 30µs of the Program/Erase Sus pend command being issued therefore the memory may still complete the operation rather than
entering the Suspend mode.
. Either Chip En-
IH
PP
When a Program/Erase Resume command is issued the Erase Suspend Status bit re turns Low.
Erase Status (Bit 5). The EraseStatus bit ca n be
used to identify if the memory has failed to verify
that the block has erased correctly. When the
Erase Status bit i s High (set to ‘1’), the Program/
Erase Controller has applied the maximum number of pulses to the block and still failed to verify
thatthe block haserased correctly.The Erase Status bit s hould be read once the Program/Erase
Controller Status bit is High (Program/Erase Controller inactive).
Once setHigh, the Erase Status bitcan only be reset Low by a Clear Status Re giste r command or a
hardware reset. If set High it should be reset before a new Program or Eras e command is issued,
otherwise the new command will appear to fail.
Program Status (Bit 4). The Program St atu s bit
is used to identify a Program failure. When the
Program Status bi t 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 comm and 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 VPPStatus bit can be
V
PP
used to identify an invalid voltage on the V
during Program and Eras e operations. The V
PP
pin
PP
pin is only sampled at the beginning of a Program
or Erase operation. Indeterminate results can occur if V
When theV
age on theV
when theV
becomes invalid during an operat ion.
PP
Status bitis Low (set to ‘0’),the volt-
PP
pin wassampled at avali d voltage;
PP
Status bit is High (set to‘1’), the V
PP
PP
pin has a voltage th at is below the VPPLockout
Voltage, V
, the memory is protected and Pro-
PPLK
gram and Erase operations cannot be performed.
Onceset High, the V
Status bitcan onlybe 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 Eras e 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 waitin g f or a Program/Erase Resume command. The Program Suspend Status
should only be considered valid when the Pro-
18/49
M28W800CT, M28W800CB
gram/Erase ControllerStatus bit is High (Program/
Erase Controller inactive). Bit2 is set within 5µs of
the Program/Erase Suspen d command being issued therefore the memory may still complete the
operation rather than entering the Suspend mode.
When a Program/Erase Resume command is issued t he Program Suspend S tatus bitreturns Low.
Block Protection Status (Bit 1). The Block ProtectionStatusbitcanbeusedtoidentifyifaProgram or Erase operation has tried to modify the
contents of a locked block.
When the B lock Protection Status bit is High (set
to ‘1’), a Program or Erase operation has b een attemptedonalockedblock.
Once set High, the Block Protection Status bi t can
only be resetL ow by a Clear Status Register command or a hardware reset. If set High it should be
reset before a new command is issued, otherwise
thenewcommandwillappeartofail.
Reserved (Bit 0). Bit 0 of the Status Register is
reserved. Its value must be masked.
Note: Refer to Appendix C, F lowch arts and
Pseudo Codes, for u sing the Status Register.
'1'
'0'
'1'Suspended
'0'InProgress or Completed
'1'Program/Erase on protected Block, Abort
'0'Nooperation to protected blocks
VPPInvalid, Abort
OK
V
PP
19/49
M28W800CT, M28W800CB
MAXIMUM RATING
Stressingthedeviceabovetheratinglistedinthe
Absolute Maximum Ratings table may c ause permanent damage to the device. These are stress
ratings onlyand operation of the device at theseor
any other conditions above those indicated in t he
Operating sections of this specif ication is not im-
Table 11. Abso lu te Maximum Ratings
SymbolParameter
T
A
T
BIAS
T
STG
V
IO
V
DD,VDDQ
V
PP
Note: 1. Depends on range.
Ambient Operating Temperature
Temperature Under Bias– 40125°C
Storage Temperature– 55155°C
Input or Output Voltage– 0.6
Supply Voltage– 0.64.1V
Program Voltage– 0.613V
(1)
plied. Exposure to Absolute Maximum Rating conditions for extended periods may affect device
reliability. Refer also to the STMicroelectronics
SURE Program and other relevant quality doc uments.
Value
MinMax
–4085°C
V
+0.6
DDQ
Unit
V
20/49
DC AND AC PARAMETERS
This s ec t ion summ arizes the operating and measurement condit ions, and the D C and AC characteristics of the device. The parameters in the DC
and AC characteristics Tables that follow, are derived from tests perform ed under the Measure-
ment Conditions summari ze din Table 12,
Operating and AC Meas urement Conditions. Designers should check that the operating conditions
in their circuit match the measureme nt conditions
when relying on the quoted parameters.
Table 12. Operating and AC Measuremen t Conditions
50505050pF
Input Rise and Fall Times5555ns
Input Pulse Voltages
Input and Output Timing Ref.
Voltages
0toV
V
DDQ
DDQ
/2V
0toV
DDQ
DDQ
/2V
0toV
DDQ
DDQ
/2V
0toV
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Ω
Units
V
V
DEVICE
UNDER
TEST
0.1µF
0.1µF
CL includes JIG capacitance
CL
Table 13. Capacitance
SymbolParameterTest ConditionMinMaxUnit
V
V
OUT
IN
=0V
=0V
6pF
12pF
C
IN
C
OUT
Note: Sampled only, not 100% tested.
Input Capacitance
Output Capacitance
25kΩ
AI00609C
21/49
M28W800CT, M28W800CB
Table 14. DC Ch aracteristics
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)
VDDSupply 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=VDDmin,
OL
V
DDQ=VDDQ
I
= –100µA, VDD=VDDmin,
OH
V
DDQ=VDDQ
≤ V
IN
DDQ
≤ V
OUT≤VDDQ
=V
=V
DDQ
DDQ
±0.2V,
± 0.2V
=VSS± 0.2V
=12V±5%
PP
V
PP=VDD
=12V±5%
PP
V
PP=VDD
=V
DDQ
V
PP>VDD
≤ V
V
PP
±0.2V,
DD
=VSS± 0.2V
=12V±5%
PP
V
PP=VDD
=12V±5%
PP
V
PP=VDD
≥ 2.7V
V
DDQ
≥ 2.7V0.7 V
V
DDQ
min
min
±1µA
±10µA
1020mA
1550µA
1550µA
1020mA
1020mA
520mA
520mA
50µA
400µA
5µA
5µA
10mA
5µA
10mA
5µA
–0.50.4V
–0.50.8V
V
–0.4V
DDQ
DDQ
V
DDQ
DDQ
+0.4
+0.4
0.1V
V
–0.1
DDQ
1.653.6V
11.412.6V
1V
2V
V
V
V
22/49
Figure 9. Read M ode AC Waveforms
M28W800CT, M28W800CB
tAVAV
A0-A18
tAVQV
E
tELQX
G
tGLQX
DQ0-DQ15
ADDR. VALID
CHIP ENABLE
Table 15. 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
t
Address Valid to Next Address ValidMin708590100ns
RC
t
Address Valid to Output ValidMax708590100ns
ACC
(1)
t
Address Transition to Output TransitionMin0000ns
OH
(1)
t
Chip Enable High to Output TransitionMin0000ns
OH
(1)
t
Chip Enable High to Output Hi-ZMax20202530ns
HZ
(2)
t
Chip Enable Low to Output ValidMax708590100ns
CE
(1)
t
Chip Enable Low to Output TransitionMin0000ns
LZ
(1)
t
Output Enable High to Output TransitionMin0000ns
OH
(1)
t
Output Enable High to Output Hi-ZMax20202530ns
DF
(2)
t
Output Enable Low to Output ValidMax20203035ns
OE
(1)
t
Output Enable Low to Output TransitionMin0000ns
OLZ
maybe delayed by up to t
ELQV-tGLQV
after the falling edge of E without increasing t
tELQV
tGLQV
OUTPUTS
ENABLED
VALID
tEHQX
tEHQZ
tGHQX
tGHQZ
VALID
DATA VALIDSTANDBY
M28W800C
708590100
.
ELQV
tAXQX
AI03808b
Unit
23/49
M28W800CT, M28W800CB
Figure 10. Write AC Waveforms, Write Enable Controlled
AI03809b
tWHAX
PROGRAM OR ERASE
tAVAV
VALIDA0-A18
tAVWH
tWHGL
tELQV
tWHEL
tQVWPL
STATUS REGISTER
tQVVPL
READ
1st POLLING
STATUS REGISTER
OR DATA INPUT
24/49
E
tELWLtWHEH
WP
tVPHWH
PP
V
SET-UP COMMANDCONFIRM COMMAND
tWPHWH
tWHWL
G
W
tWHDXtDVWH
tWLWH
DQ0-DQ15COMMANDCMD or DATA
Table 16. Write A C Characteristics, Write Enable Controlled
SymbolAltParameter
t
AVAV
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
(1,2)
(1)
t
Write Cycle TimeMin708590100ns
WC
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 ValidMin708590100ns
Output Valid to VPPLow
Min0000ns
Output Valid to Write Protect LowMin0000ns
t
VPSVPP
t
AH
t
DH
t
CH
High to Write Enable High
Min200200200200ns
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 input (VPP<3.6V).
PP
M28W800CT, M28W800CB
M28W800C
Unit
708590100
25/49
M28W800CT, M28W800CB
Figure 11. Write AC Waveforms, Chip Enable Controlled
AI03810b
tEHAX
PROGRAM OR ERASE
tAVAV
VALIDA0-A18
tAVEH
tEHGL
tELQV
tQVWPL
CMD or DATASTATUS REGISTER
tQVVPL
READ
1st POLLING
STATUS REGISTER
OR DATA INPUT
CONFIRM COMMAND
26/49
W
tWLELtEHWH
WP
tVPHEH
PP
V
POWER-UP AND
SET-UP COMMAND
tWPHEH
tEHEL
G
E
tEHDX
tELEH
tDVEH
DQ0-DQ15COMMAND
Table 17. Write A C Characteristics, Chip Enable Controlled
SymbolAltParameter
t
AVAV
t
AVEH
t
DVEH
t
EHAX
t
EHDX
t
EHEL
t
EHGL
t
EHWH
t
ELEH
t
ELQV
t
QVVPL
t
QVWPL
t
VPHEH
t
WLEL
t
WPHEH
Note: 1. Sampled only, not 100% tested.
2. Applicable if V
(1,2)
(1)
t
Write Cycle TimeMin708590100ns
WC
t
Address Valid to Chip Enable HighMin45455050ns
AS
t
Data Valid to Chip Enable HighMin45455050ns
DS
t
Chip Enable High to Address TransitionMin0000ns
AH
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
Min25253030ns
Chip Enable Low to Output ValidMin708590100ns
Output Valid to VPPLow
Min0000ns
Data Valid to Write Protect LowMin0000ns
t
VPSVPP
t
CS
High to Chip Enable High
Min200200200200ns
Write Enable Low to Chip Enable LowMin0000ns
Write Protect High to Chip Enable HighMin45455050ns
is seen as a logic input (VPP<3.6V).
PP
M28W800CT, M28W800CB
M28W800C
Unit
708590100
27/49
M28W800CT, M28W800CB
Figure 12. Power-Up and Reset AC Waveforms
E, G
W,
RP
tPHWL
tPHEL
tPHGL
tPHWL
tPHEL
tPHGL
tVDHPH
VDD, VDDQ
Power-UpReset
Table 18. Power-Up and Reset AC Characteri stics
SymbolParameterTest Condition
t
PHWL
t
PHEL
t
PHGL
t
PLPH
t
VDHPH
Note: 1. The device Reset is possible but not guaranteed 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 important to assert RP
in order to allow proper CPU initialization during power up or reset.
PLPH
During
Program
and Erase
othersMin30303030ns
< 100ns.
tPLPH
AI03537b
M28W800C
Unit
708590100
Min50505050µs
28/49
M28W800CT, M28W800CB
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 19. TSOP 48 - 48 lead Pla stic Thin Small Outline, 12 x 20mm, Package Mechanical Data
N = TSOP48: 12 x 20 mm
ZB = TFBGA46: 6.39 x 6.37mm, 0.75 mm pitch
Temperature Range
1 = 0 to 70 °C
6 = –40 to 85 °C
Option
T = Tape & Reel Packing
Table 22.Daisy Chain Ordering Scheme
Example:M28W800C-ZB T
Device Type
M28W800C
Daisy Chain
-ZB = TFBGA46: 6.39 x 6.37mm, 0.75 mm pitch
Option
T = Tape & Reel Packing
Note:Devices areshipped from thefactory with thememory content bitserased to ’1’.For a listof available
options (Speed, Pack age, etc...) or forfurther information on any aspect of this device, ple as e contact
the ST Sales Office nearest to you.
32/49
M28W800CT, M28W800CB
REVISION HISTORY
Table 23. Docum ent Revision History
DateVersionRevision Details
January 2001-01First Issue
10-May-2001-02Completely rewritten and restructured, 70ns and 85ns speed class added.
29-May-2001-03Corrections to CFI data and Block Address Table.
31-May-2001-04Package changes - TFBGA45 replaced by TFBGA46.
02-Jul-2001-05Corrections to Table 3. Commands (Lock, Unlock, Lock-Down)
Document status changed from Preliminary Data to Datasheet
V
Maximum changed to 3.3V
31-Oct-2001-06
16-May-2002-07
DDQ
Commands Table, Read CFI Query Address on 1st cycle changed to ‘X’ (Table 3)
description clarified (Table 16)
t
WHEL
V
Maximum changed to 3.6V, TFBGA package dimensions added to description.
TheCommonFlashInterfaceisaJEDECapproved, standardized data structure that can be
read from the Flash memory device. It allows a
system software to query the device to determine
various electrical and timing param eters, density
information and functions supported by the memory. The system can i nterface easily with the device, enabling th e software to upgrad e itself when
necessary.
When the CFI Query Command (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
Note: Query data are alwayspresentedon the lowest orderdata outputs.
structure is read from the m emory. Tables 26, 27,
28, 29, 30 and 31 show the addresses us ed to retrieve the data.
The CFI data structu re also contains a security
area where a 64 bit unique security number iswritten (see Table 31, Security Code area). T his area
can be accessed only in Read mode by the final
user. It is im pos sible to change the security 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
[Programming] Supply Minimum Program/Erase voltage
V
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
Typical time-out per single word program = 2
Typical time-out for Double Word Program = 2
Typical time-out per individual block erase = 2
Typical time-out for full chip erase = 2
n
Maximum time-out for word program = 2
Maximum time-out for Double Word Program = 2
Maximum time-out per individual block erase = 2
n
Maximum time-out for chip erase = 2
times typical
µs
n
n
ms
n
times typical
µs
ms
n
n
times typical
times typical
2.7V
3.6V
11.4V
12.6V
16µs
16µs
1s
NA
512µs
512µs
8s
NA
36/49
Table 29. Device Geometry Definition
Offset Word
Mode
27h0014h
28h
29h
2Ah
2Bh
2Ch0002h
2Dh
2Eh
2Fh
30h
31h
32h
M28W800CT
33h
34h
2Dh
2Eh
2Fh
30h
31h
32h
M28W800CB
33h
34h
DataDescriptionValue
Device Size = 2
0001h
0000h
0002h
0000h
000Eh
0000h
0000h
0001h
0007h
0000h
0020h
0000h
0007h
0000h
0020h
0000h
000Eh
0000h
0000h
0001h
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.
Region 1 Information
Number of identical-size erase block = 000Eh+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 = 000Eh+1
Region 2 Information
Block size in Region 2 = 0100h * 256 byte
n
in number of bytes
M28W800CT, M28W800CB
1 MByte
x16
Async.
n
4
2
15
64 KByte
8
8 KByte
8
8 KByte
15
64 KByte
37/49
M28W800CT, M28W800CB
Table 30. Primary Algorithm-Specific Extend ed Query Table
bit 0Chip Erase supported(1 = Yes, 0 = No)
bit 1Suspend Erase supported(1 = Yes, 0 = No)
bit 2Suspend Program supported(1 = Yes, 0 = No)
bit 3Legacy Lock/Unlock supported(1 = Yes, 0 = No)
bit 4Queued Erase supported(1 = Yes, 0 = No)
bit 5Instant individual block locking supported (1 = Yes, 0 = No)
bit 6Protection bits supported(1 = Yes, 0 = No)
bit 7Page mode read supported(1 = Yes, 0 = No)
bit 8Synchronous read supported(1 = Yes, 0 = No)
bit 31 to 9Reserved; undefined bits are ‘0’
No
Yes
Yes
No
No
Yes
Yes
No
No
(P+9)h = 3Eh0001hSupported Functions after Suspend
Read Array, Read Status Register and CFI Query are always supported
during Erase or Program operation
bit 0Program supported after Erase Suspend (1 = Yes, 0 = No)
bit 7 to 1Reserved; undefined bits are ‘0’Yes
(P+A)h = 3Fh0003hBlock Lock Status
(P+B)h = 40h0000h
Defines which bits in the Block Status Register section of the Query are
implemented.
Address (P+A)h contains less significant byte
bit 0Block Lock Status Register Lock/Unlock bit active(1 = Yes, 0 = No)
bit 1Block Lock Status Register Lock-Down bit active (1 = Yes, 0 = No)
Yes
Yes
bit 15 to 2Reserved for future use; undefined bits are ‘0’
(P+C)h = 41h0030hV
Logic Supply Optimum Program/Erase voltage (highest performance)
DD
3V
bit 7 to 4HEX value in volts
bit 3 to 0BCD value in 100 mV
(P+D)h = 42h00C0hV
Supply Optimum Program/Erase voltage
PP
12V
bit 7 to 4HEX value in volts
bit 3 to 0BCD value in 100 mV
(P+E)h = 43h0001hNumber of Protection register fields in JEDEC ID space.
01
"00h," indicates that 256 protection bytes are available
(P+F)h = 44h0080hProtection Field 1: Protection Description
(P+10)h = 45h0000h00h
(P+11)h = 46h0003h8 Byte
(P+12)h = 47h0003h8 Byte
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 7Lock/bytes JEDEC-plane physical low address
bit 8 to 15Lock/bytes JEDEC-plane physical high address
n
bit 16 to 23 "n" such that 2
bit 24 to 31 "n" such that 2
= factory pre-programmed bytes
n
= user programmable bytes
(P+13)h = 48hReserved
Note: 1. See Table 27, offset 15 for P pointer definition.
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 Block), b3 (VPPInvalid) and b4 (Program Error) can be made after each program operation or after
a sequence.
2. If an error is found, the Status Register must be cleared before further Program/Erase operations.
3. Address 1 and Address 2 must be consecutive addresses differing only for bit A0.
Program to Protected
Block Error (1, 2)
if (status_register.b1==1) /*program to protect block error */
error_handler ( ) ;
/* 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*/
}
}
44/49
AI03542b
Figure 22. Locking Operations Flowchart and Pseudo Code
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.
The ST logo is registered trademark of STMicroelectronics
All other names are the property of their respective owners.
2002 STMicroelectronics - All Rights Reserved
Australia - Brazil - Canada - China - Finland - France - Germany - Hong Kong - India - Israel - Italy - Japan - Malaysia - Malta -
Morocco - Singapore - Spain - Sweden - Switzerland - United Kingdom - United States
STMicroelectronics GROUP OF COMPANIES
www.st.com
49/49
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.