Managing removable media in raid and rail environments
First Claim
Patent Images
1. A storage system for removable storage media, comprising:
- a plurality m of data storage devices for storing blocks of data;
a parity storage device;
a storage controller interconnected with said m storage devices, said parity storage device and a host device, said storage controller including;
means for receiving a plurality of logical volumes V1 -Vm of user data to be recorded onto corresponding pieces of removable media R1 -Rm, each of the logical volumes V1 -Vm having a plurality of data blocks including at least a first data block Bq, where "q" is a logical volume number between 1 and m, inclusive;
means for computing a first parity block P1 from the first data blocks B1 -Bm such that any first data block Bj can be reconstructed from the remaining m-1 first data blocks and the first parity block P1, the blocks B1 -Bm and P1 forming a first parity group; and
means for directing that each of the first data blocks be recorded onto a corresponding one of m pieces of removable media R1 -Rm mounted in said m data storage devices and that the parity block P1 be recorded onto a corresponding piece of media Rp mounted in said parity storage device, each of said pieces of media R1 -Rm and Rp being capable of storing a plurality of blocks of data;
means for detecting when one of the first data blocks Bj recorded on one of the m pieces of removable media Rj has been modified;
means, in response to said means for detecting, for recording the identity of those bits in the modified first data block Bj which were modified; and
means for updating the parity block P1 using data stored on the media Rj without re-computing the parity block P1 from all blocks of data on all of the pieces of media R1 -Rm, said means for updating further including means for changing the state of only those bits in the parity block P1 which correspond to the modified bits in the modified first data block Bj.
2 Assignments
0 Petitions
Accused Products
Abstract
Parity updates are performed in an efficient manner after data is modified on removable media in a RAID or RAIL array, within or outside the array, without requiring that all of the data on all of media in a parity group be read. Instead, a list is maintained identifying those blocks of data were which modified on the media. Only the corresponding blocks on the remaining media in the parity group are read to calculate the new parity. Alternatively, a list can be maintained identifying the bits which were changed on the media. Consequently, only the corresponding bits of the parity block(s) need be changed.
60 Citations
12 Claims
-
1. A storage system for removable storage media, comprising:
-
a plurality m of data storage devices for storing blocks of data; a parity storage device; a storage controller interconnected with said m storage devices, said parity storage device and a host device, said storage controller including; means for receiving a plurality of logical volumes V1 -Vm of user data to be recorded onto corresponding pieces of removable media R1 -Rm, each of the logical volumes V1 -Vm having a plurality of data blocks including at least a first data block Bq, where "q" is a logical volume number between 1 and m, inclusive; means for computing a first parity block P1 from the first data blocks B1 -Bm such that any first data block Bj can be reconstructed from the remaining m-1 first data blocks and the first parity block P1, the blocks B1 -Bm and P1 forming a first parity group; and means for directing that each of the first data blocks be recorded onto a corresponding one of m pieces of removable media R1 -Rm mounted in said m data storage devices and that the parity block P1 be recorded onto a corresponding piece of media Rp mounted in said parity storage device, each of said pieces of media R1 -Rm and Rp being capable of storing a plurality of blocks of data; means for detecting when one of the first data blocks Bj recorded on one of the m pieces of removable media Rj has been modified; means, in response to said means for detecting, for recording the identity of those bits in the modified first data block Bj which were modified; and means for updating the parity block P1 using data stored on the media Rj without re-computing the parity block P1 from all blocks of data on all of the pieces of media R1 -Rm, said means for updating further including means for changing the state of only those bits in the parity block P1 which correspond to the modified bits in the modified first data block Bj. - View Dependent Claims (2, 3, 4)
-
-
5. An array of automated library systems for removable storage media, comprising:
-
a plurality m of automated storage and retrieval libraries; a plurality m of data storage devices, one of said data storage devices housed in each of said m libraries; a parity storage device housed in an m+1th library; a storage controller interconnected to each of said m+1 libraries and a host device, said storage controller including; means for receiving a plurality of logical volumes V1 -Vm of user data to be recorded onto corresponding pieces of removable media R1 -Rm, each of the logical volumes V1 -Vm having a plurality of data blocks including at least a first data block Bq, where "q" is a logical volume number between 1 and m, inclusive; means for computing a first parity block P1 from the first data blocks B1 -Bm such that any first data block Bj can be reconstructed from the remaining m-1 first data blocks and the first parity block P1, the blocks B1 -Bm and P1 forming a first parity group; and means for directing that each of the first data blocks be recorded onto a corresponding one of m pieces of removable media R1 -Rm mounted in said m data storage devices and that the parity block P1 be recorded onto a corresponding piece of media Rp mounted in said parity storage device, each of said pieces of media R1 -Rm and Rp being capable of storing a plurality of blocks of data; means for detecting when one of the first data blocks Bj recorded on one of the m pieces of removable media Rj has been modified; means, in response to said means for detecting, for recording the identity of those bits in the modified first data block Bj which were modified; and means for updating the parity block P1 using data stored on the media Rj without re-computing the parity block P1 from all blocks of data on all of the pieces of media R1 -Rm, said means for updating further including means for changing the state of only those bits in the parity block P1 which correspond to the modified bits in the modified first data block Bj. - View Dependent Claims (6)
-
-
7. A program storage device readable by a computer, tangibly embodying a program of instructions executable by the computer, to perform steps for updating parity in a removable media RAID device, the RAID device having:
- a plurality m of data storage devices;
a parity storage device;
a storage controller interconnected with the m storage devices, the parity storage device and a host device;
the instructions comprising steps for;receiving a plurality of logical volumes V1 -Vm of user data to be recorded onto corresponding pieces of removable media R1 -Rm, each of the logical volumes V1 -Vm having a plurality of data blocks including at least a first data block Bq, where "q" is a logical volume number between 1 and m, inclusive; computing a first parity block P1 from the first data blocks B1 -Bm such that any first data block Bj can be reconstructed from the remaining m-1 first data blocks and the first parity block P1, the blocks B1 -Bm and P1 forming a first parity group; recording each of the first data blocks onto a corresponding one of m pieces of removable media R1 -Rm mounted in said m data storage devices and recording the parity block P1 onto a corresponding piece of media Rp mounted in said parity storage device, each of said pieces of media R1 Rm and Rp being capable of storing a plurality of blocks of data; detecting when one of the first data blocks Bj recorded on one of the m pieces of removable media Rj has been modified; updating the parity block P1 using data stored on the media Rj without re-computing the parity block P1 from all blocks of data on the media R1 -Rm ; in response to said detecting step, recording the identity of those bits in the modified first data block Bj which were modified; and changing the state of only those bits in the parity block P1 which correspond to the modified bits in the modified first data block Bj. - View Dependent Claims (8)
- a plurality m of data storage devices;
-
9. In a machine-executed method of operating a RAID device for removable media, the RAID device having:
- a plurality m of data storage devices;
a parity storage device;
a storage controller interconnected with the m storage devices, the parity storage device and a host device;
including the machine-executed steps of;receiving a plurality of logical volumes V1 -Vm of user data to be recorded onto corresponding pieces of removable media R1 -Rm, each of the logical volumes V1 -Vm having a plurality of data blocks including at least a first data block Bq, where "q" is a logical volume number between 1 and m, inclusive; computing a first parity block P1 from the first data blocks B1 -Bm such that any first data block Bj can be reconstructed from the remaining m-1 first data blocks and the first parity block P1, the blocks B1 -Bm and P1 forming a first parity group; recording each of the first data blocks onto a corresponding one of m pieces of removable media R1 -Rm mounted in said m data storage devices and recording the parity block P1 onto a corresponding piece of media Rp mounted in said parity storage device, each of said pieces of media R1 -Rm and Rp being capable of storing a plurality of blocks of data; detecting when one of the first data blocks Bj recorded on one of the m pieces of removable media Rj has been modified; updating the parity block P1 using data stored on the media Rj without re-computing the parity block P1 from all blocks of data on the media R1 -Rm ; in response to said detecting step, recording the identity of those bits in the modified first data block Bj which were modified; and changing the state of only those bits in the parity block P1 which correspond to the modified bits in the modified first data block Bj. - View Dependent Claims (10, 11)
- a plurality m of data storage devices;
-
12. A storage system for removable optical media, comprising:
-
a plurality m of optical storage devices for storing blocks of data; a parity storage device; a storage controller interconnected with said m optical storage devices, said parity storage device and a host device, said storage controller including; means for receiving a plurality of logical volumes V1 -Vn of user data to be recorded onto corresponding pieces of optical media R1 -Rn, each of the logical volumes V1 -Vn having a plurality of data blocks including at least a first data block Bq, where n<
m and "q" is a logical volume number between 1 and n, inclusive;means for computing a first parity block P1 from the first data blocks B1 -Bn and from an erased first data block Bm such that any first data block Bj can be reconstructed from the remaining m-1 first data blocks and the first parity block P1, the blocks B1 -Bm and P1 forming a first parity group; means for directing that each of the first data blocks B1 -Bm be recorded onto a corresponding one of m pieces of optical media R1 -Rm mounted in said m data storage devices and that the parity block P1 be recorded onto a corresponding piece of media Rp mounted in said parity storage device, each of said pieces of media R1 -Rm and Rp being capable of storing a plurality of blocks of data; means for receiving an m-th logical volume Vm of user data to be recorded onto the m-th piece of removable media Rm, the logical volume Vm having at least a first data block Bm ; and means for updating the parity block P1 using the parity block P1 and a bit map comprising bits in the m-th logical volume Vm without re-computing the parity block P1 from all blocks of data on all of the pieces of media R1 -Rm, the bit map identifying those bits in the first data block Bm which were modified, said means for updating further including means for changing the state of only those bits in the parity block P1 which correspond to the modified bits in the modified first data block Bm.
-
Specification