SATA系列专题之二:2.0 Link layer链路层概述

简介: link layer的作用大致可以包括以下几点:• Frame flow control• CRC的生成与检测• 对数据与控制字符的Scrmable/Descramble• 8b/10b编解码• 将传输层进来的数据转为Frame

一、故事前传

在之前的文章中,我们有提到SATA主要包括:应用层(Application Layer), 传输层(Transport Layer),链路层(Link Layer)以及物理层(Physical Layer), SATA结构如下图:

较为详细解释请见之前的文章"浅析SATA Physical Layer物理层OOB信号",我们这里主要解析Link layer相关内容。


二、SATA Link Layer解析

我们先来看看link layer的结构

从上面Link layer的结构,我们可以看到link layer的作用大致可以包括以下几点:

  • Frame flow control
  • CRC的生成与检测
  • 对数据与控制字符的Scrmable/Descramble
  • 8b/10b编解码
  • 将传输层进来的数据转为Frame


Link  layer在SATA通讯中参与的过程可以这样理解:

  1. 通过插入各种primitive基元(详细解析请见本篇后面内容)进行流量控制,在成功传递完有效资料后,链结层(Linker layer)等待对方的应答,并把结果传给上层;
  2. 传输层(transport layer)传送进来FIS,链结层(Linker layer)计算CRC值,加扰(Scramble)和8B/10B编码后,加上SOF和EOF封装成frame ,传递给物理层(Physical layer)。注:SOF=Start of Frame, EOF=End of Frame。
  3. 从物理层接收到有效资料时,进行8B/10B解码、解扰(Descramble)以及CRC效验,然后将资料提交到传输层。


后续文章对几个关键的部分展开解析,敬请关注!

相关文章
|
Ubuntu Linux 开发工具
Linux超级强大的十六进制dump工具:XXD命令,我教你应该如何使用!
Linux超级强大的十六进制dump工具:XXD命令,我教你应该如何使用!
776 0
【EDA】 Verdi 使用笔记
【EDA】 Verdi 使用笔记
3673 0
【EDA】 Verdi 使用笔记
|
6月前
|
存储 传感器 安全
数据不是“铁打的”,从出生到销毁它也有生命周期
数据不是“铁打的”,从出生到销毁它也有生命周期
472 1
|
数据库 Python
DataFrame 与内置数据结构的相互转换
DataFrame 与内置数据结构的相互转换
226 4
事后回顾------AAR复盘方法
事后回顾------AAR复盘方法
1809 0
|
固态存储 Java Unix
详解SSD之垃圾回收GC
当在操作系统(例如 Windows)中删除文件时,操作系统只是在其内部文件表中做标记表示该文件已删除。由于NAND 闪存设备不能覆盖现有数据,所以在固态硬盘SSD上,当前无效的数据仍然保留在硬盘上。 这样的话就会产生大量的失效数据,也称为数据垃圾。为了提升SSD的利用效率,这时候就该“垃圾回收”(Garbage Collection, 下文全部简称GC)出手了。

热门文章

最新文章