带你认识存储系统的心脏:存储处理器
存储处理器特性要求
高性能
与一般的PCI RAID卡相比,存储系统的控制器控制软件除了实现基本的RAID功能,支持RAID 0、1、0+1、3、5、30、50等级别外,还通过以下技术提高存储设备的传输性能:
(1)实现存储设备与系统的均衡。在分析磁盘阵列的随机Petri网模型和计算硬件组成环节运行时间的基础上,利用Petri网模型计算主要环节的利用率,选择合适的通信机制,利用运行时间的计算结果合理地确定硬件配置,来解决主从通道与磁盘通道的速度匹配、各级缓冲存储器的容量匹配和通信方式的选择等影响性能的关键问题,使系统结构趋于合理,达到负载均衡的目的。
(2)实现串内多线程操作。通过选择恰当的磁盘控制器,实现同一物理链路多个磁盘驱动器的并发操作,实现串内磁盘驱动器的并发操作,在时间上重迭地处理数据的存取,从而达到提高传输性能的目的。
(3)实现底层设备的I/O合并操作。利用底层硬件未曾利用的数据聚散(Scatter/Gather)功能,将所有分解到某个磁盘驱动器上的子命令,按其操作属性进行合并,并将逻辑地址离散的数据调整为支持一次I/O操作的格式,然后用一次I/O代替多次I/O,达到降低服务时间的目的。
(4)利用纵横LRU替换算法实现纵横LRU替换。对于主机的大块数据访问,当第i块数据在第j个磁盘驱动器上时,第i+1块数据肯定在第(j+1)mod N个磁盘驱动器上,如果第i块数据在第j组缓存失效,那么第i+1块数据有可能在第(j+1)mod N组缓存也发生失效,因此在数据读写过程考虑数据块在磁盘驱动器上的横向相关性,可以通过纵横LRU替换算法,将纵向预腾空(即同一组内的预腾空)发展成纵横预腾空(即多组同时替换)。
智能化
控制器提供了存储系统一定的在线操作智能化能力,减少由存储模块自身原因引起的系统停机,提高存储系统内数据的高可用能力,这些特性包含:
多种读写方式
RAID阵列迁移、级别迁移、容量在线扩展、容量在线扩容、磁盘易位
面向单RAID阵列的读写应用优化
系统管理和监控
控制器除了提高磁盘阵列在线操作智能化能力的同时,还实现I/O读写的智能化。I/O负载可以表示为一个三元组(地址、大小、读/写),因而存取模式可以对应一个三维空间,每一维对应三元组的一个元素随时间的变化值。自适应磁盘阵列通过获取不同I/O负载和不同磁盘数据分布的特征,调节磁盘阵列参数和调度策略,以获取系统的最大性能。
高可用
支持双控制器和镜像缓存,是存储控制器的独有特性,它和冗余热拔插、模块化无电缆连接技术一起,可满足海量存储系统的高可用性要求。双控制器系统中,每个控制器拥有自己的缓存,可独立工作,也可通过系统的通讯背板相互监测状态,实现故障切换、甚至负载共享。磁盘阵列还可实现与服务器之间的路径冗余,即当主路径失败时,系统可以使用另一条I/O路径,在服务器和存储系统间传输数据,该功能可以保证阵列与两台服务器,以及双机高可用软件,构成一个完全排除单点故障的双机高可用集群系统。

图3、双控磁盘阵列通道连接示意图
高扩展
存储控制器是后台计算系统的I/O连接桥梁,在控制器基板和总线上,通过植入各种不同工业标准的I/O控制器,例如SCSI、FC、iSCSI、ATA、SATA、SAS控制器,可以方便的构成不同种类的磁盘阵列设备,选择不同种类和数量的控制器,可以保证存储系统的主机连接和硬盘连接的高扩展特性。
在其控制器上采用了FC-AL技术,理论上一个FC-AL通道可以最大连接127个设备,而且,如果磁盘阵列提供两个FC-AL接口,即实现了通道扩展,可以把一组硬盘连接在一个双光纤环路上,实现同一组光纤硬盘的全双工操作,两个双光纤环路间通过并行I/O技术和全双工操作,实际I/O吞吐率可以达到320MB/s以上。

图4 、双光纤线环路连接示意图
后记:
随着信息化应用规模的急剧扩大,存储系统所面对的数据量和I/O操作量日渐巨大,并且网络化存储需求越来越迫切,这需要从总线、处理器、I/O控制器角度提高存储系统的性能,大容量缓存、二级缓存、多路处理器、新型总线等,都是存储系统控制器性能提升的方向。在由计算器(服务器)、存储连接设备和存储系统构成的后台应用系统中,从存储系统上实现更多的存储管理功能,例如远程镜像、虚拟存储、数据快照、数据备份、缓存服务,是提高后台系统数据管理能力的捷径,更是存储控制器的一个发展方向。