IP Library Granted Patent US 9,459,997
Granted Patent B2
US 9,459,997 · App. 14/266,984 · Granted Oct 4, 2016

Error injection and error counting during memory scrubbing operations

Inventors: Lawrence D. Curley (Endwell, NY); Glenn D. Gilda (Binghamton, NY); Patrick J. Meaney (Poughkeepsie, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F12/02G06F11/261G06F12/0253G11C29/02G11C29/10G11C29/44G06F11/106G06F11/26G06F11/263G06F2212/1032G06F2212/1044G11C11/41G11C2029/0409
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,459,997
App. No.
14/266,984
Granted
Oct 4, 2016
Kind
B2
Abstract

Embodiments relate to performing a memory scrubbing operation that includes injecting an error on a write operation associated with a memory address. One or more errors are detected during a two-pass scrub operation on the memory address. Based on a result of the two-pass scrub operation, one or more of a hard error counter associated with the memory address and a soft error counter associated with the memory address is selected. The one or more selected counters are updated based on the result of the two-pass scrub operation.

Claims (43)

1. A computer program product for injecting errors during a memory operation, 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:

injecting an error to test error count thresholds, the injecting on a write operation associated with a memory address;

detecting one or more errors during a two-pass scrub operation on the memory address;

selecting, based on a result of the two-pass scrub operation, one or more of a hard error counter associated with the memory address and a soft error counter associated with the memory address; and

updating the one or more selected counters based on the result of the two-pass scrub operation.

2. The computer program product of claim 1 , wherein the method further comprises:

correcting the one or more errors detected during the two-pass scrub operation.

3. The computer program product of claim 1 , wherein the method further comprises:

re-injecting the one or more errors detected during the two-pass scrub operation.

4. The computer program product of claim 1 , wherein the method further comprises:

selecting one or more store types based on reading a field in a configuration register; and

injecting the error only for the one or more selected store types.

5. The computer program product of claim 1 , wherein the method further comprises:

selecting a memory domain based on reading a field in a configuration register; and

injecting the error only for the selected memory domain.

6. The computer program product of claim 1 , wherein the method further comprises:

selecting one or more memory ranks based on reading a field in a configuration register; and

injecting the error only for the one or more selected memory ranks.

7. The computer program product of claim 1 , wherein the method further comprises:

setting an injection limit by reading a count field in a configuration register; and

injecting a number of errors equal to the injection limit.

8. The computer program product of claim 1 , wherein the performing the two-pass scrub operation further includes performing a patrol fetch at the memory address and performing a store-back at the memory address, wherein the injecting the error occurs during the store-back.

9. A memory system for performing a scrub operation, the memory system comprising:

a memory controller; and

a plurality of memory modules in communication with the memory controller;

the memory system configured to perform a method comprising:

injecting an error to test error count thresholds, the injecting on a write operation associated with a memory address;

detecting one or more errors during a two-pass scrub operation on the memory address;

selecting, based on a result of the two-pass scrub operation, one or more of a hard error counter associated with the memory address and a soft error counter associated with the memory address; and

updating the one or more selected counters based on the result of the two-pass scrub operation.

10. The memory system of claim 9 , the method further comprising:

selecting one or more store types based on reading a field in a configuration register; and

injecting the error only for the one or more selected store types.

11. The memory system of claim 9 , the method further comprising:

selecting a memory domain based on reading a field in a configuration register; and

injecting the error only for the selected memory domain.

12. The memory system of claim 9 , the method further comprising:

selecting one or more memory ranks based on reading a field in a configuration register; and

injecting the error only for the one or more selected memory ranks.

13. The memory system of claim 9 , the method further comprising:

setting an injection limit by reading a count field in a configuration register; and

injecting a number of errors equal to the injection limit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2014
From: CURLEY, LAWRENCE D.; GILDA, GLENN D.; MEANEY, PATRICK J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 032798/0546 →
Continuity (1)
Related Publication 20150318058A1 · Nov 5, 2015