|
[color=rgba(0, 0, 0, 0.75)] 3) NVMe 初始化功能测试结果
NVMe 初始化过程波形如图1所示。 在 PCIe 初始化过程中, 分配到 NVMe设备的 BAR0 地址为 32’hB0000000, 因此 NVMe 设备的 NVMe 寄存器基地址为 BAR0中的地址。 首先读取偏移地址为 00h 和 04h 的控制器功能寄存器, 获取 NVMe 设备的内存页大小和支持的最大单队列深度; 然后将偏移地址为 14h 的控制器配置寄存器的 Enable 字段配置为 0, 并配置常规的提交、 完成队列条目大小; 将偏移地址为 24h的寄存器配置为 32’h70007, 表示设置 Admin 提交、 完成队列深度为 7; 配置偏移地址 28h 寄存器, 表示设置 Admin 提交队列基地址为 32’h80000000; 配置偏移地址 30h
寄存器, 表示设置 Admin 完成队列基地址为 32’h81000000; 然后将控制器配置寄存器的 Enable 字段配置为 1, 表示设置完毕; 最后读取偏移地址为 1Ch 的控制器状态寄存器, 读取数值为 1, 表示 NVMe 设备进入正常工作状态, NVMe 初始化过程结束。
图1 NVMe 初始化仿真波形图
NVMe 初始化结束后, NVMe Admin 指令队列对被创建成功, 标志设备可以执行Admin 指令, NVMe 设备模型在初始化后的队列信息如图 2 所示。 Admin 提交队列和完成队列被成功创建, 仿真行为符合设计预期, 测试通过。
图 2 NVMe 初始化后 Admin 队列打印信息图
[color=rgba(0, 0, 0, 0.75)]B站已给出相关性能的视频,如想进一步了解,请搜索B站用户:专注与守望
链接:https://space.bilibili.com/585132944/dynamic?spm_id_from=333.1365.list.card_title.click
|