CN117891410B - 一种存储器***及闪存存储器的数据处理方法 - Google Patents
一种存储器***及闪存存储器的数据处理方法 Download PDFInfo
- Publication number
- CN117891410B CN117891410B CN202410288305.0A CN202410288305A CN117891410B CN 117891410 B CN117891410 B CN 117891410B CN 202410288305 A CN202410288305 A CN 202410288305A CN 117891410 B CN117891410 B CN 117891410B
- Authority
- CN
- China
- Prior art keywords
- flash memory
- mode
- controller
- data writing
- layer unit
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 239000002356 single layer Substances 0.000 claims abstract description 82
- 239000010410 layer Substances 0.000 claims abstract description 77
- 230000006399 behavior Effects 0.000 claims abstract description 18
- 210000004027 cell Anatomy 0.000 description 59
- 238000000034 method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 2
- 238000004064 recycling Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
Landscapes
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种存储器***及闪存存储器的数据处理方法,包括闪存存储器以及控制器;所述控制器被配置为在空闲时间内,对所述闪存存储器执行第一垃圾回收操作,在运行时间内,基于主机写入命令对所述闪存存储器进行数据写入;所述控制器还被配置为对所述闪存存储器进行数据写入时,基于判断参数,确定所述闪存存储器的数据写入模式,所述数据写入模式包括单层单元模式以及多层单元模式;其中,所述判断参数包括所述闪存存储器中剩余空间量以及根据当前主机行为获取的所述闪存存储器的寿命值。本发明能够大大提高数据写入性能。
Description
技术领域
本发明涉及存储器,特别涉及一种存储器***及闪存存储器的数据处理方法。
背景技术
固态硬盘等存储器***中的数据主要存储于闪存存储器中,闪存存储器中包括多个物理块(block),数据存储于多个物理块(block)中。当多个物理块(block)的存储空间即将用完时,可以进行垃圾回收操作。垃圾回收操作可将多个物理块(block)中的有效数据转移至新的物理块(block)中,并擦除多个物理块(block)中的无效数据,以释放更多的存储空间,以供后续写入数据使用。从而,可提高存储器***的数据写入性能。
然而目前,存储器***进行正常写入数据时,当出现空间不足的情况,要常常进行垃圾回收,影响了正常写入数据的速度,导致数据写入性能大大降低。
发明内容
本发明的目的在于提供一种存储器***及闪存存储器的数据处理方法,能够大大提高存储器***的数据写入性能。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明提供了一种存储器***,包括闪存存储器以及控制器;
所述控制器被配置为在空闲时间内,对所述闪存存储器执行第一垃圾回收操作,在运行时间内,基于主机写入命令对所述闪存存储器进行数据写入;
所述控制器还被配置为对所述闪存存储器进行数据写入时,基于判断参数,确定所述闪存存储器的数据写入模式,所述数据写入模式包括单层单元模式以及多层单元模式;
其中,所述判断参数包括所述闪存存储器中剩余空间量以及根据当前主机行为获取的所述闪存存储器的寿命值。
在本发明一实施例中,基于所述判断参数,确定所述闪存存储器的数据写入模式时,所述控制器被配置为判断所述闪存存储器中剩余空间量是否大于等于预设的空间量阈值,若大于等于所述空间量阈值,则所述控制器将当前主机行为输入预设的寿命值模型,以获取所述单层单元模式下闪存存储器的寿命值以及多层单元模式下闪存存储器的寿命值,并判断出所述单层单元模式大于等于多层单元模式下闪存存储器的寿命值时,则采用所述单层单元模式进行数据写入,否则,则采用所述多层单元模式进行数据写入;
若所述闪存存储器中剩余空间量小于所述空间量阈值,则采用所述多层单元模式进行数据写入。
在本发明一实施例中,所述控制器被配置为等待接收所述主机写入命令,并判断等待接收所述主机写入命令的等待时间是否大于预设的时间阈值,若所述等待时间大于所述时间阈值,则将大于所述时间阈值的等待时间确定为所述空闲时间;若所述等待时间小于等于所述时间阈值,则将小于等于所述时间阈值的等待时间确定为所述运行时间。
在本发明一实施例中,在对所述闪存存储器执行第一垃圾回收操作时,所述控制器被配置为判断所述闪存存储器中剩余空间量是否小于预设的存储量阈值,若所述剩余空间量小于所述存储量阈值,则执行所述第一垃圾回收操作,若所述剩余空间量大于等于所述存储量阈值,则不执行所述第一垃圾回收操作。
在本发明一实施例中,当所述剩余空间量小于所述存储量阈值,则执行第一垃圾回收操作时,所述控制器被配置为在进行所述第一垃圾回收操作的过程中,判断是否接收到主机写入命令,若接收到所述主机写入命令,则所述控制器将待写入数据写入所述闪存存储器内,若未接收到所述主机写入命令,则所述控制器判断执行第一垃圾回收操作后的剩余空间量是否大于等于所述存储量阈值,若所述剩余空间量大于等于所述存储量阈值,则停止执行所述第一垃圾回收操作,若所述剩余空间量小于所述存储量阈值,则继续执行所述第一垃圾回收操作。
在本发明一实施例中,所述控制器被配置为若所述等待时间小于等于所述时间阈值,则判断是否接收到主机写入命令,若接收到所述主机写入命令,则所述控制器基于主机写入命令对闪存存储器进行数据写入,若未接收到所述主机写入命令,则所述控制器等待接收所述主机写入命令。
在本发明一实施例中,所述控制器被配置为采用所述单层单元模式或所述多层单元模式进行数据写入后,判断所述数据写入是否处理完毕,若所述数据写入已处理完毕,则所述控制器继续等待接收所述主机写入命令,若所述数据写入未处理完毕,则所述控制器再次根据所述判断参数确定所述闪存存储器的数据写入模式,并基于该数据写入模式进行数据写入。
在本发明一实施例中,所述控制器还被配置为根据所述判断参数确定所述闪存存储器的数据写入模式之前,判断当前所述闪存存储器中剩余空间量是否小于预设的存储量阈值;
若所述剩余空间量小于所述存储量阈值,则对所述闪存存储器执行第二垃圾回收操作,并在执行完成所述第二垃圾回收操作后,根据所述判断参数确定所述闪存存储器的数据写入模式,其中,所述第一垃圾回收操作所释放的存储空间大于所述第二垃圾回收操作释放的存储空间;
若所述剩余空间量大于等于所述存储量阈值,则不执行所述第二垃圾回收操作,并根据所述判断参数确定所述闪存存储器的数据写入模式。
本发明还提供一种闪存存储器的数据处理方法,应用于闪存存储器以及控制器,所述闪存存储器中存储模式包括单层单元模式以及多层单元模式,所述数据处理方法包括:
所述控制器在空闲时间内,对所述闪存存储器执行第一垃圾回收操作,在运行时间内,基于主机写入命令对所述闪存存储器进行数据写入;
所述控制器对所述闪存存储器进行数据写入时,基于判断参数,确定所述闪存存储器的数据写入模式,其中,所述数据写入模式包括单层单元模式以及多层单元模式,所述判断参数包括所述闪存存储器中剩余空间量以及根据当前主机行为获取的所述闪存存储器的寿命值;
若确定所述闪存存储器的数据写入模式为单层单元模式,则所述控制器采用所述单层单元模式对所述闪存存储器进行数据写入;
若确定所述闪存存储器的数据写入模式为多层单元模式,则所述控制器采用所述多层单元模式对所述闪存存储器进行数据写入。
在本发明一实施例中,所述基于所述判断参数,确定所述闪存存储器的数据写入模式的步骤包括:
判断所述闪存存储器中剩余空间量是否大于等于预设的空间量阈值;
若大于等于所述空间量阈值,则所述控制器将当前主机行为输入预设的寿命值模型,以获取所述单层单元模式下闪存存储器的寿命值以及多层单元模式下闪存存储器的寿命值,并判断出所述单层单元模式大于等于多层单元模式下闪存存储器的寿命值时,则采用所述单层单元模式进行数据写入,否则,则采用所述多层单元模式进行数据写入;
若所述闪存存储器中剩余空间量小于所述空间量阈值,则采用所述多层单元模式进行数据写入。
如上所述,本发明提供了一种存储器***及闪存存储器的数据处理方法,能够在空闲时间对闪存存储器进行垃圾回收,释放出大量的存储空间,可大大降低闪存存储器正常写入数据时进行垃圾回收的频率,提高数据写入性能。并且,能够优先采用单层单元模式进行数据写入,写入速度更快,进一步提高数据写入性能。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例中存储器***的结构图。
图2为本发明一实施例中基于等待时间进行垃圾回收或数据写入的流程图。
图3为本发明一实施例中执行垃圾回收操作的流程图。
图4为本发明一实施例中进行数据写入的流程图。
图中:10、闪存存储器;20、控制器;30、主机。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,图1是本发明提供的一种存储器***的结构图,该存储器***可以包括闪存存储器10以及控制器20。控制器20可以在运行时间内,接收主机30下发的主机写入命令,以对闪存存储器10进行数据写入。运行时间可以指正常运行进行数据写入的时间段。并且,控制器20可以在空闲时间内,对存储空间不足的闪存存储器10执行第一垃圾回收操作,释放出大量的存储空间。空闲时间可以指不进行数据写入的时间段。从而,在空闲时间内执行第一垃圾回收操作后,在运行时间内如存储空间足够,可以完全不执行垃圾回收操作,如存储空间仍然有少量不足,也可以低频执行垃圾回收操作。需要说明的是,在运行时间内执行的垃圾回收操作可表示为第二垃圾回收操作。在空闲时间执行第一垃圾回收操作所释放的存储空间是大大多于在运行时间内执行第二垃圾回收操作所释放的存储空间的,以保证空闲时间内就释放出足够的存储空间,使得在运行时间内存储空间是足够的,可完全不执行第二垃圾回收操作,或者仅需低频执行第二垃圾回收操作。可以大大降低数据写入时进行垃圾回收的频率,提高数据写入性能。
请参阅图1,该控制器20在进行数据写入时,能够优先采用单层单元模式(SLC)进行数据写入,写入速度更快,进一步提高数据写入性能。需要说明的是,闪存存储器10(NANDFlash)中数据写入模式可以包括单层单元模式(SLC)以及多层单元模式(XLC)。数据写入模式采用单层单元模式(SLC)时,每个存储单元中存储1比特的数据。可解释的是,数据写入模式采用多层单元模式(XLC)时,多层单元模式(XLC)可以是多层存储模式(MLC)、三层单元模式(TLC)或四层单元模式(QLC)。数据写入模式采用多层存储模式(MLC)时,每个存储单元中存储2比特的数据。存储模式采用三层单元模式(TLC)时,每个存储单元中存储3比特的数据。存储模式采用四层单元模式(QLC)时,每个存储单元中存储4比特的数据。由于采用单层单元模式(SLC)的数据写入速度是大大高于采用多层单元模式(XLC)的,基于此,在本申请中,当控制器20对闪存存储器10进行数据写入时,需要确定闪存存储器的数据写入模式,若可采用单层单元模式(SLC)进行数据写入,则控制器20采用单层单元模式(SLC)进行数据写入,若不可采用单层单元模式(SLC)进行数据写入,则控制器20采用多层单元模式(XLC)进行数据写入。基于上述方法进行数据写入时,可以优先选择数据写入速度更快的单层单元模式(SLC),能够大大提高数据写入性能。
请参阅图1及图2,为了最大程度地将垃圾回收操作设置在存储器***的空闲时间中操作,从而大大减少存储器***的运行时间内的垃圾回收操作,该存储器***的控制器20可以基于预设规则配置空间时间以及运行时间。具体来说,控制器20可以被配置为等待接收主机写入命令,并判断等待接收主机写入命令的等待时间是否大于预设的时间阈值。若等待时间大于时间阈值,则将大于时间阈值的等待时间确定为空闲时间,以在空闲时间内对闪存存储器10执行第一垃圾回收操作。若等待时间小于等于时间阈值,则将小于等于时间阈值的等待时间确定为运行时间,以在运行时间内对闪存存储器10进行数据写入。其中,时间阈值可以基于实际数据处理需求进行设定,在此不加以限定,例如可以是10毫秒、15毫秒、20毫秒或者其他时间阈值。
请参阅图1及图3,在空闲时间内执行第一垃圾回收操作时,为了保证第一垃圾回收操作可以释放足够的存储空间,控制器20可以基于预先设定的存储量阈值来进行垃圾回收,直至闪存存储器10中剩余空间量大于等于存储量阈值时,才停止第一垃圾回收操作,保证释放的存储空间足以用于数据写入。具体来说,在对闪存存储器10执行第一垃圾回收操作时,控制器20可被配置为判断闪存存储器10中剩余空间量是否小于预设的存储量阈值,若剩余空间量小于存储量阈值,则对闪存存储器10执行第一垃圾回收操作,若剩余空间量大于等于存储量阈值,则不对闪存存储器10执行第一垃圾回收操作。需要说明的是,存储量阈值可以基于实际存储空间需求进行设定,在此不加以限定。
请参阅图1及图3,数据写入性能也与主机写入命令的处理及时性相关,控制器20越及时处理主机写入命令并进行数据写入,存储器***的数据写入性能越好。因此,控制器20即使在进行垃圾回收时,也可配置为每隔一段时间判断是否接收到主机写入命令,当接收到主机写入命令时,控制器20可立刻进行数据写入,以保证数据写入性能。具体来说,当剩余空间量小于存储量阈值,对闪存存储器10执行第一垃圾回收操作时,控制器20被配置为在进行第一垃圾回收操作的过程中,判断是否接收到主机写入命令,若控制器20接收到主机写入命令,则控制器20基于主机写入命令,将待写入数据写入闪存存储器10内,直至待写入数据写入完毕后,控制器20则等待下一个主机写入命令。若控制器20未接收到主机写入命令,则控制器20判断当前第一垃圾回收操作后的剩余空间量是否大于等于存储量阈值,若进行第一垃圾回收操作后的剩余空间量大于等于存储量阈值,则说明存储空间充足,可停止执行第一垃圾回收操作,进行其他操作。若进行第一垃圾回收操作后的剩余空间量小于存储量阈值,则继续执行第一垃圾回收操作,其过程中,若再接收到主机写入命令,同样立刻进行数据写入。如此循环,直至第一垃圾回收操作后的剩余空间量大于等于存储量阈值为止。
请参阅图1及图2,在等待时间小于等于时间阈值内,控制器20可基于主机写入命令进行数据写入。具体来说,控制器20可被配置为若等待时间小于等于上述时间阈值,则判断是否接收到主机写入命令,若接收到主机写入命令,则控制器20基于主机写入命令对闪存存储器10进行数据写入,若未接收到主机写入命令,则控制器20等待接收主机写入命令。
请参阅图1及4,控制器20对闪存存储器10进行数据写入时,首先可基于判断参数去确定闪存存储器10的数据写入模式,即单层单元模式(SLC)或多层单元模式(XLC)。若确定采用单层单元模式(SLC)进行数据写入,则控制器20采用单层单元模式(SLC)对闪存存储器10进行数据写入,若采用多层单元模式(XLC)进行数据写入,则控制器20采用多层单元模式(XLC)对闪存存储器10进行数据写入。
进一步具体来说,上述判断参数可以包括闪存存储器10中剩余空间量以及根据当前主机行为获取的闪存存储器的寿命值。在确定闪存存储器10的数据写入模式时,首先可基于闪存存储器10的剩余空间量进行初步判断,若闪存存储器10的剩余空间量较小时,会导致基于单层单元模式(SLC)进行数据写入时存放的数据量不足。只有满足剩余空间量是大于等于预设的空间量阈值时,才能够达到采用单层单元模式(SLC)进行数据写入的初始条件。当闪存存储器10的剩余空间量小于预设的空间量阈值,则采用多层单元模式进行数据写入,以满足存放的数据量。需要说明的是,此空间量阈值可基于实际写入需求进行动态设定。
其次,达到采用单层单元模式(SLC)进行数据写入的初始条件后,控制器20可基于当前主机行为,利用寿命值模型继续判断单层单元模式(SLC)下闪存存储器的寿命值是否大于等于多层单元模式(XLC)下闪存存储器的寿命值。需要说明的是,当前主机行为可以是向闪存存储器写入任意KB的数据,寿命值可以指采用单层单元模式(SLC)进行数据写入后闪存存储器的有效数据量,以及采用多层单元模式(XLC)进行数据写入后闪存存储器的有效数据量。寿命值模型可以是基于实际预测需求进行设定的输入输出模型,输入当前主机行为,可输出对应的单层单元模式(SLC)下的寿命值以及多层单元模式(XLC)下的寿命值。具体来说,控制器将当前主机行为输入预设的寿命值模型,以获取单层单元模式(SLC)下闪存存储器的寿命值以及多层单元模式(XLC)下闪存存储器的寿命值,并判断单层单元模式(SLC)下闪存存储器的寿命值是否大于等于多层单元模式(XLC)下闪存存储器的寿命值。当单层单元模式(SLC)下闪存存储器的寿命值大于等于多层单元模式(XLC)下闪存存储器的寿命值时,即说明采用单层单元模式(SLC)下进行数据写入后的有效数据量大于等于多层单元模式(XLC)下进行数据写入后的有效数据量。此时,采用单层单元模式(SLC)进行数据写入时,数据写入性能明显是高于多层单元模式(XLC)的,因此,采用单层单元模式(SLC)下进行数据写入。当单层单元模式(SLC)下闪存存储器的寿命值小于多层单元模式(XLC)下闪存存储器的寿命值时,则采用多层单元模式(XLC)进行数据写入。
基于上述两种判定方式来判定是否可采用单层单元模式(SLC)进行数据写入时,可以确定数据写入性能最好的写入模式,大大提高存储器***的数据写入性能。
请参阅图1及图4,进一步来说,即使是进行第一垃圾回收操作后,在数据写入后闪存存储器10的也可能出现空间不足。控制器20采用单层单元模式(SLC)对进行数据写入后,若待写入数据未处理完毕,可以等待释放出更多的存储空间后再选择采用单层单元模式(SLC)或多层单元模式(XLC)对进行数据写入。具体来说,当采用单层单元模式(SLC)对进行数据写入后,控制器判断数据写入是否处理完毕。若数据写入已处理完毕,则控制器20继续等待接收主机写入命令,在此等待过程中,若等待时间大于时间阈值,可进行上述的垃圾回收操作。若数据写入未处理完毕,则控制器20可以等待释放出更多的存储空间后,再次根据判断参数确定闪存存储器10的数据写入模式,若可采用单层单元模式(SLC)进行数据写入,则控制器采用单层单元模式(SLC)对闪存存储器10进行数据写入,若采用多层单元模式(XLC)进行数据写入,则控制器采用多层单元模式(XLC)对闪存存储器10进行数据写入。
请参阅图4,进一步来说,当不可采用单层单元模式(SLC)进行数据写入,采用多层单元模式(XLC)进行数据写入后,控制器同样判断数据写入是否处理完毕。若数据写入已处理完毕,则控制器20继续等待接收主机写入命令,在此等待过程中,若等待时间大于时间阈值,可进行上述的垃圾回收操作。若数据写入未处理完毕,则控制器20可以等待释放出更多的存储空间后,再次根据判断参数确定闪存存储器10的数据写入模式,若可采用单层单元模式(SLC)进行数据写入,则控制器采用单层单元模式(SLC)对闪存存储器10进行数据写入,若采用多层单元模式(XLC)进行数据写入,则控制器采用多层单元模式(XLC)对闪存存储器10进行数据写入。
请参阅图4,进一步来说,控制器20可被配置为,在根据判断参数确定闪存存储器的数据写入模式之前,判断当前闪存存储器中剩余空间量是否小于预设的存储量阈值。若剩余空间量小于存储量阈值,则对闪存存储器10执行第二垃圾回收操作以释放存储空间,并在执行完成第二垃圾回收操作后,再次根据判断参数确定闪存存储器的数据写入模式。需要说明的是,在空闲时间执行第一垃圾回收操作所释放的存储空间是大大多于在运行时间内执行第二垃圾回收操作所释放的存储空间的,以保证在运行时间内剩余空间量是足够的,可以完全不必在运行时间内执行第二垃圾回收操作,或者仅需在运行时间内低频执行第二垃圾回收操作。可以大大降低数据写入时进行垃圾回收的频率,提高数据写入性能。进一步来说,若闪存存储器10的剩余空间量大于等于存储量阈值,说明剩余空间量足够,则不必执行第二垃圾回收操作,再次根据判断参数确定闪存存储器的数据写入模式,若可采用单层单元模式进行数据写入,则控制器采用单层单元模式对闪存存储器10进行数据写入,若不可采用单层单元模式进行数据写入,则控制器20采用多层单元模式对闪存存储器10进行数据写入。
综上,本发明提供的一种存储器***,能够在空闲时间对闪存存储器进行垃圾回收,释放出大量的存储空间,可大大降低闪存存储器正常写入数据时进行垃圾回收的频率,提高数据写入性能。并且,在空闲时间执行第一垃圾回收操作所释放的存储空间是大大多于在运行时间内执行第二垃圾回收操作所释放的存储空间的,以保证在运行时间内存储空间是足够的,可以完全不执行第二垃圾回收操作,或者仅需低频执行第二垃圾回收操作。可以大大降低数据写入时进行垃圾回收的频率。同时,能够优先采用单层单元模式进行数据写入,写入速度更快,进一步提高数据写入性能。
请参阅图4,本发明还提供一种闪存存储器的数据处理方法,该数据处理方法可应用于闪存存储器10以及控制器20,闪存存储器10中数据写入模式包括单层单元模式以及多层单元模式,数据处理方法可以包括如下步骤:
步骤S10、控制器在空闲时间内,对闪存存储器执行第一垃圾回收操作,在运行时间内,基于主机写入命令对闪存存储器进行数据写入。
步骤S20、控制器对闪存存储器进行数据写入时,基于判断参数,确定闪存存储器的数据写入模式,其中,数据写入模式包括单层单元模式以及多层单元模式,判断参数包括闪存存储器中剩余空间量以及根据当前主机行为获取的闪存存储器的寿命值。
步骤S30、若确定闪存存储器的数据写入模式为单层单元模式,则控制器采用单层单元模式对闪存存储器进行数据写入。
步骤S40、若确定闪存存储器的数据写入模式为多层单元模式,则控制器采用多层单元模式对闪存存储器进行数据写入。
需要说明的是,在确定闪存存储器10的数据写入模式时,首先可基于闪存存储器10的剩余空间量进行初步判断,判断闪存存储器中剩余空间量是否大于等于预设的空间量阈值,若闪存存储器10的剩余空间量较小时,会导致基于单层单元模式(SLC)进行数据写入时存放的数据量不足。只有满足剩余空间量是大于等于预设的空间量阈值时,才能够达到采用单层单元模式(SLC)进行数据写入的初始条件。当闪存存储器10的剩余空间量小于预设的空间量阈值,则采用多层单元模式(XLC)进行数据写入。需要说明的是,此空间量阈值可基于实际写入需求进行动态设定。
其次,达到采用单层单元模式(SLC)进行数据写入的初始条件后,控制器20可基于当前主机行为,利用寿命值模型继续判断单层单元模式(SLC)下闪存存储器的寿命值是否大于等于多层单元模式(XLC)下闪存存储器的寿命值。需要说明的是,当前主机行为可以是向闪存存储器写入任意KB的数据,寿命值可以指采用单层单元模式(SLC)进行数据写入后闪存存储器的有效数据量,以及采用多层单元模式(XLC)进行数据写入后闪存存储器的有效数据量。寿命值模型可以是基于实际预测需求进行设定的输入输出模型。具体来说,控制器将当前主机行为输入预设的寿命值模型,以获取单层单元模式下闪存存储器的寿命值以及多层单元模式下闪存存储器的寿命值,并判断单层单元模式下闪存存储器的寿命值是否大于等于多层单元模式下闪存存储器的寿命值。当单层单元模式(SLC)下闪存存储器的寿命值大于等于多层单元模式(XLC)下闪存存储器的寿命值时,即说明采用单层单元模式(SLC)下进行数据写入时的有效数据量大于等于多层单元模式(XLC)下进行数据写入时的有效数据量。此时,采用单层单元模式(SLC)进行数据写入时,数据写入性能明显是高于多层单元模式(XLC)的,因此,采用单层单元模式(SLC)下进行数据写入。当单层单元模式(SLC)下闪存存储器的寿命值小于多层单元模式(XLC)下闪存存储器的寿命值时,则采用多层单元模式(XLC)进行数据写入。
基于上述两种判定方式来判定是否可采用单层单元模式(SLC)进行数据写入时,可以确定数据写入性能最好的写入模式,大大提高存储器***的数据写入性能。
请参阅图2,在本发明一实施例中,在步骤S10之前,即控制器在空闲时间内,对闪存存储器执行垃圾回收操作之前,可以包括如下步骤:
步骤S11、控制器被配置为等待接收主机写入命令,并判断等待接收主机命令的等待时间是否大于预设的时间阈值。
步骤S12、若等待时间大于时间阈值,则将大于时间阈值的等待时间确定为空闲时间,以在空闲时间内对闪存存储器执行第一垃圾回收操作。
步骤S13、若等待时间小于等于时间阈值,则判断是否接收到主机写入命令,若接收到主机写入命令,则控制器基于主机写入命令对闪存存储器进行数据写入,若未接收到主机写入命令,则控制器等待接收主机写入命令。
请参阅图3,在本发明一实施例中,在步骤S10中,即控制器在空闲时间内,对闪存存储器执行第一垃圾回收操作,可以包括如下步骤:
步骤S14、在对闪存存储器执行第一垃圾回收操作时,控制器被配置为判断闪存存储器中剩余空间量是否小于预设的存储量阈值。
步骤S15、若剩余空间量小于存储量阈值,则对闪存存储器执行第一垃圾回收操作。
步骤S16、若剩余空间量大于等于存储量阈值,则不对闪存存储器执行第一垃圾回收操作。
请参阅图3,在本发明一实施例中,在步骤S15中,即若剩余空间量小于存储量阈值,则对闪存存储器执行第一垃圾回收操作,可以包括如下步骤:
步骤S151、当剩余空间量小于存储量阈值,对闪存存储器执行第一垃圾回收操作时,控制器被配置为在进行第一垃圾回收操作的过程中,判断是否接收到主机写入命令。
步骤S152、若接收到主机写入命令,则控制器将待写入数据写入闪存存储器内。
步骤S153、若未接收到主机写入命令,则控制器判断进行第一垃圾回收操作后的剩余空间量是否大于等于存储量阈值。
步骤S154、若进行第一垃圾回收操作后的剩余空间量大于等于存储量阈值,则停止执行第一垃圾回收操作。
步骤S155、若进行第一垃圾回收操作后的剩余空间量小于存储量阈值,则继续执行第一垃圾回收操作。
请参阅图4,在本发明一实施例中,在步骤S30中,即若确定闪存存储器的数据写入模式为单层单元模式,则控制器采用单层单元模式对闪存存储器进行数据写入,可以包括如下步骤:
步骤S31、当控制器采用单层单元模式对进行数据写入后,判断数据写入是否处理完毕。
步骤S32、若数据写入已处理完毕,则控制器继续等待接收主机写入命令。
步骤S33、若数据写入未处理完毕,则控制器再次根据判断参数确定闪存存储器的数据写入模式,并基于该数据写入模式进行数据写入。
请参阅图4,在本发明一实施例中,在步骤S40中,即若确定闪存存储器的数据写入模式为多层单元模式,则控制器采用多层单元模式对闪存存储器进行数据写入,可以包括如下步骤:
步骤S41、控制器采用多层单元模式对进行数据写入后,判断数据写入是否处理完毕。
步骤S42、若数据写入已处理完毕,则控制器继续等待接收主机写入命令。
步骤S43、若数据写入未处理完毕,则控制器再次根据判断参数确定闪存存储器的数据写入模式,并基于该数据写入模式进行数据写入。
请参阅图4,在本发明一实施例中,在上述步骤S33及步骤S43步骤中,在根据判断参数确定闪存存储器的数据写入模式之前,还包括如下步骤:
S34、在判断当前闪存存储器中剩余空间量是否小于预设的存储量阈值。
S35、若剩余空间量小于存储量阈值,则对闪存存储器执行第二垃圾回收操作,并在执行完成第二垃圾回收操作后,重复判断是否可采用单层单元模式进行数据写入,其中,第一垃圾回收操作所释放的存储空间大于第二垃圾回收操作释放的存储空间。
S36、若剩余空间量大于等于存储量阈值,则不执行第二垃圾回收操作,并根据判断参数确定闪存存储器的数据写入模式。
需要说明的是,关于闪存存储器的数据处理方法的具体限定可以参见上文中对于存储器***的限定,在此不再赘述。
以上公开的本发明实施例只是用于帮助阐述本发明。实施例并没有详尽叙述所有的细节,也不限制该发明仅为的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (8)
1.一种存储器***,其特征在于,包括闪存存储器以及控制器;
所述控制器被配置为在空闲时间内,对所述闪存存储器执行第一垃圾回收操作,在运行时间内,基于主机写入命令对所述闪存存储器进行数据写入;
所述控制器还被配置为对所述闪存存储器进行数据写入时,基于判断参数,确定所述闪存存储器的数据写入模式,所述数据写入模式包括单层单元模式以及多层单元模式,所述控制器被配置为判断所述闪存存储器中剩余空间量是否大于等于预设的空间量阈值,若大于等于所述空间量阈值,则所述控制器将当前主机行为输入预设的寿命值模型,以获取所述单层单元模式下闪存存储器的寿命值以及多层单元模式下闪存存储器的寿命值,并判断出所述单层单元模式大于等于多层单元模式下闪存存储器的寿命值时,则采用所述单层单元模式进行数据写入,否则,则采用所述多层单元模式进行数据写入,若所述闪存存储器中剩余空间量小于所述空间量阈值,则采用所述多层单元模式进行数据写入;
其中,所述判断参数包括所述闪存存储器中剩余空间量以及根据当前主机行为获取的所述闪存存储器的寿命值。
2.根据权利要求1所述的一种存储器***,其特征在于,所述控制器被配置为等待接收所述主机写入命令,并判断等待接收所述主机写入命令的等待时间是否大于预设的时间阈值,若所述等待时间大于所述时间阈值,则将大于所述时间阈值的等待时间确定为所述空闲时间,若所述等待时间小于等于所述时间阈值,则将小于等于所述时间阈值的等待时间确定为所述运行时间。
3.根据权利要求1所述的一种存储器***,其特征在于,在对所述闪存存储器执行第一垃圾回收操作时,所述控制器被配置为判断所述闪存存储器中剩余空间量是否小于预设的存储量阈值,若所述剩余空间量小于所述存储量阈值,则执行所述第一垃圾回收操作,若所述剩余空间量大于等于所述存储量阈值,则不执行所述第一垃圾回收操作。
4.根据权利要求3所述的一种存储器***,其特征在于,当所述剩余空间量小于所述存储量阈值,则执行第一垃圾回收操作时,所述控制器被配置为在进行所述第一垃圾回收操作的过程中,判断是否接收到主机写入命令,若接收到所述主机写入命令,则所述控制器将待写入数据写入所述闪存存储器内,若未接收到所述主机写入命令,则所述控制器判断执行第一垃圾回收操作后的剩余空间量是否大于等于所述存储量阈值,若所述剩余空间量大于等于所述存储量阈值,则停止执行所述第一垃圾回收操作,若所述剩余空间量小于所述存储量阈值,则继续执行所述第一垃圾回收操作。
5.根据权利要求2所述的一种存储器***,其特征在于,所述控制器被配置为若所述等待时间小于等于所述时间阈值,则判断是否接收到主机写入命令,若接收到所述主机写入命令,则所述控制器基于主机写入命令对闪存存储器进行数据写入,若未接收到所述主机写入命令,则所述控制器等待接收所述主机写入命令。
6.根据权利要求1所述的一种存储器***,其特征在于,所述控制器被配置为采用所述单层单元模式或所述多层单元模式进行数据写入后,判断所述数据写入是否处理完毕,若所述数据写入已处理完毕,则所述控制器继续等待接收所述主机写入命令,若所述数据写入未处理完毕,则所述控制器再次根据所述判断参数确定所述闪存存储器的数据写入模式,并基于该数据写入模式进行数据写入。
7.根据权利要求6所述的一种存储器***,其特征在于,所述控制器还被配置为根据所述判断参数确定所述闪存存储器的数据写入模式之前,判断当前所述闪存存储器中剩余空间量是否小于预设的存储量阈值;
若所述剩余空间量小于所述存储量阈值,则对所述闪存存储器执行第二垃圾回收操作,并在执行完成所述第二垃圾回收操作后,根据所述判断参数确定所述闪存存储器的数据写入模式,其中,所述第一垃圾回收操作所释放的存储空间大于所述第二垃圾回收操作释放的存储空间;
若所述剩余空间量大于等于所述存储量阈值,则不执行所述第二垃圾回收操作,并根据所述判断参数确定所述闪存存储器的数据写入模式。
8.一种闪存存储器的数据处理方法,其特征在于,应用于闪存存储器以及控制器,所述闪存存储器中存储模式包括单层单元模式以及多层单元模式,所述数据处理方法包括:
所述控制器在空闲时间内,对所述闪存存储器执行第一垃圾回收操作,在运行时间内,基于主机写入命令对所述闪存存储器进行数据写入;
所述控制器对所述闪存存储器进行数据写入时,基于判断参数,确定所述闪存存储器的数据写入模式,判断所述闪存存储器中剩余空间量是否大于等于预设的空间量阈值;
若大于等于所述空间量阈值,则所述控制器将当前主机行为输入预设的寿命值模型,以获取所述单层单元模式下闪存存储器的寿命值以及多层单元模式下闪存存储器的寿命值,并判断出所述单层单元模式大于等于多层单元模式下闪存存储器的寿命值时,则采用所述单层单元模式进行数据写入,否则,则采用所述多层单元模式进行数据写入;
若所述闪存存储器中剩余空间量小于所述空间量阈值,则采用所述多层单元模式进行数据写入,其中,所述数据写入模式包括单层单元模式以及多层单元模式,所述判断参数包括所述闪存存储器中剩余空间量以及根据当前主机行为获取的所述闪存存储器的寿命值;
若确定所述闪存存储器的数据写入模式为单层单元模式,则所述控制器采用所述单层单元模式对所述闪存存储器进行数据写入;
若确定所述闪存存储器的数据写入模式为多层单元模式,则所述控制器采用所述多层单元模式对所述闪存存储器进行数据写入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410288305.0A CN117891410B (zh) | 2024-03-14 | 2024-03-14 | 一种存储器***及闪存存储器的数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410288305.0A CN117891410B (zh) | 2024-03-14 | 2024-03-14 | 一种存储器***及闪存存储器的数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117891410A CN117891410A (zh) | 2024-04-16 |
CN117891410B true CN117891410B (zh) | 2024-06-11 |
Family
ID=90645039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410288305.0A Active CN117891410B (zh) | 2024-03-14 | 2024-03-14 | 一种存储器***及闪存存储器的数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117891410B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005242897A (ja) * | 2004-02-27 | 2005-09-08 | Oki Electric Ind Co Ltd | フラッシュディスク装置 |
CN108228478A (zh) * | 2018-01-05 | 2018-06-29 | 湖南国科微电子股份有限公司 | 一种ssd写性能的提高方法及装置 |
CN115167775A (zh) * | 2022-07-22 | 2022-10-11 | 广州秉理科技有限公司 | 一种存储器寿命均衡方法、装置、电子设备及存储介质 |
CN115543180A (zh) * | 2021-06-30 | 2022-12-30 | 华为技术有限公司 | 一种固态硬盘的管理方法、装置及固态硬盘 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8537613B2 (en) * | 2011-03-31 | 2013-09-17 | Sandisk Technologies Inc. | Multi-layer memory system |
US9348746B2 (en) * | 2012-12-31 | 2016-05-24 | Sandisk Technologies | Method and system for managing block reclaim operations in a multi-layer memory |
CN104298606A (zh) * | 2013-07-17 | 2015-01-21 | 光宝科技股份有限公司 | 固态存储装置中垃圾搜集动作的控制方法 |
US11188456B2 (en) * | 2017-03-21 | 2021-11-30 | Western Digital Technologies Inc. | Storage system and method for predictive block allocation for efficient garbage collection |
TWI688861B (zh) * | 2018-09-18 | 2020-03-21 | 新唐科技股份有限公司 | 資料處理裝置及其資料保護方法 |
US11042322B2 (en) * | 2019-09-13 | 2021-06-22 | Toshiba Memory Corporation | SSD supporting low latency operation |
-
2024
- 2024-03-14 CN CN202410288305.0A patent/CN117891410B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005242897A (ja) * | 2004-02-27 | 2005-09-08 | Oki Electric Ind Co Ltd | フラッシュディスク装置 |
CN108228478A (zh) * | 2018-01-05 | 2018-06-29 | 湖南国科微电子股份有限公司 | 一种ssd写性能的提高方法及装置 |
CN115543180A (zh) * | 2021-06-30 | 2022-12-30 | 华为技术有限公司 | 一种固态硬盘的管理方法、装置及固态硬盘 |
CN115167775A (zh) * | 2022-07-22 | 2022-10-11 | 广州秉理科技有限公司 | 一种存储器寿命均衡方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117891410A (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10296231B2 (en) | Data-storage device and data maintenance method thereof | |
US8392649B2 (en) | Memory storage device, controller, and method for responding to host write commands triggering data movement | |
KR101311116B1 (ko) | 비-휘발성 메모리를 구비한 시스템에 대한 전력 예산의 동적 할당 | |
US9110669B2 (en) | Power management of a storage device including multiple processing cores | |
US20120155167A1 (en) | Non-volatile storage device, information processing system and write control method of non-volatile storage device | |
CN110851079B (zh) | 一种自适应的存储设备损耗均衡方法及*** | |
JP2012043420A (ja) | 電力消費を制限するように不揮発性メモリの動作を動的に制御する方法及びシステム | |
CN109471594B (zh) | 一种mlc闪存读写方法 | |
TWI790383B (zh) | 資料儲存裝置與資料處理方法 | |
CN109491592B (zh) | 存储设备及其数据写入方法、存储装置 | |
US20220261174A1 (en) | Memory system | |
CN115629719B (zh) | 一种存储装置及其控制方法 | |
US20220100406A1 (en) | Hard disk control method and related device | |
US20090198919A1 (en) | A Non-Volatile Memory Device, and Method of Accessing a Non-Volatile Memory Device | |
CN117891410B (zh) | 一种存储器***及闪存存储器的数据处理方法 | |
CN116610597B (zh) | 一种存储器件及其垃圾回收的控制方法 | |
CN115756327A (zh) | 一种固态硬盘及其数据写方法、装置、主机和存储介质 | |
CN115470052A (zh) | 存储芯片的坏块检测方法、检测装置及存储介质 | |
CN113345500B (zh) | 用来进行恢复管理的方法及设备 | |
CN108572924B (zh) | 一种3d mlc闪存设备的请求处理方法 | |
CN112463075A (zh) | 一种固态硬盘的数据读写方法和*** | |
CN112445428B (zh) | 一种硬盘主从垃圾回收方法及装置 | |
CN113031868B (zh) | 一种存储器的控制方法及装置 | |
CN116610596B (zh) | 一种存储器件及其数据处理方法 | |
CN114489488A (zh) | 数据读写方法、nand控制器及计算机可读存储介质 |
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 |