Implementing enhanced data caching and takeover of non-owned storage devices in dual storage device controller configuration with data in write cache

US9239797B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9239797-B2
Application numberUS-201313967633-A
CountryUS
Kind codeB2
Filing dateAug 15, 2013
Priority dateAug 15, 2013
Publication dateJan 19, 2016
Grant dateJan 19, 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 method, system and computer program product are provided for implementing enhanced data caching and takeover of non-owned storage devices in a computer system. Each of a first controller and a second controller has a cache memory. During normal run-time, each storage device controller validates cached write data after it is written to its cache memory by reading the write data from its cache memory. If any error is detected on the read, then unit check failed storage device controller, which results in a reset of the failed storage device controller. When a storage device controller detects its dual partner controller fails, the surviving storage device controller queues host read/write operations for its storage devices already owned, and tests a cache mirrored copy from its cache memory of the failed first storage device controller before takeover of the failed controller's storage devices.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for implementing enhanced data caching and takeover of non-owned storage devices in a computer system comprising: providing each of a first storage device controller and a second storage device controller with a cache memory; connecting a plurality of storage devices to the first storage device controller and second storage device controller, and assigning respective ones of the storage devices assigned to the first storage device controller, and respective other ones of the storage devices assigned to the second storage device controller; during normal run-time, each storage device controller performing the steps of: writing data to its cache memory and writing a cached mirrored copy in the cache memory of the other storage device controller, and storing a cached mirrored copy in its cache memory from cached write data of the other storage device controller; validating cached write data after writing data to its cache memory by reading the write data from its cache memory; responsive to detecting any error on the read, marking the storage device controller as failed and reset the failed storage device controller; responsive to the failing of a storage device controller, a surviving storage device controller performing the steps of: queuing host read/write operations for storage devices assigned to the surviving storage device controller; and testing from the surviving storage device controller's cache memory cached mirrored copy of the failed storage device controller's cache before taking ownership of all storage devices. 2. The method as recited in claim 1 includes the surviving storage device controller performing the steps responsive to no errors being detected in cache mirrored copy, updating metadata on all storage devices indicating the cache memory of the failed storage device controller being out of synchronization. 3. The method as recited in claim 2 includes resume servicing of host read/write operations for storage devices assigned to the surviving storage device controller. 4. The method as recited in claim 2 includes taking ownership of all storage devices. 5. The method as recited in claim 4 includes begin servicing of host read/write operations for storage devices taken over from the failed storage device controller. 6. The method as recited in claim 5 includes flushing of cache to storage devices. 7. The method as recited in claim 6 includes bypassing cache memory for new write ops until the surviving storage device controller is re-mirrored with a partner controller. 8. The method as recited in claim 1 wherein during normal run-time, each storage device controller performing the steps of mirroring cache data writes to the cache memory of the other storage device controller. 9. The method as recited in claim 8 wherein validating of cached write data includes reading the write data from cache memory as part of the mirrors operation into the cache memory on a partner storage device controller. 10. The method as recited in claim 1 includes the surviving storage device controller responsive to errors being detected in cache mirrored copy performing the steps of resetting both the surviving storage device controller and the failed storage device controller and performing self power on reset. 11. The method as recited in claim 1 wherein error detecting both during normal run-time reads and for test reads responsive to a storage device controller fails include testing for one or more of Uncorrectable Error Correction Code (ECC) errors; decompression errors, Cyclical Redundancy Check (CRC) errors and T 10 differential errors, and any hardware fault of the storage device controller. 12. A system for implementing enhanced data caching and takeover of non-owned storage devices in a computer system comprising: a first storage device controller having a cache memory; a second storage device controller having a cache memory; a plurality of storage devices connected to the first storage device controller and second storage device controller, respective ones of the storage devices assigned to the first storage device controller, and respective other ones of the storage devices assigned to the second storage device controller; during normal run-time, each storage device controller performing the steps of: writing data to its cache memory and writing a cached mirrored copy in the cache memory of the other storage device controller, and storing a cached mirrored copy in its cache memory from cached write data of the other storage device controller; validating cached write data after writing data to its cache memory by reading the write data from its cache memory; responsive to detecting any error on the cached write data read, marking the storage device controller as failed and resetting the failed storage device controller; responsive to the failing of a storage device controller, a surviving storage device controller performing the steps of: queuing host read/write operations for storage devices assigned to the surviving storage device controller; and testing from the surviving storage device controller's cache memory cached mirrored copy of the failed storage device controller's cache before taking ownership of all storage devices. 13. The system as recited in claim 12 wherein error detecting both during normal run-time reads and for test reads responsive to a storage device controller fails include testing for one or more of uncorrectable Error Correction Code (ECC) errors; decompression errors, Cyclical Redundancy Check (CRC) errors and T 10 differential errors, and any hardware fault of the storage device controller. 14. The system as recited in claim 12 includes the surviving storage device controller performing the steps responsive to no errors being detected in cache mirrored copy, updating metadata on all storage devices indicating the cache memory of the failed storage device controller being out of synchronization. 15. The system as recited in claim 14 includes resume servicing of host read/write operations for storage devices assigned to the surviving storage device controller. 16. The system as recited in claim 14 includes taking ownership of all storage devices. 17. The system as recited in claim 16 includes begin servicing of host read/write operations for storage devices taken over from the failed storage device controller. 18. The system as recited in claim 17 includes flushing of cache to storage devices. 19. The system as recited in claim 18 includes bypassing cache memory for new write ops until the surviving storage device controller is re-mirrored with a partner controller. 20. The system as recited in claim 12 includes the surviving storage device controller responsive to errors being detected in cache mirrored copy performing the steps of resetting both the surviving storage device controller and the failed storage device controller and performing self power on reset.

Assignees

Inventors

Classifications

  • using selective caching, e.g. bypass · CPC title

  • using centralised failover control functionality · CPC title

  • maintaining the standby controller/processing unit updated (initialisation or re-synchronisation thereof G06F11/1658 and subgroups) · CPC title

  • by mirroring · CPC title

  • using clearing, invalidating or resetting means · 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 US9239797B2 cover?
A method, system and computer program product are provided for implementing enhanced data caching and takeover of non-owned storage devices in a computer system. Each of a first controller and a second controller has a cache memory. During normal run-time, each storage device controller validates cached write data after it is written to its cache memory by reading the write data from its cache …
Who is the assignee on this patent?
Globalfoundries Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0888. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 19 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).