帮你梳理一下各种存储协议及接口

时间:2023-04-26 06:04:11 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
帮你梳理一下各种存储协议及接口

本文属于快文一篇,今早晨在群聊中发现不少人对协议、接口完全混为一谈,思路极为混乱。冬瓜哥觉得有必要为大家简要梳理一下目前这些存储协议、接口。



在存储系统中,上层协议可以泛指“指令”,也就是比如“读出从某某开始的多少长度的扇区”,指令包含三大关键信息:

1. 操作码,Operation Code,或者成为OP。比如WriteReadControlInqueryStandby等等)。

2. 起始地址:从哪开始读。如果是文件的话,精确到字节。如果是硬盘的话,精确到LBA(扇区)。

3. 长度:从起始地址往后多长的一段字节或者扇区。

那么,指令如果传递给对端的设备?你可以自己将上述指令的二进制码再编码一下,用手电筒的量灭传递给对方,传对方收到之后闪一下手电筒表示已经收到。此时,手电筒编码、收到后怎么表示收到,这也是一种协议,属于传输层协议。而手电筒就是物理层的接口,最终通过物理层,也就是光在真空中传播来将信息发送到对方。



同理,SCSI指令/协议和NVMe指令/协议,是存储系统面向机械盘和固态介质分别开发的两种上层协议。它们可以被over到传输层协+网络层/链路层/物理层接口上传输到对方,比如scsi over fcscsi over sas[scsi over tcpover ip] over ethernet, scsi over RDMA over IB, scsi over tcp over ip over ib



底层接口,同样是手电筒,有人用灯丝灯泡的,有人用led的,有人用袖珍的,有人用手提的,有人用头戴的。这就是接口不同,但是它们传递的信息编码、物理层,都是一样的。比如,PCIE可以用标准插槽,也可以用自定义的插槽,但是里面的信号针脚数量都是一样的。




同理,存储系统中的硬件物理接口,包括:

1. SCSI接口、FC接口、SAS接口;这三个都是承载SCSI上层协议的。有人可能蒙掉了,SCSI不是上层协议的名字么,为何底层物理接口也叫SCSI?因为SCSI这个标准最早的时候把上层协议一直到底层传输协议、物理层、网络层全给定义了。自己去搜一下SCSI接口长什么样。

2. SATA接口,仅用于承载ATA协议。其前身IDE接口,也承载ATA协议。

3. PCIE标准接口,承载PCIE传输协议,NVMe over PCIE。也就SCSI over PCIE但是没有普及。

4. M.2接口,可承载PCIE协议

5. U.2接口,其中包含SASSATAPCIE x4三套接口,充分利用空间,将三套金手指信号做到接口上,各干各的。意味着可以插入一块SASSATAPCIE盘。U.2实质上是一种combo组合接口。

6. m.2接口广泛用于平板电脑里的固态存储介质。其底层可承载PCIE传输协议,然后可以SCSI over PCIENVMe over PCIE。其也可以直接跑SATA信号,相当于新型的SATA接口。

7. emmc接口,没有连接器,直接从flash颗粒管脚以贴片的方式与emmc控制器的管脚相连。承载onfi/toogle协议。属于并行总线。

8. ufs接口,没有连接器,直接从flash颗粒管脚以贴片的方式与ufs控制器的管脚相连。属于串行总线。


本文来源:https://www.wddqw.com/doc/a7a6928a88d63186bceb19e8b8f67c1cfad6eee2.html