Fusion-MPT架构解析:SCSI, FibreChannel, SAS与硬件驱动

需积分: 9 3 下载量 106 浏览量 更新于2024-07-25 收藏 376KB PPTX 举报
"这篇学习笔记主要介绍了MPTSAS的相关知识,包括Fusion-MPT架构、硬件组件、软件接口以及在操作系统层的实现。MPTSAS是针对存储系统的高性能解决方案,涉及到了SCSI、Fibre Channel和SAS协议的处理。笔记内容涵盖了从底层硬件如ARM核心、SCSI和光纤通道架构,到上层的软件接口和驱动程序的各个层面。" 在深入讲解MPTSAS之前,首先理解几个关键概念。MPTSAS(Multi-Protocol Transport SAS)是一种技术,它允许系统同时处理多种协议,如SCSI(Small Computer System Interface)、Fibre Channel(光纤通道)和Serial Attached SCSI(串行连接SCSI)。这种技术主要用于数据中心和服务器环境,提供高效的数据传输和存储解决方案。 Fusion-MPT架构是MPTSAS的核心,它包含了硬件层、固件层和操作系统层的驱动程序。硬件层由高性能的ARM处理器、GigaBlaze收发器和先进的I/O焊盘组成,这些组件协同工作,确保高速数据传输。固件层则负责处理SCSI、Fibre Channel和SAS协议,以及实现高级的集成RAID功能。而在操作系统层,有针对不同协议的驱动程序,如Mptbase、Mptsas和Mptscsih,它们分别承担着基础管理、SAS控制器管理和与LINUX SCSI层的交互任务。 Mptbase是所有LSI Fusion-MPT驱动的通用函数集合,它包含了基础管理所需的各种函数。当CONFIG_FUSION_ON_SAS模块加载时,会调用fusion-init进行初始化,注册回调函数,如mpt_base_reply,这个函数是处理MPT基本驱动程序内部请求/应答的关键,用于事件通知和事件确认。 Mptsas则是专门针对SAS控制器的函数集合,处理各种SAS命令。Mptscsih作为中间层,实现了LSI Fusion-MPT驱动和Linux SCSI层之间的衔接,确保了SCSI命令的正确传递和执行。 在初始化过程中,MptCallbacks、MptDriverClass、MptEvHandlers和MptResetHandlers等表格被创建,用于查找和调用相应的处理函数。例如,MptCallbacks是一个回调查找表,用于映射不同的驱动程序回调例程,而MptDriverClass则定义了协议驱动程序类的查找表。 总结来说,MPTSAS是一个复杂且高效的数据传输架构,通过Fusion-MPT技术整合了硬件和软件,提供了强大的存储和网络性能。了解其工作原理对于系统管理员和存储工程师来说至关重要,因为这有助于优化系统性能、提升数据安全性和可靠性。