A method and system and device based on solid state disk and memory read cache

By dynamically adjusting the underlying storage data pre-fetch value and accurately allocating memory space, the problems of unreasonable cache space allocation and read-write conflicts in the cache system are solved, the performance and stability of the storage system are improved, and fast and stable data reading is achieved.

CN119937934BActive Publication Date: 2025-10-14CHINA ELECTRONICS CLOUD DIGITAL INTELLIGENCE TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510089393.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-21
Publication Date
2025-10-14
Estimated Expiration
2045-01-21

AI Technical Summary

Technical Problem

Existing caching technologies cannot effectively solve the problems of different access efficiency requirements for different business requests, fixed cache space allocation, and cache read-write conflicts, resulting in limited cache system performance and efficiency.

Method used

Through a read cache method based on solid-state drives and memory, the underlying storage data pre-fetch value is dynamically adjusted and memory space is precisely allocated. The trigger distance value is set according to the arrival rate of read requests, and the data storage strategy is optimized to reduce read and write conflicts.

Benefits of technology

It achieves efficient utilization of limited cache space, significantly improves the access efficiency and response speed of the storage system, and provides a faster and more stable data reading experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119937934B_ABST
    Figure CN119937934B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of data cache reading, and provides a method, a system and equipment based on a solid state disk and memory reading cache, which comprises the following steps: receiving a reading request, searching whether data corresponding to the reading request has been pre-read onto a solid state disk; when the data corresponding to the reading request has not been pre-read onto the solid state disk, judging whether data pre-reading can be triggered according to a reading record tree; when the data pre-reading can be triggered, pre-reading data corresponding to a value from a hard disk drive according to a reaching rate of the reading request; setting a corresponding trigger distance value according to the reaching rate of the reading request, and storing the pre-read data in layers according to the set trigger distance value. The application can realize efficient utilization of limited cache space, effectively reduce read-write conflicts by optimizing a data storage strategy, significantly improve the performance of an SSD medium, improve the access efficiency and response speed of a storage system as a whole, and provide a user with a faster and more stable data reading experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data cache reading technology, and in particular to a method, system and device based on solid-state drive and memory read cache. Background Art

[0002] With the rapid development of information technology, the demand for data storage and access is increasing. Among various storage devices, hard disk drives (HDDs) are widely used for data storage due to their large storage capacity. However, the mechanical structure of HDDs results in relatively slow read and write speeds, which cannot meet the data read speed requirements of high-performance computing and real-time data processing.

[0003] To improve data reading performance, existing cache technologies mainly focus on the following aspects:

[0004] Content-based caching technology: By identifying hot data, it caches this hot data into high-performance media such as SSDs, thereby accelerating data access. This method can effectively improve the access efficiency of hot data, but it fails to fully consider the differences in access efficiency requirements for different business requests. In actual applications, different business requests have different requirements for the frequency and speed of data access. Existing technologies often adopt a unified caching strategy, which cannot provide sufficient caching support for high-frequency requests, resulting in unreasonable allocation of cache resources and failure to maximize the needs of different business requests.

[0005] Data elimination algorithm: This algorithm uses an algorithm to identify data that needs to be eliminated, effectively utilizing limited cache space and improving access efficiency. While this algorithm can optimize cache usage to a certain extent, it cannot dynamically adjust cache space allocation when faced with requests arriving at different rates. When requests with high and low arrival rates coexist, cache space may not be properly allocated based on the urgency and importance of the requests, affecting overall access efficiency.

[0006] Tiered caching technology: Establishing a multi-level caching system improves data access flexibility and efficiency through different tiers of caching media. Although tiered caching can alleviate cache pressure to a certain extent, cache read and write conflicts still exist in practice. When multiple requests read and write to the cache simultaneously, cache performance can degrade, affecting the speed and stability of data access. This issue is particularly prominent in high-concurrency scenarios, severely restricting the performance of the cache system.

[0007] In summary, while existing caching technologies have improved data access efficiency to a certain extent, they still face challenges when dealing with varying access efficiency requirements for different business requests, fixed cache space allocation, and cache read / write conflicts. Therefore, a new caching method is needed that can dynamically allocate cache space based on the arrival rate of different business requests and effectively resolve cache read / write conflicts, thereby further improving the performance and access efficiency of the cache system. Summary of the Invention

[0008] In view of this, in order to overcome the deficiencies of the prior art, the present application aims to provide a method, system and device based on a solid state drive and a memory read cache.

[0009] According to a first aspect of the present application, a method based on a solid-state drive and a memory read cache is provided, the method comprising:

[0010] Receive a read request and check whether the data corresponding to the read request has been pre-read to the solid-state drive;

[0011] When the data corresponding to the read request has not been pre-read to the solid-state drive, it is determined whether data pre-reading can be triggered based on the read record tree;

[0012] When data pre-reading can be triggered, data of corresponding value is pre-read from the hard disk drive according to the arrival rate of the read request;

[0013] According to the arrival rate of read requests, a corresponding trigger distance value is set, and the pre-read data is stored in layers according to the set trigger distance value.

[0014] Optionally, in the method based on solid-state drive and memory read cache of the present application, a read request is received and a search is performed to determine whether the data corresponding to the read request has been pre-read to the solid-state drive, including: when the data corresponding to the read request has been pre-read to the solid-state drive, the corresponding data is directly read from the solid-state drive.

[0015] Optionally, in the method based on solid-state hard drive and memory read cache of the present application, whether data pre-reading can be triggered is determined according to the read record tree, including: recording each read request through the read record tree, and when the current read request is continuous with the record in the read record tree, determining that the current read request can trigger data pre-reading, and when the current read request is discontinuous with the record in the read record tree, recording the read request in the read record tree.

[0016] Optionally, in the method based on the solid-state drive and memory read cache of the present application, whether data pre-reading can be triggered is determined according to the read record tree, including: when data pre-reading cannot be triggered, reading corresponding data from the hard disk drive.

[0017] Optionally, in the method based on solid-state hard disk and memory read cache of the present application, data of corresponding value is pre-read from the hard disk drive according to the arrival rate of read requests, including: after triggering data pre-reading, calculating the arrival rate of read requests, allocating corresponding underlying storage data pre-fetch value to the read request according to the calculated arrival rate of read requests, and pre-reading data from the hard disk drive according to the allocated underlying storage data pre-fetch value.

[0018] Optionally, in the method based on the solid-state drive and memory read cache of the present application, calculating the arrival rate of read requests includes: collecting the number of identical or similar read requests received within a unit time.

[0019] Optionally, in the method based on solid-state hard drive and memory read cache of the present application, a corresponding underlying storage data pre-fetch value is allocated to the read request according to the calculated arrival rate of the read request, including: presetting multiple arrival rate intervals of the read request, each interval corresponding to an underlying storage data pre-fetch value, and allocating the corresponding underlying storage data pre-fetch value to the read request according to the interval to which the arrival rate of the read request belongs.

[0020] Optionally, in the method of the present application based on solid-state hard drive and memory read cache, a corresponding trigger distance value is set according to the arrival rate of the read request, and the pre-read data is stored in layers according to the set trigger distance value, including: presetting multiple arrival rate intervals of read requests, each interval corresponding to a trigger distance value, allocating corresponding trigger distance values ​​to the read request according to the interval to which the arrival rate of the read request belongs, storing the tail data of the pre-read data in the memory according to the set trigger distance value, and storing the other pre-read data on the solid-state hard drive.

[0021] According to a second aspect of the present application, a system based on a solid-state drive and a memory read cache is provided, the system including a read cache server, the read cache server including:

[0022] A read request receiving module is used to receive a read request and check whether the data corresponding to the read request has been pre-read to the solid state drive;

[0023] The trigger data pre-reading judgment module is used to determine whether data pre-reading can be triggered according to the read record tree when the data corresponding to the read request has not been pre-read to the solid-state drive;

[0024] A pre-reading module, configured to pre-read data of a corresponding value from the hard disk drive according to an arrival rate of read requests when data pre-reading can be triggered;

[0025] The pre-read data hierarchical storage module is used to set a corresponding trigger distance value according to the arrival rate of the read request, and store the pre-read data in a hierarchical manner according to the set trigger distance value.

[0026] According to a third aspect of the present application, a computer device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the method according to the first aspect of the present application when executing the program.

[0027] The present application is based on a method and system and device for solid state disk and memory read cache, which realizes efficient utilization of limited cache space by dynamically adjusting underlying storage data prefetch value and accurately allocating memory space, and effectively reduces read-write conflict by optimizing data storage strategy, significantly improves the performance of SSD medium, thereby improving the access efficiency and response speed of the storage system as a whole, and provides users with a faster and more stable data reading experience. BRIEF DESCRIPTION OF DRAWINGS

[0028] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings needed in the embodiments will be briefly introduced as follows. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.

[0029] Figure 1 An architecture example diagram of a system based on solid state disk and memory read cache according to an embodiment of the present application;

[0030] Figure 2 An architecture example diagram of a read cache server of a system based on solid state disk and memory read cache according to an embodiment of the present application;

[0031] Figure 3 A step flowchart of a method based on solid state disk and memory read cache according to an embodiment of the present application;

[0032] Figure 4 An example diagram of a storage system to which a method based on solid state disk and memory read cache according to an embodiment of the present application is applicable;

[0033] Figure 5 A structure schematic diagram of a device provided by the present application. DETAILED DESCRIPTION

[0034] The embodiments of the present application will be described in detail below with reference to the drawings.

[0035] It should be noted that the following embodiments and features in the embodiments can be combined with each other without conflict; and all other embodiments obtained by those skilled in the art based on the embodiments in the present disclosure without creative labor are within the scope of protection of the present disclosure.

[0036] It should be noted that various aspects of the embodiments within the scope of the appended claims are described below. It should be apparent that the aspects described herein can be embodied in a wide variety of forms, and any specific structure and / or function described herein is merely illustrative. Based on this disclosure, it should be understood by those skilled in the art that an aspect described herein can be implemented independently of any other aspect, and two or more of these aspects can be combined in various ways. For example, any number of aspects described herein can be used to implement an apparatus and / or practice a method. In addition, other structures and / or functionalities other than one or more of the aspects described herein can be used to implement this apparatus and / or practice this method.

[0037] Figure 1 FIG. 1 is an example diagram of an architecture of a system based on a solid-state drive and a memory read cache according to an embodiment of the present application, as shown in FIG. Figure 1 As shown, the system may include a read cache server 101, a communication network 102 and / or one or more read cache clients 103. Figure 1 The example in FIG. 1 is a plurality of read cache clients 103 .

[0038] The read cache server 101 can be any appropriate server for storing information, data, programs and / or any other suitable type of content. In some embodiments, the read cache server 101 can perform appropriate functions. For example, in some embodiments, the read cache server 101 can be used for read caching based on solid-state drives and memory. As an optional example, in some embodiments, the read cache server 101 can be used to: receive a read request, and find out whether the data corresponding to the read request has been pre-read to the solid-state drive; when the data corresponding to the read request has not been pre-read to the solid-state drive, determine whether data pre-reading can be triggered based on the read record tree; when data pre-reading can be triggered, pre-read data of corresponding value from the hard disk drive based on the arrival rate of the read request; set a corresponding trigger distance value based on the arrival rate of the read request, and store the pre-read data in layers based on the set trigger distance value.

[0039] Figure 2 This is an example diagram of the architecture of a read cache server based on a solid state drive and memory read cache system according to an embodiment of the present application, as shown in FIG. Figure 2 As shown, the read cache server of this embodiment includes:

[0040] A read request receiving module is used to receive a read request and check whether the data corresponding to the read request has been pre-read to the solid state drive;

[0041] The trigger data pre-reading judgment module is used to determine whether data pre-reading can be triggered according to the read record tree when the data corresponding to the read request has not been pre-read to the solid-state drive;

[0042] A pre-reading module, configured to pre-read data of a corresponding value from the hard disk drive according to an arrival rate of read requests when data pre-reading can be triggered;

[0043] The pre-read data hierarchical storage module is used to set a corresponding trigger distance value according to the arrival rate of the read request, and store the pre-read data in a hierarchical manner according to the set trigger distance value.

[0044] As another example, in some embodiments, the read cache server 101 may send a method based on a solid state drive and memory read cache to the read cache client 103 for user use based on a request of the read cache client 103 .

[0045] As an optional example, in some embodiments, the read cache client 103 is used to provide a visual read cache interface, which is used to receive user selection input operations based on solid-state drives and memory read caches, and, in response to the selection input operation, obtain the read cache interface corresponding to the option selected by the selection input operation from the read cache server 101 and display the read cache interface, wherein the read cache interface at least displays information based on solid-state drives and memory read caches and operation options for the information based on solid-state drives and memory read caches.

[0046] In some embodiments, the communication network 102 can be any suitable combination of one or more wired and / or wireless networks. For example, the communication network 102 can include any one or more of the following: the Internet, an intranet, a wide area network (WAN), a local area network (LAN), a wireless network, a digital subscriber line (DSL) network, a frame relay network, an asynchronous transfer mode (ATM) network, a virtual private network (VPN), and / or any other suitable communication network. The read cache client 103 can be connected to the communication network 102 via one or more communication links (e.g., communication link 104), and the communication network 102 can be linked to the read cache server 101 via one or more communication links (e.g., communication link 105). The communication link can be any communication link suitable for transmitting data between the read cache client 103 and the read cache server 101, such as a network link, a dial-up link, a wireless link, a hardwired link, any other suitable communication link, or any suitable combination of such links.

[0047] Read cache client 103 may include any one or more clients that present an interface related to SSD-based and memory-based read cache in an appropriate form for user use and operation. In some embodiments, read cache client 103 may include any suitable type of device. For example, in some embodiments, read cache client 103 may include a mobile device, a tablet computer, a laptop computer, a desktop computer, and / or any other suitable type of client device.

[0048] Although read cache server 101 is illustrated as a single device, in some embodiments, any suitable number of devices may be used to perform the functions performed by read cache server 101. For example, in some embodiments, multiple devices may be used to implement the functions performed by read cache server 101. Alternatively, a cloud service may be used to implement the functions of read cache server 101.

[0049] Based on the above system, an embodiment of the present application provides a method based on a solid-state drive and a memory read cache, which is described below through the following embodiments.

[0050] Figure 3 This is a flowchart of a method based on a solid-state drive and memory read cache according to an embodiment of the present application. The method based on a solid-state drive and memory read cache of this embodiment can be executed on a read cache server. The method based on a solid-state drive and memory read cache includes the following steps:

[0051] Step S201: receiving a read request and checking whether the data corresponding to the read request has been pre-read to the solid state drive.

[0052] Figure 4 FIG is an example diagram of a storage system applicable to a method based on a solid state drive and memory read cache according to an embodiment of the present application. Figure 4 As shown, the storage system consists of at least three tiers: the highest-performance DRAM is placed in the top tier, the solid-state drive (SSD) is placed in the middle tier, and the largest-capacity hard disk drive (HDD) is placed in the bottom tier. In this embodiment, the storage system uses the highest-performance DRAM for caching data, the SSD is used to store data that will be accessed soon, and the bottom-tier hard disk drive is used to store the largest data.

[0053] In this embodiment, when the data corresponding to the read request has been pre-read to the solid state drive, the corresponding data is directly read from the solid state drive.

[0054] Step S202: When the data corresponding to the read request has not been pre-read to the solid-state drive, it is determined whether data pre-reading can be triggered according to the read record tree.

[0055] As an optional example, in this embodiment, each read request is recorded in a read log tree. If the read request is continuous with the record in the read log tree, it is determined that the read request can trigger data pre-reading. If the read request is not continuous with the record in the read log tree, the read request is recorded in the read log tree. If data pre-reading cannot be triggered, the corresponding data is read from the hard disk drive.

[0056] Step S203: When data pre-reading can be triggered, data of corresponding value is pre-read from the hard disk drive according to the arrival rate of the read request.

[0057] After triggering data pre-reading, the read request arrival rate is calculated by collecting the number of identical or similar read requests received per unit time. Based on the calculated read request arrival rate, the corresponding underlying storage data pre-fetch value is assigned to the read request, and data is pre-read from the hard disk drive based on the assigned underlying storage data pre-fetch value.

[0058] In this embodiment, the underlying storage data prefetch value indicates the amount of data to be read from the underlying storage, such as an HDD, at one time. For example, in this embodiment, multiple read request arrival rate intervals are preset, each interval corresponding to a corresponding underlying storage data prefetch value. The underlying storage data prefetch value is then assigned to a read request based on the interval to which the read request arrival rate belongs.

[0059] For example, in this embodiment, after data pre-reading is triggered, the underlying storage data pre-fetch value is calculated based on the frequency of user read requests. For example, for very frequent read requests, a larger underlying storage data pre-fetch value is allocated, reading more data from the backend HHD disk. For less frequent read requests, a smaller underlying storage data pre-fetch value can be allocated, reading less data from the backend HHD disk. This maximizes the utilization of SSD disk space, allowing SSD disk space to serve more needed data.

[0060] Step S204: according to the arrival rate of the read requests, a corresponding trigger distance value is set, and the pre-read data is stored in layers according to the set trigger distance value.

[0061] As an optional example, this embodiment presets multiple read request arrival rate intervals, each interval corresponds to a trigger distance value, and the corresponding trigger distance value is assigned to the read request according to the interval to which the read request arrival rate belongs. According to the set trigger distance value, the tail data of the pre-read data is stored in the memory, and the other pre-read data is stored on the solid-state hard drive.

[0062] In this embodiment, the trigger distance value represents the tail range of prefetched data. For example, in this embodiment, the tail of the prefetched data, i.e., the data within the trigger distance value range, is stored in memory, while the remaining data is written to the SSD. The purpose of writing data within the trigger distance value range to memory is to reduce SSD read / write conflicts and improve SSD performance. For example, 100MB of data is prefetched, the last 10MB is written to memory, and the remaining 90MB is written to the SSD. Subsequent read requests will read data from the SSD. When data at the 90MB-100MB range is read, a prefetch of 100MB-200MB of data is triggered. The 100MB-200MB of prefetched data is then written to the SSD. If the 90MB-100MB user's read request is also reading from the SSD at this time, the SSD will generate a read / write conflict, which will reduce SSD performance. If the data in the 90MB-100MB range is written to memory, some SSD read / write conflicts can be avoided, improving SSD performance.

[0063] In practical applications, in this embodiment, for read requests with high read frequency, the trigger distance value is set to be larger, and for read requests with low read frequency, the trigger distance value can be set to be smaller, thereby improving memory utilization.

[0064] The method and system based on the solid-state drive and memory read cache of this embodiment have the following beneficial technical effects:

[0065] 1. Efficient use of cache space

[0066] 1. Dynamically adjust the prefetch length: The underlying storage data prefetch value is dynamically adjusted based on the arrival rate of read requests. For requests with a high arrival rate, a larger underlying storage data prefetch value is assigned, reading more data from the backend HDD disks. For requests with a low arrival rate, a smaller underlying storage data prefetch value is assigned, reading less data. This dynamic adjustment mechanism ensures that limited SSD cache space is more effectively allocated to requests that truly require large data prefetches, thereby avoiding wasted cache space.

[0067] 2. Accurately allocate memory space: Based on the arrival rate of read requests, determine which requests require more memory space to store the data pages corresponding to the tail trigger distance value of the pre-fetched data. For requests with a high arrival rate, more data corresponding to the trigger distance value is stored in the memory; for requests with a low arrival rate, the amount of data corresponding to the trigger distance value stored in the memory is minimized. This precise allocation method further improves cache space utilization, allowing the memory and SSD to work together and fully utilize their respective advantages. The high-speed read and write characteristics of the memory can quickly respond to high-frequency read requests, while the SSD can store more pre-fetched data to support subsequent read operations.

[0068] II. Reduce read-write conflicts and improve SSD performance

[0069] 1. Reduce the probability of SSD read-write conflicts: By storing the data pages in the range of the last trigger distance value of the pre-fetched data in the memory, and storing the remaining data in the SSD medium, the read-write conflicts of the SSD disk are effectively reduced. In the traditional cache scheme, when the pre-fetched data needs to be written to the SSD, if the user request is reading data on the SSD at this time, read-write conflicts are likely to occur, resulting in a decrease in SSD performance. However, the storage strategy of the present application ensures that when the position close to the tail of the pre-fetched data is read, since this part of the data has already been stored in the memory cache, it will not trigger the read-write conflict of the SSD, thereby ensuring the high-performance operation of the SSD disk.

[0070] 2. Optimize the performance of SSD cache medium: Using the strategy of bottom layer storage data pre-fetch value and trigger distance value, the influence of read-write conflicts on the performance of SSD cache medium is reduced. Reasonable setting of the bottom layer storage data pre-fetch value can ensure that the amount of data read from the HDD disk each time is moderate, meeting the subsequent reading requirements and avoiding excessive pre-fetching leading to SSD space shortage and frequent read-write operations. The introduction of the trigger distance value further optimizes the allocation of data between the memory and the SSD, enabling the SSD medium to work efficiently with fewer read-write conflicts, prolonging the service life of the SSD, and improving the performance and stability of the entire storage system.

[0071] In summary, the present application realizes efficient utilization of limited cache space by dynamically adjusting the bottom layer storage data pre-fetch value and accurately allocating memory space, and effectively reduces read-write conflicts by optimizing data storage strategies, significantly improving the performance of SSD medium, thereby improving the access efficiency and response speed of the storage system as a whole, providing users with a faster and more stable data reading experience.

[0072] As shown in Figure 5 The present application also provides a device, including a processor 310, a communication interface 320, a memory 330 for storing processor executable computer programs, and a communication bus 340. Wherein the processor 310, the communication interface 320 and the memory 330 complete the communication among each other through the communication bus 340. The processor 310 realizes the method based on solid state disk and memory read cache described above by running executable computer programs.

[0073] Among them, the computer program in the memory 330 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on this understanding, the technical solution of the present application, or the part that contributes to the existing technology, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program code.

[0074] The system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units. They may be located in one place or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of this embodiment. Persons of ordinary skill in the art will be able to understand and implement the present invention without inventive effort.

[0075] Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented using software plus a necessary general-purpose hardware platform, or of course, hardware. Based on this understanding, the essence of the above technical solution, or the portion that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a magnetic disk, or an optical disk, and includes a number of instructions for causing a computer device (such as a personal computer, server, or network device) to execute the methods of each embodiment or certain portions of the embodiments.

[0076] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.

Claims

1. A method based on solid state drive and memory read cache, characterized in that: The method comprises: Receive a read request and check whether the data corresponding to the read request has been pre-read to the solid-state drive; When the data corresponding to the read request has not been pre-read to the solid-state drive, it is determined whether data pre-reading can be triggered based on the read record tree; When data pre-reading can be triggered, data of corresponding value is pre-read from the hard disk drive according to the arrival rate of the read request; According to the arrival rate of the read request, a corresponding trigger distance value is set, and the pre-read data is stored in layers according to the set trigger distance value, wherein the trigger distance value represents the tail range of the pre-read data; Pre-reading data of a corresponding value from the hard disk drive according to an arrival rate of the read request, comprising: after triggering data pre-reading, calculating the arrival rate of the read request, allocating a corresponding underlying storage data pre-fetch value to the read request according to the calculated arrival rate of the read request, and pre-reading data from the hard disk drive according to the allocated underlying storage data pre-fetch value; According to the arrival rate of the read request, a corresponding trigger distance value is set, and the pre-read data is stored in layers according to the set trigger distance value, including: presetting multiple arrival rate intervals of the read request, each interval corresponding to a trigger distance value, allocating a corresponding trigger distance value to the read request according to the interval to which the arrival rate of the read request belongs, storing the tail data of the pre-read data in the memory according to the set trigger distance value, and storing the rest of the pre-read data on the solid-state drive; Calculating the arrival rate of read requests includes collecting the number of identical or similar read requests received within a unit of time.

2. The method based on solid state drive and memory read cache according to claim 1, characterized in that: A read request is received, and searching whether data corresponding to the read request has been pre-read to the solid state drive includes: when the data corresponding to the read request has been pre-read to the solid state drive, directly reading the corresponding data from the solid state drive.

3. The method based on solid state drive and memory read cache according to claim 1, characterized in that: Determine whether data pre-reading can be triggered based on the read record tree, including: recording each read request through the read record tree, when the current read request is continuous with the record in the read record tree, determine that the current read request can trigger data pre-reading, when the current read request is discontinuous with the record in the read record tree, record the read request in the read record tree.

4. The method based on solid state drive and memory read cache according to claim 1, characterized in that: Determining whether data pre-reading can be triggered according to the read record tree includes: reading corresponding data from the hard disk drive when data pre-reading cannot be triggered.

5. The method based on solid state drive and memory read cache according to claim 1, characterized in that: According to the calculated arrival rate of the read request, the corresponding underlying storage data prefetch value is allocated to the read request, including: presetting multiple arrival rate intervals of the read request, each interval corresponding to an underlying storage data prefetch value, and allocating the corresponding underlying storage data prefetch value to the read request according to the interval to which the arrival rate of the read request belongs.

6. A system based on a solid-state drive and memory read cache, characterized in that: The system includes a read cache server, and the read cache server includes: A read request receiving module is used to receive a read request and check whether the data corresponding to the read request has been pre-read to the solid state drive; The trigger data pre-reading judgment module is used to determine whether data pre-reading can be triggered according to the read record tree when the data corresponding to the read request has not been pre-read to the solid-state drive; A pre-reading module, configured to pre-read data of a corresponding value from the hard disk drive according to an arrival rate of read requests when data pre-reading can be triggered; A pre-read data hierarchical storage module is used to set a corresponding trigger distance value according to the arrival rate of the read request, and store the pre-read data in layers according to the set trigger distance value, wherein the trigger distance value represents the tail range of the pre-read data; Pre-reading data of a corresponding value from the hard disk drive according to an arrival rate of the read request, comprising: after triggering data pre-reading, calculating the arrival rate of the read request, allocating a corresponding underlying storage data pre-fetch value to the read request according to the calculated arrival rate of the read request, and pre-reading data from the hard disk drive according to the allocated underlying storage data pre-fetch value; According to the arrival rate of the read request, a corresponding trigger distance value is set, and the pre-read data is stored in layers according to the set trigger distance value, including: presetting multiple arrival rate intervals of the read request, each interval corresponding to a trigger distance value, allocating a corresponding trigger distance value to the read request according to the interval to which the arrival rate of the read request belongs, storing the tail data of the pre-read data in the memory according to the set trigger distance value, and storing the rest of the pre-read data on the solid-state drive; Calculating the arrival rate of read requests includes collecting the number of identical or similar read requests received within a unit of time.

7. A computer device, characterized in that: The computer device includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, the steps of the method according to any one of claims 1 to 5 are implemented.

Citation Information

Patent Citations

  • Intelligent pre-reading method based on distributed storage

    CN112328185A