ProLiant Servers - Netservers

Smart Array P800, SSDs and ATA-cmd TRIM w/ Windows Server 2008

Go to solution
Markus Vollmer
New Member

Smart Array P800, SSDs and ATA-cmd TRIM w/ Windows Server 2008

Hi there,

does the Smart Array P800 controller support SSDs under Windows Server 2008 (w/o "R2"!)?

A general problem of SSDs seems to be the so-called "performace degradation", i.e. over time, the performance decreases due to the special memory allocation within a SSD. The core seems to be that the drive doesn't know which blocks have been deleted and when the space is needed has to first prepare it for further use. The solution is an ATA command called "TRIM" which tells the drive exactly which sectors aren't used anymore, so the drive can prepare itself and optimize its memory allocation.

If I got that right, the OS has to issue the TRIM command and the controller has to pass it on to the drive.

Researching the web, I came to the conclusion that
a) the ATA command TRIM is issued only unter Windows Server 2008 R2 (Release 2) oder Windows 7
b) even if run under one of the afore mentioned operating systems, if run in a RAID config, the command normally isn't passed on to the disk

Now, are my findings correct? Does it make sense to run SSDs under Windows Server 2008 and a HP SA-P800? Does the P800 driver somehow recognize SSDs and handle them in a special way? Is there a setup option for the P800 to adapt to SSDs?


Almantas Klimas
Occasional Advisor

Re: Smart Array P800, SSDs and ATA-cmd TRIM w/ Windows Server 2008

Very good question...

For more information about TRIM enter "SSD TRIM wiki" on Google and it will be the first link.

I tested SSDs with P800 (and with MSA70 and DS2700 arrays) and will share some experience below.

No problems to use Smart Array P800 with HP, or even Intel or Samsung SSD drives, under any OS. Smart Array application correctly shows the SSD drive names, sizes, firmware versions... this was very positive findings for HP, and the very correct behaviour - leave the choice to the customer and compete on quality (this positive finding was very opposite from their HP ProCurve policy where they lock in customer to use only HP SFP modules, many customers simply avoid HP switches because of that...).

But there is no SSD performance optimizations with P800 - SSDs are seen and used only as ordinary SATA drives.

The random IO performance is very good but the conlusion is that P800 is too old to be used for SSD - the controller quickly become the bottleneck. Just 2 or 3 drives will saturate the IO capabilities of this controller, and additional drives will only add capacity but not performance. Also P800 only supports SATA at 1.5Gbps. Given the high price for SSD drives, you need to buy P410 (internal disks) or P411 (external disks) new generation SAS controller. These are the best controllers HP offers today, and they support SATA at 3Gbps. The new controller will cost less than one SSD drive... if you only use 4 or 8 drives it can still be that the best performance option is to buy multiport SATA adapter without any RAID.

If using Samsung or Intel MLC SATA drives, that have good capacity/price ratio, the total write amount over one year must be taken into account, for example Intel SSD 160GB MLC drive limit is 35TB total writes to one drive, after that drive will fail. If you create RAID0 with 10 drives then the total write amount will be 350TB. RAID5 is not an option for MLC SSD because then the total array can sustain only less than 35TB of writes. The good thing is that if you run diagnostic report on Smart Array controller (from Diagnostic tab on Smart Array Configuration utility), you will be able to find in the list how many bytes were written to the disk from the manufacturing date. So I noted, for example, that my datawarehouse application did 2.8TB writes in 2 years to each disk (in RAID10 configuration). That means MLC drive will be just OK for such type of load, and will sustain at least 10 years. BTW, SLC drives have 2PB (petabyte) write limit, IO speed is about the same, and they are several times more expensive per GB.

I am big HP customer running hundreds of HP servers in several data centers. My wishlist and questions would be:

1. How do I upgrade third party SSD drive firmware in Smart Array controller. At least I need support for Intel SSD drives, please. Otherwise drives can only be upgraded manually - each one must be taken away, inserted into notebook, upgraded, then back to the shelf. If there are 100s of drives....
2. SATA TRIM command. i do not believe it will work on OS earlier than W2008 R2 because there is no OS support in earlier OS versions. Controller must properly pass this command from OS to the all involved drives. As Smart Array present itself as SCSI disk to OS side, I was not able to find the information if SCSI and its driver has the equivalend of TRIM command in Windows 2008 R2. Seems that only SATA AHCI driver support TRIM. But maybe SmartArray can emulate SATA device to OS and then get the TRIM command from Windows SATA driver....

Anyone from HP Smart Array software developers - please comment on this:
- When will SSD TRIM command be implemented in Smart Array firmware/OS driver?
- Are there any dangerous options that will do a lot of writes to the SSD drives in the background? For example, "surface check" when idle, etc. Any advice for configuration?For example, what about stripe sizes in RAID configurations? If I do write of 4KB size what will be the total write if stripe size is 128KB? What about sector alignment issue, as probably SSD have internal 4KB structure, like modern hard disks with 4KB sectors?
Almantas Klimas
Occasional Advisor

Re: Smart Array P800, SSDs and ATA-cmd TRIM w/ Windows Server 2008



1. HP now have its own SSD on offer, so questions about firmware update integration and wear limits are solved.


2. Do not use P800 or P400, they are too slow. Use only so called 12Gbps SAS controllers.

P430 for internal drives.


3. Do not use SAS extenders and external enclosures.  Buy the DL380G8 with 16 drives front, connect 8 drives per one P430 adapter  (the DL380 G8 with 25 drives front has buit-in SAS expander that will slow down SSDs). Other option is to connect SSDs to H220 HBA if no RAID needed.


4. The best performing solution - avoid SAS or SATA protocols completely, and connect flash SSD directly to PCIe bus. You will get x10 performance and lower latencies... HP calls them IO accelerators.

Of course, cost much more compared to SATA SSD.


Unfortunatelly, still no TRIM support on SmartArrays.