The 28PC040 is organized as a 512K x 8 (bits)
common memory array plus a 1K x 8 attribute
memory array. The attribute memory can be accessed by asserting REG# or issuing an
Enable_Attribute command. Either one nibble or
two nibbles in a byte can be read in one cycle with
internal decoding of CEL#, CEH#, and HB. The
28PC040 must be configured as a pair per
1Mbyte of PCMCIA application memory. Each
byte in the PCMCIA memory map consists of two
nibbles, one from each 28PC040 in the pair.
Each 28PC040 has 4M bits of common memory
and 8K bits of attribute memory and is manufactured using SST’s proprietary, high performance
CMOS SuperFlash EEPROM Technology. The
split gate cell design and thick oxide tunneling injector attain better reliability and manufacturability
compared with alternative approaches. The
28PC040 erases and programs with a 5.0 volt
only power supply.
Figure 1 shows the functional blocks of the
28PC040, and shows the memory map consisting
of common memory array and the attribute memory array. Figure 2 shows the pin assignments for
the TSOP package. Pin description and operation
modes are described in Tables 1 through 6.
Sector Erase Capability:
256 Bytes/512 Nibbles per Sector
Selectable single Nibble & dual Nibble
Access
PCMCIA Byte-wide or Word wide selection
Latched Address and Data
Hardware and Software Data Protection
WP Pin Hardware Write Protection
7-Read-Cycle-Sequence Software Data
Protection
End of Write Detection
Toggle Bit
Data# Polling
TTL I/O Compatibility
Packages Available
40-Pin TSOP (10 mm x 14 mm)
Device Operation
Commands are used to initiate the memory operations functions of the device. Commands are
written to the device using standard microprocessor write sequences. The device is selected by
applying the proper input levels to CS0 and CS
(see Table 2A). A command is written by asserting WE# low while keeping CEL# or CEH# low.
The address bus is latched on the falling edge of
WE#, CEL#, or CEH#, whichever occurs last. The
data bus is latched on the rising edge of WE# or
CEL#, whichever occurs first. Note, during the
software data protection sequence the address
are latched on the rising edge of OE# or CEL#,
whichever occurs first.
Memory Map
The 28PC040 consists of two memory arrays: the
common memory and the attribute memory. The
common memory consists of 1M-nibbles and is
used for storing data, program codes and other
user files. The total available attribute memory is
2K nibbles. The selection between the common
and attribute memory maps is controlled by the
REG# pin. When REG# is high, the common
memory is active. Alternatively, the attribute
memory can be accessed through an Enable_Attribute command, which enables the
attribute memory access independent of REG#.
This specification is subject to change without notice.
Page 3
SST 28PC040
5.0V-only 4 Megabit
PCMCIA Interface EEPROM
Two sectors of the attribute memory are used to
store the map of nonconforming sectors. Refer to
Table 9 for details. A maximum of zero nonconforming attribute memory sectors and five
nonconforming common memory sectors are allowed when the 28PC040 is shipped.
Command Definitions
Table 7 contains a command list and a brief
summary of the commands. The following is a
detailed description of the operations initiated by
each command.
Sector_Erase Operation
The Sector_Erase operation erases all byte within
a sector and is initiated by a setup command and
an execute command. A sector contains 512 nibbles. This sector erasability enhances the
flexibility and usefulness of the 28PC040, since
most applications only need to change a small
number of bytes or sectors, not the entire chip.
The setup command is performed by writing 22H
to the device. To execute the Sector_Erase operation, the execute command (DDH) must be
written to the device. The erase operation begins
with the rising edge of the WE# pulse and terminates with the Reset command. The device has
an internal timer that will terminate the erase (into
the read mode) after TSE if no Reset command
has been sent. The end of Erase can be determined using either Data# Polling, Toggle Bit or
Successive Reads detection methods. See Figure
9 for timing waveforms.
The two-step sequence of setup command followed by an execute command ensures that only
memory contents within the addressed sector are
erased and other sectors are not inadvertently
erased.
Sector_Erase Flowchart Description
Fast and reliable erasing of the memory contents
within a sector is accomplished by following the
algorithmic sector erase flowchart as shown in
Figure 20. The Sector_Erase operation will terminate after a maximum of 2 ms, if not interrupted.
After the initial 40 µs of erase time, a Reset command can be executed to terminate the erase
operation followed by an Erase_Verify operation
to assure complete erasure. The algorithmic
Sector_Erase operation allows for up to seven
erase iterations to complete the Sector_Erase. A
sector erase iteration is perform by doubling the
algorithmic sector erase sector time (T
= 40 µs
ASE
, 80 µs, 160 µs, 320 µs, 640 µs, 1.28 ms and 2.56
ms). The purpose of the successive erase attempts is to optimize the total time required to
erase the sector. An additional 150 erase retries
at maximum T
is allowed to ensure erasure.
ASE
Byte_Program Operation
The Byte_Program operation is initiated by writing
the setup command (11H). Once the program
setup is performed, programming is executed by
the next WE# pulse. See Figures 5 and 6 for timing waveforms. The address bus is latched on the
falling edge of WE#, CEL# or CEH#, whichever
occurs last. The data bus is latched on the rising
edge of WE#, CEL# or CEH#, whichever occurs
first. The rising edge of WE#, CEL# or CEH#,
whichever occurs first, begins the program operation. The program operation is terminated
automatically by an internal timer. See Figure 18
for the programming flowchart.
The two-step sequence of a setup command followed command ensures that only the addressed
byte is programmed and other bytes are not inadvertently programmed.
Erase_Verify
The Erase_Verify operation is initiated by writing a
single command (AAH). The address bus is
latched on the falling edge of WE#, CEL#, or
CEH#, whichever occurs last. The Erase_Verify is
used only to verify that the device has erased
prior to programming. The Erase_Verify uses an
internal reference level to provide extra margin
compared to normal read levels for “FF” data.
This operation automatically resets after reading
The Byte_Program Flowchart Description
Programming data into the 28PC040 is accomplished by following the Byte_Program flowchart
shown in Figure 18. The Byte_Program command
sets up the byte for programming. The address
bus is latched on the falling edge of WE#, CEL#
or CEH#, whichever occurs last. The data bus is
latched on the rising edge of WE#, CEL# or
CEH#, whichever occurs first and begins the program operation. The end of program can be
This specification is subject to change without notice.
14.3
Page 4
SST 28PC040
5.0V-only 4 Megabit
PCMCIA Interface EEPROM
detected using either the Data# Polling or Toggle
bit.
Reset Operation
The Reset command is provided as a means to
safely abort the erase or program command sequences. Follow either setup commands (erase or
program) with a write of FFH will safely abort the
operation. Memory contents will not be altered.
After the Reset command, the device returns to
the read mode. The Reset command does not
enable software data protection. See Figure 7 for
timing waveforms.
Read
The Read operation is initiated by setting CEL#,
CEH#, and OE# to logic low and setting WE# to
logic high (See Table 3). See Figure 4 for read
memory timing diagram. The read operation from
the host retrieves data from the array. The device
remains enabled for read until another operation
mode is accessed. During initial power-up, the
device is in the read mode and is software data
protected. The device must be unprotected to
execute a write command.
The read operation of the 28PC040 is controlled
by OE# at logic low and either CEL# and/or CEH#
at logic low. When CEL# and CEH# are high, the
chip is deselected 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 both CEL# and
CEH# are high or OE# is high.
Enable_Attribute Operation
Attribute memory is access by initiating the Enable_Attribute operation with a single command
(88H). Read, Sector_Erase, and Byte Program
operations can be performed in the attribute
memory. The 1K byte of memory includes the
PCMCIA attribute memory information. The REG#
pin status has no effect on the operation. To return to common memory operations, a Reset
command must be issued. The Reset command
enables access to the common memory. (See
Figure 8)
Read_ID operation
The Read_ID operation is initiated by writing a
single command (99H). A read of address 0000H
will output the manufacturer’s code (BFH). A read
of address 0001H will output the device code
(11H). Any other valid command will terminate
this opera tion.
Data Protection
In order to protect the integrity of nonvolatile data
storage, the 28PC040 provides both hardware
and software features to prevent inadvertent
writes to the device, for example, during system
power-up or power-down. Such provisions are described below.
Hardware Data Protection
The 28PC040 is designed with hardware features
to prevent inadvertent writes. This is done in the
following ways:
1. Write Inhibit Mode: OE# low, CEL# high,
CEH# high, or WE# high will inhibit the write
operation.
2. Noise/Glitch Protection: A WE# pulse width of
less than 15 ns will not initiate a write cycle.
3. VCC Power Up/Down Detection: The write op-
eration is inhibited when VCC is less than 2.5
V.
4. After power-down the device is in the read
mode and the device is in the software data
protect state.
5. The WP pin at VIH will put the device in the
Write Protect mode.
Software Data Protection (SDP)
The 28PC040 has software methods to further
prevent inadvertent writes. In order to perform an
erase or program operation, a two-step command
sequence consisting of a set-up command followed by an execute command avoids inadvertent
erasing and programming of the device.
The 28PC040 will default to software data protection after power up. A sequence of seven
consecutive reads at specific addresses will unprotect the device The address sequence is
1823H, 1820H, 1822H, 0418H, 041BH, 0419H,
041AH. The address bus is latched on the rising
edge of OE# or CEL#, whichever occurs first. A
similar seven read sequence of 1823H, 1820H,
1822H, 0418H, 041BH, 0419H, 040AH will protect
This specification is subject to change without notice.
Page 5
SST 28PC040
5.0V-only 4 Megabit
PCMCIA Interface EEPROM
the device. Also refer to Figures 10 and 11 for the
7 read cycle sequence Software Data Protection.
The I/O pins can be in any state (i.e., high, low, or
tristate).
Write Operation Status Detection
The 28PC040 provides two software means to
detect the completion of a write cycle, in order to
optimize the system write cycle time. The end of a
write cycle (erase or program) can be detected by
three means: 1) monitoring the Data# Polling bit;
2) monitoring the Toggle bit; or by two successive
read of the same data. These three detection
mechanisms are described below.
The actual completion of the nonvolatile write is
asynchronous with the system; therefore, either a
Data# Polling or Toggle Bit read may be simultaneous with the completion of the write cycle. If
this occurs, the system may possibly get an erroneous result, i.e., valid data may appear to conflict
with the DQ used. In order to prevent spurious
rejection, if an erroneous result occurs, the software routine should include a loop to read the
accessed location an additional two (2) times. If
both reads are valid, then the device has completed the write cycle, otherwise the rejection is
valid.
Data# Polling (DQ3, DQ7)
The 28PC040 features Data# Polling to indicate
the write operation status. During a write operation, any attempt to read the last byte loaded will
receive the complement of the true data on DQ
and DQ7. Once the write cycle is completed, DQ
for the low nibble and DQ7 for the high nibble will
show true data. The device is then ready for the
next operation. See Figure 14 for Data Polling
timing waveforms. In order for Data# Polling to
function correctly, the byte being polled must be
erased prior to programming.
Toggle Bit (DQ2, DQ6)
An alternative means for determining the write
operation status is by monitoring the Toggle Bit,
DQ2 for the low nibble and DQ6 for the high nibble. During a write operation, consecutive
attempts to read data from the device will result in
DQ2 and DQ6 toggling between logic 0 (low) and
logic 1 (high). When the write cycle is completed,
the toggling will stop. The device is then ready for
the next operation. See Figure 15 for Toggle Bit
timing waveforms.
Successive Reads
An alternative means for determining an end of a
write cycle is by reading the same address for two
consecutive data matches.
Chip select (CS0, CS1)
The 28PC040 provides two user selectable chip
select pins, CS0 and CS1. By ordering different
part number suffix of a device, the device response only to one of the combinations of CS0
and CS1. See Table 2A. Therefore, there is no
need of external decoder for up to 4 pairs of devices. Typically, the CS0 and CS1 are connected
to address line A20 and A21. See application note
“PCMCIA Memory Cards Made Easy with
SST28PC040”.
RDY/BSY#Read/BusyThis open-drain output requires a 1K pull-up resistor (minimum).
REG#Attribute MemoryTo switch from common memory to attribute memory.
RSTResetTo reset the device after power-on.
Row Address InputsTo provide memory addresses. Row addresses define a sector.
Column Address InputsSelects the byte within the sector.
Data Input/OutputTo output data during read cycles and receive input data during
write cycles. Data is internally latched during a write cycle. The
outputs are in tri-state when OE#, CEL# or CEH# is high.
CEL# to enable the low nibble of DQ0 to DQ
CEH# to enable the high nibble of DQ4 to DQ
(1)
(1)
3
7
To provide 5-volt supply (± 10%)
Chip SelectsPreset chip selects used for memory pair select.
1
(1)
2A
(1)
(1)
When WP is high, the device becomes a ROM, acknowledging
all read operation, and will ignore all operations attempting to
alter memory array data. See Table 7.
(2)
This pin is low to indicate the chip is busy internally. Any new
instruction must be performed only when RDY/BSY# is high.
There are 1Kbits of attribute memory in the 28PC040 decoded
by A9 to A0. REG# can be overridden by the Enable_Attribute
command.
(1)
RST must be asserted
after power-up. After the falling edge of the RST pulse, the
28PC040 will be ready (RDY/BSY#) in ~ 10ms.
(1)
See Table
(1)
Note:
(1)
This pin is considered as an input for the purposes of the DC Operation Characteristics Table.
(2)
This pin is considered as an output for the purposes of the DC Operation Characteristics Table.
XXXXSNS SUM [3:0]
XXXXSNS SUM [7:4]
XXXX17151311
XXXX1F1D1B19
XXXX
XXXX
XXXX
XXXX
XXXX7F7 7F5 7F3 7F1
XXXX7FF 7FD 7FB 7F9
Note:The Attribute memory bit is “0” when the corresponding Common memory sector is nonconform-
ing. The first 8 sectors of Common memory are always conforming.
Definitions:
1. The SNS sum is the sum of the number of nonconforming sectors and is calculated by summing the
“0”s in the remaining bytes of the nonconforming sector map.
2. SNS Sum = Sum of Nonconforming Sector sum. The byte data from these addresses are not included in the sum.
a) [3:0] = The lower nibble of the SNS sum.
b) [7:4] = The higher nibble of the SNS sum.
3. Only the lower nibble is used in the attribute memory to map the location of the nonconforming
sector(s).
This specification is subject to change without notice.
14.11
Page 12
SST 28PC040
5.0V-only 4 Megabit
PCMCIA Interface EEPROM
Absolute Maximum Stress Ratings (Applied conditions greater than those listed under “Absolute
Maximum Stress Ratings” may cause permanent damage to the device. This is a stress rating only and
functional operation of the device at these conditions or conditions greater than those defined in the operational sections of this data sheet is not implied. Exposure to absolute maximum stress rating
conditions may affect device reliability.)
Temperature Under Bias ........................................................................ -55°C to +125°C
Storage Temperature ............................................................................. -65°C to +150°C
D. C. Voltage on Any Pin to Ground Potential ........................................ -0.5V to VCC+ 0.5V
Transient Voltage (<20 ns) on Any Pin to Ground Potential ................... -1.0V to VCC+ 1.0V
Voltage on A
Package Power Dissipation Capability (Ta = 25°C) ................................. 1.0W
Surface Mount Lead Soldering Temperature (3 Seconds) ......................240°C
Output Short Circuit Current
(1)
Note:
Table 10: Operating Range Table 11: AC Conditions of Test
RangeAmbient TempV
Commercial
Pin to Ground Potential .................................................... -0.5V to 14.0V
9
(1)
................................................................. 100 mA
Outputs shorted for no more than one second. No more than one output shorted at a time.
CC
0 °C to +70 °C5V±10%
Input Rise/Fall Time...............10 ns
Output Load...........................1 TTL Gate and CL = 100
pF
See Figures 16 and 17
Table 12: DC Operating Characteristics
Symbol ParameterLimitsUnitsTest Conditions
MinMax
I
CC
Power Supply CurrentCE# (L or H) = OE# =VIL, WE# =VIH,
all I/Os open
Read25mAAddress input = VIL/V
V
= V
CC
Max
CC
Program and Erase40mACE# (L or H) =WE# =VIL, OE# =V
I
I
I
I
V
V
V
V
V
V
V
I
SB1
SB2
LI
LO
H
IL
IH
IL2
IH2
OL
OH
H
V
CC =VCC
Standby VCC Current
(TTL input)
Standby V
Current
CC
(CMOS input)
Input Leakage Current 1
Output Leakage Current10
Input Low Voltage,TTL0.8VV
Input High Voltage, TTL2.0VV
Input Low Voltage, CMOS0.2VV
Input High Voltage, CMOSV
CC-0.2
5mACE# =OE# =WE# = VIH, VCC=V
Input pins at VIL or V
20
CE# = OE# = WE# = V
µA
VCC=V
V
µA
µA
VV
IN
V
OUT
CC
CC
CC
CC
Output Low Voltage0.4VIOL= 3.2 mA, V
Output High Voltage2.4VI
Supervoltage for A
Read Cycle time150250ns
Address Access Time150250ns
Chip Enable Access Time150250ns
Output Enable Access Time 70100ns
CE# Low to Active Output00ns
OE# Low to Active Output00ns
CE# High to High-Z Output 40 40ns
OE# High to High-Z Output 40 40ns
Output Hold from Address
Byte Program Cycle Time3535
Write Pulse Width (WE#)80100ns
Address Setup Time2020ns
Address Hold Time00ns
CE# Setup Time00ns
CE# Hold Time00ns
OE# High Setup Time1010ns
OE# High Hold Time1010ns
Write Pulse Width (CE#)80100ns
Data Setup Time5050ns
Data Hold Time1010ns
Sector Erase Cycle Time22ms
Reset Command
44
Recovery Time
T
T
T
EVD
ERD
ASE
Erase Verify Timing Delay.0250.25
Erase Reset Timing Delay44
Algorithmic Sector
0.042.560.042.56ms
Erase Cycle Time
tEHELT
tWHWL1 T
tRHRLT
CPH
WPH
HR
(1)
CE# High Pulse Width5050ns
WE# High Pulse Width5050ns
Hardware Reset
1010
Pulse Width
tRHBLT
RBS
(1)
Hardware Reset High to
1010
RDY/BSY# Active
(1)
T
PCP
Protect Chip Enable
1010ns
Pulse Width
(1)
T
PCH
Protect Chip Enable
1010ns
High Time
(1)
T
PAS
Protect Address
00ns
Setup Time
(1)
T
PAH
Protect Address Hold
5050ns
Time
28PC040-
250
µs
µs
µs
µs
µs
µs
Note:
(1)
This parameter is measured only for initial qualification and after the design or process change