CN104380272A - 用于中断结合的装置和方法 - Google Patents
用于中断结合的装置和方法 Download PDFInfo
- Publication number
- CN104380272A CN104380272A CN201280074324.9A CN201280074324A CN104380272A CN 104380272 A CN104380272 A CN 104380272A CN 201280074324 A CN201280074324 A CN 201280074324A CN 104380272 A CN104380272 A CN 104380272A
- Authority
- CN
- China
- Prior art keywords
- network interface
- interface controller
- outboard
- logical unit
- interruption
- 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.)
- Pending
Links
Classifications
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/24—Interrupt
- G06F2213/2406—Generation of an interrupt or a group of interrupts after a fixed or calculated time elapses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Programmable Controllers (AREA)
Abstract
本发明涉及一种用于网络接口控制器(2)的外部逻辑装置(1),以使得能够进行中断结合。该网络接口控制器(2)具有用于储存关于中断原因的信息的原因寄存器(4)并且驱动中断线(3)。外部逻辑装置(1)能够连接至原因寄存器(4),以读取原因寄存器(4)的内容,并且能够连接至网络接口控制器(2)的中断线(3),以及能够连接至处理器(6)的中断输入用于将中断从网络接口控制器(2)的中断线(3)中转发给处理器(6)。外部逻辑装置(1)具有在中断线(3)包含中断时能够初始化的定时器(7),该外部逻辑装置被构造成取决于原因寄存器(4)的当前内容而延迟中断的转发,直到定时器(7)超时。
Description
技术领域
本发明涉及一种用于网络接口控制器的外部逻辑装置,以能够进行中断结合。此外,本发明涉及一种通过这种外部逻辑装置将中断从中断线转发给处理器的方法。
背景技术
中断结合是一种众所周知的方法,用于在多个网络数据包到达时,尽可能减少在标准的网络接口控制器上发生的多个中断的开销。收集数据包,直到所收集的数据包的数量超过阈值或者发生超时。在所收集的数据包的数量超过阈值或者发生超时时,生成中断,并且主机处理器仅仅执行一次基本中断处理,将不止一个数据包用于应用程序中。
US 2011/093637A1公开了一种用于中断调整的技术,允许装置的联合中断分成组,以便由主机处理器批量进行处理。可不同地处理接收和发送完成。
US 2009/177829A1公开了一种用于多处理器计算机的中断重新定向和结合系统。装置使用预先定义的消息地址和与内存写入事务通信的数据载荷来中断处理器或处理器组。
US 2008/147946A1公开了一种基于事件优先级的中断结合机构,用于通过中断控制器在具有不同的中断源的环境中生成中断请求。
US 2008/235424A1公开了一种通过控制器的中断结合机构,该机构根据使用递减步骤的计数器,中断CPU,在控制器接收高优先级数据包时,该递减步骤可增大。
US 2008/147905A1公开了一种通过中断结合单元的中断结合,该中断结合将DMA控制器与CPU耦合,用于聚集由DMA控制器生成的数据传输中断。
US 2011/179413A1公开了用于使中断结合虚拟化的方法和系统。
US 2010/274940A1公开了一种中断结合,该中断结合包括使中断结合的当前等级动态地根据待解决的输入/输出命令的确定,对于输入/输出命令,还未接收相应的输入/输出完成。
发明内容
本发明的一个目标在于,提供一种网络接口控制器的装置,用于在网络接口控制器本身不支持中断结合时能够进行中断结合。
本发明的另一个目标在于,提供一种方法,用于能够借助网络接口控制器进行中断结合,而该控制器本身并不支持中断结合。
通过根据权利要求1所述的外部逻辑装置和根据权利要求4所述的方法,实现这些目标。
在从属权利要中提供本发明的优选实施方式。
根据本发明,一种用于网络接口控制器的外部逻辑装置能够进行中断结合,该网络接口控制器具有用于储存关于中断原因的信息的原因寄存器并且驱动中断线。外部逻辑装置能够连接至原因寄存器,用于读取原因寄存器的内容。此外,该外部逻辑装置能够连接至网络接口控制器的中断线,以及能够连接至处理器的中断输入,用于将中断从网络接口控制器的中断线中转发给处理器。此外,该外部逻辑装置具有定时器,在中断线包含中断时,所述定时器可初始化,并且被构造成取决于原因寄存器的当前内容,延迟中断的转发,直到达到定时器的超时。
外部逻辑装置是补充网络接口控制器的装置,以便延迟中断的转发。这有利地能够借助网络接口控制器进行中断结合,而该控制器本身并不支持中断结合。因此,外部逻辑装置的定时器允许对超时进行定义,以限制中断的延迟。尤其地,因此,定时器可用于防止由网络接口控制器收集的中断没有转发给处理器。
在本发明的一个优选的实施方式中,外部逻辑装置包括现场可编程门阵列,其可被配置为取决于原因寄存器的当前内容,延迟中断的转发,直到达到定时器的超时。
由于其使得外部逻辑装置能够被编程并且从而可适合于网络接口控制器并且适合于一个特定的中断结合的要求,所以有利地使用现场可编程门阵列。
此外,外部逻辑装置优选地包括到PCI总线的接口,用于连接外部逻辑装置和网络接口控制器。
这使外部逻辑装置通过PCI总线可有利地连接至网络接口控制器,从而使外部逻辑装置适合于标准的硬件环境。
在中断线由具有用于储存关于中断原因的信息的原因寄存器的网络接口控制器驱动时,一种根据本发明的中断结合的方法通过根据本发明的外部逻辑装置控制将中断从中断线中转发给处理器。所述方法包括:
定义出与在网络接口控制器的原因寄存器内可储存的信息对应的至少一个延迟条件,
定义出外部逻辑装置的定时器的超时,
并且将外部逻辑装置配置成进行以下接连的步骤:
在第一步骤中,初始化外部逻辑装置的定时器,
在第二步骤中,读取原因寄存器的内容,
在第三步骤中,检查延迟条件是否储存在原因寄存器中,并且
在第四步骤中,如果延迟条件储存在寄存器中并且还未达到定时器的超时,那么返回第二步骤,或者,否则,将中断转发给处理器。
因此,根据该方法,在由延迟条件定义的情况下,延迟将中断转发给处理器,该延迟由超时限制。延迟条件允许对可在处理之前延迟的中断的类型和未延迟的中断的类型进行区分。超时防止中断延迟太久。
由网络接口控制器对中断请求的接收用作为一个优选的延迟条件。
这种延迟条件有利地允许外部逻辑装置控制转发输入的中断请求,从而对在现有技术中已知的中断结合建模。
附图说明
通过在后文中提供的详细描述以及仅仅通过示图提供的但因此不限制本发明的附图,更完整地理解本发明。
附图示意性示出根据本发明的通过用于网络接口控制器2的外部逻辑装置1的中断结合。
具体实施方式
网络接口控制器2使用直接存储器存取(DMA)来支持收集接收(RX)数据包,但是自身并支持中断结合。网络接口控制器2支持共同的中断线3,用于传输中断原因“接收的RX数据包”、“满RX队列”、“发送的发送(TX)数据包”以及“空TX队列”的中断。此外,网络接口控制器2具有原因寄存器4,用于为每个中断储存各个中断原因。中断原因“接收的RX数据包”表示网络接口控制器2通过网络接收的数据包。中断原因“满RX队列”表示由网络接口控制器2收集的这种数据包的数量达到了所收集的RX数据包的相应队列的容量(该容量可能可配置)。中断原因“发送的TX数据包”表示由网络接口控制器2发送TX数据包。中断原因“空TX队列”表示没有其它的TX数据包。
外部逻辑装置1是通过PCI总线5(PCI=外围设备互连)与网络接口控制器2连接的现场可编程门阵列,用于读取原因寄存器4的内容。此外,外部逻辑装置1连接至中断线3,并且连接至处理器6的中断输入,用于将中断从中断线3转发给处理器6。
此外,外部逻辑装置1具有定时器7,在中断线3包含中断时,该定时器可初始化,并且提供预先定义的超时。
为了完成中断结合,在接收RX数据包时,外部逻辑装置1被配置为进行以下接连的步骤S1到S4:
在第一步骤S1中,初始化(启动)定时器7,
在第二步骤S2中,读取原因寄存器4的内容,
在第三步骤S3中,检查预先定义的延迟条件是否储存在原因寄存器4中。在这种情况下,该延迟条件为中断原因是“接收的RX数据包”。
如果第三步骤S3的结果是否定,即,如果中断原因不是“接收的RX数据包”,而是其他中断原因(“满RX队列”、“空TX队列”或者“发送的TX数据包”)中的任一个,那么将在第四步骤S4的第一替换步骤S4.1中,中断直接转发给处理器6。
如果第三步骤S3的结果是肯定,即,如果中断原因确实是“接收的RX数据包”,那么在第四步骤S4的第二替换步骤S4.2中检查是否达到定时器7的超时。如果该结果是肯定,即,如果达到超时,那么将中断转发给处理器6。否则,该过程通过第二步骤S2继续。
通过这种方式,通过将联合方法分成两个部分,对现有技术的中断结合进行建模:
a)在由网络接口控制器2收集到预先定义数量的RX数据包时,安排中断。在第四步骤S4的第一替换步骤S4.1中,通过由外部逻辑装置1直接转发给处理器6的“满RX队列”中断,实现该功能。
b)即使RX队列还未完全装满,在满足超时时,也安排中断。通过在发生共同中断时开始的并且在循环中检查的定时器7,实现该功能。在该循环内,外部逻辑装置1读取原因寄存器4,以允许将除了“接收的RX数据包”中断以外的所有中断直接转发给处理器6。
外部逻辑装置1的效果在于,处理器6可直接处理“满RX队列”、“空TX队列”、“发送的TX数据包”的中断,同时仅仅(可能的)延迟“接收的RX数据包”中断,从而在最终转发该中断时,允许网络接口控制器2收集更多的RX数据包,并且允许处理器6通过批量的方式处理这些数据包。该优点与现有技术的中断结合相同,使用了收集RX数据包并且每个中断偶然传送不止一个数据包。
应理解的是,由于通过该详细描述,对于本领域的技术人员,在本发明的精神和范围内的各种变化和修改显而易见,所以在表示本发明的优选实施方式的同时,仅仅通过说明提供详细描述和具体实例。
Claims (5)
1.一种用于网络接口控制器(2)的外部逻辑装置(1),以使得能够进行中断结合,所述网络接口控制器(2)具有用于储存关于中断原因的信息的原因寄存器(4)并且驱动中断线(3),所述外部逻辑装置(1)
能够连接至所述原因寄存器(4),用于读取所述原因寄存器(4)的内容,
并且能够连接至所述网络接口控制器(2)的中断线(3)以及能够连接至处理器(6)的中断输入,用于将中断从所述网络接口控制器(2)的所述中断线(3)转发至所述处理器(6),
并且具有定时器(7),在所述中断线(3)包含中断时,所述定时器能够初始化,
并且被构造成取决于所述原因寄存器(4)的当前内容,延迟中断的转发,直到所述定时器(7)超时。
2.根据权利要求1所述的外部逻辑装置(1),其特征在于现场可编程门阵列能够配置为取决于所述原因寄存器(4)的当前内容,延迟中断的转发,直到所述定时器(7)超时。
3.根据前述权利要求中任一项所述的外部逻辑装置(1),其特征在于PCI总线(5)的接口,用于将所述外部逻辑装置(1)连接至网络接口控制器(2)。
4.一种通过前述权利要求中任一项所述的外部逻辑装置(1)将中断从中断线(3)转发至处理器(6)的方法,所述中断线(3)由网络接口控制器(2)驱动,所述网络接口控制器具有用于储存关于中断原因的信息的原因寄存器(4),所述方法包括:
定义出与在所述网络接口控制器(2)的所述原因寄存器(4)中能够储存的信息对应的至少一个延迟条件,
定义出所述外部逻辑装置(1)的定时器(7)的超时,
并且将所述外部逻辑装置(1)配置成进行以下接连的步骤:
在第一步骤(S1)中,初始化所述外部逻辑装置(1)的所述定时器(7),
在第二步骤(S2)中,读取所述原因寄存器(4)的内容,
在第三步骤(S3)中,检查延迟条件是否储存在所述原因寄存器(4)中,
在第四步骤(S4)中,如果延迟条件储存在所述原因寄存器(4)中并且还未达到所述定时器(7)的超时,那么返回第二步骤(S2),或者,否则,将所述中断转发至处理器(6)。
5.根据权利要求4所述的方法,其特征在于,由所述网络接口控制器(2)对中断请求的接收用作延迟条件。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2012/064004 WO2014012580A1 (en) | 2012-07-17 | 2012-07-17 | Device and method for interrupt coalescing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104380272A true CN104380272A (zh) | 2015-02-25 |
Family
ID=46548441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280074324.9A Pending CN104380272A (zh) | 2012-07-17 | 2012-07-17 | 用于中断结合的装置和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20150134867A1 (zh) |
EP (1) | EP2875437A1 (zh) |
CN (1) | CN104380272A (zh) |
RU (1) | RU2015105183A (zh) |
WO (1) | WO2014012580A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9208113B2 (en) * | 2013-01-15 | 2015-12-08 | Apple Inc. | Deferred inter-processor interrupts |
JP6090187B2 (ja) * | 2014-01-31 | 2017-03-08 | ブラザー工業株式会社 | 電子機器およびプログラム |
US9542243B2 (en) * | 2014-03-14 | 2017-01-10 | International Business Machines Corporation | Coalescing stages in a multiple stage completion sequence |
US9843518B2 (en) | 2014-03-14 | 2017-12-12 | International Business Machines Corporation | Remotely controlled message queue |
CN104618158B (zh) * | 2015-01-28 | 2018-05-04 | 上海交通大学 | 嵌入式网络虚拟化环境中VirtIO网络虚拟化工作方法 |
KR102444606B1 (ko) * | 2017-08-28 | 2022-09-20 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
WO2023136870A1 (en) * | 2022-01-16 | 2023-07-20 | Microsoft Technology Licensing, Llc. | Reducing interrupts using buffering for data processing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6529986B1 (en) * | 1999-01-26 | 2003-03-04 | 3Com Corporation | Interrupt optimization using storage time for peripheral component events |
US6581120B1 (en) * | 1998-12-05 | 2003-06-17 | Hyundai Electronics Industries Co., Ltd. | Interrupt controller |
CN101558395A (zh) * | 2006-12-15 | 2009-10-14 | 密克罗奇普技术公司 | 中断控制器 |
US20100306433A1 (en) * | 2009-05-26 | 2010-12-02 | Fujitsu Semiconductor Limited | Interrupt-notification control unit, semiconductor integrated circuit and methods therefor |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6189066B1 (en) * | 1999-01-26 | 2001-02-13 | 3Com Corporation | System and method for dynamically selecting interrupt time interval threshold parameters |
US20030065856A1 (en) * | 2001-10-03 | 2003-04-03 | Mellanox Technologies Ltd. | Network adapter with multiple event queues |
US7120717B2 (en) * | 2004-02-13 | 2006-10-10 | Hewlett-Packard Development Company, L.P. | Method and apparatus for controlling interrupt storms |
US7478186B1 (en) * | 2004-06-03 | 2009-01-13 | Integrated Device Technology, Inc. | Interrupt coalescer for DMA channel |
US20060064529A1 (en) * | 2004-09-23 | 2006-03-23 | International Business Machines Corporation | Method and system for controlling peripheral adapter interrupt frequency by transferring processor load information to the peripheral adapter |
US20080126618A1 (en) * | 2006-06-28 | 2008-05-29 | Ilan Pardo | System, method and device of a scheduling interrupt controller |
US20080147905A1 (en) | 2006-12-15 | 2008-06-19 | Infineon Technologies Ag | Method and system for generating a DMA controller interrupt |
JP2008176360A (ja) * | 2007-01-16 | 2008-07-31 | Renesas Technology Corp | マルチプロセッサシステム |
US8259576B2 (en) | 2007-03-23 | 2012-09-04 | Intel Corporation | Method and apparatus for performing interrupt coalescing |
US7788435B2 (en) | 2008-01-09 | 2010-08-31 | Microsoft Corporation | Interrupt redirection with coalescing |
US8478924B2 (en) | 2009-04-24 | 2013-07-02 | Vmware, Inc. | Interrupt coalescing for outstanding input/output completions |
US8244946B2 (en) | 2009-10-16 | 2012-08-14 | Brocade Communications Systems, Inc. | Interrupt moderation |
US8291135B2 (en) | 2010-01-15 | 2012-10-16 | Vmware, Inc. | Guest/hypervisor interrupt coalescing for storage adapter virtual function in guest passthrough mode |
-
2012
- 2012-07-17 EP EP12737782.8A patent/EP2875437A1/en not_active Withdrawn
- 2012-07-17 WO PCT/EP2012/064004 patent/WO2014012580A1/en active Application Filing
- 2012-07-17 RU RU2015105183A patent/RU2015105183A/ru not_active Application Discontinuation
- 2012-07-17 CN CN201280074324.9A patent/CN104380272A/zh active Pending
-
2015
- 2015-01-15 US US14/597,912 patent/US20150134867A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6581120B1 (en) * | 1998-12-05 | 2003-06-17 | Hyundai Electronics Industries Co., Ltd. | Interrupt controller |
US6529986B1 (en) * | 1999-01-26 | 2003-03-04 | 3Com Corporation | Interrupt optimization using storage time for peripheral component events |
CN101558395A (zh) * | 2006-12-15 | 2009-10-14 | 密克罗奇普技术公司 | 中断控制器 |
US20100306433A1 (en) * | 2009-05-26 | 2010-12-02 | Fujitsu Semiconductor Limited | Interrupt-notification control unit, semiconductor integrated circuit and methods therefor |
Also Published As
Publication number | Publication date |
---|---|
EP2875437A1 (en) | 2015-05-27 |
US20150134867A1 (en) | 2015-05-14 |
WO2014012580A1 (en) | 2014-01-23 |
RU2015105183A (ru) | 2016-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104380272A (zh) | 用于中断结合的装置和方法 | |
US11500810B2 (en) | Techniques for command validation for access to a storage device by a remote client | |
TWI447650B (zh) | 中斷分佈方案 | |
US20160011997A1 (en) | Enhanced I/O Performance in a Multi-Processor System Via Interrupt Affinity Schemes | |
KR101775569B1 (ko) | 가상 재시도 큐 | |
US10534563B2 (en) | Method and system for handling an asynchronous event request command in a solid-state drive | |
JP2011175625A (ja) | インターラプトプロキシ機能を具備したシステムオンチップ及びそのインターラプトプロキシ処理方法 | |
US9170963B2 (en) | Apparatus and method for generating interrupt signal that supports multi-processor | |
US11662948B2 (en) | Norflash sharing | |
US20140189162A1 (en) | Regulating an input/output interface | |
US9239804B2 (en) | Back-off mechanism for a peripheral page request log | |
US20140164659A1 (en) | Regulating access to slave devices | |
US20130238871A1 (en) | Data processing method and apparatus, pci-e bus system, and server | |
CN112799723A (zh) | 一种数据读取方法、装置及电子设备 | |
US8756356B2 (en) | Pipe arbitration using an arbitration circuit to select a control circuit among a plurality of control circuits and by updating state information with a data transfer of a predetermined size | |
US20110022767A1 (en) | Dma controller with interrupt control processor | |
JP5981004B2 (ja) | 半導体装置 | |
US20130326097A1 (en) | Semiconductor device | |
US20210243257A1 (en) | Service request interrupt router for virtual interrupt service providers | |
CN114327882A (zh) | 一种数据转发方法、装置及系统 | |
JP5805546B2 (ja) | 半導体装置 | |
US8380908B2 (en) | Emulation of an input/output advanced programmable interrupt controller | |
KR20060112349A (ko) | 에스오씨 버스 시스템 및 버스 데이터 처리방법 | |
US8209449B2 (en) | Method for enabling several virtual processing units to directly and concurrently access a peripheral unit | |
US9465754B2 (en) | Bridge circuit to arbitrate bus commands |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150225 |
|
WD01 | Invention patent application deemed withdrawn after publication |