0.总线、协议、接口
首先,要搞清楚总线、协议、接口这三者之间的关系。
总线(BUS)就是不同设备之间交互数据的通路,且有一定的承载能力限制(总线带宽)。
协议就是两个设备之间通信的规矩。两个设备之间只有使用同样的协议才能够进行通信。和网络协议是一样的,也规定了编码方式表示方式之类的。比如我一秒钟之内的通电断电代表什么意思,想想摩斯电码类似的。但是计算机内部的通信协议肯定比较复杂而且很妙,高效的协议也需要顶尖设备支持。
接口
所以总的来说协议就是,用某种形式,以某种规格利用某种物体把数据传输出去。那么硬盘与其他设备进行沟通,就需要【数据协议】【传输总线作为媒介】【某种物理接口接入】。
1.常见的总写协议以及接口
常见的数据协议,协议【IDE】是早期硬盘协议已被淘汰,剩下三种,民用的【AHCI】【NVMe】与服务器常用的【SCSI】
传输总线有三种民用的【SATA】【PCIe】和服务器常用的【SAS】
现在有了总线和协议,还需要物理接口讲硬盘接入到总线之上。这里面的关系就直接截视频里的图了。
三者均限制数据传输的快慢。相辅相成。
这里只是做简单科普,与研究相关性不大。参考链接:
【硬件科普】硬盘的SATA M.2 NGFF NVME是什么意思,详解硬盘的总线协议与接口_哔哩哔哩_bilibili
2.NVMe协议与NVMe驱动。
NVMe设备就是支持NVMe协议的设备,通常指代的都是NVMe SSD,也就是使用PCIe接口和NVMe协议的固态硬盘。NVMe设备相比于传统的SATA或SAS设备,具有更高的速度、更低的延迟、更多的并行性和更好的可扩展性等优点 。
NVMe协议和NVMe驱动是两个不同的概念,但是它们都是为了提高闪存类存储的性能而设计的1。
NVMe协议是一种通信协议,它定义了如何在PCIe接口上发送和接收NVMe命令和数据。NVMe协议利用PCIe的高带宽和多队列特性,实现了高效的数据传输和并行处理23。
NVMe驱动是一种软件,它实现了NVMe协议的功能,让操作系统能够识别和管理NVMe设备。NVMe驱动比传统的SATA或SAS驱动更简单和轻量,因为它直接与系统CPU通信,减少了不必要的步骤和延迟4 。
简单来说,NVMe协议是一种规范,NVMe驱动是一种实现。它们都是为了让闪存类存储发挥更好的性能而设计的。
SO! NVMe协议就是 SSD与系统通信的一个规则 ,NVMe驱动就是这套规则的一个实现,我们高存储的根本不需要管这个东西,好那不看了。