IBM ServeRAID M1015 Part 1: Getting Started with the LSI 9220-8i
One of the most popular SAS 6.0gbps/ SATA III controllers for enthusiasts is the IBM M1015. In its native form, it is a very capable host bus adapter (HBA) based on the LSI SAS2008 chip. With the low price on places such as ebay (see here for an ebay search for the M1015) and an enthusiastic community that has learned to unlock many features, it has quickly become a go-to choice for low-cost SATA III connectivity. This series of articles was written by Pieter Schaar perhaps best known as the one behind laptopvideo2go.com. He has been a regular contributor in the STH forums and has been detailing his learning in threads such as these. I do want to note that these modifications are not endorsed by this site, LSI, IBM or others and the information herein is purely for educational purposes. If you do encounter problems, you are solely responsible for those consequences.
There are now a few parts to this piece including:
- IBM ServeRAID M1015 Part 1: Getting Started with the LSI 9220-8i
- IBM ServeRAID M1015 Part 2: Performance of the LSI 9220-8i
- IBM ServeRAID M1015 Part 3: SMART Passthrough on the LSI 9220-8i
Running a website that deals with having the latest drivers for download means a lot of data. The drivers are processed first, compressed then the relevant data extracted to make the driver posts and info for the driver database. I keep all these files on HDDs at home along with all my other interests and bits and pieces.
I have been toying with the idea of setting up a server to keep the files and have them safe(r) then just spread across various HDDs After some research I choose the IBM M1015 due to its versatility in many different guises. I already had a couple of SATA3 OCZ Solid3 60GB SSDs that I wanted to use to their full potential, after having discovered that the SATA3 based Marvel 9128 controller is fairly slow. (see below)
The system pull IBM M1015 cards can be had on EBAY for as little as ~$60, I’ve seen them in NZ for as little as US$32 (a steal) LSI versions (LSI9240-8i) retail over US$200.
After a considerable wait the M1015 turned up. I remembered to ask for a full height bracket to fit it in the case as standard from IBM servers they don’t come with one and these cards with cable attached can easily come out of the PCIe slot. (be warned)
The IBM M1015 is based on the LSI SAS2008 ROC controller, its LSI OEM name is LSI 9220-8i. This gives you:
- 8 internal ports (SAS2/SATA3 6Gbps)
- RAID 0,1, 10 and JBOD
- PCIe 8x v2.0
- No Cache
- No Battery Backup
There is one main difference differences to the M1015 and the LSI9240. The LSI 9240-8i is RAID 5 and 50 capable the M1015 needs an ‘M1000 Advanced Feature key‘. This key also allows SED drive security, probably more useful than RAID5 (as we’ll show later.) The M1000 key is not really worth it for the extras that you get.
I have successfully used the M5000 key (for the M5000 series controllers) and this also allows RAID 5 and SED. Below I’ll go through the card and what it can and cannot do, these are my opinions and others may vary, please feel free to comment and/or point out mistakes.
IBM M1015 in LSI9240 mode (as default/shipped)
Once the card is plugged in you are greeted after the System BIOS splash screen with the LSI BIOS/ Firmware screen. Here by pressing CTRL+H you can enter the OptionROM and make/remove Virtual drives in raid or JBOD, other functions can be done as well, but very limited. To get to the actual LSI OptionROM you need to first press whatever key combo to allow booting from a different device when the system BIOS splash screen is up, then select the LSI card as the boot device. The 9240 based OptionROM has a very basic GUI, it allows to setup up JBOD drives, setup RAID virtual drives, and make/remove Hotspares and etc.
It also allows you to set a boot device, but NOT a secondary boot device as with the LSI9211 (details to follow) The M1015 in LSI9240 mode (as it comes shipped) cannot passthrough ‘Unconfigured Good’ drives to the OS, they have to be a Virtual Drive or a JBOD, this is let down in my eyes as it ads an extra layer between the HDD and the OS, but only a small price in performance, which we’ll also see later.
Once you’ve setup your HDD’s to your needs, exit out and reboot. You will need to adjust the System boot order if you are booting from the LSI9240 card. I use Windows 7 as my main OS so I’ll discuss the features of this OS, but it does have support for most other OS’s. LSI have a utility called ‘MegaRAID Storage Manager’ MSM, which allows most things the OptionROM does.
Here you can also create/remove/adjust Virtual drives, make JBODs etc. This is a very useful utility and a must for any OS you are using. Newly setup drives may (should) be setup with ‘Disk Management’ in Control Panel, this will add any unconfigured HDDs, allow you to then format them. I also recommend that you delete the volume that the LSI9240 may have just created and set it up fresh as a simple volume, I have found some issues in trying to format the drive. But once this is done the drive is ready for whatever.
RAID choices in LSI9240 mode:
- RAID 0 – quickest but no redundancy
- RAID 1 – drives are mirrored. quick reads, slower writes
- RAID 10 – drives are mirrored then striped, quick with high amounts of redundancy
- RAID 5 – parity is distributed over the drives, data is still accessible (with a single disk failure) in degraded mode and an auto rebuild will begin.
RAID 50 as RAID 5 but with 2 sets, 2nd set to make the striping for extra speed.
RAID 5 and 50 I found are to be avoided on the M1015/LSI9240 as the LSISAS2008 is absolutely terrible at XOR (parity bit) processing. To use this in a server get a IBM M5015/LSI9260 based controller.
Ed. Just as a note, and this will be explained in detail in a subsequent piece, I also would shy away from RAID 5 or RAID 50 with the M1015 and other cards without battery backed (or capacitor/NAND backed) write cache.
RAID 0, 1 or 10, the LSISAS2008 excels at, there is very little processing to be done with this RAID only thing is send the right strip to the right drive. The M1015/LSI9240 has a great advantage over built-in motherboard controllers as it can have 8x 6Gbps ports running all at once. Intel Cougar Point (LGA1155) onboard 6Gbps controller can only take 2x 6Gbps drives. The other four run at 3Gbps.
Ed. One other great advantage, for those running ESXi servers at home, one can use VMDirectPath and an IBM M1015to keep the OS disk on the onboard controllers while passing the entire controller through to a virtual machine.
The onboard Marvell controllers even though they say they are 6Gbps tend to yield poor performance as compared to Intel or LSI-based 6Gbps controllers. You also cannot utilize non-OS dependent RAID across Intel and Marvell controllers so to set up arrays that are greater than four drives, you likely want to use a four or eight port controller like the IBM M1015.
We will look at performance in the next part of this guide.
Ed. feel free to look at a few threads on the IBM M1015 from the forums: