SYSTEM AND METHOD FOR MANAGING DATA IN A MEMORY DEVICE
First Claim
1. A method for managing maintenance procedures in an independently managed non-volatile memory set of a non-volatile memory, the method comprising:
- receiving data associated with a data write command from a host;
identifying which of a plurality of data types the received data is associated with based on data type information received from the host;
storing the received data having the identified data type in a predetermined portion of the independently managed non-volatile memory set, the independently managed non-volatile memory set having a group of non-volatile memory cells of a same storage density, wherein the group of non-volatile memory cells comprises a plurality of predetermined portions, each of the predetermined portions having an open host write block associated with only a respective one of a plurality of different host data types;
detecting a maintenance operation trigger;
in response to detecting the maintenance operation trigger, selecting one of the plurality of predetermined portions in which to execute a maintenance operation based on a respective physical capacity overprovisioning criteria associated with each of the plurality of predetermined portions;
executing the maintenance operation on a block of the selected predetermined portion to adjust physical capacity overprovisioning of the selected predetermined portion to meet the physical capacity overprovisioning criteria for the selected predetermined portion.
2 Assignments
0 Petitions
Accused Products
Abstract
A non-volatile memory system may have a group of non-volatile memory cells having a plurality of predetermined portions, where each predetermined portion is associated with an open host write block of a different host data type than each other predetermined portion. A host data router directs received data from a host to an appropriate predetermined portion based on a determined data type. A maintenance data router, based on predetermined minimum capacity overprovisioning targets for each predetermined portion, operates to adjust an amount of overprovisioning of physical capacity among the plurality of predetermined portions to reduce write amplification and increase performance in predetermined portions having data with a higher probability of host update. The method may include selecting a particular predetermined portion and a particular block within the selected predetermined portion on which to perform a maintenance operation to achieve the desired capacity overprovisioning.
-
Citations
20 Claims
-
1. A method for managing maintenance procedures in an independently managed non-volatile memory set of a non-volatile memory, the method comprising:
-
receiving data associated with a data write command from a host; identifying which of a plurality of data types the received data is associated with based on data type information received from the host; storing the received data having the identified data type in a predetermined portion of the independently managed non-volatile memory set, the independently managed non-volatile memory set having a group of non-volatile memory cells of a same storage density, wherein the group of non-volatile memory cells comprises a plurality of predetermined portions, each of the predetermined portions having an open host write block associated with only a respective one of a plurality of different host data types; detecting a maintenance operation trigger; in response to detecting the maintenance operation trigger, selecting one of the plurality of predetermined portions in which to execute a maintenance operation based on a respective physical capacity overprovisioning criteria associated with each of the plurality of predetermined portions; executing the maintenance operation on a block of the selected predetermined portion to adjust physical capacity overprovisioning of the selected predetermined portion to meet the physical capacity overprovisioning criteria for the selected predetermined portion. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-volatile memory system comprising:
-
an independently managed non-volatile memory set having a plurality of predetermined portions in a layer of the independently managed non-volatile memory set, where the layer comprises blocks of memory cells having a same bit per cell storage capacity and each predetermined portion is defined by an open host write block exclusively associated with a data type that differs from each other of the plurality of predetermined portions; a host data router in communication with the plurality of predetermined portions and configured to route data received from a host to one of the plurality of predetermined portions based on the data type of the data received from the host; and a maintenance data router in communication with the plurality of predetermined portions, the maintenance data router configured to adjust a current physical capacity overprovisioning in at least one predetermined portion in response to detecting a maintenance trigger event, wherein current physical capacity overprovisioning comprises a relation of a current physical data storage capacity associated with a particular predetermined portion to a current amount of valid data associated with the particular predetermined portion. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-volatile memory system comprising:
-
an independently managed non-volatile memory set having a plurality of predetermined portions in a single group of the non-volatile memory, where the single group comprises blocks of memory cells having a same bit per cell storage capacity, and wherein each predetermined portion includes an open host write block exclusively associated with a data type that differs from a data type of an open host write block of each other of the plurality of predetermined portions; a host data router configured to identify a data type of host data and route host data having the identified data type to a host data subportion in one of the plurality of predetermined portions having an open host write block exclusively associated with the identified data type; and a maintenance data router having a first mode wherein the maintenance data router is configured to move data from a host data subportion to a maintenance data subportion in a same predetermined portion, and a second mode, wherein the maintenance data router is configured to move data from the maintenance data subportion in a first predetermined portion to a maintenance data subportion in a second predetermined portion associated with a data type of data having a lower probability of update.
-
Specification