US2018253363A1PendingUtilityA1

Efficient use of spare device(s) associated with a group of devices

54
Assignee: TINTRI INCPriority: Mar 20, 2015Filed: May 7, 2018Published: Sep 6, 2018
Est. expiryMar 20, 2035(~8.7 yrs left)· nominal 20-yr term from priority
G06F 11/2094G06F 2201/805G06F 11/1092
54
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Efficient use of spare device(s) associated with a group of devices is disclosed, including: receiving a set of data; storing the set of data across a group of devices according to a protocol; determining a set of additional data units associated with the set of data; and storing the set of additional data units in a spare device associated with the group of devices, wherein the spare device is available to be used in the event of a failure of a device included in the group of devices, including by overwriting the set of additional data units as needed.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A system, comprising:
 a communication interface configured to receive a set of data; and   a processor configured to:
 store the set of data across a group of devices according to a protocol; 
 determine a set of additional data units associated with the set of data; 
 store the set of additional data units in a spare device associated with the group of devices, wherein the spare device is available to be used in the event of a failure of a device included in the group of devices, including by overwriting the set of additional data units as needed; 
 receive a request to a second device included in the group of devices; 
 determine that the second device is associated with a slow access mode; 
 in response to the determination that the second device is associated with a slow access mode, configure an access latency avoiding block to service the request to the second device using at least one device other than the second device; and 
 reconstruct data associated with the request from one or more other devices included in the group of devices and at least a portion of the set of additional data units stored in the spare device. 
   
     
     
         2 . The system of  claim 1 , wherein the determination that the second device is associated zo with a slow access mode is based at least in part on a timeout duration. 
     
     
         3 . The system of  claim 2 , wherein the timeout duration is determined based on at least one of: an assigned timeout length, a size of data requested by the request, a priority associated with the request, a priority associated with the second device, a priority associated with a calling entity, and a queue length. 
     
     
         4 . The system of  claim 1 , wherein the determination that the second device is associated with a slow access mode is based at least in part on the second device performing internal activities. 
     
     
         5 . The system of  claim 1 , wherein the determination that the second device is associated with a slow access mode is based at least in part on the second device being in a forced slow access period. 
     
     
         6 . The system of  claim 1 , wherein the processor is further configured to determine that the second device is not associated with a slow access mode based at least in part on a stored state of the second device. 
     
     
         7 . The system of  claim 1 , wherein the processor is further configured to determine that the second device is existing a slow access mode based at least in part on completion of a command associated with the slow access mode. 
     
     
         8 . The system of  claim 1 , wherein the processor is further configured to configure the access latency avoiding block to determine a scheduled time for each of the devices in the group of devices to enter a slow access mode. 
     
     
         9 . The system of  claim 1 , wherein the scheduled time for each of the devices in the group of devices to enter a slow access mode is determined such that no two different devices are in a slow access period during overlapping times. 
     
     
         10 . The system of  claim 1 , wherein the group of devices comprise a redundant array of independent disks (RAID) group. 
     
     
         11 . The system of  claim 1 , wherein the protocol comprises one of the following: RAID 5 and RAID 6. 
     
     
         12 . The system of  claim 1 , wherein the set of additional data units comprises data associated with a lower performance storage tier. 
     
     
         13 . The system of  claim 1 , wherein the set of additional data units comprises metadata associated with one or more stripes of data stored in the group of devices. 
     
     
         14 . The system of  claim 1 , wherein the set of additional data units comprises a set of parity information that is not included in the protocol. 
     
     
         15 . The system of  claim 1 , wherein the processor is further configured to:
 determine that at least a portion of data associated with a stripe of data of the group of devices has been updated;   in response to the determination, determine an updated additional data unit based at least in part on the at least portion of data associated with the stripe of data; and   store the updated additional data unit in a stripe unit in the spare device.   
     
     
         16 . The system of  claim 1 , wherein in the event of the failure of the device, the processor is further configured to store reconstructed data associated with the device in the spare device by overwriting at least some of the set of additional data units stored in the spare device with the reconstructed data. 
     
     
         17 . The system of  claim 16 , wherein the processor is further configured to:
 receive a request to the device subsequent to storing the reconstructed data associated with the device in the spare device; and   determine a response to the request based at least in part on the reconstructed data stored in the spare device.   
     
     
         18 . The system of  claim 1 , wherein the spare device comprises a previous spare device and wherein the processor is further configured to:
 determine that a new spare device is associated with the group of devices;   determine a new additional data unit corresponding to a stripe of data associated with the group of devices;   store the new additional data unit corresponding to the stripe of data in the new spare device; and   update stored metadata to indicate that the new additional data unit corresponding to the stripe of data is stored in the new spare device instead of the previous spare device.   
     
     
         19 . A method, comprising:
 receiving a set of data;   storing the set of data across a group of devices according to a protocol;   determining a set of additional data units associated with the set of data;   storing the set of additional data units in a spare device associated with the group of devices, wherein the spare device is available to be used in the event of a failure of a device included in the group of devices, including by overwriting the set of additional data units as needed;   receiving a request to a second device included in the group of devices;   determine that the second device is associated with a slow access mode;   in response to the determination that the second device is associated with a slow access mode, configuring an access latency avoiding block to service the request to the second device using at least one device other than the second device; and   reconstruct data associated with the request from one or more other devices included in the group of devices and at least a portion of the set of additional data units stored in the spare device.   
     
     
         20 . A computer program product, the computer program product being embodied in a non-transitory computer-readable storage medium and comprising computer instructions for:
 receiving a set of data;   storing the set of data across a group of devices according to a protocol;   determining a set of additional data units associated with the set of data; and   storing the set of additional data units in a spare device associated with the group of devices, wherein the spare device is available to be used in the event of a failure of a device included in the group of devices, including by overwriting the set of additional data units as needed;   receiving a request to a second device included in the group of devices;   determining that the second device is associated with a slow access mode;   in response to the determination that the second device is associated with a slow access mode, configuring an access latency avoiding block to service the request to the second device using at least one device other than the second device; and   reconstructing data associated with the request from one or more other devices included in the group of devices and at least a portion of the set of additional data units stored in the spare device.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.