Digital data storage with increased robustness against data loss
First Claim
1. A method for storing digital data with increased robustness against data loss, comprising the steps of:
- storing a first predetermined number of data items in selected positions of a contiguous block of a data storage medium, said contiguous block having a second predetermined number of positions at least as large in number as the first predetermined number;
generating a parity block by performing steps comprising;
applying a parity routine to the first predetermined number of data items to form a parity computation;
forming a parity map representative of the selected positions in which the first predetermined number of data items are stored; and
storing the parity block on the data storage medium.
3 Assignments
0 Petitions
Accused Products
Abstract
Digital data is stored on a DASD by generating a parity block for a specified block of data items and storing the parity block at a selected location on the DASD. The parity block includes a parity computation calculated by applying a parity routine to the corresponding data. The parity block also includes a parity code that indicates either (1) the size of the corresponding data block, or (2) the number of data items contributing to the parity computation. The parity block may be stored adjacent to the corresponding data, or at an independent location. Among other things, the invention provides significantly increased robustness against data loss, and improved flexibility and efficiency in storing data.
-
Citations
51 Claims
-
1. A method for storing digital data with increased robustness against data loss, comprising the steps of:
-
storing a first predetermined number of data items in selected positions of a contiguous block of a data storage medium, said contiguous block having a second predetermined number of positions at least as large in number as the first predetermined number; generating a parity block by performing steps comprising; applying a parity routine to the first predetermined number of data items to form a parity computation; forming a parity map representative of the selected positions in which the first predetermined number of data items are stored; and storing the parity block on the data storage medium. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for storing digital data with increased robustness against data loss, comprising the steps of:
-
storing a first number of data items in consecutive positions on a data storage medium; generating a parity computation by applying a parity computation routine to the first number of data items; generating a parity map representative of the first number of data items; and storing the parity computation and parity map on the data storage medium. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A data storage medium tangibly embodying a program of instructions executable by a digital processor to perform method steps to store digital data with increased robustness against data loss, said method steps comprising:
-
storing a first predetermined number of data items in selected positions of a contiguous block of a data storage medium, said contiguous block having a second predetermined number of positions at least as large in number as the first predetermined number; generating a parity computation by applying a parity computation routine to the first predetermined number of data items; generating a parity map representative of the selected positions in which the first predetermined number of data items are stored; and storing the parity computation and parity map on the data storage medium. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
-
24. A data storage medium tangibly embodying a program of instructions executable by a digital processor to perform method steps to store digital data with increased robustness against data loss, said method steps comprising:
-
storing a first number of data items in consecutive positions on a data storage medium; generating a parity computation by applying a parity computation routine to the first number of data items; generating a parity map representative of the first number of data items; and storing the parity computation and parity map on the data storage medium. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
-
31. A data storage drive, comprising:
-
a read/write unit to selectively read data from and write data to a data storage medium coupled to the data storage drive; and a data controller, comprising; an interface connected to a host; a buffer connected to the read/write unit; a processor connected to the interface, the buffer, and the read/write unit, and programmed to perform method steps for storing digital data received from the host via the interface on the data storage medium with increased robustness against data loss, said method steps comprising; storing a first predetermined number of data items in selected positions of a contiguous block of a data storage medium, said contiguous block having a second predetermined number of positions at least as large in number as the first predetermined number; generating a parity computation by applying a parity routine to the first predetermined number of data items; generating a parity map representative of the selected positions in which the first predetermined number of data items are stored; and storing the parity computation and parity map on the data storage medium. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38)
-
-
39. A data storage drive, comprising:
-
a read/write unit to selectively read data from and write data to a data storage medium coupled to the data storage drive; and a data controller, comprising; an interface connected to a host; a buffer connected to the read/write unit; a processor connected to the interface, the buffer, and the read/write unit, and programmed to perform method steps for storing digital data received from the host via the interface on the data storage medium with increased robustness against data loss, said method steps comprising; storing a first number of data items in consecutive positions on a data storage medium; generating a parity computation by applying a parity routine to the first number of data items; generating a parity map representative of the first number of data items; and storing the parity computation and parity map on the data storage medium. - View Dependent Claims (40, 41, 42, 43, 44, 45)
-
-
46. A method for storing digital data with increased robustness against data loss, comprising the steps of:
-
providing a plurality of data blocks each having a first predetermined number of contiguous positions, said plurality of data blocks including first and second data blocks; storing a second number of data items in selected positions of the first data block with the remaining positions of the first data block being free from data; storing a third number of data items in selected positions of the second data block with the remaining positions of the second data block being free from data, wherein the third number differs from the second number; and for each data block, generating a corresponding parity block by performing steps comprising; forming a parity computation by applying a parity routine only to contents of positions of the data block containing data items; and forming a parity map representative of the selected positions of the data block in which the data items are stored; storing each parity block on the data storage medium.
-
-
47. A data storage medium tangibly embodying a program of instructions executable by a digital processor to perform method steps to store digital data with increased robustness against data loss, said method steps comprising:
-
providing a plurality of data blocks each having a first predetermined number of contiguous positions, said plurality of data blocks including first and second data blocks; storing a second number of data items in selected positions of the first data block with the remaining positions of the first data block being free from data; storing a third number of data items in selected positions of the second data block with the remaining positions of the second data block being free from data, wherein the third number differs from the second number; and for each data block, generating a corresponding parity block by performing steps comprising; forming a parity computation by applying a parity routine only to contents of positions of the data block containing data items; and forming a parity map representative of the selected positions of the data block in which the data items are stored; storing each parity block on the data storage medium.
-
-
48. A data storage drive, comprising:
-
a read/write unit to selectively read data from and write data to a data storage medium coupled to the data storage drive; and a data controller, comprising; an interface connected to a host; a buffer connected to the read/write unit; a processor connected to the interface, the buffer, and the read/write unit, and programmed to perform method steps for storing digital data received from the host via the interface on the data storage medium with increased robustness against data loss, said method steps comprising; providing a plurality of data blocks each having a first predetermined number of contiguous positions, said plurality of data blocks including first and second data blocks; storing a second number of data items in selected positions of the first data block with the remaining positions of the first data block being free from data; storing a third number of data items in selected positions of the second data block with the remaining positions of the second data block being free from data, wherein the third number differs from the second number; and for each data block, generating a corresponding parity block by performing steps comprising; forming a parity computation by applying a parity routine only to contents of positions of the data block containing data items; and forming a parity map representative of the selected positions of the data block in which the data items are stored; storing each parity block on the data storage medium.
-
-
49. A method for storing digital data with increased robustness against data loss, comprising the steps of:
-
storing a first data block comprising first number of data items by storing the data items in consecutive positions on a data storage medium; storing a second data block comprising a second number of data items by storing the data items in consecutive positions on the data storage medium, the second number being different than the first number; and for each data block, generating a corresponding parity block by performing steps comprising; generating a parity computation by applying a parity computation routine to the data items of the data block; and generating a parity map representative of the number of data items of the data block; and storing each parity block on the data storage medium.
-
-
50. A data storage medium tangibly embodying a program of instructions executable by a digital processor to perform method steps to store digital data with increased robustness against data loss, said method steps comprising:
-
storing a first data block comprising first number of data items by storing the data items in consecutive positions on a data storage medium; storing a second data block comprising a second number of data items by storing the data items in consecutive positions on the data storage medium, the second number being different than the first number; and for each data block, generating a corresponding parity block by performing steps comprising; generating a parity computation by applying a parity computation routine to the data items of the data block; and generating a parity map representative of the number of data items of the data block; and storing each parity block on the data storage medium.
-
-
51. A data storage drive, comprising:
-
a read/write unit to selectively read data from and write data to a data storage medium coupled to the data storage drive; and a data controller, comprising; an interface connected to a host; a buffer connected to the read/write unit; a processor connected to the interface, the buffer, and the read/write unit, and programmed to perform method steps for storing digital data received from the host via the interface on the data storage medium with increased robustness against data loss, said method steps comprising; storing a first data block comprising first number of data items by storing the data items in consecutive positions on a data storage medium; storing a second data block comprising a second number of data items by storing the data items in consecutive positions on the data storage medium, the second number being different than the first number; and for each data block, generating a corresponding parity block by performing steps comprising; generating a parity computation by applying a parity computation routine to the data items of the data block; and generating a parity map representative of the number of data items of the data block; and storing each parity block on the data storage medium.
-
Specification