STMICROELECTRONICS M58LW128B

M58LW128A
M58LW128B
128 Mbit (8Mb x16 or 4Mb x32, Uniform Block, Burst)
3V Supply Flash Memories
PRELIMINARY DATA
FEATURES SUMMARY
■ WIDE DATA BUS for HIGH BANDWIDTH
Figure 1. Packages
– M58LW128A: x16
– M58LW128B: x16/x32
■
SUPPLY VOLTAGE
– VDD = 2.7 to 3.6V core supply voltage for Program, Erase and Read operations
■
– VDDQ = 1.8 to VDD for I/O Buffers
SYNCHRONOUS/ASYNCHRONOUS READ
TSOP56 (N)
14 x 20mm
– Synchronous Burst read
– Pipelined Synchronous Burst Read
– Asynchronous Random Read
– Asynchronous Address Latch Controlled
Read
– Page Read
■
TBGA
TBGA64 (ZA)
10 x 13mm
ACCESS TIME
– Synchronous Burst Read up to 66MHz
– Asynchronous Page Mode Read 150/25ns
TBGA
– Random Read 150ns
■
PROGRAMMING TIME
– 16 Word or 8 Double-Word Write Buffer
TBGA80 (ZA)
10 x 13mm
– 12µs Word effective programming time
■
128 UNIFORM 64 KWord MEMORY BLOCKS
■
BLOCK PROTECTION/ UNPROTECTION
■
PROGRAM and ERASE SUSPEND
■
OTP SECURITY AREA
■
COMMON FLASH INTERFACE
■
100,000 PROGRAM/ERASE CYCLES per
BLOCK
■
ELECTRONIC SIGNATURE
– Manufacturer Code: 0020h
– Device Code M58LW128A: 8818h
– Device Code M58LW128B: 8819h
February 2003
This is preliminary information on a new product now in development or undergoing evaluation. Details are subject to change without notice.
1/65
M58LW128A, M58LW128B
TABLE OF CONTENTS
SUMMARY DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Figure 2. Logic Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Table 1. Signal Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Figure 3. TSOP56 Connections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Figure 4. TBGA64 Connections for M58LW128A (Top view through package) . . . . . . . . . . . . . . . 9
Figure 5. TBGA80 Connections for M58LW128B (Top view through package) . . . . . . . . . . . . . . 10
Figure 6. Block Addresses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
SIGNAL DESCRIPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Address Inputs (A1-A23). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Data Inputs/Outputs (DQ0-DQ31). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Chip Enable (E). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Output Enable (G). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Write Enable (W). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Reset/Power-Down (RP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Latch Enable (L). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Clock (K).. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Burst Address Advance (B). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Valid Data Ready (R). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Word Organization (WORD).. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Ready/Busy (RB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Program/Erase Enable (VPP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
VDD Supply Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Input/Output Supply Voltage (VDDQ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Ground (VSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Ground (VSSQ ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
BUS OPERATIONS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Asynchronous Bus Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Asynchronous Bus Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Asynchronous Latch Controlled Bus Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Asynchronous Page Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Asynchronous Bus Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Asynchronous Latch Controlled Bus Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Output Disable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Standby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Power-Down. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Table 2. Asynchronous Bus Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Synchronous Bus Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Synchronous Burst Read. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Synchronous Pipelined Burst Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Synchronous Burst Read Suspend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Table 3. Synchronous Burst Read Bus Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2/65
M58LW128A, M58LW128B
Table 4. Address Latch Cycle for Optimum Pipelined Synchronous Burst Read . . . . . . . . . . . . .
Figure 7. Synchronous Burst Read Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Figure 8. Example Synchronous Pipelined Burst Read Operation . . . . . . . . . . . . . . . . . . . . . . . .
Figure 9. Example Burst Address Advance and Burst Abort operations . . . . . . . . . . . . . . . . . . . .
17
18
18
19
Burst Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Read Select Bit (M15) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
X-Latency Bits (M14-M11). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Y-Latency Bit (M9) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Valid Data Ready Bit (M8). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Burst Type Bit (M7).. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Valid Clock Edge Bit (M6).. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Latch Enable Bit (M3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Burst Length Bit (M2-M0). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Table 5. Burst Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Table 6. Burst Type Definition (x16 Bus Width). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table 7. Burst Type Definition (x32 Bus Width). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table 8. Burst Performance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
COMMAND INTERFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Read Memory Array Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Read Electronic Signature Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Read Query Command.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Read Status Register Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Clear Status Register Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Block Erase Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Write to Buffer and Program Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Program/Erase Suspend Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Program/Erase Resume Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Set Burst Configuration Register Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Block Protect Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Blocks Unprotect Command.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Table 9. Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Table 10. Read Electronic Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Table 11. Program, Erase Times and Program Erase Endurance Cycles . . . . . . . . . . . . . . . . . . 28
STATUS REGISTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Program/Erase Controller Status (Bit 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Erase Suspend Status (Bit 6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Erase Status (Bit 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Program Status (Bit 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
VPP Status (Bit 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Program Suspend Status (Bit 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Block Protection Status (Bit 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Reserved (Bit 0). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Table 12. Status Register Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3/65
M58LW128A, M58LW128B
MAXIMUM RATING. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Table 13. Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
DC and AC PARAMETERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Table 14. Operating and AC Measurement Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Figure 10. AC Measurement Input Output Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Figure 11. AC Measurement Load Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Table 15. Capacitance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Table 16. DC Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figure 12. Asynchronous Bus Read AC Waveforms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Table 17. Asynchronous Bus Read AC Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Figure 13. Asynchronous Latch Controlled Bus Read AC Waveforms . . . . . . . . . . . . . . . . . . . . . 36
Table 18. Asynchronous Latch Controlled Bus Read AC Characteristics . . . . . . . . . . . . . . . . . . . 36
Figure 14. Asynchronous Page Read AC Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Table 19. Asynchronous Page Read AC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Figure 15. Asynchronous Write AC Waveform, Write Enable Controlled . . . . . . . . . . . . . . . . . . . 38
Figure 16. Asynchronous Latch Controlled Write AC Waveform, Write Enable Controlled . . . . . . 38
Table 20. Asynchronous Write and Latch Controlled Write AC Characteristics, Write Enable
Controlled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Figure 17. Asynchronous Write AC Waveforms, Chip Enable Controlled . . . . . . . . . . . . . . . . . . . 40
Figure 18. Asynchronous Latch Controlled Write AC Waveforms, Chip Enable Controlled . . . . . 40
Table 21. Asynchronous Write and Latch Controlled Write AC Characteristics, Chip Enable
Controlled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Figure 19. Synchronous Burst Read AC Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Figure 20. Synchronous Burst Read - Continuous - Valid Data Ready Output . . . . . . . . . . . . . . . 43
Table 22. Synchronous Burst Read AC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Figure 21. Reset, Power-Down and Power-Up AC Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Table 23. Reset, Power-Down and Power-Up AC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . 45
PACKAGE MECHANICAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Figure 22. TSOP56 - 56 lead Plastic Thin Small Outline, 14 x 20 mm, Package Outline . . . . . . .
Table 24. TSOP56 - 56 lead Plastic Thin Small Outline, 14 x 20 mm, Package Mechanical Data
Figure 23. TBGA64 - 10x13mm - 8 x 8 ball array, 1mm pitch, Package Outline . . . . . . . . . . . . . .
Table 25. TBGA64 - 10x13mm - 8 x 8 ball array, 1 mm pitch, Package Mechanical Data . . . . . .
Figure 24. TBGA80 - 10x13mm - 8 x 10 ball array, 1mm pitch, Package Outline . . . . . . . . . . . . .
Table 26. TBGA80 - 10x13mm - 8 x 10 ball array, 1mm pitch, Package Mechanical Data. . . . . .
46
46
47
47
48
48
PART NUMBERING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Table 27. Ordering Information Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 9
APPENDIX A. BLOCK ADDRESS TABLE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Table 28. Block Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
APPENDIX B. COMMON FLASH INTERFACE - CFI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Table 29. Query Structure Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4/65
M58LW128A, M58LW128B
Table 30. CFI - Query Address and Data Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 31. CFI - Device Voltage and Timing Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 32. Device Geometry Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 33. Block Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 34. Extended Query information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
54
55
55
56
APPENDIX C. FLOW CHARTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Figure 25. Write to Buffer and Program Flowchart and Pseudo Code . . . . . . . . . . . . . . . . . . . . .
Figure 26. Program Suspend & Resume Flowchart and Pseudo Code . . . . . . . . . . . . . . . . . . . .
Figure 27. Erase Flowchart and Pseudo Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Figure 28. Erase Suspend & Resume Flowchart and Pseudo Code. . . . . . . . . . . . . . . . . . . . . . .
Figure 29. Command Interface and Program Erase Controller Flowchart (a) . . . . . . . . . . . . . . . .
Figure 30. Command Interface and Program Erase Controller Flowchart (b) . . . . . . . . . . . . . . . .
Figure 31. Command Interface and Program Erase Controller Flowchart (c) . . . . . . . . . . . . . . . .
57
58
59
60
61
62
63
REVISION HISTORY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Table 35. Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5/65
M58LW128A, M58LW128B
SUMMARY DESCRIPTION
M58LW128 is a 128 Mbit (8Mb x16 or 4Mb x32)
non-volatile memory that can be read, erased and
reprogrammed. These operations can be performed using a single low voltage (2.7V to 3.6V)
core supply. On power-up the memory defaults to
Read mode with an asynchronous bus where it
can be read in the same way as a non-burst Flash
memory.
The memory is divided into 128 blocks of 1Mbit
that can be erased independently so it is possible
to preserve valid data while old data is erased.
Program and Erase commands are written to the
Command Interface of the memory. An on-chip
Program/Erase Controller simplifies the process of
programming or erasing the memory by taking
care of all of the special operations that are required to update the memory contents. The end of
a Program or Erase operation can be detected and
any error conditions identified in the Status Register. The command set required to control the
memory is consistent with JEDEC standards.
The Write Buffer allows the microprocessor to program up to 16 Words (or 8 Double Words) in parallel, both speeding up the programming and
freeing up the microprocessor to perform other
work. The minimum buffer size for a program operation is an 8 Word (or 4 Double Word) page. A
page can only be programmed once between
Erase operations.
Erase can be suspended in order to perform either
read or program in any other block and then resumed. Program can be suspended to read data in
any other block and then resumed. Each block can
be programmed and erased over 100,000 cycles.
Individual block protection against program or
erase is provided for data security. All blocks are
protected during power-up. The protection of the
blocks is non-volatile; after power-up the protec-
6/65
tion status of each block is restored to the state
when power was last removed. Software commands are provided to allow protection of some or
all of the blocks and to cancel all block protection
bits simultaneously. All program or erase operations are blocked when the Program Erase Enable
input Vpp is low.
The Reset/Power-Down pin is used to apply a
Hardware Reset to the memory and to set the device in Power-Down mode. It can also be used to
temporarily disable the protection mechanism.
In asynchronous mode Chip Enable, Output Enable and Write Enable signals control the bus operation of the memory. An Address Latch input can
be used to latch addresses in Latch Controlled
mode. Together they allow simple, yet powerful,
connection to most microprocessors, often without
additional logic.
In synchronous mode all Bus Read operations are
synchronous with the Clock. Chip Enable and Output Enable select the Bus Read operation; the address is Latched using the Latch Enable inputs
and the address is advanced using Burst Address
Advance. The signals are compatible with most
microprocessor burst interfaces.
A One Time Programmable (OTP) area is included
for security purposes. Either 512 Words (x16 Bus
Width) or 512 Double-Words (x32 Bus Width) is
available in the OTP area. The process of reading
from and writing to the OTP area is not published
for security purposes; contact STMicroelectronics
for details on how to use the OTP area.
The memory is offered in various packages. The
M58LW128A is available in TSOP56 (14 x 20 mm)
and TBGA64 (1mm pitch). The M58LW128B is
available in TBGA80 (1mm pitch).
M58LW128A, M58LW128B
Figure 2. Logic Diagram
Table 1. Signal Names
A1
Address Input (x16 Bus Width only)
A2-A23
Address inputs
DQ0-DQ15
Data Inputs/Outputs
DQ16-DQ31
Data Inputs/Outputs (x32 Bus Width of
M58LW128B only)
B
Burst Address Advance
E
Chip Enable
G
Output Enable
RB
K
Clock
R
L
Latch Enable
R
Valid Data Ready
RB
Ready/Busy
RP
Reset/Power-Down
VPP
Program/Erase Enable
W
Write Enable
WORD
Word Organization (M58LW128B only)
VDD
Supply Voltage
VDDQ
Input/Output Supply Voltage
VSS
Ground
VSSQ
Input/Output Ground
NC
Not Connected Internally
VDD VDDQ
23
16
A1-A23
DQ0-DQ15
16
VPP
DQ16-DQ31
W
E
G
M58LW128A
M58LW128B
(1)
RP
L
B
K
WORD
(1)
VSS VSSQ
AI04314
Note: 1. M58LW128B only.
7/65
M58LW128A, M58LW128B
Figure 3. TSOP56 Connections
A22
R
A21
A20
A19
A18
A17
A16
VDD
A15
A14
A13
A12
E
VPP
RP
A11
A10
A9
A8
VSS
A7
A6
A5
A4
A3
A2
A1
1
56
NC
W
G
RB
14
43
M58LW128A
15
42
28
29
DQ15
DQ7
DQ14
DQ6
VSSQ
DQ13
DQ5
DQ12
DQ4
VDDQ
VSS
DQ11
DQ3
DQ10
DQ2
VDD
DQ9
DQ1
DQ8
DQ0
B
K
A23
L
AI04315
8/65
M58LW128A, M58LW128B
Figure 4. TBGA64 Connections for M58LW128A (Top view through package)
1
2
3
4
5
6
7
8
A
A1
A6
A8
VPP
A13
VDD
A18
A22
B
A2
VSS
A9
E
A14
NC
A19
R
C
A3
A7
A10
A12
A15
NC
A20
A21
D
A4
A5
A11
RP
NC
NC
A16
A17
E
DQ8
DQ1
DQ9
DQ3
DQ4
NC
DQ15
RB
F
K
DQ0
DQ10
DQ11
DQ12
NC
NC
G
G
A23
B
DQ2
VDDQ
DQ5
DQ6
DQ14
W
H
L
NC
VDD
VSS
DQ13
VSSQ
DQ7
NC
AI04316
9/65
M58LW128A, M58LW128B
Figure 5. TBGA80 Connections for M58LW128B (Top view through package)
1
2
3
4
5
6
7
8
A
A1
A8
VSS
E
A13
VDD
A18
A22
B
A2
A7
A9
A12
A14
A16
A19
R
C
A3
A6
A10
VPP
A15
A17
A20
A21
D
A4
A5
A11
RP
A23
NC
NC
NC
E
DQ16
DQ25
DQ19
WORD
DQ6
DQ28
DQ22
DQ31
F
DQ24
DQ18
DQ27
DQ10
DQ13
DQ20
DQ29
DQ23
G
DQ17
DQ26
L
DQ3
DQ5
W
DQ21
DQ30
H
K
B
DQ2
DQ11
DQ12
DQ15
RB
G
J
DQ0
DQ1
VDD
VSS
DQ4
VSSQ
VSSQ
DQ7
K
DQ8
DQ9
VDD
VSS
VDDQ
VDDQ
VDDQ
DQ14
AI04318
10/65
M58LW128A, M58LW128B
Figure 6. Block Addresses
M58LW128B
Double-Word (x32) Bus Width
Address lines A2-A23
(A1 is Don't Care)
M58LW128A, M58LW128B
Word (x16) Bus Width
Address lines A1-A23
7FFFFFh
7F0000h
7EFFFFh
7E0000h
3FFFFFh
1 Mbit or
64 KWords
3F8000h
3F7FFFh
1 Mbit or
64 KWords
3F0000h
1 Mbit or
32 KDouble-Words
1 Mbit or
32 KDouble-Words
Total of 128
1 Mbit Blocks
01FFFFh
010000h
00FFFFh
000000h
00FFFFh
1 Mbit or
64 KWords
008000h
007FFFh
1 Mbit or
64 KWords
000000h
1 Mbit or
32 KDouble-Words
1 Mbit or
32 KDouble-Words
AI06130
Note: Also see Appendix A, Table 28 for a full listing of the Block Addresses
SIGNAL DESCRIPTIONS
See Figure 2, Logic Diagram and Table 1, Signal
Names, for a brief overview of the signals connected to this device.
Address Inputs (A1-A23). The Address Inputs
are used to select the cells to access in the memory array during Bus Read operations either to
read or to program data to. During Bus Write operations they control the commands sent to the
Command Interface of the internal state machine.
Chip Enable must be low when selecting the addresses.
The address inputs are latched on the rising edge
of Chip Enable, Write Enable or Latch Enable,
whichever occurs first in a write operation. The address latch is transparent when Latch Enable is
low, V IL. The address is internally latched in a program or erase operation.
With a x32 Bus Width, WORD = VIH, Address Input
A1 is ignored; the Least Significant Word is output
on DQ0-DQ15 and the Most Significant Word is
output on DQ16-DQ31. With a x16 Bus Width,
WORD = VIL, the Least Significant Word is output
on DQ0-DQ15 when A1 is low, V IL, and the Most
Significant Word is output on DQ0-DQ15 when A1
is high, V IH.
Data Inputs/Outputs (DQ0-DQ31). The Data Inputs/Outputs output the data stored at the selected
address during a Bus Read operation, or are used
to input the data during a Program operation. During Bus Write operations they represent the commands sent to the Command Interface of the
internal state machine. When used to input data or
write commands they are latched on the rising
edge of Write Enable or Chip Enable, whichever
occurs first.
When Chip Enable and Output Enable are both
low, V IL, the data bus outputs data from the memory array, the Electronic Signature, the Block Protection status, the CFI Information or the contents
of the Status Register. The data bus is high impedance when the chip is deselected, Output Enable
is High, VIH, or the Reset/Power-Down signal is
Low, VIL. When the Program/Erase Controller is
active the Ready/Busy status is given on DQ7
while DQ0-DQ6 and DQ8-DQ31 are high impedance.
With a x16 Bus Width, WORD = VIL, DQ16-DQ31
are not used and are high impedance.
Chip Enable (E). The Chip Enable, E, input activates the memory control logic, input buffers, decoders and sense amplifiers. Chip Enable, E, at
VIH deselects the memory and reduces the power
consumption to the Standby level, IDD1.
Output Enable (G). The Output Enable, G, gates
the outputs through the data output buffers during
a read operation. When Output Enable, G, is at VIH
11/65
M58LW128A, M58LW128B
the outputs are high impedance. Output Enable,
G, can be used to inhibit the data output during a
burst read operation.
Write Enable (W). The Write Enable input, W,
controls writing to the Command Interface, Input
Address and Data latches. Both addresses and
data can be latched on the rising edge of Write Enable (also see Latch Enable, L).
Reset/Power-Down (RP). The
Reset/PowerDown pin can be used to apply a Hardware Reset
to the memory or to temporarily unprotect all
blocks that have been protected.
A Hardware Reset is achieved by holding Reset/
Power-Down Low, VIL, for at least tPLPH. When
Reset/Power-Down is Low, VIL, the Status Register information is cleared and the current is reduced to IDD2 (refer to Table 16, DC
Characteristics). The device is deselected and
outputs are high impedance. If Reset/PowerDown goes low, VIL,during a Block Erase, a Write
to Buffer and Program or a Block Protect/Unprotect the operation is aborted and the data may be
corrupted. In this case the Ready/Busy pin stays
low, V IL, for a maximum timing of tPLPH + tPHRH.
After Reset/Power-Down goes High, V IH, the
memory will be ready for Bus Read and Bus Write
operations after tRHEL. Note that Ready/Busy does
not fall during a reset, see Ready/Busy Output
section.
During power-up Reset/Power-Down must be held
Low, V IL. Furthermore it must stay low for tVDHPH
after the Supply Voltage inputs become stable.
The device will then be configured in Asynchronous Random Read mode.
See Table 23 and Figure 21, Reset, Power-Down
and Power-up Characteristics, for more details.
Holding RP at VHH will temporarily unprotect the
protected blocks in the memory. Program and
Erase operations on all blocks will be possible.
In an application, it is recommended to associate
Reset/Power-Down pin, RP, with the reset signal
of the microprocessor. Otherwise, if a reset operation occurs while the memory is performing a program or erase operation, the memory may output
the Status Register information instead of being
initialized to the default Asynchronous Random
Read.
Latch Enable (L). The Bus Interface can be configured to latch the Address Inputs on the rising
edge of Latch Enable, L. In synchronous bus operations the address is latched on the active edge of
the Clock when Latch Enable is Low, V IL. Once
latched, the addresses may change without affecting the address used by the memory. When Latch
Enable is Low, VIL, the latch is transparent.
Clock (K). The Clock, K, is used to synchronize
the memory with the external bus during Synchro12/65
nous Bus Read operations. The Clock can be configured to have an active rising or falling edge. Bus
signals are latched on the active edge of the Clock
during synchronous bus operations. In Synchronous Burst Read mode the address is latched on
the first active clock edge when Latch Enable is
low, VIL, or on the rising edge of Latch Enable,
whichever occurs first.
During Asynchronous Bus operations the Clock is
not used.
Burst Address Advance (B). The Burst Address
Advance, B, controls the advancing of the address
by the internal address counter during synchronous bus operations.
Burst Address Advance, B, is only sampled on the
active clock edge of the Clock when the X- or Ylatency time has expired. If Burst Address Advance is Low, VIL, the internal address counter advances. If Burst Address Advance is High, VIH, the
internal address counter does not change; the
same data remains on the Data Inputs/Outputs
and Burst Address Advance is not sampled until
the Y-latency expires.
The Burst Address Advance, B, may be tied to VIL.
Valid Data Ready (R). The Valid Data Ready
output, R, is an open drain output that can be used
to identify if the memory is ready to output data or
not. The Valid Data Ready output is only active
during Synchronous Burst Read operations when
the Burst Length is set to Continuous. The Valid
Data Ready output can be configured to be active
on the clock edge of the invalid data read cycle or
one cycle before. Valid Data Ready Low, V OL, indicates that the data is not, or will not be valid. Valid Data Ready in a high-impedance state indicates
that valid data is or will be available.
Unless the Burst Length is set to Continuous and
Synchronous Burst Read has been selected, Valid
Data Ready is high-impedance. It may be tied to
other components with the same Valid Data
Ready signal to create a unique System Ready
signal.
When the system clock frequency is between
33MHz and 50MHz and the Y latency is set to 2,
values of B sampled on odd clock cycles, starting
from the first read are not considered.
Designers should use an external pull-up resistor
of the correct value to meet the external timing requirements for Valid Data Ready rising. Refer to
Figure 20.
Word Organization (WORD). The Word Organization input, WORD, selects the x16 or x32 Bus
Width on the M58LW128B. The Word Organization input is not available on the M58LW128A.
When WORD is Low, VIL, Word-wide x16 Bus
Width is selected; data is read and written to DQ0DQ15; DQ16-DQ31 are at high impedance and A1
M58LW128A, M58LW128B
is the LSB of the address bus. When WORD is
High, VIH, the Double-Word wide x32 Bus Width is
selected and the data is read and written to on
DQ0-DQ31; A2 is the LSB of the address bus and
A1 is don’t care.
Ready/Busy (RB). The Ready/Busy output, RB,
is an open-drain output that can be used to identify
if the Program/Erase Controller is currently active.
When Ready/Busy is high impedance, the memory is ready for any read, program or erase operation. Ready/Busy is Low, VOL, during program and
erase operations. When the device is busy it will
not accept any additional Program or Erase commands except Program/Erase Suspend. When the
Program/Erase Controller is idle, or suspended,
Ready Busy can float High through a pull-up resistor.
The use of an open-drain output allows the Ready/
Busy pins from several memories to be connected
to a single pull-up resistor. A Low will then indicate
that one, or more, of the memories is busy.
Ready/Busy is not Low during a reset unless the
reset was applied when the Program/Erase Controller was active; Ready/Busy can rise before Reset/Power-Down rises.
Program/
Program/Erase Enable (V PP). The
Erase Enable input, VPP, is used to protect all
blocks, preventing Program and Erase operations
from affecting their data.
When Program/Erase Enable is Low, VIL, any program or erase operation sent to the Command Interface will cause the VPP Status bit (bit3) in the
Status Register to be set. When Program/Erase
Enable is High, V IH, program and erase operations
can be performed on unprotected blocks. Program/Erase Enable must be kept High during all
Program, Erase, Block Protect and Block Unpro-
tect operations, otherwise the operation is not
guaranteed to succeed and data may become corrupt.
VDD Supply Voltage. The Supply Voltage, VDD,
is the core power supply. All internal circuits draw
their current from the V DD pin, including the Program/Erase Controller.
A 0.1µF capacitor should be connected between
the Supply Voltage, VDD, and the Ground, VSS, to
decouple the current surges from the power supply. The PCB track widths must be sufficient to
carry the currents required during all operations of
the parts, see Table 16, DC Characteristics, for
maximum current supply requirements.
Input/Output Supply Voltage (V DDQ). The Input/Output Supply Voltage, V DDQ, is the input/output buffer power supply. All input and output pins
and voltage references are powered and measured relative to the Input/Output Supply Voltage
pin, V DDQ.
The Input/Output Supply Voltage, VDDQ, must always be equal or less than the VDD Supply Voltage, including during Power-Up.
A 0.1µF capacitor should be connected between
the Input/Output Supply Voltage, VDDQ, and the
Ground, V SSQ, to decouple the current surges
from the power supply. If VDDQ and VDD are connected together then only one decoupling capacitor is required.
Ground (V SS). Ground, VSS, is the reference for
all core power supply voltages.
Ground (V SSQ). Ground, VSSQ, is the reference
for input/output voltage measurements. It is essential to connect VSS and VSSQ to the same
ground.
13/65
M58LW128A, M58LW128B
BUS OPERATIONS
The bus operations that control the memory are
described in this section, see Tables 2 and 3, Bus
Operations, for a summary. The bus operation is
selected through the Burst Configuration Register;
the bits in this register are described at the end of
this section.
On Power-up or after a Hardware Reset the memory defaults to Asynchronous Bus Read and Asynchronous Bus Write, no other bus operation can
be performed until the Burst Control Register has
been configured.
Synchronous Read operations and Latch Controlled Bus Read operations can only be used to
read the memory array. The Electronic Signature,
CFI or Status Register will be read in asynchronous mode regardless of the Burst Control Register settings.
Typically glitches of less than 5ns on Chip Enable
or Write Enable are ignored by the memory and do
not affect bus operations.
Asynchronous Bus Operations
For asynchronous bus operations refer to Table 3
together with the text below.
Asynchronous Bus Read. Asynchronous Bus
Read operations read from the memory cells, or
specific registers (Electronic Signature, Status
Register, CFI and Block Protection Status) in the
Command Interface. A valid bus operation involves setting the desired address on the Address
Inputs, applying a Low signal, V IL, to Chip Enable
and Output Enable and keeping Write Enable
High, VIH. The Data Inputs/Outputs will output the
value, see Figure 12, Asynchronous Bus Read AC
Waveforms, and Table 17, Asynchronous Bus
Read AC Characteristics, for details of when the
output becomes valid.
Asynchronous Latch Controlled Bus Read.
Asynchronous Latch Controlled Bus Read operations read from the memory cells. The address is
latched in the memory before the value is output
on the data bus, allowing the address to change
during the cycle without affecting the address that
the memory uses.
A valid bus operation involves setting the desired
address on the Address Inputs, setting Chip Enable and Address Latch Low, V IL and keeping
Write Enable High, VIH; the address is latched on
the rising edge of Address Latch. Once latched,
the Address Inputs can change. Set Output Enable Low, VIL, to read the data on the Data Inputs/
Outputs; see Figure 13, Asynchronous Latch Controlled Bus Read AC Waveforms and Table 18,
Asynchronous Latch Controlled Bus Read AC
Characteristics for details on when the output becomes valid.
14/65
Note that, since the Latch Enable input is transparent when set Low, VIL, Asynchronous Bus Read
operations can be performed when the memory is
configured for Asynchronous Latch Enable bus
operations by holding Latch Enable Low, VIL
throughout the bus operation.
Asynchronous Page Read. Asynchronous Page
Read operations are used to read from several addresses within the same memory page. Each
memory page is 8 Words or 4 Double-Words and
has the same A4-A23, only A1, A2 and A3 may
change.
Valid bus operations are the same as Asynchronous Bus Read operations but with different timings. The first read operation within the page has
identical timings, subsequent reads within the
same page have much shorter access times. If the
page changes then the normal, longer timings apply again. See Figure 14, Asynchronous Page
Read AC Waveforms and Table 19, Asynchronous Page Read AC Characteristics for details on
when the outputs become valid.
Asynchronous Bus Write. Asynchronous Bus
Write operations write to the Command Interface
in order to send commands to the memory or to
latch addresses and input data to program. Bus
Write operations are asynchronous, the clock, K,
is don’t care during Bus Write operations.
A valid Asynchronous Bus Write operation begins
by setting the desired address on the Address Inputs and setting Latch Enable Low, VIL. The Address Inputs are latched by the Command
Interface on the rising edge of Chip Enable or
Write Enable, whichever occurs first. The Data Inputs/Outputs are latched by the Command Interface on the rising edge of Chip Enable or Write
Enable, whichever occurs first. Output Enable
must remain High, VIH, during the whole Asynchronous Bus Write operation. See Figures 15,
and 17, Asynchronous Write AC Waveforms, and
Tables 20 and 21, Asynchronous Write and Latch
Controlled Write AC Characteristics, for details of
the timing requirements.
Asynchronous Latch Controlled Bus Write.
Asynchronous Latch Controlled Bus Write operations write to the Command Interface in order to
send commands to the memory or to latch addresses and input data to program. Bus Write operations are asynchronous, the clock, K, is don’t
care during Bus Write operations.
A valid Asynchronous Latch Controlled Bus Write
operation begins by setting the desired address on
the Address Inputs and pulsing Latch Enable Low,
VIL. The Address Inputs are latched by the Command Interface on the rising edge of Latch Enable,
Chip Enable or Write Enable, whichever occurs
M58LW128A, M58LW128B
puts/Outputs pins are placed in the high impedance state regardless of Output Enable or Write
Enable. The Supply Current is reduced to the
Standby Supply Current, IDD1.
During Program or Erase operations the memory
will continue to use the Program/Erase Supply
Current, IDD3, for Program or Erase operations until the operation completes.
Power-Down. The memory is in Power-Down
mode when Reset/Power-Down, RP, is Low. The
current is reduced to IDD2, and the outputs are
high impedance, independent of Chip Enable,
Output Enable or Write Enable.
first. The Data Inputs/Outputs are latched by the
Command Interface on the rising edge of Chip Enable or Write Enable, whichever occurs first. Output Enable must remain High, V IH, during the
whole Asynchronous Bus Write operation. See
Figures 16 and 18 Asynchronous Latch Controlled
Write AC Waveforms, and Tables 20 and 21,
Asynchronous Write and Latch Controlled Write
AC Characteristics, for details of the timing requirements.
Output Disable. The Data Inputs/Outputs are in
the high impedance state when the Output Enable
is High.
Standby. When Chip Enable is High, VIH, the
memory enters Standby mode and the Data InTable 2. Asynchronous Bus Operations
E
G
W
RP
M3(2)
L
A1-A23
DQ0-DQ31
VIL
VIL
VIH
High
0
X
Address
Data Output
Address Latch
VIL
VIL
VIH
High
1
VIL
Address
High Z
Read
VIL
VIL
VIH
High
1
VIH
X
Data Output
Asynchronous Page Read
VIL
VIL
VIH
High
0
X
Address
Data Output
Asynchronous Bus Write
VIL
VIH
VIL
High
X
VIL
Address
Data Input
VIL
VIH
VIL
High
X
VIL
Address
Data Input
Output Disable
VIL
VIH
VIH
High
X
X
X
High Z
Standby
VIH
X
X
High
X
X
X
High Z
X
X
X
VIL
X
X
X
High Z
Bus Operation
Step
Asynchronous Bus Read
Asynchronous Latch
Controlled Bus Read
Asynchronous Latch
Controlled Bus Write
Power-Down
Address Latch
Note: 1. X = Don’t Care VIL or VIH . High = VIH or VHH.
2. M15 = 1, Bits M15 and M3 are in the Burst Configuration Register.
15/65
M58LW128A, M58LW128B
Synchronous Bus Operations
For synchronous bus operations refer to Table 3
together with the text below.
Synchronous Burst Read. Synchronous Burst
Read operations are used to read from the memory at specific times synchronized to an external reference clock. The burst type, length and latency
can be configured. The different configurations for
Synchronous Burst Read operations are described in the Burst Configuration Register section.
A valid Synchronous Burst Read operation begins
when the address is set on the Address Inputs,
Write Enable is High, VIH, and Chip Enable and
Latch Enable are Low, V IL, during the active edge
of the Clock. The address is latched on the first active clock edge when Latch Enable is low, or on
the rising edge of Latch Enable, whichever occurs
first. The data becomes available for output after
the X-latency specified in the Burst Control Register has expired. The output buffers are activated
by setting Output Enable Low, V IL. See Figure 7
for an example of a Synchronous Burst Read operation.
The Burst Address Advance input and the Y-latency specified in the Burst Control Register determine whether the internal address counter is
advanced on the active edge of the Clock. When
the internal address counter is advanced the Data
Inputs/Outputs change to output the value for the
next address.
In Continuous Burst mode (Burst Length Bit M2M0 is set to ‘111’), one Burst Read operation can
access the entire memory sequentially and wrap
at the last address. The Burst Address Advance,
B, must be kept low, VIL, for the appropriate number of clock cycles. If Burst Address Advance, B,
is pulled High, VIH, the Burst Read will be suspended.
In Continuous Burst Mode, if the starting address
is not associated with a page (4 Word or 2 Double
Word) boundary the Valid Data Ready, R, output
goes Low, V IL, to indicate that the data will not be
ready in time and additional wait-states are required. The Valid Data Ready output timing (bit
M8) can be changed in the Burst Configuration
Register.
When using the x32 Bus Width certain X-latencies
are not valid and must not be used; see Table 5,
Burst Configuration Register.
16/65
The Synchronous Burst Read timing diagrams
and AC Characteristics are described in the AC
and DC Parameters section. See Figures 19, 20
and Table 22.
Synchronous Pipelined Burst Read. Synchronous Burst Read operations can be overlapped to
avoid or reduce the X-latency. Pipelined operations should only be used with Burst Configuration
Register bit M9 = 0 (Y-latency setting).
A valid Synchronous Pipelined Burst Read operation occurs during a Synchronous Burst Read operation when the new address is set on the
Address Inputs and a Low pulse is applied to Latch
Enable. The data for the new address becomes
valid after the X-latency specified in the Burst Configuration Register has expired.
For optimum operation the address should be
latched on the correct clock cycle. Table 4 gives
the clock cycle for each valid X- and Y-latency setting. Only these settings are valid, other settings
must not be used. There is always one Y-Latency
period where the data is not valid. If the address is
latched later than the clock cycle specified in Tables 4 then additional cycles where the data is not
valid are inserted. See Figure 8 for an example of
a Synchronous Pipelined Burst Read operation.
Here the X-latency is 8, the Y-latency is 1 and the
burst length is 4; the first address is latched on cycle 1 while the next address is latched on cycle 6,
as shown in Table 4.
Synchronous Pipelined Burst Read operations
should only be performed on Burst Lengths of 4 or
8 with a x16 Bus Width or a Burst Length of 4 with
a x32 Bus Width.
Suspending a Pipelined Synchronous Burst Read
operation is not recommended.
Synchronous Burst Read Suspend. During a
Synchronous Burst Read operation it is possible to
suspend the operation, freeing the data bus for
other higher priority devices.
A valid Synchronous Burst Read operation is suspended when both Output Enable and Burst Address Advance are High, VIH. The Burst Address
Advance going High, VIH, stops the burst counter
and the Output Enable going High, V IH, inhibits the
data outputs. The Synchronous Burst Read operation can be resumed by setting Output Enable
Low. See Figure 7 for an example of a Synchronous Burst Read Suspend operation.
M58LW128A, M58LW128B
Table 3. Synchronous Burst Read Bus Operations
E
G
RP
K(3)
L
B
A1-A23
DQ0-DQ31
Address Latch
VIL
X
VIH
T
VIL
X
Address Input
Read (no address advance)
VIL
VIL
VIH
T
X
VIH
Data Output
Read (with address advance)
VIL
VIL
VIH
T
X
VIL
Data Output
Read Suspend
VIL
VIH
VIH
X
X
VIH
High Z
Read Resume (no address
advance)
VIL
VIL
VIH
T
X
VIH
Data Output
Read Resume (with address
advance)
VIL
VIL
VIH
T
X
VIL
Data Output
Read Abort
VIH
X
VIH
X
X
X
High Z
Bus Operation
Synchronous Burst Read
Pipelined Synchronous
Burst Read
Step
Note: 1. X = Don’t Care, VIL or VIH.
2. M15 = 0, Bit M15 is in the Burst Configuration Register.
3. T = transition, see M6 in the Burst Configuration Register for details on the active edge of K.
Table 4. Address Latch Cycle for Optimum Pipelined Synchronous Burst Read
Address Latch Clock Cycle
X-Latency
Y-Latency
Burst Length = 4
Burst Length = 8
8
1
6
10
9
1
7
11
12
1
10
14
13
1
11
15
15
2
11
19
17/65
M58LW128A, M58LW128B
Figure 7. Synchronous Burst Read Operation
0
1
X-1
X
X+1
K
Address
Inputs
Q1
L
tBHKH
tBLKH
B
Data Inputs/
Outputs
Q1
tBHKH
tBHKH
Q2
Q3
Q4
Q5
Q5
Q5
Q6
Q7
Q7
Q8
Q8
AI03454b
Note: In this example the Burst Configuration Register is set with M2-M0 = 001 (Burst Length = 4 Words or Double Words), M6 = 1 (Valid
Clock Edge = Rising Clock Edge), M7 = 0 or 1 (Burst Type = Interleaved or Sequential), M9 = 0 (Y-Latency = 1), M14-M11 = 0011 (XLatency = 8) and M15 = 0 (Read Select = Synchronous Burst Read), other bits are don’t care.
Figure 8. Example Synchronous Pipelined Burst Read Operation
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
NV
R1
R2
R3
R4
NV
S1
S2
S3
K
Address
Inputs
Q1
R1
S1
L
E
G
B
Data
Inputs/ Outputs
Q1
Q2
Q3
Q4
NV= Not Valid
AI03455
Note: In this example the Burst Configuration Register is set with M2-M0 = 001 (Burst Length = 4 Words or Double Words), M6 = 1 (Valid
Clock Edge = Rising Clock Edge), M7 = 0 or 1 (Burst Type = Interleaved or Sequential), M9 = 0 (Y-Latency = 1), M14-M11 = 0011 (XLatency = 8) and M15 = 0 (Read Select = Synchronous Burst Read), other bits are don’t care.
18/65
M58LW128A, M58LW128B
Figure 9. Example Burst Address Advance and Burst Abort operations
0
1
X
X-2
X+2
X+4
X+6
X+8
X+10
X+12
K
Address
Inputs
Q1
L
B
Data Inputs/
Outputs
tBHKH
tBLKH
tBHKH
tBHKH
Q1
Q2
Q3
Q3
Q4
Q4
Q4
AI03457b
Note: 1. In this example the Burst Configuration Register is set with M2-M0 = 010 (Burst Length = 8 Words), M6 = 1 (Valid Clock Edge =
Rising Clock Edge), M7 = 0 or 1 (Burst Type = Interleaved or Sequential), M9 = 1 (Y-Latency = 2), M14-M11 = 0011 (X-Latency =
8) and M15 = 0 (Read Select = Synchronous Burst Read), other bits are don’t care.
2. When the system clock frequency is between 33MHz and 50MHz and the Y latency is set to 2, values of B sampled on odd clock
cycles, starting from the first read are not considered.
19/65
M58LW128A, M58LW128B
Burst Configuration Register
The Burst Configuration Register is used to configure the type of bus access that the memory will
perform.
The Burst Configuration Register is set through
the Command Interface and will retain its information until it is re-configured, the device is reset, or
the device goes into Reset/Power-Down mode.
The Burst Configuration Register bits are described in Table 5. They specify the selection of
the burst length, burst type, burst X and Y latencies and the Read operation.
Read Select Bit (M15). The Read Select bit,
M15, is used to switch between asynchronous and
synchronous Bus Read operations. When the
Read Select bit is set to ’1’, Bus Read operations
are asynchronous; when the Read Select but is
set to ’0’, Bus Read operations are synchronous.
On reset or power-up the Read Select bit is set
to’1’ for asynchronous accesses.
X-Latency Bits (M14-M11). The X-Latency bits
are used during Synchronous Bus Read operations to set the number of clock cycles between
the address being latched and the first data becoming available. For correct operation the X-Latency bits can only assume the values in Table 5,
Burst Configuration Register. The X-Latency bits
should also be selected in conjunction with Table
8, Burst Performance to ensure valid settings.
Y-Latency Bit (M9). The Y-Latency bit is used
during Synchronous Bus Read operations to set
the number of clock cycles between consecutive
reads. The Y-Latency value depends on both the
X-Latency value and the setting in M9.
When the Y-Latency is 1 the data changes each
clock cycle; when the Y-Latency is 2 the data
changes every second clock cycle. See Table 5,
Burst Configuration Register and Table 8, Burst
Performance, for valid combinations of the Y-Latency, the X-Latency and the Clock frequency.
Valid Data Ready Bit (M8). The
Valid
Data
Ready bit controls the timing of the Valid Data
20/65
Ready output pin, R. When the Valid Data Ready
bit is ’0’ the Valid Data Ready output pin is driven
Low for the active clock edge when invalid data is
output on the bus. When the Valid Data Ready bit
is ’1’ the Valid Data Ready output pin is driven Low
one clock cycle prior to invalid data being output
on the bus.
Burst Type Bit (M7). The Burst Type bit is used
to configure the sequence of addresses read as
sequential or interleaved. When the Burst Type bit
is ’0’ the memory outputs from interleaved addresses; when the Burst Type bit is ’1’ the memory
outputs from sequential addresses. See Tables 6
and 7, Burst Type Definition, for the sequence of
addresses output from a given starting address in
each mode.
Valid Clock Edge Bit (M6). The Valid Clock Edge
bit, M6, is used to configure the active edge of the
Clock, K, during Synchronous Burst Read operations. When the Valid Clock Edge bit is ’0’ the falling edge of the Clock is the active edge; when the
Valid Clock Edge bit is ’1’ the rising edge of the
Clock is active.
Latch Enable Bit (M3). The Latch Enable bit is
used to select between Asynchronous Random
Read and Asynchronous Latch Enable Controlled
Read. When the Latch Enable bit is set to ‘0’ Random read is selected; when it is set to ‘1’ Latch Enable Controlled Read is selected. To enable these
Asynchronous Read configurations M15 must be
set to ‘1’.
Burst Length Bit (M2-M0). The Burst Length bits
set the maximum number of Words or DoubleWords that can be output during a Synchronous
Burst Read operation before the address wraps.
Table 5, Burst Configuration Register gives the
valid combinations of the Burst Length bits that the
memory accepts; Tables 6 and 7, Burst Type Definition, give the sequence of addresses output
from a given starting address for each length.
M10, M5 and M4 are reserved for future use.
M58LW128A, M58LW128B
Table 5. Burst Configuration Register
Address
Mnemonic
Bit
17
16
to
13
M15
M14-M11
Bit Name
Read
Select
X-Latency
Reset
Value
Value
Description
Valid Bus
Width
0
Synchronous Burst Read
x16 or x32
1
Asynchronous Bus Read
x16 or x32
0010
X-Latency = 7, use only with Continuous Burst
Length
x16 or x32
0011
X-Latency = 8
x16 or x32
0100
X-Latency = 9
x16 or x32
0101
X-Latency = 10, use only with Continuous Burst
Length
x16 only
0110
X-Latency = 11, use only with Continuous Burst
Length
x16 only
1001
X-Latency = 12
x16 only
1010
X-Latency = 13
x16 only
1011
X-Latency = 13, use only with Continuous Burst
Length
x16 or x32
1101
X-Latency = 15
x16 or x32
1
XXXX
Others Reserved, Do Not Use.
11
10
9
8
5
4
to
2
M9
M8
M7
M6
M3
M2-M0
Y-Latency
When X-Latency < 13, Y-Latency = 1
When M14-M11 = 1011 or 1101, Y-Latency = 2
x16 or x32
1
When X-Latency ≤15 but M14-M11≠1011 or
1101, Y-Latency = 2,
When M14-M11=1011 or 1101 DO NOT USE.
x16 or x32
0
R valid Low during valid Clock edge
x16 or x32
1
R valid Low one cycle before valid Clock edge
x16 or x32
0
Interleaved
x16 or x32
1
Sequential
x16 or x32
0
Falling Clock edge
x16 or x32
1
Rising Clock edge
x16 or x32
0
Random Read
x16 or x32
1
Latch Enable Controlled Read
x16 or x32
100
1 Word or Double-Word
x16 or x32
101
2 Words or Double-Words
x16 or x32
001
4 Words or Double-Words
x16 or x32
010
8 Words
111
Continuous
X
Valid Data
Ready
X
Burst Type
X
Valid Clock
Edge
X
Latch
Enable
0
Burst
Length
0
XXX
x16 only
x16 or x32
Others Reserved, Do Not Use.
21/65
M58LW128A, M58LW128B
Table 6. Burst Type Definition (x16 Bus Width)
Burst Length
Starting Address
(binary)
Sequential
(decimal)
Interleaved
(decimal)
XX0
0, 1
0, 1
XX1
1, 0
1, 0
X00
0, 1, 2, 3
0, 1, 2, 3
X01
1, 2, 3, 0
1, 0, 3, 2
X10
2, 3, 0, 1
2, 3, 0, 1
X11
3, 0, 1, 2
3, 2, 1, 0
000
0, 1, 2, 3, 4, 5, 6, 7
0, 1, 2, 3, 4, 5, 6, 7
001
1, 2, 3, 4, 5, 6, 7, 0
1, 0, 3, 2, 5, 4, 7, 6
010
2, 3, 4, 5, 6, 7, 0, 1
2, 3, 0, 1, 6, 7, 4, 5
011
3, 4, 5, 6, 7, 0, 1, 2
3, 2, 1, 0, 7, 6, 5, 4
100
4, 5, 6, 7, 0, 1, 2, 3
4, 5, 6, 7, 0, 1, 2, 3
101
5, 6, 7, 0, 1, 2, 3, 4
5, 4, 7, 6, 1, 0, 3, 2
110
6, 7, 0, 1, 2, 3, 4, 5
6, 7, 4, 5, 2, 3, 0, 1
111
7, 0, 1, 2, 3, 4, 5, 6
7, 6, 5, 4, 3, 2, 1, 0
A
A, A+1, A+2...
Not Valid
Sequential
(decimal)
Interleaved
(decimal)
X0
0, 1
0, 1
X1
1, 0
1, 0
00
0, 1, 2, 3
0, 1, 2, 3
01
1, 2, 3, 0
1, 0, 3, 2
10
2, 3, 0, 1
2, 3, 0, 1
11
3, 0, 1, 2
3, 2, 1, 0
A3 A2 A1
2
4
8
Continuous
Note: X = 0 or 1.
Table 7. Burst Type Definition (x32 Bus Width)
Burst Length
Starting Address
(binary)
A3 A2
2
4
8
Continuous
Note: X = 0 or 1.
22/65
Not Valid
A
A, A+1, A+2...
Not Valid
M58LW128A, M58LW128B
Table 8. Burst Performance
X-Latency
Y-Latency
Bus Width
Clock Frequency
7
8
Mode
continuous only
1
continuous, length
9
x16, x32
7
8
≤ 33 MHz
continuous only
2
continuous, length
9
10
continuous only
11
1
12
continuous, length
13
x16 only
10
≤ 50 MHz
continuous only
11
2
12
continuous, length
13
13
2(M9=0)
15
x16, x32
≤ 66 MHz
continuous only
continuous, length
23/65
M58LW128A, M58LW128B
COMMAND INTERFACE
All Bus Write operations to the memory are interpreted by the Command Interface. Commands
consist of one or more sequential Bus Write operations. The Commands are summarized in Table
9, Commands. Refer to Table 9 in conjunction with
the text descriptions below.
After Power-Up or a Reset operation the memory
enters Read mode.
Synchronous Read operations and Latch Controlled Bus Read operations can only be used to
read the memory array. The Electronic Signature,
CFI or Status Register will be read in Asynchronous mode regardless of the Burst Control Register settings. Once the memory returns to Read
Memory Array mode the bus will resume the setting in the Burst Configuration Register automatically.
Read Memory Array Command. The Read Memory Array command returns the memory to Read
mode. One Bus Write cycle is required to issue the
Read Memory Array command and return the
memory to Read mode. Once the command is issued the memory remains in Read mode until another command is issued. From Read mode Bus
Read operations will access the memory array.
While the Program/Erase Controller is executing a
Program, Erase, Block Protect or Blocks Unprotect operation the memory will not accept the Read
Memory Array command until the operation completes.
Read Electronic Signature Command. The Read
Electronic Signature command is used to read the
Manufacturer Code, the Device Code and the
Block Protection Status. One Bus Write cycle is required to issue the Read Electronic Signature
command. Once the command is issued subsequent Bus Read operations read the Manufacturer
Code, the Device Code or the Block Protection
Status until another command is issued; see Table
10, Read Electronic Signature.
Read Query Command. The Read Query Command is used to read data from the Common Flash
Interface (CFI) Memory Area. One Bus Write cycle
is required to issue the Read Query Command.
Once the command is issued subsequent Bus
Read operations read from the Common Flash Interface Memory Area. See Appendix B, Tables 29,
30, 31, 32, 33 and 34 for details on the information
contained in the Common Flash Interface (CFI)
memory area.
Note that the addresses for the Common Flash Interface Memory Area are A1-A23 for the
M58LW128A and A2-A23 for the M58LW128B, regardless of the Bus Width selected.
Read Status Register Command. The Read Status Register command is used to read the Status
24/65
Register. One Bus Write cycle is required to issue
the Read Status Register command. Once the
command is issued subsequent Bus Read operations read the Status Register until another command is issued.
The Status Register information is present on the
output data bus (DQ1-DQ7) when both Chip Enable and Output Enable are low, V IL.
See the section on the Status Register and Table
12 for details on the definitions of the Status Register bits
Clear Status Register Command. The Clear Status Register command can be used to reset bits 1,
3, 4 and 5 in the Status Register to ‘0’. One Bus
Write is required to issue the Clear Status Register
command.
The bits in the Status Register are sticky and do
not automatically return to ‘0’ when a new Write to
Buffer and Program, Erase, Block Protect or Block
Unprotect command is issued. If any error occurs
then it is essential to clear any error bits in the Status Register by issuing the Clear Status Register
command before attempting a new Program,
Erase or Resume command.
Block Erase Command. The Block Erase command can be used to erase a block. It sets all of
the bits in the block to ‘1’. All previous data in the
block is lost. If the block is protected then the
Erase operation will abort, the data in the block will
not be changed and the Status Register will output
the error.
Two Bus Write operations are required to issue the
command; the second Bus Write cycle latches the
block address in the internal state machine and
starts the Program/Erase Controller. Once the
command is issued subsequent Bus Read operations read the Status Register. See the section on
the Status Register for details on the definitions of
the Status Register bits.
During the Erase operation the memory will only
accept the Read Status Register command and
the Program/Erase Suspend command. All other
commands will be ignored. Typical Erase times
are given in Table 11.
See Appendix C, Figure 27, Block Erase Flowchart and Pseudo Code, for a suggested flowchart
on using the Block Erase command.
Write to Buffer and Program Command. The
Write to Buffer and Program command is used to
program the memory array.
Up to 2 pages of 8 Words (or 4 Double Words) can
be loaded into the Write Buffer and programmed
into the memory. The 2 pages are selected by address A4. Each Write Buffer has the same A5 -A23
addresses.
M58LW128A, M58LW128B
Four successive steps are required to issue the
command.
1. One Bus Write operation is required to set up
the Write to Buffer and Program Command. Issue the set up command with the selected
memory Block Address where the program operation should occur (any address in the block
where the values will be programmed can be
used). Any Bus Read operations will start to output the Status Register after the 1st cycle.
2. Use one Bus Write operation to write the same
block address along with the value N on the
Data Inputs/Output, where N+1 is the number of
Words (x16 Bus Width) or Double Words (x32
Bus Width) to be programmed.
3. Use N+1 Bus Write operations to load the address and data for each Word or Double Word
into the Write Buffer. See the constraints on the
address combinations listed below. The addresses must have the same A5-A23.
4. Finally, use one Bus Write operation to issue the
final cycle to confirm the command and start the
Program operation.
Invalid address combinations or failing to follow
the correct sequence of Bus Write cycles will set
an error in the Status Register and abort the operation without affecting the data in the memory array. The Status Register should be cleared before
re-issuing the command.
The minimum buffer size for a program operation
is an 8 Word (or 4 Double Word) page. Inside the
page the 8 Words are selected by addresses A3,
A2 and A1.
For any page, only one Write to Buffer and Program Command can be issued inside a previously
erased block. Any further Program operations on
that page must be preceded by an Erase operation
on the respective block.
If the block being programmed is protected an error will be set in the Status Register and the operation will abort without affecting the data in the
memory array. The block must be unprotected using the Blocks Unprotect command or by using the
Blocks Temporary Unprotect feature of the Reset/
Power-Down pin, RP.
See Appendix C, Figure 25, Write to Buffer and
Program Flowchart and Pseudo Code, for a suggested flowchart on using the Write to Buffer and
Program command.
Program/Erase Suspend Command. The
Program/Erase Suspend command is used to pause a
Write to Buffer and Program or Erase operation.
The command will only be accepted during a Program or an Erase operation. It can be issued at
any time during an Erase operation but will only be
accepted during a Write to Buffer and Program
command if the Program/Erase Controller is running.
One Bus Write cycle is required to issue the Program/Erase Suspend command and pause the
Program/Erase Controller. Once the command is
issued it is necessary to poll the Program/Erase
Controller Status bit (bit 7) to find out when the
Program/Erase Controller has paused; no other
commands will be accepted until the Program/
Erase Controller has paused. After the Program/
Erase Controller has paused, the memory will continue to output the Status Register until another
command is issued.
During the polling period between issuing the Program/Erase Suspend command and the Program/
Erase Controller pausing it is possible for the operation to complete. Once the Program/Erase
Controller Status bit (bit 7) indicates that the Program/Erase Controller is no longer active, the Program Suspend Status bit (bit 2) or the Erase
Suspend Status bit (bit 6) can be used to determine if the operation has completed or is suspended. For timing on the delay between issuing the
Program/Erase Suspend command and the Program/Erase Controller pausing see Table 11.
During Program/Erase Suspend the Read Memory Array, Read Status Register, Read Electronic
Signature, Read Query and Program/Erase Resume commands will be accepted by the Command Interface. Additionally, if the suspended
operation was Erase then the Write to Buffer and
Program, and the Program Suspend commands
will also be accepted. When a program operation
is completed inside a Block Erase Suspend the
Read Memory Array command must be issued to
reset the device in Read mode, then the Erase Resume command can be issued to complete the
whole sequence. Only the blocks not being erased
may be read or programmed correctly.
See Appendix C, Figure 26, Program Suspend &
Resume Flowchart and Pseudo Code, and Figure
28, Erase Suspend & Resume Flowchart and
Pseudo Code, for suggested flowcharts on using
the Program/Erase Suspend command.
Program/Erase Resume Command. The
Program/Erase Resume command can be used to restart the Program/Erase Controller after a
Program/Erase Suspend operation has paused it.
One Bus Write cycle is required to issue the Program/Erase Resume command. Once the command is issued subsequent Bus Read operations
read the Status Register.
Set Burst Configuration Register Command.
The Set Burst Configuration Register command is
used to write a new value to the Burst Configuration Control Register which defines the burst
length, type, X and Y latencies, Synchronous/
25/65
M58LW128A, M58LW128B
Asynchronous Read mode and the valid Clock
edge configuration.
Two Bus Write cycles are required to issue the Set
Burst Configuration Register command. Once the
command is issued the memory returns to Read
mode as if a Read Memory Array command had
been issued.
The value for the Burst Configuration Register is
always presented on A2-A17, regardless of the
bus width that is selected. M0 is on A2, M1 on A3,
etc.; the other address bits are ignored.
Block Protect Command. The Block Protect
command is used to protect a block and prevent
Program or Erase operations from changing the
data in it. Two Bus Write cycles are required to issue the Block Protect command; the second Bus
Write cycle latches the block address in the internal state machine and starts the Program/Erase
Controller. Once the command is issued subsequent Bus Read operations read the Status Register. See the section on the Status Register for
details on the definitions of the Status Register
bits.
26/65
During the Block Protect operation the memory will
only accept the Read Status Register command.
All other commands will be ignored. Typical Block
Protection times are given in Table 11.
The Block Protection bits are non-volatile, once
set they remain set through Reset and PowerDown/Power-Up. They are cleared by a Blocks
Unprotect command or temporary disabled by
raising the Reset/Power-Down pin to V HH and
holding it at that level throughout a Block Erase or
Write to Buffer and Program command.
Blocks Unprotect Command. The Blocks Unprotect command is used to unprotect all of the
blocks. Two Bus Write cycles are required to issue
the Blocks Unprotect command; the second Bus
Write cycle starts the Program/Erase Controller.
Once the command is issued subsequent Bus
Read operations read the Status Register. See the
section on the Status Register for details on the
definitions of the Status Register bits.
During the Block Unprotect operation the memory
will only accept the Read Status Register command. All other commands will be ignored. Typical
Block Protection times are given in Table 11.
M58LW128A, M58LW128B
Table 9. Commands
Cycles
Bus Write Operations
Addr
Read Memory Array
1
X
FFh
Read Electronic Signature
1
X
90h
Read Query
1
X
98h
Command
1st
2nd
Data
Subsequent
Addr
Data
Read Status Register
1
X
70h
Clear Status Register
1
X
50h
Block Erase
2
X
20h
BA
D0h
BA
N
Write to Buffer and Program
4+N
BA
E8h
Program/Erase Suspend
1
X
B0h
Program/Erase Resume
1
X
D0h
Set Burst Configuration Register
2
BCR
60h
BCR
03h
Block Protect
2
BA
60h
BA
01h
Blocks Unprotect
2
X
60h
X
D0h
Final
Addr
Data
Addr
Data
PA
PD
X
D0h
Note: X Don’t Care; PA Program Address; PD Program Data; BA Any address in the Block; N+1 Number of Addresses to Program;
BCR Burst Configuration Register value.
Table 10. Read Electronic Signature
Code
Bus Width(3)
Address(4)
x16
Manufacturer Code
0020h
000000h
x32
00000020h
x16
8818h (M58LW128A)
8819h (M58LW128B)
Device Code
000001h
x32
00008819h (M58LW128B)
x16
0000h (Block Unprotected)
0001h (Block Protected)
SBA(1) +02h
Block Protection Status
x32
Note: 1.
2.
3.
4.
Data (DQ31-DQ0)(2)
00000000h (Block Unprotected)
00000001h (Block Protected)
SBA is the Start Base Address of each block.
DQ31-DQ16 are available in the M58LW128B only.
x32 Bus Width is available in the M58LW128B only.
The address is presented on A22-A2 in x32 mode, and on A22-A1 in x16 mode.
27/65
M58LW128A, M58LW128B
Table 11. Program, Erase Times and Program Erase Endurance Cycles
M58LW128A/B
Parameters
Unit
Typ
Typical after
100k W/E Cycles
Max
Block (1Mb) Erase
0.75
0.75
5
Block Program
0.8
0.8
s
Program Write Buffer
192
192
µs
Min
s
Program Suspend Latency Time
3
10
µs
Erase Suspend Latency Time
10
30
µs
Block Protect Time
192
µs
Blocks Unprotect Time
0.75
s
Program/Erase Cycles (per Block)
100,000
cycles
20
years
Data Retention
Note: (TA = 0 to 70°C; VDD = 2.7V to 3.6V; VDDQ =1.8V)
28/65
M58LW128A, M58LW128B
STATUS REGISTER
The Status Register provides information on the
current or previous Program, Erase, Block Protect
or Blocks Unprotect operation. The various bits in
the Status Register convey information and errors
on the operation. They are output on DQ7-DQ0.
To read the Status Register the Read Status Register command can be issued. The Status Register
is automatically read after Program, Erase, Block
Protect, Blocks Unprotect and Program/Erase Resume commands. The Status Register can be
read from any address.
The Status Register can only be read using Asynchronous Bus Read operations. Once the memory
returns to Read Memory Array mode the bus will
resume the setting in the Burst Configuration Register automatically.
The contents of the Status Register can be updated during an Erase or Program operation by toggling the Output Enable pin or by dis-activating
(Chip Enable, VIH) and then reactivating (Chip Enable and Output Enable, V IL) the device.
During a Program, Block Erase, Block Protect or
Block Unprotect operation only bit 7 is valid, all
other bits are high impedance. Once the operation
is complete bit 7 is High and all other Status register bits are valid.
Status Register bits 5, 4, 3 and 1 are associated
with various error conditions and can only be reset
with the Clear Status Register command. The Status Register bits are summarized in Table 12, Status Register Bits. Refer to Table 12 in conjunction
with the following text descriptions.
Program/Erase Controller Status (Bit 7). The Program/Erase Controller Status bit indicates whether
the Program/Erase Controller is active or inactive.
When the Program/Erase Controller Status bit is
Low, VOL, the Program/Erase Controller is active
and all other Status Register bits are High Impedance; when the bit is High, VOH, the Program/
Erase Controller is inactive.
The Program/Erase Controller Status is Low immediately after a Program/Erase Suspend command is issued until the Program/Erase Controller
pauses. After the Program/Erase Controller pauses the bit is High.
During Program, Erase, Block Protect and Blocks
Unprotect operations the Program/Erase Controller Status bit can be polled to find the end of the
operation. The other bits in the Status Register
should not be tested until the Program/Erase Controller completes the operation and the bit is High.
After the Program/Erase Controller completes its
operation the Erase Status, Program Status and
Block Protection Status bits should be tested for
errors.
Erase Suspend Status (Bit 6). The Erase Suspend Status bit indicates that an Erase operation
has been suspended and is waiting to be resumed. The Erase Suspend Status should only be
considered valid when the Program/Erase Controller Status bit is High (Program/Erase Controller
inactive); after a Program/Erase Suspend command is issued the memory may still complete the
operation rather than entering the Suspend mode.
When the Erase Suspend Status bit is Low, V OL,
the Program/Erase Controller is active or has completed its operation; when the bit is High, VOH, a
Program/Erase Suspend command has been issued and the memory is waiting for a Program/
Erase Resume command.
When a Program/Erase Resume command is issued the Erase Suspend Status bit returns Low.
Erase Status (Bit 5). The Erase Status bit can be
used to identify if the memory has failed to verify
that the block has erased correctly or that all
blocks have been unprotected successfully. The
Erase Status bit should be read once the Program/
Erase Controller Status bit is High (Program/Erase
Controller inactive).
When the Erase Status bit is Low, V OL, the memory has successfully verified that the block has
erased correctly or all blocks have been unprotected successfully. When the Erase Status bit is
High, VOH, the erase operation has failed. Depending on the cause of the failure other Status
Register bits may also be set to High, VOH.
■ If only the Erase Status bit (bit 5) is set High,
VOH, then the Program/Erase Controller has
applied the maximum number of pulses to the
block and still failed to verify that the block has
erased correctly or that all the blocks have been
unprotected successfully.
■ If the failure is due to an erase or blocks
unprotect with VPP low, VOL, then VPP Status bit
(bit 3) is also set High, VOH.
■ If the failure is due to an erase on a protected
block then Block Protection Status bit (bit 1) is
also set High, VOH.
■ If the failure is due to a program or erase
incorrect command sequence then Program
Status bit (bit 4) is also set High, VOH.
Once set High, the Erase Status bit can only be reset Low by a Clear Status Register command or a
hardware reset. If set High it should be reset before a new Program or Erase command is issued,
otherwise the new command will appear to fail.
Program Status (Bit 4). The Program Status bit
is used to identify a Program or Block Protect failure. The Program Status bit should be read once
29/65
M58LW128A, M58LW128B
the Program/Erase Controller Status bit is High
(Program/Erase Controller inactive).
When the Program Status bit is Low, V OL, the
memory has successfully verified that the Write
Buffer has programmed correctly or the block is
protected. When the Program Status bit is High,
VOH, the program or block protect operation has
failed. Depending on the cause of the failure other
Status Register bits may also be set to High, VOH.
■ If only the Program Status bit (bit 4) is set High,
VOH, then the Program/Erase Controller has
applied the maximum number of pulses to the
byte and still failed to verify that the Write Buffer
has programmed correctly or that the Block is
protected.
■ If the failure is due to a program or block protect
with VPP low, VOL , then VPP Status bit (bit 3) is
also set High, VOH.
■ If the failure is due to a program on a protected
block then Block Protection Status bit (bit 1) is
also set High, VOH.
■ If the failure is due to a program or erase
incorrect command sequence then Erase
Status bit (bit 5) is also set High, VOH.
Once set High, the Program Status bit can only be
reset Low by a Clear Status Register command or
a hardware reset. If set High it should be reset before a new Program or Erase command is issued,
otherwise the new command will appear to fail.
VPP Status (Bit 3). The VPP Status bit can be
used to identify if a Program, Erase, Block Protection or Block Unprotection operation has been attempted when V PP is Low, VIL. The VPP pin is only
sampled at the beginning of a Program or Erase
operation.
When the V PP Status bit is Low, VOL, no Program,
Erase, Block Protection or Block Unprotection operations have been attempted with VPP Low, VIL,
since the last Clear Status Register command, or
hardware reset. When the VPP Status bit is High,
VOH, a Program, Erase, Block Protection or Block
Unprotection operation has been attempted with
VPP Low, VIL.
30/65
Once set High, the V PP Status bit can only be reset
by a Clear Status Register command or a hardware reset. If set High it should be reset before a
new Program, Erase, Block Protection or Block
Unprotection command is issued, otherwise the
new command will appear to fail.
Program Suspend Status (Bit 2). The Program
Suspend Status bit indicates that a Program operation has been suspended and is waiting to be resumed. The Program Suspend Status should only
be considered valid when the Program/Erase
Controller Status bit is High (Program/Erase Controller inactive); after a Program/Erase Suspend
command is issued the memory may still complete
the operation rather than entering the Suspend
mode.
When the Program Suspend Status bit is Low,
VOL, the Program/Erase Controller is active or has
completed its operation; when the bit is High, VOH,
a Program/Erase Suspend command has been issued and the memory is waiting for a Program/
Erase Resume command.
When a Program/Erase Resume command is issued the Program Suspend Status bit returns Low.
Block Protection Status (Bit 1). The Block Protection Status bit can be used to identify if a Program or Erase operation has tried to modify the
contents of a protected block.
When the Block Protection Status bit is Low, V OL,
no Program or Erase operations have been attempted to protected blocks since the last Clear
Status Register command or hardware reset;
when the Block Protection Status bit is High, VOH,
a Program (Program Status bit 4 set High) or
Erase (Erase Status bit 5 set High) operation has
been attempted on a protected block.
Once set High, the Block Protection Status bit can
only be reset Low by a Clear Status Register command or a hardware reset. If set High it should be
reset before a new Program or Erase command is
issued, otherwise the new command will appear to
fail.
Reserved (Bit 0). Bit 0 of the Status Register is
reserved. Its value should be masked.
M58LW128A, M58LW128B
Table 12. Status Register Bits
Operation
Bit 7 Bit 6
Bit 5 Bit 4 Bit 3
Bit 2 Bit 1
RB
Program/Erase Controller Active
‘0’
Hi-Z
VOL
Write Buffer not ready
‘0’
Hi-Z
VOL
Write Buffer ready
‘1’
X(1)
‘0’
‘0’
‘0’
‘0’
‘0’
Hi-Z
Program suspended
‘1’
X(1)
‘0’
‘0’
‘0’
‘1’
‘0’
Hi-Z
Program/Block Protect completed successfully
‘1’
X(1)
‘0’
‘0’
‘0’
‘0’
‘0’
Hi-Z
Program/Block Protect failure due to incorrect command
sequence
’1’
X(1)
‘1’
‘1’
‘0’
‘0’
‘0’
Hi-Z
Program/Block Protect failure due to VPP Error
’1’
X(1)
‘0’
‘1’
‘1’
‘0’
‘0’
Hi-Z
Program failure due to Block Protection
‘1’
X(1)
‘0’
‘1’
‘0’
‘0’
‘1’
Hi-Z
Program/Block Protect failure due cell failure or unerased cell
‘1’
X(1)
‘0’
‘1’
‘0’
‘0’
‘0’
Hi-Z
Erase suspended
‘1’
‘1’
‘0’
‘0’
‘0’
‘0’
‘0’
Hi-Z
Erase/Blocks Unprotect completed successfully
‘1’
‘0’
‘0’
‘0’
‘0’
‘0’
‘0’
Hi-Z
Erase/Blocks Unprotect failure due to incorrect command
sequence
‘1’
X
‘1’
‘1’
‘0’
‘0’
‘0’
Hi-Z
Erase/Block Unprotect failure due to VPP Error
’1’
‘0’
‘1’
‘0’
‘1’
‘0’
‘0’
Hi-Z
Erase failure due to Block Protection
‘1’
‘0’
‘1’
‘0’
‘0’
‘0’
‘1’
Hi-Z
Erase/Blocks Unprotect failure due to failed cell(s) in block
‘1’
‘0’
‘1’
‘0’
‘0’
‘0’
‘0’
Hi-Z
Note: 1. For Program operations during Erase Suspend Bit 6 is ‘1’, otherwise Bit 6 is ‘0’.
31/65
M58LW128A, M58LW128B
MAXIMUM RATING
Stressing the device above the ratings listed in Table 13, 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.
Table 13. Absolute Maximum Ratings
Value
Symbol
Parameter
Unit
Min
Max
TBIAS
Temperature Under Bias
–40
125
°C
TSTG
Storage Temperature
–55
150
°C
TLEAD
Maximum TLEAD Temperature during soldering
t.b.a.
°C
VIO
VDD, VDDQ
VHH
Input or Output Voltage
–0.6
VDDQ +0.6
V
Supply Voltage
–0.6
5.0
V
RP Hardware Block Unprotect Voltage
–0.6
10 (1)
V
Note: 1. Cumulative time at a high voltage level of 10V should not exceed 80 hours on RP pin.
32/65
M58LW128A, M58LW128B
DC AND AC PARAMETERS
This section summarizes the operating and measurement conditions, and the DC and AC characteristics of the device. The parameters in the DC
and AC characteristics Tables that follow, are derived from tests performed under the Measure-
ment Conditions summarized in Table 14,
Operating and AC Measurement Conditions. Designers should check that the operating conditions
in their circuit match the measurement conditions
when relying on the quoted parameters.
Table 14. Operating and AC Measurement Conditions
M58LW128
Parameter
Units
Min
Max
Supply Voltage (VDD) M58LW128
2.7
3.6
V
Input/Output Supply Voltage (VDDQ)
1.8
VDD
V
Grade 1
0
70
°C
Grade 6
–40
85
°C
Ambient Temperature (TA)
Load Capacitance (CL)
30
pF
Clock Rise and Fall Times
3
ns
Input Rise and Fall Times
4
ns
Input Pulses Voltages
0 to VDDQ
V
Input and Output Timing Ref. Voltages
0.5 VDDQ
V
Figure 10. AC Measurement Input Output
Waveform
Figure 11. AC Measurement Load Circuit
1.3V
1N914
VDDQ
VDD
3.3kΩ
VDDQ
0.5 VDDQ
DEVICE
UNDER
TEST
0V
DQS
CL
AI00610
0.1µF
0.1µF
CL includes JIG capacitance
AI03459
Table 15. Capacitance
Symbol
CIN
COUT
Parameter
Input Capacitance
Output Capacitance
Test Condition
Typ
Max
Unit
VIN = 0V
6
8
pF
VOUT = 0V
8
12
pF
Note: 1. TA = 25°C, f = 1 MHz
2. Sampled only, not 100% tested.
33/65
M58LW128A, M58LW128B
Table 16. DC Characteristics
Symbol
Parameter
Test Condition
Min
Max
Unit
ILI
Input Leakage Current
0V≤ VIN ≤ VDDQ
±1
µA
ILO
Output Leakage Current
0V≤ VOUT ≤VDDQ
±5
µA
IDD
Supply Current (Random Read)
E = VIL, G = VIH, fadd = 6MHz
30
mA
IDDB
Supply Current (Burst Read)
E = VIL, G = VIH, fclock = 50MHz
50
mA
IDD1
Supply Current (Standby)
E = VIH, RP = VIH
120
µA
IDD2
Supply Current (Reset/Power-Down)
RP = VIL
120
µA
IDD3
Supply Current (Program or Erase,
Set Protect Bit, Erase Protect Bit)
Program or Erase operation in
progress
50
mA
IDD4
Supply Current
(Erase/Program Suspend)
E = VIH
50
mA
VIL
Input Low Voltage
–0.5
0.8
V
VIH
Input High Voltage
VDDQ –0.8
VDDQ + 0.5
V
VOL
Output Low Voltage
IOL = 100µA
0.1
V
VOH
Output High Voltage
IOH = –100µA
VDDQ –0.1
8.5
VHH (1)
RP Hardware Block Unprotect
Voltage
Block Erase in progress,
Write to Buffer and Program
IHH
RP Hardware Block Unprotect
Current
RP = VHH
VLKO
VDD Supply Voltage (Erase and
Program lockout)
Note: 1. Biasing RP pin to VHH is allowed for a maximum cumulative period of 80 hours.
34/65
V
9.5
V
1
µA
2.2
V
M58LW128A, M58LW128B
Figure 12. Asynchronous Bus Read AC Waveforms
tAVAV
A1-A23
VALID
tELQV
tELQX
tAXQX
E
tEHQZ
tEHQX
tGLQV
tGLQX
G
tAVQV
tGHQZ
tGHQX
DQ0-DQx
OUTPUT
AI06131
Note: Asynchronous Read (M15 = 1), Random Read (M3 = 0)
Table 17. Asynchronous Bus Read AC Characteristics.
M58LW128
Symbol
Parameter
Test Condition
Unit
150
tAVAV
Address Valid to Address Valid
E = VIL, G = VIL
Min
150
ns
tAVQV
Address Valid to Output Valid
E = VIL, G = VIL
Max
150
ns
tELQX
Chip Enable Low to Output Transition
G = VIL
Min
0
ns
tELQV
Chip Enable Low to Output Valid
G = VIL
Max
150
ns
tGLQX
Output Enable Low to Output Transition
E = VIL
Min
0
ns
tGLQV
Output Enable Low to Output Valid
E = VIL
Max
30
ns
tEHQX
Chip Enable High to Output Transition
G = VIL
Min
0
ns
tGHQX
Output Enable High to Output Transition
E = VIL
Min
0
ns
tAXQX
Address Transition to Output Transition
E = VIL, G = VIL
Min
0
ns
tEHQZ
Chip Enable High to Output Hi-Z
G = VIL
Max
10
ns
tGHQZ
Output Enable High to Output Hi-Z
E = VIL
Max
10
ns
35/65
M58LW128A, M58LW128B
Figure 13. Asynchronous Latch Controlled Bus Read AC Waveforms
A1-A23
VALID
tAVLH
tLHAX
tAVLL
L
tLHLL
tLLLH
tELLH
tEHLX
tELLL
E
tGLQV
tGLQX
tEHQZ
tEHQX
G
tLLQX
tLLQV
tGHQZ
tGHQX
DQ0-DQx
OUTPUT
AI06132b
Note: Asynchronous Read (M15 = 1), Latch Enable Controlled (M3 = 1)
Table 18. Asynchronous Latch Controlled Bus Read AC Characteristics
M58LW128
Symbol
Parameter
Test Condition
Unit
150
tAVLL
Address Valid to Latch Enable Low
E = VIL
Min
0
ns
tAVLH
Address Valid to Latch Enable High
E = VIL
Min
10
ns
tLHLL
Latch Enable High to Latch Enable Low
Min
10
ns
tLLLH
Latch Enable Low to Latch Enable High
Min
10
ns
tELLL
Chip Enable Low to Latch Enable Low
Min
0
ns
tELLH
Chip Enable Low to Latch Enable High
Min
10
ns
tLLQX
Latch Enable Low to Output Transition
E = VIL, G = VIL
Min
0
ns
tLLQV
Latch Enable Low to Output Valid
E = VIL, G = VIL
Min
150
ns
tLHAX
Latch Enable High to Address Transition
E = VIL
Min
10
ns
tGLQX
Output Enable Low to Output Transition
E = VIL
Min
0
ns
tGLQV
Output Enable Low to Output Valid
E = VIL
Max
20
ns
tEHLX
Chip Enable High to Latch Enable Transition
Min
0
ns
E = VIL
Note: For other timings see Table 17, Asynchronous Bus Read Characteristics.
36/65
M58LW128A, M58LW128B
Figure 14. Asynchronous Page Read AC Waveforms
A1-A2
VALID
A3-A23
VALID
VALID
tAVQV
tELQV
tELQX
tAXQX
E
tAVQV1
tAXQX1
tGLQV
tGLQX
tEHQZ
tEHQX
G
tGHQZ
tGHQX
DQ0-DQx
OUTPUT
OUTPUT
AI06133
Note: Asynchronous Read (M15 = 1), Random (M3 = 0)
Table 19. Asynchronous Page Read AC Characteristics
M58LW128
Symbol
Parameter
Test Condition
Unit
150
tAXQX1
Address Transition to Output Transition
E = VIL, G = VIL
Min
6
ns
tAVQV1
Address Valid to Output Valid
E = VIL, G = VIL
Max
25
ns
Note: For other timings see Table 17, Asynchronous Bus Read Characteristics.
37/65
M58LW128A, M58LW128B
Figure 15. Asynchronous Write AC Waveform, Write Enable Controlled
A1-A23
VALID
tAVWH
tWHAX
E
L
tWHEH
tELWL
G
tWLWH
tGHWL
tWHGL
tWHWL
W
tDVWH
DQ0-DQ15
INPUT
tWHDX
RB
tVPHWH
tWHBL
VPP
AI06134
Figure 16. Asynchronous Latch Controlled Write AC Waveform, Write Enable Controlled
A1-A23
VALID
tAVWH
tAVLH
tLHAX
L
tWHAX
tELLL
tLLLH
tLHGL
tWLLH
tLHWH
E
tELWL
tWHEH
G
tGHWL
tWLWH
tWHWL
tWHGL
W
tDVWH
DQ0-DQ15
INPUT
tWHDX
RB
tVPHWH
tWHBL
VPP
AI06135
38/65
M58LW128A, M58LW128B
Table 20. Asynchronous Write and Latch Controlled Write AC Characteristics, Write Enable
Controlled.
M58LW128
Symbol
Parameter
Test Condition
Unit
150
tAVLH
Address Valid to Latch Enable High
tAVWH
Address Valid to Write Enable High
tDVWH
Data Input Valid to Write Enable High
tELWL
Min
10
ns
E = VIL
Min
50
ns
E = VIL
Min
50
ns
Chip Enable Low to Write Enable Low
Min
0
ns
tELLL
Chip Enable Low to Latch Enable Low
Min
0
ns
tLHAX
Latch Enable High to Address Transition
Min
3
ns
tLHGL
Latch Enable High to Output Enable Low
Min
35
ns
tLHWH
Latch Enable High to Write Enable High
Min
0
ns
tLLLH
Latch Enable low to Latch Enable High
Min
10
ns
tLLWH
Latch Enable Low to Write Enable High
Min
50
ns
tVPHWH
Program/Erase Enable High to Write Enable High
Min
0
ns
tWHAX
Write Enable High to Address Transition
Min
10
ns
tWHBL
Write Enable High to Ready/Busy low
Max
90
ns
tWHDX
Write Enable High to Input Transition
Min
0
ns
tWHEH
Write Enable High to Chip Enable High
Min
0
ns
tGHWL
Output Enable High to Write Enable Low
Min
20
ns
tWHGL
Write Enable High to Output Enable Low
Min
35
ns
tWHWL
Write Enable High to Write Enable Low
Min
30
ns
tWLWH
Write Enable Low to Write Enable High
E = VIL
Min
70
ns
tWLLH
Write Enable Low to Latch Enable High
E = VIL
Min
10
ns
E = VIL
E = VIL
39/65
M58LW128A, M58LW128B
Figure 17. Asynchronous Write AC Waveforms, Chip Enable Controlled
A1-A23
VALID
tAVEH
tEHAX
W
tWLEL
tEHWH
G
tGHEL
tELEH
tEHEL
tEHGL
E
L
tDVEH
DQ0-DQ15
INPUT
tEHDX
RB
tVPHEH
tEHBL
VPP
AI06136
Figure 18. Asynchronous Latch Controlled Write AC Waveforms, Chip Enable Controlled
A1-A23
VALID
tAVLH
tLHAX
tAVEH
tEHAX
L
tWLLL
tLLLH
tLHEH
tELLH
tLHGL
W
tWLEL
tEHWH
G
tGHEL
tELEH
tEHEL
tEHGL
E
tDVEH
DQ0-DQ15
INPUT
tEHDX
RB
tVPHEH
tEHBL
VPP
AI06137
40/65
M58LW128A, M58LW128B
Table 21. Asynchronous Write and Latch Controlled Write AC Characteristics, Chip Enable
Controlled
M58LW128
Symbol
Parameter
Test Condition
Unit
150
tAVLH
Address Valid to Latch Enable High
tAVEH
Address Valid to Chip Enable High
tDVEH
Data Input Valid to Chip Enable High
tWLEL
Min
10
ns
W = VIL
Min
50
ns
W = VIL
Min
50
ns
Write Enable Low to Chip Enable Low
Min
0
ns
tWLLL
Write Enable Low to Latch Enable Low
Min
0
ns
tLHAX
Latch Enable High to Address Transition
Min
3
ns
tLHGL
Latch Enable High to Output Enable Low
Min
35
ns
tLHEH
Latch Enable High to Chip Enable High
Min
0
ns
tLLLH
Latch Enable low to Latch Enable High
Min
10
ns
tLLEH
Latch Enable Low to Chip Enable High
Min
50
ns
Program/Erase Enable High to Chip Enable High
Min
0
ns
Min
10
ns
Max
90
ns
Min
10
ns
tVPHEH
tEHAX
Chip Enable High to Address Transition
tEHBL
Chip Enable High to Ready/Busy low
tEHDX
Chip Enable High to Input Transition
tEHWH
Chip Enable High to Write Enable High
Min
0
ns
tGHEL
Output Enable High to Chip Enable Low
Min
20
ns
tEHGL
Chip Enable High to Output Enable Low
Min
35
ns
tEHEL
Chip Enable High to Chip Enable Low
Min
30
ns
tELEH
Chip Enable Low to Chip Enable High
W = VIL
Min
70
ns
tELLH
Chip Enable Low to Latch Enable High
W = VIL
Min
10
ns
W = VIL
W = VIL
41/65
42/65
Note: Valid Clock Edge = Rising (M6 = 1)
DQ0-DQx
B
G
E
L
A1-A23
K
VALID
tAVKH
tAVLH
tELKH
tELLH
tLLLH
tLLKH
tKHLL
0
1
tLHAX
tKHAX
2
tQVKH
tKHQV
tBLKH
tGLKH
X-1
Q1
X
tKHQX
tKHBH
Q2
X+Y
tBHKH
Q3
X+2Y
tKHBL
tGHQZ
tGHQX
tEHQZ
tEHQX
X+2Y+1
X+2Y+2
AI06138
M58LW128A, M58LW128B
Figure 19. Synchronous Burst Read AC Waveform
M58LW128A, M58LW128B
Figure 20. Synchronous Burst Read - Continuous - Valid Data Ready Output
K
Output (2)
V
V
V
NV
NV
V
V
tRLKH
R
(3)
AI06139
Note: 1. Valid Data Ready = Valid Low during valid clock edge (M8 = 0)
2. V= Valid output, NV= Not Valid output.
3. R is an open drain output. Depending on the Valid Data Ready pin capacitance load an external pull up resistor must be chosen
according to the system clock period.
4. When the system clock frequency is between 33MHz and 50MHz and the Y latency is set to 2, values of B sampled on odd clock
cycles, starting from the first read are not considered.
43/65
M58LW128A, M58LW128B
Table 22. Synchronous Burst Read AC Characteristics
Symb
ol
M58LW128
Parameter
Unit
Test Condition
150
tAVKH
Address Valid to Active Clock Edge
E = VIL
Min
10
ns
tAVLH
Address Valid to Latch Enable High
E = VIL
Min
10
ns
tBHKH
Burst Address Advance High to Active Clock Edge E = VIL, G = VIL, L = VIH
Min
10
ns
tBLKH
Burst Address Advance Low to Active Clock Edge
E = VIL, G = VIL, L = VIH
Min
10
ns
tELKH
Chip Enable Low to Active Clock Edge
E = VIL
Min
10
ns
tELLH
Chip Enable Low to Latch Enable High
E = VIL
Min
10
ns
tGLKH
Output Enable Low to Valid Clock Edge
E = VIL, L = VIH
Min
20
ns
tKHAX
Valid Clock Edge to Address Transition
E = VIL
Min
10
ns
tKHLL
Valid Clock Edge to Latch Enable Low
E = VIL
Min
0
ns
tKHLH
Valid Clock Edge to Latch Enable High
E = VIL
Min
0
ns
tKHQX
Valid Clock Edge to Output Transition
E = VIL, G = VIL, L = VIH
Min
3
ns
tLLKH
Latch Enable Low to Valid Clock Edge
E = VIL
Min
10
ns
tLLLH
Latch Enable Low to Latch Enable High
E = VIL
Min
10
ns
tKHQV
Valid Clock Edge to Output Valid
E = VIL, G = VIL, L = VIH
Max
20
ns
tQVKH
Output Valid to Active Clock Edge
E = VIL, G = VIL, L = VIH
Min
5
ns
tRLKH
Valid Data Ready Low to Valid Clock Edge
E = VIL, G = VIL, L = VIH
Min
5
ns
tKHBL
Active Clock Edge to Burst Address Advance Low
E = VIL, G = VIL, L = VIH
Min
0
ns
tKHBH
Active Clock Edge to Burst Address Advance High E = VIL, G = VIL, L = VIH
Min
0
ns
Note: For other timings see Table 17, Asynchronous Bus Read Characteristics.
44/65
M58LW128A, M58LW128B
Figure 21. Reset, Power-Down and Power-Up AC Waveform
W
E, G
DQ0-DQ15
tRHWL
tRHEL
tRHGL
tPHQV
RB
tPLRH
RP
tVDHPH
tPLPH
VDD, VDDQ
Power-Up
and Reset
Reset during
Program or Erase
AI06140
Note: Write Enable (W) and Output Enable (G) cannot be low together.
Table 23. Reset, Power-Down and Power-Up AC Characteristics
M58LW128
Symbol
Parameter
Unit
150
tPHQV
Reset/Power-Down High to Data Valid
Min
150
ns
tRHWL
tRHEL
tRHGL
Ready/Busy High to Write Enable Low, Chip Enable Low, Output
Enable Low
(Program/Erase Controller Active)
Min
10
µs
tPLPH
Reset/Power-Down Low to Reset/Power-Down High
Min
100
ns
tPLRH
Reset/Power-Down Low to Ready High
Max
30
µs
Supply Voltages High to Reset/Power-Down High
Min
0
µs
tVDHPH
45/65
M58LW128A, M58LW128B
PACKAGE MECHANICAL
Figure 22. TSOP56 - 56 lead Plastic Thin Small Outline, 14 x 20 mm, Package Outline
A2
1
N
e
E
B
N/2
D1
A
CP
D
DIE
C
A1
TSOP-a
α
L
Note: Drawing is not to scale.
Table 24. TSOP56 - 56 lead Plastic Thin Small Outline, 14 x 20 mm, Package Mechanical Data
mm
inches
Symbol
Typ
Min
A
Typ
Min
1.20
Max
0.0472
A1
0.05
0.15
0.0020
0.0059
A2
0.95
1.05
0.0374
0.0413
B
0.17
0.27
0.0067
0.0106
C
0.10
0.21
0.0039
0.0083
D
19.80
20.20
0.7795
0.7953
D1
18.30
18.50
0.7205
0.7283
E
13.90
14.10
0.5472
0.5551
–
–
–
–
L
0.50
0.70
0.0197
0.0276
α
0°
5°
0°
5°
N
56
e
CP
46/65
Max
0.50
0.0197
56
0.10
0.0039
M58LW128A, M58LW128B
Figure 23. TBGA64 - 10x13mm - 8 x 8 ball array, 1mm pitch, Package Outline
D
D1
FD
FE
E
SD
SE
E1
ddd
BALL "A1"
A
e
b
A2
A1
BGA-Z23
Note: Drawing is not to scale.
Table 25. TBGA64 - 10x13mm - 8 x 8 ball array, 1 mm pitch, Package Mechanical Data
millimeters
inches
Symbol
Typ
Min
A
A1
Max
Typ
Min
1.200
0.300
0.200
A2
0.350
0.0472
0.0118
0.0079
0.850
b
0.400
0.500
Max
0.0138
0.0335
0.0157
0.0197
D
10.000
9.900
10.100
0.3937
0.3898
0.3976
D1
7.000
–
–
0.2756
–
–
ddd
0.100
0.0039
e
1.000
–
–
0.0394
–
–
E
13.000
12.900
13.100
0.5118
0.5079
0.5157
E1
7.000
–
–
0.2756
–
–
FD
1.500
–
–
0.0591
–
–
FE
3.000
–
–
0.1181
–
–
SD
0.500
–
–
0.0197
–
–
SE
0.500
–
–
0.0197
–
–
47/65
M58LW128A, M58LW128B
Figure 24. TBGA80 - 10x13mm - 8 x 10 ball array, 1mm pitch, Package Outline
D
D1
FD
FE
SD
SE
E
E1
BALL "A1"
ddd
e
e
b
A
A2
A1
BGA-Z27
Note: Drawing is not to scale.
Table 26. TBGA80 - 10x13mm - 8 x 10 ball array, 1mm pitch, Package Mechanical Data
millimeters
inches
Symbol
Typ
Min
A
A1
Typ
Min
1.200
0.300
0.200
A2
0.350
0.400
0.500
Max
0.0472
0.0118
0.0079
0.850
b
0.0138
0.0335
0.0157
0.0197
D
10.000
9.900
10.100
0.3937
0.3898
0.3976
D1
7.000
–
–
0.2756
–
–
ddd
48/65
Max
0.100
0.0039
E
13.000
12.900
13.100
0.5118
0.5079
0.5157
E1
9.000
–
–
0.3543
–
–
e
1.000
–
–
0.0394
–
–
FD
1.500
–
–
0.0591
–
–
FE
2.000
–
–
0.0787
–
–
SD
0.500
–
–
0.0197
–
–
SE
0.500
–
–
0.0197
–
–
M58LW128A, M58LW128B
PART NUMBERING
Table 27. Ordering Information Scheme
Example:
M58LW128A
150 N
1
T
Device Type
M58
Architecture
L = Multi-Bit Cell, Burst Mode, Page Mode
Operating Voltage
W = VDD = 2.7V to 3.6V; VDDQ = 1.8 to VDD
Device Function
128A = 128 Mbit (x16), Uniform Block
128B = 128 Mbit (x16/x32), Uniform Block
Speed
150 = 150 ns
Package
N = TSOP56: 14 x 20 mm (M58LW128A)
ZA = TBGA64: 10x13mm, 1mm pitch (M58LW128A)
ZA = TBGA80: 10x13mm, 1mm pitch (M58LW128B)
Temperature Range
1 = 0 to 70 °C
6 = –40 to 85 °C
Option
T = Tape & Reel Packing
E = Lead-free Package, Standard Packing
F = Lead-free Package, Tape & Reel Packing
Note: Devices are shipped from the factory with the memory content bits erased to ’1’.
For a list of available options (Speed, Package, etc...) or for further information on any aspect of this device, please contact the ST Sales Office nearest to you.
49/65
M58LW128A, M58LW128B
APPENDIX A. BLOCK ADDRESS TABLE
Table 28. Block Addresses
Block
Number
Address Range
(x16 Bus Width)
Address Range
(x32 Bus Width)
128
7F0000h-7FFFFFh
3F8000h-3FFFFFh
127
7E0000h-7EFFFFh
3F0000h-3F7FFFh
126
7D0000h-7DFFFFh
3E8000h-3EFFFFh
125
7C0000h-7CFFFFh
3E0000h-3E7FFFh
124
7B0000h-7BFFFFh
3D8000h-3DFFFFh
123
7A0000h-7AFFFFh
3D0000h-3D7FFFh
122
790000h-79FFFFh
3C8000h-3CFFFFh
121
780000h-78FFFFh
3C0000h-3C7FFFh
120
770000h-77FFFFh
3B8000h-3BFFFFh
119
760000h-76FFFFh
3B0000h-3B7FFFh
118
750000h-75FFFFh
3A8000h-3AFFFFh
117
740000h-74FFFFh
3A0000h-3A7FFFh
116
730000h-73FFFFh
398000h-39FFFFh
115
720000h-72FFFFh
390000h-397FFFh
114
710000h-71FFFFh
388000h-38FFFFh
113
700000h-70FFFFh
380000h-387FFFh
112
6F0000h-6FFFFFh
378000h-37FFFFh
111
6E0000h-6EFFFFh
370000h-377FFFh
110
6D0000h-6DFFFFh
368000h-36FFFFh
109
6C0000h-6CFFFFh
360000h-367FFFh
108
6B0000h-6BFFFFh
358000h-35FFFFh
107
6A0000h-6AFFFFh
350000h-357FFFh
106
690000h-69FFFFh
348000h-34FFFFh
105
680000h-68FFFFh
340000h-347FFFh
104
670000h-67FFFFh
338000h-33FFFFh
103
660000h-66FFFFh
330000h-337FFFh
102
650000h-65FFFFh
328000h-32FFFFh
101
640000h-64FFFFh
320000h-327FFFh
100
630000h-63FFFFh
318000h-31FFFFh
99
620000h-62FFFFh
310000h-317FFFh
98
610000h-61FFFFh
308000h-30FFFFh
97
600000h-60FFFFh
300000h-307FFFh
96
5F0000h-5FFFFFh
2F8000h-2FFFFFh
50/65
Block
Number
Address Range
(x16 Bus Width)
Address Range
(x32 Bus Width)
95
5E0000h-5EFFFFh
2F0000h-2F7FFFh
94
5D0000h-5DFFFFh
2E8000h-2EFFFFh
93
5C0000h-5CFFFFh
2E0000h-2E7FFFh
92
5B0000h-5BFFFFh
2D8000h-2DFFFFh
91
5A0000h-5AFFFFh
2D0000h-2D7FFFh
90
590000h-59FFFFh
2C8000h-2CFFFFh
89
580000h-58FFFFh
2C0000h-2C7FFFh
88
570000h-57FFFFh
2B8000h-2BFFFFh
87
560000h-56FFFFh
2B0000h-2B7FFFh
86
550000h-55FFFFh
2A8000h-2AFFFFh
85
540000h-54FFFFh
2A0000h-2A7FFFh
84
530000h-53FFFFh
298000h-29FFFFh
83
520000h-52FFFFh
290000h-297FFFh
82
510000h-51FFFFh
288000h-28FFFFh
81
500000h-50FFFFh
280000h-287FFFh
80
4F0000h-4FFFFFh
278000h-27FFFFh
79
4E0000h-4EFFFFh
270000h-277FFFh
78
4D0000h-4DFFFFh
268000h-26FFFFh
77
4C0000h-4CFFFFh
260000h-267FFFh
76
4B0000h-4BFFFFh
258000h-25FFFFh
75
4A0000h-4AFFFFh
250000h-257FFFh
74
490000h-49FFFFh
248000h-24FFFFh
73
480000h-48FFFFh
240000h-247FFFh
72
470000h-47FFFFh
238000h-23FFFFh
71
460000h-46FFFFh
230000h-237FFFh
70
450000h-45FFFFh
228000h-22FFFFh
69
440000h-44FFFFh
220000h-227FFFh
68
430000h-43FFFFh
218000h-21FFFFh
67
420000h-42FFFFh
210000h-217FFFh
66
410000h-41FFFFh
208000h-20FFFFh
65
400000h-40FFFFh
200000h-207FFFh
64
3F0000h-3FFFFFh
1F8000h-1FFFFFh
63
3E0000h-3EFFFFh
1F0000h-1F7FFFh
62
3D0000h-3DFFFFh
1E8000h-1EFFFFh
M58LW128A, M58LW128B
Block
Number
Address Range
(x16 Bus Width)
Address Range
(x32 Bus Width)
Block
Number
Address Range
(x16 Bus Width)
Address Range
(x32 Bus Width)
61
3C0000h-3CFFFFh
1E0000h-1E7FFFh
26
190000h-19FFFFh
0C8000h-0CFFFFh
60
3B0000h-3BFFFFh
1D8000h-1DFFFFh
25
180000h-18FFFFh
0C0000h-0C7FFFh
59
3A0000h-3AFFFFh
1D0000h-1D7FFFh
24
170000h-17FFFFh
0B8000h-0BFFFFh
58
390000h-39FFFFh
1C8000h-1CFFFFh
23
160000h-16FFFFh
0B0000h-0B7FFFh
57
380000h-38FFFFh
1C0000h-1C7FFFh
22
150000h-15FFFFh
0A8000h-0AFFFFh
56
370000h-37FFFFh
1B8000h-1BFFFFh
21
140000h-14FFFFh
0A0000h-0A7FFFh
55
360000h-36FFFFh
1B0000h-1B7FFFh
20
130000h-13FFFFh
098000h-09FFFFh
54
350000h-35FFFFh
1A8000h-1AFFFFh
19
120000h-12FFFFh
090000h-097FFFh
53
340000h-34FFFFh
1A0000h-1A7FFFh
18
110000h-11FFFFh
088000h-08FFFFh
52
330000h-33FFFFh
198000h-19FFFFh
17
100000h-10FFFFh
080000h-087FFFh
51
320000h-32FFFFh
190000h-197FFFh
16
0F0000h-0FFFFFh
078000h-07FFFFh
50
310000h-31FFFFh
188000h-18FFFFh
15
0E0000h-0EFFFFh
070000h-077FFFh
49
300000h-30FFFFh
180000h-187FFFh
14
0D0000h-0DFFFFh
068000h-06FFFFh
48
2F0000h-2FFFFFh
178000h-17FFFFh
13
0C0000h-0CFFFFh
060000h-067FFFh
47
2E0000h-2EFFFFh
170000h-177FFFh
12
0B0000h-0BFFFFh
058000h-05FFFFh
46
2D0000h-2DFFFFh
168000h-16FFFFh
11
0A0000h-0AFFFFh
050000h-057FFFh
45
2C0000h-2CFFFFh
160000h-167FFFh
10
090000h-09FFFFh
048000h-04FFFFh
44
2B0000h-2BFFFFh
158000h-15FFFFh
9
080000h-08FFFFh
040000h-047FFFh
43
2A0000h-2AFFFFh
150000h-157FFFh
8
070000h-07FFFFh
038000h-03FFFFh
42
290000h-29FFFFh
148000h-14FFFFh
7
060000h-06FFFFh
030000h-037FFFh
41
280000h-28FFFFh
140000h-147FFFh
6
050000h-05FFFFh
028000h-02FFFFh
40
270000h-27FFFFh
138000h-13FFFFh
5
040000h-04FFFFh
020000h-027FFFh
39
260000h-26FFFFh
130000h-137FFFh
4
030000h-03FFFFh
018000h-01FFFFh
38
250000h-25FFFFh
128000h-12FFFFh
3
020000h-02FFFFh
010000h-017FFFh
37
240000h-24FFFFh
120000h-127FFFh
2
010000h-01FFFFh
008000h-00FFFFh
36
230000h-23FFFFh
118000h-11FFFFh
1
000000h-00FFFFh
000000h-007FFFh
35
220000h-22FFFFh
110000h-117FFFh
34
210000h-21FFFFh
108000h-10FFFFh
33
200000h-20FFFFh
100000h-107FFFh
32
1F0000h-1FFFFFh
0F8000h-0FFFFFh
31
1E0000h-1EFFFFh
0F0000h-0F7FFFh
30
1D0000h-1DFFFFh
0E8000h-0EFFFFh
29
1C0000h-1CFFFFh
0E0000h-0E7FFFh
28
1B0000h-1BFFFFh
0D8000h-0DFFFFh
27
1A0000h-1AFFFFh
0D0000h-0D7FFFh
51/65
M58LW128A, M58LW128B
APPENDIX B. COMMON FLASH INTERFACE - CFI
The Common Flash Interface is a JEDEC approved, standardized data structure that can be
read from the Flash memory device. It allows a
system software to query the device to determine
various electrical and timing parameters, density
information and functions supported by the memory. The system can interface easily with the device, enabling the software to upgrade itself when
necessary.
When the CFI Query Command (RCFI) is issued
the device enters CFI Query mode and the data
structure is read from the memory. Tables 29, 30,
31, 32, 33 and 34 show the addresses used to retrieve the data.
When the M58LW128B is used in x16 mode, A1
is the Least Significant Address. Toggling A1 will
not change the CFI information available on the
DQ15-DQ0 outputs.
To read the CFI, in the M58LW128A and
M58LW128B devices, in x16 mode, addresses
A23-A1 are used; for the x32 mode of the
M58LW128B device only addresses A23-A2 are
used. To read the CFI, in the M58LW128B device,
in x16 mode, the address offsets shown must be
multiplied by two in hexadecimal.
Table 29. Query Structure Overview
Offset
Sub-section Name
Description
00h
Manufacturer Code
01h
Device Code
10h
CFI Query Identification String
Command set ID and algorithm data offset
1Bh
System Interface Information
Device timing and voltage information
27h
Device Geometry Definition
Flash memory layout
P(h)(1)
Primary Algorithm-specific Extended Query Table
Additional information specific to the Primary
Algorithm (optional)
A(h)(2)
Alternate Algorithm-specific Extended Query Table
Additional information specific to the Alternate
Algorithm (optional)
Block Status Register
Block-related Information
(SBA+02)h
Note: 1. Offset 0015h (x16) or 00000015h (x32) defines P which points to the Primary Algorithm Extended Query Address Table.
2. Offset 0019h (x16) or 00000019h (x32) defines A which points to the Alternate Algorithm Extended Query Address Table.
3. SBA is the Start Base Address for each block.
52/65
M58LW128A, M58LW128B
Table 30. CFI - Query Address and Data Output
Data
Address (4)
A23-A1 (M58LW128A)
A23-A2 (M58LW128B)
DQ31-DQ16(6)
DQ15-DQ0
10h
0000
0051h
11h
0000
0052h
12h
0000
0059h
13h
0000
0001h
14h
0000
0000h
15h
0000
0031h
16h
0000
0000h
17h
0000
0000h
18h
0000
0000h
19h
0000
0000h
1Ah(5)
0000
0000h
Note: 1.
2.
3.
4.
5.
6.
Instruction
Query ASCII String
0051h; "Q"
0052h; "R"
0059h; "Y"
Primary Vendor:
Command Set and Control Interface ID Code
Primary algorithm extended Query Address Table:
P(h)
Alternate Vendor:
Command Set and Control Interface ID Code
Alternate Algorithm Extended Query address Table
The x8 or Byte Address mode is not available.
With the x16 Bus Width, the value of the address location of the CFI Query is independent of A1 pad (M58LW128B).
Query Data are always presented on DQ7-DQ0. DQ31-DQ8 are set to ’0’.
For M58LW128B, A1 = Don’t Care.
Offset 19h defines A which points to the Alternate Algorithm Extended Query Address Table.
DQ31-DQ16 are available in the M58LW128B only. They are in the high-impedance state when the device operates In x16 mode.
53/65
M58LW128A, M58LW128B
Table 31. CFI - Device Voltage and Timing Specification
Address (4)
A23-A1 (M58LW128A)
A23-A2 (M58LW128B)
DQ31-DQ16(5)
DQ15-DQ0
1Bh
0000
0027h (1)
VDD Min, 2.7V
1Ch
0000
0036h (1)
VDD max, 3.6V
1Dh
0000
0000h (2)
VPP min – Not Available
1Eh
0000
0000h (2)
VPP max – Not Available
1Fh
0000
0000h (3)
2n µs typical time-out for Word Program – Not Available,
DWord Program – Not Available
20h
0000
0008h
2n µs typical time-out for max Buffer Write
21h
0000
000Ah
2n ms, typical time-out for Erase Block
22h
0000
0000h (3)
2n ms, typical time-out for Chip Erase – Not Available
23h
0000
0000h (3)
2n x typical for Word Program time-out max – (Word and
Dword Not Available)
24h
0000
0004h
2n x typical for Buffer Write time-out max
25h
0000
0004h
2n x typical for individual Block Erase time-out maximum
26h
0000
0000h (3)
2n x typical for Chip Erase max time-out – Not Available
Note: 1.
2.
3.
4.
5.
54/65
Description
Bits are coded in Binary Code Decimal, bit7 to bit4 are scaled in Volts and bit3 to bit0 in mV.
Bit7 to bit4 are coded in Hexadecimal and scaled in Volts while bit3 to bit0 are in Binary Code Decimal and scaled in 100mV.
Not supported.
For M58LW128B, A1 = Don’t Care.
DQ31-DQ16 are available in the M58LW128B only. They are in the high-impedance state when the device operates In x16 mode.
M58LW128A, M58LW128B
Table 32. Device Geometry Definition
Address (1)
A23-A1 (M58LW128A)
A23-A2 (M58LW128B)
DQ31-DQ16(2)
DQ15-DQ0
27h
0000
0018h
2n number of bytes memory Size
N/A
0001h
Device Interface M58LW128A
0000
0004h
29h
0000
0000h
2Ah
0000
0005h
2Bh
0000
0000h
2Ch
0000
0001h
2Dh
0000
007Fh
2Eh
0000
0000h
2Fh
0000
0000h
30h
0000
0002h
Description
28h
Device Interface M58LW128B
Maximum number of bytes in Write Buffer, 2n
Bit7-0 = number of Erase Block Regions in device
Number (n-1) of Erase Blocks of identical size; n=128
Erase Block Region Information
x 256 bytes per Erase block (128K bytes)
Note: 1. For M58LW128B, A1 = Don’t Care. N/A = Not Applicable.
2. DQ31-DQ16 are available in the M58LW128B only. They are in the high-impedance state when the device operates In x16 mode.
Table 33. Block Status Register
Address
A23-A1 (M58LW128A)
A23-A2 (M58LW128B)
(1)
Data
Selected Block Information
0
Block Unprotected
1
Block Protected
0
Reserved for future features
bit0
(BA+2)h
bit7-1
Note: 1. BA specifies the block address location, A23-A17.
55/65
M58LW128A, M58LW128B
Table 34. Extended Query information
Address
Address
A23-A1 (M58LW128A) DQ31-DQ16(1) DQ15-DQ0
offset
A23-A2 (M58LW128B)
Description
(P)h
31h
0000h
0050h
(P+1)h
32h
0000h
0052h
(P+2)h
33h
0000h
0049h
(P+3)h
34h
0000h
0031h
Major version number
(P+4)h
35h
0000h
0031h
Minor version number
36h
0000h
008Eh
(P+6)h
37h
0000h
0001h
(P+7)h
38h
0000h
0000h
(P+8)h
39h
0000h
0000h
(P+9)h
3Ah
0000h
0001h
(P+A)h
3Bh
0000h
0001h
(P+B)h
3Ch
0000h
0000h
Block Status Register
bit 0 Block Protect Bit Status active (1=yes)
bits 1-15 are reserved
(P+C)h
3Dh
0000h
0033h
VDD OPTIMUM Program/Erase voltage conditions
(P+D)h
3Eh
0000h
0033h
VPP OPTIMUM Program/Erase voltage conditions
(P+E)h
3Fh
0000h
0002h
OTP protection: 00 NA, 01 128-bit, 02 OTP area
(P+F)h
40h
0000h
0004h
Page Read: 2n Bytes (n = bits 0-7)
(P+10)h
41h
0000h
0004h
Synchronous mode configuration fields
(P+11)h
42h
0000h
0000h
n where 2n+1 is the number of Words/Double-Words
for the burst Length (= 2)
(P+12)h
43h
0000h
0001h
n where 2n+1 is the number of Words/Double-Words
for the burst Length (= 4)
(P+13)h
44h
0000h
0002h
n where 2n+1 is the number of Words/Double-Words
for the burst Length (= 8) (x16 mode only)
(P+14)h
45h
0000h
0007h
burst continuous
(P+5)h
Query ASCII string - Extended Table
0050h; “P”
0052h; “R”
0049h; “I”
Optional Feature: (1=yes, 0=no)
bit0, Chip Erase Supported (0=no)
bit1, Suspend Erase Supported (1=yes)
bit2, Suspend Program Supported (1=yes)
bit3, Protect/Unprotect Supported (1=yes)
bit4, Queue Erase Supported (0=no)
bit5, Instant individual block locking Supported
(0=no)
bit6, Protection Bits Supported (0=no)
bit7, Page Read Supported (1=yes)
bit8, Synchronous Read Supported (1=yes)
Bit 31-9 reserved for future use
Supported functions after Suspend:
Program allowed after Erase Suspend (1=yes)
(refer to Commands for other allowed functions)
Bit 7-1 reserved for future use
Note: 1. DQ31-DQ16 are available in the M58LW128B only. They are in the high-impedance state when the device operates In x16 mode.
56/65
M58LW128A, M58LW128B
APPENDIX C. FLOW CHARTS
Figure 25. Write to Buffer and Program Flowchart and Pseudo Code
Start
Write to Buffer E8h
Command, Block Address
Note 1: N+1 is number of Words or Double
Words to be programmed
Write N(1),
Block Address
Write Buffer Data,
Start Address
X=0
X=N
YES
NO
Note 2: Next Program Address must
have same A5-A22.
Write Next Buffer Data,
Next Program Address(2)
X=X+1
Program Buffer to Flash
Confirm D0h
Read Status
Register
b7 = 1
NO
YES
Note 3: A full Status Register Check must be
done to check the program operation's
success.
Full Status
Register Check(3)
End
AI03635
57/65
M58LW128A, M58LW128B
Figure 26. Program Suspend & Resume Flowchart and Pseudo Code
Start
Write B0h
Program/Erase Suspend Command:
– write B0h
– write 70h
Write 70h
do:
– read status register
Read Status
Register
b7 = 1
NO
while b7 = 1
YES
b2 = 1
NO
Program Complete
If b2 = 0, Program completed
YES
Read Memory Array instruction:
– write FFh
– one or more data reads
from other blocks
Write FFh
Read data from
another block
Write D0h
Write FFh
Program Continues
Read Data
Program Erase Resume Command:
– write D0h
to resume erasure
– if the program operation completed
then this is not necessary. The device
returns to Read Array as normal
(as if the Program/Erase Suspend
command was not issued).
AI00612
58/65
M58LW128A, M58LW128B
Figure 27. Erase Flowchart and Pseudo Code
Start
Erase command:
– write 20h
– write D0h to Block Address
(A12-A17)
(memory enters read Status
Register after the Erase command)
Write 20h
Write D0h to
Block Address
NO
Read Status
Register
Suspend
b7 = 1
YES
NO
Suspend
Loop
do:
– read status register
– if Program/Erase Suspend command
given execute suspend erase loop
while b7 = 1
YES
b3 = 0
NO
VPP Invalid
Error (1)
YES
Command
Sequence Error
NO
Erase to Protected
Block Error
NO
Erase
Error (1)
If b3 = 1, VPP invalid error:
– error handler
YES
b4, b5 = 1,1
If b4, b5 = 1,1 Command Sequence error:
– error handler
NO
b1 = 0
If b1 = 1, Erase to Protected Block Error:
– error handler
YES
b5 = 0
If b5 = 1, Erase error:
– error handler
YES
End
AI00613C
Note: 1. If an error is found, the Status Register must be cleared (Clear Status Register Command) before further Program or Erase operations.
59/65
M58LW128A, M58LW128B
Figure 28. Erase Suspend & Resume Flowchart and Pseudo Code
Start
Write B0h
Program/Erase Suspend Command:
– write B0h
– write 70h
Write 70h
do:
– read status register
Read Status
Register
b7 = 1
NO
while b7 = 1
YES
b6 = 1
NO
Erase Complete
If b6 = 0, Erase completed
YES
Read Memory Array command:
– write FFh
– one o more data reads
from other blocks
Write FFh
Read data from
another block
or Program
Write D0h
Write FFh
Erase Continues
Read Data
Program/Erase Resume command:
– write D0h to resume the Erase
operation
– if the Program operation completed
then this is not necessary. The device
returns to Read mode as normal
(as if the Program/Erase suspend
was not issued).
AI00615
60/65
M58LW128A, M58LW128B
Figure 29. Command Interface and Program Erase Controller Flowchart (a)
WAIT FOR
COMMAND
WRITE
90h
NO
YES
READ
SIGNATURE
98h
NO
YES
CFI
QUERY
70h
NO
YES
READ
STATUS
READ
ARRAY
NO
50h
YES
CLEAR
STATUS
E8h
NO
YES
PROGRAM
BUFFER
LOAD
20h(1)
NO
YES
ERASE
SET-UP
NO
PROGRAM
COMMAND
ERROR
FFh
D0h
YES
NO
YES
D0h
NO
YES
C
A
ERASE
COMMAND
ERROR
B
Note 1. The Erase command (20h) can only be issued if the flash is not already in Erase Suspend.
AI03618
61/65
M58LW128A, M58LW128B
Figure 30. Command Interface and Program Erase Controller Flowchart (b)
A
B
ERASE
READ
STATUS
YES
(READ STATUS)
Program/Erase Controller
READY Status bit in the Status
Register
?
NO
READ
ARRAY
B0h
YES
NO
YES
FFh
READ
STATUS
NO
ERASE
SUSPEND
NO
YES
ERASE
SUSPENDED
READY
?
NO
READ
STATUS
YES
WAIT FOR
COMMAND
WRITE
READ
STATUS
YES
70h
NO
READ
SIGNATURE
YES
90h
NO
CFI
QUERY
YES
98h
NO
PROGRAM
BUFFER
LOAD
YES
E8h
NO
PROGRAM
COMMAND
ERROR
NO
D0h
YES
c
D0h
YES
READ
STATUS
(ERASE RESUME)
NO
READ
ARRAY
AI03619
62/65
M58LW128A, M58LW128B
Figure 31. Command Interface and Program Erase Controller Flowchart (c)
B
C
PROGRAM
READ
STATUS
YES
READY
?
(READ STATUS)
Program/Erase Controller
Status bit in the Status
Register
NO
READ
ARRAY
B0h
NO
YES
YES
NO
READ
STATUS
FFh
PROGRAM
SUSPEND
NO
YES
PROGRAM
SUSPENDED
READY
?
NO
YES
WAIT FOR
COMMAND
WRITE
READ
STATUS
YES
READ
STATUS
70h
NO
READ
SIGNATURE
YES
90h
NO
CFI
QUERY
YES
98h
NO
READ
ARRAY
NO
D0h
YES
READ
STATUS
(PROGRAM RESUME)
AI00618
63/65
M58LW128A, M58LW128B
REVISION HISTORY
Table 35. Document Revision History
Date
07-Dec-2001
16-Dec-2002
25-Feb-2003
64/65
Version
Revision Details
-01
First Issue.
1.1
Version number format modified (major.minor),
Revision History moved to end of document.
M58LW128A and M58LW128B device codes changed; Manufacturer code clarified.
Table 10, Read Electronic Signature, clarified.
Data Retention information added to Table 11, Program, Erase Times and Program
Erase Endurance Cycles. CFI information (Table 30, Table 31, Table 32 and Table
34) clarified. Document Status changed to Preliminary Data.
1.2
OTP size corrected. Word program not supported clarified in Table 31, CFI - Device
Voltage and Timing Specification and DQ15-DQ0 values changed to 0000h for
addresses 1Fh and 23h. Number (n-1) of Erase Blocks of identical size corrected in
Table 32, Device Geometry Definition. ASCII for 0049h corrected in Table 34,
Extended Query information.
E and F lead-free packing options added to Table 27, Ordering Information Scheme.
M58LW128A, M58LW128B
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
© 2003 STMicroelectronics - All Rights Reserved
STMicroelectronics group of companies
Australia - Brazil - Canada - China - Finland - France - Germany - Hong Kong India - Israel - Italy - Japan - Malaysia - Malta - Morocco - Singapore - Spain - Sweden - Switzerland - United Kingdom - United States.
www.st.com
65/65