CN105095126A - 控制方法和控制设备 - Google Patents

控制方法和控制设备 Download PDF

Info

Publication number
CN105095126A
CN105095126A CN201410181775.3A CN201410181775A CN105095126A CN 105095126 A CN105095126 A CN 105095126A CN 201410181775 A CN201410181775 A CN 201410181775A CN 105095126 A CN105095126 A CN 105095126A
Authority
CN
China
Prior art keywords
equipment
data
controller
router
firmware code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410181775.3A
Other languages
English (en)
Other versions
CN105095126B (zh
Inventor
马久跃
包云岗
任睿
隋秀峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Original Assignee
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd, Institute of Computing Technology of CAS filed Critical Huawei Technologies Co Ltd
Priority to CN201410181775.3A priority Critical patent/CN105095126B/zh
Priority to EP15785280.7A priority patent/EP3131241B1/en
Priority to JP2016565343A priority patent/JP6479045B2/ja
Priority to PCT/CN2015/076666 priority patent/WO2015165329A1/zh
Priority to KR1020167032928A priority patent/KR101984150B1/ko
Publication of CN105095126A publication Critical patent/CN105095126A/zh
Priority to US15/337,498 priority patent/US10579394B2/en
Application granted granted Critical
Publication of CN105095126B publication Critical patent/CN105095126B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供一种控制方法和控制设备,通过路由器接收第一设备发送的数据,上述数据中携带I/O设备的标识,根据I/O设备与控制器的对应关系和I/O设备的标识,确定I/O设备的标识对应的控制器,将数据发送到I/O设备的标识对应的控制器,以使控制器根据该控制器中存储的固件代码对数据进行处理,接收控制器发送的处理后的数据,将处理后的数据发送给第二设备,第二设备或者第一设备为I/O设备,由于本发明实施例中通常固件代码是可以编程的,因此,具有应用上述控制方法的控制设备实现比较灵活。

Description

控制方法和控制设备
技术领域
本发明实施例涉及计算机技术,尤其涉及一种控制方法和控制设备。
背景技术
输入输出(Input/Output,以下简称:I/O)芯片组是计算机系统中的重要部件,其基本功能是连接中央处理器(CentralProcessingUnit,以下简称:CPU)和I/O设备,是CPU和I/O设备之间的数据通路。
现有技术中,I/O芯片组包含了与CPU连接的快速通道互联(QuickPathInterconnect,以下简称:QPI)总线接口、与I/O设备连接的快速外围部件互连(PeripheralComponentInterconnectExpress,以下简称:PCIE)总线接口、以及其它一些功能模块,例如:实现加密功能的功能模块,然而,无论是QPI接口、PCIE接口还是其它一些功能模块,实现的功能都是固化在芯片组中,也就是,I/O芯片组一经生产制造,其具有的功能便不可改变,因此,I/O芯片组的实现不灵活。
发明内容
为解决上述现有技术问题,本发明实施例提供一种控制方法和控制设备。
本发明实施例第一方面提供一种控制方法,包括:
路由器接收第一设备发送的数据,所述数据中携带I/O设备的标识;
根据I/O设备与控制器的对应关系和所述I/O设备的标识,确定所述I/O设备的标识对应的控制器;
将所述数据发送到所述I/O设备的标识对应的控制器,以使所述控制器根据所述控制器中存储的固件代码对所述数据进行处理;
接收所述控制器发送的所述处理后的数据;
将所述处理后的数据发送给第二设备;
所述第二设备或者所述第一设备是所述I/O设备。
结合第一方面,在第一种可能的实现方式中,所述控制器根据所述控制器中存储的固件代码对所述数据进行处理,包括:
从所述控制器的队列中读取所述数据到缓冲区;
调用存储器中存储的所述固件代码对所述缓冲区中的数据进行处理。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述根据I/O设备与控制器的对应关系和所述I/O设备的标识,确定所述I/O设备的标识对应的控制器之前,还包括:
根据所述I/O设备的功能需求和所述控制器实现的功能,建立所述I/O设备与控制器的对应关系。
结合第一种可能的实现方式,在第三种可能的实现方式中,还包括:
通过基本输入/输出系统BIOS或操作系统OS将所述固件代码加载到所述控制器中。
结合第一种至第三种可能的实现方式中任一种可能的实现方式,在第四种可能的实现方式中,还包括:
根据所述I/O设备的功能需求修改所述I/O设备与控制器的对应关系。
结合第一种至第三种可能的实现方式中任一种可能的实现方式,在第五种可能的实现方式中,还包括:
根据所述I/O设备的功能需求修改所述控制器的固件代码。
本发明实施例第二方面提供一种控制方法,包括:
控制器接收数据,并且根据所述控制器中存储的固件代码对所述数据进行处理;
当所述数据是从第一设备接收的时候,所述控制器将所述处理后的数据发送给第二设备;或当所述数据是通过路由器从第一设备接收的时候,所述控制器将所述处理后的数据发送给所述路由器,以使所述路由器将所述处理后的数据发送给第二设备;
所述第二设备或者所述第一设备是I/O设备。
结合第二方面,在第一种可能的实现方式中,所述方法还包括:所述控制器根据所述控制器中存储的固件代码对所述数据进行处理,包括:
从所述控制器的队列中读取所述数据到缓冲区;
调用存储器中存储的所述固件代码对所述缓冲区中的数据进行处理。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:
通过基本输入/输出系统BIOS或操作系统OS将所述固件代码加载到所述控制器中。
结合第二方面或第一种可能的实现方式,在第三种可能的实现方式中,所述方法还包括:
根据所述I/O设备的功能需求修改所述控制器的固件代码。
本发明实施例第三方面提供一种控制设备,包括:
路由器和至少两个控制器;
其中,所述路由器,用于接收第一设备发送的数据,所述数据中携带I/O设备的标识,并根据I/O设备与控制器的对应关系和所述I/O设备的标识,确定所述至少两个控制器中与所述I/O设备的标识对应的控制器,将所述数据发送到所述I/O设备的标识对应的控制器;
所述I/O设备的标识对应的控制器,用于根据所述控制器中存储的固件代码对所述数据进行处理,得到处理后的数据,向所述路由器发送所述处理后的数据;
所述路由器,还用于将所述处理后的数据发送给第二设备;
所述第二设备或所述第一设备是所述I/O设备。
结合第三方面,在第一种可能的实现方式中,所述控制器包括:
存储器,用于存储所述固件代码;
缓冲区,用于存储处理器从所述控制器的队列中读取的所述数据;
所述处理器,用于调用所述存储器中存储的所述固件代码对所述缓冲区中的数据进行处理,得到处理后的数据,向所述路由器发送所述处理后的数据。
结合第三方面或第一种可能的实现方式,在第二种可能的实现方式中,所述路由器,还用于根据I/O设备的功能需求和所述至少两个控制器实现的功能,建立所述I/O设备与控制器的对应关系。
结合第三方面或第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述控制器还用于接收基本输入/输出系统BIOS或操作系统OS加载的所述固件代码。
结合第三方面或第一种至第三种可能的实现方式中任一种可能的实现方式,在第四种可能的实现方式中,所述路由器还包括:
路由器编程接口:用于根据所述I/O设备的功能需求修改所述I/O设备与控制器的对应关系。
结合第三方面或第一种至第四种可能的实现方式中任一种可能的实现方式,在第五种可能的实现方式中,所述控制器还包括:
控制器编程接口:用于根据所述I/O设备的功能需求修改所述控制器的固件代码。
本发明实施例提供的控制方法和控制设备,通过路由器接收第一设备发送的数据,上述数据中携带I/O设备的标识,根据I/O设备与控制器的对应关系和I/O设备的标识,确定I/O设备的标识对应的控制器,将数据发送到I/O设备的标识对应的控制器,以使控制器根据所述控制器中存储的固件代码对数据进行处理,接收控制器发送的处理后的数据,将处理后的数据发送给第二设备,第二设备或者第一设备为I/O设备。由于本发明实施例中通常固件代码是可以编程的,因此,具有应用上述控制方法的控制设备(具体可以为I/O芯片组)实现比较灵活。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中I/O芯片组的结构示意图;
图2为本发明控制方法实施例一的流程示意图;
图3为本发明控制器的结构示意图;
图4为本发明控制方法实施例二的流程示意图;
图5为本发明控制设备实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
通常,计算机会具有至少一块I/O芯片组,例如:主板上包含至少一块I/O芯片组。I/O芯片组的主要功能是转发I/O设备与CPU之间通信的数据,图1为现有技术中I/O芯片组的结构示意图,从图1可以看出,I/O芯片组上包括CPU总线接口和I/O总线接口,图1中CPU总线接口以快速通道互联(QuickPathInterconnect,以下简称:QPI)总线接口为例示出,QPI总线接口只是其中一种CPU总线接口,QPI总线接口用于连接CPU,图1中I/O总线接口以设备连接的快速外围部件互连(PeripheralComponentInterconnectExpress,以下简称:PCIE)总线接口为例示出,PCIE总线接口只是其中一种I/O总线接口,用于连接I/O设备。当然,I/O芯片组上还可以有其他接口或者功能模块(未示出),但是,无论是QPI接口、PCIE接口还是其它一些功能模块,实现的功能都是固化在芯片组中,I/O芯片组的实现不灵活。
采用现有技术的方案,I/O芯片组的实现不灵活,在本发明的技术方案中,通过路由器接收第一设备发送的数据,根据上述数据中携带的I/O设备的标识,以及I/O设备与控制器的对应关系,确定上述I/O设备的标识对应的控制器,控制器中存储一段固件代码,该固件代码对应的可实现一个或一组功能,例如:实现加密、解密、压缩和/或带宽分配等。路由器将上述数据发送到I/O设备的标识对应的控制器,控制器对上述数据进行处理,并将处理后的数据发送到路由器,路由器将控制器处理后的数据发送给第二设备,在本发明各实施例中,第一设备或第二设备是I/O设备,也就是,若第一设备指的是CPU、第二设备指的则是I/O设备,若第一设备指的是I/O设备、第二设备指的则是CPU。由于本发明实施例中通常固件代码是可以编程的,因此,具有应用上述控制方法的控制设备(具体可以为I/O芯片组)实现比较灵活。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本发明控制方法实施例一的流程示意图,如图2所示,本实施例的方法,包括:
S201:路由器接收第一设备发送的数据。
其中,第一设备发送的数据中携带I/O设备的标识。
第一设备可以是CPU或者I/O设备,上述数据可以是CPU发送给I/O设备的数据,或者是I/O设备发送给CPU的数据,无论是CPU发送给I/O设备还是I/O设备发送给CPU,数据中都会携带I/O设备的标识,其中,I/O设备的标识可以是I/O设备的名称或I/O设备的编号,对此,本发明不做限制,只要能够唯一标识I/O设备即可。
S202:根据I/O设备与控制器的对应关系和I/O设备的标识,确定I/O设备的标识对应的控制器。
路由器中会存储I/O设备与控制器的对应关系,一个控制器可以实现一个或一组功能,例如:实现加密、解密、压缩和/或带宽分配等功能。
通常会根据I/O设备的功能需求和控制器实现的功能,建立I/O设备与控制器的对应关系,例如:I/O设备1的功能需求是与CPU之间通信的数据要进行加密处理,控制器1实现的功能为加密功能,则建立I/O设备1与控制器1的对应关系;I/O设备2的功能需求是与CPU之间通信的数据要进行压缩处理,控制器3实现的功能为压缩功能,则建立I/O设备2与控制器3的对应关系;其他I/O设备与控制器的对应关系的建立类似,在此不再赘述。
当I/O设备的功能需求发生变化时,一种实现方式是,当I/O芯片组中的控制器具有实现I/O设备变化后的功能需求时,通常会根据I/O设备的功能需求修改I/O设备与控制器的对应关系。例如:I/O芯片组中目前的4个控制器可以实现的功能分别为:控制器1实现加密功能,控制器2实现带宽分配功能,控制器3实现压缩功能,控制器4实现解密功能;I/O设备1的功能需求从之前的加密需求变为压缩需求,控制器3可实现压缩功能,因此,仅需要将之前I/O设备1与控制器1的对应关系修改为I/O设备1与控制器3的对应关系。
当I/O设备的功能需求发生变化时,另一种实现方式是,当I/O芯片组中的控制器不具有实现I/O设备变化后的功能需求时,通常通过I/O设备的功能需求修改控制器的固件代码,例如:I/O设备1的功能需求从之前的加密需求变为延迟控制需求,则可以将控制器1实现的功能由之前的加密修改为延迟控制。对控制器实现的功能的修改通常是修改控制器中存储的固件代码,控制器中的存储器可以存储不同的固件代码,控制器中的处理器通过调用不同的固件代码进行处理使控制器可以实现不同的功能。而且由于本发明实施例中通常固件代码是可以编程的,因此,具有应用上述控制方法的控制设备(具体可以为I/O芯片组)实现比较灵活。
当I/O设备的功能需求发生变化时,再一种实现方式是,同时修改控制器的功能和I/O设备与控制器的对应关系,只要建立的对应关系满足I/O设备的功能需求与控制器实现的功能相同即可,在此不再赘述。
控制器中的固件代码通常在系统启动时由基本输入/输出系统(BasicInput/OutputSystem,以下简称:BIOS)或者操作系统(OperatingSystem,以下简称:OS)将固件代码加载到控制器中。通常在控制器加载固件代码之后,建立I/O设备与控制器的对应关系,当然,也可以先建立I/O设备与控制器的对应关系,再根据对应关系往控制器中加载相应的代码,对此,本发明不做限制。
S203:将数据发送到I/O设备的标识对应的控制器,以使控制器根据所述控制器中存储的固件代码对上述数据进行处理。
路由器将上述数据发送到上述I/O设备的标识对应的控制器,由控制器对上述数据进行处理。
图3为本发明控制器的结构示意图,如图3所示,控制器包括队列、缓冲区、处理器、存储器。其中,存储器存储固件代码,队列存储路由器发送的数据;参考图3,路由器接收到CPU与I/O设备之间通信的数据之后,根据数据中携带的I/O设备的标识将数据发送到控制器的队列中,控制器的处理器从控制器的队列中读取数据到缓冲区,调用存储器中存储的固件代码对缓冲区中的数据进行处理,将处理后的数据返回给路由器。
S204:接收控制器发送的处理后的数据。
控制器根据存储的固件代码对数据处理完之后,会将数据返回给路由器,路由器接收控制器发送的处理后的数据。
S205:将上述处理后的数据发送给第二设备。
路由器将上述处理后的数据发送给第二设备,本实施例中,第二设备或第一设备是I/O设备。也就是,若第一设备指的是CPU、第二设备指的则是I/O设备,若第一设备指的是I/O设备、第二设备指的则是CPU。本发明的技术方案无论是CPU发送给I/O设备的数据,还是I/O设备发送给CPU的数据都适用。
通过上述各步骤的描述可知控制器可通过加载不同的代码实现不同的功能,即控制器的功能可变,路由器中的I/O设备与控制器的对应关系也可以根据I/O设备的功能需求变化而修改,因此,具有上述路由器与控制器的I/O芯片组的可以实现不同的功能,其实现非常灵活。
图4为本发明控制方法实施例二的流程示意图,具体地,本实施例的方法如下:
S401:控制器接收数据,并且根据控制器中存储的固件代码对数据进行处理。
控制器的结构可参见图3,具体地,控制器将接收的数据存储到队列中,控制器中的处理器从控制器的队列中读取数据到缓冲区,调用存储器中存储的固件代码对缓冲区中的数据进行处理。
在具有路由器的应用场景中,控制器从路由器接收数据,在无路由器的应用场景中,控制器从第一设备接收数据,第一设备可以是CPU或者I/O设备,当第一设备是CPU时,第二设备是I/O设备,当第一设备是I/O设备时,第二设备是CPU。
需要说明的是,控制器中存储的固件代码通常是在系统启动时,通过BIOS或者OS将固件代码加载到控制器中。还可以根据I/O设备功能需求修改控制器的固件代码,具体在什么情况下修改以及如何修改可参见图2所示实施例中的具体描述,在此不再赘述。
S402:当数据是从第一设备接收的时候,控制器将处理后的数据发送给第二设备;或当数据是通过路由器从第一设备接收的时候,控制器将处理后的数据发送给路由器,以使路由器将处理后的数据发送给第二设备。
也就是,在没有路由器的场景中,控制器对数据进行处理之后,将处理后的数据直接发送给第二设备;在有路由器的场景中,控制器对数据进行处理之后,将处理后的数据返回给路由器,通过路由器发送给第二设备。
本发明实施例,通过控制器接收数据,并且根据控制器中存储的固件代码对数据进行处理,当数据是从第一设备接收的时候,控制器将处理后的数据发送给第二设备;或当数据是通过路由器从第一设备接收的时候,控制器将处理后的数据发送给路由器,以使路由器将处理后的数据发送给第二设备,由于本发明实施例中通常固件代码是可以编程的,因此,具有应用上述控制方法的控制设备(具体可以为I/O芯片组)实现灵活。
图5为本发明控制设备实施例的结构示意图,本实施例的控制设备设置在计算机中的I/O芯片组上,本实施例控制设备的结构包括路由器501和至少两个控制器502,图5中仅示出了4个控制器,控制器具体地个数可以依据实际应用而设置,对此,本发明不做限制,其中,控制设备中的路由器用于接收第一设备发送的数据,上述数据中携带I/O设备的标识,路由器根据I/O设备与控制器的对应关系和I/O设备的标识,确定上述至少两个控制器中与I/O设备的标识对应的控制器,将上述数据发送到I/O设备的标识对应的控制器;上述I/O设备的标识对应的控制器根据控制器中存储的固件代码对数据进行处理,得到处理后的数据,向路由器发送处理后的数据;路由器还用于将上述处理后的数据发送到第二设备。其中,上述第二设备或第一设备是上述I/O设备。
图3是图5所示实施例中的任一个控制器的结构示意图,参见图3,控制器包括存储器、缓冲区、队列和处理器,其中,存储器用于存储固件代码,队列,用于接收路由器发送的数据,缓冲区用于存储处理器从控制器的队列中读取的数据,处理器用于调用存储器中存储的固件代码对缓冲区中的数据进行处理,得到处理后的数据,并向路由器发送处理后的数据。控制器的具体工作流程可参见图2所示方法实施例的详细描述,在此不再赘述。
需要说明的是,在上述实施例中,不同的控制器之间也可以共用同一个存储器存储固件代码,处理器在处理时调用对应的固件代码即可。
在上述实施例中,路由器还用于根据I/O设备的功能需求和至少两个控制器实现的功能,建立I/O设备与控制器的对应关系。具体地建立方法参见图2所示方法实施例的详细描述,在此不再赘述。
在上述实施例中,控制器还用于接收BIOS或者OS加载的固件代码,具体实现参见图2所示方法实施例的详细描述,在此不再赘述。
在上述实施例中,路由器还包括路由器编辑接口,用于根据I/O设备的功能需求修改I/O设备与控制器的对应关系。具体在什么情况下修改,如何修改参见图2所示方法实施例的详细描述,在此不再赘述。
在上述实施例中,控制器还包括控制器编程接口,用于根据I/O设备的功能需求修改控制器的固件代码,具体在什么情况下修改,如何修改参见图2所示方法实施例的详细描述,在此不再赘述。
本发明提供的控制设备,从上述描述可以看出,控制设备的控制器可以通过加载不同的固件代码实现不同的功能,控制设备的路由器的对应关系可以根据用户需求的变化而修改,从而,使得具有该控制设备的I/O芯片组可以根据需求实现不同的功能,其实现非常灵活。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (16)

1.一种控制方法,其特征在于,包括:
路由器接收第一设备发送的数据,所述数据中携带I/O设备的标识;
根据I/O设备与控制器的对应关系和所述I/O设备的标识,确定所述I/O设备的标识对应的控制器;
将所述数据发送到所述I/O设备的标识对应的控制器,以使所述控制器根据所述控制器中存储的固件代码对所述数据进行处理;
接收所述控制器发送的所述处理后的数据;
将所述处理后的数据发送给第二设备;
所述第二设备或者所述第一设备是所述I/O设备。
2.根据权利要求1所述的方法,其特征在于,所述控制器根据所述控制器中存储的固件代码对所述数据进行处理,包括:
从所述控制器的队列中读取所述数据到缓冲区;
调用存储器中存储的所述固件代码对所述缓冲区中的数据进行处理。
3.根据权利要求1或2所述的方法,其特征在于,所述根据I/O设备与控制器的对应关系和所述I/O设备的标识,确定所述I/O设备的标识对应的控制器之前,还包括:
根据所述I/O设备的功能需求和所述控制器实现的功能,建立所述I/O设备与控制器的对应关系。
4.根据权利要求2所述的方法,其特征在于,还包括:
通过基本输入/输出系统BIOS或操作系统OS将所述固件代码加载到所述控制器中。
5.根据权利要求2~4任一项所述的方法,其特征在于,还包括:
根据所述I/O设备的功能需求修改所述I/O设备与控制器的对应关系。
6.根据权利要求2~4任一项所述的方法,其特征在于,还包括:
根据所述I/O设备的功能需求修改所述控制器的固件代码。
7.一种控制方法,其特征在于,包括:
控制器接收数据,并且根据所述控制器中存储的固件代码对所述数据进行处理;
当所述数据是从第一设备接收的时候,所述控制器将所述处理后的数据发送给第二设备;或当所述数据是通过路由器从第一设备接收的时候,所述控制器将所述处理后的数据发送给所述路由器,以使所述路由器将所述处理后的数据发送给第二设备;
所述第二设备或者所述第一设备是I/O设备。
8.根据权利要求7所述的方法,其特征在于,还包括:所述控制器根据所述控制器中存储的固件代码对所述数据进行处理,包括:
从所述控制器的队列中读取所述数据到缓冲区;
调用存储器中存储的所述固件代码对所述缓冲区中的数据进行处理。
9.根据权利要求8所述的方法,其特征在于,还包括:
通过基本输入/输出系统BIOS或操作系统OS将所述固件代码加载到所述控制器中。
10.根据权利要求7~8任一所述的方法,其特征在于,还包括:
根据所述I/O设备的功能需求修改所述控制器的固件代码。
11.一种控制设备,其特征在于,包括:
路由器和至少两个控制器;
其中,所述路由器,用于接收第一设备发送的数据,所述数据中携带I/O设备的标识,并根据I/O设备与控制器的对应关系和所述I/O设备的标识,确定所述至少两个控制器中与所述I/O设备的标识对应的控制器,将所述数据发送到所述I/O设备的标识对应的控制器;
所述I/O设备的标识对应的控制器,用于根据所述控制器中存储的固件代码对所述数据进行处理,得到处理后的数据,向所述路由器发送所述处理后的数据;
所述路由器,还用于将所述处理后的数据发送给第二设备;
所述第二设备或所述第一设备是所述I/O设备。
12.根据权利要求11所述的控制设备,其特征在于,所述控制器包括:
存储器,用于存储所述固件代码;
缓冲区,用于存储处理器从所述控制器的队列中读取的所述数据;
所述处理器,用于调用所述存储器中存储的所述固件代码对所述缓冲区中的数据进行处理,得到处理后的数据,向所述路由器发送所述处理后的数据。
13.根据权利要求11或12所述的控制设备,其特征在于,所述路由器,还用于根据I/O设备的功能需求和所述至少两个控制器实现的功能,建立所述I/O设备与控制器的对应关系。
14.根据权利要求11~13任一项所述的控制设备,其特征在于,所述控制器还用于接收基本输入/输出系统BIOS或操作系统OS加载的所述固件代码。
15.根据权利要求11~14任一项所述的控制设备,其特征在于,所述路由器还包括:
路由器编程接口:用于根据所述I/O设备的功能需求修改所述I/O设备与控制器的对应关系。
16.根据权利要求11~15任一项所述的控制设备,其特征在于,所述控制器还包括:
控制器编程接口:用于根据所述I/O设备的功能需求修改所述控制器的固件代码。
CN201410181775.3A 2014-04-30 2014-04-30 控制方法和控制设备 Active CN105095126B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201410181775.3A CN105095126B (zh) 2014-04-30 2014-04-30 控制方法和控制设备
EP15785280.7A EP3131241B1 (en) 2014-04-30 2015-04-15 Control method and control device
JP2016565343A JP6479045B2 (ja) 2014-04-30 2015-04-15 制御方法及び制御デバイス
PCT/CN2015/076666 WO2015165329A1 (zh) 2014-04-30 2015-04-15 控制方法和控制设备
KR1020167032928A KR101984150B1 (ko) 2014-04-30 2015-04-15 제어 방법 및 제어 장치
US15/337,498 US10579394B2 (en) 2014-04-30 2016-10-28 Control method and control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410181775.3A CN105095126B (zh) 2014-04-30 2014-04-30 控制方法和控制设备

Publications (2)

Publication Number Publication Date
CN105095126A true CN105095126A (zh) 2015-11-25
CN105095126B CN105095126B (zh) 2018-02-13

Family

ID=54358152

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410181775.3A Active CN105095126B (zh) 2014-04-30 2014-04-30 控制方法和控制设备

Country Status (6)

Country Link
US (1) US10579394B2 (zh)
EP (1) EP3131241B1 (zh)
JP (1) JP6479045B2 (zh)
KR (1) KR101984150B1 (zh)
CN (1) CN105095126B (zh)
WO (1) WO2015165329A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106921547A (zh) * 2017-01-25 2017-07-04 华为技术有限公司 管理设备的装置和方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991824A (en) * 1997-02-06 1999-11-23 Silicon Graphics, Inc. Method and system for simultaneous high bandwidth input output
CN101046749A (zh) * 2006-03-31 2007-10-03 联想(北京)有限公司 一种芯片固件升级方法
WO2008074212A1 (fr) * 2006-12-20 2008-06-26 Netac Technology Co., Ltd. Procédé permettant de commander une mémoire flash
US20090083760A1 (en) * 2007-09-25 2009-03-26 Slaight Thomas M Management component transport protocol interconnect filtering and routing
CN101593120A (zh) * 2009-06-29 2009-12-02 成都市华为赛门铁克科技有限公司 带外升级方法和系统
CN102467409A (zh) * 2010-11-08 2012-05-23 研祥智能科技股份有限公司 一键调用应用程序的方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2629278B2 (ja) * 1988-06-30 1997-07-09 株式会社日立製作所 仮想計算機システム
JPH05134877A (ja) * 1991-11-15 1993-06-01 Fuji Electric Co Ltd 計算機システムの立ち上げ方式
US5414851A (en) * 1992-06-15 1995-05-09 International Business Machines Corporation Method and means for sharing I/O resources by a plurality of operating systems
US6591309B1 (en) * 1999-11-24 2003-07-08 Intel Corporation I/O bus abstraction for a cluster interconnection fabric
US7058750B1 (en) * 2000-05-10 2006-06-06 Intel Corporation Scalable distributed memory and I/O multiprocessor system
JP2002330204A (ja) * 2001-04-27 2002-11-15 Toshiba Corp 電子機器におけるソフトウェア切り替え方法
DE10211054A1 (de) 2002-03-13 2003-10-09 Advanced Micro Devices Inc USB-Hostcontroller
EP1483674B1 (en) * 2002-03-13 2006-04-05 Advanced Micro Devices, Inc. Usb host controller
JP2005108098A (ja) * 2003-10-01 2005-04-21 Hitachi Ltd データi/o装置及びデータi/o装置の制御方法
US8032674B2 (en) * 2004-07-19 2011-10-04 Marvell International Ltd. System and method for controlling buffer memory overflow and underflow conditions in storage controllers
CN101042582A (zh) 2007-04-25 2007-09-26 上海电器科学研究所(集团)有限公司 带现场总线接口的可编程可配置远程i/o模块
JP4483947B2 (ja) * 2008-01-17 2010-06-16 日本電気株式会社 入出力制御装置
JP5665303B2 (ja) 2009-11-17 2015-02-04 キヤノン株式会社 情報処理装置、その方法及びプログラム
US8495258B2 (en) * 2011-05-24 2013-07-23 International Business Machines Corporation Implementing storage adapter performance optimization with hardware accelerators offloading firmware for buffer allocation and automatically DMA
CN103235741B (zh) * 2013-04-15 2016-05-11 厦门亿联网络技术股份有限公司 一种通过芯片实现硬件兼容的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991824A (en) * 1997-02-06 1999-11-23 Silicon Graphics, Inc. Method and system for simultaneous high bandwidth input output
CN101046749A (zh) * 2006-03-31 2007-10-03 联想(北京)有限公司 一种芯片固件升级方法
WO2008074212A1 (fr) * 2006-12-20 2008-06-26 Netac Technology Co., Ltd. Procédé permettant de commander une mémoire flash
US20090083760A1 (en) * 2007-09-25 2009-03-26 Slaight Thomas M Management component transport protocol interconnect filtering and routing
CN101593120A (zh) * 2009-06-29 2009-12-02 成都市华为赛门铁克科技有限公司 带外升级方法和系统
CN102467409A (zh) * 2010-11-08 2012-05-23 研祥智能科技股份有限公司 一键调用应用程序的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MAHDI ET AL.: ""PARDIS: A Programmable Memory Controller for the DDRx Interfacing Standards"", 《PROC OF THE 2012 39TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE(ISCA)》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106921547A (zh) * 2017-01-25 2017-07-04 华为技术有限公司 管理设备的装置和方法

Also Published As

Publication number Publication date
WO2015165329A1 (zh) 2015-11-05
JP2017516218A (ja) 2017-06-15
EP3131241A1 (en) 2017-02-15
CN105095126B (zh) 2018-02-13
US10579394B2 (en) 2020-03-03
KR101984150B1 (ko) 2019-05-30
EP3131241A4 (en) 2017-05-10
JP6479045B2 (ja) 2019-03-06
KR20160147924A (ko) 2016-12-23
EP3131241B1 (en) 2020-03-25
US20170046174A1 (en) 2017-02-16

Similar Documents

Publication Publication Date Title
US8521929B2 (en) Virtual serial port management system and method
US9128893B2 (en) Remote direct memory access socket aggregation
CN103946800A (zh) 系统软件升级期间的无损耗不间断报文处理方法
CN113849312A (zh) 数据处理任务的分配方法、装置、电子设备及存储介质
WO2021115142A1 (zh) 一种串口数据编码方法、装置、嵌入式设备及通信系统
CN103995751A (zh) 一种跨平台通信系统及方法
CN109657317B (zh) 一种cpld管脚分配的方法、系统及设备
CN105095126A (zh) 控制方法和控制设备
US10740218B2 (en) Method and device for determining usage log
CN110958139A (zh) 网络控制方法、编排器、控制器及计算机可读存储介质
CN113535020B (zh) 用于生成应用图标的方法、装置、设备、介质和产品
CN110971696B (zh) 一种实现虚拟电子卡通讯的系统和方法
CN114579499A (zh) 处理器通信接口的控制方法、装置、设备及存储介质
CN105389205A (zh) 一种信息处理方法及电子设备
WO2016078322A1 (zh) 一种io通道分配方法及装置
CN103294527A (zh) 一种处理网络任务的方法、系统以及服务器
CN110618868A (zh) 对数据进行批量写入的方法、装置以及存储介质
CN104965786A (zh) 一种应用程序的调试方法、调试主机及运行主机
CN106020960B (zh) 一种调用方法及装置
CN116886463B (zh) 级联通信方法、装置、设备以及介质
CN108694249B (zh) 数据处理方法、装置、计算机设备以及存储介质
US20230217239A1 (en) Method of coordinating multiple instances of user plane traffic processing in a data network
CN117518966A (zh) 任务控制方法、装置、设备及存储介质
KR102262501B1 (ko) 다중 통신용 장치 및 다중 통신용 장치의 동작 방법
KR101341885B1 (ko) 소프트웨어 컴포넌트 합성 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant