NVMe over Fabric架构中数据读写命令的控制方法、设备和系统技术方案

技术编号:16048930 阅读:81 留言:0更新日期:2017-08-20 08:38
本发明专利技术实施例提供一种NVMe over Fabric网络中数据读写命令的控制方法、设备和系统,以解决因Target中缓存单元的存储空间不足,导致的因缓存数据读写命令时所带来的处理机制复杂的问题。通过本发明专利技术实施例提供的方法,控制设备在发送第一数据读写命令之前,存储设备中缓存单元的可用存储空间是否能够缓存所述第一数据读写命令所要传输的第一数据占用的存储空间,在小于或等于的时候才发送所述第一数据读写命令,在大于时暂停发送所述第一数据读写命令。这样,所述控制设备只在所述缓存单元能够缓存数据读写命令所要传输的数据时才发送相应的数据读写命令,能够避免存储设备中的网卡因缓存数据读写命令所带来的处理机制复杂的问题。

【技术实现步骤摘要】
【国外来华专利技术】NVMeoverFabric架构中数据读写命令的控制方法、设备和系统
本专利技术涉及信息
,特别涉及一种基于Fabric的非易失性高速传输总线NVMe,NVMeoverFabric,架构中数据读写命令的控制方法、设备和系统。
技术介绍
非易失性高速传输总线(英文:NVMe,non-volatilememoryexpress)是一种控制器接口标准,统一了通过快速外围部件互连(英文:PCIe,PeripheralComponentInterconnectExpress)总线进行连接的NVMe设备和主机(英文:Host)之间的队列(英文:Queue)传输机制,优化了队列接口等。已经发布的PCIe架构的NVMe标准在产业界取得了巨大的成功之后,业界很快希望将NVMe标准扩展到数据中心领域。但受限于数据中心领域没有大量现成的PCIe网络以及PCIe协议本身的缺陷(扩展性、远距离连接等),产业界正在推动将NVMe协议运行在iWarp,基于融合以太的远程内存直接访问协议(英文:ROCE,remotedirectmemoryaccessoverConvergedEthernet),Infiniband,光纤通道(英文:FC,FiberChannel),Omni-Path等网络上,以提供更灵活的更广泛的应用。业界将NVMe协议运行在iWarp、ROCE、Infiniband、FC和Omni-Path等网络上的应用称之为NVMeoverFabric(简称NOF)。在NVMeoverFabric的架构中,Host表示主机,主机负责发起数据的读写;Target表示目标存储设备,负责接收并且执行Host发送的命令。当Target接收到Host发送的WriteCommand之后,Target中的网卡解析WriteCommand中的内容得到WriteCommand需要传输的数据长度,并在网卡内存中分配对应的存储空间,用于缓存Host待传输的数据。Target的网卡缓存需要传输的数据后,再将缓存的数据迁入Target中的目的硬盘中。当Host通过ReadCommand从Target的硬盘中读取数据时,实现过程类似。即需要先将Target的硬盘中的数据缓存在网卡内存中,再将缓存在网卡内存中的数据,发送给Host。在具体的业务实现时,可能会出现网卡的网卡内存不足的情况。即网卡内存的存储空间不能缓存Host通过命令(包括WriteCommand或ReadCommand)传输的数据。在这种情况下,会导致Host发出的命令执行失败。Host需要等到网卡内存中其它存储空间被释放后才能再次申请可用存储空间。并且,Target中的网卡需要缓存未被执行的命令、等待内存空间的释放以及再次分配可用内存空间等等。这样的实现方式使得Target中网卡在处理网卡内存不足时的实现方式复杂,可维护性也差。
技术实现思路
本专利技术实施例提供一种NVMeoverFabric架构中数据读写命令的控制方法、设备和系统,以解决因Target中网卡内存的存储空间不足,导致的缓存数据读写命令时所带来的处理机制复杂的问题。一方面,本专利技术实施例提供了一种基于NVMeoverFabric架构中控制设备与存储设备之间数据读写命令的控制方法,所述存储设备包括数据处理单元、缓存单元和存储单元,所述控制设备需要读写的数据存储在所述存储单元中,所述数据处理单元用于接收所述控制设备发送的数据读写命令,所述缓存单元用于缓存所述读写命令所需要传输的数据;其中:所述控制设备获取所述缓存单元的可用存储空间;所述控制设备判断第一数据读写命令所要传输的第一数据占用的存储空间是否小于或等于所述缓存单元的可用存储空间;在所述第一数据占用的存储空间小于或等于所述缓存单元的可用存储空间时,发送所述第一数据读写命令给所述存储设备;在所述第一数据占用的存储空间大于所述缓存单元的可用存储空间时,暂停发送所述第一数据读写命令。通过上述方法,所述控制设备在发送第一数据读写命令之前,获取所述缓存单元的可用存储空间。在所述第一数据占用的存储空间小于所述缓存单元的可用存储空间时,发送所述第一数据读写命令给所述存储设备;在所述第一数据占用的存储空间大于或等于所述缓存单元的可用存储空间时,暂停发送所述第一数据读写命令。这样,所述控制设备只在所述缓存单元能够缓存数据读写命令所要传输的数据时才发送相应的数据读写命令,能够避免所述控制设备发送的数据读写命令所要传输的数据大于缓存单元的可用存储空间时,因缓存数据读写命令所带来的处理机制复杂的问题。可选的,所述缓存单元的可用存储空间,是所述数据处理单元在接收到所述控制设备发送的获取所述缓存单元可用存储空间的请求时,所述缓存单元中未被占用的存储空间。可选的,所述控制设备和所述存储设备之间可以通过iWarp、ROCE、Infiniband、FC或Omni-Path等网络实现连接和通信。所述存储设备中的数据处理单元可以是网卡、独立的现场可编程门阵列(英文:FPGA,fieldprogrammablegatearray)芯片或存储设备中的中央处理器(英文:CPU,centralprocessingunit)来实现。所述存储设备中的缓存单元也可以由网卡内存、FPGA芯片中的存储单元、存储设备上的缓存单元或所述存储设备中CPU的内存来实现。所述存储设备中的缓存单元也可以由网卡内存、FPGA芯片中的存储单元、存储设备上的缓存单元或所述存储设备中的CPU的内存中的至少两个组成的缓存资源池来实现来实现。在一个可能的设计中,所述控制设备获取所述缓存单元的可用存储空间包括:所述控制设备在向所述存储设备发送第一数据读写命令之前,向所述数据处理单元发送获取所述缓存单元的可用存储空间的请求,以获取所述缓存单元的可用存储空间。在一个可能的设计中,在所述控制设备向所述数据处理单元发送获取所述缓存单元的可用存储空间的请求之前,所述方法还包括:所述控制设备向所述存储设备发送第二数据读写命令,所述第二数据读写命令所要传输的数据大于所述缓存单元的可用存储空间;所述控制设备接收所述数据处理单元发送的反压消息,所述反压消息用于指示所述缓存单元的可用存储空间不足。这样,所述控制设备在所述缓存单元的可用存储空间不足,且不能缓存所述控制设备发送的所述第二数据读写命令所要传输的数据时,才在发送第一数据读写命令之前发送获取所述缓存单元的可用存储空间的请求,并在所述缓存单元的可用存储空间能够缓存所述第一数据读写命令所要传输的数据时才发送所述第一数据读写命令。不仅能够有效、地解决现有技术中的技术问题,还能够进一步提升所述控制设备发送数据读写命令时的效率,节省所述控制设备因发送获取所述缓存单元可用存储空间的请求所造成的资源占用。同样的,由于所述数据处理单元也不需要每次数据读写命令之前都要向所述控制设备返回可用存储空间,也相应节省了所述数据处理单元的资源占用。可选的,所述控制设备执行在发送第一数据读写命令之前获取所述缓存单元的可用存储空间的步骤达到预设时间时,所述缓存单元的可用存储空间足够大时,可以不再执行在发送第一数据读写命令之前获取所述缓存单元的可用存储空间的步骤。即所述控制设备只在预设时间内执行获取缓存单元的可用存储空间以及判断第一数据读写本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201680003062.html" title="NVMe over Fabric架构中数据读写命令的控制方法、设备和系统原文来自X技术">NVMe over Fabric架构中数据读写命令的控制方法、设备和系统</a>

【技术保护点】
一种基于Fabric的非易失性高速传输总线NVMe,NVMe over Fabric,架构中控制设备与存储设备之间数据读写命令的控制方法,所述存储设备包括数据处理单元、缓存单元和存储单元,所述控制设备将需要读写的数据存储在所述存储单元中,所述数据处理单元用于接收所述控制设备发送的数据读写命令,所述缓存单元用于缓存所述读写命令所需要传输的数据;其特征在于,所述的方法包括:所述控制设备获取所述缓存单元的可用存储空间;所述控制设备判断第一数据读写命令所要传输的第一数据占用的存储空间是否小于或等于所述缓存单元的可用存储空间;在所述第一数据占用的存储空间小于或等于所述缓存单元的可用存储空间时,发送所述第一数据读写命令给所述存储设备;在所述第一数据占用的存储空间大于所述缓存单元的可用存储空间时,暂停发送所述第一数据读写命令。

【技术特征摘要】
【国外来华专利技术】1.一种基于Fabric的非易失性高速传输总线NVMe,NVMeoverFabric,架构中控制设备与存储设备之间数据读写命令的控制方法,所述存储设备包括数据处理单元、缓存单元和存储单元,所述控制设备将需要读写的数据存储在所述存储单元中,所述数据处理单元用于接收所述控制设备发送的数据读写命令,所述缓存单元用于缓存所述读写命令所需要传输的数据;其特征在于,所述的方法包括:所述控制设备获取所述缓存单元的可用存储空间;所述控制设备判断第一数据读写命令所要传输的第一数据占用的存储空间是否小于或等于所述缓存单元的可用存储空间;在所述第一数据占用的存储空间小于或等于所述缓存单元的可用存储空间时,发送所述第一数据读写命令给所述存储设备;在所述第一数据占用的存储空间大于所述缓存单元的可用存储空间时,暂停发送所述第一数据读写命令。2.根据权利要求1所述的方法,其特征在于,所述控制设备获取所述缓存单元的可用存储空间包括:所述控制设备在向所述存储设备发送第一数据读写命令之前,向所述数据处理单元发送获取所述缓存单元的可用存储空间的请求,以获取所述缓存单元的可用存储空间。3.根据权利要求2所述的方法,其特征在于,在所述控制设备向所述数据处理单元发送获取所述缓存单元的可用存储空间的请求之前,所述方法还包括:所述控制设备向所述存储设备发送第二数据读写命令,所述第二数据读写命令所要传输的数据大于所述缓存单元的可用存储空间;所述控制设备接收所述数据处理单元发送的反压消息,所述反压消息用于指示所述缓存单元的可用存储空间不足。4.根据权利要求1-3所述的任一方法,其特征在于,所述方法还包括:所述控制设备暂停发送所述第一数据读写命令达到预设时间后,重新获取所述缓存单元的可用存储空间,并在所述第一数据所占用的存储空间小于或等于所述缓存单元的可用存储空间时,发送所述第一数据读写命令给所述存储设备。5.根据权利要求1-4所述的任一方法,其特征在于,所述控制设备只在预设时间内执行获取缓存单元的可用存储空间以及判断第一数据读写命令所要传输的第一数据占用的存储空间是否小于或等于所述缓存单元的可用存储空间的步骤。6.根据权利要求1所述的方法,其特征在于,所述缓存单元的可用存储空间是本地记录的所述缓存单元的实时可用存储空间。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:所述控制设备在发送所述第一数据读写命令后,将本地记录的所述缓存单元的实时可用存储空间减去所述第一数据占用的存储空间;所述控制设备在接收到所述数据处理单元发送的完成所述第一数据读写命令的响应消息后,将本地记录的所述缓存单元的实时可用存储空间加上所述第一数据占用的存储空间。8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:所述控制设备暂停发送所述第一数据读写命令达到预设时间后,所述控制设备再次判断所述第一数据占用的存储空间是否小于或等于本地记录的所述缓存单元的实时可用存储空间,并在所述第一数据所占用的存储空间小于或等于本地记录的所述缓存单元的实时可用存储空间时,发送所述第一数据读写命令给所述存储设备。9.根据权利要求1-8所述的任一方法,其特征在于,所述数据处理单元与所述存储单元之间通过基于快捷外围部件互连标准PCIe的NVMe,NVMeoverPCIe,架构实现连接。10.根据权利要求1-9所述的任一方法,其特征在于,所述数据处理单元中包括控制器,所述控制器用于控制所述缓存单元中缓存的数据与所述存储单元之间的传输,所述控制器是NVMeoverFabric架构中的物理控制器Physicalcontroller或非易矢性存储控制器NVMcontroller。11.一种控制设备,所述控制设备是基于Fabric的非易失性高速传输总线NVMe,NVMeoverFabric,架构中的控制设备,所述控制设备包括处理器、网卡和总线,所述处理器和网卡通过总线连接,所述控制设备与NVMeoverFabric架构中的存储设备之间进行数据传输,所述存储设备包括数据处理单元、缓存单元和存储单元,所述控制设备将需要读写的数据缓存在所述存储设备的缓存单元中,并存储在所述存储设备的存储单元;其特征在于,所述处理器用于执行下述步骤:获取所述缓存单元的可用存储空间;判断第一数据读写命令所要传输的第一数据占用的存储空间是否小于或等于所述缓存单元的可用存储空间;在所述第一数据占用的存储空间小于或等于所述缓存单元的可用存储空间时,发送所述第一数据读写命令给所述存储设备;在所述第一数据占用的存储空间大于所述缓存单元的可用存储空间时,暂停发送所述第一数据读写命令。12.根据权利要求11所述的控制设备,其特征在于,所述处理器获取所述缓存单元的可用存储空间包括:所述处理器在向所述存储设备发送第一数据读写命令之前,向所述数据处理单元发送获取所述缓存单元的可用存储空间的请求,以获取所述缓存单元的可用存储空间。13.根据权利要求12所述的控制设备,其特征在于,在所述处理器向所述数据处理单元发送获取所述缓存单元的可用存储空间的请求之前,所述处理器还用于执行下述步骤:向所述存储设备发送第二数据读写命令,所述第二数据读写命令所要传输的数据大于所述缓存单元的可用存储空间;接收所述数据处理单元发送的反压消息,所述反压消息用于指示所述缓存单元的可用存储空间不足。14.根据权利...

【专利技术属性】
技术研发人员:吉辛·维克多邱鑫吴沛曲会春张锦彬
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1