Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system
First Claim
1. A method for executing read and write commands in a memory system having a bidirectional memory bus coupling a controller to a first, second, and third memory hub, the second memory hub being downstream from the first memory hub, and the third memory hub being downstream from the second memory hub, the method comprising:
- the controller issuing a read command to access a first memory location in a first memory device coupled to the second memory hub;
after the controller issues the read command and before receiving read data corresponding to the issued read command, the controller issuing a write command to write data to a second memory location in a second memory device coupled to the third memory hub, the controller further providing write data corresponding to the issued write command to the bi-directional memory bus;
retrieving the read data from the first memory location and providing the read data to the bi-directional memory bus;
the controller providing a bypass enable signal to the first memory hub;
in response to receiving the bypass enable signal, the first memory hub storing the write data to allow the read data on the bidirectional memory bus to be coupled to the controller; and
the first memory hub providing the write data to the bidirectional memory bus.
8 Assignments
0 Petitions
Accused Products
Abstract
A memory hub includes first and second link interfaces for coupling to respective data busses, a data path coupled to the first and second link interfaces and through which data is transferred between the first and second link interfaces, and further includes a write bypass circuit coupled to the data path to couple write data on the data path and temporarily store the write data to allow read data to be transferred through the data path while the write data is temporarily stored. A method for writing data to a memory location in a memory system is provided which includes accessing read data in the memory system, providing write data to the memory system, and coupling the write data to a register for temporary storage. The write data is recoupled to the memory bus and written to the memory location following provision of the read data.
282 Citations
14 Claims
-
1. A method for executing read and write commands in a memory system having a bidirectional memory bus coupling a controller to a first, second, and third memory hub, the second memory hub being downstream from the first memory hub, and the third memory hub being downstream from the second memory hub, the method comprising:
-
the controller issuing a read command to access a first memory location in a first memory device coupled to the second memory hub; after the controller issues the read command and before receiving read data corresponding to the issued read command, the controller issuing a write command to write data to a second memory location in a second memory device coupled to the third memory hub, the controller further providing write data corresponding to the issued write command to the bi-directional memory bus; retrieving the read data from the first memory location and providing the read data to the bi-directional memory bus; the controller providing a bypass enable signal to the first memory hub; in response to receiving the bypass enable signal, the first memory hub storing the write data to allow the read data on the bidirectional memory bus to be coupled to the controller; and the first memory hub providing the write data to the bidirectional memory bus. - View Dependent Claims (2, 3, 4)
-
-
5. A method for writing data to a memory location in a memory system, the memory system including a controller coupled to a first, second, and third memory hub by a bidirectional memory bus, the second memory hub being located downstream from the first memory hub, the third memory hub being located downstream from the second memory hub, the method comprising:
-
the controller issuing a read command to a first memory location of a first memory device coupled to the second memory hub; after the controller issuing the read command and before receiving corresponding read data, the controller issuing a write command to a second memory location of a second memory device coupled to the third memory hub and providing write data corresponding to the issued write command to the bidirectional memory bus; coupling the read data corresponding to the previously issued read command to the bidirectional memory bus; the controller providing a bypass enable signal to the first memory hub; in response to the bypass enable signal, the first memory hub coupling the write data to a register in the memory system for temporary storage of the write data to allow the read data corresponding to the previously issued read command to propagate on the bidirectional data bus; recoupling the write data stored in the register to the bidirectional memory bus; and writing the write data to the memory location. - View Dependent Claims (6, 7, 8)
-
-
9. A method for executing memory commands in a memory system having a bidirectional memory bus on which both read and write data can be coupled, the memory system including a controller coupled to a first, second, and third memory hub, the second memory hub being downstream from the first memory hub, the third memory hub being downstream from the second memory hub, the method comprising:
-
the controller issuing a read command to a first memory location in a first memory device coupled to the second memory hub; the controller issuing a write command to a second memory location in a second memory device coupled to the third memory hub and providing write data corresponding to the write command to the bidirectional memory bus of the memory system after issuing the read command; accessing read data from the first memory location, the read data corresponding to the previously issued read command; coupling the read data corresponding to the previously issued read command to the bidirectional memory bus; the controller providing a bypass enable signal to the first memory hub; in response to the bypass enable signal, decoupling the write data in the first memory hub from the bidirectional memory bus preventing a collision between the read data and the write data; propagating the read data on the bidirectional memory bus through the first memory hub; and
recoupling the write data to the bidirectional memory bus. - View Dependent Claims (10, 11, 12)
-
-
13. A memory system comprising:
-
a bidirectional memory bus; a controller coupled to a first, second, and third memory hub, the second memory hub being downstream from the first memory hub, and the third memory hub being downstream from the second memory hub;
the controller coupled to the bidirectional memory bus, wherein the controller is configured to issue a read command to access a first memory location in a first memory device coupled to the second memory hub;after the controller issues the read command and before receiving read data corresponding to the issued read command, the controller issuing a write command to write data to a second memory location in a second memory device coupled to the third memory hub, the controller further providing write data corresponding to the issued write command to the bi-directional memory bus, the controller further configured to issue a bypass enable signal; and the first memory hub[coupled to the controller by the bidirectional memory bus, the first memory hub] including a bypass circuit configured to receive the write data from the bidirectional memory bus and to store the write data in response to receiving the bypass enable signal from the controller, wherein the bypass circuit is configured to store the write data in the first memory hub in response to receiving the bypass enable signal to allow the read data to propagate on the bidirectional memory bus passed the write data in the first memory hub and to prevent a data collision between the read data and the write data on the bidirectional memory bus. - View Dependent Claims (14)
-
Specification