应用于集群存储系统的输出入传递方法及系统的制作方法

文档序号:8905059阅读:269来源:国知局
应用于集群存储系统的输出入传递方法及系统的制作方法
【技术领域】
[0001]本发明涉及网络技术领域,特别是涉及一种应用于集群存储系统的输出入传递方法及系统。
【背景技术】
[0002]透明桥接通常用于总线扩展中,其主侧和次侧的地址完全透明,在主侧和次侧之间的地址传递是直接传递的模式,没有地址翻译。通过透明桥隔离PCI总线段,可以提供扩展负载数量和匹配不同工作频率、总线宽度或电压的能力,但没有隔离主、从总线段之间地址域的功能。
[0003]基于PCI (Peripheral Component Interconnect,外设组件互连标准)的单处理器系统依靠主处理器来枚举和配置系统,并处理中断和错误情况。主处理器有效地拥有整个系统。而基于PCI的多处理器系统中如果系统中有两个或多个处理器而且没有特别地隔离它们,那么每个处理器都将尝试提供主处理器功能,并相互争夺系统的控制权,硬盘数据易产生冲突。
[0004]传统的使用SAS(Serial Attached SCSI,串行连接SCSI)当双边控制器的传送功能,需要协议转换,数据交换效率较低;而使用PC1-E (PCI Express,总线接口 )当信息传送功能,需要在接收端配置一个缓冲区,并且大量数据需分段传送,数据传送效率低。

【发明内容】

[0005]鉴于此,本发明提供了一种应用于集群存储系统的输出入传递方法及系统,能高效交换数据,且能够有效隔离主、从总线之间的地址域。
[0006]本申请中,“输出入信号”指的是输出/输入信号(I/O信号)。
[0007]为达到发明目的,本发明提供一种应用于集群存储系统的输出入传送方法,包括以下步骤:
[0008]第一控制器接收主机发送的输出入信号,并判断所述第一控制器是否为所述输出入信号对应的逻辑卷预设的主控制器;
[0009]若是,则所述第一控制器根据所述输出入信号控制所述逻辑卷读写数据,并转至所述逻辑卷读写数据完成后,所述第一控制器返回读写完成信号到所述主机的步骤;
[0010]若否,则所述第一控制器将所述输出入信号传递给作为所述逻辑卷主控制器的第二控制器,且所述第二控制器根据所述输出入信号控制所述逻辑卷读写数据;
[0011]所述逻辑卷读写数据完成后,所述第一控制器返回读写完成信号到所述主机。
[0012]作为一种可实施例,所述第一控制器根据所述输出入信号控制所述逻辑卷读写数据,包括如下步骤:
[0013]将所述第二控制器的第二内存地址映射到所述第一控制器,并与所述第一控制器的第一内存地址合并构成第一合并内存地址;
[0014]若所述输出入信号为输出信号,所述第一控制器控制所述逻辑卷将其内的数据缓存到所述第一合并内存地址内,并通过所述第一合并内存地址读出数据;
[0015]若所述输出入信号为输入信号,所述第一控制器将所述数据缓存到所述第一合并内存地址中,并通过所述第一合并内存地址将所述数据写入所述逻辑卷。
[0016]作为一种可实施例,所述第一控制器将所述输出入信号传递给作为所述逻辑卷主控制器的第二控制器,且所述第二控制器根据所述输出入信号控制所述逻辑卷读写数据,包括如下步骤:
[0017]所述第一控制器将所述输出入信号封装为输出入信号包,并将所述输出入信号包传递给所述第二控制器;
[0018]所述第二控制器接收所述输出入信号包后,将所述输出入信号包转换为本地输出入信号;
[0019]所述第二控制器根据所述本地输出入信号控制所述逻辑卷读写数据。
[0020]作为一种可实施例,所述第二控制器根据所述本地输出入信号控制所述逻辑卷读写数据,包括如下步骤:
[0021]将所述第一控制器的第一内存地址映射到所述第二控制器,并与所述第二控制器的第二内存地址合并构成第二合并内存地址;
[0022]若所述本地输出入信号为输出信号,所述第二控制器将所述逻辑卷内的数据缓存到所述第二合并内存地址内,并通过所述第二合并内存地址读出数据;
[0023]若所述本地输出入信号为输入信号,所述第二控制器将所述数据缓存到所述第二合并内存地址中,并通过所述第二合并内存地址将所述数据写入所述逻辑卷。
[0024]作为一种可实施例,所述逻辑卷读写数据完成后,所述第一控制器返回读写完成信号到所述主机,包括如下步骤:
[0025]若所述第一控制器为所述主控制器,所述第一控制器控制所述逻辑卷读写数据完成后,返回所述读写完成信号到所述主机;
[0026]若所述第二控制器为所述主控制器,所述第二控制器控制所述逻辑卷读写数据完成后,向所述第一控制器发送确认信息,所述第一控制器接收所述确认信息后,返回所述读写完成信号到所述主机。
[0027]本发明还提供一种应用于集群存储系统的输出入传递系统,包括第一控制器、第二控制器及主机,控制器中包括接收模块,判断模块和返回模块,其中:所述第一控制器,被配置以通过所述接收模块接收主机发送的输出入信号;
[0028]所述第一控制器,被配置以通过所述判断模块判断所述第一控制器是否为所述输出入信号对应的逻辑卷预设的主控制器;若是,则所述第一控制器根据所述输出入信号控制所述逻辑卷读写数据,并转至所述返回模块;若否,则所述第一控制器将所述输出入信号传递给作为所述逻辑卷主控制器的第二控制器,且所述第二控制器根据所述输出入信号控制所述逻辑卷读写数据;
[0029]所述第一控制器,被配置以所述逻辑卷读写数据完成后,通过所述返回模块返回读写完成信号到所述主机。
[0030]作为一种可实施例,所述判断模块包括映射单元,读出单元和写入单元,其中:
[0031]所述第一控制器,被配置以通过所述映射单元将所述第二控制器的第二内存地址映射到所述第一控制器,并与所述第一控制器的第一内存地址合并构成第一合并内存地址;
[0032]所述第一控制器,被配置以若所述输出入信号为输出信号,通过所述读出单元将所述逻辑卷内的数据缓存到所述第一合并内存地址内,并通过所述第一合并内存地址读出数据;
[0033]所述第一控制器,被配置以若所述输出入信号为输入信号,通过所述写入单元将所述数据缓存到所述第一合并内存地址中,并通过所述第一合并内存地址将所述数据写入所述逻辑卷。
[0034]作为一种可实施例,所述判断模块包括封装单元,转换单元和读写单元,其中:
[0035]所述第一控制器,被配置以通过所述封装单元将所述输出入信号封装为输出入信号包,并将所述输出入信号包传递给所述第二控制器;
[0036]所述第二控制器,被配置以通过所述转换单元接收所述输出入信号包后,将所述输出入信号包转换为本地输出入信号;
[0037]所述第二控制器,被配置以通过所述读写单元根据所述本地输出入信号控制所述逻辑卷读写数据。
[0038]作为一种可实施例,所述读写单元包括映射子单元,读出子单元和写入子单元,其中:
[0039]所述第二控制器,被配置以通过所述映射子单元将所述第一控制器的第一内存地址映射到所述第二控制器,并与所述
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1