Author Topic: Brand new FT93C66A EEPROM fail  (Read 3151 times)

0 Members and 1 Guest are viewing this topic.

Offline jesuscfTopic starter

  • Frequent Contributor
  • **
  • Posts: 499
  • Country: ca
Brand new FT93C66A EEPROM fail
« on: August 30, 2017, 09:12:34 pm »
I recently bought from DigiKey a lot of 250 FT93C66A EEPROMs made by a company called Fremont Micro Devices.  Since this is a brand I never used before I played it safe an tested 50 of them.  Unfortunately 4 of memories had locations with defective bits/errors.  One has over 200 locations with errors, one has a 14 locations with errors, one ha 5 locations with errors, and one has one location with errors.  The other 46 didn't show any errors.   Furthermore, the number of errors is temperature dependent.  If I cool down the defective memories using one of those freeze spays the number of errors diminishes significantly or completely disappears.  Once the temperature returns to about 22C the errors reappear.  The memories are specified for the temperature range -40C to 80C .  Does anybody have similar experiences with EEPROMs?  What is a brand of reliable 93C66 EEPROMs you'll recommend?
Homer: Kids, there's three ways to do things; the right way, the wrong way and the Max Power way!
Bart: Isn't that the wrong way?
Homer: Yeah, but faster!
 

Offline amyk

  • Super Contributor
  • ***
  • Posts: 8275
Re: Brand new FT93C66A EEPROM fail
« Reply #1 on: August 30, 2017, 11:06:26 pm »
What voltage did you write/read them at? Also, what type of errors? I.e. were they all stuck at 1 or 0, random and unresponsive to erase, etc.?

Note that the datasheet has this restriction on the WRAL/ERAL commands:
Quote
The ERAL instruction is valid only at VCC = 5.0V ± 10%.
The WRAL instruction is valid only at VCC = 5.0V ± 10%.

"Fremont Micro Devices" sounds American, but is actually Chinese... ::)
 

Offline jesuscfTopic starter

  • Frequent Contributor
  • **
  • Posts: 499
  • Country: ca
Re: Brand new FT93C66A EEPROM fail
« Reply #2 on: August 30, 2017, 11:45:53 pm »
What voltage did you write/read them at? Also, what type of errors? I.e. were they all stuck at 1 or 0, random and unresponsive to erase, etc.?

Note that the datasheet has this restriction on the WRAL/ERAL commands:
Quote
The ERAL instruction is valid only at VCC = 5.0V ± 10%.
The WRAL instruction is valid only at VCC = 5.0V ± 10%.

"Fremont Micro Devices" sounds American, but is actually Chinese... ::)

VCC=4.95V.

Testing every location with predetermined patterns indicate what locations failed (numbers are hex):
Code: [Select]
0x55 failed at: 1b9
0xaa failed at: 08f 19a
0xf0 failed at: 1b9
0x5a failed at: 08f
0x02 failed at: 08f
0x08 failed at: 19a
0x10 failed at: 056 0f0 1b9
0x20 failed at: 134
0xf7 failed at: 1b9
There were 12 ERROR(s).

When I test all possible values for one of the locations above:
Code: [Select]
Location to test: 1b9
000:  00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
010:  00 01 02 03 04 05 06 07 18 19 1a 1b 1c 1d 1e 1f
020:  20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
030:  20 21 22 23 24 25 26 27 38 39 3a 3b 3c 3d 3e 3f
040:  40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
050:  50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f
060:  60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
070:  70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f
080:  80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f
090:  80 81 82 83 84 85 86 87 98 99 9a 9b 9c 9d 9e 9f
0a0:  a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af
0b0:  a0 a1 a2 a3 a4 a5 a6 a7 b8 b9 ba bb bc bd be bf
0c0:  c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf
0d0:  d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df
0e0:  e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef
0f0:  f0 f1 f2 f3 f4 f5 f6 e7 f8 f9 fa fb fc fd fe ff
There were 33 error(s).

For example, 0x10 was written to location 0x1b9, but 0x00 was read back.  You may think the 5th bit is stuck to zero, but when 0x18 is written, is correctly read back as 0x18.  :-//
Homer: Kids, there's three ways to do things; the right way, the wrong way and the Max Power way!
Bart: Isn't that the wrong way?
Homer: Yeah, but faster!
 

Offline Niklas

  • Frequent Contributor
  • **
  • Posts: 395
  • Country: se
Re: Brand new FT93C66A EEPROM fail
« Reply #3 on: August 31, 2017, 08:35:23 am »
Have you checked the actual timing in the circuit for the read and write? Signal quality on the I2C interface?
 

Online wraper

  • Supporter
  • ****
  • Posts: 16865
  • Country: lv
Re: Brand new FT93C66A EEPROM fail
« Reply #4 on: August 31, 2017, 09:10:38 am »
Have you checked the actual timing in the circuit for the read and write? Signal quality on the I2C interface?
Write is self timed.
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Brand new FT93C66A EEPROM fail
« Reply #5 on: August 31, 2017, 09:34:05 am »
As for brands, Automotive love microchip and atmel eeproms, (now the same company),

As for your actual errors, Its almost implying an error in your code, or your expectation of how the device expects data,

Most of these eeproms can operate in either an 8 bit or 16 bit addressing mode. This doesnt seem to be the case but i would check it,

Most of your weirdness is that for lines 0-1, 2-3, and 8-9, A-B your getting a half line error, are you 100% certain you dont have an error on certain values in how your addressing the memory,
 

Offline jesuscfTopic starter

  • Frequent Contributor
  • **
  • Posts: 499
  • Country: ca
Re: Brand new FT93C66A EEPROM fail
« Reply #6 on: August 31, 2017, 01:52:22 pm »
Have you checked the actual timing in the circuit for the read and write? Signal quality on the I2C interface?

These memories use a 3-wire SPI interface.  The signals look clean and well within specs.  As per write timing I check the DO pin as indicated in the manual.  After a write or erase the DO pin is held low until the operation completes.  According to the manual it takes 3 to 10 ms.
Homer: Kids, there's three ways to do things; the right way, the wrong way and the Max Power way!
Bart: Isn't that the wrong way?
Homer: Yeah, but faster!
 

Offline jesuscfTopic starter

  • Frequent Contributor
  • **
  • Posts: 499
  • Country: ca
Re: Brand new FT93C66A EEPROM fail
« Reply #7 on: August 31, 2017, 02:09:16 pm »
As for brands, Automotive love microchip and atmel eeproms, (now the same company),

As for your actual errors, Its almost implying an error in your code, or your expectation of how the device expects data,

Most of these eeproms can operate in either an 8 bit or 16 bit addressing mode. This doesnt seem to be the case but i would check it,

Most of your weirdness is that for lines 0-1, 2-3, and 8-9, A-B your getting a half line error, are you 100% certain you dont have an error on certain values in how your addressing the memory,

I went for the cheapest memory.  In retrospective I should have ordered Microchip.  Now I am tempted to order other manufacturer memories and perform the same tests.

These memories have a "WRITE ALL" instruction: "The Write All (WRAL) instruction programs all memory locations with the data patterns specified in the instruction."  The failing locations are exposed both with the WRAL command or the individual location "WRITE" instruction.  I think that discards an addressing problem.

The EEPROM has a ORG pin used to select 8-bit or 16-bit addressing.  I have that pin connected to GND for 8-bit interfacing.  I also checked the READ instruction in a failing location with the oscilloscope.  The data my test program reports is effectively what is coming out of the EEPROM.

Then there is the temperature test.  If I cool down a failing memory, the errors go away.
Homer: Kids, there's three ways to do things; the right way, the wrong way and the Max Power way!
Bart: Isn't that the wrong way?
Homer: Yeah, but faster!
 

Offline dmills

  • Super Contributor
  • ***
  • Posts: 2093
  • Country: gb
Re: Brand new FT93C66A EEPROM fail
« Reply #8 on: August 31, 2017, 05:01:45 pm »
One silly thing to check which has had me chasing my tail before now is to make good and damn sure that the SPI clock and read edge settings are correct, there are 4 combinations and sometimes you get a part that sort of works with the one that has clock and data updating on the wrong edge, but it is as fragile as anything you will ever see.

Fixing the settings in the SPI master to resolve this makes the thing totally reliable.

A careful look at the datasheets and a scope trace will reveal this at least in one direction, but the read edge is usually a case of read the processor manual carefully and curse a lot (It is often given in terms of 'active to idle or vice versa' rather then high and low, so the edge also depends on the clock polarity).
 

Offline Niklas

  • Frequent Contributor
  • **
  • Posts: 395
  • Country: se
Re: Brand new FT93C66A EEPROM fail
« Reply #9 on: August 31, 2017, 07:40:12 pm »
Have you checked the actual timing in the circuit for the read and write? Signal quality on the I2C interface?

These memories use a 3-wire SPI interface.
Yes, that is true, my bad. I checked the datasheet on the phone on the way to the work earlier today and I saw SCL mentioned.
 

Offline Buriedcode

  • Super Contributor
  • ***
  • Posts: 1611
  • Country: gb
Re: Brand new FT93C66A EEPROM fail
« Reply #10 on: September 01, 2017, 03:57:07 pm »
It isn't I2C, or SPI, it is microwire.  I had to type that because I didn't see it mentioned in any of the posts, so whilst it may be obvious to everyone.. occasionally people just 'assume' and perpetuate problems.

From memory, mode 0,0 (or just 'mode 0') SPI can be used for microwire, but of course requires manual CS toggling for the start condition. It runs at a slower clock than most 25xx SPI series EEPROMs can use.  Poor documentation, but nice scope traces of what should happen:
http://ww1.microchip.com/downloads/en/AppNotes/00975A.pdf

Of course, it could well be dodgy memory - I'm not suggesting that its impossible, just that software/hardware bugs/glitches are generally more likely than bad silicon.

 

Offline XFDDesign

  • Frequent Contributor
  • **
  • Posts: 442
  • Country: us
Re: Brand new FT93C66A EEPROM fail
« Reply #11 on: September 01, 2017, 05:23:40 pm »
I would contact Digikey and reject the material as not within compliance of your company's quality policy. Ask for credit, and buy the Microchip parts.
 

Offline jesuscfTopic starter

  • Frequent Contributor
  • **
  • Posts: 499
  • Country: ca
Re: Brand new FT93C66A EEPROM fail
« Reply #12 on: September 01, 2017, 09:59:36 pm »
Of course, it could well be dodgy memory - I'm not suggesting that its impossible, just that software/hardware bugs/glitches are generally more likely than bad silicon.

Attached is a logic analyzer capture of a failing location.  The top of the figure shows the signals when writing 0x10 to location 0x1b9.  The bottom shows the signals when reading from the just written location 0x1b9 showing 0x00 as the returned value.
Homer: Kids, there's three ways to do things; the right way, the wrong way and the Max Power way!
Bart: Isn't that the wrong way?
Homer: Yeah, but faster!
 

Offline hcglitte

  • Regular Contributor
  • *
  • Posts: 137
Re: Brand new FT93C66A EEPROM fail
« Reply #13 on: February 08, 2018, 05:40:25 pm »
Hi,

Did you come to a conclusion regarding the memory chip?
 

Offline jesuscfTopic starter

  • Frequent Contributor
  • **
  • Posts: 499
  • Country: ca
Re: Brand new FT93C66A EEPROM fail
« Reply #14 on: February 08, 2018, 06:59:44 pm »
Hi,

Did you come to a conclusion regarding the memory chip?

Yes: dodgy parts.  The only way I can make a failing memory location in a FT93C66A (manufactured by Fremont Micro Devices) work is by cooling the IC using an upside down electronics duster.  Also, the problem seems to happen when reading from the memory.  For instance, if the memory is cooled down,  and a write operation is performed to a failing location it writes and reads correctly.  Once the memory warms up, a read from the failing location returns an incorrect value.  Similarly, if the memory is not cooled down, writing and reading from a failing location results in an incorrect returned value.  Then, if the memory is cooled down, reading from the just written failing location returns the correct value.

I also ordered 100 93C66C-I/P EEPROMS from Digi-Key manufactured by Microchip.  I tested all the 100 memories.  All of them passed my tests.

Homer: Kids, there's three ways to do things; the right way, the wrong way and the Max Power way!
Bart: Isn't that the wrong way?
Homer: Yeah, but faster!
 

Offline hcglitte

  • Regular Contributor
  • *
  • Posts: 137
Re: Brand new FT93C66A EEPROM fail
« Reply #15 on: February 08, 2018, 07:18:59 pm »
Ok, thank you for the update! I was thinking of moving from Microchip to Fremont, but I will certainly not - even though it's a FLASH device I am using...
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf