US2015149733A1PendingUtilityA1

Supporting speculative modification in a data cache

50
Assignee: ROZAS GUILLERMOPriority: Jul 16, 2003Filed: Jan 14, 2011Published: May 28, 2015
Est. expiryJul 16, 2023(expired)· nominal 20-yr term from priority
G06F 12/0804G06F 2212/603G06F 12/0815G06F 12/0891
50
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Method and system for supporting speculative modification in a data cache are provided and described. In one embodiment, a speculative cache buffer includes a plurality of cache lines and a plurality of state indicators. At least one of the cache lines is operable to receive an evicted cache line from a cache. The at least one of the cache lines is operable to return the evicted cache line to the cache if the cache requests the evicted cache line. Further, the plurality of state indicators is operable to indicate a state of a corresponding cache line of the cache lines.

Claims

exact text as granted — not AI-modified
1 . A speculative cache buffer comprising:
 a plurality of cache lines, wherein at least one of the cache lines is operable to receive an evicted cache line from a cache, wherein the at least one of the cache lines is operable to return the evicted cache line to the cache if the cache requests the evicted cache line, and wherein if data is stored in the cache lines, the data has been received from the cache; and   a plurality of state indicators operable to indicate a state of a corresponding cache line of the cache lines.   
     
     
         2 . The speculative cache buffer of  claim 1 , wherein the evicted cache line includes speculatively modified data. 
     
     
         3 . The speculative cache buffer of  claim 1 , wherein the evicted cache line includes dirty data. 
     
     
         4 . The speculative cache buffer of  claim 1 , wherein the plurality of state indicators include an invalid state, a dirty state, and a speculative state. 
     
     
         5 . The speculative cache buffer of  claim 4 , wherein the plurality of state indicators include a commit-kill state. 
     
     
         6 . The speculative cache buffer of  claim 5 , wherein if the state indicator of a cache line is the commit-kill state, the state indicator is changed to the invalid state in response to a commit operation. 
     
     
         7 . The speculative cache buffer of  claim 5 , wherein if the state indicator of a cache line is the commit-kill state, the state indicator is changed to the dirty state in response to a rollback operation. 
     
     
         8 . The speculative cache buffer of  claim 1 , wherein if the state indicator of a cache line is a dirty state, the cache line is drained to a memory. 
     
     
         9 . The speculative cache buffer of  claim 8 , wherein the state indicator is changed to an invalid state. 
     
     
         10 . A method comprising:
 speculatively modifying a cache line of a cache;   evicting the cache line from the cache to a speculative cache buffer, wherein if data is stored in cache lines of the speculative cache buffer, the data has been received from the cache; and   retrieving the cache line from the speculative cache buffer to the cache.   
     
     
         11 . The method of  claim 10 , wherein said evicting comprises:
 setting a state indicator of the cache line in the speculative cache buffer to a speculative state.   
     
     
         12 . The method of  claim 11 , wherein in response to a rollback operation, setting the state indicator of the cache line in the speculative cache buffer to an invalid state. 
     
     
         13 . The method of  claim 11 , wherein in response to a commit operation, setting the state indicator of the cache line in the speculative cache buffer to a dirty state. 
     
     
         14 . The method of  claim 10 , wherein said retrieving comprises:
 setting a state indicator of the cache line in the speculative cache buffer to an invalid state.   
     
     
         15 . The method of  claim 10 , further comprising:
 modifying a second cache line of the cache;   evicting the second cache line from the cache to the speculative cache buffer;   setting a state indicator of the second cache line in the speculative cache buffer to a commit-kill state;   in response to a rollback operation, setting the state indicator of the second cache line in the speculative cache buffer to a dirty state; and   in response to a commit operation, setting the state indicator of the second cache line in the speculative cache buffer to an invalid state.   
     
     
         16 . A method comprising:
 evicting a cache line from a cache to a speculative cache buffer, wherein the cache line includes dirty data;   if said evicting is initiated by a speculative store operation to the cache line, setting a state indicator of the cache line in the speculative cache buffer to a first state; and   if said evicting is initiated by a non-speculative store operation to the cache line, setting the state indicator of the cache line in the speculative cache buffer to a second state.   
     
     
         17 . The method of  claim 16 , wherein the first state is a commit-kill state. 
     
     
         18 . The method of  claim 17 , wherein in response to a rollback operation, setting the state indicator of the cache line in the speculative cache buffer to a dirty state. 
     
     
         19 . The method of  claim 17 , wherein in response to a commit operation, setting the state indicator of the cache line in the speculative cache buffer to an invalid state. 
     
     
         20 . The method of  claim 16 , wherein the second state is a dirty state.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.