Grid storage system and method of operating thereof
First Claim
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.
9 Assignments
0 Petitions
Accused Products
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.
34 Citations
19 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
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. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
Specification