当前位置: 首页 > news >正文

浅析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-13Gbps2005
SAS-26Gbps2009
SAS-312Gbps2013
SAS-424Gbps2019/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单词结尾的行^$组合符&#xff…...

开发必备的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) 观察到博弈过程中胜负态不会发生改变&#xff0c;那么求出从每个棋子出发能走的最长链&#xff0c;然后背包即可。 复杂度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规范列表目录概述需求&#xff1a;设计思路实现思路分析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&#xff0c;skip hardness,m…...

Java必备小知识点1

Java程序类型: Applications和AppletApplications:是指在计算机操作系统中运行的程序。是完整的程序&#xff0c;能独立运行。被编译后&#xff0c;用普通的Java解释器就可以使其边解释边执行。必定含有一个main方法&#xff0c;程序执行时&#xff0c;首先寻找main方法&#x…...

JavaScript作用域、闭包

文章目录作用域、作用域链作用域作用域链循环中的作用域自由变量、闭包自由变量闭包的定义、表现、应用如何确定在闭包中获取正确的变量总结作用域、作用域链 作用域 编程语言中存储、访问、修改变量当中的值是一项基本能力、存储变量、访问变量必须按照一定的规则&#xff0…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#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 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...