US-12625265-B2 - Addressing redundant memory for lidar pixels
Abstract
Techniques described herein provide memory redundancy. For example, the memory block for each pixel can be partitioned into multiple memory bins, and the number of memory bins can be larger than the number of time bins. Once a faulty memory cell is identified, an address associated with the memory bin that has the faulty memory cell can be skipped by an address generator. As such, the faulty memory cell is not used to store time-of-fight (ToF) information.
Inventors
- Tarek Al Abbas
- David Storrar
- Colin Steele
- Stephen Kwiatkowski
Assignees
- Ouster, Inc.
Dates
- Publication Date
- 20260512
- Application Date
- 20230105
Claims (20)
- 1 . A light ranging system comprising: a light source configured to transmit pulse trains over a plurality of time intervals as part of an optical measurement, wherein each of the pulse trains includes one or more pulses from the light source and corresponds to a different time interval; a photosensor comprising one or more photodetectors configured to detect photons of the pulse trains to generate a plurality of signals over the plurality of time intervals for each of the one or more photodetectors, wherein a signal from a photodetector indicates whether a photon was detected during a time bin of a time interval; an accumulation circuit configured to receive, for each of a plurality of time bins in each of the plurality of time intervals, a set of signals from the one or more photodetectors and to aggregate a number of positive signals in the set of signals that indicate a detection of a photon, thereby generating a total signal count for the time bin for each time interval; a memory block corresponding to the photosensor and configured to store the total signal count for each of the plurality of time bins, wherein the accumulation circuit updates the total signal counts for the plurality of time bins for each time interval, wherein the memory block is partitioned into a plurality of memory bins, each memory bin storing the total signal count for one of the plurality of time bins, and wherein the number of memory bins is larger than the number of time bins; and an address generator configured to skip an address associated with a memory bin having a faulty memory cell.
- 2 . The light ranging system of claim 1 , wherein the one or more photodetectors are one or more single photon avalanche diodes (SPADs).
- 3 . The light ranging system of claim 1 , wherein the memory block is a static random-access memory (SRAM) block.
- 4 . The light ranging system of claim 1 , wherein the address generator skips the address associated with the memory bin having the faulty memory cell using a shift register.
- 5 . The light ranging system of claim 4 , wherein the shift register comprises a plurality of flip flops and a plurality of corresponding multiplexers, and wherein each flip flop is capable of being bypassed by its corresponding multiplexer.
- 6 . The light ranging system of claim 1 , wherein the address generator skips the address associated with the memory bin having the faulty memory cell using a counter.
- 7 . The light ranging system of claim 6 , wherein the address generator comprises: the counter, wherein the counter is configured to generate a value starting from a programmable start position and increment by one in accordance with a clock signal until reaching a programmable stop position; and a one-hot decoder configured to convert the value of the counter to an output address.
- 8 . The light ranging system of claim 7 , wherein the programmable start position corresponds to a succeeding address of the address associated with the memory bin having the faulty memory cell, and wherein the programmable stop position corresponds to a preceding address of the address associated with the memory bin having the faulty memory cell.
- 9 . The light ranging system of claim 1 , wherein the memory block comprises a plurality of parallel memory banks.
- 10 . The light ranging system of claim 1 , wherein the memory block comprises a single memory bank.
- 11 . A method of operating a light ranging system comprising: transmitting, by a light source, pulse trains over a plurality of time intervals as part of an optical measurement, wherein each of the pulse trains includes one or more pulses from the light source and corresponds to a different time interval; detecting, by a photosensor comprising one or more photodetectors, photons of the pulse trains to generate a plurality of signals over the plurality of time intervals for each of the one or more photodetectors, wherein a signal from a photodetector indicates whether a photon was detected during a time bin of a time interval; receiving, by an accumulation circuit, for each of a plurality of time bins in each of the plurality of time intervals, a set of signals from the one or more photodetectors and to aggregate a number of positive signals in the set of signals that indicate a detection of a photon, thereby generating a total signal count for the time bin for each time interval; and storing, by a memory block corresponding to the photosensor, the total signal count for each of the plurality of time bins, wherein the accumulation circuit updates the total signal counts for the plurality of time bins for each time interval, wherein the memory block is partitioned into a plurality of memory bins, each memory bin storing the total signal count for one of the plurality of time bins, and wherein the number of memory bins is larger than the number of time bins, and wherein an address associated with a first memory bin having a faulty memory cell is skipped by an address generator.
- 12 . The method of claim 11 , further comprising: identifying the faulty memory cell in the memory block; and determining the address associated with the faulty memory cell.
- 13 . The method of claim 12 , wherein the identifying the faulty memory cell in the memory block is based on testing the memory block.
- 14 . The method of claim 12 , wherein the determining the address associated with the faulty memory cell comprises: determining the first memory bin associated with the faulty memory cell; and determining the address associated with the faulty memory cell based on the first memory bin.
- 15 . The method of claim 11 , wherein the address associated with the first memory bin is skipped using a shift register in the address generator.
- 16 . The method of claim 15 , wherein the shift register comprises a plurality of flip flops and a plurality of corresponding multiplexers, and each flip flop is capable of being bypassed by its corresponding multiplexer.
- 17 . The method of claim 11 , wherein the address associated with the first memory bin is skipped by setting a multiplexer corresponding to the address associated with the faulty memory cell to bypass a corresponding flip flop in a shift register in the address generator.
- 18 . The method of claim 11 , wherein the address associated with the first memory bin is skipped using a counter in the address generator.
- 19 . The method of claim 11 , wherein the address associated with the first memory bin is skipped by: setting a start position of a counter in the address generator, the start position corresponding to a succeeding address associated with the faulty memory cell; and setting a stop position of the counter in the address generator, the stop position corresponding to a preceding address of the address associated with the faulty memory cell.
- 20 . The method of claim 19 , wherein the succeeding address is an immediately succeeding address, and the preceding address is an immediately preceding address.
Description
CROSS-REFERENCES TO RELATED APPLICATIONS The present application claims priority from and is a non-provisional application of U.S. Provisional Application No. 63/297,622, entitled “Addressing Redundant Memory For Lidar Pixels” filed Jan. 7, 2022, the entire contents of which is herein incorporated by reference for all purposes. BACKGROUND This disclosure relates generally to lidar systems and more specifically to lidar systems resilient to faults. Time of flight (ToF) based imaging is used in a number of applications, including range finding, depth profiling, and 3D imaging, such as light imaging, detection, and ranging (LiDAR, or lidar). Direct time of flight (dToF) measurement includes directly measuring the length of time between emitting radiation from emitter element(s) and sensing the radiation by detector element(s) after reflection from an object or other target. The distance to the target can be determined from the measured length of time. Indirect time of flight measurement includes determining the distance to the target by phase modulating the amplitude of the signals emitted by the emitter element(s) of the lidar system and measuring phases (e.g., with respect to delay or shift) of the echo signals received at the detector element(s) of the lidar system. These phases may be measured with a series of separate measurements or samples. In specific applications, the sensing of the reflected radiation in either direct or indirect time of flight systems may be performed using an array of detectors, such as an array of Single Photon Avalanche Diodes (SPADs). One or more detectors may define a sensor (also referred to as a “pixel”) of the sensor array used to generate a lidar image for the depth (range) to objects for respective pixels. When imaging a scene, ToF sensors (also referred to as photosensors) for lidar applications can include circuits that time-stamp and/or count incident photons as reflected from a target. Data rates can be compressed by histogramming timestamps. For instance, for each pixel, a histogram having bins (also referred to as “time bins”) corresponding to different ranges of photon arrival times can be stored in memory, and photon counts can be accumulated in different time bins of the histogram according to their arrival time. A time bin can correspond to a time range of, e.g., 1 ns, 2 ns, or the like. Some lidar systems may perform in-pixel histogramming of incoming photons using a clock-driven architecture and a limited memory block, which may provide a significant increase in histogramming capacity. However, since memory capacity is limited and typically cannot cover the desired distance range at once, such lidar systems may operate in “strobing” mode. “Strobing” can refer to the generation of detector control signals (also referred to herein as “strobe signals” or “strobes”) to control the timing and/or duration of activation (also referred to herein as “detection windows” or “strobe windows”) of one or more detectors of the lidar system, such that photon detection and histogramming is performed sequentially over a set of different time windows, each corresponding to an individual distance subrange, so as to collectively define the entire distance range. In other words, partial histograms may be acquired for subranges or “time slices” corresponding to different sub-ranges of the distance range and then amalgamated into one full-range histogram. Thousands of time bins (each corresponding to respective photon arrival times) may typically be used to form a histogram sufficient to cover the typical time range of a lidar system (e.g., microseconds) with the typical time-to-digital converter (TDC) resolution (e.g., 50 to 100 picoseconds). When a lidar system is used for transportation, there are safety concerns. Few errors can be tolerated. Thus, it is important to provide systems that are resilient to errors. SUMMARY Some embodiments of the disclosure pertain to a light ranging system and a method of operating the light ranging system. According to some embodiments, a light ranging system is provided. The light ranging system includes: a light source configured to transmit pulse trains over a plurality of time intervals as part of an optical measurement, wherein each of the pulse trains includes one or more pulses from the light source and corresponds to a different time interval; a photosensor comprising one or more photodetectors configured to detect photons of the pulse trains to generate a plurality of signals over the plurality of time intervals for each of the one or more photodetectors, wherein a signal from a photodetector indicates whether a photon was detected during a time bin of a time interval; an accumulation circuit configured to receive, for each of a plurality of time bins in each of the plurality of time intervals, a set of signals from the one or more photodetectors and to aggregate a number of positive signals in the set of signals that indicate a detection o