Tunnelling is a source of current leakage in very-large-scale integration (VLSI) electronics and results in a substantial power drain and heating effects that plague such devices. It is considered the lower limit on how microelectronic device elements can be made. Tunnelling is a fundamental technique used to program the floating gates of flash memory.