This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS470MF06607: Write/Erase Cycle definition

Part Number: TMS470MF06607

Write/Erase Cycle is given as 1000 cycles.

Does this mean one Erase + Write = 2 cycles?

This Cycle count is for each memory location? Ex: if location 0x10000 has 1000 cycles but 0x20000 has 50 cycles, We should be able to use location 0x20000 without any issue?

If the count crosses 1000, What is the expected behavior change?

  • A write/erase cycle is defined by both a write and erase constituting a single cycle. In actuality it is the number of times a sector is erased. In the example you noted above, the addresses 0x10000 and 0x20000 are in two separate sectors, so yes. If sector 0x10000 has 1000 cycles, and sector 0x20000 only has 50 cycles, you can continue to cycle sector 0x20000.

    As the number of cycles increases beyond the specification (1000 cycles) typically the erase starts taking longer because of charge trapping. The erase may eventually fail. It is also possible that after many cycles charges trapped in the oxide may lead to charge assisted tunneling. That means that a 0 bit might lose its charge and turn into a 1.

  • Thank you.

    This gives more clarity.

    Is there any way i can read the number of cycles ?

    Best Regards,

    Kavya Ramachandra

  • There is no automatic counter. Your software can implement one by reserving a location in the flash sector that you read before the sector erase then increment and reprogram after the sector erase. The problem with such a simple counter is that it can be lost if there is a power loss or reset during the sector erase. The EEPROM emulation driver (found in HALCoGen) can implement a counter and it uses at least two sectors such that the information is copied to the second sector before the first sector is erased.

  • Thank you for the suggestion. Currently I am planning to use something similar.

    External Flash is available to store the count.

    But if we flash the controller via JTAG then software cannot keep count of this.So if there was any register or something that stored the number of cycles, it could be used to check.

    Since you informed there is no counter, Is there any other way apart from software to check the count? If we send the controller to TI supplier, Would TI be able to identify the number of cycles?

    If Reprogramming is done via Bootloader, then counter method can be used. 

  • Kavya Ramachandra said:
    But if we flash the controller via JTAG then software cannot keep count of this.So if there was any register or something that stored the number of cycles, it could be used to check.

    No, there is no register for holding the erase count. Perhaps a sophisticated programmer sequence that reads a flash location into a file, erases the sector, then an external program (such as one running on a PC) increments the value in the file and finally the new code and the modified file are both programmed into the part by JTAG.

    Kavya Ramachandra said:
    Is there any other way apart from software to check the count?

    No,

    Kavya Ramachandra said:
    If we send the controller to TI supplier, Would TI be able to identify the number of cycles?

    No