为什么说Raid卡是台小电脑

 

为什么说Raid卡是台小电脑...



为什么说Raid卡是台小电脑

很早之前没有Raid卡,只有通道卡,也就是Host通过通道卡直接识别到通后后端所挂接的所有设备。比如早期的SCSI通道卡,以及现在的SAS通道卡。该通道卡由一片主控芯片控制,内部运行固件来接收和Host端驱动下发的命令包,并根据包中的SCSI、SAS地址向对应的后端SCSI、SAS网络中发送对应的数据包从而让对应的设备收到指令。

而Raid卡就是支持Raid功能的通道卡。“支持Raid功能”可了不得,这是个复杂的工程。说得简单一些,就是先让某个独立的CPU+系统软件通过通道控制器识别到对应的盘,然后对这些盘做Raid,生成虚拟盘,其他对上层保持透明,上层扫描设备的时候,系统软件上报这些虚拟盘,而不是物理盘。同样,Host端发送IO请求的时候,这个系统软件负责接收这些IO并将其映射到物理地址,向后端物理盘发出IO。这相当于在通道卡和Host之间插入了一层非透明的中介。这个中介由单独的CPU和代码来构成。

通道卡里的主控芯片中虽然也有嵌入式CPU运行固件,但是其不论是从性能上、可寻址空间上、配的RAM大小上,均无法满足Raid计算过程对硬件资源的需求。所以,Raid卡必须增强嵌入式CPU的计算能力,增加大容量的RAM。

而早期的芯片集成度很低,一个芯片里集成不了太多的电路模块,所以人们索性直接在通道卡上焊上独立的CPU芯片,内存DIMM插槽,这下好了,这块Raid卡此时不能说是“卡”了,应该说是一块长方形的,类似“卡”形状的主板了,其本身就是一台计算机。见下图。



散热片下面是通道控制器,右上方是独立的CPU,中间的芯片是XOR硬加速芯片。那么这台计算机用什么接口与Host通信呢?PCI、PCIx、PCIe。



上图这张Raid卡更夸张,其在一张卡上放了两台机器,也就是两片通道控制器、两片CPU,它俩公用一片XOR硬件加速芯片和RAM,公用一个PCIE口与Host连接。PCIE规范里可以支持这种玩法,每台机器对Host端体现为一个Physical Function。也就是说,你完全可以把一张显卡和一张网卡做在同一张PCIE卡上。

如果把PCIe接口换成以太网、IB、FC是否可以呢?可以啊,把这块卡做大,CPU变成高规格的,内存槽来它十几个,通道芯片也采用PCIE卡的形式与CPU连接,这不就成了一台服务器了么?没错,把服务器浓缩一下,就是卡,把卡再浓缩一下,就是单片芯片了。


    关注 大话存储


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册

通道卡 相关文章