IP Library Granted Patent US 12,711,069
Granted Patent B2
US 12,711,069 · App. 18/793,458 · Granted Aug 18, 2026

Power loss protection in memory sub-systems

Inventor: Andrew M. Kowles (Boise, ID)
Assignee: Micron Technology, Inc.
G06F12/0804G11C29/44G06F2212/1032
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 12,711,069
App. No.
18/793,458
Filed
Aug 2, 2024
Granted
Aug 18, 2026
Kind
B2
Art Unit
2111
USPC
714/718
Abstract

Aspects of the present disclosure provide systems and methods for improved power loss protection in a memory sub-system of a device. In particular, a power loss protection component allocates a portion of the memory sub-system to non-volatile memory. Responsive to detecting a trigger event at the device, wherein the trigger event may include asynchronous power loss of the device, the power loss protection component detects data written to a volatile cache of the memory sub-system, retrieves the data from the volatile cache, and writes the data to the portion of the memory sub-system allocated to the non-volatile memory.

Claims (62)

1 . A system comprising:

a plurality of memory components comprising non-volatile memory components and a volatile cache; and

a processing device, operatively coupled with the plurality of memory components, configured to perform operations comprising:

detecting data written to the volatile cache;

identifying, from among multiple portions of the non-volatile memory components, a portion having a lower program latency relative to other portions of the non-volatile memory components based on a ranking of program latency of the multiple portions;

accessing the data written to the volatile cache; and

moving the data to the portion of the non-volatile memory components.

2 . The system of claim 1 , wherein the identifying the portion of the non-volatile memory components based on the ranking includes:

performing a performance test upon the non-volatile memory components, the performance test including a latency test; and

determining the program latency of each of the multiple portions based on the latency test.

3 . The system of claim 2 , wherein the latency test comprises determining a program time (tPROG) for each of the multiple portions.

4 . The system of claim 1 , wherein the identified portion comprises a single-level cell NAND flash memory.

5 . The system of claim 1 , wherein the portion of the non-volatile memory components is a first portion of the multiple portions, and the operations further comprise:

performing a latency test on the first portion;

determining that a program latency of the first portion exceeds a threshold;

identifying a second portion of the multiple portions having a lower program latency than the first portion;

moving the data to the second portion.

6 . The system of claim 1 , wherein the accessing the data written to the volatile cache includes:

detecting a trigger event; and

accessing the data responsive to the trigger event.

7 . The system of claim 6 , wherein the trigger event includes an asynchronous power loss.

8 . A method comprising:

a plurality of memory components comprising non-volatile memory components and a volatile cache; and

a processing device, operatively coupled with the plurality of memory components, configured to perform operations comprising:

detecting data written to the volatile cache;

identifying, from among multiple portions of the non-volatile memory components, a portion having a lower program latency relative to other portions of the non-volatile memory components based on a ranking of program latency of the multiple portions;

accessing the data written to the volatile cache; and

moving the data to the portion of the non-volatile memory components.

9 . The method of claim 8 , wherein the ranking the program latency comprises:

performing a performance test upon the non-volatile memory components, the performance test including a latency test; and

determining a program latency for each of the multiple portions based on the latency test.

10 . The method of claim 9 , wherein the performing the latency-test includes determining a program time (tPROG) for each of the multiple portions.

11 . The method of claim 8 , wherein the identified portion comprises a single-level cell (SLC) region of the non-volatile memory components.

12 . The method of claim 8 , wherein the portion of the non-volatile memory components is a first portion, and the operations further comprise:

performing a latency test on the first portion;

determining that a program latency of the first portion exceeds a threshold;

identifying a second portion of the multiple portions having a lower program latency than the first portion; and

moving the data to the second portion.

13 . The method of claim 8 , wherein the accessing the data written to the volatile cache includes:

detecting a trigger event; and

accessing the data written responsive to the trigger event.

14 . The method of claim 13 , wherein the trigger event includes an asynchronous power loss.

15 . A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to:

a plurality of memory components comprising non-volatile memory components and a volatile cache; and

a processing device, operatively coupled with the plurality of memory components, configured to perform operations comprising:

detecting data written to the volatile cache;

identifying, from among multiple portions of the non-volatile memory components, a portion having a lower program latency relative to other portions of the non-volatile memory components based on a ranking of program latency of the multiple portions;

accessing the data written to the volatile cache; and

moving the data to the portion of the non-volatile memory components.

16 . The non-transitory computer-readable storage medium of claim 15 , wherein the identifying the portion of the non-volatile memory components based on the ranking includes:

performing a performance test upon the non-volatile memory components, the performance test including a latency test; and

determining the program latency of each of the multiple portions based on the latency test.

17 . The non-transitory computer-readable storage medium of claim 16 , wherein the latency test comprises determining a program time (tPROG) for each of the multiple portions.

18 . The non-transitory computer-readable storage medium of claim 15 , wherein the identified portion comprises a single-level cell.

19 . The non-transitory computer-readable storage medium of claim 15 , wherein the portion of the non-volatile memory components is a first portion of the multiple portions, and the operations further comprise:

performing a latency test on the first portion;

determining that a program latency of the first portion exceeds a threshold;

identifying a second portion of the multiple portions having a lower program latency than the first portion; and

moving the data to the second portion.

20 . The non-transitory computer-readable storage medium of claim 15 , wherein the accessing the data written to the volatile cache includes:

detecting a trigger event; and

accessing the data responsive to the trigger event.

Continuity (4)
Continuation 17702305 · Mar 23, 2022
Continuation 16912318 · Jun 25, 2020
Continuation 16226282 · Dec 19, 2018
Related Publication 20240394185A1 · Nov 28, 2024
References Cited (27)
US 10725912B2 · Kowles · 2020 [cited by applicant]
US 11301381B2 · Kowles · 2022 [cited by applicant]
US 12061543B2 · Kowles · 2024 [cited by applicant]
US 20090193193A1 · Kern · 2009 [cited by applicant]
US 20100202238A1 · Moshayedi et al. · 2010 [cited by applicant]
US 20120023318A1 · Xing et al. · 2012 [cited by applicant]
US 20140129759A1 · Sauber et al. · 2014 [cited by applicant]
US 20140195458A1 · Rizzi et al. · 2014 [cited by applicant]
US 20150056475A1 · Adrian et al. · 2015 [cited by applicant]
US 20150186281A1 · Cherian · 2015 [cited by examiner]
US 20150317248A1 · Lamb · 2015 [cited by examiner]
US 20180032390A1 · Rahmanian et al. · 2018 [cited by applicant]
US 20180060171A1 · Suh · 2018 [cited by applicant]
US 20190384837A1 · Kumar et al. · 2019 [cited by applicant]
US 20200004445A1 · Benisty · 2020 [cited by applicant]
US 20200042066A1 · Li · 2020 [cited by applicant]
US 20200065256A1 · Palmer · 2020 [cited by applicant]
US 20200201761A1 · Kowles · 2020 [cited by applicant]
US 20200244583A1 · Smith et al. · 2020 [cited by applicant]
US 20200327056A1 · Kowles · 2020 [cited by applicant]
US 20210026545A1 · Cheng et al. · 2021 [cited by applicant]
US 20220214970A1 · Kowles · 2022 [cited by applicant]
CN 102597910 · 2012 [cited by applicant]
CN 105022587 · 2015 [cited by applicant]
CN 108376120 · 2018 [cited by applicant]
CN 111338566A · 2020 [cited by applicant]
“Chinese Application Serial No. 201911319242.6, Office Action mailed Mar. 23, 2023”, with English translation, 13 pages. [cited by applicant]