Re: Question about strange flash problem



On Monday, in article <f0iohf$poo$1@xxxxxxxxxxxxxxxxxxx>
andrewdotqueisser@xxxxxx "andrew queisser" wrote:

Hi all,

I'm seeing a strange bug with a flash chip. So far it's isolated but I was
wondering if anyone has opinions about what might be happening here:

Chip: Spansion 32MBit
http://www.spansion.com/datasheets/s29al032d_00_a8_e.pdf

When I program certain sectors (3f8000,3fa000,3fc000,3fe000) they act like
RAM. I can write data and read data back but when I power cycle the device
the data is back to 0xFFFF...

I can think of a few explanations but I don't know enough about the inner
workings of flash to know which ones to eliminate:

1) The chip is defective and acts like a RAM chip on those sectors
2) The sectors in question are write-protected and act therefore act like
RAM
3) There's a defect on our PCB and I actually am writing to the SRAM chip
sharing the address bus
4) There's a defect on the chip that causes the sectors to be erased each
time the device powers up

Some background:
- It's an FPGA based system with flash and SRAM sharing the bus.
- We don't have any high voltages hooked up to the flash chip so our only
way of programming are the in-system CFI routines.
- The programming routines include a normal SRAM-like write cycle at the end
so that would explain how it could look like SRAM
- So far only one of several devices exhibit the problem, all others work
fine.

How are you sure that it is acting as SRAM?

If you

write to one of these locations with no other devices on the bus,
then WRITE the invereted pattern to a non-existant device on that bus
then read the original location

What do you get?

I suspect you think it is acting as SRAM when actually you have bus
capacitance causing the last pattern to stay on the bus for a 'long' time
so you are reading the old bus value back and the device is not actually
being read at all. I.E. nothing is driving the bus at that time.

Considering how regular the pattern is I would suspect that there are
addressing/data line problems as 3f8xxx is a problem and I assume
3f9xxx is OK.

Suggesting that A12 (on 8 bit wide addressing) is shorted to something.
or similar, which suggests a PCB fault or FPGA programme fault.

--
Paul Carpenter | paul@xxxxxxxxxxxxxxxxxxxxxxxxxxx
<http://www.pcserviceselectronics.co.uk/> PC Services
<http://www.gnuh8.org.uk/> GNU H8 & mailing list info
<http://www.badweb.org.uk/> For those web sites you hate

.