IP Library Granted Patent US 8,452,922
Granted Patent B2
US 8,452,922 · App. 12/704,384 · Granted May 28, 2013

Grid storage system and method of operating thereof

Inventors: Leo Corry (Ramat Gan, IL); Yechiel Yochai (Moshav Aviel, IL); Michael Dorfman (Ramat HaSharon, IL); Haim Kopylovitz (Herzliya, IL)
Assignee: Infinidat Ltd.
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 8,452,922
App. No.
12/704,384
Granted
May 28, 2013
Kind
B2
Abstract

A method for hot backward compatible upgrade of a storage system includes: a) configuring each virtual partition (VP) to be controlled by a primary data server and a secondary data server b) configuring each data server to have primary responsibility over all logical block addresses (LBAs) corresponding to at least two virtual partitions and to have secondary responsibility over all LBAs corresponding to at least two other virtual partitions; c) responsive to a shut-down of a data server, i) re-configuring primary responsibility over each VP previously primary controlled by the shut-down server such that it becomes primary controlled by a server previously configured as a secondary server with respect to this VP; ii) re-allocating secondary responsibility over each VP previously secondary controlled by the shut-down server in a manner that each such VP becomes secondary controlled by a server other than the newly assigned server with primary responsibility.

Claims (38)

1. A storage system comprising:

a storage control grid comprising a plurality of at least three data servers, the control grid operatively connected to a plurality of disk units adapted to store data at respective ranges of logical block addresses (LBAs), said addresses constituting an entire address space divided between a plurality of virtual partitions (VP) whose number is twice the number of data servers, wherein each data server is configured to have direct or indirect access to the entire address space and is further configured to have primary responsibility over all LBAs corresponding to at least two virtual partitions and to have secondary responsibility over all LBAs corresponding to at least two other virtual partitions, each data server further configured to handle requests directed only to virtual partitions under its primary responsibility and to re-direct the rest of requests to respective data servers;

wherein each certain virtual partition is configured to be controlled by at least two data servers among said plurality of data servers, a primary data server configured to have a primary responsibility for handling requests directed to any range of LBAs corresponding to said certain virtual partition and a secondary data server configured to have a secondary responsibility for handling requests directed to any range of LBAs corresponding to said certain virtual partition and to take over the primary responsibility for handling requests directed to said any range of LBAs corresponding to said certain virtual partition if the primary server is shut-down for a backward compatible upgrade;

wherein each data server is configured as primary server with regard to a certain VP is further configured, in response to a request corresponding to said certain VP, to identify a data server configured as a secondary server with regard to said certain VP, and to send a corresponding redundancy cache object, generated from said primary cache object, to only said identified secondary server, said redundancy cache object to be used by said secondary data server when taking the primary responsibility over said certain VP for permanent storing respective data and/or metadata in said certain VP; and

wherein the plurality of data servers is pre-configured to enable the following re-assignment of responsibilities if one of the data servers is shut-down for a backward compatible upgrade:

each VP previously primary controlled by the shut-down server becomes primary controlled by a server previously configured as a secondary server with respect to this VP;

each VP previously secondary controlled by the shut-down server becomes secondary controlled by a server other than the newly assigned server with primary responsibility.

2. The storage system of claim 1 wherein the request directed to one or more LBAs is selected from a group comprising respectively directed I/O requests and configuration-related requests.

3. The storage system of claim 1 wherein the secondary data server is further configured to delete said redundancy cache object upon successful permanent storing provided by the primary data server of data and/or metadata corresponding to said request.

4. The storage system of claim 3 wherein said redundancy object is derived from the primary cache object and needs to be reconstructed in order to enable taking over the primary responsibility.

5. The storage system of claim 4 wherein said redundancy object is further configured to be handled in a searchable data structure with no need to be incorporated into cache-object control procedures and/or dirty data destaging procedures of the secondary server before taking over the primary responsibility.

6. The storage system of claim 1 operable in accordance with at least one protocol selected from a group comprising file-access storage protocols, block-access storage protocols and object-access storage protocols.

7. A method of operating a storage system comprising a storage control grid comprising a plurality of at least three data servers, the storage grid operatively connected to a plurality of disk units adapted to store data at respective ranges of logical block addresses (LBAs), said addresses constituting an entire address space divided between a plurality of virtual partitions (VPs) whose number is twice the number of data servers, each data server having direct or indirect access to the entire address space, the method comprising:

a) configuring each data server to have primary responsibility over all LBAs corresponding to at least two virtual partitions and to have secondary responsibility over all LBAs corresponding to at least two other virtual partitions;

b) configuring each data server to handle requests directed only to virtual partitions under its primary responsibility and to re-direct the rest of requests to respective data servers;

c) respectively configuring each certain virtual partition to be controlled by at least two data servers, a primary data server configured to have a primary responsibility for handling requests directed to any range of LBAs corresponding to said certain virtual partition and a secondary data server configured to have a secondary responsibility for handling requests directed to any range of LBAs corresponding to said certain virtual partition and to take over the primary responsibility for handling requests directed to said any range of LBAs corresponding to said certain virtual partition if the primary server is shut-down;

d) responsive to a request corresponding to a certain VP, generating a primary cache object in a data server configured as primary with regard to said certain VP, identifying a data server configured as a secondary with regard to said certain VP, and sending a corresponding redundancy cache object, generated from said primary cache object, to only said data server identified as a secondary with regard to said certain VP;

e) responsive to a shut-down of a data server among said plurality of data servers,

i) re-configuring primary responsibility over each VP previously primary controlled by the shut-down server such that it becomes primary controlled by a server previously configured as a secondary server with respect to this VP;

ii) re-allocating secondary responsibility over each VP previously secondary controlled by the shut-down server in a manner that each such VP becomes secondary controlled by a server other than the newly assigned server with primary responsibility

iii) using said redundancy cache object by said secondary data server when taking primary responsibility over said certain VP for permanent storing respective data and/or metadata in said certain VP.

8. The method of claim 7 further comprising shutting-down one data server and enabling upgrade of said one data server whilst retaining protection of data related to any respective request.

9. The method of claim 8 wherein the request directed to one or more LBAs is selected from a group comprising respectively directed I/O requests and configuration-related requests.

10. The method of claim 9 further comprising:

a) responsive to successful upgrade of the upgraded data server, informing at least all data servers which have taken over a responsibility for at least one VP assigned to the upgraded data server before its shut-down that the upgraded server is in operational condition;

b) obtaining by said upgraded server the most updated configuration information with regard to all VPs assigned to said upgraded data server before its shut-down;

c) retaking by said upgraded data server primary responsibility over all VPs assigned to the upgraded data server before its shut-down as to be controlled with primary responsibility and secondary responsibility over all VPs assigned to the upgraded data server before its shut-down as to be controlled with secondary responsibility.

11. The method of claim 8 wherein re-allocating secondary responsibility is provided in accordance with a pre-defined allocated table.

12. The method of claim 8 further comprising:

a) responsive to a change in configuration of a certain VP, obtaining by data server having primary responsibility over said certain VP information corresponding to said configuration change;

b) sending said information corresponding to said configuration change to the rest of the data servers in said plurality of data servers.

13. The method of claim 8 wherein the upgraded server retakes primary and secondary responsibility over a certain VP, then over another certain VP, and continues the takeover process until gaining responsibility over all VPs assigned to said upgraded data server before its shut-down.

14. The method of claim 13 wherein the upgraded server retakes primary responsibility over all VPs assigned to the upgraded data server before its shut-down as to be controlled with primary responsibility, and then retakes secondary responsibility over all VPs assigned to the upgraded data server before its shut-down as to be controlled with secondary responsibility.

15. The method of claim 13 wherein the upgraded server retakes primary and secondary responsibility over all VPs controlled by a certain data server with primary or secondary responsibility, then over all VPs controlled by another certain data server with primary or secondary responsibility, and continues the takeover process until gaining responsibility over all VPs assigned to said upgraded data server before its shut-down.

16. The method of claim 13 wherein at least some operations related to different VPs are provided in parallel.

17. A computer program embodied on a non-transitory computer readable storage medium comprising computer program code means for performing the method of claim 8 when said program is run on a computer.

18. The method of claim 7 wherein said redundancy object is derived from the primary cache object and needs to be reconstructed in order to enable taking over the primary responsibility.

19. The method of claim 7 wherein said redundancy object is further configured to be handled in a searchable data structure with no need to be incorporated into cache-object control procedures and/or dirty data destaging procedures of the secondary server.

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 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/0597 →
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2021
From: BANK LEUMI LE-ISRAEL B.M.
To: INFINIDAT LTD.
Reel/Frame 055776/0526 →
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 →
CHANGE OF NAME Recorded Nov 5, 2010
From: XSIGNNET LTD.
To: INFINIDAT LTD.
Reel/Frame 025301/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2010
From: CORRY, LEO; YOCHAI, YECHIEL; DORFMAN, MICHAEL; KOPYLOVITZ, HAIM
To: XSIGNNET LTD.
Reel/Frame 023943/0872 →
Continuity (5)
Continuation In Part 12544743 · Aug 20, 2009
Provisional Application 61189755 · Aug 21, 2008
Provisional Application 61151528 · Feb 11, 2009
Provisional Application 61151533 · Feb 11, 2009
Related Publication 20100153639A1 · Jun 17, 2010