Legal claims defining the scope of protection, as filed with the USPTO.
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. The method of claim 1 , wherein selecting the block comprises selecting the block having a least amount of valid data.
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. 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. 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. 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. 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. The method of claim 7 , wherein each time period comprises a predetermined elapsed time.
9. The method of claim 8 , wherein each time period comprises an identical amount of elapsed time.
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. The method of claim 7 , wherein the epoch indicator comprises a counter and changing the epoch indicator comprises incrementing the counter.
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. 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. 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. 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. The non-volatile memory system of claim 14 , wherein each time period comprises a predetermined elapsed time.
17. The non-volatile memory system of claim 16 , wherein each time period comprises an identical amount of elapsed time.
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. The non-volatile memory system of claim 15 , wherein the epoch indicator comprises a counter and changing the epoch indicator comprises incrementing the counter.
Unknown
May 1, 2018
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.