Flowcharts and pseudo codes
M58LT128HST, M58LT128HSB
Figure 24. Erase Suspend & Resume flowchart and pseudo code
Start
erase_suspend_command ( ) {
writeToFlash (bank_address, 0xB0) ;
Write B0h
Write 70h
writeToFlash (bank_address, 0x70) ;
/* read status register to check if
erase has already completed */
do {
Read Status
Register
status_register=readFlash (bank_address) ;
/* E or G must be toggled*/
NO
NO
} while (status_register.SR7== 0) ;
SR7 = 1
YES
if (status_register.SR6==0) /*erase completed */
{ writeToFlash (bank_address, 0xFF) ;
SR6 = 1
YES
Erase Complete
read_data ( ) ;
/*read data from another block*/
/*The device returns to Read Array
(as if program/erase suspend was not issued).*/
Write FFh
Read data from another block,
Program,
Set Configuration Register or
Block Protect/Unprotect/Lock
}
else
{ writeToFlash (bank_address, 0xFF) ;
read_program_data ( );
/*read or program data from another address*/
writeToFlash (bank_address, 0xD0) ;
/*write 0xD0 to resume erase*/
Write D0h
Write FFh
Read Data
}
}
Erase Continues
AI13893
1. The Read Status Register command (Write 70h) can be issued just before or just after the Erase Resume command.
96/110