Migrating from Single-Byte to Three-Byte Device IDs Application Note 1. Introduction This document describes the device driver changes necessary to migrate from flash devices with single-byte Device IDs to those with three-byte Device IDs. Device IDs in Spansion® flash devices are accessible either via a software command sequence or through a high-voltage hardware method. Customers migrating from the Am29F 5.0 volt-only flash family and certain 3.0 volt-only flash devices will need to add support for three-byte Device IDs to fully identify a particular device. Specifically, device driver changes are required in order to uniquely identify devices utilizing three-byte Device IDs. 2. Device Codes on Older Devices 2.1 High-Voltage Hardware Method The “High-Voltage Method” provides a hardware method of reading device codes on Spansion flash devices. To implement the High-Voltage Method in previous Spansion devices, control pins must be held at a specified state and voltage VID is applied at Address Pin A9. Using the High-Voltage Method, address pins A6, A3, A2, A1, and A0 can be used to switch between reading the Manufacturer ID, Device ID, Sector Protection Verification, and the Secured Silicon Region Indicator Bit. With A3 held low, A2 held low, A1 held low, A0 held high, A6 held low, and VID on A9, the device code is read on the least significant eight bits of the data bus. As an example, Table 2.1 illustrates the hardware settings required for reading the S29AL016J Device ID using the High-Voltage Method depending on the S29AL016J top or bottom boot sector architecture and the Word/Byte configuration. Table 2.1 Device ID Example 2.2 DQ15 to DQ8 DQ7 to BYTE# BYTE# = VIH = VIL DQ0 CE# OE# WE# A19 to A10 A9 A8 to A7 A6 A5 to A4 A3 to A2 A1 A0 Device ID: S29AL016J (Model 01: Top Boot Block) L L H X VID X L X L L H 22h X C4h Device ID: S29AL016J (Model 02: Bottom Boot Block) L L H X VID X L X L L H 22h X 49h Description Software Command Sequence The manufacturer and device codes for Spansion devices may also be read via the autoselect command sequence. The autoselect command sequence is initiated by first writing two unlock cycles. This is followed by a third write cycle that contains the bank address and the autoselect command. The bank then enters the autoselect mode. The typical bus-cycle sequence to access the autoselect mode is shown in Table 2.2. For devices with only one bank, it is not necessary to include the bank address in the command sequence. Spansion Simultaneous Read/Write devices such as the S29JL032J and S29JL064J require the bank address bits to identify the bank from which the device code will be read. Publication Number Migrating_Single_Byte_To_Three_Byte_AN Revision 01 Issue Date January 27, 2011 A pplication Note Table 2.2 Autoselect Command Sequence Bus Cycle Address Data 1 555 AA 2 2AA 55 3 (BA) 555 90 Notes: 1. BA = Bank Address. 2. While most previous Spansion devices follow this sequence, a few exception devices differ slightly. Please consult the data sheet for device-specific information. The system may read at any address within the same bank any number of times without initiating another autoselect command sequence. Previously, Spansion device codes consisted of a unique single-byte combination read at address 01h (2) within the autoselect mode. For example, the command definition for reading the Device ID from the Am29F010B (5.0V, 1 Mbit, uniform sector device), including the autoselect command sequence, is as follows in Table 2.3. Table 2.3 Am29F010B Autoselect Device ID Read Command Sequence Bus Cycle Address Data 1 555 AA 2 2AA 55 3 555 90 4 X01 6E Notes: 1. X = Don’t Care. 2. Address 02h is used in devices utilizing the A-1 line during addressing. For example, byte-wide data bus mode on x8/x16 devices utilizes the A-1 line. Likewise, word-wide data bus mode on x16/x32 devices also utilizes the A-1 line. The Am29F010B device code is 6Eh, and the bank address is not needed since this is a single bank device. 3. Migrating to Three-Byte Device Codes 3.1 High-Voltage Hardware Method For devices utilizing a three-byte device code, the device code may still be read via the High-Voltage Method, but requires three separate reads in order to uniquely identify the device. In addition, the reads now require logic applied to the A3 and A0 pins as well as the other device pins. The first Device ID byte is read while holding A3:A1 low, A0 high, A6 low, and A9 at VID. The second byte is read by holding A3:A1 high, A0 low, A6 low, and A9 at VID. The third byte of the device code is read by holding A3:A0 high, A6 low, and A9 at VID. Table 3.1 describes the High-Voltage Method for reading the Device ID for the S29JL064J device. Table 3.1 S29JL064J Autoselect Codes (High-Voltage Method) DQ15 to DQ8 DQ7 to BYTE# BYTE# = VIH = VIL DQ0 CE# OE# WE# A21 to A12 A9 A8 to A7 A6 A5 to A4 A3 A2 A1 A0 Device IDRead Cycle 1 L L H BA VID X L X L L L H 22h X 7Eh Device IDRead Cycle 2 L L H BA VID X L X H H H L 22h X 02h Device IDRead Cycle 3 L L H BA VID X L X H H H H 22h X 01h Description Note: L = Logic Low = VIL; H = Logic High = VIH; BA = Bank Address; X = Don't care; VID = 11.5 to 12.5V. 2 Migrating_Single_Byte_To_Three_Byte_AN_01 January 27, 2011 App l ic atio n 3.2 No t e Software Command Sequence For devices utilizing a three-byte Device ID, the device code may still be read via the autoselect command sequence, but will require three sequential read cycles in order to uniquely distinguish the device. The three read cycles are read at addresses 01h, 0Eh, and 0Fh, respectively. For a device utilizing the A-1 line, the three read cycles are read at addresses 02h, 1Ch, and 1Eh. The device code 7Eh read during the first read cycle (where the single-byte device code was read in previous devices) now indicates that two additional read cycles are required to completely identify the device. For example, the command definition for reading the device code from the S29JL064J (64 Mbit, 8M x 8-bit/4M x 16-bit device) in word-mode is as shown in Table 3.2. Table 3.2 Compatible Root Part Number Mapping, Word-Mode Bus Cycle Address Data 1 555 AA 2 2AA 55 3 555 90 4 (BA) X01 227E 5 (BA) X0E 2202 6 (BA) X0F 2201 Note: BA = Bank Address, X = Don't care. Likewise, the command definition for reading the S29JL064J in byte-mode is as follows: Table 3.3 Compatible Root Part Number Mapping, Byte-Mode Bus Cycle Address Data 1 AAA AA 2 555 55 3 (BA) AAA 90 4 (BA) X02 7E 5 (BA) X1C 02 6 (BA X1E 01 Note: BA = Bank Address, X = Don't care. 4. Required Modifications For devices utilizing a three-byte Device ID, using only the first read cycle of the Device ID in either the highvoltage hardware method or in the software command sequence will not completely identify the device. As an example, customers migrating from the S29AL family to the S29GL MirrorBit® family would need to update any software drivers utilizing the software command sequence in order to read the updated device codes. External programming equipment utilizing the High-Voltage Method should also update any drivers as required. January 27, 2011 Migrating_Single_Byte_To_Three_Byte_AN_01 3 A pplication Note 5. Device ID Reference Table Table 5.1 summarizes Device ID combinations for Spansion Flash devices. Please refer to the data sheets posted on www.spansion.com for complete, up-to-date descriptions of device codes for all Spansion devices. Table 5.1 Spansion Flash Device IDs (Sheet 1 of 2) 4 Flash Device Device ID S70GL02GP, S70GL02GS 7E/48/01h S29GL01GP, S29GL01GS 7E/28/01h S29GL512P, S29GL512S 7E/23/01h S29GL256P, S29GL256S 7E/22/01h S29GL128P, S29GL128S 7E/21/01h S29GL064N Model 01,02,V1,V2: 7E/0C/01h Model 03: 7E/10/01h Model 04: 7E/10/00h Model 06,07,V6,V7: 7E/13/01h S29GL032N Model 01,02,V1,V2: 7E/1D/00h Model 03: 7E/1A/01h Model 04: 7E/1A/00h S29PL129J 7E/21/00h S29PL127J 7E/20/00h S29PL064J 7E/02/01h S29PL032J 7E/0A/01h S29JL064J 7E/02/01h S29JL032J Model 01: 7E/0A/01h Model 02: 7E/0A/00h Model 21: 55h Model 22: 56h Model 31: 50h Model 32: 53h Model 41: 5Ch Model 42: 5Fh S29AL032D Model 00: A3h Model 03: F6h Model 04: F9h S29AL016J Model 01: C4h Model 02: 49h S29AL008J Model 01: DAh Model 02: 5Bh Am29F032B 41h Am29F016D ADh Am29F080B D5h Am29F040B A4h Am29F002B/Am29F002NB B0h (T); 34h (B) Am29F010B 20h Am29F160D D2h (T); D8h (B) Am29F800B D6h (T); 58h (B) Am29F400B 23h (T); ABh (B) Am29F200B 51h (T); 57h (B) S29WS512P 7E/3D/00h S29WS256P 7E/42/00h S29WS128P 7E/44/00h S29WS064R Model 00: 7E/4F/00h Model 01: 7E/57/00h S29VS256R Model 00: 7E/64/01h Model 01: 7E/66/01h Migrating_Single_Byte_To_Three_Byte_AN_01 January 27, 2011 App l ic atio n No t e Table 5.1 Spansion Flash Device IDs (Sheet 2 of 2) Flash Device Device ID S29VS128R Model 00: 7E/63/01h Model 01: 7E/65/01h S29VS064R Model 00: 7E/61/01h Model 01: 7E/61/02h S29XS256R Model 00: 7E/64/01h Model 01: 7E/66/01h S29XS128R Model 00: 7E/63/01h Model 01: 7E/65/01h S29XS064R Model 00: 7E/61/01h Model 01: 7E/61/02h S29AS016J Model 03: 7E/03/04h Model 04: 7E/03/03h S29AS008J Model 03: 7E/04/04h Model 04: 7E/04/03h Note: B = Bottom Boot Device, T = Top Boot Device. January 27, 2011 Migrating_Single_Byte_To_Three_Byte_AN_01 5 A pplication Note 6. Revision History Section Description Revision 01 (January 27, 2011) Initial release 6 Migrating_Single_Byte_To_Three_Byte_AN_01 January 27, 2011 App l ic atio n No t e Colophon The products described in this document are designed, developed and manufactured as contemplated for general use, including without limitation, ordinary industrial use, general office use, personal use, and household use, but are not designed, developed and manufactured as contemplated (1) for any use that includes fatal risks or dangers that, unless extremely high safety is secured, could have a serious effect to the public, and could lead directly to death, personal injury, severe physical damage or other loss (i.e., nuclear reaction control in nuclear facility, aircraft flight control, air traffic control, mass transport control, medical life support system, missile launch control in weapon system), or (2) for any use where chance of failure is intolerable (i.e., submersible repeater and artificial satellite). Please note that Spansion will not be liable to you and/or any third party for any claims or damages arising in connection with above-mentioned uses of the products. Any semiconductor devices have an inherent chance of failure. You must protect against injury, damage or loss from such failures by incorporating safety design measures into your facility and equipment such as redundancy, fire protection, and prevention of over-current levels and other abnormal operating conditions. If any products described in this document represent goods or technologies subject to certain restrictions on export under the Foreign Exchange and Foreign Trade Law of Japan, the US Export Administration Regulations or the applicable laws of any other country, the prior authorization by the respective government entity will be required for export of those products. Trademarks and Notice The contents of this document are subject to change without notice. This document may contain information on a Spansion product under development by Spansion. Spansion reserves the right to change or discontinue work on any product without notice. The information in this document is provided as is without warranty or guarantee of any kind as to its accuracy, completeness, operability, fitness for particular purpose, merchantability, non-infringement of third-party rights, or any other warranty, express, implied, or statutory. Spansion assumes no liability for any damages of any kind arising out of the use of the information in this document. Copyright © 2011 Spansion Inc. All rights reserved. Spansion®, the Spansion logo, MirrorBit®, MirrorBit® Eclipse™, ORNAND™, EcoRAM™ and combinations thereof, are trademarks and registered trademarks of Spansion LLC in the United States and other countries. Other names used are for informational purposes only and may be trademarks of their respective owners. January 27, 2011 Migrating_Single_Byte_To_Three_Byte_AN_01 7