CN108196794A - A kind of message treatment method, apparatus and system - Google Patents

A kind of message treatment method, apparatus and system Download PDF

Info

Publication number
CN108196794A
CN108196794A CN201711487272.9A CN201711487272A CN108196794A CN 108196794 A CN108196794 A CN 108196794A CN 201711487272 A CN201711487272 A CN 201711487272A CN 108196794 A CN108196794 A CN 108196794A
Authority
CN
China
Prior art keywords
asynchronous
queue
event
order
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201711487272.9A
Other languages
Chinese (zh)
Inventor
程健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201711487272.9A priority Critical patent/CN108196794A/en
Publication of CN108196794A publication Critical patent/CN108196794A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

The application provides a kind of message treatment method, apparatus and system.The method includes:Host preserves the asynchronous event order to asynchronous submission queue, to send the asynchronous event order to storage subsystem.It is two independent queues to submit queue due to asynchronous submission queue and management, when preserving asynchronous event order, asynchronous event order is preserved into the asynchronous submission queue for submitting queue independence with management, asynchronous event order is avoided to share management with administration order and submits queue (Admin SQ).In this way, without preserving asynchronous event order in Admin SQ, avoid by Admin SQ asynchronous event order it is previously stored be not suitable for asynchronous message treatment mechanism other administration orders processing after the completion of, asynchronous event order is retransmited to storage subsystem, the processing of asynchronous event order is caused to be delayed the problem of longer, improves the treatment effeciency of asynchronous event request.

Description

A kind of message treatment method, apparatus and system
Technical field
This application involves field of storage, and in particular to a kind of message treatment method, apparatus and system.
Background technology
Non-volatile memories standard (Non-Volatile Memory Express, NVME) is one about storage subsystem The interface standard of the main controller chip of system, defines the communication protocol between host operating system and storage subsystem.Host A pair of of management queue is only preserved in memory, this includes a management to management queue and submits queue (Admin Submission Queue, Admin SQ) and a management completion queue (Admin Completion Queue, Admin CQ).Admin SQ are used In the administration order for preserving host submission, information is completed in the administration order that Admin CQ are used to preserve storage subsystem submission.Such as Multiple orders are preserved in each SQ queue of fruit, the execution needs of multiple orders are handled according to serial process mechanism. In NVME, define at a kind of asynchronous message about asynchronous event request (Asynchronous Event Request, AER) Reason mechanism, asynchronous event request are used to indicate storage subsystem and asynchronous event are monitored.The AER that host will encapsulate AER Order is preserved into Admin SQ, after storage subsystem reads the AER orders in Admin SQ, first by the AER order cachings Into the memory of storage subsystem.After asynchronous event generation, storage subsystem again preserves AER completions information to Admin In CQ, to occur to host notification asynchronous event.After host reads AER completion information, create asynchronous result and obtain request, lead to It crosses Get Log Page orders encapsulation asynchronous result and obtains request, and preserve in Get Log Page orders to Admin SQ, with Indicate that storage subsystem returns to asynchronous process result.After storage subsystem reads Get Log Page orders, by asynchronous process knot Fruit is encapsulated in Get Log Page and completes in information, and information is completed to host notification asynchronous process by returning to Get Log Page As a result.
In the prior art, host reads after AER completes information and creates Get Log Page orders again, then by Get Log Page orders are stored in Admin SQ.Since the administration order in Admin SQ is serial process mechanism, host needs It will be ordered in Admin SQ in previously stored other management for not being suitable for asynchronous message treatment mechanism of Get Log Page orders After the completion of order processing, Get Log Page orders could be sent to storage subsystem, cause the processing of Get Log Page orders Delay is longer, reduces the treatment effeciency of asynchronous event request.
Invention content
The application provides a kind of message treatment method, apparatus and system, real based on the asynchronous queue with managing queue independence The processing of existing asynchronous event improves the treatment effeciency of asynchronous event request.
In a first aspect, providing a kind of message treatment method, performed by host.The method includes:Create asynchronous event life It enables, preserves the asynchronous event order to asynchronous submission queue.Wherein, the memory of the host includes management submission queue and institute Asynchronous submission queue is stated, it is two independent queues that queue and the asynchronous submission queue are submitted in the management.It preserves described different After walking event command to asynchronous submission queue, the asynchronous event order is sent to storage subsystem, obtains the storage subsystem The asynchronous event that system is sent completes information.
In the embodiment of the present application, host preserves the asynchronous event order to asynchronous submission queue, described different to send Event command is walked to storage subsystem.It is two independent queues to submit queue due to asynchronous submission queue and management, is preserved different When walking event command, asynchronous event order is preserved into the asynchronous submission queue for submitting queue independence with management, is avoided Asynchronous event order shares management with administration order and submits queue (Admin SQ).In this way, exist without preserving asynchronous event order In Admin SQ, avoid that asynchronous message treatment mechanism will not be suitable for asynchronous event order is previously stored in Admin SQ After the completion of other administration orders processing, asynchronous event order is retransmited to storage subsystem, leads to the processing of asynchronous event order The problem of delay is longer improves the treatment effeciency of asynchronous event request.
Based in a first aspect, in the first realization method, before the establishment asynchronous event order, further include:It creates Asynchronous completion queue.The asynchronous event completion information for obtaining the storage subsystem and sending, including:In the storage subsystem After blanket insurance deposits the asynchronous event completion information to the asynchronous completion queue, obtained from the asynchronous completion queue described different Step event completes information.
Based on the first of first aspect or first aspect realization method, in second of realization method, the establishment is different Before walking event command, further include:Create asynchronous submission queue.
The first or second of realization method based on first aspect or first aspect, in the third realization method, institute It states and creates asynchronous event order, including:It creates asynchronous result and obtains order, the asynchronous result obtains order and includes asynchronous result Obtain request;The asynchronous event completes information and includes asynchronous process result.
The first or second of realization method based on first aspect or first aspect, in the 4th kind of realization method, institute It states and creates asynchronous event order, including:Asynchronous process order is created, the asynchronous process order is asked including asynchronous process;Institute It states asynchronous event completion information and includes asynchronous response information.
The 4th kind of realization method based on first aspect, in the 5th kind of realization method, the asynchronous event completes information Further include asynchronous process result.
The 4th kind of realization method based on first aspect, in the 6th kind of realization method, this method further includes:It creates asynchronous As a result order is obtained, the asynchronous result obtains order and includes asynchronous result acquisition request;It preserves the asynchronous result and obtains life It enables to the asynchronous submission queue;It sends the asynchronous result and obtains order to storage subsystem;It is obtained from asynchronous completion queue The asynchronous result that the storage subsystem is sent is taken to complete information, the asynchronous result completes information and includes asynchronous process result.
The first realization method based on first aspect, it is described to create asynchronous submission queue in the 7th kind of realization method, Including:The address of first object memory space is obtained, and creates asynchronous submission queue identity.It is empty to preserve the first object storage Between address and it is described it is asynchronous submit queue identity between correspondence.The first object memory space is used to be described different Step submits queue to provide memory space, and the memory of the host includes the first object memory space and management submits queue to deposit Space is stored up, the management submits queue storage space to be used to queue be submitted to provide memory space for the management.
The 7th kind of realization method based on first aspect, it is described to create asynchronous submission queue in the 8th kind of realization method After mark and before the establishment asynchronous event order, further include:Create asynchronous event mark;Preserve the asynchronous thing Part identifies and the asynchronous correspondence submitted between queue identity.The establishment asynchronous event order, including:It creates asynchronous Event request;The asynchronous event request and asynchronous event mark are encapsulated, obtains asynchronous event order;The acquisition is asynchronous After event command and before preserving the asynchronous event order to asynchronous submission queue, further include:According to the asynchronous thing Asynchronous submission queue described in part identity validation.
The 8th kind of realization method based on first aspect, it is described to preserve the asynchronous event in the 9th kind of realization method Before order to asynchronous submission queue, further include:The first object memory space is confirmed according to asynchronous submission queue identity Address.It is described to preserve the asynchronous event order to asynchronous submission queue, including:According to the ground of the first object memory space Location preserves the asynchronous result and obtains in order to the first object memory space.
The 8th kind of realization method based on first aspect, it is described to create asynchronous completion queue in the tenth kind of realization method, Including:Obtain the address of the second target storage space;Create asynchronous completion queue identity;Second target storage space is used for Memory space is provided for the asynchronous completion queue, the memory of the host includes second target storage space and managed Into queue storage space, the management completes queue storage space and is used to provide memory space for the management completion queue;Hair Send second target storage space address and the asynchronous completion queue identity to the storage subsystem.
Second aspect provides a kind of message treatment method, and applied to storage system, the storage system includes host and deposits Subsystem is stored up, the method is performed by the main controller of the storage subsystem, including:Asynchronous thing is read from asynchronous submission queue Part order, host memory include management and submit queue and the asynchronous submission queue, and queue and described asynchronous is submitted in the management Submission queue is two independent queues, creates asynchronous event and completes information, sends the asynchronous event and completes information to described Host.
Based on second aspect, in the first realization method, after the establishment asynchronous event completes information, further include: It preserves the asynchronous event and completes information to asynchronous completion queue, the host memory includes management and completes queue and described asynchronous Queue is completed, it is two independent queues that queue and the asynchronous completion queue are completed in the management.
The first realization method based on second aspect, it is described from asynchronous submission queue in second of realization method Before reading asynchronous event order, further include:
It is obtained from host and preserves the correspondence between asynchronous event mark and asynchronous completion queue identity and from institute Host is stated to obtain and preserve the address of the second target storage space and the asynchronous correspondence completed between queue identity;
The establishment asynchronous event completes information, including:
It encapsulates the asynchronous event mark and asynchronous process completes information as a result, obtaining asynchronous event;
It is described to preserve the asynchronous event and complete information to asynchronous completion queue, including:
According to the asynchronous completion queue identity of the asynchronous event identity validation, confirmed according to the asynchronous completion queue identity The address of second target storage space preserves the asynchronous event and completes information to second target storage space.
The first or second of realization method based on second aspect or second aspect, in the third realization method, institute It states asynchronous event order and includes asynchronous result acquisition order, the asynchronous event completes information and includes asynchronous process result.
The first or second of realization method based on second aspect or second aspect, in the 4th kind of realization method, institute It states asynchronous event order and includes asynchronous process order, the asynchronous event completes information and includes asynchronous response information.
The 4th kind of realization method based on second aspect, in the 5th kind of realization method, the asynchronous event completes information Further include asynchronous process result.
The third aspect provides a kind of message processing apparatus, including being used to performing any of first aspect or first aspect The modules of message treatment method in possible realization method, the module can be by hardware realizations, can also be by hard Part performs corresponding software and realizes.
Fourth aspect provides a kind of message processing apparatus, including being used to performing any of second aspect or second aspect The modules of message treatment method in possible realization method, the module can be by hardware realizations, can also be by hard Part performs corresponding software and realizes.
5th aspect, a kind of message processing apparatus is provided, including interface, memory and processor, the interface be used for Storage subsystem communicates, and for the memory for storing software program, the processor is stored in the memory by operation In software program, perform the message treatment method in any possible realization method of first aspect or first aspect.
6th aspect, a kind of message processing apparatus is provided, including interface, memory and processor, the interface be used for and Storage subsystem communicates, and for the memory for storing software program, the processor is stored in the memory by operation In software program, perform the message treatment method in any possible realization method of second aspect or second aspect.
7th aspect, provides a kind of computer readable storage medium, finger is stored in the computer readable storage medium It enables, when run on a computer so that the computer performs any possibility of above-mentioned first aspect or first aspect Message treatment method in realization method.
Eighth aspect provides a kind of computer readable storage medium, finger is stored in the computer readable storage medium It enables, when run on a computer so that the computer performs any possibility of above-mentioned second aspect or second aspect Message treatment method in realization method.
9th aspect, provides a kind of storage system, and including host and storage subsystem, the host is for performing above-mentioned the On the one hand or the message treatment method in any possible realization method of first aspect, the storage subsystem are used to perform State the message treatment method in any possible realization method of second aspect or second aspect.
Description of the drawings
Fig. 1 is a kind of composition figure of storage system provided by the embodiments of the present application;
Fig. 2 is a kind of structure chart of host 20 provided by the embodiments of the present application;
Fig. 3 is a kind of structure chart of storage subsystem 30 provided by the embodiments of the present application;
Fig. 4 is the flow chart of message treatment method provided by the embodiments of the present application;
Fig. 5 is a kind of block diagram of message processing apparatus provided by the embodiments of the present application;
Fig. 6 is the block diagram of another message processing apparatus provided by the embodiments of the present application;
Fig. 7 is the block diagram of another message processing apparatus provided by the embodiments of the present application;
Fig. 8 is the block diagram of another message processing apparatus provided by the embodiments of the present application.
Specific embodiment
Below in conjunction with attached drawing, the technical solution in the embodiment of the present application is described.
Fig. 1 is referred to, Fig. 1 is a kind of composition figure of storage system provided by the embodiments of the present application, as shown in Figure 1, this Shen Please embodiment provide storage system include client 10, host 20 and storage subsystem 30, between client 10 and host 20 Communication.User sends access request by client 10 to host 20, and access request can be write access request or read access Request or management access request.It communicates between host 20 and storage subsystem 30.Storage subsystem 30 can lead to host 20 Cross the connection of peripheral interconnection standard (Peripheral Component Interconnect Express, PCIE) bus.It is main After machine 20 receives the access request of the transmission of client 10, storage subsystem 30 is accessed.
Host 20 can be any computing device, such as server, desktop computer, server can be highly dense services Device either rack server or blade server.
Storage subsystem 30 is used to provide storage service for host 20.
In the prior art, host 20 reads after AER completes information and creates Get Log Page orders again, then will Get Log Page orders are stored in Admin SQ.Due to the administration order in Admin SQ be serial process mechanism, host 20 need by Admin SQ Get Log Page orders it is previously stored be not suitable for asynchronous message treatment mechanism other After the completion of administration order processing, Get Log Page orders could be sent to storage subsystem 30, Get Log Page is caused to order The processing delay of order is longer, reduces the treatment effeciency of asynchronous event request.
The embodiment of the present application provides a kind of message treatment method, is performed by host 20, host 20 is getting asynchronous response It after information, such as gets after AER completes information, creates asynchronous result and obtain order, the asynchronous result obtains order and includes Asynchronous result obtains request.Host 20 preserves the asynchronous result and obtains order to asynchronous submission queue, sends the asynchronous knot Fruit obtains order to storage subsystem 30.The asynchronous result obtains order instruction storage subsystem 30 and sends asynchronous process knot Fruit.Host 20 is by obtaining the asynchronous completion acquisition of information asynchronous process of the transmission of storage subsystem 30 as a result, described asynchronous It completes information and includes asynchronous process result.In the present embodiment, the memory of the host 20 includes management submission queue (Admin SQ) and the asynchronous submission queue, it is two independent teams that queue and the asynchronous submission queue are submitted in the management Row.Therefore, the asynchronous result of establishment is obtained order, such as Get Log Page orders by host 20, is stored in and Admin SQ In another independent queue.In this way, obtaining order in Admin SQ without preserving asynchronous result, avoiding will be in Admin SQ After the completion of previously stored other administration orders processing for not being suitable for asynchronous message treatment mechanism of Get Log Page orders, Get Log Page orders are retransmited to storage subsystem 30, cause the processing delay of Get Log Page orders is longer to ask Topic improves the treatment effeciency of asynchronous event request.
The host 20 in the storage system shown in Fig. 1 and the structure of storage subsystem 30 are carried out respectively below exemplary Ground describes.
Fig. 2 is referred to, Fig. 2 is a kind of structure chart of host 20 provided by the embodiments of the present application.As shown in Fig. 2, this implementation The host 20 that example provides includes interface 21, processor 22, communication bus 23 and memory 24.Interface 21, processor 22 and storage Device 24 is connected by communication bus 23.Communication bus 23 can be PCIE buses.Processor 22 and memory 24 can be included in In one control module.
Interface 21, for receiving or sending information.Interface 21 can be the network interface for supporting Ether protocoll (Ethenet) (Network Interface, NI) interface either based on InfiniBand agreements or other can realize that RDMA etc. can be achieved Remotely directly access the interface of the agreement of memory.
Processor 22 can be realized by central processing unit.Central processing unit can be any calculating device, can be logical With central processing unit (CPU), microprocessor, programmable processor, application-specific integrated circuit (application-specific Integrated circuit, ASIC) or one or more integrated circuits for above scheme program to be controlled to perform.
Processor 22 is host 20 " brain ", for receiving, handling the order of the transmission of client 10 or information.
Memory 24 can be used as the memory of host 20, and spatial cache is provided for the application on host 20.
Memory 24 mainly includes storing program area and storage data field.Wherein, storing program area can storage program area, Application program needed at least one function, for example send response message etc.;It is pending that storage data field can store application program Data.Memory 24 can include volatile memory (Volatile Memory), for example, random access memory (Random-Access Memory, RAM);The memory can also include nonvolatile memory (non-volatile Memory), for example, read-only memory (Read-Only Memory, ROM), flash memory (Flash Memory), hard disk (Hard Disk Drive, HDD), solid state disk (Solid-State Drive, SSD), magnetic disk storage medium or other deposit It stores up subsystem 30 or can be used in carrying or store the desired program code with instruction or data structure form and simultaneously can Any other medium accessed by the network equipment, but not limited to this.
Memory 24 is additionally operable to storage software program and application module.Processor 22 is stored in by running or performing Software program and/or application module in reservoir 24 and call the data being stored in memory 24, perform various functions and Handle data.Optionally, memory 24, which has, protects Electricity Functional, when guarantor's Electricity Functional refers to that system generation power down powers on again, deposits The data stored in reservoir 24 will not lose.Memory 24 can there are one or it is multiple.
In the present embodiment, memory 24, for storing instruction, data or information.In specific implementation, as one kind Embodiment, central processing unit can include one or more CPU.Central processing unit is stored in the software of memory 24 by operation Program and application module, so as to perform various functions application.
In addition, if host 20 is preserved in the information such as data or instruction to memory 24, host 20 passes through buffer control Unit is (attached to be not shown in figure) to be preserved in the information such as data or instruction to memory 24, and caching control unit is in processor 22 It is connect with memory 24 by rambus.Alternatively, in other realization methods, caching control unit outside processor 22, It is connect respectively with memory 24 and processor 22, caching control unit connects the memory 24 by rambus.Caching control Unit processed is located in host 20.
Below based on the structure of host 20 shown in Fig. 2, the effect of the component part in host 20 is described.
In host 20, processor 22, the part when host 20 initializes for applying in memory 24 stores empty Between, to create queue.
It is transmitting terminal with host 20, the flow direction sent and received according to information, queue includes submitting queue and completes queue, Queue is submitted to be used to preserve the order of the submission of host 20, completes queue for preserving the completion information or the response that are sent to host 20 Information.
According to stored type is protected, queue includes Admin queues, I/O queue, IOQ.Admin queues are believed for preservation management Breath, I/O queue, IOQ are used to preserve I/O information.In Admin queues, the Admin queues include an Admin SQ and one Admin CQ.Admin SQ are used to preserve the administration order of the submission of host 20, and Admin CQ carry for preserving storage subsystem 30 Information is completed in the administration order of friendship.In I/O queue, IOQ, I/O queue, IOQ includes at least one I/O SQ and at least one I/O CQ.It is more A I/O SQ can be corresponding with an I/O CQ queue.I/O SQ in IO queues are used to preserve the I/O orders of the submission of host 20, Information is completed in the I/O orders that I/O CQ in IO queues are used to preserve the submission of storage subsystem 30.
In the embodiment of the present application, queue further includes asynchronous queue.Asynchronous queue, Admin queues and I/O queue, IOQ are three Independent queue.In the embodiment of the present application, asynchronous queue is used to preserve asynchronous event information.
In the embodiment of the present application, asynchronous queue includes asynchronous submission queue and asynchronous completion queue.Asynchronous submission queue For preserving asynchronous event order, asynchronous completion queue completes information for preserving asynchronous event.It is described management submit queue and The asynchronous submission queue is two independent submission queues, it is asynchronous complete queue and management to complete queue independent complete for two Into queue.
In the embodiment of the present application, asynchronous submission queue is used to preserve asynchronous event order, the type of asynchronous event order It obtains and orders including asynchronous result, asynchronous result obtains order and is used to indicate the transmission asynchronous process result of storage subsystem 30 to master Machine 20.Asynchronous result, which obtains to order, includes asynchronous result acquisition request and asynchronous event mark, and asynchronous event identifies to represent The asynchronous result obtains order and belongs to asynchronous event order.
In the embodiment of the present application, the type of asynchronous event order further includes asynchronous process order, the asynchronous submission team Row can be also used for preserving asynchronous process order.Asynchronous process order is used to indicate storage subsystem 30 and monitors asynchronous event, example Such as monitor the asynchronous event of storage subsystem 30.Asynchronous process order includes asynchronous process request and asynchronous event mark, asynchronous Event identifier is used to represent that the asynchronous process order belongs to asynchronous event order.
A part of memory space in the memory 24 that processor 22 is applied when host 20 initializes, which includes management, to be submitted Queue storage space and IO queue storage spaces are completed in queue storage space, management.The management submits queue storage space to use In for it is described management submit queue memory space is provided.Management is completed queue storage space and is carried for completing queue for the management For memory space.IO queue storage spaces are used to provide memory space for IO queues.
In the embodiment of the present application, the processor 22 of host 20 is for creating asynchronous queue, specifically, initial in host 20 During change, a part of memory space in the memory 24 that processor 22 is applied further includes first object memory space and the second target Memory space, the first object memory space are used to provide memory space, the storage of the second target for the asynchronous submission queue Space is used to provide memory space for asynchronous completion queue.
In the embodiment of the present application, it after the application to first object memory space of processor 22 of host 20, is additionally operable to obtain The address of first object memory space, and create asynchronous submission queue identity.Then, the first object memory space is preserved Address and the asynchronous correspondence submitted between queue identity.The processor 22 of host 20 is applied to the second target storing empty Between after, obtain the address of the second target storage space, and create asynchronous completion queue identity.Then, second target is preserved The address of memory space and the asynchronous correspondence completed between queue identity.
In this way, processor 22 preserve asynchronous event order to it is asynchronous submission queue when, can be according to asynchronous submission queue Mark determines the address of the first object memory space, according to the address of the first object memory space, preserves described different It walks in event command to the first object memory space, to preserve asynchronous event order to asynchronous submission queue.
The processor 22 of host 20 obtains the address of the second target storage space, and after creating asynchronous completion queue identity, Can send the second target storage space address and it is asynchronous completion queue identity to storage subsystem 30, protected by storage subsystem 30 Deposit the address of the second target storage space and the asynchronous correspondence for completing queue identity.In this way, storage subsystem 30 is preserving When asynchronous event completes information to asynchronous completion queue, it can determine that second target stores according to asynchronous completion queue identity The address in space according to the address of second target storage space, preserves the asynchronous event and completes information to described second In target storage space, information is completed to asynchronous completion queue to preserve asynchronous event.
After processor 22 creates asynchronous queue by above-mentioned effect, it is additionally operable to create asynchronous event mark.Processor 22 is also For preserving the asynchronous event mark and the asynchronous correspondence submitted between queue identity.In this way, processor 22 exists When preserving asynchronous event order to asynchronous submission queue, the asynchronous event mark in asynchronous event order determines asynchronous submission Queue identity, and then determine to preserve the asynchronous submission queue of asynchronous event order.
After processor 22 creates asynchronous event mark, it is additionally operable to transmission asynchronous event and identifies to storage subsystem 30, by depositing Storage subsystem 30 preserves the asynchronous event mark and the asynchronous correspondence submitted between queue identity.In this way, processing Device 22 completes the asynchronous event mark in information when preserving asynchronous event completion information to asynchronous completion queue according to asynchronous event Know and determine asynchronous completion queue identity, and then determine to preserve the asynchronous completion queue that asynchronous event completes information.
Processor 22 is additionally operable to create asynchronous event order before asynchronous event order to asynchronous submission queue is preserved.
Processor 22 is additionally operable to send the asynchronous event order to storage subsystem 30, is additionally operable to obtain storage The asynchronous event that system 30 is sent completes information.
If asynchronous event order obtains order for asynchronous result, the asynchronous event that the storage subsystem 30 is sent is complete Include asynchronous process result into information.
If asynchronous event order is asynchronous process order, the asynchronous event that the storage subsystem 30 is sent completes letter Breath includes asynchronous response information.Alternatively, in other realization methods, the asynchronous event that the storage subsystem 30 is sent completes letter Breath not only includes asynchronous response information, further includes asynchronous process result.It is asynchronous that information transmission is completed by an asynchronous event Response message and asynchronous process result are to host 20.
In a kind of embodiment of the application, processor 22 first creates AER orders, and AER orders can be preserved to asynchronous and be carried It hands in queue or Admin SQ.For example, AER orders are as one kind in the asynchronous event order in the embodiment of the present application, then AER Order can be stored in asynchronous submission queue.If AER orders are not as in the asynchronous event order in the embodiment of the present application One kind, then AER orders can be stored in Admin SQ.Then processor 22 sends asynchronous process order to storage subsystem 30.After asynchronous event generation, asynchronous event is returned to by storage subsystem 30 and completes information to host 20.
Asynchronous event, which completes information, can include asynchronous response information or further include asynchronous process result.
If the asynchronous event that storage subsystem 30 returns, which completes information, includes asynchronous response information, processor 22 is also used Order is obtained in creating asynchronous result, the asynchronous result is preserved and obtains order to the asynchronous submission queue, send described different It walks result and obtains the asynchronous completion information ordered and to storage subsystem 30, obtain the transmission of storage subsystem 30, it is described asynchronous It completes information and includes asynchronous process result.
If the asynchronous event that storage subsystem 30 returns, which completes information, not only includes asynchronous response information, further include asynchronous Handling result, then processor 22 do not need to create asynchronous result obtain order.
Fig. 3 is referred to, Fig. 3 is a kind of structure chart of storage subsystem 30 provided by the embodiments of the present application, as shown in figure 3, Storage subsystem 30 provided in this embodiment, including interface 31, main controller 32, memory 33 and storage medium 34.In storage It in system 30, is communicated between main controller 32, memory 33, interface 31 by communication bus, such as communication bus can be PCIE Bus.
In the present embodiment, main controller 32 and processor 22 are connected by communication bus 23, such as communication bus can be with It is PCIE buses.
Storage subsystem 30 is nonvolatile memory, such as solid state disk.Solid state disk can be with PCIE interfaces Either with SATA (Serial Advanced Technology Attachment) interfaces or with PATA (Parallel Advanced Technology Attachment) interface solid state disk.Storage subsystem 30 is according to preset standard agreement Realize store function, the preset standard agreement includes nonvolatile random access memory specification (English:Non- Volatile Memory Express, NVME) agreement or nonvolatile random access memory across a network specification (English: Non-Volatile Memory Express over Fabric, NVMe-oF) agreement.In the present embodiment, subsystem is stored System 30, for storing data or information, preset standard agreement is NVME agreements, and storage subsystem 30 has PCIE interfaces Solid state disk (English:Peripheral Component Interconnect Express solid state disk, PCIE SSD)。
As shown in figure 3, in storage subsystem 30, main controller 32 can be realized by central processing unit.Central processing unit It can be any calculating device, can be general central processor (CPU), microprocessor, programmable processor, specific application collection It is used for more than control into circuit (application-specific integrated circuit, ASIC) or one or more The integrated circuit that scheme processes perform.
Interface 31 is used for and host 20 communicates.Interface 31 is used to receiving or sending information.Interface 31 can be to support ether The network interface (Network Interface, NI) of agreement (Ethenet) or the interface based on InfiniBand agreements or Person other can realize the interface of the achievable long-range agreement for directly accessing memory such as RDMA.
Main controller 32, for receiving, handling the order of the transmission of host 20 or information.
Memory 33 can be used as the memory of storage subsystem 30, and caching is provided for the application in storage subsystem 30 Space.
Memory 33 mainly includes storing program area and storage data field.Wherein, storing program area can storage program area, Application program needed at least one function, for example send response message etc.;It is pending that storage data field can store application program Data.Memory 33 can include volatile memory (Volatile Memory), for example, random access memory (Random-Access Memory, RAM);The memory can also include nonvolatile memory (non-volatile Memory), for example, read-only memory (Read-Only Memory, ROM), flash memory (Flash Memory), hard disk (Hard Disk Drive, HDD), solid state disk (Solid-State Drive, SSD), magnetic disk storage medium or other deposit It stores up subsystem 30 or can be used in carrying or store the desired program code with instruction or data structure form and simultaneously can Any other medium accessed by the network equipment, but not limited to this.
Memory 33 is additionally operable to storage software program and application module.Main controller 32 is stored in by running or performing Software program and/or application module in reservoir 33 and call the data being stored in memory 33, perform various functions and Handle data.Optionally, memory 33, which has, protects Electricity Functional, when guarantor's Electricity Functional refers to that system generation power down powers on again, deposits The data stored in reservoir 33 will not lose.Memory 33 can there are one or it is multiple.
In the present embodiment, memory 33, for storing instruction, data or information.In specific implementation, as one kind Embodiment, central processing unit can include one or more CPU.Central processing unit is stored in the software of memory 33 by operation Program and application module, so as to perform various functions application.
In addition, if storage subsystem 30 is preserved in the information such as data or instruction to memory 33, main controller 32 passes through Caching control unit is (attached to be not shown in figure) to be preserved in the information such as data or instruction to memory 33, and caching control unit is in master It is connect in control device 32 with memory 33 by rambus.Alternatively, in other realization methods, caching control unit is in main controller It outside 32, is connect respectively with memory 33 and main controller 32, caching control unit connects the memory 33 by rambus. Caching control unit is located in storage subsystem 30.
Storage medium 34 generally includes one or more flash chips.Storage medium 34, for storing data.
With reference to storage system shown in FIG. 1, host 20 shown in Fig. 2 and storage subsystem shown in Fig. 3 30, description Message treatment method provided by the embodiments of the present application.Fig. 4 is referred to, Fig. 4 is message treatment method provided by the embodiments of the present application Flow chart.As shown in figure 4, in message treatment method provided by the embodiments of the present application, following steps 400 to 450 and step 470-491 and step 493 can be performed by the processor 22 in host 20 or host 20, and following steps 460 and 492 can be by depositing Main controller 32 in storage subsystem 30 or storage subsystem 30 performs.Message treatment method shown in Fig. 4 specifically includes following step Suddenly:
400th, host 20 creates asynchronous submission queue and asynchronous completion queue.
In step 400, processor 22 applies for that first object memory space in memory 24 and the second target are deposited first Space is stored up, the first object memory space is used to provide memory space for the asynchronous submission queue, and the storage of the second target is empty Between be used for for it is asynchronous complete queue memory space is provided.
After the application to first object memory space of processor 22 of host 20, the address of first object memory space is obtained, And create asynchronous submission queue identity.Then, the address of the first object memory space and the asynchronous submission queue are preserved Correspondence between mark.
The processor 22 of host 20 is applied to after the second target storage space, obtains the address of the second target storage space, And create asynchronous completion queue identity.Then, the address of second target storage space and the asynchronous completion queue are preserved Correspondence between mark.After host 20 creates asynchronous completion queue identity, the address of the second target storage space can be sent With the asynchronous completion queue identity to storage subsystem 30, the address of the second target storage space is preserved by storage subsystem 30 With the asynchronous correspondence for completing queue identity.
410th, host 20 creates asynchronous event mark.
After host 20 has created asynchronous queue's (asynchronous submission queue and asynchronous completion queue) by step 400, create different Walk event identifier.
After host 20 creates asynchronous event mark by step 410, the asynchronous event can be sent and identified to storage subsystem System 30 preserves the asynchronous event mark and the asynchronous correspondence completed between queue identity by storage subsystem 30, Or the correspondence between the asynchronous event mark and the address of second target storage space.
420th, host 20 preserves the asynchronous event mark and the asynchronous correspondence submitted between queue identity.
In a kind of optional realization method, host 20 can also preserve the asynchronous event mark and the first object Correspondence between the address of memory space.The asynchronous event mark can be consistent with the asynchronous submission queue identity It can be inconsistent.
430th, host 20 creates asynchronous process order.The asynchronous process order is asked including asynchronous process.
Host 20 can create asynchronous process request, encapsulate the asynchronous process request and asynchronous event mark, obtain Obtain the asynchronous process order.
One type of asynchronous process order can be AER orders specified in NVME agreements, and AER orders include AER Request.
440th, host 20 preserves the asynchronous process order to asynchronous submission queue.
In step 440, since host 20 preserves asynchronous event mark and asynchronous submission team in step 420 before in advance The correspondence of mark is arranged, therefore, host 20 can be asynchronous according to the asynchronous event identity validation in the asynchronous process order Submit queue identity.Since host 20 preserves asynchronous submission queue identity and first object storage sky in step 400 in advance Between address between correspondence, therefore host 20 confirm it is asynchronous submission queue identity after, can be according to asynchronous submission queue The address of first object memory space described in identity validation, and then according to the address of the first object memory space, preserve institute It states in asynchronous process order to the first object memory space, to realize the asynchronous process order to asynchronous submission queue It preserves.
450th, host 20 sends the asynchronous process order to storage subsystem 30.
In step 450, the optional realization of one kind that host 20 sends the asynchronous process order to storage subsystem 30 Mode is, after host 20 preserves the asynchronous process order to asynchronous submission queue in step 440, update with it is described asynchronous Submit queue and with the value in the 30 corresponding doorbell registers of storage subsystem, the value in doorbell registers The first interrupt signal can be triggered after update to storage subsystem 30, storage subsystem 30 receive after the first interrupt signal from Asynchronous process order is read in the corresponding asynchronous submission queue of doorbell registers.Storage subsystem 30 can pre-save The address of doorbell registers and the asynchronous correspondence submitted between queue identity.Such storage subsystem 30 receives the It can be according to the asynchronous submission queue identity of Address Confirmation of doorbell registers, according to asynchronous submission queue mark after one interrupt signal Know and confirm asynchronous submission queue, and then the asynchronous process order is obtained from asynchronous submission queue.
After storage subsystem 30 gets asynchronous process order, if there is asynchronous event occurs, then 30 meeting of storage subsystem Asynchronous response information is created, asynchronous response information is then back to host 20, host 20 to be notified to start asynchronous event monitoring.I.e. Perform following steps 460-461.
460th, storage subsystem 30 creates asynchronous response information.
When storage subsystem 30 creates asynchronous response message, storage subsystem 30 can encapsulate asynchronous event and identify to asynchronous sound It answers in message.Such storage subsystem 30 can be identified according to the asynchronous event in asynchronous response message and be determined and the asynchronous thing Part identifies corresponding asynchronous completion queue identity, then confirms asynchronous completion queue according to the asynchronous completion queue identity, with The asynchronous response information is preserved into the asynchronous completion queue.
470th, host 20 obtains the asynchronous response information that the storage subsystem 30 is sent.
In step 470, host 20 obtains the one kind for the asynchronous response information that the storage subsystem 30 is sent optionally Realization method is that host 20 obtains the asynchronous response information that the storage subsystem 30 is sent from asynchronous completion queue.Host Before 20 obtain the asynchronous response information that the storage subsystem 30 is sent from asynchronous completion queue, 30 step of storage subsystem Preservation asynchronous response message details described in 460 preserve asynchronous response information to asynchronous completion queue.Then, subsystem is stored System 30 can update it is asynchronous complete queue head pointers value, it is asynchronous complete queue head pointer value be updated after can trigger second To host 20, host 20 receives after the second interrupt signal from corresponding asynchronous with the asynchronous head pointer for completing queue interrupt signal It completes to read asynchronous response information in queue.Host 20 can pre-save it is asynchronous complete queue head pointer address with it is asynchronous complete Into the correspondence between queue identity.Such host 20 can be according to the asynchronous head for completing queue after receiving the second interrupt signal The asynchronous completion queue identity of Address Confirmation of pointer confirms that queue, Jin Ercong are handed in asynchronous completion according to asynchronous completion queue identity The asynchronous response information that the storage subsystem 30 is sent is obtained in asynchronous completion queue.
480th, host 20 creates asynchronous result and obtains order.The asynchronous result acquisition order includes asynchronous result acquisition please It asks.
After host 20 receives asynchronous response information, create asynchronous result and obtain order.It creates asynchronous result and obtains order A kind of mode be that host 20 creates asynchronous result and obtains request, encapsulate the asynchronous result and obtain request and asynchronous event mark Know, obtain asynchronous result and obtain order.
490th, host 20 preserves the asynchronous result and obtains order to the asynchronous submission queue.
In step 490, it is optional that host 20 preserves one kind that asynchronous result obtains order to the asynchronous submission queue Realization method is, in step 440, since host 20 preserves asynchronous event mark and asynchronous submission team in step 420 in advance The correspondence of mark is arranged, therefore, the asynchronous event that host 20 can obtain in reason order according to the asynchronous result identifies true Recognize asynchronous submission queue identity.Since host 20 preserves asynchronous submission queue identity and first object in step 400 in advance Correspondence between the address of memory space, thus host 20 confirm it is asynchronous submission queue identity after, can be carried according to asynchronous Queue identity is handed over to confirm the address of the first object memory space, and then according to the address of the first object memory space, It preserves the asynchronous result to obtain in order to the first object memory space, to realize that the asynchronous result obtains order extremely The asynchronous preservation for submitting queue.
491st, host 20 sends the asynchronous result and obtains order to storage subsystem 30.
In step 491, it is optional that host 20 sends one kind that the asynchronous result obtains order to storage subsystem 30 Realization method is, host 20 is preserved in step 490 after the asynchronous result obtains order to asynchronous submission queue, update with It is described it is asynchronous submission queue and with the value in the 30 corresponding doorbell registers of storage subsystem, doorbell deposit The first interrupt signal can be triggered to storage subsystem 30 after value update in device, and storage subsystem 30 receives the first interrupt signal Asynchronous result is read from asynchronous submission queue corresponding with doorbell registers obtain order afterwards.Storage subsystem 30 can be pre- First preserve the address of doorbell registers and the asynchronous correspondence submitted between queue identity.Such storage subsystem 30 connects Receiving can be according to the asynchronous submission queue identity of Address Confirmation of doorbell registers, according to asynchronous submission after the first interrupt signal Queue identity confirms asynchronous submission queue, and then obtains the asynchronous result from asynchronous submission queue and obtain order.
492nd, it after storage subsystem 30 obtains the asynchronous result acquisition order, is created according to asynchronous process result asynchronous complete Into information.
Asynchronous process result handles the result of asynchronous event for storage system.Storage subsystem 30 creates asynchronous completion information When, storage subsystem 30 can encapsulate asynchronous event mark and asynchronous process as a result, obtaining asynchronous completion information.In this way, storage System 30 can determine corresponding asynchronous complete with asynchronous event mark according to the asynchronous event mark in asynchronous completion information Into queue identity, asynchronous completion queue is then confirmed according to the asynchronous completion queue identity, by the asynchronous completion information It preserves into the asynchronous completion queue.
493rd, the asynchronous completion information that the storage subsystem 30 is sent is obtained.The asynchronous completion information includes asynchronous place Manage result.
In step 493, one kind that host 20 obtains the asynchronous completion information that the storage subsystem 30 is sent is optional Realization method is that host 20 obtains the asynchronous completion information that the storage subsystem 30 is sent from asynchronous completion queue.Host Before 20 obtain the asynchronous completion information that the storage subsystem 30 is sent from asynchronous completion queue, 30 basis of storage subsystem The asynchronous details for completing information of preservation described in step 492 preserves asynchronous completion information to asynchronous completion queue.Then, Storage subsystem 30 can update it is asynchronous complete queue head pointer value, it is asynchronous complete queue head pointer value be updated after meeting The second interrupt signal is triggered to host 20, host 20 receive after the second interrupt signal from the asynchronous head pointer pair for completing queue Asynchronous completion information is read in the asynchronous completion queue answered.Host 20 can pre-save the address of the asynchronous head pointer for completing queue With the correspondence between asynchronous completion queue identity.Such host 20 can be according to asynchronous completion after receiving the second interrupt signal The asynchronous completion queue identity of Address Confirmation of the head pointer of queue confirms that team is handed in asynchronous completion according to asynchronous completion queue identity Row, and then the asynchronous completion information that the storage subsystem 30 is sent is obtained from asynchronous completion queue.
In the mode realized in method based on shown in Fig. 4, step 400 to 470 describes the asynchronous of the establishment of host 20 Processing order is stored in the asynchronous submission queue created according to method provided by the embodiments of the present application, host 20 and storage The interaction flow of system 30.In other realization methods, host 20 create asynchronous process order can also be stored in it is asynchronous In the Admin SQ for submitting queue independence.The asynchronous process order that Intrusion Detection based on host 20 creates is stored in independent with asynchronous submission queue Admin SQ realization method, the details of the interaction flow of host 20 and storage subsystem 30 can be with step shown in Fig. 4 400 to 470, specific implementation flow is similar, and details are not described herein.
In the mode realized in method based on shown in Fig. 4, step 400 to 450 describes the asynchronous of the establishment of host 20 Processing order is stored in the asynchronous submission queue created according to method provided by the embodiments of the present application, host 20 and storage The interaction flow of system 30, after step 450, storage subsystem 30 returns to asynchronous response information to host 20, then host 20 send order to ask the handling result of asynchronous event to storage subsystem 30 again, obtain the mistake of the handling result of asynchronous event Journey is complicated.The method that the embodiment of the present application provides another handling result for returning to asynchronous event, that is, be different from shown in Fig. 4 Step 460-493, in other realization methods, after host 20 sends the asynchronous process order to storage subsystem 30, if There is asynchronous event, then after storage subsystem 30 can wait for asynchronous event handling result to generate, then create asynchronous event completion Information, the asynchronous event complete information and include asynchronous event response message and asynchronous process as a result, being then back to asynchronous event Information is completed to host 20.I.e. storage subsystem 30 does not first return to asynchronous response information, etc. asynchronous events handling result generation Afterwards, asynchronous process result and asynchronous response information are returned into host 20 together.In this implementation, storage subsystem 30 It returns after asynchronous event completes information, host 20 does not need to retransmit asynchronous result then and obtains order to storage subsystem 30, i.e., It does not need to perform step 480-490 shown in Fig. 4.
Following is the application device embodiment, can be used for performing the application embodiment of the method.For the application device reality The details not disclosed in example is applied, please refers to the application embodiment of the method.
The message processing apparatus structure in host 20 is introduced explanation in following Fig. 5 and Fig. 6, following Fig. 7 and Fig. 8 are real It applies in example, explanation is introduced to the structure of the message processing apparatus in storage subsystem 30.
Fig. 5 is please referred to, Fig. 5 is a kind of block diagram of message processing apparatus provided by the embodiments of the present application.The message Processing unit 500 is deployed in host 20.The message processing apparatus 500 has the work(for realizing the host 20 in above method example Can, the function by hardware can also be performed corresponding software and be realized by hardware realization.
The message processing apparatus includes:Creation module 510, processing module 520 and transceiver module 530.The establishment mould The effect of block 510 and the processing module 520 can be realized, the receipts by the processor 22 in the host 20 shown in Fig. 2 Send out the interface realization that module 530 can be as shown in Figure 2.
Wherein, creation module 510, for creating asynchronous event order.Processing module 520, for preserving the asynchronous thing To asynchronous submission queue, the memory of the host 20 includes management and submits queue and the asynchronous submission queue, described for part order It is two independent queues that queue and the asynchronous submission queue are submitted in management.Transceiver module 530, for sending the asynchronous thing Part order obtains the asynchronous event that the storage subsystem 30 is sent and completes information to storage subsystem 30.
Based on embodiment illustrated in fig. 5, in an alternative embodiment, the creation module 510 is additionally operable to create asynchronous completion Queue.The transceiver module 530 is additionally operable to preserve the asynchronous event in the storage subsystem 30 and completes information to described different After step completes queue, the asynchronous event completion information is obtained from the asynchronous completion queue.
In another alternative embodiment, the creation module 510 is additionally operable to create asynchronous submission queue.
In another alternative embodiment, the creation module 510 is additionally operable to create asynchronous result acquisition order, described different Step result obtains order and includes asynchronous result acquisition request, and the asynchronous event completes information and includes asynchronous process result.
In another alternative embodiment, the creation module 510 is additionally operable to create asynchronous process order, the asynchronous place Reason order includes asynchronous process request, and the asynchronous event completes information and includes asynchronous response information.
In another alternative embodiment, the asynchronous event completes information and further includes asynchronous process result.
In another alternative embodiment, the creation module 510 is additionally operable to create asynchronous result acquisition order, described different Step result obtains order and includes asynchronous result acquisition request.The processing module 520 is additionally operable to preserve the asynchronous result acquisition It orders to the asynchronous submission queue.The transceiver module 530 is additionally operable to send the asynchronous result acquisition order to storage System 30 obtains the asynchronous result that the storage subsystem 30 is sent from asynchronous completion queue and completes information, the asynchronous knot Fruit completes information and includes asynchronous process result.
In another alternative embodiment, the creation module 510, be additionally operable to obtain first object memory space address, And create asynchronous submission queue identity;The first object memory space is used to provide storage sky for the asynchronous submission queue Between, the memory of the host 20 includes the first object memory space and queue storage space is submitted in management, and the management carries Queue storage space is handed over to be used to queue be submitted to provide memory space for the management.The creation module 510 is additionally operable to preserve institute State the address of first object memory space and the asynchronous correspondence submitted between queue identity.
In another alternative embodiment, the creation module 510 is additionally operable to create asynchronous event mark, preserve described different Walk event identifier and the asynchronous correspondence submitted between queue identity.
The creation module 510 is additionally operable to create asynchronous event request, encapsulates asynchronous event request and described asynchronous Event identifier obtains asynchronous event order.The processing module 520 is additionally operable to according to the asynchronous event identity validation Asynchronous submission queue.
In another alternative embodiment, the creation module 510 is additionally operable to according to confirming asynchronous submission queue identity The address of first object memory space.The processing module 520 is additionally operable to the address according to the first object memory space, The asynchronous result is preserved to obtain in order to the first object memory space.
Based on illustrated embodiment shown in fig. 5, in an alternative embodiment, Fig. 6 is referred to, Fig. 6 is the embodiment of the present application The block diagram of another message processing apparatus of offer.Unlike message processing apparatus shown in fig. 5, this realization side In formula, the creation module 510 is also connect with the transceiver module 530, the creation module 510, is additionally operable to obtain the second mesh The address of memory space is marked, creates asynchronous completion queue identity;Second target storage space is used for as the asynchronous completion Queue provides memory space, and the memory of the host 20 includes second target storage space and management completion queue storage is empty Between, the management completes queue storage space and is used to provide memory space for the management completion queue.The transceiver module 530, be additionally operable to send second target storage space address and the asynchronous completion queue identity to the storage subsystem System 30.
Fig. 7 is please referred to, Fig. 7 is a kind of block diagram of message processing apparatus provided by the embodiments of the present application.The message Processing unit 700 is deployed in host 20.The message processing apparatus 700 has the storage subsystem realized in above method example 30 function, the function by hardware can also be performed corresponding software and be realized by hardware realization.
The message processing apparatus includes:Processing module 710, creation module 720 and transceiver module 730.The processing mould The effect of block 710 and creation module 720 can be realized by the main controller 32 in the storage subsystem 30 shown in Fig. 3, described Transceiver module 730 can be as shown in Figure 3 interface realize.
Wherein, processing module 710, for reading asynchronous event order from asynchronous submission queue, 20 memory of host includes It manages and submits queue and the asynchronous submission queue, it is two independent that queue and the asynchronous submission queue are submitted in the management Queue.
Creation module 720 completes information for creating asynchronous event.
Transceiver module 730 is additionally operable to send the asynchronous event completion information to the host 20.
Based on embodiment illustrated in fig. 7, in an alternative embodiment, processing module 710 is additionally operable to preserve the asynchronous event Information is completed to asynchronous completion queue, 20 memory of host includes management and completes queue and the asynchronous completion queue, described It is two independent queues that queue and the asynchronous completion queue are completed in management.
Based on embodiment shown in Fig. 7, in an alternative embodiment, Fig. 8 is referred to, Fig. 8 is provided for the embodiment of the present application A kind of message processing apparatus block diagram.Unlike message processing apparatus shown in Fig. 7, in this realization method, The transceiver module 730 is additionally operable to obtain asynchronous event mark and the asynchronous corresponding pass completed between queue identity from host 20 System and the correspondence between the address of the host 20 the second target storage space of acquisition and the asynchronous completion queue identity Relationship;
The processing module 710 is additionally operable to preserve between the asynchronous event mark and the asynchronous completion queue identity Correspondence and preserve the address of second target storage space and the asynchronous correspondence completed between queue identity Relationship;
The creation module 720 is additionally operable to encapsulate the asynchronous event mark and asynchronous process as a result, obtaining asynchronous event Complete information;
The processing module 710 is additionally operable to according to the asynchronous completion queue identity of the asynchronous event identity validation, according to institute The address that asynchronous completion queue identity confirms second target storage space is stated, the asynchronous event is preserved and completes information to institute State the second target storage space.
Based on Fig. 7 or shown in Fig. 8 embodiments, in another alternative embodiment, the asynchronous event order includes asynchronous As a result order is obtained, the asynchronous event completes information and includes asynchronous process result.
Based on Fig. 7 or shown in Fig. 8 embodiments, in another alternative embodiment, the asynchronous event order includes asynchronous Processing order, the asynchronous event complete information and include asynchronous response information.In another alternative embodiment, the asynchronous event It completes information and further includes asynchronous process result.
The step of method described with reference to the embodiment of the present application disclosure can realize in a manner of hardware, can also It is that the mode of software instruction is performed by processor to realize.Software instruction can be made of corresponding software module, software module It can be stored on random access memory (Random Access Memory, RAM), flash memory, read-only memory (Read Only Memory, ROM), Erasable Programmable Read Only Memory EPROM (Erasable Programmable ROM, EPROM), electricity can Erasable programmable read-only memory (Electrically EPROM, EEPROM), register, hard disk, mobile hard disk, CD-ROM (CD-ROM) or in the storage medium of any other form well known in the art.A kind of illustrative storage medium is coupled to place Device is managed, so as to enable a processor to from the read information, and information can be written to the storage medium.Certainly, it stores Medium can also be the component part of processor.Pocessor and storage media can be located in ASIC.In addition, the ASIC can position In device.Certainly, pocessor and storage media can also be used as discrete assembly and be present in device.
Those skilled in the art it will be appreciated that in said one or multiple examples, retouched by the embodiment of the present application The function of stating can be realized with hardware, software, firmware or their arbitrary combination.It when implemented in software, can be by this A little functions storages instruct in computer-readable medium or as one or more on computer-readable medium or code into Row transmission.Computer-readable medium includes computer storage media and communication media, and wherein communication media includes being convenient for from one Any medium of computer program is transmitted to another place in place.Storage medium can be that general or specialized computer can be deposited Any usable medium taken.
It should be understood that referenced herein " multiple " refer to two or more."and/or", description association The incidence relation of object, expression may have three kinds of relationships, for example, A and/or B, can represent:Individualism A, exists simultaneously A And B, individualism B these three situations.It is a kind of relationship of "or" that character "/", which typicallys represent forward-backward correlation object,.Make herein " first ", " second " and similar word are not offered as any sequence, quantity or importance, and are used only to distinguish Different objects.
Above-described specific embodiment carries out the purpose, technical solution and advantageous effect of the embodiment of the present application It is further described, it should be understood that the foregoing is merely the specific embodiment of the embodiment of the present application, and do not have to In limit the embodiment of the present application protection domain, it is all on the basis of the technical solution of the embodiment of the present application, done it is any Modification, equivalent replacement, improvement etc. should all be included within the protection domain of the embodiment of the present application.

Claims (31)

1. a kind of message treatment method, which is characterized in that it is performed by host, including:
Create asynchronous event order;
The asynchronous event order is preserved to asynchronous submission queue, the memory of the host includes management and submits queue and described different Step submits queue, and it is two independent queues that queue and the asynchronous submission queue are submitted in the management;
The asynchronous event order is sent to storage subsystem;
It obtains the asynchronous event that the storage subsystem is sent and completes information.
2. the method as described in claim 1, which is characterized in that before the establishment asynchronous event order, further include:
Create asynchronous completion queue;
The asynchronous event completion information for obtaining the storage subsystem and sending, including:
It is preserved after the asynchronous event completes information to the asynchronous completion queue in the storage subsystem, from described asynchronous complete The asynchronous event is obtained into queue and completes information.
3. method as claimed in claim 1 or 2, which is characterized in that before the establishment asynchronous event order, further include:
Create asynchronous submission queue.
4. method as described in any one of claims 1-3, which is characterized in that the establishment asynchronous event order, including:
It creates asynchronous result and obtains order, the asynchronous result acquisition order includes asynchronous result and obtains request;
The asynchronous event completes information and includes asynchronous process result.
5. method as described in any one of claims 1-3, which is characterized in that the establishment asynchronous event order, including:
Asynchronous process order is created, the asynchronous process order is asked including asynchronous process;
The asynchronous event completes information and includes asynchronous response information.
6. method as claimed in claim 5, which is characterized in that the asynchronous event completes information and further includes asynchronous process knot Fruit.
7. method as claimed in claim 5, which is characterized in that further include:
It creates asynchronous result and obtains order, the asynchronous result acquisition order includes asynchronous result and obtains request;
It preserves the asynchronous result and obtains order to the asynchronous submission queue;
It sends the asynchronous result and obtains order to storage subsystem;
The asynchronous result that the storage subsystem is sent is obtained from asynchronous completion queue and completes information, the asynchronous result is completed Information includes asynchronous process result.
8. a kind of message treatment method, which is characterized in that applied to storage system, the storage system includes host and storage System, the method are performed by the main controller of the storage subsystem, including:
Asynchronous event order is read from asynchronous submission queue, host memory includes management and submits queue and the asynchronous submission team Row, it is two independent queues that queue and the asynchronous submission queue are submitted in the management;
It creates asynchronous event and completes information;
It sends the asynchronous event and completes information to the host.
9. method as claimed in claim 8, which is characterized in that after the establishment asynchronous event completes information, further include:It protects It deposits the asynchronous event and completes information to asynchronous completion queue, the host memory includes management and completes queue and described asynchronous complete Into queue, it is two independent queues that queue and the asynchronous completion queue are completed in the management.
10. method as claimed in claim 9, which is characterized in that described to read asynchronous event order from asynchronous submission queue Before, it further includes:
It is obtained from host and preserves the correspondence between asynchronous event mark and asynchronous completion queue identity and from the master Machine obtains and preserves the address of the second target storage space and the asynchronous correspondence completed between queue identity;
The establishment asynchronous event completes information, including:
It encapsulates the asynchronous event mark and asynchronous process completes information as a result, obtaining asynchronous event;
It is described to preserve the asynchronous event and complete information to asynchronous completion queue, including:
According to the asynchronous completion queue identity of the asynchronous event identity validation, according to confirming the asynchronous completion queue identity The address of second target storage space preserves the asynchronous event and completes information to second target storage space.
11. the method as described in claim 8-10 is any, which is characterized in that the asynchronous event order is obtained including asynchronous result Order is taken, the asynchronous event completes information and includes asynchronous process result.
12. the method as described in claim 8-10 is any, which is characterized in that the asynchronous event order is ordered including asynchronous process It enables, the asynchronous event completes information and includes asynchronous response information.
13. method as claimed in claim 12, which is characterized in that the asynchronous event completes information and further includes asynchronous process knot Fruit.
14. a kind of message processing apparatus, which is characterized in that including:
Creation module, for creating asynchronous event order;
Processing module, for preserving the asynchronous event order to asynchronous submission queue, the memory of the host includes management and carries Queue and the asynchronous submission queue are handed over, it is two independent queues that queue and the asynchronous submission queue are submitted in the management;
Transceiver module for sending the asynchronous event order to storage subsystem, obtains the different of the storage subsystem transmission Step event completes information.
15. device as claimed in claim 14, which is characterized in that
The creation module is additionally operable to create asynchronous completion queue;
The transceiver module is additionally operable to preserve the asynchronous event completion information to the asynchronous completion in the storage subsystem After queue, the asynchronous event completion information is obtained from the asynchronous completion queue.
16. the device as described in claims 14 or 15, which is characterized in that
The creation module is additionally operable to create asynchronous submission queue.
17. the device as described in claim 14-16 is any, which is characterized in that
The creation module is additionally operable to create asynchronous result acquisition order, and the asynchronous result obtains order and includes asynchronous result Request is obtained, the asynchronous event completes information and includes asynchronous process result.
18. the device as described in claim 14-16 is any, which is characterized in that the creation module is additionally operable to create asynchronous place Reason order, the asynchronous process order are asked including asynchronous process, and the asynchronous event completes information and includes asynchronous response information.
19. device as claimed in claim 18, which is characterized in that the asynchronous event completes information and further includes asynchronous process knot Fruit.
20. device as claimed in claim 18, which is characterized in that
The creation module is additionally operable to create asynchronous result acquisition order, and the asynchronous result obtains order and includes asynchronous result Obtain request;
The processing module is additionally operable to preserve the asynchronous result acquisition order to the asynchronous submission queue;
The transceiver module is additionally operable to send the asynchronous result acquisition order to storage subsystem, from asynchronous completion queue It obtains the asynchronous result that the storage subsystem is sent and completes information, the asynchronous result completes information and includes asynchronous process knot Fruit.
21. a kind of message processing apparatus, which is characterized in that including:
Processing module, for from it is asynchronous submission queue in read asynchronous event order, host memory include management submit queue and The asynchronous submission queue, it is two independent queues that queue and the asynchronous submission queue are submitted in the management;
Creation module completes information for creating asynchronous event;
Transceiver module is additionally operable to send the asynchronous event completion information to the host.
22. device as claimed in claim 21, which is characterized in that
The processing module is additionally operable to preserve the asynchronous event completion information to asynchronous completion queue, the host memory packet It includes management and completes queue and the asynchronous completion queue, it is two independences that queue and the asynchronous completion queue are completed in the management Queue.
23. device as claimed in claim 22, which is characterized in that
The transceiver module is additionally operable to obtain asynchronous event mark and the asynchronous corresponding pass completed between queue identity from host System and the corresponding pass between the address of the host the second target storage space of acquisition and the asynchronous completion queue identity System;
The processing module is additionally operable to preserve the asynchronous event mark and the asynchronous corresponding pass completed between queue identity The address and the asynchronous correspondence completed between queue identity of system and preservation second target storage space;
The creation module is additionally operable to encapsulate the asynchronous event mark and asynchronous process completes letter as a result, obtaining asynchronous event Breath;
The processing module is additionally operable to according to the asynchronous completion queue identity of the asynchronous event identity validation, according to described asynchronous The address that queue identity confirms second target storage space is completed, the asynchronous event is preserved and completes information to described second Target storage space.
24. the device as described in claim 21-23 is any, which is characterized in that the asynchronous event order includes asynchronous result Order is obtained, the asynchronous event completes information and includes asynchronous process result.
25. the device as described in claim 21-23 is any, which is characterized in that the asynchronous event order includes asynchronous process Order, the asynchronous event complete information and include asynchronous response information.
26. device as claimed in claim 25, which is characterized in that the asynchronous event completes information and further includes asynchronous process knot Fruit.
27. a kind of message processing apparatus, which is characterized in that including interface, memory and processor, the interface is used for and storage Subsystem communication, for storing software program, the processor is stored in by operation in the memory memory Software program, perform claim require any message treatment method in 1-7.
28. a kind of message processing apparatus, which is characterized in that including interface, memory and processor, the interface is used for and stores Subsystem communication, for storing software program, the processor is stored in by operation in the memory memory Software program, perform claim require any message treatment method in 8-13.
29. a kind of computer readable storage medium, which is characterized in that instruction is stored in the computer readable storage medium, When run on a computer so that the computer performs any message treatment method in the claims 1-7.
30. a kind of computer readable storage medium, which is characterized in that instruction is stored in the computer readable storage medium, When run on a computer so that the computer performs any message treatment method in the claims 8-13.
31. a kind of storage system, including host and storage subsystem, the host is any in such as claim 1-7 for performing Message treatment method, the storage subsystem is for any message treatment method in execution such as claim 8-13.
CN201711487272.9A 2017-12-29 2017-12-29 A kind of message treatment method, apparatus and system Withdrawn CN108196794A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711487272.9A CN108196794A (en) 2017-12-29 2017-12-29 A kind of message treatment method, apparatus and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711487272.9A CN108196794A (en) 2017-12-29 2017-12-29 A kind of message treatment method, apparatus and system

Publications (1)

Publication Number Publication Date
CN108196794A true CN108196794A (en) 2018-06-22

Family

ID=62587185

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711487272.9A Withdrawn CN108196794A (en) 2017-12-29 2017-12-29 A kind of message treatment method, apparatus and system

Country Status (1)

Country Link
CN (1) CN108196794A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111414198A (en) * 2020-03-18 2020-07-14 北京字节跳动网络技术有限公司 Request processing method and device
CN111488222A (en) * 2019-01-25 2020-08-04 杭州海康威视数字技术股份有限公司 Stream aggregation method and device and electronic equipment
CN113254240A (en) * 2021-06-21 2021-08-13 苏州浪潮智能科技有限公司 Method, system, device and medium for managing control device
CN113742096A (en) * 2021-07-14 2021-12-03 广州市玄武无线科技股份有限公司 Method and system for realizing event queue

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150134857A1 (en) * 2013-11-14 2015-05-14 Sandisk Technologies Inc. System and Method for I/O Optimization in a Multi-Queued Environment
CN106484549A (en) * 2015-08-31 2017-03-08 华为技术有限公司 A kind of exchange method, NVMe equipment, HOST and physical machine system
CN106716335A (en) * 2014-09-23 2017-05-24 亚马逊技术股份有限公司 Asynchronous processing of mapping information
CN107015929A (en) * 2015-10-30 2017-08-04 三星电子株式会社 The method of transmitting request and the method that order is issued in main frame in storage facilities
US10002087B1 (en) * 2016-03-31 2018-06-19 EMC IP Holding Company LLC Communication between an external processor and FPGA controller

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150134857A1 (en) * 2013-11-14 2015-05-14 Sandisk Technologies Inc. System and Method for I/O Optimization in a Multi-Queued Environment
CN106716335A (en) * 2014-09-23 2017-05-24 亚马逊技术股份有限公司 Asynchronous processing of mapping information
CN106484549A (en) * 2015-08-31 2017-03-08 华为技术有限公司 A kind of exchange method, NVMe equipment, HOST and physical machine system
CN107015929A (en) * 2015-10-30 2017-08-04 三星电子株式会社 The method of transmitting request and the method that order is issued in main frame in storage facilities
US10002087B1 (en) * 2016-03-31 2018-06-19 EMC IP Holding Company LLC Communication between an external processor and FPGA controller

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111488222A (en) * 2019-01-25 2020-08-04 杭州海康威视数字技术股份有限公司 Stream aggregation method and device and electronic equipment
CN111488222B (en) * 2019-01-25 2023-04-07 杭州海康威视数字技术股份有限公司 Stream aggregation method and device and electronic equipment
CN111414198A (en) * 2020-03-18 2020-07-14 北京字节跳动网络技术有限公司 Request processing method and device
CN111414198B (en) * 2020-03-18 2023-05-02 北京字节跳动网络技术有限公司 Request processing method and device
CN113254240A (en) * 2021-06-21 2021-08-13 苏州浪潮智能科技有限公司 Method, system, device and medium for managing control device
CN113254240B (en) * 2021-06-21 2021-10-15 苏州浪潮智能科技有限公司 Method, system, device and medium for managing control device
CN113742096A (en) * 2021-07-14 2021-12-03 广州市玄武无线科技股份有限公司 Method and system for realizing event queue
CN113742096B (en) * 2021-07-14 2022-04-22 广州市玄武无线科技股份有限公司 Method and system for realizing event queue

Similar Documents

Publication Publication Date Title
CN108196794A (en) A kind of message treatment method, apparatus and system
US11016911B2 (en) Non-volatile memory express over fabric messages between a host and a target using a burst mode
US10423568B2 (en) Apparatus and method for transferring data and commands in a memory management environment
CN108363670B (en) Data transmission method, device, equipment and system
EP3671477B1 (en) Solid-state drive with initiator mode
JP4347247B2 (en) Method, system, and program for executing a data transfer request
CN108008911A (en) Read-write requests processing method and processing device
CN104246742B (en) Technology for the order checking of remote client access storage device
CN102523264B (en) USB (Universal Serial Bus) equipment remote sharing method and system for virtual machine
CN108701004A (en) A kind of system of data processing, method and corresponding intrument
US20160026604A1 (en) Dynamic rdma queue on-loading
CN108243118A (en) The method and physical host to E-Packet
CN105260142B (en) A kind of cloud storage area medical device for image and operation method
TW200814672A (en) Method and system for a user space TCP offload engine (TOE)
JP2008529109A5 (en)
CN102387169A (en) Delete method, system and delete server for distributed cache objects
CN105404596B (en) A kind of data transmission method, apparatus and system
WO2021063160A1 (en) Solid state disk access method and storage device
CN110727617A (en) Method and system for accessing a two-wire SSD device simultaneously over PCIe EP and network interfaces
CN107172171A (en) A kind of service request processing method, device and computer-readable recording medium
CN108064374A (en) A kind of data access method, device and system
CN106648909A (en) Management method and device for dish lock and system
US11928344B1 (en) System and method for managing buffers in a computer system
CN107436850A (en) The method that endpoint device accesses in computer system and computer system
CN109983749A (en) It is transmitted using the faster data of Remote Direct Memory access communication

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20180622