CN115599701A - 闪存颗粒容量的计算方法、装置、设备及存储介质 - Google Patents
闪存颗粒容量的计算方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115599701A CN115599701A CN202211251715.5A CN202211251715A CN115599701A CN 115599701 A CN115599701 A CN 115599701A CN 202211251715 A CN202211251715 A CN 202211251715A CN 115599701 A CN115599701 A CN 115599701A
- Authority
- CN
- China
- Prior art keywords
- page
- block
- flash memory
- good
- bad
- 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
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本申请涉及一种闪存颗粒容量的计算方法、装置、设备及存储介质。该计算方法包括:计算各页地址线对应的坏页;按照预设剔除规则对各所述页地址线依次剔除,所述预设剔除规则为优先排除当前未剔除的所述页地址线中包含所述坏页最多的所述页地址线;按照预设判定规则判定每次剔除所述页地址线后的好块;根据所述好块以及所述好块包含的好页,计算得到每次剔除相应所述页地址线后的容量值;将最大的所述容量值作为所述闪存颗粒的目标容量值。本申请实施例能够使得闪存颗粒在容量计算方式更加高效。
Description
技术领域
本申请涉及存储技术领域,尤其涉及一种闪存颗粒容量的计算方法、装置、设备及存储介质。
背景技术
闪存颗粒(NAND Flash,NF)是一种非易失存储介质(掉电后数据不会丢失),常见的U盘、TF卡/SD卡,以及大部分SSD(固态硬盘)都是由它组成的,其具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用。
对于闪存颗粒而言,闪存颗粒包含的块(Block)、页(Page)数量以及块、页质量(质量即好与坏)决定了其容量大小。在相关技术中,在进行闪存颗粒容量计算时,容量计算过程较复杂,导致容量计算方式的效率不够高效。
发明内容
为了使得闪存颗粒在容量计算方式更加高效,本申请提供一种闪存颗粒容量的计算方法、装置、设备及存储介质,采用如下的技术方案:
本申请第一方面提供一种闪存颗粒容量的计算方法,包括:
计算各页地址线对应的坏页;
按照预设剔除规则对各所述页地址线依次剔除,所述预设剔除规则为优先排除当前未剔除的所述页地址线中包含所述坏页最多的所述页地址线;
按照预设判定规则判定每次剔除所述页地址线后的好块;
根据所述好块以及所述好块包含的好页,计算得到每次剔除相应所述页地址线后的容量值;
将最大的所述容量值作为所述闪存颗粒的目标容量值。
作为本申请一种可能的实施方式,在该实施方式中,所述预设判定规则为:
在剔除掉相应所述页地址线之后,若当前块中包含有未剔除的所述页地址线对应的坏页,则将当前块判定为坏块,否则判定为好块。
作为本申请一种可能的实施方式,在该实施方式中,所述计算各页地址线对应的坏页之前,还包括:
获取当前所述闪存颗粒的页信息表;
所述计算各页地址线对应的坏页,包括:
基于所述页信息表计算各页地址线对应的坏页。
作为本申请一种可能的实施方式,在该实施方式中,所述页信息表按如下方式生成:
预先往所述闪存颗粒写满源数据;
读取所述闪存颗粒存储的所有数据,得到待比对数据;
基于所述源数据与所述待比对数据的比对结果,生成页信息表;
将所述页信息表存储至所述闪存颗粒中。
作为本申请一种可能的实施方式,在该实施方式中,所述基于所述源数据与所述待比对数据的比对结果,生成页信息表,具体包括:
当所述源数据与所述待比对数据的比对结果一致时,标记为好页;
当所述源数据与所述待比对数据的比对结果不一致时,标记为坏页;
基于标记的好页与坏页,生成所述页信息表。
作为本申请一种可能的实施方式,在该实施方式中,所述容量值按如下方式确定:
将所述好块的数量、所述好块中好页的数量作乘法运算,得到所述容量值。
本申请第二方面提供一种闪存颗粒容量的计算装置,包括:
坏页计算模块,用于计算各页地址线对应的坏页;
页地址线剔除模块,用于按照预设剔除规则对各所述页地址线依次按照预设剔除规则对各所述页地址线依次剔除,所述预设剔除规则为优先排除当前未剔除的所述页地址线中包含所述坏页最多的所述页地址线;
判定模块,用于按照预设判定规则判定每次剔除所述页地址线后的好块;
容量计算模块,用于根据所述好块以及所述好块包含的好页,计算得到每次剔除相应所述页地址线后的容量值;
目标容量确定模块,用于将最大的所述容量值作为所述闪存颗粒的目标容量值。
作为本申请一种可能的实施方式,在该实施方式中,闪存颗粒容量的计算装置,还包括:
页信息表获取模块,用于获取当前所述闪存颗粒的页信息表;
所述坏页计算模块,用于基于所述页信息表计算各页地址线对应的坏页。
本申请第三方面提供一种电子设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的计算方法。
本申请第四方面提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的计算方法。
本申请的技术方案,包括:计算各页地址线对应的坏页;按照预设剔除规则对各所述页地址线依次剔除,所述预设剔除规则为优先排除当前未剔除的所述页地址线中包含所述坏页最多的所述页地址线;按照预设判定规则判定每次剔除所述页地址线后的好块;根据所述好块以及所述好块包含的好页,计算得到每次剔除相应所述页地址线后的容量值;将最大的所述容量值作为所述闪存颗粒的目标容量值。通过预设剔除规则和预设判定规则的方式,能够在计算闪存颗粒容量值的过程中充分地考虑块页数量和块页质量,最后比较多个容量值,将最大的容量值作为闪存颗粒的目标容量值,大大简化闪存颗粒的容量计算过程,使得容量计算方式更加高效。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
通过结合附图对本申请示例性实施方式进行更详细地描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
图1是本申请一实施例示出的闪存颗粒容量的计算方法的流程示意图;
图2是本申请另一实施例示出的闪存颗粒容量的计算方法的流程示意图;
图3是本申请实施例中页信息表的示意图;
图4为图3中各条页地址线基于坏块数量排序的柱状图;
图5为剔除图3中1条页地址线生成新页信息表的示意图;
图6为在图5剔除的基础上又剔除1条页地址线生成新页信息表的示意图;
图7为本申请一实施例中示出的块信息表的示意图;
图8是本申请一实施例示出的闪存颗粒容量的计算方法的流程框图;
图9是本申请另一实施例示出的闪存颗粒容量的计算装置的结构示意图;
图10是本申请另一实施例示出的闪存颗粒容量的计算装置的结构示意图;
图11是本申请另一实施例示出的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的实施方式。虽然附图中显示了本申请的实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在相关技术中,由于闪存颗粒所包含的块(BlocK)、页(Page)数量以及块、页质量(质量即好与坏)决定了其容量大小。在相关技术中,在进行闪存颗粒容量计算时,容量计算过程较复杂,导致容量计算方式的效率不够高效。
因此,为了解决上述技术问题,本申请公开了一种闪存颗粒容量的计算方法、装置、设备及存储介质,能够解决闪存颗粒容量计算不够高效的问题。
以下结合附图详细说明本申请实施例的技术方案。
图1示出了本申请一实施例中的闪存颗粒容量的计算方法的流程示意图。
请参阅图1,一种闪存颗粒容量的计算方法,包括如下步骤:
步骤S110、计算各页地址线对应的坏页。
其中,对于闪存颗粒而言,其层级结构包括有面(Plane)、块(Block)和页(Page),每块中包含页的数量是相同的。软件代码上为了方便对闪存颗粒内存储的数据进行调度,基于闪存颗粒中同一个Plane下的不同块中的每一个页,会对应分配一条列地址。
请参阅图3,该闪存颗粒在同一个Plane下包含有5个块,每一个块又包含5个页,对于第0块中的第0页、第1块中的第0页、第2块中的第0页以及第3块中的第0页,会分配第0条页地址线;对于第0块中的第1页、第1块中的第1页、第2块中的第1页以及第3块中的第1页,会分配第1条页地址线;对于第0块中的第2页、第1块中的第2页、第2块中的第2页以及第3块中的第2页,会分配第2条页地址线;对于第0块中的第3页、第1块中的第3页、第2块中的第3页以及第3块中的第3页,会分配第3条页地址线;对于第0块中的第4页、第1块中的第0页、第2块中的第4页以及第3块中的第4页,会分配第4条页地址线。
其中,被标记“1”的页称为好页,好页是能够存储数据的区域,而被标记成“0”的页称为坏页,坏页是不能存储数据的区域。“0”和“1”可称为页的状态标识,状态标识表示该页能否正常存储以及能否被正常操作(操作包括写入、读取),根据状态标识,能够生成每个块对应的页信息表,如对于第0块而言,其对应的页信息表为1-1-0-0-1;对于第1块而言,其对应的页信息表为1-0-1-1-1;对于第2块而言,其对应的页信息表为0-1-1-0-1;对于第3块而言,其对应的页信息表为0-0-1-1-1;对于第4块而言,其对应的页信息表为1-1-1-0-1。基于每个块中每个页的状态标识,能够生成相应的页信息表,通过页信息表能够让用户快速得知当前块中哪些页是好页,哪些页是坏页。
步骤S120、按照预设剔除规则对各所述页地址线依次剔除,所述预设剔除规则为优先排除当前未剔除的所述页地址线中包含所述坏页最多的所述页地址线。
其中,预设剔除规则为基于页地址线中坏页的数量进行依次降序循环剔除,通过优先排除当前未剔除的页地址线中包含坏页最多的页地址线,以得到多种剔除方式,确保包含有所有剔除方式,且不重复,以提高剔除效率。
例如,请参阅图3,闪存颗粒中页信息表第0条页地址线、第1条页地址线、第2条页地址线、第3条页地址线、第4条页地址线,对应的坏页数量为2、2、1、3、0,同时参阅图4,基于坏页数量对各页地址线进行降序排序,则先剔除第3条页地址线,即将剔除第3条页地址线作为第一种剔除方式,此时闪存颗粒中页信息表剩余第0条页地址线、第1条页地址线、第2条页地址线和第4条页地址线;
参阅图5,基于剔除第3条页地址线的条件下,再剔除第0条页地址线,即将剔除第0条页地址线+第3条页地址线作为第二种剔除方式,此时闪存颗粒中页信息表剩余第1条页地址线、第2条页地址线和第4条页地址线;
再基于剔除第0条页地址线+第3条页地址线的条件下,再剔除第1条页地址线,即将剔除第0条页地址线+第1条页地址线+第3条页地址线作为第三种剔除方式,此时闪存颗粒中页信息表剩余第2条页地址线和第4条页地址线;
继续基于剔除第0条页地址线+第1条页地址线+第3条页地址线的条件下,再剔除第2条页地址线,即将剔除第0条页地址线+第1条页地址线+第2条页地址线+第3条页地址线作为第四种剔除方式,此时闪存颗粒中页信息表剩余第4条页地址线;
关于第五种剔除方式,也即基于第四种剔除方式再剔除第4条页地址线,此时闪存颗粒中页信息表剩余0条页地址线。
步骤S130、按照预设判定规则判定每次剔除所述页地址线后的好块。
其中,预设判定规则可以是在剔除掉相应页地址线之后,若当前块中包含有未剔除的页地址线对应的坏页,则将当前块判定为坏块,否则判定为好块,可以确保最终计算出的闪存颗粒容量都是好块的容量,确保闪存颗粒存储数据的都是好页,进而确保数据的稳定。
举例而言,基于前述举例的五种剔除方式,在第一种剔除方式中,当先剔除第3条页地址线,此时闪存颗粒中页信息表剩余第0条页地址线、第1条页地址线、第2条页地址线和第4条页地址线,参阅图6,对于第0块而言,其对应的页信息表为1-1-0-1,含有标记的“0”,则第0块为坏块标记为“0”;对于第1块而言,其对应的页信息表为1-0-1-1,含有标记的“0”,则第1块为坏块标记为“0”;对于第2块而言,其对应的页信息表为0-1-1-1,含有标记的“0”标记为“0”,则第2块为坏块;对于第3块而言,其对应的页信息表为0-0-1-1,含有标记的“0”,则第3块为坏块标记为“0”;对于第4块而言,其对应的页信息表为1-1-1-1,不含有标记的“0”,则第4块为好块标记为“1”,也即得到第一种剔除方式中,好块数量为1,关于其他剔除方式,可参阅上述好块的计算方式,此处不再赘述。
进一步地,预设判定规则还可以为当好块中的好页比例达到预设阈值时,则判定当前块为好块。
其中,预设阈值例如为60%,基于前述举例的五种剔除方式,第一种剔除方式中,当先剔除第3条页地址线,此时闪存颗粒中页信息表剩余第0条页地址线、第1条页地址线、第2条页地址线和第4条页地址线,参阅图6,对于第0块而言,其对应的页信息表为1-1-0-1,好块占比大于60%,则第0块为好块标记为“1”;对于第1块而言,其对应的页信息表为1-0-1-1,好块占比大于60%,则第1块为好块标记为“1”;对于第2块而言,其对应的页信息表为0-1-1-1,好块占比大于60%,则第2块为好块;对于第3块而言,其对应的页信息表为0-0-1-1,好块占比小于60%,则第3块为坏块标记为“0”;对于第4块而言,其对应的页信息表为1-1-1-1,好块占比大于60%,则第4块为好块标记为“1”,也即得到第一种剔除方式中,好块数量为4,关于其他剔除方式,可参阅上述好块的计算方式,此处不再赘述。
步骤S140、根据所述好块以及所述好块包含的好页,计算得到每次剔除相应所述页地址线后的容量值。
其中,闪存颗粒容量值的计算公式可以为好块数量与每个好块中好页的数量进行乘法运算所得,例如一种剔除方式得到闪存颗粒中好块的数量为3块,每块中好页的数量为5,假设一个页的容量为1KB,则闪存颗粒容量值为3*5*1=15KB。
步骤S150、将最大的所述容量值作为所述闪存颗粒的目标容量值。
其中,将最大的容量值作为闪存颗粒的目标容量值,可以确保计算出来的闪存颗粒的目标容量值为最佳。另外,结合上述步骤,通过直接循环剔除对应页地址线的方式,可使得同一个面(Plane)基于不同剔除方式采用统一的页信息表,可快速计算出不同剔除方式对应的容量,再筛选出最大值作为闪存颗粒的目标容量值,使得闪存颗粒的容量计算简单且高效。
图2示出了本申请另一实施例中的一种闪存颗粒容量的计算方法的流程示意图。
请参阅图2,一种闪存颗粒容量的计算方法,包括如下步骤:
步骤S210、获取当前所述闪存颗粒的页信息表。
其中,在此实施例中,页信息表的生成可按照如下方式:
步骤S211、预先往所述闪存颗粒写满源数据。
其中,源数据在本实施中可理解一种数据信息,并不限定数据信息的类型;写满源数据的方式即往闪存颗粒中每个块中的每个页都写满数据。
步骤S212、读取所述闪存颗粒存储的所有数据,得到待比对数据。
往闪存颗粒写满源数据后,对闪存颗粒进行读取操作,将读取得到的待对比数据与源数据进行比较,若待比对数据与源数据不一致,则认定该页为坏页,状态标记成“0”;若比对数据与源数据一致,则认定该页为好页,状态标记成“1”。
步骤S213、基于所述源数据与所述待比对数据的比对结果,生成页信息表。
其中,比对结果即对应该页的状态标记,即前述的“0”和“1”。若状态标记为“1”则可以证明该页中可以存储数据,;否则,可以证明该页中不可以存储数据。基于每页对应的状态标记,能够生成如图3所示的页信息表。
步骤S214、将所述页信息表存储至所述闪存颗粒中。
其中,将页信息表存储至闪存颗粒中,后期用户通过读取页信息表中的状态信息,能够根据页信息表明确每个块中好页的数量以及好页的位置,对闪存颗粒的容量值打下基础。
步骤S220、基于所述页信息表计算各页地址线对应的坏页。
请参阅图3,该闪存颗粒在同一个Plane下包含有5个块,每一个块又包含5个页,对于第0块中的第0页、第1块中的第0页、第2块中的第0页以及第3块中的第0页,会分配第0条页地址线;对于第0块中的第1页、第1块中的第1页、第2块中的第1页以及第3块中的第1页,会分配第1条页地址线;对于第0块中的第2页、第1块中的第2页、第2块中的第2页以及第3块中的第2页,会分配第2条页地址线;对于第0块中的第3页、第1块中的第3页、第2块中的第3页以及第3块中的第3页,会分配第3条页地址线;对于第0块中的第4页、第1块中的第0页、第2块中的第4页以及第3块中的第4页,会分配第4条页地址线。
被标记“1”的页称为好页,好页是能够存储数据的区域,而被标记成“0”的页称为坏页,坏页是不能存储数据的区域。“0”和“1”可称为页的状态标识,状态标识表示该页能否正常存储以及能否被正常操作(操作包括写入、读取),根据状态标识,能够生成每个块对应的页信息表,页信息表也称为页信息表,如对于第0块而言,其对应的页信息表为1-1-0-0-1;对于第1块而言,其对应的页信息表为1-0-1-1-1;对于第2块而言,其对应的页信息表为0-1-1-0-1;对于第3块而言,其对应的页信息表为0-0-1-1-1;对于第4块而言,其对应的页信息表为1-1-1-0-1。基于每个块中每个页的状态标识,能够生成相应的页信息表,通过页信息表能够让用户快速得知当前块中哪些页是好页,哪些页是坏页。
步骤S230、按照预设剔除规则对各所述页地址线依次剔除,所述预设剔除规则为优先排除当前未剔除的所述页地址线中包含所述坏页最多的所述页地址线。
举例而言,请参阅图3,闪存颗粒中页信息表第0条页地址线、第1条页地址线、第2条页地址线、第3条页地址线、第4条页地址线,对应的坏页数量为2、2、1、3、0,同时参阅图4,基于坏页数量对各页地址线进行降序排序,则先剔除第3条页地址线,即将剔除第3条页地址线作为第一种剔除方式,此时闪存颗粒中页信息表剩余第0条页地址线、第1条页地址线、第2条页地址线和第4条页地址线;
参阅图5,基于剔除第3条页地址线的条件下,再剔除第0条页地址线,即将剔除第0条页地址线+第3条页地址线作为第二种剔除方式,此时闪存颗粒中页信息表剩余第1条页地址线、第2条页地址线和第4条页地址线;
再基于剔除第0条页地址线+第3条页地址线的条件下,再剔除第1条页地址线,即将剔除第0条页地址线+第1条页地址线+3页地址线作为第三种剔除方式,此时闪存颗粒中页信息表剩余第2条页地址线和第4条页地址线;
继续基于剔除第0条页地址线+第1条页地址线+3页地址线的条件下,再剔除第2条页地址线,即将剔除第0条页地址线+第1条页地址线+第2条页地址线+3页地址线作为第四种剔除方式,此时闪存颗粒中页信息表剩余第4条页地址线;
关于第五种剔除方式,也即基于第四种剔除方式再剔除第4条页地址线,此时闪存颗粒中页信息表剩余0条页地址线。
步骤S240、按照预设判定规则判定每次剔除所述页地址线后的好块。
其中,预设判定规则可以是在剔除掉相应页地址线之后,若当前块中包含有未剔除的页地址线对应的坏页,则将当前块判定为坏块,否则判定为好块,可以确保最终计算出的闪存颗粒容量都是好块的容量,确保闪存颗粒存储数据的都是好页,进而确保数据的稳定。
举例而言,基于前述举例的五种剔除方式,在第一种剔除方式中,当先剔除第3条页地址线,此时闪存颗粒中页信息表剩余第0条页地址线、第1条页地址线、第2条页地址线和第4条页地址线,参阅图6,对于第0块而言,其对应的页信息表为1-1-0-1,含有标记的“0”,则第0块为坏块标记为“0”;对于第1块而言,其对应的页信息表为1-0-1-1,含有标记的“0”,则第1块为坏块标记为“0”;对于第2块而言,其对应的页信息表为0-1-1-1,含有标记的“0”,则第2块为坏块;对于第3块而言,其对应的页信息表为0-0-1-1,含有标记的“0”,则第3块为坏块标记为“0”;对于第4块而言,其对应的页信息表为1-1-1-1,不含有标记的“0”,则第4块为好块标记为“1”,也即得到第一种剔除方式中,好块数量为1,关于其他剔除方式,可参阅上述好块的计算方式,此处不再赘述。
步骤S250、根据所述好块以及所述好块包含的好页,计算得到每次剔除相应所述页地址线后的容量值。
其中,闪存颗粒容量值的计算公式可以为好块数量与每个好块中好页的数量进行乘法运算所得,例如一种剔除方式得到闪存颗粒中好块的数量为3块,每块中好页的数量为5,假设一个页的容量为1KB,则闪存颗粒容量值为3*5*1=15KB。
进一步地,预设判定规则还可以为当好块中的好页比例达到预设阈值时,则判定当前块为好块。
其中,预设阈值例如为60%,基于前述举例的五种剔除方式,第一种剔除方式中,当先剔除第3条页地址线,此时闪存颗粒中页信息表剩余第0条页地址线、第1条页地址线、第2条页地址线和第4条页地址线,参阅图6,对于第0块而言,其对应的页信息表为1-1-0-1,好块占比大于60%,则第0块为好块标记为“1”;对于第1块而言,其对应的页信息表为1-0-1-1,好块占比大于60%,则第1块为好块标记为“1”;对于第2块而言,其对应的页信息表为0-1-1-1,好块占比大于60%,则第2块为好块;对于第3块而言,其对应的页信息表为0-0-1-1,好块占比小于60%,则第3块为坏块标记为“0”;对于第4块而言,其对应的页信息表为1-1-1-1,好块占比大于60%,则第4块为好块标记为“1”,也即得到第一种剔除方式中,好块数量为4,关于其他剔除方式,可参阅上述好块的计算方式,此处不再赘述。
步骤S260、将最大的所述容量值作为所述闪存颗粒的目标容量值。
其中,将最大的容量值作为闪存颗粒的目标容量值,可以确保计算出来的闪存颗粒的目标容量值为最佳;另外,结合上述步骤,通过直接循环剔除对应页地址线的方式,可使得同一个Plane基于不同剔除方式采用统一的页信息表,可快速计算出不同剔除方式对应的容量,再筛选出最大值作为闪存颗粒的目标容量值,使得闪存颗粒的容量计算简单且高效。
为了更好地理解本申请的技术方案原理,图8示出了本申请实施例中的一种闪存颗粒容量的计算方法的流程框图。
步骤S810、先计算出页信息表中各页地址线对应的坏块数量,进入步骤S820。
步骤S820、对各页地址线依据坏块的数量进行降序排列,进入步骤S830。
其中,可同时参阅图4,页地址线的排列顺序依次为第3页地址线-坏块数量为3、第0页地址线-坏块数量为2、第1页地址线-坏块数量为2、第2页地址线-坏块数量为1和第4页地址线-坏块数量为0。
步骤S830、按照预设剔除规则对页地址线进行剔除,预设剔除规则为优先排除当前未剔除的页地址线中包含坏页最多的页地址线,进入步骤S840。
其中,按照页地址线的降序排列顺序,优先剔除第3页地址线,以作为第一种剔除方式,得到新页信息表;再参阅图6,基于第一种剔除方式得到的新页信息表,再剔除第0页地址线,以作为第二种剔除方式,得到又一新页信息表;继而,第三种剔除方式在第二种剔除方式得到的又一新页信息表中进行剔除第1页地址线;第四种剔除方式在第三种剔除方式得到的又一新页信息表中进行剔除第2页地址线;直至第五种剔除方式,在第四种剔除方式的基础中,剔除到第4页地址线,剩余0条页地址线。
步骤S840、判断当前页地址线数量是否为0,若当前页地址线数量等于0,则执行步骤S850;若当前页地址线数量不等于,则返回执行步骤S830。
其中,判断当前页地址线数量是否为0,是为了确保对于页信息表的剔除,将所有剔除方式都执行完毕,以确保后续闪存颗粒具有最佳的容量值,当为否时,则进行循环剔除及判断。
步骤S850、基于多种剔除方式对应的块和好块中包含的好页数量,计算得到每个剔除方式对应容量值,并将容量最大值,作为闪存颗粒的容量值。
其中,同时参阅图7所示的块信息表,其基于五种剔除方式,得到了每块对应的每页的好坏状态,且基于每块中出现坏页,则以“0”标记为坏块,否则以“1”标记为好块的判定规则,得到第一种剔除方式中块0~4对应标记为0-0-0-0-1,则好块数量为1块、第二种剔除方式中块0~4对应标记为0-0-1-0-1,则好块数量为2块、第三种剔除方式中块0~4对应标记为0-1-1-1-1,则好块数量为4块、第四种剔除方式中块0~4对应标记为1-1-1-1-1,则好块数量为5块、第五种剔除方式中块0~4对应标记为0-0-0-0-0,则好块数量为0块(在此说明,在图6中,没有显示第五种剔除方式)。
再查询第一种剔除方式中好块中好页的数量为4(基于每块中只要出现“0”则为坏块,则好块中好页的数量等于页地址数量),在此假设每个页的容量为1KB,则第一种剔除方式对应的闪存颗粒的容量为1*4*1=4KB、查询第二种剔除方式中好块中好页的数量为3,则第二种剔除方式对应的闪存颗粒的容量为2*3*1=6KB、查询第三种剔除方式中好块中好页的数量为2,则第三种剔除方式对应的闪存颗粒的容量为4*2*1=8KB、查询第四种剔除方式中好块中好页的数量为1,则第一种剔除方式对应的闪存颗粒的容量为5*1*1=5KB,查询第五种剔除方式中好块中好页的数量为0,则第五种剔除方式对应的闪存颗粒的容量为0KB,最终判定第三种剔除方式所得到的8KB为闪存颗粒的容量最大值,则将其作为该闪存颗粒的容量也即最佳容量。
与前述的功能方法实施例相对应,本申请提供了一种闪存颗粒容量计算装置及相应的实施例。
图9示出了本申请另一实施例中的闪存颗粒容量的计算装置的结构示意图。
请参阅图9,闪存颗粒容量的计算装置900,包括:坏页计算模块910、页地址线剔除模块920、判定模块930、容量计算模块940以及目标容量确定模块950。
坏页计算模块910用于计算各页地址线对应的坏页。
页地址线剔除模块920用于按照预设剔除规则对各所述页地址线依次按照预设剔除规则对各所述页地址线依次剔除,所述预设剔除规则为优先排除当前未剔除的所述页地址线中包含所述坏页最多的所述页地址线。
判定模块930用于按照预设判定规则判定每次剔除所述页地址线后的好块。
容量计算模块940用于根据所述好块以及所述好块包含的好页,计算得到每次剔除相应所述页地址线后的容量值。
目标容量确定模块950用于将最大的所述容量值作为所述闪存颗粒的目标容量值。
需要说明的是,该实施例公开的闪存颗粒容量的计算装置所实现的闪存颗粒容量的计算方法如上述实施例,故在此不再进行详细讲述。可选地,本实施例中的各个模块和上述其他操作或功能分别为了实现前述实施例中的方法。图10示出了本申请另一实施例中的闪存颗粒容量的计算装置的结构示意图。
请参阅图10,闪存颗粒容量的计算装置1000,包括:页信息表获取模块1100、坏页计算模块1200、页地址线剔除模块1300、判定模块1400、容量计算模块1500以及目标容量确定模块1600。
其中,页地址线剔除模块1300、判定模块1400、容量计算模块1500以及目标容量确定模块1600的功能请参阅第三实施例的相关描述,此处不再赘述。
页信息表获取模块410用于获取当前所述闪存颗粒的页信息表。
坏页计算模块420用于基于所述页信息表计算各页地址线对应的坏页。
需要说明的是,该实施例公开的闪存颗粒容量的计算装置所实现的闪存颗粒容量的计算方法如上述实施例,故在此不再进行详细讲述。可选地,本实施例中的各个模块和上述其他操作或功能分别为了实现前述实施例中的方法。
参阅图11,本申请另一实施例示出了一种计算电子设备1700包括存储器1800和处理器1900。
处理器1900可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器存储器1800可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM)和永久存储装置。
其中,ROM可以存储处理器1900或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。
另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。
此外,存储器1800可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(例如DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。
在一些实施方式中,存储器1800可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等)、磁性软盘等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。存储器1800上存储有可执行代码,当可执行代码被处理器1900处理时,可以使处理器1900执行上文述及的方法中的部分或全部。
此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本申请还可以实施为一种计算机可读存储介质(或非暂时性机器可读存储介质或机器可读存储介质),其上存储有可执行代码(或计算机程序或计算机指令代码),当可执行代码(或计算机程序或计算机指令代码)被电子设备(或服务器等)的处理器执行时,使处理器执行根据本申请的上述方法的各个步骤的部分或全部。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种闪存颗粒容量的计算方法,其特征在于,包括:
计算各页地址线对应的坏页;
按照预设剔除规则对各所述页地址线依次剔除,所述预设剔除规则为优先排除当前未剔除的所述页地址线中包含所述坏页最多的所述页地址线;
按照预设判定规则判定每次剔除所述页地址线后的好块;
根据所述好块以及所述好块包含的好页,计算得到每次剔除相应所述页地址线后的容量值;
将最大的所述容量值作为所述闪存颗粒的目标容量值。
2.根据权利要求1所述的闪存颗粒容量的计算方法,其特征在于,所述预设判定规则为:
在剔除掉相应所述页地址线之后,若当前块中包含有未剔除的所述页地址线对应的坏页,则将当前块判定为坏块,否则判定为好块。
3.根据权利要求1所述的闪存颗粒容量的计算方法,其特征在于,所述计算各页地址线对应的坏页之前,还包括:
获取当前所述闪存颗粒的页信息表;
所述计算各页地址线对应的坏页,包括:
基于所述页信息表计算各页地址线对应的坏页。
4.根据权利要求1所述的闪存颗粒容量的计算方法,其特征在于,所述页信息表按如下方式生成:
预先往所述闪存颗粒写满源数据;
读取所述闪存颗粒存储的所有数据,得到待比对数据;
基于所述源数据与所述待比对数据的比对结果,生成页信息表;
将所述页信息表存储至所述闪存颗粒中。
5.根据权利要求4所述的闪存颗粒容量的计算方法,所述基于所述源数据与所述待比对数据的比对结果,生成页信息表,具体包括:
当所述源数据与所述待比对数据的比对结果一致时,标记为好页;
当所述源数据与所述待比对数据的比对结果不一致时,标记为坏页;
基于标记的好页与坏页,生成所述页信息表。
6.根据权利要求1所述的闪存颗粒容量的计算方法,其特征在于,所述容量值按如下方式确定:
将所述好块的数量、所述好块中好页的数量作乘法运算,得到所述容量值。
7.一种闪存颗粒容量的计算装置,其特征在于,包括:
坏页计算模块,用于计算各页地址线对应的坏页;
页地址线剔除模块,用于按照预设剔除规则对各所述页地址线依次按照预设剔除规则对各所述页地址线依次剔除,所述预设剔除规则为优先排除当前未剔除的所述页地址线中包含所述坏页最多的所述页地址线;
判定模块,用于按照预设判定规则判定每次剔除所述页地址线后的好块;
容量计算模块,用于根据所述好块以及所述好块包含的好页,计算得到每次剔除相应所述页地址线后的容量值;
目标容量确定模块,用于将最大的所述容量值作为所述闪存颗粒的目标容量值。
8.根据权利要求7所述的闪存颗粒容量的计算装置,其特征在于,还包括:
页信息表获取模块,用于获取当前所述闪存颗粒的页信息表;
所述坏页计算模块,用于基于所述页信息表计算各页地址线对应的坏页。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至6中任意一项所述的闪存颗粒容量的计算方法。
10.一种计算机可读存储介质,其特征在于,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至6中任意一项所述的闪存颗粒容量的计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211251715.5A CN115599701B (zh) | 2022-10-13 | 2022-10-13 | 闪存颗粒容量的计算方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211251715.5A CN115599701B (zh) | 2022-10-13 | 2022-10-13 | 闪存颗粒容量的计算方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115599701A true CN115599701A (zh) | 2023-01-13 |
CN115599701B CN115599701B (zh) | 2023-05-23 |
Family
ID=84846059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211251715.5A Active CN115599701B (zh) | 2022-10-13 | 2022-10-13 | 闪存颗粒容量的计算方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115599701B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339537A (zh) * | 2008-08-14 | 2009-01-07 | 四川登巅微电子有限公司 | 一种以页为单位的nand闪存管理方法 |
CN102622306A (zh) * | 2012-02-21 | 2012-08-01 | 中颖电子股份有限公司 | 存储装置的坏块管理方法 |
CN103165194A (zh) * | 2011-12-16 | 2013-06-19 | 中兴通讯股份有限公司 | 快速检测大容量NOR Flash的方法及装置 |
CN110853694A (zh) * | 2019-10-31 | 2020-02-28 | 西安紫光国芯半导体有限公司 | 一种nand闪存缺陷的修复方法 |
CN113053450A (zh) * | 2021-03-05 | 2021-06-29 | 深圳三地一芯电子有限责任公司 | 一种应用于Flash智能分析检测的检测方法、系统、智能终端以及计算机可读存储介质 |
CN113050888A (zh) * | 2021-03-23 | 2021-06-29 | 深圳三地一芯电子有限责任公司 | 一种快速剔除Flash不稳定块的方法、系统、装置及存储介质 |
CN113051191A (zh) * | 2021-03-05 | 2021-06-29 | 深圳三地一芯电子有限责任公司 | 一种提升Flash芯片容量的方法 |
CN114220470A (zh) * | 2021-11-04 | 2022-03-22 | 浙江大华存储科技有限公司 | 一种闪存颗粒筛选方法、终端及计算机可读存储介质 |
-
2022
- 2022-10-13 CN CN202211251715.5A patent/CN115599701B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339537A (zh) * | 2008-08-14 | 2009-01-07 | 四川登巅微电子有限公司 | 一种以页为单位的nand闪存管理方法 |
CN103165194A (zh) * | 2011-12-16 | 2013-06-19 | 中兴通讯股份有限公司 | 快速检测大容量NOR Flash的方法及装置 |
CN102622306A (zh) * | 2012-02-21 | 2012-08-01 | 中颖电子股份有限公司 | 存储装置的坏块管理方法 |
CN110853694A (zh) * | 2019-10-31 | 2020-02-28 | 西安紫光国芯半导体有限公司 | 一种nand闪存缺陷的修复方法 |
CN113053450A (zh) * | 2021-03-05 | 2021-06-29 | 深圳三地一芯电子有限责任公司 | 一种应用于Flash智能分析检测的检测方法、系统、智能终端以及计算机可读存储介质 |
CN113051191A (zh) * | 2021-03-05 | 2021-06-29 | 深圳三地一芯电子有限责任公司 | 一种提升Flash芯片容量的方法 |
CN113050888A (zh) * | 2021-03-23 | 2021-06-29 | 深圳三地一芯电子有限责任公司 | 一种快速剔除Flash不稳定块的方法、系统、装置及存储介质 |
CN114220470A (zh) * | 2021-11-04 | 2022-03-22 | 浙江大华存储科技有限公司 | 一种闪存颗粒筛选方法、终端及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115599701B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109753443B (zh) | 一种数据处理方法、装置及电子设备 | |
CN107783734B (zh) | 一种基于超融合存储系统的资源分配方法、装置及终端 | |
US10762972B2 (en) | Method and apparatus for processing data in flash memory | |
US9483181B2 (en) | Data storage device and operating method thereof | |
WO2022166293A1 (zh) | 一种目标检测方法和装置 | |
CN114356248B (zh) | 一种数据处理方法和装置 | |
CN111415700B (zh) | 一种修复方法、装置及计算机存储介质 | |
JP3122222B2 (ja) | メモリカード装置 | |
CN112466378A (zh) | 一种固态硬盘运行纠错方法、装置及相关组件 | |
US20090150642A1 (en) | Indexing Page Attributes | |
CN115599701B (zh) | 闪存颗粒容量的计算方法、装置、设备及存储介质 | |
US7259988B2 (en) | Method for managing memory blocks in flash memory | |
US20160098203A1 (en) | Heterogeneous Swap Space With Dynamic Thresholds | |
CN115687171B (zh) | 闪存块绑定方法、装置、设备及存储介质 | |
CN108614664B (zh) | 基于NAND flash的读错误处理方法和装置 | |
CN114238245A (zh) | 三维设计软件文档保存方法 | |
CN106201344B (zh) | 一种信息处理方法及电子设备 | |
CN103927134A (zh) | 硬盘负载均衡方法、操作系统及存储控制设备 | |
CN112068948B (zh) | 数据散列方法、可读存储介质和电子设备 | |
CN113111013A (zh) | 一种闪存数据块绑定方法、装置及介质 | |
CN111367464A (zh) | 一种存储空间管理方法及装置 | |
CN109508446B (zh) | 一种日志处理方法和装置 | |
CN110674057A (zh) | 一种数据处理方法及系统 | |
CN116450054B (zh) | Io请求处理方法、装置、主机和计算机可读存储介质 | |
CN112416675B (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 | ||
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. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |