CN116644001B - 一种存储器件及其垃圾回收的控制方法 - Google Patents
一种存储器件及其垃圾回收的控制方法 Download PDFInfo
- Publication number
- CN116644001B CN116644001B CN202310890296.8A CN202310890296A CN116644001B CN 116644001 B CN116644001 B CN 116644001B CN 202310890296 A CN202310890296 A CN 202310890296A CN 116644001 B CN116644001 B CN 116644001B
- Authority
- CN
- China
- Prior art keywords
- flash memory
- garbage collection
- blocks
- block
- controller
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004064 recycling Methods 0.000 title claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 36
- 230000008569 process Effects 0.000 claims description 29
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 239000007787 solid Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 235000012149 noodles Nutrition 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012360 testing 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Memory System (AREA)
Abstract
本发明涉及存储器件领域,特别是涉及一种存储器件及其垃圾回收的控制方法。存储器件,包括:快闪存储器,包括多个区块,用以存放存储数据;以及控制器,电性连接于快闪存储器,控制器用以接收主机的存储数据;在快闪存储器上,控制器选取每个区块中固定数量的页处于可用状态,并设定垃圾回收处理的启动时间,启动时间满足:启动时间=初始时间*固定数量/全部数量,全部数量表征每个区块上所有页的数量,初始时间表征每个区块上全部数量的页处于可用状态时,对快闪存储器进行垃圾回收处理的时间。本发明保证垃圾回收启动后的预留空间和使用性能稳定的基础上,节省了数据传输时间和固件资源。
Description
技术领域
本发明涉及存储器件领域,特别是涉及一种存储器件及其垃圾回收的控制方法。
背景技术
快闪存储器在使用过程中,一些区块上会同时存在有效数据和无效数据,快闪存储器的存储空间就会逐渐被使用完。通过垃圾回收模块将有效数据进行集中,从而使得某些区块上只存放无效数据。可对存放无效数据的区块进行擦除数据处理,经过擦除数据处理后的区块就可以继续写入新的数据。在验证快闪存储器垃圾回收相关问题时,如果预留空间发生了改变,将导致垃圾回收处理的操作逻辑发生改变,也会影响快闪存储器的速度和写操作。因此存在待改进之处。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种存储器件及其垃圾回收的控制方法,用于解决现有存储器件垃圾回收处理的操作逻辑发生改变的问题。
为实现上述目的及其他相关目的,本发明提供一种存储器件,包括:
快闪存储器,包括多个区块,用以存放存储数据;以及
控制器,电性连接于所述快闪存储器,所述控制器用以接收主机的所述存储数据;
在所述快闪存储器上,所述控制器选取每个区块中固定数量的页处于可用状态,并设定垃圾回收处理的启动时间,所述启动时间满足:
启动时间=初始时间*固定数量/全部数量,所述全部数量表征每个区块上所有页的数量,所述初始时间表征每个区块上所述全部数量的页处于可用状态时,对所述快闪存储器进行垃圾回收处理的时间。
在本发明的一个实施例中,所述多个区块包括闲置区块和使用区块,所述控制器设定每消耗启动数量的所述闲置区块时,调整一次垃圾回收处理的速度值,所述启动数量满足:
启动数量=初始数量;
在所述快闪存储器上,每个区块上的所述全部数量的页处于可用状态时,将垃圾回收处理的速度值进行调整所消耗所述闲置区块的数量,记为所述初始数量。
在本发明的一个实施例中,所述控制器设定所述快闪存储器的垃圾回收处理的速度挡,所述垃圾回收处理的速度挡满足:
垃圾回收处理的速度挡=(用户区块数量-用户区块数量*垃圾回收比例阈值)/初始数量;
在所述使用区块数量与所述用户区块数量的比值达到上限值,将所述上限值表征为所述垃圾回收比例阈值,所述用户区块数量表征所述快闪存储器中所有用户可操作区块的数量。
在本发明的一个实施例中,所述控制器控制垃圾回收处理的启动时间,所述启动时间满足:
启动时间=全部容量*垃圾回收比例阈值*(固定数量/全部数量)/写入速度;
所述全部容量表征每个区块上的所述全部数量的页处于可用状态时,所述快闪存储器的存储容量,所述写入速度表征所述控制器向所述快闪存储器写入所述存储数据的速度。
在本发明的一个实施例中,所述控制器控制所述快闪存储器上的预留空间,所述预留空间满足:
预留空间=(全部容量-用户容量)/用户容量;
在所述快闪存储器上,所述用户容量表征用户可操作区块对应的容量,所述预留空间表征用户不可操作区块对应的容量与所述用户容量之间的比值。
本发明还提出一种存储器件垃圾回收的控制方法,包括:
通过快闪存储器上的多个区块,存放存储数据;
通过控制器电性连接于所述快闪存储器;
通过所述控制器接收主机写入的所述存储数据;以及
在所述快闪存储器上,通过所述控制器,选取每个区块中固定数量的页处于可用状态,并设定垃圾回收处理的启动时间;
所述启动时间满足:启动时间=初始时间*固定数量/全部数量;
其中,所述全部数量表征每个区块上所有页的数量,所述初始时间表征每个区块上所述全部数量的页处于可用状态时,对所述快闪存储器进行垃圾回收处理的时间。
在本发明的一个实施例中,所述选取每个区块中固定数量的页处于可用状态的步骤之后,包括:
通过所述控制器,获取所述快闪存储器中闲置区块的数量和使用区块的数量;
通过所述控制器,设定每消耗启动数量的所述闲置区块时,调整一次垃圾回收处理的速度值;
所述启动数量满足:启动数量=初始数量;
其中,在所述快闪存储器上,每个区块上的所述全部数量的页处于可用状态时,将垃圾回收处理的速度值进行调整所消耗所述闲置区块的数量,记为所述初始数量。
在本发明的一个实施例中,所述通过所述控制器,设定每消耗启动数量的所述闲置区块时,调整一次垃圾回收处理的速度值的步骤之后,包括:
通过所述控制器,设定所述快闪存储器的垃圾回收处理的速度挡;
所述垃圾回收处理的速度挡满足:垃圾回收处理的速度挡=(用户区块数量-用户区块数量*垃圾回收比例阈值)/初始数量;
其中,在所述使用区块数量与所述用户区块数量的比值达到上限值,将所述上限值表征为所述垃圾回收比例阈值,所述用户区块数量表征所述快闪存储器中所有用户可操作区块的数量。
在本发明的一个实施例中,所述通过所述控制器,设定所述快闪存储器的垃圾回收处理的速度挡的步骤之后,包括:
通过所述控制器控制垃圾回收处理的启动时间;
所述启动时间满足:启动时间=全部容量*垃圾回收比例阈值*(固定数量/全部数量)/写入速度;
其中,所述全部容量表征每个区块上的所述全部数量的页处于可用状态时,所述快闪存储器的存储容量,所述写入速度表征所述控制器向所述快闪存储器写入所述存储数据的速度。
在本发明的一个实施例中,所述在所述快闪存储器上,通过所述控制器,选取每个区块中固定数量的页处于可用状态,并设定垃圾回收处理的启动时间的步骤之后,包括:
通过所述控制器控制所述快闪存储器上的预留空间;
所述预留空间满足:预留空间=(全部容量-用户容量)/用户容量;
其中,在所述快闪存储器上,所述用户容量表征用户可操作区块对应的容量,所述预留空间表征用户不可操作区块对应的容量与所述用户容量之间的比值。
如上所述,本发明的一种存储器件及其垃圾回收的控制方法,具有以下有益效果:本发明保证垃圾回收启动后的预留空间和使用性能稳定的基础上,节省了数据传输时间和固件资源。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1显示为本发明一种存储器件的结构示意图。
图2显示为本发明一种存储器件中逻辑单元的结构示意图。
图3显示为本发明一种存储器件垃圾回收的控制方法的步骤示意图。
图4显示为本发明图3中步骤S50的一步骤示意图。
图5显示为本发明图3中步骤S50的又一步骤示意图。
元件标号说明
100、主机;200、存储器件;300、控制器;400、快闪存储器;
310、总线接口;320、处理单元;330、指令缓冲单元;340、静态随机存储单元;350、快闪存储器接口;360、缓冲存储单元;370、动态随机存储单元;
410、芯片;420、逻辑单元;430、面;440、区块;450、页;460、页寄存器;470、高速缓存寄存器。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其它优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。还应当理解,本发明实施例中使用的术语是为了描述特定的具体实施方案,而不是为了限制本发明的保护范围。下列实施例中未注明具体条件的试验方法,通常按照常规条件,或者按照各制造商所建议的条件。
须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容所能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
请参阅图1至图5所示,在一些实施例中,本发明提供一种存储器件200及其垃圾回收的控制方法,可应用于SSD(Solid State Disk或Solid State Drive,固态硬盘)领域。例如可应用于固态硬盘的NAND flash(快闪存储器)中,以实现对快闪存储器400中多个区块(block)440的垃圾回收处理进行控制。本发明可使得快闪存储器400的垃圾回收提早进行。本发明在不影响垃圾回收启动后的使用性能和固件逻辑的前提下,完全还原了原始固态硬盘等存储器件产品的固件逻辑行为,从而节省了大量的数据传输时间和固件资源。下面通过具体的实施例进行详细的描述。
请参阅图1和图2所示,在本发明的一些实施例中,本发明提出一种存储器件200,可包括控制器300和快闪存储器400。控制器300可与主机100电性连接,控制器300用以接收主机100写入的存储数据。控制器300可与快闪存储器400电性连接,控制器300用以将存储数据传输至快闪存储器400上。快闪存储器400上可包括多个区块440,多个区块440可用以存放存储数据。一个区块440上可包括多个页(page)450。区块440在写入数据(program)前需要进行擦除数据(erase)处理,写入数据操作以页450为最小单位,擦除数据操作以区块440为最小单位。当区块440上存在有效数据时,无法对该区块440进行擦除数据处理,即无效数据所在的物理地址,无法用以写入新的存储数据。多个区块440可包括使用区块(datablock)和闲置区块(free block)。当使用区块的数量占据多个区块440的总数量达到垃圾回收处理条件时,触发快闪存储器400的垃圾回收处理操作。在快闪存储器400的垃圾回收处理操作时,使用区块数量与用户区块数量的比值达到上限值,将此上限值表征为垃圾回收比例阈值。
请参阅图1和图2所示,在本发明的一些实施例中,在快闪存储器400上,控制器300可选取每个区块440中固定数量的页450处于可用状态,每个区块440上剩余数量的页450处于不可用状态。控制器300可设定垃圾回收处理的启动时间,启动时间满足:启动时间=初始时间*固定数量/全部数量。其中,全部数量表征每个区块440上所有页450的数量,初始时间表征每个区块440上全部数量的页450处于可用状态时,对快闪存储器440进行垃圾回收处理的时间。即通过控制器300的设定后,快闪存储器400垃圾回收处理的启动时间与初始时间的比例为固定数量/全部数量,以使得垃圾回收处理提前进行。可在快闪存储器400对垃圾回收启动后的速度验证、寿命验证等方面,节省了大量数据传输时间和固件资源。
请参阅图1和图2所示,在本发明的一些实施例中,多个区块440可包括闲置区块(free block)和使用区块(data block)。闲置区块表示有效数据为零的区块440,对该区块可进行擦除数据处理。使用区块表示有效数据不为零的区块440,即该区块440上已写入存储数据。控制器300可设定每消耗启动数量的闲置区块时,调整一次垃圾回收处理的速度值。启动数量满足:启动数量=初始数量。其中,在快闪存储器400上,每个区块440上的全部数量的页450处于可用状态时,将垃圾回收处理的速度值进行调整所消耗闲置区块的数量,记为初始数量。
请参阅图1和图2所示,在本发明的一些实施例中,控制器300还可设定快闪存储器400的垃圾回收处理的速度挡,垃圾回收处理的速度挡定义为:关于对快闪存储器400关于垃圾回收处理的速度值进行调整的次数。垃圾回收处理的速度挡满足:垃圾回收处理的速度挡=(用户区块数量-用户区块数量*垃圾回收比例阈值)/初始数量。其中,在使用区块数量与用户区块数量的比值达到上限值,将上限值表征为垃圾回收比例阈值。用户区块数量表征快闪存储器400中所有用户可操作的区块440的数量。在每个区块440中固定数量的页450处于可用状态和每个区块440上全部数量的页450处于可用状态的状况下,两种状况下对应的垃圾回收处理的速度挡相同。本发明不影响垃圾回收启动后的使用性能和固件逻辑,完全还原了原始固态硬盘等存储器件产品的固件逻辑行为,从而节省了大量的数据传输时间和固件资源。
请参阅图1和图2所示,在本发明的一些实施例中,用写入速度表示控制器300向快闪存储器400写入存储数据的速度。控制器300可控制垃圾回收处理的启动时间,启动时间满足:启动时间=全部容量*垃圾回收比例阈值*(固定数量/全部数量)/写入速度。其中,全部容量表征每个区块440上的全部数量的页450处于可用状态时,快闪存储器400的存储容量。控制器300可设定快闪存储器400的使用容量,使用容量满足:使用容量=全部容量*固定数量/全部数量。在每个区块440中固定数量的页450处于可用状态,每个区块440剩余数量的页450处于不可用状态的前提下,快闪存储器400的使用容量也应当予以确定。本发明可使得快闪存储器400的垃圾回收提早进行,减少了快闪存储器400的研发消耗和测试消耗。本发明还减小了硬件负担,增加了存储器件的使用寿命。
请参阅图1和图2所示,在本发明的一些实施例中,控制器300可设定快闪存储器400的预留空间,预留空间满足:预留空间=(全部容量-用户容量)/用户容量=预留容量/用户容量。在快闪存储器400上,用户容量表征用户可操作的区块440对应的容量,预留空间表征用户不可操作的区块440对应的容量与用户容量之间的比值。在每个区块440中固定数量的页450处于可用状态和每个区块440上全部数量的页450处于可用状态的状况下,两种状况下对应的预留空间相同。本发明不影响垃圾回收启动后的使用性能和固件逻辑,完全还原了原始固态硬盘等存储器件产品的固件逻辑行为,从而节省了大量的数据传输时间和固件资源。
请参阅图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是写入数据的最小单位。
请参阅图3所示,在本发明的一些实施例中,本发明还提出一种存储器件垃圾回收的控制方法,可包括以下的步骤。
步骤S10、通过快闪存储器上的多个区块,存放存储数据。
步骤S20、通过控制器电性连接于快闪存储器。
步骤S30、通过控制器接收主机写入的存储数据。
步骤S40、在快闪存储器上,通过控制器,选取每个区块中固定数量的页处于可用状态。
步骤S50、在快闪存储器上,通过控制器,设定垃圾回收处理的启动时间。启动时间满足:启动时间=初始时间*固定数量/全部数量。其中,在快闪存储器上,每个区块上的全部数量的页处于可用状态时,将垃圾回收处理的速度值进行调整所消耗闲置区块的数量,记为初始数量。
步骤S10、通过快闪存储器上的多个区块,存放存储数据。
在一些实施例中,快闪存储器400上可包括多个区块440,多个区块440可用以存放存储数据。一个区块440上可包括多个页(page)450。区块440在写入数据(program)前需要进行擦除数据(erase)处理,写入数据操作以页450为最小单位,擦除数据操作以区块440为最小单位。
步骤S20、通过控制器电性连接于快闪存储器。
在一些实施例中,控制器300可与快闪存储器400电性连接,控制器300用以将存储数据传输至快闪存储器400上。当区块440上存在有效数据时,无法对该区块440进行擦除数据处理,即无效数据所在的物理地址,无法用以写入新的存储数据。多个区块440可包括使用区块(data block)和闲置区块(free block)。当使用区块的数量占据多个区块440的总数量达到垃圾回收处理条件时,触发快闪存储器400的垃圾回收处理操作。在快闪存储器400的垃圾回收处理操作时,使用区块数量与用户区块数量的比值达到上限值,将此上限值表征为垃圾回收比例阈值。用户区块数量表征快闪存储器400中所有区块440的数量。
步骤S30、通过控制器接收主机写入的存储数据。
在一些实施例中,控制器300可与主机100电性连接,控制器300用以接收主机100写入的存储数据。
步骤S40、在快闪存储器上,通过控制器,选取每个区块中固定数量的页处于可用状态。
在一些实施例中,控制器300可选取每个区块440中固定数量的页450处于可用状态,每个区块440中剩余数量的页450处于不可用状态。每个区块440中固定数量的页450处于可用状态的前提下,快闪存储器400的使用容量也进行了确定。
步骤S50、在快闪存储器上,通过控制器,设定垃圾回收处理的启动时间。启动时间满足:启动时间=初始时间*固定数量/全部数量。其中,在快闪存储器上,每个区块上的全部数量的页处于可用状态时,将垃圾回收处理的速度值进行调整所消耗闲置区块的数量,记为初始数量。
在一些实施例中,控制器300可设定垃圾回收处理的启动时间,启动时间满足:启动时间=初始时间*固定数量/全部数量。其中,全部数量表征每个区块440上所有页450的数量,初始时间表征每个区块440上全部数量的页450处于可用状态时,对快闪存储器400进行垃圾回收处理的时间。即通过控制器300的设定后,快闪存储器400垃圾回收处理的启动时间与初始时间的比例为固定数量/全部数量,以使得垃圾回收处理提前进行。可在快闪存储器400对垃圾回收启动后的速度验证、寿命验证等方面,节省了大量数据传输时间和固件资源。
请参阅图4所示,在本发明的一些实施例中,步骤S50可包括步骤S510、步骤S520和步骤S530。其中,步骤S510可表示为通过控制器300,获取多个区块440中的闲置区块的数量和使用区块的数量。步骤S520可表示为通过控制器300,设定每消耗启动数量的闲置区块时,调整一次垃圾回收处理的速度值。启动数量满足:启动数量=初始数量。在快闪存储器400中每个区块440中全部页450处于可用状态时,将垃圾回收处理的速度值进行调整所消耗闲置区块的数量,记为初始数量。步骤S530可表示为通过控制器300,设定快闪存储器400的垃圾回收处理的速度挡。垃圾回收处理的速度挡满足:垃圾回收处理的速度挡=(用户区块数量-用户区块数量*垃圾回收比例阈值)/初始数量。在使用区块数量与用户区块数量的比值达到上限值,将上限值表征为垃圾回收比例阈值。用户区块数量表征快闪存储器400中所有用户可操作的区块440的数量。
请参阅图5所示,在本发明的一些实施例中,步骤S50还可包括步骤S540和步骤S550。步骤S540可表示为通过控制器300控制垃圾回收处理的启动时间,启动时间满足:启动时间=全部容量*垃圾回收比例阈值*(固定数量/全部数量)/写入速度。全部容量表征每个区块440上的全部数量的页450处于可用状态时,快闪存储器400的存储容量。写入速度表征控制器300向快闪存储器400写入存储数据的速度。步骤S550可表示为通过控制器300设定快闪存储器400的预留空间,预留空间满足:预留空间=(全部容量-用户容量)/用户容量=预留容量/用户容量。在快闪存储器400上,用户容量表征用户可操作的区块440对应的容量,预留空间表征用户不可操作的区块440对应的容量与用户容量之间的比值。
请参阅图1、图2、图3、图4和图5所示,在本发明的一些实施例中,例如存储器件200为SSD(固态硬盘),其存储空间是A TB(Tera byte,太字节),对应B个用户区块(block)和D个预留区块。则OP(Over Provisioning,预留空间)=(全部容量-用户容量)/用户容量=预留容量/用户容量=D/B。每个区块440可包括Z个页(page)450,每个页450的容量是C TB。每个区块440的容量为Z*C TB,有A=B*Z*C。当每个区块440上的全部数量的页450处于可用状态时,控制器300设置使用区块(data block)达到B/M个区块440时启动垃圾回收处理,即存储器件200写入A/M TB的存储空间时开始启动垃圾回收处理。在使用区块数量与用户区块数量的比值达到上限值,将该上限值表征为垃圾回收比例阈值1/M。即使用区块数量与用户区块数量的比值达到垃圾回收比例阈值1/M时,触发垃圾回收处理。控制器300可设定每消耗X个闲置区块(free block)时,既对应的每增加X个使用区块时,调整一次垃圾回收处理的速度。因此,垃圾回收处理启动后会有(B-B/M)/X个速度挡。假设存储器件200的写入速度为YTB/s,那么存储器件200在写入A/M TB的存储空间,垃圾回收处理需要A/M/Y秒。
请参阅图1、图2、图3、图4和图5所示,在本发明的一些实施例中,将存储器件200为SSD(固态硬盘)的产品容量设置为原容量1/N,即为A/N TB的存储容量。并从每个区块440内,挑选1/N的页450记为固定数量的页450。即每个区块440有Z/N个页450进行使用,每个区块440容量为C*Z/N TB,剩余数量的页450不可以使用。将垃圾回收处理的启动时间设置为使用区块的数量达到B/M个启动,即存储器件200写入(B/M)*(C*Z/N)=A/N/M TB的存储空间时开始启动垃圾回收处理。并设定每消耗X个闲置区块时,即对应的每增加X个使用区块时,也即每写入X*(C*Z/N)TB容量时,调整一次垃圾回收处理的速度。因此,垃圾回收处理仍然是有(A/N-A/N/M)/(X*(C*Z/N))=(B-B/M)/X个速度挡。假设存储器件200的写入速度为YTB/s,那么垃圾回收处理的启动时间是A/N/M/Y,缩小为每个区块440上的全部数量的页450处于可用状态时的1/N。
请参阅图1、图2、图3、图4和图5所示,在本发明的一些实施例中,例如存储器件200为SSD(固态硬盘),其存储空间是8TB(Tera byte,太字节),对应4000个用户区块(block)和80个预留区块。则OP(Over Provisioning,预留空间)=(全部容量-用户容量)/用户容量=预留容量/用户容量=1/50。每个区块440可包括1000个页(page)450,每个页450的容量是2MB。每个区块440的容量为2000MB。当全部区块处于可用状态时,控制器300设置使用区块(datablock)达到1000个区块440时启动垃圾回收处理,即存储器件200写入2TB的存储空间时开始启动垃圾回收处理。在使用区块数量与用户区块数量的比值达到上限值,将该上限值表征为垃圾回收比例阈值1/4。即使用区块数量与用户区块数量的比值达到垃圾回收比例阈值1/4时,触发垃圾回收处理。控制器300可设定每消耗100个闲置区块(free block)时,既对应的每增加100个使用区块时,调整一次垃圾回收处理的速度。因此,垃圾回收处理启动后会有(4000-1000)/100=30个速度挡。假设存储器件200的写入速度为200MB/s,那么存储器件200在写入2TB的存储空间,垃圾回收处理需要10000秒。
请参阅图1、图2、图3、图4和图5所示,在本发明的一些实施例中,将存储器件200为SSD(固态硬盘)的产品容量设置为原容量1/100,即为80GB的存储容量。并从每个区块440内,挑选1/100的页450记为固定数量的页450。即每个区块440有10个页450进行使用,每个区块440容量为20MB,剩余数量的页450不可以使用。将垃圾回收处理的启动时间设置为使用区块的数量达到1000个启动,即存储器件200写入20GB的存储空间时开始启动垃圾回收处理。所以,垃圾回收处理仍然是有30个速度挡。假设存储器件200的写入速度为200MB/s,那么垃圾回收处理的启动时间是100s,缩小为每个区块上的全部数量的页处于可用状态时的1/100。预留区块数量为80个,OP=80/4000,与每个区块440上的全部数量的页450处于可用状态时的OP相同。
综上,本发明提出一种存储器件及其垃圾回收的控制方法,本发明保证垃圾回收启动后的使用性能和固件逻辑的基础上,节省了数据传输时间和固件资源。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (6)
1.一种存储器件,其特征在于,包括:
快闪存储器,包括多个区块,用以存放存储数据;以及
控制器,电性连接于所述快闪存储器,所述控制器用以接收主机的所述存储数据;
在所述快闪存储器上,所述控制器选取每个区块中固定数量的页处于可用状态,并设定垃圾回收处理的启动时间,所述启动时间满足:
启动时间=初始时间*固定数量/全部数量,所述全部数量表征每个区块上所有页的数量,所述初始时间表征每个区块上所述全部数量的页处于可用状态时,对所述快闪存储器进行垃圾回收处理的时间;
所述多个区块包括闲置区块和使用区块,所述控制器设定每消耗启动数量的所述闲置区块时,调整一次垃圾回收处理的速度值,所述启动数量满足:
启动数量=初始数量;
在所述快闪存储器上,每个区块上的所述全部数量的页处于可用状态时,将垃圾回收处理的速度值进行调整所消耗所述闲置区块的数量,记为所述初始数量;
所述控制器设定所述快闪存储器的垃圾回收处理的速度挡,所述垃圾回收处理的速度挡满足:
垃圾回收处理的速度挡=(用户区块数量-用户区块数量*垃圾回收比例阈值)/初始数量;
在所述使用区块数量与所述用户区块数量的比值达到上限值,将所述上限值表征为所述垃圾回收比例阈值,所述用户区块数量表征所述快闪存储器中所有用户可操作区块的数量。
2.根据权利要求1所述的存储器件,其特征在于,所述控制器控制垃圾回收处理的启动时间,所述启动时间满足:
启动时间=全部容量*垃圾回收比例阈值*(固定数量/全部数量)/写入速度;
所述全部容量表征每个区块上的所述全部数量的页处于可用状态时,所述快闪存储器的存储容量,所述写入速度表征所述控制器向所述快闪存储器写入所述存储数据的速度。
3.根据权利要求1所述的存储器件,其特征在于,所述控制器控制所述快闪存储器上的预留空间,所述预留空间满足:
预留空间=(全部容量-用户容量)/用户容量;
在所述快闪存储器上,所述用户容量表征用户可操作区块对应的容量,所述预留空间表征用户不可操作区块对应的容量与所述用户容量之间的比值。
4.一种存储器件垃圾回收的控制方法,其特征在于,包括:
通过快闪存储器上的多个区块,存放存储数据;
通过控制器电性连接于所述快闪存储器;
通过所述控制器接收主机写入的所述存储数据;以及
在所述快闪存储器上,通过所述控制器,选取每个区块中固定数量的页处于可用状态,并设定垃圾回收处理的启动时间;
所述启动时间满足:启动时间=初始时间*固定数量/全部数量;
其中,所述全部数量表征每个区块上所有页的数量,所述初始时间表征每个区块上所述全部数量的页处于可用状态时,对所述快闪存储器进行垃圾回收处理的时间;
所述选取每个区块中固定数量的页处于可用状态的步骤之后,包括:
通过所述控制器,获取所述快闪存储器中闲置区块的数量和使用区块的数量;
通过所述控制器,设定每消耗启动数量的所述闲置区块时,调整一次垃圾回收处理的速度值;
所述启动数量满足:启动数量=初始数量;
其中,在所述快闪存储器上,每个区块上的所述全部数量的页处于可用状态时,将垃圾回收处理的速度值进行调整所消耗所述闲置区块的数量,记为所述初始数量;
所述通过所述控制器,设定每消耗启动数量的所述闲置区块时,调整一次垃圾回收处理的速度值的步骤之后,包括:
通过所述控制器,设定所述快闪存储器的垃圾回收处理的速度挡;
所述垃圾回收处理的速度挡满足:垃圾回收处理的速度挡=(用户区块数量-用户区块数量*垃圾回收比例阈值)/初始数量;
其中,在所述使用区块数量与所述用户区块数量的比值达到上限值,将所述上限值表征为所述垃圾回收比例阈值,所述用户区块数量表征所述快闪存储器中所有用户可操作区块的数量。
5.根据权利要求4所述的存储器件垃圾回收的控制方法,其特征在于,所述通过所述控制器,设定所述快闪存储器的垃圾回收处理的速度挡的步骤之后,包括:
通过所述控制器控制垃圾回收处理的启动时间;
所述启动时间满足:启动时间=全部容量*垃圾回收比例阈值*(固定数量/全部数量)/写入速度;
其中,所述全部容量表征每个区块上的所述全部数量的页处于可用状态时,所述快闪存储器的存储容量,所述写入速度表征所述控制器向所述快闪存储器写入所述存储数据的速度。
6.根据权利要求4所述的存储器件垃圾回收的控制方法,其特征在于,所述在所述快闪存储器上,通过所述控制器,选取每个区块中固定数量的页处于可用状态,并设定垃圾回收处理的启动时间的步骤之后,包括:
通过所述控制器控制所述快闪存储器上的预留空间;
所述预留空间满足:预留空间=(全部容量-用户容量)/用户容量;
其中,在所述快闪存储器上,所述用户容量表征用户可操作区块对应的容量,所述预留空间表征用户不可操作区块对应的容量与所述用户容量之间的比值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310890296.8A CN116644001B (zh) | 2023-07-20 | 2023-07-20 | 一种存储器件及其垃圾回收的控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310890296.8A CN116644001B (zh) | 2023-07-20 | 2023-07-20 | 一种存储器件及其垃圾回收的控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116644001A CN116644001A (zh) | 2023-08-25 |
CN116644001B true CN116644001B (zh) | 2023-10-17 |
Family
ID=87619164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310890296.8A Active CN116644001B (zh) | 2023-07-20 | 2023-07-20 | 一种存储器件及其垃圾回收的控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116644001B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352593A (zh) * | 2020-02-29 | 2020-06-30 | 杭州电子科技大学 | 一种区分快写和正常写的固态硬盘数据写入方法 |
CN111813343A (zh) * | 2020-07-16 | 2020-10-23 | 济南浪潮数据技术有限公司 | 一种固态硬盘垃圾回收方法、系统及相关组件 |
CN114063893A (zh) * | 2020-07-29 | 2022-02-18 | 慧荣科技股份有限公司 | 数据储存装置与数据处理方法 |
CN114968830A (zh) * | 2021-02-18 | 2022-08-30 | 慧荣科技股份有限公司 | 垃圾回收操作的管理机制 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9645924B2 (en) * | 2013-12-16 | 2017-05-09 | International Business Machines Corporation | Garbage collection scaling |
KR102447602B1 (ko) * | 2017-10-25 | 2022-09-26 | 삼성전자주식회사 | 메모리 장치 및 그 동적 가비지 컬렉션 방법 |
KR20200085513A (ko) * | 2019-01-07 | 2020-07-15 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
-
2023
- 2023-07-20 CN CN202310890296.8A patent/CN116644001B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352593A (zh) * | 2020-02-29 | 2020-06-30 | 杭州电子科技大学 | 一种区分快写和正常写的固态硬盘数据写入方法 |
CN111813343A (zh) * | 2020-07-16 | 2020-10-23 | 济南浪潮数据技术有限公司 | 一种固态硬盘垃圾回收方法、系统及相关组件 |
CN114063893A (zh) * | 2020-07-29 | 2022-02-18 | 慧荣科技股份有限公司 | 数据储存装置与数据处理方法 |
CN114968830A (zh) * | 2021-02-18 | 2022-08-30 | 慧荣科技股份有限公司 | 垃圾回收操作的管理机制 |
Also Published As
Publication number | Publication date |
---|---|
CN116644001A (zh) | 2023-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8626986B2 (en) | Pre-emptive garbage collection of memory blocks | |
US6529416B2 (en) | Parallel erase operations in memory systems | |
KR101078792B1 (ko) | 비휘발성 메모리의 읽기 지연을 감소시키는 방법 및 장치 | |
CN101719103B (zh) | 基于存储设备的信息处理方法以及存储设备 | |
EP2248023B1 (en) | Extended utilization area for a memory device | |
US8706983B2 (en) | Garbage collection of memory blocks using volatile memory | |
EP2022059B1 (en) | Method and apparatus for improving storage performance using a background erase | |
US8195971B2 (en) | Solid state disk and method of managing power supply thereof and terminal including the same | |
CN116610597B (zh) | 一种存储器件及其垃圾回收的控制方法 | |
US20210397511A1 (en) | Nvm endurance group controller using shared resource architecture | |
CN111399752A (zh) | 不同类型存储单元的控制装置及方法 | |
CN112256203B (zh) | Flash存储器的写入方法、装置、设备、介质及系统 | |
CN116644001B (zh) | 一种存储器件及其垃圾回收的控制方法 | |
CN116610596B (zh) | 一种存储器件及其数据处理方法 | |
US20230138586A1 (en) | Storage device and method of operating the same | |
CN113495850A (zh) | 管理垃圾回收程序的方法、装置及计算机可读取存储介质 | |
CN117785071B (zh) | 一种存储器及其性能优化方法 | |
KR102343599B1 (ko) | 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스 | |
US20230146696A1 (en) | Storage device and method for restoring meta data thereof | |
US20240004811A1 (en) | Memory controller, storage device, and method of operating the same | |
EP4361821A1 (en) | Memory system based on flash memory and method for managing meta data thereof | |
US20240111453A1 (en) | Memory device and management method thereof | |
JP2007280140A (ja) | 半導体記憶装置および信号処理システム | |
CN117406912A (zh) | 存储器系统、存储器控制器及其操作方法 | |
CN112988068A (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 |