05774715 is referenced by 174 patents and cites 5 patents.

A method, apparatus, and computer-usable medium for compressing data in a file system utilizing the concept of "holes". A mapping table in a file system maps the logical blocks of a file to actual physical blocks on disk where the data is stored. Blocks may be arranged in units of a cluster, and the file may be compressed cluster-by-cluster. Holes are used within a cluster to indicate not only that a cluster has been compressed, but also the compression algorithm used. Different clusters within a file may be compressed with different compression algorithms. A unit of data is compressed, with the result that the file occupies fewer physical blocks than it has logical blocks. The mapping table is updated to indicate that for a given unit of data compressed, fewer physical blocks are needed. Certain logical blocks belonging to this unit of data are not mapped to physical blocks but are mapped to a hole. A hole indicates that the unit of data was compressed, and may also indicate the particular compression algorithm used to compress the unit of data. If a unit of data begins or ends within the middle of a cluster, to avoid overwriting the data not to be changed the whole cluster must first be read from disk. If a hole indicates the cluster had been compressed, the data must be expanded first. The cluster is read into a buffer and the portion to be changed is overwritten. The cluster is compressed and written back to disk. Those clusters within which the unit of data neither begins nor ends may be written to directly.

Title
File system level compression using holes
Application Number
8/623907
Publication Number
5774715
Application Date
March 27, 1996
Publication Date
June 30, 1998
Inventor
Michael N Nelson
San Carlos
CA, US
Thomas K Wong
Pleasanton
CA, US
Peter W Madany
Fremont
CA, US
Agent
Hickman Beyer & Weaver
Assignee
Sun Microsystems
CA, US
IPC
G06F 17/30
View Original Source