What's the difference between EEPROM and FLASH? (besides amount)

Go To Last Post
13 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I hate to sound like a noob here (nothing against noobs), but I haven't seen anything on this.  "Back in the day", yes, I could see a reason for EEPROM (vs RAM or EPROM).  But now that we have devices that can write to their own FLASH, which as far as *I* know, is indistinguishable from EEPROM, what's it's purpose these days?  Why both?

 

I doesn't retain it's data longer does it?  I have to jump through hoops to program either one, so I don't see a benefit there.  I don't see different voltage requirements (at least on the outside).

 

Are the manufactures just leaving this artifact there for compatibility?   Is it really different internally?   Or does the manufacturer make both types "FLASH" and simply call one block EEPROM?

 

Just curious, one of those "why do fish have nostrils...."  questions. 

 

Thanks,

Just gettin' started, again....

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

from 328pb DS

 

my projects: https://github.com/epccs

Debugging is harder than programming - don’t write code you can’t debug! https://www.avrfreaks.net/forum/help-it-doesnt-work

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, EEPROM can be written as a single byte. 

If EEPROM is a separate storage area, it is harder to accidentally destroy your program, since thee EEPROM commands can only write to the EEPROM

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

Last Edited: Sat. May 30, 2020 - 01:24 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ok, I'll give you that one.  Endurance counts.

Just gettin' started, again....

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Your app can write eeprom, normally an executing application can not write its own flash...

:: Morten

 

(yes, I work for Atmel, yes, I do this in my spare time, now stop sending PMs)

 

The postings on this site are my own and do not represent Microchip’s positions, strategies, or opinions.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

PS - because fish breathe too.  Deplete all the oxygen in the water (e.g. an algae bloom) and all the fish die.  wink  S.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

normally an executing application can not write its own flash

Take a look at PIC processors, it is very common 

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

As I understand it, the way that memory cells are physically constructed is different for FLASH compared to EEPROM. 

 

Again, as I understand it, one technology (e.g. how FLASH is constructed) is relatively hard to write. That "hard to write" feature makes the long-term reliability much higher, which is what you want for program storage. After all, you don't want the program to unexpectedly change because the chip was too hot for too long or experienced some kind of power supply "glitch". 

 

The other technology (EEPROM) is easier to write (but not as easy as RAM). So, it is non-volatile, which means that it persists with power turned off, but not quite as good as FLASH. This makes it ideal for things like calibration constants or program "mode" settings, things that you want to stay around. On the other hand, we have seen, over the years, discussion of techniques needed to insure reliability. These have gradually become less necessary, but the longevity/reliability of EEPROM compared to FLASH is still somewhat poorer (measured in 10s of years).

 

As a result, a mix  of the two technologies in microcontrollers persists. Will it always? Maybe not, but that is still the way it is, right now.

 

Jim

 

Until Black Lives Matter, we do not have "All Lives Matter"!

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Jim may be suggesting the difference between NOR and NAND. NOR being the easier to erase/write in individual cells while NAND can only be erased in pages (but is simpler/cheaper/less silicon area/transistors per cell). Not sure what the AVR technology is, I thought it was all NAND in fact?

 

Atmel actually started life as NAND flash memory specialists but then added micros later I believe.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

...

edit:oops wrong thread.

Last Edited: Sat. May 30, 2020 - 07:18 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

theusch wrote:
the AVR's EEPROM cells are "based on floating-gate transistor technology...":
http://www.gaw.ru/pdf/Atmel/app/... App Note AVR103 and other Google hits.

https://www.avrfreaks.net/forum/...

 

Kartman wrote:
the AVR uses NOR flash

https://www.avrfreaks.net/forum/...

 

Unfortunately the entire flylogic article no longer there.

https://ioactive.com/atmega88-te...

 

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Lee, I was looking for the same image you were, I think.

 

I found it via:

http://blog.sina.com.cn/s/blog_54f48a4b01009bdf.html

... about half-way down is a repost of the IOactive article, including images.

 

Unfortunately, the images fail to load, because they no longer exist, and instead redirect to the same boilerplate IOactive page, but a bit of help from the Wayback Machine saves the day.

 

These are the images related to the ATmega88 teardown:

https://web.archive.org/web/20160714155833/http://flylogic.net/chippics/atmega88/atmega88_lrg.jpg

https://web.archive.org/web/20160714221135/http://flylogic.net/chippics/atmega88/atmega88_m2_lrg.jpg

https://web.archive.org/web/20160714094722/http://flylogic.net/chippics/atmega88/atmega88c_lrg.jpg

https://web.archive.org/web/20160714135836/http://flylogic.net/chippics/atmega88/fuses1_lrg.jpg

https://web.archive.org/web/20160714130237/http://flylogic.net/chippics/atmega88/fuse2_lrg.jpg

 

The relevant annotated image, scaled:

 

 

At 512 bytes, the EEPROM size is 6.25% that of flash at 8,192 bytes.  If the annotation is to be trusted, the EEPROM real-estate is a bit less than 30% that of the flash real-estate, or a about 4.6 times more expensive.

 

So, although EEPROM and flash may be implemented as essentially the same floating gate transistor technology on the die, their difference comes down to cost.  The extra endurance possibly requires more real-estate (larger transistors?), and the fully byte-addressable logic is more complex, also occupying more real-estate.

 

EDIT:  I was having trouble with connectivity to the Wayback Machine when I posted this.  Seems that is ongoing.  Trouble with images not fully loading, or the page failing to load altogether.  Some persistence with F5 did/does eventually lead to happiness.  I do wonder what the issue is, though...

Attachment(s): 

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

Last Edited: Sun. May 31, 2020 - 10:40 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
Atmel actually started life as NAND flash memory specialists but then added micros later I believe.

 

NAND flash was invented by Toshiba. I'm not sure Atmel made NAND flash. They definitely made NOR flash and were one of the first to have the 'special sauce' to put it on chip with micros and to do it cheaply. This made their 8051's very popular which led onto the AVR series. The rest, they say, is history.