一种企业级固态硬盘的访问负载均衡方法与流程
本发明涉及固态硬盘访问调度,具体的说是一种企业级固态硬盘的访问负载均衡方法。
背景技术:
1、现有技术中,企业级固态硬盘通常需要同时处理大量并发读写请求,控制器内部的访问调度队列与nand闪存通道、die、plane等闪存访问资源之间存在较强的资源竞争关系。当队首访问请求所需的某一闪存访问资源正被在先请求占用时,若仍严格按照队列先后顺序等待该资源释放,则即使后续请求所需的其他闪存访问资源处于空闲状态,也可能因队首请求阻塞而无法及时下发,形成队首阻塞现象。随着企业级业务负载呈现高并发、混合读写和访问位置离散等特征,上述阻塞会造成部分闪存资源空闲、并行度下降,并使请求响应时延及尾时延增大,因而访问调度过程不仅需要考虑请求到达次序,还需要兼顾实际资源占用状态以及不同请求之间的数据访问顺序约束。
2、现有公开技术已从不同层面对固态硬盘负载均衡进行改进。例如,申请公布号为cn116185631a的中国专利公开了一种多核结构固态硬盘的负载均衡方法,其通过统计各处理核在周期内的最大任务时长、空闲总时长和最大空闲间隔时长计算空闲值,并据此将待处理io任务分配至目标核,以改善多核控制器侧的任务负载分配。该方案能够降低因处理核繁忙造成的io处理延迟,但其调度对象主要为控制器处理核,重点在于处理器算力负载的选择与分配,并未针对访问调度队列中队首请求因底层闪存访问资源被占用而产生的连续阻塞关系进行处理,也未给出在保持数据访问顺序约束的条件下,从队首之后选择可利用空闲闪存资源的请求提前下发的机制。
3、此外,申请公布号为cn119292541a的中国专利公开了一种用于固态硬盘的负载协同调度方法及系统,通过对主控制器数据进行采集和负载预测,并对物理地址分配、缓存调度及多通道并行传输实施协同控制,从而改善多维资源的负载均衡。该方案侧重基于负载特征预测和多目标优化形成整体调度决策,能够从宏观层面提高资源利用率,但在具体请求级访问过程中,仍存在如何识别导致队首请求无法下发的阻塞资源、如何避免被选后续请求与阻塞链路或在先请求发生资源及顺序冲突、以及如何在阻塞解除后恢复队首请求原有调度优先性的技术需求。因此,有必要提供一种面向企业级固态硬盘访问调度队列、基于实际闪存资源占用关系进行请求重排的访问负载均衡方法,以减少队首阻塞对内部并行性的限制。
技术实现思路
1、本发明的目的是提供一种企业级固态硬盘的访问负载均衡方法,从而解决背景技术中所指出的部分弊端和不足。
2、本发明解决其上述的技术问题所采用以下的技术方案:
3、获取访问调度队列中的多个访问请求,确定各访问请求对应的闪存访问资源及其占用状态;当位于所述访问调度队列队首的第一访问请求因所需闪存访问资源被已下发且未完成的在先访问请求占用而无法下发时,根据所述第一访问请求与所述在先访问请求之间的资源占用关系确定阻塞资源,从所述第一访问请求之后的访问请求中,选择所需闪存访问资源与所述阻塞资源不存在交集、与所述在先访问请求不存在数据访问顺序依赖且所需闪存访问资源未被占用的第二访问请求;将所述第二访问请求在所述第一访问请求之前下发,并在所述阻塞资源解除占用后下发所述第一访问请求,以利用未被占用且与所述阻塞资源不存在交集的闪存访问资源执行访问请求,实现访问负载均衡。
4、进一步地,沿所述第一访问请求等待的闪存访问资源,逐级追溯占用对应闪存访问资源的访问请求以及所述访问请求继续等待的闪存访问资源,将追溯获得的闪存访问资源组成阻塞资源集合,并从所述第一访问请求之后的访问请求中选择所需闪存访问资源与所述阻塞资源集合不存在交集的访问请求作为所述第二访问请求。
5、进一步地,根据候选访问请求相邻执行阶段对闪存访问资源的占用状态,选择能够使用未被占用的闪存访问资源,并在所述阻塞资源解除占用前释放与所述第一访问请求共用的闪存访问资源的候选访问请求作为所述第二访问请求。
6、进一步地,在所述第一访问请求因所述阻塞资源被占用而无法下发时,将所述第一访问请求按照所述访问调度队列的调度次序获得的下发资格确定为调度机会,并将所述调度机会转移至所述第二访问请求;在所述阻塞资源解除占用后,将所述调度机会返回所述第一访问请求,使所述第一访问请求在尚未取得调度机会的后续访问请求之前下发。
7、进一步地,在确定所述候选访问请求时,比较所述候选访问请求的一个执行阶段与相邻的后一执行阶段之间的资源切换关系,将能够在释放前一执行阶段占用的闪存访问资源后无需等待资源释放即可取得另一处于未占用状态的闪存访问资源的候选访问请求优先确定为所述第二访问请求,以减少相邻执行阶段之间的资源等待。
8、进一步地,在所述第二访问请求执行期间,监测所述第二访问请求的后一执行阶段是否需要重新占用与所述第一访问请求共用的闪存访问资源;若需要,则在进入所述后一执行阶段前暂停所述第二访问请求对所述共用的闪存访问资源的取得,在所述阻塞资源解除占用后先由所述第一访问请求取得对应闪存访问资源,再允许所述第二访问请求取得对应闪存访问资源。
9、进一步地,当多个所述候选访问请求均能够使用未被占用的闪存访问资源时,将执行完成后能够释放两个或多个不同闪存访问资源的候选访问请求优先确定为所述第二访问请求,并将所释放的闪存访问资源分配给处于等待状态且所需闪存访问资源与所述阻塞资源不存在交集的后续访问请求。
10、进一步地,所述调度机会转移至所述第二访问请求后,使所述第二访问请求完成获得所述调度机会时所在的执行阶段;当所述阻塞资源在所述执行阶段结束前解除占用时,不再将所述调度机会传递至所述第二访问请求的后一执行阶段,并将所述调度机会返回所述第一访问请求。
11、进一步地,当多个访问请求因所述阻塞资源被占用而无法下发时,将所述多个访问请求确定为待恢复访问请求,并分别保留各待恢复访问请求在所述访问调度队列中的调度次序;在所述阻塞资源解除占用后,按照所保留的调度次序向所述待恢复访问请求依次返回调度机会,并禁止位于所述第二访问请求之后的访问请求取得由所述待恢复访问请求转移的调度机会。
12、进一步地,在所述阻塞资源解除占用后,按照所述调度次序向各待恢复访问请求逐一返回调度机会;每一待恢复访问请求取得所述阻塞资源、完成访问并释放所述阻塞资源后,向所述调度次序中的后一待恢复访问请求返回调度机会,以使所述待恢复访问请求按照所述调度次序逐一取得所述阻塞资源。
13、本发明通过获取访问调度队列中的多个访问请求,并确定各访问请求对应的闪存访问资源及其占用状态,在队首第一访问请求因所需资源被在先访问请求占用而无法下发时,根据二者之间的资源占用关系确定阻塞资源,从队首之后选择所需闪存访问资源与阻塞资源不存在交集、与在先访问请求不存在数据访问顺序依赖且所需资源未被占用的第二访问请求,使该第二访问请求能够先于第一访问请求下发。由此可在不破坏数据访问顺序约束的前提下利用原本处于空闲状态的闪存访问资源,减弱队首阻塞对后续请求的连带影响,提高固态硬盘内部访问并行度和闪存资源利用率。
14、同时,在阻塞资源解除占用后再下发第一访问请求,使因资源竞争被暂时阻塞的队首请求能够恢复执行,兼顾访问请求的调度秩序与资源利用效率。相较于单纯等待队首请求所需资源释放的顺序调度方式,本发明能够降低因局部资源占用导致的整体队列停滞概率,缩短部分访问请求的等待时间,改善高并发负载下的访问吞吐能力和响应性能,从而实现企业级固态硬盘访问负载在可用闪存资源之间的均衡调度。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com