W25X10BL/20BL/40BL 1M-BIT, 2M-BIT AND 4M-BIT 2.5V SERIAL FLASH MEMORY WITH 4KB SECTORS AND DUAL I/O SPI - 1- Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL Table of Contents 1. GENERAL DESCRIPTION.......................................................................................................... 4 2. FEATURES ................................................................................................................................. 4 3. PIN CONFIGURATION SOIC 150-MIL / 208-MIL ....................................................................... 5 4. PAD CONFIGURATION WSON 6X5-MM................................................................................... 5 5. PIN CONFIGURATION PDIP 300-MIL ....................................................................................... 6 6. PIN DESCRIPTION SOIC 150 / 208-MIL, PDIP 300-MIL, WSON 6X5-MM ............................... 6 6.1 Package Types ............................................................................................................... 7 6.2 Chip Select (/CS) ............................................................................................................ 7 6.3 Serial Data Input, Output and IOs (DI, DO, IO0 and IO1) ............................................... 7 6.4 Write Protect (/WP)......................................................................................................... 7 6.5 HOLD (/HOLD)................................................................................................................ 7 6.6 Serial Clock (CLK) .......................................................................................................... 7 7. BLOCK DIAGRAM ...................................................................................................................... 8 8. FUNCTIONAL DESCRIPTION.................................................................................................... 9 8.1 8.2 SPI OPERATIONS.......................................................................................................... 9 8.1.1 Standard SPI Instructions ................................................................................................ 9 8.1.2 Dual SPI Instructions ........................................................................................................ 9 8.1.3 Hold Function ................................................................................................................... 9 WRITE PROTECTION ................................................................................................. 10 8.2.1 9. Write Protect Features ................................................................................................... 10 CONTROL AND STATUS REGISTERS ................................................................................... 11 9.1 9.2 STATUS REGISTER .................................................................................................... 11 9.1.1 BUSY.............................................................................................................................. 11 9.1.2 Write Enable Latch (WEL) ............................................................................................. 11 9.1.3 Block Protect Bits (BP2, BP1, BP0) ............................................................................... 11 9.1.4 Top/Bottom Block Protect (TB)....................................................................................... 11 9.1.5 Reserved Bits ................................................................................................................. 11 9.1.6 Status Register Protect (SRP)........................................................................................ 12 9.1.7 Status Register Memory Protection ................................................................................ 13 INSTRUCTIONS ........................................................................................................... 14 9.2.1 Manufacturer and Device Identification .......................................................................... 14 9.2.2 Instruction Set ................................................................................................................ 15 9.2.3 Write Enable (06h) ......................................................................................................... 16 9.2.4 Write Disable (04h) ........................................................................................................ 16 9.2.5 Read Status Register (05h) ............................................................................................ 18 9.2.6 Write Status Register (01h) ............................................................................................ 19 9.2.7 Read Data (03h) ............................................................................................................. 21 9.2.8 Fast Read (0Bh) ............................................................................................................. 22 -2- W25X10BL/20BL/40BL 10. 11. 12. Fast Read Dual Output (3Bh) ......................................................................................... 23 Fast Read Dual I/O (BBh) ............................................................................................ 24 9.2.11 Continuous Read Mode Bits (M7-0) ............................................................................. 26 9.2.12 Continuous Read Mode Reset (FFFFh) ....................................................................... 26 9.2.13 Page Program (02h) ..................................................................................................... 27 9.2.14 Sector Erase (20h) ....................................................................................................... 28 9.2.15 32KB Block Erase (52h) ............................................................................................... 29 9.2.16 Block Erase (D8h) ........................................................................................................ 30 9.2.17 Chip Erase (C7h or 60h) .............................................................................................. 31 9.2.18 Power-down (B9h) ........................................................................................................ 32 9.2.19 Release Power-down / Device ID (ABh)....................................................................... 33 9.2.20 Read Manufacturer / Device ID (90h) ........................................................................... 35 9.2.21 Read Manufacturer / Device ID Dual I/O (92h)............................................................. 36 9.2.22 Read Unique ID Number (4Bh) .................................................................................... 37 9.2.23 JEDEC ID (9Fh) ........................................................................................................... 38 ELECTRICAL CHARACTERISTICS ......................................................................................... 39 10.1 Absolute Maximum Ratings .......................................................................................... 39 10.2 Operating Ranges ......................................................................................................... 39 10.3 Power-up Timing and Write Inhibit Threshold............................................................... 40 10.4 DC Electrical Characteristics ........................................................................................ 41 10.5 AC Measurement Conditions ........................................................................................ 42 10.6 AC Electrical Characteristics......................................................................................... 43 10.7 AC Electrical Characteristics (cont’d)............................................................................ 44 10.8 Serial Output Timing ..................................................................................................... 45 10.9 Input Timing .................................................................................................................. 45 10.10 Hold Timing ................................................................................................................. 45 PACKAGE SPECIFICATION .................................................................................................... 46 11.1 8-Pin SOIC 150-mil (Package Code SN) ...................................................................... 46 11.2 8-Pin SOIC 208-mil (Package Code SS) ...................................................................... 47 11.3 8-Pin PDIP 300-mil (Package Code DA) ...................................................................... 48 11.4 8-Contact 6x5mm WSON (Package Code ZP) ............................................................ 49 ORDERING INFORMATION..................................................................................................... 51 12.1 13. 9.2.9 9.2.10 Valid Part Numbers and Top Side Marking .................................................................. 52 REVISION HISTORY ................................................................................................................ 53 -3- Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 1. GENERAL DESCRIPTION The W25X10BL (1M-bit), W25X20BL (2M-bit) and the W25X40BL (4M-bit) Serial Flash memories provides a storage solution for systems with limited space, pins and power. The 25X series offers flexibility and performance well beyond ordinary Serial Flash devices. They are ideal for code download applications as well as storing voice, text and data. The devices operate on a single 2.3V to 3.6V power supply with current consumption as low as 4mA active and 1µA for power-down. All devices are offered in space-saving packages. The W25X10BL/20BL/40BL arrays are organized into 512/1,024/2,048 programmable pages of 256bytes each. Up to 256 bytes can be programmed at a time using the Page Program instruction. Pages can be erased in groups of 16 (sector erase), groups of 128 (32KB block erase), groups of 256 (block erase) or the entire chip (chip erase). The W25X10BL/20BL/40BL has 32/64/128 erasable sectors and 2/4/8 erasable 64KB blocks respectively. The small 4KB sectors allow for greater flexibility in applications that require data and parameter storage. (See figure 2.) The W25X10BL/20BL/40BL supports the standard Serial Peripheral Interface (SPI), and a high performance dual output as well as Dual I/O SPI: Serial Clock, Chip Select, Serial Data DI (I/O0), DO (I/O1). SPI clock frequencies of up to 50MHz are supported allowing equivalent clock rates of 100MHz when using the Fast Read Dual Output instruction. These transfer rates are comparable to those of 8 and 16-bit Parallel Flash memories. A Hold pin, Write Protect pin and programmable write protect, with top or bottom array control features, provide further control flexibility. Additionally, the device supports JEDEC standard manufacturer and device identification. 2. FEATURES • Software and Hardware Write Protection – Write-Protect all or portion of memory – Enable/Disable protection with /WP pin – Top or bottom array protection – Volatile & Non-volatile Status Register Bits • Family of Serial Flash Memories – W25X10BL: 1M-bit/128K-byte (131,072) – W25X20BL: 2M-bit/256K-byte (262,144) – W25X40BL: 4M-bit/512K-byte (524,288) – 256-bytes per programmable page – Uniform 4KB Sectors, 32KB & 64KB Blocks • Flexible Architecture with 4KB sectors – Sector Erase (4K-bytes) – Block Erase (32K and 64K-byte) – Page program up to 256 bytes <1ms – More than 100,000 erase/write cycles – More than 20-year retention • SPI with Single / Dual Outputs / Dual I/O – Clock, Chip Select, Data I/O, Data Out – Optional Hold function for SPI flexibility • Data Transfer up to 100M-bits / second – Clock operation to 50MHz – Fast Read Dual Output instruction – Auto-increment Read capability • Low Power Consumption, Wide Temperature Range – Single 2.3 to 3.6V supply – 4mA active current, 1µA Power-down (typ) – -40° to +85°C operating range • Efficient “Continuous Read Mode” – Low Instruction overhead – Continuous Read – As few as 8 clocks to address memory – Allows true XIP (execute in place) operation • Space Efficient Packaging – 8-pin SOIC 150-mil – 8-pin SOIC 208-mil – 8-pad WSON 6x5-mm – 8-pin PDIP 300-mil -4- W25X10BL/20BL/40BL 3. PIN CONFIGURATION SOIC 150-MIL / 208-MIL Figure 1a. W25X10BL/20BL/40BL Pin Assignments, 8-pin SOIC 150 / 208-mil (Package Code SN & SS) 4. PAD CONFIGURATION WSON 6X5-MM Figure 1b. W25X10BL/20BL/40BL Pad Assignments, 8-pad WSON 6X5-mm (Package Code ZP) -5- Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 5. PIN CONFIGURATION PDIP 300-MIL Figure 1c. W25X40BL Pin Assignments, 8-pin PDIP (Package Code DA) 6. PIN DESCRIPTION SOIC 150 / 208-MIL, PDIP 300-MIL, WSON 6X5-MM PIN NO. PIN NAME I/O FUNCTION 1 /CS I Chip Select Input 2 DO (IO1) O Data Input / Output 3 /WP I Write Protect Input 4 GND 5 DIO (IO0) I/O Data Input / Output 6 CLK I Serial Clock Input 7 /HOLD I Hold Input 8 VCC Ground Power Supply -6- W25X10BL/20BL/40BL 6.1 Package Types W25X10BL/20BL/40BL are offered in an 8-pin plastic 150-mil width SOIC (package code SN) and 6x5mm WSON (package code ZP), see figures 1a and 1b, respectively. The W25X40BL is offered in the 208-mil width SOIC (package code SS) and the 300-mil 8-pin PDIP (package code DA), see figure 1c. Package diagrams and dimensions are illustrated at the end of this datasheet. 6.2 Chip Select (/CS) The SPI Chip Select (/CS) pin enables and disables device operation. When /CS is high the device is deselected and the Serial Data Output (DO) pin is at high impedance. When deselected, the devices power consumption will be at standby levels unless an internal erase, program or status register cycle is in progress. When /CS is brought low the device will be selected, power consumption will increase to active levels and instructions can be written to and data read from the device. After power-up, /CS must transition from high to low before a new instruction will be accepted. The /CS input must track the VCC supply level at power-up (see “Write Protection” and Figure 26). If needed a pull-up resister on /CS can be used to accomplish this. 6.3 Serial Data Input, Output and IOs (DI, DO, IO0 and IO1) The W25X10BL/20BL/40BL supports standard SPI and Dual SPI operation. Standard SPI instructions use the unidirectional DI (input) pin to serially write instructions, addresses or data to the device on the rising edge of the Serial Clock (CLK) input pin. Standard SPI also uses the unidirectional DO (output) to read data or status from the device on the falling edge of CLK. Dual SPI instructions use the bidirectional IO pins to serially write instructions, addresses or data to the device on the rising edge of CLK and read data or status from the device on the falling edge of CLK. 6.4 Write Protect (/WP) The Write Protect (/WP) pin can be used to prevent the Status Register from being written. Used in conjunction with the Status Register’s Block Protect (BP2, BP1, and BP0) bits and Status Register Protect (SRP) bit, a portion or the entire memory array can be hardware protected. The /WP pin is active low. 6.5 HOLD (/HOLD) The Hold (/HOLD) pin allows the device to be paused while it is actively selected. When /HOLD is brought low, while /CS is low, the DO pin will be at high impedance and signals on the DIO and CLK pins will be ignored (don’t care). When /HOLD is brought high, device operation can resume. The /HOLD function can be useful when multiple devices are sharing the same SPI signals. (“See Hold function”) 6.6 Serial Clock (CLK) The SPI Serial Clock Input (CLK) pin provides the timing for serial input and output operations. (“See SPI Operations”) -7- Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 7. BLOCK DIAGRAM Block Segmentation xxFF00h • xxF000h Sector 15 (4KB) xxFFFFh • xxF0FFh xxEF00h • xxE000h Sector 14 (4KB) xxEFFFh • xxE0FFh xxDF00h • xxD000h Sector 13 (4KB) xxDFFFh • xxD0FFh 07FF00h • 070000h Block 7 (64KB) xx2FFFh • xx20FFh xx1F00h • xx1000h Sector 1 (4KB) xx1FFFh • xx10FFh xx0F00h • xx0000h Sector 0 (4KB) xx0FFFh • xx00FFh Write Control Logic 04FF00h • 040000h Block 4 (64KB) 04FFFFh • 0400FFh 03FF00h • 030000h Block 3 (64KB) 03FFFFh • 0300FFh W25X20BL Sector 2 (4KB) Write Protect Logic and Row Decode xx2F00h • xx2000h W25X40BL • • • • • • /WP 07FFFFh • 0700FFh • • • High Voltage Generators /HOLD CLK /CS SPI Command & Control Logic Page Address Latch / Counter 01FF00h • 010000h Block 1 (64KB) 01FFFFh • 0100FFh 00FF00h • 000000h Block 0 (64KB) 00FFFFh • 0000FFh Beginning Page Address Column Decode And 256-Byte Page Buffer Data DIO (IO0) DO (IO1) Ending Page Address Byte Address Latch / Counter Figure 2. W25X10BL/20BL/40BL Block Diagram -8- W25X10BL Status Register W25X10BL/20BL/40BL 8. FUNCTIONAL DESCRIPTION 8.1 SPI OPERATIONS 8.1.1 Standard SPI Instructions The W25X10BL/20BL/40BL are accessed through an SPI compatible bus consisting of four signals: Serial Clock (CLK), Chip Select (/CS), Serial Data Input (DI) and Serial Data Output (DO). Standard SPI instructions use the DI input pin to serially write instructions, addresses or data to the device on the rising edge of CLK. The DO output pin is used to read data or status from the device on the falling edge CLK. SPI bus operation Modes 0 (0,0) and 3 (1,1) are supported. The primary difference between Mode 0 and Mode 3 concerns the normal state of the CLK signal when the SPI bus master is in standby and data is not being transferred to the Serial Flash. For Mode 0 the CLK signal is normally low on the falling and rising edges of /CS. For Mode 3 the CLK signal is normally high on the falling and rising edges of /CS.. 8.1.2 Dual SPI Instructions The W25X10BL/20BL/40BL supports Dual SPI operation when using the “Fast Read Dual Output (3Bh)” and “Fast Read Dual I/O (BBh)” instructions. These instructions allow data to be transferred to or from the device at two to three times the rate of ordinary Serial Flash devices. The Dual SPI Read instructions are ideal for quickly downloading code to RAM upon power-up (code-shadowing) or for executing non-speed-critical code directly from the SPI bus (XIP). When using Dual SPI instructions, the DI and DO pins become bidirectional I/O pins: IO0 and IO1. 8.1.3 Hold Function The /HOLD signal allows the W25X10BL/20BL/40BL operation to be paused while it is actively selected (when /CS is low). The /HOLD function may be useful in cases where the SPI data and clock signals are shared with other devices. For example, consider if the page buffer was only partially written when a priority interrupt requires use of the SPI bus. In this case the /HOLD function can save the state of the instruction and the data in the buffer so programming can resume where it left off once the bus is available again. To initiate a /HOLD condition, the device must be selected with /CS low. A /HOLD condition will activate on the falling edge of the /HOLD signal if the CLK signal is already low. If the CLK is not already low the /HOLD condition will activate after the next falling edge of CLK. The /HOLD condition will terminate on the rising edge of the /HOLD signal if the CLK signal is already low. If the CLK is not already low the /HOLD condition will terminate after the next falling edge of CLK. During a /HOLD condition, the Serial Data Output (DO) is high impedance, and Serial Data Input/Output (DIO) and Serial Clock (CLK) are ignored. The Chip Select (/CS) signal should be kept active (low) for the full duration of the /HOLD operation to avoid resetting the internal logic state of the device. -9- Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 8.2 WRITE PROTECTION Applications that use non-volatile memory must take into consideration the possibility of noise and other adverse system conditions that may compromise data integrity. To address this concern the W25X10BL/20BL/40BL provides several means to protect data from inadvertent writes. 8.2.1 Write Protect Features • Device resets when VCC is below threshold. • Time delay write disable after Power-up. • Write enable/disable instructions. • Automatic write disable after program and erase. • Software write protection using Status Register. • Hardware write protection using Status Register and /WP pin. • Write Protection using Power-down instruction. Upon power-up or at power-down the W25X10BL/20BL/40BL will maintain a reset condition while VCC is below the threshold value of VWI, (See Power-up Timing and Voltage Levels and Figure 26). While reset, all operations are disabled and no instructions are recognized. During power-up and after the VCC voltage exceeds VWI, all program and erase related instructions are further disabled for a time delay of tPUW . This includes the Write Enable, Page Program, Sector Erase, Block Erase, Chip Erase and the Write Status Register instructions. Note that the chip select pin (/CS) must track the VCC supply level at power-up until the VCC-min level and tVSL time delay is reached. If needed a pull-up resister on /CS can be used to accomplish this. After power-up the device is automatically placed in a write-disabled state with the Status Register Write Enable Latch (WEL) set to a 0. A Write Enable instruction must be issued before a Page Program, Sector Erase, Chip Erase or Write Status Register instruction will be accepted. After completing a program, erase or write instruction the Write Enable Latch (WEL) is automatically cleared to a write-disabled state of 0. Software controlled write protection is facilitated using the Write Status Register instruction and setting the Status Register Protect (SRP) and Block Protect (TB, BP2, BP1, and BP0) bits. These Status Register bits allow a portion or all of the memory to be configured as read only. Used in conjunction with the Write Protect (/WP) pin, changes to the Status Register can be enabled or disabled under hardware control. See Status Register for further information. Additionally, the Power-down instruction offers an extra level of write protection as all instructions are ignored except for the Release Power-down instruction. - 10 - W25X10BL/20BL/40BL 9. CONTROL AND STATUS REGISTERS The Read Status Register instruction can be used to provide status on the availability of the Flash memory array, if the device is write enabled or disabled, and the state of write protection. The Write Status Register instruction can be used to configure the device write protection features. See Figure 3. 9.1 9.1.1 STATUS REGISTER BUSY BUSY is a read only bit in the status register (S0) that is set to a 1 state when the device is executing a Page Program, Sector Erase, Block Erase, Chip Erase or Write Status Register instruction. During this time the device will ignore further instructions except for the Read Status Register instruction (see tW , tPP, tSE, tBE, and tCE in AC Characteristics). When the program, erase or write status register instruction has completed, the BUSY bit will be cleared to a 0 state indicating the device is ready for further instructions. 9.1.2 Write Enable Latch (WEL) Write Enable Latch (WEL) is a read only bit in the status register (S1) that is set to a 1 after executing a Write Enable Instruction. The WEL status bit is cleared to a 0 when the device is write disabled. A write disable state occurs upon power-up or after any of the following instructions: Write Disable, Page Program, Sector Erase, Block Erase, Chip Erase and Write Status Register. 9.1.3 Block Protect Bits (BP2, BP1, BP0) The Block Protect Bits (BP2, BP1, and BP0) are non-volatile read/write bits in the status register (S4, S3, and S2) that provide Write Protection control and status. Block Protect bits can be set using the Write Status Register Instruction (see tW in AC characteristics). All, none or a portion of the memory array can be protected from Program and Erase instructions (see Status Register Memory Protection table). The factory default setting for the Block Protection Bits is 0, none of the array protected. The Block Protect bits cannot be written to if the Status Register Protect (SRP) bit is set to 1 and the Write Protect (/WP) pin is low. 9.1.4 Top/Bottom Block Protect (TB) The Top/Bottom bit (TB) controls if the Block Protect Bits (BP2, BP1, BP0) protect from the Top (TB=0) or the Bottom (TB=1) of the array as shown in the Status Register Memory Protection table. The TB bit is non-volatile and the factory default setting is TB=0. The TB bit can be set with the Write Status Register Instruction provided that the Write Enable instruction has been issued. The TB bit cannot be written to if the Status Register Protect (SRP) bit is set to 1 and the Write Protect (/WP) pin is low. 9.1.5 Reserved Bits Status register bit location S6 is reserved for future use. Current devices will read 0 for this bit location. It is recommended to mask out the reserved bit when testing the Status Register. Doing this will ensure compatibility with future devices. - 11 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 9.1.6 Status Register Protect (SRP) The Status Register Protect (SRP) bit is a non-volatile read/write bit in status register (S7) that can be used in conjunction with the Write Protect (/WP) pin to disable writes to status register. When the SRP bit is set to a 0 state (factory default) the /WP pin has no control over status register. When the SRP pin is set to a 1, the Write Status Register instruction is locked out while the /WP pin is low. When the /WP pin is high the Write Status Register instruction is allowed. Figure 3. Status Register Bit Locations - 12 - W25X10BL/20BL/40BL 9.1.7 Status Register Memory Protection STATUS REGISTER(1) W25X40BL (4M-BIT) MEMORY PROTECTION TB BP2 BP1 BP0 BLOCK(S) ADDRESSES DENSITY PORTION x 0 0 0 1 1 1 x 0 0 0 0 0 0 0 1 0 0 1 1 0 1 1 x 0 1 0 1 1 0 1 x NONE 7 6 and 7 4 thru 7 0 0 and 1 0 thru 3 0 thru 7 NONE 070000h - 07FFFFh 060000h - 07FFFFh 040000h - 07FFFFh 000000h - 00FFFFh 000000h - 01FFFFh 000000h - 03FFFFh 000000h - 07FFFFh NONE 64KB 128KB 256KB 64KB 128KB 256KB 512KB NONE Upper 1/8 Upper 1/4 Upper 1/2 Lower 1/8 Lower 1/4 Lower 1/2 ALL STATUS REGISTER(1) W25X20BL (2M-BIT) MEMORY PROTECTION TB BP2 BP1 BP0 BLOCK(S) ADDRESSES DENSITY PORTION x 0 0 1 1 x x x x x x x 0 0 1 0 1 1 0 1 0 1 0 1 NONE 3 2 and 3 0 0 and 1 0 thru 3 NONE 030000h - 03FFFFh 020000h - 03FFFFh 000000h - 00FFFFh 000000h - 01FFFFh 000000h - 03FFFFh NONE 64KB 128KB 64KB 128KB 256KB NONE Upper 1/4 Upper 1/2 Lower 1/4 Lower 1/2 ALL STATUS REGISTER(1) W25X10BL (1M-BIT) MEMORY PROTECTION TB BP2 BP1 BP0 BLOCK(S) ADDRESSES DENSITY PORTION x 0 1 x x x x x 0 0 0 1 0 1 1 x NONE 1 0 0 and 1 NONE 010000h - 01FFFFh 000000h - 00FFFFh 000000h - 01FFFFh NONE 64KB 64KB 128KB NONE Upper 1/2 Lower 1/2 ALL Note: 1. x = don’t care - 13 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 9.2 INSTRUCTIONS The instruction set of the W25X10BL/20BL/40BL consists of nineteen basic instructions that are fully controlled through the SPI bus (see Instruction Set table). Instructions are initiated with the falling edge of Chip Select (/CS). The first byte of data clocked into the DIO input provides the instruction code. Data on the DIO input is sampled on the rising edge of clock with most significant bit (MSB) first. Instructions vary in length from a single byte to several bytes and may be followed by address bytes, data bytes, dummy bytes (don’t care), and in some cases, a combination. Instructions are completed with the rising edge of edge /CS. Clock relative timing diagrams for each instruction are included in figures 4 through 25. All read instructions can be completed after any clocked bit. However, all instructions that Write, Program or Erase must complete on a byte boundary (CS driven high after a full 8-bits have been clocked) otherwise the instruction will be terminated. This feature further protects the device from inadvertent writes. Additionally, while the memory is being programmed or erased, or when the Status Register is being written, all instructions except for Read Status Register will be ignored until the program or erase cycle has completed. 9.2.1 Manufacturer and Device Identification MANUFACTURER ID (M7-M0) Winbond Serial Flash EFh Device ID (ID7-ID0) (ID15-ID0) Instruction ABh, 90h, 92h 9Fh W25X10BL 10h 3011h W25X20BL 11h 3012h W25X40BL 12h 3013h - 14 - W25X10BL/20BL/40BL 9.2.2 Instruction Set (1) INSTRUCTION NAME BYTE 1 CODE BYTE 2 BYTE 3 BYTE 4 BYTE 5 BYTE 6 N-BYTES Write Enable 06h Write Disable 04h Write Enable for Volatile Status Register 50h Read Status Register 05h (S7–S0)(1) Write Status Register 01h S7–S0 Read Data 03h A23–A16 A15–A8 A7–A0 (D7–D0) (Next byte) continuous Fast Read 0Bh A23–A16 A15–A8 A7–A0 dummy (D7–D0) (Next Byte) continuous Fast Read Dual Output 3Bh A23–A16 A15–A8 A7–A0 dummy (D7-D0, …)(5) (one byte per 4 clocks, continuous) Fast Read Dual I/O BBh A23-A8(6) A7-A0, M7M0(6) (D7-D0, …)(5) Page Program 02h A23–A16 A15–A8 A7–A0 (D7–D0) (Next byte) Up to 256 bytes (2) Sector Erase (4KB) 20h A23–A16 A15–A8 A7–A0 Block Erase (32KB) 52h A23–A16 A15–A8 A7–A0 Block Erase (64KB) D8h A23–A16 A15–A8 A7–A0 Chip Erase C7h/60h Power-down B9h Release Power-down / Device ID ABh dummy dummy dummy (ID7ID0)(4) 90h dummy dummy 00h (M7-M0) (ID7ID0) Manufacturer/Device ID by Dual I/O 92h A23-A8 A7-A0, M[7:0] (MF[7:0], ID[7:0]) JEDEC ID 9Fh (M7-M0) Manufacturer (ID15-ID8) (ID7-ID0) Memory Type Capacity Read Unique ID 4Bh dummy dummy dummy (ID63ID0) Manufacturer/ Device ID (3) dummy Read Unique ID Notes: 1. Data bytes are shifted with Most Significant Bit first. Byte fields with data in parenthesis “( )” indicate data being read from the device on the DO pin. 2. The Status Register contents will repeat continuously until /CS terminates the instruction. 3. See Manufacturer and Device Identification table for Device ID information. 4. The Device ID will repeat continuously until /CS terminates the instruction. 5. Dual Output and Dual I/O data IO0 = (D6, D4, D2, D0) IO1 = (D7, D5, D3, D1) 6. Dual Input Address IO0 = A22, A20, A18, A16, A14, A12, A10, A8 A6, A4, A2, A0, M6, M4, M2, M0 IO1 = A23, A21, A19, A17, A15, A13, A11, A9 A7, A5, A3, A1, M7, M5, M3, M1 - 15 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 9.2.3 Write Enable (06h) The Write Enable instruction (Figure 4) sets the Write Enable Latch (WEL) bit in the Status Register to a 1. The WEL bit must be set prior to every Page Program, Sector Erase, Block Erase, Chip Erase and Write Status Register instruction. The Write Enable instruction is entered by driving /CS low, shifting the instruction code “06h” into the Data Input (DI) pin on the rising edge of CLK, and then driving /CS high. Figure 4. Write Enable Instruction Sequence Diagram 9.2.4 Write Enable for Volatile Status Register (50h) The non-volatile Status Register bits described in section 9.1 can also be written to as volatile bits. This gives more flexibility to change the system configuration and memory protection schemes quickly without waiting for the typical non-volatile bit write cycles or affecting the endurance of the Status Register non-volatile bits. To write the volatile values into the Status Register bits, the Write Enable for Volatile Status Register (50h) instruction must be issued prior to a Write Status Register (01h) instruction. Write Enable for Volatile Status Register instruction (Figure 5) will not set the Write Enable Latch (WEL) bit, it is only valid for the Write Status Register instruction to change the volatile Status Register bit values. Instruction (50h) Figure 5. Write Enable for Volatile Status Register Instruction Sequence Diagram - 16 - W25X10BL/20BL/40BL 9.2.5 Write Disable (04h) The Write Disable instruction (Figure 6) resets the Write Enable Latch (WEL) bit in the Status Register to a 0. The Write Disable instruction is entered by driving /CS low, shifting the instruction code “04h” into the DIO pin and then driving /CS high. Note that the WEL bit is automatically reset after Power-up and upon completion of the Write Status Register, Page Program, Sector Erase, Block Erase and Chip Erase instructions. Figure 6. Write Disable Instruction Sequence Diagram - 17 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 9.2.6 Read Status Register (05h) The Read Status Register instruction allows the 8-bit Status Register to be read. The instruction is entered by driving /CS low and shifting the instruction code “05h” into the DIO pin on the rising edge of CLK. The status register bits are then shifted out on the DO pin at the falling edge of CLK with most significant bit (MSB) first as shown in figure 7. The Status Register bits are shown in figure 3 and include the BUSY, WEL, BP2-BP0, TB and SRP bits (see description of the Status Register earlier in this datasheet). The Status Register instruction may be used at any time, even while a Program, Erase or Write Status Register cycle is in progress. This allows the BUSY status bit to be checked to determine when the cycle is complete and if the device can accept another instruction. The Status Register can be read continuously, as shown in Figure 7. The instruction is completed by driving /CS high. Figure 7. Read Status Register Instruction Sequence Diagram - 18 - W25X10BL/20BL/40BL 9.2.7 Write Status Register (01h) The Write Status Register instruction allows the Status Register to be written. Only non-volatile Status Register bits SRP, TB, BP2, BP1, BP0 (bits 7 thru 2 of Status Register) can be written to. All other Status Register bit locations are read-only and will not be affected by the Write Status Register instruction. The Status Register bits are shown in figure 3 and described in 9.1. To write non-volatile Status Register bits, a standard Write Enable (06h) instruction must previously have been executed for the device to accept the Write Status Register Instruction (Status Register bit WEL must equal 1). Once write enabled, the instruction is entered by driving /CS low, sending the instruction code “01h”, and then writing the status register data byte as illustrated in figure 8. To write volatile Status Register bits, a Write Enable for Volatile Status Register (50h) instruction must have been executed prior to the Write Status Register instruction (Status Register bit WEL remains 0). Upon power off, the volatile Status Register bit values will be lost, and the non-volatile Status Register bit values will be restored when power on again. To complete the Write Status Register instruction, the /CS pin must be driven high after the eighth bit of data that is clocked in. If this is not done the Write Status Register instruction will not be executed. During non-volatile Status Register write operation (06h combined with 01h), after /CS is driven high, the self-timed Write Status Register cycle will commence for a time duration of tW (See AC Characteristics). While the Write Status Register cycle is in progress, the Read Status Register instruction may still be accessed to check the status of the BUSY bit. The BUSY bit is a 1 during the Write Status Register cycle and a 0 when the cycle is finished and ready to accept other instructions again. After the Write Status Register cycle has finished, the Write Enable Latch (WEL) bit in the Status Register will be cleared to 0. During volatile Status Register write operation (50h combined with 01h), after /CS is driven high, the Status Register bits will be refreshed to the new values within the time period of tSHSL2 (See AC Characteristics). BUSY bit will remain 0 during the Status Register bit refresh period. Please refer to 9.1 for detailed Status Register Bit descriptions. Factory default for all status Register bits are 0. . - 19 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL Figure 8. Write Status Register Instruction Sequence Diagram - 20 - W25X10BL/20BL/40BL 9.2.8 Read Data (03h) The Read Data instruction allows one more data bytes to be sequentially read from the memory. The instruction is initiated by driving the /CS pin low and then shifting the instruction code “03h” followed by a 24-bit address (A23-A0) into the DIO pin. The code and address bits are latched on the rising edge of the CLK pin. After the address is received, the data byte of the addressed memory location will be shifted out on the DO pin at the falling edge of CLK with most significant bit (MSB) first. The address is automatically incremented to the next higher address after each byte of data is shifted out allowing for a continuous stream of data. This means that the entire memory can be accessed with a single instruction as long as the clock continues. The instruction is completed by driving /CS high. The Read Data instruction sequence is shown in figure 9. If a Read Data instruction is issued while an Erase, Program or Write cycle is in process (BUSY=1) the instruction is ignored and will not have any effects on the current cycle. The Read Data instruction allows clock rates from D.C. to a maximum of fR (see AC Electrical Characteristics). Figure 9. Read Data Instruction Sequence Diagram - 21 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 9.2.9 Fast Read (0Bh) The Fast Read instruction is similar to the Read Data instruction except that it can operate at the highest possible frequency of FR (see AC Electrical Characteristics). This is accomplished by adding eight “dummy” clocks after the 24-bit address as shown in figure 10. The dummy clocks allow the devices internal circuits additional time for setting up the initial address. During the dummy clocks the data value on the DIO pin is a “don’t care”. Figure 10. Fast Read Instruction Sequence Diagram - 22 - W25X10BL/20BL/40BL 9.2.10 Fast Read Dual Output (3Bh) The Fast Read Dual Output (3Bh) instruction is similar to the standard Fast Read (0Bh) instruction except that data is output on two pins, DO and DIO, instead of just DO. This allows data to be transferred from the W25X10BL/20BL/40BL at twice the rate of standard SPI devices. The Fast Read Dual Output instruction is ideal for quickly downloading code from Flash to RAM upon power-up or for applications that cache code-segments to RAM for execution. Similar to the Fast Read instruction, the Fast Read Dual Output instruction can operate at the highest possible frequency of FR (see AC Electrical Characteristics). This is accomplished by adding eight “dummy” clocks after the 24-bit address as shown in figure 11. The dummy clocks allow the device's internal circuits additional time for setting up the initial address. The input data during the dummy clocks is “don’t care”. However, the DIO pin should be high-impedance prior to the falling edge of the first data out clock. Figure 11. Fast Read Dual Output Instruction Sequence Diagram - 23 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 9.2.11 Fast Read Dual I/O (BBh) The Fast Read Dual I/O (BBh) instruction allows for improved random access while maintaining two IO pins, IO 0 and IO 1 . It is similar to the Fast Read Dual Output (3Bh) instruction but with the capability to input the Address bits (A23-0) two bits per clock. This reduced instruction overhead may allow for code execution (XIP) directly from the Dual SPI in some applications. Fast Read Dual I/O with “Continuous Read Mode” The Fast Read Dual I/O instruction can further reduce instruction overhead through setting the “Continuous Read Mode” bits (M7-0) after the input Address bits (A23-0), as shown in figure 12a. The upper nibble of the (M7-4) controls the length of the next Fast Read Dual I/O instruction through the inclusion or exclusion of the first byte instruction code. The lower nibble bits of the (M3-0) are don’t care (“x”). However, the IO pins should be high-impedance prior to the falling edge of the first data out clock. If the “Continuous Read Mode” bits M5-4 = (1,0), then the next Fast Read Dual I/O instruction (after /CS is raised and then lowered) does not require the BBh instruction code, as shown in figure 12b. This reduces the instruction sequence by eight clocks and allows the Read address to be immediately entered after /CS is asserted low. If the “Continuous Read Mode” bits M5-4 do not equal to (1,0), the next instruction (after /CS is raised and then lowered) requires the first byte instruction code, thus returning to normal operation. A “Continuous Read Mode” Reset instruction can also be used to reset (M7-0) before issuing normal instructions (See 9.2.13 for detail descriptions). Figure 12a. Fast Read Dual I/O Instruction Sequence (Initial instruction or previous M5-4 ≠ 10) - 24 - W25X10BL/20BL/40BL Figure 12b. Fast Read Dual I/O Instruction Sequence (Previous instruction set M5-4 = 10) - 25 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 9.2.12 Continuous Read Mode Bits (M7-0) The “Continuous Read Mode” bits are used in conjunction with the “Fast Read Dual I/O” instruction to provide the highest random Flash memory access rate with minimum SPI instruction overhead, thus allow true XIP (execute in place) to be performed on serial flash devices. M7-0 need to be set by the Dual I/O Read instruction. M5-4 are used to control whether the 8-bit SPI instruction code BBh is needed or not for the next command. When M5-4 = (1,0), the next command will be treated same as the current Dual I/O Read command without needing the 8-bit instruction code; when M5-4 do not equal to (1,0), the device returns to normal SPI mode, all commands can be accepted. M7-6 and M3-0 are reserved bits for future use, either 0 or 1 values can be used. 9.2.13 Continuous Read Mode Reset (FFFFh) Continuous Read Mode Reset instruction can be used to set M4 = 1, thus the device will release the Continuous Read Mode and return to normal SPI operation, as shown in figure 13. Mode Bit Reset for Dual I/O /CS Mode 3 CLK IO 0 IO 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Mode 0 14 15 Mode 3 Mode 0 FFFFh Don’t Care Figure 13. Continuous Read Mode Reset for Fast Read Dual I/O Since W25X10BL/20BL/40BL does not have a hardware Reset pin, so if the controller resets while W25X10BL/20BL/40BL are set to Continuous Mode Read, the W25X10BL/20BL/40BL will not recognize any initial standard SPI instructions from the controller. To address this possibility, it is recommended to issue a Continuous Read Mode Reset instruction as the first instruction after a system Reset. Doing so will release the device from the Continuous Read Mode and allow Standard SPI instructions to be recognized. To reset “Continuous Read Mode” during Dual I/O operation, sixteen clocks are needed to shift in instruction “FFFFh”. - 26 - W25X10BL/20BL/40BL 9.2.14 Page Program (02h) The Page Program instruction allows up to 256 bytes of data to be programmed at previously erased to all 1s (FFh) memory locations. A Write Enable instruction must be executed before the device will accept the Page Program Instruction (Status Register bit WEL must equal 1). The instruction is initiated by driving the /CS pin low then shifting the instruction code “02h” followed by a 24-bit address (A23-A0) and at least one data byte, into the DIO pin. The /CS pin must be held low for the entire length of the instruction while data is being sent to the device. If an entire 256 byte page is to be programmed, the last address byte (the 8 least significant address bits) should be set to 0. If the last address byte is not zero, and the number of clocks exceed the remaining page length, the addressing will wrap to the beginning of the page. In some cases, less than 256 bytes (a partial page) can be programmed without having any effect on other bytes within the same page. One condition to perform a partial page program is that the number of clocks cannot exceed the remaining page length. If more than 256 bytes are sent to the device the addressing will wrap to the beginning of the page and overwrite previously sent data. As with the write and erase instructions, the /CS pin must be driven high after the eighth bit of the last byte has been latched. If this is not done the Page Program instruction will not be executed. After /CS is driven high, the self-timed Page Program instruction will commence for a time duration of tpp (See AC Characteristics). While the Page Program cycle is in progress, the Read Status Register instruction may still be accessed for checking the status of the BUSY bit. The BUSY bit is a 1 during the Page Program cycle and becomes a 0 when the cycle is finished and the device is ready to accept other instructions again. After the Page Program cycle has finished the Write Enable Latch (WEL) bit in the Status Register is cleared to 0. The Page Program instruction will not be executed if the addressed page is protected by the Block Protect (BP2, BP1, and BP0) bits (see Status Register Memory Protection table). Figure 14. Page Program Instruction Sequence Diagram - 27 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 9.2.15 Sector Erase (20h) The Sector Erase instruction sets all memory within a specified sector (4K-bytes) to the erased state of all 1s (FFh). A Write Enable instruction must be executed before the device will accept the Sector Erase Instruction (Status Register bit WEL must equal 1). The instruction is initiated by driving the /CS pin low and shifting the instruction code “20h” followed a 24-bit sector address (A23-A0) (see Figure 2). The Sector Erase instruction sequence is shown in figure 15. The /CS pin must be driven high after the eighth bit of the last byte has been latched. If this is not done the Sector Erase instruction will not be executed. After /CS is driven high, the self-timed Sector Erase instruction will commence for a time duration of tSE (See AC Characteristics). While the Sector Erase cycle is in progress, the Read Status Register instruction may still be accessed for checking the status of the BUSY bit. The BUSY bit is a 1 during the Sector Erase cycle and becomes a 0 when the cycle is finished and the device is ready to accept other instructions again. After the Sector Erase cycle has finished the Write Enable Latch (WEL) bit in the Status Register is cleared to 0. The Sector Erase instruction will not be executed if the addressed page is protected by the Block Protect (TB, BP2, BP1, and BP0) bits (see Status Register Memory Protection table). Figure 15. Sector Erase Instruction Sequence Diagram - 28 - W25X10BL/20BL/40BL 9.2.16 32KB Block Erase (52h) The Block Erase instruction sets all memory within a specified block (32K-bytes) to the erased state of all 1s (FFh). A Write Enable instruction must be executed before the device will accept the Block Erase Instruction (Status Register bit WEL must equal 1). The instruction is initiated by driving the /CS pin low and shifting the instruction code “52h” followed a 24-bit block address (A23-A0) (see Figure 2). The Block Erase instruction sequence is shown in figure 16. The /CS pin must be driven high after the eighth bit of the last byte has been latched. If this is not done the Block Erase instruction will not be executed. After /CS is driven high, the self-timed Block Erase instruction will commence for a time duration of tBE1 (See AC Characteristics). While the Block Erase cycle is in progress, the Read Status Register instruction may still be accessed for checking the status of the BUSY bit. The BUSY bit is a 1 during the Block Erase cycle and becomes a 0 when the cycle is finished and the device is ready to accept other instructions again. After the Block Erase cycle has finished the Write Enable Latch (WEL) bit in the Status Register is cleared to 0. The Block Erase instruction will not be executed if the addressed page is protected by the Block Protect (SEC, TB, BP2, BP1, and BP0) bits (see Status Register Memory Protection table). Figure 16. 32KB Block Erase Instruction Sequence Diagram - 29 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 9.2.17 Block Erase (D8h) The Block Erase instruction sets all memory within a specified block (64K-bytes) to the erased state of all 1s (FFh). A Write Enable instruction must be executed before the device will accept the Block Erase Instruction (Status Register bit WEL must equal 1). The instruction is initiated by driving the /CS pin low and shifting the instruction code “D8h” followed a 24-bit block address (A23-A0) (see Figure 2). The Block Erase instruction sequence is shown in figure 17. The /CS pin must be driven high after the eighth bit of the last byte has been latched. If this is not done the Block Erase instruction will not be executed. After /CS is driven high, the self-timed Block Erase instruction will commence for a time duration of tBE (See AC Characteristics). While the Block Erase cycle is in progress, the Read Status Register instruction may still be accessed for checking the status of the BUSY bit. The BUSY bit is a 1 during the Block Erase cycle and becomes a 0 when the cycle is finished and the device is ready to accept other instructions again. After the Block Erase cycle has finished the Write Enable Latch (WEL) bit in the Status Register is cleared to 0. The Block Erase instruction will not be executed if the addressed page is protected by the Block Protect (TB, BP2, BP1, and BP0) bits (see Status Register Memory Protection table). Figure 17. Block Erase Instruction Sequence Diagram - 30 - W25X10BL/20BL/40BL 9.2.18 Chip Erase (C7h or 60h) The Chip Erase instruction sets all memory within the device to the erased state of all 1s (FFh). A Write Enable instruction must be executed before the device will accept the Chip Erase Instruction (Status Register bit WEL must equal 1). The instruction is initiated by driving the /CS pin low and shifting the instruction code “C7h” or “60h”. The Chip Erase instruction sequence is shown in figure 18. The /CS pin must be driven high after the eighth bit has been latched. If this is not done the Chip Erase instruction will not be executed. After /CS is driven high, the self-timed Chip Erase instruction will commence for a time duration of tCE (See AC Characteristics). While the Chip Erase cycle is in progress, the Read Status Register instruction may still be accessed to check the status of the BUSY bit. The BUSY bit is a 1 during the Chip Erase cycle and becomes a 0 when finished and the device is ready to accept other instructions again. After the Chip Erase cycle has finished the Write Enable Latch (WEL) bit in the Status Register is cleared to 0. The Chip Erase instruction will not be executed if any page is protected by the Block Protect (BP2, BP1, and BP0) bits (see Status Register Memory Protection table). Figure 18. Chip Erase Instruction Sequence Diagram - 31 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 9.2.19 Power-down (B9h) Although the standby current during normal operation is relatively low, standby current can be further reduced with the Power-down instruction. The lower power consumption makes the Power-down instruction especially useful for battery powered applications (See ICC1 and ICC2 in AC Characteristics). The instruction is initiated by driving the /CS pin low and shifting the instruction code “B9h” as shown in figure 19. The /CS pin must be driven high after the eighth bit has been latched. If this is not done the Powerdown instruction will not be executed. After /CS is driven high, the power-down state will entered within the time duration of tDP (See AC Characteristics). While in the power-down state only the Release from Power-down / Device ID instruction, which restores the device to normal operation, will be recognized. All other instructions are ignored. This includes the Read Status Register instruction, which is always available during normal operation. Ignoring all but one instruction makes the Power Down state a useful condition for securing maximum write protection. The device always powers-up in the normal operation with the standby current of ICC1. Figure 19. Deep Power-down Instruction Sequence Diagram - 32 - W25X10BL/20BL/40BL 9.2.20 Release Power-down / Device ID (ABh) The Release from Power-down / Device ID instruction is a multi-purpose instruction. It can be used to release the device from the power-down state, obtain the devices electronic identification (ID) number or do both. When used only to release the device from the power-down state, the instruction is issued by driving the /CS pin low, shifting the instruction code “ABh” and driving /CS high as shown in figure 20. After the time duration of tRES1 (See AC Characteristics) the device will resume normal operation and other instructions will be accepted. The /CS pin must remain high during the tRES1 time duration. When used only to obtain the Device ID while not in the power-down state, the instruction is initiated by driving the /CS pin low and shifting the instruction code “ABh” followed by 3-dummy bytes. The Device ID bits are then shifted out on the falling edge of CLK with most significant bit (MSB) first as shown in figure 20. The Device ID values for the W25X10BL/20BL/40BL are listed in Manufacturer and Device Identification table. The Device ID can be read continuously. The instruction is completed by driving /CS high. When used to release the device from the power-down state and obtain the Device ID, the instruction is the same as previously described, and shown in figure 21, except that after /CS is driven high it must remain high for a time duration of tRES2 (See AC Characteristics). After this time duration the device will resume normal operation and other instructions will be accepted. If the Release from Power-down / Device ID instruction is issued while an Erase, Program or Write cycle is in process (when BUSY equals 1) the instruction is ignored and will not have any effects on the current cycle Figure 20. Release Power-down Instruction Sequence - 33 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL Figure 21. Release Power-down / Device ID Instruction Sequence Diagram - 34 - W25X10BL/20BL/40BL 9.2.21 Read Manufacturer / Device ID (90h) The Read Manufacturer/Device ID instruction is an alternative to the Release from Power-down/ Device ID instruction that provides both JEDEC assigned manufacturer ID and the specific device ID. The Read Manufacturer/Device ID instruction is very similar to the Release from Power-down / Device ID instruction. The instruction is initiated by driving the /CS pin low and shifting the instruction code “90h” followed by a 24-bit address (A23-A0) of 000000h. After which, the Manufacturer ID for Winbond (EFh) and the Device ID are shifted out on the falling edge of CLK with most significant bit (MSB) first as shown in figure 22. The Device ID values for the W25X10BL/20BL/40BL are listed in Manufacturer and Device Identification table. If the 24-bit address is initially set to 000001h the Device ID will be read first and then followed by the Manufacturer ID. The Manufacturer and Device IDs can be read continuously, alternating from one to the other. The instruction is completed by driving /CS high. 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 Figure 22. Read Manufacturer / Device ID Diagram - 35 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 9.2.22 Read Manufacturer / Device ID Dual I/O (92h) The Manufacturer / Device ID Dual I/O instruction is an alternative to the Read Manufacturer/Device ID instruction that provides both the JEDEC assigned manufacturer ID and the specific device ID at 2x speed. The Read Manufacturer / Device ID Dual I/O instruction is similar to the Fast Read Dual I/O instruction. The instruction is initiated by driving the /CS pin low and shifting the instruction code “92h” followed by a 24-bit address (A23-A0) of 000000h, but with the capability to input the Address bits two bits per clock. After which, the Manufacturer ID for Winbond (EFh) and the Device ID are shifted out 2 bits per clock on the falling edge of CLK with most significant bits (MSB) first as shown in figure 23. The Device ID values for the W25X10BL/20BL/40BL are listed in Manufacturer and Device Identification table. If the 24-bit address is initially set to 000001h the Device ID will be read first and then followed by the Manufacturer ID. The Manufacturer and Device IDs can be read continuously, alternating from one to the other. The instruction is completed by driving /CS high. Figure 23. Read Manufacturer / Device ID Dual I/O Diagram Note: The “Continuous Read Mode” bits M7-0 must be set to Fxh to be compatible with Fast Read Dual I/O instruction. - 36 - W25X10BL/20BL/40BL 9.2.23 Read Unique ID Number (4Bh) The Read Unique ID Number instruction accesses a factory-set read-only 64-bit number that is unique to each W25X10BL/20BL/40BL device. The ID number can be used in conjunction with user software methods to help prevent copying or cloning of a system. The Read Unique ID instruction is initiated by driving the /CS pin low and shifting the instruction code “4Bh” followed by a four bytes of dummy clocks. After which, the 64-bit ID is shifted out on the falling edge of CLK as shown in figure 24. DO 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 * DO 41 42 43 44 101 102 103 63 62 61 60 59 2 1 0 *=MSB Figure 24. Read Unique ID Number Instruction Sequence - 37 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 9.2.24 JEDEC ID (9Fh) For compatibility reasons, the W25X10BL/20BL/40BL provides several instructions to electronically determine the identity of the device. The Read JEDEC ID instruction is compatible with the JEDEC standard for SPI compatible serial memories that was adopted in 2003. The instruction is initiated by driving the /CS pin low and shifting the instruction code “9Fh”. The JEDEC assigned Manufacturer ID byte for Winbond (EFh) and two Device ID bytes, Memory Type (ID15-ID8) and Capacity (ID7-ID0) are then shifted out on the falling edge of CLK with most significant bit (MSB) first as shown in figure 25. For memory type and capacity values refer to Manufacturer and Device Identification table. 15 16 17 18 19 20 21 22 23 24 25 26 Figure 25. Read JEDEC ID - 38 - 27 28 29 30 31 W25X10BL/20BL/40BL 10. ELECTRICAL CHARACTERISTICS(1) 10.1 Absolute Maximum Ratings (2) PARAMETERS SYMBOL Supply Voltage VCC Voltage Applied to Any Pin VIO Transient Voltage on any Pin VIOT Storage Temperature TSTG Lead Temperature CONDITIONS RANGE –0.6 to +4.0 V Relative to Ground –0.6 to VCC +0.4 V <20nS Transient Relative to Ground –2.0V to VCC+2.0V V –65 to +150 °C (3) °C TLEAD Electrostatic Discharge Voltage VESD UNIT See Note Human Body Model(4) –2000 to +2000 V Notes: 1. Specification for W25X10BL/20BL/40BL are preliminary. See preliminary designation at the end of this document. 2. This device has been designed and tested for the specified operation ranges. Proper operation outside of these levels is not guaranteed. Exposure to absolute maximum ratings may affect device reliability. Exposure beyond absolute maximum ratings may cause permanent damage. 3. Compliant with JEDEC Standard J-STD-20C for small body Sn-Pb or Pb-free (Green) assembly and the European directive on restrictions on hazardous substances (RoHS) 2002/95/EU. 4. JEDEC Std JESD22-A114A (C1=100 pF, R1=1500 ohms, R2=500 ohms). 10.2 Operating Ranges PARAMETER Supply Voltage(1) Ambient Temperature, Operating SYMBOL VCC TA SPEC CONDITIONS UNIT MIN MAX F R = 50MHz, fR = 25MHz 2.3 3.6 V Industrial Commercial –40 0 +85 +70 °C Note: 1. VCC voltage during Read can operate across the min and max range but should not exceed ±10% of the programming (erase/write) voltage. - 39 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 10.3 Power-up Timing and Write Inhibit Threshold SPEC PARAMETER SYMBOL VCC (min) to /CS Low tVSL(1) 10 Time Delay Before Write Instruction tPUW 1 10 ms Write Inhibit Threshold Voltage VWI 1 2 V (1) (1) MIN Note: 1. These parameters are characterized only. Figure 26. Power-up Timing and Voltage Levels - 40 - MAX UNIT µs W25X10BL/20BL/40BL 10.4 DC Electrical Characteristics PARAMETER SYMBOL CONDITIONS Input Capacitance CIN(1) VIN = 0V(2) Output Capacitance Cout VOUT = 0V Input Leakage SPEC MIN TYP MAX UNIT 6 pF 8 pF ILI ±2 µA I/O Leakage ILO ±2 µA Standby Current ICC1 /CS = VCC, VIN = GND or VCC 25 50 µA Power-down Current ICC2 /CS = VCC, VIN = GND or VCC 1 5 µA Current Read Data / Dual Output 1MHz(2) ICC3 C = 0.1 VCC / 0.9 VCC DO = Open 4/5 6/7.5 mA Current Read Data / Dual Output 33MHz(2) ICC3 C = 0.1 VCC / 0.9 VCC DO = Open 6/7 9/10 mA Current Read Data / Dual Output 50MHz(2) ICC3 C = 0.1 VCC / 0.9 VCC DO = Open 7/8 10/12 mA Current Write Status Register ICC4 /CS = VCC 8 12 mA Current Page Program ICC5 /CS = VCC 20 25 mA Current Sector/Block Erase ICC6 /CS = VCC 20 25 mA Current Chip Erase ICC7 /CS = VCC 20 25 mA Input Low Voltage VIL –0.5 VCCx0.3 V Input High Voltage VIH VCCx0.7 VCC+0.4 V Output Low Voltage VOL IOL = 1.6 mA 0.4 V Output High Voltage VOH IOH = –100 µA (1) (2) VCC–0.2 V Notes: 1. Tested on sample basis and specified through design and characterization data. TA=25°C, VCC=3V. 2. Checker Board Pattern. - 41 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 10.5 AC Measurement Conditions PARAMETER SYMBOL Load Capacitance Input Rise and Fall Times Input Pulse Voltages Input Timing Reference Voltages Output Timing Reference Voltages SPEC MIN MAX UNIT CL 30 pF TR, TF 5 ns VIN 0.2 VCC to 0.8 VCC V IN 0.3 VCC to 0.7 VCC V OUT 0.5 VCC to 0.5 VCC V Note: 1. Output Hi-Z is defined as the point where data out is no longer driven. Figure 27. AC Measurement I/O Waveform - 42 - W25X10BL/20BL/40BL 10.6 AC Electrical Characteristics SPEC DESCRIPTION SYMBOL ALT UNIT MIN Clock frequency for all instructions, except Read Data (03h) 2.3V-3.6V VCC & Industrial Temperature FR Clock freq. Read Data instruction 03h TYP MAX D.C. 50 MHz fR D.C. 25 MHz Clock High, Low Time, for Fast Read (0Bh, 3Bh) / other instructions except Read Data (03h) tCLH, tCLL(1) 4 ns Clock High, Low Time for Read Data (03h) instruction tCRLH, tCRLL(1) 8 ns Clock Rise Time peak to peak tCLCH(2) 0.1 V/ns Clock Fall Time peak to peak tCHCL(2) 0.1 V/ns 5 ns 5 ns fc /CS Active Setup Time relative to CLK tSLCH /CS Not Active Hold Time relative to CLK tCHSL Data In Setup Time tDVCH tDSU 2 ns Data In Hold Time tCHDX tDH 5 ns /CS Active Hold Time relative to CLK tCHSH 5 ns /CS Not Active Setup Time relative to CLK tSHCH 5 ns /CS Deselect Time (for Array Read Array Read) tSHSL1 tCSH 10 ns /CS Deselect Time (for Erase or Program Read Status Registers and Volatile Status Register Write) tSHSL2 tCSH 50 ns tSHQZ(2) tDIS 7 ns Clock Low to Output Valid tCLQV tV 7 ns Output Hold Time tCLQX tHO Output Disable Time tCSS 0 ns Continued – next page - 43 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 10.7 AC Electrical Characteristics (cont’d) SPEC DESCRIPTION SYMBOL ALT UNIT MIN TYP MAX /HOLD Active Setup Time relative to CLK tHLCH 5 ns /HOLD Active Hold Time relative to CLK tCHHH 5 ns /HOLD Not Active Setup Time relative to CLK tHHCH 5 ns /HOLD Not Active Hold Time relative to CLK tCHHL 5 ns /HOLD to Output Low-Z tHHQX(2) tLZ 7 ns /HOLD to Output High-Z tHLQZ(2) tHZ 12 ns Write Protect Setup Time Before /CS Low tWHSL(3) 20 ns Write Protect Hold Time After /CS High tSHWL(3) 100 ns tDP(2) 3 µs /CS High to Standby Mode without Electronic Signature Read tRES1(2) 3 µs /CS High to Standby Mode with Electronic Signature Read tRES2(2) 1.8 µs /CS High to Power-down Mode Write Status Register Time tW 10 15 ms Byte Program Time (First Byte) (4) t BP1 30 50 µs Additional Byte Program Time (After First Byte) (4) t BP2 2.5 12 µs Page Program Time tPP 0.7 3 ms Sector Erase Time (4KB) tSE 30 200 ms Block Erase Time (32KB) tBE 1 120 800 ms Block Erase Time (64KB) tBE 2 150 1,000 ms Chip Erase Time W25X10BL / W25X20BL Chip Erase Time W25X40BL tCE 0.5 1 2 4 s Notes: 1. Clock high + Clock low must be less than or equal to 1/fC. 2. Value guaranteed by design and/or characterization, not 100% tested in production. 3. Only applicable as a constraint for a Write Status Register instruction when SRP is set to 1. 4. For multiple bytes after first byte within a page, t BPN = t BP1 + t BP2 * N (typical) and t BPN = t BP1 + t BP2 * N (max), where N = number of bytes programmed. - 44 - W25X10BL/20BL/40BL 10.8 Serial Output Timing 10.9 Input Timing 10.10 Hold Timing - 45 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 11. PACKAGE SPECIFICATION 11.1 8-Pin SOIC 150-mil (Package Code SN) 1 SYMBOL A A1 b c E(3) D(3) e(2) HE Y(4) L θ MILLIMETERS Min Max 1.35 0.10 0.33 0.19 3.80 4.80 1.75 0.25 0.51 0.25 4.00 5.00 1.27 BSC 5.80 0.40 0° 6.20 0.10 1.27 10° INCHES Min Max 0.053 0.069 0.004 0.010 0.013 0.020 0.008 0.010 0.150 0.157 0.188 0.196 0.050 BSC 0.228 0.244 0.004 0.016 0.050 0° 10° Notes: 1. Controlling dimensions: millimeters, unless otherwise specified. 2. BSC = Basic lead spacing between centers. 3. Dimensions D and E do not include mold flash protrusions and should be measured from the bottom of the package. 4. Formed leads coplanarity with respect to seating plane shall be within 0.004 inches. - 46 - W25X10BL/20BL/40BL 11.2 8-Pin SOIC 208-mil (Package Code SS) SYMBOL A A1 A2 b C D D1 E E1 e H L y θ MILLIMETERS INCHES MIN NOM MAX MIN NOM MAX 1.75 0.05 1.70 0.35 0.19 5.18 5.13 5.18 5.13 1.95 0.15 1.80 0.42 0.20 5.28 5.23 5.28 5.23 1.27 BSC 7.90 0.65 - 2.16 0.25 1.91 0.48 0.25 5.38 5.33 5.38 5.33 0.069 0.002 0.067 0.014 0.007 0.204 0.202 0.204 0.202 0.085 0.010 0.075 0.019 0.010 0.212 0.210 0.212 0.210 8.10 0.80 0.010 8° 0.303 0.020 0° 0.077 0.006 0.071 0.017 0.008 0.208 0.206 0.208 0.206 0.050 BSC 0.311 0.026 - 7.70 0.50 0° 0.319 0.031 0.004 8° Notes: 1. Controlling dimensions: millimeters, unless otherwise specified. 2. BSC = Basic lead spacing between centers. 3. Dimensions D1 and E1 do not include mold flash protrusions and should be measured from the bottom of the package. 4. Formed leads coplanarity with respect to seating plane shall be within 0.004 inches. - 47 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 11.3 8-Pin PDIP 300-mil (Package Code DA) Millimeters Inches Symbol Min Typ. Max Min Typ. Max A --- --- 4.45 --- --- 0.175 A1 0.25 --- --- 0.010 --- --- A2 3.18 3.30 3.43 0.125 0.130 0.135 B 0.41 0.46 0.56 0.016 0.018 0.022 B1 1.47 1.52 1.63 0.058 0.060 0.064 c 0.20 0.25 0.36 0.008 0.010 0.014 D - 9.14 9.65 - 0.360 0.380 0.310 E 7.37 7.62 7.87 0.290 0.300 E1 6.22 6.35 6.48 0.245 0.250 0.255 e1 2.29 2.54 2.79 0.090 0.100 0.110 L 3.05 3.30 3.56 0.120 0.130 0.140 α 0 - 15 0 - 15 eA 8.51 9.02 9.53 0.335 0.355 0.375 S --- --- 1.14 --- --- 0.045 - 48 - W25X10BL/20BL/40BL 11.4 8-Contact 6x5mm WSON (Package Code ZP) SYMBOL MILLIMETERS INCHES MIN TYP. MAX MIN TYP. MAX A 0.70 0.75 0.80 0.0275 0.0295 0.0314 A1 0.00 0.02 0.05 0.0000 0.0007 0.0019 b 0.35 0.40 0.48 0.0137 0.0157 0.0188 C - 0.20 REF. - - 0.0078 REF. - D 5.90 6.00 6.10 0.2322 0.2362 0.2401 D2 3.35 3.40 3.45 0.1318 0.1338 0.1358 E 4.90 5.00 5.10 0.1929 0.1968 0.2007 E2 4.25 4.30 4.35 0.1673 0.1692 0.1712 E(2) 1.27 BSC 0.0500 BSC L 0.55 0.60 0.65 0.0216 0.0236 0.0255 y 0.00 - 0.75 0.0000 - 0.0029 - 49 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 8-Pad WSON 6x5mm Cont’d. MILLIMETERS INCHES SYMBOL MIN TYP. MAX MIN TYP. MAX SOLDER PATTERN M 3.40 0.1338 N 4.30 0.1692 P 6.00 0.2360 Q 0.50 0.0196 R 0.75 0.0255 Notes: 1. Advanced Packaging Information; please contact Winbond for the latest minimum and maximum specifications. 2. BSC = Basic lead spacing between centers. 3. Dimensions D and E do not include mold flash protrusions and should be measured from the bottom of the package. 4. The metal pad area on the bottom center of the package is connected to the device ground (GND pin). Avoid placement of exposed PCB vias under the pad. - 50 - W25X10BL/20BL/40BL 12. ORDERING INFORMATION(1) W W = Winbond 25X = 40 20 10 = = = L = 25X xxB L xx(2) spiFlash Serial Flash Memory with 4KB sectors, Dual Outputs 4M-bit 2M-bit 1M-bit 2.3V to 3.6V SN = 8-pin SOIC 150-mil SS = 8 pin SOIC 208-mil ZP DA = 8-pad WSON 6x5mm = 8-pin PDIP 300mil I = Industrial (-40°C to +85°C) G = Green Package (Lead-free, RoHS Compliant, Halogen-free (TBBA), Antimony-Oxide-free Sb2O3) Notes: 1a. Standard bulk shipments are in Tube (shape E). Please specify alternate packing method, such as Tape and Reel (shape T) or Tray (shape S), when placing orders. 1b. The “W” prefix is not included on the part marking. 2. Only the 2nd letter is used for the part marking, package type ZP is not used for the part marking. - 51 - Publication Release Date: October 14, 2009 Preliminary -- Revision A W25X10BL/20BL/40BL 12.1 Valid Part Numbers and Top Side Marking The following table provides the valid part numbers for the W25X10BL/20BL/40BL SpiFlash Memories. Please contact Winbond for specific availability by density and package type. Winbond SpiFlash memories use an 12-digit Product Number for ordering. However, due to limited space, the Top Side Marking on all packages use an abbreviated 10-digit number. PACKAGE TYPE SN SOIC-8 150mil SS SOIC-8 208mil (1) ZP WSON-8 6x5mm DA PDIP-8 300mil DENSITY PRODUCT NUMBER TOP SIDE MARKING 1M-bit W25X10BLSNIG 25X10BLNIG 2M-bit W25X20BLSNIG 25X20BLNIG 4M-bit W25X40BLSNIG 25X40BLNIG 4M-bit W25X40BLSSIG 25X40BLSIG 1M-bit W25X10BLZPIG 25X10BLIG 2M-bit W25X20BLZPIG 25X20BLIG 4M-bit W25X40BLZPIG 25X40BLIG 4M-bit W25X40BLDAIG 25X40BLAIG Notes: 1. For WSON packages, the package type ZP is not used in the top side marking. - 52 - W25X10BL/20BL/40BL 13. REVISION HISTORY VERSION DATE PAGE A 10/14/09 All DESCRIPTION New create preliminary. Preliminary Designation The “Preliminary” designation on a Winbond datasheet indicates that the product is not fully characterized. The specifications are subject to change and are not guaranteed. Winbond or an authorized sales representative should be consulted for current information before using this product. Trademarks Winbond and SpiFlash are trademarks of Winbond Electronics Corporation. All other marks are the property of their respective owner. Important Notice Winbond products are not designed, intended, authorized or warranted for use as components in systems or equipment intended for surgical implantation, atomic energy control instruments, airplane or spaceship instruments, transportation instruments, traffic signal instruments, combustion control instruments, or for other applications intended to support or sustain life. Further more, Winbond products are not intended for applications wherein failure of Winbond products could result or lead to a situation wherein personal injury, death or severe property or environmental damage could occur. Winbond customers using or selling these products for use in such applications do so at their own risk and agree to fully indemnify Winbond for any damages resulting from such improper use or sales. Information in this document is provided solely in connection with Winbond products. Winbond reserves the right to make changes, corrections, modifications or improvements to this document and the products and services described herein at any time, without notice. - 53 - Publication Release Date: October 14, 2009 Preliminary -- Revision A