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:
IBM M5015 experiences
IBM M1015 Firmware – What to flash with
IBM M1015 Experiences
RAID 5 – Parity is distributed over the drives, one drives fails the data is compressed to remaining working drives until broken drive is replaced, then auto rebuild will begin.
Compressed? No, the data is most definitely not compressed. When a drive in a RAID5 fails nothing happens to the data on either of the drives.
Sorry about that, my meaning of compressed = the remaining data, that was over over x-amount of drives now all gets shifted to x-1 amount of drives, the volume is compressed to one less drive.
Yes no actual compression of files goes on, just the volume (array) is compressed.
Its not even compressed either technically as the Parity of the remaining drives is used to rebuild the data of the broken drive.
Just a thought.
This all needs to fit on the array with one less drive, so it would seem running a RAID5 array with 66%+ 3(drive RAID 5) full is not a good idea, as the data being rebuild may not fit on the remaining drive.
But with the M1015 and RAID5, you’d best avoid rebuilding as it will take a ilfetime to do so :)
spazoid: Fixed in the above.
Pieter: Typically a RAID 5 array rebuilds when there is another drive that the degraded array can use to rebuild. The concept of hot spares is used to provide an available disk to automatically start the rebuild process as soon as a drive falls out of the array. On controllers with many disks you typically can set global spares or spares dedicated to certain arrays letting you fine tune which drives can be used by which arrays to rebuild.
If you can afford Hot Spares and running RAID5 on a M1015 then you can afford a IBM M5015 and do it properly.
Then you can happily watch the rebuild within your lifetime :D
Pieter, your view of RAID5 is completely wrong.
Data is neither compressed nor does the volume shrink or anything.
“This all needs to fit on the array with one less drive, so it would seem running a RAID5 array with 66%+ 3(drive RAID 5) full is not a good idea, as the data being rebuild may not fit on the remaining drive.”
This is complete rubbish.
http://en.wikipedia.org/wiki/Raid5#RAID_5
It’s unbelievable that people are writing articles without the slightest clue.
Crikey I’m really getting it at the moment.
My background in RAID goes back sometime.
It first started with I got hold of a couple of the very first 10k RPM Cheetah’s and a 64MB Cached DPT controller (SCSI)
I only dealt with RAID5EE, I have become so used to this that what I referred to above is actually RAID5EE, not standard RAID5 my apologies.
RAID5EE has the spare drive distributed accross all the drives, so when a drives fails the data from faulty drive is compressed onto the remaining drives and becomes a standard RAID5 array.
Yes I’m not perfect, but the whole point of the LSI9240 is not to go near RAID5 at all, unless you have data that hardly gets written to.
Which one should I get? There is the 46M0831 and 46M0861 on eBay. What is the main difference? Will either one support hdd’s that are 3 and 4 TB?
I plan on buying one for use on my Sabertooth X79 motherboard and I7-3930K for ESXi 5.1. Think it will work?
I want to use my current 6 SATA hdd’s (3 and 4 TB each) in raid 10 and one 256GB SSD in non raid. Is this possible?
Also, I read in the manual it’s actually only SATA2 (3GB/s) for SATA drives. You get 6GB/s only with SAS drives. Is this correct?
Hello
Can IBM 1015 be used in PCI-e x16 slot?
Yes. It is a PCIe x8 card so it works in a x16 slot.
HI,
The SATA 3 (6Gb/s) versus SATA 2 (3Gb/s) is critical for me. Can someone provide a definative answer to this question?
I will be using SOME RAID card with 8 ports to RAID 0 2 sets of 2 SSDs
and 4 stand alone 6Gb/s 3/4 TB drives that my motherboard only runs at SATA 2 (3Gb/s) speeds. Why the expensive ASUS P9X79 DELUX was made to use 2 entirely different RAID technologies for each of the 2 sets of 2 drives (either RAID 0 or 1 only) and then leave 4 other (6Gb/s) drives at SATA 2, is totally beyond me!
Thanks a lot,
John Leo
If you need RAID 5 you should get a proper RAID controller, not a HBA controller like 2008/9240.
RAID 5 needs computing power and a proper RAID controller has an on board CPU dedicated to distribution of data and calculation of parity and the result of this is normal or close to normal speed.
The CPU on the LSI 2008-series cards are not meant for handling RAID 5 and using it for RAID 5 will be a slow experience.
What would be the cheapest motherboard (2nd hand even) which I could use to flash this? I can’t get it to flash in an HP Gen8 Microserver.
Is the version of the megaraid software specific to the type of rom you have flashed, I ask because I have a 1015 and I tried it with the latest version from broadcom and it didnt work but the previous version which had the LSI logo did.
By the way I’m talking about the megaraid software not working not the card which is functioning fine :)
Hey
I just checked the links on the first page
For some reason, they don’t seem to lead to anywhere
A note about the low profile bracket situation
The LSI ServerRAID M1015 cards are equpped to an internal x8 PCI-E slot, and don’t have the space for a full profile bracket, so I’d say try to ask for one, but the seller most likely is not going to have one.