摘要:
A method and system for storing data in a redundant array of inexpensive disks (RAID) data storage subsystem is disclosed. The RAID data storage subsystem includes a plurality of drives. The method and system include temporarily storing data in a first portion of the plurality of drives using a first RAID level and relatively permanently storing the data in a second portion the plurality of drives using a second RAID level. The step of relatively permanently storing the data is performed at a time when performance of the system is not substantially affected by storage using the second RAID level. Furthermore, the temporary storing step and the step of storing the data using the second RAID level may be performed throughout operation of the RAID data storage subsystem. Thus, RAID data may be cached using the first RAID level, then relatively permanently stored using the second RAID level.
摘要:
A method and system for a data storage system to update stored data with received data in a cache associated with the data storage system where the data storage system comprises N data storage drives is provided, where data and calculated parity are striped across the N data storage drives. An associated cache is provided with the data storage system for receiving data. The data in the cache is periodically examined to determine if the data includes all sequential data contained within a complete stripe within the data storage system. Data is fetched from the N data storage drives into the cache and the parity for the stripe is calculated by logically combining the received data in the cache and fetched data from the data storage drives if the cache is determined not to include all sequential data contained within the complete stripe. Alternatively, the parity for the stripe is calculated by logically combining only data within the cache for the stripe, if data in the cache is determined to include all sequential data contained within a complete stripe, thereby minimizing the number of input/output operations required to update data.
摘要:
The method and system for improved efficiency and parity calculation in RAID data storage system. RAID data storage systems permit recovery of data in the event of a drive failure by storing a parity value for each stripe of data on a separate drive. Each time data is written to a RAID data storage the parity value for the associated data stripe must be updated. Parity may be calculated utilizing two different algorithms. New parity may be calculated utilizing the old data value, the new data value and the old parity value, or calculated utilizing the new data value and all remaining old data within the associated data stripe. The number of input/output operations required to calculate parity utilizing each algorithm is predetermined and the method requiring the least number of input/output operations is selected, unless data sequentiality is detected. If sequential data is present the parity value is calculated utilizing the new data and all old data in the associated data stripe, even if a greater number of input/output operations are initially required, as further sequential input/output operations will be more efficient.
摘要:
A redundant array of inexpensive disks (RAID) includes a plurality of disk drives organized as a plurality of stripes, wherein each stripe includes a plurality of stripe units. A host processor system sends write commands in write-through mode to a RAID controller, some of which are immediately processed by the controller, and others of which are temporarily stored in a stash. Commands stored in the stash for data writes that only partially fill a stripe may be coalesced with another write command that also only partially fills the same stripe. This coalescing occurs for commands for data writes that span one or more stripes, and that may start or stop in the middle of a stripe, as well as in the middle of a stripe unit. In addition, two different commands for writing data to different stripe units, but from the same stripe, can also be coalesced. The coalescing of write commands in the stash reduces the number of disk I/O's and improves data throughput.
摘要:
A method, system and computer program product for updating firmware in a disk in a disk array in a RAID storage system without deactivating a server coupled to the disk array. Upon selecting the disk whose firmware is to be updated, the selected disk may enter a degrade mode of operation where a RAID controller coupled to the RAID storage system may prevent requests from reaching the selected disk thereby suppressing activity on the selected disk to allow the firmware to be updated. During the updating of the firmware, any stripes updated may be tracked. Upon completion of the firmware update, the stripe units in the selected disk associated with the stripes updated may be rebuilt. In this manner, firmware may be updated on a disk in a RAID storage system without deactivating the server thereby allowing the server to continuously stay active.
摘要:
A redundant disk array and improved method for redundant disk array access improve the performance of storage systems for computers. The disk array and method retrieve data from redundant drives according to an algorithm that will fetch contiguous pages from a single storage device, rather than alternating accesses between storage devices. The result is a reduced access time and increased data throughput.
摘要:
A method and system for updating stored data with received data in a cache associated with the data storage system is provided, where the data storage system comprises N data storage drives, where data and calculated parity are striped across N data storage drives, where a stripe comprises multiple data sectors on each of N data storage drives. An associated cache is provided with the data storage system into which data is received. The data in the cache is periodically examined to determine if the cache includes all sequential data sectors contained within a complete stripe within the data storage system. Parity is calculated for the complete stripe by first calculating a range of sectors between which all sectors received into the cache for the complete stripe fall. Next, only those sectors within the range of sectors which are not included in the data in the cache for the complete stripe are read from the N data storage drives into the cache. Finally, the range of sectors in the cache for the complete stripe are logically combined. The parity is calculated such that input/output operations within said data storage system are minimized.
摘要:
A method and system in a data storage system for reading stored data from the data storage system, where the data storage system comprises N data storage drives and an associated cache, where data and calculated parity are striped across the N data storage drives, where a stripe comprises multiple sectors on each of the N data storage drives. Data is requested from the data storage system. A determination is made of whether or not the requested data currently resides in a cache associated with the data storage system. In addition, a determination is made of whether or not the requested data sequentially follows other sectors also residing in the cache. Only the requested data is fetched into the cache if it is determined that the requested data does not reside in the cache and the requested data does not sequentially follow sectors in the cache. The requested data and a predefined block of sectors within the N data storage drives are fetched into the cache if it is determined that the requested data does not reside in the cache and the requested data sequentially follows sectors in the cache, where the fetched predetermined block of sectors sequentially follows the requested data.
摘要:
A method, system, and program product for efficiently tracking lost data packets in a multicast TFTP network environment. An algorithm is encoded within the receiving client processing system that tracks received packets within a 64 Kbit tracking array. The array is stored in memory. If the number of packets of a file being transmitted is larger than 64K, the algorithm performs a grouping function, by which each set of two neighboring spaces within the array are combined. Combining of the spaces involves ANDing the spaces together, and the ANDed results stored within a single space indicates whether or not the packets within the group needs to be re-requested. Thus if either one of the values in the spaces is a zero (indicating that the corresponding packet is lost) then the combined space is tagged with a zero. In this way, when the client is determining which packet(s) or groups to re-request, the client checks the array for holes (i.e., 0's) and re-requests the packet(s) represented by each hole found.
摘要:
A method and system for adaptively implementing a disk drive startup sequence for a disk drive array. Prior to a next disk drive spin-up sequence a currently available power supply resource capacity and a startup metric of each of the array disk drives are determined. Each of the disk drives are scheduled into designated startup groups as a function of both the determined currently available power supply resource capacity and the determined startup metric. The scheduling of disk drives into designated startup groups includes determining an activation sequence timing schedule for each of the disk drives. The activation sequence timing schedule determines the relative times at which spindle motors for each of said plurality of disk drives will be activated as a function of the determined startup metric for each of the disk drives and the available power supply resource capacity as reduced by the steady state power requirements of each of the startup groups.