IP Library Granted Patent US 11,568,609
Granted Patent B1
US 11,568,609 · App. 17/315,056 · Granted Jan 31, 2023

Image sensor having on-chip compute circuit

Inventors: Xinqiao Liu (Medina, WA); Barbara De Salvo (Belmont, CA); Hans Reyserhove (San Jose, CA); Ziyun Li (Redmond, WA); Asif Imtiaz Khan (Campbell, CA); Syed Shakib Sarwar (Bellevue, WA)
Assignee: Meta Platforms Technologies, LLC
G06T19/006G02B27/017G02B27/0172G06F3/013G06K9/627G06K9/6256G06K9/6268G06T7/73G06V10/454G06V10/955G06V20/20G06V20/64G06V20/647G06V30/195G02B2027/011G02B2027/014G02B2027/0138G02B2027/0178G06T2207/20084H01L27/14627H01L27/14634H01L27/14636H01L27/14643H01L27/14665H01L27/286H01L27/307H01L31/03845H01L31/035218H04N5/378
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,568,609
App. No.
17/315,056
Granted
Jan 31, 2023
Kind
B1
Abstract

In one example, an apparatus comprises: a first sensor layer, including an array of pixel cells configured to generate pixel data; and one or more semiconductor layers located beneath the first sensor layer with the one or more semiconductor layers being electrically connected to the first sensor layer via interconnects. The one or more semiconductor layers comprises on-chip compute circuits configured to receive the pixel data via the interconnects and process the pixel data, the on-chip compute circuits comprising: a machine learning (ML) model accelerator configured to implement a convolutional neural network (CNN) model to process the pixel data; a first memory to store coefficients of the CNN model and instruction codes; a second memory to store the pixel data of a frame; and a controller configured to execute the codes to control operations of the ML model accelerator, the first memory, and the second memory.

Claims (60)

1. An apparatus comprising:

a first sensor layer, of a plurality of stacked sensor layers, including an array of pixel cells configured to generate a frame of pixel data during an exposure period; and

one or more semiconductor layers of the plurality of stacked sensor layers located beneath the first sensor layer, the one or more semiconductor layers being electrically connected to the first sensor layer via interconnects,

wherein the one or more semiconductor layers comprises on-chip compute circuits configured to receive the pixel data via the interconnects and process the pixel data, the on-chip compute circuits comprising:

a machine learning (ML) model accelerator configured to implement a convolutional neural network (CNN) model to process the pixel data;

a first memory configured to store coefficients of the CNN model and instruction codes;

a second memory configured to store the pixel data; and

a controller configured to execute the codes to control operations of the ML model accelerator, the first memory, and the second memory;

wherein at least one memory is configured to be in a powered down state within the exposure period, the at least one memory comprising the second memory; and

wherein the first memory is configured to retain the coefficients and the instruction codes while the at least one memory is in the powered down state.

2. The apparatus of claim 1 , wherein the controller is configured to power down the ML model accelerator and the second memory within the exposure period, power up the ML model accelerator and the second memory after the exposure period ends to process the pixel data, and power down the ML model accelerator and the second memory after the processing of the pixel data completes.

3. The apparatus of claim 1 , wherein the first memory comprises a non-volatile memory (NVM); and

wherein the second memory comprises static random access memory (SRAM) devices.

4. The apparatus of claim 3 , wherein the NVM comprises at least one of: magnetoresistive random access memory (MRAM) devices, resistive random-access memory (RRAM) devices, or phase-change memory (PCM) devices.

5. The apparatus of claim 1 , wherein the one or more semiconductor layers comprise a first semiconductor layer and a second semiconductor layer, the first semiconductor layer forming a stack with the second semiconductor layer;

wherein the first semiconductor layer includes the ML model accelerator and the first memory;

wherein the second semiconductor layer includes the second memory; and

wherein the second memory is connected to the ML model accelerator via a parallel through silicon via (TSV) interface.

6. The apparatus of claim 5 , wherein the second semiconductor layer further comprises a memory controller configured to perform an in-memory compute operation on the pixel data stored in the second memory and the in-memory compute operation comprising at least one of: a matrix transpose operation, a matrix re-shaping operation, or a matrix multiplication operation.

7. The apparatus of claim 6 , wherein the second memory comprises circuitry configured to perform at least one of: a logical AND operation between a first matrix representing the pixel data and a second matrix representing the coefficients, or a logical NOR operation between the first matrix and the second matrix; and

wherein the memory controller is configured to perform, based on a result of the at least one of the logical AND operation or the logical NOR operation, at least one of: a multiplication operation, a summation operation, or a degree of similarity operation between the first matrix and the second matrix.

8. The apparatus of claim 7 , wherein a zero coefficient is represented by an asserted flag bit in the first memory; and

wherein a non-zero coefficient is represented by a de-asserted flag bit and a set of data bits representing a numerical value of the non-zero coefficient in the first memory.

9. The apparatus of claim 8 , wherein the ML model accelerator is configured to skip arithmetic operations involving zero coefficients based on detecting the asserted flag bits of the zero coefficients.

10. The apparatus of claim 1 , wherein the ML model accelerator is configured to implement a gating model to select a subset of the pixel data as input to the CNN model; and

wherein the gating model comprises a user-specific model and a base model, the user-specific model being generated at the apparatus, the base model being generated at an external device external to the apparatus.

11. The apparatus of claim 10 , wherein the gating model selects different subsets of the pixel data for different input channels and for different frames.

12. The apparatus of claim 1 , wherein the one or more semiconductor layers comprise a magnetoresistive random access memory (MRAM) device; and

wherein the controller is configured to:

transmit pulses to the MRAM device to modulate a resistance of the MRAM device;

generate a sequence of random numbers based on measuring the modulated resistances of the MRAM device; and

encrypt at least one of: the coefficients of the CNN model, or the pixel data, using the sequence of random numbers.

13. The apparatus of claim 1 , wherein the CNN model comprises:

a first layer including a first set of weights; and

a second layer including a second set of weights;

wherein the first set of weights and the second set of weights are trained based on an ex-situ training operation external to the apparatus; and

wherein the second set of weights are adjusted based on an in-situ training operation at the apparatus.

14. The apparatus of claim 13 , wherein the ex-situ training operation is performed in a cloud environment; and

wherein the apparatus is configured to transmit the adjusted second set of weights back to the cloud environment.

15. The apparatus of claim 14 , wherein the in-situ training operation comprises a reinforcement learning operation;

wherein the first memory comprises an array of memristors configured to implement the second layer; and

wherein the ML model accelerator is configured to compare intermediate outputs from the array of memristors with random numbers to generate additional outputs, and to adjust weights stored in the array of memristors based on the additional outputs.

16. The apparatus of claim 15 , wherein the first memory comprises a magnetoresistive random access memory (MRAM) device; and

wherein the controller is configured to transmit pulses to the MRAM device to generate the random numbers.

17. The apparatus of claim 14 , wherein the in-situ training operation comprises an unsupervised learning operation;

wherein the first memory comprises an array of memristors configured to implement the second layer;

wherein the array of memristors is configured to receive signals representing events detected by the array of pixel cells, and to generate intermediate outputs representing a pattern of relative timing of the events; and

wherein the ML model accelerator is configured to generate additional outputs based on the intermediate outputs, and to adjust weights stored in the array of memristors based on the additional outputs.

18. The apparatus of claim 13 , wherein the first memory comprises an array of memristors configured to implement the second layer; and

wherein the array of memristors is configured to perform at least one of: a vector-matrix multiplication operation, or a vector-vector multiplication operation, to implement a fully-connected neural network layer of the CNN model.

19. A method, comprising:

generating a frame of pixel data during an exposure period, using an array of pixel cells of a first sensor layer, wherein the first sensor layer is part of a plurality of stacked sensor layers, the plurality of stacked sensor layers including one or more semiconductor layers located beneath the first sensor layer;

transmitting, via interconnects that electrically connect the first sensor layer to the one or more semiconductor layers, the pixel data to on-chip compute circuits in the one or more semiconductor layers, wherein the on-chip compute circuits include a machine learning (ML) model accelerator that implements a convolutional neural network (CNN) model, a first memory in which coefficients of the CNN model and instruction codes have been stored, and a second memory;

storing the pixel data in the second memory; and

processing, using the ML model accelerator and based on the coefficients and the instruction codes stored in the first memory, the pixel data from the second memory to generate a processing result;

wherein at least one memory is configured to be in a powered down state within the exposure period, the at least one memory comprising the second memory; and

wherein the first memory is configured to retain the coefficients and the instruction codes while the at least one memory is in the powered down state.

20. The method of claim 19 , wherein the processing comprises at least one of:

using an array of memristors included in the first memory to perform an in-memory compute operation as part of the processing, or

using circuits of the second memory to perform at least one of: a logical AND operation between a first matrix representing the pixel data and a second matrix representing the coefficients, or a logical NOR operation between the first matrix and the second matrix.

Assignments (2)
CHANGE OF NAME Recorded May 19, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060130/0404 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2021
From: LIU, XINQIAO; DE SALVO, BARBARA; REYSERHOVE, HANS; LI, ZIYUN; KHAN, ASIF IMTIAZ; SARWAR, SYED SHAKIB
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 056581/0153 →
Continuity (5)
Continuation In Part 16910844 · Jun 24, 2020
Continuation 15909162 · Mar 1, 2018
Provisional Application 63038636 · Jun 12, 2020
Provisional Application 63021476 · May 7, 2020
Provisional Application 62536605 · Jul 25, 2017
Cited By (4)
US 12,244,936 US 12,436,389 US 12,578,881 US 12,720,194