1 概述
-
PCIe(Peripheral Component Interconnect Express)设备是一种基于高速串行总线标准的计算机硬件组件,主要用于连接主板与扩展设备,如显卡、网卡或存储驱动器,以实现高效数据传输
-
PCIe属于高速串行点对点双通道高带宽传输,其核心优势在于通过多通道设计(如x4或x8)提升带宽,显著加快设备间通信速度
-
PCIe标准由PCI-SIG负责制定并维护,官网地址
-
PCIe标卡指使用标准PCIe插槽与计算机主板连接的扩展卡
2 PCIe设备
2.1 bmc.dev.PCIeDevice
- 描述PCIe设备的接口。对于PCIe设备,此接口为必选项
| 属性名 | 类型 | 可读写 | 信号通知 | 描述 |
|---|---|---|---|---|
| DeviceName | String | 读写 | 无 | PCIe设备名称,通常会包含槽位号 |
| FunctionClass | U8 | 只读 | 无 | 功能分类,见表1 功能分类 |
| VendorId | String | 只读 | 无 | 制造商Id |
| DeviceId | String | 只读 | 无 | 设备Id |
| SubSystemVendorId | String | 只读 | 无 | 子厂商Id |
| SubSystemDeviceId | String | 只读 | 无 | 子设备Id |
| SlotType | String | 只读 | 无 | PCIe设备所在槽位的类型 |
| FunctionProtocol | String | 只读 | 无 | PCIe功能协议 |
| FunctionType | String | 只读 | 无 | PCIe功能类型 |
| DeviceType | String | 只读 | 无 | PCIe设备类型 |
| ComponentType | U8 | 只读 | 无 | PCIe设备部件类型 |
| Container | String | 只读 | 无 | 容纳此PCIe设备的Component对象名称,由上级连接器传入 |
| GroupPosition | String | 只读 | 无 | 资源协作路径信息,由上级连接器传入、拼接而成,可作为对象唯一标识 |
- SlotType、FunctionProtocol、FunctionType、DeviceType来源于Redfish标准规范中PCIeDevice资源的同名属性,取值范围也与Redifish标准一致
- ComponentType 与Component的Type属性一致,参考CSR配置字典之Component类
| 功能类型 | 编号 |
|---|---|
| 0 | 未知 |
| 1 | RAID卡 |
| 2 | 网卡 |
| 3 | GPU卡 |
| 4 | 存储卡(SSD卡/M.2卡) |
| 5 | SDI卡 |
| 6 | 加速卡 |
| 7 | 扩展卡(PCIe Riser) |
| 8 | FPGA卡 |
| 9 | NPU卡 |
2.2 bmc.dev.PCIeDevice.Topology
- 描述PCIe设备拓扑信息的接口。对于PCIe设备,此接口为必选项
| 属性名 | 类型 | 可读写 | 信号通知 | 描述 |
|---|---|---|---|---|
| Location | String | 读写 | 无 | 物理位置 |
| Slot | U8 | 读写 | 无 | 物理槽位号 |
| Segment | U8 | 读写 | 无 | 段号,应用于多PCI Bridge场景,每个Segment对应一个PCI Bus空间 |
| SocketId | U8 | 读写 | 无 | 所属CPU Id |
| Bus | U8 | 读写 | 无 | PCIe Root Port的总线号 |
| Device | U8 | 读写 | 无 | PCIe Root Port的设备号 |
| Function | U8 | 读写 | 无 | PCIe Root Port的功能号 |
| DevBus | U8 | 读写 | 无 | 总线号 |
| DevDevice | U8 | 读写 | 无 | 设备号 |
| DevFunction | U8 | 读写 | 无 | 功能号 |
2.3 bmc.dev.PCIeDevice.Status
- 描述PCIe设备状态的接口。对于PCIe设备,此接口为必选项
| 属性名 | 类型 | 可读写 | 信号通知 | 描述 |
|---|---|---|---|---|
| UCEByBios | U8 | 只读 | 变更广播 | Bios上报不可纠正错误标识,0-未产生,1-产生 |
| BandwidthReduced | U8 | 只读 | 变更广播 | 降带宽标识,0-未产生,1-产生 |
| LinkSpeedReduced | U8 | 只读 | 变更广播 | 降速率标识,0-未产生,1-产生 |
| DiagnosticFault | U8 | 只读 | 变更广播 | 诊断故障标志,0-未产生,1-产生 |
| PredictiveFault | U8 | 只读 | 变更广播 | 预故障标志,0-未产生,1-产生 |
2.4 bmc.dev.PCIeDevice.HotSwap
- 描述PCIe设备热插拔能力的接口。对于PCIe设备,此接口为可选项
| 属性名 | 类型 | 可读写 | 信号通知 | 描述 |
|---|---|---|---|---|
| HotSwappable | Boolean | 只读 | 无 | 是否支持热插拔 |
| ReadyToRemove | U8 | 只读 | 无 | 热交换器件的电源状态,0:下电;1:上电 |
2.5 bmc.dev.PCIeDevice.Bandwidth
- 描述PCIe设备带宽的接口。对于PCIe设备,此接口为可选项
| 属性名 | 类型 | 可读写 | 信号通知 | 描述 |
|---|---|---|---|---|
| LinkWidthCapability | String | 只读 | 变更广播 | 最大链路带宽 |
| LinkWidth | String | 只读 | 变更广播 | 链路带宽 |
| LinkSpeedCapability | String | 只读 | 变更广播 | 最大链路速率 |
| LinkSpeed | String | 只读 | 变更广播 | 链路速率 |
| BandwidthThresholdPercent | U16 | 只读 | 无 | 网络带宽占用率门限 |
3 通用PCIe卡
3.1 bmc.dev.PCIeCard
- 描述PCIe标卡的接口。对于PCIe标卡,此接口为必选项
| 属性名 | 类型 | 可读写 | 信号通知 | 描述 |
|---|---|---|---|---|
| Name | String | 只读 | 无 | 产品名称 |
| Model | String | 只读 | 无 | 产品型号 |
| Manufacturer | String | 只读 | 无 | 厂商 |
| PartNumber | String | 读写 | 变更广播 | 部件编码 |
| Description | String | 只读 | 无 | 描述 |
| PCBVersion | String | 只读 | 无 | PCB版本号 |
| SerialNumber | String | 读写 | 变更广播 | 序列号 |
| BoardId | U16 | 只读 | 无 | 单板Id |
| BoardName | String | 只读 | 无 | 单板名称 |
| PCBId | U8 | 只读 | 无 | PCB Id |