The similarities and differences between Flash and EEPROM on microcontrollers

Publisher:丹青妙手Latest update time:2017-11-18 Source: eefocusKeywords:MCU Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

    The full name of FLASH is FLASHEEPROM, but the operation method is different from that of conventional EEPROM.

    The biggest difference between FLASH and EEPROM is that FLASH operates by sector, while EEPROM operates by byte. The two have different addressing methods and different storage unit structures. The circuit structure of FLASH is simpler, and the same capacity occupies a smaller chip area, so the cost is naturally lower than that of EEPROM, so it is suitable for use as a program memory, while EEPROM is more used as a non-volatile data memory. Of course, it is also possible to use FLASH as a data memory, but the operation is much more troublesome than EEPROM, so a more "humanized" MCU design will integrate two non-volatile memories, FLASH and EEPROM, while cheap designs often only have FLASH. Early electrically erasable MCUs are all EEPRM structures, which are now basically discontinued.

    As for what the "chief engineer" said, if Zhang Yidao did not remember it wrong, then even the basic concepts were wrong. It can only be said that the "chief engineer" not only did not understand chip design at all, but also did not grasp the basic structure of the MCU system. In the internal circuit of the chip, FLASH and EEPROM not only have different circuits, but also different address spaces, and naturally different operation methods and instructions, regardless of whether it is a von Neumann structure or a Harvard structure. Technically, both program memory and non-volatile data memory can use only FLASH structure or EEPROM structure, and even "flexible" technical means can be used to simulate the "data storage area" in the program storage area, but even so, the two are still different in concept, which is a matter of basic common sense.

    Without a rigorous work spirit, it is impossible to become a true technical expert.

    EEPROM: Electrically Erasable Programmable Read-Only Memory, the operating characteristics of Flash fully meet the definition of EEPROM, and it is undoubtedly EEPROM. When the first Flash was launched, its data sheet also clearly indicated that it was EEPROM, and most of the current Flash manuals also indicate this, and the relationship between the two is "white horse" and "horse". As for why the industry needs to distinguish between the two, the main reason is that the operation method of Flash EEPROM is completely different from that of traditional EEPROM. The secondary reason is for the sake of language conciseness. In informal documents and spoken language, Flash EEPROM is simply referred to as Flash. What needs to be emphasized here is the "white" attribute of the white horse rather than its "horse" attribute to distinguish Flash from traditional EEPROM.

    The characteristics of Flash are simple structure. With the same process and the same wafer area, higher capacity can be obtained and the operation speed under large data volume is faster, but the disadvantage is that the operation process is cumbersome, especially when small data volumes are repeatedly rewritten. Therefore, in MCU, the Flash structure is suitable for program memory that does not need to be rewritten frequently.

    In many applications, some small amounts of data need to be rewritten frequently and need to be non-volatile when power is off. The traditional structure of EEPROM is very suitable for this. Therefore, many MCUs are designed with two EEPROM structures, FLASH and traditional, in order to achieve a balance between cost and function, which greatly facilitates users. With the popularity of ISP and IAP, especially in MCU systems where the program storage address space and data storage address space overlap, more and more MCU manufacturers now use program memory that supports IAP to simulate the data memory corresponding to EEPROM. This is a workaround to achieve non-volatile data memory at a low cost. In order to achieve "equivalence" with the dual EEPROM process in commercial publicity, many manufacturers who use Flash program memory to "simulate" (note that it is not a true simulation in technical concept) EEPROM data memory have claimed that their products have EEPROM. Strictly speaking, this is very imprecise, but businessmen have their own goals and methods. Using Flash to "simulate" EEPROM can obtain greater commercial benefits, so in fact, they are the initiators of the confusion of technical concepts.

    From a cost perspective, it is cost-effective to use Flash to "simulate" EEPROM, otherwise no one will do it. So what is the matter with the "chief engineer" and a netizen above who said that EEPROM is used to simulate Flash? This may be on some MCUs with continuous program storage space and data storage space. In this type of MCU, especially low-end MCUs with small storage capacity, EEPROM is still used as non-volatile memory, which is lower in cost than the design using Flash and traditional EEPROM dual process, but this phenomenon is limited to the premise of small capacity. Due to the popularity of Flash process, many businessmen and less rigorous technicians now call program memory Flash. For those MCUs that only use traditional EEPROM process, they do not understand it very well, so they mistakenly call EEPROM program memory "simulated Flash". The fundamental reason is that they do not understand that Flash is just a memory structure rather than the purpose of memory. The wrong premise naturally leads to wrong conclusions. Commercially speaking, using EEPROM to simulate Flash is a stupid act that no one will really do. This violates the principle of pursuing maximum benefits in business and is not technically feasible. For technicians, especially "chief engineers" in the IC industry, if they say so again, it can only mean that he or she either does not understand the relevant technical details at all or is very imprecise, which does not meet the identity of "chief engineers". The essential problem is that Flash is a type of memory rather than the program memory in MCU. Even if the program memory of MCU uses Flash, its inverse proposition does not hold.

    I wrote this article to clarify the technical concepts, and I also don't want to mislead people with wrong statements. Technology also requires a rigorous scientific spirit.

    The 28 series is the earliest EEPROM, and the 28F is the earliest Flash. Even the word Flash was an "advertising name" given by Intel in the 1980s to promote its 28F series. It means "fast", nothing more. The capacity of Flash at that time was not larger than that of traditional EEPROM, but the starting point of capacity was slightly higher. As for whether there is the word EEPROM in the current manual, it is not important. If you have to "compare", see if there is a "electrically erasable" memory in the content. At least I opened the SST Flash manual and it was clearly written, but these are basically meaningless fur, a typical white horse is not a horse theory.

    As for the AVR address continuity problem, it was a mistake on my part. It should refer to the 68HC series. But even so, even if I have never used any MCU including AVR, it has nothing to do with the nature of Flash.

Keywords:MCU Reference address:The similarities and differences between Flash and EEPROM on microcontrollers

Previous article:Summary of methods for implementing single chip microcomputer delay
Next article:Advice for MCU beginners

Latest Microcontroller Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号