AHCI vs NVMe

http://www.hkepc.com/13139

儘管現時有不少高階 SSD 產品改用 PCIe 接口,以突破 SATA 接口的頻寬瓶頸,但控制器設計與 SATA  接口 SSD 一樣,採用老舊的 AHCI 控制器介面,優點是大部份作業系統均已原生支援 AHCI 驅動,相容性高能支援絕多部份作業系統及主機板平台,但 AHCI 控制器介面卻無法完全發揮 PCI Express 介面及 NAND Flash 顆粒的性能優勢。

 

AHCI 控制器介面 (Advanced Host Controller Interface) 是 PCI 時代非常老舊的技術規範,主要是針對旋轉碟面讀寫的機械式 HDD 而設,例如加入 NCQ (Native Command Queuing) 技術、優化硬碟的資料分佈,將存取順序作最有效率的排序以減少機械臂移動的距離,進而達到省時以及延長硬碟壽命的效果,但當時的設計並非為 SSD 產品而生。

NVMe 控制器介面特別針對 PCI Express 接口及 NAND Flash 特性作出了優化, NVMe 能同時處理最高 6 萬 4 千個 Command Queues 指令列,每個指令列最高可包含 6 萬 4 千個指令,充分發揮 NAND Flash 平行讀寫優勢。 AHCI 控制器介面則只能同時處理 1 個 Command Queues 指令列,每個指令列最高只能包含 32 個指令,令 IOPS 讀寫性能大幅落後 NVMe 。

此外, NVMe 控制器介面支援 PCIe 3.0 技術規範首次引入的 MSI-X 中斷處理 (Interrupts Processing) ,並加入了 Interrupts Steering 中斷導向能力。舊有的 AHCI 控制器僅支援 MSI 中斷處理,裝置僅獲分配 1 個定址並同時只能處理 1 個中斷,在多核心處理器環境下只能讓單顆核心進行存取。

NVMe 控制器則最高可分配多達 2048 個 Interrupts Processing 中斷處理,同時每個中斷均擁有獨立的目標定址,令系統不同處理器核心均能同時存取 SSD 裝置,此一差異令 NVMe 與 AHCI 在 IOPS 及讀寫延遲上存在巨大差距。

當指令所需的資料定址不在寄存器中, AHCI 控制器介面需要額外浪費 6-9 個指令週期才能完成讀取,約浪費 12000 ~ 18,000 個 CPU Cycles ,造成約 2.5 ~ 4μs 的延遲,而 NVMe 控制器介面僅需額外 2 個指令,約浪費 4000 個 CPU Cycles ,令 NVMe 的 SSD 裝置擁有更低延遲,減少對 CPU 資源浪費令運算性能明顯提升。

比較處理大量細碎檔案時, AHCI 與 NVMe 亦存在巨大性能差異, AHCI 控制器介面處理讀寫命令時,命令參數需進行兩次無法並行的系統記憶體存取,而 NVMe 則只需要進行一次 64 Bytes 的系統記憶體存取,令 IOPS 吞吐量大幅提升。此外, AHCI 控制器介面在發出指令時需要進行同步鎖定資料, NVMe 控制器則無需進行同步鎖定資料,將有效提升平行讀寫及多線程運算性能。

就像 IDE 接口一樣, SATA 連接埠與 AHCI 介面已完成歷史任務,為配合未來 NAND Flash 技術發展, NVMe 控制器介面將成為未來儲存介面的主流標準,基於 PCI Express 協定以不同的接口形式普及。

NVMe and AHCI Storage Interface Comparison

  AHCI NVMe
Maximum Queue Depth 1 Command Queue
32 commands per Q

64K Queues

64K Commands per Q

Un-cacheable register accesses 12,000-18,000 CPU Cycles wasted ~ 4,000 CPU Cycles wasted
MSI-X and Interrupt Single Interrupt no Steering 2048 Interrupt with Steering support
Parallelism & Multiple Threads Requires Synchronization lock
to issue command
No Locking required
Efficiency for 4KB Commands
Command parameter require

two serialized host DRAM fetches

Command parameters in one
64 Bytes Fetch 

Next: 18通道設計、36顆MLC顆粒 Intel SSD 750 400GB U.2版本

时间: 2024-07-28 17:23:12

AHCI vs NVMe的相关文章

NVMe 与 AHCI

http://elf8848.iteye.com/blog/1731274 AHCI: NCQ技术,600MB/S,一个队列,每个队列32个指令 NVME:65000个队列,每个队列65000指令,3.2GB/S NVMe是什么? 2011年时,Non-Volatile Memory Express 非易失性存储器标准即NVMe规范正式出炉,这是专门针对NVND闪存和下一代存储设备所提出的规范.它基于闪存的特点而研发,其目的是尽可能缩小存储系统和内存带宽之间的差距.企业级SSD上已经很多产品采用

固态硬盘 相关知识 集锦

M.2 指的是主板上的硬件接口形式,它不能代表其速度快慢.SATA和PCI-E 它们指的是两种不同的数据传输通道,这个可能比较抽象,不好理解,你只需要知道PCI-E比SATA速度快就可以了. 1:在传统SATA硬盘中,当我们进行数据操作时,数据会先从硬盘读取到内存,再将数据提取至CPU内部进行计算,计算后写入内存,存储至硬盘中: 2:而PCI-E就不一样了,数据直接通过总线与CPU直连,接近最大的传输速度,最大的数据量,省去了内存调用硬盘的过程. AHCI和NVMe 它们指的是两种不同的传输协议

固态硬盘的PCIE,SATA,M2,NVMe,AHCI分别都指什么?别再搞混了

原文:https://baijiahao.baidu.com/s?id=1616207956596122967&wfr=spider&for=pc 科技娱乐屋 18-11-0420:54 固态硬盘近年来也是随着计算机的发展而得到了迅速的发展,目前已经隐隐有要取代机械硬盘的势头,只要成本价格控制下来,相信取代机械硬盘也只是时间问题 但是关于固态硬盘的概念实在是太繁琐了,很多人选购固态时也是看到商家宣传NVMe,PCIE固态却不懂到底是什么意思,今天我们就来为大家详解这些都是什么东西 首先我们

NVMe SSD是什么?

一直对闪存存储关注的朋友对NVMe SSD一定非常熟悉,NVMe SSD是现如今性能最好的存储盘.这种高性能盘在互联网领域已经得到了大规模应用,但是在行业用户还没有得以大范围普及.很多人对NVMe SSD也许还比较陌生,不知道如何应用该类型盘,并且给自己的业务带来价值.和SATA/SAS SSD以及HDD相比,她到底又有何神秘之处呢?在此我想对NVMe SSD做一些介绍. 提到NVMe SSD,不得不提Fusion IO率先研制的PCIe SSD,10年前Fusion IO率先采用PCIe接口的

[知乎]老狼:UFS VS NVMe

https://zhuanlan.zhihu.com/p/26652622 最近某手机厂商的闪存门在知乎上被人踢爆,在所谓"爵士水军"和"友商水军"的口水大战中,至少eMMC, UFS等火星名词被广泛的科普了一把.苹果粉也不时掺和进来,NVMe在苹果手机上的应用让这个群体平添了一份"高冷",安卓的小伙伴们被鄙视的都不敢回嘴了! 本着看热闹不怕事大的原则,我这个低端山寨手机拥趸决定以一个吸引眼球的故事开始本系列:到底UFS 2.1和NVMe谁性能好

[转帖]深度: NVMe SSD存储性能有哪些影响因素?

深度: NVMe SSD存储性能有哪些影响因素? http://www.itpub.net/2019/07/17/2434/ 之前有一个误解 不明白NVME 到底如何在队列深度大的情况下来提高性能, 现在看来是因为 比AHCI多了 多队列的控制来提高性能. 导读: NVMe SSD的性能时常捉摸不定,为此我们需要打开SSD的神秘盒子,从各个视角分析SSD性能影响因素,并思考从存储软件的角度如何最优化使用NVMe SSD,推进数据中心闪存化进程.本文从NVMe SSD的性能影响因素进行分析,并给出

WIN7开启AHCI蓝屏的解决方法

1:在BIOS里SATA模式为IDE的状态下,进入系统后在运行里输入regedit,打开注册表编辑器,依次打开注册表,修改HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci下的 start ,把数值数据改为0; 2: 重新启动,在BIOS里改成AHCI模式,进入系统后会发现新硬件,不用理会,直接安装AHCI驱动(win7一般联网会自动安装,如没有自动安装,请到主板或笔记本官网下载主板或者单独的AHCI驱动);

vSphere 6.5支持512e,NVMe SSD呢?

原创 2017-01-12 朱朋博 金笑雨 企事录 2016年底,VMware终于宣布,从vSphere 6.5开始支持512e扇区格式了. 这当然是好事.不过,不黑不舒服斯基说:原来以前的版本连512e都不支持?现在也还不支持4Kn啊-- 有图有真相,不黑不是你大叔则翻出2013年的一个合作伙伴文档作为黑历史,说:瞧,晚了整三年!间隔一个大版本啊-- Vmware曾宣称计划在2013年支持512e,在2015年支持4Kn 泥垢了,别站着说话不腰疼.作为公认业内第一的hypervisor,或者说

NVMe over Fabrics:概念、应用和实现

对于大部分人来说,NVMe over Fabrics(简称NVMf)还是个新东西,因为其第一个正式版本的协议在今年6月份才发布.但是这并不影响人们对NVMf的关注,因为这项依托于NVMe的技术很可能继续改变存储市场格局. NVMf的贡献在于提供除PCIe外访问NVM的另一个途径-Fabrics,并且将fabrics链路在latency上增加的overhead维持在10us以内.来自NVMf spec的一张图清晰的展示了它的野心,围绕着NVMe的战场再一次扩大了. 提供fabrics途径后,可以在