一种控制器共享同步方法和装置

文档序号:923747 发布日期:2021-03-02 浏览:1次 >En<

阅读说明:本技术 一种控制器共享同步方法和装置 (Controller sharing synchronization method and device ) 是由 江博 于 2020-10-29 设计创作,主要内容包括:本发明公开了一种控制器共享同步方法和装置,方法包括:由一个主控制器和多个从控制器的基板管理控制器分别将待传输数据各自加载到缓冲寄存器;由主控制器将待传输数据经由共享总线广播到多个从控制器,并分别接收由多个从控制器广播的待传输数据以写入缓冲寄存器;由主控制器的复杂可编程逻辑器件依次向每个从控制器经由共享总线分别发出数据同步请求;响应于有从控制器接收到数据同步请求,而由该从控制器将待传输数据广播到主控制器和多个其它从控制器,并分别接收由主控制器和多个其它从控制器广播的待传输数据以写入缓冲寄存器。本发明能够从数据共享和同步释放BMC资源,并且提高数据传输的响应速度。(The invention discloses a controller sharing synchronization method and a controller sharing synchronization device, wherein the method comprises the following steps: respectively loading data to be transmitted to a buffer register by a baseboard management controller of one master controller and a plurality of slave controllers; broadcasting data to be transmitted to a plurality of slave controllers by the master controller through a shared bus, and respectively receiving the data to be transmitted broadcasted by the slave controllers to write the data into a buffer register; the complex programmable logic device of the master controller sequentially sends data synchronization requests to each slave controller through a shared bus; in response to receiving a data synchronization request from a slave controller, the slave controller broadcasts data to be transmitted to the master controller and a plurality of other slave controllers, and receives the data to be transmitted broadcast by the master controller and the plurality of other slave controllers, respectively, to write into the buffer register. The invention can release BMC resources from data sharing and synchronization, and improve the response speed of data transmission.)

一种控制器共享同步方法和装置

技术领域

本发明涉及存储控制领域,更具体地,特别是指一种控制器共享同步方法和装置。

背景技术

存储控制器在十年前形成了双控、四控、八控甚至十六控的架构设置,多控之间共同处理业务,大大提升了业务性能。另外,主控在一个控制器突然宕机后,由另外一控接管业务,大大提高了数据安全和设备的容灾性能。每一个控制器由BMC(基板管理控制器)来做机箱管理,一是提供上层存储软件读写访问,二是收集本控制器内相关设备的状态信息和多控制器之间的共享信息。

在四控场景中,本控BMC不但需要实时获取本控制器内设备的状态信息,同时还要实时掌握其他几个控制器对应设备的状态信息。所以当出现四控或者八控场景中,BMC之间的数据同步,高可靠性,快速立即响应会变的越来越重要,因为很多信息是直接导致上层存储软件集群建立的关键信息。

数据同步完全可以后多个控制器BMC之间来完成,但是第一BMC本身是采用精简linux系统,系统无可避免会出现程序跑飞等问题;第二随着现代存储的发展,对BMC代码安全防错和功能需要越来越多,BMC本身已经比较臃肿,往往采用轮询方式来收集设备信息,轮询周期有受限与BMC内部自身资源和代码功能量,此会造成响应速度慢;第三从设计层面来讲,BMC专门处理管理策略,而设备的状态信息收集工作由BMC处理导致涉及逻辑不清晰。

针对现有技术中BMC不适于为控制器执行数据同步的问题,目前尚无有效的解决方案。

发明内容

有鉴于此,本发明实施例的目的在于提出一种控制器共享同步方法和装置,能够从数据共享和同步释放BMC资源,并且提高数据传输的响应速度。

基于上述目的,本发明实施例的第一方面提供了一种控制器共享同步方法,包括循环执行以下步骤:

由并联到共享总线的一个主控制器和多个从控制器的基板管理控制器分别将待传输数据加载到各自的缓冲寄存器;

由主控制器将待传输数据经由共享总线广播到多个从控制器,并由主控制器经由共享总线分别接收由多个从控制器广播的待传输数据以写入主控制器的缓冲寄存器;

由主控制器的复杂可编程逻辑器件依次向每个从控制器经由共享总线分别发出数据同步请求;

响应于有从控制器接收到数据同步请求,而由该从控制器将待传输数据经由共享总线广播到主控制器和多个其它从控制器,并由该从控制器经由共享总线分别接收由主控制器和多个其它从控制器广播的待传输数据以写入该从控制器的缓冲寄存器;

使一个主控制器和多个从控制器分别处理其各自的缓冲寄存器中获得的数据以实现数据的共享和同步。

在一些实施方式中,由主控制器的复杂可编程逻辑器件依次向每个从控制器分别发出数据同步请求包括:由主控制器确定请求周期,并且在向一个从控制器发出数据同步请求之后等待至少一个请求周期再向下一个从控制器发出数据同步请求。

在一些实施方式中,每个缓冲寄存器均配置为具有多个存储列,并且多个存储列与一个主控制器和多个从控制器一一对应;

由并联到共享总线的一个主控制器和多个从控制器的基板管理控制器分别将待传输数据加载到各自的缓冲寄存器包括:将待传输数据各自加载到缓冲寄存器中与一个主控制器或多个从控制器之一相对应的存储列上。

在一些实施方式中,由主控制器经由共享总线分别接收由多个从控制器广播的待传输数据以写入主控制器的缓冲寄存器包括:将由多个从控制器广播的待传输数据分别写入主控制器的缓冲寄存器中与多个从控制器各自相对应的存储列上;

由该从控制器经由共享总线分别接收由主控制器和多个其它从控制器广播的待传输数据以写入该从控制器的缓冲寄存器包括:将由主控制器和多个其它从控制器广播的待传输数据分别写入该从控制器的缓冲寄存器中与主控制器和多个其它从控制器各自相对应的存储列上。

在一些实施方式中,方法还包括:

在由主控制器将待传输数据经由共享总线广播到多个从控制器的同时,还计算待传输数据的校验数据,并将校验数据随待传输数据一同广播到多个从控制器;

在由主控制器经由共享总线分别接收由多个从控制器广播的待传输数据的同时,还接收待传输数据的校验数据,基于校验数据而校验待传输数据,并响应于校验失败而认定传输数据丢失;

在由该从控制器将待传输数据经由共享总线广播到主控制器和多个其它从控制器的同时,还计算待传输数据的校验数据,并将校验数据随待传输数据一同广播到主控制器和多个其它从控制器;

在由该从控制器经由共享总线分别接收由主控制器和多个其它从控制器广播的待传输数据的同时,还接收待传输数据的校验数据,基于校验数据而校验待传输数据,并响应于校验失败而认定传输数据丢失。

在一些实施方式中,共享总线包括第一总线和第二总线;经由共享总线传输包括:同时在第一总线和第二总线上传输,并响应于在第一总线和第二总线上的传输数据相同而认定传输成功,响应于在第一总线和第二总线上的传输数据不同而认定传输失败。

在一些实施方式中,一个主控制器和多个从控制器的缓冲寄存器均为一个主控制器和多个从控制器的复杂可编程逻辑器件的寄存器。

本发明实施例的第二方面提供了一种控制器共享同步装置,包括:

处理器;和

存储器,存储有处理器可运行的程序代码,程序代码在被运行时循环执行以下步骤:

由并联到共享总线的一个主控制器和多个从控制器的基板管理控制器分别将待传输数据加载到各自的缓冲寄存器;

由主控制器将待传输数据经由共享总线广播到多个从控制器,并由主控制器经由共享总线分别接收由多个从控制器广播的待传输数据以写入主控制器的缓冲寄存器;

由主控制器的复杂可编程逻辑器件依次向每个从控制器经由共享总线分别发出数据同步请求;

响应于有从控制器接收到数据同步请求,而由该从控制器将待传输数据经由共享总线广播到主控制器和多个其它从控制器,并由该从控制器经由共享总线分别接收由主控制器和多个其它从控制器广播的待传输数据以写入该从控制器的缓冲寄存器;

使一个主控制器和多个从控制器分别处理其各自的缓冲寄存器中获得的数据以实现数据的共享和同步。

在一些实施方式中,每个缓冲寄存器均配置为具有多个存储列,并且多个存储列与一个主控制器和多个从控制器一一对应;

由并联到共享总线的一个主控制器和多个从控制器的基板管理控制器分别将待传输数据加载到各自的缓冲寄存器包括:将待传输数据各自加载到缓冲寄存器中与一个主控制器或多个从控制器之一相对应的存储列上;

由主控制器经由共享总线分别接收由多个从控制器广播的待传输数据以写入主控制器的缓冲寄存器包括:将由多个从控制器广播的待传输数据分别写入主控制器的缓冲寄存器中与多个从控制器各自相对应的存储列上;

由该从控制器经由共享总线分别接收由主控制器和多个其它从控制器广播的待传输数据以写入该从控制器的缓冲寄存器包括:将由主控制器和多个其它从控制器广播的待传输数据分别写入该从控制器的缓冲寄存器中与主控制器和多个其它从控制器各自相对应的存储列上。

在一些实施方式中,步骤还包括:

在由主控制器将待传输数据经由共享总线广播到多个从控制器的同时,还计算待传输数据的校验数据,并将校验数据随待传输数据一同广播到多个从控制器;

在由主控制器经由共享总线分别接收由多个从控制器广播的待传输数据的同时,还接收待传输数据的校验数据,基于校验数据而校验待传输数据,并响应于校验失败而认定传输数据丢失;

在由该从控制器将待传输数据经由共享总线广播到主控制器和多个其它从控制器的同时,还计算待传输数据的校验数据,并将校验数据随待传输数据一同广播到主控制器和多个其它从控制器;

在由该从控制器经由共享总线分别接收由主控制器和多个其它从控制器广播的待传输数据的同时,还接收待传输数据的校验数据,基于校验数据而校验待传输数据,并响应于校验失败而认定传输数据丢失。

本发明具有以下有益技术效果:本发明实施例提供的控制器共享同步方法和装置,通过由并联到共享总线的一个主控制器和多个从控制器的基板管理控制器分别将待传输数据加载到各自的缓冲寄存器;由主控制器将待传输数据经由共享总线广播到多个从控制器,并由主控制器经由共享总线分别接收由多个从控制器广播的待传输数据以写入主控制器的缓冲寄存器;由主控制器的复杂可编程逻辑器件依次向每个从控制器经由共享总线分别发出数据同步请求;响应于有从控制器接收到数据同步请求,而由该从控制器将待传输数据经由共享总线广播到主控制器和多个其它从控制器,并由该从控制器经由共享总线分别接收由主控制器和多个其它从控制器广播的待传输数据以写入该控制器的缓冲寄存器;使一个主控制器和多个从控制器分别处理其各自的缓冲寄存器中获得的数据以实现数据的共享和同步的技术方案,能够从数据共享和同步释放BMC资源,并且提高数据传输的响应速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的控制器共享同步方法的流程示意图;

图2为本发明提供的控制器共享同步方法的详细流程图;

图3为本发明提供的控制器共享同步方法的控制器逻辑状态图;

图4为本发明提供的控制器共享同步方法的共享总线示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

基于上述目的,本发明实施例的第一个方面,提出了一种从数据共享和同步释放BMC资源,并且提高数据传输的响应速度的控制器共享同步方法的一个实施例。图1示出的是本发明提供的控制器共享同步方法的流程示意图。

所述的控制器共享同步方法,如图1所示,包括将一个主控制器和多个从控制器并联到共享总线上,并循环执行以下步骤以在一个主控制器和多个从控制器之间经由共享总线而共享和同步数据:

步骤S101,由一个主控制器和多个从控制器的基板管理控制器分别将一个主控制器和多个从控制器的待传输数据各自加载到一个主控制器和多个从控制器的缓冲寄存器;

步骤S103,由主控制器将主控制器的待传输数据经由共享总线广播到多个从控制器,并由主控制器从多个从控制器经由共享总线分别接收由多个从控制器广播的待传输数据以写入主控制器的缓冲寄存器;

步骤S105,由主控制器的复杂可编程逻辑器件依次向每个从控制器经由共享总线分别发出数据同步请求;

步骤S107,响应于一个从控制器接收到数据同步请求,而由该控制器将该控制器的待传输数据经由共享总线广播到主控制器和多个其它从控制器,并由该控制器从主控制器和多个其它从控制器经由共享总线分别接收由主控制器和多个其它从控制器广播的待传输数据以写入该控制器的缓冲寄存器;

步骤S109,使一个主控制器和多个从控制器分别处理其各自的缓冲寄存器中获得的数据以实现数据的共享和同步。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。所述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。

在一些实施方式中,由主控制器的复杂可编程逻辑器件依次向每个从控制器分别发出数据同步请求包括:由主控制器确定请求周期,并且在向一个从控制器发出数据同步请求之后等待至少一个请求周期再向下一个从控制器发出数据同步请求。

在一些实施方式中,每个缓冲寄存器均配置为具有多个存储列,并且多个存储列与一个主控制器和多个从控制器一一对应;

将一个主控制器和多个从控制器的待传输数据各自加载到一个主控制器和多个从控制器的缓冲寄存器包括:将待传输数据各自加载到缓冲寄存器中与一个主控制器或多个从控制器之一相对应的存储列上。

在一些实施方式中,从多个从控制器分别接收由多个从控制器广播的待传输数据以写入主控制器的缓冲寄存器包括:将由多个从控制器广播的待传输数据分别写入主控制器的缓冲寄存器中与多个从控制器各自相对应的存储列上;

从主控制器和多个其它从控制器分别接收由主控制器和多个其它从控制器广播的待传输数据以写入该控制器的缓冲寄存器包括:将由主控制器和多个其它从控制器广播的待传输数据分别写入该控制器的缓冲寄存器中与主控制器和多个其它从控制器各自相对应的存储列上。

在一些实施方式中,在由主控制器将主控制器的待传输数据广播到多个从控制器的同时,还计算待传输数据的校验数据,并将校验数据随待传输数据一同广播到多个从控制器;在由主控制器从多个从控制器分别接收由多个从控制器广播的待传输数据的同时,还接收待传输数据的校验数据,基于校验数据而校验待传输数据,并响应于校验失败而认定传输数据丢失;

在由该控制器将该控制器的待传输数据广播到主控制器和多个其它从控制器的同时,还计算待传输数据的校验数据,并将校验数据随待传输数据一同广播到主控制器和多个其它从控制器;在由该控制器从主控制器和多个其它从控制器分别接收由主控制器和多个其它从控制器广播的待传输数据的同时,还接收待传输数据的校验数据,基于校验数据而校验待传输数据,并响应于校验失败而认定传输数据丢失。

在一些实施方式中,共享总线包括第一总线和第二总线;经由共享总线传输包括:同时在第一总线和第二总线上传输,并响应于在第一总线和第二总线上的传输数据相同而认定传输成功,响应于在第一总线和第二总线上的传输数据不同而认定传输失败。

在一些实施方式中,一个主控制器和多个从控制器的缓冲寄存器均为一个主控制器和多个从控制器的复杂可编程逻辑器件的寄存器。

下面根据具体实施例进一步阐述本发明的具体实施方式。

首先由设备标识确认或者BMC、上层软件制定等方式,确定哪个设备是主机。确定主机后参见图2的顺序执行数据共享和同步。在图2中每个CPLD都有一个(BMC读取缓冲区)。以列为单位。黑色列代表本节点信息。根据BMC要求,需要提供8个状态信息,一个状态信息一个比特(如主从状态,在位状态,BMC监控状态)。一个方块代表其对应列的CRC校验,也是供BMC读取使用。

如图2所示,首先,主机发送同步数据命令,广播local node此刻abcdefgh数值;同时local node更新BMC读取缓冲区对应节点列abcdefgh数值,同时开启一1ms计时器。其他CPLD收到广播后,进行CRC校验。校验失败时,根据帧内“发送设备地址”将节点列对应的CRCbit位设置为1。校验正确时,根据帧内“发送设备地址”将节点列对应的CRC bit位设置为0,同时更新BMC读取缓冲区对应列abcdefgh数值。

主机1ms计时器满后,主机对id=1(id与本主机id一致,则跳过)发送同步请求,同时开启1ms计时器。然后id=1的从机发送同步数据命令,广播local node此刻abcdefgh数值;同时local node更新BMC读取缓冲区对应节点列abcdefgh数值。其他CPLD收到广播后,进行CRC校验。校验失败时,根据帧内“发送设备地址”将节点列对应的CRC bit位设置为1。校验正确时,根据帧内“发送设备地址”将节点列对应的CRC bit位设置为0,同时更新BMC读取缓冲区对应列abcdefgh数值。

主机1ms计时器满后,主机对id=2(id与本主机id一致,则跳过)发送同步请求,同时开启1ms计时器。然后id=2的从机发送同步数据命令,广播local node此刻abcdefgh数值;同时local node更新BMC读取缓冲区对应节点列abcdefgh数值。其他CPLD收到广播后,进行CRC校验。校验失败时,根据帧内“发送设备地址”将节点列对应的CRC bit位设置为1。校验正确时,根据帧内“发送设备地址”将节点列对应的CRC bit位设置为0,同时更新BMC读取缓冲区对应列abcdefgh数值。

主机1ms计时器满后,主机对id=3(id与本主机id一致,则跳过)发送同步请求,同时开启1ms计时器。id=3的从机发送同步数据命令,广播local node此刻abcdefgh数值;同时local node更新BMC读取缓冲区对应节点列abcdefgh数值。其他CPLD收到广播后,进行CRC校验。校验失败时,根据帧内“发送设备地址”将节点列对应的CRC bit位设置为1。校验正确时,根据帧内“发送设备地址”将节点列对应的CRC bit位设置为0,同时更新BMC读取缓冲区对应列abcdefgh数值。

这种方式可以确保四个或者八个BMC读取自己CPLD(复杂逻辑可编程器件)寄存器时,所有数据都是一致的。由此来体现本方法的高可靠性。数据同步全部由CPLD实现,借助CPLD逻辑的实时运行特性,可以将每一刷新数据循环设定在固定的4ms+80us。

CPLD逻辑状态机详见图3。在图3中:

1表示上电复位完成;

2表示Device ID获取失败或者不合法,或者两条总线数据不一致;

8表示Device ID获取成功且合法但compete-enable位为0;

4表示(200ms+Device ID*10ms)内两条总线均无时钟和数据变化;

6表示发出抢主命令后(Device ID*1ms)时间内两条总线均无时钟和数据变化;

7表示发出抢主命令后(Device ID*1ms)内两条总线中至少一条出现了数据变化(时钟或者数据);

9表示1ms计时满;

11表示self data boardcoast中的同步数据发送完成;

10、12、14、17表示收到上层BMC的主从手动设置命令或者BMC挂死(上电3分钟内默认bmc正常)或者连续3个周期出现多主。或者使用总线与备份总线数据不一致;

13表示1ms计时器满,且没有遍历完所有的从node。(目的为循环遍历所有从node);

16表示1ms计时器满,且遍历完所有的从node;

17表示收到主机的“同步请求”;

18表示“同步数据”命令完成;

21表示200ms内两条总线均无时钟和数据变化。

本发明实施例将四个或者八个控制器都挂载在共享总线上。每一个设备都可以为主,也可以为从。由此物理连线方式,可以任意扩展为八控、十六控。总线上有多个设备。同一时刻只能有一个主设备存在。CPLD之间的通信协议需要自定义。为增加数据的可靠性,再备份一条总线,如图4所示。主从设备每次发送命令或者数据都需要在两条总线上同时进行。接受设备只有在两条总线的数据上检测到一样的数据后,才可以开展后续操作,否则丢弃并报错。

另外为增加数据的可靠性,本发明实施例在每个发周期或者收周期尾部都增加一个8bit的CRC校验,当校验失败后,则将数据帧丢失并上报错误。

从上述实施例可以看出,本发明实施例提供的控制器共享同步方法,通过由一个主控制器和多个从控制器的基板管理控制器分别将一个主控制器和多个从控制器的待传输数据各自加载到一个主控制器和多个从控制器的缓冲寄存器;由主控制器将主控制器的待传输数据经由共享总线广播到多个从控制器,并由主控制器从多个从控制器经由共享总线分别接收由多个从控制器广播的待传输数据以写入主控制器的缓冲寄存器;由主控制器的复杂可编程逻辑器件依次向每个从控制器经由共享总线分别发出数据同步请求;响应于一个从控制器接收到数据同步请求,而由该控制器将该控制器的待传输数据经由共享总线广播到主控制器和多个其它从控制器,并由该控制器从主控制器和多个其它从控制器经由共享总线分别接收由主控制器和多个其它从控制器广播的待传输数据以写入该控制器的缓冲寄存器;使一个主控制器和多个从控制器分别处理其各自的缓冲寄存器中获得的数据以实现数据的共享和同步的技术方案,能够从数据共享和同步释放BMC资源,并且提高数据传输的响应速度。

需要特别指出的是,上述控制器共享同步方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于控制器共享同步方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。

基于上述目的,本发明实施例的第二个方面,提出了一种从数据共享和同步释放BMC资源,并且提高数据传输的响应速度的控制器共享同步装置的一个实施例。控制器共享同步装置包括:

挂载有一个主控制器和多个从控制器的共享总线;

处理器;和

存储器,存储有处理器可运行的程序代码,程序代码在被运行时并循环执行以下步骤以在一个主控制器和多个从控制器之间经由共享总线而共享和同步数据:

由一个主控制器和多个从控制器的基板管理控制器分别将一个主控制器和多个从控制器的待传输数据各自加载到一个主控制器和多个从控制器的缓冲寄存器;

由主控制器将主控制器的待传输数据经由共享总线广播到多个从控制器,并由主控制器从多个从控制器经由共享总线分别接收由多个从控制器广播的待传输数据以写入主控制器的缓冲寄存器;

由主控制器的复杂可编程逻辑器件依次向每个从控制器经由共享总线分别发出数据同步请求;

响应于一个从控制器接收到数据同步请求,而由该控制器将该控制器的待传输数据经由共享总线广播到主控制器和多个其它从控制器,并由该控制器从主控制器和多个其它从控制器经由共享总线分别接收由主控制器和多个其它从控制器广播的待传输数据以写入该控制器的缓冲寄存器;

使一个主控制器和多个从控制器分别处理其各自的缓冲寄存器中获得的数据以实现数据的共享和同步。

在一些实施方式中,每个缓冲寄存器均配置为具有多个存储列,并且多个存储列与一个主控制器和多个从控制器一一对应;

将一个主控制器和多个从控制器的待传输数据各自加载到一个主控制器和多个从控制器的缓冲寄存器包括:将待传输数据各自加载到缓冲寄存器中与一个主控制器或多个从控制器之一相对应的存储列上;

从多个从控制器分别接收由多个从控制器广播的待传输数据以写入主控制器的缓冲寄存器包括:将由多个从控制器广播的待传输数据分别写入主控制器的缓冲寄存器中与多个从控制器各自相对应的存储列上;

从主控制器和多个其它从控制器分别接收由主控制器和多个其它从控制器广播的待传输数据以写入该控制器的缓冲寄存器包括:将由主控制器和多个其它从控制器广播的待传输数据分别写入该控制器的缓冲寄存器中与主控制器和多个其它从控制器各自相对应的存储列上。

在一些实施方式中,在由主控制器将主控制器的待传输数据广播到多个从控制器的同时,还计算待传输数据的校验数据,并将校验数据随待传输数据一同广播到多个从控制器;在由主控制器从多个从控制器分别接收由多个从控制器广播的待传输数据的同时,还接收待传输数据的校验数据,基于校验数据而校验待传输数据,并响应于校验失败而认定传输数据丢失;

在由该控制器将该控制器的待传输数据广播到主控制器和多个其它从控制器的同时,还计算待传输数据的校验数据,并将校验数据随待传输数据一同广播到主控制器和多个其它从控制器;在由该控制器从主控制器和多个其它从控制器分别接收由主控制器和多个其它从控制器广播的待传输数据的同时,还接收待传输数据的校验数据,基于校验数据而校验待传输数据,并响应于校验失败而认定传输数据丢失。

从上述实施例可以看出,本发明实施例提供的控制器共享同步装置,通过由一个主控制器和多个从控制器的基板管理控制器分别将一个主控制器和多个从控制器的待传输数据各自加载到一个主控制器和多个从控制器的缓冲寄存器;由主控制器将主控制器的待传输数据经由共享总线广播到多个从控制器,并由主控制器从多个从控制器经由共享总线分别接收由多个从控制器广播的待传输数据以写入主控制器的缓冲寄存器;由主控制器的复杂可编程逻辑器件依次向每个从控制器经由共享总线分别发出数据同步请求;响应于一个从控制器接收到数据同步请求,而由该控制器将该控制器的待传输数据经由共享总线广播到主控制器和多个其它从控制器,并由该控制器从主控制器和多个其它从控制器经由共享总线分别接收由主控制器和多个其它从控制器广播的待传输数据以写入该控制器的缓冲寄存器;使一个主控制器和多个从控制器分别处理其各自的缓冲寄存器中获得的数据以实现数据的共享和同步的技术方案,能够从数据共享和同步释放BMC资源,并且提高数据传输的响应速度。

需要特别指出的是,上述控制器共享同步装置的实施例采用了所述控制器共享同步方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到所述控制器共享同步方法的其他实施例中。当然,由于所述控制器共享同步方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于所述控制器共享同步装置也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。

以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于MCU IO和SJA1000的CAN数据收发方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!