硬盘管理手册
更新时间: 2025/10/15
在Gitcode上查看源码

硬盘管理手册

1. 硬盘加载流程

  • Drive为抽象的硬盘对象,配置在硬盘背板的CSR中,每一个硬盘槽位对应配置一个Drive对象。
  • Drive对象负责上树各类协议硬盘的共同属性,这些硬盘包括但不仅限于SAS、SATA、NVMe-MI、SSD_FORMAT,后续预计扩展M.2等硬盘。

2. 非直通盘

非直通盘即受RAID卡管理的硬盘,在storage中主要体现为不对外暴露的PD类。

2.1 PD类

PD类由controller调用get_ctrl_pd_list方法加载获取。

PD类通过pd_identify_service服务于对应槽位的Drive对象建立连接。

以下是PD对象与Drive对象建链的时序图:

3. 直通盘

3.1 NVMe

NVMe对象配置在VPD仓库中,由硬盘背板通过Connector加载对应的CSR,Connector的presence由对应槽位的硬盘在位和类型寄存器共同决定。

NVMe对象通过slot与Drive对象建链,省去了PD对象复杂的建链过程。

NVMe对象在自己的管理服务中将属性获取更新完成后发送给Drive对象,由Drive对象负责上树。