Solutions Products Services Download Order Knowledge Base Support
 
Knowledge Base
 
 

RAID recovery

    

A tremendous scope of information home users work with these days led to the need for voluminous data storages capable of holding considerable amounts of data. Devices with high storage capacity became available not only for large companies but also for home use.

RAID (Redundant Array of Independent Disks) storages are perfect for the purposes of home data storage but, unfortunately, are not always reliable. Even the best RAID systems can fail due to various factors and cause loss of important user information. If this occurs to you, our data recovery products will help to recover lost data from your RAID system even in serious cases.


Non-redundant systems

The term RAID when applied to RAID level 0 or JBOD does not explain the actual functions of these storage technologies. These storage types perform in the following way:

  • JBOD: A storage that is extended with some number of disks even of different sizes. Each component of JBOD follows the previous one to create a solid storage with the size equal to the sum of the sizes of each component. JBOD is supported by most hardware RAID chips as well as software RAID (e.g. Dynamic Disks under Windows can span among different disks or disk partitions).

  • RAID0: A stripe set on disks of equal size. Data on RAID0 is divided into “stripes” of equal size and is cyclically distributed among all disks. Such “stripe” size usually ranges from 512 bytes and up to 256KB. The data striping technique serves to distribute long data fragments among all disks. This allows issuing data exchange requests to all drives simultaneously and speeding-up this action with parallel read or write. These systems feature the highest speed of operation and maximally efficient use of disk space.

Data recovery chances for these systems are obvious: even if one single disk from such RAID cannot be read, data from this component becomes unrecoverable. If failure of a single disk occurs on JBOD, the entire fragment of span becomes unrecoverable. For RAID0 this will affect all data on RAID (e.g. if RAID0 is built on 4 disks with stripe size 16KB, after failure of a single disk RAID will have 16KB “hole” after each 48KB block. In general, this means that any file with size over 48KB cannot be recovered).

Note: If one or more disks from RAID0 or JBOD failed, stop using the disk and bring it to a data recovery laboratory. Only physical drive repair can help to recover the data in this case.

If the reason for RAID failure is other than failure of a single disk (e.g. a re-set of controller settings, failure or damage of a controller etc.) data remains recoverable even after logical damage of a file system. The only thing you should do in this case is to assemble the original solid storage using data recovery software. For this you have to mark the disks included into RAID, the initial drive order and the stripe size for RAID. Data recovery software will read data from the components in the same manner as a RAID controller does and will access files completely on virtually reconstructed RAID.




Mirrors

The mirror technique is implemented in RAID1. Data of each RAID component is duplicated enabling recovery of lost information from any undamaged component of the RAID system. In mirror RAID, the controller performs parallel reading operations to speed-up read access to files.

This kind of storage features the highest redundancy and the best chances for data recovery. The only thing you should do is to scan the storage once using efficient data recovery software.




Advanced redundant systems

Advanced redundant systems are created to compromise between high speed of storage access, storage size and redundancy. These systems are usually based on the idea of striping from RAID0, but storage data is extended with extra information - parity information adding redundancy and allowing users to recover data or even continue working with the RAID storage after the failure of its component.

Such systems include RAID3, RAID4 or RAID7 (a stripe set with dedicated parity), RAID5 (a stripe set with distributed parity) and RAID6 (a stripe set with double distributed parity). The term “single” parity means that the data is recoverable or the system is operative after failure of a single component; “double” parity - up to two components.

RAID3 and similar systems use classic technique of RAID0, extended with one additional disk to store parity. RAID5 and RAID6 distribute parity among all disks to speed-up parity update process for data write operations.

Data recovery from these systems is possible for completely undamaged RAID, as well as if one (for RAID3, RAID4, RAID5, RAID7) or up to two (for RAID6) components remain unreadable.

Note: If more disks fail, than permitted, stop using the storage immediately and take it to a data recovery laboratory. Recovering the data is possible only with professional help.

If data recovery is possible without repair, you should assemble your RAID using data recovery software specifying the drives (including placeholders for any missing drive), drives order, stripe size and a parity distribution algorithm. Data recovery software will read the data from the RAID components in the same manner as a RAID controller does and will access files completely on virtually reconstructed RAID.




Hybrid systems

RAID-on-RAID configurations are often used to improve overall performance, add redundancy and for other performance-related reasons. Usually such systems are combinations of RAID systems mentioned above. The most common are systems like RAID10: several “mirrors” with a “stripe” over them. Mirrors here ensure redundancy and a stripe over mirrors increases read/write speed. Data recovery from such a system is quite simple: you should take any undamaged component from each mirror and virtually build RAID0 over it.

More advanced systems include RAID50 (a stripe over RAID5), RAID51 (a mirror of RAID5) etc. To reconstruct such a system, building each component of RAID (in this example each RAID5) and building RAID0 for RAID50 over the set of RAID5 is required.

We recommend UFS Explorer RAID Recovery as the most efficient software for data recovery and virtual reconstruction of any RAID level.




Data organization

Different RAID levels apply different data organization techniques for different purposes. Each level of RAID systems has its own advantages and disadvantages.

RAID array terms

Technical information about RAID arrays is generally provided in special terms describing this type of storage. The most commonly used terms referred to complex RAID storages are:

  • RAID - Redundant Array of Independent Disks. The term denotes a storage scheme where independent storages are combined into one set. Depending on actual data organization of the storage, this scheme increases its stability, performance and reliability.

  • Hardware RAID - hardware-driven RAID. Hardware RAID consists of a RAID controller chip or board that operates the array and a set of attached disks. Operating system detects complex RAID storage as one solid storage device. Data is operated by a hardware controller and can be configured with its BIOS settings.

  • Software RAID - software-driven RAID. Software RAID doesn't use any hardware and is created on a set of independent storage units by the OS. The operating system recognizes software RAID storage as one solid storage device. Data is operated by the OS drivers using CPU time without requiring additional hardware (e.g. NT LDM software RAIDs, Linux, BSD, macOS RAIDs such as LVM/LVM2 or MD).

  • Virtual RAID - hardware or software RAID that is virtually reconstructed from its components. This is a virtual storage created by data recovery software to simulate original RAID storage for data recovery purposes.

  • RAID Component (unit) - a disk or disk partition used as a data storage for RAID storage.

  • Mirroring - a data organization technique based on data replication onto separate units. A mirror creates a complete copy of one unit and uses another unit to store this copy. This ensures high fault-tolerance: If one unit fails, there remains another copy of data located on another unit(s) of this RAID. The mirroring technique is implemented in RAID level 1.

  • Striping - a data organization technique based on distribution of data fragments among units. Data striping allows users to significantly increase Input/Output (I/O) performance of a RAID storage. Data on RAID is divided into small parts (stripes) and distributed across all available units. Striping speeds up storage performance due to parallel reading/writing to all units independently. Striping is implemented in RAID0.

  • Parity - a data organization technique based on adding a bit of data from different RAID units to a separate unit. Parity allows increasing fault-tolerance of a storage: in case of any drive failure, the contents of the failed drive can be reconstructed on a replacement drive by subjecting the data from the remaining drives on condition that only one drive fails.

  • Reed-Solomon code - an error-correcting algorithm based on Galois Algebra. The Reed-Solomon code allows increasing reliability of a RAID storage. This algorithm is used in RAID6.



RAID array types (levels)

Levels of RAID storage differ in data organization techniques. The detailed description of most widely used RAID types with information as to advantages and disadvantages of each level is given further on.


RAID, level 0 (RAID0, data striping)

RAID level 0 is the best example of data striping as it is. The term RAID – Redundant Array of Independent Disks – does not actually explain the functionality of this RAID level because it does not imply redundancy. This type of storage may consist of two and more units. Stripes are defined as data fragments where each data stripe is located on a subsequent storage unit..


RAID0 stripes

Figure 1. Stripe organization on RAID 0 (2 units)

Figure 1 shows data striping employed in RAID0. Such a data organization scheme allows speeding I/O operations up to U times (where U is the number of units in RAID0). This is achieved by sending concurrent or consequent I/O requests to different units (usually different hard disks). For example, in order to read stripes 0..3 (a data segment with the size of 4 stripes) the controller sends 2 concurrent read requests: to read two first stripes from Unit 1 and two first stripes from Unit 2. Units implement physical reading simultaneously and the controller gets the result two times faster.

This method of data organization allows using almost the whole storage space for data leaving no redundancy on data area. However, the capacity of RAID 0 storage is sometimes less than the sum of sizes of individual units because the controller can reserve some storage space for its own technical needs.

Advantages of RAID, level 0:

  • Extremely high performance in both reading and writing operations;

  • Simple implementation (even most on-board SATA controllers support RAID 0);

  • Up to 100% disk space for data;

  • The most cost-efficient RAID solution.


Disadvantages

  • No fault-tolerance: Failure of a single unit causes data loss.

Recovery perspectives

  • Controller failure/disassembled array: With information about stripe size and unit order you can easily recover lost data.

  • Damaged unit: As soon as any of the units is unreadable, data recovery for the subsequent data segments beyond the StripeSize* (UnitsCount-1) is impossible.


RAID, level 1 (RAID1, data mirroring)

RAID level 1 implements the technology of data mirroring. Mirroring creates the exact copy of the data and stores it on a separate special disk. The capacity of RAID1 equals to the size of the smallest storage unit without the space that can be reserved by the controller. When the controller reads data from RAID 1, it can send requests to any of the disks to speed up the I/O operation. Writing operation works either in a parallel mode (to both disks simultaneously) or consequently (onto one disk after another, which can be fault-tolerant). RAID1 doesn't provide data segmentation.

Advantages of RAID level 1:

  • Fast reading operations;

  • Increased fault-tolerance;

  • Keeps operating even when at least one mirror disk remains (in a “degraded mode”);

  • One of the most available solutions supported by most on-board SATA controllers. Disadvantages

Disadvantages

  • The most inefficient use of disk space;

  • Slow writing operation.

Recovery perspectives

  • Controller failure/disassembled array: easy to recover all data from any unit;

  • Damaged unit: data can be recovered from any readable unit.


RAID, level 4 (RAID4, stripe set with dedicated parity)

RAID 4 is the first successful attempt to compromise between fault-tolerance, speed and cost. The technique implemented in RAID 4 is based on usual Stripe Set (like in RAID0) extended with one more special unit to store parity information for error control. This array may consist of 3 or more disks. This scheme of data storing is also implemented in RAID level 3 with the difference in striping method that is byte-level for RAID3 and block (sector) level for RAID4.



RAID4 stripes

Figure 4. Stripe Set with dedicated parity (RAID4)

Figure 4 displays the method of fault-tolerance in action. The stripe set stores actual RAID data. Each “column” of stripes is summed with XOR to achieve parity.

RAID 4 has such similar to RAID 0 features as fast reading operations and large storage capacity, at the same time, this RAID level incorporates its own feature of extended internal error correction. If some stripe becomes unreadable, the controller is capable of reconstructing it basing on information of other stripes and parity. The disk designated for parity is not used for data storage, but rather as a backup unit.

Advantages of RAID, level 4:

  • Ever-faster reading operations;

  • High fault-tolerance;

  • Operating in a “degraded mode”, if one of the disks fails;

  • Efficient solution in the aspect of fault tolerance for money.


Disadvantages

  • Remarkably slow writing operations: any writing/updating operations require updates of parity information on one dedicated disk;

  • Slow reading operations in a degraded mode due to a high load on the parity unit.

Recovery perspectives

  • Controller failure/disassembled array: easy to recover all data. N-1 disks are required, data disks are preferred (to build virtual RAID 0); information about disk order and stripe size is required;

  • Damaged unit: recovery chances are close to 100%, if only one disk fails. If two or more disks fail, the same problem as with RAID0 occurs.


RAID, level 5 (RAID5, stripe set with distributed parity)

Presently, RAID5 is the best compromise between fault-tolerance, speed and cost. The technique used in RAID5 is based on usual Stripe Set (like in RAID 0) which in this level mixes data and parity information. Like RAID4, it requires at least three disks but has no special disk for storing parity information without creating such a “queue” for parity updates during writing operations.

Depending on the purpose, implementation, retailer and other factors, RAID level 5 may differ in methods of parity distribution across the stripe set. The most common methods include: Left-symmetric (backward dynamic parity distribution), Right-symmetric (forward dynamic parity distribution), Left-asymmetric (backward parity distribution) and Right-asymmetric (forward parity distribution).



RAID5 left symmetric

Figure 5. Left Symmetric parity distribution (RAID5)

RAID5 left asymmetric

Figure 6. Left Asymmetric parity distribution (RAID5)

RAID5 right symmetric

Figure 7. Right Symmetric parity distribution (RAID5)

RAID5 right asymmetric

Figure 8. Right Asymmetric parity distribution (RAID5)

Fault-tolerance is achieved by the same means as in RAID4: the stripe set stores actual data and parity information; each column of stripes is summed into a parity stripe of the column.

RAID5 combines the features of RAID0 (fast reading operations and large capacity) and RAID4 (extended internal error correction). If the stripe becomes unreadable, the controller is capable of reconstructing it basing on other stripes and parity information. Actual capacity of RAID5 storage is (U-1) * (min(unit size) – Reserved).

Advantages of RAID, level 5:

  • Ever-faster reading operations;

  • Fast writing depending on data and parity distribution method;

  • Fault-tolerance;

  • RAID may operate in a “degraded mode”, if one disk fails;

  • Efficient solution in the aspect of fault tolerance for money.

Disadvantages

  • Slower writing operations in comparison to RAID 0;

  • The speed of writing operations depends on the content and parity distribution method.

Recovery perspectives

  • Controller fault/disassembled array: easy to recover all data. All undamaged disks are preferred, but N-1 is required; information about disk order, stripe size and parity distribution method is required;

  • Damaged unit: recovery chances are close to 100%, if only one disk fails. If two or more disks fail, the same problem as with RAID0 occurs.


RAID, level 6 (RAID6, stripe set with double distributed parity)

Being a reliable and at the same time cost-efficient data storage solution, RAID6 was created with the aim to extend RAID5 with one more stripe for data redundancy. For this purpose the Reed-Solomon Code algorithm based on Galois field algebra is applied. This technique allows adding one more unit for data redundancy and correcting disk errors efficiently.
Data organization on RAID 6 is similar to RAID5: data and parity (P-stripe) are distributed across storage units. The difference is in an additional stripe (Q-stripe) located along with P-stripe and containing GF sum of data.
For more information about RAID6 and Q-stripe algorithms, please, go to http://www.cs.utk.edu/~plank/plank/papers/CS-96-332.html

Advantages of RAID, level 6:

  • Ever-faster reading operations;

  • Fast writing operations depending on the data and parity distribution method;

  • High fault-tolerance;

  • RAID may operate in a “degraded mode”, if one disk or even two disks fail;

  • Efficient solution in the aspect of fault tolerance for money.


Disadvantages

  • Slower writing operations in comparison to RAID0;

  • Speed of writing operations depends on the content and parity distribution method.

Recovery perspectives

  • Controller fault/disassembled array: easy to recover all data. All undamaged disks are preferred, but N-1 or N-2 is required; information about disk order, stripe size and parity distribution method is required;

  • Damaged unit: recovery chances are close to 100%, if only two disks fail. If more than two disks fail, the same problem as with RAID0 occurs.


Nested RAID: level 0+1, level 10, level 50, level 51 etc.

Nested RAID implementations based on RAID0, level 5 and level 1 were created to enhance performance capabilities of RAID systems. RAID level 0+1 applies a mirror of stripe sets to increase fault-tolerance without affecting storage performance. RAID level 10 applies an extension of stripes to mirror the data improving performance capabilities and increased use of storage capacity. RAID level 0+1 and level 10 require at least four disks. RAID50 is a stripe set of RAID5 storage created for performance reasons and RAID51 is a mirror of RAID5 created for fault-tolerance (requiring at least 6 disks to be built).



RAID01 stripes

Figure 2. Data organization on a mirror of stripes (RAID0+1; 6 units)

RAID10 stripes

Figure 3. Data organization on a stripe of mirrors (RAID10; 6 units, 2x3 mirrors)

Advantages of nested RAIDs:

  • Increased speed or fault-tolerance;

  • RAID can operate in a degraded mode;

  • RAID10 and RAID0+1 are the most affordable solutions (some on-board controllers support these RAID types).


Disadvantages

  • An expensive solution as most of the disk space is used for mirrors;

  • Hard to manage and maintain.

Recovery perspectives

  • Controller failure/disassembled array: easy to recover all data;

  • Damaged unit: recovery chances are close to 100% if it's possible to virtually assemble at least one stripe set (RAID10, RAID50) or at least one mirror instance (RAID0+1, RAID51).



Data Recovery

Considering data recovery chances described in the “Understanding RAID” section, if using efficient software specialized on recovery and reconstruction of RAID systems, users can easily recover data from RAID storages by themselves. The following information is needed to start RAID scanning:

  • RAID level;

  • Scheme of RAID layout across the units;

  • RAID parameters – unit order, stripe size, parity distribution (if applicable).


After the recovery operation, you can save the file image of your RAID storage to a safe location and load it to a data recovery software for further analysis.
We recommend UFS Explorer RAID Recovery as an efficient utility specialized on RAID systems. This application supports virtual reconstruction and data recovery from:

  • RAID arrays levels 0, 1, 0+1, 10, 4, 5, 6, 50, 51, RAID 7 (hardware variation of RAID4);

  • Degraded RAID arrays level 1, 0+1, 10, 5 and 6;

  • File systems used for NAS storages and servers with RAID arrays.