M59DR032EA M59DR032EB 32 Mbit (2Mb x 16, Dual Bank, Page ) 1.8V Supply Flash Memory FEATURES SUMMARY ■ SUPPLY VOLTAGE Figure 1. Packages – VDD = VDDQ = 1.65V to 2.2V for Program, Erase and Read ■ – VPP = 12V for fast Program (optional) ASYNCHRONOUS PAGE MODE READ BGA – Page Width: 4 Words – Page Access: 35ns – Random Access: 85ns, 100ns and 120ns ■ PROGRAMMING TIME – 10µs by Word typical TFBGA48 (ZB) 7 x 12mm – Double Word Program Option ■ MEMORY BLOCKS – Dual Bank Memory Array: 4 Mbit, 28 Mbit – Parameter Blocks (Top or Bottom location) ■ BGA DUAL BANK OPERATIONS – Read within one Bank while Program or Erase within the other – No delay between Read and Write operations ■ BLOCK LOCKING TFBGA48 (ZF) 7 x 7mm – All blocks locked at Power up – Any combination of blocks can be locked – WP for Block Lock-Down ■ COMMON FLASH INTERFACE (CFI) – 64 bit Unique Device Identifier – 64 bit User Programmable OTP Cells ■ ERASE SUSPEND and RESUME MODES ■ 100,000 PROGRAM/ERASE CYCLES per BLOCK ■ 20 YEARS DATA RETENTION – Defectivity below 1ppm/year ■ ELECTRONIC SIGNATURE – Manufacturer Code: 0020h – Top Device Code, M59DR032EA: 00A0h – Bottom Device Code, M59DR032EB: 00A1h April 2003 1/43 M59DR032EA, M59DR032EB TABLE OF CONTENTS SUMMARY DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Figure 2. Logic Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Table 1. Signal Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Figure 3. TFBGA Connections (Top view through package) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Table 2. Bank Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Figure 4. Security Block and Protection Register Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 SIGNAL DESCRIPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Address Inputs (A0-A20). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Data Input/Output (DQ0-DQ15). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Chip Enable (E). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Output Enable (G). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Write Enable (W). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Write Protect (WP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Reset/Power-Down Input (RP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 VDD and VDDQ Supply Voltage (1.65V to 2.2V). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 VPP Programming Voltage (11.4V to 12.6V). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 VSS Ground. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 BUS OPERATIONS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Read. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Write. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Output Disable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Standby. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Automatic Standby. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Power-Down. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Dual Bank Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Table 3. Bus Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 COMMAND INTERFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Read/Reset Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Read CFI Query Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Auto Select Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Set Configuration Register Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Program Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Double Word Program Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Quadruple Word Program Command.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Enter Bypass Mode Command.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Exit Bypass Mode Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Program in Bypass Mode Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Double Word Program in Bypass Mode Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Quadruple Word Program in Bypass Mode Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Block Lock Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Block Unlock Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2/43 M59DR032EA, M59DR032EB Block Lock-Down Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Block Erase Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Bank Erase Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Erase Suspend Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Erase Resume Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Protection Register Program Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Table 4. Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Table 5. Read Electronic Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Table 6. Read Block Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Table 7. Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Table 8. Read Protection Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Table 9. Program, Erase Times and Program, Erase Endurance Cycles . . . . . . . . . . . . . . . . . . . . 15 BLOCK LOCKING. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Reading a Block’s Lock Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Locked State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Unlocked State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Lock-Down State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Locking Operations During Erase Suspend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Lock Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 STATUS REGISTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Data Polling Bit (DQ7). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Toggle Bit (DQ6).. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Toggle Bit (DQ2).. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Error Bit (DQ5). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Erase Timer Bit (DQ3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Table 11. Polling and Toggle Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Table 12. Status Register Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 MAXIMUM RATING. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Table 13. Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 DC and AC PARAMETERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Table 14. Operating and AC Measurement Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Figure 5. Testing Input/Output Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Figure 6. AC Testing Load Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Table 15. Capacitance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Table 16. DC Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Figure 7. Random Read AC Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Figure 8. Page Read AC Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Table 17. Read AC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Figure 9. Write AC Waveforms, Write Enable Controlled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Table 18. Write AC Characteristics, Write Enable Controlled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Figure 10. Write AC Waveforms, Chip Enable Controlled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Table 19. Write AC Characteristics, Chip Enable Controlled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3/43 M59DR032EA, M59DR032EB Figure 11. Reset/Power-Down AC Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Table 20. Reset/Power-Down AC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Figure 12. Data Polling DQ7 AC Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Figure 13. Data Toggle DQ6, DQ2 AC Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Table 21. Data Polling and Toggle Bits AC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Figure 14. Data Polling Flowchart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Figure 15. Data Toggle Flowchart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 PACKAGE MECHANICAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Figure 16. TFBGA48 7x12mm - 8x6 ball array, 0.75 mm pitch, Package Outline . . . . . . . . . . . . . . 32 Table 22. TFBGA48 7x12mm - 8x6 ball array, 0.75 mm pitch, Package Mechanical Data. . . . . . . 32 Figure 17. TFBGA48 7x7mm - 8x6 ball array, 0.75 mm pitch, Package Outline . . . . . . . . . . . . . . . 33 Table 23. TFBGA48 7x7mm - 8x6 ball array, 0.75 mm pitch, Package Mechanical Data . . . . . . . . 33 Figure 18. TFBGA48 Daisy Chain - Package Connections (Top view through package) . . . . . . . . 34 Figure 19. TFBGA48 Daisy Chain - PCB Connection Proposal (Top view through package). . . . . 34 PART NUMBERING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Table 24. Ordering Information Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Table 25. Daisy Chain Ordering Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 APPENDIX A. BLOCK ADDRESSES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Table 26. Bank A, Top Boot Block Addresses M59DR032EA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Table 27. Bank B, Top Boot Block Addresses M59DR032EA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Table 28. Bank B, Bottom Boot Block Addresses M59DR032EB . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Table 29. Bank A, Bottom Boot Block Addresses M59DR032EB . . . . . . . . . . . . . . . . . . . . . . . . . . 38 APPENDIX B. COMMON FLASH INTERFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Table 30. Query Structure Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Table 31. CFI Query Identification String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Table 32. CFI Query System Interface Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Table 33. Device Geometry Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 REVISION HISTORY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Table 34. Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4/43 M59DR032EA, M59DR032EB SUMMARY DESCRIPTION The M59DR032E is a 32 Mbit (2Mbit x16) non-volatile Flash memory that may be erased electrically at block level and programmed in-system on a Word-by-Word basis using a 1.65V to 2.2V V DD supply for the circuitry and a 1.65V to 2.2V V DDQ supply for the Input/Output pins. An optional 12V VPP power supply is provided to speed up customer programming. The device features an asymmetrical block architecture. M59DR032E has an array of 71 blocks and is divided into two banks, Banks A and B, providing Dual Bank operations. While programming or erasing in Bank A, read operations are possible in Bank B or vice versa. Only one bank at a time is allowed to be in program or erase mode. The bank architecture is summarized in Table 2, and the Block Addresses are shown in Appendix A. The Parameter Blocks are located at the top of the memory address space for the M59DR032EA, and at the bottom for the M59DR032EB. Each block can be erased separately. Erase can be suspended, in order to perform either read or program in any other block, and then resumed. Each block can be programmed and erased over 100,000 cycles. Program and Erase commands are written to the Command Interface of the memory. An internal Program/Erase Controller takes care of the timings necessary for program and erase operations. The end of a program or erase operation can be detected and any error conditions identified in the Status Register. The command set required to control the memory is consistent with JEDEC standards. The M59DR032E features an instant, individual block locking scheme that allows any block to be locked or unlocked with no latency, enabling instant code and data protection. All blocks have two levels of protection. They can be individually locked and locked-down preventing any accidental programming or erasure. All blocks are locked at Power Up and Reset. The device includes a 128 bit Protection Register and a Security Block to increase the protection of a system’s design. The Protection Register is divided into two 64 bit segments. The first segment contains a unique device number written by ST, while the second one is one-time-programmable by the user. The user programmable segment can be permanently protected. The Security Block, parameter block 0, can be permanently protected by the user. Figure 4, shows the Security Block and Protection Register Memory Map. The device is available in TFBGA48 (7 x 12mm and 7 x 7mm, 0.75mm pitch) packages and it is supplied with all the bits erased (set to ‘1’). Figure 2. Logic Diagram VDD VDDQ VPP 21 16 A0-A20 DQ0-DQ15 W E G M59DR032EA M59DR032EB RP WP VSS AI06188 Table 1. Signal Names A0-A20 Address Inputs DQ0-DQ15 Data Input/Outputs, Command Inputs E Chip Enable G Output Enable W Write Enable RP Reset/Power-Down WP Write Protect VDD Supply Voltage VDDQ Supply Voltage for Input/Output Buffers VPP Optional Supply Voltage for Fast Program & Erase VSS Ground NC Not Connected Internally 5/43 M59DR032EA, M59DR032EB Figure 3. TFBGA Connections (Top view through package) 1 2 3 4 5 6 7 8 A A13 A11 A8 VPP WP A19 A7 A4 B A14 A10 W RP A18 A17 A5 A2 C A15 A12 A9 NC A20 A6 A3 A1 D A16 DQ14 DQ5 DQ11 DQ2 DQ8 E A0 E VDDQ DQ15 DQ6 DQ12 DQ3 DQ9 DQ0 VSS F VSS DQ7 DQ13 DQ4 VDD DQ10 DQ1 G AI06184 Table 2. Bank Organization 6/43 Bank Size Parameter Blocks Main Blocks Bank A 4 Mbit 8 blocks of 4 KWord 7 blocks of 32 KWord Bank B 28 Mbit - 56 blocks of 32 KWord M59DR032EA, M59DR032EB Figure 4. Security Block and Protection Register Memory Map PROTECTION REGISTER 88h SECURITY BLOCK User Programmable OTP 85h 84h Parameter Block # 0 Unique device number 81h 80h Protection Register Lock 2 1 0 AI06185 7/43 M59DR032EA, M59DR032EB SIGNAL DESCRIPTIONS See Figure 2, Logic Diagram, and Table 1, Signal Names, for a brief overview of the signals connected to this device. Address Inputs (A0-A20). The Address Inputs select the cells in the memory array to access during Bus Read operations. During Bus Write operations they control the commands sent to the Command Interface of the internal state machine. During a write operation the address inputs are latched on the falling edge of Chip Enable E or Write Enable W, whichever occurs last. Data Input/Output (DQ0-DQ15). The Data I/O output the data stored at the selected address during a Bus Read operation or input a command or the data to be programmed during a Write Bus operation. Both input data and commands are latched on the rising edge of Write Enable W. The data output is the Memory Array, the Common Flash Interface, the Electronic Signature Manufacturer or Device codes, the Block Protection status, the Configuration Register status or the Status Register Data depending on the address. The data bus is high impedance when the chip is deselected, Output Enable G is at VIH, or RP is at VIL. Chip Enable (E). The Chip Enable input activates the memory control logic, input buffers, decoders and sense amplifiers. When Chip Enable is at VIH the device is deselected and the power consumption is reduced to the standby level. Output Enable (G). The Output Enable gates the outputs through the data buffers during a read operation. When Output Enable is at V IH the outputs are high impedance. Write Enable (W). The Write Enable controls the Bus Write operation of the memory’s Command Interface. Write Protect (WP). Write Protect is an input that gives an additional hardware protection for each block. When Write Protect is at V IL, the locked-down blocks cannot be locked or unlocked. When Write Protect is at VIH, the Lock-Down is disabled and the locked-down blocks can be locked or unlocked. (refer to Table 10, Lock Status). 8/43 Reset/Power-Down Input (RP). The Reset/Power-Down input provides hardware reset of the memory, and/or Power-Down functions, depending on the Configuration Register status. A Reset or Power-Down of the memory is achieved by pulling RP to VIL for at least tPLPH. The Reset/Power-Down function is set in the Configuration Register (see Set Configuration Register command). If it is set to ‘0’ the Reset function is enabled, if it is set to ‘1’ the Power-Down function is enabled. After a Reset or Power-Up the power save function is disabled and all blocks are locked. The memory Command Interface is reset on Power Up to Read Array. Either Chip Enable or Write Enable must be tied to VIH during Power Up to allow maximum security and the possibility to write a command on the first rising edge of Write Enable. After a Reset, when the device is in Read, Erase Suspend Read or Standby, valid data will be output tPHQ7V1 after the rising edge of RP. If the device is in Erase or Program, the operation will be aborted and the reset recovery will take a maximum of t PLQ7V. The memory will recover from Power-Down tPHQ7V2 after the rising edge of RP. See Tables 17, 18 and Figure 11. VDD and VDDQ Supply Voltage (1.65V to 2.2V). VDD provides the power supply to the internal core of the memory device. It is the main power supply for all operations (read, program and erase). VDDQ provides the power supply to the I/O pins. VDD and V DDQ must be at the same voltage. VPP Programming Voltage (11.4V to 12.6V). VPP provides a high voltage power supply for fast factory programming. VPP is required to use the Double Word and Quadruple Word Program commands. VSS Ground. VSS ground is the reference for the core supply. It must be connected to the system ground. Note: Each device in a system should have VDD, VDDQ and V PP decoupled with a 0.1µF capacitor close to the pin. See Figure 6, AC Measurement Load Circuit. The PCB trace widths should be sufficient to carry the required VPP program and erase currents. M59DR032EA, M59DR032EB BUS OPERATIONS The following operations can be performed using the appropriate bus cycles: Read Array (Random, and Page Modes), Write, Output Disable, Standby and Reset/Power-Down, see Table 3. Read. Read operations are used to output the contents of the Memory Array, the Electronic Signature, the Status Register, the CFI, the Block Protection Status or the Configuration Register status. Read operation of the memory array is performed in asynchronous page mode, that provides fast access time. Data is internally read and stored in a page buffer. The page has a size of 4 words and is addressed by A0-A1 address inputs. Read operations of the Electronic Signature, the Status Register, the CFI, the Block Protection Status, the Configuration Register status and the Security Code are performed as single asynchronous read cycles (Random Read). Both Chip Enable E and Output Enable G must be at VIL in order to read the output of the memory. Write. Write operations are used to give commands to the memory or to latch Input Data to be programmed. A write operation is initiated when Chip Enable E and Write Enable W are at V IL with Output Enable G at V IH. Addresses are latched on the falling edge of W or E whichever occurs last. Commands and Input Data are latched on the rising edge of W or E whichever occurs first. Noise pulses of less than 5ns typical on E, W and G signals do not start a write cycle. Output Disable. The data outputs are high impedance when the Output Enable G is at VIH with Write Enable W at VIH. Standby. The memory is in standby when Chip Enable E is at VIH and the P/E.C. is idle. The power consumption is reduced to the standby level and the outputs are high impedance, independent of the Output Enable G or Write Enable W inputs. Automatic Standby. In Read mode, after 150ns of bus inactivity and when CMOS levels are driving the addresses, the chip automatically enters a pseudo-standby mode where consumption is reduced to the CMOS standby value, while outputs still drive the bus. Power-Down. The memory is in Power-Down when the Configuration Register is set for PowerDown and RP is at VIL. The power consumption is reduced to the Power-Down level, and Outputs are in high impedance, independent of the Chip Enable E, Output Enable G or Write Enable W inputs. Dual Bank Operations. The Dual Bank allows data to be read from one bank of memory while a program or erase operation is in progress in the other bank of the memory. Read and Write cycles can be initiated for simultaneous operations in different banks without any delay. Status Register during Program or Erase must be monitored using an address within the bank being modified. Table 3. Bus Operations Operation E G W RP WP DQ15-DQ0 Read VIL VIL VIH VIH VIH Data Output Write VIL VIH VIL VIH VIH Data Input Output Disable VIL VIH VIH VIH VIH Hi-Z Standby VIH X X VIH VIH Hi-Z X X X VIL VIH Hi-Z Reset / Power-Down Note: X = Don’t care. 9/43 M59DR032EA, M59DR032EB 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. An internal Program/Erase Controller handles all timings and verifies the correct execution of the Program and Erase commands. Two bus write cycles are required to unlock the Command Interface. They are followed by a setup or confirm cycle. The increased number of write cycles is to ensure maximum data security. The Program/Erase Controller provides a Status Register whose output may be read at any time to monitor the progress or the result of the operation. The Command Interface is reset to Read mode when power is first applied or exiting from Reset. Command sequences must be followed exactly. Any invalid combination of commands will reset the device to Read mode Read/Reset Command. The Read/Reset command returns the device to Read mode. One Bus Write cycle is required to issue the Read/Reset command and return the device to Read mode. Subsequent Read operations will read the addressed location and output the data. The write cycle can be preceded by the unlock cycles but it is not mandatory. Read CFI Query Command. The Read CFI Query command is used to read data from the Common Flash Interface (CFI) and the Electronic Signature (Manufacturer or the Device Code, see Table 5). The Read CFI Query Command consists of one Bus Write cycle. Once the command is issued the device enters Read CFI mode. Subsequent Bus Read operations read the Common Flash Interface or Electronic Signature. Once the device has entered Read CFI mode, only the Read/Reset command should be used and no other. Issuing the Read/Reset command returns the device to Read mode. See Appendix B, Common Flash Interface, Tables 31, 32, and 33 for details on the information contained in the Common Flash Interface memory area. Auto Select Command. The Auto Select command uses the two unlock cycles followed by one write cycle to any bank address to setup the command. Subsequent reads at any address will output the Block Protection status, Protection Register and Protection Register Lock or the Configuration Register status depending on the levels of A0 and A1 (see Tables 6, 7 and 8). Once the Auto Select command has been issued only the Read/Reset command should be used and no other. Issuing the Read/Reset command returns the device to Read mode. 10/43 Set Configuration Register Command. The M59DR032E contains a Configuration Register, see Table 7, Configuration Register. It is used to define the status of the Reset/PowerDown functions. The value for the Configuration Register is always presented on A0-A15, the other address bits are ignored. Address input A10 defines the status of the Reset/Power-Down functions. If it is set to ‘0’ the Reset function is enabled, if it is set to ‘1’ the Power-Down function is enabled. At Power Up the Configuration Register bit is set to ‘0’. The Set Configuration Register command is used to write a new value to the Configuration Register. The command uses the two unlock cycles followed by one write cycle to setup the command and a further write cycle to write the data and confirm the command. Program Command. The Program command uses the two unlock cycles followed by a write cycle to set up the command and a further write cycle to latch the Address and Data and start the Program Erase Controller. Read operations within the same bank output the Status Register after programming has started. Note that the Program command cannot change a bit set to ’0’ back to ’1’. One of the Erase Commands must be used to set all the bits in a block or in the whole bank from ’0’ to ’1’. If the Program command is used to try to set a bit from ‘0’ to ‘1’ Status Register Error bit DQ5 will be set to ‘1’, only if VPP is in the range of 11.4V to 12.6V. Double Word Program Command. This feature is offered to improve the programming throughput by writing a page of two adjacent Words in parallel. The V PP supply voltage is required to be from 11.4V to 12.6V for the Double Word Program command. The command uses the two unlock cycles followed by a write cycle to set up the command. A further two cycles are required to latch the address and data of the two Words and start the Program Erase Controller. The addresses must be the same except for the A0. The Double Word Program command can be executed in Bypass mode to skip the two unlock cycles. Note that the Double Word Program command cannot change a bit set to ’0’ back to ’1’. One of the Erase Commands must be used to set all the bits in a block or in the whole bank from ’0’ to ’1’. If the Double Word Program command is used to try to set a bit from ‘0’ to ‘1’ Status Register Error bit DQ5 will be set to ‘1’. Quadruple Word Program Command. The Quadruple Word Program command improves the M59DR032EA, M59DR032EB programming throughput by writing a page of four adjacent Words in parallel. The four Words must differ only for the addresses A0 and A1. The VPP supply voltage is required to be from 11.4V to 12.6V for the Quadruple Word Program command. The command uses the two unlock cycles followed by a write cycle to set up the command. A further four cycles are required to latch the address and data of the four Words and start the Program Erase Controller. The Quadruple Word Program command can be executed in Bypass mode to skip the two unlock cycles. Note that the Quadruple Word Program command cannot change a bit set to ’0’ back to ’1’. One of the Erase Commands must be used to set all the bits in a block or in the whole bank from ’0’ to ’1’. If the Quadruple Word Program command is used to try to set a bit from ‘0’ to ‘1’ Status Register Error bit DQ5 will be set to ‘1’. Enter Bypass Mode Command. The Bypass mode is used to reduce the overall programming time when large memory arrays need to be programmed. The Enter Bypass Mode command uses the two unlock cycles followed by one write cycle to set up the command. Once in Bypass mode, it is imperative that only the following commands be issued: Exit Bypass, Program, Double Word Program or Quadruple Word Program. Exit Bypass Mode Command. The Exit Bypass Mode command uses two write cycles to be set up and confirmed. The unlock cycles are not required. After the Exit Bypass Mode command, the device resets to Read mode. Program in Bypass Mode Command. The Program in Bypass Mode command can be issued when the device is in Bypass mode (issue an Enter Bypass Mode command). It uses the same sequence of cycles as the Program command with the exception of the unlock cycles. Double Word Program in Bypass Mode Command. The Double Word Program in Bypass Mode command can be issued when the device is in Bypass mode (issue an Enter Bypass Mode command). It uses the same sequence of cycles as the Double Word Program command with the exception of the unlock cycles. Quadruple Word Program in Bypass Mode Command. The Quadruple Word Program in Bypass Mode command can be issued when the device is in Bypass mode (issue an Enter Bypass Mode command). It uses the same sequence of cycles as the Quadruple Word Program command with the exception of the unlock cycles. Block Lock Command. The Block Lock command is used to lock a block and prevent Program or Erase operations from changing the data in it. All blocks are locked at Power-Up or Reset. Three Bus Write cycles are required to issue the Block Lock command. ■ The first two bus cycles unlock the Command Interface. ■ The third bus cycle sets up the Block Lock command and latches the block address. The lock status can be monitored for each block using the Auto Select command. Table 10 shows the Lock Status after issuing a Block Lock command. The Block Lock bits are volatile, once set they remain set until a hardware Reset or Power-Down/ Power-Up. They are cleared by a Block Unlock command. Refer to the section, Block Locking, for a detailed explanation. Block Unlock Command. The Block Unlock command is used to unlock a block, allowing the block to be programmed or erased. Three Bus Write cycles are required to issue the Block Unlock command. ■ The first two bus cycles unlock the Command Interface. ■ The third bus cycle sets up the Block UnLock command and latches the block address. The lock status can be monitored for each block using the Auto Select command. Table 10 shows the lock status after issuing a Block Unlock command. Refer to the section, Block Locking, for a detailed explanation. Block Lock-Down Command. A locked or unlocked block can be locked-down by issuing the Block Lock-Down command. A locked-down block cannot be programmed or erased, or have its protection status changed when WP is low, VIL. When WP is high, V IH, the Lock-Down function is disabled and the locked blocks can be individually unlocked by the Block Unlock command. Three Bus Write cycles are required to issue the Block Lock-Down command. ■ The first two bus cycles unlock the Command Interface. ■ The third bus cycle sets up the Block LockDown command and latches the block address. The lock status can be monitored for each block using the Auto Select command. Locked-Down blocks revert to the locked (and not locked-down) state when the device is reset on power-down. Table 10 shows the Lock Status after issuing a Block Lock-Down command. Refer to the section, Block Locking, for a detailed explanation. 11/43 M59DR032EA, M59DR032EB Block Erase Command. The Block Erase command can be used to erase a block. It sets all the bits within the selected block to ’1’. All previous data in the block is lost. If the block is protected then the Erase operation will abort, the data in the block will not be changed and the device will return to Read Array mode. It is not necessary to pre-program the block as the Program/Erase Controller does it automatically before erasing. Six Bus Write cycles are required to issue the command. ■ The first two write cycles unlock the Command Interface. ■ The third write cycles sets up the command ■ the fourth and fifth write cycles repeat the unlock sequence ■ the sixth write cycle latches the block address and confirms the command. Additional Block Erase confirm cycles can be issued to erase other blocks without further unlock cycles. All blocks must belong to the same bank; if a new block belonging to the other bank is given, the operation is aborted. The additional Block Erase confirm cycles must be given within the DQ3 erase timeout period. Each time a new confirm cycle is issued the timeout period restarts. The status of the internal timer can be monitored through the level of DQ3, see Status Register section for more details. Once the command is issued the device outputs the Status Register data when any address within the bank is read. After the command has been issued the Read/Reset command will be accepted during the DQ3 timeout period, after that only the Erase Suspend command will be accepted. On successful completion of the Block Erase command, the device returns to Read Array mode. Bank Erase Command. The Bank Erase command can be used to erase a bank. It sets all the bits within the selected bank to ’1’. All previous data in the bank is lost. The Bank Erase command will ignore any protected blocks within the bank. If all blocks in the bank are protected then the Bank Erase operation will abort and the data in the bank will not be changed. It is not necessary to pre-program the bank as the Program/Erase Controller does it automatically before erasing. As for the Block Erase command six Bus Write cycles are required to issue the command. ■ The first two write cycles unlock the Command Interface. ■ The third write cycles sets up the command ■ the fourth and fifth write cycles repeat the unlock sequence 12/43 the sixth write cycle latches the block address and confirms the command. Once the command is issued the device outputs the Status Register data when any address within the bank is read. For optimum performance, Bank Erase commands should be limited to a maximum of 100 Program/Erase cycles per Block. After 100 Program/ Erase cycles the internal algorithm will still operate properly but some degradation in performance may occur. Dual operations are not supported during Bank Erase operations and the command cannot be suspended. On successful completion of the Bank Erase command, the device returns to Read Array mode. Erase Suspend Command. The Erase Suspend command is used to pause a Block Erase operation. In a Dual Bank memory it can be used to read data within the bank where an Erase operation is in progress. It is also possible to program data in blocks not being erased. One bus write cycle is required to issue the Erase Suspend command. The Program/Erase Controller suspends the Erase operation within 20µs of the Erase Suspend command being issued and bits 7, 6 and/ or 2 of the Status Register are set to ‘1’. The device is then automatically set to Read mode. The command can be addressed to any bank. During Erase Suspend the memory will accept the Erase Resume, Program, Read CFI Query, Auto Select, Block Lock, Block Unlock and Block LockDown commands. Erase Resume Command. The Erase Resume command can be used to restart the Program/ Erase Controller after an Erase Suspend command has paused it. One Bus Write cycle is required to issue the command. The command must be issued to an address within the bank being erased. The unlock cycles are not required. Protection Register Program Command. The Protection Register Program command is used to Program the Protection Register (One-Time-Programmable (OTP) segment and Protection Register Lock). The OTP segment is programmed 16 bits at a time. When shipped all bits in the segment are set to ‘1’. The user can only program the bits to ‘0’. Four write cycles are required to issue the Protection Register Program command. ■ The first two bus cycles unlock the Command Interface. ■ The third bus cycle sets up the Protection Register Program command. ■ M59DR032EA, M59DR032EB The fourth latches the Address and the Data to be written to the Protection Register and starts the Program/Erase Controller. Read operations output the Status Register content after the programming has started. The OTP segment can be protected by programming bit 1 of the Protection Register Lock. The segment can be protected by programming bit 1 of the Protection Register Lock. Bit 1 of the Protection Register Lock also protects bit 2 of the Protec- tion Register Lock. Programming bit 2 of the Protection Register Lock will result in a permanent protection of Parameter Block #0 (see Figure 4, Security Block and Protection Register Memory Map). Attempting to program a previously protected Protection Register will result in a Status Register error. The protection of the Protection Register and/or the Security Block is not reversible. ■ Commands No of Cycles Table 4. Commands 1+ Read/Reset Bus Operations 1st 2nd 3rd Add Data Add Data Add X F0h 4th 5th 6th 7th Dat Add Data Add Data Add Data Add Data a Read Memory Array until a new write cycle is initiated. AAh 2AAh 55h CFI Query 1+ 98h Auto Select 3+ 555h AAh 2AAh 55h 555h 90h Set Configuration Register 4 555h AAh 2AAh 55h 555h 60h CRD 03h Program 4 555h AAh 2AAh 55h 555h A0h PD Double Word Program 5 555h AAh 2AAh 55h 555h 40h PA1 PD1 PA2 PD2 Quadruple Word Program 5 555h AAh 2AAh 55h 555h 50h PA1 PD1 PA2 PD2 Enter Bypass Mode 3 555h AAh 2AAh 55h 555h 20h Exit Bypass Mode 2 X 90h X 00h Program in Bypass Mode 2 X A0h PA PD Double Word Program in Bypass Mode 3 X 40h PA1 PD1 PA2 PD2 Quadruple Word Program in Bypass Mode 3 X 50h PA1 PD1 PA2 PD2 PA3 PD3 Block Lock 4 555h AAh 2AAh 55h 555h 60h BA 01h Block Unlock 4 555h AAh 2AAh 55h 555h 60h BA D0h Block Lock-Down 4 555h AAh 2AAh 55h 555h 60h BA 2Fh Block Erase 6+ 555h AAh 2AAh 55h 555h 80h 555h AAh 2AAh 55h BA 30h Bank Erase 6 555h AAh 2AAh 55h 555h 80h 555h AAh 2AAh 55h BA 10h Erase Suspend 1 X B0h Read until Toggle stops, then read all the data needed from any Blocks not being erased then Resume Erase. Erase Resume 1 BA 30h Read Data Polling or Toggle Bits until Erase completes or Erase is suspended another time Protection Register Program 4 555h 55h 555h F0h Read Memory Array until a new write cycle is initiated. 3+ 555h Read CFI and Electronic Signature until a Read/Reset command is issued. AAh 2AAh 55h Read Protection Register, Block Protection or Configuration Register Status until a Read/Reset command is issued. PA Read Data Polling or Toggle Bit until Program completes. PA3 PD3 PA4 PD4 Read Data Polling or Toggle Bit until Program completes. PA C0h PA PA4 PD4 PD Note: X = Don’t Care, BA = Block Address, PA = Program address, PD = Program Data, CRD = Configuration Register Data. For Coded cycles address inputs A12-A20 are don’t care. 13/43 M59DR032EA, M59DR032EB Table 5. Read Electronic Signature Code Device E G W A0 A1 A7-A2 A8-A20 DQ15-DQ0 VIL VIL VIH VIL VIL 0 X 0020h M59DR032EA VIL VIL VIH VIH VIL 0 X 00A0h M59DR032EB VIL VIL VIH VIH VIL 0 X 00A1h Manufacturer Code Device Code Note: X = Don’t care. Table 6. Read Block Protection E G W A0 A1 A20-A12 A7-A2 Other Addresses DQ0 DQ1 DQ15-DQ2 Locked Block VIL VIL VIH VIL VIH Block Address 0 X 1 0 0000h Unlocked Block VIL VIL VIH VIL VIH Block Address 0 X 0 0 0000h Locked-Down Block VIL VIL VIH VIL VIH Block Address 0 X X 1 0000h Block Status Note: X = Don’t care. Table 7. Configuration Register E G W A0 A1 A7-A2 Other Addresses DQ10 DQ9-DQ0 DQ15-DQ11 Reset VIL VIL VIH VIH VIH 0 X 0 Don’t Care Reset/Power-Down VIL VIL VIH VIH VIH 0 X 1 Don’t Care RP Function Note: X = Don’t care. 14/43 M59DR032EA, M59DR032EB Table 8. Read Protection Register Word E G W A20-A8 A7-0 DQ15-8 DQ7-3 DQ2 DQ1 DQ0 Lock VIL VIL VIH X 80h XXh 00000b Security prot.data OTP prot.data 0 Unique ID 0 VIL VIL VIH X 81h ID data ID data ID data ID data ID data Unique ID 1 VIL VIL VIH X 82h ID data ID data ID data ID data ID data Unique ID 2 VIL VIL VIH X 83h ID data ID data ID data ID data ID data Unique ID 3 VIL VIL VIH X 84h ID data ID data ID data ID data ID data OTP 0 VIL VIL VIH X 85h OTP data OTP data OTP data OTP data OTP data OTP 1 VIL VIL VIH X 86h OTP data OTP data OTP data OTP data OTP data OTP 2 VIL VIL VIH X 87h OTP data OTP data OTP data OTP data OTP data OTP 3 VIL VIL VIH X 88h OTP data OTP data OTP data OTP data OTP data Note: X= Don’t care. Table 9. Program, Erase Times and Program, Erase Endurance Cycles M59DR032E Parameter Typ Typical after 100k W/E Cycles Unit Max 2.5 0.3 1 s 4 0.8 3 s Bank Erase (Preprogrammed, Bank A) 3 6 s Bank Erase (Preprogrammed, Bank B) 20 30 s Chip Program (1) 20 25 s Chip Program (Double Word, VPP = 12V) (1) 8 s Min Parameter Block (4 KWord) Erase (Preprogrammed) Main Block (32 KWord) Erase (Preprogrammed) Word Program (2) 100 10 µs Double Word Program (VPP = 12V) 100 8 µs Quadruple Word Program (VPP = 12V) 100 8 µs Program/Erase Cycles (per Block) 100,000 cycles Note: 1. Excludes the time needed to execute the sequence for program command. 2. Same timing value if V PP = 12V 15/43 M59DR032EA, M59DR032EB BLOCK LOCKING The M59DR032E features an instant, individual block locking scheme that allows any block to be locked or unlocked with no latency. This locking scheme has two levels of protection. ■ Lock/Unlock - this first level allows softwareonly control of block locking. ■ Lock-Down - this second level requires hardware interaction before locking can be changed. The protection status of each block can be set to Locked, Unlocked, and Lock-Down. Table 10, defines all of the possible protection states (WP, DQ1, DQ0). Reading a Block’s Lock Status The lock status of every block can be read in the Auto Select mode of the device. Subsequent reads at the address specified in Table 6, will output the protection status of that block. The lock status is represented by DQ0 and DQ1. DQ0 indicates the Block Lock/Unlock status and is set by the Lock command and cleared by the Unlock command. It is also automatically set when entering Lock-Down. DQ1 indicates the Lock-Down status and is set by the Lock-Down command. It cannot be cleared by software, only by a hardware reset or power-down. The following sections explain the operation of the locking system. Locked State The default status of all blocks on power-up or after a hardware reset is Locked (states (0,0,1) or (1,0,1)). Locked blocks are fully protected from any program or erase. Any program or erase operations attempted on a locked block will reset the device to Read Array mode. The Status of a Locked block can be changed to Unlocked or Lock-Down using the appropriate software commands. An Unlocked block can be Locked by issuing the Lock command. Unlocked State Unlocked blocks (states (0,0,0), (1,0,0) (1,1,0)), can be programmed or erased. All unlocked blocks return to the Locked state after a hardware reset or when the device is powered-down. The status of an unlocked block can be changed to Locked or Locked-Down using the appropriate 16/43 software commands. A locked block can be unlocked by issuing the Unlock command. Lock-Down State Blocks that are Locked-Down (state (0,1,x))are protected from program and erase operations (as for Locked blocks) but their protection status cannot be changed using software commands alone. A Locked or Unlocked block can be Locked-Down by issuing the Lock-Down command. LockedDown blocks revert to the Locked state when the device is reset or powered-down. The Lock-Down function is dependent on the WP input pin. When WP=0 (VIL), the blocks in the Lock-Down state (0,1,x) are protected from program, erase and protection status changes. When WP=1 (V IH) the Lock-Down function is disabled (1,1,1) and Locked-Down blocks can be individually unlocked to the (1,1,0) state by issuing the software command, where they can be erased and programmed. These blocks can then be re-locked (1,1,1) and unlocked (1,1,0) as desired while WP remains High. When WP is low, blocks that were previously Locked-Down return to the Lock-Down state (0,1,x) regardless of any changes made while WP was High. Device reset or power-down resets all blocks, including those in Lock-Down, to the Locked state. Locking Operations During Erase Suspend Changes to block lock status can be performed during an erase suspend by using the standard locking command sequences to unlock, lock or lock-down a block. This is useful in the case when another block needs to be updated while an erase operation is in progress. To change block locking during an erase operation, first write the Erase Suspend command, then check the status register until it indicates that the erase operation has been suspended. Next write the desired Lock command sequence to a block and the lock status will be changed. After completing any desired lock, read, or program operations, resume the erase operation with the Erase Resume command. If a block is locked or locked-down during an erase suspend of the same block, the locking status bits will be changed immediately, but when the erase is resumed, the erase operation will complete. M59DR032EA, M59DR032EB Table 10. Lock Status Current Protection Status(1) (WP, DQ1, DQ0) Next Protection Status(1) (WP, DQ1, DQ0) Current State Program/Erase Allowed After Block Lock Command After Block Unlock Command After Block Lock-Down Command After WP transition 1,0,0 yes 1,0,1 1,0,0 1,1,1 0,0,0 1,0,1(2) no 1,0,1 1,0,0 1,1,1 0,0,1 1,1,0 yes 1,1,1 1,1,0 1,1,1 0,1,1 1,1,1 no 1,1,1 1,1,0 1,1,1 0,1,1 0,0,0 yes 0,0,1 0,0,0 0,1,1 1,0,0 0,0,1(2) no 0,0,1 0,0,0 0,1,1 1,0,1 0,1,1 no 0,1,1 0,1,1 0,1,1 1,1,1 or 1,1,0 (3) Note: 1. The lock status is defined by the write protect pin and by DQ1 (‘1’ for a locked-down block) and DQ0 (‘1’ for a locked block) as read in the Auto Select command with A1 = VIH and A0 = VIL. 2. All blocks are locked at power-up, so the default configuration is 001 or 101 according to WP status. 3. A WP transition to VIH on a locked block will restore the previous DQ0 value, giving a 111 or 110. 17/43 M59DR032EA, M59DR032EB STATUS REGISTER The Status Register provides information on the current or previous Program or Erase operations. Bus Read operations from any address within the bank, always read the Status Register during Program and Erase operations. The various bits convey information about the status and any errors of the operation. The bits in the Status Register are summarized in Table 12, Status Register Bits. Refer to Tables 11 and 12 in conjunction with the following text descriptions. Data Polling Bit (DQ7). When Program operations are in progress, the Data Polling bit outputs the complement of the bit being programmed on DQ7. For a Double Word Program operation, it is the complement of DQ7 for the last Word written to the Command Interface. During an Erase operation, it outputs a ’0’. After completion of the operation, DQ7 will output the bit last programmed or a ’1’ after erasing. Data Polling is valid and only effective during P/ E.C. operation, that is after the fourth W pulse for programming or after the sixth W pulse for erase. It must be performed at the address being programmed or at an address within the block being erased. See Figure 21 for the Data Polling flowchart and Figure 12 for the Data Polling waveforms. DQ7 will also flag an Erase Suspend by switching from ’0’ to ’1’ at the start of the Erase Suspend. In order to monitor DQ7 in the Erase Suspend mode an address within a block being erased must be provided. DQ7 will output ’1’ if the read is attempted on a block being erased and the data value on other blocks. During a program operation in Erase Suspend, DQ7 will have the same behavior as in the normal program. Toggle Bit (DQ6). When Program or Erase operations are in progress, successive attempts to read DQ6 will output complementary data. DQ6 will toggle following the toggling of either G or E. The operation is completed when two successive reads give the same output data. The next read will output the bit last programmed or a ’1’ after erasing. The Toggle Bit DQ6 is valid only during P/E.C. operations, that is after the fourth W pulse for programming or after the sixth W pulse for Erase. DQ6 will be set to ’1’ if a read operation is attempted on an Erase Suspend block. When erase is suspended DQ6 will toggle during programming operations in a block different from the block in Erase Suspend. 18/43 See Figure 15 for Toggle Bit flowchart and Figure 13 for Toggle Bit waveforms. Toggle Bit (DQ2). Toggle Bit DQ2, together with DQ6, can be used to determine the device status during erase operations. During Erase Suspend a read from a block being erased will cause DQ2 to toggle. A read from a block not being erased will output data. DQ2 will be set to '1' during program operation and to ‘0’ in erase operation. If a read operation is addressed to a block where an erase error has occurred, DQ2 will toggle. Error Bit (DQ5). The Error Bit can be used to identify if an error occurs during a program or erase operation. The Error Bit is set to ‘1’ when a program or erase operation has failed. When it is set to ‘0’ the program or erase operation was successful. If any Program command is used to try to set a bit from ‘0’ to ‘1’ Status Register Error bit DQ5 will be set to ‘1’, only if VPP is in the range of 11.4V to 12.6V. The Error Bit is reset by a Read/Reset command. Erase Timer Bit (DQ3). The Erase Timer bit is used to indicate the timeout period for an erase operation. When the last block Erase command has been entered to the Command Interface and it is waiting for the erase operation to start, the Erase Timer Bit is set to ‘0’. When the erase timeout period is finished, DQ3 returns to ‘1’, (80µs to 120µs). DQ0, DQ1 and DQ4 are reserved for future use and should be masked. Table 11. Polling and Toggle Bits Mode DQ7 DQ6 DQ2 DQ7 Toggle 1 Erase 0 Toggle N/A Erase Suspend Read (in Erase Suspend block) 1 1 Toggle Erase Suspend Read (outside Erase Suspend block) DQ7 DQ6 DQ2 Erase Suspend Program DQ7 Toggle 1 Program M59DR032EA, M59DR032EB Table 12. Status Register Bits DQ 7 Name Data Polling Logic Level ’1’ Erase complete or erase block in Erase Suspend. ’0’ Erase in progress DQ Program complete or data of non erase block during Erase Suspend. DQ Program in progress(2) ’-1-0-1-0-1-0-1-’ DQ 6 Toggle Bit ’-1-1-1-1-1-1-1-’ 5 4 3 Erase or Program in progress Program complete Erase complete or Erase Suspend on currently addressed block Note Indicates the P/E.C. status, check during Program or Erase, and on completion before checking bits DQ5 for Program or Erase success. Successive reads output complementary data on DQ6 while Programming or Erase operations are in progress. DQ6 remains at constant level when P/E.C. operations are completed or Erase Suspend is acknowledged. ’1’ Program or Erase Error ’0’ Program or Erase in progress ’1’ Erase Timeout Period Expired P/E.C. Erase operation has started. Only possible command entry is Erase Suspend ’0’ Erase Timeout Period in progress An additional block to be erased in parallel can be entered to the P/E.C provided that it belongs to the same bank Error Bit This bit is set to ’1’ in the case of Programming or Erase failure. Reserved Erase Time Bit ’-1-0-1-0-1-0-1-’ 2 Definition Toggle Bit 1 DQ 1 Reserved 0 Reserved Erase Suspend read in the Erase Suspended Block. Erase Error due to the currently addressed block (when DQ5 = ’1’). Program in progress or Erase complete. Indicates the erase status and allows to identify the erased block. Erase Suspend read on non Erase Suspend block. Note: 1. Logic level ’1’ is High, ’0’ is Low. -0-1-0-0-0-1-1-1-0- represent bit value in successive read operations. 2. In case of double word program DQ7 refers to the last word input. 19/43 M59DR032EA, M59DR032EB MAXIMUM RATING Stressing the device above the rating listed in the Absolute Maximum Ratings table may cause permanent damage to the device. These are stress ratings only and operation of the device at these or any other conditions above those indicated in the Operating sections of this specification is not im- plied. Exposure to Absolute Maximum Rating conditions for extended periods may affect device reliability. Refer also to the STMicroelectronics SURE Program and other relevant quality documents. Table 13. Absolute Maximum Ratings Symbol Value Unit Ambient Operating Temperature (1) –40 to 85 °C TBIAS Temperature Under Bias –40 to 125 °C TSTG Storage Temperature –55 to 155 °C VIO (2) Input or Output Voltage –0.5 to VDDQ+0.5 V Supply Voltage –0.5 to 2.7 V Program Voltage –0.5 to 13 V TA VDD, VDDQ VPP Parameter Note: 1. Depends on range. 2. Minimum Voltage may undershoot to –2V during transition and for less than 20ns. 20/43 M59DR032EA, M59DR032EB DC AND AC PARAMETERS This section summarizes the operating measurement conditions, and the DC and AC characteristics of the device. The parameters in the DC and AC characteristics Tables that follow, are derived from tests performed under the Measurement Conditions summarized in Table 14, Operating and AC Measurement Conditions. Designers should check that the operating conditions in their circuit match the operating conditions when relying on the quoted parameters. Table 14. Operating and AC Measurement Conditions M59DR032EA, M59DR032EB 85 100 120 Parameter Units Min Max Min Max Min Max VDD Supply Voltage 1.8 2.2 1.65 2.2 1.65 2.2 V VDDQ Supply Voltage 1.8 2.2 1.65 2.2 1.65 2.2 V VPP Supply Voltage 11.4 12.6 11.4 12.6 11.4 12.6 V Ambient Operating Temperature – 40 85 – 40 85 – 40 85 °C Load Capacitance (CL) 30 Input Rise and Fall Times 30 30 4 Input Pulse Voltages Input and Output Timing Ref. Voltages 4 pF 4 ns 0 to VDDQ 0 to VDDQ 0 to VDDQ V VDDQ/2 VDDQ/2 VDDQ/2 V Figure 5. Testing Input/Output Waveforms Figure 6. AC Testing Load Circuit VDDQ / 2 VDDQ VDDQ/2 1N914 0V AI06186 3.3kΩ DEVICE UNDER TEST OUT CL CL includes JIG capacitance AI06187 Table 15. Capacitance Symbol CIN COUT Parameter Input Capacitance Output Capacitance Test Condition Min Max Unit VIN = 0V 6 pF VOUT = 0V 12 pF Note: Sampled only, not 100% tested. 21/43 M59DR032EA, M59DR032EB Table 16. DC Characteristics Symbol Parameter Test Condition Min Typ Max Unit 0V ≤ VIN ≤ VDD ±1 µA 0V ≤ VOUT ≤ VDD ±5 µA ILI Input Leakage Current ILO Output Leakage Current ICC1 Supply Current (Read Mode) E = VIL, G = VIH, f = 6MHz 3 6 mA ICC2 Supply Current (Power-Down) RP = VSS ± 0.2V 2 10 µA ICC3 Supply Current (Standby) E = VDD ± 0.2V 10 50 µA ICC4 (1) Supply Current (Program or Erase) Word Program, Block Erase in progress 10 20 mA ICC5 (1) Supply Current (Dual Bank) Program/Erase in progress in one Bank, Read in the other Bank 13 26 mA VPP = 12V ± 0.6V 2 5 mA VPP ≤ VDD 0.2 5 µA VPP = 12V ± 0.6V 100 400 µA IPP1 VPP Supply Current (Program or Erase) IPP2 VPP Supply Current (Standby or Read) VIL Input Low Voltage –0.5 0.4 V VIH Input High Voltage VDDQ –0.4 VDDQ + 0.4 V VOL Output Low Voltage IOL = 100µA 0.1 V VOH Output High Voltage CMOS IOH = –100µA VPP (2,3) VPP Supply Voltage (Program or Erase) VDDQ –0.1 Double Word Program Note: 1. Sampled only, not 100% tested. 2. VPP may be connected to 12V power supply for a total of less than 100 hrs. 3. For standard program/erase operation VPP is don’t care. 22/43 V –0.4 VDD + 0.4 V 11.4 12.6 V Note: Write Enable (W) = High. DQ0-DQ15 G E A0-A20 tAVQV tGLQV tGLQX tELQX tELQV VALID tAVAV VALID tGHQZ tGHQX tEHQX tEHQZ tAXQX AI06190 M59DR032EA, M59DR032EB Figure 7. Random Read AC Waveforms 23/43 24/43 DQ0-DQ15 G E A0-A1 A2-A20 tAVQV tELQV VALID VALID tGLQV VALID tAVQV1 VALID VALID VALID VALID tEHQX VALID tGHQX VALID tEHQZ tGHQZ AI06191 M59DR032EA, M59DR032EB Figure 8. Page Read AC Waveforms M59DR032EA, M59DR032EB Table 17. Read AC Characteristics M59DR032E Symbol Alt Parameter Test Condition 85 Min 100 Max Min 120 Max Min Unit Max tAVAV tRC Address Valid to Next Address Valid E = VIL, G = VIL tAVQV tACC Address Valid to Output Valid (Random) E = VIL, G = VIL 85 100 120 ns tAVQV1 tPAGE Address Valid to Output Valid (Page) E = VIL, G = VIL 30 35 45 ns tELQX (1) tLZ Chip Enable Low to Output Transition G = VIL tELQV (2) tCE Chip Enable Low to Output Valid G = VIL tGLQX (1) tOLZ Output Enable Low to Output Transition E = VIL tGLQV (2) tOE Output Enable Low to Output Valid E = VIL tEHQX tOH Chip Enable High to Output Transition G = VIL tEHQZ (1) tHZ Chip Enable High to Output Hi-Z G = VIL tGHQX tOH Output Enable High to Output Transition E = VIL tGHQZ (1) tDF Output Enable High to Output Hi-Z E = VIL tAXQX tOH Address Transition to Output Transition E = VIL, G = VIL 100 85 0 0 0 0 0 0 0 0 0 0 0 0 ns ns 35 0 ns ns 35 25 20 ns ns 35 25 20 ns 120 25 25 ns 0 100 85 0 120 ns ns Note: 1. Sampled only, not 100% tested. 2. G may be delayed by up to t ELQV - tGLQV after the falling edge of E without increasing tELQV . 25/43 M59DR032EA, M59DR032EB Figure 9. Write AC Waveforms, Write Enable Controlled tAVAV A0-A20 VALID tWLAX tAVWL tWHEH E tELWL tWHGL G tGHWL tWLWH W tWHWL tDVWH DQ0-DQ15 tWHDX VALID VDD tVDHEL AI06192 Note: Addresses are latched on the falling edge of W, Data is latched on the rising edge of W Table 18. Write AC Characteristics, Write Enable Controlled M59DR032E Symbol Alt Parameter 85 Min 100 Max Min 120 Max Min Unit Max tAVAV tWC Address Valid to Next Address Valid 85 100 120 ns tELWL tCS Chip Enable Low to Write Enable Low 0 0 0 ns tWLWH tWP Write Enable Low to Write Enable High 50 50 50 ns tDVWH tDS Input Valid to Write Enable High 40 50 50 ns tWHDX tDH Write Enable High to Input Transition 0 0 0 ns tWHEH tCH Write Enable High to Chip Enable High 0 0 0 ns tWHWL tWPH Write Enable High to Write Enable Low 30 30 30 ns tAVWL tAS Address Valid to Write Enable Low 0 0 0 ns tWLAX tAH Write Enable Low to Address Transition 50 50 50 ns Output Enable High to Write Enable Low 0 0 0 ns tGHWL tVDHEL tVCS VDD High to Chip Enable Low 50 50 50 µs tWHGL tOEH Write Enable High to Output Enable Low 30 30 30 ns tPLQ7V 26/43 RP Low to Reset Complete During Program/Erase 15 15 15 µs M59DR032EA, M59DR032EB Figure 10. Write AC Waveforms, Chip Enable Controlled tAVAV A0-A20 VALID tELAX tAVEL tEHWH W tWLEL tEHGL G tGHEL tELEH E tEHEL tDVEH DQ0-DQ15 tEHDX VALID VDD tVDHWL AI06193 Note: Addresses are latched on the falling edge of E, Data is latched on the rising edge of E. Table 19. Write AC Characteristics, Chip Enable Controlled M59DR032E Symbol Alt Parameter 85 Min 100 Max Min 120 Max Min Unit Max tAVAV tWC Address Valid to Next Address Valid 85 100 120 ns tWLEL tWS Write Enable Low to Chip Enable Low 0 0 0 ns tELEH tCP Chip Enable Low to Chip Enable High 50 50 50 ns tDVEH tDS Input Valid to Chip Enable High 40 50 50 ns tEHDX tDH Chip Enable High to Input Transition 0 0 0 ns tEHWH tWH Chip Enable High to Write Enable High 0 0 0 ns tEHEL tCPH Chip Enable High to Chip Enable Low 30 30 30 ns tAVEL tAS Address Valid to Chip Enable Low 0 0 0 ns tELAX tAH Chip Enable Low to Address Transition 50 50 50 ns Output Enable High Chip Enable Low 0 0 0 ns tGHEL tVDHWL tVCS VDD High to Write Enable Low 50 50 50 µs tEHGL tOEH Chip Enable High to Output Enable Low 30 30 30 ns tPLQ7V RP Low to Reset Complete During Program/Erase 15 15 15 µs 27/43 M59DR032EA, M59DR032EB Figure 11. Reset/Power-Down AC Waveform READ PROGRAM / ERASE W DQ7 DQ7 VALID VALID RP tPLPH tPLQ7V tPHQ7V AI06194 Table 20. Reset/Power-Down AC Characteristics M59DR032E Symbol Alt Parameter Test Condition 85 Min 100 Max Min 120 Max Min Unit Max tPHQ7V1 RP High to Data Valid (Read Mode) 150 150 150 ns tPHQ7V2 RP High to Data Valid (Power-Down enabled) 50 50 50 µs During Program 10 10 10 µs During Erase 20 20 20 µs tPLQ7V tPLPH 28/43 RP Low to Reset Complete tRP RP Pulse Width 50 50 50 ns DQ0-DQ6/ DQ8-DQ15 DQ7 W G E A0-A20 LAST WRITE CYCLE OF PROGRAM OR ERASE INSTRUCTION DATA POLLING READ CYCLES tWHQ7V tEHQ7V tELQV tAVQV tQ7VQV IGNORE DQ7 DATA POLLING (LAST) CYCLE tGLQV ADDRESS (WITHIN BLOCKS) VALID VALID AI06195 MEMORY ARRAY READ CYCLE M59DR032EA, M59DR032EB Figure 12. Data Polling DQ7 AC Waveforms 29/43 30/43 DATA TOGGLE READ CYCLE Note: All other timings are as a normal Read cycle. LAST WRITE CYCLE OF PROGRAM OF ERASE INSTRUCTION DQ0-DQ1,DQ3-DQ5, DQ7-DQ15 DQ6,DQ2 W G E A0-A20 DATA TOGGLE READ CYCLE IGNORE STOP TOGGLE tWHQV tEHQV tAVQV MEMORY ARRAY READ CYCLE VALID VALID tGLQV tELQV VALID AI06196 M59DR032EA, M59DR032EB Figure 13. Data Toggle DQ6, DQ2 AC Waveforms M59DR032EA, M59DR032EB Table 21. Data Polling and Toggle Bits AC Characteristics M59DR032E Symbol tWHQ7V Parameter Unit Write Enable High to DQ7 Valid (Program, W Controlled) Write Enable High to DQ7 Valid (Block Erase, W Controlled) Chip Enable High to DQ7 Valid (Program, E Controlled) Min Max 8 100 µs 0.8 4 s 8 100 µs 0.8 4 s 0 ns 8 100 µs 0.8 4 s 8 100 µs 0.8 4 s tEHQ7V Chip Enable High to DQ7 Valid (Block Erase, E Controlled) tQ7VQV Q7 Valid to Output Valid (Data Polling) Write Enable High to Output Valid (Program) tWHQV Write Enable High to Output Valid (Block Erase) tEHQV Chip Enable High to Output Valid (Program) Chip Enable High to Output Valid (Block Erase) Note: All other timings are defined in Read AC Characteristics Figure 14. Data Polling Flowchart Figure 15. Data Toggle Flowchart START START READ DQ5 & DQ6 READ DQ5 & DQ7 at VALID ADDRESS DQ7 = DATA DQ6 = TOGGLES YES NO NO YES NO DQ5 =1 DQ5 =1 YES YES READ DQ7 READ DQ6 DQ7 = DATA NO YES DQ6 = TOGGLES NO NO YES FAIL PASS FAIL PASS AI06197 AI06198 31/43 M59DR032EA, M59DR032EB PACKAGE MECHANICAL Figure 16. TFBGA48 7x12mm - 8x6 ball array, 0.75 mm pitch, Package Outline D D1 FD SD FE SE E1 E ddd BALL "A1" A e A2 b A1 BGA-Z03 Note: Drawing is not to scale. Table 22. TFBGA48 7x12mm - 8x6 ball array, 0.75 mm pitch, Package Mechanical Data millimeters inches Symbol Typ Min A A1 Typ Min 1.350 0.300 0.200 A2 0.350 0.300 0.550 Max 0.0531 0.0118 0.0079 1.000 b 0.0138 0.0394 0.0118 0.0217 D 7.000 6.900 7.100 0.2756 0.2717 0.2795 D1 5.250 – – 0.2067 – – ddd 32/43 Max 0.100 0.0039 E 12.000 11.900 12.100 0.4724 0.4685 0.4764 E1 3.750 – – 0.1476 – – e 0.750 – – 0.0295 – – SD 0.375 – – 0.0148 – – SE 0.375 – – 0.0148 – – FE 4.125 – – 0.1624 – – FD 0.875 – – 0.0344 – – M59DR032EA, M59DR032EB Figure 17. TFBGA48 7x7mm - 8x6 ball array, 0.75 mm pitch, Package Outline D FD D1 SD FE SE E E1 e ddd BALL "A1" e b A A2 A1 BGA-Z09 Note: Drawing is not to scale. Table 23. TFBGA48 7x7mm - 8x6 ball array, 0.75 mm pitch, Package Mechanical Data millimeters inches Symbol Typ Min A Max Typ Min 1.200 A1 Max 0.0472 0.200 0.0079 A2 0.800 0.0315 b 0.400 0.350 0.450 0.0157 0.0138 0.0177 D 7.000 6.900 7.100 0.2756 0.2717 0.2795 D1 5.250 – – 0.2067 – – ddd 0.100 0.0039 E 7.000 6.900 7.100 0.2756 0.2717 0.2795 E1 3.750 – – 0.1476 – – e 0.750 – – 0.0295 – – FD 0.875 – – 0.0344 – – FE 1.625 – – 0.0640 – – SD 0.375 – – 0.0148 – – SE 0.375 – – 0.0148 – – 33/43 M59DR032EA, M59DR032EB Figure 18. TFBGA48 Daisy Chain - Package Connections (Top view through package) 1 2 3 4 5 6 7 8 A B C D E F AI03079 Figure 19. TFBGA48 Daisy Chain - PCB Connection Proposal (Top view through package) 1 A 2 3 4 5 6 7 8 START POINT B C D E F END POINT AI03080 34/43 M59DR032EA, M59DR032EB PART NUMBERING Table 24. Ordering Information Scheme Example: M59DR032EA 10 ZB 6 T Device Type M59 Architecture D = Dual Bank, Page Mode Operating Voltage R = 1.8V Device Function 032EA = 32 Mbit (x16), Dual Bank: 1/8-7/8 partitioning, Top Boot 032EB = 32 Mbit (x16), Dual Bank: 1/8-7/8 partitioning, Bottom Boot Random Speed 85 = 85ns 10 = 100ns 12 = 120ns Package ZB = TFBGA48: 7 x 12mm, 0.75mm pitch ZF = TFBGA48: 7 x 7mm, 0.75mm pitch Temperature Range 1 = 0 to 70°C 6 = –40 to 85°C Option blank = Standard Packing T = Tape & Reel packing E = Lead-Free Package, Standard Packing F = Lead-Free Package, Tape & Reel Packing 35/43 M59DR032EA, M59DR032EB Table 25. Daisy Chain Ordering Scheme Example: M59DR032E -ZB T Device Type M59DR032E Daisy Chain ZB = TFBGA48: 7x12mm, 0.75mm pitch ZF = TFBGA48: 7 x 7mm, 0.75mm pitch Option blank = Standard Packing T = Tape & Reel packing E = Lead-Free Package, Standard Packing F = Lead-Free Package, Tape & Reel Packing Devices are shipped from the factory with the memory content bits erased to ’1’. For a list of available options (Speed, Package, etc.) or for further information on any aspect of this device, please contact the ST Sales Office nearest to you. 36/43 M59DR032EA, M59DR032EB APPENDIX A. BLOCK ADDRESSES Table 26. Bank A, Top Boot Block Addresses M59DR032EA 38 32 130000h-137FFFh 37 32 128000h-12FFFFh 36 32 120000h-127FFFh # Size (KWord) Address Range 14 4 1FF000h-1FFFFFh 35 32 118000h-11FFFFh 13 4 1FE000h-1FEFFFh 34 32 110000h-117FFFh 12 4 1FD000h-1FDFFFh 33 32 108000h-10FFFFh 32 100000h-107FFFh 11 4 1FC000h-1FCFFFh 32 10 4 1FB000h-1FBFFFh 31 32 0F8000h-0FFFFFh 9 4 1FA000h-1FAFFFh 30 32 0F0000h-0F7FFFh 8 4 1F9000h-1F9FFFh 29 32 0E8000h-0EFFFFh 32 0E0000h-0E7FFFh 7 4 1F8000h-1F8FFFh 28 6 32 1F0000h-1F7FFFh 27 32 0D8000h-0DFFFFh 5 32 1E8000h-1EFFFFh 26 32 0D0000h-0D7FFFh 4 32 1E0000h-1E7FFFh 25 32 0C8000h-0CFFFFh 32 0C0000h-0C7FFFh 3 32 1D8000h-1DFFFFh 24 2 32 1D0000h-1D7FFFh 23 32 0B8000h-0BFFFFh 1 32 1C8000h-1CFFFFh 22 32 0B0000h-0B7FFFh 0 32 1C0000h-1C7FFFh 21 32 0A8000h-0AFFFFh 20 32 0A0000h-0A7FFFh 19 32 098000h-09FFFFh Table 27. Bank B, Top Boot Block Addresses M59DR032EA # Size (KWord) 18 32 090000h-097FFFh Address Range 17 32 088000h-08FFFFh 32 080000h-087FFFh 55 32 1B8000h-1BFFFFh 16 54 32 1B0000h-1B7FFFh 15 32 078000h-07FFFFh 53 32 1A8000h-1AFFFFh 14 32 070000h-077FFFh 52 32 1A0000h-1A7FFFh 13 32 068000h-06FFFFh 32 060000h-067FFFh 51 32 198000h-19FFFFh 12 50 32 190000h-197FFFh 11 32 058000h-05FFFFh 49 32 188000h-18FFFFh 10 32 050000h-057FFFh 48 32 180000h-187FFFh 9 32 048000h-04FFFFh 32 040000h-047FFFh 47 32 178000h-17FFFFh 8 46 32 170000h-177FFFh 7 32 038000h-03FFFFh 45 32 168000h-16FFFFh 6 32 030000h-037FFFh 44 32 160000h-167FFFh 5 32 028000h-02FFFFh 32 020000h-027FFFh 43 32 158000h-15FFFFh 4 42 32 150000h-157FFFh 3 32 018000h-01FFFFh 41 32 148000h-14FFFFh 2 32 010000h-017FFFh 40 32 140000h-147FFFh 1 32 008000h-00FFFFh 138000h-13FFFFh 0 32 000000h-007FFFh 39 32 37/43 M59DR032EA, M59DR032EB Table 28. Bank B, Bottom Boot Block Addresses M59DR032EB 18 32 0D0000h-0D7FFFh 17 32 0C8000h-0CFFFFh # Size (KWord) Address Range 16 32 0C0000h-0C7FFFh 55 32 1F8000h-1FFFFFh 15 32 0B8000h-0BFFFFh 54 32 1F0000h-1F7FFFh 14 32 0B0000h-0B7FFFh 53 32 1E8000h-1EFFFFh 13 32 0A8000h-0AFFFFh 52 32 1E0000h-1E7FFFh 12 32 0A0000h-0A7FFFh 51 32 1D8000h-1DFFFFh 11 32 098000h-09FFFFh 50 32 1D0000h-1D7FFFh 10 32 090000h-097FFFh 49 32 1C8000h-1CFFFFh 9 32 088000h-08FFFFh 48 32 1C0000h-1C7FFFh 8 32 080000h-087FFFh 47 32 1B8000h-1BFFFFh 7 32 078000h-07FFFFh 46 32 1B0000h-1B7FFFh 6 32 070000h-077FFFh 45 32 1A8000h-1AFFFFh 5 32 068000h-06FFFFh 44 32 1A0000h-1A7FFFh 4 32 060000h-067FFFh 43 32 198000h-19FFFFh 3 32 058000h-05FFFFh 42 32 190000h-197FFFh 2 32 050000h-057FFFh 41 32 188000h-18FFFFh 1 32 048000h-04FFFFh 40 32 180000h-187FFFh 0 32 040000h-047FFFh 39 32 178000h-17FFFFh 38 32 170000h-177FFFh 37 32 168000h-16FFFFh 36 32 160000h-167FFFh # Size (KWord) Address Range 35 32 158000h-15FFFFh 14 32 038000h-03FFFFh 34 32 150000h-157FFFh 13 32 030000h-037FFFh 33 32 148000h-14FFFFh 12 32 028000h-02FFFFh 32 32 140000h-147FFFh 11 32 020000h-027FFFh 31 32 138000h-13FFFFh 10 32 018000h-01FFFFh 30 32 130000h-137FFFh 9 32 010000h-017FFFh 29 32 128000h-12FFFFh 8 32 008000h-00FFFFh 28 32 120000h-127FFFh 7 4 007000h-007FFFh 27 32 118000h-11FFFFh 6 4 006000h-006FFFh 26 32 110000h-117FFFh 5 4 005000h-005FFFh 25 32 108000h-10FFFFh 4 4 004000h-004FFFh 24 32 100000h-107FFFh 3 4 003000h-003FFFh 23 32 0F8000h-0FFFFFh 2 4 002000h-002FFFh 22 32 0F0000h-0F7FFFh 1 4 001000h-001FFFh 21 32 0E8000h-0EFFFFh 0 4 000000h-000FFFh 20 32 0E0000h-0E7FFFh 19 32 0D8000h-0DFFFFh 38/43 Table 29. Bank A, Bottom Boot Block Addresses M59DR032EB M59DR032EA, M59DR032EB APPENDIX B. COMMON FLASH INTERFACE The Common Flash Interface is a JEDEC approved, standardized data structure that can be read from the Flash memory device. It allows a system software to query the device to determine various electrical and timing parameters, density information and functions supported by the memory. The system can interface easily with the device, enabling the software to upgrade itself when necessary. When the Read CFI Query Command is issued the device enters CFI Query mode and the data structure is read from the memory. Tables 30, 31, 32 and 33 show the address used to retrieve each data. The Query data is always presented on the lowest order data outputs (DQ0-DQ7), the other outputs (DQ8-DQ15) are set to 0. The CFI data structure contains also a security area starting at address 81h. This area can be accessed only in read mode and it is impossible to change after it has been written by ST. Issue a Read command to return to Read mode. Table 30. Query Structure Overview Offset Sub-section Name Description 00h Reserved Reserved for algorithm-specific information 10h CFI Query Identification String Command set ID and algorithm data offset 1Bh System Interface Information Device timing & voltage information 27h Device Geometry Definition Flash device layout P Primary Algorithm-specific Extended Query table Additional information specific to the Primary Algorithm (optional) A Alternate Algorithm-specific Extended Query table Additional information specific to the Alternate Algorithm (optional) Table 31. CFI Query Identification String Offset Data Description 00h 0020h 01h 00A1h - bottom 00A0h - top 02h-0Fh reserved 10h 0051h Query Unique ASCII String "QRY" 11h 0052h Query Unique ASCII String "QRY" 12h 0059h Query Unique ASCII String "QRY" 13h 0002h 14h 0000h Primary Algorithm Command Set and Control Interface ID code 16 bit ID code defining a specific algorithm 15h offset = P = 0040h 16h 0000h 17h 0000h 18h 0000h 19h value = A = 0000h 1Ah 0000h Manufacturer Code Device Code Reserved Address for Primary Algorithm extended Query table Alternate Vendor Command Set and Control Interface ID Code second vendor - specified algorithm supported (note: 0000h means none exists) Address for Alternate Algorithm extended Query table note: 0000h means none exists 39/43 M59DR032EA, M59DR032EB Table 32. CFI Query System Interface Information Offset Data 1Bh 0017h VDD Logic Supply Minimum Program/Erase or Write voltage bit 7 to 4 BCD value in volts bit 3 to 0 BCD value in 100 millivolts 1Ch 0022h VDD Logic Supply Maximum Program/Erase or Write voltage bit 7 to 4 BCD value in volts bit 3 to 0 BCD value in 100 millivolts 0000h VPP [Programming] Supply Minimum Program/Erase voltage bit 7 to 4 HEX value in volts bit 3 to 0 BCD value in 100 millivolts Note: This value must be 0000h if no VPP pin is present 1Eh 00C0h VPP [Programming] Supply Maximum Program/Erase voltage bit 7 to 4 HEX value in volts bit 3 to 0 BCD value in 100 millivolts Note: This value must be 0000h if no VPP pin is present 1Fh 0004h Typical timeout per single byte/word program (multi-byte program count = 1), 2n µs (if supported; 0000h = not supported) 20h 0003h Typical timeout for maximum-size multi-byte program or page write, 2n µs (if supported; 0000h = not supported) 21h 000Ah Typical timeout per individual block erase, 2n ms (if supported; 0000h = not supported) 22h 0000h Typical timeout for full chip erase, 2n ms (if supported; 0000h = not supported) 23h 0003h Maximum timeout for byte/word program, 2n times typical (offset 1Fh) (0000h = not supported) 24h 0004h Maximum timeout for multi-byte program or page write, 2n times typical (offset 20h) (0000h = not supported) 25h 0002h Maximum timeout per individual block erase, 2n times typical (offset 21h) (0000h = not supported) 26h 0000h Maximum timeout for chip erase, 2n times typical (offset 22h) (0000h = not supported) 1Dh 40/43 Description M59DR032EA, M59DR032EB Table 33. Device Geometry Definition Offset Word Mode Data 27h 0016h 28h 0001h 29h 0000h 2Ah 0000h 2Bh 0000h 2Ch 0002h Description Device Size = 2n in number of bytes Flash Device Interface Code description: Asynchronous x16 Maximum number of bytes in multi-byte program or page = 2n Number of Erase Block Regions within device bit 7 to 0 = x = number of Erase Block Regions Note:1. x = 0 means no erase blocking, i.e. the device erases at once in "bulk." 2. x specifies the number of regions within the device containing one or more contiguous Erase Blocks of the same size. For example, a 128KB device (1Mb) having blocking of 16KB, 8KB, four 2KB, two 16KB, and one 64KB is considered to have 5 Erase Block Regions. Even though two regions both contain 16KB blocks, the fact that they are not contiguous means they are separate Erase Block Regions. 3. By definition, symmetrically block devices have only one blocking region. M59DR032EA M59DR032EA Erase Block Region Information 2Dh 003Eh 2Eh 0000h 2Fh 0000h 30h 0001h 31h 0007h 32h 0000h 33h 0020h 34h 0000h M59DR032EB M59DR032EB 2Dh 0007h 2Eh 0000h 2Fh 0020h 30h 0000h 31h 003Eh 32h 0000h 33h 0000h 34h 0001h bit 31 to 16 = z, where the Erase Block(s) within this Region are (z) times 256 bytes in size. The value z = 0 is used for 128 byte block size. e.g. for 64KB block size, z = 0100h = 256 => 256 * 256 = 64K bit 15 to 0 = y, where y+1 = Number of Erase Blocks of identical size within the Erase Block Region: e.g. y = D15-D0 = FFFFh => y+1 = 64K blocks [maximum number] y = 0 means no blocking (# blocks = y+1 = "1 block") Note: y = 0 value must be used with number of block regions of one as indicated by (x) = 0 41/43 M59DR032EA, M59DR032EB REVISION HISTORY Table 34. Document Revision History Date Version 05-Feb-2002 -01 First Issue -02 Document classified as Preliminary Data. Top and Bottom Device Codes modified, Program commands text clarified, Table 4, Commands modified, Table 9, Program and Erase Times modified, Status Register Error bit DQ5 text clarified, Table 21, Data Polling and Toggle Bits AC Characteristics modified. 2.1 Revision numbering modified: a minor revision will be indicated by incrementing the digit after the dot, and a major revision, by incrementing the digit before the dot (revision version 02 equals 2.0). Locked block condition at Reset specified in the Summary Description. Read CFI Query Command, Auto Select Command, Enter Bypass Mode Command, Block Erase Command, Bank Erase Command and Erase Suspend Command specified. Auto Select command modified in Table 4, Commands. States of lines A8-A20 modified in Table 5, Read Electronic Signature. States of lines A8-A20 modified in Table 8, Read Protection Register. Note corresponding to DQ3 at ‘0’ specified in Table 12, Status Register Bits. 04-Dec-2002 2.2 Figures 18 and 19 added (TFBGA48 Daisy Chain - Package Connections (Top view through package) and TFBGA48 Daisy Chain - PCB Connection Proposal (Top view through package), respectively). 85ns Speed Class added. 22-Apr-2003 3.0 Document promoted from Preliminary Data to full Datasheet status. TFBGA48, 7 x 7mm, 0.75mm pitch package added. 85ns Speed Class characterized. Performance of Bank Erase Command specified. 04-Apr-2002 05-Sep-2002 42/43 Revision Details M59DR032EA, M59DR032EB Information furnished is believed to be accurate and reliable. However, STMicroelectronics assumes no responsibility for the consequences of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of STMicroelectronics. Specifications mentioned in this publication are subject to change without notice. This publication supersedes and replaces all information previously supplied. STMicroelectronics products are not authorized for use as critical components in life support devices or systems without express written approval of STMicroelectronics. The ST logo is registered trademark of STMicroelectronics All other names are the property of their respective owners. © 2003 STMicroelectronics - All Rights Reserved STMicroelectronics GROUP OF COMPANIES Australia - Brazil - Canada- China - Finland - France - Germany - Hong Kong - India - Italy - Japan - Malaysia - Malta - Morocco Singapore - Spain - Sweden - Switzerland - United Kingdom - U.S.A. www.st.com 43/43