Managing token states across multiple storage processors of a data storage array

US9304699B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9304699-B1
Application numberUS-201313929027-A
CountryUS
Kind codeB1
Filing dateJun 27, 2013
Priority dateJun 27, 2013
Publication dateApr 5, 2016
Grant dateApr 5, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A technique manages token states across multiple storage processors (SPs) of a data storage array. The technique involves using a token, by a first SP, to identify particular data stored on the array. The technique further involves updating, by the first SP, a first SP-controlled set of token state information for the token, the first SP-controlled set of token state information including (i) a first token state which indicates whether the token is “idle” or “busy” from a perspective of the first SP and (ii) a second token state which indicates whether the token is “idle” or “busy” from a perspective of a second SP. The technique further involves expiring, by the first SP, the token in response to the first SP-controlled set of token state information indicating that the token has remained “idle” for at least a predefined amount of time.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of managing token states across multiple storage processors (SPs) of a data storage array, the method comprising: using a token, by a first SP of the data storage array, to identify particular data stored on the data storage array; updating, by the first SP, a first SP-controlled set of token state information for the token, the first SP-controlled set of token state information including (i) a first token state which indicates whether the token is “idle” or “busy” from a perspective of the first SP and (ii) a second token state which indicates whether the token is “idle” or “busy” from a perspective of a second SP of the data storage array; and expiring, by the first SP, the token in response to the first SP-controlled set of token state information indicating that the token has remained “idle” for at least a predefined amount of time. 2. A method as in claim 1 , further comprising: using the token, by the second SP, to identify the particular data stored on the data storage array; and updating, by the second SP, a second SP-controlled set of token state information for the token, the second SP-controlled set of token state information including (i) a first token state which indicates whether the token is “idle” or “busy” from the perspective of the first SP and (ii) a second token state which indicates whether the token is “idle” or “busy” from the perspective of the second SP. 3. A method as in claim 2 wherein expiring the token by the first SP includes: locally invalidating, by the first SP, the token from the perspective of the first SP, and providing, by the first SP, an expiration message to the second SP, the expiration message directing the second SP to locally invalidate the token from the perspective of the second SP. 4. A method as in claim 2 wherein the data storage array includes a set of non-volatile data storage units to store host data on behalf of a set of host computers, the host data including the particular data identified using the token; and wherein the method further comprises: performing, by the first and second SPs, host input/output (I/O) operations on the particular data in response to host I/O requests from the set of host computers. 5. A method as in claim 1 , further comprising: receiving, by the first SP, an update message from the second SP, the update message indicating that the token is “busy” from the perspective of the second SP due to a write using token (WUT) operation initiated on the second SP, the WUT operation copying the particular data identified using the token, the first SP being constructed and arranged to update the second token state of the first SP-controlled set of token state information in response to the update message from the second SP. 6. A method as in claim 5 wherein a timing mechanism indicates an amount of time that the token has been “idle” from the perspective of the first SP to enable determination as to whether the token has remained “idle” for at least the predefined amount of time; and wherein the method further comprises: resetting, by the first SP, the timing mechanism in response to the update message which indicates that the token is “busy” from the perspective of the second SP due to the WUT operation initiated on the second SP. 7. A method as in claim 5 , further comprising: receiving, by the first SP, another update message from the second SP, the other update message indicating that the token is now “idle” from the perspective of the second SP due to completion of all WUT operations initiated on the second SP which copied the particular data identified using the token. 8. A method as in claim 7 wherein a timing mechanism indicates an amount of time that the token has been “idle” from the perspective of the first SP; and wherein the method further comprises: resetting, by the first SP, the timing mechanism in response to the update message which indicates that the token is “busy” from the perspective of the second SP due to the WUT operation initiated on the second SP, and resetting, by the first SP, the timing mechanism in response to the other update message which indicates that the token is now “idle” from the perspective of the second SP due to completion of all WUT operations initiated on the second SP which copied the particular data identified using the token. 9. A method as in claim 1 , further comprising: providing, by the first SP, an update message to the second SP, the update message indicating that the token is “busy” from the perspective of the first SP due to a write using token (WUT) operation initiated on the first SP, the WUT operation copying the particular data identified using the token, the second SP being constructed and arranged to update a token state of a second SP-controlled set of token state information in response to the update message provided by the first SP. 10. A method as in claim 9 wherein a timing mechanism indicates an amount of time that the token has been “idle” from the perspective of the first SP to enable determination as to whether the token has remained “idle” for at least the predefined amount of time; and wherein the method further comprises: resetting, by the first SP, the timing mechanism in response to initiating the WUT operation on the first SP. 11. A method as in claim 9 , further comprising: providing, by the first SP, another update message to the second SP, the other update message indicating that the token is “idle” from the perspective of the first SP due to completion of all WUT operations on the first SP which copied the particular data identified using the token. 12. A method as in claim 11 wherein a timing mechanism indicates an amount of time that the token has been “idle” from the perspective of the first SP; and wherein the method further comprises: resetting, by the first SP, the timing mechanism in response to initiating the WUT operation on the first SP, and resetting, by the first SP, the timing mechanism in response to completing all WUT operations on the first SP which copied the particular data identified using the token. 13. A method as in claim 1 , further comprising: maintaining a first SP-controlled write using token (WUT) counter for the token to indicate a number of WUT operations currently performed by the first SP to copy the particular data identified using the token. 14. A method as in claim 13 wherein maintaining the first SP-controlled WUT counter for the token includes: for each new WUT operation initiated on the first SP to copy the particular data identified using the token, incrementing the first SP-controlled WUT counter for the token, and for each WUT operation to copy the particular data identified using the token which is completed on the first SP, decrementing the first SP-controlled WUT counter for the token. 15. A method as in claim 14 wherein updating the first SP-controlled set of token state information for the token includes: in response to decrementing the first SP-controlled WUT counter for the token to indicate that there is still at least one WUT operation ongoing on the first SP to copy the particular data identified using the token, maintaining the first token state of the first SP-controlled set of token state information to indicate that the token is still “busy” from the perspective of the first SP, and in response to decrementing the first SP-controlled WUT counter for the token to indicate that there are no WUT operations currently on the first SP to copy the particular data identified using the token, transitioning the first token state of the first SP-controlled set

Assignees

Inventors

Classifications

  • G06F3/0688Primary

    Non-volatile semiconductor memory arrays · CPC title

  • by changing the state or mode of one or more devices · CPC title

  • Disk arrays, e.g. RAID, JBOD · CPC title

  • in relation to availability · CPC title

  • G06F3/0622Primary

    in relation to access · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9304699B1 cover?
A technique manages token states across multiple storage processors (SPs) of a data storage array. The technique involves using a token, by a first SP, to identify particular data stored on the array. The technique further involves updating, by the first SP, a first SP-controlled set of token state information for the token, the first SP-controlled set of token state information including (i) a…
Who is the assignee on this patent?
Emc Corp
What technology area does this patent fall under?
Primary CPC classification G06F3/0688. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 05 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).