IP Library Granted Patent US 12664115
Granted Patent B2
US 12664115 · App. 18/826,037 · Granted Jun 23, 2026

Sensor data offload

Inventors: Neven Klacar (San Diego, CA); Ivo Zatloukal (Brno, CZ); Jeff Hane (Cupertino, CA); Karan Sanghi (San Carlos, CA); Patrick S. Harper (Oceanside, CA); Qing He (San Jose, CA); Sandeep Nair (San Jose, CA)
Assignee: Apple Inc.
G06F13/38G06F2213/40
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 12664115
App. No.
18/826,037
Granted
Jun 23, 2026
Kind
B2
Abstract

A computer system for offloading sensor data processing is disclosed. An aggregation processor circuit may receive multiple data streams from corresponding ones of multiple sensors included in the computer system. The aggregation processor circuit may send a first portion of a particular data stream of the multiple data streams to a primary memory circuit for storage, and send a second portion of the particular data stream to a secondary memory circuit. The aggregation processor circuit may send the second portion of the particular data stream at a lower data rate than the first portion of the particular data stream.

Claims (67)

1 . An apparatus, comprising:

a primary memory circuit;

a secondary memory circuit;

a plurality of sensors configured to generate corresponding data streams of a plurality of data streams; and

an aggregation processor circuit configured to:

receive the plurality of data streams;

send, at a first data rate, a first portion of a plurality of portions of a first data stream of the plurality of data streams to the primary memory circuit;

send, at a second data rate less than the first data rate, a second portion of the plurality of portions to the secondary memory circuit;

store the first portion of the plurality of portions at a first address location in the primary memory circuit, wherein the first portion corresponds to a first sensor of the plurality of sensors; and

store a third portion of the plurality of portions at a second address location in the primary memory circuit, wherein the third portion corresponds to a second sensor of the plurality of sensors.

2 . The apparatus of claim 1 , further comprising a sensor processor circuit configured to:

retrieve the second portion from the secondary memory circuit;

determine calibration and offset information using the second portion; and

store the calibration and offset information at a third address location in the primary memory circuit.

3 . The apparatus of claim 2 , wherein the sensor processor circuit is further configured to send one or more instructions to the aggregation processor circuit.

4 . The apparatus of claim 2 , further comprising a client circuit configured to:

retrieve raw data associated with a particular sensor of the plurality of sensors from the primary memory circuit;

retrieve offset and calibration information associated with the particular sensor from the primary memory circuit; and

apply the offset and calibration information to the raw data to generate calibrated data.

5 . The apparatus of claim 2 , wherein the first portion of the plurality of portions of data includes raw data from the first sensor, and wherein the second portion of the plurality of portions includes information for calibration.

6 . The apparatus of claim 3 , wherein the aggregation processor circuit is further configured to relay at least one instruction of the one or more instructions to at least one sensor of the plurality of sensors.

7 . A method, comprising:

receiving, by an aggregation processor circuit, a particular data stream from a particular sensor of a plurality of sensors;

sending, by the aggregation processor circuit using a first data rate, a first portion of the particular data stream to a primary memory circuit;

storing the first portion of the particular data stream at a first address location in the primary memory circuit;

sending, by the aggregation processor circuit using a second data rate, a second portion of the particular data stream to a secondary memory circuit, wherein the second data rate is less than the first data rate;

retrieving, by a sensor processor circuit, the second portion of the particular data stream from the secondary memory circuit;

determining, by the sensor processor circuit, calibration and offset information using the second portion of the particular data stream; and

storing, by the sensor processor circuit, the calibration and offset information at a second address location in the primary memory circuit.

8 . The method of claim 7 , wherein the first portion of the particular data stream includes raw data from the particular sensor, and wherein the second portion of the particular data stream includes information for calibration.

9 . The method of claim 7 , further comprising:

retrieving, by a client circuit, the first portion of the particular data stream from the primary memory circuit;

retrieving, by the client circuit, the calibration and offset information from the primary memory circuit; and

generating, by the client circuit, calibrated data using the first portion of the particular data stream and the calibration and offset information.

10 . The method of claim 9 , further comprising:

receiving, by the sensor processor circuit, a request for a particular data rate from the client circuit; and

generating, by the sensor processor circuit, setup information using the request.

11 . The method of claim 7 , further comprising:

receiving, by the aggregation processor circuit, a different data stream from a different sensor of the plurality of sensors;

sending, by the aggregation processor circuit using the first data rate, a third portion of the different data stream to the primary memory circuit; and

sending, by the aggregation processor circuit using the second data rate, a fourth portion of the different data stream to the secondary memory circuit.

12 . The method of claim 7 , further comprising sending, by the sensor processor circuit, at least one instruction to the aggregation processor circuit.

13 . The method of claim 12 , further comprising relaying, by the aggregation processor circuit, the at least one instruction to at least one sensor of the plurality of sensors.

14 . A system, comprising:

a main memory circuit;

a system-on-a-chip that includes a plurality of client circuits, an aggregation processor circuit, and a secondary memory circuit;

a plurality of sensors configured to generate corresponding data streams of a plurality of data streams; and

a plurality of aggregator circuits configured to:

combine respective data streams for corresponding subsets of the plurality of sensors to generate corresponding composite data streams of a plurality of composite data streams;

relay the plurality of composite data streams for the aggregation processor circuit; and

wherein the aggregation processor circuit is configured to:

send, at a first data rate, a first portion of a particular composite data stream of the plurality of composite data streams to the main memory circuit, wherein the first portion of the particular composite data stream includes raw sensor data; and

send, at a second data rate less than the first data rate, a second portion of the particular composite data stream to the secondary memory circuit, wherein the second portion of the particular composite data stream includes information for calibration.

15 . The system of claim 14 , wherein the aggregation processor circuit is further configured to store the first portion starting at a first address location in the main memory circuit.

16 . The system of claim 15 , wherein the system-on-a-chip further includes a sensor processor circuit configured to:

retrieve the second portion from the secondary memory circuit;

determine calibration and offset information using the second portion; and

store the offset and calibration information starting at a second address location in the main memory circuit.

17 . The system of claim 16 , wherein the sensor processor circuit is further configured to send at least one instruction to the aggregation processor circuit.

18 . The system of claim 17 , wherein the aggregation processor circuit is further configured to relay at least one instruction to at least one sensor of the plurality of sensors.

19 . The system of claim 16 , wherein a particular client circuit of the plurality of client circuits is configured to:

retrieve the first portion from the main memory circuit;

retrieve the calibration and offset information from the main memory circuit; and

generate calibrated data using the first portion of the particular composite data stream and the calibration and offset information.

20 . The system of claim 16 , wherein the aggregation processor circuit is further configured to

send, at the first data rate, a third portion of a different composite data stream of the plurality of composite data streams to the main memory circuit; and

send, at the second data rate, a fourth portion of the different composite data stream to the secondary memory circuit.