引言
M.2固态硬盘(M.2 Solid State Drive, M.2 SSD)是一种基于M.2接口的用固态电子存储芯片阵列制成的硬盘,因其具有速度快、体积小、容量大的优点而备受市场的青睐。M.2 SSD的接口可以兼容外设组件互连快速总线(Peripheral Component Interconnect express,PCIe)、串行硬盘总线(Serial Advanced Technology Attachment, SATA)和通用串行总线(Universal Serial Bus, USB)等多种协议,其中PCIe总线的M.2 SSD又被称之为NVMe M.2 SSD。其支持的PCIe速度已经发展到PCIe Gen5 32GT/s,最大×4的通道宽度,容量也已经达到4 TB[1-2]。同时在企业级市场上,M.2 SSD经常被用作服务器和路由器的操作系统启动盘,成为这些产品的标准配置。然而,企业级产品要求高可用性(High Availability, HA)、保证24小时开机提供服务、支持在线替换功能以及数据保护功能以提高可靠性。这就要求担当操作系统启动盘的固态硬盘具有热插拔能力(Hot-Plug)和独立磁盘冗余阵列(Redundant Array of Independent Disks, RAID)功能,以便在不停机状态下进行维护、替换和扩展。
热插拔是允许在机器带电运行的情况下在线更换系统中可替换部件[3]。RAID是多个磁盘组成阵列,并利用个别磁盘提供数据保护功能以保证系统在单个磁盘失效时,可以保持数据完整性并继续提供服务,维持系统的高可用性。这两者结合可以提供针对操作系统启动盘的在线维护。但是,M.2 SSD接口在设计之初并没有考虑到对热插拔功能的支持[2],也没有热插拔导轨,它必须固定安装在一个载体上,因此无法实现在线更换和RAID功能。目前,业界典型的解决方案如图1所示。
图1 目前业界典型的M.2 SSD热插拔解决方案
图1中采用一种具有热插拔管理能力的硬件RAID控制器(HW RAID controller)通过PCIe ×8链路与中央处理器(Central Processing Unit, CPU)的PCIe端口连接,其后端通过一个载板(Carrier)和多块M.2 SSD相连,并将这个硬件RAID控制器和两块或四块M.2 SSD一起固定在这张载板上,由载板实现机械上的热插拔动作,再由这个硬件RAID控制器来管理与CPU间热插拔时的所有电气特性和实现RAID功能,同时这个硬件RAID控制器可以兼容PCIe和SATA[4-5]这两种不同的数据接口。这种方案的不足之处在于,硬件RAID控制器及其外围电路需要额外的硬件部署,因此增加了硬件成本,且占用物理空间;此外,实际在进行热插拔操作时,固定安装在同一张载板上的这个RAID控制器连同多块M.2 SSD必须随载板一起移除和插入,灵活性较差。
本文提出了一种基于市场上通用M.2 SSD模块新的设计方案,以实现热插拔功能,同时兼容PCIe和SATA两种数据接口,且具备RAID功能;还给出了一种具有更高的性价比新的动态时钟信号控制(Dynamic Clock Control)[6]设计方案。最后,设计实现了上述方案并进行了实例测试验证。
本文详细内容请下载:
https://www.chinaaet.com/resource/share/2000006603
作者信息:
丁维银
(思科系统(中国)研发有限公司,上海 200231)