一种多通道SSD固态盘IO调度方法及装置制造方法及图纸

技术编号:16079552 阅读:59 留言:0更新日期:2017-08-25 15:18
本发明专利技术公开了一种多通道SSD固态盘IO调度方法及装置,根据预先设置的优先级顺序从IO请求队列中读取待处理请求命令;确定多通道SSD固态盘中待处理请求命令对应的处理通道;根据处理通道的预设调度策略,判断待处理请求命令是否可以被调度;如果是,则将待处理请求命令放入处理通道的执行队列中;如果否,则将待处理请求命令放入等待队列中。本申请通过划分优先级并同时设置每个通道的调度策略,可以对通道的IO请求进行整体控制,实现不同场景模式下IO调度效率的最大化,使得各个通道的执行时间均匀分布,降低了通道调度的整体等待时间,提高了各个通道的并行度。

【技术实现步骤摘要】
一种多通道SSD固态盘IO调度方法及装置
本专利技术涉及请求命令调度
,特别是涉及一种多通道SSD固态盘IO调度方法及装置。
技术介绍
IO请求的紧迫程度和执行时间不同,而且差别比较大,像NandRead执行仅需要十几微秒,而NandErase操作则需要毫秒级别。如果一个通道有多个NandErase操作,则后边优先级更高的NandRead命令则迟迟得不到执行,导致有的通道很快执行完,而有的通道一直处于阻塞状态。可见,现有技术很容易造成各个通道的执行时间不均衡,与我们使各个通道平均执行时间最短的目标相违背。鉴于此,提供一种使得各个通道的执行时间均匀分布的调度方法是本领域技术人员亟待解决的技术问题。
技术实现思路
本专利技术的目的是提供一种多通道SSD固态盘IO调度方法及装置,以解决现有技术中各个通道之间执行时间不平衡、导致整体等待时间较长的问题。为解决上述技术问题,本专利技术提供一种多通道SSD固态盘IO调度方法,包括:根据预先设置的优先级顺序从IO请求队列中读取待处理请求命令;确定多通道SSD固态盘中所述待处理请求命令对应的处理通道;根据所述处理通道的预设调度策略,判断所述待处理请求命令是否可以被调度;如果是,则将所述待处理请求命令放入所述处理通道的执行队列中;如果否,则将所述待处理请求命令放入等待队列中。可选地,所述优先级顺序为根据请求命令的紧迫程度以及执行时间确定的顺序。可选地,所述预设调度策略为IO调度策略表,包含不同的请求命令在不同的通道队列深度下是否可以被调度的信息。可选地,所述待处理请求命令包括配置请求命令、读请求命令、写请求命令以及擦除请求命令。可选地,所述根据预先设置的优先级顺序从IO请求队列中读取待处理请求命令包括:从所述IO请求队列中读取优先级最高的请求命令队列;当所述优先级最高的请求命令队列为空时,则读取优先级次之的请求命令队列,直到读取的请求队列不为空时,从中读取待处理请求命令。本专利技术还提供了一种多通道SSD固态盘IO调度装置,包括:读取模块,用于根据预先设置的优先级顺序从IO请求队列中读取待处理请求命令;通道确定模块,用于确定多通道SSD固态盘中所述待处理请求命令对应的处理通道;判断模块,用于根据所述处理通道的预设调度策略,判断所述待处理请求命令是否可以被调度;执行模块,用于在判定所述待处理请求命令可以被调度时,则将所述待处理请求命令放入所述处理通道的执行队列中;在判定所述待处理请求命令不可以被调度时,则将所述待处理请求命令放入等待队列中。可选地,所述优先级顺序为根据请求命令的紧迫程度以及执行时间确定的顺序。可选地,所述预设调度策略为IO调度策略表,包含不同的请求命令在不同的通道队列深度下是否可以被调度的信息。可选地,所述待处理请求命令包括配置请求命令、读请求命令、写请求命令以及擦除请求命令。可选地,所述读取模块具体用于:从所述IO请求队列中读取优先级最高的请求命令队列;当所述优先级最高的请求命令队列为空时,则读取优先级次之的请求命令队列,直到读取的请求队列不为空时,从中读取待处理请求命令。本专利技术所提供的多通道SSD固态盘IO调度方法及装置,根据预先设置的优先级顺序从IO请求队列中读取待处理请求命令;确定多通道SSD固态盘中待处理请求命令对应的处理通道;根据处理通道的预设调度策略,判断待处理请求命令是否可以被调度;如果是,则将待处理请求命令放入处理通道的执行队列中;如果否,则将待处理请求命令放入等待队列中。本申请通过划分优先级并同时设置每个通道的调度策略,可以对通道的IO请求进行整体控制,实现不同场景模式下IO调度效率的最大化,使得各个通道的执行时间均匀分布,降低了通道调度的整体等待时间,提高了各个通道的并行度。附图说明为了更清楚的说明本专利技术实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术所提供的多通道SSD固态盘IO调度方法的一种具体实施方式的流程图;图2为本专利技术所提供的多通道SSD固态盘IO调度方法的另一种具体实施方式的流程图;图3为本专利技术实施例提供的多通道SSD固态盘IO调度装置的结构框图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术所提供的多通道SSD固态盘IO调度方法的一种具体实施方式的流程图如图1所示,该方法包括:步骤S101:根据预先设置的优先级顺序从IO请求队列中读取待处理请求命令;需要指出的是,本申请中优先级顺序为根据请求命令的紧迫程度以及执行时间确定的顺序。根据优先级顺序从IO请求中读取请求命令。请求命令包括配置请求命令、读请求命令、写请求命令以及擦除请求命令。具体地,根据预先设置的优先级顺序从IO请求队列中读取待处理请求命令可以为:从所述IO请求队列中读取优先级最高的请求命令队列;当所述优先级最高的请求命令队列为空时,则读取优先级次之的请求命令队列,直到读取的请求队列不为空时,从中读取待处理请求命令。步骤S102:确定多通道SSD固态盘中所述待处理请求命令对应的处理通道;步骤S103:根据所述处理通道的预设调度策略,判断所述待处理请求命令是否可以被调度;预设调度策略为IO调度策略表,包含不同的请求命令在不同的通道队列深度下是否可以被调度的信息。具体地,可以在SSD固态硬盘的每个通道中预先设置自己的IO调度策略表,在进行IO调度时,通过查询本通道的IO调度策略表,判断当前请求指令是否可以进行调度。需要指出的是,预设调度策略可以根据本领域的经验数据进行设置,以使各个通道之间的执行时间保持平衡。当然预设调度策略还可以根据实际情况灵活进行配置,这均不影响本专利技术的实现。步骤S104:如果是,则将所述待处理请求命令放入所述处理通道的执行队列中;如果否,则将所述待处理请求命令放入等待队列中。在判定所述待处理请求命令可以被调度时,则将所述待处理请求命令放入所述处理通道的执行队列中,下发进行调度的指令;在判定所述待处理请求命令不可以被调度时,则将所述待处理请求命令放入等待队列的队尾,以等待调度。本专利技术所提供的多通道SSD固态盘IO调度方法,根据预先设置的优先级顺序从IO请求队列中读取待处理请求命令;确定多通道SSD固态盘中待处理请求命令对应的处理通道;根据处理通道的预设调度策略,判断待处理请求命令是否可以被调度;如果是,则将待处理请求命令放入处理通道的执行队列中;如果否,则将待处理请求命令放入等待队列中。本申请通过划分优先级并同时设置每个通道的调度策略,可以对通道的IO请求进行整体控制,实现不同场景模式下IO调度效率的最大化,使得各个通道的执行时间均匀分布,降低了通道调度的整体等待时间,提高了各个通道的并行度。下面对本专利技术所提供的多通道SSD固态盘IO调度方法的另一种具体实施方式进行进一步详细介绍。请求命令具体包括配置请求命令、本文档来自技高网
...
一种多通道SSD固态盘IO调度方法及装置

【技术保护点】
一种多通道SSD固态盘IO调度方法,其特征在于,包括:根据预先设置的优先级顺序从IO请求队列中读取待处理请求命令;确定多通道SSD固态盘中所述待处理请求命令对应的处理通道;根据所述处理通道的预设调度策略,判断所述待处理请求命令是否可以被调度;如果是,则将所述待处理请求命令放入所述处理通道的执行队列中;如果否,则将所述待处理请求命令放入等待队列中。

【技术特征摘要】
1.一种多通道SSD固态盘IO调度方法,其特征在于,包括:根据预先设置的优先级顺序从IO请求队列中读取待处理请求命令;确定多通道SSD固态盘中所述待处理请求命令对应的处理通道;根据所述处理通道的预设调度策略,判断所述待处理请求命令是否可以被调度;如果是,则将所述待处理请求命令放入所述处理通道的执行队列中;如果否,则将所述待处理请求命令放入等待队列中。2.如权利要求1所述的多通道SSD固态盘IO调度方法,其特征在于,所述优先级顺序为根据请求命令的紧迫程度以及执行时间确定的顺序。3.如权利要求2所述的多通道SSD固态盘IO调度方法,其特征在于,所述预设调度策略为IO调度策略表,包含不同的请求命令在不同的通道队列深度下是否可以被调度的信息。4.如权利要求1至3任一项所述的多通道SSD固态盘IO调度方法,其特征在于,所述待处理请求命令包括配置请求命令、读请求命令、写请求命令以及擦除请求命令。5.如权利要求4所述的多通道SSD固态盘IO调度方法,其特征在于,所述根据预先设置的优先级顺序从IO请求队列中读取待处理请求命令包括:从所述IO请求队列中读取优先级最高的请求命令队列;当所述优先级最高的请求命令队列为空时,则读取优先级次之的请求命令队列,直到读取的请求队列不为空时,从中读取待处理请求命令。6.一种多通道SSD固态盘IO调度装置...

【专利技术属性】
技术研发人员:赵贺辉
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1