Direct transaction mode for peripheral devices
AssigneeAdvanced Micro Devices, Inc.
InventorDale E. Gulick
Life of this patent
Estimating the term…
Abstract
A method and system for more directly reading from or writing to a peripheral device coupled to a computer via a standard communication protocol (such as Universal Serial Bus (USB)) by bypassing portions of the standard communication technology. The host controller monitors the status of a direct command queue after the completion of each standard communication transaction. If a command is present in the direct command queue, the command is carried out before any standard communication transactions are performed. If no command is present in the direct command queue, a standard communication transaction is carried out. The relatively long latency encountered when accessing critical command status registers via standard communication technology is thus avoided.
Claims20
A system for more direct communication between a CPU and a peripheral device comprising:
- a host controller through which standard and direct communication transactions to peripheral devices are processed;
- a direct command queue coupled to said host controller, to store commands for direct communication transactions to peripheral devices;
- and
- a write queue coupled to said host controller for storing at least one data string to be written to a peripheral device in a direct communication transaction;
- wherein the host controller determines, before each standard communication transaction with a peripheral device, whether a command is present in the direct command queue and wherein, when a command calling for a write transaction is present in the direct command queue, a data string is retrieved from the write queue and is written to a peripheral device designated by the command.
A system for more direct communication between a CPU and a peripheral device comprising:
- a host controller through which standard and direct communication transactions to peripheral devices are processed;
- a direct command queue coupled to said host controller, to store commands for direct communication transactions to peripheral devices;
- and
- a read queue coupled to said host controller for storing at least one data string that has been read from a peripheral device in a direct communication transaction;
- wherein the host controller determines, before each standard communication transaction with a peripheral device, whether a command is present in the direct command queue and wherein, when a command calling for a read transaction is present in the direct command queue, a data string is retrieved from a peripheral device designated by the command and is stored in the read queue.
A method for more direct communication between a CPU and a peripheral device comprising:
- processing standard and direct communication transactions to peripheral devices by a host controller;
- storing commands for direct communication transactions to peripheral devices in a direct command queue coupled to said host controller;
- storing a data string to be written to a peripheral device in a direct communication transaction in a write queue coupled to said host controller;
- when a command calling for a write transaction is present in the direct command queue, retrieving a data string from the write queue and writing the data string to a peripheral device designated by the command;
- and
- determining whether a command is present in the direct command queue before each standard communication transaction with a peripheral device.
A method for more direct communication between a CPU and a peripheral device comprising:
- processing standard and direct communication transactions to peripheral devices by a host controller;
- storing commands for direct communication transactions to peripheral devices in a direct command queue coupled to said host controller;
- storing a data string read from a peripheral device in a direct communication transaction in a read queue coupled to said host controller;
- when a command calling for a read transaction is present in the direct command queue, retrieving a data string from a peripheral device designated by the command and storing the data string in the read queue;
- and
- determining whether a command is present in the direct command queue before each standard communication transaction with a peripheral device.
Dependencies are inferred from the claim text.