The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Jun. 04, 1996
Filed:
Nov. 03, 1994
William G Verdoorn, Jr, Rochester, MN (US);
International Business Machines Corporation, Armonk, NY (US);
Abstract
An array controller implemented method and apparatus are provided for dynamically expanding a redundant array of independent disk drives (RAID) by adding any number M of direct access storage devices (DASDs) to the original array while maintaining data availability and system performance to an array user. A logical to physical address map (LPAM) of original array (LPAM-O) and of expanded array (LPAM-E) and initial array state information are established and stored. A selected domain of data blocks is defined for deferred access to an array user. Then the selected domain of data blocks is read using LPAM-O. Parity information is calculated with the read data of the selected domain of data blocks. Then the read selected domain of data blocks and the calculated parity information are written to the expanded array using LPAM-E. Updated array state information is stored responsive to the selected domain of data blocks and the calculated parity information being written and the last defined selected domain of data blocks for deferred access to an array user is undefined. A next selected domain of data blocks for deferred access to an array user is defined and read using LPAM-O. The sequential machine operations of calculating parity information, writing the selected domain of parity and data blocks, storing updated array state information, undefining the last defined selected domain of data blocks and defining a next selected domain of data blocks are repeated until all data blocks of the original array have been written to the expanded array.