CN108885599B - 用于串行附连小型计算机系统接口链路的方法和设备 - Google Patents
用于串行附连小型计算机系统接口链路的方法和设备 Download PDFInfo
- Publication number
- CN108885599B CN108885599B CN201780022470.XA CN201780022470A CN108885599B CN 108885599 B CN108885599 B CN 108885599B CN 201780022470 A CN201780022470 A CN 201780022470A CN 108885599 B CN108885599 B CN 108885599B
- Authority
- CN
- China
- Prior art keywords
- serial attached
- attached scsi
- grouping
- sas
- target device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Systems (AREA)
Abstract
提供了与串行附连SCSI(SAS)存储互连技术相关的方法、设备和系统。SAS串行连接通过物理链路被建立在SAS启动器和SAS扩展器之间,以用于该SAS启动器和多个目标设备之间的通信。该多个目标设备与SAS扩展器进行通信。与该多个目标设备中的每一者相关联的SAS分组被动态地复用并通过单个SAS串行连接来被传送。每个SAS分组包括指示该SAS分组所关联的目标设备的一个或多个信息位。通过SAS连接传送的经动态复用的SAS分组可包括与具有不同的最大物理链路速率的至少两个目标设备相关联的SAS分组。当具有较慢物理链路速率的老旧SAS目标设备被利用时,结果可以是物理链路的改进的带宽利用率。
Description
关联申请的交叉引用
本申请要求于2016年1月29日提交的美国临时专利申请No.62/288,677的优先权的权益,所述美国临时专利申请通过引用而被合并在此。
技术领域
本公开涉及串行附连小型计算机系统接口(SCSI,或简称SAS)存储互连技术,包括但不限于用于SAS链路的时分复用速度聚合技术。
背景
在SAS中,启动器设备通常是诸如计算机之类的主机,并且目标设备通常是诸如机械硬盘驱动器(HDD)或固态盘驱动器(SSD)之类的存储设备。SAS使用基于连接的协议而不是基于分组的协议。SAS链路层协议为SAS启动器和目标提供了请求彼此的连接路径的手段。当连接活动时,所连接的启动器和目标设备可交换包含命令、数据和状态信息的帧。SAS扩展器充当基于连接的交换机,并且促成将多个SAS启动器和目标设备彼此连接。
SAS协议层4(SPL-4)标准通常将物理链路定义为两个差分信号对,每个方向上一对,这两个差分信号对连接两个物理PHY。另外,该标准通常将连接定义为SAS启动器端口和SAS目标端口之间的使用通路的临时关联。如本文中所使用的术语链路和连接应被理解为与该定义一致。
图1示出了SAS系统100中的简单示例配置,其包括通过SAS链路110连接到扩展器104的启动器102。系统100进一步包括一条或多条链路112上的一个或多个目标设备106,诸如盘驱动器。
串行SCSI存储系统已发展超过四代,并且关键价值在于老旧代设备可以与最新一代协议和链路速率互操作。SAS是具有端到端连接协议的差分对接口。还针对发射机和接收机PHY和串行化器-解串行化器(SERDES)定义了电特性。用于SAS的受支持的比特率如下表1所示。
表1
SAS通过可用的电链路或信道本机地做出单个端到端连接。这在SAS-4链路被用于SAS-2连接时变得非常低效,其中带宽利用率仅为22.5Gb/s通道中的6Gb/s。
带宽利用率是对最新SAS-4(22.5Gb/s)的挑战,并且被普遍预计在将来更快速的SAS世代中是一种挑战。包括各种各样的高容量存储设备的存储基础设施可能无法个体地使最大可能的链路速率速度饱和。大多数SAS硬盘驱动器(HDD)设备被预计不支持比12Gb/s更快速的链路,而串行ATA(SATA)硬盘驱动器支持6Gb/s作为其最快速的可能链路速率。这意味着未经修改的SAS存储基础设施在与这些设备相结合地操作时将以低带宽利用率运行(即,对6GB/s设备而言为25%,对12Gb/s设备而言为50%)。现有的HDD介质读/写速率远低于此,在约200MB/s。不能够利用技术的可用带宽的全部容量通常导致次优系统性能。
SAS链路中的改进是合需的。
概述
根据一个方面,本公开涉及一种串行附连SCSI(SAS)系统中的方法,该方法包括通过物理链路在SAS启动器和SAS扩展器之间建立SAS串行连接,用于该SAS启动器和多个目标设备之间的通信,该多个目标设备与该SAS扩展器进行通信,以及通过该SAS连接来传送与该多个目标设备中的每一者相关联的SAS分组,其中该传送包括通过该SAS连接动态复用该多个目标设备中的每一者的SAS分组,并且其中每个SAS分组包括指示该SAS分组所关联的目标设备的一个或多个信息位。
在一实施例中,该动态复用包括至少部分地基于目标设备的数量来调度与目标设备中的每一者相关联的SAS分组。
在一实施例中,该动态复用包括至少部分地基于被目标设备中的每一者支持的最大物理链路速率来调度与目标设备中的每一者相关联的SAS分组。
在一实施例中,对SAS分组的调度根据加权循环(round robin)方案来被执行,其中被分配给目标设备中的每一者的SAS分组的权重成比例地基于被相应目标设备支持的最大物理链路速率。
在一实施例中,通过SAS连接传送经动态地复用的SAS分组包括传送与具有不同最大物理链路速率的至少两台目标设备相关联的SAS分组。
在一实施例中,动态地复用SAS分组包括在传输之前用与目标设备之一相关联的包含活动数据的SAS分组来替换与目标设备中的另一者相关联的空闲SAS分组。
在一实施例中,该方法进一步包括通过SAS连接来传送非SAS分组,其中该传送包括通过SAS连接动态地复用该多个目标设备中的每一者的SAS分组和非SAS分组。
在一实施例中,该复用是时域复用。
根据一个方面,本公开涉及一种串行附连SCSI(SAS)设备,其包括存储器、和与该存储器处于通信的处理器,该处理器被配置成控制该设备:通过物理链路在SAS启动器和SAS扩展器之间建立SAS串行连接,用于该SAS启动器和多个目标设备之间的通信,该多个目标设备与该SAS扩展器进行通信,以及通过该SAS连接来传送与该多个目标设备中的每一者相关联的SAS分组,其中该传送包括通过该SAS连接动态复用该多个目标设备中的每一者的SAS分组,并且其中每个SAS分组包括指示该SAS分组所关联的目标设备的一个或多个信息位。
在一实施例中,该动态复用包括至少部分地基于目标设备的数量来调度与目标设备中的每一者相关联的SAS分组。
在一实施例中,该动态复用包括至少部分地基于被目标设备中的每一者支持的最大物理链路速率来调度与目标设备中的每一者相关联的SAS分组。
在一实施例中,对SAS分组的调度根据加权循环方案来被执行,其中被分配给目标设备中的每一者的SAS分组的权重成比例地基于被相应目标设备支持的最大物理链路速率。
在一实施例中,通过SAS连接传送的经动态复用的SAS分组包括与具有不同最大物理链路速率的至少两台目标设备相关联的SAS分组。
在一实施例中,动态地复用SAS分组包括在传输之前用与目标设备之一相关联的包含活动数据的SAS分组来替换与目标设备中的另一者相关联的空闲SAS分组。
在一实施例中,该处理器被进一步配置成控制该设备通过SAS连接来传送非SAS分组,其中该传送包括通过SAS连接动态地复用该多个目标设备中的每一者的SAS分组和非SAS分组。
在一实施例中,该复用是时域复用。
在一实施例中,该SAS设备是SAS启动器。
在一实施例中,该SAS设备是SAS扩展器。
通过结合附图审阅下面对特定实施例的描述,本公开的其他方面和特征对本领域普通技术人员而言将变得显而易见。
附图简述
现在将参考附图仅通过示例的方式来描述本公开的各实施例。
图1是示例SAS系统的框图。
图2是表示SAS-4链路上的用于SAS-2连接的时隙分配的示图。
图3是示出示例SAS连接请求的概念视图的数据流图。
图4是表示至少一个实施例中的分数信道复用(FCM)协商的过程流图。
图5是SAS-4分组格式的表示。
图6是至少一个实施例中的包括FCM字段的SAS-4分组格式的表示。
图7是针对FCM的至少一个实施例中的示例架构模型框图。
图8是表示包括连续分组的示例FCM信道的图。
图9是示出其中三个不同连接利用FCM信道的示例实施例的图。
图10是示出其中与一台目标设备相关联的空闲SAS分组被与另一目标设备相关联的SAS分组替换的另一示例实施例的示图。
图11是解说被用来以其本机SAS格式观察FCM连接数据的端口镜像的示例的示图。
图12是示出具有老旧设备和启用FCM的设备两者的示例拓扑的示图。
图13A、13B和13C是示出各种FCM信道调度示例的示图。
图14是示例电子设备的框图。
详细描述
为了解说的简明和清楚起见,可以在附图中重复附图标记以指示对应或类似的元素。阐述了许多细节以提供对本文中所描述的各实施例的理解。可以在没有这些细节的情况下实践各实施例。在其他实例中,没有详细描述公知的方法、规程和组件以避免模糊所描述的各实施例。本描述不应被认为受限于本文中所描述的各实施例的范围。
对SAS技术而言越来越重要的一个领域是在SAS启动器(控制器)设备和以不同物理链路速率操作的SAS或串行AT附连(SATA)目标设备(例如,盘驱动器)之间通过SAS扩展器发送的数据话务(data traffic)的聚合。
现有办法是2比1(2-to-1)时分复用方案,其在SAS-2标准规范中被定义。另一办法是被实现在SAS扩展器中的速率匹配缓冲器。然而,这两种办法都遭受到一个或多个缺点的困扰。
SAS世代1至4的被支持的比特率如上表1所示。SAS通过可用的电链路或信道本机地做出单个端到端连接。再次,这在SAS-4链路被用于SAS-2连接时变得非常低效,其中带宽利用率仅为约25%(在22.5Gb/s通道上6Gb/s)。这被表示在图2中,其仅示出了每四个时隙中仅一个时隙202包含数据,而其他三个时隙204没有被利用。
对于任何结构(fabric)而言,能够利用技术的可用带宽的全部容量来提供最大系统性能和/或为系统实现者提供良好的投资回报可能是有价值的。
创建对所有其他SAS组件透明的稳健且灵活的机制的挑战可能要求多个专用特征。一项可能的挑战是确保被本机地设计以作为端到端连接协议操作的SAS连接能够彼此独立地操作-并且根据本公开来透明地操作分数信道复用(FCM)过程。这包括处置以下中的一者或多者:热插拔事件、误码、重试事件、信用和流量控制以及透明地打开和关闭连接。
相应地,本公开涉及在支持一个或多个较低比特率的系统内利用诸如SAS-4链路之类的较高速链路的过程、设备和系统。
本公开介绍了可提供优于先前办法的优点的话务聚合技术。
在一个方面,本公开涉及使用本发明的话务聚合技术一起工作以通过更好的链路利用率来提供更高性能的SAS启动器和SAS扩展器。本发明的教导可用基于第四代SAS规范(SAS-4)和更后的标准规范的存储方法、设备和系统来实现。
在一个方面,本公开提供了一种协商高带宽SAS连接(例如SAS-4连接)并接着将SERDES位映射修改成支持多个独立容器(例如,时隙)的新分组格式的系统。多个独立容器被用来标识分开的SAS逻辑连接。这可增加SAS系统中的带宽利用效率。连接可以从各自以任何比特率运行的多个附连的目标(诸如存储设备)聚合。
在一个方面,本公开提供了SAS链路上的分数信道复用(FCM),其产生一种在SAS扩展器设备和作为SAS启动器设备操作的SAS主机总线控制器设备内实现的用于带宽聚合的有效且透明的方法。
在一个方面,本公开涉及与SAS扩展器或SAS主机启动器的SAS链路层交织的技术和设备,以便针对所有附连的SAS设备透明地互操作。
在一个方面,本公开提供了FCM,其涉及被复用到若干虚拟通道中的分组化信道的创建。每个通道可作为唯一的SAS连接来操作。
串行附连SCSI(SAS)是一种基于连接的协议,其具有对在每个事务的单个经协商的连接上操作的事务的协议支持。SAS不是一种分组传输协议。相反,它是一种使用专用连接(类似于电话呼叫)的协议。
在至少一些实施例中,SAS协议不被改变。FCM信道可表现为支持标准命令、功能、错误处置和管理的一组多个虚拟SAS通道。
标准SAS连接性通过报告源和目的地地址的握手机制来请求对链路的租用,使得大型拓扑可支持增加基础设施(类似于交换机)设备的规模的扩展器设备所作的路由和拥塞管理。图3是示出启动器和目标设备之间的示例SAS连接请求的概念视图的数据流图。
SAS协议使用OPEN(开放)地址帧和其他链路层控制原语来协商从一端设备通过一个或多个扩展器设备到另一端设备的连接路径。在连接被协商时,源和目的地SAS地址针对连接来被定义,并且当该连接“打开”时,所交换的全部信息都严格地处于协商过连接的启动器和目标设备配对之间。连接时间(链路租期)是可变的,并且在连接仍然有效时允许流量控制和空闲数据周期。
本公开的分数信道复用(FCM)通常能与标准SAS-4协议互操作。FCM定义链路层的次级协商,以将本机链路比特流使用在经修订的分组格式中。
图4是表示至少一个实施例中的FCM协商的过程流图400。FCM连接的初始化起始于完全兼容SAS-4的通道,并且添加次级阶段的协商以支持FCM。
过程400在框402处开始并行进到其中确定所附连的设备是否支持FCM的框404。如果否的话,则过程行进到其中连接可作为标准SAS连接来被操作的框414。如果是的话,则过程行进到其中位映射被重新格式化的框406。例如,位映射可被重新格式化成152位分组,并且前向纠错(FEC)算法可针对FCM来被修改。该过程行进到其中FCM分组的发送和接收被验证的框408。该过程行进到其中FCM模式的操作是否被确认的框410。如果FCM模式被确认,则过程行进到其中FCM分组可针对多个分组传送流来被供应的框412。如果在框410处FCM模式没有被确认的话,则过程行进到其中连接可作为标准SAS连接来被操作的框414。
SAS链路协商已包括了用于在SNW-3速度协商窗口期间协商链路参数的机制。32个PHY功能位被交换。该交换发生在链路确定最终链路速率、扩展频谱行为和复用的操作模式之前。链路在决定采用哪些模式时使用“最小公分母”。相应地,存在15个保留的PHY功能位。在一实施例中,所保留的位中的至少一者可被用来请求分数信道复用(FCM)模式。
在SAS-3及更早版本中,SAS链路交换了8b10b编码的双字数据,这些双字数据定义了要在SAS链路上声明的最小信息级别,其在2017年1月12日的文档T10/BSR INCITS 538,信息技术-SAS协议第4层(SPL-4)修订版11(在此被称为SPL-4r11,其通过援引被合并在此)中被定义为“SAS双字模式”。该文档是T10的工作文档,T10是可信任标准委员会INCITS(国际信息技术标准委员会)的一个技术委员会。
在SAS-4中,链路编码被改变为128位的数据,这些数据位被封装到150位SAS协议层(SPL)分组中,其在SPL-4r11中被定义为“SAS分组模式”。SPL分组在本文中被简称为SAS分组。
图5示出了SAS-4分组格式500。如图所示,该分组包括2位报头、128位有效载荷、和20位前向纠错(FEC),以给出128b150b分组(128位有效载荷、和用于SPL报头和FEC的22位)。19.2Gb/s数据波特率导致22.5Gb/s线路速率,其包括报头和FEC开销。Reed-Solomon FEC增加了可靠性并且允许更高的信道损耗,从而实现与SAS-3相当的类似电缆和背板布线长度,同时保持优于10e-15误码率(BER)(被定义在SAS-4中)。
根据本公开,SAS分组可被修改以添加标识分组从属关系的附加FCM位。
图6示出了一非限制性实施例,其中FCM分组600具有2个FCM位。然而,还构想了更小和更大的FCM位字段以允许如适合于话务剖析的更少或更多的虚拟通道。
因此,信息位可被添加到SAS分组以指示该分组属于物理链路上的若干逻辑复用的信道中的哪个信道。信息位可被称为FCM位。
另外,前向纠错(FEC)算法可被改变以支持对扩展的字段(例如,取代130位有效载荷的132位有效载荷)的保护。
相应地,在至少一些实施例中,取代通过物理SAS链路为启动器和给定目标之间的每个通信建立和拆除连接,单个连接可被用于针对多个目标(例如,盘驱动器)的数据通信。每个盘驱动器都在唯一的链路层中工作。附属于特定盘驱动器的数据可被打包到一个或多个FCM分组中并通过共享连接被发送。FCM以受复用链路层控制的任何合适的顺序将可用的出口分组复用到FCM信道上。在一实施例中,FCM复用可按尝试确保平衡的吞吐量的方式来被执行。以此方式,来自不同盘驱动器的FCM分组可以在单个物理链路上交织,并且被以高达主物理链路的最大链路速率发送。数据交织可因此在逐个分组的基础之上被完成。术语交织在本文中一般被用来意指复用。
每个FCM分组可被分配来携带附属于特定虚拟SAS连接的信息。FCM位指示分组从属关系,使得有效载荷被引导到合适的链路层。图7示出了用于支持在单个FCM上操作的多达四个独立链路的FCM的至少一个实施例中的系统700的示例架构模型框图。分数复用利用率可以由FCM位来确定,并且不一定由任何交替分组序列或任何时间因素来确定。
在一实施例中,FCM将分组源和目的地复用到唯一的链路层功能中。FCM位定义每个分组被引导到哪个链路层。每个虚拟链路层都作为唯一的SAS通道来操作。任何设备都可以独立于设备比特率而在FCM信道上的任何可用的虚拟通道上发出SPL OPEN ADDRESSFRAME(SPL开放地址帧)。SAS连接使用标准SAS协议来进行协商。FCM以受复用链路层控制的任何顺序将可用的出口分组复用到FCM信道上以确保平衡的吞吐量。
图7的系统700包括通过物理链路720被连接到扩展器732的启动器702。扩展器732被连接到一个或多个目标设备750。启动器702包括具有复用器调度器的分派器704。还示出了多个传输层706和链路层708配对。在扩展器732中示出了多个对应的扩展器链路层736。在该实施例中,存在对应于4个虚拟通道的4个链路层。分派器704中的和扩展器连接管理器(ECM)738中的调度功能将传出连接请求分配给可用的逻辑信道。连接请求的分配可以基于负载平衡决定。在一实施例中,启动器分数复用PHY层710和扩展器分数复用PHY层734中的加权循环复用器基于一些准则按用于物理链路上的传输的分数比率来复用来自多个逻辑信道的话务。示例准则是所请求的连接速率。所请求的速率可以是目标设备的最大物理连接速率。另外,流量控制缓冲器740可被用于串行SCSI协议(SSP)话务以防止信道超支(overrun)。流量控制缓冲器740管理来自目标750的数据流,以防止使返回到启动器702的“分数”(即,降低的容量)数据信道超支。串行隧道协议(STP)流量控制不被改变。SSP流量控制通常需要具有足够的缓冲器深度来吸收由启动器发出的最大数量的信用。控制逻辑对由目标和启动器发出的信用进行跟踪和扼流。
图8示出了包括分组802的经复用的流的示例FCM信道800。该流中的任何分组可被任何虚拟SAS连接利用。图8还示出了FCM分组802的经复用的流中的三个不同示例分组810、820、830,即分组802可以是分组810、820或830中的任何分组的实例。分组810包括来自6Gb/s链路的32位的有效载荷。分组820包括来自12Gb/s链路的64位的有效载荷。分组830包括来自12Gb/s链路的128位有效载荷。分组的经复用的流允许分数复用PHY层利用可用数据来管理拥塞并优化带宽利用率。
图9示出了利用FCM信道的三种不同连接的示例。数据902与6Gb/s连接相关联,数据904与12Gb/s连接相关联,并且数据906与22.5Gb/s相关联。分组被复用到信道上的顺序可以由基于一个或多个参数操作用于复用的算法的分数复用PHY层来定义,该一个或多个参数包括但不限于,例如,数据的可用性、连接的优先级、入口和出口缓冲器的状态以及未决的连接请求。在该示例中,扩展器能够利用示例中示出的连接速率在单个FCM物理链路上为3个连接服务,但22.5Gbps物理链路的总带宽容量尚未被超过。
用于优化利用率的信道复用的仲裁可通过公平算法来被管理,该公平算法评估话务简档、经协商的优先次序、端设备特性和拥塞中的一者或多者。最优算法可针对不同的系统实现和应用而变化。
根据本公开的另一方面,可通过识别第一连接(即,逻辑链路)的空闲SAS分组并用包含用于另一连接(即,逻辑链路)的活动数据的SAS分组替换它们来实现复用,以增加物理链路的利用率。术语空闲SAS分组通常指代不包含任何活动数据的分组。因此,例如,连接的SAS分组可被调度用于传输,但是该分组可能是空闲的,由此浪费了物理链路的利用率。空闲分组可以由每个连接的链路层重新应用,使得每个连接的SAS层在被SAS链路层处理时与其本机形式相比没有变化。图10是要传送的若干分组1002的队列的示例表示,其示出了与一个连接相关联(例如,与一个目标设备相关联)的空闲分组1004可以如何被包含与另一个连接相关联(例如,与另一目标设备相关联)的活动数据的分组1006替换。
此外,流量控制可以是标准SAS协议的经修改的版本,以支持先前本应通过专用链路传送进行管理的分组化传送。在一实施例中,在发射机和接收机SERDES处对数据进行缓冲可被用来在多个不同的连接速率正被传输时优化FCM并提供帮助。
根据本公开的另一方面,信道复用的附加层可被嵌入在任何离散逻辑链路内。在一实施例中,两个或更多个逻辑链路可以在FCM信道内被静态地复用。在一实施例中,该附加的复用层可类似于被引入到SAS-2中的老旧链路SAS复用方案,其是一种静态2:1复用方案。该静态2:1复用涉及通过从单个物理phy创建两个逻辑phy来将单个物理链路划分成两个逻辑链路的双字的交织。这与之前所描述的动态地复用与物理链路上的不同目标设备相关联的分组是分开的。
本公开可被用来优化SAS性能和带宽利用率。然而,还构想了本公开的教导可以与要使用FCM在SAS结构上传输的其他协议一起使用或被应用于上述其他协议。本质上,FCM创建虚拟信道,并且(多个)FCM复用报头位使得分组能够在其他协议链路层之间被复用,所述其他协议链路层诸如但不限于,外围组件互连高速(PCIe)、非易失性存储器高速(NVMe)、以太网、通过融合以太网的远程直接存储器访问(RoCE)、用于RDMA的iSCSI扩展(iSER)、互联网广域RDMA协议(iWARP)、光纤信道等等。此外,各种实施例被描述为使用SAS-4实现,但是这并不意味着限制。
将SAS所使用的分组的格式改变成不同格式可能意味着标准测试装备可能无法分析FCM链路上的数据。根据本公开的一方面,端口镜像可被用作用于诊断、窥探和分析FCM链路的方法。
在一实施例中,端口镜像在FCM链路层接收机处复制数据,并且在设备的不同SERDES上传送SAS(或其他协议)的本机格式。镜像的链路上的数据是由FCM链路层处理的数据的副本。图11是解说被用来以其本机SAS格式观察FCM连接数据的端口镜像的示例的图。图11示出了支持连接到SAS扩展器1120的FCM链路1110的启动器设备1102。启动器包括端口镜像环总线1104,同时扩展器1120也包括端口镜像环总线1122。扩展器1120将所接收的SAS端口“镜像”到可被用来观察每个FCM连接的FCM信道数据的两个其他端口上。扩展器1120的端口镜像环总线1122允许包括FCM信道的任何逻辑PHY被向一对物理信道路由出。图11中示出了一示例,其中对应于单个链路层的逻辑信道1130通过Rx信道1140和Tx信道1142被路由到一对物理信道1132和1134。协议分析器可被用来在该对物理信道1132和1134处观察与SAS-4兼容的数据流。
在各种实施例中,本公开的FCM可以与老旧设备和不支持FCM的其他设备互操作。图12是示出具有被附连到启用FCM的扩展器1204和启用FCM的启动器1206的老旧扩展器1202的示例拓扑的图。用于老旧扩展器1202的连接可以按与被附连到FCM扩展器的任何设备完全相同的方式来利用FCM信道。每个虚拟化的SAS通道都参与标准SAS连接,其益处在于任何未使用的可用带宽可被其他虚拟连接使用。
在一实施例中,混合FCM/非FCM域中的所有设备使用它们自己的缓冲器和连接管理,因此可能不存在由目标设备中的大数据缓冲器与扩展器设备中的小速率匹配数据缓冲器不公平地竞争造成的基于扩展器的缓冲饥饿效应。另外,FCM链路可提供比非FCM链路更宽的有效端口,但是相同的SAS公平算法可以在整个域中被使用。
以下描述本公开的进一步的方面和特征。
根据一个方面,在一些实施例中,附加位被添加到130/150b标准SAS-4分组以用新标识符标记每个SAS-4分组。具有附加位的模式提供用于同时承载多个逻辑连接或不同协议类型的非阻塞方法,其中每个分组被用逻辑信道标识符标记。用于复用支持的FCM位的数量可以是任何数量。本公开中的示例使用2位,但这不是限制性的。152位总分组(132/152b)内的132位有效载荷提供与SAS-4中所使用的标准化的130/150b码几乎相同的误码率(BER)。可以在标识了标准SAS速度协商期间所交换的SAS IDENTIFY(标识)帧的供应商特定字段中报告的设备和FCM能力之后协商链路。该方案不必取决于132/152b码和/或SAS-4分组中的恰好2个附加位;附加位的数量设置可用的逻辑链路的数量,其可以多于或少于4。
根据一个方面,在一些实施例中,用于SAS链路的时分复用方案使用相同物理链路上所承载的每个逻辑PHY的经动态分配的分数量的数据。启动器的分派器和扩展器的ECM中的新调度功能将传出连接请求分配给可用的逻辑链路并适当地设置FCM位。启动器和扩展器PHY层中的新加权的循环复用器基于因系统的应用而异的准则来以分数比率混合来自多个逻辑链路的连接话务。示例准则可以是使分数话务比率基于所有活动连接的连接速率的相对比率。诸如连接优先级之类的其他准则可被用来选择针对每个逻辑连接的话务比率。新的流量控制缓冲器可被用于SSP话务以防止物理链路容量超支。当不实现根据本公开的分数复用方案的SAS目标发送相比物理链路具有的即时承载容量更多的SAS-4分组时,流量控制缓冲器可吸收任何短期流量不平衡。与流量控制缓冲器相关联的逻辑可限制SAS帧信用(RRDY原语)从启动器到目标的转发,使得与流量控制缓冲器具有的吸收能力相比,不再有信用被提供给目标设备。来自一个逻辑链路的SAS-4空闲分组可被来自其他逻辑链路的有用数据和原语替换,以增加物理链路的利用率。
根据一个方面,在一些实施例中,SAS-4分组可以与携带非SAS数据协议的分组交织。由被添加到SAS-4分组的附加位提供的先前描述的标识符可被用来标识非SAS话务类型。先前描述的流量控制缓冲器可使得SAS-4话务的数量被降低来为非SAS分组提供容量。
尽管SAS是全双工协议,但是数据通常在连接期间仅在一个方向上被传送。这意味着大量附加的未使用的带宽可以在空闲分组被重新分派以供其他FCM逻辑链路使用的情况下被重用。SATA是一种具有广泛的握手开销的半双工协议,因此这种技术可能使承载SATA(STP)协议的SAS链路的容量大致翻倍。
本公开还包括将与特定盘驱动器相关联的数据打包成一个或多个分组,以及通过启动器和扩展器之间的物理链路将该一个或多个分组与同其他盘驱动器相关联的分组交织。本公开进一步包括将新字段添加到SAS分组以标识分组属于哪个逻辑信道。本公开进一步包括基于所请求的连接速率(例如,1.5Gbps、3Gbps等)在SAS时分复用配置中分配时间。
图13A-C分别示出了三个FCM信道调度示例。在各示例中,使用加权循环方案将SAS分组从逻辑信道交织到物理信道上,其中权重由每个逻辑信道的连接速率确定或基于每个逻辑信道的连接速率来确定。在图13A的右侧示出了循环方案中所使用的示例加权。
图13A的第一示例具有4个6-Gbps设备,每个设备被分配四个逻辑信道之一。每个逻辑信道被以交替方式分配一个分组,因为每个信道具有相同的加权因子“1”。用于每个逻辑信道的分组的权重因此相等,即1/4、1/4、1/4和1/4。时分复用在右侧被示出,其示出了时间上被交织的分组。分组上方的数字指示该分组所关联的信道。在该示例中,24Gb/s物理链路是100%供应的,因为所有连接带宽都已被分配(4x 6Gb/s=24Gb/s)。
图13B的第二示例示出了3个设备,即2个6-Gbps设备和一个12-Gbps设备。12-Gbps设备每隔一个分组被分配一次,因为它的加权因子是其他两个6-Gbps设备的两倍。权重因此是2/4、1/4和1/4。在该示例中,24Gb/s物理链路也是100%供应的。
图13C的第三示例示出了两个设备,即一个6-Gbps设备和一个24-Gbps设备。24-Gbps设备被分配每五个分组中的四个分组,因为它的加权因子是6-Gbps设备的4倍。与先前两个示例不同,此处分组的分配是每5个分组而非每四个分组进行重复的,以容适4和1的权重(总计5)。因此,对24-Gbps设备而言权重为4/5,而对6-Gbps设备而言为1/5。在该示例中,24Gb/s物理链路被超额供应(overprovision)供应20%。术语超额供应意指FCM链路上每个活动连接的连接速率的总和超过FCM链路的物理链路速率。在该示例中,连接速率的总和为30Gb/s(24+6),但是FCM链路速率仅为24Gb/s。6Gb/s设备获得24Gb/s物理链路的1/5,其为约4.8Gb/s而不是6Gb/s。类似地,24Gb/s设备仅获得24Gb/s物理链路的4/5,其为约19.2Gb/s而不是24Gb/s。
因此,如先前示例所解说的,可以使用加权循环方案将SAS分组从逻辑信道动态地复用到物理信道上,其中权重与逻辑信道的最大物理链路速率成比例或至少成比例地基于逻辑信道的最大物理链路速率。
再次,图13A-C仅仅示出了一些FCM调度示例。在一些实施例中,分配或调度功能可以是至少部分地软的,使得不同算法可具有不同的益处折衷,诸如带宽相对于等待时间。在本上下文中,软指的是以软件形式定义分配或调度功能。相应地,所选择的调度功能可取决于存储系统的应用来被动态地改变。
在一实施例中,连接请求可被如下地处置。选择其中连接请求将促使PHY的物理容量几乎或完全100%的PHY。否则,选择已具有逻辑连接但具有用于所请求的连接的容量的PHY。否则,选择不带现有连接的PHY。否则,任选地选择将导致超额供应多达n%的PHY。然而,这仅仅是示例且并不意味着限制。
超额供应的潜在益处是降低递送数据的等待时间。这可通过允许原本将不得不等待链路资源变得可用的一个或多个连接继续进行来实现。超额供应的潜在惩罚是FCM链路所承载的所有连接的成比例的带宽降低。然而,等待时间益处可能胜过带宽降低惩罚。而且,带宽降低可能由于所连接的设备的利用效率低而被稍微地抵消。
本公开因此涉及与物理链路上的单个SAS连接上的不同逻辑信道相关联的数据的动态时域逐分组的交织。附加字段可被添加到分组以标识哪些分组与单个SAS连接上的哪些逻辑信道相关联。时分复用中的分组的分配可被动态地执行。时分复用可基于任何合适的一个或多个准则,包括但不限于所接收的请求的数量(例如,目标设备的数量)以及所请求的连接速率中的一者或多者。
虽然参考SAS协议和技术描述了本公开,但是这不旨在是限制性的。本公开的教导旨在应用于其他协议和技术。
图14是可被用于实现根据本公开的一实施例的一个或多个组件、特征或方面的示例电子设备1400的框图。例如,可以使用电子设备1400来实现根据本公开的SAS启动器设备和SAS扩展器设备中的一者或两者。
电子设备1400可包括中央处理单元(CPU)1402、存储器1404、大容量存储设备1406、输入/输出(I/O)接口1410、和通信子系统1412中的一者或多者。电子设备1400的组件或子系统中的一者或多者可通过一条或多条总线1414或以任何其他合适的方式互连。
总线1414可以是任何类型的若干总线架构中的一者或多者,包括存储器总线、存储总线、存储器控制器总线、外围总线等。CPU 1402可包括任何类型的电子数据处理器。存储器1404可包括任何类型的系统存储器,诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步DRAM(SDRAM)、只读存储器(ROM)、其组合等。在一实施例中,存储器可包括供引导启动时使用的ROM,以及供执行程序时使用的程序和数据存储的DRAM。
大容量存储设备1406可包括任何类型的存储设备,该存储设备被配置成储存数据、软件程序或其他代码以及其他信息,并且使得数据、程序和其他信息可经由总线1414来访问。大容量存储设备1406可包括固态驱动器、硬盘驱动器、磁盘驱动器、光盘驱动器等中的一者或多者。在一些实施例中,数据、程序或其他信息可被远程地储存,例如被储存在“云”中。电子设备1400可按任何合适的方式对远程存储发送或接收信息,包括经由网络或其他数据通信介质上的通信子系统1412。
I/O接口1410可提供将一个或多个其他设备(未示出)耦合到电子设备1400的接口。此外,附加的或更少的接口可被利用。例如,诸如通用串行总线(USB)(未示出)之类的一个或多个串行接口可被提供。
通信子系统1412可被提供用于传送和接收信号中的一者或两者。通信子系统可包括用于实现通过一个或多个有线和无线接口的通信的任何组件或组件集合。这些接口可包括但不限于,USB、以太网、高清多媒体接口(HDMI)、Firewire(火线)(例如,IEEE 1394)、Thunderbolt(雷电)TM,WiFiTM(例如,IEEE 802.11)、WiMAX(例如,IEEE 802.16)、Bluetooth(蓝牙)TM、或近场通信(NFC),以及GPRS、UMTS、LTE、LTE-A、专用短程通信(DSRC)、和IEEE802.11。通信子系统1412可包括用于一个或多个有线连接的一个或多个端口或其他组件1420。附加地或替代地,通信子系统1412可包括发射机(未示出)、接收机(未示出)、和天线元件1422中的一者或多者。
图14的电子设备1400仅仅是示例且并不意味着限制。各种实施例可利用所示出或所描述的一些或全部组件。一些实施例可使用未示出或描述但是本领域技术人员已知的其他组件。
已参考与大容量存储互连技术相关的示例实施例对本公开(包括与分数信道复用(FCM)相关的方面)进行了描述。然而,这并不意味着限制。本公开的教导可被用于任何其他合适的技术,包括分组化总线互连技术或联网技术。
在前面的描述中,出于解释的目的,阐述了许多细节以便提供对各实施例的透彻理解。然而,本领域技术人员将显见的是,这些具体细节不是必需的。在其他实例中,以框图形式示出公知的电结构和电路以免理解起来难懂。例如,没有提供关于本文中所描述的各实施例是被实现为软件例程、硬件电路、固件还是其组合的具体细节。
本公开的各实施例可被表示为被储存在机器可读介质(也被称为计算机可读介质、处理器可读介质、或具有其中所具体化的计算机可读程序代码的计算机可用介质)中的计算机程序产品。机器可读介质可以是任何合适的有形非瞬态介质,包括磁、光、或电存储介质,所述磁、光、或电存储介质包括磁盘、压缩盘只读存储器(CD-ROM)、存储器设备(易失性或非易失性)、或类似的存储机制。机器可读介质可包含在被执行时致使处理器执行根据本公开的一实施例的方法中的步骤的各种指令集、代码序列、配置信息或其他数据。本领域普通技术人员将领会,用来实现所描述的实施方式所必需的其他指令和操作也可被储存在机器可读介质上。被储存在机器可读介质上的指令可由处理器或其他合适的处理设备执行,并且可以与电路系统对接以执行所描述的任务。
以上所描述的各实施例仅旨在作为示例。可通过本领域技术人员来实现针对特定实施例的更改、修改以及变体而不背离仅由所附权利要求书限定的范围。
Claims (15)
1.一种串行附连SCSI系统中的方法,所述方法包括:
通过物理链路在串行附连SCSI启动器和串行附连SCSI扩展器之间建立串行附连SCSI连接,用于所述串行附连SCSI启动器和多个目标设备之间的通信,所述多个目标设备与所述串行附连SCSI扩展器进行通信;以及
通过所述串行附连SCSI连接来传送与所述多个目标设备中的每一者相关联的串行附连SCSI分组,其中所述传送包括通过所述串行附连SCSI连接动态复用所述多个目标设备中的每一者的所述串行附连SCSI分组,并且其中每个串行附连SCSI分组包括指示该串行附连SCSI分组所关联的目标设备的一个或多个信息位,
其中所述动态复用包括根据加权循环方案来调度与所述目标设备中的每一者相关联的所述串行附连SCSI分组,其中被分配给所述目标设备中的每一者的串行附连SCSI分组的权重成比例地基于被所述相应目标设备支持的最大物理链路速率。
2.根据权利要求1所述的方法,其特征在于,所述动态复用包括至少部分地基于目标设备的数量来调度与所述目标设备中的每一者相关联的串行附连SCSI分组。
3.根据权利要求1所述的方法,其特征在于,所述的通过所述串行附连SCSI连接传送经动态复用的串行附连SCSI分组包括传送与具有不同最大物理链路速率的至少两台目标设备相关联的串行附连SCSI分组。
4.根据权利要求1所述的方法,其特征在于,所述动态复用所述串行附连SCSI分组包括在传输之前用与所述目标设备之一相关联的包含活动数据的串行附连SCSI分组来替换与所述目标设备中的另一者相关联的空闲串行附连SCSI分组。
5.根据权利要求1所述的方法,其特征在于,进一步包括通过所述串行附连SCSI连接来传送非串行附连SCSI分组,其中所述传送包括通过所述串行附连SCSI连接动态地复用所述多个目标设备中的每一者的所述串行附连SCSI分组和所述非串行附连SCSI分组。
6.根据权利要求1所述的方法,其特征在于,所述复用是时域复用。
7.一种串行附连SCSI设备,包括:
存储器;以及
与所述存储器处于通信的处理器,所述处理器被配置成控制所述设备:
通过物理链路在串行附连SCSI启动器和串行附连SCSI扩展器之间建立串行附连SCSI连接,用于所述串行附连SCSI启动器和多个目标设备之间的通信,所述多个目标设备与所述串行附连SCSI扩展器进行通信;以及
通过所述串行附连SCSI连接来传送与所述多个目标设备中的每一者相关联的串行附连SCSI分组,其中所述传送包括通过所述串行附连SCSI连接动态复用所述多个目标设备中的每一者的所述串行附连SCSI分组,并且其中每个串行附连SCSI分组包括指示该串行附连SCSI分组所关联的目标设备的一个或多个信息位,
其中所述动态复用包括根据加权循环方案来调度与所述目标设备中的每一者相关联的所述串行附连SCSI分组,其中被分配给所述目标设备中的每一者的串行附连SCSI分组的权重成比例地基于被所述相应目标设备支持的最大物理链路速率。
8.根据权利要求7所述的串行附连SCSI设备,其特征在于,所述动态复用包括至少部分地基于目标设备的数量来调度与所述目标设备中的每一者相关联的所述串行附连SCSI分组。
9.根据权利要求7所述的串行附连SCSI设备,其特征在于,通过所述串行附连SCSI连接传送的经动态地复用的串行附连SCSI分组包括与具有不同最大物理链路速率的至少两台目标设备相关联的串行附连SCSI分组。
10.根据权利要求7所述的串行附连SCSI设备,其特征在于,所述动态复用所述串行附连SCSI分组包括在传输之前用与所述目标设备之一相关联的包含活动数据的串行附连SCSI分组来替换与所述目标设备中的另一者相关联的空闲串行附连SCSI分组。
11.根据权利要求7所述的串行附连SCSI设备,其特征在于,所述处理器被进一步配置成控制所述设备通过所述串行附连SCSI连接来传送非串行附连SCSI分组,其中所述传送包括通过所述串行附连SCSI连接动态地复用所述多个目标设备中的每一者的所述串行附连SCSI分组和所述非串行附连SCSI分组。
12.根据权利要求7所述的串行附连SCSI设备,其特征在于,所述复用是时域复用。
13.根据权利要求7所述的串行附连SCSI设备,其特征在于,所述串行附连SCSI设备是所述串行附连SCSI启动器。
14.根据权利要求7所述的串行附连SCSI设备,其特征在于,所述串行附连SCSI设备是所述串行附连SCSI扩展器。
15.一种串行附连SCSI系统,包括:
用于通过物理链路在串行附连SCSI启动器和串行附连SCSI扩展器之间建立串行附连SCSI连接的装置,以用于所述串行附连SCSI启动器和多个目标设备之间的通信,所述多个目标设备与所述串行附连SCSI扩展器进行通信;以及
用于通过所述串行附连SCSI连接来传送与所述多个目标设备中的每一者相关联的串行附连SCSI分组的装置,其中所述传送包括通过所述串行附连SCSI连接动态复用所述多个目标设备中的每一者的所述串行附连SCSI分组,并且其中每个串行附连SCSI分组包括指示该串行附连SCSI分组所关联的所述目标设备的一个或多个信息位,
其中所述动态复用包括根据加权循环方案来调度与所述目标设备中的每一者相关联的所述串行附连SCSI分组,其中被分配给所述目标设备中的每一者的串行附连SCSI分组的权重成比例地基于被所述相应目标设备支持的最大物理链路速率。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662288677P | 2016-01-29 | 2016-01-29 | |
US62/288,677 | 2016-01-29 | ||
PCT/US2017/015369 WO2017132527A1 (en) | 2016-01-29 | 2017-01-27 | Fractional multiplexing of serial attached small computer system interface links |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108885599A CN108885599A (zh) | 2018-11-23 |
CN108885599B true CN108885599B (zh) | 2019-09-03 |
Family
ID=57966233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780022470.XA Active CN108885599B (zh) | 2016-01-29 | 2017-01-27 | 用于串行附连小型计算机系统接口链路的方法和设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108885599B (zh) |
WO (1) | WO2017132527A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110941580B (zh) * | 2019-10-31 | 2021-07-27 | 苏州浪潮智能科技有限公司 | 读取信息的方法和串行小型计算机系统接口sas扩展器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1975771A2 (en) * | 2007-03-30 | 2008-10-01 | Hitachi, Ltd. | Disk array subsystem and control method thereof |
EP2280351A1 (en) * | 2009-07-21 | 2011-02-02 | LSI Corporation | Methods and apparatus dynamic management of multiplexex phys in a serial attached SCSI domain |
CN104239256A (zh) * | 2013-06-18 | 2014-12-24 | Lsi公司 | 通过sas的pcie隧穿 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4555029B2 (ja) * | 2004-09-01 | 2010-09-29 | 株式会社日立製作所 | ディスクアレイ装置 |
GB201111082D0 (en) * | 2011-06-29 | 2011-08-10 | Univ Leeds | Bubble generation |
US9425912B2 (en) * | 2013-05-15 | 2016-08-23 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Lane-based multiplexing for physical links in serial attached small computer system interface architectures |
-
2017
- 2017-01-27 WO PCT/US2017/015369 patent/WO2017132527A1/en active Application Filing
- 2017-01-27 CN CN201780022470.XA patent/CN108885599B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1975771A2 (en) * | 2007-03-30 | 2008-10-01 | Hitachi, Ltd. | Disk array subsystem and control method thereof |
EP2280351A1 (en) * | 2009-07-21 | 2011-02-02 | LSI Corporation | Methods and apparatus dynamic management of multiplexex phys in a serial attached SCSI domain |
CN104239256A (zh) * | 2013-06-18 | 2014-12-24 | Lsi公司 | 通过sas的pcie隧穿 |
Also Published As
Publication number | Publication date |
---|---|
WO2017132527A1 (en) | 2017-08-03 |
CN108885599A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9424224B2 (en) | PCIe tunneling through SAS | |
CN104272288B (zh) | 用于实现虚拟机vm平台通信回送的方法和系统 | |
CN103392175B (zh) | Pci快速多根i/o虚拟化环境中的低延迟优先排序 | |
CN100524271C (zh) | 将事务分离到不同的虚拟信道的方法、装置 | |
US9686203B2 (en) | Flow control credits for priority in lossless ethernet | |
CN107436855B (zh) | 用于具有可重配置多端口的pcie存储系统的qos认知io管理 | |
CN106020926B (zh) | 一种用于虚拟交换机技术中数据传输的方法及装置 | |
TW201036353A (en) | Dynamic load balancing of Fibre Channel traffic | |
WO2012023149A2 (en) | Multi-root input output virtualization aware switch | |
CN104123262A (zh) | 在PCIExpress上启用基于ID的流的方法和装置 | |
TW200910275A (en) | Method for dynamically reassigning virtual lane buffer allocation to maximize IO performance | |
CN103609077A (zh) | 用于数据传输的方法、装置和系统以及物理网卡 | |
CN110505112A (zh) | 一种网络性能监测方法、装置和存储介质 | |
TWI411264B (zh) | 非阻塞式網路系統及其封包仲裁方法 | |
JP2022038688A (ja) | メモリシステムおよび制御方法 | |
CN105765484B (zh) | 输入输出数据对齐 | |
CN110389711A (zh) | 帮助端点设备实现sr-iov功能的方法、设备和计算机程序产品 | |
CN105379221B (zh) | 一种链路聚合方法及设备 | |
CN108885599B (zh) | 用于串行附连小型计算机系统接口链路的方法和设备 | |
JP2017530643A5 (zh) | ||
US10171193B2 (en) | Fractional multiplexing of serial attached small computer system interface links | |
US20140056175A1 (en) | Integrated device managment over ethernet network | |
EP2300925B1 (en) | System to connect a serial scsi array controller to a storage area network | |
US9588920B1 (en) | Method and system for port trunking | |
KR102518287B1 (ko) | PCIe 인터페이스 장치 및 그 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |