# Reliability, availability and serviceability

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Reliability,_availability_and_serviceability
> Markdown URL: https://mediated.wiki/source/Reliability,_availability_and_serviceability.md
> Source: https://en.wikipedia.org/wiki/Reliability%2C_availability_and_serviceability
> Source revision: 1309329425
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

**Reliability, availability and serviceability** (**RAS**), also known as **reliability, availability, and maintainability** (**RAM**), is a [computer hardware](/source/Computer_hardware) engineering term involving [reliability engineering](/source/Reliability_engineering), [high availability](/source/High_availability), and [serviceability](/source/Serviceability_(computer)) design. The phrase was originally used by [IBM](/source/IBM) as a term to describe the robustness of their [mainframe computers](/source/Mainframe_computer).[1][2]

Computers designed with higher levels of RAS have many features that protect [data integrity](/source/Data_integrity) and help them stay [available](/source/Availability) for long periods of time without [failure](/source/Fault_(technology)).[3] This data integrity and [uptime](/source/Uptime) is a particular selling point for mainframes and [fault-tolerant systems](/source/Fault-tolerant_system).

## Definitions

While RAS originated as a hardware-oriented[citation needed] term, [systems thinking](/source/Systems_thinking) has extended the concept of reliability-availability-serviceability to systems in general, including [software](/source/Software):[4]

- *Reliability* can be defined as the probability that a system will produce correct outputs up to some given time *t*.[5] Reliability is enhanced by features that help to avoid, detect and repair hardware faults. A reliable system does not silently continue and deliver results that include uncorrected corrupted data. Instead, it detects and, if possible, corrects the corruption, for example: by retrying an operation for transient ([soft](/source/Soft_error)) or intermittent errors, or else, for uncorrectable errors, isolating the fault and reporting it to higher-level recovery mechanisms (which may [failover](/source/Failover) to redundant replacement hardware, etc.), or else by halting the affected program or the entire system and reporting the corruption. Reliability can be characterized in terms of [mean time between failures](/source/Mean_time_between_failures) (MTBF), with reliability = exp(−t/MTBF).[5]
- *Availability* means the probability that a system is operational at a given time, i.e. the amount of time a device is actually operating as the percentage of total time it should be operating. High-availability systems may report availability in terms of minutes or hours of downtime per year. Availability features allow the system to stay operational even when faults do occur. A highly available system would disable the malfunctioning portion and continue operating at a reduced capacity. In contrast, a less capable system might crash and become totally nonoperational. Availability is typically given as a percentage of the time a system is expected to be available, e.g., 99.999 percent ("[five nines](/source/High_availability#Percentage_calculation)").
- *Serviceability* or *maintainability* is the simplicity and speed with which a system can be repaired or maintained; if the time to repair a failed system increases, then availability will decrease. Serviceability includes various methods of easily diagnosing the system when problems arise. Early detection of faults can decrease or avoid system downtime. For example, some enterprise systems can automatically call a service center (without human intervention) when the system experiences a system fault. The traditional focus has been on making the correct repairs with as little disruption to normal operations as possible.

Note the distinction between reliability and availability: reliability measures the ability of a system to function correctly, including avoiding data corruption, whereas availability measures how often the system is available for use, even though it may not be functioning correctly. For example, a server may run forever and so have ideal availability, but may be unreliable, with frequent data corruption.[6]

## Failure types

Physical faults can be temporary or permanent:

- Permanent faults lead to a continuing error and are typically due to some physical failure such as metal [electromigration](/source/Electromigration) or dielectric breakdown.
- Temporary faults include *transient* and *intermittent* faults. - Transient (a.k.a. *soft*) faults lead to independent one-time errors and are not due to permanent hardware faults: examples include alpha particles flipping a memory bit, electromagnetic noise, or power-supply fluctuations. - Intermittent faults occur due to a weak system component, e.g. circuit parameters degrading, leading to errors that are likely to recur.[5]

## Failure responses

Transient and intermittent faults can typically be handled by detection and correction by e.g., ECC codes or instruction replay (see below). Permanent faults will lead to uncorrectable errors which can be handled by replacement by duplicate hardware, e.g., processor sparing, or by the passing of the uncorrectable error to high level recovery mechanisms. A successfully corrected intermittent fault can also be reported to the [operating system](/source/Operating_system) (OS) to provide information for [predictive failure analysis](/source/Predictive_failure_analysis).

## Hardware features

Example hardware features for improving RAS include the following, listed by subsystem:

- [Processor](/source/Central_processing_unit): - Processor instruction error detection (e.g. residue checking of results[7]) with instruction retry e.g. [alternative processor recovery](/source/IBM_System_z#Features) in IBM mainframes,[8] or "Instruction replay technology" in [Itanium](/source/Itanium) systems.[9] - Processors running in [lock-step](/source/Lockstep_(computing)) to perform [master-checker](/source/Master-checker) or voting schemes. - [Machine Check Architecture](/source/Machine_Check_Architecture) and [ACPI Platform Error Interface](/source/ACPI_Platform_Error_Interface) to report errors to the OS.
- [Memory](/source/Computer_memory): - [Parity](/source/Parity_bit) or [ECC](/source/Error_correcting_code) (including [single device correction](/source/Chipkill)) protection of memory components ([cache](/source/CPU_cache) and [main memory](/source/Main_memory)); bad cache line disabling; [memory scrubbing](/source/Memory_scrubbing); memory sparing, memory mirroring;[10] bad page offlining; [redundant bit steering](/source/Memory_ProteXion); [redundant array of independent memory](/source/Redundant_array_of_independent_memory) (RAIM).
- [I/O](/source/Input/output): - [Cyclic redundancy check](/source/Cyclic_redundancy_check) [checksums](/source/Checksum) for data transmission/retry and data storage, e.g. [PCI Express](/source/PCI_Express) (PCIe) Advanced Error Reporting (AER),[11] [redundant I/O paths](/source/Multipath_I/O).
- [Storage](/source/Computer_data_storage): - [RAID](/source/RAID) configurations for [hard disk drive](/source/Hard_disk_drive) and [solid-state drive](/source/Solid-state_drive) storage. - [Journaling file systems](/source/Journaling_file_system) for file repair after crashes. - [Checksums](/source/Checksum) on both data and metadata, and background [scrubbing](/source/Data_scrubbing). - [Self-Monitoring, Analysis, and Reporting Technology](/source/Self-Monitoring,_Analysis,_and_Reporting_Technology) for hard disk drive and solid-state drive.
- Power/cooling: - [Duplicating components](/source/Redundancy_(engineering)) to avoid [single points of failure](/source/Single_point_of_failure), e.g., power-supplies. - [Over-designing](/source/Overengineering) the system for the specified operating ranges of [clock frequency](/source/Clock_rate), temperature, voltage, vibration. - [Temperature sensors](/source/Heat_sensor) to throttle operating frequency when temperature goes out of specification. - [Surge protector](/source/Surge_protector), [uninterruptible power supply](/source/Uninterruptible_power_supply), [auxiliary power](/source/Emergency_power_system).
- System: - [Hot swapping](/source/Hot_swapping) of components: [CPUs](/source/Central_processing_unit), [RAMs](/source/Random-access_memory), [hard disk drives](/source/Hard_disk_drive) and [solid-state drives](/source/Solid-state_drive). - [Predictive failure analysis](/source/Predictive_failure_analysis) to predict which intermittent correctable errors will lead eventually to hard non-correctable errors. - [Partitioning/domaining](/source/Logical_partition_(virtual_computing_platform)) of computer components to allow one large system to act as several smaller systems. - [Virtual machines](/source/Virtual_machine) to decrease the severity of [operating system](/source/Operating_system) software faults. - Redundant I/O domains[12] or I/O partitions[13] for providing virtual I/O to guest virtual machines. - [Computer clustering](/source/Computer_cluster) capability with [failover](/source/Failover) capability, for complete [redundancy](/source/Redundancy_(engineering)) of hardware and software. - [Dynamic software updating](/source/Dynamic_software_updating) to avoid the need to reboot the system for a [kernel](/source/Kernel_(operating_system)) software update, for example [Ksplice](/source/Ksplice) under Linux. - [Independent management processor](/source/Intelligent_Platform_Management_Interface#Baseboard_management_controller) for serviceability: remote monitoring, alerting and control.

[Fault-tolerant designs](/source/Fault-tolerant_design) extended the idea by making *RAS* to be the defining feature of their computers for applications like [stock market](/source/Stock_market) exchanges or [air traffic control](/source/Air_traffic_control), where system crashes would be catastrophic. [Fault-tolerant computers](/source/Fault-tolerant_computer_system) (e.g., see [Tandem Computers](/source/Tandem_Computers) and [Stratus Technologies](/source/Stratus_Technologies)), which tend to have duplicate components running in lock-step for reliability, have become less popular, due to their high cost. [High availability systems](/source/High-availability_cluster), using [distributed computing](/source/Distributed_computing) techniques like [computer clusters](/source/Computer_cluster), are often used as cheaper alternatives.[citation needed]

## See also

- [Machine Check Architecture](/source/Machine_Check_Architecture) (MCA)
- [Machine-check exception](/source/Machine-check_exception) (MCE)
- [High availability](/source/High_availability) (HA)
- [Redundancy (engineering)](/source/Redundancy_(engineering))
- [Integrated logistics support](/source/Integrated_logistics_support)
- [RAMS](/source/RAMS) (reliability, availability, maintainability and safety)

## References

1. Siewiorek, Daniel P. & Swarz, Robert S. (1998). [*Reliable computer systems: design and evaluation*](https://archive.org/details/reliablecomputer00siew). Taylor & Francis. p. [508](https://archive.org/details/reliablecomputer00siew/page/508). ISBN 9781568810928.. "The acronym RAS (reliability, accessibility and serviceability) came into widespread acceptance at IBM as the replacement for the subset notion of recovery management."

1. Data Processing Division, International Business Machines Corp., 1970 (1970). "Data processor, Issues 13-17"- "The dependability [...] experienced by other System/370 users is the result of a strategy based on RAS (Reliability-Availability-Serviceability)"

1. Siewert, Sam (Mar 2005). ["Big iron lessons, Part 2: Reliability and availability: What's the difference?"](https://web.archive.org/web/20220303124924/http://mercury.pr.erau.edu/~siewerts/extra/papers/IBM-out-of-print/big-iron-2.pdf). Archived from [the original](http://mercury.pr.erau.edu/%7Esiewerts/extra/papers/IBM-out-of-print/big-iron-2.pdf) on 2022-03-03. Retrieved 2021-01-23.

1. For example: Laros III, James H. (4 September 2012). [*Energy-Efficient High Performance Computing: Measurement and Tuning*](https://books.google.com/books?id=Wq_XngsfAPQC). SpringerBriefs in Computer Science. Springer Science & Business Media. p. 8. ISBN 9781447144922. Retrieved 2014-07-08. Historically, Reliability Availability and Serviceability (RAS) systems were commonly provided by vendors on mainframe class systems. [...] The RAS system shall be a systematic union of software and hardware for the purpose of managing and monitoring all hardware and software components of the system to their individual potential.

1. E.J. McClusky & S. Mitra (2004). *"Fault Tolerance" in Computer Science Handbook 2ed. ed. A.B. Tucker. CRC Press*

1. Spencer, Richard H. & Floyd, Raymond E. (11 July 2011). [*Perspectives on Engineering*](https://books.google.com/books?id=dYVHOds2vQoC). Bloomington, Indiana: AuthorHouse. p. 33. ISBN 9781463410919. Retrieved 2014-05-05. [...] a system server may have excellent availability (runs forever), but continues to have frequent data corruption (not very reliable).

1. Daniel Lipetz & Eric Schwarz (2011). ["Self Checking in Current Floating-Point Units. Proceedings of 2011 20th IEEE Symposium on Computer Arithmetic"](https://wayback.archive-it.org/all/20120124194631/http://www.acsel-lab.com/arithmetic/papers/ARITH20/ARITH20_Lipetz.pdf). Archived from [the original](http://www.acsel-lab.com/arithmetic/papers/ARITH20/ARITH20_Lipetz.pdf) on 2012-01-24. Retrieved 2012-05-06.

1. L. Spainhower & T. A. Gregg (September 1999). ["IBM S/390 parallel enterprise server G5 fault tolerance: a historical perspective. IBM Journal of Research and Development. Volume 43 Issue 5"](https://web.stanford.edu/class/ee392c/papers/fault/ibm_faults_mainframe.spainhower.ibmjrd.1999.pdf). [CiteSeerX 10.1.1.85.5994](https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.85.5994)

1. ["Intel Instruction Replay Technology Detects and Corrects Errors"](http://www.intel.com/content/www/us/en/processors/itanium/itanium-9500-reliability-mission-critical-applications-paper.html). Retrieved 2012-12-07.

1. HP. ["Memory technology evolution: an overview of system memory technologies Technology brief, 9th edition (page 8)"](https://web.archive.org/web/20110724013507/http://h20000.www2.hp.com/bc/docs/support/SupportManual/c00256987/c00256987.pdf). Archived from [the original](http://h20000.www2.hp.com/bc/docs/support/SupportManual/c00256987/c00256987.pdf) on 2011-07-24.

1. Intel Corp. (2003). ["PCI Express Provides Enterprise Reliability, Availability, and Serviceability"](http://www.intel.com/content/www/us/en/io/pci-express/pci-express-initiatives-and-technology-article.html)

1. ["Best Practices for Data Reliability with Oracle VM Server for SPARC"](http://www.oracle.com/technetwork/articles/systems-hardware-architecture/vmsrvrsparc-reliability-163931.pdf). Retrieved 2013-07-02.

1. ["IBM Power Redundancy considerations"](http://pic.dhe.ibm.com/infocenter/powersys/v3r1m5/index.jsp?topic=/iphb1/iphb1_vios_virtualioserverpartition.htm). Retrieved 2013-07-02.

## External links

- [Itanium Reliability, Availability and Serviceability (RAS) Features](http://labs.hoffmanlabs.com/node/95) [Archived](https://web.archive.org/web/20111111194047/http://labs.hoffmanlabs.com/node/95) 2011-11-11 at the Wayback Machine Overview of RAS features in general and specific features of the [Itanium processor](/source/Itanium).
- [POWER7 System RAS Key Aspects of Power Systems Reliability, Availability, and Serviceability. Daniel Henderson, Jim Mitchell, and George Ahrens. February 10, 2012](http://www-05.ibm.com/de/events/breakfast/pdf/POWER7_RAS_Features_Feb_2012.pdf) [Archived](https://web.archive.org/web/20181228125757/http://www-05.ibm.com/de/events/breakfast/pdf/POWER7_RAS_Features_Feb_2012.pdf) December 28, 2018 at the Wayback Machine Overview of RAS features in [Power processors](/source/IBM_Power_microprocessors).
- [Intel Corp. Reliability, Availability, and Serviceability for the Always-on Enterprise (appendix B)](http://www.intel.com/content/www/us/en/servers/reliability-availability-and-serviceability-for-the-always-on-enterprise-paper.html) and [Intel Xeon Processor E7 Family: supporting next generation RAS servers. White paper.](http://www.intel.com/content/www/us/en/processors/xeon/xeon-e7-family-ras-server-paper.html) Overview of RAS features in [Xeon](/source/Xeon) processors.
- [zEnterprise 196 System Overview. IBM Corp. (Chapter 10)](http://www-01.ibm.com/support/docview.wss?uid=isg2c24bd608371def398525776100545fcb&aid=1) Overview of RAS features of IBM [z196 processor](/source/IBM_z196) and [zEnterprise 196](/source/IBM_zEnterprise_System) server.
- [Maximizing Application Reliability and Availability with the SPARC M5-32 Server](http://www.oracle.com/technetwork/server-storage/sun-sparc-enterprise/documentation/o13-026-m5-32-ras-1923495.pdf) RAS features of Oracle’s SPARC M5-32 server

---
Adapted from the Wikipedia article [Reliability, availability and serviceability](https://en.wikipedia.org/wiki/Reliability%2C_availability_and_serviceability) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Reliability%2C_availability_and_serviceability?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
