5 Replies Latest reply on Aug 17, 2018 10:42 AM by skidaddytn_3656831

    GL128S10DH801 Flash gets corrupted after being OK for long time

    ahmed.shokry

      Hello Community,

         

      I am using GL128S10DH801 flash, to keep SoC code and some application-specific data (to be kept over different power cycles).

         

      Normally, the data are written once at production and is kept const through lifetime of the board.

         

      I've received a returned board from the customer, and upon analysis, I found that the flash is totally corrupted.

         

      From customer claim, the board was functioning perfectly for around 1 year, and now I see flash corruption.

         

      I tried to re-flash the board, but the system stucks at erasing the flash.

         

      There has been no claim that voltage fluctuations happened to the board at any time.

         

      This issue has been reported on this particular board, while no similar issue is seen on other hundreds of boards.

         

      Why do you think a flash corruption may happen after 1 year of happy operation on a particular board, while no write\erase operations are expected and no power fluctuations (over or under voltage) is recorded ?

         

      Any directions on how to think of that ?

         

      Thanks in advance.

        • 1. Re: GL128S10DH801 Flash gets corrupted after being OK for long time
          gsns

          It can be due to exposure od device to radiation example like X-rays etc. It cna also be due to electric fields present in the system.

             

          Thanks,

             

          Krishna.

          • 2. Re: GL128S10DH801 Flash gets corrupted after being OK for long time
            ahmed.shokry

            Thanks Krishna,

               

            The flash is connected to the SoC through General-Purpose Memory Controller (GPMC).

               

            Does the flash have any settings that when set to marginal values, the flash gets corrupted as described  ?

               

            Is there errata sheet for the part to check it against GPMC settings ?

            • 3. Re: GL128S10DH801 Flash gets corrupted after being OK for long time
              gsns

              Ahmed,

                 

              I have checked our internal database and the part GL128S10DHI01 does not have any errata.

                 

              Please let us know on how many devices  you are seeing the issue.

                 

              Thanks,

                 

              Krishna.

              • 4. Re: GL128S10DH801 Flash gets corrupted after being OK for long time
                ahmed.shokry

                Hi Krishna,

                   

                The factory just reported more 5 boards, so that total is 6 boards.

                • 5. Re: GL128S10DH801 Flash gets corrupted after being OK for long time
                  skidaddytn_3656831

                  I know this is an old post, but our company is having a similar issue right now.   We must have sent out 1000 or so boards with a S29GL128N part and have gotten almost 30 returns.   Like Ahmed, we only flash our part in manufacturing and in the field the part lives most of its life in "read-only" mode unless the customer chooses to firmware upgrade.     Our product has been for sale for over 10 years, and this just started happening to products sold starting in the year 2016.   No earlier models have yet been returned to us.

                   

                  Our symptoms don't match the "totally corrupt" description.   In our case, it is usually only 1 single bit that becomes unstable.   Since we perform a CRC32 integrity check on our application image before running, this one bit causes our product to brick.     Reflashing the part seems to fix the bad bit, but it doesn't do much to restore our confidence in the part.    I have a suspicion that the channel substrate is not the same quality as it once was in this part.

                   

                  We are going to attempt to implement our own ECC/Reed-Solomon encoding or similar to repair our image in the event that flash bits go bad-- although this won't protect from a strike to our boot loader.     I would be interested to hear from any others having this issue and any other possible techniques used to minimize the chances of it happening?  Other ideas we had were periodic reflashing of the part, and changing the method of reading the flash from sequential to random block loading and putting it back together in RAM.