A disk array controller is a device that manages the physical
disk drives
Data storage is the recording (storing) of information (data) in a storage medium. Handwriting, phonographic recording, magnetic tape, and optical discs are all examples of storage media. Biological molecules such as RNA and DNA are consi ...
and presents them to the computer as
logical units. It almost always implements
hardware RAID
Raid, RAID or Raids may refer to:
Attack
* Raid (military), a sudden attack behind the enemy's lines without the intention of holding ground
* Corporate raid, a type of hostile takeover in business
* Panty raid, a prankish raid by male college ...
, thus it is sometimes referred to as RAID controller. It also often provides additional disk
cache
Cache, caching, or caché may refer to:
Places United States
* Cache, Idaho, an unincorporated community
* Cache, Illinois, an unincorporated community
* Cache, Oklahoma, a city in Comanche County
* Cache, Utah, Cache County, Utah
* Cache County ...
.
''Disk array controller'' is often improperly shortened to ''
disk controller
{{unreferenced, date=May 2010
The disk controller is the controller circuit which enables the CPU to communicate with a hard disk, floppy disk or other kind of disk drive. It also provides an interface between the disk drive and the bus conne ...
''. The two should not be confused as they provide very different functionality.
Front-end and back-end side
A disk array controller provides front-end interfaces and back-end interfaces.
* Back-end interface communicates with controlled disks. Hence protocol is usually
ATA (a.k.a. PATA),
SATA
SATA (Serial AT Attachment) is a computer bus interface that connects host bus adapters to mass storage devices such as hard disk drives, optical drives, and solid-state drives. Serial ATA succeeded the earlier Parallel ATA (PATA) standard to ...
,
SCSI
Small Computer System Interface (SCSI, ) is a set of standards for physically connecting and transferring data between computers and peripheral devices. The SCSI standards define commands, protocols, electrical, optical and logical interface ...
,
FC or
SAS.
* Front-end interface communicates with a computer's
host adapter
In computer hardware, a host controller, host adapter, or host bus adapter (HBA), connects a computer system bus, which acts as the host system, to other network and storage devices. The terms are primarily used to refer to devices for conne ...
(HBA, Host Bus Adapter) and uses:
** one of ATA, SATA, SCSI, FC; these are popular protocols used by disks, so by using one of them a controller may transparently
emulate
Emulate, Inc. (Emulate) is a biotechnology company that commercialized Organs-on-Chips technology—a human cell-based technology that recreates organ-level function to model organs in healthy and diseased states. The technology has applications ...
a disk for a computer
** somewhat less popular protocol dedicated for a specific solution:
FICON
FICON (Fibre Connection) is the IBM proprietary name for the ANSI ''FC-SB-3 Single-Byte Command Code Sets-3 Mapping Protocol'' for Fibre Channel (FC) protocol. It is a FC layer 4 protocol used to map both IBM's antecedent (either ESCON or para ...
/
ESCON
ESCON (Enterprise Systems Connection) is a data connection created by IBM, and is commonly used to connect their mainframe computers to peripheral devices such as disk storage, tape drives and IBM 3270 display controllers. ESCON is an optical ...
,
iSCSI
Internet Small Computer Systems Interface or iSCSI ( ) is an Internet Protocol-based storage networking standard for linking data storage facilities. iSCSI provides block-level access to storage devices by carrying SCSI commands over a TCP/IP ...
,
HyperSCSI HyperSCSI is an outdated computer network Protocol (computing), protocol for accessing storage by sending and receiving SCSI commands. It was developed by researchers at the Data Storage Institute in Singapore in 2000 to 2003.
HyperSCSI is unlike iS ...
,
ATA over Ethernet or
InfiniBand
InfiniBand (IB) is a computer networking communications standard used in high-performance computing that features very high throughput and very low latency. It is used for data interconnect both among and within computers. InfiniBand is also used ...
A single controller ''may'' use different protocols for back-end and for front-end communication. Many enterprise controllers use FC on front-end and SATA on back-end.
Enterprise controllers
In a modern enterprise architecture disk array controllers (sometimes also called storage processors, or SPs
) are parts of physically independent
enclosure
Enclosure or Inclosure is a term, used in English landownership, that refers to the appropriation of "waste" or " common land" enclosing it and by doing so depriving commoners of their rights of access and privilege. Agreements to enclose land ...
s, such as
disk array
A disk array is a disk storage system which contains multiple disk drives. It is differentiated from a disk enclosure, in that an array has cache memory and advanced functionality, like RAID, deduplication, encryption and virtualization.
Compo ...
s placed in a
storage area network
A storage area network (SAN) or storage network is a computer network which provides access to consolidated, block-level data storage. SANs are primarily used to access data storage devices, such as disk arrays and tape libraries from serve ...
(SAN) or
network-attached storage
Network-attached storage (NAS) is a file-level (as opposed to block-level storage) computer data storage server connected to a computer network providing data access to a heterogeneous group of clients. The term "NAS" can refer to both the tech ...
(NAS)
server
Server may refer to:
Computing
*Server (computing), a computer program or a device that provides functionality for other programs or devices, called clients
Role
* Waiting staff, those who work at a restaurant or a bar attending customers and su ...
s.
Those external disk arrays are usually purchased as an integrated subsystem of RAID controllers, disk drives, power supplies, and management software. It is up to controllers to provide advanced functionality (various vendors name these differently):
* Automatic
failover
Failover is switching to a redundant or standby computer server, system, hardware component or network upon the failure or abnormal termination of the previously active application, server, system, hardware component, or network in a computer net ...
to another controller (transparent to computers transmitting data)
* Long-running operations performed without
downtime
The term downtime is used to refer to periods when a system is unavailable.
The unavailability is the proportion of a time-span that a system is unavailable or offline.
This is usually a result of the system failing to function because of an un ...
** Forming a new RAID set
** Reconstructing ''degraded'' RAID set (after a disk failure)
** Adding a disk to online RAID set
** Removing a disk from a RAID set (rare functionality)
** Partitioning a RAID set to separate volumes/LUNs
*
Snapshots
Snapshot, snapshots or snap shot may refer to:
* Snapshot (photography), a photograph taken without preparation
Computing
* Snapshot (computer storage), the state of a system at a particular point in time
* Snapshot (file format) or SNP, a file ...
*
Business continuance volume
In disk arrays, a business continuance volume (BCV) is EMC Corporation's term for an independently addressable copy of a data volume, that uses advanced mirroring technique for business continuity purposes.
Use
BCVs can be detached from the ac ...
s (BCV)
*
Replication with a remote controller....
Simple controllers
A simple disk array controller may fit inside a computer, either as a
PCI
PCI may refer to:
Business and economics
* Payment card industry, businesses associated with debit, credit, and other payment cards
** Payment Card Industry Data Security Standard, a set of security requirements for credit card processors
* Pro ...
expansion card
In computing, an expansion card (also called an expansion board, adapter card, peripheral card or accessory card) is a printed circuit board that can be inserted into an electrical connector, or expansion slot (also referred to as a bus slo ...
or just built onto a
motherboard
A motherboard (also called mainboard, main circuit board, mb, mboard, backplane board, base board, system board, logic board (only in Apple computers) or mobo) is the main printed circuit board (PCB) in general-purpose computers and other expand ...
. Such a controller usually provides
host bus adapter
In computer hardware, a host controller, host adapter, or host bus adapter (HBA), connects a computer system bus, which acts as the host system, to other computer network, network and computer storage, storage devices. The terms are primarily ...
(HBA) functionality itself to save physical space. Hence it is sometimes called a RAID adapter.
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
started integrating their own
Matrix RAID controller in their more upmarket motherboards, giving control over 4 devices and an additional 2 SATA connectors, and totalling 6 SATA connections (3Gbit/s each). For backward compatibility one IDE connector able to connect 2 ATA devices (100 Mbit/s) is also present.
History
While hardware RAID controllers were available for a long time, they always required expensive
SCSI
Small Computer System Interface (SCSI, ) is a set of standards for physically connecting and transferring data between computers and peripheral devices. The SCSI standards define commands, protocols, electrical, optical and logical interface ...
hard drives and aimed at the server and high-end computing market. SCSI technology advantages include allowing up to 15 devices on one bus, independent data transfers,
hot-swapping
Hot swapping is the replacement or addition of components to a computer system without stopping, shutting down, or rebooting the system; hot plugging describes the addition of components only. Components which have such functionality are said ...
, much higher
MTBF
Mean time between failures (MTBF) is the predicted elapsed time between inherent failures of a mechanical or electronic system during normal system operation. MTBF can be calculated as the arithmetic mean (average) time between failures of a system ...
.
Around 1997, with the introduction of
ATAPI-4 (and thus the
Ultra-DMA-Mode 0, which enabled fast data-transfers with less
CPU utilization) the first ATA RAID controllers were introduced as PCI expansion cards. Those RAID systems made their way to the consumer market, where the users wanted the fault-tolerance of RAID without investing in expensive SCSI drives.
ATA drives make it possible to build RAID systems at lower cost than with SCSI, but most ATA RAID controllers lack a dedicated buffer or high-performance XOR hardware for parity calculation. As a result, ATA RAID performs relatively poorly compared to most SCSI RAID controllers. Additionally, data safety suffers if there is no
battery
Battery most often refers to:
* Electric battery, a device that provides electrical power
* Battery (crime), a crime involving unlawful physical contact
Battery may also refer to:
Energy source
*Automotive battery, a device to provide power t ...
backup to finish writes interrupted by a power outage.
OS support
Because the hardware RAID controllers present assembled
RAID
Raid, RAID or Raids may refer to:
Attack
* Raid (military), a sudden attack behind the enemy's lines without the intention of holding ground
* Corporate raid, a type of hostile takeover in business
* Panty raid, a prankish raid by male college ...
volumes,
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
s aren't strictly required to implement the complete configuration and assembly for each controller. Very often only the basic features are implemented in the
open-source software
Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Op ...
driver, with extended features being provided through
binary blob
In the context of free and open-source software, proprietary software only available as a binary executable is referred to as a blob or binary blob. The term usually refers to a device driver module loaded into the kernel of an open-source ope ...
s directly by the hardware manufacturer.
Normally, RAID controllers can be fully configured through card
BIOS
In computing, BIOS (, ; Basic Input/Output System, also known as the System BIOS, ROM BIOS, BIOS ROM or PC BIOS) is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the ...
before an
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
is booted, and after the operating system is booted,