Open-channel storage device management with FTL on virtual machine
AssigneeAlibaba Group Holding Limited
InventorsSheng Qiu, Fei Liu, Shu Li
Life of this patent
Estimating the term…
Abstract
Embodiments of the disclosure provide systems and methods accessing a storage device of a host machine. The method can include: receiving, via a first guest flash translation layer (FTL) instance, a first request for accessing the storage device from a first virtual machine running on a host machine, wherein the first request comprises a first physical address of the storage device; transmitting, via the first FTL instance, the first request to a host FTL driver; converting, via the host FTL driver, the first request into a first hardware command; transmitting, via the host FTL driver, the first hardware command to the storage device; and executing, via the solid state drive, the first hardware command.
Claims20
A computer-implemented method for accessing a storage device of a host machine, comprising:
- initializing a first guest flash translation layer (FTL) instance of a first virtual machine running on a guest operating system of the host machine and a host FTL driver running on a host operating system of the host machine in parallel;
- receiving, via the first guest FTL instance of the first virtual machine, a first request for accessing the storage device from the first virtual machine, wherein the first request comprises a first physical address of the storage device;
- transmitting, via the first guest FTL instance, the first request to the host FTL driver and parsing the first request by the host FTL driver to determine if the first request is associated with an accessible range of physical addresses, wherein a communication between the first guest FTL instance and the host FTL driver is through a virtual queue created by the guest operating system;
- converting, via the host FTL driver, the first request into a first hardware command;
- transmitting, via the host FTL driver, the first hardware command to the storage device;
- and
- executing, via the storage device, the first hardware command to access the first physical address.
An apparatus, comprising:
- a memory for storing a set of instructions;
- and
- at least one processor configured to execute to the set of instructions to cause the apparatus to perform:
- initializing a first guest flash translation layer (FTL) instance of a first virtual machine running on a guest operating system of the host machine and a host FTL driver running on a host operating system of the host machine in parallel;
- receiving, via the first guest FTL instance of the first virtual machine, a first request for accessing the storage device from the first virtual machine, wherein the first request comprises a first physical address of the storage device;
- transmitting, via the first guest FTL instance, the first request to the host FTL driver and parsing the first request by the host FTL driver to determine if the first request is associated with an accessible range of physical addresses, wherein a communication between the first guest FTL instance and the host FTL driver is through a virtual queue created by the guest operating system;
- converting, via the host FTL driver, the first request into a first hardware command;
- transmitting, via the host FTL driver, the first hardware command to the storage device;
- and
- executing, via the storage device, the first hardware command to access the first physical address.
A host machine including one or more non-transitory computer readable mediums that store a set of instructions that is executable by at least one processor of the host machine to cause the host machine to perform a method for accessing a storage device of a host machine, the method comprising:
- initializing a first guest flash translation layer (FTL) instance of a first virtual machine running on a guest operating system of the host machine and a host FTL driver running on a host operating system of the host machine in parallel;
- receiving, via the first guest FTL instance of the first virtual machine, a first request for accessing the storage device from the first virtual machine, wherein the first request comprises a first physical address of the storage device;
- transmitting, via the first guest FTL instance, the first request to the host FTL driver and parsing the first request by the host FTL driver to determine if the first request is associated with an accessible range of physical addresses, wherein a communication between the first guest FTL instance and the host FTL driver is through a virtual queue created by the guest operating system;
- converting, via the host FTL driver, the first request into a first hardware command;
- transmitting, via the host FTL driver, the first hardware command to the storage device;
- and
- executing, via the solid state drive, the first hardware command to access the first physical address.
Dependencies are inferred from the claim text.