IP Library Granted Patent US 10,430,108
Granted Patent B2
US 10,430,108 · App. 15/721,483 · Granted Oct 1, 2019

Concurrent copying of first and second subsets of pages from media such as SLC NAND to media such as QLC or MLC NAND for completion of copying of data

Inventors: Shankar Natarajan (Santa Clara, CA); Aliasgar S. Madraswala (Folsom, CA)
Assignee: INTEL CORPORATION
G06F3/0647G06F3/0613G06F3/0679G06F11/1072G11C11/5621G11C11/5628G11C16/0483G11C2211/5622G11C2211/5641
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 10,430,108
App. No.
15/721,483
Granted
Oct 1, 2019
Kind
B2
Abstract

A determination is made that data has to be moved internally within a non-volatile memory from a plurality of pages of a first type of storage media to a page of a second type of storage media. A first subset of the plurality of pages is copied from the first type of storage media to the page of the second type of storage media. Concurrently with the copying of the first subset of the plurality of pages, a second subset of the plurality of pages is copied from the first type of storage media to the page of the second type of storage media. In response to completion of the copying of the first subset and the second subset of the plurality of pages, it is determined that the copying of the data from the first type of storage media to the second type of storage media has completed.

Claims (61)

1. A method, comprising:

determining that data has to be moved internally within a non-volatile memory from a plurality of pages of a first type of storage media to a page of a second type of storage media;

copying a first subset of the plurality of pages from the first type of storage media to the page of the second type of storage media;

concurrently with the copying of the first subset of the plurality of pages, copying a second subset of the plurality of pages from the first type of storage media to the page of the second type of storage media; and

determining that the copying of the data from the first type of storage media to the second type of storage media has completed, in response to completion of the copying of the first subset of the plurality of pages and the second subset of the plurality of pages.

2. The method of claim 1 , wherein the plurality of pages comprise a first page, a second page, a third page and a fourth page, wherein the first subset is the first page, the second page and the third page, wherein the second subset is the fourth page, and wherein copying of the second subset of the plurality of pages from the first type of storage media to the page of the second type of storage media comprises:

copying the fourth page from the first type of storage media to the second type of storage media, in response to determining that the third page has already been copied from the first type of storage media to the second type of storage media.

3. The method of claim 1 , the method further comprising:

copying the data from the first type of storage media to a set of latches of the non-volatile memory;

subsequent to copying the data from the first type of storage media to the set of latches of the non-volatile memory, copying the data from the set of latches to the second type of storage media via operations comprising:

switching from a first mode to a second mode using a first set feature command;

issuing a second feature set command to specify a destination write mode; and

issuing a program opcode to program the second type of storage media.

4. The method of claim 1 , the method further comprising:

issuing a feature set command to specify a source address comprising a block number and a page of the first type of storage media and a write mode for a destination address comprising a block number and a page of the second type of storage media; and

issuing a program opcode to program the second type of storage media.

5. The method of claim 1 , wherein the data is moved from the first type of storage media to the second type of storage media without generating an intermediate copy outside of the non-volatile memory.

6. The method of claim 1 , wherein on an average, I/O operations to the first type of storage media are performed faster in comparison to I/O operations to the second type of storage media, wherein the non-volatile memory has fewer blocks configured as the first type of storage media in comparison to the second type of storage media, and wherein data has to be moved periodically from the first type of storage media to the second type of storage media to conserve space in the first type of storage media.

7. The method of claim 1 , wherein the first type of storage media is single-level cell (SLC) NAND, and wherein the second type of storage media is quad-level cell (QLC) NAND.

8. The method of claim 1 , wherein the first type of storage media is single-level cell (SLC) NAND, and wherein the second type of storage media is multi-level cell (MLC) NAND.

9. A non-volatile memory device, comprising:

a non-volatile memory; and

a controller coupled to the non-volatile memory, wherein the controller is operable to:

determine that data has to be moved internally within the non-volatile memory from a plurality of pages of a first type of storage media to a page of a second type of storage media;

copy a first subset of the plurality of pages from the first type of storage media to the page of the second type of storage media;

copy a second subset of the plurality of pages from the first type of storage media to the page of the second type of storage media, concurrently with the copy of the first subset of the plurality of pages; and

determine that the copy of the data from the first type of storage media to the second type of storage media has completed, in response to completion of the copy of the first subset of the plurality of pages and the second subset of the plurality of pages.

10. The non-volatile memory device of claim 9 , wherein the plurality of pages comprise a first page, a second page, a third page and a fourth page, wherein the first subset is the first page, the second page and the third page, wherein the second subset is the fourth page, and wherein the controller to copy the second subset of the plurality of pages from the first type of storage media to the page of the second type of storage media is to:

copy the fourth page from the first type of storage media to the second type of storage media, in response to a determination that the third page has already been copied from the first type of storage media to the second type of storage media.

11. The non-volatile memory device of claim 9 , wherein the controller is further operable to:

copy the data from the first type of storage media to a set of latches of the non-volatile memory;

subsequent to the copy of the data from the first type of storage media to the set of latches of the non-volatile memory, copy the data from the set of latches to the second type of storage media via operations performed to:

switch from a first mode to a second mode using a first set feature command;

issue a second feature set command to specify a destination write mode; and

issue a program opcode to program the second type of storage media.

12. The non-volatile memory device of claim 9 , wherein the controller is further operable to:

issue a feature set command to specify a source address comprising a block number and a page of the first type of storage media and a write mode for a destination address comprising a block number and a page of the second type of storage media; and

issue a program opcode to program the second type of storage media.

13. The non-volatile memory device of claim 9 , wherein the controller is further operable to: cause the data to be moved from the first type of storage media to the second type of storage media without generation of an intermediate copy outside of the non-volatile memory.

14. The non-volatile memory device of claim 9 , wherein on an average, I/O operations to the first type of storage media are performed faster in comparison to I/O operations to the second type of storage media, wherein the non-volatile memory has fewer blocks configured as the first type of storage media in comparison to the second type of storage media, and wherein data has to be moved periodically from the first type of storage media to the second type of storage media to conserve space in the first type of storage media.

15. The non-volatile memory device of claim 9 , wherein the first type of storage media is single-level cell (SLC) NAND, and wherein the second type of storage media is quad-level cell (QLC) NAND.

16. The non-volatile memory device of claim 9 , wherein the first type of storage media is single-level cell (SLC) NAND, and wherein the second type of storage media is multi-level cell (MLC) NAND.

17. A system, comprising:

a display;

a non-volatile memory device comprising a non-volatile memory; and

a controller coupled to the non-volatile memory, wherein the controller is operable to:

determine that data has to be moved internally within the non-volatile memory from a plurality of pages of a first type of storage media to a page of a second type of storage media;

copy a first subset of the plurality of pages from the first type of storage media to the page of the second type of storage media;

copy a second subset of the plurality of pages from the first type of storage media to the page of the second type of storage media, concurrently with the copy of the first subset of the plurality of pages; and

determine that the copy of the data from the first type of storage media to the second type of storage media has completed, in response to completion of the copy of the first subset of the plurality of pages and the second subset of the plurality of pages.

18. The system of claim 17 , wherein the plurality of pages comprise a first page, a second page, a third page and a fourth page, wherein the first subset is the first page, the second page and the third page, wherein the second subset is the fourth page, and wherein the controller to copy the second subset of the plurality of pages from the first type of storage media to the page of the second type of storage media is to:

copy the fourth page from the first type of storage media to the second type of storage media, in response to a determination that the third page has already been copied from the first type of storage media to the second type of storage media.

19. The system of claim 17 , wherein the controller is further operable to:

copy the data from the first type of storage media to a set of latches of the non-volatile memory;

subsequent to the copy of the data from the first type of storage media to the set of latches of the non-volatile memory, copy the data from the set of latches to the second type of storage media via operations performed to:

switch from a first mode to a second mode using a first set feature command;

issue a second feature set command to specify a destination write mode; and

issue a program opcode to program the second type of storage media.

20. The system of claim 17 , wherein the controller is further operable to:

issue a feature set command to specify a source address comprising a block number and a page of the first type of storage media and a write mode for a destination address comprising a block number and a page of the second type of storage media; and

issue a program opcode to program the second type of storage media.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2023
From: INTEL CORPORATION
To: INTEL NDTM US LLC
Reel/Frame 064928/0832 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2018
From: NATARAJAN, SHANKAR; MADRASWALA, ALIASGAR S.
To: INTEL CORPORATION
Reel/Frame 045309/0833 →
Continuity (1)
Related Publication 20190102102A1 · Apr 4, 2019
Cited By (1)
US 12,222,800