IP Library Granted Patent US 8,443,137
Granted Patent B2
US 8,443,137 · App. 12/704,353 · Granted May 14, 2013

Grid storage system and method of operating thereof

Inventors: Yechiel Yochai (Moshav Aviel, IL); Leo Corry (Ramat Gan, 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,443,137
App. No.
12/704,353
Granted
May 14, 2013
Kind
B2
Abstract

The is provided a storage system comprising a plurality of disk units adapted to store data at respective ranges of logical block addresses (LBAs), said addresses constituting an entire address space, and a storage control grid operatively connected to the plurality of disk units and comprising a plurality of data servers. The method of operating the storage system comprises: a) configuring a first data server to have a primary responsibility over a certain range of LBAs, b) configuring a second data server to have a secondary responsibility over said certain range of LBAs and to overtake the primary responsibility over said certain range of LBAs if the first server fails; c) responsive to a request to one or more LBAs within said certain range of LBAs, generating a primary cache object in the first data server and generating a redundancy object in the second data server; d) deleting said redundancy object upon successful permanent storing of data and/or metadata corresponding to said request, said storing provided by the first data server, e) if operation d) fails, using said redundancy object by the second server for providing permanent storing said data and/or metadata when overtaking primary responsibility, wherein said redundancy object is derivation of the primary cache object and need to be reconstructed in order to enable overtaking the responsibility.

Claims (36)

1. A storage system comprising:

a) a plurality of disk units adapted to store data at respective ranges of logical block addresses (LBAs), said addresses constituting an entire address space,

b) a storage control grid operatively connected to the plurality of disk units and comprising a plurality of data servers;

wherein each certain LBA is assigned to at least two data servers: a first data server configured to have a primary responsibility for handling requests directed to at least said certain LBA and to generate a primary cache object in response to a request directed to at least saidcertain LBA, and a second data server configured to have a secondary responsibility for handling requests directed to at least said certain LBAand to overtake the primary responsibility for handling requests directed to at least said certain LBA if the primary server fails; and

wherein the storage system is further configured, in response to said request directed to at least said certain LBA, to generate a redundancy object in the second data server, said redundancy object to be deleted upon successful permanent storing by the first data server of data and/or metadata corresponding to said request, and to be used by the second data server for permanent storing said data and/or metadata when overtaking respective responsibility,

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 second server before overtaking the primary responsibility, and

wherein said redundancy object is derivation of the primary cache object and need to be reconstructed in order to enable overtaking the responsibility.

2. The 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 system of claim 1 wherein the primary cache object comprises data selected from a group comprising data to be destaged, metadata to be destaged and temporary data to be used in further processing, metadata to be used in further processing, and a combination thereof.

4. The system of claim 1 wherein the redundancy object is derived from the primary cache object as a serialized version of the primary cache object.

5. The system of claim 1 wherein the redundancy object is derived from the primary cache object as a compressed version of the primary cache object.

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. The method of claim 1 wherein responsive to a failure of the first data server, the redundancy object is configured to be incorporated into the cache-object control procedures and the dirty data destaging procedures of the data second server.

8. A method of operating a storage system comprising a plurality of disk units adapted to store data at respective ranges of logical block addresses (LBAs), said addresses constituting an entire address space, and a storage control grid operatively connected to the plurality of disk units and comprising a plurality of data servers, the method comprising:

a) configuring a first data server to have a primary responsibility over a certain range of LBAs,

b) configuring a second data server to have a secondary responsibility over said certain range of LBAs and to overtake the primary responsibility over said certain range of LBAs if the first server fails;

c) responsive to a request to one or more LBAs within said certain range of LBAs, generating a primary cache object in the first data server and generating a redundancy object in the second data server, wherein said redundancy object is further configured to be handled in a searchable data structure, and wherein, responsive to a failure of the first server, the redundancy object is configured to be incorporated into cache-object control procedures and dirty data destaging procedures of the second server;

d) deleting said redundancy object upon successful permanent storing of data and/or metadata corresponding to said request, said storing providedby the first data server,

e) if operation d) fails, using said redundancy object by the second server for providing permanent storing said data and/or metadata when overtaking primary responsibility,

wherein said redundancy object is derivation of the primary cache object and need to be reconstructed in order to enable overtaking the responsibility.

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 8 wherein the primary cache object comprises data selected from a group comprising data to be destaged, metadata to be destaged and temporary data to be used in further processing, metadata to be used in further processing, and a combination thereof.

11. The method of claim 8 wherein operations of generating a primary cache object in the first data server, incorporating the primary cache object into cache-object control procedures and dirty data destaging procedures of the first server, generating a redundancy object in the second data server and adding the redundancy object to a searchable data structure in the second server are configured as an atomic operation with regard to an operation system running on the servers.

12. The method of claim 8 further comprising return acknowledgement to the request responsive to completion the following operations:

a) generating a primary cache object in the first data server,

b) incorporating the primary cache object into cache-object control procedures and dirty data destaging procedures of the first server,

c) generating a redundancy object in the second data server, and

d) adding the redundancy object to a searchable data structure in the second server.

13. The method of claim 8 wherein the redundancy object is derived from the primary cache object as a serialized version of the primary cache object.

14. The method of claim 8 wherein the redundancy object is derived from the primary cache object as a compressed version of the primary cache object.

15. The method of claim 8 wherein, responsive to a failure of the first server, the second server:

a) reconstructs the redundancy object into a copy of the primary object;

b) accommodates the reconstructed redundancy object within the cache; and

c) incorporates the reconstructed redundancy object into cache-object control procedures and dirty data destaging procedures.

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

17. The method of claim 8 wherein the redundancy object is handled in the searchable data structure with no need to be incorporated into the cache-object control procedures and/or the dirty data destaging procedures of the second data server, before overtaking the primary responsibility.

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: YOCHAI, YECHIEL; CORRY, LEO; KOPYLOVITZ, HAIM
To: XSIGNNET LTD.
Reel/Frame 023943/0410 →
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 20100146206A1 · Jun 10, 2010