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

Arbiter organization for serial bus transfers

Assignee: Hewlett Packard Development Co LP
•
Filing: 1994-11-29
•
Granted: 1997-04-15
•
Expires: 2014-11-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A serial bus host controller arbiter which organizes data transfer events into three categories, periodic data transfers, which are usually isochronous transfers; aperiodic transfers, which usually are asynchronous transfers; and control transfers. The arbiter fundamentally operates on a periodic basis. At the beginning of each period, the arbiter preferably alternates between periodic transfers and control transfers. When all of the periodic transfers have been completed, the arbiter then provides access to the various asynchronous transfers which are scheduled to occur, alternating with any remaining control transfers. The arbiter gives preference to the periodic events, and if any time within the period is available, which is referred to as the free time, control events are interleaved with periodic events until no free time remains or all are completed. Any remaining time in the period is used cycling through the aperiodic transfers. The arbiter of the preferred embodiment keeps a running total of free time during each period to determine if additional control or aperiodic transfers can occur.

Inventors

  • 👤 David R. Wooten

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 16:30
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/14; G06F13/36; G06F13/362

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 207 words
An arbiter for use in controlling operations, the operations including data transfers of a plurality of different data types including isochronous block data, asynchronous block data and asynchronous control data, the arbiter comprising: a periodic timer for establishing a basic time period; a periodic data transfer queue containing isochronous and asynchronous block data transfers; an aperiodic data transfer queue containing asynchronous block data transfers; a control data transfer queue containing control data transfers; means for determining the free time in said basic time period after scheduling all periodic data transfers and performing any other transfers; means for selecting the next transfer to be performed from one of said periodic queue, said aperiodic queue and said control queue, said means for selecting the next periodic data transfer if the free time is less than zero, alternating selection between the next periodic data transfer and the next control data transfer in each respective queue if the free time is greater than zero until all the free time becomes zero or all periodic data transfers completed and alternating between the next control data transfer and the next aperiodic data transfer if all periodic data transfers in the periodic queue have been completed and the free time is greater than zero.
Claim 2
Dependent Claim 207 words
An arbiter for use in controlling operations, the operations including data transfers of a plurality of different data types including isochronous block data, asynchronous block data and asynchronous control data, the arbiter comprising: a periodic timer for establishing a basic time period; a periodic data transfer queue containing isochronous and asynchronous block data transfers; an aperiodic data transfer queue containing asynchronous block data transfers; a control data transfer queue containing control data transfers; means for determining the free time in said basic time period after scheduling all periodic data transfers and performing any other transfers; means for selecting the next transfer to be performed from one of said periodic queue, said aperiodic queue and said control queue, said means for selecting the next periodic data transfer if the free time is less than zero, alternating selection between the next periodic data transfer and the next control data transfer in each respective queue if the free time is greater than zero until all the free time becomes zero or all periodic data transfers completed and alternating between the next control data transfer and the next aperiodic data transfer if all periodic data transfers in the periodic queue have been completed and the free time is greater than zero.
Claim 3
Dependent Claim 25 words
The arbiter of claim 1, wherein said means for selecting removes a completed control data transfer from said control queue after completion of said transfer.
Claim 4
Dependent Claim 45 words
The arbiter of claim 1, wherein said means for selecting determines if a control data transfer was a read transfer and said read response has not been received and providing a read token instead of selecting the next control data transfer in said control queue.
Claim 5
Dependent Claim 24 words
The arbiter of claim 1, wherein said means for determining the free time stores the free time at the start of said basic period.
Claim 6
Dependent Claim 33 words
The arbiter of claim 4, wherein said means for determining the free time subtracts the time required for a control data transfer from the free time after completion of said control data transfer.
Claim 7
Dependent Claim 73 words
The arbiter of claim 5, wherein said means for determining the free time subtracts the time required for an aperiodic data transfer from said free time after completion of said aperiodic data transfer and wherein said means for determining the free time adds a calculated transfer time to said free time and subtracts an actual transfer time from said free time for a periodic data transfer after completion of said periodic data transfer.
Claim 8
Dependent Claim 33 words
The arbiter of claim 4, wherein said means for determining the free time subtracts the time required for an aperiodic data transfer from said free time after completion of said aperiodic data transfer.
Claim 9
Dependent Claim 44 words
The arbiter of claim 4, wherein said means for determining the free time adds a calculated transfer time to said free time and subtracts an actual transfer time from said free time for a periodic data transfer after completion of said periodic data transfer.
Claim 10
Dependent Claim 40 words
The arbiter of claim 4, wherein said means for determining the free time at the start of a basic period by subtracting a total calculated time for the periodic data transfers in said periodic queue from the basic time period.
Claim 11
Independent Claim 205 words
A method for arbitrating operations, the operations including data transfers of a plurality of different data types including isochronous block data, asynchronous block data and asynchronous control data, the method comprising the steps of: establishing a basic time period; preparing a periodic data transfer queue containing requested isochronous and asynchronous data transfers; preparing an aperiodic data transfer queue containing requested asynchronous data transfers; preparing a control data transfer queue containing requested control data transfers; determining the free time in said basic time period after scheduling all periodic data transfers and performing any other transfers; selecting the next transfer to be performed from one of said periodic queue, said aperiodic queue and said control queue, said step of selecting the next periodic data transfer if the free time is less than zero, alternating selection between the next periodic data transfer and the next control data transfer in each respective queue if the free time is greater than zero until all the free time becomes zero or all periodic data transfers are completed and alternating between the next control data transfer and the next aperiodic data transfer if all isochronous data transfers in the periodic queue have been completed and the free time is greater than zero.
Claim 12
Independent Claim 205 words
A method for arbitrating operations, the operations including data transfers of a plurality of different data types including isochronous block data, asynchronous block data and asynchronous control data, the method comprising the steps of: establishing a basic time period; preparing a periodic data transfer queue containing requested isochronous and asynchronous data transfers; preparing an aperiodic data transfer queue containing requested asynchronous data transfers; preparing a control data transfer queue containing requested control data transfers; determining the free time in said basic time period after scheduling all periodic data transfers and performing any other transfers; selecting the next transfer to be performed from one of said periodic queue, said aperiodic queue and said control queue, said step of selecting the next periodic data transfer if the free time is less than zero, alternating selection between the next periodic data transfer and the next control data transfer in each respective queue if the free time is greater than zero until all the free time becomes zero or all periodic data transfers are completed and alternating between the next control data transfer and the next aperiodic data transfer if all isochronous data transfers in the periodic queue have been completed and the free time is greater than zero.
Claim 13
Dependent Claim 25 words
The method of claim 10, wherein said step of selecting removes a completed control data transfer from said control queue after completion of said transfer.
Claim 14
Dependent Claim 45 words
The method of claim 10, wherein said step of selecting determines if a control data transfer was a read transfer and said read response has not been received and providing a read token instead of selecting the next control data transfer in said control queue.
Claim 15
Dependent Claim 24 words
The method of claim 10, wherein said step of determining the free time stores the free time at the start of said basic period.
Claim 16
Dependent Claim 33 words
The method of claim 13, wherein said step of determining the free time subtracts the time required for a control data transfer from the free time after completion of said control data transfer.
Claim 17
Dependent Claim 73 words
The method of claim 14, wherein said step of determining the free time subtracts the time required for an aperiodic data transfer from said free time after completion of said aperiodic data transfer and wherein said means for determining the free time adds a calculated transfer time to said free time and subtracts an actual transfer time from said free time for a periodic data transfer after completion of said periodic data transfer.
Claim 18
Dependent Claim 33 words
The method of claim 13, wherein said step of determining the free time subtracts the time required for an aperiodic data transfer from said free time after completion of said aperiodic data transfer.
Claim 19
Dependent Claim 44 words
The method of claim 13, wherein said step of determining the free time adds a calculated transfer time to said free time and subtracts an actual transfer time from said free time for a periodic data transfer after completion of said periodic data transfer.
Claim 20
Dependent Claim 39 words
The method of claim 13, wherein said step of determining the free time at the start of a basic period subtracts a total calculated time for the periodic data transfers in said periodic queue from the basic time period.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-04-14 2000-10-14 2001-04-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-04-14 2004-10-14 2005-04-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-04-14 2008-10-14 2009-04-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag