Você está na página 1de 7

EEPROM

From Wikipedia, the free encyclopedia


Computer memory types

Volatile

  

DRAM (e.g., DDR SDRAM) SRAM In development

   

T-RAM Z-RAM TTRAM

Historical

  

Delay line memory Selectron tube Williams tube Non-volatile

ROM

    

PROM EPROM EEPROM

Flash memory Early stage

   

FeRAM MRAM PRAM

In development

   

CBRAM SONOS RRAM Racetrack memory

  

NRAM Millipede

Historical

    

Drum memory Magnetic core memory Plated wire memory Bubble memory Twistor memory

EEPROM (also written E2PROM and pronounced "e-e-prom," "double-e prom," "e-squared," or simply "e-prom") stands for Electrically ErasableProgrammable Read-Only Memory and is a type of non-volatile memory used in computers and other electronic devices to store small amounts of data that must be saved when power is removed, e.g., calibration tables or device configuration. When larger amounts of static data are to be stored (such as in USB flash drives) a specific type of EEPROM such as flash memory is more economical than traditional EEPROM devices. EEPROMs are realized as arrays of floating-gate transistors. EEPROM is user-modifiable read-only memory (ROM) that can be erased and reprogrammed (written to) repeatedly through the application of higher than normal electrical voltage generated externally or internally in the case of modern EEPROMs. EPROM usually must be removed from the device for erasing and programming, whereas EEPROMs can be programmed and erased in circuit. Originally, EEPROMs were limited to single byte operations which made them slower, but modern EEPROMs allow multi-byte page operations. It also has a limited life - that is, the number of times it could be reprogrammed was limited to tens or hundreds of thousands of times. That limitation has been extended to a million write operations in modern EEPROMs. In an EEPROM that is frequently reprogrammed while the computer is in use, the life of the EEPROM can be an important design consideration. It is for this reason that EEPROMs were used for configuration information, rather than random access memory. [1]
Contents

1 History 2 Functions of EEPROM

2.1 Serial bus devices

o o

2.2 Parallel bus devices 2.3 Other devices

3 Failure modes 4 Related types

4.1 Comparison with EPROM and EEPROM/Flash

5 EEPROM manufacturers 6 See also 7 References

[edit]History

In 1978, George Perlegos at Intel developed the Intel 2816, which was built on earlier EPROM technology, but used a thin gate oxide layer so that the chip could erase its own bits without requiring a UV source. Perlegos and others later left Intel to form Seeq Technology, which used on-device charge pumpsto supply the high voltages necessary for programming EEPROMs.[1]
[edit]Functions

of EEPROM

There are different types of electrical interfaces to EEPROM devices. Main categories of these interface types are:
 

Serial bus Parallel bus

How the device is operated depends on the electrical interface.


[edit]Serial

bus devices

Most common serial interface types are SPI, IC, Microwire, UNI/O, and 1-Wire. These interfaces require between 1 and 4 control signals for operation, resulting in a memory device in an 8 pin (or less) package. The serial EEPROM (or SEEPROM) typically operates in three phases: OP-Code Phase, Address Phase and Data Phase. The OP-Code is usually the first 8-bits input to the serial input pin of the EEPROM device (or with most IC devices, is implicit); followed by 8 to 24 bits of addressing depending on the depth of the device, then data to be read or written. Each EEPROM device typically has its own set of OP-Code instructions to map to different functions. Some of the common operations on SPI EEPROM devices are:

     

Write Enable (WREN) Write Disable (WRDI) Read Status Register (RDSR) Write Status Register (WRSR) Read Data (READ) Write Data (WRITE)

Other operations supported by some EEPROM devices are:


   [edit]Parallel

Program Sector Erase Chip Erase commands

bus devices

Parallel EEPROM devices typically have an 8-bit data bus and an address bus wide enough to cover the complete memory. Most devices have chip select and write protect pins. Somemicrocontrollers also have integrated parallel EEPROM. Operation of a parallel EEPROM is simple and fast when compared to serial EEPROM, but these devices are larger due to the higher pin count (28 pins or more) and have been decreasing in popularity in favor of serial EEPROM or Flash.
[edit]Other

devices

EEPROM memory is used to enable features in other types of products that are not strictly memory products. Products such as real-time clocks, digital potentiometers, digitaltemperature sensors, among others, may have small amounts of EEPROM to store calibration information or other data that needs to be available in the event of power loss.
[edit]Failure

modes

There are two limitations of stored information; endurance, and data retention. During rewrites, the gate oxide in the floating-gate transistors gradually accumulates trapped electrons. The electric field of the trapped electrons adds to the electrons in the floating gate, lowering the window between threshold voltages for zeros vs ones. After sufficient number of rewrite cycles, the difference becomes too small to be recognizable, the cell is stuck in programmed state, and endurance failure occurs. The manufacturers usually specify the maximum number of rewrites being 106 or more.[2]

During storage, the electrons injected into the floating gate may drift through the insulator, especially at increased temperature, and cause charge loss, reverting the cell into erased state. The manufacturers usually guarantee data retention of 10 years or more.[3]
[edit]Related

types

Flash memory is a later form of EEPROM. In the industry, there is a convention to reserve the term EEPROM to byte-wise erasable memories compared to block-wise erasable flash memories. EEPROM takes more die area than flash memory for the same capacity because each cell usually needs both a read, write and erase transistor, while in flash memory the erase circuits are shared by large blocks of cells (often 5128). Newer non-volatile memory technologies such as FeRAM and MRAM are slowly replacing EEPROMs in some applications, but are expected to remain a small fraction of the EEPROM market for the foreseeable future.
[edit]Comparison

with EPROM and EEPROM/Flash

The difference between EPROM and EEPROM lies in the way that the memory programs and erases. EEPROM can be programmed and erased electrically using field electron emission(more commonly known in the industry as "FowlerNordheim tunneling"). EPROMs can't be erased electrically, and are programmed via hot carrier injection onto the floating gate. Erase is via an ultraviolet light source, although in practice many EPROMs are encapsulated in plastic that is opaque to UV light, and are "one-time programmable". Most NOR Flash memory is a hybrid style programming is through hot carrier injection and

erase is through FowlerNordheim tunneling.

Programming the eeprom chip ( by hand)


An EEPROM (Electronically Eraseable and Programmable ROM) is a ROM chip which can be erased and re-programmed a virtually unlimited number of times, without expensive or time-consuming erasing processes (as with a regular EPROM). In fact, an EEPROM can have single bytes within it changed on-the-fly, while a plain EPROM needs to be completely blanked out before it can be re-programmed. This makes EEPROM almost like RAM, and indeed, some people use EEPROMs in this way, although it is not really appropriate as a computer's basic RAM, simply because EEPROM is much slower than almost any type of RAM in use today; Using an EEPROM chip as your computer's RAM will require it to be unusually slow.

But an EEPROM works great for when you need bootstrap code for a small, homemade computer project. The EEPROM is actually surprisingly simple to program; In fact, I find EEPROMs among the easiest to understand chips of all that I use, barring simple one-function chips like the 7400 series. Thus far, I have worked mainly with the 2865 EEPROM, which I have found to do a pretty good job of almost everything I need it to do; My only complaint has been that sometimes it seems to have a bit of trouble storing a new value, as often the value gets corrupted when I try to write it into the chip. This may have something to do with my crude programming techniques: EEPROMs aren't really made to be programmed by hand, they're meant to be programmed in a dedicated chip burner, which is a multi-hundred-dollar device which many people can't justify for a simple hobby. And so, this page intends to tell you how to program your EEPROM by hand. There are three special "Enable" pins on the EEPROM: CE (Chip Enable), OE (Output Enable), and WE (Write Enable). CE simply activates the chip (if CE is not enabled, the EEPROM will do nothing). OE makes the chip output a byte, and WE makes the chip program a byte into itself. When you are programming an EEPROM, you want to keep CE enabled the whole time, so tie CE low. (Because all three of these Enable signals are active-low; At least, they are on the 2865.) You also want to keep OE disabled the entire time, because you are not having the EEPROM output any bytes; Rather, you are programming bytes into it, so leave OE disabled: If it is active-low, tie it high to disable it. That leaves WE; Leave WE disabled for now. The next thing you need to do is turn your EEPROM on. Connect its power pins to a power supply. (For the 2865 chip, that would be pins 14 and 28.) The biggest step is to actually program the byte. First, configure the EEPROM's address and data buses to indicate the byte you would like to store, and the address you want to store it in. For example, to store the value 80 in the very first byte of the EEPROM (which is address 0), you'd tie all the address bus pins low (which means logical zero), so the address is set to 0. Then you'd set the data bus pins to the binary representation of 80, which is 01010000. Remember that bit numbers are read from right to left, not from left to right, so in this example, the first four data bus pins should be 0. (The second data bus pin should NOT be 1; Only the fifth and seventh will be 1.) Once you have set up the address and data buses, the only thing left to do is cycle the WE pin to actually write the byte. Send WE low for a moment (assuming it is activelow), then put it high again. If the EEPROM is working properly, you have now stored your byte, and you can later examine it with OE. On the 2865 (and many other EEPROMs), there is a READY/BUSY pin, which is an output from the EEPROM which indicates when the chip has finished writing to itself and is ready to accept

more input. If you are programming the chip using an automated machine, the speed of the EEPROM may be a factor, but when programming it by hand, this is not likely to matter much, since the EEPROM stores new values into itself in quite a bit less than one second, so I always ignore the READY/BUSY pin.

Você também pode gostar