STMICROELECTRONICS M59DR032E120N6T

M59DR032A
M59DR032B
32 Mbit (2Mb x16, Dual Bank, Page) Low Voltage Flash Memory
PRELIMINARY DATA
■
SUPPLY VOLTAGE
– VDD = VDDQ = 1.65V to 2.2V: for Program,
Erase and Read
– VPP = 12V: optional Supply Voltage for fast
Program and Erase
■
ASYNCHRONOUS PAGE MODE READ
BGA
– Page Width: 4 words
– Page Access: 35ns
– Random Access: 100ns
■
PROGRAMMING TIME
TSOP48 (N)
12 x 20mm
FBGA48 (ZB)
8 x 6 solder balls
– 10µs by Word typical
– Double Word Programming Option
■
MEMORY BLOCKS
– Dual Bank Memory Array: 4 Mbit - 28 Mbit
Figure 1. Logic Diagram
– Parameter Blocks (Top or Bottom location)
– Main Blocks
■
DUAL BANK OPERATIONS
– Read within one Bank while Program or
Erase within the other
VDD VDDQ VPP
– No delay between Read and Write operations
■
21
BLOCK PROTECTION/UNPROTECTION
– All Blocks protected at Power Up
– Any combination of Blocks can be protected
– WP for Block Locking
A0-A20
E
COMMON FLASH INTERFACE (CFI)
■
64 bit SECURITY CODE
■
ERASE SUSPEND and RESUME MODES
RP
■
100,000 PROGRAM/ERASE CYCLES per
BLOCK
WP
■
20 YEARS DATA RETENTION
– Defectivity below 1ppm/year
ELECTRONIC SIGNATURE
DQ0-DQ15
W
■
■
16
G
M59DR032A
M59DR032B
VSS
AI02544B
– Manufacturer Code: 20h
– Device Code, M59DR032A: A0h
– Device Code, M59DR032B: A1h
October 1999
This is preliminary information on a new product now in development or undergoing evaluation. Details are subject to change without notice.
1/38
M59DR032A, M59DR032B
Figure 2A. FBGA Connections (Top View)
1
2
3
A
A13
A11
A8
B
A14
A10
C
A15
D
4
5
6
7
8
VPP
WP
A19
A7
A4
W
RP
A18
A17
A5
A2
A12
A9
DU
A20
A6
A3
A1
A16
DQ14
DQ5
DQ11
DQ2
DQ8
E
A0
E
VDDQ
DQ15
DQ6
DQ12
DQ3
DQ9
DQ0
VSS
F
VSS
DQ7
DQ13
DQ4
VDD
DQ10
DQ1
G
AI02532C
Figure 2B. TSOP Connections
A15
A14
A13
A12
A11
A10
A9
A8
NC
A20
W
RP
VPP
WP
A19
A18
A17
A7
A6
A5
A4
A3
A2
A1
1
12
13
24
48
M59DR032A
M59DR032B
37
36
25
AI02533B
2/38
Table 1. Signal Names
A16
VDDQ
VSS
DQ15
DQ7
DQ14
DQ6
DQ13
DQ5
DQ12
DQ4
VDD
DQ11
DQ3
DQ10
DQ2
DQ9
DQ1
DQ8
DQ0
G
VSS
E
A0
A0-A20
Address Inputs
DQ0-DQ15
Data Input/Outputs, Command Inputs
E
Chip Enable
G
Output Enable
W
Write Enable
RP
Reset/Power Down
WP
Write Protect
VDD
Circuitry Supply Voltage
VDDQ
Input/Output Buffers Supply Voltage
VPP
Optional Supply Voltage for
Fast Program & Erase
VSS
Ground
NC
Not Connected Internally
DU
Don’t use as internally connected
M59DR032A, M59DR032B
Table 2. Absolute Maximum Ratings (1)
Symbol
Value
Unit
Ambient Operating Temperature (2)
–40 to 85
°C
TBIAS
Temperature Under Bias
–40 to 125
°C
TSTG
Storage Temperature
–55 to 155
°C
VIO (3)
Input or Output Voltage
–0.5 to VDDQ+0.5
V
Supply Voltage
–0.5 to 2.7
V
Program Voltage
–0.5 to 13
V
TA
VDD, VDDQ
VPP
Parameter
Note: 1. Except for the rating "Operating Temperature Range", stresses above those listed in the Table "Absolute Maximum Ratings" may
cause permanent damage to the device. These are stress ratings only and operation of the device at these or any other conditions
above those indicated in the Operating sections of this specification is not implied. Exposure to Absolute Maximum Rating conditions for extended periods may affect device reliability. Refer also to the STMicroelectronics SURE Program and other relevant quality documents.
2. Depends on range.
3. Minimum Voltage may undershoot to –2V during transition and for less than 20ns.
DESCRIPTION
The M59DR032 is a 32 Mbit non-volatile Flash
memory that may be erased electrically at block
level and programmed in-system on a Word-byWord basis using a 1.65V to 2.2V V DD supply for
the circuitry. For Program and Erase operations
the necessary high voltages are generated internally. The device supports asynchronous page
mode from all the blocks of the memory array.
The array matrix organization allows each block to
be erased and reprogrammed without affecting
other blocks. All blocks are protected against programming and erase at Power Up. Blocks can be
unprotected to make changes in the application
and then reprotected.
Instructions for Read/Reset, Auto Select, Write
Configuration Register, Programming, Block
Erase, Bank Erase, Erase Suspend, Erase Resume, Block Protect, Block Unprotect, Block Locking, CFI Query, are written to the memory through
a Command Interface using standard microprocessor write timings.
The device is offered in TSOP48 (12 x 20 mm)
and in FBGA48 0.75 mm ball pitch packages.
When shipped all bits of the M59DR032 device are
at the logical level ‘1’.
Organization
The M59DR032 is organized as 2Mb x16 bits. A0A20 are the address lines, DQ0-DQ15 are the
Data Input/Output. Memory control is provided by
Chip Enable E, Output Enable G and Write Enable
W inputs.
Reset RP is used to reset all the memory circuitry
and to set the chip in power down mode if this
function is enabled by a proper setting of the Configuration Register. Erase and Program operations
are controlled by an internal Program/Erase Controller (P/E.C.). Status Register data output on
DQ7 provides a Data Polling signal, DQ6 and DQ2
provide Toggle signals and DQ5 provides error bit
to indicate the state of the P/E.C operations.
Memory Blocks
The device features asymmetrically blocked architecture. M59DR032 has an array of 71 blocks and
is divided into two banks A and B, providing Dual
Bank operations. While programming or erasing in
Bank A, read operations are possible into Bank B
or vice versa. The memory also features an erase
suspend allowing to read or program in another
block within the same bank. Once suspended the
erase can be resumed. The Bank Size and Sectorization are summarized in Table 7. Parameter
Blocks are located at the top of the memory address space for the M59DR032A, and at the bottom for the M59DR032B. The memory maps are
shown in Tables 3, 4, 5 and 6.
The Program and Erase operations are managed
automatically by the P/E.C. Block protection
against Program or Erase provides additional data
security. All blocks are protected at Power Up. Instructions are provided to protect or unprotect any
block in the application. A second register locks
the protection status while WP is low (see Block
Locking description). The Reset command does
not affect the configuration of unprotected blocks
and the Configuration Register status.
3/38
M59DR032A, M59DR032B
Table 3. Bank A, Top Boot Block Address
32
128000h-12FFFFh
Size (KWord)
Address Range
32
120000h-127FFFh
4
1FF000h-1FFFFFh
32
118000h-11FFFFh
4
1FE000h-1FEFFFh
32
110000h-117FFFh
4
1FD000h-1FDFFFh
32
108000h-10FFFFh
4
1FC000h-1FCFFFh
32
100000h-107FFFh
4
1FB000h-1FBFFFh
32
0F8000h-0FFFFFh
4
1FA000h-1FAFFFh
32
0F0000h-0F7FFFh
4
1F9000h-1F9FFFh
32
0E8000h-0EFFFFh
4
1F8000h-1F8FFFh
32
0E0000h-0E7FFFh
32
1F0000h-1F7FFFh
32
0D8000h-0DFFFFh
32
1E8000h-1EFFFFh
32
0D0000h-0D7FFFh
32
1E0000h-1E7FFFh
32
0C8000h-0CFFFFh
32
1D8000h-1DFFFFh
32
0C0000h-0C7FFFh
32
1D0000h-1D7FFFh
32
0B8000h-0BFFFFh
32
1C8000h-1CFFFFh
32
0B0000h-0B7FFFh
32
1C0000h-1C7FFFh
32
0A8000h-0AFFFFh
32
0A0000h-0A7FFFh
32
098000h-09FFFFh
Table 4. Bank B, Top Boot Block Address
Size (KWord)
Address Range
32
090000h-097FFFh
32
1B8000h-1BFFFFh
32
088000h-08FFFFh
32
1B0000h-1B7FFFh
32
080000h-087FFFh
32
1A8000h-1AFFFFh
32
078000h-07FFFFh
32
1A0000h-1A7FFFh
32
070000h-077FFFh
32
198000h-19FFFFh
32
068000h-06FFFFh
32
190000h-197FFFh
32
060000h-067FFFh
32
188000h-18FFFFh
32
058000h-05FFFFh
32
180000h-187FFFh
32
050000h-057FFFh
32
178000h-17FFFFh
32
048000h-04FFFFh
32
170000h-177FFFh
32
040000h-047FFFh
32
168000h-16FFFFh
32
038000h-03FFFFh
32
160000h-167FFFh
32
030000h-037FFFh
32
158000h-15FFFFh
32
028000h-02FFFFh
32
150000h-157FFFh
32
020000h-027FFFh
32
148000h-14FFFFh
32
018000h-01FFFFh
32
140000h-147FFFh
32
010000h-017FFFh
32
138000h-13FFFFh
32
008000h-00FFFFh
32
130000h-137FFFh
32
000000h-007FFFh
4/38
M59DR032A, M59DR032B
Table 5. Bank B, Bottom Boot Block Address
32
0D8000h-0DFFFFh
Size (KWord)
Address Range
32
0D0000h-0D7FFFh
32
1F8000h-1FFFFFh
32
0C8000h-0CFFFFh
32
1F0000h-1F7FFFh
32
0C0000h-0C7FFFh
32
1E8000h-1EFFFFh
32
0B8000h-0BFFFFh
32
1E0000h-1E7FFFh
32
0B0000h-0B7FFFh
32
1D8000h-1DFFFFh
32
0A8000h-0AFFFFh
32
1D0000h-1D7FFFh
32
0A0000h-0A7FFFh
32
1C8000h-1CFFFFh
32
098000h-09FFFFh
32
1C0000h-1C7FFFh
32
090000h-097FFFh
32
1B8000h-1BFFFFh
32
088000h-08FFFFh
32
1B0000h-1B7FFFh
32
080000h-087FFFh
32
1A8000h-1AFFFFh
32
078000h-07FFFFh
32
1A0000h-1A7FFFh
32
070000h-077FFFh
32
198000h-19FFFFh
32
068000h-06FFFFh
32
190000h-197FFFh
32
060000h-067FFFh
32
188000h-18FFFFh
32
058000h-05FFFFh
32
180000h-187FFFh
32
050000h-057FFFh
32
178000h-17FFFFh
32
048000h-04FFFFh
32
170000h-177FFFh
32
040000h-047FFFh
32
168000h-16FFFFh
32
160000h-167FFFh
32
158000h-15FFFFh
Size (KWord)
Address Range
32
150000h-157FFFh
32
038000h-03FFFFh
32
148000h-14FFFFh
32
030000h-037FFFh
32
140000h-147FFFh
32
028000h-02FFFFh
32
138000h-13FFFFh
32
020000h-027FFFh
32
130000h-137FFFh
32
018000h-01FFFFh
32
128000h-12FFFFh
32
010000h-017FFFh
32
120000h-127FFFh
32
008000h-00FFFFh
32
118000h-11FFFFh
4
007000h-007FFFh
32
110000h-117FFFh
4
006000h-006FFFh
32
108000h-10FFFFh
4
005000h-005FFFh
32
100000h-107FFFh
4
004000h-004FFFh
32
0F8000h-0FFFFFh
4
003000h-003FFFh
32
0F0000h-0F7FFFh
4
002000h-002FFFh
32
0E8000h-0EFFFFh
4
001000h-001FFFh
32
0E0000h-0E7FFFh
4
000000h-000FFFh
Table 6. Bank A, Bottom Boot Block Address
5/38
M59DR032A, M59DR032B
Table 7. Bank Size and Sectorization
Bank Size
Parameter Blocks
Main Blocks
Bank A
4 Mbit
8 blocks of 4 KWord
7 blocks of 32 KWord
Bank B
28 Mbit
-
56 blocks of 32 KWord
SIGNAL DESCRIPTIONS
See Figure 1 and Table 1.
Address Inputs (A0-A20). The address inputs
for the memory array are latched during a write operation on the falling edge of Chip Enable E or
Write Enable W, whichever occurs last.
Data Input/Output (DQ0-DQ15). The Input is
data to be programmed in the memory array or a
command to be written to the Command Interface
(C.I.) Both input data and commands are latched
on the rising edge of Write Enable W. The Ouput
is data from the Memory Array, the Common Flash
Interface, the Electronic Signature Manufacturer
or Device codes, the Block Protection status, the
Configuration Register status or the Status Register Data Polling bit DQ7, the Toggle Bits DQ6 and
DQ2, the Error bit DQ5. The data bus is high impedance when the chip is deselected, Output Enable G is at VIH, or RP is at V IL.
Chip Enable (E). The Chip Enable input activates the memory control logic, input buffers, decoders and sense amplifiers. E at VIH deselects
the memory and reduces the power consumption
to the standby level. E can also be used to control
writing to the command register and to the memory array, while W remains at V IL.
Output Enable (G). The Output Enable gates the
outputs through the data buffers during a read operation. When G is at VIH the outputs are High impedance.
Write Enable (W). This input controls writing to
the Command Register and Data latches. Data are
latched on the rising edge of W.
Write Protect (WP). This input gives an additional hardware protection level against program or
erase when pulled at VIL, as described in the Block
Lock instruction description.
Reset/Power Down Input (RP). The RP input
provides hardware reset of the memory (without
affecting the Configuration Register status), and/
or Power Down functions, depending on the Configuration Register status. Reset/Power Down of
the memory is achieved by pulling RP to V IL for at
least tPLPH. When the reset pulse is given, if the
memory is in Read, Erase Suspend Read or
Standby, it will output new valid data in tPHQ7V1 after the rising edge of RP. If the memory is in Erase
or Program modes, the operation will be aborted
6/38
and the reset recovery will take a maximum ot
tPLQ7V. The memory will recover from Power
Down (when enabled) in tPHQ7V2 after the rising
edge of RP. See Tables 25, 26 and Figure 9.
VDD and VDDQ Supply Voltage (1.65V to 2.2V).
The main power supply for all operations (Read,
Program and Erase). V DD and VDDQ must be at
the same voltage.
VPP Programming Voltage (11.4V to 12.6V). Used
to provide high voltage for fast factory programming. High voltage on VPP pin is required to use
the Double Word Program instruction. It is also
possible to perform word program or erase instructions with VPP pin grounded.
VSS Ground. VSS is the reference for all the voltage measurements.
DEVICE OPERATIONS
The following operations can be performed using
the appropriate bus cycles: Read Array (Random,
and Page Modes), Write command, Output Disable, Standby, Reset/Power Down and Block
Locking. See Table 8.
Read. Read operations are used to output the
contents of the Memory Array, the Electronic Signature, the Status Register, the CFI, the Block
Protection Status or the Configuration Register
status. Read operation of the memory array is performed in asynchronous page mode, that provides
fast access time. Data is internally read and stored
in a page buffer. The page has a size of 4 words
and is addressed by A0-A1 address inputs. Read
operations of the Electronic Signature, the Status
Register, the CFI, the Block Protection Status, the
Configuration Register status and the Security
Code are performed as single asyncronous read
cycles (Random Read). Both Chip Enable E and
Output Enable G must be at VIL in order to read the
output of the memory.
Write. Write operations are used to give Instruction Commands to the memory or to latch Input
Data to be programmed. A write operation is initiated when Chip Enable E and Write Enable W are
at V IL with Output Enable G at VIH. Addresses are
latched on the falling edge of W or E whichever occurs last. Commands and Input Data are latched
on the rising edge of W or E whichever occurs first.
Noise pulses of less than 5ns typical on E, W and
G signals do not start a write cycle.
M59DR032A, M59DR032B
Table 8. User Bus Operations (1)
Operation
E
G
W
RP
WP
DQ15-DQ0
Write
VIL
VIH
VIL
VIH
VIH
Data Input
Output Disable
VIL
VIH
VIH
VIH
VIH
Hi-Z
Standby
VIH
X
X
VIH
VIH
Hi-Z
X
X
X
VIL
VIH
Hi-Z
VIL
X
X
VIH
VIL
X
Reset / Power Down
Block Locking
Note: 1. X = Don’t care.
Table 9. Read Electronic Signature (AS and Read CFI instructions)
Other
DQ15-DQ8
Addresses
E
G
W
A0
A1
A7-A2
VIL
VIL
VIH
VIL
VIL
0
Don’t Care
00h
20h
M59DR032A
VIL
VIL
VIH
VIH
VIL
0
Don’t Care
00h
A0h
M59DR032B
VIL
VIL
VIH
VIH
VIL
0
Don’t Care
00h
A1h
Code
Device
Manufacturer Code
DQ7-DQ0
Device Code
Table 10. Read Block Protection (AS and Read CFI instructions)
E
G
W
A0
A1
A20-A12
A7-A2
Other
Addresses
DQ0
DQ1
DQ15-DQ2
Protected Block
VIL
VIL
VIH
VIL
VIH
Block Address
0
Don’t Care
1
0
0000h
Unprotected Block
VIL
VIL
VIH
VIL
VIH
Block Address
0
Don’t Care
0
0
0000h
Locked Block
VIL
VIL
VIH
VIL
VIH
Block Address
0
Don’t Care
X
1
0000h
Block Status
Table 11. Read Configuration Register (AS and Read CFI instructions)
E
G
W
A0
A1
A7-A2
Other Addresses
DQ10
DQ9-DQ0
DQ15-DQ11
Reset
VIL
VIL
VIH
VIH
VIH
0
Don’t Care
0
Don’t Care
Reset/Power Down
VIL
VIL
VIH
VIH
VIH
0
Don’t Care
1
Don’t Care
RP Function
Dual Bank Operations. The Dual Bank allows to
read data from one bank of memory while a program or erase operation is in progress in the other
bank of the memory. Read and Write cycles can
be initiated for simultaneous operations in different
banks without any delay. Status Register during
Program or Erase must be monitored using an address within the bank being modified.
Output Disable. The data outputs are high impedance when the Output Enable G is at VIH with
Write Enable W at VIH.
Standby. The memory is in standby when Chip
Enable E is at VIH and the P/E.C. is idle. The power consumption is reduced to the standby level
and the outputs are high impedance, independent
of the Output Enable G or Write Enable W inputs.
Automatic Standby. When in Read mode, after
150ns of bus inactivity and when CMOS levels are
driving the addresses, the chip automatically enters a pseudo-standby mode where consumption
is reduced to the CMOS standby value, while outputs still drive the bus.
Power Down. The memory is in Power Down
when the Configuration Register is set for Power
Down and RP is at VIL. The power consumption is
reduced to the Power Down level, and Outputs are
in high impedance, independent of the Chip Enable E, Output Enable G or Write Enable W inputs.
Block Locking. Any combination of blocks can
be temporarily protected against Program or
Erase by setting the lock register and pulling WP
to VIL (see Block Lock instruction).
7/38
M59DR032A, M59DR032B
INSTRUCTIONS AND COMMANDS
Seventeen instructions are defined (see Table
14A), and the internal P/E.C. automatically handles all timing and verification of the Program and
Erase operations. The Status Register Data Polling, Toggle, Error bits can be read at any time, during programming or erase, to monitor the progress
of the operation.
Instructions, made up of one or more commands
written in cycles, can be given to the Program/
Erase Controller through a Command Interface
(C.I.). The C.I. latches commands written to the
memory. Commands are made of address and
data sequences. Two Coded Cycles unlock the
Command Interface. They are followed by an input
command or a confirmation command. The Coded
Sequence consists of writing the data AAh at the
address 555h during the first cycle and the data
55h at the address 2AAh during the second cycle.
Instructions are composed of up to six cycles. The
first two cycles input a Coded Sequence to the
Command Interface which is common to all instructions (see Table 14A). The third cycle inputs
the instruction set-up command. Subsequent cycles output the addressed data, Electronic Signature, Block Protection, Configuration Register
Status or CFI Query for Read operations. In order
to give additional data protection, the instructions
for Block Erase and Bank Erase require further
command inputs. For a Program instruction, the
fourth command cycle inputs the address and data
to be programmed. For a Double Word Programming instruction, the fourth and fifth command cycles input the address and data to be
programmed. For a Block Erase and Bank Erase
instructions, the fourth and fifth cycles input a further Coded Sequence before the Erase confirm
command on the sixth cycle. Any combination of
blocks of the same memory bank can be erased.
Erasure of a memory block may be suspended, in
order to read data from another block or to program data in another block, and then resumed.
When power is first applied the command interface
is reset to Read Array.
Command sequencing must be followed exactly.
Any invalid combination of commands will reset
the device to Read Array. The increased number
of cycles has been chosen to ensure maximum
data security.
8/38
Read/Reset (RD) Instruction. The Read/Reset
instruction consists of one write cycle giving the
command F0h. It can be optionally preceded by
the two Coded Cycles. Subsequent read operations will read the memory array addressed and
output the data read.
CFI Query (RCFI) Instruction. Common Flash
Interface Query mode is entered writing 98h at address 55h. The CFI data structure gives information on the device, such as the sectorization, the
command set and some electrical specifications.
Tables 15, 16, 17 and 18 show the addresses
used to retrieve each data. The CFI data structure
contains also a security area; in this section, a 64
bit unique security number is written, starting at
address 80h. This area can be accessed only in
read mode by the final user and there are no ways
of changing the code after it has been written by
ST. Write a read instruction (RD) to return to Read
mode.
Table 12. Commands
Hex Code
Command
00h
Bypass Reset
10h
Bank Erase Confirm
20h
Unlock Bypass
30h
Block Erase Resume/Confirm
40h
Double Word Program
60h
Block Protect, or
Block Unprotect, or
Block Lock, or
Write Configuration Register
80h
Set-up Erase
90h
Read Electronic Signature, or
Block Protection Status, or
Configuration Register Status
98h
CFI Query
A0h
Program
B0h
Erase Suspend
F0h
Read Array/Reset
M59DR032A, M59DR032B
Auto Select (AS) Instruction. This
instruction
uses two Coded Cycles followed by one write cycle giving the command 90h to address 555h for
command set-up. A subsequent read will output
the Manufacturer or the Device Code (Electronic
Signature), the Block Protection status or the Configuration Register status depending on the levels
of A0 and A1 (see Tables 9, 10 and 11). A7-A2
must be at V IL, while other address input are ignored. The bank address is don’t care for this instruction. The Electronic Signature can be read
from the memory allowing programming equipment or applications to automatically match their
interface to the characteristics of M59DR032. The
Manufacturer Code is output when the address
lines A0 and A1 are at V IL, the Device Code is output when A0 is at VIH with A1 at VIL.
The codes are output on DQ0-DQ7 with DQ8DQ15 at 00h. The AS instruction also allows the
access to the Block Protection Status. After giving
the AS instruction, A0 is set to VIL with A1 at VIH,
while A12-A20 define the address of the block to
be verified. A read in these conditions will output a
01h if the block is protected and a 00h if the block
is not protected.
The AS Instruction finally allows the access to the
Configuration Register status if both A0 and A1
are set to VIH. If DQ10 is '0' only the Reset function
is active as RP is set to VIL (default at power-up).
If DQ10 is '1' both the Reset and the Power Down
functions will be achieved by pulling RP to VIL. The
other bits of the Configuration Register are reserved and must be ignored. A reset command
puts the device in read array mode.
Write Configuration Register (CR) Instruction. This instruction uses two Coded Cycles followed by one write cycle giving the command 60h
to address 555h. A further write cycle giving the
command 03h writes the contents of address bits
A0-A15 to the 16 bits configuration register. Bits
written by inputs A0-A9 and A11-A15 are reserved
for future use. Address input A10 defines the status of the Reset/Power Down functions. It must be
set to V IL to enable only the Reset function and to
VIH to enable also the Power Down function. At
Power Up all the Configuration Register bits are
reset to '0'.
Enter Bypass Mode (EBY) Instruction. This instruction uses the two Coded cycles followed by
one write cycle giving the command 20h to address 555h for mode set-up. Once in Bypass
mode, the device will accept the Exit Bypass
(XBY) and Program or Double Word Program in
Bypass mode (PGBY, DPGBY) commands. The
Bypass mode allows to reduce the overall programming time when large memory arrays need to
be programmed.
Exit Bypass Mode (XBY) Instruction. This instruction uses two write cycles. The first inputs to
the memory the command 90h and the second inputs the Exit Bypass mode confirm (00h). After the
XBY instruction, the device resets to Read Memory Array mode.
Program in Bypass Mode (PGBY) Instruction. This instruction uses two write cycles. The
Program command A0h is written to any Address
on the first cycle and the second write cycle latches the Address on the falling edge of W or E and
the Data to be written on the rising edge and starts
the P/E.C. Read operations within the same bank
output the Status Register bits after the programming has started. Memory programming is made
only by writing '0' in place of '1'. Status bits DQ6
and DQ7 determine if programming is on-going
and DQ5 allows verification of any possible error.
Program (PG) Instruction. This instruction uses
four write cycles. The Program command A0h is
written to address 555h on the third cycle after two
Coded Cycles. A fourth write operation latches the
Address and the Data to be written and starts the
P/E.C. Read operations within the same bank output the Status Register bits after the programming
has started. Memory programming is made only
by writing '0' in place of '1'. Status bits DQ6 and
DQ7 determine if programming is on-going and
DQ5 allows verification of any possible error. Programming at an address not in blocks being
erased is also possible during erase suspend.
Double Word Program (DPG) Instruction. This
feature is offered to improve the programming
throughput, writing a page of two adjacent words
in parallel. High voltage (11.4V to 12.6V) on VPP
pin is required. This instruction uses five write cycles. The double word program command 40h is
written to address 555h on the third cycle after two
Coded Cycles. A fourth write cycle latches the address and data to be written to the first location. A
fifth write cycle latches the new data to be written
to the second location and starts the P/E.C.. Note
that the two locations must have the same address
except for the address bit A0. The Double Word
Program can be executed in Bypass mode (DPGBY) to skip the two coded cycles at the beginning
of each command.
9/38
M59DR032A, M59DR032B
Table 13. Protection States (1)
Current State (2)
(WP, DQ1, DQ0)
Program/Erase
Allowed
100
Next State After Event (3)
Protect
Unprotect
Lock
WP transition
yes
101
100
111
000
101
no
101
100
111
001
110
yes
111
110
111
011
111
no
111
110
111
011
000
yes
001
000
011
100
001
no
001
000
011
101
011
no
011
011
011
111 or 110 (4)
Note: 1. All blocks are protected at power-up, so the default configuration is 001 or 101 according to WP status.
2. Current state and Next state gives the protection status of a block. The protection status is defined by the write protect pin and by
DQ1 (= 1 for a locked block) and DQ0 (= 1 for a protected block) as read in the Autoselect instruction with A1 = VIH and A0 = VIL.
3. Next state is the protection status of a block after a Protect or Unprotect or Lock command has been issued or after WP has changed
its logic value.
4. A WP transition to VIH on a locked block will restore the previous DQ0 value, giving a 111 or 110.
Block Protect (BP), Block Unprotect (BU),
Block Lock (BL) Instructions. All blocks are
protected at power-up. Each block of the array has
two levels of protection against program or erase
operation. The first level is set by the Block Protect
instruction; a protected block cannot be programmed or erased until a Block Unprotect instruction is given for that block. A second level of
protection is set by the Block Lock instruction, and
requires the use of the WP pin, according to the
following scheme:
– when WP is at V IH, the Lock status is overridden
and all blocks can be protected or unprotected;
– when WP is at V IL, Lock status is enabled; the
locked blocks are protected, regardless of their
previous protect state, and protection status
cannot be changed. Blocks that are not locked
can still change their protection status, and program or erase accordingly;
– the lock status is cleared for all blocks at power
up; once a block has been locked state can be
cleared only with a reset command. The protection and lock status can be monitored for each
block using the Autoselect (AS) instruction. Protected blocks will output a ‘1’ on DQ0 and locked
blocks will output a ‘1’ on DQ1.
Refer to Table 13 for a list of the protection states.
Block Erase (BE) Instruction. This instruction
uses a minimum of six write cycles. The Erase
Set-up command 80h is written to address 555h
on third cycle after the two Coded cycles. The
Block Erase Confirm command 30h is similarly
written on the sixth cycle after another two Coded
cycles and an address within the block to be
erased is given and latched into the memory.
10/38
Additional block Erase Confirm commands and
block addresses can be written subsequently to
erase other blocks in parallel, without further Coded cycles. All blocks must belong to the same
bank of memory; if a new block belonging to the
other bank is given, the operation is aborted. The
erase will start after an erase timeout period of
100µs. Thus, additional Erase Confirm commands
for other blocks must be given within this delay.
The input of a new Erase Confirm command will
restart the timeout period. The status of the internal timer can be monitored through the level of
DQ3, if DQ3 is '0' the Block Erase Command has
been given and the timeout is running, if DQ3 is '1',
the timeout has expired and the P/E.C. is erasing
the Block(s). If the second command given is not
an erase confirm or if the Coded cycles are wrong,
the instruction aborts, and the device is reset to
Read Array. It is not necessary to program the
block with 00h as the P/E.C. will do this automatically before erasing to FFh. Read operations within the same bank, after the sixth rising edge of W
or E, output the status register bits.
During the execution of the erase by the P/E.C.,
the memory accepts only the Erase Suspend ES
instruction; the Read/Reset RD instruction is accepted during the 100µs time-out period. Data
Polling bit DQ7 returns '0' while the erasure is in
progress and '1' when it has completed. The Toggle bit DQ6 toggles during the erase operation,
and stops when erase is completed.
After completion the Status Register bit DQ5 returns '1' if there has been an erase failure. In such
a situation, the Toggle bit DQ2 can be used to determine which block is not correctly erased. In the
case of erase failure, a Read/Reset RD instruction
is necessary in order to reset the P/E.C.
M59DR032A, M59DR032B
Bank Erase (BKE) Instruction. This instruction
uses six write cycles and is used to erase all the
blocks belonging to the selected bank. The Erase
Set-up command 80h is written to address 555h
on the third cycle after the two Coded cycles. The
Bank Erase Confirm command 10h is similarly
written on the sixth cycle after another two Coded
cycles at an address within the selected bank. If
the second command given is not an erase confirm or if the Coded cycles are wrong, the instruction aborts and the device is reset to Read Array.
It is not necessary to program the array with 00h
first as the P/E.C. will automatically do this before
erasing it to FFh. Read operations within the same
bank after the sixth rising edge of W or E output
the Status Register bits. During the execution of
the erase by the P/E.C., Data Polling bit DQ7 returns ’0’, then ’1’ on completion. The Toggle bit
DQ6 toggles during erase operation and stops
when erase is completed. After completion the
Status Register bit DQ5 returns ’1’ if there has
been an Erase Failure.
Erase Suspend (ES) Instruction. In a dual bank
memory the Erase Suspend instruction is used to
read data within the bank where erase is in
progress. It is also possible to program data in
blocks not being erased.
The Erase Suspend instruction consists of writing
the command B0h without any specific address.
No Coded Cycles are required. Erase suspend is
accepted only during the Block Erase instruction
execution. The Toggle bit DQ6 stops toggling
when the P/E.C. is suspended within 15µs after
the Erase Suspend (ES) command has been written. The device will then automatically be set to
Read Memory Array mode. When erase is suspended, a Read from blocks being erased will output DQ2 toggling and DQ6 at '1'. A Read from a
block not being erased returns valid data. During
suspension the memory will respond only to the
Erase Resume ER and the Program PG instructions. A Program operation can be initiated during
erase suspend in one of the blocks not being
erased. It will result in DQ6 toggling when the data
is being programmed.
Erase Resume (ER) Instruction. If an Erase
Suspend instruction was previously executed, the
erase operation may be resumed by giving the
command 30h, at an address within the bank being erased and without any Coded Cycle.
11/38
M59DR032A, M59DR032B
Table 14A. Instructions (1,2)
Mne.
Instr.
Cyc.
1+
RD (4)
Read/Reset
Memory Array
1st Cyc.
Addr. (3)
2nd Cyc.
3rd Cyc.
AS
(4)
CR
PG
DPG
EBY
XBY
PGBY
CFI Query
Auto Select
Configuration
Register Write
Program
Double Word
Program
F0h
Addr.
555h
2AAh
555h
Data
AAh
55h
F0h
Addr.
55h
Data
98h
Addr.
555h
2AAh
555h
Data
AAh
55h
90h
Addr.
555h
2AAh
555h
Configuration Data
Data
AAh
55h
60h
03h
Addr.
555h
2AAh
555h
Data
AAh
55h
A0h
Addr.
555h
2AAh
555h
BP
BU
12/38
4
4
2
Block Protect
Block Unprotect
Read electronic Signature or
Block Protection or Configuration
Register Status until a new cycle
is initiated.
Program
Address Read Data Polling or
Toggle Bit until
Program Program completes.
Data
Program Program
Address 1 Address 2
5
Exit Bypass
Mode
Double Word
DPGBY Program in
Bypass Mode
Read Memory Array until a new
write cycle is initiated.
Read CFI data until a new write cycle is initiated.
3+
3
6th Cyc.
Read Memory Array until a new write cycle is initiated.
Data
1+
Enter Bypass
Mode
Program in
Bypass Mode
5th Cyc.
X
3+
RCFI
4th Cyc.
Note 6, 7
Data
AAh
55h
40h
Addr.
555h
2AAh
555h
Data
AAh
55h
20h
Addr.
X
X
Data
90h
00h
Addr.
X
Data
A0h
Addr.
X
2
Program
Data 1
Program
Data 2
Program
Address Read Data Polling or Toggle Bit until Program
Program completes.
Data
Program Program
Address 1 Address 2
3
Note 6, 7
Data
40h
Program
Data 1
Program
Data 2
Addr.
555h
2AAh
555h
Block
Address
Data
AAh
55h
60h
01h
Addr.
555h
2AAh
555h
Block
Address
Data
AAh
55h
60h
D0h
4
1
M59DR032A, M59DR032B
Table 14B. Instructions (1,2)
Mne.
BL
BE
BKE
ES
ER
Instr.
Block Lock
Block Erase
Bank Erase
Erase Suspend
Erase Resume
Cyc.
1st Cyc.
2nd Cyc.
3rd Cyc.
4th Cyc.
5th Cyc.
6th Cyc.
Addr.
555h
2AAh
555h
Block
Address
Data
AAh
55h
60h
2Fh
Addr.
555h
2AAh
555h
555h
2AAh
Block
Address
Data
AAh
55h
80h
AAh
55h
30h
Addr.
555h
2AAh
555h
555h
2AAh
Bank
Address
Data
AAh
55h
80h
AAh
55h
10h
4
6+
6
1
Addr. (3)
X
Data
B0h
Addr.
Bank
Address
Data
30h
1
Read until Toggle stops, then read all the data needed
from any Blocks not being erased then Resume Erase.
Read Data Polling or Toggle Bits until Erase completes or
Erase is suspended another time
Note: 1.
2.
3.
4.
Commands not interpreted in this table will default to read array mode.
For Coded cycles address inputs A11-A20 are don’t care.
X = Don’t Care.
The first cycles of the RD or AS instructions are followed by read operations. Any number of read cycles can occur after the command cycles.
5. During Erase Suspend, Read and Data Program functions are allowed in blocks not being erased.
6. Program Address 1 and Program Address 2 must be consecutive addresses differing only for address bit A0.
7. High voltage on VPP (11.4V to 12.6V) is required for the proper execution of the Double Word Program instruction.
13/38
M59DR032A, M59DR032B
Table 15. Query Structure Overview
Offset
Sub-section Name
Description
00h
Reserved
Reserved for algorithm-specific information
10h
CFI Query Identification String
Command set ID and algorithm data offset
1Bh
System Interface Information
Device timing & voltage information
27h
Device Geometry Definition
Flash device layout
P
Primary Algorithm-specific Extended Query table
Additional information specific to the Primary
Algorithm (optional)
A
Alternate Algorithm-specific Extended Query table
Additional information specific to the Alternate
Algorithm (optional)
Note: The Flash memory display the CFI data structure when CFI Query command is issued. In this table are listed the main sub-sections
detailled in Tables 16, 17 and 18. Query data are always presented on the lowest order data outputs.
Table 16. CFI Query Identification String
Offset
Data
Description
00h
0020h
01h
00A1h - bottom
00A0h - top
02h-0Fh
reserved
10h
0051h
Query Unique ASCII String "QRY"
11h
0052h
Query Unique ASCII String "QRY"
12h
0059h
Query Unique ASCII String "QRY"
13h
0002h
14h
0000h
Primary Algorithm Command Set and Control Interface ID code 16 bit ID code
defining a specific algorithm
15h
offset = P = 0040h
16h
0000h
17h
0000h
18h
0000h
19h
value = A = 0000h
1Ah
0000h
Manufacturer Code
Device Code
Reserved
Address for Primary Algorithm extended Query table
Alternate Vendor Command Set and Control Interface ID Code second vendor
- specified algorithm supported (note: 0000h means none exists)
Address for Alternate Algorithm extended Query table
note: 0000h means none exists
Note: Query data are always presented on the lowest - order data outputs (DQ7-DQ0) only. DQ8-DQ15 are ‘0’.
14/38
M59DR032A, M59DR032B
Table 17. CFI Query System Interface Information
Offset
Data
1Bh
0017h
VDD Logic Supply Minimum Program/Erase or Write voltage
bit 7 to 4
BCD value in volts
bit 3 to 0
BCD value in 100 millivolts
1Ch
0022h
VDD Logic Supply Maximum Program/Erase or Write voltage
bit 7 to 4
BCD value in volts
bit 3 to 0
BCD value in 100 millivolts
0000h
VPP [Programming] Supply Minimum Program/Erase voltage
bit 7 to 4
HEX value in volts
bit 3 to 0
BCD value in 100 millivolts
Note: This value must be 0000h if no VPP pin is present
1Eh
00C0h
VPP [Programming] Supply Maximum Program/Erase voltage
bit 7 to 4
HEX value in volts
bit 3 to 0
BCD value in 100 millivolts
Note: This value must be 0000h if no VPP pin is present
1Fh
0004h
Typical timeout per single byte/word program (multi-byte program count = 1), 2n µs
(if supported; 0000h = not supported)
20h
0000h
Typical timeout for maximum-size multi-byte program or page write, 2n µs
(if supported; 0000h = not supported)
21h
000Ah
Typical timeout per individual block erase, 2n ms
(if supported; 0000h = not supported)
22h
0000h
Typical timeout for full chip erase, 2n ms
(if supported; 0000h = not supported)
23h
0004h
Maximum timeout for byte/word program, 2n times typical (offset 1Fh)
(0000h = not supported)
24h
0000h
Maximum timeout for multi-byte program or page write, 2n times typical (offset 20h)
(0000h = not supported)
25h
0004h
Maximum timeout per individual block erase, 2n times typical (offset 21h)
(0000h = not supported)
26h
0000h
Maximum timeout for chip erase, 2n times typical (offset 22h)
(0000h = not supported)
1Dh
Description
15/38
M59DR032A, M59DR032B
Table 18. Device Geometry Definition
Offset Word
Mode
Data
27h
0016h
28h
0001h
29h
0000h
2Ah
0000h
2Bh
0000h
2Ch
0002h
Description
Device Size = 2n in number of bytes
Flash Device Interface Code description: Asynchronous x16
Maximum number of bytes in multi-byte program or page = 2n
Number of Erase Block Regions within device
bit 7 to 0 = x = number of Erase Block Regions
Note:1. x = 0 means no erase blocking, i.e. the device erases at once in "bulk."
2. x specifies the number of regions within the device containing one or more contiguous Erase Blocks of the same size. For example, a 128KB device (1Mb)
having blocking of 16KB, 8KB, four 2KB, two 16KB, and one 64KB is considered
to have 5 Erase Block Regions. Even though two regions both contain 16KB
blocks, the fact that they are not contiguous means they are separate Erase
Block Regions.
3. By definition, symmetrically block devices have only one blocking region.
M59DR032A
M59DR032A Erase Block Region Information
2Dh
003Eh
2Eh
0000h
2Fh
0000h
30h
0001h
31h
0007h
32h
0000h
33h
0020h
34h
0000h
M59DR032B
M59DR032B
2Dh
0007h
2Eh
0000h
2Fh
0020h
30h
0000h
31h
003Eh
32h
0000h
33h
0000h
34h
0001h
16/38
bit 31 to 16 = z, where the Erase Block(s) within this Region are (z) times 256 bytes in
size. The value z = 0 is used for 128 byte block size.
e.g. for 64KB block size, z = 0100h = 256 => 256 * 256 = 64K
bit 15 to 0 = y, where y+1 = Number of Erase Blocks of identical size within the Erase
Block Region:
e.g. y = D15-D0 = FFFFh => y+1 = 64K blocks [maximum number]
y = 0 means no blocking (# blocks = y+1 = "1 block")
Note: y = 0 value must be used with number of block regions of one as indicated
by (x) = 0
M59DR032A, M59DR032B
Table 19. Status Register Bits (1)
DQ
7
Name
Data
Polling
Logic Level
’1’
Erase Complete or erase block
in Erase Suspend.
’0’
Erase On-going
DQ
Program Complete or data of
non erase block during Erase
Suspend.
DQ
Program On-going (2)
’-1-0-1-0-1-0-1-’
DQ
6
Toggle Bit
’-1-1-1-1-1-1-1-’
5
4
3
2
Definition
Erase or Program On-going
Program Complete
Erase Complete or Erase
Suspend on currently addressed
block
Note
Indicates the P/E.C. status, check
during Program or Erase, and on
completion before checking bits DQ5
for Program or Erase Success.
Successive reads output
complementary data on DQ6 while
Programming or Erase operations are
on-going. DQ6 remains at constant
level when P/E.C. operations are
completed or Erase Suspend is
acknowledged.
’1’
Program or Erase Error
’0’
Program or Erase On-going
’1’
Erase Timeout Period Expired
P/E.C. Erase operation has started.
Only possible command entry is Erase
Suspend (ES)
’0’
Erase Timeout Period On-going
An additional block to be erased in
parallel can be entered to the P/E.C:
’-1-0-1-0-1-0-1-’
Erase Suspend read in the
Erase Suspended Block.
Erase Error due to the currently
addressed block (when DQ5 =
’1’).
Error Bit
This bit is set to ’1’ in the case of
Programming or Erase failure.
Reserved
Erase Time
Bit
Toggle Bit
1
Reserved
0
Reserved
1
Program on-going or Erase
Complete.
DQ
Erase Suspend read on non
Erase Suspend block.
Indicates the erase status and allows
to identify the erased block.
Note: 1. Logic level ’1’ is High, ’0’ is Low. -0-1-0-0-0-1-1-1-0- represent bit value in successive Read operations.
2. In case of double word program DQ7 refers to the last word input.
17/38
M59DR032A, M59DR032B
Table 20. Polling and Toggle Bits
Mode
DQ7
DQ6
DQ2
DQ7
Toggle
1
Erase
0
Toggle
N/A
Erase Suspend Read
(in Erase Suspend
block)
1
1
Toggle
Erase Suspend Read
(outside Erase Suspend
block)
DQ7
DQ6
DQ2
Erase Suspend Program
DQ7
Toggle
1
Program
STATUS REGISTER BITS
P/E.C. status is indicated during execution by Data
Polling on DQ7, detection of Toggle on DQ6 and
DQ2, or Error on DQ5 bits. Any read attempt within
the Bank being modified and during Program or
Erase command execution will automatically output these five Status Register bits. The P/E.C. automatically sets bits DQ2, DQ5, DQ6 and DQ7.
Other bits (DQ0, DQ1 and DQ4) are reserved for
future use and should be masked (see Tables 19
and 20). Read attemps within the bank not being
modified will output array data.
Data Polling Bit (DQ7). When Programming operations are in progress, this bit outputs the complement of the bit being programmed on DQ7. In
case of a double word program operation, the
complement is done on DQ7 of the last word written to the command interface, i.e. the data written
in the fifth cycle. During Erase operation, it outputs
a ’0’. After completion of the operation, DQ7 will
output the bit last programmed or a ’1’ after erasing. Data Polling is valid and only effective during
P/E.C. operation, that is after the fourth W pulse
for programming or after the sixth W pulse for
erase. It must be performed at the address being
programmed or at an address within the block being erased. See Figure 12 for the Data Polling
flowchart and Figure 10 for the Data Polling waveforms. DQ7 will also flag the Erase Suspend mode
by switching from ’0’ to ’1’ at the start of the Erase
Suspend. In order to monitor DQ7 in the Erase
Suspend mode an address within a block being
erased must be provided. For a Read Operation in
18/38
Suspend mode, DQ7 will output ’1’ if the read is attempted on a block being erased and the data value on other blocks. During Program operation in
Erase Suspend Mode, DQ7 will have the same behaviour as in the normal program execution outside of the suspend mode.
Toggle Bit (DQ6). When Programming or Erasing operations are in progress, successive attempts to read DQ6 will output complementary
data. DQ6 will toggle following toggling of either G,
or E when G is at VIL. The operation is completed
when two successive reads yield the same output
data. The next read will output the bit last programmed or a ’1’ after erasing. The toggle bit DQ6
is valid only during P/E.C. operations, that is after
the fourth W pulse for programming or after the
sixth W pulse for Erase. DQ6 will be set to ’1’ if a
Read operation is attempted on an Erase Suspend
block. When erase is suspended DQ6 will toggle
during programming operations in a block different
from the block in Erase Suspend. Either E or G
toggling will cause DQ6 to toggle. See Figure 13
for Toggle Bit flowchart and Figure 11 for Toggle
Bit waveforms.
Toggle Bit (DQ2). This toggle bit, together with
DQ6, can be used to determine the device status
during the Erase operations. During Erase Suspend a read from a block being erased will cause
DQ2 to toggle. A read from a block not being
erased will output data. DQ2 will be set to ’1’ during
program operation and to ‘0’ in Erase operation.
After erase completion and if the error bit DQ5 is
set to '1', DQ2 will toggle if the faulty block is addressed.
Error Bit (DQ5). This bit is set to '1' by the P/E.C.
when there is a failure of programming or block
erase, that results in invalid data in the memory
block. In case of an error in block erase or program, the block in which the error occurred or to
which the programmed data belongs, must be discarded. Other Blocks may still be used. The error
bit resets after a Read/Reset (RD) instruction. In
case of success of Program or Erase, the error bit
will be set to '0'.
Erase Timer Bit (DQ3). This bit is set to ‘0’ by the
P/E.C. when the last block Erase command has
been entered to the Command Interface and it is
awaiting the Erase start. When the erase timeout
period is finished, DQ3 returns to ‘1’, in the range
of 80µs to 120µs.
M59DR032A, M59DR032B
Table 21. Program, Erase Times and Program, Erase Endurance Cycles
(TA = 0 to 70°C; VDD = V DDQ = 1.65V to 2.2V, VPP = VDD unless otherwise specified)
M59DR032
Parameter
Max (1)
Typical after
100k W/E Cycles
Unit
Typ
Parameter Block (4 KWord) Erase (Preprogrammed)
2.5
0.15
0.4
sec
Main Block (32 KWord) Erase (Preprogrammed)
10
1
3
sec
Bank Erase (Preprogrammed, Bank A)
2
6
sec
Bank Erase (Preprogrammed, Bank B)
10
30
sec
Chip Program (2)
20
25
sec
Chip Program (DPG, VPP = 12V) (2)
10
Min
Word Program
Program/Erase Cycles (per Block)
200
100,000
10
sec
10
µs
cycles
Note: 1. Max values refer to the maximum time allowed by the internal algorithm before error bit is set. Worst case conditions program or
erase should perform significantly better.
2. Excludes the time needed to execute the sequence for program instruction.
POWER SUPPLY
Power Down
The memory provides Reset/Power Down control
input RP. The Power Down function can be activated only if the relevant Configuration Register bit
is set to ’1’. In this case, when the RP signal is
pulled at V SS the supply current drops to typically
ICC2 (see Table 22), the memory is deselected and
the outputs are in high impedance.If RP is pulled
to VSS during a Program or Erase operation, this
operation is aborted in tPLQ7V and the memory
content is no longer valid (see Reset/Power Down
input description).
Power Up
The memory Command Interface is reset on Power Up to Read Array. Either E or W must be tied to
VIH during Power Up to allow maximum security
and the possibility to write a command on the first
rising edge of W.
Supply Rails
Normal precautions must be taken for supply voltage decoupling; each device in a system should
have the V DD rails decoupled with a 0.1µF capacitor close to the VDD, VDDQ and VSS pins. The PCB
trace widths should be sufficient to carry the required VDD program and erase currents.
19/38
M59DR032A, M59DR032B
Table 22. DC Characteristics
(TA = 0 to 70°C or –40 to 85°C; VDD = VDDQ = 1.65V to 2.2V)
Symbol
ILI
ILO
ICC1
ICC2
ICC3
ICC4
Parameter
Input Leakage Current
(1)
ICC5 (1)
Output Leakage Current
Supply Current
(Read Mode)
Supply Current
(Power Down)
Test Condition
Max
Unit
0V ≤ VIN ≤ VDD
Min
Typ
±1
µA
0V ≤ VOUT ≤ VDD
±5
µA
E = VIL, G = VIH, f = 6MHz
10
20
mA
RP = VSS ± 0.2V
2
10
µA
E = VDD ± 0.2V
15
50
µA
Supply Current
(Program or Erase)
Word Program, Block Erase
in progress
10
20
mA
Supply Current
(Dual Bank)
Program/Erase in progress
in one Bank, Read in the
other Bank
20
40
mA
VPP = 12V ± 0.6V
5
10
mA
Supply Current (Standby)
IPP1
VPP Supply Current
(Program or Erase)
IPP2
VPP Supply Current
(Standby or Read)
VPP ≤ VCC
0.2
5
µA
VPP = 12V ± 0.6V
100
400
µA
VIL
Input Low Voltage
–0.5
0.4
V
VIH
Input High Voltage
VDDQ –0.4
VDDQ + 0.4
V
VOL
Output Low Voltage
IOL = 100µA
0.1
V
VOH
Output High Voltage
CMOS
IOH = –100µA
VPP (2,3)
VPP Supply Voltage
(Program or Erase)
VDDQ –0.1
Double Word Program
Note: 1. Sampled only, not 100% tested.
2. VPP may be connected to 12V power supply for a total of less than 100 hrs.
3. For standard program/erase operation VPP is don’t care.
20/38
V
–0.4
VDD + 0.4
V
11.4
12.6
V
M59DR032A, M59DR032B
Table 23. Capacitance (1)
(TA = 25 °C, f = 1 MHz)
Symbol
CIN
COUT
Parameter
Test Condition
Input Capacitance
Output Capacitance
Min
Max
Unit
VIN = 0V
6
pF
VOUT = 0V
12
pF
Note: 1. Sampled only, not 100% tested.
Table 24. AC Measurement Conditions
Input Rise and Fall Times
Input Pulse Voltages
Input and Output Timing Ref. Voltages
Figure 4. AC Testing Load Circuit
≤ 4ns
VDDQ / 2
0 to VDDQ
VDDQ/2
1N914
3.3kΩ
Figure 3. Testing Input/Output Waveforms
DEVICE
UNDER
TEST
VDDQ
OUT
CL = 30pF
VDDQ/2
0V
AI02315
CL includes JIG capacitance
AI02316
21/38
M59DR032A, M59DR032B
Table 25. Read AC Characteristics
(TA = 0 to 70°C or –40 to 85°C; VDD = VDDQ = 1.65V to 2.2V)
M59DR032
Symbol
Alt
Parameter
Test Condition
100
Min
120
Max
Min
Unit
Max
tAVAV
tRC
Address Valid to Next
Address Valid
E = VIL, G = VIL
tAVQV
tACC
Address Valid to Output
Valid (Random)
E = VIL, G = VIL
100
120
ns
tAVQV1
tPAGE
Address Valid to Output
Valid (Page)
E = VIL, G = VIL
35
45
ns
tELQX (1)
tLZ
Chip Enable Low to Output
Transition
G = VIL
tELQV (2)
tCE
Chip Enable Low to Output
Valid
G = VIL
tGLQX (1)
tOLZ
Output Enable Low to
Output Transition
E = VIL
tGLQV (2)
tOE
Output Enable Low to
Output Valid
E = VIL
tEHQX
tOH
Chip Enable High to Output
Transition
G = VIL
tEHQZ (1)
tHZ
Chip Enable High to Output
Hi-Z
G = VIL
tGHQX
tOH
Output Enable High to
Output Transition
E = VIL
tGHQZ (1)
tDF
Output Enable High to
Output Hi-Z
E = VIL
tAXQX
tOH
Address Transition to
Output Transition
E = VIL, G = VIL
100
120
0
ns
0
100
0
ns
120
0
25
0
ns
35
0
25
0
0
0
ns
ns
35
25
ns
ns
ns
35
0
ns
ns
tPHQ7V1
RP High to Data Valid
(Read Mode)
150
150
ns
tPHQ7V2
RP High to Data Valid
(Power Down enabled)
50
50
µs
tPLQ7V
RP Low to Reset Complete
During Program/Erase
15
µs
tPLPH
tRP
RP Pulse Width
100
Note: 1. Sampled only, not 100% tested.
2. G may be delayed by up to t ELQV - tGLQV after the falling edge of E without increasing tELQV .
22/38
100
ns
Note: Write Enable (W) = High.
DQ0-DQ15
G
E
A0-A20
tAVQV
tGLQV
tGLQX
tELQX
tELQV
VALID
tAVAV
VALID
tGHQZ
tGHQX
tEHQX
tEHQZ
tAXQX
AI02624
M59DR032A, M59DR032B
Figure 5. Random Read AC Waveforms
23/38
24/38
DQ0-DQ15
G
E
A0-A1
A2-A20
tAVQV
tELQV
VALID
VALID
tGLQV
VALID
tAVQV1
VALID
VALID
VALID
VALID
tEHQX
VALID
tGHQX
VALID
tEHQZ
tGHQZ
AI02538
M59DR032A, M59DR032B
Figure 6. Page Read AC Waveforms
M59DR032A, M59DR032B
Table 26. Write AC Characteristics, Write Enable Controlled
(TA = 0 to 70 °C or –40 to 85 °C; VDD = VDDQ = 1.65V to 2.2V)
M59DR032
Symbol
Alt
Parameter
100
Min
tAVAV
tWC
Address Valid to Next Address Valid
tELWL
tCS
tWLWH
120
Max
Min
Unit
Max
100
120
ns
Chip Enable Low to Write Enable Low
0
0
ns
tWP
Write Enable Low to Write Enable High
50
50
ns
tDVWH
tDS
Input Valid to Write Enable High
50
50
ns
tWHDX
tDH
Write Enable High to Input Transition
0
0
ns
tWHEH
tCH
Write Enable High to Chip Enable High
0
0
ns
tWHWL
tWPH
Write Enable High to Write Enable Low
30
30
ns
tAVWL
tAS
Address Valid to Write Enable Low
0
0
ns
tWLAX
tAH
Write Enable Low to Address Transition
50
50
ns
Output Enable High to Write Enable Low
0
0
ns
tGHWL
tVDHEL
tVCS
VDD High to Chip Enable Low
50
50
µs
tWHGL
tOEH
Write Enable High to Output Enable Low
30
30
ns
tPLQ7V
RP Low to Reset Complete During
Program/Erase
15
15
µs
25/38
M59DR032A, M59DR032B
Table 27. Write AC Characteristics, Chip Enable Controlled
(TA = 0 to 70 °C or –40 to 85 °C; VDD = VDDQ = 1.65V to 2.2V)
M59DR032
Symbol
Alt
Parameter
100
Min
tAVAV
tWC
Address Valid to Next Address Valid
tWLEL
tWS
tELEH
120
Max
Min
Unit
Max
100
120
ns
Write Enable Low to Chip Enable Low
0
0
ns
tCP
Chip Enable Low to Chip Enable High
50
50
ns
tDVEH
tDS
Input Valid to Chip Enable High
50
50
ns
tEHDX
tDH
Chip Enable High to Input Transition
0
0
ns
tEHWH
tWH
Chip Enable High to Write Enable High
0
0
ns
tEHEL
tCPH
Chip Enable High to Chip Enable Low
30
30
ns
tAVEL
tAS
Address Valid to Chip Enable Low
0
0
ns
tELAX
tAH
Chip Enable Low to Address Transition
50
50
ns
0
0
ns
tGHEL
Output Enable High Chip Enable Low
tVDHWL
tVCS
VDD High to Write Enable Low
50
50
µs
tEHGL
tOEH
Chip Enable High to Output Enable Low
30
30
ns
tPLQ7V
26/38
RP Low to Reset Complete During
Program/Erase
15
15
µs
M59DR032A, M59DR032B
Figure 7. Write AC Waveforms, W Controlled
tAVAV
A0-A20
VALID
tWLAX
tAVWL
tWHEH
E
tELWL
tWHGL
G
tGHWL
tWLWH
W
tWHWL
tDVWH
DQ0-DQ15
tWHDX
VALID
VDD
tVDHEL
AI02539
Note: Address are latched on the falling edge of W, Data is latched on the rising edge of W.
27/38
M59DR032A, M59DR032B
Figure 8. Write AC Waveforms, E Controlled
tAVAV
A0-A20
VALID
tELAX
tAVEL
tEHWH
W
tWLEL
tEHGL
G
tGHEL
tELEH
E
tEHEL
tDVEH
DQ0-DQ15
tEHDX
VALID
VDD
tVDHWL
AI02540
Note: Address are latched on the falling edge of E, Data is latched on the rising edge of E.
28/38
M59DR032A, M59DR032B
Table 28. Data Polling and Toggle Bits AC Characteristics (1)
(TA = 0 to 70 °C or –40 to 85 °C; VDD = VDDQ = 1.65V to 2.2V)
M59DR032
Symbol
tWHQ7V
tEHQ7V
tQ7VQV
tWHQV
tEHQV
Parameter
Unit
Min
Max
Write Enable High to DQ7 Valid (Program, W Controlled)
10
200
µs
Write Enable High to DQ7 Valid (Block Erase, W Controlled)
1.0
10
sec
Chip Enable High to DQ7 Valid (Program, E Controlled)
10
200
µs
Chip Enable High to DQ7 Valid (Block Erase, E Controlled)
1.0
10
sec
0
ns
Q7 Valid to Output Valid (Data Polling)
Write Enable High to Output Valid (Program)
10
200
µs
Write Enable High to Output Valid (Block Erase)
1.0
10
sec
Chip Enable High to Output Valid (Program)
10
200
µs
Chip Enable High to Output Valid (Block Erase)
1.0
10
sec
Note: 1. All other timings are defined in Read AC Characteristics table.
29/38
M59DR032A, M59DR032B
30/38
tPLQ7V
tPLPH
RP
DQ7
W
tPHQ7V
READ
VALID
DQ7
PROGRAM / ERASE
VALID
AI02619
Figure 9. Read and Write AC Characteristics, RP Related
DQ0-DQ6/
DQ8-DQ15
DQ7
W
G
E
A0-A20
LAST WRITE
CYCLE OF
PROGRAM
OR ERASE
INSTRUCTION
DATA POLLING
READ CYCLES
tWHQ7V
tEHQ7V
tELQV
tAVQV
tQ7VQV
IGNORE
DQ7
DATA POLLING (LAST) CYCLE
tGLQV
ADDRESS (WITHIN BLOCKS)
VALID
VALID
AI02625
MEMORY
ARRAY
READ CYCLE
M59DR032A, M59DR032B
Figure 10. Data Polling DQ7 AC Waveforms
31/38
32/38
DATA
TOGGLE
READ CYCLE
Note: All other timings are as a normal Read cycle.
LAST WRITE
CYCLE OF
PROGRAM
OF ERASE
INSTRUCTION
DQ0-DQ1,DQ3-DQ5,
DQ7-DQ15
DQ6,DQ2
W
G
E
A0-A20
DATA TOGGLE
READ CYCLE
IGNORE
STOP TOGGLE
tWHQV
tEHQV
tAVQV
MEMORY ARRAY
READ CYCLE
VALID
VALID
tGLQV
tELQV
VALID
AI02543
M59DR032A, M59DR032B
Figure 11. Data Toggle DQ6, DQ2 AC Waveforms
M59DR032A, M59DR032B
Figure 12. Data Polling Flowchart
Figure 13. Data Toggle Flowchart
START
START
READ
DQ5 & DQ6
READ DQ5 & DQ7
at VALID ADDRESS
DQ7
=
DATA
DQ6
=
TOGGLES
YES
NO
NO
YES
NO
DQ5
=1
DQ5
=1
YES
YES
READ DQ7
READ DQ6
DQ7
=
DATA
YES
DQ6
=
TOGGLES
NO
FAIL
NO
NO
YES
PASS
FAIL
PASS
AI02574
AI02626
33/38
M59DR032A, M59DR032B
Table 29. Ordering Information Scheme
Example:
M59DR032A
100 ZB
6
T
Device Type
M59
Architecture
D = Dual Bank Page Mode
Operating Voltage
R = 1.8V
Device Function
032A = 32 Mbit (2Mb x16), Dual Bank: 1/8-7/8 partitioning, Top Boot
032B = 32 Mbit (2Mb x16), Dual Bank: 1/8-7/8 partitioning, Bottom Boot
032C = 32 Mbit (2Mb x16), Dual Bank: 1/4-3/4 partitioning, Top Boot
032D = 32 Mbit (2Mb x16), Dual Bank: 1/4-3/4 partitioning, Bottom Boot
032E = 32 Mbit (2Mb x16), Dual Bank: 1/half-1/half partitioning, Top Boot
032F = 32 Mbit (2Mb x16), Dual Bank: 1/half-1/half partitioning, Bottom Boot
Random Speed
100 = 100 ns
120 = 120 ns
Package
N = TSOP48: 12 x 20mm
ZB = FBGA48: 0.75mm pitch
Temperature Range
1 = 0 to 70°C
6 = –40 to 85°C
Option
T = Tape & Reel packing
Devices are shipped from the factory with the memory content erased (to FFFFh).
For a list of available options (Speed, Package, etc...) or for further information on any aspect of this device, please contact the STMicroelectronics Sales Office nearest to you.
Table 30. Revision History
Date
Revision Details
May 1999
First Issue
09/03/99
FBGA Package Outline drawing change
FBGA Connections change (Table 1, Figure 2A)
tWHGL and tEHGL Specification change (Table 26, 27)
10/20/99
Daisy Chain diagrams, Package and PCB Connections, added (Figure 16, 17)
34/38
M59DR032A, M59DR032B
Table 31. TSOP48 - 48 lead Plastic Thin Small Outline, 12 x 20 mm, Package Mechanical Data
mm
inches
Symbol
Typ
Min
Max
A
Typ
Min
1.20
Max
0.047
A1
0.05
0.15
0.002
0.006
A2
0.95
1.05
0.037
0.041
B
0.17
0.27
0.007
0.011
C
0.10
0.21
0.004
0.008
D
19.80
20.20
0.780
0.795
D1
18.30
18.50
0.720
0.728
E
11.90
12.10
0.469
0.476
–
–
–
–
L
0.50
0.70
0.020
0.028
α
0°
5°
0°
5°
N
48
e
0.50
0.020
48
CP
0.10
0.004
Figure 14. TSOP48 - 48 lead Plastic Thin Small Outline, 12 x 20 mm, Package Outline
A2
1
N
e
E
B
N/2
D1
A
CP
D
DIE
C
TSOP-a
A1
α
L
Drawing is not to scale.
35/38
M59DR032A, M59DR032B
Table 32. FBGA48 - 8 x 6 balls, 0.75 mm pitch, Package Mechanical Data
mm
inches
Symbol
Typ
A
1.250
A1
0.300
A2
0.700
b
0.450
Min
Max
Typ
Min
Max
0.010
0.014
0.016
0.022
0.492
0.250
0.350
0.012
0.275
0.400
0.550
ddd
0.018
0.075
0.003
D
7.000
6.800
7.200
0.276
0.268
0.283
D1
5.250
–
–
0.207
–
–
e
0.750
–
–
0.030
–
–
E
12.000
11.800
12.200
0.472
0.465
0.480
E1
3.750
–
–
0.148
–
–
SD
0.375
–
–
0.015
–
–
SE
0.375
–
–
0.015
–
–
Figure 15. FBGA48 - 8 x 6 balls, 0.75 mm pitch, Package Outline
D
D1
SD
BALL "A1"
E
SE
E1
ddd
e
b
A
A2
A1
BGA-Z03
Drawing is not to scale.
36/38
M59DR032A, M59DR032B
Figure 16. Daisy Chain - Package Connections (Top View)
1
2
3
4
5
6
7
8
A
B
C
D
E
F
AI03079
Figure 17. Daisy Chain - PCB Connections (Top View)
1
2
3
4
5
6
7
8
START
A
B
C
D
E
STOP
F
AI3080
37/38
M59DR032A, M59DR032B
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
 1999 STMicroelectronics - All Rights Reserved
All other names are the property of their respective owners.
STMicroelectronics GROUP OF COMPANIES
Australia - Brazil - China - Finland - France - Germany - Hong Kong - India - Italy - Japan - Malaysia - Malta - Morocco Singapore - Spain - Sweden - Switzerland - United Kingdom - U.S.A.
http://www.st.com
38/38