CN106775474A - 一种Nand Flash磨损均衡方法、装置及存储器 - Google Patents
一种Nand Flash磨损均衡方法、装置及存储器 Download PDFInfo
- Publication number
- CN106775474A CN106775474A CN201611168870.5A CN201611168870A CN106775474A CN 106775474 A CN106775474 A CN 106775474A CN 201611168870 A CN201611168870 A CN 201611168870A CN 106775474 A CN106775474 A CN 106775474A
- Authority
- CN
- China
- Prior art keywords
- block
- priority
- erasure
- nand flash
- 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.)
- Granted
Links
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/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (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
本发明公开了一种Nand Flash磨损均衡方法、装置及存储器,该方法包括根据Nand Flash中每个block的擦除次数计算每个block的擦除优先级P;其中,Nand Flash中包括静态block和动态block;对擦除优先级P进行动态排序,获取动态排序位置;按照动态排序位置对block进行擦除;本发明通过根据block的擦除次数计算block的擦除优先级P,可以获取每个block进行擦除的优先级,通过对擦除优先级P进行动态排序,可以将每个block进行擦除的顺序排列出来,从而能够按照该顺序进行擦除,使Nand Flash完成了全局均衡,进而增加了使用寿命,提高了用户体验。
Description
技术领域
本发明涉及计算机***及存储领域,特别涉及一种Nand Flash磨损均衡方法、装置及存储器。
背景技术
随着现代社会科技的发展,计算机已经广泛应用于各种领域,随之而来的是各种围绕计算机***的存储器在飞速发展。Nand Flash是一种新型的非易失存储器件,具有速度快,体积小,存储密度大,功耗低等特点,以它为存储介质的固态硬盘(SSD)已经得到广泛应用。
一个SSD由很多个独立的Nand Flash芯片组成,每个Nand Flash由多个target构成,每个target由多个LUN组成,每个LUN包含多个block,每个block包含多个page。
现有技术中,Nand Flash除了上述提到的优点以外,本身有一些固有的缺陷:第一,Nand Flash的写入是out-of-place,即写入操作不能在本地更新,必须写入到新的空白页,同时旧的数据所在页会被标记为无效,等待擦除后才能重新使用;第二,Nand Flash的读写操作是以物理页(page)为单位,而擦除是以物理块(block)为单位,并且擦除操作所用时间远远大于读写操作所用时间;第三,Nand Flash的擦除次数有限制,根据介质材料的不同,通常在几千次到十万次之间。
正是由于上述原因,Nand Flash需要设计磨损均衡算法,保证所有block的擦写次数均衡,防止出现某个block擦写次数过大,导致整个Nand Flash失效的情况。磨损均衡操作可以大致分为两大类,a)动态磨损均衡,当写入的数据发生更改,新的数据会写入到新的位置,旧的数据会被标记成无效,等待垃圾回收擦除;b)静态磨损均衡,当写入的数据长时间没有发生改变,该数据所在block无法被垃圾回收,需要强制把该block数据进行搬移和擦除。
如今所说的磨损均衡,是指动态磨损均衡,但如果对长时间没有读写操作的静态数据没有进行静态磨损均衡操作,就会导致频繁读写数据所在的动态block的擦除次数与静态数据所在静态block的擦除次数相差太大,没有实现Nand Flash擦除次数的整体均衡,从而影响Nand Flash寿命。因此,对Nand Flash做包含静态均衡在内的全局均衡,成为增加Nand Flash使用寿命的重要因素。
发明内容
本发明的目的是提供一种Nand Flash磨损均衡方法、装置及存储器,以对NandFlash进行包含静态均衡在内的全局均衡,增加Nand Flash的使用寿命,提高用户体验。
为解决上述技术问题,本发明提供一种Nand Flash磨损均衡方法,该方法包括:
根据所述Nand Flash中每个block的擦除次数计算每个所述block的擦除优先级P;其中,所述Nand Flash中包括静态block和动态block;
对所述擦除优先级P进行动态排序,获取动态排序位置;
按照所述动态排序位置对所述block进行擦除。
可选的,通过所述block的擦除次数和所述block所在LUN的平均擦除次数的差值,计算每个所述block的擦除次数距离;
通过所述擦除次数距离的绝对值加1除以预先设置的擦除优先级的个数后与所述擦除次数距离相乘,计算出每个所述block的擦除次数权重;
将所述擦除次数权重、所述block的有效页个数和基础擦除优先级相加,得到每个所述block的所述擦除优先级P。
可选的,对所述擦除优先级P进行动态排序,获取动态排序位置,包括:
将所述擦除优先级P与所述block所在LUN的平均擦除次数的和与预先设置的擦除优先级的个数求余,获取所述擦除优先级P的动态排序位置。
可选的,对所述擦除优先级P进行动态排序,获取动态排序位置之后,还包括:
将所述擦除优先级P的排序位置作为索引位置添加到对应的擦除优先级双向链表的末尾;
按照所述擦除优先级双向链表对所述block进行擦除。
此外,本发明还提供了一种Nand Flash磨损均衡装置,该装置包括:
计算模块,用于根据所述Nand Flash中每个block的擦除次数计算每个所述block的擦除优先级P;其中,所述Nand Flash中包括静态block和动态block;
排序模块,用于对所述擦除优先级P进行动态排序,获取动态排序位置;
擦除模块,用于按照所述动态排序位置对所述block进行擦除。
可选的,所述计算模块,包括:
距离计算单元,用于通过所述block的擦除次数和所述block所在LUN的平均擦除次数的差值,计算每个所述block的擦除次数距离;
权重计算单元,用于通过所述擦除次数距离的绝对值加1除以预先设置的擦除优先级的个数后与所述擦除次数距离相乘,计算出每个所述block的擦除次数权重;
擦除优先级计算单元,用于将所述擦除次数权重、所述block的有效页个数和基础擦除优先级相加,得到每个所述block的所述擦除优先级P。
可选的,所述排序模块,包括:
位置计算单元,用于将所述擦除优先级P与所述block所在LUN的平均擦除次数的和与预先设置的擦除优先级的个数求余,获取所述擦除优先级P的动态排序位置。
可选的,所述排序模块,还包括:
添加单元,用于将所述擦除优先级P的排序位置作为索引位置添加到对应的擦除优先级双向链表的末尾。
本发明还提供了一种存储器,包括:
处理器,用于根据所述Nand Flash中每个block的擦除次数计算每个所述block的擦除优先级P;其中,所述Nand Flash中包括静态block和动态block;对所述擦除优先级P进行动态排序;按照所述动态排序位置对所述block进行擦除。
可选的,所述存储器具体为Nand Flash。
本发明所提供的一种Nand Flash磨损均衡方法,包括根据所述Nand Flash中每个block的擦除次数计算每个所述block的擦除优先级P;其中,所述Nand Flash中包括静态block和动态block;对所述擦除优先级P进行动态排序;按照所述动态排序位置对所述block进行擦除;
可见,本发明通过根据Nand Flash中每个block的擦除次数计算每个block的擦除优先级P,可以获取Nand Flash中每个block进行擦除的优先级,通过对所述擦除优先级P进行动态排序,可以将每个block进行擦除的顺序排列出来,从而能够按照该顺序对每个block进行擦除,使得Nand Flash进行的全局均衡包含了对动态block的动态均衡和对静态block的静态均衡,进而增加了Nand Flash的使用寿命,提高了用户体验。此外,本发明还提供了一种Nand Flash磨损均衡装置及存储器,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种Nand Flash磨损均衡方法的流程图;
图2为本发明实施例所提供的另一种Nand Flash磨损均衡方法的流程图;
图3为本发明实施例所提供的另一种Nand Flash磨损均衡方法的擦除优先级双向链表的示意图;
图4为本发明实施例所提供的一种Nand Flash磨损均衡装置的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的一种Nand Flash磨损均衡方法的流程图。该方法可以包括:
步骤101:根据所述Nand Flash中每个block的擦除次数计算每个所述block的擦除优先级P;其中,所述Nand Flash中包括静态block和动态block。
可以理解的是,静态block可以为长时间没有读写操作的静态数据所在的block;动态block频繁读写的数据所在的block。根据Nand Flash中每个block的擦除次数计算每个block的擦除优先级P可以是在使用本方法开始时,对Nand Flash中每个block计算每个block的擦除优先级P,然后再计算进行擦除操作后的block的擦除优先级P。
需要说明的是,对于计算block的擦除优先级P的方式,可以是只考虑block的擦除次数,如根据block的擦除次数计算该block的擦除次数距离,也就是计算该block的擦除次数和该block所在LUN的平均擦除次数的差值,将该block的擦除次数距离的绝对值作为该block的擦除优先级P;也可以是考虑block的擦除次数和该block的有效页个数,如根据block的擦除次数计算该block的擦除次数距离,再计算该block的擦除次数权重,将擦除次数权重、该block的有效页个数和基础擦除优先级相加的和作为该block的擦除优先级P。本实施例对此不受任何限制。
步骤102:对所述擦除优先级P进行动态排序,获取动态排序位置。
其中,动态排序对于只考虑block的擦除次数的block的擦除优先级P计算方式,可以是将计算出的擦除优先级P的绝对值按照由小到大的顺序排列,每计算出一个擦除优先级P便将其绝对值加入到此排列队伍中;也可以是建立优先级双向链表,将计算出的擦除优先级P的绝对值添加到对应优先级双向链表的末尾。
动态排序对于考虑block的擦除次数和该block的有效页个数的block的擦除优先级P计算方式,可以是将计算出的block的擦除优先级P与block所在LUN的平均擦除次数的结果与预先设置的擦除优先级的个数求余,对于求余的结果按照由小到大的顺序排列,每计算出一个block的求余结果变将其加入到此排列队伍中;或者根据预先设置的擦除优先级的个数建立该个数的优先级双向链表,将计算出的求余结果添加到对应优先级双向链表的末尾。只要可以将擦除优先级P根据实用场景或用户需求进行动态排序,对于动态排序的方式本实施例不做任何限制。
可以理解的是,对擦除优先级P直接进行排列时,每计算出一个新的擦除优先级P可以导致原本的排列队伍需要进行重新排列,使得处理器需要一直进行排列,增加了处理器的运算量。因此,可以建立优先级双向链表,使每个擦除优先级P添加到对应优先级双向链表的末尾,能够减少处理器的排序过程,增加本方法的运算速度。
步骤103:按照所述动态排序位置对所述block进行擦除。
其中,按照动态排序位置对所述block进行擦除可以为按照排列队伍的顺序对对应的block进行擦除,也可以为按照优先级双向链表的顺序对对应的block进行擦除。本实施例对此不受任何限制。
本实施例中,本发明实施例通过根据Nand Flash中每个block的擦除次数计算每个block的擦除优先级P,可以获取Nand Flash中每个block进行擦除的优先级,通过对所述擦除优先级P进行动态排序,可以将每个block进行擦除的顺序排列出来,从而能够按照该顺序对每个block进行擦除,使得Nand Flash进行的全局均衡包含了对动态block的动态均衡和对静态block的静态均衡,进而增加了Nand Flash的使用寿命,提高了用户体验。
请参考图2、图3,图2为本发明实施例所提供的另一种Nand Flash磨损均衡方法的流程图;图3为本发明实施例所提供的另一种Nand Flash磨损均衡方法的擦除优先级双向链表的示意图。该方法可以包括:
步骤201:通过所述block的擦除次数和所述block所在LUN的平均擦除次数的差值,计算每个所述block的擦除次数距离。
其中,block的擦除次数距离也就是该block的擦除次数与该block所在LUN的平均擦除次数的距离。
例如,一个block的擦除次数为EC,该block所在LUN中所有block的平均擦除次数为AVREC,该block的擦除次数距离EC_DISTANCE的计算可以为:EC_DISTANCE=EC–AVREC,它的绝对值记作ABS(EC_DISTANCE)。EC_DISTANCE可以描述该block的擦除次数EC与该block所在LUN的平均擦除次数AVREC的差值,如果EC_DISTANCE为负数且ABS(EC_DISTANCE)数值较大,说明该block很有可能是一个长时间没有读写的静态数据块。
步骤202:通过所述擦除次数距离的绝对值加1除以预先设置的擦除优先级的个数后与所述擦除次数距离相乘,计算出每个所述block的擦除次数权重。
其中,预先设置的擦除优先级的个数可以为本实施例中擦除优先级双向链表的个数,对于擦除优先级的个数的具体数值的设置可以根据实用场景和用户需求设置,本实施例对此不做任何限制。
需要说明的是,对于本实施例提供的方法来说,可以将擦除优先级的个数设置为block中物理页个数的两倍,使本实施例提供的方法达到最优效果,当然设置成block中物理页个数的其他整数倍或设置成其他数值,也可以达到本实施例的目的,本实施例对此不受任何限制。
例如,上述block包含N个物理页,block的擦除次数权重EC_WEIGHT的计算可以为:EC_WEIGHT=(ABS(EC_DISTANCE)+1)/(2*N)*EC_DISTANCE。EC_WEIGHT可以描述该block擦除次数在优先级计算中的权重,如果EC_WEIGHT为负数且其绝对值较大,说明该block很有可能是一个长时间没有读写的静态数据块,需要加大其在优先级计算中的权重。
步骤203:将所述擦除次数权重、所述block的有效页个数和基础擦除优先级相加,得到每个所述block的所述擦除优先级P。
其中,基础擦除优先级可以为block中的物理页的数值。
例如,上述block包含N个物理页,有效页个数为VPC,记录N为基础优先级PRIORITY_BASE,该block的擦除优先级P的计算可以为:P=VPC+EC_WEIGHT+PRIORITY_BASE。P可以描述该block经过全局磨损均衡算法计算得到结果,综合考虑了有效页个数VPC和擦除次数权重EC_WEIGHT,如果P为负数,说明该block很有可能是一个长时间没有读写的静态数据块,需要优先处理。
可以理解的是,步骤201至步骤203为block的擦除优先级P计算过程,在具体实施中只需要在本方法开始时对每个block进行擦除优先级P的计算,之后只需对进行擦除后的block进行擦除优先级P的计算,并不需要每擦除一个block便对全部block进行擦除优先级P的计算。
步骤204:将所述擦除优先级P与所述block所在LUN的平均擦除次数的和与预先设置的擦除优先级的个数求余,获取所述擦除优先级P的动态排序位置。
需要说明的是,对于本实施例来说,因为建立了擦除优先级的个数的擦除优先级双向链表,所以擦除优先级P的动态排序位置也就可以为擦除优先级P的索引位置。
例如,上述block的擦除优先级P的索引位置INDEX的计算为:INDEX=(P+AVREC)%(2*N)。其中,INDEX的数值可以为0到2*N-1之间。
步骤205:将所述擦除优先级P的排序位置作为索引位置添加到对应的擦除优先级双向链表的末尾。
需要说明的是,擦除优先级双向链表的结构可以如图3所示,每个擦除优先级可以对应一个双向链表,同一擦除优先级的block通过双向链表连接在一起。
步骤206:按照所述擦除优先级双向链表对所述block进行擦除。
可以理解的是,擦除模块需要对block进行擦除时,可以通过查找擦除优先级双向链表的按索引位置由小到大的顺序对对应的block进行擦除。
本实施例中,本发明实施例通过计算block的擦除次数权重的过程计算block的擦除优先级P,进一步考虑了block中的有效页个数,可以更加准确获取Nand Flash中每个block进行擦除的优先级,通过使用擦除优先级双向链表,可以将每个block进行擦除的顺序更加方便排列出来,从而能够按照该顺序对每个block进行擦除,使得Nand Flash进行的全局均衡包含了对动态block的动态均衡和对静态block的静态均衡,进而增加了NandFlash的使用寿命,提高了用户体验。
请参考图4,图4为本发明实施例所提供的一种Nand Flash磨损均衡装置的结构图。该装置可以包括:
计算模块100,用于根据所述Nand Flash中每个block的擦除次数计算每个所述block的擦除优先级P;其中,所述Nand Flash中包括静态block和动态block;
排序模块200,用于对所述擦除优先级P进行动态排序,获取动态排序位置;
擦除模块300,用于按照所述动态排序位置对所述block进行擦除。
可选的,所述计算模块100,包括:
距离计算单元,用于通过所述block的擦除次数和所述block所在LUN的平均擦除次数的差值,计算每个所述block的擦除次数距离;
权重计算单元,用于通过所述擦除次数距离的绝对值加1除以预先设置的擦除优先级的个数后与所述擦除次数距离相乘,计算出每个所述block的擦除次数权重;
擦除优先级计算单元,用于将所述擦除次数权重、所述block的有效页个数和基础擦除优先级相加,得到每个所述block的所述擦除优先级P。
可选的,所述排序模块200,包括:
位置计算单元,用于将所述擦除优先级P与所述block所在LUN的平均擦除次数的和与预先设置的擦除优先级的个数求余,获取所述擦除优先级P的动态排序位置。
可选的,所述排序模块200,还包括:
添加单元,用于将所述擦除优先级P的排序位置作为索引位置添加到对应的擦除优先级双向链表的末尾。
本实施例中,本发明实施例通过计算模块100根据Nand Flash中每个block的擦除次数计算每个block的擦除优先级P,可以获取Nand Flash中每个block进行擦除的优先级,通过排序模块200对所述擦除优先级P进行动态排序,可以将每个block进行擦除的顺序排列出来,从而能够通过擦除模块300按照该顺序对每个block进行擦除,使得Nand Flash进行的全局均衡包含了对动态block的动态均衡和对静态block的静态均衡,进而增加了NandFlash的使用寿命,提高了用户体验。
此外,本发明实施例还提供了一种存储器,包括:
处理器,用于根据所述Nand Flash中每个block的擦除次数计算每个所述block的擦除优先级P;其中,所述Nand Flash中包括静态block和动态block;对所述擦除优先级P进行动态排序;按照所述动态排序位置对所述block进行擦除。
其中,所述存储器具体为Nand Flash。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置和存储器而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的Nand Flash磨损均衡方法、装置及存储器进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种Nand Flash磨损均衡方法,其特征在于,包括:
根据所述Nand Flash中每个block的擦除次数计算每个所述block的擦除优先级P;其中,所述Nand Flash中包括静态block和动态block;
对所述擦除优先级P进行动态排序,获取动态排序位置;
按照所述动态排序位置对所述block进行擦除。
2.根据权利要求1所述的Nand Flash磨损均衡方法,其特征在于,根据所述Nand Flash中每个block的擦除次数计算每个所述block的擦除优先级P,包括:
通过所述block的擦除次数和所述block所在LUN的平均擦除次数的差值,计算每个所述block的擦除次数距离;
通过所述擦除次数距离的绝对值加1除以预先设置的擦除优先级的个数后与所述擦除次数距离相乘,计算出每个所述block的擦除次数权重;
将所述擦除次数权重、所述block的有效页个数和基础擦除优先级相加,得到每个所述block的所述擦除优先级P。
3.根据权利要求2所述的Nand Flash磨损均衡方法,其特征在于,对所述擦除优先级P进行动态排序,获取动态排序位置,包括:
将所述擦除优先级P与所述block所在LUN的平均擦除次数的和与预先设置的擦除优先级的个数求余,获取所述擦除优先级P的动态排序位置。
4.根据权利要求1至3任一项所述Nand Flash磨损均衡方法,其特征在于,对所述擦除优先级P进行动态排序,获取动态排序位置之后,还包括:
将所述擦除优先级P的排序位置作为索引位置添加到对应的擦除优先级双向链表的末尾;
按照所述擦除优先级双向链表对所述block进行擦除。
5.一种Nand Flash磨损均衡装置,其特征在于,包括:
计算模块,用于根据所述Nand Flash中每个block的擦除次数计算每个所述block的擦除优先级P;其中,所述Nand Flash中包括静态block和动态block;
排序模块,用于对所述擦除优先级P进行动态排序,获取动态排序位置;
擦除模块,用于按照所述动态排序位置对所述block进行擦除。
6.根据权利要求5所述的Nand Flash磨损均衡装置,其特征在于,所述计算模块,包括:
距离计算单元,用于通过所述block的擦除次数和所述block所在LUN的平均擦除次数的差值,计算每个所述block的擦除次数距离;
权重计算单元,用于通过所述擦除次数距离的绝对值加1除以预先设置的擦除优先级的个数后与所述擦除次数距离相乘,计算出每个所述block的擦除次数权重;
擦除优先级计算单元,用于将所述擦除次数权重、所述block的有效页个数和基础擦除优先级相加,得到每个所述block的所述擦除优先级P。
7.根据权利要求6所述的Nand Flash磨损均衡装置,其特征在于,所述排序模块,包括:
位置计算单元,用于将所述擦除优先级P与所述block所在LUN的平均擦除次数的和与预先设置的擦除优先级的个数求余,获取所述擦除优先级P的动态排序位置。
8.根据权利要求5至7任一项所述Nand Flash磨损均衡装置,其特征在于,所述排序模块,还包括:
添加单元,用于将所述擦除优先级P的排序位置作为索引位置添加到对应的擦除优先级双向链表的末尾。
9.一种存储器,其特征在于,包括:
处理器,用于根据所述Nand Flash中每个block的擦除次数计算每个所述block的擦除优先级P;其中,所述Nand Flash中包括静态block和动态block;对所述擦除优先级P进行动态排序;按照所述动态排序位置对所述block进行擦除。
10.根据权利要求9所述存储器,其特征在于,所述存储器具体为Nand Flash。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611168870.5A CN106775474B (zh) | 2016-12-16 | 2016-12-16 | 一种Nand Flash磨损均衡方法、装置及存储器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611168870.5A CN106775474B (zh) | 2016-12-16 | 2016-12-16 | 一种Nand Flash磨损均衡方法、装置及存储器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106775474A true CN106775474A (zh) | 2017-05-31 |
CN106775474B CN106775474B (zh) | 2020-01-10 |
Family
ID=58892288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611168870.5A Active CN106775474B (zh) | 2016-12-16 | 2016-12-16 | 一种Nand Flash磨损均衡方法、装置及存储器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106775474B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304492A (zh) * | 2018-01-09 | 2018-07-20 | 武汉斗鱼网络科技有限公司 | 一种搜索列表更新方法、存储介质、设备及*** |
CN108681435A (zh) * | 2018-05-25 | 2018-10-19 | 郑州云海信息技术有限公司 | 一种固态硬盘的磨损均衡方法、装置、设备及存储介质 |
CN109254927A (zh) * | 2018-08-30 | 2019-01-22 | 浪潮电子信息产业股份有限公司 | 一种固态硬盘磨损均衡的实现方法 |
CN109947359A (zh) * | 2017-12-21 | 2019-06-28 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN110851079A (zh) * | 2019-10-28 | 2020-02-28 | 华中科技大学 | 一种自适应的存储设备损耗均衡方法及*** |
CN111435403A (zh) * | 2018-12-26 | 2020-07-21 | 深圳市中兴微电子技术有限公司 | 一种闪存***的磨损均衡方法及装置 |
CN112486415A (zh) * | 2020-11-30 | 2021-03-12 | 北京泽石科技有限公司 | 存储装置的垃圾回收方法及装置 |
WO2021082108A1 (zh) * | 2019-10-31 | 2021-05-06 | 江苏华存电子科技有限公司 | 一种有效平均闪存块擦除次数的方法 |
CN113703670A (zh) * | 2021-07-21 | 2021-11-26 | 苏州浪潮智能科技有限公司 | 一种磨损均衡控制方法、装置、设备及可读存储介质 |
CN118152301A (zh) * | 2024-05-09 | 2024-06-07 | 江苏华存电子科技有限公司 | 一种自适应学习的固态硬盘垃圾回收方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1701308A (zh) * | 2002-10-28 | 2005-11-23 | 桑迪士克股份有限公司 | 维护非易失性存储***中的擦除计数 |
CN102508785A (zh) * | 2011-11-02 | 2012-06-20 | 清华大学 | 一种磨损均衡方法及装置 |
CN104298465A (zh) * | 2013-07-17 | 2015-01-21 | 光宝科技股份有限公司 | 固态储存装置中的区块分组方法 |
CN104572489A (zh) * | 2013-10-23 | 2015-04-29 | 深圳市腾讯计算机***有限公司 | 磨损均衡方法及装置 |
-
2016
- 2016-12-16 CN CN201611168870.5A patent/CN106775474B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1701308A (zh) * | 2002-10-28 | 2005-11-23 | 桑迪士克股份有限公司 | 维护非易失性存储***中的擦除计数 |
CN102508785A (zh) * | 2011-11-02 | 2012-06-20 | 清华大学 | 一种磨损均衡方法及装置 |
CN104298465A (zh) * | 2013-07-17 | 2015-01-21 | 光宝科技股份有限公司 | 固态储存装置中的区块分组方法 |
CN104572489A (zh) * | 2013-10-23 | 2015-04-29 | 深圳市腾讯计算机***有限公司 | 磨损均衡方法及装置 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947359B (zh) * | 2017-12-21 | 2021-10-26 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN109947359A (zh) * | 2017-12-21 | 2019-06-28 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN108304492B (zh) * | 2018-01-09 | 2020-07-31 | 武汉斗鱼网络科技有限公司 | 一种搜索列表更新方法、存储介质、设备及*** |
CN108304492A (zh) * | 2018-01-09 | 2018-07-20 | 武汉斗鱼网络科技有限公司 | 一种搜索列表更新方法、存储介质、设备及*** |
CN108681435A (zh) * | 2018-05-25 | 2018-10-19 | 郑州云海信息技术有限公司 | 一种固态硬盘的磨损均衡方法、装置、设备及存储介质 |
CN109254927A (zh) * | 2018-08-30 | 2019-01-22 | 浪潮电子信息产业股份有限公司 | 一种固态硬盘磨损均衡的实现方法 |
CN111435403A (zh) * | 2018-12-26 | 2020-07-21 | 深圳市中兴微电子技术有限公司 | 一种闪存***的磨损均衡方法及装置 |
CN111435403B (zh) * | 2018-12-26 | 2024-05-07 | 深圳市中兴微电子技术有限公司 | 一种闪存***的磨损均衡方法及装置 |
CN110851079A (zh) * | 2019-10-28 | 2020-02-28 | 华中科技大学 | 一种自适应的存储设备损耗均衡方法及*** |
CN110851079B (zh) * | 2019-10-28 | 2021-10-15 | 置富科技(深圳)股份有限公司 | 一种自适应的存储设备损耗均衡方法及*** |
WO2021082108A1 (zh) * | 2019-10-31 | 2021-05-06 | 江苏华存电子科技有限公司 | 一种有效平均闪存块擦除次数的方法 |
CN112486415A (zh) * | 2020-11-30 | 2021-03-12 | 北京泽石科技有限公司 | 存储装置的垃圾回收方法及装置 |
CN112486415B (zh) * | 2020-11-30 | 2024-05-24 | 北京泽石科技有限公司 | 存储装置的垃圾回收方法及装置 |
CN113703670A (zh) * | 2021-07-21 | 2021-11-26 | 苏州浪潮智能科技有限公司 | 一种磨损均衡控制方法、装置、设备及可读存储介质 |
CN113703670B (zh) * | 2021-07-21 | 2023-08-25 | 苏州浪潮智能科技有限公司 | 一种磨损均衡控制方法、装置、设备及可读存储介质 |
CN118152301A (zh) * | 2024-05-09 | 2024-06-07 | 江苏华存电子科技有限公司 | 一种自适应学习的固态硬盘垃圾回收方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106775474B (zh) | 2020-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106775474A (zh) | 一种Nand Flash磨损均衡方法、装置及存储器 | |
US20140129758A1 (en) | Wear leveling in flash memory devices with trim commands | |
CN104272278B (zh) | 用于更新共享高速缓冲存储器的方法和多线程处理*** | |
CN105242871A (zh) | 一种数据写入方法及装置 | |
JP2008192154A (ja) | メモリマッピング方法およびメモリマッピングシステム | |
US20190065366A1 (en) | Memory device with dynamic cache management | |
US11232072B2 (en) | Method and apparatus for file system | |
TW201437808A (zh) | 分割實體區塊之方法及記憶體系統 | |
US20140032822A1 (en) | Writing data to solid state drives | |
CN109753234A (zh) | 存储器***及非易失性存储器的控制方法 | |
CN104268099A (zh) | 一种管理数据读写的方法及装置 | |
CN106873908A (zh) | 数据存储方法及装置 | |
CN105988875B (zh) | 一种运行进程的方法及装置 | |
CN102169727A (zh) | 基于随机游走的固态硬盘磨损均衡方法 | |
US9063667B2 (en) | Dynamic memory relocation | |
CN109086462A (zh) | 一种分布式文件***中元数据的管理方法 | |
CN107391040A (zh) | 一种存储阵列磁盘io调度的方法及装置 | |
CN106155580A (zh) | 一种基于嵌入式多媒体卡eMMC的存储方法及*** | |
US20140195571A1 (en) | Fast new file creation cache | |
CN104317735A (zh) | 大容量缓存及数据存储和读取、内存分配和回收的方法 | |
CN106326135B (zh) | 一种平移非易失性存储器nvm的数据的方法及装置 | |
CN104899158A (zh) | 访存优化方法和装置 | |
Chen et al. | Refinery swap: An efficient swap mechanism for hybrid DRAM–NVM systems | |
TW201435586A (zh) | 快閃記憶體儲存設備及其資料管理之方法與裝置 | |
CN105260264A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20191203 Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province Applicant after: Suzhou Wave Intelligent Technology Co., Ltd. Address before: 450018 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601 Applicant before: Zhengzhou Yunhai Information Technology Co. Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |