Method and apparatus for detecting a resource lock on a PCI bus
AssigneeKabushiki Kaisha Toshiba
InventorNobutaka Nakamura
Life of this patent
Estimating the term…
Abstract
A computer system for detecting a resource lock state on a PCI bus includes a DMA controller that transmits a bus access request signal from an I/O expansion device through a bridge device to a bus arbiter, and receives a granted bus access enable signal from the bus arbiter. The computer system further has a circuit for determining whether the PCI bus is in a resource lock state by using a lock signal at a granted bus access enable signal, and a circuit for prohibiting the DMA controller from executing a transaction for DMA transfer, when the PCI bus is in a resource lock state.
Claims23
A computer system comprising:
- a PCI bus on which a lock signal line indicating whether access to a resource is exclusively executed and a bus access request signal line and a bus access enable signal line are allocated to respective PCI agent devices;
- bus arbiter means, connected to the PCI bus, for arbitrating bus accesses based on the bus access request signal line and the bus access enable signal line;
- and
- DMA controller means, connected to the PCI bus, for requesting bus access to the bus arbiter means, in response to a DMA transfer request from an I/O expansion device, and for executing a transaction for a direct memory access (DMA), in response to a reception of a bus access enable signal from the bus arbiter means;
- wherein the DMA controller means includes:
- resource lock detection means for determining whether the PCI bus is in a state of resource lock based upon the lock signal;
- retry means for retrying the transaction after a predetermined time from when a target retry is informed by a target device on the PCI bus specified by an address during an execution period of the DMA transfer;
- and
- means for keeping the bus access request signal active so that the PCI bus is not released if the resource lock detection means determines that the PCI bus is not in a state of resource lock, when a target retry is sent from a target device.
A computer system comprising:
- a PCI bus on which a lock signal (LOCK #) line indicating whether access to a resource is exclusively executed and a bus access request signal (REQ#) line and a bus access right signal (GNT#) line are allocated into respective PCI agent devices;
- a bus arbiter (PBA), connected to the PCI bus, for arbitrating bus accesses based on a bus access request signal (REQ#) line and a bus access enable signal (GNT#) line;
- and
- a DMA controller core, connected to the PCI bus, for requesting a bus access on the PCI bus to the bus arbiter by generating the bus access request signal (REQ#), in response to a DMA transfer request from each of I/O expansion devices, and for executing a transaction for a direct memory access (DMA), in response to a reception of the bus access enable signal (GNT#) from the bus arbiter;
- wherein the DMA controller core includes:
- resource detection means for determining whether the PCI bus is in a state of resource lock based on the lock signal;
- means for outputting the bus access request signal (REQ#) so that the PCI bus is not released if the resource detection means determines that the PCI bus is not in a state of resource lock, when a target retry is sent by a target device on the PCI bus specified by an address during an execution period of the transaction for the DMA transfer;
- and
- means for processing the target retry after a predetermined time has passed.
A computer system comprising:
- bus arbiter means for arbitrating accesses on a bus;
- means for transmitting a bus access request signal from an I/O expansion device to the bus arbiter means;
- means for receiving a granted bus access enable signal from the bus arbiter means;
- means for determining whether the bus is in a state of resource lock based on a lock signal on the bus at the granted bus access enable signal;
- means for keeping the bus access request signal active so that the bus is not released if it is determined that the bus is not in a state of resource lock, when a target retry is set from a target device on the bus specified by an address during execution of a transaction;
- and
- means for executing the transaction after a predetermined time has passed.
A method of detecting a state of a resource lock using a controller on a bus, on which a lock signal line indicating whether access to a resource is exclusively executed and a bus access request signal line and a bus access enable signal line are allocated into each of agent devices on the bus, the method comprising the steps of:
- transmitting a bus access request signal from an I/O expansion device through a bridge device to bus arbiter means;
- receiving a granted bus access enable signal to the controller means by the bus arbiter means;
- determining whether the bus is in a state of resource lock by using the lock signal at the granted bus access enable signal;
- and
- retrying the transaction after a predetermined time so that the bus is not released with the bus access request signal keeping active if it is determined that the bus is not in a state of resource lock, when a target retry is informed from a target device on the bus specified by an address during an execution period of the transaction.
Dependencies are inferred from the claim text.