REDUCING THE SIZE OF FAULT DOMAINS
First Claim
1. A method comprising:
- in a storage array comprising a plurality of interconnected computing nodes and a plurality of groups of non-volatile data storage drives, each group of data storage drives connected with one of the computing nodes;
presenting a plurality of production devices for storage of host application data;
provisioning, in a virtual storage space, a separate family space as a separate fault domain for each of the production devices, including a first family space for a first production device and a second family space for a second production device;
storing a first snap of the first production device in the first family space;
storing a second snap of the second production device in the second family space; and
recovering from a fault associated with the first production device by accessing the first snap without interrupting input-output commands to the second production device.
4 Assignments
0 Petitions
Accused Products
Abstract
A separate family space is provisioned as a separate fault domain for each production device in a storage system. The space provisioned for each family has contiguous logical block addresses that do not overlap with the address space of any other family. Snaps and clones in a first family space are used for fault recovery without interrupting IOs to a second family space. If the first family space points to the same virtual block as other families as a result of deduplication then the virtual block is un-deduped. For example, another instance of the virtual block may be created and pointers updated such that only the first family space points to one of the virtual block instances.
2 Citations
20 Claims
-
1. A method comprising:
in a storage array comprising a plurality of interconnected computing nodes and a plurality of groups of non-volatile data storage drives, each group of data storage drives connected with one of the computing nodes; presenting a plurality of production devices for storage of host application data; provisioning, in a virtual storage space, a separate family space as a separate fault domain for each of the production devices, including a first family space for a first production device and a second family space for a second production device; storing a first snap of the first production device in the first family space; storing a second snap of the second production device in the second family space; and recovering from a fault associated with the first production device by accessing the first snap without interrupting input-output commands to the second production device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
10. An apparatus comprising:
-
a plurality of interconnected computing nodes that present a plurality of production devices for storage of host application data; a plurality of groups of non-volatile data storage drives, each group of data storage drives connected with one of the computing nodes, the data storage drives storing the host application data; and program code that; provisions, in a virtual storage space, a separate family space as a separate fault domain for each of the production devices, including a first family space for a first production device and a second family space for a second production device; stores a first snap of the first production device in the first family space; stores a second snap of the second production device in the second family space; and recovers from a fault associated with the first production device by accessing the first snap without interrupting input-output commands to the second production device. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. An apparatus comprising:
a computing node that presents a plurality of production devices for storage of host application data and manages storage of the host application data on a plurality of non-volatile data storage drives, the computing node comprising program code that; provisions a separate family space as a separate fault domain in a virtual storage space for each of the production devices, including a first family contiguous logical block address space for a first production device and a second family contiguous logical block address space for a second production device such that the logical block addresses of the first family and the second family do not overlap; stores a first clone and a first snap of the first production device in the first family space; stores a second clone and a second snap of the second production device in the second family space; and recovers from a fault associated with the first production device by accessing the first snap without interrupting input-output commands to the second production device. - View Dependent Claims (20)
Specification