Method, system and equipment for reading cache based on solid state disk and memory

By implementing read cache in solid-state drives and memory, dynamically adjusting data prefetch values ​​and allocating memory space, the problems of unreasonable allocation of cache resources and read-write conflicts are solved, and the performance and access efficiency of the storage system are significantly improved.

CN119937934AActive Publication Date: 2025-05-06CHINA ELECTRONICS CLOUD DIGITAL INTELLIGENCE TECH CO LTD
View PDF 11 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

When existing caching technologies face different access efficiency requirements for different business requests, fixed cache space allocation, and cache read and write conflicts, they cannot effectively meet high-frequency requests and dynamic adjustment of cache resources, resulting in a degradation of access efficiency and system performance.

Method used

By implementing read cache in solid-state drives and memory, dynamically adjusting the underlying storage data prefetch value and allocating memory space, triggering data preread and hierarchical storage according to the arrival rate of read requests, and optimizing data storage strategies to reduce read and write conflicts.

Benefits of technology

It realizes efficient utilization of limited cache space, reduces read and write conflicts, significantly improves the performance of SSD media, and thus improves the access efficiency and response speed of the storage system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119937934A_ABST
    Figure CN119937934A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of data cache reading, and provides a method, system and device for reading cache based on a solid state disk and a memory, and the method comprises the steps: receiving a read request, and searching whether data corresponding to the read request is pre-read to the solid state disk or not; when the data corresponding to the read request is not pre-read to the solid state disk, judging whether data pre-reading can be triggered or not according to a read record tree; when the data pre-reading can be triggered, pre-reading the data of the corresponding value from the hard disk drive according to the reaching rate of the read request; and setting a corresponding trigger distance value according to the arrival rate of the read request, and performing hierarchical storage on the pre-read data according to the set trigger distance value. According to the method, efficient utilization of the limited cache space can be achieved, by optimizing the data storage strategy, read-write conflicts are effectively reduced, the performance of an SSD medium is remarkably improved, the access efficiency and the response speed of a storage system are improved on the whole, and faster and more stable data reading experience is provided for users.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of data cache reading, 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 reading is growing. Among many storage devices, hard disk drives (HDDs) are widely used for data storage due to their large-capacity storage characteristics. However, the mechanical structure of HDDs results in relatively slow reading and writing speeds, which cannot meet the requirements of high-performance computing and real-time data processing for data reading speed.

[0003] In order to improve data reading performance, existing cache technologies mainly focus on the following aspects: Content-based caching technology: By identifying hot data, cache these hot data into high-performance media such as SSDs, thereby accelerating data access speed. 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, and 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.

[0004] Data elimination algorithm: This algorithm is used to identify data that needs to be eliminated, so as to efficiently use the limited cache space and thus improve access efficiency. Although this algorithm can optimize the use of cache space to a certain extent, it cannot dynamically adjust the allocation of cache space when faced with requests with different arrival rates. When requests with high arrival rates coexist with requests with low arrival rates, the cache space may not be reasonably allocated according to the urgency and importance of the requests, thus affecting the overall access efficiency.

[0005] Hierarchical caching technology: Establish a multi-level cache system to improve the flexibility and efficiency of data access through different levels of cache media. Although hierarchical caching can alleviate cache pressure to a certain extent, in actual applications, cache read and write conflicts still exist. When multiple requests read and write to the cache at the same time, it is easy to cause cache performance to degrade, affecting the speed and stability of data access. Especially in high-concurrency scenarios, cache read and write conflicts will be more prominent, seriously restricting the performance of the cache system.

[0006] In summary, although the existing cache technology has improved data access efficiency to a certain extent, it still has shortcomings when facing the different access efficiency requirements of different business requests, fixed allocation of cache space, and cache read-write conflicts. Therefore, a new cache method is needed that can dynamically allocate cache space according to different business request arrival rates and effectively solve the cache read-write conflict problem, so as to further improve the performance and access efficiency of the cache system. Summary of the invention

[0007] 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.

[0008] 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: 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 according to 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.

[0009] 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.

[0010] Optionally, in the method based on 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: 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.

[0011] Optionally, in the method based on 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.

[0012] Optionally, in the method based on solid-state drive 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.

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

[0014] Optionally, in the method based on solid-state drive and memory read cache of the present application, a corresponding underlying storage data prefetch 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 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.

[0015] Optionally, in the method based on solid-state drive and memory read cache of the present application, 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 the read request, each interval corresponding to a trigger distance value, assigning 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 other pre-read data on the solid-state drive.

[0016] 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 comprising a read cache server, the read cache server comprising: A read request receiving module, 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; A trigger data pre-reading judgment module is used to judge 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 hard disk; A pre-reading module, used for pre-reading data of corresponding value from the hard disk drive according to the arrival rate of the read request when data pre-reading can be triggered; 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.

[0017] 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 described in the first aspect of the present application when executing the program.

[0018] The present application is based on the method, system and device of solid-state drive and memory read cache, which realizes efficient utilization of limited cache space by dynamically adjusting the underlying storage data pre-fetch value and accurately allocating memory space, and effectively reduces read-write conflicts and significantly improves the performance of SSD media by optimizing data storage strategies, thereby improving the access efficiency and response speed of the storage system as a whole, and providing users with a faster and more stable data reading experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0020] Figure 1 This is an example diagram of the architecture of a system based on a solid state drive and a memory read cache according to an embodiment of the present application; Figure 2 This is an example diagram of the architecture of a read cache server of a system based on a solid state drive and a memory read cache according to an embodiment of the present application; Figure 3 A flowchart of a method based on a solid state drive and a memory read cache according to an embodiment of the present application; Figure 4 This is an example diagram of a storage system applicable to a method based on a solid state drive and a memory read cache according to an embodiment of the present application; Figure 5 A schematic diagram of the structure of the device provided in this application. DETAILED DESCRIPTION

[0021] The embodiments of the present application are described in detail below with reference to the accompanying drawings.

[0022] It should be noted that the following embodiments and features in the embodiments may be combined with each other in the absence of conflict; and, based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in the field without making any creative work are within the scope of protection of the present disclosure.

[0023] 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 may be embodied in a wide variety of forms, and any specific structure and / or function described herein is merely illustrative. Based on the present disclosure, it should be understood by those skilled in the art that an aspect described herein may be implemented independently of any other aspect, and two or more of these aspects may be combined in various ways. For example, any number of aspects described herein may be used to implement the device and / or practice the method. In addition, other structures and / or functionalities other than one or more of the aspects described herein may be used to implement this device and / or practice this method.

[0024] 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, such as 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 shown is a plurality of read cache clients 103 .

[0025] 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 cache 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, 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 according to the arrival rate of the read request; 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.

[0026] Figure 2 FIG. 1 is an example diagram of the architecture of a read cache server of a system based on a solid state drive and a memory read cache according to an embodiment of the present application, such as Figure 2 As shown, the read cache server of this embodiment includes: A read request receiving module, 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; A trigger data pre-reading judgment module is used to judge 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 hard disk; A pre-reading module, used for pre-reading data of corresponding value from the hard disk drive according to the arrival rate of the read request when data pre-reading can be triggered; 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.

[0027] 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 .

[0028] 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 to, in response to the selection input operation, obtain a 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.

[0029] 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.

[0030] The read cache client 103 may include any one or more clients that present an interface related to the SSD and memory-based read cache in an appropriate form for use and operation by a user. In some embodiments, the read cache client 103 may include any suitable type of device. For example, in some embodiments, the 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.

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

[0032] 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.

[0033] Figure 3 The method based on a solid-state drive and a memory read cache according to an embodiment of the present application is a flowchart of the steps. The method based on a solid-state drive and a memory read cache in this embodiment can be executed on a read cache server, and the method based on a solid-state drive and a memory read cache includes the following steps: Step S201: receiving a read request, and searching whether data corresponding to the read request has been pre-read to the solid state drive.

[0034] Figure 4 FIG. 1 is an example diagram of a storage system applicable to a method based on a solid state drive and a memory read cache according to an embodiment of the present application. Figure 4 As shown, the storage system includes at least three layers, the highest performance memory (DRAM) is placed in the highest layer, the solid state drive (SSD) is placed in the middle layer, and the largest capacity disk drive (HDD) is placed in the bottom layer. In the storage system of this embodiment, the memory has the highest performance and is used to cache data, the SSD is used to save data to be accessed, and the bottom disk drive is used to store the largest data.

[0035] 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.

[0036] 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.

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

[0038] 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.

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

[0040] In this embodiment, the underlying storage data pre-fetch value indicates the amount of data read from the underlying storage such as HDD at one time. For example, in this embodiment, a plurality of read request arrival rate intervals are preset, each interval corresponds to a underlying storage data pre-fetch value, and the corresponding underlying storage data pre-fetch value is allocated to the read request according to the interval to which the read request arrival rate belongs.

[0041] For example, in this embodiment, after triggering data pre-reading, the underlying storage data pre-fetch value is calculated according to the frequency of the user's read request. For example, for very frequent read requests, a larger underlying storage data pre-fetch value is allocated, and more data is read from the backend HHD disk. For operations with infrequent read requests, a smaller underlying storage data pre-fetch value can be allocated, and less data can be read from the backend HHD disk. This maximizes the use of SSD disk space. Let the SSD disk space serve the data that is more needed.

[0042] 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.

[0043] 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 arrival rate of the read request belongs. The tail data of the pre-read data is stored in the memory according to the set trigger distance value, and the other pre-read data is stored on the solid-state drive.

[0044] In this embodiment, the trigger distance value represents the tail range of the pre-fetched data. For example, in this embodiment, the tail data of the pre-read data, that is, the data in the trigger distance value range, is stored in the memory, and the other data is written to the SSD. The purpose of writing the data in the trigger distance value range to the memory is to reduce the read-write conflict of the SSD and improve the performance of the SSD. For example, 100MB of data is pre-read, the last 10MB of data is written to the memory, and the other 90MB of data is written to the SSD. Subsequent read requests will read data from the SSD. When the data at the position of 90MB-100MB is read, the pre-fetch of 100MB-200MB of data will be triggered, and the 100MB-200MB of data will be pre-read and written to the SSD. If the read request of the 90MB-100MB user is also reading the SSD at this time, the SSD will generate a read-write conflict, which will reduce the performance of the SSD. If the data in the range of 90MB-100MB is written to the memory, some read-write conflicts of the SSD will be avoided, and the performance of the SSD will be improved.

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

[0046] The method and system based on the solid state drive and memory read cache of this embodiment have the following beneficial technical effects: 1. Efficient use of cache space 1. Dynamically adjust the prefetch length: Dynamically adjust the underlying storage data prefetch value according to the arrival rate of read requests. For requests with a high arrival rate, a larger underlying storage data prefetch value is allocated to read more data from the backend HDD disk; for requests with a low arrival rate, a smaller underlying storage data prefetch value is allocated to read less data. This dynamic adjustment mechanism ensures that the limited SSD cache space is more reasonably allocated to those requests that really need a large amount of data prefetching, thereby avoiding the waste of cache space.

[0047] 2. Accurately allocate memory space: Determine which requests require more memory space to store the data page of the tail trigger distance value of the pre-fetched data based on the arrival rate of the read requests. For requests with a high arrival rate, more data corresponding to the trigger distance value is stored in the memory; and for requests with a low arrival rate, the data corresponding to the trigger distance value is stored in the memory as little as possible. This precise allocation method further improves the utilization of cache space, allowing the memory and SSD to work together and give full play to 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 provide support for subsequent read operations.

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

[0049] 2. Optimize SSD cache media performance: Use the underlying storage data pre-fetch value and trigger distance value strategy to reduce the impact of read-write conflicts on SSD cache media performance. Reasonable settings of the underlying storage data pre-fetch value can ensure that the amount of data read from the HDD disk each time is moderate, which not only meets the needs of subsequent reading, but also avoids SSD space shortage and frequent read-write operations caused by excessive pre-fetching. The introduction of the trigger distance value further optimizes the distribution of data between memory and SSD, allowing the SSD media to work efficiently with fewer read-write conflicts, extending the service life of the SSD, and also improving the performance and stability of the entire storage system.

[0050] To summarize, this application achieves efficient use of limited cache space by dynamically adjusting the underlying storage data pre-fetch value and accurately allocating memory space, and effectively reduces read-write conflicts and significantly improves the performance of SSD media by optimizing data storage strategies, 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.

[0051] like Figure 5 As shown, the present application also provides a device, including a processor 310, a communication interface 320, a memory 330 for storing a computer program executable by the processor, and a communication bus 340. The processor 310, the communication interface 320, and the memory 330 communicate with each other through the communication bus 340. The processor 310 implements the above-mentioned method based on a solid state drive and a memory read cache by running an executable computer program.

[0052] 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 can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, a server, or a 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 codes.

[0053] The system embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, i.e., they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected based on actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art may understand and implement it without creative effort.

[0054] Through the description of the above implementation modes, those skilled in the art can clearly understand that each implementation mode can be implemented by means of software plus a necessary general hardware platform, or of course by hardware. Based on such an understanding, the above technical solution can essentially or in other words be embodied in the form of a software product that contributes to the prior art. The computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods of each embodiment or some parts of the embodiment.

[0055] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions that can be easily thought of by a person skilled in the art within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope 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 according to 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.

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, including: 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: Judging whether data pre-reading can be triggered according to the read record tree includes: 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, judging that the current read request can trigger data pre-reading, and when the current read request is not continuous with the record in the read record tree, recording 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: when data pre-reading cannot be triggered, reading corresponding data from the hard disk drive.

5. The method based on solid state drive and memory read cache according to claim 1, characterized in that: According to the arrival rate of read requests, data of corresponding values ​​are pre-read from the hard disk drive, including: after triggering data pre-reading, the arrival rate of read requests is calculated, and according to the calculated arrival rate of read requests, corresponding underlying storage data pre-fetch values ​​are allocated to the read requests, and data are pre-read from the hard disk drive according to the allocated underlying storage data pre-fetch values.

6. The method based on solid state drive and memory read cache according to claim 5, characterized in that: Calculating the arrival rate of read requests includes: collecting the number of identical or similar read requests received within a unit time.

7. The method based on solid state drive and memory read cache according to claim 5, 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.

8. The method based on solid state drive and memory read cache according to claim 1, characterized in that: 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 corresponds to a trigger distance value, and the corresponding trigger distance value is allocated to the read request according to the interval to which the arrival rate of the read request belongs, and the tail data of the pre-read data is stored in the memory according to the set trigger distance value, and the other pre-read data is stored on the solid state drive.

9. A system based on a solid state drive and a memory read cache, characterized in that: The system includes a read cache server, and the read cache server includes: A read request receiving module, 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; A trigger data pre-reading judgment module is used to judge 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, used for pre-reading data of corresponding value from the hard disk drive according to the arrival rate of the read request when data pre-reading can be triggered; 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.

10. A computer device, characterized in that: The computer device comprises a memory, a processor and a computer program stored in the memory and executable on the processor, and the processor implements the steps of the method according to any one of claims 1 to 8 when executing the program.

Citation Information

Patent Citations

  • Solid state disk prereading method and device

    CN101976182A

  • Method for improving sequential reading flow performance in solid state disk, and solid state disk

    CN107274923A

  • Method and device for reading data and computer readable storage medium

    CN108959519A

  • Data reading and writing method and device and electronic device

    CN110196687A

  • Intelligent pre-reading method based on distributed storage

    CN112328185A