There is provided a SAS grid storage
system and a method of operating thereof. The
system comprises a) a storage
control grid comprising a plurality of interconnected data servers operable in accordance with at least one SAS protocol and b) a plurality of disk units adapted to store data at respective ranges of logical block addresses (LBAs), said addresses constituting an entire
address space. Each disk unit comprises at least one input / output (IO) module comprising at least one internal SAS expander configured as a target with regard to the storage
control grid. The plurality of disk units is operatively connected to the storage
control grid in a manner enabling to each data
server comprised in the storage control grid an access to each disk unit among the plurality of disk units. The method of operating the grid storage
system comprises: a) assigning each LBA to a primary data
server configured to have a primary responsibility for permanent storing of data and / or
metadata related to the desired LBA, a secondary data
server configured to take over the responsibility for said permanent storing in an event of a failure of the primary data server, and, optionally, to auxiliary secondary data server configured to take over the responsibility for said permanent storing in an event of a failure of the secondary data server; b) responsive to an I / O requests directed to a certain LBA, temporarily storing the data and
metadata with respect to desired LBA in the primary data server; c) sending copies of said data /
metadata from the primary data server to respective secondary data servers for temporarily storing; and d) sending permissions from the primary data server to the secondary data servers to delete the copy of data / metadata upon successful permanent storing said data / metadata.