Prioritizing data transfers over data buses
AssigneeIntel Corporation
InventorMark Skarpness
Life of this patent
Estimating the term…
Abstract
A computer system includes a host processor and a peripheral device coupled by an attachment bus. The peripheral device transfers data to the host processor over the attachment bus using at least two types of data transfers. The peripheral device includes a classifying circuit that separates the data into a first class associated with a first type of transfer and a second class associated with a second type of transfer. The peripheral circuit also includes two queues, including a first queue that receives the first class of data from the classifying circuit and a second queue that receives the second class of data from the classifying circuit. A control circuit places data from the first queue onto the bus at a higher priority than data from the second queue is placed onto the bus.
Claims20
A computer system, comprising:
- a peripheral device;
- a host device;
- a data bus in communication with the peripheral device and the host device, wherein the computer system further includes:
- a traffic classifier configured to place data packets into a plurality of data queues including a first queue and a different queue, wherein the traffic classifier places data packets based on a traffic classification of the data packets, wherein the traffic classification of the data packets is indicative of a priority of the data packets, and wherein the first queue is associated with a highest priority traffic classification;
- and
- a controller configured to control flow of data from the plurality of data queues to the data bus during data placement time cycles, wherein the controller is configured to place at least some data from the first queue on the data bus during each data placement time cycle when the first queue includes at least some data to be transmitted on the data bus.
A method comprising:
- receiving data from a network at a peripheral device included in a computer system;
- determining a traffic classification of the data to be one of a traffic classification included in a range from a highest priority traffic classification to a lowest priority traffic classification;
- if the traffic classification of the data is a highest priority traffic classification, placing the data in a first queue of a plurality of queues;
- if the traffic classification of the data is not the highest priority traffic classification, placing the data in a different queue of the plurality of queues;
- and
- transmitting the data from the first queue and the different queue to a host device;
- wherein the transmitting comprises:
- during each of a plurality of data transfer time cycles, placing at least some data from the first queue on a data bus in communication with the host device and the peripheral device until the first queue does not include data to be transmitted to the host device.
A method comprising:
- receiving data to be transmitted to a network using a peripheral device included in a computer system;
- determining a traffic classification of the data;
- if the traffic classification of the data is a highest priority traffic classification, placing the data in a first queue of a plurality of queues;
- if the traffic classification of the data is not the highest priority traffic classification, placing the data in a different queue of the plurality of queues;
- and
- transmitting the data from the first queue and the different queue to the peripheral device;
- wherein the transmitting comprises:
- during each of a plurality of data transfer time cycles, placing at least some data from the first queue on a data bus in communication with the plurality of queues and the peripheral device until the first queue does not include data to be transmitted to the peripheral device.
Dependencies are inferred from the claim text.