# Patent

## Title
Method using a switch and memory to count events

## Abstract

A pulse data recorder system and method are provided. Upon the arrival or occurrence of an event or signal, the state of a digital switch is set. Upon receiving a pulse from a readout clock, the state of the switch is stored in a buffer memory, and the state of the switch is reset. As the readout clock is run, a time history of the state of the switch is obtained. The pulse data recorder can feature a plurality of unit cells, for use in imaging or other multiple pixel applications.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 12/357,171, filed Jan. 21, 2009, which claims the benefit of U.S. Provisional Patent Application Ser. No. 61/021,842, filed Jan. 17, 2008, the entire disclosures of which are hereby incorporated herein by reference.


FIELD
The disclosed invention is directed to a pulse data recorder. More particularly, the state of a switch is set in response to the occurrence of an event, and that state is recorded in a first-in first-out buffer at a number of time intervals within some period of time.
BACKGROUND
Devices for photon counting have been proposed and demonstrated for use in connection with various applications. For example, lidar systems, in which light is used to determine the range to and/or characteristics of a target require that photons arriving from the target area be detected, time-stamped, and counted. In general, photon counting devices have included amplifier mechanisms, by which the receipt of a single photon or small number of photons results in the production of a relatively large number of electrons, which can then be passed to processing or detector circuitry. Examples of such amplification devices include avalanche photo diodes (APDs), Geiger-mode APDs, dynodes, and micro channel plates (MCPs) with and without photocathodes. The electrons produced as a result of receiving photons are passed to circuitry to characterize the intensity and/or time of arrival of the photons.
Light detection and ranging (LIDAR) systems have been developed that are capable of remotely measuring winds in connection with weather forecasting and climate studies. In general lidar operates by transmitting light from a laser source to a volume of interest and detecting the time of flight for the backscattered light to determine range to the scattering volume. A Doppler wind lidar additionally measures the Doppler shift experienced by photons scattered back to the instrument due to the motion of molecules and aerosols (e.g. particles and droplets) in the scattering volumes. The speed of the wind is determined from the Line of Sight (LOS) speed of the molecules and aerosols relative to the lidar. However, the range of such systems has been limited, because of the small number of photons that are returned to a detector when ranges are large. As a result, lidar systems are often placed in Low Earth Orbit (LEO) to be relatively close to the surface and therefore travel at a significant speed relative to the surface of the Earth, limiting their ability to economically collect data with the spatial and temporal coverage needed for many environmental and defense applications.
An example of a photon counting system that utilizes an APD, and specifically a Geiger-mode APD, is an imaging ladar (laser detection and ranging) system developed by Lincoln Laboratory. In this system, on the order of 107 electron-hole pairs are produced when a photon is detected. Electrons resulting from the detection event are passed to a latch that causes the output of a counter to be frozen upon detection of a photon. The state of the counter after being frozen encodes the number of clock cycles that have elapsed from the start of counting to the time at which the photon was detected. Accordingly, when used in a lidar application, a time of flight (and thus a range) can be determined. However, because the counter is stopped once a photon is detected, later arriving photons are not counted, and therefore the associated lidar is only useful in connection with the sensing of hard targets. In addition, the system does not provide intensity information on a single flash. Intensity information is only obtained from summing over multiple returns, leading to operating inefficiencies. As another limitation, the Geiger-mode APD requires significant time to quench conduction and recharge bias after a triggering event. In addition, such systems can suffer from high dark noise levels.
Other time-resolved light measurement systems that also utilize APDs provide an analog sample and hold circuit that stores about 5-40 samples. Accordingly, the individual samples are collected over some increment in time, which is dependent on the speed at which a commutator used to distribute returned signals to the elements of the sample and hold circuit is run. As a result, an analog waveform of a return signal can be obtained. The number of samples within the waveform is limited to about 40, because of the size of the analog cells compared to the limited pixel area available for unit cell circuitry in imaging arrays, the need for high bandwidth to achieve high temporal resolution, and the power necessarily dissipated by high bandwidth analog circuits. In addition, such systems are useful only for hard targets, because the noise generated in the high bandwidth analog capture and measurement process must be overcome by the higher return signal power generally available from hard target returns.
Photon counting detector arrays have also been proposed for use in medical imaging applications. According to such systems, detected photons are counted over some period of time. However, no record of the time at which individual counts accumulated within that time period occur is maintained. Accordingly, such systems have application in medical or other imaging applications, but are not capable of providing range information.
SUMMARY
In accordance with embodiments of the present invention, a pulse data recorder that provides an all digital readout circuit and that is capable of high speed operation is provided. In particular, a received signal sets the state of a digital switch. The state of the digital switch is stored in a first-in first-out buffer, such as a one bit wide memory or shift register, at times corresponding to each pulse of a clock, to record a sequence of output states for the digital switch. The resulting time record of the state of the digital switch in the buffer or memory can then be read out and formatted.
In accordance with embodiments of the present invention, the signal that is used to toggle or set the state of the digital switch may comprise an electron pulse generated in response to the receipt of one or more photons arriving at a location or area associated with the digital switch. By providing a plurality of such locations, each associated with a digital switch and memory, an array can be provided. Accordingly, embodiments of the present invention may be used in imaging applications.
The record of the state of the digital switch for each unit cell of a high speed pulse data recorder in accordance with embodiments of the present invention comprises a record of the time of detected photon arrivals. Moreover, this allows intensity determinations to be made from the time difference in arrival between any two photons, in turn allowing ultra high time resolution intensity measurement. Also, embodiments of the present invention preserve the digital nature of the photon signal, as there is no digital to analog or analog to digital conversion involved, or noise inducing high bandwidth analog circuits. In addition to allowing very high frame rates, certain digital noise reduction procedures can be applied in line before signal averaging or summing. Moreover, a strictly digital readout integrated circuit design is enabled that allows maximum use of high speed, low power, dense, digital integrated circuit technologies.
Additional features and advantages of embodiments of the present invention will become more readily apparent from the following detailed description, particularly when taken together with the accompanying drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a high level block diagram of a pulse data recorder in accordance with embodiments of the present invention;
FIG. 2 depicts components of a pulse data recorder in accordance with embodiments of the present invention;
FIG. 3 depicts a pulse data recorder in association with photon detecting elements in accordance with embodiments of the present invention;
FIG. 4 depicts a pixel-patterned metallization layer in accordance with embodiments of the present invention in plan view;
FIG. 5 depicts the pixel patterned metallization layer of FIG. 4 in cross section;
FIG. 6 is a cross section of an exemplary pulse data recorder in accordance with embodiments of the present invention configured to detect the arrival of photons;
FIG. 7 depicts aspects of readout circuitry of a pulse data recorder in accordance with embodiments of the present invention; and
FIG. 8 is a flow chart depicting a method for recording events in accordance with embodiments of the present invention.



DETAILED DESCRIPTION
FIG. 1 presents a high level diagram of a pulse data recorder 100 in accordance with embodiments of the present invention. In general, an incoming signal 104 is received at one or more detection/multiplication elements 108. The incoming signal 104 may comprise any perceptible signal, such as an optical signal comprising one or more photons, an electrical signal comprising one or more electrons or a voltage potential, a movement, or a magnetic or other force. The detection/multiplication elements 108 detect the incoming signal 104, and transform and/or multiply the incoming signal into an electrical signal sufficient to toggle the state of a digital switch. A readout circuit with shift registers or memory 112 generally provides the digital switch or switches that are provided with the transformed and/or amplified signal from the detection/multiplication elements. A first-in first-out buffer, such as a shift register or one bit wide memory, referred to hereafter as buffer memory, is associated with each digital switch. The memory records the state of the associated digital switch at different moments in time. In general, a detection/multiplication element and the digital switch and buffer memory associated with that detection/multiplication element comprise components of a unit cell of the pulse data recorder. An output circuit 116 reads out the information stored in the memory, for output and/or analysis. As will be described in greater detail elsewhere herein, the output circuit 116 may also operate to provide data compression and different views of the data from the buffer memory, including the rate at which detected events occur, the intensity of detected events, and noise cancellation functions.
FIG. 2 depicts components that may be included in a unit cell 200 of a pulse data recorder 100 in accordance with embodiments of the present invention. The detection/multiplication elements 108 generally comprise an electron multiplier 204, a digital level translator 208 and an associated variable bias 212. In operation, the electron multiplier 204 receives an electron 216 emitted from an electron source. Examples of electron sources include, but are not limited to, a photocathode, a radiation target, and an illuminated semi-conductor layer. Examples of an electron multiplier 204 include, but are not limited to, a microchannel plate (MCP), and a Geiger-mode device such as a semiconductor or rarified gas electrical discharge channel. The output from the electron multiplier 204 is provided to the digital level translator 208. More particularly, the electron multiplier 204 provides a signal that is sufficient to cause the digital level translator 208 to produce an output signal. The variable bias supply 212 allows the triggering level for the digital level translator 208 to be adjusted to compensate for variations in the performance of other components in the detection/multiplication elements 108 and lot to lot or intra-chip variations in the switching threshold of the digital switch 220. Moreover, for a pulse data recorder 100 comprising a plurality of unit cells or pixels, the variable bias supply 212 can be individually adjusted for each unit cell or pixel. Accordingly, variations in the digital switching threshold from unit cell to unit cell can be equalized.
The readout circuit with shift registers 112 includes a digital switch 220 having an output state that is set by the output from the digital level translator 208. More particularly, the state of the switch 220 is reset or cleared upon the receipt of a pulse from a clock 228. In the interval between two clock pulses or cycles, the state of the switch 220 is set in response to receiving an output from the digital level translator 208, to indicate the detection of an event (e.g., the arrival of a photon). Once the state of the switch 220 has been set by the detection of at least one event that state is maintained until the next pulse of the clock 228 causes the switch 220 to be reset. While it is advantageous in some applications, such as for the recording events that are asynchronous with the system clock, to store the transient state of the switch until recorded and reset by a subsequent clock pulse, this is not a necessary condition. For example, if the duration of typical input pulses is longer than the clock period, then a latch is unnecessary and the input state can be directly recorded to memory. In the case where the pulse is shorter than a clock period, it may be acceptable to miss some pulses in order to minimize unit cell circuitry, for example. The state of the digital switch 220 is stored in a buffer memory or shift register 224, shown as a one bit wide, M-bit deep data buffer, at each pulse output by a clock 228. Accordingly, a record of whether an event has been detected in the interval between subsequent clock pulses is recorded. In accordance with embodiments of the present invention, the sequence of output states of the digital switch 220 may be stored as long as an enable signal 232 is received at the shift register 224.
The output circuit 116 may include a data formatter 236. The data formatter 236 may receive data from all of the unit cells 200 associated with the high speed pulse data recorder 100. An output 240 comprising formatted data from the data formatter may then be provided to another device, which may be external, for storage, analysis, further processing, and/or display. The formatted data may comprise, but is not limited to, the time history of the time of arrival of events, the time between events, or number of events per time period.
FIG. 3 depicts aspects of a pulse data recorder 100 in accordance with further embodiments of the present invention. More particularly, a pulse data recorder 100 suitable for use in connection with the detection of photons is depicted. Such a pulse data recorder 100 generally includes or is associated with an optical system 304 that is operative to direct received photons to the detection/multiplication elements 108 of the pulse data recorder 100. As illustrated, the photons collected by the optical system 304 may be passed through various filters, such as band pass filter layers 308, before impinging on a photocathode layer or plate 312. Additionally or alternatively, the photons collected by the optical system 304 can be subject to other processing before being passed to the photocathode layer 312. As can be appreciated by one of skill in the art, the arrival of photons at the photocathode layer 312 causes electrons to be emitted. An electron emitted by the photocathode layer 312 is accelerated towards a microchannel plate 316 by an electrical potential between the photocathode layer 312 and the microchannel plate 316 that is established by a voltage source 320. The accelerated electron then falls into a hole or pore of the microchannel plate, which causes a large number of additional electrons (e.g., 106) to be emitted from the other end of the pore.
A pixel-patterned metallization or receiver layer 324 having a plurality of plates or pixels 404 (see FIG. 4) is provided on a side of the microchannel plate 316 opposite the photocathode layer 312. A voltage potential between the microchannel plate 316 and the pixels of the pixel patterned metallization layer 324 is established, for example by the voltage source 320, and the electrons emitted by the pore of the microchannel plate 316 are received at one of the pixels of the pixel patterned metallization layer 324. The arrival of the electrons at the pixel 404 of the pixel patterned metallization layer 324 produces a digital signal pulse that is provided to the readout circuit 112. As can be appreciated by one of skill in the art and after consideration of the present disclosure, the area of the photocathode layer 312 within which the photon is received is aligned with the pore of the microchannel plate 316 that receives the electron from the photocathode layer, and the pixel 404 of the pixel-patterned receiver layer 324 at which the electrons from the microchannel plate 316 are received is in turn aligned with the pore of the microchannel plate 316 that emitted the electrons. Accordingly, a pulse data recorder 100 in accordance with embodiments of the present invention can be used in imaging applications or other applications with more than one event receiver or unit cell. As depicted in FIG. 3, components of the detection/multiplication elements 108, such as digital level translators 208 and digital switches 220 can be combined with components of the readout circuit 112, in an integrated circuit 328 element.
As shown in FIG. 3, the detection/multiplication elements 108 and the readout circuit 112 may be encased within a vacuum envelope 332. Some or all components of the output circuit 116 may also be included within the vacuum envelope 332. The vacuum envelope 332 may be established in connection with a substrate 336, such as a ceramic substrate, to which components of the high speed pulse data recorder may be interconnected.
FIG. 4 depicts a pixel patterned metallization layer 324 in accordance with embodiments of the present invention in plan view. As shown, the pixel patterned metallization layer 324 may include a number of plates or pixels 404 set on or in an insulator 408.
FIG. 5 depicts the pixel patterned metallization layer 324 of FIG. 4 in cross section. As shown, the individual pixels 404 may be interconnected to the readout integrated circuit 328 by leads or vias 504.
FIG. 6 is a cross section of a pulse data recorder 100 for use in connection with the detection of photons in accordance with embodiments of the present invention. As shown, the pulse data recorder 100 can incorporate a plurality of microchannel plates 312, and a plurality of readout integrated circuits. In addition, the vacuum envelope 332 can be formed from a glass window 604, ceramic ring 608, metal ring 612, and ceramic substrate 336 to provide a unit that can be integrated into or with other components or systems.
FIG. 7 depicts aspects of readout circuitry 112 and output circuitry 116 of a pulse data recorder 100 in accordance with embodiments of the present invention. As shown, the readout circuit 112 can include a pixel patterned metallization layer 324 that is formed on or is part of a printed circuit board or a layer 704 of an integrated circuit 328 comprising the readout integrated circuit 112. Located behind (or opposite) and interconnected to each element of the pixel patterned metallization layer 324 is a digital switch or latch 220, and interconnected to each switch 220 is a buffer memory 224, such as a one bit wide shift register. The buffer memory 224 associated with each pixel can contain M-bits, and can be formed as part of the integrated circuit 328 comprising the readout circuit 112. Alternatively, the buffer memory 224 can be provided as a separate chip or component. By providing M-bits, each shift register 224 can accommodate M acquisition clock cycles per range gate. For clarity, only one switch 220 and only one buffer memory 224 is included in the figure. However, as noted, at least one switch 220 and at least one buffer memory 224 would be associated with each plate or pixel 404 of the pixel patterned metallization layer 324.
The output circuit 116 may be formed as part of the readout integrated circuit 328, or may be provided as a separate chip or component or set of chips or components. The readout circuit 116 generally includes an acquisition clock 712. The acquisition clock 712 is used to clock the input event states into the memory 224 (when enabled) and reset the latch 220, thus capturing the time history of events, such as the arrival of individual photons backscattered from the atmosphere, to determine the amount of time allowed to elapse between the generation of a propagating illumination pulse (for example as part of an active ladar) and the collection of data by the pulse data recorder 100. In illumination synchronous detection (e.g. lidar), a shot clock 716 provides an enable signal to various internal components of the systems 112 and 116, such as the acquisition clock 712 and the readout clock 228, and may also provide a synchronization signal 718 to external devices, for example, to trigger the generation of a laser illumination pulse. Alternatively, though not shown, the shot clock 716 can be arranged to trigger from an external source such as an instantaneous or delayed pulse from a laser pulse detector, to mark the start of an acquisition cycle. The output of the acquisition clock 712 is provided to the switch 220 and the buffer memory 224. The state of the switch 220, which is set or toggled by the presence of an electrical charge at an associated pixel 404 of the pixel patterned metallization layer 324 is stored at each pulse of the acquisition clock 712. In addition, the state of the switch 220 is reset for each new time interval. The acquisition clock 712 therefore determines the rate at which data within the buffer memory 224 is shifted, and the rate at which the state of the digital switch 220 is sampled and reset. As an example, the digital switch 220 is placed in a low state after being reset, such that the output of the digital switch is 0V. After an event has arrived, the state of the digital switch is set high, so that some non-zero voltage is present at the output of the switch. This non-zero voltage is maintained until the next pulse of the acquisition clock 712, which in this example causes the state of the switch 220 to return to the low state. This arrangement can facilitate power conservation when compared to typical discriminator implementations that employ traditional high bandwidth analog circuitry and comparators. Additionally, by gating the acquisition clock so it is operable only for a period sufficient to acquire the transient return signal, the level translation and input switching circuits can remain in a quiescent state for a substantial time between shot clock 716 acquisition initiations, allowing additional substantial power savings. However, as can be appreciated by one of skill in the art, other arrangements can be used to implement a digital signal at the output of the digital switch 220, and power conservation through gating various components.
Although the memory 224 is shown as a first in first out (FIFO) architecture triggered to store the input switch 220 state for M clock cycles on an enable by the shot clock 716, it can be appreciated by one skilled in the art that the memory 224 can also be arranged as a continuously running ring buffer, allowing recording of input pulse events both before and after shot clock enable signals. In this case, the shot clock acts to halt the acquisition of input events, and trigger the readout sequence to allow retrieval of the pre- and post-shot clock pulse record.
In order to read data out from the buffer memories 224 in embodiments featuring multiple pixels, a shift register selector 724 may be provided. During a read out sequence, the shift register selector 724 receives a signal from a 1/M divider 727 for every M-bits (where M is the depth of the pixel shift register) read from a buffer memory 224, in response to which the shift register selector 724 may select a next buffer memory 224 from which to read data. Accordingly, the shift register selector 724 can perform commutation and can allow binning functions. To implement binning (summing into select time segments), a 1/N divider 728 can be provided and the address counter 732 can provide a pointer to a unique location in the memory 744 (e.g. a RAM) corresponding to each of N time bins for each unit cell.
In this case, the bits of data read from the individual shift registers 224 are summed by a Log 2(M) bit counter 736 and passed through an add to memory block 740 that replaces the selected memory 744 contents with the sum of the current memory 744 cell contents and the counter 736 count. In general, the Log 2(M) bit counter 736 is provided as part of a binning function, in which collected data is summed by being placed into range bins containing M sequential bits of data from shift register 224. One or a select number of frames may be acquired and summed in this fashion in the same memory 744 before data output to reduce transferred data volume. However, as can be appreciated by one of skill in the art after consideration of the present description, the provision of such a counter and the application of range binning is not required. The add to memory 740 function may be included to facilitate the acquisition and summing of binned data before readout, to facilitate very high frame rates, for example as is desirable to support ladar applications with a laser transmitter that is pulsed at kHz to MHz rates. The frame output 748 provides an external interface to access the collected data.
FIG. 8 shows a flow chart of the typical operation of the data recorder system 100 in a high frame rate flash lidar operation. The flow starts at 850 where the system is started in response for example to applied power or a reset operation, and proceeds to 855 where initialization of the components is accomplished. This may include setting all memory and logic to known states, entering programmable values indicating for example, the desired memory 224 bit depth behind pixels 404, the switching threshold voltages for each unit cell, the number of frames to sum in the summing buffer memory 744 before outputting a frame, the range gate depth, the frame rate clock rate or frame trigger source (e.g. internal or external shot clock 716), and any address pointers. Initialization starts two separate processes, a detection process beginning at 860 when an event is detected, e.g. a photon dislodges an electron from a photocathode, and an acquisition process that begins in a conditional wait loop 865 that monitors the shot clock 716 or external enable for a signal indicating the start of acquisition. This allows precise synchronization of the data recorder system with an external source, for example, the emission of an optical pulse from an illumination laser.
Once an event is detected at 860 producing an event signal, the event signal is conditioned in step 870, for example by being subjected to amplification or level translation in the aforementioned manners so that it is capable of triggering the aforementioned latch 220. Where the received event signal comprises a photon or photons, detection and amplification can include receiving the photon or photons at a photosensitive electron source, such as a photocathode, radiation target or illuminated semiconductor layer, and multiplication at an electron multiplier 204, such as a microchannel plate or a semiconductor or rarified gas electrical discharge channel Geiger mode device. As further examples, the detection of the received signal can include the generation of an electrical signal using a piezo-electric device or a mechanical switch to detect movement or the application of a force. As a further example, an event comprising an electrical signal can be amplified. The detected and/or amplified signal is used to set the state of a switch 220 associated with the plate or pixel 404 which the signal was received. If the switch is set at 875, flow in this process sets the latch at 880, and subsequent flow returns to detect a next signal at 860. Meanwhile, the latch remains set awaiting a read and reset operation by the acquisition process.
Once an enable signal is received at 865, flow proceeds to 885 where the acquisition clock is started or enabled, and flow proceeds to acquisition loop 890 that monitors the state of the acquisition clock 712. When a clock pulse is detected, flow proceeds to 895 where the current state of the latch 220 is transferred to the currently selected location in the memory 224. If memory 224 is a shift register, this location is always the first stage of the shift register; if it is a RAM type memory, this is the location currently selected by its associated address pointer. Once the state of the latch 220 is faithfully recorded in memory 224, flow proceeds to 900 where the latch 220 is reset so that it can record another detection event. If detection of an event since the last reset of the latch 220 is indicated, for instance, by a “1” at the output of the latch 220, and no detected event indicated by a “0” at the output of latch 220, then a reset operation is defined as returning the output of the latch to “0” and placing the latch in a state where it can be set to a “1” by a subsequent detection at 860 as previously outlined. Once the latch is reset at 900, flow proceeds to 905 where the current selected location of the memory 224 is compared to the maximum number of locations available or the selected memory depth, which ever is less.
If the last memory location filled is less than the maximum selected memory depth, then flow proceeds to 908 where the memory 224 current location is incremented. In a shift register, this increment is automatically implemented when a clock signal advances each register. If the memory 224 is a RAM, the address pointer to the RAM is incremented to address the next location. Flow then returns to 890 with subsequent operation as previously outlined.
If at 905 the maximum desired memory depth is reached, flow proceeds to 910 where the acquisition clock 712 is disabled, and proceeding to 915, the readout clock 228 is enabled permitting readout and formatting of the data at 920 from the memory 224. Said formatting may include binning, counting of clock cycles between recorded event pulses, integration, or other data formatting or compression schemes. Data read at 920 may next be added to the contents of select aforementioned memory 744 cells to facilitate summing of multiple frames, if needed, for instance, to reduce output data rates. Summing frames is useful where the event rate per frame is very low and the signal giving rise to the events is stationary over several frames, or where the acquisition frame rate is very high but the number of events is small per frame, e.g. in a flash lidar where a high pulse rate, low pulse energy laser is used for illumination.
After summing the current frame data in memory 774, flow proceeds to 930 where the number of frames summed is compared to the desired number of summed frames. If at 930 the desired number exceeds the number of summed frames, flow returns to 865 and the system 100 acquisition waits for the next shot clock 716 pulse or enable signal, with subsequent operation as previously outlined. If at 930 the desired number of summed frames is satisfied, flow proceeds to 935 where the sum buffer is output from the system 100 to an external device, e.g. a data recording system, transmitter, or display. If further formatting or compression of the data is needed, this can be accomplished as part of the data output process. As one skilled in the art can appreciate, operation of the system 100 in accordance with the outlined flow continues in an endless loop. This is a desirable state for an image acquisition system. Removing operational power from the whole or select subsystems, halting at 935 until a frame has been externally read, or otherwise withdrawing enable, or providing additional disable, signals can be implemented as means well known in the art for reducing operational power and tailoring performance to specific applications. As an example within the current state of the art for standard 65 nm silicon CMOS technology, a 14 mm×14 mm chip with 256×256 pixels, having a buffer memory 224 within each pixel of a pulse data recorder 100 for use in connection with an imaging lidar could contain about 6000 bits in order to record events at range intervals of 1.5 cm (100 ps clock period) over a range of 90 m. Be it noted that the time series acquisition may be delayed to commence at any select range after the laser pulse is transmitted. Alternatively, for a range resolution of 1.5 m (1 ns clock period) a 9 km depth of range can be accommodated. Moreover, it can be appreciated that a time history of electron pulse arrivals at the unit cell associated with the pixel or plate 404 at which events are received is stored in the buffer memory 224.
Although various embodiments of a pulse data recorder 100 have been described, it should be appreciated that variations may be implemented, without departing from the basic features of the pulse data recorder 100 disclosed herein. For example, although suitable for use as a high speed pulse data recorder providing range and intensity information as part of a ladar, including an imaging ladar, embodiments of the present invention are not limited to such applications. In particular, the basic features of the disclosed pulse data recorder 100, including a plate or pixel 404 for receiving electrons generated in response to the occurrence of an event, the setting or toggling of a digital switch 220 in response to the receipt of electrons at the plate or pixel 404, and the sampling of the state of the digital switch 220 at intervals corresponding to the pulse or signal from a readout clock 228 can be used to obtain a time record of any sequence of events.
As will be apparent to one of skill in the art after consideration of the present disclosure, a pulse data recorder 100 in accordance with embodiments of the present invention provides a record of a time at which pulse type events are detected. Moreover, the digital nature of the occurrence of a pulse type event is maintained at all stages of the disclosed pulse data recorder 100. Accordingly, very precise intensity and time of arrival information can be obtained, particularly where the pulse data recorder 100 is operated at high clock rates. In addition, because of the all digital design, a comparatively high speed, low power and dense pulse data recorder is provided. Moreover, the pipelined single bit architecture of unit cells of the pulse data recorder 100 disconnects the timing and recording of event arrivals between pixels and within the components of each unit cell, eliminating the complex multi bit synchronization issues that limit acquisition speed in other approaches. In addition, very high frame rates are enabled, making embodiments of the pulse data recorder capable of use as part of high spatial resolution imagers, including push broom imagers.
The foregoing discussion of the invention has been presented for purposes of illustration and description. Further, the description is not intended to limit the invention to the form disclosed herein. Consequently, variations and modifications commensurate with the above teachings, within the skill or knowledge of the relevant art, are within the scope of the present invention. The embodiments described hereinabove are further intended to explain the best mode presently known of practicing the invention and to enable others skilled in the art to utilize the invention in such or in other embodiments and with various modifications required by the particular application or use of the invention. It is intended that the appended claims be construed to include alternative embodiments to the extent permitted by the prior art.

## Claims

1. A method for counting events, comprising:
detecting a first event;
in response to detecting the first event, setting a state of a first switch;
at a first time, storing the state of the first switch at the first time in a first cell of a first memory;
resetting the state of the first switch; and
at a second time, moving the stored state of the first switch at the first time to a second cell of the first memory, and storing the state of the first switch at the second time in the first cell of the first memory, wherein the second time occurs after the first time and after resetting the state of the first switch.

2. The method of claim 1, wherein the first time corresponds to a first clock pulse, and wherein the second time corresponds to a second clock pulse.

3. The method of claim 2, wherein the first memory comprises a 1×M bit shift register.

4. The method of claim 3, further comprising:
detecting a second event, wherein the second event is received after the first clock pulse and before the second clock pulse, and wherein the second event is received after the state of the first switch has been reset;
in response to detecting the second event and prior to the second clock pulse, setting the state of the first switch; and
in response to the second clock pulse, clocking the memory, wherein the state of the first switch at the first time is stored in a second cell of the memory, and wherein the state of the first switch at the second time is stored in the first cell of the memory.

5. The method of claim 4, wherein the first switch is a latch, wherein in the absence of detecting an event after a clock pulse the latch is in a first state, wherein said detecting said first event sets the latch to a second state, and wherein resetting sets the latch to the first state.

6. The method of claim 4, wherein the first event is the arrival of a first photon at a detector, wherein the second event is the arrival of a second photon at the detector, and wherein an elapsed time between said first clock pulse and said second clock pulse provides an intensity of a signal comprising the first and second events.

7. The method of claim 1, wherein the first event is the arrival of a photon at a detector, wherein detecting the first event includes:
receiving at least a first photon at a first element; and
in response to receiving at least a first photon at a first element, generating a plurality of electrons, wherein the state of the first switch is set by the plurality of electrons.

8. The method of claim 1, further comprising:
detecting a second event, wherein the first event is detected in association with a first area of a detector and the second event is detected in association with a second area of the detector;
in response to detecting the second event, setting a state of a second switch;
at the first time, storing the state of the second switch in a first cell of a second memory;
resetting the state of the second switch; and
at the second time, moving the stored state of the second switch at the first time to a second cell of the second memory, and storing the state of the second switch at the second time in the first cell of the second memory, wherein the first memory is a first 1×M bit memory, and wherein the second memory is a second 1×M bit memory.

9. The method of claim 8, wherein the first area of the detector, the first switch, and the first memory comprise a first unit cell of an imaging photon-counting lidar, and wherein the second area of the detector, the second switch, and the second memory comprise a second unit cell of the imaging photon-counting lidar.

10. The method of claim 3, further comprising:
reading out M bits of data from said 1×M bit shift register.