APPLICATION NOTE Migrating Spansion® S29GL_S to Macronix MX29GL_E 1. Introduction Macronix offers MX29GL_E high performance parallel flash in densities from 128Mb to 512Mb. MX29GL_E and Spansion® S29GL_S devices have similar hardware, software, and features, but there are some differences as indicated in blue text below. This application note explains how to migrate from Spansion® S29GL_S devices to equivalent Macronix MX29GL_E series flash products in densities from density 128Mb to 512Mb. 2. Feature Comparison Both flash device families have similar features and functions. Type / Function Macronix MX29GL_E Spansion® S29GL_S Vcc voltage range 2.7V ~ 3.6V 2.7V ~ 3.6V 2.7V ~ 3.6V (H/L type*1) 2.7V ~ 3.6V (01/02 type*1) I/O voltage range 1.65V ~ 3.6V (U/D type*2) 1.65V ~ 3.6V (V1/V2 type*2) Bus Width x16 / x8 x16 only Sector Size 128KB 128KB Page Read buffer 8Words / 16Bytes 16Words Write buffer 32Words / 64Bytes 256Words Highest/Lowest address Highest/Lowest address WP# pin function sector sector Password (64bits) Password (64bits) Software Protected Mode Solid Protection*3 Persistent Protection*3 OTP Security Region 128Words / 256Bytes 256Words x 2 Write Status Polling Data polling Data polling & Status Register Multi-Sector Erase Yes No Blank Check Command No Yes CFI primary extend table Ver. 1.3, Spansion Spec*4 Ver. 1.5, Spansion Spec*4 Manufacture ID C2h 01h 128Mb 227Eh / 2221h / 2201h 227Eh / 2221h / 2201h Device ID 256Mb 227Eh / 2222h / 2201h 227Eh / 2222h / 2201h 512Mb 227Eh / 2223h / 2201h 227Eh / 2223h / 2201h 56-TSOP (14x20mm) 56-TSOP (14x20mm) Package 64-LFBGA (11x13mm) 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 provides the same function as Persistent Protection—only the naming is different. 4. Both families support CFI mode. Ver. 1.5 extend primary table record additional information, like OTP size, Erase/Program suspend time out, and so on. Ver. 1.5 is backward to Ver. 1.3. Publication Number: AN-167 1 Jun. 25, 2012 APPLICATION NOTE Migrating Spansion® S29GL_S to Macronix MX29GL_E 3. Performance Comparison The following table shows MX29GL_E series and S29GL_S series Read/Write performance, and it should be used as a reference for the design. Read Function Performance (random read and page read): Read function Macronix MX29GL_E Spansion® S29GL_S 90ns (H/L type) 90ns (01/02 type) 128Mb 110ns (U/D type) 100ns (V1/V2 type) Random Read *3 *1 Access time 90ns (01/02 type) 90ns (H/L type) 256Mb (Taa/Tce or 100ns (V1/V2 type) 110ns (U/D type) *1 tACC/tCE) 100ns (H/L type) *2 100ns (01/02 type) 512Mb 110ns (H/L type) *2 110ns (V1/V2 type) Page Access time*3 25ns (H/L type ) 15ns (01/02 type) (Tpa or tPACC) 30ns (U/D type) 25ns (V1/V2 type) Page Read Buffer Length*4 8 Words / 16Bytes 16 Words Note: 1. Macronix 256Mb device covers 2.7V~3.6V for 100ns and 3.0V~3.6V for 90ns. 2. Macronix 512Mb device covers 2.7V~3.6V for 110ns and 3.0V~3.6V for 100ns. The Macronix 512Mb device only supports VI/O = Vcc (H/L type). 3. Random Read Access time and Page Read Access time: Performance is density dependent; align ‘wait state’ setting of the controller or SoC for correct system operation. 4. Page Read Buffer Length: Maximum length is different between the two families; aligning length to 8 words will provide system compatibility for both device families. Write Function Performance (program and erase): Write Function 32 word*1 Write Buffer Program time 256 word*1 Word Program time*2 Sector Erase time 128Mb Chip Erase time 256Mb 512Mb Write/Erase Cycles (Endurance) Macronix MX29GL_E Spansion® S29GL_S 200us (typ.) N/A 11us (typ.) 0.6s (typ.) 64s (typ.) 128s (typ.) 256s (typ.) 175us (typ.) 340us (typ.) 125us (typ.) 0.2s (typ.) N/A N/A N/A 100,000 100,000 Note: 1. Write Buffer length: Maximum length is different; aligning length to 32 words to provide system compatibility. 2. Macronix flash is Floating Gate Technology (1 bit/cell), which is flexible in s/w algorithm or file system. Publication Number: AN-167 2 Jun. 25, 2012 APPLICATION NOTE Migrating Spansion® S29GL_S to Macronix MX29GL_E 3-1. Write Buffer length alignment Write buffer maximum length is different between MX29GL_E and S29GL_S devices. Software modification is necessary if the longer S29GL_S buffer length is being used. There are two methods for length alignment: (i) Modify the 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. 3-2. Page Read length alignment MX29GL_E 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. Publication Number: AN-167 3 Jun. 25, 2012 APPLICATION NOTE Migrating Spansion® S29GL_S to Macronix MX29GL_E 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 / Write Current: DC Characteristic Read Current @ 5MHz Page Read Current @ 33MHz 128Mb Standby Current 256Mb 512Mb Write Current Macronix MX29GL_E 50mA (max.) Spansion® S29GL_S 60mA (max.) 20mA (max.) 25mA (max.) 30uA (typ.); 100uA (max.) 30uA (typ.); 100uA (max.) 60uA (typ.); 200uA (max.) 26mA (typ.); 30mA (max.) 70uA (typ.); 100uA (max.) 70uA (typ.); 100uA (max.) 70uA (typ.); 100uA (max.) 45mA(typ.); 100mA (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. Input / Output Voltage: DC Characteristic Very High Voltage Input Low Voltage Input High Voltage Macronix MX29GL_E 9.5V ~ 10.5V -0.1V (min..) / 0.3VI/O (max.) Spansion® S29GL_S N/A -0.5V (min.) / 0.3VI/O (max.) 0.7VI/O (min.) / VI/O+0.3V (max.) 0.7VI/O (min.) / VI/O+0.4V (max.) Output Low Voltage 0.45V (max.) 0.15VI/O (max.) Output High Voltage 0.85VI/O (min.) 0.85VI/O (min.) Publication Number: AN-167 4 Jun. 25, 2012 APPLICATION NOTE Migrating Spansion® S29GL_S to Macronix MX29GL_E 5. Hardware Consideration Macronix and Spansion devices have similar footprints. However, some hardware pins have different functions. Detailed pin descriptions are shown below on the package diagrams. Note: Macronix 512Mb 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 MX29GL128E 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 MX29GL128E/256E 56 NC on MX29GL128E/256E/512E 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_E 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 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 A24 A25 A16 RFU VSS DQ15 DQ7 DQ14 DQ6 DQ13 DQ5 DQ12 DQ4 VCC DQ11 DQ3 DQ10 DQ2 DQ9 DQ1 DQ8 DQ0 OE# VSS CE# A0 RFU VI/O 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 Macronix GND (Pin 52, Pin 33) = Spansion VSS ( Pin 52, Pin 33) Macronix Byte# pin ( Pin 53) needs to pull high, if replace Spansion parts in same system. ( Spansion reserve Pin 52 for furture use) 64-LFBGA (11x13mm) MX29GL_E 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 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 MX29GL128E C8: NC on S29GL128S E1: Do Not Use F8: NC on MX29GL128E/256E F8: NC on S29GL128S/256S F7, G1: Reserve for Function Use G8: NC on MX29GL128E/256E/512E G8: NC on S29GL128S/256S/512S Macronix Byte# ball ( F7) needs to pull high, if replace Spansion® parts in same system. ( Spansion® reserve F7 for furture use) Publication Number: AN-167 5 Jun. 25, 2012 APPLICATION NOTE Migrating Spansion® S29GL_S to Macronix MX29GL_E 6. Software Considerations Basic command sets and write status checking methods are similar between both flash families. The algorithm descriptions may be slightly different, but 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. Basic Command Table (Word mode) MX29GL_E and S29GL_S have same basic command set. The read operation and write command can be used directly without any modification. The table below shows the command set in Word mode. Basic Command Table of MX29GL_E and S29GL_S Read Reset Program Write to Buffer Chip Erase Sector Erase Program/Erase *6 Suspend Program/Erase *6 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*1 555h 555h Data A0h 25h 80h 80h Addr Addr SA Command st 1 Bus Cycle nd 2 Bus Cycle rd 3 Bus Cycle th 4 Bus Cycle th 5 Bus Cycle Data Addr Data Data 555h 555h *2 AAh AAh *3 2AAh 2AAh *4 55h 55h N-1 WA 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 command sets in this function. Publication Number: AN-167 6 Jun. 25, 2012 APPLICATION NOTE Migrating Spansion® S29GL_S to Macronix MX29GL_E 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. 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 Yes No Q5 = 1 ? Q5 = 1 ? Yes Yes Read Q7~Q0 Twice Read Q7~Q0 at valid address Q7 = Data# ? No Q6 Toggle? No Yes Yes Fail Publication Number: AN-167 PGM/ERS fail Write Reset CMD Pass 7 PGM/ERS Complete Jun. 25, 2012 APPLICATION NOTE Migrating Spansion® S29GL_S to Macronix MX29GL_E 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 Address Cycle Data (command) 2nd Bus Address Cycle Data (command) 3rd Bus Address Cycle Data (command) 4th Bus Address Cycle Data (ID output) Address 5th Bus Cycle Data (ID output) 6th Bus Cycle (ID output) MX29GL_E 555h S29GL_S 555h MX29GL_E 555h S29GL_S 555h AAh AAh AAh AAh 2AAh 2AAh 2AAh 2AAh 55h 55h 55h 55h 555h 555h 555h 555h 90h 90h 90h 90h X00h X00h X01h X01h C2h 01h 227Eh 227Eh Address X0Eh 2221h (128Mb) 2222h (256Mb) 2223h (512Mb) X0Fh X0Eh 2221h (128Mb) 2222h (256Mb) 2223h (512Mb) X0Fh Data 2201h 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. Publication Number: AN-167 8 Jun. 25, 2012 APPLICATION NOTE Migrating Spansion® S29GL_S to Macronix MX29GL_E 8. Power on timing Macronix and Spansion® power on sequences are similar, but the timing is slightly different. Check system timing to determine if a timing adjustment is needed. Power on timing table: H/W Timing Characteristic Macronix MX29GL_E Spansion® S29GL_S Tvr (Vcc Rise Time) 20us/V (min.) / 500ms/V (max.) N/A Tvcs or tVCS (Vcc Setup Time) 500us (min) 300us (min) Tvios or tVIOS (Vio Setup time) 500us (min) 300us (min) Vcc VI/O Tvcs/tVCHPH + tPHEL Tvr Tvios/tVCQHPH + tPHEL Tvr CE# AC timing at device power up 9. H/W Reset# pin timing Macronix and Spansion® offer hardware reset function. The operation is same but timing is slightly different. System timing may need to be adjusted for auto algorithm and non-auto algorithm. Reset# timing table: H/W Timing Characteristic Macronix MX29GL_E Spansion® S29GL_S Trh or tRH (Reset# high to Read) During auto Trp1 or tRP algorithm (Reset# pulse width) mode*1 Tready1 or tRPH (Reset# low to read or write) During Trp2 or tRP non-auto (Reset# pulse width) algorithm Tready2 or tRPH mode*1 (Reset# low to read or write) 200ns (min) 50ns (min) 10us (min) 200ns (min) 20us (max) 35us (min) 500ns (min) 200ns (min) 500ns (max) 35us (min) Note: 1. Macronix defines different reset timing between auto and non-auto algorithm; Spansion® defines same value in both columns. Publication Number: AN-167 9 Jun. 25, 2012 APPLICATION NOTE Migrating Spansion® S29GL_S to Macronix MX29GL_E CE#, OE# || CE#, OE# Trb1 Trh/tPHEL/tPHGL WE# || RY/BY# RY/BY# Trb2 Tready1/tPLRH Reset# || || Reset# Tready2 Trp2/tPLPH Trp1/tPLPH During non-auto algorithm mode During auto algorithm mode 10. Summary Macronix MX29GL_E and Spansion® S29GL_S Parallel Flash occupy the same PCB footprint and have similar software and function/features. Overall, the S29GL_S to MX29GL_E migration will only require minimal software modifications. The Macronix BYTE# signal pin must be pulled high, but this is the only hardware modification required. 11. Data Sheet Version The following data sheets are used for comparison in this application note. Data sheet Location Date Issue Revision MX29GL128E MX29GL256E MX29GL512E S29GL_S Website Website Website Website Dec. 12, 2012 Jul. 26, 2011 Jun. 16, 2011 Mar. 16, 2012 Rev. 1.5 Rev. 1.4 Rev. 1.2 Rev. 06 Note: 1. Macronix data sheet is subject to change without notice. 2. For more functional and parametric specifications, please refer to the datasheet on the Macronix Website at http://www.macronix.com/ and go to: Products/Flash Memory/Parallel Flash. Publication Number: AN-167 10 Jun. 25, 2012 APPLICATION NOTE Migrating Spansion® S29GL_S to Macronix MX29GL_E 12. Appendix The table will show basic part number and package information cross reference between Macronix MX29GL_E and Spansion® S29GL_S. Density 128Mb 256Mb 512Mb Macronix Part Spansion® Part MX29GL128EHT2I-90G MX29GL128ELT2I-90G MX29GL128EUT2I-11G MX29GL128EDT2I-11G MX29GL128EHXFI-90G MX29GL128ELXFI-90G MX29GL128EUXFI-11G MX29GL128EDXFI-11G MX29GL256EHT2I-90Q MX29GL256ELT2I-90Q MX29GL256EUT2I-11G MX29GL256EDT2I-11G MX29GL256EHXFI-90Q MX29GL256ELXFI-90Q MX29GL256EUXFI-11G MX29GL256EDXFI-11G MX29GL512EHT2I-10Q MX29GL512ELT2I-10Q MX29GL512EHXFI-10Q MX29GL512ELXFI-10Q S29GL128S90TFI01 S29GL128S90TFI02 S29GL128S10TFIV1 S29GL128S10TFIV2 S29GL128S90FHI01 S29GL128S90FHI02 S29GL128S10FHIV1 S29GL128S10FHIV2 S29GL256S90TFI01 S29GL256S90TFI02 S29GL256S10TFIV1 S29GL256S10TFIV2 S29GL256S90FFI01 S29GL256S90FFI02 S29GL256S10FHIV1 S29GL256S10FHIV2 S29GL512S10TFI01 S29GL512S10TFI02 S29GL512S10FHI01 S29GL512S10FHI02 Publication Number: AN-167 11 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 Jun. 25, 2012 APPLICATION NOTE Migrating Spansion® S29GL_S to Macronix MX29GL_E 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. 2011~2012. 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 Publication Number: AN-167 12 Jun. 25, 2012