参看 http://linux-ata.org/sata-status.html[/quote]
Queueing support
Preliminary support for SATA Native Command Queueing (NCQ) is available in the libata-dev git repository. Queueing support is not currently available in any release kernel.
Tangent: Host-based queueing and Native Command Queueing
Queueing is the process of sending multiple commands to a single device, without waiting for prior commands to finish. This increases performance and reduces latency. There are three types of queueing in the ATA world:
"legacy TCQ" -- some PATA devices support this. This design is largely a hack on top of existing ATA, to enable queueing for certain devices. Since host controllers did not require updates to support this, there are many limitations and complications that an OS driver must deal with, to enable legacy TCQ. As a result, legacy TCQ will only be supported on those few host controllers which provide host-based TCQ (see next item). This is very low priority, and may never be supported.
"host-based TCQ" -- the host controller supports a queue of drive commands, whether or not the drive supports it.
"Native Command Queueing" -- both host and drive cooperate in the queueing and execution of drive commands. This should provide the highest performance and lowest latency of all three options.
#1 will be supported only where hardware handles all the details. (legacy TCQ + host-based TCQ)
#2 may supported by libata, on a per-driver basis, for all hardware that supports it.
#3 will be supported by libata, for all hardware and devices that support NCQ. Test code is currently available in the 'ncq' branch of libata-dev.git.
◆◆
评论读取中....
请登录后再发表评论!
◆◆
修改失败,请稍后尝试