IP Library Granted Patent US 11,249,652
Granted Patent B1
US 11,249,652 · App. 16/832,793 · Granted Feb 15, 2022

Maintenance of nonvolatile memory on host selected namespaces by a common memory controller

Inventors: Andrey V. Kuzmin (Moscow, RU); Alan Chen (Simi Valley, CA); Robert Lercari (Thousand Oaks, CA)
Assignee: Radian Memory Systems, Inc.
G06F3/0616G06F3/0647G06F3/0679G06F12/0246G06F2212/7205G06F2212/7211
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,249,652
App. No.
16/832,793
Granted
Feb 15, 2022
Kind
B1
Abstract

This disclosure provides techniques for managing memory which match per-data metrics to those of other data or to memory destination. In one embodiment, wear data is tracked for at least one tier of nonvolatile memory (e.g., flash memory) and a measure of data persistence (e.g., age, write frequency, etc.) is generated or tracked for each data item. Memory wear management based on these individually-generated or tracked metrics is enhanced by storing or migrating data in a manner where persistent data is stored in relatively worn memory locations (e.g., relatively more-worn flash memory) while temporary data is stored in memory that is less worn or is less susceptible to wear. Other data placement or migration techniques are also disclosed.

Claims (43)

1. An apparatus comprising instructions stored on a non-transitory storage medium, the instructions, when executed, to cause at least one host processor to:

identify a need on an independent basis for each one of at least two sets of addresses associated with a nonvolatile memory drive, for a copy of data from one physical storage location within the nonvolatile memory drive to another physical storage location within the nonvolatile memory drive; and

responsive to the identified need, send one or more requests to a memory controller for the nonvolatile memory drive in a manner directed to the given set, to cause the memory controller to perform the copy of data, wherein the one or more requests are to specify a source address for data to be copied and a destination for the data to be copied, and wherein the instructions when executed are to cause the at least one host processor to choose the destination to correspond to a selected one of the sets of addresses in dependence on metadata comprising an age-since-write characteristic of the data to be copied;

wherein the memory controller is to perform logical to physical address translation of the source address and the destination to identify the data being copied and to select a physical destination structure for the data to be copied;

wherein the memory controller is to store metadata representing the age-since-write characteristic in a manner respective to each set of the at least two sets of addresses, is to update the metadata respective to each set of the at least two sets of addresses as a function of write operations affecting the respective set of the at least two sets of addresses, is to detect when the metadata respective to each set of the at least two sets of addresses satisfies at least one threshold, and is to responsively send a notification to the at least one host processor; and

wherein the instructions when executed are to cause the at least one host processor to choose the destination dependent on the notification from the memory controller.

2. The apparatus of claim 1 wherein:

said instructions are, when executed, to cause the at least one host processor to detect the need according to thresholds respective to each one of the at least two sets of addresses.

3. The apparatus of claim 2 wherein:

the thresholds respective to each one of the at least two sets of addresses each comprise a cold data threshold.

4. The apparatus of claim 3 wherein:

the one or more requests are to cause the memory controller to copy data corresponding to metadata violating the cold data threshold from a first physical location associated with the given set of the at least two sets of addresses to a second physical location also associated with the given set of the at least two sets of addresses.

5. The apparatus of claim 4 wherein:

the cold data threshold is a write-cold data threshold, such that the data to be copied from the first physical location comprises data at a location that was last written prior to a duration greater than a threshold amount of time.

6. The apparatus of claim 1 wherein the nonvolatile memory comprises flash memory dies and wherein the memory controller comprises a flash memory controller.

7. The apparatus of claim 6 wherein the flash memory controller is to issue commands to the flash memory dies responsive to requests accompanied by respective ones of the logical addresses.

8. The apparatus of claim 1 wherein the instructions, when executed, are to cause the at least one host processor to send one or more configuration requests to the memory controller for the nonvolatile memory drive, to cause the memory controller to organize physical memory space in the nonvolatile memory drive so as to map to the at least two sets of addresses according to a host-specified demarcation.

9. An apparatus comprising:

at least one host processor; and

instructions stored on a non-transitory storage medium, the instructions, when executed, to cause the at least one host processor to

identify a need on an independent basis for each one of at least two sets of addresses associated with a nonvolatile memory drive, for a copy of data from one physical storage location within the nonvolatile memory drive to another physical storage location within the nonvolatile memory drive, and

responsive to the identified need, send one or more requests to a memory controller for the nonvolatile memory drive in a manner directed to the given set, to cause the memory controller to perform the copy of data, wherein the one or more requests are to specify a source address for data to be copied and a destination for the data to be copied, and wherein the instructions when executed are to cause the at least one host processor to choose the destination to correspond to a selected one of the sets of addresses in dependence on metadata comprising an age-since-write characteristic of the data to be copied;

wherein the memory controller is to perform logical to physical address translation of the source address and the destination to identify the data being copied and to select a physical destination structure for the data to be copied;

wherein the memory controller is to store metadata respective to each set of the at least two sets of addresses, is to update the metadata representing the age-since-write characteristic in a manner respective to each set of the at least two sets of addresses as a function of write operations affecting the respective set of the at least two sets of addresses, is to detect when the metadata respective to each set of the at least two sets of addresses satisfies at least one threshold, and is to responsively send a notification to the at least one host processor; and

wherein the instructions when executed are to cause the at least one host processor to choose the destination dependent on the notification from the memory controller.

10. The apparatus of claim 9 wherein the instructions, when executed, are to cause the at least one host processor to send one or more configuration requests to the memory controller for the nonvolatile memory drive, to cause the memory controller to organize physical memory space in the nonvolatile memory drive so as to map to the at least two sets of addresses according to a host-specified demarcation.

11. A method of operating at least one host processor, said method comprising:

identifying a need on an independent basis for each one of at least two sets of addresses associated with a nonvolatile memory drive, for a copy of data from one physical storage location within the nonvolatile memory drive to another physical storage location within the nonvolatile memory drive; and

responsive to identified need, sending one or more requests to a memory controller for the nonvolatile memory drive in a manner directed to the given set, to cause the memory controller to perform the copy of data, wherein the one or more requests are to specify a source address for data to be copied and a destination for the data to be copied, and wherein the instructions when executed are to cause the at least one host processor to choose the destination to correspond to a selected one of the sets of addresses in dependence on metadata comprising an age-since-write characteristic of the data to be copied;

wherein the memory controller is to perform logical to physical address translation of the source address and the destination to identify the data being copied and to select a physical destination structure for the data to be copied;

wherein the memory controller is to store metadata respective to each set of the at least two sets of addresses, is to update the metadata representing the age-since-write characteristic in a manner respective to each set of the at least two sets of addresses as a function of read and write operations affecting the respective set of the at least two sets of addresses, is to detect when the metadata respective to each set of the at least two sets of addresses satisfies at least one threshold, and is to responsively send a notification to the at least one host processor; and

wherein the instructions when executed are to cause the at least one host processor to choose the destination dependent on the notification from the memory controller.

12. The method of claim 11 wherein:

said method further comprises causing the at least one host processor to identify the need according to thresholds respective to each one of the at least two sets of addresses.

13. The method of claim 12 wherein:

the thresholds respective to each one of the at least two sets of addresses each comprise a cold data threshold.

14. The method of claim 13 wherein:

the method further comprises, via the one or more requests, causing the memory controller to copy corresponding to metadata violating the cold data threshold from a first physical location associated with the given set of the at least two sets of addresses to a second physical location also associated with the given set of the at least two sets of addresses.

15. The method of claim 14 wherein:

the cold data threshold is a write-cold data threshold, such that the data to be copied from the first physical location comprises data at a location that was last written prior to a duration greater than a threshold amount of time.

16. The method of claim 11 wherein the nonvolatile memory comprises flash memory dies and wherein the memory controller comprises a flash memory controller.

17. The method of claim 16 wherein the flash memory controller is to issue commands to the flash memory dies responsive to requests accompanied by respective ones of the logical addresses.

18. The method of claim 11 wherein the method further comprises sending one or more configuration requests to the memory controller for the nonvolatile memory drive, to cause the memory controller to organize physical memory space in the nonvolatile memory drive so as to map to the at least two sets of addresses according to a host-specified demarcation.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2024
From: RADIAN MEMORY SYSTEMS, INC.
To: RADIAN MEMORY SYSTEMS LLC
Reel/Frame 067471/0240 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY DATA IN ASSIGNMENT COVER SHEET, TO IDENTIFY ROBERT LERCARI INSTEAD OF CRAIG ROBERTSON PREVIOUSLY RECORDED AT REEL: 052248 FRAME: 0852. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 10, 2022
From: LERCARI, ROBERT; KUZMIN, ANDREY V.; CHEN, ALAN
To: RADIAN MEMORY SYSTEMS, LLC
Reel/Frame 058669/0549 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2020
From: KUZMIN, ANDREY V.; ROBERTSON, CRAIG; CHEN, ALAN
To: RADIAN MEMORY SYSTEMS, LLC
Reel/Frame 052248/0852 →
CHANGE OF NAME Recorded Mar 27, 2020
From: RADIAN MEMORY SYSTEMS, LLC
To: RADIAN MEMORY SYSTEMS, INC.
Reel/Frame 052253/0120 →
Cited By (12)
US 12,455,835 US 12,481,585 US 12,517,670 US 12,554,636 US 12,561,084 US 12,578,900 US 12,579,062 US 12,591,392 US 12,625,819 US 12,650,928 US 12,657,133 US 12,693,968