WO2015030679A1 - Raid parity stripe reconstruction - Google Patents
Raid parity stripe reconstruction Download PDFInfo
- Publication number
- WO2015030679A1 WO2015030679A1 PCT/SG2014/000406 SG2014000406W WO2015030679A1 WO 2015030679 A1 WO2015030679 A1 WO 2015030679A1 SG 2014000406 W SG2014000406 W SG 2014000406W WO 2015030679 A1 WO2015030679 A1 WO 2015030679A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- reconstruction
- parity
- stripe
- data
- parity stripe
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1088—Reconstruction on already foreseen single or plurality of spare disks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
Definitions
- RAID Redundant Array of Independent Disks
- RAID level 6 (RAID6) is able recover from any two concun-ent disk failures in the disk array, and it can be implemented through various kinds of erasure codes, such as the Reed-Solomon codes.
- the process of recovering data from disk failures in a RAID system is called data reconstruction.
- the data reconstruction process is very critical to both the performance and reliability of the RAID systems. Take the RAID5 system as an example, when a disk fails in the array, the array enters degraded mode, and user I/O requests falls on the failed disk have to reconstruct data on the fly, which is quite expensive and causes great performance overhead. Moreover, the user I/O processes and reconstruction process run concurrently and compete for the disk bandwidth with each other, which further degrades the system performance severely.
- VDF Victim Disk First
- VDF defines the system DRAM cache policy that caches the data in the failed disk in higher priority, so that the performance overhead of reconstructing the failed data on the fly can be minimized.
- our methods include a policy to optimize the reconstruction sequence by utilizing the data in the NVM caches of the surviving disks in the array.
- live block recovery aims to recover only live file system data during reconstruction, skipping the unused data blocks.
- this method relies on the passing of file system information to the RAID block level, and thus requires significant changes of existing file systems.
- this method can only be applied to replication based RAID, such as RAIDl, and cannot be applied to parity based RAID, such as RAID5 and RAID6.
- Our proposed method also aims at reconstruct only used data blocks, but our method works entirely at block level, and requires no modification to the file systems. Besides, our method can be applied to any RAID levels including parity based RAID systems.
- Hybrid drive is a new kind of hard disk drive which places a spinning magnetic disk media together with a NVM cache inside one disk enclosure.
- the NVM cache serves as a read/write cache for user I/O requests.
- the reconstruction mode the data in the NVM cache can be exploited to accelerate the reconstruction process.
- RAID5 for example, may be used as an example to illustrate the disclosed methods. It must be noted that, these methods can also be applied to other RAID levels such as, but not limited to RAID 1, RAID4 and RAID6.
- RAID5 may be used as an example to illustrate the disclosed methods. It must be noted that, these methods can also be applied to other RAID levels such as, but not limited to RAID 1, RAID4 and RAID6.
- Figure 1 illustrates the workflow of user read/write processes of a typical RAID system in the normal mode according to one embodiment.
- Figure 2 illustrates the workflow of user read/write processes (on the failed disk) and the reconstruction process of a typical RAID system in the reconstruction mode according to one embodiment.
- Figure 3 illustrates the workflow of user read/write processes (on the failed disk) and the reconstruction process of a RAID system with bitmap based fine-grained reconstruction control according to one embodiment.
- Figure 4 illustrates the workflow of reconstruction process of a RAID system which schedules the reconstruction sequence according to the data in the NVM caches of the hybrid drives according to one embodiment.
- Figure 5 illustrates the workflow of user read/write processes (on the failed disk) of a RAID system with bitmap based fine-grained reconstruction control, where the corresponding data block has already been reconstructed according to one embodiment.
- Figure 6 illustrates the reconstruction process of directly copying the data in the NVM cache of the failed hybrid drive to the replacing disk according to one embodiment.
- Figure 7 illustrates the reconstruction process of a RAID system with a bitmap to indicate the used and unused space in the system, in which only the used space are reconstructed, and the unused space are skipped according to one embodiment.
- Embodiments described in the context of one of the methods or devices are analogously valid for the other method or device. Similarly, embodiments described in the context of a method are analogously valid for a device, and vice versa.
- the articles “a”, “an” and “the” as used with regard to a feature or element includes a reference to one or more of the features or elements.
- the phrase “at least substantially” may include “exactly” and a reasonable variance.
- phrase of the form of "at least one of A or B” may include A or B or both A and B.
- phrase of the form of "at least one of A or B or C", or including further listed items may include any and all combinations of one or more of the associated listed items.
- a parity stripe may refer to a unit for parity RAID systems to organize data. As shown in Fig 1 A, a parity stripe may be composed of multiple blocks.
- Each block of a parity stripe may reside in a different disk. As show in the example of Fig. 1 A, the parity blocks of the enclosed first parity stripe reside over storage disks 1-4.
- a block in a parity stripe may either be a data block or a parity block with a typical size of approximately 4KB.
- a data block can hold user data.
- a parity block can hold parity value(s) computed from the data blocks of the parity stripe according to certain parity algorithm, which may uses XOR computation.
- Fig. IB shows according to an exemplary embodiment, how a typical (e.g., un- optimized) RAID system 100 handles the user read/write requests (140, 145).
- the read processes read data directly from the data disks (Dl, D2, D3, D4) and send it back to users.
- the write processes first read out the old data and its corresponding parity, and use them together with the new data to generate the new parity, and then write the new data and new parity to the data and parity disks (Dl , D2, D3, D4, P1).
- Figure 2 shows according to an exemplary embodiment, how a typical RAID system 200 does the online reconstruction when a disk fails.
- the reconstruction process may reconstruct the parity stripes of the RAID system 200 sequentially from the first to the last parity stripe. To construct each parity stripe, the reconstruction process may reads out the corresponding data and parity blocks from the surviving disks (205, 215, 220, 225), regenerates the data block on a failed disk 210 through parity computation, and writes the data block back to a replacing disk 230.
- user I/O requests (240, 245) which fall onto the failed disk have to reconstruct the data on the fly.
- Figure 3 shows according to an exemplary embodiment, a RAID system 300 using a bitmap based fine-grained reconstruction control.
- a bitmap (RECON BITMAP 350) is setup to record the reconstruction status of each individual parity stripes.
- the bitmap 350 is initially set to all zero, and when a parity stripe is reconstructed, its corresponding bit in the bitmap is set to one.
- the bitmap based fine-grained reconstruction control allows the reconstruction of the parity stripes to be done in any order.
- the user I/O processes cooperate with the reconstruction process.
- the failed block When a user I/O process requests for a failed data block that has not been reconstructed, the failed block will be reconstructed on the fly and written back to a replacing disk 230. Then, the corresponding bit of this block in the bitmap is set to one, indicating that this failed block has been reconstructed.
- the reconstruction process still runs sequentially from the first to the last parity stripe. However, before reconstructing a parity stripe, the reconstruction process will check the bitmap to see if the corresponding bit has been set or not. If the bit has been set, the reconstruction process will skip reconstructing this parity stripe.
- Figure 4 shows according to an exemplary embodiment, utilizing data in NVM cache of the hybrid drives (405, 410, 415, 420, 425, 430) to optimize the reconstruction sequence.
- the reconstruction process needs to read out all the other data and parity blocks in the same parity stripe. Since reading data from NVM cache is much faster than reading data from the spinning disk, and data stored in the NV cache are the hot and/or important data, it will be more efficient to reconstruct a parity stripe if all or most of its data and parity blocks have been cached in the NVM caches of the surviving disks (405, 415, 420, 425).
- the reconstruction process first scans through the NVM caches of the hybrid drives, and reconstruct the parity stripes which have more data and parity blocks cached in the NVM in higher priority than other parity stripes. For the parity stripes which have just part of their parity blocks cached in the NVM, additional optimization can be made to hint the NVM cache management module to prefetch the uncached parity blocks into the NVM cache for subsequent reconstruction use.
- the parity stripes are reconstructed, their corresponding bits are set in the reconstruction bitmap (RECON BITMAP 350).
- Figure 5 shows according to an exemplary embodiment processing of user I/O requests under the bitmap based fine-grained reconstruction control.
- the data block for a read request 240
- the parity block for a write request 245
- the data block for a read request 240
- the parity block for a write request 245
- the data block for a read request 240
- the parity block for a write request 245
- the data block for a read request 240
- the parity block for a write request 245
- the user I/O requests can be processed according to the reconstmction status of each individual parity stripe. As shown in Figure 5, if the user I/O request falls on a failed block that has already been reconstructed, the request will be processed the same as the normal mode shown in Figure 1.
- Figure 6 shows according to an exemplary embodiment a method of
- the RAID system 600 reconstructs the data cached in NVM cache of the failed hybrid drive through direct copying.
- a disk failure is usually caused by the read/write errors of the spinning disk media. Therefore, when a hybrid drive 410 fails, its NVM cache may still be accessible.
- the RAID system first detects if the NVM cache of the failed hybrid drive 410 is still accessible. If the NVM cache is accessible, the data blocks in it is read out and copied to the replacing disk, then their corresponding bits in the reconstruction bitmap are set and they are marked as reconstructed. In this way, the data blocks in the NVM cache are constructed in a straightforward way that is more efficient than the parity-computation way.
- the data blocks cached in the NVM cache are usually hot data, and are accessed by a large proportion of user requests. When they are reconstructed, the user requests on these data blocks can be processed more efficiently.
- Figure 7 shows according to an exemplary embodiment a method of shortening the total reconstruction time by reconstructing only the used space of the RAID system.
- a space bitmap 750 is setup to record the allocated/free status of each parity stripe. To reduce the size of the space bitmap 750, multiple parity stripes can be regarded as a unit, and correspond to one same bit in the bitmap.
- the synchronization is done through writing zero to all the data and parity disks (705, 710, 715, 720, 725). The content of the replacing disk 730 is also initialized to zero in the background.
- the space bitmap 750 is initialized to be all zero.
- the space bitmap 750 When a parity stripe is allocated for the first time, its corresponding bit in the space bitmap 750 is set to one. During reconstruction, the reconstruction process checks the space bitmap 750 before it reconstructs a particular parity stripe. If the bit has been set, the parity stripe should have been allocated and must be reconstructed; otherwise, the parity stripe should be free and contains only zero blocks, and therefore does not need to be reconstructed. It must be noted that, the space bitmap 750 is implemented at the block level, and does not require modifications to the above file systems. However, in order for the space bitmap 750 to be optimally used, the file system may support a trim-like command, and when it frees a previously allocated parity stripe, it can inform the RAID system 700. The RAID system 700 will write the parity stripe back to zero in the background, and then unset the corresponding bit in the space bitmap.
- a space bitmap may be initialized at the start of data reconstruction that is after RAID creation. That is, when a data reconstruction process for a RAID system begins, the parity block for each parity stripe to be constructed reconstruction can be checked. If the parity block is all zero, the space bitmap can be updated so as to indicate that the associated parity stripe is unused. If it is not all zero, the bitmap can be updated to indicate that the associated parity stripe is used.
- all the data and parity block in the RAID system may be initialized to zero blocks.
- its parity block must be updated and thus can become non-zero.
- its parity block may remain as an all-zero block.
- the parity blocks of associated parity stripes can be checked on the fly during reconstruction. Therefore, a space bitmap may not be used to indicate whether a parity stripe has been used or unused.
- the parity stripe can be reconstructed by writing a zero to the replacement disk if the parity block is zero. If the parity block is not all zero, the reconstruction process can proceed in accordance with embodiments herein.
- systems and methods for optimizing ' a reconstruction process in a RAID system with either conventional HDDs or hybrid HDDs are disclosed herein.
- one or more bitmaps may be used for reconstruction scheduling, reading/writing data, and even data caching after a disk drive failed and reconstruction process started.
- two bitmaps may be built or generated at the start of a data reconstruction process.
- one bitmap that may be used is a reconstruction bitmap, in which each bit represents the reconstruction status of a parity stripe.
- the reconstruction bitmap may be initialized to be all-zero, and when a parity stripe is reconstructed, a corresponding bit of the bitmap is set a 1.
- bitmap that may be used for data reconstruction is a space bitmap, in which each bit represents whether a parity stripe (or a group of parity stripes) is used or not. For example, if a parity stripe is determined or identified as previously used, a typical normal reconstruction process proceeds. Otherwise, reconstruction the parity stripe may consist of simply writing a zero to the replacement drive/disk.
- bitmaps used in the reconstruction process may be kept in volatile memory such as system memory or NVM or any other fast access storage space.
- a reconstruction scheduler in a data reconstruction process, may use bitmap information and/or other information to determine a reconstruction sequence and/or how to reconstruct each parity stripe.
- scheduling strategy to optimize a data reconstruction process in RAID system with conventional hard disk drives (HDDs) may include:
- the reconstruction scheduler will issue the commands to reconstruct the 1st parity stripe.
- the reconstruction scheduler may further check the 1st bit in the space bitmap. If it is 0 (indicating the parity stripe associated with the checked has not been used or allocated and contains all zero), the parity stripe may be reconstructed by writing zero to the replacement disk. Otherwise if the checked bit of the space bitmap is 1 (indicating it has been used/allocated), the parity stripe associate with the checked bit is reconstructed following the normal reconstruction procedure.
- the reconstruction scheduler may update the reconstruction bitmap and set the bit associated with the reconstructed parity bit to 1.
- the reconstruction scheduler may skip the current parity stripe (for example, the 1st parity stripe) and proceed to check the 2nd bit value to see if the parity stripe associated with the 2nd bit of the reconstruction bit map (2nd stripe), has been reconstructed already. That is, the reconstruction scheduler may continue and repeat this process until the last bit in the bitmap, assuming there is no interruption such a sent request from one or more applications. [0050] 2.
- the reconstmction scheduler may first complete the reconstruction of a currently selected checked parity stripe first, and then allow the system to serve the requesting application. For example, if the requesting application needs to write data to the failed drive, the reconstruction schedule may write directly to the replacement drive and update then update the reconstruction bitmap to indicate that the corresponding parity stripe has been reconstructed. If the requesting, application needs to read data from a failed drive but the data has not been reconstructed yet, the reconstruction scheduler may issue a command to reconstruct the data by reading from other available drives in the RAID group and reconstruct the data on the fly. The reconstruction scheduler may then write the data to the replacement drive and update the reconstruction bitmap of the corresponding reconstruction stripe to 1 to indicate that the stripe has been reconstructed. The bitmap can allow the reconstruction scheduler to avoid reconstructing a parity stripe again.
- a hybrid drive in a RAID system with hybrid drives, similar to a RAID system with conventional HDDs, the aforementioned methods may be used. [0053] 1.
- the system may first to identify whether the NVM of the failed hybrid drive can be accessed or not. If yes, the data in the NVM may be read out and directly copied to a NVM of replacement hybrid drive. After copying has finished, the reconstruction bitmap may be updated by setting the bit values corresponding to the copied data to Is.
- priority reconstruction may be scheduled based on data in the NVMs. For example, if all the data required for reconstruction is available in the NVMs of available hybrid drives, the parity stripes with high priority are reconstructed and then after the corresponding bit value in the reconstruction bitmap can be updated to 1. If only partial data is available, other remaining portion of the required data for reconstruction not in the NVM can be prefetched or caused to be prefetched to the NVMs. Once the necessary data is in the NVMs, the scheduler can schedule to reconstruct these parity stripes.
- bitmaps may be built or generated, for example, a reconstruction bitmap and a space bitmap.
- each bit may represent the reconstruction status of a parity stripe.
- the bits in the reconstruction bitmap may be initialized to be all-zero. Thus when a parity stripe is reconstructed, its corresponding bit may be set to 1.
- each bit may represent whether a parity stripe (or a group of parity stripes) is used/allocated or not. If a parity stripe was used or allocated, a data reconstruction process such as one disclosed herein may be implemented. If a parity stripe was not previously used or allocated, reconstructing the parity stripe may be accomplished by simply writing zero to the replacement disk.
- a space bitmap may be generated.
- the associated parity block For each parity/reconstruction stripe, the associated parity block can be checked. For example if it is an all-zero block, then it can be indicated as unused in the bitmap (e.g. "0"); otherwise, it may be indicated it as used (e.g., "1").
- all the data and parity block in a RAID system may initialized to zero blocks. Thus, if a parity stripe is subsequently used, then its parity block must be updated and become non-zero. If a parity stripe is never used, its parity block must remain to be an all-zero block.
- a space bitmap may be avoided or not used. Instead, parity-block checking may be implemented on the fly during reconstruction, and a space bitmap is not needed to record or indicate unused space. For example, before reconstructing each parity stripe, first the parity block is checked. If the parity block is all zero, this parity stripe is reconstructed by writing 0 to the replacement disk; otherwise, it is reconstructed.
- the various exemplary RAID systems disclosed herein may include and/or be operatively coupled to one or more computing devices not shown.
- the computing devices may, for example, include one or more processors and other suitable components such as memory and computer storage.
- processors included with a RAID system and may be operatively connected to the storage drives constituting the RAID system.
- processor may also comprise other forms of processors or processing devices, such as a microcontroller, or any other device that can be programmed to perform the functionality described herein.
- the computing devices may execute software so as to implement, at least in part one or more of various methods, or aspects thereof, disclosed herein such as the reconstruction scheduler processes, various input/output requests, etc.
- Such software may be stored on any appropriate or suitable non-transitory computer readable media so as to be executed by a processor(s).
- the computing devices may interact or interface with the various drives of the RAID systems disclosed herein.
- the computing devices may be used to create, update, access, etc., the tables disclosed herein (e.g., the space bitmap, the reconstruction bitmap, etc.).
- the tables may be stored as data in any suitable storage device, such as in any suitable computer storage device or memory.
- a method for data reconstruction in a RAID storage system may include: selecting for reconstruction, a parity stripe from a plurality of parity stripes for reconstruction; determining whether the selected parity stripe for
- the reconstruction table comprising entries each indicating a reconstruction status corresponding to at least one of the plurality of parity stripes for reconstruction, wherein each reconstruction status indicates whether or not the at least one corresponding parity stripe has been previously reconstructed; determining whether the selected parity stripe has been previously allocated by checking a space table, the space table comprising entries indicating an allocation status corresponding to at least one of the plurality of parity stripes for reconstruction, wherein the allocation status indicates whether or not the at least one corresponding parity stripe has been previously allocated; and if the selected parity stripe has been determined to not have been previously reconstructed and if the selected parity stripe has been determined to have been previously allocated, the method further comprises reconstructing the selected parity stripe in a replacement disk and updating the reconstruction status in the reconstruction table corresponding to selected parity stripe to indicate that the selected stripe has been reconstructed.
- the method may further include writing a zero to the replacement disk for data corresponding to the selected parity stripe, if the selected parity stripe has been determined to not have been previously allocated.
- the method may further include receiving an input/output request for data associated with a parity stripe before the selecting of a parity stripe; and wherein the selecting of a parity stripe includes selecting the parity stripe to which the input/output request for data is associated.
- the selecting of a parity stripe may include selecting a parity stripe corresponding to a first entry of the reconstruction table that indicates reconstruction has not occurred.
- the reconstruction table may be a bitmap including a plurality of bits, each bit representing a reconstruction status of each of the plurality of parity stripes for reconstruction.
- the space table may be a bitmap including a plurality of bits, each bit representing the reconstruction status of each of the plurality of parity stripes for reconstruction.
- the method may further include selecting an additional parity stripe from the plurality of parity stripes for reconstruction.
- the method may further include executing the received input/output request.
- each of the plurality of storage drives may be a hard disk drive.
- each of the plurality of storage drives may be a hybrid drive that includes a non-volatile memory (NVM) and a magnetic disk media.
- the method may further include determining whether data of a NVM of the failed drive is accessible before the selecting of a parity stripe for reconstruction; and copying the data from the NVM of the failed hybrid drive to a NVM of a replacement hybrid drive if the NVM of the failed hybrid drive is determined to be accessible.
- the method may further include before the selecting of a parity stripe for reconstruction, identifying one or more parity stripes for reconstruction that all of its parity blocks needed for reconstruction stored in the NVMs of non-failed disks and reconstructing the one or more identified parity stripe in a replacement disk.
- the method may further include before the selecting of a parity stripe for reconstruction, identifying one or more additional parity stripes for reconstruction, the one or more additionally identified parity stripes having a portion of parity blocks associated with the parity stripe stored in the one or more NVMs of non-failed hybrid drives and a portion of the parity blocks stored in the magnetic disk media of the non-failed hybrid drives; instructing one or more of the non- failed hybrid drives to fetch the portion parity blocks associated with the identified parity stripes from the magnetic disk media of the non-failed hybrid drive and store in the respective NVM cache of the non-failed hybrid drives; and reconstructing the one or more identified additional parity stripes in a replacement disk.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
Claims
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016538895A JP2016530637A (en) | 2013-08-27 | 2014-08-27 | RAID parity stripe reconstruction |
| CN201480048037.XA CN105531677A (en) | 2013-08-27 | 2014-08-27 | Raid parity stripe reconstruction |
| US14/914,238 US20160217040A1 (en) | 2013-08-27 | 2014-08-27 | Raid parity stripe reconstruction |
| SG11201601215QA SG11201601215QA (en) | 2013-08-27 | 2014-08-27 | Raid parity stripe reconstruction |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SG201306456-3 | 2013-08-27 | ||
| SG2013064563 | 2013-08-27 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2015030679A1 true WO2015030679A1 (en) | 2015-03-05 |
Family
ID=52587063
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/SG2014/000406 Ceased WO2015030679A1 (en) | 2013-08-27 | 2014-08-27 | Raid parity stripe reconstruction |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20160217040A1 (en) |
| JP (1) | JP2016530637A (en) |
| CN (1) | CN105531677A (en) |
| SG (1) | SG11201601215QA (en) |
| WO (1) | WO2015030679A1 (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106557266A (en) * | 2015-09-25 | 2017-04-05 | 伊姆西公司 | For the method and apparatus of RAID RAID |
| CN106557264A (en) * | 2015-09-25 | 2017-04-05 | 伊姆西公司 | For the storage method and equipment of solid state hard disc |
| WO2018000825A1 (en) * | 2016-06-30 | 2018-01-04 | 杭州海康威视数字技术股份有限公司 | Data processing method and apparatus |
| EP3553661A1 (en) * | 2018-04-15 | 2019-10-16 | Synology Incorporated | Apparatuses and computer program products for a redundant array of independent disk (raid) reconstruction |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9588857B2 (en) * | 2015-06-22 | 2017-03-07 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Raid logical stripe backup to non-volatile memory in response to raid storage device media errors |
| US20170031763A1 (en) * | 2015-07-28 | 2017-02-02 | Futurewei Technologies, Inc. | Hybrid parity initialization |
| KR102580123B1 (en) * | 2016-05-03 | 2023-09-20 | 삼성전자주식회사 | Raid storage device and management method thereof |
| US20180113616A1 (en) * | 2016-10-21 | 2018-04-26 | Nec Corporation | Disk array control device, disk array device, disk array control method, and recording medium |
| KR102703983B1 (en) | 2016-11-07 | 2024-09-10 | 삼성전자주식회사 | Storage device storing data in raid manner |
| CN108733314B (en) * | 2017-04-17 | 2021-06-29 | 伊姆西Ip控股有限责任公司 | Method, apparatus, and computer-readable storage medium for Redundant Array of Independent (RAID) reconstruction |
| US10353642B2 (en) * | 2017-05-01 | 2019-07-16 | Netapp, Inc. | Selectively improving RAID operations latency |
| US10459807B2 (en) | 2017-05-23 | 2019-10-29 | International Business Machines Corporation | Determining modified portions of a RAID storage array |
| US10929226B1 (en) | 2017-11-21 | 2021-02-23 | Pure Storage, Inc. | Providing for increased flexibility for large scale parity |
| US10740181B2 (en) | 2018-03-06 | 2020-08-11 | 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 |
| CN108874314A (en) * | 2018-05-31 | 2018-11-23 | 郑州云海信息技术有限公司 | A kind of reconstructing method and device of raid-array |
| CN111381997B (en) * | 2018-12-28 | 2024-03-01 | 杭州宏杉科技股份有限公司 | RAID reconstruction method and device |
| US11269562B2 (en) * | 2019-01-29 | 2022-03-08 | EMC IP Holding Company, LLC | System and method for content aware disk extent movement in raid |
| US11074130B2 (en) * | 2019-03-28 | 2021-07-27 | International Business Machines Corporation | Reducing rebuild time in a computing storage environment |
| CN111857552A (en) * | 2019-04-30 | 2020-10-30 | 伊姆西Ip控股有限责任公司 | Storage management method, electronic device and computer program product |
| JP7288191B2 (en) * | 2019-07-03 | 2023-06-07 | 富士通株式会社 | Storage controller and storage control program |
| CN112764661B (en) * | 2019-10-21 | 2024-09-20 | 伊姆西Ip控股有限责任公司 | Method, apparatus and computer program product for managing a storage system |
| US11210002B2 (en) * | 2020-01-29 | 2021-12-28 | Samsung Electronics Co., Ltd. | Offloaded device-driven erasure coding |
| US11163657B2 (en) * | 2020-02-13 | 2021-11-02 | EMC IP Holding Company LLC | Method and apparatus for avoiding redundant data recovery |
| CN113625974A (en) * | 2021-10-08 | 2021-11-09 | 苏州浪潮智能科技有限公司 | Disk array reconstruction method, device, equipment and medium |
| CN114764596A (en) * | 2022-04-07 | 2022-07-19 | 浙江大华技术股份有限公司 | Method and device for prolonging hard disk service life, computer equipment and storage medium |
| CN117700248B (en) * | 2023-12-26 | 2025-09-02 | 山东宇佳新材料有限公司 | Silicon nitride-bonded silicon carbide refractory material and preparation method thereof |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5774643A (en) * | 1995-10-13 | 1998-06-30 | Digital Equipment Corporation | Enhanced raid write hole protection and recovery |
| GB2343265A (en) * | 1998-10-28 | 2000-05-03 | Ibm | Data storage array rebuild |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2802672B2 (en) * | 1990-05-18 | 1998-09-24 | 富士通株式会社 | Array disk and data restoration method thereof |
| JPH09258913A (en) * | 1996-03-25 | 1997-10-03 | Ekushingu:Kk | Storage device array system |
| JP2003177876A (en) * | 2001-12-11 | 2003-06-27 | Hitachi Ltd | Disk array device |
| US7644239B2 (en) * | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
| US7386758B2 (en) * | 2005-01-13 | 2008-06-10 | Hitachi, Ltd. | Method and apparatus for reconstructing data in object-based storage arrays |
| CN100576181C (en) * | 2008-06-11 | 2009-12-30 | 华中科技大学 | A Data Reconstruction Method of Disk Array |
| JP4836014B2 (en) * | 2009-07-24 | 2011-12-14 | 日本電気株式会社 | Disk array device and physical disk restoration method |
| US20110029728A1 (en) * | 2009-07-28 | 2011-02-03 | Lsi Corporation | Methods and apparatus for reducing input/output operations in a raid storage system |
| US8285952B2 (en) * | 2009-09-17 | 2012-10-09 | Hitachi, Ltd. | Method and apparatus to utilize large capacity disk drives |
| CN101840360A (en) * | 2009-10-28 | 2010-09-22 | 创新科存储技术有限公司 | Rapid reconstruction method and device of RAID (Redundant Array of Independent Disk) system |
| CN101770413B (en) * | 2010-01-07 | 2013-03-20 | 杭州华三通信技术有限公司 | Method and equipment for rebuilding redundant disk array |
| CN102147713B (en) * | 2011-02-18 | 2013-06-12 | 杭州宏杉科技有限公司 | Method and device for managing network storage system |
| CN102521068B (en) * | 2011-11-08 | 2014-07-23 | 华中科技大学 | Reconstructing method of solid-state disk array |
| CN102541472A (en) * | 2011-12-31 | 2012-07-04 | 杭州宏杉科技有限公司 | A method and device for rebuilding a RAID array |
| US9798623B2 (en) * | 2012-05-11 | 2017-10-24 | Seagate Technology Llc | Using cache to manage errors in primary storage |
-
2014
- 2014-08-27 CN CN201480048037.XA patent/CN105531677A/en active Pending
- 2014-08-27 WO PCT/SG2014/000406 patent/WO2015030679A1/en not_active Ceased
- 2014-08-27 SG SG11201601215QA patent/SG11201601215QA/en unknown
- 2014-08-27 US US14/914,238 patent/US20160217040A1/en not_active Abandoned
- 2014-08-27 JP JP2016538895A patent/JP2016530637A/en active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5774643A (en) * | 1995-10-13 | 1998-06-30 | Digital Equipment Corporation | Enhanced raid write hole protection and recovery |
| GB2343265A (en) * | 1998-10-28 | 2000-05-03 | Ibm | Data storage array rebuild |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106557266A (en) * | 2015-09-25 | 2017-04-05 | 伊姆西公司 | For the method and apparatus of RAID RAID |
| CN106557264A (en) * | 2015-09-25 | 2017-04-05 | 伊姆西公司 | For the storage method and equipment of solid state hard disc |
| CN106557266B (en) * | 2015-09-25 | 2019-07-05 | 伊姆西公司 | Method and apparatus for redundant array of independent disks RAID |
| WO2018000825A1 (en) * | 2016-06-30 | 2018-01-04 | 杭州海康威视数字技术股份有限公司 | Data processing method and apparatus |
| EP3553661A1 (en) * | 2018-04-15 | 2019-10-16 | Synology Incorporated | Apparatuses and computer program products for a redundant array of independent disk (raid) reconstruction |
Also Published As
| Publication number | Publication date |
|---|---|
| SG11201601215QA (en) | 2016-03-30 |
| JP2016530637A (en) | 2016-09-29 |
| US20160217040A1 (en) | 2016-07-28 |
| CN105531677A (en) | 2016-04-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20160217040A1 (en) | Raid parity stripe reconstruction | |
| US9378093B2 (en) | Controlling data storage in an array of storage devices | |
| US8719520B1 (en) | System and method for data migration between high-performance computing architectures and data storage devices with increased data reliability and integrity | |
| US10191676B2 (en) | Scalable storage protection | |
| CN101093434B (en) | Method for improving input and output performance of RAID system by matrix stripe cache | |
| EP2732373B1 (en) | Method and apparatus for flexible raid in ssd | |
| US8103825B2 (en) | System and method for providing performance-enhanced rebuild of a solid-state drive (SSD) in a solid-state drive hard disk drive (SSD HDD) redundant array of inexpensive disks 1 (RAID 1) pair | |
| JP4439578B1 (en) | Nonvolatile semiconductor memory drive device and data management method for nonvolatile semiconductor memory drive device | |
| CN102521068B (en) | Reconstructing method of solid-state disk array | |
| US9990263B1 (en) | Efficient use of spare device(s) associated with a group of devices | |
| TWI886266B (en) | Method and system for data recovery, and storage array controller | |
| JP2019502987A (en) | Multipage failure recovery in non-volatile memory systems | |
| CN102520890B (en) | RS (Reed-Solomon) - DRAID( D redundant array of independent disk) system based on GPUs (graphic processing units) and method for controlling data of memory devices | |
| US7721143B2 (en) | Method for reducing rebuild time on a RAID device | |
| CN103927206A (en) | Method for Updating Control Program of Entity Storage Device in Multi-Peer Storage System | |
| CN107250986A (en) | Date classification, distribution and reconstruct | |
| CN107885620B (en) | Method and system for improving performance and reliability of solid-state disk array | |
| CN103513942A (en) | Method and device for reconstructing independent redundancy array of inexpensive disks | |
| CN111124262A (en) | Management method, apparatus and computer readable medium for Redundant Array of Independent Disks (RAID) | |
| CN113641528A (en) | System, method and apparatus for data recovery | |
| CN113553631A (en) | Apparatus and method for protecting data in a memory system | |
| KR102032878B1 (en) | Method for correcting error of flash storage controller | |
| Hong et al. | Reparo: A fast raid recovery scheme for ultra-large ssds | |
| CN119960673A (en) | A redundant array management method and system based on ZNS solid state drive | |
| CN121195227A (en) | Controlling storage overhead for storing integrity data on solid-state drives |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 201480048037.X Country of ref document: CN |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14840544 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 14914238 Country of ref document: US |
|
| ENP | Entry into the national phase |
Ref document number: 2016538895 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 14840544 Country of ref document: EP Kind code of ref document: A1 |