Memory access requests in hybrid memory system
First Claim
1. A device, comprising:
- a hybrid controller configured to manage data transfers between a host processor and a secondary memory, the secondary memory configured to serve as a cache for a primary memory, the primary memory including a memory space corresponding to host logical block addresses (LBAs), the hybrid controller configured to;
receive incoming memory access requests from the host processor, the memory access requests including a range of host LBAs;
route the incoming memory access requests to a set of incoming queues by implementing a priority scheme, comprising;
routing invalidate requests in an invalidate ready queue to an execute queue as a first priority, the execute queue including requests that are ready to be executed;
routing read requests in a read ready queue to the execute queue as a second priority; and
routing promotion requests in a promotion ready queue as a third priority;
map the range of host LBAs directly into clusters of the secondary memory;
transform each incoming memory access request into one or more outgoing memory access requests, each outgoing memory access request including a range or cluster of secondary memory;
route the outgoing memory access requests from the incoming queues into a set of outgoing queues; and
access the secondary memory using the outgoing memory access requests.
1 Assignment
0 Petitions
Accused Products
Abstract
Incoming memory access requests are routed in a set of incoming queues, the incoming memory access requests comprise a range of host logical block addresses (LBAs) that correspond to a memory space of a primary memory. The host LBA range is directly mapped to clusters of secondary memory, the secondary memory corresponding to a memory space of a secondary memory. Each incoming memory access request queued in the set of incoming queues is transformed into one or more outgoing memory access requests that include a range of secondary memory clusters or one or more clusters of secondary memory clusters. The outgoing memory access requests are routed in a set of outgoing queues. The secondary memory is accessed using the outgoing memory access requests.
-
Citations
18 Claims
-
1. A device, comprising:
-
a hybrid controller configured to manage data transfers between a host processor and a secondary memory, the secondary memory configured to serve as a cache for a primary memory, the primary memory including a memory space corresponding to host logical block addresses (LBAs), the hybrid controller configured to; receive incoming memory access requests from the host processor, the memory access requests including a range of host LBAs; route the incoming memory access requests to a set of incoming queues by implementing a priority scheme, comprising; routing invalidate requests in an invalidate ready queue to an execute queue as a first priority, the execute queue including requests that are ready to be executed; routing read requests in a read ready queue to the execute queue as a second priority; and routing promotion requests in a promotion ready queue as a third priority; map the range of host LBAs directly into clusters of the secondary memory; transform each incoming memory access request into one or more outgoing memory access requests, each outgoing memory access request including a range or cluster of secondary memory; route the outgoing memory access requests from the incoming queues into a set of outgoing queues; and access the secondary memory using the outgoing memory access requests. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of operating a hybrid memory system that includes a primary memory and a secondary memory, the method comprising:
-
routing incoming memory access requests in a set of incoming queues according to a priority scheme, the incoming memory access requests comprising a range of host logical block addresses (LBAs) that correspond to a memory space of the primary memory the priority scheme, comprising; routing invalidate requests in an invalidate ready queue to an execute queue as a first priority, the execute queue including requests that are ready to be executed; routing read requests in a read ready queue to the execute queue as a second priority; and routing promotion requests in a promotion ready queue as a third priority; directly mapping the host LBA range to clusters of secondary memory, the clusters of secondary memory corresponding to a memory space of the secondary memory; transforming each incoming memory access request queued in the set of incoming queues into one or more outgoing memory access requests, the outgoing memory comprising a range of secondary memory or one or more clusters of secondary memory; routing the one or more outgoing memory access requests in a set of outgoing queues; and accessing the secondary memory using the outgoing memory access requests. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A controller system for a hybrid memory system, the controller comprising:
-
a hybrid controller configured to control data transfers between the host processor and a flash memory, the flash memory configured to serve as a cache for a magnetic disk, the hybrid controller comprising; a flash content and transfer management (FCTM) layer configured to; receive the incoming memory access requests from a higher layer of the hybrid controller; route the incoming data access requests in a set of incoming queues by implementing a priority scheme, comprising; routing invalidate requests in an invalidate ready queue to an execute queue as a first priority, the execute queue including requests that are ready to be executed; routing read requests in a read ready queue to the execute queue as a second priority; and routing promotion requests in a promotion ready queue as a third priority; transform each of the memory access requests from the set of incoming queues into a plurality of outgoing memory access requests; route the plurality of outgoing memory access requests in a set of outgoing queues; and send the outgoing memory access requests to a lower layer of the hybrid controller. - View Dependent Claims (15, 16, 17, 18)
-
Specification