CN101740110A - 一种Nand Flash擦除均衡的方法及装置 - Google Patents
一种Nand Flash擦除均衡的方法及装置 Download PDFInfo
- Publication number
- CN101740110A CN101740110A CN200910260369A CN200910260369A CN101740110A CN 101740110 A CN101740110 A CN 101740110A CN 200910260369 A CN200910260369 A CN 200910260369A CN 200910260369 A CN200910260369 A CN 200910260369A CN 101740110 A CN101740110 A CN 101740110A
- Authority
- CN
- China
- Prior art keywords
- physical block
- block
- interval
- frequency
- threshold value
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
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
本发明公开了一种实现擦除均衡的方法及装置,方法包括:至少设置第一擦除次数阈值和小于或等于第一擦除次数阈值的第二擦除次数阈值;至少设置第一使用频率阈值和大于或等于第一使用频率阈值的第二使用频率阈值;根据第一擦除次数阈值、第二擦除次数阈值、第一使用频率阈值和第二使用频率阈值,将Nand Flash的物理块划入不同的物理块区间内;根据逻辑块的使用频率和原有映射关系,将逻辑块分别映射到相应物理块区间内的物理块上。本发明通过将擦除次数较高的物理块映射到使用频率较低的逻辑块上,限制擦除次数较高的物理块增加的擦除次数,对Nand Flash的各个物理块的擦除次数进行均衡,避免了因为部分物理块的擦除次数过高造成存储空间减少,提高了NandFlash寿命。
Description
技术领域
本发明涉及存储器技术领域,特别是涉及一种Nand Flash擦除均衡的方法及装置。
背景技术
Nand Flash具有成本低,容量大,稳定性较好的特点,在嵌入式领域得到广泛应用。
Nand Flash的物理结构由页结构和块结构组成,一个页的大小为512Bytes,每个页有16Bytes的附加区Spare Area,这个区域不是数据区,可以用来存放与该页相关的一些信息,如校验码等;一个块由相邻的32个页(或者64个页)组成,也就是16KB(或者32KB)。页为读操作的基本单位,块为擦除操作的基本单位。在写某一区域之前,如果该区域以前被写过,则需要先擦除包含该区域的整个块(先擦后写)。Nand Flash在写之前需要对它所在块进行擦除,如果不对Nand Flash的写操作进行处理,则当每次写的数据量不大时,就需要擦除整个块,同时还要将一个块的其他区域的数据同时保存,严重影响效率;同时,由于Nand Flash实现技术,使得它的寿命有限(块的擦除次数有限),而在文件系统中,存储器的某些块具有非常高的读写频率,如果让文件系统直接操作Nand Flash的物理块,则其中使用频率高的块就会超过擦除次数,从而使得Nand Flash的存储空间减少,影响Nand Flash的寿命。
发明内容
本发明要解决的技术问题是提供一种Nand Flash擦除均衡的的方法及装置,用以解决现有技术中由于部分物理块擦除次数过多影响Nand Flash寿命的问题。
为解决上述技术问题,本发明提出了一种实现擦除均衡的方法,所述方法包括以下步骤:
至少设置第一擦除次数阈值,以及小于或等于所述第一擦除次数阈值的第二擦除次数阈值;至少设置第一使用频率阈值,以及大于或等于第一使用频率阈值的第二使用频率阈值;
根据所述第一擦除次数阈值、第二擦除次数阈值、第一使用频率阈值和第二使用频率阈值,将Nand Flash的物理块划入不同的物理块区间内;
根据逻辑块的使用频率和原有映射关系,将逻辑块分别映射到相应物理块区间内的物理块上。
进一步,将Nand Flash的物理块划入不同的物理块区间内,具体包括以下步骤:
将擦除次数高于所述第一擦除次数阈值的空闲物理块划入空闲物理块第一区间内;
将擦除次数低于所述第二擦除次数阈值的空闲物理块划入空闲物理块第二区间内;
进一步,将Nand Flash的物理块划入不同的物理块区间内,具体包括以下步骤:
将擦除次数高于第一擦除次数阈值、且被映射逻辑块的使用频率低于所述第一使用频率阈值的使用物理块划入到使用物理块第一区间;
将擦除次数低于第二擦除次数阀值、且被映射逻辑块的使用频率低于所述第一使用频率阀值的使用物理块划入到使用物理块第二区间;
将擦除次数低于第二擦除次数阈值、且被映射逻辑块的使用频率高于所述第二使用频率阈值的使用物理块划入到使用物理块第三区间内;
将擦除次数高于第一擦除次数阀值、且被映射逻辑块的使用频率高于所述第二使用频率阀值的使用物理块划入到使用物理块第四区间。
进一步,将逻辑块分别映射到相应物理块区间内的物理块上,具体包括以下步骤:当所述逻辑块没有映射物理块、且所述逻辑块的使用频率高于所述第二使用频率时:
判断所述空闲物理块第二区间是否为空,不为空,则该逻辑块映射空闲物理块第二区间内的物理块A,并将物理块A放入到所述使用物理块的第三区间;如果为空,则判断所述使用物理块第二区间是否为空,如果否,则从所述使用物理块第二区间内取出其中的一个物理块B,同时取出所述空闲物理块第一区间的物理块C,将该逻辑块映射到物理块B,同时将物理块B放入到使用物理块的第三区间,将物理块B原来映射的逻辑块映射到物理块C上,并将物理块C放入到所述使用物理块第一区间;如果所述使用物理块的第二区间为空,则将该逻辑块映射到所述空闲物理块第一区间内的物理块D上,并将物理块D放入到所述使用物理块第四区间内。
进一步,将逻辑块分别映射到相应物理块区间内的物理块上,具体包括以下步骤:当所述逻辑块没有映射物理块、且所述逻辑块的使用频率低于第一使用频率时:
判断所述空闲物理块第一区间是否为空,如果不为空,则该逻辑块映射到所述空闲物理块第一区间的物理块E,并将物理块E放入到所述使用物理块第一区间内;如果为空,则判断所述使用物理块第四区间是否为空,如果不为空,则从所述使用物理块第四区间内取出物理块F,并从所述空闲物理块第二区间的取出物理块G,将该逻辑块映射到物理块F,将物理块F放入到所述使用物理块第一区间,将物理块F原先被映射的逻辑块映射到物理块G,并将逻辑块G放入到使用物理块第三区间;如果所述使用物理块第四区间为空,则将该逻辑块映射到空闲物理块第二区间的物理块H,并将物理块H放入到使用物理块的第二区间。
进一步,将逻辑块分别映射到相应物理块区间内的物理块上,具体包括以下步骤:当所述逻辑块映射有物理块、且被映射的物理块在使用物理块第一区间或第三区间内,则不进行重新映射,直接擦写被映射的物理块,再根据逻辑块的使用频率与被映射的物理块的擦除次数,将该物理块划分到使用物理块的相应物理块区间内。
进一步,将逻辑块分别映射到相应物理块区间内的物理块上,具体包括以下步骤:当所述逻辑块映射有物理块、且被映射的物理块J在使用物理块第二区间内,则对所述逻辑块进行重新映射,包括以下步骤:
判断所述使用物理块第四区间是否为空,如果不为空,则取出该区间的物理块K,将所述物理块J和物理块K的映射关系互换,完成后,再根据使用频率和擦除次数,将所述物理块J和物理块K放入到相应的物理块区间内;如果所述使用物理块第四区间为空,则判断所述空闲物理块第一区间是否为空,如果不为空,则从所述空闲物理块第一区间取出物理块L,将所述逻辑块映射到物理块L上,同时将物理块J放入到空闲物理块第二区间,再根据物理块L的使用频率和擦除次数,放入到相应的物理块区间内;如果所述空闲物理块第一区间为空,则不进行重新映射,直接擦写原来物理块J。
进一步,将逻辑块分别映射到相应物理块区间内的物理块上,具体包括以下步骤:当所述逻辑块映射有物理块、且被映射的物理块I在使用物理块第四区间,则对所述逻辑块进行重新映射,包括以下步骤:
判断所述使用物理块第二区间是否为空,如果不为空,则从所述使用物理块第二区间中取出物理块M,将物理块I和物理块M的映射关系进行互换,完成后再根据使用频率和擦除次数,将物理块I和M放入到相应的物理块区间内;如果所述使用物理块第二区间为空,则判断所述空闲物理块第二区间是否为空,如果不为空,则从所述空闲物理块第二区间取出的物理块N,将所述逻辑块重新映射到物理块N,同时将物理块I放入到空闲物理块第一区间,根据使用频率和擦除次数,将物理块N放入到使用物理块的相应区间内;如果所述空闲物理块第二区间为空,则不进行重新映射,直接擦写物理块I,并根据使用频率和擦除次数,将物理块I放入到使用相应的物理块区间内。
进一步,在将所述逻辑块映射到相应物理块区间内的物理块上之后,进行写操作时,包括以下步骤:
判断需要写的逻辑块是否映射有物理块,如果否,则根据该逻辑块的使用频率,以及所述第一使用频率阈值和第二使用频率阈值,对该逻辑块进行映射;如果是,则进一步判断该物理块要写入的页是否已经被写入,如果是,则根据该逻辑块的使用频率,以及所述第一使用频率阈值和第二使用频率阈值,对该逻辑块进行重新映射,如果否,则对该物理块进行写操作。
进一步,当完成写操作后,当所述第一使用频率阈值、第二使用频率阈值、第一擦除次数阈值和第二擦除次数阈值中的任何一个发生改变,则重新遍历Nand Flash的所有物理块,将物理块重新划入不同的物理块区间内。
进一步,在判断需要写的逻辑块是否映射有物理块之前,还包括:
当被识别的文件系统释放有物理块时,断开所述被释放物理块的映射关系。
进一步,在进行写操作之前,还包括以下步骤:对所述物理块的每一页设置标志位,用于表示该页是否已经被写入。
另一方面,本发明还提供一种Nand Flash擦除均衡的装置,所述装置包括:
擦除次数阈值设置单元,用于设置第一擦除次数阈值,以及小于或等于所述第一擦除次数阈值的第二擦除次数阈值;
使用频率阈值设置单元,用于设置第一使用频率阈值,以及大于或等于第一使用频率阈值的第二使用频率阈值;
物理块区间划分单元,用于根据所述第一擦除次数阈值、第二擦除次数阈值、第一使用频率阈值和第二使用频率阈值,将Nand Flash的物理块划入不同的物理块区间内;
地址映射单元,用于根据逻辑块的使用频率和原有映射关系,将逻辑块分别映射到相应物理块区间内的物理块上。
进一步,所述装置还包括:
映射关系判断单元,用于判断需要写的逻辑块是否映射有物理块;
页写入判断单元,用于判断物理块要写入的页是否已经被写入;
当所述映射关系判断单元判定需要写的逻辑块没有映射有物理块时,则根据该逻辑块的使用频率,以及所述第一使用频率阈值和第二使用频率阈值,通过所述地址映射单元对该逻辑块进行重新映射;
当映射关系判断单元判定需要写的逻辑块映射有物理块时,则页写入判断单元进一步判断该物理块要写入的页是否已经被写入,如果是,则根据该逻辑块的使用频率,以及所述第一使用频率阈值和第二使用频率阈值,通过所述地址映射单元对该逻辑块进行重新映射;如果否,则对该物理块进行写操作。
进一步,所述装置还包括:映射关系调整单元,用于当被识别的文件系统释放有物理块时,断开所述被释放物理块的映射关系。
进一步,所述装置还包括:标志位设置单元,用于对所述物理块的每一页设置用于表示该页是否已经被写入的标志位。
本发明有益效果如下:
通过将擦除次数较高的物理块映射到使用频率较低的逻辑块上,限制擦除次数较高的物理块增加的擦除次数,将使用频率高的逻辑块映射到擦除次数低的物理块上,增加擦除次数低的物理块的擦除次数,对Nand Flash的各个物理块的擦除次数进行均衡,避免了因为部分物理块的擦除次数超过Nand Flash物理块的设置(额定)擦除次数,而造成Nand Flash的存储空间减少,最终达到提高Nand Flash寿命的目的。另外,通过对物理块的每一页设置标志位,对没有写的页直接进行写入,大大提高了Nand Flash写的速度。
附图说明
图1是本发明实施例1一种Nand Flash擦除均衡的方法的流程图;
图2是本发明实施例2一种Nand Flash擦除均衡的方法的流程图;
图3是本发明实施例2中一种逻辑块与物理块映射关系的对应图;
图4是本发明实施例3一种Nand Flash擦除均衡的装置的结构示意图;
图5是本发明实施例4一种Nand Flash擦除均衡的装置的结构示意图。
具体实施方式
为了解决现有技术由于部分物理块擦除次数过多影响Nand Flash寿命的问题,本发明提供了一种Nand Flash擦除均衡的方法及装置,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
Nand Flash的擦写,要求各个物理块的擦除次数均衡,因此,物理块的擦除次数,对于提高Nand Flash的寿命,是非常重要的参考依据。同时,由于文件系统的性质,使得逻辑块的使用频率各不相同,如果只考虑物理块的擦除次数,而不考虑逻辑块得使用频率,就得不到好的均衡效果。本发明针对上述特点,提出了一种按块地址映射来实现Nand Flash擦除均衡的方法,即根据逻辑块使用频率和物理块擦除次数来确定映射关系。为了实现上述目的,需要将文件系统的操作地址和Nand Flash的实际地址分开,这里将文件系统操作的地址称为逻辑地址,Nand Flash的实际地址称为物理地址。
如图1所示,本发明实施例1涉及一种Nand Flash擦除均衡的方法,包括以下步骤:
S101,设置第一擦除次数阈值,以及小于或等于所述第一擦除次数阈值的第二擦除次数阈值;设置第一使用频率阈值,以及大于或等于第一使用频率阈值的第二使用频率阈值;
第一擦除次数阈值,主要是用于筛选擦除次数较高、且如果继续频繁进行擦除会超过设定(额定)擦除次数、影响Nand Flash寿命的物理块。第一擦除次数阈值可以根据经验进行设置,例如,取所有物理块的平均擦除次数(各个物理块的擦除次数求和后再除以物理块的个数)为第一擦除次数阈值。也可以根据设定(额定)擦除次数进行设置,例如,第一擦除次数阈值为设定(额定)擦除次数的百分之八十或百分之六十,具体比例可以自由确定。例如,根据Nand Flash所有物理块的平均擦除次数确定,如果Nand Flash所有物理块的平均擦除次数较低,则该比例也较低,设置第一擦除次数阈值为设定(额定)擦除次数的百分之六十;如果Nand Flash所有物理块的平均擦除次数较高,则该比例也较高,设置第一擦除次数阈值为设定(额定)擦除次数的百分之八十。另外,第一擦除次数阈值也可以为动态变化的数值,例如,将第一擦除次数阈值与Nand Flash所有物理块的平均擦除次数的进行关联,比如,设置第一擦除次数阈值为Nand Flash所有物理块的平均擦除次数的1.2倍,具体倍数,可以根据具体的情况进行设置。当Nand Flash所有物理块的平均擦除次数变化时,第一擦除次数阈值也会动态变化,进而调整第一物理块区间内包括不同的物理块。第二擦除次数阈值主要是用于筛选擦除次数较低的物理块。第二擦除次数阈值的设置与第一擦除次数阈值的设置相似,可以根据经验进行设置,也可以根据所有物理块的平均擦除次数进行设置,或者根据设定(额定)擦除次数进行设置。
由于物理块的擦除次数与映射的逻辑块的使用频率有关,为了达到NandFlash内各个物理块擦除次数的均衡,需要对物理块的擦除次数进行限制。因此,不能将使用频率高的逻辑块映射到擦除次数高的物理块上,而需要将使用频率较低的逻辑块映射到擦除次数高的物理块上。由上述分析可知,需要设置判断逻辑块使用频率的阈值,即设置第一使用频率阈值和第二使用频率阈值。第一使用频率阈值主要是用于筛选使用频率较低的逻辑块,第一使用频率阈值的设置,可以根据经验设置,也可以根据所有逻辑块的平均使用频率(各个逻辑块的使用频率求和后除以逻辑块的个数)进行设置。例如,设置第一使用频率阈值为Nand Flash所有逻辑块的平均使用频率的百分之二十或百分之三十。第二使用频率阈值主要是用于筛选使用频率较高的逻辑块,第二使用频率阈值的设置与第一使用频率阈值的设置也相似,可以根据经验设置,也可以根据所有逻辑块的平均使用频率(各个逻辑块的使用频率求和后除以逻辑块的个数)进行设置。
S102,根据所述第一擦除次数阈值、第二擦除次数阈值、第一使用频率阈值和第二使用频率阈值,将Nand Flash的物理块划入不同的物理块区间内;具体包括以下步骤:
将擦除次数高于所述第一擦除次数阈值的空闲物理块划入空闲物理块第一区间内;
将擦除次数低于所述第二擦除次数阈值的空闲物理块划入空闲物理块第二区间内;
当使用物理块映射有逻辑块时,该使用物理块的擦除次数高于第一擦除次数阈值、且被映射逻辑块的使用频率低于所述第一使用频率阈值,将该使用物理块划入到使用物理块第一区间;
当使用物理块映射有逻辑块时,该使用物理块的擦除次数低于第二擦除次数阀值、且被映射逻辑块的使用频率低于所述第一使用频率阀值,将该使用物理块划入到使用物理块第二区间;
当使用物理块映射有逻辑块时,该使用物理块的擦除次数低于第二擦除次数阈值、且被映射逻辑块的使用频率高于所述第二使用频率阈值,将该使用物理块划入到使用物理块第三区间内;
当使用物理块映射有逻辑块时,该使用物理块的擦除次数高于第一擦除次数阀值、且被映射逻辑块的使用频率高于所述第二使用频率阀值,将该使用物理块划入到使用物理块第四区间。
其中,擦除次数是指物理块被擦除的次数;使用频率是指在设定的时间内逻辑块被写的次数。使用频率可以通过计数器记录在设定时间内逻辑块被写的次数得到。另外,根据物理块的映射关系,物理块分为空闲物理块和使用物理块,空闲物理块为没有被逻辑块映射的物理块;使用物理块为被逻辑块映射的物理块。
S103,根据逻辑块的使用频率和原有映射关系,将逻辑块分别映射到相应物理块区间内的物理块上。逻辑块的原有映射关系包括逻辑块是否映射有物理块,以及当逻辑块映射有物理块时,被映射的物理块所属的物理块的区间。本步骤是对没有映射关系的逻辑块进行映射,对已有映射关系的逻辑块进行重性映射。
将逻辑块分别映射到相应物理块区间内的物理块上,具体包括以下步骤:
当所述逻辑块没有映射物理块、且所述逻辑块的使用频率高于所述第二使用频率时:
判断所述空闲物理块第二区间是否为空,不为空,则该逻辑块映射空闲物理块第二区间内的物理块A,并将物理块A放入到所述使用物理块的第三区间;如果为空,则判断所述使用物理块第二区间是否为空,如果否,则从所述使用物理块第二区间内取出其中的一个物理块B,同时取出所述空闲物理块第一区间的物理块C,将该逻辑块映射到物理块B,同时将物理块B放入到使用物理块的第三区间,将物理块B原来映射的逻辑块映射到物理块C上,并将物理块C放入到所述使用物理块第一区间;如果所述使用物理块的第二区间为空,则将该逻辑块映射到所述空闲物理块第一区间内的物理块D上,并将物理块D放入到所述使用物理块第四区间内。
当所述逻辑块没有映射物理块、且所述逻辑块的使用频率低于第一使用频率时:
判断所述空闲物理块第一区间是否为空,如果不为空,则该逻辑块映射到所述空闲物理块第一区间的物理块E,并将物理块E放入到所述使用物理块第一区间内;如果为空,则判断所述使用物理块第四区间是否为空,如果不为空,则从所述使用物理块第四区间内取出物理块F,并从所述空闲物理块第二区间的取出物理块G,将该逻辑块映射到物理块F,将物理块F放入到所述使用物理块第一区间,将物理块F原先被映射的逻辑块映射到物理块G,并将逻辑块G放入到使用物理块第三区间;如果所述使用物理块第四区间为空,则将该逻辑块映射到空闲物理块第二区间的物理块H,并将物理块H放入到使用物理块的第二区间。
当所述逻辑块映射有物理块、且被映射的物理块在使用物理块第一区间或第三区间内,则不进行重新映射,直接擦写被映射的物理块,再根据逻辑块的使用频率与被映射的物理块的擦除次数,将该物理块划分到使用物理块的相应物理块区间内。
当所述逻辑块映射有物理块、且被映射的物理块J在使用物理块第二区间内,则对所述逻辑块进行重新映射,包括以下步骤:
判断所述使用物理块第四区间是否为空,如果不为空,则取出该区间的物理块K,将所述物理块J和物理块K的映射关系互换,完成后,再根据使用频率和擦除次数,将所述物理块J和物理块K放入到相应的物理块区间内;如果所述使用物理块第四区间为空,则判断所述空闲物理块第一区间是否为空,如果不为空,则从所述空闲物理块第一区间取出物理块L,将所述逻辑块映射到物理块L上,同时将物理块J放入到空闲物理块第二区间,再根据物理块L的使用频率和擦除次数,放入到相应的物理块区间内;如果所述空闲物理块第一区间为空,则不进行重新映射,直接擦写原来物理块J。
当所述逻辑块映射有物理块、且被映射的物理块I在使用物理块第四区间,则对所述逻辑块进行重新映射,包括以下步骤:
判断所述使用物理块第二区间是否为空,如果不为空,则从所述使用物理块第二区间中取出物理块M,将物理块I和物理块M的映射关系进行互换,完成后再根据使用频率和擦除次数,将物理块I和M放入到相应的物理块区间内;如果所述使用物理块第二区间为空,则判断所述空闲物理块第二区间是否为空,如果不为空,则从所述空闲物理块第二区间取出的物理块N,将所述逻辑块重新映射到物理块N,同时将物理块I放入到空闲物理块第一区间,根据使用频率和擦除次数,将物理块N放入到使用物理块的相应区间内;如果所述空闲物理块第二区间为空,则不进行重新映射,直接擦写物理块I,并根据使用频率和擦除次数,将物理块I放入到使用相应的物理块区间内。
上述步骤中,在逻辑块重新映射物理块时,如果新的物理块原先被映射有逻辑块,则需要保存该物理块上所记录的信息。
另外,当完成逻辑地址写操作时,判断使用频率阀值或者擦除次数阀值是否已经改变,如果其中任何一个阀值改变,则需要重新遍历所有物理块,根据上述方法,将物理块重新划入到空闲物理块或使用物理块的相应区间内。
对于擦除次数介于第一擦除次数阈值和第二擦除次数阈值之间的物理块,以及使用频率介于第一使用频率阈值和第二使用频率阈值之间的逻辑块,由于这些物理块的擦除次数,及逻辑块的使用频率,相对于Nand Flash来说,就相对均衡,因此,这部分物理块与逻辑块的映射关系可以为任意一种逻辑块与物理块的映射方法,例如随机映射,或将使用频率由高到低的逻辑块依次映射到擦除次数由低到高的物理块上。无论采取哪种映射方式,由于这些逻辑块的使用频率都相对于与使用频率低于第一使用频率阈值的逻辑块较高,而相对于使用频率高于第二使用频率阈值的逻辑块较低,因此,与这些逻辑块有映射关系的物理块的擦除次数的较多,相对于其它物理块,都相对均衡。这样,就达到了均衡擦除的目的,也避免了因对擦除次数相对较高的物理块频繁进行擦除,造成影响Nand Flash寿命的问题。
需要说明的是,如果为了获得更好的均衡结果,还可以设置介于第一擦除次数阈值和第二擦除次数阈值之间由低到高的第三擦除次数阈值、第四擦除次数阈值......第M擦除次数阈值,其中,M为大于等于3的整数。设置介于第一使用频率阈值和第二使用频率阈值之间由高到低的第三使用频率阈值、第四使用频率阈值......第N使用频率阈值,其中,N为大于等于3的整数。然后根据上述擦除次数阈值和使用频率阈值,将Nand Flash的物理块划入不同的物理块区间,按照将使用频率高的逻辑块映射到擦除次数低的物理块,将使用频率低的逻辑块映射到擦除次数高的物理块的规则,进行地址映射。设置的擦除次数阈值和使用频率阈值越多,也就能更好的达到物理块擦除次数的均衡,不过,实现的步骤也就越复杂。
如图2所示,本发明实施例2涉及一种Nand Flash擦除均衡的方法,包括以下步骤:
步骤S201,设置第一擦除次数阈值,以及小于或等于所述第一擦除次数阈值的第二擦除次数阈值;设置第一使用频率阈值,以及大于或等于第一使用频率阈值的第二使用频率阈值;
步骤S202,根据所述第一擦除次数阈值、第二擦除次数阈值、第一使用频率阈值和第二使用频率阈值,将Nand Flash的物理块划入不同的物理块区间内;
步骤S203,根据逻辑块的使用频率和映射关系,将所述逻辑块映射到相应物理块区间内的物理块上。
步骤S201、S202、S203与实施例1相同,本实施例不再详细叙述。
由于Nand Flash具有按页写,按块擦除的特点,因此,在对Nand Flash进行写操作时,还存在地址重新映射的可能。地址重新映射的条件是:需要写的逻辑地址空间已经对应有物理地址,且所对应物理块的相应空间已经被写过(相当于映射关系改写操作);或,需要写的逻辑地址空间没有和物理地址进行映射(相当于映射关系追加操作)。在逻辑地址和物理地址重新映射时,根据低使用频率映射高擦除次数,高使用频率映射低擦除次数的原则进行映射。
在逻辑地址的重新映射过程中,当要被重新映射的物理块本身有逻辑块进行映射时,会涉及到两个物理块之间的替换,这样会大大降低效率。而文件系统的文件删除操作,只是更新目录和块分配表,没有真正的去删除文件,这样就会出现这样的情况,当所有逻辑地址都被操作一次过后,所有的物理地址都会有对应的逻辑地址进行映射,进行任何一次的重新映射都需要两块物理块间进行替换,极大减慢了写速度。为了解决这种情况,本发明还包括以下步骤:
步骤S204,当被识别的文件系统释放有物理块时,断开被释放物理块的映射关系。以FAT文件系统为例,FAT文件系统以簇为单位进行存储空间的分配,它使用了FAT表来分配所需要的存储空间,当删除文件时,就会更新FAT表(置标志位),将删除文件所对应的簇空间释放。通过检测FAT表的更新,当发现有物理块被释放时,就将与该物理块有映射关系的逻辑块和该物理块间的映射关系断开。通过上述操作,可以极大提高Nand Flash的写效率。当有不被识别的文件系统时,该步骤则不起作用,直接进行下述的写操作,虽然可能会降低Nand Flash的访问效率,但不影响Nand Flash进行正常操作。
在对Nand Flash进行写操作时,还包括以下步骤:
步骤S205,对物理块的每一页设置标志位,用于表示该页是否已经被写入。即,已经写入的页标志位置0,未写入的页标志位置1。
步骤S206,判断需要写的逻辑块是否映射有物理块,如果否,则需要对该逻辑块进行追加映射操作,将需要写的数据拷贝到写缓冲区的相应缓存内,转步骤S209;如果是,则转步骤S207。
步骤S207,由于Nand Flash是按页写,按块擦除,因此,在写入时,需要进一步判断该物理块要写入的页是否已经被写入,即判断该页的标志位是否为1,如果是,则无法在该页进行写操作,因此,需要对映射关系进行改写操作,则将所映射物理块内的有效数据读出缓存,将要写的数据拷贝到该缓存的相应地址内,转骤S209;如果否,则将要写的数据写入缓存中,转步骤S208。
步骤S208,从缓存中,将要写的数据写入到物理块相应的页中。
步骤S209,根据该逻辑块的使用频率,以及所述第一使用频率阈值和第二使用频率阈值,对该逻辑块进行映射。映射的方法为步骤S201~S204,然后转步骤S206,直至所有写操作结束。重新映射时,将需要写的逻辑块的使用次数加1,重新求平均使用频率,如果平均使用频率改变,则更新物理块的各个链表。根据高使用频率逻辑块映射低擦除次数物理块,低使用频率逻辑块映射高擦除次数物理块的原则找到需要映射的物理块。
在本实施例中,当第一擦除次数阈值等于第二擦除次数阈值,第一使用频率阈值等于第二使用频率阈值时,即为最简单的二分区地址映射法,将逻辑块使用频率分为高、低两种状态,使用频率大于平均使用频率的逻辑块为高使用频率逻辑块,小于或等于平均使用频率的逻辑地址为低使用频率逻辑块;物理块也分为高低两种状态,高于平均擦除次数的物理块划分为高擦除次数物理块,小于或等于平均擦除次数的物理块划为低擦除次数物理块。这样逻辑块和使用物理块的映射关系就可以分为四种情况:低使用频率低擦除次数;低使用频率高擦除次数;高使用频率低擦除次数;高使用频率低擦除次数。如图3所示,图中的黑点表示逻辑块和物理块的一对映射关系,坐标分别为逻辑块的使用频率和使用物理块的擦除次数,中间的虚线分别表示平均擦除次数和平均使用频率。要获得好的均衡效果,映射对要能尽可能的落入高使用频率低擦除次数、低使用频率高擦除次数的空间内。
为了实现上述操作,可以为物理块实现一个简单的数据结构:
struct
{
映射的逻辑块号;/*物理块所对应的逻辑块*/
块内可用page标识;/*指示块内哪些page是可用的(没有被写过)*/
擦除次数;/*物理块被擦除的次数*/
Pre指针;/*指向下一个物理块*/
Next指针;/*指向上一个物理块*/
};
逻辑块的数据结构定义如下:
struct
{
映射的物理块号;/*逻辑块所对应的物理块*/
使用频率;/*逻辑块的写次数*/
};
使用该方法,不用实现非常复杂的数据结构,就能获得非常好的均衡效果。
然后根据物理块的状态建立下面六个双向链表,即:低使用频率低擦除次数链表;低使用频率高擦除次数链表;高使用频率低擦除次数链表;高使用频率高擦除次数链表;低擦除次数空闲链表;高擦除次数空闲链表。只有当平均使用频率或平均擦写次数改变时,才重新遍历物理块重新构建链表,重新构建链表的概率为:(1*100/(block总数))%~(3*100/(block总数))%,以128MB的Nand Flash为例,Block总数为128*1024/(16)=8192,重新构建链表的概率0.01%~0.04%,因此对整体性能不会有影响。使用上述数据结构,所占用的内存空间为:(4*5+4*2)*8192/1024=224KB,使用的内存空间非常少。
初始化时根据各个物理块的参数分别将它们加入到不同的链表中。初始化流程如下:
步骤1、初始化物理参数,逻辑块参数;置物理块链表为空;开辟一块Block大小的写缓冲区。
步骤2、判断Nand Flash中是否设置过物理块参数(擦除次数,映射的逻辑块号,页使用标志位)和逻辑块参数(映射的物理块号,使用频率),如果没有设置上述参数,则表明该Nand Flash是初次使用本实施例的方法,则转步骤3,如果设置过上述参数,则转步骤4。
步骤3、将Nand Flash物理块全部擦除,更新物理块的擦除次数为1,映射关系为空,页的标志位为未被使用;更新逻辑块的映射关系为空,使用次数为0;更新各个物理块的相应Spare区域,将擦除次数置为1。转步骤5。
步骤4、读取物理块的参数,更新物理块参数;根据物理块与逻辑块的映射关系,更新逻辑块参数中的映射物理块号;计算平均擦除次数,遍历物理块,根据物理块擦除次数,更新被映射的逻辑块的使用次数。
步骤5、判断文件系统是否能识别,如果是,则检测文件分配表,转步骤6,否则转步骤7。
步骤6、根据分配表中的空闲物理块(断开映射关系的物理块),重新更新物理块和逻辑块参数。
步骤7、创建物理块链表:遍历物理块,根据映射关系、擦除次数、映射的逻辑块的使用频率,将物理块加入到不同的链表中。
步骤8、初始化完成。
物理块的参数(擦除次数,映射的逻辑块号,页使用标识)非常重要,必须要进行保存;对于逻辑块的参数(映射的物理块号,使用频率)、映射关系可以由物理块获得。使用频率在每次掉电重新启动后被重新设置,设置原则是:空闲逻辑块的初始使用次数为1,映射到高擦除次数的物理块的逻辑块的初始使用次数为0,映射到低擦除次数物理块的逻辑块的初始使用次数为1。这样的初始化依据是:使用均衡擦除方法,物理块基本都集中在低使用频率高擦除次数和高使用频率低擦除次数的空间,在初始化时将物理块映射到这两个空间与实际情况接近;空闲逻辑块的使用频率相对来说使用频率也较低。本发明将物理块的参数保存在每一个物理块的最后一个页的Spare区域中,在每次将物理块重新分配后都需要更新该Spare区域,由于Spare区域很小,与写数据区相比操作时机可以忽略。使用该方式可以在Nand Flash访问的过程中动态更新这些重要的参数,也不会影响访问效率。
经过上述步骤后的Nand Flash,进行读的流程包括以下步骤:
S1,将读地址按页进行划分,以页为单位进行读操作;有多个也则反复调用步骤S2-S5。
S2、判断需要读的页所对应的逻辑块是否映射有物理块,没有则转S3;如果有映射关系,转S4。
S3、将缓冲区所有字节置为0XFF,转S5。
S4、将逻辑块地址转换为物理块地址,再在该物理地址上加上访问页地址在块内的偏移,调用Nand Flash的读函数进行读操作。完成后转S5.
S5、读完成。
如图4所示,本发明实施例3涉及一种Nand Flash擦除均衡的装置,包括:
擦除次数阈值设置单元401,用于设置第一擦除次数阈值,以及小于或等于所述第一擦除次数阈值的第二擦除次数阈值;
使用频率阈值设置单元402,用于设置第一使用频率阈值,以及大于或等于第一使用频率阈值的第二使用频率阈值;
物理块区间划分单元403,分别与所述擦除次数阈值设置单元401和使用频率阈值设置单元402连接,用于根据所述第一擦除次数阈值、第二擦除次数阈值、第一使用频率阈值和第二使用频率阈值,将Nand Flash的物理块划入不同的物理块区间内;
地址映射单元404,分别与所述擦除次数阈值设置单元401、使用频率阈值设置单元402和物理块区间划分单元403连接,用于根据逻辑块的使用频率和原有映射关系,将逻辑块分别映射到相应物理块区间内的物理块上。
如图5所示,本发明实施例4涉及一种Nand Flash擦除均衡的装置,包括:
擦除次数阈值设置单元501,用于设置第一擦除次数阈值,以及小于或等于所述第一擦除次数阈值的第二擦除次数阈值;
使用频率阈值设置单元502,用于设置第一使用频率阈值,以及大于或等于第一使用频率阈值的第二使用频率阈值;
物理块区间划分单元503,分别与所述擦除次数阈值设置单元501和使用频率阈值设置单元502连接,用于根据所述第一擦除次数阈值、第二擦除次数阈值、第一使用频率阈值和第二使用频率阈值,将Nand Flash的物理块划入不同的物理块区间内;
地址映射单元504,分别与所述擦除次数阈值设置单元501、使用频率阈值设置单元502和物理块区间划分单元503连接,用于根据逻辑块的使用频率和原有映射关系,将逻辑块分别映射到相应物理块区间内的物理块上。
映射关系调整单元505,与地址映射单元504连接,用于当被识别的文件系统释放有物理块时,断开被释放物理块的映射关系。
映射关系判断单元506,与映射关系调整单元505连接,用于判断需要写的逻辑块是否映射有物理块;
页写入判断单元507,与映射关系判断单元506连接,用于判断物理块要写入的页是否已经被写入;
当映射关系判断单元506判定需要写的逻辑块没有映射有物理块时,则根据该逻辑块的使用频率,以及第一使用频率阈值和第二使用频率阈值,通过地址映射单元504对该逻辑块进行映射;
当映射关系判断单元506判定需要写的逻辑块映射有物理块时,则页写入判断单元507进一步判断该物理块要写入的页是否已经被写入,如果是,则根据该逻辑块的使用频率,以及第一使用频率阈值和第二使用频率阈值,通过地址映射单元504对该逻辑块进行映射;如果否,则对该物理块进行写操作。
标志位设置单元508,与页写入判断单元507连接,用于对物理块的每一页设置用于表示该页是否已经被写入的标志位。
由上述实施例可以看出,通过将擦除次数较高的物理块映射到使用频率较低的逻辑块上,限制擦除次数较高的物理块增加的擦除次数,将擦除次数低的物理块映射到使用频率高的逻辑块上,增加擦除次数低的物理块的擦除次数,对Nand Flash的各个物理块的擦除次数进行均衡,避免了因为部分物理块的擦除次数超过Nand Flash物理块的设置(额定)擦除次数,而造成Nand Flash的存储空间减少,最终达到提高Nand Flash寿命的目的。另外,通过对物理块的每一页设置标志位,对没有写的页直接进行写入,大大提高了Nand Flash写的速度。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
Claims (16)
1.一种Nand Flash擦除均衡的方法,其特征在于,所述方法包括以下步骤:
至少设置第一擦除次数阈值,以及小于或等于所述第一擦除次数阈值的第二擦除次数阈值;至少设置第一使用频率阈值,以及大于或等于第一使用频率阈值的第二使用频率阈值;
根据所述第一擦除次数阈值、第二擦除次数阈值、第一使用频率阈值和第二使用频率阈值,将Nand Flash的物理块划入不同的物理块区间内;
根据逻辑块的使用频率和原有的映射关系,将逻辑块分别映射到相应物理块区间内的物理块上。
2.如权利要求1所述的Nand Flash擦除均衡的方法,其特征在于,将NandFlash的物理块划入不同的物理块区间内,具体包括以下步骤:
将擦除次数高于所述第一擦除次数阈值的空闲物理块划入空闲物理块第一区间内;
将擦除次数低于所述第二擦除次数阈值的空闲物理块划入空闲物理块第二区间内。
3.如权利要求2所述的Nand Flash擦除均衡的方法,其特征在于,将NandFlash的物理块划入不同的物理块区间内,具体包括以下步骤:
将擦除次数高于第一擦除次数阈值、且被映射逻辑块的使用频率低于所述第一使用频率阈值的使用物理块划入到使用物理块第一区间;
将擦除次数低于第二擦除次数阀值、且被映射逻辑块的使用频率低于所述第一使用频率阀值的使用物理块划入到使用物理块第二区间;
将擦除次数低于第二擦除次数阈值、且被映射逻辑块的使用频率高于所述第二使用频率阈值的使用物理块划入到使用物理块第三区间内;
将擦除次数高于第一擦除次数阀值、且被映射逻辑块的使用频率高于所述第二使用频率阀值的使用物理块划入到使用物理块第四区间。
4.如权利要求3所述的Nand Flash擦除均衡的方法,其特征在于,将逻辑块分别映射到相应物理块区间内的物理块上,具体包括以下步骤:
当所述逻辑块没有映射物理块、且所述逻辑块的使用频率高于所述第二使用频率时:
判断所述空闲物理块第二区间是否为空,不为空,则该逻辑块映射空闲物理块第二区间内的物理块A,并将物理块A放入到所述使用物理块的第三区间;如果为空,则判断所述使用物理块第二区间是否为空,如果否,则从所述使用物理块第二区间内取出其中的一个物理块B,同时取出所述空闲物理块第一区间的物理块C,将该逻辑块映射到物理块B,同时将物理块B放入到使用物理块的第三区间,将物理块B原来映射的逻辑块映射到物理块C上,并将物理块C放入到所述使用物理块第一区间;如果所述使用物理块的第二区间为空,则将该逻辑块映射到所述空闲物理块第一区间内的物理块D上,并将物理块D放入到所述使用物理块第四区间内。
5.如权利要求3所述的Nand Flash擦除均衡的方法,其特征在于,将逻辑块分别映射到相应物理块区间内的物理块上,具体包括以下步骤:
当所述逻辑块没有映射物理块、且所述逻辑块的使用频率低于第一使用频率时:
判断所述空闲物理块第一区间是否为空,如果不为空,则该逻辑块映射到所述空闲物理块第一区间的物理块E,并将物理块E放入到所述使用物理块第一区间内;如果为空,则判断所述使用物理块第四区间是否为空,如果不为空,则从所述使用物理块第四区间内取出物理块F,并从所述空闲物理块第二区间的取出物理块G,将该逻辑块映射到物理块F,将物理块F放入到所述使用物理块第一区间,将物理块F原先被映射的逻辑块映射到物理块G,并将逻辑块G放入到使用物理块第三区间;如果所述使用物理块第四区间为空,则将该逻辑块映射到空闲物理块第二区间的物理块H,并将物理块H放入到使用物理块的第二区间。
6.如权利要求3所述的Nand Flash擦除均衡的方法,其特征在于,将逻辑块分别映射到相应物理块区间内的物理块上,具体包括以下步骤:
当所述逻辑块映射有物理块、且被映射的物理块在使用物理块第一区间或第三区间内,则不进行重新映射,直接擦写被映射的物理块,再根据逻辑块的使用频率与被映射的物理块的擦除次数,将该物理块划分到使用物理块的相应物理块区间内。
7.如权利要求3所述的Nand Flash擦除均衡的方法,其特征在于,将逻辑块分别映射到相应物理块区间内的物理块上,具体包括以下步骤:
当所述逻辑块映射有物理块、且被映射的物理块J在使用物理块第二区间内,则对所述逻辑块进行重新映射,包括以下步骤:
判断所述使用物理块第四区间是否为空,如果不为空,则取出该区间的物理块K,将所述物理块J和物理块K的映射关系互换,完成后,再根据使用频率和擦除次数,将所述物理块J和物理块K放入到相应的物理块区间内;如果所述使用物理块第四区间为空,则判断所述空闲物理块第一区间是否为空,如果不为空,则从所述空闲物理块第一区间取出物理块L,将所述逻辑块映射到物理块L上,同时将物理块J放入到空闲物理块第二区间,再根据物理块L的使用频率和擦除次数,放入到相应的物理块区间内;如果所述空闲物理块第一区间为空,则不进行重新映射,直接擦写原来物理块J。
8.如权利要求3所述的Nand Flash擦除均衡的方法,其特征在于,将逻辑块分别映射到相应物理块区间内的物理块上,具体包括以下步骤:
当所述逻辑块映射有物理块、且被映射的物理块I在使用物理块第四区间,则对所述逻辑块进行重新映射,包括以下步骤:
判断所述使用物理块第二区间是否为空,如果不为空,则从所述使用物理块第二区间中取出物理块M,将物理块I和物理块M的映射关系进行互换,完成后再根据使用频率和擦除次数,将物理块I和M放入到相应的物理块区间内;如果所述使用物理块第二区间为空,则判断所述空闲物理块第二区间是否为空,如果不为空,则从所述空闲物理块第二区间取出的物理块N,将所述逻辑块重新映射到物理块N,同时将物理块I放入到空闲物理块第一区间,根据使用频率和擦除次数,将物理块N放入到使用物理块的相应区间内;如果所述空闲物理块第二区间为空,则不进行重新映射,直接擦写物理块I,并根据使用频率和擦除次数,将物理块I放入到使用相应的物理块区间内。
9.如权利要求1所述的Nand Flash擦除均衡的方法,其特征在于,在将所述逻辑块映射到相应物理块区间内的物理块上之后,进行写操作时,包括以下步骤:
判断需要写的逻辑块是否映射有物理块,如果否,则根据该逻辑块的使用频率,以及所述第一使用频率阈值和第二使用频率阈值,对该逻辑块进行映射;如果是,则进一步判断该物理块要写入的页是否已经被写入,如果是,则根据该逻辑块的使用频率,以及所述第一使用频率阈值和第二使用频率阈值,对该逻辑块进行重新映射,如果否,则对该物理块进行写操作。
10.如权利要求9所述的Nand Flash擦除均衡的方法,其特征在于,当完成写操作后,当所述第一使用频率阈值、第二使用频率阈值、第一擦除次数阈值和第二擦除次数阈值中的任何一个发生改变,则重新遍历Nand Flash的所有物理块,将物理块重新划入不同的物理块区间内。
11.如权利要求9所述的Nand Flash擦除均衡的方法,其特征在于,在判断需要写的逻辑块是否映射有物理块之前,还包括:
当被识别的文件系统释放有物理块时,断开被释放物理块的映射关系。
12.如权利要求9所述的Nand Flash擦除均衡的方法,其特征在于,在进行写操作之前,还包括以下步骤:
对所述物理块的每一页设置标志位,用于表示该页是否已经被写入。
13.一种Nand Flash擦除均衡的装置,其特征在于,所述装置包括:
擦除次数阈值设置单元,用于设置第一擦除次数阈值,以及小于或等于所述第一擦除次数阈值的第二擦除次数阈值;
使用频率阈值设置单元,用于设置第一使用频率阈值,以及大于或等于第一使用频率阈值的第二使用频率阈值;
物理块区间划分单元,用于根据所述第一擦除次数阈值、第二擦除次数阈值、第一使用频率阈值和第二使用频率阈值,将Nand Flash的物理块划入不同的物理块区间内;
地址映射单元,用于根据逻辑块的使用频率和原有映射关系,将逻辑块分别映射到相应物理块区间内的物理块上。
14.如权利要求13所述的Nand Flash擦除均衡的装置,其特征在于,所述装置还包括:
映射关系判断单元,用于判断需要写的逻辑块是否映射有物理块;
页写入判断单元,用于判断物理块要写入的页是否已经被写入;
当所述映射关系判断单元判定需要写的逻辑块没有映射有物理块时,则根据该逻辑块的使用频率,以及所述第一使用频率阈值和第二使用频率阈值,通过所述地址映射单元对该逻辑块进行重新映射;
当映射关系判断单元判定需要写的逻辑块映射有物理块时,则页写入判断单元进一步判断该物理块要写入的页是否已经被写入,如果是,则根据该逻辑块的使用频率,以及所述第一使用频率阈值和第二使用频率阈值,通过所述地址映射单元对该逻辑块进行重新映射;如果否,则对该物理块进行写操作。
15.如权利要求14所述的Nand Flash擦除均衡的装置,其特征在于,所述装置还包括:
映射关系调整单元,用于当被识别的文件系统释放有物理块时,断开所述被释放物理块的映射关系。
16.如权利要求14所述的Nand Flash擦除均衡的装置,其特征在于,所述装置还包括:
标志位设置单元,用于对所述物理块的每一页设置用于表示该页是否已经被写入的标志位。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910260369 CN101740110B (zh) | 2009-12-17 | 2009-12-17 | 一种Nand Flash擦除均衡的方法及装置 |
PCT/CN2010/076681 WO2011072538A1 (zh) | 2009-12-17 | 2010-09-07 | Nandflash擦除均衡的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910260369 CN101740110B (zh) | 2009-12-17 | 2009-12-17 | 一种Nand Flash擦除均衡的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101740110A true CN101740110A (zh) | 2010-06-16 |
CN101740110B CN101740110B (zh) | 2013-06-12 |
Family
ID=42463444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910260369 Active CN101740110B (zh) | 2009-12-17 | 2009-12-17 | 一种Nand Flash擦除均衡的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101740110B (zh) |
WO (1) | WO2011072538A1 (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011072538A1 (zh) * | 2009-12-17 | 2011-06-23 | 中兴通讯股份有限公司 | Nandflash擦除均衡的方法及装置 |
WO2012167642A1 (en) * | 2011-06-09 | 2012-12-13 | Tsinghua University | Wear leveling method and apparatus |
CN103218177A (zh) * | 2013-04-19 | 2013-07-24 | 杭州电子科技大学 | 具有数据均衡处理功能的NAND Flash存储系统 |
CN104156317A (zh) * | 2014-08-08 | 2014-11-19 | 浪潮(北京)电子信息产业有限公司 | 一种非易失性闪存的擦写管理方法及系统 |
US9405670B2 (en) | 2011-06-09 | 2016-08-02 | Tsinghua University | Wear leveling method and apparatus |
CN106294202A (zh) * | 2015-06-12 | 2017-01-04 | 联想(北京)有限公司 | 一种数据存储方法和装置 |
CN106354718A (zh) * | 2015-07-13 | 2017-01-25 | 中国移动通信集团公司 | 用户识别模块的文件管理方法及装置 |
CN106909318A (zh) * | 2013-12-23 | 2017-06-30 | 华为技术有限公司 | 固态硬盘使用方法及装置 |
CN107291625A (zh) * | 2017-06-19 | 2017-10-24 | 济南浪潮高新科技投资发展有限公司 | 一种用于Nand Flash的指针式逻辑地址映射表实现方法 |
WO2017215137A1 (zh) * | 2016-06-14 | 2017-12-21 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法、装置及系统 |
CN109119108A (zh) * | 2018-08-15 | 2019-01-01 | 杭州阿姆科技有限公司 | 一种提高Nand寿命的方法 |
CN109164990A (zh) * | 2018-09-13 | 2019-01-08 | 东信和平科技股份有限公司 | 一种存储器数据更新方法、装置、设备及存储介质 |
CN110175385A (zh) * | 2019-05-20 | 2019-08-27 | 山东大学 | 一种基于性能磨损均衡的非易失fpga布局优化方法和系统 |
CN110799935A (zh) * | 2018-12-04 | 2020-02-14 | 深圳市大疆创新科技有限公司 | 数据存储方法、闪存设备、智能电池、可移动平台 |
CN111949569A (zh) * | 2019-05-17 | 2020-11-17 | 北京兆易创新科技股份有限公司 | 一种存储设备及其控制方法和控制装置 |
CN112068769A (zh) * | 2020-07-28 | 2020-12-11 | 深圳市宏旺微电子有限公司 | 闪存设备双向链表管理方法和闪存存储设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7096313B1 (en) * | 2002-10-28 | 2006-08-22 | Sandisk Corporation | Tracking the least frequently erased blocks in non-volatile memory systems |
CN100565477C (zh) * | 2007-12-06 | 2009-12-02 | 浙江科技学院 | 一种NAND Flash存储器的动态管理方法 |
CN101369252A (zh) * | 2008-09-16 | 2009-02-18 | 浙江大学 | 基于nand闪存文件系统中静态数据损耗均衡的方法 |
CN101740110B (zh) * | 2009-12-17 | 2013-06-12 | 中兴通讯股份有限公司 | 一种Nand Flash擦除均衡的方法及装置 |
-
2009
- 2009-12-17 CN CN 200910260369 patent/CN101740110B/zh active Active
-
2010
- 2010-09-07 WO PCT/CN2010/076681 patent/WO2011072538A1/zh active Application Filing
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011072538A1 (zh) * | 2009-12-17 | 2011-06-23 | 中兴通讯股份有限公司 | Nandflash擦除均衡的方法及装置 |
WO2012167642A1 (en) * | 2011-06-09 | 2012-12-13 | Tsinghua University | Wear leveling method and apparatus |
US9405670B2 (en) | 2011-06-09 | 2016-08-02 | Tsinghua University | Wear leveling method and apparatus |
CN103218177A (zh) * | 2013-04-19 | 2013-07-24 | 杭州电子科技大学 | 具有数据均衡处理功能的NAND Flash存储系统 |
CN106909318B (zh) * | 2013-12-23 | 2020-05-08 | 华为技术有限公司 | 固态硬盘使用方法及装置 |
CN106909318A (zh) * | 2013-12-23 | 2017-06-30 | 华为技术有限公司 | 固态硬盘使用方法及装置 |
US10310930B2 (en) | 2013-12-23 | 2019-06-04 | Huawei Technologies Co., Ltd. | Solid state disk using method and apparatus |
CN104156317A (zh) * | 2014-08-08 | 2014-11-19 | 浪潮(北京)电子信息产业有限公司 | 一种非易失性闪存的擦写管理方法及系统 |
CN106294202A (zh) * | 2015-06-12 | 2017-01-04 | 联想(北京)有限公司 | 一种数据存储方法和装置 |
CN106354718A (zh) * | 2015-07-13 | 2017-01-25 | 中国移动通信集团公司 | 用户识别模块的文件管理方法及装置 |
CN106354718B (zh) * | 2015-07-13 | 2021-05-25 | 中国移动通信集团公司 | 用户识别模块的文件管理方法及装置 |
WO2017215137A1 (zh) * | 2016-06-14 | 2017-12-21 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法、装置及系统 |
US10545808B2 (en) | 2016-06-14 | 2020-01-28 | Hangzhou Hikvision Digital Technology Co., Ltd. | Method, apparatus and system for processing data |
CN107291625A (zh) * | 2017-06-19 | 2017-10-24 | 济南浪潮高新科技投资发展有限公司 | 一种用于Nand Flash的指针式逻辑地址映射表实现方法 |
CN107291625B (zh) * | 2017-06-19 | 2020-06-09 | 济南浪潮高新科技投资发展有限公司 | 一种用于Nand Flash的指针式逻辑地址映射表实现方法 |
CN109119108A (zh) * | 2018-08-15 | 2019-01-01 | 杭州阿姆科技有限公司 | 一种提高Nand寿命的方法 |
CN109164990A (zh) * | 2018-09-13 | 2019-01-08 | 东信和平科技股份有限公司 | 一种存储器数据更新方法、装置、设备及存储介质 |
CN109164990B (zh) * | 2018-09-13 | 2022-03-29 | 东信和平科技股份有限公司 | 一种存储器数据更新方法、装置、设备及存储介质 |
CN110799935A (zh) * | 2018-12-04 | 2020-02-14 | 深圳市大疆创新科技有限公司 | 数据存储方法、闪存设备、智能电池、可移动平台 |
CN111949569A (zh) * | 2019-05-17 | 2020-11-17 | 北京兆易创新科技股份有限公司 | 一种存储设备及其控制方法和控制装置 |
CN110175385A (zh) * | 2019-05-20 | 2019-08-27 | 山东大学 | 一种基于性能磨损均衡的非易失fpga布局优化方法和系统 |
CN112068769A (zh) * | 2020-07-28 | 2020-12-11 | 深圳市宏旺微电子有限公司 | 闪存设备双向链表管理方法和闪存存储设备 |
CN112068769B (zh) * | 2020-07-28 | 2023-11-14 | 深圳市宏旺微电子有限公司 | 闪存设备双向链表管理方法和闪存存储设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2011072538A1 (zh) | 2011-06-23 |
CN101740110B (zh) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101740110B (zh) | 一种Nand Flash擦除均衡的方法及装置 | |
US10275162B2 (en) | Methods and systems for managing data migration in solid state non-volatile memory | |
CN103092766B (zh) | 一种用于nand flash的均衡损耗实现方法 | |
CN103559138B (zh) | 固态硬盘及其空间管理方法 | |
CN100492322C (zh) | 非易失性存储系统中的损耗平衡 | |
CN101169751B (zh) | 具有闪存设备的系统及其数据恢复方法 | |
CN103049397B (zh) | 一种基于相变存储器的固态硬盘内部缓存管理方法及系统 | |
CN100565477C (zh) | 一种NAND Flash存储器的动态管理方法 | |
KR100823171B1 (ko) | 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법 | |
CN103562842B (zh) | 用于存储设备的用低预留空间实现低写入放大的方法 | |
US9753847B2 (en) | Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping | |
CN101425041B (zh) | 在nand flash存储器上建立fat文件系统的优化方法 | |
US20080189490A1 (en) | Memory mapping | |
CN101169760B (zh) | 电子硬盘的存储空间的管理方法 | |
CN102779096B (zh) | 一种基于页块面三维的闪存地址映射方法 | |
CN105095116A (zh) | 缓存替换的方法、缓存控制器和处理器 | |
US20130166828A1 (en) | Data update apparatus and method for flash memory file system | |
CN109582593B (zh) | 一种基于计算的ftl地址映射读、写方法 | |
WO2014074449A2 (en) | Wear leveling in flash memory devices with trim commands | |
CN102789427A (zh) | 数据储存装置与其操作方法 | |
CN104156317A (zh) | 一种非易失性闪存的擦写管理方法及系统 | |
CN101727295A (zh) | 一种基于虚拟块闪存地址映射的数据写入及读出方法 | |
CN101714065A (zh) | 一种闪存控制器的映射信息管理方法 | |
CN106873912A (zh) | Tlc芯片固态硬盘的动态分区存储方法及装置、系统 | |
US20100287330A1 (en) | Method for writing data into flash memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |