CN116909937B - 闪存容量优化方法、装置、设备及存储介质 - Google Patents
闪存容量优化方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116909937B CN116909937B CN202310531778.4A CN202310531778A CN116909937B CN 116909937 B CN116909937 B CN 116909937B CN 202310531778 A CN202310531778 A CN 202310531778A CN 116909937 B CN116909937 B CN 116909937B
- Authority
- CN
- China
- Prior art keywords
- capacity
- flash memory
- bin
- level
- threshold
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 342
- 238000003860 storage Methods 0.000 title claims abstract description 75
- 238000005457 optimization Methods 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 22
- 238000004364 calculation method Methods 0.000 claims description 48
- 230000008521 reorganization Effects 0.000 claims description 28
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 101150040844 Bin1 gene Proteins 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000002085 persistent effect Effects 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006798 recombination Effects 0.000 description 2
- 238000005215 recombination Methods 0.000 description 2
- 238000004064 recycling Methods 0.000 description 2
- 101100364790 Drosophila melanogaster S6KL gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- -1 bin2 Proteins 0.000 description 1
- 101150049912 bin3 gene Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
Abstract
本申请涉及一种闪存容量优化方法、装置、设备及存储介质。该闪存容量优化方法包括:根据闪存的容量,并基于预先配置的Bin级容量标准表,将闪存归类至对应的Bin级,其中Bin级容量标准表包括多个Bin级,不同的Bin级对应不同的Bin级容量;计算闪存的容量超出闪存对应的Bin级容量部分,得到多余容量;若多余容量大于或者等于门限容量,对闪存的容量执行优化操作,优化操作为采用预置优化算法计算出闪存对应的Bin级容量中的待抽取容量,将待抽取容量与多余容量结合形成重组容量,将重组容量对应的块配置成以SLC存储模式;若多余容量小于门限容量,不对闪存的容量执行优化操作。
Description
技术领域
本申请涉及存储技术领域,尤其涉及一种闪存容量优化方法、装置、设备及存储介质。
背景技术
闪存(NAND Flash,NF)是Flash存储器的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。闪存具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用。
Bin级是用于定义容量的标准,不同Bin级的闪存分别对应不同的容量。量产阶段会对闪存进行扫描,分析计算出闪存的容量,并根据闪存的容量将闪存归类至其对应的Bin级,被归类的闪存相较于其对应的Bin级可能存在多余容量,相关技术中,并没有将这多余容量进行有效地回收、重组、利用,导致对闪存的容量利用率并不高。
发明内容
为了解决或者部分解决相关技术中的问题,本申请提供了一种闪存容量优化方法、装置、设备及存储介质,能够对闪存的多余容量进行有效地回收、重组、利用,提高对闪存的容量利用率。
本申请的第一方面提供了一种闪存容量优化方法,包括:
根据闪存的容量,并基于预先配置的Bin级容量标准表,将所述闪存归类至对应的Bin级,其中所述Bin级容量标准表包括多个Bin级,不同的所述Bin级对应不同的Bin级容量;计算所述闪存的容量超出所述闪存对应的所述Bin级容量部分,得到多余容量;
若所述多余容量大于或者等于门限容量,对所述闪存的容量执行优化操作,所述优化操作为采用预置优化算法计算出所述闪存对应的所述Bin级容量中的待抽取容量,将所述待抽取容量与所述多余容量结合形成重组容量,将所述重组容量对应的块配置成以SLC存储模式;若所述多余容量小于所述门限容量,不对所述闪存的容量执行所述优化操作。
作为本申请一种可能的实施方式,闪存容量优化方法,还包括:
将所述重组容量对应的块的写入优先级配置成高于所述闪存对应的所述Bin级容量中被抽取的容量对应的块的写入优先级。
作为本申请一种可能的实施方式,所述门限容量按如下方式确定:
基于所述闪存的类型,匹配对应的门限计算系数α,并根据所述门限计算系数和所述闪存对应的所述Bin级容量计算门限容量,其中:
若所述闪存为MLC类型,则所述门限计算系数α大于或者等于0.1;
若所述闪存为TLC类型,则所述门限计算系数α大于或者等于0.2;
若所述闪存为QLC类型,则所述门限计算系数α大于或者等于0.3。
作为本申请一种可能的实施方式,所述预置优化算法为:
CBin=CAll-CX+CX/Cell (2);
CX=CRe+CY (3);
其中,CBin为所述闪存对应的Bin级容量,CAll为所述闪存的容量,CX为所述闪存的重组容量,Cell为所述闪存不同存储模式之间容量转换倍率,CRe为所述闪存的多余容量,CY为所述闪存对应的Bin级容量中被抽取的容量。
本申请的第二方面提供了一种闪存容量优化装置,包括:
归类模块,用于根据闪存的容量,并基于预先配置的Bin级容量标准表,将所述闪存归类至对应的Bin级,其中所述Bin级容量标准表包括多个Bin级,不同的所述Bin级对应不同的Bin级容量;
计算模块,用于计算所述闪存的容量超出所述闪存对应的所述Bin级容量部分,得到多余容量;
优化模块,用于若所述多余容量大于或者等于门限容量,对所述闪存的容量执行优化操作,所述优化操作为采用预置优化算法计算出所述闪存对应的所述Bin级容量中的待抽取容量,将所述待抽取容量与所述多余容量结合形成重组容量,将所述重组容量对应的块配置成以SLC存储模式;若所述多余容量小于所述门限容量,不对所述闪存的容量执行所述优化操作。
作为本申请一种可能的实施方式,一种闪存容量优化装置,还包括:
配置模块,用于将所述重组容量对应的块的写入优先级配置成高于所述闪存对应的所述Bin级容量中被抽取的容量对应的块的写入优先级。
作为本申请一种可能的实施方式,所述门限容量按如下方式确定:
基于所述闪存的类型,匹配对应的门限计算系数α,并根据所述门限计算系数和所述闪存对应的所述Bin级容量计算门限容量,其中:
若所述闪存为MLC类型,则所述门限计算系数α大于或者等于0.1;
若所述闪存为TLC类型,则所述门限计算系数α大于或者等于0.2;
若所述闪存为QLC类型,则所述门限计算系数α大于或者等于0.3。
作为本申请一种可能的实施方式,所述预置优化算法为:
CBin=CAll-CX+CX/Cell (2);
CX=CRe+CY (3);
其中,CBin为所述闪存对应的Bin级容量,CAll为所述闪存的容量,CX为所述闪存的重组容量,Cell为所述闪存不同存储模式之间容量转换倍率,CRe为所述闪存的多余容量,CY为所述闪存对应的Bin级容量中被抽取的容量。
本申请的第三方面提供一种电子设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行上述实施例中任意一项所述的闪存容量优化方法。
本申请的第四方面提供了一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行上述实施例中任意一项所述的闪存容量优化方法。
本申请的技术方案,包括:根据闪存的容量,并基于预先配置的Bin级容量标准表,将所述闪存归类至对应的Bin级,计算闪存的容量超出闪存对应的Bin级容量部分,得到多余容量,若多余容量大于或者等于门限容量,对闪存的容量执行优化操作,以采用预置优化算法计算出闪存对应的Bin级容量中的待抽取容量,将待抽取容量与多余容量结合形成重组容量,将重组容量对应的块配置成以SLC存储模式,若多余容量小于门限容量,不对闪存的容量执行优化操作。
本申请通过计算闪存的容量超出其对应的Bin级容量的多余容量,将符合优化操作的闪存,采用预置优化算法计算出闪存对应的Bin级容量中的待抽取容量,将待抽取容量与多余容量结合形成重组容量,将重组容量对应的块配置成以SLC存储模式,实现对闪存的多余容量进行有效地回收、重组、利用,提高对闪存的容量利用率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
通过结合附图对本申请示例性实施方式进行更详细地描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
图1是本申请一实施例示出的闪存容量优化方法的流程示意图;
图2是本申请另一实施例示出的闪存容量优化方法的流程示意图;
图3是本申请一实施例示出的闪存容量优化装置的结构示意图;
图4是本申请另一实施例示出的闪存容量优化装置的结构示意图;
图5是本申请一实施例中示出的闪存中重组容量存储模式转换前后的容量倍数示意图;
图6是本申请一实施例中示出的闪存的容量结构示意图;
图7是本申请一实施例示出的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的实施方式。虽然附图中显示了本申请的实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
相关技术中,没有将闪存对应的Bin级容量的多余容量进行有效地回收、重组、利用,导致对闪存的容量利用率并不高。
因此,为了解决上述技术问题,本申请公开了一种闪存容量优化方法,能够对闪存的多余容量进行有效地回收、重组、利用,提高对闪存的容量利用率。
以下结合附图详细说明本申请实施例的技术方案。
图1示出了本申请一实施例中的闪存容量优化方法的流程示意图。
请参阅图1,一种闪存容量优化方法,包括如下步骤:
步骤S110、根据闪存的容量,并基于预先配置的Bin级容量标准表,将闪存归类至对应的Bin级,其中Bin级容量标准表包括多个Bin级,不同的Bin级对应不同的Bin级容量。
闪存的架构按照等级依次可以划分成Die(LUN)、面(Plane)、块(Block)、页(Page)。对于闪存而言,当评定一个闪存的容量是否高时,采取的评定标准可以是看该闪存的块大小、块个数、页大小以及页个数,因此,当需要计算闪存的容量时,可以采用块页算法,先计算出当前闪存包含的块个数,再根据块包含的页个数,并基于块大小和页大小,算出当前闪存的容量。闪存的容量计算公式如下所示:
CAll=PAll*PAm*BAm (1);
其中,CAll为闪存的容量,PAll为闪存的页大小,PAm为闪存中每个块包含的页个数,BAm为闪存中包含的块个数。需要说明的是,不管是页大小、页个数、块大小、块个数都可以根据该闪存的数据手册获取,数据手册里面会详细记载该闪存的各项规格参数。
Bin级是用于定义容量的标准,用户在对闪存进行量产时,可以预先配置Bin级容量标准表,Bin级容量标准表包括多个Bin级,不同的Bin级对应不同的Bin级容量。需要说明的是,Bin级容量标准表包括的Bin级数量可以根据实际情况灵活配置,如Bin级容量标准表可以包括4个Bin级,或者5个Bin级,或者6个Bin级等。
如表1所示,现有一用户配置Bin级容量标准表,该Bin级容量标准表包括Bin1、Bin2、Bin3和Bin4,对应的容量分别是60G、120G、230G和480G。现有一闪存,经计算,得到该闪存的容量为110G,根据Bin级容量标准表,将该闪存归类至Bin1这个级别。
表1
步骤S120、计算闪存的容量超出闪存对应的Bin级容量部分,得到多余容量。
基于前述举例,在对闪存进行Bin级归类时,由于该闪存的容量为110G,无法达到Bin2对应的120G容量,但却能达到Bin1对应的60G容量,只能选择Bin2的下一个等级Bin1,此时闪存的容量110G相较于Bin1对应的60G容量,闪存超出该Bin1的容量50G,这50G的容量就是闪存的多余容量。相关技术中,没有将闪存的多余容量进行有效地回收、重组、利用,导致对闪存的容量利用率并不高。而对于本申请的技术方案而言,通过将闪存的多余容量与闪存达到其对应Bin级的部分容量进行结合转换,实现对多余容量的回收、重组、利用,以此来提高对闪存的容量利用率。
步骤S130、若多余容量大于或者等于门限容量,对闪存的容量执行优化操作,优化操作为采用预置优化算法计算出闪存对应的Bin级容量中的待抽取容量,将待抽取容量与多余容量结合形成重组容量,将重组容量对应的块配置成以SLC存储模式;若多余容量小于门限容量,不对闪存的容量执行优化操作。
闪存按照类型,可以分为SLC、MLC、TLC以及QLC类型的闪存,对应存储的比特位数分别是1bit、2bit、3bit以及4bit,可以理解的是,参阅图5,在不同类型的闪存中,若存储单元(浮栅晶体管)的数量相同的情况下,MLC类型闪存的容量是SLC类型闪存的2倍,TLC类型闪存的容量是SLC类型闪存的3倍,QLC类型闪存的容量是SLC类型闪存的4倍。同时,针对市面上大多数闪存,其配置多种存储模式,即在同一个闪存中,一些块可以配置成以SLC存储模式对数据进行存储,另一些块可以配置成以QLC存储模式对数据进行存储。基于闪存单个存储单元所能够存储的比特数,当块从QLC存储模式转变成SLC存储模式时,此块的容量会缩减成原来的三分之一。基于上述前提,抽取部分闪存对应的Bin级容量,这部分抽取的容量称为待抽取容量,将待抽取容量与多余容量进行结合形成重组容量,并将重组容量对应的块配置成SLC存储模式,使得重组容量与闪存对应的Bin级容量未被抽取的部分加起来依旧能够达到闪存对应的Bin级容量,即可实现对多余容量的回收、重组、利用,同时还可以满足闪存能够达到对应的Bin级容量。
在正式进行容量优化前,需要判断多余容量是否大于门限容量,门限容量的计算公式如下:
CTh=CBin*α (1);
其中,CTh为门限容量,CBin为闪存对应的Bin级容量,α为门限计算系数,其依据当前闪存的类型进行取值,若闪存为MLC类型,则门限计算系数α大于或者等于0.1;若闪存为TLC类型,则门限计算系数α大于或者等于0.2;若闪存为QLC类型,则门限计算系数α大于或者等于0.3。
基于前述举例,CBin=60G,当前闪存的类型为TLC,设定门限计算系数α=0.2,则根据公式(1)计算得到CTh=12G。由于多余容量=50G,判定多余容量大于门限容量CTh,因此,符合容量优化的前提条件,则开启对当前闪存的容量优化步骤,计算待抽取容量。
待抽取容量的大小按照预置优化算法进行计算,预置优化算法为:
CBin=CAll-CX+CX/Cell (2);
CX=CRe+CY (3);
其中,CBin为闪存对应的Bin级容量,CAll为闪存的容量,CX为闪存的重组容量,Cell为闪存不同存储模式之间容量转换倍率,CRe为闪存的多余容量,CY为闪存对应的Bin级容量中被抽取的容量,即待抽取容量。
基于前述举例及参阅图6,CBin=60G,CAll=110G,Cell=3bit,CRe=50G,根据公式(2)和公式(3),计算出CX=75G,CY=25G,即需要从闪存对应的Bin级容量中抽取25G与多余容量50G结合形成重组容量,并将重组容量对应的块配置成以SLC存储模式对数据进行存储,由于重组容量对应的块是以TLC存储模式运行的,先配置成以SLC存储模式运行,对应的,原先以TLC存储模式运行的重组容量现在以SLC存储模式运行,其容量缩减为原来的三分之一,即变成实际大小为25G的重组容量,此时重组容量(25G)结合闪存对应的Bin级容量剩余的部分(60G-25G=35G),依旧能够达到闪存对应的Bin级容量,实现对多余容量的回收、重组、利用,提高对闪存的容量利用率。
另外,需要说明的是,由于重组容量(25G)对应的以SLC存储模式运行的块,相比于重组容量(75G)对应的以TLC存储模式运行的块,不管是其对数据的读写速度亦或者是数据存储的稳定性都会有显著提高,能够很好地提高了当前闪存的整体读写性能、使用寿命以及稳定性。相关技术中,直接将多余容量损失掉,而本申请通过对多余容量的回收、重组、利用,不仅使得容量优化后的闪存依旧能够达到闪存对应的Bin级容量,保证闪存能够按照其对应的Bin级容量进行出货,且还让闪存的各项性能还显著提高了。
图2示出了本申请另一实施例中的一种闪存容量优化方法的流程示意图。
请参阅图2,一种闪存容量优化方法,还包括:
步骤S210、根据闪存的容量,并基于预先配置的Bin级容量标准表,将闪存归类至对应的Bin级,其中Bin级容量标准表包括多个Bin级,不同的Bin级对应不同的Bin级容量。
闪存的架构按照等级依次可以划分成Die(LUN)、面(Plane)、块(Block)、页(Page)。对于闪存而言,当评定一个闪存的容量是否高时,采取的评定标准可以是看该闪存的块大小、块个数、页大小以及页个数,因此,当需要计算闪存的容量时,可以采用块页算法,先计算出当前闪存包含的块个数,再根据块包含的页个数,并基于块大小和页大小,算出当前闪存的容量。闪存的容量计算公式如下所示:
CAll=PAll*PAm*BAm (1)
其中,CAll为闪存的容量,PAll为闪存的页大小,PAm为闪存中每个块包含的页个数,BAm为闪存中包含的块个数。需要说明的是,不管是页大小、页个数、块大小、块个数都可以根据该闪存的数据手册获取,数据手册里面会详细记载该闪存的各项规格参数。
Bin级是用于定义容量的标准,用户在对闪存进行量产时,可以预先配置Bin级容量标准表,Bin级容量标准表包括多个Bin级,不同的Bin级对应不同的Bin级容量。需要说明的是,Bin级容量标准表包括的Bin级数量可以根据实际情况灵活配置,如Bin级容量标准表可以包括4个Bin级,或者5个Bin级,或者6个Bin级等。
步骤S220、计算闪存的容量超出闪存对应的Bin级容量部分,得到多余容量。
基于前述举例,在对闪存进行Bin级归类时,由于该闪存的容量为110G,无法达到Bin2对应的120G容量,但却能达到Bin1对应的60G容量,只能选择Bin2的下一个等级Bin1,此时闪存的容量110G相较于Bin1对应的60G容量,闪存超出该Bin1的容量50G,这50G的容量就是闪存的多余容量。相关技术中,没有将闪存的多余容量进行有效地回收、重组、利用,导致对闪存的容量利用率并不高。而对于本申请的技术方案而言,通过将闪存的多余容量与闪存达到其对应Bin级的部分容量进行结合转换,实现对多余容量的回收、重组、利用,以此来提高对闪存的容量利用率。
步骤S230、若多余容量大于或者等于门限容量,对闪存的容量执行优化操作,优化操作为采用预置优化算法计算出闪存对应的Bin级容量中的待抽取容量,将待抽取容量与多余容量结合形成重组容量,将重组容量对应的块配置成以SLC存储模式;若多余容量小于门限容量,不对闪存的容量执行优化操作。
闪存按照类型,可以分为SLC、MLC、TLC以及QLC类型的闪存,对应存储的比特位数分别是1bit、2bit、3bit以及4bit,可以理解的是,参阅图5,在不同类型的闪存中,若存储单元(浮栅晶体管)的数量相同的情况下,MLC类型闪存的容量是SLC类型闪存的2倍,TLC类型闪存的容量是SLC类型闪存的3倍,QLC类型闪存的容量是SLC类型闪存的4倍。同时,针对市面上大多数闪存,其配置多种存储模式,即在同一个闪存中,一些块可以配置成以SLC存储模式对数据进行存储,另一些块可以配置成以QLC存储模式对数据进行存储。基于闪存单个存储单元所能够存储的比特数,当块从QLC存储模式转变成SLC存储模式时,此块的容量会缩减成原来的三分之一。基于上述前提,抽取部分闪存对应的Bin级容量,这部分抽取的容量称为待抽取容量,将待抽取容量与多余容量进行结合形成重组容量,并将重组容量对应的块配置成SLC存储模式,使得重组容量与闪存对应的Bin级容量未被抽取的部分加起来依旧能够达到闪存对应的Bin级容量,即可实现对多余容量的回收、重组、利用,同时还可以满足闪存能够达到对应的Bin级容量。
在正式进行容量优化前,需要判断多余容量是否大于门限容量,门限容量的计算公式如下:
CTh=CBin*α (1);
其中,CTh为门限容量,CBin为闪存对应的Bin级容量,α为门限计算系数,其依据当前闪存的类型进行取值,若闪存为MLC类型,则门限计算系数α大于或者等于0.1;若闪存为TLC类型,则门限计算系数α大于或者等于0.2;若闪存为QLC类型,则门限计算系数α大于或者等于0.3。
基于前述举例,CBin=60G,当前闪存的类型为TLC,设定门限计算系数α=0.2,则根据公式(1)计算得到CTh=12G。由于多余容量=50G,判定多余容量大于门限容量CTh,因此,符合容量优化的前提条件,则开启对当前闪存的容量优化步骤,计算待抽取容量。
待抽取容量的大小按照预置优化算法进行计算,预置优化算法为:
CBin=CAll-CX+CX/Cell (2);
CX=CRe+CY (3);
其中,CBin为闪存对应的Bin级容量,CAll为闪存的容量,CX为闪存的重组容量,Cell为闪存不同存储模式之间容量转换倍率,CRe为闪存的多余容量,CY为闪存对应的Bin级容量中被抽取的容量,即待抽取容量。
基于前述举例及参阅图6,CBin=60G,CAll=110G,Cell=3bit,CRe=50G,根据公式(2)和公式(3),计算出CX=75G,CY=25G,即需要从闪存对应的Bin级容量中抽取25G与多余容量50G结合形成重组容量,并将重组容量对应的块配置成以SLC存储模式对数据进行存储,由于重组容量对应的块是以TLC存储模式运行的,先配置成以SLC存储模式运行,对应的,原先以TLC存储模式运行的重组容量现在以SLC存储模式运行,其容量缩减为原来的三分之一,即变成实际大小为25G的重组容量,此时重组容量(25G)结合闪存对应的Bin级容量剩余的部分(60G-25G=35G),依旧能够达到闪存对应的Bin级容量,实现对多余容量的回收、重组、利用,提高对闪存的容量利用率。
另外,需要说明的是,由于重组容量(25G)对应的以SLC存储模式运行的块,相比于重组容量(75G)对应的以TLC存储模式运行的块,不管是其对数据的读写速度亦或者是数据存储的稳定性都会有显著提高,能够很好地提高了当前闪存的整体读写性能、使用寿命以及稳定性。相关技术中,直接将多余容量损失掉,而本申请通过对多余容量的回收、重组、利用,不仅使得容量优化后的闪存依旧能够达到闪存对应的Bin级容量,保证闪存能够按照其对应的Bin级容量进行出货,且还让闪存的各项性能还显著提高了。
步骤S240、将重组容量对应的块的写入优先级配置成高于闪存对应的Bin级容量中被抽取的容量对应的块的写入优先级。
对于以SLC存储模式的块,由于其单个存储单元存储的数据是1bit,因此,相较于以MLC、TLC、QLC存储模式的块,不管是其数据存储的稳定性亦或者是数据的写入速度都更加优秀。基于上述条件,可以将重组容量对应的块的写入优先级配置成高于闪存对应的Bin级容量中被抽取的容量对应的块的写入优先级,使得闪存在写入数据时,可以先将数据优先写入至重组容量对应的块,在数据写满重组容量对应的块后,再写入Bin级容量中被抽取的容量对应的块,能够很好地保证数据的写入速度,同时,存储在重组容量对应的块的数据,由于重组容量对应的块稳定,数据不易丢失,对于用户而言,将重要的数据存储至重组容量对应的块,也可以避免后期数据的丢失,给用户造成不便。
与前述的功能方法实施例相对应,本申请提供了一种闪存容量优化装置及相应的实施例。
图3示出了本申请一实施例中的一种闪存容量优化装置的结构示意图。
请参阅图3,一种闪存容量优化装置300,包括:归类模块310、计算模块320和优化模块330。其中:
归类模块310用于根据闪存的容量,并基于预先配置的Bin级容量标准表,将闪存归类至对应的Bin级,其中Bin级容量标准表包括多个Bin级,不同的Bin级对应不同的Bin级容量;计算模块320用于计算闪存的容量超出闪存对应的Bin级容量部分,得到多余容量;
优化模块330用于若多余容量大于或者等于门限容量,对闪存的容量执行优化操作,优化操作为采用预置优化算法计算出闪存对应的Bin级容量中的待抽取容量,将待抽取容量与多余容量结合形成重组容量,将重组容量对应的块配置成以SLC存储模式;若多余容量小于门限容量,不对闪存的容量执行优化操作。
门限容量的计算公式如下:
CTh=CBin*α (1);
其中,CTh为门限容量,CBin为闪存对应的Bin级容量,α为门限计算系数,其依据当前闪存的类型进行取值,若闪存为MLC类型,则门限计算系数α大于或者等于0.1;若闪存为TLC类型,则门限计算系数α大于或者等于0.2;若闪存为QLC类型,则门限计算系数α大于或者等于0.3。
预置优化算法为:
CBin=CAll-CX+CX/Cell (2);
CX=CRe+CY (3);
其中,CBin为闪存对应的Bin级容量,CAll为闪存的容量,CX为闪存的重组容量,Cell为闪存不同存储模式之间容量转换倍率,CRe为闪存的多余容量,CY为闪存对应的Bin级容量中被抽取的容量。
图4示出了本申请另一实施例中的闪存容量优化装置的结构示意图。
请参阅图4,一种闪存容量优化装置300,包括:归类模块310、计算模块320、优化模块330和配置模块340。其中:
归类模块310、计算模块320和优化模块330的功能请参阅图3中的相关描述,此处不再赘述。
配置模块340用于将重组容量对应的块的写入优先级配置成高于闪存对应的Bin级容量中被抽取的容量对应的块的写入优先级。
门限容量的计算公式如下:
CTh=CBin*α (1);
其中,CTh为门限容量,CBin为闪存对应的Bin级容量,α为门限计算系数,其依据当前闪存的类型进行取值,若闪存为MLC类型,则门限计算系数α大于或者等于0.1;若闪存为TLC类型,则门限计算系数α大于或者等于0.2;若闪存为QLC类型,则门限计算系数α大于或者等于0.3。
预置优化算法为:
CBin=CAll-CX+CX/Cell (2);
CX=CRe+CY (3);
其中,CBin为闪存对应的Bin级容量,CAll为闪存的容量,CX为闪存的重组容量,Cell为闪存不同存储模式之间容量转换倍率,CRe为闪存的多余容量,CY为闪存对应的Bin级容量中被抽取的容量。
需要说明的是,该实施例公开的闪存容量优化装置300所实现的闪存容量优化装置方法如上述实施例,故在此不再进行详细讲述。可选地,本实施例中的各个模块和上述其他操作或功能分别为了实现前述实施例中的方法。
参阅图7,本申请一实施例示出了一种计算电子设备400包括存储器410和处理器420。
处理器420可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器存储器410可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM)和永久存储装置。
其中,ROM可以存储处理器420或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。
另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。
此外,存储器410可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(例如DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。
在一些实施方式中,存储器410可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等)、磁性软盘等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。存储器410上存储有可执行代码,当可执行代码被处理器420处理时,可以使处理器420执行上文述及的方法中的部分或全部。
此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本申请还可以实施为一种计算机可读存储介质(或非暂时性机器可读存储介质或机器可读存储介质),其上存储有可执行代码(或计算机程序或计算机指令代码),当可执行代码(或计算机程序或计算机指令代码)被电子设备(或服务器等)的处理器执行时,使处理器执行根据本申请的上述方法的各个步骤的部分或全部。
Claims (10)
1.一种闪存容量优化方法,其特征在于,包括:
根据闪存的容量,并基于预先配置的Bin级容量标准表,将所述闪存归类至对应的Bin级,其中所述Bin级容量标准表包括多个Bin级,不同的所述Bin级对应不同的Bin级容量;
计算所述闪存的容量超出所述闪存对应的所述Bin级容量部分,得到多余容量;
若所述多余容量大于或者等于门限容量,对所述闪存的容量执行优化操作,所述优化操作为采用预置优化算法计算出所述闪存对应的所述Bin级容量中的待抽取容量,将所述待抽取容量与所述多余容量相加形成重组容量,将所述重组容量对应的块配置成以SLC存储模式;若所述多余容量小于所述门限容量,不对所述闪存的容量执行所述优化操作。
2.根据权利要求1所述的闪存容量优化方法,其特征在于,还包括:
将所述重组容量对应的块的写入优先级配置成高于所述闪存对应的所述Bin级容量中被抽取的容量对应的块的写入优先级。
3.根据权利要求1所述的闪存容量优化方法,其特征在于,所述门限容量按如下方式确定:
基于所述闪存的类型,匹配对应的门限计算系数α,并根据所述门限计算系数和所述闪存对应的所述Bin级容量计算门限容量,其中:
若所述闪存为MLC类型,则所述门限计算系数α大于或者等于0.1;
若所述闪存为TLC类型,则所述门限计算系数α大于或者等于0.2;
若所述闪存为QLC类型,则所述门限计算系数α大于或者等于0.3。
4.根据权利要求1所述的闪存容量优化方法,其特征在于,所述预置优化算法为:
CBin=CAll-CX+CX/Cell (2);
CX=CRe+CY (3);
其中,CBin为所述闪存对应的Bin级容量,CAll为所述闪存的容量,CX为所述闪存的重组容量,Cell为所述闪存不同存储模式之间容量转换倍率,CRe为所述闪存的多余容量,CY为所述闪存对应的Bin级容量中被抽取的容量。
5.一种闪存容量优化装置,其特征在于,包括:
归类模块,用于根据闪存的容量,并基于预先配置的Bin级容量标准表,将所述闪存归类至对应的Bin级,其中所述Bin级容量标准表包括多个Bin级,不同的所述Bin级对应不同的Bin级容量;
计算模块,用于计算所述闪存的容量超出所述闪存对应的所述Bin级容量部分,得到多余容量;
优化模块,用于若所述多余容量大于或者等于门限容量,对所述闪存的容量执行优化操作,所述优化操作为采用预置优化算法计算出所述闪存对应的所述Bin级容量中的待抽取容量,将所述待抽取容量与所述多余容量相加形成重组容量,将所述重组容量对应的块配置成以SLC存储模式;若所述多余容量小于所述门限容量,不对所述闪存的容量执行所述优化操作。
6.根据权利要求5所述的闪存容量优化装置,其特征在于,还包括:
配置模块,用于将所述重组容量对应的块的写入优先级配置成高于所述闪存对应的所述Bin级容量中被抽取的容量对应的块的写入优先级。
7.根据权利要求5所述的闪存容量优化装置,其特征在于,所述门限容量按如下方式确定:
基于所述闪存的类型,匹配对应的门限计算系数α,并根据所述门限计算系数和所述闪存对应的所述Bin级容量计算门限容量,其中:
若所述闪存为MLC类型,则所述门限计算系数α大于或者等于0.1;
若所述闪存为TLC类型,则所述门限计算系数α大于或者等于0.2;
若所述闪存为QLC类型,则所述门限计算系数α大于或者等于0.3。
8.根据权利要求5所述的闪存容量优化装置,其特征在于,所述预置优化算法为:
CBin=CAll-CX+CX/Cell (2);
CX=CRe+CY (3);
其中,CBin为所述闪存对应的Bin级容量,CAll为所述闪存的容量,CX为所述闪存的重组容量,Cell为所述闪存不同存储模式之间容量转换倍率,CRe为所述闪存的多余容量,CY为所述闪存对应的Bin级容量中被抽取的容量。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1~4中任意一项所述的闪存容量优化方法。
10.一种计算机可读存储介质,其特征在于,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1~4中任意一项所述的闪存容量优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310531778.4A CN116909937B (zh) | 2023-05-11 | 2023-05-11 | 闪存容量优化方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310531778.4A CN116909937B (zh) | 2023-05-11 | 2023-05-11 | 闪存容量优化方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116909937A CN116909937A (zh) | 2023-10-20 |
CN116909937B true CN116909937B (zh) | 2024-02-23 |
Family
ID=88363578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310531778.4A Active CN116909937B (zh) | 2023-05-11 | 2023-05-11 | 闪存容量优化方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116909937B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231284A (zh) * | 2011-06-02 | 2011-11-02 | 孙飞 | 一种降低闪存芯片数据写操作功耗的方法 |
CN103455443A (zh) * | 2013-09-04 | 2013-12-18 | 华为技术有限公司 | 一种缓存管理方法和装置 |
CN106909398A (zh) * | 2017-03-10 | 2017-06-30 | 深圳创维-Rgb电子有限公司 | 一种可执行文件的压缩方法及装置 |
CN108682442A (zh) * | 2018-05-23 | 2018-10-19 | 武汉忆数存储技术有限公司 | 一种不同封装闪存芯片在线测试和分类方法及测试系统 |
CN115017062A (zh) * | 2022-07-22 | 2022-09-06 | 中航电测仪器股份有限公司 | 一种终端内存优化的方法、系统、设备及介质 |
CN115061635A (zh) * | 2022-06-30 | 2022-09-16 | 苏州忆联信息系统有限公司 | 固态硬盘闪存块读取次数压缩的方法、装置、计算机设备及存储介质 |
CN115269190A (zh) * | 2022-07-29 | 2022-11-01 | 北京字跳网络技术有限公司 | 内存分配方法、装置、电子设备、存储介质及产品 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9298603B2 (en) * | 2011-09-09 | 2016-03-29 | OCZ Storage Solutions Inc. | NAND flash-based storage device and methods of using |
DE102012201225A1 (de) * | 2012-01-27 | 2013-08-01 | Continental Automotive Gmbh | Rechnersystem |
-
2023
- 2023-05-11 CN CN202310531778.4A patent/CN116909937B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231284A (zh) * | 2011-06-02 | 2011-11-02 | 孙飞 | 一种降低闪存芯片数据写操作功耗的方法 |
CN103455443A (zh) * | 2013-09-04 | 2013-12-18 | 华为技术有限公司 | 一种缓存管理方法和装置 |
CN106909398A (zh) * | 2017-03-10 | 2017-06-30 | 深圳创维-Rgb电子有限公司 | 一种可执行文件的压缩方法及装置 |
CN108682442A (zh) * | 2018-05-23 | 2018-10-19 | 武汉忆数存储技术有限公司 | 一种不同封装闪存芯片在线测试和分类方法及测试系统 |
CN115061635A (zh) * | 2022-06-30 | 2022-09-16 | 苏州忆联信息系统有限公司 | 固态硬盘闪存块读取次数压缩的方法、装置、计算机设备及存储介质 |
CN115017062A (zh) * | 2022-07-22 | 2022-09-06 | 中航电测仪器股份有限公司 | 一种终端内存优化的方法、系统、设备及介质 |
CN115269190A (zh) * | 2022-07-29 | 2022-11-01 | 北京字跳网络技术有限公司 | 内存分配方法、装置、电子设备、存储介质及产品 |
Non-Patent Citations (3)
Title |
---|
MLC型NAND闪存中基于MI异构的Polar码优化;张司琪;孔令军;张顺外;张南;;应用科学学报(03);全文 * |
phk内存分配算法的分析;郑天宇;李力争;;微计算机信息(30);全文 * |
The Need for Precise and Efficient Memory Capacity Budgeting;Shaleen Garg ,;Proceedings of the International Symposium on Memory Systems;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116909937A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100977899B1 (ko) | 비휘발성 메모리 시스템에서 아웃-오브-시퀀스 기록 프로세스를 효과적으로 수행하기 위한 방법 및 장치 | |
US8281192B2 (en) | Storage medium reproducing apparatus, storage medium reproducing method, and computer program product for reading information from storage medium | |
US20090323419A1 (en) | Read-time wear-leveling method in storage system using flash memory device | |
US20070233752A1 (en) | Method and apparatus to reclaim nonvolatile memory space | |
US8631310B2 (en) | Method for reducing uncorrectable errors of a memory device regarding error correction code, and associated memory device and controller thereof | |
US20150349805A1 (en) | Method of Handling Error Correcting Code in Non-volatile Memory and Non-volatile Storage Device Using the Same | |
JP2008084317A (ja) | 異種セルタイプを支援する不揮発性メモリのためのマッピング装置および方法 | |
CN111459705A (zh) | 错误校正增强的存储器设备 | |
KR20110097439A (ko) | 사전 확률 정보를 사용하는 메모리 시스템 및 그것의 데이터 처리 방법 | |
CN116909937B (zh) | 闪存容量优化方法、装置、设备及存储介质 | |
US20060004950A1 (en) | Flash memory file system having reduced headers | |
US8856425B2 (en) | Method for performing meta block management, and associated memory device and controller thereof | |
US20090282064A1 (en) | On the fly compression and storage device, system and method | |
CN112559392A (zh) | 一种加速读存储介质的方法、读加速硬件模块及存储器 | |
US10289334B2 (en) | Valid data merging method, memory controller and memory storage apparatus | |
CN103186470B (zh) | 存储器储存装置及其存储器控制器与数据写入方法 | |
US8065468B2 (en) | Data storing methods and apparatus thereof | |
US20130166865A1 (en) | Systems and Methods for Managing Parallel Access to Multiple Storage Systems | |
US7259988B2 (en) | Method for managing memory blocks in flash memory | |
JP2005267676A (ja) | 不揮発性記憶装置 | |
CN106021123B (zh) | 一种3d闪存物理块的选取方法及选取系统 | |
US7743204B2 (en) | Non-volatile memory device and data access circuit and data access method | |
CN108062203B (zh) | 一种闪存数据管理方法、装置及存储器 | |
CN116431381B (zh) | 平衡闪存ecc纠错能力方法、装置、设备及存储介质 | |
JP2006244017A (ja) | データコピー方法 |
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 |