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 PDFInfo
- 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
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 397
- 238000007726 management method Methods 0.000 title claims abstract description 82
- 239000000872 buffer Substances 0.000 claims abstract description 123
- 238000000034 method Methods 0.000 claims abstract description 27
- 238000004590 computer program Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
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.
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)
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)
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)
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 |
-
2021
- 2021-06-30 CN CN202110733837.7A patent/CN113407120B/en active Active
Patent Citations (4)
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. |