IP Library › Granted Patent US 12,197,791
Granted Patent B2
US 12,197,791 · App. 18/749,424 · Granted Jan 14, 2025

Method, bridging device, system and medium of virtualization processing of storage device

Inventors: Haixin Yu (Beijing, CN); Haozhong Zhang (Beijing, CN); Shoujing Bo (Beijing, CN); Jiali Jiang (Beijing, CN); Xuechao Wei (Beijing, CN)
Assignee: BEIJING VOLCANO ENGINE TECHNOLOGY CO., LTD.
G06F3/0665G06F3/0604G06F3/0659G06F3/0683
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,197,791
App. No.
18/749,424
Granted
Jan 14, 2025
Kind
B2
Abstract

Embodiments of the present application relate to a method, a bridging device, a system and a medium of virtualization processing of a storage device. The method comprises: receiving an initial access request to a virtual disk sent by a virtual machine user; translating the virtual address corresponding to the virtual machine to a first physical address corresponding to a host based on a preconfigured address mapping relationship; translating the virtual access address to a second physical address corresponding to the storage device based on a preconfigured virtual partition mapping relationship; and generating a target access request based on the first physical address and the second physical address, and sending the target access request to the host, so as to cause the host to perform information interaction with the storage device based on the target access request.

Claims (79)

1. A method of virtualization processing of a storage device, comprising:

receiving an initial access request to a virtual disk sent by a virtual machine user, wherein the initial access request comprises: a virtual address corresponding to the virtual machine, and a virtual access address in the virtual disk, wherein the virtual disk is a virtual storage area allocated for the virtual machine user by a bridging device after virtualization partitioning of a physical disk in the storage device;

translating the virtual address corresponding to the virtual machine to a first physical address corresponding to a host based on a preconfigured address mapping relationship;

translating the virtual access address to a second physical address corresponding to the storage device based on a preconfigured virtual partition mapping relationship; and

generating a target access request based on the first physical address and the second physical address, and sending the target access request to the host, so as to cause the host to perform information interaction with the storage device based on the target access request.

2. The method of claim 1 , wherein the host comprises a front-end module and a back-end module, wherein the front-end module is connected with the virtual machine, the back-end module is connected with the storage device, the bridging device is connected with the front-end module and the back-end module respectively, and a process of configuring the address mapping relationship comprises:

receiving configuration information issued by the virtual machine through the front-end module;

applying for a memory space of the host to the back-end module based on the configuration information; and

creating the address mapping relationship based on the configuration information and the memory space.

3. The method of claim 2 , wherein a process of configuring the virtual partition mapping relationship comprises:

obtaining physical disk information on the storage device through the back-end module;

receiving virtual disk configuration information issued by the virtual machine through the front-end module;

performing virtualization partitioning on the storage device based on the physical disk information; and

configuring a corresponding virtual disk for the virtual machine user based on the virtual disk configuration information, and creating the virtual partition mapping relationship.

4. The method of claim 2 , wherein receiving the initial access request to a virtual disk sent by the virtual machine user comprises:

receiving a doorbell message issued by the front-end module; and

based on the doorbell message, obtaining the initial access request to a virtual disk sent by the virtual machine user from a front-end read and write request queue of the front-end module based on the doorbell message.

5. The method of claim 2 , wherein sending the target access request to the host comprises:

sending the target access request to a back-end read and write request queue of the back-end module; and

sending a notification message to the back-end module to cause the back-end module to obtain the target access request from the back-end read and write request queue based on the notification message.

6. The method of claim 2 , further comprising:

polling to detect a back-end read and write completion queue of the back-end module according to preset periods; and

in the event of obtaining a completion message corresponding to the target access request from the back-end read and write completion queue, sending the completion message to a front-end read and write completion queue of the front-end module, wherein

a completion message in the front-end read and write completion queue corresponds to the initial access request, so as to cause the virtual machine user to perform a related operation based on the completion message.

7. A method of virtualization processing of a storage device, comprising:

sending, to a bridging device, an initial access request to a virtual disk of a virtual machine user, wherein the initial access request comprises: a virtual address corresponding to the virtual machine, and a virtual access address in the virtual disk, wherein the virtual disk is a virtual storage area allocated for the virtual machine user by the bridging device after virtualization partitioning of a physical disk in the storage device;

receiving a target access request sent by the bridging device, the target access request comprising a first physical address and a second physical address, wherein the first physical address is an address corresponding to a host as translated from the virtual address corresponding to the virtual machine by the bridging device based on a preconfigured address mapping relationship, and the second physical address is an address corresponding to the storage device as translated from the virtual access address by the bridging device based on a preconfigured virtual partition mapping relationship; and

performing information interaction with the storage device based on the target access request.

8. The method of claim 7 , wherein in the event that the initial access request is a read operation, performing information interaction with the storage device based on the target access request comprises:

reading corresponding first target data from the storage device based on the second physical address, and storing the first target data to a memory of the host based on the first physical address; and

sending the first target data to the virtual machine user based on a preset address routing table.

9. The method of claim 7 , wherein in the event that the initial access request is a write operation, performing information interaction with the storage device based on the target access request comprises:

reading corresponding second target data from a memory of the host based on the first physical address; and

writing the second target data to the storage device based on the second physical address.

10. A bridging device, comprising:

a processor; and

a memory for storing instructions executable by the processor;

the processor being for reading the executable instructions from the memory and executing the instructions to:

receive an initial access request to a virtual disk sent by a virtual machine user, wherein the initial access request comprises: a virtual address corresponding to the virtual machine, and a virtual access address in the virtual disk, wherein the virtual disk is a virtual storage area allocated for the virtual machine user by a bridging device after virtualization partitioning of a physical disk in the storage device;

translate a virtual address corresponding to the virtual machine to a first physical address corresponding to a host based on a preconfigured address mapping relationship;

translate the virtual access address to a second physical address corresponding to the storage device based on a preconfigured virtual partition mapping relationship; and

generate a target access request based on the first physical address and the second physical address, and sending the target access request to the host, so as to cause the host to perform information interaction with the storage device based on the target access request.

11. The bridging device of claim 10 , wherein the host comprises a front-end module and a back-end module, wherein the front-end module is connected with the virtual machine, the back-end module is connected with the storage device, the bridging device is connected with the front-end module and the back-end module respectively, and a process of configuring the address mapping relationship comprises:

receiving configuration information issued by the virtual machine through the front-end module;

applying for a memory space of the host to the back-end module based on the configuration information; and

creating the address mapping relationship based on the configuration information and the memory space.

12. The bridging device of claim 11 , wherein a process of configuring the virtual partition mapping relationship comprises:

obtaining physical disk information on the storage device through the back-end module;

receiving virtual disk configuration information issued by the virtual machine through the front-end module;

performing virtualization partitioning on the storage device based on the physical disk information; and

configuring a corresponding virtual disk for the virtual machine user based on the virtual disk configuration information, and creating the virtual partition mapping relationship.

13. The bridging device of claim 11 , wherein receiving an initial access request to a virtual disk sent by the virtual machine user comprises:

receiving a doorbell message issued by the front-end module; and

obtaining an initial access request to a virtual disk sent by the virtual machine user from a front-end read and write request queue of the front-end module based on the doorbell message.

14. The bridging device of claim 11 , wherein sending the target access request to the host comprises:

sending the target access request to a back-end read and write request queue of the back-end module; and

sending a notification message to the back-end module to cause the back-end module to obtain the target access request from the back-end read and write request queue based on the notification message.

15. The bridging device of claim 11 , wherein the processor further executes the instructions to:

poll to detect a back-end read and write completion queue of the back-end module according to preset periods; and

in the event of obtaining a completion message corresponding to the target access request from the back-end read and write completion queue, send the completion message to a front-end read and write completion queue of the front-end module, wherein

a completion message in the front-end read and write completion queue corresponds to the initial access request, so as to cause the virtual machine user to perform a related operation based on the completion message.

16. The bridging device of claim 10 , wherein the processor is a system on chip (SoC) or a field programmable gate array (FPGA).

17. A non-transitory computer readable storage medium storing a computer program thereon, wherein the computer program, when executed by the processor, causes the processor to:

receive an initial access request to a virtual disk sent by a virtual machine user, wherein the initial access request comprises: a virtual address corresponding to the virtual machine, and a virtual access address in the virtual disk, wherein the virtual disk is a virtual storage area allocated for the virtual machine user by a bridging device after virtualization partitioning of a physical disk in the storage device;

translate a virtual address corresponding to the virtual machine to a first physical address corresponding to a host based on a preconfigured address mapping relationship;

translate the virtual access address to a second physical address corresponding to the storage device based on a preconfigured virtual partition mapping relationship; and

generate a target access request based on the first physical address and the second physical address, and sending the target access request to the host, so as to cause the host to perform information interaction with the storage device based on the target access request.

18. The non-transitory computer readable storage medium of claim 17 , wherein the host comprises a front-end module and a back-end module, wherein the front-end module is connected with the virtual machine, the back-end module is connected with the storage device, the bridging device is connected with the front-end module and the back-end module respectively, and a process of configuring the address mapping relationship comprises:

receiving configuration information issued by the virtual machine through the front-end module;

applying for a memory space of the host to the back-end module based on the configuration information; and

creating the address mapping relationship based on the configuration information and the memory space.

19. The non-transitory computer readable storage medium of claim 18 , wherein a process of configuring the virtual partition mapping relationship comprises:

obtaining physical disk information on the storage device through the back-end module;

receiving virtual disk configuration information issued by the virtual machine through the front-end module;

performing virtualization partitioning on the storage device based on the physical disk information; and

configuring a corresponding virtual disk for the virtual machine user based on the virtual disk configuration information, and creating the virtual partition mapping relationship.

20. The non-transitory computer readable storage medium of claim 18 , wherein receiving an initial access request to a virtual disk sent by the virtual machine user comprises:

receiving a doorbell message issued by the front-end module; and

obtaining an initial access request to a virtual disk sent by the virtual machine user from a front-end read and write request queue of the front-end module based on the doorbell message.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2024
From: YU, HAIXIN
To: HANGZHOU JINRITOUTIAO TECHNOLOGY CO., LTD.
Reel/Frame 069474/0643 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2024
From: ZHANG, HAOZHONG
To: SHANGHAI KAIYONG INFORMATION TECHNOLOGY CO., LTD.
Reel/Frame 069474/0694 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2024
From: BO, SHOUJING; JIANG, JIALI; WEI, XUECHAO
To: SHANGHAI FROSFORT TECHNOLOGY CO.LTD. HANGZHOU BRANCH
Reel/Frame 069474/0700 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2024
From: HANGZHOU JINRITOUTIAO TECHNOLOGY CO., LTD.
To: BEIJING VOLCANO ENGINE TECHNOLOGY CO., LTD.
Reel/Frame 069474/0707 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2024
From: SHANGHAI KAIYONG INFORMATION TECHNOLOGY CO., LTD.
To: BEIJING VOLCANO ENGINE TECHNOLOGY CO., LTD.
Reel/Frame 069474/0719 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2024
From: SHANGHAI FROSFORT TECHNOLOGY CO.LTD. HANGZHOU BRANCH
To: BEIJING VOLCANO ENGINE TECHNOLOGY CO., LTD.
Reel/Frame 069474/0723 →
Priority Claims (1)
CN 202310730053.8 · Jun 19, 2023 · national
Continuity (1)
Related Publication 20240419367A1 · Dec 19, 2024
References Cited (7)
US 20170329625A1 · Li · 2017 [cited by examiner]
US 20180181425A1 · Kim · 2018 [cited by examiner]
US 20180321879A1 · Lu · 2018 [cited by applicant]
US 20200341858A1 · Chopra et al. · 2020 [cited by applicant]
US 20200371828A1 · Chiou et al. · 2020 [cited by applicant]
US 20240256441A1 · Hyatt · 2024 [cited by examiner]
Extended European Search Report for European Patent Application No. 24182939.9, mailed on Nov. 18, 2024, 12 pages. [cited by applicant]