2 Replies Latest reply on Jul 6, 2020 6:25 AM by IsKo_4503166

    Does the S25FL's P_ERR bit signal the writing to unerased area?

    IsKo_4503166

      Hello,

       

      I use a S25FL256S flash memory and I noticed that no P_ERR bit if

      I write to an unerased (not all bits are ones) memory area, however

      the writing fails. Is this normal behavior or does I overlook something?

       

      I hoped I can detect similar errors via P_ERR. Should I reread the data

      after writing operation if I would like to check the result of operation?

       

      Thanks.

        • 1. Re: Does the S25FL's P_ERR bit signal the writing to unerased area?
          SudheeshK_26

          Hello,

           

          Flash device will not set P_ERR bit in status register 1, if you are programming data to already programmed locations. Please note, program operation can change a bit from 1 to 0. It is not possible to change a bit from 0 to 1 using a program operation. If you try to change the data a bit from 0 to 1 using program operation, flash will not report error and data at that bit will remain as 0. Only an erase operation can change data at a bit from 0 to 1.

           

          In the question, you have mentioned that the write operation fails. Could you please provide more details about this? How are you checking if the program operation completed successfully or not?

           

          To assist you better with this question, could you please provide more details about your requirement?

           

          Thanks and Regards,

          Sudheesh

          • 2. Re: Does the S25FL's P_ERR bit signal the writing to unerased area?
            IsKo_4503166

            Hello,

             

            thank you for you quick response!

             

            The only write checking I implemented was the checking of the P_ERR bit.

            During tests the programming algorithm unintentionally ran into an unerased

            memory area and the read back data was different form the written data (this

            is what I meant "writing failed") but the P_ERR stayed zero (did not show the

            error) and this was surprising because, in my point of view, this is a

            programming error.

             

            After your answer everything is clear now. I will implement readback and compare

            the written and the readback data to check the programming operation.

             

            Thank you again!