IP Library › Granted Patent US 11,609,817
Granted Patent B2
US 11,609,817 · App. 17/470,100 · Granted Mar 21, 2023

Low latency availability in degraded redundant array of independent memory

Inventors: Patrick James Meaney (Poughkeepsie, NY); Glenn David Gilda (Binghamton, NY); David D. Cadigan (Danbury, CT); Lawrence Jones (Endwell, NY)
Assignee: International Business Machines Corporation
G06F11/1076G06F11/0772G06F11/1044G06F11/3037G06F12/0862G06F13/1668G11C11/40615G11C29/42
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 11,609,817
App. No.
17/470,100
Granted
Mar 21, 2023
Kind
B2
Abstract

A computer-implemented method includes fetching, by a controller, data using a plurality of memory channels of a memory system. The method further includes detecting, by the controller, that a first memory channel of the plurality of memory channels has not returned data. The method further includes marking, by the controller, the first memory channel from the plurality of memory channels as unavailable. The method further includes, in response to a fetch, reconstructing, by the controller, fetch data based on data received from all memory channels other than the first memory channel.

Claims (55)

1. A computer-implemented method comprising:

detecting, by a controller, that a first memory channel of a plurality of memory channels has bandwidth degradation causing the first memory channel to operate at a second bandwidth value, wherein the controller fetches data from a memory system using the plurality of memory channels, the plurality of memory channels configured to operate at a first bandwidth value;

marking, by the controller, the first memory channel from the plurality of memory channels as unavailable; and

in response to a fetch:

initiating, by the controller, from the memory system, fetching of data from all memory channels other than the first memory channel;

based on a determination that all the memory channels other than the first memory channel are responsive, reconstructing data from the data received from all the memory channels other than the first memory channel;

based on a determination that a second memory channel is unresponsive:

marking the second memory channel as unavailable;

marking the first memory channel as available;

reconfiguring the plurality of memory channels to operate at the second bandwidth value of the first memory channel; and

reconstructing data from the data received from all the memory channels other than the second memory channel.

2. The computer-implemented method of claim 1 , wherein the first memory channel has a bandwidth degradation in a downstream data transfer.

3. The computer-implemented method of claim 1 , wherein the first memory channel has a bandwidth degradation in an upstream data transfer.

4. The computer-implemented method of claim 1 , wherein the memory system is a redundant array of independent memory (RAIM) error correcting code memory system.

5. The computer-implemented method of claim 1 , wherein the first bandwidth value is associated with a first latency, and the second bandwidth value is associated with a second latency.

6. The computer-implemented method of claim 1 , wherein the memory channels are refreshed in a staggered manner, which comprises each memory channel refreshing a rank that is distinct from each of the other ranks being refreshed.

7. The computer-implemented method of claim 6 , further comprising blocking, by the controller, a downstream fetch command from being sent to a channel that is performing a refresh on a fetched rank.

8. The computer-implemented method of claim 6 , wherein detecting a channel failure comprises:

configuring all the memory channels to refresh substantially simultaneously for each rank;

marking, by the controller, the first memory channel from the plurality of memory channels as unavailable; and

in response to a fetch, reconstructing, by the controller, fetch data based on data received from all memory channels other than the first memory channel.

9. A system comprising:

a memory system comprising a plurality of memory channels; and

a memory controller communicatively coupled with the memory system, the memory controller configured to perform a method comprising:

detecting that a first memory channel of a plurality of memory channels has bandwidth degradation causing the first memory channel to operate at a second bandwidth value, wherein the controller fetches data from a memory system using the plurality of memory channels, the plurality of memory channels configured to operate at a first bandwidth value;

marking the first memory channel from the plurality of memory channels as unavailable; and

in response to a fetch:

initiating from the memory system, fetching of data from all memory channels other than the first memory channel;

based on a determination that all the memory channels other than the first memory channel are responsive, reconstructing data from the data received from all the memory channels other than the first memory channel; and

based on a determination that a second memory channel is unresponsive:

marking the second memory channel as unavailable;

marking the first memory channel as available;

reconfiguring the plurality of memory channels to operate at the second bandwidth value of the first memory channel; and

reconstructing data from the data received from all the memory channels other than the second memory channel.

10. The system of claim 9 , wherein the first memory channel has a bandwidth degradation in a downstream data transfer.

11. The system of claim 9 , wherein the first memory channel has a bandwidth degradation in an upstream data transfer.

12. The system of claim 9 , wherein the first bandwidth value is associated with a first latency, and the second bandwidth value is associated with a second latency.

13. The system of claim 9 , wherein the memory channels are refreshed in a staggered manner, which comprises each memory channel refreshing a rank that is distinct from each of the other ranks being refreshed.

14. The system of claim 9 , wherein the memory system is a redundant array of independent memory (RAIM) error correcting code memory system.

15. A computer program product comprising a computer-readable storage medium having program instructions embodied therewith, the program instructions when executed by a processor cause the processor to perform a method comprising:

detecting that a first memory channel of a plurality of memory channels has bandwidth degradation causing the first memory channel to operate at a second bandwidth value, wherein the controller fetches data from a memory system using the plurality of memory channels, the plurality of memory channels configured to operate at a first bandwidth value;

marking the first memory channel from the plurality of memory channels as unavailable; and

in response to a fetch:

initiating from the memory system, fetching of data from all memory channels other than the first memory channel;

based on a determination that all the memory channels other than the first memory channel are responsive, reconstructing data from the data received from all the memory channels other than the first memory channel; and

based on a determination that a second memory channel is unresponsive:

marking the second memory channel as unavailable;

marking the first memory channel as available;

reconfiguring the plurality of memory channels to operate at the second bandwidth value of the first memory channel; and

reconstructing data from the data received from all the memory channels other than the second memory channel.

16. The computer program product of claim 15 , wherein the first memory channel has a bandwidth degradation in a downstream data transfer.

17. The computer program product of claim 15 , wherein the first memory channel has a bandwidth degradation in an upstream data transfer.

18. The computer program product of claim 15 , wherein the memory system is a redundant array of independent memory (RAIM) error correcting code memory system.

19. The computer program product of claim 15 , wherein the first bandwidth value is associated with a first latency, and the second bandwidth value is associated with a second latency.

20. The computer program product of claim 15 , wherein the memory channels are refreshed in a staggered manner, which comprises each memory channel refreshing a rank that is distinct from each of the other ranks being refreshed.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2021
From: MEANEY, PATRICK JAMES; GILDA, GLENN DAVID; CADIGAN, DAVID D.; JONES, LAWRENCE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 057425/0953 →
Continuity (2)
Continuation 16741008 · Jan 13, 2020
Related Publication 20210406126A1 · Dec 30, 2021