Polyfuse (PROM)
A polyfuse is a one-time-programmable memory component used in semiconductor circuits for storing unique data like chip identification numbers or memory repair data, but more usually small to medium volume production of read only memory devices or microcontroller chips.  They were also used as to permit programming of Programmable Array Logic.  The use of fuses allowed the device to be programmed electrically some time after it was manufactured and sealed into its packaging.  Earlier fuses had to be blown using a laser at the time memory was manufactured.  Polyfuses were developed to replace the earlier nickel-chromium (ni-chrome) fuses.  Because ni-chrome contains nickel, the ni-chrome fuse, once blown had a tendency to grow back and render the memory unusable.

History
The first polyfuses consisted of a polysilicon line, which was programmed by applying a high (10V-15V) voltage across the device. The resultant current physically alters the device and  increases its electrical resistance. This change in resistance can be detected and registered as a logical zero. An unprogrammed polyfuse would be registered as a logical one. These early devices had severe drawbacks like a high programming voltage and unreliability of the programmed devices.

Modern polyfuses
Modern polyfuses consist of a silicided polysilicon line, which is also programmed by applying a voltage across the device. Again, the resultant current permanently alters the resistance. The silicide layer covering the polysilicon line reduces its resistance (before programming), allowing the use of much lower programming voltages (1.8V–3.3V). Polyfuses have been shown to reliably store programmed data and can be programmed at high speed. Programming speeds of 100ns have been reported.

See also 

 Programmable read-only memory

Resistive components
Non-volatile memory
Computer memory