A real question about EEPROM vs. Flash

Jul 21, 2005 5 Replies

So, I'm bidding this ultra-sweet project, and I'm studying the data sheet of the PIC18F6520/8520/6620/8620/6720/8720, and it says, Flash: 100,000 cycles, EEPROM: 1,000,000 cycles. What are the other differences? Is flash cheaper than EEPROM? I have noticed that it tends to get used for program memory, and EEPROM for data, but are there any other differences, like, maybe program/cycle time, erase modes, that sort of thing?



Thanks, Rich


Betcha you can only do page or block erase for the Flash, but you should be able to erase and write to single bytes in the EEPROM.

If I wasn't lazy, I'd look that up on the data sheet to be sure.

-a

yes, it is on the data sheets

A lot of differencies, starting from the physical effect. Flash is based on the effect of hot electrons (if I remember correctly) and by nature it is a descructive effect, that is not the case with the EEPROM. Flash basic cell is much smaller that the EEPROM one, however the periphery is much much bigger, that's why the chips are cost effective for big amount of memory. With EEPROM should be the opposite. The other big difference is the erase/write time - much shorter(faster) for the flash, but always on blocks - i.e. a single cell can't be erased/programed. This is not a limitation for the EEPROM, but the write/erase time is is much slower.

H> So, I'm bidding this ultra-sweet project, and I'm studying the

Yes, considerably!

:-) Thanks! Rich

Many of the low end PICs can't write their own flash. Thus, EEPROM is the only non-volatile storage for them.

Flash usually starts out as 1s, and can be set to 0s. Erased flash thus contains FF. Erasing can usually only be done on a page basis, and takes a long time.

Regards, Bob Monsen If a little knowledge is dangerous, where is the man who has so much as to be out of danger? Thomas Henry Huxley, 1877

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required