← Back to Patent Explorer
US5644791A Expired / Lapsed US ⏱️ 0.0 years remaining

System for storing pointers to initial sectors of variable length n units and storing second pointers within the initial sector of the n unit

Assignee: International Business Machines Corp
•
Filing: 1994-05-11
•
Granted: 1997-07-01
•
Expires: 2014-05-11
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for operating a data storage system that is comprised of at least one disk. The method includes a step of partitioning a data compression unit into n basic compression units, where n is greater than one. Each data compression unit is comprised of a plurality of disk sectors and each of n basic compression units begins with a different initial sector. A next step partitions the data compression unit into X intervals, where X is less than n. Each of the X intervals begins with a different initial sector and within one of the n basic compression units. Further steps of the method include storing, external to the at least one disk, a plurality of first pointers each of which points to the initial sector of one of the n basic compression units wherein the 1/X, 2/X, . . . , (X-1)/X intervals begin; storing, within each of the initial sectors of the individual ones of the n basic compression units wherein the 1/X, 2/X, . . . , (X-1)/X intervals begin, a second pointer to the initial sector of the interval that begins within the basic compression unit; and, in response to a disk read operation that reads a compressed data unit that begins with one of the sectors that is located within one of the X intervals, accessing the beginning sector of the compressed data unit in accordance with one of the first pointers and one of the second pointers. The step of allocating includes a step of determining an actual compression ratio for the record, determining a value of a longest run of identical characters within the record, and adjusting the actual compression ratio based on the value of the longest run of identical characters. The step of allocating also includes a step of adding at least one additional sector to the estimated number to enable the compressed record to be subsequently updated in place.

Inventors

  • 👤 James T. Brady
  • 👤 Joe-Ming Cheng
  • 👤 Oded Cohn
  • 👤 James W. Eldridge
  • 👤 Yoram Novick
  • 👤 Norman K. Ouchi
  • 👤 Danit Segev

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 18:13
CPC Classifications
G; G11; G11B; G11B20/00; G11B20/00007; G02; G02B; G02B30/00; G02B30/50; H; H04; H04N; H04N13/00; H04N13/30; H04N13/324; H04N13/388; H04N13/398; H04N13/20; H04N13/204; H04N13/332; H04N13/337; H04N13/341; H04N13/363

Claims Analysis

Total Claims: 21
Claim 1
Independent Claim 277 words
A method for operating a data storage system that is comprised of at least one disk, comprising the steps of: partitioning a data compression unit into n basic compression units, where n is greater than one, each data compression unit being comprised of a plurality of disk sectors and each of n basic compression units beginning with a different initial sector; partitioning the data compression unit into X intervals, where X is less than n, each of the X intervals beginning with a different initial sector and within one of the n basic compression units; storing, external to the at least one disk, a plurality of storing, external to the at least one disk, a plurality of first pointers each of which points to the initial sector of one of the n variable length basic compression units wherein the 1/X, 2/X, . . . , (X-1)/X intervals begin; storing, within each of the initial sectors of the individual ones of the n variable length basic compression units wherein the 1/X, 2/X, . . . , (X-1)/X intervals begin, a second pointer to the initial sector of the interval that begins within the basic compression unit; and in response to a disk read operation that reads a compressed data unit that begins with one of the sectors that is located within one interval, accessing the beginning sector of the compressed data unit within the one interval in accordance with one of the first pointers and one of the second pointers, said one of the second pointers decompressed after being accessed in accord with a first pointer, to enable identification of said beginning sector of said compressed data unit.
Claim 2
Independent Claim 277 words
A method for operating a data storage system that is comprised of at least one disk, comprising the steps of: partitioning a data compression unit into n basic compression units, where n is greater than one, each data compression unit being comprised of a plurality of disk sectors and each of n basic compression units beginning with a different initial sector; partitioning the data compression unit into X intervals, where X is less than n, each of the X intervals beginning with a different initial sector and within one of the n basic compression units; storing, external to the at least one disk, a plurality of storing, external to the at least one disk, a plurality of first pointers each of which points to the initial sector of one of the n variable length basic compression units wherein the 1/X, 2/X, . . . , (X-1)/X intervals begin; storing, within each of the initial sectors of the individual ones of the n variable length basic compression units wherein the 1/X, 2/X, . . . , (X-1)/X intervals begin, a second pointer to the initial sector of the interval that begins within the basic compression unit; and in response to a disk read operation that reads a compressed data unit that begins with one of the sectors that is located within one interval, accessing the beginning sector of the compressed data unit within the one interval in accordance with one of the first pointers and one of the second pointers, said one of the second pointers decompressed after being accessed in accord with a first pointer, to enable identification of said beginning sector of said compressed data unit.
Claim 3
Dependent Claim 23 words
A method as set forth in claim 1 wherein the data compression unit corresponds to one track of the at least one disk.
Claim 4
Dependent Claim 26 words
A method as set forth in claim 1 wherein each of the first pointers is stored as an offset, in sectors, from a previous first pointer.
Claim 5
Dependent Claim 51 words
A method as set forth in claim 1 wherein each of the second pointers is stored as a number of bytes from the start of the initial sector of the basic compression unit wherein an interval begins to the initial sector of the interval that begins within the basic compression unit.
Claim 6
Dependent Claim 34 words
A method as set forth in claim 1 wherein the first step of storing also stores, external to the at least one disk, a third pointer to an initial sector of the compression unit.
Claim 7
Dependent Claim 106 words
A method as set forth in claim 1 wherein the beginning sector for the compressed data unit is a sector of interest (SOI), and wherein the step of accessing includes the steps of: using the first pointer to determine the initial sector of a target basic compression unit wherein an interval begins that includes the SOI; beginning reading compressed data from the at least one disk at the initial sector of the target basic compression unit; decompressing the read data to determine the value of the second pointer; and discarding the decompressed data until the initial sector of the interval that contains the SOI is reached.
Claim 8
Dependent Claim 29 words
A method as set forth in claim 6 and including a further step of reading and decompressing the SOI and any other sectors that comprise the compressed data unit.
Claim 9
Dependent Claim 56 words
A method as set forth in claim 7 and further including the steps of: reading and decompressing all of the sectors from the SOI to the end of the compression unit; seeking to the initial sector of the compression unit; and reading and decompressing all of the sectors from the initial sector up to the SOI.
Claim 10
Dependent Claim 100 words
A method as set forth in claim 1 wherein the compression unit includes at least one compressed record comprised of a plurality of sectors, and further including the steps of: allocating a number of sectors to store the compressed record by estimating a required number of sectors based on a predetermined data compression ratio, the step of allocating including a step of determining an actual compression ratio for the record, determining a value of a longest run of identical characters within the record, and adjusting the actual compression ratio based on the value of the longest run of identical characters.
Claim 11
Dependent Claim 55 words
A method as set forth in claim 9 wherein the step of allocating includes a step of adding at least one additional sector to the estimated number to enable the compressed record to be subsequently updated without requiring the compressed record to also be re-written to a different area of the at least one disk.
Claim 12
Dependent Claim 279 words
A data storage system having at least one disk, comprising: a disk manager for partitioning a data compression unit into n variable length basic compression units, where n is greater than one, each data compression unit being comprised of a plurality of disk sectors and each of n variable length basic compression units beginning with a different initial sector, said disk manager further partitioning the data compression unit into X intervals, where X is less than n, each of the X intervals beginning with a different initial sector and within one of the n variable length basic compression units; means for storing, external to the at least one disk, a plurality of first pointers each of which points to the initial sector of one of the n variable length basic compression units wherein the 1/X, 2/X, . . . , (X-1)/X intervals begin; means for storing, within each of the initial sectors of the individual ones of the n variable length basic compression units wherein the 1/X, 2/X, . . . , (X-1)/X intervals begin, a second pointer to the initial sector of the interval that begins within the basic compression unit; and said disk manager is responsive to a disk read operation that reads a compressed data unit that begins with one of the sectors that is located within one interval, and further including means for accessing the beginning sector of the compressed data unit in accordance with one of the first pointers and one of the second pointers, said one of the second pointers being decompressed after being accessed in accord with a first pointer, to enable identification of said beginning sector of said compressed data unit.
Claim 13
Dependent Claim 279 words
A data storage system having at least one disk, comprising: a disk manager for partitioning a data compression unit into n variable length basic compression units, where n is greater than one, each data compression unit being comprised of a plurality of disk sectors and each of n variable length basic compression units beginning with a different initial sector, said disk manager further partitioning the data compression unit into X intervals, where X is less than n, each of the X intervals beginning with a different initial sector and within one of the n variable length basic compression units; means for storing, external to the at least one disk, a plurality of first pointers each of which points to the initial sector of one of the n variable length basic compression units wherein the 1/X, 2/X, . . . , (X-1)/X intervals begin; means for storing, within each of the initial sectors of the individual ones of the n variable length basic compression units wherein the 1/X, 2/X, . . . , (X-1)/X intervals begin, a second pointer to the initial sector of the interval that begins within the basic compression unit; and said disk manager is responsive to a disk read operation that reads a compressed data unit that begins with one of the sectors that is located within one interval, and further including means for accessing the beginning sector of the compressed data unit in accordance with one of the first pointers and one of the second pointers, said one of the second pointers being decompressed after being accessed in accord with a first pointer, to enable identification of said beginning sector of said compressed data unit.
Claim 14
Dependent Claim 25 words
A data storage system as set forth in claim 11 wherein the data compression unit corresponds to one track of the at least one disk.
Claim 15
Dependent Claim 28 words
A data storage system as set forth in claim 11 wherein each of the first pointers is stored as an offset, in sectors, from a previous first pointer.
Claim 16
Dependent Claim 53 words
A data storage system as set forth in claim 11 wherein each of the second pointers is stored as a number of bytes from the start of the initial sector of the basic compression unit wherein an interval begins to the initial sector of the interval that begins within the basic compression unit.
Claim 17
Dependent Claim 34 words
A data storage system as set forth in claim 11 wherein said storing means also stores, external to the at least one disk, a third pointer to an initial sector of the compression unit.
Claim 18
Dependent Claim 127 words
A data storage system as set forth in claim 11 wherein the beginning sector for the compressed data unit is a sector of interest (SOI), and wherein said accessing means uses the first pointer to determine the initial sector of a target basic compression unit wherein an interval begins that includes the SOI to begin reading compressed data from the at least one disk at the initial sector of the target basic compression unit; and further comprising means for decompressing the read data to determine the value of the second pointer to discard the decompressed data until the initial sector of the interval that contains the SOI is reached, and for then reading and decompressing the SOI and any other sectors that comprise the compressed data unit.
Claim 19
Dependent Claim 63 words
A data storage system as set forth in claim 16 wherein said accessing means further reads and decompresses all of the sectors from the SOI to the end of the compression unit; and includes means for seeking to the initial sector of the compression unit and for then reading and decompressing all of the sectors from the initial sector up to the SOI.
Claim 20
Dependent Claim 104 words
A data storage system as set forth in claim 11 wherein the compression unit includes at least one compressed record comprised of a plurality of sectors, and wherein said disk manager further comprises means for allocating a number of sectors to store the compressed record by estimating a required number of sectors based on a predetermined data compression ratio, including means for determining an actual compression ratio for the record, means for determining a value of a longest run of identical characters within the record, and means for adjusting the actual compression ratio based on the value of the longest run of identical characters.
Claim 21
Dependent Claim 56 words
A data storage system as set forth in claim 18 wherein said allocating means further includes means for adding at least one additional sector to the estimated number to enable the compressed record to be subsequently updated without requiring the compressed record to also be re-written to a different area of the at least one disk.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-06-30 2000-12-30 2001-07-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-06-30 2004-12-30 2005-07-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-06-30 2008-12-30 2009-07-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag