Implementing a redundant array of inexpensive drives
Summary by NHIP
External RAID with Separate Drives
The method configures a RAID array using an external hardware controller and hard disk drives from separate computers. One computer includes a switch that toggles between connecting a host adapter to a local drive or to the external controller, with the adapter being a Serial Attached Small Computer System Interface device.
Claim Score by NHIP
Abstract
Methods, apparatus, and products are disclosed for implementing a redundant array of inexpensive drives (‘RAID’) with an external RAID controller and hard disk drives from separate computers, including configuring by the external RAID controller a RAID array, the RAID array comprising hard disk drives from the separate computers, the external RAID controller comprising a hardware RAID controller installed externally with respect to the separate computers, and storing, by one or more of the separate computers through the external RAID controller, computer data on the RAID array.

Term
6 yearsleft in the term
Expires 5 October 2032, including 1,928 days of term adjustment.
- Priority and filed
- Granted
- Today
- Expires
18 claims: 3 independent, 15 dependent
- 1Broadest claimClaim Score 67, broad(NHIP)A method of implementing a redundant array of inexpensive drives (‘RAID’), the method implemented with an external RAID controller and with hard disk drives from separate computers, the method comprising:configuring by the external RAID controller a RAID array, the RAID array comprising hard disk drives from the separate computers, the external RAID controller comprising a hardware RAID controller installed externally with respect to the separate computers;and storing, by one or more of the separate computers through the external RAID controller, computer data on the RAID array.
- 7Apparatus for implementing a RAID array, the apparatus comprising an external RAID controller and hard disk drives from separate computers, the apparatus further comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions capable of:configuring by the external RAID controller a RAID array, the RAID array comprising hard disk drives from the separate computers, the external RAID controller comprising a hardware RAID controller installed externally with respect to the separate computers;and storing, by one or more of the separate computers through the external RAID controller, computer data on the RAID array.
- 13A computer program product for implementing a RAID array, the RAID array implemented with an external RAID controller and hard disk drives from separate computers, the computer program product disposed upon a computer readable, recordable medium, the computer program product comprising computer program instructions capable of:configuring by the external RAID controller a RAID array, the RAID array comprising hard disk drives from the separate computers, the external RAID controller comprising a hardware RAID controller installed externally with respect to the separate computers;and storing, by one or more of the separate computers through the external RAID controller, computer data on the RAID array.
Independent claims3
40 paragraphs in 4 sections, as filed
BACKGROUND OF THE INVENTION
p-00021. Field of the Invention
p-0003The field of the invention is data processing, or, more specifically, methods, apparatus, and products for implementing a RAID array.
p-00042. Description of Related Art
p-0005The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computer systems have evolved into extremely complicated devices. Today's computers are much more sophisticated than early systems such as the EDVAC. Computer systems typically include a combination of hardware and software components, application programs, operating systems, processors, buses, memory, input/output devices, and so on. As advances in semiconductor processing and computer architecture push the performance of the computer higher and higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than just a few years ago.
p-0006One of the areas in which progress has been made is in non-volatile computer memory such as hard disk drives. A single internal hard disk drive, however, lacks redundancy. To gain redundancy, either more drives need to be added to the system, which requires more space and power, or external drives may be connected for redundancy, RAID arrays, SAN arrays, and so on. Another mechanism to gain similar functionality is to use a Cluster File System such as GFS. However, nodes that participate in a CFS are unable to boot from the file system or operate independently of system status, since it exists at the operating system level.
SUMMARY OF THE INVENTION
p-0007Methods, apparatus, and products are disclosed for implementing a redundant array of inexpensive drives (‘RAID’) with an external RAID controller and hard disk drives from separate computers, including configuring by the external RAID controller a RAID array, the RAID array comprising hard disk drives from the separate computers, the external RAID controller comprising a hardware RAID controller installed externally with respect to the separate computers, and storing, by one or more of the separate computers through the external RAID controller, computer data on the RAID array.
p-0008The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular descriptions of exemplary embodiments of the invention as illustrated in the accompanying drawings wherein like reference numbers generally represent like parts of exemplary embodiments of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
p-0009<figref idrefs="DRAWINGS">FIG. 1</figref> sets forth a line drawing illustrating an exemplary system of computers in a data center that is configured for implementing a RAID array according to embodiments of the present invention.
p-0010<figref idrefs="DRAWINGS">FIG. 2</figref> sets forth a block diagram of automated computing machinery comprising an exemplary computer useful in implementing a RAID array according to embodiments of the present invention.
p-0011<figref idrefs="DRAWINGS">FIG. 3</figref> sets forth a flow chart illustrating an exemplary method for implementing a RAID array according to embodiments of the present invention.
p-0012<figref idrefs="DRAWINGS">FIG. 4</figref> sets forth a flow chart illustrating a further exemplary method for implementing a RAID array according to embodiments of the present invention.
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
p-0013Exemplary methods, systems, and products for implementing a RAID array according to embodiments of the present invention are described with reference to the accompanying drawings, beginning with <figref idrefs="DRAWINGS">FIG. 1</figref>. <figref idrefs="DRAWINGS">FIG. 1</figref> sets forth a line drawing illustrating an exemplary system of computers in a data center (<b>142</b>) that is configured for implementing a RAID array according to embodiments of the present invention. The data center (<b>142</b>) is a facility that houses computers (<b>108</b>-<b>128</b>, <b>148</b>) and equipment (<b>302</b>, <b>130</b>, <b>140</b>, <b>336</b>, <b>144</b>) supporting computer operations.
p-0014The system of <figref idrefs="DRAWINGS">FIG. 1</figref> includes a blade center (<b>102</b>), which contains computers in the form of blade servers as well as equipment supporting computer operations in the data center. The blade center (<b>102</b>) of <figref idrefs="DRAWINGS">FIG. 1</figref> includes eleven blade servers (<b>108</b>-<b>128</b>), servers implemented in a blade form factor and installed in a cabinet bay (<b>104</b>) of the blade center (<b>102</b>). The exemplary blade center (<b>102</b>) of <figref idrefs="DRAWINGS">FIG. 1</figref> includes a blade control module (<b>104</b>). The blade control module (<b>140</b>) of <figref idrefs="DRAWINGS">FIG. 1</figref> is a hot-swappable device that can be accessed through a management console (<b>146</b>) and used by a system administrator to configure and manage all components installed in the blade center (<b>102</b>). The blade servers (<b>108</b>-<b>128</b>) are coupled through the blade control module (<b>140</b>), the router (<b>130</b>), and the network (<b>100</b>) for data communications with the management console (<b>146</b>). The management console can read status information and control processes on the blade servers (<b>108</b>-<b>128</b>) by use of data communications through the network (<b>100</b>), the router (<b>130</b>), and the blade control module (<b>140</b>).
p-0015In the exemplary blade center (<b>102</b>) of <figref idrefs="DRAWINGS">FIG. 1</figref> the cabinet bay (<b>106</b>) includes, in addition to the blade control module (<b>140</b>), a power supply (<b>132</b>) that provides power to all components of the blade center (<b>102</b>), a data communications network router (<b>130</b>), a patch panel (<b>134</b>), a Redundant Array of Independent Disks (‘RAID’) (<b>336</b>), and a power strip (<b>138</b>). The power supply (<b>132</b>) may be intelligent or programmable; it may be, for example, a Power Distribution Unit (‘PDU’) or an Uninterruptible Power Supply (‘UPS’).
p-0016Computers and equipment of the data center are connected for data communications through network (<b>100</b>). The network (<b>100</b>) may be a local area network (‘LAN’), a wide area network (‘WAN’), a storage area network (‘SAN’), a Fibre Channel network, an Infiniband network, and any combination of these different kinds of networks, as well as any other network as may occur to those of skill in the art. The computers and equipment in the data center also include several other computers and servers (<b>148</b>). The other computers and servers (<b>148</b>) include a couple of separate servers (<b>352</b>, <b>354</b>) and several rack mounted computers or rack mounted servers such as 1 Us, 2 Us, 3 Us, 4 Us, 5 Us, or 6 Us (<b>350</b>).
p-0017The management console (<b>146</b>) in the example data center of <figref idrefs="DRAWINGS">FIG. 1</figref> includes a management module (<b>400</b>). In this example, the management console (<b>146</b>) is implemented as a general purpose computer or workstation, and the management module (<b>400</b>) is implemented as a module of computer program instructions installed and running in random access memory and on a computer processor of the management console. This implementation of the management module running in random access memory and on a computer processor in a generally programmable computer is not a limitation of the present invention. A management module for implementing a RAID array according to embodiments of the present invention may be implemented as firmware, as hardware, in a programmable logic device such as a programmable logic array (‘PLA’), a complex programmable logic device (‘CPLD’), or a field programmable gate array (‘FPGA’), as well as in other ways that will occur to those of skill in the art, and all such ways are well within the scope of the present invention.
p-0018In the example of <figref idrefs="DRAWINGS">FIG. 1</figref>, the external RAID controller (<b>302</b>) is ‘external’ in that it is a hardware RAID controller that is installed externally with respect to the separate computers in the system of <figref idrefs="DRAWINGS">FIG. 1</figref>. The separate computers (<b>108</b>-<b>126</b>, <b>148</b>) are ‘separate’ in that they are each installed in individual cabinetry that is separate from one another and separate from the cabinet of the external RAID controller (<b>302</b>). The system of <figref idrefs="DRAWINGS">FIG. 1</figref> operates generally to implement a redundant array of inexpensive drives according to embodiments of the present invention by configuring by the external RAID controller (<b>302</b>) a RAID array (<b>336</b>) and storing, by one or more of the separate computers through the external RAID controller, computer data (<b>326</b>) on the RAID array. The RAID array includes hard disk drives (<b>320</b>, <b>322</b>, <b>324</b>) from the separate computers. That is, the external RAID controller configures a RAID array using hard disk drives actually installed and operating internally within the separate computers (<b>108</b>-<b>128</b>, <b>148</b>). This example show three disk drives (<b>320</b>, <b>322</b>, <b>324</b>) from three of the separate computers (<b>122</b>, <b>124</b>, <b>126</b>) configured as a RAID array (<b>336</b>), although readers will recognize that the RAID array can be composed of hard disk drives from any of the separate computers and any number of hard disk drives consistent with the RAID specifications, RAID 0, RAID 1, RAID 2, and so on. This example shows only one (<b>120</b>) of the separate computers storing computer data (<b>326</b>) on the RAID array (<b>336</b>), but readers will recognize that any or all of the separate computers, connected as they are to the external RAID controller (<b>302</b>) through the network (<b>100</b>), can store computer data on the RAID array.
p-0019In addition, any or all of the separate computers can be configured to have both the capability of contributing their hard disk drives to a RAID array and the capability of retaining use of their hard disk drives for separate use by a separate computer. Any or all of the separate computers can include a switch (<b>310</b>) having two switch states: <ul><li id="ul0001-0001" num="0000"><ul><li id="ul0002-0001" num="0019">a first switch state in which the switch connects a host disk drive adapter (<b>172</b>) in a separate computer through the switch only to the hard disk drive in a separate computer; and</li><li id="ul0002-0002" num="0020">a second switch state in which the switch connects the host disk drive adapter (<b>172</b>) in the separate computer through the switch only to the external RAID controller (<b>302</b>).</li></ul></li></ul>
p-0020The host disk drive adapter can be any disk drive adapter as will occur to those of skill in the art, including, for example, an Advanced Technology Attachment (‘ATA’) adapter, a Serial ATA (‘SATA’) adapter, a Small Computer System Interface (‘SCSI’) adapter, or a Serial Attached SCSI (‘SAS’) adapter. The switch can be any switch as will occur to those of skill in the art, including, for example, an SAS switch.
p-0021A separate computer that contributes its hard disk drive to a RAID array according to embodiments of the present invention may include all its operating components, except for the its disk drive adapter, hard disk drive, and switch, in a first power domain, and its host disk drive adapter, hard disk drive, and switch in a second power domain. That is, the host disk drive adapter, hard disk drive, and switch can be in a power domain that is separate from the power domain of all the other components of such a separate computer—enabling the separate computer to be powered down without affecting the operation of the RAID array.
p-0022The arrangement of blade servers, power supply, RAID array, power strip, and other computers making up the exemplary system of <figref idrefs="DRAWINGS">FIG. 1</figref>, as well as the network, the management console, and the other devices illustrated in <figref idrefs="DRAWINGS">FIG. 1</figref>, is for explanation, not for limitation of the present invention. Computers and other equipment for implementing a RAID array according to embodiments of the present invention may include additional computers, servers, or other devices, not shown in <figref idrefs="DRAWINGS">FIG. 1</figref>, as will occur to those of skill in the art. Networks in such data centers may support many data communications protocols, including for example TCP (Transmission Control Protocol), IP (Internet Protocol), HTTP (HyperText Transfer Protocol), WAP (Wireless Access Protocol), HDTP (Handheld Device Transport Protocol), and others as will occur to those of skill in the art. Various embodiments of the present invention may be implemented on a variety of hardware platforms in addition to those illustrated in <figref idrefs="DRAWINGS">FIG. 1</figref>.
p-0023Implementing a RAID array in accordance with the present invention is generally implemented with computers, that is, with automated computing machinery. For further explanation, therefore, <figref idrefs="DRAWINGS">FIG. 2</figref> sets forth a block diagram of automated computing machinery comprising an exemplary blade server (<b>424</b>) configured for intrusion protection for a blade server according to embodiments of the present invention. The blade server (<b>424</b>) of <figref idrefs="DRAWINGS">FIG. 2</figref> includes at least one computer processor (<b>156</b>) or ‘CPU’ as well as random access memory (<b>168</b>) (‘RAM’) which is connected through a system bus (<b>162</b>) to processor (<b>156</b>) and to other components of the computer.
p-0024Stored in RAM (<b>168</b>) in the example of <figref idrefs="DRAWINGS">FIG. 2</figref>, are a blade server application program (<b>182</b>) and an operating system (<b>154</b>). The blade server application is a module of computer program instructions that carries out user-level tasks in response to requests from client devices. Operating systems useful in computers according to embodiments of the present invention include UNIX™, Linux™, Microsoft XP™, Microsoft Vista™, AIX™, IBM's i5/OS™, and others as will occur to those of skill in the art. The operating system (<b>154</b>) and the blade server application program (<b>182</b>) in the example of <figref idrefs="DRAWINGS">FIG. 2</figref> are shown in RAM (<b>168</b>), but many components of such software typically are stored in non-volatile memory also, for example, on a disk drive (<b>170</b>) or a RAID array (<b>336</b>).
p-0025The blade server (<b>424</b>) of <figref idrefs="DRAWINGS">FIG. 2</figref> includes a bus adapter (<b>158</b>), a computer hardware component that contains drive electronics for the high speed buses, the front side bus (<b>162</b>), the video bus (<b>164</b>), and the memory bus (<b>166</b>), as well as drive electronics for the slower expansion bus (<b>160</b>). Examples of bus adapters useful in computers according to embodiments of the present invention include the Intel Northbridge, the Intel Memory Controller Hub, the Intel Southbridge, and the Intel I/O Controller Hub. Examples of expansion buses useful in computers according to embodiments of the present invention include Industry Standard Architecture (‘ISA’) buses and Peripheral Component Interconnect (‘PCI’) buses.
p-0026The blade server (<b>424</b>) of <figref idrefs="DRAWINGS">FIG. 2</figref> includes disk drive adapter (<b>172</b>) coupled through expansion bus (<b>160</b>) and bus adapter (<b>158</b>) to processor (<b>156</b>) and other components of the blade server (<b>424</b>). Disk drive adapter (<b>172</b>) connects non-volatile data storage to the blade server (<b>424</b>) in the form of disk drive (<b>170</b>). Disk drive adapters useful in computers include Integrated Drive Electronics (‘IDE’) adapters, Small Computer System Interface (‘SCSI’) adapters, and others as will occur to those of skill in the art. In addition, non-volatile computer memory may be implemented for a computer as an optical disk drive, electrically erasable programmable read-only memory (so-called ‘EEPROM’ or ‘Flash’ memory), RAM drives, and so on, as will occur to those of skill in the art.
p-0027The exemplary blade server (<b>424</b>) of <figref idrefs="DRAWINGS">FIG. 2</figref> includes a communications adapter (<b>167</b>) for implementing data communications with a remote desktop apparatus (<b>434</b>). Such data communications may be carried out serially through RS-232 connections, through external buses such as USB, through data communications networks such as Ethernet Internet Protocol (‘IP’) networks, and in other ways as will occur to those of skill in the art. Communications adapters implement the hardware level of data communications through which one computer sends data communications to another computer, directly or through a network. Examples of communications adapters useful for intrusion protection for a blade server according to embodiments of the present invention include modems for wired dial-up communications, Ethernet (IEEE 802.3) adapters for wired network communications, and 802.11b adapters for wireless network communications.
p-0028The blade server (<b>424</b>) of <figref idrefs="DRAWINGS">FIG. 2</figref> is connected to an external RAID controller (<b>302</b>) that implements a RAID array (<b>336</b>) composed of internal disk drive (<b>170</b>) from the blade server (<b>424</b>) as well as hard disk drives (<b>338</b>) from other separate computers. In the example of <figref idrefs="DRAWINGS">FIG. 2</figref>, the external RAID controller (<b>302</b>) is ‘external’ in that it is a hardware RAID controller that is installed externally with respect to the separate computer represented by the blade server (<b>424</b>) in the example of <figref idrefs="DRAWINGS">FIG. 2</figref>. The blade server (<b>424</b>) is a ‘separate’ computer in that it is installed in individual cabinetry that is separate from other servers and computers and separate from the cabinet of the external RAID controller (<b>302</b>). The blade server (<b>424</b>) and the external RAID controller (<b>302</b>) of <figref idrefs="DRAWINGS">FIG. 2</figref> operate generally to implement a redundant array of inexpensive drives according to embodiments of the present invention by configuring by the external RAID controller (<b>302</b>) a RAID array (<b>336</b>) and storing, by one or more separate computers through the external RAID controller, computer data (<b>326</b>) on the RAID array. The RAID array includes hard disk drives (<b>170</b>) from blade server (<b>424</b>) as well as hard disk drives from other separate computers (<b>338</b>). That is, the external RAID controller (<b>302</b>) configures a RAID array using a hard disk drive (<b>170</b>) actually installed and operating internally within the blade server (<b>424</b>) of <figref idrefs="DRAWINGS">FIG. 2</figref> as well as hard disk drives (<b>338</b>) actually installed and operating internally within other separate computers (such as <b>108</b>-<b>128</b>, <b>148</b> on <figref idrefs="DRAWINGS">FIG. 1</figref>). This example shows three disk drives from the blade server (<b>170</b>) and from other separate computers (<b>338</b>) configured as a RAID array (<b>336</b>), although readers will recognize that the RAID array can be composed of hard disk drives from any of the separate computers and any number of hard disk drives consistent with the RAID specifications, RAID 0, RAID 1, RAID 2, and so on.
p-0029The blade server (<b>424</b>) in the example of <figref idrefs="DRAWINGS">FIG. 2</figref> is configured to have both the capability of contributing its hard disk drive (<b>170</b>) to a RAID array and the capability of retaining use of its hard disk drive for separate use by the blade server. The blade server includes a switch (<b>310</b>) having two switch states: <ul><li id="ul0003-0001" num="0000"><ul><li id="ul0004-0001" num="0031">a first switch state in which the switch (<b>310</b>) connects (<b>360</b>, <b>362</b>) a host disk drive adapter (<b>172</b>) in the blade server (<b>424</b>) through the switch (<b>310</b>) only to the hard disk drive (<b>170</b>) in the blade server (<b>424</b>); and</li><li id="ul0004-0002" num="0032">a second switch state in which the switch (<b>310</b>) connects (<b>360</b>, <b>364</b>) the host disk drive adapter (<b>172</b>) in the blade server (<b>424</b>) through the switch (<b>310</b>) only to the external RAID controller (<b>302</b>).</li></ul></li></ul>
p-0030The host disk drive adapter can be any disk drive adapter as will occur to those of skill in the art, including, for example, an Advanced Technology Attachment (‘ATA’) adapter, a Serial ATA (‘SATA’) adapter, a Small Computer System Interface (‘SCSI’) adapter, or a Serial Attached SCSI (‘SAS’) adapter. The switch can be any switch as will occur to those of skill in the art, including, for example, an SAS switch. The processor (<b>156</b>) in this example controls the switch (<b>310</b>) through Inter-Integrated Circuit (‘I<sup>2</sup>C’) bus (‘<b>222</b>’). The interconnections (<b>360</b>, <b>362</b>, <b>364</b>) among the host disk drive adapter (<b>172</b>), the switch (<b>310</b>), the internal disk drive (<b>170</b>), and the RAID controller (<b>302</b>) can be of any type as will occur to those of skill in the art, including, for example, ATA connections, SATA connections, SCSI connections, SAS connections, Internet SCSI (‘iSCSI’) connections, SAN connections, Fibre Channel connections, and Infiniband connections.
p-0031The blade server (<b>424</b>) includes all its operating components (<b>156</b>, <b>158</b>, <b>167</b>, <b>168</b>), except for the its disk drive adapter (<b>172</b>), hard disk drive (<b>170</b>), and switch (<b>360</b>), in a first power domain (<b>314</b>), and its host disk drive adapter (<b>172</b>), hard disk drive (<b>170</b>), and switch (<b>310</b>) in a second power domain (<b>316</b>). That is, the host disk drive adapter (<b>172</b>), hard disk drive (<b>170</b>), and switch (<b>310</b>) are in a power domain (<b>316</b>), along with the hard disk drives from other separate computers (<b>338</b>), that is separate from the power domain (<b>314</b>) of all the other components of the blade server—enabling the blade server (<b>424</b>) effectively to be powered down without affecting the operation of the RAID array (<b>336</b>).
p-0032For further explanation, <figref idrefs="DRAWINGS">FIG. 3</figref> sets forth a flow chart illustrating an exemplary method for implementing a redundant array of inexpensive drives (‘RAID’) according to embodiments of the present invention. The method is implemented with an external RAID controller (<b>302</b>) and with hard disk drives (<b>320</b>, <b>322</b>, <b>324</b>) from separate computers (<b>308</b>). The external RAID controller (<b>302</b>) is ‘external’ in the sense that it is a hardware RAID controller installed externally with respect to the separate computers (<b>308</b>). The method of <figref idrefs="DRAWINGS">FIG. 3</figref> includes the external RAID controller's configuring (<b>304</b>) the RAID array (<b>336</b>) with hard disk drives (<b>320</b>, <b>322</b>, <b>324</b>) from the separate computers (<b>308</b>). The method of <figref idrefs="DRAWINGS">FIG. 3</figref> also includes storing (<b>306</b>), by one or more of the separate computers (<b>308</b>) through the external RAID controller (<b>302</b>), computer data (<b>326</b>) on the RAID array (<b>336</b>).
p-0033In the method of <figref idrefs="DRAWINGS">FIG. 3</figref>, any or all of the separate computers (<b>308</b>) may include a switch (<b>310</b>) having two switch states, the switch states including: <ul><li id="ul0005-0001" num="0000"><ul><li id="ul0006-0001" num="0037">a first switch state in which the switch (<b>310</b>) connects a host disk drive adapter (<b>312</b>) in the separate computer through the switch only to the hard disk drive in the separate computer; and</li><li id="ul0006-0002" num="0038">a second switch state in which the switch (<b>310</b>) connects the host disk drive adapter (<b>312</b>) in the separate computer through the switch only to the external RAID controller (<b>302</b>).</li></ul></li></ul>
p-0034The host disk drive adapter (<b>312</b>) may be a Serial Attached Small Computer System Interface (‘SAS’) adapter and the switch (<b>310</b>) may be an SAS switch. The separate computers (<b>308</b>) may include blade servers (<b>318</b>). The separate computer, except for its disk drive adapter, hard disk drive, and switch, may be included in a first power domain (<b>314</b>), and its host disk drive adapter, hard disk drive, and switch may be included in a second power domain (<b>316</b>).
p-0035For further explanation, <figref idrefs="DRAWINGS">FIG. 4</figref> sets forth a flow chart illustrating a further exemplary method for implementing a RAID array according to embodiments of the present invention. The method of <figref idrefs="DRAWINGS">FIG. 4</figref> is similar to the method of <figref idrefs="DRAWINGS">FIG. 3</figref>, implemented with an external RAID controller (<b>302</b>) and with hard disk drives (<b>320</b>, <b>322</b>, <b>324</b>) from separate computers (<b>308</b>), and including as it does the external RAID controller's configuring (<b>304</b>) the RAID array (<b>336</b>) with hard disk drives (<b>320</b>, <b>322</b>, <b>324</b>) from the separate computers (<b>308</b>) and storing (<b>306</b>), by one or more of the separate computers (<b>308</b>) through the external RAID controller (<b>302</b>), computer data (<b>326</b>) on the RAID array (<b>336</b>).
p-0036The method of <figref idrefs="DRAWINGS">FIG. 4</figref>, however, also includes discovering (<b>328</b>) by the RAID controller (<b>302</b>) hard disk drives (<b>320</b>, <b>322</b>, <b>324</b>) in the separate computers (<b>306</b>) that are available for use in a RAID array. The RAID controller can discover available hard disk drives by polling the separate computers, by reading the availability from a preconfigured registry, and in other ways as will occur to those of skill in the art.
p-0037The method of <figref idrefs="DRAWINGS">FIG. 4</figref> also includes presenting (<b>330</b>) the RAID array to the one or more of the separate computers as a virtual disk drive. The virtual disk drive (not shown) is the interface presented by the external RAID controller for use by host disk drive adapters in the separate computers for reading and writing data from and to the RAID array. The virtual disk drive can present any disk drive interface as will occur to those of skill in the art, including, for example, an ATA interface, a SATA interface, a SCSI interface, an SAS interface, an iSCSI interface, a SAN interface, a Fibre Channel interface, and an Infiniband interface.
p-0038The method of <figref idrefs="DRAWINGS">FIG. 4</figref> also includes discovering (<b>332</b>), by the one or more of the separate computers, the presence of the virtual disk drive when power is applied to the one or more of the separate computers. When the switch (<b>310</b>) in a separate computer is set to connect the host disk drive adapter (<b>312</b>) to the external RAID controller (<b>302</b>), a virtual drive presented by the external RAID controller appears to the separate computer to be an internal disk drive within the separate computer.
p-0039The method of <figref idrefs="DRAWINGS">FIG. 4</figref> also includes booting (<b>334</b>), by the one or more of the separate computers from the virtual disk drive, when power is applied to the one or more of the separate computers. The boot process includes the separate computer's usual power-on-self-test (‘POST’) functions, carried out using the virtual drive presented by the external RAID controller (<b>302</b>) and therefore the RAID array (<b>336</b>) as if it were an internal hard disk drive in the separate computer.
p-0040Exemplary embodiments of the present invention are described largely in the context of a fully functional computer system for implementing a RAID array. Readers of skill in the art will recognize, however, that the present invention also may be embodied in a computer program product disposed on signal bearing media for use with any suitable data processing system. Such signal bearing media may be transmission media or recordable media for machine-readable information, including magnetic media, optical media, or other suitable media. Examples of recordable media include magnetic disks in hard drives or diskettes, compact disks for optical drives, magnetic tape, and others as will occur to those of skill in the art. Examples of transmission media include telephone networks for voice communications and digital data communications networks such as, for example, Ethernets™ and networks that communicate with the Internet Protocol and the World Wide Web as well as wireless transmission media such as, for example, networks implemented according to the IEEE 802.11 family of specifications. Persons skilled in the art will immediately recognize that any computer system having suitable programming means will be capable of executing the steps of the method of the invention as embodied in a program product. Persons skilled in the art will recognize immediately that, although some of the exemplary embodiments described in this specification are oriented to software installed and executing on computer hardware, nevertheless, alternative embodiments implemented as firmware or as hardware are well within the scope of the present invention.
p-0041It will be understood from the foregoing description that modifications and changes may be made in various embodiments of the present invention without departing from its true spirit. The descriptions in this specification are for purposes of illustration only and are not to be construed in a limiting sense. The scope of the present invention is limited only by the language of the following claims.
Contents4
5 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2021232331A1 | Cited by | United States of America | Search report |
| US11861188B2 | Cited by | United States of America | Search report |
| US2004111559A1 | Cites | United States of America | Search report |
| US2006136688A1 | Cites | United States of America | Applicant |
| US2006195624A1 | Cites | United States of America | Applicant |
| US2008028238A1 | Cites | United States of America | Search report |
| US2008040462A1 | Cites | United States of America | Search report |
| US2009157958A1 | Cites | United States of America | Search report |
| US7010657B2 | Cites | United States of America | Applicant |
| US7139809B2 | Cites | United States of America | Applicant |
2 members in 1 office; this record represents the family
Members2
| Document | Office | Kind | |
|---|---|---|---|
| US2009006737A1 | United States of America | A1 | |
| US8799570B2This record | United States of America | B2 |
69 transactions on the USPTO file
Allowed after 2 non-final rejections, 1 final rejection and 1 appeal.
- Non-final rejections
- 2
- Final rejections
- 1
- RCEs
- 0
- Appeals
- 1
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 12th Year, Large EntityM1553 | M1553 | |
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Payment of Maintenance Fee, 4th Year, Large EntityM1551 | M1551 | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Correspondence Address ChangeC.AD | C.AD | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Correspondence Address ChangeC.AD | C.AD | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Reference capture on IDSRCAP | RCAP | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Reasons for AllowanceEX.R | EX.R | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail BPAI Decision on Appeal - ReversedMAPDR | MAPDR | |
| BPAI Decision - Examiner ReversedAPDR | APDR | |
| Email NotificationEML_NTR | EML_NTR | |
| Docketing Notice Mailed to AppellantAP_DK_M | AP_DK_M | |
| Assignment of Appeal NumberAPAS | APAS | |
| Appeal Awaiting BPAI DocketingAPWD | APWD | |
| Appeal ready for BPAI reviewARBP | ARBP | |
| Exam. Ans. Review CompletePACC | PACC | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Examiner's AnswerMAPEA | MAPEA | |
| Examiner's Answer to Appeal BriefAPEA | APEA | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Appeal Brief Review CompleteAPBR | APBR | |
| Appeal Brief FiledAP.B | AP.B | |
| Notice of Appeal FiledN/AP | N/AP | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Sent to Classification ContractorPGPC | PGPC | |
| Cleared by OIPE CSRL194 | L194 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
7 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Maintenance fee paymentMAFP | MAFP | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 08799570
- Application
- 76855107
Titles
- English
- Implementing a redundant array of inexpensive drives
Patent term adjustment
- A delay
- +427 daysthe office missed an examination deadline
- B delay
- +499 dayspendency past three years
- C delay
- +1,002 daysinterference, secrecy order or appeal
- Net adjustment
- 1,928 days
Classification
- CPC, 5
- G06F3/0664
- G06F3/0605
- G06F3/0632
- G06F3/067
- G06F3/0689
- IPC, 2
- G06F13 00
- G06F13 28