CN106445849B - The method orderly ordered is handled in a kind of multi-controller - Google Patents
The method orderly ordered is handled in a kind of multi-controller Download PDFInfo
- Publication number
- CN106445849B CN106445849B CN201610918151.4A CN201610918151A CN106445849B CN 106445849 B CN106445849 B CN 106445849B CN 201610918151 A CN201610918151 A CN 201610918151A CN 106445849 B CN106445849 B CN 106445849B
- Authority
- CN
- China
- Prior art keywords
- command
- controller
- order
- ordered
- orderly
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the program performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0028—Serial attached SCSI [SAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
The invention discloses handle the method orderly ordered in a kind of multi-controller, this method comprises: within the storage system, when a controller receives orderly order Ordered Command, controller event handler EM in the controller all into storage system sends request message Qr;All controllers receive request message Qr, continue to execute current unordered order Unordered Command, send feedback message Qc to the event handler EM after being finished;When the quantity for the feedback message Qc that the event handler EM is received is consistent with the quantity of controllers all in storage system, the controller for receiving the orderly order Ordered Command starts to execute the orderly order Ordered Command.This method realizes the normal execution that orderly order Ordered Command is completed in multi-controller.
Description
Technical field
The present invention relates to memory system technologies field, more particularly to handling the side orderly ordered in a kind of multi-controller
Method.
Background technique
Currently, SCSI (Small Computer Systems Interface, small computer system interface) agreement is advised
Surely execute Ordered Command sequence must with the sequence consensus that receives Ordered Command, therefore for orderly
Order Ordered Command, the Ordered only after guaranteeing that all SCSI Command, that is, scsi commands are finished
Command could start to execute.In the prior art, in multiple controllers, each controller be respectively execute it is respective
Unordered order Unordered Command in scsi command, when a controller receives orderly order Ordered
It after Command, can only consider whether itself unordered order Unordered Command is completed, cannot consider other
Whether all controllers have all executed Unordered Command order, therefore not can guarantee all Unordered
Ordered Command could start to execute after Command order is finished, and cannot achieve and complete to have in multi-controller
The normal execution of sequence order Ordered Command.
Summary of the invention
The object of the present invention is to provide the method orderly ordered is handled in a kind of multi-controller, to realize in multi-controller
Complete the normal execution of orderly order Ordered Command.
In order to solve the above technical problems, the present invention, which is provided in a kind of multi-controller, handles the method orderly ordered, this method
Include:
Within the storage system, when a controller receives orderly order Ordered Command, in the controller
Event handler EM into storage system all controller send request message Qr;
All controllers receive request message Qr, continue to execute current unordered order Unordered
Command sends feedback message Qc to the event handler EM after being finished;
When the number of all controllers in the quantity and storage system for the feedback message Qc that the event handler EM is received
When measuring consistent, the controller for receiving the orderly order Ordered Command starts to execute the orderly order Ordered
Command。
Preferably, after all controller reception request message Qr, further includes:
All controllers stop executing the scsi command newly received, and the scsi command newly received is inserted
Enter into static queue Quiesce Queue.
Preferably, the controller for receiving the orderly order Ordered Command starts to execute described orderly
After order Ordered Command, further includes:
It is described to receive the orderly order Ordered after executing the orderly order Ordered Command
The controller of Command sends order to the event handler EM and completes message Qd.
Preferably, described to receive the orderly controller for ordering Ordered Command to the event handler
EM is sent after order completion message Qd, further includes:
Order completion message Qd is sent to all controllers by the event handler EM;
All controllers start to execute the order in static queue Quiesce Queue.
Preferably, the method also includes:
For each controller in storage system, when controller receives queue command head information, by the queue
Command header information is inserted into team's head of static queue Quiesce Queue.
Preferably, it is described be finished after to the event handler EM send order complete message Qc after, further includes:
All controllers stop executing any order.
It preferably, include receiving the orderly order Ordered in controller all in the storage system
The controller of Command.
Preferably, described, the number of all controllers is at least two in storage system.
The method orderly ordered is handled in a kind of multi-controller provided by the present invention, within the storage system, is controlled when one
When device processed receives orderly order Ordered Command, event handler EM in the controller institute into storage system
Some controllers send request message Qr;All controller receives request message Qr, continues to execute current unordered
Unordered Command is ordered, sends feedback message Qc to the event handler EM after being finished;At the event
When the quantity of feedback message Qc that reason device EM is received is consistent with the quantity of controllers all in storage system, receiving described has
The controller of sequence order Ordered Command starts to execute the orderly order Ordered Command.As it can be seen that storing
In system, when the quantity of Qc is consistent with the quantity of controllers all in storage system, indicate that all controllers execute
Unordered Command order terminates, i.e., the Unordered Command order in all controllers is finished it
Afterwards, the controller for receiving orderly order Ordered Command just starts to execute orderly order Ordered Command, protects
Demonstrate,proving Ordered Command after all Unordered Command orders are finished could start to execute, and realization is being controlled more
The normal execution of orderly order Ordered Command is completed in device processed.
Detailed description of the invention
In order to more clearly explain the embodiment of the invention or the technical proposal in the existing technology, to embodiment or will show below
There is attached drawing needed in technical description to be briefly described, it should be apparent that, the accompanying drawings in the following description is only this
The embodiment of invention for those of ordinary skill in the art without creative efforts, can also basis
The attached drawing of offer obtains other attached drawings.
Fig. 1 is the flow chart that the method orderly ordered is handled in a kind of multi-controller provided by the present invention;
Fig. 2 is Ordered Command order execution flow chart.
Specific embodiment
Core of the invention, which is to provide in a kind of multi-controller, handles the method orderly ordered, to realize in multi-controller
Complete the normal execution of orderly order Ordered Command.
In order to enable those skilled in the art to better understand the solution of the present invention, below in conjunction in the embodiment of the present invention
Attached drawing, technical scheme in the embodiment of the invention is clearly and completely described, it is clear that described embodiment is only
A part of the embodiment of the present invention, instead of all the embodiments.Based on the embodiments of the present invention, those of ordinary skill in the art
Every other embodiment obtained without making creative work, shall fall within the protection scope of the present invention.
Referring to FIG. 1, Fig. 1 is the process for handling the method orderly ordered in a kind of multi-controller provided by the present invention
Figure, this method comprises:
S11: within the storage system, when a controller receives orderly order Ordered Command, in controller
Event handler EM into storage system all controller send request message Qr;
S12: all controllers receive request message Qr, continue to execute current unordered order Unordered
Command sends feedback message Qc to event handler EM after being finished;
S13: when the number of all controllers in the quantity and storage system for the feedback message Qc that event handler EM is received
When measuring consistent, the controller for receiving orderly order Ordered Command starts to execute orderly order Ordered
Command。
As it can be seen that within the storage system, when the quantity of Qc is consistent with the quantity of controllers all in storage system, indicating institute
Having controller to execute Unordered Command order terminates, i.e., the Unordered Command order in all controllers
After being finished, the controller for receiving orderly order Ordered Command just starts to execute orderly order Ordered
Command guarantees that Ordered Command could start to execute after all Unordered Command orders are finished,
Realize the normal execution that orderly order Ordered Command is completed in multi-controller.
Based on the method, specifically, all controllers stop after all controllers receive request message Qr
The scsi command newly received is executed, and the scsi command newly received is inserted into static queue Quiesce Queue.So
All controllers continue to execute current unordered order Unordered Command afterwards, to event handler after being finished
EM sends feedback message Qc.
Wherein, unordered order Unordered Command is not have sequential instruction, and implementation procedure does not have sequencing.
Orderly order Ordered Command is sequential instruction, and implementation procedure has sequencing.Orderly order Ordered
Command should be executed again after all unordered order Unordered Command have been carried out.
It wherein, include the control for receiving orderly order Ordered Command in controller all in storage system
Device.
Further, in step S12, after sending feedback message Qc to event handler EM after being finished, further includes:
All controllers stop executing any order.
Further, in step S13, the controller for receiving orderly order Ordered Command starts to execute orderly
After order Ordered Command, further includes: after executing the orderly order Ordered Command, received
The controller of sequence order Ordered Command sends order to event handler EM and completes message Qd.
Further, the controller for receiving orderly order Ordered Command is sent to event handler EM orders
After completing message Qd, order is completed message Qd and is sent to all controllers by event handler EM;All controllers are opened
Begin to execute the order in static queue Quiesce Queue.
Specifically, the method also includes: for each controller in storage system, when controller receives queue life
When enabling head information, queue command head information is inserted into team's head of static queue Quiesce Queue.
Wherein, the number of controller all in storage system is at least two.
Detailed, each controller has an EM, for sending or receiving message synchronous between controller, message
Including Quiesce Request, Quiesce Complete, Quiesce Command Done.Receive Ordered
After Command, all controllers stop executing the SCSI Command newly received, and insert it into Quiesce
In Queue, including Ordered Command and Unordered Command.The Ordered Command that controller receives,
The sequence of Ordered Command only must guarantee own with the sequence consensus for receiving Ordered Command
Ordered Command could start to execute after Unordered Command order is finished.
Queue command head information is that Head Of Queue Command, Head Of Queue Command is a kind of spy
Different Ordered Command must insert it into Command after receiving Head Of Queue Command
Team's head of Queue, to guarantee that it is executed at first, even if it is so Head Of Queue that the next command received, which is appointed,
Command, it is also desirable to insert it into team's head.Each controller needs to safeguard an order receiving queue Quiesce
Queue is corresponding with a Quiesce Queue in each controller.
For event handler Event Manager, abbreviation EM, each controller has an EM, for send or
Receive message synchronous between controller, message includes Quiesce Request, Quiesce Complete, Quiesce
Command Done。
For Quiesce Request message, which is request message, specifically static request message, abbreviation Qr, when
Controller can be sent to EM Qr message when receiving Ordered Command, EM then sends all controls for Qr
Device.
For Quiesce Complete message, which is feedback message, specifically static completion message, abbreviation Qc,
Controller executed execution Unordered Commad it is rear to EM send Qc message, EM again sends Qc message to all
Controller.
For Quiesce Command Done message, which is that message is completed in order, and specially still command is completed
Message, abbreviation Qd can send Qd message to EM, EM again sends Qd to after controller has executed Ordered Command
All controllers, controller can execute the message in Quiesce Queue queue after receiving Qd message.
For Quiesce Queue queue, after receiving Ordered Command, all controllers stop executing new
The SCSI Command received, and inserting it into Quiesce Queue, including Ordered Command and
Unordered Command。
Multi-controller is stored, host side can access logical volume by any one controller of storage, when any
When a controller receives Ordered Command, need to guarantee that other all controllers are executing the life in execution
Stop continuing with next command after enabling, this just needs to have corresponding communication-cooperation mechanism between controller.
Specifically, each controller has an event handler Event Manager (EM), EM is responsible in controller
Between send and receive message, message includes Quiesce Request, Quiesce Complete, Quiesce Command
Done, controller execute corresponding event handling function according to the message received, to guarantee holding for Ordered Command
Row sequence.
When a storage control receives Ordered Command, Qr message can be sent and send out Qr to EM, EM
All controllers are sent to, the controller including issuing Qr can also receive.Controller stopping continues to hold after receiving Qr
Line command, and the scsi command newly received is inserted into Quiesce Queue queue.It has and is holding in controller at this time
Capable Unordered Command, when the backward EM hair that the unordered command being carrying out in controller is finished
Qc message is sent, EM is receiving the rear to all controllers transmission Qc message, including place controller, each controller of Qc message
It will record the Qc message received.When Quiesce Complete message number reaches the quantity of all controllers in system,
Indicate that all controllers execute Unordered Command orders and terminate, the controller for receiving Ordered Command can be with
Execute Ordered Command order.After Ordered Command order is finished, controller sends Qd to EM and disappears
Breath, EM send the message to all controllers, including place controller.The controller for receiving Qd message starts to execute
Message in Quiesce Queue.With reference to Fig. 2, Fig. 2 is that Ordered Command executes process, be in figure by controller A and
The EM of controller B is abstracted as an individual EM, and practical each one EM of controller, Qc1, Qc2 are Quiesce
Complete message, Qd1 and Qd2 are Quiesce Command Done message.
When in scsi command in Quiesce Queue including Ordered Command, above-mentioned step can be executed again
Suddenly, Ordered Command order is completed.Since the probability that host side sends Ordered Command order is smaller, so
The efficiency of storage control is not interfered with.
For order receiving queue Quiesce Queue, also referred to as static queue receives Ordered in storage end
It will continue to the scsi command that receiving host end sends over after Command, so each storage side controller needs to safeguard
One order receiving queue Quiesce Queue, queue include Unordered Command and Ordered Command, are owned
The SCSI Command newly received will be inserted into this queue.When receiving Head Of Queue Command
Need to insert it into team's head of Quiesce Queue queue.
To sum up, the method orderly ordered is handled in a kind of multi-controller provided by the present invention, within the storage system, when one
When a controller receives orderly order Ordered Command, event handler EM in the controller institute into storage system
Some controllers send request message Qr;All controllers receive request message Qr, continue to execute current unordered order
Unordered Command sends feedback message Qc to event handler EM after being finished;When event handler EM is received
Feedback message Qc quantity it is consistent with the quantity of controllers all in storage system when, receive orderly order Ordered
The controller of Command starts to execute orderly order Ordered Command.As it can be seen that within the storage system, when Qc quantity with
When the quantity of all controllers is consistent in storage system, indicate that all controllers execute Unordered Command order and terminate,
After Unordered Command order in i.e. all controllers is finished, orderly order Ordered is received
The controller of Command just starts to execute orderly order Ordered Command, guarantees all Unordered Command lives
Ordered Command could start to execute after order is finished, and realize and complete orderly order Ordered in multi-controller
The normal execution of Command.
It is described in detail above to handling the method orderly ordered in a kind of multi-controller provided by the present invention.This
Apply that a specific example illustrates the principle and implementation of the invention in text, the explanation of above example is only intended to
It facilitates the understanding of the method and its core concept of the invention.It should be pointed out that for those skilled in the art,
Without departing from the principles of the invention, can be with several improvements and modifications are made to the present invention, these improvement and modification are also fallen
Enter in the protection scope of the claims in the present invention.
Claims (8)
1. handling the method orderly ordered in a kind of multi-controller characterized by comprising
Within the storage system, the thing when a controller receives orderly order Ordered Command, in the controller
Controller part processor EM all into storage system sends request message Qr;
All controllers receive request message Qr, continue to execute current unordered order Unordered Command,
Feedback message Qc is sent to the event handler EM after being finished;
When the quantity one of all controllers in the quantity and storage system for the feedback message Qc that the event handler EM is received
When cause, the controller for receiving the orderly order Ordered Command starts to execute the orderly order Ordered
Command。
2. the method as described in claim 1, which is characterized in that after all controllers receive request message Qr, also
Include:
All controllers stop executing the scsi command newly received, and the scsi command newly received is inserted into
In static queue Quiesce Queue.
3. method according to claim 2, which is characterized in that described to receive the orderly order Ordered Command
Controller start to execute the orderly order Ordered Command after, further includes:
It is described to receive the orderly order Ordered after executing the orderly order Ordered Command
The controller of Command sends order to the event handler EM and completes message Qd.
4. method as claimed in claim 3, which is characterized in that described to receive the orderly order Ordered Command
Controller to the event handler EM send order complete message Qd after, further includes:
Order completion message Qd is sent to all controllers by the event handler EM;
All controllers start to execute the order in static queue Quiesce Queue.
5. method as claimed in claim 4, which is characterized in that further include:
For each controller in storage system, when controller receives queue command head information, by the queue command
Head information is inserted into team's head of static queue Quiesce Queue.
6. the method as described in claim 1, which is characterized in that it is described be finished after to the event handler EM send order
It enables after completing message Qc, further includes:
All controllers stop executing any order.
7. the method as described in claim 1, which is characterized in that include receiving in all controllers in the storage system
The controller of the orderly order Ordered Command.
8. method as claimed in any of claims 1 to 7 in one of claims, which is characterized in that all control in the storage system
The number of device is at least two.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610918151.4A CN106445849B (en) | 2016-10-21 | 2016-10-21 | The method orderly ordered is handled in a kind of multi-controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610918151.4A CN106445849B (en) | 2016-10-21 | 2016-10-21 | The method orderly ordered is handled in a kind of multi-controller |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN106445849A CN106445849A (en) | 2017-02-22 |
| CN106445849B true CN106445849B (en) | 2019-05-28 |
Family
ID=58176544
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201610918151.4A Active CN106445849B (en) | 2016-10-21 | 2016-10-21 | The method orderly ordered is handled in a kind of multi-controller |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN106445849B (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101208675A (en) * | 2005-06-29 | 2008-06-25 | 英特尔公司 | Frame sequence processing device, system and method |
| CN105183568A (en) * | 2015-08-19 | 2015-12-23 | 山东超越数控电子有限公司 | Inter memory double-controller scsi command synchronization mechanism |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090094385A1 (en) * | 2007-10-08 | 2009-04-09 | Freking Ronald E | Techniques for Handling Commands in an Ordered Command Stream |
| US9558143B2 (en) * | 2014-05-09 | 2017-01-31 | Micron Technology, Inc. | Interconnect systems and methods using hybrid memory cube links to send packetized data over different endpoints of a data handling device |
| US9594713B2 (en) * | 2014-09-12 | 2017-03-14 | Qualcomm Incorporated | Bridging strongly ordered write transactions to devices in weakly ordered domains, and related apparatuses, methods, and computer-readable media |
-
2016
- 2016-10-21 CN CN201610918151.4A patent/CN106445849B/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101208675A (en) * | 2005-06-29 | 2008-06-25 | 英特尔公司 | Frame sequence processing device, system and method |
| CN105183568A (en) * | 2015-08-19 | 2015-12-23 | 山东超越数控电子有限公司 | Inter memory double-controller scsi command synchronization mechanism |
Also Published As
| Publication number | Publication date |
|---|---|
| CN106445849A (en) | 2017-02-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101946244B (en) | Method and apparatus for reducing access contention for reserved devices | |
| US9110843B2 (en) | Rack and method thereof for simultaneously updating basic input output systems | |
| US10067793B2 (en) | Data processing method and apparatus for executing task code using reservation instruction and release instruction | |
| CN106569891B (en) | Method and device for scheduling and executing tasks in storage system | |
| CN104601668B (en) | Data push method, device and system based on condition managing | |
| EP2600249A2 (en) | Storage device, controller, and program | |
| CN103809502B (en) | Controller and recording medium | |
| US10013367B2 (en) | I/O processing system including dynamic missing interrupt and input/output detection | |
| US10268521B2 (en) | Electronic system with data exchange mechanism and method of operation thereof | |
| CN106445849B (en) | The method orderly ordered is handled in a kind of multi-controller | |
| JP2006285810A5 (en) | ||
| KR102781592B1 (en) | Method for specifying orders in multi command queue storage | |
| US10678744B2 (en) | Method and system for lockless interprocessor communication | |
| US20170010839A1 (en) | Storage system, storage control method, and computer system | |
| CN105242915B (en) | A kind of processing method and processing device of data manipulation | |
| CN108170377A (en) | It is a kind of that tape library is supported to drive the backup method concurrently write more | |
| CN111061474B (en) | A Lamda programming device and data processing method thereof | |
| RU2714219C1 (en) | Method and system for scheduling transfer of input/output operations | |
| JP2014197346A (en) | Controller and program | |
| CN107590088B (en) | A kind of processing method, system and the relevant apparatus of DMA read operations | |
| KR20160076148A (en) | Input and output method in virtual machine environment | |
| CN120606405B (en) | Method, system, device, medium and program product for plugging and unplugging electronic devices | |
| CN110471388A (en) | Manage the means of communication and Weaving device of Weaving device | |
| KR101947221B1 (en) | Method and apparatus for scheduling operating time of virtual cluster | |
| US20170366371A1 (en) | Communication device setting apparatus |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |