WO2015116197A1 - Storing data based on a write allocation policy - Google Patents

Storing data based on a write allocation policy Download PDF

Info

Publication number
WO2015116197A1
WO2015116197A1 PCT/US2014/014255 US2014014255W WO2015116197A1 WO 2015116197 A1 WO2015116197 A1 WO 2015116197A1 US 2014014255 W US2014014255 W US 2014014255W WO 2015116197 A1 WO2015116197 A1 WO 2015116197A1
Authority
WO
WIPO (PCT)
Prior art keywords
raid
allocation policy
status information
write allocation
storage
Prior art date
Application number
PCT/US2014/014255
Other languages
French (fr)
Inventor
David BEBAWY
Alastair Slater
Original Assignee
Hewlett-Packard Development Company, L.P.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett-Packard Development Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Priority to PCT/US2014/014255 priority Critical patent/WO2015116197A1/en
Publication of WO2015116197A1 publication Critical patent/WO2015116197A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1084Degraded mode, e.g. caused by single or multiple storage removals or disk failures

Definitions

  • a redundant array of independent disks (RAID) set is a set of storage devices, such as disk drives, that are combined to form a iogicai unit for data storage.
  • RAID set may be used in a data backup system as a RAID set may offer data redundancy and improved performance over a single disk drive,
  • FIG. 1 is a block diagram of an example computing device for storing data based on a write ai!ocation policy
  • FIG. 2A is a block diagram of an example process for storing data based on a write allocation policy
  • FIG. 2B is a block diagram of an example process for storing data based on an updated write allocation policy
  • FIG. 3 is a flowchart illustrating an example method of storing data based on a write allocation policy
  • FIG. 4 is a flowchart illustrating another example method of storing data based on a write allocation policy.
  • a redundant array of independent disks (RAID) set may be used in a data backup system as a RAID set may offer data redundancy and improved performance over a single disk drive.
  • a data backup system may include a plurality of RAID sets. When one of storage devices that forms a RAID set fails, such as due to a mechanical failure, the RAID set may still be partially functional. However, storing data in the partially functional RAID set may increase a likelihood of data loss as more of the storage device that form the RAID set may continue to fail,
  • Examples described herein address the above challenges by providing a write allocation policy that can be dynamically updated so that data is not stored on any RAID sets with a degraded status.
  • an allocation manager may store data to a particular storage segment based on a write allocation policy.
  • the write allocation policy may include a first entry corresponding to a first storage segment.
  • the first storage segment may correspond to a virtual representation of a first RAID set.
  • FIG. 1 is a block diagram of an example computing device 100 for storing data based on a write allocation policy.
  • Computing device 100 may be, for example, a web-based server, a local area network server, a data backup server, a cloud-based server, a notebook computer, a desktop computer, an all-in-one system, a tablet computing device, a mobile phone, an electronic book reader, or any other electronic device suitable for storing data to a RAID set.
  • Computing device 100 may include a processor 102 and a computer-readable storage medium 104.
  • Processor 102 may be a central processing unit (CPU), a semiconductor-based microprocessor, and/or other hardware devices suitable for retrieval and execution of instructions stored in computer-readable storage medium 104.
  • Processor 102 may fetch, decode, and execute instructions 106 and 108 to control a process of storing data to a first storage segment 1 14 and/or other storage segments.
  • processor 102 may include at least one electronic circuit that includes electronic components for performing the functionality of instructions 108, 108, or a combination thereof.
  • Computer-readable storage medium 104 may be any electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions.
  • computer-readable storage medium 104 may be, for example, Random Access Memory (RAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage device, an optical disc, etc.
  • computer-readable storage medium 104 may be a non-transitory storage medium, where the term "non-transitory" does not encompass transitory propagating signals.
  • computer-readable storage medium 104 may be encoded with a series of processor executable instructions 106 and 108 for storing data to storage segments based on a write allocation policy 1 10 and managing write allocation policy 1 10.
  • Data storing instructions 106 may store data to first storage segment 1 14, another storage segment, or a combination thereof based on write allocation policy 1 10.
  • Data storing instructions 106 may store data via an allocation manager 1 16.
  • Allocation manager 1 16 may be any software or firmware suitable to allocate space to store data in a retrievable manner, such as by using a file name. Allocation manager 1 16 may determine which storage segment to place data upon at data creation time.
  • Data storing instructions 106 may store any kind of data to first storage segment 1 14 via allocation manager 1 16, such as data generated by a user, data received from other computing devices, etc.
  • Write allocation policy 1 10 may any kind of look-up table, list, or database suitable for providing identification information on available data storage spaces.
  • Write allocation policy 1 10 may include at least one entry. Each entry in write allocation policy 1 10 may correspond to a particular storage segment.
  • write allocation policy 1 10 may include a first entry that corresponds to first storage segment 1 14.
  • First storage segment 1 14 may be a virtual representation of a first RAID set 1 18. Storing data based on write allocation policy 1 10 is described in more detail in FIGs. 2A- 2B.
  • First storage segment 1 14 may be a lower level building block/entity of a segmented file system. The file system may be augmented by system software layers such as logical volume management.
  • First storage segment 1 14 may be one of a plurality of storage segments out of which the
  • segmented file system is comprised.
  • Write allocation policy management instructions 108 may dynamically update entries in write allocation policy 1 10 based on status information of first RAID set 1 18. For example, write allocation policy management instructions 108 may update entries in write allocation policy 1 10 based on first status information 1 12 received from first RAID set 1 18. First status information 1 12 may correspond to a status of first RAiD set 1 18 and may be generated by first RAID set 1 18. When write allocation policy management instructions 108 determines that first status information 1 12 corresponds to a RAID degraded status, write allocation policy management instructions 108 may remove the first entry from write allocation policy 1 10. Thus, data storing instructions 108 may not store data in first storage segment 1 14. As used herein, a RAID degraded status may indicate a partial failure of a RAID set. The partial failure may be due to a failure of a storage device, such as a mechanical failure or software error, of the RAID set. However, data may still be stored in portions of the RAiD set that are functional.
  • Removing entries in write allocation policy 1 10 that correspond to storage segments representing a RAID set with a RAID degraded status may reduce a likelihood of data loss as the RAID set may experience additional failures of storage devices and/or a total failure of all storage devices of the RAID set.
  • write allocation policy management instructions 108 may maintain the first entry in write allocation policy 1 10.
  • the RAID operational status may indicate that a RAID set, such as first RAID set 1 18, is fully operational and there is no failure of any storage devices of the RAID set.
  • write allocation policy management instructions 108 may remove the first entry in write allocation policy 1 10.
  • the RAID dead status may indicate that ail storage devices of a RAID set, such as first RAID set 1 18, are no longer functional.
  • Status information of first RAID set 1 18 may be generated periodically or when a status of first RAID set 1 18 changes.
  • Write allocation policy management instructions 108 may continue to manage write allocation policy 1 10 based on status information of first RAID set 1 18 that is subsequent to first status information 1 12.
  • second status information of first RAID set 1 18 may correspond to a RAID operational status
  • write allocation policy management instructions 108 may add the first entry back in write allocation policy 1 10 when first status information 1 12 corresponds to the RAID degraded status.
  • write allocation policy 1 10 may also include a second entry that corresponds to a second storage segment (not shown in FIG. 1 ).
  • the second storage segment may be a virtual representation of a second RAID set (not shown in FIG. 1 ).
  • Write allocation policy management instructions 108 may dynamically update entries in write allocation policy 1 10 based on status information (not shown in FIG. 1 ) of the second RAID set. When the status information of the second RAiD set corresponds to the RAID degraded status, write allocation policy management instructions 108 may remove the second entry from write allocation policy 1 10. Thus, data storing instructions 108 may not store data to the second storage segment.
  • write allocation policy management instructions 108 may add a particular entry corresponding to a particular storage segment that represents a RAID set having a RAID degraded status to write allocation policy 1 10. When any of the storage segments indicate that there are storage space available, write allocation policy management instructions 108 may remove the particular entry from write allocation policy 1 10.
  • FIG. 2A is a block diagram of an example process for storing data based on a write allocation policy.
  • Storage segments 202-210 may be storage segments available for data storage in a computing device, such as computing device 100 of FIG. 1 .
  • Each of storage segments 202-210 may be associated with a corresponding volume group 212-218.
  • storage segment 202 may be associated with volume group 212.
  • Storage segments 204 and 206 may be associated with volume group 214.
  • Storage segment 208 may be associated with volume group 216.
  • Storage segment 210 may be associated with volume group 218.
  • a volume group may include at least one storage segment.
  • Each volume group 212-218 may be a virtual representation of a corresponding RAID set.
  • Each storage segment 202-210 may be a virtual representation of at least a portion of the corresponding RAID set.
  • volume group 212 may be a virtual representation of a RAID set 220.
  • Volume group 214 may be a virtual representation of a RAID set 222.
  • Volume group 218 may be a virtual representation of a RAID set 224.
  • Volume group 218 may be a virtual representation of a RAID set 228.
  • a write allocation policy such as write allocation policy 1 10 of FIG. 1 may include a corresponding entry for each of storage segments 202-210.
  • Data may be stored to each storage segments 202-210 in a round robin fashion based on the write allocation policy. For example, a first unit of data may be stored to storage segment 202; a second unit of data that is subsequent to the first unit of data may be stored to storage segment 204; a third unit of data that is subsequent to the second unit of data may be stored to storage segment 206. After a particular unit of data is stored to storage segment 210, a second particular unit of data subsequent to the particular unit of data may be stored to storage segment 202.
  • FIG. 2B is a block diagram of an example process for storing data based on an updated write allocation policy.
  • the write allocation policy may be updated by removing a corresponding entry.
  • RAID set 222 may experience a storage device failure and RAID set 222 has a RAID degraded status, entries in the write allocation policy corresponding to storage segments 204-206 may be removed.
  • no new data may be stored to storage segments 204-206.
  • the new data may be stored to storage segments 202, 208, and 210 in a round robin fashion as described in FIG. 2A.
  • entries corresponding to storage segments 204-206 may be added back to the write allocation policy.
  • entries corresponding to storage segments 204-206 may be added back to the write allocation policy.
  • entries corresponding to storage segments 204-206 may be removed from the write allocation policy.
  • FIG. 3 is a flowchart illustrating an example method 300 of storing data based on a write allocation policy, such as write allocation policy 1 10 of FIG. 1 .
  • Method 300 may be implemented using computing device 100.
  • Method 300 includes receiving RAID set status information, at 302. For example, referring to FSG. 1 , write allocation policy management instructions 108 may update entries in write allocation policy 1 10 based on first status information 1 12 received from first RAID set 1 18. Method 300 also includes determining whether any RAID set has a RAID degraded status, at 304.
  • Method 300 further includes removing an entry associated with a degraded RAID set from a write allocation policy when at least one RAID set has a RAID degraded status, at 306. For example, referring to FIG. 1 , when write allocation policy management instructions 108 determines that first status information 1 12 corresponds to a RAID degraded status, write allocation policy management instructions 108 may remove the first entry from write allocation policy 1 10. Method 300 further includes storing data based on the write allocation policy, at 308. For example, referring to FIG. 1 , Data storing instructions 106 may store data to first storage segment 1 14, another storage segment, or a combination thereof based on write allocation policy 1 10.
  • FIG. 4 is a flowchart illustrating another example method 400 of storing data based on a write allocation policy.
  • Method 400 may be implemented using computing device 100 of FIG. 1 .
  • Method 400 includes Store data at a computing device, via an allocation manager, to particular storage segments based on a write allocation policy, where the write allocation policy includes a first storage segment and a second storage segment, where the first storage segment corresponds to a first virtual representation of a first redundant array of independent disks (RAID) set, and where the second storage segment corresponds to a second virtual representation of a second RAID set, at 402.
  • RAID redundant array of independent disks
  • data storing instructions 108 may store data to first storage segment 1 14, another storage segment, or a combination thereof based on write allocation policy 1 10.
  • Method 400 also includes receiving first status information of the first RAID set, at 404.
  • write allocation policy management instructions 108 may update entries in write allocation policy 1 10 based on first status information 1 12 received from first RAID set 1 18.
  • Method 400 further includes receiving second status information of the second RAID set, at 406.
  • write allocation policy management instructions 108 may dynamically update entries in write allocation policy 1 10 based on status information of the second RAID set.
  • Method 400 further includes when one of the first status information and the second status information corresponds to a RAID degraded status, remove a corresponding storage segment from the write allocation policy, at 408. For example, when write allocation policy management instructions 108 determines that first status information 1 12 corresponds to a RAID degraded status, write allocation policy management instructions 108 may remove the first entry from write allocation policy 1 10.

Abstract

Example implementations relate to storing data to storage segments. For example a computing device may include a processor. The processor may store data, via an allocation manager, to particular storage segments based on a write allocation policy. The write allocation policy may include a first entry corresponding to first storage segment. The first storage segment may correspond to a first virtual representation of a first redundant array of independent disks (RAID) set. The processor may also receive first status information of the first RAID set. When the first status information corresponds to a RAID degraded status, the processor may remove the first entry from the write allocation policy.

Description

STORING DATA BASED ON A WRITE ALLOCATION POLICY
BACKGROUND
[0001] A redundant array of independent disks (RAID) set is a set of storage devices, such as disk drives, that are combined to form a iogicai unit for data storage. A RAID set may be used in a data backup system as a RAID set may offer data redundancy and improved performance over a single disk drive,
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] Some examples of the present application are described with respect to the following figures:
[0003] FIG. 1 is a block diagram of an example computing device for storing data based on a write ai!ocation policy;
[0004] FIG. 2A is a block diagram of an example process for storing data based on a write allocation policy;
[0005] FIG. 2B is a block diagram of an example process for storing data based on an updated write allocation policy;
[0006] FIG. 3 is a flowchart illustrating an example method of storing data based on a write allocation policy; and
[0007] FIG. 4 is a flowchart illustrating another example method of storing data based on a write allocation policy.
DETAILED DESCRIPTION
[0008] As described above, a redundant array of independent disks (RAID) set may be used in a data backup system as a RAID set may offer data redundancy and improved performance over a single disk drive. A data backup system may include a plurality of RAID sets. When one of storage devices that forms a RAID set fails, such as due to a mechanical failure, the RAID set may still be partially functional. However, storing data in the partially functional RAID set may increase a likelihood of data loss as more of the storage device that form the RAID set may continue to fail,
[0009] Examples described herein address the above challenges by providing a write allocation policy that can be dynamically updated so that data is not stored on any RAID sets with a degraded status. For example, an allocation manager may store data to a particular storage segment based on a write allocation policy. The write allocation policy may include a first entry corresponding to a first storage segment. The first storage segment may correspond to a virtual representation of a first RAID set.
[Οθίθ] When the first RAID set is indicated as degraded, such as due to a failure of a storage device of the first RAID set, the first entry is removed from the write allocation policy. Thus, subsequent data may not be stored to the first storage segment. When the first RAID set is indicated as operational, the first entry may be added to the write allocation policy for subsequent data storage. In this manner, examples described herein may reduce a likelihood of data loss.
[0011] Referring now to the figures, FIG. 1 is a block diagram of an example computing device 100 for storing data based on a write allocation policy. Computing device 100 may be, for example, a web-based server, a local area network server, a data backup server, a cloud-based server, a notebook computer, a desktop computer, an all-in-one system, a tablet computing device, a mobile phone, an electronic book reader, or any other electronic device suitable for storing data to a RAID set. Computing device 100 may include a processor 102 and a computer-readable storage medium 104.
[0012] Processor 102 may be a central processing unit (CPU), a semiconductor-based microprocessor, and/or other hardware devices suitable for retrieval and execution of instructions stored in computer-readable storage medium 104. Processor 102 may fetch, decode, and execute instructions 106 and 108 to control a process of storing data to a first storage segment 1 14 and/or other storage segments. As an alternative or in addition to retrieving and executing instructions, processor 102 may include at least one electronic circuit that includes electronic components for performing the functionality of instructions 108, 108, or a combination thereof. [0013] Computer-readable storage medium 104 may be any electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions. Thus, computer-readable storage medium 104 may be, for example, Random Access Memory (RAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage device, an optical disc, etc. In some examples, computer-readable storage medium 104 may be a non-transitory storage medium, where the term "non-transitory" does not encompass transitory propagating signals. As described in more detail beiow, computer-readable storage medium 104 may be encoded with a series of processor executable instructions 106 and 108 for storing data to storage segments based on a write allocation policy 1 10 and managing write allocation policy 1 10.
[0014] Data storing instructions 106 may store data to first storage segment 1 14, another storage segment, or a combination thereof based on write allocation policy 1 10. Data storing instructions 106 may store data via an allocation manager 1 16. Allocation manager 1 16 may be any software or firmware suitable to allocate space to store data in a retrievable manner, such as by using a file name. Allocation manager 1 16 may determine which storage segment to place data upon at data creation time. Data storing instructions 106 may store any kind of data to first storage segment 1 14 via allocation manager 1 16, such as data generated by a user, data received from other computing devices, etc.
[0015] Write allocation policy 1 10 may any kind of look-up table, list, or database suitable for providing identification information on available data storage spaces. Write allocation policy 1 10 may include at least one entry. Each entry in write allocation policy 1 10 may correspond to a particular storage segment. For example, write allocation policy 1 10 may include a first entry that corresponds to first storage segment 1 14. First storage segment 1 14 may be a virtual representation of a first RAID set 1 18. Storing data based on write allocation policy 1 10 is described in more detail in FIGs. 2A- 2B. First storage segment 1 14 may be a lower level building block/entity of a segmented file system. The file system may be augmented by system software layers such as logical volume management. First storage segment 1 14 may be one of a plurality of storage segments out of which the
segmented file system is comprised.
[0016] Write allocation policy management instructions 108 may dynamically update entries in write allocation policy 1 10 based on status information of first RAID set 1 18. For example, write allocation policy management instructions 108 may update entries in write allocation policy 1 10 based on first status information 1 12 received from first RAID set 1 18. First status information 1 12 may correspond to a status of first RAiD set 1 18 and may be generated by first RAID set 1 18. When write allocation policy management instructions 108 determines that first status information 1 12 corresponds to a RAID degraded status, write allocation policy management instructions 108 may remove the first entry from write allocation policy 1 10. Thus, data storing instructions 108 may not store data in first storage segment 1 14. As used herein, a RAID degraded status may indicate a partial failure of a RAID set. The partial failure may be due to a failure of a storage device, such as a mechanical failure or software error, of the RAID set. However, data may still be stored in portions of the RAiD set that are functional.
[0017] Removing entries in write allocation policy 1 10 that correspond to storage segments representing a RAID set with a RAID degraded status may reduce a likelihood of data loss as the RAID set may experience additional failures of storage devices and/or a total failure of all storage devices of the RAID set.
[0018] When write allocation policy management instructions 108 determines that first status information 1 12 corresponds to a RAID operational status, write allocation policy management instructions 108 may maintain the first entry in write allocation policy 1 10. The RAID operational status may indicate that a RAID set, such as first RAID set 1 18, is fully operational and there is no failure of any storage devices of the RAID set. When first status information 1 12 corresponds to a RAiD dead status, write allocation policy management instructions 108 may remove the first entry in write allocation policy 1 10. The RAID dead status may indicate that ail storage devices of a RAID set, such as first RAID set 1 18, are no longer functional.
[0019] Status information of first RAID set 1 18 may be generated periodically or when a status of first RAID set 1 18 changes. Write allocation policy management instructions 108 may continue to manage write allocation policy 1 10 based on status information of first RAID set 1 18 that is subsequent to first status information 1 12. For example, second status information of first RAID set 1 18 may correspond to a RAID operational status, write allocation policy management instructions 108 may add the first entry back in write allocation policy 1 10 when first status information 1 12 corresponds to the RAID degraded status.
[0020] In some examples, write allocation policy 1 10 may also include a second entry that corresponds to a second storage segment (not shown in FIG. 1 ). The second storage segment may be a virtual representation of a second RAID set (not shown in FIG. 1 ). Write allocation policy management instructions 108 may dynamically update entries in write allocation policy 1 10 based on status information (not shown in FIG. 1 ) of the second RAID set. When the status information of the second RAiD set corresponds to the RAID degraded status, write allocation policy management instructions 108 may remove the second entry from write allocation policy 1 10. Thus, data storing instructions 108 may not store data to the second storage segment.
[0021] In some example, when all of the storage segments corresponding to entries in write allocation policy 1 10 no longer have any storage spaces left for new data storage, write allocation policy management instructions 108 may add a particular entry corresponding to a particular storage segment that represents a RAID set having a RAID degraded status to write allocation policy 1 10. When any of the storage segments indicate that there are storage space available, write allocation policy management instructions 108 may remove the particular entry from write allocation policy 1 10.
[0022] FIG. 2A is a block diagram of an example process for storing data based on a write allocation policy. Storage segments 202-210 may be storage segments available for data storage in a computing device, such as computing device 100 of FIG. 1 . Each of storage segments 202-210 may be associated with a corresponding volume group 212-218. For example, storage segment 202 may be associated with volume group 212. Storage segments 204 and 206 may be associated with volume group 214. Storage segment 208 may be associated with volume group 216. Storage segment 210 may be associated with volume group 218. A volume group may include at least one storage segment.
[0023] Each volume group 212-218 may be a virtual representation of a corresponding RAID set. Each storage segment 202-210 may be a virtual representation of at least a portion of the corresponding RAID set. For example, volume group 212 may be a virtual representation of a RAID set 220. Volume group 214 may be a virtual representation of a RAID set 222. Volume group 218 may be a virtual representation of a RAID set 224. Volume group 218 may be a virtual representation of a RAID set 228.
[0024] During operation, when each status information of RAID sets 220- 228 corresponds to the RAID operational status, a write allocation policy, such as write allocation policy 1 10 of FIG. 1 may include a corresponding entry for each of storage segments 202-210. Data may be stored to each storage segments 202-210 in a round robin fashion based on the write allocation policy. For example, a first unit of data may be stored to storage segment 202; a second unit of data that is subsequent to the first unit of data may be stored to storage segment 204; a third unit of data that is subsequent to the second unit of data may be stored to storage segment 206. After a particular unit of data is stored to storage segment 210, a second particular unit of data subsequent to the particular unit of data may be stored to storage segment 202.
[0025] FIG. 2B is a block diagram of an example process for storing data based on an updated write allocation policy. When one of RAID sets 220-226 experiences a storage device failure, status information of the affected RAID set may correspond to a RAID degraded status, the write allocation policy may be updated by removing a corresponding entry. For example, RAID set 222 may experience a storage device failure and RAID set 222 has a RAID degraded status, entries in the write allocation policy corresponding to storage segments 204-206 may be removed. Thus, no new data may be stored to storage segments 204-206. The new data may be stored to storage segments 202, 208, and 210 in a round robin fashion as described in FIG. 2A. When RAID set 222 is repaired and has a RAID operational status, entries corresponding to storage segments 204-206 may be added back to the write allocation policy.
[0026] In some examples, when RAID sets 220, 224, and 226 no longer have any storage spaces left for new data storage, entries corresponding to storage segments 204-206 may be added back to the write allocation policy. When any of RAID sets 220, 224, and 226 have additional storage spaces and RAID set 222 still has the RAID degraded status, entries corresponding to storage segments 204-206 may be removed from the write allocation policy.
[0027] FIG. 3 is a flowchart illustrating an example method 300 of storing data based on a write allocation policy, such as write allocation policy 1 10 of FIG. 1 . Method 300 may be implemented using computing device 100.
Method 300 includes receiving RAID set status information, at 302. For example, referring to FSG. 1 , write allocation policy management instructions 108 may update entries in write allocation policy 1 10 based on first status information 1 12 received from first RAID set 1 18. Method 300 also includes determining whether any RAID set has a RAID degraded status, at 304.
[0028] Method 300 further includes removing an entry associated with a degraded RAID set from a write allocation policy when at least one RAID set has a RAID degraded status, at 306. For example, referring to FIG. 1 , when write allocation policy management instructions 108 determines that first status information 1 12 corresponds to a RAID degraded status, write allocation policy management instructions 108 may remove the first entry from write allocation policy 1 10. Method 300 further includes storing data based on the write allocation policy, at 308. For example, referring to FIG. 1 , Data storing instructions 106 may store data to first storage segment 1 14, another storage segment, or a combination thereof based on write allocation policy 1 10.
[0029] FIG. 4 is a flowchart illustrating another example method 400 of storing data based on a write allocation policy. Method 400 may be implemented using computing device 100 of FIG. 1 . Method 400 includes Store data at a computing device, via an allocation manager, to particular storage segments based on a write allocation policy, where the write allocation policy includes a first storage segment and a second storage segment, where the first storage segment corresponds to a first virtual representation of a first redundant array of independent disks (RAID) set, and where the second storage segment corresponds to a second virtual representation of a second RAID set, at 402. For example, referring to FIG, 1 , data storing instructions 108 may store data to first storage segment 1 14, another storage segment, or a combination thereof based on write allocation policy 1 10.
[0030] Method 400 also includes receiving first status information of the first RAID set, at 404. For example, referring to FIG. 1 , write allocation policy management instructions 108 may update entries in write allocation policy 1 10 based on first status information 1 12 received from first RAID set 1 18. Method 400 further includes receiving second status information of the second RAID set, at 406. For example, referring to FIG. 1 , write allocation policy management instructions 108 may dynamically update entries in write allocation policy 1 10 based on status information of the second RAID set. Method 400 further includes when one of the first status information and the second status information corresponds to a RAID degraded status, remove a corresponding storage segment from the write allocation policy, at 408. For example, when write allocation policy management instructions 108 determines that first status information 1 12 corresponds to a RAID degraded status, write allocation policy management instructions 108 may remove the first entry from write allocation policy 1 10.
[0031] The use of "comprising", "including" or "having" are synonymous and variations thereof herein are meant to be inclusive or open-ended and do not exclude additional unrecited elements or method steps.

Claims

What is claimed is:
1 . A computer-readable storage medium comprising instructions that when executed cause a processor of a computing device to:
store data, via an allocation manager, to particular storage segments based on a write allocation policy, wherein the write allocation policy includes a first entry corresponding to a first storage segment, and wherein the first storage segment corresponds to a first virtual representation of a first redundant array of independent disks (RAID) set;
receive first status information of the first RAID set; and
when the first status information corresponds to a RAID degraded
status, remove the first entry from the write allocation policy.
2. The computer-readable storage medium of claim 1 , wherein the instructions when executed further cause the processor to:
receive second status information of the first RAID set, wherein the second status information is subsequent to the first status information; and
when the second status information corresponds to a RAID operational status, add the first entry to the write allocation policy.
3. The computer-readable storage medium of claim 1 , wherein the write allocation policy further includes a second entry corresponding to a second storage segment, wherein the second storage segment corresponds to a second virtual representation of a second RAID set, and wherein the instructions when executed further cause the processor to:
receive second status information of the second RAID set; and when the second status information corresponds to the RAID degraded status, remove the second entry from the write allocation policy.
4. The computer-readable storage medium of claim 1 , wherein the first storage segment Is associated with a first volume group.
5. The computer-readable storage medium of claim 1 , wherein the RAID degraded status corresponds to an indication of a partial failure of a particular RAID set.
6. The computer-readable storage medium of claim 1 , wherein the first storage segment corresponds to a building block of a segmented file system.
7. An apparatus comprising:
a processor to:
store data, via an allocation manager, to particular storage segments in a round robin fashion based on a write allocation policy, wherein the write allocation policy includes a first entry corresponding to first storage segment, and wherein the first storage segment corresponds to a first virtual representation of a first redundant array of independent disks (RAID) set;
receive first status information of the first RAID set; and when the first status information corresponds to a RAID
degraded status, remove the first entry from the write allocation policy.
8. The apparatus of claim 7, the processor further to:
receive second status information of the first RAID set, wherein the second status information is subsequent to the first status information; and
when the second status information corresponds to a RAID operational status, add the first entry to the write allocation policy,
9. The apparatus of claim 7, wherein the write allocation policy further includes a second entry corresponding to a second storage segment, wherein the second storage segment corresponds to a second virtual representation of a second RAID set, and wherein the processor further to:
receive second status information of the second RAID set: and when the second status information corresponds to the RAID degraded status, remove the second entry from the write allocation policy.
10. The apparatus of claim 9, wherein the first storage segment is associated with a first volume group, and wherein the second storage segment is associated with a second volume group.
1 1. The apparatus of claim 7, wherein the particular storage segments correspond to available storage segments in the write allocation policy.
12. A method comprising:
storing data at a computing device, via an aliocation manager, to
particular storage segments based on a write allocation policy, wherein the write allocation policy includes a first entry corresponding to a first storage segment and a second entry corresponding to a second storage segment, wherein the first storage segment corresponds to a first virtual representation of a first redundant array of independent disks (RAID) set, and wherein the second storage segment corresponds to a second virtual representation of a second RAID set;
receiving first status information of the first RAID set;
receiving second status information of the second RAID set; and when one of the first status information and the second status
information corresponds to a RAID degraded status, removing a corresponding entry from the write allocation policy.
13. The method of claim 12, wherein the particular storage segments correspond to available storage segments in the write allocation policy.
14. The method of claim 12, wherein the first storage segment is associated with a first volume group, and wherein the second storage segment is associated with a second volume group.
15. The method of claim 12, further comprising:
when the first status information corresponds to the RAID degraded status, removing the first entry from the write allocation policy; receiving third status information of the first storage segment, wherein the third status information is subsequent to the first status information; and
when the third status information corresponds to a RAID operational status, adding the first entry to the write allocation policy.
PCT/US2014/014255 2014-01-31 2014-01-31 Storing data based on a write allocation policy WO2015116197A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2014/014255 WO2015116197A1 (en) 2014-01-31 2014-01-31 Storing data based on a write allocation policy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/014255 WO2015116197A1 (en) 2014-01-31 2014-01-31 Storing data based on a write allocation policy

Publications (1)

Publication Number Publication Date
WO2015116197A1 true WO2015116197A1 (en) 2015-08-06

Family

ID=53757581

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2014/014255 WO2015116197A1 (en) 2014-01-31 2014-01-31 Storing data based on a write allocation policy

Country Status (1)

Country Link
WO (1) WO2015116197A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020027913A1 (en) * 2018-08-03 2020-02-06 Western Digital Technologies, Inc. Using failed storage device in peer-to-peer storage system to perform storage-centric task
US10649843B2 (en) 2018-08-03 2020-05-12 Western Digital Technologies, Inc. Storage systems with peer data scrub
US10740181B2 (en) 2018-03-06 2020-08-11 Western Digital Technologies, Inc. Failed storage device rebuild method
US10831603B2 (en) 2018-08-03 2020-11-10 Western Digital Technologies, Inc. Rebuild assist using failed storage device
US10860446B2 (en) 2018-04-26 2020-12-08 Western Digital Technologiies, Inc. Failed storage device rebuild using dynamically selected locations in overprovisioned space
US10901848B2 (en) 2018-08-03 2021-01-26 Western Digital Technologies, Inc. Storage systems with peer data recovery
US11182258B2 (en) 2019-01-04 2021-11-23 Western Digital Technologies, Inc. Data rebuild using dynamic peer work allocation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007334593A (en) * 2006-06-14 2007-12-27 Fujitsu Ltd Raid controller and raid device
US20090307423A1 (en) * 2008-06-06 2009-12-10 Pivot3 Method and system for initializing storage in a storage system
US20100031060A1 (en) * 2008-02-15 2010-02-04 Yen Hsiang Chew Security for raid systems
US20110029728A1 (en) * 2009-07-28 2011-02-03 Lsi Corporation Methods and apparatus for reducing input/output operations in a raid storage system
US20130318319A1 (en) * 2012-05-24 2013-11-28 Mikulas Patocka Systems and methods for managing zeroed logical volume

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007334593A (en) * 2006-06-14 2007-12-27 Fujitsu Ltd Raid controller and raid device
US20100031060A1 (en) * 2008-02-15 2010-02-04 Yen Hsiang Chew Security for raid systems
US20090307423A1 (en) * 2008-06-06 2009-12-10 Pivot3 Method and system for initializing storage in a storage system
US20110029728A1 (en) * 2009-07-28 2011-02-03 Lsi Corporation Methods and apparatus for reducing input/output operations in a raid storage system
US20130318319A1 (en) * 2012-05-24 2013-11-28 Mikulas Patocka Systems and methods for managing zeroed logical volume

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740181B2 (en) 2018-03-06 2020-08-11 Western Digital Technologies, Inc. Failed storage device rebuild method
US11210170B2 (en) 2018-03-06 2021-12-28 Western Digital Technologies, Inc. Failed storage device rebuild method
US10860446B2 (en) 2018-04-26 2020-12-08 Western Digital Technologiies, Inc. Failed storage device rebuild using dynamically selected locations in overprovisioned space
WO2020027913A1 (en) * 2018-08-03 2020-02-06 Western Digital Technologies, Inc. Using failed storage device in peer-to-peer storage system to perform storage-centric task
US10649843B2 (en) 2018-08-03 2020-05-12 Western Digital Technologies, Inc. Storage systems with peer data scrub
US10824526B2 (en) 2018-08-03 2020-11-03 Western Digital Technologies, Inc. Using failed storage device in peer-to-peer storage system to perform storage-centric task
US10831603B2 (en) 2018-08-03 2020-11-10 Western Digital Technologies, Inc. Rebuild assist using failed storage device
US10901848B2 (en) 2018-08-03 2021-01-26 Western Digital Technologies, Inc. Storage systems with peer data recovery
US11182258B2 (en) 2019-01-04 2021-11-23 Western Digital Technologies, Inc. Data rebuild using dynamic peer work allocation

Similar Documents

Publication Publication Date Title
WO2015116197A1 (en) Storing data based on a write allocation policy
US9870288B2 (en) Container-based processing method, apparatus, and system
EP3617867A1 (en) Fragment management method and fragment management apparatus
US10459812B2 (en) Seamless method for booting from a degraded software raid volume on a UEFI system
US10346263B2 (en) Host swap hypervisor that provides high availability for a host of virtual machines
US10572157B2 (en) Data integrity and acceleration in compressed storage environments in combination with software defined native RAID
US10592323B2 (en) Requesting manual intervention on failure of initial microcode load attempts during recovery of modified customer data
US9792050B2 (en) Distributed caching systems and methods
US9542107B2 (en) Flash copy relationship management
CN108475201B (en) Data acquisition method in virtual machine starting process and cloud computing system
US9280431B2 (en) Prioritizing backups on a disk level within enterprise storage
US11055017B1 (en) Throttling a point-in-time snapshot copy operation within a data consistency application
US10831378B2 (en) Optimizing data access in a DSN memory for wear leveling
CN112748862A (en) Method, electronic device and computer program product for managing disc
US11010221B2 (en) Dynamic distribution of memory for virtual machine systems
US20160070478A1 (en) Storage control device and storage control method
US20140122817A1 (en) System and method for an optimized distributed storage system
US10698862B2 (en) Enhanced snapshot performance, storage efficiency improvement, dynamic snapshot policy in erasure code supported object storage environment
US11507469B2 (en) Method and system for risk score based asset data protection using a conformal framework
US11775395B2 (en) Withdrawing a point-in-time snapshot copy operation within a data consistency application
US11853585B2 (en) Performing a point-in-time snapshot copy operation within a data consistency application
US10656843B2 (en) Systems and methods for wear levelling in a storage array
WO2016048272A1 (en) Non-volatile storage device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14880821

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14880821

Country of ref document: EP

Kind code of ref document: A1