WO2015116197A1 - Storing data based on a write allocation policy - Google Patents
Storing data based on a write allocation policy Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1084—Degraded 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
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.
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)
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)
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 |
-
2014
- 2014-01-31 WO PCT/US2014/014255 patent/WO2015116197A1/en active Application Filing
Patent Citations (5)
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)
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 |