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.

MSP430G2433: Flash content would be modified under aging test

Part Number: MSP430G2433

Hi Champs,

My customer found one piece MSP430G2433's content would be modified in aging test lab, and total volume in the lab is about 75 sets. The temperature is about 50℃, the moisture is about 75%. And the address is located in code sector. For example, '0xB0' is modified to '0xB8', and all the modification is from 0 to 1. After checking with customer, there is no any Flash operating code in their project, and the voltage is stable.

Would you kindly suggest where the problem comes from? And also is there any tests that I can do?

Thanks.

BR,

Young

  • Hi Young,

    This is very interesting. How long before they noticed this corruption and did they notice any symptoms (e.g. improper code execution). Also, did they verify the code on the device when it was first programmed?

    First can you refer your customer to the Debugging Flash Issues on the MSP430 Family of Microcontrollers application report. This contains solutions to the most common flash issues. Please have them read through it and see if the answer can be found there. 

    In the meantime, I'll discuss this with our quality team and see what our next steps should be. Keep me updated if anything new arises. 

    Best regards, 

    Caleb Overbay

  • Hi Caleb,

    Their products had been tested in lab for 4~5 days, and then the faiure occoured. The code was verified, and the board worked well. After failure occoured, the I2C communication would be stopped. Then they read the flash content and compared with good one, and found the modification.

    Thanks.

    BR,

    Young

  • Hi Young,

    I've spoken with our quality team and here is there response:

    • Is the change repeatable, means if the code is programmed new and the same reliability testing is done, would the same part fail again?
    • If it fails again, is it failing on the same locations/addresses?
    • Are the devices powered during the reliability test?
    • Is code executed during the reliability test?
    • If the same unit is read out multiple times after reliability test, is the result the same (same cells failing)?

    From what I see I think the issue could point into the direction of an interrupted erase cycle.

    Its hard to imagine why devices change their values from 0 (programmed) to 1 (erased). This  would mean that they accumulating electrons on the floating gate over time. Its hard to imagine then where the electrons would come from. I see as well that it is not just one location affected (which would ie relate to a production issue in that one location). If multiple cells are affected, one explanation would be that there is an interrupted erase cycle leading to incorrect cell currents. It would be then also random where the incorrect values are located. Can they check whether this could somehow the case?

    Another question just to confirm: How many program/erase cycle have been already done with the flash? More then 10k? This is to make sure that there is no wear out already happening.

    Best regards, 
    Caleb Overbay

  • Hi Caleb,

    Please find the replies as follows.

    Caleb Overbay said:
    • Is the change repeatable, means if the code is programmed new and the same reliability testing is done, would the same part fail again?

    Yes. They re-programmed this failure part, and put their product in the aging lab again. After less than 24 hours, the same fart failed again.

    Caleb Overbay said:
    • If it fails again, is it failing on the same locations/addresses?

    There was only one bits found to be modified the second time, and was same as the one address previously. The alternating bit was changed from 0 to 1.

    Caleb Overbay said:
    • Are the devices powered during the reliability test?
    • Is code executed during the reliability test?

    Yes, the device is powered on during testing, and the code is executed. 

    Caleb Overbay said:
    • If the same unit is read out multiple times after reliability test, is the result the same (same cells failing)?

    Yes, the .txt file is the same.

    Caleb Overbay said:

    From what I see I think the issue could point into the direction of an interrupted erase cycle.

    But there is no flash erase operation or function in the code.

    Caleb Overbay said:

    Another question just to confirm: How many program/erase cycle have been already done with the flash? More then 10k? This is to make sure that there is no wear out already happening.

    Less than 20 times. 

    Thanks.

    BR,

    Young

  • All,

    was involved in parallelbut post my inputs here to prevent parallel thread.

    1. Can we get the txt file to disassemble and check if the FLASH controll register are really not accessed and a erase or program cylce might be executed accidently?

    2. At which frequency the device is running? How it is clocked via DCO or via external crystal?
    -> If clocked via DCO are the cal data in info mem A used? If yes are they valid?

    3. At which voltage the device runs?

    4. What is located at the addresses which gets corrupted. All values go from logical ZERO to ONE which looks like they were paritally erased.
    -> If it is ensured that the cells were programmed correcltly initially this is the only way how such symptoms can appear.

    The reason why I ask for speed vs. voltage is that maybe the spec for this is violated and the devices are running out of controll doing something strange.

    Best regards,
    Dietmar

  • Young,

    I just want to checkup on this. Have you gotten any feedback from your customer regarding Dietmar's questions?

    Best regards,
    Caleb Overbay
  • Hi Caleb,
    Yes, we have discussed with Dietmar offline, and we can close this thread now.
    BR,
    YOung
  • Hi Young,

    Thanks for the update. I'll close the thread accordingly. Were you able to find a root cause? And if you were, can you update the post with the solution so the community will be able to reference this thread if they have similar issues?

    Best regards,
    Caleb Overbay

**Attention** This is a public forum