IP Library Granted Patent US 11,188,261
Granted Patent B2
US 11,188,261 · App. 16/686,338 · Granted Nov 30, 2021

Memory controllers for solid-state storage devices

Inventors: Nikolaos Papandreou (Thalwil, CH); Roman Alexander Pletka (Uster, CH); Radu Ioan Stoica (Zurich, CH); Nikolas Ioannou (Zurich, CH); Sasa Tomic (Kilchberg, CH); Charalampos Pozidis (Thalwil, CH)
Assignee: International Business Machines Corporation
G06F3/0659G06F3/068G06F3/0608G06F3/0611G06F3/0653G06F3/0679G06F9/505G06F9/5033G06F13/1694
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,188,261
App. No.
16/686,338
Granted
Nov 30, 2021
Kind
B2
Abstract

Aspects of the present invention disclose a method, computer program product, and system for controlling operation of an array of non-volatile memory cells comprising cells which are selectively configurable for single-bit and multibit storage. The method includes a memory controller selectively configuring the array for operation in a hybrid mode, in which the array comprises both cells configured for single-bit storage and cells configured for multibit storage, and a multibit mode in which all cells in the array are configured for multibit storage. The method further includes the memory controller dynamically switching between the hybrid and multibit mode configurations of the array corresponding to array capacity-usage traversing a defined threshold level associated with enhance endurance of the array.

Claims (55)

1. A computer system for controlling operation of an array of non-volatile memory cells comprising cells which are selectively configurable for single-bit and multibit storage, the computer system comprising:

one or more computer processors;

a memory controller;

one or more computer readable storage media; and

program instructions stored on the computer readable storage media, the program instructions being executable by a processing device of the memory controller to cause the memory controller to:

selectively configure the array for operation in a hybrid mode, in which the array comprises both cells configured for single-bit storage and cells configured for multibit storage, and a multibit mode in which all cells in the array are configured for multibit storage;

dynamically switch between the hybrid mode and multibit mode configurations of array corresponding to the array capacity-usage traversing a defined threshold level associated with enhancing an endurance of the array;

prior to operation of the array, defining the threshold level in dependence on a set of system parameters for the array, the parameters indicating information selected from the group consisting of:

raw cell endurance in the single-bit mode and multibit mode;

size of the array;

workload-type for the array;

one of a static-hybrid mode, in which a ratio of single-bit and multibit cells is static, and a dynamic-hybrid mode, in which the ratio is dynamically determined, for operation of the array in the hybrid mode; and

whether write-heat segregation is enabled for operation of the array in the hybrid mode.

2. The computer system of claim 1 , wherein the threshold level is defined as a capacity-usage level to transition between the hybrid mode and multibit mode based on array-endurance.

3. The computer system of claim 1 , further comprising program instructions, stored on the computer readable storage media for execution utilizing the memory controller, to:

monitor workload-type during operation of the array; and

dynamically define the threshold level in dependence on the workload-type.

4. The computer system of claim 1 , further comprising program instructions, stored on the computer readable storage media for execution utilizing the memory controller, to:

monitor workload-type during operation of the array; and

dynamically define the threshold level in dependence on the workload-type.

5. The computer system of claim 1 , further comprising program instructions, stored on the computer readable storage media for execution utilizing the memory controller, to:

control operation of the array in accordance with the set of parameters.

6. The computer system of claim 1 , further comprising program instructions, stored on the computer readable storage media for execution utilizing the memory controller, to:

during operation of the array in the hybrid mode, preferentially write data to single-bit cells of the array; and

move data from single-bit to multibit cells, freeing storage capacity in the single-bit cells.

7. The computer system of claim 1 , further comprising:

a storage device; and

the storage device comprising an array of non-volatile memory cells, comprising cells which are selectively configurable for single-bit and multibit storage.

8. The computer system of claim 7 , wherein the array comprises flash memory cells.

9. The computer system of claim 8 , wherein the flash memory cells are selectively configurable for single-bit and 4-bit storage.

10. A method for controlling operation of an array of non-volatile memory cells comprising cells which are selectively configurable for single-bit and multibit storage, the method comprising:

a memory controller selectively configuring the array for operation in a hybrid mode, in which the array comprises both cells configured for single-bit storage and cells configured for multibit storage, and a multibit mode in which all cells in the array are configured for multibit storage;

the memory controller dynamically switching between the hybrid mode and multibit mode configurations of array corresponding to the array capacity-usage traversing a defined threshold level associated with enhancing an endurance of the array;

prior to operation of the array, the memory controller defining the threshold level in dependence on a set of system parameters for the array, the parameters indicating information selected from the group consisting of:

raw cell endurance in the single-bit mode and multibit mode;

size of the array;

workload-type for the array;

one of a static-hybrid mode, in which a ratio of single-bit and multibit cells is static, and a dynamic-hybrid mode, in which the ratio is dynamically determined, for operation of the array in the hybrid mode; and

whether write-heat segregation is enabled for operation of the array in the hybrid mode.

11. The method of claim 10 , wherein the threshold level is defined as a capacity-usage level to transition between said the hybrid mode and multibit mode based on array-endurance.

12. The method of claim 10 , further comprising:

the memory controller monitoring workload-type during operation of the array; and

the memory controller dynamically defining the threshold level in dependence on the workload-type.

13. The method of claim 10 , further comprising:

the memory controller monitoring workload-type during operation of the array; and

the memory controller dynamically defining the threshold level in dependence on the workload-type.

14. A computer program product for controlling operation of an array of non-volatile memory cells comprising cells which are selectively configurable for single-bit and multibit storage, the computer program product comprising a computer readable storage medium having program instructions embodied therein, the program instructions being executable by a processing device of a memory controller to cause the memory controller to:

selectively configure the array for operation in a hybrid mode, in which the array comprises both cells configured for single-bit storage and cells configured for multibit storage, and a multibit mode in which all cells in the array are configured for multibit storage;

dynamically switch between the hybrid mode and multibit mode configurations of array corresponding to the array capacity-usage traversing a defined threshold level associated with enhancing an endurance of the array;

prior to operation of the array, defining the threshold level in dependence on a set of system parameters for the array, the parameters indicating information selected from the group consisting of:

raw cell endurance in the single-bit mode and multibit mode;

size of the array;

workload-type for the array;

one of a static-hybrid mode, in which a ratio of single-bit and multibit cells is static, and a dynamic-hybrid mode, in which the ratio is dynamically determined, for operation of the array in the hybrid mode; and

whether write-heat segregation is enabled for operation of the array in the hybrid mode.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2019
From: PAPANDREOU, NIKOLAOS; PLETKA, ROMAN ALEXANDER; STOICA, RADU IOAN; IOANNOU, NIKOLAS; TOMIC, SASA; POZIDIS, CHARALAMPOS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 051033/0812 →
Continuity (1)
Related Publication 20210149592A1 · May 20, 2021