CN108196794A - A kind of message treatment method, apparatus and system - Google Patents
A kind of message treatment method, apparatus and system Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-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
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.
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)
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)
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 |
-
2017
- 2017-12-29 CN CN201711487272.9A patent/CN108196794A/en not_active Withdrawn
Patent Citations (5)
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)
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 |