As you may or may not know, I work with single photon avalanche diodes (SPADs), sometimes referred to as detectors instead of diodes. I'm going to give a high level overview of SPADs in this post - why we care and how they work.
First, why do we care about single photons? One reason you should care is quantum computing. Most computing today relies on classical electronics, and uses assumptions which are starting to be not so valid. For example, you might know that CPU makers are no longer focusing on speeding up their processors much more, and instead are focusing on placing more and more "cores" onto chips or lowering power consumption. In the past, shrinking the device size has allowed CPU makers to speed up their processors. Everyone agrees that to speed up processors, we're going to need to find other ways of performing computing. Another way is quantum computing, which does not rely on the same set of assumptions as classical computing, but requires different technology. One applicable technology is accurate detection of single photons. My group works with other applications of these detectors, including radiation hardened detectors, distance sensors, and some mysterious stuff I can't talk about.
The distance sensor application is particularly cool. By measuring the flight time from the laser to the environment to the photon detector we can actually get distance accurate to less than a mm in a second. Keep in mind that the speed of light is 3 * 10^8 meters per second, or 300,000,000,000 mm/s, meaning we need to have accuracy in the picoseconds. The current accuracy is in the 100s of picoseconds, but multiple measurement within the allotted second increase accuracy. If you're really interested in the topic you can look for the 2008 ISSCC paper "A 128x128 Single-Photon Imager with on-Chip Column-Level 97ps 10bit Time-to-Digital-Converter Array".
Short aside: a 4 GHz computer has a clock period of 250 picoseconds. Light and information only travels about 7.5 cm in 250 picoseconds! With all the random stuff in your processor slowing down signals, you cannot route signals across the entire processor and have this information communicated in one clock cycle.
Anyways, back to SPADs. I'm going to explain the notion of an avalanche first, and then I'll explain how an avalanche applies to SPADs. Free electrons are just bouncing around in the air. When we apply an electric field, the fields interacts with the electrics and causes them to move faster in the field's direction. If we make the field strong enough, an electron might gain enough speed to strip an electron or two off an atom during a collision. The original electron and the stripped atoms again start to acquire speed, and when these electrons hit another set of atoms we expect to have more than four electrons. Another round and we expect to have more than eight electrons (see footnote 1 for details). This process is exponential, so in a short amount of time we'll expect to have millions of electrons that are moving very fast. When an event causes more of the same type of event to occur, this is known as positive feedback.
The basic idea of a SPAD couples the avalanche's fast positive feedback system with a slow negative feedback system to quench the avalanche. The key component to an avalanche diode is, surprise, the electrical diode. I don't want to go to much into how a diode works, but the important point is that putting a large, negative voltage across most electrical diodes (not a standard operating condition) causes a very strong electrical field to build up in part of the diode. If the voltage increases enough, we can get avalanches. When a photon interacts with an atom in the diode, the photon can strip free an electron. Thus a single photon creates a single electron, which can cause an avalanche, which would start to move a lot of current. We currently have about a 30% probability that a photon causes an avalanche (see footnote 1).
I can hear a few people protest, "But wait! There is ambient thermal energy which can also create electrons - don't these electrons cause avalanches?" Avalanches occur in the absence of light. Aside from thermal electrons, tunneling electrons also cause photon-less avalanches. These rate of these non-photon avalanches is the dark count rate (DCR) of an avalanche diode. The DCR obscures the signal, and we usually want to keep the DCR as low as possible. (see footnote 2)
Now that we have a lot of electrons moving (and electrical current flowing), how do we quench the avalanche? And what about detection? Placing a component called a resistor in series with the diode causes the current to flow through the resistor, raising the voltage across the resistor, lowering the voltage / electric field across the diode, and quenching the avalanche. We can observe the voltage at the resistor for spikes to detect avalanches. This is the slower negative feedback system I discussed.
There are lots of details I've omitted, but I hope you found my explanation useful. If you have questions, please leave them in the comments - I'll make sure I answer them.
Footnote 1: The interactions of the electrons with the atoms are random, so sometimes an electron only picks up a little speed before it hits an atom, sometime an electron picks up a lot of speed. Thus we can only talk about avalanches in the expected sense, saying "we expect to see X".
Footnote 2: Some people actually like a high DCR. It turns out truly random information is difficult to create. Dark avalanches, to the best of our knowledge, are truly random event (based on quantum interactions). Some people are working to create "random information generators" based on these detectors.