SST49LF004A: 8 seconds (typical)
– Single-pulse Program or Erase
– Internal timing generation
Advance Information
• Two Operational Modes
– Firmware Hub Interface (FWH) Mode for
in-system operation
– Parallel Programming (PP) Mode for fast
production programming
• Firmware Hub Hardware Interface Mode
– 5-signal communication interface supporting
byte Read and Write
– 33 MHz clock frequency operation
– WP# and TBL# pins provide hardware write
protect for entire chip and/or top Boot Block
– Block Locking Register for all blocks
– Standard SDP Command Set
– Data# Polling and Toggle Bit for End-of-Write
detection
– 5 GPI pins for system design flexibility
– 4 ID pins for multi-chip selection
• Parallel Programming (PP) Mode
– 11 pin multiplexed address and 8 pin data
I/O interface
– Supports fast In-System or PROM programming
for manufacturing
• CMOS I/O Compatibility
• Packages Available
– 32-Pin PLCC
– 32-Pin TSOP (8mm x 14mm)
1
2
3
4
5
6
7
8
9
10
11
PRODUCT DESCRIPTION
The SST49LF00xA flash memory devices are designed to
be read-compatible to the Intel 82802 Firmware Hub
(FWH) device for PC-BIOS application. It provides protection for the storage and update of code and data in addition
to adding system design flexibility through five general
purpose inputs. Two interface modes are supported by the
SST49LF00xA: Firmware Hub (FWH) Interface Mode for
In-System programming and Parallel Programming (PP)
Mode for fast factory programming of PC-BIOS applications.
The SST49LF00xA flash memory devices are manufactured with SST’s proprietary, high performance
SuperFlash Technology. The split-gate cell design and
thick oxide tunneling injector attain better reliability and
manufacturability compared with alternate approaches.
The SST49LF00xA devices significantly improve performance and reliability, while lowering power consumption.
The SST49LF00xA devices write (Program or Erase) with
a single 3.0-3.6V power supply. It uses less energy during
Erase and Program than alternative flash memory technologies. The total energy consumed is a function of the
applied voltage, current and time of application. Since for
any given voltage range, the SuperFlash technology uses
less current to program and has a shorter erase time, the
total energy consumed during any Erase or Program
operation is less than alternative flash memory technologies. The SST49LF00xA products provide a maximum
Byte-Program time of 20µsec. The entire memory can be
erased and programmed byte-by-byte typically in 8 seconds, when using status detection features such as
Toggle Bit or Data# Polling to indicate the completion of
Program operation. The SuperFlash technology provides
fixed Erase and Program time, independent of the number
of Erase/Program cycles that have performed. Therefore
1
12
13
14
15
16
Page 2
2 Mbit / 4 Mbit Firmware Hub
SST49LF002A / SST49LF004A
Advance Information
the system software or hardware does not have to be
calibrated or correlated to the cumulated number of
Erase cycles as is necessary with alternative flash
memory technologies, whose Erase and Program time
increase with accumulated Erase/Program cycles.
To protect against inadvertent write, the SST49LF00xA
devices have on-chip hardware and software data (SDP)
protection schemes. It is offered with typical endurance
of 100,000 cycles. Data retention is rated at greater than
100 years.
To meet high density, surface mount requirements, the
SST49LF00xA device is offered in 32-pin TSOP and 32pin PLCC packages. See Figures 1 and 2 for pinouts and
Table 5 for pin descriptions.
Mode Selection and Description
The SST49LF00xA flash memory devices can operate in
two distinct interface modes: the Firmware Hub Interface
(FWH) mode and the Parallel Programming (PP) mode.
The IC (Interface Configuration pin) is used to set the
interface mode selection. If the IC pin is set to logic High,
the device is in PP mode; while if the IC pin is set Low, the
device is in the FWH mode. The IC selection pin must be
configured prior to device operation. In FWH mode, the
device is configured to interface with its host using Intel’s
Firmware Hub proprietary protocol. Communication between Host and the SST49LF00xA occurs via the 4-bit I/
O communication signals, FWH [3:0] and the FWH4. In
PP mode, the device is programmed via an 11-bit address and an 8-bit data I/O parallel signals. The address
inputs are multiplexed in row and column selected by
control signal R/C# pin. The column addresses are
mapped to the higher internal addresses, and the row
addresses are mapped to the lower internal addresses.
See Device Memory Map for address assignments.
FIRMWARE HUB (FWH) MODE
Device Operation
The FWH mode uses a 5-signal communication interface, FWH[3:0] and FWH4, to control operations of the
SST49LF00xA. Operations such as Memory Read and
Memory Write uses Intel FWH propriety protocol.
JEDEC Standard SDP (Software Data Protection) ByteProgram, Sector-Erase and Block-Erase command sequences are incorporated into the FWH memory cycles.
Chip-Erase is only available in PP Mode.
The device enters standby mode when FWH4 is high and
no internal operation is in progress. The device is in
ready mode when FWH4 is low and no activity is on the
FWH bus.
Abort Mechanism
If FWH4 is driven low for one or more clock cycles during
a FWH cycle, the cycle will be terminated and the device
will wait for the ABORT command. The host must drive
the FWH[3:0] with ‘1111b’ (ABORT command) to return
the device to ready mode. If abort occurs during the
internal write cycle, the data may be incorrectly programmed or erased. It is required to wait for the Write
operation to complete prior to initiation of the abort
command. It is recommended to check the write status
with Data# Polling (DQ
) or Toggle Bit (DQ6) pins. One
7
other option is to wait for the fixed write time to expire.
Device Memory Hardware Write Protection
The Top Boot Lock (TBL#) and Write Protect (WP#) pins
are provided for hardware write protection of device
memory in the SST49LF00xA. The TBL# pin is used to
write protect 16 boot sectors (64 KBytes) at the highest
flash memory address range for the SST49LF004A and
8 boot sectors (32 KBytes) for SST49LF002A. WP# pin
write protects the remaining sectors in the flash memory.
An active low signal at the TBL# pin prevents Program
and Erase operations of the top boot sectors. When
TBL# pin is held high, write protection of the top boot
sectors is then determined by the Boot Block Locking
register. The WP# pin serves the same function for the
remaining sectors of the device memory. The TBL# and
WP# pins write protection functions operate independently of one another.
Both TBL# and WP# pins must be set to their required
protection states prior to starting a Program or Erase
operation. A logic level change occurring at the TBL# or
WP# pin during a Program or Erase operation could
cause unpredictable results.
TBL# is internally ORed with the top Boot Block Locking
register. When TBL# is low, the top Boot Block is hardware write protected regardless of the state of the WriteLock bit for the Boot Block Locking register. Clearing the
write protect bit in the register when TBL# is low will have
no functional effect, even though the register may indicate that the block is no longer locked.
WP# is internally ORed with the Block Locking register.
When WP# is low, the blocks are hardware write protected regardless of the state of the Write-Lock bit for the
corresponding Block Locking registers. Clearing the
write protect bit in any register when WP# is low will have
no functional effect, even though the register may indicate that the block is no longer locked.
A VIL on INIT# or RST# pin initiates a device reset. INIT#
and RST# pins have the same function internally. It is
required to drive INIT# or RST# pins low during a system
reset to ensure proper CPU initialization.
During a Read operation, driving INIT# or RST# pins low
deselects the device and places the output drivers,
FWH[3:0], in a high-impedance state. The reset signal
must be held low for a minimal duration of time T
reset latency will occur if a reset procedure is performed
during a Program or Erase operation. See Table 14,
Reset Timing Parameters for more information. A device
reset during an active Program or Erase will abort the
operation and memory contents may become invalid due
to data being altered had been disrupted from an incomplete Erase or Program operation.
Multiple Device Selection
The four ID pins, ID[3:0], allow multiple devices to be
attached to the same bus by using different ID strapping
in a system. When the SST49LF00xA is used as a boot
device, ID[3:0] must be strapped as 0000, all subsequent
devices should use a sequential up-count strapping (i.e.
0001, 0010, 0011, etc.). The SST49LF00xA will compare
the strapping values, if there is a mismatch, the device
will ignore the remainder of the cycle and go into standby
mode. For further information regarding FWH device
mapping and paging, please refer to the Intel 82801(ICH)
I/O Controller Hub documentation. Since there is no ID
support in PP Mode, to program multiple devices a standalone PROM programmer is recommended.
REGISTERS
There are three types of registers available on the
SST49LF00xA, the General Purpose Inputs Register,
Block Locking Registers and the JEDEC ID Registers.
These registers appear at their respective address loca-
RSTP
. A
tion in the 4 GBytes system memory map. Unused
register locations will read as 0x00. Any attempt to read
or write any registers during internal write operation will
be ignored.
General Purpose Inputs Register
The GPI_REG (General Purpose Inputs Register)
passes the state of FGPI[4:0] pins at power-up on the
SST49LF00xA. It is recommended that the FGPI[4:0]
pins are in the desired state before FWH4 is brought low
for the beginning of the bus cycle, and remain in that state
until the end of the cycle. There is no default value since
this is a pass-through register. The GPI register for the
boot device appears at FFBC0100H in the 4 GBytes
system memory map, and will appear elsewhere if the
device is not the boot device. Register is not available for
read when the device is in Erase/Program operation.
Refer to the relevant application note for details. See
Table 1 for the GPI_REG bits and function.
Block Locking Registers
The SST49LF00xA offers software control lock protection through the Block Locking registers. The Block
Locking registers are read/write registers and it is accessible through standard addressable memory locations
listed in Table 2. There are 8 blocks for both the
SST49LF002A and SST49LF004A devices. Each block
has its own Block Locking register.
Write Lock
The Write-Lock bit, bit 0, controls the lock state described
in Table 3. The default write status of all blocks after
power-up is write locked. When bit 0 of the Block Locking
register is set, Program and Erase operations for the
correponding block are prevented. Clearing the WriteLock bit will unprotect the block. The Write-Lock bit must
be cleared prior to starting a Program or Erase operation
since it is sampled at the beginning of the operation.
00000000Full Access
00000001Write Locked (Default State at Power-Up)
00000010Locked Open (Full Access Locked Down)
00000011Write Locked Down
504 PGM T3.3
The Write-Lock bit functions in conjunction with the
hardware Write Lock pin TBL# for the top Boot Block.
When TBL# is low, it overrides the software locking
scheme. The top Boot Block Locking register does not
indicate the state of the TBL# pin.
The Write-Lock bit functions in conjunction with the
hardware WP# pin for blocks 0 to 6. When WP# is low,
it overrides the software locking scheme. The Block
Locking register does not indicate the state of the WP#
pin.
Lock Down
The Lock-Down bit, bit 1, controls the Block Locking
register as described in Table 3. When in the FWH
interface mode, the default Lock Down status of all
blocks upon power-up is not locked down. Once the
Lock-Down bit is set, any future attempted changes to
that Block Locking register will be ignored. The LockDown bit is only cleared upon a device reset with RST#
or INIT# or power down. Current Lock Down status of a
particular block can be determined by reading the corresponding Lock-Down bit. Once a block’s Lock-Down bit
is set, the Write-Lock bits for that block can no longer be
modified, and the block is locked down in its current state
of write accessibility.
JEDEC ID Registers
The JEDEC ID registers for the boot device appear at
FFBC0000H and FFBC0001H in the 4 GBytes system
memory map, and will appear elsewhere if the device is
not the boot device. Register is not available for read
when the device is in Erase/Program operation. Unused
register location will read as 0x00. Refer to the relevant
application note for details. See Table 4 for device ID
code.
PARALLEL PROGRAMMING MODE
Device Operation
Commands are used to initiate the memory operation
functions of the device. The data portion of the software
command sequence is latched on the rising edge of
WE#. During the software command sequence the row
address is latched on the falling edge of R/C# and the
column address is latched on the rising edge of R/C#.
Read
The Read operation of the SST49LF00xA device is
controlled by OE#. OE# is the output control and is used
to gate data from the output pins. Refer to the Read cycle
timing diagram, Figure 7, for further details.
The SST49LF00xA device is programmed on a byte-bybyte basis. The Byte-Program operation is initiated by
executing a four-byte-command load sequence for Software Data Protection with address (BA) and data in the
last byte sequence. During the Byte-Program operation,
the row address (A10-A0) is latched on the falling edge
of R/C# and the column Address (A21-A11) is latched on
the rising edge of R/C#. The data bus is latched in the
rising edge of WE#. The Program operation, once initiated, will be completed, within 20 µs. See Figure 8 for
Program operation timing diagram, Figure 11 for timing
waveforms, and Figure 19 for its flowchart. During the
Program operation, the only valid reads are Data# Polling and Toggle Bit. During the internal Program operation, the host is free to perform additional tasks. Any
commands written during the internal Program operation
will be ignored.
Sector-Erase Operation
The Sector-Erase operation allows the system to erase
the device on a sector-by-sector basis. The sector architecture is based on uniform sector size of 4 KByte. The
Sector-Erase operation is initiated by executing a
six-byte-command load sequence for Software Data
Protection with Sector-Erase command (30H) and sector address (SA) in the last bus cycle. The internal Erase
operation begins after the sixth WE# pulse. The End-ofErase can be determined using either Data# Polling or
Toggle Bit methods. See Figure 12 for Sector-Erase
timing waveforms. Any commands written during the
Sector-Erase operation will be ignored.
Block-Erase Operation
The Block-Erase Operation allows the system to erase
the device in 64 KByte uniform block size for the
SST49LF004A and 32 KByte uniform block size for the
SST49LF002A. The Block-Erase operation is initiated
by executing a six-byte-command load sequence for
Software Data Protection with Block-Erase command
(50H) and block address. The internal Block-Erase operation begins after the sixth WE# pulse. The End-ofErase can be determined using either Data# Polling or
Toggle Bit methods. See Figure 13 for timing waveforms.
Any commands written during the Block-Erase operation
will be ignored.
Chip-Erase
The SST49LF00xA device provides a Chip-Erase
operation only in PP Mode, which allows the user to
erase the entire memory array to the “1’s” state. This is
useful when the entire device must be quickly erased.
The Chip-Erase operation is initiated by executing a sixbyte Software Data Protection command sequence with
Chip-Erase command (10H) with address 5555H in the
last byte sequence. The internal Erase operation begins
with the rising edge of the sixth WE#. During the internal
Erase operation, the only valid read is Toggle Bit or
Data# Polling. See Table 7 for the command sequence,
Figure 14 for timing diagram, and Figure 22 for the
flowchart. Any commands written during the Chip-Erase
operation will be ignored.
Write Operation Status Detection
The SST49LF00xA device provides two software
means to detect the completion of a Write (Program or
Erase) cycle, in order to optimize the system write cycle
time. The software detection includes two status bits :
Data# Polling (DQ
Write detection mode is enabled after the rising edge of
WE# which initiates the internal Program or Erase operation.
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 either DQ7 or DQ6. 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 (DQ7)
When the SST49LF00xA device is in the internal Program operation, any attempt to read DQ7 will produce the
complement of the true data. Once the Program operation is completed, DQ7 will produce true data. The device
is then ready for the next operation. During internal
Erase operation, any attempt to read DQ7 will produce
a ‘0’. Once the internal Erase operation is completed,
DQ7 will produce a ‘1’. The Data# Polling is valid after the
rising edge of fourth WE# pulse for Program operation.
For Sector- or Chip-Erase, the Data# Polling is valid after
the rising edge of sixth WE# pulse. See Figure 9 for
Data# Polling timing diagram and Figure 20 for a flowchart.
Toggle Bit (DQ6)
During the internal Program or Erase operation, any
consecutive attempts to read DQ6 will produce alternating 0’s and 1’s, i.e., toggling between 0 and 1. When the
internal Program or Erase operation is completed, the
toggling will stop. The device is then ready for the next
operation. The Toggle Bit is valid after the rising edge of
fourth WE# pulse for Program operation. For Sector-,
Block- or Chip-Erase, the Toggle Bit is valid after the
rising edge of sixth WE# pulse. See Figure 10 for Toggle
Bit timing diagram and Figure 20 for a flowchart.
Data Protection
The SST49LF00xA device provides both hardware and
software features to protect nonvolatile data from inadvertent writes.
Hardware Data Protection
Noise/Glitch Protection: A WE# pulse of less than 5 ns
will not initiate a Write cycle.
VDD Power Up/Down Detection: The Write operation is
inhibited when VDD is less than 1.5V.
Write Inhibit Mode: Forcing OE# low, WE# high will inhibit
the Write operation. This prevents inadvertent writes
during power-up or power-down.
Software Data Protection (SDP)
The SST49LF00xA provides the JEDEC approved Software Data Protection scheme for all data alteration
operation, i.e., program and erase. Any Program operation requires the inclusion of a series of three byte
sequence. The three byte-load sequence is used to
initiate the Program operation, providing optimal protection from inadvertent Write operations, e.g., during the
system power-up or power-down. Any Erase operation
requires the inclusion of six byte load sequence. The
SST49LF00xA device is shipped with the Software Data
Protection permanently enabled. See Table 7 for the
specific software command codes. During SDP command sequence, invalid commands will abort the device
to read mode, within TRC.
Product Identification Mode
The product identification mode identifies the device as
the SST49LF00xA and manufacturer as SST.
TABLE 4: PRODUCT IDENTIFICATION TABLE
JEDEC ID
Address
ByteDataLocation
Manufacturer’s ID0000 HBF HFFBC0000H
Device ID
SST49LF002A0001 H57HFFBC0001H
SST49LF004A0001 H60HFFBC0001H
504 PGM T4.3
Design Considerations
SST recommends a high frequency 0.1 µF ceramic
capacitor to be placed as close as possible between V
and V
less than 1 cm away from the VDD pin of the
SS
DD
device. Additionally, a low frequency 4.7 µF electrolytic
capacitor from VDD to VSS should be placed within 1 cm
of the VDD pin. If you use a socket for programming
purposes add an additional 1-10 µF next to each socket.
The RST# pin must remain stable at VIH for the entire
duration of an Erase operation. WP# must remain stable
at VIH for the entire duration of the Erase and Program
operations for non-boot block sectors. To write data to
the top boot block sectors, the TBL# pin must also remain
stable at VIH for the entire duration of the Erase and
Program operations.
Electrical Specifications
The AC and DC specifications for the FWH Interface
signals (FWH[3:0], CLK, FWH4, and RST#) as defined in
Section 4.2.2 of the “PCI Local Bus Specification, Rev.
2.1”. Refer to Table 8 for the DC voltage and current
specifications. Refer to Tables 13, 14, 16 and 17 for the
AC timing specifications for Clock, Read, Program,
Erase and Reset operations.
AddressIXInputs for low-order addresses during Read and Write
0
DQ7-DQ0DataI/OXTo output data during Read cycles and receive input data
OE#Output EnableIXTo gate the data output buffers.
WE#Write EnableIXTo control the Write operations.
ICInterfaceIXXThis pin determines which interface is operational. When
Configuration Pinheld high, programmer mode is enabled and when held
INIT#InitializeIXThis is the second reset pin for in-system use. This pin is
ID[3:0]IdentificationIXThese four pins are part of the mechanism that allows
Inputsmultiple parts to be attached to the same bus. The
FGPI[4:0] GeneralIXThese individual inputs can be used for additional board
Purpose Inputsflexibility. The state of these pins can be read through
TBL#Top Block LockIXWhen low, prevents programming to the boot block
FWH[3:0] FWH I/OsI/OXI/O Communications
CLKClockIXTo provide a clock input to the control unit
FWH4FWH InputIXInput Communications
RST#ResetIXXTo reset the operation of the device
WP#Write ProtectIXWhen low, prevents programming to all
R/C#Row/Column SelectIXSelect For the Programming interface, this pin determines
RESReservedXNot implemented. Reserved for future use.
V
DD
Power SupplyIXXTo provide power supply (3.0-3.6V)
VssGroundIXXCircuit ground (OV reference)
NCNo ConnectionIXXUnconnected pins.
Note 1. I = Input, O = Output
1
PP FWH Functions
operations. Addresses are internally latched during a
Write cycle. For the programming interface, these
addresses are latched by R/C# and share the same pins
as the high-order address inputs.
during Write cycles. Data is internally latched during a
Write cycle. The outputs are in tri-state when OE# is high.
low, FWH mode is enabled. This pin must be setup at
power-up or before return from reset and not change
during device operation. This pin is internally pulleddown with a resistor between 20-100 K
internally combined with the RST# pin; If this pin or RST#
pin is driven low, identical operation is exhibited.
strapping of these pins is used to identify the component.
The boot device must have ID[3:0] = 0000 and it is
recommended that all subsequent devices should use
sequential up-count strapping. These pins are internally
pulled-down with a resistor between 20-100 K
GPI_REG register. These inputs should be at their
desired state before the start of the PCI clock cycle
during which the read is attempted, and should remain
in place until the end of the Read cycle. Unused GPI pins
must not be floated.
sectors at top of memory. When TBL# is high it disables
hardware write protection for the top block sectors.
but the highest addressable blocks. When WP# is high
it disables hardware write protection for these blocks.
whether the address pins are pointing to the row
addresses, or to the column addresses.
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 VDD+ 0.5V
Transient Voltage (<20 ns) on Any Pin to Ground Potential......................................................... -1.0V to VDD+ 1.0V
Package Power Dissipation Capability (TA = 25°C) ...........................................................................................1.0W
Surface Mount Lead Soldering Temperature (3 Seconds)............................................................................... 240°C
Output Short Circuit Current
(1)
Note:
Outputs shorted for no more than one second. No more than one output shorted at a time.
ABLE 13: READ/WRITE CYCLE TIMING PARAMETERS (FWH MODE), V
SymbolParameterMinMaxUnits
= 3.0-3.6V
DD
Advance Information
T
T
T
T
T
T
T
T
T
CYC
SU
DH
VAL
BP
SE
BE
SCE
ON
(1)
Clock Cycle Time30ns
Data Set Up Time to Clock Rising7ns
Clock Rising to Data Hold Time0ns
Clock Rising to Data Valid2 11ns
Byte Programming Time20µs
Sector-Erase Time25ms
Block-Erase Time25ms
Chip-Erase Time100ms
Clock Rising to Active2ns
(Float to Active Delay)
T
OFF
Clock Rising to Inactive28ns
(Active to Float Delay)
Note: (1) Minimum and maximum times have different loads. See PCI spec.
504 PGM T13.3
TABLE 13A: AC INPUT/OUTPUT SPECIFICATIONS (FWH MODE)
VDD stable to Reset Active1ms
Clock Stable to Reset Active100µs
Reset Pulse Width100ns
Reset Active to Output Float50ns
Reset Inactive to Input Active10µs
Read Cycle Time270ns
RST# High to Row Address Setup1ms
R/C# Address Set-up Time45ns
R/C# Address Hold Time45ns
Address Access Time120ns
Output Enable Access Time60ns
OE# Low to Active Output0ns
OE# High to High-Z Output35ns
Output Hold from Address Change0ns
RST# High to Row Address Setup1ms
R/C# Address Setup Time50ns
R/C# Address Hold Time50ns
R/C# to Write Enable High Time50ns
OE# High Setup Time20ns
OE# High Hold Time20ns
OE# to Data# Polling Delay40ns
OE# to Toggle Bit Delay40ns
WE# Pulse Width100ns
WE# Pulse Width High100ns
Data Setup Time50ns
Data Hold Time5ns
Software ID Access and Exit Time150ns
Byte Programming Time20µs
Sector-Erase Time25ms
Block-Erase Time2 5ms
Chip-Erase Time100ms