28F640L30, 28F128L30, 28F256L30
Figure 32. Buffered Program Flowchart
Buffer Programming Procedure
Start
Bus
Operation
Command
Comments
Device
Supports Buffer
Writes?
Use Single Word
Programming
Buffer Prog. Data = 0xE8
Write
Read
No
Setup
None
Addr = Block Address
SR[7] = Valid
Addr = Block Address
Yes
Set Timeout or
Loop Counter
Check SR[7]:
1 = Write Buffer available
0 = No Write Buffer available
Idle
None
None
Get Next
Target Address
Data = N-1 = Word Count
N = 0 corresponds to count = 1
Addr = Block Address
Write
(Notes 1, 2)
Issue Buffer Prog. Cmd.
0xE8,
Write
(Notes 3, 4)
Data = Write Buffer Data
Addr = Start Address
None
None
Block Address
Write
(Notes 5, 6)
Data = Write Buffer Data
Addr = Block Address
Read Status Register
at Block Address
Write
Buffer Prog. Data = 0xD0
(Notes 5, 6)
Conf.
Addr = Block Address
No
Status register Data
Addr = Block Address
Timeout
or Count
Expired?
Read
None
Write Buffer
Available?
SR[7] =
0 = No
Yes
Check SR[7]:
Standby
None
1 = WSM Ready
0 = WSM Busy
1 = Yes
Write Word Count,
Block Address
1. Word count value on D[7:0]is loaded into the word count
register. Count ranges for this device are N = 0x00 to 0x1F.
2. The device outputs the Status Register when read.
3. Write Buffer contents will be programmed at the device start
address or destination flash address.
Buffer Program Data,
Start Address
X = X + 1
4. Align the start address on a Write Buffer boundary for
maximum programming performance (i.e., A[4:0o]f the start
address = 0x00).
5. The device aborts the Buffer Program command if the
current address is outside the original block address.
6. The Status Register indicates an improper command
sequence if the Buffer Program command is aborted; use the
Clear Status Register command to clear error bits.
Write Buffer Data,
Block Address
X = 0
No
Yes
No
Abort Buffer
Program?
X = N?
Full status check can be done after all erase and write
sequences complete. Write 0xFF after the last operation to
place the partition in the Read Array state.
Yes
Write to another
Block Address
Yes
Write Confirm 0xD0
and Block Address
Issue Read
Status Register
Buffer Program Aborted
Command
Suspend
Program
Loop
Read Status Register
No
0
Suspend
Program?
Yes
SR[7] =?
1
Full Status
Check if Desired
Program Complete
76
Datasheet