Virtual container storage interface controller
US-12175078-B2 · Dec 24, 2024 · US
US11422698B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11422698-B2 |
| Application number | US-202017094430-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 10, 2020 |
| Priority date | Oct 15, 2020 |
| Publication date | Aug 23, 2022 |
| Grant date | Aug 23, 2022 |
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.
Embodiments include a method, an electronic device, and a computer program product for storage management. According to one embodiment of the present disclosure, a method for storage management includes: determining at a kernel of a storage server whether a first system call related to a target file is initiated by a thread executed in the storage server, wherein the target file is a file targeted by an accessing operation executed by a client terminal with respect to a storage device; determining a first connection and a second connection that are associated with the target file if the first system call is initiated, wherein the first connection is a connection between the client terminal and the storage server, and the second connection is a connection between the storage server and the storage device; and causing the client terminal to access the target file via the first connection and the second connection.
Opening claim text (preview).
What is claimed is: 1. A method for storage management, including: determining at a kernel of a storage server whether a first system call related to a target file is initiated by a thread executed in the storage server, wherein the target file is a file targeted by an accessing operation executed by a client terminal with respect to a storage device; determining a first connection and a second connection that are associated with the target file if the first system call is initiated, wherein the first connection is a connection between the client terminal and the storage server, and the second connection is a connection between the storage server and the storage device; and causing the client terminal to access the target file via the first connection and the second connection. 2. The method according to claim 1 , further including: determining whether a second system call related to starting the thread is initiated by a main thread used to manage the storage server; and storing an identifier of the first connection and an identifier of the thread into a storage region of the kernel if the second system call is initiated. 3. The method according to claim 2 , wherein the second system call is selected from multiple idle threads and initiated by the main thread in response to receiving a request from the client terminal for establishing the first connection. 4. The method according to claim 1 , further including: determining whether a third system call related to opening the target file is initiated by the thread; and storing an identifier of the target file into a storage region of the kernel if the third system call is initiated. 5. The method according to claim 4 , wherein the third system call is initiated by the thread in response to receiving a request from the client terminal for accessing the target file, the request including the identifier of the target file, a size of the target file, and a position of the target file. 6. The method according to claim 1 , wherein determining the first connection and the second connection includes: determining an identifier of the second connection based on the first system call; storing the identifier of the second connection into a storage region of the kernel; and determining the first connection and the second connection based on an identifier of the first connection and the identifier of the second connection that are stored in the storage region. 7. The method according to claim 1 , wherein causing the client terminal to access the target file via the first connection and the second connection includes: determining whether the target file is received from the storage device via the second connection; and sending the target file to the client terminal via the first connection if it is determined that the target file is received. 8. The method according to claim 1 , wherein causing the client terminal to access the target file via the first connection and the second connection includes: determining whether the target file is received from the client terminal via the first connection; and sending the target file to the storage device via the second connection if it is determined that the target file is received. 9. The method according to claim 1 , further including: updating metadata, in a persistent memory, that is associated with the target file if it is determined that the client terminal accesses the target file via the first connection and the second connection. 10. The method according to claim 9 , wherein the metadata includes at least one of the following: an identifier of the client terminal, a time when the target file is accessed, an identifier of the target file, a size of the target file, a position of the target file, and an index node for retrieving the target file. 11. The method according to claim 1 , wherein the target file is stored in the storage device, and the method further includes: determining whether a fourth system call related to moving the target file from the storage device to another storage device is initiated; reading, if it is determined that the fourth system call is initiated, the target file from a first group of storage blocks in the storage device that are used to store the target file; and moving the target file to a second group of storage blocks in the other storage device. 12. The method according to claim 11 , wherein the fourth system call includes: a type of movement, an identifier of the storage device, positions of storage blocks in the first group of storage blocks, an identifier of the other storage device, positions of storage blocks in the second group of storage blocks, and a size of the target file. 13. The method according to claim 11 , further including: generating a set of records associated with the target file, wherein one record in the set of records includes: a position of a first storage block in the first group of storage blocks, a position of a second storage block corresponding to the first storage block and in the second group of storage blocks, and a movement state indicator which indicates that a part of the target file on the first storage block has not been moved to the second storage block. 14. The method according to claim 13 , further including: changing, if it is determined that the part of the target file on the first storage block has been moved to the second storage block, the movement state indicator to one indicating that the part of the target file on the first storage block has been moved to the second storage block. 15. The method according to claim 11 , further including: releasing the first group of storage blocks after the target file is moved to the second group of storage blocks. 16. An electronic device, including: at least one processing unit; and at least one memory which is coupled to the at least one processing unit and stores instructions for execution by the at least one processing unit, wherein the instructions, when executed by the at least one processing unit, cause the device to perform actions including: determining at a kernel of a storage server whether a first system call related to a target file is initiated by a thread executed in the storage server, wherein the target file is a file targeted by an accessing operation executed by a client terminal with respect to a storage device; determining a first connection and a second connection that are associated with the target file if the first system call is initiated, wherein the first connection is a connection between the client terminal and the storage server, and the second connection is a connection between the storage server and the storage device; and causing the client terminal to access the target file via the first connection and the second connection. 17. The device according to claim 16 , wherein the actions further include: determining whether a second system call related to starting the thread is initiated by a main thread used to manage the storage server; and storing an identifier of the first connection and an identifier of the thread into a storage region of the kernel if the second system call is initiated. 18. The device according to claim 17 , wherein the second system call is selected from multiple idle threads and initiated by the main thread in response to receiving a request from the client terminal for establishing the first connection. 19. The device according to claim 16 , wherein the actions further include: determining whether a third system call re
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Management of files · CPC title
Improving I/O performance · CPC title
Improving or facilitating administration, e.g. storage management · CPC title
Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.