Pada saat
EPROM (
Erasable Programmable Read Only Memory) pertama kali ditemukan pada tahun 1971, komponen ini disambut dengan antusias oleh para praktisi elektronika di dunia. EPROM merupakan peningkatan dari PROM (hanya dapat ditulisi sekali), sebuah tipe memori bersifat
non-volatile (dapat mempertahankan data di sel memorinya walaupun sirkuit tidak dialiri listrik). Dengan EPROM, chip yang sama dapat dihapus dan ditulisi ulang dengan data baru.
Aplikasi umum yang menggunakan EPROM biasanya untuk menyimpan konfigurasi / data yang spesifik untuk sebuah mesin yang bisa berubah-ubah (contoh: setting mesin pabrik), menyimpan kode program (
firmware) yang dapat diperbaharui /
upgradable, dsb. EPROM juga populer di kalangan pengguna
embedded system generasi awal (masih menggunakan mikro-prosesor yang tidak memiliki memori penyimpan kode terintegrasi).
EPROM tipe awal menggunakan sinar ultraviolet untuk menghapus data sebelum ditulisi ulang menggunakan tegangan yang lebih tinggi dibanding saat pemakaian normal (dibaca). Biasanya saat menyebut EPROM, yang dimaksud adalah EPROM tipe ini (UV-EPROM).
UV-EPROM dibuat dengan melapisi terminal gerbang pada FET (
field-effect transistor) dengan lapisan oksida sebagai penghambat , membuat gerbang ini menjadi "mengambang". Listrik / elektron yang mengalir pada saat pemrograman akan terperangkap pada gerbang ini karena adanya lapisan penghambat di sekelilingnya, dengan demikian data dapat disimpan untuk waktu yang sangat lama (bisa bertahan hingga puluhan tahun). Saat sinar ultraviolet dipancarkan, lapisan oksida ini akan terionisasi sehingga elektron yang terperangkap di gerbang bisa membebaskan diri (data terhapus).
Untuk menulis data digunakan metoda yang dikenal dengan istilah
"hot carier injection". Kata "
hot" di sini tidak berhubungan dengan suhu
chip secara fisik, namun merupakan ungkapan dari elektron yang berenergi kinetik tinggi / berdaya besar. Elektron "panas" ini mampu menembus penghambat (
potential barrier) di sekeliling gerbang. Begitulah kenapa penulisan data ke UV-EPROM menggunakan tegangan yang lebih tinggi (contoh: 12V) dibanding saat chip beroperasi normal / dibaca (biasanya berkisar antara 4,5-5,5 Volt).
UV-EPROM tidaklah praktis karena untuk menghapus diperlukan perangkat khusus yang dapat memancarkan sinar ultra violet. Untuk itu setiap kali ditulisi, chip harus dilepaskan dari soketnya untuk dipasang pada alat penghapus. Selain itu, data tidak dapat ditimpa secara parsial karena proses penghapusan ini mempengaruhi seluruh sel memori yang ada (analoginya, bayangkan Anda harus mem-
format keseluruhan
volume/drive hard-disk Anda hanya untuk menghapus satu
file saja).
Tujuh tahun kemudian, George Perlegos dari perusahaan Intel menemukan cara untuk membuat EPROM dapat menghapus dirinya sendiri tanpa perlu menggunakan sinar ultraviolet dari luar, yaitu dengan membuat lapisan oksida penghambat yang lebih tipis dan memanfaatkan efek induksi dari medan elektrostatis pada elektron yang dikenal dengan nama "
Field Electron Emission", turunan dari persamaan
Fowler-Nordheim-type.
Chip yang dapat menghapus dirinya sendiri secara elektris ini disebut dengan nama EEPROM (
Electrically EPROM), atau kadang ditulis E²PROM.
Pengembangan selanjutnya dari EEPROM adalah dengan digunakannya tipe memori flash, yang memungkinkan pembuatan chip yang berukuran lebih ringkas dan lebih murah untuk diproduksi.
Tipe
flash yang umum digunakan sebagai penyimpan data adalah tipe NAND-flash (dinamakan begitu karena sel-sel transistor dalam
chip ini disusun mirip seperti gerbang logika NAND), dirilis pertama kali oleh Toshiba pada tahun 1989. Akses dilakukan per blok data, masing-masing berisi beberapa halaman (
page). Pembacaan dan penulisan harus dilakukan per halaman, sedangkan penghapusan dilakukan per blok. Akses seperti ini memang tidak sefleksibel EEPROM pada umumnya (yang dapat mengakses data per
machine-word), namun pengaturan ini membuat memori flash dapat diakses secara lebih cepat untuk data sekuensial eperti pada berkas /
file yang memang merupakan rangkaian data berurutan relatif panjang.
Tipe lainnya adalah tipe hibrida yang menggunakan memori tipe NOR-
flash, dimana data bisa diakses di tingkat
machine-word — umumnya satu
byte / 8-bit — secara acak (
random access). Tipe ini adalah kombinasi dari EPROM dan EEPROM, di mana penghapusan menggunakan metoda
Field Electron Emission seperti EEPROM pada umumnya dan penulisan menggunakan metoda
hot-carrier-injection seperti pada UV-EPROM.
Ada dua macam cara akses baca/tulis, yaitu secara
parallel atau secara seri (
serial). Akses parallel tentulah lebih cepat namun memerlukan pin terminal data yang lebih banyak sesuai lebar
machine-word dari chip tersebut. Akses serial lebih lambat karena data harus dimasukkan secara berurutan bit per bit lewat
shift register internal, namun lebih praktis karena hanya memerlukan 2 atau 3 pin saja (data masukan / keluaran +
clock).
Beberapa chip modern seperti
EEPROM seri AT24C dari Atmel mendukung protokol I²C yang mudah digunakan dari mikrokontroler yang memiliki
bus I²C. seperti MCU dari keluarga Atmel AVR (contoh:
ATmega8).