WO2023103495A1 - 固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质 - Google Patents

固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
WO2023103495A1
WO2023103495A1 PCT/CN2022/117580 CN2022117580W WO2023103495A1 WO 2023103495 A1 WO2023103495 A1 WO 2023103495A1 CN 2022117580 W CN2022117580 W CN 2022117580W WO 2023103495 A1 WO2023103495 A1 WO 2023103495A1
Authority
WO
WIPO (PCT)
Prior art keywords
mapping table
temporary
write command
mapping
entry
Prior art date
Application number
PCT/CN2022/117580
Other languages
English (en)
French (fr)
Inventor
李建
洪浩
邱一霄
Original Assignee
深圳忆联信息系统有限公司
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 深圳忆联信息系统有限公司 filed Critical 深圳忆联信息系统有限公司
Publication of WO2023103495A1 publication Critical patent/WO2023103495A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures

Definitions

  • the present application relates to the technical field of storage systems, and in particular to a method, device, computer equipment, and storage medium for delayed update of a solid-state hard disk mapping table.
  • SSD Solid State Disk, solid state disk
  • HDD Hard Disk Drive, hard disk drive
  • a method for delayed update of a solid state disk mapping table comprising:
  • the step of obtaining the user write command and allocating the temporary mapping table and the corresponding mapping entry bitmap for the write command further includes:
  • mapping table If the corresponding mapping table has been loaded, assign an address to the write command and update the mapping table.
  • checking whether the mapping table corresponding to the write command is loaded further includes:
  • mapping table If the corresponding mapping table is not loaded, then check whether a temporary mapping table has been allocated for the write command;
  • the temporary mapping table is not allocated, the temporary mapping table and the corresponding mapping table entry bitmap are allocated for the write command.
  • the method also includes:
  • a solid-state hard disk mapping table delayed update device comprising:
  • An allocation module the allocation module is used to obtain a user write command, and allocate a temporary mapping table and a corresponding mapping table entry bitmap for the write command;
  • An identification module is used to assign an address for the write command, update the temporary mapping table and set the corresponding bit in the bitmap of the corresponding mapping entry, and identify it as a valid mapping entry;
  • a loading module the loading module is used to traverse all the temporary mapping tables and load the mapping page corresponding to the temporary mapping table when the system is idle;
  • the merging module is used for merging valid mapping entries in the temporary mapping table indicated in the mapping entry bitmap into the loaded mapping table;
  • a release module the release module is used to release the temporary mapping table.
  • the device also includes an inspection module, and the inspection module is used for:
  • mapping table If the corresponding mapping table has been loaded, assign an address to the write command and update the mapping table.
  • the checking module is also used for:
  • mapping table If the corresponding mapping table is not loaded, then check whether a temporary mapping table has been allocated for the write command;
  • the temporary mapping table is not allocated, the temporary mapping table and the corresponding mapping table entry bitmap are allocated for the write command.
  • the merging module is also used for:
  • a computer device includes a memory, a processor, and a computer program stored in the memory and operable on the processor, and the processor implements the steps of any one of the above methods when executing the computer program.
  • a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the steps of any one of the above-mentioned methods are realized.
  • the above solid-state hard disk mapping table delayed update method, device, computer equipment, and storage medium obtain user write commands, and allocate temporary mapping tables and corresponding mapping table item bitmaps for the write commands; assign addresses for the write commands, and update Temporary mapping table and set the corresponding bit in the corresponding mapping table item bitmap, identified as a valid mapping table entry; when the system is idle, traverse all temporary mapping tables and load the corresponding mapping page of the temporary mapping table; The effective mapping entries in the temporary mapping table indicated in the mapping entry bitmap are merged into the loaded mapping table; and the temporary mapping table is released.
  • this application In the process of processing the write command, this application first puts the newly generated mapping information into the temporary mapping table, and then loads the mapping page corresponding to the temporary mapping cache from the NAND to generate the latest mapping table when the system is idle, so as to avoid writing commands in response to the host Loading the mapping table during the process can effectively improve the system write performance.
  • Fig. 1 is a schematic flow chart of a delayed update method for a solid-state hard disk mapping table in an embodiment
  • Fig. 2 is a schematic flow chart of a delayed update method for a solid state disk mapping table in another embodiment
  • Fig. 3 is a schematic flow chart of a delayed update method for a solid state disk mapping table in yet another embodiment
  • Fig. 4 is a structural block diagram of a solid-state hard disk mapping table delay update device in an embodiment
  • Fig. 5 is the structural block diagram of the solid-state hard disk mapping table delayed update device in another embodiment
  • Figure 6 is an internal block diagram of a computer device in one embodiment.
  • DRAM-Less SSD usually needs to load the required mapping table items from NAND during the process of responding to the host read and write commands due to the small space available for caching the mapping table.
  • the process of loading the mapping table will affect Response to host commands.
  • the present application proposes a delayed update strategy of the mapping table, which aims to avoid loading the mapping table during the process of responding to the write command of the host as much as possible, so as to improve the writing performance of the system.
  • a method for delayed update of a solid state disk mapping table comprising:
  • Step 102 obtaining a user write command, and assigning a temporary mapping table and a corresponding mapping table item bitmap to the write command;
  • Step 104 assigning an address for the write command, updating the temporary mapping table and setting the corresponding bit in the bitmap of the corresponding mapping entry, identifying it as a valid mapping entry;
  • Step 106 when the system is idle, traverse all the temporary mapping tables and load the mapping page corresponding to the temporary mapping table;
  • Step 108 merging valid mapping entries in the temporary mapping table indicated in the mapping entry bitmap into the loaded mapping table
  • Step 110 releasing the temporary mapping table.
  • a method for delayed update of the solid-state hard disk mapping table is provided.
  • the method first puts the newly generated mapping information into the temporary mapping table, and loads the temporary mapping information from the NAND when the system is idle.
  • the mapping pages corresponding to the mapping cache are merged to generate the latest mapping table, which can avoid loading the mapping table during the process of responding to the host write command, so as to improve the system writing performance.
  • the user write command is obtained, and a temporary mapping table and a corresponding mapping table item bitmap are allocated for the write command. Allocate an address for the write command, update the temporary mapping table and set the corresponding bit in the bitmap of the corresponding mapping entry, and identify it as a valid mapping entry.
  • mapping table corresponding to the write command after receiving the write command, first check whether the mapping table corresponding to the write command is loaded, and if loaded, assign an address to update the mapping table. Otherwise, check whether the temporary mapping table has been allocated. If not, first allocate the temporary mapping table and the corresponding mapping entry bitmap, and update the address to the temporary mapping table after allocating the address, and set the corresponding bit in the entry bitmap bit, indicating that the entry is a valid mapping entry.
  • the method further includes: during the process of saving the mapping table and when the read command hits an invalid entry in the temporary mapping table, it is also necessary to perform an action of merging the temporary mapping table.
  • the mapping table merging process is triggered: from NAND Load the mapping page corresponding to the temporary mapping cache and merge to generate the latest mapping table.
  • this solution first puts the newly generated mapping information into the temporary mapping table, and then loads the mapping page corresponding to the temporary mapping cache from the NAND to generate the latest mapping table when the system is idle, so as to avoid writing commands in response to the host. Loading the mapping table during the process can effectively improve the system write performance.
  • a method for delayed update of a solid-state hard disk mapping table in which the step of obtaining a user write command, and allocating a temporary mapping table and a corresponding mapping table entry bitmap for the write command Also includes:
  • Step 202 after obtaining the write command, check whether the mapping table corresponding to the written command is loaded;
  • Step 204 if the corresponding mapping table has been loaded, assign an address for the write command and update the mapping table;
  • Step 206 if the corresponding mapping table is not loaded, check whether a temporary mapping table has been allocated for the write command;
  • Step 208 if no temporary mapping table is allocated, allocate a temporary mapping table and a corresponding mapping table entry bitmap for the write command.
  • Step 3.1 Get the user write command, check whether the mapping page corresponding to the write command has been loaded; if it has been loaded, directly assign the address and update the mapping table.
  • Step 3.2 if not, further check whether a temporary mapping table has been allocated for the write command; if so, skip to step 3.5.
  • Step 3.3 if not, allocate a temporary mapping table.
  • Step 3.4 creating a bitmap of entries corresponding to the temporary mapping table.
  • Step 3.5 assigning addresses, updating the temporary mapping table, and setting the bitmap of table entries.
  • Step 3.6 During the idle time of the system, check whether to obtain the next temporary mapping table to be merged; if not, the temporary mapping table is merged.
  • Step 3.7 if yes, load the mapping page corresponding to the temporary mapping table from the NAND.
  • Step 3.8 Merge the temporary mapping table into the loaded mapping table according to the bitmap of the temporary mapping table entries.
  • Step 3.9 release the temporary mapping table and jump back to step 3.6.
  • a device 400 for delayed update of a solid-state disk mapping table which device includes:
  • An allocation module 401 configured to obtain a user write command, and allocate a temporary mapping table and a corresponding mapping entry bitmap for the write command;
  • An identification module 402 the identification module is used to assign an address for the write command, update the temporary mapping table and set the corresponding bit in the bitmap of the corresponding mapping entry, and identify it as a valid mapping entry;
  • a loading module 403, configured to traverse all temporary mapping tables and load mapping pages corresponding to the temporary mapping tables when the system is idle;
  • a merging module 404 the merging module is configured to merge valid mapping entries in the temporary mapping table indicated in the mapping entry bitmap into the loaded mapping table;
  • a release module 405, configured to release the temporary mapping table.
  • a device 400 for updating a solid-state hard disk mapping table delay is provided, and the device also includes a check module 406, and the check module is used for:
  • mapping table If the corresponding mapping table has been loaded, assign an address to the write command and update the mapping table.
  • the checking module 406 is also used to:
  • mapping table If the corresponding mapping table is not loaded, then check whether a temporary mapping table has been allocated for the write command;
  • the temporary mapping table is not allocated, the temporary mapping table and the corresponding mapping table entry bitmap are allocated for the write command.
  • the merging module 404 is also used to:
  • a computer device in one embodiment, is provided, and its internal structure diagram may be as shown in FIG. 6 .
  • the computer device includes a processor, a memory, and a network interface connected by a device bus. Wherein, the processor of the computer device is used to provide calculation and control capabilities.
  • the memory of the computer device includes a non-volatile storage medium and an internal memory.
  • the non-volatile storage medium stores operating devices, computer programs and databases.
  • the internal memory provides an environment for operating devices and computer programs in the non-volatile storage medium.
  • the network interface of the computer device is used to communicate with an external terminal via a network connection.
  • FIG. 6 is only a block diagram of a part of the structure related to the solution of this application, and does not constitute a limitation on the computer equipment to which the solution of this application is applied.
  • the specific computer equipment can be More or fewer components than shown in the figures may be included, or some components may be combined, or have a different arrangement of components.
  • a computer device including a memory, a processor, and a computer program stored in the memory and operable on the processor.
  • the processor executes the computer program, the steps in the above method embodiments are implemented.
  • a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the steps in each of the above method embodiments are implemented.
  • Nonvolatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
  • Volatile memory can include random access memory (RAM) or external cache memory.
  • RAM is available in many forms such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced SDRAM (ESDRAM), Synchronous Chain Synchlink DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
  • SRAM Static RAM
  • DRAM Dynamic RAM
  • SDRAM Synchronous DRAM
  • DDRSDRAM Double Data Rate SDRAM
  • ESDRAM Enhanced SDRAM
  • SLDRAM Synchronous Chain Synchlink DRAM
  • Rambus direct RAM
  • DRAM direct memory bus dynamic RAM
  • RDRAM memory bus dynamic RAM

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质,其中该方法包括:获取用户写命令,并为所述写命令分配临时映射表及对应的映射表项位图;为所述写命令分配地址,更新临时映射表并设置对应的所述映射表项位图中相应的比特位,标识为有效的映射表项;在系统空闲时,遍历所有的临时映射表并加载临时映射表对应的映射页;将所述映射表项位图中指示的临时映射表中有效的映射表项合并到已加载的映射表中;释放临时映射表。本申请在处理写命令过程中,待系统空闲时再从NAND加载临时映射缓存对应的映射页合并生成最新映射表,避免在响应主机写命令过程中加载映射表,可以有效地提升系统写性能。

Description

固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质
本申请要求于2021年12月8日在中国专利局提交的、申请号为202111490298.5的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及存储系统技术领域,特别是涉及一种固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质。
背景技术
随着固态硬盘技术的发展,SSD(Solid State Disk,固态硬盘)已经被广泛应用于各种场合,在PC市场已经逐步替代传统的HDD(Hard Disk Drive,硬盘驱动器),从可靠性和性能方面为用户提供较好的体验。
目前,消费级SSD领域竞争越来越激烈,低成本的SSD在市场上能够占据主动,而一个SSD的料件中,闪存和DRAM 的成本较高,因此为了降低成本,TLC(Triple Level Cell)闪存加上 DRAM-Less的主控被广泛采用。而在传统的技术中,DRAM-Less SSD因可用于缓存映射表的空间较小,通常需要在响应主机读写命令过程中从NAND中加载所需的映射表项,加载映射表的过程会影响对主机命令响应。
技术问题
基于此,有必要针对上述技术问题,提供一种固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质。
技术解决方案
一种固态硬盘映射表延迟更新方法,所述方法包括:
获取用户写命令,并为所述写命令分配临时映射表及对应的映射表项位图;
为所述写命令分配地址,更新临时映射表并设置对应的所述映射表项位图中相应的比特位,标识为有效的映射表项;
在系统空闲时,遍历所有的临时映射表并加载临时映射表对应的映射页;
将所述映射表项位图中指示的临时映射表中有效的映射表项合并到已加载的映射表中;
释放临时映射表。
在其中一个实施例中,所述获取用户写命令,并为所述写命令分配临时映射表及对应的映射表项位图的步骤还包括:
在获取写命令后,检查所述写命令对应的映射表是否加载;
若对应的映射表已加载,则为所述写命令分配地址并更新映射表。
在其中一个实施例中,在所述在获取写命令后,检查所述写命令对应的映射表是否加载的步骤之后还包括:
若对应的映射表未加载,则检查是否已为所述写命令分配临时映射表;
若未分配临时映射表,则为所述写命令分配临时映射表及对应的映射表项位图。
在其中一个实施例中,所述方法还包括:
在保存映射表的过程以及读命令命中临时映射表中无效的表项时,也需要进行临时映射表的合并动作。
一种固态硬盘映射表延迟更新装置,所述装置包括:
分配模块,所述分配模块用于获取用户写命令,并为所述写命令分配临时映射表及对应的映射表项位图;
标识模块,所述标识模块用于为所述写命令分配地址,更新临时映射表并设置对应的所述映射表项位图中相应的比特位,标识为有效的映射表项;
加载模块,所述加载模块用于在系统空闲时,遍历所有的临时映射表并加载临时映射表对应的映射页;
合并模块,所述合并模块用于将所述映射表项位图中指示的临时映射表中有效的映射表项合并到已加载的映射表中;
释放模块,所述释放模块用于释放临时映射表。
在其中一个实施例中,所述装置还包括检查模块,所述检查模块用于:
在获取写命令后,检查所述写命令对应的映射表是否加载;
若对应的映射表已加载,则为所述写命令分配地址并更新映射表。
在其中一个实施例中,所述检查模块还用于:
若对应的映射表未加载,则检查是否已为所述写命令分配临时映射表;
若未分配临时映射表,则为所述写命令分配临时映射表及对应的映射表项位图。
在其中一个实施例中,所述合并模块还用于:
在保存映射表的过程以及读命令命中临时映射表中无效的表项时,也需要进行临时映射表的合并动作。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。
有益效果
上述固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质通过获取用户写命令,并为所述写命令分配临时映射表及对应的映射表项位图;为所述写命令分配地址,更新临时映射表并设置对应的所述映射表项位图中相应的比特位,标识为有效的映射表项;在系统空闲时,遍历所有的临时映射表并加载临时映射表对应的映射页;将所述映射表项位图中指示的临时映射表中有效的映射表项合并到已加载的映射表中;释放临时映射表。本申请在处理写命令过程中,先将新生成的映射信息放到临时映射表中,待系统空闲时再从NAND加载临时映射缓存对应的映射页合并生成最新映射表,避免在响应主机写命令过程中加载映射表,可以有效地提升系统写性能。
附图说明
图1为一个实施例中固态硬盘映射表延迟更新方法的流程示意图;
图2为另一个实施例中固态硬盘映射表延迟更新方法的流程示意图;
图3为再一个实施例中固态硬盘映射表延迟更新方法的流程示意图;
图4为一个实施例中固态硬盘映射表延迟更新装置的结构框图;
图5为另一个实施例中固态硬盘映射表延迟更新装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
本发明的实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
目前,在传统的技术中DRAM-Less SSD因可用于缓存映射表的空间较小,通常需要在响应主机读写命令过程中从NAND中加载所需的映射表项,加载映射表的过程会影响对主机命令响应。
基于此,本申请提出一种映射表延迟更新策略,旨在尽量避免在响应主机写命令过程中加载映射表,以提升系统写性能。
在一个实施例中,如图1所示,提供了一种固态硬盘映射表延迟更新方法,该方法包括:
步骤102,获取用户写命令,并为写命令分配临时映射表及对应的映射表项位图;
步骤104,为写命令分配地址,更新临时映射表并设置对应的映射表项位图中相应的比特位,标识为有效的映射表项;
步骤106,在系统空闲时,遍历所有的临时映射表并加载临时映射表对应的映射页;
步骤108,将映射表项位图中指示的临时映射表中有效的映射表项合并到已加载的映射表中;
步骤110,释放临时映射表。
在本实施例中,提供了一种固态硬盘映射表延迟更新方法,该方法在处理写命令过程中,先将新生成的映射信息放到临时映射表中,待系统空闲时,从NAND加载临时映射缓存对应的映射页合并生成最新映射表,可以避免在响应主机写命令过程中加载映射表,以提升系统写性能。
首先,获取用户写命令,并为写命令分配临时映射表及对应的映射表项位图。为写命令分配地址,更新临时映射表并设置对应的映射表项位图中相应的比特位,标识为有效的映射表项。
具体地,参考图3前段描述的写命令地址分配流程:在收到写命令后,先检查写命令对应的映射表是否加载,若已加载则分配地址更新映射表。否则,检查是否已分配临时映射表,若未分配,则先分配临时映射表及对应的映射表项位图,分配地址后将其更新到临时映射表,并设置表项位图中相应的比特位,标识该表项是一个有效的映射表项。
接着,在系统空闲时,遍历所有的临时映射表并加载临时映射表对应的映射页。然后,将映射表项位图中指示的临时映射表中有效的映射表项合并到已加载的映射表中。最后,释放临时映射表。
具体地,参考图3后段描述的临时映射表合并流程:在系统空闲场景,遍历所有临时映射表,加载对应的映射页,根据表项位图中指示的临时映射表中有效的映射项,将其合并到加载的映射表中。
在一个实施例中,该方法还包括:在保存映射表的过程以及读命令命中临时映射表中无效的表项时,也需要进行临时映射表的合并动作。
在本实施例中,在保存映射表过程及读命令命中临时映射表中无效的表项时,也需要进行临时映射表的合并动作。对每个临时映射表,通过表项位图来标识临时映射表中未加载的表项,当有读命令访问到这样的表项时或保存临时映射表时,触发映射表合并过程:从NAND加载临时映射缓存对应的映射页合并生成最新映射表。
在上述实施例中,通过获取用户写命令,并为所述写命令分配临时映射表及对应的映射表项位图;为所述写命令分配地址,更新临时映射表并设置对应的所述映射表项位图中相应的比特位,标识为有效的映射表项;在系统空闲时,遍历所有的临时映射表并加载临时映射表对应的映射页;将所述映射表项位图中指示的临时映射表中有效的映射表项合并到已加载的映射表中;释放临时映射表。本方案在处理写命令过程中,先将新生成的映射信息放到临时映射表中,待系统空闲时再从NAND加载临时映射缓存对应的映射页合并生成最新映射表,避免在响应主机写命令过程中加载映射表,可以有效地提升系统写性能。
在一个实施例中,如图2所示,提供了一种固态硬盘映射表延迟更新方法,该方法中获取用户写命令,并为写命令分配临时映射表及对应的映射表项位图的步骤还包括:
步骤202,在获取写命令后,检查所写命令对应的映射表是否加载;
步骤204,若对应的映射表已加载,则为写命令分配地址并更新映射表;
步骤206,若对应的映射表未加载,则检查是否已为写命令分配临时映射表;
步骤208,若未分配临时映射表,则为写命令分配临时映射表及对应的映射表项位图。
具体地,可参考图3所示的固态硬盘映射表延迟更新方法的实现流程图,实现步骤如下:
步骤3.1、获取用户写命令,检查写命令对应的映射页是否已加载;若已加载则直接分配地址并更新映射表。
步骤3.2、若否,则进一步检查是否已为写命令对应分配临时映射表;若是则跳转至步骤3.5。
步骤3.3、若否,则分配临时映射表.
步骤3.4、创建临时映射表对应的表项位图。
步骤3.5、分配地址,更新临时映射表,设置表项位图。
步骤3.6、在系统空闲时间,检查是否获取下一个待合并的临时映射表;若否,则临时映射表合并完成。
步骤3.7、若是,则从NAND加载临时映射表对应的映射页。
步骤3.8、按照临时映射表项位图将临时映射表合并到已加载映射表。
步骤3.9、释放临时映射表并跳转回步骤3.6。
应该理解的是,虽然图1-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种固态硬盘映射表延迟更新装置400,该装置包括:
分配模块401,所述分配模块用于获取用户写命令,并为所述写命令分配临时映射表及对应的映射表项位图;
标识模块402,所述标识模块用于为所述写命令分配地址,更新临时映射表并设置对应的所述映射表项位图中相应的比特位,标识为有效的映射表项;
加载模块403,所述加载模块用于在系统空闲时,遍历所有的临时映射表并加载临时映射表对应的映射页;
合并模块404,所述合并模块用于将所述映射表项位图中指示的临时映射表中有效的映射表项合并到已加载的映射表中;
释放模块405,所述释放模块用于释放临时映射表。
在一个实施例中,如图5所示,提供了一种固态硬盘映射表延迟更新装置400,该装置还包括检查模块406,所述检查模块用于:
在获取写命令后,检查所述写命令对应的映射表是否加载;
若对应的映射表已加载,则为所述写命令分配地址并更新映射表。
在一个实施例中,检查模块406还用于:
若对应的映射表未加载,则检查是否已为所述写命令分配临时映射表;
若未分配临时映射表,则为所述写命令分配临时映射表及对应的映射表项位图。
在一个实施例中,合并模块404还用于:
在保存映射表的过程以及读命令命中临时映射表中无效的表项时,也需要进行临时映射表的合并动作。
关于固态硬盘映射表延迟更新装置的具体限定可以参见上文中对于固态硬盘映射表延迟更新方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图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. 根据权利要求1-3任一项所述的固态硬盘映射表延迟更新方法,其特征在于,所述方法还包括:
    在保存映射表的过程以及读命令命中临时映射表中无效的表项时,也需要进行临时映射表的合并动作。
  5. 一种固态硬盘映射表延迟更新装置,其特征在于,所述装置包括:
    分配模块,所述分配模块用于获取用户写命令,并为所述写命令分配临时映射表及对应的映射表项位图;
    标识模块,所述标识模块用于为所述写命令分配地址,更新临时映射表并设置对应的所述映射表项位图中相应的比特位,标识为有效的映射表项;
    加载模块,所述加载模块用于在系统空闲时,遍历所有的临时映射表并加载临时映射表对应的映射页;
    合并模块,所述合并模块用于将所述映射表项位图中指示的临时映射表中有效的映射表项合并到已加载的映射表中;
    释放模块,所述释放模块用于释放临时映射表。
  6. 根据权利要求5所述的固态硬盘映射表延迟更新装置,其特征在于,所述装置还包括检查模块,所述检查模块用于:
    在获取写命令后,检查所述写命令对应的映射表是否加载;
    若对应的映射表已加载,则为所述写命令分配地址并更新映射表。
  7. 根据权利要求6所述的固态硬盘映射表延迟更新装置,其特征在于,所述检查模块还用于:
    若对应的映射表未加载,则检查是否已为所述写命令分配临时映射表;
    若未分配临时映射表,则为所述写命令分配临时映射表及对应的映射表项位图。
  8. 根据权利要求5-7任一项所述的固态硬盘映射表延迟更新装置,其特征在于,所述合并模块还用于:
    在保存映射表的过程以及读命令命中临时映射表中无效的表项时,也需要进行临时映射表的合并动作。
  9. 一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
  10. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
PCT/CN2022/117580 2021-12-08 2022-09-07 固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质 WO2023103495A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111490298.5 2021-12-08
CN202111490298.5A CN114168225B (zh) 2021-12-08 2021-12-08 固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
WO2023103495A1 true WO2023103495A1 (zh) 2023-06-15

Family

ID=80484318

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/117580 WO2023103495A1 (zh) 2021-12-08 2022-09-07 固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质

Country Status (2)

Country Link
CN (1) CN114168225B (zh)
WO (1) WO2023103495A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114168225B (zh) * 2021-12-08 2024-05-14 深圳忆联信息系统有限公司 固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130346675A1 (en) * 2012-06-22 2013-12-26 Phison Electronics Corp. Data storing method, and memory controller and memory storage apparatus using the same
CN107957852A (zh) * 2017-10-13 2018-04-24 记忆科技(深圳)有限公司 一种提升固态硬盘性能一致性的方法
CN109508151A (zh) * 2018-11-15 2019-03-22 苏州韦科韬信息技术有限公司 一种提升固态硬盘性能的方法
WO2021062982A1 (zh) * 2019-09-30 2021-04-08 深圳忆联信息系统有限公司 管理hmb内存的方法、装置、计算机设备及存储介质
CN114168225A (zh) * 2021-12-08 2022-03-11 深圳忆联信息系统有限公司 固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100383759C (zh) * 2004-02-25 2008-04-23 昊亚科技股份有限公司 全硬盘多点动态还原方法
KR100885181B1 (ko) * 2007-02-06 2009-02-23 삼성전자주식회사 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법
CN100573480C (zh) * 2008-02-29 2009-12-23 中国科学院计算技术研究所 一种磁盘数据保护方法和系统
CN102004697B (zh) * 2010-10-21 2012-09-19 北京握奇数据系统有限公司 一种Flash的回收方法和装置
JP2012119020A (ja) * 2010-11-30 2012-06-21 Hitachi-Lg Data Storage Inc 情報処理装置
CN102841851B (zh) * 2012-07-19 2015-09-09 深圳市江波龙电子有限公司 闪存管理方法和闪存设备
CN102831072B (zh) * 2012-08-10 2016-03-02 深圳市江波龙电子有限公司 闪存设备及其管理方法、数据读写方法及读写装置
EP2849091A1 (en) * 2013-09-16 2015-03-18 Siemens Aktiengesellschaft Method and system for merging data into a database table
CN106569744B (zh) * 2016-10-31 2020-07-14 华为数字技术(成都)有限公司 一种存储临时数据的方法及存储设备
CN108153681A (zh) * 2017-11-29 2018-06-12 深圳忆联信息系统有限公司 一种大容量固态硬盘映射表压缩方法
CN109992522A (zh) * 2017-12-29 2019-07-09 广东欧珀移动通信有限公司 应用处理方法和装置、电子设备、计算机可读存储介质
KR20200076946A (ko) * 2018-12-20 2020-06-30 삼성전자주식회사 스토리지 장치의 데이터 기입 방법 및 이를 수행하는 스토리지 장치
CN110704084A (zh) * 2019-09-27 2020-01-17 深圳忆联信息系统有限公司 固件升级中内存动态分配的方法、装置、计算机设备及存储介质
CN111488126B (zh) * 2020-04-12 2021-07-27 华中科技大学 一种自加热固态硬盘的闪存块管理方法、设备及固态硬盘
CN113448938A (zh) * 2021-07-20 2021-09-28 恒安嘉新(北京)科技股份公司 数据处理方法、装置、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130346675A1 (en) * 2012-06-22 2013-12-26 Phison Electronics Corp. Data storing method, and memory controller and memory storage apparatus using the same
CN107957852A (zh) * 2017-10-13 2018-04-24 记忆科技(深圳)有限公司 一种提升固态硬盘性能一致性的方法
CN109508151A (zh) * 2018-11-15 2019-03-22 苏州韦科韬信息技术有限公司 一种提升固态硬盘性能的方法
WO2021062982A1 (zh) * 2019-09-30 2021-04-08 深圳忆联信息系统有限公司 管理hmb内存的方法、装置、计算机设备及存储介质
CN114168225A (zh) * 2021-12-08 2022-03-11 深圳忆联信息系统有限公司 固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN114168225B (zh) 2024-05-14
CN114168225A (zh) 2022-03-11

Similar Documents

Publication Publication Date Title
US9600202B2 (en) Method and device for implementing memory migration
US20120317377A1 (en) Dual flash translation layer
US9501394B2 (en) Method for sharing reference data among application programs executed by a plurality of virtual machines and reference data management apparatus and system thereof
US20090024820A1 (en) Memory Allocation For Crash Dump
US10360155B1 (en) Multi-tier memory management
CN110297603B (zh) 基于固态硬盘的随机写性能提升方法、装置和计算机设备
WO2020169065A1 (zh) 基于内存受限 ssd 的预读取方法、装置和计算机设备
US10268592B2 (en) System, method and computer-readable medium for dynamically mapping a non-volatile memory store
EP4012547B1 (en) Storage method and apparatus for key value (kv) and storage device
KR20200121372A (ko) 하이브리드 메모리 시스템
TW201935223A (zh) 記憶體系統及其控制方法
WO2023087861A1 (zh) 基于固态硬盘的写放大优化方法、装置及计算机设备
WO2023103495A1 (zh) 固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质
CN110287129B (zh) 基于固态硬盘的l2p表更新及写入管理方法和装置
US10102125B2 (en) PCI device, interface system including the same, and computing system including the same
US10942658B2 (en) System and method for dynamic system memory sizing using non-volatile dual in-line memory modules
CN110569000A (zh) 基于固态硬盘阵列的主机端raid管理方法和装置
KR20200117032A (ko) 하이브리드 메모리 시스템
CN107562648B (zh) 无锁ftl访问方法与装置
CN110119245B (zh) 用于操作nand闪存物理空间以扩展存储器容量的方法和系统
US10684954B2 (en) Page cache on persistent memory
US9104325B2 (en) Managing read operations, write operations and extent change operations
CN107562654B (zh) Io命令处理方法与装置
CN107562639B (zh) 擦除块读请求处理方法与装置
CN115470155A (zh) 支持固态硬盘多场景复用的l2p表缓存方法和装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22902922

Country of ref document: EP

Kind code of ref document: A1