This application is directed generally to Redundant Array of Independent Disks (“RAID”) storage and the use of such storage as storage area networks (“SANs”). More particularly, but not exclusively, the present application is directed to systems and methods to facilitate self-contained embedded storage providing data redundancy and automatic failover.
In RAID storage systems, metadata RAID arrays are typically configured as high performance external storage devices. These external storage devices use high speed interfaces—e.g., interface technology associated with Fibre Channel or other networking technologies—and are coupled via a corresponding switch—e.g., a Fibre Channel switch or other switch.
Metadata servers are typically used in RAID storage systems. Such metadata servers use metadata to keep track of file system information, pool size, and other housekeeping storage. Typical external storage devices have used very large hard drives that must be mirrored, resulting in inefficient consumption of RAID storage resources. For example, mirrored data in typical systems will reserve the entire capacity of four 1 terabyte (TB) drives for only 1 gigabyte (GB) of data.
Such standard configurations as those described above have resulted in many disadvantages, including inefficient use of storage resources and high cost associated with use expensive drives for metadata storage.
Exemplary embodiments of the invention that are shown in the drawings are summarized below. These and other embodiments are more fully described in the Detailed Description section. It is to be understood, however, that there is no intention to limit the invention to the forms described in this Summary of the Invention or in the Detailed Description. One skilled in the art can recognize that there are numerous modifications, equivalents and alternative constructions that fall within the spirit and scope of the invention as expressed in the claims.
In accordance with some aspects of the present invention, configurable storage and processing modules, such as those in the form of computer “cards”, may be inserted in or placed in communication with a metadata controller or other computing device to dynamically store metadata that would otherwise be stored on costly Redundant Array of Independent Disks (“RAID”) storage within a storage area network (“SAN”). The metadata may then be mirrored from one metadata module/card to another metadata module/card associated with the same metadata controller/computing device or another metadata controller/computing device in order to ensure redundant storage of the metadata. This approach advantageously frees up valuable space within the RAID storage of the SAN as well as bandwidth of the storage controller which would otherwise be consumed in interfacing with the RAID storage for metadata communication.
In one aspect, the invention provides a system comprising a frame configured for insertion in a host device, and an electronics module coupled to the frame. The electronics module may include a host bus interface configured to receive power from the host device, one or more storage devices, an external communications interface configured to provide access to the storage devices from a client computer through an external communications network, and controller electronics configured to manage the host bus interface, the one or more storage devices and the external communications interface.
In another aspect, the invention provides a method for managing storage for a RAID system. Such a method may receive, at a metadata controller, a request from a client computer for access to data on a RAID array. The metadata controller may then retrieve, from a metadata RAID array module associated with the metadata controller, metadata associated with the client computer request. The metadata controller may then provide the metadata to the client computer of another device.
In another aspect, the invention provides a method for managing storage for a system using RAID storage of data. Such a method may employ a metadata RAID array module associated with a metadata controller, where the RAID array module receives power from a host device (e.g., the metadata controller or other device), receives a request for metadata via an external communications interface, and provides one or more sets of metadata from a storage device disposed in the metadata RAID array module responsive to the request for metadata.
The features, nature, and advantages of the present disclosure will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify conespondingly throughout and wherein:
Various aspects of embodiments are described below, and it should be apparent that the teachings herein may be implemented in a wide variety of forms and that any specific structure, function, or both being disclosed herein is merely representative. Various embodiments may be implemented in the form of processes and methods, apparatuses and devices, systems, and/or computer-readable media.
Systems that use RAID storage offer a high volume of storage capacity, and redundant storage of data. One example of a RAID system is a storage area network or SAN. SANs provide a storage mechanism where one or more client computers connect via a storage protocol (e.g., the standardized Fibre Channel technology). In these systems, client computers are unaware where storage is physically located. A server or controller communicates with each of the client computers, and the client computers can then mount a file system locally to access remote storage via the operating system of the client computer.
The disclosure relates generally to systems and methods for providing self-contained embedded storage providing data redundancy and automatic failover. In one embodiment, a metadata Redundant Array of Independent Disks (“RAID”) array module disposed for insertion in a metadata controller or other computing device is described. The RAID array module may be configured to receive power and/or cooling from the metadata controller while providing RAID metadata functionality via an external interface. The external interface may be a Fibre Channel interface or other suitable technology.
For purposes of comparison, a typical RAID storage system 100 is shown in
Attention is now directed to
As shown in
In an exemplary embodiment, modules 260A and 260B may be implemented as a pair of printed circuit board assemblies, also referred to herein as “Cards” for brevity. The pair of cards may be interconnected via a standard communications channel (e.g., Ethernet, serial line or Fibre Channel) as a backplane between the two controllers 220A and 220B. In accordance with some embodiments, one or more of the Cards may monitor the status(es) of the other Card(s) via a heartbeat message that is transferred over the communications channel. The heartbeat message enables one Card to recognize that is has lost its connection to the other Card. Often, a loss of connection can be the result of the other Card failing or otherwise going offline.
The Cards may be further interconnected with one or more external network devices (e.g., a client computer) via a network interface 250. Such a network interface 250 allows each of the Cards to communicate with the one or more external network devices under various circumstances, including when one Card fails and the other Card is needed to provide metadata (or other data) to the network device(s).
The Cards may be configured mechanically with a frame/chassis configured for insertion in the host metadata controller 220. The mechanical configuration will typically be particular to the architecture and interfaces provided by the host controller 220 (i.e., server or other computer module interfaces—IBM, Apple, Sun, etc.).
The Card may optionally provide data redundancy at a single Card level using a RAID mirror. Protection against failure of the Card or the host device may be provided by mirroring data via a standard communication interface to a another Card installed in a second host device—e.g., Cards as shown as modules 260A and 260B of
Administration of the Card may be done through the host device's standard interface bus (e.g., bus 380), or through another connection (e.g., via interfaces 340, 350 or 370).
As shown in
Controller electronics 300 are included to manage operation of the Card and its various elements. In an exemplary embodiment, a Card is configured as a PCI express card that is consistent with the standard size, power and cooling requirements of PCI express card(s). The electronics are configured to facilitate interfacing with the host bus 380 for administration functions, while providing an embedded configuration for managing the various modules as are shown in
The Card may also include a battery backed I/O cache module 320 as part of the RAID implementation to facilitate caching of RAID data, as well as a status display 330 that may be used to provide status information, fault detection information, and/or other status or operational information.
Access to the Card may be provided through the external communications interface 350. In an exemplary embodiment, this may be a Fibre Channel interface, however, other interfaces, including fiber over Ethernet, iSCSI, SAS, or other standard communication protocols may be used.
As noted previously, administration, such as configuration, fault detection, or other administrative functions, may be performed via the host device interface 380 or through the network interface 340.
The interconnection interface or backplane interface 370 may be used to connect two Cards together. This may be done via a standard or custom communications interface. Example interfaces include Ethernet, Fibre channel IEEE 1394, high speed serial interfaces and the like. By connecting two cards together, the data may be mirrored between the two cards to provide additional data redundancy. The minoring may be done in a fashion as is known or developed in the art.
Certain embodiments of
Certain embodiments of
Certain embodiments of
Certain embodiments of
Certain embodiments of
Any of the embodiments described above may be used in relation to various SAN environments. In accordance with one environment, the various embodiments of the invention may be used in place of a typical RAID system that stores Medatata information. In accordance with another environment, the various embodiments of the invention may be used in addition to a typical RAID system. In accordance with yet another environment, the various embodiments of the invention may be used with a portion of the typical RAID system.
Based on the teachings herein one skilled in the art should appreciate that an aspect disclosed herein may be implemented independently of any other aspects and that two or more of these aspects may be combined in various ways. For example, a system or sub-system may be implemented, or a method may be practiced using any number of the aspects set forth herein. In addition, such a system may be implemented or such a method may be practiced using other structure, functionality, or structure and functionality in addition to or in place of one or more of the aspects set forth herein. Furthermore, an aspect may comprise one or more elements of a claim.
In some configurations, the systems and methods for mirroring processes and failover processes described herein include means for performing various functions as are described herein. In one aspect, the aforementioned means may be a processor or processors and associated memory in which embodiments of the invention reside, and which are configured to perform the functions recited by the aforementioned means. Such processors may be implemented within the controller electronics 300 of
In one or more exemplary embodiments, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or encoded as one or more instructions or code on a computer-readable medium. Computer-readable media includes computer storage media such as was described previously herein. Storage media may be any available media that can be accessed by a computing device. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computing device. By way of example, the medium may be a stand-alone storage device not shown in communication with any of the elements in
It is also understood that the specific order or hierarchy of steps in the processes disclosed are each exemplary approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the processes may be rearranged while remaining within the scope of the present disclosure. Accordingly, 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.
Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, DSP or state machine. A processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration).
Those of skill in the art would understand that information and associated data files and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the disclosure. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
The claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language of the claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” Unless specifically stated otherwise, the term “some” refers to one or more. A phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover: a; b; c; a and b; a and c; b and c; and a, b and c.
This application claims priority under 35 U.S.C. §119(e) to U.S. Provisional Patent Application Ser. No. 61/322,909, entitled SYSTEMS AND METHODS FOR RAID METADATA STORAGE, filed Apr. 11, 2011, the contents of which is incorporated by reference herein in its entirety for all purposes.
Number | Date | Country | |
---|---|---|---|
61322909 | Apr 2010 | US |