The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Oct. 25, 2016

Filed:

Sep. 05, 2014
Applicant:

Facebook, Inc., Menlo Park, CA (US);

Inventors:

Carl A. Waldspurger, Palo Alto, CA (US);

Oded Horovitz, Palo Alto, CA (US);

Stephen A. Weis, San Francisco, CA (US);

Sahil Rihan, Menlo Park, CA (US);

Assignee:

FACEBOOK, INC., Menlo Park, CA (US);

Attorney:
Primary Examiner:
Assistant Examiner:
Int. Cl.
CPC ...
G06F 12/08 (2016.01); G06F 12/12 (2016.01);
U.S. Cl.
CPC ...
G06F 12/0862 (2013.01); G06F 12/0868 (2013.01); G06F 12/126 (2013.01);
Abstract

A system and method of operation exploit the limited associativity of a single cache set to force observable cache evictions and discover conflicts. Loads are issued to input memory addresses, one at a time, until a cache eviction is detected. After observing a cache eviction on a load from an address, that address is added to a data structure representing the current conflict set. The cache is then flushed, and loads are issued to all addresses in the current conflict set, so that all known conflicting addresses are accessed first, ensuring that the next cache miss will occur on a different conflicting address. The process is repeated, issuing loads from all input memory addresses, incrementally finding conflicting addresses, one by one. Memory addresses that conflict in the cache belong to the same partition, whereas memory addresses belonging to different partitions do not conflict.


Find Patent Forward Citations

Loading…