类似文章发表于Maxim工程期刊 ,第63期(PDF,1MB)。
引言随着第一代基于串行SCSI (SAS)技术的系统进入市场,主要的服务器和存储器OEM竞相推出新的平台。伴随着第一代系统的推出,Maxim扩大了其广受欢迎的NexSAS™产品线。
第1.5代NexSAS系列产品为SMB (中/小型业务)和企业系统提供了高性能的存储解决方案,甚至具备目前只有高利用率、高性能光纤通道系统才会提供的功能。NexSAS产品线包括三个高密度PHY扩展器、智能复用/解复用器扩展、新型机箱管理/SAS背板控制器以及业界灵敏度最高的信号调理器。
Maxim的NexSAS系列产品分为四个功能区:扩展器技术、SAS/SATA支持器件、服务器/机箱/主板管理和信号调理。本文详细介绍了第1.5代NexSAS扩展器在技术上的突破,讨论了NexSAS的多连接STP/SATA桥以及对SAS 2.0分区的支持。
NexSAS扩展器技术NexSAS扩展器系列产品设计用于高性能的互联设备,采用单功能设计。该设计方法能够确保从较少端口向刀片服务器、机箱和交换/隔离SAN应用所要求的多端口的可扩展性。
Maxim的所有扩展器都将核心系统功能分为两个独立部分:扩展功能和管理功能。扩展功能包括扩展器连接管理(ECM)、扩展器连接路由器(ECR)、广播原始处理器(BPP)和连接到器件的物理接口(PHY) (接口数为6至36,取决于具体应用)。
图1. Maxim的第1.5代NexSAS系列扩展器的原理图
图1所示是所有Maxim NexSAS系列产品的基本功能框图。第1.5代扩展器提供了各种功能,以满足不同的系统需求。它们也具有一些相同特性,包括:
- 高性能开关结构。一个低延迟、无阻塞开关矩阵,可提供高达54Gbps的开关容量(多端口扩展器,低端口数的扩展器容量会线性下降)。
- Maxim的通用PHY。自配置、自适应PHY能够以1.5Gbps和3.0Gbps的数据速率支持SAS启动器和SAS/SATA目标器。多PHY的预加重/去加重功能以及多PHY输出级,充分利用了Maxim 20多年的技术积累。它们可以组合成宽度为n个PHY的SAS“扩展端口”。
- 虚拟启动器和目标器的容量。SMP (串行管理协议)、SSP (串行SCSI协议)和STP (串行ATA隧道协议)启动器、目标器能够提供可靠的增值业务,例如自配置、自发现、SES控制以及伪劣设备的识别。
- 集成式机箱管理(EM)子系统。可靠的机箱管理能力最大程度地保护了OEM厂商在原有固件/软件/定制功能上的投资,并可提供系统设计的灵活性。
- 集成式以太网接口。EM子系统包括了两个10/100以太网MAC,支持刀片服务器或其它需要通过以太网访问扩展器的应用。
- 多连接STP/SATA桥。利用Maxim的扩展器技术,对原有的STP/SATA桥进行扩展时在启动器和目标器之间支持两个并发(主/主) NCQ连接。这一创新方案有效解决了SAS 1.1中单一连接机制常见的启动器资源缺乏问题。
- 端对端SAS 2.0分区。出于安全、控制和性能指标的考虑,NexSAS扩展器同时支持SAS 2.0 PHY解析和地址解析分区。
- 对第一代器件的其它改进。其它功能包括EPOW、集成A/D转换器、用于可信赖平台的LPC以及片上存储器的奇偶校验保护。
第1.5代扩展器填补了SAS 1.1和即将推出的SAS 2.0技术规范之间的空缺,本文介绍2个主要的功能区别:多连接STP/SATA桥和SAS 2.0分区,详情请参考下文。
NexSAS多连接STP/SATA桥 早期设计的合理性和性能局限性SAS 1.1技术规范将STP/SATA桥定义为在STP启动器与SATA目标器(HDD)之间起桥梁作用的扩展组件。如果没有STP/SATA桥,SAS将不能够支持串行ATA(SATA)驱动。
一般情况下,SAS 1.1技术规范对STP/SATA桥的功能定义为:
- 在SAS扩展器中,STP/SATA桥可实现SATA驱动到SAS域之间的连接。
- SAS协议用于建立或切断主机(启动器)与STP/SATA桥之间的连接。
- 连接期间,STP/SATA桥仅将本地SATA协议发送到SATA。
- 扩展器通常在每个PHY中有一个STP/SATA桥,但是只有在连接到SATA设备时才会激活桥。
图2. STP/SATA桥支持STP功能启动器和SATA驱动之间的连接
图2所示为STP/SATA桥结构。与SAS驱动不同,SATA驱动不能识别多主机或多启动器的并发访问。会话期间,STP启动器保持与SATA目标器的连接。在建立连接期间,任何试图访问相同SATA设备的STP启动器将接收到一条“OPEN_REJECT (STP RESOURCES BUSY)”信息,并且尝试重新连接。这种简单的排除连接的机制在指定时间内仅允许设备上激活一个主机,保持了系统的相干性。
完成指定的启动器的所有命令后,启动器应该向STP/SATA桥发送一个特殊的CLOSE (CLEAR AFFILIATION),从而解除连接,并允许其它主机访问驱动器/资源。
可以想象,第一代扩展器只能支持单一连接,符合SAS 1.1技术规范。
任何新技术的推出都会带来一些意想不到的结果。传统的STP/SATA桥结构也是如此,原始设计桥在合理性和性能方面都存在一定的局限,以下简要介绍这些局限性。
合理性
- 对于连接的时效性没有明确限制,这意味着一个连接可能是永久建立的。
- 对SATA装置的有效访问必须由启动器发起;当没有主/主通信时,可能得不到保证。
- 实现合理的软件算法对于OEM来说难度较大。
- 现有的STP启动器并不“规范”:它们有时可能不解除连接。
- 如果在扩展器STP/SATA桥和启动器之间存在有效的连接,其它主机则不能完成与该驱动器的任何连接请求,包括诊断。
- 在负载平衡系统中,单进程访问SATA硬盘非常慢。
图3. SAS 1.1中的SATA连接从概念上仅支持单一连接,从而在合理性和性能上造成一定的局限
新设计克服了传统的性能局限第1.5代NexSAS扩展器解决了SAS 1.1 STP/SATA桥的局限问题。通过升级桥的功能,两个主机可同时对同一SATA驱动器发出激活命令,图4所示为支持多连接STP/SATA桥的工作原理。
图4. 第1.5代NexSAS扩展器支持多连接STP/SATA桥工作,使两个主机可同时在相同的SATA驱动器上发出激活命令
以下简要介绍新型桥设计的工作原理。
智能连接管理
- 灵活、非独占断开策略(允许交迭),包括:
- 定时断开(多种模式和范围)
- 完成任何FIS传输后断开
- 完成数据FIS传输后断开
- 互锁 *** 作后断开
- 根据队列标签/上下文自动召回适当的启动器(主机)
- SATA驱动器上允许采用所有32个NCQ命令标签(或根据配置使用少数标签)
- 管理来自于不同主机的NCQ和PIO命令之间的交互
- 标签为透明管理,并从驱动器映射或映射至设备,避免启动器时间标签的编码冲突(不需要特殊的主机软件或固件)
SAS 2.0分区的基础知识当存储器OEM和集成厂商在引进并采用基于SAS的系统时,都会希望能够提供流量管理(性能)和安全领域所需的光纤通道及企业级特性。
为满足这些需求,在即将推出的SAS 2.0规范中引入了端对端分区的概念(关于分区规范的最新信息请访问网站:www.t10.org)。
根据定义,SAS协议在指定的域中支持最多16,384个设备(启动器、目标器、扩展器和/或虚拟设备);然而,在实际应用中,实现如此大的拓扑将困难重重。其实,端对端分区提供了以较少的逻辑(分段)电路管理较大的物理拓扑的必要机制。SAS分区提供了控制组内及组间存取的概念和机制。
即将推出的SAS 2.0规范将分区划分为2个部分:PHY解析分区和地址解析分区。两种方法均采用了相同的访问控制,但分组不同。
PHY解析分区在PHY解析分区配置中,能够分区的扩展器的每个PHY分配了一个分区组;属于该PHY (或端口,当为宽端口PHY分组时)的所有设备均成为该分区组的一部分。扩展器中的一个授权表包括访问控制许可信息,其中列出了不同分区组中设备之间的会话协议(默认情况下,一个分区组中的所有设备均可相互通信)。
PHY解析的分区非常适合于小型拓扑、刀片服务器或集群应用。
地址解析分区地址解析分区提供了PHY解析分区所不具备的一个抽象层。在地址解析配置中,自检测扩展器解析每个设备地址,并形成一个表。该表包括了路由信息和分区授权。通过表中的授权和分区组确定任意两个设备之间能够进行什么级别的通信。
通常情况下,地址解析分区用于较大拓扑,或者需要更大规模控制器的应用。
结论没有放之四海而皆准的真理,无论是SAS还是其它事物。需要根据应用、连接需求、可扩展性、性能及价格因素,选择合适的解决方案—创新的功能。值得庆幸的是,Maxim拥有全面存储网络产品,为设计人员提供极大的灵活性,可以针对不同的设计挑战选择理想的功能组合。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)