Patent ID: 8131974

Claim:
A method, in a data processing system, for predicting whether to perform speculative retrieval of data for a data request from a main memory of the data processing system, comprising: storing history information for memory regions in one or more idle finite state machines (FSMs) of a plurality of FSMs in a memory controller of the data processing system, wherein the plurality of FSMs are primarily utilized by the memory controller for address collision detection and acknowledgement of a data request with snoop responses, and wherein each idle FSM is a FSM having an invalid address in the FSM's corresponding address register; extracting a first address from the data request; comparing the first address to memory regions associated with second addresses stored in address registers of the plurality of (FSMs); selecting a FSM whose memory region includes the first address; obtaining history information for the memory region from the selected FSM; and controlling whether to speculatively retrieve the data for the data request from a main memory based on the obtained history information, wherein the selected FSM storing the history information for the memory re ion is one of the one or more idle FSMs in the plurality of FSMs, and wherein the history information is stored in a state register of the selected FSM.