Systems and methods for a storage array-managed initiator cache

US9348525B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9348525-B2
Application numberUS-201414186557-A
CountryUS
Kind codeB2
Filing dateFeb 21, 2014
Priority dateFeb 21, 2014
Publication dateMay 24, 2016
Grant dateMay 24, 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 system and method for performing protected-mode data transactions using an initiator cache is provided. In some embodiments, a protected-mode data transaction is received from an initiator. It is determined that the initiator includes an initiator cache having a cache entry associated with the data transaction. A storage controller of a storage system performs the data transaction in conjunction with a storage device such that the performing of the data transaction is initiated before any writing of the data transaction to a cache of any storage controller of the storage system other than the storage controller based on the determination that the initiator includes the cache entry. In some such embodiments, when it is determined the data transaction failed to complete, a request is provided to the initiator to recreate the transaction from the cache entry in the initiator cache.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of transacting data by a storage system, the method comprising: receiving a data transaction from an initiator, wherein the data transaction is a protected-mode transaction; determining from a field of the data transaction that the initiator includes an initiator cache having a cache entry associated with the data transaction; performing, by a storage controller of the storage system, the data transaction in conjunction with a storage device, wherein the performing of the data transaction is initiated before any writing of the data transaction to a cache of any storage controller of the storage system other than the storage controller based on the determining that the initiator includes the cache entry; providing, to the initiator, a response releasing the cache entry associated with the data transaction for overwriting; and providing, to the initiator, a transaction complete response prior to providing the response releasing the cache entry. 2. The method of claim 1 further comprising: determining the data transaction failed to complete; and providing a request to the initiator to recreate the transaction from the cache entry in the initiator cache. 3. The method of claim 1 , wherein the providing of the transaction complete response is performed prior to any writing of the data transaction to a cache of any storage controller of the storage system other than the storage controller. 4. The method of claim 1 , wherein the storage controller is a first storage controller, the method further comprising writing the data transaction to a controller cache of a second storage controller concurrent with the performing of the data transaction in conjunction with the storage device. 5. The method of claim 1 , wherein the storage controller is a first storage controller, and wherein the providing of the response releasing the cache entry is performed in response to writing the data transaction to a controller cache of a second storage controller. 6. The method of claim 1 , wherein the providing of the transaction complete response is performed in response to writing the data transaction to a cache of the storage controller. 7. The method of claim 1 , wherein the field of the data transaction is one of a SCSI group number field and a diagnostic field. 8. A method of transacting data, the method comprising: receiving, at a first storage controller of a storage system, a protected-mode data transaction from an initiator; writing the protected-mode data transaction to a cache of the first storage controller; providing a transaction completion response; writing a copy of the protected-mode data transaction to a cache other than the cache of the first storage controller after providing the transaction completion response; providing a second response to the initiator releasing a copy of the protected-mode data transaction from an initiator cache; and performing the protected-mode data transaction on a storage device of the storage system. 9. The method of claim 8 , wherein the second response is provided before the performing of the protected-mode data transaction on the storage device is completed. 10. The method of claim 8 , further comprising: determining that the protected-mode data transaction failed to complete; and recovering the protected-mode data transaction from one of the initiator and the storage system based on whether the second response had yet been provided. 11. The method of claim 8 , wherein the performing of the protected-mode data transaction on the storage device is performed concurrently with the writing of the copy of the protected-mode data transaction to the cache other than the cache of the first storage controller. 12. The method of claim 8 , wherein a field of the protected-mode data transaction indicates that the initiator includes the initiator cache, and wherein the writing of the copy of the protected-mode data transaction to the cache other than the cache of the first storage controller is performed after the providing of the transaction completion response based on the field. 13. The method of claim 12 , wherein the field is a group number field of a SCSI command, and wherein a value in the group number field indicates that the initiator includes the initiator cache. 14. A system comprising: a processing resource; a first storage controller; at least one storage device; and a cache manager, wherein the system is operable to receive a protected-mode data transaction from an initiator; perform the data transaction on the at least one storage device using the storage controller, wherein the system initiates the performing of the data transaction without caching the data transaction on any storage controller of the system other than the first storage controller; and provide, to the initiator, a response releasing a cache entry associated with the data transaction for overwriting, wherein the cache manager is operable to determine when a copy of the data transaction has been cached to a cache of the system that is outside of the first storage controller, and wherein the system provides the response releasing the cache entry based on a determination that the copy of the data transaction has been cached to the cache of the system that is outside of the first storage controller. 15. The system of claim 14 , wherein the system is further operable to determine, based on the data transaction, whether an initiator of the system has cached the data transaction, and wherein the system initiates the performing of the data transaction without caching the data transaction on any storage controller of the system other than the first storage controller based on the determination. 16. The system of claim 14 , wherein the system is further operable to: determine the data transaction failed to complete; and upon a determination that the data transaction failed to complete, recover the data transaction by requesting the initiator to reconstruct the data transaction from a cache entry stored at the initiator. 17. The system of claim 14 , wherein the system is further operable to cache a copy of the data transaction to a cache of the system and perform the data transaction on the at least one storage device using the storage controller concurrently. 18. The system of claim 14 , wherein the first storage controller includes a controller cache and wherein the system is further operable to provide a completion response in response to caching a copy of the data transaction in the controller cache of the first storage controller. 19. The system of claim 18 , wherein the system is further operable to initiate the performing of the data transaction without caching the data transaction on any storage controller of the system other than the first storage controller based on a field of the protected-mode data transaction, wherein the field is one of a SCSI group number field and a diagnostic field. 20. A non-transitory machine readable medium having stored thereon instructions for performing a method comprising machine executable code, which when executed by at least one machine, causes the machine to: receive a data transaction from an initiator; write the data transaction to a cache of a storage controller; write a copy of the data transaction to a cache other than the cache of the storage controller after a transaction completion response is provided to the initiator; provide a release response to the initiator releasing a copy of the data transaction from a

Assignees

Inventors

Classifications

  • using redundant communication controllers · CPC title

  • G06F3/0619Primary

    in relation to data integrity, e.g. data losses, bit errors · CPC title

  • Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · CPC title

  • G06F3/061Primary

    Improving I/O performance · CPC title

  • Controller construction arrangements · 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 US9348525B2 cover?
A system and method for performing protected-mode data transactions using an initiator cache is provided. In some embodiments, a protected-mode data transaction is received from an initiator. It is determined that the initiator includes an initiator cache having a cache entry associated with the data transaction. A storage controller of a storage system performs the data transaction in conjunct…
Who is the assignee on this patent?
Netapp Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0619. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 24 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).