US9747050B2ActiveUtilityA1

Method, apparatus, and controller for managing storage array

58
Assignee: HUAWEI TECH CO LTDPriority: Jun 29, 2013Filed: Feb 6, 2017Granted: Aug 29, 2017
Est. expiryJun 29, 2033(~7 yrs left)· nominal 20-yr term from priority
Inventors:Tao Gong
G06F 3/0665G06F 3/0619G06F 3/0689G06F 12/0246G06F 2212/7202G06F 3/0679G06F 3/0649G06F 3/0647
58
PatentIndex Score
0
Cited by
30
References
12
Claims

Abstract

A method and a controller for managing a storage array is presented. The storage array is divided into a first subset of storage devices and a second subset of storage devices according to degrees of wear of storage devices, such that a degree of wear of each of storage device in the first subset is greater than or equal to a degree of wear of any storage device in the second subset, and then, to-be-written data are written into the physical storage devices in the first subset. Therefore, service lives of storage devices in the second subset may be extended relatively by shortening service lives of storage devices in the first subset.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method implemented by a controller for managing a storage array formed by N physical storage devices, wherein N>=2, the method comprising:
 acquiring degrees of wear of the N physical storage devices, each physical storage device having a degree of wear; 
 dividing the N physical storage devices of the storage array into a first subset of physical storage devices and a second subset of physical storage devices, such that a degree of wear of each storage device in the first subset of physical storage devices is greater than or equal to a degree of wear of any storage device in the second subset of physical storage devices; and 
 writing to-be-written data into the physical storage devices in the first subset. 
 
     
     
       2. The method according to  claim 1 , wherein dividing the storage array into the first subset and the second subset comprises:
 sequencing the N physical storage devices according to the degrees of wear of the N physical storage devices in descending order, wherein a storage device with a maximum degree of wear is numbered 1, and wherein a physical storage device with a minimum degree of wear is numbered N; 
 calculating a difference between degrees of wear of an i th  physical storage device and an (i+1) th  physical storage device, wherein 0<i<N; 
 taking a 1 st  to the i th  physical storage devices as the first subset and the (i+1) th  to an N th  physical storage devices as the second subset when the difference between the degrees of wear of the i th  physical storage device and the (i+1) th  physical storage device is smaller than or equal to a first wear threshold; 
 adding 1 to i; and 
 continuing to calculate a difference between degrees of wear of an i th  physical storage device and an (i+1) th  physical storage device when the difference between the degrees of wear of the i th  physical storage device and the (i+1) th  physical storage device is greater than the first wear threshold. 
 
     
     
       3. The method according to  claim 1 , wherein dividing the storage array into the first subset and the second subset comprises:
 grouping the N physical storage devices into S subsections, such that a degree of wear of each of storage device in a j th  subsection are greater than or equal to a degree of wear of any storage devices in an (j+1) th  subsection, and 0<j<S; 
 calculating the number of physical storage devices in a 1 st  subsection to the j th  subsection; 
 taking the physical storage devices in the 1 st  subsection to the j th  subsection as the first subset and the physical storage devices in the (j+1) th  subsection to an S th  subsection as the second subset when the number of the physical storage devices in the 1 st  subsection to the j th  subsection is greater than or equal to N/2; 
 adding 1 to j; and 
 continuing to calculate the number of physical storage devices in the 1 st  subsection to a j th  subsection when the number of the physical storage devices in the 1 st  subsection to the j th  subsection is smaller than N/2. 
 
     
     
       4. The method according to  claim 1 , wherein dividing the storage array into the first subset and the second subset comprises:
 grouping the N physical storage devices into S subsections, such that a degree of wear of physical storage device in a j th  subsection are greater than or equal to a degree of wear of any physical storage devices in an (j+1) th  subsection, and 0<j<S; and 
 taking the physical storage devices in a 1 st  subsection to the j th  subsection as the first subset and the physical storage devices in the (j+1) th  subsection to an S th  subsection as the second subset, 
 wherein j=└S/2┘, indicating rounding S/2 down, or wherein j=┌S/2┐, indicating rounding S/2 up. 
 
     
     
       5. The method according to  claim 3 , wherein grouping the N storage devices into S subsections comprises:
 sequencing the N physical storage devices according to the degrees of wear of the N physical storage devices in descending order, wherein a physical storage device with a maximum degree of wear is numbered 1, and wherein a physical storage device with a minimum degree of wear is numbered N; 
 calculating a difference between degrees of wear of an i th  physical storage device and an (i+1) th  physical storage device, wherein 0<i<N; 
 when the difference between the degrees of wear of the i th  physical storage device and the (i+1) th  physical storage device is smaller than or equal to a second wear threshold, grouping the i th  physical storage device into one subsection, grouping the (i+1) th  physical storage device into another subsection, adding 1 to i, and continuing to calculate a difference between degrees of wear of an i th  physical storage device and an (i+1) th  physical storage device; and 
 when the difference between the degrees of wear of the i th  physical storage device and the (i+1) th  physical storage device is greater than the second wear threshold, grouping the (i+1) th  physical storage device into a subsection to which the i th  physical storage device belongs, adding 1 to i, and continuing to calculate a difference between degrees of wear of an i th  physical storage device and an (i+1) th  physical storage device. 
 
     
     
       6. The method according to  claim 1 , wherein dividing the storage array into the first subset and the second subset comprises:
 forming the first subset with physical storage devices whose degrees of wear are greater than or equal to a first wear threshold; and 
 forming the second subset with physical storage devices whose degrees of wear are smaller than the first wear threshold. 
 
     
     
       7. A controller of a storage array having N physical storage devices, wherein N>=2, comprising:
 a memory configured to store computer-executable instructions, 
 a communications interface; 
 a processor coupled to the memory and the communications interface via a system bus, wherein the processor is configured to communicate with the storage array through the communication interface, and to execute the computer-executable instructions to perform operations of: 
 acquiring degrees of wear of the N physical storage devices of the storage array, each physical storage device having a degree of wear; 
 dividing the N physical storage devices of the storage array into a first subset of physical storage devices and a second subset of physical storage devices, such that a degree of wear of each of physical storage device in the first subset of physical storage devices is greater than or equal to a degree of wear of any physical storage device in the second subset of physical storage devices; and 
 writing to-be-written data into the physical storage devices in the first subset. 
 
     
     
       8. The controller according to  claim 7 , wherein dividing the storage array into the first subset and the second subset comprises:
 sequencing the N physical storage devices according to the degrees of wear of the N storage devices in descending order, wherein a physical storage device with a maximum degree of wear is numbered 1, and wherein a physical storage device with a minimum degree of wear is numbered N; 
 calculating a difference between degrees of wear of an i th  physical storage device and an (i+1) th  physical storage device, wherein 0<i<N; 
 taking a 1 st  to the i th  physical storage devices as the first subset and the (i+1) th  to an N th  physical storage devices as the second subset when the difference between the degrees of wear of the i th  physical storage device and the (i+1) th  physical storage device is smaller than or equal to a first wear threshold; 
 adding 1 to i; and 
 continuing to calculate a difference between degrees of wear of an i th  physical storage device and an (i+1) th  physical storage device when the difference between the degrees of wear of the i th  physical storage device and the (i+1) th  physical storage device is greater than the first wear threshold. 
 
     
     
       9. The controller according to  claim 7 , wherein dividing the storage array into the first subset and the second subset comprises:
 grouping the N physical storage devices into S subsections, such that a degree of wear of each of physical storage devices in a j th  subsection is greater than or equal to a degree of wear of any storage device in an (j+1) th  subsection, and 0<j<S; 
 calculating the number of physical storage devices in a 1 st  subsection to the j th  subsection; 
 taking the physical storage devices in the 1 st  subsection to the j th  subsection as the first subset and the physical storage devices in the (j+1) th  subsection to an S th  subsection as the second subset when the number of the physical storage devices in the 1 st  subsection to the j th  subsection is greater than or equal to N/2; 
 adding 1 to j; and 
 continuing to calculate the number of physical storage devices in the 1 st  subsection to a j th  subsection when the number of the physical storage devices in the 1 st  subsection to the j th  subsection is smaller than N/2. 
 
     
     
       10. The controller according to  claim 7 , wherein dividing the storage array into the first subset and the second subset comprises:
 grouping the N physical storage devices into S subsections, such that a degree of wear of each of physical storage device in a j th  subsection is greater than or equal to a degree of wear of any physical storage device in an (j+1) th  subsection, and 0<j<S; and 
 taking the physical storage devices in a 1 st  subsection to the j th  subsection as the first subset and the physical storage devices in the (j+1) th  subsection to an S th  subsection as the second subset, 
 wherein j=└S/2┘, indicating rounding S/2 down, or wherein j=┌S/2┐, indicating rounding S/2 up. 
 
     
     
       11. The controller according to  claim 9 , wherein grouping the N physical storage devices into S subsections comprises:
 sequencing the N physical storage devices according to the degrees of wear of the N storage devices in descending order, wherein a physical storage device with a maximum degree of wear is numbered 1, and wherein a physical storage device with a minimum degree of wear is numbered N; 
 calculating a difference between degrees of wear of an i th  physical storage device and an (i+1) th  physical storage device, wherein 0<i<N; 
 when the difference between the degrees of wear of the i th  physical storage device and the (i+1) th  physical storage device is smaller than or equal to a second wear threshold, grouping the i th  physical storage device into one subsection, grouping the (i+1) th  physical storage device into another subsection, adding 1 to i, and continuing to calculate a difference between degrees of wear of an i th  physical storage device and an (i+1) th  physical storage device; and 
 when the difference between the degrees of wear of the i th  physical storage device and the (i+1) th  physical storage device is greater than the second wear threshold, grouping the (i+1) th  physical storage device into a subsection to which the i th  physical storage device belongs, add 1 to i, and continuing to calculate a difference between degrees of wear of an i th  physical storage device and an (i+1) th  physical storage device. 
 
     
     
       12. The controller according to  claim 7 , wherein dividing the storage array into the first subset and the second subset comprises:
 forming the first subset with physical storage devices whose degrees of wear are greater than or equal to a first wear threshold; and 
 forming the second subset with physical storage devices whose degrees of wear are smaller than the first wear threshold.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.