导言
服务器分为许多种不同的类型:从机架式、刀片式和塔式到用于高密度核算的模块化装备类型。抱负状况下,每台服务器应经过针对性优化来履行特定使命。但是,假如仔细观察的话可以发现大多数服务器规划都具有许多一起的特征。一般,它们具有多个处理器和热插拔存储器,各种经过PCIe衔接到CPU和PCH的外围设备以及安全服务和电源办理解决方案,这儿只是列出了几个常见的一起特征。虽然规划工程师为各种运用创立不同的解决方案,但在大多数状况下,其实是在对根本的服务器架构进行定制。
图1展现了这种常见的架构。一般来说,服务器规划工程师会对这种根底架构进行定制以满意不同商场的需求。外围硬件块、体系级接口块、BMC接口和其他要害组件或许因服务器规划而异。而电源办理、操控和胶合逻辑功用块(图示中的功用 #1)在定制规划中有着要害的效果,用以满意特定的运用需求。规划工程师需求为每种服务器类型定制功用,如电源办理、电路板专用的胶合逻辑或I/O扩展。虽然功用 #1在比如CPU、硬盘或网络的任何承载事务中不起效果,但在保证板上一切首要器材在正常范围内作业时是不可或缺的。规划工程师不断尽力以下降完结这些功用的本钱和杂乱性,一起保证不会下降电路板的可靠性。
本文评论了在老式服务器规划中完结功用 #1的传统办法,并将其与现代服务器规划办法进行比较,后者运用PLD集成这些功用。此外,本文还评论了运用其他集成可编程器材完结服务器中其他常用功用以下降杂乱性和本钱。
图1:8个PLD功用阐明的服务器规划框图(规划实例)
功用 #1 – 电源办理、操控和胶合逻辑功用
曾经,规划工程师一般运用多种不同的分立元件来完结电源办理、操控和其他胶合逻辑功用。多年来这一直都是颇具本钱效益的办法。但跟着服务器规划日益杂乱、功用越来越多,这类规划需求的器材也变得越来越多。现在,假如规划工程师要为多种类型的服务器规划功用 #1,选用离散元件将需求许多时刻和人力。举个比如,电路板上杂乱SoC器材的数量产生变化的话,电源数量、胶合逻辑以及其他操控功用的数量也要相应地产生变化。这就很或许要更改逻辑和根本时序。
因而,运用分立器材的解决方案不只会连累新款服务器硬件产品的上市进程,还会跟着所需元件数量的增加而导致本钱上升。此外,更改规划有时需求从头改整个电路板,不只进一步延迟了项目进程,还增加了本钱。
现代服务器体系一般将功用 #1集成到非易失性PLD中。PLD将在电路板上电之后当即开端作业(瞬时发动)。一般,完结功用 #1所需的逻辑资源和I/O数量取决于服务器类型。因而,可以供给丰厚的I/O和逻辑资源挑选的PLD器材十分合适完结功用 #1。
莱迪思MachXO3 FPGA系列以及上一代MachXO2系列(简称MachXO2/3)都能供给所需的功用。MachXO2/3器材是支撑瞬时发动的非易失性PLD,供给640 LUT到9400 LUT以及22个I/O到384个I/O的器材挑选。这些PLD可以在体系中透明地进行更新,并供给双引导支撑以便从任何体系更新过错中康复。这些器材只需一个3.3V电源即可作业,当该电源电压高于2.2V时,服务器主板电源办理算法即开端作业。因而,MachXO2/XO3是电路板上第一个发动,最终一个封闭的器材。这些器材支撑多个I/O Bank,可以独自上电或断电而不影响其他模块的运转。这方面的优势使得它们可以集成多种异构功用,例如多个电源区块操控、带外信号发送和电源待机操控。凭仗上述器材,规划工程师还可以将SPI、I2C和定时器/计数器接口增加到传统规划中,并支撑屡次可编程片上装备闪存。这些先进的器材供给5mm×5mm的QFN和BGA封装以及1mm和0.80mm的引脚距离挑选。
功用 #1集成到操控PLD(MachXO2/3)中
在图2中,MachXO2/3器材用于完结操控PLD功用,如电源/复位时序、各种类型的串行总线(I2C、SPI、eSPI、SGPIO等)、调试端口、LED驱动器、电扇PWM驱动器、前板开关传感以及其他一般GPIO功用。MachXO2/3器材支撑1V信号,可完结带外信号功用集成,无需外部GTL收发器。当芯片运转时,规划工程师可运用莱迪思软件包中的Reveal东西调试操控PLD电路。该东西在PC上运转,可用作监督和捕获各种状况的逻辑分析器以追溯毛病事情。例如,运用Reveal调试东西,规划工程师可以捕获许多导致毛病状况的事情信息(包含寄存器、节点和引脚状况),并将其显现在PC显现器上。这可以明显削减体系电路板的调试用时。
图2:根据MachXO2/MachXO3的操控PLD
无中止更新I/O
操控PLD可以协助规划工程师明显加快产品上市进程,在有限时刻内满意商场关于全新定制硬件的需求的压力。有时候,在完结操控功用时会呈现bug或体系全体结构需求的新功用。这时,对规划进行修正的一种常用办法是经过在体系更新、体系电源从头上电、载入经过从头编程的镜像来完结。这种办法需求进行电源复位,会中止整个服务器硬件的运转,下降可用性。为了保证高可用体系的接连运转,MachXO3器材可以坚持I/O状况不变,一起改写装备并初始化新装备。该功用称为无中止更新I/O。
图3:无中止更新I/O是怎么作业的
无中止更新I/O怎么作业(图3)
为了完结零停机更新,MachXO2/MachXO3器材经过“后台更新”将新的装备数据加载到装备闪存中。一旦加载结束,“TransFR”指令将新的PLD镜像文件从装备闪存传输到PLD的装备SRAM。履行“TransFR”指令的一起触发了“坚持当时状况”功用,保证一切的I/O值在传输进程中坚持不变。最终,在“逻辑初始化”进程,状况机将开端从头发动电源办理并复位电源分配。这将导致电源关断,迫使电路板开端电源上电进程。
当新镜像创立的状况机进行初始化时,体系是怎么坚持用于操控电源以及其他逻辑信号的输出不变的?为了使得要害I/O在初始化进程中坚持原状,莱迪思为每个要害的I/O增加了一个锁存MUX。它在状况机初始化进程中将输出坚持为最终的已知状况,并在初始化进程完结之后将输出操控交还给状况机。该电路可以运用“Hitless_IO_Enable”输入区别正常(上电)发动和从头装备,可防止在正常的上电进程中产生要害输出I/O值被锁死的状况。
这种新功用的优势是清楚明了的。它让制作商完结即时的装备更改成为或许,可立刻纠正规划缺点或向产品增加新功用。它在产品开发进程中也能发挥重要效果,让规划工程师可以在服务器装置进程中快速调试产品或在调试进程中更改特定的产品参数。
PLD的便利性和本钱优势使其成为完结在体系规划更新、电源办理、监控和操控要害信号以及根本内务办理功用的抱负挑选。
功用 #2 – 完结磁盘热插拔所需的逻辑功用
机架式服务器支撑热插拔HDD/FD/NVMe驱动器。这些磁盘驱动器刺进到背板。背板经过串行接口(如SGPIO和I2C)衔接到主板。规划工程师可以运用MachXO2/3器材集成如图4所示的逻辑功用以完结背板操控。举个比如,当NVMe驱动器刺进驱动器插槽时,MachXO2/3器材中的逻辑主动将状况和操控信号发送到I2C总线而不是SGPIO总线。
图4:运用MachXO2/MachXO3 PLD简化运用热插拔驱动器的背板操控功用
功用 #3 – 主机总线适配器电路板的硬件办理
莱迪思MachXO2/3器材的另一个潜在运用是集成主机总线适配器操控逻辑。如图5所示,该解决方案集成SGPIO和其他带外信号,办理电源/复位时序和其他PLD功用,包含快速电源毛病检测和状况保存。规划人员还可以在现场实时对MachXO2/3器材中完结的逻辑增加功用和修正过错,经过无中止更新I/O功用和I2C接口不会中止体系操作。
图5:集成主机总线适配器逻辑
功用 #4 – 电压电流和温度遥测
一般状况下,体系会继续对一些重要的电源电压、电路板和器材温度以及当时的负载进行丈量。为了丈量这些参数,服务器主板运用模数转化器IC来增加BMC、外部温度检测IC和电流检测IC所需的通道数量。此外,该电路板运用I2C缓冲器IC和I2C多路复用器IC来办理遥测I2C总线(图6)。电路板上的DC-DC转化器用于为IC供电,由操控PLD器材操控。操控PLD还监控来自DC-DC转化器的“Power-Good”数字信号。
规划工程师可以运用莱迪思的ASC(模仿传感和操控)器材与操控PLD来集成ADC IC和一些温度传感IC。一起,器材将“Enable”和“Power-Good”信号从操控PLD传输到ASC器材。这样做可以开释操控PLD上的I/O,然后这些I/O可用于集成I2C缓冲器和I2C多路复用器IC。遥测电路的整体本钱和BOM都得以下降。别的,经过检测电源电压的“Power-Good”状况以及断电状况,ASC还有助于进步断电时序的可靠性,并最大极限地下降电路板拥塞程度。
图6:完结遥测功用集成的新办法
功用 #5 – Bios和BMC固件验证
为了完结BIOS和BMC固件验证,MachXO2/3器材可用作无条件被信赖(root-of-trust)(图7)的安全硬件。在该装备中,器材完结椭圆曲线签名认证来验证体系BIOS和BMC固件。当正在运转的镜像遭受侵略的状况下,它们也可用于办理主动黄金镜像切换。
图7:根据MachXO2/3的解决方案办理和验证BIOS和BMC固件
功用 #6 – PCH上的TPM/TCM和单个SPI接口之间的桥接
莱迪思的MachXO2/3器材供给各类桥接解决方案。例如,服务器规划工程师可以运用这些器材将PCH SPI接口与TPM模块(在我国以外的国家运用)或TCM模块(在我国运用)衔接到同一硬件上(图8)。该桥接可适配输入和输出的各种作业频率。
图8:用于TCM的LPC到SPI桥接
功用 #7 – 在扩充卡上集成多种功用
服务器一般运用扩充卡增加LED驱动器、操控和传感功用,以削减主板上的器材衔接数量。一般状况下,这些功用运用分立逻辑%&&&&&%完结,这就需求多种类型的扩充卡,每种类型的功用都略有不同。削减所需扩充卡类型的一个办法是将每个扩充卡的功用集成到MachXO2/3 PLD上。然后可以在出产制作进程中简略地修正集成在MachXO2/3器材中的逻辑来定制扩充卡逻辑功用。
功用 #8 – 整合多个I2C缓冲器
服务器体系中的CPU经过一对I2C缓冲器与DDR存储器DIMM进行通讯(图9)。CPU还经过另一个I2C接口监督SSD驱动器。规划工程师需求运用电压转化器缓冲器来将CPU的1.05 V I2C接口与1.2 V DDR存储器和3.3 V SSD驱动器进行转化。CPU还运用1.05 V逻辑信号生成多个带外信号。这些带外逻辑信号需求与运用2.5 V或3.3 V信号接口的其他器材进行通讯。这就要在电路板上运用GTL缓冲器。
低本钱MachXO3器材选用小尺度QFN封装(5 mm x 5 mm),可用于完结电平转化,包括1.05 V I2C和其他1.2 V、3.3 V和2.5 V逻辑信号。这样可以削减电路板面积、BOM以及更为重要的原因,即完本钱钱。
图9:MachXO2/O3 1V I/O支撑I2C缓冲器集成
总结
今日的服务器规划工程师总是像20年前的工程师相同尽或许经过快速、经济高效的办法在电路板上集成更多功用。而其中经常被忽视的重要办法是经过操控PLD来完结。经过为规划工程师供给将一切操控途径功用集成到单个可编程器材中的简略办法,并经过增加新功用,使得规划工程师可以在现场进行规划修正,操控PLD将大大简化电路板规划和调试。