0
\$\begingroup\$

I am using the AT45DB641B Adesto DataFlash and not in Low Power mode.

In my application I am recording a stream of raw sensor data and constantly writing to flash every second. I have a self-test that is invoked every minute to read back a sentinel from flash to make sure everything is running correctly. However, when I have been running my recording for from between 10 minutes up to 4 hours, at some point the flash would read back all zeros at this sentinel address. This memory address is set once initially and is never modified during the course of the recording.

In my test unit, I exercise heavily erase/program then read back and different set of data and all operations seem to work normally.

I wonder what could possibly cause a flash to read back zeros and that it happens inconsistently.

\$\endgroup\$
1
  • \$\begingroup\$ Just wondering if this is still an ongoing concern (the reading of zeros). I am experiencing similar behaviour on the E fab but am checking busy flag \$\endgroup\$ May 2 '17 at 22:51
1
\$\begingroup\$

I presume your test unit uses a different physical chip. There is a huge variability of erase times possible from chip-to-chip and with supply voltage, and different ways of writing/erasing. I also presume you're not writing a file system, because that has a different set of challenges.

But the simplest thing.. are you checking the busy flag before reading the sentinel location? If the chip is in the middle of a page erase it could go off the radar for many (like 35) milliseconds.

\$\endgroup\$
1
  • \$\begingroup\$ It's a simple test unit that actually uses the same physical chip. I just reinstall the firmware image for testing. But you did bring up a good point I don't have a check for my busy flag currently when reading back (right now only for earse/program), and it's definitely possible that it could happen while there is another page erase in the middle of it. I will give it another run. Thanks. \$\endgroup\$
    – tll
    Mar 14 '14 at 19:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.