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

Efficient method and apparatus for access and storage of compressed data

Assignee: Apple Inc
•
Filing: 1992-06-29
•
Granted: 1994-04-19
•
Expires: 2012-06-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Storage and access of compressed data via separately compressed and stored variable size logical blocks. Portions of an uncompressed data file are compressed until they reach a logical block size which matches a given sector size or block of storage space. Then that compressed logical block (portion of compressed data) is stored into a sector allocated to it and a table is built correlating the range of original compressed data to the sector storing the compressed data. In this way, data is compressed into a block size which matches the characteristics of the particular storage medium used. Thus the present invention efficiently stores compressed data by filling allocated sectors. When it is desired to read a given portion of data within a stored compressed data file, it is first determined where within the original data file the desired portion resided. Then, the table created as part of the compression and storage sequence is used to determine which sector contains the desired data. Thus, the direct access capability of compressed and stored data is maintained. Furthermore, because each block of data is separately compressed and stored, no other block needs to be retrieved in order to decompress and read the desired portion of data.

Inventors

  • 👤 Ke-Chiang Chu

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 18:49
CPC Classifications
G; G11; G11B; G11B20/00; G11B20/10; G11B20/00007; G11B27/00; G11B27/10; G11B27/102; G11B27/105; G11B27/19; G11B27/28; G11B27/32; G11B27/327; G11B27/329; G11B2220/00; G11B2220/20

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 109 words
A method of data storage and access in a storage medium subdivisible into separately addressable segments, said data storage and access method comprising the following steps: a) compressing a data file into separate blocks of a predetermined size; b) storing each said predetermined size compressed logical block of said data file into said storage medium segments; c) mapping said uncompressed logical blocks of said data file to said storage medium segments containing said compressed logical blocks of said data file, said mapping providing an access correlation between each said uncompressed logical block and each said storage medium segment containing said compressed logical block of each said uncompressed logical block.
Claim 2
Independent Claim 109 words
A method of data storage and access in a storage medium subdivisible into separately addressable segments, said data storage and access method comprising the following steps: a) compressing a data file into separate blocks of a predetermined size; b) storing each said predetermined size compressed logical block of said data file into said storage medium segments; c) mapping said uncompressed logical blocks of said data file to said storage medium segments containing said compressed logical blocks of said data file, said mapping providing an access correlation between each said uncompressed logical block and each said storage medium segment containing said compressed logical block of each said uncompressed logical block.
Claim 3
Dependent Claim 36 words
The data storage and access method of claim 1 further including the step of allocating only as many said storage medium segments as are necessary to contain each said compressed logical block of said data file.
Claim 4
Dependent Claim 18 words
The data storage and access method of claim 1 wherein said mapping is done during said storage step.
Claim 5
Dependent Claim 19 words
The data storage and access method of claim 3 wherein said access correlation is provided via a look-up table.
Claim 6
Dependent Claim 25 words
The data storage and access method of claim 4 wherein said predetermined logical block size is based upon the size of said storage medium segments.
Claim 7
Dependent Claim 24 words
The data storage and access method of claim 5 wherein said predetermined logical block size is in the range of two to four kilobytes.
Claim 8
Dependent Claim 21 words
The data storage and access method of claim 6 wherein said storage medium is a magnetic media direct access storage device.
Claim 9
Dependent Claim 24 words
The data storage and access method of claim 7 wherein said separately addressable segments are sectors of said magnetic media direct access storage device.
Claim 10
Dependent Claim 22 words
The data storage and access method of claim 8 wherein the size of said direct access storage device sectors is 512 bytes.
Claim 11
Dependent Claim 146 words
The data storage and access method of claim 1 further including the step of if any logical block of said data file is modified and re-compressed after being accessed and de-compressed then: i) storing said re-compressed and modified logical block of said data file into any of said storage medium segments which previously contained said compressed logical block of said data file if said re-compressed and modified logical block of said data file fits, else ii) retrieving all logical blocks from said modified logical block of said data file to the last logical block of said data file, de-compressing all logical blocks from said modified logical block of said data file to the last block of said data file, and repeating steps (a) through (c) on all logical blocks from said modified logical block of said data file to the last block of said data file.
Claim 12
Independent Claim 124 words
A method of access to a data file compressed and stored in a direct access storage device, said direct access storage device having separately addressable sectors, said data file access method comprising the following steps: a) compressing a data file into separate blocks of a predetermined size; b) storing each said predetermined size compressed logical block of said data file into said direct access storage device sectors; c) mapping said uncompressed logical blocks of said data file to said direct access storage device sectors containing said compressed logical blocks of said data file, said mapping providing an access correlation between each said uncompressed logical block and each said direct access storage device sector containing said compressed logical block of each said uncompressed logical block.
Claim 13
Independent Claim 124 words
A method of access to a data file compressed and stored in a direct access storage device, said direct access storage device having separately addressable sectors, said data file access method comprising the following steps: a) compressing a data file into separate blocks of a predetermined size; b) storing each said predetermined size compressed logical block of said data file into said direct access storage device sectors; c) mapping said uncompressed logical blocks of said data file to said direct access storage device sectors containing said compressed logical blocks of said data file, said mapping providing an access correlation between each said uncompressed logical block and each said direct access storage device sector containing said compressed logical block of each said uncompressed logical block.
Claim 14
Dependent Claim 38 words
The data storage and access method of claim 11 further including the step of allocating only as many said direct access storage device sectors as are necessary to contain each said compressed logical block of said data file.
Claim 15
Dependent Claim 18 words
The data storage and access method of claim 11 wherein said mapping is done during said storage step.
Claim 16
Dependent Claim 19 words
The data storage and access method of claim 13 wherein said access correlation is provided via a look-up table.
Claim 17
Dependent Claim 27 words
The data storage and access method of claim 14 wherein said predetermined logical block size is based upon the size of said direct access storage device sectors.
Claim 18
Dependent Claim 24 words
The data storage and access method of claim 15 wherein said predetermined logical block size is in the range of two to four kilobytes.
Claim 19
Dependent Claim 22 words
The data storage and access method of claim 16 wherein the size of said direct access storage device sectors is 512 bytes.
Claim 20
Dependent Claim 148 words
The data storage and access method of claim 11 further including the step of if any logical block of said data file is modified and re-compressed after being accessed and de-compressed then: i) storing said re-compressed and modified logical block of said data file into any of said direct access storage device sectors which previously contained said compressed logical block of said data file if said re-compressed and modified logical block of said data file fits, else ii) retrieving all logical blocks from said modified logical block of said data file to the last logical block of said data file, de-compressing all logical blocks from said modified logical block of said data file to the last block of said data file, and repeating steps (a) through (c) on all logical blocks from said modified logical block of said data file to the last block of said data file.
Claim 21
Independent Claim 112 words
An apparatus for data storage and access in a storage medium subdivisible into separately addressable segments, said data storage and access apparatus comprising: a) means for compressing a data file into separate blocks of a predetermined size; b) means for storing each said predetermined size compressed logical block of said data file into said storage medium segments; c) means for mapping said uncompressed logical blocks of said data file to said storage medium segments containing said compressed logical blocks of said data file, said mapping providing an access correlation between each said uncompressed logical block and each said storage medium segment containing said compressed logical block of each said uncompressed logical block.
Claim 22
Independent Claim 112 words
An apparatus for data storage and access in a storage medium subdivisible into separately addressable segments, said data storage and access apparatus comprising: a) means for compressing a data file into separate blocks of a predetermined size; b) means for storing each said predetermined size compressed logical block of said data file into said storage medium segments; c) means for mapping said uncompressed logical blocks of said data file to said storage medium segments containing said compressed logical blocks of said data file, said mapping providing an access correlation between each said uncompressed logical block and each said storage medium segment containing said compressed logical block of each said uncompressed logical block.
Claim 23
Independent Claim 147 words
A method of data storage and access in a storage medium subdivisible into separately addressable segments, said data storage and access method comprising the following steps: determining a logical block size; compressing a data file into separate compressed data blocks, wherein said compressing step comprises, for each said compressed data block, compressing one or more uncompressed data blocks of said data file into said compressed data block until either a size of said compressed data block is equivalent to said logical block size or the end of said uncompressed data file is detected; storing each said compressed data block into each one of said separately addressable segments; and mapping each said one or more uncompressed data blocks of said data file to each said one separately addressable segment in which each said compressed data block associated with each said one or more uncompressed data block is stored.
Claim 24
Independent Claim 147 words
A method of data storage and access in a storage medium subdivisible into separately addressable segments, said data storage and access method comprising the following steps: determining a logical block size; compressing a data file into separate compressed data blocks, wherein said compressing step comprises, for each said compressed data block, compressing one or more uncompressed data blocks of said data file into said compressed data block until either a size of said compressed data block is equivalent to said logical block size or the end of said uncompressed data file is detected; storing each said compressed data block into each one of said separately addressable segments; and mapping each said one or more uncompressed data blocks of said data file to each said one separately addressable segment in which each said compressed data block associated with each said one or more uncompressed data block is stored.

References Cited (Backward Citations)

US4467421A Cited
US4782325A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag