How do I use NCQ of Intel X25-E(SSD) on ahci(4)?

Alexander Motin mav at FreeBSD.org
Wed Nov 18 16:38:34 UTC 2009


Hi.

Norikatsu Shigemura wrote:
> 	I have a Intel 64GB SSD(X25-E) and a Western Digital Caviar Green
> 	1TB HDD (WD10EADS), and use them on ahci(4).  ahci(4) can use NCQ
> 	of WD10EADS, but doesn't use NCQ of X25-E.
> 
> # camcontrol identify ada0
> pass0: <SSDSA2SH064G1GC INTEL 045C8790> ATA/ATAPI-7 SATA 2.x device
> pass0: 300.000MB/s transfers 
> 
> Native Command Queuing (NCQ)   yes              30/0x1E

Here is the reason                                ^^^

This drive support less tags (31) then your AHCI controller does (32).
Support for such case is not implemented yet. As temporary solution you
may limit controller to use only 31 tag, then NCQ will be used. All you
need is to go to ahci.c and change line
ch->numslots = ...;
to
ch->numslots = min(31, ...);

-- 
Alexander Motin


More information about the freebsd-current mailing list