IBM M1015 SAS/SATA controller
IBM M1015
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 HDD
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 really just marketing rubbish. (see below)
These 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 LSI9240-8i which has the LSISAS2008 ROC controller, its LSI OEM name is LSI 9220-8i
Which means:
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.
LSI9240 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.
But to get to the actual LSI OptionROM you need to first press what ever 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 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 all alternate 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 what ever.
RAID choices in LSI9240 mode:
RAID0 quickest but no redundancy
RAID1 drives are mirrored. quick reads, slower writes
RAID10 Drives are mirrored then striped, quick with double redundancy
RAID5 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.
RAID50 as RAID5 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 ccntroller.
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 Motherboard inbuild controllers as it can have 8x 6Gbps ports running all at once.
LGA1155 Mobo’s Intel controller can only take 2x 6Gbps drives all the rest run at 3Gbps.
The Marvel controllers even though they say they are 6Gbps in reality are plain rubbish and very poor performance is achieved.
Performance
The below performance results were made with the following setup:
ASROCK P55 Deluxe 3 Motherboard
Xeon X3470 ES CPU @ 2.93Ghz
16GB 1333Mhz DDRIII RAM
IBM M1015 SAS/SATA controller
Windows 7 x64 Ultimate
To test the throughput of the M1015 I attached 4x 60GB OCZ Solid3 SSD’s (SATA3, 6Gbps), these are rated at 450MB/s write and 500MB/s read
I used them in either 4 drive RAID0 for maximum speed or 4 drive RAID5 for redundancy and check the Parity generating speed of the LSISAS2008 ROC.
I tested with 4 of the better known benchmarkers to give an overall view of how they perform.
HDTach, Atto, AS SSD, and Anvil, each does a particular thing wel, so with 4 of them I hoped I covererd all bases.
I also tested the Intel ICH10R controller on the ASROCK Motherboard,as this can take 6x SATA drives, did not test the Marvel 9128 also included on the Motherboard as this can only take 2 drives.
- M1015 R0 HDTach
- Intel R0 HDTach
- M1015 R5 HDTach
- Intel R5 HDTach
- M1015 R0 Atto
- Intel R0 Atto
- M1015 R5 Atto
- Intel R5 Atto
- M1015 R0 AS SSD
- Intel R0 AS SSD
- M1015 R5 AS SSD
- Intel R5 AS SSD
- M1015 R0 Anvil
- Intel R0 Anvil
- M1015 R5 Anvil
- Intel R5 Anvil
- 9240 single JBOD
- 9240 single RAID0
- Intel ICH single drv
- Marvell single drv
So looking at the above the RAID0 performance is very respectable, the bottom charts are the OCZ Solid 3 by it’s self on the controllers, from the LSI9240, Intel ICH and Marvell 9128
Adding more drives to the Array scaled the performance very nicely, ie 4x SSD’s nearly achieve 4x performance in RAID0i
The ICH10R was very good at the higher que depths, but the LSI9240 was king of over all speed.
Intel will be able to overtake these figures once their Chipsets support more than 2 devices at 6Gbps.
As currently the P55 Chipset can only run at SATA2 speeds at 3Gbps max throughput.
Also the LSI9240 ofcourse needs no CPU help to do it’s RAID functions as can be seen the HDTach charts, where Intel relies solely on the CPU to do calculations.
Another revelation is the very lacklustre performance of the Marvell 9128, really a joke calling it self a SATA3 controller, the SATA 2 Intel controller ran circles round it.
LSI9240 Raid5 on the other hand did very well in the read tests, obviously the LSISAS2008 ROC can suck the data of the Disks all 4 at once.
BUT when it comes to writing data to the disks, the performance is terrible to say the least.
Looking at the LSI spec sheet for both the LSI2008 and LSI2108, the controller is Hardware assisted software RAID, I would have though better performance from it.
I can only say AVOID these cards for RAID5, unless you have a say a video server where only reads are done.
Any writing will just frustrate the user no end in its subpar performance.
If someone knows why this is, please let me know, I’ve tried all the tricks that I know of.
Speaking of which Diskcache was turned off for all tests on the M1015 as this affects Write speeds in RAID0 drastically
From mediocre to the rather good, but this made no difference for RAID5 performance.
The lack of Memory available to the ROC seems to be the issue, as the ROC cannot process any data and store it, so I assume parity needs to be handled on the fly.
SMART passthrough
A big issue for some.
In RAID SMART is not able to be passed through at all.
At this stage TRIM is also not able to passthrough on LSI controllers in any setup.
SMART is how ever able to passthrough in Single Drive (JBOD) mode, but it does need an additional setting in the Smartctl monitoring application, I had to use the ‘-d sat’ command to allow it to find the drive and read the SMART info.
This will need to be allowed for in Linux based servers
IBM M1015/LSI9240 controller
C:Program Files (x86)smartmontoolsbin>smartctl -a sdc -d sat
smartctl 5.42 2011-10-20 r3458 [i686-w64-mingw32-win7(64)] (sf-win32-5.42-1)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net=== START OF INFORMATION SECTION ===
Device Model: OCZ-SOLID3
Serial Number: OCZ-JMVY052CY854YF72
LU WWN Device Id: 5 e83a97 f1b1ebc34
Firmware Version: 2.15
User Capacity: 60,022,480,896 bytes [60.0 GB]
Sector Size: 512 bytes logical/physical
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 8
ATA Standard is: ACS-2 revision 3
Local Time is: Sun Dec 04 10:08:57 2011 NZDT
SMART support is: Available – device has SMART capability.
SMART support is: Enabled
Smartctl is a very good utility to check on SMART called SmartCTL (link above)
In Windows you can right click on drives to check the SMART settings/readings, very handy.
Below are the Intel and Marvell controllers not needing the ‘-d sat’ option, I think it’s due to them possibly being in the smartctl database.
Intel ICH10R controller
“C:Program Files (x86)smartmontoolsbinsmartctl.exe” -a C:
smartctl 5.42 2011-10-20 r3458 [i686-w64-mingw32-win7(64)] (sf-win32-5.42-1)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net=== START OF INFORMATION SECTION ===
Model Family: Western Digital AV SATA
Device Model: WDC WD3200AVJS-63B6A0
Serial Number: WD-WMAT16120461
LU WWN Device Id: 5 0014ee 056410b70
Firmware Version: 01.03A01
User Capacity: 320,072,933,376 bytes [320 GB]
Sector Size: 512 bytes logical/physical
Device is: In smartctl database [for details use: -P show]
ATA Version is: 8
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Sun Dec 04 10:28:51 2011 NZDT
SMART support is: Available – device has SMART capability.
Enabled status cached by OS, trying SMART RETURN STATUS cmd.
SMART support is: Enabled
“C:Program Files (x86)smartmontoolsbinsmartctl.exe” -a G:
smartctl 5.42 2011-10-20 r3458 [i686-w64-mingw32-win7(64)] (sf-win32-5.42-1)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net=== START OF INFORMATION SECTION ===
Model Family: Fujitsu MHV
Device Model: FUJITSU MHV2100BH
Serial Number: NW9GT67281G2
Firmware Version: 0085002A
User Capacity: 98,522,403,840 bytes [98.5 GB]
Sector Size: 512 bytes logical/physical
Device is: In smartctl database [for details use: -P show]
ATA Version is: 7
ATA Standard is: ATA/ATAPI-7 T13 1532D revision 4a
Local Time is: Sun Dec 04 10:31:38 2011 NZDT
SMART support is: Available – device has SMART capability.
SMART support is: Enabled
This is a plus for Intel and Marvell
ZFS and UNRAID and other Software OSs
Running the IBM M1015 in LSI9240 mode means that the drive has to be in a Virtual Disk or a JBOD.
It cannot be ‘Unconfigered Good’ meaning an extra layer is added between the Drive and the OS
So running in LSI9240 mode is not recommended in this mode, I’ll cover running the M1015 in LSI9211 IR/IR mode in another article.
The more hardware checking and attempting to fix errors the harder it is for these RAID specialised Applications to do their thing.
I’ve not had the ability to check on other Linux or FreeBSD OS versions
LSI has drivers for CentOS, Debian, Fedora, Mandrive, , RHEL, Scientific Linux, SCO Openserver, Slackware, SLES, Ubuntu, Solaris, Netware and VMWare.
Conclusion
SAS2/SATA3 raw Speed – yes
Running SAS drives – yes
Running more than 6 drives but want them on same controller – yes
Running RAID5 – no
Running RAID0 in other than Windows – yes (Intel RST only works in Windows)
Mainstream Windows use – no (Intel does a good enough job)
Home server use – yes (LSI has very good parity checking and ability to run Hot spares etc, Auto rebuilds etc)
ZFS/UNRAID etc – yes but only use in LSI9211-IT mode, to bypass RAID BIOS.
Now that I’ve played with this card and know it’s weaknesses and strengths
I have the IBM M5015 cached proper RAID5/6/50/60 capable controller to build a spindle HDD file server.
Ofcourse I’m going to need a new Motherboard with more PCIe 16x/8x slots to house both cards and the Geforce GTX470
But when done a very powerful/fast/data safe machine has been build.




















