Virtualized storage system and method of operating thereof
First Claim
1. A storage system comprising a plurality of physical storage devices constituting a physical storage space, and one or more storage control devices constituting a storage control layer, the one or more storage control devices are coupled to the plurality of physical storage devices, the storage control layer is configured to handle a logical address space divided into one or more logical groups, wherein the storage control layer further comprises an allocation module configured to provide a mapping between logical address ranges of different lengths within the logical address space and physical address ranges indicative of locations in the physical storage space, said mapping is provided by using one or more mapping trees,wherein each mapping tree of the one or more mapping trees is assigned to a logical group of the one or more logical groups and comprises one or more leaf nodes;
- wherein each leaf node of the one or more leaf nodes represents a mapping between a logical address range and a physical address range;
wherein the logical address range comprises contiguous logical addresses within the logical group;
wherein a depth of each leaf node within each one of the one or more mapping trees is indicative of a length of a logical address range represented by the leaf node; and
wherein a certain mapping tree of the at least one mapping trees has at least two leaf nodes that (a) represent logical address ranges of different lengths and (b) are located at different depths within the certain mapping tree.
8 Assignments
0 Petitions
Accused Products
Abstract
There are provided a storage system and a method of operating thereof. The method comprises: a) representing to a plurality of hosts an available logical address space divided into one or more logical groups (e.g. logical volumes, virtual partitions, snapshots, combinations of a given logical volume and its respective snapshot(s), etc.), and b) mapping between one or more contiguous ranges of addresses related to the logical address space and one or more contiguous ranges of addresses related to the physical address space, wherein said mapping is provided with the help of one or more mapping trees, each tree assigned to a separate logical group in the logical address space. Mapping between contiguous ranges of addresses related to the logical address space and contiguous ranges of addresses related to the physical address space can be a) mapping between LBA and DBA addresses; b) mapping between VUA and VDA addresses; c) mapping between LBA and VDA addresses; and d) mapping between VUA and DBA addresses, wherein virtual unit addresses (VUA) characterize a first virtual layer operable to represent the logical address space, and virtual disk addresses (VDA) characterize a second virtual layer operable to represent the physical storage space.
22 Citations
18 Claims
-
1. A storage system comprising a plurality of physical storage devices constituting a physical storage space, and one or more storage control devices constituting a storage control layer, the one or more storage control devices are coupled to the plurality of physical storage devices, the storage control layer is configured to handle a logical address space divided into one or more logical groups, wherein the storage control layer further comprises an allocation module configured to provide a mapping between logical address ranges of different lengths within the logical address space and physical address ranges indicative of locations in the physical storage space, said mapping is provided by using one or more mapping trees,
wherein each mapping tree of the one or more mapping trees is assigned to a logical group of the one or more logical groups and comprises one or more leaf nodes; -
wherein each leaf node of the one or more leaf nodes represents a mapping between a logical address range and a physical address range; wherein the logical address range comprises contiguous logical addresses within the logical group; wherein a depth of each leaf node within each one of the one or more mapping trees is indicative of a length of a logical address range represented by the leaf node; and wherein a certain mapping tree of the at least one mapping trees has at least two leaf nodes that (a) represent logical address ranges of different lengths and (b) are located at different depths within the certain mapping tree. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of operating a storage system comprising a plurality of physical storage devices constituting a physical storage space, and one or more storage control devices constituting a storage control layer, coupled to a plurality of hosts and to the plurality of physical storage devices, the method comprising:
-
a) representing to said plurality of hosts a logical address space divided into one or more logical groups; and b) mapping between logical address ranges of different lengths within the logical address space and physical address ranges indicative of locations in the physical address space, wherein said mapping comprises using one or more mapping trees, and assigning a mapping tree, that comprises one or more leaf nodes, to each logical group of the one or more logical groups; wherein each leaf node of the one or more leaf nodes represents a mapping between a logical address range and a physical address range; wherein the logical address range comprises contiguous logical addresses within the logical group; wherein a depth of each leaf node within each one of the one or more mapping trees is indicative of a length of a logical address range represented by the leaf node; and wherein a certain mapping tree of the one or more mapping trees has at least two leaf nodes that (a) represent logical address ranges of different lengths and (b) are located at different depths within the certain mapping tree. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory computer readable medium that stores computer program code that once executed on a computer causes the computer to perform:
-
representing, by a storage system to a plurality of hosts, a logical address space divided into one or more logical groups; and b) mapping between logical address ranges of different lengths within the logical address space and physical address ranges indicative of locations in a physical address space that comprises one or more physical storage devices, wherein said mapping comprises using one or more mapping trees, and assigning a mapping tree, that comprises one or more leaf nodes, to each logical group of the one or more logical groups; wherein each leaf node of the one or more leaf nodes represents a mapping between a logical address range and a physical address range; wherein the logical address range comprises contiguous logical addresses within the logical group; wherein a depth of each leaf node within each one of the one or more mapping trees is indicative of a length of a logical address range represented by the leaf node; and wherein a certain mapping tree of the one or more mapping trees has at least two leaf nodes that (a) represent logical address ranges of different lengths and (b) are located at different depths within the certain mapping tree.
-
Specification