The Non-Volatile Electrically Programmable Read-Only Memory (NVM EPROM) memory technology used in the C8051T6xx families of MCUs is a floating gate (FG) memory scheme. The FG acts like a capacitor when programmed (via hot electron injection) to store a charge. This stored charge inverts a MOSFET channel thereby making it low in resistance (logic 0). Once programmed, there is no way to reprogram (or erase the electrons from the floating gate) after the parts are (opaque) packaged (wafers can be UV erased and then reprogrammed). Thus, making it a true one time programmable (OTP) device.
Programming the OTP EPROM:
From a logic view point, the unprogrammed EPROM is all logic 1s, and bits can be programmed to make them logic 0s. Programming can be done all at once, or in multiple instances for different sections if desired (once to program code, and another time to program some calibration parameters for example). The only restriction to programming is the the cumulative duration of high-voltage on the VPP pin. For example, on the C8051T600 devices, this is specified as 10 seconds. See the specific device datasheet's 'Absolute Maximum Ratings' for this specification. Note that 'programming' can only change 1s to 0s. To change 0s to 1s, a 'UV erase' has to be performed, which is impossible without de-capping the package and exposing the die to UV light. After all necessary programming is done, further programming can be prevented by locking access to the MCU. This is achieved using the lock bits described in the device datasheet.