SlideShare a Scribd company logo
Andrew Robinson
                           University of Michigan
                         <androbin@umich.edu>


  Redundant Arrays of
Inexpensive Disks (RAID)
     What a cool idea!
Authors
• David A Patterson
• Garth Gibson
• Randy H Katz




Officially published in 1988.
Overview
•   What is RAID?
•   Why bother?
•   What is RAID, really?
•   How well does it work?
•   How’s it holding up?
What is RAID?
• Take a bunch of disks and make them appear
  as one disk.
• Put data on all of them
• Use all at once to gain performance
• Duplicate data to gain reliability
• Buy cheap disks to gain dollars
This seems like a lot of work…

why bother?
Let’s go back to 1987
CPUs and Memory kept getting faster…

• Exponential growth everywhere!
• CPU Performance: 1.4X increase per year
  – More transistors
  – Better architecture
• Memory Performance: 1.4-2X increase per
  year
  – Invention of caches
  – SRAM technology
… but disks did not.
• It’s hard to make things spin exponentially
  faster every year (they tend to fly apart).
• Disk seek time improved at a rate of
  approximately 7% a year.
• Caching had been employed to buffer I/O
  activity, this works reasonably well for
  predictable workloads.
Slow I/O Makes Slow Computers
• Amdahl’s Law describes the impact of only
  improving some pieces, while leaving others.



           1
  S=
                         S – The effective speedup
                         F – Fraction of work in faster mode
     (1- f ) + f / k     K – Speedup while in faster mode
…really slow.
• If applications spend 10% of their time in I/O,
  when computers are 10 times faster, they will
  only appear 5% faster.


         Something needed to be done.
What should we do?
• Single Large Expensive Disks (SLED) are not
  improving fast enough.
• Larger memory or solid state drives weren’t
  practical

• Small personal hard drives are emerging… can
  we do something with those?
Inexpensive Disks Rock
Visual Comparison
Why didn’t someone do this before?
• Standards like SCSI have finally allowed drive
  makers to integrate features seen in
  traditional mainframe controllers.
There is a problem…
• A hundredfold increase in number of disks
  means a hundredfold increase decrease in
  total reliability



                       MTTFSingleDisk
       MTTFDiskArray =
                         nDisks
that’s all really nice, but

what is RAID, really?
A couple levels… a single idea
• RAID manages the tradeoff between
  performance and reliability
• RAID comes in levels (RAID1 to RAID5)
• These levels represent points in the
  performance reliability space
Groups, Disks, and Check Disks
• RAID organizes disks into groups of reliability
• Some of the disks in a group store error
  correcting data

  D = Total disks with data
  G = Disks in a group
  C = Number of check disks in a group
Metrics
• Useable Storage – Percent of storage that
  holds data, excluding parity information
• Performance – Tough to make one number:
  – Reads, Writes, and Read-Modify-Write Access
    Patterns
  – Sequential and Random Data Distribution
RAID1 – The Naive Approach
• Mirroring of all data
• To read:
   – Use either disk
• To write:
   – Send to both disks
     simultaneously


• Minor read
  performance increase.
Evaluation
Pros                         Cons
• Reads can occur            • Useable storage is cut in
  simultaneously               half
• Seek times can improve     • All other performance
  with special controllers     metrics are left the same
• Predictable performance


    Alright for large sequential jobs and transaction
                      processing jobs
RAID2 – Bit Level Striping
• Uses Hamming Code for Error Detection
• Requires many check disks
  – For 10 data disks, 4 check disks
  – For 25 data disks, 5 check disks
• Can detect errors, and determine the at-fault
  disk
RAID2 - Visually
Evaluation
Pros                            Cons
• Better useable storage, 71%   • Dismal small random data
  for G=10, 83% for G=25          access performance: 3-9%
                                  of RAID1 or SLED




   Good for large sequential jobs, bad for transaction
                  processing systems.
RAID3 – Byte Level Striping
• Simpler parity error correction
• Only a single check disk required for error
  detection
• Cannot determine which disk failed, but that’s
  usually pretty obvious
• Transfers of large continuous blocks is good
RAID3
Evaluation
Pros                           Cons
• Even better useable          • Small random data access
  storage, 91% for G=10, 96%     performance: Just as bad as
  for G=25                       RAID2




      Even better for large sequential jobs, bad for
            transaction processing systems.
What is parity?
• Parity is calculated as an XOR of the data
  blocks.
• XOR is reversible:
  – 1011 (A1) XOR 1100 (A2) => 0111 (AP) “parity”
  – 0111 (AP) XOR 1011 (A1) => 1100 (A2)
  – 0111 (AP) XOR 1100 (A2) => 1011 (A1)

• This makes error detection and reconstruction
  possible!
RAID4 - Block Level Striping
• Like RAID3, but more parallelly
• Interleave data at sector level rather than bit
  level
• Allows for servicing of multiple block requests
  by different drives
• Still keeps all the parity information on a
  single drive
RAID4
Evaluation
Pros                            Cons
• Finally better small random   • Small writes, and read-
  access. Reads are fast!         write-modifies are still slow.




    Good for large sequential jobs, still not great for
           transaction processing systems.
RAID5 – Block Level Striping with
          Distributed Parity
• Instead of checksums on a single disk, we
  distribute them across all disks.
• Allows us to support multiple writes per group
RAID5
Evaluation
Pros                            Cons
• Really good usable storage    • Slightly worse write
• Finally decent small random     performance, data must be
  data access performance         written to two disks
  across the board!               simultaneously




Finally, a system that works well for both applications!
sounds complicated,

how well does it work?
As a Whole
• RAID has many different levels that achieve
  different tradeoffs in reliability and
  performance
• Almost all of them, for some (or many) use
  cases will outperform a SLED for the same
  cost.
Read-Modify-Write Per Disk
      Performance
wow, raid sounds awesome,

how’s it holding up?
Arriving back in 2012 now…
RAID has held up remarkably well
• Data centers around the world use RAID
  technology.
• The small, inexpensive disk is the de facto
  standard of storage
• The ideas developed for RAID have been
  applied to many not-RAID things
Some open questions
• What will become of RAID as new, super fast
  storage mediums start to become cost
  effective?
• How does it fit in with massive internet-scale
  storage farms?
Take Aways
• RAID offers significant advantage over SLED for
  the same cost
  – RAID5 offers 10x improvement in performance,
    reliability, and power consumption while reducing size
    of array.
• RAID allows for modular growth (add more disks)
• Cost effective option to meet challenge of
  exponential growth in processor and memory
  speeds
References
• “A Case for Redundant Arrays of Inexpensive
  Disks” by David A Patterson, Garth Gibson,
  and Randy H Katz
• “RAID: A Personal Recollection of How Storage
  Became a System” by Randy H Katz
• Slides by David Luo and Ramasubramanian K.
• Images generously borrowed from Wikipedia
  <http://en.wikipedia.org/wiki/RAID>
Thank you!

More Related Content

PDF
Raid data recovery Tips
PDF
Understanding RAID Controller
PPTX
Raid level 4
PPTX
Performance evolution of raid
PDF
PPTX
PPTX
Raid level
Raid data recovery Tips
Understanding RAID Controller
Raid level 4
Performance evolution of raid
Raid level

What's hot (20)

PPTX
SEMINAR
PPTX
Raid Technology
PPTX
Raid
DOCX
Raid
PPTX
PDF
RedisConf18 - Ultra Scaling with Redis Enterprise
PPTX
raid technology
PPTX
Vancouver bug enterprise storage and zfs
PPT
Raid_intro.ppt
PPTX
How to size up an Apache Cassandra cluster (Training)
PPTX
PPTX
Webinar: Eventual Consistency != Hopeful Consistency
PDF
MySQL Performance Tuning
PPTX
CD presentation march 12th, 2018
PDF
CRDTs with Akka Distributed Data
PPTX
Azure + DataStax Enterprise (DSE) Powers Office365 Per User Store
PDF
Apache Cassandra Certification
PPTX
SQL Server Reporting Services Disaster Recovery Webinar
PPTX
Introduction to DataStax Enterprise Advanced Replication with Apache Cassandra
SEMINAR
Raid Technology
Raid
Raid
RedisConf18 - Ultra Scaling with Redis Enterprise
raid technology
Vancouver bug enterprise storage and zfs
Raid_intro.ppt
How to size up an Apache Cassandra cluster (Training)
Webinar: Eventual Consistency != Hopeful Consistency
MySQL Performance Tuning
CD presentation march 12th, 2018
CRDTs with Akka Distributed Data
Azure + DataStax Enterprise (DSE) Powers Office365 Per User Store
Apache Cassandra Certification
SQL Server Reporting Services Disaster Recovery Webinar
Introduction to DataStax Enterprise Advanced Replication with Apache Cassandra
Ad

Similar to Overview of Redundant Disk Arrays (20)

PDF
Understanding RAID Levels (RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5)
PPTX
PDF
RAID (redundant array of independent disks)
PDF
RAID--16112022-093218am-16022024-061222pm.pdf
PPTX
Raid structure os.pptxmbj;fdjhlljtzejtjdfi
PDF
Raid_structure_os[1].pdfhdgretrhfgfhfhyt
PPT
Raid+controllers
PDF
Hadoop - Disk Fail In Place (DFIP)
PPTX
Secondary Storage - General Knowledge
PPTX
Raid 1 3
PDF
Five steps perform_2009 (1)
PDF
5 Steps to PostgreSQL Performance
PPTX
1.2 raid
PPTX
RAID LEVELS
PPTX
Ceph Day London 2014 - Best Practices for Ceph-powered Implementations of Sto...
PDF
End of RAID as we know it with Ceph Replication
Understanding RAID Levels (RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5)
RAID (redundant array of independent disks)
RAID--16112022-093218am-16022024-061222pm.pdf
Raid structure os.pptxmbj;fdjhlljtzejtjdfi
Raid_structure_os[1].pdfhdgretrhfgfhfhyt
Raid+controllers
Hadoop - Disk Fail In Place (DFIP)
Secondary Storage - General Knowledge
Raid 1 3
Five steps perform_2009 (1)
5 Steps to PostgreSQL Performance
1.2 raid
RAID LEVELS
Ceph Day London 2014 - Best Practices for Ceph-powered Implementations of Sto...
End of RAID as we know it with Ceph Replication
Ad

Recently uploaded (20)

PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
KodekX | Application Modernization Development
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Cloud computing and distributed systems.
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Programs and apps: productivity, graphics, security and other tools
Understanding_Digital_Forensics_Presentation.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Encapsulation_ Review paper, used for researhc scholars
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
KodekX | Application Modernization Development
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Review of recent advances in non-invasive hemoglobin estimation
The Rise and Fall of 3GPP – Time for a Sabbatical?
Cloud computing and distributed systems.
Mobile App Security Testing_ A Comprehensive Guide.pdf
sap open course for s4hana steps from ECC to s4
Agricultural_Statistics_at_a_Glance_2022_0.pdf

Overview of Redundant Disk Arrays

  • 1. Andrew Robinson University of Michigan <androbin@umich.edu> Redundant Arrays of Inexpensive Disks (RAID) What a cool idea!
  • 2. Authors • David A Patterson • Garth Gibson • Randy H Katz Officially published in 1988.
  • 3. Overview • What is RAID? • Why bother? • What is RAID, really? • How well does it work? • How’s it holding up?
  • 4. What is RAID? • Take a bunch of disks and make them appear as one disk. • Put data on all of them • Use all at once to gain performance • Duplicate data to gain reliability • Buy cheap disks to gain dollars
  • 5. This seems like a lot of work… why bother?
  • 6. Let’s go back to 1987
  • 7. CPUs and Memory kept getting faster… • Exponential growth everywhere! • CPU Performance: 1.4X increase per year – More transistors – Better architecture • Memory Performance: 1.4-2X increase per year – Invention of caches – SRAM technology
  • 8. … but disks did not. • It’s hard to make things spin exponentially faster every year (they tend to fly apart). • Disk seek time improved at a rate of approximately 7% a year. • Caching had been employed to buffer I/O activity, this works reasonably well for predictable workloads.
  • 9. Slow I/O Makes Slow Computers • Amdahl’s Law describes the impact of only improving some pieces, while leaving others. 1 S= S – The effective speedup F – Fraction of work in faster mode (1- f ) + f / k K – Speedup while in faster mode
  • 10. …really slow. • If applications spend 10% of their time in I/O, when computers are 10 times faster, they will only appear 5% faster. Something needed to be done.
  • 11. What should we do? • Single Large Expensive Disks (SLED) are not improving fast enough. • Larger memory or solid state drives weren’t practical • Small personal hard drives are emerging… can we do something with those?
  • 14. Why didn’t someone do this before? • Standards like SCSI have finally allowed drive makers to integrate features seen in traditional mainframe controllers.
  • 15. There is a problem… • A hundredfold increase in number of disks means a hundredfold increase decrease in total reliability MTTFSingleDisk MTTFDiskArray = nDisks
  • 16. that’s all really nice, but what is RAID, really?
  • 17. A couple levels… a single idea • RAID manages the tradeoff between performance and reliability • RAID comes in levels (RAID1 to RAID5) • These levels represent points in the performance reliability space
  • 18. Groups, Disks, and Check Disks • RAID organizes disks into groups of reliability • Some of the disks in a group store error correcting data D = Total disks with data G = Disks in a group C = Number of check disks in a group
  • 19. Metrics • Useable Storage – Percent of storage that holds data, excluding parity information • Performance – Tough to make one number: – Reads, Writes, and Read-Modify-Write Access Patterns – Sequential and Random Data Distribution
  • 20. RAID1 – The Naive Approach • Mirroring of all data • To read: – Use either disk • To write: – Send to both disks simultaneously • Minor read performance increase.
  • 21. Evaluation Pros Cons • Reads can occur • Useable storage is cut in simultaneously half • Seek times can improve • All other performance with special controllers metrics are left the same • Predictable performance Alright for large sequential jobs and transaction processing jobs
  • 22. RAID2 – Bit Level Striping • Uses Hamming Code for Error Detection • Requires many check disks – For 10 data disks, 4 check disks – For 25 data disks, 5 check disks • Can detect errors, and determine the at-fault disk
  • 24. Evaluation Pros Cons • Better useable storage, 71% • Dismal small random data for G=10, 83% for G=25 access performance: 3-9% of RAID1 or SLED Good for large sequential jobs, bad for transaction processing systems.
  • 25. RAID3 – Byte Level Striping • Simpler parity error correction • Only a single check disk required for error detection • Cannot determine which disk failed, but that’s usually pretty obvious • Transfers of large continuous blocks is good
  • 26. RAID3
  • 27. Evaluation Pros Cons • Even better useable • Small random data access storage, 91% for G=10, 96% performance: Just as bad as for G=25 RAID2 Even better for large sequential jobs, bad for transaction processing systems.
  • 28. What is parity? • Parity is calculated as an XOR of the data blocks. • XOR is reversible: – 1011 (A1) XOR 1100 (A2) => 0111 (AP) “parity” – 0111 (AP) XOR 1011 (A1) => 1100 (A2) – 0111 (AP) XOR 1100 (A2) => 1011 (A1) • This makes error detection and reconstruction possible!
  • 29. RAID4 - Block Level Striping • Like RAID3, but more parallelly • Interleave data at sector level rather than bit level • Allows for servicing of multiple block requests by different drives • Still keeps all the parity information on a single drive
  • 30. RAID4
  • 31. Evaluation Pros Cons • Finally better small random • Small writes, and read- access. Reads are fast! write-modifies are still slow. Good for large sequential jobs, still not great for transaction processing systems.
  • 32. RAID5 – Block Level Striping with Distributed Parity • Instead of checksums on a single disk, we distribute them across all disks. • Allows us to support multiple writes per group
  • 33. RAID5
  • 34. Evaluation Pros Cons • Really good usable storage • Slightly worse write • Finally decent small random performance, data must be data access performance written to two disks across the board! simultaneously Finally, a system that works well for both applications!
  • 36. As a Whole • RAID has many different levels that achieve different tradeoffs in reliability and performance • Almost all of them, for some (or many) use cases will outperform a SLED for the same cost.
  • 38. wow, raid sounds awesome, how’s it holding up?
  • 39. Arriving back in 2012 now…
  • 40. RAID has held up remarkably well • Data centers around the world use RAID technology. • The small, inexpensive disk is the de facto standard of storage • The ideas developed for RAID have been applied to many not-RAID things
  • 41. Some open questions • What will become of RAID as new, super fast storage mediums start to become cost effective? • How does it fit in with massive internet-scale storage farms?
  • 42. Take Aways • RAID offers significant advantage over SLED for the same cost – RAID5 offers 10x improvement in performance, reliability, and power consumption while reducing size of array. • RAID allows for modular growth (add more disks) • Cost effective option to meet challenge of exponential growth in processor and memory speeds
  • 43. References • “A Case for Redundant Arrays of Inexpensive Disks” by David A Patterson, Garth Gibson, and Randy H Katz • “RAID: A Personal Recollection of How Storage Became a System” by Randy H Katz • Slides by David Luo and Ramasubramanian K. • Images generously borrowed from Wikipedia <http://en.wikipedia.org/wiki/RAID>

Editor's Notes

  • #2: ----- Meeting Notes (1/21/12 13:53) -----Invented around 1987.
  • #3: ----- Meeting Notes (1/21/12 13:53) -----Patterson - BerkeleyGibson – Currently at CMUKatz - Berkeley
  • #30: Exploits clever XOR trick to not require reading data off of all the disks to recalculate parity.Each small write requires 2 disks and 4 accesses, 2 reads and 2 writes.Each small read requires only 1 access.