US 12,443,341 B1
Memory controller with speculative precursor commands
Thomas H. Hamilton, Hutto, TX (US); Matthew Derrick Garrett, Austin, TX (US); and Manan Chugh, Cedar Park, TX (US)
Assigned to Arm Limited, Cambridge (GB)
Filed by Arm Limited, Cambridge (GB)
Filed on May 22, 2024, as Appl. No. 18/670,827.
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0604 (2013.01) [G06F 3/0659 (2013.01); G06F 3/0673 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of accessing a memory by a memory controller, comprising:
indicating expiration of a first time period;
indicating expiration of a second time period, where:
the first time period is shorter than the second time period by a designated amount; and
the second time period is greater than or equal to a specified minimum time between a prior memory access command and a secondary precursor memory access command of a memory access protocol having a plurality of memory access commands including primary and secondary precursor memory access commands;
enabling a command scheduler of the memory controller to allow selection of a primary precursor memory access command when the first time period has expired;
enabling the command scheduler to allow selection of a secondary precursor memory access command when the second time period has expired and a corresponding primary precursor memory access command has been sent to the memory;
selecting, by the command scheduler, a memory access command;
sending the selected memory access command to the memory; and
beginning the first and second time periods when the prior memory access command has been sent to the memory.