Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
Title: Streptococcus pneumoniae open reading frames encoding polypeptide antigens and uses thereof
Patent Number: 7,384,775 Issued on 06/10/2008 to Zagursky,   et al.

Title: Mast cell surface antigen, DNA thereof, and antibody against the antigen
Patent Number: 7,045,597 Issued on 05/16/2006 to Kawai,   et al.

Title: Storage structure with cleaved layer
Patent Number: 6,967,149 Issued on 11/22/2005 to Meyer,   et al.

Title: Semiconductor circuit, especially for ignition purposes, and the use of the same
Patent Number: 7,057,240 Issued on 06/06/2006 to Topp,   et al.

Title: Do it yourself (DIY) modular cabinet
Patent Number: 6,848,758 Issued on 02/01/2005 to Yeh,   et al.

Title: MEMS structure and method for fabricating the same
Patent Number: 7,074,635 Issued on 07/11/2006 to Kim,   et al.

Title: Semiconductor memory storage device capable of high operating speed
Patent Number: 7,054,211 Issued on 05/30/2006 to Tsujimura,   et al.

Title: Rehabilitation stroller
Patent Number: 7,044,498 Issued on 05/16/2006 to Chen

Title: Modular multiple disk drive apparatus
Patent Number: 7,042,720 Issued on 05/09/2006 to Konshak,   et al.

Title: Web-based account management for hold and release of funds
Patent Number: 7,165,047 Issued on 01/16/2007 to Understein

Title: Partial discharge monitoring apparatus and partial discharge remote monitoring system for rotating electric machines
Patent Number: 7,165,014 Issued on 01/16/2007 to Kaneda,   et al.

Title: Storage assembly with adaptable double hanging closet
Patent Number: 6,896,341 Issued on 05/24/2005 to Cattoire

Title: Projector device
Patent Number: 6,913,361 Issued on 07/05/2005 to Gishi,   et al.

Title: Method for reservoir navigation using formation pressure testing measurement while drilling
Patent Number: 7,063,174 Issued on 06/20/2006 to Chemali,   et al.

Title: Method of increasing conversion of a fatty acid to its corresponding dicarboxylic acid
Patent Number: 6,790,640 Issued on 09/14/2004 to Craft,   et al.

Title: Edge detection and sharpening process for an image
Patent Number: 7,068,852 Issued on 06/27/2006 to Braica

Title: Systems and methods for enhanced error concealment in a video decoder
Patent Number: 6,990,151 Issued on 01/24/2006 to Kim,   et al.

Title: Vibration damper
Patent Number: 6,893,009 Issued on 05/17/2005 to Brehm,   et al.

Title: Circuit configuration and method for measuring and limiting currents
Patent Number: 6,975,495 Issued on 12/13/2005 to Weinmann

Title: Method of making a composite electric machine component of a desired magnetic pattern
Patent Number: 6,889,419 Issued on 05/10/2005 to Reiter, Jr.,   et al.

Title: Systems for voice and data communications having TDM and packet buses and telephony station cards including voltage generators
Patent Number: 7,072,330 Issued on 07/04/2006 to Pounds,   et al.

Title: Press-forming apparatus
Patent Number: 6,840,080 Issued on 01/11/2005 to Matsuzaki

Title: Programmable insulin pump
Patent Number: 6,852,104 Issued on 02/08/2005 to Blomquist

Title: Robot control apparatus
Patent Number: 7,047,107 Issued on 05/16/2006 to Minoshima,   et al.

Title: Implantable prosthetic or tissue expanding device
Patent Number: 6,849,092 Issued on 02/01/2005 to Van Dyke,   et al.

Title: Needle threader
Patent Number: 6,892,911 Issued on 05/17/2005 to Hamazaki

Title: System and method for pre-processing input data to a support vector machine
Patent Number: 7,020,642 Issued on 03/28/2006 to Ferguson,   et al.

Title: Gasket
Patent Number: 7,059,612 Issued on 06/13/2006 to Kuribayashi

Title: Self-cleaning internal combustion engine intake valve
Patent Number: 6,832,595 Issued on 12/21/2004 to Klein,   et al.

Title: Detection of adsorbates on interior surfaces of holey fibers
Patent Number: 6,845,203 Issued on 01/18/2005 to Levenson

Title: Session oriented settop communication using dynamic, synchronized routing
Patent Number: 6,918,135 Issued on 07/12/2005 to Goffin, II

Title: Automatically determining the awareness settings among people in distributed working environment
Patent Number: 7,028,074 Issued on 04/11/2006 to Ye,   et al.

Title: Automatically determining the awareness settings among people in distributed working environment
Patent Number: 7,028,074 Issued on 04/11/2006 to Ye,   et al.

Title: Method for controlling the shed in a loom with fluidic weft insertion
Patent Number: 6,863,091 Issued on 03/08/2005 to Wahhoud

Title: Upper body side protection device for a vehicle occupant and vehicle seat
Patent Number: 7,080,880 Issued on 07/25/2006 to Acker,   et al.

Title: Hydrolysable hydrogels for controlled release
Patent Number: 7,060,296 Issued on 06/13/2006 to Hennink,   et al.

Title: Amplifier apparatus and method
Patent Number: 7,068,108 Issued on 06/27/2006 to Xu,   et al.

Title: Examination of subjects using photon migration with high directionality techniques
Patent Number: 7,010,341 Issued on 03/07/2006 to Chance

Title: Makeup mirror apparatus and makeup method using the same
Patent Number: 7,054,668 Issued on 05/30/2006 to Endo,   et al.

Title: Method and apparatus for error detection
Patent Number: 6,845,475 Issued on 01/18/2005 to He

Title: Recycling method
Patent Number: 7,020,534 Issued on 03/28/2006 to Morii

Title: Shoulder pads with integral arm protectors
Patent Number: 6,845,522 Issued on 01/25/2005 to Beland

Title: eak detection method and micro-machined device assembly
Patent Number: 7,026,645 Issued on 04/11/2006 to Christenson,   et al.

Title: Method for transmitting data and/or synchronizing at least two welding devices and device therefor
Patent Number: 7,049,547 Issued on 05/23/2006 to Brunner,   et al.

Title: Method of estimating floor reactions of bipedal walking body, and method of estimating joint moments of bipedal walking body
Patent Number: 7,054,763 Issued on 05/30/2006 to Kawai,   et al.

Title: Rotational grip twist machine and method for fabricating bulges of twisted wire electrical connectors
Patent Number: 6,971,415 Issued on 12/06/2005 to Garcia,   et al.

Title: Electrical short tracing apparatus and method
Patent Number: 7,030,623 Issued on 04/18/2006 to Carpenter

Title: Laser modulator
Patent Number: 6,859,479 Issued on 02/22/2005 to Svenson

Title: Ice cream scooper, motordriven
Patent Number: 6,840,754 Issued on 01/11/2005 to Zetterlund

Title: Wireless soil moisture meter network
Patent Number: 6,975,236 Issued on 12/13/2005 to Staples

Title: Cable mounting mechanism
Patent Number: 7,041,903 Issued on 05/09/2006 to Odahara,   et al.

Title: Over-center latch
Patent Number: 6,840,551 Issued on 01/11/2005 to Evans

Title: Digital video recorder for encrypting/decrypting video programs in segments to facilitate trick play features
Patent Number: 6,851,055 Issued on 02/01/2005 to Boyle,   et al.

Title: Deoxyribonuclease, gene encoding same and use thereof
Patent Number: 7,049,123 Issued on 05/23/2006 to Tanuma,   et al.

Title: Multi-lock adapters for independent screwed wellheads and methods of using same
Patent Number: 7,032,677 Issued on 04/25/2006 to McGuire,   et al.

Title: Skateboard rail
Patent Number: 7,048,634 Issued on 05/23/2006 to Fernandez,   et al.

Title: Telephonic handset employing feed-forward noise cancellation
Patent Number: 7,031,460 Issued on 04/18/2006 to Zheng,   et al.

Title: Switch using a segmented ring
Patent Number: 7,009,973 Issued on 03/07/2006 to Cao,   et al.

Title: Apparatus and method for depositing encryption keys
Patent Number: 6,845,160 Issued on 01/18/2005 to Aoki

Title: Product identification rings for below ground storage tanks
Patent Number: 6,886,577 Issued on 05/03/2005 to Phillips,   et al.

Title: Methods and systems employing infrared thermography for defect detection and analysis
Patent Number: 6,840,666 Issued on 01/11/2005 to Enachescu,   et al.

Title: Blackening processing method and apparatus for radiation images
Patent Number: 7,043,067 Issued on 05/09/2006 to Murakami

Title: Method for updating an electronic service tool
Patent Number: 6,842,676 Issued on 01/11/2005 to Rodriguez

Title: Wrench capable of counting the number of times its torque reaches set values
Patent Number: 7,047,849 Issued on 05/23/2006 to Lai

Title: Detecting and thwarting imaging systems at theatrical performances
Patent Number: 6,861,640 Issued on 03/01/2005 to Light,   et al.

Title: Electrically operated vehicle drive controller, electrically operated vehicle drive control method and its program
Patent Number: 7,010,400 Issued on 03/07/2006 to Hisada,   et al.

Title: Flash memory cell programming method and system
Patent Number: 6,894,925 Issued on 05/17/2005 to Park,   et al.

Title: Dynamic remastering for a subset of nodes in a cluster environment
Patent Number: 7,080,075 Issued on 07/18/2006 to Chan,   et al.

Title: Method of diagnosing a risk of developing insulin resistance
Patent Number: 7,056,662 Issued on 06/06/2006 to Hotamisligil

Title: High activity, spatially distributed radiation source for accurately simulating semiconductor device radiation environments
Patent Number: 7,081,635 Issued on 07/25/2006 to Baumann

Title: Microcomputer with mode-controlled memory
Patent Number: 6,832,285 Issued on 12/14/2004 to Yada,   et al.

Title: Cash delivery apparatus for motor fuel dispenser or other self service facility
Patent Number: 6,845,907 Issued on 01/25/2005 to Enright

Title: Three-way switching valve
Patent Number: 6,883,545 Issued on 04/26/2005 to Koyama

Title: Device for sintering a shaped body
Patent Number: 6,923,025 Issued on 08/02/2005 to Christiansen

Title: Airless blaster arrangement
Patent Number: 6,971,947 Issued on 12/06/2005 to Artmann

System and method of cache management for storage controllers Number:7,080,197 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

 
Web LinkGrinder.com

Top Breaking News
     Former DRC Warlord Brought Before ICC Amid Doubts by Brent Latham
     Tanzania Devises Plan to Cope with Avian Flu Outbreak (Part 1/5) by Douglas Mpuga
     Kenyan Finance Minister Continues to Defy Calls to Step Down by Derek Kilner

Title: System and method of cache management for storage controllers

Abstract: The present invention is directed to a system and method of cache management for storage controllers. In an aspect of the present invention, a system for storing electronic data may include a host and a data storage apparatus communicatively coupled to the host. The host has cache coherency functionality. The data storage apparatus includes a first storage controller communicatively coupled to at least one storage device, the first storage controller further coupled to a first cache. A second storage controller is also included, which is communicatively coupled to at least one storage device, the second storage controller further coupled to a second cache. The cache coherency functionality of the host provides coherency of the first cache coupled to the first storage controller with the second cache coupled to the second storage controller.

Patent Number: 7,080,197 Issued on 07/18/2006 to Odenwald, Jr.


Inventors: Odenwald, Jr.; Louis H. (Wichita, KS)
Assignee: LSI Logic Corporation (Milpitas, CA)
Appl. No.: 10/125,712
Filed: April 18, 2002


Current U.S. Class: 711/114 ; 711/141
Current International Class: G06F 12/00 (20060101); G06F 12/16 (20060101)
Field of Search: 711/113,114,119,120,124,133


References Cited [Referenced By]

U.S. Patent Documents
6052758 April 2000 Crockett et al.
6073218 June 2000 DeKoning et al.
2001/0002480 May 2001 Dekoning et al.
2003/0126347 July 2003 Tan et al.

Other References

IBM International Technical Support Organization, "Planning for IBM Remote Copy," International Business Machines Corp., 1995, pp. 98, 131-132. cite- d by examiner.

Primary Examiner: Vital; Pierre
Attorney, Agent or Firm: Suiter West Swantz PC LLO

Claims



What is claimed is:

1. A system for storing electronic data, comprising: a host having cache coherency functionality; and a data storage apparatus communicatively coupled to the host, the data storage apparatus including, a first storage controller communicatively coupled to at least one storage device, the first storage controller further coupled to a first cache; a second storage controller communicatively coupled to one or more storage devices, the second storage controller further coupled to a second cache; and a plurality of storage devices suitable for being accessed by the first storage controller and the second storage controller, wherein the first cache and the second cache are not included in a single centralized cache, wherein the cache coherency functionality of the host provides coherency of the first cache coupled to the first storage controller with the second cache coupled to the second storage controller whereby the coherency of the first cache and the second cache is maintained without requiring periodic cache synchronization, wherein the first and second cache operate in a manner similar to a single cache by providing persistent data access without requiring periodic synchronization when at least one of: a storage controller included in the plurality of storage controllers; a storage device included in the plurality of storage devices; a cache included in the plurality of caches; and a data pathway to a storage controller included in the plurality of storage controllers becomes inaccessible.

2. The system as described in claim 1, wherein cached coherency provides ability of the first storage controller and the second storage controller to operate without ownership of logical unit numbers (LUNs).

3. The system as described in claim 1, wherein logical unit numbers (LUNs) in the data storage apparatus are visible through either controller.

4. The system as described in claim 3, wherein at least one of multipathing and load balancing is provided.

5. The system as described in claim 1, wherein if the first storage controller is inaccessible, the second storage controller is accessed through an alternate path.

6. The system as described in claim 1, wherein the cache coherency functionality operates to mirror the first storage controller and the second storage controller.

7. The system as described in claim 1, wherein the data storage apparatus is configured as a redundant array of independent disks (RAID).

8. A system for storing electronic data, comprising: a host having cache coherency functionality; and at least one data storage apparatus communicatively coupled to the host, the data storage apparatus including at least two storage controllers communicatively coupled to at least two storage devices, the at least two storage controllers each having a cache, and a plurality of storage devices suitable for being accessed by the at least two storage controllers, wherein the first cache and the second cache are not included in a single centralized cache, wherein the cache coherency functionality of the host provides coherency of the caches coupled to the at least two storage controllers by mirroring the storage controllers whereby the coherency of the caches coupled to the at least two storage controllers is maintained without requiring periodic cache synchronization, wherein the first and second cache operate in a manner similar to a single cache by providing persistent data access without requiring periodic synchronization when at least one of: a storage controller included in the at least two storage controllers; a storage device included in the at least two storage devices: a cache included in the plurality of caches; and a data pathway to a storage controller included in the at least two storage controllers becomes inaccessible.

9. The system as described in claim 8, wherein cached coherency provides ability of the storage controllers to operate without ownership of logical unit numbers (LUNs).

10. The system as described in claim 8, wherein logical unit numbers (LUNs) in the data storage apparatus are visible through either of the at least two controllers.

11. The system as described in claim 10, wherein at least one of multipathing and load balancing is provided.

12. The system as described in claim 8, wherein if a first storage controller of the at least two storage controllers is inaccessible, a second storage controller of the at least two storage controllers is accessed through an alternate path.

13. The system as described in claim 8, wherein the data storage apparatus is configured as a redundant array of independent disks (RAID).

14. A method of storing data from a host to a data storage apparatus, comprising: obtaining data by a host; and mirroring the obtained data by the host to at least two storage controllers of at least one data storage apparatus, the storage controllers each having at least one cache, wherein the at least one data storage apparatus includes a plurality of storage devices suitable for being accessed by the at least two storage controllers; providing coherency of the at least one cache coupled to each of the storage controllers, wherein the coherency of the at least one cache coupled to each of the storage controllers is maintained without requiring periodic cache synchronization, wherein each cache of the storage controllers does not form a single centralized cache together, wherein the plurality of caches operate in a manner similar to a single cache by providing persistent data access without requiring periodic synchronization when at least one of: a storage controller included in the at least two storage controllers; a storage device included in the plurality of storage devices; a cache included in the plurality of caches; and a data pathway to a storage controller included in the at least two storage controllers becomes inaccessible.

15. The method as described in claim 14, wherein the data is obtained from at least one of an application operating on the host and from a remote source.

16. The method as described in claim 14, wherein the mirrored data provides ability of the storage controllers to operate without ownership of logical unit numbers (LUNs).

17. The method as described in claim 14, wherein logical unit numbers (LUNs) in the data storage apparatus are visible through either of the at least two controllers.

18. The method as described in claim 17, wherein at least one of multipathing and load balancing is provided.

19. The method as described in claim 14, wherein if a first storage controller of the at least two storage controllers is inaccessible, a second storage controller of the at least two storage controllers is accessed through an alternate path.

20. A system for storing electronic data, comprising: a host having means for managing cache coherency; and at least one data storage apparatus communicatively coupled to the host, the data storage apparatus including at least two means for controlling data storage operations communicatively coupled to at least one means for storing data, the at least two controlling means each having a means for caching; wherein the at least one data storage apparatus maintains a plurality of data blocks which are shared by the at least two means for controlling data storage operations; wherein the cache coherency means of the host provides coherency of the caching means coupled to the at least two controlling means whereby the coherency of the caching means coupled to the at least two controlling means is maintained without requiring periodic cache synchronization wherein each of the cache means does not form a single centralized cache together, wherein the plurality of caching means operate in a manner similar to a single caching means by providing persistent data access without requiring periodic synchronization when at least one of: a controlling means included in the at least two controlling means; a means for storing data included in the at least one data storing means; a caching means included in the plurality of caching means; and a data pathway to a controlling means included in the at least two controlling means becomes inaccessible.
Description



FIELD OF THE INVENTION

The present invention generally relates to the field electronic data storage, and particularly to a system for cache management for storage controllers by a host, such cache management suitable for providing cache coherency of multiple caches linked to multiple storage controllers.

BACKGROUND OF THE INVENTION

The storage of electronic data is one of the most important aspects of the digital age as consumers and businesses increasingly rely on persistent, efficient and reliable access to this necessary data. Because of the importance of this data, a variety of methods and systems have been developed to provide redundant and efficient data access to ensure the availability of the data.

Redundant arrays of independent disks (RAID) have been provided to ensure such data availability. RAIDs may include multiple storage devices having mediums for storage of electronic data and depending on the protocol used, data may be obtained even in the event of failure of one of the storage devices. However, the amount of storage needed by a user may require that a data storage apparatus be specially configured to provide the desired throughput and storage quantity.

For instance, in a smaller environment, a singe RAID may be provided having redundant storage devices for storage of all the information necessary for a small business. In an enterprise solution, vast arrays of storage systems may need to be provided, having pluralities of controllers, storage devices, and caches.

Between the enterprise solutions needed by large businesses and a single RAID used by small businesses and individuals are mid-range solutions. Many mid-range RAID solutions rely on pairs of controllers operating dependently to both increase performance and add redundancy. Typically each controller will own a unique set of logical unit numbers, and operate somewhat autonomously. Another characteristic of mid-range solutions is that, typically, multiple caches are employed, such as one for each controller. These caches must be periodically synchronized with one another so that each controller may be prepared to take over partner LUNs in the event of a controller failure. Such synchronization may require specialized resources within the storage device and consume valuable apparatus resources, thereby making the solution more expensive and less desirable.

Therefore, it would be desirable to provide a system and method for cache management for storage controllers.

SUMMARY OF THE INVENTION

Accordingly, the present invention is directed to a system and method of cache management for storage controllers. In an aspect of the present invention, a system for storing electronic data includes a host and a data storage apparatus communicatively coupled to the host. The host has cache coherency functionality. The data storage apparatus includes a first storage controller communicatively coupled to at least one storage device, the first storage controller further coupled to a first cache. A second storage controller is also included, which is communicatively coupled to at least one storage device, the second storage controller further coupled to a second cache. The cache coherency functionality of the host provides coherency of the first cache coupled to the first storage controller with the second cache coupled to the second storage controller.

In an additional aspect of the present invention, a system for storing electronic data includes a host having cache coherency functionality and at least one data storage apparatus communicatively coupled to the host. The data storage apparatus includes at least two storage controllers communicatively coupled to at least two storage devices, the at least two storage controllers each having a cache. The cache coherency functionality of the host provides coherency of the caches coupled to the at least two storage controllers by mirroring the storage controllers.

In a further aspect of the present invention, a method of storing data from a host to a data storage apparatus includes obtaining data by a host. The obtained data is mirrored to at least two storage controllers of at least one data storage apparatus, the storage controllers each having at least one cache.

It is to be understood that both the forgoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention as claimed. The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate an embodiment of the invention and together with the general description, serve to explain the principles of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The numerous advantages of the present invention may be better understood by those skilled in the art by reference to the accompanying figures in which:

FIG. 1 is an illustration of an embodiment of the present invention wherein cache coherency is provided by a host thereby enabling LUNs to be viewable through either controller;

FIG. 2 is an illustration of an embodiment of the present invention wherein a host includes cache coherency functionality to provide synchronized caches with minimal data storage apparatus resource usage;

FIG. 3 is an illustration of an embodiment of the present invention wherein cache coherency functionality included in a host provides controller mirroring for data storage apparatus synchronization; and

FIG. 4 is an illustration of an embodiment of the present invention wherein data obtained by a host is mirrored to at least a first storage controller and a second storage controller.

DETAILED DESCRIPTION OF THE INVENTION

Reference will now be made in detail to the presently preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings.

Referring generally now to FIGS. 1 through 4, exemplary embodiments of the present invention are shown. Many mid-range redundant arrays of independent disks (RAID) solutions rely on pairs of controller operating dependently to both increase performance and add redundancy. Typically, each controller owns a unique set of logical unit numbers (LUNs) and operates somewhat autonomously. Another characteristic of mid-range solutions is that multiple caches may be provided, once in each controller. Having multiple caches adds to system redundancy, but it also dramatically increases complexity of overall system design. These caches must periodically be synchronized with one another so that each controller may be prepared to take over a partner controller's logical unit numbers in the event of the controller's failure. Multiple caches are a differentiating factor between many mid-range RAIDs, and larger enterprise class solutions. For example, enterprise solutions may have a single cache to simplify the design by removing the need for cache coherency, and removes the LUN ownership quagmire.

As mentioned, in many mid-range RAIDs, controllers typically own a unique set of logical unit numbers (LUNs). A side-affect of this ownership is that a LUN may only be accessed through a single controller, whereas in enterprise solutions having a single cache, this problem is not encountered. Therefore, I/Os for a specific LUN may be issued through multiple controllers.

Typically, mid-range RAIDS require specific hardware and/or require system resources in order to synchronize the caches, such as through an internal bus, on the backside (drive side) of the controllers, and the like. Having to periodically synchronize caches themselves adds to the complexity and cost of a design. Additionally, multiple caches which are not synchronized 100% of the time may require LUN ownership. This, in turn, adds to the complexity of the system in the event of a controller failover and prohibits load balancing. However, in the present invention, cache coherency functionality is provided by a host 106, thereby synchronizing the caches 108 & 110 of the corresponding controllers 102 & 104 with an efficient use of system resources, as shown in FIG. 1. Thus, all LUNs 112 will be viewable through both controllers 102 & 104, thereby enabling a variety of functionality.

Referring now to FIG. 2, an embodiment 200 of the present invention is shown wherein a host includes cache coherency functionality to provide synchronized caches with minimal data storage apparatus resource usage. A host 202 is communicatively coupled to a data storage apparatus 204. The data storage apparatus 204 includes a first storage controller 206 and a second storage controller 208. The storage controllers are communicatively coupled to storage devices 210 for storage of electronic data on media, preferable to provide nonvolatile storage. The storage devices 210 and the data stored thereon may be "seen" as LUNs, i.e. as abstractions of the data stored on the storage devices, through use of the storage controllers to store and access data on the storage devices.

To increase the efficiency of the storage controllers 206 & 208, each storage controller is communicatively coupled to a cache. For example, as shown in FIG. 2, the first storage controller is coupled to a first cache 212 and the second storage controller 208 is coupled to a second cache 214. The caches 212 & 214 provide data staging so that data may be accessed in a timely manner. For example, the caches 212 & 214 may be utilized to stage data in anticipation of host 202 use so that the data may be fetched and ready without read latency. Additionally, data may be cached when received from a host 202 by the storage controllers 206 & 208 for writing to the storage devices 210. Thus, data may be stored before it is written to the storage devices 210 in order to more efficiently provide data due to latency of the storage devices in the ability to receive and write data. A variety of other uses of a cache are contemplated by the present invention without departing from the spirit and scope thereof.

Multiple storage controllers 206 & 208 may be provided to offer persistent data access should one of the storage controllers fail, pathways to a storage controller become inaccessible, and the like. However, as previously stated, by providing multiple caches with multiple storage controllers, synchronization issues may be encountered which previously required specialized hardware and/or additional system resources. However, the present invention provides cache coherency function "above" the data storage apparatus layer 204 at the host 202 so that the caches 212 & 214 of the controllers 206 & 208 are synchronized. In this way, should one controller become unavailable, the other controller may be utilized without a concern for cache coherency.

Referring now to FIG. 3, an embodiment 300 of the present invention is shown wherein cache coherency functionality included in a host provides controller mirroring for data storage apparatus synchronization. A host 302 is communicatively coupled to a first storage controller 304 and a second storage controller 306. These controllers 304 & 306 may be grouped as a data storage apparatus 308 regardless of physical location of the controllers 304 & 306 with respect to each other.

The first storage controller 304 includes a first cache 308 and the second storage controller 306 includes a second cache 310 for staging data 312 & 314. The data 312 & 314 may be staged before being provided to the host 302, the storage devices 316, and the like.

To provide data coherency between the storage controllers 304 & 306 and the corresponding caches 308 & 310 and storage devices 316, the host 302 provides cache coherency functionality 318. The host 302 may provide such coherency by mirroring the controllers 304 & 306. Thus, the host 302, such as a server, host bus adapter residing on a server, information handling system, and the like, through the cache coherency functionality 320 enables the caches 304 & 306 to operate in a manner similar to a single cache.

By mirroring controller 304 & 306, the multiple caches 308 & 310 may function similar to the single cache found in enterprise class solutions. Additionally, the controller 304 & 306 architecture may be simpler because there is no longer a need for the controllers 304 & 306 to manage the cache coherency. This simplification may in turn result in a reduction in cost of a data storage apparatus and system incorporating the present invention.

Additionally, because of the coherency of the caches 304 & 306, there is no longer the need for LUN ownership by a single controller. Therefore, all of the LUNs may be accessible through either controller, which enables multipathing features, load balancing features, and the like as contemplated by a person of ordinary skill in the art.

For example, there is no longer a need for controller failover, because the recovery may be provided by a failover to an alternate path. For instance, should the first storage controller 304 become inaccessible, the second storage controller 306 may be utilized to access the same data 316, the cache 310 of the second storage controller 306 having the same data as that stored in the first cache 308. The second storage controller 306 is accessible to the host 302 merely by specifying the path 320 to the second storage controller 302 through use of the present invention.

Referring now to FIG. 4, an embodiment 400 of the present invention is shown wherein data obtained by a host is mirrored to at least a first storage controller and a second storage controller. A host 402 may obtain data 406 from a variety of sources for storage on storage devices, such as transferred from an information handling system to the host, from an application 404 operating on the host, over a network connection, and the like.

To ensure that the data 406 is available even in an instance of failure of a data storage device, data transfer path, and the like, the host, through the cache coherency functionality 408 mirrors the data to at least a first storage controller 410 and a second storage controller 412. Because data may be transferred more quickly to the first storage controller 410 and the second storage controller 412 than the controllers 410 & 412 and the storage devices 414 may write the data, caches 416 & 418 are provided for the storage controllers. Thus, the data blocks 406a may be stored by the caches to allow for further operations by the system and minimize bottlenecks. Once the storage devices 414 are ready to receive the data for writing, the data 406b is transferred to the storage devices 414 for nonvolatile storage.

It should be noted that in this embodiment, should failure of either of the storage controllers 410 & 412, caches 418 & 420, data storage devices 414, or pathways connecting the components become inaccessible or fail, a redundant copy of the data is provided by a mirrored controller in a manner similar to the failed system. Thus, the data may be obtained and manipulated without entering detailed failover conditions which involve synchronizing and the like. Rather, the present invention may provide access to the data in an efficient manner by a specified path by the host. Further, although two mirrored storage controllers are described, additional mirrored storage controllers may be provided to further provide data redundancy and access.

In exemplary embodiments, the methods disclosed may be implemented as sets of instructions or software readable by a device. Further, it is understood that the specific order or hierarchy of steps in the methods disclosed are examples of exemplary approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the method can be rearranged while remaining within the scope of the present invention. The accompanying method claims present elements of the various steps in a sample order, and are not meant to be limited to the specific order or hierarchy presented.

It is believed that the system and method of the present invention and many of its attendant advantages will be understood by the forgoing description. It is also believed that it will be apparent that various changes may be made in the form, construction and arrangement of the components thereof without departing from the scope and spirit of the invention or without sacrificing all of its material advantages. The form herein before described being merely an explanatory embodiment thereof. It is the intention of the following claims to encompass and include such changes.

*


Free Web Sudoku Puzzles.
Solve with your browser.
  8 6 3          
5             2  
3 9         6    
  4   8 2       9
  1   4   3   6  
8       5 6   1  
    4         8 7
  5             6
          5 3 9  
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!