Ein Programmable Read-Only Memory (PROM; deutsch programmierbarer Festwertspeicher) ist ein elektronisches Bauteil.
Die ursprünglichen PROMs werden inzwischen nicht mehr verwendet. PROMs sind von EPROMs abgelöst worden, wobei es hier von der Funktionalität des PROMs ähnliche OTP (one-time programmable)-ROM-Bausteine gibt, welche EPROM-Technologie einsetzen, jedoch aus Kostengründen kein UV-Löschfenster besitzen und damit genauso wie PROMs nur einmalig beschreibbar und nicht mehr – bzw. nur durch Röntgenstrahlung – löschbar sind.
Der Unterschied vom PROM zum Masken-ROM liegt darin, dass letzterer bereits bei der Herstellung seinen Speicherinhalt erhält, der nicht mehr veränderbar ist, während der PROM (einmal) programmierbar ist. Im Auslieferungszustand enthalten alle Speicherzellen eines PROM eine logische 1. Speicherzellen, die später ein 0-Signal ausgeben sollen, werden programmiert, indem an den Kreuzungspunkten der gitterartig angeordneten Leitungen Metallverbindungen durch gezieltes Anlegen einer höheren Spannung (Programmierspannung) verdampft werden.
Problematisch an dieser Technik ist neben der einmaligen Programmierbarkeit, die eine spätere Veränderung ausschließt bzw. schwierig macht, der bei der Programmierung im Bauteilgehäuse freigesetzte Metalldampf. Durch den Niederschlag des Metalldampfes kann es zu Fehlern kommen. Auch wenn direkt nach dem Programmiervorgang der Speicherinhalt korrekt ist, kann es später durch physikalische Effekte wie Elektromigration zu Fehlern kommen, wenn Metallpartikel die zuvor programmierten Kreuzungspunkte wieder leitend verbinden.
Technisch gesehen kann ein PROM als eine programmierbare logische Anordnung (PLA) betrachtet werden, bei der ausschließlich das ODER-Array programmierbar ist. Der Adressdecoder stellt dabei die voreingestellte UND-Matrix dar.