Priority encoding and decoding for memory architecture
AssigneeOki Electric Industry Co., Ltd.
InventorsMichael J. Barnaby, Abe Mammen
Life of this patent
Estimating the term…
Abstract
A shared resource access priority encoding/decoding and arbitration scheme takes into account varying device requirements, including latency, bandwidth and throughput. These requirements are stored and are dynamically updated based on changing access demand conditions.
Claims7
A shared resource access method for controlling access by a plurality of devices to a shared resource, the method comprising:
- establishing access priority based on a determination of device resource requirements, wherein the device resource requirements include at least one of base priority, latency, bandwidth, and throughput;
- granting access to the shared resource based on the establishing of access priority;
- and
- establishing a priority curve for each of the plurality of devices, wherein the priority curve represents a change in priority count with respect to a change in latency time;
- wherein the priority curve for each device comprises a first priority region, a second priority region, and a third priority region;
- wherein each of the first, second, and third priority regions has a respective rate of change of the priority count with respect to latency time;
- and
- wherein:
- in the first priority region, a device will permit preemption by another device but will not request preemption of another device;
- in the second priority region, a device will permit preemption by another device and will also request preemption of another device;
- and
- in the third priority region, a device will request preemption of another device but will not permit preemption by another device.
A shared resource access system, which controls access by a plurality of devices to a shared resource, the system comprising:
- a priority encoder that receives resource access requests from the plurality of devices, and encodes priority values to the resource access requests, based on stored variables, to generate respective pending resource access requests;
- a priority decoder that decodes and compares the priority values of the pending resource access requests and determines a highest priority resource access request to be a winning request;
- an arbiter that arbitrates between an active resource access request and the winning request from the priority decoder and provides an access output;
- a resource controller that controls access to the shared resource based on the access output from the arbiter;
- and
- an address decoder that decodes at least one address in the shared resource for use by one of the plurality of devices that corresponds to the access output;
- wherein the stored variables include latency values corresponding to respective ones of the resource access requests;
- wherein the priority values include a value located on a priority curve representing a change in priority count with respect to a change in the latency value, wherein the priority curve is divided into a plurality of regions;
- and
- wherein each of the plurality of regions of the priority curve has a respective rate of change of the priority count with respect to the latency value.
A shared resource access method for controlling access by a plurality of devices to a shared resource, the method comprising:
- establishing resource access priority for each of the respective plurality of devices, based on a determination of respective device resource requirements;
- and
- granting access to the shared resource based on the established resource access priority;
- wherein the device resource requirements include latency values for the respective devices;
- wherein establishing resource access priority includes establishing a priority curve for each of the respective devices, representing a change in a priority count of the respective device with respect to a change in the latency values;
- and
- wherein the priority curve is divided into a plurality of regions, wherein each of the plurality of regions has a respective rate of change of the priority count with respect to latency value.
Dependencies are inferred from the claim text.