APPLICATION NOTE Replacing Spansion S29GL_S with Macronix MX29GL_F 1. Introduction Macronix offers MX29GL_F high performance parallel flash in densities from 128Mb to 1Gb. MX29GL_F and Spansion® S29GL_S devices have similar features, performance, and command codes. This application note explains how to accommodate device differences when migrating from Spansion® S29GL_S devices to equivalent Macronix MX29GL_F parallel flash. The information in this document is based on datasheets listed in Section 12. Newer versions of the datasheets may override the contents of this document. P/N: AN-0143 1 Ver.02, Sep. 27, 2013 APPLICATION NOTE Replacing Spansion S29GL_S with Macronix MX29GL_F 2. General Features Both flash device families have similar features and functions (Table 2-1). Table 2-1: Features Type / Function Vcc Voltage Range OTP Security Region Macronix MX29GL_F 2.7V ~ 3.6V 2.7V ~ 3.6V (H/L type*1) 1.65V ~ 3.6V (U/D type*2) x16 / x8 128KB 8Words 32Words Highest/Lowest address sector Password (64bits) Solid Protection*3 128Words Write Status Polling Data Polling Multi-Sector Erase Blank Check Command CFI Table Length Manufacture ID Yes No 40Words C2h Spansion® S29GL_S 2.7V ~ 3.6V 2.7V ~ 3.6V (01/02 type*1) 1.65V ~ 3.6V (V1/V2 type*2) x16 only 128KB 16Words 256Words Highest/Lowest address sector Password (64bits) Persistent Protection*3 256Words x 2 Data Polling & Status Register No Yes 40Words + extend 8Words*4 01h 227Eh / 2221h / 2201h 227Eh / 2222h / 2201h 227Eh / 2223h / 2201h 227Eh / 2228h / 2201h 227Eh / 2221h / 2201h 227Eh / 2222h / 2201h 227Eh / 2223h / 2201h 227Eh / 2228h / 2201h 56-TSOP (14x20mm) 64-LFBGA (11x13mm) 56-TSOP (14x20mm) 64-LFBGA (11x13mm) I/O Voltage Range Bus Width Sector Size Page Read Buffer Write Buffer WP# Pin Function Software Protected Mode Device ID Package 128Mb 256Mb 512Mb 1Gb 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. 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 provides the same function as Persistent Protection. 4. Both families support CFI mode. Spansion’s CFI table includes an extra 8Words of additional information. P/N: AN-0143 2 Ver.02, Sep. 27, 2013 APPLICATION NOTE Replacing Spansion S29GL_S with Macronix MX29GL_F 3. Package and Pinout The Macronix and Spansion® families have similar footprints and pinouts. 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 A24 A25 A16 BYTE# GND Q15/A-1 Q7 Q14 Q6 Q13 Q5 Q12 Q4 VCC Q11 Q3 Q10 Q2 Q9 Q1 Q8 Q0 OE# GND CE# A0 NC VI/O 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 A23 A22 A15 A14 A13 A12 A11 A10 A9 A8 A19 A20 WE# RESET# A21 WP# RY/BY# A18 A17 A7 A6 A5 A4 A3 A2 A1 RFU DNU 1 NC on S29GL128S 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 Reserve for Future Use 28 Do Not Use NC on S29GL128S/256S 56 NC on S29GL128S/256S/512S 55 54 Reserve for Future Use 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 Reserve for Future Use 30 29 S29GL_S A24 A25 A16 RFU VSS DQ15/A-1 DQ7 DQ14 DQ6 DQ13 DQ5 DQ12 DQ4 VCC DQ11 DQ3 DQ10 DQ2 DQ9 DQ1 DQ8 DQ0 OE# VSS CE# A0 RFU VI/O Macronix GND (Pin 52, Pin 33) = Spansion VSS ( Pin 52, Pin 33) Macronix Byte# pin ( Pin 53) needs to be pulled high. Spansion reserves Pin 53 for furture use (RFU). 64-LFBGA (11x13mm) MX29GL_F S29GL_S 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 RFU 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# 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 DNU VIO RFU NC A B C D E F G H A B C D E F G H C8: NC on MX29GL128F F8: NC on MX29GL128F/256F G8: NC on MX29GL128F/256F/512F C8: NC on S29GL128S F8: NC on S29GL128S/256S G8: NC on S29GL128S/256S/512S E1: Do Not Use F7, G1: Reserve for Future Use Macronix Byte# ball ( F7) needs to be pulled high. Spansion reserves F7 for furture use (RFU). P/N: AN-0143 3 Ver.02, Sep. 27, 2013 APPLICATION NOTE Replacing Spansion S29GL_S with Macronix MX29GL_F 4. Performance Comparison MX29GL_F and S29GL_S have similar Read/Write performance (Table 4-1). Table 4-1: Read Performance Read Function Macronix MX29GL_F Spansion S29GL_S 70ns (H/L type) 90ns (U/D type) 90ns (H/L type) 110ns (U/D type) 100ns (H/L type) 110ns (U/D type) 110ns (H/L type) 120ns (U/D type) 25ns (H/L type ) 30ns (U/D type) 8 Words / 16Bytes 90ns (01/02 type) 100ns (V1/V2 type) 90ns (01/02 type) 100ns (V1/V2 type) 100ns (01/02 type) 110ns (V1/V2 type) 100ns (01/02 type) 110ns (V1/V2 type) 15ns (01/02 type) 25ns (V1/V2 type) 16 Words 128Mb Random Read Access time*1 256Mb (Taa/Tce or tACC/tCE) 512Mb 1Gb Page Read Access time*1 (Tpa or tPACC) Page Read Buffer Length*2 Notes: 1. Read Access times are density dependent; align ‘wait state’ setting of the controller or SoC for correct system operation. 2. Page Read Buffer Length is different between the two families; aligning length to 8 words will provide system compatibility for both device families. Table 4-2: Write Performance Write Function *1 32 word Write Buffer Program time 256 word*1 Word Program time*2 Sector Erase time 128Mb 256Mb Chip Erase time 512Mb 1Gb Write/Erase Cycles (Endurance) Macronix MX29GL_F Spansion S29GL_S *3 120us (typ.) N/A 11us (typ.) 0.6s (typ.) 64s (typ.) 128s (typ.) 256s (typ.) 512s (typ.) 175us (typ.) 340us (typ.) 125us (typ.) 0.275s (typ.) 32s (typ.) *4 64s (typ.) *4 128s (typ.) *4 256s (typ.) *4 100,000 100,000 Notes: 1. Write Buffer sizes are different; aligning length to 32 words to provide system compatibility. 2. Macronix flash is Floating Gate Technology (1 bit/cell) which is flexibility in s/w algorithm or file system. 3. Write Buffer Programming time = 120us for 128Mb, 256Mb and 512 (10Q EPNs) and 70n s for 1Gb and 512Mb (11G and 12G EPNs). 4. From CFI Table in Datasheet P/N: AN-0143 4 Ver.02, Sep. 27, 2013 APPLICATION NOTE Replacing Spansion S29GL_S with Macronix MX29GL_F Write Buffer Length Alignment Write buffer maximum length is different between MX29GL_F and S29GL_S devices. Software modification is necessary for if the longer S29GL_S buffer length is being used. There are two methods for length alignment: (i) Modify write buffer length to 32 words for both devices. (ii) Read the maximum buffer length from CFI offset address 2Ah (word mode) and adjust the algorithm to use this length. Note: Spansion® suggests performing buffer writes using multiples of 32-byte pages to maximize data integrity. Macronix provides 32-word buffer writes are in common using for file systems and software algorithms. Page Read Length Alignment MX29GL_F and S29GL_S maximum page read lengths are different. It will be necessary to modify the software if the longer S29GL_S read page length is being used. There are two methods for length alignment. (i) Adjust the page read length in the SoC or controller to 8 words for both devices. (ii) Read the maximum length from CFI offset address 4Ch (word mode) and adjust the SoC or controller setting accordingly. P/N: AN-0143 5 Ver.02, Sep. 27, 2013 APPLICATION NOTE Replacing Spansion S29GL_S with Macronix MX29GL_F 5. DC Characteristics Macronix has improved Write Current power consumption while Read currents are similar (Table 5-1). Table 5-1: Read/Write Current DC Characteristic Macronix MX29GL_F Spansion S29GL_S Read Current @ 5MHz Page Read Current @ 33MHz 128Mb 256Mb Standby Current 512Mb 1Gb 128Mb 256Mb Write Current 512Mb 1Gb 50mA (max.) 60mA (max.) 20mA (max.) 25mA (max.) 30uA (typ.); 100uA (max.) 30uA (typ.); 100uA (max.) 60uA (typ.); 200uA (max.) 120uA (typ.); 400uA (max.) 26mA (typ.); 30mA (max.) 26mA (typ.); 30mA(max.) 26mA (typ.); 30mA(max.) 36mA (typ.); 60mA(max.) 70uA (typ.); 100uA (max.) 70uA (typ.); 100uA (max.) 70uA (typ.); 100uA (max.) 70uA (typ.); 100uA (max.) 45mA(typ.); 100mA (max.) 45mA(typ.); 100mA (max.) 45mA (typ.); 100mA (max.) 45mA (typ.); 100mA (max.) Table 5-2 shows that both flash families have similar input sink and output drive characteristics. Table 5-2: Input/Output Voltage DC Characteristic Macronix MX29GL_F Spansion S29GL_S Very High Voltage 9.5V ~ 10.5V N/A Input Low Voltage -0.1V (min..) / 0.3VI/O (max.) -0.5V (min.) / 0.3VI/O (max.) Output Low Voltage 0.7VI/O (min.) / VI/O+0.3V (max.) 0.45V (max.) 0.7VI/O (min.) / VI/O+0.4V (max.) 0.15VI/O (max.) Output High Voltage 0.85VI/O (min.) 0.85VI/O (min.) Input High Voltage Notes: VI/O voltage must be same as VCC for Macronix H/L versions and Spansion 01/02 types. P/N: AN-0143 6 Ver.02, Sep. 27, 2013 APPLICATION NOTE Replacing Spansion S29GL_S with Macronix MX29GL_F 6. Command Set and Firmware Basic command sets and write status checking methods are similar between both flash families. While the algorithm descriptions may be slightly different, the concepts are the same. Furthermore, Spansion supports status register checking, which is a new structure in parallel flash and is not backward compatible. Depending on the write status checking method used, the algorithm may require minor modifications. 6.1 Basic Command Table (Word mode) MX29GL_F and S29GL_S have the same basic command set. The Read operation and Write command can be used directly without modification. . Table 4-1 shows the command set in Word mode. Table 6-1: Basic Commands (Word Mode) Read Rese t Progra m Write to Buffer Chip Erase Sector Erase Program/Eras e Suspend*6 Program/Era se Resume*6 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 555h 555h Data Data N-1 *2 AAh AAh *3 2AAh 2AAh *4 55h 55h Command st 1 Bus Cycle nd 2 Bus Cycle rd 3 Bus Cycle th 4 Bus Cycle th 5 Bus Cycle *1 Addr WA Data WD *5 th WBL 555h SA 6 Bus Addr Cycle Data WD 10h 30h Note: 1. SA: Sector Address 2. N-1: Word Count (Maximum length is different form two series.) 3. WA: Write Address 4. WD: Write Data 5. WBL: Write Buffer Location 6. Spansion provides two command sets for Program Suspend/Resume. Spansion recommends using B0h/30h for Erase suspend/resume, but 51h/50h for Program suspend/resume .Macronix use same commands(B0h/30h) for both functions. P/N: AN-0143 7 Ver.02, Sep. 27, 2013 APPLICATION NOTE Replacing Spansion S29GL_S with Macronix MX29GL_F 6.2 Write Status Checking Method When a flash program/erase operation is in progress, either the “Polling Method” or “Toggle Bit Method” may be used to monitor the operation. Both are standard algorithms in parallel flash and can be used for both device families. However, Macronix does not support the status register method for checking write status. Polling Method: Polling method checks Q7 (data complement bit) and Q5 (time out bit) values during the operation. After the operation has finished, Q7 will output true Data. Toggle Bit Method: The toggle bit method checks the Q6 (toggle bit) value during writes. When the write operation ends, Q6 will stop toggling. Start Start Read Q7~Q0 Twice Read Q7~Q0 at valid address Q7 = Data# ? Q6 Toggle ? No No Yes No No Yes Q5 = 1 ? Q5 = 1 ? Yes Yes Read Q7~Q0 Twice Read Q7~Q0 at valid address Q7 = Data# ? Q6 Toggle? No No Yes Yes Fail P/N: AN-0143 PGM/ERS fail Write Reset CMD Pass 8 PGM/ERS Complete Ver.02, Sep. 27, 2013 APPLICATION NOTE Replacing Spansion S29GL_S with Macronix MX29GL_F 7. Manufacturer ID and Device ID Manufacturer IDs are different and permits software to identify the device manufacturer, but Device IDs are the same (Table 7-1). The same command set is used read the different Manufacturer IDs. Table 7-1: Manufacturer and Device ID Commands Flash Vender st 1 Bus Cycle (command) nd 2 Bus Cycle (command) rd 3 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 Manufacturer ID MX29GL_F S29GL_S 555h AAh 2AAh 55h 555h 90h X00h C2h 555h AAh 2AAh 55h 555h 90h X00h 01h Device ID MX29GL_F S29GL_S 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 doesn’t need another command sequence. 2. Use Reset command (F0h) to return to normal read mode. P/N: AN-0143 9 Ver.02, Sep. 27, 2013 APPLICATION NOTE Replacing Spansion S29GL_S with Macronix MX29GL_F 8. Power on Timing Macronix and Spansion power on sequences are similar, but the timing is slightly different. (Table8-1). Table 8-1: Power on Timing H/W Timing Characteristic Tvr (Vcc Rise Time) Tvcs or tVCS (Vcc Setup Time) Tvios or tVIOS (Vio Setup time) Macronix MX29GL_F Spansion S29GL_S 20us/V (min.) / 500ms/V (max.) 500us (min) 500us (min) N/A 300us (min) 300us (min) Vcc VI/O Tvcs/tVCS Tvr Tvr Tvios/tVIOS CE# P/N: AN-0143 10 Ver.02, Sep. 27, 2013 APPLICATION NOTE Replacing Spansion S29GL_S with Macronix MX29GL_F 9. H/W Reset# Pin Timing Macronix and Spansion both offer a Hardware Reset function. While they function similarly minor changes to timing may be needed (Table 9-1). Table 9-1: Reset# Timing H/W Timing Characteristic Macronix MX29GL_F Spansion S29GL_S 200ns (min) 50ns (min) 10us (min) 200ns (min) 20us (max) 35us (min) 500ns (min) 200ns (min) 500ns (max) 35us (min) Trh or tRH (Reset# high to Read) During auto Trp1 or tRP algorithm (Reset# pulse width) *1 mode Tready1 or tRPH (Reset# low to read or write) During Trp2 or tRP non-auto (Reest# pulse width) algorithm Tready2 or tRPH mode*1 (Reset# low to read or write) Note: 1. Macronix defines different reset timing between auto and non-auto algorithm; Spansion defines same value for both. CE#, OE# || CE#, OE# Trb1 Trh/tRH WE# || RY/BY# Trb2 Tready1/tRPH RY/BY# Reset# || || Reset# Tready2/tRPH Trp2/tRP Trp1/tRP During auto algorithm mode P/N: AN-0143 During non-auto algorithm mode 11 Ver.02, Sep. 27, 2013 APPLICATION NOTE Replacing Spansion S29GL_S with Macronix MX29GL_F 10. Summary Macronix MX29GL_F and Spansion S29GL_S Parallel Flash occupy the same PCB footprint and have similar commands, function, and features. Overall, the S29GL_S to MX29GL_F migration will only require minimal software modifications. The Macronix BYTE# signal pin must be pulled high, but this is the only hardware modification required. P/N: AN-0143 12 Ver.02, Sep. 27, 2013 APPLICATION NOTE Replacing Spansion S29GL_S with Macronix MX29GL_F 11. Part Number Cross-Reference Cross Reference Table 11-1 shows basic part number and package information for the Macronix MX29GL_F and Spansion products. Table 11-1: Part Number Cross Reference Density 128Mb 256Mb 512Mb 1Gb Macronix Part Spansion Part MX29GL128FHT2I-70G MX29GL128FLT2I-70G MX29GL128FUT2I-90G MX29GL128FDT2I-90G MX29GL128FHXFI-70G MX29GL128FLXFI-70G MX29GL128FUXFI-11G MX29GL128FDXFI-11G MX29GL256FHT2I-90Q MX29GL256FLT2I-90Q MX29GL256FUT2I-11G MX29GL256FDT2I-11G MX29GL256FHXFI-90Q MX29GL256FLXFI-90Q MX29GL256FUXFI-11G MX29GL256FDXFI-11G MX29GL512FHT2I-10Q MX29GL512FLT2I-10Q MX29GL512FUT2I-11G MX29GL512FDT2I-11G MX29GL512FHXFI-10Q MX29GL512FLXFI-10Q MX29GL512FUXFI-11G MX29GL512FDXFI-11G MX68GL1G0FHT2I-11G MX68GL1G0FLT2I-11G MX68GL1G0FUT2I-12G MX68GL1G0FDT2I-12G MX68GL1G0FHXFI-11G MX68GL1G0FLXFI-11G MX68GL1G0FUXFI-12G MX68GL1G0FDXFI-12G S29GL128S90TFI01 S29GL128S90TFI02 S29GL128S10TFIV1 S29GL128S10TFIV2 S29GL128S90FHI01 S29GL128S90FHI02 S29GL128S10FHIV1 S29GL128S10FHIV2 S29GL256S90TFI01 S29GL256S90TFI02 S29GL256S10TFIV1 S29GL256S10TFIV2 S29GL256S90FFI01 S29GL256S90FFI02 S29GL256S10FHIV1 S29GL256S10FHIV2 S29GL512S10TFI01 S29GL512S10TFI02 S29GL512S11TFIV1 S29GL512S11TFIV2 S29GL512S10FHI01 S29GL512S10FHI02 S29GL512S11FHIV1 S29GL512S11FHIV2 S29GL01GS10TFI01 S29GL01GS10TFI02 S29GL01GS11TFIV1 S29GL01GS11TFIV2 S29GL01GS10FHI01 S29GL01GS10FHI02 S29GL01GS11FHIV1 S29GL01GS11FHIV2 P/N: AN-0143 13 Package Dimension 56-TSOP 14x20mm 64-LFBGA 11x13x1.4mm 0.6mm ball 56-TSOP 14x20mm 64-LFBGA 11x13x1.4mm 0.6mm ball 56-TSOP 14x20mm 64-LFBGA 11x13x1.4mm 0.6mm ball 56-TSOP 14x20mm 64-LFBGA 11x13x1.4mm 0.6mm ball Ver.02, Sep. 27, 2013 APPLICATION NOTE Replacing Spansion S29GL_S with Macronix MX29GL_F 12. Reference Documents "Table 12-1: Datasheet Version" shows the datasheet versions used for comparison in this application note. For the most current, detailed Macronix specification, please refer to the Macronix Website at http://www. macronix.com Table 12-1: Datasheet Version 13. Datasheet Date Issued Version MX29GL128F MX29GL256F MX29GL512F MX68GL1G0F S29GL_128S_01GS_00 Apr. 26, 2013 Aug. 12, 2013 Aug. 12, 2013 Aug. 12, 2013 Dec. 21, 2012 1.3 1.4 1.5 1.2 07 Revision History Table 13-1: Application Note Revision Revision No. REV. 1 REV. 2 P/N: AN-0143 Description Initial Release Added 70ns and 90ns speed grade parts in Table 11-1. Added Reference List Table 12-1 Modified Table 5-2 as all densities now offer U/D types. 14 Page Date ALL Feb. 22, 2012 ALL Sep. 27, 2013 Ver.02, Sep. 27, 2013 APPLICATION NOTE Replacing Spansion S29GL_S with 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. 2013. All rights reserved, including the trademarks and tradename thereof, such as Macronix, MXIC, MXIC Logo, MX Logo, Integrated Solutions Provider, NBit, Nbit, NBiit, Macronix NBit, eLiteFlash, HybridNVM, HybridFlash, XtraROM, Phines, KH Logo, BE-SONOS, KSMC, Kingtech, MXSMIO, Macronix vEE, Macronix MAP, Rich Au-dio, Rich Book, Rich TV, and FitCAM. The names and brands of third party referred thereto (if any) are for identification purposes only For the contact and order information, please visit Macronix’s Web site at: http://www.macronix.com P/N: AN-0143 15 Ver.02, Sep. 27, 2013