CN102523071A - 数据传输方法及装置 - Google Patents

数据传输方法及装置 Download PDF

Info

Publication number
CN102523071A
CN102523071A CN2011104012108A CN201110401210A CN102523071A CN 102523071 A CN102523071 A CN 102523071A CN 2011104012108 A CN2011104012108 A CN 2011104012108A CN 201110401210 A CN201110401210 A CN 201110401210A CN 102523071 A CN102523071 A CN 102523071A
Authority
CN
China
Prior art keywords
bus
idle
inversion code
low
data
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
CN2011104012108A
Other languages
English (en)
Other versions
CN102523071B (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
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201110401210.8A priority Critical patent/CN102523071B/zh
Publication of CN102523071A publication Critical patent/CN102523071A/zh
Application granted granted Critical
Publication of CN102523071B publication Critical patent/CN102523071B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)
  • Bus Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种数据传输方法及装置,属于通信领域。所述方法包括:判断总线是否处于空闲状态;如果判断总线处于空闲状态,则关闭预加重,并发送低反转码。本发明通过在总线空闲时采用关闭预加重、发送低反转码的措施,可以达到降低链路功耗,节能减排的效果;且由于在总线空闲时仍然发送数据,不仅可以保持链路同步,还可以应付突发的数据传输,从而满足实时传输数据的需求。

Description

数据传输方法及装置
技术领域
本发明涉及通信领域,特别涉及一种数据传输方法及装置。
背景技术
随着通信技术的日益发展,数据传输的应用越来越广泛。为了支持较长的发送距离,抵抗链路衰减带来的码间干扰,在进行数据传输时,通常采用预加重/差分驱动等技术发送业务数据。且为了保证数据传输时的链路同步,发送串行数据时,需要符合0、1平衡和翻转间隔可控这两个要求。因此,当传输数据的总线处于空闲状态时,在不关闭链路的情况下,仍然需要在链路上发送空闲IDLE码以保证链路同步,但这样链路功耗较高,不利于节能减排。
为了减少数据传输时的链路功耗,现有技术在进行数据传输时,通常在数据接收端增加SD(Signal Detect,信号检测)模块,当总线完全空闲时,控制发送端关闭,接收端的SD模块检测不到数据,输出“没有信号”的指示,根据该指示控制接收端关闭,实现节能减排。
在实现本发明的过程中,发明人发现现有技术至少存在以下缺点:
现有技术在总线完全空闲时控制关闭发送端及接收端,从而降低链路功耗,而关闭发送端及接收端将带来总线重新启动的问题。当总线重新启动时,数据传输需要重新恢复出时钟,才能恢复链路同步,这样导致总线在一定时间内无法传输数据,因而不能应付突发的数据传输,无法满足实时传输数据的需求。
发明内容
为了在降低链路功耗的同时,满足实时传输数据的需求,本发明实施例提供了一种数据传输方法及装置。所述技术方案如下:
一方面,提供了一种数据传输方法,所述方法包括:
判断总线是否处于空闲状态;
如果判断总线处于空闲状态,则关闭预加重,并发送低反转码。
另一方面,还提供了一种数据传输装置,所述装置包括:
判断模块,用于判断总线是否处于空闲状态;
节能模块,用于所述判断模块判断总线处于空闲状态时,关闭预加重,并发送低反转码。
本发明实施例提供的技术方案的有益效果是:
通过在总线空闲时采用关闭预加重、发送低反转码的措施,可以达到降低链路功耗,节能减排的效果;且由于在总线空闲时仍然发送数据,不仅可以保持链路同步,还可以应付突发的数据传输,从而满足实时传输数据的需求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种数据传输方法流程图;
图2是本发明实施例二提供的一种数据传输方法流程图;
图3是本发明实施例二提供的一种数据传输系统的结构示意图;
图4是本发明实施例二提供的另一种数据传输系统的结构示意图;
图5是本发明实施例三提供的一种数据传输方法流程图;
图6是本发明实施例三提供的一种数据传输系统的结构示意图;
图7是本发明实施例三提供的另一种数据传输系统的结构示意图;
图8是本发明实施例四提供的一种数据传输装置的结构图;
图9是本发明实施例四提供的另一种数据传输装置的结构图;
图10是本发明实施例四提供的又一种数据传输装置的结构图;
图11是本发明实施例四提供的再一种数据传输装置的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
参见图1,本实施例提供了一种数据传输方法,该方法流程具体如下:
101:判断总线是否处于空闲状态,如果是,执行步骤102。
102:关闭预加重,并发送低反转码。
其中,低反转码为低反转空闲IDLE码或编码后的低反转码;
发送低反转码,具体包括:
采用节能驱动强度发送低反转IDLE码或编码后的低反转码。
具体地,发送编码后的低反转码时,还包括:
发送总线命令,总线命令用于通知对端编码后的低反转码无效。
进一步地,发送低反转码之前,还包括:
如果总线处于部分空闲状态,根据业务数据数量动态分配发送低反转码的数量。
优选地,判断总线是否处于空闲状态之后,还包括:
如果判断总线处于非空闲状态,则开启预加重,采用正常工作驱动强度发送业务数据。
本实施例提供的方法,通过在总线空闲时采用关闭预加重、将差分驱动强度调节到节能驱动强度发送低反转码的措施,可以达到降低链路功耗,节能减排的效果;且由于在总线空闲时仍然发送数据,不仅可以保持链路同步,还可应付突发的数据传输,从而满足实时传输数据的需求。
为了更加详细地阐述上述实施例一提供的方法,下面,结合上述实施例一的内容,以如下实施例二和实施例三为例,对数据传输的方法进行举例说明,详见如下实施例二和实施例三:
实施例二
参见图2,本实施例提供了一种数据传输方法,为了便于说明,结合图3所示的数据传输系统的结构示意图,本实施例以低反转码为低反转IDLE码,并以8B位宽数据和8B/10B编码器为例,对本实施例提供的方法进行举例说明。图3中,并行的8B业务数据通过FIFO(First In First Out,先进先出)数据缓存器输出到8B/10B编码器中,由8B/10B编码器将编码后的10B码流输入到串行器中进行并行数据串行化的转换,从串行器输出的码流再通过数据选择器发送到预加重/差分驱动器进行预加重和差分驱动,最后将输出码流发送给接收端;当总线处于空闲状态时,数据选择器发送IDLE码生成单元产生的低反转IDLE码,以保证链路同步。该方法流程具体如下:
201:判断总线是否处于空闲状态,若是,执行202;否则执行203。
具体地,总线空闲有两种表现形式。一种是承载较少的数据,例如5Gbps的总线承载2.5Gbps的数据,总线有一半的资源空闲,处于部分空闲状态;另一种是在一段时间内,总线没有数据传输,处于完全空闲状态。
判断总线是否处于空闲状态的方法有很多种,例如,可根据业务数据的发送速率进行判断,也可根据FIFO数据缓存器的状态标志位进行判断。本实施例不对判断总线是否处于空闲状态的方法做具体限定。
下面以根据FIFO数据缓存器的状态标志位判断总线是否处于空闲状态为例进行说明。FIFO数据缓存器的状态标志位用来指示存储空间的占用情况。至于FIFO数据缓存器内存空间与状态标志位的对应关系可自行设定。例如,当FIFO内存占用量为总内存的1/2时设定FIFO的状态标志位为半满状态,判断总线处于部分空闲状态;当FIFO内存中没有数据时设定FIFO的状态标志位为空状态,判断总线处于完全空闲状态。
202:通过预加重/差分驱动器将预加重/差分驱动切换到节能模式发送低反转IDLE码,流程结束。
针对该步骤,根据总线空闲的两种表现形式动态发送低反转IDLE码。当总线部分空闲时,根据业务数据的数据发送数量动态分配低反转IDLE码的发送数量。例如,当总线有一半资源空闲时,总线通过数据选择器发送一定的业务数据,再通过数据选择器发送相同数量的低反转IDLE码,使总线上一直有数据传输;当总线完全空闲时,总线一直发送低反转IDLE码,直到有业务数据传输为止。
其中,IDLE码是总线在空闲时发送的一种数据,用于对齐和同步数据传输系统,并且维持数据传输系统对齐和同步的状态。以8B/10B编码方式为例,现有IDLE码实际码型是0011111010(或取反为1100000101),这一序列中包含了频繁反转的1010(或取反为0101)和反转少的1111(或取反为0000),它们频谱特性差异较大,需要使用和传输业务数据一样的预加重和驱动强度来保证不出现误码,这样带来不必要的链路功耗。为了实现节能减排,减少总线空闲时传输IDLE码产生的链路功耗,本实施例在现有IDLE码的基础上新增了一种低反转IDLE码。
具体地,本实施例中的低反转IDLE码是根据链路的容忍能力及具体设计实现情况配置出的较长的连续0和连续1的码。以8B/10B编码为例,可以是0000011111(或取反为1111100000)。这种低反转IDLE码实现低反转,降低总线的等效频率,从而减小信号衰减,不需要很强的驱动强度。同时,信号中没有包含不同频谱的数据,不需要使用预加重抵抗码间串扰的问题。因此,可关闭预加重、降低驱动强度,即将预加重/差分驱动切换到节能模式。
进一步地,预加重/差分驱动有节能模式和正常工作模式两种模式,可预先将差分驱动的驱动强度配置成节能驱动强度或正常工作驱动强度。当预加重/差分驱动切换到节能模式时,即关闭预加重,将差分驱动的驱动强度调节到节能驱动强度;当预加重/差分驱动切换到正常工作模式时,即开启预加重,将差分驱动的驱动强度调节到正常工作驱动强度。
203:通过预加重/差分驱动器将预加重/差分驱动切换到正常工作模式发送业务数据,流程结束。
由于判断总线处于正常传输业务数据状态。业务数据中有频繁反转的数据(如1010),也有低反转的数据(如1111),这两类数据频谱差异比较大,需要使用预加重来保证不出现误码,加强差分驱动强度来减小信号衰减。因此,需要开启预加重、提高驱动强度,即将预加重/差分驱动切换到正常工作模式。
为了实现本实施例提供的数据传输方法,本实施例除了可以采用如图3所示的数据传输系统,还可以采用图4所示的数据传输系统来实现本实施例提供的方法,图4与图3所示的系统结构的区别在于,图4中,将IDLE码生成单元以并行形式放在串行器前。
本实施例提供的方法,通过在总线空闲时采用关闭预加重、将差分驱动强度调节到节能驱动强度发送低反转IDLE码的措施,可以达到降低链路功耗,节能减排的效果;且由于总线空闲时仍然发送数据,不仅可以保持链路同步,还可应付突发的数据传输,从而满足实时传输数据的需求。
实施例三
参见图5,本实施例提供了数据传输方法,为了便于说明,结合图6所示的数据传输系统的结构示意图,本实施例以低反转码为编码后的低反转码,并图中以8B位宽数据和8B/10B编码器为例,对本实施例提供的方法进行举例说明。图6中,并行的8B业务数据通过FIFO数据缓存器输出到数据选择器中,由数据选择器将业务数据输入到8B/10B编码器中进行编码,将编码后的10B码流输出到串行器中进行并行数据串行化的转换,再由串行器将串行码流发送给预加重/差分驱动模块进行预加重和差分驱动,最后将码流发送给接收端;当总线处于空闲状态时,针对某些编码方式,在正常传输的数据(命令、控制数据等)中找到符合编码后低反转的数据,数据选择器发送该编码后的低反转码,同时以总线命令通知接收端该编码后的低反转码无效,以保证链路同步。该方法流程具体如下:
301:判断总线是否处于空闲状态,若是,执行302;否则执行303。
具体地,总线空闲有两种表现形式。一种是承载较少的数据,例如5Gbps的总线承载2.5Gbps的数据,总线有一半的资源空闲,处于部分空闲状态;另一种在一段时间内,总线没有数据传输,处于完全空闲状态。
判断总线是否处于空闲状态的方法有很多种,例如,可根据业务数据的发送速率进行判断,也可根据FIFO数据缓存器的状态标志位进行判断。本实施例不对判断总线是否处于空闲状态的方法做具体限定。
下面以根据FIFO数据缓存器的状态标志位判断总线是否处于空闲状态为例进行说明。FIFO数据缓存器的状态标志位用来指示存储空间的占用情况。至于FIFO数据缓存器内存空间与状态标志位的对应关系可自行设定。例如,当FIFO内存占用量为总内存的1/2时设定FIFO的状态标志位为半满状态,判断总线处于部分空闲状态;当FIFO内存中没有数据时设定FIFO的状态标志位为空状态,判断总线处于完全空闲状态。
302:通过预加重/差分驱动器将预加重/差分驱动切换到节能模式发送编码后的低反转码,并发送总线命令通知对端该编码后的低反转码无效,流程结束。
其中,编码后的低反转码是低反转码的一种,在总线空闲时发送该编码后的低反转码可实时降低数据传输的链路功耗。
针对该步骤,根据总线空闲的两种表现形式动态发送编码后的低反转码。当总线部分空闲时,根据业务数据的数据发送数量动态分配编码后的低反转码发送数量。例如,当总线有一半资源空闲时,总线通过数据选择器发送一定的业务数据,再通过数据选择器发送相同数量的编码后的低反转码,使总线上一直有数据传输;当总线完全空闲时,总线一直发送编码后的低反转码,直到有业务数据传输为止。
具体地,本实施例中的编码后的低反转码是在某一特定的编码协议中规定的,将正常业务数据(命令、控制数据等)编码为低反转码。例如,将16进制的1A编码为0000011111。同时,通过总线命令通知接收端该1A是无效的。这种编码后的低反转码实现低反转,降低总线的等效频率,从而减小信号衰减,不需要很强的驱动强度。同时,信号中没有包含不同频谱的数据,不需要使用预加重抵抗码间串扰的问题。因此,可关闭预加重、降低驱动强度,即将预加重/差分驱动切换到节能模式。
预加重/差分驱动有节能模式和正常工作模式两种模式,可预先将差分驱动的驱动强度配置成节能驱动强度或正常工作驱动强度。当预加重/差分驱动切换到节能模式时,即关闭预加重,将差分驱动的驱动强度调节到节能驱动强度;当预加重/差分驱动切换到正常工作模式时,即开启预加重,将差分驱动的驱动强度调节到正常工作驱动强度。
303:通过预加重/差分驱动器将预加重/差分驱动切换到正常工作模式发送业务数据,流程结束。
由于判断总线处于正常传输业务数据状态。业务数据中有频繁反转的数据(如1010),也有低反转的数据(如1111),这两类数据频谱差异比较大,需要使用预加重来保证不出现误码,加强差分驱动强度来减小信号衰减。因此,需要开启预加重、提高驱动强度,即将预加重/差分驱动切换到正常工作模式。
为了实现本实施例提供的数据传输方法,本实施例除了可以采用如图6所示的数据传输系统,还可以采用图7所示的数据传输系统来实现本实施例提供的方法,图6与图7所示的系统结构的区别在于,图7中,将编码后的低反转码单元以并行形式放在FIFO数据缓存器前。
本实施例提供的方法,通过在总线空闲时采用关闭预加重、将差分驱动强度调节到节能驱动强度发送编码后的低反转码的措施,可以达到降低链路功耗,节能减排的效果;且由于总线空闲时仍然发送数据,不仅可以保持链路同步,还可应付突发的数据传输,从而满足实时传输数据的需求。
实施例四
参见图8,本实施例提供了数据传输装置,该装置用于执行上述实施例一至实施例三所提供的数据传输方法,该装置包括:
判断模块801,用于判断总线是否处于空闲状态;
节能模块802,用于判断模块801判断总线处于空闲状态时,关闭预加重,并发送低反转码。
其中,低反转码为低反转IDLE码或编码后的低反转码;
参见图9,节能模块802,具体包括:
关闭单元802A,用于关闭预加重;
发送单元802B,用于采用节能驱动强度发送低反转IDLE码或编码后的低反转码。
发送单元802B,还用于发送总线命令,总线命令用于通知对端编码后的低反转码无效。
参见图10,装置还包括:
分配模块803,用于在判断模块801判断总线处于部分空闲状态时,根据业务数据数量动态分配发送低反转IDLE码或编码后的低反转码的数量。
参见图11,装置,还包括:
开启模块804,用于在判断模块801判断总线处于非空闲状态时,开启预加重;
发送模块805,用于在判断模块801判断总线处于非空闲状态时,采用正常工作驱动强度发送业务数据。
本实施例提供的装置,通过在总线空闲时采用关闭预加重、将差分驱动强度调节到节能驱动强度发送低反转码的措施,可以达到降低链路功耗,节能减排的效果;其由于总线空闲时仍然发送数据,不仅可以保持链路同步,还可应付突发的数据传输,从而满足实时传输数据的需求。
需要说明的是:上述实施例提供的数据传输装置在传输数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输装置与数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本发明实施例中的全部或部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据传输方法,其特征在于,所述方法包括:
判断总线是否处于空闲状态;
如果判断总线处于空闲状态,则关闭预加重,并发送低反转码。
2.根据权利要求1所述的方法,其特征在于,所述低反转码为低反转空闲IDLE码或编码后的低反转码;
所述发送低反转码,具体包括:
采用节能驱动强度发送低反转IDLE码或编码后的低反转码。
3.根据权利要求2所述的方法,其特征在于,所述发送编码后的低反转码时,还包括:
发送总线命令,所述总线命令用于通知对端所述编码后的低反转码无效。
4.根据权利要求1所述的方法,其特征在于,所述发送低反转码之前,还包括:
如果总线处于部分空闲状态,根据业务数据数量动态分配发送低反转码的数量。
5.根据权利要求1所述的方法,其特征在于,所述判断总线是否处于空闲状态之后,还包括:
如果判断总线处于非空闲状态,则开启预加重,采用正常工作驱动强度发送业务数据。
6.一种数据传输装置,其特征在于,所述装置包括:
判断模块,用于判断总线是否处于空闲状态;
节能模块,用于所述判断模块判断总线处于空闲状态时,关闭预加重,并发送低反转码。
7.根据权利要求6所述的装置,其特征在于,所述低反转码为低反转IDLE码或编码后的低反转码;
所述节能模块,具体包括:
关闭单元,用于关闭预加重;
发送单元,用于采用节能驱动强度发送低反转IDLE码或编码后的低反转码。
8.根据权利要求7所述的装置,其特征在于,所述发送单元,还用于发送总线命令,所述总线命令用于通知对端所述编码后的低反转码无效。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
分配模块,用于在所述判断模块判断总线处于部分空闲状态时,根据业务数据数量动态分配发送低反转IDLE码或编码后的低反转码的数量。
10.根据权利要求6所述的装置,其特征在于,所述装置,还包括:
开启模块,用于在所述判断模块判断总线处于非空闲状态时,开启预加重;
发送模块,用于在所述判断模块判断总线处于非空闲状态时,采用正常工作驱动强度发送业务数据。
CN201110401210.8A 2011-12-06 2011-12-06 数据传输方法及装置 Active CN102523071B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110401210.8A CN102523071B (zh) 2011-12-06 2011-12-06 数据传输方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110401210.8A CN102523071B (zh) 2011-12-06 2011-12-06 数据传输方法及装置

Publications (2)

Publication Number Publication Date
CN102523071A true CN102523071A (zh) 2012-06-27
CN102523071B CN102523071B (zh) 2014-09-03

Family

ID=46293880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110401210.8A Active CN102523071B (zh) 2011-12-06 2011-12-06 数据传输方法及装置

Country Status (1)

Country Link
CN (1) CN102523071B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6147963A (en) * 1996-07-11 2000-11-14 4 Links For Technical Help Communications system for driving pairs of twisted pair links
CN101404558A (zh) * 2008-10-31 2009-04-08 中兴通讯股份有限公司 基于ami编码的数据传输方法及数据处理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6147963A (en) * 1996-07-11 2000-11-14 4 Links For Technical Help Communications system for driving pairs of twisted pair links
CN101404558A (zh) * 2008-10-31 2009-04-08 中兴通讯股份有限公司 基于ami编码的数据传输方法及数据处理装置

Also Published As

Publication number Publication date
CN102523071B (zh) 2014-09-03

Similar Documents

Publication Publication Date Title
CN103049414B (zh) Fc总线与can总线间数据的转换及传输方法
CN103218331B (zh) 采用同步模式切换及帧优先级自动调整的总线装置及方法
EP2186242B1 (en) Changing hardware settings based on data preamble
CN101146102B (zh) Rru网络中hdlc数据下行、上行的方法及通讯装置
CN102647320A (zh) 适用于高速1553总线协议控制的集成电路
CN102833127A (zh) 具有不对称低功耗空闲的能效以太网
WO2005096575A1 (en) A circuit arrangement and a method to transfer data on a 3-level pulse amplitude modulation (pam-3) channel
CN101035143B (zh) 一种物理层芯片、传输信号的方法及交换机
CN103532734A (zh) 用于具有非对称流量剖析的节能以太网的系统和方法
CN202190284U (zh) 一种CAN总线与SpaceWire总线的协议转换器
CN101163148B (zh) 支持非标准速率的以太网传输方法及相应装置和接入设备
CN1773995A (zh) 用于数据通信设备中的自动协商的系统和方法
CN101563879B (zh) 用于提供双向通讯协定的方法及其电路和设备
CN209182816U (zh) 一种触发式双冗余网络
CN101650872B (zh) 用电信息采集系统及方法
CN101917276A (zh) 一种高低速共存接口组件、总线终端及总线通信系统
CN102523071A (zh) 数据传输方法及装置
CN102420675A (zh) 数据报文缓冲存储的使用状态信息的收发方法及装置
CN201622783U (zh) 一种led模组通信电路及led显示屏
CN202617157U (zh) 一种pcie交换电路
CN203761399U (zh) 单纤双向对称速率的光通信设备及系统
CN102118305A (zh) 一种通信设备的业务板及包含该业务板的通信设备
CN201393232Y (zh) 使用新型cmi编码的总线通讯电路
CN204314869U (zh) 一种多路smii信号到一路mii信号的复用系统
CN102647322B (zh) 超256个终端数限制的485总线传输方法

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