Hard memory array failure recovery utilizing locking structure
Abstract
A technique for managing hard failures in a memory system employing a locking is disclosed. An error count is maintained for units of memory within the memory system. When the error count indicates a hard failure, the unit of memory is locked out from further use. An arbitrary set of error counters are assigned to record errors resulting from access to the units of memory. Embodiments of the present invention advantageously enable a system to continue reliable operation even after one or more internal hard memory failures. Other embodiments advantageously enable manufacturers to salvage partially failed devices and deploy the devices as having a lower-performance specification rather than discarding the devices, as would otherwise be indicated by conventional practice.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for locking out units of storage exhibiting hard failure, the method comprising:
receiving an access request based on a request address; performing a tag lookup of the request address with respect to a set of stored data address tags; matching the request address to a stored data address tag; accessing a unit of storage corresponding to the request address; determining that an error has occurred as a consequence of accessing the unit of storage; and setting a failed attribute for the unit of storage to preclude access to the unit of storage.
2 . The method of claim 1 , wherein the unit of storage is a cache line, and the step of performing a tag lookup comprises performing a fully associative pattern match between the request address and the set of stored data address tags.
3 . The method of claim 1 , wherein the unit of storage is a way in an N-way set associate cache, and the step of performing a tag lookup comprises performing an N-way set associate pattern match between the request address and the set of stored data address tags.
4 . The method of claim 1 , further comprising the step of recording the error in an error counter associated with the unit of storage.
5 . The method of claim 4 , further comprising the step of determining that the unit of storage has failed based on an error count associated with the error counter.
6 . The method of claim 5 , wherein a different error counter in a set of error counters is associated with each unit of storage, and the step of recording comprises incrementing one error counter from the set of error counters.
7 . The method of claim 5 , wherein the step of recording comprises:
receiving an error address that corresponds to the unit of storage; performing a tag lookup of the error address within a set of error address tags, wherein each error address tag has a corresponding error counter; determining that the error address matches a first error address tag; and incrementing an error counter corresponding to the first error address tag.
8 . The method of claim 7 , further comprising the step of clearing the error counter and disassociating the error counter from the failed unit of storage.
9 . The method of claim 1 , wherein the step of recording comprises:
receiving an error address that corresponds to a unit of storage; performing a tag lookup of the error address within a set of error address tags, wherein each error address tag has a corresponding error counter. determining that the error address does not match an error address tag; selecting an error counter and storing the error address in an error address tag associated with the selected error counter; and incrementing the selected error counter.
10 . The method of claim 1 , further comprising the steps of selecting a cache line within the unit of storage for eviction; evicting data resident in the selected cache line; and filling the selected cache line with data associated with the access request.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.