硬盘指令队列NCQ/TCQ技术详解&性能测试 |
|
---|---|
|
|
作者:Darren NCQ(Native Command Queuing)与TCQ(Tagged Command Queuing)都是设计通过把计算机发向硬盘的指令做重新排序,从而提高硬盘性能的技术。NCQ技术在 300MB/s的Serial ATA II规格中引入,针对的是主流的硬盘产品,而TCQ技术是在SCSI2规格中引入(ATA-4标准中也有采用),针对的是服务器以及企业级硬盘产品。 要使用NCQ、TCQ技术,芯片组硬盘接口和硬盘产品本身都必须支持才行,也就是说,如果你购买的一款新硬盘并不支持NCQ,即使你的主板是最新的支持NCQ的,也不能够打开这个功能从而提高性能。 当电脑发送指令需要读取的数据存放在距离较远的扇区的时候,这种“指令队列”功能就能够起到作用,提高硬盘的读取性能了。有了指令队列,硬盘接受到这些指令之后会对它们进行重新的排序,使得磁盘转动的每一圈都读取最多的数据。
如图,例如电脑要求硬盘读取A、B、C、D四个位置上的数据,如果没有指令队列功能的话,硬盘需要旋转两圈半来读取所有需要的数据,而有了指令队列对指令做最优化排序,磁盘只需要转动一圈就可以了。 NCQ可以同时处理32条指令,而TCQ可以同时处理216条指令(不过TCQ硬盘一般设计“只有”最大64条指令的队列),此外TCQ相比NCQ还有两个额外的功能:它可以根据需要指定不进行排序而是强制按照硬盘接受到指令的顺序读取,还可以支持高优先级指令,可以比队列中其他指令优先执行。 NCQ的实际性能表现究竟会如何呢,让我们来看一下这个测试: 测试使用的是支持NCQ的希捷ST3160023AS, 160 GB硬盘,测试平台为3.2 GHz Pentium 4, 1 GB内存, GeForce 6800显卡以及Intel主板,测试软件使用PCMark04以及IOMeter,在开启关闭NCQ的状态下做一个对比。 结果在PCMark04中硬盘使用从5,978 MB/s 提升到了6,112 MB/s,只有2.24%的提升,Windows XP载入时间性能提高了9.76%,从8,947 MB/s达到了9,821 MB/s。IOMeter的测试中成绩从119提升到了142,提升幅度为19.32%。 我们看到上述两款软件测试中差距比较大,这是因为NCQ功能对于那些硬盘接收到无序指令的情形最有效果,PCMark04硬盘性能测试使用的是一系列比较有序的指令读取测试,而IOMeter是随机工作负荷,所以结果也更好。我们注意到XP载入时间提升也是比较喜人的,由此看来NCQ技术还是大有必要的。 |
本文转载自:http://blog.csdn.net/hongbochen1223/article/details/39489011
举报
打赏
0 赞
0 收藏
分享
作者的其它热门文章
加载中

其他人还在看
你好,我是A哥(YourBatman)。 日期/时间的处理是平时开发中非常常见的场景,若只是简单的格式化场景那就还好,一旦涉及到时区、跨地域跨时区时间转换场景,甚至当还有GMT时间、UTC时间等一堆概念堆上来的时候,总...
前言 ”面向接口编程“写 Java 的朋友耳朵已经可以听出干茧了吧,当然这个思想在 Java 中非常重要,甚至几乎所有的编程语言都需要,毕竟程序具有良好的扩展性、维护性谁都不能拒绝。 最近无意间看到了我刚开始写 ...
以下文章来源于公众号 「iconfontplus」 ,作者前端快爆 2020 终究是一个不平凡的一年,我们经历了太多坎坷与磨炼。甚至受 COVID-19 疫情的影响,Chrome 浏览器罕见的断更了,Chrome 82 就此缺席。但 Web 生态依旧...
在前端js中,this虽然只是其中的一个关键字而已,但是确实一个比较特殊的关键字。为什么说this在js关键字中很特殊呢,原因就在于this是函数在运行时自动生成的一个对象,this的指向在函数定义的时候不是确定的,只...
作者 | 张磊 来源|阿里巴巴云原生公众号 2020 年注定是不凡的。它在阴霾中开始,在惊叹中结束,也让未来变得更加扑朔迷离。那么,容器与云原生的 2020 年呢?你是否记得它是怎样开始的?它又将走向何方? Kubern...
一般情况下技术岗面试都需要经历面试和笔试部分,面试过程中主要采用问答的形式,一般没有完全固定的回答,主要是根据自己的工作经验应答面试官的问题,而笔试部分更注重基础知识以及问题的常规解决方案。下面IT技...
生产者消费者模式最核心的部分是生产者与消费者之间的特殊容器,而阻塞队列是特殊容器最常见的实现。JDK中定义了阻塞队列接口BlockingQueue,JDK通过该接口为我们提供了很多种阻塞队列的实现,其中包括本节的主角...
接着前几天的两篇文章,继续解析JVM面试问题,送给年后想要跳槽的小伙伴 万万没想到,面试中,连 ClassLoader类加载器 也能问出这么多问题..... 万万没想到,JVM内存区域的面试题也可以问的这么难? 三、GC垃圾回...
如何使用 Spring Cloud 2020 中重磅推荐的负载均衡器 Spring Cloud LoadBalancer (下文简称 SCL),如何扩展负载均衡策略? 你将从本文中获取到答案 快速上手 SCL 如果项目中想使用 SCL,则仅需要添加如下 mave...
OpenLookeng简介 OpenLookeng关键特性 OpenLookeng之Connector (待) OpenLookeng之算子下推(待) ..... OpenLookeng 我理解其实就是基于异构数据源上的统一查询引擎。这一层其实可以理解为替换掉Hive。实际底层...
选择专区和圈子:{{title}}
{{o.name}}
{{m.name}}