Data storage
AssigneeArm Limited
InventorsJens Olson, Jared Corey Smolens
Life of this patent
Estimating the term…
Abstract
A processor comprising a first storage managed as a circular buffer to store a plurality of data structures. Each data structure comprises: an identifier, a size indicator and first data associated with instructions for execution of a task. The processor is configured for searching for a data structure in the first storage. A data structure subsequent to the tail data structure can be located using a storage address in the first storage of a tail data structure and the size indicator of all data structures preceding the second data structure among the plurality of data structures. When a data structure is found, the task may be executed based at least in part on the first data of the found data structure.
Claims20
A processor comprising:
- a first storage managed as a circular buffer to store a plurality of data structures, each data structure comprising:
- an identifier, a status indicator having one of a plurality of values including a first and a second predetermined value, a size indicator and first data associated with instructions for execution of a task;
- a second storage to store a first pointer indicative of a storage address in the first storage of a tail data structure of the plurality of datastructures, and a second pointer indicative of a storage address in the first storage of a head data structure of the plurality of data structures;
- the processor configured to process a first request to execute a task by:
- searching for a data structure of the plurality of data structures in the first storage having an identifier matching a first identifier associated with the first request, wherein a second data structure subsequent to the tail data structure in the first storage is located in the first storage using the first pointer and the size indicator of all data structures preceding the second data structure among the plurality of data structures, wherein the second pointer indicates the last data structure among the plurality of data structures;
- in response to finding the data structure having the identifier matching the first identifier, and the status indicator of the data structure having the first predetermined value, executing the task based at least in part on the first data of the data structure having the identifier matching the first identifier.
A method performed by a processor, the method comprising:
- accessing a first storage managed as a circular buffer and storing a plurality of data structures, each data structure comprising:
- an identifier, a status indicator having one of a plurality of values including a first and a second predetermined value, a size indicator and first data associated with instructions for execution of a task;
- accessing a second storage storing a first pointer indicative of a storage address in the first storage of a tail data structure of the plurality of data structures, and a second pointer indicative of a storage address in the first storage of ahead data structure of the plurality of data structures;
- processing a first request to execute a task by:
- searching for a data structure of the plurality of data structures in the first storage having an identifier matching a first identifier associated with the first request, wherein a second datastructure subsequent to the tail data structure in the first storage is located in the first storage using the first pointer and the size indicator of all data structures preceding the second data structure among the plurality of data structures, wherein the second pointer indicates the last data structure among the plurality of data structures;
- in response to finding the data structure having the identifier matching the first identifier, and the status indicator of the data structure having the first predetermined value, executing the task based at least in part on the first data of the datastructure having the identifier matching the first identifier.
A non-transitory computer-readable storage medium comprising a set of computer-readable instructions stored thereon which, when executed by at least one processor, are arranged to cause the at least one processor to:
- accessing a first storage managed as a circular buffer and storing a plurality of data structures, each data structure comprising:
- an identifier, a status indicator having one of a plurality of values including a first and a second predetermined value, a size indicator and first data associated with instructions for execution of a task;
- accessing a second storage storing a first pointer indicative of a storage address in the first storage of a tail data structure of the plurality of data structures, and a second pointer indicative of a storage address in the first storage of a head data structure of the plurality of data structures;
- processing a first request to execute a task by:
- searching for a data structure of the plurality of data structures in the first storage having an identifier matching a first identifier associated with the first request, wherein a second datastructure subsequent to the tail data structure in the first storage is located in the first storage using the first pointer and the size indicator of all data structures preceding the second data structure among the plurality of data structures, wherein the second pointer indicates the last data structure among the plurality of data structures;
- in response to finding h data structure having the identifier matching the first identifier, and the status indicator of the data structure having the first predetermined value, executing the task based at least in part on the first data of the datastructure having the identifier matching the first identifier.
Dependencies are inferred from the claim text.