Patent US5737344A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5737344A Expired / Lapsed US ⏱️ 0.0 years remaining

Digital data storage with increased robustness against data loss

Assignee: International Business Machines Corp
•
Filing: 1995-05-25
•
Granted: 1998-04-07
•
Expires: 2015-05-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Karl Arnold Belser
  • 👤 Mario Blaum
  • 👤 John Edward Kulakowski
  • 👤 Kurt Allen Rubin

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 14:54
CPC Classifications
G; G11; G11B; G11B20/00; G11B20/10; G11B20/18; G11B20/1833

Claims Analysis

Total Claims: 63
Claim 1
Independent Claim 112 words
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.
Claim 2
Independent Claim 112 words
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.
Claim 3
Dependent Claim 12 words
The method of claim 1, wherein each data item comprises one sector.
Claim 4
Dependent Claim 15 words
The method of claim 1, wherein each block position corresponds to a different data sector.
Claim 5
Dependent Claim 26 words
The method of claim 1, wherein the step of storing the parity block comprises the step of storing the parity block immediately following the data items.
Claim 6
Dependent Claim 26 words
The method of claim 1, wherein the step of storing the parity block comprises the step of storing the parity block separate from the data items.
Claim 7
Dependent Claim 21 words
The method of claim 1, wherein the parity block includes a flag to distinguish the parity block from a data item.
Claim 8
Dependent Claim 21 words
The method of claim 1, wherein the parity map contains a flag to distinguish the parity block from a data item.
Claim 9
Dependent Claim 71 words
The method of claim 1, further comprising the steps of: reading a defective one of the first predetermined data items; recognizing the defective data item as being defective; locating the parity block associated with the defective data item; reading the parity block and all non-defective data items of the first predetermined number of data items; and using the parity block and the non-defective data items to reconstruct the defective data item.
Claim 10
Independent Claim 73 words
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.
Claim 11
Independent Claim 73 words
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.
Claim 12
Dependent Claim 12 words
The method of claim 9, wherein each data item comprises one sector.
Claim 13
Dependent Claim 23 words
The method of claim 9, wherein the parity computation and parity map are stored or the data storage medium following the data items.
Claim 14
Dependent Claim 24 words
The method of claim 9, wherein the parity computation and parity map are stored on the data storage medium separate from the data items.
Claim 15
Dependent Claim 28 words
The method of claim 9, wherein the parity computation is stored in a parity block that includes a flag to distinguish the parity block from a data item.
Claim 16
Dependent Claim 28 words
The method of claim 9, wherein the parity map is stored in a parity block that contains a flag to distinguish the parity block from a data item.
Claim 17
Dependent Claim 71 words
The method of claim 9, further comprising the steps of: reading a defective one of the first predetermined data items; recognizing the defective data item as being defective; locating the parity computation associated with the defective data item; reading the parity computation and all non-defective data items of the first predetermined number of data items; and using the parity computation and the non-defective data items to reconstruct the defective data item.
Claim 18
Dependent Claim 125 words
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.
Claim 19
Dependent Claim 125 words
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.
Claim 20
Dependent Claim 14 words
The data storage medium of claim 16, wherein each data item comprises one sector.
Claim 21
Dependent Claim 17 words
The data storage medium of claim 16, wherein each block position corresponds to a different data sector.
Claim 22
Dependent Claim 34 words
The data storage medium of claim 16, wherein the step of storing the parity computation and parity map comprises the step of storing the parity computation and parity map immediately following the data items.
Claim 23
Dependent Claim 34 words
The data storage medium of claim 16, wherein the step of storing the parity computation and parity map comprises the step of storing the parity computation and parity map separate from the data items.
Claim 24
Dependent Claim 30 words
The data storage medium of claim 16, wherein the parity computation is stored in a parity block that includes a flag to distinguish the parity block from a data item.
Claim 25
Dependent Claim 30 words
The data storage medium of claim 16, wherein the parity map is stored in a parity block that contains a flag to distinguish the parity block from a data item.
Claim 26
Dependent Claim 73 words
The data storage medium of claim 16, further comprising the steps of: reading a defective one of the first predetermined data items; recognizing the defective data item as being defective; locating the parity computation associated with the defective data item; reading the parity computation and all non-defective data items of the first predetermined number of data items; and using the parity computation and the non-defective data items to reconstruct the defective data item.
Claim 27
Dependent Claim 90 words
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.
Claim 28
Dependent Claim 90 words
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.
Claim 29
Dependent Claim 14 words
The data storage medium of claim 24, wherein each data item comprises one sector.
Claim 30
Dependent Claim 25 words
The data storage medium of claim 25, wherein the parity computation and parity map are stored on the data storage medium following the data items.
Claim 31
Dependent Claim 26 words
The data storage medium of claim 26, wherein the parity computation and parity map are stored on the data storage medium separate from the data items.
Claim 32
Dependent Claim 30 words
The data storage media of claim 24, wherein the parity computation is stored in a parity block that includes a flag to distinguish the parity block from a data items.
Claim 33
Dependent Claim 30 words
The data storage media of claim 24, wherein the parity map is stored in a parity block that contains a flag to distinguish the parity block from a data items.
Claim 34
Dependent Claim 73 words
The data storage media of claim 24, further comprising the steps of: reading a defective one of the first predetermined data items; recognizing the defective data item as being defective; locating the parity computation associated with the defective data item; reading the parity computation and all non-defective data items of the first predetermined number of data items; and using the parity computation and the non-defective data items to reconstruct the defective data item.
Claim 35
Dependent Claim 180 words
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.
Claim 36
Dependent Claim 180 words
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.
Claim 37
Dependent Claim 14 words
The data storage drive of claim 31, wherein each data item comprises one sector.
Claim 38
Dependent Claim 17 words
The data storage drive of claim 31, wherein each block position corresponds to a different data sector.
Claim 39
Dependent Claim 35 words
The data storage drive of claim 31, the processor being programmed such that the step of storing the parity computation and parity map stores the parity computation and the parity immediately following the data items.
Claim 40
Dependent Claim 39 words
The data storage drive of claim 31, the processor being programmed such that the step of storing the parity computation and parity map stores at least one of the parity computation and parity map separate from the data items.
Claim 41
Dependent Claim 30 words
The data storage drive of claim 31, wherein the parity computation is stored in a parity block that includes a flag to distinguish the parity block from a data item.
Claim 42
Dependent Claim 30 words
The data storage drive of claim 31, wherein the parity map is stored in a parity block that contains a flag to distinguish the parity block from a data item.
Claim 43
Dependent Claim 93 words
The data storage drive of claim 31, wherein the processor is programmed such that the method steps further comprise the steps of: reading a defective one of the first predetermined data items; recognizing the defective data item as being defective; locating the parity computation and parity map associated with the defective data item; reading the parity computation and parity map and all non-defective data items of the first predetermined number of data items; and using the parity computation and the parity map and the non-defective data items to reconstruct the defective data item.
Claim 44
Dependent Claim 145 words
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.
Claim 45
Dependent Claim 145 words
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.
Claim 46
Dependent Claim 14 words
The data storage drive of claim 39, wherein each data item comprises one sector.
Claim 47
Dependent Claim 35 words
The data storage drive of claim 39, the processor being programmed such that the step of storing the parity computation and parity map stores the parity computation and parity map immediately following the data items.
Claim 48
Dependent Claim 37 words
The method of claim 39, the processor being programmed such that the step of storing the parity computation and parity map stores at least one of the parity computation and parity map separate from the data items.
Claim 49
Dependent Claim 30 words
The data storage drive of claim 39, wherein the parity computation is stored in a parity block that includes a flag to distinguish the parity block from a data item.
Claim 50
Dependent Claim 30 words
The data storage drive of claim 39, wherein the parity map is stored in a parity block that contains a flag to distinguish the parity block from a data item.
Claim 51
Dependent Claim 82 words
The data storage drive of claim 39, the processor being programmed such that the method steps further comprise the steps of: reading a defective one of the first predetermined data items; recognizing the defective data item as being defective; locating the parity computation associated with the defective data item; reading the parity computation and all non-defective data items of the first predetermined number of data items; and using the parity computation and the non-defective data items to reconstruct the defective data item.
Claim 52
Independent Claim 172 words
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.
Claim 53
Independent Claim 172 words
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.
Claim 54
Dependent Claim 189 words
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.
Claim 55
Dependent Claim 189 words
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.
Claim 56
Dependent Claim 245 words
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.
Claim 57
Dependent Claim 245 words
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.
Claim 58
Independent Claim 132 words
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.
Claim 59
Independent Claim 132 words
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.
Claim 60
Dependent Claim 149 words
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.
Claim 61
Dependent Claim 149 words
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.
Claim 62
Dependent Claim 205 words
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.
Claim 63
Dependent Claim 205 words
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.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-04-06 2001-10-06 2002-04-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-04-06 2005-10-06 2006-04-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-04-06 2009-10-06 2010-04-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag