【技术实现步骤摘要】
用于管理存储设备和主机单元之间的通信的系统和方法相关申请的交叉引用本申请要求在印度专利局于2019年1月10日提交的印度专利申请号201941001145的权益,该专利申请的整体内容通过引用被合并于此。
本公开涉及存储设备的领域,并且更具体地涉及用于经由桥单元来管理架构(fabric)上的非易失性存储器规范(NVMe-oF)主机单元和多个非易失性存储器规范-固态驱动器(NVMe-SSD)存储设备之间的通信的系统和方法。
技术介绍
通常,计算系统可以包括处理单元、诸如高速外部组件互联(PCIe)之类的基于总线的互连以及将处理单元对接到诸如存储设备、网络设备以及图形设备之类的各种设备的各种输入输出控制器。例如,存储驱动器能够用于将与计算系统相关联的存储设备和处理单元对接。存储驱动器可以被配置为从处理单元接收命令和数据中的至少一个并且通过串行链路或并行链路向存储设备转发命令和数据中的至少一个。以类似的方式,存储驱动器也可以通过串行或并行链路从存储设备接收对命令和数据中的至少一个的响应并且可以向处理单元传送响应和数据中的至少一个。存储驱动器能够是NVMe-oF(架构上的非易失性存储器规范)驱动器,其可以通过诸如以太网之类的架构发出命令。存储设备能够是基于PCIe的NVMe-SSD(非易失性存储器规范-固态驱动器)。此外,为了建立NVMe-oF主机单元和NVMeSSD存储设备之间的数据通信,可能需要桥单元来管理NVMe-oF主机单元和NVMe-SSD存储设备之间的协议转换。因此,常规桥单元可能要 ...
【技术保护点】
1.一种用于经由桥单元(204)来管理架构上的非易失性存储器规范(NVMe-oF)主机单元(202)和多个非易失性存储器规范-固态驱动器(NVMe-SSD)存储设备(206)之间的通信的方法(300a),该方法包括:/n由桥单元(204)从NVMe-oF主机单元(202)接收包括分散收集列表(SGL)地址的NVMe-oF数据传递命令以执行至少一个动作;/n由桥单元(204)基于将被执行的至少一个动作来生成与所接收的SGL地址相对应的虚拟数据存储器(204ba)的虚拟数据存储器地址;/n由桥单元(204)将所接收的NVMe-oF数据传递命令作为提交队列条目(SQE)存储在提交队列(SQ)缓冲器(204e)中,并且将上下文信息存储在上下文存储器(204bb)中,该上下文信息与和桥单元(204)相关联的架构上的非易失性存储器规范-非易失性存储器规范(NVMeoF-NVMe)子模块(204b)中的NVMe-oF数据传递命令相关联;/n由NVMe-SSD存储设备(206)获取存储在与桥单元(204)相关联的SQ缓冲器(204e)中的SQE;/n由NVMe-SSD存储设备(206)通过发起高速外部 ...
【技术特征摘要】
20190110 IN 2019410011451.一种用于经由桥单元(204)来管理架构上的非易失性存储器规范(NVMe-oF)主机单元(202)和多个非易失性存储器规范-固态驱动器(NVMe-SSD)存储设备(206)之间的通信的方法(300a),该方法包括:
由桥单元(204)从NVMe-oF主机单元(202)接收包括分散收集列表(SGL)地址的NVMe-oF数据传递命令以执行至少一个动作;
由桥单元(204)基于将被执行的至少一个动作来生成与所接收的SGL地址相对应的虚拟数据存储器(204ba)的虚拟数据存储器地址;
由桥单元(204)将所接收的NVMe-oF数据传递命令作为提交队列条目(SQE)存储在提交队列(SQ)缓冲器(204e)中,并且将上下文信息存储在上下文存储器(204bb)中,该上下文信息与和桥单元(204)相关联的架构上的非易失性存储器规范-非易失性存储器规范(NVMeoF-NVMe)子模块(204b)中的NVMe-oF数据传递命令相关联;
由NVMe-SSD存储设备(206)获取存储在与桥单元(204)相关联的SQ缓冲器(204e)中的SQE;
由NVMe-SSD存储设备(206)通过发起高速外部组件互联(PCIe)存储器WRITE事务层分组(TLP)事务和PCIe存储器READTLP事务中的至少一个,基于与至少一个动作相对应的、所获取的存储在SQ缓冲器(204e)中的SQE来访问与桥单元(204)相关联的虚拟数据存储器(204ba);
由桥单元(204)基于上下文存储器(204bb)中的所存储的上下文信息,将从NVMe-SSD存储设备(206)接收到的PCIe存储器READTLP事务和PCIe存储器WRITETLP事务中的至少一个分别转换为远程直接存储器存取(RDMA)READ分组和RDMAWRITE分组中的至少一个;以及
由桥单元(204)经由架构向NVMe-oF主机单元(202)传送所转换的RDMAWRITE分组和所转换的RDMAREAD分组中的至少一个。
2.根据权利要求1所述的方法(300a),所述方法(300b)进一步包括:
由桥单元(204)基于由NVMe-SSD存储设备(206)通过访问与桥单元(204)相关联的虚拟数据存储器(204ba)完成写入对应于NVMe-oF数据传递命令的数据和读取该数据中的至少一个,经由PCIe总线从NVMe-SSD存储设备(206)将完成队列条目(CQE)接收到与桥单元(204)相关联的虚拟完成队列(VCQ)地址;
由桥单元(204)经由与桥单元(204)相关联的NVMeoF-NVMe子模块(204b)将与从NVMe-SSD存储设备(206)接收到的CQE相对应的PCIeWRITETLP事务转换为RDMASEND分组;
由桥单元(204)经由RDMA子模块(204a)、经由架构向NVMe-oF主机单元(202)传送所转换的RDMASEND分组;以及
由桥单元(204)基于至少一个动作的完成,通过与桥单元(204)相关联的NVMeoF-NVMe子模块(204b)来更新NVMe-SSD存储设备(206)中的完成队列头部门铃(CQHD)。
3.根据权利要求1所述的方法(300a),所述方法(300c)进一步包括:
由桥单元(204)经由与管理(Admin)队列(AQ)相对应的NVMe-oF连接命令从NVMe-oF主机单元(202)接收建立和与桥单元(204)相关联的控制器的关联的请求,其中,AQ包括管理提交队列(ASQ)和管理完成队列(ACQ);
由桥单元(204)在与桥单元(204)相关联的SQ缓冲器(204e)中分配与管理提交队列(ASQ)相对应的物理缓冲器,并且在与NVMe-SSD存储设备(206)相关联的管理提交队列(ASQ)基地址寄存器中提供所分配的物理缓冲器的基地址;
由桥单元(204)在与桥单元(204)相关联的管理完成队列(ACQ)缓冲器(204g)中分配与管理完成队列(ACQ)相对应的物理缓冲器,并且在与NVMe-SSD存储设备(206)相关联的管理完成队列(ACQ)基地址寄存器中提供所分配的物理缓冲器的基地址;以及
由桥单元(204)对与NVMe-SSD存储设备(206)相关联的管理队列属性(AQA)寄存器更新ASQ和ACQ的尺寸信息。
4.根据权利要求1所述的方法(300a),所述方法(300d)进一步包括:
由桥单元(204)经由与输入/输出队列(IOQ)相对应的NVMe-oF连接命令从NVMe-oF主机单元(202)接收创建与和桥单元(204)相关联的控制器的IOQ对的请求;
由桥单元(204)在与桥单元(204)相关联的SQ缓冲器(204e)中分配与输入/输出提交队列(IOSQ)缓冲器相对应的物理缓冲器,其中,所分配的与IOSQ缓冲器相对应的物理缓冲器的基地址被嵌入在IOSQ命令中的SQE的SQ基地址字段中;
由桥单元(204)分配与和桥单元(204)相关联的输入/输出完成队列(IOCQ)相对应的虚拟缓冲器,其中,所分配的与IOCQ缓冲器相对应的虚拟缓冲器的基地址被嵌入在CREATEIOCQ命令中的SQE的CQ基地址字段中;
由桥单元(204)基于经由与输入/输出命令相对应的NVMe-oF连接命令的接收的请求,经由AQ来创建CREATEIOSQ命令和CREATEIOCQ命令;
由桥单元(204)执行在NVMe-SSD存储设备(206)中的门铃寄存器WRITE操作,以创建IOSQ命令和IOCQ命令中的至少一个;以及
由桥单元(204)基于从NVMe-SSD存储设备(206)接收关于CREATEIOSQ命令和CREATEIOCQ命令的完成条目(CE),经由RDMA子模块(204a)、使用RDMASEND操作对NVMe-oF主机单元(202)更新与经由NVMe-oF连接命令接收的请求相对应的CQE。
5.根据权利要求1所述的方法(300a),所述方法(300e)进一步包括:
由桥单元(204)通过架构接收包括简明数据的NVMe-oF数据传递命令;
由桥单元(204)利用简明写数据缓冲器(204f)地址来更新NVMe-oF简明数据传递命令的SGL字段;
由桥单元(204)向与桥单元(204)相关联的SQ缓冲器(204e)中的相应的IOSQ写入NVMe-oF简明数据传递命令的SQE字段,并且向与桥单元(204)相关联的简明写数据缓冲器(204f)写入NVMe-oF简明命令的简明数据且对NVMe-SSD存储设备(206)更新SQ尾部门铃;
由NVMe-SSD存储设备(206)从与桥单元(204)相关联的SQ缓冲器(204e)的IOSQ获取SQE;
由NVMe-SSD存储设备(206)访问在存储于SQ缓冲器(204e)的IOSQ中的SQE的SGL字段中所提及的地址,以从桥单元(204)的简明写数据缓冲器(204f)中取出简明数据;以及
由桥单元(204)经由RDMA子模块(204a)、经由架构向NVMe-oF主机单元(202)传送所转换的RDMASEND分组。
6.根据权利要求1所述的方法(300a),其中,从NVMe-oF主机单元(202)接收包括SGL地址的NVMe-oF数据传递命令包括:经由...
【专利技术属性】
技术研发人员:V尼马加达,K维诺德,
申请(专利权)人:三星电子株式会社,
类型:发明
国别省市:韩国;KR
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。