CN107145213B - Device and method for multiplexing PCH MEdebug and USB port - Google Patents

Device and method for multiplexing PCH MEdebug and USB port Download PDF

Info

Publication number
CN107145213B
CN107145213B CN201710267074.5A CN201710267074A CN107145213B CN 107145213 B CN107145213 B CN 107145213B CN 201710267074 A CN201710267074 A CN 201710267074A CN 107145213 B CN107145213 B CN 107145213B
Authority
CN
China
Prior art keywords
usb
pch
selector
signal
debug
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.)
Active
Application number
CN201710267074.5A
Other languages
Chinese (zh)
Other versions
CN107145213A (en
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201710267074.5A priority Critical patent/CN107145213B/en
Publication of CN107145213A publication Critical patent/CN107145213A/en
Application granted granted Critical
Publication of CN107145213B publication Critical patent/CN107145213B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention provides a device and a method for multiplexing PCH ME debug and USB port in a Purley platform server system, wherein an I2C signal and a USB2.0 signal of ME debug are connected to the external USB port through an alternative selector. The function selection signal of the selector is connected to the BMC, the default function is set to be USB2.0, and when debug ME is needed, the state of the function selection pin is changed through the BMC to achieve signal switching. Not only make full use of external USB port function, can be after later stage machine equipment is accomplished simultaneously, swift simple realization ME debug's function.

Description

Device and method for multiplexing PCH ME debug and USB port
Technical Field
The invention relates to the technical field of management engines, in particular to a device and a method for multiplexing PCHME debug and USB port in a Purley platform server system.
Background
In recent years, server systems have played an important role in various aspects of society, and servers exist in almost all aspects related to our life relations. The problem of energy consumption is particularly prominent along with the rapid increase of the deployment number of the server systems. The increase of the energy consumption of the server is mainly reflected in the following aspects: firstly, the CPU has higher and higher frequency with the continuous improvement of the manufacturing process of the CPU, and the power consumption of the CPU is increased remarkably while the computing capability of the CPU is improved rapidly; secondly, the memory is used, and along with the improvement of the manufacturing process, the memory capacity is larger and larger, and the speed is higher and higher; the frequency of the CPU and the memory is continuously increased, so that the chipset, the bus and the peripheral equipment which are required to be matched with the CPU and the memory need to work at higher frequency, and the higher frequency means more electric energy consumption; the fourth aspect is the energy consumption of the cooling and power supply equipment of the room, which must be configured with a large amount of heat dissipation and cooling equipment because the server system is very sensitive to high temperatures, and the power supply equipment of the room loses part of the electrical energy when converting the voltage. Therefore, energy conservation and consumption reduction are becoming key words of server technology and become an important problem influencing server development.
Many existing computer motherboards support an ME (Management Engine) function, and the Management Engine is a technology for enabling or disabling various functions on a computer and configuring a power supply of the computer motherboard, and controls CPU power consumption, memory power consumption, platform power consumption, and the like by debug of the ME.
In the method for PCH ME debug in the prior art, 3pin pins are added in a board, the design is lack of flexibility, and after the machine is assembled, if the function is realized, the board card needs to be disassembled, so that the waste of manpower and material resources is caused, and certain limitation is realized.
Disclosure of Invention
In order to solve the technical problem, the invention provides a device and a method for multiplexing a PCH ME debug and a USB port in a Purley platform server system.
In a first aspect, the present invention provides a PCH ME debug and USB port multiplexing device in a Purley platform server system, including a PCH, an one-out-of-two selector, a USB, and a BMC, wherein the PCH is connected to the one-out-of-two selector, the one-out-of-two selector is connected to the USB, an I2C signal or a USB2.0 signal is transmitted between the PCH and the USB through the one-out-of-two selector, and the BMC is connected to the one-out-of-two selector, and the function of the USB port is controlled by controlling the one-out-of-two selector.
Further, the rate supported by the alternative selector satisfies the USB2.0 and I2C signal requirements.
Further, the BMC controls the function of the USB port by changing the state of the select pin of the alternative selector function.
Further, the one-out-of-two selector is composed of a first one-out-of-two selector MUX1 and a second one-out selector MUX2, an input terminal a of the first one-out-of-two selector MUX1 is connected to the HOST _ I2C _ CLK interface of PCH through an I2C bus to transmit an I2C _ CLK signal, an input terminal B of the first one-out-of-two selector MUX1 is connected to the USB _ DP interface of PCH through a USB universal serial bus to transmit a USB _ DP signal, an input terminal a of the second one-out selector MUX2 is connected to the HOST _ I2C _ DATA interface of PCH through an I2C bus to transmit an I2C _ DATA signal, an input terminal B of the second one-out selector MUX2 is connected to the USB DN interface of PCH through a USB universal serial bus to transmit a USB _ DN signal, control terminals S of the first one-out-of-two selectors 1 and 2 are connected to the GPIO interface of the BMC for receiving a USB select signal and transmitting a USB signal 8536 to the USB select signal to the USB select output terminal Y C, the output Y of the second alternative selector MUX2 passes the I2C _ DATA or USB _ DN signal to USB.
Further, the default function of the device for multiplexing the PCH ME debug and the USB port in the Purley platform server system is USB2.0, and when debug ME is needed, the state of the function selection pin is changed through the BMC, so that signal switching is realized.
In a second aspect, the present invention provides a method for multiplexing PCH ME debug and USB port in a Purley platform server system, which is characterized by comprising the following steps:
SS 1: an alternative selector is added between the PCH and the USB, and an I2C signal or a USB2.0 signal is transmitted between the PCH and the USB through the alternative selector;
SS 2: the BMC controls the function of the USB port by changing the state of the pin selected by the function of the alternative selector.
Further, the rate supported by the alternative selector is to satisfy the requirements of the USB2.0 and I2C signals.
Further, the default function is USB2.0, and when debug ME is needed, the state of the function selection pin is changed by the BMC, so as to implement signal switching.
The method for simply and quickly debug ME provided by the invention can reduce the workload caused by board card disassembly in the later period.
Drawings
Fig. 1 shows a block diagram of an apparatus for PCH ME debug and USB port multiplexing in a Purley platform server system according to the present invention.
Fig. 2 shows a detailed view of the multiplexing device of the present invention.
Fig. 3 shows a logic circuit diagram of an alternative selector of the present invention.
Detailed Description
The technical scheme of the invention is further explained by combining the drawings and the specific embodiments in the specification. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
As used herein, the Intel newly introduced PCH for the Purley platform LBG (Lewiburg) series. Compared with the traditional PCH, the series of PCHs have the advantages that:
1. 16 more sets of PCIE and 8 optional sets of PCIE are interconnected with the CPU to realize the own 10G network function and QAT (Quick Assist Technology);
2. the high-speed IO of the self-body can be flexibly configured, and the control right of the GPIO can be distributed through the ME;
3. itself as CLK GEN, etc.
Intel's LBG PCH has a set of HOST I2C, and the PCH can be configured into MASTER or SLAVE mode through this set of I2C. When the PCH is operating as a SLAVE device, ME FW (firmware) of the PCH may be debugged by an external tool. The I2C signal and the USB2.0 signal are connected to the USB port through an alternative selector, and the signal with the function selection is connected to the BMC to realize that the BMC controls the function of the USB port.
Fig. 1 shows a block diagram of an apparatus for PCH ME debug and USB port multiplexing in a Purley platform server system according to the present invention.
As shown in fig. 1, the apparatus for multiplexing PCH ME debug and USB port in the Purley Platform server system includes a PCH (Platform Controller Hub), an alternative selector, a USB, a BMC (baseboard management Controller), wherein the PCH is connected to the alternative selector, the alternative selector is connected to the USB, an I2C signal or a USB2.0 signal is transmitted between the PCH and the USB through the alternative selector, and the BMC is connected to the alternative selector, and the function of the USB port is controlled by controlling the alternative selector.
According to an embodiment of the present invention, the BMC needs to be able to change the state of the function selection pin.
Fig. 2 shows a detailed view of the multiplexing device of the present invention.
As shown in fig. 2, the one-out-of-two selector is composed of a first one-out-of-two selector MUX1 and a second one-out-of-two selector MUX2, wherein an input terminal a of the first one-out-of-two selector MUX1 is connected to HOST _ I2C _ CLK of PCH through an I2C bus for passing an I2C _ CLK signal, an input terminal B of the first one-out-of-two selector MUX 62 is connected to USB _ DP of PCH through a USB universal serial bus for passing a USB _ DP signal, an input terminal a of the second one-out selector MUX2 is connected to HOST _ I2C _ DATA of PCH through an I2C bus for passing an I2C _ DATA signal, an input terminal B of the second one-out selector MUX2 is connected to USB DN of PCH through a USB universal serial bus for passing a USB _ DN signal, control terminals S of the first one-out-of-two selectors 1 and 2 are connected to GPIO ports for receiving a USB select signal, BMC signal C and a USB select signal for passing a USB signal to a USB select signal 852 for receiving a USB signal, the output Y of the second alternative selector MUX2 passes the I2C _ DATA or USB _ DN signal to USB.
According to one embodiment of the invention, the rate supported by the alternative selector is to satisfy the requirements of the USB2.0 and I2C signals.
The I2C signal and the USB2.0 signal of the ME debug are connected to the external USBport through an alternative selector. The function selection signal of the selector is connected to the BMC, the default function is set to be USB2.0, and when debug ME is needed, the state of the function selection pin is changed through the BMC to achieve signal switching.
Fig. 3 shows a logic circuit diagram of an alternative selector of the present invention.
As shown in fig. 3, the two-out selector includes a not gate, two and gates, and an or gate, where one input end of the first and gate is an input end a of the two-out selector, one input end of the second and gate is an input end b of the two-out selector, the other input end of the second and gate is a control end s of the two-out selector, an input end of the not gate is connected to the control end s of the two-out selector, an output end of the not gate is connected to the other input end of the first and gate, output ends of the first and gate and the second and gate are respectively connected to two input ends of the or gate, and an output end of the or gate is an output end y of the two-out selector.
The logical expression of the alternative data selector is as follows:
Figure BDA0001276330600000062
the truth table listed by the logic expression is as follows
Figure BDA0001276330600000061
Figure BDA0001276330600000071
The invention also provides a method for multiplexing the PCH ME debug and the USB port in the Purley platform server system, which comprises the following steps:
SS 1: an alternative selector is added between the PCH and the USB, and an I2C signal or a USB2.0 signal is transmitted between the PCH and the USB through the alternative selector;
SS 2: the BMC controls the function of the USB port by changing the state of the pin selected by the function of the alternative selector.
According to one embodiment of the invention, the rate supported by the alternative selector is to satisfy the requirements of the USB2.0 and I2C signals.
According to an embodiment of the invention, the default function is USB2.0, and when debug ME is needed, the BMC changes the state of the function selection pin to implement signal switching.
According to the scheme provided by the invention, the external USB port function is fully utilized, and meanwhile, the ME debug function can be quickly and simply realized after the machine assembly is completed in the later period.
In addition, the invention has the following advantages:
1) making full use of the functionality of the USB port.
2) The flexibility of the debug is improved, and the debug can be realized without disassembly after the machine is assembled.
3) The manpower and material resources waste caused by the board card when the machine is disassembled by the debug in the later period is reduced.
Although some aspects have been described in the context of an apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or device corresponds to a method step or a feature of a method step. Similarly, aspects described in the context of a method step also represent a description of a corresponding block or item or a feature of a corresponding apparatus. Some or all of the method steps may be performed by (or using) hardware means, such as a microprocessor, programmable computer, or electronic circuitry. One or more of the most important method steps may be performed by such means.
The implementation can be performed in hardware or in software or using a digital storage medium, e.g. a floppy disk, a DVD, a blu-ray, a CD, a ROM, a PROM, an EPROM, an EEPROM, or a flash memory, having electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable computer system such that the respective method is performed. A data carrier may be provided with electronically readable control signals capable of cooperating with a programmable computer system such that the method described herein is performed.
The described implementations may also take the form of a computer program product with program code means for performing the method when the computer program product runs on a computer. The program code may be stored on a machine readable carrier.
The foregoing description is illustrative only, and it is to be understood that modifications and variations in the arrangements and details described herein will be apparent to those skilled in the art. It is therefore intended that the scope of the appended claims be limited only by the specific details presented by way of the foregoing description and explanation.

Claims (7)

1. A device for multiplexing a PCH ME debug and a USB port in a Purley platform server system is characterized by comprising a PCH, an alternative selector, a USB and a BMC, wherein the PCH is connected with the alternative selector, the alternative selector is connected with the USB, an I2C signal or a USB2.0 signal is transmitted between the PCH and the USB through the alternative selector, the BMC is connected with the alternative selector, and the function of the USB port is controlled by controlling the alternative selector;
wherein: the one-out-of-two selector comprises a first one-out-of-two selector MUX1 and a second one-out selector MUX2, an input terminal A of the first one-out-of-two selector MUX1 is connected to a HOST _ I2C _ CLK interface of PCH through an I2C bus to transmit an I2C _ CLK signal, an input terminal B of the first one-out-of-two selector MUX1 is connected to a USB _ DP interface of PCH through a USB universal serial bus to transmit a USB _ DP signal, an input terminal A of the second one-out selector MUX2 is connected to a HOST _ I2C _ DATA interface of PCH through an I2C bus to transmit an I2C _ DATA signal, an input terminal B of the second one-out-of two selectors MUX2 is connected to a USB _ DN interface of PCH through a USB universal serial bus to transmit a USB _ DN signal, control terminals S of the first one-out-of-two selectors MUX1 and the second one of two-out-of two selectors MUX 6345 are respectively connected to a GPIO interface of GPIO, a BMC select MUX C to transmit a USB _ DP or a USB select signal, the output Y of the second alternative selector MUX2 passes the I2C _ DATA or USB _ DN signal to USB.
2. The apparatus for PCH ME debug and USB port multiplexing in a Purley platform server system according to claim 1, wherein: the rate supported by the alternative selector meets the USB2.0 and I2C signal requirements.
3. The apparatus of claim 2 for PCH ME debug and USB port multiplexing in a Purley platform server system, wherein: the BMC controls the function of the USB port by changing the state of the pin selected by the function of the alternative selector.
4. The apparatus for PCH ME debug and USB port multiplexing in a Purley platform server system according to claim 3, wherein: the default function of the device for multiplexing the PCH ME debug and the USB port in the Purley platform server system is USB2.0, and when the debug ME is needed, the state of the function selection pin is changed through the BMC to realize signal switching.
5. A PCH ME debug and USB port multiplexing method in a Purley platform server system is characterized by comprising the following steps:
SS 1: an alternative selector is added between the PCH and the USB, and an I2C signal or a USB2.0 signal is transmitted between the PCH and the USB through the alternative selector; the one-out-of-two selector comprises a first one-out-of-two selector MUX1 and a second one-out selector MUX2, an input terminal A of the first one-out-of-two selector MUX1 is connected to a HOST _ I2C _ CLK interface of PCH through an I2C bus to transmit an I2C _ CLK signal, an input terminal B of the first one-out-of-two selector MUX1 is connected to a USB _ DP interface of PCH through a USB universal serial bus to transmit a USB _ DP signal, an input terminal A of the second one-out selector MUX2 is connected to a HOST _ I2C _ DATA interface of PCH through an I2C bus to transmit an I2C _ DATA signal, an input terminal B of the second one-out-of two selectors MUX2 is connected to a USB _ DN interface of PCH through a USB universal serial bus to transmit a USB _ DN signal, control terminals S of the first one-out-of-two selectors MUX1 and the second one of two-out-of two selectors MUX 6345 are respectively connected to a GPIO interface of GPIO, a BMC select MUX C to transmit a USB _ DP or a USB select signal, the output Y of the second alternative selector MUX2 passes the I2C _ DATA or USB _ DN signal to USB;
SS 2: the BMC controls the function of the USB port by changing the state of the pin selected by the function of the alternative selector.
6. The method for PCH ME debug and USBport multiplexing in Purley platform server system according to claim 5, wherein: the rate supported by the alternative selector is to meet the requirements of the USB2.0 and I2C signals.
7. The method for PCH ME debug and USB port multiplexing in a Purley platform server system according to claim 5, wherein: the default function is USB2.0, and when debug ME is needed, the state of the function selection pin is changed through BMC to realize signal switching.
CN201710267074.5A 2017-04-21 2017-04-21 Device and method for multiplexing PCH MEdebug and USB port Active CN107145213B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710267074.5A CN107145213B (en) 2017-04-21 2017-04-21 Device and method for multiplexing PCH MEdebug and USB port

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710267074.5A CN107145213B (en) 2017-04-21 2017-04-21 Device and method for multiplexing PCH MEdebug and USB port

Publications (2)

Publication Number Publication Date
CN107145213A CN107145213A (en) 2017-09-08
CN107145213B true CN107145213B (en) 2020-05-19

Family

ID=59774385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710267074.5A Active CN107145213B (en) 2017-04-21 2017-04-21 Device and method for multiplexing PCH MEdebug and USB port

Country Status (1)

Country Link
CN (1) CN107145213B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108874700B (en) * 2018-06-01 2021-07-16 联想(北京)有限公司 Electronic device
CN113778924B (en) * 2021-09-03 2024-03-15 深圳市同泰怡信息技术有限公司 Computer large-scale debugging method, system and equipment based on baseboard management controller

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202111352U (en) * 2011-06-10 2012-01-11 深圳市博亚时代科技有限公司 Multiplexing circuit of Micro USB connector
CN102855146A (en) * 2011-06-30 2013-01-02 鸿富锦精密工业(深圳)有限公司 Firmware updating system and method
CN103593317A (en) * 2013-11-25 2014-02-19 浪潮电子信息产业股份有限公司 USB switching method based on NUMA computer architecture
CN203522740U (en) * 2013-09-22 2014-04-02 武汉恒泰通技术有限公司 Optical module aging system supporting on-line detection
CN204576500U (en) * 2015-03-26 2015-08-19 广东欧珀移动通信有限公司 A kind of usb communication circuit of compatible I2C communication and system
CN106201929A (en) * 2016-07-22 2016-12-07 恒宝股份有限公司 A kind of USB interface multiplex circuit and using method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7624222B2 (en) * 2006-10-06 2009-11-24 International Business Machines Corporation South bridge system and method
US9704355B2 (en) * 2014-10-29 2017-07-11 Clover Network, Inc. Secure point of sale terminal and associated methods

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202111352U (en) * 2011-06-10 2012-01-11 深圳市博亚时代科技有限公司 Multiplexing circuit of Micro USB connector
CN102855146A (en) * 2011-06-30 2013-01-02 鸿富锦精密工业(深圳)有限公司 Firmware updating system and method
CN203522740U (en) * 2013-09-22 2014-04-02 武汉恒泰通技术有限公司 Optical module aging system supporting on-line detection
CN103593317A (en) * 2013-11-25 2014-02-19 浪潮电子信息产业股份有限公司 USB switching method based on NUMA computer architecture
CN204576500U (en) * 2015-03-26 2015-08-19 广东欧珀移动通信有限公司 A kind of usb communication circuit of compatible I2C communication and system
CN106201929A (en) * 2016-07-22 2016-12-07 恒宝股份有限公司 A kind of USB interface multiplex circuit and using method

Also Published As

Publication number Publication date
CN107145213A (en) 2017-09-08

Similar Documents

Publication Publication Date Title
CN103870429B (en) Based on the igh-speed wire-rod production line plate of embedded gpu
CN108090006A (en) A kind of method of one key switching PCIE Switch operating modes
CN107145213B (en) Device and method for multiplexing PCH MEdebug and USB port
CN109033009B (en) Circuit board and system supporting universal and cabinet type servers
CN110399328B (en) Control method and device for board-mounted graphics processor
CN107070548A (en) A kind of device and method for automatically adjusting QSFP+ optical module power grades
CN109116934B (en) Extensible combined server storage backplane
CN108897710B (en) System for automatically switching system management bus
CN104115138A (en) Electrically configurable option board interface
CN110554881A (en) Switching chip working mode remote switching system and method based on CPLD
CN113626359A (en) Signal switching device and method for flash memory chip of server
CN110107523B (en) Fan control board card based on DSP coprocessing
CN112667556A (en) GPU server and image processing system
CN112069121A (en) MCU control GPU server Switch board system and control method
CN114020669B (en) CPLD-based I2C link system and server
CN113568847B (en) Network card and processor interconnection device and server
CN115858426A (en) Hard disk interface, hard disk and electronic equipment
CN213365511U (en) Mainboard and server
WO2020018094A1 (en) Selectively enabling power lines to usb ports
CN211375594U (en) Interface extension mechanism based on SW421 treater
CN115422110B (en) Port configuration method of electronic equipment and PCIE Switch chip
CN112433971A (en) Structure, method and medium for realizing processor self-adaptive SATA and NVME M.2
CN104008083A (en) USB interface expansion circuit achieving data interaction among multiple devices
CN111240725A (en) DSP firmware loading circuit and method and optical module
CN104914970A (en) Powering-on and powering-off device and method for PCIE slots and main board

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200421

Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Address before: 510000 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yunlu 9 layer A tower by 01 unit

Applicant before: GUANGDONG INSPUR BIG DATA RESEARCH Co.,Ltd.

GR01 Patent grant
GR01 Patent grant