The present invention relates to data storage generally and, more particularly, to a method and/or apparatus to increase the flexibility of configuration and/or I/O performance on an array by creation of a RAID volume in a heterogeneous mode.
Conventional approaches often create Redundant Array of Independent Disks (RAID) volume groups with one type of (i) Fibre Channel drive (FC) and Serial Advanced Technology Attachment (SATA) drive, (ii) Serial Attached SCSI (SAS) drives (iii) FC drives, or (iv) SATA drive. Conventional approaches are not able to create RAID volume groups with combinations of (i) FC and SAS drives, (ii) FC, SAS, and SATA drives or (iii) SAS and SATA drives.
In conventional approaches, the drive configuration will have unassigned drives. The unassigned drives cannot be a part of a RAID volume group with another type of drive. If there are only two FC drives and two SAS drives, and a customer wants to create a RAID 3 volume group, the customer cannot create the RAID 3 volume group since there is not another FC drive or SAS drive. Conventional approaches do not help in reducing external fragmentation. Unused storage is often available, but the customer cannot make use of the space.
Conventional approaches provide support for FC, SAS and SATA backend hard drives with a single FC interface. However, conventional approaches do not provide the support for RAID Volume creation using the mixture of FC, SAS and SATA drives. A drive channel with an FC interface supports FC, SATA and SAS drives. FC to SAS interposers can convert the FC interface to the SAS interface, allowing the SAS Drive enclosure to be plugged into the array having the FC interface. However, these examples do not support logical unit number (LUN) creation by mixing FC, SATA and SAS drives.
It would be desirable to implement a method and/or apparatus to increase the flexibility of configuration and I/O performance on a drive array by implementing a volume (e.g., a RAID volume) in a heterogeneous mode. It would also be desirable to support a hybrid mix of drives to create a RAID volume.
The present invention concerns an apparatus comprising a controller and a plurality of storage drives. The controller may be configured to generate a control signal in response to one or more input/output requests. The plurality of storage drives may be arranged as one or more volumes. Each of the volumes may comprise a plurality of drive groups. Each of the drive groups may comprise a particular type of storage drive. The controller may be configured to form the volume across drives from two or more of the groups.
The objects, features and advantages of the present invention include providing a method and/or apparatus to increase the flexibility of configuration and I/O performance on an array that may (i) create a RAID volume in a heterogeneous mode (ii) implement different drive types for large storage pool creation, (iii) implement RAID Volume creation based on a performance factor (e.g., I/O is prioritized), (iv) provide efficient utilization of storage space, (v) reduce external fragmentation, (vi) reduce the number of unassigned drives not usable in the RAID volume group, (vii) effectively implement the backend RAID volume based on the importance and/or the type of data, (viii) implement intelligence in RAID firmware, (ix) implement different drives in a hybrid mixture of RAID volumes based on the priority of the data and the type of applications, (x) implement backend FC drives for applications requiring high availability of resources, (xi) implement backend SAS Drives when the majority of the applications access data, (xii) implement SATA drives for less frequently accessed data, lower available resources, and/or data backups and/or (xiii) be implemented cost effectively.
These and other objects, features and advantages of the present invention will be apparent from the following detailed description and the appended claims and drawings in which:
Referring to
The host 102 may have an input/output 110 that may present a input/output request (e.g., REQ). The signal REQ may be sent through the network 104 to an input/output 112 of the controller 108. The controller 108 may have an input/output 114 that may present a signal (e.g., CTR) to an input/output 116 of the storage array 106.
The storage array 106 may have a number of storage devices (e.g., drives or volumes) 120a-120n, a number of storage devices (e.g., drives or volumes) 122a-122n and a number of storage devices (e.g., drives or volumes) 124a-124n. In one example, each of the storage devices 120a-120n, 122a-122n, and 124a-124n may be implemented as a single drive, multiple drives, and/or one or more drive enclosures. The storage devices 120a-120n, 122a-122n and/or 124a-124n may be implemented as one or more hard disc drives (HDDs), one or more solid state devices (SSDs) or a combination of HDDs and SSDs. In one example, the storage devices 120a-120n may be implemented as Fibre Channel (FC) drives. In one example, the storage devices 122a-122n may be implemented as Serial Advanced Technology Attachment (SATA) drives. In one example, the storage devices 124a-124n may be implemented as Serial Attached SCSI (SAS) drives. The system 100 may comprise a heterogeneous matrix of drives.
Since the SAS protocol frame is similar to the FC protocol frame, the distribution of input/output (I/O) packets may be transferred between the SAS and FC drives. I/O packets may comprise a destination address. If the data is written onto the FC drive, then the data may be written and/or read according to the supported FC drive speed. Data may be written similarly onto the SAS drive. Redundancy may be provided if the data is striped across the FC and SAS drives, or FC and SATA drives, such as in RAID 0, RAID 50, RAID 60, RAID 30, RAID 10 and/or RAID 01 volume groups.
Referring to
The drive enclosure 140 may support multiple drive types. In one example, the drive enclosure 140 may implement an FC interface supporting FC, SATA and/or SAS hard drives. The controller 108 may store mapping information. The mapping information may be stored as meta data in a table, as shown in TABLE 1. The table may be implemented in the firmware 109. The logical mapping of the RAID volume 106 may point to the physical mapping of the backend SAS, FC, and/or SATA hard drives 120a-120n, 122a-122n and/or 124a-124n. The logical mapping may be implemented in the controller firmware 109. The firmware 109 may also process routing of the data into the backend SAS, FC, and/or SATA drives. The following TABLE 1 illustrates an example of such mapping:
The firmware 109 may include software code configured to collect additional information in the form of meta data. The firmware 109 may contain the mapping table shown in TABLE 1. The mapping table may comprise the RAID volume and associated drives, tray ID, slot number, the logical sector range and physical sector range, etc. The firmware 109 may also implement functions to control the RAID controller 108. The firmware 109 may categorize the data and/or move the data to the corresponding hard drives 120a-120n, 122a-122n, and/or 124a-124n in a particular RAID volume or RAID volume group 106.
One layer in the controller firmware 109 may manage all the activities of writing the data to the respective backend disks based on the type of data. The volume group 106 may be created with a hybrid mixture of drives. An intelligence layer in the firmware 109 may determine the writing speed to the volume 106 based on the speeds of different interfaces. The volume group 106 may be implemented independently of concerns of the particular type of drive(s) available. The firmware 109 may determine how the data is to be written on the backend disks.
Referring to
Referring to
Referring to
The RAID01 illustrates an example where portions within each individual RAID0 are implemented with mixed drive types. For example, the data A1, A2, A3, A4, A5 and A6 of the left RAID0 are shown as being shaded, generally indicating data stored on a SATA hard drive. On the right RAID0, the data A1, A2, A3, A4, A5 and A6 are shown not shaded, which generally indicates data stored on an FC hard drive. The particular drives that are implemented as data being either shaded or not shaded may be varied to meet the design criteria of a particular implementation. While FC drives and SATA drives have been illustrated, various combinations other types of drives may be implemented to met the design criteria of a particular implementation.
Referring to
Referring to
The storage devices 120a-120n, 122a-122n and/or 124a-124n (e.g., as shown in
Referring to
The state 202 may represent a RAID volume creation state. The decision state 204 may determine the hybrid drive combination for the RAID volume 106. The state 206 may represent a FC and SATA drive volume combination. The state 208 may represent a FC and SAS drive volume combination. The state 210 may represent a SATA and SAS drive volume combination. The state 212 may represent a SAS, FC and SATA drive volume combination. In the state 214, data may be written onto/from the RAID volume 106 based on the frequency of data and/or data availability. In the state 216, data on the hybrid drive (e.g., the drive 106) may be moved between individual drives (e.g., the drives 120a-120n, 122a-122n and/or 124a-124n). For example, data that is more frequently accessed may be moved to a faster operating drive.
The decision state 218 may determine a data category for the data. In the state 218, if the RAID volume 106 comprises SAS and SATA drives and if data is critical (e.g., the highest accessed data), or if the data is used for high availability, then the data may be stored on a SAS drive in the state 220. If the data is less frequently accessed, then the data may be stored on a SATA drive in the state 224. In the state 218, if the RAID volume 106 comprises SAS and FC drives and if data is less frequently used, then the data may be stored on a SAS drive in the state 220. If the data is used for high availability, then the data may be stored on a FC drive in the state 222. In the state 218, if the RAID volume 106 comprises SAS, FC and SATA drives and if data is critical (e.g., frequently accessed data), then data may be stored on a SAS drive in the state 220. If the data is used for high availability, then the data may be stored on a FC drive in the state 222. If the data is less frequently accessed, then the data may be stored on a SATA drive in the state 224. In the state 226, meta data may be updated with the logical mapping of data in the RAID volume 106 with the physical mapping (e.g., tray ID, slot, etc.) of the backend drives.
The RAID volume 106 may comprise a combination of SAS, SATA and/or FC drives without affecting the input/output processing. The data written on the backend disks may be modified to meet certain design criteria, such as the frequently accessed data, highly available data and/or the data which needs to be backed up. The method 200 may be implemented to store the corresponding data on the respective drives 120a-120n, 122a-122n and/or 124a-124n depending on the type of drives involved in the RAID volume 106.
The functions performed by the diagram of
The present invention may also be implemented by the preparation of ASICs (application specific integrated circuits), Platform ASICs, FPGAs (field programmable gate arrays), PLDs (programmable logic devices), CPLDs (complex programmable logic device), sea-of-gates, RFICs (radio frequency integrated circuits), ASSPs (application specific standard products), one or more monolithic integrated circuits, one or more chips or die arranged as flip-chip modules and/or multi-chip modules or by interconnecting an appropriate network of conventional component circuits, as is described herein, modifications of which will be readily apparent to those skilled in the art(s).
The present invention thus may also include a computer product which may be a storage medium or media and/or a transmission medium or media including instructions which may be used to program a machine to perform one or more processes or methods in accordance with the present invention. Execution of instructions contained in the computer product by the machine, along with operations of surrounding circuitry, may transform input data into one or more files on the storage medium and/or one or more output signals representative of a physical object or substance, such as an audio and/or visual depiction. The storage medium may include, but is not limited to, any type of disk including floppy disk, hard drive, magnetic disk, optical disk, CD-ROM, DVD and magneto-optical disks and circuits such as ROMs (read-only memories), RAMs (random access memories), EPROMs (electronically programmable ROMs), EEPROMs (electronically erasable ROMs), UVPROM (ultra-violet erasable ROMs), Flash memory, magnetic cards, optical cards, and/or any type of media suitable for storing electronic instructions.
The elements of the invention may form part or all of one or more devices, units, components, systems, machines and/or apparatuses. The devices may include, but are not limited to, servers, workstations, storage array controllers, storage systems, personal computers, laptop computers, notebook computers, palm computers, personal digital assistants, portable electronic devices, battery powered devices, set-top boxes, encoders, decoders, transcoders, compressors, decompressors, pre-processors, post-processors, transmitters, receivers, transceivers, cipher circuits, cellular telephones, digital cameras, positioning and/or navigation systems, medical equipment, heads-up displays, wireless devices, audio recording, storage and/or playback devices, video recording, storage and/or playback devices, game platforms, peripherals and/or multi-chip modules. Those skilled in the relevant art(s) would understand that the elements of the invention may be implemented in other types of devices to meet the criteria of a particular application.
While the invention has been particularly shown and described with reference to the preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made without departing from the scope of the invention.