US5848293A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for transmission and processing of virtual commands
Assignee: Oracle America Inc
•
Filing: 1995-11-03
•
Granted: 1998-12-08
•
Expires: 2015-11-03
Abstract
Abstract A method and apparatus that provides for the atomic transfer of data associated with a command to be transferred to a device consisting of a cache memory which supports a plurality of virtual devices. The atomic transfer enables the device to initiate and complete execution of the command immediately with respect to a particular virtual device without having to wait for data to come during subsequent bus transfers. This insures that the state of the device will be consistent during execution of the command.
Inventors
- 👤 Denton E. Gentry
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-29 12:39
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/10; G06F13/12; G06F13/124; G06F13/126
Claims Analysis
Total Claims: 13
Claim 1
Independent Claim
203 words
In a system comprising a CPU, a device that supports a plurality of virtual devices and address bus and data bus each coupled between the CPU and the device, a method for atomically transferring command and data information to the device having device logic comprising the steps of: transferring command data across the data bus to the device; transferring address data across the address bus to the device in the same bus cycle with said command data, said address data comprising a device address, an address of a virtual device register, a type of command to be performed and an identification of a virtual device the command is to be performed on; if an address of the device matches the device address, said device logic latching the data transferred across the data bus and address bus, and storing the virtual device identification, the type of command and the command data in the virtual device register identified by the virtual device register address; said device logic performing the command identified by the type of command to be performed on the virtual device identified by the virtual device identification located in the virtual device register using the command data stored in the virtual device register.
Claim 2
Dependent Claim
203 words
In a system comprising a CPU, a device that supports a plurality of virtual devices and address bus and data bus each coupled between the CPU and the device, a method for atomically transferring command and data information to the device having device logic comprising the steps of: transferring command data across the data bus to the device; transferring address data across the address bus to the device in the same bus cycle with said command data, said address data comprising a device address, an address of a virtual device register, a type of command to be performed and an identification of a virtual device the command is to be performed on; if an address of the device matches the device address, said device logic latching the data transferred across the data bus and address bus, and storing the virtual device identification, the type of command and the command data in the virtual device register identified by the virtual device register address; said device logic performing the command identified by the type of command to be performed on the virtual device identified by the virtual device identification located in the virtual device register using the command data stored in the virtual device register.
Claim 3
Dependent Claim
36 words
The method as set forth in claim 1, wherein the device comprises a network interface card that interfaces the system to a network and the virtual devices comprise communication channels between the CPU and the network.
Claim 4
Dependent Claim
139 words
The method as set forth in claim 1, wherein the device comprises a network interface card comprising a plurality of components that interfaces the system to a network, one of said plurality of components performing a transfer of data between the system and the network, said commands and data transferred to the device comprising commands and data to transfer data across identified communication channels on the network, said virtual devices comprising the communication channels on the network, address data further comprises an identification of a component the type of command is to be performed by, said method further comprising the steps of: prior to transferring the virtual device identification, the type of command and command data to the virtual device, parsing predetermined bits of the address data to determine the component to forward address data and command data to.
Claim 5
Dependent Claim
90 words
The method as set forth in claim 3, wherein device logic of the one of the plurality of components comprises a logic block for transferring data to the network and a logic block for transferring data from the network, said method further comprising the step of prior to transferring the virtual device identification, the type of command and command data, parsing additional predetermined bits of the address data to determine the logic block to forward address data and command data to, said virtual device register located in the logic blocks.
Claim 6
Dependent Claim
68 words
The method as set forth in claim 1, wherein the step of performing a command comprises the steps of: retrieving virtual device data from a memory, said virtual device data retrieved identified by the virtual device identification; loading the virtual device data into the device logic to place the device logic in a state of the virtual device; and performing the command identified by the type of command.
Claim 7
Dependent Claim
226 words
A computer system comprising: an address bus; a data bus; a central processing unit (CPU) coupled to the address bus and data bus, said CPU causing an command to be performed on a virtual device by transmitting address data across the address bus, said address data comprising a device address, an address of a virtual device register, the type of command to be performed and an identification of the virtual device the command is to be performed on, and command data across the data bus, said command data being transmitted in the same bus cycle with said address data; and a device coupled to the address and data bus, said device supporting a plurality of virtual devices, said device comprising: a virtual device register, receiver circuitry couple to the virtual device register for latching the address data and command data respectively off the address bus and data bus if the device address transmitted across the address bus matches an address of the device, said receiver circuitry further transferring the command data, the type of command and the identification of the virtual device to the virtual device register, and virtual device circuitry coupled to the virtual device register, said virtual device circuitry reading the virtual device register to perform the type of command for the virtual device using the command data stored in the virtual device register.
Claim 8
Dependent Claim
226 words
A computer system comprising: an address bus; a data bus; a central processing unit (CPU) coupled to the address bus and data bus, said CPU causing an command to be performed on a virtual device by transmitting address data across the address bus, said address data comprising a device address, an address of a virtual device register, the type of command to be performed and an identification of the virtual device the command is to be performed on, and command data across the data bus, said command data being transmitted in the same bus cycle with said address data; and a device coupled to the address and data bus, said device supporting a plurality of virtual devices, said device comprising: a virtual device register, receiver circuitry couple to the virtual device register for latching the address data and command data respectively off the address bus and data bus if the device address transmitted across the address bus matches an address of the device, said receiver circuitry further transferring the command data, the type of command and the identification of the virtual device to the virtual device register, and virtual device circuitry coupled to the virtual device register, said virtual device circuitry reading the virtual device register to perform the type of command for the virtual device using the command data stored in the virtual device register.
Claim 9
Dependent Claim
58 words
The system as set forth in claim 6, wherein said device further comprises a memory and circuitry, parameters regarding a state of each virtual device being stored in the memory, and the circuitry performing the functionality of the virtual device based upon the state of the virtual device and the command to be performed on the virtual device.
Claim 10
Dependent Claim
36 words
The system as set forth in claim 6, wherein the device comprises a network interface card that interfaces the system to a network and the virtual devices comprise communication channels between the CPU and the network.
Claim 11
Dependent Claim
63 words
The system as set forth in claim 8, wherein the device further comprises a memory that stores state information of communication channels, said identification of the virtual device identifying the location in memory of the state information to be used to perform the command, said virtual device circuitry retrieving state information identified and performing the type of command in accordance with state information.
Claim 12
Dependent Claim
62 words
The system as set forth in claim 6, wherein the virtual device register and virtual device circuitry is located on one of a plurality of components on the device coupled to the receiver circuitry, said receiver circuitry further parsing determined bits to identify the component to transfer the command data, the type of command and the identification of the virtual device to.
Claim 13
Dependent Claim
107 words
The system as set forth in claim 10, wherein the one of the plurality of components comprises a receive block of logic that controls data received from the network, and a transmit block of logic that controls data to be transmitted on the network, said receive block and transmit block each comprising virtual device circuitry and virtual device register, said one of the plurality of components further comprising logic to parse additional bits of the data received from the address bus to determine whether to forward the command data, the identification of the virtual device and the type of command to the receive block or transmit block.
References Cited (Backward Citations)
US4550368A
Cited
EP0205949A2
Cited
US4707803A
Cited
US5289579A
Cited
US5301287A
Cited
US5263142A
Cited
US5293488A
Cited
US5309563A
Cited
EP0539313A2
Cited
US5440697A
Cited
US5321819A
Cited
US5459857A
Cited
US5544329A
Cited
US5583850A
Cited
US5423029A
Cited
US5513178A
Cited
US5590285A
Cited
US5483525A
Cited
US5511076A
Cited
US5671439A
Cited
US5740406A
Cited
US5758182A
Cited
US5606559A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-12-07 | 2002-06-08 | 2002-12-08 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-12-07 | 2006-06-08 | 2006-12-08 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-12-07 | 2010-06-08 | 2010-12-08 | $7700.00 | Window Closed / Lapsed |