Electrical – Microcontroller Memory reliability : Info Memory vs External Flash

embeddedflashmemorymicrocontrollermsp430

I had a small query which I couldnt find a short answer in google.
for storing small amount of data ( say 8 bytes ) in an embedded system (containing an external Flash too), is it preferred to store in EXTERNAL FLASH instead of the controller's INFO MEMORY ( MSP430 in my case).

My query is not specific to MSP430, but in general.

I was told by my lead that INFO Memory is not reliable and External Flash should be used. I am not convienced.

I was hoping if there is any technical reasoning as to which memory is more reliable (considering that proper care is taken while writing to memory).

Thanks in advance.

Best Answer

From a purely technical standpoint, I see no immediate reason why external flash would be better given equivalent erase/write cycle count and storage volume.

If you've checked all the datasheets, you could take this up with your lead as it might save the company money and gain you some "points" for your next annual review or when its time renew a contract, etc. But don't go against what your lead says without first getting him/her on your side.

Also, the technically superior solution, might not be the right solution for your company or your project.

You might be "wasting" money on chips to save money elsewhere, e.g. maybe those flash chips put you just past a minimum dollar threshold to get free support that would otherwise cost more than the unnecessary flash.

Or you might be using external flash because the end customer expects / requires it. I've seen customers say: "though shall not use any of component X" for seemingly nonsense reasons, but the customers pay the bills :).

Or maybe you are absolutely right, but its too late / costly to make a board or bill-of-material change.

Point being: When you're in the business of making an actual physical product, there are a lot of factors behind decisions that might make no sense at all to an entry level developer or even a very experienced developer that's new to embedded work.