On 11-08-11 03:59 PM, Douglas Gilbert wrote:
On 11-08-11 11:18 AM, Prof. Dr. Klaus Kusche wrote:
I'm looking for ways to hook up fast 6 Gb/s SATA SSD's (non-RAID!)
to (server or i-X58) mainboards which do not have native 6 Gb/s SATA.
From the reviews I've read so far, two things became obvious:
* The SSD's I'm looking at really want a working SATA TRIM command.
* All the onboard Marvell 88SE9128 (or ASmedia) solutions
seriuosly lack performance, as do PCIe cards based on those chips.
So basically, there seem to be two choices:
1.) LSI 2008
2.) Marvell 9485
1.) seems to be fast, reliable and well-supported,
but as far as I can tell, it doesn't support TRIM at all:
It neither maps SCSI unmap to SATA TRIM,
nor accepts TRIM as a SATA passthrough command.
Is that true?
What counts in Linux for "trim" support on a SSD (SATA,
SAS or FC) is correctly processing the SCSI WRITE SAME (16)
with the UNMAP bit set. In the case of a SATA SSD, a SCSI
to ATA Translation Layer (SATL) should map that SCSI WRITE
SAME (16) with the UNMAP bit set to the ATA DATA SET
MANAGEMENT command with the TRIM attribute set.
Many Linux SATA low level drivers use libata which
implements the above mapping. However some SAS HBAs
(e.g. LSI MPT Fusion 3 and 6 Gbps) implement the SATL
in their own HBA firmware.
I tested a LSI SAS 9212-4i4e HBA running its most recent
firmware (9.0 from Feb 26, 2011) with a Intel SSDSA2M080
which does support trim. I used my ddpt utility and the
SCSI WRITE SAME (16) with the UNMAP bit set was rejected
as an "illegal request". With the UNMAP bit clear it
accepted the command. I also checked the SCSI UNMAP
command and it was also rejected.
LSI have some more work to do on their firmware.
I did check the LSI support page for my HBA just before sending
my original reply. And the version 9 firmware was showing at the
top of the list. Alas, that page had been alpha sorted on the
file names so that version 10 of the firmware (May 2011) was
hiding further down the page :-)
So I installed the newest firmware and redid the above tests.
Now the SCSI WRITE SAME (16) with the UNMAP bit set works on
that SSD. The SCSI UNMAP command was rejected and I did not
test sending the ATA DATA SET MANAGEMENT command through
the pass-through (but I expect that would work).
So Linux file systems will be able "discard" (="unmap"(SCSI);
="trim"(ATA)) data using LSI HBAs based the LSI 2008 chip
which are running recent firmware.
Doug Gilbert
I didn't find much about 2.)
* The only cards based on this chip are the HighPoint 27xx,
or did I miss something?
* Running a 27xx with the mvsas driver was reported to have stability
problems or random errors. Are these problems solved?
* Is the 27xx fast (with SATA SSD's & mvsas driver),
i.e. significantly faster than onboard SATA 3 Gb/s ports?
* Does the 27xx+mvsas support TRIM when connected to SATA drives?
Are there any other solutions?
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html