NVME_PCIE_SATA_AHCI_M.2_2.5“

news2024/11/25 1:09:52

SATA和PCIe两个都是总线标准。它们是并列发展的关系,并不是谁取代谁的关系。

SATA:由IDE/PATA标准发展而来,主要用途是把存贮设备(硬盘)连接到主机(主板)。
SATA经历了如下版本:
SATA revision 1.0 (1.5 Gbit/s, 150 MB/s)
SATA revision 2.0 (3 Gbit/s, 300 MB/s)
SATA revision 3.0 (6 Gbit/s, 600 MB/s)
SATA revision 3.1 / SATA revision 3.2 (16 Gbit/s, 1969 MB/s)
在IT界有一样很重要的东西叫“向下兼容”。SATA在发展的过程中,也要考虑“向下兼容”因素。譬如主板上SATA-3的接口,可以连接SATA-2的硬盘。向下兼容是为了保护用户已有的投资,但另一方面也造成很多掣肘,以致发展缓慢。
出于向下兼容的考虑,SATA可以工作在两种模式:传统模式和AHCI模式。传统模式是为了兼容以前的IDE/PATA。AHCI模式则比较新,支持SATA独有的功能,如热插拔、原生命令队列(NCQ)等。现在基本上所有SATA设备都是AHCI模式(Advanced Host Controller Interface)。
还记得Windows7时代的AHCI问题吧?许多机器的BIOS中可以选择传统模式或AHCI模式。当时出于兼容性考虑,缺省是传统模式。许多人安装Windows7(最初版)的时候,就是在传统模式下安装的,不需要特殊驱动。如果安装之后,进BIOS改成AHCI模式,Windows7就会蓝屏了,因为没有AHCI驱动。如果想在AHCI模式下安装,Windows会找不到硬盘,因为没有驱动(需加第三方驱动。后来Windows 7SP1 才在安装盘中加入原生ACHI驱动程序。

PCIe(Peripheral Component Interconnect Express),另一种总线标准,由AGP、PCI、PCI-x发展而来。这些总线的发展主要的动力是显卡的发展。AGP(Accelerated Graphics Port, 加速图像端口)。由于显卡需要很大的带宽和速度,PCI 总线标准就不断升级来满足要求。除了显卡,PCI总线还用于其他的扩展卡,如网卡(包括有线网卡、无线网卡、3G/4G卡)
从上面SATA的不同版本可以看到,提速是一个主要任务(当然也有其他的改进)。但进入SSD时代后,SATA的改版速度(由于要考虑向下兼容),已经跟不上传输速度的要求了。这时业界就考虑采用PCIe来连接存贮设备。但在驱动程序层面,仍然采用AHCI。这是因为AHCI已经非常成熟,广泛被各种操作系统(如 Windows、Linux)所采用。
以下是PCIe各版本的对比,注意在同一个版本中也有不同的速率,取决于产品使用多少条通道(Lane)
在这里插入图片描述
NVMe(NVMe Non-Volatile Memory Express)
AHCI是为了发挥SATA的潜能而设计的,当时算是“高大上”了。但当时仍然是机械硬盘统治市场,因此AHCI的设计是基于机械硬盘的特性(旋转式磁性盘片)。虽然AHCI也可以用于SSD,但却不能发挥极致。因为SSD更像内存,而不像“盘片”。譬如机械硬盘,如果磁头错过了一个扇区,那就得等盘片转一圈回来才能访问。SSD就不存在这个问题。因此业界重新设计一个新的NVMe协议,希望发挥SSD 的潜能。下面是AHCI和NVMe的对比。
在这里插入图片描述
注意,NVMe和AHCI一样,是逻辑(或者说软件、驱动程序)上的标准。而SATA和PCIe则更注重于物理层面(电流、电压、触脚等)。NVMe比较新,Windows7没有原生驱动,因此安装的时候需要加第三方驱动。这个和当年Windows7/AHCI类似。

物理接口
NGFF(Next Generation Form Factor,已改名为m.2),顾名思义是物理外形(Form Factor)的标准。与 NGFF并列的是2.5",而不是PCIe。
说完了总线和协议,下面说说物理接口。无论采用什么总线和协议,主板总得连接到存贮设备上。这里所说的物理接口,指是是物理尺寸和形状。接口又分主机端和设备端。
1.SATA设备端。下图是大家所熟悉的SATA硬盘接口(设备端)。大部分2.5"SSD也是用这种接口。采用这种接口的,只能使用SATA总线,不能使用PCIe总线。
在这里插入图片描述
2. M.2接口(以前叫NGFF)。采用这种接口的SSD,可以使用SATA或者PCIe总线(取决于主板和SSD)如果采用PCIe总线,又分AHCI和NVMe两种协议。因此总共有三种。下面是代表性产品:
a) 三星850 EVO M.2接口,SATA总线,AHCI协议
在这里插入图片描述
b) 三星SM951 M.2接口,PCIe总线,AHCI协议
在这里插入图片描述
c) 三星SM951 M.2接口,PCIe总线,NVMe协议
在这里插入图片描述

3.SATA Express接口。SATA Express使用的是PCIe总线,向下兼容SATA总线。设备端物理接口如下图。设备端的触脚是连在一起的,而不是SATA那样分成两部分。目前T460/T560/X260/P50s可以支持SATA Express 的设备(东芝品牌的SSD)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由上图可见,AHCI和NVMe是驱动程序层面的。顾名思义,NVMe只适用于SSD(SSD和主板也要支持NVMe才行)。AHCI则适用于机械硬盘和SSD在主板芯片层面,有AHCI控制器和PCIe控制器。有趣的是AHCI驱动程序“居然”可以使用PCIe控制器(中间那条橙色的线)。这个其实是个过渡方案,目的是在利用PCIe高带宽的同时,保持对上层软件的兼容性。目前在笔记本上,用这个方案的产品并不多。
绿色那个框是主板上的物理接口。参见以上物理接口一节。即使是同样的物理接口,也可以选择不同的总线和协议(如果主机和设备支持的话)。左下角的SATA设备,右下角的PCIe SSD设备则可以有两种不同的控制器(最下面的两个框):AHCI和NVMe。因此同样是PCIe 的SSD,也可以有不同的传输效能。
按传输效率排序分:
1.PCIe NVMe
这个是最高大上的。在笔记本市场,根据效能,可以再细分为两个等级:
1A是M.2 尺寸的NVMe(如三星950 PRO)。可以有四条PCIe通道,速度最快。但由于电路板面积限制,容量和发热都是个问题
1B是2.5" 尺寸的NVMe(如东芝XG3),采用SATA Express接口,可以有两条PCIe 通道,传输速率较低。由于2.5"体积较大,容量和发热比M.2要好。在T460/T560/X260/P50s 上可用
2. PCIe AHCI
效能比1稍低,由于AHCI协议的滞后性决定。笔记本只有M.2外形,没有2.5"外形,如三星SM951 AHCI
3. SATA AHCI
效能最低,但兼容性最好,根据外形可分为两类。这两类的传输效能是一样的,无分高低。如果要便宜、容量,则选 2.5"。如果要轻薄,则选 M.2。
3A是2.5"外形的设备,如目前广泛使用的机械硬盘,固态硬盘等。
3B是M.2外形的设备,如三星 850 EVO 的 M.2 盘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/196266.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数影周报:小米汽车供应商被罚100万,1688延迟下线“1688买家旺旺”

本周看点:小米汽车供应商被罚100万;特斯拉将在硅谷招聘AI 人才;阳光出行等25款 App涉违规收集使用个人信息等;1688延迟于2月8日下线“1688买家旺旺”;微蚁科技完成数千万元B轮融资......数据安全那些事小米汽车供应商被…

机器学习实战教程(四):从特征分解到协方差矩阵:详细剖析和实现PCA算法

1. 协方差 概念 方差和标准差的原理和实例演示,请参考 方差 方差(Variance)是度量一组数据的分散程度。方差是各个样本与样本均值的差的平方和的均值: 标准差 标准差是数值分散的测量。 标准差的符号是 σ (希腊…

【redis6】第十五章(应用问题解决)

缓存穿透 问题描述 key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会压到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有,若黑客利用此漏洞…

Yolov5环境部署步骤记录

目录1.Anaconda1.1 虚拟环境1.1.1 虚拟环境手动配置Pytorch库2.Pycharm社区版2.1 Yolov5源码下载2.2 Pycharm设置3. Yolov53.1 安装所需的插件3.2 运行detect.py1.Anaconda 安装,Anaconda3-5.3.1-Windows-X86_64.exe,装好之后; 配置环境变量…

Code:美团代码托管平台的演进与实践

美团代码托管平台经过长期的打磨,完成了分布式架构的改造落地,托管数以万计的仓库,日均Git相关请求达到千万级别。本文主要介绍了美团代码托管平台在迭代演进过程中面临的挑战及解决思路,希望对大家有所帮助或启发。 1. 引言 2. …

六: 数 组(eclipse的使用)

目录复习隐藏eclipse中的工程3.2 一维数组的使用:数组元素的引用p103.2 一维数组的使用:数组元素的默认初始化值p123.2 一维数组的使用p213.2 一维数组的使用p223.3 多维数组的使用p243.3 多维数组的使用p25引用类型的变量,保存的要么是地址值…

国际标准下载的几个网站 请点赞收藏

名称以ITU开头的国际标准下载网站名称以ITU开头的国际标准,是国际电信联盟组织制定的国际标准。国际电信联盟组织简称国际电联。它的官网是http://www.itu.int。 通过在这个网站下输入标准的部门名称就可以搜索下载电信标准。已ITU Q.763为例打开官网输入标准名称点…

C++11 类的新功能

作者:小萌新 专栏:C进阶 作者简介:大二学生 希望能和大家一起进步! 本篇博客简介:介绍C11类的新功能和一些关键字 类的新功能类的新功能默认成员函数类成员变量的初始化C11新关键字defaultdeletefinaloverride类的新功…

Java poi之Excel文本图片内容提取

目录结构前言文档准备引入Maven依赖代码块提取结果验证excel03.xls 提取结果excel07.xlsx 提取结果前言 应公司需求,需实现以下功能 Excel文本内容的替换;Excel文本内容的提取;Excel中图片的提取存放 此文章将使用Apache POI实现Excel文件…

我问 ChatGPT:怎样成为优秀的架构师?看它怎么回答的……

要成为一名优秀的架构师,需要以下几个方面的努力: 1. 系统的学习计算机科学和工程相关的知识,如计算机网络,数据结构,算法,操作系统等。 2. 实践和经验积累。参与许多实际的项目,不断积累经验,提高解决问题的能力。 3. 持续学习和追求卓越。保持对新技术和趋势的敏锐观…

Docker容器 01

前言 1.1 从环境配置说起 环境配置是软件开发的一大难题。开发、测试及运维人员需要相同的代码运行环境,如此一来就需要多次搭建环境,想想就觉得麻烦,实际上,在不了解docker等容器技术以前,还真就是这么干的&#xff…

IDEA 中动态web 工程的操作

目录a)IDEA 中如何创建动态web 工程1、创建一个新工程exer:2、在exer下创建module:test3、动态web工程创建成功 如下图b)Web 工程的目录介绍c)如何给动态 web 工程添加额外jar 包1 添加lib目录2 将jar包复制到lib目录中3 将jar包添加到工程4 可以打开项目…

西湖论剑2022部分misc

文章目录签到题喵take_the_zip_easymp3机你太美签到题喵 把文件尾的16进制复制出来,再转换字符串 私信后台即可获得flag take_the_zip_easy 明文攻击 echo -n “dasflow.pcapng” > 1.txt time ./bkcrack -C zipeasy.zip -c dasflow.zip -p 1.txt -o 30 -x 0…

六类网线为啥那么受欢迎,网络工程师必知

目前,国内千兆网络已大规模普及,从前的“销冠”百兆超五类网线已经渐渐淡出了人们的视野,已然被千兆的六类网线取代成为现代布线入门级主力军。万兆超六类网线也同时是城市智能化5G、万物互联时代入门首选,各自顺应时代成为不同领…

APP在Google Play上架被拒的原因

即便了解了Google Play商店的相关政策和应用指南,我们也不能避免应用在上架时或者是应用在更新时被拒的情况发生。那今天我们就展开讲讲Google Play商店被拒的原因及解决方案。 出现不当言论或内容(比如,色情内容,带有种族歧视和…

基于Springboot搭建java项目(三十五)—— Ngnix配置的使用

Ngnix配置的使用 一、Nginx配置文件(nginx.conf) 1、配置文件的层级 配置文件目前分为三大部分,全局块、event块和http块,下面是具体的结构 2、配置文件概览 # 全局快 ---------------------------------------------------------------------------…

Bean实例化的基本流程

Bean实例化的基本流程 Bean实例化的基本流程-BeanDefinition Spring容器在进行初始化时,会将xml配置的的信息封装成一个BeanDefinition对象,所有的BeanDefinition存储到一个名为beanDefinitionMap的Map集合中去,Spring框架在对该Map进行遍历…

[NeurIPS 2018] Hyperbolic neural networks

ContentsIntroductionThe Geometry of the Poincar BallHyperbolic space: the Poincar ballGyrovector spaces (陀螺矢量空间)Mbius additionMbius scalar multiplicationDistanceHyperbolic trigonometryConnecting Gyrovector spaces and Riemannian geometry of the Poinca…

如何用提取网页内容的工具快速提取网站内容

随着社会的不断的进步,我们已经进入一个效率时代,相信每个人在互联网上下载或者复制粘贴过内容。特别是整理行业的数据,以及收集资料。今天小编就教大家如何用提取网页内容的工具快速提取到你想要的信息,只需要点几下鼠标就能提取…

GitHub2022年十大热门编程语言榜单

全球知名代码托管平台 GitHub发布的2022年GitHub Octoverse年度报告公布了全球最流行的十大编程语言,其中JavaScript蝉联第一,Python位列次席。 编程是技术革新的核心,对于所有的编程开发人员来说,对世界范围内编程语言发展和趋势…