Convertible leaf memory mapping
First Claim
1. A method of storing metadata, the method comprising:
- at a computing device of a storage system including non-volatile memory and a tiered data structure, wherein the tiered data structure includes a plurality of leaves;
receiving an indication of data to be stored by the storage system;
selecting, from the plurality of leaves, a leaf to store location information for the data to be stored, wherein the selected leaf has a first leaf type, wherein leaves of the first leaf type include entries indicating locations of variable-length data stored in the non-volatile memory;
determining, using at least one first-type to second-type criterion, whether to convert the selected leaf to a converted leaf, wherein the converted leaf has a second leaf type, wherein leaves of the second type include entries indicating locations of fixed-length data stored in the non-volatile memory;
in response to a determination to convert the selected leaf to a converted leaf, storing, in the converted leaf, first location information of the data to be stored; and
in response to a determination to not convert the selected leaf, storing, in the selected leaf, second location information of the data to be stored.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods and/or devices are used to store metadata in a storage system. In one aspect, an indication of data to be stored by the storage system is received by a computing device including non-volatile memory and a tiered data structure. A leaf having a first leaf type is selected from the tiered data structure. Leaves of the first leaf type include locations of variable-length data stored in the non-volatile memory. At least one criterion is used to determine whether to convert the selected leaf to a converted leaf having a second leaf type. Leaves of the second type include locations of fixed-length data. In response to a determination to convert the selected leaf to a converted leaf, first location information is stored in the converted leaf. In response to a determination to not convert the selected leaf, second location information is stored in the second leaf.
22 Citations
21 Claims
-
1. A method of storing metadata, the method comprising:
-
at a computing device of a storage system including non-volatile memory and a tiered data structure, wherein the tiered data structure includes a plurality of leaves; receiving an indication of data to be stored by the storage system; selecting, from the plurality of leaves, a leaf to store location information for the data to be stored, wherein the selected leaf has a first leaf type, wherein leaves of the first leaf type include entries indicating locations of variable-length data stored in the non-volatile memory; determining, using at least one first-type to second-type criterion, whether to convert the selected leaf to a converted leaf, wherein the converted leaf has a second leaf type, wherein leaves of the second type include entries indicating locations of fixed-length data stored in the non-volatile memory; in response to a determination to convert the selected leaf to a converted leaf, storing, in the converted leaf, first location information of the data to be stored; and in response to a determination to not convert the selected leaf, storing, in the selected leaf, second location information of the data to be stored. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A storage device, comprising:
-
non-volatile memory; and a controller having one or more processors and controller memory storing one or more programs, which when executed by the one or more processors, cause the storage device to; receive an indication of data to be stored by the storage device; select, from the plurality of leaves, a leaf to store location information for the data to be stored, wherein the selected leaf has a first leaf type, wherein leaves of the first leaf type include entries indicating locations of variable-length data stored in the non-volatile memory; determine, using at least one first-type to second-type criterion, whether to convert the selected leaf to a converted leaf, wherein the converted leaf has a second leaf type, wherein leaves of the second type include entries indicating locations of fixed-length data stored in the non-volatile memory; in response to a determination to convert the selected leaf to a converted leaf, store, in the converted leaf, first location information of the data to be stored; and in response to a determination to not convert the selected leaf, store, in the selected leaf, second location information of the data to be stored. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer readable storage medium, storing one or more programs configured for execution by one or more processors of the controller of a storage device, the storage device including non-volatile memory, the one or more programs including instructions that when executed by the one or more processors, cause the storage device to:
-
receive an indication of data to be stored by the storage device; select, from the plurality of leaves, a leaf to store location information for the data to be stored, wherein the selected leaf has a first leaf type, wherein leaves of the first leaf type include entries indicating locations of variable-length data stored in the non-volatile memory; determine, using at least one first-type to second-type criterion, whether to convert the selected leaf to a converted leaf, wherein the converted leaf has a second leaf type, wherein leaves of the second type include entries indicating locations of fixed-length data stored in the non-volatile memory; in response to a determination to convert the selected leaf to a converted leaf, store, in the converted leaf, first location information of the data to be stored; and in response to a determination to not convert the selected leaf, store, in the selected leaf, second location information of the data to be stored. - View Dependent Claims (21)
-
Specification