DYNAMIC MANAGEMENT OF GARBAGE COLLECTION AND OVERPROVISIONING FOR HOST STREAM STORAGE
First Claim
1. A method for managing data in a non-volatile memory system having a controller in communication with a plurality of sub-drives, the method comprising the controller:
- receiving host data writes of a plurality of data streams from a plurality of host sources at the memory system;
for each of the plurality of data streams, storing all received host writes only in a respective one sub-drive of the plurality of sub-drives;
measuring a host write workload of each of the plurality of sub-drives; and
altering an amount of overprovisioning of one of the plurality of sub-drives in response to a change in the measured host write workload of another of the plurality of sub-drives.
7 Assignments
0 Petitions
Accused Products
Abstract
A system and method is disclosed for managing data in a non-volatile memory. The system may include a non-volatile memory having multiple non-volatile memory sub-drives. A controller of the memory system is configured receive data streams from multiple different host systems and keep data for the separate streams in separate sub-drives. The method may include dynamically changing overprovisioning of the sub-drives in response to changes in relative workload measurements of data writes coming from the different host systems.
-
Citations
20 Claims
-
1. A method for managing data in a non-volatile memory system having a controller in communication with a plurality of sub-drives, the method comprising the controller:
-
receiving host data writes of a plurality of data streams from a plurality of host sources at the memory system; for each of the plurality of data streams, storing all received host writes only in a respective one sub-drive of the plurality of sub-drives; measuring a host write workload of each of the plurality of sub-drives; and altering an amount of overprovisioning of one of the plurality of sub-drives in response to a change in the measured host write workload of another of the plurality of sub-drives. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-volatile memory system for managing data from a plurality of hosts, the system comprising:
-
a non-volatile memory having a plurality of non-volatile memory sub-drives; and a controller in communication with the plurality of sub-drives, the controller configured to; receive host data writes of a plurality of data streams from the plurality of hosts; maintain data from each of the plurality of data streams in a different respective separate sub-drive; measure a host write workload of each of the plurality of sub-drives; determine a respective target overprovisioning level for each of the plurality of sub-drives based on a relative host write workload of each of the plurality of sub-drives; and adjust an overprovisioning of one of the plurality of sub-drives in accordance with the respective target overprovisioning level determined for the one of the plurality of sub-drives. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-volatile memory system for managing data from a plurality of hosts, the system comprising:
-
a non-volatile memory having a plurality of sub-drives; means for receiving host data writes of a plurality of different data streams from a plurality of host sources at the memory system and for storing all received host writes for each particular different data stream only in a respective one of the plurality of sub-drives; means for measuring a host write workload of each of the plurality of sub-drives; and means for altering an amount of overprovisioning of one of the plurality of sub-drives in response to a change in the measured host write workload of another of the plurality of sub-drives. - View Dependent Claims (20)
-
Specification