IP Library › Granted Patent US 11,200,119
Granted Patent B2
US 11,200,119 · App. 16/741,008 · Granted Dec 14, 2021

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,200,119
App. No.
16/741,008
Granted
Dec 14, 2021
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 (35)

1. A computer-implemented method comprising:

fetching, by a controller, data using a plurality of memory channels of a memory system, 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;

detecting, by the controller, that a first memory channel of the plurality of memory channels has not returned data;

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.

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

3. The computer-implemented method of claim 1 , wherein the first memory channel has not returned data because of 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 fetch data is returned at a first latency corresponding to a first bandwidth value associated with the plurality of memory channels.

6. The computer-implemented method of claim 1 , 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.

7. The computer-implemented method of claim 1 , wherein detecting a first 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.

8. 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:

fetching data using a plurality of memory channels of a memory system;

detecting that a first memory channel of the plurality of memory channels has not returned data;

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

in response to a fetch, reconstructing fetch data based on data received from all memory channels other than the first memory channel, wherein the first memory channel has not returned data because of a bandwidth degradation, wherein, prior to the bandwidth degradation being detected, 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.

9. The system of claim 8 , wherein the first memory channel has not returned data because of a bandwidth degradation, wherein the bandwidth degradation is detected in a downstream data transfer.

10. The system of claim 8 , wherein the first memory channel has not returned data because of a bandwidth degradation, wherein the bandwidth degradation is detected in an upstream data transfer.

11. The system of claim 8 , wherein the fetch data is returned at a first latency corresponding to a first bandwidth value associated with the plurality of memory channels.

12. The system of claim 8 , wherein in response to detecting the bandwidth degradation in the first memory channel all the memory channels are caused to refresh substantially simultaneously for the same rank.

13. The system of claim 12 , wherein the method further comprises blocking a downstream fetch command from being sent to a channel that is performing a refresh on a fetched rank.

14. The computer program product of claim 13 , wherein marking the last memory channel as being unavailable causes fetch data to be blocked from the last memory channel.

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:

configuring a plurality of memory channels of a memory computer program product to operate using a first bandwidth value, the plurality of memory channels comprising N memory channels;

detecting a bandwidth degradation of one or more memory channels from the plurality of memory channels; and

upon receipt of data from N-1 of the N memory channels, marking the last memory channel as being unavailable, wherein, prior to the bandwidth degradation being detected, 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.

16. The computer program product of claim 15 , wherein marking the last memory channel as being unavailable causes the data from the last memory channel to be blocked from being used for reconstructing fetch data.

17. The computer program product of claim 15 , wherein the bandwidth degradation is detected in a downstream data transfer.

18. The computer program product of claim 15 , wherein the bandwidth degradation is detected in an upstream data transfer.

19. The computer program product of claim 15 , wherein, in response to detecting the bandwidth degradation in the one or more memory channels, all the memory channels are caused to refresh substantially simultaneously for the same rank.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2020
From: MEANEY, PATRICK JAMES; GILDA, GLENN DAVID; CADIGAN, DAVID D.; JONES, LAWRENCE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 051498/0313 →
Continuity (1)
Related Publication 20210216400A1 · Jul 15, 2021