← Back to Patent Explorer
US7809856B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Prioritizing data transfers over data buses

Assignee: Intel Corp
•
Filing: 2005-01-04
•
Granted: 2010-10-05
•
Expires: 2025-01-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Mark L. Skarpness

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 19:29
CPC Classifications
H; H04; H04L; H04L12/00; H04L12/28; H04L12/40; H04L12/40143; G; G06; G06F; G06F13/00; G06F13/10; G06F13/12; G06F13/122; H04L47/00; H04L47/50; H04L47/62; H04L47/6215; H04L12/54; H04L12/56; H04L12/5601; H04L2012/5603; H04L2012/5609; H04L2012/5613; H04L2012/5638; H04L2012/5646; H04L2012/5651; H04L2012/5665

Claims Analysis

Total Claims: 21
Claim 1
Independent Claim 244 words
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 having a memory to store a priority level associated with virtual channel information of a data packet, the traffic classifier configured to: place data packets into a plurality of data queues including a first queue and a different queue, the traffic classifier places data packets based on a traffic classification of the data packets and with the traffic classification of the data packets indicative of a priority of the data packets, and with the first queue associated with a highest priority traffic classification; and determine the traffic classification of the data packets based at least in part on at least one of a virtual channel identifier and a virtual path identifier of the data packet; 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, and the controller is further configured to place data from the different queue on the data bus when the first queue does not include data to be transmitted on the data bus.
Claim 2
Dependent Claim 244 words
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 having a memory to store a priority level associated with virtual channel information of a data packet, the traffic classifier configured to: place data packets into a plurality of data queues including a first queue and a different queue, the traffic classifier places data packets based on a traffic classification of the data packets and with the traffic classification of the data packets indicative of a priority of the data packets, and with the first queue associated with a highest priority traffic classification; and determine the traffic classification of the data packets based at least in part on at least one of a virtual channel identifier and a virtual path identifier of the data packet; 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, and the controller is further configured to place data from the different queue on the data bus when the first queue does not include data to be transmitted on the data bus.
Claim 3
Dependent Claim 17 words
The system of claim 1 , wherein the data placement time cycles are of a predetermined length.
Claim 4
Dependent Claim 19 words
The system of claim 1 , wherein the peripheral device includes a network interface in communication with a network.
Claim 5
Dependent Claim 24 words
The system of claim 1 , wherein the traffic classifier is included in at least one of the host device and the peripheral device.
Claim 6
Dependent Claim 50 words
The system of claim 1 , wherein the highest priority traffic classification is associated with a minimum data transfer rate, and wherein the controller is configured to place data from the first queue on the data bus at a rate equal to or greater than the minimum data transfer rate.
Claim 7
Dependent Claim 15 words
The computer system of claim 1 , wherein the memory comprises a content addressable memory.
Claim 8
Dependent Claim 30 words
The computer system of claim 1 , wherein the traffic classifier enables the first queue and disables the different queue based on the virtual channel information of the data packet.
Claim 9
Dependent Claim 26 words
The computer system of claim 1 , wherein the traffic classifier places isochronous data in the first queue and places bulk data in the different queue.
Claim 10
Independent Claim 241 words
A method comprising: receiving data packets from a network at a peripheral device included in a computer system; determining a traffic classification of the data packets to be one of a traffic classification included in a range from a highest priority traffic classification to a lowest priority traffic classification, the traffic classification based at least in part on at least one of a virtual channel identifier and a virtual path identifier of a data packet; storing, in a memory, a priority level associated with virtual channel information of a data packet; if the traffic classification of the data packets is a highest priority traffic classification, placing the data packets in a first queue of a plurality of queues; if the traffic classification of the data packets is not the highest priority traffic classification, placing the data packets in a different queue of the plurality of queues; and transmitting the data packets 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, and placing data from the different queue on the data bus when the first queue does not include data to be transmitted on the data bus.
Claim 11
Independent Claim 241 words
A method comprising: receiving data packets from a network at a peripheral device included in a computer system; determining a traffic classification of the data packets to be one of a traffic classification included in a range from a highest priority traffic classification to a lowest priority traffic classification, the traffic classification based at least in part on at least one of a virtual channel identifier and a virtual path identifier of a data packet; storing, in a memory, a priority level associated with virtual channel information of a data packet; if the traffic classification of the data packets is a highest priority traffic classification, placing the data packets in a first queue of a plurality of queues; if the traffic classification of the data packets is not the highest priority traffic classification, placing the data packets in a different queue of the plurality of queues; and transmitting the data packets 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, and placing data from the different queue on the data bus when the first queue does not include data to be transmitted on the data bus.
Claim 12
Dependent Claim 17 words
The method of claim 9 , wherein the data transfer time cycles are of a predetermined length.
Claim 13
Dependent Claim 62 words
The method of claim 9 , wherein the highest priority traffic classification is associated with a minimum data transfer rate, and wherein transmitting the data packets from the first queue and the different queue to a host device comprises placing data from the first queue on the data bus at a rate equal to or greater than the minimum data transfer rate.
Claim 14
Dependent Claim 33 words
The method of claim 9 , wherein determining a traffic classification of the data packets comprises determining the traffic classification based on virtual channel information included in an asynchronous transfer mode packet header.
Claim 15
Dependent Claim 38 words
The method of claim 12 , wherein determining a traffic classification of the data packets comprises comparing the virtual channel information included in the asynchronous transfer mode packet header to virtual channel information stored in a storage device.
Claim 16
Independent Claim 222 words
A method comprising: receiving data packets to be transmitted to a network using a peripheral device included in a computer system; determining a traffic classification of the data packets, the traffic classification based at least in part on at least one of a virtual channel identifier and a virtual path identifier of a data packet; storing, in a memory, a priority level associated with virtual channel information of a data packet; if the traffic classification of the data packets is a highest priority traffic classification, placing the data packets in a first queue of a plurality of queues; if the traffic classification of the data packets is not the highest priority traffic classification, placing the data packets in a different queue of the plurality of queues; and transmitting the data packets 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, and placing data from the different queue on the data bus when the first queue does not include data to be transmitted on the data bus.
Claim 17
Independent Claim 222 words
A method comprising: receiving data packets to be transmitted to a network using a peripheral device included in a computer system; determining a traffic classification of the data packets, the traffic classification based at least in part on at least one of a virtual channel identifier and a virtual path identifier of a data packet; storing, in a memory, a priority level associated with virtual channel information of a data packet; if the traffic classification of the data packets is a highest priority traffic classification, placing the data packets in a first queue of a plurality of queues; if the traffic classification of the data packets is not the highest priority traffic classification, placing the data packets in a different queue of the plurality of queues; and transmitting the data packets 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, and placing data from the different queue on the data bus when the first queue does not include data to be transmitted on the data bus.
Claim 18
Dependent Claim 22 words
The method of claim 14 , wherein the highest priority traffic classification corresponds to time sensitive data generated in the computer system.
Claim 19
Dependent Claim 14 words
The method of claim 15 , wherein the time sensitive data is voice data.
Claim 20
Dependent Claim 14 words
The method of claim 15 , wherein the time sensitive data is video data.
Claim 21
Dependent Claim 15 words
The method of claim 14 , wherein the data is received from a host processor.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2013-10-04 2014-04-05 2014-10-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2017-10-04 2018-04-05 2018-10-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2021-10-04 2022-04-05 2022-10-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag