Patent ID: 7430650

Claim:
A cache prefetch method, comprising the steps of: (a) computing a first set of prefetch address candidates based on previously requested addresses, wherein the computing step (a) comprises: (a1) computing differences between a requested address and the previously requested addresses; (a2) incrementing address offset counters corresponding to the computed differences; (a3) computing a set of N highest address offset counters, wherein N is a positive integer; and (a4) adding the computed differences corresponding to the set of N highest address offset counters to the requested address to obtain the first set of prefetch address candidates; and (b) computing a second set of prefetch address candidates based on previously requested data that comprised addresses; and (c) returning a union of the first and second sets of prefetch address candidates; wherein the computing step (a) and the computing step (b) are performed in parallel, and wherein the previously requested addresses and the previously requested data are predetermined based on known memory access behavior or desired prefetching behavior.