CN112988037A - 静态磨损均衡方法、终端和计算机可读存储介质 - Google Patents
静态磨损均衡方法、终端和计算机可读存储介质 Download PDFInfo
- Publication number
- CN112988037A CN112988037A CN201911305170.XA CN201911305170A CN112988037A CN 112988037 A CN112988037 A CN 112988037A CN 201911305170 A CN201911305170 A CN 201911305170A CN 112988037 A CN112988037 A CN 112988037A
- Authority
- CN
- China
- Prior art keywords
- physical area
- data
- address
- physical
- nonvolatile memory
- 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 47
- 230000003068 static effect Effects 0.000 title claims abstract description 38
- 230000015654 memory Effects 0.000 claims abstract description 171
- 238000005192 partition Methods 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 19
- 230000002035 prolonged effect Effects 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 36
- 238000012546 transfer Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Abstract
本申请公开了一种非易失性存储器的静态磨损均衡方法、终端和计算机可读存储介质,所述方法包括:获取所述非易失性存储器的数据擦除次数;当所述数据擦除次数到达预设阈值时,获取所述非易失性存储器中已被使用的第一物理区域的第一地址;根据所述第一地址获取所述非易失性存储器中未被使用的第二物理区域对应的第二地址;根据所述第一地址以及所述第二地址,将所述第一物理区域所存储的数据转移至所述第二物理区域中。实现了在非易失性存储器的使用过程中,通过提高对所包含的物理区域的使用效率,提高非易失性存储器的使用寿命。
Description
技术领域
本申请涉及数据存储技术领域,尤其涉及一种非易失性存储器的静态磨损均衡方法、终端和计算机可读存储介质。
背景技术
非易失性存储器是存储芯片的一种,由于结合了ROM(只读存储器)和 RAM(随机存储器)的优点,可以实现数据的快速读写。目前所有的非易失性存储器的数据存储中,将数据固定存储在相应的物理区域中,然后在需要读取的时候进行相应的读取。
对于固定存储在相应的物理区域的数据来说,在不进行数据的更新时,数据将会一直存储在此物理区域内。而在实际的使用过程中,会频繁的出现数据的擦除和写入,而一个物理区域可以进行数据擦除的次数是有限的,在擦除次数过多时,可能会导致非易失性存储器的过早损坏,使得非易失性存储器的使用寿命降低。
发明内容
基于此,有必要针对现行非易失性存储器数据存储的弊端,提供一种非易失性存储器的静态磨损均衡方法、终端和计算机可读存储介质,用于提升非易失性存储器的使用寿命。
第一方面,为实现上述目的,本申请提供的一种非易失性存储器的静态磨损均衡方法,所述非易失性存储器的静态磨损均衡方法包括:
获取所述非易失性存储器的数据擦除次数;
当所述数据擦除次数到达预设阈值时,获取所述非易失性存储器中已被使用的第一物理区域的第一地址;
根据所述第一地址获取所述非易失性存储器中未被使用的第二物理区域对应的第二地址;
根据所述第一地址以及所述第二地址,将所述第一物理区域所存储的数据转移至所述第二物理区域中。
第二方面,为实现上述目的,本申请还提供一种终端,所述终端包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述所述的非易失性存储器的静态磨损均衡方法的步骤。
第三方面,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被一个或多个处理器执行时,使得一个或多个处理器执行如上述所述的非易失性存储器的静态磨损均衡方法的步骤。
上述非易失性存储器的静态磨损均衡方法、终端和计算机可读存储介质,在上述描述的非易失性存储器的静态磨损均衡方法中,在非易失性存储器的使用过程中,记录和存储非易失性存储器的总的数据擦除的次数,在数据擦除次数达到预设阈值时,将会获取非易失性存储器中已被使用的第一物理区域对应的第一地址,同时根据第一地址得到非易失性存储器中未被使用的第二物理区域以及第二物理区域对应的第二地址,进而将存储在第一物理区域中的数据转移至第二物理区域中。实现了在非易失性存储器的使用过程中,对已存储的数据进行数据转移,提高了对所有的进行数据写入的物理区域的使用效率,避免出现某一个物理区域所记录的数据长时间未更新,而导致对应的物理区域与其他物理区域的数据擦数次数出现较大的差异,通过提高对所有物理区域的使用效率可以提高非易失性存储器的使用寿命。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
图1为本申请一个实施例中非易失性存储器的静态磨损均衡方法的流程示意图;
图2为本申请一个实施例中管理表的常规界面状态图;
图3为本申请一个实施例中进行数据转移的步骤的流程示意图;
图4为本申请一个实施例中提供的终端的示意性框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
参照图1,图1为本申请一个实施例中非易失性存储器的静态磨损均衡方法的流程示意图。该非易失性存储器的静态磨损均衡方法包括:
步骤S101、获取所述非易失性存储器的数据擦除次数。
在非易失性存储器的数据读写以及相关操作过程中,通常会存在对相关物理区域中所写入的数据进行擦除的操作,以实现数据的读写以及删除等。
具体地,在实际的数据写入过程中,实时获取非易失性存储器的数据擦除次数,进而根据数据擦除次数对非易失性存储器的实际使用进行相应的调节。
在一些实施例中,在进行数据写入时,若需要将数据写入至A物理区域,那么首先会对A区域所存储记录的数据信息进行擦除,以使得A物理区域没有存储有任何数据信息,进而可以将想要写入的数据存储在A物理区域中。这里所说的进行擦除也就是对非易失性存储器中的相关存储区域进行擦操作,此时将会进行相应的记录,具体地,将非易失性存储器的擦除次数增加一。
对于一个非易失性存储器而言,有一定的使用寿命,具体体现在对非易失性存储器的数据擦操作的次数有一定的限制。当进行数据擦除的次数过多时,将会影响非易失性存储器的使用,比如出现损坏的情况。但是由于数据的频繁写入,使得数据擦除是无法避免的,但是可以在一定程度上增加非易失性存储器的使用寿命。
在一些实施例中,为了可以更加直接的得到非易失性存储器的使用状态,在设备或者服务器中存储有记录非易失性存储器的使用状态的管理表,因此,读取所述非易失性存储器的数据擦除次数包括:
获取记录有所述非易失性存储器的使用状态的管理表;在所述管理表中读取所述非易失性存储器中各存储分区的数据擦除次数以及所述预设阈值,其中所述存储分区的数量至少为一。
对应一个非易失性存储器来说,可以对存储器的内部存储空间进行相应的区块划分,将存储空间分为若干存储分区,其中存储分区的数量而建议为一,也可以是大于一。对于每一个存储分区而言,都会进行着相应的数据擦除次数的统计,可以更好的实现对非易失性存储器的性能保护。
比如,在将一个非易失性存储器的内部存储空分为3个存储分区之后,若在进行信息记录时确定第一存储分区数据擦除比较频繁,而第二存储分区进而第三存储分区的数据擦除次数较低,那么在需要进行数据转移时,也就是将存储在第一存储分区的数据转移到物理区域时,由于数据转移可以是随机的,但是为了提高非易失性存储器的使用性能,可以将存储在第一存储分区中数据转移到第二存储分区中。
在一些实施例中,对于各存储分区的阈值可以是相同的,也可以是不同的,比如在各存储分区所包含的存储空间是一样的时,阈值可以相同,而在各存储分区所包含的存储空间不同时,可以根据存储空间所占有的比例和非易失性存储器的允许擦除次数得到各存储分区对应的阈值。
需要说明的是,在对非易失性存储器的内部存储空间进行区块划分时,可以是随机的,也就是不会根据进行数据存储的物理区域是否已经写入数据来进行区块划分。另外由于存在实时的数据写入和擦除,使得每一个存储分区的物理区域的使用情况也会有所不同。
在设备或者服务器中存储有记录非易失性存储器的使用状态的管理表,管理表中所记录的信息有多种,包括但不局限于有逻辑页-物理页对应关系(PNM)、该页的CRC校验值、当前搜索页的页号(DCP)、剩余页数/可用空间(AUS)、总擦除次数(ETC)、管理表新旧状态的标记(NOF)以及物理页是否可用的真位图(RBM)。需要说明的是,CRC校验值是根据记录的所有数据计算得到的,是数据通信领域中最常用的一种查错校验码,用于确定所记录数据的准确性。
当非易失性存储器为Flash时,以512字节一页的非易失性存储器来举例说明,其中,物理区域为物理页,逻辑区域为逻辑页。在实际应用时并不局限于为512字节一页的非易失性存储器,还可以是1024字节或者2048字节一页的非易失性存储器,同样还可以是256字节一页的非易失性存储器。
参照图2,图2为本申请一个实施例中管理表的常规界面状态图,具体地,在管理表中具体所记录的信息如下:
CRC:占用2字节,存储管理页从第三个字节到页末尾之间所有数据计算的CRC16的值;
PNM:共有236个,每个占用2字节,代表用户可以写入236页数据,且每个2字节代表对应逻辑页号所映射到的物理页号。
DCP:占用2字节,代表当前搜索指针指向哪一物理页。
AUS:占用2字节,代表当前还有多少可用页,该值时刻等于RBM中bit 为1的个数。
ETC:占用2字节,代表当前一共进行了多少次的页擦写操作(对某页的擦 +写算一次)。
NOF:占用1字节,代表管理表的新旧状态,当由于掉电出现两张管理表时,用于标明哪张管理表是新的,哪张是旧的。
RBM:占用31字节,每个占用1字节,共248bit。其中236bit对应236个PNM, 10bit用于极限状态下掉电备份,2bit用于存储管理表。极限状态指用户写满236 页后,继续更新时此时可以写10页。RBM中的bit为1代表对应的物理页当前处于空闲状态,为0代表对应的物理页当前处于已用状态或坏页状态。已用状态分为两种,一种是被用户数据占用,一种是被管理表占用。RBM的第一个字节的最高位bit7代表实际物理页的第一页,以此类推。
需要说明的是,实际的管理表中,随着不断的被使用,可以使用的物理页与已经被使用的物理页可能是交叉的。
具体地,在得到管理表之后,通过读取管理表中所记录的总擦除次数(ETC)得到非易失性存储器的数据擦除次数。
另外,进行数据写入的设备或者终端包括但不限于为智能卡、USBKEY、门锁、物联网设备或手环,系统为终端内部的数据写入读取系统。
步骤S102、当所述数据擦除次数达到预设阈值时,获取所述非易失性存储器中已被使用的第一物理区域的第一地址。
由上述描述可知,非易失性存储器在使用过程中有着一定的使用寿命,而为了在一定程度上提高非易失性存储器的使用寿命,因此会对非易失性存储器进行静态磨损均衡的调节,避免某一个或者某一部分物理区域频繁进行数据的擦除,而某一个或者某一部分物理区域长时间未进行数据的更新。
其中,预设阈值可以根据非易失性存储器的实际使用寿命进行设定,通常情况下,一个非易失性存储器的使用寿命是进行数据擦除的次数为十万次,而为了有效的提高其使用寿命,可以设定预设阈值为三万次,也就是在非易失性存储器的总的数据擦除次数达到三万次时,将启动静态磨损均衡,以使得所有的物理区域可以均匀的被使用,此处的被使用是指进行数据的更新写入。
物理区域即为非易失性存储器中进行数据写入的物理页,物理区域信息为物理区域的标识信息,比如物理页对应的物理页号。需要说明的是,第一仅用于进行物理区域的区分,不具有其他任何的限定。
在得到非易失性存储器的数据擦除次数之后,当确定所得到的数据擦除次数达到预设阈值时,将会获取非易失性存储器中已被使用的第一物理区域的第一地址。在实际应用中,每一个物理页对应着唯一的地址,第一物理区域为非易失性存储器中当前已被使用的物理页的集合,每一个物理区域对应的唯一的地址的集合为第一地址。
非易失性存储器中,可以将其所对应的存储空间划分为若干存储分区,对于每一个分区而言都需要进行数据擦除次数的记录,只要出现某一个存储分区对应的数据擦除次数达到预设阈值的情况,就会获取非易失性鵆器中已被使用的第一物理区域的第一地址,而在得到第一地址之后也可以得到未被使用的第二物理区域。
在进行数据转移时,除了在整个非易失性存储器中可以进行使用的物理区域中进行查找得到用于进行数据转移的物理区域之外,还可以将数据直接转移至当前存储分区所包含的可以使用的物理区域中。
比如,非易失性存储器包含有三个存储分区,分别为第一存储分区、第二存储分区以及第三存储分区,在第一存储分区的数据擦除次数达到预设阈值时,可以将第一存储分区中进行内部转移,即进行转移之后的数据仍然存储在于第一存储分区中。另外,还可以进行跨区转移,也就是进行转移只有的数据会存在于第二存储和/或第三存储区分中,同样此时也可以有部分数据依据存储在第一存储分区中。
在一些实施例中,获取非易失性存储器中已被使用的第一物理区域的第一地址,包括:读取所述管理表中各逻辑区域所记录的信息,以得到所述非易失性存储器中已被使用的第一物理区域的第一地址,其中,所述各逻辑区域所记录的物理地址信息的集合为所述第一地址。
在实际应用中,管理表中记录有非易失性存储器的实际使用状态,除了记录有非易失性存储器的数据擦除次数之外,还记录有所有物理区域的使用状态,如已被使用和未被使用,其中已被使用为物理区域已经存储有相应的数据信息,且关联着相应的逻辑区域,而未被使用为此物理区域未关联相应的逻辑区域,但是此物理区域可存储有相应的数据信息。
步骤S103、根据所述第一地址获取所述非易失性存储器中未被使用的第二物理区域对应的第二地址。
在得到已被使用的第一物理区域对应的第一地址之后,将会根据第一地址得到得到非易失性存储器中没有被使用的第二物理区域对应的第二地址。
管理表中记录着非易失性存储器中所有物理区域的状态,具体为是否已经被使用,其中已经被使用的物理区域的区域集合为第一物理区域,未被使用的物理区域的区域集合为第二物理区域。
同样地,在实际应用中,第二物理区域为未被使用的物理页的集合,第二物理区域信息为未被使用的物理页对应的物理页号的集合。
在一些实施例中,在确定非易失性存储器中未被使用的第二物理区域之后,还包括:对所述第二物理区域进行擦操作,以将所述第二物理区域所写入的数据擦掉。
在实际应用中,只要非易失性存储器关联的管理表中逻辑区域没有记录A 物理区域的物理区域信息,那么A物理区域便是可以进行数据写入的物理区域,也就是此时即使物理区域中写入了数据,此数据为无效数据,可以被覆盖。
步骤S104、根据所述第一地址以及所述第二地址,将所述第一物理区域所存储的数据转移至所述第二物理区域中。
在确定了非易失性存储器中已经被使用的物理区域以及未被使用的物理区域之后,将已被使用的第一物理区域所存储的数据转移至未被使用的第二物理区域中,通过数据的转移将长时间被占用且没有进行数据更新的物理区域变为可使用状态,也就是未被使用状态,以便于在后续的数据更新过程中被使用。
在一些实施例中,在进行数据的转移时,包括:确定所述第一物理区域的第一存储空间,以及确定所述第二物理区域对应的第二存储空间;根据所述第一存储空间以及所述第二存储空间,按照预设规则将所述第一物理区域所存储的数据转移至所述第二物理区域中。
在实际应用中,进行数据转移的数据的数据量的大小在一定程度上可以影响后续的实际转移情况,比如在需要转移的数据的数据量较小时,可以一次性的将所有需要进行转移的数据进行转移,在需要转移的数据的数据量过大时,可能一次转移并不能将所有的数据都进行转移,此时将会进行部分数据的转移。
具体地,首先确定第一物理区域的第一存储空间,以及第二物理区域的第二存储空间,然后根据第一存储空间和第二存储空间按照预设的进行数据转移的规则进行后续的数据转移。
其中,当第一存储空间小于或者等于第二存储空间时,将第一物理区域中所存储的数据转移至第一存储空间的第二物理区域中。具体地,在第一存储空间小于或者等于第二存储空间时,也就是非易失性存储器中已被使用的物理页的数量不超过未被使用的物理页的数量,由于此时需要进行静态磨损均衡的操作,因此将已被使用的物理页中所记录的数据转移至未被使用的物理页中。
比如,非易失性存储器中物理页的总数为100页,当前已被使用的物理页的数量为30页,则未被使用的物理页的数量为70页,在需要进行数据转移时,将会在30页中随机得到用于存储数据的物理页,将已被使用的30页中所存储的数据转移至从70页中随机得到的30页中,以完成数据的转移。
在进行数据的转移时,除了可以在70页物理页中随机30页物理页作为进行数据转移时的数据接收端,还可以规则性的在70页物理页中获取30页物理页,具体地,读取管理表中所记录的进程标签信息,其中进程标签信息所记录的是当前搜索页的页号(DCP),当前搜索页为可使用物理区域中第一个物理区域对应的物理地址的相关信息,比如地址信息,也就是进程标签信息记录着前一次进行数据写入的物理区域的地址信息。
在得到进程标签信息之后,在70页物理页中按照物理页的页号顺序选择,以得到最终进行数据转移的30页物理页。
另外,当第一存储空间大于第二存储空间时,将会将第一物理区域中的部分数据转移至第二物理区域中,当所记录的擦除次数到达下一次预设阈值时,对第一物理区域内的其余数据进行转移。
具体地,在第一存储空间大于第二存储空间时,也就是非易失性存储器中已被使用的物理页的数量大于未被使用的物理页的数量,此时在进行数据转移时,显然已被使用的物理页中的数据不可能一次性的全部转移完,因此只能选择部分数据进行转移。
对于这种情况而言,在对部分数据完成数据转移之后,还会记录对应的数据擦除次数,并在所记录的数据擦除次数达到下一次预设阈值时,将会再次进行数据转移。
需要说明的是,在完成对部分数据的转移,进而在记录得到此时的数据擦除指令时,显然会比之前进行比较的预设阈值要大,但是此时已经完成了对部分数据的转移,因此此时将会将所得到数据擦除次数与一个新的预设阈值进行比较,即下一次预设阈值,且新的预设阈值比相邻前一次的阈值要大,在数据擦除次数达到下一次预设阈值时,将会再次进行数据转移。而在再次进行数据转移时,可以优选的对前一次没转移的数据进行转移,也可以随机进行部分数据的转移。
另外,在再次进行数据转移时,同样还会对此时所对应的存储分区中的已被使用的物理区域和未被使用的物理区域的相关信息进行获取,包括但不限于有各自对应的地址和存储空间。且存在跨分区进行数据转移的情况,因此在再次进行数据转移时,此存储分区中所包含的已被使用的物理区域的存储空间可能小于未被使用的物理区域的存储空间,此时便可以将此时已被使用的物理区域所包含的数据转移到未被使用的物理区域中。
在上述描述的非易失性存储器的静态磨损均衡方法中,在非易失性存储器的使用过程中,记录和存储非易失性存储器的总的数据擦除的次数,在数据擦除次数达到预设阈值时,将会获取非易失性存储器中已被使用的第一物理区域对应的第一地址,同时根据第一地址得到非易失性存储器中未被使用的第二物理区域以及第二物理区域对应的第二地址,进而将存储在第一物理区域中的数据转移至第二物理区域中。实现了在非易失性存储器的使用过程中,对已存储的数据进行数据转移,提高了对所有的进行数据写入的物理区域的使用效率,避免出现某一个物理区域所记录的数据长时间未更新,而导致对应的物理区域与其他物理区域的数据擦数次数出现较大的差异,通过提高对所有物理区域的使用效率可以提高非易失性存储器的使用寿命。
进一步地,参照图3,图3为本申请一个实施例中进行数据转移的步骤的流程示意图。
具体地,步骤S104,将第一物理区域中所存储的数据转移至第二物理区域中,包括:
步骤S301、将所述第一物理区域所存储的数据写入在对应的缓存区域中,以将所述第一物理区域所存储的数据写入至所述第二物理区域中;
步骤S302、当接收到数据提交指令时,将存储在所述对应的缓存区域中的所述第一物理区域所存储的数据写入至所述非易失性存储器中,并更新所述管理表。
缓冲区域是高速缓存存储器的一种,由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多,接近于CPU的速度,其中较为常用的缓存区域的存储形式是Cache。以Cache为例,在计算机存储系统的层次结构中,Cache 是介于中央处理器和主存储器之间的高速小容量存储器,它和主存储器一起构成一级的存储器。高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的。
在进行数据转移时,实质上也是进行数据的写入,将存储在第一物理区域中的数据写入到第二物理区域中。因此在进行数据转移时,读取第一物理区域中所存储的数据,然后将所读取的数据写入在相应的缓存区域,最后在接收到数据提交指令时,将存储在缓存区域中的数据写入至非易失性存储器中,并更新非易失性存储器对应的管理表。
具体地,管理表记录着非易失性存储器的使用状态,在存储数据的物理区域发生变化之后,相应的也需要进行更新,具体地,在对管理表进行更新时主要包括:将与所述第一物理区域信息关联的逻辑区域所记录的信息更新为所述第二物理区域信息;以及,重置所述数据擦除次数以及重新设定所述预设阈值。
在对管理表进行更新时,主要需要进行更新的数据是逻辑区域所记录的信息,同时对于非易失性存储器的数据擦除次数和预设阈值也可以进行相应的调节。
对于逻辑区域所记录的信息,由于逻辑区域所记录的信息是物理区域信息,比如一个逻辑页上记录的信息为一个物理页号,在数据进行转移之后,显然记录数据的物理区域发生了变化,那么逻辑区域所记录的信息也将发生变化,比如逻辑区域1初始所记录的信息为物理区域1,然后在进行数据转移时,物理区域1中的数据转移至物理区域42中,那么此时逻辑区域1中所记录的信息将会更新变为物理区域42。
对应数据擦除次数,由于数据擦除次数是是否启动静态磨损均衡功能的判断依据,因此在完成一次静态磨损均衡之后,需要对数据擦除次数进行更新,比如进行重置,但是对于实际的数据擦除次数还是会进行记录存储。在进行重置之后将会再次进行擦除次数的记录,以便于进行下一次的静态磨损均衡。
对于预设阈值,由于预设阈值也是用于判断是否启动静态磨损均衡功能的,通过将当前所记录的数据擦除次数与预设阈值进行比较确定是否启动静态磨损均衡功能。在完成一次静态磨损均衡之后,还可以对预设阈值进行调整,比如可以设定一个比初始预设阈值的阈值作为后续进行静态磨损均衡的判断依据,同样的也可以不进行调整,即保持预设阈值不变,在此不做限制。
参阅图4,图4为本申请一个实施例中提供的终端的示意性框图。本实施例的终端10能够实现上述的非易失性存储器的静态磨损均衡方法中的步骤,相关内容的详细说明请参见上述方法部分,在此不再赘叙。
在一个实施例中,所述终端10包括智能卡、USBKEY或手环,当然也可以包括其他设备。
如图4所示,该终端10包括存储器11和处理器12,处理器11和存储器12通过系统总线13连接,其中,存储器11可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器11执行任意一种非易失性存储器的静态磨损均衡方法。
处理器11用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种非易失性存储器的静态磨损均衡方法。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器11可以是中央处理单元(CentralProcessing Unit, CPU),该处理器11还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器11可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,存储器12可以是Flash芯片、只读存储器、磁盘、光盘、U盘或者移动硬盘等等。
其中,存储器中存储有计算机程序,计算机程序被处理器11执行时,使得处理器执行所述计算机程序时实现以下步骤:
获取所述非易失性存储器的数据擦除次数;
当所述数据擦除次数到达预设阈值时,获取所述非易失性存储器中已被使用的第一物理区域的第一地址;
根据所述第一地址获取所述非易失性存储器中未被使用的第二物理区域对应的第二地址;
根据所述第一地址以及所述第二地址,将所述第一物理区域所存储的数据转移至所述第二物理区域中。
在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:
获取记录有所述非易失性存储器的使用状态的管理表;
在所述管理表中读取所述非易失性存储器中各存储分区的数据擦除次数以及所述预设阈值,其中所述存储分区的数量至少为一。
在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:
读取所述管理表中各逻辑区域所记录的信息,以得到所述非易失性存储器中已被使用的第一物理区域的第一地址,其中,所述各逻辑区域所记录的物理地址信息的集合为所述第一地址。
在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:
确定所述第一物理区域的第一存储空间,以及确定所述第二物理区域的第二存储空间;
根据所述第一地址以及所述第二地址,按照预设规则将所述第一物理区域所存储的数据转移至所述第二物理区域中。
在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:
对所述第二物理区域进行擦操作,以将所述第二物理区域所写入的数据擦掉。
在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:
若所述第一存储空间小于或者等于所述第二存储空间,则将所述第一物理区域所存储的数据转移至第一存储空间的所述第二物理区域中;
若所述第一存储空间大于所述第二存储空间,则将所述第一物理区域内的部分数据转移至所述第二物理区域中,当所记录的擦除次数到达下一次预设阈值时,对所述第一物理区域内的其余数据进行转移。
在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:
将所述第一物理区域所存储的数据写入在对应的缓存区域中,以将所述第一物理区域所存储的数据写入至所述第二物理区域中;
当接收到数据提交指令时,将存储在所述对应的缓存区域中的所述第一物理区域所存储的数据写入至所述非易失性存储器中,并更新所述管理表。
在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:
将与所述第一地址关联的逻辑区域所记录的信息更新为所述第二地址;
重置所述数据擦除次数以及重新设定所述预设阈值。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项非易失性存储器的静态磨损均衡方法。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本申请的保护之内。
Claims (11)
1.一种非易失性存储器的静态磨损均衡方法,其特征在于,所述方法包括:
获取所述非易失性存储器的数据擦除次数;
当所述数据擦除次数到达预设阈值时,获取所述非易失性存储器中已被使用的第一物理区域的第一地址;
根据所述第一地址获取所述非易失性存储器中未被使用的第二物理区域对应的第二地址;
根据所述第一地址以及所述第二地址,将所述第一物理区域所存储的数据转移至所述第二物理区域中。
2.根据权利要求1所述的静态磨损均衡方法,其特征在于,所述获取所述非易失性存储器的数据擦除次数,包括:
获取记录有所述非易失性存储器的使用状态的管理表;
在所述管理表中读取所述非易失性存储器中各存储分区的数据擦除次数以及所述预设阈值,其中所述存储分区的数量至少为一。
3.根据权利要求2所述的静态磨损均衡方法,其特征在于,所述获取所述非易失性存储器中已被使用的第一物理区域的第一地址,包括:
读取所述管理表中各逻辑区域所记录的信息,以得到所述非易失性存储器中已被使用的第一物理区域的第一地址,其中,所述各逻辑区域所记录的物理地址信息的集合为所述第一地址。
4.根据权利要求1所述的静态磨损均衡方法,其特征在于,所述根据所述第一地址以及所述第二地址,将所述第一物理区域所存储的数据转移至所述第二物理区域中,包括:
确定所述第一物理区域的第一存储空间,以及确定所述第二物理区域的第二存储空间;
根据所述第一地址以及所述第二地址,按照预设规则将所述第一物理区域所存储的数据转移至所述第二物理区域中。
5.根据权利要求1所述的静态磨损均衡方法,其特征在于,所述将所述第一物理区域所存储的数据转移至所述第二物理区域中之前,还包括:
对所述第二物理区域进行擦操作,以将所述第二物理区域所写入的数据擦掉。
6.根据权利要求4所述的静态磨损均衡方法,其特征在于,所述根据所述第一地址以及所述第二地址,按照预设规则将所述第一物理区域所存储的数据转移至所述第二物理区域中,包括:
若所述第一存储空间小于或者等于所述第二存储空间,则将所述第一物理区域所存储的数据转移至第一存储空间的所述第二物理区域中;
若所述第一存储空间大于所述第二存储空间,则将所述第一物理区域内的部分数据转移至所述第二物理区域中,当所记录的擦除次数到达下一次预设阈值时,对所述第一物理区域内的其余数据进行转移。
7.根据权利要求2或3所述的静态磨损均衡方法,其特征在于,所述将所述第一物理区域所存储的数据转移至所述第二物理区域中,包括:
将所述第一物理区域所存储的数据写入在对应的缓存区域中,以将所述第一物理区域所存储的数据写入至所述第二物理区域中;
当接收到数据提交指令时,将存储在所述对应的缓存区域中的所述第一物理区域所存储的数据写入至所述非易失性存储器中,并更新所述管理表。
8.根据权利要求7所述的静态磨损均衡方法,其特征在于,所述更新所述管理表,包括:
将与所述第一地址关联的逻辑区域所记录的信息更新为所述第二地址;
重置所述数据擦除次数以及重新设定所述预设阈值。
9.一种终端,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述的非易失性存储器的静态磨损均衡方法的步骤。
10.根据权利要求9所述的终端,其特征在于,所述终端包括智能卡、USBKEY、门锁、物联网设备或手环。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至8中任一项所述的非易失性存储器的静态磨损均衡方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911305170.XA CN112988037A (zh) | 2019-12-17 | 2019-12-17 | 静态磨损均衡方法、终端和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911305170.XA CN112988037A (zh) | 2019-12-17 | 2019-12-17 | 静态磨损均衡方法、终端和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112988037A true CN112988037A (zh) | 2021-06-18 |
Family
ID=76343660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911305170.XA Pending CN112988037A (zh) | 2019-12-17 | 2019-12-17 | 静态磨损均衡方法、终端和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112988037A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115793987A (zh) * | 2023-01-09 | 2023-03-14 | 苏州浪潮智能科技有限公司 | 一种磨损均衡的方法、装置、电子设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007257109A (ja) * | 2006-03-22 | 2007-10-04 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置、そのデータ書き込み方法、不揮発性記憶システム及びメモリコントローラ |
CN101178942A (zh) * | 2007-12-05 | 2008-05-14 | 苏州壹世通科技有限公司 | 一种数据块的磨损处理方法和装置 |
CN101533670A (zh) * | 2009-04-23 | 2009-09-16 | 北京握奇数据系统有限公司 | 实现存储设备损耗均衡的方法及存储设备 |
FR2950462A1 (fr) * | 2009-09-21 | 2011-03-25 | St Microelectronics Rousset | Procede d'ecriture et de lecture de donnees dans une memoire non volatile, au moyen de metadonnees |
CN103092766A (zh) * | 2012-12-28 | 2013-05-08 | 北京时代民芯科技有限公司 | 一种用于nand flash的均衡损耗实现方法 |
CN108052287A (zh) * | 2017-12-12 | 2018-05-18 | 深圳市创维软件有限公司 | 一种非易失性存储器的分区数据管理方法、机顶盒及介质 |
CN108205423A (zh) * | 2016-12-20 | 2018-06-26 | 华为技术有限公司 | 一种物理硬盘磨损均衡方法、装置及系统 |
-
2019
- 2019-12-17 CN CN201911305170.XA patent/CN112988037A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007257109A (ja) * | 2006-03-22 | 2007-10-04 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置、そのデータ書き込み方法、不揮発性記憶システム及びメモリコントローラ |
CN101178942A (zh) * | 2007-12-05 | 2008-05-14 | 苏州壹世通科技有限公司 | 一种数据块的磨损处理方法和装置 |
CN101533670A (zh) * | 2009-04-23 | 2009-09-16 | 北京握奇数据系统有限公司 | 实现存储设备损耗均衡的方法及存储设备 |
FR2950462A1 (fr) * | 2009-09-21 | 2011-03-25 | St Microelectronics Rousset | Procede d'ecriture et de lecture de donnees dans une memoire non volatile, au moyen de metadonnees |
CN103092766A (zh) * | 2012-12-28 | 2013-05-08 | 北京时代民芯科技有限公司 | 一种用于nand flash的均衡损耗实现方法 |
CN108205423A (zh) * | 2016-12-20 | 2018-06-26 | 华为技术有限公司 | 一种物理硬盘磨损均衡方法、装置及系统 |
CN108052287A (zh) * | 2017-12-12 | 2018-05-18 | 深圳市创维软件有限公司 | 一种非易失性存储器的分区数据管理方法、机顶盒及介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115793987A (zh) * | 2023-01-09 | 2023-03-14 | 苏州浪潮智能科技有限公司 | 一种磨损均衡的方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5336060B2 (ja) | 不揮発性メモリ装置およびそれを動作させる方法 | |
US8041884B2 (en) | Controller for non-volatile memories and methods of operating the memory controller | |
US8312204B2 (en) | System and method for wear leveling in a data storage device | |
US8892814B2 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
TWI692690B (zh) | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 | |
US8825946B2 (en) | Memory system and data writing method | |
US8489942B1 (en) | Memory management method, and memory controller and memory storage device using the same | |
US11354192B2 (en) | Data storage devices and methods for firmware failure prevention | |
US11204864B2 (en) | Data storage devices and data processing methods for improving the accessing performance of the data storage devices | |
CN103425589A (zh) | 控制装置、存储装置以及存储控制方法 | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
CN109918024B (zh) | 存储管理方法、装置、单片机设备和可读存储介质 | |
CN112988611A (zh) | 非易失性存储器的数据写入方法、终端和可读存储介质 | |
US11176033B2 (en) | Data storage devices and data processing methods | |
US11216381B2 (en) | Data storage devices and data processing methods | |
CN112988037A (zh) | 静态磨损均衡方法、终端和计算机可读存储介质 | |
JP4661369B2 (ja) | メモリコントローラ | |
CN112988038A (zh) | 非易失性存储器的数据写入方法、终端和可读存储介质 | |
CN113345510A (zh) | 一种flash的容量识别方法及容量识别系统 | |
CN109002265B (zh) | 一种数据处理的方法以及相关装置 | |
JP2010256944A (ja) | Nand型フラッシュメモリ保守装置及びnand型フラッシュメモリ保守プログラム及びnand型フラッシュメモリ保守方法 | |
CN111488118A (zh) | 管理闪存模块的方法及相关的闪存控制器与电子装置 | |
CN112416860B (zh) | 数据回滚更新方法、装置、计算机设备和存储介质 | |
CN113778330B (zh) | 一种基于Flash存储器的事务处理方法 | |
KR100688463B1 (ko) | 물리 메모리의 데이터 기록 및 삭제 방법 |
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 |