Patent US5675829A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5675829A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for coordinating data transfer between hardware and software by comparing entry number of data to be transferred data to entry number of transferred data

Assignee: Oracle America Inc
•
Filing: 1995-07-07
•
Granted: 1997-10-07
•
Expires: 2015-07-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus of coordinating data transfer between hardware and software in a computer system through the use of a semaphore mechanism is disclosed. When a data packet is queued by preparing an entry in a data descriptor ring, software provides the descriptor entry number to a first storage field in a predetermined storage location which is accessible by hardware. Hardware accounts for the transactions it has completed by writing the descriptor entry number to a second storage field in the storage location. To determine if there is additional data to process, hardware compares the contents of the first storage field and the contents of the second storage field. If the contents of both storage fields are equal, the corresponding ring or channel has run out of data and no additional data is to be processed. Under this condition, the corresponding channel goes to sleep until it is waken by a command indicating that software has provided another descriptor entry number to the first storage field in the storage location. If the contents of both storage fields are not equal, hardware continues to process the data represented by the descriptors provided.

Inventors

  • 👤 Rasoul M. Oskouy
  • 👤 Denton E. Gentry

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 10:40
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/38; G06F13/382; G06F13/385

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 122 words
A computer system for transferring data, comprising: a host device having a host memory, the host memory having at least one data structure having a plurality of entries, each entry including an entry number and locational information of data to be transferred; a storage location coupled to the host device, the storage location having a first storage field and a second storage field, the first storage field for storing the entry number corresponding to locational information of data to be transferred, the second storage field for storing an entry number corresponding to locational information of transferred data; and a circuit coupled to the storage location for comparing the content of the first storage field to the content of the second storage field.
Claim 2
Dependent Claim 122 words
A computer system for transferring data, comprising: a host device having a host memory, the host memory having at least one data structure having a plurality of entries, each entry including an entry number and locational information of data to be transferred; a storage location coupled to the host device, the storage location having a first storage field and a second storage field, the first storage field for storing the entry number corresponding to locational information of data to be transferred, the second storage field for storing an entry number corresponding to locational information of transferred data; and a circuit coupled to the storage location for comparing the content of the first storage field to the content of the second storage field.
Claim 3
Dependent Claim 43 words
The system of claim 1, further comprising a second circuit for transferring data, the second circuit being operative if the circuit for comparing determines that the content of the first storage field is not equal to the content of the second storage field.
Claim 4
Dependent Claim 42 words
The system of claim 1, further comprising a second circuit for transferring data, the second circuit being operative when an entry number corresponding to an entry which includes locational information of data to be transferred is stored in the first storage field.
Claim 5
Dependent Claim 25 words
The system of claim 1, wherein the data structure is a descriptor ring comprising the plurality of entries, the entries being arranged in circular fashion.
Claim 6
Dependent Claim 14 words
The system of claim 1, wherein the circuit for comparing is an exclusive-OR gate.
Claim 7
Dependent Claim 61 words
The system of claim 1, further comprising a second data structure and a second storage location, the second storage location having a third storage field and a fourth storage field, wherein the data structure is a first data structure which corresponds to a first channel for transferring data and the second data structure corresponds to a second channel for transferring data.
Claim 8
Dependent Claim 12 words
The system of claim 1, wherein the system is a network system.
Claim 9
Dependent Claim 16 words
The system of claim 6, wherein data is transferred from the host device to the network.
Claim 10
Dependent Claim 14 words
The system of claim 6, wherein the network is an asynchronous transfer mode network.
Claim 11
Dependent Claim 123 words
A circuit for transferring data, the circuit being responsive to a host device having a host memory, the host memory having at least one data structure having a plurality of entries, each entry including an entry number and locational information of data to be transferred, the circuit comprising: a storage location coupled to the host device, the storage location having a first storage field and a second storage field, the first storage field for storing the entry number corresponding to locational information of data to be transferred, the second storage field for storing an entry number corresponding to locational information of transferred data; and a circuit for comparing the content of the first storage field to the content of the second storage field.
Claim 12
Dependent Claim 123 words
A circuit for transferring data, the circuit being responsive to a host device having a host memory, the host memory having at least one data structure having a plurality of entries, each entry including an entry number and locational information of data to be transferred, the circuit comprising: a storage location coupled to the host device, the storage location having a first storage field and a second storage field, the first storage field for storing the entry number corresponding to locational information of data to be transferred, the second storage field for storing an entry number corresponding to locational information of transferred data; and a circuit for comparing the content of the first storage field to the content of the second storage field.
Claim 13
Dependent Claim 49 words
The circuit of claim 10, further comprising a second circuit for transferring data responsive to the circuit for comparing, the second circuit being operative if the circuit for comparing determines that the content of the first storage field is not equal to the content of the second storage field.
Claim 14
Dependent Claim 42 words
The circuit of claim 10, further comprising a second circuit for transferring data, the second circuit being operative when an entry number corresponding to an entry which includes locational information of data to be transferred is stored in the first storage field.
Claim 15
Dependent Claim 25 words
The system of claim 10, wherein the data structure is a descriptor ring comprising the plurality of entries, the entries being arranged in circular fashion.
Claim 16
Dependent Claim 14 words
The circuit of claim 10, wherein the circuit for comparing is an exclusive-OR gate.
Claim 17
Dependent Claim 61 words
The circuit of claim 10, further comprising a second data structure and a second storage location, the second storage location having a third storage field and a fourth storage field, wherein the data structure is a first data structure which corresponds to a first channel for transferring data and the second data structure corresponds to a second channel for transferring data.
Claim 18
Independent Claim 133 words
A method for coordinating data transfer in a computer, comprising the steps of: storing an entry number corresponding to locational information of data to be transferred in a first storage field; transferring data corresponding to the entry number stored in the first storage field; storing the entry number corresponding to locational information of transferred data in a second storage field; comparing the content of the first storage field to the content of the second storage field; and transferring data corresponding to the entry number stored in the first storage field if the content of the first storage field is not equal to the content of the second storage field and terminating the transfer of data if the content of the first storage field is equal to the content of the second storage field.
Claim 19
Independent Claim 133 words
A method for coordinating data transfer in a computer, comprising the steps of: storing an entry number corresponding to locational information of data to be transferred in a first storage field; transferring data corresponding to the entry number stored in the first storage field; storing the entry number corresponding to locational information of transferred data in a second storage field; comparing the content of the first storage field to the content of the second storage field; and transferring data corresponding to the entry number stored in the first storage field if the content of the first storage field is not equal to the content of the second storage field and terminating the transfer of data if the content of the first storage field is equal to the content of the second storage field.
Claim 20
Dependent Claim 41 words
The method of claim 16, further comprising the step of transferring data corresponding to the entry number stored in the first storage field if the entry number stored in the first storage field includes locational information of data to be transferred.
Claim 21
Dependent Claim 52 words
The method of claim 16, further comprising the step of providing a host device having a host memory, the host memory having at least one data structure having a plurality of entries, each entry including an entry number and locational information of data to be transferred, prior to the first storing step.
Claim 22
Dependent Claim 33 words
The method of claim 18, wherein in the step of providing a host device, the data structure is a descriptor ring comprising a plurality of entries, the entries being arranged in circular fashion.
Claim 23
Dependent Claim 65 words
The method of claim 16, further comprising the steps of providing a second data structure and a second storage location, the second storage location having a third storage field and a fourth storage field, wherein the data structure is a first data structure which corresponds to a first channel for transferring data and the second data structure corresponds to a second channel for transferring data.

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag