Storage arrangement and method using a plurality of storage spaces which have separate control layers and separate mapping structures
First Claim
1. A system comprising a first storage system that comprises:
- a first physical storage space that includes a first plurality of physical storage devices, and a first control layer that includes one or more first storage control devices, and wherein one or more second storage systems are operatively coupled to the first storage system and each includes;
a second physical storage space that includes a second plurality of physical storage devices, and a second control layer that includes second storage control devices;
wherein the first control layer is configured to provide access to a first logical group characterized by a plurality of logical block addresses;
wherein said first control layer includes a first mapping structure, wherein the first mapping structure is a data structure for mapping the plurality of logical block addresses of said first logical group into first values indicative of physical addresses;
wherein said second control layer includes a second mapping structure, wherein the second mapping structure is a data structure for mapping the plurality of logical block addresses of said first logical group into second values indicative of physical addresses, wherein at least one of the second values is a physical address within the second physical storage space; and
wherein the first mapping structure is configured to provide translation between logical addresses within said first logical group and the values indicative of physical addresses, wherein each of the values indicative of physical addresses includes a value selected from;
a physical address within the first physical storage space, and a value that points to the second mapping structure;
wherein at least one logical address within the first logical group is mapped by the first mapping structure into a certain value that points to the second mapping structure;
wherein in response to receiving, by the first storage system, an I/O request addressed to a requested logical address included in said first logical group, the first storage system is configured to translate the requested logical address into a certain value indicative of physical addresses, by using the first mapping structure;
in a case where the certain value includes a first physical address range included within the first physical storage space, the first storage system is configured to serve the I/O request with data stored in the first physical address range; and
in a case where the certain value includes a value that points to the second mapping structure, the first storage system is configured to serve the I/O request with data stored in a second physical address range included in the second physical storage space, wherein the second physical address range is provided by using the second mapping structure for translating the requested logical address into the second physical address range;
wherein the first control layer further comprises a first virtual layer operable to represent a logical address space that comprises the plurality of logical block addresses of the first logical group, said first virtual layer characterized by a plurality of virtual unit addresses (VUA), and wherein the first control layer further comprises a second virtual layer operable to represent the first physical storage space, said second virtual layer characterized by a plurality of virtual disk addresses (VDA), and wherein the first mapping structure is configured to provide at least one of mapping option selected from a group consisting of;
a) mapping between the plurality of logical block addresses and addresses within the first physical storage space;
b) mapping between VUA and VDA addresses;
c) mapping between the plurality of logical block addresses and VDA addresses; and
d) mapping between VUA and addresses within the first physical storage space.
7 Assignments
0 Petitions
Accused Products
Abstract
There is provided a storage arrangement and a method of operating thereof. The storage arrangement comprises a first storage system and one or more second storage systems operatively coupled to the first storage system. First control layer is operable to handle a first logical address space comprising a first logical group characterized by a plurality of logical block addresses; first control layer comprises a first mapping module handling a first mapping structure associated with first logical group. Each second control layer comprises, respectively, a second mapping module handling a second mapping structure associated with first logical group. The first mapping structure is configured to provide mapping between logical addresses related to first logical group and corresponding addresses related to first physical address spaces, and/or to point to respective second mapping structure configured to provide mapping between these logical addresses and corresponding addresses related to respective second physical address spaces.
27 Citations
15 Claims
-
1. A system comprising a first storage system that comprises:
- a first physical storage space that includes a first plurality of physical storage devices, and a first control layer that includes one or more first storage control devices, and wherein one or more second storage systems are operatively coupled to the first storage system and each includes;
a second physical storage space that includes a second plurality of physical storage devices, and a second control layer that includes second storage control devices;wherein the first control layer is configured to provide access to a first logical group characterized by a plurality of logical block addresses; wherein said first control layer includes a first mapping structure, wherein the first mapping structure is a data structure for mapping the plurality of logical block addresses of said first logical group into first values indicative of physical addresses; wherein said second control layer includes a second mapping structure, wherein the second mapping structure is a data structure for mapping the plurality of logical block addresses of said first logical group into second values indicative of physical addresses, wherein at least one of the second values is a physical address within the second physical storage space; and wherein the first mapping structure is configured to provide translation between logical addresses within said first logical group and the values indicative of physical addresses, wherein each of the values indicative of physical addresses includes a value selected from;
a physical address within the first physical storage space, and a value that points to the second mapping structure;
wherein at least one logical address within the first logical group is mapped by the first mapping structure into a certain value that points to the second mapping structure;wherein in response to receiving, by the first storage system, an I/O request addressed to a requested logical address included in said first logical group, the first storage system is configured to translate the requested logical address into a certain value indicative of physical addresses, by using the first mapping structure; in a case where the certain value includes a first physical address range included within the first physical storage space, the first storage system is configured to serve the I/O request with data stored in the first physical address range; and in a case where the certain value includes a value that points to the second mapping structure, the first storage system is configured to serve the I/O request with data stored in a second physical address range included in the second physical storage space, wherein the second physical address range is provided by using the second mapping structure for translating the requested logical address into the second physical address range; wherein the first control layer further comprises a first virtual layer operable to represent a logical address space that comprises the plurality of logical block addresses of the first logical group, said first virtual layer characterized by a plurality of virtual unit addresses (VUA), and wherein the first control layer further comprises a second virtual layer operable to represent the first physical storage space, said second virtual layer characterized by a plurality of virtual disk addresses (VDA), and wherein the first mapping structure is configured to provide at least one of mapping option selected from a group consisting of;
a) mapping between the plurality of logical block addresses and addresses within the first physical storage space;
b) mapping between VUA and VDA addresses;
c) mapping between the plurality of logical block addresses and VDA addresses; and
d) mapping between VUA and addresses within the first physical storage space. - View Dependent Claims (2, 3, 4, 5, 6, 7)
- a first physical storage space that includes a first plurality of physical storage devices, and a first control layer that includes one or more first storage control devices, and wherein one or more second storage systems are operatively coupled to the first storage system and each includes;
-
8. A method of operating a system that includes a first storage system operatively coupled to a second storage system, each includes a physical storage space constituted by a plurality of physical storage devices, the method comprising:
-
configuring a first mapping structure, wherein the first mapping structure is a data structure for mapping a plurality of logical block addresses of a logical group into first values indicative of physical addresses, wherein each of the values indicative of physical addresses includes a value selected from;
a physical address within the first storage system and a value that points to a second mapping structure included in the second storage system;
wherein at least one logical address within the first logical group is mapped by the first mapping structure into a certain value that points to the second mapping structure;responsive to receiving by the first storage system an I/O request addressed to a requested logical address included in said logical group, translating the requested logical address into a certain value indicative of a certain physical address, by using the first mapping structure; in a case where the certain value includes a first physical address range included within the first storage system, serving, by the first storage system, the I/O request with data stored in the first physical address range; and in a case where the certain value includes a value that points to the second mapping structure included in the second storage system, using the second mapping structure for translating the requested logical address into a second physical address range included in the second storage system; and
serving the I/O request by the first storage system with data stored in the second physical address range;wherein the first storage system further comprises a first virtual layer operable to represent a logical address space that comprises the plurality of logical block addresses of the logical group, said first virtual layer characterized by a plurality of virtual unit addresses (VUA), and wherein the first storage system further comprises a second virtual layer operable to represent the physical storage space, said second virtual layer characterized by a plurality of virtual disk addresses (VDA), and wherein the first mapping structure is configured to provide mapping options selected from a group consisting of;
a) mapping between the plurality of logical block addresses and addresses within the physical storage space (DBA);
b) mapping between VUA and VDA addresses;
c) mapping between the plurality of logical block addresses and VDA addresses; and
d) mapping between VUA and addresses within the first physical storage space. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable storage medium comprising computer readable program code embodied therein for operating a first storage system, wherein the computer readable program code to cause the first storage system to:
-
configuring a first mapping structure for mapping a plurality of logical block addresses of a logical group into values indicative of physical addresses, wherein each of the values indicative of physical addresses includes a value selected from;
a physical address within the first storage system and a value that points to a second mapping structure included in a second storage system that is coupled to the first storage system;
wherein at least one logical address within the first logical group is mapped by the first mapping structure into a certain value that points to the second mapping structure;responsive to receiving by the first storage system an I/O request addressed to a requested address included in said logical group, translating the requested logical address into a certain value indicative of a certain physical address, by using the first mapping structure; in a case where the certain value includes a first physical address range included within the first storage system, serving, by the first storage system, the I/O request with data stored in the first physical address range; and in a case where the certain value includes a value that points to the second mapping structure included in the second storage system, serving, by the first storage system, the I/O request with data stored in a second physical address range included in the second storage system, wherein the second physical address range is provided by using the second mapping structure for translating the requested logical address into the second physical address range; wherein the first storage system further comprises a first virtual layer operable to represent a logical address space that comprises the plurality of logical block addresses of the logical group, said first virtual layer characterized by a plurality of virtual unit addresses (VUA), and wherein the first storage system further comprises a second virtual layer operable to represent the physical storage space, said second virtual layer characterized by a plurality of virtual disk addresses (VDA), and wherein the first mapping structure is configured to provide mapping options selected from a group consisting of;
a) mapping between the plurality of logical block addresses and addresses within the physical storage space (DBA);
b) mapping between VUA and VDA addresses;
c) mapping between the plurality of logical block addresses and VDA addresses; and
d) mapping between VUA and addresses within the first physical storage space.
-
Specification