12260165

Systems and Methods for Intelligently Buffer Tracking for Optimized Dataflow Within an Integrated Circuit Architecture

PublishedMarch 25, 2025
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
16 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for optimizing a movement of data based on state data of data buffer, the method comprising: implementing a task scheduler that causes an execution of a target task of a pair of dependent tasks based on identifying a state of a data buffer utilized by the pair of dependent tasks, wherein: the task scheduler tracks either a read token or a write token that is generated based on a performance of one task of the pair of dependent tasks, the performance of the one task includes either executing a write operation to the data buffer or executing a read operation of the data buffer, and tracking either the read token or the write token informs the state of the data buffer; and configuring the task scheduler based on: (i) a task graph for a target application, and (ii) allocations of data buffers for distinct pairs of dependent tasks of the task graph, wherein configuring the task scheduler includes: programming token-based launching conditions based on one or more data dependencies between the pairs of dependent tasks, that when satisfied, causes the task scheduler to cause an execution of one or more tasks of the pair of dependent tasks.

2

2. The method according to claim 1, wherein: the data buffer comprises an input data buffer and an output data buffer, identifying the state of the data buffer includes tracking a communication of one or more tokens based on a completion of one or more task operations involving the input data buffer or the output data buffer.

3

3. The method according to claim 1, wherein identifying the state of the data buffer includes: determining whether a dependency between the pair of dependent tasks are satisfied based on communications of one or more tokens based on a completion of one or more task operations.

4

4. The method according to claim 1, wherein identifying the state of the data buffer includes: identifying one or more tokens that are emitted based on an execution of one or more dependent tasks of a plurality of distinct pairs of tasks performing one of a given read operation of and a given write operation to a respective data buffer.

5

5. The method according to claim 1, wherein each of a first dependent task and a second dependent task of the pair dependent tasks communicate through the data buffer allocated between the pair of dependent tasks.

6

6. The method according to claim 1, wherein configuring the task scheduler includes: programming a distinct task launching condition for each of the pair of dependent tasks, wherein the distinct task launching condition includes a requirement that one or more distinct tokens be observed based on a completion of one or more tasks.

7

7. The method according to claim 1, wherein configuring the task scheduler includes: programming one or more token counters for a distinct task launching condition for each of the pair of tasks, wherein the one or more token counters count one or more distinct tokens emitted by one or more components of an integrated circuit.

8

8. The method according to claim 7, wherein identifying the state of the data buffer includes: evaluating a value of the one or more token counters against the distinct task launching condition for each of the pair of tasks.

9

9. The method according to claim 1, wherein each of the pair of dependent tasks includes: (1) a first task that performs a write operation to the data buffer; and (2) a second task that performs one of a given read operation and a write operation to the data buffer only after a completion of the first task.

10

10. The method according to claim 1, wherein each of the pair of dependent tasks includes: (1) a first task that performs an associated read operation to the data buffer; and (2) a second task that performs one of a given read operation and a given write operation to the data buffer after a completion of the first task.

11

11. The method according to claim 1, wherein a first dependent task of the pair of dependent tasks interfacing with the data buffer causes an emission of a distinct token that is tracked by the task scheduler to cause an automatic execution of a second dependent task of the pair of dependent tasks if the distinct token causes a satisfaction of a task launching condition of the second dependent task.

12

12. A method for optimizing a movement of data based on state data of data buffer, the method comprising: implementing a task scheduler that causes an execution of a target task of a pair of dependent tasks based on identifying a state of a data buffer utilized by the pair of dependent tasks, wherein: the task scheduler tracks either a read token or a write token that is generated based on a performance of one task of the pair of dependent tasks, the performance of the one task includes either executing a write operation to the data buffer or executing a read operation of the data buffer, and tracking either the read token or the write token informs the state of the data buffer; and configuring the task scheduler based on: (i) a task graph for a target application, and (ii) allocations of data buffers for distinct pairs of dependent tasks of the task graph, wherein the configuring the task scheduler includes: programming the task scheduler to: (1) track a plurality of distinct tokens emitted by one or more distinct components of an integrated circuit; and (2) identify whether a collection of the plurality of distinct tokens satisfy one or more task launching conditions associated with the pair of dependent pairs of tasks.

13

13. A system for optimizing data flow and an execution of tasks, the system comprising: a memory; a task scheduler, wherein the task scheduler causes an execution of a target task of a pair of dependent tasks based on identifying a state of a data buffer utilized by the pair of dependent tasks, and wherein: the task scheduler tracks either a read token or a write token that is generated based on a performance of one task of the pair of dependent tasks, the performance of the one task includes either executing a write operation to the data buffer or executing a read operation of the data buffer, and tracking either the read token or the write token informs the state of the data buffer; and a computer executing a compiler program that creates task scheduling parameters for configuring the task scheduler based on (i) a task graph for a target application and (ii) allocations of data buffers for distinct pairs of tasks of the task graph, wherein the computer encodes the task scheduler based on the task scheduling parameters for scheduling an execution of the distinct pairs of tasks of the task graph.

14

14. The system according to claim 13, wherein the configuring the task scheduler further includes: programming the task scheduler to: (1) track a plurality of distinct tokens emitted by one or more distinct components of an integrated circuit; and (2) identify whether a collection of the plurality of distinct tokens satisfy one or more conditions for launching a task associated with the pair of dependent tasks.

15

15. The system according to claim 13, wherein: the computer encodes a token counter to increment or to decrement based on one or more occurrences of one or more distinct task tokens; and the configuring the task scheduler further includes configuring one or more conditions for launching a task associated with the pair of dependent tasks, the one or more conditions, when satisfied by one or more occurrences of one or more distinct tokens, causes the task scheduler to automatically launch at least one task of the pair of dependent tasks.

16

16. A method comprising: implementing a scheduler that causes an execution of a target task of a pair of tasks based on identifying a state of a data buffer utilized by the pair of tasks, wherein: the scheduler tracks either a read token or a write token that is generated based on a performance of one task of the pair of tasks, the performance of the one task includes either executing a write operation to the data buffer or executing a read operation of the data buffer, and tracking either the read token or the write token affects the state of the data buffer; and implementing a computer executing a compiler program that creates scheduling parameters for configuring the scheduler based on (i) a task graph for an application and (ii) an allocation of one or more data buffers for distinct pairs of tasks of the task graph, wherein the computer encodes the scheduler based on the scheduling parameters for scheduling an execution of the distinct pairs of tasks of the task graph.

Patent Metadata

Filing Date

Unknown

Publication Date

March 25, 2025

Inventors

Pei-Ci Wu
Andrew Morten
Anthony Romano
Balaji Iyer
Alexander Dang-Tran
Eric Stotzer
David Fick

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “SYSTEMS AND METHODS FOR INTELLIGENTLY BUFFER TRACKING FOR OPTIMIZED DATAFLOW WITHIN AN INTEGRATED CIRCUIT ARCHITECTURE” (12260165). https://patentable.app/patents/12260165

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.