GRID STORAGE SYSTEM AND METHOD OF OPERATING THEREOF
First Claim
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 divided between a plurality of virtual partitions (VP),b) a storage control grid operatively connected to the plurality of disk units and comprising a plurality of at least three data servers, each server having direct or indirect access to the entire address space;
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 overtake the primary responsibility for handling respective requests if the primary server is shut-down for a backward compatible upgrade;
wherein each data server is 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; 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.
9 Assignments
0 Petitions
Accused Products
Abstract
The is provided a method of hot backward compatible upgrade of 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 divided between a plurality of virtual partitions (VPs), and a storage control grid operatively connected to the plurality of disk units and comprising a plurality of at least three data servers, each server having direct or indirect access to the entire address space. The method comprises: a) 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 overtake the primary responsibility for handling respective requests if the primary server fails; b) respectively configuring each data server among the plurality of data servers 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; c) responsive to a shut-down of a data server for an upgrade purpose, 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.
56 Citations
21 Claims
-
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 divided between a plurality of virtual partitions (VP), b) a storage control grid operatively connected to the plurality of disk units and comprising a plurality of at least three data servers, each server having direct or indirect access to the entire address space; 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 overtake the primary responsibility for handling respective requests if the primary server is shut-down for a backward compatible upgrade;
wherein each data server is 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; andwherein 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. - View Dependent Claims (2, 3, 4, 5, 21)
-
-
6. 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 divided between a plurality of virtual partitions (VPs), and a storage control grid operatively connected to the plurality of disk units and comprising a plurality of at least three data servers, each server having direct or indirect access to the entire address space, the method comprising:
-
a) 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 overtake the primary responsibility for handling respective requests if the primary server is shut-down; b) respectively configuring each data server among the plurality of data servers 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; c) 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. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19, 20)
-
-
17. The method of claim 17 wherein said redundancy object is derived from the primary cache object and needs to be reconstructed in order to enable overtaking the primary responsibility.
-
18. The method of claim 18 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.
Specification