硬盘管理手册
更新时间: 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对象负责上树。