1. A method of operating a storage system comprising a control layer with a cache memory, the control layer operable to manage a plurality of snapshot families, each family constituted by snapshot family (SF) members having hierarchical relations therebetween, the method comprising: upon receiving a read request specifying logical unit number (LUN) of an addressed logical volume and addressed logical block address (LBA) therein, the control layer identifying an addressed snapshot family and an addressed SF member therein corresponding to the addressed LUN; searching the cache memory for an addressed data block corresponding to the addressed LBA and associated with the addressed snapshot family and the addressed SF member; in a case of missing the addressed data block in the cache memory, identifying in the cache memory all dirty data blocks corresponding to the addressed LBA and associated with the addressed snapshot family, thus giving rise to candidate data blocks; identifying for the addressed snapshot family an SF member representing, upon virtual destaging all candidate data blocks, the addressed LBA in a mapping data structure, thus giving rise to a destage owner, wherein the mapping data structure is configured to provide mapping between a given LBA and one or more physical addresses corresponding to SF members such that a given physical address is represented by one and only one SF member among SF members sharing the given physical address; and in a case when the identified destage owner is associated with a candidate data block, reading from the cache memory such candidate data block.