Data processing method and apparatus, storage controller, and cabinet
US-2016285648-A1 · Sep 29, 2016 · US
US10552067B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10552067-B2 |
| Application number | US-201715630891-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 22, 2017 |
| Priority date | Jun 22, 2016 |
| Publication date | Feb 4, 2020 |
| Grant date | Feb 4, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method and a system for delivering a message in a storage system. In one embodiment of the present invention, there is provided a method for delivering a message in a storage system comprising a first controller, a second controller, a first communication area and a second communication area. The method comprises: in response to receiving a message that is to be delivered from the first controller to the second controller, writing the message to the first communication area that is readable and writable to the first controller and readable to the second controller; and writing an address identifier to the second communication area, the address identifier being used for indicating an address at which the second controller reads the message from the first communication area, the second communication area being readable to the first controller and readable and writable to the second controller.
Opening claim text (preview).
The invention claimed is: 1. A method for delivering a message in a storage system comprising a first controller, a second controller, a first communication area and a second communication area, the method comprising: in response to receiving a message that is to be delivered from the first controller to the second controller, writing the message to the first communication area that is readable and writable to the first controller and readable to the second controller; writing an address identifier to the second communication area, the address identifier being used for indicating an address at which the second controller reads the message from the first communication area, the second communication area being readable to the first controller and readable and writable to the second controller; in response to the address identifier being written to the second communication area, sending a notification to the second controller, the notification indicating that the message in the first communication area is ready to be read by the second controller; in response to receiving another message that is to be delivered from the second controller to the first controller, writing the other message to the second communication area by the second controller; and writing another address identifier to the first communication area, the other address identifier being used for indicating an address at which the first controller reads the other message from the second communication area. 2. The method according to claim 1 , wherein the writing the message to the first communication area comprises: determining state of the first communication area according to metadata in the first communication area; and writing the message to the first communication area in response to the state indicating that the first communication area is not full. 3. The method according to claim 2 , wherein the writing the message to the first communication area further comprises: determining an available address for writing the message to the first communication area based on the metadata in the first communication area; and writing the message to the available address. 4. The method according to claim 3 , wherein the first communication area comprises a message queue, the metadata in the first communication area comprising a head pointer of the message queue; and the method further comprises: in response to the message being written to the available address, updating the head pointer to indicate another available address for writing a message to the first communication area. 5. The method according to claim 4 , wherein the address identifier comprises a tail pointer of the message queue, and the method further comprises: in response to the second controller reading the message from the tail pointer, updating the tail pointer by the second controller so as to point to another message. 6. The method according to claim 4 , wherein the storage system comprises a plurality of storage device, and the first communication area crosses respective storage areas in the plurality of storage devices, the respective storage areas in the plurality of storage devices being connected in a ring to form the first communication area. 7. The method according to claim 6 , wherein the storage system is a Redundant Array of Independent Disks, and the method further comprises: in response to one storage device among the plurality of storage devices failing, recovering data in the message queue from other storage devices among the plurality of storage devices. 8. A method for receiving a message in a storage system comprising a first controller, a second controller, a first communication area and a second communication area, the method comprising: reading an address identifier from the second communication area, the second communication area being readable to the first controller and readable and writable to the second controller; in response to receiving a notification at the second controller, the notification indicating that a message in the first communication area is ready to be read by the second controller, reading the message from a position in the first communication area as indicated by the address identifier, the first communication area being readable and writable to the first controller and readable to the second controller; in response to receiving another message that is to be delivered from the second controller to the first controller, writing the other message to the second communication area by the second controller; and writing another address identifier to the first communication area, the other address identifier being used for indicating an address at which the first controller reads the other message from the second communication area. 9. The method according to claim 8 , wherein the first communication area comprises a message queue, the storage system comprises at least one storage device, the first communication area crosses respective storage areas in the at least one storage device, the respective storage areas being connected in a ring to form the first communication area. 10. A system for delivering a message in a storage system, comprising: one or more processors; a memory coupled to at least one processor of the one or more processors; computer program instructions stored in the memory which, when executed by the at least one processor, cause the system to execute a method for delivering a message in the storage system, the storage system comprising a first controller, a second controller, a first communication area and a second communication area and the method comprising: in response to receiving a message that is to be delivered from the first controller to the second controller, writing the message to the first communication area that is readable and writable to the first controller and readable to the second controller; writing an address identifier to the second communication area, the address identifier being used for indicating an address at which the second controller reads the message from the first communication area, the second communication area being readable to the first controller and readable and writable to the second controller and indicating an address; in response to the address identifier being written to the second communication area, sending a notification to the second controller, the notification indicating that the message in the first communication area is ready to be read by the second controller, at which the second controller reads the message from the first communication area, the second communication area being readable to the first controller and readable and writable to the second controller; in response to receiving another message that is to be delivered from the second controller to the first controller, writing the other message to the second communication area by the second controller; and writing another address identifier to the first communication area, the other address identifier being used for indicating that the first controller reads an address of the other message from the second communication area. 11. The system according to claim 10 , wherein the writing the message to the first communication area comprises: determining state of the first communication area according to metadata in the first communication area; and writing the message to the first communication area in response to the state indicating that the first communication area is not full. 12. The system according to claim 11 , wherein the writing the message to the first communication area further comprises: determining an available address for writing the message to the first c
Improving the reliability of storage systems · CPC title
Disk arrays, e.g. RAID, JBOD · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
making use of a particular technique · CPC title
in relation to access · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.