Apparatus and method for efficient organization of compressed data on a hard disk utilizing an estimated compression factor
First Claim
1. A method of storing a logical block on a rigid-disk in a disk drive system by compressing said logical block prior to writing said logical block on said rigid-disk, resulting in a compressed logical block, wherein the compressed logical block can later be read, decompressed, and reconstructed, and wherein said method is transparent to a host computer coupled to said disk drive system, said method comprising the steps of:
- selecting a compression factor based on an estimated ratio of a size of said logical block before said logical block has been compressed to an average size of said logical block after said logical block has been compressed;
formatting said rigid-disk with fixed sector lengths, said fixed sector lengths based on said compression factor;
compressing said logical block according to a compression algorithm;
generating a table containing descriptor field information associated with said compressed logical block, said descriptor field information containing a set of parameters which indicate a physical location where said compressed logical block is to be stored along with a length of said compressed logical block, said table generated by a processor; and
writing the compressed logical block on said rigid-disk.
6 Assignments
0 Petitions
Accused Products
Abstract
An embedded controller disk-drive system including a microprocessor features writing and reading of compressed/decompressed data having an arbitrary length to a rigid disk drive in an efficient manner which is transparent to a host of the disk-drive system. A compression factor relating a size of a logical block to the number of bytes stored in a physical sector on the rigid disk is selected and stored in the microprocessor. The data string is compressed, whereupon the microprocessor generates a specialized table containing descriptor field information for each logical block. The descriptor field contains information on a physical block address corresponding to the location of the compressed data string, the length of the compressed data string, and also, for overflow data, linking sector information for linking the compressed data string between two or more physical blocks on the rigid disk.
181 Citations
12 Claims
-
1. A method of storing a logical block on a rigid-disk in a disk drive system by compressing said logical block prior to writing said logical block on said rigid-disk, resulting in a compressed logical block, wherein the compressed logical block can later be read, decompressed, and reconstructed, and wherein said method is transparent to a host computer coupled to said disk drive system, said method comprising the steps of:
-
selecting a compression factor based on an estimated ratio of a size of said logical block before said logical block has been compressed to an average size of said logical block after said logical block has been compressed; formatting said rigid-disk with fixed sector lengths, said fixed sector lengths based on said compression factor; compressing said logical block according to a compression algorithm; generating a table containing descriptor field information associated with said compressed logical block, said descriptor field information containing a set of parameters which indicate a physical location where said compressed logical block is to be stored along with a length of said compressed logical block, said table generated by a processor; and writing the compressed logical block on said rigid-disk. - View Dependent Claims (2, 3, 4)
-
-
5. In an embedded controller disk-drive system including a microprocessor and a compression/decompression coprocessor, a method of writing a compressed logical block to a rigid-disk physically formatted with fixed sector lengths, which is transparent to a host computer system coupled to said disk-drive system and wherein said compressed logical block can later be decompressed and reconstructed, said method comprising the steps of:
-
selecting a compression factor based on an estimated ratio of a size of a logical block before said logical block has been compressed to an average size of said logical block after said logical block has been compressed; setting said fixed sector lengths as a function of said compression factor; compressing said logical block from N-bytes to said compressed logical block using said compression/decompression coprocessor, said compressed logical block having M-bytes; transferring said M-bytes of said compressed logical block to a buffer memory; determining a length of said M-bytes of said compressed logical block; entering descriptor field information into a table associated with said compressed logical block, said descriptor field information indicating a physical head, cylinder and sector where said M-bytes of said compressed logical block are to be stored, as well as the length of said M-bytes of said compressed logical block. - View Dependent Claims (6, 7, 8)
-
-
9. An embedded controller system for writing a compressed logical block to a rigid-disk for storage thereon, reading said compressed logical block from the rigid-disk, and decompressing the compressed logical block read from the rigid-disk, and wherein said controller system is transparent to a host system of the embedded controller system, comprising:
-
a compression and decompression means for compressing a logical block, resulting in said compressed logical block, according to a compression algorithm and later decompressing the compressed logical block according to a decompression algorithm so that said logical block is reconstructed; a buffer memory means for storing said logical block; a microprocessor means for transferring said logical block from said buffer memory means to said compression and decompression means and for receiving information from said compression and decompression means corresponding to a length of said compressed logical block resulting from compression of said logical block by said compression and decompression means, said microprocessor means also storing a compression factor which is based on a ratio of a size of said logical block before said logical block has been compressed to an average size of said logical block after said logical block has been compressed, wherein a physically formatted fixed sector length of said rigid-disk is specified by said compression factor; a table memory means for storing descriptor field information associated with said compressed logical block which indicates a sector of said rigid-disk where said compressed logical block is to be stored and a length of said compressed logical block; controller means for transferring said compressed logical block from said buffer memory means to said rigid-disk. - View Dependent Claims (10, 11, 12)
-
Specification