浅谈存储协议及接口

在存储系统中,我们通常称上层协议为“指令”,一般执行动作是“读出从某某开始的多少长度的扇区”,指令包含三大关键信息:

  1. 操作码,Operation Code,或者成为OP:比如Write,Read,Control(Inquery,Standby等等)。

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

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

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

同理,SCSI指令/协议和NVMe指令/协议,是存储系统面向机械盘和固态介质分别开发的两种上层协议。它们可以被over到传输层协议+网络层/链路层/物理层接口上传输到对方,比如scsi over FC,scsi over SAS、[(scsi over tcp)over 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接口:其中包含SAS、SATA和PCIE x4三套接口,充分利用空间,将三套金手指信号做到接口上,各干各的。意味着可以插入一块SAS或SATA或PCIE盘。U.2实质上是一种combo组合接口。

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

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

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

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值