CN117389744A - 一种闪存调度方法、系统、设备及计算机可读存储介质 - Google Patents
一种闪存调度方法、系统、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117389744A CN117389744A CN202311614318.4A CN202311614318A CN117389744A CN 117389744 A CN117389744 A CN 117389744A CN 202311614318 A CN202311614318 A CN 202311614318A CN 117389744 A CN117389744 A CN 117389744A
- Authority
- CN
- China
- Prior art keywords
- processing
- target die
- state
- die
- processing state
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 230000015654 memory Effects 0.000 title claims abstract description 65
- 238000012545 processing Methods 0.000 claims abstract description 191
- 238000004590 computer program Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 10
- 238000011084 recovery Methods 0.000 claims description 9
- 239000000725 suspension Substances 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000000875 corresponding effect Effects 0.000 description 7
- 108091006146 Channels Proteins 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 235000019580 granularity Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4498—Finite state machines
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请公开了一种闪存调度方法、系统、设备及计算机可读存储介质,涉及闪存技术领域,响应于目标Die结束对第一IO的当前处理,记录目标Die对第一IO的第一处理状态;响应于目标Die继续对第一IO的处理,发送第一处理状态至目标Die,以使目标Die基于第一处理状态继续对第一IO进行处理。本申请中,在闪存中的目标Die结束对第一IO的当前处理后,会记录目标Die对第一IO的第一处理状态,这样,后续目标Die继续对第一IO进行处理时,可以根据记录的第一处理状态继续对第一IO进行处理,实现了灵活对IO的处理进度进行管控,可以适用于Die的各个IO,操作简便且可移植性高,适用性好。
Description
技术领域
本申请涉及闪存技术领域,更具体地说,涉及一种闪存调度方法、系统、设备及计算机可读存储介质。
背景技术
当前,闪存(Flash)可以通过其物理引脚与FLASH Controller/SoC进行物理连接,其中,SoC提供了一定的Channel引脚,闪存按照一定的物理连接规则连接到各Channel上。且逐层细分之后,闪存可以被分解看作一个独立的物理执行器称之为Die。闪存IO在独立的Die上面排队串行处理,Die之间并行处理。这样,当按照一定的策略,将IO派发到Die阵列后,后端需按照Channel顺序即按照Die顺序,顺次遍历各Die,以完成命令的派发和状态的回收。
然而,此闪存调度过程按照Channel顺次遍历,逻辑层面过多关注物理层面的连接方式,造成方案复杂性高,通用性差,可移植性差。
综上所述,如何提高闪存调度的适用性是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种闪存调度方法,其能在一定程度上解决如何提高闪存调度的适用性的技术问题。本申请还提供了一种闪存调度系统、电子设备及计算机可读存储介质。
为了实现上述目的,本申请提供如下技术方案:
一种闪存调度方法,包括:
响应于目标Die结束对第一IO的当前处理,记录所述目标Die对所述第一IO的第一处理状态;
响应于所述目标Die继续对所述第一IO的处理,发送所述第一处理状态至所述目标Die,以使所述目标Die基于所述第一处理状态继续对所述第一IO进行处理。
优选的,所述响应于目标Die结束对第一IO的当前处理,记录所述目标Die对所述第一IO的第一处理状态,包括:
累积所述目标Die对所述第一IO的处理时长;
若所述处理时长等于设定的目标时长,则记录所述目标Die对所述第一IO的所述第一处理状态。
优选的,所述累积所述目标Die对所述第一IO的处理时长之前,还包括:
确定所述第一IO的IO数据量;
基于所述IO数据量确定所述目标时长。
优选的,所述响应于目标Die结束对第一IO的当前处理,记录所述目标Die对所述第一IO的第一处理状态,包括:
获取所述目标Die待处理的第二IO;
判断所述第二IO的优先级是否高于所述第一IO的优先级;
若所述第二IO的优先级高于所述第一IO的优先级,则记录所述目标Die对所述第一IO的所述第一处理状态。
优选的,所述记录所述目标Die对所述第一IO的第一处理状态之后,所述响应于所述目标Die继续对所述第一IO的处理之前,还包括:
判断是否存在记录的所述第二IO的第二处理状态;
若存在记录的所述第二处理状态,则发送所述第二处理状态至所述目标Die,以使所述目标Die基于所述第二处理状态继续对所述第二IO进行处理;
若不存在记录的所述第二处理状态,则发送所述第二IO至所述目标Die,以使所述目标Die开始对所述第二IO进行处理。
优选的,所述目标Die处理的IO的处理状态的类型包括:初始化状态、正在编程状态、编程挂起状态、编程恢复状态、正在清除状态、清除挂起状态、清除恢复状态、正在写状态、写挂起状态、写恢复状态。
优选的,所述记录所述目标Die对所述第一IO的第一处理状态,包括:
接收所述目标Die上报的对所述第一IO的所述第一处理状态;
将所述第一处理状态记录至有限状态机中。
一种闪存调度系统,包括:
记录模块,用于响应于目标Die结束对第一IO的当前处理,记录所述目标Die对所述第一IO的第一处理状态;
发送模块,用于响应于所述目标Die继续对所述第一IO的处理,发送所述第一处理状态至所述目标Die,以使所述目标Die基于所述第一处理状态继续对所述第一IO进行处理。
一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述闪存调度方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述闪存调度方法的步骤。
本申请提供的一种闪存调度方法,响应于目标Die结束对第一IO的当前处理,记录目标Die对第一IO的第一处理状态;响应于目标Die继续对第一IO的处理,发送第一处理状态至目标Die,以使目标Die基于第一处理状态继续对第一IO进行处理。本申请中,在闪存中的目标Die结束对第一IO的当前处理后,会记录目标Die对第一IO的第一处理状态,这样,后续目标Die继续对第一IO进行处理时,可以根据记录的第一处理状态继续对第一IO进行处理,整个IO调度过程中无需关注Channel和闪存的物理拓扑结构,实现了灵活对IO的处理进度进行管控,可以适用于Die的各个IO,操作简便且可移植性高,适用性好。本申请提供的一种闪存调度系统、电子设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种闪存调度方法的第一流程图;
图2为处理状态的类型示意图;
图3为有限状态机的示意图;
图4为本申请实施例提供的一种闪存调度方法的第二流程图;
图5为本申请实施例提供的一种闪存调度方法的第三流程图;
图6为结合FSM来对闪存的IO进行调度的示意图;
图7为Die中IO写入点顺次后移的示意图;
图8为本申请实施例提供的一种闪存调度系统的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图;
图10为本申请实施例提供的一种电子设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的一种闪存调度方法的第一流程图。
本申请实施例提供的一种闪存调度方法,可以包括以下步骤:
步骤S101:响应于目标Die结束对第一IO的当前处理,记录目标Die对第一IO的第一处理状态。
实际应用中,可以先判断是否结束目标Die对第一IO的当前处理,若是,也即响应于目标Die结束对第一IO的当前处理,则记录目标Die对第一IO的第一处理状态,以借助第一处理状态表征第一IO的处理进度。
需要说明的是,目标Die结束对第一IO的当前处理的条件可以根据实际需要确定,比如可以是目标Die需要处理需紧急处理的其他IO等,本申请在此不做具体限定。
步骤S102:响应于目标Die继续对第一IO的处理,发送第一处理状态至目标Die,以使目标Die基于第一处理状态继续对第一IO进行处理。
实际应用中,在记录标Die对第一IO的第一处理状态之后,当判定目标Die继续对第一IO进行处理时,也即响应于目标Die继续对第一IO的处理,则可以发送第一处理状态至目标Die,以使目标Die基于第一处理状态继续对第一IO进行处理。如此一来,借助对IO的处理状态的记录,可以灵活对IO的处理进度进行管控,不难理解,当按照本申请方法对多个IO的处理进行管控时,便实现了对闪存IO的灵活调度。
具体应用场景中,可以根据IO的处理过程来对IO的处理状态进行阶段式划分,比如目标Die处理的IO的处理状态的类型可以包括:初始化状态、正在编程状态、编程挂起状态、编程恢复状态、正在清除状态、清除挂起状态、清除恢复状态、正在写状态、写挂起状态、写恢复状态等。需要说明的是,考虑到上一次记录的处理状态可以看做继续对IO进行处理的上文,所以可以借助上下文来记录IO的处理状态,如图2所示。
具体应用场景中,在记录目标Die对第一IO的第一处理状态的过程中,考虑到IO管控频繁时,依靠轮询技术获取IO的处理状态的话,负载较高,为避免此种情况,可以设置目标Die主动上报相应的处理状态,且可以借助有限状态机统一对所有的处理状态进行管理,也即可以接收目标Die上报的对第一IO的第一处理状态;将第一处理状态记录至有限状态机中。有限状态机的相应信息可以如图3所示,其中FSM(Finite State Machine,有限状态机)Loader用于将Die执行对象的状态Load存入Die FSM Map,暂停Die执行;FSM Storer用于将Die FSM Map里面的Store等数据恢复到Die,继续Die执行;Priority&RT-InterruptManager,用于完成IO优先级管理,中断管理,以实现Die事件、状态的主动上报,以及调度器主动查询等;Die FSM Map属于Die的映射管理单元,物理层面的Die通过此单元完成逻辑层面的映射,使得上层应用仅需关注映射Mapped之后的逻辑Die状态,完成逻辑层面的调度;Scheduler用于负责时间片管理,中断响应,命令分发,状态机推动等。
需要说明的是,目标Die上报第一IO的第一处理状态的时机可以根据实际需要灵活确定,比如可以是目标Die接收到暂停对第一IO的处理指令后便上报第一处理状态,也可以是目标Die定时上报第一处理状态等,本申请在此不做具体限定。
本申请提供的一种闪存调度方法,响应于目标Die结束对第一IO的当前处理,记录目标Die对第一IO的第一处理状态;响应于目标Die继续对第一IO的处理,发送第一处理状态至目标Die,以使目标Die基于第一处理状态继续对第一IO进行处理。本申请中,在闪存中的目标Die结束对第一IO的当前处理后,会记录目标Die对第一IO的第一处理状态,这样,后续目标Die继续对第一IO进行处理时,可以根据记录的第一处理状态继续对第一IO进行处理,整个IO调度过程中无需关注Channel和闪存的物理拓扑结构,实现了灵活对IO的处理进度进行管控,可以适用于Die的各个IO,操作简便且可移植性高,适用性好。
请参阅图4,图4为本申请实施例提供的一种闪存调度方法的第二流程图。
本申请实施例提供的一种闪存调度方法,可以包括以下步骤:
步骤S201:累积目标Die对第一IO的处理时长。
步骤S202:若处理时长等于设定的目标时长,则记录目标Die对第一IO的第一处理状态。
实际应用中,考虑到现有Die处理IO时,是按照IO数量进行处理的,也即会按照Flash的物理拓扑和边界将前端命令拆分成离散的Flash命令序列,即使这些前端命令在逻辑上、在物理上都连续,依然需要完成拆分,此类拆分,最终会以Flash IO的形式派发给到Flash控制器。而在执行阶段,Flash控制器基于Flash IO完成调度、执行,因此使得此种逻辑层面的大IO在Flash执行层面表现成离散的Flash IO,最终表现成调度器或者总线的频繁抢占、释放,带来总线带宽的浪费,并且天然的造成延迟上升,QoS变差的效果。为了避免此种情况,在响应于目标Die结束对第一IO的当前处理,记录目标Die对第一IO的第一处理状态的过程中,可以累积目标Die对第一IO的处理时长;若处理时长等于设定的目标时长,则记录目标Die对第一IO的第一处理状态。换言之,本申请基于时间片来对IO进行处理,如此一来,在逻辑上连续的大IO,在Flash调度执行层面,在时间片内无需完成IO间的调度和总线切换,最终可以降低延迟,提升QoS。
具体应用场景中,在累积目标Die对第一IO的处理时长之前,还可以预估第一IO的目标时长,比如可以根据IO数据量来确定,也即可以确定第一IO的IO数据量,IO数据量可以包括IO个数和各个IO的数据量等;基于IO数据量确定目标时长。不难理解,当各类IO均按照IO数据量来确定目标时长,且Die按照目标时长处理IO后,各类IO间的比例关系会表现为所分配的时间片的比例关系,从而无需按比例对每类IO进行数量流控,可以降低IO分配复杂度。
步骤S203:响应于目标Die继续对第一IO的处理,发送第一处理状态至目标Die,以使目标Die基于第一处理状态继续对第一IO进行处理。
请参阅图5,图5为本申请实施例提供的一种闪存调度方法的第三流程图。
本申请实施例提供的一种闪存调度方法,可以包括以下步骤:
步骤S301:获取目标Die待处理的第二IO。
步骤S302:判断第二IO的优先级是否高于第一IO的优先级;若第二IO的优先级高于第一IO的优先级,则执行步骤S303。
步骤S303:记录目标Die对第一IO的第一处理状态。
实际应用中,可以根据IO的处理优先级来对IO进行处理进度调整,也即优先级高的IO会先被处理,换言之,优先级高的IO会使得优先级低的IO的处理中断,为此,在响应于目标Die结束对第一IO的当前处理,记录目标Die对第一IO的第一处理状态的过程中,可以获取目标Die待处理的第二IO;判断第二IO的优先级是否高于第一IO的优先级;若第二IO的优先级高于第一IO的优先级,则记录目标Die对第一IO的第一处理状态。相应的,若第二IO的优先级低于第一IO的优先级,则可以控制目标Die继续对第一IO进行处理等。
具体应用场景中,当IO数量较多时,优先级高的IO会导致优先级低的IO的处理进度中断,而优先级低的IO会导致优先级更低的IO的处理进度中断,如此一来,IO可能被中断处理而保存有相应的处理状态,为了有效对IO的处理状态进行处理,在记录目标Die对第一IO的第一处理状态之后,响应于目标Die继续对第一IO的处理之前,还可以判断是否存在记录的第二IO的第二处理状态;若存在记录的第二处理状态,则发送第二处理状态至目标Die,以使目标Die基于第二处理状态继续对第二IO进行处理;若不存在记录的第二处理状态,则发送第二IO至目标Die,以使目标Die从头开始对第二IO进行处理。
步骤S304:响应于目标Die继续对第一IO的处理,发送第一处理状态至目标Die,以使目标Die基于第一处理状态继续对第一IO进行处理。
为了便于理解本申请提供的闪存调度方法,现结合FSM来对闪存的IO调度过程进行描述,其过程可以如图6所示,包括以下步骤:
初始化,完成物理Die到逻辑Die的映射,比如根据前端用户命名空间的特征,或者前端用户命名空间的IO特征,如:读频繁,写频繁,顺序特征,随机特征,或者FLASH特征来将物理位置的Die映射到逻辑顺序的Die,如有些FLASH写性能友好,那么可以与前端写频繁的命名空间进行绑定映射,以便后续过程基于逻辑Die进行IO调度;
创建Die Map;
判断是否有IO需要调度;
若否,则进行低功耗模式,返回判断是否有IO需要调度的步骤;
若是,则为IO分配时间片,分配优先级;
将IO插入事件List;
从事件List中获取最高优先级IO;
Load to Map,并暂停低优先级IO;
Store from Map,启动高优先级IO;
Die IO FSM Execute;
判断是否时间片耗尽或者IO结束;
若是,则返回执行从事件List中获取最高优先级IO的步骤;
若否,则调度出让或者中断,返回执行从事件List中获取最高优先级IO的步骤。
经过本申请方法的处理,在时间维度上,某个时刻,每个逻辑Die可以处于图3所示任意状态,在空间维度以及Die个体上,其状态演变可以如下:
由此可知,本申请将Die对IO的处理进度作为上下文来对IO处理的进度进行灵活管控,在此过程中,可以打破闪存写前需要擦除、读写粒度不同的特征,比如在擦除受阻后记录擦除进度之后再继续进行擦除等,从而可以解决如图7所示的斜线填充的写入点顺次后移等问题。
请参阅图8,图8为本申请实施例提供的一种闪存调度系统的结构示意图。
本申请实施例提供的一种闪存调度系统,可以包括:
记录模块101,用于响应于目标Die结束对第一IO的当前处理,记录目标Die对第一IO的第一处理状态;
发送模块102,用于响应于目标Die继续对第一IO的处理,发送第一处理状态至目标Die,以使目标Die基于第一处理状态继续对第一IO进行处理。
本申请实施例提供的一种闪存调度系统,记录模块可以包括:
第一累积单元,用于累积目标Die对第一IO的处理时长;
第一记录单元,用于若处理时长等于设定的目标时长,则记录目标Die对第一IO的第一处理状态。
本申请实施例提供的一种闪存调度系统,还可以包括:
第一确定单元,用于第一累积单元累积目标Die对第一IO的处理时长之前,确定第一IO的IO数据量;
第二确定单元,用于基于IO数据量确定目标时长。
本申请实施例提供的一种闪存调度系统,记录模块可以包括:
第一获取单元,用于获取目标Die待处理的第二IO;
第一判断单元,用于判断第二IO的优先级是否高于第一IO的优先级;若第二IO的优先级高于第一IO的优先级,则记录目标Die对第一IO的第一处理状态。
本申请实施例提供的一种闪存调度系统,还可以包括:
判断模块,用于记录模块记录目标Die对第一IO的第一处理状态之后,发送模块响应于目标Die继续对第一IO的处理之前,判断是否存在记录的第二IO的第二处理状态;若存在记录的第二处理状态,则发送第二处理状态至目标Die,以使目标Die基于第二处理状态继续对第二IO进行处理;若不存在记录的第二处理状态,则发送第二IO至目标Die,以使目标Die开始对第二IO进行处理。
本申请实施例提供的一种闪存调度系统,目标Die处理的IO的处理状态的类型包括:初始化状态、正在编程状态、编程挂起状态、编程恢复状态、正在清除状态、清除挂起状态、清除恢复状态、正在写状态、写挂起状态、写恢复状态。
本申请实施例提供的一种闪存调度系统,记录模块可以包括:
第一接收单元,用于接收目标Die上报的对第一IO的第一处理状态;
第二记录单元,用于将第一处理状态记录至有限状态机中。
本申请还提供了一种电子设备及计算机可读存储介质,其均具有本申请实施例提供的一种闪存调度方法具有的对应效果。请参阅图9,图9为本申请实施例提供的一种电子设备的结构示意图。
本申请实施例提供的一种电子设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如上任一实施例所描述闪存调度方法的步骤。
请参阅图10,本申请实施例提供的另一种电子设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现电子设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(Mobile High-Definition Link,MHL)、通用串行总线(Universal Serial Bus,USB)、高清多媒体接口(High-DefinitionMultimedia Interface,HDMI)、无线连接:无线保真技术(WIreless Fidelity,WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如上任一实施例所描述闪存调度方法的步骤。
本申请所涉及的计算机可读存储介质包括随机存储器(Random Access Memory,RAM)、内存、只读存储器(Read-Only Memory,ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、或技术领域内所公知的任意其它形式的存储介质。
本申请实施例提供的闪存调度系统、电子设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的闪存调度方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种闪存调度方法,其特征在于,包括:
响应于目标Die结束对第一IO的当前处理,记录所述目标Die对所述第一IO的第一处理状态;
响应于所述目标Die继续对所述第一IO的处理,发送所述第一处理状态至所述目标Die,以使所述目标Die基于所述第一处理状态继续对所述第一IO进行处理。
2.根据权利要求1所述的方法,其特征在于,所述响应于目标Die结束对第一IO的当前处理,记录所述目标Die对所述第一IO的第一处理状态,包括:
累积所述目标Die对所述第一IO的处理时长;
若所述处理时长等于设定的目标时长,则记录所述目标Die对所述第一IO的所述第一处理状态。
3.根据权利要求2所述的方法,其特征在于,所述累积所述目标Die对所述第一IO的处理时长之前,还包括:
确定所述第一IO的IO数据量;
基于所述IO数据量确定所述目标时长。
4.根据权利要求1所述的方法,其特征在于,所述响应于目标Die结束对第一IO的当前处理,记录所述目标Die对所述第一IO的第一处理状态,包括:
获取所述目标Die待处理的第二IO;
判断所述第二IO的优先级是否高于所述第一IO的优先级;
若所述第二IO的优先级高于所述第一IO的优先级,则记录所述目标Die对所述第一IO的所述第一处理状态。
5.根据权利要求4所述的方法,其特征在于,所述记录所述目标Die对所述第一IO的第一处理状态之后,所述响应于所述目标Die继续对所述第一IO的处理之前,还包括:
判断是否存在记录的所述第二IO的第二处理状态;
若存在记录的所述第二处理状态,则发送所述第二处理状态至所述目标Die,以使所述目标Die基于所述第二处理状态继续对所述第二IO进行处理;
若不存在记录的所述第二处理状态,则发送所述第二IO至所述目标Die,以使所述目标Die开始对所述第二IO进行处理。
6.根据权利要求1所述的方法,其特征在于,所述目标Die处理的IO的处理状态的类型包括:初始化状态、正在编程状态、编程挂起状态、编程恢复状态、正在清除状态、清除挂起状态、清除恢复状态、正在写状态、写挂起状态、写恢复状态。
7.根据权利要求1所述的方法,其特征在于,所述记录所述目标Die对所述第一IO的第一处理状态,包括:
接收所述目标Die上报的对所述第一IO的所述第一处理状态;
将所述第一处理状态记录至有限状态机中。
8.一种闪存调度系统,其特征在于,包括:
记录模块,用于响应于目标Die结束对第一IO的当前处理,记录所述目标Die对所述第一IO的第一处理状态;
发送模块,用于响应于所述目标Die继续对所述第一IO的处理,发送所述第一处理状态至所述目标Die,以使所述目标Die基于所述第一处理状态继续对所述第一IO进行处理。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述闪存调度方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述闪存调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311614318.4A CN117389744A (zh) | 2023-11-27 | 2023-11-27 | 一种闪存调度方法、系统、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311614318.4A CN117389744A (zh) | 2023-11-27 | 2023-11-27 | 一种闪存调度方法、系统、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117389744A true CN117389744A (zh) | 2024-01-12 |
Family
ID=89465079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311614318.4A Pending CN117389744A (zh) | 2023-11-27 | 2023-11-27 | 一种闪存调度方法、系统、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117389744A (zh) |
-
2023
- 2023-11-27 CN CN202311614318.4A patent/CN117389744A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9244617B2 (en) | Scheduling requests in a solid state memory device | |
CN102508619A (zh) | 存储系统服务质量控制方法、系统和存储系统 | |
US10884667B2 (en) | Storage controller and IO request processing method | |
CN106383742B (zh) | 一种基于linux的IO调度方法 | |
CN106227621A (zh) | 基于逻辑卷管理精简卷的数据备份方法及系统 | |
US11010094B2 (en) | Task management method and host for electronic storage device | |
US20170123975A1 (en) | Centralized distributed systems and methods for managing operations | |
CN112579263A (zh) | 任务执行方法及装置、存储介质及电子设备 | |
JP5405663B2 (ja) | メモリ管理装置、メモリ管理方法、メモリ管理プログラム、メモリ管理プログラムを記録したコンピュータ読み取り可能な記録媒体及び集積回路 | |
CN109756429A (zh) | 带宽分配方法及设备 | |
CN108156208A (zh) | 一种应用程序数据的发布方法、装置和系统 | |
CN117389744A (zh) | 一种闪存调度方法、系统、设备及计算机可读存储介质 | |
CN115033370B (zh) | 存储设备中闪存任务调度方法、装置、存储介质及设备 | |
CN102063383B (zh) | 一种逻辑区段和物理区段之间映射关系的记录方法 | |
CN109976953A (zh) | 一种数据备份方法 | |
CN112463027B (zh) | 一种i/o处理方法、系统、设备及计算机可读存储介质 | |
US20230393782A1 (en) | Io request pipeline processing device, method and system, and storage medium | |
CN112463028B (zh) | 一种i/o处理方法、系统、设备及计算机可读存储介质 | |
CN111562883A (zh) | 固态硬盘的缓存管理系统、方法、装置 | |
CA3238254A1 (en) | Storage control method, storage controller, storage chip, network card, and readable medium | |
CN109977074A (zh) | 一种基于hdfs的lob数据处理方法及装置 | |
CN115657953A (zh) | 一种数据存储方法、装置、设备及计算机可读存储介质 | |
CN109522121A (zh) | 一种内存申请方法、装置、终端及计算机可读存储介质 | |
CN108255424A (zh) | 一种NVMe固态硬盘IO响应延迟的保障方法 | |
CN105573920B (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 |