Data recovery method, data recovery system, and computer program product
US-10860481-B2 · Dec 8, 2020 · US
US11586353B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11586353-B2 |
| Application number | US-202016880271-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 21, 2020 |
| Priority date | Oct 30, 2019 |
| Publication date | Feb 21, 2023 |
| Grant date | Feb 21, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques for storage management involve: in accordance with a determination that an input/output (I/O) request of a storage system is received, determining a target storage device to which the I/O request is directed. The techniques further involve: in accordance with a determination that the target storage device is a storage device of a first type, processing the I/O request by accessing a memory of the storage system. The techniques further involve: in accordance with a determination that the target storage device is a storage device of a second type different from the first type, processing the I/O request without accessing the memory, the storage device of the second type having an access speed higher than that of the storage device of the first type. Accordingly, such techniques can improve performance of a storage system.
Opening claim text (preview).
We claim: 1. A method for storage management, comprising: in accordance with a determination that an input/output (I/O) request of a storage system is received, determining a target storage device to which the I/O request is directed; in accordance with a determination that the target storage device is a storage device of a first type, processing the I/O request by accessing a data cache in a memory of the storage system; and in accordance with a determination that the target storage device is a storage device of a second type different from the first type, processing the I/O request by bypassing the data cache in order to access the target storage device directly, without accessing the data cache, and by bypassing a block buffer that is communicably coupled to the data cache, in order to access the target storage device directly without accessing the block buffer, the storage device of the second type having an access speed higher than that of the storage device of the first type. 2. The method of claim 1 , wherein determining the target storage device comprises: determining whether target data to which the I/O request is directed has an identifier indicating that the target data is stored in the storage device of the second type; in accordance with a determination that the target data does not have the identifier, determining that the target storage device is the storage device of the first type; and in accordance with a determination that the target data has the identifier, determining that the target storage device is the storage device of the second type. 3. The method of claim 2 , wherein the target data to which the I/O request is directed comprises a file; and wherein the identifier indicating that the target data is stored in the storage device of the second type comprises a flag in an inode of the file. 4. The method of claim 3 , wherein the flag indicates that the file was allocated on the storage device of the second type. 5. The method of claim 3 , wherein data on the target storage device is organized and managed as files. 6. The method of claim 1 , further comprising: generating an identifier associated with data in the storage device of the second type to indicate that the data is stored in the storage device of the second type. 7. The method of claim 1 , wherein processing the I/O request by accessing the data cache comprises: in accordance with a determination that the I/O request is to read data from the storage device of the first type, searching for the data in the data cache; and in accordance with a determination that the data is found in the data cache, reading the data from the data cache. 8. The method of claim 1 , wherein processing the I/O request by accessing the data cache comprises: in accordance with a determination that the I/O request is to read data from the storage device of the first type, searching for the data in the data cache; in accordance with a determination that the data is not found in the data cache, reading the data from the storage device of the first type; and caching the data in the data cache. 9. The method of claim 1 , wherein processing the I/O request by accessing the data cache comprises: in accordance with a determination that the I/O request is to write an updated version of data to the storage device of the first type, searching for a previous version of the data in the data cache; in accordance with a determination that the previous version is not found in the data cache, caching the updated version in the data cache; and writing the updated version to the storage device of the first type. 10. The method of claim 1 , wherein processing the I/O request by accessing the data cache comprises: in accordance with a determination that the I/O request is to write an updated version of data to the storage device of the first type, searching for a previous version of the data in the data cache; in accordance with a determination that the previous version is found in the data cache, replacing the previous version in the data cache with the updated version; and writing the updated version to the storage device of the first type. 11. The method of claim 1 , wherein processing the I/O request without accessing the data cache comprises: reading data from or writing data to the storage device of the second type via a memory bus of the storage system. 12. The method of claim 1 , wherein an I/O request directed to the storage device of the second type is initially sent to a file data cache in the memory, wherein the file data cache is also used for caching data associated with the storage device of the first type in the data cache, wherein the file data cache is used only as a functional interface when processing the I/O request directed to the storage device of the second type, and wherein the I/O request directed to the storage device of the second type is subsequently performed on the storage device of the second type without accessing the data cache. 13. The method of claim 1 , wherein the storage device of the second type comprises a 3D XPoint storage device. 14. An electronic device, comprising: at least one processor; and at least one memory storing computer program instructions, the at least one memory and the computer program instructions being configured, with the at least one processor, to cause the electronic device to: in accordance with a determination that an input/output (I/O) request of a storage system is received, determine a target storage device to which the I/O request is directed; in accordance with a determination that the target storage device is a storage device of a first type, process the I/O request by accessing a data cache in a memory of the storage system; and in accordance with a determination that the target storage device is a storage device of a second type different from the first type, process the I/O request by bypassing the data cache in order to access the target storage device directly, without accessing the data cache, and by bypassing a block buffer that is communicably coupled to the data cache, in order to access the target storage device directly without accessing the block buffer, the storage device of the second type having an access speed higher than that of the storage device of the first type. 15. The electronic device of claim 14 , wherein the at least one memory and the computer program instructions are configured, with the at least one processor, to cause the electronic device to determine the target storage device by: determining whether target data to which the I/O request is directed has an identifier indicating that the target data is stored in the storage device of the second type; in accordance with a determination that the target data does not have the identifier, determining that the target storage device is the storage device of the first type; and in accordance with a determination that the target data has the identifier, determining that the target storage device is the storage device of the second type. 16. The electronic device of claim 14 , wherein the at least one memory and the computer program instructions are further configured, with the at least one processor, to cause the electronic device to: generate an identifier associated with data in the storage device of the second type to indicate that the data is stored in the storage device of the second type. 17. The electronic device of claim 14 , wherein the at least one memory and the computer program instructions are configured, with the at least one processor, to cau
Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays · CPC title
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
Lifecycle management · CPC title
Version control (security arrangements therefor G06F21/57); Configuration management · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.