一种SSD控制芯片的中断控制方法、装置及SSD设备与流程

文档序号:11774208阅读:224来源:国知局
一种SSD控制芯片的中断控制方法、装置及SSD设备与流程

本发明涉及数据存储技术领域,尤其涉及一种ssd控制芯片的中断控制方法、装置及ssd设备。



背景技术:

ssd(solidstatedrives,固态硬盘)由固态电子存储芯片阵列而制成的硬盘,由主控芯片和存储单元组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,但是性能超越了传统硬盘几个数量级。随着ssd存储的容量需求越来越大,对于大容量ssd的渴求越来越旺盛。

但是,随着当前大容量高速固态硬盘发展迅速,iops(input/outputoperationspersecond,每秒进行读写i/o操作的次数)性能已经达到百万级,而且延迟也越来越低,ssd在进行数据读写操作时,每个iops的完成都需要ssd发送中断给host,cpu需要不停的停下正在处理中的任务而去响应中断。由于ssd的iops性能是传统硬盘的iops性能的指数倍,大量的iops的产生大量的重复中断,导致cpu需要足够的运算性能来处理这些中断,从而增加了cpu的无效开销,影响ssd的整体性能。



技术实现要素:

鉴于上述问题,本发明提出了一种ssd控制芯片的中断控制方法、装置及ssd设备,能够有效地减少一定数量的重复中断,以减少cpu的无效开销,提升ssd的整体性能。

本发明的一个方面,提供了一种ssd控制芯片的中断控制方法,该方法包括:

对ssd控制芯片的中断请求进行监测;

当监测到所述ssd控制芯片向主机发送中断请求时,判断预设的主状态机的当前状态,所述主状态机被配置为在所述ssd控制芯片向主机发送中断请求后进入发送中断状态;

若所述主状态机为发送中断状态,则拦截所述中断请求,使其无法继续向主机发送。

可选地,所述方法还包括:

若所述主状态机不是发送中断状态,则将所述中断请求发送到主机,并控制所述主状态机进入发送中断状态,直到所述中断请求发送完成。

可选地,所述对ssd控制芯片的中断请求进行监测,包括:

对所述ssd控制芯片发送的属于同一中断队列中的任务对应的中断请求进行监测。

可选地,在所述拦截所述中断请求之前,所述方法还包括:

将所述中断请求标识为无效中断请求;

拦截所述中断请求,具体包括:拦截具有无效中断请求标识的中断请求。

本发明的又一个方面,提供了一种ssd控制芯片的中断控制装置,该装置包括:

监测模块,用于对ssd控制芯片的中断请求进行监测;

判定模块,用于当监测到所述ssd控制芯片向主机发送中断请求时,判断预设的主状态机的当前状态,所述主状态机被配置为在所述ssd控制芯片向主机发送中断请求后进入发送中断状态;

控制模块,用于若所述判定模块的判定结果为所述主状态机为发送中断状态时,拦截所述中断请求,使其无法继续向主机发送。

可选地,所述控制模块,还用于若所述判定模块的判定结果为所述主状态机不是发送中断状态时,将所述中断请求发送到主机,并控制所述主状态机进入发送中断状态,直到所述中断请求发送完成。

可选地,所述监测模块,具体用于对所述ssd控制芯片发送的属于同一中断队列中的任务对应的中断请求进行监测。

可选地,所述装置还包括:

标识模块,用于在所述拦截所述中断请求之前,将所述中断请求标识为无效中断请求;

相应的,所述控制模块,具体用于拦截具有无效中断请求标识的中断请求。

此外,本发明实施例还提供了一种ssd设备,该ssd设备包括ssd控制芯片以及如上所述的ssd控制芯片的中断控制装置;

所述ssd控制芯片的中断控制装置对ssd控制芯片发送的中断请求进行监测,当监测到所述ssd控制芯片向主机发送中断请求时,判断预设的主状态机的当前状态,所述主状态机被配置为在所述ssd控制芯片向主机发送中断请求后进入发送中断状态,当所述主状态机为发送中断状态时,拦截所述中断请求,使其无法继续向主机发送。

本发明实施例提供的ssd控制芯片的中断控制方法、装置及ssd设备,通过对ssd控制芯片的中断请求进行监测,以实现对重复发送的中断请求进行拦截,使其无法继续向主机发送,进而有效地减少一定数量的重复中断,以减少cpu的无效开销,提升ssd的整体性能。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明实施例的一种ssd控制芯片的中断控制方法的流程图;

图2为本发明实施例中实现重复中断减少的时序图;

图3为本发明实施例的一种ssd控制芯片的中断控制装置的结构示意图;

图4为传统ssd设备实现ssd控制芯片的中断控制的实现原理图;

图5为本发明实施例中ssd设备实现ssd控制芯片的中断控制的实现原理图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。

图1示意性示出了本发明一个实施例的ssd控制芯片的中断控制方法的流程图。参照图1,本发明实施例的ssd控制芯片的中断控制方法具体包括以下步骤:

s11、对ssd控制芯片的中断请求进行监测;

s12、当监测到所述ssd控制芯片向主机发送中断请求时,判断预设的主状态机的当前状态,所述主状态机被配置为在所述ssd控制芯片向主机发送中断请求后进入发送中断状态;

s13、若所述主状态机为发送中断状态,则拦截所述中断请求,使其无法继续向主机发送。

本发明实施例提供的ssd控制芯片的中断控制方法,通过对ssd控制芯片的中断请求进行监测,以实现对重复发送的中断请求进行拦截,使其无法继续向主机发送,进而有效地减少一定数量的重复中断,以减少cpu的无效开销,提升ssd的整体性能。

本发明实施例中,若所述主状态机不是发送中断状态,则将所述中断请求发送到主机,并控制所述主状态机进入发送中断状态,直到所述中断请求发送完成。

本实施例中,当监测到ssd控制芯片发送的中断请求时,如果该中断请求不属于重复发送的中断请求,即预设的主状态机没有处于发送中断状态,则按照正常中断操作流程,将中断请求发送到主机,并控制所述主状态机进入发送中断状态,直到所述中断请求发送完成,以便再次监测到重复发送的中断请求时,实现对重复发送的中断请求进行拦截。

图2为本发明实施例中实现重复中断减少的时序图。参见图2,从时序图里看出,在队列queue1已经发出中断请求后,预设的主状态机就会进入发送中断状态,而如果在发送中断状态中,队列queue1又来了一次中断请求,此次中断申请就会被拦截,即无法继续向主机发送,进而认作无效。

其中,本发明实施例具体通过对所述ssd控制芯片发送的属于同一中断队列中的任务对应的中断请求进行监测,以实现对ssd控制芯片的中断请求进行监测。

在一个可选实施例中,在所述拦截所述中断请求之前,所述方法还包括:

将所述中断请求标识为无效中断请求;

拦截所述中断请求,具体包括:拦截具有无效中断请求标识的中断请求。

在一个具体实施例中,由于ssd的存储介质是并不太可靠的nand,所以就有可能在一次读操作时发现大量的与写入数据不相同的bit,这样首先会需要把这些错误数据尝试用ecc纠错,如果纠错失败,就会需要使用raid来恢复,如果还不行,就需要尝试再读一次等补救措施,这些补救措施都需要耗费一定时间。

场景模拟如下:

主机host在一个队列queue里发了一个读命令,在ssd正在处理这个读命令,并且需要纠错时,主机host又在这个队列queue里发了一个写命令,由于写命令需要的处理时间短并且固定,所以在读出错的最坏情况下,中断处理模块会先收到晚来的写命令的中断申请,而后在发送中断过程中,马上又收到了之前的读命令的中断申请,在这种情况下,读命令的中断申请就会被标识为无效中断请求。

需要说明的是,以上示例只是用于帮助理解的一种可应用场景,更有可能在实际中会出现的是主机host在一个队列queue里压了一连串的任务,例如,任务数为100,可能其中3号任务和50号任务的中断申请是一起来的,则3号任务和50号任务对应的中断请求被判定为重复中断请求,后者会被标识为无效中断请求,并被拦截,使其无法发送到主机,进而减少主机的cpu负载。

本发明实施例的提供的ssd控制芯片的中断控制方法,实际应用实现简单,原理容易理解;对于host主机而言无需做任何改动,易实现、成本低,如果在一个host上插有多个高性能ssd时,减少的cpu负载会非常可观。

对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

图3示意性示出了本发明一个实施例的ssd控制芯片的中断控制装置的结构示意图。参照图3,本发明实施例的ssd控制芯片的中断控制装置具体包括监测模块301、判定模块302以及控制模块303,其中:

监测模块301,用于对ssd控制芯片的中断请求进行监测;

判定模块302,用于当监测到所述ssd控制芯片向主机发送中断请求时,判断预设的主状态机的当前状态,所述主状态机被配置为在所述ssd控制芯片向主机发送中断请求后进入发送中断状态;

控制模块303,用于若所述判定模块302的判定结果为所述主状态机为发送中断状态时,拦截所述中断请求,使其无法继续向主机发送。

在本发明的一个可选实施例中,所述控制模块303,还用于若所述判定模块502的判定结果为所述主状态机不是发送中断状态时,将所述中断请求发送到主机,并控制所述主状态机进入发送中断状态,直到所述中断请求发送完成。

本发明实施例中,所述监测模块301,具体用于对所述ssd控制芯片发送的属于同一中断队列中的任务对应的中断请求进行监测。

在本发明的一个可选实施例中,所述装置还包括附图中未示出的标识模块,该标识模块,用于在所述拦截所述中断请求之前,将所述中断请求标识为无效中断请求;

进一步地,所述控制模块303,具体用于拦截具有无效中断请求标识的中断请求。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

此外,本发明实施例还提供了一种ssd设备,该ssd设备包括ssd控制芯片以及如上任一实施例提供的ssd控制芯片的中断控制装置。

本实施例中,该ssd控制芯片的中断控制装置通过对ssd控制芯片发送的中断请求进行监测,当监测到所述ssd控制芯片向主机发送中断请求时,判断预设的主状态机的当前状态,所述主状态机被配置为在所述ssd控制芯片向主机发送中断请求后进入发送中断状态,当所述主状态机为发送中断状态时,拦截所述中断请求,使其无法继续向主机发送。

对比图4与图5,可知传统ssd设备实现ssd控制芯片的中断控制过程中并没有对重复中断进行减少,所以主机侧的cpu一定会处理大量的中断请求,增加cpu开销,影响ssd设备性能。而本发明实施例中ssd设备实现ssd控制芯片的中断控制中,对重复发送的中断请求进行拦截,使其无法继续向主机发送,就可以减少一定量的中断,来减少cpu的无效开销。其中,图4为传统ssd设备实现ssd控制芯片的中断控制的实现原理图。图5为本发明实施例中ssd设备实现ssd控制芯片的中断控制的实现原理图。

本发明实施例提供的ssd控制芯片的中断控制方法、装置及ssd设备,通过对ssd控制芯片的中断请求进行监测,以实现对重复发送的中断请求进行拦截,使其无法继续向主机发送,进而有效地减少一定数量的重复中断,以减少cpu的无效开销,提升ssd的整体性能。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1