[发明专利]支持SR-IOV的NVMe控制器及方法在审
申请号: | 202011396008.6 | 申请日: | 2016-06-20 |
公开(公告)号: | CN112347012A | 公开(公告)日: | 2021-02-09 |
发明(设计)人: | 王晨阳;汤峰;王祎磊 | 申请(专利权)人: | 北京忆芯科技有限公司 |
主分类号: | G06F13/16 | 分类号: | G06F13/16;G06F13/42 |
代理公司: | 北京卓特专利代理事务所(普通合伙) 11572 | 代理人: | 陈变花 |
地址: | 100094 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 sr iov nvme 控制器 方法 | ||
提供了支持SR‑IOV的NVMe控制器及方法。其中NVMe控制器包括:系统总线访问部件、控制器寄存器访问部件、CPU以及物理存储器;系统总线访问部件耦合于外部总线并响应于来自系统总线的存储器空间访问请求生成控制器寄存器访问请求,所述控制器寄存器访问请求包括第一存储器地址、访问类型以及PF或VF的标识符;所述控制器寄存器访问部件响应于收到控制器寄存器访问请求,对于访问提交队列门铃寄存器的访问请求,将所述访问提交队列门铃寄存器的访问请求的地址转换为物理存储器地址;所述控制器寄存器访问部件响应于收到控制器寄存器访问请求,对于访问完成队列门铃寄存器的访问请求,将所述访问完成队列门铃寄存器的访问请求的地址转换为存储器地址。
技术领域
本发明涉及NVMe(Non-Volatile Memory express,高速非易失存储)控制器,具体地,涉及支持SR-IOV(Single Root IO Virtualization,单根IO虚拟化)的NVMe控制器。
背景技术
在NVMe协议中定义了控制器寄存器(Controller Register,也参见“NVM ExpressRevision 1.2”(下称NVMe协议)第3章,2014年11月3日)。在基于PCIe协议实现NVMe控制器时,NVMe控制器寄存器被映射到PCIe设备的存储器空间(Memory Space)。在NVMe协议中,PCIe寄存器MLBAR与MUBAR(PCIe协议中的寄存器BAR0与BAR1)定义了用于提供NVMe控制器寄存器的存储器空间(本文中也称之为存储器寄存器空间)。
除了PCIe协议,可基于其他总线协议实现NVMe协议。在总线协议中,设备提供可被其他总线实体访问的存储器空间(Memory Space,或称存储器寄存器空间),并将NVMe控制器寄存器映射到存储器空间。从而为访问NVMe控制器寄存器,通过在总线协议中访问存储器空间来实现。
主机(Host)或其他总线实体依据NVMe协议能够访问控制器寄存器,但也应遵循若干约束。例如,Host不能同时访问设备的两个或多个控制器寄存器;被保留的寄存器或者寄存器中被保留的比特是只读的,在被读取时返回0。
控制器寄存器包括不同用途的寄存器。参看图1A,展示了控制寄存器在存储器空间中的布局。依据NVMe协议,以PCIe协议作为总线协议为例,在PCIe设备的存储器空间的前4K字节(地址范围0-0x0FFF)提供的寄存器(本公开中称为属性/控制寄存器)用于描述控制器的基本属性,例如控制器能力、版本、命令队列基地址,或者用于提供对控制器的控制端口。在存储器空间的0x1000地址开始存储命令队列的门铃寄存器(Doorbell寄存器),在门铃寄存器之后的存储器空间存储设备商专用(Vendor Specific)信息。
控制器寄存器具有多种类型(Type),例如NVMe协议1.2版本定义了只读类型(RO)、读写类型(RW)、RW1S类型与RW1C类型。在NVMe协议的其他版本中,还可能定义其他的控制器寄存器类型。RW1S类型的含义是该寄存器可读可写,在被写入时,向某位写“1”意味着按位设置中断向量的掩码,而写“0”则没有作用;在被读出时,当前的中断向量的掩码值(而非寄存器的值)被读出。RW1C类型的含义是,该寄存器可读可写,在写入时,向某位写“1”意味着按位清除中断向量的掩码,而写“0”则没有作用;在被读出时,当前的中断向量的掩码值(而非寄存器的值)被读出。
通过支持SR-IOV中的PF(Physical Function,物理功能)与VF(VirtualFunction,虚拟功能),NVMe控制器支持SR-IOV(参见“Single Root I/O Virtualizationand Sharing Specification”Revision 1.1,2010年1月20日)。支持SR-IOV的NVMe控制器中包括多个控制器。本公开中,将支持PF的控制器称为第一类控制器,而将支持VF的控制器称为第二类控制器。为支持SR-IOV,需要为每个PF与VF提供控制器寄存器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京忆芯科技有限公司,未经北京忆芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011396008.6/2.html,转载请声明来源钻瓜专利网。