存储 频道

实战端口复用器 赛恩斯5口SATA存储评测

  【IT168评测中心】在市场上,要找到一个端口复用器(Port Multiplier)的实物可不容易,简直可以用珍稀来形容——端口复用器是什么呢?

  SATA大家肯定都知道,然而Port Multiplier可能就没什么人知道了。Port Multiplier/端口复用器,是SATA规范里面定义的一个用来将SATA端口多路复用,以提供连接到多个SATA终端的能力的一个设备,相当于一个单WAN多LAN的路由器(类似SAS里面的Fan-out扇出路由器,然而SAS版本可以具有多WAN能力)。

通常一个SATA端口连接一个设备,Port Multiplier允许一个SATA端口连接最多至15个SATA设备
兼收并蓄 SATA与SAS技术分析

  Port Multiplier是SATA II规范中的其中一个,2003年4月29日,SATA Ⅱ工作组在WinHEC会议上公布了Serial ATA Ⅱ: Port Multiplier 1.0规范。SATA II是一组可选规范的集合,后来被集成到SATA 2.5规范当中(SATA 2.0被直接跳过了)。


赛恩斯TR5M-B端口复用器 

  我们收到了来自一个叫做赛恩斯(Sans Digital)的厂商送来的Port Multiplier产品,可以连接5个3.5英寸SATA硬盘,而仅需要一条eSATA线缆与主机连接。

 


赛恩斯TR5M-B端口复用器

   本质上,端口复用器仍然属于DAS设备,DAS:Direct Attached Storage,直联存储,和NAS:Network Attached Storage网络附加存储相对应。


赛恩斯TR5M-B端口复用器
 

赛恩斯TR5M-B端口复用器
 

赛恩斯TR5M-B端口复用器,背部只有一个eSATA口

 


赛恩斯TR5M-B端口复用器:考虑到不是所有机器都有eSATA,因此附件里有一块PCIE x1界面的2端口eSATA控制卡

  实际使用中,笔者感到面板上有两点可以改进:

1,盖上前面板防尘罩之后,最顶端硬盘槽的工作指示灯将很难看到,除非将端口复用器放在很高的地方对其进行仰视

2,前面板的电源开关放在防尘罩里面可能会更好一些,避免误触

  Port Multiplier/端口复用器,是SATA规范里面定义的一个用来将SATA端口多路复用,以提供连接到多个SATA终端的能力的一个设备,相当于一个单WAN多LAN的路由器(类似SAS里面的Fan-out扇出路由器,然而SAS版本可以具有多WAN能力)。

通常一个SATA端口连接一个设备,Port Multiplier允许一个SATA端口连接最多至15个SATA设备
兼收并蓄 SATA与SAS技术分析

  Port Multiplier是SATA II规范中的其中一个,2003年4月29日,SATA Ⅱ工作组在WinHEC会议上公布了Serial ATA Ⅱ: Port Multiplier 1.0规范。SATA II是一组可选规范的集合,后来被集成到SATA 2.5规范当中(SATA 2.0被直接跳过了)。

IDF:Port Multiplier
 

通常的点对点SATA:一个端口使用一条线缆连接一个设备

 

端口复用器Port Multiplier:一个端口使用一条线缆连接多个设备(最多15个),有4个端口就可以连接最多60个
 

  由于是一个端口对应多个终端设备,因此必须具有一个机制来决定数据通路:什么时候使用哪一个设备?什么时候进行传输?这些都是需要考虑的问题。

  Port Multiplier具有两种切换机制:Command-based Switching和FIS-based Switching,可以翻译为基于命令的切换机制和基于FIS的切换机制,FIS(Frame Information Structure,帧信息结构)是SATA为了实现异步传输数据块而使用的封包,“正常”的SATA设备都使用FIS,除了第一代推出的实际上是包装过的PATA(同步传输)。要支持FIS,也需要驱动的支持,标准的AHCI规范使用了FIS。

Command-based Switching基于命令的切换机制:控制器端口在同一时间只对一个设备发起命令,这种方式就是简单地对端口进行扩展

  和PATA相比,SATA的FIS结构允许异步ATA传输,例如,SATA控制器发出读取命令之后可以去干其它事情,驱动器(如,SATA硬盘)准备好数据之后,再主动发送数据给SATA控制器(当然,要具有FIS),控制器并不知道驱动器读取数据需要的时间,在PATA上,只能使用一个块一个块地传输-确认-传输-确认循环,SATA FIS就不需要这样。

FIS-based Switching基于FIS的切换机制:除了发起命令,控制器端口还可以执行来自任何设备的命令,这些都是可以同时进行的,因此提供了最大的性能

  显然,对于通常的点对点SATA而言,FIS虽然有用,不过并不明显,在Port Multiplier端口复用器的情况下,FIS可以发挥到最大的效用。FIS-based Switching基于FIS的切换机制允许主控制器不停地发出命令,终端设备则不停工作,并可以在任意的时候发送数据给控制端(当然,Port Multiplier需要进行拥挤管理),这样的结构可以实现最大的并行处理并达到最高的效率。

  赛恩斯TR5M-B端口复用器的核心是SiI3726芯片,这是一个5口SATA Port Multiplier芯片:

SiI 3726 SATA Port Multiplier
 
SiI 3726 SATA Port Multiplier支持Command-based Switching和FIS-based Switching,每SATA通信端口具备8KB的FIFO(先进先出)缓冲

  SiI 3726还支持热插拔、ATAPI设别、SEMB管理和SEP管理、BIST特性以及staggered spin-up延迟启动。SiI 3726支持SATA 3Gbps。

 

  赛恩斯TR5M具有两款:TR5M和TR5M-B,前者是银色的,后者是黑色的(B应该是Black的意思),除此之外都一样。

测试平台、测试环境
测试分组
类别
Sans Digital TR5M-B
处理器子系统
处理器
Intel Core 2 Extreme QX9650
主频3.00GHz
FSB/QPI1xFSB
333MHz
1333MT/s
10.67GB/s
L2 Cache
2x6MB
L3 Cache
-
主板
主板型号
ASUS P5Q-E
北桥芯片组(MCH)
Intel P45
Intel ICH10R
内存
2GB DDR2 800 SDRAM x4
系统磁盘子系统
磁盘控制器
LSI MegaRAID SAS 8708ELP RAID Controller
磁盘控制器规格
500MHz ARM CPU
128MB RAM
RAID 0/1/5/6
8x SAS 3Gbps
磁盘控制器设置
RAID 5
磁盘控制器驱动
LSI MegaRAID R3.6
3.9.0.64
磁盘
Seagate
Cheetah 15K.6
ST3146856SS x2
磁盘规格
15000RPM
146GB
SAS 3Gbps
16MB Cache
磁盘设置
SAS 3Gbps
50GB系统分区
测试磁盘子系统
磁盘控制器
Sans Digital
磁盘控制器规格
SiI 3132
PCI Express x1
2x eSATA 3Gbps
磁盘控制器设置
PCI Express x1 @ x1 @ ICH10R
磁盘控制器驱动
SiI SATA RAID
1.5.19.0
磁盘TR5M-B Port Multiplier
Hitachi
Ultrastar A7K1000
HUA721010SLA330
磁盘规格
3.5"
7200RPM
1TB
SATA 3Gbps
32MB Cache
磁盘设置
SATA 3Gbps
软件环境
操作系统
Microsoft
Windows Vista Ultimate x64 SP1
测试软件
HD Tach RW 3.0.1.0
PCMark Vangate 1.0.0.0
IOmeter 2006.07.27


2端口eSATA控制卡

  测试使用了笔者自带的台式机,并使用了随TR5M-B附带的一块2端口eSATA 3Gbps控制卡,使用了SiI 3132芯片,使用PCI Express 1.0 x1总线。PCIE 1.0 x1的单向传输为250MB/s,略低于SATA的300MB/s传输带宽,这会影响到性能。PCIE 1.0 x1的双向传输带宽为500MB/s。

  老实说,赛恩斯端口复用器使用起来并不简单,下面就是我们的设置过程,附带了大量心得体会,希望可以让有使用端口复用器的用户少走些弯路。

控制卡驱动:

首先是安装控制卡驱动

 

控制卡驱动

设置Port Multiplier:

  装好设备之后,在SiImage的阵列控制软件里面可以看到所有的硬盘,不过,默认是并不会让系统立刻用到Port Multiplier功能的,需要另行设置:(先在File菜单的Advanced选项里面打开所有高级特性)


在设备里面打开Pass-Thru功能:选择所有硬盘,并按Convert
Pass-Thru意思是让控制卡直接和所有硬盘通信
(所谓的Channel,就是我们一般用法上的SATA端口)

   看到所有硬盘上都有蓝色底色,并标有PASS-THRU字样的时候就是成功:


设备管理器里面可以看到所有的硬盘

   本页内容非常重要,因为一般人并不知道需要进行这个设置,也很少文档提及。

设置阵列:

  在使用多个磁盘之后,自然会有设置阵列的需求:为了获得更好的性能,或者获得更好的数据安全性:

建立阵列:假如要建立一个可启动的阵列,你要创建Legacy RAID Group,否则可以使用正常的RAID Group方式
 
阵列创建参数也需要注意:SiI控制台并没有使用通常的数字标识(如RAID 0、RAID 5等)而是使用了单词……最下方的Parity RAID就是RAID5,从性能、安全性和经济性方面考虑,使用RAID 5是最好的

   测试时使用64KB的Chunk Size。

如果你不打开PASS-THRU功能,那么建立阵列里面就看不到所有的硬盘

设置阵列:

  在选择好参数之后,就可以开始组建阵列了,RAID 0和RAID 1都很快,然而RAID 5不同,RAID 5需要生成校验和,并需要写入所有磁盘,避免建立阵列前的数据导致错误的数据输出,这个过程叫做初始化:

规划好阵列参数很重要:使用5个1TB硬盘建立一个RAID 5阵列需要约12个小时的初始化时间
 
  在初始化期间,磁盘阵列可以正常使用,然而其数据是阵列卡经过运算得来,因此性能会很慢。测试性能必须等到初始化完毕之后才能进行。
 
建立好的阵列是这样的
 
建立好的阵列容量为3.6TB——按照硬盘厂商的算法则是4TB

   NTFS可以支持很大容量的分区,然而,默认的MBR磁盘格式并不支持超过2TB的分区容量,为了使用一个很大的分区,你需要使用GPT磁盘分区格式(GPT:GUID分区表)。

  经过繁琐、漫长的设置之后,终于可以开始测试了,先进行的是传统、简单、有效的 HD Tach RW测试:


TR5M-B端口复用器测试:单硬盘

   HUA721010KLA330是一个单碟200GB、总容量1TB的企业级SATA硬盘,转速7200RPM,缓存32MB。


TR5M-B端口复用器测试:5硬盘RAID 5

  很有意思的曲线,很像一个正弦波(当然,初始相位不是0),周期为500GB(厂商算法),一共8个周期。


TR5M-B端口复用器测试:单硬盘 vs 5硬盘RAID5

  单硬盘状态下和本机测试没什么不同,只是经过了一个中间设备,突发传输有所降低——在RAID5测试下,突发传输进一步降低(略为地),不过整个传输曲线都更加好了,平均传输达到了80.8MB/s,比单硬盘的72.7MB/s要高。值得注意的是随机访问时间有所提升,从单硬盘的12.5ms进步到10.4ms,这就是SATA FIS架构的威力。

  接下来使用了PCMark Vangage,并使用了其中的32位版本:


TR5M-B端口复用器PCMark Vantage测试:5硬盘RAID 5

  PCMark的测试可说是惨不忍睹,分数只有1515分——单个硬盘是4417分。这个结果和HD Tach RW是大相径庭的,到底该信谁?

  最后是笔者喜爱的Iometer测试,它可以用来衡量出一个存储子系统实际工作的效能,它的主要参数是IOps,每秒进行的操作数。

 

 

 

  可以看出,在几乎所有的随机情况中,RAID5性能都比单硬盘要好;在几乎所有的连续情况中,RAID5性能都和单硬盘差不多。例外的就是写入情况,RAID5的写入性能较低,这在所有RAID5中都是如此的,因为RAID5需要额外的运算生成校验和。软阵列特别如此。

 

 

 

 

  基本可以确定,RAID5方式确实比单硬盘要快,SATA FIS特性得到了充分的发挥。

  【IT168评测中心】Port Multiplier端口复用器是一种不新颖却很少见的设备,通过端口复用器,单个SATA端口可以连接最多15个终端设备,就像一个Hub一样。

IDF:Port Multiplier
 
  此外,端口复用器并非仅仅扩展设备数量,通过将SATA本身能力的挖掘,采用了FIS-based Switching基于FIS的切换机制的端口复用器还可以提升性能,这一点上端口复用器很像以前的并行SCSI设备:共享单个总线的带宽,然而所有的设备都可以同时进行工作。
 
 FIS-based Switching基于FIS的切换机制:除了发起命令,控制器端口还可以执行来自任何设备的命令,这些都是可以同时进行的,因此提供了最大的性能
 
  使用了基于FIS的切换机制之后,端口复用器组建的阵列可以得到实质上的提升,在我们的测试当中,来自赛恩斯网络Sans Digital的TR5M-B配合附带的SiI 3132控制卡实现的软件RAID5在传输性能和传输能力上都得到了提高,5个盘的RAID5可以提升应用IOps到原来的2~3倍,从HD Tach RW来看,随机访问时间确实得到降低,从而在随机操作方面比单个硬盘要好不少。就这点上看和以往的320MB/s SCSI相似。


赛恩斯TR5M-B端口复用器

  和额外配置SATA端口相比,使用端口复用器可以很快速地增加终端设备的数量而不需要占用过多的扩展槽(每个SATA端口可以支持15个设备,6个端口可以最多支持90个设备),不过,端口复用器的设置仍然略显繁琐,这应该是管理软件的问题。赛恩斯TR5M-B端口复用器表现还算不错,不过我们觉得它有些贵,这可能也是端口复用器显得如此稀少的原因。

2
相关文章