IP Library Granted Patent US 9,311,014
Granted Patent B2
US 9,311,014 · App. 14/036,557 · Granted Apr 12, 2016

Storage system and methods of mapping addresses of snapshot families

Inventors: Josef Ezra (Kibbutz Beit Kama, IL); Yechiel Yochai (Moshav Aviel, IL); Ido Ben-Tsion (Ramat Gan, IL); Efraim Zeidner (Haifa, IL)
Assignee: INFINIDAT LTD.
G06F3/065G06F3/0604G06F3/0605G06F3/0614G06F3/0683G06F3/0689G06F11/1446G06F11/1458G06F12/0864G06F17/30088G06F2201/84
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,311,014
App. No.
14/036,557
Granted
Apr 12, 2016
Kind
B2
Abstract

There is provided a storage system capable to maintain a snapshot family comprising a plurality of members having hierarchical relations therebetween, and a method of operating thereof. The method comprises generating a mapping data structure with mapping entries each comprising mappings for mapping a logical address range associated with the mapping entry into physical address ranges respectively correlated to representative members of the snapshot family; omitting mappings corresponding to omitted member(s) different from any of the one or more representative members sharing a respective range of physical addresses; responsive to an access request directed to a certain logical address range and a certain omitted member, determining, using a predefined rule related to the hierarchical and sequential relations between members of the snapshot family, a representative member from the one or more representative members; and responding to the access request by using a physical address range correlated to the representative member.

Claims (37)

1. A method of operating a storage system operable to manage a plurality of snapshot families, each snapshot family (SF) is constituted by SF members comprising a master logical volume and a plurality of snapshots corresponding thereto and is characterized by a SF logical address space associated with the SF, the method comprising:

generating in the storage system, for each given SF among the plurality of snapshot families, a corresponding first SF mapping data structure comprising one or more entries,

wherein each entry is associated with a variable range of contiguous logical addresses within the SF logical address space and is characterized by a value that is indicative of a length of the range and its offset in the SF logical address space, and

wherein each entry in the first SF mapping data structure is further associated with a second SF data structure configured to provide mapping between the range of contiguous logical addresses associated with the entry into one or more physical address ranges, respectively correlated to the SF members;

upon receiving an access request specifying an addressed LUN (Logical Unit Number) and LBA (Logical Block Address) range, identifying, by the storage system, an addressed snapshot family and an addressed member therein corresponding to the addressed LUN;

searching, by the storage system, a first SF mapping data structure associated with the identified addresses SF for entry associated with a range of contiguous logical addresses corresponding to LBA range specified in the access request; and

searching, by the storage system, a respective second SF mapping data structure associated with the entry found in the first SF mapping data structure for identifying physical addresses corresponding to the requested LBA range in the addressed member of the addressed snapshot family.

2. The method of claim 1 , wherein the second SF mapping data structure is configured to present any given range of physical addresses by one and only one representative member among the SF members sharing the given range of physical addresses.

3. The method of claim 2 , in case the addressed member of the addressed snapshot family is omitted in the respective second SF mapping data structure, further comprising determining a respective representative member sharing physical addresses with the addressed member, and using physical address range correlated to the detected representative member as corresponding to the requested LBA range.

4. The method of claim 3 wherein the respective representative member is determined in accordance with a predefined rule related to hierarchical and sequential relations between members of the addressed snapshot family.

5. The method of claim 3 wherein determining the respective representative member sharing physical addresses with the addressed member, searching the respective second SF mapping data structure and identifying physical addresses corresponding to the requested LBA range are provided as a single atomic operation.

6. The method of claim 1 further comprising updating the respective second SF mapping data structure responsive to destaging data received in the access request for writing.

7. The method of claim 6 , wherein the second SF mapping data structure is configured to present, before and after updating, any given range of physical addresses by one and only one representative member among the SF members sharing the given range of physical addresses.

8. The method of claim 1 further comprising associating data received in the access request for writing with a first value indicative of the most recent snapshot which existed in the storage system at the time of writing the received data to a cache memory, and writing, to the cache memory, the received data in association with the first value and with a second value indicative of the addressed SF member.

9. A storage system comprising a plurality of physical storage devices controlled by a plurality of storage control devices constituting a storage control layer operatively coupled to a plurality of hosts and to the plurality of physical storage devices constituting a physical storage space, said control layer configured to manage a plurality of snapshot families, each snapshot family (SF) is constituted by SF members comprising a master logical volume and a plurality of snapshots corresponding thereto and is characterized by a SF logical address space associated with the SF, wherein the control layer comprises:

means for generating, for each given SF among the plurality of snapshot families, a corresponding first SF mapping data structure comprising one or more entries,

wherein each entry is associated with a variable range of contiguous logical addresses within the SF logical address space and is characterized by a value that is indicative of a length of the range and its offset in the SF logical address space, and

wherein each entry in the first SF mapping data structure is further associated with a second SF data structure configured to provide mapping between the range of contiguous logical addresses associated with the entry into one or more physical address ranges, respectively correlated to the SF members;

means for identifying an addressed snapshot family and an addressed member therein upon receiving an access request specifying an addressed LUN (Logical Unit Number) and LBA (Logical Block Address) range;

means for searching a first SF mapping data structure associated with the identified addresses SF for entry associated with a range of contiguous logical addresses corresponding to LBA range specified in the access request; and

means for searching a respective second SF mapping data structure associated with the entry found in the first SF mapping data structure for identifying physical addresses corresponding to the requested LBA range in the addressed member of the addressed snapshot family.

10. The storage system of claim 9 , wherein the second SF mapping data structure is configured to present a given range of physical addresses by one and only one representative member among the SF members sharing the given range of physical addresses.

11. The storage system of claim 9 , wherein the control layer further comprises means for updating the respective second SF mapping data structure responsive to destaging data received in the access request for writing.

12. The storage system of claim 9 , wherein the control layer further comprises means for associating data received in the access request for writing with a first value indicative of the most recent snapshot which existed in the storage system at the time of writing the received data to a cache memory, and means for writing, to the cache memory, the received data in association with the first value and with a second value indicative of the addressed SF member.

13. A method comprising:

by a storage system capable to maintain a snapshot family comprising a plurality of members having hierarchical relations therebetween:

generating a mapping data structure comprising a plurality of mapping entries providing mapping for respective logical address ranges within a logical address space assigned to the snapshot family;

configuring a mapping entry of the plurality of mapping entries to comprise one or more mappings for mapping a logical address range associated with the mapping entry into one or more physical address ranges, respectively correlated to one or more representative members of the snapshot family;

omitting from the mapping entry a certain mapping corresponding to an omitted member comprised in the snapshot family and different from any of the one or more representative members sharing a respective range of physical addresses; and

responsive to an access request directed to the logical address range and the omitted member, determining a representative member from the one or more representative members, the determining being provided using a predefined rule related to the hierarchical and sequential relations between members of the snapshot family; and responding to the access request by using a physical address range correlated to the representative member.

14. The method of claim 13 , wherein the mapping data structure is configured to present a given range of physical addresses by one and only one representative member among the members sharing the given range of physical addresses.

15. The method of claim 13 , wherein a size of the logical address space assigned to the family is equal to size of logical address space of each of the members of the snapshot family, and wherein each given offset in the respective snapshot family logical address space corresponds to a respective offset in any of the snapshot family's members.

16. The method of claim 13 further comprising updating the mapping data structure responsive to destaging data received in the access request for writing.

17. The method of claim 16 , wherein the mapping data structure is configured to present, before and after updating, any given range of physical addresses by one and only one representative member among the members sharing the given range of physical addresses.

18. The method of claim 13 further comprising associating data received in the access request for writing with a first value indicative of the most recent snapshot which existed in the storage system at the time of writing the received data to a cache memory, and writing, to the cache memory, the received data in association with the first value and with a second value indicative of a member directed in the access request.

19. The method of claim 13 further comprising omitting from the mapping entry a mapping corresponding to any newly added member.

20. The method of claim 13 , wherein operations related to modification of hierarchical relations between members of the snapshot family are provided as a foreground process and operations related to respective modification of the mapping structure are provided as a background process.

Assignments (10)
SECURITY INTEREST Recorded Jan 30, 2025
From: INFINIDAT LTD
To: KREOS CAPITAL VII AGGREGATOR SCSP,
Reel/Frame 070056/0458 →
RELEASE OF SECURITY INTEREST IN IP RECORDED AT R/F 55653/0854 Recorded Jan 18, 2024
From: SILICON VALLEY BANK
To: INFINIDAT LTD.
Reel/Frame 066344/0064 →
SECURITY INTEREST Recorded Jan 11, 2024
From: INFINIDAT LTD
To: KREOS CAPITAL VI (EXPERT FUND) L.P.; KREOS CAPITAL 2020 OPPORTUNITY L.P.
Reel/Frame 066270/0359 →
SECURITY INTEREST Recorded Jan 10, 2024
From: INFINIDAT LTD
To: HSBC BANK PLC
Reel/Frame 066268/0584 →
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2021
From: BANK LEUMI LE-ISRAEL B.M.
To: INFINIDAT LTD.
Reel/Frame 055776/0526 →
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2021
From: BANK LEUMI LE-ISRAEL B.M.
To: INFINIDAT LTD.
Reel/Frame 055776/0597 →
SECURITY INTEREST Recorded Mar 18, 2021
From: INFINIDAT LTD.
To: SILICON VALLEY BANK
Reel/Frame 055653/0854 →
SECURITY INTEREST Recorded Apr 12, 2018
From: INFINIDAT LTD.
To: BANK LEUMI LE-ISRAEL B.M.
Reel/Frame 045914/0276 →
LIEN Recorded Jul 18, 2016
From: INFINIDAT LTD.
To: BANK LEUMI LE-ISRAEL B.M.
Reel/Frame 039361/0161 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2013
From: EZRA, JOSEF; YOCHAI, YECHIEL; BEN-TSION, IDO; ZEIDNER, EFRAIM
To: INFINIDAT LTD.
Reel/Frame 031278/0955 →
Continuity (2)
Provisional Application 61730988 · Nov 29, 2012
Related Publication 20140149670A1 · May 29, 2014