CN113407120B - Mapping table management method and device based on HMB and computer equipment - Google Patents

Mapping table management method and device based on HMB and computer equipment Download PDF

Info

Publication number
CN113407120B
CN113407120B CN202110733837.7A CN202110733837A CN113407120B CN 113407120 B CN113407120 B CN 113407120B CN 202110733837 A CN202110733837 A CN 202110733837A CN 113407120 B CN113407120 B CN 113407120B
Authority
CN
China
Prior art keywords
mapping table
hmb
buffer area
entry
module
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
CN202110733837.7A
Other languages
Chinese (zh)
Other versions
CN113407120A (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.)
Suzhou Yilian 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 CN202110733837.7A priority Critical patent/CN113407120B/en
Publication of CN113407120A publication Critical patent/CN113407120A/en
Application granted granted Critical
Publication of CN113407120B publication Critical patent/CN113407120B/en
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/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • 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/061Improving I/O performance
    • 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/0638Organizing or formatting or addressing of data
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The application relates to a mapping table management method, a mapping table management device, computer equipment and a storage medium based on HMB, wherein the method comprises the following steps: checking a corresponding mapping table item in a mapping table Cache module, and judging whether the mapping table item is in an SOC SRAM mapping table buffer area; if the mapping table entry is not in the SOC SRAM mapping table buffer zone, continuously judging whether the HMB is enabled or not; if the HMB is enabled, whether the mapping table entry is in a buffer area of the HMB mapping table is continuously judged; if the mapping table entry is not in the HMB mapping table buffer area, loading the mapping table from the NAND storage area to the HMB mapping table buffer area; and loading the corresponding mapping table entry into an SOC SRAM mapping table buffer area, and returning the corresponding mapping table entry to the mapping table management module. According to the performance of different mapping table storage areas, different mapping table Cache models are defined under different working modes, and the delay of mapping table query can be effectively reduced.

Description

Mapping table management method and device based on HMB and computer equipment
Technical Field
The present invention relates to the field of storage system technologies, and in particular, to a mapping table management method and apparatus based on HMB, a computer device, and a storage medium.
Background
SSD (solid state disk) has been widely used in various occasions, and has been gradually replacing the conventional HDD in the PC market at present, providing better experience for users in terms of reliability and performance. On an SSD, there is generally a relatively large DRAM storing data such as mapping tables (logical addresses accessed by the host to NAND physical addresses storing data), and for a 512GB SSD, 512MB of DRAM is usually configured. With the evolution of interface technology, the PCIe Gen 4 era can provide higher bandwidth; meanwhile, due to the power consumption/cost requirements of the whole machine, higher requirements are put forward for the SSD. Combining these factors, on the mainstream PCIe Gen 4 channel SSD, it is generally necessary to adopt a scheme without DRAM, and only about 10MB of SRAM is reserved inside the SSD SOC.
In this scenario, the mapping table needs to be dynamically replaced on the SRAM/NAND to satisfy the read/write request of the host. Furthermore, a part of the memory of the host can be allocated to the SSD to serve as a mapping table cache through an HMB technology, more table entries can be loaded into the memory, and high-speed read-write performance in a wider range is provided.
At present, in the existing SSD, the buffer management model for the SOC SRAM and the HMB mapping table is a peer-to-peer model, and is mainly used to expand the number of mapping tables in the memory. However, for the requirement of a high-speed performance scenario of PCIe Gen 4, the read-write IOPS of the PCIe Gen 4 reaches 1M, and only 1us of processing time can be provided for one IO. When the mapping table is located in the HMB, the mapping table access corresponding to random read-write needs to query the mapping table from the PCIe bus to the host memory in real time, and each request incurs an overhead of approximately 1us, thereby greatly affecting the random read-write performance. In addition, because the HMB mapping table buffer and the SOC SRAM mapping table buffer are peer-to-peer models, once the mapping table is loaded from the NAND, the mapping table will not move, and thus the overhead described above is always present.
Disclosure of Invention
In view of the foregoing, it is desirable to provide a mapping table management method and apparatus based on HMB, a computer device, and a storage medium.
A mapping table management method based on HMB, the method comprising:
the mapping table management module queries corresponding mapping table items from a mapping table Cache module according to a read-write request issued by a host;
checking a corresponding mapping table entry in the mapping table Cache module, and judging whether the mapping table entry is in an SOC SRAM mapping table buffer area;
if the mapping table entry is not in the SOC SRAM mapping table buffer area, continuously judging whether the HMB is enabled;
if the HMB is enabled, whether the mapping table entry is in a buffer area of the HMB mapping table is continuously judged;
if the mapping table entry is not in the HMB mapping table buffer area, loading the mapping table from the NAND storage area to the HMB mapping table buffer area;
and loading the corresponding mapping table entry into a buffer area of the SOC SRAM mapping table, and returning the corresponding mapping table entry to the mapping table management module.
In one embodiment, after the step of determining whether the mapping table entry is in the SOC SRAM mapping table buffer, the method further includes:
and if the mapping table entry is in the SOC SRAM mapping table buffer area, directly returning the mapping table entry to the mapping table management module.
In one embodiment, after the step of continuously determining whether HMB is enabled, the method further includes:
and if the HMB is not enabled, loading the mapping table from the NAND storage area to the SOC SRAM mapping table buffer area, and returning the corresponding mapping table entry to the mapping table management module.
In one embodiment, after the step of continuously determining whether the map entry is in the HMB map table buffer, the method further includes:
and if the mapping table entry is in the HMB mapping table buffer area, loading the corresponding mapping table entry into the SOC SRAM mapping table buffer area, and returning the corresponding table entry to the mapping table management module.
An HMB-based mapping table management apparatus, the apparatus comprising:
the query module is used for querying a corresponding mapping table item from the mapping table Cache module according to a read-write request issued by the host;
the first judgment module is used for checking a corresponding mapping table item in the mapping table Cache module and judging whether the mapping table item is in an SOC SRAM mapping table buffer area;
the second judgment module is used for continuously judging whether the HMB is enabled or not if the mapping table item is not in the SOC SRAM mapping table buffer area;
a third determining module, configured to, if the HMB is enabled, continue to determine whether the mapping table entry is in a HMB mapping table buffer area;
the first loading module is used for loading the mapping table from the NAND storage area to the HMB mapping table buffer area if the mapping table entry is not in the HMB mapping table buffer area;
and the second loading module is used for loading the corresponding mapping table entry into the buffer area of the SOC SRAM mapping table and returning the corresponding mapping table entry to the mapping table management module.
In one embodiment, the apparatus further comprises a first return module configured to:
and if the mapping table entry is in the SOC SRAM mapping table buffer area, directly returning the mapping table entry to the mapping table management module.
In one embodiment, the apparatus further comprises a second return module configured to:
and if the HMB is not enabled, loading the mapping table from the NAND storage area to the SOC SRAM mapping table buffer area, and returning the corresponding mapping table entry to the mapping table management module.
In one embodiment, the apparatus further comprises a third return module configured to:
and if the mapping table entry is in the HMB mapping table buffer area, loading the corresponding mapping table entry into the SOC SRAM mapping table buffer area, and returning the corresponding table entry to the mapping table management module.
A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the steps of any of the above methods when executing the computer program.
A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the steps of any of the methods described above.
The mapping table management method, the mapping table management device, the computer equipment and the storage medium based on the HMB query the corresponding mapping table items from the mapping table Cache module through the mapping table management module according to the read-write request issued by the host; checking a corresponding mapping table entry in the mapping table Cache module, and judging whether the mapping table entry is in an SOC SRAM mapping table buffer area; if the mapping table entry is not in the SOC SRAM mapping table buffer area, continuously judging whether the HMB is enabled; if the HMB is enabled, whether the mapping table entry is in a buffer area of the HMB mapping table is continuously judged; if the mapping table entry is not in the HMB mapping table buffer area, loading the mapping table from the NAND storage area to the HMB mapping table buffer area; and loading the corresponding mapping table entry into a buffer area of the SOC SRAM mapping table, and returning the corresponding mapping table entry to the mapping table management module. According to the performance of different mapping table storage areas, different mapping table Cache models are defined under different working modes, and the delay of mapping table query can be effectively reduced. For data frequently accessed by the host, the mapping table of the data is loaded into the fastest SOC SRAM, so that the optimal read-write performance of the host is ensured.
Drawings
FIG. 1 is a schematic flow diagram of a typical SSD internal access flow;
FIG. 2 is a flowchart illustrating a read process when a mapping table is stored in the HMB according to the prior art;
FIG. 3 is a flowchart illustrating an HMB based mapping table management method in one embodiment;
FIG. 4 is a diagram of a mapping table Cache model in an embodiment;
FIG. 5 is a flow chart illustrating a mapping table management method based on HMB in another embodiment;
FIG. 6 is a block diagram of an HMB based mapping table management apparatus in one embodiment;
FIG. 7 is a block diagram of an HMB based mapping table management apparatus in another embodiment;
FIG. 8 is a block diagram of an HMB based mapping table management apparatus in a further embodiment;
FIG. 9 is a block diagram of an HMB based mapping table management apparatus in another embodiment;
FIG. 10 is a diagram showing an internal structure of a computer device according to an embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
As shown in fig. 1, a typical SSD internal access flow is shown. The specific implementation process comprises the following steps: the host submits a read command to a front end module of the SSD. The SSD front-end module splits the command into mapped units (LPAs, typically 4 KB). And submitting the operation request to a buffer management module and allocating a read-write buffer. If the command is a write command, data transmission with the host is established according to the allocated buffer, and the host is informed that the command is completed after the data transmission is completed. If the command is a read command, the operation request is submitted to the mapping table management module. The mapping table management module is responsible for allocating a corresponding physical address (write command) according to the logical address or converting the logical address into a NAND physical address (read command), and initiates a query/modification request to the mapping table Cache module according to the logical address. And the mapping table Cache module is used for storing a part of logical to physical mapping tables according to the size of the usable memory, wherein the index of each mapping table entry is a logical address, and the value of each mapping table entry is an NAND physical address for storing corresponding data. The method comprises the steps that two types of mapping table buffer areas exist, wherein one type of the mapping table buffer area is an SOC SRAM mapping table buffer area which exists in an SSD controller and is provided with an SRAM with a certain size when leaving a factory, the number of the SRAM is typically MB, and the other type of the mapping table buffer area is an HMB mapping table buffer area. Because the HMB mapping table buffer area entity is at the host end, if the request initiated by the mapping table management module falls into the host end, the HMB mapping table buffer area entity needs to communicate with the host end; and the SOC SRAM is positioned in the SSD controller, so that the access is extremely fast. The mapping table Cache module processes an access request corresponding to the mapping table management module according to a mapping table cached in the mapping table Cache module; in particular, when the request for access is not in the mapping table buffer, it needs to be loaded from the corresponding mapping table storage area on the NAND. And the mapping table management module submits the operation request to the back-end module, and the back-end module initiates a read/write request for the NAND according to the physical address. Waiting for the NAND read/write operation request to complete. If a read command, the data is loaded into the NAND Cache Register at this time. After the data Ready, the transfer of data from the NAND Cache Register to the host is initiated.
Because the access of the host has certain space aggregation, the corresponding mapping table generally resides in a limited mapping table buffer area, thereby realizing higher read-write performance.
At present, because a certain difference exists between the access delay of the HMB mapping table buffer area and the SOC SRAM mapping table buffer area, the performance is greatly affected in a high-speed IOPS application scenario. As shown in fig. 2, taking a typical read request as an example: and S0, the host issues a read command. The SSD front-end module splits the command into mapped units (LPAs, typically 4 KB). And S2, submitting the data to a read-write buffer module and distributing a read-write buffer. And S3, submitting the request to a mapping table management module. And S4, the mapping table management module inquires whether the corresponding mapping table (assumed to be LPA A) is loaded or not. And S5, the mapping table is loaded and is positioned in the HMB mapping table buffer area. And S6, acquiring corresponding mapping table data through a PCIe bus, and inquiring a user data NAND physical storage address corresponding to the LPA. And S7, submitting the back-end module, loading data from the user data storage area according to the inquired NAND physical address, and returning the data to the host.
In the whole process, S6 needs to inquire the table entry from the host HMB mapping table buffer in real time, and basically, the delay of about 1us is brought. In the PCIe Gen 4 era, random reading IOPS of the SSD is as high as 1M, and the processing time of each IO is only 1us, so that the extra 1us mapping table query overhead in this case will have a great influence on the performance. In addition, since the HMB map table buffer and the SOC SRAM map table buffer are in a peer-to-peer model, once the mapping table is loaded from the NAND, the mapping table will not move, and thus the overhead described above always exists.
Based on this, the invention provides a mapping table management method based on HMB, in the method, different mapping table Cache models are defined under different working modes according to the performance of different mapping table storage areas, so that the delay of mapping table query can be effectively reduced:
1. of the three map storage areas, the NAND area is the slowest to access (on the order of 100 us), the HMB area the second (on the order of 1 us), and the SOC SRAM the fastest (on the order of ns).
2. And when the HMB is not enabled, the SOC SRAM is used as the Cache of the NAND mapping table storage area, for the host access request, if the Cache is hit, the direct reading and writing are carried out, otherwise, the load is carried out from the NAND to the Cache.
3. When the HMB is enabled, the SOC SRAM is used as the Cache for the HMB (denoted as L1 Cache), and the HMB is used as the Cache for the NAND map storage area (denoted as L2 Cache). For a host access request, if the L1 Cache is hit, directly reading and writing; otherwise, checking the L2Cache, and loading the L2Cache for reading and writing when the L2Cache is hit; and if the Cache is not in the L2Cache, loading the Cache from the NAND mapping table storage area to the L1/L2 Cache.
Based on the invention, for the data frequently accessed by the host, the mapping table can be loaded into the fastest SOC SRAM, thereby ensuring the optimal read-write performance of the host.
In one embodiment, as shown in fig. 3, there is provided a mapping table management method based on HMB, the method including:
step 302, the mapping table management module queries corresponding mapping table items in a mapping table Cache module according to a read-write request issued by a host;
step 304, checking a corresponding mapping table entry in a mapping table Cache module, and judging whether the mapping table entry is in an SOC SRAM mapping table buffer area;
step 306, if the mapping table entry is not in the buffer area of the SOC SRAM mapping table, continuously judging whether the HMB is enabled;
step 308, if the HMB is enabled, whether the mapping table entry is in a buffer area of the HMB mapping table is continuously judged;
step 310, if the mapping table entry is not in the HMB mapping table buffer area, loading the mapping table from the NAND storage area to the HMB mapping table buffer area;
step 312, load the corresponding mapping table entry into the buffer area of the SOC SRAM mapping table, and return the corresponding mapping table entry to the mapping table management module.
Specifically, as described in fig. 4, the mapping table dynamic Cache model provided in this embodiment is described. The traditional SSD mapping table Cache model comprises:
there are two separate mapping table buffers to speed up the NAND mapping table buffer.
When HMB is not enabled, SOC-only SRAM provides Cache services, with smaller cacheable map-table entries.
When the entry corresponding to the logical address accessed by the host falls in the Cache: if the access performance is high in the SOC SRAM mapping table buffer area, the corresponding mapping table access interface is expressed as high speed; if the buffer area of the mapping table of the HMB has low access performance, the corresponding interface for accessing the mapping table is shown as low speed.
When the entry corresponding to the logical address accessed by the host is not in the Cache: the corresponding mapping table is loaded from the NAND mapping table storage area and placed in the currently available mapping table buffer (SOC SRAM/HMB).
The SSD mapping table Cache model provided in this embodiment includes:
when the HMB is not enabled, the system works in a primary Cache model, the SOC SRAM serves as an L1 Cache of the NAND mapping table storage area, and the behavior in the scene is similar to that in the traditional SSD Cache model.
When HMB is enabled, then work on the two-level Cache model. The HMB mapping table buffer area is used as an L2Cache of the NAND mapping table storage area; and the SOC SRAM mapping table buffer area is used as the L1 Cache of the HMB mapping table buffer area. Preferentially retrieving the access request of the mapping table management module from the L1 Cache, and directly processing the access request if the access request is hit; and if the storage area is not hit, searching in the L2Cache, and so on until the storage area of the NAND mapping table is reached. When the L1 Cache is not hit, the corresponding content is loaded into the L1 Cache except for being queried from the L2Cache so as to guarantee subsequent high-speed access.
Obviously, when the HMB is not enabled, a first-level Cache model is established, and the SRAM in the SOC serves as the Cache of mapping table data stored on the NAND, so that the response to the host read-write command is accelerated. When the HMB is enabled, a secondary Cache model is established, a mapping table memory area distributed by the HMB serves as an L2Cache of mapping table data stored on the NAND, and an SRAM in the SOC serves as an L1 Cache of the HMB mapping table memory area. Different Cache models are established according to the access speeds and the working scenes of different storage areas, so that the SSD access performance without the DRAM can be effectively accelerated.
In this embodiment, a mapping table management module queries a corresponding mapping table entry from a mapping table Cache module according to a read-write request issued by a host; checking a corresponding mapping table entry in the mapping table Cache module, and judging whether the mapping table entry is in an SOC SRAM mapping table buffer area; if the mapping table entry is not in the SOC SRAM mapping table buffer area, continuously judging whether the HMB is enabled; if the HMB is enabled, continuously judging whether the mapping table entry is in a buffer area of the HMB mapping table; if the mapping table entry is not in the HMB mapping table buffer area, loading the mapping table from the NAND storage area to the HMB mapping table buffer area; and loading the corresponding mapping table entry into a buffer area of the SOC SRAM mapping table, and returning the corresponding mapping table entry to the mapping table management module. According to the scheme, different mapping table Cache models are defined under different working modes according to the performance of different mapping table storage areas, so that the delay of mapping table query can be effectively reduced. For data frequently accessed by the host, the mapping table of the data is loaded into the fastest SOC SRAM, so that the optimal read-write performance of the host is ensured.
In one embodiment, after the step of determining whether the mapping table entry is in the SOC SRAM mapping table buffer area, the method further includes: and if the mapping table entry is in the SOC SRAM mapping table buffer zone, directly returning the mapping table entry to the mapping table management module.
In one embodiment, after the step of determining whether HMB is enabled, the method further comprises: and if the HMB is not enabled, loading the mapping table from the NAND storage area to the SOC SRAM mapping table buffer area, and returning the corresponding mapping table entry to the mapping table management module.
In one embodiment, after the step of continuously determining whether the mapping table entry is in the HMB mapping table buffer, the method further comprises: and if the mapping table entry is in the HMB mapping table buffer area, loading the corresponding mapping table entry into the SOC SRAM mapping table buffer area, and returning the corresponding table entry to the mapping table management module.
In an embodiment, as shown in fig. 5, a method for completely implementing mapping table management based on HMB is provided, and the specific implementation steps include:
and 5.1, the mapping table management module queries corresponding mapping table items from the host read-write request to the mapping table Cache module.
And 5.2, checking the corresponding table entry by the mapping table Cache module.
Step 5.3, judging whether the buffer area is in the SOC SRAM mapping table buffer area; if so, directly returning the corresponding table entry to the mapping table management module; if not, continue with step 5.4.
Step 5.4, whether HMB is enabled; if not, loading the mapping table from the NAND storage area to the SOC SRAM mapping table buffer area, and returning the corresponding table entry to the mapping table management module; if so, continue with step 5.5.
Step 5.5, whether the buffer area is in the HMB mapping table buffer area or not; if yes, loading the corresponding table entry into an SOC SRAM mapping table buffer area, and returning the corresponding table entry to the mapping table management module; if not, continue with step 5.6.
And 5.6, loading the mapping table from the NAND storage area to the HMB mapping table buffer area.
And 5.7, loading the corresponding table entry into the SOC SRAM mapping table buffer area, and returning the corresponding table entry to the mapping table management module.
And 5.8, returning the corresponding table entry to the mapping table management module.
In this embodiment, it can be ensured that the mapping table corresponding to the data frequently accessed by the host falls in the high-speed SOC SRAM Cache, so that higher performance can be provided.
It should be understood that although the various steps in the flow diagrams of fig. 1-5 are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least some of the steps in fig. 1-5 may include multiple sub-steps or multiple stages that are not necessarily performed at the same time, but may be performed at different times, and the order of performance of the sub-steps or stages is not necessarily sequential, but may be performed in turn or alternating with other steps or at least some of the sub-steps or stages of other steps.
In one embodiment, as shown in fig. 6, there is provided an HMB-based mapping table management apparatus 600, including:
the query module 601 is used for querying a corresponding mapping table item from the mapping table Cache module according to a read-write request issued by the host;
a first determining module 602, configured to check a corresponding mapping table entry in the mapping table Cache module, and determine whether the mapping table entry is in a buffer area of an SOC SRAM mapping table;
a second determining module 603, configured to continue determining whether HMB is enabled if the mapping table entry is not in the buffer area of the SOC SRAM mapping table;
a third determining module 604, configured to, if the HMB is enabled, continue to determine whether the mapping table entry is in a HMB mapping table buffer area;
a first loading module 605, configured to load a mapping table from a NAND storage area to an HMB mapping table buffer area if the mapping table entry is not in the HMB mapping table buffer area;
a second loading module 606, configured to load the corresponding mapping table entry into the buffer area of the SOC SRAM mapping table, and return the corresponding mapping table entry to the mapping table management module.
In one embodiment, as shown in fig. 7, there is provided an HMB-based mapping table management apparatus 600, further comprising a first returning module 607 for:
and if the mapping table entry is in the SOC SRAM mapping table buffer area, directly returning the mapping table entry to the mapping table management module.
In one embodiment, as shown in fig. 8, there is provided an HMB-based mapping table management apparatus 600, further comprising a second return module 608 for:
and if the HMB is not enabled, loading the mapping table from the NAND storage area to the SOC SRAM mapping table buffer area, and returning the corresponding mapping table entry to the mapping table management module.
In one embodiment, as shown in fig. 9, there is provided an HMB-based mapping table management apparatus 600, further comprising a third returning module 609, configured to:
and if the mapping table entry is in the HMB mapping table buffer area, loading the corresponding mapping table entry into the SOC SRAM mapping table buffer area, and returning the corresponding table entry to the mapping table management module.
For specific limitations of the HMB-based mapping table management apparatus, reference may be made to the above limitations of the HMB-based mapping table management method, which is not described herein again.
In one embodiment, a computer device is provided, the internal structure of which may be as shown in FIG. 10. The computer apparatus includes a processor, a memory, and a network interface connected by a device bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device comprises a nonvolatile storage medium and an internal memory. The nonvolatile storage medium stores an operating device, a computer program, and a database. The internal memory provides an environment for the operation device in the nonvolatile storage medium and the execution of the computer program. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program is executed by a processor to implement a mapping table management method based on HMB.
It will be appreciated by those skilled in the art that the configuration shown in fig. 10 is a block diagram of only a portion of the configuration associated with the present application, and is not intended to limit the computing device to which the present application may be applied, and that a particular computing device may include more or less components than those shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, a computer device is provided, comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the steps of the above method embodiments when executing the computer program.
In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored, which computer program, when being executed by a processor, carries out the steps of the above respective method embodiments.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, database or other medium used in the embodiments provided herein can include non-volatile and/or volatile memory. Non-volatile 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. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous Link DRAM (SLDRAM), rambus (Rambus) direct RAM (RDRAM), direct Rambus Dynamic RAM (DRDRAM), and Rambus Dynamic RAM (RDRAM), among others.
All possible combinations of the technical features in the above embodiments may not be described for the sake of brevity, but should be considered as being within the scope of the present disclosure as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, and these are all within the scope of protection of the present application. Therefore, the protection scope of the present patent application shall be subject to the appended claims.

Claims (10)

1. A mapping table management method based on HMB, the method comprising:
the mapping table management module queries corresponding mapping table items in a mapping table Cache module according to a read-write request issued by a host;
checking a corresponding mapping table entry in the mapping table Cache module, and judging whether the mapping table entry is in an SOC SRAM mapping table buffer area;
if the mapping table entry is not in the SOC SRAM mapping table buffer zone, continuously judging whether the HMB is enabled or not;
if the HMB is enabled, continuously judging whether the mapping table entry is in a buffer area of the HMB mapping table;
if the mapping table entry is not in the HMB mapping table buffer area, loading the mapping table from the NAND storage area to the HMB mapping table buffer area;
and loading the corresponding mapping table entry into a buffer area of the SOC SRAM mapping table, and returning the corresponding mapping table entry to the mapping table management module.
2. The HMB based mapping table management method of claim 1, further comprising, after said step of determining whether said mapping table entry is in an SOC SRAM mapping table buffer:
and if the mapping table entry is in the SOC SRAM mapping table buffer area, directly returning the mapping table entry to the mapping table management module.
3. The HMB-based mapping table management method according to claim 2, further comprising, after said step of continuing to determine whether HMB is enabled:
and if the HMB is not enabled, loading the mapping table from the NAND storage area to the SOC SRAM mapping table buffer area, and returning the corresponding mapping table entry to the mapping table management module.
4. The HMB-based mapping table management method of claim 3, wherein after said step of continuing to determine whether said mapping table entry is in an HMB mapping table buffer, further comprising:
and if the mapping table entry is in the HMB mapping table buffer area, loading the corresponding mapping table entry into the SOC SRAM mapping table buffer area, and returning the corresponding mapping table entry to the mapping table management module.
5. An HMB-based mapping table management apparatus, the apparatus comprising:
the query module is used for querying a corresponding mapping table item from the mapping table Cache module according to a read-write request issued by the host computer;
the first judgment module is used for checking a corresponding mapping table item in the mapping table Cache module and judging whether the mapping table item is in an SOC SRAM mapping table buffer area or not;
a second determining module, configured to continue determining whether the HMB is enabled if the mapping table entry is not in the buffer area of the SOC SRAM mapping table;
a third determining module, configured to, if the HMB is enabled, continue to determine whether the mapping table entry is in a HMB mapping table buffer area;
the first loading module is used for loading the mapping table from the NAND storage area to the HMB mapping table buffer area if the mapping table entry is not in the HMB mapping table buffer area;
and the second loading module is used for loading the corresponding mapping table entry into the SOC SRAM mapping table buffer area and returning the corresponding mapping table entry to the mapping table management module.
6. The HMB-based mapping table management apparatus according to claim 5, wherein the apparatus further comprises a first returning module, the first returning module being configured to:
and if the mapping table entry is in the SOC SRAM mapping table buffer zone, directly returning the mapping table entry to a mapping table management module.
7. The HMB-based mapping table management apparatus according to claim 6, wherein the apparatus further comprises a second return module for:
and if the HMB is not enabled, loading the mapping table from the NAND storage area to the SOC SRAM mapping table buffer area, and returning the corresponding mapping table entry to the mapping table management module.
8. The HMB-based mapping table management apparatus of claim 7, further comprising a third return module for:
and if the mapping table entry is in the HMB mapping table buffer area, loading the corresponding mapping table entry into the SOC SRAM mapping table buffer area, and returning the corresponding mapping table entry to the mapping table management module.
9. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the steps of the method of any of claims 1 to 4 are implemented when the computer program is executed by the processor.
10. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the method of any one of claims 1 to 4.
CN202110733837.7A 2021-06-30 2021-06-30 Mapping table management method and device based on HMB and computer equipment Active CN113407120B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110733837.7A CN113407120B (en) 2021-06-30 2021-06-30 Mapping table management method and device based on HMB and computer equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110733837.7A CN113407120B (en) 2021-06-30 2021-06-30 Mapping table management method and device based on HMB and computer equipment

Publications (2)

Publication Number Publication Date
CN113407120A CN113407120A (en) 2021-09-17
CN113407120B true CN113407120B (en) 2023-02-10

Family

ID=77680500

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110733837.7A Active CN113407120B (en) 2021-06-30 2021-06-30 Mapping table management method and device based on HMB and computer equipment

Country Status (1)

Country Link
CN (1) CN113407120B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113867641B (en) * 2021-09-29 2023-06-02 杭州海康存储科技有限公司 Host memory buffer management method and device and solid state disk
CN114327274B (en) * 2021-12-29 2023-07-04 深圳忆联信息***有限公司 Mapping table loading checking method and device based on solid state disk and computer equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176916A (en) * 2013-03-07 2013-06-26 中国科学院苏州纳米技术与纳米仿生研究所 Flash memory and address transfer approach thereof
CN108021511A (en) * 2017-11-22 2018-05-11 深圳忆联信息***有限公司 A kind of method and SSD of SSD performance boosts
CN110083481A (en) * 2019-04-28 2019-08-02 深圳忆联信息***有限公司 The guard method of logical physical mapping table, device and solid state hard disk based on HMB
CN110334034A (en) * 2019-07-12 2019-10-15 深圳忆联信息***有限公司 Method, apparatus, computer equipment and the storage medium of mapping table dynamically load

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI514140B (en) * 2013-02-05 2015-12-21 Via Tech Inc Non-volatile memory apparatus and operating method thereof
TWI679538B (en) * 2018-03-31 2019-12-11 慧榮科技股份有限公司 Control unit for data storage system and method for updating logical-to-physical mapping table
KR102589402B1 (en) * 2018-10-04 2023-10-13 삼성전자주식회사 Storage device and method for operating storage device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176916A (en) * 2013-03-07 2013-06-26 中国科学院苏州纳米技术与纳米仿生研究所 Flash memory and address transfer approach thereof
CN108021511A (en) * 2017-11-22 2018-05-11 深圳忆联信息***有限公司 A kind of method and SSD of SSD performance boosts
CN110083481A (en) * 2019-04-28 2019-08-02 深圳忆联信息***有限公司 The guard method of logical physical mapping table, device and solid state hard disk based on HMB
CN110334034A (en) * 2019-07-12 2019-10-15 深圳忆联信息***有限公司 Method, apparatus, computer equipment and the storage medium of mapping table dynamically load

Also Published As

Publication number Publication date
CN113407120A (en) 2021-09-17

Similar Documents

Publication Publication Date Title
US11055230B2 (en) Logical to physical mapping
CN108804350B (en) Memory access method and computer system
KR101469512B1 (en) Adaptive memory system for enhancing the performance of an external computing device
US7613870B2 (en) Efficient memory usage in systems including volatile and high-density memories
US9489239B2 (en) Systems and methods to manage tiered cache data storage
US9639481B2 (en) Systems and methods to manage cache data storage in working memory of computing system
CN108563401B (en) SSD performance acceleration method
CN113407120B (en) Mapping table management method and device based on HMB and computer equipment
CN108595349B (en) Address translation method and device for mass storage device
US20150113230A1 (en) Directory storage method and query method, and node controller
CN112905111A (en) Data caching method and data caching device
CN111930643B (en) Data processing method and related equipment
CN115794669A (en) Method, device and related equipment for expanding memory
CN114546898A (en) TLB management method, device, equipment and storage medium
US10509744B2 (en) Semiconductor system including heterogeneous memory module
CN111352865B (en) Write caching for memory controllers
CN110968527B (en) FTL provided caching
CN114974365A (en) SSD (solid State disk) limited window data deduplication identification method and device and computer equipment
CN112835520A (en) Mapping table dynamic loading-based read request processing method and device
CN109960667B (en) Address translation method and device for large-capacity solid-state storage device
US20190155735A1 (en) Data Software System Assist
US12038852B2 (en) Partial logical-to-physical (L2P) address translation table for multiple namespaces
WO2022021337A1 (en) Flash memory control method and device
US20240241656A1 (en) Apparatus and method for dynamically managing host performance booster control mode
CN117632809B (en) Memory controller, data reading method and memory device

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231201

Address after: Room 4-B703, No. 328 Xinghu Street, Suzhou Industrial Park, Suzhou Area, China (Jiangsu) Pilot Free Trade Zone, Suzhou City, Jiangsu Province, 215000

Patentee after: Suzhou Yilian Information System Co.,Ltd.

Address before: D24 / f-02, dongjiaotou workshop, Shekou Houhai Avenue, Shekou street, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: SHENZHEN UNIONMEMORY INFORMATION SYSTEM Co.,Ltd.