CN106354660A - 固态存储设备的垃圾回收方法及装置 - Google Patents
固态存储设备的垃圾回收方法及装置 Download PDFInfo
- Publication number
- CN106354660A CN106354660A CN201610761417.9A CN201610761417A CN106354660A CN 106354660 A CN106354660 A CN 106354660A CN 201610761417 A CN201610761417 A CN 201610761417A CN 106354660 A CN106354660 A CN 106354660A
- Authority
- CN
- China
- Prior art keywords
- flash cell
- cell cluster
- block
- physical
- logical block
- 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.)
- Pending
Links
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
- 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)
- Memory System (AREA)
Abstract
本发明属于电子存储技术领域。本发明实施例公开了一种固态存储设备的垃圾回收方法及装置,该方法包括:将固态存储设备的各闪存通道所对应的闪存单元划分为第一闪存单元簇和第二闪存单元簇,其中第一闪存单元簇被优先选用进行读写操作;当第一触发条件满足时,对第一闪存单元簇进行垃圾回收操作,同时选用第二闪存单元簇进行新数据的写操作;当第一闪存单元簇完成垃圾回收操作时,选用第一闪存单元簇进行新数据的写操作;当第二触发条件满足时,对第二闪存单元簇进行垃圾回收操作。采用本发明方案,可使垃圾回收操作和新数据的写操作分别在不同的闪存单元簇上进行,并可提前垃圾回收,减少垃圾回收的开销,有效降低垃圾回收带来的读写性能损失。
Description
技术领域
本发明属于电子存储技术领域,尤其涉及一种固态存储设备的垃圾回收方法及装置。
背景技术
随着电子存储技术的发展,固态存储设备的应用越来越广泛。固态硬盘(SolidState Disk或Solid State Drive,以下简称SSD),也称作电子硬盘或者固态电子盘,是一种由控制单元和固态存储单元组成的固态存储设备。根据SSD内部存储介质特性的不同,SSD通常分为两种类型,一类是基于随机动态存取存储单元(Dynamic Random AccessMemory,简称DRAM)的SSD,一类是基于闪存单元(Flash Memory,简称Flash)的SSD。随着半导体工业的发展,闪存单元的集成度愈来愈高,基于闪存单元的SSD以其存储容量大、体积小、可移动、绿色省电和无机械部件可靠性高等优点被广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空、导航设备等领域。
为了提高读写速度,目前基于闪存单元的SSD普遍采用一控制单元通过多个通道同时并行控制多片闪存单元数据进行读写操作。由于基于闪存介质的SSD具有异地更新的特性,SSD在使用一段时间后会存在大量的无效数据,需要通过垃圾回收方法来回收无效数据占据的物理块,以增加SSD中可用的物理空间。在现有技术中,SSD中所有闪存单元的垃圾回收触发机制是统一的,通常采用空闲块阈值作为触发垃圾回收操作的判断标准,亦即当SSD中空白物理块的数量小于空闲块阈值时,触发SSD的垃圾回收操作。垃圾回收的过程一般是先读取被选中的逻辑块所对应的所有物理块中的物理页的有效数据,将该有效数据对应写入空白物理块的物理页中,再对被选中的逻辑块所对应的所有物理块进行擦除操作。由于垃圾回收过程中涉及到有效数据的搬迁和物理块的擦除操作,在有效数据搬迁和物理块擦除时有效数据的源物理页和目的物理页所在的闪存单元以及待擦除的物理块所在的闪存单元均会被占用,垃圾回收操作的开销也会随着逻辑块所对应的物理块数量的增加而增加。对于大容量的固态存储设备而言,这样的垃圾回收开销是无法估量的,并且会严重影响固态存储设备的读写性能,降低读写效率。
发明内容
本发明实施例的目的在于提供一种固态存储设备的垃圾回收方法及装置,用以解决现有技术中垃圾回收开销大,并且严重影响固态存储设备读写性能的问题。
一方面,本发明实施例提供一种固态存储设备的垃圾回收方法,包括:
将固态存储设备的各闪存通道所对应的闪存单元划分为第一闪存单元簇和第二闪存单元簇,其中所述第一闪存单元簇被优先选用进行读写操作;
当第一触发条件满足时,对所述第一闪存单元簇进行垃圾回收操作;
当所述第一闪存单元簇进行垃圾回收操作时,选用所述第二闪存单元簇进行新数据的写操作;
当所述第一闪存单元簇完成垃圾回收操作时,选用所述第一闪存单元簇进行新数据的写操作;
当第二触发条件满足时,对所述第二闪存单元簇进行垃圾回收操作。
另一方面,本发明实施例提供一种固态存储设备的垃圾回收装置,包括:
闪存划分模块,用于将固态存储设备的各闪存通道所对应的闪存单元划分为第一闪存单元簇和第二闪存单元簇,其中所述第一闪存单元是被优先选用进行读写操作的闪存单元簇;
第一垃圾回收模块,用于当第一触发条件满足时,对所述第一闪存单元簇进行垃圾回收操作;
第一闪存选用模块,用于当所述第一闪存单元簇进行垃圾回收操作时,选用所述第二闪存单元簇进行新数据的写操作;
第二闪存选用模块,用于当所述第一闪存单元簇完成垃圾回收操作时,选用所述第一闪存单元簇进行新数据的写操作;
第二垃圾回收模块,用于当第二触发条件满足时,对所述第二闪存单元簇进行垃圾回收操作。
从上述本发明实施例可知,本发明方案通过将固态存储设备各闪存通道所对应的闪存单元划分为两个闪存单元簇,并优先使用其中一个闪存单元簇进行读写操作,当被优先使用的闪存单元簇对应的触发条件满足时,对该优先使用的闪存单元簇进行垃圾回收操作,同时选用另一闪存单元簇进行新数据的写操作,当该闪存单元簇完成垃圾回收操作时,再选用该闪存单元簇进行新数据的写操作,这样不仅可使垃圾回收操作和新数据的写操作分别在不同的闪存单元上进行,并且可提前垃圾回收操作,减少垃圾回收的开销,有效降低垃圾回收带来的读写性能损失。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中固态存储设备的多通道并行架构示意图;
图2为本发明第一实施例中固态存储设备的垃圾回收方法的流程示意图;
图3为本发明第二实施例中固态存储设备的垃圾回收方法的流程示意图;
图4为本发明第三实施例中固态存储设备的垃圾回收装置的功能模块示意图。
图5为本发明第四实施例中固态存储设备的垃圾回收装置的功能模块示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例所提供的固态存储设备的垃圾回收方法及装置主要应用于采用多通道并行技术的大容量固态存储设备上。为便于理解,首先需要对本发明实施例中固态存储设备的多通道并行架构进行简单说明。
请参阅图1,为本发明实施例中固态存储设备的多通道并行架构示意图。如图1所示,本发明实施例中的固态存储设备包含一控制单元、m个闪存通道和m×n个闪存单元,并支持串行ATA(Serial Advanced Technology Attachment,简称SATA)接口,每个闪存通道对应n个闪存单元,其中,m为8的整数倍,n为大于1的自然数。控制单元通过m个闪存通道控制所有闪存单元的操作。
针对现有技术中存在的问题,本发明实施例是将固态存储设备中各闪存通道所对应的闪存单元划分为两个闪存单元簇,并为两个闪存单元簇分别设定了垃圾回收操作的触发条件,以使垃圾回收操作和新数据的写操作可以同时在不同的闪存单元簇上进行。下面将结合附图分别对本发明实施例所提供的固态存储设备的垃圾回收方法及装置进行详细说明。
请参阅图2,为本发明第一实施例中固态存储设备的垃圾回收方法的流程示意图。如图2所示,本发明实施例所提供的固态存储设备的垃圾回收方法包括以下步骤:
步骤101、将固态存储设备的各闪存通道所对应的闪存单元划分为第一闪存单元簇和第二闪存单元簇,其中第一闪存单元簇被优先选用进行读写操作;
步骤102、当第一触发条件满足时,对第一闪存单元簇进行垃圾回收操作;
步骤103、当第一闪存单元簇进行垃圾回收操作时,选用第二闪存单元簇进行新数据的写操作;
步骤104、当第一闪存单元簇完成垃圾回收操作时,选用第一闪存单元簇进行新数据的写操作;
步骤105、当第二触发条件满足时,对第二闪存单元簇进行垃圾回收操作。
需要说明的是,在本发明实施例中,第一触发条件是指触发第一闪存单元进行垃圾回收操作的条件,该第一触发条件可以为第一闪存单元簇中空白物理块的数量小于预设的第一空闲块阈值;所述步骤102对应为:当判断第一闪存单元簇中空白物理块的数量小于预设的第一空闲块阈值时,对第一闪存单元簇进行垃圾回收操作。第二触发条件是指触发第二闪存单元进行垃圾回收操作的条件,该第二触发条件可以为第二闪存单元簇中存在单个逻辑块对应的物理块数量大于预设的物理块阈值;所述步骤105对应为:当判断第二闪存单元簇中存在单个逻辑块对应的物理块数量大于预设的物理块阈值时,对第二闪存单元簇进行垃圾回收操作。
在下一实施例中将针对垃圾回收的触发机制进行具体说明。
请参阅图3,为本发明第二实施例中固态存储设备的垃圾回收方法的流程示意图。如图3所示,本发明实施例所提供的固态存储设备的垃圾回收方法包括以下步骤:
步骤201、将固态存储设备的各闪存通道所对应的闪存单元划分为第一闪存单元簇和第二闪存单元簇,其中第一闪存单元簇被优先选用进行读写操作;
可选地,结合图1所示固态存储设备的多通道并行架构示意图,在本发明实施例中,将固态存储设备的各闪存通道所对应的闪存单元划分为第一闪存单元簇和第二闪存单元簇的步骤,具体为:从固态存储设备的每个闪存通道所对应的闪存单元中选择n/2个闪存单元作为第一闪存单元簇,其余n/2个闪存单元则作为第二闪存单元簇。
步骤202、获取第一闪存单元簇中空白物理块的数量;
步骤203、判断第一闪存单元簇中空白物理块的数量是否小于预设的第一空闲块阈值;
步骤204、当判断第一闪存单元簇中空白物理块的数量小于第一空闲块阈值时,对第一闪存单元簇进行垃圾回收操作;
在本发明实施例中,对第一闪存单元簇进行垃圾回收操作的流程具体包括以下步骤:
(1)在第一闪存单元簇对应的逻辑块中查找对应物理块数量最多的第一逻辑块;
(2)为第一逻辑块在第一闪存单元簇中选择空白物理块作为第一空白物理块;
(3)依序对第一逻辑块对应的所有物理块进行读取操作,并将从物理块的物理页中读取出来的有效数据对应写入第一空白物理块的物理页中;
(4)对第一逻辑块对应的所有物理块进行擦除操作,并将第一逻辑块对应第一空白物理块。
步骤205、当第一闪存单元簇进行垃圾回收操作时,选用第二闪存单元簇进行新数据的写操作;
步骤206、当第一闪存单元簇完成垃圾回收操作时,选用第一闪存单元簇进行新数据的写操作;
步骤207、获取第二闪存单元簇中每个逻辑块对应的物理块数量;
步骤208、判断第二闪存单元簇中是否存在单个逻辑块对应的物理块数量大于预设的物理块阈值;
步骤209、当判断第二闪存单元簇中存在单个逻辑块对应的物理块数量大于物理块阈值时,对第二闪存单元簇进行垃圾回收操作。
在本发明实施例中,对第二闪存单元簇进行垃圾回收操作的过程具体包括以下步骤:
(1)在第二闪存单元簇对应的逻辑块中查找对应物理块数量最多的第二逻辑块;
(2)为第二逻辑块在第二闪存单元簇中选择空白物理块作为第二空白物理块;
(3)依序对第二逻辑块对应的所有物理块进行读取操作,并将从物理块的物理页中读取出来的有效数据对应写入第二空白物理块的物理页中;
(4)对第二逻辑块对应的所有物理块进行擦除操作,并将第二逻辑块对应第二空白物理块。
可选地,在本发明实施例的固态存储设备的垃圾回收方法中还可针对第二闪存单元簇再设定一套垃圾回收触发机制,以使得第二闪存单元簇在实际应用中可通过不同垃圾回收触发条件触发垃圾回收,从而增加可用的物理空间。具体地,本发明实施例所述的固态存储设备的垃圾回收方法还可包括以下步骤:
获取第二闪存单元簇中空白物理块的数量;
判断第二闪存单元簇中空白物理块的数量是否小于预设的第二空闲块阈值;
当判断第二闪存单元簇中空白物理块的数量小于第二空闲块阈值时,在第二闪存单元簇对应的逻辑块中查找对应物理块数量最多的第三逻辑块;
为第三逻辑块在第二闪存单元簇中选择空白物理块作为第三空白物理块;
依序对第三逻辑块对应的所有物理块进行读取操作,并将从所有物理块的物理页中读取出来的有效数据对应写入第二空白物理块的物理页中;
对第三逻辑块对应的所有物理块进行擦除操作,并将第三逻辑块对应第三空白物理块。
请参阅图4,为本发明第三实施例中固态存储设备的垃圾回收装置的功能模块示意图。如图4所示,本发明实施例的固态存储设备的垃圾回收装置包括:
闪存划分模块301,用于将固态存储设备的各闪存通道所对应的闪存单元划分为第一闪存单元簇和第二闪存单元簇,其中第一闪存单元是被优先选用进行读写操作的闪存单元簇;
第一垃圾回收模块302,用于当第一触发条件满足时,对第一闪存单元簇进行垃圾回收操作;
第一闪存选用模块303,用于当第一闪存单元簇进行垃圾回收操作时,选用第二闪存单元簇进行新数据的写操作;
第二闪存选用模块304,用于当第一闪存单元簇完成垃圾回收操作时,选用第一闪存单元簇进行新数据的写操作;
第二垃圾回收模块305,用于当第二触发条件满足时,对第二闪存单元簇进行垃圾回收操作。
在本发明实施例中,第一触发条件可以为第一闪存单元簇中空白物理块的数量小于预设的第一空闲块阈值;第一垃圾回收模块302,具体用于当判断第一闪存单元簇中空白物理块的数量小于第一空闲块阈值时,对第一闪存单元簇进行垃圾回收操作。第二触发条件可以为第二闪存单元簇中存在单个逻辑块对应的物理块数量大于预设的物理块阈值;第二垃圾回收模块305,具体用于当判断第二闪存单元簇中存在单个逻辑块对应的物理块数量大于物理块阈值时,对第二闪存单元簇进行垃圾回收操作。
请参阅图5,为本发明第四实施例中固态存储设备的垃圾回收装置的功能模块示意图。如图5所示,本发明实施例的固态存储设备的垃圾回收装置包括:
闪存划分模块401,用于将固态存储设备的各闪存通道所对应的闪存单元划分为第一闪存单元簇和第二闪存单元簇,其中第一闪存单元是被优先选用进行读写操作的闪存单元簇;
第一获取模块402,用于获取第一闪存单元簇中空白物理块的数量;
第一判断模块403,用于判断第一闪存单元簇中空白物理块的数量是否小于预设的第一空闲块阈值;
第一垃圾回收模块404,用于当判断第一闪存单元簇中空白物理块的数量小于第一空闲块阈值时,对第一闪存单元簇进行垃圾回收操作;
第一闪存选用模块405,用于当第一闪存单元簇进行垃圾回收操作时,选用第二闪存单元簇进行新数据的写操作;
第二闪存选用模块406,用于当第一闪存单元簇完成垃圾回收操作时,选用第一闪存单元簇进行新数据的写操作;
第二获取模块407,用于获取第二闪存单元簇中每个逻辑块对应的物理块数量;
第二判断模块408,用于判断第二闪存单元簇中是否存在单个逻辑块对应的物理块数量大于预设的物理块阈值;
第二垃圾回收模块409,用于当判断第二闪存单元簇中存在单个逻辑块对应的物理块数量大于物理块阈值时,对第二闪存单元簇进行垃圾回收操作。
在本发明实施例中,固态存储设备包含m个闪存通道,每个闪存通道对应n个闪存单元,其中m为8的整数倍,n为大于1的自然数;闪存划分单元具体用于从固态存储设备的每个闪存通道所对应的闪存单元中选择n/2个闪存单元作为第一闪存单元簇,其余n/2个闪存单元则作为第二闪存单元簇。
本发明实施例中的第一垃圾回收模块404具体包括:
第一查找子模块,用于在第一闪存单元簇对应的逻辑块中查找对应物理块数量最多的第一逻辑块;
第一选择子模块,用于为第一逻辑块在第一闪存单元簇中选择空白物理块作为第一空白物理块;
第一读写子模块,用于依序对第一逻辑块对应的所有物理块进行读取操作,并将从所有物理块的物理页中读取出来的有效数据对应写入第一空白物理块的物理页中;
第一擦除子模块,用于对第一逻辑块对应的所有物理块进行擦除操作,并将第一逻辑块对应第一空白物理块。
另外,本发明实施例中的第二垃圾回收模块409具体包括:
第二查找子模块,用于在第二闪存单元簇对应的逻辑块中查找对应物理块数量最多的第二逻辑块;
第二选择子模块,用于为第二逻辑块在第二闪存单元簇中选择空白物理块作为第二空白物理块;
第二读写子模块,用于依序对第二逻辑块对应的所有物理块进行读取操作,并将从所有物理块的物理页中读取出来的有效数据对应写入第二空白物理块的物理页中;
第二擦除子模块,用于对第二逻辑块对应的所有物理块进行擦除操作,并将第二逻辑块对应第二空白物理块。
可选地,本发明实施例的固态存储设备的垃圾回收装置还可包括:
第三获取模块,用于获取第二闪存单元簇中空白物理块的数量;
第三判断模块,用于判断第二闪存单元簇中空白物理块的数量是否小于预设的第二空闲块阈值;
第三查找模块,用于当判断第二闪存单元簇中空白物理块的数量小于第二空闲块阈值时,在第二闪存单元簇对应的逻辑块中查找对应物理块数量最多的第三逻辑块;
第三选择模块,用于为第三逻辑块在第二闪存单元簇中选择空白物理块作为第三空白物理块;
第三读写模块,用于依序对第三逻辑块对应的所有物理块进行读取操作,并将从所有物理块的物理页中读取出来的有效数据对应写入第三空白物理块的物理页中;
第三擦除模块,用于对第三逻辑块对应的所有物理块进行擦除操作,并将第三逻辑块对应第三空白物理块。
综上所述,本发明实施例所提供的固态存储设备的垃圾回收方法及装置通过将固态存储设备各闪存通道所对应的闪存单元划分为两个闪存单元簇,并优先使用其中一个闪存单元簇进行读写操作,当被优先使用的闪存单元簇对应的触发条件满足时,对该优先使用的闪存单元簇进行垃圾回收操作,同时选用另一闪存单元簇进行新数据的写操作,当该闪存单元簇完成垃圾回收操作时,再选用该闪存单元簇进行新数据的写操作,这样不仅可使垃圾回收操作和新数据的写操作分别在不同的闪存单元上进行,并且可提前垃圾回收操作,减少垃圾回收的开销,有效降低垃圾回收带来的读写性能损失。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来控制相关的硬件完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘、U盘、移动硬盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种固态存储设备的垃圾回收方法,其特征在于,包括:
将固态存储设备的各闪存通道所对应的闪存单元划分为第一闪存单元簇和第二闪存单元簇,其中所述第一闪存单元簇被优先选用进行读写操作;
当第一触发条件满足时,对所述第一闪存单元簇进行垃圾回收操作;
当所述第一闪存单元簇进行垃圾回收操作时,选用所述第二闪存单元簇进行新数据的写操作;
当所述第一闪存单元簇完成垃圾回收操作时,选用所述第一闪存单元簇进行新数据的写操作;
当第二触发条件满足时,对所述第二闪存单元簇进行垃圾回收操作。
2.根据权利要求1所述的固态存储设备的垃圾回收方法,其特征在于:所述第一触发条件为所述第一闪存单元簇中空白物理块的数量小于预设的第一空闲块阈值;
所述方法还包括:
获取所述第一闪存单元簇中空白物理块的数量;
判断所述第一闪存单元簇中空白物理块的数量是否小于所述第一空闲块阈值;
所述当第一触发条件满足时,对所述第一闪存单元簇进行垃圾回收操作的步骤,具体为:当判断所述第一闪存单元簇中空白物理块的数量小于所述第一空闲块阈值时,对所述第一闪存单元簇进行垃圾回收操作。
3.根据权利要求2所述的固态存储设备的垃圾回收方法,其特征在于:所述对所述第一闪存单元簇进行垃圾回收操作的步骤具体包括:
在所述第一闪存单元簇对应的逻辑块中查找对应物理块数量最多的第一逻辑块;
为所述第一逻辑块在所述第一闪存单元簇中选择空白物理块作为第一空白物理块;
依序对所述第一逻辑块对应的所有物理块进行读取操作,并将从所述物理块的物理页中读取出来的有效数据对应写入所述第一空白物理块的物理页中;
对所述第一逻辑块对应的所有物理块进行擦除操作,并将所述第一逻辑块对应所述第一空白物理块。
4.根据权利要求1所述的固态存储设备的垃圾回收方法,其特征在于:所述第二触发条件为所述第二闪存单元簇中存在单个逻辑块对应的物理块数量大于预设的物理块阈值;
所述方法还包括:
获取所述第二闪存单元簇中每个逻辑块对应的物理块数量;
判断所述第二闪存单元簇中是否存在单个逻辑块对应的物理块数量大于所述物理块阈值;
所述当第二触发条件满足时,对所述第二闪存单元簇进行垃圾回收操作的步骤,具体为:当判断所述第二闪存单元簇中存在单个逻辑块对应的物理块数量大于所述物理块阈值时,对所述第二闪存单元簇进行垃圾回收操作。
5.根据权利要求4所述的固态存储设备的垃圾回收方法,其特征在于:所述对所述第二闪存单元簇进行垃圾回收操作的步骤具体包括:
在所述第二闪存单元簇对应的逻辑块中查找对应物理块数量最多的第二逻辑块;
为所述第二逻辑块在所述第二闪存单元簇中选择空白物理块作为第二空白物理块;
依序对所述第二逻辑块对应的所有物理块进行读取操作,并将从所述物理块的物理页中读取出来的有效数据对应写入所述第二空白物理块的物理页中;
对所述第二逻辑块对应的所有物理块进行擦除操作,并将所述第二逻辑块对应所述第二空白物理块。
6.根据权利要求1所述的固态存储设备的垃圾回收方法,其特征在于:所述方法还包括:
获取所述第二闪存单元簇中空白物理块的数量;
判断所述第二闪存单元簇中空白物理块的数量是否小于预设的第二空闲块阈值;
当判断所述第二闪存单元簇中空白物理块的数量小于所述第二空闲块阈值时,在所述第二闪存单元簇对应的逻辑块中查找对应物理块数量最多的第三逻辑块;
为所述第三逻辑块在所述第二闪存单元簇中选择空白物理块作为第三空白物理块;
依序对所述第三逻辑块对应的所有物理块进行读取操作,并将从所述物理块的物理页中读取出来的有效数据对应写入所述第三空白物理块的物理页中;
对所述第三逻辑块对应的所有物理块进行擦除操作,并将所述第三逻辑块对应所述第三空白物理块。
7.根据权利要求1所述的固态存储设备的垃圾回收方法,其特征在于:所述固态存储设备包含m个闪存通道,每个闪存通道对应n个闪存单元,其中m为8的整数倍,n为大于1的自然数;
所述将固态存储设备的各闪存通道所对应的闪存单元划分为第一闪存单元簇和第二闪存单元簇的步骤,具体为:从所述固态存储设备的每个闪存通道所对应的闪存单元中选择n/2个闪存单元作为所述第一闪存单元簇,其余n/2个闪存单元则作为所述第二闪存单元簇。
8.一种固态存储设备的垃圾回收装置,其特征在于,包括:
闪存划分模块,用于将固态存储设备的各闪存通道所对应的闪存单元划分为第一闪存单元簇和第二闪存单元簇,其中所述第一闪存单元是被优先选用进行读写操作的闪存单元簇;
第一垃圾回收模块,用于当第一触发条件满足时,对所述第一闪存单元簇进行垃圾回收操作;
第一闪存选用模块,用于当所述第一闪存单元簇进行垃圾回收操作时,选用所述第二闪存单元簇进行新数据的写操作;
第二闪存选用模块,用于当所述第一闪存单元簇完成垃圾回收操作时,选用所述第一闪存单元簇进行新数据的写操作;
第二垃圾回收模块,用于当第二触发条件满足时,对所述第二闪存单元簇进行垃圾回收操作。
9.根据权利要求8所述的固态存储设备的垃圾回收装置,其特征在于:所述第一触发条件为所述第一闪存单元簇中空白物理块的数量小于预设的第一空闲块阈值;
所述装置还包括:
第一获取模块,用于获取所述第一闪存单元簇中空白物理块的数量;
第一判断模块,用于判断所述第一闪存单元簇中空白物理块的数量是否小于所述第一空闲块阈值;
所述第一垃圾回收模块具体用于当判断所述第一闪存单元簇中空白物理块的数量小于所述第一空闲块阈值时,对所述第一闪存单元簇进行垃圾回收操作。
10.根据权利要求9所述的固态存储设备的垃圾回收装置,其特征在于:所述第一垃圾回收模块包括:
第一查找子模块,用于在所述第一闪存单元簇对应的逻辑块中查找对应物理块数量最多的第一逻辑块;
第一选择子模块,用于为所述第一逻辑块在所述第一闪存单元簇中选择空白物理块作为第一空白物理块;
第一读写子模块,用于依序对所述第一逻辑块对应的所有物理块进行读取操作,并将从所述物理块的物理页中读取出来的有效数据对应写入所述第一空白物理块的物理页中;
第一擦除子模块,用于对所述第一逻辑块对应的所有物理块进行擦除操作,并将所述第一逻辑块对应所述第一空白物理块。
11.根据权利要求8所述的固态存储设备的垃圾回收装置,其特征在于:所述第二触发条件为所述第二闪存单元簇中存在单个逻辑块对应的物理块数量大于预设的物理块阈值;
所述装置还包括:
第二获取模块,用于获取所述第二闪存单元簇中每个逻辑块对应的物理块数量;
第二判断模块,用于判断所述第二闪存单元簇中是否存在单个逻辑块对应的物理块数量大于所述物理块阈值;
所述第二垃圾回收模块具体用于当判断所述第二闪存单元簇中存在单个逻辑块对应的物理块数量大于所述物理块阈值时,对所述第二闪存单元簇进行垃圾回收操作。
12.根据权利要求11所述的固态存储设备的垃圾回收装置,其特征在于:所述第二垃圾回收模块包括:
第二查找子模块,用于在所述第二闪存单元簇对应的逻辑块中查找对应物理块数量最多的第二逻辑块;
第二选择子模块,用于为所述第二逻辑块在所述第二闪存单元簇中选择空白物理块作为第二空白物理块;
第二读写子模块,用于依序对所述第二逻辑块对应的所有物理块进行读取操作,并将从所述物理块的物理页中读取出来的有效数据对应写入所述第二空白物理块的物理页中;
第二擦除子模块,用于对所述第二逻辑块对应的所有物理块进行擦除操作,并将所述第二逻辑块对应所述第二空白物理块。
13.根据权利要求8所述的固态存储设备的垃圾回收装置,其特征在于:所述装置还包括:
第三获取模块,用于获取所述第二闪存单元簇中空白物理块的数量;
第三判断模块,用于判断所述第二闪存单元簇中空白物理块的数量是否小于预设的第二空闲块阈值;
第三查找模块,用于当判断所述第二闪存单元簇中空白物理块的数量小于所述第二空闲块阈值时,在所述第二闪存单元簇对应的逻辑块中查找对应物理块数量最多的第三逻辑块;
第三选择模块,用于为所述第三逻辑块在所述第二闪存单元簇中选择空白物理块作为第三空白物理块;
第三读写模块,用于依序对所述第三逻辑块对应的所有物理块进行读取操作,并将从所述物理块的物理页中读取出来的有效数据对应写入所述第三空白物理块的物理页中;
第三擦除模块,用于对所述第三逻辑块对应的所有物理块进行擦除操作,并将所述第三逻辑块对应所述第三空白物理块。
14.根据权利要求8所述的固态存储设备的垃圾回收装置,其特征在于:所述固态存储设备包含m个闪存通道,每个闪存通道对应n个闪存单元,其中m为8的整数倍,n为大于1的自然数;
所述闪存划分单元具体用于从所述固态存储设备的每个闪存通道所对应的闪存单元中选择n/2个闪存单元作为所述第一闪存单元簇,其余n/2个闪存单元则作为所述第二闪存单元簇。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610761417.9A CN106354660A (zh) | 2016-08-30 | 2016-08-30 | 固态存储设备的垃圾回收方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610761417.9A CN106354660A (zh) | 2016-08-30 | 2016-08-30 | 固态存储设备的垃圾回收方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106354660A true CN106354660A (zh) | 2017-01-25 |
Family
ID=57856443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610761417.9A Pending CN106354660A (zh) | 2016-08-30 | 2016-08-30 | 固态存储设备的垃圾回收方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106354660A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959118A (zh) * | 2018-06-27 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种数据写入的方法及装置 |
CN110364216A (zh) * | 2018-04-09 | 2019-10-22 | 合肥沛睿微电子股份有限公司 | 固态硬盘及其运行方法 |
CN111427509A (zh) * | 2019-01-09 | 2020-07-17 | 爱思开海力士有限公司 | 控制器、数据存储装置及其操作方法 |
CN112114737A (zh) * | 2019-06-20 | 2020-12-22 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
US20220197862A1 (en) * | 2020-12-17 | 2022-06-23 | SK Hynix Inc. | Journaling apparatus and method in a non-volatile memory system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504625A (zh) * | 2009-03-04 | 2009-08-12 | 成都市华为赛门铁克科技有限公司 | 实现独立磁盘冗余阵列的方法、固态硬盘和电子设备 |
CN102915212A (zh) * | 2012-09-19 | 2013-02-06 | 记忆科技(深圳)有限公司 | 一种固态硬盘的raid实现方法、固态硬盘及电子设备 |
CN103365788A (zh) * | 2013-08-06 | 2013-10-23 | 山东大学 | 实时闪存转换层使用的自适应局部垃圾回收方法 |
CN106155935A (zh) * | 2016-07-05 | 2016-11-23 | 深圳市瑞耐斯技术有限公司 | 固态硬盘闪存的垃圾回收方法及装置 |
-
2016
- 2016-08-30 CN CN201610761417.9A patent/CN106354660A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504625A (zh) * | 2009-03-04 | 2009-08-12 | 成都市华为赛门铁克科技有限公司 | 实现独立磁盘冗余阵列的方法、固态硬盘和电子设备 |
CN102915212A (zh) * | 2012-09-19 | 2013-02-06 | 记忆科技(深圳)有限公司 | 一种固态硬盘的raid实现方法、固态硬盘及电子设备 |
CN103365788A (zh) * | 2013-08-06 | 2013-10-23 | 山东大学 | 实时闪存转换层使用的自适应局部垃圾回收方法 |
CN106155935A (zh) * | 2016-07-05 | 2016-11-23 | 深圳市瑞耐斯技术有限公司 | 固态硬盘闪存的垃圾回收方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110364216A (zh) * | 2018-04-09 | 2019-10-22 | 合肥沛睿微电子股份有限公司 | 固态硬盘及其运行方法 |
CN110364216B (zh) * | 2018-04-09 | 2022-03-01 | 合肥沛睿微电子股份有限公司 | 固态硬盘及其运行方法 |
CN108959118A (zh) * | 2018-06-27 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种数据写入的方法及装置 |
CN108959118B (zh) * | 2018-06-27 | 2021-11-19 | 郑州云海信息技术有限公司 | 一种数据写入的方法及装置 |
CN111427509A (zh) * | 2019-01-09 | 2020-07-17 | 爱思开海力士有限公司 | 控制器、数据存储装置及其操作方法 |
CN112114737A (zh) * | 2019-06-20 | 2020-12-22 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN112114737B (zh) * | 2019-06-20 | 2022-10-04 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
US20220197862A1 (en) * | 2020-12-17 | 2022-06-23 | SK Hynix Inc. | Journaling apparatus and method in a non-volatile memory system |
US11704281B2 (en) * | 2020-12-17 | 2023-07-18 | SK Hynix Inc. | Journaling apparatus and method in a non-volatile memory system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106354660A (zh) | 固态存储设备的垃圾回收方法及装置 | |
KR102143086B1 (ko) | 동적 슈퍼 블록을 포함하는 메모리 장치 및 관련 방법 및 전자 시스템 | |
CN103902465B (zh) | 一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器 | |
US9280459B2 (en) | Block grouping method for garbage collection of solid state drive | |
CN104008061A (zh) | 内存回收方法及装置 | |
CN104750618A (zh) | 数据储存装置以及快闪存储器控制方法 | |
CN104077197B (zh) | 系统恢复方法、装置、固态硬盘和电子设备 | |
CN101673243B (zh) | 数据储存装置与方法 | |
CN104461390A (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
CN106201774B (zh) | 一种nand flash存储芯片数据存储结构分析方法 | |
CN104699424A (zh) | 一种基于页面热度的异构内存管理方法 | |
CN109582224A (zh) | 一种基于自恢复效应的NAND Flash存储可靠性优化方法 | |
CN104731515B (zh) | 控制存储设备机群磨损均衡的方法及设备 | |
CN104375944A (zh) | 一种数据存储方法和装置 | |
CN109710541A (zh) | 针对NAND Flash主控芯片Greedy垃圾回收的优化方法 | |
CN105204783A (zh) | 一种基于数据生存期的固态盘垃圾回收方法 | |
KR20220077573A (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
CN103544124B (zh) | Nand Flash存储器的访问方法 | |
CN106527997B (zh) | 基于扩序列的NAND Flash坏块重复利用的方法及装置 | |
CN111737162A (zh) | 一种快速恢复数据的固态硬盘使用方法及计算机可读存储介质 | |
CN102981972A (zh) | 一种相变存储器的损耗均衡方法 | |
CN107665097A (zh) | 一种固态硬盘分区的方法、装置及计算机可读存储介质 | |
CN102915207A (zh) | 固态储存装置及其数据储存方法 | |
CN104317735A (zh) | 大容量缓存及数据存储和读取、内存分配和回收的方法 | |
CN111859038A (zh) | 一种分布式存储系统数据热度统计方法、装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 513, building B, area 5, honghualing Industrial Zone, Taoyuan Street, Nanshan District, Shenzhen City, Guangdong Province Applicant after: Shenzhen congenitally magnanimity Technology Co., Ltd Address before: 518000 Guangdong city of Shenzhen province Nanshan District Taoyuan street Tianliao industrial A District 21 building 3 floor East Applicant before: SHENZHEN SUNWORLD INFORMATION TECHNOLOGY Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170125 |