EmbeddedRelated.com
Forums

M25P32 failure

Started by Vladimir Vassilevsky October 20, 2009
  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
http://www.abvolt.com


Try to write protect it.

Geek wrote:

> Try to write protect it.
The problem is flash hang up; not a data corruption. Nevertheless the write protect bit is set. VLV
On Tue, 20 Oct 2009 11:57:15 -0500, Vladimir Vassilevsky wrote:

> 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?
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
> 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?
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
In article <IK-dnYCpIoJ7dkDXnZ2dnUVZ_tydnZ2d@giganews.com>, Vladimir Vassilevsky <nospam@nowhere.com> wrote:
> > 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?
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.
Un bel giorno Vladimir Vassilevsky digit&#4294967295;:

> 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?
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

Tim Wescott wrote:

> On Tue, 20 Oct 2009 11:57:15 -0500, Vladimir Vassilevsky wrote: > > >>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? > > > 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 --
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.
> Programming voltages? Supply voltages (do they sag under the current > draw from programming)? Timing? Are you running it really hot?
Checked. Looks OK.
> Counterfeit chips?
Perhaps. That's why I asked the newsgroup.
> Or maybe you shouldn't try to run it quite so close to the warhead's > fissionable material :-).
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 http://www.abvolt.com