Basic Form of storage devices are Hard disk, Tapedrive, Flash memory,CD,DVD,Pen drives, Tape Libraries, JBOD, Enclosurs, Storage RAID Arrays & so on and the major Players of this business are IBM, HP, Hitachi, Seagate, Maxtor, Fujitsu, StorageTek, Toshiba, Intel, Sun, EMC2, Netapp etc...
Innovation continued with sense of grouping mupltiple Storage devices together in order to increase total available space for stoage and hence JBOD (Just Bunch of Disks) boxes are designed. (JBOD is a storage box containing mulptiple Hard disks and when connected to server or host, server assumes it as single disk and stores data).
JBOD's usage is limited by its design because aprat from combining multiple drives it does not give any further inteligence (dumb box). now emphasis was on adding inteligence to the JBODs and hence Enclosures came into existence with RAID (redundant array of independent disks) implementations.
With the Design & implementation of RAID concepts in the form of different RAID levels (RAID0,RAID1,RAID2,RAID3,RAID4,RAID5,RAID6,RAID0,RAID10,RAID01,RAID50 and so on), storage technology started exploring new dimensions of growth. Storage technology together with Server technology & Networking technology heralded the Design and implementation of Direct Attacted storage, Storage Area Network and Network attached Storage.
Storage devices (Hardware) have seen major changes in the form of innovations and also software in the form of management softwares, Configuration softwares, Backup softwares, Volume manager softwares, Virtualization softwares and so on have equally contibuted to implement complex form of solutions and at present existing Storage technologies (Hardware & Software) are driving the Data management business.
The term RAID was first defined in paper published by David A. Patterson, Garth A. Gibson and Randy Katz at the University of California, Berkeley in 1987. RAID (Redundant Array of Independent Disks) is a technology for managing how data is stored on the physical or hard disks that reside in your system or are attached to it.
To understand RAID, you must understand fundamental terms such as physical drive, physical array, Logical Drive or Volume and logical Arrays.
Physical Drive: Physical drives are typically indivisual Hard disks that are connected to Server (Host)
Physical Array: One or more physical drives are collected together to form a physical array (JBOD, Enclosures, Storage Arrays).
Logical Arrays: Logical arrays are formed by splitting or combining physical arrays. Typically, one logical array corresponds to one physical array. However, it is possible to set up a logical array that includes multiple physical arrays (typically used to allow multiple RAID levels). It is also possible to set up two entirely different logical arrays from a single physical.
Logical Drives: One or more logical drives are formed from one logical array (much the same way they would normally be formed from one physical drive in a non-RAID system). These appear to the operating system as if they were regular disk volumes, and are treated accordingly, with the RAID controller managing the array(s) that underlie them.
To Implement RAID, you must uderstand fundamental concepts of RAID such as Striping, Mirroring, Parity & Spanning.
Mirroring: Mirroring is one of the two data redundancy techniques used in RAID (the other being parity). In a RAID system using mirroring, all data in the system is written simultaneously to two hard disks instead of one; thus the "mirror" concept. The principle behind mirroring is that this 100% data redundancy provides full protection against the failure of either of the disks containing the duplicated data. Mirroring setups always require an even number of drives for obvious reasons.
The chief advantage of mirroring is that it provides not only complete redundancy of data, but also reasonably fast recovery from a disk failure. Since all the data is on the second drive, it is ready to use if the first one fails. Mirroring also improves some forms of read performance (though it actually hurts write performance.)
The chief disadvantage of RAID 1 is expense: that data duplication means half the space in the RAID is "wasted" so you must buy twice the capacity that you want to end up with in the array. Performance is also not as good as some RAID levels.
Mirroring is used in RAID 1, as well as multiple-level RAID involving RAID 1 (RAID 01 or RAID 10).
Striping: Striping is a technique of fragmenting the huge file (or collection of files) into indivisual Pieces (Stripes) of standard size (stripesize) and then storing the each stripes parallelly to all the Physical drives connected in RAID array.
For example, if we need to read a large file, instead of pulling it all from a single hard disk, it is much faster to chop it up into pieces, store some of the pieces on each of the drives in an array, and then use all the disks to read back the file when needed.
Striping can be done at the byte level, or in blocks. Byte-level striping means that the file is broken into "byte-sized pieces" The first byte of the file is sent to the first drive, then the second to the second drive, and so on.
Sometimes byte-level striping is done as a sector of 512 bytes. Block-level striping (group of Bytes) means that each file is split into blocks of a certain size and those are distributed to the various drives. The size of the blocks used is also called the stripe size (or block size, or several other names).
RAID 0 uses block-level striping without parity; RAID 3 and RAID 7 use byte-level striping with parity; and RAID 4, RAID 5 and RAID 6 use block-level striping with parity.
RAID 2 Uses Bit-level striping with ECC pattern but RAID2 is no more implemented anywhere because of disadvantages associated with it.
Parity: Parity technique is used as alternative technique for Mirroring because of high overhead cost disadvantage.
the term "parity" before, used in the context of system memory error detection; in fact, the parity used in RAID is very similar in concept to parity RAM.
The principle behind parity is simple: take "N" pieces of data, and from them, compute an extra piece of data. Take the "N+1" pieces of data and store them on "N+1" drives. If you lose any one of the "N+1" pieces of data, you can recreate it from the "N" that remain, regardless of which piece is lost. Parity protection is used with striping,
and the "N" pieces of data are typically the blocks or bytes distributed (Striped) across the drives in the array. The parity information can either be stored on a separate, dedicated drive, or be mixed with the data across all the drives in the array.
The parity calculation is typically performed using a logical operation called "exclusive OR" or "XOR". As you may know, the "OR" logical operator is "true" (1) if either of its operands is true, and false (0) if neither is true. The exclusive OR operator is "true" if and only if one of its operands is true; it differs from "OR" in that if both operands are true, "XOR" is false.
Concatenation or Spanning: Spanning (meaning 'Merge' drives) is a technique that allows to only group all the capacity of the multiple drives in an array. In this configuration disks storage space will be placed sequential where the Server operating system sees just one huge disk. Unfortunately, there are no other benefits except capacity with the spanning solution.
This mode is sometimes called JBOD, or "Just a Bunch Of Disks". Spanning is RAID controller (Hardware) specific implimentation and not specific to RAID implementation.
Showing posts with label parity. Show all posts
Showing posts with label parity. Show all posts
Wednesday, September 26, 2007
Subscribe to:
Posts (Atom)