NCQ技术分析,NCQ是属于SATA 300规范中
NCQ 技术分析 NCQ(Native Command Queuing)是一种提升硬盘性能的技术,它属于 SATA 300 规范中的一条。NCQ 的主要目的是减少总延迟,提高硬盘的读写性能。 硬盘的结构中有很大部分是机械的,其性能一定受到机械部件特性比如马达转速等的影响,所以硬盘速度始终只能慢慢提高。硬盘的写数据过程很简单,从磁碟的最外圈开始往内圈写,一个圈叫做一个磁道(track),所有碟(platter,即平时说的单碟),面(一个碟可能有两个面)上同一磁道组成一个柱面(cylinder),写硬盘就是按照从外到里一点点顺序写的。 然而,我们读取的时候肯定不是按照这样的顺序的,我们一般是随机的读取分散在盘片上的数据,我们需要在快速转动的同时准确定位,可以想象这是多么不容易。这就需要我们遇到两个敌人:寻道延迟和转动延迟。 寻道延迟是磁头找到磁道的时间。我们可以想象一下磁头反复地在一个个同心圆之间伸长,缩短,其延迟就是寻道延迟,或者在硬盘技术参数中称为寻道时间。要减少寻道时间,一般的做法就是对任务的重新排序。因为如果我们的定位任务按照先来后到的顺序依次进行,那延迟肯定很大。 转动延迟是找到准确磁道后,那个正确的地址所在位置转到磁头下面的时间。这里我们可以想象转得越快,这个时间就越短,对 5400 转硬盘,转一圈要 11.1 毫秒,7200 转要 8.3 毫秒,而万转硬盘只要 6毫秒。 要减少转动延迟,一般的办法是提高转速,但是我们知道提高转速很难,否则我们不会到现在还在用7200 转的硬盘。除了这个办法还有 1.优化排序 2.乱序执行。两个延迟加起来就是我们遇到的总延迟,我们希望总延迟越小越好。 以前的做法是优化排序任务从而减少寻道时间,但是后来发现追求最小寻道时间会导致转动延迟变大,两者相加不一定是最小的。所以提出了一种综合考虑寻道和转动的优化方法,这种方法就称为“tagged command queuing”,而在 SATA 300 标准中使用的特殊的优化方法就叫做“Native Command Queuing”,就是 NCQ。 NCQ 的主要功能是优化命令的排序,以减少总延迟。它可以根据硬盘的特性和当前的读写情况,智能地对命令进行排序,使得寻道延迟和转动延迟尽量减少。同时,NCQ 还可以与其他技术结合,例如 Race-Free Status Return、Interrupt Aggregation、First Party DMA 等,以进一步提高硬盘的读写性能。 在 SATA 300 规范中,NCQ 的效率得到了很大的提高。例如,Race-Free Status Return 机制允许硬盘端可以随时报告命令执行状态, Interrupt Aggregation 机制可以聚集多个命令的中断,使得中断延迟大幅减少。First Party DMA 机制则允许硬盘端自行建立 DMA 传输通道,不需驱动程式介入,进一步提高了读写性能。 NCQ 技术的出现极大地提高了硬盘的读写性能,对于提高计算机的整体性能产生了巨大的影响。
- chenkaijie2012-11-09内容不多,写得也很基础,适合刚入门没有概念的阅读
- 粉丝: 2
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IPv6和ICMPv6等
- Módulo I da Trilha“JavaScript 开发人员”参考资料库 .zip
- MyBatis 3 的 Spring 集成.zip
- LibRec领先的推荐系统 Java 库,请参阅.zip
- 修改LATEX.pdf
- IMG_20241125_120800.jpg
- AI助手Copilot辅助Go+Flutter打造全栈式在线教育系统课程17章
- AssetStudioGUI官方版是一款简易实用,功能全面的图像处理软件,AssetStudioGUI官方版能够提取游戏中的立绘和动画资源的工具,且功能非常全面,支持动画的导出,是动画制作人员得力的助
- 2024下半年,CISSP官方10道练习题
- JD-Core是一个用JAVA编写的JAVA反编译器 .zip