浅析SAS协议(1):基本介绍
文章目录
- 概述
- SAS协议发展历程
- SAS技术特性
- SAS设备拓扑
- SAS phy
- SAS地址
- SAS设备类型
- SAS协议分层
- 参考链接
概述
SAS,全称Serial Attached SCSI,即串行连结SCSI,是一种采用了串行总线的高速互连技术。通过物理上使用串行总线连结,在链路上传输SCSI协议标准命令,SAS替代了早期的并行SCSI总线传输技术,相较于后者,SAS实现了更高的传输速率、更方便的连接以及更高的扩展性。当前,SAS在服务器以及存储阵列中广泛应用,主要用于连接硬盘和硬盘框。
SAS协议发展历程
SAS协议自2005年发布SAS 1.0版本后,先后又发布了2.0、3.0以及4.0版本,每个新发布的版本传输速率较于上一代都实现了翻倍。当前,市面上应用最广泛的主要是SAS 3.0(12G SAS),涉及的产品很多,其后的SAS 4.0版本也逐渐有厂商发布了对应的存储设备,后续会陆续应用到市场当中。
| 协议版本 | 速率 | 发布时间 |
|---|---|---|
| SAS-1 | 3Gbps | 2005 |
| SAS-2 | 6Gbps | 2009 |
| SAS-3 | 12Gbps | 2013 |
| SAS-4 | 24Gbps | 2019/2020 |
SAS技术特性
SAS支持以下技术特性:
- 采用串行总线技术,可以实现更高带宽的硬件链路,目前应用最广泛的SAS 3.0版本,单条链路可以支持到12Gbps/s的速率;
- 点对点的结构,可提供端点间固定的带宽,避免了共享总线带来的瓶颈效应;
- 全双工的数据传输,SAS的物理链路包含了发送和接收两组差分信号线路,可以实现双边同时传输数据,提高数据的吞吐量;
- 高扩展性:SAS协议支持使用Expander设备扩展连接SAS设备,最高可在一个SAS域内支持65535的设备数量;
- 兼容性:SAS在链路协议以及接口上均实现了对SATA的兼容,支持接入SATA盘,并传输SATA数据帧。
SAS设备拓扑
SAS在实际应用场景中,主要用来接入硬盘以及硬盘框,如下图,是一个基础的SAS组网模型,其中,SAS主机适配器作为启动器,可以直连SAS或SATA设备;同时还接入了一个Expander设备,从而可以扩展更多的SAS设备。

SAS总线通过点对点的方式将两个设备连结到一起,连接点称为端口。每个SAS设备至少需要包含一个端口,对于SAS HBA和Expander设备通常会包含多个端口。一个SAS端口由一个或以上的Phy(对应于一条物理链路)组成,如果端口中仅有一个Phy,该端口被称为窄端口,如上图中x1端口;有包括多于一个的Phy,则称其为宽端口,如上图中x4宽端口。
在对SAS组网模型有了一个基础的认识后,我们再来看一下SAS设备拓扑相关的其它一些基本术语和概念。
SAS phy
SAS phy是一个逻辑概念,包含了一个收发器,可以在物理链路上实现发送或接收数据。当连接两个设备时,设备间的链路示意图如下:

可以看到,SAS的一条物理链路包含了两组差分信号对,分别用于发送和接收方向,并且允许同时在两个方向上进行传输,即全双工。
SAS地址
SAS地址是一个64位长度的标识符。对于设备中每个phy都配置了一个SAS地址,并且如果多个phy需要组成宽端口,需要配置相同的SAS地址。SAS协议规定,SAS地址应该使用NAA IEEE注册格式进行定义,如下:

如果SAS地址的所有字段全为0,则会被视为无效的标识。
SAS设备类型
SAS协议定义了两种类型的SAS设备:End Device和Expander Device,其中:
- End Device:SAS协议定义不是Expander设备的设备都属于End Device,包括SAS主机适配器、SAS硬盘等。End device不具备转发能力;
- Expander Device:可以提供设备扩展能力,允许系统接入更多的SAS设备。
SAS协议分层
SAS协议分为6个层次,从低到高依次是物理层、Phy层、链路层、端口层、传输层和应用层:

各个分层功能描述如下:
- 物理层(physical layer):主要定义了SAS线缆和接口的规范,电气特性和SAS phy层中用于SAS收发器的测试条件;
- Phy层(phy layer):负责传输上层协议的比特流,定义了编码方案、供电/复位序列等;
- 链路层(link layer):定义了如何控制phy层连接管理。链路层根据所处理的协议不同还分为SSP链路层(串行SCSI协议链路层)、STP链路层(串行隧道协议链路层)、SMP链路层(串行管理协议链路层);
- 端口层(port layer):描述的是链路层和传输层的接口,包括如何请求、中断、如何选择建立连接。SAS端口层可以通过相关的SAS链路层同接口中所有的phy进行通讯;
- 传输层(transport layer):主要负责SAS帧的封装和分解。具体的来说传输层能从端口层接收SAS帧并且解析,然后将SAS帧内要传输的内容发送给应用层,反之依然。根据所处理的具体协议不同,传输层分为:SSP传输层(串行SCSI协议传输层)、STP传输层(串行隧道协议传输层)和SMP传输层(串行管理协议传输层);
- 应用层(application layer):描述了如何在不同类型的应用下使用SAS的细节,它产生请求并且向相关的传输层发送请求(比如,SCSI应用层给SSP传输层发送请求,要求向一个SSP目标端口发送一条SCSI命令),并且从相关的传输层接收请求响应结果。
参考链接
- 《SAS Protocol Layer》
- 《SAS Storage Archteciture》
相关文章:
浅析SAS协议(1):基本介绍
文章目录概述SAS协议发展历程SAS技术特性SAS设备拓扑SAS phySAS地址SAS设备类型SAS协议分层参考链接概述 SAS,全称Serial Attached SCSI,即串行连结SCSI,是一种采用了串行总线的高速互连技术。通过物理上使用串行总线连结,在链路…...
93.【Vue-细刷-02】
Vue-02(十六)、基本列表渲染 (v-for)1.使用v-for遍历数组2.使用v-for遍历对象3.使用v-for遍历字符串(十七)、列表过滤 (filter())1.⭐JS中Change属性的原生状态⭐2.使用watch监听实现3.const {xxx} this 在Vue的作用⭐⭐4.JS箭头函数参数的简写⭐5.使用computed进行计算实现(最…...
Allegro负片层不显示反盘的原因和解决办法
Allegro负片层不显示反盘的原因和解决办法 在用Allegro做PCB设计的时候,负片设计是较为常用的一种方式,有时会出现打开负片层却看不到反盘的情况,如下图 L2层是负片层 L2层仍然只能看到盘 如何才能看到反盘显示的效果,具体操作如下 首先确定L2层层叠里面设置的是负片...
ACM数论 裴蜀定理(贝祖定理)
一.内容定义 「裴蜀定理」,又称贝祖定理(Bzouts lemma)。是一个关于最大公约数的定理。其内容定义为:对于不全为零的任意整数 a 和 b,记二者的最大公约数为 g 即 gcd(a,b) g,则对于任意整数 x 和 y 都一定…...
基础篇—CSS Position(定位)解析
CSS Position(定位) position 属性指定了元素的定位类型。 position 属性的五个值: relativefixedabsolutesticky元素可以使用的顶部,底部,左侧和右侧属性定位。然而,这些属性无法工作,除非是先设定position属性。他们也有不同的工作方式,这取决于定位方法。 1、static…...
正则表达式与grep
基本正则表达式BRE集合 匹配字符匹配次数位置锚定 符号作用^尖角号,用于模式的最正常,如“^haha”,匹配以haha单词开头的行$美元符,用于模式的最右侧,如“haha$”,表示haha单词结尾的行^$组合符ÿ…...
开发必备的IDEA 插件!效率提升 50 倍!
日常开发中,面向百度编程的程序员,很多时候,你跟大佬级别的差距,可能不仅仅是知识面的差距,还有就是开发效率的差距。以下是我常用的几个IDEA插件,废话不多说,直接肝干货! 1. Codot…...
aws eks 集群访问ecr仓库拉取镜像的认证逻辑
本文主要讨论三个问题 ecr帮助程序在docker上如何配置eks集群访问ecr仓库的逻辑kubelet授权ecr的源码分析 ecr帮助程序 在docker环境下,可以通过在$HOME/.docker/config.json中指定凭证管理程序 docker login aws同样提供了证书助手,避免手动执行ecr认…...
Linux Socket Buffer介绍
一. 前言 Linux内核网络子系统的实现之所以灵活高效,主要是在于管理网络数据包的缓冲器-socket buffer设计得高效合理。在Linux网络子系统中,socket buffer是一个关键的数据结构,它代表一个数据包在内核中处理的整个生命周期。 二. Socket Bu…...
ACL与NAT
ACL---访问控制列表,是一种策略控制工具 功能:1.定义感兴趣流量(数据层面 ) 2.定义感兴趣路由(控制层面) ACL 条目表项组成: 编号规则:步数或者跳数默认值为5,…...
使用gdb来debug程序并查找Segmentation fault原因
GDB 调试前言GDB基础用法1.启动及退出调试2.设置参数3.执行程序4.流程控制5.设置断点6.输出信息7.查看栈帧8.info命令9.显示源码GDB调试coredump文件关注公众号【程序员DeRozan】,回复【1207】,免费获取计算机经典资料及现金红包 前言 在开发程序时&…...
vbs简单语法及简单案例
文章目录一、简单语法1、变量2、输入3、输出4、选择语句5、循环二、用记事本编译中文乱码问题三、制作一个简单vbs脚本表白一、简单语法 1、变量 语法: dim 变量名例: dim a,b a1 b2 msgbox ab运行: 2、输入 语法:InputBox(…...
学板绘课程学费一般多少钱
学板绘课程学费一般多少钱?培训机构的费用和师资、模式有关,价格贵不贵要结合相同类型的机构多多对比。因为好些平台做了很多的宣传广告,运营成本很高, 终羊毛出在羊身上,这样的机构知名度很高,但是性价比不…...
48.在ROS中实现local planner(1)- 实现一个可以用的模板
有了之前45.在ROS中实现global planner(1)- 实现一个可以用模板的global planner的经验, 现在再去创建一个local planner的包就容易多了 1. 创建包 创建 cd ~/pibot_ros/ros_ws/src # 这里可以使用自己的ros workspace catkin_create_pkg sample_loc…...
jenkins基础部署
一、jenkins是什么1.Jenkins的前身是Hudson,采用JAVA编写的持续集成开源工具。Hudson由Sun公司在2004年启动,第一个版本于2005年在java.net发布。2007年开始Hudson逐渐取代CruiseControl和其他的开源构建工具的江湖地位。在2008年的JavaOne大会上在开发者…...
Unity3D -知识点(1)
1.场景视图鼠标滚轮:场景放大缩小鼠标右键:场景左右平移场景编辑器中,能看到什么?网格,每一格大小为1unit,建模不同,规定不同,(对应屏幕上100个像素)世界坐标系y轴向上为正x轴向右为…...
【学习笔记】NOIP暴零赛3
博弈(game) 观察到博弈过程中胜负态不会发生改变,那么求出从每个棋子出发能走的最长链,然后背包即可。 复杂度O(nm)O(nm)O(nm)。 #include<bits/stdc.h> #define ll long long #define pb push_back using namespace std; const int mod9982443…...
Java JSR规范列表
Java JSR规范列表目录概述需求:设计思路实现思路分析1.JSR2.JSR方法3.web service4.Webservice:5.数据处理器拓展实现参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,m…...
Java必备小知识点1
Java程序类型: Applications和AppletApplications:是指在计算机操作系统中运行的程序。是完整的程序,能独立运行。被编译后,用普通的Java解释器就可以使其边解释边执行。必定含有一个main方法,程序执行时,首先寻找main方法&#x…...
JavaScript作用域、闭包
文章目录作用域、作用域链作用域作用域链循环中的作用域自由变量、闭包自由变量闭包的定义、表现、应用如何确定在闭包中获取正确的变量总结作用域、作用域链 作用域 编程语言中存储、访问、修改变量当中的值是一项基本能力、存储变量、访问变量必须按照一定的规则࿰…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
