Carriers in semiconductors move through two mechanisms: drift and diffusion. Drift is the movement of charge carriers due to an applied electric field, while diffusion is the flow of carriers from high density to low density regions. Together, drift and diffusion determine the current-voltage characteristics of semiconductor devices. Temperature gradients can also cause carrier movement but have less impact as device sizes shrink. The total current density in a semiconductor is the sum of the drift and diffusion current densities.