Retry of a device read transaction
First Claim
1. An apparatus, comprising:
- a transaction queue to store pending device transactions and dispatched device transactions, the queue including an input for receiving transactions, the queue including an output for dispatching transactions to a device, the device transactions including device read transactions and device write transactions; and
a controller coupled to the transaction queue and responsive to an invalid data signal for a device read transaction to prevent the transaction queue from dispatching a pending transaction to the device, to cause the transaction queue to dispatch again the device read transaction which resulted in the invalid data signal such that a memory location is accessed more than once to obtain valid data and, subsequently, to send to a desired destination a data available signal for the data which resulted from the device read transaction which was dispatched again, and to enable the transaction queue to dispatch a pending transaction to the device.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus (11) causes invalid data to be read again from a memory device (12, 13) before being read by a device (10). A transaction queue (22) stores pending and dispatched device transactions, the queue includes an input for receiving (21) transactions, an output for dispatching (26) transactions, a pointer for pending transactions, and a pointer for dispatched transactions. A master controller (42) responds to an invalid data signal by preventing the transaction queue from dispatching pending transactions to the memory device, by causing the transaction queue to dispatch again the device read transaction which resulted in the invalid data and, subsequently, by causing the data which was read again from the memory device to be accepted by the destination device, by setting the dispatched transaction pointer to the pending transactions pointer, and by enabling the transaction queue to dispatch pending transactions to the memory device.
34 Citations
20 Claims
-
1. An apparatus, comprising:
-
a transaction queue to store pending device transactions and dispatched device transactions, the queue including an input for receiving transactions, the queue including an output for dispatching transactions to a device, the device transactions including device read transactions and device write transactions; and a controller coupled to the transaction queue and responsive to an invalid data signal for a device read transaction to prevent the transaction queue from dispatching a pending transaction to the device, to cause the transaction queue to dispatch again the device read transaction which resulted in the invalid data signal such that a memory location is accessed more than once to obtain valid data and, subsequently, to send to a desired destination a data available signal for the data which resulted from the device read transaction which was dispatched again, and to enable the transaction queue to dispatch a pending transaction to the device. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus, comprising:
-
a memory device to read and write data in response to device transactions, the device transactions including device read transactions and device write transactions; a data utilization device to accept data in response to a data available signal; a memory controller, coupled to the memory device and to the data utilization device, to accept data from the memory device, to check the data for an error, to provide an invalid data signal if the data has an error, and to provide the data from the memory to the data utilization device; a transaction queue, coupled to the memory controller, to store pending device transactions and dispatched device transactions, the queue including an input for receiving transactions, the queue including an output for dispatching transactions to the memory controller; and a master controller, coupled to the memory controller, the transaction queue and the data utilization device, and responsive to an invalid data signal for a device read transaction to prevent the transaction queue from dispatching a pending transaction to the memory controller, to cause the transaction queue to dispatch again the device read transaction which resulted in the invalid data signal such that a memory location is accessed more than once to obtain valid data and, subsequently, to send to the data utilization device a data available signal for the data which resulted from the device read transaction which was dispatched again, and to enable the transaction queue to dispatch a pending transaction to the memory controller. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method, comprising:
-
receiving an indication that data read from a device location is invalid; if invalid data read from the device location has occurred previously then sending a valid data signal for the data to a desired destination; and if invalid data read from the device location has not occurred previously then; inhibiting write operations to the device; reading the data in that device location again such that the data in the device location is accessed more than once to obtain valid data; and enabling write operations to the device and sending to a desired destination a valid data signal for the data which resulted from reading that device location again. - View Dependent Claims (14, 15, 16)
-
-
17. A method, comprising:
-
receiving an indication that data read from a device location is not valid; inhibiting write operations to the device; reading the data from that device location again such that the data in the device location is accessed more than once to obtain valid data; and enabling write operations to the device and sending to a desired destination a valid data signal for the data which resulted from reading that device location again. - View Dependent Claims (18, 19, 20)
-
Specification