QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1975|回复: 11

linux如何才能支持NCQ?

[复制链接]
发表于 2006-2-19 00:09:36 | 显示全部楼层 |阅读模式
linux如何才能支持NCQ?
硬件、BIOS设置,内核和其他系统工具都有何要求阿?
 楼主| 发表于 2006-2-20 20:56:21 | 显示全部楼层
回复

使用道具 举报

发表于 2006-2-20 23:27:45 | 显示全部楼层
回复

使用道具 举报

WeiMingzhi 该用户已被删除
发表于 2006-2-21 14:42:02 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2006-2-21 15:26:41 | 显示全部楼层
纯粹帮顶
One area that SCSI had over both parallel and SATA drives was Native Command Queuing (NCQ). Traditionally hard disks on the consumer desktop side process disk requests in a linear fashion. This can potentially be a very bad thing and to understand why, there has to be a basic understanding of the physical structure of a hard disk. Hard disks are made up of platters or disks, much like a compact disk. Each platter is divided into tracks which are concentric circles, tracks are divided into sectors. Each platter is read by one or more heads. Seeking data is fastest when the data resides on the same track. Moving between tracks is time consuming. Consider the case where there are three pieces of data, one on the outermost track, one on the inner most track and one on the outmost track. In a traditional hard disk, the data on the outer track would be read first, then the data on in the inner track second, and finally the third piece of data on the outer track is read. This is not efficient and the time it takes to move the head is the seek time. If the head movement can be minimized, the seek time will decrease accordingly. This is where NCQ comes in - NCQ can rearrange the order of instructions so instead of moving from the outer track to the inner track, both pieces of data may be read from the outer track first before tackling the inner track.

NCQ requires both controller and hard disk support, so unfortunately NCQ will not work on most SATA drives today but most disk manufacturers will support NCQ in the very near future.
回复

使用道具 举报

 楼主| 发表于 2006-2-21 22:25:21 | 显示全部楼层

Re: linux如何才能支持NCQ?

[quote:0c67c4344c="WeiMingzhi"][quote:0c67c4344c="cnhnln"]linux如何才能支持NCQ?
硬件、BIOS设置,内核和其他系统工具都有何要求阿?[/quote]

参看 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.
失望鸟  

PS:楼上发的时几年前的
回复

使用道具 举报

 楼主| 发表于 2006-6-15 16:54:36 | 显示全部楼层
刚去 http://linux-ata.org/software-status.html#tcq 看了下
已经支持NCQ了,不过还不清楚是从那一版开始的。2.6.16支持否阿?
回复

使用道具 举报

发表于 2006-6-16 07:49:34 | 显示全部楼层
弱弱的问一下,啥是NCQ涅?
回复

使用道具 举报

发表于 2006-7-1 23:57:06 | 显示全部楼层

linux下NCQ如何支持?

也很想知道如何才能在linux下实现NCQ?
回复

使用道具 举报

 楼主| 发表于 2006-7-5 21:26:44 | 显示全部楼层
顶起来,谁来告诉我2.6.15支持NCQ否阿?或者在哪里可以查到阿?不要让我去翻kernel的changelog阿
回复

使用道具 举报

发表于 2006-7-9 12:15:03 | 显示全部楼层
只要编译ahci进内核,如果硬盘支持的话,会自动开启是不是这样??
回复

使用道具 举报

 楼主| 发表于 2006-9-14 17:10:14 | 显示全部楼层
内核要到2.6.18才实现
http://wiki.kernelnewbies.org/Linux_2_6_18#head-ebe3efc415964a6c8263f16e136be39cee5bd32c
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-11 20:23 , Processed in 0.083537 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表