NVME(学习笔记_杂谈)
NVME 协议中一些概念的理解:
1、Namespace :可以将Namespace 理解为一片Logic Block的区域,一个Controller可以支持多个Namespace,每个Namespace 由NamespaceId 标记,便于访问;
2、PCI Register 与Controller Register:
NVME协议定义的PCI Register属于PCI驱动的一部分内容,这些Register的内容一部分需要由Controller填充,Host通过Host Bus 调用PCI驱动可以读取得到其中的值。
NVME协议定义的Controller Register则是Controller需要支持的功能,通过PCI Register中的BAR,将Controller Register 的地址映射在BAR空间中,Host可以通过BAR空间访问Controller的Register。
简而言之,PCI Register属于NVME协议中规定的,PCI驱动需要遵循的,便于支持NVME的主机管理PCI 总线上的设备。Controller Register则是NVME规定Controller 端需要提供的,便于NVME主机与Controller进行交互。
3、BAR空间:BAR空间是Controller填充在PCI Register中,告知Host端可以通过操作哪一段内存来访问Controller 的Register,从而实现Host与Controller的直接交互、控制。