Systems and methods for moving data between system components
AssigneeMicrosoft Technology Licensing, LLC
InventorJohn A. TARDIF
Life of this patent
Estimating the term…
Abstract
Embodiments of the present disclosure include techniques for moving data between electronic system components using buffers. A digital processor stores data generated in response to a series of commands in a first buffer. Commands are received with a reference to a second buffer. The digital processor tracks the last location that a data result was stored in the first buffer. When a data result fills the buffer, the remaining data is automatically stored in the second buffer. Downstream devices may empty full buffers. A client may receive an indication that a buffer is empty and subsequently send commands with a reference to empty buffer.
Claims20
A system comprising:
- a digital processor, wherein the digital processor receives a plurality of commands serially, the plurality of commands performing a same processing function to produce a plurality of data results;
- memory comprising at least at least a first buffer and a second buffer;
- and
- wherein the digital processor stores the plurality of data results in the first buffer and the second buffer,
- wherein, for the plurality of data results, the digital processor tracks a last location within the first buffer of a particular data result of the plurality of data results,
- wherein a particular subsequent data result of the plurality of data results, after the particular data result, is stored at a subsequent location to the last location within the first buffer, and
- wherein at least a portion of the commands are associated with a reference to the second buffer, and when a first data result of the plurality of data results fills the first buffer, a remainder of the first data result and a plurality of subsequent data results after the first data result are automatically stored in the second buffer using the reference.
A method of moving data comprising:
- receiving, in a digital processor, a plurality of commands serially, the plurality of commands performing a same processing function to produce a plurality of data results:
- storing, by the digital processor, the plurality of data results in a first buffer and a second buffer of a memory, wherein at least a portion of the commands are associated with a reference to the second buffer;
- tracking, for the plurality of data results, a last location within the first buffer of a particular data result of the plurality of data results;
- storing a particular subsequent data result of the plurality of data results, after the particular data result, at a subsequent location to the last location within the first buffer;
- and
- when a first data result of the plurality of data results fills the first buffer, automatically storing a remainder of the first data result and a plurality of subsequent data results after the first data result in the second buffer using the reference.
Dependencies are inferred from the claim text.