SAS驱动中PHY和PORT的介绍

本文档基于Linux-v4.10的hisi_sas驱动,详细介绍了SAS驱动中的PHY和PORT。PHY层负责8b10b编码解码、速率协商等,而PORT作为连接传输层和链路层的桥梁,可以共享多个PHY资源。在软件中,PHY和PORT通过struct asd_sas_phy和struct asd_sas_port进行定义和管理。
摘要由CSDN通过智能技术生成

SAS驱动中PHY和PORT的介绍

v0.1 20170412 Felix: Init

这篇文档是基于内核Linux-v4.10, hisi_sas驱动,介绍phy,port,及其之间的关系。

1、PHY的介绍

1.1、整体理解PHY

SAS协议共有6层,从上到下依次为: 应用层(application layer), 传输层(transport layer),端口层(port layer), 链路层(link layer), phy层(phy layer), 物理层(physical layer)。

PHY层定义了8b10b编码和解码方式、组成dwords、OOB信号、PHY reset以及速率协商等过程。PHY层的主要作用是实现phy reset系列以及dword的同步。

8b10b编解码:目的是”直流平衡”,为的是不出现大量连续的0和1.
Dwords: 有4个字符组成。
OOB信号:是一个不出现在数据帧中的低速信号。包括COMMINIT、COMSAS、COMWAKE三种信号。其中COMWAKE用于SATA与SATA设备、SATA与SAS设备,COMSAS用于SAS设备之间的交互,COMMINIT则是通用语言。

1.2、软件是怎么定义PHY

libsas层的phy定义成struct asd_sas_phy。
LLDD层的phy则是对libsas phy做了封装,定义成struct hisi_sas_phy。

SAS控制器一般支持8个PHY,放在hisi_hba中,HBA初始化的时候统一分配内存,并初始化。在phyup中断后,会找一个port进行绑定。phydown之后,则与port解绑定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值