SAS (Serial Attached SCSI) 技术详解

2023-05-16

(一)什么是SAS SAS(Serial Attached SCSI)即串行SCSI技术,是一种磁盘连接技术,它综合了并行SCSI和串行连接技术(如FC、SSA、IEEE1394等)的优势,以串行通讯协议为协议基础架构,采用SCSI-3扩展指令集,并兼容SATA设备,是多层次的存储设备连接协议栈。 说到SAS,自然会联想到在存储上广泛使用的另外一种磁盘通道连接技术:FC(光纤通道),这里将2种磁盘通道连接技术做一个简单的对比。 FC 优点:基于Fabric Channel环路协

       (一)什么是SAS

      
SAS(Serial Attached SCSI)即串行SCSI技术,是一种磁盘连接技术,它综合了并行SCSI和串行连接技术(如FC、SSA、IEEE1394等)的优势,以串行通讯协议为协议基础架构,采用SCSI-3扩展指令集,并兼容SATA设备,是多层次的存储设备连接协议栈。

       说到SAS,自然会联想到在存储上广泛使用的另外一种磁盘通道连接技术:FC(光纤通道),这里将2种磁盘通道连接技术做一个简单的对比。

       FC

      

 
优点:基于Fabric Channel环路协议基础上的串行技术,通过给后端磁盘提供带宽2.0Gbit/s或者4.0Gbit/s的FC环路来进行磁盘的连接;FC线缆的连接距离远,比较容易扩展,是目前广泛采用的磁盘通道连接技术之一。

       缺点:FC接口速率虽然能到2.0Gbit/s或者4.0Gbit/s,但由于FC磁盘通道工作于环路模式下,一个光纤环路在同一时间只能实现单个磁盘的I\O,导致FC带宽不能被充分利用,并且影响到磁盘并行访问的性能。

       SAS

      
优点:SAS具备目前磁盘通道技术里面的最高接口速率,通过采用通道合并技术,SAS支持将多个phy合入一个port,可提供高达几十G的通道带宽,比如常用的4*SAS宽端口,带宽可达12Gbit/s;SAS的交换构架支持多个设备的扩展,一个SAS域理论上最多可接16128个设备,同时SAS设备支持24×7的多线程设计,可满足多任务的应用;SAS设备基于目前存储领域最成熟的SCSI技术,可兼容SATA,这使得SAS通道技术具备广泛的适用范围和良好兼容性。

       缺点:由于与SAS通道技术配合的SAS磁盘价格偏高,目前主要应用于企业级场合。

       小结:SAS作为磁盘通道技术,在接口带宽、工作性能、可扩展性、组网应用、可靠性等方面,有着突出的优势,尤其适合应用于企业级系统。

       (二)SAS的交换构架

      
要了解SAS的构架,先弄清几个概念:

       SAS Phy:一个phy即是一个transceiver,每个phy都有一个SAS addresss,和一个唯一的identifier;
       SAS Port:一个port包含一个或一组phy,每个SAS PORT有一个唯一的SAS地址,同一个Port中的所有phy共用一个address,即一个port只有一个SAS address;
       SAS device:一个SAS device可以包括一个或多个SAS port,device里的每个phy有一个独立的identifier。

SAS device,SAS port,SAS phy关系示意图

                                                              图1 SAS device,SAS port,SAS phy关系示意图

       End device:是一种SAS device,SAS物理连接的末端设备,例如HBA卡、Disk driver都是end device;
       Expander device:包括Edge expander device和Fanout expander device Fanout expander device:起中心交换作用,既可以直接连接到end device,也可以连接到edge expander device; Edge expander device:一般用于连接fanout expander device和end device,也可以连接其它的edge expander device,一个edge expander set中只能包含128个SAS address。

SAS Expander拓扑构图

                                                                          图2 SAS Expander拓扑构图

       Domain:即整个SAS交换构架,由SAS device和SAS expander device组成,其中Device又区分为Initiator和Target,它们可以直接对接起来,也可以经过Expander进行连接,Expander起到通道交换或者端口扩展的作用,如下图所示:

SAS交换构架示意图

                                                                               图3 SAS交换构架示意图

       每一个SAS initiator port和SAS target port都有一个单独的SAS address,expander device也有自己单独的一个SAS address,SAS的交换比较简单,直接用port的SAS address作为交换路由表的内容,没有任何转换过程,一般的交换方法有如下三种:

交换方法情况表

       理论上,每个"Edge Expander Set"可以支持128个port,每个SAS Domain可以有128 个"Edge Expander Set",这样每个SAS Domain中最多可以有128 x 128 = 16384 个port。当然,这并不是说每个SAS Domain可以连接16384 个磁盘和SAS适配器,因为"Fanout Expander"与"Edge Expander"相连接时,会占用一部分port。如果128 个"Edge Expander"全部连接到"Fanout Expander",内部互联至少要占用256个port。也就是说,一个SAS域理论上可以连接16384 - 256 = 16128个SAS End Device。对比光纤环路126 个device的上限,16128 这个数字仍然是非常可观。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SAS (Serial Attached SCSI) 技术详解 的相关文章

  • sas 日期时间转 R 日期格式

    我有一个包含日期时间变量的 SAS 数据集 我已使用 sas7bdat 包将此数据集移植到 R 中 但日期时间变量以整数格式显示 例如 1706835972 有什么办法可以将这个整数转换为日期格式吗 要准确匹配默认日期时间结构的 SAS 输
  • SAS 中的 PROC SQL - 所有项目对

    我有一个数据集 我需要在其中查看来自另一个组的所有项目对 我在下面创建了一个玩具示例来进一步解释 BUNCH FRUITS 1 apples 1 bananas 1 mangos 2 apples 3 bananas 3 apples 4
  • SAS 中的退出与运行语句

    在 SAS 中 退出 和 运行 有什么区别 声明 我不知道何时使用 退出 以及何时使用 运行 例如 为什么是proc datasets using quit but proc contents using run 这可以追溯到 SAS 曾经
  • 使用 PROC GLM “自动”计算参数估计值的线性组合

    背景 我有一个分类变量 X 有四个级别 我将其作为单独的虚拟变量 因此 共有三个虚拟变量 分别代表 x 1 x 2 x 3 x 0 是基线 问题 问题 我希望能够计算这些虚拟变量的线性组合 即使用 SAS 作为计算器 的值 例如 2 B1
  • SAS:使用 PROC IMPORT 导入 .xlsx 时定义类型

    问题 使用 PROC IMPORT 时如何定义从 xlsx 文件导入的变量的变量类型 My work 我正在使用 SAS v9 4 据我所知 它是普通的 SAS 我没有 SAS ACCESS 等 我的数据如下所示 ID1 ID2 MONTH
  • SAS 错误消息(致命:在 MISSING 涂片生成期间检测到代码生成错误)

    有谁知道这个错误消息是什么意思 致命 在 MISSING smear 生成期间检测到代码生成错误 它是在连接大约 40 个数据集时发生的 我相信这可能是由于变量太多 大约 217 而达到了内存限制 但最好能得到这一点的确认 日志档案 301
  • sas 为数据步骤中的每个实例执行宏

    我有一个宏 可以在一组给定的时间范围内将数据插入表中 它循环遍历一系列 从 到 日期 存储在数据集中 并使用 proc sql insert 语句运行宏 在所有这些结束时检查数据时 我注意到新数据集中只有最后一个 从 到 期间的数据 这是我
  • SAS中的逻辑函数确定变量的特定值是否为数字?

    我有一个主要是数值的变量 但偶尔会有一个字符潜入 因此 变量在 SAS 中存储为字符 我希望能够确定此字符变量中的各个值是否是数字 在知道哪些值是数字 哪些是字符后 我想创建一个新的 数字 变量 其中字符变量的数字值存储为数字 而字符值存储
  • VBA - 打开Excel,查找和替换,删除行,另存为csv

    我正在尝试用VBA编写一个程序 以便我可以从SAS 一种统计编程软件 远程操作excel文件 我希望该程序能够完成以下任务 打开指定的excel文件 查找标题行中的所有空白并将其替换为空 例如 测试名称 变为 测试名称 如果行中的第一个单元
  • 使用SAS和mkdir在windows中创建目录结构

    我想在 Windows 中从 SAS 中创建目录结构 最好使用允许我指定 UNC 命名约定的方法 例如 computername downloads x y z 我在网上看到很多使用 DOS 的 SAS 示例mkdir通过调用命令 syse
  • 拆分 SAS 数据集

    我有一个 SAS 数据集 如下所示 id dept 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 A 9 B 10 B 11 B 12 B 13 B 每个观察代表一个人 我想将数据集分成 团队 数据集 每个数据集最多可以有 3
  • 想要创建序列号

    我想生成序列号 e g I have NID ABD90 BGJ89 HSA76 而且我要 ID NID 1 ABD90 2 BGJ89 3 HSA76 我应该运行什么代码才能得到这个结果 请帮我 既然你标记了 SAS 我就用 SAS 来回
  • SAS数字到字符的转换?

    当我们将数字转换为字符时 我们应该使用如下的数字格式 data test prodID 001 result put prodID 1 run proc print run 我也尝试过使用字符格式 1 而且它也有效 data test pr
  • 将 CSV 中的所有列导入为字符?

    简单的问题 PROC IMPORT OUT braw address DATAFILE path address data csv DBMS csv REPLACE GETNAMES YES RUN 该语句将创建数据集列作为字符or数字取决
  • Proc sql:基于回顾期的新客户和继续客户

    我有以下数据 wei 01feb2018 car wei 02feb2018 car wei 02mar2019 bike carlin 01feb2018 car carlin 05feb2018 bike carlin 07mar201
  • 宏中的 SAS 宏

    我有一个关于 macro 的问题 我可以在另一个 宏中设置 宏吗 简短的例子 情况的 图片 macro Tier 1 do Iter 1 to i macro Tier 2 proc sql noprint select 1 Iter in
  • 使用 COMMAw,d 转换数字

    我正在关注SAS 帮助页面 http support sas com documentation cdl en lrdict 64316 HTML default viewer htm a000200667 htm并试图获得与页面底部示例相
  • 在R中导入SAS cport文件

    我试图通过一些分析找出一种在 R 中导入 SAS cport 文件的方法 有人可以帮助我如何完成这项工作吗 我不想先使用 SAS 将其转换为 csv 然后再导入到 R 中 我尝试用谷歌搜索但无法找到合适的解决方案 Thanks None
  • 使用 SAS EG 通过代理从 API 下载 JSON 文件

    我正在尝试使用瑞士当局提供的 API 对公司网络内的地址进行地理编码 我的公司使用带有用户名和密码的代理服务器 我是 SAS EG 的新手 这是我迄今为止拥有的代码 我必须匿名一些内容才能被允许在此处发布 filename response
  • SAS,按组求和

    我想通过var1计算总和 你能用两种方法来计算吗 SQL 和数据步骤使用 if first var1 data have input var1 var2 var3 datalines 1 a 3 1 a 4 1 a 3 2 b 5 2 b

随机推荐