US2022413976A1PendingUtilityA1

Method and System for Maintaining Storage Device Failure Tolerance in a Composable Infrastructure

Assignee: TWITTER INCPriority: Jun 28, 2018Filed: Aug 30, 2022Published: Dec 29, 2022
Est. expiryJun 28, 2038(~11.9 yrs left)· nominal 20-yr term from priority
G06F 3/0665G06F 3/0689G06F 11/2094G06F 11/1076G06F 3/067G06F 3/0619G06F 3/065G06F 3/0631
59
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Systems (e.g. data centers) having composable infrastructure, in which computing devices (e.g., servers) access disk drives organized into storage groups over a network or other communications mechanism, devices for implementing such systems, methods for configuring and operating such systems, and a computer readable medium which stores (in non-transitory fashion) code for performing any embodiment of the inventive method or steps thereof. Typically, the storage groups are determined such that the drives in each storage group have at least one coupled failure mechanism, and the drives are allocated to servers (and typically also, data items are placed in the servers) in accordance with storage group membership of the drives. In some embodiments, data from a server is stored in redundant fashion on at least two of the drives, e.g., in accordance a RAID technique.

Claims

exact text as granted — not AI-modified
1 . A system, including:
 a communications network; and   a set of components communicably coupled to the communications network, including:
 a set of storage drives, wherein all storage drives are organized into a set of storage groups based on the common failure risk(s) of all the storage drive(s) within each storage group such that the set of storage groups are based on a set of common failure risks, wherein the common failure risk(s) associated with each storage group of the set of storage groups is different than that of each other storage group of the set of storage groups; and 
 a set of servers communicably coupleable to the set of storage drives via the communications subsystem, including an administrator server configured to, prior to placement of data on the set of storage drives by the set of servers:
 determine, or receive an indication of, the set of storage groups; and 
 allocate the storage drives of the set of storage drives to the servers in the set of servers in accordance with membership of the each storage drive of the set of storage drives in the set of storage groups, 
 
   wherein a first server of the set of servers has allocated thereto a subset of first storage drives of the set of storage drives that are associated with a corresponding subset of first storage groups of the set of storage groups, such that the first server can communicably couple with the subset of first storage drives but not any other storage drives of the set of storage drives.   
     
     
         2 . The system of  claim 1 , wherein the set of storage groups includes two storage groups such that the subset of first storage groups include a first storage group, wherein a second server of the set of servers has allocated thereto a second storage group of the two storage groups, and
 wherein the first server is further configured to:
 save a data item to the first storage group; and 
 transmit a copy of the data item to the second server, wherein the second server is configured to save the copy of the data item to the second storage group. 
   
     
     
         3 . The system of  claim 1 , wherein the set of storage groups includes three storage groups. 
     
     
         4 . The system of  claim 3 , wherein the subset of first storage groups include a first storage group of the three storage groups, wherein a second server of the set of servers has allocated thereto a second storage group of the three storage groups, wherein a third server of the set of servers has allocated thereto a third storage group of the three storage groups and
 wherein the first server is further configured to:
 save a data item to the first storage group; 
 transmit a copy of the data item to the second server, wherein the second server is configured to save the copy of the data item to the second storage group; and 
 transmit a copy of the data item to the third server, wherein the third server is configured to save the copy of the data item to the third storage group. 
   
     
     
         5 . The system of  claim 3 , each storage group of the three storage groups having a substantially equal number of storage drives allocated thereto. 
     
     
         6 . The system of  claim 1 , wherein a second server of the set of servers has allocated thereto a subset of second storage drives of the set of storage drives that are associated with a corresponding subset of second storage groups of the set of storage groups,
 wherein the first server and the second server are configured to execute the same scale-out application, and   wherein the first server is further configured to:
 save a data item to the subset of first storage groups; 
 transmit, based on the second server executing the same scale-out application, a copy of the data item to the second server, wherein the second server is configured to save the copy of the data item to the subset of second storage groups. 
   
     
     
         7 . The system of  claim 1 , wherein the common failure risk(s) of all the storage drive(s) within each storage group includes a common power supply. 
     
     
         8 . The system of  claim 1 , wherein the common failure risk(s) of all the storage drive(s) within each storage group includes a common network connection. 
     
     
         9 . The system of  claim 1 , further include a set of racks, wherein all the storage drive(s) within each storage group are disposed on the same rack. 
     
     
         10 . The system of  claim 1 , further including a set of racks, the set of racks including:
 one or more compute racks, each compute rack only including one or more servers of the set of servers; and   one or more storage racks, each storage rack only including one or more storage drives of the set of storage drives.   
     
     
         11 . A method of storage of data items in a system, the system including:
 a communications network; and   a set of components communicably coupled to the communications network, including:
 a set of storage drives, wherein all storage drives are organized into a set of storage groups based on the common failure risk(s) of all the storage drive(s) within each storage group such that the set of storage groups are based on a set of common failure risks, wherein the common failure risk(s) associated with each storage group of the set of storage groups is different than that of each other storage group of the set of storage groups; and 
   a set of servers communicably coupleable to the set of storage drives via the communications subsystem,   the method comprising:
 determining, or receiving an indication of, the set of storage groups; 
 allocating the storage drives of the set of storage drives to the servers in the set of servers in accordance with membership of the each storage drive of the set of storage drives in the set of storage groups, including allocating a subset of first storage drives of the set of storage drives that are associated with a corresponding subset of first storage groups of the set of storage groups to a first server of the set of servers, such that the first server can communicably couple with the subset of first storage drives but not any other storage drives of the set of storage drives 
   
     
     
         12 . The method of  claim 11 , wherein the set of storage groups includes two storage groups such that the subset of first storage groups include a first storage group, the allocating further comprising allocating a second storage group of the two storage groups to a second server of the set or servers, the method further comprising:
 saving, by the first server, a data item to the first storage group;   transmitting, by the first server, a copy of the data item to the second server; and   saving, by the second server, the copy of the data item to the second storage group.   
     
     
         13 . The method of  claim 11 , wherein the set of storage groups includes three storage groups, wherein the subset of first storage groups include a first storage group of the three storage groups, the allocating further comprising:
 allocating a second storage group of the three storage groups to a second server of the set of servers; and   allocating a third storage group of the three storage groups to a third server of the set of servers,   the method further comprising:
 saving, by the first server, a data item to the first storage group; 
 transmitting, by the first server, a copy of the data item to the second server and to the third server; 
 saving, by the second server, the copy of the data item to the second storage group; and 
 saving, by the third server, the copy of the data item to the third storage group. 
   
     
     
         14 . The method of  claim 13 , the determining or receiving further comprising determining the set of storage groups such that each storage group of the three storage groups having a substantially equal number of storage drives allocated thereto. 
     
     
         15 . The method of  claim 11 , the determining or receiving further comprising determining the set of storage groups such that the common failure risk(s) of all the storage drive(s) within each storage group includes a common power supply. 
     
     
         16 . The method of  claim 11 , the determining or receiving further comprising determining the set of storage groups such that the common failure risk(s) of all the storage drive(s) within each storage group includes a common network connection. 
     
     
         17 . The method of  claim 11 , the allocating including allocating, to a second server of the set of servers, a subset of second storage drives of the set of storage drives that are associated with a corresponding subset of second storage groups of the set of storage groups, wherein the first server and the second server are configured to execute the same scale-out application,
 the method further comprising:   saving, by the first server, a data item to the subset of first storage groups;   transmitting, by the first server, based on the second server executing the same scale-out application, a copy of the data item to the second server;   wherein the second server is configured to save the copy of the data item to the subset of second storage groups.   
     
     
         18 . A method for storage drive allocation in a system, the system including:
 a communications network; and   a set of components communicably coupled to the communications network, including:
 a set of storage drives, wherein all storage drives are organized into a set of storage groups based on the common failure risk(s) of all the storage drive(s) within each storage group such that the set of storage groups are based on a set of common failure risks, wherein the common failure risk(s) associated with each storage group of the set of storage groups is different than that of each other storage group of the set of storage groups; and 
 a set of servers communicably coupleable to the set of storage drives via the communications subsystem, 
   the method comprising, prior to placement of data on the set of storage drives by the set of servers:
 determining, or receiving an indication of, the set of storage groups; and 
 allocating the storage drives of the set of storage drives to the servers in the set of servers in accordance with membership of the each storage drive of the set of storage drives in the set of storage groups, 
   such that a first server of the set of servers has allocated thereto a subset of first storage drives of the set of storage drives that are associated with a corresponding subset of first storage groups of the set of storage groups, such that the first server can communicably couple with the subset of first storage drives but not any other storage drives of the set of storage drives.   
     
     
         19 . The method of  claim 18 , the determining or receiving further comprising determining the set of storage groups such that the common failure risk(s) of all the storage drive(s) within each storage group includes a common power supply. 
     
     
         20 . The method of  claim 18 , the determining or receiving further comprising determining the set of storage groups such that the common failure risk(s) of all the storage drive(s) within each storage group includes a common network connection.

Join the waitlist — get patent alerts

Track US2022413976A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.