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 PDF

Info

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
Application number
CN201610918151.4A
Other languages
Chinese (zh)
Other versions
CN106445849A (en
Inventor
刘树亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201610918151.4A priority Critical patent/CN106445849B/en
Publication of CN106445849A publication Critical patent/CN106445849A/en
Application granted granted Critical
Publication of CN106445849B publication Critical patent/CN106445849B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the program performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0028Serial 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

The method orderly ordered is handled in a kind of multi-controller
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.
CN201610918151.4A 2016-10-21 2016-10-21 The method orderly ordered is handled in a kind of multi-controller Active CN106445849B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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