A data processing system includes one or more processing cores, a system
memory having multiple rows of data storage, and a memory controller that
controls access to the system memory and performs supplier-based memory
speculation. The memory controller includes a memory speculation table
that stores historical information regarding prior memory accesses. In
response to a memory access request, the memory controller directs an
access to a selected row in the system memory to service the memory
access request. The memory controller speculatively directs that the
selected row will continue to be energized following the access based
upon the historical information in the memory speculation table, so that
access latency of an immediately subsequent memory access is reduced.