System and method for remapping defective memory locations
First Claim
1. A computer memory module for storing data and instructions for use by a computer system having a memory controller for controlling the memory module, the memory module comprising:
- a volatile memory block having a plurality of volatile memory portions at least one of which may be defective;
a nonvolatile memory block having an error map that includes an error tag for each of the defective volatile memory portions, the error tag indicating that the volatile memory portion is defective, the error map enabling the memory controller to determine whether a requested volatile memory portion is one of the defective volatile memory portions so that the memory controller can access a non-defective volatile memory portion in response to receiving a request for the requested volatile memory portion; and
a remapping table included in the volatile memory block, the remapping table being created from the error map to map each of the defective volatile memory portions to a non-defective volatile memory portion in the volatile memory block so that a request for access to the defective volatile memory portion can be directed to the non-defective volatile memory portion.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer system includes a memory requester that interfaces with a memory module that includes memory portions. An error map that identifies the defective memory portions of the memory module is created and stored in the computer system. Using the error map, a remapping table that maps each of the defective memory portions to a non-defective memory portion in the memory module is created and then stored. In response to receiving from the memory requester a request for access to a requested memory portion of the memory module, a determination is made from the error map whether the requested memory portion is one of the defective memory portions. If the error map indicates that the requested memory portion is one of the defective memory portions, then a determination is made from the remapping table the non-defective memory portion to which the requested memory portion is mapped. The non-defective memory portion is accessed if the error map indicates that the requested memory portion is defective, and the requested memory portion is accessed if the error map does not indicate that the requested memory portion is defective.
-
Citations
16 Claims
-
1. A computer memory module for storing data and instructions for use by a computer system having a memory controller for controlling the memory module, the memory module comprising:
-
a volatile memory block having a plurality of volatile memory portions at least one of which may be defective; a nonvolatile memory block having an error map that includes an error tag for each of the defective volatile memory portions, the error tag indicating that the volatile memory portion is defective, the error map enabling the memory controller to determine whether a requested volatile memory portion is one of the defective volatile memory portions so that the memory controller can access a non-defective volatile memory portion in response to receiving a request for the requested volatile memory portion; and a remapping table included in the volatile memory block, the remapping table being created from the error map to map each of the defective volatile memory portions to a non-defective volatile memory portion in the volatile memory block so that a request for access to the defective volatile memory portion can be directed to the non-defective volatile memory portion. - View Dependent Claims (2, 3, 4)
-
-
5. A computer system for servicing a memory access request from a memory requester, comprising:
-
a memory module having a volatile memory block with a plurality of volatile memory portions at least one of which may be defective, the memory module including a nonvolatile memory block that stores error information that identifies each of the defective volatile memory portions as being defective; and a memory controller coupled to the memory module, the memory controller comprising; an error map created by the memory controller retrieving the error information from the nonvolatile memory block, the error map having an error tag for each defective volatile memory portion, the error tag indicating that the volatile memory portion is defective; and a request processor that, in response to the memory access request, determines from the error map whether the requested volatile memory portion is defective and if the requested volatile memory portion is defective, directs the memory access request to a non-defective volatile memory portion of the volatile memory block rather than to the requested volatile memory portion. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A memory controller for servicing a memory access request directed to a memory module from a memory requester, the memory module having a plurality of volatile memory portions at least one of which may be defective, the memory module further including a nonvolatile memory block that stores error information that identifies each defective volatile memory portion, the memory controller comprising:
-
a remapping processor that retrieves the error information from the nonvolatile memory block; an error map having an error tag for each defective volatile memory portion, the error tag indicating that the volatile memory portion is defective, the error map being created from the error information retrieved by the remapping processor; and a request processor that, in response to the memory access request, determines from the error map whether the requested volatile memory portion is defective and if the requested volatile memory portion is defective, directs the memory access request to a non-defective volatile memory portion of the memory module rather than to the requested volatile memory portion. - View Dependent Claims (11, 12, 13)
-
-
14. A computer system for servicing memory access requests, comprising:
-
a memory module having a plurality of memory portions at least one of which may be defective, the memory module also including a remapping data structure that maps any defective memory portions of the memory module to respective non-defective memory portions of the memory module; and a memory controller coupled to the memory module, the memory controller comprising; an error map identifying which memory portions of the memory module are defective; and a request processor that, in response to a memory access request, determines from the error map whether the requested memory portion is defective and if the requested memory portion is defective, determines from the remapping data structure the non-defective memory portion to which the defective memory portion is mapped, and directs the memory access request to the non-defective memory portion rather than to the requested memory portion. - View Dependent Claims (15, 16)
-
Specification