一种存储系统中读IO的转发方法和存储系统技术方案

技术编号:27215819 阅读:23 留言:0更新日期:2021-02-04 11:32
本发明专利技术提供一种存储系统中读IO的转发方法和存储系统,其中,存储系统中读IO的转发方法用于存储系统,该存储系统包括主机、服务节点和缓存;该读IO的转发方法包括:服务节点通过模块统一数据结构CLB、将主机下发的读IO指令转发至缓存;缓存将CLB切分为多个转发控制信息块TCB,并按先后顺序依次存入先入先出队列中;服务节点从先入先出队列中依次提取每个TCB,并从缓存中提取读IO指令所请求的IO数据;服务节点通过TCB将IO数据依次转发至主机。本发明专利技术的技术方案能解决现有技术中整个IO的两次传输过程中,所有延迟将会累积,造成延时较大的问题。大的问题。大的问题。

【技术实现步骤摘要】
一种存储系统中读IO的转发方法和存储系统


[0001]本专利技术涉及网络
,尤其涉及一种存储系统中读IO的转发方法和存储系统。

技术介绍

[0002]大数据时代为了实现海量数据的存储,现有的存储系统多使用多控集群进行分布式存储,在存储系统中,多控集群在稳定性和安全性等方面的优势明显。为了实现多控集群中各集群节点间的负载均衡,必须在各集群节点间进行IO信息的转发,来平衡集群节点间处理IO的频率和数据量,并保持磁盘读写的均衡。
[0003]现有的读IO转发方法,是在IO栈中让上层结构携带控制信息和数据,然后通过转发层驱动在集群节点之间进行简单的数据传递和IO模式处理。这种处理方式要求在处理下一个TCB(Transfer Control Block,转发控制信息块)之前,集群节点的上一个TCB已经处理完成并且已返回。
[0004]这种IO的转发处理方式,能够保证转发层绝对的简单,并且由于高速缓存会将IO分成多个路径,因此我们不需要对完整的多路径读取进行完整存储和转发。然而,这种处理方式存在巨大的缺陷问题:节点到节点的传输以及节点到主机的传输没有重叠,每一次IO需要全部传输完毕才能够进行下一次处理,导致整个IO的两次传输过程中的所有延迟将会累积起来,进而造成延时较大。

技术实现思路

[0005]本专利技术提供了一种存储系统中读IO的转发方法和存储系统,旨在解决现有技术中读IO的转发处理方式,节点到节点的传输以及节点到主机的传输没有重叠,导致整个IO的两次传输过程中,所有延迟将会累积,造成延时较大的问题。
[0006]为解决上述问题,根据本专利技术的第一方面,本专利技术提供了一种存储系统中读IO的转发方法,用于存储系统,存储系统包括主机、服务节点和缓存;读IO的转发方法包括:
[0007]服务节点通过模块统一数据结构CLB、将主机下发的读IO指令转发至缓存;
[0008]缓存将CLB切分为多个转发控制信息块TCB,并按先后顺序依次存入先入先出队列中;
[0009]服务节点从先入先出队列中依次提取每个TCB,并从缓存中提取读IO指令所请求的IO数据;
[0010]服务节点通过TCB将IO数据依次转发至主机。
[0011]优选地,上述服务节点通过CLB将主机下发的读IO指令转发至缓存的步骤,包括:
[0012]主机的主机协议层为读IO指令分配CLB,将CLB转发至本地服务节点的节点转发层;
[0013]本地服务节点的节点转发层将CLB转发至对端服务节点的节点转发层;
[0014]对端服务节点的节点转发层通过CLB将读IO指令转发至缓存。
[0015]优选地,上述缓存将CLB切分为多个转发控制信息块TCB,并按先后顺序依次存入先入先出队列中的步骤,包括:
[0016]缓存按照预定粒度,将CLB切分为多个TCB;
[0017]缓存按照TCB的切分顺序,将多个TCB依次存入先入先出队列。
[0018]优选地,上述服务节点通过TCB将IO数据依次转发至主机的步骤,包括:
[0019]服务节点的节点转发层将IO数据封装至TCB中,并将TCB转发至主机的主机协议层;
[0020]节点转发层设置TCB暂缓转发标识,TCB暂缓转发标识用于暂时禁止节点转发层接收TCB或IO数据;
[0021]主机协议层从每个TCB中提取得到IO数据,并将IO数据转发至主机;
[0022]主机协议层向节点转发层发送TCB结束标识,TCB结束标识用于控制节点转发层释放TCB暂缓转发标识;
[0023]重复执行上述步骤,直至主机协议层将切分的所有TCB中的IO数据转发至主机。
[0024]优选地,上述读IO的转发方法还包括:
[0025]当服务节点将读IO指令转发至缓存时,服务节点的节点转发层设置CLB暂缓转发标识,CLB暂缓转发标识用于暂时禁止节点转发层接收CLB;
[0026]当主机协议层将所有TCB中的IO数据转发至主机时,主机协议层向缓存发送TCB完全发送标识,TCB完全发送标识用于控制缓存生成CLB开始转发标识;
[0027]缓存将CLB开始转发标识发送至节点转发层,以使节点转发层释放CLB暂缓转发标识并控制主机协议层保持发送状态。
[0028]根据本专利技术的第二方面,本专利技术还提供了一种存储系统,该存储系统包括主机、服务节点和缓存,其中,
[0029]服务节点,用于通过模块统一数据结构CLB、将主机下发的读IO指令转发至缓存;
[0030]缓存,用于将CLB切分为多个转发控制信息块TCB,并按先后顺序依次存入先入先出队列中;
[0031]服务节点,还用于从先入先出队列中依次提取每个TCB,并从缓存中提取读IO指令所请求的IO数据;
[0032]服务节点,还用于通过TCB将IO数据依次转发至主机。
[0033]优选地,所述服务节点包括本地服务节点和对端服务节点;
[0034]主机的主机协议层,用于为读IO指令分配CLB,将CLB转发至本地服务节点的节点转发层;
[0035]本地服务节点的节点转发层,用于将CLB转发至对端服务节点的节点转发层;
[0036]对端服务节点的节点转发层,还用于通过CLB将读IO指令转发至缓存。
[0037]优选地,所述缓存还用于按照预定粒度,将CLB切分为多个TCB;
[0038]缓存,还用于按照TCB的切分顺序,将多个TCB依次存入先入先出队列。
[0039]优选地,服务节点的节点转发层,用于将IO数据封装至TCB中,并将TCB转发至主机的主机协议层;
[0040]节点转发层,还用于设置TCB暂缓转发标识,TCB暂缓转发标识用于暂时禁止节点转发层接收TCB或IO数据;
[0041]主机协议层,还用于从每个TCB中提取得到IO数据,并将IO数据转发至主机;
[0042]主机协议层,还用于向节点转发层发送TCB结束标识,TCB结束标识用于控制节点转发层释放TCB暂缓转发标识。
[0043]优选地,所述服务节点还用于当服务节点将读IO指令转发至缓存时,服务节点的节点转发层设置CLB暂缓转发标识,CLB暂缓转发标识用于暂时禁止节点转发层接收CLB;
[0044]所述主机协议层还用于当主机协议层将所有TCB中的IO数据转发至主机时,向缓存发送TCB完全发送标识,TCB完全发送标识用于控制缓存生成CLB开始转发标识;
[0045]所述缓存还用于将CLB开始转发标识发送至节点转发层,以使节点转发层释放CLB暂缓转发标识并控制主机协议层保持发送状态。
[0046]本申请技术方案提供的存储系统中读IO的转发方案,使用服务节点通过模块统一数据结构CLB,将主机下发的读IO指令转发至缓存,然后缓存将CLB切分为多个转发控制信息块TCB,并按照先后顺序依次存入先入先出队列中,服务节点从先入先出队列中依次提取每个TCB,并从缓存中提取读IO指令所请本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储系统中读IO的转发方法,其特征在于,用于存储系统,所述存储系统包括主机、服务节点和缓存;所述读IO的转发方法包括:所述服务节点通过模块统一数据结构CLB,将所述主机下发的读IO指令转发至所述缓存;所述缓存将所述CLB切分为多个转发控制信息块TCB,并按先后顺序依次存入先入先出队列中;所述服务节点从所述先入先出队列中依次提取每个TCB,并从所述缓存中提取所述读IO指令所请求的IO数据;所述服务节点通过所述TCB将所述IO数据依次转发至所述主机。2.根据权利要求1所述的读IO的转发方法,其特征在于,所述服务节点通过CLB将所述主机下发的读IO指令转发至所述缓存的步骤,包括:所述主机的主机协议层为所述读IO指令分配CLB,将所述CLB转发至本地服务节点的节点转发层;所述本地服务节点的节点转发层将所述CLB转发至对端服务节点的节点转发层;所述对端服务节点的节点转发层通过所述CLB将所述读IO指令转发至所述缓存。3.根据权利要求1所述的读IO的转发方法,其特征在于,所述缓存将CLB切分为多个转发控制信息块TCB,并按先后顺序依次存入先入先出队列中的步骤,包括:所述缓存按照预定粒度,将所述CLB切分为所述多个TCB;所述缓存按照所述TCB的切分顺序,将所述多个TCB依次存入所述先入先出队列。4.根据权利要求1所述的读IO的转发方法,其特征在于,所述服务节点通过所述TCB将所述IO数据依次转发至所述主机的步骤,包括:所述服务节点的节点转发层将所述IO数据封装至所述TCB中,并将所述TCB转发至所述主机的主机协议层;所述节点转发层设置TCB暂缓转发标识,所述TCB暂缓转发标识用于暂时禁止所述节点转发层接收TCB或IO数据;所述主机协议层从每个所述TCB中提取得到所述IO数据,并将所述IO数据转发至所述主机;所述主机协议层向所述节点转发层发送TCB结束标识,所述TCB结束标识用于控制所述节点转发层释放所述TCB暂缓转发标识;重复执行上述步骤,直至所述主机协议层将切分的所有TCB中的IO数据转发至所述主机。5.根据权利要求4所述的读IO的转发方法,其特征在于,还包括:当所述服务节点将所述读IO指令转发至所述缓存时,所述服务节点的节点转发层设置CLB暂缓转发标识,所述CLB暂缓转发标识用于暂时禁止所述节点转发层接收所述CLB;当所述主机协议层将所有TCB中的IO数据转发至所述主机时,所述主机协议层向所述缓存发送TCB完全发送标识,所述TCB完全发送标识用于控制所述缓存生成CLB开始转发标识;所述缓存将所述C...

【专利技术属性】
技术研发人员:贺坤
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1