Implementing RAID 0/1 using USB 3.0 - Embedded.com

Implementing RAID 0/1 using USB 3.0

Introduced in 2008, USB 3.0 http://en.wikipedia.org/wiki/USB_3.0 is the third major version of the Universal Serial Bus (USB) interface for computer connectivity. USB 3.0 adds a new transfer mode called “SuperSpeed” capable of transferring data up to 5 Gbit/s. (For reference, USB 2.0's top transfer speed is 480 Mbit/s.)

USB 3.0 provides an alternative RAID http://en.wikipedia.org/wiki/RAID (redundant array of inexpensive disks) implementation for applications like Server Virtualization that have relatively less data to handle.

Server Virtualization is the process of creating multiple virtual servers from a single physical server. The benefits of server virtualization are well established in the industry today and can be summarized as follows:

  • Lower IT asset cost
  • Reduced energy consumption
  • Lower operational costs
  • Less real estate required (i.e., the real estate required to accommodate multiple physical servers)

Server virtualization requires virtualization software based on a hypervisor that serves as a platform for the multiple operating systems running on the multiple virtual servers created. It is important to ensure that the hypervisor runs on a fast dedicated boot disk to reduce boot time. The boot disk is typically separated from the main storage in a server.

The boot disk configuration: RAID 0 or RAID 1
Hypervisor data has to be kept separate from the main storage in a server. It is common to use two disks to store hypervisor data in order to attain higher reliability and availability for the hypervisor boot image.

The two disks containing hypervisor data are combined in a RAID scheme. These disks are connected to a RAID controller that, in turn, communicates with the Platform Control Hub (PCH) of the server.
The RAID level can be either RAID 0 or RAID 1:

RAID 0: Virtualization data is interleaved between the two disks (striped). This improves performance but provides no tolerance to faults (i.e., any disk failure causes the storage array to break down).

Figure 1: Basic RAID 0 configuration

RAID 1: Data is written identically to the two disks (mirrored ). Both disks service read requests, and write requests update both disks. Thus, RAID 1 provides tolerance to single disk fault.

Figure 2 : Basic RAID1 configuration

Traditional implementation
A traditional RAID implementation (Figure 3 ) requires the following components:

  • RAID controller for controlling the disks with hypervisor http://en.wikipedia.org/wiki/Hypervisor data and also for communication with the PCH of the server
  • SAS or SATA drives for storing hypervisor data

Figure 3: A traditional RAID implementation

The RAID controller manages the physical drives (in this case, the SAS/SATA drives storing hypervisor data) and presents them as logical units to the computer’s host adapter. The RAID controller provides two interfaces:

  • Back-end Interface: Communicates with the controlled disks. The protocol used is usually ATA, SATA, SCSI, FC, or SAS
  • Front-end Interface: Communicates with the host adapter. The protocol may be the same as that of the back-end interface or different.

In terms of its architecture, this implementation assures good performance. However the question remains whether this approach can meet application requirements while achieving price optimization.
A RAID controller is useful for handling terabytes of data, as per the need of traditional RAID applications to connect individual SAS/SATA drives, each containing a large volume of data. In the case of virtualization, the hypervisor images are typically 3-4 GB. Hence, using a traditional RAID controller with SAS/SATA drives is overkill. Moreover, SAS and SATA drives consume a lot of power and occupy significant board space.

This traditional method of implementation has continued because of the lack of a viable alternative that can handle the requisite data volume at an acceptable transfer speed without impacting boot time. To be practical, an alternative approach would need to fulfill data transfer speed requirements while lowering system cost, consuming less power, and occupying less space.
RAID-on-Chip boot disk with USB 3.0
As noted earlier, withoutany modifications or changes USB 3.0 provides an alternative RAIDimplementation for applications like Server Virtualization that haverelatively less data to handle. The following table compares USB 3.0with different versions of SATA. Although USB 3.0 is slower than thelatest revisions of SATA, it still provides sufficient speed to run aHypervisor RAID 0/1 implementation.

Table 1: USB and SATA performance comparison

Withthe release by Intel of two new server chipsets – Grantley andBrickland – the use of USB 3.0 in such configurations becomes even moreattractive and cost effective.

Grantley is expected to be usedin general purpose servers aimed at low to mid-tier price points whileBrickland is aimed at high-end, high availability server marketsegments. The latest servers with these chipsets would have the CPU coreupgraded to the IVY Bridge, and the corresponding PCH would be PantherPoint with USB 3.0.

Now any SuperSpeed (USB 3.0) peripheralcontroller with mass storage support has the processing power and memoryto behave as a RAID-on-Chip controller. This RAID-on-Chip controllerwould connect to the downstream USB 3.0 port of the PCH (Panther Point).Data transfers will happen between the PCH and the boot-disk atSuperSpeed rates (5 Gbits/s) using the USB 3.0 protocol. TheRAID-on-Chip controller can be programmed for implementing both RAID 0and RAID 1.

Today, USB 3.0 peripheral controllers are available with the following features:

  • ARM core processors
  • SRAM on the order of a few hundred Kbs
  • Integrated storage host controllers supporting two or more storage ports to add the latest standards of SD memories

The Secure Digital eXtended Capacity (SDXC) format, announced in January 2009 (i.e., version 3.01 of the SDspecification) can support up to 2 TB (2048 GB), compared to a limit of32 GB for Secure Digital High Capacity (SDHC) cards. SDXC cards canprovide interface speeds up to 104 Mbyte/s for a 4 bit UHS-I (ultra highspeed) bus.

With its high interface speed and extended memorycapacity, version 3.0 SD cards provide a viable alternative to SAS/SATAas the RAID storage media for virtualization applications. Thus, asshown in Figure 4 , a USB 3.0 peripheral controller along withdual SD cards is an effective choice for secondary storage media inservers, providing RAID 0/1 configuration of mission critical softwarelike a hypervisor.

Figure 4: Combining USB 3.0 and dual SD card for secondary storage in servers

The advantages of this approach include:

BOM cost savings
– Replacing the RAID controller with a USB 3.0 RAID-on-chipimplementation and replacing the SAS/SATA drives with SD cards leads to adrastic drop in BOM cost primarily because SD cards provide lessexpensive storage media in comparison to SAS/SATA drives. Currently, atypical 32 GB SAS drive is priced in the range of $34-$38 (1 Ku price,as listed by catalog vendors).

In comparison, a 32 GB SD card ispriced in the range of $23 -$27 (again, considering pricing for1Ku). This leads to approximately a 30% cost savings only consideringthe storage media. Moreover, with mass adoption of USB 3.0, the price ofperipheral controllers with USB storage class is expected to drop belowthe price of 1- and 2-port RAID controllers traditionally used for RAID0/1.

Board space savings
– The size of a typical RAIDcontroller is 100 cm2. The size of an individual 32GB SAS drive is 67cm2. Thus, the total board-space occupied by a traditional RAIDcontroller approach is 234 cm2. In comparison, the size of a USB 3.0based module is 25 cm2. This savings of over 200cm2 is an importantbenefit given the space limitations of servers. As an example, considerthe blade servers that already have one or more SAS/SATA drives andcannot accommodate any more.

Power savings – A majordisadvantage of SAS/SATA drives is their high power consumption. Eachdrive requires 5-10 W in an active state and 1-2 W in an idle state.Thus, two SAS/SATA drives would consume up to 20W power when active. Incontrast, two SD cards in active state consume just 1 W power.
 
Anirban Sengupta works as a pricing manager at Cypress Semiconductor. He holds a BE inElectrical Engineering from National Institute of Technology , India,and an MBA in Marketing from Symbiosis Centre for Management and HumanResource Development (SCMHRD), Pune, India.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.