SATA模块物理层OOB信号分析总结(三)

目录

    • 一、简介
    • 二、总体解析
      • 2.1 OOB作用
      • 2.2 OOB信号的组成
      • 2.3 总体phy link过程
      • 2.4 整体PHY LINK Trace
      • 2.5 PHY LINK状态查询
    • 三、其他相关链接
      • 1、SATA模块之HBA卡开发总结(一)
      • 2、SATA信息传输FIS结构总结(二)
      • 3、PCIe物理层总结-PCIE专题知识(一)
      • 4、PCIe数据链路层图文总结-PCIe专题知识(二)
      • 5、SSD硬盘SATA接口和M.2接口区别总结

一、简介

本文主要讲解SATA底层FW中HOST和DEVICE进行FHY LINK过程中OOB(Out-of-Band)信号的产生与检测。

二、总体解析

2.1 OOB作用

OOB主要的作用如下:
1、初始化(initialization);
2、传输速率的协商与对接(Speed negotiation);
透过OOB handshake,host与device可以决定要在Gen1,Gen2或Gen3做data传输。
3、重置(Reset);
4、从省电状态(Slumer/Partial)的唤醒。

2.2 OOB信号的组成

OOB信号实际上主要有COMRESET/COMINIT与COMWAKE三个PHY信号线。
COMRESET:Host对Device进行硬件重置以及SATA信号的重新建立。
COMINIT:由Device送往Host,要求信号初始化。
COMWAKE:Host或是Device装置可以激发该信号来将PHY从省电状态(Slumer/Partial)抽离。

COMRESET/COMINIT由两部分相互间隔构成,一部分是突发长度为160个UI (Unit Interval)约106.7ns的ALIGN,另一部分是长度为480UI约320ns的Idle。
在这里插入图片描述
COMWAKE同样是有两部分相互间隔组成,一部分是突发长度为160个UI (Unit Interval)约106.7ns的ALIGN,另一部分是长度为160个UI约106.7ns的Idle。
在这里插入图片描述

需要注意的是,虽然COMREST和COMINIT形式上是一样的,但COMREST只能从host到device,而COMINIT只能从device到host。
在这里插入图片描述

2.3 总体phy link过程

1、HOST重置,一直发送COMREST;
2、DEVICE检测到COMRESET后以COMINIT回应;
COMINIT为重新连接开始信号,设备可以在任意时间发送COMINIT重新建立连接。
注意:若没有COMINIT的通知,HOST就会重复步骤1,直到DEVICE回复为止,系统允许热插拔的关键。
3、主机Calibrate,发出COMWAKE;
4、设备接收到COMWAKE后,设备连续发送6个COMWAKE信号,接着连续发送ALIGN进行传送速度的协商;
5、主机锁存资料。主机接收到COMWAKE后,以支援的最低速率连续发送D10.2资料,同时锁存检测接收的资料,当检测到设备发送的ALIGN后,以接收的速率将ALIGN转发给设备;
注:D10.2是0101010101…这样0和1交替的波形, 可以让device端更容易做clock recovery的动作;
6、主机在发送了COMWAKE后至少要在880ps内接检测到ALIGN,否则主机重启上电序列重新检测设备,直到应用层将其终止;
7、设备锁存资料,检测到ALIGN后发送同步信号SYNC,通讯建立成功,进入到正常操作模式。如在54.6us内未检测到ALlGN,则进入错误处理,等待重新连接;
8、当主机接收到三个非ALIGN后,链结建立完成,进入正常操作。
在这里插入图片描述

在这里插入图片描述

2.4 整体PHY LINK Trace

通过SATA协议分析仪抓到整体的建链Trace如下:
在这里插入图片描述

2.5 PHY LINK状态查询

查询每个PORT对应的P#CTL,具体BIT状态内容如下:
在这里插入图片描述

DET Detection,表示接口设备检测和Phy状态。
0000b 未检测到设备且未建立Phy通信
0001b 检测到设备存在,但Phy通信未建立
0011b 检测到设备存在并建立Phy通信
0100b 由于接口被禁用或运行在BIST环回模式下,导致Phy处于离线模式

SPD Speed,表示协商建立的接口通信速率
0000b 未协商速度(设备不存在或通信未建立)
0001b 协商为Gen1通信速率(1.5 Gbps)
0010b 协商为Gen2通信速率(3 Gbps)
0011b 协商为Gen3通信速率 (6 Gbps)

IPM interface power management,显示当前接口电源管理状态
0000b 设备不存在或通信未建立
0001b 接口处于Active状态
0010b 接口处于Partial状态
0110b 接口处于Slumber状态

三、其他相关链接

1、SATA模块之HBA卡开发总结(一)

2、SATA信息传输FIS结构总结(二)

3、PCIe物理层总结-PCIE专题知识(一)

4、PCIe数据链路层图文总结-PCIe专题知识(二)

5、SSD硬盘SATA接口和M.2接口区别总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/239401.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是CAS, 什么是AQS

文章目录 什么是CAS, 什么是AQSCASAQS 什么是CAS, 什么是AQS CAS AQS AQS 全称是AbstractQueuedSynchronizer, 是juc 下一个核心的抽象类,用于构建各种同步器和锁 比如我们熟悉的 ReentrantLock、ReadWriteLock、CountDownLatch等等是基于AQS. 首先在…

大数据技术之Oozie

大数据技术之Oozie 第1章 Oozie简介 Oozie英文翻译为:驯象人。一个基于工作流引擎的开源框架,由Cloudera公司贡献给Apache,提供对Hadoop MapReduce、Pig Jobs的任务调度与协调。Oozie需要部署到Java Servlet容器中运行。主要用于定时调度任…

北邮22级信通院数电:Verilog-FPGA(12)第十二周实验(2)彩虹呼吸灯

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章,请访问专栏: 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 一.代码部分 二.管脚分配 三.实验效果 一.代…

OBS Studio 30.0 正式发布:支持 WebRTC

导读OBS Studio 30.0 已正式发布。此版本移除了对 Ubuntu 20.04、Qt 5 和 FFmpeg 4.4 之前版本的支持。 OBS Studio 30.0 已正式发布。此版本移除了对 Ubuntu 20.04、Qt 5 和 FFmpeg 4.4 之前版本的支持。 主要变化包括: 支持 WebRTC(详情查看 OBS Stu…

shell 脚本计算距离最近的坐标

shell 脚本计算距离最近的坐标 坐标数据文件geo.log格式如下: beijing(116.405285,39.904989) tinajin(117.190182,39.125596) hebei(114.502461,38.045474) shanxi(112.549248,37.857014) neimenggu(111.670801,40.818311) liaoning(123.429096,41.796767) jilin(1…

一线大厂Redis高并发缓存架构

场景1:秒杀库存场景, 10000人抢100个商品 如果用普通的分布式锁实现, 最后抢到的人,要等前面99个人抢完 优化方案:可用分段锁, 降低锁的粒度, 比如1-10库存用锁product:101_1,11-20库存用锁pr…

LeetCode(47)合并区间【区间】【中等】

目录 1.题目2.答案3.提交结果截图 链接: 合并区间 1.题目 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中…

【Matlab】如何快速入门一项新技能-以Matlab/Simulink入门为例

目录 1. 引言 2. 背景 3. 快速学习并完成开发 3.1 了解需求,知道要干什么 3.2 了解Matlab/Simulink基本功能 第一步,查看Matlab的中文网站中文网站https://www.ilovematlab.cn/resources/对Matlab/Simulink有了一个初步认识。 3.3 实现一个最简单…

浏览器触发下载Excel文件-Java实现

目录 1:引入maven 2:代码实现 3.导出通讯录信息到Excel文件 4.生成并下载Excel文件部分解释 1:引入maven 添加依赖:首先,在你的项目中添加EasyExcel库的依赖。你可以在项目的构建文件(如Maven的pom.xml)中添加以下依赖项:<dependency><groupId>com.alib…

深信服AD负载均衡频繁掉线故障分析

一个由114.114.114.114引起的AD异常 客户反馈深信服负载均衡链路频繁掉线&#xff0c;具体故障现象如下 可以获取到IP地址、网关 两分钟掉一次&#xff0c;持续一个多月&#xff0c;求IT的心理阴影面积&#xff01; 链路监视器只设置了一个114.114.114.114 处理流程&#xff…

游戏网站的技术 SEO:提示和最佳实践

您是否希望提高游戏网站上的自然搜索可见性和用户参与度&#xff1f;如果是这样&#xff0c;实施技术SEO最佳实践是必不可少的。在这篇博文中&#xff0c;我们将提供使用技术 SEO 优化游戏网站的技巧和最佳实践&#xff0c;并讨论为什么它是搜索引擎优化 &#xff08;SEO&#…

drawio画图工具的四种使用方式

1、免安装使用&#xff08;绿色版&#xff09; 这种直接下载下来直接就可以使用&#xff0c;属于绿色版&#xff08;开箱即用&#xff09;&#xff0c;适用于个人 点击下载地址 2、 安装使用 这种下载下来就需要安装才可使用&#xff0c;适用于个人 点击下载地址 3、war包…