CPC G06F 21/554 (2013.01) [G06F 12/0802 (2013.01); G06F 12/0891 (2013.01); G06F 2212/1052 (2013.01); G06F 2221/034 (2013.01)] | 25 Claims |
1. A method comprising:
receiving a flush-caused invalidation at a cache line of a cache;
in response to receiving the flush-caused invalidation:
marking a valid bit of the cache line as invalid, wherein in an initial state prior to receiving the flush-caused invalidation, the valid bit was marked valid; and
marking a zombie bit of the cache line as valid, wherein in the initial state the zombie bit was marked invalid, and wherein marking the zombie bit as valid identifies the cache line is an invalid zombie line;
receiving a first access request at the invalid zombie line;
receiving second data from a memory;
in response to receiving the second data, either:
when the second data is different than cache data of the cache line, marking the valid bit as valid and marking the zombie bit as invalid; or
when the second data is equal to the cache data, marking the valid bit as valid, thereby creating a valid zombie line;
receiving a second access request at the valid zombie line; and
identifying the valid zombie line as under attack.
|