CN111078137B - 清理存储空间的方法 - Google Patents

清理存储空间的方法 Download PDF

Info

Publication number
CN111078137B
CN111078137B CN201911083376.2A CN201911083376A CN111078137B CN 111078137 B CN111078137 B CN 111078137B CN 201911083376 A CN201911083376 A CN 201911083376A CN 111078137 B CN111078137 B CN 111078137B
Authority
CN
China
Prior art keywords
data
group
data block
block
read
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
Application number
CN201911083376.2A
Other languages
English (en)
Other versions
CN111078137A (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.)
Shenzhen Tigo Semiconductor Co ltd
Original Assignee
Shenzhen Tigo Semiconductor 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 Shenzhen Tigo Semiconductor Co ltd filed Critical Shenzhen Tigo Semiconductor Co ltd
Priority to CN201911083376.2A priority Critical patent/CN111078137B/zh
Publication of CN111078137A publication Critical patent/CN111078137A/zh
Application granted granted Critical
Publication of CN111078137B publication Critical patent/CN111078137B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0608Saving storage space on storage systems
    • 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)
  • Memory System (AREA)

Abstract

本申请涉及一种清理存储空间的方法,所述方法包括:获取存储器与控制器连接的通道数以及与各个通道相对应的芯片信息,所述芯片信息包括多个数据块的数据存储情况;根据所述芯片信息确定每个通道下的待回收数据块;判断所述待回收数据块是否存在有效数据;当所述待回收数据块存在有效数据时,将所述有效数据进行回收处理;对每个通道下的所述待回收数据块进行擦除处理。根据上述方法采用统一的方法确定每个通道下的待回收数据块,使得每个通道下的待回收数据块内的有效数据量相差较小,减少了每个通道下进行垃圾回收的次数,提高了对数据块释放可利用空间的效率。

Description

清理存储空间的方法
技术领域
本申请涉及计算机技术领域,尤其涉及一种清理存储空间的方法。
背景技术
基于闪存的固态硬盘包含3种基本操作:读、写和擦除。读和写都是以页为单位进行操作;擦除以块为单位进行操作。若某个页已经存储有效数据,则无法对该页直接进行覆盖写操作,因此固态硬盘处理写请求时不支持原地更新,而是采用异地更新的方法,也就是将原数据页的数据置为无效,将新数据写入到其他空闲页中。
因为基于闪存的固态硬盘采用异地更新的机制,随着系统的运行,存放在固态硬盘里的数据越来越多,但固态硬盘的存储空间是有限的,如果不将固态硬盘里无效数据进行清理,那么固态硬盘的存储空间迟早会被消耗空,因此基于闪存的固态硬盘需要擦除这些包含无效数据页的块来获得新的空闲块,该操作称为“垃圾回收”。固态硬盘的垃圾回收过程是:
(1)选取待回收的块,将其上的有效数据复制到空闲块中;
(2)更新地址映射信息;
(3)擦除待回收块并将它们加入到空闲块列表中。由此可知,垃圾回收操作会花费大量的时间。除此之外,在垃圾回收过程中,该固态硬盘的芯片无法处理来自用户的读写请求,此时该芯片接收到的读写请求都将被挂起等待,直到垃圾回收操作完成才能被处理。因此,垃圾回收操作的效率直接影响了固态硬盘存储系统的性能,该问题已经成为存储研究热点之一。
发明内容
为了解决上述技术问题,本申请提供了一种清理存储空间的方法。
本申请提供了一种清理存储空间的方法,所述方法包括:
获取存储器与控制器连接的通道数以及与各个通道相对应的芯片信息,所述芯片信息包括多个数据块的数据存储情况;
根据所述芯片信息确定每个通道下的待回收数据块;
判断所述待回收数据块是否存在有效数据;
当所述待回收数据块存在有效数据时,将所述有效数据进行回收处理;
对每个通道下的所述待回收数据块进行擦除处理。
可选地,所述多个数据块的数据存储情况包括由多个数据块组成的数据写入组群、回收候选组群和存储数据组群的数据存储信息,所述数据写入组群、回收候选组群和存储数据组群分别包括至少一个数据块,所述数据写入组群对应一个超级块,所述超级块由各个通道下索引编号相同的数据块组成,所述回收候选组群和存储数据组群分别对应一个数据块池,所述根据所述芯片信息确定每个通道下的待回收数据块,包括:
根据所述芯片信息判断所述数据写入组群对应的超级块是否写满;
当所述数据写入组群对应的超级块写满时,将所述数据写入组群对应的超级块移动至所述存储数据组群内;
计算所述存储数据组群和所述回收候选组群内每个数据块的无效数据占比值;
从所述存储数据组群内无效数据占比值大于或等于设定阈值的至少一个数据块内,选取无效数据占比值最大的数据块,并将该数据块移动至所述回收候选组群内;
从所述回收候选组群内选取无效数据占比值最高的一个数据块作为待回收数据块。
可选地,所述多个数据块的数据存储情况还包括数据回收组群的数据存储信息,所述数据回收组群对应一个超级块,所述当所述待回收数据块存在有效数据时,将所述有效数据进行回收处理,包括:
读取所述待回收数据块内的有效数据;
将所述有效数据写入所述数据回收组群对应的超级块内进行回收处理。
可选地,所述将所述有效数据写入所述数据回收组群对应的超级块内进行回收处理之后,所述方法还包括:
判断所述数据回收组群对应的超级块是否写满数据;
当所述数据回收组群对应的超级块写满时,则把所述数据回收组群对应的超级块移动至所述存储数据组群内。
可选地,所述芯片信息还包括空白数据组群的数据存储信息,所述空白数据组群对应一个数据块池,当所述待回收数据块不存在有效数据时,或当所述待回收数据块存在有效数据时,将所述有效数据进行回收处理之后,所述对每个通道下的所述待回收数据块进行擦除处理,包括:
对每个通道下的所述待回收数据块进行擦除处理,并将擦除后的所述待回收数据块移动至所述空白数据组群。
可选地,所述对每个通道下的所述待回收数据块进行擦除处理之后,所述方法还包括:
从空白数据组群对应的数据池中取一个擦除次数最小的数据块,移动至数据写入组群或数据回收组群,更新所述芯片信息,用于下次写入数据。
可选地,所述获取存储器与控制器连接的通道数以及与各个通道相对应的芯片信息之前,所述方法还包括:
判断是否接收到主机的读写指令;
当接收到主机的读写指令时,则根据所述芯片信息判断主机的读写指令和清理数据块的优先级;
当主机的读写指令的优先级大于所述清理数据块的优先级时,则:
优先进行主机的读写指令操作。
可选地,当主机的读写指令的优先级小于所述清理数据块的优先级时,则:
优先进行清理数据块操作。
可选地,所述当接收到主机的读写指令时,则根据所述芯片信息判断主机的读写指令和清理数据块的优先级,包括:
当接收到主机的读写指令时,则根据所述存储器的数据存储空间判断主机的读写指令和清理数据块的优先级;
所述当主机的读写指令的优先级大于所述清理数据块的优先级时,则优先进行主机的读写指令操作,包括:
当存储器的数据存储空间大于空间阈值时,使主机的读写指令的优先级大于所述清理数据块的优先级,则优先进行主机的读写指令操作。
可选地,当主机的读写指令的优先级小于所述清理数据块的优先级时,则优先进行清理数据块操作,包括:
当存储器的数据存储空间小于或等于空间阈值时,使主机的读写指令的优先级小于所述清理数据块的优先级,则优先进行清理数据块操作。
本发明的有益效果:
本发明公开了一种清理存储空间的方法,所述方法包括:获取存储器与控制器连接的通道数以及与各个通道相对应的芯片信息,所述芯片信息包括多个数据块的数据存储情况;根据所述芯片信息确定每个通道下的待回收数据块;判断所述待回收数据块是否存在有效数据;当所述待回收数据块存在有效数据时,将所述有效数据进行回收处理;对每个通道下的所述待回收数据块进行擦除处理。在现有技术中通常对每个通道下编号相同的数据块同时进行垃圾回收,但每个数据块内有效数据的比例不同,导致每个通道下对数据块进行垃圾回收的次数不同,使得垃圾回收的效率低,在垃圾回收过程中,该固态硬盘的芯片无法处理来自用户的读写请求,此时该芯片接收到的读写请求都将被挂起等待,直到垃圾回收操作完成才能被处理,垃圾回收时间较长,用户的读写请求等候时间过长,根据上述方法采用统一的方法确定每个通道下的待回收数据块,使得每个通道下的待回收数据块内的有效数据量相差较小,减少了每个通道下进行垃圾回收的次数,提高了对数据块释放可利用空间的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中一种清理存储空间的方法的流程示意图;
图2为一个实施例中一种清理存储空间的方法的流程示意图;
图3为一个实施例中一种清理存储空间的方法的原理图;
图4为一个实施例中一种清理存储空间的方法的流程示意图;
图5为一个实施例中一种清理存储空间的方法的原理图;
图6为一个实施例中一种清理存储空间的方法的流程示意图;
图7为一个实施例中一种清理存储空间的方法的原理图;
图8为一个实施例中一种清理存储空间的方法的流程示意图;
图9为一个实施例中一种清理存储空间的方法的原理图;
图10为一个实施例中一种清理存储空间的方法的流程示意图;
图11为一个实施例中一种清理存储空间的方法的原理图;
图12为一个实施例中一种清理存储空间的方法的流程示意图;
图13为一个实施例中一种清理存储空间的方法的流程示意图;
图14为一个实施例中一种清理存储空间的方法的流程示意图;
图15为一个实施例中一种清理存储空间的方法的流程示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为一个实施例中一种清理存储空间的方法的流程示意图,在本发明实施例中,参照图1,本申请提供了一种清理存储空间的方法,所述方法包括:
S110、获取存储器与控制器连接的通道数以及与各个通道相对应的芯片信息,所述芯片信息包括多个数据块的数据存储情况;
S120、根据所述芯片信息确定每个通道下的待回收数据块;
S130、判断所述待回收数据块是否存在有效数据;
S140、当所述待回收数据块存在有效数据时,将所述有效数据进行回收处理;
S150、对每个通道下的所述待回收数据块进行擦除处理。
本实施例公开了一种清理存储空间的方法,所述方法包括:获取存储器与控制器连接的通道数以及与各个通道相对应的芯片信息,所述芯片信息包括多个数据块的数据存储情况;根据所述芯片信息确定每个通道下的待回收数据块;判断所述待回收数据块是否存在有效数据;当所述待回收数据块存在有效数据时,将所述有效数据进行回收处理;对每个通道下的所述待回收数据块进行擦除处理。在现有技术中通常对每个通道下编号相同的数据块同时进行垃圾回收,但每个数据块内有效数据的比例不同,导致每个通道下对数据块进行垃圾回收的次数不同,使得垃圾回收的效率低,在垃圾回收过程中,该固态硬盘的芯片无法处理来自用户的读写请求,此时该芯片接收到的读写请求都将被挂起等待,直到垃圾回收操作完成才能被处理,垃圾回收时间较长,用户的读写请求等候时间过长,根据上述方法采用统一的方法确定每个通道下的待回收数据块,使得每个通道下的待回收数据块内的有效数据量相差较小,减少了每个通道下进行垃圾回收的次数,提高了对数据块释放可利用空间的效率。
图2为一个实施例中一种清理存储空间的方法的流程示意图,参照图1和图2,在一个实施例中,所述多个数据块的数据存储情况包括由多个数据块组成的数据写入组群、回收候选组群和存储数据组群的数据存储信息,所述数据写入组群、回收候选组群和存储数据组群分别包括至少一个数据块,所述数据写入组群对应一个超级块,所述超级块由各个通道下索引编号相同的数据块组成,所述回收候选组群和存储数据组群分别对应一个数据块池,所述根据所述芯片信息确定每个通道下的待回收数据块,即步骤S120包括:
S121、根据所述芯片信息判断所述数据写入组群对应的超级块是否写满;
S122、当所述数据写入组群对应的超级块写满时,将所述数据写入组群对应的超级块移动至所述存储数据组群内;
S123、计算所述存储数据组群和所述回收候选组群内每个数据块的无效数据占比值;
S124、从所述存储数据组群内无效数据占比值大于或等于设定阈值的至少一个数据块内,选取无效数据占比值最大的数据块,并将该数据块移动至所述回收候选组群内;
S125、从所述回收候选组群内选取无效数据占比值最高的一个数据块作为待回收数据块。
在本实施例中,图3为一个实施例中一种清理存储空间的方法的原理图,参照图2和图3,所有通道下数据统一写入到各自数据写入组群对应的超级块内,图3中所有通道下的数据写入组群内的数据块组成一个超级块,当数据写入组群中的数据块被写满时,将所述数据写入组群对应的超级块移动至所述存储数据组群中,从所述存储数据组群对应的数据块池中选取无效数据占比最大的数据块,并将其移动至回收候选组群中,从所述回收候选组群内选取无效数据占比值最高的一个数据块作为待回收数据块,即选取有效数据占比值最低的数据块作为待回收数据块,有效数据占比值低的数据块可减少垃圾回收的次数。
图4为一个实施例中一种清理存储空间的方法的流程示意图,参照图2和图4,在一个实施例中,所述多个数据块的数据存储情况还包括数据回收组群的数据存储信息,所述数据回收组群对应一个超级块,所述当所述待回收数据块存在有效数据时,将所述有效数据进行回收处理,即步骤S140包括:
S141、读取所述待回收数据块内的有效数据;
S142、将所述有效数据写入所述数据回收组群对应的超级块内进行回收处理。
图5为一个实施例中一种清理存储空间的方法的原理图,参照图4和图5,在本实施例中,将读取所述待回收数据块内的有效数据,再将所有通道内读取的有效数据统一写入所述数据回收组群对应的超级块内,以上操作完成对有效数据的回收处理,将有效数据回收存储,利于后续对所述待回收数据块的垃圾回收操作,避免对待回收数据块进行垃圾回收时导致有效数据的丢失。
图6为一个实施例中一种清理存储空间的方法的流程示意图,参照图4和图6,在一个实施例中,所述将所述有效数据写入所述数据回收组群对应的超级块内进行回收处理之后,即步骤S142之后,所述方法还包括:
S143、判断所述数据回收组群对应的超级块是否写满数据;
S144、当所述数据回收组群对应的超级块写满时,则把所述数据回收组群对应的超级块移动至所述存储数据组群内。
图7为一个实施例中一种清理存储空间的方法的原理图,参照图6和图7,在本实施例中,所述数据回收组群对应的数据块用于回收有效数据,数据块内的数据实时更新且不断写入所述数据回收组群中,当所述数据回收组群对应的超级块写满数据时,则将所述超级块移动至所述存储数据组群中,重新选取无效数据占比值最大的数据块并移动至回收候选组群中,对所述数据回收组群中的数据块进行垃圾回收处理。
图8为一个实施例中一种清理存储空间的方法的流程示意图,参照图6和图8,在一个实施例中,所述芯片信息还包括空白数据组群的数据存储信息,所述空白数据组群对应一个数据块池,当所述待回收数据块不存在有效数据时,或当所述待回收数据块存在有效数据时,将所述有效数据进行回收处理之后,所述对每个通道下的所述待回收数据块进行擦除处理,即步骤S150包括:
S151、对每个通道下的所述待回收数据块进行擦除处理,并将擦除后的所述待回收数据块移动至所述空白数据组群。
图9为一个实施例中一种清理存储空间的方法的原理图,参照图8和图9,在本实施例中,对每个通道下的待回收数据块进行擦除处理,由于每个通道下都选取无效数据占比最大的数据块作为待回收数据块,因此所有通道同时进行数据擦除处理时,每个通道进行垃圾回收的次数和回收效率基本保持一致,避免存在不同通道下的数据回收量相差较大,导致数据回收量少的通道完成垃圾回收处理后,需要等待数据回收量多的通道继续进行垃圾回收处理,基于上述方法解决了垃圾回收过程中耗时长、效率低的问题。
图10为一个实施例中一种清理存储空间的方法的流程示意图,参照图8和图10,在一个实施例中,所述对每个通道下的所述待回收数据块进行擦除处理之后,即步骤S150之后,所述方法还包括:
S160、从空白数据组群对应的数据池中取一个擦除次数最小的数据块,移动至数据写入组群或数据回收组群,更新所述芯片信息,用于下次写入数据。
图11为一个实施例中一种清理存储空间的方法的原理图,参照图10和图11,在本实施例中,从所述空白数据组群中选取擦除次数最小的数据块,移动至数据写入组群或数据回收组群中,填补所述数据写入组群和数据回收组群中移动至存储数据组的数据块的空位,组成新的数据回收组群和数据写入组群,用于后续的数据写入。
图12为一个实施例中一种清理存储空间的方法的流程示意图,参照图12,在一个实施例中,所述获取存储器与控制器连接的通道数以及与各个通道相对应的芯片信息之前,即步骤S110之前,所述方法还包括:
S101、判断是否接收到主机的读写指令;
S102、当接收到主机的读写指令时,则根据所述芯片信息判断主机的读写指令和清理数据块的优先级;
S103、当主机的读写指令的优先级大于所述清理数据块的优先级时,则:
优先进行主机的读写指令操作。
在本实施例中,根据所述芯片信息判断主机的读写指令和清理数据块的优先级,当主机的读写指令的优先级大于所述清理数据块的优先级时,则优先进行主机的读写指令操作,解决了在传统的垃圾回收过程中,该固态硬盘的芯片无法处理来自用户的读写请求,此时该芯片接收到主机的读写指令都将被挂起等待,直到垃圾回收操作完成才能被处理,垃圾回收时间较长,主机的读写指令等候时间过长的问题。
图13为一个实施例中一种清理存储空间的方法的流程示意图,参照图12和图13,在一个实施例中,步骤S102之后,所述方法还包括:
S104、当主机的读写指令的优先级小于所述清理数据块的优先级时,则:
优先进行清理数据块操作。
在本实施例中,基于所述芯片信息得知当主机的读写指令的优先级小于所述清理数据块的优先级时,则优先进行清理数据块操作,在处理主机的读写指令的间隙进行清理数据块操作,合理地使主机的读写指令和清理数据块操作交叉有序地进行。
图14为一个实施例中一种清理存储空间的方法的流程示意图,参照图13和图14,在一个实施例中,所述当接收到主机的读写指令时,则根据所述芯片信息判断主机的读写指令和清理数据块的优先级,即步骤S102包括:
S1021、当接收到主机的读写指令时,则根据所述存储器的数据存储空间判断主机的读写指令和清理数据块的优先级;
所述当主机的读写指令的优先级大于所述清理数据块的优先级时,则优先进行主机的读写指令操作,即步骤S103包括:
S1031、当存储器的数据存储空间大于空间阈值时,使主机的读写指令的优先级大于所述清理数据块的优先级,则优先进行主机的读写指令操作。
在本实施例中,当存储器的数据存储空间大于空间阈值时,即数据存储空间足以下次数据写入时,则主机的读写指令优先执行,避免主机的读写指令长期处于等待状态,在主机的读写指令执行的间隙进行清理数据块的操作。
图15为一个实施例中一种清理存储空间的方法的流程示意图,参照图14和图15,在一个实施例中,当主机的读写指令的优先级小于所述清理数据块的优先级时,则优先进行清理数据块操作,即步骤S104包括:
S1041、当存储器的数据存储空间小于或等于空间阈值时,使主机的读写指令的优先级小于所述清理数据块的优先级,则优先进行清理数据块操作。
在本实施例中,当存储器的数据存储空间不足以下次写入数据时,则优先进行清理数据块操作,清理数据块分时段进行不同的操作,对待回收数据块读取有效数据、将所述有效数据写入数据回收组群中、对所述待回收数据块进行擦除操作,将上述操作分时段进行,没有集中在同一时间段内进行,在进行上述清理数据块操作的间隙进行主机的读写指令,避免主机的读写指令长期处于等待状态。
图1、图2、图4、图6、图8、图10、图12-图15为各个实施例中一种清理存储空间的方法的流程示意图。应该理解的是,虽然图1、
图2、图4、图6、图8、图10、图12-图15的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、图2、图4、图6、图8、图10、图12-图15中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (7)

1.一种清理存储空间的方法,其特征在于,所述方法包括:
获取存储器与控制器连接的通道数以及与各个通道相对应的芯片信息,所述芯片信息包括多个数据块的数据存储情况;
根据所述芯片信息确定每个通道下的待回收数据块;
判断所述待回收数据块是否存在有效数据;
当所述待回收数据块存在有效数据时,将所述有效数据进行回收处理;
对每个通道下的所述待回收数据块进行擦除处理;
其中,所述多个数据块的数据存储情况包括由多个数据块组成的数据写入组群、回收候选组群和存储数据组群的数据存储信息,所述数据写入组群、回收候选组群和存储数据组群分别包括至少一个数据块,所述数据写入组群对应一个超级块,所述超级块由各个通道下索引编号相同的数据块组成,所述回收候选组群和存储数据组群分别对应一个数据块池,所述根据所述芯片信息确定每个通道下的待回收数据块,包括:
根据所述芯片信息判断所述数据写入组群对应的超级块是否写满;
当所述数据写入组群对应的超级块写满时,将所述数据写入组群对应的超级块移动至所述存储数据组群内;
计算所述存储数据组群和所述回收候选组群内每个数据块的无效数据占比值;
从所述存储数据组群内无效数据占比值大于或等于设定阈值的至少一个数据块内,选取无效数据占比值最大的数据块,并将该数据块移动至所述回收候选组群内;
从所述回收候选组群内选取无效数据占比值最高的一个数据块作为待回收数据块;
其中,所述多个数据块的数据存储情况还包括数据回收组群的数据存储信息,所述数据回收组群对应一个超级块,所述当所述待回收数据块存在有效数据时,将所述有效数据进行回收处理,包括:
读取所述待回收数据块内的有效数据;
将所述有效数据写入所述数据回收组群对应的超级块内进行回收处理;
当所述数据回收组群对应的超级块写满时,则把所述数据回收组群对应的超级块移动至所述存储数据组群内。
2.根据权利要求1所述的方法,其特征在于,所述芯片信息还包括空白数据组群的数据存储信息,所述空白数据组群对应一个数据块池,当所述待回收数据块不存在有效数据时,或当所述待回收数据块存在有效数据时,将所述有效数据进行回收处理之后,所述对每个通道下的所述待回收数据块进行擦除处理,包括:
对每个通道下的所述待回收数据块进行擦除处理,并将擦除后的所述待回收数据块移动至所述空白数据组群。
3.根据权利要求2所述的方法,其特征在于,所述对每个通道下的所述待回收数据块进行擦除处理之后,所述方法还包括:
从空白数据组群对应的数据池中取一个擦除次数最小的数据块,移动至数据写入组群或数据回收组群,更新所述芯片信息,用于下次写入数据。
4.根据权利要求1所述的方法,其特征在于,所述获取存储器与控制器连接的通道数以及与各个通道相对应的芯片信息之前,所述方法还包括:
判断是否接收到主机的读写指令;
当接收到主机的读写指令时,则根据所述芯片信息判断主机的读写指令和清理数据块的优先级;
当主机的读写指令的优先级大于所述清理数据块的优先级时,则:
优先进行主机的读写指令操作。
5.根据权利要求4所述的方法,其特征在于,当主机的读写指令的优先级小于所述清理数据块的优先级时,则:
优先进行清理数据块操作。
6.根据权利要求5所述的方法,其特征在于,所述当接收到主机的读写指令时,则根据所述芯片信息判断主机的读写指令和清理数据块的优先级,包括:
当接收到主机的读写指令时,则根据所述存储器的数据存储空间判断主机的读写指令和清理数据块的优先级;
所述当主机的读写指令的优先级大于所述清理数据块的优先级时,则优先进行主机的读写指令操作,包括:
当存储器的数据存储空间大于空间阈值时,使主机的读写指令的优先级大于所述清理数据块的优先级,则优先进行主机的读写指令操作。
7.根据权利要求6所述的方法,其特征在于,当主机的读写指令的优先级小于所述清理数据块的优先级时,则优先进行清理数据块操作,包括:
当存储器的数据存储空间小于或等于空间阈值时,使主机的读写指令的优先级小于所述清理数据块的优先级,则优先进行清理数据块操作。
CN201911083376.2A 2019-11-07 2019-11-07 清理存储空间的方法 Active CN111078137B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911083376.2A CN111078137B (zh) 2019-11-07 2019-11-07 清理存储空间的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911083376.2A CN111078137B (zh) 2019-11-07 2019-11-07 清理存储空间的方法

Publications (2)

Publication Number Publication Date
CN111078137A CN111078137A (zh) 2020-04-28
CN111078137B true CN111078137B (zh) 2021-07-06

Family

ID=70310967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911083376.2A Active CN111078137B (zh) 2019-11-07 2019-11-07 清理存储空间的方法

Country Status (1)

Country Link
CN (1) CN111078137B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114415963B (zh) * 2021-12-03 2023-09-19 武汉深之度科技有限公司 一种硬盘数据清理方法、装置及计算设备
CN115904257A (zh) * 2023-02-24 2023-04-04 浪潮电子信息产业股份有限公司 一种ssd的管理方法、系统、服务器、装置及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902465A (zh) * 2014-03-19 2014-07-02 华为技术有限公司 一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器
US9189389B2 (en) * 2013-03-11 2015-11-17 Kabushiki Kaisha Toshiba Memory controller and memory system
CN106681935A (zh) * 2016-12-29 2017-05-17 郑州云海信息技术有限公司 一种固态硬盘垃圾回收方法
CN107515728A (zh) * 2016-06-17 2017-12-26 清华大学 发挥闪存设备内部并发特性的数据管理方法和装置
CN108509349A (zh) * 2017-02-27 2018-09-07 立而鼎科技(深圳)有限公司 一种nand flash的数据源区块回收方法及固态硬盘
CN108595112A (zh) * 2018-03-14 2018-09-28 深圳忆联信息系统有限公司 一种优化触发机制的ssd垃圾回收方法及固态硬盘
CN108897492A (zh) * 2018-05-30 2018-11-27 新华三技术有限公司 一种数据写入方法和装置
CN109074310A (zh) * 2016-03-29 2018-12-21 美光科技公司 包含动态超级块的存储器装置及相关方法以及电子系统
CN109144885A (zh) * 2017-06-27 2019-01-04 北京忆恒创源科技有限公司 固态存储设备的垃圾回收方法与固态存储设备
CN110389712A (zh) * 2018-04-20 2019-10-29 武汉海康存储技术有限公司 数据写入方法及其装置、固态硬盘和计算机可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285946B2 (en) * 2009-12-15 2012-10-09 International Business Machines Corporation Reducing access contention in flash-based memory systems
CN106775496B (zh) * 2013-10-23 2020-01-21 华为技术有限公司 一种存储数据处理方法及装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9189389B2 (en) * 2013-03-11 2015-11-17 Kabushiki Kaisha Toshiba Memory controller and memory system
CN103902465A (zh) * 2014-03-19 2014-07-02 华为技术有限公司 一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器
CN106681934A (zh) * 2014-03-19 2017-05-17 华为技术有限公司 一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器
CN109074310A (zh) * 2016-03-29 2018-12-21 美光科技公司 包含动态超级块的存储器装置及相关方法以及电子系统
CN107515728A (zh) * 2016-06-17 2017-12-26 清华大学 发挥闪存设备内部并发特性的数据管理方法和装置
CN106681935A (zh) * 2016-12-29 2017-05-17 郑州云海信息技术有限公司 一种固态硬盘垃圾回收方法
CN108509349A (zh) * 2017-02-27 2018-09-07 立而鼎科技(深圳)有限公司 一种nand flash的数据源区块回收方法及固态硬盘
CN109144885A (zh) * 2017-06-27 2019-01-04 北京忆恒创源科技有限公司 固态存储设备的垃圾回收方法与固态存储设备
CN108595112A (zh) * 2018-03-14 2018-09-28 深圳忆联信息系统有限公司 一种优化触发机制的ssd垃圾回收方法及固态硬盘
CN110389712A (zh) * 2018-04-20 2019-10-29 武汉海康存储技术有限公司 数据写入方法及其装置、固态硬盘和计算机可读存储介质
CN108897492A (zh) * 2018-05-30 2018-11-27 新华三技术有限公司 一种数据写入方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
全程优化的固态硬盘垃圾回收方法;方才华 等;《计算机应用》;20170510;正文 *

Also Published As

Publication number Publication date
CN111078137A (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN103425595B (zh) 数据储存装置和闪存的区块管理方法
CN102768644B (zh) 闪存系统及其闪存无效数据页信息的管理方法与回收方法
CN102576293B (zh) 固态存储设备和分层存储系统中的数据管理
CN102012867B (zh) 资料储存系统
CN102779095B (zh) 闪存装置、存储器控制装置、存储器控制方法及存储系统
KR101663667B1 (ko) 플래시 메모리의 주소 매핑에 의한 데이터 관리 방법 및 장치
CN101382918B (zh) 一种基于数据交换区的NAND Flash闪存优化管理方法
US9582416B2 (en) Data erasing method, memory control circuit unit and memory storage apparatus
WO2019178845A1 (zh) 一种存储介质垃圾回收方法、存储介质和程序产品
CN111078137B (zh) 清理存储空间的方法
CN1645516B (zh) 用于闪速存储器的数据恢复设备和方法
TW201413451A (zh) 非揮發性記憶體的資料收集方法
CN110531927B (zh) 一种基于块分级的垃圾回收方法及非易失性的存储设备
CN102508788A (zh) Ssd及ssd垃圾回收方法和装置
CN109284233B (zh) 一种存储系统的垃圾回收方法及相关装置
KR101374065B1 (ko) 칩 레벨 평행 플래시 메모리를 위한 정보 분별 방법 및 장치
CN115269451B (zh) 闪存垃圾回收方法、装置及可读存储介质
CN111880723A (zh) 数据储存装置与数据处理方法
CN110674056A (zh) 一种垃圾回收方法及装置
CN111090392A (zh) 一种基于特征码的冷热数据分离方法
CN101894077B (zh) 一种数据存储方法及系统
WO2017143972A1 (zh) 数据处理方法及装置
CN111737165A (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
US20170017406A1 (en) Systems and methods for improving flash-oriented file system garbage collection
CN106021124B (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