US 12,436,714 B2
Access request reordering for memory-based communication queues
Michael Keith Dugan, Richardson, TX (US); and Tony M. Brewer, Plano, TX (US)
Assigned to Micron Technology, Inc., Boise, ID (US)
Filed by Micron Technology, Inc., Boise, ID (US)
Filed on Aug. 30, 2022, as Appl. No. 17/899,016.
Prior Publication US 2024/0069805 A1, Feb. 29, 2024
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0659 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0679 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A system, comprising: a memory device; and a command manager configured to reorder read requests, the command manager is further configured to: receive a read request at a read request queue; allocate a first entry of a reordering queue for a read response to the read request, and allocate a free list entry for the read request from a free list, the free list entry associated with a transaction identifier of the read request, and the reordering queue having a specified number of entries; write a tail index to a remapping queue based on the free list entry, the tail index corresponding to a write address of the first entry of the reordering queue; maintain a head pointer corresponding to a next entry to be read from the reordering queue: receive the read response, wherein the read response includes the transaction identifier; use the transaction identifier to access information from the remapping queue associated with the tail index and corresponding to the write address of the first entry of the reordering queue; based on the information from the remapping queue, write the read response to the allocated first entry of the reordering queue and set a corresponding valid bit in a valid vector to indicate the allocated first entry of the reordering queue includes read response data, wherein the valid vector has a same number of entries as the specified number of entries of the reordering queue; and determine the valid bit is set for the next entry of the reordering queue indicated by the head pointer and, in response, provide the read response data from the reordering queue.