CN117435517A - 一种存储器件及其数据处理方法 - Google Patents
一种存储器件及其数据处理方法 Download PDFInfo
- Publication number
- CN117435517A CN117435517A CN202311744274.7A CN202311744274A CN117435517A CN 117435517 A CN117435517 A CN 117435517A CN 202311744274 A CN202311744274 A CN 202311744274A CN 117435517 A CN117435517 A CN 117435517A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- factor
- garbage collection
- memory block
- data
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 15
- 230000014759 maintenance of location Effects 0.000 claims abstract description 61
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000011084 recovery Methods 0.000 claims abstract description 14
- 230000001133 acceleration Effects 0.000 claims description 16
- 238000012937 correction Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 6
- 238000004064 recycling Methods 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 235000012149 noodles Nutrition 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Classifications
-
- 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
- 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/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
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)
Abstract
本发明涉及存储器件领域,特别是涉及一种存储器件及其数据处理方法,存储器件,包括:快闪存储器,包括多个闪存块,用以存放存储数据;以及控制器,电性连接于快闪存储器,控制器用以接收主机的存储数据;在快闪存储器上,控制器计算每个闪存块的垃圾回收等级,以选取垃圾回收等级的值最大的闪存块作为源闪存块,并对源闪存块执行垃圾回收处理;垃圾回收等级满足:垃圾回收等级=α×垃圾回收因子+β×读取干扰因子+δ×数据保持能力因子。本发明可对存储器件的垃圾回收的过程进行精细化管理,兼顾了垃圾回收效率和产品寿命,提高了闪存块的垃圾回收效率。
Description
技术领域
本发明涉及存储器件领域,特别是涉及一种存储器件及其数据处理方法。
背景技术
以NAND FLASH闪存作为存储介质的存储器相较于传统的磁盘来讲,具有写入数据之前必须先将存储单元擦除的特点。其中擦除操作以闪存块为单位进行,写入操作以闪存页为单位,闪存块是由闪存页组成。在使用过程中,由于可用的闪存块不足、读取干扰(readdisturb)或者数据保持(data retention)等因素,需要将闪存块中的有效数据搬到另外一个闪存块,然后再将这个闪存块重新擦除使用。这个过程称之为垃圾回收(GarbageCollection,以下简称为GC),这个过程会占用NAND FLASH的带宽,影响产品性能。因此为了尽可能减少对读写性能的影响,需要对垃圾回收的过程进行精细化管理。
现有技术中,进行垃圾回收的闪存块定义为源闪存块,而对于源闪存块的选择,大都是选择包含有效数据个数最少的闪存块,或者单独考虑read disturb的影响,单独考虑data retention的影响,上述方式影响了存储设备的读写性能,无法达到垃圾回收效率和产品寿命的平衡。因此,存在待改进之处。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种存储器件及其数据处理方法,用以解决现有技术中垃圾回收影响,存储设备的读写性能,无法达到垃圾回收效率和产品寿命平衡的技术问题。
为实现上述目的及其他相关目的,本发明提供一种存储器件,包括:
快闪存储器,包括多个闪存块,用以存放存储数据;以及
控制器,电性连接于所述快闪存储器,所述控制器用以接收主机的所述存储数据;
在所述快闪存储器上,所述控制器计算每个所述闪存块的垃圾回收等级,以选取所述垃圾回收等级的值最大的所述闪存块作为源闪存块,并对所述源闪存块执行垃圾回收处理;
所述垃圾回收等级满足:垃圾回收等级=α×垃圾回收因子+β×读取干扰因子+δ×数据保持能力因子;
其中,所述垃圾回收因子表征所述闪存块的垃圾回收效率,所述读取干扰因子表征所述闪存块产生读取干扰的概率,所述数据保持能力因子表征所述闪存块的产生错误纠正代码的概率,所述α、β和δ为调整因子。
在本发明一实施例中,所述控制器设定所述源闪存块的垃圾回收因子,所述垃圾回收因子满足:
垃圾回收因子=垃圾回收加速因子×垃圾回收效率
其中,所述垃圾回收加速因子与可用的所述闪存块的数量相关。
在本发明一实施例中,所述控制器设定所述闪存块的读取干扰因子,所述读取干扰因子满足:
读取干扰因子=读取次数/读取干扰阈值
其中,所述读取次数表征所述闪存块被读取的次数,所述读取干扰阈值表示造成所述闪存块因读取干扰产生产生错误控制检查的读取次数。
在本发明一实施例中,所述控制器设定所述闪存块的数据保持能力因子,所述数据保持能力因子满足:
数据保持能力因子=原始误码数量/数据保持阈值
其中,所述原始误码数量表征所述闪存块在未进行纠错时存储数据中的误码数量,所述数据保持阈值表征所述闪存块的数据保存能力阈值。
在本发明一实施例中,所述控制器还用以对所述源闪存块进行搬运处理,搬运处理包括:
读取所述源内存块内的有效数据,并将所述有效数据保存至目标内存块;
更新固件映射表、所述源内存块的有效数据变量以及所述目标内存块的有效数据变量。
在本发明一实施例中,所述控制器还用以判断搬运处理后所述源内存块的有效数据变量是否为0;
当所述源内存块的有效数据变量不为0时,所述控制器再次执行搬运处理;
当所述源内存块的有效数据变量为0时,所述控制器对所述源内存块进行内存释放处理。
本发明还提供一种存储器件的数据处理方法,包括:
通过快闪存储器上的多个闪存块,存放存储数据;
通过控制器电性连接于所述快闪存储器;
通过所述控制器接收主机写入的所述存储数据;以及
在所述快闪存储器上,所述控制器计算每个所述闪存块的垃圾回收等级,以选取所述垃圾回收等级的值最大的所述闪存块作为源闪存块,并对所述源闪存块执行垃圾回收处理;
所述垃圾回收等级满足:垃圾回收等级=α×垃圾回收因子+β×读取干扰因子+δ×数据保持能力因子;
其中,所述垃圾回收因子表征所述闪存块的垃圾回收效率,所述读取干扰因子表征所述闪存块产生读取干扰的概率,所述数据保持能力因子表征所述闪存块的产生错误纠正代码的概率,所述α、β和δ为调整因子。
在本发明一实施例中,所述所述控制器计算每个所述闪存块的垃圾回收等级变量的步骤,包括:
通过所述控制器,设定所述源闪存块的垃圾回收因子;
所述垃圾回收因子满足:垃圾回收因子=垃圾回收加速因子×垃圾回收效率;
其中,所述垃圾回收加速因子与可用的所述闪存块的数量相关。
在本发明一实施例中,所述所述控制器计算每个所述闪存块的垃圾回收等级变量的步骤,还包括:
通过所述控制器,设定所述闪存块的读取干扰因子;
所述读取干扰因子满足:读取干扰因子=读取次数/读取干扰阈值;
其中,所述读取次数表征所述闪存块被读取的次数,所述读取干扰阈值表示造成所述闪存块因读取干扰产生产生错误控制检查的读取次数。
在本发明一实施例中,所述所述控制器计算每个所述闪存块的垃圾回收等级变量的步骤,还包括:
通过所述控制器,设定所述闪存块的数据保持能力因子;
所述数据保持能力因子满足:数据保持能力因子=原始误码数量/数据保持阈值;
其中,所述原始误码数量表征所述闪存块在未进行纠错时存储数据中的误码数量,所述数据保持阈值表征所述闪存块的数据保存能力阈值。
如上所述,本发明的一种存储器件及其数据处理方法,具有以下有益效果:本发明可对存储器件的垃圾回收的过程进行精细化管理,兼顾了垃圾回收效率和产品寿命,提高了闪存块的垃圾回收效率。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1显示为本发明提供的一种存储器件的结构示意图。
图2显示为本发明提供的一种存储器件中逻辑单元的结构示意图。
图3显示为本发明一实施例中垃圾回收处理有效数据搬移的过程图。
图4显示为本发明一实施例中垃圾回收加速因子和可用闪存块数量的关系图。
图5显示为本发明一种存储器件数据处理方法的步骤示意图。
图6显示为本发明图5中步骤S400的又一步骤示意图。
图7显示为本发明图5中步骤S400的又一步骤示意图。
元件标号说明
100、主机;200、存储器件;300、控制器;400、快闪存储器;
410、芯片;420、逻辑单元;430、面;440、闪存块;450、闪存页;460、页寄存器;470、高速缓存寄存器。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其它优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。还应当理解,本发明实施例中使用的术语是为了描述特定的具体实施方案,而不是为了限制本发明的保护范围。下列实施例中未注明具体条件的试验方法,通常按照常规条件,或者按照各制造商所建议的条件。
须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容所能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
请参阅图1至图6所示,在本发明的一个实施例中,本发明提供一种存储器件及其数据处理方法,可应用于无DRAM(Dynamic Random Access Memory,动态随机存取存储器)的存储设备领域,例如,可应用于eMMC(embedded Multi Media Card,嵌入式多媒体控制器)或SD(Secure Digital,安全数字)卡中,以实现对快闪存储器400中多个闪存块(block)440的垃圾回收处理进行控制。本发明可对存储器件的垃圾回收的过程进行精细化管理,兼顾了垃圾回收效率和产品寿命,尽可能减少对读写性能的影响。下面通过具体的实施例进行详细的描述。
请参阅图1、图2,在本发明的一个实施例中,本发明提出一种存储器件200,可包括控制器300和快闪存储器400。其中,控制器300可与主机100电性连接,控制器300用以接收主机100写入的存储数据。控制器300可与快闪存储器400电性连接,控制器300用以将存储数据传输至快闪存储器400上。快闪存储器400上可包括多个闪存块440(block)。闪存块440可用以存放存储数据。一个闪存块440上可包括多个闪存页(page)450。闪存块440在写入数据(program)前需要进行擦除数据(erase)处理,写入数据操作以闪存页450为最小单位,擦除数据操作以闪存块440为最小单位。在实际使用过程中,由于可用的闪存块440不足,或者读取干扰(read disturb),数据保持(data retention)等因素,可触发控制器300执行闪存块440的垃圾回收处理。
请参阅图3,在本发明的一个实施例中,源闪存块510存放有存储数据,其可包括多个占用闪存页511和多个闲置闪存页512。其中,占用闪存页511中存储有有效数据,闲置闪存页512中为无效数据。本实施例中,控制器300执行源闪存块510的垃圾回收处理,即将源闪存块510存储的有效数据搬运至目标闪存块520中。本实施例中,垃圾回收处理过程可以包括源闪存块510的选择、源闪存块510中的有效数据的定位、源闪存块510中的有效数据的读取、源闪存块510中的有效数据写入到目标闪存块520以及释放源闪存块510五个操作过程。源闪存块510即为需要进行垃圾回收处理的闪存块440。
请参阅图1和图2所示,在本发明的一个实施例中,控制器300可计算每个闪存块440的垃圾回收等级(Block_gc_level),并选取垃圾回收等级值最大对应的闪存块440作为源闪存块510,并对其执行垃圾回收处理。垃圾回收等级(Block_gc_level)可包括三个模块,分别为:垃圾回收因子(GC_Factor)、读取干扰因子(RD_Factor)以及数据保持能力因子(DR_Factor)。其中,垃圾回收因子表征闪存块440的垃圾回收效率,读取干扰因子表征闪存块440的产生读取干扰(read disturb)的概率,数据保持能力因子表征闪存块400的产生Uncorrectable ECC(Error Correcting Code,错误纠正代码)的概率。垃圾回收等级可满足:垃圾回收等级(Block_gc_level)=α×垃圾回收因子(GC_Factor)+β×读取干扰因子(RD_Factor)+δ×数据保持能力因子(DR_Factor)。其中,α为垃圾回收因子的调整因子,β为读取干扰因子的调整因子,δ为数据保持能力因子的调整因子。本实施例中,α,β,δ的取值可为1。本发明通过将垃圾回收的效率,read disturb,data retention等因素综合考量,可实现平衡多个因素,简化垃圾回收的过程的有益效果。
请参阅图4所示,在本发明的一个实施例中,控制器300可设定闪存块440的垃圾回收因子(GC_Factor)。垃圾回收因子可满足:垃圾回收因子(GC_Factor)=垃圾回收加速因子(GC_AF)×垃圾回收效率(GC_Eff)。本实施例中,垃圾回收加速因子(GC_AF)与快闪存储器400中可用的闪存块440的数量a之间存在预设对应关系。例如,当可用的闪存块440的数量a大于或等于16个时,垃圾回收加速因子为0;当可用的闪存块440的数量a在6~15个的范围之间时,垃圾回收加速因子为(16-a)/10;当可用闪存块440的数量a在1~5个的范围之间时,垃圾回收加速因子为6/a。闪存块440的垃圾回收效率可满足:垃圾回收效率(GC_Eff)=无效数据个数/(有效数据个数+无效数据个数)。由上式可知,有效数据个数最少的闪存块440的垃圾回收效率为最高。
在本发明的一个实施例中,控制器300可设定闪存块440的读取干扰因子(RD_Factor)。闪存块440中的闪存页450在受到一定量的读取操作后,可能会导致同一闪存块440中的其它闪存页450产生干扰。并且随着读取次数的增加,干扰效果也会更加严重,即读取干扰(read disturb,RD)现象。对于一些冷数据,即不会经常更新的数据,例如操作系统的某些数据,在实际运行中只有读取操作,而没有更新操作,这就导致冷数据所在的闪存块440中有效数据个数始终比较高,在进行垃圾回收处理时,不会选择到这样的闪存块440作为源闪存块。这一类型的闪存块440的读取干扰的效应一直在积累,直到超过阈值后,将出现Uncorrectable ECC(Error Correcting Code,错误纠正代码),即无法通过错误纠正代码进行修复的内存错误。本实施例中,读取干扰因子满足:读取干扰因子(RD_Factor)=读取次数/读取干扰阈值。其中,读取次数表征闪存块440被读取的次数,读取干扰阈值表示造成闪存块440出现因读取干扰产生错误控制检查的读取次数。
在本发明的一个实施例中,控制器300可设定数据保持能力因子(DR_Factor)。闪存块440是依靠浮栅结构或者电荷俘获结构中是否存储电荷,以及存储电荷的数量来保存数据。但是存储的电荷会随着时间逐渐流失,造成闪存块440中存储的数据发生比特翻转,如果比特翻转超过了控制器300的纠错能力,就会出现Uncorrectable ECC(ErrorCorrecting Code,错误纠正代码),将对闪存块440的数据保存能力(Data Retention,简称DR)产生影响。本实施例中,数据保持能力因子满足:数据保持能力因子(DR_Factor)=原始误码数量/数据保持阈值。其中,原始误码数量(Raw Error Bit Count,RBEC)表征闪存块440在未进行纠错时存储数据中的误码数量,数据保持阈值表征闪存块440的数据保存能力阈值。
在本发明的一个实施例中,控制器300设定每个内存块440的垃圾回收因子(GC_Factor)、读取干扰因子(RD_Factor)以及数据保持能力因子(DR_Factor),然后根据垃圾回收等级公式计算出每个内存块440的垃圾回收等级,并对垃圾回收等级的大小进行排列顺序,将其中垃圾回收等级的值最大的闪存块440选为源闪存块510。垃圾回收等级变量的值越大,意味着对应的闪存块440越应该尽早启动有效数据的搬移工作。
请参阅图3,在本发明的一个实施例中,当控制器300选择出源闪存块510后,需对源闪存块510进行释放处理。每个闪存块440都存在一个用于记录有效数据个数的变量,即Block_Valid_Count(有效数据变量)。在Block_Valid_Count等于0时,即表明该闪存块440中已经不存在有效数据,此时可对该闪存块440进行释放处理。而对于无DRAM的存储设备,例如eMMC,SD卡,闪存块440中的有效数据个数在减少时,其Block_Valid_Count的值减少存在滞后性。如图3中,源闪存块510中的4个有效数据搬到目标闪存块520,目标闪存块520的Block_Valid_Count将增加4,但是源闪存块的Block_Valid_Count存在并没有立即减去4的情况,而是需要在刷新固件映射表时才能将源闪存块的Block_Valid_Count的值减去4。由此可知。闪存块440的Block_Valid_Count较真实有效数据个数偏大,只能粗略地描述有效数据的真实个数。本实施例中,控制器300首先对源闪存块520进行搬运处理。具体的,控制器300搜索源闪存块510内的有效数据,并将有效数据进行读取以保存至目标闪存块520;然后再更新固件映射表、源闪存块510的有效数据变量以及目标闪存块520的有效数据变量。
进一步的,为提升闪存块440的释放效率,在本发明的一个实施例中,控制器300还用于判断搬运处理后源闪存块510的有效数据变量是否为0;当所述源内存块的有效数据变量不为0时,控制器300再次执行搬运处理;当源闪存块510的有效数据变量为0时,所述控制器300结束进行搬运处理,并对源内存块510进行内存释放处理。由此可知,控制器300循环执行闪存块440的释放操作,如果源闪存块510的Block_Valid_Count被减少到0,就停止该循环,可以直接释放源闪存块510;否则,控制器300就一直循环执行搬运处理操作,直到将源闪存块510被全部搜索一遍,且所有的有效数据全部搬走,此时即便是源闪存块510的有效数据变量未减少到0,也可以将源闪存块510释放为可用闪存块。
请参阅图1和图2所示,在本发明的一些实施例中,控制器300可包括总线接口310、处理单元320、指令缓冲单元330、静态随机存储单元340、快闪存储器接口350、缓冲存储单元350和动态随机存储单元360。其中,总线接口310实现主机100和控制器300之间电性连接。处理单元320是控制器300的运算和控制核心,是信息处理、程序运行的最终执行单元。静态随机存储单元340、缓冲存储单元360和动态随机存储单元370是控制器300中数据的存储单元。快闪存储器接口350实现控制器300和快闪存储器400之间电性连接。
请参阅图1和图2所示,在本发明的一个实施例中,快闪存储器400可为封装好的NAND快闪存储器(package)。一个快闪存储器400可包括多个芯片(target)410,一个芯片410可包括多个逻辑单元(lun或die)420。一个芯片410中的一个或者多个逻辑单元420共享一组数据信号。每个芯片410都由一个ce(chip enable,片选信号)引脚控制,即一个芯片410上的多个逻辑单元420共享一个片选信号。逻辑单元420是执行读写命令的最小单元,不同的逻辑单元420可执行不同的命令序列。一个逻辑单元420可包括多个面(plane)430,每个面430具有独立的页寄存器(page register)460和高速缓存寄存器(cache register)470,以优化快闪存储器400的访问速度。页寄存器460用以与快闪存储器400阵列之间传输数据。高速缓存寄存器470用以与主机100之间传输数据。一个面430可包括多个闪存块(block)440,闪存块440是擦除数据的最小单位。一个闪存块440可包括多个闪存页(page)450,闪存页450是写入数据的最小单位。
请参阅图5所示,在本发明的一个实施例中,本发明还提出一种存储器件数据处理方法,可包括以下的步骤:
步骤S100、通过快闪存储器上的多个闪存块,存放存储数据;
步骤S200、通过控制器电性连接于所述快闪存储器;
步骤S300、通过所述控制器接收主机写入的所述存储数据;以及
步骤S400、在快闪存储器上,控制器计算每个闪存块的垃圾回收等级,以选取垃圾回收等级的值最大的闪存块作为源闪存块,并对源闪存块执行垃圾回收处理;垃圾回收等级满足:垃圾回收等级=α×垃圾回收因子+β×读取干扰因子+δ×数据保持能力因子;其中,垃圾回收因子表征闪存块的垃圾回收效率,读取干扰因子表征闪存块产生读取干扰的概率,数据保持能力因子表征闪存块的产生原始误码的概率,α、β和δ为调整因子。
在本发明的一个实施例中,当执行步骤S100时,具体的,快闪存储器400上可包括多个闪存块440(block)。闪存块440可用以存放存储数据。一个闪存块440上可包括多个闪存页(page)450。闪存块440在写入数据(program)前需要进行擦除数据(erase)处理,写入数据操作以闪存页450为最小单位,擦除数据操作以闪存块440为最小单位。
在本发明的一个实施例中,当执行步骤S200时,具体的,控制器300可与快闪存储器400电性连接,控制器300用以将存储数据传输至快闪存储器400上。在实际使用过程中,由于可用的闪存块440不足,或者读取干扰(read disturb),数据保持(data retention)等因素,可触发控制器300执行闪存块440的垃圾回收处理。
在本发明的一个实施例中,当执行步骤S300时,具体的,控制器300可与主机100电性连接,控制器300用以接收主机100写入的存储数据。
在本发明的一个实施例中,当执行步骤S400时,具体的,控制器300可计算每个闪存块440的垃圾回收等级(Block_gc_level),并选取垃圾回收等级值最大对应的闪存块440作为源闪存块510,并对其执行垃圾回收处理。垃圾回收等级(Block_gc_level)可包括三个模块,分别为:垃圾回收因子(GC_Factor)、读取干扰因子(RD_Factor)以及数据保持能力因子(DR_Factor)。其中,垃圾回收因子表征闪存块440的垃圾回收效率,读取干扰因子表征闪存块440的产生读取干扰(read disturb)的概率,数据保持能力因子表征闪存块400的产生Uncorrectable ECC(Error Correcting Code,错误纠正代码)的概率。垃圾回收等级可满足:垃圾回收等级(Block_gc_level)=α×垃圾回收因子(GC_Factor)+β×读取干扰因子(RD_Factor)+δ×数据保持能力因子(DR_Factor)。其中,α为垃圾回收因子的调整因子,β为读取干扰因子的调整因子,δ为数据保持能力因子的调整因子。本实施例中,α,β,δ的取值可为1。
请参阅图6,在本发明的一个实施例中,步骤S400可包括步骤S410、步骤S420和步骤S430。其中,步骤S410可表示为通过控制器,设定源闪存块的垃圾回收因子;垃圾回收因子满足:垃圾回收因子=垃圾回收加速因子×垃圾回收效率;其中,垃圾回收加速因子与可用的闪存块的数量相关。步骤S420可表示为通过控制器,设定闪存块的读取干扰因子;读取干扰因子满足:读取干扰因子=读取次数/读取干扰阈值;其中,读取次数表征闪存块被读取的次数,读取干扰阈值表示造成闪存块因读取干扰产生产生错误控制检查的读取次数。步骤S430可表示为通过控制器,设定闪存块的数据保持能力因子;数据保持能力因子满足:数据保持能力因子=原始误码数量/数据保持阈值;其中,原始误码数量表征闪存块在未进行纠错时存储数据中的误码数量,数据保持阈值表征闪存块的数据保存能力阈值。
请参阅图7,在本发明的一个实施例中,步骤S400还包括对所述源闪存块进行搬运处理,可包括以下的步骤:
步骤S440、读取所述源内存块内的有效数据,并将所述有效数据保存至目标内存块;
步骤S450、更新固件映射表、所述源内存块的有效数据变量以及所述目标内存块的有效数据变量;
步骤S460、判断搬运处理后所述源内存块的有效数据变量是否为0;
步骤S470、当所述源内存块的有效数据变量不为0时,所述控制器再次执行搬运处理;
步骤S480、当所述源内存块的有效数据变量为0时,所述控制器对所述源内存块进行内存释放处理。
在本发明的一个实施例中,当执行步骤S440~步骤S480时,具体的,控制器300搜索源闪存块510内的有效数据,并将有效数据进行读取以保存至目标闪存块520;然后再更新固件映射表、源闪存块510的有效数据变量以及目标闪存块520的有效数据变量。控制器300还用于判断搬运处理后源闪存块510的有效数据变量是否为0;当所述源内存块的有效数据变量不为0时,控制器300再次执行搬运处理;当源闪存块510的有效数据变量为0时,所述控制器300结束进行搬运处理,并对源内存块510进行内存释放处理。由此可知,控制器300循环执行闪存块440的释放操作,如果源闪存块510的Block_Valid_Count被减少到0,就停止该循环,可以直接释放源闪存块510;否则,控制器300就一直循环执行搬运处理操作,直到将源闪存块510被全部搜索一遍,且所有的有效数据全部搬走,此时即便是源闪存块510的有效数据变量未减少到0,也可以将源闪存块510释放为可用闪存块。
综上,本发明提出一种存储器件及其数据处理方法,本发明可对存储器件的垃圾回收的过程进行精细化管理,通过调整源闪存块的选择因素和优化源闪存块的释放时机,兼顾了垃圾回收效率和产品寿命,提高了闪存块的垃圾回收效率。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种存储器件,其特征在于,包括:
快闪存储器,包括多个闪存块,用以存放存储数据;以及
控制器,电性连接于所述快闪存储器,所述控制器用以接收主机的所述存储数据;
在所述快闪存储器上,所述控制器计算每个所述闪存块的垃圾回收等级,以选取所述垃圾回收等级的值最大的所述闪存块作为源闪存块,并对所述源闪存块执行垃圾回收处理;
所述垃圾回收等级满足:垃圾回收等级=α×垃圾回收因子+β×读取干扰因子+δ×数据保持能力因子;
其中,所述垃圾回收因子表征所述闪存块的垃圾回收效率,所述读取干扰因子表征所述闪存块产生读取干扰的概率,所述数据保持能力因子表征所述闪存块的产生错误纠正代码的概率,所述α、β和δ为调整因子。
2.根据权利要求1所述的存储器件,其特征在于,所述控制器设定所述源闪存块的垃圾回收因子,所述垃圾回收因子满足:
垃圾回收因子=垃圾回收加速因子×垃圾回收效率
其中,所述垃圾回收加速因子与可用的所述闪存块的数量相关。
3.根据权利要求2所述的存储器件,其特征在于,所述控制器设定所述闪存块的读取干扰因子,所述读取干扰因子满足:
读取干扰因子=读取次数/读取干扰阈值
其中,所述读取次数表征所述闪存块被读取的次数,所述读取干扰阈值表示造成所述闪存块因读取干扰产生产生错误控制检查的读取次数。
4.根据权利要求2所述的存储器件,其特征在于,所述控制器设定所述闪存块的数据保持能力因子,所述数据保持能力因子满足:
数据保持能力因子=原始误码数量/数据保持阈值
其中,所述原始误码数量表征所述闪存块在未进行纠错时存储数据中的误码数量,所述数据保持阈值表征所述闪存块的数据保存能力阈值。
5.根据权利要求1所述的存储器件,其特征在于,所述控制器还用以对所述源闪存块进行搬运处理,搬运处理包括:
读取所述源内存块内的有效数据,并将所述有效数据保存至目标内存块;
更新固件映射表、所述源内存块的有效数据变量以及所述目标内存块的有效数据变量。
6.根据权利要求5所述的存储器件,其特征在于,所述控制器还用以判断搬运处理后所述源内存块的有效数据变量是否为0;
当所述源内存块的有效数据变量不为0时,所述控制器再次执行搬运处理;
当所述源内存块的有效数据变量为0时,所述控制器对所述源内存块进行内存释放处理。
7.一种存储器件的数据处理方法,其特征在于,包括:
通过快闪存储器上的多个闪存块,存放存储数据;
通过控制器电性连接于所述快闪存储器;
通过所述控制器接收主机写入的所述存储数据;以及
在所述快闪存储器上,所述控制器计算每个所述闪存块的垃圾回收等级,以选取所述垃圾回收等级的值最大的所述闪存块作为源闪存块,并对所述源闪存块执行垃圾回收处理;
所述垃圾回收等级满足:垃圾回收等级=α×垃圾回收因子+β×读取干扰因子+δ×数据保持能力因子;
其中,所述垃圾回收因子表征所述闪存块的垃圾回收效率,所述读取干扰因子表征所述闪存块产生读取干扰的概率,所述数据保持能力因子表征所述闪存块的产生错误纠正代码的概率,所述α、β和δ为调整因子。
8.根据权利要求7所述的存储器件的数据处理方法,其特征在于,所述所述控制器计算每个所述闪存块的垃圾回收等级变量的步骤,包括:
通过所述控制器,设定所述源闪存块的垃圾回收因子;
所述垃圾回收因子满足:垃圾回收因子=垃圾回收加速因子×垃圾回收效率;
其中,所述垃圾回收加速因子与可用的所述闪存块的数量相关。
9.根据权利要求7所述的存储器件的数据处理方法,其特征在于,所述所述控制器计算每个所述闪存块的垃圾回收等级变量的步骤,还包括:
通过所述控制器,设定所述闪存块的读取干扰因子;
所述读取干扰因子满足:读取干扰因子=读取次数/读取干扰阈值;
其中,所述读取次数表征所述闪存块被读取的次数,所述读取干扰阈值表示造成所述闪存块因读取干扰产生产生错误控制检查的读取次数。
10.根据权利要求7所述的存储器件的数据处理方法,其特征在于,所述所述控制器计算每个所述闪存块的垃圾回收等级变量的步骤,还包括:
通过所述控制器,设定所述闪存块的数据保持能力因子;
所述数据保持能力因子满足:数据保持能力因子=原始误码数量/数据保持阈值;
其中,所述原始误码数量表征所述闪存块在未进行纠错时存储数据中的误码数量,所述数据保持阈值表征所述闪存块的数据保存能力阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311744274.7A CN117435517B (zh) | 2023-12-19 | 2023-12-19 | 一种存储器件及其数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311744274.7A CN117435517B (zh) | 2023-12-19 | 2023-12-19 | 一种存储器件及其数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117435517A true CN117435517A (zh) | 2024-01-23 |
CN117435517B CN117435517B (zh) | 2024-04-05 |
Family
ID=89551891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311744274.7A Active CN117435517B (zh) | 2023-12-19 | 2023-12-19 | 一种存储器件及其数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117435517B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080109590A1 (en) * | 2006-11-03 | 2008-05-08 | Samsung Electronics Co., Ltd. | Flash memory system and garbage collection method thereof |
CN105528301A (zh) * | 2015-12-07 | 2016-04-27 | 中国人民解放军信息工程大学 | 一种NAND Flash闪存垃圾回收方法 |
CN109857330A (zh) * | 2017-11-30 | 2019-06-07 | 宜鼎国际股份有限公司 | 数据存取效率的预估方法 |
CN111090398A (zh) * | 2019-12-13 | 2020-05-01 | 北京浪潮数据技术有限公司 | 固态硬盘的垃圾回收方法、装置、设备及可读存储介质 |
CN112486415A (zh) * | 2020-11-30 | 2021-03-12 | 北京泽石科技有限公司 | 存储装置的垃圾回收方法及装置 |
-
2023
- 2023-12-19 CN CN202311744274.7A patent/CN117435517B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080109590A1 (en) * | 2006-11-03 | 2008-05-08 | Samsung Electronics Co., Ltd. | Flash memory system and garbage collection method thereof |
CN105528301A (zh) * | 2015-12-07 | 2016-04-27 | 中国人民解放军信息工程大学 | 一种NAND Flash闪存垃圾回收方法 |
CN109857330A (zh) * | 2017-11-30 | 2019-06-07 | 宜鼎国际股份有限公司 | 数据存取效率的预估方法 |
CN111090398A (zh) * | 2019-12-13 | 2020-05-01 | 北京浪潮数据技术有限公司 | 固态硬盘的垃圾回收方法、装置、设备及可读存储介质 |
CN112486415A (zh) * | 2020-11-30 | 2021-03-12 | 北京泽石科技有限公司 | 存储装置的垃圾回收方法及装置 |
Non-Patent Citations (1)
Title |
---|
李恒恒;岳春生;胡泽明;: "一种基于预搜索的自适应闪存垃圾回收算法", 小型微型计算机系统, no. 10, 15 October 2015 (2015-10-15), pages 229 - 233 * |
Also Published As
Publication number | Publication date |
---|---|
CN117435517B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101498673B1 (ko) | 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템 | |
US9053808B2 (en) | Flash memory with targeted read scrub algorithm | |
US9256542B1 (en) | Adaptive intelligent storage controller and associated methods | |
JP5002201B2 (ja) | メモリシステム | |
EP3588259B1 (en) | Garbage collection method for storage media, storage medium, and program product | |
US8131911B2 (en) | Data writing method, and flash storage system and controller using the same | |
US9280460B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US20050015557A1 (en) | Nonvolatile memory unit with specific cache | |
US8667209B2 (en) | Non-volatile memory access method and system, and non-volatile memory controller | |
US9535611B2 (en) | Cache memory for hybrid disk drives | |
CN109471594B (zh) | 一种mlc闪存读写方法 | |
KR20090006920A (ko) | 캐시 메모리 장치 및 캐시 메모리 장치의 데이터 처리 방법 | |
CN103577342A (zh) | 管理闪存中所储存的数据的方法及相关记忆装置与控制器 | |
KR20130112210A (ko) | 메모리 시스템 및 그것의 페이지 교체 방법 | |
CN109656483B (zh) | 一种固态盘静态磨损均衡方法及装置 | |
CN108733577B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
KR20170084194A (ko) | 메모리 마모 레벨링 | |
CN114300032A (zh) | 一种检查存储介质失效的方法、装置和固态硬盘 | |
US8521946B2 (en) | Semiconductor disk devices and related methods of randomly accessing data | |
US20110138110A1 (en) | Method and control unit for performing storage management upon storage apparatus and related storage apparatus | |
KR101070511B1 (ko) | Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법 | |
CN117632043A (zh) | Cxl内存模组、控制芯片、数据处理方法、介质和系统 | |
US11403211B2 (en) | Storage system with file priority mechanism and method of operation thereof | |
CN117435517B (zh) | 一种存储器件及其数据处理方法 | |
US11488678B2 (en) | Grouping flash storage blocks based on robustness for cache program operations and regular program operations |
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 |