IP Library Granted Patent US 9,841,910
Granted Patent B2
US 9,841,910 · App. 14/700,814 · Granted Dec 12, 2017

Moving and committing valid data on a set-by-set basis

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 9,841,910
App. No.
14/700,814
Granted
Dec 12, 2017
Kind
B2
Abstract

A storage module may be configured to organize data to be moved from an initial storage location to a destination storage location into sets, and to determine whether to commit the data to the destination storage location on a set-by-set basis. Error correction and/or a post write and read process may be performed on the sets that are copied to the destination storage location to determine whether to commit each of the copied sets.

Claims (37)

1. A device comprising:

at least one memory; and

control circuitry in communication with the at least one memory, the control circuitry configured to move data stored in a first non-volatile memory block of the at least one memory to a second non-volatile memory block of the at least one memory, wherein the second non-volatile memory block wherein the data is organized into a plurality of sets, wherein each set of the plurality of sets comprises more than a single page of data and less than an entire block of data, and wherein the control circuitry, in response to a determination to move the data from the first non-volatile memory block to the second non-volatile memory block, is configured to:

identify each of the plurality of sets as valid or invalid;

store a copy of a set of the plurality of sets in the second non-volatile memory block in response to the set identified as valid; and

update an address data structure to identify that a valid version of the set is located at a physical address in the second non-volatile memory block where the copied set is stored in response to the copied set passing a post-write-read error analysis.

2. The device of claim 1 , wherein each set of the plurality of sets comprises a same size of data.

3. The device of claim 1 , wherein each set of the plurality of sets comprises a same number of pages of data.

4. The device of claim 1 , wherein the first non-volatile memory block has a lower bit-per-cell density than the second non-volatile memory block.

5. The device of claim 4 , where the first non-volatile memory block and the second non-volatile memory block each comprise flash memory, and wherein the first non-volatile memory block comprises single-level cell (SLC) memory elements, and wherein the second non-volatile memory block comprises multi-level cell (MLC) memory elements.

6. The device of claim 1 , wherein the physical address comprises a first physical address, and wherein the address data structure identifies that the valid version of the set is located at a second physical address in the first non-volatile memory block in response to the copied set failing the post-write-read error analysis.

7. The device of claim 1 , wherein control circuitry is configured to identify the set as valid in response to the address data structure identifying that no portion of data in the set is obsolete.

8. The device of claim 1 , wherein the control circuitry is further configured to determine not to store the copy of the set to the second non-volatile memory block in response to the set identified as invalid.

9. The device of claim 1 , wherein the post-write-read error analysis comprises a determination of whether the set has a bit error rate that exceeds a threshold level.

10. The device of claim 1 , wherein the control circuitry is configured to update the address data structure to identify that the valid version of the set is located at the physical address further in response to the set passing a margin analysis.

11. The device of claim 10 , wherein the set passes the margin analysis when no page in the set is within a predetermined number of pages away from a page that failed the post-write-read analysis.

12. The device of claim 1 , wherein the at least one memory comprises three-dimensional memory.

13. The device of claim 1 , wherein the control circuitry is on the same substrate as memory elements of the at least one memory.

14. A device comprising:

control circuitry configured to:

determine to move data stored in a first block of non-volatile memory to a second block of the non-volatile memory;

in response to the determination, store a first copy of a first portion of the data in the second block without storing a second copy of a second portion of the data in the second block; and

update an address data structure to identify that a valid version of the first portion is stored in the second block in response to the first copy passing a post-write-read analysis.

15. The device of claim 14 , wherein the data is divided into a plurality of sets, and wherein each set of the plurality of sets comprises a same number of pages.

16. The device of claim 14 , wherein the first block has a lower bit-per-cell density than the second block.

17. The device of claim 14 , wherein the control circuitry is further configured to:

identify in the address data structure that the valid version of the first portion is stored in the first block in response to the first copy failing the post-write-read error analysis.

18. The device of claim 14 , wherein the control circuitry is further configured to:

identify the first portion as valid and the second portion as invalid.

19. The device of claim 14 , wherein the post-write-read error analysis comprises a determination of whether the set has a bit error rate that exceeds a threshold level.

20. The device of claim 14 , wherein the control circuitry is configured to update the address data structure to identify that a valid version of the first portion is stored in the second block further when the first copy passes a margin analysis.

21. The device of claim 20 , wherein the first copy passes the margin analysis when no page in the set is within a predetermined number of pages away from a page that failed the post-write-read analysis.

22. A device comprising:

a non-volatile memory comprising a first non-volatile memory block and a second non-volatile memory block;

means for identifying each of a plurality of sets of data stored in the first non-volatile memory block as valid or invalid, wherein each set of the plurality of sets comprises more than a single page of data and less than an entire block of data;

means for storing a copy of a set of the plurality of sets in the second non-volatile memory block in response to the set being valid; and

means for updating an address database to identify that a valid version of the set is located at a physical address in the second non-volatile memory block where the copied set is stored in response to the copied set passing a post-write-read error analysis.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2025
From: SANDISK TECHNOLOGIES, INC.
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 070778/0175 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038812/0954 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2015
From: JAIN, VIMAL KUMAR; AGARWAL, DINESH; SIVASANKARAN, VIJAY; AMARJIT, KUMAR
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 035559/0054 →