【IT168评测中心】在市场上,要找到一个端口复用器(Port Multiplier)的实物可不容易,简直可以用珍稀来形容——端口复用器是什么呢?
SATA大家肯定都知道,然而Port Multiplier可能就没什么人知道了。Port Multiplier/端口复用器,是SATA规范里面定义的一个用来将SATA端口多路复用,以提供连接到多个SATA终端的能力的一个设备,相当于一个单WAN多LAN的路由器(类似SAS里面的Fan-out扇出路由器,然而SAS版本可以具有多WAN能力)。
Port Multiplier是SATA II规范中的其中一个,2003年4月29日,SATA Ⅱ工作组在WinHEC会议上公布了Serial ATA Ⅱ: Port Multiplier 1.0规范。SATA II是一组可选规范的集合,后来被集成到SATA 2.5规范当中(SATA 2.0被直接跳过了)。
我们收到了来自一个叫做赛恩斯(Sans Digital)的厂商送来的Port Multiplier产品,可以连接5个3.5英寸SATA硬盘,而仅需要一条eSATA线缆与主机连接。
本质上,端口复用器仍然属于DAS设备,DAS:Direct Attached Storage,直联存储,和NAS:Network Attached Storage网络附加存储相对应。
实际使用中,笔者感到面板上有两点可以改进:
1,盖上前面板防尘罩之后,最顶端硬盘槽的工作指示灯将很难看到,除非将端口复用器放在很高的地方对其进行仰视
2,前面板的电源开关放在防尘罩里面可能会更好一些,避免误触
Port Multiplier/端口复用器,是SATA规范里面定义的一个用来将SATA端口多路复用,以提供连接到多个SATA终端的能力的一个设备,相当于一个单WAN多LAN的路由器(类似SAS里面的Fan-out扇出路由器,然而SAS版本可以具有多WAN能力)。
Port Multiplier是SATA II规范中的其中一个,2003年4月29日,SATA Ⅱ工作组在WinHEC会议上公布了Serial ATA Ⅱ: Port Multiplier 1.0规范。SATA II是一组可选规范的集合,后来被集成到SATA 2.5规范当中(SATA 2.0被直接跳过了)。
通常的点对点SATA:一个端口使用一条线缆连接一个设备
由于是一个端口对应多个终端设备,因此必须具有一个机制来决定数据通路:什么时候使用哪一个设备?什么时候进行传输?这些都是需要考虑的问题。
Port Multiplier具有两种切换机制:Command-based Switching和FIS-based Switching,可以翻译为基于命令的切换机制和基于FIS的切换机制,FIS(Frame Information Structure,帧信息结构)是SATA为了实现异步传输数据块而使用的封包,“正常”的SATA设备都使用FIS,除了第一代推出的实际上是包装过的PATA(同步传输)。要支持FIS,也需要驱动的支持,标准的AHCI规范使用了FIS。
和PATA相比,SATA的FIS结构允许异步ATA传输,例如,SATA控制器发出读取命令之后可以去干其它事情,驱动器(如,SATA硬盘)准备好数据之后,再主动发送数据给SATA控制器(当然,要具有FIS),控制器并不知道驱动器读取数据需要的时间,在PATA上,只能使用一个块一个块地传输-确认-传输-确认循环,SATA FIS就不需要这样。
显然,对于通常的点对点SATA而言,FIS虽然有用,不过并不明显,在Port Multiplier端口复用器的情况下,FIS可以发挥到最大的效用。FIS-based Switching基于FIS的切换机制允许主控制器不停地发出命令,终端设备则不停工作,并可以在任意的时候发送数据给控制端(当然,Port Multiplier需要进行拥挤管理),这样的结构可以实现最大的并行处理并达到最高的效率。
赛恩斯TR5M-B端口复用器的核心是SiI3726芯片,这是一个5口SATA Port Multiplier芯片:
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/QPI | 1xFSB 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 |
测试使用了笔者自带的台式机,并使用了随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字样的时候就是成功:
本页内容非常重要,因为一般人并不知道需要进行这个设置,也很少文档提及。
设置阵列:
在使用多个磁盘之后,自然会有设置阵列的需求:为了获得更好的性能,或者获得更好的数据安全性:
测试时使用64KB的Chunk Size。
设置阵列:
在选择好参数之后,就可以开始组建阵列了,RAID 0和RAID 1都很快,然而RAID 5不同,RAID 5需要生成校验和,并需要写入所有磁盘,避免建立阵列前的数据导致错误的数据输出,这个过程叫做初始化:
NTFS可以支持很大容量的分区,然而,默认的MBR磁盘格式并不支持超过2TB的分区容量,为了使用一个很大的分区,你需要使用GPT磁盘分区格式(GPT:GUID分区表)。
经过繁琐、漫长的设置之后,终于可以开始测试了,先进行的是传统、简单、有效的 HD Tach RW测试:
HUA721010KLA330是一个单碟200GB、总容量1TB的企业级SATA硬盘,转速7200RPM,缓存32MB。
很有意思的曲线,很像一个正弦波(当然,初始相位不是0),周期为500GB(厂商算法),一共8个周期。
单硬盘状态下和本机测试没什么不同,只是经过了一个中间设备,突发传输有所降低——在RAID5测试下,突发传输进一步降低(略为地),不过整个传输曲线都更加好了,平均传输达到了80.8MB/s,比单硬盘的72.7MB/s要高。值得注意的是随机访问时间有所提升,从单硬盘的12.5ms进步到10.4ms,这就是SATA FIS架构的威力。
接下来使用了PCMark Vangage,并使用了其中的32位版本:
PCMark的测试可说是惨不忍睹,分数只有1515分——单个硬盘是4417分。这个结果和HD Tach RW是大相径庭的,到底该信谁?
最后是笔者喜爱的Iometer测试,它可以用来衡量出一个存储子系统实际工作的效能,它的主要参数是IOps,每秒进行的操作数。
可以看出,在几乎所有的随机情况中,RAID5性能都比单硬盘要好;在几乎所有的连续情况中,RAID5性能都和单硬盘差不多。例外的就是写入情况,RAID5的写入性能较低,这在所有RAID5中都是如此的,因为RAID5需要额外的运算生成校验和。软阵列特别如此。
基本可以确定,RAID5方式确实比单硬盘要快,SATA FIS特性得到了充分的发挥。
【IT168评测中心】Port Multiplier端口复用器是一种不新颖却很少见的设备,通过端口复用器,单个SATA端口可以连接最多15个终端设备,就像一个Hub一样。
和额外配置SATA端口相比,使用端口复用器可以很快速地增加终端设备的数量而不需要占用过多的扩展槽(每个SATA端口可以支持15个设备,6个端口可以最多支持90个设备),不过,端口复用器的设置仍然略显繁琐,这应该是管理软件的问题。赛恩斯TR5M-B端口复用器表现还算不错,不过我们觉得它有些贵,这可能也是端口复用器显得如此稀少的原因。