Patent ID: 8495291
Filing Date: 2013-07-23
Classification: G06F

Abstract:
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 data servers, each server having direct or indirect access to the entire address space; wherein the number of virtual partitions is twice the number of data servers; 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, each data server further configured to handle requests directed merely to virtual partitions under its primary responsibility; 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 any range of LBAs corresponding to said certain virtual partition if the primary server fails; and 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, to generate a primary cache object and to generate and send a corresponding redundancy cache object, generated from said primary cache object, only to 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 permanently storing respective data in said certain VP.