n 100,000 Program/Erase Cycles Minimum
n Space Efficient Packaging
– Available in industry-standard 44-pin
PSOP and 48-pin TSOP and reverse
TSOP packages
GENERAL DESCRIPTION
The HY29F400 is a 4 Megabit, 5 volt only CMOS
Flash memory organized as 524,288 (512K) bytes
or 262,144 (256K) words. The device is offered in
industry-standard 44-pin PSOP and 48-pin TSOP
packages.
The HY29F400 can be programmed and erased
in-system with a single 5-volt V
supply. Inter-
CC
nally generated and regulated voltages are provided for program and erase operations, so that
the device does not require a high voltage power
supply to perform those functions. The device can
also be programmed in standard EPROM programmers. Access times as fast as 55 ns over
the full operating voltage range of 5.0 volts ± 10%
are offered for timing compatibility with the zero
wait state requirements of high speed micropro-
Revision 5.2, May 2001
LOGIC DIAGRAM
18
A[17:0]
CE#
OE#
WE#
RESET#
BYTE#
8
DQ[7:0]
7
DQ[14:8]
DQ[15]/A-1
RY/BY#
HY29F400
cessors. A 55 ns version operating over 5.0 volts
± 5% is also available. To eliminate bus contention, the HY29F400 has separate chip enable
(CE#), write enable (WE#) and output enable
(OE#) controls.
The device is compatible with the JEDEC single
power-supply Flash command set standard. Commands are written to the command register using
standard microprocessor write timings, from where
they are routed to an internal state-machine that
controls the erase and programming circuits.
Device programming is performed a byte or word
at a time by executing the four-cycle Program command. This initiates an internal algorithm that automatically times the program pulse widths and
verifies proper cell margin.
The HY29F400’s sector erase architecture allows
any number of array sectors to be erased and reprogrammed without affecting the data contents
of other sectors. Device erasure is initiated by
executing the Erase command. This initiates an
internal algorithm that automatically preprograms
the array (if it is not already programmed) before
executing the erase operation. During erase
cycles, the device automatically times the erase
pulse widths and verifies proper cell margin.
To protect data in the device from accidental or
unauthorized attempts to program or erase the
BLOCK DIAGRAM
device while it is in the system (e.g., by a virus),
the device has a Sector Protect function which
hardware write protects selected sectors. The
sector protect and unprotect features can be enabled in a PROM programmer. Temporary Sector Unprotect, which requires a high voltage, allows in-system erasure and code changes in previously protected sectors.
Erase Suspend enables the user to put erase on
hold for any period of time to read data from, or
program data to, any sector that is not selected
for erasure. True background erase can thus be
achieved. The device is fully erased when shipped
from the factory.
Addresses and data needed for the programming
and erase operations are internally latched during
write cycles, and the host system can detect
completion of a program or erase operation by
observing the RY/BY# pin, or by reading the DQ[7]
(Data# Polling) and DQ[6] (Toggle) status bits.
Reading data from the device is similar to reading
from SRAM or EPROM devices. Hardware data
protection measures include a low V
detector
CC
that automatically inhibits write operations during
power transitions.
The host can place the device into the standby
mode. Power consumption is greatly reduced in
this mode.
Unless otherwise noted, a positive logic (active
High) convention is assumed throughout this document, whereby the presence at a pin of a higher,
more positive voltage (nominally 5VDC) causes
assertion of the signal. A ‘#’ symbol following the
signal name, e.g., RESET#, indicates that the signal is asserted in a Low state (nominally 0 volts).
Rev. 5.2/May 01
Whenever a signal is separated into numbered
bits, e.g., DQ[7], DQ[6], ..., DQ[0], the family of
bits may also be shown collectively, e.g., as
DQ[7:0].
The designation 0xNNNN (N = 0, 1, 2, . . . , 9, A, .
. . , E, F) indicates a number expressed in hexadecimal notation. The designation 0bXXXX indicates a
number expressed in binary notation (X = 0, 1).
The 4 Mbit Flash memory array is organized into
11 blocks called sectors (S0, S1, . . . , S10). A
sector is the smallest unit that can be erased and
which can be protected to prevent accidental or
unauthorized erasure. See the ‘Bus Operations’
and ‘Command Definitions’ sections of this document for additional information on these functions.
In the HY29F400, four of the sectors, which comprise the boot block, vary in size from 8 to 32
Kbytes (4 to 16 Kwords), while the remaining
seven sectors are uniformly sized at 64 Kbytes
(32 Kwords). The boot block can be located at
the bottom of the address range (HY29F400B) or
at the top of the address range (HY29F400T).
Table 1. HY29F400 Memory Array Organization
HY29F400
Table 1 defines the sector addresses and corresponding address ranges for the top and bottom
boot block versions of the HY29F400.
BUS OPERATIONS
Device bus operations are initiated through the
internal command register, which consists of sets
of latches that store the commands, along with
the address and data information, if any, needed
to execute the specific command. The command
register itself does not occupy any addressable
memory location. The contents of the command
register serve as inputs to an internal state machine whose outputs control the operation of the
device. Table 2 lists the normal bus operations,
2. Address is A[17:-1] in Byte Mode and A[17:0] in Word Mode.
3. DQ[15] is the A[-1] input in Byte Mode (BYTE# = L).
, H = VIH, X = Don’t Care, D
IL
XXXV
= Data Out, DIN = Data In. See DC Characteristics for voltage levels.
OUT
SS
the inputs and control levels they require, and the
resulting outputs. Certain bus operations require
a high voltage on one or more device pins. Those
are described in Table 3.
Read Operation
Data is read from the HY29F400 by using standard microprocessor read cycles while placing the
address of the byte or word to be read on the
device’s address inputs, A[17:0] in Word mode
(BYTE# = H) or A[17:-1] in Byte mode (BYTE# =
L) . As shown in Table 2, the host system must
drive the CE# and OE# inputs Low and drive WE#
High for a valid read operation to take place. The
device outputs the specified array data on DQ[7:0]
in Byte mode and on DQ[15:0] in Word mode.
Note that DQ[15] serves as address input A[-1]
when the device is operating in Byte mode.
The HY29F400 is automatically set for reading
array data after device power-up and after a hardware reset to ensure that no spurious alteration of
the memory content occurs during the power transition. No command is necessary in this mode to
obtain array data, and the device remains enabled
for read accesses until the command register contents are altered.
This device features an Erase Suspend mode.
While in this mode, the host may read the array
data from any sector of memory that is not marked
for erasure. If the host attempts to read from an
address within an erase-suspended sector, or
while the device is performing an erase or byte/
V5.0±X Z-hgiHZ-hgiHZ-hgiH
word program operation, the device outputs status data instead of array data. After completing a
programming operation in the Erase Suspend
mode, the system may once again read array data
with the same exceptions noted above. After completing an internal program or internal erase algorithm, the HY29F400 automatically returns to the
Read Array Data mode.
The host must issue a hardware reset or the software reset command (see Command Definitions)
to return a sector to the read array data mode if
DQ[5] goes high during a program or erase cycle,
or to return the device to the Read Array Data
mode while it is in the Electronic ID mode.
Write Operation
Certain operations, including programming data
and erasing sectors of memory, require the host
to write a command or command sequence to the
HY29F400. Writes to the device are performed
by placing the byte or word address on the device’s
address inputs while the data to be written is input
on DQ[7:0] in Byte mode (BYTE# = L) and on
DQ[15:0] in Word mode (BYTE# = H). The host
system must drive the CE# and WE# pins Low
and drive OE# High for a valid write operation to
take place. All addresses are latched on the falling edge of WE# or CE#, whichever happens later.
All data is latched on the rising edge of WE# or
CE#, whichever happens first.
6
Rev. 5.2/May 01
Table 3. HY29F400 Bus Operations Requiring High Voltage
3
noitarepO
tcetorProtceSLV
tcetorpnUrotceSV
rotceSyraropmeT
tcetorpnU
eciveD
edoC
#EC#EO#EW#TESER]21:71[A]9[A]6[A]1[A]0[A]0:7[QD
XH AS
DI
V
DI
XXX V
XH XVDIXXXXXZ-hgiH
DI
DI
edoCrerutcafunaMLLHHXV
4
V
XXXXXZ-hgiH
DI
X XXXXDNID
LLLDAx0XZ-hgiH
DI
B004F92YH
LLH HX V
T004F92YH32x0
LLH
DI
puorGrotceS
4
noitcetorP
LLH HAS
V
LHL
DI
noitacifireV
Notes:
1. L = V
2. Address bits not specified are Don’t Care.
3. See text for additional information.
4. SA = sector address. See Table 1.
5. DQ[15] is the A[-1] input in Byte Mode (BYTE# = L).
The ‘Device Commands’ section of this document
provides details on the specific device commands
implemented in the HY29F400.
, H = VIH, X = Don’t Care. See DC Characteristics for voltage levels.
IL
the HY29F400 will be in the RESET# TTL Standby
mode, but the standby current will be greater. See
Hardware Reset Operation section for additional
information on the reset operation.
Output Disable Operation
When the OE# input is at V
, output data from the
IH
device is disabled and the data bus pins are placed
in the high impedance state.
The device requires standard access time (t
read access when the device is in either of the
standby modes, before it is ready to read data. If
the device is deselected during erasure or programming, it continues to draw active current until
Standby Operation
the operation is completed.
1, 2
HY29F400
]8:51[QD
#ETYB
H=
NI
BAx0
22x0Z-hgiH
=00x0
detcetorpnU
=10x0
XZ-hgiH
detcetorP
CE
5
L=
Z-hgiH
) for
#ETYB
When the system is not reading from or writing to
the HY29F400, it can place the device in the
Standby mode. In this mode, current consumption is greatly reduced, and the data bus outputs
are placed in the high impedance state, independent of the OE# input. The Standby mode can be
invoked using two methods.
The device enters the CE# CMOS Standby mode
if the CE# and RESET# pins are both held at V
CC
± 0.5V. Note that this is a more restricted voltage
range than V
High, but not within V
. If both CE# and RESET# are held
IH
± 0.5V, the device will be
CC
in the CE# TTL Standby mode, but the standby
current will be greater.
The device enters the RESET# CMOSStandby
mode when the RESET# pin is held at V
If RESET# is held Low but not within V
Rev. 5.2/May 01
± 0.5V.
SS
± 0.5V,
SS
Hardware Reset Operation
The RESET# pin provides a hardware method of
resetting the device to reading array data. When
the RESET# pin is driven Low for the minimum
specified period, the device immediately terminates any operation in progress, tri-states the data
bus pins, and ignores all read/write commands for
the duration of the RESET# pulse. The device also
resets the internal state machine to reading array
data. If an operation was interrupted by the assertion of RESET#, it should be reinitiated once
the device is ready to accept another command
sequence to ensure data integrity.
Current is reduced for the duration of the RESET#
pulse as described in the Standby Operation section above.
7
HY29F400
If RESET# is asserted during a program or erase
operation, the RY/BY# pin remains Low (busy) until
the internal reset operation is complete, which requires a time of t
(during Automatic Algo-
READY
rithms). The system can thus monitor RY/BY# to
determine when the reset operation completes,
and can perform a read or write operation t
RB
after
RY/BY# goes High. If RESET# is asserted when
a program or erase operation is not executing (RY/
BY# pin is High), the reset operation is completed
within a time of t
form a read or write operation t
. In this case, the host can per-
RP
after the RE-
RH
SET# pin returns High .
The RESET# pin may be tied to the system reset
signal. Thus, a system reset would also reset the
device, enabling the system to read the boot-up
firmware from the Flash memory.
Sector Protect/Unprotect Operations
Hardware sector protection can be invoked to disable program and erase operations in any single
sector or combination of sectors. This function is
typically used to protect data in the device from
unauthorized or accidental attempts to program
or erase the device while it is in the system (e.g.,
by a virus) and is implemented using programming equipment. Sector unprotection re-enables
the program and erase operations in previously
protected sectors.
Table 1 identifies the eleven sectors and the address range that each covers for both versions of
the device. The device is shipped with all sectors
unprotected.
The sector protect/unprotect operations require a
high voltage (V
) on address pin A[9] and the CE#
ID
and/or OE# control pins, as detailed in Table 3.
When implementing these operations, note that
must be applied to the device before applying
V
CC
, and that VID should be removed before remov-
V
ID
ing V
from the device.
CC
The flow chart in Figure 1 illustrates the procedure for protecting sectors, and timing specifications and waveforms are shown in the specifications section of this document. Verification of protection is accomplished as described in the Electronic ID Mode section and shown in the flow chart.
START
APPLY V
Set TRYCNT = 1
Set A[9] = OE# = V
Set Address:
A[17:12] = Sector to Protect
RESET# = V
CC
CE# = V
IL
WE# = V
ID
IH
IL
Wait t
WPP1
WE# = V
IH
A[9] = V
A[17:12] = Sector to Protect
OE# = CE# = V
A[6] = A[0] = VIL, A[1] = V
Data = 0x01?
Protect Another
ID
Read Data
YES
Sector?
YES
IL
IH
NO
NO
Increment TRYCNT
NO
TRYCNT = 25?
YES
DEVICE FAILURE
Figure 1. Sector Protect Procedure
Remove VID from A[9]
SECTOR PROTECT
COMPLETE
8
Rev. 5.2/May 01
The procedure for sector unprotection is illustrated
in the flow chart in Figure 2, and timing specifications and waveforms are given at the end of this
document. Note that to unprotect any sector, all
unprotected sectors must first be protected prior
to the first unprotect write cycle.
Sectors can also be temporarily unprotected as
described in the next section.
Temporary Sector Unprotect Operation
START
RESET# = V
(All protected sector groups
become unprotected)
Perform Program or Erase
Operations
ID
HY29F400
This feature allows temporary unprotection of previously protected sectors to allow changing the
data in-system. Temporary Sector Unprotect
mode is activated by setting the RESET# pin to
V
. While in this mode, formerly protected sec-
ID
tors can be programmed or erased by invoking
the appropriate commands (see Device Commands section). Once V
is removed from RE-
ID
SET#, all the previously protected sectors are protected again. Figure 3 illustrates the algorithm.
START
NOTE: All sectors must be
previously protected.
APPLY V
Set: TRYCNT = 1
Set: NSEC = 0
Set: A[9] = CE# = OE# = V
CC
ID
Set Sector Address:
A[17:12] = Sector NSEC
A[0] = A[6] = V
A[1] = V
Read Data
Data = 0x00?
IL
IH
NO
RESET# = V
(All previously protected
sector groups return to
protected state)
TEMPORARY SECTOR
UNPROTECT COMPLETE
IH
Figure 3. T emporary Sector Unprotect
Increment TRYCNT
NO
TRYCNT = 1000?
YES
Set: RESET# = V
WE# = V
Wait t
WE# = V
A[9] = V
OE# = CE# = V
Rev. 5.2/May 01
Set:
WPP2
IH
IL
NSEC = NSEC + 1
IH
ID
IL
YES
NSEC = 10?
NO
YES
Remove VID from A[9]
SECTOR UNPROTECT
COMPLETE
DEVICE FAILURE
Figure 2. Sector Unprotect Procedure
9
HY29F400
Electronic ID Mode Operation
The Electronic ID mode provides manufacturer and
device identification and sector protection verification through identifier codes output on DQ[7:0]
or DQ[15:0]. This mode is intended primarily for
programming equipment to automatically match
a device to be programmed with its corresponding programming algorithm. The Electronic ID information can also be obtained by the host through
a command sequence, as described in the Device Commands section.
Operation in the Electronic ID mode requires V
on address pin A[9], with additional requirements
for obtaining specific data items as listed in Table
2:
n A read cycle at address 0xXXX00 retrieves the
manufacturer code (Hynix = 0xAD).
DEVICE COMMANDS
Device operations are initiated by writing designated address and data command sequences into
the device. A command sequence is composed
of one, two or three of the following sub-segments:
an unlock cycle, a command cycle and a datacycle. Table 4 summarizes the composition of the
valid command sequences implemented in the
HY29F400, and these sequences are fully described in Table 5 and in the sections that follow.
Writing incorrect address and data values or writing them in the improper sequence resets the
HY29F400 to the Read mode.
Read/Reset 1, 2 Commands
The HY29F400 automatically enters the Read
mode after device power-up, after the RESET#
input is asserted and upon the completion of certain commands. Read/Reset commands are not
required to retrieve data in these cases.
A Read/Reset command must be issued in order
to read array data in the following cases:
n If the device is in the Electronic ID mode, a
Read/Reset command must be written to return to the Read mode. If the device was in the
Erase Suspend mode when the device entered
the Electronic ID mode, writing the Read/Reset command returns the device to the Erase
Suspend mode.
n A read cycle at address 0xXXX01 returns the
device code:
- HY29F400T = 0x23 in Byte mode, 0x2223 in
Word mode.
- HY29F400B = 0xAB in Byte mode, 0x22AB
in Word mode.
n A read cycle containing a sector address (Table
1) in A[17:12] and the address 0x02 in A[7:0]
returns 0x01 if that sector is protected, or 0x00
if it is unprotected.
ID
Table 4. Composition of Command Sequences
dnammoC
ecneuqeS
1teseR/daeR011etoN
2teseR/daeR211etoN
margorPetyB211
esarEpihC411
esarErotceS41)2etoN(1
dnepsuSesarE010
emuseResarE010
DIcinortcelE213etoN
Notes:
1. Any number of Flash array read cycles are permitted.
2. Additional data cycles may follow. See text.
3. Any number of Electronic ID read cycles are permitted.
Note: When in the Electronic ID bus operation mode,
the device returns to the Read mode when V
moved from the A[9] pin. The Read/Reset command is
not required in this case.
kcolnUdnammoCataD
n If DQ[5] (Exceeded Time Limit) goes High dur-
ing a program or erase operation, writing the
Read/Reset command returns the sectors to
the Read mode (or to the Erase Suspend mode
if the device was in Erase Suspend).
The Read/Reset command may also be used to
abort certain command sequences:
selcyCsuBforebmuN
is re-
ID
10
Rev. 5.2/May 01
HY29F400
01
555
55
55AS03
AA2
AA2
SUTATS
AA
AA
3,2,1
555
555
20X)AS(
10X)tooBmottoB(BA22,)tooBpoT(3222
40X)AS(
selcyCsuB
0FARDR
0AAPDP
08
08
555
555
555
555
55
55
55
55
AA2
AA2
AA2
AA2
AA
AA
AA
AA
0900XDA
09
09
555
555
555
55
55
55
AA2
AA2
AA2
AA
AA
AA
tsriFdnoceSdrihThtruoFhtfiFhtxiS
ddAataDddAataDddAataDddAataDddAataDddAataD
555
etirW
555
555
555
selcyC
1XXX0FARDR
3
6
4
6
555
555
555
1XXX0B
1XXX03
3
3
3
droW
droW
droW
etyBAAA555AAA
etyBAAA555AAA
droW
etyBAAA555AAAAAA555AAA
etyBAAA555AAAAAA555
ecneuqeSdnammoC
8,7
8,6
2teseR/teseR
1teseR/daeR
4
5
dnepsuSesarE
esarErotceS
emuseResarE
esarEpihC
margorP
Table 5. HY29F400 Command Sequences
Rev. 5.2/May 01
droW
droW
droW
etyBAAA555AAA
etyBAAA555AAA
etyBAAA555AAA20X)tooBmottoB(BA,)tooBpoT(32
yfireVtcetorProtceS
edoCrerutcafunaM
edoCeciveD
7
Electronic ID
Legend:
X = Don’t CarePA = Address of the data to be programmed
RA = Memory address of data to be readPD = Data to be programmed at address PA
RD = Data read from location RA during the read operationSA = Sector address of sector to be erased or verified (see Note 3 and Table 1).
1. All values are in hexadecimal. DQ[15:8] are don’t care for unlock and command cycles.
• For RA and PA, A[17:11] are the upper address bits of the byte to be read or programmed.
• For the sixth cycle of Sector Erase, SA = A[17:12] are the sector address of the sector to be erased.
2. All bus cycles are write operations unless otherwise noted.
3. Address is A[10:0] in Word mode and A[10:-1] in Byte mode. A[17:11] are don’t care except as follows:
Electronic ID mode, while in the Erase Suspend mode.
• For the fourth cycle of Sector Protect Verify, SA = A[17:12] are the sector address of the sector to be verified.
4. The Erase Suspend command is valid only during a sector erase operation. The system may read and program in non-erasing sectors, or enter the
5. The Erase Resume command is valid only during the Erase Suspend mode.
6. The second bus cycle is a read cycle.
DQ[5] goes High during a program or erase operation. It is not required for normal read operations.
7. The fourth bus cycle is a read cycle.
8. Either command sequence is valid. The command is required only to return to the Read mode when the device is in the Electronic ID command mode or if
11
HY29F400
n In a Sector Erase or Chip Erase command se-
quence, the Read/Reset command may be
written at any time before erasing actually begins, including, for the Sector Erase command,
between the cycles that specify the sectors to
be erased (see Sector Erase command description). This aborts the command and resets the device to the Read mode. Once erasure begins, however, the device ignores Read/
Reset commands until the operation is complete.
n In a Program command sequence, the Read/
Reset command may be written between the
sequence cycles before programming actually
begins. This aborts the command and resets
the device to the Read mode, or to the Erase
Suspend mode if the Program command sequence is written while the device is in the
Erase Suspend mode. Once programming
begins, however, the device ignores Read/
Reset commands until the operation is complete.
n The Read/Reset command may be written be-
tween the cycles in an Electronic ID command
sequence to abort that command. As described
above, once in the Electronic ID mode, the
Read/Reset command must be written to return to the Read mode.
Byte/Word Program Command
sure data integrity, the aborted program command
sequence should be reinitiated once the reset
operation is complete.
Programming is allowed in any sequence. Only
erase operations can convert a stored “0” to a “1”.
Thus, a bit cannot be programmed from a “0” back
to a “1”. Attempting to do so will set DQ[5] to “1”,
and the Data# Polling algorithm will indicate that
the operation was not successful. A Read/Reset
command or a hardware reset is required to exit
this state, and a succeeding read will show that
the data is still “0”.
Figure 4 illustrates the procedure for the Byte/Word
Program operation.
Chip Erase Command
The Chip Erase command sequence consists of
two unlock cycles, followed by the erase command, two additional unlock cycles and then the
chip erase data cycle. During chip erase, all sectors of the device are erased except protected
sectors. The command sequence starts the Automatic Erase algorithm, which preprograms
and verifies the entire memory, except for protected sectors, for an all zero data pattern prior to
electrical erase. The device then provides the
required number of internally generated erase
pulses and verifies cell erasure within the proper
cell margins. The host system is not required to
The host processor programs the device a byte or
word at a time by issuing the Program command
sequence shown in Table 5. The sequence begins by writing two unlock cycles, followed by the
Program setup command and, lastly, a data cycle
specifying the program address and data. This
initiates the Automatic Programming algorithm,
which provides internally generated program
pulses and verifies the programmed cell margin.
The host is not required to provide further controls or timings during this operation. When the
Automatic Programming algorithm is complete, the
device returns to the Read mode. Several methods are provided to allow the host to determine
the status of the programming operation, as described in the Write Operation Status section.
Commands written to the device during execution
of the Automatic Programming algorithm are ignored. Note that a hardware reset immediately
terminates the programming operation. To en-
12
START
Issue PROGRAM
Command Sequence:
Last cycle contains
program Address/Data
Check Programming Status
(See Write Operation Status
Section)
Normal Exit
NO
Last Word/Byte
Done?
YES
PROGRAMMING
COMPLETE
DQ[5] Error Exit
GO TO
ERROR RECOVERY
Figure 4. Programming Procedure
Rev. 5.2/May 01
Loading...
+ 28 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.