IP Library › Granted Patent US 12,293,101
Granted Patent B2
US 12,293,101 · App. 18/423,018 · Granted May 6, 2025

Data relocation operation techniques

Inventors: Paolo Papa (Naples, IT); Luigi Esposito (Naples, IT); Massimo Iaculo (Caserta, IT); Giuseppe D'Eliseo (Caserta, IT); Alberto Sassara (Naples, IT); Carminantonio Manganelli (San Giorgio del Sannio, IT); Salvatore Del Prete (Naples, IT)
Assignee: Micron Technology, Inc.
G06F3/064G06F3/0604G06F12/0246G06F12/0646G06F2212/1024G06F2212/1044G06F2212/657G06F2212/7205
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,293,101
App. No.
18/423,018
Granted
May 6, 2025
Kind
B2
Abstract

Methods, systems, and devices for data relocation operation techniques are described. A memory system may include blocks of memory cells, for example, within a non-volatile memory device of the memory system. The memory system may identify a command to perform a data relocation operation associated with a block of memory cells and may select between a first procedure and a second procedure for performing the data relocation operation. The memory system may select between the first procedure and the second procedure based on whether one or more parameters associated with the data relocation operation satisfy a threshold. For example, the memory system may select the first procedure if the one or more parameters satisfy the threshold and may select the second procedure if the one or more parameters do not satisfy the threshold. The memory system may perform the data relocation operation using the selected procedure.

Claims (53)

1. A memory system, comprising:

one or more memory devices;

a virtual block comprising a plurality of dynamic blocks of memory cells; and

processing circuitry coupled with the one or more memory devices and operable to cause the memory system to:

select, for each dynamic block of memory cells of the virtual block, between a first procedure for performing a data relocation operation and a second procedure for performing the data relocation operation based at least in part on whether one or more respective parameters associated with the data relocation operation satisfy a threshold, the one or more respective parameters associated with a corresponding dynamic block of memory cells of the plurality of dynamic blocks of memory cells; and

perform a plurality of data relocation operations, each data relocation operation associated with a respective corresponding dynamic block of memory cells and performed according to one of the first procedure or the second procedure based at least in part on selecting between the first procedure and the second procedure for each respective dynamic block of memory cells.

2. The memory system of claim 1 , wherein the processing circuitry is further operable to cause the memory system to:

determine, for each respective dynamic block of memory cells of the virtual block, whether the one or more respective parameters satisfy a respective threshold.

3. The memory system of claim 2 , wherein, to determine whether the one or more respective parameters satisfy the respective threshold, the processing circuitry is operable to cause the memory system to:

determine, for a first dynamic block of memory cells of the plurality of dynamic blocks of memory cells, whether one or more first parameters associated with the first dynamic block of memory cells satisfy a first threshold; and

determine, for a second dynamic block of memory cells of the plurality of dynamic blocks of memory cells, whether one or more second parameters associated with the second dynamic block of memory cells satisfy a second threshold.

4. The memory system of claim 3 , wherein, to select between the first procedure for performing the data relocation operation and the second procedure for performing the data relocation operation, the processing circuitry is operable to cause the memory system to:

select, for the first dynamic block of memory cells, the first procedure based at least in part on determining that the one or more first parameters satisfy the threshold; and

select, for the second dynamic block of memory cells, the second procedure based at least in part on determining whether the one or more second parameters satisfy the threshold.

5. The memory system of claim 2 , wherein, to determine whether the one or more respective parameters satisfy the respective threshold, the processing circuitry is operable to cause the memory system to:

maintain a respective counter associated with each dynamic block of memory cells of the virtual block that tracks a respective quantity of pages of each dynamic block of memory cells that are associated with valid data; and

determine whether the respective quantity of pages of each dynamic block of memory cells satisfies a threshold quantity.

6. The memory system of claim 1 , wherein the processing circuitry is further operable to cause the memory system to:

determine, for each dynamic block of memory cells of the virtual block, whether to update a respective mapping that indicates relationships between logical addresses and physical addresses based at least in part on whether a respective data relocation operation of the plurality of data relocation operations is performed using the first procedure or the second procedure.

7. The memory system of claim 6 , wherein the processing circuitry is further operable to cause the memory system to:

refrain from updating a first mapping associated with pages written to a first dynamic block of memory cells of the plurality of dynamic blocks of memory cells based at least in part on a first data relocation operation associated with the first dynamic block of memory cells being performed using the first procedure; and

update a second mapping associated with pages written to a second dynamic block of memory cells of the plurality of dynamic blocks of memory cells based at least in part on a second data relocation operation associated with the second dynamic block of memory cells being performed using the second procedure.

8. The memory system of claim 1 , wherein the processing circuitry is further operable to cause the memory system to:

determine, for each dynamic block of memory cells of the virtual block, whether to update a respective mapping that maps indices associated with dynamic blocks of memory cells to groups of dynamic blocks of memory cells based at least in part on whether a respective data relocation operation of the plurality of data relocation operations is performed using the first procedure or the second procedure.

9. The memory system of claim 1 , wherein the processing circuitry is further operable to cause the memory system to:

receive a command to perform the plurality of data relocation operations from a host system coupled with the memory system.

10. The memory system of claim 1 , the one or more respective parameters associated with the data relocation operation comprise a percentage of pages of a respective dynamic block of memory cells comprising valid data, a latency associated with the data relocation operation, a type of the data relocation operation, a state of a host system coupled with the memory system, or any combination thereof.

11. A non-transitory computer-readable medium storing code comprising instructions which, when executed by one or more processors of an electronic device, cause the electronic device to:

select, for each dynamic block of memory cells of a virtual block comprising a plurality of dynamic blocks of memory cells, between a first procedure for performing a data relocation operation and a second procedure for performing the data relocation operation based at least in part on whether one or more respective parameters associated with the data relocation operation satisfy a threshold, the one or more respective parameters associated with a respective corresponding dynamic block of memory cells of the plurality of dynamic blocks of memory cells; and

perform a plurality of data relocation operations, each data relocation operation associated with a respective corresponding dynamic block of memory cells and performed according to one of the first procedure or the second procedure based at least in part on selecting between the first procedure and the second procedure for each dynamic block of memory cells.

12. The non-transitory computer-readable medium of claim 11 , wherein the instructions, when executed by the one or more processors, further cause the electronic device to:

determine, for each dynamic block of memory cells of the virtual block, whether the one or more respective parameters satisfy a respective threshold.

13. The non-transitory computer-readable medium of claim 12 , wherein the instructions to determine whether the one or more respective parameters satisfy the respective threshold, when executed by the one or more processors, further cause the electronic device to:

determine, for a first dynamic block of memory cells of the plurality of dynamic blocks of memory cells, whether one or more first parameters associated with the first dynamic block of memory cells satisfy a first threshold; and

determine, for a second dynamic block of memory cells of the plurality of dynamic blocks of memory cells, whether one or more second parameters associated with the second dynamic block of memory cells fail to satisfy a second threshold.

14. The non-transitory computer-readable medium of claim 13 , wherein the instructions to select between the first procedure for performing the data relocation operation and the second procedure for performing the data relocation operation, when executed by the one or more processors, further cause the electronic device to:

select, for the first dynamic block of memory cells, the first procedure based at least in part on determining that the one or more first parameters satisfy the threshold; and

select, for the second dynamic block of memory cells, the second procedure based at least in part on determining that the one or more second parameters fail to satisfy the threshold.

15. The non-transitory computer-readable medium of claim 12 , wherein the instructions to determine whether the one or more respective parameters satisfy the respective threshold, when executed by the one or more processors, further cause the electronic device to:

maintain a respective counter associated with each dynamic block of memory cells of the virtual block that tracks a respective quantity of pages of each dynamic block of memory cells that are associated with valid data; and

determine whether the respective quantity of pages of each dynamic block of memory cells satisfies a threshold quantity.

16. The non-transitory computer-readable medium of claim 11 , wherein the instructions, when executed by the one or more processors, further cause the electronic device to:

determine, for each dynamic block of memory cells of the virtual block, whether to update a respective mapping that indicates relationships between logical addresses and physical addresses based at least in part on whether a respective data relocation operation of the plurality of data relocation operations is performed using the first procedure or the second procedure.

17. The non-transitory computer-readable medium of claim 16 , wherein the instructions, when executed by the one or more processors, further cause the electronic device to:

refrain from updating a first mapping associated with pages written to a first dynamic block of memory cells of the plurality of dynamic blocks of memory cells based at least in part on a first data relocation operation associated with the first dynamic block of memory cells being performed using the first procedure; and

update a second mapping associated with pages written to a second dynamic block of memory cells of the plurality of dynamic blocks of memory cells based at least in part on a second data relocation operation associated with the second dynamic block of memory cells being performed using the second procedure.

18. The non-transitory computer-readable medium of claim 11 , wherein the instructions, when executed by the one or more processors, further cause the electronic device to:

determine, for each dynamic block of memory cells of the virtual block, whether to update a respective mapping that maps indices associated with dynamic blocks of memory cells to groups of dynamic blocks of memory cells based at least in part on whether a respective data relocation operation of the plurality of data relocation operations is performed using the first procedure or the second procedure.

19. The non-transitory computer-readable medium of claim 11 , wherein the instructions, when executed by the one or more processors, further cause the electronic device to:

receive a command to perform the plurality of data relocation operations from a host system coupled with the electronic device.

20. A method by a memory system, comprising:

selecting, for each dynamic block of memory cells of a virtual block comprising a plurality of dynamic blocks of memory cells, between a first procedure for performing a data relocation operation and a second procedure for performing the data relocation operation based at least in part on whether one or more respective parameters associated with the data relocation operation satisfy a threshold, the one or more respective parameters associated with a respective corresponding dynamic block of memory cells of the plurality of dynamic blocks of memory cells; and

performing a plurality of data relocation operations, each data relocation operation associated with a respective corresponding dynamic block of memory cells and performed according to one of the first procedure or the second procedure based at least in part on selecting between the first procedure and the second procedure for each dynamic block of memory cells.

Continuity (3)
Continuation 17580296 · Jan 20, 2022
Provisional Application 63150901 · Feb 18, 2021
Related Publication 20240272820A1 · Aug 15, 2024
References Cited (18)
US 8407449B1 · Colon et al. · 2013 [cited by applicant]
US 20120265925A1 · Miura · 2012 [cited by applicant]
US 20130246716A1 · Kato et al. · 2013 [cited by applicant]
US 20140075095A1 · Manohar et al. · 2014 [cited by applicant]
US 20140189206A1 · Sinclair · 2014 [cited by examiner]
US 20170147209A1 · Lee · 2017 [cited by examiner]
US 20180129424A1 · Confalonieri · 2018 [cited by examiner]
US 20200004673A1 · D'Eliseo et al. · 2020 [cited by applicant]
US 20200057725A1 · Cho et al. · 2020 [cited by applicant]
US 20200210330A1 · Muchherla et al. · 2020 [cited by applicant]
US 20200233585A1 · Confalonieri et al. · 2020 [cited by applicant]
US 20200264789A1 · Wen et al. · 2020 [cited by applicant]
US 20210117118A1 · Stoica et al. · 2021 [cited by applicant]
US 20220171533A1 · Yoon · 2022 [cited by examiner]
KR 1020190067938A · 2019 [cited by applicant]
KR 1020200020464A · 2020 [cited by applicant]
KR 1020210013656A · 2021 [cited by applicant]
Korean patent office, “KR Office Action,” issued in connection with Korean Patent Application No. 10-2022-0016004 dated Mar. 11, 2024 (21 pages) (11 pages of English Translation and 10 pages of Original Document). [cited by applicant]