Key value caching system based on partition namespace solid state disk

By adopting a key-value cache system based on partitioned namespace solid-state drives in a large-scale cache system, the sequential write characteristics of ZNS SSD and hash mapping and log structure writing of parallel Bloom filters is solved, and efficient storage performance and long-life flash memory usage are achieved.

CN119782198AActive Publication Date: 2025-04-08XIAMEN UNIV

Patent Information

Application Number
CN202411819115.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-11
Publication Date
2025-04-08
Estimated Expiration
2044-12-11

AI Technical Summary

Technical Problem

Large-scale cache systems face technical challenges of limited write life, application-level write amplification, and device-level write amplification when using flash memory, resulting in faster wear and shorter service life.

Method used

The key-value cache system based on partition namespace solid state drive is adopted, and the partition sequential writing characteristics of ZNS SSD is used, combining hash mapping and log structure writing of parallel Bloom filters, reducing the write amplification effect, and optimizing the hit rate of the cache system through the eviction strategy of object access frequency.

Benefits of technology

It effectively reduces application-level write amplification, extends the service life of flash memory, improves the system's storage performance and overall utilization, and is suitable for large-scale, high-concurrency application scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119782198A_ABST
    Figure CN119782198A_ABST
Patent Text Reader

Abstract

The invention relates to a key value caching system based on a partition namespace solid state disk. The system comprises an object and metadata insertion module, an object searching module and an object expelling module. The key value is mapped to the offset in the logic partition through a hash function, and efficient search is realized by using a page-level bloom filter; object write-in data and a first metadata buffer area are written into a disk in batches by adopting a log structure to form a first-in first-out logic partition chain; caching the hot object metadata by the system, and performing classified management on the object according to the access frequency: loading the object metadata of which the access frequency exceeds a first preset frequency after unloading, and dynamically loading the object metadata of which the access frequency is lower than a second preset frequency after unloading; in the eviction process, in combination with the second metadata buffer area and the real-time access condition, high-frequency access objects are selectively recycled. Through Hash mapping, the page-level Bloom filter and the object management based on the access frequency, the performance and efficiency of the key value caching system are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer storage, and in particular to a key-value cache system based on a partition namespace solid-state hard disk. Background Art

[0002] With the rapid development of the Internet and big data applications, modern network services need to be able to quickly and economically access sets of billions of tiny objects. These objects are usually only a few hundred bytes or even smaller, and are widely used in social networks, microblogs, e-commerce platforms, and sensor applications of the Internet of Things. For example, social networks such as Xiaohongshu, Facebook, and LinkedIn need to efficiently process massive amounts of user data, while microblog services such as Sina Weibo and Twitter face high-concurrency content reading and writing requirements, and e-commerce platforms also need to quickly respond to users' product queries. The importance and influence of these applications on society are obvious. Therefore, how to cache and access massive amounts of small objects with high performance and low cost, thereby accelerating user request responses and reducing the access pressure on backend database servers, has become an urgent problem to be solved in current system design.

[0003] In the early design of key-value cache systems, dynamic random access memory (DRAM) is usually used. DRAM can support high-concurrency and high-performance application scenarios due to its extremely fast read and write speed. However, with the rapid growth of data scale, especially the cache requirements involving billions of small objects, the high cost of DRAM has gradually become the main obstacle to its widespread application. Although DRAM has excellent performance, it is extremely expensive and difficult to achieve economic feasibility in large-scale cache systems. Therefore, flash memory has become an ideal choice for building large-scale cache systems due to its relatively low cost and high performance. In recent years, the cost of flash memory has dropped significantly, while the read and write performance has also improved significantly, which provides a cost-effective solution for expanding the capacity of cache systems. According to market trends, the cost per bit of flash memory today is about one-fortieth of DRAM. Since 2016, the price gap between DRAM and solid-state drives (SSDs) with flash memory as the main storage medium has gradually widened. By 2023, the price of DRAM will be about $1,088 per TB, while the price of SSD will be only $25 per TB. In addition to cost factors, with the advancement of Non-Volatile Memory Express (NVMe) technology designed for non-volatile storage media, NVMe SSDs can achieve data transfer rates of several GB / s, which can meet the needs of modern high-concurrency, high-throughput cache systems. With the lower cost and good performance of flash memory, the system provides a larger cache space than DRAM, which can cache a large number of tiny objects more efficiently, and the performance of the cache system is closely related to its cache capacity. The increase in cache space will directly affect the cache hit rate. As shown in the figure, as the cache capacity increases, the cache miss ratio decreases significantly. This means that by expanding the cache capacity, the probability of cache misses can be effectively reduced, thereby improving the overall performance of the system. Therefore, considering the cost and performance, the application of flash memory in large-scale cache systems has become the most cost-effective solution at present.

[0004] However, the application of flash memory in large-scale cache systems also faces a series of technical challenges, mainly focusing on the limited write life of flash memory and the inability to update in place (out-of-place update) characteristics. First, before the flash memory is written, the data must be erased first, and each flash memory cell can only withstand a limited number of write / erase (Program / Erase) cycles. As the number of writes increases, the flash memory will gradually wear out. This phenomenon is particularly evident in high-storage density SSDs. As shown in the figure, there are significant differences in the write endurance of different types of flash memory cells. For example, a single-level cell (SLC) can withstand nearly 100,000 write operations, while the write life of a triple-level cell (TLC) and a quad-level cell (QLC) is significantly reduced. As a more common type of flash memory on the market, TLC's P / E cycle number is usually only one-eighth of SLC or even lower, which means that in scenarios with frequent writes, the service life of TLC will reach its limit faster. As storage density increases, it is expected that the available write life of Penta-Level Cell (PLC) may be further reduced to 10% of the current TLC level. This limited number of P / E cycles significantly restricts the service life of flash memory, which is particularly unfavorable for cache systems that need to write data frequently. Secondly, the write granularity of flash memory and the granularity of tiny objects are quite different, which can easily lead to application-level write amplification (ALWA). The write granularity of flash memory is usually in pages (4KB), but the size of many objects in the cache system may be only tens or hundreds of bytes. If the cache system does not implement an effective write optimization strategy, directly writing an object of only 100 bytes to the flash memory will cause the entire 4KB flash page to be written, resulting in 40 times write amplification, greatly accelerating the wear of the flash memory and significantly shortening its service life. In addition, due to the inherent characteristic of flash memory that it cannot be updated in place, device-level write amplification (DLWA) occurs. Specifically, each data update requires the write operation to be completed at a new location, and the original data location is marked as invalid. Subsequently, the garbage collection mechanism (GarageCollection) must be relied upon to clean up these invalid data and reclaim the occupied space. This process significantly increases the degree of wear on the flash memory, especially in the face of high-concurrency write operations and frequent updates of a large number of small-scale objects.In summary, although flash memory provides a feasible alternative to DRAM for large-scale cache systems due to its cost-effectiveness, its limited write life, severe ALWA, and DLWA caused by garbage collection are still key technical challenges that need to be addressed.

[0005] In order to deal with the above problems, the Zoned Namespace Solid State Drive (ZNS SSD) is a new type of storage device that provides an effective solution. ZNS SSD reduces the write amplification effect by dividing the storage space into multiple logical partitions (Zones) and allowing applications to control the write location of data. Compared with traditional SSDs, the design concept of ZNS is to serialize writes (sequential write) to avoid the write amplification and garbage collection burden caused by frequent random write operations. The writing of data in each partition must be performed in sequence, and the overall erase operation can only be performed after all data in the partition is marked as invalid. This sequential write mechanism greatly reduces DLWA and also reduces the frequency of garbage collection, thereby extending the service life of the flash memory. Summary of the invention

[0006] In order to solve the above problems, the present invention proposes a key-value cache system based on a partitioned namespace solid-state drive, which utilizes the partitioned sequential write characteristics of ZNS and a new log structure based on hash mapping and parallel Bloom filters to solve the DRAM consumption and flash memory write amplification problems faced by existing systems.

[0007] The specific plan is as follows:

[0008] A key-value cache system based on a partitioned namespace solid-state drive, comprising:

[0009] The object and metadata insertion module is used to map the key value through a hash function, determine the offset of the object and its metadata in the logical partition on the partition namespace solid state drive, write the object and its metadata into the data buffer and the first metadata buffer at the corresponding offset position, and update the page-level Bloom filter at the corresponding offset position; when the data buffer and the first metadata buffer are filled with new objects that are continuously written, the contents of the data buffer and the first metadata buffer are batch-written into the partition namespace solid state drive using a log structure;

[0010] The object search module is used to determine the logical partition of the object to be searched on the partition namespace solid state drive through the page-level Bloom filter, determine the offset of the object to be searched in the logical partition through hash mapping, and confirm whether the object exists.

[0011] Furthermore, the partition namespace solid state drive adopts a logical partitioning mechanism to divide the physical storage area into a plurality of logical partitions; the offset within the logical partition is used to confirm the specific storage location of the object within the current logical partition.

[0012] Furthermore, the log structure is used to write the contents of the data buffer and the first metadata buffer into the partition namespace solid state drive in batches. Specifically, batch insertion and large-granularity I / O units are used to write the contents of the data buffer and the first metadata buffer into the partition namespace solid state drive in a sequential manner to form a first-in-first-out logical partition chain.

[0013] Furthermore, the page-level Bloom filter is obtained by decomposing the region-level Bloom filter with the flash memory page as the granularity.

[0014] Furthermore, objects are divided into a first preset frequency and a second preset frequency according to their access frequency, objects whose access frequency exceeds the first preset frequency are regarded as hot objects, and metadata of the hot objects are first unloaded to the partition namespace solid state drive and then loaded into the second metadata buffer; objects whose access frequency is lower than the second preset frequency are regarded as cold objects, and metadata of the cold objects are unloaded to the partition namespace solid state drive and dynamically loaded into the second metadata buffer when needed.

[0015] Furthermore, the key-value cache system based on the partitioned namespace solid-state hard disk also includes: an object eviction module, which is used to perform a recycling operation on hot objects and an eviction operation on cold objects through the metadata cached in the second metadata buffer.

[0016] Furthermore, the performing of the recycling operation on the hot objects and the performing of the expulsion operation on the cold objects specifically includes:

[0017] When each object is accessed in the first-in-first-out logical partition chain, a 1-bit bitmap is used to record the access status of the object. When the first-in-first-out logical partition chain is fully loaded, the metadata cached in the second metadata buffer is used to guide the eviction of objects in the logical partition. During the eviction process, hot objects are selected for recycling by combining the cached metadata with the real-time access status, and the recycling is to write the hot object data back to the data buffer.

[0018] The present invention adopts the above technical solution and has the following beneficial effects:

[0019] (1) The present invention is based on log structure writing based on hash mapping and parallel Bloom filter positioning; the offset position of each object in the data zone is determined by hash mapping, and the log structure is used to batch write to the ZNS SSD, thereby effectively reducing application-level write amplification; in addition, the metadata (i.e., the query bitmap of the Bloom filter) is stored in an independent metadata area of ​​DRAM. Using the Bloom filter, the system can efficiently locate the zone where the object is located, significantly reducing the overhead of index management. This design greatly improves the system's efficiency in utilizing storage resources.

[0020] (2) The present invention utilizes the high skewness of object access frequency and only caches the metadata of a small number of hot objects in DRAM, thereby reducing unnecessary metadata loading; at the same time, combined with the hash mapping mechanism, it further optimizes the time and space overhead of extracting metadata from the flash memory, reduces the overall delay of the system, and improves retrieval efficiency.

[0021] (3) The present invention optimizes the eviction strategy based on hot object metadata; further improving the hit rate of the cache system, the system relies on the hot object metadata stored in DRAM to guide the object eviction strategy, ensuring that frequently accessed objects can be stored in the cache for a long time, effectively improving the overall utilization of the cache, and is particularly suitable for large-scale high-concurrency application scenarios, significantly improving the storage performance of the system. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1 A schematic diagram of a key-value cache system based on a partitioned namespace solid-state hard disk according to an embodiment of the present invention;

[0023] Figure 2 A schematic diagram of a cache system based on a log structure according to an embodiment of the present invention;

[0024] Figure 3 A schematic diagram of a flow chart for inserting objects and metadata thereof according to an embodiment of the present invention;

[0025] Figure 4 The figure is a schematic diagram of the object query process according to an embodiment of the present invention. DETAILED DESCRIPTION

[0026] The present invention is further described in detail below in conjunction with embodiments and drawings, but the embodiments of the present invention are not limited thereto.

[0027] First, the following key terms are defined:

[0028] KV Cache (Key-Value Cache System): The key-value cache system is an efficient data storage and retrieval mechanism that quickly accesses the corresponding value through the key. It is often used to speed up data reading and reduce database access latency, especially when processing a large number of small objects. It has significant performance advantages.

[0029] SSD (Solid State Drive): Solid State Drive is a storage device based on flash memory technology. Compared with traditional mechanical hard disk drives (HDD), SSD has significant advantages in data reading and writing speed, vibration resistance and energy consumption. SSD has no moving parts, so it excels in random access performance and data reliability.

[0030] NVMe SSD (Non-Volatile Memory Express): Non-volatile memory media protocol is an efficient interface standard for accessing high-speed storage devices (such as SSDs). NVMe provides lower latency and higher concurrency by utilizing the PCI Express (PCIe) bus architecture, significantly improving data transfer speed and I / O performance compared to traditional SATA interfaces. NVMe SSDs are widely used in areas that require high-performance storage, such as data centers, cloud computing, and high-performance computing. It is designed to give full play to the advantages of flash memory to meet the growing needs of data processing.

[0031] ZNS SSD (Zone Namespace Solid State Drive): ZNS SSD is a new type of SSD architecture that optimizes data writing and management by dividing the storage area into multiple logical partitions. ZNS SSD reduces write amplification and improves storage efficiency through sequential writing, and is suitable for large-scale data storage and high-performance application scenarios.

[0032] DRAM (Dynamic Random Access Memory): Dynamic random access memory is a type of high-speed memory widely used in computers and other electronic devices. The characteristic of DRAM is that it stores data in a dynamic manner and needs to be refreshed regularly to maintain the validity of the data. Its high-speed read and write capabilities make it an ideal choice for temporary data storage, but the cost per unit capacity is relatively high.

[0033] ALWA (Application-level Write Amplification): Application-level write amplification refers to the phenomenon that the actual amount of data written is greater than the original amount of data during the data writing process due to the design of the application layer and the access mode. The increase of ALWA will affect the performance and life of the SSD, so it needs to be considered when designing the cache system.

[0034] DLWA (Device-level Write Amplification): Device-level write amplification refers to the write amplification phenomenon caused by data management strategies and block erase mechanisms during the internal management of solid-state drives. DLWA is usually determined by the firmware and hardware architecture of the storage device, and an increase in its value may lead to a decrease in device performance and shortened lifespan.

[0035] ZLBF (Zone-level Bloom Filter): A zone-level Bloom filter is an optimized data structure based on a Bloom filter, which is used to quickly determine whether an object exists in a specific zone. By maintaining filters for each zone, ZLBF can significantly reduce access latency and storage overhead, and improve the query efficiency of the system.

[0036] PLBF (Page-level Bloom Filter): A page-level Bloom filter is a finer-grained Bloom filter used to detect object existence at the page level. PLBF can provide fast query results with less storage overhead and is suitable for high-performance storage systems, especially when processing a large number of small objects, which can effectively reduce the burden of metadata management.

[0037] like Figure 1 and Figure 2 As shown, the present invention provides a key-value cache system based on a partitioned namespace solid-state hard disk, comprising:

[0038] The object and metadata insertion module 101 maps the key value through a hash function, determines the offset of the object and its metadata in the logical partition on the partition namespace solid state drive, writes the object and its metadata into the data buffer and the first metadata buffer at the corresponding offset position, and updates the page-level Bloom filter at the corresponding offset position; when the data buffer and the first metadata buffer are filled with new objects that are continuously written, the contents of the data buffer and the first metadata buffer are written in batches into the partition namespace solid state drive using a log structure, such as Figure 3As shown in the figure, metadata area 1 (first metadata buffer) is used to maintain metadata of the data buffer area, metadata area 2 (second metadata buffer) maintains metadata of some recently accessed objects, open area 1 represents the currently written area, areas 2, 3 and 4 represent areas that have been written before, which are essentially areas where objects are actually stored.

[0039] Specifically, the partition namespace SSD uses a logical partition mechanism to divide the physical storage area into multiple logical partitions; the offset in the logical partition is used to confirm the specific storage location of the object in the current logical partition. This partition structure runs through the entire system and lays the foundation for further optimization measures (such as log structure writing based on hash mapping, index overhead optimization and intelligent object recycling).

[0040] Specifically, the data buffer and the first metadata buffer have the same size in the memory. After multiple data buffers are flushed, the first metadata buffer will be filled up, and only after it is filled up will it be flushed into the partition namespace solid state drive. Therefore, the data buffer and the first metadata buffer are not entered into the partition namespace solid state drive at the same time.

[0041] Specifically, the log structure is used to write the contents of the data buffer and the first metadata buffer into the partition namespace solid state drive in batches. Specifically, batch insertion and large-granularity I / O units are used to write the contents of the data buffer and the first metadata buffer into the partition namespace solid state drive in a sequential manner to form a first-in-first-out logical partition chain.

[0042] Specifically, I / O (input / output) operation refers to the process of transferring data from one place to another. Large-granularity I / O unit refers to the use of larger data blocks or units for read and write operations during data transmission. This method can reduce the number of I / O requests and thus improve efficiency, especially when processing large amounts of data.

[0043] Specifically, the log-structured cache system reduces frequent random writes by writing data to the flash memory in a sequential manner and combining it with batch insert operations, thereby effectively reducing ALWA. Sequential writes can reduce page-level write operations, while reducing the wear of the flash memory and extending the service life of the device. In addition, by performing a hash operation on the key of the object, the object is mapped to a specific "set", similar to the working method of the CPU (central processing unit) cache. Since the location of the object is implicitly determined by its key, the cache system based on set association does not need to maintain an index for each tiny object in DRAM. In this way, when processing tiny objects, they are managed by set association, avoiding the use of independent indexes, thereby significantly reducing the storage overhead of the index; the present invention uses a log structure to write the contents of the two buffers to the ZNS SSD in batches to ensure that the write operation is aligned with the erase unit of the ZNS SSD, thereby effectively reducing the application-level write amplification (ALWA) and improving the write efficiency of the system.

[0044] Specifically, through this hash mapping method, the system can quickly find the storage location of the object in the target partition, reducing the index overhead. In order to further optimize the index cost of the storage location, the system does not use the traditional hash table, but introduces parallel Bloom filters. The advantage of Bloom filters is that they can quickly query large amounts of data with less storage and query overhead, helping the system to efficiently determine the existence of objects. In this design, the system maintains multiple Zone-level Bloom filters to achieve parallel detection and quickly locate the Zone ID (zone number) of the object, avoiding the inefficient operation of scanning all partitions one by one, and greatly reducing the storage overhead of the hash table storage solution to record location information.

[0045] The object search module 102 determines the logical partition of the object to be searched on the partition namespace solid state drive through the page-level Bloom filter, determines the offset of the object to be searched within the logical partition through the hash map, and confirms whether the object exists. Figure 4 shown.

[0046] Specifically, the object search module is specifically used to: decompose the region-level Bloom filter into a page-level Bloom filter with a flash page as the granularity, and realize object search by loading the page-level Bloom filter that matches the offset in the object logical partition.

[0047] Specifically, objects are divided into a first preset frequency and a second preset frequency according to their access frequency, objects whose access frequency exceeds the first preset frequency are regarded as hot objects, and metadata of the hot objects are first unloaded to the partition namespace solid state drive and then loaded into the second metadata buffer; objects whose access frequency is lower than the second preset frequency are regarded as cold objects, and metadata of the cold objects are unloaded to the partition namespace solid state drive and dynamically loaded into the second metadata buffer when needed.

[0048] Specifically, the search operation of the present invention is also based on the hash mapping mechanism, and a page-level parallel Bloom filter is used to locate the object. The introduction of the parallel Bloom filter greatly reduces the overhead of global search in the absence of precise indexes, and avoids the inefficient operation of scanning all Zones one by one. If the target object exists in the Bloom filter, the Intra-zone Offset (intra-partition offset) of the object is further used to efficiently retrieve the required object.

[0049] The object eviction module 103 is used to perform a recycling operation on the hot objects and an eviction operation on the cold objects through the metadata cached in the second metadata buffer.

[0050] Specifically, the reclaiming operation is performed on the hot objects, and the expelling operation is performed on the cold objects, which specifically includes:

[0051] When each object is accessed in the first-in-first-out logical partition chain, a 1-bit bitmap is used to record the access status of the object. When the first-in-first-out logical partition chain is fully loaded, the metadata cached in the second metadata buffer is used to guide the eviction of objects in the logical partition. During the eviction process, hot objects are selected for recycling by combining the cached metadata with the real-time access status, and the recycling is to write the hot object data back to the data buffer.

[0052] Specifically, in order to achieve effective metadata unloading, it is first necessary to decouple the memory space that the parallel Bloom filter relies on during the object positioning process. The parallel Bloom filter is maintained at the Zone granularity. Therefore, during the object positioning process, all metadata must be stored in DRAM to avoid additional flash memory access for each query. The high-performance cache system cannot accept that metadata must be extracted from the flash memory before each query object, because frequent flash memory access will significantly increase the query latency and seriously affect the system performance; the per-element storage overhead of the Bloom filter is only related to the false positive rate, but not to the number of elements contained in the Bloom filter and the number of hash functions. Therefore, the present invention proposes a more fine-grained solution, that is, decomposing the Zone-level Bloom filter into a Bloom filter with a flash memory page as the granularity. During the object positioning process, the system only needs to load the page-level Bloom filter that matches the object Intra-zone Offset, thereby greatly reducing the demand for memory space during the calculation process. This design reduces the dependency on memory space to 1 / 256000 of the original solution, greatly reducing the occupation of DRAM resources, and providing technical feasibility for unloading metadata to flash memory.

[0053] In addition, the cache system design based on the novel hardware architecture of the present invention also breaks the isolation between the kernel and the device, exposing the internal details of the device to the cache system. Through the collaboration of the application layer and the hardware layer, this design can significantly reduce the DLWA of the cache system and further alleviate the ALWA problem.

[0054] In summary, the present invention introduces a hash mapping mechanism and a page-level parallel Bloom filter mechanism based on the traditional log structure. Through this combined design, the metadata storage overhead of the system is greatly reduced while ensuring that the query time overhead is controllable. In addition, in the eviction process, the system optimizes the eviction strategy based on the metadata of the hot object, and realizes the effective identification of hot objects in the eviction area without introducing additional metadata overhead, thereby further improving the cache hit rate. The present invention can efficiently manage tiny objects in a large-scale cache system, optimize storage efficiency, reduce indexing and writing overhead, and improve the system hit rate, providing a more efficient solution for high-concurrency and big data application scenarios.

[0055] Although the present invention has been specifically shown and described in conjunction with the preferred embodiments, it should be understood by those skilled in the art that various changes may be made to the present invention in form and details without departing from the spirit and scope of the present invention as defined by the appended claims, all of which are within the scope of protection of the present invention.

Claims

1. A key-value cache system based on a partitioned namespace solid-state drive, characterized in that: include: The object and metadata insertion module is used to map the key value through a hash function, determine the offset of the object and its metadata in the logical partition on the partition namespace solid state drive, write the object and its metadata into the data buffer and the first metadata buffer at the corresponding offset position, and update the page-level Bloom filter at the corresponding offset position; when the data buffer and the first metadata buffer are filled with new objects that are continuously written, the contents of the data buffer and the first metadata buffer are batch-written into the partition namespace solid state drive using a log structure; The object search module is used to determine the logical partition of the object to be searched on the partition namespace solid state drive through the page-level Bloom filter, determine the offset of the object to be searched in the logical partition through hash mapping, and confirm whether the object exists.

2. The key-value cache system based on partitioned namespace solid state drive according to claim 1, characterized in that: The partition namespace solid state drive adopts a logical partitioning mechanism to divide the physical storage area into multiple logical partitions; the offset within the logical partition is used to confirm the specific storage location of the object within the current logical partition.

3. The key-value cache system based on partitioned namespace solid state drive according to claim 1, characterized in that: The log structure is used to batch write the contents of the data buffer and the first metadata buffer into the partition namespace solid state drive. Specifically, batch insertion and large-granularity I / O units are used to sequentially write the contents of the data buffer and the first metadata buffer into the partition namespace solid state drive to form a first-in-first-out logical partition chain.

4. The key-value cache system based on partitioned namespace solid state drive according to claim 1, characterized in that: The page-level Bloom filter takes the flash memory page as the granularity and is decomposed by the region-level Bloom filter.

5. The key-value cache system based on partitioned namespace solid state drive according to claim 1, characterized in that: Objects are divided into a first preset frequency and a second preset frequency according to their access frequency, and objects whose access frequency exceeds the first preset frequency are regarded as hot objects, and metadata of the hot objects are first unloaded to the partition namespace solid state drive and then loaded into the second metadata buffer; objects whose access frequency is lower than the second preset frequency are regarded as cold objects, and metadata of the cold objects are unloaded to the partition namespace solid state drive and dynamically loaded into the second metadata buffer when needed.

6. The key-value cache system based on partitioned namespace solid state drive according to claim 5, characterized in that: Also includes: The object eviction module is used to perform a recycling operation on the hot objects and an eviction operation on the cold objects through the metadata cached in the second metadata buffer.

7. The key-value cache system based on partitioned namespace solid state drive according to claim 6, characterized in that: The reclaiming operation on the hot objects and the expelling operation on the cold objects specifically include: When each object is accessed in the first-in-first-out logical partition chain, a 1-bit bitmap is used to record the access status of the object. When the first-in-first-out logical partition chain is fully loaded, the metadata cached in the second metadata buffer is used to guide the eviction of objects in the logical partition. During the eviction process, hot objects are selected for recycling by combining the cached metadata with the real-time access status, and the recycling is to write the hot object data back to the data buffer.

Citation Information

Patent Citations

  • Method for reading data and hybrid memory module

    CN108427647A

  • Efficient indexing method for optimizing leaf node merging operation

    CN111475508A

  • LSM tree to manage key-value pairs stored in non-volatile memory

    CN114153377A

  • Time sequence database storage engine construction method based on ZNS solid state disk

    CN117149081A

  • Retrieval method based on disk-level cache data redirection

    CN117873916A

Cited By

  • Hybrid NAND adaptive caching method based on integrated circuit

    CN121614417A

  • A method for storage node metadata partition remote

    CN122507321A