Does the onchip flash IP block take physical degradation into account?
To support remote updating of my MAX10M08 device, I'm using the onchip flash IP block to access the CFM to erase sectors and program the new configuration.
From the user manual https://www.intel.com/content/www/us/en/docs/programmable/683180/18-0/user-flash-memory-overview.html I can see the onchip flash IP block will set the Write Failed bit when
- The burst count is not equal to 1 (parallel) or 32 (serial).
- The given address is out of range.
- The sector protection mode or write protection mode of the sector is not clear (the value is not 1'b0)
Similarly, the Erase Failed bit is set when
- You send an illegal sector number
- The sector protection mode or write protection mode of the sector is not clear (the value is not 1'b0)
Basically, those error flags are set when interacting wrongly with the IP block from VHDL.
Yet, if my device is to operate for multiple years in possibly harsh conditions, the Flash memory itself can also start to degrade, which could also result in failed Write or Erase operations.
Does the IP block take this into account and also set the Failed bit when the physical memory could not execute the desired operation?
Or should I take care of this myself, by reading back the sector is completely empty and reading back the address I just programmed?
Hi FvM,
Thanks for your sharing. Can't deny that readback and compare will be a good measure to ensure data correctness.
What I mentioned previously is just the ws (write successful) and es (erase successful) bits will always show '0' (failed) if the physical memory could not execute the Write or Erase operations properly.
Thanks,
Best Regards,
Sheng
p/s: If any answer from the community or Intel Support are helpful, please feel free to give best answer or rate 4/5 survey.