【技术实现步骤摘要】
数据读写命令的控制方法、存储设备和系统
本专利技术涉及信息
,特别涉及一种基于Fabric的非易失性高速传输总线NVMe,NVMeoverFabric,架构中数据读写命令的控制方法、存储设备和系统。
技术介绍
非易失性高速传输总线(英文:NVMe,non-volatilememoryexpress)是一种控制器接口标准,统一了通过快速外围部件互连(英文:PCIe,PeripheralComponentInterconnectExpress)总线进行连接的NVMe设备和主机(英文:Host)之间的队列(英文:Queue)传输机制,优化了队列接口等。已经发布的PCIe架构的NVMe标准在产业界取得了巨大的成功之后,业界很快希望将NVMe标准扩展到数据中心领域。但受限于数据中心领域没有大量现成的PCIe网络以及PCIe协议本身的缺陷(扩展性、远距离连接等),产业界正在推动将NVMe协议运行在iWrap,基于融合以太的远程内存直接访问协议(英文:ROCE,remotedirectmemoryaccessoverConvergedEthernet),Infiniband,光纤通道(英文:FC,FiberChannel),Omni-Path等网络上,以提供更灵活的更广泛的应用。业界将NVMe协议运行在iWrap、ROCE、Infiniband、FC和Omni-Path等网络上的应用称之为NVMeoverFabric(简称NOF)。在NVMeoverFabric的架构中,Host表示主机,主机负责发起数据的读写;Target表示目标存储设备,负责接收并且执行Hos ...
【技术保护点】
1.一种基于Fabric的非易失性高速传输总线NVMe,NVMe over Fabric,架构中控制设备与存储设备之间数据读写命令的控制方法,所述存储设备包括数据处理单元、缓存单元和存储单元,所述控制设备需要读写的数据存储在所述存储单元中,所述数据处理单元用于接收所述控制设备发送的数据读写命令,所述缓存单元用于缓存所述数据读写命令所需要传输的数据;其特征在于,所述方法包括:所述数据处理单元接收所述控制设备发送的数据读写命令,将所述数据读写命令中携带的需要传输的数据划分为两个以上的分段数据,并依次将所述分段数据缓存在所述缓存单元中,所述分段数据占用的存储空间小于所述缓存单元的存储空间;所述数据处理单元将缓存的所述分段数据,依次迁移到所述数据读写命令所要传输的数据的目的地址所对应的存储空间中。
【技术特征摘要】
1.一种基于Fabric的非易失性高速传输总线NVMe,NVMeoverFabric,架构中控制设备与存储设备之间数据读写命令的控制方法,所述存储设备包括数据处理单元、缓存单元和存储单元,所述控制设备需要读写的数据存储在所述存储单元中,所述数据处理单元用于接收所述控制设备发送的数据读写命令,所述缓存单元用于缓存所述数据读写命令所需要传输的数据;其特征在于,所述方法包括:所述数据处理单元接收所述控制设备发送的数据读写命令,将所述数据读写命令中携带的需要传输的数据划分为两个以上的分段数据,并依次将所述分段数据缓存在所述缓存单元中,所述分段数据占用的存储空间小于所述缓存单元的存储空间;所述数据处理单元将缓存的所述分段数据,依次迁移到所述数据读写命令所要传输的数据的目的地址所对应的存储空间中。2.根据权利要求1所述的方法,其特征在于:所述分段数据占用的存储空间小于或等于所述数据处理单元接收所述数据读写命令时的可用存储空间;或,当所述分段数据占用的存储空间小于或等于所述数据处理单元接收所述数据读写命令时的可用存储空间时,所述数据处理单元从所述缓存单元的可用存储空间中分配相应的存储空间用于存储所述分段数据;当所述分段数据占用的存储空间大于所述数据处理单元接收所述数据读写命令时的可用存储空间时,所述数据处理单元在等待预设时间后再判断所述分段数据占用的存储空间是否小于或等于所述缓存单元的可用存储空间,并在所述分段数据占用的存储空间小于所述缓存单元的可用存储空间时,从所述缓存单元的可用存储空间中分配相应的存储空间用于存储数据分段数据。3.根据权利要求1或2所述的方法,其特征在于,所述数据读写命令包括所述需要传输的数据的地址信息和所述需要传输的数据的长度。4.根据权利要求1或2所述的方法,其特征在于:所述数据读写命令为写命令,所述需要传输的数据为需要存储的数据,所述写命令包括所述需要存储的数据在所述控制设备的源地址,所述需要存储的数据的长度和所述需要存储的数据在所述存储单元的目的地址;相应的,所述数据处理单元将所述数据读写命令中携带的需要传输的数据划分为两个以上的分段数据,并依次将所述分段数据缓存在所述缓存单元中,所述数据处理单元将缓存的所述分段数据,依次迁移到所述数据读写命令所要传输的数据的目的地址所对应的存储空间中包括:步骤S1:所述数据处理单元从所述控制设备处获取所述需要存储的数据中的一个分段数据;步骤S2:所述数据处理单元将获取到的所述分段数据缓存在所述缓存单元的第一存储空间中,并修改所述写命令,将所述写命令中的所述需要存储的数据在所述控制设备的源地址修改为所述第一存储空间的地址,将所述需要存储的数据的长度修改为所述一个分段数据的长度;步骤S3:所述数据处理单元将修改后的所述写命令发送给所述存储单元;重复执行所述步骤S1-步骤S3,直到将所述需要存储的数据迁移到所述需要存储的数据在所述存储单元的目的地址所对应的存储空间中。5.根据权利要求1或2所述的方法,其特征在于:所述数据读写命令为读命令,所述需要传输的数据为需要读取数据,所述读命令包括所述需要读取的数据在所述存储单元的源地址,所述需要读取的数据的长度和所述需要读取的数据在所述控制设备的目的地址;相应的,所述数据处理单元将所述数据读写命令中携带的需要传输的数据划分为两个以上的分段数据,并依次将所述分段数据缓存在所述缓存单元中,所述数据处理单元将缓存的所述分段数据,依次迁移到所述数据读写命令所要传输的数据的目的地址所对应的存储空间中包括:步骤S1:所述数据处理单元修改所述读命令,将所述读命令中的所述需要读取的数据在所述控制设备的目的地址修改为所述分段数据在所述缓存单元的第一存储空间的地址,将所述需要读取的数据的长度修改为所述一个分度数据的长度;并将修改后的读命令发送给存储单元;步骤S2:所述数据处理单元将一个分段数据缓存在所述第一存储空间中,并将所述第一存储空间中的分段数据发送给所述控制设备;重复执行所述步骤S1-步骤S2,直到将所述需要读取的数据迁移到所述需要读取的数据在所述控制设备的目的地址所对应的存储空间中。6.根据权利要求1或2所述的方法,其特征在于,所述数据处理单元与所述存储单元之间通过基于快捷外围部件互连标准PCIe的NVMe,NVMeoverPCIe,架构实现连接。7.根据权利要求1或2所述的方法,其特征在于,所述数据处理单元中包括控制器,所述控制器用于控制所述缓存单元中缓存的数据与所述存储单元之间的传输,所述控制器是NVMeoverFabric架构中的物理控制器或非易失性存储控制器。8.一种存储设备,所述存储设备是基于Fabric的非易失性高速传输总线NVMe,NVMeoverFabric,架构中的存储设备,所述存储设备与NVMeoverFabric架构中的控制设备之间进行数据传输,所述存储设备包括数据处理单元、缓存单元和存储单元,所述控制设备需要读写的数据存储在所述存储单元中,所述数据处理单元用于接收所述控制设备发送的数据读写命令,所述缓存单元用于缓存所述数据读写命令所需要传输的数据;其特征在于,所述数据处理单元包括处理器,所述处理器用于执行下述步骤:接收所述控制设备发送的数据读写命令,将所述数据读写命令中携带的需要传输数据划分为两个以上的分段数据,并依次将所述分段数据缓存在所述缓存单元中,所述分段数据占用的存储空间小于所述缓存单元的存储空间;将缓存的所述分段数据,依次迁移到所述数据读写命令所要传输的数据的目的地址所对应的存储空间中。9.根据权利要求8所述的存储设备,其特征在于:所述分段数据占用的存储空间小于或等于所述存储设备接收所述数据读写命令时所述缓存单元的可用存储空间;或,当所述分段数据占用的存储空间小于或等于所述存储设备接收所述数据读写命令时所述缓存单元的可用存储空间,从所述缓存单元的可用存储空间中分配相应的存储空间用于存储所述分段数据;当所述分段数据占用的存储空间大于所述存储设备接收所述数据读写命令时所述缓存单元的可用存储空间,所述数据处理单元在等待预设时间后再判断所述分段数据占用的存储空间是否小于或等于所述缓存单元的可用存储空间,并在所述分段数据占用的存储空间小于所述缓存单元的可用存储空间时,从所述缓存单元的可用存储空间中分配相应的存储空间用于存储数据分段数据。10.根据权利要求8或9所述的存储设备,其特征在于,所述数据读写命令包括所述需要传输的数据的地址信息和所述需要传输的数据的长度。11.根据权利要求8或9所述的存储设备,其特征在于:所述数据读写命令为写命令,所述需要传输的数据为需要存储的数据,所述写命令包括所述需要存储的数据在所述控制设备的源地址,所述需要存储的数据的长度和所述需要存储的数据在所述存储单元的目的地址;相应的,将所述数据读写命令中携带的需要传输数据划分为两个以上的分段数据,并依次将所述分段数据缓存在所述缓存单元中,将缓存的...
【专利技术属性】
技术研发人员:邱鑫,吉辛·维克多,张锦彬,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。