CN109726159B - 连接模块 - Google Patents

连接模块 Download PDF

Info

Publication number
CN109726159B
CN109726159B CN201711181884.5A CN201711181884A CN109726159B CN 109726159 B CN109726159 B CN 109726159B CN 201711181884 A CN201711181884 A CN 201711181884A CN 109726159 B CN109726159 B CN 109726159B
Authority
CN
China
Prior art keywords
server system
communication unit
acceleration
connection module
acceleration device
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
CN201711181884.5A
Other languages
English (en)
Other versions
CN109726159A (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.)
Wistron Corp
Original Assignee
Wistron Corp
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 Wistron Corp filed Critical Wistron Corp
Publication of CN109726159A publication Critical patent/CN109726159A/zh
Application granted granted Critical
Publication of CN109726159B publication Critical patent/CN109726159B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multi Processors (AREA)
  • Power Sources (AREA)
  • Advance Control (AREA)

Abstract

连接模块,用来连接加速装置与第一服务器系统或第二服务器系统,以传递数字信号,包含第一通信单元,用来连接该加速装置及该第一服务器系统,以传递该数字信号;第二通信单元,用来连接该加速装置及该第二服务器系统,以传递该数字信号;以及处理单元,耦接于该第一通信单元及该第二通信单元,用来在该第一通信单元连接该加速装置及该第一服务器系统时,通过该第一通信单元指示该加速装置的至少一连接器互相耦接,或者在该第二通信单元连接该加速装置及该第二服务器系统时,指示该第二通信单元与该加速装置的该至少一连接器互相连接。

Description

连接模块
技术领域
本发明涉及一种连接模块,尤其涉及一种可将加速装置连接于不同处理器架构的服务器系统的连接模块。
背景技术
随着人工智能(Artificial Intelligence,AI)、大数据、云端运算等技术的发展,高速的服务器系统运算已经成为业界重要的处理器发展目标之一。为了达到高速的服务器运算速度,利用绘图处理器(Graphics Processing Unit,GPU)来外接于服务器系统,以进行加速运算已成为最有效的加速手段之一。值得注意的是,在已知技术中,服务器系统会因为不同信号的传输标准而有不同的信号传输速率以及不同的硬件连接装置,而加速装置仅能选择性地根据其支持的硬件连接装置,与相对应的服务器系统进行连接。
进一步来说,服务器系统大致可分为x86处理器架构及威力芯片(PowerPC)处理器架构,其在信号的通信协议、连接的硬件装置以及信号的传输速率皆有所不同。x86处理器架构的服务器系统通过快捷外设互联标准(PCI Express,PCI-e)来进行信号的传递,而威力芯片处理器架构的服务器系统通过NVLink传输标准来进行信号的传递。由于x86处理器架构与威力芯片处理器连接的硬件装置不同,加速装置仅能选择性地装置快捷外设互联标准的连接装置或是NVLink传输标准的连接装置。因此,在不同传输标准以及不同连接硬件装置的情况下,加速装置无法连接于不同处理器架构下的服务器系统,而为了提升加速装置在不同处理器架构下服务器系统的系统相容性,现有技术实有改善的必要。
发明内容
因此,本发明主要目的即在于提供一种可将加速装置连接于不同处理器架构的服务器系统的连接模块,以提升加速装置在不同服务器系统下的系统相容性
本发明公开一种连接模块,用来连接一加速装置与一第一服务器系统或一第二服务器系统,以传递一数字信号,包含有一第一通信单元,用来连接该加速装置以及该第一服务器系统,以传递该数字信号;一第二通信单元,用来连接该加速装置以及该第二服务器系统,以传递该数字信号;以及一处理单元,耦接于该第一通信单元及该第二通信单元,用来在该第一通信单元连接该加速装置以及该第一服务器系统时,通过该第一通信单元指示该加速装置的至少一连接器互相耦接,或者在该第二通信单元连接该加速装置以及该第二服务器系统时,指示该第二通信单元与该加速装置的该至少一连接器互相连接。
附图说明
图1为本发明实施例一连接模块的示意图。
图2为图1的连接模块连接于一加速装置以及一第一服务器系统的示意图。
图3为图1的连接模块连接于一加速装置以及一第二服务器系统的示意图。
图4为本发明实施例一连接系统的示意图。
【符号说明】
10、CNx_1~CNx_N 连接模块
12、AC_1~AC_N 加速装置
14、16、44、46 服务器系统
100 第一通信单元
102 第二通信单元
104、404 处理单元
120 图形处理单元
122 交换器
124、126 连接器
140 第一接口装置
142 x86处理器
160 第二接口装置
162 威力芯片处理器
40 连接系统
42 加速系统
CPUx_1~CPUx_N 第一服务器子系统
CPUp_1~CPUp_N 第二服务器子系统
具体实施方式
一般来说,加速装置可利用外接的方式连接于服务器系统来进行加速运算,且依据服务器系统的种类不同,加速装置需根据依据信号传输标准或连接方式以连接服务器系统。因此,由于连接方式的限制,已知的加速装置仅能连接于特定信号传输标准的服务器系统,无法与其他不同信号传输标准的服务器系统连接。在此情形下,本发明提供一种连接模块,其可将加速装置连接于不同处理器架构的服务器系统,以提升加速装置在不同服务器系统下的系统相容性。
请参考图1,图1为本发明实施例一连接模块10的示意图。连接模块10可连接于一加速装置12及一第一服务器系统14或一第二服务器系统16。值得注意的是,第一服务器系统14以及第二服务器系统16为不同处理器架构下的服务器系统,其具有不同的信号传输标以及信号传输的硬件装置,而加速装置12可通过连接模块10接收第一服务器系统14或第二服务器系统16所传送的数字信号,进行加速运算后经由连接模块10将运算结果传递回第一服务器系统14或第二服务器系统16,以达到加速运算的功能。
连接模块10包含有一第一通信单元100、一第二通信单元102及一处理单元104。第一通信单元100用来连接第一服务器系统14,而第二通信单元102用来连接第二服务器系统16。在此实施例中,第一服务器系统14为x86处理器架构的服务器系统,因此第一服务器系统14及第一通信单元100可用来传递快捷外设互联标准(PCI Express,PCI-e)的信号。第二服务器系统16为一威力芯片处理器架构的服务器系统,因此第二服务器系统16及第二通信单元102用来传输NVLink传输标准的信号。其中,快捷外设互联标准通过单一信号路径来传递,因此,第一通信单位100可与加速装置12以及第一服务器系统14通过单一连接口的方式以传递数字信号。NVLink传输标准通过双连接口的方式以传递数字信号,第二通信单元102可与加速装置12以及第二服务器系统16通过双连接口的方式以传递数字信号。在此情形下,处理单元104耦接于第一通信单元100以及第二通信单元102,用来在第一通信单元100连接加速装置12及第一服务器系统14时,通过第一通信单元100指示加速装置12进行相对应于快捷外设互联标准的连接方式,或者在第二通信单元102连接加速装置12及第二服务器系统16时,通过第二通信单元102指示加速装置12进行相对应于NVLink传输标准的连接方式,使加速装置12可相容于快捷外设互联标准或NVLink传输标准。
换句话说,本发明的连接模块10可耦接于加速装置12以及第一服务器系统14或第二服务器系统16之间,可将加速装置12连接于不同处理器架构的服务器系统,使加速装置12整合于不同服务器系统且提升系统相容性。
详细来说,请参考图2,图2为本发明实施例连接模块10连接于加速装置12以及第一服务器系统14的示意图。在此实施例中,第一服务器系统14为x86处理器架构的服务器系统,因此,第一服务器系统14通过快捷外设互联标准的方式接收或传递数字信号。详细来说,如图2所示,第一服务器系统14包含有一第一接口装置140及一x86处理器142。x86处理器142用来进行服务器系统14的运算处理,且产生数字信号至加速装置12以进行加速运算。第一接口装置140通过快捷外设互联标准,将x86处理器142产生的数字信号由x86处理器142经由连接模块10传递至加速装置12,并经由连接模块10接收加速装置12的运算结果。加速装置12包含有多个图形处理单元120、一交换器122、连接器124及连接器126。图形处理单元120用来接收数字信号并进行加速运算以产生运算结果。图形处理单元120之间通过NVLink传输标准互相连接,通过图形处理单元120之间的耦接关系可提升加速装置12的运算速度。交换器122耦接于图形处理单元120,用来通过快捷外设互联标准以传递数字信号至图形处理单元120或接收图形处理单元120输出的数字信号。连接器124及连接器126耦接于图形处理单元120,用来通过NVLink传输标准传递数字信号至图形处理单元120或接收图形处理单元120输出的数字信号。
详细来说,在连接模块10连接于加速装置12以及第一服务器系统14时,可通过快捷外设互联标准以进行数字信号的传递。因此,通过第一服务器系统14的第一接口装置140、连接模块10的第一通信单元100以及加速装置的交换器122可形成一信号路径,用来传递快捷外设互联标准的数字信号。此外,处理单元104在第一通信单元100连接加速装置12及第一服务器系统14时,可通过第一通信单元100来指示加速装置12的连接器124及连接器126,使连接器124及连接器126互相耦接,产生相对应于快捷外设互联标准的连接方式,因此,加速装置12通过连接模块10连接于第一服务器系统14时,连接器124及连接器126可互相耦接而形成信号传递路径以传递加速装置12的运算结果。也就是说,当连接模块10连接于加速装置12及x86处理器架构的第一服务器系统14时,连接模块10可藉由第一通信单元100传递快捷外设互联标准的数字信号至加速装置12以及第一服务器系统14,且藉由处理单元104产生相对应的连接方式,使第一服务器系统14可通过加速装置12进行数字信号的加速运算。
除此之外,请参考图3,图3为本发明实施例连接模块10连接于加速装置12以及第二服务器系统16的示意图。值得注意的是,在此实施例中,第二服务器系统16为威力芯片处理器架构的服务器系统,因此第二服务器系统16通过快捷外设互联标准以接收或传递数字信号。详细来说,如图3所示,第二服务器系统16包含有一第二接口装置160及一威力芯片处理器162。威力芯片处理器162用来进行服务器系统16的运算处理,且产生数字信号传递至加速装置12以进行加速运算。第二接口装置160通过NVLink传输标准,经由连接模块10将威力芯片处理器162产生的数字信号传递至加速装置12,并经由连接模块接收加速装置12的运算结果。
详细来说,在连接模块10连接于加速装置12以及第二服务器系统16时,可通过快捷外设互联标准以及NVLink传输标准以进行数字信号的传递。其中,藉由服务器系统16的第二接口装置160、连接模块10的第二通信单元102以及加速装置的交接器122可形成一第一信号路径,用来传递快捷外设互联标准的数字信号。此外,藉由服务器系统16的第二接口装置160、连接模块10的第二通信单元102、加速装置的连接器124及连接器126可形成一第二信号路径,用来传递NVLink传输标准的数字信号。因此,处理单元104在第二通信单元102连接加速装置12及第二服务器系统16时,可通过第二通信单元102来指示加速装置12的连接器124及连接器126,使连接器124及连接器126耦接于第二通信单元102,产生相对应于NVLink传输标准的连接方式,因此,加速装置12连接于第二服务器系统16时,通过连接器124、连接器126、第二通信单元102及第二接口装置160相连接形成的第二信号路径可以符合NVLink传输标准,以传递加速装置12的运算结果。由于第一路径及第二路径通过不同的传输标准进行数字信号的传递,因此,第二通信单元102可比较第一信号路径以及第二信号路径的传输速率,由两者之间选择传输速率较快速的信号路径以进行数字信号的传递,以提升系统的传输速度。也就是说,当连接模块10连接于威力芯片处理器架构的第二服务器系统16时,连接模块10可藉由第二通信单元102产生第一信号路径以传递快捷外设互联标准的数字信号,且产生第二信号路径以传递NVLink传输标准的数字信号,使加速装置12以及第二服务器系统16可藉由第一信号路径及第二信号路径相连接,并藉由第二通信单元102选择较快速的信号路径进行传输,以提升第二服务器系统16的信号传输速率。
需注意的是,连接模块10为本发明实施例,本领域技术人员当可据以做不同的修饰,而不以此为限。举例来说,连接模块10的数量可视服务器系统的架构而适当调整模块的数量。举例来说,请参考图4。图4为本发明实施例一连接系统40的示意图。连接系统40可将一加速系统42连接于一第一服务器系统44或一第二服务器系统46。连接系统40由连接模块10所衍生,故相同元件采相同符号表示,以求简洁。连接系统40适用于多核架构,也就是说,第一服务器系统44及第二服务器系统46皆为多内核处理器系统。详细而言,第一服务器系统44包含有N个第一服务器子系统CPUx_1~CPUx_N,而每一第一服务器子系统CPUx_1~CPUx_N即为图1的第一服务器系统14,分别包含有第一接口装置140及x86处理器142。同样地,第二服务器系统46包含有N个第二服务器子系统CPUp_1~CPUp_N,而每一第二服务器子系统CPUp_1~CPUp_N即为图1的第二服务器系统16,分别包含有第二接口装置160及威力芯片处理器162。因此,相对应于处理器的数量,连接系统40包含有N个连接模块CNx_1~CNx_N,每一连接模块CNx_1~CNx_N由第一通信单元100及第二通信单元102所组成,藉由连接系统40中的N个连接模块CNx_1~CNx_N可将第一服务器系统44或第二服务器系统46产生的数字信号传递至加速系统42中的N个加速装置AC_1~AC_N。因此,藉由本发明的连接系统40,加速系统42可连接于第一服务器系统44或第二服务器系统46,使加速系统42相容于多内核处理器以进行加速运算。
除此之外,如图4所示,连接系统40藉由单一处理单元404,统合连接模块CNx_1~CNx_N的运作,其耦接于N个第一通信单元100以及N个第二通信单元102,通过第一通信单元100或第二通信单元102以指示加速系统42中的连接器124产生相对应于信号传输标准的耦接关系,以使加速系统42相容于第一服务器系统44或第二服务器系统46。然而,不限于此,连接系统40也可如图1的连接模块10而采用多个处理单元分别处理各连接模块的运作,亦属本发明的范围。
在现有技术中,外接的加速装置仅能根据信号的传输标准选择性的相容于单一的服务器系统。加速装置无法相容于不同信号传输标准的服务器系统。相较之下,本发明的连接模块可将加速装置连接于不同处理器架构的服务器系统,提升加速装置的系统相容性。
以上所述仅为本发明的优选实施例,凡依本发明权利要求书所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (8)

1.一种连接模块,用来连接加速装置与第一服务器系统或第二服务器系统,以传递数字信号,包含有:
第一通信单元,用来连接该加速装置以及该第一服务器系统,以传递该数字信号;
第二通信单元,用来连接该加速装置以及该第二服务器系统,以传递该数字信号;以及
处理单元,耦接于该第一通信单元及该第二通信单元,用来在该第一通信单元连接该加速装置以及该第一服务器系统时,通过该第一通信单元指示该加速装置的至少一连接器与该加速装置的至少另一连接器互相耦接,或者在该第二通信单元连接该加速装置以及该第二服务器系统时,指示该第二通信单元与该加速装置的该至少一连接器互相连接,
其中,该第一服务器系统与该第二服务器系统为不同的处理架构以及不同的传输标准。
2.如权利要求1所述的连接模块,其中该第一服务器系统为x86处理器架构的服务器系统。
3.如权利要求2所述的连接模块,其中该第一通信单元通过快捷外设互联标准(PCIExpress,PCI-e),以传递该数字信号至该加速装置以及该第一服务器系统。
4.如权利要求2所述的连接模块,其中该第一通信单元连接该加速装置的交换器以及该第一服务器系统,以在该加速装置及该第一服务器系统间交换该数字信号。
5.如权利要求1所述的连接模块,其中该第二服务器系统为威力芯片(PowerPC)处理器架构的服务器系统。
6.如权利要求5所述的连接模块,其中该第二通信单元通过快捷外设互联标准(PCIExpress,PCI-e)连接该加速装置的交换器以及该第二服务器系统以产生第一信号路径,且通过NVLink传输标准连接该加速装置的该至少一连接器以及该第二服务器系统,以产生第二信号路径。
7.如权利要求6所述的连接模块,其中该第二通信单元还用来比较该第一信号路径的传输速率以及该第二信号路径的传输速率,并由该第一信号路径及该第二信号路径中选择传输速率较快速的信号路径以进行该数字信号的传递。
8.如权利要求1所述的连接模块,其中该第一服务器系统或该第二服务器系统通过该连接模块,将该数字信号传递至该加速装置,以产生运算结果并传递至该第一服务器系统或该第二服务器系统。
CN201711181884.5A 2017-10-30 2017-11-23 连接模块 Active CN109726159B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW106137396 2017-10-30
TW106137396A TWI658365B (zh) 2017-10-30 2017-10-30 連接模組

Publications (2)

Publication Number Publication Date
CN109726159A CN109726159A (zh) 2019-05-07
CN109726159B true CN109726159B (zh) 2020-12-04

Family

ID=66244459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711181884.5A Active CN109726159B (zh) 2017-10-30 2017-11-23 连接模块

Country Status (3)

Country Link
US (1) US20190132184A1 (zh)
CN (1) CN109726159B (zh)
TW (1) TWI658365B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103034668A (zh) * 2011-09-30 2013-04-10 广达电脑股份有限公司 事故信息整合及管理系统及其事故信息整合及管理方法
CN103853686A (zh) * 2012-11-30 2014-06-11 英业达科技有限公司 服务器
CN104050007A (zh) * 2013-03-15 2014-09-17 英特尔公司 基于qos的二进制翻译和应用流送
CN104657317A (zh) * 2015-03-06 2015-05-27 北京百度网讯科技有限公司 服务器
CN105094243A (zh) * 2015-07-21 2015-11-25 浪潮电子信息产业股份有限公司 一种gpu节点以及服务器系统
CN106951926A (zh) * 2017-03-29 2017-07-14 山东英特力数据技术有限公司 一种混合架构的深度学习系统方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914805B2 (en) * 2010-08-31 2014-12-16 International Business Machines Corporation Rescheduling workload in a hybrid computing environment
US8996781B2 (en) * 2012-11-06 2015-03-31 OCZ Storage Solutions Inc. Integrated storage/processing devices, systems and methods for performing big data analytics
DE112013005689T5 (de) * 2012-11-28 2015-09-10 Nvidia Corporation Tragbare Spielekonsole
CN104182372A (zh) * 2013-05-22 2014-12-03 英业达科技有限公司 数据烧录装置
US9916185B2 (en) * 2014-03-18 2018-03-13 International Business Machines Corporation Managing processing associated with selected architectural facilities
US20160292115A1 (en) * 2015-03-30 2016-10-06 Integrated Device Technology, Inc. Methods and Apparatus for IO, Processing and Memory Bandwidth Optimization for Analytics Systems
US10110679B2 (en) * 2015-06-02 2018-10-23 National Instruments Corporation Timed functions for distributed decentralized real time systems
CN105117170A (zh) * 2015-08-24 2015-12-02 浪潮(北京)电子信息产业有限公司 一种计算机系统架构
CN106292911A (zh) * 2016-08-04 2017-01-04 浪潮(北京)电子信息产业有限公司 一种融合架构服务器
US10896064B2 (en) * 2017-03-27 2021-01-19 International Business Machines Corporation Coordinated, topology-aware CPU-GPU-memory scheduling for containerized workloads
US11178063B2 (en) * 2017-06-30 2021-11-16 Intel Corporation Remote hardware acceleration

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103034668A (zh) * 2011-09-30 2013-04-10 广达电脑股份有限公司 事故信息整合及管理系统及其事故信息整合及管理方法
CN103853686A (zh) * 2012-11-30 2014-06-11 英业达科技有限公司 服务器
CN104050007A (zh) * 2013-03-15 2014-09-17 英特尔公司 基于qos的二进制翻译和应用流送
CN104657317A (zh) * 2015-03-06 2015-05-27 北京百度网讯科技有限公司 服务器
CN105094243A (zh) * 2015-07-21 2015-11-25 浪潮电子信息产业股份有限公司 一种gpu节点以及服务器系统
CN106951926A (zh) * 2017-03-29 2017-07-14 山东英特力数据技术有限公司 一种混合架构的深度学习系统方法及装置

Also Published As

Publication number Publication date
CN109726159A (zh) 2019-05-07
TWI658365B (zh) 2019-05-01
TW201917592A (zh) 2019-05-01
US20190132184A1 (en) 2019-05-02

Similar Documents

Publication Publication Date Title
US20210182236A1 (en) Peripheral module validation for modular digital optical gunsight systems
CN109739786B (zh) 一种dma控制器和异构加速系统
CN111901164B (zh) Ocp nic网卡的适配控制方法、装置、设备及系统
US9760525B2 (en) Sideband signal consolidation fanout using a clock generator chip
US20150372707A1 (en) Millimeter wave wireless communication between computing system and docking station
US20220114132A1 (en) Data Switch Chip and Server
CN109726159B (zh) 连接模块
US10186010B2 (en) Electronic device and graphics processing unit card
CN108632577A (zh) 一种图像传输系统
CN110740085B (zh) 一种基于并机系统的通信方法、通信装置及终端
US8954623B2 (en) Universal Serial Bus devices supporting super speed and non-super speed connections for communication with a host device and methods using the same
CN105608030A (zh) 一种电子设备及通信系统
CN111274193A (zh) 数据处理装置及方法
WO2022188658A1 (zh) Usb接口的复用方法、电路、电子设备和存储介质
CN210955055U (zh) 一种基于飞腾的显控计算机主板架构
CN108199784A (zh) 多功能综合航电测试系统
US20190205279A1 (en) Interposer for peripheral component interconnect express generation 4
CN106713784B (zh) 一种视频矩阵输入设备、输出设备及级联系统
US20210303496A1 (en) Actuation of data transmission lanes between states
US20180167495A1 (en) Server system
CN217008204U (zh) 基于龙芯双系统平台的主控板
CN113032317B (zh) 一种基于服务器pcie信号扩展的方法及设备
CN210515372U (zh) 高速图像处理线路盒
TWI768785B (zh) 通用序列匯流排介面電路
WO2024103015A1 (en) Retimer training and status state machine synchronization across multiple integrated circuit dies

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
GR01 Patent grant
GR01 Patent grant