9959071

Method and System for Managing Data in Non-Volatile Memory

PublishedMay 1, 2018
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
19 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for managing data storage in a non-volatile memory system, the method comprising: receiving data at a controller of the non-volatile memory system; determining a data classification for the received data from a predetermined plurality of data classifications to assign the received data; writing the received data to an open data block having only data of a same data classification as the determined data classification; upon completely programming the open data block, associating an epoch indicator with the open data block and closing the open data block to form a closed block, the epoch indicator defining a time period within which the closed block and a plurality of additional closed blocks were created; and in response to detecting a block reclaim trigger in the non-volatile memory system: selecting a block from a pool of closed blocks each having a previously determined data classification and a previously associated epoch indicator; and moving valid data from the selected closed block to an open relocation block exclusively associated with a same data classification and a same epoch indicator as the selected closed block.

2

2. The method of claim 1 , wherein selecting the block comprises selecting the block having a least amount of valid data.

3

3. The method of claim 1 , wherein selecting the block comprises selecting the block from closed blocks associated with an earliest of a plurality of epochs.

4

4. The method of claim 1 , wherein each of the predetermined plurality of data classifications comprises a different likelihood of the received data being overwritten.

5

5. The method of claim 4 , wherein determining the data classification for the received data comprises receiving a data use frequency indicator from a host and associating one of the predetermined plurality of data classifications with the received data based on the data use frequency indicator.

6

6. The method of claim 4 , wherein determining the data classification for the received data comprises identifying a data type suffix of the received data and associating the received data with the data classification predetermined as corresponding to the identified data type suffix.

7

7. A method for managing data storage in a non-volatile memory system, the method comprising: receiving data at a controller of the non-volatile memory system; determining a data classification for the received data from a predetermined plurality of data classifications to assign the received data; writing the received data to an open data block having only data of a same data classification as the determined data classification; upon completely programming the open data block, associating an epoch indicator with the open data block to create a closed block, the epoch indicator defining a time period within which the closed block and a plurality of additional closed blocks were created; and determining if the time period has expired and, if the time period has expired, changing the epoch indicator; and associating subsequent closed blocks with the changed epoch indicator until a next time period expires.

8

8. The method of claim 7 , wherein each time period comprises a predetermined elapsed time.

9

9. The method of claim 8 , wherein each time period comprises an identical amount of elapsed time.

10

10. The method of claim 7 , wherein each time period is defined by an amount of data being received such that a time period expires only upon receiving a predetermined amount of data independent of any predetermined elapsed time.

11

11. The method of claim 7 , wherein the epoch indicator comprises a counter and changing the epoch indicator comprises incrementing the counter.

12

12. The method of claim 7 , further comprising: in response to detecting a block reclaim trigger in the non-volatile memory system, the controller: selecting a closed block from a pool of closed blocks having a same data classification and a same epoch indicator; and moving valid data from the selected closed block to an open relocation block exclusively associated with the same data classification and the same epoch indicator.

13

13. A non-volatile memory system comprising: a non-volatile memory having a plurality of memory blocks, wherein all blocks containing valid data are exclusively associated with a respective one of a plurality of data types and one of a plurality of epoch indicators, each epoch indicator defining a different time period within which data in an associated plurality of blocks was received from a host; and a controller in communication with the non-volatile memory, the controller configured to: detect a block reclaim trigger; in response to detecting the block reclaim trigger, select a previously programmed block as a source block; and relocate valid data from the selected source block only to a relocation block exclusively associated with a same data type and a same epoch indicator as associated with the selected source block.

14

14. A non-volatile memory system comprising: a non-volatile memory having a plurality of memory blocks; and a controller in communication with the non-volatile memory, the controller configured to: receive data from a host; determine a data classification for the received data from a predetermined plurality of data classifications to assign the received data; write the received data to an open data block having only data of a same data classification as the determined data classification; upon completely programming the open data block, store an association of an epoch indicator with the open data block in a data structure in the non-volatile memory system to create a closed block, the epoch indicator defining a time period within which the closed block and a plurality of additional closed blocks are created; and upon detecting a block reclaim trigger: select a previously programmed block as a source block; and relocate valid data from the selected source block only to a relocation block exclusively associated with a same data type and a same epoch indicator as associated with the selected source block.

15

15. The non-volatile memory system of claim 14 , wherein the controller is further configured to: determine if the time period has expired and, if the time period has expired, change the epoch indicator; and associate subsequently closed blocks with the changed epoch indicator until a next time period expires.

16

16. The non-volatile memory system of claim 14 , wherein each time period comprises a predetermined elapsed time.

17

17. The non-volatile memory system of claim 16 , wherein each time period comprises an identical amount of elapsed time.

18

18. The non-volatile memory system of claim 14 , wherein each time period is defined by an amount of data being received such that the time period expires only upon receiving a predetermined amount of data independent of any predetermined elapsed time.

19

19. The non-volatile memory system of claim 15 , wherein the epoch indicator comprises a counter and changing the epoch indicator comprises incrementing the counter.

Patent Metadata

Filing Date

Unknown

Publication Date

May 1, 2018

Inventors

Nicholas James Thomas
Joseph Meza

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “METHOD AND SYSTEM FOR MANAGING DATA IN NON-VOLATILE MEMORY” (9959071). https://patentable.app/patents/9959071

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.