CN108549578A - 一种中断聚合装置及其方法 - Google Patents
一种中断聚合装置及其方法 Download PDFInfo
- Publication number
- CN108549578A CN108549578A CN201810380359.4A CN201810380359A CN108549578A CN 108549578 A CN108549578 A CN 108549578A CN 201810380359 A CN201810380359 A CN 201810380359A CN 108549578 A CN108549578 A CN 108549578A
- Authority
- CN
- China
- Prior art keywords
- interruption
- queue
- interrupt vector
- polymerization
- polymerize
- 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
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.pd f)提供了集成电路中队列的中断聚合特性,即当控制器向队列填充条目时,更新该队列的队尾指针,根据中断聚合特性,可以推迟为该队列生成中断的时机。从而实现在队列中填充了多个条目后,为该队列生成单一的中断以指示该队列中被填充的多个条目。中断聚合特性可以降低中断发生的频率,进而减轻频繁处理中断所引入的负载。
但是,虽然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标准中还提供了聚合时间(Aggregation Time)与聚合数量阈值(Aggregation Threshold)。可选地,队列有多个,队头指针寄存器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展示了根据本申请另一实施例的中断聚合装置的方法流程图。
在多种指定条件出现时,中断聚合控制器尝试产生中断,以结束对当前中断向量的聚合。指定条件包括但不限于,例如,定时器超时(指示中断聚合器已经对当前中断实施聚合超过了聚合时间(Aggregation Time))(510),计数器大于阈值(指示中断聚合器对当前中断实施聚合的次数超过了聚合数量阈值(Aggregation Threshold))(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.如权利要求1或2所述的中断聚合方法,其特征在于,响应于识别队列被填充了条目,若所述队列的中断向量与被聚合的中断向量相同,则比较计数器与聚合数量阈值。
4.如权利要求1所述的中断聚合方法,其特征在于,还包括如下步骤:
周期性监视中断暂存表;
若中断暂存表中有中断向量待被处理,且待处理中断向量的中断屏蔽被清除,则为待处理中断向量生成对应中断。
5.一种中断聚合方法,其特征在于包括如下步骤:
若出现指定条件中的一个或多个则处理被聚合的中断向量。
6.一种中断聚合方法,其特征在于包括如下步骤:
若队列的中断向量与被聚合的中断向量相同,则将待发送的队列条目发送到队列。
7.如权利要求6所述的中断聚合方法,其特征在于,若队列的中断向量同被聚合的中断向量不同,则为当前中断向量产生中断。
8.如权利要求6所述的中断聚合方法,其特征在于,若所述被聚合的中断向量被屏蔽,则记录所述被聚合的中断向量待处理。
9.一种中断聚合装置,其特征在于包括中断聚合控制器,其中,
所述中断聚合控制器响应于队列被填充了条目,记录所述队列的中断向量被聚合。
10.一种固态存储设备,包括控制器与非易失存储器芯片,其中,控制器执行根据权利要求1-8之一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911406246.8A CN111078387B (zh) | 2017-12-25 | 2018-04-25 | 中断聚合装置及其方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2017114173194 | 2017-12-25 | ||
CN201711417319 | 2017-12-25 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911406246.8A Division CN111078387B (zh) | 2017-12-25 | 2018-04-25 | 中断聚合装置及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108549578A true CN108549578A (zh) | 2018-09-18 |
CN108549578B CN108549578B (zh) | 2020-02-07 |
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 After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911406246.8A Active CN111078387B (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 |
---|---|---|---|---|
CN110851259A (zh) * | 2019-11-12 | 2020-02-28 | 上海燧原智能科技有限公司 | 一种中断控制方法、中断控制器、计算机设备及存储介质 |
CN114048156A (zh) * | 2021-10-28 | 2022-02-15 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多通道多映射中断控制器 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986789B (zh) * | 2021-09-19 | 2024-04-23 | 山东云海国创云计算装备产业创新中心有限公司 | 一种防止中断丢失的方法和中断控制器 |
CN114003362B (zh) * | 2021-10-29 | 2024-03-19 | 西安微电子技术研究所 | 一种多维度动态中断聚合方法、系统、设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1209207A (zh) * | 1995-12-19 | 1999-02-24 | 艾利森电话股份有限公司 | 指令处理机作业的调度 |
CN1330782A (zh) * | 1998-12-17 | 2002-01-09 | 国际商业机器公司 | 非均匀存储器存取(numa)数据处理系统的中断体系结构 |
CN1637712A (zh) * | 2003-12-25 | 2005-07-13 | 松下电器产业株式会社 | 中断控制装置及控制方法 |
CN1766860A (zh) * | 2005-12-02 | 2006-05-03 | 北京中星微电子有限公司 | 一种中断控制处理装置和方法 |
CN101086721A (zh) * | 2007-07-12 | 2007-12-12 | 华为技术有限公司 | 中断处理方法和装置 |
CN101140550A (zh) * | 2007-08-22 | 2008-03-12 | 中兴通讯股份有限公司 | 一种嵌入式实时系统中断处理装置及方法 |
CN101276295A (zh) * | 2008-03-19 | 2008-10-01 | 北京星网锐捷网络技术有限公司 | 避免实时操作系统频繁中断占用过多cpu资源的方法 |
CN101335694A (zh) * | 2007-06-29 | 2008-12-31 | 联想(北京)有限公司 | 中断处理方法和系统 |
CN201387606Y (zh) * | 2009-04-21 | 2010-01-20 | 北京星网锐捷网络技术有限公司 | 中断处理装置和物理连接状态翻转事件处理装置 |
CN102833088A (zh) * | 2011-06-17 | 2012-12-19 | 中兴通讯股份有限公司 | 一种中断处理方法及装置 |
CN105487989A (zh) * | 2015-11-27 | 2016-04-13 | 杭州朔天科技有限公司 | 一种降低响应延时提高系统效率的中断控制器及控制方法 |
CN105677474A (zh) * | 2016-04-06 | 2016-06-15 | 福建星网智慧科技股份有限公司 | 一种基于fpga的中断聚合装置和方法 |
Family Cites Families (7)
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 |
US6889279B2 (en) * | 2000-12-11 | 2005-05-03 | Cadence Design Systems, Inc. | Pre-stored vector interrupt handling system and method |
CN102521177B (zh) * | 2011-12-07 | 2015-01-21 | 福建星网锐捷网络有限公司 | 中断处理方法及装置、中央处理器以及处理设备 |
ITTO20120477A1 (it) * | 2012-05-31 | 2013-12-01 | St Microelectronics Srl | Rete di dispositivi elettronici fissati ad un supporto flessibile e relativo metodo di comunicazione |
US10102004B2 (en) * | 2014-03-27 | 2018-10-16 | International Business Machines Corporation | Hardware counters to track utilization in a multithreading computer system |
CN107277850B (zh) * | 2016-04-01 | 2022-04-19 | 北京三星通信技术研究有限公司 | 无线局域网聚合的控制方法和相关设备 |
CN106844025B (zh) * | 2016-12-30 | 2020-08-14 | 青岛专用集成电路设计工程技术研究中心 | 一种异步中断处理方法及中断控制器 |
-
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 (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1209207A (zh) * | 1995-12-19 | 1999-02-24 | 艾利森电话股份有限公司 | 指令处理机作业的调度 |
CN1330782A (zh) * | 1998-12-17 | 2002-01-09 | 国际商业机器公司 | 非均匀存储器存取(numa)数据处理系统的中断体系结构 |
CN1637712A (zh) * | 2003-12-25 | 2005-07-13 | 松下电器产业株式会社 | 中断控制装置及控制方法 |
CN1766860A (zh) * | 2005-12-02 | 2006-05-03 | 北京中星微电子有限公司 | 一种中断控制处理装置和方法 |
CN101335694A (zh) * | 2007-06-29 | 2008-12-31 | 联想(北京)有限公司 | 中断处理方法和系统 |
CN101086721A (zh) * | 2007-07-12 | 2007-12-12 | 华为技术有限公司 | 中断处理方法和装置 |
CN101140550A (zh) * | 2007-08-22 | 2008-03-12 | 中兴通讯股份有限公司 | 一种嵌入式实时系统中断处理装置及方法 |
CN101276295A (zh) * | 2008-03-19 | 2008-10-01 | 北京星网锐捷网络技术有限公司 | 避免实时操作系统频繁中断占用过多cpu资源的方法 |
CN201387606Y (zh) * | 2009-04-21 | 2010-01-20 | 北京星网锐捷网络技术有限公司 | 中断处理装置和物理连接状态翻转事件处理装置 |
CN102833088A (zh) * | 2011-06-17 | 2012-12-19 | 中兴通讯股份有限公司 | 一种中断处理方法及装置 |
CN105487989A (zh) * | 2015-11-27 | 2016-04-13 | 杭州朔天科技有限公司 | 一种降低响应延时提高系统效率的中断控制器及控制方法 |
CN105677474A (zh) * | 2016-04-06 | 2016-06-15 | 福建星网智慧科技股份有限公司 | 一种基于fpga的中断聚合装置和方法 |
Non-Patent Citations (1)
Title |
---|
NVM EXPRESS: "NVM Express Revison 1.3", 《HTTPS://WWW.NVMEXPRESS.ORG/WP-CONTENT/UPLOADS/NVM_EXPRESS_REVISION_1.3.PDF》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851259A (zh) * | 2019-11-12 | 2020-02-28 | 上海燧原智能科技有限公司 | 一种中断控制方法、中断控制器、计算机设备及存储介质 |
CN114048156A (zh) * | 2021-10-28 | 2022-02-15 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多通道多映射中断控制器 |
CN114048156B (zh) * | 2021-10-28 | 2024-05-03 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多通道多映射中断控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN111078387B (zh) | 2024-01-23 |
CN108549578B (zh) | 2020-02-07 |
CN111078387A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108549578A (zh) | 一种中断聚合装置及其方法 | |
US9218203B2 (en) | Packet scheduling in a multiprocessor system using inter-core switchover policy | |
CN109815019B (zh) | 任务调度方法、装置、电子设备及可读存储介质 | |
US11032133B2 (en) | Universal scaling controller for software network functions | |
WO2015101091A1 (zh) | 一种分布式资源调度方法及装置 | |
CN112165691A (zh) | 内容分发网络调度方法、装置、服务器和介质 | |
CN112231187B (zh) | 微服务异常分析方法及装置 | |
CN105429801B (zh) | 一种流量监控方法和装置 | |
CN108600118A (zh) | 报文处理方法、装置以及电子设备 | |
CN105207954B (zh) | 发送数据包和吞吐量测试方法及装置 | |
CN109766172A (zh) | 一种异步任务调度方法以及装置 | |
US20170223546A1 (en) | Radio Resource Allocation Method and Radio Network Controller | |
CN110784336A (zh) | 基于物联网的多设备智能定时延时场景设置方法及系统 | |
CN107689892B (zh) | 共存攻击防御方法 | |
CN102904826A (zh) | 流量负载分担的方法及设备 | |
CN108200185A (zh) | 一种实现负载均衡的方法及装置 | |
CN110795251A (zh) | 终端运行参数的确定方法和设备 | |
TWI646435B (zh) | 無伺服器之系統及其執行方法 | |
CN113806050A (zh) | 一种计算资源的处理方法、装置、电子设备及存储介质 | |
CN113760989A (zh) | 一种无界流数据处理方法、装置、设备及存储介质 | |
US11323385B2 (en) | Communication system and communication method | |
CN103135703B (zh) | 一种用于快速读取现场可更换单元信息的方法 | |
JP6554011B2 (ja) | タイムアウト時間設定装置とタイムアウト時間設定方法 | |
CN108833214A (zh) | 一种工控网络检测的方法、装置和系统 | |
CN115344389B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201130 Address after: 200120 Shanghai, Nanhui, new towns around the Lake Road West, No. two, building C, Patentee after: Shanghai Yixin Industry Co., Ltd Address before: 550081 No. 210th, block A, Morgan center, Lin Cheng West Road, Guan Shan Road, Guiyang, Guizhou, China. 1-20 Patentee before: GUIYANG YIXIN TECHNOLOGY Co.,Ltd. |