AN201168 Common Flash Interface Version 1.4 Vendor Specific Extensions AN201168 provides an overview of the changes implemented between versions 1.3 and 1.4 of the Cypress Flash memory Common Flash Interface (CFI) implementation. 1 Introduction This application note provides an overview of the changes implemented between versions 1.3 and 1.4 of the Cypress® Flash memory Common Flash Interface (CFI) implementation. CFI is a JEDEC standard database that may be read from a Flash memory. It allows Flash driver software to query the installed device to determine the proper configuration, e.g. memory size, speed, special features, and other characteristics. The JEDEC CFI standard provides for vendor specific extensions to the basic device information. These extensions provide information about optional device features. As successive device generations add new features new fields are added to the vendor specific extensions area. 2 Benefit There are two main benefits of using CFI: Ease of upgrading memory density or features Second source availability CFI-compliant Flash allows the system designer to add and upgrade memory without the inconvenience of modifying Flash driver software to adapt to each new device in a product family. This holds true for new devices of higher density or different sector architecture than available at the time of initial system and driver development. 3 CFI Data Structure From the CFI mode the user can access the following information (Note, the subsequent CFI data tables are provided as examples only. For product-specific CFI data, refer to the Cypress data sheet): CFI Identification String - A standard string of characters that any CFI compliant device will display so that Flash driver software can confirm that a CFI device is in use. See Table 1 System Interface String - Information on device voltage and timing parameter. See Table 2. Device Geometry Definition - Information on command protocol, device size, and sector sizes. See Table 3. Primary Vendor-Specific Extended Query - Information on vendor or device specific features that are supported. See Table 4. www.cypress.com Document No. 002-01168 Rev. *A 1 Common Flash Interface Version 1.4 Vendor Specific Extensions Table 1. CFI Query Identification String Addresses (x16) Data 10h 11h 12h 0051h 0052h 0059h Description Query Unique ASCII String “QRY” 13h 14h 0002h 0000h Primary OEM Command Set 15h 16h 0040h 0000h Address for Primary Extended Table 17h 18h 0000h 0000h Alternate OEM Command Set (00h = none exists) 19h 1Ah 0000h 0000h Address for Alternate OEM Extended Table (00h = none exists) Table 2. System Interface String Addresses (x16) Data Description 1Bh 0027h VCC Min. (Write/Erase) D7-D4: volt, D3-D0: mV 1Ch 0036h VCC Max. (Write/Erase) D7-D4: volt, D3-D0: mV 1Dh 0000h VPP Min. voltage (00h = no VPP pin present) 1Eh 0000h VPP Max. voltage (00h = no VPP pin present) 1Fh 0007h Typical timeout per single byte/word 2N µs 20h 0007h Typical timeout for Min. size buffer write 2N µs (00h = not supported) 21h 0000h Typical timeout per individual block erase 2N ms 22h 0000h Typical timeout for full chip erase 2N ms (00h = not supported) 23h 0001h Max. timeout for byte/word write 2N times typical 24h 0005h Max. timeout for buffer write 2N times typical 25h 0004h Max. timeout per individual block erase 2N times typical 26h 0000h Max. timeout for full chip erase 2N times typical (00h = not supported) Table 3. CFI Device Geometry Definition (Sheet 1 of 2) Addresses (x16) www.cypress.com Data Description N 27h 0018h Device size = 2 byte 28h 29h 0002h 0000h Flash device interface description (refer to CFI publication 100) 2Ah 2Bh 0005h 0000h Max. number of bye in multi-byte write = 2N (00h = not supported) 2Ch 0001h Number of erase block regions within device (01h = uniform device, 02h = boot device) 2Dh 2Eh 2Fh 30h 00FFh 0000h 0000h 0001h Erase block region 1 information (refer to the CFI specification or CFI publication 100) 31h 32h 33h 34h 0000h 0000h 0000h 0000h Erase block region 2 information (refer to CFI publication 100) Document No. 002-01168 Rev. *A 2 Common Flash Interface Version 1.4 Vendor Specific Extensions Table 3. CFI Device Geometry Definition (Sheet 2 of 2) Addresses (x16) Data 35h 36h 37h 38h 0000h 0000h 0000h 0000h Description Erase block region 3 information (refer to CFI publication 100) 39h 3Ah 3Bh 3Ch 0000h 0000h 0000h 0000h Erase block region 4 information (refer to CFI publication 100) Table 4. Primary Vendor-Specific Extended Query 4 Addresses (x16) Data 40h 41h 42h 0050h 0052h 0049h Description Query-unique ASCII string “PRI” 43h 0031h Major version number, ASCII 44h 0033h Minor version number, ASCII 45h 0004h Address Sensitive Unlock (Bits 1-0) 0 = Required, 1 = Not Required Silicon Technology (bits 5-2) 0001 = 0.17 µm 46h 0002h Erase Suspend 0 = Not Supported, 1 = To Read Only, 2 = To Read & Write 47h 0001h Sector Protect 00 = Not Supported, x = Number of sectors per group 48h 0000h Sector Temporary Unprotect 00 = Not Supported, 01 = Supported 49h 0005h Sector Protect / Unprotect scheme 04 = 29LV800 mode 4Ah 0063h Simultaneous Operation Number of sectors in all banks except boot block 4Bh 0001h Burst Mode Type 00 = Not Supported, 01 = Supported 4Ch 0000h Page Mode Type 00 = Not Supported, 01 = 4 Word Page, 02 = 8 Word Page 4Dh 0085h ACC (Acceleration) Supply Minimum 00h = Not Supported, D7-D4: Volt, D3-D0: 100mV 4Eh 00C5h ACC (Acceleration) Supply Maximum 00h = Not Supported, D7-D4: Volt, D3-D0: 100mV 4Fh 00xxh Top/Bottom Boot Sector Flag 02h = Bottom Boot Device, 03h = Top Boot Device 50h 0000h Program Suspend. 00h = not supported 57h 0004h Bank Organization: x = Number of Banks 58h 0023h Bank A Region Information. x = Number of sectors in bank 59h 0020h Bank B Region Information. x = Number of sectors in bank 5Ah 0020h Bank C Region Information. x = Number of sectors in bank 5Bh 0023h Bank D Region Information. x = Number of sectors in bank Changes The major difference between Cypress memory specific CFI extensions version 1.3 and version 1.4 are the addition of these features in the Primary Vendor-Specific Extended Query section: Unlock Bypass Secured Silicon Sector size Hardware Reset Low Time-out during an embedded algorithm Hardware Reset Low Time-out not during an embedded algorithm www.cypress.com Document No. 002-01168 Rev. *A 3 Common Flash Interface Version 1.4 Vendor Specific Extensions Erase Suspend Time-out Maximum Program Suspend Time-out Maximum Increased Bank region information from four bank to thirty-two bank These changes will be implemented in new Cypress Flash devices. The added features are highlighted in Table 5. New Features are highlighted in bold face type. Table 5. Updated Primary Vendor-Specific Extended Query (Sheet 1 of 3) Address (byte mode) Data 40h 41h 42h 50h 52h 49h query-unique ASCII string “PRI” 43h 31h Major version number ASCII 44h 34h Minor version ASCII www.cypress.com Description 45h Address Sensitive Unlock (DQ1,DQ0) 0000 (Hex) = required, 0001 (Hex) = NOT Required Process Technology (DQ5-DQ2) 0001 (Hex) = 170 nm Floating Gate technology ® 0010 (Hex) = 230 nm MirrorBit technology 0011 (Hex) = 130 nm Floating Gate technology ® 0100 = 110 nm MirrorBit® technology 0101 = 90 nm MirrorBit technology 0110 = 90 nm Floating Gate technology 0111 = 65 nm MirrorBit Eclipse 1000 = 65 nm MirrorBit 1001 = 45 nm MirrorBit 46h Erase Suspend 00 = Not Supported, 01 = To read only, 02 = To read and write 47h Sector Protect 00 = Not Supported, X = Number of sectors per group 48h Sector Temporary Unprotect 00 = Not Supported, 01 = Supported 49h Sector Protect/Unprotect scheme 01 = 29F040 mode 02 = 29F016 mode 03 = 29F400 mode 04 = 29LV800 mode -> RESET# or A9 =Vid 05 = Software command sector locking 06 = New Sector Protect 07 = RESET# or A9 =Vid + New Sector Protect 08 = Advanced Sector Protect 4Ah Simultaneous Operation 00 = Not Supported, X = Total number of sectors in all banks except BOOT BANK 4Bh Burst Mode Type 00 = Not Supported, 01=Supported 4Ch Page Mode Type 00 = Not Supported, 01 = 4 word Page, 02 = 8 word Page, 03 = 16 word Page 4Dh ACC (Acceleration) Supply Minimum Bit 7-4 = Hex Value in Volts Bit 3-0 = BCD Value in 100 Millivolts 4Eh ACC (Acceleration) Supply Maximum Bit 7-4 = Hex Value in Volts Bit 3-0 = BCD Value in 100 Millivolts 4Fh Top/Bottom Sector Flag 00 = No Boot 01 = 8x8kb, Sectors at TOP and Bottom 02 = Bottom Boot Device 03 = Top Boot Device 04 = Uniform Bottom Boot Device 05 = Uniform Top Boot Device 50h Program Suspend 00 = Not Supported, 01=Supported 51h Unlock Bypass 00 = Not Supported, 01 = Supported 52h Secured Silicon Sector (Customer OTP Area) Size 2N (Bytes) Document No. 002-01168 Rev. *A 4 Common Flash Interface Version 1.4 Vendor Specific Extensions Table 5. Updated Primary Vendor-Specific Extended Query (Sheet 2 of 3) Address (byte mode) www.cypress.com Data Description 53h Software Features bit 0: status register polling (1=supported, 0=not supported), bit 1: DQ polling (1=supported, 0=not supported), bit 2: new program suspend/resume commands (1=supported, 0=not supported) bit 3: word programming (1=supported, 0=not supported), bit 4: bit-field programming (1=supported, 0=not supported), bit 5: autodetect programming (1=supported, 0=not supported), bit 6: Refresh/Recovery command (not in data sheet) (1=supported, 0=not supported), bit 7: multiple writes per Line. (1=supported, 0=not supported) 54h Page Size = 2N bytes 55h Erase Suspend Timeout Maximum < 2N (us) 56h Program Suspend Timeout Maximum < 2N (us) 57h Bank Organization 00 = If data at 4Ah is Zero XX = Number of banks 58h Bank1 Region Information = Number of sectors in Bank 1 59h Bank2 Region Information = Number of sectors in Bank 2 5Ah Bank3 Region Information = Number of sectors in Bank 3 5Bh Bank4 Region Information = Number of sectors in Bank 4 5Ch Bank5 Region Information = Number of sectors in Bank 5 5Dh Bank6 Region Information = Number of sectors in Bank 6 5Eh Bank7 Region Information = Number of sectors in Bank 7 5Fh Bank8 Region Information = Number of sectors in Bank 8 60h Bank9 Region Information = Number of sectors in Bank 9 61h Bank10 Region Information = Number of sectors in Bank 10 62h Bank11 Region Information = Number of sectors in Bank 11 63h Bank12 Region Information = Number of sectors in Bank 12 64h Bank13 Region Information = Number of sectors in Bank 13 65h Bank14 Region Information = Number of sectors in Bank 14 66h Bank15 Region Information = Number of sectors in Bank 15 67h Bank16 Region Information = Number of sectors in Bank 16 68h Bank17 Region Information = Number of sectors in Bank 17 69h Bank18 Region Information = Number of sectors in Bank 18 6Ah Bank19 Region Information = Number of sectors in Bank 19 6Bh Bank20 Region Information = Number of sectors in Bank 20 6Ch Bank21 Region Information = Number of sectors in Bank 21 Document No. 002-01168 Rev. *A 5 Common Flash Interface Version 1.4 Vendor Specific Extensions Table 5. Updated Primary Vendor-Specific Extended Query (Sheet 3 of 3) Address (byte mode) 5 Data Description 6Dh Bank22 Region Information = Number of sectors in Bank 22 6Eh Bank23 Region Information = Number of sectors in Bank 23 6Fh Bank24 Region Information = Number of sectors in Bank 24 70h Bank25 Region Information = Number of sectors in Bank 25 71h Bank26 Region Information = Number of sectors in Bank 26 72h Bank27 Region Information = Number of sectors in Bank 27 73h Bank28 Region Information = Number of sectors in Bank 28 74h Bank29 Region Information = Number of sectors in Bank 29 75h Bank30 Region Information = Number of sectors in Bank 30 76h Bank31 Region Information = Number of sectors in Bank 31 77h Bank32 Region Information = Number of sectors in Bank 32 78h Embedded Hardware Reset Timeout Maximum < 2N (µs) Reset with Reset Pin 79h Non-Embedded Hardware Reset Timeout Maximum < 2N (µs) Power on Reset Conclusion These changes enable updated Flash driver software to recognize and make use of new device features. www.cypress.com Document No. 002-01168 Rev. *A 6 Common Flash Interface Version 1.4 Vendor Specific Extensions Document History Page Document Title: AN201168 - Common Flash Interface Version 1.4 Vendor Specific Extensions Document Number: 002-01168 Rev. ECN No. Orig. of Change Submission Date ** – – 03/22/2004 10/21/2009 *A 5015948 MSWI 11/16/2015 www.cypress.com Description of Change Initial version Corrected table: Updated Primary Vendor-Specific Extended Query, Address 45h Changed to new format Updated table: Updated Primary Vendor-Specific Extended Query Updated table: Updated Primary Vendor-Specific Extended Query, Address 45h Updated in Cypress template Document No. 002-01168 Rev. *A 7 Common Flash Interface Version 1.4 Vendor Specific Extensions Worldwide Sales and Design Support Worldwide Sales and Design Support Cypress maintains a worldwide network of offices, solution centers, manufacturers’ representatives, and distributors. To find the office closest to you, visit us at Cypress Locations. # 999 Products PSoC® Solutions Automotive..................................cypress.com/go/automotive psoc.cypress.com/solutions Clocks & Buffers ................................ cypress.com/go/clocks PSoC 1 | PSoC 3 | PSoC 4 | PSoC 5LP Interface......................................... cypress.com/go/interface Cypress Developer Community Lighting & Power Control ............cypress.com/go/powerpsoc Memory........................................... cypress.com/go/memory PSoC ....................................................cypress.com/go/psoc Touch Sensing .................................... cypress.com/go/touch Community | Forums | Blogs | Video | Training Technical Support cypress.com/go/support USB Controllers ....................................cypress.com/go/USB Wireless/RF .................................... cypress.com/go/wireless MirrorBit®, MirrorBit® Eclipse™, ORNAND™, EcoRAM™ and combinations thereof, are trademarks and registered trademarks of Cypress Semiconductor Corp. All other trademarks or registered trademarks referenced herein are the property of their respective owners. Cypress Semiconductor 198 Champion Court San Jose, CA 95134-1709 Phone: Fax: Website: 408-943-2600 408-943-4730 www.cypress.com © Cypress Semiconductor Corporation, 2004-2015. The information contained herein is subject to change without notice. Cypress Semiconductor Corporation assumes no responsibility for the use of any circuitry other than circuitry embodied in a Cypress product. Nor does it convey or imply any license under patent or other rights. Cypress products are not warranted nor intended to be used for medical, life support, life saving, critical control or safety applications, unless pursuant to an express written agreement with Cypress. Furthermore, Cypress does not authorize its products for use as critical components in life-support systems where a malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress products in life-support systems application implies that the manufacturer assumes all risk of such use and in doing so indemnifies Cypress against all charges. This Source Code (software and/or firmware) is owned by Cypress Semiconductor Corporation (Cypress) and is protected by and subject to worldwide patent protection (United States and foreign), United States copyright laws and international treaty provisions. Cypress hereby grants to licensee a personal, non-exclusive, non-transferable license to copy, use, modify, create derivative works of, and compile the Cypress Source Code and derivative works for the sole purpose of creating custom software and or firmware in support of licensee product to be used only in conjunction with a Cypress integrated circuit as specified in the applicable agreement. Any reproduction, modification, translation, compilation, or representation of this Source Code except as specified above is prohibited without the express written permission of Cypress. Disclaimer: CYPRESS MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Cypress reserves the right to make changes without further notice to the materials described herein. Cypress does not assume any liability arising out of the application or use of any product or circuit described herein. Cypress does not authorize its products for use as critical components in life-support systems where a malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress' product in a life-support systems application implies that the manufacturer assumes all risk of such use and in doing so indemnifies Cypress against all charges. Use may be limited by and subject to the applicable Cypress software license agreement. www.cypress.com Document No. 002-01168 Rev. *A 8