STMICROELECTRONICS M59DR016C

M59DR016C
M59DR016D
16 Mbit (1Mb x16, Dual Bank, Page)
1.8V Supply Flash Memory
PRODUCT PREVIEW
■
SUPPLY VOLTAGE
– VDD = VDDQ = 1.65V to 2.2V for Program,
Erase and Read
■
– VPP = 12V for fast Program (optional)
ASYNCHRONOUS PAGE MODE READ
– Page Width: 4 words
BGA
– Page Access: 35ns
– Random Access: 100ns
■
PROGRAMMING TIME
TFBGA48 (ZB)
8 x 6 balls array
– 10µs by Word typical
– Double Word Programming Option
■
MEMORY BLOCKS
– Dual Bank Memory Array: 4 Mbit - 12 Mbit
– Parameter Blocks (Top or Bottom location)
■
Figure 1. Logic Diagram
DUAL BANK OPERATIONS
– Read within one Bank while Program or
Erase within the other
– No delay between Read and Write operations
■
VDD VDDQ VPP
BLOCK PROTECTION/UNPROTECTION
– All Blocks protected at Power Up
– Any combination of Blocks can be protected
20
16
A0-A19
■
COMMON FLASH INTERFACE (CFI)
■
64 bit SECURITY CODE
W
■
ERASE SUSPEND and RESUME MODES
E
■
100,000 PROGRAM/ERASE CYCLES per
BLOCK
G
■
ELECTRONIC SIGNATURE
RP
– Manufacturer Code: 20h
WP
DQ0-DQ15
M59DR016C
M59DR016D
– Top Device Code, M59DR016C: 2293h
– Bottom Device Code, M59DR016D: 2294h
VSS
AI04106
March 2001
This is preliminary information on a new product now in development. Details are subject to change without notice.
1/37
M59DR016C, M59DR016D
Figure 2. TFBGA Connections (Top view through package)
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
NC
NC
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
AI04113
Table 1. Signal Names
A0-A19
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
Supply Voltage
VDDQ
Supply Voltage for Input/Output
Buffers
VPP
Optional Supply Voltage for
Fast Program & Erase
VSS
Ground
NC
Not Connected Internally
2/37
DESCRIPTION
The M59DR016 is a 16 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 TFBGA48 (0.75 mm pitch)
packages and it is supplied with all the bits erased
(set to ‘1’).
M59DR016C, M59DR016D
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.
Organization
The M59DR016 is organized as 1Mb x16 bits. A0A19 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. M59DR016 has an array of 39 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 M59DR016C, and at the bottom for the M59DR016D. 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/37
M59DR016C, M59DR016D
Table 3. Bank A, Top Boot Block Addresses
M59DR016C
#
Size
(KWord)
14
13
Table 5. Bank B, Bottom Boot Block Addresses
M59DR016D
Address Range
#
Size
(KWord)
Address Range
4
0FF000h-0FFFFFh
23
32
0F8000h-0FFFFFh
4
0FE000h-0FEFFFh
22
32
0F0000h-0F7FFFh
12
4
0FD000h-0FDFFFh
21
32
0E8000h-0EFFFFh
11
4
0FC000h-0FCFFFh
20
32
0E0000h-0E7FFFh
10
4
0FB000h-0FBFFFh
19
32
0D8000h-0DFFFFh
9
4
0FA000h-0FAFFFh
18
32
0D0000h-0D7FFFh
8
4
0F9000h-0F9FFFh
17
32
0C8000h-0CFFFFh
7
4
0F8000h-0F8FFFh
16
32
0C0000h-0C7FFFh
6
32
0F0000h-0F7FFFh
15
32
0B8000h-0BFFFFh
5
32
0E8000h-0EFFFFh
14
32
0B0000h-0B7FFFh
4
32
0E0000h-0E7FFFh
13
32
0A8000h-0AFFFFh
3
32
0D8000h-0DFFFFh
12
32
0A0000h-0A7FFFh
2
32
0D0000h-0D7FFFh
11
32
098000h-09FFFFh
1
32
0C8000h-0CFFFFh
10
32
090000h-097FFFh
0
32
0C0000h-0C7FFFh
9
32
088000h-08FFFFh
8
32
080000h-087FFFh
7
32
078000h-07FFFFh
6
32
070000h-077FFFh
5
32
068000h-06FFFFh
4
32
060000h-067FFFh
3
32
058000h-05FFFFh
2
32
050000h-057FFFh
1
32
048000h-04FFFFh
0
32
040000h-047FFFh
Table 4. Bank B, Top Boot Block Addresses
M59DR016C
Size
(KWord)
Address Range
23
32
0B8000h-0BFFFFh
22
32
0B0000h-0B7FFFh
21
32
0A8000h-0AFFFFh
20
32
0A0000h-0A7FFFh
19
32
098000h-09FFFFh
18
32
090000h-097FFFh
17
32
088000h-08FFFFh
16
32
080000h-087FFFh
15
32
078000h-07FFFFh
14
32
13
32
12
32
11
32
10
32
9
8
#
Table 6. Bank A, Bottom Boot Block Addresses
M59DR016D
#
Size
(KWord)
Address Range
070000h-077FFFh
14
32
038000h-03FFFFh
068000h-06FFFFh
13
32
030000h-037FFFh
060000h-067FFFh
12
32
028000h-02FFFFh
058000h-05FFFFh
11
32
020000h-027FFFh
050000h-057FFFh
10
32
018000h-01FFFFh
32
048000h-04FFFFh
9
32
010000h-017FFFh
32
040000h-047FFFh
8
32
008000h-00FFFFh
7
32
038000h-03FFFFh
7
4
007000h-007FFFh
6
32
030000h-037FFFh
6
4
006000h-006FFFh
5
32
028000h-02FFFFh
5
4
005000h-005FFFh
4
32
020000h-027FFFh
4
4
004000h-004FFFh
3
32
018000h-01FFFFh
3
4
003000h-003FFFh
2
32
010000h-017FFFh
2
4
002000h-002FFFh
1
32
008000h-00FFFFh
1
4
001000h-001FFFh
0
32
000000h-007FFFh
0
4
000000h-000FFFh
4/37
M59DR016C, M59DR016D
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
12 Mbit
-
24 blocks of 32 KWord
SIGNAL DESCRIPTIONS
See Figure 1 and Table 1.
Address Inputs (A0-A19). 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
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.
5/37
M59DR016C, M59DR016D
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
M59DR016C
VIL
VIL
VIH
VIH
VIL
0
Don’t Care
22h
93h
M59DR016D
VIL
VIL
VIH
VIH
VIL
0
Don’t Care
22h
94h
Code
Device
Manufacturer Code
DQ7-DQ0
Device Code
Table 10. Read Block Protection (AS and Read CFI instructions)
E
G
W
A0
A1
A19-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.
6/37
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).
M59DR016C, M59DR016D
INSTRUCTIONS AND COMMANDS
Seventeen instructions are defined (see Table
14), 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 14). 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.
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, 19, 20 and 21 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
7/37
M59DR016C, M59DR016D
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 M59DR016. 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-A19 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
8/37
(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.
M59DR016C, M59DR016D
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.
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.
9/37
M59DR016C, M59DR016D
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
10/37
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.
M59DR016C, M59DR016D
Table 14. 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
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
11/37
M59DR016C, M59DR016D
Mne.
BL
BE
BKE
ES
ER
Note: 1.
2.
3.
4.
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
Commands not interpreted in this table will default to read array mode.
For Coded cycles address inputs A11-A19 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.
12/37
M59DR016C, M59DR016D
Table 15. 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.
13/37
M59DR016C, M59DR016D
Table 16. 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 15
and 16). 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
14/37
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.
M59DR016C, M59DR016D
Table 17. 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)
M59DR016
Parameter
Max (1)
Typical after
100k W/E Cycles
Unit
Typ
Parameter Block (4 KWord) Erase (Preprogrammed)
2.5
0.15
0.4
s
Main Block (32 KWord) Erase (Preprogrammed)
10
1
3
s
Bank Erase (Preprogrammed, Bank A)
2
6
s
Bank Erase (Preprogrammed, Bank B)
10
30
s
Chip Program (2)
20
25
s
Chip Program (DPG, VPP = 12V) (2)
10
Min
s
Word Program (3)
200
10
10
µs
Double Word Program
200
10
10
µs
Program/Erase Cycles (per Block)
100,000
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.
3. Same timing value if V PP = 12V.
POWER CONSUMPTION
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.
15/37
M59DR016C, M59DR016D
COMMON FLASH INTERFACE (CFI)
The Common Flash Interface (CFI) specification is
a JEDEC approved, standardised data structure
that can be read from the Flash memory device.
CFI allows a system software to query the flash
device to determine various electrical and timing
parameters, density information and functions
supported by the device. CFI allows the system to
easily interface to the Flash memory, to learn
about its features and parameters, enabling the
software to configure itself when necessary.
Tables 18, 19, 20 and 21 show the address used
to retrieve each data.
The CFI data structure gives information on the
device, such as the sectorization, the command
set and some electrical specifications. Tables 18,
19, 20 and 21 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 81h. This
area can be accessed only in read mode and there
are no ways of changing the code after it has been
written by ST. Write a read instruction to return to
Read mode. Refer to the CFI Query instruction to
understand how the M59DR016 enters the CFI
Query mode.
Table 18. 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 19, 20 and 21. Query data are always presented on the lowest order data outputs.
Table 19. CFI Query Identification String
Offset
Data
Description
00h
0020h
01h
2293h - top
2294h - bottom
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’.
16/37
M59DR016C, M59DR016D
Table 20. 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
17/37
M59DR016C, M59DR016D
Table 21. Device Geometry Definition
Offset Word
Mode
Data
27h
0015h
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.
M59DR016C M59DR016C Erase Block Region Information
2Dh
001Eh
2Eh
0000h
2Fh
0000h
30h
0001h
31h
0007h
32h
0000h
33h
0020h
34h
0000h
M59DR016D M59DR016D
2Dh
0007h
2Eh
0000h
2Fh
0020h
30h
0000h
31h
001Eh
32h
0000h
33h
0000h
34h
0001h
18/37
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
M59DR016C, M59DR016D
Table 22. AC Measurement Conditions
Input Rise and Fall Times
Figure 4. AC Testing Load Circuit
≤ 4ns
VDDQ / 2
0 to VDDQ
Input Pulse Voltages
Input and Output Timing Ref. Voltages
VDDQ/2
1N914
3.3kΩ
Figure 3. Testing Input/Output Waveforms
DEVICE
UNDER
TEST
VDDQ
OUT
CL = 30pF
VDDQ/2
0V
CL includes JIG capacitance
AI02315
AI02316
Table 23. Capacitance (1)
(TA = 25 °C, f = 1 MHz)
Symbol
CIN
COUT
Parameter
Input Capacitance
Output Capacitance
Test Condition
Min
Max
Unit
VIN = 0V
6
pF
VOUT = 0V
12
pF
Note: 1. Sampled only, not 100% tested.
19/37
M59DR016C, M59DR016D
Table 24. DC Characteristics
(TA = 0 to 70°C or –40 to 85°C; VDD = VDDQ = 1.65V to 2.2V)
Symbol
Parameter
Test Condition
Min
Typ
Max
Unit
0V ≤ VIN ≤ VDD
±1
µA
0V ≤ VOUT ≤ VDD
±5
µA
ILI
Input Leakage Current
ILO
Output Leakage Current
ICC1
Supply Current
(Read Mode)
E = VIL, G = VIH, f = 6MHz
10
20
mA
ICC2
Supply Current
(Power Down)
RP = VSS ± 0.2V
2
10
µA
ICC3
Supply Current (Standby)
E = VDD ± 0.2V
15
50
µA
ICC4 (1)
Supply Current
(Program or Erase)
Word Program, Block Erase
in progress
10
20
mA
ICC5 (1)
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
VPP ≤ VCC
0.2
5
µA
VPP = 12V ± 0.6V
100
400
µA
IPP1
VPP Supply Current
(Program or Erase)
IPP2
VPP Supply Current
(Standby or Read)
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/37
V
–0.4
VDD + 0.4
V
11.4
12.6
V
M59DR016C, M59DR016D
Table 25. Read AC Characteristics
(TA = 0 to 70°C or –40 to 85°C; VDD = VDDQ = 1.65V to 2.2V)
M59DR016
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
100
ns
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 .
21/37
22/37
Note: Write Enable (W) = High.
DQ0-DQ15
G
E
A0-A19
tAVQV
tGLQV
tGLQX
tELQX
tELQV
VALID
tAVAV
VALID
tGHQZ
tGHQX
tEHQX
tEHQZ
tAXQX
AI04107
M59DR016C, M59DR016D
Figure 5. Random Read AC Waveforms
DQ0-DQ15
G
E
A0-A1
A2-A19
tAVQV
tELQV
VALID
VALID
tGLQV
VALID
tAVQV1
VALID
VALID
VALID
VALID
tEHQX
VALID
tGHQX
VALID
tEHQZ
tGHQZ
AI04108
M59DR016C, M59DR016D
Figure 6. Page Read AC Waveforms
23/37
M59DR016C, M59DR016D
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)
M59DR016
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
24/37
RP Low to Reset Complete During
Program/Erase
15
15
µs
M59DR016C, M59DR016D
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)
M59DR016
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
RP Low to Reset Complete During
Program/Erase
15
15
µs
25/37
M59DR016C, M59DR016D
Figure 7. Write AC Waveforms, W Controlled
tAVAV
A0-A19
VALID
tWLAX
tAVWL
tWHEH
E
tELWL
tWHGL
G
tGHWL
tWLWH
W
tWHWL
tDVWH
DQ0-DQ15
tWHDX
VALID
VDD
tVDHEL
AI04109
Note: Address are latched on the falling edge of W, Data is latched on the rising edge of W.
26/37
M59DR016C, M59DR016D
Figure 8. Write AC Waveforms, E Controlled
tAVAV
A0-A19
VALID
tELAX
tAVEL
tEHWH
W
tWLEL
tEHGL
G
tGHEL
tELEH
E
tEHEL
tDVEH
DQ0-DQ15
tEHDX
VALID
VDD
tVDHWL
AI04110
Note: Address are latched on the falling edge of E, Data is latched on the rising edge of E.
27/37
M59DR016C, M59DR016D
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)
M59DR016
Symbol
tWHQ7V
tEHQ7V
tQ7VQV
tWHQV
tEHQV
Parameter
Max
Write Enable High to DQ7 Valid (Program, W Controlled)
10
200
µs
Write Enable High to DQ7 Valid (Block Erase, W Controlled)
1
10
s
Chip Enable High to DQ7 Valid (Program, E Controlled)
10
200
µs
Chip Enable High to DQ7 Valid (Block Erase, E Controlled)
1
10
s
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
10
s
Chip Enable High to Output Valid (Program)
10
200
µs
Chip Enable High to Output Valid (Block Erase)
1
10
s
Note: 1. All other timings are defined in Read AC Characteristics table.
28/37
Unit
Min
M59DR016C, M59DR016D
tPLQ7V
tPLPH
RP
DQ7
W
tPHQ7V
READ
VALID
DQ7
PROGRAM / ERASE
VALID
AI02619
Figure 9. Read and Write AC Characteristics, RP Related
29/37
30/37
DQ0-DQ6/
DQ8-DQ15
DQ7
W
G
E
A0-A19
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
AI04111
MEMORY
ARRAY
READ CYCLE
M59DR016C, M59DR016D
Figure 10. Data Polling DQ7 AC Waveforms
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-A19
DATA TOGGLE
READ CYCLE
IGNORE
STOP TOGGLE
tWHQV
tEHQV
tAVQV
MEMORY ARRAY
READ CYCLE
VALID
VALID
tGLQV
tELQV
VALID
AI04112
M59DR016C, M59DR016D
Figure 11. Data Toggle DQ6, DQ2 AC Waveforms
31/37
M59DR016C, M59DR016D
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
32/37
M59DR016C, M59DR016D
Table 29. Ordering Information Scheme
Example:
M59DR016C
100 ZB
6
T
Device Type
M59
Architecture
D = Dual Bank Page Mode
Operating Voltage
R = 1.8V
Device Function
016C = 16 Mbit (x16), Dual Bank: 1/4-3/4 partitioning, Top Boot
016D = 16 Mbit (x16), Dual Bank: 1/4-3/4 partitioning, Bottom Boot
Random Speed
100 = 100 ns
120 = 120 ns
Package
ZB = TFBGA48: 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 bits erased to ’1’.
Table 30. Daisy Chain Ordering Scheme
Example:
M59DR016
-ZB T
Device Type
M59DR016
Daisy Chain
-ZB = TFBGA48: 0.75mm pitch
Option
T = Tape & Reel Packing
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.
33/37
M59DR016C, M59DR016D
Table 31. Revision History
Date
Version
March 2001
-01
34/37
Revision Details
First Issue
M59DR016C, M59DR016D
Table 32. TFBGA48 - 8 x 6 balls array, 0.75 mm pitch, Package Mechanical Data
millimeters
inches
Symbol
Typ
Min
Max
A
Typ
Min
Max
1.350
A1
0.300
0.200
0.0531
0.350
A2
0.0118
0.0079
0.0138
1.000
b
0.300
0.550
0.0394
0.0118
0.0217
D
7.000
6.900
7.100
0.2756
0.2717
0.2795
D1
5.250
–
–
0.2067
–
–
ddd
0.100
0.0039
E
12.000
11.900
12.100
0.4724
0.4685
0.4764
E1
3.750
–
–
0.1476
–
–
e
0.750
–
–
0.0295
–
–
SD
0.375
–
–
0.0148
–
–
SE
0.375
–
–
0.0148
–
–
FE
4.125
–
–
0.1624
–
–
FD
0.875
–
–
0.0344
–
–
Figure 14. TFBGA48 - 8 x 6 balls array, 0.75 mm pitch, Package Outline
D
D1
FD
SD
FE
SE
E1
E
ddd
BALL "A1"
A
e
b
A2
A1
BGA-Z03
Drawing is not to scale.
35/37
M59DR016C, M59DR016D
Figure 15. TFBGA48 Daisy Chain - Package Connections (Top view through package
1
2
3
4
5
6
7
8
A
B
C
D
E
F
AI03079
Figure 16. TFBGA48 Daisy Chain - PCB Connections proposal (Top view through package)
1
2
3
4
5
6
7
8
START
POINT
A
B
C
D
E
END
POINT
F
AI03080
36/37
M59DR016C, M59DR016D
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.
 2001 STMicroelectronics - All Rights Reserved
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.
www.st.com
37/37