27

I thought I knew the difference between HBA and RAID.

In my mind, HBA is offloading from the main motherboard/CPU and is simply JBOD... usually has an external SAS ports, whilst a RAID card does the same job as HBA but adds all the nice RAID levels and possibly battery backup + other benefits.

After looking at the LSI website for a product, I see that they have HBA cards that have built in RAID, for example the LSI SAS 9211-8i Host Bus Adapter.

So... Clearly I am wrong!

What is the difference between an HBA card and a RAID card?

5
  • 1
    The headline for that card ...and integrated RAID... suggests it's a combination of the two.
    – user9517
    Jul 31, 2014 at 8:31
  • @Iain - but then surely it should be listed in their RAID section! ... Their HBA section shows quite a few cards with RAID - lsi.com/products/host-bus-adapters/pages/default.aspx#tab/… Jul 31, 2014 at 8:39
  • Speak to them about it then ?
    – user9517
    Jul 31, 2014 at 8:40
  • well, it isn't just a LSI issue, other vendors seem to be the same now... which is why I have the question asking and wondering if there is something I have overlooked. Jul 31, 2014 at 9:02
  • 1
    I know this is a slightly old thread by now, and the question is pretty well answered, but this pdf from Adaptec is really great at explaining the differences and is a great overall primer on RAID in general: adaptec.com/nr/pdfs/intro_raid.pdf
    – Tim Katje
    Jan 6, 2016 at 21:50

5 Answers 5

18

HBA just means 'host bus adapter', so it's anything that lets you connect to an external bus (although usually the term is applied to a something that lets you connect storage).

You might put one in to fit an external tape drive, or a SAN storage array. Usually, as in this case, it means the card isn't that intelligent. It supports only the simple types of RAID 0, 1, 10, and no onboard cache. So, I think you are more right than wrong.

13

It may not matter, depending on what your goals are... there are gray areas between both definitions - RAID controller and Host-Bus Adapter (HBA).

  • Understand that most high-quality servers have embedded RAID controllers today, so the need to select and shop for a separate RAID card has diminished as systems become more integrated...

  • RAID controller cards can have HBA-like functionality. Sometimes they'll have the ability to function in a JBOD mode or the ability to interface with an external tape drive, blurring the lines between RAID-only duties and the traditional purpose of an HBA.

  • HBAs may have basic RAID functionality. Sometimes purpose-built SAS HBAs can provide hardware RAID as an option, but will not perform as well as dedicated RAID controllers.

So to your question, if you're shopping or searching for a solution, buy the device whose primary functions align with what you're trying to do.

4
  • Could you explain with the following example: there is disk array, for example this one www8.hp.com/us/en/products/disk-storage/… and a server. It's necessary to connect server to disk array. In which one should I use HBA and in which one RAID?
    – ThatsMe
    Apr 9, 2015 at 0:07
  • For MSA and P2000 devices, you'd use a standard HP HBA. No RAID.
    – ewwhite
    Apr 9, 2015 at 0:25
  • Ok. The only thing I don't undestand - this HBA must be located in disk array or in server?
    – ThatsMe
    Apr 9, 2015 at 0:28
  • It's installed in the server.
    – ewwhite
    Apr 9, 2015 at 0:52
11

HBA: Device that plugs into your computer's bus and allows it to talk to hard drives. It may or may not provide RAID, acceleration, or other such features.

RAID controller: Device that provides RAID support, usually with hardware acceleration. It may or may not connect to your computer's bus. It may, for example, connect to a SATA port.

7
  • Hmm... I think I'm understanding you - So, the terms can be interchangeable but typically HBA always offloads where as RAID controllers are typically higher end with added features but not always offloaded? Jul 31, 2014 at 10:07
  • It used to be that HBAs typically didn't offload and RAID controllers always did. But then chipset manufacturers decided to announce that they had "RAID controllers" on their chipsets (even though there was no offloading) and some manufacturer decided "HBA" sounded like a cool name for their accelerators. Jul 31, 2014 at 10:08
  • So... Basically... They are completely interchangeable and I should always look at the specification and not the name of the product!? Jul 31, 2014 at 10:27
  • @WilliamHilsum No... just buy what you actually need.
    – ewwhite
    Jul 31, 2014 at 13:22
  • @eewhite - I meant that the terms HBA and Raid are interchangeable, so, I can actually just buy what has the specs I need and not look at the name of the product... Jul 31, 2014 at 14:23
10

HBA stands for "Host Bus Adapter". It basically identify a card whose role is to interface the main host bus (ie: PCI-E) to other kind of buses (eg: SAS, SATA, USB, etc). As such, an HBA fulfills two different but correlated roles:

  • from the point of view of the main host adapter, it simply is a downstream adapter card that exports some resources;
  • from the point of view of the connected devices, it is a controller and/or arbiter.

This means that a pure HBA has limited intelligence, mainly used to enumerate/control/export the attached device to the main host CPU.

A RAID card is a disk-specific, higher-end evolution of a disk HBA. A pure RAID card hides the single devices from the main bus/CPU, exporting a virtual device with a specific RAID personality (ie: RAID0, RAID1, ecc).

So, given the above definitions, why there are RAID-capable HBA cards and pass-through RAID cards that export single devices to the OS? Because nowadays many HBA/RAID cards are based on similar (if not identical) chipset, with the main difference residing in the firmware images they run. For example, some LSI cards can be switched in IT (pass-through) mode rather than RAID mode (and vice-versa) by simply loading the appropriate firmware.

Moreover, RAID0/1/10 personalities are sufficiently simple to be implemented even in so-called HBA-only cards. On the other hand, RAID5/6 and BBU writeback cache are features commonly reserved for higher-end RAID cards.

2

HBA is an interface to a scsi protocol bus (whether that's parallel scsi, SAS or FC - it's just that we got out of the habit of calling parallel scsi controllers "scsi HBAs" a couple of decades ago.)

RAID controllers have more smarts and more onboard CPU to perform raid function - they may or may not have scsi interfaces on the drive side. (SATA is a subset of scsi)

For most modern applications where you need raid functionality, you're better off with a HBA and software raid.

The CPU loading for that is trivial and the drives are interchangeable if the controller fails (vs hardware raid usually needing the exact same model controller). On top of that, direct access usually allows better monitoring of drive health than the often-rudimentary monitoring on most RAID controllers.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.