CN116775507B - 固态硬盘控制器垃圾回收中的硬件加速选块方法及装置 - Google Patents
固态硬盘控制器垃圾回收中的硬件加速选块方法及装置 Download PDFInfo
- Publication number
- CN116775507B CN116775507B CN202311062896.1A CN202311062896A CN116775507B CN 116775507 B CN116775507 B CN 116775507B CN 202311062896 A CN202311062896 A CN 202311062896A CN 116775507 B CN116775507 B CN 116775507B
- Authority
- CN
- China
- Prior art keywords
- solid state
- state disk
- disk controller
- 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.)
- Active
Links
- 239000007787 solid Substances 0.000 title claims abstract description 88
- 230000001133 acceleration Effects 0.000 title claims abstract description 55
- 238000010187 selection method Methods 0.000 title claims description 6
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000012545 processing Methods 0.000 claims abstract description 29
- 238000004064 recycling Methods 0.000 claims abstract description 16
- 230000008569 process Effects 0.000 claims description 17
- 238000011084 recovery Methods 0.000 abstract description 3
- 230000006872 improvement Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
Classifications
-
- 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
Abstract
本发明公开了一种固态硬盘控制器垃圾回收中的硬件加速选块方法及装置,属于存储技术领域,包括以下步骤:S1,在固态硬盘控制器中构建用于计算给定区间表的最小值的硬件加速引擎;S2,上电后,对固态硬盘控制器进行初始化;S3,覆盖写操作处理;S4,数据块写满处理;S5,垃圾回收选块。本发明可以使选块步骤时间显著缩短,在对主机性能无明显影响的前提下使垃圾回收总体性能大幅提升。
Description
技术领域
本发明涉及存储技术领域,更为具体的,涉及一种固态硬盘控制器垃圾回收中的硬件加速选块方法及装置。
背景技术
固态硬盘(Solid State Drives,SSD)作为现代数据存储技术的重要组成部分,以其高速度、低延迟和良好的耐用性在行业中设立了高标准。然而,随着对SSD性能需求的不断提升,各种技术挑战逐渐浮出水面。
在现有的SSD技术中,NAND 闪存作为存储介质被广泛采用。与硬盘驱动器(HDD)不同,NAND 闪存在读写前需要进行擦除操作,而无法直接覆盖写。对于SSD的用户来说,这意味着覆盖写入新数据会将旧的物理位置变为无效数据,形成所谓的垃圾数据。若频繁进行覆盖写操作,垃圾数据会快速积累,导致NAND 闪存的空间迅速耗尽。为了解决这一问题,人们引入了垃圾回收(Garbage Collection,GC)技术。GC通过将有效数据集中移到空白存储块,并擦除只存放无效数据的源存储块,从而释放出可重新写入数据的存储空间。一般来说,GC操作包括选取源存储块、查找并读取有效数据、将有效数据写入新的存储块,以及擦除源存储块等步骤。
在传统的垃圾回收过程中,选取有效数据最小的源存储块通常需要通过CPU执行全局遍历,这在很大程度上消耗了CPU资源,并降低了垃圾回收的效率。因此,如何提升SSD的垃圾回收效率,成为了困扰行业的一个重要技术问题,亟待解决。
发明内容
本发明的目的在于克服现有技术的不足,提供一种固态硬盘控制器垃圾回收中的硬件加速选块方法及装置,使选块步骤时间显著缩短,对主机性能无明显影响的前提下使垃圾回收总体性能大幅提升。
本发明的目的是通过以下方案实现的:
一种固态硬盘控制器垃圾回收中的硬件加速选块方法,包括步骤:
S1,在固态硬盘控制器中构建用于计算给定区间表的最小值的硬件加速引擎;
S2,初始化:上电后,对固态硬盘控制器进行初始化;
S3,覆盖写操作处理:当主机进行覆盖写操作时,固态硬盘控制器首先计算出被覆盖的旧数据对应的块编号;然后,固态硬盘控制器在有效数据表中找到对应的表项,并对其进行减一操作;同时,固态硬盘控制器计算出新数据将要写入的块编号,并在有效数据表中对应的表项进行加一操作;
S4,数据块写满处理:当数据块写满后,固态硬盘控制器需要找到在有效数据表中对应的表项,并进行减去一个固定值的操作;
S5,垃圾回收选块:在需要进行垃圾回收操作时,固态硬盘控制器将有效数据表的地址区间配置给步骤S1中构建的硬件加速引擎,硬件加速引擎负责在这个区间内找到具有最小有效数据数的块编号,完成选块。
进一步地,在步骤S5之后,还包括步骤:
S6,垃圾回收处理:通过步骤S5得到最小有效数据数的块编号后,固态硬盘控制器开始执行垃圾回收算法。
进一步地,在步骤S2中,所述对固态硬盘控制器进行初始化包括内存初始化和寄存器初始化。
进一步地,在步骤S2中,所述对固态硬盘控制器进行初始化包括有效数据表初始化,其中每个数据块对应一个表项,表项值初始化为0。
进一步地,在步骤S4中,所述控制器需要找到在有效数据表中对应的表项,并进行减去一个固定值的操作,用于防止硬件加速引擎选中未写满的数据块。
进一步地,所述固态硬盘控制器开始执行垃圾回收算法,包括子步骤:读取源数据块中的有效数据,将有效数据写入到新的数据块,然后擦除源数据块。
进一步地,在所述读取源数据块中的有效数据,将有效数据写入到新的数据块,然后擦除源数据块的过程中,同步更新有效数据表。
一种固态硬盘控制器垃圾回收中的硬件加速选块装置,包括:
硬件加速引擎创建模块,用于在固态硬盘控制器中构建用于计算给定区间表的最小值的硬件加速引擎;
初始化模块,用于上电后,对固态硬盘控制器进行初始化;
覆盖写操作处理模块,用于当主机进行覆盖写操作时,固态硬盘控制器首先计算出被覆盖的旧数据对应的块编号;然后,固态硬盘控制器在有效数据表中找到对应的表项,并对其进行减一操作;同时,固态硬盘控制器计算出新数据将要写入的块编号,并在有效数据表中对应的表项进行加一操作;
数据块写满处理模块,用于当数据块写满后,固态硬盘控制器需要找到在有效数据表中对应的表项,并进行减去一个固定值的操作;
垃圾回收选块模块,用于在需要进行垃圾回收操作时,固态硬盘控制器将有效数据表的地址区间配置给构建的硬件加速引擎,硬件加速引擎负责在这个区间内找到具有最小有效数据数的块编号,完成选块。
进一步地,还包括垃圾回收处理模块,用于在得到最小有效数据数的块编号后,固态硬盘控制器开始执行垃圾回收算法。
进一步地,包括有效数据表更新模块,用于更新在有效数据表中保存的每个数据块的有效数据计数值。
本发明的有益效果包括:
(1)本发明可以使选块步骤时间显著缩短:本发明技术方案通过在固态硬盘(SSD)中引入硬件加速器,显著优化了垃圾回收过程中的选块步骤。硬件加速器的引入,减轻了CPU的负担,将计算最小有效数据块的任务从软件端转移到了硬件端,因此在进行数据块选取时,本发明技术方案实现了时间的显著缩减。具体来说,与传统无硬件加速的方案相比,新方案可以将选块步骤的时间最高缩短500个时钟周期。
(2)本发明可以使垃圾回收总体性能大幅提升:引入硬件加速器不仅优化了选块步骤,而且对整个垃圾回收的过程产生了显著影响。经过实验证明,本发明提供的新的技术方案使垃圾回收的总体性能提高了20%。这种性能的提升意味着SSD在处理大量数据、进行高强度运算时,如在大数据和云计算场景下,能够更有效地进行数据管理,大幅提升数据读写效率,满足更高的性能需求。
(3)本发明对主机性能无明显影响:值得注意的是,本发明技术方案尽管引入了新的硬件模块,但这并没有增加主机的负担或引起额外的延迟,因此主机的写性能不会受到影响。这是因为本发明的硬件加速方案是在控制器层面实施,优化的是SSD自身的垃圾回收过程,而非主机层面的操作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例方法流程图;
图2为本发明实施例装置架构图。
具体实施方式
本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
鉴于背景中的问题,本发明的发明人进行了创造性思考后发现,在固态硬盘(SSD)控制器的垃圾回收流程中,选取最优的源数据块以进行高效垃圾回收是至关重要的环节。现有的做法是利用CPU进行全局遍历,然而这种方法的时间开销显著,对整体垃圾回收效率造成了严重影响。鉴于此,本发明提出了一种硬件加速方法来解决这一技术问题。该方法通过利用硬件进行加速处理,既能显著提升垃圾回收过程中的选块效率,又不会对主机的写入性能产生负面影响,将对固态硬盘(SSD)的垃圾回收效率和主机写入性能带来实质性的提升。具体而言,本发明构思包括如下内容:
本发明构思中的一个改进点在于创建硬件加速引擎:在固态硬盘(SSD)控制器中,首先实施步骤是构建一个专门的硬件加速引擎。这个引擎的主要职能是高效地计算给定区间表的最小值,从而降低全局遍历的复杂性。
本发明构思中的一个改进点在于初始化有效数据表:SSD控制器的内置软件需要进行一次初始化过程,对所有数据块的有效数据进行编码和注册,从而形成一个有效数据表(valid count table)。在这个表中,每个数据块编号对应一个有效数据数量。
本发明构思中的一个改进点在于处理主机覆盖写入操作:在主机执行覆盖写入操作时,控制器首先会计算出旧数据对应的块编号,并在有效数据表中对应的位置将有效数据数减一;对于新数据所在的块,有效数据表中对应的数量则会加一。这个动态更新过程确保了有效数据表的实时准确。
本发明构思中的一个改进点在于优化未写满数据块处理:独特的是,当数据块处于未写满状态时,本发明将对其在有效数据表中对应的数值加上一个预设的最大值(MAXvalid count)。这样一来,即使这个数据块的有效数据数量在表中的实际值非常小,也会因为这个预设的最大值而显得很大。等到这个数据块写满后,再减去这个预设的最大值。通过这种方法,本发明可以保证硬件加速引擎在选择数据块时,会自动忽略掉未写满的数据块,从而提高选块效率。
本发明构思中的一个改进点在于执行垃圾回收算法:进入垃圾回收算法进行源数据块选择时,将有效数据表的地址区间输入到硬件加速引擎,由硬件加速引擎快速地找出有效数据最少的数据块,然后将该数据块编号用作后续垃圾回收算法的输入,进一步提高整个垃圾回收过程的效率。
在进一步的具体实施过程中,包括如下子步骤:
S1,在固态硬盘控制器中构建用于计算给定区间表的最小值的硬件加速引擎;
S2,系统初始化:在系统上电后,固态硬盘(SSD)控制器进行初始化,包括内存、寄存器以及各个硬件模块。此阶段也包括有效数据表(valid count table)的初始化,其中每个数据块对应一个表项,表项值初始化为0。
S3,覆盖写操作处理:当主机进行覆盖写操作时,固态硬盘(SSD)控制器首先计算出被覆盖的旧数据对应的块编号。然后,控制器在有效数据表中找到对应的表项,并对其进行减一操作。同时,控制器也需要计算出新数据将要写入的块编号,并在有效数据表中对应的表项进行加一操作。
S4,数据块写满处理:当数据块写满后,控制器需要找到在有效数据表中对应的表项,并进行减去一个固定值(例如,MAX valid count)的操作。这种处理方式可以防止硬件加速引擎选中未写满的数据块。
S5,垃圾回收选块:在需要进行垃圾回收操作时,控制器将有效数据表的地址区间配置给硬件加速引擎。硬件加速引擎负责在这个区间内找到具有最小有效数据数的块编号。
S6,垃圾回收处理:得到最小有效数据数的块编号后,控制器开始执行垃圾回收算法。这包括读取源数据块中的有效数据,将有效数据写入到新的数据块,然后擦除源数据块。在这个过程中,有效数据表也需要同步更新。
在进一步的实施方式中结合附图进行说明。如图1所示,为本发明实施例的流程图,包括如下子步骤:
步骤1:当主机进行覆盖写操作时,首先确定旧数据所在的数据块和新数据将要写入的数据块。
步骤2:然后,更新这两个数据块在有效数据表中的计数值。具体地,旧数据所在的数据块的计数值减一,新数据所在的数据块的计数值加一。
步骤3:如果数据块还未写满,需要在有效数据表中对应的项上加一个固定的最大有效数据计数值。写满后,减去这个值。
步骤4:当需要进行垃圾回收时,利用硬件加速引擎找出有效数据最少的数据块,作为源数据块进行垃圾回收。
步骤5:在完成垃圾回收后,将新的数据块写入到NAND闪存中。
如图2所示,本发明的系统架构图,固态硬盘(SSD)控制器中的主要模块及其交互过程:
主机接口主要处理来自主机的读取和写入请求。
内存控制器主要处理各种操作,并与其他模块进行交互。包括发送有效数据表的地址区间到硬件加速引擎,更新有效数据表的计数值,启动垃圾回收模块和处理硬件加速引擎返回的最小有效数据块编号。
硬件加速引擎主要负责计算有效数据最少的数据块编号,并将结果返回给内存控制器。
垃圾回收模块用于在内存控制器的控制下执行垃圾回收操作。
有效数据表用于保存每个数据块的有效数据计数值,由内存控制器进行更新。
NAND闪存作为存储数据块,由内存控制器进行读取、写入和擦除操作。
本发明实施例中优化了维护的有效数据表,引入了一种维护固态硬盘有效数据表的新方法,即在数据块擦除后,加入空白块链表之前,将有效数据表中相应项目增加一个预设的max valid count值。当数据块被填满后,相应项目减去预设值。用此处理方式优化了数据块的管理,提高了数据读写性能。
本发明实施例硬件加速的源数据块选择:本发明在固态硬盘控制器中实现了一个用于求取一段内存最小值的硬件功能,称为硬件加速模块。在垃圾回收选择数据块过程中,直接使用硬件加速模块来确定源数据块(即有效数据最小的块)。此创新避免了复杂的全局遍历,显著提升了选择步骤的速度,从而优化了整体的垃圾回收性能。
本发明实施例硬件加速器的设计与实现:在固态硬盘控制器内部,硬件加速器的设计和实现方式是一关键点。硬件加速器的具体架构、最小值搜索算法的硬件实现,以及如何在保证最低的硬件成本和最高的执行效率之间达到平衡,是专利保护内容。
本发明实施例有效数据表的实现方式:有效数据表在固态硬盘控制器中的具体实现方式也是一大关键点。如何与其他数据表(如空白块链表)协同工作,如何保证高效的读写性能,如何最大化的节省存储空间,这些均为专利保护内容。
本发明实施例垃圾回收算法的优化:通过硬件加速器和优化的有效数据表,本发明实施例改进了垃圾回收算法的一部分。垃圾回收算法的其他部分,如数据搬移的方式、源数据块的擦除方式等,也可以进一步优化,以提高整个垃圾回收的效率。
需要说明的是,在本发明权利要求书中所限定的保护范围内,以下实施例均可以从上述具体实施方式中,例如公开的技术原理,公开的技术特征或隐含公开的技术特征等,以合乎逻辑的任何方式进行组合和/或扩展、替换。
实施例1
一种固态硬盘控制器垃圾回收中的硬件加速选块方法,包括步骤:
S1,在固态硬盘控制器中构建用于计算给定区间表的最小值的硬件加速引擎;
S2,初始化:上电后,对固态硬盘控制器进行初始化;
S3,覆盖写操作处理:当主机进行覆盖写操作时,固态硬盘控制器首先计算出被覆盖的旧数据对应的块编号;然后,固态硬盘控制器在有效数据表中找到对应的表项,并对其进行减一操作;同时,固态硬盘控制器计算出新数据将要写入的块编号,并在有效数据表中对应的表项进行加一操作;
S4,数据块写满处理:当数据块写满后,固态硬盘控制器需要找到在有效数据表中对应的表项,并进行减去一个固定值的操作;
S5,垃圾回收选块:在需要进行垃圾回收操作时,固态硬盘控制器将有效数据表的地址区间配置给步骤S1中构建的硬件加速引擎,硬件加速引擎负责在这个区间内找到具有最小有效数据数的块编号,完成选块。
实施例2
在实施例1的基础上,在步骤S5之后,还包括步骤:
S6,垃圾回收处理:通过步骤S5得到最小有效数据数的块编号后,固态硬盘控制器开始执行垃圾回收算法。
实施例3
在实施例1的基础上,在步骤S2中,所述对固态硬盘控制器进行初始化包括内存初始化和寄存器初始化。
实施例4
在实施例1的基础上,在步骤S2中,所述对固态硬盘控制器进行初始化包括有效数据表初始化,其中每个数据块对应一个表项,表项值初始化为0。
实施例5
在实施例1的基础上,在步骤S4中,所述控制器需要找到在有效数据表中对应的表项,并进行减去一个固定值的操作,用于防止硬件加速引擎选中未写满的数据块。
实施例6
在实施例2的基础上,所述固态硬盘控制器开始执行垃圾回收算法,包括子步骤:读取源数据块中的有效数据,将有效数据写入到新的数据块,然后擦除源数据块。
实施例7
在实施例6的基础上,在所述读取源数据块中的有效数据,将有效数据写入到新的数据块,然后擦除源数据块的过程中,同步更新有效数据表。
实施例8
一种固态硬盘控制器垃圾回收中的硬件加速选块装置,包括:
硬件加速引擎创建模块,用于在固态硬盘控制器中构建用于计算给定区间表的最小值的硬件加速引擎;
初始化模块,用于上电后,对固态硬盘控制器进行初始化;
覆盖写操作处理模块,用于当主机进行覆盖写操作时,固态硬盘控制器首先计算出被覆盖的旧数据对应的块编号;然后,固态硬盘控制器在有效数据表中找到对应的表项,并对其进行减一操作;同时,固态硬盘控制器计算出新数据将要写入的块编号,并在有效数据表中对应的表项进行加一操作;
数据块写满处理模块,用于当数据块写满后,固态硬盘控制器需要找到在有效数据表中对应的表项,并进行减去一个固定值的操作;
垃圾回收选块模块,用于在需要进行垃圾回收操作时,固态硬盘控制器将有效数据表的地址区间配置给构建的硬件加速引擎,硬件加速引擎负责在这个区间内找到具有最小有效数据数的块编号,完成选块。
实施例9
在实施例8的基础上,还包括垃圾回收处理模块,用于在得到最小有效数据数的块编号后,固态硬盘控制器开始执行垃圾回收算法。
实施例10
在实施例8的基础上,包括有效数据表更新模块,用于更新在有效数据表中保存的每个数据块的有效数据计数值
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
根据本发明实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
作为另一方面,本发明实施例还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
Claims (10)
1.一种固态硬盘控制器垃圾回收中的硬件加速选块方法,其特征在于,包括步骤:
S1,在固态硬盘控制器中构建用于计算给定区间表的最小值的硬件加速引擎;
S2,初始化:上电后,对固态硬盘控制器进行初始化;
S3,覆盖写操作处理:当主机进行覆盖写操作时,固态硬盘控制器首先计算出被覆盖的旧数据对应的块编号;然后,固态硬盘控制器在有效数据表中找到对应的表项,并对其进行减一操作;同时,固态硬盘控制器计算出新数据将要写入的块编号,并在有效数据表中对应的表项进行加一操作;
S4,数据块写满处理:当数据块写满后,固态硬盘控制器需要找到在有效数据表中对应的表项,并进行减去一个固定值的操作;
S5,垃圾回收选块:在需要进行垃圾回收操作时,固态硬盘控制器将有效数据表的地址区间配置给步骤S1中构建的硬件加速引擎,硬件加速引擎负责在这个区间内找到具有最小有效数据数的块编号,完成选块。
2.根据权利要求1所述的固态硬盘控制器垃圾回收中的硬件加速选块方法,其特征在于,在步骤S5之后,还包括步骤:
S6,垃圾回收处理:通过步骤S5得到最小有效数据数的块编号后,固态硬盘控制器开始执行垃圾回收算法。
3.根据权利要求1所述的固态硬盘控制器垃圾回收中的硬件加速选块方法,其特征在于,在步骤S2中,所述对固态硬盘控制器进行初始化包括内存初始化和寄存器初始化。
4.根据权利要求1所述的固态硬盘控制器垃圾回收中的硬件加速选块方法,其特征在于,在步骤S2中,所述对固态硬盘控制器进行初始化包括有效数据表初始化,其中每个数据块对应一个表项,表项值初始化为0。
5.根据权利要求1所述的固态硬盘控制器垃圾回收中的硬件加速选块方法,其特征在于,在步骤S4中,所述控制器需要找到在有效数据表中对应的表项,并进行减去一个固定值的操作,用于防止硬件加速引擎选中未写满的数据块。
6.根据权利要求2所述的固态硬盘控制器垃圾回收中的硬件加速选块方法,其特征在于,所述固态硬盘控制器开始执行垃圾回收算法,包括子步骤:读取源数据块中的有效数据,将有效数据写入到新的数据块,然后擦除源数据块。
7.根据权利要求6所述的固态硬盘控制器垃圾回收中的硬件加速选块方法,其特征在于,在所述读取源数据块中的有效数据,将有效数据写入到新的数据块,然后擦除源数据块的过程中,同步更新有效数据表。
8.一种固态硬盘控制器垃圾回收中的硬件加速选块装置,其特征在于,包括:
硬件加速引擎创建模块,用于在固态硬盘控制器中构建用于计算给定区间表的最小值的硬件加速引擎;
初始化模块,用于上电后,对固态硬盘控制器进行初始化;
覆盖写操作处理模块,用于当主机进行覆盖写操作时,固态硬盘控制器首先计算出被覆盖的旧数据对应的块编号;然后,固态硬盘控制器在有效数据表中找到对应的表项,并对其进行减一操作;同时,固态硬盘控制器计算出新数据将要写入的块编号,并在有效数据表中对应的表项进行加一操作;
数据块写满处理模块,用于当数据块写满后,固态硬盘控制器需要找到在有效数据表中对应的表项,并进行减去一个固定值的操作;
垃圾回收选块模块,用于在需要进行垃圾回收操作时,固态硬盘控制器将有效数据表的地址区间配置给构建的硬件加速引擎,硬件加速引擎负责在这个区间内找到具有最小有效数据数的块编号,完成选块。
9.根据权利要求8所述的固态硬盘控制器垃圾回收中的硬件加速选块装置,其特征在于,还包括垃圾回收处理模块,用于在得到最小有效数据数的块编号后,固态硬盘控制器开始执行垃圾回收算法。
10.根据权利要求8所述的固态硬盘控制器垃圾回收中的硬件加速选块装置,其特征在于,包括有效数据表更新模块,用于更新在有效数据表中保存的每个数据块的有效数据计数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311062896.1A CN116775507B (zh) | 2023-08-23 | 2023-08-23 | 固态硬盘控制器垃圾回收中的硬件加速选块方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311062896.1A CN116775507B (zh) | 2023-08-23 | 2023-08-23 | 固态硬盘控制器垃圾回收中的硬件加速选块方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116775507A CN116775507A (zh) | 2023-09-19 |
CN116775507B true CN116775507B (zh) | 2023-10-20 |
Family
ID=87991693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311062896.1A Active CN116775507B (zh) | 2023-08-23 | 2023-08-23 | 固态硬盘控制器垃圾回收中的硬件加速选块方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116775507B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149091A (zh) * | 2023-10-23 | 2023-12-01 | 四川云海芯科微电子科技有限公司 | 一种固态硬盘数据保存方法及相关装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176752A (zh) * | 2012-07-02 | 2013-06-26 | 晶天电子(深圳)有限公司 | 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器 |
US9354955B1 (en) * | 2014-03-19 | 2016-05-31 | Western Digital Technologies, Inc. | Partial garbage collection for fast error handling and optimized garbage collection for the invisible band |
CN109496300A (zh) * | 2018-03-23 | 2019-03-19 | 华为技术有限公司 | 一种存储介质垃圾回收方法、存储介质和程序产品 |
CN109783398A (zh) * | 2019-01-18 | 2019-05-21 | 上海海事大学 | 一种基于相关感知页面级ftl固态硬盘性能优化方法 |
CN109992530A (zh) * | 2019-03-01 | 2019-07-09 | 晶天电子(深圳)有限公司 | 一种固态驱动器设备及基于该固态驱动器的数据读写方法 |
WO2020007030A1 (zh) * | 2018-07-06 | 2020-01-09 | 华为技术有限公司 | 一种系统控制器和系统垃圾回收方法 |
CN113590501A (zh) * | 2020-04-30 | 2021-11-02 | 华为技术有限公司 | 一种数据存储方法及相关设备 |
RU2759503C1 (ru) * | 2021-04-19 | 2021-11-15 | Акционерное Общество "Крафтвэй Корпорэйшн Плс" | Способ сборки мусора в твердотельном накопителе информации |
CN115687174A (zh) * | 2022-11-03 | 2023-02-03 | 浙江大华存储科技有限公司 | 一种固态硬盘动态垃圾回收的方法及固态硬盘 |
CN115934579A (zh) * | 2022-12-23 | 2023-04-07 | 深圳大普微电子科技有限公司 | 固态硬盘垃圾回收方法、加速装置、设备及计算机介质 |
CN116185624A (zh) * | 2023-02-17 | 2023-05-30 | 山东云海国创云计算装备产业创新中心有限公司 | 一种硬盘的垃圾回收方法、装置、计算机设备及存储介质 |
-
2023
- 2023-08-23 CN CN202311062896.1A patent/CN116775507B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176752A (zh) * | 2012-07-02 | 2013-06-26 | 晶天电子(深圳)有限公司 | 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器 |
US9354955B1 (en) * | 2014-03-19 | 2016-05-31 | Western Digital Technologies, Inc. | Partial garbage collection for fast error handling and optimized garbage collection for the invisible band |
CN109496300A (zh) * | 2018-03-23 | 2019-03-19 | 华为技术有限公司 | 一种存储介质垃圾回收方法、存储介质和程序产品 |
WO2020007030A1 (zh) * | 2018-07-06 | 2020-01-09 | 华为技术有限公司 | 一种系统控制器和系统垃圾回收方法 |
CN109783398A (zh) * | 2019-01-18 | 2019-05-21 | 上海海事大学 | 一种基于相关感知页面级ftl固态硬盘性能优化方法 |
CN109992530A (zh) * | 2019-03-01 | 2019-07-09 | 晶天电子(深圳)有限公司 | 一种固态驱动器设备及基于该固态驱动器的数据读写方法 |
CN113590501A (zh) * | 2020-04-30 | 2021-11-02 | 华为技术有限公司 | 一种数据存储方法及相关设备 |
RU2759503C1 (ru) * | 2021-04-19 | 2021-11-15 | Акционерное Общество "Крафтвэй Корпорэйшн Плс" | Способ сборки мусора в твердотельном накопителе информации |
CN115687174A (zh) * | 2022-11-03 | 2023-02-03 | 浙江大华存储科技有限公司 | 一种固态硬盘动态垃圾回收的方法及固态硬盘 |
CN115934579A (zh) * | 2022-12-23 | 2023-04-07 | 深圳大普微电子科技有限公司 | 固态硬盘垃圾回收方法、加速装置、设备及计算机介质 |
CN116185624A (zh) * | 2023-02-17 | 2023-05-30 | 山东云海国创云计算装备产业创新中心有限公司 | 一种硬盘的垃圾回收方法、装置、计算机设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
Chen F.Understanding intrinsic characteristics and system implications of flash memory based solid state drives.《ACM SIGMETRICS Performance Evaluation Review》.2009,181-192. * |
方才华 ; 刘景宁 ; 童薇 ; 高阳 ; 雷霞 ; 蒋瑜 ; .全程优化的固态硬盘垃圾回收方法.计算机应用.2017,(第05期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN116775507A (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2505086B2 (ja) | アドレス生成機構及びデ―タの事前取り出し方法 | |
CN116775507B (zh) | 固态硬盘控制器垃圾回收中的硬件加速选块方法及装置 | |
CN108139981B (zh) | 一种页表缓存tlb中表项的访问方法,及处理芯片 | |
US8176100B2 (en) | System for storing and managing objects | |
TWI790383B (zh) | 資料儲存裝置與資料處理方法 | |
CN102662869B (zh) | 虚拟机中的内存访问方法和装置及查找器 | |
TWI738442B (zh) | 資料儲存裝置與資料處理方法 | |
US20130311751A1 (en) | System and data loading method | |
TWI703566B (zh) | 快閃記憶體控制器及相關的存取方法及電子裝置 | |
CN114356248B (zh) | 一种数据处理方法和装置 | |
WO2016138785A1 (zh) | 一种运行进程的方法及装置 | |
US20190294355A1 (en) | Information processing device, information processing method, estimation device, estimation method, and computer program product | |
CN114218153B (zh) | 用于存储管理的方法、介质、程序产品、系统和装置 | |
CN102880553A (zh) | 一种基于mcu的片外flash文件系统的读写方法 | |
CN112596918A (zh) | 系统内各程序间共享变量的方法及存储装置 | |
CN103514107A (zh) | 高性能数据缓存系统和方法 | |
CN116149554A (zh) | 一种基于risc-v及其扩展指令的数据存储处理系统及其方法 | |
CN116383101A (zh) | 内存访问方法、内存管理单元、芯片、设备和存储介质 | |
CN110908595A (zh) | 存储装置及信息处理系统 | |
CN109240941A (zh) | 一种存储系统的垃圾回收方法及相关装置 | |
CN114201444A (zh) | 用于存储管理的方法、介质、程序产品、系统和装置 | |
CN103150197B (zh) | 基于静态划分的代码Cache管理方法 | |
US10180907B2 (en) | Processor and method | |
TWI760262B (zh) | 資料儲存裝置與資料處理方法 | |
Zhu et al. | Uvm discard: Eliminating redundant memory transfers for accelerators |
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 |