CN109753443B - 一种数据处理方法、装置及电子设备 - Google Patents
一种数据处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109753443B CN109753443B CN201910028966.9A CN201910028966A CN109753443B CN 109753443 B CN109753443 B CN 109753443B CN 201910028966 A CN201910028966 A CN 201910028966A CN 109753443 B CN109753443 B CN 109753443B
- Authority
- CN
- China
- Prior art keywords
- flash memory
- memory block
- data
- cold data
- erasing times
- 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
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例提出一种数据处理方法、装置及电子设备,涉及存储管理领域。该装置设置在该电子设备中,可以实现该方法。该方法包括:判断冷数据闪存块与空闲闪存块的擦除次数是否均衡,若不均衡,则将输入数据写入冷数据闪存块与空闲闪存块中擦除次数较少的闪存块,若均衡,则将输入数据写入空闲闪存块。由于通过判断冷数据闪存块以及空闲闪存块的擦除次数是否均衡,并在闪存块的擦除次数不均衡时,将输入数据写入到冷数据闪存块与空闲闪存块中擦除次数较少的闪存块上,一方面解决了没有考虑数据冷热性,导致闪存寿命变短的问题,另一方面解决了频繁搬移数据,影响存储性能的问题。
Description
技术领域
本发明涉及闪存的存储管理领域,具体而言,涉及一种数据处理方法、装置及电子设备。
背景技术
NAND闪存具备非易失性、存储容量大、成本较低等特点,已成为市场上主流的大容量存储介质。NAND闪存包括若干闪存块,在使用的过程中,随着擦除次数的增加,闪存块的寿命减少,最终成为坏块。当坏块的数量达到总闪存块的一定比例后,整个NAND闪存就会报废。
目前,普遍采用磨损均衡的方法来均衡各个闪存块的使用,磨损均衡的方法包括动态方法和静态方法。动态方法在写入数据时,将输入数据写入到擦除次数较少的闪存块上,由于没有考虑数据的冷热性,即数据是否长时间未被更新,存在各个闪存块的擦除次数不均衡,闪存寿命变短的问题。静态方法需要频繁地进行数据搬移,存在影响存储性能的问题。
发明内容
本发明实施例的目的在于提供一种数据处理方法、装置及电子设备,用于解决闪存块的擦除次数不均衡以及繁地进行数据搬移影响存储性能的问题。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提出一种数据处理方法,该方法包括:判断冷数据闪存块与空闲闪存块的擦除次数是否均衡,若不均衡,则将输入数据写入冷数据闪存块与空闲闪存块中擦除次数较少的闪存块,若均衡,则将输入数据写入空闲闪存块。
第二方面,本发明实施例还提出一种数据处理装置,该装置包括判断模块以及写入模块。判断模块用于判断冷数据闪存块与空闲闪存块的擦除次数是否均衡,写入模块在冷数据闪存块与空闲闪存块的擦除次数不均衡时,用于将输入数据写入冷数据闪存块与空闲闪存块中擦除次数较少的闪存块上,写入模块在冷数据闪存块与空闲闪存块的擦除次数均衡时,用于将输入数据写入空闲闪存块。
第三方面,本发明实施例还提出一种电子设备,包括:控制芯片、存储器、通信端口、总线,该电子设备可以执行上述的数据处理方法。
本发明实施例所提供的数据处理方法、装置及电子设备,该装置设置在该电子设备中,可以实现该方法。该方法包括:判断冷数据闪存块与空闲闪存块的擦除次数是否均衡,若不均衡,则将输入数据写入冷数据闪存块与空闲闪存块中擦除次数较少的闪存块,若均衡,则将输入数据写入空闲闪存块。由于通过判断冷数据闪存块以及空闲闪存块的擦除次数是否均衡,并在闪存块的擦除次数不均衡时,将输入数据写入到冷数据闪存块与空闲闪存块中擦除次数较少的闪存块上,一方面解决了没有考虑数据冷热性,导致闪存寿命变短的问题,另一方面解决了频繁搬移数据,影响存储性能的问题。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例所提供的一种电子设备的结构框图。
图2示出了本发明实施例所提供的动态磨损均衡方法的流程示意图。
图3示出了本发明实施例所提供的静态磨损均衡方法的流程示意图。
图4示出了本发明实施例所提供的一种数据处理方法的流程示意图。
图5示出了本发明实施例所提供的另一种数据处理方法的流程示意图。
图6示出了本发明实施例所提供的将输入数据写入第二最少擦除次数对应的冷数据闪存块的流程示意图。
图7示出了本发明实施例所提供的第一种闪存中不同闪存块擦除次数的示意图。
图8示出了本发明实施例所提供的第二种闪存中不同闪存块擦除次数的示意图。
图9示出了本发明实施例所提供的第三种闪存中不同闪存块擦除次数的示意图。
图10示出了本发明实施例所提供的数据处理装置的功能模块示意图。
图标:100-电子设备;110-存储器;120-控制芯片;130-通信接口;140-总线;200-数据处理装置;201-获取模块;202-判断模块;203-写入模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
请参照图1,为本发明实施例所提供的一种电子设备100的结构框图,该电子设备100可以包括控制芯片120、存储器110、通信端口、总线140。控制芯片120、存储器110与通信接口130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互,例如,这些元件相互之间可通过一条或多条总线140或信号线实现电性连接,或者控制芯片120直接通过总线140分别与通信接口130以及存储器110连接。
该电子设备100还可以通过预先设置的数据处理装置执行对应的数据处理方法,该数据处理装置可以是以固件的形式直接保存在控制芯片120中,例如,当控制芯片120包括静态内存以及处理器时,数据处理装置直接以固件的形式预先存储在该静态内存中。该数据处理装置还可以以程序模块的形式保存在该存储器110中,控制芯片120的处理器可以在运行时,通过总线140调用存储器110中保存的数据处理装置并执行对应的数据处理方法。或者,本发明实施例所提供的数据处理装置还可以分别保存在上述静态内存以及存储器110中,处理器在运行时可以分别调用存储于静态内存以及存储器110中的数据处理装置并执行对应的数据处理方法,本发明实施例不对数据处理装置的存储位置作限制。需要说明的是,本发明实施例所提供的数据处理装置还可以以硬件的形式设置在该电子设备100中,在该电子设备100运行时,该数据处理装置可以通过总线140与上述通信接口130、控制芯片120以及存储器110进行数据与信令的交互从而完成对应的数据处理方法。
可以理解的是,本发明实施例所提供的电子设备100可以安装在其他电子设备中,从而使该电子设备100可以与其他电子设备协同完成数据的处理,例如该电子设备100可以安装在计算机、嵌入式设备或者物联网设备中。以该电子设备100安装在计算机中为例,该电子设备100可以通过通信接口130与计算机进行数据与信令的交互,需要说明的是,本发明实施例所提供的数据处理装置还可以以固件的形式设置在计算机的中央处理器(CPU,Central Processing Unit)中,或以程序模块的形式由该CPU执行从而完成对应的数据处理方法。
其中,存储器110可以是但不限于NAND flash芯片(Nand flash,NAND闪存)。
控制芯片120可能是一种集成电路芯片,具有信号处理能力。该控制芯片120可以是ARM架构的处理器,或者是通用控制芯片,包括中央控制芯片(Central ProcessingUnit,CPU)、网络控制芯片(Network Processor,NP)等;还可以是数字信号控制芯片(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以理解,图1所示的结构仅为示意,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
基于图1所示的电子设备,现有技术通常采用动态方法以及静态方法来均衡存储器中各个存储单元的使用。请参照图2,为本发明实施例所提供的动态磨损均衡方法的流程示意图。
S10,将输入数据写入到擦除次数最少的空闲闪存块。
S11,标记输入数据对应的无效数据页。
具体的,以NAND闪存的闪存块的存储管理为例,当有输入数据需要写入到闪存中保存时,获取擦除次数最少的空闲闪存块,并将输入数据写入到擦除次数最少的空闲闪存块中。当输入数据在闪存中有对应的原始数据时,即该输入数据写入闪存是为了更新原始数据,则标记该原始数据所在的页为无效数据页。
可以理解,该动态磨损均衡方法没有考虑数据的冷热性,如果刚刚写入的数据马上又被更新,刚更新过的闪存数据块就会被标记为无效数据页,当有数据频繁更新时,会存在保存冷数据的闪存块较少地被擦除(冷数据为在预设时间内未更新的数据),而保存热数据的闪存块较多的被擦除的情况,从而造成保存热数据的闪存块被过度擦除,因此使用该方法的闪存的寿命通常较短。
请参照图3,为本发明实施例所提供的静态磨损均衡方法的流程示意图。
S20,将冷数据闪存块的有效数据写入到擦除次数最多的空闲闪存块。
S21,将输入数据写入到冷数据闪存块。
S22,标记输入数据对应的无效数据页。
具体的,以NAND闪存的闪存块的存储管理为例,当有输入数据需要写入到闪存中保存时,获取冷数据闪存块以及擦除次数最多的空闲闪存块,并将冷数据闪存块中的数据全部读出并写入至擦除次数最多的空闲闪存块,然后擦除该冷数据闪存块。在擦除该冷数据闪存块后将输入数据写入到冷数据闪存块中。当输入数据在闪存中有对应的原始数据时,则标记该原始数据所在的页为无效数据页。
可以理解,虽然静态磨损均衡方法考虑到了将冷数据搬移到擦除次数最多的空闲闪存块,并将擦除次数最少的空闲闪存块用来保存输入数据。该方法在一定程度上解决了磨损均衡的问题,但同时,由于需要频繁搬移闪存中的数据,引入了额外的读写并占据更多的性能资源,从而影响闪存整体的存储性能。
为了解决上述技术问题,下面给出一种数据处理方法的可能的实现方式,具体的,请参照图4,为本发明实施例所提供的一种数据处理方法的流程示意图。该方法的执行主体为上述的数据处理装置,方法包括如下步骤:
S30,判断冷数据闪存块与空闲闪存块的擦除次数是否均衡。
S31,将输入数据写入冷数据闪存块与空闲闪存块中擦除次数较少的闪存块。
S32,将输入数据写入空闲闪存块。
具体的,以NAND闪存的各个闪存块的存储管理为例,当有输入数据需要写入到闪存中保存时,获取冷数据闪存块以及空闲闪存块,并判断冷数据闪存块以及空闲闪存块的擦除次数是否均衡,当冷数据闪存块以及空闲闪存块的擦除次数不均衡时,执行S31,以将输入数据写入冷数据闪存块与空闲闪存块中擦除次数较少的闪存块上;当冷数据闪存块以及空闲闪存块的擦除次数均衡时,执行S32,以将输入数据写入空闲闪存块。并且,当输入数据在闪存中有对应的原始数据时,则标记该原始数据所在的页为无效数据页。
进一步的,在S30之前,本方法还可以包括步骤:获取空闲闪存块;当空闲闪存块的擦除次数不大于预设值时,直接将输入数据写入该空闲闪存块;当该空闲闪存块的擦除次数大于预设值时,执行S30、S31以及S32。
基于上述图4所提供的实施例,可以理解,由于通过判断冷数据闪存块以及空闲闪存块的擦除次数是否均衡,并在闪存块的擦除次数不均衡时,将输入数据写入到冷数据闪存块与空闲闪存块中擦除次数较少的闪存块上,一方面解决了没有考虑数据冷热性,导致闪存寿命变短的问题,另一方面解决了频繁搬移数据,影响存储性能的问题。
在图4的基础上,下面给出一种完整方案可能的实现方式,具体的,请参照图5,为本发明实施例所提供的另一种数据处理方法的流程示意图。需要说明的是,本发明实施例提供的数据处理方法并不以图5以及以下的具体顺序为限制,应当理解,在其它实施例中,本发明实施例提供的数据处理方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图5所示的具体流程进行详细阐述。
S301,获取空闲池管理表中的第一最少擦除次数以及冷数据管理表中的第二最少擦除次数;
其中,空闲池管理表包括至少一个对应擦除次数的空闲闪存块标识,并且空闲闪存块标识对应空闲闪存块,冷数据管理表包括至少一个对应擦除次数的冷数据闪存块标识,并且冷数据闪存块标识对应冷数据闪存块。
具体的,以NAND闪存的各个闪存块的存储管理为例,如下表1所示,空闲池管理表可以为一映射表(map table),即以空闲闪存块标识的形式记录NAND闪存所有闪存块的空闲闪存块,并且还记录有每个空闲闪存块标识对应的擦除次数,其中,一个空闲闪存块标识记录有一个空闲闪存块的逻辑地址与物理地址的映射关系。如下表2所示,冷数据管理表可以为一映射表(map table),即以冷数据闪存块标识的形式记录NAND闪存所有冷数据闪存块,并且还记录有每个冷数据闪存块标识对应的擦除次数,其中,一个冷数据闪存块标识记录有一个冷数据闪存块的逻辑地址与物理地址的映射关系,冷数据闪存块中存储有超过预设时间没有更新的存储数据。当有输入数据需要写入到闪存中保存时,获取空闲池管理表中擦除次数最少的空闲闪存块标识对应的擦除次数作为第一最少擦除次数,以及获取冷数据管理表中擦除次数最少的冷数据闪存块标识对应的擦除次数作为第二最少擦除次数。
表1
表2
S302,获取第一最少擦除次数和第二最少擦除次数的差值。
具体的,将第一最少擦除次数减去第二最少擦除次数,获得第一最少擦除次数和第二最少擦除次数的差值。
S303,判断差值是否等于预设阈值。
具体的,以NAND闪存的各个闪存块的存储管理为例,在获得差值后,判断该差值是否等于该预设阈值,当该差值等于该预设阈值时,判断判断冷数据闪存块与空闲闪存块的擦除次数均衡,执行S305;当该差值不等于该预设阈值时,判断冷数据闪存块与空闲闪存块的擦除次数不均衡,执行S304。由于NAND闪存包括多种不同的闪存颗粒,以及即使是同种NAND闪存颗粒,不同的生产方式产出的闪存颗粒也会有细微差别,因此预设阈值在不同的NAND闪存中的值不同,但是对于指定的NAND闪存器预设阈值是一预先设定好的值。
S304,判断冷数据闪存块与空闲闪存块的擦除次数不均衡。
具体的,判断冷数据闪存块与空闲闪存块的擦除次数不均衡,即表明保存冷数据的闪存块与空闲闪存块的磨损程度不同,此时均衡整个闪存块的磨损程度,执行S311。
S305,判断冷数据闪存块与空闲闪存块的擦除次数均衡。
具体的,判断冷数据闪存块与空闲闪存块的擦除次数均衡,即表明保存冷数据的闪存块与空闲闪存块的磨损程度相同,此时可以执行S321将输入数据写入空闲闪存块中。
S311,判断差值是大于还是小于预设阈值。
具体的,当差值大于预设阈值时,判断空闲闪存块的擦除次数比冷数据闪存块的擦除次数多,执行S312,以将输入数据存入擦除次数最少的冷数据闪存块中;当差值小于预设阈值时,判断空闲闪存块的擦除次数比冷数据闪存块的擦除次数少,执行S313,以将输入数据存入擦除次数最少的空闲闪存块中。
S313,将输入数据写入第一最少擦除次数对应的空闲闪存块。
具体的,在将输入数据写入第一最少擦除次数对应的空闲闪存块后,当输入数据在闪存中有对应的原始数据时,则标记该原始数据所在的页为无效数据页,并更新空闲池表格以及冷数据表格。
S312,将输入数据写入第二最少擦除次数对应的冷数据闪存块。
具体的,在将输入数据写入第二最少擦除次数对应的冷数据闪存块后,当输入数据在闪存中有对应的原始数据时,则标记该原始数据所在的页为无效数据页,并更新空闲池表格以及冷数据表格。
S321,将输入数据写入第一最少擦除次数对应的空闲闪存块。
可以理解,此时也可以将输入数据写入擦除次数较少的冷数据闪存块中。
进一步的,请参照图6,对于图5中的S312,对于如何将输入数据写入第二最少擦除次数对应的冷数据闪存块,给出一种可能的实现方式,包括:
S312-1,获取空闲池管理表中的最多擦除次数。
具体的,可以通过比较空闲池管理表中的擦除次数的方式来找到具有最多擦除次数的空闲闪存块标识,并依据该空闲闪存块标识找到对应的空闲闪存块。
S312-2,将第二最少擦除次数对应的冷数据闪存块中的有效数据写入最多擦除次数对应的空闲闪存块。
具体的,获取第二最少擦除次数对应的冷数据闪存块标识,并依据该冷数据闪存块标识找到对应的冷数据闪存块。然后获取该冷数据闪存块中的有效数据,其中,该有效数据是通过查询垃圾回收算法管理的一张有效数据记录表来进行筛选的。然后将该有效数据写入到最多擦除次数对应的空闲闪存块。
S312-3,擦除第二最少擦除次数对应的冷数据闪存块。
具体的,获取第二最少擦除次数对应的冷数据闪存块标识,擦除该冷数据闪存块标识对应的冷数据闪存块。
S312-4,将输入数据写入第二最少擦除次数对应的冷数据闪存块。
具体的,获取第二最少擦除次数对应的冷数据闪存块标识,将输入数据写入该冷数据闪存块标识对应的冷数据闪存块中。并且,当输入数据在闪存中有对应的原始数据时,则标记该原始数据所在的页为无效数据页,并更新空闲池表格以及冷数据表格。
基于上述图5及图6所提供的实施例,由于通过预先设置一预设阈值,并通过判断冷数据闪存块与空闲闪存块的擦除次数是否均衡,进一步判断是将输入数据写入擦除次数最少的空闲闪存块还是将输入数据写入擦除次数最少的冷数据闪存块,从而避免单一地将输入数据全部写入空闲闪存块或者单一地将输入数据全部写入冷数据闪存块,耗费控制芯片的性能,不仅能够达到闪存块的磨损均衡,而且能够提升闪存整体的运行性能。
基于上述图4、图5所提供的实施例,对于判断冷数据闪存块与空闲闪存块的擦除次数是否均衡,做出如下解释说明:
请参照图7,P/E即闪存块的擦除次数,冷数据闪存块的最少擦除次数为10次,空闲闪存块的最少擦除次数为3次,由于10>3,此时可以判断出冷数据闪存块与空闲闪存块的擦除次数不均衡,并且冷数据闪存块的最少擦除次数大于空闲闪存块的最少擦除次数,当有输入数据需要写入闪存保存时,将输入数据写入擦除次数为3次的空闲闪存块。
请参照图8,P/E即闪存块的擦除次数,冷数据闪存块最少擦除次数为1次,空闲闪存块的最少擦除次数为10次,由于1<10,此时可以判断出冷数据闪存块与空闲闪存块的擦除次数不均衡,并且冷数据闪存块的最少擦除次数小于空闲闪存块的最少擦除次数,当有输入数据需要写入闪存保存时,将擦除次数为1次的冷数据闪存块中的有效数据写入到擦除次数最多的空闲闪存块中,然后擦除该擦除次数为1次的冷数据闪存块,并将输入数据写入该擦除次数为1次的冷数据闪存块。
请参照图9,P/E即闪存块的擦除次数,冷数据闪存块最少擦除次数为3次,空闲闪存块的最少擦除次数为3次,由于3=3,此时可以判断出冷数据闪存块与空闲闪存块的擦除次数均衡,当有输入数据需要写入闪存保存时,将输入数据写入擦除次数为3次的空闲闪存块。
可以理解的是,当使用上述数据处理方法将输入数据写入闪存保存时,经过多次的输入数据写入后,可以做到各个冷数据闪存块与空闲闪存块的擦除次数均衡,并且可以减少对闪存的性能资源的占用。
请参照图10,为本发明实施例所提供的数据处理装置的功能模块示意图。需要说明的是,本实施例所提供的数据处理装置200可以设置在上述图1所示的电子设备中,以及该数据处理装置200可执行上述图4、图5及图6所示的数据处理方法,其基本原理及产生的技术效果与前述方法实施例相同,为简要描述,本实施例中未提及部分,可参考前述方法实施例中的相应内容。该装置包括获取模块201、判断模块202以及写入模块203。
该获取模块201用于获取冷数据闪存块与空闲闪存块的擦除次数。
该判断模块202用于判断冷数据闪存块与空闲闪存块的擦除次数是否均衡。
可以理解的是,该判断模块202可以执行上述S30。
该写入模块203用于在冷数据闪存块与空闲闪存块的擦除次数不均衡时,将输入数据写入冷数据闪存块与空闲闪存块中擦除次数较少的闪存块,以及用于在冷数据闪存块与空闲闪存块的擦除次数均衡时,将输入数据写入空闲闪存块。
可以理解的是,该写入模块203可以执行上述S31、S32。
该获取模块201用于获取空闲池管理表中的第一最少擦除次数以及冷数据管理表中的第二最少擦除次数,其中,所述空闲池管理表包括至少一个对应擦除次数的空闲闪存块标识,并且所述空闲闪存块标识对应所述空闲闪存块,所述冷数据管理表包括至少一个对应擦除次数的冷数据闪存块标识,并且所述冷数据闪存块标识对应所述冷数据闪存块,以及用于获取第一最少擦除次数和第二最少擦除次数的差值。
可以理解的是,该获取模块201可以执行上述S301、S302。
该判断模块202还用于判断差值是否等于预设阈值,以及用于在差值不等于预设阈值时,判断冷数据闪存块与空闲闪存块的擦除次数不均衡,以及用于在差值等于预设阈值时,判断冷数据闪存块与空闲闪存块的擦除次数均衡。
可以理解的是,该判断模块202可以执行上述S303、S304、S305。
该判断模块202还用于在冷数据闪存块与空闲闪存块的擦除次数不均衡时,判断差值是大于还是小于预设阈值。
可以理解的是,该判断模块202可以执行上述S311。
该写入模块203还用于在差值小于预设阈值时,将输入数据写入第一最少擦除次数对应的空闲闪存块,以及用于在差值大于预设阈值时,将输入数据写入第二最少擦除次数对应的冷数据闪存块。
可以理解的是,该写入模块203可以执行上述S312、S313。
该写入模块203还用于在冷数据闪存块与空闲闪存块的擦除次数均衡时,将输入数据写入第一最少擦除次数对应的空闲闪存块。
可以理解的是,该写入模块203可以执行上述S321。
进一步的,对于如何将输入数据写入第二最少擦除次数对应的冷数据闪存块,上述模块还可以产生以下技术效果。
该获取模块201还用于获取空闲池管理表中的最多擦除次数。
可以理解的是,该获取模块201可以执行上述S321-1。
该写入模块203还用于将第二最少擦除次数对应的冷数据闪存块中的有效数据写入最多擦除次数对应的空闲闪存块,以及用于擦除第二最少擦除次数对应的冷数据闪存块,以及用于将输入数据写入第二最少擦除次数对应的冷数据闪存块。
可以理解的是,该写入模块203可以执行上述S321-2、S321-3、S321-4。
综上所述,本发明实施例所提供的数据处理方法、装置及电子设备。该装置设置在该电子设备中,可以实现该方法。该方法包括:判断冷数据闪存块与空闲闪存块的擦除次数是否均衡,若不均衡,则将输入数据写入冷数据闪存块与空闲闪存块中擦除次数较少的闪存块,若均衡,则将输入数据写入空闲闪存块。由于通过判断冷数据闪存块以及空闲闪存块的擦除次数是否均衡,并在闪存块的擦除次数不均衡时,将输入数据写入到冷数据闪存块与空闲闪存块中擦除次数较少的闪存块上,一方面解决了没有考虑数据冷热性,导致闪存寿命变短的问题,另一方面解决了频繁搬移数据,影响存储性能的问题。
本领域内的技术人员应明白,本发明实施例可提供为方法、装置、电子设备。因此,本发明实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、装置、电子设备产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的可选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
判断冷数据闪存块与空闲闪存块的擦除次数是否均衡,若不均衡,则将输入数据写入所述冷数据闪存块与所述空闲闪存块中擦除次数较少的闪存块;
若均衡,则将所述输入数据写入所述空闲闪存块。
2.如权利要求1所述的数据处理方法,其特征在于,所述判断冷数据闪存块与空闲闪存块的擦除次数是否均衡的步骤包括:
获取空闲池管理表中的第一最少擦除次数以及冷数据管理表中的第二最少擦除次数,其中,所述空闲池管理表包括至少一个对应擦除次数的空闲闪存块标识,并且所述空闲闪存块标识对应所述空闲闪存块,所述冷数据管理表包括至少一个对应擦除次数的冷数据闪存块标识,并且所述冷数据闪存块标识对应所述冷数据闪存块;
获取所述第一最少擦除次数和所述第二最少擦除次数的差值;
当所述差值不等于预设阈值时,判断所述冷数据闪存块与所述空闲闪存块的擦除次数不均衡;所述预设阈值为0;
当所述差值等于预设阈值时,判断所述冷数据闪存块与所述空闲闪存块的擦除次数均衡。
3.如权利要求2所述的数据处理方法,其特征在于,所述差值为将所述第一最少擦除次数减去所述第二最少擦除次数得到的;
所述若不均衡,则将输入数据写入所述冷数据闪存块与所述空闲闪存块中擦除次数较少的闪存块的步骤包括:
当所述差值小于所述预设阈值时,将所述输入数据写入所述第一最少擦除次数对应的空闲闪存块;
当所述差值大于所述预设阈值时,将所述输入数据写入所述第二最少擦除次数对应的冷数据闪存块。
4.如权利要求3所述的数据处理方法,其特征在于,所述将所述输入数据写入所述第二最少擦除次数对应的冷数据闪存块的步骤包括:
获取所述空闲池管理表中的最多擦除次数;
将所述第二最少擦除次数对应的冷数据闪存块中的有效数据写入所述最多擦除次数对应的空闲闪存块;
擦除所述第二最少擦除次数对应的冷数据闪存块;
将所述输入数据写入所述第二最少擦除次数对应的冷数据闪存块。
5.如权利要求2所述的数据处理方法,其特征在于,所述若均衡,则将所述输入数据写入所述空闲闪存块的步骤包括:
将所述输入数据写入所述第一最少擦除次数对应的空闲闪存块。
6.一种数据处理装置,其特征在于,所述装置包括判断模块以及写入模块;
所述判断模块用于判断冷数据闪存块与空闲闪存块的擦除次数是否均衡;
所述写入模块在所述冷数据闪存块与所述空闲闪存块的擦除次数不均衡时,用于将输入数据写入所述冷数据闪存块与所述空闲闪存块中擦除次数较少的闪存块上;
所述写入模块在所述冷数据闪存块与所述空闲闪存块的擦除次数均衡时,用于将所述输入数据写入所述空闲闪存块。
7.如权利要求6所述的数据处理装置,其特征在于,所述装置还包括获取模块;
所述获取模块用于获取空闲池管理表中的第一最少擦除次数以及冷数据管理表中的第二最少擦除次数,其中,所述空闲池管理表包括至少一个对应擦除次数的空闲闪存块标识,并且所述空闲闪存块标识对应所述空闲闪存块,所述冷数据管理表包括至少一个对应擦除次数的冷数据闪存块标识,并且所述冷数据闪存块标识对应所述冷数据闪存块;
所述获取模块还用于获取所述第一最少擦除次数和所述第二最少擦除次数的差值;
当所述差值不等于预设阈值时,所述判断模块用于判断所述冷数据闪存块与所述空闲闪存块的擦除次数不均衡;所述预设阈值为0;
当所述差值等于预设阈值时,所述判断模块用于判断所述冷数据闪存块与所述空闲闪存块的擦除次数均衡。
8.如权利要求7所述的数据处理装置,其特征在于,所述差值为将所述第一最少擦除次数减去所述第二最少擦除次数得到的;
所述写入模块在所述差值小于所述预设阈值时,用于将所述输入数据写入所述第一最少擦除次数对应的空闲闪存块;
所述写入模块在所述差值大于所述预设阈值时,用于将所述输入数据写入所述第二最少擦除次数对应的冷数据闪存块。
9.如权利要求8所述的数据处理装置,其特征在于,所述获取模块在所述写入模块将所述输入数据写入所述第二最少擦除次数对应的冷数据闪存块时,用于获取所述空闲池管理表中的最多擦除次数;
所述写入模块用于将所述第二最少擦除次数对应的冷数据闪存块中的有效数据写入所述最多擦除次数对应的空闲闪存块,以及用于擦除所述第二最少擦除次数对应的冷数据闪存块,以及用于将所述输入数据写入所述第二最少擦除次数对应的冷数据闪存块。
10.一种电子设备,其特征在于,包括:控制芯片、存储器、通信端口、总线;
所述电子设备可以执行上述权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910028966.9A CN109753443B (zh) | 2019-01-12 | 2019-01-12 | 一种数据处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910028966.9A CN109753443B (zh) | 2019-01-12 | 2019-01-12 | 一种数据处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109753443A CN109753443A (zh) | 2019-05-14 |
CN109753443B true CN109753443B (zh) | 2021-05-18 |
Family
ID=66404572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910028966.9A Active CN109753443B (zh) | 2019-01-12 | 2019-01-12 | 一种数据处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109753443B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851079B (zh) * | 2019-10-28 | 2021-10-15 | 置富科技(深圳)股份有限公司 | 一种自适应的存储设备损耗均衡方法及*** |
CN111414138B (zh) * | 2020-03-19 | 2024-02-13 | 镕铭微电子(济南)有限公司 | 一种固态硬盘磨损均衡方法和装置 |
CN111651126B (zh) * | 2020-06-04 | 2023-05-16 | 重庆芯讯通无线科技有限公司 | 存储器的写操作方法、***、电子设备和介质 |
CN112379831A (zh) * | 2020-11-05 | 2021-02-19 | 京信通信***(中国)有限公司 | 数据管理方法、装置、计算机设备和存储介质 |
CN112466371B (zh) * | 2020-12-17 | 2022-09-09 | 宁波拓普集团股份有限公司 | 一种循环利用闪存模拟字节擦除功能的方法 |
CN112817532A (zh) * | 2021-01-27 | 2021-05-18 | 杭州爱科科技股份有限公司 | 数据处理方法、装置及计算机存储介质 |
CN114281242B (zh) * | 2021-11-15 | 2024-05-10 | 北京智芯微电子科技有限公司 | 存储器负载均衡的方法、装置和设备 |
CN114281249B (zh) * | 2021-11-30 | 2023-07-25 | 长江存储科技有限责任公司 | 闪存颗粒的改进方法、闪存颗粒、存储器和电子设备 |
CN115437580B (zh) * | 2022-11-08 | 2023-03-24 | 合肥康芯威存储技术有限公司 | 一种数据存储设备的管理方法、***及数据存储设备 |
CN115586874B (zh) * | 2022-11-24 | 2023-03-10 | 苏州浪潮智能科技有限公司 | 一种数据块回收方法、装置及电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104360957A (zh) * | 2014-11-26 | 2015-02-18 | 上海爱信诺航芯电子科技有限公司 | 一种维持闪存损耗均衡的方法 |
CN106951187A (zh) * | 2017-03-07 | 2017-07-14 | 记忆科技(深圳)有限公司 | 一种固态存储静态磨损均衡的实现方法 |
CN107908570A (zh) * | 2017-10-25 | 2018-04-13 | 记忆科技(深圳)有限公司 | 一种实现固态硬盘磨损均衡的方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101257691B1 (ko) * | 2011-08-12 | 2013-04-24 | 아주대학교산학협력단 | 메모리 컨트롤러 및 이의 데이터 관리방법 |
CN102880556B (zh) * | 2012-09-12 | 2015-05-20 | 浙江大学 | 一种实现Nand Flash磨损均衡的方法及其*** |
CN103092766B (zh) * | 2012-12-28 | 2015-09-30 | 北京时代民芯科技有限公司 | 一种用于nand flash的均衡损耗实现方法 |
US10409526B2 (en) * | 2014-12-17 | 2019-09-10 | Violin Systems Llc | Adaptive garbage collection |
GB2545409B (en) * | 2015-12-10 | 2020-01-08 | Advanced Risc Mach Ltd | Wear levelling in non-volatile memories |
CN106201906B (zh) * | 2016-07-11 | 2019-01-18 | 浪潮(北京)电子信息产业有限公司 | 一种用于闪存的冷热数据分离方法及*** |
CN106527995B (zh) * | 2016-11-22 | 2019-03-29 | 青海师范大学 | 一种i/o均衡的数据扩容迁移方法 |
-
2019
- 2019-01-12 CN CN201910028966.9A patent/CN109753443B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104360957A (zh) * | 2014-11-26 | 2015-02-18 | 上海爱信诺航芯电子科技有限公司 | 一种维持闪存损耗均衡的方法 |
CN106951187A (zh) * | 2017-03-07 | 2017-07-14 | 记忆科技(深圳)有限公司 | 一种固态存储静态磨损均衡的实现方法 |
CN107908570A (zh) * | 2017-10-25 | 2018-04-13 | 记忆科技(深圳)有限公司 | 一种实现固态硬盘磨损均衡的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109753443A (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109753443B (zh) | 一种数据处理方法、装置及电子设备 | |
KR100873943B1 (ko) | 비휘발성 컴퓨터 메모리를 독출하기 위한 시스템 및 방법 | |
US10739996B1 (en) | Enhanced garbage collection | |
EP1909184B1 (en) | Mapping information managing apparatus and method for non-volatile memory supporting different cell types | |
KR101390134B1 (ko) | 비휘발성 메모리를 갖는 시스템을 위한 동적 및 정적 데이터의 처리 | |
US8041883B2 (en) | Restoring storage devices based on flash memories and related circuit, system, and method | |
CN109669640B (zh) | 一种数据存储方法、装置、电子设备及介质 | |
US10372619B2 (en) | Data backup method, data recovery method and storage controller | |
CN110673789B (zh) | 固态硬盘的元数据存储管理方法、装置、设备及存储介质 | |
US20080082727A1 (en) | Header blocks for flash memory writes | |
CN111324303B (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
KR20100001355A (ko) | 플래시 메모리를 이용한 저장장치에서의 읽기 웨어 레벨링방법 | |
CN110377233B (zh) | Ssd读性能优化方法、装置、计算机设备及存储介质 | |
CN110347338B (zh) | 混合内存数据交换处理方法、***及可读存储介质 | |
CN111930643B (zh) | 一种数据处理方法及相关设备 | |
CN106919517B (zh) | 闪存及其访问方法 | |
TWI437569B (zh) | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 | |
US10713162B1 (en) | System and method for computer data garbage collection acceleration using peer to peer data transfers | |
CN112347001B (zh) | 闪存垃圾回收的校验方法、装置及电子设备 | |
CN101477534B (zh) | 用于实现快闪存储器均衡磨损的文件管理方法、管理装置 | |
US10289334B2 (en) | Valid data merging method, memory controller and memory storage apparatus | |
CN113253939B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN109407989B (zh) | 一种元数据刷写的方法和装置 | |
CN110007875B (zh) | 一种有效数据的迁移方法、装置及设备 | |
CN106021124A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |