A disk array controller is a device that manages the physical
disk drives and presents them to the computer as
logical units. It often implements
hardware RAID, thus it is sometimes referred to as RAID controller. It also often provides additional disk
cache.
''Disk array controller'' is often ambiguously shortened to ''
disk controller
A disk controller is a controller circuit that enables a 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 connecting it to the rest of the system.{ ...
'' which can also refer to the circuitry responsible for managing internal disk drive operations.
Front-end and back-end side
A disk array controller provides front-end interfaces and back-end interfaces.
* The back-end interface communicates with the controlled disks. Hence, its 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 ...
,
SCSI
Small Computer System Interface (SCSI, ) is a set of standards for physically connecting and transferring data between computers and peripheral devices, best known for its use with storage devices such as hard disk drives. SCSI was introduced ...
,
FC or
SAS.
* The 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 connecting ...
(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 a disk for a computer.
** somewhat less popular dedicated protocols for specific solutions:
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 computer
A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large o ...
,
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 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 iSCSI in that it by ...
,
ATA over Ethernet
ATA over Ethernet (AoE) is a network protocol developed by the Brantley Coile Company, designed for simple, high-performance access of block storage devices over Ethernet networks. It is used to build storage area networks (SANs) with low-cost ...
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 traditional rights of access and usage. Agreements to enc ...
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 (computing), cache memory and advanced functionality, like redundant array of independent disks, RAID ...
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 device, block-level data storage. SANs are primarily used to access Computer data storage, data storage devices, such as disk ...
(SAN) or
network-attached storage
Network-attached storage (NAS) is a file-level computer data storage server connected to a computer network providing data access to a Heterogeneous computing, heterogeneous group of clients. In this context, the term "NAS" can refer to both th ...
(NAS)
servers.
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 ...
to another controller (transparent to computers transmitting data)
* Long-running operations performed without
downtime
In computing and telecommunications, downtime (also (system) outage or (system) drought colloquially) is a period when a system is unavailable. The unavailability is the proportion of a time-span that a system is unavailable or offline.
This is ...
** 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
*
Business continuance volumes (BCV)
*
Replication with a remote controller....
Simple controllers
A simple disk array controller may fit inside a computer, either as a
PCI/
PCIe
PCI Express (Peripheral Component Interconnect Express), officially abbreviated as PCIe, is a high-speed standard used to connect hardware components inside computers. It is designed to replace older expansion bus standards such as Peripher ...
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 sl ...
or just built onto a
motherboard
A motherboard, also called a mainboard, a system board, a logic board, and informally a mobo (see #Nomenclature, "Nomenclature" section), is the main printed circuit board (PCB) in general-purpose computers and other expandable systems. It ho ...
. Such a controller usually provides
host bus adapter (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, and Delaware General Corporation Law, incorporated in Delaware. Intel designs, manufactures, and sells computer compo ...
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 (3 Gbit/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 have been available for a long time, they initially required expensive
Parallel SCSI
Parallel SCSI (formally, SCSI Parallel Interface, or SPI) is the earliest of the interface implementations in the SCSI family. SPI is a parallel bus; there is one set of electrical connections stretching from one end of the SCSI bus to the ot ...
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 only the addition of components to a running computer system. Components which ha ...
, much higher
MTBF.
Around 1997, with the introduction of
ATAPI-4 (and thus
Ultra-DMA-Mode, 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, for users wanting the fault-tolerance of RAID without investing in expensive SCSI drives.
Fast consumer 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 backup to finish writes interrupted by a power outage.
OS support
Because the hardware RAID controllers present assembled
RAID
RAID (; redundant array of inexpensive disks or redundant array of independent disks) is a data storage virtualization technology that combines multiple physical Computer data storage, data storage components into one or more logical units for th ...
volumes,
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
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 Software, computer software that is released under a Open-source license, license in which the copyright holder grants users the rights to use, study, change, and Software distribution, distribute the software an ...
driver, with extended features being provided through
binary blobs 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 a type of firmware used to provide runtime services for operating systems and programs and to perform hardware initialization d ...
before an
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
is booted, and after the operating system is booted,