4 Megabit (512K X 8) 5.0 Volt-only CMOS Flash Memory
• Single Power Supply Operation
- 5.0 V ± 10% Read/Program/Erase
• High Performance Read
- 70/90 ns access time
• Memory Blocks Architecture
- One 16 Kbytes top or bottom Boot Block with
software lockout
- Two 8 Kbytes Parameter Blocks
- One 96 Kbytes Main Block
- Three 128 Kbytes Main Blocks
• Automatic Block Erase and Byte Program
- Typical 12 µs/byte programming
- Typical 50 ms block or chip erase
• Hardware Data Protection
• Data# Polling and Toggle Bit Features
• Low Power Consumption
- Typical 15 mA active read current
- Typical 40 mA program/erase current
- Typical 0.1 µA CMOS standby current
• High Product Endurance
- Guarantee 10,000 program/erase cycles
- Typical 50,000 program/erase cycles
- Minimum 10 years data retention
• Industrial Standard Pin-out and Packaging
- 32-pin Plastic DIP
- 32-pin PLCC
• Manufactured on 0.30 µm process
GENERAL DESCRIPTION
The Pm29F004 is a 4 Megabit, 5 Volt-only Flash Memory organized as 524,288 bytes of 8 bits each. This
device is designed to use a 5.0 Volt power supply to perform in-system programming, 12.0 Volt VPP power supply
for program and erase operation is not required. The device can be programmed in standard EPROM programmers as well.
The 4 Megabit memory array is divided into seven blocks of one 16 Kbytes, two 8 Kbytes, one 96 Kbytes,
and three 128 Kbytes for BIOS and parameters storage. The seven blocks allow users to flexibly make chip erase
or block erase operation. The block erase feature allows a particular block to be erased and reprogrammed
without affecting the data in other blocks. After the device performed chip erase or block erase operation, it can
be reprogrammed on a byte-by-byte basis.
The device has a standard microprocessor interface as well as JEDEC single-power-supply Flash compatible
pin-out and command set. The program operation of Pm29F004 is executed by issuing the program command
code into command register. The internal control logic automatically handles the programming voltage ramp-up
and timing. The erase operation of Pm29F004 is executed by issuing the chip erase or block erase command
code into command register. The internal control logic automatically handles the erase voltage ramp-up and
timing. The preprogramming on the array which has not been programmed is not required before the erase
operation. The device also features Data# Polling and Toggle Bit function, the end of program or erase operation
can be detected by Data# Polling of I/O7 or Toggle Bit of I/O6.
The device has an optional 16 Kbytes top or bottom boot block with a software lockout feature for data
security. The boot block can be used to store user secure code. When the lockout feature is enabled, the boot
block is permanently protected from being reprogrammed.
The Pm29F004 is manufactured on PMC’s advanced 0.30 µm, P-FLASH™, nonvolatile memory process.
The device is packaged in a 32-pin DIP and PLCC with access time of 70 and 90 ns.
The access of Pm29F004 is similar as that of
EPROM. To obtain data at the outputs, three control
functions must be satisfied:
• CE# is the chip enable and should be pulled low
( VIL ).
• OE# is the output enable and should be pulled
low ( VIL).
• WE# is the write enable and should remains high
( V
).
IH
BOOT BLOCK LOCKOUT
The device has a software lockout feature to prevent the data in the boot block from being erased or
reprogrammed. The boot block can be located at the
top or bottom of the address location. The block size is
16 Kbytes. Once the lockout feature is enable, the boot
block can not be erased or reprogrammed. Data in the
main memory block can still be updated through the
regular programming method. The boot block lockout
feature can be turned on by issuing a six-bus-cycle command sequence. Please refer to Table 4 and Chart 4.
I/O0-I/O7
I/O BUFFERS
CE,OE LOGIC
Y-DECODER
X-DECODER
BOOT BLOCK LOCKOUT DETECTION
The state of the Boot Block lockout can be detected by software product identification entry. After
entry, selects Boot Block address with A0 = “0” and A1
= “1” and then read I/O0. A data of “0” means the lockout feature is disabled and the Boot Block can be erased
or programmed. A data of “1” means the lockout feature is enabled and the Boot Block is protected. Product identification exit must be executed before the device returns to read mode.
PRODUCT IDENTIFICATION
The product identification mode can be used to identify
the device and the manufacturer by hardware or software operation. The hardware operation mode is activated by applying a 12.0 Volt on A9 pin, typically used
by an external programmer to select the right programming algorithm for the device. For detail, please see
Bus Operation Modes in Table 3. The software operation mode is activated by three-bus-cycle command.
Please see Software Command Definition in Table 4.
DATA
LATCH
Y-GATING
MEMORY
ARRAY
SENSE
AMP
Programmable Microelectronics Corp.
Issue Date: November, 2000 Rev: 1.0
5
PMC
DEVICE OPERATION (CONTINUED)
Pm29F004 Preliminary
BYTE PROGRAMMING
The programming is a four-bus-cycle operation
and the data is programmed into the device (to a logical
“0”) on a byte-by-byte basis. Please see Software Command Definition in Table 4. A program operation is activated by writing the three-byte command sequence
followed by one byte of data into the device. The address are latched on the falling edge of WE# or CE#
whichever occurs later, and the data is latched on the
rising edge of WE# or CE#, whichever occurs first. The
internal control logic automatically handles the internal
programming voltages and timing.
A data “0” can not be programmed back to a “1”.
Only erase operation can convert “0”s to “1”s. The Data#
Polling of I/O7 or Toggle Bit of I/O6 can be used to detect when the programming operation is completed.
CHIP ERASE
The entire memory array can be erased through
a chip erase operation. Pre-programs the device is not
required prior to chip erase operation. Chip erase starts
after a six-bus-cycle chip erase command sequence.
All commands will be ignored once the chip erase
operation has started. The device will return back to
read mode after the completion of chip erase. When
the boot block lockout feature is enabled, the boot block
will not be erased during a chip erase operation. Only
the parameter blocks and the main blocks will be erased.
BLOCK ERASE
The memory array is organized into seven blocks:
one 16 Kbytes boot block, two 8 Kbytes parameter
blocks, one 96 Kbytes and three 128 Kbytes main
blocks. A block erase operation allows to erase any
individual block. Pre-programs the block is not required
prior to block erase operation. If the boot block lockout
feature is enable, the block erase command attempts
to erase the boot block will be ignored. The block erase
command is similar to chip erase command except for
the last bus cycle command where the block addresses
are used to select the block for erasure and the input
data to the I/Os is 30h. Each block erase operation
erases one block. Block erase and chip erase are both
internally controlled and timed.
I/O7 DATA# POLLING
The Pm29F004 provides Data# Polling feature to
indicate the process or the completion of a program or
erase cycle. During a program cycle, an attempt to read
the device will result in the complement of the last loaded
data on I/O7. Once the program cycle is completed,
the true data of the last loaded data is valid on all outputs. During a block or chip erase operation, an attempt
to read the device will result a “0” on I/O7. After the
erase cycle is completed, an attempt to read the device
will result a “1” on I/O7.
I/O6 TOGGLE BIT
The Pm29F004 also provides Toggle Bit feature
as a method to detect the process or the end of a program or erase cycle. During a program or erase operation, an attempt to read data from the device will result
in I/O6 toggling between “1” and “0”. When the program
or erase operation is complete, I/O6 will stop toggling
and valid data will be read. Toggle bit may be accessed
at any time during a program or erase cycle.
HARDWARE DATA PROTECTION
Hardware data protection protects the device from
unintentional erase or program operation. It is performed
in the following ways: (a) VCC sense: if VCC is below 3.8
V (typical), the program function is inhibited. (b) Write
inhibit: holding any of the signal OE# low, CE# high or
WE# high inhibits a write cycle. (c) Noise filter: pulses
of less than 20 ns (typical) on the WE# or CE# inputs
will not initiate a write cycle.