CN106775474A - 一种Nand Flash磨损均衡方法、装置及存储器 - Google Patents

一种Nand Flash磨损均衡方法、装置及存储器 Download PDF

Info

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
Application number
CN201611168870.5A
Other languages
English (en)
Other versions
CN106775474B (zh
Inventor
王杰华
刘冬好
郑静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Wave Intelligent Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201611168870.5A priority Critical patent/CN106775474B/zh
Publication of CN106775474A publication Critical patent/CN106775474A/zh
Application granted granted Critical
Publication of CN106775474B publication Critical patent/CN106775474B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-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磨损均衡方法、装置及存储器。
背景技术
随着现代社会科技的发展,计算机已经广泛应用于各种领域,随之而来的是各种围绕计算机系统的存储器在飞速发展。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。
CN201611168870.5A 2016-12-16 2016-12-16 一种Nand Flash磨损均衡方法、装置及存储器 Active CN106775474B (zh)

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)

* Cited by examiner, † Cited by third party
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 苏州浪潮智能科技有限公司 一种磨损均衡控制方法、装置、设备及可读存储介质
CN112486415B (zh) * 2020-11-30 2024-05-24 北京泽石科技有限公司 存储装置的垃圾回收方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
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 深圳市腾讯计算机系统有限公司 磨损均衡方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
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 (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947359A (zh) * 2017-12-21 2019-06-28 爱思开海力士有限公司 存储器系统及其操作方法
CN109947359B (zh) * 2017-12-21 2021-10-26 爱思开海力士有限公司 存储器系统及其操作方法
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 苏州浪潮智能科技有限公司 一种磨损均衡控制方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN106775474B (zh) 2020-01-10

Similar Documents

Publication Publication Date Title
CN106775474A (zh) 一种Nand Flash磨损均衡方法、装置及存储器
CN105874440B (zh) 用于对存储器进行碎片整理的系统和方法
US20140129758A1 (en) Wear leveling in flash memory devices with trim commands
US10162554B2 (en) System and method for controlling a programmable deduplication ratio for a memory system
CN106873908B (zh) 数据存储方法及装置
CN105242871A (zh) 一种数据写入方法及装置
CN105095116A (zh) 缓存替换的方法、缓存控制器和处理器
US10168940B2 (en) Data storage using SLC and TLC memory banks and data maintenance method thereof
US10031673B2 (en) Techniques for selecting amounts of over-provisioning
US11232072B2 (en) Method and apparatus for file system
CN104281535B (zh) 一种映射表在内存中的处理方法和装置
CN108897492B (zh) 一种数据写入方法和装置
US8904114B2 (en) Shared upper level cache architecture
CN109753234A (zh) 存储器系统及非易失性存储器的控制方法
CN104268099A (zh) 一种管理数据读写的方法及装置
CN102169727A (zh) 基于随机游走的固态硬盘磨损均衡方法
CN109086462A (zh) 一种分布式文件系统中元数据的管理方法
CN104461384A (zh) 一种数据写入方法及存储设备
CN105117168A (zh) 一种信息处理方法和电子设备
CN104317735A (zh) 大容量缓存及数据存储和读取、内存分配和回收的方法
CN106326135B (zh) 一种平移非易失性存储器nvm的数据的方法及装置
US20170052899A1 (en) Buffer cache device method for managing the same and applying system thereof
KR100817204B1 (ko) 플래시 메모리의 매핑 방법 및 장치
Wang et al. A new self-adaptive extendible hash index for flash-based DBMS
CN106469020B (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