1.什么是SAS

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

SAS的交换架构

SAS Phy:一个phy即是一个transceiver,每个phy都有一个SAS address,和一个唯一的identity;

SAS Port:一个port包含一个或一组phy,每个SAS Port有一个唯一的SAS地址,同一个Port中的所有phy公用一个address,即一个port只有一个SAS adderss;

SAS device:一个SAS device可以包括一个或多个SAS port,device里的每个phy有一个独立的identifier

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,也可以连接其他的dege expander device,一个edge expander set中只能包含128个SAS address。

Domain:即真个SAS交换构架

  SAS device和SAS expander device组成,其中,Device又区分为Initiator和Target,他们可以直接对接起来,也可以经过Expander进行连接,Expander起到通道交换或者端口扩展的作用,

每一个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*128=16384个port。当然,这并不是说每个SAS Domain可以连接16384个磁盘和SAS适配器,因为“Fanout  Expander” 与‘Edge Expander’相连接时,会占用一部分port。如果128个‘Edge Expander’全部连接到‘Fanout Expander’,内部互联至少占用256个port,也就是说,一个SAS域理论上可以连接16384-256个SAS End Device。对比光纤环路126个device的上限,16128这个数字仍然是非常可观

https://wenku.baidu.com/view/cbce1410cc7931b765ce15bd.html

sas(Serial Attached SCSI)技术详解的更多相关文章

  1. Serial attached SCSI

    http://en.wikipedia.org/wiki/Serial_attached_SCSI Serial attached SCSI From Wikipedia, the free ency ...

  2. 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)

    一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...

  3. 「视频直播技术详解」系列之七:直播云 SDK 性能测试模型

    ​关于直播的技术文章不少,成体系的不多.我们将用七篇文章,更系统化地介绍当下大热的视频直播各环节的关键技术,帮助视频直播创业者们更全面.深入地了解视频直播技术,更好地技术选型. 本系列文章大纲如下: ...

  4. 手游录屏直播技术详解 | 直播 SDK 性能优化实践

    在上期<直播推流端弱网优化策略 >中,我们介绍了直播推流端是如何优化的.本期,将介绍手游直播中录屏的实现方式. 直播经过一年左右的快速发展,衍生出越来越丰富的业务形式,也覆盖越来越广的应用 ...

  5. 《CDN技术详解》 - CDN知多少?

    开发时间久了,就会接触到性能和并发方面的问题,如果说,在自己还是菜鸟的时候完全不用理会这种问题或者说有其他的高手去处理这类问题,那么,随着经验的丰富起来,自己必须要独立去处理了.或者,知道思路也行,毕 ...

  6. Comet技术详解:基于HTTP长连接的Web端实时通信技术

    前言 一般来说,Web端即时通讯技术因受限于浏览器的设计限制,一直以来实现起来并不容易,主流的Web端即时通讯方案大致有4种:传统Ajax短轮询.Comet技术.WebSocket技术.SSE(Ser ...

  7. SSE技术详解:一种全新的HTML5服务器推送事件技术

    前言 一般来说,Web端即时通讯技术因受限于浏览器的设计限制,一直以来实现起来并不容易,主流的Web端即时通讯方案大致有4种:传统Ajax短轮询.Comet技术.WebSocket技术.SSE(Ser ...

  8. Protocol Buffer技术详解(数据编码)

    Protocol Buffer技术详解(数据编码) 之前已经发了三篇有关Protocol Buffer的技术博客,其中第一篇介绍了Protocol Buffer的语言规范,而后两篇则分别基于C++和J ...

  9. Protocol Buffer技术详解(Java实例)

    Protocol Buffer技术详解(Java实例) 该篇Blog和上一篇(C++实例)基本相同,只是面向于我们团队中的Java工程师,毕竟我们项目的前端部分是基于Android开发的,而且我们研发 ...

  10. Protocol Buffer技术详解(C++实例)

    Protocol Buffer技术详解(C++实例) 这篇Blog仍然是以Google的官方文档为主线,代码实例则完全取自于我们正在开发的一个Demo项目,通过前一段时间的尝试,感觉这种结合的方式比较 ...

随机推荐

  1. PostgreSQL 时间函数 extract函数

    计算时间差天数 select extract(day FROM (age('2017-12-10'::date , '2017-12-01'::date)));   计算时间差秒数 select ex ...

  2. WPS-系统缺失字体

    WPS-系统缺失字体 小书匠 linux  在Linux上新安装WPS后,第一次打开就出现以下问题: wps系统缺失字体 问题原因: Linux上缺少windows字体,把字体添加上去即可. 操作步骤 ...

  3. wepy快速入门

    Github地址 wepy官网:https://tencent.github.io/wepy/index.html 安装 wepy 命令行工具 npm install wepy-cli -g 在开发目 ...

  4. 前端逼死强迫症系列之javascript续集

    一.javascript函数 1.普通函数 function func(){ } 2.匿名函数 setInterval(function(){ console.log(123); },5000) 3. ...

  5. python 3 安装

    如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!!!! 不要动现有的python2环境! 一.安装p ...

  6. 在被open(url)打开的子页面往父页面传值时候这样

    function fnqd(zj,rwmc){ window.parent.opener.document.getElementById("jcrwModel_sjrwzj").v ...

  7. 三行代码CSS竖向居中

    .element{ position:relative; top:50%; transform:translateY(-50%); } 这里无需设置高度或者父元素的position属性.(IE9可用) ...

  8. 爬虫前提——正则表达式语法以及在Python中的使用

    正则表达式是用来处理字符串的强大工具,他并不是某种编程云. 正则表达式拥有独立的承受力引擎,不管什么编程语言,正则表达式的语法都是一样的. 正则表达式的匹配过程 1.一次拿出表达式和文本中的字符比较. ...

  9. Java 面向对象(十四)

    反射 反射是框架设计的灵魂 一.类的加载时机 当程序要使用某个类时,如果该类还未被加载到内存中,系统会通过加载,连接,初始化三步来实现对这个类进行初始化. 加载 :就是指将class文件读入内存,并为 ...

  10. Mac -- pkg-config: exec: "pkg-config": executable file not found in $PATH

    just run: brew install pkg-config