CN102200916A - 电子设备、可配置的部件及该部件的配置信息存储方法 - Google Patents
电子设备、可配置的部件及该部件的配置信息存储方法 Download PDFInfo
- Publication number
- CN102200916A CN102200916A CN2010101360735A CN201010136073A CN102200916A CN 102200916 A CN102200916 A CN 102200916A CN 2010101360735 A CN2010101360735 A CN 2010101360735A CN 201010136073 A CN201010136073 A CN 201010136073A CN 102200916 A CN102200916 A CN 102200916A
- Authority
- CN
- China
- Prior art keywords
- configuration information
- bios
- electronic equipment
- parts
- output system
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
Abstract
本发明公开了一种电子设备、可配置的部件及该部件的配置信息存储方法,以解决应用于该电子设备中的可配置的部件的配置信息的存储需要,其中该方法包括:获取所述电子设备中所述部件的初始配置信息;将所述初始配置信息作为所述部件的默认配置信息编译到所述电子设备的基本输入输出系统中;所述电子设备上电时,所述基本输入输出系统将所述默认配置信息存储到所述电子设备的主板存储介质中。与现有技术相比,本发明的一个实施例不再需要专门的EEPROM或者E-fuse存储器,配置参数的存储和加载都由基本输入输出系统来控制实现,无须额外增加其他硬件,降低了成本。
Description
技术领域
本发明涉及电子技术,尤其涉及一种电子设备、一种可配置的部件以及一种可配置的部件的配置信息存储方法。
背景技术
目前,计算机等电子设备系统中的可配置的部件(如网卡等)都需要一片电可擦写可编程只读存储器(EEPROM)来存储配置信息,以计算机的网卡为例,包括网卡物理(MAC)地址以及其他和Boot相关的配置参数。在计算机启动过程中,将EEPROM中的配置参数加载到网卡配置空间,完成网卡工作状态的配置。
现有技术有在网卡等可配置的部件中采用一次可编程器件E-fuse存储器来替代EEPROM,以求降低成本。
在实现本发明过程中,发明人发现现有技术至少存在如下问题:
(1)E-fuse属于一次可编程存储器(one-time-programming memory),用户在电子设备上电自检(POST)阶段调用部件的配置界面进行配置操作时,会减少E-fuse空余的有效位,用户的操作次数稍多,很快就会使E-fuse剩余有效位减为0而无法再继续配置;
(2)E-fuse存储器虽然能够代替EEPROM,在部件上完成配置信息的存储,但是E-fuse存储器本身仍具有较高的成本。
发明内容
本发明所要解决的技术问题是需要提供一种电子设备,以解决应用于该电子设备中的可配置的部件的配置信息的存储需要。
为了解决上述技术问题,本发明提供了一种可配置的部件的配置信息存储方法,所述部件应用于一电子设备,包括:
获取所述电子设备中所述部件的初始配置信息;
将所述初始配置信息作为所述部件的默认配置信息编译到所述电子设备的基本输入输出系统中;
所述电子设备上电时,所述基本输入输出系统将所述默认配置信息存储到所述电子设备的主板存储介质中。
优选地,该方法进一步包括:
所述电子设备再次上电时,所述部件的选项只读存储器通过所述基本输入输出系统从所述主板存储介质中获取所述默认配置信息,并通过所述部件的输入/输出地址将所述默认配置信息加载到所述部件。
优选地,该方法进一步包括:
所述电子设备再次上电时,所述基本输入输出系统从所述主板存储介质中获取所述默认配置信息,并通过所述部件的输入/输出地址将所述默认配置信息加载到所述部件。
优选地,该方法进一步包括:
用户通过所述部件的选项只读存储器更新所述部件的配置信息时,所述基本输入输出系统根据所述选项只读存储器的调用,将所述更新后的配置信息存储到所述主板存储介质中。
优选地,该方法进一步包括:
用户通过所述部件的选项只读存储器更新所述部件的配置信息时,所述基本输入输出系统根据所述部件的输入/输出地址获取所述更新后的配置信息,将所述更新后的配置信息存储到所述主板存储介质中。
优选地,该方法包括:
获取所述初始配置信息时,获取所述输入/输出地址;
将所述输入/输出地址与所述默认配置信息一起编译到所述基本输入输出系统中。
优选地,所述基本输入输出系统根据标准中断或者系统管理中断,将所述默认配置信息存储到所述主板存储介质中。
本发明所要解决的另一技术问题是需要提供一种可配置的部件,以解决该部件的配置信息的存储需要。
为了解决上述技术问题,本发明提供了一种电子设备,包括可进行功能配置的部件,其中,该电子设备包括:
获取模块,用于获取所述部件的初始配置信息;
编译模块,用于将所述初始配置信息作为所述部件的默认配置信息编译到所述电子设备的基本输入输出系统中;
所述基本输入输出系统,用于所述电子设备上电时将所述默认配置信息存储到所述电子设备的主板存储介质中;
所述主板存储介质,用于存储所述默认配置信息。
优选地,该电子设备进一步包括:
选项只读存储器,用于所述电子设备再次上电时,通过所述基本输入输出系统从所述主板存储介质中获取所述默认配置信息。
优选地,所述电子设备再次上电时,所述基本输入输出系统从所述主板存储介质中获取所述默认配置信息。
优选地,该电子设备进一步包括:
选项只读存储器,用于用户更新所述部件的配置信息时调用所述基本输入输出系统;
所述基本输入输出系统用于根据所述选项只读存储器的调用,将所述更新后的配置信息存储到所述主板存储介质中。
优选地,所述基本输入输出系统用于用户更新所述部件的配置信息时根据所述部件的输入/输出地址获取所述更新后的配置信息,并将所述更新后的配置信息存储到所述主板存储介质中。
优选地,所述获取模块用于获取所述初始配置信息时,获取所述输入/输出地址;
所述编译模块用于将所述输入/输出地址与所述默认配置信息一起编译到所述基本输入输出系统中。
本发明所要解决的另一技术问题是需要提供一种可配置的部件的配置信息存储方法,以解决该部件的配置信息的存储需要。
为了解决上述技术问题,本发明提供了一种可进行功能配置的部件,该部件应用于一电子设备,该电子设备包含基本输入输出系统,以及该电子设备的主板上设置有存储介质,其中,该部件包括选项只读存储器,其中:
所述选项只读存储器,用于所述电子设备启动后,通过所述基本输入输出系统从所述存储介质中获取所述部件的默认配置信息;
所述部件用于根据自身的输入/输出地址加载所述默认配置信息。
优选地,所述选项只读存储器进一步用于用户更新所述部件的配置信息,并用于在用户更新所述部件的配置信息后调用所述基本输入输出系统;所述基本输入输出系统进一步用于将所述更新后的配置信息存储到所述存储介质中。
为了解决上述技术问题,本发明还提供了一种可进行功能配置的部件,该部件应用于一电子设备,该电子设备包含基本输入输出系统,以及该电子设备的主板上设置有存储介质,其中:
所述部件用于所述电子设备启动后,根据自身的输入/输出地址以及所述基本输入输出系统加载所述默认配置信息;
其中,
所述基本输入输出系统用于所述电子设备启动后从所述存储介质中获取所述默认配置信息。
优选地,该部件进一步包括:
选项只读存储器,进一步用于用户更新所述部件的配置信息,并用于在用户更新所述部件的配置信息后调用所述基本输入输出系统;
其中,
所述基本输入输出系统进一步用于根据所述选项只读存储器的调用将所述更新后的配置信息存储到所述存储介质中。
与现有技术相比,本发明的一个实施例至少具有如下技术效果:计算机的网卡不再需要专门的EEPROM或者E-fuse存储器,网卡配置参数的存储和加载都由基本输入输出系统(BIOS)服务功能来控制实现,无须额外增加其他硬件,降低了成本。并且,简化了主板的电路设计,主板线路中不再有EEPROM或者E-fuse存储器等存储设备,主板线路设计得以简化,空间得到扩展。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明存储方法第一实施例的流程示意图;
图2为本发明存储方法第二实施例的流程示意图;
图3为本发明存储方法第三实施例的流程示意图;
图4为本发明存储方法第四实施例的流程示意图;
图5为本发明电子设备第一实施例的组成示意图;
图6为本发明电子设备第二实施例的组成示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。
需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
很长一段时间以来,可配置的部件(如网卡)外置的EEPROM的成本对于整个电子设备(如计算机)的成本来说只占很小的一部分,以计算机上的网卡为例,业内的计算机产品上的网卡一直采用外置的EEPROM的设计。在计算机行业利润和成本越来越敏感,以及各设计生产厂商的竞争日益激烈的如今,如何尽可能地节省计算机系统的成本,对计算机生产厂商就显得尤为重要。因此,能够节省部件上外置的EEPROM的意义已经大不相同,该节省可以影响到电子设备上一片主板的生产成本。因此,找到一种既可以节省EEPROM而又不增加额外成本的方法,对电子设备设计生产厂商而言就具有相当的价值。
本发明的核心思想是采用电子设备的主板上现有存储介质替换EEPROM来实现配置信息的存储,并通过电子设备的基本输入输出系统(BIOS)来搭建部件芯片(chip)到主板上存储介质之间的传输通道,实现部件的配置信息的更新保存。以网卡chip为例,由于网卡chip、网卡选项只读存储器(optionrom)和网卡外置EEPROM三者之间的工作原理决定,只是在主板上找一片替代EEPROM的空间,还无法保证现有网卡正常工作,因为网卡chip和网卡optionrom根本不知道现有的配置信息存储在哪里,以及如何读取和如何更新。本方案的解决方案是通过基本输入输出系统(BIOS)来提供操作服务功能,通过和网卡chip以及网卡optionrom配合,利用主板现有的存储介质来存储网卡配置信息。
通过BIOS这一底层功能的介入,可以根据实际应用实现如下不同模式的配置信息存储、加载和更新等操作:
(1)通过增强BIOS服务功能来实现,比如由optionrom调用BIOS服务功能来读写主板现有的存储介质。出厂配置时,通过BIOS或者其他途径等在主板现有的存储介质中存储一份网卡的配置信息。计算机上电后,网卡optionrom通过BIOS获取存储在主板上的网卡的配置信息,并将该配置信息加载到网卡chip。使用过程中用户对网卡的配置信息进行更新后,optionrom通过BIOS将更新后的的配置信息存储到主板现有的存储介质中。在这种模式下,由optionrom主动调用BIOS服务来获取配置信息和更新配置信息,BIOS提供获取和更新的服务功能接口即可。
(2)通过修改BIOS来实现,比如直接由BIOS来读写主板现有的存储介质。出厂配置时,在主板现有的存储介质中存储一份网卡的配置信息。开发人员提前获取网卡Chip的I/O地址,并将该I/O地址编译到BIOS中,在计算机上电时,BIOS通过网卡chip的I/O地址直接把主板现有存储介质上存储的网卡的配置信息加载到网卡chip,并可接受用户的更新。在网卡的配置信息有更新的情况下,网卡optionrom运行完毕后,BIOS从网卡chip中获取更新后的配置信息,并将该更新后的配置信息存储到主板现有的存储介质中。相比上述第(1)种模式,BIOS更多的去主动获取或存储,并不需要等待optionrom的调用。
在上述第(1)种实现方式中,可以通过增强BIOS的服务功能来实现。该服务功能比如可以是标准中断(Interrup),也可以是系统管理中断(SMI)。
需要说明的是,上述两种实现方式,是以计算机中的网卡为例进行举例说明的。本发明的上述实现方式,以及如下所述的实施方式均不限于计算机网卡,任何通过外置存储器存储配置信息并且配置信息可进行配置的部件,均适用于本发明的核心思想和技术方案。
图1为本发明方法第一实施例的流程示意图。该方法第一实施例是采用上述第(1)种模式,并选择互补金属氧化物半导体(CMOS)芯片作为主板的存储介质来存储和更新网卡的配置信息。如图1所示,该方法第一实施例主要包括如下步骤:
步骤S110,主板开发时,提前获取计算机网卡的初始配置信息,比如从计算机网卡销售者(vendor)等处获取的出厂默认配置信息;
步骤S120,主板BIOS开发时,将提前获取的初始配置信息作为网卡的默认配置信息编译到BIOS代码(code)中;BIOS编译时会将该默认配置信息存储到BIOS代码(code)中,计算机首次上电BIOS运行过程中,会把code中的默认配置信息存储到主板存储介质上;
步骤S130,计算机首次上电运行后,BIOS将编译在BIOS code中的默认配置信息存储到该计算机主板互补金属氧化物半导体(CMOS)芯片这一主板上的存储介质中;
步骤S140,再次(包括首次之后的每次)启动计算机(计算机上电)后,网卡optionrom通过BIOS服务功能从主板CMOS芯片中获取网卡的配置信息,并通过网卡chipI/O地址将该配置信息加载到网卡chip;
步骤S150,用户通过optionrom提供的网卡配置界面更新网卡的配置信息后,optionrom调用BIOS,将更新后的配置信息作为BIOS入口参数,由BIOS将更新后的配置信息存储到该主板CMOS芯片中,以供计算机下次启动时选择加载。
需要说明的是,在计算机上电后,如果用户没有通过配置界面对网卡的配置信息进行更新,则计算机会默认加载CMOS芯片中存储的配置信息。如果有用户更新,则会执行步骤S130中的配置信息更新。其中CMOS芯片中存储的配置信息可能是BIOS出厂时的默认网卡配置信息,也可能是用户某次更新之后的配置信息。另外,因为CMOS芯片和flash芯片一样,有若干个Byte存储空间,因此出厂时的默认配置信息和运行时更新之后的配置信息可以同时存在,BIOS可以动态地判断整个计算机的状态,决定加载哪一份配置信息。比如当出厂后首次使用时,BIOS加载出厂时的那份默认配置信息;当使用过程中发生用户更新时,BIOS加载用户更新之后的那份配置信息;当计算机发生某种错误或者通过OS下调用BIOS的服务时,BIOS可以恢复到加载出厂时的那份默认配置信息,这样使得整个系统更加灵活智能。
在本发明方法第二实施例中,仍然采用上述第(1)种模式,并选择BIOS闪存(Flash)作为主板的存储介质来存储网卡的配置信息。图2为本发明方法第二实施例的流程示意图。如图2所示,本发明方法第二实施例主要包括如下步骤:
步骤S210,主板开发时,提前获取计算机网卡的初始配置信息,比如从计算机网卡销售者(vendor)等处获取的出厂默认配置信息;
步骤S220,主板BIOS开发时,将提前获取的初始配置信息作为网卡的默认配置信息编译到BIOS code中;BIOS编译时会将该默认配置信息存储到BIOS code中,计算机首次上电BIOS运行过程中,会把code中的默认配置信息存储到主板存储介质上;
步骤S230,计算机首次上电运行后,BIOS将编译在BIOS code中的默认配置信息存储到BIOS闪存(Flash)芯片这一主板上的存储介质中;
步骤S240,再次(包括首次之后的每次)启动计算机(计算机上电)后,网卡optionrom通过BIOS服务功能从BIOS Flash芯片中获取网卡的配置信息,并通过网卡chip I/O地址将该配置信息加载到网卡chip;
步骤S250,用户通过optionrom提供的网卡配置界面更新网卡的配置信息后,optionrom调用BIOS,将更新后的配置信息作为入口参数,由BIOS将更新后的配置信息存储到该BIOS Flash芯片中,以供计算机下次启动时选择加载。
图3为本发明方法第三实施例的流程示意图。该方法第三实施例是采用上述第(2)种模式,并选择CMOS芯片作为主板的存储介质来存储和更新网卡的配置信息。如图3所示,该方法第三实施例主要包括如下步骤:
步骤S310,主板开发时,提前获取计算机网卡的初始配置信息和网卡Chip的I/O地址,该初始配置信息比如是从计算机网卡销售者(vendor)等处获取的出厂默认配置信息;
步骤S320,主板BIOS开发时,将提前获取的初始配置信息作为网卡的默认配置信息,并将该默认配置信息和网卡I/O地址一起编译到BIOS code中;BIOS编译时会将该默认配置信息存储到BIOS code中,计算机首次上电BIOS运行过程中,会把code中的默认配置信息存储到主板存储介质上;
步骤S330,计算机首次上电运行后,BIOS将编译在BIOS code中的默认配置信息存储到计算机主板CMOS芯片这一主板上的存储介质中;
步骤S340,再次(包括首次之后的每次)启动计算机(计算机上电)后,BIOS从主板CMOS芯片中获取网卡的配置信息,并通过网卡chip I/O地址将该配置信息加载到网卡chip;
步骤S350,用户通过optionrom提供的网卡配置界面更新网卡的配置信息后,BIOS从网卡chip I/O地址中获取更新后的配置信息,并将该更新后的配置信息存储到该主板CMOS芯片中,以供计算机下次启动时选择加载。
图4为本发明方法第四实施例的流程示意图。该方法第四实施例是采用上述第(2)种模式,并选择BIOS Flash芯片作为主板的存储介质来存储和更新网卡的配置信息。如图4所示,该方法第四实施例主要包括如下步骤:
步骤S410,主板开发时,提前获取计算机网卡的初始配置信息和网卡的I/O地址,该初始配置信息比如是从计算机网卡销售者(vendor)等处获取的出厂默认配置信息;
步骤S420,主板BIOS开发时,将提前获取的初始配置信息作为网卡的默认配置信息,并将该默认配置信息和网卡的I/O地址一起编译到BIOS code中;BIOS编译时会将该默认配置信息存储到BIOS code中,计算机首次上电BIOS运行过程中,会把code中的默认配置信息存储到主板存储介质上;
步骤S430,计算机首次上电运行后,BIOS将编译在BIOS code中默认配置信息存储到计算机BIOS flash芯片这一主板上的存储介质中;
步骤S440,再次(包括首次之后的每次)启动计算机(计算机上电)后,BIOS从BIOS flash芯片中获取网卡的配置信息,并通过网卡chip I/O地址将该配置信息加载到网卡chip;
步骤S450,用户通过optionrom提供的网卡配置界面更新网卡的配置信息后,BIOS从网卡I/O地址中获取更新后的配置信息,并将该更新后的配置信息存储到该BIOS flash芯片中,以供计算机下次启动时选择加载。
图5为本发明电子设备第一实施例的组成示意图。在本实施例中,该电子设备以计算机为例,并以该计算机中的网卡为本实施例中的可进行功能配置的部件。对应上述第(1)种模式,结合图1和图2所示的方法实施例,图5所示的电子设备第一实施例主要包括获取模块510、编译模块520、基本输入输出系统(BIOS)530、主板存储介质540和选项只读存储器(optionrom)550,其中:
获取模块510,用于获取计算机网卡的初始配置信息;
编译模块520,与该获取模块510相连,用于在BIOS 530的开发阶段,将获取模块510获取的初始配置信息作为网卡的默认配置信息编译到BIOS530的code中;
BIOS 530,与该编译模块520相连,用于计算机首次上电运行后,根据optionrom 550的调用将编译在BIOS code中的该默认配置信息存储到该主板存储介质540中;在计算机再次(包括首次之后的每次)上电运行时,根据optionrom 550的调用从主板存储介质540中获取网卡的配置信息,并通过网卡chip I/O地址将该配置信息加载到网卡chip;在用户更新网卡的配置信息时,用于根据optionrom 550的调用,将更新后的配置信息存储到该主板存储介质540中,以供计算机下次启动时选择加载;
主板存储介质540,与该BIOS 530相连,用于存储网卡配置信息(包括默认配置信息和用户更新后的配置信息);本实施例是以主板上的CMOS芯片作为存储介质540进行说明的,在其他实施例中也可以将主板上的BIOSFlash芯片作为本发明中的主板存储介质540;
optionrom 550,与该BIOS 530相连,用于计算机再次上电时通过调用BIOS 530的服务功能,使BIOS 530从主板存储介质540中获取网卡的配置信息;还用于提供网卡配置界面,接受用户通过该网卡配置界面对网卡的配置信息所进行的更新,并用于将更新后的配置信息作为BIOS 530的入口参数调用BIOS 530,由BIOS将更新后的配置信息存储到该主板存储介质540中。
上述的BIOS 530,提供标准中断或者系统管理中断,用于将网卡的配置信息存储到该主板存储介质540中,以及从主板存储介质540中读取网卡配置信息。
图6为本发明电子设备第二实施例的组成示意图。在本实施例中,该电子设备以计算机为例,并以该计算机中的网卡为本实施例中的可进行功能配置的部件。对应上述第(2)种模式,并结合上述图3和图4所示的方法实施例,图6所示的电子设备第二实施例主要包括获取模块610、编译模块620、BIOS 630、主板存储介质640以及选项只读存储器(optionrom)650,其中:
获取模块610,用于获取计算机网卡的初始配置信息和网卡的I/O地址;
编译模块620,与该获取模块610相连,用于在BIOS 630的开发阶段,将获取模块610获取的初始配置信息作为网卡的默认配置信息,并将该默认配置信息和网卡的I/O地址一起编译到BIOS 630的code中;
BIOS 630,与该编译模块620相连,用于在计算机首次上电运行后,将编译在BIOS code中的默认配置信息存储到主板存储介质640中;用于在计算机再次(包括首次之后的每次)上电运行时,从主板存储介质640中读取该默认配置信息,并通过网卡I/O地址将该默认配置信息加载到网卡chip;还用于在用户更新网卡的配置信息时,从网卡I/O地址中获取将该更新后的配置信息,并将该更新后的配置信息存储到该主板存储介质640中,以供计算机下次启动时选择加载;
主板存储介质640,与该BIOS 630相连,用于存储网卡的配置信息(包括默认配置信息和用户更新后的配置信息);本实施例是以主板上的BIOSFlash芯片作为存储介质640进行说明的,在其他实施例中也可以将主板上的CMOS芯片作为本发明中的主板存储介质640;
Optionrom 650,与该BIOS 630相连,用于计算机运行时提供网卡配置界面,接受用户通过该网卡配置界面对网卡的配置信息所进行的更新。
需要说明的是,本发明以上各实施例是选用主板CMOS芯片或BIOSFlash芯片作为本发明中的主板存储介质来说明本发明的技术方案的,但是本领域技术人员应该明白,该主板CMOS芯片或BIOS Flash芯片仅是本发明主板上存储介质的典型实施例。按照本发明的思想,电子设备的主板上现有的存储介质只要可以被BIOS访问到,都可以作为可进行功能配置的部件(如网卡)的配置信息的存储介质而应用于本发明。
本发明还提出了一种可进行功能配置的部件。在该部件的第一实施例中,该部件可以应用于一电子设备,该电子设备包含BIOS,以及该电子设备的主板上设置有存储介质。该部件的第一实施例中,该电子设备为一台计算机,该部件为网卡,该主板存储介质为CMOS芯片(其他实施例中也可以是BIOSflash芯片)。该部件还包括一选项只读存储器(optionrom),该optionrom用于该计算机启动后,通过BIOS从CMOS芯片中获取网卡的默认配置信息,网卡用于根据自身的输入/输出地址加载该默认配置信息。
在该部件的第一实施例中,该optionrom进一步用于提供网卡配置界面,该用卡配置界面用于接受用户更新网卡的配置信息;该optionrom还用于在用户更新网卡配置信息后调用BIOS;BIOS进一步用于将更新后的配置信息存储到该CMOS中,以供计算机下次启动时选择加载。
在该部件的第二实施例中,该部件可以应用于一电子设备,该电子设备包含BIOS,以及该电子设备的主板上设置有存储介质。该部件的第二实施例中,该电子设备为一台计算机,该部件为网卡,该主板存储介质为BIOS fash芯片(其他实施例中也可以是CMOS芯片)。其中网卡用于计算机启动后,根据自身的输入/输出地址以及BIOS加载默认配置信息;BIOS用于计算机启动后从BIOS flash芯片中获取该默认配置信息。该部件的第二实施例中,网卡进一步包括选项只读存储器(optionrom),该optionrom进一步用于用户更新该部件的配置信息,并用于用户更新该部件的配置信息后调用BIOS,该BIOS进一步用于根据optionrom的调用将更新后的配置信息存储到BIOSflash芯片中。
本发明技术方案中,利用BIOS Flash存储网卡的配置信息时,BIOS编译的时候可以指定网卡设置信息的默认状态,同时BIOS提供读写主板现有介质中所存储的网卡设置信息的服务功能,可供网卡optionrom或OS下应用程序调用,可以很方便地实现每台计算机的出厂状态设置和更改。
其中,BIOS提供读写网卡配置信息的服务功能,可以使得计算机在工厂生产阶段由产线程序灵活调用去实现网卡的出厂信息配置和更改,同时这些运行时(runtime)的服务功能提供了和网卡optionrom之间的标准交互接口,BIOS的服务功能负责读写主板上存储介质内的网卡配置信息,网卡optionrom程序调用BIOS服务功能去实现网卡信息的加载和保存,这样BIOS服务功能可以不必知道具体的网卡的IO空间地址,只负责从主板上读出上次保存的配置信息发送给optionrom和把optionrom发送过来的信息更新保存到主板介质中。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。另外,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (17)
1.一种可配置的部件的配置信息存储方法,所述部件应用于一电子设备,其特征在于,包括:
获取所述电子设备中所述部件的初始配置信息;
将所述初始配置信息作为所述部件的默认配置信息编译到所述电子设备的基本输入输出系统中;
所述电子设备上电时,所述基本输入输出系统将所述默认配置信息存储到所述电子设备的主板存储介质中。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
所述电子设备再次上电时,所述部件的选项只读存储器通过所述基本输入输出系统从所述主板存储介质中获取所述默认配置信息,并通过所述部件的输入/输出地址将所述默认配置信息加载到所述部件。
3.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
所述电子设备再次上电时,所述基本输入输出系统从所述主板存储介质中获取所述默认配置信息,并通过所述部件的输入/输出地址将所述默认配置信息加载到所述部件。
4.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
用户通过所述部件的选项只读存储器更新所述部件的配置信息时,所述基本输入输出系统根据所述选项只读存储器的调用,将所述更新后的配置信息存储到所述主板存储介质中。
5.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
用户通过所述部件的选项只读存储器更新所述部件的配置信息时,所述基本输入输出系统根据所述部件的输入/输出地址获取所述更新后的配置信息,将所述更新后的配置信息存储到所述主板存储介质中。
6.根据权利要求3或5所述的方法,其特征在于,该方法包括:
获取所述初始配置信息时,获取所述输入/输出地址;
将所述输入/输出地址与所述默认配置信息一起编译到所述基本输入输出系统中。
7.根据权利要求1所述的方法,其特征在于:
所述基本输入输出系统根据标准中断或者系统管理中断,将所述默认配置信息存储到所述主板存储介质中。
8.一种电子设备,包括可进行功能配置的部件,其特征在于,该电子设备包括:
获取模块,用于获取所述部件的初始配置信息;
编译模块,用于将所述初始配置信息作为所述部件的默认配置信息编译到所述电子设备的基本输入输出系统中;
所述基本输入输出系统,用于所述电子设备上电时将所述默认配置信息存储到所述电子设备的主板存储介质中;
所述主板存储介质,用于存储所述默认配置信息。
9.根据权利要求8所述的电子设备,其特征在于,该电子设备进一步包括:
选项只读存储器,用于所述电子设备再次上电时,通过所述基本输入输出系统从所述主板存储介质中获取所述默认配置信息。
10.根据权利要求8所述的电子设备,其特征在于:
所述电子设备再次上电时,所述基本输入输出系统从所述主板存储介质中获取所述默认配置信息。
11.根据权利要求8所述的电子设备,其特征在于,该电子设备进一步包括:
选项只读存储器,用于用户更新所述部件的配置信息时调用所述基本输入输出系统;
所述基本输入输出系统用于根据所述选项只读存储器的调用,将所述更新后的配置信息存储到所述主板存储介质中。
12.根据权利要求8所述的电子设备,其特征在于:
所述基本输入输出系统用于用户更新所述部件的配置信息时根据所述部件的输入/输出地址获取所述更新后的配置信息,并将所述更新后的配置信息存储到所述主板存储介质中。
13.根据权利要求10或12所述的电子设备,其特征在于:
所述获取模块用于获取所述初始配置信息时,获取所述输入/输出地址;
所述编译模块用于将所述输入/输出地址与所述默认配置信息一起编译到所述基本输入输出系统中。
14.一种可进行功能配置的部件,该部件应用于一电子设备,该电子设备包含基本输入输出系统,以及该电子设备的主板上设置有存储介质,其特征在于,该部件包括选项只读存储器,其中:
所述选项只读存储器,用于所述电子设备启动后,通过所述基本输入输出系统从所述存储介质中获取所述部件的默认配置信息;
所述部件用于根据自身的输入/输出地址加载所述默认配置信息。
15.根据权利要求14所述的部件,其特征在于:
所述选项只读存储器进一步用于用户更新所述部件的配置信息,并用于在用户更新所述部件的配置信息后调用所述基本输入输出系统;
所述基本输入输出系统进一步用于将所述更新后的配置信息存储到所述存储介质中。
16.一种可进行功能配置的部件,该部件应用于一电子设备,该电子设备包含基本输入输出系统,以及该电子设备的主板上设置有存储介质,其特征在于:
所述部件用于所述电子设备启动后,根据自身的输入/输出地址以及所述基本输入输出系统加载所述默认配置信息;
其中,
所述基本输入输出系统用于所述电子设备启动后从所述存储介质中获取所述默认配置信息。
17.根据权利要求16所述的部件,其特征在于,该部件进一步包括:
选项只读存储器,进一步用于用户更新所述部件的配置信息,并用于在用户更新所述部件的配置信息后调用所述基本输入输出系统;
其中,
所述基本输入输出系统进一步用于根据所述选项只读存储器的调用将所述更新后的配置信息存储到所述存储介质中。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010136073.5A CN102200916B (zh) | 2010-03-26 | 2010-03-26 | 电子设备、可配置的部件及该部件的配置信息存储方法 |
US13/637,118 US9304788B2 (en) | 2010-03-26 | 2011-02-25 | Electronic device, configurable component and configuration information storage method thereof |
PCT/CN2011/000304 WO2011116621A1 (zh) | 2010-03-26 | 2011-02-25 | 电子设备、可配置的部件及其配置信息存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010136073.5A CN102200916B (zh) | 2010-03-26 | 2010-03-26 | 电子设备、可配置的部件及该部件的配置信息存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102200916A true CN102200916A (zh) | 2011-09-28 |
CN102200916B CN102200916B (zh) | 2014-12-31 |
Family
ID=44661614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010136073.5A Active CN102200916B (zh) | 2010-03-26 | 2010-03-26 | 电子设备、可配置的部件及该部件的配置信息存储方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9304788B2 (zh) |
CN (1) | CN102200916B (zh) |
WO (1) | WO2011116621A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103714037A (zh) * | 2012-09-28 | 2014-04-09 | 微盟电子(昆山)有限公司 | 计算器及其硬件参数设定方法 |
CN104503798A (zh) * | 2014-12-29 | 2015-04-08 | 杭州华三通信技术有限公司 | 服务器的配置方法及装置 |
CN105677412A (zh) * | 2016-01-06 | 2016-06-15 | 无锡中太服务器有限公司 | 一种在OpenPower CPU架构服务器BOOT中提供针对PCIE卡配置能力的方法 |
CN107066283A (zh) * | 2015-10-19 | 2017-08-18 | 哈曼国际工业有限公司 | 用于更新计算机装置的部件同时实现部件可用性的技术 |
CN107222357A (zh) * | 2017-08-03 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种配置网卡的装置及方法 |
CN107770299A (zh) * | 2017-10-24 | 2018-03-06 | 郑州云海信息技术有限公司 | 一种mac地址刷写方法、系统、装置及存储介质 |
CN109471679A (zh) * | 2018-11-19 | 2019-03-15 | 郑州云海信息技术有限公司 | 一种对pcie交换芯片配置文件进行配置的方法 |
CN114661372A (zh) * | 2022-03-03 | 2022-06-24 | 北京达佳互联信息技术有限公司 | 配置信息处理方法、装置及服务器 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9262178B2 (en) * | 2012-01-30 | 2016-02-16 | Intel Corporation | Method for reducing platform boot times by providing lazy input/output abstractions |
CN104657165A (zh) * | 2013-11-22 | 2015-05-27 | 英业达科技有限公司 | 服务器及其控制方法 |
CN104657243A (zh) * | 2013-11-25 | 2015-05-27 | 英业达科技有限公司 | 服务器与服务器检测方法 |
CN108762766A (zh) * | 2018-06-08 | 2018-11-06 | 山东超越数控电子股份有限公司 | 一种飞腾1500a平台下银河麒麟系统支持万兆网卡的方法 |
TWI685793B (zh) * | 2018-09-20 | 2020-02-21 | 神雲科技股份有限公司 | 同步方法 |
CN112449333A (zh) * | 2019-08-30 | 2021-03-05 | 硅工厂股份有限公司 | 无线电池管理系统、用于无线通信的节点和网络建立方法 |
CN110708193B (zh) * | 2019-09-27 | 2022-06-03 | 烽火通信科技股份有限公司 | 一种以太网业务板卡启动方法及系统 |
US11775647B2 (en) | 2020-06-25 | 2023-10-03 | Microsoft Technology Licensing, Llc | Secure user assigned device from manufacturer |
CN113253161B (zh) * | 2021-05-27 | 2023-02-28 | 山东英信计算机技术有限公司 | 一种用于pcb保险丝量测并烧录的电路结构 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6401198B1 (en) * | 1999-03-09 | 2002-06-04 | Texas Instruments Incorporated | Storing system-level mass storage configuration data in non-volatile memory on each mass storage device to allow for reboot/power-on reconfiguration of all installed mass storage devices to the same configuration as last use |
CN1595388A (zh) * | 2003-09-10 | 2005-03-16 | 联想(北京)有限公司 | 一种通过远程配置获取基本输入输出系统信息的方法 |
CN101021798A (zh) * | 2007-03-23 | 2007-08-22 | 威盛电子股份有限公司 | 一种存储器管理方法 |
CN101477489A (zh) * | 2009-01-23 | 2009-07-08 | 成都市华为赛门铁克科技有限公司 | 一种保存操作系统信息的方法、装置及系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6012103A (en) * | 1997-07-02 | 2000-01-04 | Cypress Semiconductor Corp. | Bus interface system and method |
US6883099B2 (en) * | 2001-01-04 | 2005-04-19 | Troika Networks, Inc. | Secure virtual interface |
CN1225701C (zh) * | 2003-05-23 | 2005-11-02 | 威盛电子股份有限公司 | 在dmi区块备份计算机系统中cmos的bios设定的方法 |
US7181609B2 (en) * | 2003-08-15 | 2007-02-20 | Intel Corporation | System and method for accelerated device initialization |
US7424603B2 (en) * | 2003-12-18 | 2008-09-09 | Intel Corporation | Method and apparatus to store initialization and configuration information |
US20060020844A1 (en) * | 2004-07-22 | 2006-01-26 | Gibbons Patrick L | Recovery of custom BIOS settings |
US20070162733A1 (en) * | 2006-01-06 | 2007-07-12 | Dell Products L.P. | Secure CMOS |
US20070245038A1 (en) * | 2006-03-30 | 2007-10-18 | Inventec Corporation | System and method for user-controlled connection of computer peripheral devices |
CN100568832C (zh) * | 2006-06-13 | 2009-12-09 | 英业达股份有限公司 | 网络卡上媒介存取控制地址错误的侦测方法 |
TW200837629A (en) * | 2007-03-09 | 2008-09-16 | Realtek Semiconductor Corp | Network interface controller |
US8127127B2 (en) * | 2008-06-26 | 2012-02-28 | Dell Products L.P. | System and method for transferring configuration information to an embedded device using a command line interface |
US8312256B2 (en) * | 2010-02-24 | 2012-11-13 | Hewlett-Packard Development Company, L.P. | Display of a basic input/output system (BIOS) productivity display |
-
2010
- 2010-03-26 CN CN201010136073.5A patent/CN102200916B/zh active Active
-
2011
- 2011-02-25 WO PCT/CN2011/000304 patent/WO2011116621A1/zh active Application Filing
- 2011-02-25 US US13/637,118 patent/US9304788B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6401198B1 (en) * | 1999-03-09 | 2002-06-04 | Texas Instruments Incorporated | Storing system-level mass storage configuration data in non-volatile memory on each mass storage device to allow for reboot/power-on reconfiguration of all installed mass storage devices to the same configuration as last use |
CN1595388A (zh) * | 2003-09-10 | 2005-03-16 | 联想(北京)有限公司 | 一种通过远程配置获取基本输入输出系统信息的方法 |
CN101021798A (zh) * | 2007-03-23 | 2007-08-22 | 威盛电子股份有限公司 | 一种存储器管理方法 |
CN101477489A (zh) * | 2009-01-23 | 2009-07-08 | 成都市华为赛门铁克科技有限公司 | 一种保存操作系统信息的方法、装置及系统 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103714037A (zh) * | 2012-09-28 | 2014-04-09 | 微盟电子(昆山)有限公司 | 计算器及其硬件参数设定方法 |
CN103714037B (zh) * | 2012-09-28 | 2017-12-15 | 微盟电子(昆山)有限公司 | 计算器及其硬件参数设定方法 |
CN104503798A (zh) * | 2014-12-29 | 2015-04-08 | 杭州华三通信技术有限公司 | 服务器的配置方法及装置 |
CN107066283A (zh) * | 2015-10-19 | 2017-08-18 | 哈曼国际工业有限公司 | 用于更新计算机装置的部件同时实现部件可用性的技术 |
CN107066283B (zh) * | 2015-10-19 | 2021-07-13 | 哈曼国际工业有限公司 | 用于更新计算机装置的部件同时实现部件可用性的技术 |
CN105677412A (zh) * | 2016-01-06 | 2016-06-15 | 无锡中太服务器有限公司 | 一种在OpenPower CPU架构服务器BOOT中提供针对PCIE卡配置能力的方法 |
WO2017117854A1 (zh) * | 2016-01-06 | 2017-07-13 | 苏州中太服务器有限公司 | 一种在OpenPower CPU架构服务器BOOT中提供针对PCIE卡配置能力的方法 |
CN107222357A (zh) * | 2017-08-03 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种配置网卡的装置及方法 |
CN107222357B (zh) * | 2017-08-03 | 2021-02-09 | 苏州浪潮智能科技有限公司 | 一种配置网卡的装置及方法 |
CN107770299A (zh) * | 2017-10-24 | 2018-03-06 | 郑州云海信息技术有限公司 | 一种mac地址刷写方法、系统、装置及存储介质 |
CN109471679A (zh) * | 2018-11-19 | 2019-03-15 | 郑州云海信息技术有限公司 | 一种对pcie交换芯片配置文件进行配置的方法 |
CN114661372A (zh) * | 2022-03-03 | 2022-06-24 | 北京达佳互联信息技术有限公司 | 配置信息处理方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN102200916B (zh) | 2014-12-31 |
WO2011116621A1 (zh) | 2011-09-29 |
US9304788B2 (en) | 2016-04-05 |
US20130024678A1 (en) | 2013-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102200916B (zh) | 电子设备、可配置的部件及该部件的配置信息存储方法 | |
CN110780890A (zh) | 系统升级方法、装置、电子设备和介质 | |
CN107704285B (zh) | 现场可编程门阵列多版本配置芯片、系统和方法 | |
CN102855146A (zh) | 固件更新系统及方法 | |
CN102750206A (zh) | 多bios电路及多bios切换的方法 | |
CN104750510A (zh) | 一种芯片启动方法及多核处理器芯片 | |
CN103631674A (zh) | 嵌入cpu的fpga及其启动方法 | |
CN105808290A (zh) | 用于多fpga整机系统的远程动态更新系统和方法 | |
CN113127302A (zh) | 一种板卡gpio的监控方法和装置 | |
CN103473102A (zh) | 多操作系统的系统启动引导方法和工具 | |
CN102075710B (zh) | 一种电视机的启动运行方法及电视机 | |
CN110704090A (zh) | 现场可编程门阵列fpga及其升级方法和升级系统 | |
US9652259B2 (en) | Apparatus and method for managing register information in a processing system | |
CN104158709A (zh) | 一种光模块识别的方法及端口扩展设备 | |
CN101582037A (zh) | 共享基本输入输出系统的方法及其刀锋服务器与计算机 | |
CN201869296U (zh) | 一种电视机 | |
CN104461659A (zh) | 一种高可靠性的计算机启动方法 | |
CN115129345A (zh) | 一种固件升级方法、装置、设备及存储介质 | |
KR101118111B1 (ko) | 이동통신단말기 및 그 부팅방법 | |
CN109344005B (zh) | 一种基本输入输出系统bios冗余备份方法和装置 | |
JP7273176B2 (ja) | シーケンス処理ユニットを備えたメモリ制御システム | |
CN103019753A (zh) | 一种移动终端的启动控制方法、装置及移动终端 | |
CN102270184A (zh) | 基于多个处理器的pci-e插槽控制系统及方法 | |
CN110515666A (zh) | PCIe设备的Option ROM类型的设置方法 | |
CN110888677B (zh) | 计算机启动顺序的调整方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |