Storage device, storage system, and write method for storage device
By introducing a fast first cache and a large second cache into the solid-state drive, and using a cache management unit to control data transfer, the high latency problem caused by slow memory read and write speeds is solved, thus improving write performance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- DAPUSTOR CORP
- Filing Date
- 2022-12-22
- Publication Date
- 2026-04-28
AI Technical Summary
In existing technologies, solid-state drives (SSDs) have relatively slow memory read and write speeds, resulting in high latency and affecting write performance.
A fast first cache is used to form a write path with the front-end and back-end modules, and a large second cache is used to transfer data between the first cache. The data transfer between the caches is controlled by the cache management unit.
It effectively improves write performance, reduces latency, and increases the write efficiency of storage devices.
Smart Images

Figure CN116126231B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of storage device technology, and specifically to a storage device, a storage system, and a method for writing to the storage device. Background Technology
[0002] In the design of storage devices such as solid-state drives (SSDs), data to be written from the host is written to the SSD's memory via the SSD's controller or processor. The data is then written from memory to the SSD's storage medium, such as flash memory chips, to achieve data storage. Because current technology typically involves direct read and write access to memory, and memory read and write speeds are relatively slow, direct read and write operations between SSD modules result in high latency, consume SSD controller resources, and significantly impact write performance. Summary of the Invention
[0003] To address the aforementioned technical problems, this application provides a storage device, a storage system, and a writing method for the storage device. The method uses a first cache with fast read / write speed to form a write path with the front-end module and the back-end module, resulting in low latency. A second cache with large capacity is used to transfer data between the first cache and the second cache to increase the cached data, thereby effectively improving write performance.
[0004] To address the aforementioned technical problems, this application provides a storage device, comprising a front-end module, a back-end module, a cache module, a storage medium, and a processor; the cache module connects the front-end module, the processor, and the back-end module, and the back-end module connects the processor and the storage medium; the cache module includes a cache management unit, a first cache, and a second cache, wherein the capacity of the second cache is greater than or equal to that of the first cache, and the read / write speed of the second cache is less than that of the first cache;
[0005] The front-end module is used to transmit the data to be written to the first cache;
[0006] The cache management unit is used to control the mutual transfer of the data to be written between the first cache and the second cache according to a preset strategy;
[0007] The backend module is used to write the target data to be written to the storage medium through the first cache.
[0008] Optionally, the processor has software embedded in it, and the front-end module connects the source device of the data to be written to the processor;
[0009] The front-end module sends the write command from the source device to the processor;
[0010] After receiving the write command, the processor creates a new cache management node and sends a data transmission instruction to the front-end module.
[0011] The front-end module transmits the data to be written obtained from the source device to the first cache according to the data transmission instruction.
[0012] Optionally, the preset strategy includes at least one of the following:
[0013] Transfer high-priority data to be written in the second cache to the first cache;
[0014] Transfer low-priority data to be written in the first cache to the second cache;
[0015] The latest data to be written is transferred to the second cache;
[0016] The target data to be written is transferred to the first cache;
[0017] When the storage state of the first cache reaches a preset maximum threshold, a portion of the data to be written in the first cache is transferred to the second cache;
[0018] When the storage state of the first cache reaches a preset minimum threshold, a portion of the data to be written in the second cache is transferred to the first cache.
[0019] Optionally, the cache management unit is further configured to:
[0020] In response to a write command sent by the backend module, the target data to be written corresponding to the write command in the first cache and / or the second cache is locked in the first cache.
[0021] Optionally, the priority of the data to be written in the first cache is not lower than the priority of the data to be written in the second cache, and the cache management unit is used to set the target data to be written to the highest priority so as to lock it in the first cache.
[0022] Optionally, the cache management unit is further configured to:
[0023] After locking the target data to be written corresponding to the write instruction in the first cache and / or the second cache in the first cache, in response to the data transmission instruction of the backend module, the target data to be written is transmitted to the backend module through the first cache.
[0024] Optionally, the backend module is configured to send a data release instruction to the cache management unit and a successful write signal to the processor after the target data to be written is successfully written to the storage medium;
[0025] The processor is a software resource for processing the target data to be written based on the successful write signal.
[0026] Optionally, the cache management unit is a hardware module.
[0027] This application also provides a storage system including a host and a storage device as described above, wherein the host is used to provide the data to be written to a front-end module of the storage device.
[0028] This application also provides a method for writing to a storage device, applied to any of the storage devices described above, the method comprising:
[0029] Transfer the data to be written to the first buffer;
[0030] According to a preset strategy, the data to be written is transferred between the first cache and the second cache. The capacity of the second cache is greater than that of the first cache, and the read / write speed of the second cache is less than that of the first cache.
[0031] In response to a write command, the target data to be written is written to the storage medium through the first cache.
[0032] This application discloses a storage device, a storage system, and a writing method for the storage device. The storage device includes a front-end module, a back-end module, a cache module, a storage medium, and a processor. The cache module connects the front-end module, the processor, and the back-end module, and the back-end module connects the processor and the storage medium. The cache module includes a cache management unit, a first cache, and a second cache. The capacity of the second cache is greater than or equal to that of the first cache, and the read / write speed of the second cache is less than that of the first cache. The front-end module transmits data to be written to the first cache. The cache management unit controls the mutual transfer of data to be written between the first cache and the second cache. The back-end module writes the target data to be written to the storage medium through the first cache. The writing method for the storage device includes: transmitting data to be written to the first cache; controlling the mutual transfer of data to be written between the first cache and the second cache according to a preset strategy, wherein the capacity of the second cache is greater than that of the first cache, and the read / write speed of the second cache is less than that of the first cache; and writing the target data to be written to the flash memory chip through the first cache in response to a write command. This application uses a fast-reading-write-speed first cache to form a write path with the front-end module and the back-end module, resulting in low latency. It uses a large-capacity second cache to transfer data between the first cache to increase the cached data, thereby effectively improving write performance. Attached Figure Description
[0033] Figure 1 This is a schematic diagram of a storage device according to one embodiment;
[0034] Figure 2 This is a schematic diagram of the write process of a storage device according to an embodiment;
[0035] Figure 3 This is a schematic diagram of a storage system according to one embodiment;
[0036] Figure 4 This is a schematic flowchart illustrating a writing method for a storage device according to an embodiment. Detailed Implementation
[0037] To facilitate understanding of the present invention, a more complete description will be given below with reference to the accompanying drawings. Preferred embodiments of the invention are shown in the drawings. However, the invention can be implemented in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided to provide a thorough and complete understanding of the disclosure of the invention.
[0038] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. The terminology used herein in the specification of this invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The term "and / or" as used herein includes any and all combinations of one or more of the associated listed items. In this invention, "each" includes one or more items.
[0039] Figure 1 This is a schematic diagram of a storage device according to one embodiment. Figure 1 As shown, the storage device of this application includes a front-end module 1, a back-end module 2, a cache module 3, a storage medium 4, and a processor 5. The cache module 3 connects the front-end module 1, the processor 5, and the back-end module 2, and the back-end module 2 connects the processor 5 and the storage medium 4. The cache module 3 includes a cache management unit 31, a first cache 32, and a second cache 33. The capacity of the second cache 33 is larger than that of the first cache 32, and the read / write speed of the second cache 33 is slower than that of the first cache 32.
[0040] Front-end module 1 is used to transmit the data to be written to the first cache 32. Cache management unit 31 is used to control the mutual transfer of the data to be written between the first cache 32 and the second cache 33 according to a preset strategy. Back-end module 2 is used to write the target data to be written to the storage medium 4 through the first cache 32.
[0041] By employing the above method, a write path is formed between the fast-reading and writing first cache 32 and the front-end module 1 and back-end module 2, resulting in low latency. A large-capacity second cache 33 is used to transfer data between the first cache 32, increasing the cached data and effectively improving write performance. Furthermore, the design of this application allows the storage device to respond to the host earlier with a write completion status, achieving improved write performance even with a single write command or a small amount of data.
[0042] Storage medium 4 is a NAND flash memory chip; the target data to be written is the data to be written from the first cache 32 to storage medium 4. The front-end module 1, back-end module 2, and cache management unit 31 can be integrated into a processor such as a controller chip, for example, using a System on Chip (SoC), and then connected to the first cache 32, second cache 33, and storage medium 4 through corresponding interfaces. The front-end module 1 can support PCIe interface and NVMe protocol, communicating with the host through the front-end module 1 and with the storage medium through the back-end module 2. Optionally, the first cache 32 can use Static Random-Access Memory (SRAM), which has a small capacity and fast read / write speed. The first cache 32 can also use Double Data Rate (DDR) Dynamic Random Access Memory, which has a large capacity but a slower read / write speed than SRAM. Choosing either of these memory types can achieve a more comprehensive optimization in terms of total capacity, read / write speed, and cost.
[0043] Optionally, the processor 5 has embedded software, and the front-end module 1 connects the source device of the data to be written to the processor 5. The front-end module 1 sends the write command from the source device to the processor 5. After receiving the write command, the processor 5 creates a new cache management node and sends a data transmission instruction to the front-end module 1. The front-end module 1 is used to transmit the data to be written to the first cache 32. This can be understood as the front-end module 1 transmitting the data to be written obtained from the source device to the first cache 32 and writing it into the first cache 32 according to the data transmission instruction, and receiving the successful write information sent by the cache management unit 31 and sending the successful write information to the processor 5 and the source device. The source device of the data to be written is, for example, a host. In this way, in the front-end module 1, the data writing operation is executed by the logic of the software (also known as firmware) embedded in the processor 5, and it has the function of transmitting the write status through signal interaction, avoiding or reducing the involvement of software in data writing, thereby reducing software overhead, lowering the scheduling load on the storage device controller, and improving write performance.
[0044] Optionally, the preset strategy used by the cache management unit 31 includes at least one of the following:
[0045] Transfer high-priority data to be written in the second cache to the first cache 32;
[0046] Low-priority data to be written in the first cache is moved to the second cache.
[0047] The latest data to be written is moved to the second cache 33;
[0048] The target data to be written is transferred to the first cache;
[0049] When the storage state of the first cache 32 reaches the preset maximum threshold, a portion of the data to be written in the first cache 32 is transferred to the second cache 33;
[0050] When the storage state of the first cache 32 reaches a preset minimum threshold, a portion of the data to be written in the second cache 33 is transferred to the first cache 32.
[0051] The priority of the data to be written can be assigned by the front-end module 1 or the source device. The data can be divided into high-priority, medium-priority, and low-priority categories, with priorities decreasing sequentially. Higher-priority data is stored in the first cache 32 to improve its utilization rate, while lower-priority data is stored in the second cache 33 to fully utilize its storage capacity. For the most recently written data, since the backend typically retrieves data from the first cache 32 in chronological order, it can be preferentially written to the second cache 33. To transfer the target data to be written to the first cache 32, in response to a write command sent by the backend module 2, the target data to be written from the second cache 33 is written to the first cache 32, so that the backend module 2 can flush the target data to be written from the first cache 32 to the storage medium 4. Furthermore, data can be transferred between the first cache 32 and the second cache 33 based on the storage state of the first cache 32. For example, when the storage state of the first cache 32 reaches a preset maximum threshold, some data to be written that is not the highest priority and was written latest in the first cache 32 is transferred to the second cache 33 until the storage state of the first cache 32 reaches a preset centering threshold, wherein the preset centering threshold is greater than a preset minimum threshold and less than a preset maximum threshold. Alternatively, when the storage state of the first cache 32 reaches a preset minimum threshold, some data to be written in the second cache 33 can be transferred to the first cache 32. For example, when the storage state of the first cache 32 reaches the preset minimum threshold, some data to be written that is of higher priority and was written earlier in the second cache 33 is transferred to the first cache 32 until the storage state of the first cache 32 reaches a preset centering threshold. Through the above strategies, the automatic movement of data to be written between the first cache 32 and the second cache 33 can be achieved, dynamically ensuring the utilization rate of the first cache 32 and the second cache 33.
[0052] Optionally, the cache management unit 31 is further configured to: in response to a write instruction sent by the backend module 2, lock the target data to be written corresponding to the write instruction in the first cache 32 and / or the second cache 33 in the first cache 32.
[0053] When the backend module 2 needs to retrieve data to be written, it informs the cache management unit 31 of the logical address of the data to be written to the storage medium 4 via a write command. Then, the cache management unit 31 locks the target data to be written corresponding to the write command in the first cache 32 and / or the second cache 33 in the first cache 32. If the target data to be written is stored in the first cache 32, it will not be transferred further; if it is stored in the second cache 33, it will be transferred to the first cache 32 to wait.
[0054] Optionally, the priority of the data to be written in the first cache 32 is not lower than the priority of the data to be written in the second cache 33. The cache management unit 31 is used to set the target data to be written to the highest priority so as to lock it in the first cache 32. Based on the above-mentioned preset strategy, setting the target data to be written to the highest priority can lock the target data to be written in the first cache 32, ensuring that the target data to be written will not be transferred before being read, thus achieving the locking effect.
[0055] Optionally, the cache management unit 31 is further configured to: lock the target data to be written corresponding to the write instruction in the first cache 32 and / or the second cache 33 in the first cache 32, and then, in response to the data transmission instruction of the backend module 2, transmit the target data to be written to the backend module 2 through the first cache 32. The cache management unit 31 pre-transfers the target data to be written to the first cache 32, waits to receive the data transmission instruction from the backend module 2, and then transmits the target data to be written to the backend module 2 through the first cache 32. This achieves asynchronous prefetching between the target data to be written, completing the step of transferring the next data to the first cache 32 during the writing of the previous data to the storage medium 4, allowing the data to be written to flow between the first cache 32 and the second cache 33, thereby offsetting or reducing the read / write latency caused by the slower read / write speed of the second cache 33. Furthermore, according to the aforementioned preset strategy, it can be ensured that new data transmitted from the host and data that needs to be written to storage medium 4 are preferentially stored in the first cache 32, while data that cannot be written to storage medium 4 in time is temporarily stored in the second cache 33. Combined with the asynchronous prefetching function, not only is the memory space rationally utilized, but also the different read and write capabilities of the memory are brought into play, thereby improving write performance.
[0056] Optionally, the cache management unit 31 is a hardware module. Therefore, the management of the first cache 32 and the second cache 33 can be based on software logic, avoiding or reducing software involvement in data writing in the processor 5, thereby reducing software overhead, lowering the scheduling load on the storage device controller, and improving write performance.
[0057] Optionally, the backend module 2 is connected between the processor 5 and the storage medium 4. The backend module 2 sends a data release command to the cache management unit 31 and a successful write signal to the processor 5 after the target data to be written has been successfully written to the storage medium 4. The processor 5 processes the software resources of the target data to be written according to the successful write signal. The cache management unit 31 releases the corresponding space of the target data to be written according to the data release command and returns a release completion status to the backend module 2. In this way, the read and write operations in the backend module 2 are executed by the backend module 2's own logic, and it has the function of exchanging signals to transmit the write status, avoiding or reducing software involvement in data writing, thereby reducing software overhead, lowering the scheduling load on the storage device controller, and improving write performance.
[0058] The writing process of the storage device in this application will be described in detail below. Please refer to... Figure 2 Numbers ①-⑤ represent command streams, and number af represents data streams. The writing process is as follows:
[0059] The host sends a write command to the storage device (corresponding to command stream ①);
[0060] After receiving a write command, the front-end module of the storage device informs the software (corresponding to command stream ②), and the software is embedded in the processor;
[0061] After receiving the write command, the software creates a new cache management node and informs the front-end module to start data transmission (corresponding to command flow ②);
[0062] The front-end module moves the write data from the host to the first cache (corresponding to data streams a and b);
[0063] The cache management unit returns a successful write status to the front-end module (corresponding to command flow ③);
[0064] After receiving the message that the cache management unit has successfully written the message, the front-end module passes the message to the software (corresponding to command flow ②);
[0065] The front-end module simultaneously returns information indicating that the data has been successfully written to the host (corresponding to command stream ①), at which point the write command is complete from the host's perspective;
[0066] After receiving write data, the cache management unit automatically transfers the data to the second cache according to the data's priority and the storage status of the first cache. Furthermore, based on the data's priority and the storage status of the first cache, it enables the mutual transfer of data between the first and second caches (corresponding to data streams e and f).
[0067] When the backend module initiates a write command to write the data from the cache module to the storage medium, the cache management unit moves the data that needs to be written to the storage medium to the first cache in advance (corresponding to data stream f);
[0068] The software sends a write command to the backend module, which requires writing the cached data to the storage medium (corresponding to command stream ⑤);
[0069] The backend module passes the write command to the cache management unit (corresponding to command flow ④);
[0070] The cache management unit transmits data that needs to be written to storage media such as flash memory chips from the first cache to the back-end module (corresponding to data streams e and c);
[0071] The backend module writes the data transmitted from the cache management unit into the storage medium (corresponding to data stream d);
[0072] After the backend module successfully writes the data, it notifies the cache management unit to release the cached data. After the cache management unit releases the written cached data, it notifies the backend module (corresponding to command flow ④).
[0073] The backend module returns a message indicating successful write to the software, and the software releases the software resources associated with the written data (corresponding to command flow ⑤).
[0074] According to the test results, compared with the traditional method, the end-to-end write performance of this application can be improved by nearly 50% under the condition of main frequency limitation, which greatly enhances the write performance of the storage device.
[0075] The present application discloses a storage device, a storage system, and a method for writing to the storage device. The storage device includes a front-end module, a back-end module, a cache module, a storage medium, and a processor. The cache module is connected to the front-end module, the processor, and the back-end module. The back-end module is connected to the processor and the storage medium. The cache module includes a cache management unit, a first cache, and a second cache. The capacity of the second cache is larger than that of the first cache, and the read / write speed of the second cache is slower than that of the first cache. The front-end module transmits data to be written to the first cache. The cache management unit controls the mutual transfer of data to be written between the first cache and the second cache according to a preset strategy. The back-end module writes the target data to be written to the storage medium through the first cache.
[0076] Figure 3 This is a schematic diagram of a storage system according to one embodiment. Figure 3 As shown, this application also provides a storage system, including a host 10 and a storage device 20 as described in the above embodiment. The host 10 is used to provide data to be written to the front-end module of the storage device 20. The writing process of the storage device 20 is detailed above and will not be repeated here.
[0077] Figure 4 This is a schematic flowchart illustrating a writing method for a storage device according to one embodiment. Figure 4 As shown, the writing method of the storage device of this application is applied to the storage device described in the foregoing embodiments, and the method includes:
[0078] S1, transfer the data to be written to the first buffer;
[0079] S2, according to a preset strategy, control the transfer of data to be written between the first cache and the second cache, wherein the capacity of the second cache is greater than that of the first cache, and the read / write speed of the second cache is less than that of the first cache;
[0080] S3, in response to a write command, writes the target data to be written to the storage medium through the first buffer.
[0081] Optionally, transferring the data to be written to the first buffer includes:
[0082] The front-end module sends the write command from the source device to the processor;
[0083] After receiving the write command, the processor creates a new cache management node and sends a data transfer instruction to the front-end module.
[0084] The front-end module obtains the data to be written from the source device according to the data transmission instruction, transmits the data to be written to the first cache, and receives the successful write information sent by the cache management unit, and sends the successful write information to the processor and the source device.
[0085] Optionally, the preset strategy includes at least one of the following:
[0086] Transfer high-priority data to be written in the second cache to the first cache;
[0087] Low-priority data to be written in the first cache is moved to the second cache.
[0088] The latest data to be written is moved to the second cache;
[0089] The target data to be written is transferred to the first cache;
[0090] When the storage state of the first cache reaches the preset maximum threshold, a portion of the data to be written in the first cache is transferred to the second cache;
[0091] When the storage state of the first cache reaches a preset minimum threshold, a portion of the data to be written in the second cache is transferred to the first cache.
[0092] Optionally, the method further includes:
[0093] In response to a write command, the target data to be written corresponding to the write command in the first cache and / or the second cache is locked in the first cache.
[0094] Optionally, the priority of the data to be written in the first cache is not lower than the priority of the data to be written in the second cache, and the method further includes: setting the target data to be written to the highest priority so as to lock it in the first cache.
[0095] Optionally, the method further includes:
[0096] After locking the target data to be written corresponding to the write instruction in the first cache and / or the second cache in the first cache, in response to the data transfer instruction, the target data to be written is transferred to the backend module through the first cache.
[0097] Optionally, the method further includes:
[0098] After the target data to be written is successfully written to the storage medium, the backend module sends a data release command to the cache management unit and a successful write signal to the processor.
[0099] The processor uses software resources to process the target data to be written based on the successful write signal.
[0100] The cache management unit releases the storage space for the target data to be written according to the data release instruction.
[0101] The specific implementation process of the above steps is detailed in the above embodiments and will not be repeated here.
[0102] The writing method for the storage device disclosed in this application includes: transmitting data to be written to a first cache; controlling the mutual transfer of data to be written between the first cache and a second cache according to a preset strategy, wherein the capacity of the second cache is larger than that of the first cache, and the read / write speed of the second cache is slower than that of the first cache; and writing the target data to be written to the storage medium through the first cache in response to a write command. This application uses a first cache with fast read / write speed to form a write path with the front-end module and the back-end module, resulting in low latency. It also uses a second cache with larger capacity to transfer data between the first cache to increase the cached data, thereby effectively improving write performance.
[0103] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.
Claims
1. A storage device, characterized in that, The storage device includes a front-end module, a back-end module, a cache module, a storage medium, and a processor; the cache module connects the front-end module, the processor, and the back-end module, and the back-end module connects the processor and the storage medium; the cache module includes a cache management unit, a first cache, and a second cache, wherein the capacity of the second cache is greater than or equal to that of the first cache, and the read / write speed of the second cache is less than that of the first cache; The front-end module is used to transmit the data to be written to the first cache; The cache management unit is used to control the mutual transfer of the data to be written between the first cache and the second cache according to a preset strategy; The backend module is used to write the target data to be written to the storage medium through the first cache; The preset strategy includes at least one of the following: When the storage state of the first cache reaches a preset maximum threshold, a portion of the data to be written in the first cache is transferred to the second cache; When the storage state of the first cache reaches a preset minimum threshold, a portion of the data to be written in the second cache is transferred to the first cache; The cache management unit is also used for: In response to a write command sent by the backend module, the target data to be written corresponding to the write command in the first cache and / or the second cache is locked in the first cache; After locking the target data to be written corresponding to the write instruction in the first cache and / or the second cache in the first cache, in response to the data transmission instruction of the backend module, the target data to be written is transmitted to the backend module through the first cache.
2. The storage device according to claim 1, characterized in that, The processor has software embedded in it, and the front-end module connects the source device of the data to be written to the processor. The front-end module sends the write command from the source device to the processor; After receiving the write command, the processor creates a new cache management node and sends a data transmission instruction to the front-end module. The front-end module transmits the data to be written obtained from the source device to the first cache according to the data transmission instruction.
3. The storage device according to claim 1, characterized in that, The preset strategy also includes at least one of the following: Transfer high-priority data to be written in the second cache to the first cache; Transfer low-priority data to be written in the first cache to the second cache; The latest data to be written is transferred to the second cache.
4. The storage device according to claim 1, characterized in that, The priority of the data to be written in the first cache is not lower than the priority of the data to be written in the second cache. The cache management unit is used to set the target data to be written to the highest priority so as to lock it in the first cache.
5. The storage device according to claim 1, characterized in that, The backend module is used to send a data release instruction to the cache management unit and a successful write signal to the processor after the target data to be written is successfully written to the storage medium. The processor is a software resource for processing the target data to be written based on the successful write signal.
6. The storage device according to any one of claims 1-5, characterized in that, The cache management unit is a hardware module.
7. A storage system, characterized in that, It includes a host and a storage device as described in any one of claims 1-6, wherein the host is configured to provide the data to be written to the front-end module of the storage device.
8. A method for writing to a storage device, characterized in that, Applied to a storage device as described in any one of claims 1-6, the method comprises: Transfer the data to be written to the first buffer; According to a preset strategy, the data to be written is transferred between the first cache and the second cache. The capacity of the second cache is greater than that of the first cache, and the read / write speed of the second cache is less than that of the first cache. In response to a write command, the target data to be written is written to the storage medium through the first cache; The preset strategy includes at least one of the following: When the storage state of the first cache reaches a preset maximum threshold, a portion of the data to be written in the first cache is transferred to the second cache; When the storage state of the first cache reaches a preset minimum threshold, a portion of the data to be written in the second cache is transferred to the first cache; The method further includes: In response to a write command sent by the backend module, the target data to be written corresponding to the write command in the first cache and / or the second cache is locked in the first cache; After locking the target data to be written corresponding to the write instruction in the first cache and / or the second cache in the first cache, in response to the data transmission instruction of the backend module, the target data to be written is transmitted to the backend module through the first cache.
Citation Information
Patent Citations
Caching system and method for caching data in caching system
CN102117248A