存储——硬盘尺寸、接口、协议

news/2024/11/26 9:43:11/

前言:常听到硬盘有3.5寸的、2.5寸的;笔记本的、台式的......有时是SATA接口、有时是SAS接口、SCSI协议.....现在尝试对这三者(基于资料、实际应用)进行一个总结,以便分析某种术语在其语境中的意义。

一、硬盘尺寸

我们常用的有3.5寸和2.5寸的。后来固态硬盘的出现,又有别致的外形(像内存条)。其应用如下表所示。

大小/外形应用
2.5英寸固态、机械、混合硬盘。笔记本、外置盒
3.5英寸固态、机械、混合硬盘。台式机、服务器,外置盒(需外接电源)
M.2外形固态硬盘专用
PCIe 外形      固态硬盘专用

除此之外,还有较少使用的尺寸有1.8英寸、1英寸、0.85英寸。

二、接口

        接口的作用是:设备如何与计算机通信(接口标准)。分为物理接口和逻辑接口;其中物理接口就是主机和设备之间进行物理连接的直接接口,用于传输数据流;而逻辑接口是一种软件接口,用于控制通信过程。其名称除了代表接口还会代表其相应的控制器、总线以及协议(即相应控制器和协议的名称也同接口名称),如下:

接口名称       标注
ATA并行接口
SATA(新型-串行ATA)通常用于2.5寸和3.5寸硬盘
PCIe用于SSD
M.2用于SSD 
SAS(串行SCSI,SCSI技术升级版)仅用于服务器领域和数据中心
FC(Fibre Channel)仅用于服务器领域和数据中心
SCSI通常用于服务器,稳定性强

需要注意的是:

  • 没有特别说明时,该接口可以用固态或者机械或者混合硬盘。
  • 不同的接口可以搭不同的通信协议;即这里的接口可以是指代物理接口或主机控制器接口。
  • 接口的控制器也可以与另一个接口混搭,如M.2 SATA——M.2接口控制器为SATA。

三、协议 

        协议定义了如何在计算机与设备之间传输数据的标准,如物理接口和硬盘控制器之间、物理接口和主机控制器之间。通常协议名称与接口名称相关,如:

协议名称 标注
AHCI常用于SATA接口
 
ATA用于ATA接口
NVMe(非易失性内存主机控制器接口规范),常用于PCIe接口
 

总结 

计算机和设备之间的层次可以分为:

  1. 物理层接口/连接器
  2. 传输层协议
  3. 主机控制器接口(应用层底部)
  4. Command Set(应用层上部)

其中:(把计算机称为主机,硬盘为“设备或从机”)

  • 物理层接口/连接器代表物理接口(对于主机来说就是主板设备接口,主板设备接口根据标准组织制定的物理连接器标准来制作),如ATA、SATA、SCSI、SAS、PCIe、M.2、eMMC等。
  • 传输层协议代表接口之间所使用的协议(物理接口的传输格式控制),如:ATA、STAT、SCSI、SAS、TCP、PCIe、eMMC等。
  • 主机控制器接口代表主机(操作系统)的逻辑接口(对于主机来说如使用Linux就是设备接口的具体驱动;硬盘端也有主控,实现与物理接口相关操作),操作系统根据物理连接器(物理接口)来实现逻辑接口(也称主机控制器)。同时还会根据物理接口与逻辑接口所用的传输协议实现相应的驱动。如IDE/ATA、AHCI(SATA)、SCSI、NVMe、eMMC。
  • Command Set就是传输用到的命令集。如:ATA命令集、SCSI命令集、NVMe命令集、eMMC。

而至于这几层使用哪种协议,通常是使用固定一套的,但是如果相互兼容的话,也是可以混合使用的。比如SATA-SCSI-SCSI-SCSI命令集。总结下表:

物理层接口/连接器传输层协议主机控制器接口(应用层底部)Command Set(应用层上部)

ATA

PCMCIA

CompactFlash

ATAIDE/ATA InterfaceATA命令集

SATA

M.2

SFF8639(U.2)

mMATA

eSATA

STATAHCIATA命令集

SCSI

FC

SAS

Ethernet Infiniband

SCSI

FC

SAS

TCP(over IP)

RDMA oE/oIB

TCP(over IP)

SCSISCSI命令集

PCIe standard

M.2

SFF8639(U.2)

PCIeNVMeNVMe命令集
eMMC/UFSeMMC/UFSeMMC/UFSeMMC/UFS

             表来源:  NVMe 和 AHCI 到底是接口标准还是接口协议? - 知乎

其它

总线,有多种意义:

  •         一般指计算机和设备传输信息的物理通路,物理总线布置在计算机中。
  •         计算机(设备)各种功能部件之间传送信息的公共通信干线


http://www.ppmy.cn/news/547627.html

相关文章

PyTorch C++ 前端是 PyTorch 机器学习框架的纯 C++ 接口

使用 PyTorch C 前端 PyTorch C 前端是 PyTorch 机器学习框架的纯 C 接口。 虽然 PyTorch 的主要接口自然是 Python,但此 Python API 位于强大的 C 代码库之上,提供基本的数据结构和功能,例如张量和自动微分。 C 前端公开了纯 C 11 API&…

Python 进阶(一):Python连接MySQL数据库和CRUD操作

MySQL数据库的连接和CRUD操作 前言Python连接MySQL的五种方式1. 安装mysql-connector-python2. 连接数据库3. 查询数据4. 插入数据5. 更新数据6. 删除数据 前言 本文基于MySQL8.x版本的学习,python版本基于当前最新的3.x,windows操作系统下mysql的安装流…

linux删除用户出现user xxx is currently used by process xxx的解决方案

linux删除用户出现user xxx is currently used by process xxx的解决方案 当我们想要删除或更改某个用户名时发现user xxx is currently used by process xxx这个报错,错误的原因可能是因为创建user1再登录到user1后想要对这个用户名做出修改,于是通过s…

WARNING: Device for PV 0lQ0Gl-RBe5-fPrr-OKYB-whwD-qHPF-izvEES not found or rejected by a filter

挂载磁盘时,添加pv到vg 报错:提示如下: WARNING: Device for PV 0lQ0Gl-RBe5-fPrr-OKYB-whwD-qHPF-izvEES not found or rejected by a filter. Couldn’t find device with uuid 0lQ0Gl-RBe5-fPrr-OKYB-whwD-qHPF-izvEES. WARNING: Device …

PHP 从数组对象中取出数组提示:Undefined property: stdClass::$subject

是由于PHP增加严谨性,首先要加下判断数组值是否存在,然后在获取! if (isset($result->access_token)) { } $curl https://api.weixin.qq.com/sns/oauth2/access_token?appid.$this->app_id.&secret.$this->app_secret.&a…

一个策划转程序再到创业失败的小故事(一)

今天给大家介绍一个编程的励志故事我会分成三个阶段给大家发布! 培训 想到就要去做,我们楼下就有一个电脑培训中心。我告诉他们,我要学C#,问要多少钱?答案让我吃了一惊,“我们教不了”。“你们不是电脑培训…

Configuring L2 L3 EtherChannel with PAgP

EtherChannel:通过这个技术能够将多个物理端口绑定为一个逻辑端口通过多个端口绑定,能充分利用现有端口来增加带宽。Cisco交换机最多允许绑定8个端口。如果是快速以太网,总带宽可达1600Mbit/s。如果是Gbit以太网,总带宽可达16Gbit…