freebsd-dev/sys/cam/ata
Alexander Motin 1c80ec0a6b Add BIO_DELETE support to ada(4):
- For SSDs use TRIM feature of DATA SET MANAGEMENT command, as defined by
ACS-2 specification working draft.
- For CompactFlash use CFA ERASE command, same as ad(4) does.

With this patch, `newfs -E /dev/ada1` was able to restore write speed of
my heavily weared OCZ Vertex SSD (firmware 1.4) up to the initial level
for the most part of it's capacity. Previous 1.3 firmware, even reportiong
TRIM capabilty bit set, was not working, reporting ABORT error for every
DSM command.

I have no idea whether it is normal, but for some reason it takes 200ms
to handle any TRIM command on this drive, that was making delete extremely
slow. But TRIM command is able to accept long list of LBAs and the length of
that list seems doesn't affect it's execution time. Implemented request
clusting algorithm allowed me to rise delete rate up to reasonable numbers,
when many parallel DELETE requests running.
2009-12-28 20:08:01 +00:00
..
ata_all.c Add BIO_DELETE support to ada(4): 2009-12-28 20:08:01 +00:00
ata_all.h Add CAM_ATAIO_DMA ATA command flag to mark DMA protocol commands. 2009-12-01 23:01:29 +00:00
ata_da.c Add BIO_DELETE support to ada(4): 2009-12-28 20:08:01 +00:00
ata_pmp.c MFp4; 2009-12-07 16:23:25 +00:00
ata_xpt.c MFp4; 2009-12-07 16:23:25 +00:00