CN111078387A - 中断聚合装置及其方法 - Google Patents
中断聚合装置及其方法 Download PDFInfo
- Publication number
- CN111078387A CN111078387A CN201911406246.8A CN201911406246A CN111078387A CN 111078387 A CN111078387 A CN 111078387A CN 201911406246 A CN201911406246 A CN 201911406246A CN 111078387 A CN111078387 A CN 111078387A
- Authority
- CN
- China
- Prior art keywords
- interrupt
- queue
- aggregation
- vector
- current
- 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
- 230000002776 aggregation Effects 0.000 title claims abstract description 229
- 238000004220 aggregation Methods 0.000 title claims abstract description 229
- 238000000034 method Methods 0.000 title claims abstract description 72
- 239000013598 vector Substances 0.000 claims abstract description 199
- 238000006116 polymerization reaction Methods 0.000 claims abstract description 8
- 230000004044 response Effects 0.000 claims description 25
- 230000003111 delayed effect Effects 0.000 claims 1
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000004931 aggregating effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
提供了中断聚合装置及其方法。所提供的中断聚合方法,包括如下步骤:若出现指定条件中的一个或多个则处理被聚合的中断向量;在处理被聚合的中断向量之前还包括如下步骤:判断所述队列被聚合的中断向量是否被屏蔽;以及若判断所述队列被聚合的中断向量被屏蔽,则记录被聚合的中断向量待处理。
Description
技术领域
本申请涉及集成电路领域,具体地,涉及实现一种中断聚合(InterruptCoalescing)装置及其方法。
背景技术
NVMe标准(例如,可从下列链接获得http://www.nvmexpress.org/wp-content/ uploads/NVM_Express_Revision_1.3.pdf)提供了集成电路中队列的中断聚合特性,即当控制器向队列填充条目时,更新该队列的队尾指针,根据中断聚合特性,可以推迟为该队列生成中断的时机。从而实现在队列中填充了多个条目后,为该队列生成单一的中断以指示该队列中被填充的多个条目。中断聚合特性可以降低中断发生的频率,进而减轻频繁处理中断所引入的负载。
但是,虽然NVMe标准提供了中断聚合特性,但是该标准并未提供如何实现上述中断聚合特性的装置及其相应的方法。
发明内容
本申请的中断聚合装置及其方法解决了中断频繁发生所引发的负载增加的问题,实现了队列的中断聚合特性。
根据本申请的第一方面,本申请提供一种中断聚合方法,包括如下步骤:识别队列被填充了条目;记录所述队列的中断向量被聚合。
根据本申请的第一方面的中断聚合方法,提供了监视所述队列的队头指针和/或队尾指针,从而识别所述队列被填充了条目。
根据本申请的第一方面的中断聚合方法,所述队列有一个或多个,每个队列有对应的中断向量。
根据本申请的第一方面的中断聚合方法,每个队列具有专用的中断向量,或多个队列共享相同的中断向量。
根据本申请的第一方面的中断聚合方法,响应于识别队列被填充了条目,若所述队列的中断向量同当前中断向量不同,为当前中断向量产生中断。
根据本申请的第一方面的中断聚合方法,响应于识别队列被填充了条目,若所述队列的中断向量与被聚合的中断向量相同,则比较计数器与聚合数量阈值。
根据本申请的第一方面的中断聚合方法,响应于识别队列被填充了条目,比较计数器与聚合数量阈值。
根据本申请的第一方面的中断聚合方法,比较计数器与聚合数量阈值之前或之后使计数器递增。
根据本申请的第一方面的中断聚合方法,在计数器小于或等于聚合数量阈值时,记录所述队列的中断向量被聚合。
根据本申请的第一方面的中断聚合方法,在计数器大于聚合数量阈值时,为队列产生中断。
根据本申请的第一方面的中断聚合方法,还提供了重置计数器。
根据本申请的第一方面的中断聚合方法,在计数器大于聚合数量阈值时,若所述队列被聚合的中断向量被屏蔽,记录队列所述被聚合的中断向量待处理。
根据本申请的第一方面的中断聚合方法,通过中断屏蔽寄存器中的记录判断队列被聚合的中断向量是否被屏蔽。
根据本申请的第一方面的中断聚合方法,使用中断暂存表记录队列所述被聚合的中断向量待处理。
根据本申请的第一方面的中断聚合方法,在中断暂存表中存在记录的待处理中断时,如果中断屏蔽被清除,则根据中断暂存表生成中断。
根据本申请的第一方面的中断聚合方法,还包括如下步骤:周期性监视中断暂存表;若中断暂存表中有中断向量待被处理,且待处理中断向量的中断屏蔽被清除,则为待处理中断向量生成对应中断。
根据本申请的第二方面,本申请提供一种中断聚合方法,包括如下步骤:若出现指定条件中的一个或多个则处理被聚合的中断向量。
根据本申请的第二方面的中断聚合方法,其中指定条件包括队列的中断向量不同于被聚合的中断向量、定时器超时、计数器大于阈值、或中断暂存表中有中断向量待处理。
根据本申请的第二方面的中断聚合方法,在处理被聚合的中断向量之前还包括如下步骤:判断所述队列被聚合的中断向量是否被屏蔽。
根据本申请的第二方面的中断聚合方法,若判断所述队列被聚合的中断向量被屏蔽,则记录被聚合的中断向量待处理。
根据本申请的第二方面的中断聚合方法,通过中断屏蔽寄存器中的记录判断被聚合的队列中断向量是否被屏蔽。
根据本申请的第二方面的中断聚合方法,若被聚合的队列中断向量未被屏蔽,则为被聚合的中断向量产生中断。
根据本申请的第二方面的中断聚合方法,重置计数器包括将计数器清零或将计数器重置为指定值。
根据本申请的第三方面,本申请还提供一种中断聚合方法,包括如下步骤:若队列的中断向量与被聚合的中断向量相同,则将待发送的队列条目发送到队列。
根据本申请的第三方面的中断聚合方法,若队列的中断向量同被聚合的中断向量不同,则为当前中断向量产生中断。
根据本申请的第三方面的中断聚合方法,还包括,比较计数器与聚合数量阈值。
根据本申请的第三方面的中断聚合方法,比较计数器与聚合数量阈值之前或之后使计数器递增。
根据本申请的第三方面的中断聚合方法,在计数器小于或等于聚合数量阈值时,记录所述队列的中断向量被聚合。
根据本申请的第三方面的中断聚合方法,若计数器大于聚合数量阈值时,为队列产生中断。
根据本申请的第三方面的中断聚合方法,还包括:重置计数器。
根据本申请的第三方面的中断聚合方法,还包括:若所述队列被聚合的中断向量未被屏蔽,为被聚合的中断向量产生中断。
根据本申请的第三方面的中断聚合方法,若所述被聚合的中断向量被屏蔽,则记录所述被聚合的中断向量待处理。
根据本申请的第三方面的中断聚合方法,通过中断屏蔽寄存器中的记录判断所述被聚合的队列的中断向量是否被屏蔽。
根据本申请的第三方面的中断聚合方法,使用中断暂存表记录队列待处理的中断向量。
根据本申请的第三方面的中断聚合方法,若中断暂存表中存在记录的中断向量,如果中断屏蔽被清除,则根据中断暂存表生成中断。
根据本申请的第三方面的中断聚合方法,若判断所述被聚合的队列中断向量未被屏蔽,将当前中断向量发送给主机或队列的接收端。
根据本申请的第四方面,本申请还提供一种中断聚合方法,包括如下步骤:若有待发送的队列条目,记录所述队列的中断向量被聚合。
根据本申请的第四方面的中断聚合方法,还包括:比较计数器与聚合数量阈值。
根据本申请的第四方面的中断聚合方法,比较计数器与预先设置的聚合数量阈值之前或之后使计数器递增。
根据本申请的第四方面的中断聚合方法,若计数器大于聚合数量阈值,为队列产生中断。
根据本申请的第四方面的中断聚合方法,若计数器大于聚合数量阈值,以及若所述队列的当前中断向量被屏蔽,则记录被聚合的中断向量队列待处理。
根据本申请的第四方面的中断聚合方法,通过中断屏蔽寄存器中的记录判断所述队列被聚合的中断向量是否被屏蔽。
根据本申请的第四方面的中断聚合方法,使用中断暂存表记录队列待处理的中断向量。
根据本申请的第四方面的中断聚合方法,若中断暂存表中存在记录的中断向量,如果中断屏蔽被清除,则根据中断暂存表生成中断。
根据本申请的第四方面的中断聚合方法,若所述队列的当前中断向量未被屏蔽,将当前中断向量发送给主机或队列的接收端。
根据本申请的第五方面,本申请还提供一种中断聚合装置,包括中断聚合控制器,其中所述中断聚合控制器响应于队列被填充了条目,记录所述队列的中断向量被聚合。
根据本申请的第五方面的中断聚合装置,中断聚合控制器还监视队列的队头指针寄存器和/或队尾指针寄存器,从而识别队列被填充了条目。
根据本申请的第五方面的中断聚合装置,队列有一个或多个,每个队列有对应的中断向量。
根据本申请的第五方面的中断聚合装置,队头指针寄存器和/或队尾指针寄存器包括一对或多对,每对用于一个队列。
根据本申请的第五方面的中断聚合装置,每个队列有对应的中断向量。
根据本申请的第五方面的中断聚合装置,每个队列具有专用的中断向量,或多个队列共享相同的中断向量。
根据本申请的第五方面的中断聚合装置,中断聚合控制器响应于识别队列被填充了条目,判断若所述队列的中断向量同当前中断向量不同,则为当前中断向量产生中断。
根据本申请的第五方面的中断聚合装置,还包括计数器,记录队列被聚合的中断的数量。
根据本申请的第五方面的中断聚合装置,中断聚合控制器响应于识别队列被填充了条目,判断若所述队列的中断向量同当前中断向量相同,则比较计数器与聚合数量阈值。
根据本申请的第五方面的中断聚合装置,比较计数器与预先设置的聚合数量阈值之前或之后使计数器递增。
根据本申请的第五方面的中断聚合装置,中断聚合控制器在判断计数器小于或等于聚合数量阈值时,记录所述队列的中断向量被聚合。
根据本申请的第五方面的中断聚合装置,还包括中断屏蔽寄存器,记录中断向量是否被屏蔽。
根据本申请的第五方面的中断聚合装置,若计数器大于聚合数量阈值,中断聚合控制器根据中断屏蔽寄存器的状态判断所述队列的当前中断向量被屏蔽,在中断暂存表记录所述被聚合的中断向量待处理。
根据本申请的第五方面的中断聚合装置,中断聚合控制器重置计数器。
根据本申请的第五方面的中断聚合装置,还包括中断暂存表记录所述被聚合的中断向量待处理。
根据本申请的第五方面的中断聚合装置,在中断暂存表中存在记录的待处理中断时,如果中断屏蔽被清除,则中断聚合控制器根据中断暂存表生成中断。
根据本申请的第五方面的中断聚合装置,还包括计时器,记录当前中断向量被推迟的时间。
根据本申请的第五方面的中断聚合装置,响应于计时器超时,为当前中断向量产生中断。
根据本申请的第五方面的中断聚合装置,响应于计数器超时,通过中断屏蔽寄存器中的记录当前中断向量是否被屏蔽,若当前中断向量被屏蔽,在中断暂存表中记录当前中断向量待处理。
根据本申请的第五方面的中断聚合装置,响应于计数器超时,通过中断屏蔽寄存器中的记录当前中断向量是否被屏蔽,若当前中断向量未被屏蔽,为当前中断向量产生中断。
根据本申请的第五方面的中断聚合装置,中断聚合控制器监视中断暂存表,若中断暂存表中有待处理的中断向量,生成对应中断。
根据本申请的第六方面,本申请还提供一种固态存储设备,包括控制器与非易失存储器芯片,其中,控制器执行如上所述的中断聚合方法。
根据本申请的第七方面,本申请提供一种包含程序代码的程序,当被载入CPU并在CPU中执行时,程序使CPU执行根据如上所述的中断聚合方法。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域技术人员来讲,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的中断聚合装置的框图;
图2是根据本申请第一实施例的中断聚合装置的聚合中断的方法流程图;
图3是根据本申请第二实施例的中断聚合装置用于聚合多个队列的中断的方法流程图;
图4是根据本申请第三实施例的中断聚合装置的聚合中断的方法流程图;
图5是根据本申请第四实施例的中断聚合装置的聚合中断的方法流程图;
图6是根据本申请第五实施例的中断聚合装置的聚合中断的方法流程图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请请求保护的范围。
实施例一
图1是根据本申请实施例的中断聚合装置100的框图。中断聚合装置100包括中断聚合控制器1001,该中断聚合控制器1001响应于队列被填充了条目,记录所述队列的中断向量被聚合。进一步的,中断聚合装置还包括计数器1002与定时器1003,还包括队头指针寄存器1004、队尾指针寄存器1005、中断屏蔽寄存器1006、中断向量表1007与中断暂存表1008。
队头指针寄存器1004与队尾指针寄存器1005、中断向量表1007以及中断屏蔽寄存器1006均在NVMe标准中定义。NVMe标准中还提供了聚合时间(AggregationTime)与聚合数量阈值(AggregationThreshold)。可选地,队列有多个,队头指针寄存器1004与队尾指针寄存器1005包括多对,每对用于一个队列。可选地,每个队列具有对应的中断向量,多个队列可共享相同的中断向量,或者每个队列具有专用的中断向量。可指示队列的中断是否被使能,和/或是否被屏蔽。若队列的中断被屏蔽,不会为该队列产生中断。
中断聚合装置的计数器1002用于记录队列已被聚合的中断条目的数量。而中断聚合装置的定时器1003用于记录中断已经被推迟的时间。中断聚合装置的计数器1002与定时器1003,可适用于所有的队列和/或同队列相关的所有中断向量,或者为每个队列,或者每个中断向量提供计数器1002与定时器1003。
中断聚合装置识别队列是否有条目被填充,例如依据队列的队头指针和/或队尾指针的值或者变化,从而能够识别队列被填充了条目。中断聚合装置100还依据中断屏蔽寄存器1006,识别是否要为被填充了条目的队列生成中断,其中中断屏蔽寄存器1006中记录了队列的当前中断向量是否被屏蔽。中断聚合装置100还依据计数器1002和/或定时器1003确定是否要延迟生成中断。
为生成中断,中断聚合装置100指示将中断向量表1007中的中断向量提供给主机或其他接收中断的设备,以指示同中断向量对应的队列被填充了条目。可选地,若中断屏蔽寄存器1006指示暂不产生中断,中断聚合装置100更新中断暂存表1008,以记录这些应当被产生但被暂时屏蔽的中断向量。
图2展示了根据本申请实施例的中断聚合装置用于聚合中断的方法流程图。
中断聚合控制器监视队列的队头指针与队尾指针,识别队列中被填充了条目(210)。在不需要实施中断聚合的情况下,响应于队列被填充了条目,要为队列生成中断,以向主机或队列的对端指示队列被填充了条目。而通过图2所示的实施例来提供中断聚合功能。
响应于队列被填充了条目,中断聚合控制器使计数器递增(220),从而计数器记录了从上次中断生成后,队列中被填充的条目数量。中断聚合控制器比较计数器与聚合数量阈值(230)。若计数器的值不小于聚合数量阈值,意味着尚无须产生中断,要实施中断聚合,从而记录被聚合的中断向量(同队列对应的中断向量)(称为“当前中断向量”)(270)。可选地,步骤220被取消,而在识别出计数器的值不小于聚合数量阈值(230)后,中断聚合控制器使计数器递增(280)。继而,继续识别队列中是否被填充条目。
若识别出计数器的值大于聚合数量阈值(230)后,中断聚合控制器根据中断屏蔽寄存器识别队列的当前中断向量是否被屏蔽(240)。若当前中断未被屏蔽,则中断聚合控制器将当前中断向量发送给主机或队列的接收端,以指示中断发生,以及响应于为队列生成了中断,重置计数器(例如,将计数器清零或设置为指定值)(250)。若当前中断向量被屏蔽(240),中断聚合控制器在中断暂存表中记录当前中断向量待被生成(260)。中断暂存表中记录应当被生成的但被屏蔽的中断,因而优先检查中断暂存表中记录的中断,一旦中断屏蔽被清除,则根据中断暂存表的记录生成中断。可选地,周期性的检查中断暂存表中记录的待处理中断是否被屏蔽,一旦发现屏蔽被清除,则生成对应中断。依然可选地,监视中断屏蔽被清除的发生,响应于被清除的中断屏蔽,检查中断暂存表,若在中断暂存表中有相应记录的待处理中断,则生成对应中断。
根据图2所示的实施例,在队列被填充了大于指定数量的条目后,才尝试为该队列产生中断,从而实现了中断聚合。
实施例二
图3展示了根据本申请实施例的中断聚合装置用于聚合多个队列的中断的方法流程图。
中断聚合控制器识别队列中被填充了条目(310)。例如,通过识别队头指针与队尾指针的更新而识别队列中被填充了条目,可选地,还识别队列被填充条目的数量。
中断聚合控制器还获取同队列所对应的中断向量标识,以识别被填充了条目的队列所使用的中断向量,同中断聚合控制器所记录的当前中断向量,是否是相同的中断向量(315)。若被填充了条目的队列所使用的中断向量,同中断聚合控制器所记录的当前中断向量,不是相同的中断向量,即该被填充了条目的队列对应于不同于当前中断向量的新中断向量,停止对当前中断向量实施聚合。中断聚合控制器根据中断屏蔽寄存器识别队列的当前中断向量是否被屏蔽(340),并在当前中断向量未被屏蔽的情况下,根据当前中断向量生成中断(350),还重置计数器(例如使计数器清零)与定时器。以及响应于中断被生成,在中断暂存表中清除同该中断对应的记录(355)。若当前中断向量被屏蔽(340),中断聚合控制器在中断暂存表中记录当前中断向量待被生成(360)。优先检查中断暂存表中记录的中断,一旦中断屏蔽被清除,则根据中断暂存表的记录生成中断。
可选地,还将该被填充了条目的队列对应的中断向量设置为当前中断向量,并尝试对该中断向量开始实施聚合,例如使计数器递增,开始定时器等。
若被填充了条目的队列所使用的中断向量,同中断聚合控制器所记录的当前中断向量,是相同的中断向量,中断聚合控制器使计数器递增(320),从而计数器记录了从上次中断生成后,队列中被填充的条目数量。中断聚合控制器比较计数器与聚合数量阈值(330)。若计数器的值不小于聚合数量阈值,意味着尚无须产生中断,要实施中断聚合,从而记录被聚合的中断向量(同队列对应的中断向量)(称为“当前中断向量”)(370)。可以理解地,若已经记录了该中断向量,无须用相同的中断向量进行更新;或者更新中断向量,使其记录被填充了条目的队列的新的队尾指针。
若识别出计数器的值大于聚合数量阈值(330)后,中断聚合控制器根据中断屏蔽寄存器识别队列的当前中断向量是否被屏蔽(340)。若当前中断未被屏蔽,则中断聚合控制器将当前中断向量发送给主机或队列的接收端,以指示中断发生(350)。同时,可不执行步骤320,而在步骤370之后,才执行使计数器递增的步骤(380)。
可选地,响应于定时器到时,也进入步骤340,中断聚合控制器根据中断屏蔽寄存器识别队列的当前中断向量是否被屏蔽(340),并在当前中断向量未被屏蔽的情况下,根据当前中断向量生成中断(350)。而在当前中断向量被屏蔽的情况下,在中断暂存表中记录当前中断向量待被生成(360)。
实施例三
图4展示了根据本申请又一实施例的中断聚合装置的方法流程图。
响应于识别出被填充了条目的队列所使用的中断向量,同中断聚合控制器所记录的当前中断向量,不是相同的中断向量(415),中断聚合控制器根据中断屏蔽寄存器识别队列的当前中断向量是否被屏蔽(440),并在当前中断向量未被屏蔽的情况下,根据当前中断向量生成中断(450),还重置计数器(例如使计数器清零)与定时器。以及响应于中断被生成,在中断暂存表中清除同该中断对应的记录(455)。若当前中断向量被屏蔽(440),中断聚合控制器在中断暂存表中记录当前中断向量待被生成(460)。优先检查中断暂存表中记录的中断,一旦中断屏蔽被清除,则根据中断暂存表的记录生成中断。
若被填充了条目的队列所使用的中断向量,同中断聚合控制器所记录的当前中断向量,是相同的中断向量(415),中断聚合控制器识别队列中是否有待发送给主机或队列接收方的条目(420),并发送这些队列条目(425)。以及可选地,使计数器递增。若队列没有待发送的队列条目,返回步骤400以重复根据图4的实施例的处理流程。
响应于发送了队列条目,中断聚合控制器比较计数器与聚合数量阈值(430)。若计数器的值不小于聚合数量阈值,意味着尚无须产生中断,要实施中断聚合,从而记录被聚合的中断向量(同队列对应的中断向量)(称为“当前中断向量”)(470)。进一步地,比较计数器与聚合数量阈值(430)之前或之后使计数器递增(未在图4中示出)。
若识别出计数器的值大于聚合数量阈值(430),中断聚合控制器根据中断屏蔽寄存器识别队列的当前中断向量是否被屏蔽(440)。若当前中断未被屏蔽,则中断聚合控制器将当前中断向量发送给主机或队列的接收端,以指示中断发生(450)。
实施例四
图5展示了根据本申请另一实施例的中断聚合装置的方法流程图。
在多种指定条件出现时,中断聚合控制器尝试产生中断,以结束对当前中断向量的聚合。指定条件包括但不限于,例如,定时器超时(指示中断聚合器已经对当前中断实施聚合超过了聚合时间(AggregationTime))(510),计数器大于阈值(指示中断聚合器对当前中断实施聚合的次数超过了聚合数量阈值(AggregationThreshold))(512),中断暂存表中有待处理的中断(根据本申请的实施例,对于中断暂存表中记录的中断,中断聚合器要优先为其生成中断)(516),或者被添加了条目的队列使用同当前中断向量不同的中断向量(被使用的队列发生变化,且被使用的队列对应新的中断向量标识)(515)。
中断聚合控制器尝试产生中断,根据中断屏蔽寄存器识别队列的当前中断向量是否被屏蔽(540),并在当前中断向量未被屏蔽的情况下,根据当前中断向量生成中断(550),还重置计数器(例如使计数器清零)与定时器。以及响应于中断被生成,在中断暂存表中清除同该中断对应的记录(如果有的话)(555)。若当前中断向量被屏蔽(540),中断聚合控制器在中断暂存表中记录当前中断向量待被生成(560)。
在可选的实施方式中,为一个或多个队列(或其对应的中断向量)分别提供计数器、定时器。中断聚合控制器尝试产生中断的指定条件包括条件510、条件512或条件516,而除外条件515。在任何定时器超时或任何计数器大于阈值时,条件510或条件512被满足。以及作为响应,中断聚合控制器尝试对于条件满足的计数器或定时器所对应的队列或中断向量产生中断。以及在步骤515,根据所服务的中断向量或队列,重置对应的计数器和/或定时器。
可选地或进一步地,为一个或多个队列(或其对应的中断向量)分别提供聚合时间(Aggregation Time)和/或聚合数量阈值(Aggregation Threshold)。在判断条件512是否满足时,将同队列(或其对应的中断向量)对应的计数器与聚合数量阈值(AggregationThreshold)进行比较,而在判断条件510是否满足时,将同队列(或其对应的中断向量)对应的定时器与聚合时间(Aggregation Time)进行比较。
可选地或进一步地,为一个或多个命名空间(NameSpace,在NVMe规范中定义),和/或,一个或多个虚拟功能(VF(Virtual Function),在PCIe规范中定义)分别提供定时器、计数器、聚合时间(Aggregation Time)和/或聚合数量阈值(Aggregation Threshold),并在判断条件510或条件512是否满足时,根据同队列、命名空间和/或虚拟功能对应的<定时器,聚合时间(Aggregation Time)>对或<计数器,聚合数量阈值(Aggregation Threshold)>对进行比较。
实施例五
图6是根据本申请另一个实施例的中断聚合装置的聚合中断的方法流程图。其中,中断聚合控制器在有待发送的队列条目时(610)启动新的处理流程,包括:例如,周期性地检查有待发送的队列条目,或者响应有待发送队列条目的指示。响应于有待发送的队列条目,中断聚合控制器将条目添加到队列(例如,发送给主机中的队列存储空间)(615)。可选地,由其他部件发送队列条目,而中断聚合控制器识别队列条目被发送。
中断聚合控制器接收到或识别队列条目之后,中断聚合控制器执行如图6所示的步骤,这些步骤与图2中所示的相应步骤对应,在此不再赘述。
除了根据图1所展示的实现为硬件的中断聚合控制器,根据跟申请实施例的中断聚合控制器也可实现为软件和/或固件,或者软件、固件和/或硬件的组合。硬件可以包括数字电路、模拟电路、数字信号处理器(DSP)、专用继承电路(ASIC)等等。
除了应用于符合NVMe规范的存储控制器,根据本申请实施例的中断聚合控制器也可应用于其他存储控制器,或其他需要产生中断并提供中断聚合能力的控制器、集成电路、设备或系统。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种中断聚合方法,包括如下步骤:若出现指定条件中的一个或多个则处理被聚合的中断向量;
在处理被聚合的中断向量之前还包括如下步骤:判断所述队列被聚合的中断向量是否被屏蔽;以及
若判断所述队列被聚合的中断向量被屏蔽,则记录被聚合的中断向量待处理。
2.根据权利要求1所述的方法,其中指定条件包括队列的中断向量不同于被聚合的中断向量、定时器超时、计数器大于阈值、或中断暂存表中有中断向量待处理。
3.一种中断聚合方法,包括如下步骤:若有待发送的队列条目,记录所述队列的中断向量被聚合;
比较计数器与聚合数量阈值;
若计数器大于聚合数量阈值,以及若所述队列的当前中断向量被屏蔽,则记录被聚合的中断向量队列待处理。
4.根据权利要求3所述的方法,还包括:
若计数器大于聚合数量阈值,以及若所述队列的当前中断向量未被屏蔽,为队列产生中断。
5.根据权利要求3或4所述的方法,使用中断暂存表记录队列待处理的中断向量,如果中断屏蔽被清除,则根据中断暂存表生成中断。
6.一种中断聚合装置,包括中断聚合控制器,其中所述中断聚合控制器响应于队列被填充了条目,判断若所述队列的中断向量同当前中断向量不同,则为当前中断向量产生中断,若所述队列的中断向量同当前中断向量相同,则记录所述队列的中断向量被聚合。
7.根据权利要求6所述的中断聚合装置,中断聚合控制器响应于识别队列被填充了条目,判断若所述队列的中断向量同当前中断向量相同,则比较计数器与聚合数量阈值;
若计数器大于聚合数量阈值,中断聚合控制器根据中断屏蔽寄存器的状态判断所述队列的当前中断向量被屏蔽,在中断暂存表记录所述被聚合的中断向量待处理。
8.根据权利要求6或7所述的中断聚合装置,还包括中断暂存表,用于记录所述被聚合的中断向量待处理;在中断暂存表中存在记录的待处理中断时,如果中断屏蔽被清除,则中断聚合控制器根据中断暂存表生成中断。
9.一种中断聚合装置,包括中断聚合控制器与计时器,其中所述中断聚合控制器响应于队列被填充了条目,若所述队列的中断向量同当前中断向量相同,则记录所述队列的中断向量被聚合;
计时器记录当前中断向量被推迟的时间;
所述中断聚合装置响应于计时器超时,为当前中断向量产生中断。
10.根据权利要求9所述的中断聚合装置,响应于计数器超时,通过中断屏蔽寄存器中的记录当前中断向量是否被屏蔽,若当前中断向量被屏蔽,在中断暂存表中记录当前中断向量待处理,若当前中断向量未被屏蔽,为当前中断向量产生中断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911406246.8A CN111078387B (zh) | 2017-12-25 | 2018-04-25 | 中断聚合装置及其方法 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2017114173194 | 2017-12-25 | ||
CN201711417319 | 2017-12-25 | ||
CN201810380359.4A CN108549578B (zh) | 2017-12-25 | 2018-04-25 | 一种中断聚合装置及其方法 |
CN201911406246.8A CN111078387B (zh) | 2017-12-25 | 2018-04-25 | 中断聚合装置及其方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810380359.4A Division CN108549578B (zh) | 2017-12-25 | 2018-04-25 | 一种中断聚合装置及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078387A true CN111078387A (zh) | 2020-04-28 |
CN111078387B CN111078387B (zh) | 2024-01-23 |
Family
ID=63512635
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810380359.4A Active CN108549578B (zh) | 2017-12-25 | 2018-04-25 | 一种中断聚合装置及其方法 |
CN201911406246.8A Active CN111078387B (zh) | 2017-12-25 | 2018-04-25 | 中断聚合装置及其方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810380359.4A Active CN108549578B (zh) | 2017-12-25 | 2018-04-25 | 一种中断聚合装置及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN108549578B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986789A (zh) * | 2021-09-19 | 2022-01-28 | 山东云海国创云计算装备产业创新中心有限公司 | 一种防止中断丢失的方法和中断控制器 |
CN114003362A (zh) * | 2021-10-29 | 2022-02-01 | 西安微电子技术研究所 | 一种多维度动态中断聚合方法、系统、设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851259B (zh) * | 2019-11-12 | 2021-03-05 | 上海燧原智能科技有限公司 | 一种中断控制方法、中断控制器、计算机设备及存储介质 |
CN114048156B (zh) * | 2021-10-28 | 2024-05-03 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多通道多映射中断控制器 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020073262A1 (en) * | 2000-12-11 | 2002-06-13 | Tality, L.P. | Pre-stored vector interrupt handling system and method |
US6553513B1 (en) * | 1999-02-19 | 2003-04-22 | Texas Instruments Incorporated | Emulation suspend mode with differing response to differing classes of interrupts |
CN102521177A (zh) * | 2011-12-07 | 2012-06-27 | 福建星网锐捷网络有限公司 | 中断处理方法及装置、中央处理器以及处理设备 |
CN102833088A (zh) * | 2011-06-17 | 2012-12-19 | 中兴通讯股份有限公司 | 一种中断处理方法及装置 |
CN104350642A (zh) * | 2012-05-31 | 2015-02-11 | 意法半导体股份有限公司 | 组装在柔性支撑件上的电子器件的网络和通信方法 |
CN106104487A (zh) * | 2014-03-27 | 2016-11-09 | 国际商业机器公司 | 跟踪多线程计算机系统中的利用率的硬件计数器 |
CN106844025A (zh) * | 2016-12-30 | 2017-06-13 | 青岛朗思信息科技有限公司 | 一种异步中断处理方法及中断控制器 |
CN107277850A (zh) * | 2016-04-01 | 2017-10-20 | 北京三星通信技术研究有限公司 | 无线局域网聚合的控制方法和相关设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000502202A (ja) * | 1995-12-19 | 2000-02-22 | テレフオンアクチーボラゲツト エル エム エリクソン(パブル) | 命令プロセッサのジョブスケジューリング |
US6148361A (en) * | 1998-12-17 | 2000-11-14 | International Business Machines Corporation | Interrupt architecture for a non-uniform memory access (NUMA) data processing system |
JP2005190207A (ja) * | 2003-12-25 | 2005-07-14 | Matsushita Electric Ind Co Ltd | 割り込み制御装置、制御方法 |
CN100365604C (zh) * | 2005-12-02 | 2008-01-30 | 北京中星微电子有限公司 | 一种中断控制处理装置和方法 |
CN101335694B (zh) * | 2007-06-29 | 2011-03-02 | 联想(北京)有限公司 | 中断处理方法和系统 |
CN100578480C (zh) * | 2007-07-12 | 2010-01-06 | 华为技术有限公司 | 中断处理方法和装置 |
CN100535879C (zh) * | 2007-08-22 | 2009-09-02 | 中兴通讯股份有限公司 | 一种嵌入式实时系统中断处理装置及方法 |
CN101276295B (zh) * | 2008-03-19 | 2011-04-06 | 北京星网锐捷网络技术有限公司 | 避免实时操作系统频繁中断占用过多cpu资源的方法 |
CN201387606Y (zh) * | 2009-04-21 | 2010-01-20 | 北京星网锐捷网络技术有限公司 | 中断处理装置和物理连接状态翻转事件处理装置 |
CN105487989A (zh) * | 2015-11-27 | 2016-04-13 | 杭州朔天科技有限公司 | 一种降低响应延时提高系统效率的中断控制器及控制方法 |
CN105677474A (zh) * | 2016-04-06 | 2016-06-15 | 福建星网智慧科技股份有限公司 | 一种基于fpga的中断聚合装置和方法 |
-
2018
- 2018-04-25 CN CN201810380359.4A patent/CN108549578B/zh active Active
- 2018-04-25 CN CN201911406246.8A patent/CN111078387B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6553513B1 (en) * | 1999-02-19 | 2003-04-22 | Texas Instruments Incorporated | Emulation suspend mode with differing response to differing classes of interrupts |
US20020073262A1 (en) * | 2000-12-11 | 2002-06-13 | Tality, L.P. | Pre-stored vector interrupt handling system and method |
CN102833088A (zh) * | 2011-06-17 | 2012-12-19 | 中兴通讯股份有限公司 | 一种中断处理方法及装置 |
CN102521177A (zh) * | 2011-12-07 | 2012-06-27 | 福建星网锐捷网络有限公司 | 中断处理方法及装置、中央处理器以及处理设备 |
CN104350642A (zh) * | 2012-05-31 | 2015-02-11 | 意法半导体股份有限公司 | 组装在柔性支撑件上的电子器件的网络和通信方法 |
CN106104487A (zh) * | 2014-03-27 | 2016-11-09 | 国际商业机器公司 | 跟踪多线程计算机系统中的利用率的硬件计数器 |
CN107277850A (zh) * | 2016-04-01 | 2017-10-20 | 北京三星通信技术研究有限公司 | 无线局域网聚合的控制方法和相关设备 |
CN106844025A (zh) * | 2016-12-30 | 2017-06-13 | 青岛朗思信息科技有限公司 | 一种异步中断处理方法及中断控制器 |
Non-Patent Citations (3)
Title |
---|
NWM EXPRESS: "NVW EXpress Revision 1.3", pages 1 - 282 * |
吕品: "无线Mesh网络虚拟化关键技术研究", 《中国博士学位论文全文数据库 信息科技辑》, pages 136 - 31 * |
宋洋: "利用链路聚合技术提升DSLAM接入能力", 《数字技术与应用》, no. 07, pages 210 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986789A (zh) * | 2021-09-19 | 2022-01-28 | 山东云海国创云计算装备产业创新中心有限公司 | 一种防止中断丢失的方法和中断控制器 |
CN113986789B (zh) * | 2021-09-19 | 2024-04-23 | 山东云海国创云计算装备产业创新中心有限公司 | 一种防止中断丢失的方法和中断控制器 |
CN114003362A (zh) * | 2021-10-29 | 2022-02-01 | 西安微电子技术研究所 | 一种多维度动态中断聚合方法、系统、设备及存储介质 |
CN114003362B (zh) * | 2021-10-29 | 2024-03-19 | 西安微电子技术研究所 | 一种多维度动态中断聚合方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111078387B (zh) | 2024-01-23 |
CN108549578A (zh) | 2018-09-18 |
CN108549578B (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108549578B (zh) | 一种中断聚合装置及其方法 | |
CN109525500B (zh) | 一种自调整阈值的信息处理方法及信息处理装置 | |
US20170091013A1 (en) | Pcie error reporting and throttling | |
US7444450B2 (en) | Method and system for detecting excessive interrupt processing for a processor | |
CN110162270B (zh) | 基于分布式存储系统的数据存储方法、存储节点及介质 | |
US10614006B2 (en) | Low latency interrupt with existence of interrupt moderation | |
CN108390856B (zh) | 一种DDoS攻击检测方法、装置及电子设备 | |
WO2005017736A1 (ja) | ディスクアレイ装置におけるボトルネックを検出するシステムおよびプログラム | |
CN112965823B (zh) | 调用请求的控制方法、装置、电子设备和存储介质 | |
WO2017219918A1 (zh) | 中断处理方法及装置 | |
CN111324886A (zh) | 业务请求的处理方法、装置和服务器 | |
US9612894B2 (en) | Detector for high frequency interrupts | |
US20170329730A1 (en) | Method and unit for handling interrupts in a system | |
CN110209548B (zh) | 服务控制方法、系统、电子设备及计算机可读存储介质 | |
JPWO2010131579A1 (ja) | 端末装置、該端末装置に用いられるコミュニケーション方法及びコミュニケーション制御プログラム | |
JP6332834B2 (ja) | 画像形成装置 | |
CN109815067B (zh) | 压力测试方法、装置、计算机设备及计算机可读存储介质 | |
CN117097679A (zh) | 一种网络中断的聚合方法、装置及网络通信设备 | |
CN109213589B (zh) | 一种消息处理的方法及装置 | |
CN112351049B (zh) | 数据传输方法、装置、设备及存储介质 | |
US10599549B2 (en) | Packet backpressure detection method, apparatus, and device | |
CN101547157B (zh) | 一种过载检测的方法、装置及系统 | |
CN108966160B (zh) | 一种短信处理方法、装置及计算机可读存储介质 | |
US7353366B2 (en) | Processing device | |
WO2017080254A1 (zh) | 一种基站负荷评估方法及装置 |
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 | ||
TG01 | Patent term adjustment | ||
TG01 | Patent term adjustment |