Disk array system having special parity groups for data blocks with high update activity
First Claim
1. An improved digital information storage disk array system of the type wherein data blocks are stored on a plurality of disks by a disk controller and parity blocks are derived from said data blocks and stored for use in recovering lost data blocks in the event of a disk failure, said improvement comprising:
- means for dividing said data blocks into a group of high update activity data blocks and a group of low update activity data blocks based upon anticipated write activity to each of said data blocks;
means for defining high update activity parity groups for said high update activity data blocks and for defining low update activity parity groups for said low update activity data blocks;
a high update activity parity block being derived for each said high update activity parity group from said high update activity data blocks in said each high update activity parity group;
a low update activity parity block being derived for each said low update activity parity group from said low update activity data blocks in said each low update activity parity group; and
means for storing said high update activity parity blocks in said disk controller and for storing said low update activity parity blocks on said disks,whereby updates to said high update activity parity blocks can be made by said disk controller without accessing said disks, thereby reducing disk access activity.
0 Assignments
0 Petitions
Accused Products
Abstract
In a digital storage disk array system in which parity blocks are created and stored in order to be able to recover lost data blocks in the event of failure of a disk, high-activity parity groups are created for data blocks having high write activity and low-activity parity groups are created for data blocks not having high write activity. High-activity parity blocks formed from the high-activity data blocks are then stored in a buffer memory of a controller rather than on the disks in order to reduce the number of disk accesses during updating.
-
Citations
12 Claims
-
1. An improved digital information storage disk array system of the type wherein data blocks are stored on a plurality of disks by a disk controller and parity blocks are derived from said data blocks and stored for use in recovering lost data blocks in the event of a disk failure, said improvement comprising:
-
means for dividing said data blocks into a group of high update activity data blocks and a group of low update activity data blocks based upon anticipated write activity to each of said data blocks; means for defining high update activity parity groups for said high update activity data blocks and for defining low update activity parity groups for said low update activity data blocks; a high update activity parity block being derived for each said high update activity parity group from said high update activity data blocks in said each high update activity parity group; a low update activity parity block being derived for each said low update activity parity group from said low update activity data blocks in said each low update activity parity group; and means for storing said high update activity parity blocks in said disk controller and for storing said low update activity parity blocks on said disks, whereby updates to said high update activity parity blocks can be made by said disk controller without accessing said disks, thereby reducing disk access activity. - View Dependent Claims (2, 3, 4, 5, 6)
-
- 7. An improved digital information storage disk array system as defined in claim wherein said means for defining comprises means for provisionally assigning each of said data blocks to one of a plurality of individual default parity groups.
-
11. An improved controller for reducing write activity to disk for a digital information storage disk array, said array being of the type wherein at least a portion of each disk in said array is partitioned into equally sized storage blocks and parity groups of said storage blocks are defined and maintained by said controller, each said parity group comprising a storage block from each one of a multiplicity of said disks, said storage blocks in each said parity group comprising a plurality of data blocks and a single parity block, said parity block in any one of said parity groups storing information derived from said data blocks in said any one parity group and being usable to recover data blocks of said any one parity group in the event of disk failures, said improvement comprising:
-
means for identifying a subset of all of said data blocks, said data blocks in said subset being anticipated to have a higher likelihood of being modified than said data blocks not in said subset; means liar defining special parity groups for said subset or data blocks, each one of said special parity groups comprising; a plurality of data blocks from said subset, each said data block in said one special parity group being stored on a separate one of said disks; and a special parity block derived from said data blocks in said one special parity group; means for removing any said data blocks which are part of any said special parity group from any said parity group which is not one of said special parity groups and for updating any said parity block of any said parity group from which one of said data blocks has been removed; and means for storing said special parity blocks in said controller rather than on said disks, whereby updates to said special parity blocks can be made by said controller without writing to said disks, thereby reducing write activity to said disks.
-
-
12. An improved method for storing digital information on a disk array of the type wherein data blocks are stored on a plurality of disks by a controller and parity blocks are derived from said data blocks and stored for use in recovering lost data blocks in the event of a disk failure, said improved method comprising the steps of:
-
dividing said data blocks into a group of high update activity data blocks and a group of low update activity data blocks based upon anticipated write activity to each of said data blocks; defining high update activity parity groups for said high update activity data blocks; defining low update activity parity groups for said low update activity data blocks; deriving a high update activity parity block for each said high update activity parity group from said high update activity data blocks in said each high update activity parity group; deriving a low update activity parity block for each said low update activity parity group from said low update activity data blocks in said each low update activity parity group; storing said high update activity parity blocks in said controller; and storing said low update activity parity blocks on said disks, whereby updates to said high update activity parity blocks can be made by said controller without accessing said disks, thereby reducing disk access activity.
-
Specification