August 2010 Rev 11 1/94
1
M29W128GH
M29W128GL
128-Mbit (16 Mbit x8 or 8 Mbit x16, page, uniform block)
3 V supply flash memory
Features
Supply voltage
–V
CC = 2.7 to 3.6 V for program, erase, read
–V
CCQ = 1.65 to 3.6 V for I/O buffers
–V
PPH = 12 V for fast program (optional)
Asynchronous random/page read
Page size: 8 words or 16 bytes
Page access: 25, 30 ns
Random access: 60 (only available upon
customer request) or 70, 80 ns
Fast program commands
32 words (64-byte write buffer)
Enhanced buffered program commands
256 words
Programming time
16 µs per byte/word typical
Chip program time: 5 s with VPPH and 8 s
without VPPH
Memory organization
M29128GH/L: 128 main blocks,
128 Kbytes/64 Kwords each
Program/erase controller
Embedded byte/word program algorithms
Program/ erase suspend and resume
Read from any block during program
suspend
Read and program another block during
erase suspend
Unlock Bypass/Block Erase/Chip Erase/Write
to Buffer/Enhanced Buffer Program commands
Faster production/batch programming
Faster block and chip erase
VPP/WP pin for fast program and write: protects
first or last block regardless of block protection
settings
Software prot ection:
Vo lat ile protection
Non-volatile protection
Password protection
Common flash interface
64-bit security code
128-word extended memory block
Extra block used as security block or to
store additional information
Low power consum p tio n
Standby and automatic standby
Minimum 100,000 program/erase cycles per
block
RoHS compliant packages
Automotive device gr ade: Temper ature -40 ° C
to 125 °C (Automotive grade certified)
BGA
TSOP56 (N)
14 x 20 mm FBGA (ZS)
11 x 13 mm
BGA
TBGA64 (ZA)
10 x 13 mm
Table 1. Device summary
Root part number Device code
M29W128GH: uniform, last block protected by VPP/WP 227Eh + 2221h + 2201h
M29W128GL: uniform, first block protected by VPP/WP 227Eh + 2221h + 2200h
www.numonyx.com
Contents M29W128GH, M29W12 8GL
2/94
Contents
1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Signal descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1 Address inputs (A0-A22) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Data inputs/outputs (DQ0-DQ7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 Data inputs/outputs (DQ8-DQ14) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 Data inputs/outputs or address inputs (DQ15A-1) . . . . . . . . . . . . . . . . . . 13
2.5 Chip enable (E) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.6 Output enable (G) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.7 Write enable (W) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.8 VPP/write protect (VPP/WP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.9 Reset (RP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.10 Ready/busy output (RB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.11 Byte/word organization select (BYTE) . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.12 VCC supply voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.13 VCCQ input/output supply voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.14 Vss ground . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3 Bus operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1 Bus read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Bus write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3 Output disable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.4 Standby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.5 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.6 Automatic standby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.7 Auto select mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.7.1 Read electronic signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.7.2 Verify extended memory block protection indicator . . . . . . . . . . . . . . . . 19
3.7.3 Verify block protection status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.7.4 Hardware block protect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4 Hardware protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
M29W128GH, M29W128GL Contents
3/94
5 Software protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.1 Volatile protection mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.2 Non-volatile protection mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.2.1 Non-volatile protection bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.2.2 Non-volatile protection bit lock bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.3 Password protection mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6 Command interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.1 Standard commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.1.1 Read/Reset command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.1.2 Auto Select command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.1.3 Read CFI Query command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.1.4 Chip Erase command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.1.5 Block Erase command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.1.6 Erase Suspend command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.1.7 Erase Resume command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.1.8 Program Suspend command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.1.9 Program Resume command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.1.10 Program command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.2 Fast program commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.2.1 Write to Buffer Program command . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.2.2 Enhanced Buffered Program command . . . . . . . . . . . . . . . . . . . . . . . . 35
6.2.3 Buffered Program Abort Reset command . . . . . . . . . . . . . . . . . . . . . . . 36
6.2.4 Write to Buffer Program Confirm command . . . . . . . . . . . . . . . . . . . . . . 37
6.2.5 Enhanced Buffered Progra m Confirm command . . . . . . . . . . . . . . . . . . 37
6.2.6 Unlock Bypass command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.2.7 Unlock Bypass Program command . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.2.8 Unlock Bypass Block Erase command . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.2.9 Unlock Bypass Chip Erase command . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.2.10 Unlock Bypass Write to Buffer Program command . . . . . . . . . . . . . . . . 38
6.2.11 Unlock Bypass Enhanced Buffered Program command . . . . . . . . . . . . 38
6.2.12 Unlock Bypass Reset command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.3 Protection commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.3.1 Enter Extended Memory Block command . . . . . . . . . . . . . . . . . . . . . . . 41
6.3.2 Exit Extended Memory Block command . . . . . . . . . . . . . . . . . . . . . . . . 42
6.3.3 Lock register command set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Contents M29W128GH, M29W12 8GL
4/94
6.3.4 Password protection mode command set . . . . . . . . . . . . . . . . . . . . . . . 42
6.3.5 Non-volatile protection mode command set . . . . . . . . . . . . . . . . . . . . . 43
6.3.6 NVPB lock bit command set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.3.7 Volatile protection mode command set . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.3.8 Exit Protection Command Set command . . . . . . . . . . . . . . . . . . . . . . . . 45
7 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.1 Lock register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.1.1 Password protection mode lock bit (DQ2) . . . . . . . . . . . . . . . . . . . . . . . 50
7.1.2 Non-volatile protection mode lock bit (DQ1) . . . . . . . . . . . . . . . . . . . . . 50
7.1.3 Extended block protection bit (DQ0) . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.1.4 DQ15 to DQ3 reserved . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.2 Status register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.2.1 Data polling bit (DQ7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.2.2 Toggle bit (DQ6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.2.3 Error bit (DQ5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.2.4 Erase timer bit (DQ3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.2.5 Alternative toggle bit (DQ2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.3 Buffered program abort bit (DQ1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8 Maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
9 DC and AC parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
10 Package mechanical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
11 Ordering information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Appendix A Block addresses and read/modify protection groups . . . . . . . . . . 79
Appendix B Common flash interface (CFI). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Appendix C Extended memory block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
C.1 Factory locked extended memory block . . . . . . . . . . . . . . . . . . . . . . . . . . 88
C.2 Customer lockable extended memory block . . . . . . . . . . . . . . . . . . . . . . . 89
Appendix D Flowcharts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
M29W128GH, M29W128GL Contents
5/94
12 Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
List of tables M29W128GH, M29W128GL
6/94
List of tables
Table 1. Device summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Table 2. Signal names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Table 3. VPP/WP functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Table 4. Bus operations, 8-bit mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Table 5. Bus operations, 16-bit mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Table 6. Read electronic signature - auto select mode - programmer method (8-bit mode) . . . . . . 21
Table 7. Read electronic signature - auto select mode - programmer method (16-bit mode) . . . . . 21
Table 8. Block protection - auto select mode - programmer method (8-bit mode) . . . . . . . . . . . . . . 22
Table 9. Block protection - auto select mode - programmer method (16-bit mode) . . . . . . . . . . . . . 22
Table 10. Standard commands, 8-bit mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Table 11. Standard commands, 16-bit mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Table 12. Fast program commands, 8-bit mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Table 13. Fast program commands, 16-bit mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Table 14. Enhanced buffered program commands, 16-bit mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Table 15. Block protection commands, 8-bit mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Table 16. Block protection commands, 16-bit mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Table 17. Program, erase times and program, erase endurance cycles . . . . . . . . . . . . . . . . . . . . . . 49
Table 18. Lock register bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Table 19. Block protection status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Table 20. Status register bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Table 21. Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Table 22. Opera tin g an d AC measurement con ditio ns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Table 23. Power-up waiting timings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Table 24. Device capacitance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Table 25. DC characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Table 26. Read AC characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Table 27. Write AC characteristics, write enable controlled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Table 28. Write AC characteristics, chip enable controlled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Table 29. Reset AC characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Table 30. Accelerated program and data polling/data toggle AC characteristics . . . . . . . . . . . . . . . . 74
Table 31. TSOP56 – 56 lead plastic thin small outline, 14 x 20 mm, package mechanical data . . . . 75
Table 32. TBGA64 10 x 13 mm - 8 x 8 active ball array, 1 mm pitch, package mechanical data. . . . 76
Table 33. FBGA64 11 x 13 mm—8 x 8 active ball array, 1 mm pitch, package mechanical data . . . 77
Table 34. Ordering information scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Table 35. Block addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Table 36. Query structure overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Table 37. CFI query identification string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Table 38. CFI query system interface information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Table 39. Device geometry definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Table 40. Primary algorithm-specific extended query table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Table 41. Security code area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Table 42. Extended memory block address and data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Table 43. Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
M29W128GH, M29W128GL List of figures
7/94
List of figures
Figure 1. Logic diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Figure 2. TSOP connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Figure 3. TBGA and FBGA connections (top view through package) . . . . . . . . . . . . . . . . . . . . . . . . 11
Figure 4. Block addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Figure 5. Software protection scheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Figure 6. NVPB program/erase algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Figure 7. Lock register program flowchart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Figure 8. Data polling flowchart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Figure 9. Data toggle flowchart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Figure 10. AC measurement load circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Figure 11. AC measurement I/O waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Figure 12. Power-up waiting timings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Figure 13. Random read AC waveforms (8-bit mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Figure 14. Random read AC waveforms (16-bit mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Figure 15. BYTE transition AC waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Figure 16. Page read AC waveforms (16-bit mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Figure 17. Write enable controlled program wavefor ms (8-bit mode) . . . . . . . . . . . . . . . . . . . . . . . . . 66
Figure 18. Write enable controlled program waveforms (16-bit mode) . . . . . . . . . . . . . . . . . . . . . . . . 67
Figure 19. Chip enable controlled program waveforms (8-bit mode). . . . . . . . . . . . . . . . . . . . . . . . . . 69
Figure 20. Chip enable controlled program waveforms (16-bit mode). . . . . . . . . . . . . . . . . . . . . . . . . 70
Figure 21. Chip/block erase waveforms (8-bit mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Figure 22. Reset AC waveforms (no program/erase ongoing). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Figure 23. Reset during program/erase operation AC waveforms. . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Figure 24. Accelerated prog ram tim i n g waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Figure 25. Data polling AC waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Figure 26. Toggle/alternative toggle bit polling AC waveforms (8-bit mode) . . . . . . . . . . . . . . . . . . . . 74
Figure 27. TSOP56 – 56 lead plastic thin small outline, 14 x 20 mm, package outline, top view . . . . 75
Figure 28. TBGA64 10 x 13 mm - 8 x 8 active ball array, 1 mm pitch, package outline, bottom view. 76
Figure 29. FBGA64 11 x 13 mm—8 x 8 active ball array, 1 mm pitch, package outline, bottom view. 77
Figure 30. Write to buffer program flowchart and pseudocode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Figure 31. Enhanced buffered program flowch art and pseudocode . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Description M29W128GH, M29W128GL
8/94
1 Description
The M29W128GH and M29W128GL are 128-Mbit (8 Mbit x16 or 16 Mbit x8) non-volatile
flash memories that can be read, erased and reprogramm ed . Th ese operations ca n be
performed usin g a sing le low voltage (2.7 to 3. 6 V) supp ly. On po we r- up the memo ry
defaults to its read mode.
The memory array is divided into 64-Kw ord/128-Kbyte uniform blocks 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
takin g care of all of the spe cial operations that are requ ired to upda te the memory co ntent s.
The end of a program or erase operation can be detected and any error conditions
identified. The command set required to control the memory is consistent with JEDEC
standards.
Chip Enable, Output Enable and Write Enable signals control the bus operation of the
memory. They allow simple connection to most microprocessors, often without additional
logic.
The M29W128GH and M29W128GL support asynchronous random read and page read
from all blocks of the memory array. The devices also feature a write to buffer program
capability that improves the programming throughput by programming in one shot a buf fer of
32 words/64 byte s. The enhanced buffered program feature is also available to speed up
the programmin g throughput, allowing to pr ogram 256 word s in one shot (only in x16 mode).
The VPP/WP signal can be used to enable faster programming of the device.
The M29W128GH and M29W12 8GL have a n extra bloc k, the extended block, of 128 word s
in x16 mode or of 256 bytes in x8 mode that can be accessed using a dedicate d comm and.
The extended block can be protected and so is useful for storing security information.
However the protection is not reversible, once protected the protection cannot be undone.
The device features different levels of hardware and software block protection to avoid
unwanted program or erase (modify):
Hardware protection:
–The V
PP/WP provides a hardware protection of the hi ghest and lowest block on
the M29W128GH, M29W128GL, respectively.
Software protection:
Volatile protection
Non-volatile protection
Password protection
The M29W128GH and M29W128GL are offered in TSOP56 (14 x 20 mm), and TBGA64
(10 x 13 mm, 1 mm pitch), packages. The memories are delivered with all the bits erased
(set to ‘1’).
M29W128GH, M29W128GL Description
9/94
Figure 1. Logic diagram
1. Also see Appendix A and Table 35 for a full listing of the block addresses.
Table 2. Signal names
Name Description Direction
A0-A22 Address inputs Inputs
DQ0-DQ7 Data inputs/outputs I/O
DQ8-DQ14 Data inputs/outputs I/O
DQ15A1 Data input/output or address inpu t I/O
EChip enable Input
GOutput enable Input
WWrite enable Input
RP Reset Input
RB Ready/busy output Output
BYTE Byte/word organization select Input
VCCQ Input/output buffer supply voltage Supply
VCC Supply voltage Supply
VPP/WP(1)
1. VPP/WP may be left floating as it is internally connected to a pull-up resistor which enables program/erase
operations.
VPP/write protect Supply/Input
VSS Ground
NC Not connected
AI13330b
23
A0-A22
W
DQ0-DQ1
4
VCC
M29W128GH
M29W128GL
E
VSS
15
G
RP
DQ15A-1
RB
VPP/WP
BYTE
VCCQ
Description M29W128GH, M29W128GL
10/94
Figure 2. TSOP connections
DQ3
DQ9
DQ2
A6 DQ0
W
A3
RB
DQ6
A19
A8 DQ13
A17
A12
DQ14
A2
DQ12
DQ10
DQ15A-1
VCC
DQ4
DQ5
A7
DQ7
VPP/WP
A21
AI13331b
M29W128GH
M29W128GL
14
1
15
28 29
42
43
56
DQ8
NC
A20
A1
A18
A4
A5
DQ1
DQ11
G
A14
A15 A16
A13 BYTE
NC
A22
VSS
E
A0
RP
VSS
A9
A10
A11
NC
NC
NC
NC
VCCQ
M29W128GH, M29W128GL Description
11/94
Figure 3. TBGA and FBGA connections (top view through package)
654321
VSS
A11
A10
A8
A9
DQ3
DQ11
DQ10
A18
VPP/WP
RB
A0
A2
A4
A3
G
NC
NC
NC
DQ2
DQ1
DQ9
DQ8
A6
A17
A7
DQ4
VCC
DQ12
DQ5
A19
A21
RP
W
A5
DQ0
NC
NC
VSS
A1 A20
DQ7
BYTE
C
B
A
E
D
F
G
H
DQ15
A-1
87
AI11527c
NC
A15
A14
A12
A13
DQ6
DQ13
DQ14
NC
A22
NC
VSS
A16
NC
NC
E
NC
NC
VCCQ
VCCQ
Description M29W128GH, M29W128GL
12/94
Figure 4. Block addresses
AI1333
2
(x8)
Addres s lines A22-A0, D Q15A-1
128 K bytes
F
FFFFFh
128 K bytes
0
1FFFFh
0
00000h
128 K bytes
0
20000h
T otal of 128
uniform block s
0
3FFFFh
(x16)
Address lines A22-A0
64 K words
7FFFFFh
64 K words
00FFFFh
000000h
64 K words
M29W128GH, M29W128GL Signal descriptions
13/94
2 Signal descriptions
See Figure 1: Logic diagram, and Table 2: Signal names, for a brief overview of the signals
connected to this device.
2.1 Address inputs (A0-A22)
The address inputs select the cells in the memory array to access during bus read
operations. During bus write operations they control the commands sent to the command
interface of the program/erase controller.
2.2 Data inputs/outputs (DQ0-DQ7)
The data I/O outputs the dat a stored at the selected address during a bus read operation.
During bus write op erations they re present th e commands sent to the comm and interface of
the internal state machine.
2.3 Data inputs/outputs (DQ8-DQ14)
The data I/O outputs the data stored at the selected address during a bus read operation
when BYTE is High, VIH. When BYTE is Low, VIL, these pins are not used and are high
impedance. During bus write operations the command register does not use these bits.
When reading the status register these bits should be ignored.
2.4 Data inputs/outputs or address inputs (DQ15A1)
When the device is in x 16 bus mode, this pin behaves as a data input/output pin (as DQ8-
DQ14). When the device operates in x 8 bus mode, this pin beh aves as the least significant
bit of the address. Throughout the text consider references to the data input/output to
include this pin when the device operates in x 16 bus mode and references to the address
inputs to include this pin when the device operates in x 8 bus mode except when stated
explicitly otherwise.
2.5 Chip enable (E)
The chip enable pin, E, activa tes the memory, allowing bus read a nd bus write operations to
be performed. When chip enable is High, VIH, all other pins are ignored.
2.6 Output enable (G)
The output enable pin, G, controls the bus read operation of the memory.
Signal descriptions M29W128GH, M29W128GL
14/94
2.7 Write enable (W)
The write enable pin, W, controls the bus write operation of the memory’s command
interface.
2.8 VPP/write protect (VPP/WP)
The VPP/write protect p in provides two functions. The VPPH function allows the memory to
use an external high voltage power supply to reduce the time required for program
operations. This is achieved by bypassing the unlock cycles.
The write protect function provides a hardware method of protecting the highest or lowest
block (see Section 1: Description). When VPP/write pro tect is Low, VIL, the highest or lowest
block is protected . Pro gr am an d er ase operations on this blo ck are igno red wh ile VPP/write
protect is Low.
When VPP/write protect is High, VIH, the memory revert s to the previous protection status of
the h i ghest o r lowe st blo ck. Progr am an d er as e op er a tion s ca n no w mo dif y the data in this
block unless the block is protected using block prote ction.
When VPP/write protect is raised to VPPH the memory automatically enters the unlock
bypass mode (see Section 6.2.6).
When VPP/write protect is raised t o VPPH, th e execution time of the command is lower (se e
Table 17: Program, erase times and progr am , er as e en du r an ce cy cle s).
When VPP/write protect returns to VIH or VIL normal operation resumes. During unlock
bypass program operations the memory draws IPP from the pin to supply the programming
circuits. See the description of th e Un lock Bypass comman d in the co mma nd inte rf ace
section. The transitions from VIH to VPPH and from VPPH to VIH must b e slower than tVHVPP
(see Figure 24: Accelerated program timing waveforms).
Never raise VPP/write protect to VPPH from any mode except read mode, otherwise the
memory may be left in an indeterminate state. A 0.1 µF capacitor should be connected
between the V PP/write protect pin and the VSS ground pin to decouple the current surges
from the power supply. The PCB track widths must be sufficient to carry the currents
required dur ing u n lock bypass program (see IPP1, IPP2, IPP3, IPP4 in Table 25: DC
characteristics).
The VPP/write protect pin may be left floating or unconnected because it fe atures an intern al
pull-up.
Refer to Table 3 for a summary of VPP/WP functions.
Table 3. VPP/WP functions
VPP/WP Function
VIL Highest block protected on M29W128GH.
Lowest block protected on M29W128GL.
VIH Highest and lowest block unprotected unle s s a software protection is
activa ted (see Section 4 : Hardware protection).
VPPH Unlock bypass mode. It supplies the current needed to speed up
programming.
M29W128GH, M29W128GL Signal descriptions
15/94
2.9 Reset (RP)
The reset pin can be used to apply a hardware reset to the memory.
A hardware reset is achieved by holding reset Low, VIL, for at least tPLPX. After reset goes
High, VIH, the memory will be ready for bus read and bus write operations after tPHEL or
tRHEL, whichever occurs last. See Section 2.10: Ready/busy output (RB), Table 29: Reset
AC characteristics, Figure 22 and Figure 23 for more details.
2.10 Ready/busy output (RB)
The ready/busy pin is an open-d rain output that can be used to identify when the device is
performing a pr ogram or erase op eration. During pr ogram or erase operations rea dy/busy is
Low, V OL (see Table 20: Status register bits). Ready/busy is high-impedance during read
mode, auto select mode and erase suspend mode.
After a hardware reset, bus read and bus write operations cannot begin until ready/busy
becomes high-impedance. See Table 29: Reset AC characteristics, Figure 22 and
Figure 23.
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.
2.11 Byte/word organization select (BYTE)
It is used to switch between the x8 and x16 bus modes of the memory. When byte/word
organization select is Low, VIL, the memory is in x8 mode, when it is High, VIH, the memory
is in x16 mode.
2.12 VCC supply voltage
VCC provides the po wer sup ply for all op er ations (read, pro gram an d er ase).
The command interface is disabled when the VCC supply voltage is less than the lockout
voltage, VLKO. This prevents bus write operations fr om accidentally damaging the data
during power-up, power-down and power surges. If the program/erase controller is
programming or e rasing during th is time then the oper ation aborts a nd the memory conten ts
being altered will be invalid.
A 0.1 µF capacitor should be connected between the VCC supply voltage pin and the VSS
ground pin to decouple the current surges from the power supply. The PCB track widths
must be sufficient to carry the cu rr en ts require d du r ing pro gr am an d er ase operations (see
ICC1, ICC2, ICC3 in Table 25: DC characteristics).
2.13 VCCQ input/output supply voltage
VCCQ provides the power supply to the I/O pins and enables all outputs to be powered
independently from VCC.
Signal descriptions M29W128GH, M29W128GL
16/94
2.14 Vss ground
VSS is the reference for all volt age measurement s. The device features two V SS pins both of
which must be connected to the system ground.
M29W128GH, M29W128GL Bus operations
17/94
3 Bus operations
There are five sta ndard bus operatio ns that control th e device. The se are bus read (random
and page modes), bus write, output disable, standby and automatic standby.
See Table 4: Bus operations, 8-bit mode and Table 5: Bus operations, 16-bit mode for a
summary. Typical glitches of less than 5 ns on chip enable, write enable, and reset pins ar e
ignored by the memory and do not affect bus operations.
3.1 Bus read
Bus read operations read from the memory cells, or specific registe rs in the command
interface. To speed up the read operation the memory array can be read in page mode
where dat a is internally read and stored in a page bu ffer. The page has a size of 8 words (or
16 bytes) and each word in the page is addressed by the address inputs A2-A0 in x 16
mode and A2-A0 plus DQ15A1 in byte mode.
A valid bus read operation involves setting the desired address on the address inputs,
applying a Low signal, VIL, to chip enable and outp ut enable and keeping write enable High,
VIH. The data inputs/outputs will output the value, see Figure 13: Random read AC
waveforms (8-bit mode), Figure 16: Page read AC waveforms (16-bit mode), and Table 26:
Read AC characteristics, for details of when the output becomes valid.
3.2 Bus write
Bus write operations write to the command interface. A valid bus write operation begins by
setting the desired address on the address inputs. The address inputs are latched by the
command interface on the falling edge of chip enable or write enable, whichever occurs last.
The Data inputs/outputs are latched by the command interface on the rising edge of chip
enable or write enable, whiche ver occurs fir st. Output enable mu st remain Hig h, VIH, during
the whole bus write operation. See Figure 17, and Figure 18, Write AC waveforms, and
Table 27 and Table 28, Write AC characteristics, for details of the timing requirements.
3.3 Output disable
The data inputs/outputs are in the high impedance state when output enable is High, VIH.
3.4 Standby
Driving chip enable High in read mode, causes the memory to enter standby mode and the
data inputs/outputs pins are placed in the high-impedance state. To reduce the supply
current to the standby supply current, ICC2, chip enable should be held within VCC ±0.3V.
For the standby current level see Table 25: DC characteristics.
During program or erase operations the memory will continue to use the program/erase
supply current, ICC3, for program or erase operations until the operation completes.
Bus operations M29W128GH, M29W128GL
18/94
3.5 Reset
During reset mode the memor y is deselected and the outputs are high impedance. The
memory is in reset mode when RP is at VIL. The power consumption is reduce d to the
standby level, independently from the chip enable, output enable or write enable inputs.
3.6 Automatic standby
Automatic standby allows the memory to achieve low power consumption during read
mode.
After a r ead operation, if CMOS levels (V CC ± 0.3 V) are used to drive the bus an d the bus is
inactive for tAVQV +30ns or more, the memory enters auto matic st and by wher e the interna l
supply current is reduced to the standby supply curren t, ICC2 (see Table 25: DC
characteristics). The data inputs/outputs will still output data if a bus read operation is in
progress.
The power supplier of data bus, VCCQ, can have a null consump tion (depending on load
circuits connected with data bus) when the memory enters automatic standby.
3.7 Auto select mode
The auto select mode allows the system or the programming equipment to read the
electronic signature, verify the protection status of the extended memory block, and
apply/remove block protection. For example, this mode can be used by a programming
equipment to automatically match a device and the application code to be programmed.
There are two methods to enter auto select mode:
programmer method:
Additional bus operations are used. They require VID to be applied to address pin A9.
Refer to Table 6, Table 7, Table 8, and Table 9 for a description of the bus operations
required to read the electronic signature using the programmer method
in-system method:
The auto select mode is entered by issuing the Auto Select command (see
Section 6.1.2). It is not necessary to apply VID to A9.
At power-up, the device is in read mode, and can then be put in auto select mode by using
one of the methods descr ibed above.
The device cannot enter auto select mode when a program or erase operation is ongoing
(RB Low). However, auto select mode can be entered if the erase operation has been
suspended by issuing an Erase Suspend command (see Section 6.1.6).
The auto select mode is exited by performing a reset. The device is return ed to read mode,
except if the auto select mode was entered after an Erase Suspend or a Program Suspend
command. In this case, it returns to the erase or program suspend mode.
3.7.1 Read electronic signature
The memory has two codes, the manufacturer code and the device code used to identify the
memory. These codes can be accessed by performing read operations with control signals
and addresses set as shown in Table 6: Read electronic signature - auto select mode -
M29W128GH, M29W128GL Bus operations
19/94
programmer metho d (8-bit mode) and Table 7: Read electronic signature - auto select mode
- programme r method (16-bi t mo de ) .
These codes can also be accessed by issuing an Auto Select command (see Section 6.1.2:
Auto Select command).
3.7.2 Verify extended memory block protection indicator
The extended memory block is either factory locked or customer lockable.
The protection status of the extended memory b lock (factory locked or customer lockable)
can be accessed by rea ding the exte nded memor y block protection indicato r. It can be read
in auto select mode using eith er the prog rammer (see Table 8 and Table 9) or the in-system
method (see Table 10 and Table 11).
The protection status of the extended memory block is then output on bit DQ7 of the data
input/outputs (see Table 4 and Table 5, Bus operations in 8-bit and 16-bit mode).
3.7.3 Verify block protection status
The protection status of a block can be direct ly accessed by performing a read operation
with control signals and addre sses set as shown in Table 8 and Table 9.
If the block is protected, then 01h (in x 8 mode) is output on data input/outputs DQ0-DQ7,
otherwise 00h is output.
3.7.4 Hardware block protect
The VPP/WP pin can be used to pro tect the hi ghest o r lowest block. Wh en V PP/WP is at VIL
the highest (M29W128GH) or lowest block (M29W128GL) is protected and remains
protected re ga rd le ss of th e blo ck pr otection status or the r eset pin state.
Bus operations M29W128GH, M29W128GL
20/94
M
Table 4. Bus operations, 8-bit mode
Operation(1) E G W RP VPP/WP Address Inputs Data inputs/outputs
A22-A0, DQ15A-1 DQ14-DQ8 DQ7-DQ0
Bus read VIL VIL VIH VIH X Cell address Hi-Z Data output
Bus write VIL VIH VIL VIH X(2) Command address Hi-Z Data input(3)
Standby VIH XXV
IH X X Hi-Z Hi-Z
Output disable VIL VIH VIH VIH X X Hi-Z Hi-Z
Reset X X X VIL X X Hi-Z Hi-Z
1. X = VIL or VIH.
2. If WP is Low, VIL, the outermost block remains protected.
3. Data input as required when issuing a command sequence, performing data polling or block protection.
Table 5. Bus operations, 16 -bit mode
Operation(1) E G W RP VPP/WP Addre ss inputs Data i nputs/ outp uts
A22-A0 DQ15A-1, DQ14-DQ0
Bus read VIL VIL VIH VIH X Cell address Data output
Bus write VIL VIH VIL VIH X(2) Command address Data input(3)
Standby VIH XXV
IH XX Hi-Z
Output disable VIL VIH VIH VIH XX Hi-Z
Reset XXXV
IL XX Hi-Z
1. X = VIL or VIH.
2. If WP is Low, VIL, the outermost block remains protected.
3. Data input as required when issuing a command sequence, performing data polling or block protection.
M29W128GH, M29W128GL Bus operations
21/94
Table 6. Read electronic signature - auto select mode - programmer method (8-bit mode)
Read
cycle(1) E G W
Address inputs Data inpu ts/outputs
A22-A10 A9 A8-
A7 A6 A5-A4 A3 A2 A1 A0 DQ15A-1 DQ14-DQ8 DQ7-DQ0
Manufacture
r code
VIL VIL VIH XVID
(2) XV
IL X
VIL VIL VIL VIL XX 20h
Device code
(cycle 1) VIL VIL VIL VIH X X 7Eh (both devices)
Device code
(cycle 2) VIH VIH VIH VIL X X 21h (both devices)
Device code
(cycle 3) VIH VIH VIH VIH XX
01h (M29W128GH)
00h (M29W128GL)
1. X = VIL or VIH.
2. When using the in-system method, applying VID to A9 is not required. A9 can be either VIL or VIH.
Table 7. Read electronic signature - auto select mode - programmer method (16-bit mode)
Read
cycle(1) E G W Address inputs Data inputs/outputs
A22-A10 A9 A8-A7 A6 A5-A4 A3 A2 A1 A0 DQ15A-1, DQ14-DQ0
Manufacturer
code
VIL VIL VIH XVID
(2) XV
IL X
VIL VIL VIL VIL 0020h
Device code
(cycle 1) VIL VIL VIL VIH 227Eh
(both devices)
Device code
(cycle 2) VIH VIH VIH VIL 2221h
(both devices)
Device code
(cycle 3) VIH VIH VIH VIH 2201h (M29W128GH)
2200h (M29W128GL)
1. X = VIL or VIH.
2. When using the in-system method, applying VID to A9 is not required. A9 can be either VIL or VIH.
Bus operations M29W128GH, M29W128GL
22/94
Table 8. Block protection - auto select mode - programmer method (8-bit mode)
Operation(1) E G W
Address inputs Data inputs/outputs
A22-
A16 A14-
A10 A9 A8-
A7 A6 A5-
A4 A3-
A2 A1 A0 DQ15
A-1 DQ14
-DQ8 DQ7-DQ0
Verify
extended
memory
block
protection
indicator
(bit DQ7)
M29W128GL
VIL VIL VIH
XXVID
(2) XV
IL XV
IL VIH
VIH XX
89h (factory locked)
09h (customer lockable)
M29W128GH 99h (factory locked)
19h (customer lockable)
Verify block protection status BAd VIL 01h (protected)
00h (unprotected)
1. X = VIL or VIH. BAd any address in the block.
2. When using the in-system method, applying VID to A9 is not required. A9 can be either VIL or VIH.
Table 9. Block protection - auto select mode - programmer method (16-bit mode)
Operation(1) E G W
Address inputs Data inputs/outputs
A22-
A16 A14-
A10 A9 A8-
A7 A6 A5-
A4 A3-
A2 A1 A0 DQ15A-1, DQ14-DQ0
Verify
extended
memory
block
indicator
(bit DQ7)
M29W128GL
VIL VIL VIH
XXVID
(2) XV
IL XV
IL VIH
VIH
0089h (factory locked)
0009h (customer lockable)
M29W128GH 0099h (factory locked)
0019h (customer lockable)
Verify block protection status BAd VIL 0001h (protected)
0000h (unprotected)
1. X = VIL or VIH. BAd any address in the block.
2. When using the in-system method, applying VID to A9 is not required. A9 can be either VIL or VIH.
M29W128GH, M29W128GL Hardware protection
23/94
4 Hardware protection
The M29W128GH and M29W128GL feature a VPP/WP pin that protects the highest or
lowest block. Refer to Sect ion 2: Signal desc rip tio ns fo r a de tailed desc rip tio n of th e sig nal.
5 Software protection
The M29W128GH and M29W128GL have three different software protection modes:
Volatile protection
Non-volatile protection
Password protection
On first use all parts default to operate in non-volatile protection mode and the customer is
free to activate the non-volatile or the password protection mode.
The desired protection mode is activated by setting either the one-time programmable non-
volatile protection mode lock bit, or the password protection mode lock bit of the lock
register (see Section 7.1: Lock r egister). Program ming the non-volatile protection mode lock
bit or the password protection mode lock bit, to ‘0’ will permanently activate the non-volatile
or the password protection mode, respectively. These two bits are one-time programmable
and non-volatile: once the protectio n mode has been programmed, it cannot be changed
and the device will permanently operate in the selected protection mode. It is recommended
to activate the desired software protection mode when first programming the device.
The non-volatile and password protection modes both provide non-volatile protection.
Volatilely protected blocks and non-volatilely protected blocks can co-exist within the
memory array. However , the volatile protection only control the protection scheme for blo cks
that are not protected using the non-volatile or password protection.
If the user attempts to program or erase a pr otected block, the device ignores th e command
and returns to read mode.
The device is shipped with all blocks unprotected. The block protection status can be read
either by performing a read electronic signature (see Table 6 and Table 7) or by issuing an
Auto Select command (see Table 19: Block protection status).
For the lowest and highest blocks, an even higher le vel o f block prote ction can be achie ved
by locking the blocks using the non-volatile protection and then by holding the V PP/WP pin
Low.
Software protection M29W128GH, M29W128GL
24/94
5.1 Volatile protection mode
The volatile protection allows the software application to easily protect blocks a gainst
inadvertent change. However, the protection can be easily disabled when changes are
needed. Volatile protection bits, VPBs, are volatile and unique for each block and can be
individually modified. VPBs only control the protection scheme for unprotected blocks that
have their non-volatile protection bits, NVPBs, cleared (erased to ‘1’) (see Section 5.2: Non-
volatile protection mode and Section 6.3.5: Non-volatile protection mode command set).
By issuing the VPB Program or VPB Clear commands, the VPBs are set (programmed to
‘0’) or cleared (erased to ‘1’), thus placing each block in the protected or unprotected state
respectively. The VPBs can be set (programmed to ‘0’) or cleared (erased to ‘1’) as often as
needed.
When the p arts are first shipp ed, or after a power-up or hardware reset, the VPBs can be set
or cleared depending upon the ordering option chosen:
If the option to clear the VPBs after power-up is selected, then the blocks can be
programmed or erased depending on the NVPBs state (see Table 19: Block protection
status)
If the option to set the VPBs after power-up is selected, the blocks default to be
protected.
Refer to Section 6.3.7 for a description of the volatile protection mode command set.
5.2 Non-volatile protection mode
5.2.1 Non-volatile protection bits
A non-volatile protection bit (NVPB) is assigned to each block.
When a NVPB is set to ‘0’, the associated block is protected, preventing any program or
erase opera tio ns in th is bloc k.
The NVPB bits are set individually by issuing a NVPB Program command. They are non-
volatile and will remain set through a hardware reset or a power-down/power-up sequence.
The NVPBs cannot be cleared individually, they can only be cleared all at the same time by
issuing a Clear all Non-volatile Protection bits command.
The NVPBs can be protected all at a time by setting a volatile bit, the NVPB lock bit (see
Section 5.2.2: Non-volatile protection bit lock bit).
If one of the non-volatile protected blocks needs to be unprotected (corresponding NVPB
set to ‘1’), a few more s te ps are requ ire d :
1. First, the NVPB lock bit must be cleared by either putting the device through a power
cycle, or hardware reset
2. The NVPBs can then be changed to reflect the desired settings
3. The NVPB lock bit must be set once again to lock the NVPBs. The device operates
normally again.
Note: 1 To achieve the best protection, it is recommended to execute the NVPB Lock Bit Program
command early in the boot code and to protect the boot code by holding VPP/WP Low, VIL.
2 The NVPBs and VPBs have the same function when VPP/WP pin is High, VIH, as they do
when VPP /WP pin is at the voltage for program acceleration (VPPH).
M29W128GH, M29W128GL Software protection
25/94
Refer to Table 19: Block protection status and Figure 5: Software protection sch em e for
details on the block protectio n mech anism, an d to Section 6.3.5 for a descriptio n of the no n-
volatile protection mode command set.
5.2.2 Non-volatile protection bit lock bit
The non-volatile protection bit lock bit (NVPB lock bit) is a global volatile bit for all blocks.
When set (programmed to ‘0’), it prevents changing the state of the NVPBs. When cleared
(programmed to ‘1’), the NVPBs can be set and reset using the NVPB Program command
and Clear all NVPBs command, respectively.
There is only one NVPB lock bit per device.
Refer to Section 6.3.6 for a description of the NVPB lock bit command set.
Note: 1 No software command unlocks this bit unless the device is in password protection mode; it
can be cleared only by ta king the device through a hardware reset or a power-up.
2 The NVPB lock bit must be set (programmed to ‘0’) only after all NVPBs are configured to
the desired settings.
5.3 Password protection mode
The password protection mode provides an even higher level of security than the non-
volatile protection mode by requiring a 64-bit password for unlocking the device NVPB lock
bit.
In addition to this password requirement, the NVPB lock bit is set ‘0’ after power-up and
reset to maintain the device in password protection mode. Successful execution of the
Password Unlock command by entering the correct password clears the NVPB lock bit,
allowing for block NVPBs to be modified.
If the password provided is not correct, the NVPL lock bit remains locked and the state of
the NVPBs cannot be modified.
To place the device in password protection mode, the following steps are required:
1. Prior to entering the password protection mode, it is necessary to set a 64-bit password
and to verify it (see Password protection mode command set on p age 42). Password
verification is only allowed during the password p rogramming operation
2. The password protection mode is then activated by programming the password
protection mode lock bit to ‘0’. This operation is not reversible and once the bit is
programmed it cannot be erased, the device permanently rem ains in password
protection mode , and the 64-bit password can neither be retrieved nor reprogrammed.
Moreover, all commands to the address where the password is stored, are disabled.
Refer to Table 19: Block protection status and Figure 5: Sof tware protection scheme fo r
details on the block protection scheme.
Refer to Section 6.3.4 for a description of the password protection mode command set.
Note: There is no means to verify the password after it is set. If the password is lost after setting
the password mode lock bit, there is no way to clear the NVPB lock bit.
Software protection M29W128GH, M29W128GL
26/94
Figure 5. Software protection scheme
1. NVPBs default to ‘1’ (block unprotected) after power-up and hardware reset. A block is protected or unprotected when its
NVPB is set to ‘0’ and ‘1’, respectively. NVPBs are programmed individually and cleared collectively.
2. VPB default status depends on ordering option. A block is protected or unprotected when its VPB is set to ‘0’ and ‘1’,
respectively. VPBs are programmed and cleared individually. For the volatile protection to be effective, the NVPB lock bit
must be set to ‘0’ (NVPB bits unlocked) and the block NVPB must be set to ‘1’ (block unprotected).
3. The NVPB lock bit is volatile and default to ‘1’ (NVPB bits unlocked) after power-up and hardware reset. NVPB bits are
locked by setting the NVPB lock bit to ‘0’. Once programmed to ‘0’, the NVPB lock bit can be reset to ‘1’ only be taking the
device through a power-up or hardware reset.
AI13676
Parameter block or
main block NVPB(1)
VPB(2)
Non-volatile
protection mode
Volatile protection
Non-volatile protection
Password protection
mode
NVPB Lock bit(3)
M29W128GH, M29W128GL Command interface
27/94
6 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. Failure to observe a
valid sequence of bus write operations will result in the memory returning to read mode. The
long command sequences are imposed to maximize data security.
The address used for the commands changes depending on whether the memory is in 16-
bit or 8-bit mode.
6.1 Standard commands
See either Table 10, or Table 11, depending on the configuration that is being used, for a
summary of the standard commands.
6.1.1 Read/Reset command
The device is in read mode after reset or after po wer-up.
The Read/Reset command returns the memory to read mode. It also reset s the err ors in the
status register. Either one or three bus write operations can be used to issue the
Read/Reset command.
The Read/Reset command can be issued, between bus write cycles before the start of a
program or erase ope ration, to return the device to read mode. If the Read/Re set command
is issued during the timeout of a block erase operation, the memory will take up to 10 µs to
abort. During the abort period no valid data can be read from the memory.
The Read/Reset command will not abort an erase operation when issued while in erase
suspend.
6.1.2 Auto Select command
The Auto Select command puts the device in auto select mode, when using the in-system
method (see Section 3.7: Auto select mode). When in auto select mode, the system can
read the manu fa ctu r er code , th e de vice cod e, the protection status of each block (block
protection status) and the extended memory block protection indicator.
Three consecutive bus write operations are required to issue the Auto Select command.
Once the Auto Select command is issued bus read operations to specific addresses output
the manufacture r code, the device code, the extended memory block prote ction indicator
and a block protection status (see Table 10 and Table 11 in conjunction with Table 6,
Table 7, Table 8, and Table 9). The memory remains in auto se lect mode until a Read/Reset
or CFI Query command is issued.
Command interface M29W128GH, M29W128GL
28/94
6.1.3 Read CFI Query command
The memory contains an information area, named CFI data structure, which cont ains a
description of various ele ctrical and timing parameters, density information and functions
supported by the memory. See Appendix B, Table 36, Table 37, Table 38, Table 39,
Table 40 and Table 41 for details on the informa tion containe d in the common flash interface
(CFI) memory area.
The Read CFI Query command is used to put th e memory in rea d CFI query mode. Once in
read CFI query mode, bus read operations to the memory will output data fr om the common
flash interface (CFI) memory area. One bus write cycle is require d to issue the Read CFI
Query command. This command is valid only when the device is in the read array or auto
select mode.
The Read/Reset command must be issued to return the device to the previous mode (the
read array mode or auto select mode). A second Read/Reset command is required to put
the device in read array mode from auto select mode.
6.1.4 Chip Erase command
The Chip Erase comma nd can be used to er ase the entire chip. Six bus wr ite operations are
required to issue the Chip Erase command and start the program/erase controller.
If some block are protected, then these are ignored and all th e other blocks are er ased. If all
of the blocks are protected the Chip Erase operation appears to start but will terminate
within about 100 µs, leaving the data unchanged. No error condition is given whe n protected
blocks are ignored.
During the erase operation the memory will ignore all commands, including the Erase
Suspend command. It is not possible to issue any command to abort the operation. Typical
chip erase times ar e giv en in Table 17. All bus read operations during the chip erase
operation will output the status register on the data inputs/outputs. See Section 7.2: Status
register for more details.
After the chip erase operation has completed the memory will return to the read mode,
unless an error has occurred. When an error occurs the memory will continue to output the
status register. A Read/Reset command must be issued to reset the error condition and
return to read mode.
The Chip Erase command sets all of the bits in unprotected blocks of the memory to ’1’. All
previous data is lost.
The chip erase operation is aborte d by performing a reset or powering down the device. In
this case, dat a integrity cannot be ensu red, and it is recommen ded to erase again the entir e
chip.
6.1.5 Block Erase command
The Block Erase command can be used to erase a list of one or more blocks. It sets all of
the bits in the unprotected selected blocks to ’1’. All previous data in the selected blocks is
lost.
Six bus write operations are r equired to select the first block in the list. Each additional block
in the list can be selected by repeating the sixth bus writ e operation using the address of the
additional block. After the command sequence is written, a block erase timeout occurs.
During the timeout per iod, additional sector addre sses and sector e rase command s may be
written. Once the program/erase controller has started, it is not possible to select any more
M29W128GH, M29W128GL Command interface
29/94
blocks. Each additional block must therefore be selected within the timeout period of the last
block. The timeo ut ti m e r re starts when an additional block is selected. After the sixth bus
write operation, a bus read operation outputs the status register. See Figure 17: Write
enable controlled program waveforms (8-bit mode) and Figure 18: Write enable controlled
program wavefor ms (16-bit mode) for details on how to identify if the program/erase
controller has started the block erase operation.
After the block erase operation has completed, the memory returns to the read mode,
unless an error has occurred. When an error occurs, bus read operations will continue to
output the status register. A Read/Reset command must be issued to reset the error
condition and return to read mode.
If any selected blocks are protected then these are ignore d and all the other selected blocks
are erased. If all of th e sele ct ed blocks are protec te d the b lo ck era se op er at ion app e ars to
start but will terminate within about 100 µs, leaving the data unchanged. No error condition
is given when protected blocks are ignored.
During the block erase operation the memory ignores all commands except the Erase
Suspend command and the Read/Reset command which is only accepted during the
timeout period. Typical block erase time and block erase timeout are given in Table 17.
The block erase opera tion is abo rted by perfor ming a reset or powering down the device. In
this case, data integrity cannot be ensured, and it is recommende d to erase again the
blocks aborted.
6.1.6 Erase Suspend command
The Erase Suspend comman d can be used to temporarily suspend a block erase operation.
One bus write operation is required to issue the command together with the block address.
The program/erase controller suspends the erase operation within the erase suspend
latency time of the Erase Suspend command being issued. However, when the Erase
Suspend comm a nd is writ te n du rin g the block erase timeout, the device immediately
terminates th e tim eo ut per iod an d sus pe n ds th e er as e op eration.
Once the progra m/erase controller h as stopped, the memory opera tes in read mode and the
erase is suspended.
During erase suspend it is possible to read and execute program or write to buffer program
operations in blocks that are not suspended; both read and program operations behave as
normal on these blocks. Reading from blocks that are suspended will output the status
register. If any attempt is made to program in a protected block or in the suspended block
then the Program command is ignored and the data remains unch anged. In this case the
status register is not read and no error condition is given.
It is also possible to issue the Auto Select (af ter entering Autosele ct mode), Read CFI Quer y
and Unlock Byp ass commands during an erase suspend. The Read/Reset command must
be issued to return the device to read array mode before the Resume command will be
accepted.
During erase suspend a bus read operation to the extended memory block will output the
extended memory block data. Once in the extended block mode, the Exit Extended Block
command must be issued before the erase operation can be resumed.
The Erase Suspend command is ignored if written during chip erase operations.
Refer to Table 17: Program, erase times and program, erase endurance cycles for the
values of block erase timeout and block erase suspen d la te n cy tim e.
Command interface M29W128GH, M29W128GL
30/94
If the erase suspend operation is aborted by performing a reset or powering down the
device, data integrity cannot be ensured, and it is recommended to erase again the blocks
suspended.
6.1.7 Erase Resume command
The Erase Resume command is used to restart the program/erase controller after an erase
suspend.
The device must be in read array mode before the Resume command will be accepted. An
erase can be susp e nd ed an d resum e d m or e th an onc e.
6.1.8 Program Suspend command
The Program Suspend command allows the system to interrupt a p rogram operation so tha t
data can be read from any block. When the Program Suspend command is issued during a
program operation , the device suspends the program ope ration within the program sus pend
latency time (see Table 17: Program, erase times and program, erase endurance cycles)
and updates the status register bits.
After the progr am o pera tion h as been su sp end ed, the system ca n rea d arra y da ta from any
address. However, data read from program-suspended addresses is not valid.
The Program Suspend command may also be issued during a program op eration while an
erase is suspended. In this case, da ta may be read from any addresses not in erase
suspend or program suspend. If a read is needed from the extended memory block area
(one-time program area), the user must use the proper command sequences to enter and
exit this region.
The system may also issue the Auto Select command sequence when the device is in the
program suspend mode. The system can read as many auto select codes as required.
When the device exits the auto select mode, the device reverts to the program suspend
mode, and is ready for another valid operation. See Auto Select command sequence for
more information.
If the program suspend operation is aborted by performing a reset or powering down the
device, data inte grity cannot be ensured, and it is recommended to program again the
words or bytes aborted.
6.1.9 Program Resume command
After the Pr ogram Resume command is issued, the device reverts to programming. The
controller can determine the status of the program operation using the DQ7 or DQ6 status
bits, just as in the standard program operation. Refer to Figure 17 : Write enable contro lled
program waveforms (8-bit mode) and Figure 18: Write enable controlled program
waveforms (16-bit mode) for details.
The system must issue a Progra m Resume command, to exit the program suspend mode
and to continue the programming operation.
Further issuing of the Resume command is ignored. Another Program Suspend command
can be written after the device has resumed programming.
M29W128GH, M29W128GL Command interface
31/94
6.1.10 Program command
The Program command can be used to program a value to one address in the memory
array at a time. The command requires four bus write operations, the final write operation
latches the address and dat a in the internal state machine an d starts the program/erase
controller.
Programming can be suspended and then resumed by issuing a Program Suspend
command and a Program Resume command, respectively (see Section 6.1.8: Program
Suspend command and Section 6.1.9: Program Resume command).
If the address falls in a prot ec te d blo ck th en the pro gra m c omm a nd is ignor e d, the da ta
remains unchanged. The status register is never read and no error condition is given.
After programming has st arted, bus read operations output the status register content. See
Figure 17: Write enable controlled program waveforms (8-bit mode ) and Figure 18: Write
enable controlle d program wa veforms (16-bi t mode) for more details. Typical program times
are given in Table 17: Program, erase times and program, er ase endurance cycles.
After the program operation has completed the memory will return to the read mode, unless
an error has occurred. When an error occurs, bus read operations to the memory continue
to output the status register. A Read/Reset command must be issued to reset the error
condition and return to read mode.
One of the erase commands must be use d to set all the bits in a block or in the whole
memory from ’0’ to ’1’.
The program operation is aborted by performing a reset or powering-down the device. In
this case data inte grity cannot be ensur ed, and it is recommended to re program th e word or
byte aborted.
Command interface M29W128GH, M29W128GL
32/94
Table 10. Standard commands, 8-bit mode
Command(1)
Length
Bus operations(2)
1st 2nd 3rd 4th 5th 6th
Add Data Add Data Add Data Add Data Add Data Add Data
Read/Reset 1XF0
3 AAA AA 555 55 X F0
Auto
Select
Manufacturer code
3 AAA AA 555 55 AAA 90 (3)(4) (3)(4)
Device code
Extended memory
block protection
indicator
Block protect i on
status
Program(5) 4AAA AA 555 55 AAA A0 PA PD
Chip Erase 6 AAA AA 555 55 AAA 80 AAA AA 555 55 AAA 10
Block Erase 6+ AAA AA 555 55 AAA 80 AAA AA 555 55 BAd 30
Erase/Program Suspend 1 X B0
Erase/Program Resume 1 X 30
Read CFI Query 1 AA 98
1. The device doesn’t tolerate FFh as a valid command, and once FFh is issued to the device, the M29W128G will enter
unexpected state. Adding a F0h command systematically after FFh command is necessary.
2. X don’t care, PA program address, PD program data, BAd any address in the block. All values in the table are in
hexadecimal.
3. These cells represent read cycles. The other cells are write cycles.
4. The auto select addresses and data are given in Table 6: Read electronic signature - auto select mode - programmer
method (8-bit mode), and Table 8: Block protection - auto select mode - programmer method (8-bit mode), except for A9
that is ‘don’t care’.
5. In unlock bypass, the first two unlock cycles are no more needed (see Table 12: Fast program commands, 8-bit mode and
Table 13: Fast program commands, 16-bit mode).
M29W128GH, M29W128GL Command interface
33/94
Table 11. Standard commands, 16-bit mode
Command(1)
Length
Bus operations(2)
1st 2nd 3rd 4th 5th 6th
Add Data Add Data Add Data Add Data Add Data Add Data
Read/Reset 1XF0
3 555 AA 2AA 55 X F0
Auto
Select
Manufacturer code
3 555 AA 2AA 55 555 90 (3)(4) (3)(4)
Device code
Extended memory
block protection
indicator
Block protection
status
Program(5) 4555 AA 2AA 55 555 A0 PA PD
Chip Erase 6 555 AA 2AA 55 555 80 555 AA 2AA 55 555 10
Block Erase 6+ 555 AA 2AA 55 555 80 555 AA 2AA 55 BAd 30
Erase/Program Suspend 1 X B0
Erase/Program Resume 1 X 30
Read CFI Query 1 55 98
1. The device doesn’t tolerate FFh as a valid command, and once FFh is issued to the device, the M29W128G will enter
unexpected state. Adding a F0h command systematically after FFh command is necessary.
2. X don’t care, PA program address, PD program data, BAd any address in the block. All values in the table are in
hexadecimal.
3. These cells represent read cycles. The other cells are write cycles.
4. The auto select addresses and da ta are given in Table 7: Re ad electronic signature - auto select mode - programmer
method (16-bit mode), and Table 9: Block protection - auto select mode - programmer method (16-bit mode), except for A9
that is ‘don’t care’.
5. In unlock bypass, the first two unlock cycles are no more needed (see Table 12 and Table 13 Fast Program commands, 8-
bit and 16-bit mode).
Command interface M29W128GH, M29W128GL
34/94
6.2 Fast program commands
The M29W128GH/L offers a set of fast program commands to improve the programming
throughput:
Write to Buffer Program
Enhanced Buffered Program (valid in x 16 mode only)
Unlock Bypass.
See either Table 12, Table 13 or Table 14 depending on the con figuration that is being used,
for a summary of the fast program commands.
When VPPH is applied to the VPP/write protect pin the memory automatically enters unlock
bypass mode (see Section 6.2.6: Unlock Bypass command).
After pr ogramming has started, bu s read operations in the memor y output the status r egister
content. Write to Buffer Program command can be suspended and then re sumed by issuing
a Program Suspend command and a Program Resume command, respectively (see
Section 6.1.8: Program Suspend command and Section 6.1.9: Program Resume
command).
After the fast program operation has completed, the memory will return to read mode,
unless an error has occurred. When an error occurs bus read operations to the memory will
continue to output the status register. A Read/Reset command must be issued to reset the
error condition and return to read mode. One o f the erase commands mu st be used to set all
the bits in a block or in the whole memory from ’0’ to ’1’.
Typical program times are given in Table 17: Program, erase times and program, erase
endurance cycles.
6.2.1 Write to Buffer Program command
The Write to Buffer Program comm and makes use of the device’s 32-word/64-byte write
buf fer to speed up programming. 32 words/64 bytes can be loaded into the write buffer.
Each write buffer has the sa me A22-A5 addresses.The Write to Buffer Program command
dramatically reduces system programming time compared to the standard non-buffered
Program command.
When issuing a W r ite to Buf fer Program comman d, the VPP/WP pin can be eithe r held High,
VIH, or raised to VPPH.
See Table 17 for details on typical write to buffer program times in both cases.
Five successive steps are required to issue the Write to Buffer Program command:
1. The Write to Buffer Program command starts with two unlock cycles
2. The third bus write cycle sets up the Write to Buffer Program command. The setup
code can be addressed to any location within the targeted block
3. The fourth bus write cycle sets up the number of words/bytes to be programmed. V alue
N is written to the same block ad dress, where N+1 is the number of words/bytes to be
programmed. N+1 must not exceed the size of the write buffer or the operation will
abort
4. The fifth cycle loads the first address and data to be programmed
5. Use N bus write cycles to load the address and data for each word/byte into the write
buffer. Addresses must lie within the range from the start address+1 to the start
address + N-1.
M29W128GH, M29W128GL Command interface
35/94
All the addresses used in the write to buffer program operation must lie within the same
page.
To program the content of the write buffer, this command must be followed by a Write to
Buffer Program Confirm command.
If an address is written several times during a write to buffer program operation, the
address/data counter will be decremented at each data load operation and the data will be
programmed to the last word loaded into the buffer.
Invalid address combinations or failing to follow the correct sequence of bus write cycles will
abort the write to bu ffer prog r am .
The status register bits DQ1, DQ5, DQ6, DQ7 can be used to monitor the device status
during a write to buffer program operation.
It is possible to detect program operation fails when changing progr ammed data from ‘0’ to
‘1’, that is when reprogramming data in a portion of memory already programmed.
See Appendix D, Figure 30: Write to buffer program flowchart and pseudocode, for a
suggested flowchart on using the Write to Buffe r Program command.
6.2.2 Enhanced Buffered Program command
The Enhanced Buffered Progra m command, available only in x 16 mode, makes use of the
device’ s 256-wo rd write buffer to speed up program ming . 256 words can be loaded into the
write buffer. Each write buffer has the same A22-A8 addresses. The Enhanced Buffered
Program command dramatically reduces system programming time compared to bo th the
standard non-buffered Program command and the Write to Buffer command.
When issuing an Enhanced Buf fered Prog ram command, the VPP/WP pin can be either held
High, VIH, or raised to VPPH.
See Table 17: Program, erase times and program, erase endurance cycles for details on
typical enhanced buffered program times in both cases.
Three successive steps are required to issue the Enhanced Buffered Program command:
The Enhanced Buffered Program command starts with two unlock cycles
The third bus write cycle sets up the En hanced Buff ered Program command. Th e setup
code can be addressed to any location within the targeted block
The fourth bus write cycle loads the first address and data to be programmed. There a
total of 256 address and data loading cycles.
To program the content of the write buffer, the Enhanced Buffered Program command must
be followed by an Enhanced Buf fered Pr ogram Confirm command. The comm and ends with
an internal enhanced buffered program confirm cycle.
Note that address/data cycles must be loaded in an increasin g address order (from
ADD[7:0]=00000000 to ADD[7:0]=11111111) and completely (all 256 words). Invalid address
combinations or failing to follow the correct sequence of bus write cycles will abort the
enhanced buff ered program.
The sta tus re gister bi t s DQ1, DQ5, DQ6, and DQ7 can be used to monitor the device status
during an enhanced buffered program operation.
An external supply (12 V) can be used to improve programming efficien cy.
Command interface M29W128GH, M29W128GL
36/94
It is possible to detect program operation fails when changing programmed data from ‘0’ to
‘1’, that is when reprogramming data in a portion of memory already programmed. The
resulting data will be the logical OR between the previous and the current value.
See Appen dix D and Figur e 31: Enhanced buffered progr am flowchart and p seu docode, for
a suggested flowchart on using the Enhanced Buffered Program command.
6.2.3 Buffered Program Abort Reset command
A Buffered Program Abort Reset command must be issued to abort the write to buffer
program and enhanced buf fered program operation and reset the device in read mode.
The write to buffer and enhanced buffered programming sequence can be aborted in the
following ways:
Load a value that is greate r than the p ag e buf f er size du ring the number of location s to
program step in the Write to Buffer Program command
Write to an address in a block different than the one specified during the write-buffer -
load command
Write an addre ss/da t a p air to a dif fer ent writ e- buffer-page than the one selecte d by the
starting address during the write buffer data loading stage of the operation
Write data other than the Confirm command after the specified number of data load
cycles
Load address/data pairs in an incorrect sequence during the enhanced buffered
program.
The abort condition is indicated by DQ1 = 1, DQ7 = DQ7 (for the last address location
loaded), DQ6 = toggle, and DQ5 = 0 (all of which are status register bits). A Buffe red
Program Abort and Reset command sequence must be written to reset the device for the
next operation. Note that the full 3-cycle Buffered Program Abor t and Reset command
sequence is required when using write to buffer and enhanced buffered programming
features in unlock bypass mode.
Note: Enhan ced Buffered Program commands are available for x 16 mode only.
M29W128GH, M29W128GL Command interface
37/94
6.2.4 Write to Buffer Program Confirm command
The Write to Buf fer Pr ogram Co nfirm command is used to confirm a W rite to Buffer Pro gram
command and to program the N+1 words/bytes loaded in the write buffer by this command.
6.2.5 Enhanced Buffered Program Confirm command
The Enhanced Buffered Progra m Confirm command is used to confirm an Enhanced
Buff ered Program command and to program the 256 words loaded in the buffer.
6.2.6 Unlock Bypass command
The Unlock Bypass co mmand is used to place the device in unlock byp ass mode. When the
device enters th e unlo ck byp a ss mode , the two initial unlock cycles required in the st andard
program command sequen ce are no more needed, and only two write cycles are requ ired to
program data, instead of the normal four cycles (see Note 5 below Table 10 and Table 11).
This results in a faster total programming time.
Unlock Bypass command is consequently used in conjunction with the Unlock Bypass
Program command to program the memory faster than with the standard program
commands. When the cycle time to the de vice is long, considerable time saving can be
made by using these commands. Three bus write operations are required to issue the
Unlock Bypass command.
When in unlock bypass mode, only the Unlo ck Bypass Program, Unlock Bypass Block
Erase, Unlock Bypass Chip Er ase, and Unlock Bypass Reset commands are valid:
The Unlock Bypass Prog ram command can be issued to pro gram addresses within the
memory
The Unlock Bypass Block Erase command can then be issued to erase one or more
memory blocks
The Unlock Bypa ss Chip Erase command can be issued to erase the whole memory
array
The Unlock Bypa ss Write to Buffer Program command can be issued to speed up
programm in g op er a tion
The Unlock Byp ass Enhanced Buffered Program command can be issued to speed up
programm in g op er a tion
The Unlock Bypass Reset command can be issued to return the memory to read mode.
In unlock bypass mode the memory can be read as if in read mode.
6.2.7 Unlock Bypass Program command
The Unlock Bypa ss Program command can be use d to program one address in the memory
array at a time. The command requires two bus write operations, the final write operation
latches the address and data and starts the program/erase controller.
The program operation using the Unlock Bypass Program command behaves identically to
the program operation using the Program command. The operation cannot be aborted, a
bus read operation to the memory outputs the status register. See the Program command
for details on the behavior.
Command interface M29W128GH, M29W128GL
38/94
6.2.8 Unlock Bypass Block Erase command
The Unlock Bypass Block Erase command can be used to erase one or more memory
blocks at a time. The command requires two bus write operations instead of six using the
standard Block Erase command. The final bus write operation latches the ad dr es s of th e
block and starts the program/erase controller.
To erase multiple block (after the first two bus write operations have selected the first block
in the list), each additional block in the list can be selected by repeating the second bus
write operation using the address of the additional block.
The Unlock Bypass Block Erase command behaves in the same way as the Block Erase
command: the operation cannot be aborted, and a bus read operation to the memory
outputs the status register (see Section 6.1.5: Block Erase command for details).
6.2.9 Unlock Bypass Chip Erase command
The Unlock Bypass Chip Erase command can be used to erase all memory blocks at a time.
The command requ ires two bus write operations only inste ad of six using the stand ard Chip
Erase command. The fin al bus write operation starts the program/erase controller.
The Unlock Bypass Chip Erase command behaves in the same way as the Chip Erase
command: the operation cannot be aborted, and a bus read operation to the memory
outputs the status register (see Section 6.1.4: Chip Erase command for details).
6.2.10 Unlock Bypass Write to Buffer Program command
The Unlock Bypass Write to Buffer command can be used to program the memory in fast
program mode. The command requires two bus write operations less than the standard
Write to Buffer Program command.
The Unlock Bypass Write to Buffer Program command behaves in the same way as the
Write to Buffer Program command: the operation cannot be aborted and a bus read
operation to the memory outputs the status register (see Section 6.2.1: Write to Buffer
Program command for details).
The Write to Buffer Program Confirm command is used to confirm an Unlock Bypass Write
to Buff er Prog ram command an d to pro gr am the N+1 words/b ytes loaded in th e write bu ffer
by this command.
6.2.11 Unlock Bypass Enhanced Buffered Program command
The Unlock Bypass Enhanced Buffered Program command can be used to program the
memory in fast program m ode. The command requires two a ddress/data loading cycles less
than the stan dard Enhanced Buffered Pr ogram command (see Table 14: Enhan ced buffered
program commands, 16-bit mode).
The Unlock Bypass Enhanced Buffered Program command behaves identically to the
enhanced buffered program operation using the Enhanced Buffered Program command.
The operation cannot be aborted and a bus read operation to the memor y outputs the status
register (see Section 6.2.2: Enhanced Buffered Program command for details on the
behavior).
The Enhanced Buffered Program Confirm command is used to confirm an Unlock Bypass
Enhanced Buffered Program command and to program the 256 words loaded in the buffer.
M29W128GH, M29W128GL Command interface
39/94
6.2.12 Unlock Bypass Reset command
The Unlock Bypass Reset command can be used to return to read/reset mode from unlock
bypass mode. Two bus write operations are required to issue the Unlock Bypass Reset
command. Read/Reset command does not exit from unlock bypass mode.
Table 12. Fast program commands, 8-bit mode
Command
Length
Bus write operations(1)
1st 2nd 3rd 4th 5th 6th 7th 8th 9th
Add Data Add Data Add Data Add Data Add Data Add Data Add Data Add Data Add Data
Write to
Buffer
Program N+5 AAA AA 555 55 BAd 25 BAd N(2) PA
(3) PD WBL
(4) PD
Write to
Buffer
Program
Confirm
1BAd
(5) 29
Buffered
Program
Abort and
Reset
3 AAA AA 555 55 AAA F0
Unlock
Bypass 3 AAA AA 555 55 AAA 20
Unlock
Bypass
Program 2 X A0 PA PD
Unlock
Bypass
Block
Erase
2+ X 80 BAd 30
Unlock
Bypass
Chip Erase 2X80X10
Unlock
Bypass
Write to
Buffer
Program
N+3 BAd 25 BAd N(2) PA
(3) PD WBL
(6) PD
Unlock
Bypass
Reset 2X90X00
1. X don’t care, PA program address, PD program data, BAd any address in the block, WBL write buffer location. All values in the table are in
hexadecimal.
2. The maximum number of cycles in the command sequence is 68. N+1 is the number of bytes to be programmed during the write to buffer
program operation.
3. Each buffer has the same A22-A5 addresses. A0-A4 and A-1 are used to select a byte within the N+1 byte page.
4. The 6th cycle has to be issued N time. WBL scans the word i nside the page.
5. BAd must be identical to the address loaded during the write to buffer program 3rd and 4th cycles.
6. The 4th cycle has to be issued N time. WBL scans the word inside the page.
Command interface M29W128GH, M29W128GL
40/94
Table 13. Fast program commands, 16-bit mode
Command
Length
Bus write operations(1)
1st 2nd 3rd 4th 5th 6th
Add Data Add Data Add Data Add Data Add Data Add Data
Writ e to Buffer
Program N+5 555 AA 2AA 55 BAd 25 BAd N(2) PA(3) PD WBL
(4) PD
Writ e to Buffer
Program Confirm 1BAd
(5) 29
Buffered Program
Abort and Reset 3 555 AA 2AA 55 555 F0
Unlock Bypass 3 555 AA 2AA 55 555 20
Unlock Bypass
Program 2 X A0 PA PD
Unlock Bypass
Block Erase 2+ X 80 BAd 30
Unlock Bypass
Chip Erase 2X80X10
Unlock Bypass
Writ e to Buffer
Program N+3 BAd 25 BAd N(2) PA
(3) PD WBL
(6) PD
Unlock Bypass
Reset 2X90X00
1. X don’t care, PA program address, PD program data, BAd any address in the block, WBL write buffer location. All values in
the table are in hexadecimal.
2. The maximum number of cycles in the command sequence is 36. N+1 is the number of words to be programmed during
the write to buffer program operation.
3. Each buffer has the same A22-A5 addresses. A0-A4 are used to select a word within the N+1 word page.
4. The 6th cycle has to be issued N time. WBL scans the word inside the page.
5. BAd must be identical to the address loaded during the write to buffer program 3rd and 4th cycles.
Table 14. Enhanced buffered program commands, 16-bit mode(1)
Command
Length
Bus write operations
1st 2nd 3rd 4th ... 257th 258th 259th 260th
Add Data Add Data Add Data Add Data Add Data Add Data Add Data Add Data Add Data
Enhanced
Buffered
Program 259 555 AA 2AA 55 BAd 33 BAd
(00) Data ... ... BAd
(FF) Data
Enhanced
Buffered
Program
Confirm
1BAd
(00) 29
Unlock
Bypass
Enhanced
Buffered
Program
257 BAd 33 BAd
(00) Data BAd
(FF) Data
1. Only available from week 8 of 2008.
M29W128GH, M29W128GL Command interface
41/94
6.3 Protection commands
Blocks can be protected individually against accidental program, erase or read operations.
The device block protection scheme is shown in Figure 5: Software protection scheme. See
either Table 15, or Table 16, depending on the configuration that is being used, for a
summary of the block protection commands.
Block protection commands are available both in 8-bit and 16-bit configuration.
The memory block and extended memory block protection is configure d through the lock
register (see Section 7.1: Lock register).
The program commands referred to in the following sectons must be used according to all
the Program command timings listed here:
Figure 17.: Writ e en ab le contro lle d pr og ra m wave fo rm s (8 -bit mo de ) ,
Figure 18.: Writ e en ab le contro lle d pr og ra m wave fo rm s (1 6- bit mode ),
Figure 19.: Chip enable controlled program waveforms (8-bit mode),
Figure 20.: Chip enable controlled progr am waveforms (16-bit mode).
6.3.1 Enter Extended Memory Block command
The M29W128GH/L has one extr a 128-word block (extended memory block) that can only
be accessed using the Enter Extended Memory Block command.
Three bus write cycles are required to issue the Extended Memory Block command. Once
the command has been issued the device enters the extended memory block mode where
all bus read or prog ram operation s are conduc ted on the extended memory b lock. Once the
device is in the extended block mode, the extended memory block is addressed by using
the addresses occupied by block 0 in the other operatin g modes (see Table 35: Block
addresses).
The device remains in extended memor y block mo de until the Exit Extende d Memory Block
command is issued or po wer is removed from the device. After power-up or a hardware
reset, the device reverts to read mode, and the commands issued to block 0 addresses will
properly address block 0.
The extended memory block cannot be erased, and can be treated as one-time
programmable (OTP) memory.
In extended block mode , Erase, Chip Eras e, Erase Suspend and Erase Resume co mmands
are not allowed.
To exit from the extended memory block mode the Exit Extended Memory Block command
must be issued.
The extended memory block can be protected by setting the extended memory block
protectio n bi t to ‘1’ (see Section 7.1: Lock register); however once protected the protection
cannot be undone.
Note: When the device is in the extended memory block mode, the VPP/WP pin cannot be used
for fast programming and the unlock bypass mode is not available (see Section 2.8:
VPP/write protect (VPP/WP)).
Command interface M29W128GH, M29W128GL
42/94
6.3.2 Exit Extended Memory Block command
The Exit Extended Memory Block co mmand is used to exit from the extended memory block
mode and return the de vice to read mode. Four bus write operations are required to issue
the command.
6.3.3 Lock register command set
The M29W128GL and M29W128GH offer a set of commands to access the lock register
and to configure and ve rify its content. See the following sections in co nju nc tion with
Section 7.1: Lock register, Table 15 and Table 16.
Enter Lock Register Command Set command
Three bus write cycles are required to issue the Enter Lock Register Command Set
command. Once the command has been issued, all bus read or program operations are
issued to the lock register.
Lock Register Program and Lock Register Read command
The Lock Register Program command is used to configure the lock register. The
programmed da ta can then be checked by issuing a Lock Register Read command.
The Lock Register Program command is a special kind of Program command and must be
used according to all the Program command timings. The result from this command can be
verified by checking the status register.
An Exit Protection Command Set command mu st then be issued to return the device to read
mode (see Section 6.3.8: Exit Protection Command Set command).
6.3.4 Password protection mode command set
Enter Password Protection Command Set command
Three bus write cycles are required to issue the Enter Password Protection Command Set
command. Once the command has been issued, the commands related to the password
protection mode can be issued to the device. Any other command is ignored.
Password Program command
The Password Program command is used to program the 64-bit password used in the
password protect ion mo de .
To program the 64-bit password, the complete command sequence must be entered eight
times at eight co nsecutive addre sse s s electe d by A1-A0 plus DQ15A-1 in 8-bit mode, or
four times at four cons ec utive addresses sele ct ed by A1- A0 in 16 -b it mo d e. T he Password
Program command is a special kind of Program command and must be used according to
all the Program command timings. The result from this command can be verified by
checking the status register.
The password can be checked by issuing a Password Read command.
Once password program operation has completed, an Exit Protection Command Set
command must be issued to return the device to read mode. The passwor d protection mode
can then be selected.
By default, all password bits are set to ‘1’.
M29W128GH, M29W128GL Command interface
43/94
Password Read command
The Password Read command is used to verify the password used in password protection
mode.
To verify the 64-bit password, the complete command sequence must be entered eight
times at eight consecutive addresses selected by A1-A0 plus DQ15A-1 in 8-bit mode, or
four times at four consecutive addresses selected by A1-A0 in 16-bit mode.
If the password mode lock bit is programmed and the user attempts to read the password,
the device will output FFh onto the I/O data bus.
An Exit Protection Command Set command must be issued to return the device to read
mode.
Password Unlock command
The Password Unlock command is used to clear the NVPB lock bit allowing to modify the
NVPBs.
The Password Unlock command must be issued along with the correct password.
There must be a 1 µs delay between successive password unlock commands in order to
prevent hacke r s fro m cra ck ing the passwor d by tryin g all po ssib le 64 - bit co mbin ations. If
this delay is not respected, the latest command will be ignored.
Approximately 1 µs is required for unlocking the device after the valid 64-bit password has
been provide d.
6.3.5 Non-volatile protection mode command set
Enter Non-volatile Protection Command Set command
Three bus write cycles are required to issue the Enter Non-volatile Protection Command Set
command. Once the command has been issued, the commands related to the non-volatile
protection mode can be issued to the device.
Non-volatile Protection Bit Program command (NVPB Program)
A block can be protected from program or erase by issuing a Non-volatile Protection Bit
command along with the block address. This command sets the NVPB to ‘1’ for a given
block.
The Non-volatile Bit Progr am command is a special kind of Prog ram command and mu st be
used according to all the Program command timings. The result from this command can be
verified by checking the status register.
Read Non-volatile Protection Bit Status command (Read NVPB Status)
The status of a NVPB for a given block or group of blocks can be read by issuing a Read
Non-Volatile Modify Protection Bit command along with the block address.
Clear all Non-volatile Protection Bits command (Clear all NVPBs)
The NVPBs are erased simultaneously by issuing a Clear all Non-volatile Protection Bits
command. No specific block address is required. If the NVPB lock bit is set to ‘0’, the
command fails.
Command interface M29W128GH, M29W128GL
44/94
Figure 6. NVPB program/erase algorithm
AI14242
YES
DQ6=
Toggle NO
YES
NO
Enter NVPB
command set.
Program NVPB
Addr = BAd
Read Byte twice
Addr = BAd
DQ5=1
Read Byte twice
Addr = BAd
NO
YES Wait 500 μs
DQ6=
Toggle Read Byte twice
Addr = BAd
Fail
Reset Pass
DQ0=
'1'(Erase)
'0'(Program)
NO
Exit NVPB
command set
M29W128GH, M29W128GL Command interface
45/94
6.3.6 NVPB lock bit command set
Enter NVPB Lock Bit Command Set command
Three bus write cycles are required to issue the Enter NVPB Lock Bit Command Set
command. Once the command has been issued, the commands allowing to set the NVPB
lock bit can be issued to the device.
NVPB Lock Bit Program command
The NVPB Lock Bit Program command is used to set the NVPB lock bit to ‘0’ thus locking
the NVPBs and preventing them from being modified.
The NVPB Lock Bit Program command is a special kind of Prog ram co mmand and mu st be
used according to all the Program command timings. The result from this command can be
verified by checking the status register.
Read NVPB Lock Bit Status command
This command is used to read the status of the NVPB lock bit.
6.3.7 Volatile protection mode command set
Enter Volatile Protection Command Set command
Three bus write cycles are re quired to issue the Enter Volatile Protection Command Set
command. Once the command has been issued, the commands related to the volatile
protection mode can be issued to the device.
Volatile Protection Bit Program command (VPB Program)
The VPB Program command individually sets a VPB to ‘0’ for a given block.
If the NVPB for the same block is set, the block is locked regardless of the value of the VPB
bit. (see Table 19: Block protection status).
Read VPB Status command
The status of a VPB for a given block can be read by issuing a Read VPB St atus command
along with the block address.
VPB Clear command
The VPB Clear command individually clears (sets to ‘1’) the VPB for a given block.
If the NVPB for the same block is set, the block is locked regardless of the value of the VPB
bit (see Table 19: Block protection status).
6.3.8 Exit Protection Command Set command
The Exit Protection Co mmand Set command is used to exit from the lock register, password
protection, non-volatile protection, volatile protection, and NVPB lock bit command set
mode. It returns the device to read mode.
Command interface M29W128GH, M29W128GL
46/94
Table 15. Block protection commands, 8-bit mode(1)(2)(3)
Command
Length
Bus operations
1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th
Ad Data Ad Data Ad Data Ad Data Ad Data Ad Data Ad Data Ad Data Ad Data Ad Data Ad Data
Lock Register
Enter Lock
Register
Command
Set(4) 3 AAA AA 555 55 AAA 40
Lock Register
Program 2X A0 XDATA
(5)
Lock Register
Read 1XDATA
(5)
Password Protection
Enter
Password
Protection
Command
Set(4)
3 AAA AA 555 55 AAA 60
Password
Program (6)(7) 2X A0PWA
nPWD
n
Password
Read 800 PWD
001 PWD
102 PWD
203 PWD
304 PWD
405 PWD
506 PWD
607 PWD
7
Password
Unlock(7) 1
100 25 00 03 00 PWD
001 PWD
102 PWD
203 PWD
304 PWD
405 PWD
506 PWD
607 PWD
700 29
Non-volatile Protection
Enter Non-
Volatile
Protection
Command
Set(4)
3 AAA AA 555 55 AAA C0
NVPB
Program(8) 2X A0BAd00
Clear all
NVPBs(9) 2 X 80 00 30
Read NVPB
Status (8) 1BAd RD(0)
NVPB Lock bit
Enter NVPB
Lock Bit
Command
Set
3 AAA AA 555 55 AAA 50
NVPB Lock
Bit Program(8) 2X A0 X 00
Read NVPB
Lock Bit
Status (8) 1 X RD(0)
Volatile Protection
Enter Volatile
Protection
Command
Set
3 AAA AA 555 55 AAA E0
VPB
Program(8)
(10) 2 BAh A0 BAd 00
Read VPB
Status 1XRD(0)
VPB Clear(8)
(10) 2X A0BAd01
Exit Protection
Command Set
(11) 2X 90 X 00
Enter Extended
Block(4) 3 AAA AA 555 55 AAA 88
Exit Extended
Block 4 AAA AA 555 55 AAA 90 X 00
M29W128GH, M29W128GL Command interface
47/94
1. Ad address, Dat data , BAd any address in t he block, RD read data, PWDn password byte 0 to 7 , PWAn password addre ss (n = 0 to 7), X don’t
care. All values in the table are in hexadecimal.
2. Grey cells represent read cycles. The other cells are Write cycles.
3. DQ15 to DQ8 are ‘don’t care’ during unlock and command cycles. A22 to A16 are ‘don’t care’ during unlock and command cycles unless an
address is required.
4. An Enter command sequ ence must be issued prio r to any o peration . It disa bles read and writ e operations fr om and to block 0. Re ad and write
operations from any other block are allowed.
5. DATA = lock register content.
6. Only one portion of password can be programmed or read by each Password Program command.
7. The password portion can be entered or read in any order as long as the entire 64-bit password is entered or read.
8. Protected and unpro tected states correspond to 00 and 01, respectively.
9. The Clear all NVPBs command programs all NVPBs before erasure in order to pr event the over-erasure of pre viously cleared non volatile
modify protection bits.
10. The VPB program and VPB clear operations can be performed only with a timing /WE controlled not CE controlled.
11. If an Entry Command Se t command is issued, an Exit Protection Co mmand Set command must be issued to return the device to read mode.
Command interface M29W128GH, M29W128GL
48/94
Table 16. Block protection commands, 16-bit mode(1)(2)(3)
Command
Length
Bus operations
1st 2nd 3rd 4th 5th 6th 7th
Ad Data Ad Data Ad Data Ad Data Ad Data Ad Data Ad Data
Lock register
Enter Lock Register
Command Set(4) 3 555 AA 2AA 55 555 40
Lock Register Program 2 X A0 X DATA
(5)
Lock Register Read 1 XDATA
(5)
Password Protection
Enter Password
Protection Command
Set(4) 3 555 AA 2AA 55 555 60
Password Program (6)(7) 2 X A0 PWAn PWDn
Password Read 4 00 PWD0 01 PWD1 02 PWD2 03 PWD3
Password Unlock(7) 7 00 25 00 03 00 PWD0 01 PWD1 02 PWD2 03 PWD3 00 29
Non-Volatile Protection
Enter Non-volatile
Protection Command
Set(4) 3 555 AA 2AA 55 555 C0
NVPB Program(8) 2 X A0 BAd 00
Clear all NVPBs(9) 2 X 80 00 30
Read NVPB Status 1 BAd RD(0)
NVPB Lock bit
Enter NVPB Lock Bit
Command Set 3 555 AA 2AA 55 555 50
NVPB Lock Bit Program 2 X A0 X 00
Read NVPB Lock Bit
Status 1XRD(0)
Volatile Protection
Enter V olatile Protection
Command Set 3 555 AA 2AA 55 555 E0
VPB Program(10) 2 X A0 BAd 00
Read VPB Status 1 BAd RD(0)
VPB Clear (10) 2 X A0 BAd 01
Exit Protection Command
Set(11) 2X 90 X 00
Enter Extended Block(4) 3 555 AA 2AA 55 555 88
Exit Extended Block 4 555 AA 2AA 55 555 90 X 00
1. Ad address, Dat data, BAd any address in the block, RD read data, PWDn password word 0 to 3, PWAn password address (n = 0 to 3), X don’t care. All values in
the table are in hexadecimal.
2. Grey cells represent read cycles. The other cells are write cycles.
3. DQ15 to DQ8 are ‘don’t care’ during unlock and command cycles. A22 to A16 are ‘don’t care’ during unlock and command cycles unless an address is required.
4. An Enter command sequence must be issued prior to any operation. It disables read and write operations from and to block 0. Read and write operations from any
other bloc k are allowed.
5. DATA = lock register content.
6. Only one portion of password can be programmed or read by each Password Program command.
7. The password portion can be entered or read in any order as long as the entire 64-bit password is entered or read.
8. Protected and unprotected states correspond to 00 and 01, respectively.
9. The Clear all NVPBs command programs all NVPBs before erasure in order to prevent the over-erasure of previously cleared non-volatile modify protection bits.
10. The VPB program and VPB clear operations can be performed only with a timing /WE controlled not CE controlled.
11. If an Entry Command Set command is issued, an Exit Protection Command Set command must be issued to return the device to read mode.
M29W128GH, M29W128GL Command interface
49/94
Table 17. Program, erase times and program, erase endurance cycles
Parameter Min Typ(1)(2) Max(2) Unit
Chip Erase 40 400(3) s
Block Erase (128 kbytes)(4) 0.5 2 s
Erase Suspend latency time 25 45 µs
Block Erase timeout 50 µs
Byte Program
Single Byte Program 16
200(3)
µs
Write to Buffer Program
(64 bytes at-a-time) VPP/WP =V
PPH 51 µs
VPP/WP =V
IH 78
Word Program
Single W o rd Prog ram 16
200(3)
µs
Write to Buffer Program
(32 words at-a-time) VPP/WP =V
PPH 51 µs
VPP/WP =V
IH 78
Chip Program (byte by byte) 270 800(3) s
Chip Program (word by word) 135 400(3) s
Chip Program (Write to Buffer Program)(5) 20 200(3) s
Chip Program (Write to Buffer Program with VPP/WP =V
PPH)(5) 13 50(3) s
Chip Program (Enhanced Buffered Program)(5) 840s
Chip Program (Enhanced Buffered Program with VPP/WP =V
PP)(5) 525s
Program Suspend latency time 5 15 µs
Program/Erase cycles (per block) 100,000 Cycles
Data retention 20 Years
1. Typical values measured at room temperature and nominal voltages and for not cycled devices.
2. Sampled, but not 100% tested.
3. Maximum value measured at worst case conditions for both temperature and VCC after 100,0 00 program/erase cycles.
4. Block erase polling cycle time (seeFigure 25: Data polling AC waveforms).
5. Intrinsic program timing, that means without the time required to execute the bus cycles to load the program commands.
Registers M29W128GH, M29W128GL
50/94
7 Registers
The device feature two registers:
A lock register that allows to configure the memory blocks and extended memory block
protection (see Table 19: Block protection status)
A status register that provides information on the current or previous program or erase
operations.
7.1 Lock register
The lock register is a 16-bit one-time programm able register. The bit s in the lock r egister are
summarized in Table 18: Lock register bits.
See Section 6.3.3: Lock register command set for a description of the commands allowing
to read and program the lock register.
7.1.1 Password protection mode lock bit (DQ2)
The password protection mode lock bit, DQ2, is one-time pr og ra m m ab le. Prog ra m min g
(setting to ‘0’) this bit permanently places the device in password protection mode.
Any attempt to program the password protection mode lock bit when the non-volatile
protection mode bit is pr ogrammed causes th e operation to abo rt and the device to retur n to
read mode.
7.1.2 Non-volatile protection mode lock bit (DQ1)
The non-volatile protection mode lock bit, DQ1, is one-time programmable. Programming
(setting to ‘0’) this bit permanently places the device in non-volatile protection mode.
When shipped from the facto ry, all parts default to operate in no n-volatile protection mode.
The memory blocks can be either unprotected (NVPBs set to ‘1’) or protected (NVPBs set to
‘0’), according to the ordering option that has been chosen.
Any attempt to program the non-volatile protection mode lock bit when the password
protection mode bit is prog rammed causes the o peration to abort an d the device to return to
read mode.
7.1.3 Extended block protection bit (DQ0)
If the device has not been shipped with the extended memory block factory locked, the
block can be protected by settin g the extended memory block protection bit, DQ0, to ‘0’.
However , this bit is o ne-time programmable and once pro tected the extended memor y block
cannot be unprotected.
The extended memory block protection status can be read in auto select mode either by
applying VID to A9 (see Table 8 and Table 9) or by issuing an Auto Select command (see
Table 10 and Table 11).
7.1.4 DQ15 to DQ3 reserved
They are ‘don’t care’.
M29W128GH, M29W128GL Registers
51/94
Table 18. Lock register bits(1)
1. DQ0, DQ1 and DQ2 lock register bits are set to ‘1’ when shipped from the factory.
DQ15-3 DQ2 DQ1 DQ0
Don’t care Password protection mode
lock bit Non-volatile protection
mode lock bi t Extended block
protection bit
Table 19. Block protection status
NVPB lock bit(1)
1. If the NVPB lock bit is set to ‘0’, all NVPBs are locked. If the NVPB lock bit is set to ‘1’, all NVPBs are
unlocked.
Block
NVPB(2)
2. If the block NVPB is set to ‘0’, the block is protected, if set to ‘1’, it is unprotected.
Block
VPB(3)
3. If the block VPB is set to ‘0’, the block is protected, if set to ‘1’, it is unprotected.
Block
protection
status Block protection status
0 0 x 01h Block protected (non-volatile protection
through NVPB)
0 1 1 00h Block unprotected
01000h
Block protected (volatile protection
through VPB)
10x01h
Block protected (non-volatile protection
through NVPB)
11001h
Block protected (volatile protec tion
through VPB)
1 1 1 00h Block unprotected
Registers M29W128GH, M29W128GL
52/94
Figure 7. Lock register program flowchart
1. PD is the programmed data (see Table 18: Lock register bits).
2. The lock register can only be programmed once.
START
PASS:
Write Lock Register Exit command:
Add Dont' care, Data 90h
Add Dont' care, Data 00h
ai13677
Done
YES
YES
NO
DQ5 = 1 NO
Write Unlock cycles:
Add 555h, Data AAh
Add 2AAh, Data 55h Unlock cycle 1
unlock cycle 2
Write
Enter Lock Register command set:
Add 555h, Data 40h
Program Lock Register Data:
Add Dont' care, Data A0h
Add Dont' care(1), Data PDh
Polling algorithm
Device returned
to Read mode FAIL
Reset to return
the device to Read mode
M29W128GH, M29W128GL Registers
53/94
7.2 Status register
The M29W128GH/L has one st atus r egister. The various bits convey information a nd error s
on the current and previous program/erase operation. Bus read operations from any
address within the memory, always read the status register during program and erase
operations. It is also read during erase suspend when an add ress within a block being
erased is accessed.
The bits in the status register are summarized in Table 20: Status register bits.
7.2.1 Data polling bit (DQ7)
The data polling bit can be used to identify whether the program/erase controller has
successfully completed its operation or if it has responded to an erase suspend. The data
polling bit is output on DQ7 when the status register is read.
During program operations the dat a polling bit outputs the complement of the bit being
programmed to DQ7. After successful completion of the program operation the memory
returns to read mode and bus read operations, from the address just programmed, output
DQ7, not its complement.
During erase operations the data polling bit outputs ’0’, the complement of the erased state
of DQ7. After successful completion of the erase operation the memory returns to read
mode.
In erase suspend mode the data polling bit will output a ’1’ during a bus read operation
within a block being erased. The data polling bit will change from ’0’ to ’1’ when the
program/erase controller has suspended the erase operation.
Figure 8: Data polling flowchart, gives an example of how to use the data polling bit. A valid
address is the address being programmed or an address within the block being erased.
7.2.2 Toggle bit (DQ6)
The toggle bit can be used to ide ntify whether the program/erase controller has successfully
completed it s operation or if it has responded to an erase suspend. The toggle bit is output
on DQ6 when the status register is read.
During a progra m /e ra se operation the toggle bit changes from ’0’ to ’1’ to ’0’, etc., with
successive bus read operations at any address. After successful completion of the
operation the memory re turns to read mode.
During erase suspend mode the toggle bit will output when addressing a cell within a block
being erased. The toggle bit will stop toggling when the program/erase controller has
suspended the erase operation.
Figure 9: Data toggle flowchart, gives an example of how to use the toggle bit.
7.2.3 Error bit (DQ5)
The error bit can be used to identify errors detected by the program/erase co ntroller. The
error bit is set to ’1’ when a program, block erase or chip erase operation fails to write the
correct data to the memory. If the error bit is set a Read/Reset command must be issued
Registers M29W128GH, M29W128GL
54/94
before other commands are issued. The error bit is output on DQ5 when the status register
is read.
Note that the Prog ra m command cann ot cha nge a b it se t to ’0’ b ack to ’1’ and attemp tin g to
do so will set DQ5 to ‘1’. A bus read operation to that address will show the bit is still ‘0’. One
of the erase comm a nds mu st be used to set all the bits in a block or in the whole memo ry
from ’0’ to ’1’.
7.2.4 Erase timer bit (DQ3)
The erase timer bit can be used to identify the start of program/erase controller operation
during a Block Erase command. Once the program/erase contr oller st art s erasing the era se
timer bit is set to ’1’. Before the program/erase controller starts the erase timer bit is set to ’0’
and additional blocks to be erased may be written to the command interface. The erase
timer bit is output on DQ3 when the status register is read.
7.2.5 Alternative toggle bit (DQ2)
The alternative toggle bit can be used to monitor the program/erase controller during erase
operations. The alternative toggle bit is output on DQ2 when the status register is read.
During chip erase and block erase operations the toggle bit changes from ’0’ to ’1’ to ’0’,
etc., with successive bus read operations from addresses within the blocks being erased. A
protected blo ck is tre at ed the sam e as a blo ck not be in g er ase d . On ce th e op er a tion
completes the memory returns to read mode.
During erase suspend the alternative toggle bit changes from ’0’ to ’1’ to ’0’, etc. with
successive bus read operations from addresses within the blocks being erased. Bus read
operations to ad dresses within blocks n ot being erased wil l output the memory array da ta as
if in read mode.
After an erase operation that causes the error b it to be set, the alternative toggle bit can be
used to identify which block or blocks have caused the error. The alternative toggle bit
changes from ’0’ to ’1’ to ’0’, etc. with successive bus read operations from addresses with in
blocks that have not erased correctly. The alternative toggle bit does not change if the
addressed block has erased correctly.
7.3 Buffered program abort bit (DQ1)
The buffered program abort bit, DQ1, is set to ‘1’ when a write to buffer program or
enhanced buffered program operation aborts. The Buf fered Program Abort and Reset
command must be issued to return the device to read mode (see write to buffer program in
Section 6.1: Standard commands ).
M29W128GH, M29W128GL Registers
55/94
Table 20. Status register bits(1)
1. Unspecified data bits should be ignored.
Operation Address DQ7 DQ6 DQ5 DQ3 DQ2 DQ1 RB
Program(2)
2. DQ7 for write to buffer program and enhanced buffered program is related to the last address location
loaded.
Any address DQ7 Toggle 0 0 0
Program during erase suspend Any addres s DQ7 Toggle 0 0
Buffered program abort(2) Any address DQ7 Toggle 0 1 0
Program error Any address DQ7 Toggle 1 Hi-Z
Chip erase Any address 0 Toggle 0 1 Toggle 0
Block erase before timeout Erasing block 0 Togg le 0 0 Toggle 0
Non-erasing
block 0 Toggle 0 0 No
toggle –0
Block erase Erasing block 0 Toggle 0 1 Toggle 0
Non-erasing
block 0 Toggle 0 1 No
toggle –0
Erase suspend Erasing block 1 No
Toggle 0 Toggle Hi-Z
Non-erasing
block Data read as normal Hi-Z
Erase error
Good block
address 0 Toggle 1 1 No
toggle Hi-Z
Faulty block
address 0 Toggle 1 1 Toggle Hi-Z
Registers M29W128GH, M29W128GL
56/94
Figure 8. Data polling flowchart
READ DQ5 & DQ7
at VALID ADDRESS
START
READ DQ7
at VALID ADDRESS
FAIL PASS
AI07760
DQ7
=
DATA YES
NO
YES
NO
DQ5 = 1
DQ7
=
DATA YES
NO
M29W128GH, M29W128GL Registers
57/94
Figure 9. Data toggle flowchart
READ DQ6 at
Valid Address
START
READ DQ6
TWICE
at Valid Address
FAIL PASS
AI11530
DQ6
=
TOGGLE NO
NO
YES
YES
DQ5
= 1
NO
YES
DQ6
=
TOGGLE
READ
DQ5 & DQ6
at Valid Address
Maximum ratings M29W128GH, M29W128GL
58/94
8 Maximum ratings
Stressing the device above the rating listed in Table 21: Absolute maximum ratings may
cause permanent damage to the device. Exposure to absolute maximum rating conditions
for extended periods may affect device reliability. These are stress ratings only and
operation of the de vice at th ese or an y ot he r con d itio ns abo ve thos e ind i ca te d in th e
operating sections of this specification is not implied.
Table 21. Absolute maximum ratings
Symbol Parameter Min Max Unit
TBIAS Temperature un der bias 50 125 °C
TSTG St orage temperature 65 150 °C
VIO Input or output voltage(1)(2)
1. Minimum voltage may undershoot to 2 V during transition and for less than 20 ns during transitions.
2. Maximum voltage may overshoot to VCC + 2 V during transition and for less than 20 ns during transitions.
0.6 VCC +0.6 V
VCC Supply voltage 0.6 4 V
VCCQ Input/output supply voltage 0.6 4 V
VID Identification voltage 0.6 13.5 V
VPPH(3)
3. VPPH must not remain at 12 V for more than a total of 80 hrs.
Program voltage 0.6 13.5 V
M29W128GH, M29W128GL DC and AC parameters
59/94
9 DC and AC parameters
This section summa riz es th e op e ratin g me as ur em e nt con dit ions , an d the DC an d AC
characterist ics of th e de vice. The parameters in the DC and AC characteristics t ables that
follow, are derived from tests performed under the measurement cond itions summarized in
Table 22: Operating and AC measurement conditions. Designers should check that the
operating conditions in their circuit match the operating conditions when relying on the
quoted pa rameters.
Figure 10. AC measurement load circuit
Table 22. Operating and AC measurement conditions
Parameter
M29W128GH, M29W128GL
Unit70 or 60(1) ns
1. Only available upon customer request.
80 ns
Min Max Min Max
VCC supply voltage 2.7 3.6 2.7 3.6 V
VCCQ supply voltage (VCCQ VCC) 2.7 3.6 1.65 3.6 V
Ambient operating temperature
(temperature range 1) 070 0 70°C
Ambient operating temperature
(temperature range 3) 40 125 40 125 °C
Ambient operating temperature
(temperature range 6) 40 85 40 85 °C
Load capacitance (CL)3030pF
Input rise and fall times 10 10 ns
Input pulse voltages 0 to VCCQ 0 to VCCQ V
Input and output timing ref. voltages VCCQ/2 VCCQ/2 V
AI05558b
CL
CL includes JIG capacitance
DEVICE
UNDER
TEST
25 kΩ
VCCQ
25 kΩ
VCC
0.1 µF
VPP
0.1 µF
DC and AC parameters M29W128GH, M29W128GL
60/94
Figure 11. AC measurement I/O waveform
Figure 12. Power-up waiting timings
AI05557b
VCCQ
0 V
VCCQ/2
Table 23. Power-up waiting timings
Symbol Parameter M29W128GH, M29W 128GL Unit
70 or 60(1) ns 80 ns
tVCHEL VCC(2) High to Chip Enable Lo w Min 55 µs
tVCQHEL VCCQ(2) High to Chip Enable Low Min 55 µs
tVCHWL VCC High to Write Enable Low Min 500 µs
tVCQHWL VCCQ High to Write Enable Low Min 500 µs
1. Only available upon customer request.
2. VCC and VCCQ ramps must be synchronized during power-up.
AI14247
V
CC
t
VCQHEL
E
V
CCQ
t
VCQHWL
W
t
VCHEL
t
VCHWL
M29W128GH, M29W128GL DC and AC parameters
61/94
Table 24. Device capacitance(1)
Symbol Parameter Test condition Min Max Unit
CIN Input capacitance VIN = 0 V 6 pF
COUT Output capacitance VOUT = 0 V 12 pF
1. Sampled only, not 100% tested.
Table 25. DC characteristics
Symbol Parameter Test condition Min Typ Max Unit
ILI(1) Input leakage current 0 V VIN VCC ±1 µA
ILO Output leakage current 0 V VOUT VCC ±1 µA
ICC1 Read current Random read E=V
IL, G =V
IH,
f=6MHz 10 mA
Page read E=V
IL, G =V
IH,
f=10MHz 15 mA
ICC2 Supply current (standby) E# = VCCQ ± 0.2 V Grade 6 100 µA
E# = VCCQ ± 0.2 V Grade 3 200 µA
ICC3(2) Supply current (program/erase) Program/erase
controller active
VPP/WP =
VIL or VIH 20 mA
VPP/WP =
VPPH 20 mA
IPP1 Program
current
(program)
Read or
standby VPP/WP VCC 15µA
IPP2 Reset RP =V
SS ±0.2V 1 5 µA
IPP3
Program
operation
ongoing
VPP/WP =12V±5% 1 10 mA
VPP/WP =V
CC 15µA
IPP4 Program
current (erase)
Erase
operation
ongoing
VPP/WP =12V±5% 3 10 mA
VPP/WP =V
CC 15µA
VIL Input Low voltage VCC 2.7 V 0.5 0.3VCCQ V
VIH Input High voltage VCC 2.7 V 0.7VCCQ VCCQ+0.4 V
VOL Output Low voltage IOL =10A, V
CC =V
CC(min),
VCCQ =V
CCQ(min) 0.15VCCQ V
VOH Output High voltage IOH =10A, V
CC =V
CC(min),
VCCQ =V
CCQ(min) 0.85VCCQ V
VID Identification voltage 11.5 12.5 V
VPPH Voltage for VPP/WP program
acceleration 11.4 12.6 V
VLKO(2) Program/erase lockout supply
voltage 1.8 2.5 V
1. The maximum input leakage current is ±5 µA on the VPP/WP pin.
2. Sampled only, not 100% tested.
Icc2 Supply Current(Standby) E# = Vccq +/- 0.2V Grade 6 100 uA
DC and AC parameters M29W128GH, M29W128GL
62/94
Figure 13. Random read AC waveforms (8-bit mode)
Note: BYTE = VIL
Figure 14. Random read AC waveforms (16-bit mode)
Note: BYTE = VIH
E# = Vccq +/- 0.2V Grade 3 200
Random_Read_AC-Wavefore-x8
tAXQX
tEHQZ
A0-A22
E
G
DQ0-DQ14, DQ15A-1
tAVQV
tGHQZ
tGLQV
tELQV
VALID
Hi-Z
VALID
Random_Read_AC-Waveform-x16
tAXQX
tEHQZ
A–1,A0-A22
E
G
DQ0-DQ7
tAVQV
tGHQZ
tGLQV
tELQV
VALID
Hi-Z
VALID
M29W128GH, M29W128GL DC and AC parameters
63/94
Figure 15. BYTE transition AC waveforms
Note: Chip Enable (E) and Output Enable (G) = VIL
tAXQX
tBHQV
A0-AMAX
BYTE#
tAVQV
tBLQX
tBLQZ
VALID
Hi-Z
A–1
DATA OUT
DATA OUT
VALID
DQ0-DQ7
DQ8-DQ15
Byte_Transition_AC-Waveform
DC and AC parameters M29W128GH, M29W128GL
64/94
Figure 16. Page read AC waveforms (16-bit mode)
AI08971c
tEHQZ
tGHQX
VALID
A3-A22
G
DQ0-DQ15
DQ15A-1
E
tELQV tEHQX
tGHQZ
VALID
A0-A2 VALID VALID VALID VALID
VALID VALID VALID
tGLQV
tAVQV
tAVQV1
VALID VALID VALID VALID
VALID VALID VALID VALID
M29W128GH, M29W128GL DC and AC parameters
65/94
Table 26. Read AC characteristics
Symbol Alt. Parameter Test
condition
M29W128GH, M29W128GL
Unit
60 ns(1)
VCCQ=VCC
70 ns
VCCQ=VCC
80 ns
VCCQ=1.65 V to
VCC
tAVAV tRC Address Valid to Next
Address Valid
E=V
IL
,
G=V
IL
Min 60 70 80 ns
tAVQV tACC Address Valid to Output
Valid
E=V
IL
,
G=V
IL
Max 60 70 80 ns
tAVQV1 tPAGE Address Valid to Output
Valid (page)
E=V
IL
,
G=V
IL
Max 25 25 30 ns
tELQX(2) tLZ Chip Enable Low to Output
transition G=V
IL Min 0 0 0 ns
tELQV tEChip Enable Low to Output
Valid G=V
IL Max 60 70 80 ns
tGLQX(2) tOLZ Output Enable Low to
Output transition E=V
IL Min 0 0 0 ns
tGLQV tOE Output Enable Low to
Output Valid E=V
IL Max 25 25 30 ns
tEHQZ(2) tHZ Chip Enable High to Output
Hi-Z G=V
IL Max 20 20 30 ns
tGHQZ(2) tDF Output Enable High to
Output Hi-Z E=V
IL Max 20 20 20 ns
tEHQX
tGHQX
tAXQX
tOH
Chip Enable, Output Enable
or Address transition to
Output transition Min 0 0 0 ns
tELBL
tELBH
tELFL
tELFH
Chip Enable to BYTE Low
or High Max 5 5 5 ns
tBLQZ tFLQZ BYTE Low to Output Hi-Z Max 25 25 25 ns
tBHQV tFHQV BYTE High to Output Valid Max 30 30 30 ns
1. Only available upon customer request.
2. Sampled only, not 100% tested.
DC and AC parameters M29W128GH, M29W128GL
66/94
Figure 17. Write enable controlled prog ram waveforms (8-bit mode)
1. Only the third and fourth cycles of the Program command are represented. The Program command is followed by the check
of status register data polling bit and by a read operation that outputs the data, DOUT, programmed by the previous
Program command.
2. PA is the address of the memory location to be programmed. PD is the data to be programmed.
3. DQ7 is the complement of the data bit being programmed to DQ7 (see Section 7.2.1: Data polling bit (DQ7)).
4. SeeTable 27: Write AC characteristics, write enable controlled, Table 28: Write AC characteristics, chip enable controlled
and Table 26: Read AC characteristics for details on the timings.
AI13333
G
W
A0-A22/
A–1
DQ0-DQ7
E
555h
AOh
PA PA
3rd cycle 4th cycle
PD DQ7 DOUT
DOUT
tAVAV tAVAV
tAVWL tWLAX
Data Polling Read cycle
tELWL tWHEH tELQV
tGHWL
tWLWH tWHWL
tWHWH1
tGLQV
tDVWH
tWHDX
tGHQZ tAXQX
M29W128GH, M29W128GL DC and AC parameters
67/94
Figure 18. Write enable controlled program waveforms (16-bit mode)
1. Only the third and fourth cycles of the Program command are represented. The Program command is followed by the check
of status register data polling bit and by a read operation that outputs the data, DOUT, programmed by the previous
Program command.
2. PA is the address of the memory location to be programmed. PD is the data to be programmed.
3. DQ7 is the complement of the data bit being programmed to DQ7 (see Section 7.2.1: Data polling bit (DQ7)).
4. SeeTable 27: Write AC characteristics, write enable controlled, Table 28: Write AC characteristics, chip enable controlled
and Table 26: Read AC characteristics for details on the timings.
AI13699
G
W
A0-A22
DQ0-DQ1',
DQ15A–1
E
555h
AOh
PA PA
3rd cycle 4th cycle
PD DQ7 DOUT
DOUT
tAVAV tAVAV
tAVWL tWLAX
Data Polling Read cycle
tELWL tWHEH tELQV
tGHWL
tWLWH tWHWL
tWHWH1
tGLQV
tDVWH
tWHDX
tGHQZ tAXQX
DC and AC parameters M29W128GH, M29W128GL
68/94
M
Table 27. Write AC characteristics, write enable controlled
Symbol Alt Parameter M29W128GH, M29W128GL Unit
60 ns(1) 70 ns 80 ns
tAVAV tWC Address Valid to Next Address Valid Min 65 70 80 ns
tELWL tCS Chip Enable Low to Write Enable Low Min 0 0 0 ns
tWLWH tWP Write Enable Low to Write Enable High Min 35 35 35 ns
tDVWH tDS Input Valid to Write Enable High Min 45 45 45 ns
tWHDX tDH Write Enable High to Input transition Min 0 0 0 ns
tWHEH tCH W r ite Enable High to Chip Enable High Min 0 0 0 ns
tWHWL tWPH Write Enable High to Write Enable Low Min 30 30 30 ns
tAVWL tAS Address Valid to Write Enable Low Min 0 0 0 ns
tWLAX tAH Write Enable Low to Address transition Min 45 45 45 ns
tGHWL Output Enable High to Write Enable Low Min 0 0 0 ns
tWHGL tOEH Write Enable High to Output Enable Low Min 0 0 0 ns
tWHRL(2) tBUSY Program/Erase Valid to RB Low Max 30 30 30 ns
tVCHEL tVCS VCC High to Chip Enable Low Min 50 50 50 µs
1. Only available upon customer request.
2. Sampled only, not 100% tested.
M29W128GH, M29W128GL DC and AC parameters
69/94
Figure 19. Chip enable controlled program waveforms (8-bit mode)
1. Only the third and fourth cycles of the Program command are represented. The Program command is followed by the check
of status register data polling bit.
2. PA is the address of the memory location to be programmed. PD is the data to be programmed.
3. DQ7 is the complement of the data bit being programmed to DQ7 (see Section 7.2.1: Data polling bit (DQ7)).
4. See Table 27: Write AC characteristics, write enable controlled, Table 28: Write AC characteristics, chip enable controlled
and Table 26: Read AC characteristics for details on the timings.
AI13334
G
E
A0-A22/
A–1
DQ0-DQ7
W
555h
AOh
PA PA
3rd cycle 4th cycle
PD DQ7 DOUT
tAVAV
tAVEL tELAX
Data Polling
tWLEL tEHWH
tGHEL
tELEH tEHEL1
tWHWH1
tDVEH
tEHDX
DC and AC parameters M29W128GH, M29W128GL
70/94
Figure 20. Chip enable controlled program waveforms (16-bit mode)
1. Only the third and fourth cycles of the Program command are represented. The Program command is followed by the check
of status register data polling bit.
2. PA is the address of the memory location to be programmed. PD is the data to be programmed.
3. DQ7 is the complement of the data bit being programmed to DQ7 (see Section 7.2.1: Data polling bit (DQ7)).
4. See Table 27: Write AC characteristics, write enable controlled, Table 28: Write AC characteristics, chip enable controlled
and Table 26: Read AC characteristics for details on the timings.
AI14100
G
E
A0-A22
DQ0-DQ14
A–1
W
555h
AOh
PA PA
3rd cycle 4th cycle
PD DQ7 DOUT
tAVAV
tAVEL tELAX
Data Polling
tWLEL tEHWH
tGHEL
tELEH tEHEL1
tWHWH1
tDVEH
tEHDX
M29W128GH, M29W128GL DC and AC parameters
71/94
Figure 21. Chip/block erase waveforms (8-bit mode)
1. For a Chip Erase command, addresses and data are 555h and 10h, respectively, while they are BAd and 30h for a Block
Erase command.
2. BAd is the block address.
3. See Table 27: Write AC characteristics, write enable controlled, Table 28: Write AC characteristics, chip enable controlled
and Table 26: Read AC characteristics for details on the timings.
AI13335
G
W
A0-A22/
A–1
DQ0-DQ7
E
555h
AAh
2AAh 555h
55h 80h AAh
tAVAV
tAVWL tWLAX
tELWL tWHEH
tGHWL
tWLWH tWHWL
tDVWH
tWHDX
555h 2AAh 555h/BAd
(1)
55h 10h/
30h
Table 28. Write AC characteristics, chip enable controlled
Symbol Alt. Parameter M29W128GH, M29W128GL Unit
60 ns(1) 70 ns 80 ns
tAVAV tWC Address Valid to Next Address Valid Min 65 70 80 ns
tWLEL tWS Write Enable Low to Chip Enable Low Min 0 0 0 ns
tELEH tCP Chip Enable Low to Chip Enable High Min 35 35 35 ns
tDVEH tDS Input Valid to Chip Enable High Min 45 45 45 ns
tEHDX tDH Chip Enable High to Input transition Min 0 0 0 ns
tEHWH tWH Chip Enable High to Write Enable High Min 0 0 0 ns
tEHEL tCPH Chip Enable High to Chip Enable Low Min 30 30 30 ns
tAVEL tAS Address Valid to Chip Enable Low Min 0 0 0 ns
tELAX tAH Chip Enable Low to Address transition Min 45 45 45 ns
tGHEL Output Enable High Chip Enable Low Min 0 0 0 ns
1. Only available upon customer request.
DC and AC parameters M29W128GH, M29W128GL
72/94
Figure 22. Reset AC waveforms (no program/erase ongoing)
Figure 23. Reset during program/erase operation AC waveforms
AI11300c
RB
RP tPLPX
tPHEL,
tPHGL
tPHWL
E, G, W
AI11301c
RB
RP
tPLPX
tRHEL, tRHGL, tRHWL
E, G,
tPLYH
W
Table 29. Reset AC characteristics
Symbol Alt. Parameter
M29W128GH,
M29W128GL Unit
60(1) ns 70 ns 80 ns
tPLYH(2) tREAD
YRP Low to read mode, during program or erase Max 50 50 50 µs
tPLPX tRP RP pulse width Min 10 10 10 µs
tPHEL, tPHGL,
tPHWL(2) tRH RP High to Write Enable Low, Chip Enable Low,
Output Enable Low Min 50 50 50 ns
tRPD RP Low to standby mode, during read mode Min 10 10 10 µs
RP Low to standby mode, during program or erase Min 50 50 50 µs
tRHEL, tRHGL,
tRHWL(2) tRB RB High to Write Enable Low, Chip Enable Low,
Output Enable Low Min 0 0 0 ns
1. Only available upon customer request.
2. Sampled only, not 100% tested.
M29W128GH, M29W128GL DC and AC parameters
73/94
Figure 24. Accelerated program timing waveforms
Figure 25. Data polling AC waveforms
1. DQ7 returns valid data bit when the ongoing Program or Erase command is completed.
2. See Table 30: Accelerated program and data polling/data toggle AC characteristics and Table 26: Read AC characteristics
for details on the timings.
AI05563
VPP/WP
VPPH
VIL or VIH tVHVPP tVHVPP
AI13336c
G
E
DQ7
W
DQ7 DQ7=
Valid data
DQ6-DQ0 DQ6-DQ0=
Output flag
DATA
DATA DQ6-DQ0=
Valid data
Hi-Z
Hi-Z
R/B
tWHEH
tGLQV
tEHQZ
tGHQZ
tWHGL2
tELQV
tWHWH1 or tWHWH2
tWHRL
DC and AC parameters M29W128GH, M29W128GL
74/94
Figure 26. Toggle/alternative toggle bit polling AC waveforms (8-bit mode)
1. DQ6 stops toggling when the ongoing Program or Erase command is completed. DQ2 stops toggling when the ongoing
Chip Erase or Block Erase command is completed.
2. See Table 30: Accelerated program and data polling/data toggle AC characteristics and Table 26: Read AC characteristics
for details on the timings.
AI13337
W
E
G
A0-A22/
A–1
DQ6/DQ2 Toggle Toggle Toggle Stop
toggling Output
Valid
tGHAX tAXGL
tEHAX tAVEL
tEHEL2
tWHGL2
tGHGL2 tGHGL2
Data
R/B
tWHDX tGLQV tELQV
tWHRL
Table 30. Accelerated program and data polling/data toggle AC characteristics
Symbol Alt Parameter
M29W128GH,
M29W128GL Unit
60(1) ns 70 ns 80 ns
tVHVPP VPP/WP raising and falling time Min 250 250 250 ns
tAXGL tASO Address setup time to Output Enable Low during
toggle bit polling Min 10 10 10 ns
tGHAX,
tEHAX tAHT Address hold time from Output Enable during toggle
bit polling Min 10 10 10 ns
tEHEL2 tEPH Chip Enable High during toggle bit polling Min 10 10 10 ns
tWHGL2,
tGHGL2 tOEH Output hold time during data and toggle bit polling Min 20 20 20 ns
tWHRL tBUSY Program/Erase Valid to RB Low Max 30 30 30 ns
1. Only available upon customer request.
M29W128GH, M29W128GL Package mechanical
75/94
10 Package mechanical
To meet environmental requirements, Numonyx offers these devices in RoHS compliant
packages, which are lead-free. The category of second level interconnect is marked on the
package and on the inner box label, in compliance with JEDEC Standard JESD97. The
maximum ratings related to soldering conditions are also marked on the inner box label.
Figure 27. TSOP56 – 56 lead plastic thin small outline, 14 x 20 mm, package outline, top view
1. Drawing is not to scale.
TSOP-K
B
e
DIE
C
LA1 α
E1
E
A
A2
28
1 56
29
D1
L1
CP
Table 31. TSOP56 – 56 lead plastic thin small outline, 14 x 20 mm, package mechanical data
Symbol Millimeters Inches
Typ Min Max Typ Min Max
A—1.200.047
A1 0.10 0.05 0.15 0.004 0.002 0.006
A2 1.00 0.95 1.05 0.039 0.037 0.041
B 0.22 0.17 0.27 0.009 0.007 0.011
C 0.10 0.21 0.004 0.008
CP 0.10 0.004
D1 14.00 13.90 14.10 0.551 0.547 0.555
E 20.00 19.80 20.20 0.787 0.780 0.795
E1 18.40 18.30 18.50 0.724 0.720 0.728
e 0.50 0.020
L 0.60 0.50 0.70 0.024 0.020 0.028
α30 5305
Package mechanical M29W128GH, M29W128GL
76/94
Figure 28. TBGA64 10 x 13 mm - 8 x 8 active ball arra y, 1 mm pitch, p ack age outline,
bottom view
1. Drawing is not to scale.
E1E
D1
D
eb
SD
SE
A2
A1
A
BGA-Z23
ddd
FD
FE
BALL "A1"
Table 32. TBGA64 10 x 13 mm - 8 x 8 active ball array, 1 mm pitch, pac kage mechanical data
Symbol millimeters inches
Typ Min Max Typ Min Max
A— 1.20 0.047
A1 0.30 0.20 0.35 0.012 0.008 0.014
A2 0.80 0.031
b 0.35 0.50 0.014 0.020
D 10.00 9.90 10.10 0.394 0.390 0.398
D1 7.000 0.276
ddd 0.10 0.004
e 1.00 0.039
E 13.00 12.90 13.10 0.512 0.508 0.516
E1 7.00 0.276
FD 1.50 0.059
FE 3.00 0.118
SD 0.50 0.020
SE 0.50 0.020
M29W128GH, M29W128GL Package mechanical
77/94
Figure 29. FBGA64 11 x 13 mm—8 x 8 active ball ar ray, 1 mm pitch, p ack age outline, botto m view
1. Drawing is not to scale.
E1E
D1
D
eb
SD
SE
A2
A1
A
BGA-Z23
ddd
FD
FE
BALL "A1"
Ta b le 33. FBGA 64 11 x 13 mm—8 x 8 active ball array, 1 mm pitch , package mechanic al da ta
Symbol millimeters inches
Typ Min Max Typ Min Max
A— 1.40 0.055
A1 0.48 0.43 0.53 0.018 0.016
A2 0.80 0.031
b 0.55 0.65 0.021 0.025
D 11.00 10.90 11.10 0.433 0.429 0.437
D1 7.00 0.275
ddd 0.15 0.0059
e 1.00 0.039
E 13.0 12.90 13.10 0.511 0.507 0.515
E1 7.00 0.275
FD 2.00 0.078
FE 3.00 0.118
SD 0.50 0.0196
SE 0.50 0.0196
Ordering information M29W128GH, M29W128GL
78/94
11 Ordering information
Note: This product is also available with the extended memory block factory locked. For further
details and ordering information contact your nearest Numonyx sales office.
Devices are shipped from the factory with the memo ry content bit s erased to ’1’. For a list of
available options (speed, package, etc.) or for further information on any aspect of this
device, please contact your nearest Numonyx sales office.
Automotive Grade Part is qualified and characterized according to AEC Q100 and Q003 or
equivalent; advanced screen ing according to AEC Q001 and Q002 or equivalent.
Table 34. Ordering information sc heme
Example: M29W128GH 70 N 6 F
Device type
M29
Operating voltage
W = VCC = 2.7 to 3.6 V
Device function
128GH = 128-Mbit (x8/x16), page, uniform block, flash memory,
highest block protected by VPP/WP#
128GL = 128-Mbit (x8/x16), page, uniform block, flash memory,
lowest block protected by VPP/WP#
Speed
70 = 70 ns (80 ns if VCCQ = 1.65 V to VCC)
60 = 60 ns (80 ns if V CCQ = 1.65 V to VCC)(1)
1. Only available upon customer request.
7A = 70 ns (80 ns if VCCQ = 1.65 V to VCC) Automotive qualified
(available only with option 6)
Package
N = TSOP56: 14 x 20 mm
ZA = TBGA64: 10 x 13 mm, 1 mm pitch
ZS = FBGA64: 11 x 13 mm, 1 mm pitch
Temperature range
1 = 0 to 70 °C
6 = Industrial temperature range, –40 to 85 °C
3 = Industrial temperature range, –40 to 125 °C
Option
F = RoHS compliant package, tape & reel packing
E = RoHS compliant package, standard packing
M29W128GH, M29W128GL Block addresses and r ead/modify protection groups
79/94
Appendix A Block addresses and read/modify protection
groups
Table 35. Block addresses
Block Protection group Block size
(Kbytes/
Kwords)
8-bit address range
(in hexadecimal) 16-bit address range
(in hexadecimal)
0 Protection group 128/64 0000000–001FFFF 0000000–000FFFF
1 Protection group 128/64 0020000–003FFFF 0010000–001FFFF
2 Protection group 128/64 0040000–005FFFF 0020000–002FFFF
3 Protection group 128/64 0060000–007FFFF 0030000–003FFFF
4 Protection group 128/64 0080000–009FFFF 0040000–004FFFF
5 Protection group 128/64 00A0000–00BFFFF 0050000–005FFFF
6 Protection group 128/64 00C0000–00DFFFF 0060000–006FFFF
7 Protection group 128/64 00E0000–00FFFFF 0070000–007FFFF
8 Protection group 128/64 0100000–011FFFF 0080000–008FFFF
9 Protection group 128/64 0120000–013FFFF 0090000–009FFFF
10 Protection group 128/64 0140000–015FFFF 00A0000–00AFFFF
11 Protection group 128/64 0160000–017FFFF 00B0000–00BFFFF
12 Protection group 128/64 0180000–019FFFF 00C0000–00CFFFF
13 Protection group 128/64 01A0000–01BFFFF 00D0000–00DFFFF
14 Protection group 128/64 01C0000–01DFFFF 00E0000–00EFFFF
15 Protection group 128/64 01E0000–01FFFFF 00F0000–00FFFFF
16 Protection group 128/64 0200000–021FFFF 0100000–010FFFF
17 Protection group 128/64 0220000–023FFFF 0110000–011FFFF
18 Protection group 128/64 0240000–025FFFF 0120000–012FFFF
19 Protection group 128/64 0260000–027FFFF 0130000–013FFFF
20 Protection group 128/64 0280000–029FFFF 0140000–014FFFF
21 Protection group 128/64 02A0000–02BFFFF 0150000–015FFFF
22 Protection group 128/64 02C0000–02DFFFF 0160000–016FFFF
23 Protection group 128/64 02E0000–02FFFFF 0170000–017FFFF
24 Protection group 128/64 0300000–031FFFF 0180000–018FFFF
25 Protection group 128/64 0320000–033FFFF 0190000–019FFFF
26 Protection group 128/64 0340000–035FFFF 01A0000–01AFFFF
27 Protection group 128/64 0360000–037FFFF 01B0000–01BFFFF
28 Protection group 128/64 0380000–039FFFF 01C0000–01CFFFF
29 Protection group 128/64 03A0000–03BFFFF 01D0000–01DFFFF
Block addresses and read/modify protection groups M29W128GH, M29W128GL
80/94
30 Protection group 128/64 03C0000–03DFFFF 01E0000–01EFFFF
31 Protection group 128/64 03E0000–03FFFFF 01F0000–01FFFFF
32 Protection group 128/64 0400000–041FFFF 0200000–020FFFF
33 Protection group 128/64 0420000–043FFFF 0210000–021FFFF
34 Protection group 128/64 0440000–045FFFF 0220000–022FFFF
35 Protection group 128/64 0460000–047FFFF 0230000–023FFFF
36 Protection group 128/64 0480000–049FFFF 0240000–024FFFF
37 Protection group 128/64 04A0000–04BFFFF 0250000–025FFFF
38 Protection group 128/64 04C0000–04DFFFF 0260000–026FFFF
39 Protection group 128/64 04E0000–04FFFFF 0270000–027FFFF
40 Protection group 128/64 0500000–051FFFF 0280000–028FFFF
41 Protection group 128/64 0520000–053FFFF 0290000–029FFFF
42 Protection group 128/64 0540000–055FFFF 02A0000–02AFFFF
43 Protection group 128/64 0560000–057FFFF 02B0000–02BFFFF
44 Protection group 128/64 0580000–059FFFF 02C0000–02CFFFF
45 Protection group 128/64 05A0000–05BFFFF 02D0000–02DFFFF
46 Protection group 128/64 05C0000–05DFFFF 02E0000–02EFFFF
47 Protection group 128/64 05E0000–05FFFFF 02F0000–02FFFFF
48 Protection group 128/64 0600000–061FFFF 0300000–030FFFF
49 Protection group 128/64 0620000–063FFFF 0310000–031FFFF
50 Protection group 128/64 0640000–065FFFF 0320000–032FFFF
51 Protection group 128/64 0660000–067FFFF 0330000–033FFFF
52 Protection group 128/64 0680000–069FFFF 0340000–034FFFF
53 Protection group 128/64 06A0000–06BFFFF 0350000–035FFFF
54 Protection group 128/64 06C0000–06DFFFF 0360000–036FFFF
55 Protection group 128/64 06E0000–06FFFFF 0370000–037FFFF
56 Protection group 128/64 0700000–071FFFF 0380000–038FFFF
57 Protection group 128/64 0720000–073FFFF 0390000–039FFFF
58 Protection group 128/64 0740000–075FFFF 03A0000–03AFFFF
59 Protection group 128/64 0760000–077FFFF 03B0000–03BFFFF
60 Protection group 128/64 0780000–079FFFF 03C0000–03CFFFF
61 Protection group 128/64 07A0000–07BFFFF 03D0000–03DFFFF
62 Protection group 128/64 07C0000–07DFFFF 03E0000–03EFFFF
Table 35. Block addresses (continued)
Block Protection group Block size
(Kbytes/
Kwords)
8-bit address range
(in hexadecimal) 16-bit address range
(in hexadecimal)
M29W128GH, M29W128GL Block addresses and r ead/modify protection groups
81/94
63 Protection group 128/64 07E0000–07FFFFF 03F0000–03FFFFF
64 Protection group 128/64 0800000–081FFFF 0400000–040FFFF
65 Protection group 128/64 0820000–083FFFF 0410000–041FFFF
66 Protection group 128/64 0840000–085FFFF 0420000–042FFFF
67 Protection group 128/64 0860000–087FFFF 0430000–043FFFF
68 Protection group 128/64 0880000–089FFFF 0440000–044FFFF
69 Protection group 128/64 08A0000–08BFFFF 0450000–045FFFF
70 Protection group 128/64 08C0000–08DFFFF 0460000–046FFFF
71 Protection group 128/64 08E0000–08FFFFF 0470000–047FFFF
72 Protection group 128/64 0900000–091FFFF 0480000–048FFFF
73 Protection group 128/64 0920000–093FFFF 0490000–049FFFF
74 Protection group 128/64 0940000–095FFFF 04A0000–04AFFFF
75 Protection group 128/64 0960000–097FFFF 04B0000–04BFFFF
76 Protection group 128/64 0980000–099FFFF 04C0000–04CFFFF
77 Protection group 128/64 09A0000–09BFFFF 04D0000–04DFFFF
78 Protection group 128/64 09C0000–09DFFFF 04E0000–04EFFFF
79 Protection group 128/64 09E0000–09FFFFF 04F0000–04FFFFF
80 Protection group 128/64 0A00000–0A1FFFF 0500000–050FFFF
81 Protection group 128/64 0A20000–0A3FFFF 0510000–051FFFF
82 Protection group 128/64 0A40000–0A5FFFF 0520000–052FFFF
83 Protection group 128/64 0A60000–0A7FFFF 0530000–053FFFF
84 Protection group 128/64 0A80000–0A9FFFF 0540000–054FFFF
85 Protection group 128/64 0AA0000–0ABFFFF 0550000–055FFFF
86 Protection group 128/64 0AC0000–0ADFFFF 0560000–056FFFF
87 Protection group 128/64 0AE0000–0AFFFFF 0570000–057FFFF
88 Protection group 128/64 0B00000–0B1FFFF 0580000–058FFFF
89 Protection group 128/64 0B20000–0B3FFFF 0590000–059FFFF
90 Protection group 128/64 0B40000–0B5FFFF 05A0000–05AFFFF
91 Protection group 128/64 0B60000–0B7FFFF 05B0000–05BFFFF
92 Protection group 128/64 0B80000–0B9FFFF 05C0000–05CFFFF
93 Protection group 128/64 0BA0000–0BBFFFF 05D0000–05DFFFF
94 Protection group 128/64 0BC0000–0BDFFFF 05E0000–05EFFFF
95 Protection group 128/64 0BE0000–0BFFFFF 05F0000–05FFFFF
Table 35. Block addresses (continued)
Block Protection group Block size
(Kbytes/
Kwords)
8-bit address range
(in hexadecimal) 16-bit address range
(in hexadecimal)
Block addresses and read/modify protection groups M29W128GH, M29W128GL
82/94
96 Protection group 128/64 0C00000–0C1FFFF 0600000–060FFFF
97 Protection group 128/64 0C20000–0C3FFFF 0610000–061FFFF
98 Protection group 128/64 0C40000–0C5FFFF 0620000–062FFFF
99 Protection group 128/64 0C60000–0C7FFFF 0630000–063FFFF
100 Protection group 128/64 0C80000–0C9FFFF 0640000–064FFFF
101 Protection group 128/64 0CA0000–0CBFFFF 0650000–065FFFF
102 Protection group 128/64 0CC0000–0CDFFFF 0660000–066FFFF
103 Protection group 128/64 0CE0000–0CFFFFF 0670000–067FFFF
104 Protection group 128/64 0D00000–0D1FFFF 0680000–068FFFF
105 Protection group 128/64 0D20000–0D3FFFF 0690000–069FFFF
106 Protection group 128/64 0D40000–0D5FFFF 06A0000–06AFFFF
107 Protection group 128/64 0D60000–0D7FFFF 06B0000–06BFFFF
108 Protection group 128/64 0D80000–0D9FFFF 06C0000–06CFFFF
109 Protection group 128/64 0DA0000–0DBFFFF 06D0000–06DFFFF
110 Protection group 128/64 0DC0000–0DDFFFF 06E0000–06EFFFF
111 Protection group 128/64 0DE0000–0DFFFFF 06F0000–06FFFFF
112 Protection group 128/64 0E00000–0E1FFFF 0700000–070FFFF
113 Protection group 128/64 0E20000–0E3FFFF 0710000–071FFFF
114 Protection group 128/64 0E40000–0E5FFFF 0720000–072FFFF
115 Protection group 128/64 0E60000–0E7FFFF 0730000–073FFFF
116 Protection group 128/64 0E80000–0E9FFFF 0740000–074FFFF
117 Protection group 128/64 0EA0000–0EBFFF F 0750000–075FFFF
118 Protection group 128/64 0EC0000 –0EDFFFF 0760000–076FFFF
119 Protection group 128/64 0EE0000–0EFFF FF 0770000–077 FFFF
120 Protecti on group 128/64 0F00000–0F1F FFF 0780000–078FFFF
121 Protecti on group 128/64 0F20000–0F3F FFF 0790000–079FFFF
122 Protection group 128/64 0F40000–0F5FFFF 07A0 000–07AFFFF
123 Protection group 128/64 0F60000–0F7FFFF 07B0 000–07BFFFF
124 Protection group 128/64 0F80000–0F9F FFF 07C0000–07CFFF F
125 Protection group 128/64 0FA0000–0FBFFFF 07D0000–07DFFFF
126 Protection group 128/64 0FC0000–0FDF FFF 07E0000–07EFFFF
127 Protecti on group 128/64 0FE0000–0FFFFFF 07F0000–07FFF FF
Table 35. Block addresses (continued)
Block Protection group Block size
(Kbytes/
Kwords)
8-bit address range
(in hexadecimal) 16-bit address range
(in hexadecimal)
M29W128GH, M29W128GL Common flash interface (CFI)
83/94
Appendix B Common flash interface (CFI)
The common flash inte rface is a JEDEC approved , st andardized data str ucture that can be read fro m 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 whe n necessary.
When the Read CFI Query command is issued, the memory enters read CFI query mode and rea d
operations output the CFI data. Table 36, Table 37, Table 38, Table 39, Table 40 and Table 41 show the
addresses (A-1, A0-A7) used to retrieve the data. The CFI data structure also contains a security area
where a 64-bit uniqu e secu rit y num b er is written (se e Table 41: Security code area). This area can be
accessed only in read mode by the final user. It is impossible to change the security number after it has
been written by Numonyx.
Table 36. Query structure overview(1)
1. Query data are always presented on the lowest order data outputs.
Address Sub-section name Description
x16 x8
10h 20h CFI query identification string Command set ID and algorithm data offset
1Bh 36h System interface information Device timing & voltage information
27h 4 E h Device geometry definition Flash device layout
40h 80h Primar y algorithm-specific exten ded query table Additional information spe cifi c to the primary
algorithm (optional)
61h C2h Security code area 64-bit unique device number
Table 37. CFI query identification string(1)
1. Query data are always presented on the lowest order data outputs (DQ7-DQ0) only. DQ8-DQ15 are ‘0’.
Address Data Description Value
x16 x8
10h 20h 0051h ‘Q’
11h 22 h 0052h Query unique ASCII string ‘QRY’ ‘R’
12h 24h 0059h ‘Y’
13h 26h 0002h Primary algorithm command set and control interface ID code 16 bit
ID code defining a specific algorithm Spansion
compatible
14h 28h 0000h
15h 2Ah 0040h Address for primary algorithm extended query table (see Table 40)P = 40h
16h 2Ch 0000h
17h 2Eh 0000h Alternate vendor command set and control interface ID code second
vendor - specified algorithm supported NA
18h 30h 0000h
19h 32h 0000h Address for alternate algorithm exte nded query table NA
1Ah 34h 0000h
Common flash interface (CFI) M29W128GH, M29W128GL
84/94
Table 38. CFI query system interface information(1)
Address Data Description Value
x16 x8
1Bh 36h 0027h VCC logic supply minimum program/erase voltage
bit 7 to 4BCD value in volts
bit 3 to 0BCD value in 100 mV 2.7 V
1Ch 38h 0036h VCC logic supply maximum program/erase voltage
bit 7 to 4BCD value in volts
bit 3 to 0BCD value in 100 mV 3.6 V
1Dh 3Ah 00B5h VPPH [programming] supply minimum program/erase voltage
bit 7 to 4HEX value in volts
bit 3 to 0BCD value in 100 mV 11.5 V
1Eh 3Ch 00C5h VPPH [programming] supply maximum program/erase voltage
bit 7 to 4HEX value in volts
bit 3 to 0BCD value in 100 mV 12.5 V
1Fh 3Eh 0004h Typical timeout for single byte/word program = 2n µs 16 µs
20h 40h 0004h Ty pical timeout for minimum size write buffer program = 2 n µs 16 µs
21h 42h 0009h Typical timeout for individual block erase = 2n ms 0.5 s
22h 44h 0010h Typical timeout for full chip erase = 2n ms 40 s
23h 46h 0004h Maximum timeout for byte/word program = 2n times typical 200 µs
24h 48h 0004h Maximum timeout for write buffer program = 2n times typical 200 µs
25h 4Ah 0003h Maximum timeout per individual block erase = 2n times typical 2.3 s
26h 4Ch 0004h Maximum timeout for chip erase = 2n times typical 400 s
1. The values given in the above table are valid for both packages.
M29W128GH, M29W128GL Common flash interface (CFI)
85/94
Table 39. Device geometry definition
Address Data Description Value
x16 x8
27h 4Eh 0018h Device size = 2n in number of bytes 16 Mbytes
28h
29h 50h
52h 0002h
0000h Flash device interface code description x8, x16
async.
2Ah
2Bh 54h
56h 0006h
0000h Maximum number of bytes in mul tiple-byte program or page= 2n64
2Ch 58h 0001h Number of Erase block regions. It specifies the number of regions
containing contiguous Erase blocks of the same size. 1
2Dh
2Eh 5Ah
5Ch 007Fh
0000h Erase block region 1 information
Number of Erase blocks of identical size = 00 7Fh +1 128
2Fh
30h 5Eh
60h 0000h
0002h Erase block region 1 information
Block size in region 1 = 0200h * 256 byte 128 Kbytes
31h
32h
33h
34h
62h
64h
66h
68h
0000h
0000h
0000h
0000h
Erase block region 2 information 0
35h
36h
37h
38h
6Ah
6Ch
6Eh
70h
0000h
0000h
0000h
0000h
Erase block region 3 information 0
39h
3Ah
3Bh
3Ch
72h
74h
76h
78h
0000h
0000h
0000h
0000h
Erase block region 4 information 0
Common flash interface (CFI) M29W128GH, M29W128GL
86/94
Table 40. Primary algorithm-specific extended query table (1)
Address Data Description Value
x16 x8
40h 80h 0050h
Primary algorithm extended query table unique ASCII string “PRI”
‘P’
41h 82h 0052h ‘R’
42h 84h 0049h ‘I’
43h 86h 0031h Major ve rsion number, ASCII ‘1’
44h 88h 0033h Minor version number, ASCII ‘3’
45h 8Ah 000Dh Address sensitive unlock (bits 1 to 0)
00 = required, 01= not required
Silicon revision number (bits 7 to 2)
Yes
90 nm
46h 8Ch 0002h Erase suspend
00 = not supported, 01 = re ad only, 02 = read and write 2
47h 8Eh 0001h Block protection
00 = not supported, x = number of blocks per group 1
48h 90h 0000h Temporary block unprotect
00 = not supported, 01 = supported Not
supported
49h 92h 0008h Block protect /un p rotect
06 = M29W128GH/M29W128GL 6
4Ah 94h 0 000h Simultaneous operations: not supp orted NA
4Bh 96h 0 000h Burst mode, 00 = not supported, 01 = supported Not
supported
4Ch 98h 0002h Page mode, 00 = not supported, 02 = 8-word page 02
4Dh 9Ah 00B5h VPPH supply minimum program/erase voltage
bit 7 to 4 HEX value in volts
bit 3 to 0 BCD value in 100 mV 11.5 V
4Eh 9Ch 00C5h VPPH supply maximum program/erase voltage
bit 7 to 4 HEX value in volts
bit 3 to 0 BCD value in 100 mV 12.5 V
4Fh 9Eh 00xxh Top/bottom boot block flag
xx = 04 = M29W128GL. First block protected by VPP/WP
xx = 05 = M29W128 GH. Last block protected by VPP/WP
Uniform +
VPP/WP
protecting
highest or
lowest
block
50h A 0h 0001h Program suspend, 00 = not supported, 01 = supported Supported
1. The values given in the above table are valid for both packages.
M29W128GH, M29W128GL Common flash interface (CFI)
87/94
Table 41. Security code area
Address Data Description
x16 x8
61h C3h, C2h XXXX
64-bit: unique device number
62h C5h, C4h XXXX
63h C7h, C6h XXXX
64h C9h, C8h XXXX
Extended memory block M29W128GH, M29W128GL
88/94
Appendix C Extended memory block
The M29W128GH/L has an extra block, the extended memory block, that can be accessed
using a dedicated command. This extended memory block is 128 words in x 16 mode and
256 bytes in x 8 mode. It is used as a security block (to provide a permanent security
identification number) or to store additional informa tio n.
The device can be shipped eith er with the exte nded memory bloc k factory locked, or facto ry
unlocked.
If the extended memory block is not factory locked, it can be customer lockable. Its st atus is
indicated by bit DQ7. This bit is permanently set to either ‘1’ or ‘0’ at the factory and cannot
be changed. When set to ‘1’, it indicates that the device is factory locked and the extended
memory block is protected. When set to ‘0’, it indicates that the device is customer lockable.
Bit DQ7 being permanently lo cked to either ‘1’ or ‘0’ is another security feature which
ensures that a customer lockable device cannot be used instead of a factory locked one.
Bit DQ7 is the most significant bit in the extended memory block verify indicator. It can be
read in auto select mode using either the programmer (see Table 8 and Table 9) or the in-
system method (see Table 10 and Table 11).
The extended memory bl ock can only be accesse d when the device is in e xte nded memor y
block mode. For details of how the extended memory block mode is entered and exited,
refer to the Section 6.3.1: Enter Extended Memory Block command and Section 6.3.2: Exit
Extended Memory Block comma nd, and to Table 15 and Table 10.
C.1 Factory locked extended memory block
In devices where the extended memory block is factory locked, the security identification
number is written to the extended memory block address space (see Table 42: Extended
memory block add re ss an d da ta) in the factory. The DQ7 bit is set to ‘1’ and the extended
memory block cannot be unprotected.
M29W128GH, M29W128GL Extended memory block
89/94
C.2 Customer lockable extended memory block
A device where the extended memory block is customer lockable is delivered with the DQ7
bit set to ‘0’ and the exte nd ed m e mo r y bloc k unpr ot ected. It is up to the custo m er to
program and protect the extended memory block but care must be t aken because the
protection of th e extended me mo ry block is not reversib le .
If the device has not been shipped with the extended memory block factory protected, the
block can be protected by setting the extended memory block protection bit, DQ0, to ‘0’.
However , this bit is one-time programmable and once protected the extende d memory block
cannot be unprotected.
Once the extended memory block is programmed, the Exit Extended Memory Block
command must be issued to exit the e xtended memory b lock mode and return the device to
read mode.
Table 42. Extended memory block address and data
Address(1)
1. See Table 35: Block addresses.
Data
x8 x16 Factory locked Customer lockable
000000h-0000FFh 000000h-00007Fh Security identification number Determine d by customer
Flowcharts M29W128GH, M29W128GL
90/94
Appendix D Flowcharts
Figure 30. Write to buffer program flowchart an d pseudocode
1. n+1 is the number of addresses to be programmed.
2. A write to buffer program abort and reset must be issued to return the device in read mode.
3. When the block address is specified, any address in the selected block address space is acceptable. However when
loading write buffer address with data, all addresses must fall within the selected write buffer page.
4. DQ7 must be checked since DQ5 and DQ7 may change simultaneously.
5. If this flowchart location is reached bec ause DQ5=’1’, then the Write to Buffer Program command failed. If this flowchart
location is reached because DQ1=’1’, then the Write to Buffer Program command aborted. In both cases, the appropriate
reset command must be issue d to return the device in read mode: a Reset command if the operation failed, a Write to
Buffer Program Abort and Reset command if the operation aborted.
6. See Table 10 and Table 11, for details on Write to Buffer Program command sequence.
Write to Buffer
command,
block address
AI08968b
Start
Write Buffer Data,
start address
YES
Abort Write
to Buffer
FAIL OR ABORT
(5)
NO
Write n
(1)
,
block address
X = 0
Write Next Data,
Program Address Pair
X = X-1
Write to Buffer Program
Confirm, block address
Read Status Register
(DQ1, DQ5, DQ7) at
last loaded address
YES
DQ7 = Data
NO
Check Status Register
(DQ5, DQ7) at
last loaded address
(3)
NO
YES
Write to a different
block address
Write to Buffer and
Program Aborted
(2)
NO DQ5 = 1
YES
NO
DQ1 = 1
YES
YES
DQ7 = Data
(4)
NO
END
First three cycles of the
Write to Buffer and Program command
X=n
M29W128GH, M29W128GL Flowcharts
91/94
Figure 31. Enhanced buffered program flowchart and pseudocode
1. A buffered program abort and reset must be issued to return the device in r ead mode.
2. When the block address is specified, all the addresses in the selected block address space must be issued starting from
(00). Furthermore, when loading write buffer address with data, data program addresses must be consecutive.
3. DQ7 must be checked since DQ5 and DQ7 may change simultaneously.
4. If this flowchart location is reached because DQ5=’1’, then the Enhanced Buffered Program command failed. If this
flowchart location is reached because DQ1=’1’, then the Enhanced Buffered Program command aborted. In both cases, the
appropriate reset command must be issued to return the device in read mode: a Reset command if the operation failed, a
Buffered Program Abort and Reset command if the operation aborted.
5. See Table 14: Enhanced buffered program commands, 16-bit mode, for details on Enhanced Buffered Program command
sequence.
Enhanced Buffered
Program command,
block address
AI14243
Start
Write Buffer Data,
start address (00),
X=255
YES
Abort Write
to Buffer
FAIL OR ABORT
(4)
NO
X = 0
Write Next Data,
Program Address Pair
X = X-1
Enhanced Buffered
Program Confirm,
block address
Read Status Register
(DQ1, DQ5, DQ7) at
last loaded address
YES
DQ7 = Data
NO
Check Status Register
(DQ5, DQ7) at
last loaded address
(2)
NO
YES
Write to a different
block address
Enhanced Buffered
Program Aborted
(1)
NO DQ5 = 1
YES
NO
DQ1 = 1
YES
YES
DQ7 = Data
(3)
NO
END
First three cycles of the
Enhanced Buffered Program command
Revision history M29W128GH, M29W128GL
92/94
12 Revision history
Table 43. Document revision history
Date Version Changes
24-Nov-2006 0.1 Initial release.
30-Mar-2007 1
VIO changed to VCCQ in the whole document and added in Table 21: Absolute
maximum ratings.
Chip program time without VPPH updated in Fe atures section.
RP signal acting as a reset input, unprotection of all the blocks previously protected
using a high voltage block protection technique removed.
Table 4: Bus operations , 8-bit mode and Table 5: Bus operations, 16-bit mode
updated. Table 6: Read electronic signature - auto select mode - progra mmer
method (8-bit mode) and Table 7: Read electronic si gnature - auto select mode -
programmer method (16-bit mode) updated. Table 8: Block protection - auto select
mode - programmer method (8-bit mode) and Table 9: Block protection - auto select
mode - programmer method (16-bit mode) updated.
Section 5: Software protection added, together with the related commands.
Unlock Bypass Block Erase, Unlock Bypass Chip Erase, and Unlock Write to Buffer
and Program commands added.
Lock register description added in Section 7.1.
23-Oct-2007 2
Enhanced Buffered Program commands added (see on page1 and from
Section 6.2.2 to Section 6.2.12).
Modified values for page access, random access, programming time, and chip
program time on page 1. Speed classes changed in Table 27, Table 28, Table 29,
Table 30, and Table 34.
Table 14: Enhanced buffered program commands, 16-bit mode added.
Table 12, Table 13, Table 15, Table 16, Table 17, Table 22, Table 26, Table 38, and
Table 40 updated as well as Figure 23.
Figure 31: Enhanced buffered program flowchart and pseudocode added in
Appendix D.
28-Jan-2008 3
Document status promoted from preliminary data to datasheet.
Speed classes and page size modified on page 1.
Modified: Section 2.8: VPP/write protect (VPP/WP), Section 3.6: Automatic standby,
Section 6.1.5: Block Erase command, Table 3: VPP/WP functions, Table 22:
Operating and AC measurement conditions, Table 25: DC characteristics, and
Table 40: Primary algorithm-specific extended query table.
Added: Table 23: Power-up waiting timings and Figure 12: Power-up waiting timings.
Changed erase suspend latency time in Table 17: Program, erase times and
program, erase endurance cycles.
Minor text changes.
20-Mar-2008 4 Applied Numonyx branding.
21-Apr-2008 5
Modified: Table 4: Bus operations, 8-bit mode, Table 5: Bus operations, 16-bit mode,
Table 23: Power-up waiting timings, Table 40: Primary algorithm-specific extended
query table, and Figure 1 2: Power-up waiting timings .
Added tPHWL and tRHWL timings in Table 29: Reset AC characteristics, Figure 22:
Reset AC waveforms (no program/e ra s e ongoing), and Figure 23: Reset during
program/erase operation AC waveforms.
Minor text changes.
M29W128GH, M29W128GL Revision history
93/94
6-Oct-2008 6 Added automotive device grade and automotive qualified information to cover page
and order informati on page.
5-Nov-2008 7
Made the following changes:
New amb ient temperature range 1 (0 - 70 °C) to Section 9: DC and AC
parameters and to Section 11: Ordering information.
New package FBGA 11 x 13
Corre cted a CFI field (address 24h in x16 mode)
Minor text changes
18-Feb-2009 8 Added information for Automotive Device Grade 3; This Grade 3 changes extends
the possible upper temperature range from 85 °C to 125 °C, which change is shown
in the cover page.
11-March-2009 9 Corrected LBGA to FBGA (package name).
24-April-2009 10 Corrected block address numbers in Figure 4.: Block addresses.
19-April-2010 11
Made the following changes:
–In Table 15.: Block protection commands, 8-bit mode on page 46, the Read VPB
Status row, changed X to BAh
Table 16.: Block pro tection commands, 16-bit mode on page 48, the Read VPB
Status row, changed X to BAd
–In Table 17.: Program, erase times and program, erase endurance cycles on
page 49, changed Block Erase max value to 2 seconds; changed Erase Suspend
Latency Time max value to 45 μs.
–In Table 25.: DC characteristics on page 61, added ICC2 Grade 6 with a max
value of 100 uA; added ICC2 Grade 3 with a max value of 200 uA.
Added the followng note to Table 15.: Block protection commands, 8-bit mode and
Table 16.: Block protection commands, 16-bit mode: The VPB program and VPB
clear operations can be performed only with a timing /WE con trolled not CE
controlled.
Table 43. Document revision history (continued)
Date Version Changes
M29W128GH, M29W128GL
94/94
Please Read Carefully:
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH NUMONYX™ PRODUCTS. NO LICENSE, EXP RESS OR
IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT
AS PROVIDED IN NUMONYX'S TER M S AND CONDITIONS OF SALE FOR SUCH PRODUCTS, NUMONYX ASSUMES NO LIABILITY
WHATSOEVER, AND NUMONYX DIS CLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF
NUMONYX PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABILITY, OR I NFRINGEMENT OF ANY PATENT, COPY RIGHT OR OTHER INTELLECT UAL PROPERTY RIGHT.
Numonyx products are not intended for use in medical, life saving, life sustaining, critical control or safety systems, or in nuclear facility
applications.
Numonyx may make changes to specif ications and product descrip tions at any time, without notice.
Numonyx, B.V. may have patents or pending patent applications, trademarks, copyrights, or other intellectual property rights that relate to the
presented subject matter. The furnishing of documents and other materials and information does not provide any license, express or implied,
by estoppel or otherwise, to any such patents, trademarks, copyrights, or other intellectual property rights.
Designers must not rely on the absence or characteristics of any features or instructions marked “reserved” or “undefined.” Numonyx reserves
these for future definition and shall have no respons ibility whatsoever for conflicts or incompatibilities arising from future changes to them.
Contact your local Numonyx sales office or your distributor to obtain the latest specifications and before placing your pro duct order.
Copies of doc uments which have an order number and are reference d in this document, or other Numonyx literature may be obtained by
visiting Numonyx's website at http://www.numonyx.com.
Numonyx StrataFlash is a trademark or registered trademar k of Numonyx or its subsidiaries in the United States and other countries.
*Other names and brands may be claimed as the property of others.
Copyright © 2010, Numonyx, B.V., All Rights Reserved.