Skip to main content



2 months ago

Posted by christian.oppliger 10 points 1 reply

Hi all

We use the AT45DB041E  flash. In the datasheet is written that the endurance is 100'000 programm/erase cycles per page minimum.

In case that i erase the page with cmd nr  81h and programm page with cmd nr 02h there are only 50'000 cycles right?

in case of using the cmd erase and programm (82h) there will be 100 cylces?

is that correctly?


Thank you



2 months ago

gordonmacnee 45 points

Hi Christian,

We count a Program and Erase as one cycle so you could program and erase a page of memory 100K times (we have seen customers cycle these parts up to 2M times before giving up testing without failures but we can not guarantee this performance). We would STRONGLY recommend that you keep static data and high endurance data in separate 64k Blocks to ensure that the writes to the high endurance area does not 'disturb' the static data. If this can not be easily managed, then we recommend rewriting the static data every ~50k cycles of the high endurance data and we include a READ-MODIFY-WRITE command to help with this.

As you increase the number of cycles a specific part of memory has undergone you will see program and erase times creep out towards the maxima in the datasheets. 

Note that we have the EPE bit in the status register that helps manage Run until First Failure systems where you cycle the part until an operation fails. This bit will indicate whether a program or erase cycle completes successfully. So the program or erase cycle becomes - start program cycle - test Status Reg bit 7 (Ready/Busy bit) - when READY test EPE bit...