Home > Servers > Understanding RAID Controller and RAID Performance

Understanding RAID Controller and RAID Performance

Server can be provisioned with disk space from either Storage ( SAN , NAS , NFS etc .. ) or DAS ( Direct Attached Storage ) . There are lot of posts from the Storage Vendors on the Performance considerations that needs to be accounted in a Storage environment to achieve desired level of performance but i have not come across many articles on Performance considerations for DAS Environments . This blog post will cover some basic factors that has to be considered in a DAS environment .

RAID – Redundant Array of Disks are used in Servers and Storage to server three main purpose

  1. Increasing Reliability and providing Fault Tolerance
  2. Creation of large storage Volumes
  3. Increasing I/O capabilities and throughput

In Storage Systems , RAID is taken care by the Storage System whereas Servers come with RAID Controllers which help in providing RAID capabilities to local disks .

Overall Performance of RAID arrays in Servers are dependent of the below factors

  • RAID Controller Performance
  • RAID Level
  • Number of Disks and Drive Performance
  • Storage Interface Performance ( SAS vs SATA )

I will stick to explaining briefly understanding RAID Controller performance in this post as the other three factors are same as in Storage environments .

RAID Controller Performance :

Two important factors in a RAID controller that contributes to the performance of the RAID controller  are Processor and the associated Read / Write cache . Processor is responsible for processing all RAID operations such as write operations for redundant RAID modes  and calculating Parity bit that is written onto disk based on RAID level which in future would be used in rebuilding of data  based on parity in case of drive failures .

Cache :

Amount of Cache available on RAID controller varies with vendors and we will have to optimally split the cache into Read Cache and Write Cache  based on our requirements. Read Cache are helpful in scenarios where the data is read sequentially . RAID controllers will pre-fetch data from the disk the moment it detects sequential data and store it in the cache which will in turn mean faster response time .

Read Cache might not be effective in scenarios where the Reads are random . Also , Please note that the read performance of the disk arrays would be far better than writes ( due to associated disk penalties )  and hence most RAID controllers are configured for 25%:75% ( Read Cache:Write Cache).

As in Storage environments , Write cache are used as buffers wherein the host will write data onto the cache and acknowledgement will be sent from the cache . RAID controller will later write the data from Cache onto Disks .This helps in achieving higher disk throughput . Various techniques write like write-coalescing and command reordering are employed  to write data back to disk effectively .

Note that the acknowledgement is sent from the cache and it is imperative to write back the data to the disk to maintain data integrity . To maintain this integrity in cases of sudden power failure or a server crash , cache is generally backed by battery and it is advisable not to use cache in cases where there is no battery backed cache .

Categories: Servers Tags: , ,
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: