Method and system for application aware, management of write operations on non-volatile storage
AssigneeLightbits Labs Ltd.
InventorMaor Vanmak
Life of this patent
Estimating the term…
Abstract
A system and method of managing storage on non-volatile memory (NVM) storage media, by at least one processor, may include receiving, from at least one client computing device, one or more data write requests, associated with application metadata, to store one or more respective data objects on the NVM storage media; performing a first classification of the one or more data objects, based on the application metadata, so as to associate each data object to a group of data objects; storing the data objects of each group in a dedicated storage set of a logical address space; and transmitting, or copying the data objects of each storage set to be stored in a respective, dedicated range of the NVM storage media.
Claims16
A method of managing storage on non-volatile memory (NVM) storage media, by at least one processor, the method comprising:
- receiving, from at least one client computing device, one or more data write requests, the data write requests associated with application metadata, to store one or more respective data objects on the NVM storage media;
- performing a first classification of the one or more data objects, based on the application metadata, so as to associate each data object to a group of data objects;
- storing the data objects of each group in a dedicated storage set of a logical address space;
- transmitting the data objects of each storage set to be stored in a respective, dedicated range of the NVM storage media;
- for each storage set of the logical address space:
- assigning a dedicated garbage collection (GC) mechanism;
- and
- performing, by the dedicated GC mechanism, a dedicated GC process on data objects comprised in the storage set, in the logical address space;
- obtaining, from a GC mechanism dedicated to a first storage set, GC metadata of a data object, that is comprised within the first storage set;
- performing a second classification of the data object, based on the GC metadata;
- updating the association of the data object, from the first group to a second group, according to the GC metadata;
- moving the data object to a second storage set, dedicated to the second group;
- and
- storing the data object in a range of the NVM storage media that is dedicated to the second storage set,
- wherein performing the second classification of the data object comprises:
- computing a value of time between rewrites (TBR) of the data object;
- and
- comparing the computed TBR value to one or more TBR threshold values,
- and wherein updating the association of the data object, from the first group to a second group is done based on said comparison.
A method of managing storage on non-volatile memory (NVM) storage media, by at least one processor, the method comprising:
- receiving, from at least one client computing device, one or more data write requests, the data write requests associated with application metadata, to store one or more respective data objects on the NVM storage media;
- performing a first classification of the one or more data objects, based on the application metadata, so as to associate each data object to a group of data objects;
- storing the data objects of each group in a dedicated storage set of a logical address space;
- transmitting the data objects of each storage set to be stored in a respective, dedicated range of the NVM storage media;
- for each storage set of the logical address space:
- assigning a dedicated garbage collection (GC) mechanism;
- and
- performing, by the dedicated GC mechanism, a dedicated GC process on data objects comprised in the storage set, in the logical address space;
- obtaining, from a GC mechanism dedicated to a first storage set, GC metadata of a data object, that is comprised within the first storage set;
- performing a second classification of the data object, based on the GC metadata;
- updating the association of the data object, from the first group to a second group, according to the GC metadata;
- moving the data object to a second storage set, dedicated to the second group;
- and
- storing the data object in a range of the NVM storage media that is dedicated to the second storage set,
- wherein the GC metadata is selected from a list consisting of:
- an age value of the data object, a validity status value of the data object, and a TBR value of the data object.
A system for managing storage on NVM storage media, the system comprising:
- a non-transitory memory device, wherein modules of instruction code are stored, and at least one processor associated with the memory device, and configured to execute the modules of instruction code, whereupon execution of said modules of instruction code, the at least one processor is configured to:
- receive, from at least one client computing device, one or more data write requests, associated with application metadata, to store one or more respective data objects on the NVM storage media;
- perform a first classification of the one or more data objects, based on the application metadata, to associate each data object to a group of data objects;
- store the data objects of each group in a dedicated storage set of a logical address space;
- and
- transmit the data objects of each storage set to be stored in a respective, dedicated range of the NVM storage media;
- wherein the at least one processor is configured to:
- assign a dedicated GC mechanism for each storage set of the logical address space, wherein the dedicated GC mechanism is configured to perform, within the respective storage set, a dedicated GC process on data objects that are stored in the respective storage set;
- obtain, from a GC mechanism dedicated to a first storage set, GC metadata of a data object, that is comprised within the first storage set;
- perform a second classification of the data object, based on the GC metadata;
- update the association of the data object, from the first group to a second group, according to the GC metadata;
- move the data object to a second storage set, dedicated to the second group;
- and
- store the data object in a range of the NVM storage media that is dedicated to the second storage set,
- wherein the at least one processor is configured to perform the second classification of the data object by:
- computing a time between rewrites (TBR) value of the data object;
- comparing the computed TBR value to one or more TBR threshold values;
- and
- updating the association of the data object, from the first group to a second group, based on said comparison.
Dependencies are inferred from the claim text.