W29C022 256K × 8 CMOS FLASH MEMORY
GENERAL DESCRIPTION
The W29C022 is a 2-megabit, 5-volt only CMOS flash memory organized as 256K × 8 bits. The device can be written (erased and programmed) in-system with a standard 5V power supply. A 12-volt VPP is not required. The unique cell architecture of the W29C022 results in fast write (erase/ program) operations with extremely low current consumption compared to other comparable 5-volt flash memory products. The device can also be written (erased and programmed) by using standard EPROM programmers.
FEATURES
• •
Single 5-volt write (erase and program) operations Fast page-write operations − 128 bytes per page − Page write (erase/program) cycle: 10 mS (max.) − Effective byte-write (erase/program) cycle time: 39 µS − Optional software-protected data write
• •
Software and hardware data protection Low power consumption − Active current: 25 mA (typ.) − Standby current: 20 µA (typ.)
• •
Automatic write (erase/program) timing with internal VPP generation End of write (erase/program) detection − Toggle bit − Data polling
• • • •
Fast chip-erase operation: 50 mS Two 8 KB boot blocks with lockout Typical page write (erase/program) cycles: 1K Ten-year data retention
• • •
Latched address and data All inputs and outputs directly TTL compatible JEDEC standard byte-wide pinouts
-1-
Publication Release Date: March 26, 2002 Revision A3
W29C022
PIN CONFIGURATIONS BLOCK DIAGRAM
NC A16 A15 A12 A7 A6 A5 A4 A3 A2 A1 A0 DQ0 DQ1 DQ2 Vss
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
32 31 30 29 28 27
VDD #WE A17 A14 A13 A8 A9 A11 #OE A10 #CE DQ7 DQ6 DQ5 DQ4 DQ3
VDD VSS #CE #OE #WE CONTROL OUTPUT BUFFER DQ0 . . DQ7
32-pin DIP
26 25 24 23 22 21 20 19 18 17
A0 . . . A17 DECODER
8K Byte Boot Block (Optional)
A 1 2 4 A7 A6 A5 A4 A3 A2 A1 A0 DQ0 5 6 7 8 9 10 11 12 13
A 1 5 3
A 1 6 2
N C 1
V D D
# W E
A 1 7
CORE ARRAY
8K Byte Boot Block (Optional)
32 31 30 29 28 27 A14 A13 A8 A9 A11 #OE A10 #CE DQ7
32-pin PLCC
26 25 24 23 22 21
14 15 16 17 18 19 20
PIN DESCRIPTION
SYMBOL
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17
D Q 1
D D QV Q 2 ss 3
D Q 4
D Q 5
D Q 6
PIN NAME Address Inputs Data Inputs/Outputs Chip Enable Output Enable Write Enable Power Supply Ground No Connection
A11 A9 A8 A13 A14 A17 #WE VDD NC A16 A15 A12 A7 A6 A5 A4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#OE A10 #CE DQ7 DQ6 DQ5 DQ4 DQ3 Vss DQ2 DQ1 DQ0 A0 A1 A2 A 3
A0 − A17 DQ0 − DQ7 #CE #OE #WE VDD Vss NC
32-pin TSOP
-2-
W29C022
FUNCTIONAL DESCRIPTION
Read Mode
The read operation of the W29C022 is controlled by #CE and #OE, both of which have to be low for the host to obtain data from the outputs. #CE is used for device selection. When #CE is high, the chip is de-selected and only standby power will be consumed. #OE is the output control and is used to gate data from the output pins. The data bus is in high impedance state when either #CE or #OE is high. Refer to the read cycle timing waveforms for further details.
Page Write Mode
The W29C022 is written (erased/programmed) on a page basis. Every page contains 128 bytes of data. If a byte of data within a page is to be changed, data for the entire page must be loaded into the device. Any byte that is not loaded will be erased to "FF hex" during the write operation of the page. The write operation is initiated by forcing #CE and #WE low and #OE high. The write procedure consists of two steps. Step 1 is the byte-load cycle, in which the host writes to the page buffer of the device. Step 2 is an internal write (erase/program) cycle, during which the data in the page buffers are simultaneously written into the memory array for non-volatile storage. During the byte-load cycle, the addresses are latched by the falling edge of either #CE or #WE, whichever occurs last. The data are latched by the rising edge of either #CE or #WE, whichever occurs first. If the host loads a second byte into the page buffer within a byte-load cycle time (TBLC) of 200 µS after the initial byte-load cycle, the W29C022 will stay in the page load cycle. Additional bytes can then be loaded consecutively. The page load cycle will be terminated and the internal write (erase/program) cycle will start if no additional byte is loaded into the page buffer A7 to A17 specify the page address. All bytes that are loaded into the page buffer must have the same page address. A0 to A6 specify the byte address within the page. The bytes may be loaded in any order; sequential loading is not required. In the internal write cycle, all data in the page buffers, i.e., 128 bytes of data, are written simultaneously into the memory array. Before the completion of the internal write cycle, the host is free to perform other tasks such as fetching data from other locations in the system to prepare to write the next page.
Software-protected Data Write
The device provides a JEDEC-approved optional software-protected data write. Once this scheme is enabled, any write operation requires a three-byte command sequence (with specific data to a specific address) to be performed before the data load operation. The three-byte load command sequence begins the page load cycle, without which the write operation will not be activated. This write scheme provides optimal protection against inadvertent write cycles, such as cycles triggered by noise during system power-up and power-down. The W29C022 is shipped with the software data protection disabled. To enable the software data protection scheme, perform the three-byte command cycle at the beginning of a page load cycle. The device will then enter the software data protection mode, and any subsequent write operation must be preceded by the three-byte command sequence cycle. Once enabled, the software data protection will remain enabled unless the disable commands are issued. A power transition will not reset the software data protection feature. To reset the device to unprotected mode, a six-byte command sequence is required. For information about specific codes, see the Command Codes for Software Data Protection in the Table of Operating Modes. For information about timing waveforms, see the timing diagrams below. Publication Release Date: March 26, 2002 Revision A3
-3-
W29C022
Hardware Data Protection
The integrity of the data stored in the W29C022 is also hardware protected in the following ways: (1) Noise/Glitch Protection: A #WE pulse of less than 15 nS in duration will not initiate a write cycle. (2) VDD Power Up/Down Detection: The write and read operation are inhibited when VDD is less than 2.5V. (3) Write Inhibit Mode: Forcing #OE low, #CE high, or #WE high will inhibit the write operation. This prevents inadvertent writes during power-up or power-down periods. (4) VDD power-on delay: When VDD reaches its sense level, the device will automatically timeout for 5 mS before any write (erase/program) operation.
Chip Erase Modes
The entire device can be erased by using a six-byte software command code. See the Software Chip Erase Timing Diagram.
Boot Block Operation
There are two boot blocks (8K bytes each) in this device, which can be used to store boot code. One of them is located in the first 8K bytes and the other is located in the last 8K bytes of the memory. The first 8K or last 8K of the memory can be set as a boot block by using a seven-byte command sequence. See Command Codes for Boot Block Lockout Enable for the specific code. Once this feature is set the data for the designated block cannot be erased or programmed (programming lockout); other memory locations can be changed by the regular programming method. Once the boot block programming lockout feature is activated, the chip erase function will be disabled. In order to detect whether the boot block feature is set on the two 8K blocks, users can perform a six-byte command sequence: enter the product identification mode (see Command Codes for Identification/Boot Block Lockout Detection for specific code), and then read from address "00002 hex" (for the first 8K bytes) or "3FFF2 hex" (for the last 8K bytes). If the output data is "FF hex," the boot block programming lockout feature is activated; if the output data is "FE hex," the lockout feature is deactivated and the block can be programmed. To return to normal operation, perform a three-byte command sequence to exit the identification mode. For the specific code, see Command Codes for Identification/Boot Block Lockout Detection.
Data Polling (DQ7)- Write Status Detection
The W29C022 includes a data polling feature to indicate the end of a write cycle. When the W29C022 is in the internal write cycle, any attempt to read DQ7 from the last byte loaded during the page/byteload cycle will receive the complement of the true data. Once the write cycle is completed. DQ7 will show the true data. See the #DATA Polling Timing Diagram.
-4-
W29C022
Toggle Bit (DQ6)- Write Status Detection
In addition to data polling, the W29C022 provides another method for determining the end of a write cycle. During the internal write cycle, any consecutive attempts to read DQ6 will produce alternating 0's and 1's. When the write cycle is completed, this toggling between 0's and 1's will stop. The device is then ready for the next operation. See Toggle Bit Timing Diagram.
Product Identification
The product ID operation outputs the manufacturer code and device code. The programming equipment automatically matches the device with its proper erase and programming algorithms. The manufacturer and device codes can be accessed through software or by hardware operation. In the software access mode, a six-byte command sequence can be used to access the product ID. A read from address "00000 hex" outputs the manufacturer code "DA hex." A read from address "00001 hex" outputs the device code "45 hex." The product ID operation can be terminated by a three-byte command sequence. In the hardware access mode, access to the product ID is activated by forcing #CE and #OE low, #WE high, and raising A9 to 12 volts.
TABLE OF OPERATING MODES
Operating Mode Selection
Operating Range: 0 to 70° C (Ambient Temperature), VDD = 5V ±10 %, VSS = 0V, VHH = 12V
MODE #CE Read Write Standby Write Inhibit Output Disable 5-Volt Software Chip Erase Product ID VIL VIL VIH X X X VIL VIL VIL #OE #WE VIL VIH X VIL X VIH VIH VIL VIL VIH VIL X X VIH X VIL VIH VIH AIN AIN X X X X AIN
PINS ADDRESS Dout Din High Z High Z/DOUT High Z/DOUT High Z DIN Manufacturer Code DA (Hex) DQ.
A0 = VIL; A1 − A17 = VIL; A9 = VHH
A0 = VIH; A1 − A17 = VIL; Device Code 45 (Hex) A9 = VHH
-5-
Publication Release Date: March 26, 2002 Revision A3
W29C022
Command Codes for Software Data Protection
BYTE SEQUENCE 0 Write 1 Write 2 Write 3 Write 4 Write 5 Write TO ENABLE PROTECTION ADDRESS 5555H 2AAAH 5555H DATA AAH 55H A0H TO DISABLE PROTECTION ADDRESS 5555H 2AAAH 5555H 5555H 2AAAH 5555H DATA AAH 55H 80H AAH 55H 20H
Software Data Protection Acquisition Flow
Software Data Protection Enable Flow
Load data AA to address 5555
Software Data Protection Disable Flow
Load data AA to address 5555
Load data 55 to address 2AAA
Load data 55 to address 2AAA
Load data A0 to address 5555
Load data 80 to address 5555
Load data AA to address 5555
Load data 55 to address 2AAA
Load data 20 to address 5555
Notes for software program code: Data Format: DQ7 − DQ0 (Hex) Address Format: A14 − A0 (Hex)
-6-
W29C022
Command Codes for Software Chip Erase
BYTE SEQUENCE 0 Write 1 Write 2 Write 3 Write 4 Write 5 Write ADDRESS 5555H 2AAAH 5555H 5555H 2AAAH 5555H DATA AAH 55H 80H AAH 55H 10H
Software Chip Erase Acquisition Flow
Load data AA to address 5555
Load data 55 to address 2AAA
Load data 80 to address 5555
Load data AA to address 5555
Load data 55 to address 2AAA
Load data 10 to address 5555
Notes for software chip erase: Data Format: DQ7 − DQ0 (Hex) Address Format: A14 − A0 (Hex)
-7-
Publication Release Date: March 26, 2002 Revision A3
W29C022
Command Codes for Product Identification and Boot Block Lockout Detection
BYTE SEQUENCE ALTERNATE PRODUCT (7) IDENTIFICATION/BOOT BLOCK LOCKOUT DETECTION ENTRY ADDRESS 0 Write 1 Write 2 Write 3 Write 4 Write 5 Write 5555 2AAA 5555 Pause 10 mS DATA AA 55 90 SOFTWARE PRODUCT IDENTIFICATION/BOOT BLOCK LOCKOUT DETECTION ENTRY ADDRESS 5555H 2AAAH 5555H 5555H 2AAAH 5555H Pause 10 mS DATA AAH 55H 80H AAH 55H 60H SOFTWARE PRODUCT IDENTIFICATION/BOOT BLOCK LOCKOUT DETECTION EXIT ADDRESS 5555H 2AAAH 5555H Pause 10 mS DATA AAH 55H F0H -
Software Product Identification and Boot Block Lockout Detection Acquisition Flow
Product Identification Entry (1)
Load data AA to address 5555 (2)
Read address = 00000 data = DA
Product Identification and Boot Block Lockout Detection Mode (3)
Product Identification Exit (1)
Load data 55 to address 2AAA
Load data AA to address 5555
Load data 80 to address 5555
(2)
Read address = 00001 data = 45
Load data 55 to address 2AAA
Load data AA to address 5555
(4)
Read address = 00002 data = FF/FE
Load data F0 to address 5555
Load data 55 to address 2AAA
(5)
Read address = 3FFF2 data = FF/FE
Pause 10 mS
Load data 60 to address 5555
(6) Normal Mode
Pause 10 mS
Notes for software product identification/boot block lockout detection: (1) Data Format: DQ7−DQ0 (Hex); Address Format: A14−A0 (Hex) (2) A1−A16 = VIL; manufacture code is read for A0 = VIL; device code is read for A0 = VIH. (3) The device does not remain in identification and boot block (address 0002 Hex/3FFF2 Hex respond to first 8K/last 8K) lockout detection mode if power down. (4), (5) If the output data is "FF Hex," the boot block programming lockout feature is activated; if the output data "FE Hex," the lockout feature is inactivated and the block can be programmed. (6) The device returns to standard operation mode. (7) This product supports both the JEDEC standard 3 byte command code sequence and original 6 byte command code sequence. For new designs, Winbond recommends that the 3 byte command code sequence be used.
-8-
W29C022
Command Codes for Boot Block Lockout Enable
BYTE SEQUENCE BOOT BLOCK LOCKOUT FEATURE SET ON FIRST 8K ADDRESS BOOT BLOCK ADDRESS 0 Write 1 Write 2 Write 3 Write 4 Write 5 Write 6 Write 5555H 2AAAH 5555H 5555H 2AAAH 5555H 00000H Pause 10 mS DATA AAH 55H 80H AAH 55H 40H 00H BOOT BLOCK LOCKOUT FEATURE SET ON LAST 8K ADDRESS BOOT BLOCK ADDRESS 5555H 2AAAH 5555H 5555H 2AAAH 5555H 3FFFFH Pause 10 mS DATA AAH 55H 80H AAH 55H 40H FFH
Boot Block Lockout Enable Acquisition Flow
Boot Block Lockout Feature Set on First 8K Address Boot Block
Load data AA to address 5555
Boot Block Lockout Feature Set on Last 8K Address Boot Block
Load data AA to address 5555
Load data 55 to address 2AAA
Load data 55 to address 2AAA
Load data 80 to address 5555
Load data 80 to address 5555
Load data AA to address 5555
Load data AA to address 5555
Load data 55 to address 2AAA
Load data 55 to address 2AAA
Load data 40 to address 5555
Load data 40 to address 5555
Load data 00 to address 00000
Load data FF to address 3FFFF
Pause 10 mS
Pause 10 mS
Notes for boot block lockout enable: 1. Data Format: DQ7 − DQ0 (Hex) 2. Address Format: A14 − A0 (Hex) 3. If you have any questions about this command sequence, please contact the local distributor or Winbond Electronics Corp.
-9-
Publication Release Date: March 26, 2002 Revision A3
W29C022
DC CHARACTERISTICS
Absolute Maximum Ratings
PARAMETER Power Supply Voltage to VSS Potential Operating Temperature Storage Temperature D.C. Voltage on Any Pin to Ground Potential Except A9 Transient Voltage (