Key-value cache system based on partitioned namespace solid state disk

By introducing partitioned namespace solid-state drives and hash-mapped parallel Bloom filters into the caching system, the writing and management of flash memory are optimized, solving the problems of high DRAM cost and limited flash memory lifespan, and achieving efficient utilization of cache resources and performance improvement.

CN119782198BActive Publication Date: 2025-11-28XIAMEN UNIV
View PDF 2 Cites -1 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In existing technologies, the high cost of DRAM and the limited write lifespan, write amplification effect, and device-level write amplification problem caused by garbage collection of flash memory limit the economics and reliability of large-scale cache systems, especially in high-concurrency and high-frequency write scenarios, which affects the performance and lifespan of cache systems.

Method used

A key-value caching system employing partitioned namespace solid-state drives (ZNS SSDs) combined with hash mapping and parallel Bloom filters optimizes data storage and management in flash memory through logical partitioning and log structure writing, reduces write amplification effects, and improves cache hit rate through a hot object metadata eviction strategy.

Benefits of technology

It significantly improves the storage resource utilization efficiency of the caching system, reduces the overhead of index management and metadata loading, extends the lifespan of flash memory, and enhances the overall performance and hit rate of the caching system, making it particularly suitable for large-scale, high-concurrency application scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119782198B_ABST
    Figure CN119782198B_ABST
Patent Text Reader

Abstract

The application relates to a key value cache system based on a partitioned namespace solid state disk, and the system comprises an object and metadata insertion module, an object search module and an object eviction module. A hash function is used to map a key value to an offset in a logical partition, and a page-level Bloom filter is used to realize efficient search; object write data and first metadata are buffered, log-structured batch writing is used to write into a disk, and a first-in-first-out logical partition chain is formed; the system caches hot object metadata, and classifies and manages objects according to access frequencies; object metadata with an access frequency higher than a first preset frequency is unloaded and then loaded, and object metadata with an access frequency lower than a second preset frequency is unloaded and then dynamically loaded; in the eviction process, the second metadata buffer and real-time access conditions are combined to selectively recover high-frequency access objects. Through hash mapping, a page-level Bloom filter and object management based on access frequencies, the application improves the performance and efficiency of the key value cache system.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of computer storage, and in particular to a key-value cache system based on a partitioned namespace solid state disk. BACKGROUND

[0002] With the rapid development of the Internet and big data applications, modern network services need to be able to quickly and economically access billions of levels of tiny object sets. These objects are usually only a few hundred bytes or even smaller, and are widely used in social networks, micro blogs, 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, micro-blog services such as Sina Weibo and Twitter face high-concurrency content read-write requirements, and e-commerce platforms also need to quickly respond to user queries for goods. The importance and influence of these applications to society are obvious, therefore, how to achieve caching and access to massive small objects with high performance and low cost, thereby accelerating user requests and reducing the access pressure on the backend database server, has become a 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 to implement. 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 size, especially the cache demand 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, its price is extremely high, making it 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, and its read and write performance has also improved significantly, providing an economically effective solution to expand the capacity of cache systems. According to market trends, the cost of flash memory is about one thirty-fourth of DRAM today. Since 2016, the price gap between DRAM and solid state drive (SSD) with flash memory as the main storage medium has gradually widened. By 2023, the price of DRAM is about $1088 per TB, while the price of SSD is 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 SSD can achieve data transfer rates of several GB / s, meeting the needs of modern high concurrency and high throughput cache systems. With the lower cost and good performance of flash memory, the system provides larger cache space than DRAM, which can more efficiently cache a large number of small objects, and the performance of the cache system is closely related to its cache capacity. The increase of cache space will directly affect the cache hit rate. As shown in the figure, with the increase of cache capacity, the cache miss ratio significantly decreases. This means that by expanding the cache capacity, the probability of cache miss can be effectively reduced, thereby improving the overall system performance. Therefore, considering cost and performance, the application of flash memory in large-scale cache systems has become the most economically viable solution.

[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 endurance and the out-of-place update characteristics of flash memory. First, flash memory must be erased before writing data, and each flash memory cell can only withstand a limited number of Program / Erase (P / E) cycles. As the number of writes increases, flash memory gradually wears out, which is particularly evident in high-density SSDs. As shown in the figure, the write endurance of different types of flash memory cells varies significantly. For example, Single-level Cell (SLC) can withstand nearly 100,000 write operations, while Triple-level Cell (TLC) and Quartic-level Cell (QLC) have significantly reduced write endurance. TLC, as the most common type of flash memory on the market, typically has only one-eighth of the P / E cycle count of SLC or even lower, meaning that in scenarios with frequent writes, the service life of TLC will reach its limit more quickly. As storage density increases, the available write endurance of Penta-Level Cell (PLC) is expected to further decrease to 10% of the current TLC level. This limited P / E cycle count significantly restricts the service life of flash memory, which is particularly disadvantageous for cache systems that require frequent data writes. Second, the write granularity of flash memory and the granularity of small objects differ significantly, which can easily lead to Application-level Write Amplification (ALWA). The write granularity of flash memory is usually in pages (4KB), but many objects in cache systems may only be a few tens or hundreds of bytes in size. If the cache system does not implement effective write optimization strategies, directly writing a 100-byte object to flash memory will result in the entire 4KB flash page being written, resulting in a 40x write amplification and significantly accelerating the wear of flash memory, significantly shortening its service life. In addition, due to the inherent characteristics of flash memory's inability to update in place, device-level Write Amplification (DLWA) occurs. Specifically, each data update requires a new location for the write operation, while the original data location is marked as invalid. Subsequently, garbage collection mechanisms must be relied upon to clean up these invalid data and recover the occupied space. This process significantly exacerbates the wear of flash memory, especially in scenarios with high concurrency of write operations and frequent updates of a large number of small objects.In summary, although flash memory provides a cost-effective alternative to DRAM for large-scale cache systems, its limited write endurance, severe ALWA, and DLWA caused by garbage collection remain key technical challenges that need to be addressed.

[0005] To address the above problems, Zoned Namespace Solid State Drive (ZNS SSD) is proposed as an effective solution to the problem. ZNS SSD reduces the write amplification effect by dividing the storage space into multiple logical zones and allowing applications to control the write location of data. Compared to traditional SSDs, the design philosophy of ZNS is to sequentialize the write, thereby avoiding the write amplification and garbage collection burden caused by frequent random write operations. The write of data in each zone must be sequential, and only after all the data in the zone is marked as invalid, the overall erase operation can be performed. This sequential write mechanism greatly reduces the DLWA and also reduces the frequency of garbage collection, thereby prolonging the service life of flash memory. SUMMARY

[0006] To solve the above problems, the present application proposes a key-value cache system based on Zoned Namespace Solid State Drive, which utilizes the sequential write characteristics of ZNS and a new log structure based on hash mapping and parallel Bloom filter to solve the DRAM consumption and flash write amplification problems faced by existing systems.

[0007] The specific scheme is as follows:

[0008] A key-value cache system based on Zoned Namespace Solid State Drive, comprising:

[0009] An object and its metadata insertion module for mapping the key value through a hash function, determining the offset of the object and its metadata in the logical zone on the Zoned Namespace Solid State Drive, writing the object and its metadata into the data buffer and the first metadata buffer at the corresponding offset position, and updating the page-level Bloom filter at the corresponding offset position; when the data buffer and the first metadata buffer are filled with new objects written continuously, the contents of the data buffer and the first metadata buffer are written in bulk to the Zoned Namespace Solid State Drive using a log structure;

[0010] An object lookup module for determining the logical zone of the object to be searched on the Zoned Namespace Solid State Drive through the page-level Bloom filter, determining the offset of the object to be searched in the logical zone through hash mapping, and confirming whether the object exists.

[0011] Further, the partitioned namespace solid state disk adopts a logical partition mechanism to divide the physical storage area into a plurality of logical partitions; and the offset in the logical partition is used to confirm the specific storage position of an object in the current logical partition.

[0012] Further, the contents of the data buffer and the first metadata buffer are written into the partitioned namespace solid state disk in batches by using a log structure, specifically, the contents of the data buffer and the first metadata buffer are written into the partitioned namespace solid state disk in a sequential manner by using a batch insertion and a large-granularity I / O unit, so as to form a first-in-first-out logical partition chain.

[0013] Further, the page-level Bloom filter is obtained by decomposing the area-level Bloom filter in a flash page granularity.

[0014] Further, the objects are divided into a first preset frequency and a second preset frequency, the objects with an access frequency higher than the first preset frequency are regarded as hot objects, and the metadata of the hot objects are unloaded to the partitioned namespace solid state disk first, and then loaded into the second metadata buffer; and the objects with an access frequency lower than the second preset frequency are regarded as cold objects, and the metadata of the cold objects are unloaded to the partitioned namespace solid state disk, and dynamically loaded into the second metadata buffer when needed.

[0015] Further, the key-value cache system based on the partitioned namespace solid state disk further comprises an object eviction module configured to perform a recycling operation on the hot objects and an eviction operation on the cold objects by using the metadata cached in the second metadata buffer.

[0016] Further, the recycling operation on the hot objects and the eviction operation on the cold objects specifically include:

[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 of the object, and when the first-in-first-out logical partition chain is full, the metadata cached in the second metadata buffer is used to guide the eviction of the objects in the logical partition; in the eviction process, the hot objects are recycled by combining the cached metadata and the real-time access, and the recycling is to write the data of the hot objects back to the data buffer.

[0018] The present application adopts the above technical solutions and has the following beneficial effects:

[0019] (1) The application is based on hash mapping and parallel Bloom filter positioning log structure write; the offset position of each object in the data Zone is determined by hash mapping, and the log structure batch write ZNS SSD is adopted, so that the application level write amplification is effectively reduced; in addition, the metadata (i.e. the query bitmap of the Bloom filter) is stored in the independent metadata area of the DRAM, and by using the Bloom filter, the system can efficiently locate the Zone where the object is located, and significantly reduce the overhead of index management. This design greatly improves the utilization efficiency of the system to the storage resources.

[0020] (2) The application utilizes the high skew of object access frequency, and only caches the metadata of a small number of hot objects in the DRAM, thereby reducing unnecessary metadata loading; at the same time, in combination with the hash mapping mechanism, the space-time overhead of extracting metadata from the flash memory is further optimized, the overall delay of the system is reduced, and the retrieval efficiency is improved.

[0021] (3) The application is based on the eviction strategy optimization of hot object metadata; further improve the hit rate of the cache system, the system relies on the hot object metadata stored in the DRAM to guide the evicting strategy of the object, ensures that the objects frequently accessed can be long-term saved in the cache, effectively improves the overall utilization rate of the cache, and is especially suitable for large-scale high-concurrency application scenarios, and significantly improves the storage performance of the system. BRIEF DESCRIPTION OF DRAWINGS

[0022] Figure 1 The figure is a key value cache system based on a partitioned namespace solid state disk according to an embodiment of the application;

[0023] Figure 2 The figure is a cache system principle diagram based on a log structure according to an embodiment of the application;

[0024] Figure 3 The figure is an object and its metadata insertion flowchart according to an embodiment of the application;

[0025] Figure 4 The figure is an object query flowchart according to an embodiment of the application. DETAILED DESCRIPTION

[0026] The application will be further described in detail below in combination with embodiments and drawings, but the embodiments of the application are not limited thereto.

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

[0028] KV Cache (Key-Value Cache System): A high-performance data storage and retrieval mechanism that allows fast access to values (Value) through keys (Key). It is commonly used to accelerate data reading and reduce database access latency, especially when dealing with a large number of small objects.

[0029] SSD (Solid State Drive): A storage device based on flash memory technology, which has significant advantages in data read / write speed, shock resistance, and energy consumption compared to traditional mechanical hard drives (HDD). SSDs have no moving parts, so they perform well in random access performance and data reliability.

[0030] NVMe SSD (Non-Volatile Memory Express): A high-efficiency interface standard for accessing high-speed storage devices such as SSDs. NVMe uses the PCI Express (PCIe) bus architecture to provide lower latency and higher concurrency, significantly improving data transfer speed and I / O performance compared to traditional SATA interfaces. NVMe SSDs are widely used in fields that require high-performance storage, such as data centers, cloud computing, and high-performance computing. Its design aims to fully exploit the advantages of flash memory to meet the growing demand for data processing.

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

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

[0033] ALWA (Application-level Write Amplification) refers to the phenomenon where the actual amount of data written exceeds the original amount of data due to application-level design and access patterns. Increased ALWA can negatively impact SSD performance and lifespan, and therefore must be considered when designing caching systems.

[0034] DLWA (Device-level Write Amplification): Device-level write amplification refers to the write amplification phenomenon caused by data management strategies and block erasure mechanisms during the internal management process of a solid-state drive (SSD). DLWA is typically determined by the storage device's firmware and hardware architecture, and its increased value may lead to decreased device performance and shortened lifespan.

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

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

[0037] like Figure 1 and Figure 2 As shown, the present invention discloses a key-value caching system based on a partitioned namespace solid-state drive, comprising:

[0038] The object and its metadata insertion module 101 maps key-value pairs using a hash function to determine the offset of the object and its metadata within the logical partition on the partition namespace solid-state drive. It then writes the object and its metadata into the data buffer and the first metadata buffer at the corresponding offset positions, and updates the page-level Bloom filter at the corresponding offset positions. When the data buffer and the first metadata buffer are filled with continuously written new objects, a 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, such as... Figure 3As shown, the metadata area 1 (first metadata buffer) is used to maintain the metadata of the data buffer area, the metadata area 2 (second metadata buffer) maintains the metadata of some recently accessed objects, the open area 1 represents the currently written area, and the areas 2, 3 and 4 represent the previously written areas, which are essentially the areas actually storing objects.

[0039] Specifically, the partitioned namespace solid state disk adopts 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 position of an object in the current logical partition. This partition structure runs through the entire system and lays a foundation for further optimization measures (such as log-structured 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, and after flushing multiple data buffers, the first metadata buffer will be filled, and after being filled, it will be flushed into the partitioned namespace solid state disk, so the data buffer and the first metadata buffer are not flushed into the partitioned namespace solid state disk at the same time.

[0041] Specifically, the contents of the data buffer and the first metadata buffer are written into the partitioned namespace solid state disk in batches using a log structure, specifically, the contents of the data buffer and the first metadata buffer are written into the partitioned namespace solid state disk in a sequential manner using the batch insertion and large-granularity I / O unit mode, forming a first-in-first-out logical partition chain.

[0042] Specifically, the I / O (input / output) operation refers to the process of transferring data from one place to another, and the large-granularity I / O unit refers to using larger data blocks or units for read and write operations during data transfer. Using this method can reduce the number of I / O requests and improve efficiency, especially when handling 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 batch insertion operations, thereby effectively reducing ALWA. Sequential writing can reduce page-level write operations, reduce flash wear, and prolong the service life of the device. In addition, by hashing the keys of objects to map them to specific "sets", similar to the working method of CPU cache, since the location of an object is implicitly determined by its key, the cache system based on set association does not need to maintain an index for each small object in DRAM. Therefore, when processing small objects, the set association method is used to manage them, avoiding the use of independent indexes, thereby significantly reducing the storage overhead of indexes. The present application uses a log structure to batch write the contents of the two buffers to a ZNS SSD to ensure that the write operation is aligned with the erase unit of the ZNS SSD, thereby effectively reducing 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. To further optimize the index cost of the storage location, the system does not use a traditional hash table, but introduces a parallel Bloom filter. The advantage of the Bloom filter is that it can quickly query a large amount of data with small storage and query overhead, helping the system efficiently determine the existence of an object. In this design, the system maintains multiple Zone-level Bloom filters to achieve parallel detection and quickly locate the Zone ID of the object, avoiding inefficient operations such as scanning all partitions one by one, and significantly reducing the storage overhead of the hash table storage scheme for recording location information.

[0045] The object lookup module 102 determines the logical partition of the object to be found on the partition namespace solid state disk through the page-level Bloom filter, determines the offset of the object to be found in the logical partition through hash mapping, and confirms whether the object exists, as shown in Figure 4

[0046] Specifically, the object lookup module is specifically configured to: decompose the Zone-level Bloom filter into a page-level Bloom filter with a granularity of a flash page, and load the page-level Bloom filter matching the offset in the logical partition of the object to realize object lookup.

[0047] ​Specifically, the objects are divided into the first preset frequency and the second preset frequency, the objects with the access frequency exceeding the first preset frequency are regarded as hot objects, and the metadata of the hot objects is unloaded on the partition namespace solid state disk first and then loaded into the second metadata buffer; the objects with the access frequency lower than the second preset frequency are regarded as cold objects, and the metadata of the cold objects is unloaded into the partition namespace solid state disk and dynamically loaded into the second metadata buffer when needed.

[0048] Specifically, the lookup operation of the application is also based on the hash mapping mechanism, and a page-level parallel Bloom filter is used to locate the object, and the introduction of the parallel Bloom filter greatly reduces the overhead of global lookup under the condition of no accurate index, and avoids the inefficient operation of scanning all Zones one by one, if the target object exists in the Bloom filter, the object is further searched through the Intra-zone Offset (intra-zone offset) of the object, so that the required object can be efficiently retrieved.

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

[0050] Specifically, the recycling operation on the hot object and the eviction operation on the cold object specifically include:

[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 of the object, when the first-in-first-out logical partition chain is full, the metadata cached in the second metadata buffer is used to guide the eviction of the objects in the logical partition; in the eviction process, the hot objects are selected for recycling by combining the cached metadata and real-time access, and the recycling is to write the hot object data back to the data buffer.

[0052] Specifically, in order to realize the effective offloading of metadata, firstly, the memory space relied on by the parallel Bloom filter in the object locating process needs to be decoupled, and the parallel Bloom filter is maintained in the Zone granularity, therefore, in the object locating process, all metadata must be stored in the DRAM, so as to avoid additional flash access caused by each query, the high-performance cache system cannot accept that the metadata must be extracted from the flash before each query object, because the frequent flash access will significantly increase the query delay, and seriously affect the system performance, the storage overhead of each element of the Bloom filter is only related to the false positive rate, and is irrelevant to the number of elements contained by the Bloom filter and the number of hash functions, therefore, the present application proposes a more fine-grained scheme, that is, the Zone-level Bloom filter is decomposed into a Bloom filter with a flash page as a granularity, in the object locating process, the system only needs to load the page-level Bloom filter matched with the object Intra-zone Offset, so as to greatly reduce the demand for memory space in the calculation process. The design reduces the dependence of the memory space to 1 / 256000 of the original scheme, greatly reduces the occupation of the DRAM resources, and provides technical feasibility for offloading the metadata to the flash

[0053] In addition, the cache system design based on the new hardware architecture of the present application also breaks the isolation between the kernel and the device, exposes the details inside the device to the cache system, and through the cooperation of the application layer and the hardware layer, the design can significantly reduce the DLWA of the cache system, and further relieve the ALWA problem.

[0054] In summary, on the basis of the traditional log structure, the present application introduces a hash mapping mechanism and a page-level parallel Bloom filter mechanism, through the combined design, the metadata storage overhead of the system is greatly reduced on the premise of ensuring controllable query time overhead. In addition, in the eviction process, the system realizes the effective identification of hot objects in the evicted area on the premise of not introducing additional metadata overhead through the eviction strategy optimization based on hot object metadata, so as to further improve the cache hit rate. The present application can efficiently manage small objects in a large-scale cache system, optimize the storage efficiency, reduce the index and write overhead, and improve the system hit rate, and provides a more efficient solution for high-concurrency and large-data application scenarios.

[0055] Although the present application is specifically shown and introduced in combination with the preferred embodiments, it should be understood by those skilled in the art that various changes can be made to the present application in form and detail without departing from the spirit and scope of the present application defined in the appended claims, and all such changes are within the protection scope of the present application.

Claims

1.A key-value cache system based on a partitioned namespace solid state disk, characterized in that, The application relates to a data storage method and device based on a partitioned namespace solid state disk. The object and metadata insertion module is used for mapping a key value through a hash function, determining the offset of the object and metadata in a logical partition of a partitioned namespace solid state disk, writing the object and metadata into a data buffer and a first metadata buffer at corresponding offset positions, and updating a page-level Bloom filter at the corresponding offset positions; when the data buffer and the first metadata buffer are filled with new objects, the contents of the data buffer and the first metadata buffer are batch written into the partitioned namespace solid state disk in a log structure. The object searching module is used for determining the logical partition of a to-be-searched object on the partitioned namespace solid state disk through a page-level Bloom filter, determining the offset of the to-be-searched object in the logical partition through hash mapping, and confirming whether the object exists. The page-level Bloom filter is decomposed from a region-level Bloom filter and has a flash page as a granularity. The partitioned namespace solid state disk adopts a logical partition mechanism to divide a physical storage region into multiple logical partitions; and the offset in the logical partition is used for confirming the specific storage position of an object in the current logical partition. 2.The key-value cache system based on the partitioned namespace solid state disk according to claim 1, wherein, The objects are divided into hot objects and cold objects according to access frequencies; the metadata of the hot objects is unloaded on the partitioned namespace solid state disk first and then loaded into a second metadata buffer; and the metadata of the cold objects is unloaded into the partitioned namespace solid state disk and dynamically loaded into the second metadata buffer when needed. 3.The partitioned-namespace solid state drive based key-value cache system of claim 1, wherein, The object eviction module is used for executing a recycling operation on the hot objects and an eviction operation on the cold objects through the metadata cached in the second metadata buffer. 4.The key-value cache system based on the partitioned namespace solid state disk according to claim 3, characterized in that, The recycling operation on the hot objects and the eviction operation on the cold objects specifically include the following steps. When each object is accessed in the first-in-first-out logical partition chain, a 1-bit bitmap is used to record the access condition of the object; when the first-in-first-out logical partition chain is full, the metadata cached in the second metadata buffer is used to guide the eviction of the objects in the logical partition; and in the eviction process, the hot objects are recycled by combining the cached metadata and real-time access conditions, and the recycling is writing the hot object data back to the data buffer. 5.The key-value cache system based on the partitioned namespace solid state disk according to claim 4, wherein, ​ ​

Citation Information

Patent Citations

  • Efficient indexing method for optimizing leaf node merging operation

    CN111475508A

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

    CN114153377A