IP Library Granted Patent US 9,857,993
Granted Patent B2
US 9,857,993 · App. 14/506,783 · Granted Jan 2, 2018

Bank-level fault management in a memory system

Inventors: Timothy J. Dell (Colchester, VT); Girisankar Paulraj (Bangalore, IN); Diyanesh B.Chinnakkonda Vidyapoornachary (Bangalore, IN)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F3/0619G06F3/0653G06F3/0683G06F11/0793G06F11/1048G06F11/2094G06F11/1666G06F11/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,857,993
App. No.
14/506,783
Granted
Jan 2, 2018
Kind
B2
Abstract

According to one aspect, bank-level fault management in a memory system is provided. The memory system includes a plurality of ranks, each rank including a plurality of memory devices each having a plurality of banks. A first error is detected in a first bank number of a first memory device of a rank. The first bank number of the first memory device is marked with a bank-level chip mark. The bank-level chip mark isolates declaration of an error condition to the first bank number. A bank-level fault management action is performed based on the bank-level chip mark to accommodate the error condition.

Claims (37)

1. A method for bank-level fault management in a memory system having a plurality of ranks, each rank comprising a plurality of memory devices each having a plurality of banks, the method comprising:

detecting a first error in a first bank number of a first memory device of a rank;

marking the first bank number of the first memory device with a bank-level chip mark, the bank-level chip mark isolating declaration of an error condition to the first bank number;

detecting a second error in the first bank number of a second memory device of the rank;

based on determining that a non-faulty bank is available at a second bank number, steering access requests for the first bank number of the second memory device to the non-faulty bank having the second bank number; and

performing a bank-level fault management action based on the bank-level chip mark to accommodate the error condition by correcting the first error using an error-correcting code decoder.

2. The method of claim 1 , further comprising:

receiving an access request for the second bank number; and

using the error-correcting code decoder to generate recovery data associated with the non-faulty bank having the second bank number after being overwritten by data associated with the first bank number of the second memory device.

3. The method of claim 1 , wherein the non-faulty bank having the second bank number is located in the second memory device.

4. The method of claim 1 , wherein the non-faulty bank is located on a second rank.

5. The method of claim 4 , wherein the rank and the second rank are located on separate memory modules coupled to a memory buffer device that controls bank steering between the rank and the second rank.

6. The method of claim 1 , further comprising:

based on detecting a subsequent error condition at the first bank number comprising the bank-level chip mark, marking the first bank number as a faulty bank; and

supporting address range de-allocation for an address space of the faulty bank.

7. The method of claim 1 , further comprising:

overwriting in-use data storage of the second bank number with data associated with the first bank number of the second memory device based on determining that a non-faulty bank is available at a second bank number.

8. The method of claim 1 , wherein the bank-level fault management action is performed by accessing the second bank number to accommodate the second error and correcting the first error using the error-correcting code decoder in combination with accessing the first bank number and the second bank number.

9. A computer program product for bank-level fault management in a memory system having a plurality of ranks, each rank comprising a plurality of memory devices each having a plurality of banks, the computer program product comprising:

a computer readable storage medium having program instructions embodied therewith, the program instructions readable by a processing circuit to cause the processing circuit to perform a method comprising:

detecting a first error in a first bank number of a first memory device of a rank;

marking the first bank number of the first memory device with a bank-level chip mark, the bank-level chip mark isolating declaration of an error condition to the first bank number;

detecting a second error in the first bank number of a second memory device of the rank;

based on determining that a non-faulty bank is available at a second bank number, steering access requests for the first bank number of the second memory device to the non-faulty bank having the second bank number; and

performing a bank-level fault management action based on the bank-level chip mark to accommodate the error condition by correcting the first error using an error-correcting code decoder.

10. The computer program product of claim 9 , wherein the program instructions are further configured to cause the processing circuit to perform the method comprising:

receiving an access request for the second bank number; and

using the error-correcting code decoder to generate recovery data associated with the non-faulty bank having the second bank number after being overwritten by data associated with the first bank number of the second memory device.

11. The computer program product of claim 9 , wherein the non-faulty bank having the second bank number is located in the second memory device.

12. The computer program product of claim 9 , wherein the non-faulty bank is located on a second rank.

13. The computer program product of claim 12 , wherein the rank and the second rank are located on separate memory modules coupled to a memory buffer device that controls bank steering between the rank and the second rank.

14. The computer program product of claim 9 , wherein the program instructions are further configured to cause the processing circuit to perform the method comprising:

based on detecting a subsequent error condition at the first bank number comprising the bank-level chip mark, marking the first bank number as a faulty bank; and

supporting address range de-allocation for an address space of the faulty bank.

15. The computer program product of claim 9 , wherein the program instructions are further configured to cause the processing circuit to perform the method comprising:

overwriting in-use data storage of the second bank number with data associated with the first bank number of the second memory device based on determining that a non-faulty bank is available at a second bank number.

16. The computer program product of claim 9 , wherein the bank-level fault management action is performed by accessing the second bank number to accommodate the second error and correcting the first error using the error-correcting code decoder in combination with accessing the first bank number and the second bank number.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2014
From: DELL, TIMOTHY J.; PAULRAJ, GIRISANKAR; VIDYAPOORNACHARY, DIYANESH B. CHINNAKKONDA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033890/0442 →
Continuity (2)
Continuation 14301611 · Jun 11, 2014
Related Publication 20150363287A1 · Dec 17, 2015