M25P32 failure

We are using M25P32 flash memory in one of the projects. It is used as a boot memory; normally, it is written only once or twice. However, there is a significant percent of failures; almost 25% of parts quit working after several weeks of operation. The failure is gradual: it starts like occasional hangups while reading or programming, then it happens more and more often, and at last the part fails entirely. What could it be? Have you encountered anything like that?

Vladimir Vassilevsky DSP and Mixed Signal Design Consultant

formatting link

Reply to
Vladimir Vassilevsky
Loading thread data ...

Try to write protect it.

Reply to
Geek

The problem is flash hang up; not a data corruption. Nevertheless the write protect bit is set.

VLV

Reply to
Vladimir Vassilevsky

It sounds like they're not getting programmed correctly, and then losing their brains. I'm too lazy to look at the data sheet, so some of this may be off base --

Programming voltages? Supply voltages (do they sag under the current draw from programming)? Timing? Are you running it really hot? Counterfeit chips?

Or maybe you shouldn't try to run it quite so close to the warhead's fissionable material :-).

--
www.wescottdesign.com
Reply to
Tim Wescott

I've seen something like this in the past where the write protected line was (accidentally) floated during reset because it was controlled through a GPIO. Sometimes, this lead to various parts of the device being reprogrammed because the other lines floated just so: you had to be "lucky" to get one of these.

Is it single address failures that you are seeing?

Andrew

Reply to
Andrew Jackson

We have a few products that use these, several thousand units in the field for a few years now and not a single problem; at least not with the M25P32 :)

Our usage pattern is a bit different though, they get continuous reads for 1-8 hours per day and then a sector erase & write maybe once a month or so. Although there is one product where they do get 2-3 bytes written once per second and that's been OK too. They're running at 3.3V and I believe the clock rates on the SPI are between 0.8 and 4.0 MHz depending on the product.

What exactly do you mean by hangups? Do you mean that the WIP bit in the status register remains set for longer than it should during a write / erase? The maximum times for write, sector erase, and bulk erase are 5 ms, 3000 ms and 80000 ms respectively (yes, the bulk erase feature is a bit of a joke). I don't see how you could have hangups during reading, since there's really nothing to wait for during a read so either you get the correct data or you don't.

Reply to
Tom

Un bel giorno Vladimir Vassilevsky digitò:

Do you program them after or before soldering? I had a similar problem with some flash-based MCUs programmed before the oven reflow.

--
emboliaschizoide.splinder.com
Reply to
dalai lamah

This is how it looks like:

  • While doing sector erase, the operation never ends.
  • When reading, the operation returns 0x00 no matter what.

Cycling power or attempting other flash operations seem to get it conscious, but once it started doing this, it will be worse and worse.

Checked. Looks OK.

Perhaps. That's why I asked the newsgroup.

Hm, interesting idea. The board has BGA packages and gets inspected by X-ray machine. Could this be a problem?

FWIW, long while ago I tried to erase the OTP 27512s by X-ray tube. It did, but some cells were damaged before the entire array was erased.

Vladimir Vassilevsky DSP and Mixed Signal Design Consultant

formatting link

Reply to
Vladimir Vassilevsky

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.