CN113721840B 数据访问方法、装置和第一计算设备 (华为技术有限公司)_第1页
CN113721840B 数据访问方法、装置和第一计算设备 (华为技术有限公司)_第2页
CN113721840B 数据访问方法、装置和第一计算设备 (华为技术有限公司)_第3页
CN113721840B 数据访问方法、装置和第一计算设备 (华为技术有限公司)_第4页
CN113721840B 数据访问方法、装置和第一计算设备 (华为技术有限公司)_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

201910995668.72019.10.18US2010094847A1,2010.04.15算设备对主机生成的第一写操作命令进行预处2所述网卡获取来自主机的第一写操作命令,所述第一写操作命令用于所述网卡向所述第二计算设备发送所述第一写所述网卡接收所述第二计算设备发送的第二写操作命令,所述第二所述网卡根据所述第二写操作命令从所述主机的内存中读取所述待写所述网卡接收所述第二计算设备发送的第三写操作命令,所述第三所述网卡基于所述第三写操作命令,读取处理后的待写入数据,将所3.根据权利要求1或2所述的方法,其特所述网卡将所述待写入数据从所述网卡的内存存储7.根据权利要求1或2所述的方法,其特所述网卡获取来自主机的第一读操作命令,所述第一读操作命令用于所述网卡向所述第二计算设备发送所述第一读所述网卡接收所述第二计算设备发送的第二读操作命令,所述第二所述网卡在所述第二读操作命令的指示下,将所述第接收所述存储池发送的所述第二读操作命令所请求所述网卡在所述第二读操作命令的指示下,对所述读取的数据进行3获取模块,用于获取来自所述主机的第一写操作命令,所述第接收模块,用于接收所述第二计算设备发送的第二写操作命令处理模块,用于根据所述第二写操作命令从所述主机的内存中读取待所述发送模块,还用于向所述第二计算设备发送第二写操作响应所述接收模块,还用于接收所述第二计算设备发送的第三写操作命令,作命令用于指示所述装置将处理后的待写入数据写入所数据和数据一致性保护数据,或者所述处理后的数据包括对所述待写入数据加密后的数获取模块,用于获取来自所述主机的第一读操作命令,所述第4接收模块,用于接收所述第二计算设备发送的第二读操作命令处理模块,用于在所述第二读操作命令的指示下,将所述第二读操作命5作命令,第二写操作命令由第二计算设备对主机生成的第一写操作命令进行预处理后得一方面能够减小主机的系统开销,另一方面能够提高计算机系统的处理性能,降低I/O时6[0015]对该多个写操作命令进行排序,并向第二计算设备发送排序后的多个写操作命7[0022]对该多个读操作命令进行排序,并向第二计算设备发送排序后的多个读操作命操作响应确定完成第一读操作命令所请求的数据读取操作后,向主机发送第一读操作响将校验数据存储至第一计算设备的内存;将校验数据从第一计算设备的内存存储至存储89[0051]图5为本申请实施例提供的另一种包括存储卸载系统的计算机系统的结构示意[0052]图6为本申请实施例提供的又一种包括存储卸载系统的计算机系统的结构示意例如,可以提供基础设置即服务(infrastructureasaservice,IaaS)、平台即服务DMA控制器下达指令,以指示DMA控制器控制数据的传输,DMA控制器在完成数据传输后向成为一种事实标准。随着虚拟机的单机租户数目提升和对网络性能带宽诉求的逐渐强烈,过网络访问计算机系统101。计算机系统101与存储池102之间通过网络连接,计算机系统算机系统101可以根据该读数据指令从存储池1计算机系统101中可以运行有虚拟机,客户端103可以通过访问计算机系统101使用该计算[0083]需要说明的是,图1所示的应用场景是本申请实施例提供的数据访问方法所涉及[0084]图2是本申请实施例提供的一种计算机系统200的结构示意图。该计算机系统200器212之间可以根据通信协议规范通信。在一种可实现方式中,虚拟机211中设置有NVMe/Virtio前端模块211a,NVMe/Virtio前端模块211a用于执行NVMe协议的前端部分和/或Virtio协议的前端部分。虚拟机监视器212中设置有NVMe/Virtio后端模块212a,NVMe/Virtio后端模块212a用于执行NVMe协议的后端部分和/或Virtio协议的后端部分。通过NVMe/Virtio前端模块211a与NVMe/Virtio后端模块212a配合,能够实现虚拟机211与虚拟[0086]如图2所示,虚拟机监视器212还包括:虚拟块系统处理(virtualblocksyst移、对数据执行纠删码(erasurecode,EC)、数据一致性保护(dataintegrityfield,[0088]为了解决上述问题,可以在计算机系统中添加进阶精简指令集计算集机器Virtio前端模块311a。ARM32包括NVMe/Virtio后端模块321、虚拟块系统处理模块322和RDMA模块323。该ARM32中各个部件的功能请相应参考图2所示的计算机系统200中的对应操作的执行功能卸载到ARM32中,即在该计算机系统300中由ARM32执行数据的数据处理算设备411的硬件功能对需要写入存储池中的数据和/或从存储池中读取的数据执行数据[0093]其中,主机42与第一计算设备411之间通过总线连接,该总线可以为PCIe总线或computer,CISC)处理器,第二计算设备412可以为精简指令集计算集(reduced设备412也可以通过第一计算设备411实现通信,即可以通过第一计算设备411转发需要在行时所缓存的数据,此时,主机42与该外部的第一内存43之间可以通过双倍速率(double[0099]其中,用于存放主机42运行时所缓存的数据的内存和用于存放第一计算设备411运行时所缓存的数据的内存均可以为双倍速率同步动态随机存取内存(doubledatarate机系统400还可以包括网卡45,第一计算设备411可以通过网卡45与存储池102电连接。其[0101]并且,第二计算设备412与网卡45之间也可以通过总线连接(如图5中虚线所示412与网卡45之间通过第一计算设备411连接时,该第二计算设备412与网卡45之间可以通[0102]在本申请实施例提供的存储卸载系统41中,第二计算设备412用于根据主机42生成的写操作命令和/或读操作命令等I/O命令进行预处理,以指示第一计算设备411执行相[0105]图6是本申请实施例提供的又一种包括存储卸载系统41的计算机系统400的结构示意图。如图6所示,主机42中包括虚拟机421。该虚拟机421包括NVMe/Virtio前端模块对接,实现主机42与第一计算设备411的通信。EP模块411b用于处理PCIe标准下的接口规解密等数据处理操作中的一项或多项。[0107]该计算机系统400中的其他结构的功能请相应参考前述描述中的功能,此处不再例提供的计算机系统400。该数据访问方法涉及主机向存储池中写数据和主机从存储池中第二计算设备通过第一计算设备连接为例进[0109]图7是本申请实施例提供的一种主机向存储池中写数据的方法流程图。该数据访[0114]通过第一计算设备为第一写操作命令分配I/O命令标识,并在计算机系统中传输一写操作命令分配了I/O命令标识,则在后续第一写操作命令的传输过程中均使用第一写操作命令的I/O命令标识进行传输,若第一计算设备未向第一写操作命令分配I/O命令标后的多个写操作命令的过程中,按照第一写操作命令在排序后的多个写操作命令中的顺[0124]可选地,第二写操作命令中可以携带有待写入数据在主理后的待写入数据的地址信息可以包括起始地址和数据[0127]其中,同一写操作子队列中指定数量个写操作子命令的集合称为一个写操作条设备生成的第二写操作命令用于指示第一计算设备对写操作子命令涉及的待写入数据执数据执行数据处理操作的实现方式至少可以包位置可以包括数据块存储位置的起始地址和数据总线直接向网卡发送第三写操作命令,当第二计算设备与网卡通过第一计算设备连接时,作命令的指示,在用于存储该处理后的待写入数据的内存中读取该处理后的待写入数据构建报文的报文头,并根据第三写操作命令中携带的处理后的待写入数据的数据相关信为根据写操作子队列N0对应的第三写操作命令为根据写操作子队列N1对应的第三写操作命令为根据写操作子队列N2对应的第三写操作命令[0160]报文MSG3中的数据块为校验子队列M0中校验数据的信息所指示的校验数据块,报文头3为校验子队列M0对应的第三写操作命令中携带的消息头构[0161]报文MSG4中的数据块为校验子队列M1中校验数据的信息所指示的校验数据块,报文头0为根据校验子队列M1对应的第三写操作命令中携带的消息头构[0168]步骤511、第二计算设备在根据写完成命令确定完成写操作命令所请求的数据写[0171]步骤512、第一计算设备在根据第一写操作响应确定完成写操作命令所请求的数[0175]在上述步骤501中,第一计算设备可以从该写操作命令队列中获取第一写操作命[0177]在上述步骤502中,当第一计算设备获取了包括该第一写操作命令的多个写操作[0178]其中,主机中运行有多个虚拟机,该多个虚拟机与多个逻辑卷队列(volume[0179]在上述步骤503中,第一计算设备可以按照从逻辑卷队列中读取多个写操作命令一计算设备将读出的多个写操作命令按序分别写入多个处理器对应的多个[0183]在上述步骤505中,第一计算设备在从第二写操作命令队列中读取第二写操作命写操作响应队列中,以供第二计算设备从该第一写操作响应队列中读取第二写操作响应,使得第二计算设备根据该第二写操作响应确定第一计算设备[0185]在上述步骤506中,第二计算设备可以将第三写操作命令写入第三写操作命令队[0189]在上述步骤512中,第一计算设备从第一写操作响应队列列中获取第一写操作响应后,可以根据第一写操作响应确定是否完成了第一写操作命令所请求的数据写入操作,中的一方)将命令或响应写入队列后,向接收方发送中断信号,在接收方接收到中断信号总线直接向网卡发送第二读操作命令,当第二计算设备与网卡通过第一计算设备连接时,[0206]步骤606、存储池根据第二读操作命令向网卡发送第二读操作命令所请求的读取卡可以在每收到一个数据包即向第二计算设备发送向第二计算设备发送第一读操作响应,当第二计算设备与网卡通过第一计算设备连接时,读操作命令从存储池中读取数据的过程进行说明的。当第一计算设备配置有网卡的功能[0219]步骤610、第二计算设备在根据第一读操作响应确定完成第一读操作命令所请求[0221]步骤611、第一计算设备在根据第一读操作响应确定完成第一读操作命令所请求尅响应参考上述步骤501至步骤512通[0240]接收模块701,用于接收第二计算设备基于第二写操作响应发送的第三写操作命[0242]发送模块706,还用于在根据第一写操作响应确定完成第一写操作命令所请求的[0247]排序模块707,还用于当第一计算设备接收到包括第一读操作命令的多个读操作[0248]发送模块706,还用于在依次向第二计算设备发送排序后的多个读操作命令的过[0250]发送模块706,还用于在根据第一读操作响应确定完成第一读操作命令所请求的无线网卡等具有网络接入功能的器件。通信接口902用于第一计算设备与其他节点或者终储器(Read-OnlyMemory,ROM)、固态硬盘(SolidStateDisk,SSD)、硬盘(HardDisk[0264]在一种可实现方式中,逻辑电路1001可以为专用集成电路(Application-SpecificIntegratedCircuit,ASIC)或可编程逻辑器件(ProgrammableLogicDevice,[0266]通信接口1002可以是以下器件的任一种或任一种组合:网络接口(如以太网接[0270]通信接口1102可以是以下器件的任一种或任一种组合:网络接口(如以太网接[0276]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论