K9F4008W0A-TCB0, K9F4008W0A-TIB0
FLASH MEMORY
FRAME PROGRAM
The device is programmed on a frame basis. The addressing may be done in random order in a block. A frame program cycle consist
of a serial data loading period in which up to 32 bytes of data must be loaded into the device, and a nonvolatile programming period
in which the loaded data is programmed into the appropriate cells.
The sequential data loading period begins by inputting the frame program setup command(80h), followed by the three cycle address
input and then sequential data loading. The bytes other than those to be programmed do not need to be loaded.
The frame Program confirm command(10h) initiates the programming process. Writing 10h alone without previously entering the
serial data will not initiate the programming process. The internal write controller automatically executes the algorithms and timings
necessary for program and verify, thereby freeing the CPU for other tasks. The CPU can detect the completion of a program cycle by
monitoring the R/B output, or the Status bit(I/O6) of the Status Register. Only the Read Status command and Reset command are
valid while programming is in progress. When the frame Program is complete, the Write Status Bit(I/O0) may be checked. The internal
write verify detects only errors for "1"s that are not successfully programmed to "0"s. The command register remains in Read Status
command mode until another valid command is written to the command register.
Figure 4. Frame Program Operation
tPROG
R/B
I/O0~7
80h
Address & Data Input
10h
A0~A7 & A8~A18
32 Byte Data
FRAME PROGRAM
While the frame size of the device is 32 Bytes, not all the bytes in a frame have to be programmed at once. The device supports par-
tial frame programming in which a frame may be partially programmed up to 10 separate program operations. The program size in
each of the 10 partial program operations is freely determined by the user and do not have to be equal to each other or to any preset
size. However, the user should ensure that the partial program units within a frame do not overlap as "0" data cannot be changed to
"1" data without an erase operation. To perform a partial frame program operation, the user only writes the partial frame data that is
to programmed. Just as in the standard frame program operation, an 80h command is followed by start address data. However, only
the partial program data need be divided when programming a frame in 10 partial program operations.
Figure 5. Example of Dividing a Frame into 10 Partial Program Units
1st partial program start address (00h)
2nd partial program start address (04h)
3rd partial program start address (06h)
:
:
:
:
:
:
9th partial program start address (18h)
10th partial program start address (1Fh)
Single
Frame
FA A2 43 CB 81
28 E0 2A D5 - - - - - - 32 B5 7D 6F AA E1 D7 C0
10th partial frame program data
9th partial frame program data
:
:
:
:
:
:
3rd partial frame program data
2nd partial frame program data
1st partial frame program data
18