Page 183 - DCAP403_Operating System
P. 183

Operating System




                    Notes          Spindle-sync will improve the performance of writes. but have virtually no effect on reads. The
                                   read performance for RAID-1 will be no worse than the read performance for a single drive. If the
                                   RAID controller is intelligent enough to send read requests to alternate disk drives, RAID-1 can

                                   significantly improve read performance.
                                   RAID-2: RAID Level 2 is an intellectual curiosity, and has never been widely used. It is more


                                   space efficient then RAID-1, but less space efficient then other RAID levels.
                                   Instead of using a simple parity to validate the data (as in RAID-3, RAID-4 and RAID-5), it uses
                                   a much more complex algorithm, called a Hamming Code. A Hamming code is larger than a
                                   parity, so it takes up more disk space, but, with proper code design, is capable of recovering
                                   from multiple drives being lost. RAID-2 is the only simple RAID level that can retain data when
                                   multiple drives fail.

                                   The primary problem with this RAID level is that the amount of CPU power required to generate
                                   the Hamming Code is much higher then is required to generate parity.
                                   A RAID-2 array has all the penalties of a RAID-4 array, with an even larger write performance
                                   penalty. The reason for the larger write performance penalty is that it is not usually possible to

                                   update the Hamming Code. In general, all data blocks in the stripe modified by the write, must
                                   be read in, and used to generate new Hamming Code data.
                                   Also, on large writes, the CPU time to generate the Hamming Code is much higher that to
                                   generate Parity, thus possibly slowing down even large writes.

                                   The individual segments in a 4+2 RAID-2 array are organized as follows:
                                                              Table 9.2: RAID-2 Segments

                                        Drive 0     Drive 1     Drive 2     Drive 3      Drive 4     Drive 5
                                          0           1           2           3          Code         Code
                                          4           5           6           7          Code         Code
                                          8           9           10          11         Code         Code
                                         12           13          14          15         Code         Code
                                         16           17          18          19         Code         Code
                                         20           21          22          23         Code         Code

                                   RAID-3: RAID Level 3 is defined as bytewise (or bitwise) striping with parity. Every I/O to the

                                   array will access all drives in the array, regardless of the type of access (read/write) or the size
                                   of the I/O request.
                                   During a write, RAID-3 stores a portion of each block on each data disk. It also computes the
                                   parity for the data, and writes it to the parity drive.
                                   In some implementations, when the data is read back in, the parity is also read, and compared to
                                   a newly computed parity, to ensure that there were no errors.
                                   RAID-3 provides a similar level of reliability to RAID-4 and RAID-5, but offers much greater
                                   I/O bandwidth on small requests. In addition, there is no performance impact when writing.
                                   Unfortunately, it is not possible to have multiple operations being performed on the array at the
                                   same time, due to the fact that all drives are involved in every operation.

                                   As all drives are involved in every operation, the use of spindle-sync will signifi cantly improve
                                   the performance of the array.
                                   Because a logical block is broken up into several physical blocks, the block size on the disk drive
                                   would have to be smaller than the block size of the array. Usually, this causes the disk drive
                                   to need to be formatted with a block size smaller than 512 bytes, which decreases the storage
                                   capacity of the disk drive slightly, due to the larger number of block headers on the drive.



          176                              LOVELY PROFESSIONAL UNIVERSITY
   178   179   180   181   182   183   184   185   186   187   188