M58BW16F M58BW32F 16 or 32 Mbit (x32, Boot Block, Burst) 3.3V supply Flash memories Preliminary Data Features ■ Supply voltage – VDD = 2.7V to 3.6V (45ns) or VDD = 2.5V to 3.3V (55ns) – VDDQ = VDDQIN = 2.4V to 3.6V for I/O Buffers ■ High performance – Access times: 45 and 55ns – Synchronous Burst Reads – 75MHz Effective Zero Wait-State Burst Read – Asynchronous Page Reads ■ PQFP80 (T) BGA M58BW32F memory organization: – Eight 64 Kbit small parameter blocks – Four 128 Kbit large parameter blocks – Sixty-two 512 Kbit main blocks ■ M58BW16F memory organization: – Eight 64 Kbit parameter blocks – Thirty-one 512 Kbit main blocks ■ Hardware block protection – WP pin to protect any block combination from Program and Erase operations – PEN signal for Program/Erase Enable ■ Irreversible Modify protection (OTP like) on 128 Kbits: – Block 1 (bottom device) or Block 72 (top device) in the M58BW32F – Blocks 2 & 3 (bottom device) or Blocks 36 & 35 (top device) in the M58BW16F ■ Security – 64-bit Unique Device Identifier (UID) ■ Fast programming – Write to Buffer and Program capability ■ Optimized for FDI drivers – Common Flash Interface (CFI) – Fast Program/Erase Suspend feature in each block November 2006 LBGA80 (ZA) 10 x 8 ball array ■ Low power consumption – 100µA typical Standby current ■ Electronic signature – Manufacturer Code: 0020h – Top Device Codes: M58BW32FT: 8838h M58BW16FT: 883Ah – Bottom Device Codes: M58BW32FB: 8837h M58BW16FB: 8839h ■ Automotive Device Grade 3: – Temperature: –40 to 125°C – Automotive grade certified Rev 2 This is preliminary information on a new product now in development or undergoing evaluation. Details are subject to change without notice. 1/81 www.st.com 1 Contents M58BW16F, M58BW32F Contents 1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.1 2 3 Signal descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.1 Address Inputs (A0-Amax) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2 Data Inputs/Outputs (DQ0-DQ31) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3 Chip Enable (E) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.4 Output Enable (G) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.5 Output Disable (GD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.6 Write Enable (W) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.7 Reset/Power-Down (RP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.8 Program/Erase Enable (PEN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.9 Latch Enable (L) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.10 Burst Clock (K) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.11 Burst Address Advance (B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.12 Valid Data Ready (R) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.13 Write Protect (WP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.14 Supply Voltage (VDD) 2.15 Output Supply Voltage (VDDQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.16 Input Supply Voltage (VDDQIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.17 Ground (VSS and VSSQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.18 Don’t Use (DU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.19 Not Connected (NC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Bus operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1 2/81 Block Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Asynchronous Bus Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.1 Asynchronous Bus Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.2 Asynchronous Latch Controlled Bus Read . . . . . . . . . . . . . . . . . . . . . . 24 3.1.3 Asynchronous Page Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.4 Asynchronous Bus Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.5 Asynchronous Latch Controlled Bus Write . . . . . . . . . . . . . . . . . . . . . . 25 3.1.6 Output Disable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 M58BW16F, M58BW32F Contents 3.1.7 Standby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.1.8 Reset/Power-Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.2 3.3 4 5 Synchronous bus operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2.1 Synchronous Burst Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2.2 Synchronous Burst Read Suspend . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Burst Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.3.1 Read Select Bit (M15) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.3.2 Standby Disable Bit (M14) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.3.3 X-Latency Bits (M13-M11) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3.4 Y-Latency Bit (M9) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3.5 Valid Data Ready Bit (M8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3.6 Wrap Burst Bit (M3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3.7 Burst Length Bit (M2-M0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Command interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.1 Read Memory Array command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.2 Read Electronic Signature command . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.3 Read Query command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.4 Read Status Register command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.5 Clear Status Register command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.6 Block Erase command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.7 Erase All Main Blocks command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.8 Program command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.9 Write to Buffer and Program command . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.10 Program/Erase Suspend command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.11 Program/Erase Resume command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.12 Set Burst Configuration Register command . . . . . . . . . . . . . . . . . . . . . . . 37 4.13 Set Block Protection Configuration Register command . . . . . . . . . . . . . . 37 4.14 Clear Block Protection Configuration Register command . . . . . . . . . . . . 37 Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 5.1 Program/Erase Controller Status (Bit 7) . . . . . . . . . . . . . . . . . . . . . . . . . . 40 5.2 Erase Suspend Status (Bit 6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 5.3 Erase Status (Bit 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.4 Program/ Write to Buffer and Program Status (Bit 4) . . . . . . . . . . . . . . . . 41 3/81 Contents M58BW16F, M58BW32F 5.4.1 PEN Status (Bit 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.5 Program Suspend Status (Bit 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.6 Block Protection Status (Bit 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.7 Bit 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 6 Maximum rating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 7 DC and AC parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 8 Package mechanical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 9 Part numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Appendix A Flowcharts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Appendix B Common Flash Interface (CFI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4/81 M58BW16F, M58BW32F List of tables List of tables Table 1. Table 2. Table 3. Table 4. Table 5. Table 6. Table 7. Table 8. Table 9. Table 10. Table 11. Table 12. Table 13. Table 14. Table 15. Table 16. Table 17. Table 18. Table 19. Table 20. Table 21. Table 22. Table 23. Table 24. Table 25. Table 26. Table 27. Table 28. Table 29. Table 30. Table 31. Table 32. Table 33. Signal names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 M58BW32F top boot block addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 M58BW32F Bottom Boot Block Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 M58BW16F top boot block addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 M58BW16F bottom boot block addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Asynchronous bus operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Synchronous Burst Read bus operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Burst Configuration Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Burst type definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Read Electronic Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Program, Erase times and endurance cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Status Register Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Operating and AC measurement conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Device capacitance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 DC characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Asynchronous Bus Read AC characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Asynchronous Page Read AC characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Asynchronous Write and Latch controlled Write AC characteristics . . . . . . . . . . . . . . . . . . 53 Synchronous Burst Read AC characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Reset, Power-Down and Power-up AC characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 LBGA80 10 × 12mm - 8 × 10 active ball array, 1mm pitch, package mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 PQFP80 - 80 lead Plastic Quad Flat Pack, package mechanical data . . . . . . . . . . . . . . . . 63 Ordering information scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Query structure overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 CFI - Query address and data output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 CFI - Device voltage and timing specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 M58BW16F device geometry definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 M58BW16F extended query information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 M58BW32F device geometry definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 M58BW32F Extended query information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5/81 List of figures M58BW16F, M58BW32F List of figures Figure 1. Figure 2. Figure 3. Figure 4. Figure 5. Figure 6. Figure 7. Figure 8. Figure 9. Figure 10. Figure 11. Figure 12. Figure 13. Figure 14. Figure 15. Figure 16. Figure 17. Figure 18. Figure 19. Figure 20. Figure 21. Figure 22. Figure 23. Figure 24. Figure 25. Figure 26. Figure 27. Figure 28. Figure 29. Figure 30. Figure 31. Figure 32. Figure 33. 6/81 Logic diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 LBGA connections (top view through package) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 PQFP connections (top view through package) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Example burst configuration X-1-1-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 AC measurement input/output waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 AC measurement load circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Asynchronous Bus Read AC waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Asynchronous Latch controlled bus Read AC waveforms . . . . . . . . . . . . . . . . . . . . . . . . . 47 Asynchronous Chip Enable controlled bus Read AC waveforms . . . . . . . . . . . . . . . . . . . . 48 Asynchronous Address controlled bus Read AC waveforms . . . . . . . . . . . . . . . . . . . . . . . 48 Asynchronous Page Read AC waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Asynchronous Write AC waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Asynchronous Latch controlled Write AC waveform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Synchronous Burst Read, Latch Enable controlled (data valid from ’n’ clock rising edge) . 54 Synchronous Burst Read, Chip Enable controlled (data valid from ’n’ clock rising edge) . 55 Synchronous Burst Read, Valid Address transition controlled (data valid from ’n’ clock rising edge) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Synchronous Burst Read (data valid from ’n’ clock rising edge). . . . . . . . . . . . . . . . . . . . . 57 Synchronous Burst Read - valid data ready output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Synchronous Burst Read - burst address advance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Clock input AC waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Reset, Power-Down and Power-up AC waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 LBGA80 10 × 12mm - 8 × 10 ball array, 1mm pitch, bottom view package outline . . . . . . 61 PQFP80 - 80 lead Plastic Quad Flat Pack, package outline . . . . . . . . . . . . . . . . . . . . . . . 63 Program flowchart and pseudo code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Program Suspend & Resume flowchart and pseudo code . . . . . . . . . . . . . . . . . . . . . . . . . 66 Block Erase flowchart and pseudo code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Erase Suspend & Resume flowchart and pseudo code . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Power-up sequence followed by Synchronous Burst Read . . . . . . . . . . . . . . . . . . . . . . . . 69 Command Interface and Program Erase Controller flowchart (a). . . . . . . . . . . . . . . . . . . . 70 Command Interface and Program Erase Controller flowchart (b). . . . . . . . . . . . . . . . . . . . 71 Command Interface and Program Erase Controller flowchart (c) . . . . . . . . . . . . . . . . . . . . 72 Command Interface and Program Erase Controller flowchart (d). . . . . . . . . . . . . . . . . . . . 73 Command Interface and Program Erase Controller flowchart (e). . . . . . . . . . . . . . . . . . . . 74 M58BW16F, M58BW32F 1 Description Description The M58BW16F and M58BW32F are 16 and 32 Mbit non-volatile Flash memories, respectively. They can be erased electrically at block level and programmed in-system on a Double-Word basis using a 2.7V to 3.6V or 2.5V to 3.3V VDD supply for the circuit and a 2.4V to 3.6V VDDQ supply voltage for the Input and Output buffers. In the rest of the document the M58BW16F and M58BW32F will be referred to as M58BWxxF unless otherwise specified. The devices support Asynchronous (Latch Controlled and Page Read) and Synchronous Bus operations. The Synchronous Burst Read Interface allows a high data transfer rate controlled by the Burst Clock signal, K. It is capable of bursting fixed or unlimited lengths of data. The burst type, latency and length are configurable and can be easily adapted to a large variety of system clock frequencies and microprocessors. All Write operations are Asynchronous. On power-up the memory defaults to Read mode with an Asynchronous Bus. The device features an asymmetrical block architecture: ● The M58BW32F has an array of 62 main blocks of 512 Kbits each, plus 4 large parameter blocks of 128Kbits each and 8 small parameter blocks of 64 Kbits each. The large and small parameter blocks are located either at the top (M58BW32FT) or at the bottom (M58BW32FB) of the address space. The first large parameter block is referred to as Boot Block and can be used either to store a boot code or parameters. The memory array organization is detailed in Table 2: M58BW32F top boot block addresses and Table 3: M58BW32F Bottom Boot Block Addresses. ● The M58BW16F has an array of 8 parameter blocks of 64Kb each and 31 main blocks of 512Kb each. In the M58BW16FT the parameter blocks are located at the top of the address space whereas in the M58BW16FB, they are located at the bottom. The memory array organization is detailed in Table 4: M58BW16F top boot block addresses and Table 5: M58BW16F bottom boot block addresses. Program and Erase commands are written to the Command Interface of the memory. An onchip Program/Erase Controller simplifies the process of programming or erasing the memory by taking care of all of the special operations that are required to update the memory contents. The end of a Program or Erase operation can be detected and any error conditions identified in the Status Register. The command set required to control the memory is consistent with JEDEC standards. Erase can be suspended in order to perform either Read or Program in any other block, and then resumed. Program can be suspended to Read data in any other block, and then resumed. Each block can be programmed and erased over 100,000 cycles. 7/81 Description M58BW16F, M58BW32F All blocks are protected during power-up. The M58BWxxF features five different levels of hardware and software block protection to avoid unwanted program/erase operations: ● Write/Protect Enable input, WP, hardware protects a combination of blocks from program and erase operations. The blocks to be protected are configured individually by issuing a Set Block Protection Configuration Register or a Clear Block Protection Configuration Register command. ● All Program or Erase operations are blocked when Reset, RP, is held Low. ● A Program/Erase Enable input, PEN, is used to protect all blocks, preventing Program and Erase operations from affecting their data. ● A permanent user-enabled protection against Modify operations is available: – on one specific 128-Kbit parameter block in the M58BW32F – Block 1 for bottom devices or Block 72 for top devices – on two specific 64-Kbit parameter blocks in the M58BW16F – Blocks 2 & 3 for bottom devices or Blocks 36 & 35 for top devices. A Reset/Power-down mode is entered when the RP input is Low. In this mode the power consumption is reduced to the standby level, the device is write protected and both the Status and Burst Configuration Registers are cleared. A recovery time is required when the RP input goes High. A manufacturer code and a device code are available. They can be read from the memory allowing programming equipment or applications to automatically match their interface to the characteristics of the memory. Finally, the M58BWxxF features a 64-bit Unique Device Identifier (UID) which is programmed by ST on the production line. It is unique for each die and can be used to implement cryptographic algorithms to improve security. Information is available in the CFI area (see Table 30: M58BW16F extended query information). The memory is offered in PQFP80 (14 x 20mm) and LBGA80 (1.0mm pitch) packages and it is supplied with all the bits erased (set to ’1’). 8/81 M58BW16F, M58BW32F Figure 1. Description Logic diagram VDD VDDQ VDDQIN DQ0-DQ31 A0-Amax(1) E K PEN L RP M58BW32F M58BW16F R G GD W WP B VSS VSSQ AI13224b 9/81 Description M58BW16F, M58BW32F Table 1. A0-Amax Signal names (1) Address inputs DQ0-DQ7 Data Input/Output, Command Input DQ8-DQ15 Data Input/Output, Burst Configuration Register DQ16-DQ31 Data Input/Output B Burst Address Advance input E Chip Enable input G Output Enable input K Burst Clock input L Latch Enable input R Valid Data Ready output RP Reset /Power-Down input W Write Enable input GD Output Disable input WP Write Protect input VDD Supply Voltage VDDQ Power Supply for Output Buffers VDDQIN Power Supply for Input Buffers only PEN Program/Erase Enable VSS Ground VSSQ Input/Output Ground NC Not Connected Internally DU Don’t Use as Internally Connected 1. Amax is equal to A18 in the M58BW16F, and to A19 in the M58BW32F. 10/81 M58BW16F, M58BW32F Figure 2. Description LBGA connections (top view through package) 1 2 3 4 5 6 7 8 A A15 A14 VDD PEN VSS A6 A3 A2 B A16 A13 A12 A9 A8 A5 A4 A1 C A17 A18 A11 A10 NC A7 NC A0 D DQ3 DQ0 A19/ NC(1) NC NC DQ31 DQ30 DQ29 E VDDQ DQ4 DQ2 DQ1 DQ27 DQ28 DQ26 VDDQ F VSSQ DQ7 DQ6 DQ5 NC DQ25 DQ24 VSSQ G VDDQ DQ8 DQ10 DQ9 DQ22 DQ21 DQ23 VDDQ H DQ13 DQ12 DQ11 WP DQ17 DQ19 DQ18 DQ20 J DQ15 DQ14 L B E G R DQ16 K VDDQIN RP K VSS VDD W GD NC AI12854b 1. Ball D3 is NC in the M58BW16F and A19 in the M58BW32F. 11/81 Description M58BW16F, M58BW32F PQFP connections (top view through package) 1 53 40 41 DQ15 DQ14 DQ13 DQ12 VSSQ VDDQ DQ11 DQ10 DQ9 DQ8 DQ7 DQ6 DQ5 DQ4 VSSQ VDDQ DQ3 DQ2 DQ1 DQ0 A19/NC(1) A18 A17 A16 VSS PEN VDD A9 A10 A11 A12 A13 A14 A15 25 32 M58BW16F M58BW32F 12 24 65 64 A3 A4 A5 A6 A7 A8 DQ16 DQ17 DQ18 DQ19 VDDQ VSSQ DQ20 DQ21 DQ22 DQ23 DQ24 DQ25 DQ26 DQ27 VDDQ VSSQ DQ28 DQ29 DQ30 DQ31 DU A0 A1 A2 73 80 DU R GD WP W G E VDD B VSS L NC NC K RP VDDQIN Figure 3. AI13225b 12/81 M58BW16F, M58BW32F 1.1 Description Block Protection The M58BWxxF features four different levels of block protection. ● Write Protect Pin, WP, - When WP is Low, VIL, the protection status that has been configured in the Block Protection Configuration Register is activated. The Block Protection Configuration Register is volatile. Any combination of blocks is possible. Any attempt to program or erase a protected block will return an error in the Status Register (see Table 13: Status Register Bits). ● Reset/Power-Down Pin, RP, - If the device is held in reset mode (RP at VIL), no program or erase operation can be performed on any block. ● Program/Erase Enable, PEN, - The Program/Erase Enable input, PEN, protects all blocks by preventing Program and Erase operations from modifying the data. Prior to issuing a Program or Erase command, the Program/Erase Enable must be set to High (VIH). If it is Low (VIL), the Program or Erase operation is not accepted and an error is generated in the Status Register. ● Permanent protection against Modify operations - specific OTP-like blocks can be permanently protected against Modify operations (program/ erase): – in the M58BW32F, a unique 128-Kbit parameter block – Block 1 (01000h-01FFFh) for bottom devices or Block 72 (FE000h-FEFFFh) for Top devices – in the M58BW16F, two 64-Kbit parameter blocks – Blocks 2 & 3 (01000h-01FFFh) for bottom devices or Blocks 36 & 35 (7E000h-7EFFFh) for top devices This protection is user-enabled. Details of how this protection is activated are provided in a dedicated application note. After a device reset the first two kinds of block protection (WP, RP) can be combined to give a flexible block protection. All blocks are protected at power-up. 13/81 Description M58BW16F, M58BW32F Table 2. 14/81 M58BW32F top boot block addresses # Size (Kbit) Address Range(1) 73 128 FF000h-FFFFFh 72 128 FE000h-FEFFFh(2) 71 128 FD000h-FDFFFh 70 128 FC000h-FCFFFh 69 64 FB800h-FBFFFh 68 64 FB000h-FB7FFh 67 64 FA800h-FAFFFh 66 64 FA000h-FA7FFh 65 64 F9800h-F9FFFh 64 64 F9000h-F97FFh 63 64 F8800h-F8FFFh 62 64 F8000h-F87FFh 61 512 F4000h-F7FFFh 60 512 F0000h-F3FFFh 59 512 EC000h-EFFFFh 58 512 E8000h-EBFFFh 57 512 E4000h-E7FFFh 56 512 E0000h-E3FFFh 55 512 DC000h-DFFFFh 54 512 D8000h-DBFFFh 53 512 D4000h-D7FFFh 52 512 D0000h-D3FFFh 51 512 CC000h-CFFFFh 50 512 C8000h-CBFFFh 49 512 C4000h-C7FFFh 48 512 C0000h-C3FFFh 47 512 BC000h-BFFFFh 46 512 B8000h-BBFFFh 45 512 B4000h-B7FFFh 44 512 B0000h-B3FFFh 43 512 AC000h-AFFFFh 42 512 A8000h-ABFFFh 41 512 A4000h-A7FFFh 40 512 A0000h-A3FFFh 39 512 9C000h-9FFFFh 38 512 98000h-9BFFFh 37 512 94000h-97FFFh 36 512 90000h-93FFFh M58BW16F, M58BW32F Table 2. Description M58BW32F top boot block addresses (continued) # Size (Kbit) Address Range(1) 35 512 8C000h-8FFFFh 34 512 88000h-8BFFFh 33 512 84000h-87FFFh 32 512 80000h-83FFFh 31 512 7C000h-7FFFFh 30 512 78000h-7BFFFh 29 512 74000h-77FFFh 28 512 70000h-73FFFh 27 512 6C000h-6FFFFh 26 512 68000h-6BFFFh 25 512 64000h-67FFFh 24 512 60000h-63FFFh 23 512 5C000h-5FFFFh 22 512 58000h-5BFFFh 21 512 54000h-57FFFh 20 512 50000h-53FFFh 19 512 4C000h-4FFFFh 18 512 48000h-4BFFFh 17 512 44000h-47FFFh 16 512 40000h-43FFFh 15 512 3C000h-3FFFFh 14 512 38000h-3BFFFh 13 512 34000h-37FFFh 12 512 30000h-33FFFh 11 512 2C000h-2FFFFh 10 512 28000h-2BFFFh 9 512 24000h-27FFFh 8 512 20000h-23FFFh 7 512 1C000h-1FFFFh 6 512 18000h-1BFFFh 5 512 14000h-17FFFh 4 512 10000h-13FFFh 3 512 0C000h-0FFFFh 2 512 08000h-0BFFFh 1 512 04000h-07FFFh 0 512 00000h-03FFFh 1. Addresses are indicated in 32-bit addressing. 2. OTP Block. 15/81 Description M58BW16F, M58BW32F Table 3. 16/81 M58BW32F Bottom Boot Block Addresses # Size (Kbit) Address Range(1) 73 512 FC000h-FFFFFh 72 512 F8000h-FBFFFh 71 512 F4000h-F7FFFh 70 512 F0000h-F3FFFh 69 512 EC000h-EFFFFh 68 512 E8000h-EBFFFh 67 512 E4000h-E7FFFh 66 512 E0000h-E3FFFh 65 512 DC000h-DFFFFh 64 512 D8000h-DBFFFh 63 512 D4000h-D7FFFh 62 512 D0000h-D3FFFh 61 512 CC000h-CFFFFh 60 512 C8000h-CBFFFh 59 512 C4000h-C7FFFh 58 512 C0000h-C3FFFh 57 512 BC000h-BFFFFh 56 512 B8000h-BBFFFh 55 512 B4000h-B7FFFh 54 512 B0000h-B3FFFh 53 512 AC000h-AFFFFh 52 512 A8000h-ABFFFh 51 512 A4000h-A7FFFh 50 512 A0000h-A3FFFh 49 512 9C000h-9FFFFh 48 512 98000h-9BFFFh 47 512 94000h-97FFFh 46 512 90000h-93FFFh 45 512 8C000h-8FFFFh 44 512 88000h-8BFFFh 43 512 84000h-87FFFh 42 512 80000h-83FFFh 41 512 7C000h-7FFFFh 40 512 78000h-7BFFFh 39 512 74000h-77FFFh 38 512 70000h-73FFFh 37 512 6C000h-6FFFFh 36 512 68000h-6BFFFh M58BW16F, M58BW32F Table 3. Description M58BW32F Bottom Boot Block Addresses (continued) # Size (Kbit) Address Range(1) 35 512 64000h-67FFFh 34 512 60000h-63FFFh 33 512 5C000h-5FFFFh 32 512 58000h-5BFFFh 31 512 54000h-57FFFh 30 512 50000h-53FFFh 29 512 4C000h-4FFFFh 28 512 48000h-4BFFFh 27 512 44000h-47FFFh 26 512 40000h-43FFFh 25 512 3C000h-3FFFFh 24 512 38000h-3BFFFh 23 512 34000h-37FFFh 22 512 30000h-33FFFh 21 512 2C000h-2FFFFh 20 512 28000h-2BFFFh 19 512 24000h-27FFFh 18 512 20000h-23FFFh 17 512 1C000h-1FFFFh 16 512 18000h-1BFFFh 15 512 14000h-17FFFh 14 512 10000h-13FFFh 13 512 0C000h-0FFFFh 12 512 08000h-0BFFFh 11 64 07800h-07FFFh 10 64 07000h-077FFh 9 64 06800h-06FFFh 8 64 06000h-067FFh 7 64 05800h-05FFFh 6 64 05000h-057FFh 5 64 04800h-04FFFh 4 64 04000h-047FFh 3 128 03000h-03FFFh 2 128 02000h-02FFFh 1 128 01000h-01FFFh(2) 0 128 00000h-00FFFh 1. Addresses are indicated in 32-bit Word addressing. 2. OTP Block. 17/81 Description M58BW16F, M58BW32F Table 4. # Size (Kbit) Address Range 38 64 7F800h-7FFFFh 37 64 7F000h-7F7FFh 36(1) 64 7E800h-7EFFFh 35(1) 64 7E000h-7E7FFh 34 64 7D800h-7DFFFh 33 64 7D000h-7D7FFh 32 64 7C800h-7CFFFh 31 64 7C000h-7C7FFh 30 512 78000h-7BFFFh 29 512 74000h-77FFFh 28 512 70000h-73FFFh 27 512 6C000h-6FFFFh 26 512 68000h-6BFFFh 25 512 64000h-67FFFh 24 512 60000h-63FFFh 23 512 5C000h-5FFFFh 22 512 58000h-5BFFFh 21 512 54000h-57FFFh 20 512 50000h-53FFFh 19 512 4C000h-4FFFFh 18 512 48000h-4BFFFh 17 512 44000h-47FFFh 16 512 40000h-43FFFh 15 512 3C000h-3FFFFh 14 512 38000h-3BFFFh 13 512 34000h-37FFFh 12 512 30000h-33FFFh 11 512 2C000h-2FFFFh 10 512 28000h-2BFFFh 9 512 24000h-27FFFh 8 512 20000h-23FFFh 7 512 1C000h-1FFFFh 6 512 18000h-1BFFFh 5 512 14000h-17FFFh 4 512 10000h-13FFFh 3 512 0C000h-0FFFFh 2 512 08000h-0BFFFh 1 512 04000h-07FFFh 0 512 00000h-03FFFh 1. OTP block. 18/81 M58BW16F top boot block addresses M58BW16F, M58BW32F Table 5. Description M58BW16F bottom boot block addresses # Size (Kbit) Address Range 38 512 7C000h-7FFFFh 37 512 78000h-7BFFFh 36 512 74000h-77FFFh 35 512 70000h-73FFFh 34 512 6C000h-6FFFFh 33 512 68000h-6BFFFh 32 512 64000h-67FFFh 31 512 60000h-63FFFh 30 512 5C000h-5FFFFh 29 512 58000h-5BFFFh 28 512 54000h-57FFFh 27 512 50000h-53FFFh 26 512 4C000h-4FFFFh 25 512 48000h-4BFFFh 24 512 44000h-47FFFh 23 512 40000h-43FFFh 22 512 3C000h-3FFFFh 21 512 38000h-3BFFFh 20 512 34000h-37FFFh 19 512 30000h-33FFFh 18 512 2C000h-2FFFFh 17 512 28000h-2BFFFh 16 512 24000h-27FFFh 15 512 20000h-23FFFh 14 512 1C000h-1FFFFh 13 512 18000h-1BFFFh 12 512 14000h-17FFFh 11 512 10000h-13FFFh 10 512 0C000h-0FFFFh 9 512 08000h-0BFFFh 8 512 04000h-07FFFh 7 64 03800h-03FFFh 6 64 03000h-037FFh 5 64 02800h-02FFFh 4 64 02000h-027FFh 3(1) 64 01800h-01FFFh 2(1) 64 01000h-017FFh 1 64 00800h-00FFFh 0 64 00000h-007FFh 1. OTP block. 19/81 Signal descriptions 2 M58BW16F, M58BW32F Signal descriptions See Figure 1: Logic diagram and Table 1: Signal names, for a brief overview of the signals connected to this device. 2.1 Address Inputs (A0-Amax) Amax is equal to A18 in the M58BW16F, and to A19 in the M58BW32F. The Address Inputs are used to select the cells to access in the memory array during Bus operations. During Bus Write operations they control the commands sent to the Command Interface of the Program/Erase Controller. Chip Enable must be Low when selecting the addresses. The address inputs are latched on the rising edge of Latch Enable L or Burst Clock K, whichever occurs first, in a read operation.The address inputs are latched on the rising edge of Chip Enable, Write Enable or Latch Enable, whichever occurs first in a Write operation. The address latch is transparent when Latch Enable is Low, VIL. The address is internally latched in an Erase or Program operation. 2.2 Data Inputs/Outputs (DQ0-DQ31) The Data Inputs/Outputs output the data stored at the selected address during a Bus Read operation, or are used to input the data during a program operation. During Bus Write operations they represent the commands sent to the Command Interface of the Program/Erase Controller. When used to input data or Write commands they are latched on the rising edge of Write Enable or Chip Enable, whichever occurs first. When Chip Enable and Output Enable are both Low, VIL, and Output Disable is at VIH, the data bus outputs data from the memory array, the Electronic Signature, the Block Protection Configuration Register, the CFI Information or the contents of Burst Configuration Register or Status Register. The data bus is high impedance when the device is deselected with Chip Enable at VIH, Output Enable at VIH, Output Disable at VIL or Reset/Power-Down at VIL. The Status Register content is output on DQ0-DQ7 and DQ8-DQ31 are at VIL. 2.3 Chip Enable (E) The Chip Enable, E, input activates the memory control logic, input buffers, decoders and sense amplifiers. Chip Enable, E, at VIH deselects the memory and reduces the power consumption to the Standby level. 2.4 Output Enable (G) The Output Enable, G, gates the outputs through the data output buffers during a read operation, when Output Disable GD is at VIH. When Output Enable G is at VIH, the outputs are high impedance independently of Output Disable. 20/81 M58BW16F, M58BW32F 2.5 Signal descriptions Output Disable (GD) The Output Disable, GD, deactivates the data output buffers. When Output Disable, GD, is at VIH, the outputs are driven by the Output Enable. When Output Disable, GD, is at VIL, the outputs are high impedance independently of Output Enable. The Output Disable pin must be connected to an external pull-up resistor as there is no internal pull-up resistor to drive the pin. 2.6 Write Enable (W) The Write Enable, W, input controls writing to the Command Interface, Input Address and Data latches. Both addresses and data can be latched on the rising edge of Write Enable (also see Latch Enable, L). 2.7 Reset/Power-Down (RP) The Reset/Power-Down, RP, is used to apply a hardware reset to the memory. A hardware reset is achieved by holding Reset/Power-Down Low, VIL, for at least tPLPH. Writing is inhibited to protect data, the Command Interface and the Program/Erase Controller are reset. The Status Register information is cleared and power consumption is reduced to the standby level (IDD1). The device acts as deselected, that is the data outputs are high impedance. After Reset/Power-Down goes High, VIH, the memory will be ready for Bus Read operations after a delay of tPHEL or Bus Write operations after tPHWL. If Reset/Power-Down goes Low, VIL, during a Block Erase or a Program operation, the operation is aborted, in a time of tPLRH maximum, and data is altered and may be corrupted. During Power-up power should be applied simultaneously to VDD and VDDQ(IN) with RP held at VIL. When the supplies are stable RP is taken to VIH. Output Enable, G, Chip Enable, E, and Write Enable, W, should be held at VIH during power-up. In an application, it is recommended to associate the Reset/Power-Down pin, RP, with the reset signal of the microprocessor. Otherwise, if a reset operation occurs while the memory is performing an erase or program operation, the memory may output the Status Register information instead of being initialized to the default Asynchronous Random Read mode. See Table 22 and Figure 21: Reset, Power-Down and Power-up AC waveform, for more details. 2.8 Program/Erase Enable (PEN) The Program/Erase Enable input, PEN, protects all blocks by preventing Program and Erase operations from modifying the data. Prior to issuing a Program or Erase command, the Program/Erase Enable must be set to High (VIH). If it is Low (VIL), the Program or Erase operation is not accepted and an error is generated in the Status Register. 21/81 Signal descriptions 2.9 M58BW16F, M58BW32F Latch Enable (L) The Bus Interface can be configured to latch the Address Inputs on the rising edge of Latch Enable, L, for Asynchronous Latch Enable Controlled Read or Write or Synchronous Burst Read operations. In Synchronous Burst Read operations the address is latched on the active edge of the Clock when Latch Enable is Low, VIL. Once latched, the addresses may change without affecting the address used by the memory. When Latch Enable is Low, VIL, the latch is transparent. Latch Enable, L, can remain at VIL for Asynchronous Random Read and Write operations. 2.10 Burst Clock (K) The Burst Clock, K, is used to synchronize the memory with the external bus during Synchronous Burst Read operations. Bus signals are latched on the active edge of the Clock. In Synchronous Burst Read mode the address is latched on the first rising clock edge when Latch Enable is Low, VIL, or on the rising edge of Latch Enable, whichever occurs first. During Asynchronous bus operations the Clock is not used. 2.11 Burst Address Advance (B) The Burst Address Advance, B, controls the advancing of the address by the internal address counter during Synchronous Burst Read operations. Burst Address Advance, B, is only sampled on the active clock edge of the Clock when the X-latency time has expired. If Burst Address Advance is Low, VIL, the internal address counter advances. If Burst Address Advance is High, VIH, the internal address counter does not change; the same data remains on the Data Inputs/Outputs and Burst Address Advance is not sampled until the Y-latency expires. The Burst Address Advance, B, may be tied to VIL. 2.12 Valid Data Ready (R) The Valid Data Ready output, R, can be used during Synchronous Burst Read operations to identify if the memory is ready to output data or not. The Valid Data Ready output can be configured to be active on the clock edge of the invalid data read cycle or one cycle before. Valid Data Ready, at VIH, indicates that new data is or will be available. When Valid Data Ready is Low, VIL, the previous data outputs remain active. 2.13 Write Protect (WP) The Write Protect, WP, provides protection against program or erase operations. When Write Protect, WP, is at VIL, the protection status that has been configured in the Block Protection Configuration Register is activated. Program and erase operations to protected blocks are disabled. When Write Protect WP is at VIH all the blocks can be programmed or erased, if no other protection is used. 22/81 M58BW16F, M58BW32F 2.14 Signal descriptions Supply Voltage (VDD) The Supply Voltage, VDD, is the core power supply. All internal circuits draw their current from the VDD pin, including the Program/Erase Controller. 2.15 Output Supply Voltage (VDDQ) The Output Supply Voltage, VDDQ, is the output buffer power supply for all operations (Read, Program and Erase) used for DQ0-DQ31 when used as outputs. 2.16 Input Supply Voltage (VDDQIN) The Input Supply Voltage, VDDIN, is the power supply for all input signal. Input signals are: K, B, L, W, GD, G, E, A0-Amax and DQ0-DQ31, when used as inputs. 2.17 Ground (VSS and VSSQ) The Ground VSS is the reference for the internal supply voltage VDD. The Ground VSSQ is the reference for the output and input supplies VDDQ, and VDDQIN. It is essential to connect VSS and VSSQ together. Note: A 0.1µF capacitor should be connected between the Supply Voltages, VDD, VDDQ and VDDIN and the Grounds, VSS and VSSQ to decouple the current surges from the power supply. The PCB track widths must be sufficient to carry the currents required during all operations of the parts, see Table 17: DC characteristics, for maximum current supply requirements. 2.18 Don’t Use (DU) This pin should not be used as it is internally connected. Its voltage level can be between VSS and VDDQ or leave it unconnected. 2.19 Not Connected (NC) This pin is not physically connected to the device. 23/81 Bus operations 3 M58BW16F, M58BW32F Bus operations Each bus operations that controls the memory is described in this section, see Tables 6 and 7 Bus Operations, for a summary. The bus operation is selected through the Burst Configuration Register; the bits in this register are described at the end of this section. On Power-up or after a Hardware Reset the memory defaults to Asynchronous Bus Read and Asynchronous Bus Write. No synchronous operation can be performed until the Burst Control Register has been configured. The Electronic Signature, Block Protection Configuration, CFI or Status Register will be read in asynchronous mode regardless of the Burst Control Register settings. Typically glitches of less than 5ns on Chip Enable or Write Enable are ignored by the memory and do not affect bus operations. 3.1 Asynchronous Bus Operations For asynchronous bus operations refer to Table 6 together with the following text. The read access will start at whichever of the three following events occurs last: valid address transition, Chip Enable, E, going Low, VIL or Latch Enable, L, going Low, VIL. 3.1.1 Asynchronous Bus Read Asynchronous Bus Read operations read from the memory cells, or specific registers (Electronic Signature, Block Protection Configuration Register, Status Register, CFI and Burst Configuration Register) in the Command Interface. A valid bus operation involves setting the desired address on the Address Inputs, applying a Low signal, VIL, to Chip Enable and Output Enable and keeping Write Enable and Output Disable High, VIH. The Data Inputs/Outputs will output the value, see Figure 7: Asynchronous Bus Read AC waveforms, and Table 18: Asynchronous Bus Read AC characteristics, for details of when the output becomes valid. Asynchronous Read is the default read mode which the device enters on power-up or on return from Reset/Power-Down. 3.1.2 Asynchronous Latch Controlled Bus Read Asynchronous Latch Controlled Bus Read operations read from the memory cells or specific registers in the Command Interface. The address is latched in the memory before the value is output on the data bus, allowing the address to change during the cycle without affecting the address that the memory uses. A valid bus operation involves setting the desired address on the Address Inputs, setting Chip Enable and Latch Enable Low, VIL and keeping Write Enable High, VIH; the address is latched on the rising edge of Latch Enable. Once latched, the Address Inputs can change. Set Output Enable Low, VIL, to read the data on the Data Inputs/Outputs; see Figure Figure 8: Asynchronous Latch controlled bus Read AC waveforms and Table 18: Asynchronous Bus Read AC characteristics, for details on when the output becomes valid. Note that, since the Latch Enable input is transparent when set Low, VIL, Asynchronous Bus Read operations can be performed when the memory is configured for Asynchronous Latch Enable bus operations by holding Latch Enable Low, VIL throughout the bus operation. 24/81 M58BW16F, M58BW32F 3.1.3 Bus operations Asynchronous Page Read Asynchronous Page Read operations are used to read from several addresses within the same memory page. Each memory page is 4 Double-Words and is addressed by the address inputs A0 and A1. Data is read internally and stored in the Page Buffer. Valid bus operations are the same as Asynchronous Bus Read operations but with different timings. The first read operation within the page has identical timings, subsequent reads within the same page have much shorter access times. If the page changes then the normal, longer timings apply again. Page Read does not support Latched Controlled Read. See Figure 11: Asynchronous Page Read AC waveforms, and Table 19: Asynchronous Page Read AC characteristics, for details on when the outputs become valid. 3.1.4 Asynchronous Bus Write Asynchronous Bus Write operations write to the Command Interface in order to send commands to the memory or to latch addresses and input data to program. Bus Write operations are asynchronous, the clock, K, is don’t care during Bus Write operations. A valid Asynchronous Bus Write operation begins by setting the desired address on the Address Inputs, and setting Chip Enable, Write Enable and Latch Enable Low, VIL, and Output Enable High, VIH, or Output Disable Low, VIL. The Address Inputs are latched by the Command Interface on the rising edge of Chip Enable or Write Enable, whichever occurs first. Commands and Input Data are latched on the rising edge of Chip Enable, E, or Write Enable, W, whichever occurs first. Output Enable must remain High, and Output Disable Low, during the whole Asynchronous Bus Write operation. See Figure 12: Asynchronous Write AC waveform, and Table 20: Asynchronous Write and Latch controlled Write AC characteristics, for details of the timing requirements. 3.1.5 Asynchronous Latch Controlled Bus Write Asynchronous Latch Controlled Bus Write operations write to the Command Interface in order to send commands to the memory or to latch addresses and input data to program. Bus Write operations are asynchronous, the clock, K, is don’t care during Bus Write operations. A valid Asynchronous Latch Controlled Bus Write operation begins by setting the desired address on the Address Inputs and pulsing Latch Enable Low, VIL. The Address Inputs are latched by the Command Interface on the rising edge of Latch Enable, Write Enable or Chip Enable, whichever occurs first. Commands and Input Data are latched on the rising edge of Chip Enable, E, or Write Enable, W, whichever occurs first. Output Enable must remain High, and Output Disable Low, during the whole Asynchronous Bus Write operation. See Figure 13: Asynchronous Latch controlled Write AC waveform, and Table 20: Asynchronous Write and Latch controlled Write AC characteristics, for details of the timing requirements. 3.1.6 Output Disable The data outputs are high impedance when the Output Enable, G, is at VIH or Output Disable, GD, is at VIL. 25/81 Bus operations 3.1.7 M58BW16F, M58BW32F Standby When Chip Enable is High, VIH, and the Program/Erase Controller is idle, the memory enters Standby mode, the power consumption is reduced to the standby level (IDD1) and the Data Inputs/Outputs pins are placed in the high impedance state regardless of Output Enable, Write Enable or Output Disable inputs. The Standby mode can be disabled by setting the Standby Disable bit (M14) of the Burst Configuration Register to ‘1’ (see Table 17: DC characteristics). 3.1.8 Reset/Power-Down The memory is in Reset/ Power-Down mode when Reset/Power-Down, RP, is at VIL. The power consumption is reduced to the standby level (IDD1) and the outputs are high impedance, independent of the Chip Enable, E, Output Enable, G, Output Disable, GD, or Write Enable, W, inputs. In this mode the device is write protected and both the Status and the Burst Configuration Registers are cleared. A recovery time is required when the RP input goes High. Table 6. Asynchronous bus operations(1) Bus Operation Step E G GD W RP L A0-Amax DQ0-DQ31 VIL VIL VIH VIH VIH VIL Address Data Output Address Latch VIL VIH VIH VIL VIH VIL Address High Z Read VIL VIL VIH VIH VIH VIH X Data Output Asynchronous Page Read VIL VIL VIH VIH VIH X Address Data Output Asynchronous Bus Write VIL VIH X VIL VIH VIL Address Data Input Address Latch VIL VIH X VIH VIH VIL Address High Z Write VIL VIH X VIL VIH VIH X Data Input Output Enable, G VIL VIH VIH VIH VIH X X High Z Output Disable, GD VIL VIL VIL VIH VIH X X High Z Standby VIH X X X VIH X X High Z X X X X VIL X X High Z Asynchronous Bus Read(2) Asynchronous Latch Controlled Bus Read Asynchronous Latch Controlled Bus Write Reset/Power-Down 1. X = Don’t Care. 2. Data, Manufacturer Code, Device Code, Burst Configuration Register, Standby Status and Block Protection Configuration Register are read using the Asynchronous Bus Read command. 26/81 M58BW16F, M58BW32F 3.2 Bus operations Synchronous bus operations For synchronous bus operations refer to Table 7 together with the following text. The read access will start at whichever of the three following events occurs last: valid address transition, Chip Enable, E, going Low, VIL or Latch Enable, L, going Low, VIL. 3.2.1 Synchronous Burst Read Synchronous Burst Read operations are used to read from the memory at specific times synchronized to an external reference clock. The valid edge of the Clock signal is the rising edge. Once the Flash memory is configured in Burst mode, it is mandatory to have an active clock signal since the switching of the output buffer databus is synchronized to the rising edge of the clock. In the absence of clock, no data is output. The burst type, length and latency can be configured. The different configurations for Synchronous Burst Read operations are described in the Burst Configuration Register section. Refer to Figure 4 for examples of synchronous burst operations. A valid Synchronous Burst Read operation begins when the Burst Clock is active and Chip Enable and Latch Enable are Low, VIL. The burst start address is latched and loaded into the internal Burst Address Counter on the valid Burst Clock K edge or on the rising edge of Latch Enable, whichever occurs first. After an initial memory latency time, the memory outputs data each clock cycle. The Burst Address Advance B input controls the memory burst output. The second burst output is on the next clock valid edge after the Burst Address Advance B has been pulled Low. Valid Data Ready, R, monitors if the memory burst boundary is exceeded and the Burst Controller of the microprocessor needs to insert wait states. When Valid Data Ready is Low on the rising clock edge, no new data is available and the memory does not increment the internal address counter at the active clock edge even if Burst Address Advance, B, is Low. Valid Data Ready may be configured (by bit M8 of Burst Configuration Register) to be valid immediately at the rising clock edge. Synchronous Burst Read will be suspended if Burst Address Advance, B, goes High, VIH. If Output Enable is at VIL and Output Disable is at VIH, the last data is still valid. If Output Enable, G, is at VIH or Output Disable, GD, is at VIL, but the Burst Address Advance, B, is at VIL the internal Burst Address Counter is incremented at each Burst Clock K rising edge. The Synchronous Burst Read timing diagrams and AC Characteristics are described in the AC and DC Parameters section. See Figures 14, 17, 18 and 19, and Table 21. 27/81 Bus operations 3.2.2 M58BW16F, M58BW32F Synchronous Burst Read Suspend During a Synchronous Burst Read operation it is possible to suspend the operation, freeing the data bus for other higher priority devices. A valid Synchronous Burst Read operation is suspended when both Output Enable and Burst Address Advance are High, VIH. The Burst Address Advance going High, VIH, stops the burst counter and the Output Enable going High, VIH, inhibits the data outputs. The Synchronous Burst Read operation can be resumed by setting Output Enable Low. Table 7. Synchronous Burst Read bus operations Bus Operation Step Address Latch Synchronous Burst Read(2) A0-Amax E G GD RP K L B VIL VIH X VIH R(3) VIL X Address Input VIH VIL Data Output DQ0-DQ31 Read VIL VIL VIH VIH R(3) Read Suspend VIL VIH X VIH X VIH VIH High Z VIH VIL Data Output Read Resume VIL VIL VIH VIH R(3) Burst Address Advance VIL VIH X VIH R(3) VIH VIL High Z Read Abort, E VIH X X VIH X X X High Z X X X VIL X X X High Z Read Abort, RP 1. X = Don't Care, VIL or VIH. 2. M15 = 0, Bit M15 is in the Burst Configuration Register. 3. R = Rising Edge. 3.3 Burst Configuration Register The Burst Configuration Register is used to configure the type of bus access that the memory will perform. The Burst Configuration Register is set through the Command Interface and will retain its information until it is re-configured, the device is reset, or the device goes into Reset/PowerDown mode. The Burst Configuration Register bits are described in Table 8. They specify the selection of the burst length, burst type, burst X and Y latencies and the Read operation. Refer to Figure 4 for examples of synchronous burst configurations. 3.3.1 Read Select Bit (M15) The Read Select bit, M15, is used to switch between asynchronous and synchronous Bus Read operations. When the Read Select bit is set to ’1’, Bus Read operations are asynchronous; when the Read Select but is set to ’0’, Bus Read operations are synchronous. On reset or power-up the Read Select bit is set to’1’ for asynchronous accesses. 3.3.2 Standby Disable Bit (M14) The Standby Disable Bit, M14, is used to disable the Standby mode. When the Standby bit is ‘1’, the device will not enter Standby mode when Chip Enable goes High, VIH. 28/81 M58BW16F, M58BW32F 3.3.3 Bus operations X-Latency Bits (M13-M11) The X-Latency bits are used during Synchronous Bus Read operations to set the number of clock cycles between the address being latched and the first data becoming available. For correct operation the X-Latency bits can only assume the values in Table 8: Burst Configuration Register. 3.3.4 Y-Latency Bit (M9) The Y-Latency bit is used during Synchronous Bus Read operations to set the number of clock cycles between consecutive reads. The Y-Latency value depends on both the XLatency value and the setting in M9. When the Y-Latency is 1 the data changes each clock cycle. 3.3.5 Valid Data Ready Bit (M8) The Valid Data Ready bit controls the timing of the Valid Data Ready output pin, R. When the Valid Data Ready bit is ’0’ the Valid Data Ready output pin is driven Low for the rising clock edge when invalid data is output on the bus. 3.3.6 Wrap Burst Bit (M3) Burst read can be confined inside the 4 double-word boundary (wrap) or overcome the boundary (no wrap). When the wrap burst bit is set to '1' the burst read does not wrap. The wrap mode is not available (M3 is always ‘1’). 3.3.7 Burst Length Bit (M2-M0) The Burst Length bits set the maximum number of Double-Words that can be output during a Synchronous Burst Read operation. Burst lengths of 4 or 8 are available. Table 8: Burst Configuration Register gives the valid combinations of the Burst Length bits that the memory accepts. If a Burst Read operation (no wrap) has been initiated the device will output data synchronously. Depending on the starting address, the device activates the Valid Data Ready output to indicate that a delay is necessary before the data is output. If the starting address is aligned to a 4 double word boundary, the 8-double-word burst mode will run without activating the Valid Data Ready output. If the starting address is not aligned to a 4 Double Word boundary, Valid Data Ready is activated to indicate that the device needs an internal delay to read the successive words in the array. M10, M7 to M4 are reserved for future use. 29/81 Bus operations M58BW16F, M58BW32F Table 8. Bit M15 M14 M13-M11 Description Description 0 Synchronous Burst Read 1 Asynchronous Read (Default at power-up) 0 Standby Mode Enabled (Default at power-up) 1 Standby Mode Disabled 001 3 010 4 011 5 100 6 0 Reserved 1 One Burst Clock cycle (M9 is always at ‘1’) 0 R valid Low during valid Burst Clock edge. (M8 is always at ‘0’) 1 Reserved 0 Reserved 1 No Wrap (M3 is always at ‘1’) 001 4 Double-Words 010 8 Double-Words Standby Disable X-Latency Reserved M9 Y-Latency Valid Data Ready M7-M4 Reserved M3 Wrapping M2-M0 Value Read Select M10 M8 30/81 Burst Configuration Register Burst Length M58BW16F, M58BW32F Table 9. Bus operations Burst type definition Start Address ×4 Sequential ×8 Sequential 0 0-1-2-3 0-1-2-3-4-5-6-7 1 1-2-3-4 1-2-3-4-5-6-7-8 2 2-3-4-5 2-3-4-5-6-7-8-9 3 3-4-5-6 3-4-5-6-7-8-9-10 4 4-5-6-7 4-5-6-7-8-9-10-11 5 5-6-7-8 5-6-7-8-9-10-11-12 6 6-7-8-9 6-7-8-9-10-11-12-13 7 7-8-9-10 7-8-9-10-11-12-13-14 8 8-9-10-11 8-9-10-11-12-13-14-15 Figure 4. Example burst configuration X-1-1-1 0 1 2 3 4 5 6 7 8 9 K ADD VALID L DQ 3-1-1-1 DQ 4-1-1-1 DQ DQ DQ DQ 5-1-1-1 6-1-1-1 7-1-1-1 8-1-1-1 VALID VALID VALID VALID VALID VALID VALID VALID VALID VALID VALID VALID VALID VALID VALID VALID VALID VALID VALID VALID VALID VALID VALID VALID VALID VALID VALID AI03841b 31/81 Command interface 4 M58BW16F, M58BW32F Command interface All Bus Write operations to the memory are interpreted by the Command Interface. Commands consist of one or more sequential Bus Write operations. The Commands are summarized in Table 10: Commands. Refer to Table 10 in conjunction with the text descriptions below. 4.1 Read Memory Array command The Read Memory Array command returns the memory to Read mode. One Bus Write cycle is required to issue the Read Memory Array command and return the memory to Read mode. Subsequent read operations will output the addressed memory array data. Once the command is issued the memory remains in Read mode until another command is issued. From Read mode Bus Read commands will access the memory array. 4.2 Read Electronic Signature command The Read Electronic Signature command is used to read the Manufacturer Code, the Device Code, the Block Protection Configuration Register and the Burst Configuration Register. One Bus Write cycle is required to issue the Read Electronic Signature command. Once the command is issued, subsequent Bus Read operations, depending on the address specified, read the Manufacturer Code, the Device Code, the Block Protection Configuration or the Burst Configuration Register until another command is issued; see Table 11: Read Electronic Signature. 4.3 Read Query command The Read Query Command is used to read data from the Common Flash Interface (CFI) Memory Area. One Bus Write cycle is required to issue the Read Query Command. Once the command is issued subsequent Bus Read operations, depending on the address specified, read from the Common Flash Interface Memory Area. 32/81 M58BW16F, M58BW32F 4.4 Command interface Read Status Register command The Read Status Register command is used to read the Status Register. One Bus Write cycle is required to issue the Read Status Register command. Once the command is issued subsequent Bus Read operations read the Status Register until another command is issued. The Status Register information is present on the output data bus (DQ0-DQ7) when Chip Enable E and Output Enable G are at VIL and Output Disable is at VIH. An interactive update of the Status Register bits is possible by toggling Output Enable or Output Disable. It is also possible during a Program or Erase operation, by de-activating the device with Chip Enable at VIH and then reactivating it with Chip Enable and Output Enable at VIL and Output Disable at VIH. The content of the Status Register may also be read at the completion of a Program, Erase or Suspend operation. During a Block Erase or Program command, DQ7 indicates the Program/Erase Controller status. It is valid until the operation is completed or suspended. See the section on the Status Register and Table 13 for details on the definitions of the Status Register bits. 4.5 Clear Status Register command The Clear Status Register command can be used to reset bits 1, 3, 4 and 5 in the Status Register to ‘0’. One Bus Write is required to issue the Clear Status Register command. Once the command is issued the memory returns to its previous mode, subsequent Bus Read operations continue to output the same data. The bits in the Status Register are sticky and do not automatically return to ‘0’ when a new Program, Erase, Block Protect or Block Unprotect command is issued. If any error occurs then it is essential to clear any error bits in the Status Register by issuing the Clear Status Register command before attempting a new Program, Erase or Resume command. 4.6 Block Erase command The Block Erase command can be used to erase a block. It sets all of the bits in the block to ‘1’. All previous data in the block is lost. If the block is protected then the Erase operation will abort, the data in the block will not be changed and the Status Register will output the error. Two Bus Write operations are required to issue the command; the first write cycle sets up the Block Erase command, the second write cycle confirms the Block erase command and latches the block address in the Program/Erase Controller and starts the Program/Erase Controller. The sequence is aborted if the Confirm command is not given and the device will output the Status Register Data with bits 4 and 5 set to '1'. Once the command is issued subsequent Bus Read operations read the Status Register. See the section on the Status Register for details on the definitions of the Status Register bits. During the Erase operation the memory will only accept the Read Status Register command and the Program/Erase Suspend command. All other commands will be ignored. If PEN is at VIH, the operation can be performed. If PEN goes below VIH, the operation aborts, the PEN Status bit in the Status Register is set to ‘1’ and the command must be reissued. Typical Erase times are given in Table 12. See Appendix A, Figure 26: Block Erase flowchart and pseudo code, for a suggested flowchart on using the Block Erase command. 33/81 Command interface 4.7 M58BW16F, M58BW32F Erase All Main Blocks command The Erase All Main Blocks command is used to erase all 63 Main Blocks, without affecting the Parameter Blocks. Issuing the Erase All Main Blocks command sets every bit in each Main Block to '1'. All data previously stored in the Main Blocks are lost. Two Bus Write cycles are required to issue the Erase All Main Blocks command. The first cycle sets up the command, the second cycle confirms the command and starts the Program/Erase Controller. If the Confirm Command is not given the sequence is aborted, and Status Register bits 4 and 5 are set to '1'. If the address given in the second cycle is located in a protected block, the Erase All Main Blocks operation aborts. The data remains unchanged in all blocks and the Status Register outputs the error. Once the Erase All Main Blocks command has been issued, subsequent Bus Read operations output the Status Register. See the Status Register section for details. During an Erase All Main Blocks operation, only the Read Status Register command is accepted by the memory; any other command are ignored. Erase All Main Blocks, once started, cannot be suspended. If PEN is at VIH, the operation will be performed. If PEN is lower than VIH the operation aborts and the Status Register PEN bit (bit 3) is set to '1'. 4.8 Program command The Program command is used to program the memory array. Two Bus Write operations are required to issue the command; the first write cycle sets up the Program command, the second write cycle latches the address and data to be programmed and starts the Program/Erase Controller. A program operation can be aborted by writing FFFFFFFFh to any address after the program set-up command has been given. The Program command is also used to program the OTP block. Refer to Table 10: Commands, for details of the address. Once the command is issued subsequent Bus Read operations read the Status Register. See the section on the Status Register for details on the definitions of the Status Register bits. During the Program operation the memory will only accept the Read Status Register command and the Program/Erase Suspend command. All other commands will be ignored. If Reset/Power-down, RP, falls to VIL during programming the operation will be aborted. If PEN is at VIH, the operation can be performed. If PEN goes below VIH, the operation aborts, the PEN Status bit in the Status Register is set to ‘1’ and the command must be reissued. See Appendix A, Figure 24: Program flowchart and pseudo code, for a suggested flowchart on using the Program command. 34/81 M58BW16F, M58BW32F 4.9 Command interface Write to Buffer and Program command The Write to Buffer and Program Command makes use of the device’s double Word (32 bit) Write Buffer to speed up programming. Up to eight Double Words can be loaded into the Write Buffer and programmed into the memory. Four successive steps are required to issue the command. 1. One Bus Write operation is required to set up the Write to Buffer and Program Command. Any Bus Read operations will start to output the Status Register after the 1st cycle. 2. Use one Bus Write operation to write the selected memory Block Address (any address in the block where the values will be programmed can be used) along with the value N on the Data Inputs/Outputs, where N+1 is the number of Words to be programmed. The maximum value of N+1 is 8 Words. 3. Use N+1 Bus Write operations to load the address and data for each Word into the Write Buffer. The address must be between Start Address and Start Address plus N, where Start Address is the first word address. 4. Finally, use one Bus Write operation to issue the final cycle to confirm the command and start the Program operation. If any address is outside the block boundaries or if the correct sequence is not followed, Status Register bits 4 and 5 are set to ‘1’ and the operation will abort without affecting the data in the memory array. A protected block must be unprotected using the Blocks Unprotect command. During a Write to Buffer and Program operation the memory will only accept the Read Status Register and the Program/Erase Suspend commands. All other commands are ignored. If PEN is at VIH, the operation will be performed. If PEN is lower than VIH the operation aborts and the Status Register PEN bit (bit 3) is set to '1'. The Status Register should be cleared before re-issuing the command. 35/81 Command interface 4.10 M58BW16F, M58BW32F Program/Erase Suspend command The Program/Erase Suspend command is used to pause a Program or Erase operation. The command will only be accepted during a Program or Erase operation. It can be issued at any time during a program or erase operation. The command is ignored if the device is already in suspend mode. One Bus Write cycle is required to issue the Program/Erase Suspend command and pause the Program/Erase Controller. Once the command is issued it is necessary to poll the Program/Erase Controller Status bit (bit 7) to find out when the Program/Erase Controller has paused; no other commands will be accepted until the Program/Erase Controller has paused. After the Program/Erase Controller has paused, the memory will continue to output the Status Register until another command is issued. During the polling period between issuing the Program/Erase Suspend command and the Program/Erase Controller pausing it is possible for the operation to complete. Once the Program/Erase Controller Status bit (bit 7) indicates that the Program/Erase Controller is no longer active, the Program Suspend Status bit (bit 2) or the Erase Suspend Status bit (bit 6) can be used to determine if the operation has completed or is suspended. For timing on the delay between issuing the Program/Erase Suspend command and the Program/Erase Controller pausing see Note 12. During Program/Erase Suspend the Read Memory Array, Read Status Register, Read Electronic Signature, Read Query and Program/Erase Resume commands will be accepted by the Command Interface. Additionally, if the suspended operation was Erase then the Program, the Write to Buffer and Program, the Set/Clear Block Protection Configuration Register and the Program Suspend commands will also be accepted. When a program operation is completed inside a Block Erase Suspend the Read Memory Array command must be issued to reset the device in Read mode, then the Erase Resume command can be issued to complete the whole sequence. Only the blocks not being erased may be read or programmed correctly. Erase operations can be suspended in a systematic and periodical way, however, in order to ensure the effectiveness of erase operations and avoid infinite erase times, it is imperative to wait a minimum time between successive Erase Resume and Erase Suspend commands. This time, called the Minimum effective erase time, is given in Table 12 on page 39. See Appendix A, Figure 25: Program Suspend & Resume flowchart and pseudo code, and Figure 27: Erase Suspend & Resume flowchart and pseudo code, for suggested flowcharts on using the Program/Erase Suspend command. 4.11 Program/Erase Resume command The Program/Erase Resume command can be used to restart the Program/Erase Controller after a Program/Erase Suspend operation has paused it. One Bus Write cycle is required to issue the Program/Erase Resume command. See Appendix A, Figure 25: Program Suspend & Resume flowchart and pseudo code, and Figure 27: Erase Suspend & Resume flowchart and pseudo code, for suggested flowcharts on using the Program/Erase Suspend command. 36/81 M58BW16F, M58BW32F 4.12 Command interface Set Burst Configuration Register command The Set Burst Configuration Register command is used to write a new value to the Burst Configuration Register which defines the burst length, type, X and Y latencies, Synchronous/Asynchronous Read mode. Two Bus Write cycles are required to issue the Set Burst Configuration Register command. The first cycle writes the setup command. The second cycle writes the address where the new Burst Configuration Register content is to be written, and confirms the command. If the command is not confirmed, the sequence is aborted and the device outputs the Status Register with bits 4 and 5 set to ‘1’. Once the command is issued the memory returns to Read mode as if a Read Memory Array command had been issued. The value for the Burst Configuration Register is always presented on A0-A15. M0 is on A0, M1 on A1, etc.; the other address bits are ignored. 4.13 Set Block Protection Configuration Register command The Set Block Protection Configuration Register command is used to configure the Block Protection Configuration Register to ‘Protected’, for a specific block. Protected blocks are fully protected from program or erase when WP pin is Low, VIL. The status of a protected block can be changed to ‘Unprotected’ by using the Clear Block Protection Configuration Register command. At power-up, all block are configured as ‘Protected’. Two bus operations are required to issue a Set Block Protection Configuration Register command: ● The first cycle writes the setup command ● The second write cycle specifies the address of the block to protect and confirms the command. If the command is not confirmed, the sequence is aborted and the device outputs the Status Register with bits 4 and 5 set to ‘1’. To protect multiple blocks, the Set Block Protection Configuration Register command must be repeated for each block. Any attempt to re-protect a block already protected does not change its status. 4.14 Clear Block Protection Configuration Register command The Clear Block Protection Configuration Register command is used to configure the Block Protection Configuration Register to ‘Unprotected’, for a specific block thus allowing program/erase operations to this block, regardless of the WP pin status. Two bus operations are required to issue a Clear Block Protection Configuration Register command: ● The first cycle writes the setup command ● The second write cycle specifies the address of the block to unprotect and confirms the command. If the command is not confirmed, the sequence is aborted and the device outputs the Status Register with bits 4 and 5 set to ‘1’. To unprotect multiple blocks, the Clear Block Protection Configuration Register command must be repeated for each block. Any attempt to unprotect a block already unprotected does not affect its status. 37/81 Command interface M58BW16F, M58BW32F Commands(1) Table 10. Command Cycles Bus operations 1st Cycle Op. Addr. Data 2nd Cycle Op. 3rd Cycle Addr. Data ≥ 2 Write X FFh Read RA RD Read Electronic Signature(2) ≥ 2 Write X 90h Read IDA IDD Read Status Register Write X 70h ≥ 2 Write X 98h Read RA RD X 50h Read Memory Array Read Query 1 Clear Status Register 1 Write Block Erase 2 Write 55h 20h Write BA D0h Erase All Main Blocks 2 Write 55h 80h Write AAh D0h any block 2 Write AAh 40h Write 10h PA PD OTP Block 2 Write AAh 40h Write PA PD Write to Buffer and Program N+4 Write AAh E8h Write BA N Program Program/Erase Suspend 1 Write X B0h Program/Erase Resume 1 Write X D0h Š3 Write X 60h Write BCRh 03h Set Burst Configuration Register Set Block Protection Configuration Register 2 Write X 60h Write BA 01h Clear Block Protection Configuration Register 2 Write X 60h Write BA D0h 4th Cycle Op. Addr. Data Op. Addr. Data Write PA Read RA PD Write X D0h RD 1. X Don’t Care; RA Read Address, RD Read Data, ID Device Code, IDA Identifier Address, IDD Identifier Data, SRD Status Register Data, PA Program Address; PD Program Data, QA Query Address, QD Query Data, BA Any address in the Block, BCR Burst Configuration Register value, N+1 number of Words to program, BA Block address. 2. The Manufacturer Code, the Device Code, the Burst Configuration Register, and the Block Protection Configuration Register of each block are read using the Read Electronic Signature command. 38/81 M58BW16F, M58BW32F Table 11. Command interface Read Electronic Signature Code Device Amax-A0 DQ31-DQ0 Manufacturer All 00000h 00000020h M58BW16FT 00001h 0000883Ah M58BW16FB 00001h 00008839h M58BW32FT 00001h 00008838h M58BW32FB 00001h 00008837h 00005h BCR(1) Device Burst Configuration Register Block Protection Configuration Register 00000000h (Unprotected) SBA+02h(2) All 00000001h (Protected) 1. BCR = Burst Configuration Register. 2. SBA is the start address of each block. Table 12. Program, Erase times and endurance cycles(1) M58BWxxF Parameters Unit Min Typ Max Full Chip Program 15 20 s Double Word Program 15 35 µs 512 Kbit Block Erase 1 2 s 256 Kbit Block Erase 0.8 1.6 s 64 Kbit Block Erase 0.6 1.2 s Program Suspend Latency Time 10 µs Erase Suspend Latency Time 30 µs 30 µs 100,000 cycles (2) Minimum effective erase time Program/Erase Cycles (per Block) 1. TA = –40 to 125°C, VDD = 2.7V to 3.6V, VDDQ = 2.6V to VDD 2. The minimum effective erase time is defined as the minimum time required between the last Erase Resume command and the next Erase Suspend command for the internal Flash memory Program/Erase Controller to be able to execute its algorithm. 39/81 Status Register 5 M58BW16F, M58BW32F Status Register The Status Register provides information on the current or previous Program, Erase or Block Protect operation. The various bits in the Status Register convey information and errors on the operation. They are output on DQ7-DQ0. To read the Status Register the Read Status Register command can be issued. The Status Register is automatically read after Program, Erase, Block Protect, Program/Erase Resume commands. The Status Register can be read from any address. The contents of the Status Register can be updated during an erase or program operation by toggling the Output Enable or Output Disable pins or by de-activating (Chip Enable, VIH) and then reactivating (Chip Enable and Output Enable, VIL, and Output Disable, VIH.) the device. The Status Register bits are summarized in Table 13: Status Register Bits. Refer to Table 13 in conjunction with the following text descriptions. 5.1 Program/Erase Controller Status (Bit 7) The Program/Erase Controller Status bit indicates whether the Program/Erase Controller is active or inactive. When the Program/Erase Controller Status bit is set to ‘0’, the Program/Erase Controller is active; when bit7 is set to ‘1’, the Program/Erase Controller is inactive. The Program/Erase Controller Status is set to ‘0’ immediately after a Program/Erase Suspend command is issued until the Program/Erase Controller pauses. After the Program/Erase Controller pauses the bit is set to ‘1’. During Program and Erase operations the Program/Erase Controller Status bit can be polled to find the end of the operation. The other bits in the Status Register should not be tested until the Program/Erase Controller completes the operation and the bit is set to ‘1’. After the Program/Erase Controller completes its operation the Erase Status (bit5), Program Status (bit4) bits should be tested for errors. 5.2 Erase Suspend Status (Bit 6) The Erase Suspend Status bit indicates that an Erase operation has been suspended and is waiting to be resumed. The Erase Suspend Status should only be considered valid when the Program/Erase Controller Status bit is set to ‘1’ (Program/Erase Controller inactive); after a Program/Erase Suspend command is issued the memory may still complete the operation rather than entering the Suspend mode. When the Erase Suspend Status bit is set to ‘0’, the Program/Erase Controller is active or has completed its operation; when the bit is set to ‘1’, a Program/Erase Suspend command has been issued and the memory is waiting for a Program/Erase Resume command. When a Program/Erase Resume command is issued the Erase Suspend Status bit returns to ‘0’. 40/81 M58BW16F, M58BW32F 5.3 Status Register Erase Status (Bit 5) The Erase Status bit can be used to identify if the memory has failed to verify that the block has erased correctly. The Erase Status bit should be read once the Program/Erase Controller Status bit is High (Program/Erase Controller inactive). When the Erase Status bit is set to ‘0’, the memory has successfully verified that the block has erased correctly. When the Erase Status bit is set to ‘1’, the Program/Erase Controller has applied the maximum number of pulses to the block and still failed to verify that the block has erased correctly. Once set to ‘1’, the Erase Status bit can only be reset to ‘0’ by a Clear Status Register command or a hardware reset. If set to ‘1’ it should be reset before a new Program or Erase command is issued, otherwise the new command will appear to fail. 5.4 Program/ Write to Buffer and Program Status (Bit 4) The Program/Write to Buffer and Program Status bit is used to identify a Program failure or a Write to Buffer and Program failure. Bit4 should be read once the Program/Erase Controller Status bit is High (Program/Erase Controller inactive). When bit 4 is set to ‘0’ the memory has successfully verified that the device has programmed correctly. When bit 4 is set to ‘1’ the device has failed to verify that the data has been programmed correctly. Once set to 1’, the Program Status bit can only be reset to ‘0’ by a Clear Status Register command or a hardware reset. If set to ‘1’ it should be reset before a new Program or Erase command is issued, otherwise the new command will appear to fail. 5.4.1 PEN Status (Bit 3) The PEN Status bit can be used to identify if a program or erase operation has been attempted when PEN is Low, VIL. When Bit 3 is set to ‘0’ no program or erase operations have been attempted with PEN Low, VIL, since the last Clear Status Register command, or hardware reset. When Bit 3 is set to ‘1’ a program or erase operation has been attempted with PEN Low, VIL. Once set to ‘1’, Bit 3 can only be reset by an Clear Status Register command or a hardware reset. If set to ‘1’ it should be reset before a new program or erase command is issued, otherwise the new command will appear to fail. 41/81 Status Register 5.5 M58BW16F, M58BW32F Program Suspend Status (Bit 2) The Program Suspend Status bit indicates that a Program operation has been suspended and is waiting to be resumed. The Program Suspend Status should only be considered valid when the Program/Erase Controller Status bit is set to ‘1’ (Program/Erase Controller inactive); after a Program/Erase Suspend command is issued the memory may still complete the operation rather than entering the Suspend mode. When the Program Suspend Status bit is set to ‘0’, the Program/Erase Controller is active or has completed its operation; when the bit is set to ‘1’, a Program/Erase Suspend command has been issued and the memory is waiting for a Program/Erase Resume command. When a Program/Erase Resume command is issued the Program Suspend Status bit returns to ‘0’. 5.6 Block Protection Status (Bit 1) The Block Protection Status bit can be used to identify if a Program or Erase operation has tried to modify the contents of a protected block. When the Block Protection Status bit is set to ‘0’, no Program or Erase operations have been attempted to protected blocks since the last Clear Status Register command or hardware reset; when the Block Protection Status bit is set to ‘1’, a Program or Erase operation has been attempted on a protected block. Once set to ‘1’, the Block Protection Status bit can only be reset Low by a Clear Status Register command or a hardware reset. If set to ‘1’ it should be reset before a new Program or Erase command is issued, otherwise the new command will appear to fail. 5.7 Bit 0 Reserved bit (set to ‘1’). 42/81 M58BW16F, M58BW32F Table 13. Status Register Status Register Bits Bit 7 6 5 4 3 2 1 0 Name Logic Level Definition ’1’ Ready ’0’ Busy ’1’ Suspended ’0’ In Progress or Completed ’1’ Erase Error ’0’ Erase Success ’1’ Program Error ’0’ Program Success ‘0’ no program or erase attempted ‘1’ program or erase attempted ’1’ Suspended ’0’ In Progress or Completed ’1’ program/erase on protected block, abort ’0’ No operations to protected blocks ’1’ Reserved Program/Erase Controller Status Erase Suspend Status Erase Status Program Status, PEN Status bit Program Suspend Status Erase/Program in a Protected Block Reserved 43/81 Maximum rating 6 M58BW16F, M58BW32F Maximum rating Stressing the device above the ratings listed in Table 14: Absolute maximum ratings, may cause permanent damage to the device. These are stress ratings only and operation of the device at these or any other conditions above those indicated in the Operating sections of this specification is not implied. Exposure to Absolute Maximum Rating conditions for extended periods may affect device reliability. Refer also to the STMicroelectronics SURE Program and other relevant quality documents. Table 14. Absolute maximum ratings Value Symbol Parameter Max TBIAS Temperature Under Bias –40 125 °C TSTG Storage Temperature –55 155 °C Input or Output Voltage –0.6 VDDQ +0.6 VDDQIN +0.6 V –0.6 4.2 V VIO VDD, VDDQ, VDDQIN Supply Voltage 44/81 Unit Min M58BW16F, M58BW32F 7 DC and AC parameters DC and AC parameters This section summarizes the operating and measurement conditions, and the DC and AC characteristics of the device. The parameters in the DC and AC characteristics Tables that follow, are derived from tests performed under the Measurement Conditions summarized in Table 15: Operating and AC measurement conditions. Designers should check that the operating conditions in their circuit match the measurement conditions when relying on the quoted parameters. Table 15. Operating and AC measurement conditions M58BW16F, M58BW32F Parameter 45ns 55ns Units Min Max Min Max Supply Voltage (VDD) 2.7 3.6 2.5 3.3 V Input/Output Supply Voltage (VDDQ) 2.4 3.6 2.4 3.6 V –40 125 –40 125 °C Ambient Temperature (TA) Grade 3 Load Capacitance (CL) 30 30 pF Clock Rise and Fall Times 3 3 ns Input Rise and Fall Times 3 3 ns Input Pulses Voltages Input and Output Timing Ref. Voltages Figure 5. 0 to VDDQ 0 to VDDQ V VDDQ/2 VDDQ/2 V AC measurement input/output waveform VDDQ VDDQIN VDDQ/2 VDDQIN/2 0V AI04153 1. VDD = VDDQ. Figure 6. AC measurement load circuit DEVICE UNDER TEST OUT CL CL includes JIG capacitance AI04154b 45/81 DC and AC parameters Table 16. M58BW16F, M58BW32F Device capacitance(1)(2) Symbol CIN COUT Parameter Input Capacitance Output Capacitance Test Condition Typ Max Unit VIN = 0V 6 8 pF VOUT = 0V 8 12 pF 1. TA = 25°C, f = 1 MHz 2. Sampled only, not 100% tested. Table 17. DC characteristics Symbol Parameter Test Condition Min Typ Max Unit ILI Input Leakage Current 0V≤VIN ≤VDDQ ±1 µA ILO Output Leakage Current 0V≤ VOUT ≤VDDQ ±5 µA IDD(1) Supply Current (Random Read) E = VIL, G = VIH, fadd = 6MHz 25 mA 20 mA IDDP-UP(2) Supply Current (Power-up) IDDB(1) Supply Current (Burst Read) E = VIL, G = VIH, fclock = 75MHz 50 mA IDD1(1) Supply Current (Standby) E = RP = VDD ± 0.2V 150 µA IDD2(1) Supply Current (Program or Erase) Program, Erase in progress 30 mA IDD3(1) Supply Current (Erase/Program Suspend) E = VIH 150 µA IDD4(1) Supply Current (Standby Disable) 10 mA –0.5 0.2VDDQIN V 5 VIL Input Low Voltage VIH Input High Voltage (for DQ lines) 0.8VDDQIN VDDQ +0.3 V VIH Input High Voltage (for Input only lines) 0.8VDDQIN 3.6 V VOL Output Low Voltage IOL = 100µA 0.1 V VOH Output High Voltage CMOS IOH = –100µA VLKO VDD Supply Voltage (Erase and Program lockout) VDDQ –0.1 V 2.2 V 1. The Standby mode can be disabled by setting the Standby Disable bit (M14) of the Burst Configuration Register to ‘1’. 2. IDDP-UP is defined only during the power-up phase, from the moment current is applied with RP Low to the moment when the supply voltage has become stable and RP is brought to High. 46/81 M58BW16F, M58BW32F Figure 7. DC and AC parameters Asynchronous Bus Read AC waveforms tAVAV A0-A19 VALID tEHLX tAVQV L tELQX tELQV tAXQX E tGLQX tGLQV tEHQX tEHQZ G GD tGHQX tGHQZ DQ0-DQ31 OUTPUT See also Page Read AI08921b Figure 8. Asynchronous Latch controlled bus Read AC waveforms A0-A19 VALID tLHAX L tLHLL tLLLH tEHLX E tGLQX tGLQV tEHQX tEHQZ G tLLQV tLLQX DQ0-DQ31 tGHQX GHQZ OUTPUT See also Page Read AI08922b 47/81 DC and AC parameters Figure 9. A0-A19 M58BW16F, M58BW32F Asynchronous Chip Enable controlled bus Read AC waveforms VALID tLHAX L tEHLX E tGLQX tGLQV tEHQX tEHQZ G tELQX tELQV DQ0-DQ31 tGHQX GHQZ OUTPUT See also Page Read AI13434 Figure 10. Asynchronous Address controlled bus Read AC waveforms A0-A19 VALID tLHAX L tEHLX E tGLQX tGLQV tEHQX tEHQZ G tGHQX GHQZ tAVQV DQ0-DQ31 OUTPUT See also Page Read AI13435 48/81 M58BW16F, M58BW32F Table 18. DC and AC parameters Asynchronous Bus Read AC characteristics M58BWxxF Symbol Parameter Test Condition Unit 45 55 tAVAV Address Valid to Address Valid E = VIL, G = VIL Min 45 55 ns tAVQV Address Valid to Output Valid E = VIL, G = VIL Max 45 55 ns tAXQX Address Transition to Output Transition L = VIL, G = VIL Min 0 0 ns tEHLX Chip Enable High to Latch Enable Transition Min 0 0 ns tEHQX Chip Enable High to Output Transition G = VIL Min 0 0 ns tEHQZ Chip Enable High to Output Hi-Z G = VIL Max 20 20 ns tELQV(1) Chip Enable Low to Output Valid G = VIL Max 45 55 ns tGHQX Output Enable High to Output Transition E = VIL Min 0 0 ns tGHQZ Output Enable High to Output Hi-Z E = VIL Max 15 15 ns tGLQV Output Enable Low to Output Valid E = VIL Max 15 15 ns tGLQX Output Enable Low to Output Transition E = VIL Min 0 0 ns tLHAX Latch Enable High to Address Transition E = VIL Min 5 5 ns tLHLL Latch Enable High to Latch Enable Low Min 10 10 ns tLLLH Latch Enable Low to Latch Enable High E = VIL Min 10 10 ns tLLQV Latch Enable Low to Output Valid Chip Enable Low to Output Valid E = VIL, G = VIL Max 45 55 ns tLLQX Latch Enable Low to Output Transition E = VIL, G = VIL Min 0 0 ns tELQX Chip Enable Low to Output Transition L = VIL, G = VIL Min 0 0 ns 1. Output Enable G may be delayed up to tELQV - tGLQV after the falling edge of Chip Enable E without increasing tELQV. 49/81 DC and AC parameters M58BW16F, M58BW32F Figure 11. Asynchronous Page Read AC waveforms A0-A1 A0 and/or A1 tAVQV1 tAXQX OUTPUT + 1 OUTPUT DQ0-DQ31 AI03646 Table 19. Asynchronous Page Read AC characteristics(1) M58BWxxF Symbol Parameter Test Condition Unit 45 55 tAVQV1 Address Valid to Output Valid E = VIL, G = VIL Max 25 25 ns tAXQX Address Transition to Output Transition E = VIL, G = VIL Min 0 0 ns 1. For other timings see Table 18: Asynchronous Bus Read AC characteristics. 50/81 RP PEN DQ0-DQ31 W G E=L A0-A19 tAVLL tWHEH INPUT tDVWH tWHDX tWHWL tWHAX tWLWH Write Cycle tELWL tAVWH tAVAV VALID INPUT RP = VHH Write Cycle tPHWH tVPHWH VALID tWHQV tWHGL VALID Read Status Register RP = VDD tQVPL tQVVPL VALID SR AI13223b M58BW16F, M58BW32F DC and AC parameters Figure 12. Asynchronous Write AC waveform 51/81 52/81 RP PEN DQ0-DQ31 W G E L A0-A19 tAVLL tLLLH tWHDX Write Cycle tWLWH tELWL tAVWH tLHAX INPUT tLLWH tELLL tAVLH tAVAV VALID tDVWH tVPHWH tWHWL tWHEH tWHAX VALID Write Cycle RP = VHH INPUT tWHQV tWHGL VALID Read Status Register AI13222b RP = VDD tQVPL tQVVPL VALID SR DC and AC parameters M58BW16F, M58BW32F Figure 13. Asynchronous Latch controlled Write AC waveform M58BW16F, M58BW32F Table 20. DC and AC parameters Asynchronous Write and Latch controlled Write AC characteristics M58BWxxF Symbol Parameter Test Condition Unit 45 55 tAVAV Address Valid toAddress Valid Min 45 55 tAVLH Address Valid to Latch Enable High Min 8 8 ns tAVLL Address Valid to Latch Enable Low Min 0 0 ns tAVWH Address Valid to Write Enable High E = VIL Min 25 25 ns tDVWH Data Input Valid to Write Enable High E = VIL Min 25 25 ns tELLL Chip Enable Low to Latch Enable Low Min 0 0 ns tELWL Chip Enable Low to Write Enable Low Min 0 0 ns tLHAX Latch Enable High to Address Transition Min 5 5 ns tLLLH Latch Enable Low to Latch Enable High Min 10 10 ns tLLWH latch Enable Low to Write Enable High Min 25 25 ns tQVVPL Output Valid to PEN Low Min 0 0 ns tVPHWH PEN High to Write Enable High Min 0 0 ns tWHAX Write Enable High to Address Transition E = VIL Min 0 0 ns tWHDX Write Enable High to Input Transition E = VIL Min 0 0 ns tWHEH Write Enable High to Chip Enable High Min 0 0 ns tWHGL Write Enable High to Output Enable Low Min 150 150 ns tWHQV Write Enable High to Output Valid Min 165 165 ns tWHWL Write Enable High to Write Enable Low Min 20 20 ns tWLWH Write Enable Low to Write Enable High Min 25 25 ns tQVPL Output Valid to Reset/Power-down Low Min 0 0 ns E = VIL E = VIL 53/81 54/81 DQ0-DQ31 G E L A0-A19 K VALID tELLL tAVLL 1 Note: n depends on Burst X-Latency. tLLKH tKHLL 0 tKHLH tKHAX Setup tKHQV tGLQV n OUTPUT n+1 n+2 AI08925c tGHQX tGHQZ tEHQX tEHQZ DC and AC parameters M58BW16F, M58BW32F Figure 14. Synchronous Burst Read, Latch Enable controlled (data valid from ’n’ clock rising edge) DQ0-DQ31 G E L A0-A19 B K VALID 1 Note: n depends on Burst X-Latency. tELKH tKHEL 0 tKHLH tKHAX Setup tKHQV tGLQV n+1 OUTPUT tBLKH n n+2 AI13284 tGHQX tGHQZ tEHQX tEHQZ M58BW16F, M58BW32F DC and AC parameters Figure 15. Synchronous Burst Read, Chip Enable controlled (data valid from ’n’ clock rising edge) 55/81 DC and AC parameters M58BW16F, M58BW32F AI13285 tKHQV 56/81 tKHLH Note: n depends on Burst X-Latency. DQ0-DQ31 G E L A0-A19 B K tAVKH 0 1 VALID Setup tKHAX tGLQV n tBLKH OUTPUT n+1 n+2 tEHQX tEHQZ tGHQX tGHQZ Figure 16. Synchronous Burst Read, Valid Address transition controlled (data valid from ’n’ clock rising edge) M58BW16F, M58BW32F DC and AC parameters Figure 17. Synchronous Burst Read (data valid from ’n’ clock rising edge) n n+1 n+2 n+4 n+3 n+5 K tKHQV Q0 DQ0-DQ31 Q1 Q2 Q3 Q4 Q5 tKHQX SETUP Burst Read Q0 to Q3 Note: n depends on Burst X-Latency AI04408c 1. For set up signals and timings see Synchronous Burst Read. Figure 18. Synchronous Burst Read - valid data ready output K Output (1) V V V V V tRLKH R (2) AI03649b 1. Valid Data Ready = Valid Low during valid clock edge 2. V= Valid output. 3. The internal timing of R follows DQ. 57/81 DC and AC parameters M58BW16F, M58BW32F Figure 19. Synchronous Burst Read - burst address advance K A0-A19 VALID L DQ0-DQ31 Q0 Q1 Q2 tGLQV G tBLKH tBHKH B AI03650 Figure 20. Clock input AC waveform tKHKL K tKLKH ai13286 58/81 M58BW16F, M58BW32F Table 21. DC and AC parameters Synchronous Burst Read AC characteristics(1) (2) M58BWxxF Symbol f tAVKH Parameter Clock frequency Test Condition Unit 45 55 X-Latency = 3 Max 40 33 MHz X-Latency = 4 Max 56 40 MHz X-Latency = 5 or 6 Max 75 56 MHz E = VIL, L = VIL X-Latency = 3 Min 9 6 ns E = VIL, L = VIL X-Latency = 4, 5 or 6 Min 6 6 ns Address Valid to Valid Clock Edge, tKHKL Clock High Time Min 6 6 ns tKLKH Clock Low Time Min 6 6 ns tBHKH Burst Address Advance High to Valid Clock Edge E = VIL, G = VIL, L = VIH Min 8 8 ns tBLKH Burst Address Advance Low to Valid Clock Edge E = VIL, G = VIL, L = VIH Min 8 8 ns L = VIL X-Latency = 3 Min 9 6 ns L = VIL X-Latency = 4, 5 or 6 Min 6 6 ns E = VIL, L = VIH Max 15 15 ns tELKH Chip Enable Low to Valid Clock Edge tGLQV Output Enable Low to Output Valid tKHAX Valid Clock Edge to Address Transition E = VIL Min 5 5 ns tKHEL Valid Clock Edge to Chip Enable Low L = VIL Min 0 0 ns tKHLL Valid Clock Edge to Latch Enable Low E = VIL Min 0 0 ns tKHLH Valid Clock Edge to Latch Enable High E = VIL Min 0 0 ns tKHQX Valid Clock Edge to Output Transition E = VIL, G = VIL, L = VIH Min 2 2 ns E = VIL X-Latency = 3 Min 9 6 ns E = VIL X-Latency = 4, 5 or 6 Min 6 6 ns tLLKH Latch Enable Low to Valid Clock Edge, tRLKH Valid Data Ready Low to Valid Clock Edge E = VIL, G = VIL, L = VIH Min 6 6 ns tKHQV Valid Clock Edge to Output Valid E = VIL, G = VIL, L = VIH Max 8 8 ns 1. Data output should be read on the valid clock edge. 2. For other timings see Table 18: Asynchronous Bus Read AC characteristics. 59/81 DC and AC parameters M58BW16F, M58BW32F Figure 21. Reset, Power-Down and Power-up AC waveform W, E, G tPHWL tPHEL tPHGL tPLRH R tPHWL tPHEL tPHGL RP tVDHPH tPLPH VDD, VDDQ Power-Up Reset AI03849b Table 22. Reset, Power-Down and Power-up AC characteristics Symbol tPHEL tPHQV (1) Parameter Reset/Power-down High to Chip Enable Low Min Max 50 Reset/Power-down High to Output Valid Unit ns 130 ns tPHWL Reset/Power-down High to Write Enable Low 50 ns tPHGL Reset/Power-down High to Output Enable Low 50 ns tPLPH Reset/Power-down Low to Reset/Power-down High 100 ns tPLRH Reset/Power-down Low to Valid Data Ready High 2 tVDHPH Supply Voltages High to Reset/Power-down High 50 1. This time is tPHEL + tAVQV or tPHEL + tELQV. 60/81 30 µs µs M58BW16F, M58BW32F 8 Package mechanical Package mechanical In order to meet environmental requirements, ST offers these devices in ECOPACK® packages. These packages have a Lead-free second-level interconnect. 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. ECOPACK is an ST trademark. ECOPACK specifications are available at: www.st.com. Figure 22. LBGA80 10 × 12mm - 8 × 10 ball array, 1mm pitch, bottom view package outline D D1 FD FE SD SE E E1 BALL "A1" ddd e e b A A2 A1 BGA-Z05 1. Drawing is not to scale. 61/81 Package mechanical Table 23. M58BW16F, M58BW32F LBGA80 10 × 12mm - 8 × 10 active ball array, 1mm pitch, package mechanical data millimeters inches Symbol Typ Min A Typ Min 1.700 A1 Max 0.0669 0.350 0.0138 A2 1.100 0.0433 b 0.500 0.0197 D 10.000 – – 0.3937 – – D1 7.000 – – 0.2756 – – ddd 62/81 Max 0.120 0.0047 E 12.000 – – 0.4724 – – E1 9.000 – – 0.3543 – – e 1.000 – – 0.0394 – – FD 1.500 – – 0.0591 – – FE 1.500 – – 0.0591 – – SD 0.500 – – 0.0197 – – SE 0.500 – – 0.0197 – – M58BW16F, M58BW32F Package mechanical Figure 23. PQFP80 - 80 lead Plastic Quad Flat Pack, package outline Ne A2 N 1 e D2 D1 D Nd b E2 A E1 CP L1 E c A1 QFP-B α L 1. Drawing is not to scale. Table 24. PQFP80 - 80 lead Plastic Quad Flat Pack, package mechanical data millimeters inches Symbol Typ Min A Typ Min 3.400 A1 A2 Max 0.1339 0.250 2.800 b 0.0098 2.550 3.050 0.300 0.450 CP 0.1102 0.1004 0.1201 0.0118 0.0177 0.100 c Max 0.130 0.230 0.0039 0.0051 0.0091 D 23.200 22.950 23.450 0.9134 0.9035 0.9232 D1 20.000 19.900 20.100 0.7874 0.7835 0.7913 D2 18.400 – – 0.7244 – – e 0.800 – – 0.0315 – – E 17.200 16.950 17.450 0.6772 0.6673 0.6870 E1 14.000 13.900 14.100 0.5512 0.5472 0.5551 E2 12.000 – – 0.4724 – – L 0.800 0.650 0.950 0.0315 0.0256 0.0374 L1 1.600 – – 0.0630 – – α 0° 7° 0° 7° N 80 80 Nd 24 24 Ne 16 16 63/81 Part numbering 9 M58BW16F, M58BW32F Part numbering Table 25. Ordering information scheme Example: M58BW32F T 4 T 3 T Device Type M58 Architecture B = Burst Mode Operating Voltage W = [2.7 V to 3.6 V] VDD range for 45 ns speed class [2.5 V to 3.3 V] VDD range for 55 ns speed class [2.4 V to VDD] VDDQ range for 45 ns and 55 ns speed classes Device Function 32F = 32 Mbit (x32), Boot Block, Burst, 0.11µm technology 16F = 16 Mbit (x32), Boot Block, Burst, 0.11µm technology Array Matrix T = Top Boot B = Bottom Boot Speed 4 = 45 ns 5 = 55 ns Package T = PQFP80 ZA = LBGA80: 1.0mm pitch Device Grade 3 = Automotive grade certified(1), –40 to 125 °C Option Blank = Standard packing T = Tape & Reel Packing F = ECOPACK® Package, Tape & Reel 24mm Packing 1. Qualified & characterized according to AEC Q100 & Q003 or equivalent, advanced screening according to AEC Q001 & Q002 or equivalent. 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. 64/81 M58BW16F, M58BW32F Appendix A Flowcharts Flowcharts Figure 24. Program flowchart and pseudo code Start Program Command: – write 40h, Address AAh – write Address & Data (memory enters read status state after the Program command) Write 40h Write Address & Data Read Status Register b7 = 1 do: – read status register (E or G must be toggled) NO while b7 = 1 YES b3 = 0 NO PEN Invalid Error (1) NO Program Error (1) NO Program to Protect Block Error If b3 = 1, PEN invalid error: – error handler YES b4 = 0 If b4 = 1, Program error: – error handler YES b1 = 0 If b1 = 1, Program to Protected Block Error: – error handler YES End AI03850e 1. If an error is found, the Status Register must be cleared before further P/E operations. 65/81 Flowcharts M58BW16F, M58BW32F Figure 25. Program Suspend & Resume flowchart and pseudo code Start Write B0h Program/Erase Suspend Command: – write B0h – write 70h Write 70h do: – read status register Read Status Register b7 = 1 NO while b7 = 1 YES b2 = 1 NO Program Complete If b2 = 0, Program completed YES Read Memory Array Command: – write FFh – one or more data reads from other blocks Write FFh Read data from another block Write D0h Write FFh Program Continues Read Data Program Erase Resume Command: – write D0h to resume programming – if the program operation completed then this is not necessary. The device returns to Read Array as normal (as if the Program/Erase Suspend command was not issued). AI00612b 66/81 M58BW16F, M58BW32F Flowcharts Figure 26. Block Erase flowchart and pseudo code Start Erase Command: – write 20h, Address 55h – write Block Address (A11-A19) & D0h (memory enters read status state after the Erase command) Write 20h Write Block Address & D0h NO Read Status Register Suspend b7 = 1 YES NO Suspend Loop do: – read status register (E or G must be toggled) if Erase command given execute suspend erase loop while b7 = 1 YES b3 = 0 NO PEN Invalid Error (1) YES Command Sequence Error NO Erase Error (1) NO Erase to Protected Block Error If b3 = 1, PEN invalid error: – error handler YES b4 and b5 =1 If b4, b5 = 1, Command Sequence error: – error handler NO b5 = 0 If b5 = 1, Erase error: – error handler YES b1 = 0 If b1 = 1, Erase to Protected Block Error: – error handler YES End AI08623d 1. If an error is found, the Status Register must be cleared before further P/E operations. 67/81 Flowcharts M58BW16F, M58BW32F Figure 27. Erase Suspend & Resume flowchart and pseudo code Erase cycle in progress Write B0h Program/Erase Suspend Command Write 70h Read Status Register Do: – Read status register while b7 = 1 (b7 = Program/Erase status bit) b7 = 1 NO YES b6 = 1 NO Erase Complete If b6 = 0, Erase is completed (b6 = Erase Suspend status bit) The device returns to Read mode as normal (as if the Program/Erase Suspend was not issued). YES Write FFh Write FFh Read data from another block or Program Write D0h Read Memory Array command: – Write FFh – One or more data reads from other blocks Read Data Program/Erase Resume command: – Write D0h to resume the Erase operation Erase Continues AI00615c 68/81 M58BW16F, M58BW32F Flowcharts Figure 28. Power-up sequence followed by Synchronous Burst Read Power-up or Reset Asynchronous Read Write 60h command BCR bit 15 = '1' Set Burst Configuration Register Command: – write 60h – write 03h and BCR on A15-A0 Write 03h with A15-A0 BCR inputs Synchronous Read BCR bit 15 = '0' BCR bit 14-bit 0 = '1' AI03834 69/81 Flowcharts M58BW16F, M58BW32F Figure 29. Command Interface and Program Erase Controller flowchart (a) WAIT FOR COMMAND WRITE 90h READ ARRAY NO YES READ ELEC. SIGNATURE 98h NO D YES READ CFI 70h NO YES READ STATUS 20h NO YES ERASE SET-UP 40h NO YES ERASE COMMAND ERROR NO D0h PROGRAM SET-UP 50h YES A YES C NO E CLEAR STATUS D READ STATUS B AI03835 70/81 M58BW16F, M58BW32F Flowcharts Figure 30. Command Interface and Program Erase Controller flowchart (b) E 48h NO YES TP PROGRAM SET_UP 78h NO YES F TP UNLOCK SET_UP 60h NO YES FFh G SET BCR SET_UP 03h NO YES NO YES D AI03836 71/81 Flowcharts M58BW16F, M58BW32F Figure 31. Command Interface and Program Erase Controller flowchart (c) A B ERASE YES READY NO NO B0h READ STATUS YES ERASE SUSPEND YES READY NO NO ERASE SUSPENDED READ STATUS YES READ STATUS YES 70h NO 40h YES PROGRAM SET_UP NO READ ARRAY NO D0h C YES READ STATUS AI03837 72/81 M58BW16F, M58BW32F Flowcharts Figure 32. Command Interface and Program Erase Controller flowchart (d) C B PROGRAM YES READY NO B0h NO READ STATUS YES PROGRAM SUSPEND YES READY NO NO PROGRAM SUSPENDED READ STATUS YES READ STATUS YES 70h NO READ ARRAY NO D0h YES READ STATUS AI03838 73/81 Flowcharts M58BW16F, M58BW32F Figure 33. Command Interface and Program Erase Controller flowchart (e) F B TP PROGRAM YES READY NO READ STATUS NO READ STATUS G B TP UNLOCK YES READY AI03839 74/81 M58BW16F, M58BW32F Appendix B Common Flash Interface (CFI) Common Flash Interface (CFI) The Common Flash Interface is a JEDEC approved, standardized data structure that can be read from the Flash memory device. It allows a system software to query the device to determine various electrical and timing parameters, density information and functions supported by the memory. The system can interface easily with the device, enabling the software to upgrade itself when necessary. When the CFI Query Command (RCFI) is issued the device enters CFI Query mode and the data structure is read from the memory. Table 26, Table 27, Table 28, Table 31 and Table 30 show the addresses used to retrieve the data. Table 26. Query structure overview Offset Sub-section Name Description 00h 0020h Manufacturer Code ST 01h 883A 8839 8838 8837 Device Code 10h CFI Query Identification String Command set ID and algorithm data offset 1Bh System Interface Information Device timing and voltage information 27h Device Geometry Definition Flash memory layout P(h)(1) Primary Algorithm-specific Extended Query Table Additional information specific to the Primary Algorithm (optional) A(h)(2) Alternate Algorithm-specific Extended Query Table Additional information specific to the Alternate Algorithm (optional) M58BW16FT (top) M58BW16FB (bottom) M58BW32FT (top) M58BW32FB (bottm) 1. Offset 15h defines P which points to the Primary Algorithm Extended Query Address Table. 2. Offset 19h defines A which points to the Alternate Algorithm Extended Query Address Table. 75/81 Common Flash Interface (CFI) M58BW16F, M58BW32F CFI - Query address and data output(1) (2) Table 27. Address A0-Amax Data Instruction 10h 51h "Q" 11h 52h "R" 12h 59h "Y" 13h 03h 14h 00h 15h 35h (M58BW16F) 39h (M58BW32F) 16h 00h 17h 00h 18h 00h 19h 00h 1Ah 00h 51h; "Q" Query ASCII String 52h; "R" 59h; "Y" Primary Vendor: Command Set and Control Interface ID Code Primary algorithm extended Query Address Table: P(h) Alternate Vendor: Command Set and Control Interface ID Code Alternate Algorithm Extended Query address Table 1. The x8 or Byte Address and the x16 or Word Address mode are not available. 2. Query Data are always presented on DQ7-DQ0. DQ31-DQ8 are set to '0'. Table 28. CFI - Device voltage and timing specification Address A0-Amax Data 1Bh 27h(1) VDD min 2.7 V 1Ch 36h(1) VDD max 3.6 V 1Dh xxxx xxxxh Reserved 1Eh xxxx xxxxh Reserved 1Fh 04h 20h xxxx xxxxh 21h 0Ah 22h xxxx xxxxh Reserved 23h xxxx xxxxh Reserved 24h xxxx xxxxh Reserved 25h xxxx xxxxh Reserved 26h xxxx xxxxh Reserved Description 2n µs typical for Word, DWord prog Reserved 2n ms, typical time-out for Erase Block 1. Bits are coded in Binary Code Decimal, bit7 to bit4 are scaled in Volts and bit3 to bit0 in mV. 76/81 Value 1s M58BW16F, M58BW32F Table 29. Common Flash Interface (CFI) M58BW16F device geometry definition Address A0-Amax Data Description 27h 15h 2n number of bytes memory size 2 MBytes 28h 03h Device Interface Sync./Async. x32 29h 00h Organization Sync./Async. Async. 2Ah 00h 2Bh 00h 2Ch 02h 2Dh 1Eh 2Eh 00h 2Fh 00h 30h 01h 31h 07h 32h 00h 33h 20h 34h 00h Maximum number of Byte in multi-Byte program = 2n 32 Bytes Bit7-0 = number of Erase Block Regions in device 2 Number (n-1) of erase blocks of identical size; n=31 31 blocks Erase Block region information x 256 bytes per Erase 512 Kbits Block (64 Kbytes) Number (n-1) of erase blocks of identical size; n=8 Table 30. Value 8 blocks Erase Block region information x 256 bytes per Erase 64 Kbits Block (8 Kbytes) M58BW16F extended query information Address offset Address Amax-A0 (P)h 35h 50 P (P+1)h 36h 52 R (P+2)h 37h 49 Y (P+3)h 38h 31h Major revision number (P+4)h 39h 31h Minor revision number Optional Feature: (1=yes, 0=no) bit0, Chip Erase Supported (0= no) bit1, Suspend Erase Supported (1=yes) bit2, Suspend Program Supported (1=yes) bit3, Lock/Unlock Supported (0=no) bit4, Queue Erase Supported (0=no) bit5, Instant individual block locking (0=no) bit6, Protection bits supported (0=no) bit7, Page read supported (1=yes) bit8, Synchronous read supported (1=yes) Bit 9 reserved Data (Hex) (P+5)h 3Ah 86h (P+6)h 3Bh 01h (P+7)h 3Ch 00h (P+8)h 3Dh 00h Description Query ASCII string - Extended Table Synchronous read supported 77/81 Common Flash Interface (CFI) Table 30. M58BW16F, M58BW32F M58BW16F extended query information (continued) Address offset Address Amax-A0 Data (Hex) (P+9)h 3Eh 01h (P+A)h-(P+40)h 3Fh-7Fh (P+41)h 80h xxxx xxxxh Unique Device ID - 1 (16 bits) (P+42)h 81h xxxx xxxxh Unique Device ID - 2 (16 bits) (P+43)h 82h xxxx xxxxh Unique Device ID - 3 (16 bits) (P+44)h 83h xxxx xxxxh Unique Device ID - 4 (16 bits) Table 31. Description Function allowed after Suspend: Program allowed after Erase Suspend (1=yes) Bit 7-1 reserved for future use Reserved M58BW32F device geometry definition Address A0-Amax Data Description 27h 16h 2n number of bytes memory size 4 MBytes 28h 03h Device Interface Sync./Async. x32 29h 00h Organization Sync./Async. Async. 2Ah 05h Page size in bytes, 2n 32 Bytes 2Bh 00h 2Ch 03h Bit7-0 = number of Erase Block Regions in device 3 2Dh 3Dh 62 2Eh 00h Number (n-1) of Erase Block Regions of identical size; n = 62 2Fh 00h 30h 01h 31h 07h 32h 00h 33h 20h 34h 00h 35h 03h 36h 00h 37h 40h 38h 00h Erase Block region information x 256 bytes per Erase 512 Kbits Block (64 Kbytes) Number (n-1) of Erase blocks of identical size; n = 8 78/81 Value 8 blocks Erase Block region information x 256 bytes per Erase 64 Kbits Block (8 Kbytes) Number (n-1) of Erase Block of identical size; n = 4 4 blocks Erase Block Region Information x 256 bytes per Erase block (16 Kbytes) 128 Kbits M58BW16F, M58BW32F Table 32. Common Flash Interface (CFI) M58BW32F Extended query information Address offset Address Amax-A0 (P)h 39h 50 P (P+1)h 3Ah 52 R (P+2)h 3Bh 49 Y (P+3)h 3Ch 31h Major revision number (P+4)h 3Dh 31h Minor revision number Optional Feature: (1=yes, 0=no) bit0, Chip Erase Supported (0= no) bit1, Suspend Erase Supported (1=yes) bit2, Suspend Program Supported (1=yes) bit3, Lock/Unlock Supported (0=no) bit4, Queue Erase Supported (0=no) bit5, Instant individual block locking (0=no) bit6, Protection bits supported (0=no) bit7, Page read supported (1=yes) bit8, Synchronous read supported (1=yes) Bit 9 reserved Data (Hex) (P+5)h 3Eh 86h (P+6)h 3Fh 01h (P+7)h 40h 00h (P+8)h 41h 00h 01h Description Query ASCII string - Extended Table Synchronous read supported Function allowed after Suspend: Program allowed after Erase Suspend (1=yes) Bit 7-1 reserved for future use (P+9)h 42h (P+A)h-(P+40)h 43h-7Fh (P+41)h 80h xxxx xxxxh Unique Device ID - 1 (16 bits) (P+42)h 81h xxxx xxxxh Unique Device ID - 2 (16 bits) (P+43)h 82h xxxx xxxxh Unique Device ID - 3 (16 bits) (P+44)h 83h xxxx xxxxh Unique Device ID - 4 (16 bits) Reserved 79/81 Revision history M58BW16F, M58BW32F Revision history Table 33. Document revision history Date Revision 09-Jun-2006 1 Initial release. 2 VPEN signal renamed as PEN and Program/Erase Enable (PEN) modified. Continuous burst and wrap options are not available, X-Latencies 7 and 8 removed (see Table 8: Burst Configuration Register and Table 9: Burst type definition). Notes removed below Table 8. tWHQV timing modified in Table 20: Asynchronous Write and Latch controlled Write AC characteristics. IDD max modified and IDD4 added to Table 17: DC characteristics. tAXQX modified in Table 19: Asynchronous Page Read AC characteristics. Read access specified in Asynchronous Bus Read and Synchronous Burst Read. tAVKH and tALKH added and tKHQV for 55 ns modified in Table 21: Synchronous Burst Read AC characteristics. Figure 9, Figure 10, Figure 18 and Figure 19 added. Double Word Program max modified and Minimum effective erase time added to Table 12: Program, Erase times and endurance cycles. All Asynchronous Bus Read AC characteristics brought together in Table 18: Asynchronous Bus Read AC characteristics. tLLEL removed from Table 18 and Figure 7. Appendix B: Common Flash Interface (CFI) modified. 23-Nov-2006 80/81 Changes M58BW16F, M58BW32F Please Read Carefully: Information in this document is provided solely in connection with ST products. STMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, modifications or improvements, to this document, and the products and services described herein at any time, without notice. All ST products are sold pursuant to ST’s terms and conditions of sale. Purchasers are solely responsible for the choice, selection and use of the ST products and services described herein, and ST assumes no liability whatsoever relating to the choice, selection or use of the ST products and services described herein. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted under this document. If any part of this document refers to any third party products or services it shall not be deemed a license grant by ST for the use of such third party products or services, or any intellectual property contained therein or considered as a warranty covering the use in any manner whatsoever of such third party products or services or any intellectual property contained therein. UNLESS OTHERWISE SET FORTH IN ST’S TERMS AND CONDITIONS OF SALE ST DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY WITH RESPECT TO THE USE AND/OR SALE OF ST PRODUCTS INCLUDING WITHOUT LIMITATION IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (AND THEIR EQUIVALENTS UNDER THE LAWS OF ANY JURISDICTION), OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. UNLESS EXPRESSLY APPROVED IN WRITING BY AN AUTHORIZED ST REPRESENTATIVE, ST PRODUCTS ARE NOT RECOMMENDED, AUTHORIZED OR WARRANTED FOR USE IN MILITARY, AIR CRAFT, SPACE, LIFE SAVING, OR LIFE SUSTAINING APPLICATIONS, NOR IN PRODUCTS OR SYSTEMS WHERE FAILURE OR MALFUNCTION MAY RESULT IN PERSONAL INJURY, DEATH, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE. ST PRODUCTS WHICH ARE NOT SPECIFIED AS "AUTOMOTIVE GRADE" MAY ONLY BE USED IN AUTOMOTIVE APPLICATIONS AT USER’S OWN RISK. Resale of ST products with provisions different from the statements and/or technical features set forth in this document shall immediately void any warranty granted by ST for the ST product or service described herein and shall not create or extend in any manner whatsoever, any liability of ST. ST and the ST logo are trademarks or registered trademarks of ST in various countries. Information in this document supersedes and replaces all information previously supplied. The ST logo is a registered trademark of STMicroelectronics. All other names are the property of their respective owners. © 2006 STMicroelectronics - All rights reserved STMicroelectronics group of companies Australia - Belgium - Brazil - Canada - China - Czech Republic - Finland - France - Germany - Hong Kong - India - Israel - Italy - Japan Malaysia - Malta - Morocco - Singapore - Spain - Sweden - Switzerland - United Kingdom - United States of America www.st.com 81/81