Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Architecture for shielding interface difference and method and system thereof

An interface and difference technology, applied in the field of computer systems, can solve the problems of libaio and other interfaces that cannot be directly compatible, and achieve the effect of low cost, short cycle, and small changes

Inactive Publication Date: 2021-11-30
谢若冰
View PDF0 Cites 0 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

However, the bdev framework needs to register a series of interface functions. In addition, the io request submission and harvesting methods are not directly compatible with existing interfaces such as libaio.
Services that already support libaio also need additional changes to adapt

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Architecture for shielding interface difference and method and system thereof
  • Architecture for shielding interface difference and method and system thereof
  • Architecture for shielding interface difference and method and system thereof

Examples

Experimental program
Comparison scheme
Effect test

Embodiment 1

[0041] see figure 1 , figure 1 A schematic diagram of an architecture for shielding interface differences and its method steps provided by an embodiment of the present invention is as follows:

[0042] S100, the business layer calls the spdk_io_submit interface, and internally sends the ioctx containing the business layer callback to the lock-free queue (ctx ring) inside the spdk_thread bound to the background through spdk_thread_send_mess-age;

[0043] S110, the Spdk thread obtains the requests in the ctx ring in the order of FIFO, executes the IO request submission work through spdk_nvme_ns_cmd_write / read, and the subsequent corresponding callback function will insert the ioctx corresponding to the completed IO into the lock-free completion event queue event ring ;

[0044] S120, the NVME controller consumes new IO request ioctx from the hardware submission queue;

[0045] S130, the NVME controller puts the completed IO request ioctx into the hardware completionqueue;

...

Embodiment 2

[0069] see figure 2 , figure 2 The main flow diagram of nvme_io_setup provided for the embodiment of the present invention is as follows:

[0070] The main function of the standard io_setup is that io_context_t corresponds to a structure in the kernel, which provides a context for asynchronous IO requests. It creates a handle to an io operation through a system call, and provides a destination for subsequent io_submit / io_getevents to accept requests. In order to be compatible with the libaio interface, nvme_io_setup also needs to provide the same destination for accepting requests: nvme_io_ctx_p, which includes information about the io_ctx_t number interface used for interface compatibility and the nvme hardware queue pair used to actually accept IO requests. The main contents are as follows:

[0071] Struct nvme_io_ctx_t {Io_ctx_t;

[0072] Nvme controller; Nvme name space; Nvme hardware queue;

[0073] Max_events; / / Indicates the maximum number of requests allowed on ...

Embodiment 3

[0114] see Figure 7 , Figure 7 A schematic diagram of a shielding interface difference architecture and its system modules provided by the embodiment of the present invention is as follows:

[0115] The access module 10 is used for the business layer to call the spdk_io_submit interface, and internally sends the ioctx and the submission action to the background binding spdk thread through spdk_th-read_send_message;

[0116] The execution module 20 is used for the Spdk thread to execute the IO request submission work through spdk_nvme_ns_cmd_write / read, and the subsequent corresponding callback function will insert the io ctx corresponding to the completed IO into the lock-free completion event queue event ring;

[0117] Submit request module 30, used for NVME controller to consume new I-O request ioctx from hardware submission queue;

[0118] Harvest completion request module 40, used for NVME controller to put the completed IO request ioctx into har-dware completion queue...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

The invention provides an architecture for shielding interface differences and a method and system thereof, and relates to the field of computer systems. According to the architecture and the method for shielding the interface difference, the difference of physical hardware of a lower layer can be shielded for an upper layer through a libaio interface libaio Wrapper realized based on an spdk native interface, and a libaio interface based on block equipment in an upper layer service can be rapidly replaced. According to a bottom layer, through a spdk nvme native interface and external calling through an interface similar to libaio, the invention is compatible with an existing interface, hardware details are shielded, use is convenient, and the technology upgrading cost and period are shortened. In addition, the invention also provides an architecture and a system for shielding the interface difference.

Description

technical field [0001] The present invention relates to the field of computer systems, in particular to a framework for shielding interface differences, a method and a system thereof. Background technique [0002] The SPDK NVME native interface provides operations for initialization, IO submission, and harvesting of the NVME controller hardware queue. However, this interface needs to interact directly with the hardware queue, there are many initialization parameters, and the user needs to ensure harvesting and submission for serial execution. The usage method is very different from the traditional libaio interface, and the error probability and learning cost are relatively high, resulting in In the SSD scenario, replacing the traditional interface with the SPDK interface increases a lot of workload. [0003] In addition, when the native NVME interface is initialized, it is necessary to understand hardware details such as queue pair queue depth and quantity. Although the bd...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & Authority Applications(China)
IPC IPC(8): G06F3/06G06F13/42
CPCG06F3/0607G06F3/0611G06F13/4282G06F3/0659G06F3/0679G06F2213/0026
Inventor 谢若冰
Owner 谢若冰
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products