4 Replies Latest reply on Sep 27, 2018 1:43 AM by SudheeshK_26

    F-RAM reliability in light of current address bit error

      Hi I seem to have come across a design issue.

       

      It seems to be impossible with either the FM25W256 or FM24W256 to verify the memory counter or address currently in use to be sure of the location which will be written (every write includes the address with no confirmation step). Coupled with the overflow of the address this means that any bit corruption in the I2C or SPI transmission of the address to write to could (although unlikely with short tracks) cause the write to occur to an arbitrary location. A loopback could be used but a read back would be much more reliable.

       

      Whilst you can check where you are with filesystem type or canary bytes by reading you seem to be required to send the address to write to immediately before writing, every time. Sending a START after reading and switching to writing at the current location does not appear to

      work. Can anyone confirm whether reading and then switching to writing from the current location without sending a new write address is possible? Any other method to avoid this issue would also be welcome.

       

      Thankyou.

        • 1. Re: F-RAM reliability in light of current address bit error
          SudheeshK_26

          Hi Kevin,

           

          I am not clear about your query. Could you please clarify what do you mean by "confirmation step after write operation"?

           

          Thanks and Regards,

          Sudheesh

          • 2. Re: F-RAM reliability in light of current address bit error

            Thankyou for responding.

             

            AFAIK the only way to conduct a write is to send

             

            Slave address with write bit

            Send address MSB

            Send address LSB

            Send bytes to write

             

            There is no way to send

            Slave address with write bit

            Send bytes to write at current location (MSB/LSB)

             

            If you send address to write to as the last address e.g. 32000

            A bit flip may occur in MSB/LSB during transmission meaning perhaps 32004 is received rather than 32000. The address written to would be 4 due to overflow.

             

            To guarantee data integrity upon a write/read difference (comparison/readback failure), this means that large areas of the F-RAM need to be checked, atleast all critical sections . This is not a major issue but is not ideal especially when the F-RAM is more reliable than RAM.

             

            I am assuming there can't be but wondering if there is a way to determine the address that will be written (i.e. current address LSB/MSB) without writing any bytes and then write without sending the address (MSB/LSB) to write to (i.e. current address write cmd).

            • 3. Re: F-RAM reliability in light of current address bit error

              If you send address to write to as the last address e.g. 32000

              A bit flip may occur in MSB/LSB during transmission meaning perhaps 32004 is received rather than 32000. The address written to would be 4 due to overflow.

               

              It may be 32768 and not have an off by one, but I hope you are more forgiving than C, .

              • 4. Re: F-RAM reliability in light of current address bit error
                SudheeshK_26

                Hi,

                 

                As you mentioned, it is not possible to perform write operation to our devices FM25W256 or FM24W256 without mentioning the address.

                 

                Thanks and Regards,

                Sudheesh