CN114296653A - 基于固态硬盘的加速映射表更新方法、装置及计算机设备 - Google Patents

基于固态硬盘的加速映射表更新方法、装置及计算机设备 Download PDF

Info

Publication number
CN114296653A
CN114296653A CN202111641058.0A CN202111641058A CN114296653A CN 114296653 A CN114296653 A CN 114296653A CN 202111641058 A CN202111641058 A CN 202111641058A CN 114296653 A CN114296653 A CN 114296653A
Authority
CN
China
Prior art keywords
mapping table
updating
updated
write command
queue
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
Application number
CN202111641058.0A
Other languages
English (en)
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 Union Memory Information System Co Ltd
Original Assignee
Shenzhen Union Memory Information System 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 Union Memory Information System Co Ltd filed Critical Shenzhen Union Memory Information System Co Ltd
Priority to CN202111641058.0A priority Critical patent/CN114296653A/zh
Publication of CN114296653A publication Critical patent/CN114296653A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种基于固态硬盘的加速映射表更新方法、装置、计算机设备及存储介质,其中该方法包括:获取基于固态硬盘的加速映射表更新请求;在处理一个写命令时,将对应的映射表项发送给硬件加速机制;在所述硬件加速机制中,将所述对应的映射表项加入到待更新队列中;从所述待更新队列中获取一个映射表项,更新对应的映射表并将更新结果放入结果队列中;待一个映射表项更新完后,再从待更新队列中获取下一个映射表项继续更新直至所有映射表项都更新完毕。本发明在SSD软件处理写命令过程中,采用硬件加速机制更新映射表,使得映射表更新与写命令处理进行同步,有效地提升了系统写性能。

Description

基于固态硬盘的加速映射表更新方法、装置及计算机设备
技术领域
本发明涉及存储系统技术领域,特别是涉及一种基于固态硬盘的加速映射表更新方法、装置、计算机设备及存储介质。
背景技术
随着固态硬盘技术的发展,SSD(Solid State Disk,固态硬盘)已经被广泛应用于各种场合,在PC市场已经逐步替代传统的HDD(Hard Disk Drive,硬盘驱动器),从可靠性和性能方面为用户提供较好的体验。
目前,SSD在响应主机写命令过程中需要更新映射表,而在处理大量写命令时频繁更新映射表会耗费处理时间,进而影响对主机命令的响应。
发明内容
基于此,有必要针对上述技术问题,提供一种基于固态硬盘的加速映射表更新方法、装置、计算机设备及存储介质。
一种基于固态硬盘的加速映射表更新方法,所述方法包括:
获取基于固态硬盘的加速映射表更新请求;
在处理一个写命令时,将对应的映射表项发送给硬件加速机制;
在所述硬件加速机制中,将所述对应的映射表项加入到待更新队列中;
从所述待更新队列中获取一个映射表项,更新对应的映射表并将更新结果放入结果队列中;
待一个映射表项更新完后,再从待更新队列中获取下一个映射表项继续更新直至所有映射表项都更新完毕。
在其中一个实施例中,所述方法还包括:
判断是否能够获取到新的写命令;
若能够获取到新的写命令则通过所述硬件加速机制进行更新映射表;
在通过所述硬件加速机制进行更新映射表的同时,通过软件依次对所有写命令进行相关处理。
在其中一个实施例中,在所述判断是否获取到新的写命令的步骤之后还包括:
若获取不到新的写命令,则表示所有写命令处理已完成。
在其中一个实施例中,在所述若获取不到新的写命令,则表示所有写命令处理已完成的步骤之后还包括:
当所有写命令处理完后,从所述结果队列中获取所有映射表更新结果,再一并进行后续处理。
一种基于固态硬盘的加速映射表更新装置,所述装置包括:
获取模块,所述获取模块用于获取基于固态硬盘的加速映射表更新请求;
发送模块,所述发送模块用于在处理一个写命令时,将对应的映射表项发送给硬件加速机制;
队列加入模块,所述队列加入模块用于在所述硬件加速机制中,将所述对应的映射表项加入到待更新队列中;
映射表更新模块,所述映射表更新模块用于从所述待更新队列中获取一个映射表项,更新对应的映射表并将更新结果放入结果队列中;
循环模块,所述循环模块用于待一个映射表项更新完后,再从待更新队列中获取下一个映射表项继续更新直至所有映射表项都更新完毕。
在其中一个实施例中,所述装置还包括判断模块,所述判断模块用于:
判断是否能够获取到新的写命令;
若能够获取到新的写命令则通过所述硬件加速机制进行更新映射表;
在通过所述硬件加速机制进行更新映射表的同时,通过软件依次对所有写命令进行相关处理。
在其中一个实施例中,所述判断模块还用于:
若获取不到新的写命令,则表示所有写命令处理已完成。
在其中一个实施例中,所述判断模块还用于:
当所有写命令处理完后,从所述结果队列中获取所有映射表更新结果,再一并进行后续处理。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。
上述基于固态硬盘的加速映射表更新方法、装置、计算机设备及存储介质通过获取基于固态硬盘的加速映射表更新请求;在处理一个写命令时,将对应的映射表项发送给硬件加速机制;在所述硬件加速机制中,将所述对应的映射表项加入到待更新队列中;从所述待更新队列中获取一个映射表项,更新对应的映射表并将更新结果放入结果队列中;待一个映射表项更新完后,再从待更新队列中获取下一个映射表项继续更新直至所有映射表项都更新完毕。本发明在SSD软件处理写命令过程中,采用硬件加速机制更新映射表,使得映射表更新与写命令处理进行同步,有效地提升了系统写性能。
附图说明
图1为一个实施例中基于固态硬盘的加速映射表更新方法的流程示意图;
图2为另一个实施例中基于固态硬盘的加速映射表更新方法的流程示意图;
图3为再一个实施例中基于固态硬盘的加速映射表更新方法的流程示意图;
图4为一个实施例中基于固态硬盘的加速映射表更新装置的结构框图;
图5为另一个实施例中基于固态硬盘的加速映射表更新装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
目前,SSD在响应主机写命令过程中需要更新映射表,而在处理大量写命令时频繁更新映射表会耗费处理时间,进而影响对主机命令的响应。
基于此,本发明提出一种基于固态硬盘的加速映射表更新方法,旨在响应主机写命令过程中尽量使映射表的更新与写命令处理同步进行,以提升系统写性能提升。
在一个实施例中,如图1所示,提供了一种基于固态硬盘的加速映射表更新方法,该方法包括:
步骤102,获取基于固态硬盘的加速映射表更新请求;
步骤104,在处理一个写命令时,将对应的映射表项发送给硬件加速机制;
步骤106,在硬件加速机制中,将对应的映射表项加入到待更新队列中;
步骤108,从待更新队列中获取一个映射表项,更新对应的映射表并将更新结果放入结果队列中;
步骤110,待一个映射表项更新完后,再从待更新队列中获取下一个映射表项继续更新直至所有映射表项都更新完毕。
在本实施例中,提出一种加速映射表更新的新策略,在响应主机写命令过程中尽量使映射表的更新与写命令处理同步进行,以提升系统写性能,其具体的实现步骤如下:
可参考图3中的右侧所示,在SSD软件处理写命令过程中,采用硬件加速机制更新映射表,使得写命令的处理与映射表的更新并行处理。
具体地,在处理一个写命令时,会将对应的映射表项发送给硬件加速机制,并加入到待更新队列中。在硬件加速机制中,从待更新队列中获取一个映射表项,更新对应的映射表,并将更新结果放入结果队列中。一个映射表项更新完后,再从待更新队列中获取下一个映射表项继续更新,直至所有映射表项都更新完毕。
在本实施例中,通过获取基于固态硬盘的加速映射表更新请求;在处理一个写命令时,将对应的映射表项发送给硬件加速机制;在所述硬件加速机制中,将所述对应的映射表项加入到待更新队列中;从所述待更新队列中获取一个映射表项,更新对应的映射表并将更新结果放入结果队列中;待一个映射表项更新完后,再从待更新队列中获取下一个映射表项继续更新直至所有映射表项都更新完毕。本方案在SSD软件处理写命令过程中,采用硬件加速机制更新映射表,使得映射表更新与写命令处理进行同步,有效地提升了系统写性能。
在一个实施例中,如图2所示,提供了一种基于固态硬盘的加速映射表更新方法,该方法还包括:
步骤202,判断是否能够获取到新的写命令;
步骤204,若能够获取到新的写命令则通过所述硬件加速机制进行更新映射表;
步骤206,在通过所述硬件加速机制进行更新映射表的同时,通过软件依次对所有写命令进行相关处理;
步骤208,若获取不到新的写命令,则表示所有写命令处理已完成;
步骤210,当所有写命令处理完后,从结果队列中获取所有映射表更新结果,再一并进行后续处理。
在本实施例中,可参考图3中的左侧所示,在硬件更新映射表的同时,软件也会依次对所有写命令进行相关处理,使得映射表的更新处理与写命令的处理同步进行。当所有写命令处理完后,从结果队列中获取所有映射表更新结果,再一并进行后续处理。
对于多个写命令,每处理一个写命令同时发送命令给硬件加速机制更新对应映射表。当所有写命令都处理完成后,硬件加速机制也同步完成了映射表的更新。最后再一并对所有更新完成后的映射表项进行处理。
应该理解的是,虽然图1-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种基于固态硬盘的加速映射表更新装置400,该装置包括:
获取模块401,所述获取模块用于获取基于固态硬盘的加速映射表更新请求;
发送模块402,所述发送模块用于在处理一个写命令时,将对应的映射表项发送给硬件加速机制;
队列加入模块403,所述队列加入模块用于在所述硬件加速机制中,将所述对应的映射表项加入到待更新队列中;
映射表更新模块404,所述映射表更新模块用于从所述待更新队列中获取一个映射表项,更新对应的映射表并将更新结果放入结果队列中;
循环模块405,所述循环模块用于待一个映射表项更新完后,再从待更新队列中获取下一个映射表项继续更新直至所有映射表项都更新完毕。
在一个实施例中,如图5所示,提供了一种基于固态硬盘的加速映射表更新装置400,该装置还包括判断模块406,所述判断模块用于:
判断是否能够获取到新的写命令;
若能够获取到新的写命令则通过所述硬件加速机制进行更新映射表;
在通过所述硬件加速机制进行更新映射表的同时,通过软件依次对所有写命令进行相关处理。
在一个实施例中,判断模块406还用于:
若获取不到新的写命令,则表示所有写命令处理已完成。
在一个实施例中,判断模块406还用于:
当所有写命令处理完后,从所述结果队列中获取所有映射表更新结果,再一并进行后续处理。
关于基于固态硬盘的加速映射表更新装置的具体限定可以参见上文中对于基于固态硬盘的加速映射表更新方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图6所示。该计算机设备包括通过装置总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作装置、计算机程序和数据库。该内存储器为非易失性存储介质中的操作装置和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于固态硬盘的加速映射表更新方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于固态硬盘的加速映射表更新方法,其特征在于,所述方法包括:
获取基于固态硬盘的加速映射表更新请求;
在处理一个写命令时,将对应的映射表项发送给硬件加速机制;
在所述硬件加速机制中,将所述对应的映射表项加入到待更新队列中;
从所述待更新队列中获取一个映射表项,更新对应的映射表并将更新结果放入结果队列中;
待一个映射表项更新完后,再从待更新队列中获取下一个映射表项继续更新直至所有映射表项都更新完毕。
2.根据权利要求1所述的基于固态硬盘的加速映射表更新方法,其特征在于,所述方法还包括:
判断是否能够获取到新的写命令;
若能够获取到新的写命令则通过所述硬件加速机制进行更新映射表;
在通过所述硬件加速机制进行更新映射表的同时,通过软件依次对所有写命令进行相关处理。
3.根据权利要求2所述的基于固态硬盘的加速映射表更新方法,其特征在于,在所述判断是否获取到新的写命令的步骤之后还包括:
若获取不到新的写命令,则表示所有写命令处理已完成。
4.根据权利要求3所述的基于固态硬盘的加速映射表更新方法,其特征在于,在所述若获取不到新的写命令,则表示所有写命令处理已完成的步骤之后还包括:
当所有写命令处理完后,从所述结果队列中获取所有映射表更新结果,再一并进行后续处理。
5.一种基于固态硬盘的加速映射表更新装置,其特征在于,所述装置包括:
获取模块,所述获取模块用于获取基于固态硬盘的加速映射表更新请求;
发送模块,所述发送模块用于在处理一个写命令时,将对应的映射表项发送给硬件加速机制;
队列加入模块,所述队列加入模块用于在所述硬件加速机制中,将所述对应的映射表项加入到待更新队列中;
映射表更新模块,所述映射表更新模块用于从所述待更新队列中获取一个映射表项,更新对应的映射表并将更新结果放入结果队列中;
循环模块,所述循环模块用于待一个映射表项更新完后,再从待更新队列中获取下一个映射表项继续更新直至所有映射表项都更新完毕。
6.根据权利要求5所述的基于固态硬盘的加速映射表更新装置,其特征在于,所述装置还包括判断模块,所述判断模块用于:
判断是否能够获取到新的写命令;
若能够获取到新的写命令则通过所述硬件加速机制进行更新映射表;
在通过所述硬件加速机制进行更新映射表的同时,通过软件依次对所有写命令进行相关处理。
7.根据权利要求6所述的基于固态硬盘的加速映射表更新装置,其特征在于,所述判断模块还用于:
若获取不到新的写命令,则表示所有写命令处理已完成。
8.根据权利要求7所述的基于固态硬盘的加速映射表更新装置,其特征在于,所述判断模块还用于:
当所有写命令处理完后,从所述结果队列中获取所有映射表更新结果,再一并进行后续处理。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
CN202111641058.0A 2021-12-29 2021-12-29 基于固态硬盘的加速映射表更新方法、装置及计算机设备 Pending CN114296653A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111641058.0A CN114296653A (zh) 2021-12-29 2021-12-29 基于固态硬盘的加速映射表更新方法、装置及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111641058.0A CN114296653A (zh) 2021-12-29 2021-12-29 基于固态硬盘的加速映射表更新方法、装置及计算机设备

Publications (1)

Publication Number Publication Date
CN114296653A true CN114296653A (zh) 2022-04-08

Family

ID=80970809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111641058.0A Pending CN114296653A (zh) 2021-12-29 2021-12-29 基于固态硬盘的加速映射表更新方法、装置及计算机设备

Country Status (1)

Country Link
CN (1) CN114296653A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193758A (zh) * 2017-05-19 2017-09-22 记忆科技(深圳)有限公司 一种固态硬盘的映射表管理方法及固态硬盘
CN107844431A (zh) * 2017-11-03 2018-03-27 合肥兆芯电子有限公司 映射表更新方法、存储器控制电路单元与存储器存储装置
CN107957852A (zh) * 2017-10-13 2018-04-24 记忆科技(深圳)有限公司 一种提升固态硬盘性能一致性的方法
CN110059021A (zh) * 2019-04-18 2019-07-26 深圳市时创意电子有限公司 一种降低写入放大率并提升随机写入性能的算法
CN110888602A (zh) * 2019-11-18 2020-03-17 深圳忆联信息系统有限公司 基于固态硬盘的读性能提升方法、装置及计算机设备
US20210064520A1 (en) * 2019-08-28 2021-03-04 Kioxia Corporation Memory system and method of controlling nonvolatile memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193758A (zh) * 2017-05-19 2017-09-22 记忆科技(深圳)有限公司 一种固态硬盘的映射表管理方法及固态硬盘
CN107957852A (zh) * 2017-10-13 2018-04-24 记忆科技(深圳)有限公司 一种提升固态硬盘性能一致性的方法
CN107844431A (zh) * 2017-11-03 2018-03-27 合肥兆芯电子有限公司 映射表更新方法、存储器控制电路单元与存储器存储装置
CN110059021A (zh) * 2019-04-18 2019-07-26 深圳市时创意电子有限公司 一种降低写入放大率并提升随机写入性能的算法
US20210064520A1 (en) * 2019-08-28 2021-03-04 Kioxia Corporation Memory system and method of controlling nonvolatile memory
CN110888602A (zh) * 2019-11-18 2020-03-17 深圳忆联信息系统有限公司 基于固态硬盘的读性能提升方法、装置及计算机设备

Similar Documents

Publication Publication Date Title
CN110750267B (zh) 业务信息更新方法、装置、计算机设备和存储介质
CN110795171B (zh) 业务数据处理方法、装置、计算机设备及存储介质
US20200026427A1 (en) System and method for handling data storage on storage devices
CN110568998A (zh) 基于固态硬盘的Trim命令实现方法、装置和计算机设备
CN110727698A (zh) 数据库访问方法、装置、计算机设备和存储介质
CN109753384B (zh) 云主机的快照备份方法、装置、计算机设备和存储介质
CN112783866B (zh) 数据读取方法、装置、计算机设备和存储介质
CN108389124B (zh) 数据处理方法、装置、计算机设备和存储介质
CN111966531A (zh) 数据快照方法、装置、计算机设备及存储介质
CN114296653A (zh) 基于固态硬盘的加速映射表更新方法、装置及计算机设备
CN114168225A (zh) 固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质
US20240241856A1 (en) Method and apparatus for compatibility of file aggregation, computer device and storage medium
CN114115745A (zh) 多Pass编程NAND的RAID优化方法、装置及计算机设备
WO2022257468A1 (zh) 对话管理系统更新方法、装置、计算机设备及存储介质
CN115563021A (zh) 基于固态硬盘的重复读性能提升方法、装置和计算机设备
CN110275596B (zh) 基于固态硬盘的上电初始化加速方法、装置和计算机设备
CN113535646A (zh) 一种基于云平台的镜像文件上传方法、装置、设备及介质
CN109656948B (zh) 位图数据处理方法、装置、计算机设备和存储介质
CN109284260B (zh) 大数据文件读取方法、装置、计算机设备及存储介质
CN112800123A (zh) 数据处理方法、装置、计算机设备和存储介质
CN114327274B (zh) 基于固态硬盘的映射表加载检查方法、装置及计算机设备
CN114185620B (zh) 加速ssd固件加载实现方法、装置、计算机设备及存储介质
CN113297150B (zh) 数据库日志处理方法、装置、设备及存储介质
CN113986126B (zh) 基于固态硬盘的tcg数据删除方法、装置及计算机设备
CN115220662A (zh) 基于Dramless固态硬盘的垃圾回收方法、装置和计算机设备

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20220408