Patent ID: 8019919

Claim:
A method of accessing memory devices of a memory module, comprising: receiving, by a link interface of a memory hub device integrated in the memory module, a plurality of access requests for accessing a portion of one of a first set of memory devices or a second set of memory devices integrated in the memory module; sending, by the link interface, the plurality of access requests to a memory hub controller integrated into the memory hub device; selecting, by the memory hub controller, one or both of a first memory device data interface integrated in the memory hub device or a second memory device data interface integrated in the memory hub device, for performance of the plurality of access requests; and responsively driving, by the memory hub controller, the first set of memory devices and the second set of memory devices using a memory device address and control bus and directing two of a read data flow selector, a first write data flow selector, or a second write data flow selector at the same time in response to receiving a plurality of access request packets from one of an external memory controller or a downstream memory hub device of another memory module, wherein, responsive to receiving a read data access request and a write data access request, the memory hub controller drives the read data flow selector to a first multiplexer of the memory hub device to select outputting read data directly from one or more of the first memory device data interface, the second memory device data interface, or a read data queue, and drives either the first write data flow selector to a second multiplexer or the second write data flow selector to a third multiplexer for selecting either a direct input from the link interface of the memory hub device or an input from a write data queue of the memory hub device, and wherein the second multiplexer provides an output to the first memory device data interface and the third multiplexer provides an output to the second memory device data interface; accessing one of the first set of memory devices or the second set of memory devices in the memory module based on the selected first memory device data interface or the second memory device data interface, wherein: the first memory device data interface communicates with the first set of memory devices, the second memory device data interface communicates with the second set of memory devices, the first set of memory devices are separate from the second set of memory devices, and the first memory device data interface is separate from the second memory device data interface.