APPLICATION NOTE Migrating Spansion S29GL_P to Macronix MX29GL_F 1. Introduction Macronix offers MX29GL _F parallel flash from 128Mb to 1Gb for diverse applications, and provide high performance Read and Write functionality. MX29GL_F and Spansion S29GL-P are hardware, software, and feature compatible. This application note explains how to simply and easily replace Spansion S29GL_P with Macronix MX29GL_F. 2. Feature Comparison Both flash device families have similar features and functions. The following table shows the basic features provided: Type / Function Vcc voltage I/O voltage range WP# pin function Software Protected Mode Bus Width Sector Size Page Read buffer Write buffer OTP Security Region Manufacture ID 128Mb 256Mb Device ID 512Mb 1Gb Package Macronix MX29GL_F 2.7V ~ 3.6V 2.7V ~ 3.6V (H/L type*1) 1.65V ~ 3.6V (U/D type*2) Highest/Lowest address sector Password (64bits) Solid Protection*3 x8 / x16 128KB 8Words / 16Bytes 32Words / 64Bytes 128Words / 256Bytes C2h 227E/2221/2201 227E/2222/2201 227E/2223/2201 227E/2228/2201 56-TSOP (14x20mm) 64-LFBGA (11x13mm) Spansion S29GL_P 2.7V ~ 3.6V 2.7V ~ 3.6V (01/02 type*1) 1.65V ~ 3.6V (V1/V2 type*2) Highest/Lowest address sector Password (64bits) Persistent Protection*3 X8 / x16 128KB 8Words / 16Bytes 32Words / 64Bytes 128Words /256 Bytes 01h 227E/2221/2201 227E/2222/2201 227E/2223/2201 227E/2228/2201 56-TSOP (14x20mm) 64-LFBGA (11x13mm) Note: 1. Macronix ‘H/L’ is same as Spansion ‘01/02’ definition. H / 01 type is “VI/O = Vcc = 2.7 ~ 3.6V, highest address sector protected.” L / 02 type is “VI/O = Vcc = 2.7 ~ 3.6V, lowest address sector protected.” 2. Macronix ‘U/D’ is same as Spansion ‘V1/V2’ definition. Macronix: 128Mb~256Mb; Spansion: 128Mb~1Gb U / V1 type is “VI/O = 1.65 ~ Vcc, Vcc = 2.7 ~ 3.6V, highest address sector protected.” D / V2 type is “VI/O = 1.65 ~ Vcc, Vcc = 2.7 ~ 3.6V, lowest address sector protected.” 3. Solid Protection is same function as Persistent Protection, which is just different naming. Publication Number: AN-144 1 FEB. 22, 2012 APPLICATION NOTE Migrating Spansion S29GL_P to Macronix MX29GL_F 3. Performance Comparison The following table shows MX29GL_F series and S29GL_P series Read/Write performance; this should be used as a reference for the design. Read Function Performance (random read and page read): Read function 128Mb Random Read Access time 256Mb Macronix MX29GL_F 90ns (H/L type) 110ns(U/D type) 100ns (H/L type) 110ns(U/D type) 512Mb 110ns (H/L type) * 1Gb 110ns (H/L type) * Page Access time 25ns (H/L type ) 30ns (U/D type) Spansion S29GL_P 100ns (01/02 type) 110ns (V1/V2 type) 100ns (01/02 type) 110ns(V1/V2 type) 110ns (01/02 type) 120ns(V1/V2 type) 120ns (01/02 type) 130ns(V1/V2 type) 25ns (01/02/V1/V2 type) * Macronix 512Mb and 1Gb devices only offer VI/O = Vcc (H/L type). Write Function Performance (program and erase): Write Function Word Program time 128Mb Total Write Buffer 256Mb time 512Mb 1Gb Sector Erase time 128Mb 256Mb Chip Erase time 512Mb 1Gb Write/Erase Cycles(Endurance) Publication Number: AN-144 Macronix MX29GL_F 11us 120us 120us 120us 70us 0.6s 64s 128s 256s 512s Spansion S29GL_P 60us 480us 480us 480us 480us 0.5s 64s 128s 256s 512s 100,000 100,000 2 FEB. 22, 2012 APPLICATION NOTE Migrating Spansion S29GL_P to Macronix MX29GL_F 4. DC Characteristics Comparison Both flash series characteristics are similar in primary features and functions. However, there are minor differences in DC characteristics. Designers should evaluate these differences to determine if they would be a concern in their application. Read current is similar. Macronix is better in Write Current; Spansion is better in Standby Current. Read / Write Current: DC Characteristic Read Current Page Read Current 128Mb 256Mb Standby Current 512Mb 1Gb 128Mb 256Mb Write Current 512Mb 1Gb Macronix MX29GL_F 50mA (Max) @ 5MHz 20mA (Max) @ 33MHz 100uA (Max) 100uA (Max) 200uA (Max) 400uA (Max) 30mA(Max) 30mA(Max) 30mA(Max) 60mA(Max) Spansion S29GL_P 55mA (Max) @ 5MHz 20mA (Max) @ 33MHz 5uA (Max) 5uA (Max) 5uA (Max) 5uA (Max) 90mA (Max) 90mA (Max) 90mA (Max) 90mA (Max) This section will show voltage values between the two families. Generally they are same when VI/O is connected to Vcc. If VI/O is used below Vcc, the input/output voltage has a slight difference. Publication Number: AN-144 3 FEB. 22, 2012 APPLICATION NOTE Migrating Spansion S29GL_P to Macronix MX29GL_F Input / Output Voltage: DC Characteristic Very High Voltage Macronix MX29GL_F 9.5V ~ 10.5V*1 Input Low 128Mb/256Mb Voltage 512Mb/1Gb -0.1V (Min) / 0.3VI/O (Max) -0.1V (Min) / 0.3Vcc (Max)* Spansion S29GL_P 11.5V ~ 12.5V*1 2 -0.1V(Min) / 0.3VI/O(Max) -0.1V(Min) / 0.3VI/O(Max) 0.7VI/O (Min) / VI/O+0.3V (Max) Input High 128Mb/256Mb 0.7VI/O (Min) / VI/O+0.3V (Max) Voltage 512Mb/1Gb 0.7Vcc (Min) / Vcc+0.3V(Max)* 2 0.7VI/O(Min) / VI/O+0.3V(Max) Output Low Voltage Output High 128Mb/256Mb Voltage 512Mb/1Gb 0.45V (Max) 0.85VI/O (Min) 0.15VI/O (Max) 0.85VI/O (Min) 0.85Vcc (Min)*2 0.85VI/O (Min) Note: (1) The major difference is Very High Voltage range, it may damage flash device, if designer inputs wrong voltage. (2) Macronix 512Mb and 1Gb devices only offer VI/O = Vcc option, the Input and output voltage are defined by Vcc range. Publication Number: AN-144 4 FEB. 22, 2012 APPLICATION NOTE Migrating Spansion S29GL_P to Macronix MX29GL_F 5. Hardware Consideration Macronix device has same footprint with Spansion device. Refer TSOP56 & LFBGA64. Note: Macronix 512Mb, 1Gb devices only offer a VI/O = Vcc option; VI/O = 1.65 ~ Vcc is not supported. 56-TSOP (14x20mm) A23 A22 A15 A14 A13 A12 A11 A10 A9 A8 A19 A20 WE# RESET# A21 WP#/ACC RY/BY# A18 A17 A7 A6 A5 A4 A3 A2 A1 NC NC 1 NC on MX29GL128F 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 NC on MX29GL128F/256F 56 NC on MX29GL128F/256F/512F 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 MX29GL_F A24 A23 A25 A22 A16 A15 BYTE# A14 GND A13 Q15/A-1 A12 Q7 A11 Q14 A10 Q6 A9 Q13 A8 Q5 A19 Q12 A20 Q4 WE# VCC RESET# Q11 A21 Q3 WP#/ACC Q10 RY/BY# Q2 A18 Q9 A17 Q1 A7 Q8 A6 Q0 A5 OE# A4 GND A3 CE# A2 A0 A1 NC NC VI/O NC 1 NC on S29GL128P 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 NC on S29GL128P/256F 56 NC on S29GL128P/256P/512P 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 S29GL_P A24 A25 A16 BYTE# VSS DQ15/A-1 DQ7 DQ14 DQ6 DQ13 DQ5 DQ12 DQ4 VCC DQ11 DQ3 DQ10 DQ2 DQ9 DQ1 DQ8 DQ0 OE# VSS CE# A0 NC VI/O Macronix GND (Pin 52, Pin 33) = Spansion VSS ( Pin 52, Pin 33) Publication Number: AN-144 5 FEB. 22, 2012 APPLICATION NOTE Migrating Spansion S29GL_P to Macronix MX29GL_F 64-LFBGA (11x13mm) MX29GL_F S29GL_P 8 NC A22 A23 VIO GND A24 A25 NC 8 NC A22 A23 VIO VSS A24 A25 NC 7 A13 A12 A14 A15 A16 BYTE # Q15/A -1 GND 7 A13 A12 A14 A15 A16 BYTE # Q15/A -1 VSS 6 A9 A8 A10 A11 Q7 Q14 Q13 Q6 6 A9 A8 A10 A11 DQ7 DQ14 DQ13 DQ6 5 WE# RESET# A21 A19 Q5 Q12 VCC Q4 5 WE# RESET# A21 A19 DQ5 DQ12 VCC DQ4 4 RY/ BY# WP#/ ACC A18 A20 Q2 Q10 Q11 Q3 4 RY/ BY# WP#/ ACC A18 A20 DQ2 DQ10 DQ11 DQ3 3 A7 A17 A6 A5 Q0 Q8 Q9 Q1 3 A7 A17 A6 A5 DQ0 DQ8 DQ9 DQ1 2 A3 A4 A2 A1 A0 CE# OE# GND 2 A3 A4 A2 A1 A0 CE# OE# VSS 1 NC NC NC NC NC VIO NC NC 1 NC NC NC NC NC VIO NC NC F G H F G H A B C D E C8: NC on MX29GL128F F8: NC on MX29GL128F/256F G8: NC on MX29GL128F/256F/512F A B C D E C8: NC on S29GL128P F8: NC on S29GL128P/256P G8: NC on S29GL128P/256P/512P 6. Software Considerations Basic command sets and writes status checking methods used by both flash families are similar. The algorithm descriptions may be slightly different, but the concepts are the same. The flow charts on pages 7 and 8 are applicable to both flash families. It may have minor modification on algorithm using in different applications. Basic Command Table (Word mode) MX29GL_F and S29GL_P have same basic command set. The read operation and write command could be used directly without any modification. Below table shows the command set in Word mode. Publication Number: AN-144 6 FEB. 22, 2012 APPLICATION NOTE Migrating Spansion S29GL_P to Macronix MX29GL_F Basic Command Table of MX29GL_F and S29GL_P Read Reset Program Write to Buffer Chip Erase Sector Erase Program/Erase Suspend Program/Erase Resume Addr Addr XXX 555h 555h 555h 555h XXX XXX Data Data F0h AAh AAh AAh AAh B0h 30h Addr 2AAh 2AAh 2AAh 2AAh Data 55h 55h 55h 55h Addr 555h SA 555h 555h Data A0h 25h 80h 80h Addr Addr SA Command 1st Bus Cycle nd 2 Bus Cycle rd 3 Bus Cycle th 4 Bus Cycle th 5 Bus Cycle th 6 Bus Cycle Data Data Addr Data Addr Data Note: 1. SA: Sector Address 2. N-1: Word Count 3. WA: Write Address 4. WD: Write Data 5. WBL: Write Buffer Location *1 555h 555h *2 AAh AAh *3 2AAh 2AAh *4 55h 55h WBL 555h SA WD 10h 30h N-1 WA WD *5 Write Status Checking Method When flash is in program/erase process, designer can use either the “Polling Method” or the “Toggle Bit Method” to monitor the write operation. Both are standard algorithms in parallel flash. Both methods are described in the following sections. Publication Number: AN-144 7 FEB. 22, 2012 APPLICATION NOTE Migrating Spansion S29GL_P to Macronix MX29GL_F Polling Method Polling method is one of the techniques for checking write status. It checks Q7 (data complement bit) and Q5 (time out bit) values during the operation. During write operations, Q7 continues to output Data# and Q5 outputs “0”. After the write operation completes, Q7 will output true Data. The flow chart below shows the polling algorithm. Start Read Q7~Q0 at valid address No Q7 = Data# ? Yes No Q5 = 1 ? Yes Read Q7~Q0 at valid address No Q7 = Data# ? Yes Fail Publication Number: AN-144 Pass 8 FEB. 22, 2012 APPLICATION NOTE Migrating Spansion S29GL_P to Macronix MX29GL_F Toggle Bit Method Toggle bit method is the other technique for checking write status. It checks the Q6 (toggle bit) value during the write operation. While the operation is in progress, Q6 will toggle between “1” and “0” after each consecutive read. When the write operation finishes, Q6 will stop toggling. The flow chart below shows the toggle bit algorithm. Start Read Q7~Q0 Twice No Q6 Toggle ? Yes No Q5 = 1 ? Yes Read Q7~Q0 Twice No Q6 Toggle? Yes PGM/ERS fail Write Reset CMD Publication Number: AN-144 PGM/ERS Complete 9 FEB. 22, 2012 APPLICATION NOTE Migrating Spansion S29GL_P to Macronix MX29GL_F 7. Manufacturer ID & Device ID Command Manufacturer IDs are different and permits software to identify the device manufacturer, but Device IDs are the same. The same command set is used read the different Manufacturer IDs. Manufacturer & Device ID command Flash Vender 1st Bus Cycle (command) 2nd Bus Cycle (command) 3rd Bus Cycle (command) 4th Bus Cycle (ID output) Address Data Address Data Address Data Address Data Address 5th Bus Cycle (ID output) Data 6th Bus Cycle (ID output) Address Data MX29GL_F S29GL_P MX29GL_F S29GL_P 555h AAh 2AAh 55h 555h 90h X00h C2h 555h AAh 2AAh 55h 555h 90h X00h 01h 555h AAh 2AAh 55h 555h 90h X01h 227Eh X0Eh 2221h (128Mb) 2222h (256Mb) 2223h (512Mb) 2228h (1Gb) X0Fh 2201h 555h AAh 2AAh 55h 555h 90h X01h 227Eh X0Eh 2221h (128Mb) 2222h (256Mb) 2223h (512Mb) 2228h (1Gb) X0Fh 2201h Note. (1) Device ID can be read out after Manufacturer ID with proper address and does not need another command sequence. (2) Use Reset command (F0h) to return to normal read mode. With the exception of the Manufacturer ID, all other commands are the same in usage and response, such as Erase, Read, Page read, and Buffer write functions. 8. Conclusion Macronix MX29GL_F and Spansion S29GL_P Parallel Flash have identical PCB footprints, similar software functions, and similar features. Overall, the S29GL_P to Macronix MX29GL_F migration only requires minimal software modifications. Publication Number: AN-144 10 FEB. 22, 2012 APPLICATION NOTE Migrating Spansion S29GL_P to Macronix MX29GL_F 9. Appendix The table will show basic part number and package information cross reference between Macronix MX29GL_F and Spansion S29GL_P. Density 128Mb 256Mb 512Mb 1Gb Macronix Part Spansion Part MX29GL128FHT2I-90G MX29GL128FLT2I-90G MX29GL128FUT2I-11G MX29GL128FDT2I-11G MX29GL128FHXFI-90G MX29GL128FLXFI-90G MX29GL128FUXFI-11G MX29GL128FDXFI-11G MX29GL256FHT2I-90Q MX29GL256FLT2I-90Q MX29GL256FUT2I-11G MX29GL256FDT2I-11G MX29GL256FHXFI-90Q MX29GL256FLXFI-90Q MX29GL256FUXFI-11G MX29GL256FDXFI-11G MX29GL512FHT2I-10Q*1 MX29GL512FLT2I-10Q*1 MX29GL512FHXFI-10Q*1 MX29GL512FLXFI-10Q*1 MX68GL1G0FHT2I-11G*1,2 MX68GL1G0FLT2I-11G*1,2 MX68GL1G0FHXFI-11G*1,2 MX68GL1G0FLXFI-11G*1,2 S29GL128P10TFI01 S29GL128P10TFI02 S29GL128P11TFIV1 S29GL128P11TFIV2 S29GL128P10FFI01 S29GL128P10FFI02 S29GL128P11FFIV1 S29GL128P11FFIV2 S29GL256P10TFI01 S29GL256P10TFI02 S29GL256P11TFIV1 S29GL256P11TFIV2 S29GL256P10FFI01 S29GL256P10FFI02 S29GL256P11FFIV1 S29GL256P11FFIV2 S29GL512P11TFI01 S29GL512P11TFI02 S29GL512P11FFI01 S29GL512P11FFI02 S29GL01GP12TFI01 S29GL01GP12TFI02 S29GL01GP12FFI01 S29GL01GP12FFI02 Package Dimension 56-TSOP 14x20mm 64-LFBGA 11x13x14mm 0.6mm ball 56-TSOP 14x20mm 64-LFBGA 11x13x14mm 0.6mm ball 56-TSOP 14x20mm 64-LFBGA 11x13x14mm 0.6mm ball 56-TSOP 14x20mm 64-LFBGA 11x13x14mm 0.6mm ball Note: 1: MX68GL1G0F and MX29GL512F-10Q are2 dies solution, they’re same family as MX29GL_F, and it will use MX29GL_F to present it. 2. MX68GL1G0F performance is based on advance information. Publication Number: AN-144 11 FEB. 22, 2012 APPLICATION NOTE Migrating Spansion S29GL_P to Macronix MX29GL_F Except for customized products which have been expressly identified in the applicable agreement, Macronix's products are designed, developed, and/or manufactured for ordinary business, industrial, personal, and/or household applications only, and not for use in any applications which may, directly or indirectly, cause death, personal injury, or severe property damages. In the event Macronix products are used in contradicted to their target usage above, the buyer shall take any and all actions to ensure said Macronix's product qualified for its actual use in accordance with the applicable laws and regulations; and Macronix as well as it’s suppliers and/or distributors shall be released from any and all liability arisen therefrom. Copyright© Macronix International Co., Ltd. 2012. All rights reserved, including the trademarks and tradename thereof, such as Macronix, MXIC, MXIC Logo, MX Logo, Integrated Solutions Provider, NBit, NBiit, Macronix NBit, eLiteFlash, XtraROM, Phines, KH Logo, BE-SONOS, KSMC, Kingtech, MXSMIO, Macronix vEE, Macronix MAP, Rich Audio, Rich Book, Rich TV, and FitCAM. The names and brands of other companies are for identification purposes only and may be claimed as the property of the respective companies. For the contact and order information, please visit Macronix’s Web site at: http://www.macronix.com Publication Number: AN-144 12 FEB. 22, 2012