17

Do any hardware RAID controllers available today support TRIM?

If not, do any manufacturers have target dates for supporting TRIM?

Should I even care about TRIM for SSDs installed in performance-sensitive workstations?

Before you suggest it, yes software RAID would sidestep the issue, but my requirements do not allow software RAID.

edit: The answer appears to be "no RAID controllers support TRIM" at the current date.

update: Intel 7 series motherboards do support RAID 0 TRIM as of August 2012. Probably even more vendors support this now in 2015

dss539
  • 272
  • 1
  • 3
  • 10

4 Answers4

18

I don't know of any RAID controller that supports TRIM commands.

As your Wikipedia link explains, the TRIM command provides a way for the file system to tell an SSD when a block of data is no longer needed. For example, after a file is deleted.

Life gets more complicated if you have a RAID layer between the file system and the SSDs. First you need to update the RAID software (or firmware) to accept TRIM commands from the file system. Then the RAID layer has to figure out what to do with them. For RAID 1 (mirroring) it would be pretty straight-forward. RAID would just pass the TRIM commands to the underlying SSDs.

For parity-based RAID, however, there's not much you could easily do with TRIM commands. Even when the file system is done using a block, you can't TRIM it, as RAID needs the contents of the block for parity calculations. RAID could subtract the block from the corresponding parity block and then TRIM it, but you've now added 3 extra I/O operations so you can get an unknown gain from issuing the TRIM command. I can't see how this would be worth it.

All in all, the SSD TRIM command is still quite new. Many SSDs don't support it, and I'm not even sure how many file systems have support for it. So it is likely to be a while before RAID systems start supporting it.

Keith Smith
  • 779
  • 6
  • 7
  • Windows 7 supports it, according to my searching. I am interested in RAID 0 TRIM support. Yes, TRIMing RAID 5 could be quite complicated. Thanks for your thoughts. – dss539 Jul 09 '09 at 16:46
  • Bah, I would upvote your answer but my rep is too low. WTF happened to the rep I had transferred over based on my Stack Overflow rep? ugh – dss539 Jul 09 '09 at 16:46
  • 1
    @dss539 well if its any consolation, I upvoted it. It was a damn good explanation ;) – drgncabe Jul 10 '09 at 02:48
0

Couldn't metadata be incorporated into the stripe by the controller to make TRIM useful?

e.g. Have a counter in each stripe which keeps track of how many blocks are in use (based on previous write & trim requests from OS). When it reaches 0, send a TRIM command to all drives for the blocks in the stripe.

  • You're proposing to decrease the life of the drive with an extra write every time something is deleting on the drive while simultaneously decreasing the storage capacity of the drive array? Compound that with recalculating parity for RAID5 which would require multiple reads and *another write* operations. – Chris S Sep 03 '10 at 23:31
0

The latest Rapid Storage Technology (RAID) driver version 9.6.0.1014 driver/manager set for the ICH's supports TRIM...

pQd
  • 29,981
  • 6
  • 66
  • 109
  • 10
    This is not correct. It supports TRIM for drives NEXT TO a RAID, not IN a RAID. For example, you have 2 1TB drives in RAID, and then a SSD by itself, all three drives connected to the Intel chipset. The intel controller would be in RAID mode, but the SSD itself was not in a RAID. Notice how the page specifically says: **TRIM isn't supported for SSDs participating in a RAID array** – davr May 14 '10 at 04:12
  • downvoted for incorrect information – rmalayter Sep 07 '11 at 14:59
0

I have not yet figured out how to reply to a specific post but I believe davr is wrong.

According to the help file of my 9.6.0.1014 install of Intel RST it supports TRIM for RAID arrays. Although it's in Swedish, a rough translation follows:

RAID-activated systems [Some standard features] Our software also supports the following: [another feature] • TRIM (Microsoft Windows 7* only) This function supports SSD according to ATA-8. This optimizes writes, helps devices to lower wear and keeps unused space as large as possible.

Please note that this is stated under the RAID heading. After that, there's a heading regarding AHCI. I interpret that as support for trim under RAID - note that there is no mention about TRIM under AHCI.

method
  • 3
  • 4
  • 1
    They aren't posts, this is **not** a forum. You can't comment on other Answers yet because you're new. Please see the FAQ (upper right) for details. Welcome to Server Fault! – Chris S Sep 03 '10 at 23:28