CN115687171A - 闪存块绑定方法、装置、设备及存储介质 - Google Patents
闪存块绑定方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115687171A CN115687171A CN202211315103.8A CN202211315103A CN115687171A CN 115687171 A CN115687171 A CN 115687171A CN 202211315103 A CN202211315103 A CN 202211315103A CN 115687171 A CN115687171 A CN 115687171A
- Authority
- CN
- China
- Prior art keywords
- binding
- blocks
- good
- block
- preset
- 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.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Read Only Memory (AREA)
Abstract
本申请涉及一种闪存块绑定方法、装置、设备及存储介质。该闪存块绑定方法包括:按照预设绑定规则对好块进行绑定,形成绑定块;根据第一预设标记规则对所述绑定块进行标记,其中所述第一预设标记规则为若所述绑定块中的各所述好块均来自于不同Plane,对此所述绑定块标记上可并行操作的标记;若所述绑定块中至少有两个所述好块来自于同一Plane,对此所述绑定块标记上不可并行操作的标记。本申请的技术方案能够提高闪存颗粒对好块的整体使用率,使得闪存颗粒的容量利用率大大提高。
Description
技术领域
本申请涉及存储技术领域,尤其涉及一种闪存块绑定方法、装置、设备及存储介质。
背景技术
目前,对于闪存颗粒而言,闪存颗粒的内部架构按照层级划分,依次为DIE(或者叫LUN)、面(Plane)、块(Block)和页(Page),市面上常见的闪存颗粒一般是1个、2个以及4个Plane的闪存颗粒。为了能够提高闪存颗粒的写入/读取速度,现有的闪存颗粒基本都支持Multi-Plane(多平面)并行操作。Multi-Plane并行操作的基础是需要将不同Plane中的块进行绑定形成绑定块,以使得闪存颗粒经绑定后能够形成若干绑定块,绑定块数量越多,意味着闪存颗粒能够进行Multi-Plane并行操作的绑定块也就越多,进而加快闪存颗粒的写入/读取速度。
但实际的绑定操作会受到好块的数量制约,当多个Plane中好块的数量不一致时,绑定块的数量会受到不同Plane中包含好块数量最少的制约。对于不同Plane中剩余且没有被绑定的好块,相关技术中是将这些好块“遗弃”不使用,若闪存颗粒中好块存在较多没有使用的情况,会导致闪存颗粒的容量利用率大大降低。
发明内容
为解决或者部分解决相关技术中存在的问题本申请提供一种闪存块绑定方法、装置、设备及存储介质,能够充分地将不同Plane中的好块进行绑定,提高闪存颗粒对好块的整体使用率,使得闪存颗粒的容量利用率大大提高。
本申请第一方面提供一种闪存块绑定方法,包括:
按照预设绑定规则对好块进行绑定,形成绑定块;
根据第一预设标记规则对所述绑定块进行标记,其中所述第一预设标记规则为若所述绑定块中的各所述好块均来自于不同Plane,对此所述绑定块标记上可并行操作的标记;若所述绑定块中至少有两个所述好块来自于同一Plane,对此所述绑定块标记上不可并行操作的标记。
作为本申请一种可能的实施方式,在该实施方式中,所述预设绑定规则为:
基于地址顺序选取不同Plane中的所述好块进行绑定;或
随机选取不同Plane中的所述好块进行绑定;或
优选选取不同Plane中好页比例达到预设比例的所述好块进行绑定。
作为本申请一种可能的实施方式,在该实施方式中,闪存块绑定方法还包括:
基于当前所述绑定块的数量计算闪存颗粒的当前容量值;
若所述当前容量值小于目标容量值,继续按照所述预设绑定规则对所述好块进行绑定;若所述当前容量值大于或者等于所述目标容量值,则停止对所述好块的绑定。
作为本申请一种可能的实施方式,在该实施方式中,所述绑定块中所述好块的个数与闪存颗粒包含的Plane个数一致。
作为本申请一种可能的实施方式,在该实施方式中,闪存块绑定方法还包括:
根据第二预设标记规则对所述绑定块中的各所述好块进行标记,其中所述第二预设标记规则为若所述绑定块中来自于同一Plane的各所述好块,选择其中一个来自于同一Plane中的所述好块和将来自于其余不同Plane的各所述好块均标记上可并行操作的标记,并对来自于同一Plane其余的所述好块标记上不可并行操作的标记。
本申请第二方面提供一种闪存块绑定装置,包括:
绑定模块,用于按照预设绑定规则对好块进行绑定,形成绑定块;
第一并行标记模块,用于根据第一预设标记规则对所述绑定块进行标记,其中所述第一预设标记规则为若所述绑定块中的各所述好块均来自于不同Plane,对此所述绑定块标记上可并行操作的标记;若所述绑定块中至少有两个所述好块来自于同一Plane,对此所述绑定块标记上不可并行操作的标记。
作为本申请一种可能的实施方式,在该实施方式中,闪存块绑定装置,还包括:
容量计算模块,用于基于当前所述绑定块的数量计算闪存颗粒的当前容量值;
判断模块,用于若所述当前容量值小于目标容量值,继续按照所述预设绑定规则对所述好块进行绑定;若所述当前容量值大于或者等于所述目标容量值,则停止对所述好块的绑定。
作为本申请一种可能的实施方式,在该实施方式中,闪存块绑定装置,还包括:
第二并行标记模块,用于根据第二预设标记规则对所述绑定块中的各所述好块进行标记,其中所述第二预设标记规则为若所述绑定块中来自于同一Plane的各所述好块,选择其中一个来自于同一Plane中的所述好块和来自于其余不同Plane的各所述好块均标记上可并行操作的标记,并对来自于同一Plane其余的所述好块标记上不可并行操作的标记。
本申请第三方面提供一种电子设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的闪存块绑定方法。
本申请第四方面提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的闪存块绑定方法。
本申请的技术方案,包括:按照预设绑定规则对好块进行绑定,形成绑定块;根据第一预设标记规则对所述绑定块进行标记,其中所述第一预设标记规则第一预设标记规则为若所述绑定块中的各所述好块均来自于不同Plane,对此所述绑定块标记上可并行操作的标记;若所述绑定块中至少有两个所述好块来自于同一Plane,对此所述绑定块标记上不可并行操作的标记。
本申请通过各好块均来自于不同Plane的绑定块标记上可并行操作的标记和至少有两个好块来自于同一Plane的绑定块标记上不可并行操作的标记,能够很好地解决相关技术中绑定块的数量会受到不同Plane中包含好块数量最少的制约,充分地将不同Plane中的好块进行绑定,提高闪存颗粒对好块的整体使用率,使得闪存颗粒的容量利用率大大提高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
通过结合附图对本申请示例性实施方式进行更详细地描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
图1是本申请一实施例示出的闪存块绑定方法的流程示意图;
图2是本申请另一实施例示出的闪存块绑定方法的流程示意图;
图3是本申请另一实施例示出的闪存块绑定方法的流程示意图;
图4是本申请实施例中示出的闪存颗粒的内部架构示意图;
图5为本申请实施例中示出的绑定块的示意图;
图6是本申请实施例中示出的闪存颗粒的内部架构示意图;
图7是本申请一实施例示出的闪存块绑定方法的流程框图;
图8是本申请另一实施例示出的闪存块绑定装置的结构示意图;
图9是本申请另一实施例示出的闪存块绑定装置的结构示意图;
图10是本申请另一实施例示出的闪存块绑定装置的结构示意图;
图11是本申请一实施例示出的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的实施方式。虽然附图中显示了本申请的实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
相关技术中,因绑定操作受到不同Plane中包含好块数量最少的制约,对于不同Plane中剩余且没有被绑定的好块进行“遗弃”不使用,若闪存颗粒中好块存在较多没有使用的情况,会导致闪存颗粒的容量利用率大大降低。
因此,为了解决上述技术问题,本申请公开了一种闪存块绑定方法,能够充分地将不同Plane中的好块进行绑定,提高闪存颗粒对好块的整体使用率,使得闪存颗粒的容量利用率大大提高。
以下结合附图详细说明本申请实施例的技术方案。
图1示出了本申请一实施例中的闪存块绑定方法的流程示意图。
请参阅图1,一种闪存块绑定方法,包括如下步骤:
步骤S110、按照预设绑定规则对好块进行绑定,形成绑定块。
其中,对于闪存颗粒而言,其层级结构包括有面(Plane)、块(Block)和页(Page),在相关技术中,一个闪存颗粒中可以有1个、2个或4个Plane,每个Plane中包含有多个块,每个块中又包含有多个页,页是存储数据的区域。
具体的,形成的绑定块包括有基础信息和绑定的各好块的块地址,基础信息例如包括记载的擦除次数、容量等。
预设绑定规则可以按照如下三种方式进行:
1.基于地址顺序选取不同Plane中的好块进行绑定,例如闪存颗粒中Plane的个数为3个,分别为Plane0、Plane1和Plane2,Plane0包含的Block(默认都为好块)按照地址顺序依次为Block0、Block1;Plane1包含的Block按照好块地址顺序依次为Block0、Block1;Plane2包含的Block按照好块地址顺序依次为Block0、Block1,经过绑定后得到的绑定块分别是:
绑定块1:Block0(来自Plane0)-Block0(来自Plane1)-Block0(来自Plane2);
绑定块2:Block1(来自Plane0)-Block1(来自Plane1)-Block1(来自Plane2);
此方式可确保对不同Plane中的好块按照地址顺序进行绑定,以避免不同Plane中好块的遗漏,以增加好块绑定的准确性。同时,此种绑定方式效率是最快的,因为不需要涉及对块质量进行判断分析,直接基于地址顺序来进行绑定。
2、随机选取不同Plane中的好块进行绑定,基于上述举例的Plane0、Plane1和Plane2,经过绑定后得到绑定块分别是:
绑定块1:Block0(来自Plane0)-Block1(来自Plane0)-Block1(来自Plane2);
绑定块2:Block1(来自Plane0)-Block1(来自Plane1)-Block0(来自Plane2);
此方式相比于上述第一种方式,不会相差太大,由于不同的好块,其包含的好页数量以及ECC(Error Checking and Correcting)纠错能力等都会存在一定区别,随机绑定的方式就能够很好地避免将质量非常好的好块集中在某一些绑定块中,导致另一些绑定块因集中了过多质量较差的好块,导致这些绑定块整体性能不如其他绑定块,即随机绑定的方式能够保证绑定块间的整体性能均匀性。
3、优选选取不同Plane中好页比例达到预设比例的好块进行绑定,预设比例设定为80%(预设比例用户可以根据实际需要进行灵活设定,本申请不作具体限制),基于上述举例的Plane0、Plane1和Plane2,Plane0中Block0中好页比例为50%,Plane0中Block1中好页比例为83%、Plane1中Block0中好页比例为70%,Plane1中Block1中好页比例为85%、Plane2中Block0中好页比例为90%,Plane2中Block1中好页比例为95%,则经过绑定后得到绑定块分别是:
绑定块1:Block1(来自Plane1)-Block0(来自Plane2)-Block1(来自Plane2);
绑定块2:Block0(来自Plane0)-Block1(来自Plane0)-Block0(来自Plane1);
此方式相比于第1种和第2种方式,由于是优选选取包含好页数量较多的好块来形成绑定块,此方式能够形成更多容量更大的绑定块,对于这些绑定块,能够存放更多的数据。
上述3种方式,每一种绑定方式都有其独有的优势,当然也会有存在缺陷的地方,用户能够根据实际情况灵活选用设定。
步骤S120、根据第一预设标记规则对绑定块进行标记,其中第一预设标记规则为若绑定块中的各好块均来自于不同Plane,对此绑定块标记上可并行操作的标记;若绑定块中至少有两个好块来自于同一Plane,对此绑定块标记上不可并行操作的标记。
其中,在绑定块上标记上可并行操作的标记,可表示该绑定块可以进行Multi-Plane并行操作,以加快闪存颗粒的数据写入/读取速度,在绑定块上标记上不可并行操作的标记,则表示该绑定块不可以进行Multi-Plane并行操作,但是此绑定块可以进行数据的存储,通过对绑定块标记上并行操作标记或者不可并行操作标记的方式,能够很好地解决相关技术中绑定块的数量会受到不同Plane中包含好块数量最少的制约,充分地将不同Plane中的好块进行绑定,提高闪存颗粒对好块的整体使用率,使得闪存颗粒的容量利用率大大提高。
具体地,绑定块的标记信息,在绑定块绑定完成后会作为标记参数添加在绑定块的基础信息中,以表示该绑定块是否可以进行Multi-Plane并行操作,以在数据写入/读取前先进行标记参数的读取,来执行相应的操作。
举例而言,请参阅图4,该闪存颗粒中有4个Plane,分别是Plane0、Plane1、Plane2和Plane3,其对应的Block的数量分别是19块、16块、16块和14块。由于Plane3中包含的好块数量最少,因此基于Plane3中的好块数量来对Plane0、Plane1、Plane2和Plane3中的好块进行绑定,其可按照不同Plane中好块的地址顺序进行绑定(按照图4所示的不同Plane中好块的连接方向进行绑定),得到的图5所示的绑定块,绑定块包括有基础信息和绑定的各好块的块地址,基础信息包括记载的擦除次数、容量等。
绑定块1:Block0(来自Plane0)-Block0(来自Plane1)-Block0(来自Plane2)-Block0(来自Plane3);
绑定块2:Block1(来自Plane0)-Block1(来自Plane1)-Block1(来自Plane2)-Block1(来自Plane3);
绑定块3:Block2(来自Plane0)-Block2(来自Plane1)-Block2(来自Plane2)-Block2(来自Plane3);
直到......;
绑定块14:Block13(来自Plane0)-Block3(来自Plane1)-Block13(来自Plane2)-Block13(来自Plane3);
基于此可得到14个绑定块,并且在这14个绑定块中标记上可并行操作的标记,并将此可并行操作的标记设置至绑定块的基础信息中。其中,关于不同Plane中好块的绑定顺序,也可按照图6中,按照随机选取不同Plane中的好块的方式进行绑定(随机绑定即图6中示意的不同Plane中好块的连接方向)。
完成14个绑定块的绑定后,Plane0、Plane1、Plane2和Plane3中还分别对应剩余5、3、3、0块的好块,这些剩余的好块都是可以进行存储数据,若将这些好块“遗弃”不使用,会无法充分地将不同Plane中的好块进行绑定,降低闪存颗粒对好块的整体使用率,使得闪存颗粒的容量利用率不高。因此,在本实施例中,为了提高对于不同Plane中剩余且没有被绑定的好块的整体利用率,继续对Plane0、Plane1和Plane2中剩余的好块进行绑定。由于绑定块的绑定好块的数量取决与闪存颗粒中Plane的个数,也即每个绑定块中需满足四个好块进行绑定,剩余的好块绑定的组合方式可以按如下几种方式进行:
1、从Plane0中的剩余的3个好块+Plane1中剩余的1个好块来绑定,形成Block14(来自Plane0)-Block15(来自Plane0)-Block16(来自Plane0)-Block14(来自Plane2Plane1),且在该绑定块的基础信息上添加不可并行操作的标记信息;
2、从Plane0中的剩余的2个好块+Plane1中剩余的1个好块+Plane2中剩余的1个好块来绑定,形成Block14(来自Plane0)-Block15(来自Plane0)-Block14(来自Plane1)-Block14(来自Plane2),且在该绑定块的基础信息上添加不可并行操作的标记信息;
3、从Plane0中的剩余的1个好块+Plane1中剩余的2个好块+Plane2中剩余的1个好块来绑定,形成Block14(来自Plane0)-Block14(来自Plane1)-Block15(来自Plane1)-Block14(来自Plane2)。
采用方式3种方式形成的绑定块,由于这些绑定块中有至少有两个好块来自于同一Plane,对这些绑定块标记上不可并行操作的标记,并将此不可并行操作的标记设置至这些绑定块的基础信息中。
如此,经过本实施例的技术方案,对于闪存颗粒而言,其包括的绑定块有两种类型,一种是可以执行Multi-Plane操作(即标记上可并行操作)的绑定块,另一种是不可以执行Multi-Plane操作(即标记上不可并行操作)的绑定块。因此本实施例的技术方案能够充分地将不同Plane中的好块进行绑定,提高闪存颗粒对好块的整体使用率,使得闪存颗粒的容量利用率大大提高。
图2示出了本申请另一实施例中的一种闪存块绑定方法的流程示意图。
请参阅图2,一种闪存块绑定方法,包括如下步骤:
步骤S210、按照预设绑定规则对好块进行绑定,形成绑定块。
其中,请参见上述实施例对步骤S110的阐述,在此不在赘述。
步骤S220、根据第一预设标记规则对绑定块进行标记,其中第一预设标记规则为若绑定块中的各好块均来自于不同Plane,对此绑定块标记上可并行操作的标记;若绑定块中至少有两个好块来自于同一Plane,对此绑定块标记上不可并行操作的标记。
其中,请参见上述实施例对步骤S120的阐述,在此不在赘述。
步骤S230、基于当前绑定块的数量计算闪存颗粒的当前容量值。
其中,闪存颗粒的当前容量值由当前绑定块中每个好块中的好页容量所决定,可通过获取每个好块中好页数量和容量,得到对应的好块容量,进而得到每个绑定块的容量,再基于当前绑定块的数量来得到闪存颗粒的当前容量值。
步骤S240、若当前容量值小于目标容量值,继续按照预设绑定规则对好块进行绑定;若当前容量值大于或者等于目标容量值,则停止对好块的绑定。
其中,为了获取到能够满足出厂容量需求的闪存颗粒也即闪存颗粒的目标容量值,在闪存颗粒出厂之前需要对闪存颗粒的容量进行控制,以在闪存颗粒每完成一个绑定块绑定时,基于当前绑定块的数量,来计算出闪存颗粒的当前容置值,以与目标容量值进行比较,来确保得到的闪存颗粒的容量能够满足出厂容量需求。
图3示出了本申请另一实施例中的一种闪存块绑定方法的流程示意图。
请参阅图3,一种闪存块绑定方法,包括如下步骤:
步骤S310、按照预设绑定规则对好块进行绑定,形成绑定块。
其中,请参见上述实施例对步骤S210的阐述,在此不在赘述。
步骤S320、根据第一预设标记规则对绑定块进行标记,其中第一预设标记规则为若绑定块中的各好块均来自于不同Plane,对此绑定块标记上可并行操作的标记;若绑定块中至少有两个好块来自于同一Plane,对此绑定块标记上不可并行操作的标记。
其中,请参见上述实施例对步骤S220的阐述,在此不在赘述。
步骤S330、根据第二预设标记规则对绑定块中的各好块进行标记,其中第二预设标记规则为若绑定块中来自于同一Plane的各好块,选择其中一个来自于同一Plane中的好块和将来自于其余不同Plane的各好块均标记上可并行操作的标记,并对来自于同一Plane其余的好块标记上不可并行操作的标记。
其中,该第二预设标记规则针对于同一个绑定块中出现来自同一Plane的多个好块,也即此绑定块在基础信息中标记有不可并行操作的信息,根据第二预设标记规则对每个好块标记上是否可并行操作的标记。基于上述举例,对Plane0、Plane1和Plane2,对应剩余的5、3、3块的好块进行绑定,经过绑定后得到:
绑定块15:Block14(来自Plane0)-Block15(来自Plane0)-Block14(来自Plane1)-Block14(来自Plane2);
由于Block14(来自Plane0)和Block15(来自Plane0)来自于同一个Plane。因此,对于绑定块15而言,从Block14(来自Plane0)和Block15(来自Plane0)这两个好块中随机选择一个标记上不可并行操作的标记,对于绑定块15中剩余的来自于不同于Plane中的好块标记上可并行操作的标记。即要么选择Block14(来自Plane0)、Block14(来自Plane1)和Block14(来自Plane2)这三个来自于不同Plane中的好块标记上可并行操作的标记,而对Block15(来自Plane0)标记上不可并行操作的标记;要么选择Block15(来自Plane0)、Block14(来自Plane1)和Block14(来自Plane2)这三个来自于不同Plane中的好块标记上可并行操作的标记,而对Block14(来自Plane0)(来自Plane0)标记上不可并行操作的标记。
本实施例的技术方案通过第一预设标记规则和第二预设标记规则的相互结合,以实现在存储数据时先基于绑定块的基础信息,判断绑定块的整体是否可执行并行操作,若不可执行并行操作,则看绑定块包含的好块是否可执行并行操作的可能,以此进一步确保闪存颗粒的写入/读取速度(对于闪存颗粒而言,能够执行Multi-Plane操作的好块数量越多,相应的闪存颗粒的写入/读取速度也就越快),来解决相关技术中将这些不可并行操作的好块进行“遗弃”不使用,导致没有充分利用闪存颗粒中不同Plane中剩余的且没有绑定的好块,使得闪存颗粒的容量利用率大大降低的技术问题。
步骤S340、基于当前绑定块的数量计算闪存颗粒的当前容量值。
其中,闪存颗粒的当前容量值由当前绑定块中每个好块中的好页容量所决定,可通过获取每个好块中好页数量和容量,得到对应的好块容量,进而得到每个绑定块的容量,再基于当前绑定块的数量来得到闪存颗粒的当前容量值。
步骤S350、若当前容量值小于目标容量值,继续按照预设绑定规则对好块进行绑定;若当前容量值大于或者等于目标容量值,则停止对好块的绑定。
其中,为了获取到能够满足出厂容量需求的闪存颗粒也即闪存颗粒的目标容量值,在闪存颗粒出厂之前需要对闪存颗粒的容量进行控制,以在闪存颗粒每完成一个绑定块绑定时,基于当前绑定块的数量,来计算出闪存颗粒的当前容置值,以与目标容量值进行比较,来确保得到的闪存颗粒的容量能够满足出厂容量需求。
为了更好地理解本申请的技术方案原理,图7示出了本申请实施例中的一种闪存颗粒容量的计算方法的流程框图。
步骤S710、按照预设绑定规则对好块进行绑定,形成绑定块,进入步骤S720。
步骤S720、判断绑定块中包含的好块是否来自不同的Plane,若是,则执行步骤S730;若否,则执行步骤S740。
步骤S730、在绑定块的基础信息标记上可并行操作的标记,进入步骤S770。
其中,该步骤S730的操作,是对绑定块的整体进行可并行操作信息的标记,以便于后续数据写入/读取时进行并行操作,提高闪存颗粒的写入/读取速度。
步骤S740、在绑定块的基础信息标记上不可并行操作的标记,进入步骤S750。
其中,该步骤S740的操作,是对绑定块的整体进行不可并行操作信息的标记,以便于后续数据的写入/读取。
步骤S750、绑定块中有至少两个好块来自于同一个Plane,若是,则执行步骤S760;若否,则执行步骤S770。
其中,该步骤S740的操作,是对绑定块中的每个好块的来源进行判断,以基于不同结果,来执行不同的操作步骤。
步骤S760、选择其中一个来自于同一Plane中的好块和将来自于其余不同Plane的各好块均标记上可并行操作的标记,并对来自于同一Plane其余的好块标记上不可并行操作的标记,进入步骤S770。
其中,该步骤S760的操作,是对整体标记不可并行操作标记的绑定块,继续基于绑定块中的各好块的来源,针对每个好块标记是否可并行操作的标记,以进一步在确保闪存颗粒的写入/读取速度时,来解决相关技术中将这些不可并行操作的好块进行“遗弃”不使用,导致没有充分利用闪存颗粒中不同Plane中剩余的且没有绑定的好块,使得闪存颗粒的容量利用率大大降低的技术问题。
步骤S770、基于当前绑定块的数量计算闪存颗粒的当前容量值,进入步骤S780。步骤S780、判断当前容量值大于或者等于目标容量值,若是,则执行步骤S790;若否,则返回执行步骤S710。
其中,该步骤S780可以实现在闪存颗粒出厂之前对闪存颗粒的容量进行控制,来满足出厂容量的需求。
步骤S790、停止对好块的绑定。
此外,本申请的技术方案中对Plane中好块的绑定原理,还可以扩展应到对不同Die中对好Plane的绑定以及对不同Chip中对好Die的绑定,其绑定原理与本申请的相同或者近似,此处不再阐述。
与前述的功能方法实施例相对应,本申请提供了一种闪存块绑定装置及相应的实施例。
图8示出了本申请另一实施例中的闪存块绑定装置的结构示意图。
请参阅图8,闪存块绑定装置800,包括:绑定模块810、第一并行标记模块820。
绑定模块810用于按照预设绑定规则对好块进行绑定,形成绑定块。
第一并行标记模块820用于根据第一预设标记规则对绑定块进行标记,其中第一预设标记规则为若绑定块中的各好块均来自于不同Plane,对此绑定块标记上可并行操作的标记;若绑定块中至少有两个好块来自于同一Plane,对此绑定块标记上不可并行操作的标记。
需要说明的是,该实施例公开的闪存块绑定装置所实现的闪存块绑定方法如上述实施例,故在此不再进行详细讲述。可选地,本实施例中的各个模块和上述其他操作或功能分别为了实现前述实施例中的方法。图9示出了本申请另一实施例中的闪存块绑定装置的结构示意图。
请参阅图9,闪存块绑定装置900,包括:绑定模块910、第一并行标记模块920、容量计算模块930、判断模块940。
其中,绑定模块910、第一并行标记模块920请参阅上述实施例对绑定模块810、第一并行标记模块820的相关阐述,此处不再赘述。
容量计算模块930用于基于当前绑定块的数量计算闪存颗粒的当前容量值。
判断模块940用于若当前容量值小于目标容量值,继续按照预设绑定规则对好块进行绑定;若当前容量值大于或者等于目标容量值,则停止对好块的绑定。
需要说明的是,该实施例公开的闪存块绑定装置所实现的闪存块绑定方法如上述实施例,故在此不再进行详细讲述。可选地,本实施例中的各个模块和上述其他操作或功能分别为了实现前述实施例中的方法。
图10示出了本申请另一实施例中的闪存块绑定装置的结构示意图。
请参阅图10,闪存块绑定装置1000,包括:绑定模块1010、第一并行标记模块1020、第二并行标记模块1030、容量计算模块块1040、判断模块1050。
其中,绑定模块1010、第一并行标记模块1020、容量计算模块块1040、判断模块1050,请参阅上述实施例对绑定模块910、第一并行标记模块920、容量计算模块930、判断模块940的相关阐述,此处不再赘述。
第二并行标记模块1030用于根据第二预设标记规则对绑定块中的各好块进行标记,其中第二预设标记规则为若绑定块中来自于同一Plane的各好块,选择其中一个来自于同一Plane中的好块和来自于其余不同Plane的各好块均标记上可并行操作的标记,并对来自于同一Plane其余的好块标记上不可并行操作的标记。
需要说明的是,该实施例公开的闪存块绑定装置所实现的闪存块绑定方法如上述实施例,故在此不再进行详细讲述。可选地,本实施例中的各个模块和上述其他操作或功能分别为了实现前述实施例中的方法。
图11示出了本申请一实施例中的计算电子设备的结构示意图。
参阅图11,本申请另一实施例示出了一种计算电子设备1100包括存储器1110和处理器1120。
处理器1120可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现场可编程门阵列(FieldProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器存储器1110可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM)和永久存储装置。
其中,ROM可以存储处理器1120或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。
另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。
此外,存储器1110可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(例如DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。
在一些实施方式中,存储器1110可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、minSD卡、Micro-SD卡等)、磁性软盘等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。存储器1110上存储有可执行代码,当可执行代码被处理器1120处理时,可以使处理器1120执行上文述及的方法中的部分或全部。
此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本申请还可以实施为一种计算机可读存储介质(或非暂时性机器可读存储介质或机器可读存储介质),其上存储有可执行代码(或计算机程序或计算机指令代码),当可执行代码(或计算机程序或计算机指令代码)被电子设备(或服务器等)的处理器执行时,使处理器执行根据本申请的上述方法的各个步骤的部分或全部。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种闪存块绑定方法,其特征在于,包括:
按照预设绑定规则对好块进行绑定,形成绑定块;
根据第一预设标记规则对所述绑定块进行标记,其中所述第一预设标记规则为若所述绑定块中的各所述好块均来自于不同Plane,对此所述绑定块标记上可并行操作的标记;若所述绑定块中至少有两个所述好块来自于同一Plane,对此所述绑定块标记上不可并行操作的标记。
2.根据权利要求1所述的闪存块绑定方法,其特征在于,所述预设绑定规则为:
基于地址顺序选取不同Plane中的所述好块进行绑定;或
随机选取不同Plane中的所述好块进行绑定;或
优选选取不同Plane中好页比例达到预设比例的所述好块进行绑定。
3.根据权利要求1或2所述的闪存块绑定方法,其特征在于,还包括:
基于当前所述绑定块的数量计算闪存颗粒的当前容量值;
若所述当前容量值小于目标容量值,继续按照所述预设绑定规则对所述好块进行绑定;若所述当前容量值大于或者等于所述目标容量值,则停止对所述好块的绑定。
4.根据权利要求1所述的闪存块绑定方法,其特征在于,所述绑定块中所述好块的个数与闪存颗粒包含的Plane个数一致。
5.根据权利要求1或4所述的闪存块绑定方法,其特征在于,还包括:
根据第二预设标记规则对所述绑定块中的各所述好块进行标记,其中所述第二预设标记规则为若所述绑定块中来自于同一Plane的各所述好块,选择其中一个来自于同一Plane中的所述好块和将来自于其余不同Plane的各所述好块均标记上可并行操作的标记,并对来自于同一Plane其余的所述好块标记上不可并行操作的标记。
6.一种闪存块绑定装置,其特征在于,包括:
绑定模块,用于按照预设绑定规则对好块进行绑定,形成绑定块;
第一并行标记模块,用于根据第一预设标记规则对所述绑定块进行标记,其中所述第一预设标记规则为若所述绑定块中的各所述好块均来自于不同Plane,对此所述绑定块标记上可并行操作的标记;若所述绑定块中至少有两个所述好块来自于同一Plane,对此所述绑定块标记上不可并行操作的标记。
7.根据权利要求6所述的闪存块绑定装置,其特征在于,还包括:
容量计算模块,用于基于当前所述绑定块的数量计算闪存颗粒的当前容量值;
判断模块,用于若所述当前容量值小于目标容量值,继续按照所述预设绑定规则对所述好块进行绑定;若所述当前容量值大于或者等于所述目标容量值,则停止对所述好块的绑定。
8.根据权利要求6所述的闪存块绑定装置,其特征在于,还包括:
第二并行标记模块,用于根据第二预设标记规则对所述绑定块中的各所述好块进行标记,其中所述第二预设标记规则为若所述绑定块中来自于同一Plane的各所述好块,选择其中一个来自于同一Plane中的所述好块和来自于其余不同Plane的各所述好块均标记上可并行操作的标记,并对来自于同一Plane其余的所述好块标记上不可并行操作的标记。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至5中任意一项所述的闪存块绑定方法。
10.一种计算机可读存储介质,其特征在于,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至5中任意一项所述的闪存块绑定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211315103.8A CN115687171B (zh) | 2022-10-26 | 2022-10-26 | 闪存块绑定方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211315103.8A CN115687171B (zh) | 2022-10-26 | 2022-10-26 | 闪存块绑定方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115687171A true CN115687171A (zh) | 2023-02-03 |
CN115687171B CN115687171B (zh) | 2023-06-06 |
Family
ID=85100027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211315103.8A Active CN115687171B (zh) | 2022-10-26 | 2022-10-26 | 闪存块绑定方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115687171B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050144516A1 (en) * | 2003-12-30 | 2005-06-30 | Gonzalez Carlos J. | Adaptive deterministic grouping of blocks into multi-block units |
US20080162786A1 (en) * | 2007-01-03 | 2008-07-03 | Ca Shanmuganathan | Flash memory wear leveling system and method |
CN101458660A (zh) * | 2007-12-14 | 2009-06-17 | 深圳市朗科科技股份有限公司 | 提高闪存介质扫描速度的方法 |
WO2009111981A1 (zh) * | 2008-03-11 | 2009-09-17 | 深圳市朗科科技股份有限公司 | 提高闪存介质数据存取速度的方法及采用该方法的装置 |
CN101645310A (zh) * | 2008-08-05 | 2010-02-10 | 深圳市朗科科技股份有限公司 | 闪存设备、闪存管理方法及系统 |
CN103544082A (zh) * | 2013-10-28 | 2014-01-29 | 公安部第三研究所 | 基于闪存芯片实现存储设备数据恢复的方法 |
CN106445408A (zh) * | 2016-08-31 | 2017-02-22 | 深圳芯邦科技股份有限公司 | 一种nand闪存管理方法、主机、nand闪存读写方法及nand闪存控制器 |
CN109725847A (zh) * | 2017-10-30 | 2019-05-07 | 东芝存储器株式会社 | 存储器系统及控制方法 |
CN110297603A (zh) * | 2019-06-25 | 2019-10-01 | 深圳忆联信息系统有限公司 | 基于固态硬盘的随机写性能提升方法、装置和计算机设备 |
US20200034286A1 (en) * | 2018-07-25 | 2020-01-30 | ScaleFlux, Inc. | Using hybrid-software/hardware based logical-to-physical address mapping to improve the data write throughput of solid-state data storage devices |
US20200327953A1 (en) * | 2019-04-11 | 2020-10-15 | Pure Storage, Inc. | Adaptive threshold for bad flash memory blocks |
CN112068777A (zh) * | 2020-09-03 | 2020-12-11 | 深圳市硅格半导体有限公司 | 数据存储介质的管理方法、系统、终端设备及存储介质 |
CN113111013A (zh) * | 2021-04-19 | 2021-07-13 | 深圳芯邦科技股份有限公司 | 一种闪存数据块绑定方法、装置及介质 |
CN113220508A (zh) * | 2021-05-08 | 2021-08-06 | 联芸科技(杭州)有限公司 | 存储器块的管理方法、存储器的写操作方法以及存储器 |
US20220199189A1 (en) * | 2020-08-27 | 2022-06-23 | Micron Technology, Inc. | Memory device virtual blocks using half good blocks |
CN114896182A (zh) * | 2022-05-11 | 2022-08-12 | 地平线(上海)人工智能技术有限公司 | 存储装置、方法、电子设备和存储介质 |
-
2022
- 2022-10-26 CN CN202211315103.8A patent/CN115687171B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050144516A1 (en) * | 2003-12-30 | 2005-06-30 | Gonzalez Carlos J. | Adaptive deterministic grouping of blocks into multi-block units |
US20080162786A1 (en) * | 2007-01-03 | 2008-07-03 | Ca Shanmuganathan | Flash memory wear leveling system and method |
CN101458660A (zh) * | 2007-12-14 | 2009-06-17 | 深圳市朗科科技股份有限公司 | 提高闪存介质扫描速度的方法 |
WO2009111981A1 (zh) * | 2008-03-11 | 2009-09-17 | 深圳市朗科科技股份有限公司 | 提高闪存介质数据存取速度的方法及采用该方法的装置 |
CN101645310A (zh) * | 2008-08-05 | 2010-02-10 | 深圳市朗科科技股份有限公司 | 闪存设备、闪存管理方法及系统 |
CN103544082A (zh) * | 2013-10-28 | 2014-01-29 | 公安部第三研究所 | 基于闪存芯片实现存储设备数据恢复的方法 |
CN106445408A (zh) * | 2016-08-31 | 2017-02-22 | 深圳芯邦科技股份有限公司 | 一种nand闪存管理方法、主机、nand闪存读写方法及nand闪存控制器 |
CN109725847A (zh) * | 2017-10-30 | 2019-05-07 | 东芝存储器株式会社 | 存储器系统及控制方法 |
US20200034286A1 (en) * | 2018-07-25 | 2020-01-30 | ScaleFlux, Inc. | Using hybrid-software/hardware based logical-to-physical address mapping to improve the data write throughput of solid-state data storage devices |
US20200327953A1 (en) * | 2019-04-11 | 2020-10-15 | Pure Storage, Inc. | Adaptive threshold for bad flash memory blocks |
CN110297603A (zh) * | 2019-06-25 | 2019-10-01 | 深圳忆联信息系统有限公司 | 基于固态硬盘的随机写性能提升方法、装置和计算机设备 |
US20220199189A1 (en) * | 2020-08-27 | 2022-06-23 | Micron Technology, Inc. | Memory device virtual blocks using half good blocks |
CN112068777A (zh) * | 2020-09-03 | 2020-12-11 | 深圳市硅格半导体有限公司 | 数据存储介质的管理方法、系统、终端设备及存储介质 |
CN113111013A (zh) * | 2021-04-19 | 2021-07-13 | 深圳芯邦科技股份有限公司 | 一种闪存数据块绑定方法、装置及介质 |
CN113220508A (zh) * | 2021-05-08 | 2021-08-06 | 联芸科技(杭州)有限公司 | 存储器块的管理方法、存储器的写操作方法以及存储器 |
CN114896182A (zh) * | 2022-05-11 | 2022-08-12 | 地平线(上海)人工智能技术有限公司 | 存储装置、方法、电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
彭军;黎福海;罗旗舞;肖祥慧;: "一种多通道并行固态存储系统的设计与实现" * |
Also Published As
Publication number | Publication date |
---|---|
CN115687171B (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8429327B2 (en) | Mapping apparatus and method for non-volatile memory supporting different cell types | |
KR102621467B1 (ko) | 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 온도 조절 방법 | |
US7953919B2 (en) | Physical block addressing of electronic memory devices | |
US8738987B2 (en) | Memory controller and memory management method | |
US11886710B2 (en) | Memory operations on data | |
US11550678B2 (en) | Memory management | |
US20220398200A1 (en) | Memory protocol with programmable buffer and cache size | |
US20240143219A1 (en) | Software-hardware combination method for internal mapping address query of zoned namespace | |
KR20200032527A (ko) | 메모리 시스템의 동작 방법 및 메모리 시스템 | |
US8959416B1 (en) | Memory defect management using signature identification | |
US20090027796A1 (en) | Information recording device and control method therefor | |
CN115687171B (zh) | 闪存块绑定方法、装置、设备及存储介质 | |
WO2014159396A2 (en) | System and method of accessing memory of a data storage device | |
US11755514B2 (en) | Transaction identification | |
CN110892386A (zh) | 裸片寻址 | |
CN108628752B (zh) | 一种数据存储方法和装置 | |
CN108628538B (zh) | 一种NAND Flash中数据存储方法和装置 | |
US20140149646A1 (en) | Memory systems including flash memories, first buffer memories, second buffer memories and memory controllers and methods for operating the same | |
CN115599701B (zh) | 闪存颗粒容量的计算方法、装置、设备及存储介质 | |
CN112416675B (zh) | 一种针对存储器的扩容检测方法及装置 | |
CN111367697A (zh) | 一种错误处理方法及装置 | |
CN113434084B (zh) | 一种数据擦除方法、系统、设备以及介质 | |
CN112860184A (zh) | 一种Flash芯片的存储方法及设备 | |
US20230074108A1 (en) | Memory system and operating method thereof | |
JP2011215871A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 402-406, floor 4, building 4, Tianan Yungu Industrial Park, Gangtou community, Bantian street, Longgang District, Shenzhen, Guangdong Province Applicant after: Shenzhen Sandi Yixin Electronics Co.,Ltd. Address before: 518000 402-406, floor 4, building 4, Tianan Yungu Industrial Park, Gangtou community, Bantian street, Longgang District, Shenzhen, Guangdong Province Applicant before: SHENZHEN SANDIYIXIN ELECTRONIC Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |