SAS的连接模式与光纤通道的Fabric交换在很多方面十分相似。每一个SAS Expander就像一台光纤通道交换机,整个交换结构被称为"域"(Domain),其意义跟光纤通道技术中的"域"几乎完全一样。在光纤通道Fabric交换结构中,每个域有一个主成员,负责维护整个域的路由信息。在SAS域中,起中心交换作用的Expander叫做"扇出Expander"(Fanout Expander)。SAS域中的"扇出Expander"既可以直接连接终端设备,也能连接其它"边缘Expander"(Edge Expander)。唯一与光纤通道Fabric不同的是,SAS域中可以没有"扇出Expander",而光纤通道Fabric域则不能没有主成员。没有"扇出Expander"的SAS域,最多只可以有两个"边缘Expander"。
理论上,每个"边缘Expander"可以支持128个端口,每个SAS域可以有128个"边缘Expander",这样每个SAS域中最多可以有128 x 128 = 16384个端口。当然,这并不是说每个SAS域可以连接16384个磁盘和SAS适配器,因为"扇出Expander"与"边缘Expander"相连接时,会占用一部分端口。如果128个"边缘Expander"全部连接到"扇出Expander",内部互联至少要占用256个端口。也就是说,一个SAS域理论上可以连接16384 - 256 = 16128个终端SAS设备。对比光纤环路126个设备的上限,16128这个数字仍然是非常可观。
一些接触过SAS存储产品的读者,可能此时会心存疑惑。为什么SAS单域就可以支持如此众多设备,但实际应用中却经常看到多域模式的产品呢?这其实跟目前SAS芯片的制造工艺有关。如果想制造出一个"扇出Expander"来支持128个"边缘Expander"的连接,那这款"扇出Expander"至少要支持128个phy(每端口至少一个phy)。而Expander之间的互联一般应采用至少四路宽端口,那就需要中心的"扇出Expander"支持4 x 128 = 512个phy(每端口四个phy)。而现在的实际情况是LSI公司的首款SAS芯片只能支持12个phy,刚刚好是个零头。虽然SAS技术支持多个Expander芯片组成一个"Expander组"(Expander Set)来模拟一个Expander,但过多的芯片无疑会在制造工艺和成本方面带来麻烦。正是基于目前SAS芯片工艺水平,一些磁盘阵列厂商在设计阵列扩展时,大多采用多域结构。虽然在软件设计上费力多些,但却可以避开单芯片phy数量有限的问题。
所谓多域模式,在大多数情况下,其实也只不过是两个域而已,即每个阵列控制器各自属于自己的SAS域。因为目前的SAS交换技术还不支持域之间的路由,所以要想保证每个阵列控制器都能访问到所有磁盘,最多只能引入两个SAS域。
SAS技术借鉴了很多光纤通道技术的工作原理,对比光纤通道技术可以帮助我们更好的了解SAS技术优势。
网友评论